From 369d434a1c64fda4a2d1f7f65190e3c9d03bc742 Mon Sep 17 00:00:00 2001 From: reset300 <99969806+reset300@users.noreply.github.com> Date: Fri, 31 Oct 2025 22:53:45 +0200 Subject: [PATCH 001/628] Updated lv_low_voltage.snbt (#2136) Fixed Cupronickel dependencies Signed-off-by: reset300 <99969806+reset300@users.noreply.github.com> --- .../quests/chapters/lv__low_voltage.snbt | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 7f8c30714..1e9fe4a36 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -579,8 +579,8 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_solidifier.title}" - x: -7.5d - y: 4.5d + x: -8.0d + y: 4.0d } { dependencies: [ @@ -609,7 +609,10 @@ y: 0.5d } { - dependencies: ["6042514C8FC54334"] + dependencies: [ + "6042514C8FC54334" + "5B2696206205CB2E" + ] description: ["{quests.low_voltage.cupronickel_coil.desc}"] icon: { Count: 1 @@ -679,8 +682,8 @@ } ] title: "{quests.low_voltage.lv_chemical_reactor.title}" - x: -7.5d - y: 2.5d + x: -8.0d + y: 2.0d } { dependencies: ["10ECB471A77F5136"] @@ -726,8 +729,8 @@ } ] title: "{quests.low_voltage.mold_rotor.title}" - x: -8.5d - y: 4.5d + x: -9.0d + y: 4.0d } { dependencies: ["5B891BA4897FD73C"] @@ -1352,8 +1355,8 @@ } ] title: "{quests.low_voltage.mold_plate.title}" - x: -7.5d - y: 5.5d + x: -8.0d + y: 5.0d } { dependencies: ["3E6DC423FE4A99F7"] @@ -1573,7 +1576,6 @@ y: 9.0d } { - dependencies: ["5B2696206205CB2E"] description: ["{quests.low_voltage.cupronickel_ingot.desc}"] id: "6042514C8FC54334" subtitle: "{quests.low_voltage.cupronickel_ingot.subtitle}" @@ -1583,7 +1585,7 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_ingot.title}" - x: -7.5d + x: -6.5d y: 6.5d } ] From 07268f8bef196e40ed1b49285d4874655ca55a17 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 31 Oct 2025 23:32:09 +0000 Subject: [PATCH 002/628] fixed the HV aqueous accumulator water recipe so it actually works in an HV machine --- kubejs/server_scripts/tfg/recipes.space.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/recipes.space.js b/kubejs/server_scripts/tfg/recipes.space.js index 116faaea0..17fb6edab 100644 --- a/kubejs/server_scripts/tfg/recipes.space.js +++ b/kubejs/server_scripts/tfg/recipes.space.js @@ -135,7 +135,7 @@ function registerTFGSpaceRecipes(event) { .duration(10) .EUt(GTValues.VHA[GTValues.HV]) .adjacentFluids(["minecraft:water"]) - .outputFluids(Fluid.of("minecraft:water", 20000)) + .outputFluids(Fluid.of("minecraft:water", 16000)) // Plants - Can't use the default builder here because fertiliser is much harder to get on the moon, From eb211cfb2ee77353d96a28faeba1aaa5f6a8e312 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 31 Oct 2025 23:55:55 +0000 Subject: [PATCH 003/628] added applied ammo box to pakku and hid its original recipes via emi since kjs seems to be having trouble with it --- .../assets/emi/recipe/filters/categories.json | 9 +++ pakku-lock.json | 71 +++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 98f9ceb7d..dfd3d5c07 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -78,6 +78,15 @@ { "id": "sophisticatedbackpacks:multiple_colors" }, + { + "id": "/.+wireless_ammo_box.*/" + }, + { + "id": "toomanyrecipeviewers:/create/potions" + }, + { + "id": "/gtceu.+potion_.+/" + }, { "category": "ae2:certus_growth" }, diff --git a/pakku-lock.json b/pakku-lock.json index fcff6ea6c..c0ec680ee 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14518,6 +14518,77 @@ } ] }, + { + "pakku_id": "MpkpUO55EJhBt1az", + "pakku_links": [ + "GXyDUWkiW0nLPTdo" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "tacz-applied-ammo-box", + "modrinth": "tacz-applied-ammo-box" + }, + "name": { + "curseforge": "[TaCZ] Applied Ammo Box", + "modrinth": "[Tacz] Applied Ammo Box" + }, + "id": { + "curseforge": "1338332", + "modrinth": "VQOi9K8E" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "applied_ammo_box-0.4.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7025/159/applied_ammo_box-0.4.0.jar", + "id": "7025159", + "parent_id": "1338332", + "hashes": { + "sha1": "7ed8caf15bd7662b10c0e0e327d595e9b5bcd924", + "md5": "b0a7924ff04ea4fb3af53da11f221984" + }, + "required_dependencies": [ + "1028108", + "223794" + ], + "size": 67461, + "date_published": "2025-09-23T10:29:35.687Z" + }, + { + "type": "modrinth", + "file_name": "applied_ammo_box-0.3.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/VQOi9K8E/versions/klC2PLr3/applied_ammo_box-0.3.0.jar", + "id": "klC2PLr3", + "parent_id": "VQOi9K8E", + "hashes": { + "sha512": "261cb1606709b34d6086501b6f0dcaaa87545d51397d130747a992fd8a97095817774c8723417b030bb0bd4d4eac16ae007a1860c239203c00cf8163758dfdc6", + "sha1": "cad73c6a3e78233bed25f1d4255f12ffc6f97baf" + }, + "required_dependencies": [ + "SzzJttH8", + "XxWD5pD3" + ], + "size": 67381, + "date_published": "2025-09-05T14:26:22.489897Z" + } + ] + }, { "pakku_id": "GXyDUWkiW0nLPTdo", "type": "MOD", From 92ab8fd32064d283515978120416fccc2ef46afd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 1 Nov 2025 00:04:14 +0000 Subject: [PATCH 004/628] also hide vanilla tipped arrow crafting recipes --- kubejs/assets/emi/recipe/filters/categories.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index dfd3d5c07..3a5b4e82e 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -87,6 +87,9 @@ { "id": "/gtceu.+potion_.+/" }, + { + "id": "/.+crafting/tipped_arrow/.+/" + }, { "category": "ae2:certus_growth" }, From 1ac19d67a2485d45479f1e49607eb13193687bb9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 1 Nov 2025 00:16:21 +0000 Subject: [PATCH 005/628] let's see if we can figure out optional mods --- config/tfccaelum-common.toml | 2 +- pakku-lock.json | 266 +++++++++++++++++++++++++++++++++++ pakku.json | 16 +++ 3 files changed, 283 insertions(+), 1 deletion(-) diff --git a/config/tfccaelum-common.toml b/config/tfccaelum-common.toml index f56f08cc2..f1af809ac 100644 --- a/config/tfccaelum-common.toml +++ b/config/tfccaelum-common.toml @@ -5,7 +5,7 @@ #Enable planets enablePlanets = true #Enable monsters spawning on the surface during a blood moon event? Overwrites TFC's config for surface monsters - enableBloodmoonSurfaceMonsters = false + enableBloodmoonSurfaceMonsters = true #Enable sun blindness? Looking at the sun for too long will make you blind for a period enableSunBlindness = false #Amount of days per real Earth month diff --git a/pakku-lock.json b/pakku-lock.json index c0ec680ee..a7caebbea 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1687,6 +1687,72 @@ } ] }, + { + "pakku_id": "AReReaw18Lbi5Iyq", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "better-foliage-renewed", + "modrinth": "better-foliage-renewed" + }, + "name": { + "curseforge": "Better Foliage Renewed", + "modrinth": "Better Foliage Renewed" + }, + "id": { + "curseforge": "470013", + "modrinth": "czNFt8ef" + }, + "export": false, + "files": [ + { + "type": "curseforge", + "file_name": "betterfoliage-5.0.2.jar", + "mc_versions": [ + "1.20.2", + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4923/669/betterfoliage-5.0.2.jar", + "id": "4923669", + "parent_id": "470013", + "hashes": { + "sha1": "4163772d08837daf22034e5333ddefc8532cdb69", + "md5": "22f5753234b465c44688f9555acb4713" + }, + "required_dependencies": [], + "size": 396130, + "date_published": "2023-12-03T18:03:18.697Z" + }, + { + "type": "modrinth", + "file_name": "betterfoliage-5.0.2.jar", + "mc_versions": [ + "1.20.1", + "1.20.2" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/czNFt8ef/versions/LGnYiw7R/betterfoliage-5.0.2.jar", + "id": "LGnYiw7R", + "parent_id": "czNFt8ef", + "hashes": { + "sha512": "dc9f2035dd45005716817cc4621ca11d34f70d1bb72aad35808808f43c32b2e0b402a9c252918b318ff6297eb6c1eb565c6d632f446ebe198fca3f40a032f798", + "sha1": "4163772d08837daf22034e5333ddefc8532cdb69" + }, + "required_dependencies": [], + "size": 396130, + "date_published": "2023-12-03T18:03:21.100674Z" + } + ] + }, { "pakku_id": "vtaYhgPcR8nFk17t", "pakku_links": [ @@ -2082,6 +2148,70 @@ } ] }, + { + "pakku_id": "wcBgG8cuCWF0fZzB", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "caelum", + "modrinth": "caelum" + }, + "name": { + "curseforge": "Caelum", + "modrinth": "Caelum" + }, + "id": { + "curseforge": "556708", + "modrinth": "Xkw3TXqP" + }, + "export": false, + "files": [ + { + "type": "curseforge", + "file_name": "caelum-1.20.1-2.0.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4674/619/caelum-1.20.1-2.0.0.0.jar", + "id": "4674619", + "parent_id": "556708", + "hashes": { + "sha1": "8b1980f2a91599aea95fecd646b8bc265df7786f", + "md5": "dc2b023ca9c05dcde9ea8260d0dfee4c" + }, + "required_dependencies": [], + "size": 263769, + "date_published": "2023-07-31T16:31:55.127Z" + }, + { + "type": "modrinth", + "file_name": "caelum-1.20.1-2.0.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/Xkw3TXqP/versions/7JGuqBG4/caelum-1.20.1-2.0.0.0.jar", + "id": "7JGuqBG4", + "parent_id": "Xkw3TXqP", + "hashes": { + "sha512": "0e22325ba35525201a278de0ec510c38e8c209796a5728ce625d4f57205e79bb726777915c4fe7e83664447849b5802868f213b9215ca491559af84b7e31b28e", + "sha1": "8b1980f2a91599aea95fecd646b8bc265df7786f" + }, + "required_dependencies": [], + "size": 263769, + "date_published": "2023-07-31T16:36:13.789465Z" + } + ] + }, { "pakku_id": "A31UAepqnKniFZnm", "pakku_links": [ @@ -5431,6 +5561,68 @@ } ] }, + { + "pakku_id": "IDxgtsYQmisT5W9r", + "type": "MOD", + "side": "CLIENT", + "slug": { + "modrinth": "extreme_sound_muffler", + "curseforge": "extreme-sound-muffler" + }, + "name": { + "modrinth": "Extreme sound muffler", + "curseforge": "Extreme sound muffler - (Neo)Forge" + }, + "id": { + "modrinth": "5IIKsxiL", + "curseforge": "363363" + }, + "export": false, + "files": [ + { + "type": "modrinth", + "file_name": "ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/tTO5f5iv/ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", + "id": "tTO5f5iv", + "parent_id": "5IIKsxiL", + "hashes": { + "sha512": "2cd3be9ac975118f10d21c379db7ad1d5625c854ea45f7299da340abbd34b9d2863eda4a967ee1b57a1f78f1c08d8a86fb66b6ac4c9aadb9390071cf1c64e5d4", + "sha1": "1c7a54e1727f2ae4b1f18e1d7feb94a38e87d00f" + }, + "required_dependencies": [], + "size": 267731, + "date_published": "2025-05-13T17:40:33.392430Z" + }, + { + "type": "curseforge", + "file_name": "ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6526/566/ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", + "id": "6526566", + "parent_id": "363363", + "hashes": { + "sha1": "1c7a54e1727f2ae4b1f18e1d7feb94a38e87d00f", + "md5": "3727846f67248980ac39b92464c627f2" + }, + "required_dependencies": [], + "size": 267731, + "date_published": "2025-05-13T17:40:31.427Z" + } + ] + }, { "pakku_id": "xHhmCkdwwzSP9oLD", "type": "MOD", @@ -12443,6 +12635,80 @@ } ] }, + { + "pakku_id": "b3PmHj38mOrThdF4", + "pakku_links": [ + "wcBgG8cuCWF0fZzB", + "64uacGcEw697jVGs" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "tfc-caelum", + "modrinth": "tfc-caelum" + }, + "name": { + "curseforge": "TFC Caelum", + "modrinth": "TFC Caelum" + }, + "id": { + "curseforge": "999031", + "modrinth": "WYvV2Kci" + }, + "export": false, + "files": [ + { + "type": "curseforge", + "file_name": "TFCCaelum-1.20.1-1.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5307/466/TFCCaelum-1.20.1-1.2.jar", + "id": "5307466", + "parent_id": "999031", + "hashes": { + "sha1": "114e10e497503f5ff4cb13850a8dec9bb9f4d625", + "md5": "34b54a06f4f45ccf54edc65cb48b6c89" + }, + "required_dependencies": [ + "556708", + "302973" + ], + "size": 414939, + "date_published": "2024-05-01T15:13:08.827Z" + }, + { + "type": "modrinth", + "file_name": "TFCCaelum-1.20.1-1.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/WYvV2Kci/versions/wSasbQOH/TFCCaelum-1.20.1-1.2.jar", + "id": "wSasbQOH", + "parent_id": "WYvV2Kci", + "hashes": { + "sha512": "f1c7153fc07da59677183f9967ca16e189bcf38d961b03931f100b141e9a10ef684dd1d71a6cf8d27cd3d8ceef7670db25d3b6c398f835387ca8ee8936ea0303", + "sha1": "114e10e497503f5ff4cb13850a8dec9bb9f4d625" + }, + "required_dependencies": [ + "JaCEZUhg", + "Xkw3TXqP" + ], + "size": 414939, + "date_published": "2024-08-28T14:04:28.731777Z" + } + ] + }, { "pakku_id": "CPaYKBv7ChV7n8m0", "pakku_links": [ diff --git a/pakku.json b/pakku.json index 6b92cd98b..5847321f7 100644 --- a/pakku.json +++ b/pakku.json @@ -259,6 +259,22 @@ "autopack-director": { "export": false }, + "tfc-caelum": { + "export": false + }, + "caelum": { + "export": false + }, + "extreme-sound-muffler": { + "export": false + }, + "extreme_sound_muffler": { + "export": false + }, + "better-foliage-renewed": { + "export": false + }, + "ftb-backups-2": { "side": "BOTH", "export": true From f2f441f22c6dd7bc3aa7c69758983682c1649afd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 1 Nov 2025 00:41:51 +0000 Subject: [PATCH 006/628] better-foliage-renewed crashes with shaders, so uh --- pakku-lock.json | 66 ------------------------------------------------- pakku.json | 3 --- 2 files changed, 69 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index a7caebbea..c0ae73b50 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1687,72 +1687,6 @@ } ] }, - { - "pakku_id": "AReReaw18Lbi5Iyq", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "better-foliage-renewed", - "modrinth": "better-foliage-renewed" - }, - "name": { - "curseforge": "Better Foliage Renewed", - "modrinth": "Better Foliage Renewed" - }, - "id": { - "curseforge": "470013", - "modrinth": "czNFt8ef" - }, - "export": false, - "files": [ - { - "type": "curseforge", - "file_name": "betterfoliage-5.0.2.jar", - "mc_versions": [ - "1.20.2", - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4923/669/betterfoliage-5.0.2.jar", - "id": "4923669", - "parent_id": "470013", - "hashes": { - "sha1": "4163772d08837daf22034e5333ddefc8532cdb69", - "md5": "22f5753234b465c44688f9555acb4713" - }, - "required_dependencies": [], - "size": 396130, - "date_published": "2023-12-03T18:03:18.697Z" - }, - { - "type": "modrinth", - "file_name": "betterfoliage-5.0.2.jar", - "mc_versions": [ - "1.20.1", - "1.20.2" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/czNFt8ef/versions/LGnYiw7R/betterfoliage-5.0.2.jar", - "id": "LGnYiw7R", - "parent_id": "czNFt8ef", - "hashes": { - "sha512": "dc9f2035dd45005716817cc4621ca11d34f70d1bb72aad35808808f43c32b2e0b402a9c252918b318ff6297eb6c1eb565c6d632f446ebe198fca3f40a032f798", - "sha1": "4163772d08837daf22034e5333ddefc8532cdb69" - }, - "required_dependencies": [], - "size": 396130, - "date_published": "2023-12-03T18:03:21.100674Z" - } - ] - }, { "pakku_id": "vtaYhgPcR8nFk17t", "pakku_links": [ diff --git a/pakku.json b/pakku.json index 5847321f7..c9a1ae485 100644 --- a/pakku.json +++ b/pakku.json @@ -271,9 +271,6 @@ "extreme_sound_muffler": { "export": false }, - "better-foliage-renewed": { - "export": false - }, "ftb-backups-2": { "side": "BOTH", From 4982a0251927fbddc5a8b5e6fd75ff4368f714c5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 1 Nov 2025 13:24:10 +0000 Subject: [PATCH 007/628] langs --- kubejs/assets/gtceu/lang/zh_cn.json | 4 +- .../assets/immersive_aircraft/lang/en_us.json | 1 + .../assets/immersive_aircraft/lang/zh_cn.json | 1 + kubejs/assets/tfg/lang/en_us.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 199 ++++++++++++++++++ 5 files changed, 204 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index ff25d22c2..a1b53c874 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -12,7 +12,7 @@ "block.gtceu.fission_reactor": "裂变反应堆", "block.gtceu.evaporation_tower": "蒸发塔", "block.gtceu.ostrum_harvester": "紫金采集器", - "block.gtceu.moon_dust_harvester": "月尘采集器", + "block.gtceu.moon_dust_harvester": "月壤采集器", "block.gtceu.ostrum_linear_accelerator": "紫金线性加速器", "block.gtceu.ulv_super_tank": "基础超级缸", "block.gtceu.ulv_super_chest": "基础超级箱", @@ -44,7 +44,7 @@ "gtceu.fission_reactor": "裂变反应堆", "gtceu.evaporation_tower": "蒸发塔", "gtceu.ostrum_harvester": "紫金采集器", - "gtceu.moon_dust_harvester": "月尘采集器", + "gtceu.moon_dust_harvester": "月壤采集器", "gtceu.ostrum_linear_accelerator": "紫金线性加速器", "gtceu.bioreactor": "生物反应器", "gtceu.growth_chamber": "生长室", diff --git a/kubejs/assets/immersive_aircraft/lang/en_us.json b/kubejs/assets/immersive_aircraft/lang/en_us.json index 643248790..32b743729 100644 --- a/kubejs/assets/immersive_aircraft/lang/en_us.json +++ b/kubejs/assets/immersive_aircraft/lang/en_us.json @@ -1,5 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.immersive_aircraft.bamboo_hopper": "Aluminium Hopper", "item.immersive_aircraft.steel_boiler": "Steam-powered Aircraft Engine", "item.immersive_aircraft.nether_engine": "MV Aircraft Engine", "item.immersive_aircraft.enhanced_propeller": "Aluminium Plated Airplane Propeller", diff --git a/kubejs/assets/immersive_aircraft/lang/zh_cn.json b/kubejs/assets/immersive_aircraft/lang/zh_cn.json index 3955bcff6..ed24d586e 100644 --- a/kubejs/assets/immersive_aircraft/lang/zh_cn.json +++ b/kubejs/assets/immersive_aircraft/lang/zh_cn.json @@ -1,5 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.immersive_aircraft.bamboo_hopper": "铝制漏斗机", "item.immersive_aircraft.steel_boiler": "蒸汽动力航空引擎", "item.immersive_aircraft.nether_engine": "中压航空引擎", "item.immersive_aircraft.enhanced_propeller": "镀铝飞机螺旋桨", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 0948cbdf0..49927ecdf 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2360,7 +2360,7 @@ "quests.high_voltage.gun.subtitle": "And if that don't work, use more gun", "quests.high_voltage.gun.task1": "Any gun", "quests.high_voltage.gun.task2": "Any medicine or aged alcohol", - "quests.high_voltage.gun.desc": "Getting a little too comfortable on Earth? You won't be alone on the moon, so make sure you're well prepared to defend yourself - you'll need more than just a sword or some stone javelins.\n\n%4The Moon is dangerous%r and you wouldn't want to lose your precious Rocket right?\n\nPick out a nice gun (if you're not sure, we recommend the &o\"Clockwork\" Sniper&r), craft some ammo, and maybe try out some attachments if you're feeling fancy.\n\nIt's also a good idea to bring some nutritious food to raise your max HP (try the meal bags!) as well as some alcohol and medicine for buffs and healing.", + "quests.high_voltage.gun.desc": "Getting a little too comfortable on Earth? You won't be alone on the moon, so make sure you're well prepared to defend yourself - you'll need more than just a sword or some stone javelins.\n\n&4The Moon is dangerous&r and you wouldn't want to lose your precious Rocket right?\n\nPick out a nice gun (if you're not sure, we recommend the &o\"Clockwork\" Sniper&r), craft some ammo, and maybe try out some attachments if you're feeling fancy.\n\nIt's also a good idea to bring some nutritious food to raise your max HP (try the meal bags!) as well as some alcohol and medicine for buffs and healing.", "quests.high_voltage.space_survival.title": "Home away from home", "quests.high_voltage.space_survival.subtitle": "More than just a mining dimension", "quests.high_voltage.space_survival.desc": "If you haven't already, be sure to check out the &3Tips - Space Survival&r quest chapter! It contains all the information you'll need to establish a proper moon colony.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 4c3c875b4..f8423035d 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -2038,6 +2038,205 @@ "quests.gregtech_energy.fission_reactor.desc.6": "现在你终于可以查看反应堆相关的各种配方了。请查看使用&d控制器&r的配方,你将会发现三个&eEMI&r标签页:\n\n&e1)&r裂变反应堆&7(燃料与兼容冷却剂)&r\n&e2)&r裂变热加工&7(类似于电弧炉)&r\n&e3)&r裂变产物&7(当燃料耗尽时)&r\n&e4)&r多方块结构预览\n\n请注意,不同的&a燃料&r仅与特定的&9冷却剂流体&r兼容。一旦燃料棒完全耗尽,可以确定它已经&b转&d变&r成了新的元素。\n\n另一方面,只要温度水平足够高,处理配方就可以运行,与所使用的燃料种类无关。", "quests.gregtech_energy.fission_reactor.desc.7": "简化的计算原理如下:在拥有充足冷却剂流体和一根&c100%%&r热值燃料棒的情况下,反应堆将达到约&c200&r的温度(可称作热量等级或简称为热量)。使用&d两根&r&c100%%&r燃料棒等效于使用&d一根&r&c200%%&r燃料棒,二者均可使热量达到约&c400&r。\n\n这是因为每根燃料棒可产生&6200HU/t&r(热力单位)。冷却剂流体每&c1&r度热量可提取&61HU/t&r。\n\n若反应堆的最大热量上限为&c190&r,则&c100%%&r的燃料棒将导致其过热。你可以通过安装组件提升该上限,或通过处理系统使用&d主动冷却剂&r。每个处理配方均会产生特定的热量影响。", "quests.gregtech_energy.fission_reactor.desc.8": "例如,若某配方的需求温度为&c100&r,热量影响为&6-10HU/t&r,当反应堆处于&c190&r度时,该配方实际可提供&619HU/t&r的冷却效果。\n\n这意味着你可以在反应堆最大热量上限较低的情况下持续运行,同时避免过热!若温度低于&c100&r,配方将完全停止运行——正如电弧炉配方也存在温度限制。\n\n以上便是&e我们&r当前能传授给你的全部知识。请随时关注技术进展,&e尊敬的核能工程师阁下&r!", + "quests.high_voltage": "&6HV&r - 高压", + "quests.high_voltage.subtitle": "升级能源系统,了解超净间,制造更多化学品,并为太空旅行做好准备", + "quests.high_voltage.energium_crystals.title": "超级电池", + "quests.high_voltage.energium_crystals.subtitle": "科幻般的电池!", + "quests.high_voltage.energium_crystals.desc": "&a能量水晶&r可以储存大量的&9EU&r。而且可以说更便宜。", + "quests.high_voltage.autoclave.title": "HV高压釜", + "quests.high_voltage.autoclave.subtitle": "自产电池", + "quests.high_voltage.autoclave.desc": "虽然&3HV高压釜&r属于可选设备,但绝对值得你尽快配备。\n\n它能解锁独特的电池配方,其性能&6远超&r标准型号。", + "quests.high_voltage.chem_bath.title": "HV化学浸洗机", + "quests.high_voltage.chem_bath.subtitle": "请别和你的烤面包机一起洗澡...", + "quests.high_voltage.chem_bath.desc": "&3HV化学浸洗机&r可使用&a化学染料&r对透镜进行&d染色&r。这将使你能够蚀刻更多类型的晶圆,并冷却其他类型的热锭。", + "quests.high_voltage.maintenance_hatches.title": "高级维护", + "quests.high_voltage.maintenance_hatches.subtitle": "我成了维护员,胶带的吞噬者", + "quests.high_voltage.maintenance_hatches.desc.1": "现已解锁两种&3新型维护仓&r。这两种维护仓在首次装入多方块结构时&6无需维护&r。\n\n&3自动维护仓&r功能简单直接——它能&6永久性&r消除维护需求。\n\n&3可配置维护仓&r则更有趣。你可以将其配置为缩短&a10%%&r配方耗时,但代价是维护需求速度提升至三倍(相当于&d16现实小时&r的运行周期)。若用于多方块发电机,则可延长配方耗时,间接提升10%%燃料效率!\n\n&9提示:&r将胶带放入维护仓可自动修复故障。", + "quests.high_voltage.maintenance_hatches.desc.2": "&l&3背景知识:&r&o自动维护仓的纹理与机制源自TecTech——最初为”格雷科技:新视野(GT:NH)“整合包开发的附属模组。\n\n&o若你随我们坚持游玩至后期阶段,将会接触到更多来自TecTech的内容。", + "quests.high_voltage.hv_components.title": "高压组件", + "quests.high_voltage.hv_components.subtitle": "我们称之为“乐趣”", + "quests.high_voltage.hv_components.desc.1": "如同&bMV&r阶段,现在你需要制作更高级的组件。\n\n令人头疼的&d无瑕宝石&r已被略微更棘手的&d玻化末影珍珠&r替代。同时注意&a马达&r需要&d2x银线缆&r。\n&a机器外壳&r与&a机器&r需使用&d金线缆&r。\n\n你囤积的黄金终于派上用场了!", + "quests.high_voltage.hv_components.desc.2": "&9&l让生活轻松些的小技巧:&r\n\n- 使用&d蓝石分解&r和&d矿石处理&r来获取&e琥珀金&r。\n- 在&3化学浸洗机&r中使用&d水银&r来处理多种矿石,以获取&e金&r和&e银&r。", + "quests.high_voltage.assembler.title": "HV组装机", + "quests.high_voltage.assembler.desc": "&3HV组装机&r是进程的下一步,同时解锁多项实用功能——可查阅本任务周边内容获取更多信息。\n\n你将需要用这台&6HV组装机&r来制造&d火箭&r。", + "quests.high_voltage.lenses.title": "我眼中的世界是彩色的", + "quests.high_voltage.lenses.desc": "&a简易系统级芯片&r将用于最好的&dULV电路&r配方。\n\n我们建议你提前专门制作所有其他有用的彩色透镜,它们已列为&e可选&r任务。", + "quests.high_voltage.ulv_circuits.title": "最佳ULV电路!", + "quests.high_voltage.ulv_circuits.desc": "&8ULV&r电路用于一些&9AE2&r配方和&a机械动力&r配方。", + "quests.high_voltage.hv_energy_hatch.title": "升级你的电力高炉 II", + "quests.high_voltage.hv_energy_hatch.subtitle": "注意到这里的模式了吗?", + "quests.high_voltage.hv_energy_hatch.desc": "&aLPIC芯片&r需要在&3超净间&r内使用&3HV切割机&r制造。\n\n为你的多方块结构(主要是电力高炉和大型化学反应釜)配备&3HV能源仓&r将是最佳补充,这样便能直接接入&6HV线路&r运行。", + "quests.high_voltage.chem_reactor.title": "HV化学反应釜", + "quests.high_voltage.chem_reactor.desc": "&3HV化学反应釜&r解锁了大量新配方。啊,谁不喜欢对高级化学日益增长的需求呢?\n\n&9注意:&r实际上我们通过达到&6HV&r阶段解锁了大量新内容。但并非所有产线或物品都是当前必需的——若将所有内容纳入,会使&6HV&r章节过于冗长!\n\n若想挑战自我,现在就可提前查阅&5EV&r章节内容。", + "quests.high_voltage.rutile_loop.title": "近乎钛", + "quests.high_voltage.rutile_loop.subtitle": "...意味着它还不是钛!", + "quests.high_voltage.rutile_loop.desc": "钛的处理过程比之前的材料稍微&b复杂&r一些。首先,你需要&a金红石&r,可以通过处理&a铝土矿&r、&a钛铁矿&r、&a铝&r、&a阿姆科尔矿&r和只能在&d月球&r上找到的&a戴斯矿&r来获得。\n\n一旦你获得了足够的&5金红石&r,你通往&6钛&r的旅程将在下一个任务中继续。无需匆忙。\n\n&9提示:&r&a铝土矿&r的矿石处理收益高得离谱!包括&3热力离心机&r步骤可以轻松&6三倍&r增加你的&a金红石&r产量。", + "quests.high_voltage.rutile_loop_2.title": "近乎钛²", + "quests.high_voltage.rutile_loop_2.subtitle": "现在是钛了吗?", + "quests.high_voltage.rutile_loop_2.desc.1": "要获取钛,首先在&3HV化学反应釜&r中将&a金红石&r还原成&a四氯化钛&r,然后在&3电力高炉&r中用&d镁&r进行二次还原,最终得到钛。\n\n生产过程中消耗的&d碳&r、&d氯&r、&d氧&r和&d镁&r均可从副产品&d一氧化碳&r和&d氯化镁&r中&6完美回收&r,实现零损耗。若建立回收系统,钛金属生产流程中&a唯一需要持续投入的原料&r仅有&d金红石&r!", + "quests.high_voltage.rutile_loop_2.desc.2": "&a四氯化钛&r在塑料生产中还可用作催化剂。在聚合过程中添加微量&aTiCl₄&r,可将聚合物产出量提升至&6133%%&r。当然,这完全属于可选方案。", + "quests.high_voltage.superconductors.title": "HV超导体", + "quests.high_voltage.superconductors.desc": "到了这个阶段,普通线缆的损耗已经微不足道,因此超导体并非强制需求。但值得一提的是,超导体仍能通过随时拆分与合并导线来体现其实用价值,而且因为这些超导体的一半成分是氧,所以也很便宜!\n\n制作&a力场发生器&r时仍然必须使用超导体。", + "quests.high_voltage.nichrome_coils.title": "镍铬合金线圈", + "quests.high_voltage.nichrome_coils.subtitle": "离击败太阳还有很长的路要走", + "quests.high_voltage.nichrome_coils.desc.1": "&3镍铬合金加热线圈&r将你的&3电力高炉&r温度提高到&d3,600K&r。\n\n尽管&o目前&r尚非强制要求,但升级你的主力&3电力高炉&r以获取诱人的&6线圈加成&r仍然是个好主意。", + "quests.high_voltage.nichrome_coils.desc.2": "&l&3背景知识:&r&o在原版格雷科技5中仅存在三种线圈,而镍铬合金线圈曾是最高等级。&r", + "quests.high_voltage.titanium.title": "钛", + "quests.high_voltage.titanium.desc": "&a钛&r在所有金属元素中具有最高的耐腐蚀性和强度密度比,因此我们很自然地将其用作&5EV&r机器的主要材料。\n\n请确保你的&a金红石&r闭环生产系统符合标准,并准备让专用的&3电力高炉&r持续运行数小时。\n\n顺便一提——既然已抵达&5EV&r阶段,单方块发电机即将逐渐淘汰!你需要运行多台&3HV发电机&r才能满足需求,后续则必须升级至多方块发电机。\n\n虽然多方块发电机造价昂贵得多,但你会发现它们的能量效率显著提升!更多信息请查阅&d能源章节&r!", + "quests.high_voltage.vacuum_freezer.title": "冰点之下", + "quests.high_voltage.vacuum_freezer.subtitle": "你知道真空实际上会让东西更热吗?", + "quests.high_voltage.vacuum_freezer.desc": "&3真空冷冻机&r是一个用于冷却&e热锭&r的多方块结构。所有在电力高炉中制造的、温度超过&d1750K&r的锭都需要它。\n\n大多数时候,你的&3电力高炉&r会是瓶颈,所以你不需要为超频冷冻机而担心。\n\n由于手持&e热锭&r会&c对你造成伤害&r,物品管道会非常有用。", + "quests.high_voltage.mv_superconductors.title": "MV超导体", + "quests.high_voltage.mv_superconductors.desc": "传输&a4A&r的&bMV&r电能或许颇具吸引力,但现阶段你可能并不需要这些。若有需要,该方案始终作为备选存在。", + "quests.high_voltage.circuit_assembler.title": "HV电路组装机", + "quests.high_voltage.circuit_assembler.subtitle": "制作此设备前需要先建造超净间", + "quests.high_voltage.circuit_assembler.desc": "下一代&3电路组装机&r。这个等级的电路组装机只用于一种电路——你的第一个&a主机&r。你拿它们可能只有一个用途,就是制作&5EV电路组装机&r。\n\n你可以推迟到&5EV&r阶段再建造,或直接使用它来加速电路制造。", + "quests.high_voltage.microprocessor_mainframe.title": "主机——第一个IV电路!", + "quests.high_voltage.microprocessor_mainframe.desc": "第一个&1IV&r电路。祝贺你成功抵达此阶段!\n\n该电路将在你进入&5EV&r阶段时使用,也可立即用于制作进阶纳米服胸甲——这是对现有喷气背包的重大升级!\n\n&l&3背景知识:&r&o主机的原始纹理取自一张IBM zEnterprise主机的图片。", + "quests.high_voltage.cleanroom.title": "超净间", + "quests.high_voltage.cleanroom.subtitle": "他们把我关进一个房间……一个洁净的房间", + "quests.high_voltage.cleanroom.desc.1": "&3超净间&r是一种无污染的空心多方块结构。今后,大多数新的&a电路相关配方&r,以及&3聚变外壳&r等特殊方块,都需在超净间内部的机器中运行。\n\n建造过程将消耗大量&d塑料混凝土&r和/或&d超净间玻璃&r——这会全面考验你的&a聚乙烯&r自动化产线。\n\n我们将从5x5x5的基础结构开始,当感到空间局促时请及时扩建。", + "quests.high_voltage.cleanroom.desc.2": "&l&3背景知识:&r&o超净间概念源自格雷科技5,但GT5的实现机制更为严苛:配方执行时不会检测清洁度,但完成概率与超净间洁净等级直接挂钩,这导致大量材料无故消失。\n\n&o此外,若超净间存在维护问题,洁净度上限将锁定在90%%,意味着10%%的物品会被损毁。\n\n&oGTCEu版本的超净间将&6永不损耗&r配方产物。", + "quests.high_voltage.prospector.title": "HV探矿仪", + "quests.high_voltage.prospector.desc.1": "这款探矿仪具备比&7LV&r型号&6更广的探测范围&r。\n\n手持探矿仪时潜行右键可切换至&6流体矿脉模式&r,该模式将显示流体矿脉的&d基础产量&r及其充盈程度。\n\n此功能对于在月球上定位&9氦-3&r矿脉与&9基岩矿脉&r非常有用。", + "quests.high_voltage.prospector.desc.2": "&9提醒:&r&3流体钻机&r的产量与矿脉的\"充盈度\"直接相关。当充盈度过低时,产出将默认切换至GTCEu配置文件中设定的保底产量。\n\n&9提示:&r当充盈度低于30%(此为粗略估值)时,出于能效比考虑,建议转移至其他矿脉。你可瞄准&5EV&r阶段的&3高级流体钻机&r,它不仅显著提升产量,更能降低矿脉消耗速率!\n\n&c注意:&r因程序缺陷,探矿仪显示坐标可能存在1区块偏移,请避免将钻机放置在流体矿脉边缘,否则可能抽取到错误流体!", + "quests.high_voltage.fluorine.title": "氟", + "quests.high_voltage.fluorine.subtitle": "你今天刷牙了吗?", + "quests.high_voltage.fluorine.desc": "氟是游戏中通过电解获取的最稀有气体。\n\n你可以从&a锂云母&r、&a氟碳铈矿&r和&a云母&r中提取,但最佳来源是&a黄玉&r。", + "quests.high_voltage.ptfe.title": "聚四氟乙烯", + "quests.high_voltage.ptfe.subtitle": "又名 - 特氟龙", + "quests.high_voltage.ptfe.desc": "&a聚四氟乙烯 (PTFE)&r是一种&7碳&r-&b氟&r聚合物。与PVC类似,PTFE可用于提高塑料电路板及其他制品的产量。目前主要用于制造&3大型化学反应釜&r的内壁。\n\n生产过程中需要消耗&3氯气&r,但如果你电解废弃的&a盐酸&r,它就可以完全回收。\n\n&b氟&r也将用于&a铀&r和&7硅岩&r的精炼过程。\n\n&9提示:&r从现在开始,你应该将聚合物固化为&d条&r(或锭)的形式,因为它们可以很容易地使用&3挤压机&r塑造成你需要的任何形式。", + "quests.high_voltage.nitrobenzene.title": "硝基苯", + "quests.high_voltage.nitrobenzene.desc": "制作&a硝基苯&r可将&a苯&r的能源利用效率提升约&6四倍&r,结果令人欣喜。\n\n需要注意该工艺需要消耗&d蒸馏水&r,并且每个生产步骤都会消耗少量的&d硫&r。", + "quests.high_voltage.lcr.title": "大型化学反应釜", + "quests.high_voltage.lcr.desc.1": "&3大型化学反应釜(LCR)&r是具有更多输入/输出槽位的多方块结构&3化学反应釜&r。其特氟龙外壳允许它能够处理额外的配方。\n\n&3LCR&r可以执行某些专属反应,将多个常规&3化学反应釜&r的步骤&6整合为单步完成&r。例如:\n\n&9-&r&a二氧化氮&r(用于制造硝酸与四氧化二氮)\n&9-&r&a硫酸&r\n&9-&r&a苯酚&r\n&9-&r&a环氧氯丙烷&r(你需要用它来制造环氧树脂!)\n&9-&r&a环氧树脂&r", + "quests.high_voltage.lcr.desc.2": "&3大型化学反应釜&r还包含独占配方。例如&d氡气&r目前只能在LCR中制造。\n\n所有在&3LCR&r中进行的&d超频&r均具有&6100%%效率&r(即完美超频);每次超频将实现&5四倍加速&r,而非普通设备的双倍加速。\n\n&3LCR&r还存在另一项&6优势&r:可通过安装&32个能源仓&r来运行&5下一阶段&r的配方,此项特性与&3电力高炉&r的机制相似。", + "quests.high_voltage.lcr.desc.3": "&9提示:&r考虑到你最终可能使用的LCR数量,为什么不尝试充分利用&d共享结构&r呢?\n\n你可以在2个LCR之间共享一个2A(标准)&3能源仓&r。\n\n你也可以尝试共享&3输入仓/输出仓&r,但需要确保每台LCR运行的配方准确无误。\n\n请注意:维护仓不能共享。", + "quests.high_voltage.tnt.title": "TNT", + "quests.high_voltage.tnt.task": "任何爆炸物", + "quests.high_voltage.tnt.desc.1": "准备好制作一些爆炸物,因为它们将是&c聚爆压缩机&r的必需材料。你有四种选择(从易到难排列),但我们建议只要条件允许就优先制作&d工业TNT&r。", + "quests.high_voltage.tnt.desc.2": "&cTNT&r(三硝基甲苯)无法再使用传统的火药与沙子制造。你需要先制作&a胶凝甲苯&r,再使其与硫酸反应生成TNT。\n\n使用&3HV化学反应釜&r的配方可使&a胶凝甲苯&r产量翻倍,但需额外消耗原料。", + "quests.high_voltage.tnt.desc.3": "对于&a甲苯&r,我们没有任何简单的技巧可以给你。无论你采取哪条路线,它都会很棘手。\n\n话虽如此,单方块&3蒸馏室&r存在将&a重燃油&r直接蒸馏成&a甲苯&r的配方,不要忽略此方法。\n\n&a甲苯&r还可在&5EV&r阶段作为可选材料用于制造&d汽油&r。\n\n&cTNT&r主要用于&3聚爆压缩机&r中制造宝石,当然它也能炸毁东西。", + "quests.high_voltage.ender_pearls.title": "末影珍珠", + "quests.high_voltage.ender_pearls.subtitle": "科幻宝石,或类似的东西", + "quests.high_voltage.ender_pearls.desc": "在 TFG 中,你不会找到任何掉落末影珍珠的末影人。\n即使在幽冥之地潜行的那些也帮不了你。\n\n相反,目前你唯一的选项是自己制作:\n\n在&6高压&r搅拌机中结合&2铍粉&r和&2钾粉&r,创造出难以捉摸的&5末影粉&r。\n\n完成后,将其扔进&8聚爆压缩机&r中,以格雷科技的风格重现标志性的末影珍珠。", + "quests.high_voltage.boules.title": "磷掺杂的单晶硅", + "quests.high_voltage.boules.subtitle": "太牛了,兄弟!", + "quests.high_voltage.boules.desc": "掺杂是故意向半导体中引入杂质以改变其特性的过程。\n\n&7硅&r可以用少量&e磷&r掺杂,以制造更好的&e单晶硅&r。\n\n磷掺杂的硅晶锭通常比未掺杂的对应物产量高&68倍&r。然而,在&5EV&r阶段之前并不严格需要,届时它们将用于更复杂的晶圆。\n\n&9注意&r:所有磷掺杂的单晶硅和晶圆的处理都需要&d超净间&r。", + "quests.high_voltage.implosion_compressor.title": "聚爆压缩机", + "quests.high_voltage.implosion_compressor.desc": "&3聚爆压缩机&r能将宝石粉末形态转化为完整宝石。\n\n这是获取&a末影珍珠&r的必要设备。\n\n&cTNT&r可用于实施聚爆操作。", + "quests.high_voltage.nitric_acid.title": "硝酸", + "quests.high_voltage.nitric_acid.subtitle": "这不会腐蚀你的皮肤", + "quests.high_voltage.nitric_acid.desc.1": "硝酸蒸汽具有剧毒性!它同时还是一种强效氧化剂。\n\n&a硝酸&r主要用于:\n\n&9-&r高十六烷值柴油(即将解锁的优质柴油燃料)\n&9-&r硝基苯(近期将制备的高效气体燃料)\n&9-&r可选的宝石浆处理流程\n&9-&r&1IV&r阶段的铂系矿泥处理链\n&9-&r&1IV&r阶段的聚苯并咪唑(试着快速念十遍!)", + "quests.high_voltage.nitric_acid.desc.2": "制作&a硝酸&r主要有两种方法——&o好的&a方法&r和&4坏的&r方法!\n\n因此,我们将为你指引最佳方案:\n\n使用&3大型化学反应釜&r制备&a二氧化氮&r,随后在普通&3化学反应釜&r中将其与更多&d氧气&r和&d水&r反应,即可得到&a硝酸&r!\n\n此过程需消耗大量&d氧气&r,请参考&7LV&r章节中对应的任务来获取高效量产方案。注意该方法完全无需氢气!", + "quests.high_voltage.cetane_diesel.title": "高十六烷值柴油", + "quests.high_voltage.cetane_diesel.subtitle": "这是为了更进一步", + "quests.high_voltage.cetane_diesel.desc": "既然你已经解锁了&6HV&r搅拌机并且掌握了&e硝酸&r制备技术,现在就有可能制造&a高十六烷值柴油&r了,其能量密度将提升&e180%%&r。\n\n唯一棘手的环节是获取&b四硝基甲烷&r。建议通过混合&9硝酸&r与&d乙烯酮&r来生产——若将&9硫酸&r(当前应已大量储备)与&c乙酸&r结合,乙烯酮的制备并不困难,而乙酸只需通过&3氧气&r和&5乙烯&r即可轻松制得。\n\n&c别忘了&r将机器设置切换至2号电路模式,否则最终产物将是&6聚乙烯&r!", + "quests.high_voltage.smd_components.title": "贴片元件", + "quests.high_voltage.smd_components.subtitle": "替代元件!", + "quests.high_voltage.smd_components.desc": "&e贴片&r&a元件&r是GTCEu独有的组件,是下一代&5纳米级&r电路的必备材料,在多数电路配方中可替代非贴片元件。\n\n当然它们的制作工艺更为复杂——但这可是格雷科技!你还期待什么呢?\n\n建议为这些元件投资自动化产线——你的需求将永无止境。", + "quests.high_voltage.smd_components_2.title": "更多贴片元件", + "quests.high_voltage.smd_components_2.desc": "&a铂&r(制造贴片二极管所需)在&5EV&r标签页设有专属任务指引。不过你也可以直接通过铂系矿脉或化学洗涤法获得铂。\n\n&l&3背景知识:&r&o贴片电感在GTCEu中首次登场。让所有电路元件都拥有对应的贴片型号,使得系统更统一、使用更便捷。", + "quests.high_voltage.hv_macerator.title": "通用研磨机", + "quests.high_voltage.hv_macerator.subtitle": "粉碎矿石并获得副产物", + "quests.high_voltage.hv_macerator.desc.1": "&3HV研磨机&r终于解锁了JEI中显示的所有槽位。至此&9全部&r槽位都已可用,同时使你能够通过研磨&d热力离心过的矿石&r获得&6专属副产物&r。\n\n经过&5两次超频&r后,研磨矿石仅消耗&a32EU/t&r,这意味着该机器可完美融入&7LV&r产线——极为便利。\n\n尽管这台机器带来显著改进,但仍不需为每种矿石都配置高级处理流程——能源与时间成本仍需考量!", + "quests.high_voltage.hv_macerator.desc.2": "&l&3背景知识:&r&o在格雷科技5u版本中,&6HV&r&o研磨机仅提供两个槽位。呃...反正我们本来也没打算用那些石粉...&r", + "quests.high_voltage.ammonia.title": "氨", + "quests.high_voltage.ammonia.desc": "&a氨&r在&6HV&r阶段属于&d可选&r材料。\n\n其主要用途包括:\n&9-&r制备硝酸(虽然我们不推荐这个)\n&9-&r制造火箭燃料(离开地球的必需品)\n&9-&r在&1IV&r阶段生产聚苯并咪唑(这名字真是个绕口令!)\n\n\"最省心\"的配方当属&3HV化学反应釜&r中的合成路径。请确保你的&a氢气&r产量(主要来自&a电解水&r)足以满足需求。\n\n此外,处理&d铂系矿泥&r时也可将&a氨&r作为副产品获取。", + "quests.high_voltage.hv_mixer.title": "高压搅拌机", + "quests.high_voltage.hv_mixer.subtitle": "搅拌从未如此美好", + "quests.high_voltage.hv_mixer.desc": "你将需要&6高压&r搅拌机来制造&6火箭合金&r,但这并不是它唯一有用的配方。\n\n它还将解锁:\n- &d铟&r\n- &e高十六烷值柴油&r\n- 制造&9涡轮转子&r的宝贵材料&6哈氏合金&r\n- &d福鲁伊克斯水晶&r,这对&dAE2&r绝对至关重要", + "quests.high_voltage.blue_alloy.title": "蓝色合金", + "quests.high_voltage.blue_alloy.subtitle": "你现在变蓝了...那是我的合金", + "quests.high_voltage.blue_alloy.desc": "&a蓝色合金&r是一种优秀的&6HV&r电缆材料。\n\n当然也可用于传输&bMV&r电力!但请注意避免使机器承受过载电压。\n\n&6HV&r超导材料将在…后续阶段解锁。\n\n&a蓝石&r是以矿石形态生成的,所以不要用搅拌机来合成!\n\n此外,&a蓝石&r可以分离为&d琥珀金&r与&d红石&r。", + "quests.high_voltage.ev_circuits.title": "第一个EV电路!", + "quests.high_voltage.ev_circuits.subtitle": "脱颖而出", + "quests.high_voltage.ev_circuits.desc": "你的第一个&5EV&r电路拥有独特的纹理。如果你仍然认为自己处于&bMV&r阶段,请&a暂缓&r大量制作——它们目前不会带来实际好处。当然,如果你&d只是想向我们炫耀&r,我们也不会阻止你制作这些。", + "quests.high_voltage.hv_hull.title": "欢迎来到HV!", + "quests.high_voltage.hv_hull.subtitle": "即将成为太空矿工", + "quests.high_voltage.hv_hull.desc.1": "&2我们希望你已经掌握了&9格雷科技&r的窍门,现在该是进一步提升技能的时候了。\n在本章节中,你将解锁&e高级多方块结构&r、&e复杂工艺流程&r,甚至迈出登陆&f月球&r的第一步!\n\n&6本章两大核心目标:&r\n- 制造第一个&5EV机器外壳&r\n- 开启你的&f月球&r征程\n\n解锁月球还将带来&b赛特斯石英&r资源,为构建&d应用能源2&r系统铺平道路。你可自由选择完成这些目标的顺序。", + "quests.high_voltage.hv_hull.desc.2": "制作&5EV&r机器外壳需完成以下步骤:\n-建造你的第一个&a超净间&r\n-建造一个&b真空冷冻机&r用于冷却热锭\n-将&9金红石&r加工成&7钛&r\n\n你可在&f月球&r找到大量&9金红石&r,此外&a主世界&r的&e铝土矿&r矿脉中也蕴藏该资源。", + "quests.high_voltage.hv_hull.desc.3": "登陆月球需完成:\n-制备足量&6火箭合金&r\n-通过&3化学浸洗器&r与&8聚爆压缩机&r制作首个&e末影之眼&r\n-备齐在太空中呼吸所需的&b全套装备&r\n\n配备&b真空冷冻机&r与&6高级线圈&r可加速&6火箭合金&r生产,但非强制要求。\n\n&d选择你的路线!&r", + "quests.high_voltage.nichrome.title": "镍铬合金锭", + "quests.high_voltage.nichrome.subtitle": "它没多大用处", + "quests.high_voltage.nichrome.desc": "第三代合金现已问世,这是制作&6电力高炉&r下一级线圈的核心材料。\n\n照例你需要准备&9128个锭&r,但这次你会发现无法使用&6化学浸洗机&r,而必须改用&6真空冷冻机&r进行处理。\n\n好消息是:新流程实际上更简单快速。\n\n当前线圈仅需使用&6镍铬合金&r,但别掉以轻心——后续&5钌钨钼合金线圈&r仍会用到这种材料。", + "quests.high_voltage.rocket_t1.title": "你的第一个火箭!", + "quests.high_voltage.rocket_t1.subtitle": "千里之行第一步", + "quests.high_voltage.rocket_t1.desc": "哇哦,是时候建造你的&6火箭&r了!\n\n使用&d8个致密火箭合金&r组装所有部件。完成隔热层需要&b2304mB液态硅&r(相当于&b16个硅锭&r)和&f16份粉末&r。\n\n你有两种选择:\n&e-&r&e硼硅玻璃粉&r:在&6搅拌机&r中用&d硼&r与&f玻璃粉&r合成\n\n&e-&r&5玻璃化石棉粉&r:通过&6热解炉&r获取\n\n选择对你来说最简单的方案即可!", + "quests.high_voltage.vitrified_pearl.title": "玻璃化末影珍珠", + "quests.high_voltage.vitrified_pearl.subtitle": "一种异域陶瓷", + "quests.high_voltage.vitrified_pearl.desc": "将末影珍珠与适量隔热材料一同放入&e热解炉&r加热,将其充分玻璃化处理成类似&3陶瓷&r的材质。\n\n你目前的需求并不多——至少仅为&6火箭&r和&6HV电路组装机&r各准备一个即可。\n但请注意:从&5EV&r阶段开始,需求量将急剧攀升。", + "quests.high_voltage.kaolinite_powder.title": "高温耐火黏土", + "quests.high_voltage.kaolinite_powder.subtitle": "你没想我,对吧?", + "quests.high_voltage.kaolinite_powder.desc": "坏消息是:你即将要和一位老朋友重逢。好消息是:重逢地点就在你自己家里!\n\n如果你仓库里还存着很久以前挖的&4高岭石&r,是时候把它们从旧冶炼房里翻出来了。要是没有库存也别担心,反正现在你完全可以在家自制了!\n\n高岭石粉后续将用于工业陶瓷与隔热层等配方。", + "quests.high_voltage.linked_quest_energy.title": "更多关于能源的信息", + "quests.high_voltage.linked_quest_energy.subtitle": "格雷科技维基百科", + "quests.high_voltage.linked_quest_energy.desc": "还在用蒸汽发电?想深入了解格雷科技能源系统?请务必查看格雷科技能源任务章节!", + "quests.high_voltage.linked_quest_energy.task": "查看能源章节", + "quests.high_voltage.ev_machine_hull.title": "&5EV&r机器外壳", + "quests.high_voltage.ev_machine_hull.subtitle": "格雷科技等级进度已完成一半", + "quests.high_voltage.ev_machine_hull.desc": "这真是一段非凡的旅程!历经&9金红石加工线&r、&5真空冷冻机&r与&5超净间&r的建造,你已掌握了大量新机制。\n\n这非常可贵——因为此刻可能仅是整个整合包进程的中点。\n\n你踏上&f月球&r了吗?若尚未成行,我们强烈建议你即刻启程。你将在月球体验后续阶段&d核心机制&r,解锁&bAE2&r系统,并获取&a更丰沛的矿脉资源&r。\n\n若你已完成月球探险,我们希望你的基础设施已稳固——因为&5EV&r时代即将来临。这个充满挑战的章节将引入&7更复杂的系统&r,让你的工厂实现跨越式升级。", + "quests.high_voltage.250_iq.title": "智商250", + "quests.high_voltage.250_iq.subtitle": "别再烫伤你的手了!", + "quests.high_voltage.250_iq.desc.1": "这是一份关于如何实现热锭全自动分拣至化学浸洗机,并保持整个系统高效运转的指南。\n\n廉价的方案是使用过滤器手动逐个添加热锭...但实在太无聊了!不如尝试更智能的方案。\n\n在&3化学浸洗机&r侧面安装&a物品标签过滤器覆盖版&r,将其设置为白名单模式并输入标签&e&l*hot_ingots*&r。\n\n此后即可通过&9任意物流系统&r进行自动化输送。", + "quests.high_voltage.250_iq.desc.2": "将&3电力高炉&r的输出端连接至&3化学浸洗机&r的输入端,并将其输出端接入箱子或板条箱。可在输出端前安装&d加固管道&r,确保化学浸洗机始终享有处理优先级。\n\n&l&9注意:&r若需查看更多自动化标签,可在物品提示框内按住Shift键查看。例如带有&e&o#forge:plates/copper&r标签的物品,筛选时输入&e&lplates/copper&r即可。\n\n&9&l补充说明:&r物品标签过滤卡支持&d正则表达式&r,悬停查看信息图标可获取详细说明。", + "quests.high_voltage.bedrock_miner.subtitle": "无限矿石?", + "quests.high_voltage.bedrock_miner.desc.1": "这可能是你第一次接触&c基岩采矿机&r,因为它在格雷科技中较为罕见。\n它的功能类似于&b流体钻机&r,但目标矿脉将&n永不枯竭&r。\n\n它的能耗极低——在&bMV&r或&6HV&r阶段即可稳定运行,且&a无需任何耗材&r。\n\n那么,代价是什么?\n找到矿脉。", + "quests.high_voltage.bedrock_miner.desc.2": "你需要一个&6HV&r探矿仪并切换至&o基岩矿脉勘探模式&r(&7Shift+右键&r),同时准备足够的耐心。定位到目标矿脉后,还需设计如何将资源运回前哨站。\n\n在&f月球&r上你将找到首批基岩矿脉,从此能永久免费自动获取多种关键资源。请查阅JEI了解可采集内容!权重值越高代表矿脉越常见。\n\n鉴于矿脉分布稀疏,这正好成为修建&7月球列车&r的绝佳理由!", + "quests.high_voltage.space_alloy.title": "R型铝钢", + "quests.high_voltage.space_alloy.subtitle": "这是我们编造的合金", + "quests.high_voltage.space_alloy.desc.1": "要制作第一个&6火箭合金&r时,你需要将&7铝&r、&7不锈钢&r与&c液态红钢&r放入新升级的&6HV&r搅拌机中混合。\n\n该配方耗时较长,请确保搅拌机能全程专注处理此任务。\n\n混合得到的粉末需在&bMV&r级别的电力高炉中熔炼。若你已配备&6镍铬合金线圈&r且高炉以&6HV&r运行,即可对此配方实施&a完美超频&r!(若理解困难请查阅格雷科技能源章节)", + "quests.high_voltage.space_alloy.desc.2": "你可以用&9化学浸洗机&r冷却锭,如果已经配备&9真空冷冻机&r则能进一步缩短处理时间。\n\n&7144mB等于1个锭&r,注意避免提取太多的&c红钢&r。\n\n你总计需要&685个火箭合金&r锭,这意味着:\n-&760个铝&r\n-&720个不锈钢&r\n-&710个红钢&r\n\n&a不算太糟!&r", + "quests.high_voltage.steel_engine.subtitle": "蓝钢回来了,宝贝", + "quests.high_voltage.steel_engine.desc": "&6钢引擎&r是火箭&a前往月球&r的必备组件。\n\n配方难度适中——我们相信你已准备好应对每个环节。\n\n获取&91152mB液态蓝钢&r需要&78个锭&r。", + "quests.high_voltage.rocket_fins.subtitle": "这样你就能到达正确的目的地", + "quests.high_voltage.rocket_fins.desc": "我们让&6火箭尾翼&r使用&b合金炉&r制造,只是为了提醒你现在已可建造&b工业熔炉&r——这台精巧的电力熔炉既能充当&e熔炉&r,又能作为&b合金炉&r使用。\n\n其制作任务位于&bMV&r章节。若尚未建造,我们强烈建议你认真考虑这个选择。", + "quests.high_voltage.rocket_nose_cone.subtitle": "鼻锥自有答案...", + "quests.high_voltage.rocket_nose_cone.desc": "&6火箭鼻锥&r是整个火箭制造中最复杂的部件。\n你需要准备大量&a聚乙烯&r——希望已实现自动化生产——以及一个&6HV发射器&r。\n你应该能够通过电解&c红宝石粉&r获得&d铬&r。\n\n&a玻璃化末影珍珠&r的制备更为棘手,需要你先完成由&6HV化学反应釜&r解锁的任务链。\n请准备好制作&cTNT&r、搭建&5聚爆压缩机&r,并人工合成末影人掉落物——因为在&2群峦格雷&r整合包中无法自然获取末影珍珠。", + "quests.high_voltage.launch_pad.subtitle": "发射准备就绪,倒计时10秒…", + "quests.high_voltage.launch_pad.desc": "发射台是火箭&6必备&r的起飞设施——可不能随便找个地方放置!\n\n请&c反复确认&r你随身携带了&c第二个发射台&r,返程时仍需使用!", + "quests.high_voltage.rocket_fuel.title": "火箭燃料", + "quests.high_voltage.rocket_fuel.subtitle": "比你想的更容易", + "quests.high_voltage.rocket_fuel.desc": "每次火箭旅行,你都将需要&6三桶火箭燃料&r。配方看似复杂(说实话步骤确实很多),但所有原料仅需&b氯&r、&b甲烷&r、&b氮&r、&b氧&r和&b水&r——完全在可控范围内!\n\n如果你已经有一台&5大型化学反应釜&r,甚至能跳过某些中间步骤!\n\n如果你还没使用过该功能,建议立即尝试&7EMI配方树&r——点击合成配方右侧带有4个方块组成的小图标,然后将鼠标悬停在屏幕右下角的问号标记上即可查看完整说明!", + "quests.high_voltage.space_suit.title": "航天服", + "quests.high_voltage.space_suit.subtitle": "这可能是最难的部分", + "quests.high_voltage.space_suit.desc.1": "我们理解你急切启程的心情,但如果你想在月球上多活几秒钟,就必须有一套装载&b可呼吸气体&r的宇航服——若想实现免脱充气,还需携带&e储气罐&r。\n\n最复杂的环节当属制作&d聚己内酰胺纤维&r(即尼龙)。\n\n你将需要一个电力高炉与一个&6HV&r&e化学反应釜&r。\n\n在此基础上,可通过&a苯&r、&b氢&r、&9氯&r、&b氧&r及&3氨&r来合成它。\n\n鉴于你已经是一名经验丰富的格雷科技玩家,我们不会再逐步指导——相信你完全能靠&aEMI&r自己解决。", + "quests.high_voltage.space_suit.desc.2": "当一切准备就绪,只需&e右键点击&r装有可呼吸气体(例如&b压缩氮氧混合气&r)的桶或储罐即可完成填充,操作逻辑与桶装流体相同。每1000mB气体可维持20分钟生命支持。穿戴太空服后,可通过\"饮用\"储气罐直接为宇航服补充气体。\n\n建议查阅太空生存任务章节,确认是否还需携带其他必备物资!", + "quests.high_voltage.space_suit.task": "填充并饮用", + "quests.high_voltage.welcome_moon.title": "我在&3月球&r上!", + "quests.high_voltage.welcome_moon.subtitle": "但愿你已备妥返程所需的一切物资", + "quests.high_voltage.welcome_moon.desc": "&2恭喜&r,你成功登陆了&7月球&r!\n这里遍布&b赛特斯石英&r矿脉与陨石,将助你开启&dAE2&r的科技线。\n\n但惊喜远不止于此——这里的矿脉密度&6远高于&r地球。\n\n例如,你能轻而易举地找到&6钛铁矿&r、&7铝土矿&r、&7铝矿&r及&5铬铁矿&r矿脉。\n在此建立小型基地将对后续进程至关重要。\n\n当前最大挑战在于资源运输——毕竟尚未解锁像&5末影箱&r或&dAE2量子链路&r这类跨维度物流工具。\n\n但愿你已经做好万全准备——除非你想再造一套火箭与宇航服,专程去回收自己的尸体!", + "quests.high_voltage.gun.title": "带把枪", + "quests.high_voltage.gun.subtitle": "如果那不起作用,就带更多的枪", + "quests.high_voltage.gun.task1": "任何枪", + "quests.high_voltage.gun.task2": "任何药品或陈酿酒", + "quests.high_voltage.gun.desc": "在地球上过得有点太安逸了?月球可并不安宁,请务必做好自卫准备——光靠剑或石矛可不够。\n\n&4月球危机四伏&r,而且你也不想弄丢宝贵的火箭吧?\n\n挑选一把好枪(如果你拿不准,我们推荐&o\"发条\"狙击枪&r),备足弹药,若想更讲究还可以试试加装配件。\n\n建议携带提升生命上限的营养食品(试试餐包!),以及提供增益与治疗效果的酒与药品。", + "quests.high_voltage.space_survival.title": "远离家乡的基地", + "quests.high_voltage.space_survival.subtitle": "不仅仅是一个采矿维度", + "quests.high_voltage.space_survival.desc": "若尚未查看,请务必阅读&3提示与技巧-太空生存篇&r任务章节!其中包含建立完善月球基地所需的全套知识体系。", + "quests.high_voltage.hypertubes.title": "超级管道", + "quests.high_voltage.hypertubes.subtitle": "未来已来,老家伙!", + "quests.high_voltage.hypertubes.desc": "正在寻找更酷的基地穿梭方式?试试&3超级管道&r吧!只需站在管道入口附近,你就会被吸入并传输至另一端,还能实现多方向通行!\n\n此设备需要消耗应力(SU)驱动,如果你已经不再使用机械动力,可通过格雷科技能量转换器配合 &9&oCreate Crafts and Additions&r 模组的电动马达将EU转化为SU。", + "quests.high_voltage.wand.title": "无尽建筑手杖", + "quests.high_voltage.wand.subtitle": "终极空岛工具", + "quests.high_voltage.wand.desc": "这根手杖与其他手杖的功能完全相同,但具备&3无限耐久&r的特性。热衷于建造摩天楼群或铺砌广阔草原吗?这将是你的终极利器!\n\n请注意,&5EV&r阶段将解锁“建筑小帮手(BuildingGadgets)”模组,为狂热建造者提供更强大的工具套装。", + "quests.high_voltage.moon_harvester.title": "月壤采集器", + "quests.high_voltage.moon_harvester.subtitle": "还记得基岩采矿机吗?", + "quests.high_voltage.moon_harvester.desc": "&7月球&r是你获取&e无限矿石&r的起点——但速度很慢。\n你需要采集多种&b风化土粉&r,且每种仅能在特定生物群系获取。\n为此需依赖&6月壤采集器&r运作,使用时请牢记两个关键要点:\n\n•它需要配备一个&9输入总线&r,以便设置正确的&9电路&r。\n•它支持&e线圈&r升级(与&6裂化机&r机制相同)——线圈等级越高,能耗减免越显著。\n这对远离基地采集风化土时尤为重要\n\n当然,原始粉尘还需加工。\n你需要搭建一条&a小型处理产线&r从风化土粉尘中提取资源,请务必将其运回&7月球基地&r进行处理。", + "quests.high_voltage.regolith_vapor.title": "风化土蒸气", + "quests.high_voltage.regolith_vapor.subtitle": "将尘土变为矿石的小东西", + "quests.high_voltage.regolith_vapor.desc": "处理&b风化土粉尘&r需要制备&b风化土蒸气&r——这套系统的搭建稍显复杂。\n\n所需材料如下:\n\n•&7月沙&r——可通过&6碎岩机&r无限获取\n•&e二氧化碳&r——由&9氧气&r与&8碳粉&r制成(得益于无限供应的&b钻石粉尘&r,此步骤十分轻松)\n•&9氮气&r——通过种植&d紫颂果&r获取\n\n提示:你可以利用&b二氧化硅&r循环获得氧气,同时可以稳定获取&e硅粉&r——一种非常实用的副产物。", + "quests.high_voltage.regolith_vapor.task": "我明白了", + "quests.high_voltage.regolith_dust.title": "每个生物群系的风化土", + "quests.high_voltage.regolith_dust.subtitle": "三个火枪手", + "quests.high_voltage.regolith_dust.desc": "你可以获取&b4种不同类型的风化土&r,每种都能产出独特资源。\n\n所有类型均与&7月球&r上的特定&7深层生物群系&r相关联。请注意:这些生物群落彼此并不直接连通,因此你需要进行一些探索。\n\n借助&aXaero地图&r能极大简化目标生物群落的定位——通过它可快速找到各种尘土的采集坐标。", + "quests.high_voltage.dusty_ores.title": "积尘矿石", + "quests.high_voltage.dusty_ores.subtitle": "你是在说更多的矿石加工吗?", + "quests.high_voltage.dusty_ores.desc": "&7积尘矿石&r是&d群峦格雷&r独有的矿石类型。你在&7月球&r以及后续&4火星&r获取的所有&c无限矿石&r都将以积尘矿石形态呈现。\n\n当前阶段仅能通过&6离心机&r提取其中蕴含的矿物粉末。\n\n处理方式相当受限,对吧?别担心——抵达&e金星&r后将解锁&e更高效的处理&r方案!\n\n专业提示:现已可通过&6大型化学反应釜&r加速处理。凭借&b完美超频&r特性,其处理速度将远超基础配方效率。", + "quests.high_voltage.dusty_ores.task": "所有的月球积尘矿石", + "quests.high_voltage.final_dust.title": "无限尘埃", + "quests.high_voltage.final_dust.subtitle": "终于!无限资源!", + "quests.high_voltage.final_dust.desc": "这是在解锁&e金星&r上更高级的加工设施前,你能在&7月球&r上获取的所有&c无限资源&r。\n\n有了这些资源,你将拥有持续推进&d格雷科技&r进程所需的一切——尤其是维护月球基地&a正常运作&r的必需品。\n\n这些资源对以下用途至关重要:\n• 制作&dAE2组件&r\n• 生产&c无限&r供应的&6轨道炮弹药&r\n\n被动自动化现在就在你触手可及之处——迈步向前,让它成为现实!", "quests.low_voltage": "&7LV&r - 低压", "quests.low_voltage.subtitle": "驯服电力,开启你的格雷科技之旅", "quests.low_voltage.lv_machine_hull.title": "你的第二个机器外壳", From 67d7b41593956e69e1935069e15168c3596a719c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 1 Nov 2025 14:23:18 +0000 Subject: [PATCH 008/628] on second thought, I'll keep this off --- config/tfccaelum-common.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/tfccaelum-common.toml b/config/tfccaelum-common.toml index f1af809ac..f56f08cc2 100644 --- a/config/tfccaelum-common.toml +++ b/config/tfccaelum-common.toml @@ -5,7 +5,7 @@ #Enable planets enablePlanets = true #Enable monsters spawning on the surface during a blood moon event? Overwrites TFC's config for surface monsters - enableBloodmoonSurfaceMonsters = true + enableBloodmoonSurfaceMonsters = false #Enable sun blindness? Looking at the sun for too long will make you blind for a period enableSunBlindness = false #Amount of days per real Earth month From 18a689b4adbd8c10c1d61f239bdbeb6b3c4d8b71 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 2 Nov 2025 07:02:45 -0600 Subject: [PATCH 009/628] Paving Cart Files (#2144) * paving cart files * Updated Changelog * idk why my changelog was behind Signed-off-by: Redeix --------- Signed-off-by: Redeix --- CHANGELOG.md | 4 + .../quests/chapters/questssteam_age.snbt | 12 +- .../quests/chapters/tips__tools.snbt | 180 +++++++++++++++--- .../quests/chapters/tips__transportation.snbt | 53 +++++- .../entries/roadsandroofs/paving_cart.json | 48 +++++ .../entries/roadsandroofs/paving_cart.json | 48 +++++ kubejs/assets/tfg/lang/en_us.json | 30 ++- kubejs/assets/tfg/lang/pt_br.json | 30 ++- .../tfg/models/item/cobalt_brass_wheel.json | 6 + kubejs/assets/tfg/models/item/rnr_plow.json | 6 + .../entity/rnr_plow/rnr_plow_axis.png | Bin 0 -> 3543 bytes .../entity/rnr_plow/rnr_plow_blades.png | Bin 0 -> 3431 bytes .../entity/rnr_plow/rnr_plow_hopper_0.png | Bin 0 -> 3905 bytes .../entity/rnr_plow/rnr_plow_hopper_1.png | Bin 0 -> 3838 bytes .../entity/rnr_plow/rnr_plow_shafts.png | Bin 0 -> 533 bytes .../entity/rnr_plow/rnr_plow_wheel.png | Bin 0 -> 1457 bytes .../paving_cart/tfg_paving_cart.png | Bin 0 -> 88455 bytes .../tfg_paving_cart_gui_random.png | Bin 0 -> 25130 bytes .../paving_cart/tfg_paving_cart_gui_width.png | Bin 0 -> 16075 bytes .../tfg_paving_cart_path_random.png | Bin 0 -> 79199 bytes .../tfg_paving_cart_path_width.png | Bin 0 -> 111191 bytes kubejs/assets/tfg/textures/gui/rnr_plow.png | Bin 0 -> 3928 bytes .../tfg/textures/gui/rnr_plow_slider_bg.png | Bin 0 -> 197 bytes .../textures/gui/rnr_plow_slider_handle.png | Bin 0 -> 147 bytes .../tfg/textures/gui/rnr_plow_toggle.png | Bin 0 -> 608 bytes .../tfg/textures/item/cobalt_brass_wheel.png | Bin 0 -> 738 bytes .../tfg/textures/item/rnr_plow_item.png | Bin 0 -> 658 bytes .../tfg/recipes.miscellaneous.js | 38 ++++ kubejs/startup_scripts/tfg/items.js | 3 + 29 files changed, 429 insertions(+), 29 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/roadsandroofs/paving_cart.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/roadsandroofs/paving_cart.json create mode 100644 kubejs/assets/tfg/models/item/cobalt_brass_wheel.json create mode 100644 kubejs/assets/tfg/models/item/rnr_plow.json create mode 100644 kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_axis.png create mode 100644 kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_blades.png create mode 100644 kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_0.png create mode 100644 kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_1.png create mode 100644 kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_shafts.png create mode 100644 kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_wheel.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png create mode 100644 kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png create mode 100644 kubejs/assets/tfg/textures/gui/rnr_plow.png create mode 100644 kubejs/assets/tfg/textures/gui/rnr_plow_slider_bg.png create mode 100644 kubejs/assets/tfg/textures/gui/rnr_plow_slider_handle.png create mode 100644 kubejs/assets/tfg/textures/gui/rnr_plow_toggle.png create mode 100644 kubejs/assets/tfg/textures/item/cobalt_brass_wheel.png create mode 100644 kubejs/assets/tfg/textures/item/rnr_plow_item.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e5d18724..1cef33eef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,11 @@ ## [Unreleased] ### Changes +- Added a paving cart for automating RNR roads. (#2144) @Redeix ### Bug fixes +- Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix +### Translation updates +- Brazilian Portuguese @Redeix ## [0.11.7] - 30-10-2025 ### Changes diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index b205356d3..660a1750c 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -49,6 +49,12 @@ x: -14.5d y: 13.0d } + { + id: "65E0B13E245D2E5F" + linked_quest: "379F434116632A89" + x: -25.0d + y: 1.0d + } ] quests: [ { @@ -1315,7 +1321,11 @@ y: -2.0d } { - dependencies: ["1059288C22CB56BB"] + dependencies: [ + "1059288C22CB56BB" + "379F434116632A89" + ] + dependency_requirement: "one_completed" description: ["{quests.steam_age.good_paths.desc}"] id: "52A82511A64B0A5B" optional: true diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index adaa96260..47128819c 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -36,6 +36,14 @@ x: 2.5d y: 3.5d } + { + id: "1BD87B2814DE73B7" + linked_quest: "533F32CCAD9D5B51" + shape: "heart" + size: 1.2d + x: -1.5d + y: -6.0d + } ] quests: [ { @@ -1511,7 +1519,7 @@ type: "item" }] title: "{quests.tfg_tips.blank_disc.title}" - x: -3.5d + x: -6.0d y: -3.5d } { @@ -1532,7 +1540,7 @@ type: "item" }] title: "{quests.tfg_tips.dye_discs.title}" - x: -2.5d + x: -5.0d y: -5.0d } { @@ -1551,7 +1559,7 @@ type: "item" }] title: "{quests.tfg_tips.amogus.title}" - x: -3.5d + x: -6.0d y: -5.0d } { @@ -1571,7 +1579,7 @@ type: "item" }] title: "{quests.tfg_tips.special_discs.title}" - x: -4.5d + x: -7.0d y: -5.0d } { @@ -1683,7 +1691,7 @@ } ] title: "{quests.tfg_tips.disc_collector.title}" - x: -3.5d + x: -6.0d y: -6.5d } { @@ -1716,7 +1724,7 @@ } ] title: "{quests.tfg_tips.label_album.title}" - x: -5.5d + x: -8.0d y: -3.5d } { @@ -1737,7 +1745,7 @@ } ] title: "{quests.tfg_tips.etching_disc.title}" - x: -7.0d + x: -9.5d y: -3.5d } { @@ -1758,7 +1766,7 @@ type: "item" }] title: "{quests.tfg_tips.disc_players.title}" - x: -8.0d + x: -10.5d y: -2.5d } { @@ -1772,7 +1780,7 @@ type: "item" }] title: "{quests.tfg_tips.radio.title}" - x: -4.5d + x: -7.0d y: -2.0d } { @@ -1804,7 +1812,7 @@ type: "item" }] title: "{quests.tfg_tips.DIGGY_DIGGY_HOLE.title}" - x: -8.0d + x: -10.5d y: -4.5d } { @@ -1820,7 +1828,7 @@ type: "item" }] title: "{quests.tfg_tips.camera.title}" - x: 4.0d + x: 6.0d y: -3.5d } { @@ -1841,7 +1849,7 @@ type: "item" }] title: "{quests.tfg_tips.film_rolls.title}" - x: 6.0d + x: 8.0d y: -4.5d } { @@ -1872,7 +1880,7 @@ } ] title: "{quests.tfg_tips.developing_film.title}" - x: 7.5d + x: 9.5d y: -4.5d } { @@ -1889,7 +1897,7 @@ type: "checkmark" }] title: "{quests.tfg_tips.selfie.title}" - x: 6.0d + x: 8.0d y: -3.0d } { @@ -1903,7 +1911,7 @@ type: "item" }] title: "{quests.tfg_tips.photo.title}" - x: 9.0d + x: 11.0d y: -4.5d } { @@ -1917,7 +1925,7 @@ type: "item" }] title: "{quests.tfg_tips.photo_album.title}" - x: 10.0d + x: 12.0d y: -3.5d } { @@ -1931,7 +1939,7 @@ type: "item" }] title: "{quests.tfg_tips.photo_frame.title}" - x: 10.0d + x: 12.0d y: -5.5d } { @@ -1952,7 +1960,7 @@ type: "item" }] title: "{quests.tfg_tips.camera_attachments.title}" - x: 3.0d + x: 5.0d y: -5.5d } { @@ -1973,7 +1981,7 @@ type: "item" }] title: "{quests.tfg_tips.filters.title}" - x: 4.5d + x: 6.5d y: -5.5d } { @@ -1993,7 +2001,7 @@ type: "item" }] title: "{quests.tfg_tips.interplanar_projector.title}" - x: 4.5d + x: 6.5d y: -7.0d } { @@ -2575,7 +2583,7 @@ ] title: "{quests.tfg_tips.self_defense.title}" x: -2.5d - y: 0.5d + y: 1.0d } { dependencies: ["7FA5B6354A49C396"] @@ -2776,7 +2784,135 @@ }] title: "{quests.tfg_tips.lightning_rod.title}" x: 2.5d - y: 0.5d + y: 1.0d + } + { + dependencies: ["72B3EA6588E18CCC"] + description: ["{quests.tfg_tips.tools_tips.mattocks.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/making_a_road 0" + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "rnr:metal/mattock/red_steel" + tag: { + Damage: 0 + } + } + id: "379F434116632A89" + shape: "octagon" + size: 2.0d + subtitle: "{quests.tfg_tips.tools_tips.mattocks.subtitle}" + tasks: [ + { + id: "7F1DF0B2C51609B9" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "item_tag(rnr:mattocks)" + } + } + title: "{quests.tfg_tips.tools_tips.mattocks.task0}" + type: "item" + } + { + id: "2BF805FFBA137197" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "item_tag(rnr:road_materials)" + } + } + optional_task: true + title: "{quests.tfg_tips.tools_tips.mattocks.task1}" + type: "item" + } + ] + title: "{quests.tfg_tips.tools_tips.mattocks.title}" + x: 0.0d + y: -5.0d + } + { + dependencies: ["379F434116632A89"] + id: "15277C12EEB517E1" + shape: "diamond" + subtitle: "{quests.tfg_tips.tools_tips.base_course.subtitle}" + tasks: [{ + icon: "rnr:base_course" + id: "0F2DA5DD3F25DE7E" + observe_type: 0 + timer: 0L + title: "{quests.tfg_tips.tools_tips.base_course.task}" + to_observe: "rnr:base_course" + type: "observation" + }] + title: "{quests.tfg_tips.tools_tips.base_course.title}" + x: 0.0d + y: -7.0d + } + { + dependencies: ["15277C12EEB517E1"] + description: ["{quests.tfg_tips.tools_tips.concrete_roads.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/concrete_roads 0" + id: "191DB28DC6FF4538" + subtitle: "{quests.tfg_tips.tools_tips.concrete_roads.subtitle}" + tasks: [{ + id: "0C8FBA664C0CE240" + item: "rnr:bucket/concrete" + type: "item" + }] + title: "{quests.tfg_tips.tools_tips.concrete_roads.title}" + x: 1.0d + y: -8.5d + } + { + dependencies: ["15277C12EEB517E1"] + description: ["{quests.tfg_tips.tools_tips.brick_roads.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/stone_roads 0" + id: "345EB58B7064BF4A" + subtitle: "{quests.tfg_tips.tools_tips.brick_roads.subtitle}" + tasks: [{ + id: "191AA0F89E28E686" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(rnr:brick_road_items)item_tag(rnr:cobble_road_items)item_tag(rnr:flagstone_road_items))" + } + } + title: "{quests.tfg_tips.tools_tips.brick_roads.task}" + type: "item" + }] + title: "{quests.tfg_tips.tools_tips.brick_roads.title}" + x: 0.0d + y: -8.5d + } + { + dependencies: ["15277C12EEB517E1"] + description: ["{quests.tfg_tips.tools_tips.gravel_roads.desc}"] + id: "7E46F50FEBEE9003" + subtitle: "{quests.tfg_tips.tools_tips.gravel_roads.subtitle}" + tasks: [{ + id: "5F5F20DAE5CB99CC" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(rnr:gravel_road_items)item(rnr:hoggin_mix))" + } + } + title: "{quests.tfg_tips.tools_tips.gravel_roads.task}" + type: "item" + }] + title: "{quests.tfg_tips.tools_tips.gravel_roads.title}" + x: -1.0d + y: -8.5d } ] subtitle: ["{quests.tfg_tips.tools_tips.subtitle}"] diff --git a/config/ftbquests/quests/chapters/tips__transportation.snbt b/config/ftbquests/quests/chapters/tips__transportation.snbt index 32be7693c..6457173bb 100644 --- a/config/ftbquests/quests/chapters/tips__transportation.snbt +++ b/config/ftbquests/quests/chapters/tips__transportation.snbt @@ -402,6 +402,36 @@ x: 19.5d y: 0.0d } + { + alpha: 100 + color: 2401566 + height: 2.35d + image: "tfc:block/grass_top" + rotation: 0.0d + width: 2.35d + x: 8.5d + y: -3.5d + } + { + alpha: 100 + color: 2401566 + height: 2.35d + image: "tfc:block/grass_top" + rotation: 0.0d + width: 2.35d + x: 6.5d + y: -3.5d + } + { + alpha: 100 + color: 2401566 + height: 2.35d + image: "tfc:block/grass_top" + rotation: 0.0d + width: 2.35d + x: 4.5d + y: -3.5d + } ] order_index: 2 quest_links: [{ @@ -1049,7 +1079,7 @@ type: "item" }] title: "{quests.tfg_tips.plow.title}" - x: 8.5d + x: 7.5d y: -1.5d } { @@ -1431,7 +1461,7 @@ y: -2.0d } { - dependencies: ["05528D09F7EE6E33"] + dependencies: ["1594C2564FC7982D"] description: ["{quests.tfg_tips.horseshoes.desc}"] icon: { Count: 1 @@ -1461,8 +1491,8 @@ type: "item" }] title: "{quests.tfg_tips.horseshoes.title}" - x: 7.5d - y: -1.5d + x: 6.5196428571428555d + y: -2.6803571428571473d } { description: ["{quests.tfg_tips.hiking_boots.desc}"] @@ -1484,6 +1514,21 @@ x: 8.5d y: 0.5d } + { + dependencies: ["05528D09F7EE6E33"] + description: ["{quests.tfg_tips.transportation_tips.rnr_plow.desc}"] + guide_page: "tfc:field_guide tfc:roadsandroofs/paving_cart 0" + id: "533F32CCAD9D5B51" + subtitle: "{quests.tfg_tips.transportation_tips.rnr_plow.subtitle}" + tasks: [{ + id: "44773CB0898D2375" + item: "tfg:rnr_plow" + type: "item" + }] + title: "{quests.tfg_tips.transportation_tips.rnr_plow.title}" + x: 8.5d + y: -1.5d + } ] subtitle: ["{quests.tfg_tips.transportation_tips.subtitle}"] title: "{quests.tfg_tips.transportation_tips.title}" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/roadsandroofs/paving_cart.json new file mode 100644 index 000000000..04b16db1e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/roadsandroofs/paving_cart.json @@ -0,0 +1,48 @@ +{ + "name": "Paving Cart", + "category": "tfc:roadsandroofs", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "The $(thing)Paving Cart$() is a specialized cart used for laying down road surfaces quickly and efficiently. It can be filled with road materials and $(thing)Crushed Base Course$() to create roads. The cart can also fill in any existing base course blocks" + }, + { + "type": "patchouli:image", + "title": "Paving Cart", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Width Adjustment Slider", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], + "border": true, + "text": "The cart allows you to adjust the width of the path in the GUI" + }, + { + "type": "patchouli:image", + "title": "Variable Width Path", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Randomizer Button", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], + "border": true, + "text": "The cart has a mode that will lay down materials in a random pattern." + }, + { + "type": "patchouli:image", + "title": "Random Material Path", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 + }, + "sortnum": 20 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/roadsandroofs/paving_cart.json new file mode 100644 index 000000000..a8972ae34 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/roadsandroofs/paving_cart.json @@ -0,0 +1,48 @@ +{ + "name": "Carrinho Pavimentador", + "category": "tfc:roadsandroofs", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "O $(thing)Carrinho Pavimentador$() é um carrinho especializado usado para aplicar superfícies de estrada de forma rápida e eficiente. Ele pode ser carregado com materiais para estradas e $(thing)Base Britada$() para criar estradas. O carrinho também pode preencher quaisquer blocos de base já existentes." + }, + { + "type": "patchouli:image", + "title": "Carrinho Pavimentador", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Controle de Largura", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], + "border": true, + "text": "O carrinho permite ajustar a largura do caminho na interface." + }, + { + "type": "patchouli:image", + "title": "Largura do Caminho", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "Botão Aleatório", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], + "border": true, + "text": "O carrinho possui um modo que aplica materiais em um padrão aleatório." + }, + { + "type": "patchouli:image", + "title": "Materiais Aleatórios", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 + }, + "sortnum": 20 +} diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 49927ecdf..6705724d4 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1010,6 +1010,8 @@ "item.tfg.trapdoor_casting_mold": "Trapdoor Casting Mold", "item.tfg.chain_casting_mold": "Chain Casting Mold", "item.tfg.bell_casting_mold": "Bell Casting Mold", + "item.tfg.rnr_plow": "Paving Cart", + "item.tfg.cobalt_brass_wheel": "Cobalt Brass Wheel", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1260,6 +1262,7 @@ "entity.tfg.wraptor.female": "Wraptor", "tfg.tooltip.attribution.wraptor": "§9§oCredit: Species", "entity.tfg.surfer": "Surfer", + "entity.tfg.rnr_plow": "Paving Cart", "tfg.tooltip.surfer_variant.base": "Teal Hide", "tfg.tooltip.surfer_variant.bubble": "Blossom Berry Hide", "tfg.tooltip.surfer_variant.horn": "Golden Hide", @@ -1412,6 +1415,9 @@ "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", "tfg.gui.refrigerator.unify_dates.enabled": "Expiration Date Unification is: §aOn", "tfg.gui.refrigerator.unify_dates.disabled": "Expiration Date Unification is: §cOff", + "tfg.gui.rnr_plow.random_mode": "Randomize Materials", + "tfg.gui.rnr_plow.width": "Path Width: %d Blocks", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cMissing Crushed Base Course!!", "tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", @@ -4423,5 +4429,27 @@ "quests.tfg_tips.tools_tips.harvest_basket.title": "Harvest Baskets", "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "For competitive pie bakers.", "quests.tfg_tips.tools_tips.harvest_basket.task": "Any #tfg:harvester", - "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Harvest Baskets&r&r are a new tool made just for &5TFG&r! These baskets can be used to harvest whole trees and bushes of fruit in one right-click! A regular &6Harvest Basket&r has a base durability of &n128&r. But an &3Aluminium Harvest Basket&r takes no damage on use." + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Harvest Baskets&r&r are a new tool made just for &5TFG&r! These baskets can be used to harvest whole trees and bushes of fruit in one right-click! A regular &6Harvest Basket&r has a base durability of &n128&r. But an &3Aluminium Harvest Basket&r takes no damage on use.", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "Paving Cart", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "The Romans would be proud.", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "Roads are wonderful! But sometimes you get a little tired of right-clicking. Instead of building roads for your horse, &3let your horse build roads for you&r!\nThe &dPaving Cart&r is a unique &cAstikor Cart&r developed for TFG. This cart allows you to automatically build &cRnR roads&r with assignable road width and even a randomizer mode.", + "quests.tfg_tips.tools_tips.mattocks.title": "Mattocks", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "A shovel just wont do.", + "quests.tfg_tips.tools_tips.mattocks.task0": "Any Mattock", + "quests.tfg_tips.tools_tips.mattocks.task1": "Any Road Material", + "quests.tfg_tips.tools_tips.mattocks.desc": "&cMattocks&r are your key to developing roads in TFG. They can acquired through casting into a mold like any other TFC tool. To use a mattock change its mode (default-key: &3&lN&r&r) to \"full-block\". \nThen you can right-click on dirt or grass to tamp it down. You can then apply &6crushed base course&r and finally the material of your choice after.", + "quests.tfg_tips.tools_tips.base_course.title": "Base Course", + "quests.tfg_tips.tools_tips.base_course.subtitle": "The foundation of all good roads.", + "quests.tfg_tips.tools_tips.base_course.task": "Look at Base Course", + "quests.tfg_tips.tools_tips.gravel_roads.title": "Gravel Roads", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "A bumpy ride awaits.", + "quests.tfg_tips.tools_tips.gravel_roads.task": "Any Gravel Road Material", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "These materials—when applied to base course—form roads which give a &b&l10%%&r&r boost to walking speed.", + "quests.tfg_tips.tools_tips.brick_roads.title": "Brick Roads", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "Skateboarders beware.", + "quests.tfg_tips.tools_tips.brick_roads.task": "Any Brick Road Material", + "quests.tfg_tips.tools_tips.brick_roads.desc": "These materials—when applied to base course—form roads which give a &b&l20%%&r&r boost to walking speed.", + "quests.tfg_tips.tools_tips.concrete_roads.title": "Concrete Roads", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Almost worth all the effort.", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet concrete mix&r can be applied to base course to create roads which give a &b&l30%%&r&r bonus to movement speed. \n\n&4Be careful&r when creating concrete roads. There are a lot of rules to follow to make sure you don't end up with cracked or ruined surfaces. Consult the &3Field Guide&r for detailed instructions." } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 122c93a3b..38c2e1354 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -676,6 +676,8 @@ "item.tfg.linen_cloth": "Pano de Linho", "item.tfg.uv_led": "§fLED §dUltravioleta", "item.tfg.smd_uv_led": "§fLED §dUltravioleta §fSMD", + "item.tfg.rnr_plow": "Carrinho Pavimentador", + "item.tfg.cobalt_brass_wheel": "Roda de Latão Cobalto", "material.tfg.latex": "Látex", "material.tfg.vulcanized_latex": "Látex Vulcanizado", "material.tfg.fluix": "Fluix", @@ -903,6 +905,7 @@ "entity.tfg.wraptor.male": "Distráptor", "entity.tfg.wraptor.female": "Distráptora", "tfg.tooltip.attribution.wraptor": "§9§oCrédito: Species", + "entity.tfg.rnr_plow": "Carrinho Pavimentador", "trim_material.tfc.almandine_tfc": "Almandina", "trim_material.tfc.andradite_tfc": "Andradita", "trim_material.tfc.blue_topaz_tfc": "Topázio Azul", @@ -1003,6 +1006,9 @@ "tfg.tooltip.wraptor_wool": "§7Colhido das penas de um Distráptor", "tfg.tooltip.wraptor_sugar": "§7Não pense muito a respeito disso", "tfg.tooltip.obsolete.depreciated": "§cObsoleto, não pode mais ser criado", + "tfg.gui.rnr_plow.random_mode": "Aleatorizar Materiais", + "tfg.gui.rnr_plow.width": "Largura do Caminho: %d Blocos", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cFalta Camada Base Triturada!!", "tfc.jei.flint_knapping": "Talhar Sílex", "tfc.jei.straw_knapping": "Trançar Palha", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Tingindo", @@ -2191,5 +2197,27 @@ "quests.tfg.field_guide.desc": "As missões ainda estão em desenvolvimento, e estamos sempre trabalhando para melhorá-las! Muitas informações sobre mecânicas específicas também estão no seu Guia de Campo, acessível através da aba Livro no seu inventário.\n\nLembre-se de que tanto o JEI quanto o Guia de Campo são seus amigos, pois nem tudo será explicado através das missões.", "quests.tfg.quest_shapes.title": "Informações sobre Formatos de Missões.", "quests.tfg.quest_shapes.subtitle": "Acontece que formatos ajudam a entender essas missões.", - "quests.tfg.quest_shapes.desc": "&lEngrenagens&r: Missões em formato de engrenagem são as maiores em cada categoria de missão, elas representam o Início e o Fim das linhas de missão. Você pode considerá-las como grandes objetivos finais.\n\n&lCorações&r: Missões em formato de coração são &oopcionais&r, elas não são necessárias para o progresso e servem principalmente para jogadores perfeccionistas. Algumas missões opcionais podem ser um pouco bobas...\n\n&lOctógonos:&r Octógonos são marcos importantes em certas missões, eles representam marcos significativos." + "quests.tfg.quest_shapes.desc": "&lEngrenagens&r: Missões em formato de engrenagem são as maiores em cada categoria de missão, elas representam o Início e o Fim das linhas de missão. Você pode considerá-las como grandes objetivos finais.\n\n&lCorações&r: Missões em formato de coração são &oopcionais&r, elas não são necessárias para o progresso e servem principalmente para jogadores perfeccionistas. Algumas missões opcionais podem ser um pouco bobas...\n\n&lOctógonos:&r Octógonos são marcos importantes em certas missões, eles representam marcos significativos.", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "Carrinho Pavimentador", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "Os romanos ficariam orgulhosos.", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "Estradas são maravilhosas! Mas às vezes dá preguiça de ficar clicando com o botão direito. Em vez de construir estradas para seu cavalo, &3deixe seu cavalo construí-las por você&r!\nO &dCarrinho Pavimentador&r é um &cCarrinho Astikor&r exclusivo desenvolvido para o TFG. Este carrinho permite que você construa automaticamente estradas &cRnR&r com largura configurável e até um modo aleatório.", + "quests.tfg_tips.tools_tips.mattocks.title": "Enxadões", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "Uma pá não basta.", + "quests.tfg_tips.tools_tips.mattocks.task0": "Qualquer Enxadão", + "quests.tfg_tips.tools_tips.mattocks.task1": "Qualquer Material de Estrada", + "quests.tfg_tips.tools_tips.mattocks.desc": "&cEnxadões&r são essenciais para desenvolver estradas no TFG. Eles podem ser obtidos por fundição em molde como qualquer outra ferramenta do TFC. Para usar um enxadão, altere seu modo (tecla padrão: &3&lN&r&r) para \"bloco-cheio\".\nEntão você pode clicar com o botão direito na terra ou grama para compactá-la. Em seguida, você pode aplicar a &6camada base triturada&r e, finalmente, o material de sua escolha.", + "quests.tfg_tips.tools_tips.base_course.title": "Camada Base", + "quests.tfg_tips.tools_tips.base_course.subtitle": "A fundação de todas as boas estradas.", + "quests.tfg_tips.tools_tips.base_course.task": "Veja a Camada Base", + "quests.tfg_tips.tools_tips.gravel_roads.title": "Estradas de Cascalho", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "Uma viagem esburacada aguarda.", + "quests.tfg_tips.tools_tips.gravel_roads.task": "Qualquer Material de Estrada de Cascalho", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "Esses materiais — quando aplicados sobre a camada base — formam estradas que concedem um aumento de &b&l10%%&r&r na velocidade de caminhada.", + "quests.tfg_tips.tools_tips.brick_roads.title": "Estradas de Tijolo", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "Skatistas, cuidado.", + "quests.tfg_tips.tools_tips.brick_roads.task": "Qualquer Material de Estrada de Tijolo", + "quests.tfg_tips.tools_tips.brick_roads.desc": "Esses materiais — quando aplicados sobre a camada base — formam estradas que concedem um aumento de &b&l20%%&r&r na velocidade de caminhada.", + "quests.tfg_tips.tools_tips.concrete_roads.title": "Estradas de Concreto", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Quase vale todo o esforço.", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Mistura de concreto úmida&r pode ser aplicada sobre a camada base para criar estradas que proporcionam um bônus de &b&l30%%&r&r na velocidade de movimentação.\n\n&4Cuidado&r ao criar estradas de concreto. Há muitas regras a seguir para garantir que você não acabe com superfícies rachadas ou arruinadas. Consulte o &3Guia de Campo&r para instruções detalhadas." } \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/cobalt_brass_wheel.json b/kubejs/assets/tfg/models/item/cobalt_brass_wheel.json new file mode 100644 index 000000000..19db9a727 --- /dev/null +++ b/kubejs/assets/tfg/models/item/cobalt_brass_wheel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/cobalt_brass_wheel" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/rnr_plow.json b/kubejs/assets/tfg/models/item/rnr_plow.json new file mode 100644 index 000000000..1e6c78b95 --- /dev/null +++ b/kubejs/assets/tfg/models/item/rnr_plow.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/rnr_plow_item" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_axis.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_axis.png new file mode 100644 index 0000000000000000000000000000000000000000..38eb262d89655ba9d46c9d8e842f781c67227f65 GIT binary patch literal 3543 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_0.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_hopper_0.png new file mode 100644 index 0000000000000000000000000000000000000000..32146fad31909ba743835b799077f265242b5945 GIT binary patch literal 3905 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 E0IFQ0`Tzg` literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_shafts.png b/kubejs/assets/tfg/textures/entity/rnr_plow/rnr_plow_shafts.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1b50784c9ff7c3f4e57f59476a14279bcca88d GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE&ReBL?VEhkc*Y*bxp zU_5P7m4nZ|%M#xAO%7jtXmj&r#SDg1H3@NfC&bU+neh4Z^v7?5J-sT6_ugI6#bo{@ zCf}SPr=FjE_AQ10QA>uEPtX1|DlF9v{rSn_Pa$K%XOT}J2c4?nFyFL#dV9@I#pQ2xe#bg{RR%v}jH z;+3{l8X4Bo%T~-^@cf!>{#G;3r-#)aL@%kl+qU8F4uksV+DmKHxYyK#_s^Zqn!*_A zAU1*Z+Md;?nKm`(C~zM+bDAmp{?+8?sSufzM$`ANz%nP83_ou=aI5_5jY_bd6voJe zv%7ccC~%)(+T?I%kIsf~v9@J#ViO>SMtokU2a;*f5ir*0UQ-LU?q50gA4b918{?WR4kl&;GB~kJ7=fiN*%t?!1Z_S{{CI=zk0Xko;`a$)Nj+i%D7@%3wE@@e))^0z5bJTei2UBI^W=UoZ&U|c;#$nU`S-|ri_ zE0~!6?Mkc@tdo7S)L-V`vU-1syo~bun`cDp)J7lTzQ03WW%FAlqXnsa8C$B)tZ`?E z`Q3T)h5m!Jv-dMk`0(g#I_GrO`0TQ)=?x9v(*h^X?vwvuD{jI6Z^whV)t?Xf?_?;f zxGtA;JD4Hu^n_J$ED5r2{12U9;~rDZq0rjB|7Y+A4V$aL@gzYwzvw}3#pOML^BLu<&t5s(?LV#J^Es2OV%g)9>gI+? zJBWE3`W#)ox1oNHo>2O+&AydvNABlJ& zk9(x_6fr8?d|0`ebDgcr0l&x7aRK0Mi52uhOtGRI!Lw6F@UWb2rH-s^r_ zpc)6$O{wzy_rV{MKK}ffZ~n1Ry9W zfyY{IPyVpYc4>gdhU&V&cxDA&{)@Y8nmqK3*IZ;au0E0{Zm>;B@Jmq3#oVi@=^FQH z#B3Zk)U)X=VCy)fYUbdeRJ+;Ca@V@$m-gK^O|8GMcW=6Qj_MxMe=G{o$)|67*gs_o z`MM~k=1^t!n&cmDZ)a6qo^tl0-i=Sk^Y^R&TXvz}=uP3S1wnlqx?8yg7#?w28liU*^e+DTFAh_z~JfX=d#Wzp$P!_TDO1z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5b7117631f42caf9238c18f8954a16179f2cca GIT binary patch literal 88455 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%0D|?)+&5_v8~_(k#qud?&QmXq|o&z^Yrp zt+ru{?ir)%RgWel96hp8^3X|!xf73u&Ra1#)4O9@?dc$?^~Vg$%hRXbJeKn2?cGbt z(|xV>?Rqoin3UXn*&`CpzxU{@O*=7@IXI^NwpQQ#Srd%{69WBKzPM5_(adJov(%ZZ z7`WJ0t5&T$_xaH5<~s$I?T>d!yT>(}UjED>&XN(|bGgMV?ZS?S4@0y{<8GV3%{n(L zd)*F+r!xwA-GsNC(cU7))puFnE$fj{>E4?v)6ed@8^oi)6IFP=MyECPuw~hTJ|6y6 zTeUoQYDVbndwwv|s_L49*7PzrZR>QanFUihC-Ut6zIgj?6UQ~*E;J_leKe2a>k4)* z-hJ;D?`ug($twrGIk#WJGls*# zmqn*Em1>J~zP>2cH%~&9W2y3&{eK^x57O^F{&LFJ4R2fb&YAU2VQQAebM4TEhqdn~ zcw|^r{R%iKGjqxLtK09MoNZnH;n;2VK(2NFZ!EXik!<}n>*!L?rqI~`AI~!d$l09R z)jOM`Yk7T4*|&MNe;TL0ZAdEHw?gceSy3uSZ5tvsKwm<>4}&Ki|n=wn^n#~ z_?LO^_NEC2CMMd9$(uv1#Ggq>u3unU!uP~Ln6dlUZBMnWFL+F(7_Rtu7;jlJ=T!EV zymvbalYQQG96A+pXn9m-!c?E^t&NF)N;+%G-MqY_0_SIL%E~l9?v{SCY{^WSm75A` z-D84m{v48g(VVNlkC`iP_b;YZUnB3#N~_HkytRTuC++2;vTt%0&v@>Aa{r&q9<;4_ zZFt_qqj^tu|9|#=f9Lw82ajKlDk@t3Zt>QJhYOYRI(tu8-}?USP{GoZX+|beracq8 zTviA6_v(dAOEG%eBfcSEb=Rr@mCJXpU3*u+>8TLJnRqmFtz%~1zSmMpesv-V{=Vmp z3=Hi1in@++EpJl`)CgN2&EC=2zHkj^h)8(HT6d8gku5n>x&+?86P)N)Ehlj}q}J|M z?~Be2-sdliXn*B6R`Ps#I z&f0vx(f^^3kEx40e-Eckzt_$l*TS#5+b_RFPvL*~@?71NlFDh1!|dDthK@=23#zp>Z%CZ4NF+{rxC z@9yex&hPW$y&-H+wd~@e>d3~Ek6nLNaX%4z;_V^R-EwDY6}PC(nH8G7+jD8nr?+jh z*i>chet7y`FuF1=^kts^=D)p%mk7(vo?gzdX-4m+JzMi9aGUEa+`ZcNUT)oY{jy0O zUczU#MsE*Tz2gGY>G(fSuXEn{sjcKD-QxJ5t;i#8j@PdxK}M@ix3Imf&YRch;+=V% z!Dp#aMD~iSQa?IPZcRNEpk*eoMlr)oHOML8$F_524nN+9Il710sedw9xb;cV&0@Jf ztJm+-WqZS5u~g(YKcA54TMhB9@87-}nHhD32F#hMdSvAfg~gYZ7WLmbZh3T>2iu!j z+S8d9*yt}St)AC6b2gix&d%qLR0~}diuQ2cf4t8>&ULMYS7jE@6s5WO$NiVhoVj*E zsCt-Yly6|>uSf3h(w-dHy(V^FOXKP7k1FN1ZWO%qR`$-9lm5ZFqLm-r`GwjPPo^|! z+kFZ&{3EQ+xWepJ&aMjX{QbYQj2|bfOg;bm?+0Pe-svAa(^*sBzd5 zEcpA}eDRvp@67H2UWTSIYP+}b&TTVj(0lx_(%{N8rPS6bSFX)nR_xp4%zx&?E5*Z0 zvv+q^ava-~e0_G#&H`I83$uCUySFJ#^;)z>X}10Xoj)Jze`Yg&cDi2YWzx!CbA6lE z8T%7yn=YMcSz_(EU}eho(@TQq=+24EH%sY@}2+eQ4-@a-|)-4aM$Pz5$CSuPoAra>&!j<{_cOf-PIm9mK6yasxJtf zxAdIOtxT4T?^YUdw{{9Y)m*ppD_@kc@tHF|6QgY$jB|{tzi512S*W-7Qx?NH8S5i6 z#pf^2zWZ~}-(%TVR);1@8jDPiFE#C5>A7hyvpt(}^?SK}^FKHq{1P#>@1BnFW6@b> zC-mLZ5o@0Bb8*F%7c=LlR_$ry<>eMHPZBBll4iNDe9p~{t3E$5*stuZroFR%=?#^s z6F=z03RJ#TKE7o21`pG;m97itm+kh;+}6Rk>b`8!!%`(xv%)_Pg!% zG@6?5c(1m_hYy@->e)-0WsWsgJZ`>pclr$8%x9*Y>=k|UW-Wc*#nM?f|M~vfNo&P* zkG8cHRZ3;+uHUn<|6!8&MF*C(BH=MriEHFPEdT#D-*xsm37h-VKTQtGNKT29Klf+L zqP=SsHia{3P54l%6Y`MpY?SQMC8pb>RtuVPYNmgf=;`vA(d0tTmZYn)=N(xWPW!$! z_42yamloOd-?p!q?DK2uM8Sg(nU9}bYFt?P_T}64o?c0bM_;8Dx_rp*?+8!KeX%ZZ z@f5)|&hER|i!`1V{ySFr?jJ+iI^COE-iz)oUas8F)TP|k=leE-`|0A+sHtj4qYmty zzn5*zQXAuc`R5!9cWtrwXVdWeTzqfPth41@E0-7jQu+BVFK4G$fY!x(#{Jvw*%@s3 z-09A6)OY?bo@)}ztyWj5#UW}o~2G4gixhY!DhS>O17EA!G% z7BvnI(U!y$hf?QW(bCQAWEJw9Kd+VbnBUo=PZuoW4lTbhb7B61-sIiK4KpLGE_8D8 zY)xt|+URKX*0?@Wdg)3w?`vNKw=j7fWmA4EI;E}p|D!CqA4}&NTKqV$&G}CC;w>4c zE{TWUeOP;0rPxl5$2G1w#Dm3Tx>LKE4XD4wkD}3_3x)Rsk3TV zgC?&N&8_h4|5b1~HhA*Z=x3Mz%HOK^ciw-3r)tFA`A(Ys6Bp?m3(?|?(7UmPPne}* z-+B4}H}5yxt~EW9BzvvPMpX0V+z(Tfo>pG^@htP=pYJxAvwJPRrQ3E?Z58t_)XwId zqO{`r)3}J&znGdV;JMuIVi(OW zQIjnetcmxUcIk@hlBH2Qol=W5{J77R^3C#4OO zp8j7b`S-W&pH5@rlC$Tn`Z|stUY?yeFU-~eS-ok~+xCBeNnO%7i*x;g7j(%fz?pSf!;?X~cK;rajPOJP;R6KiUoy(pNN;&gGZ zg8SOU6(Y<|xi4RzexP2Xc3ozmJ z9Yxwn zf8W87q-(xNI&z9*M#a0Sj_d9!RZhP)>(A`aPu!cQOqiIuv_-XWg^R!1$rmoYKD=qi zS66u7irl!dzjLC{+`8Tx<_IR#MP0~Udxyti?b5sETnl>_-sJN5sbrbfqdL_q(dUJQ zc)>|g@iV4ki8CeUKfG{pvLA=YhJvaJD>la8VrQJQeK%iJnd;-cYoY1!KAEMK)>h(% zH|n!Rk8$?T+QGGO%A;G_)0nuH8W(<5DiUk+kaozs?>oJWQy`mFVausWXE_a|4B2~E zFG$dd`pqJ|IHvUO*-4L{rrvnN?fGt#aj3W8_cX?kEDfoNbzMF~5 zW7W*~I=MKvDQnUXO*pLHm)Iw-I`vf1YuES1t_vEc#xnHqPuKAGv^@5G;dXs@tLaC) zE9O|5`R)}nunkh2?l0t;vbL)G+|Np{;LsNTgb#bvG$N}1De>*I^x3BCx>(4|YJ-V? z2G3`%$SG6j{Z`$-BQouHbl{$uv(|dfc)4WJ)a4Pkf)ffh9r?w-=FwJn{=`>`Gp9xt zUFPk2Y&vb-%fzBBEt{lrMPK?%QsB6_@J#dZtZ(mSo_;tz`Oo?Le=_TSU-NSa)|X4a zp1oXi8uQIqfp(F$f|G5g3@q0K*c6SA2AyH@Q57}}RNXSoNl~5q>cT%?XL%HBu04^$ zS{v>WU%xYA%IxP1TYQu%&oO(Z2D$K9tn3i@e%<{+wDyDxdnBWBB)aA)BwYBxWfs3h za6@`$)}h<^@5{d=nLEiG42(KE?N0u)s0vpjpW=-Fj^*#P^u8yC{@K-0&e8CC=lj4@ znike_4b!I=ExOhW$^>dX99XZt6`=-|xBmoxk)zCUx}+Pr0J zwNLLeZ!<`2-S$r8WRJhmYynR7?HtRGol3cVIi#D{CO#tWWDeJwrRk2=zwg=j9=g1x zbQy=U^V%CpFJAC?WgAKIuNHYZ$A7ivQth={I=Zz~EjJ6#xS&z8K%?&pgSXLah4~&6 zR%x(>l~3~dHOJ0IbytYlLXR{96%T3>K?9&PRKkKv?M>>2yEN}CcC$8u1 z+r_0b>#}vjW4FyznBpd}RwVxC>-sMCvJ)k;1vAZM-?A?BviAK|722@JZL@0T)M<5J zbF?ItZ>DcQ>(-HYq_chJx2P$?Ru`MfqO)Dh^}ATsl=4_4vbjYxKmWOfY2~aXL2~ST zGNmo@JIk_l(~o%@{$I3txwhB+mDi<3Zr#c>owd&Cfrnj$$h?Mb3r2x(hETmX{ab!t z(rfDU@G>@bZM1#iRyixg%HL=%J5R8>_PRIEL6P^&RP4OJ*B9Zn-5l{3HoTsyJSAMG z<9*{J2E$bEgV%1qTWD$Onf%5;jpxH{vCC6eUEZ5y_w(v>h6^*K9`{}^ySU~$7JQ)0bLTv*tR5OX-NHyKc6d z>nmjDwB?$Lk=)x_OD@^GcXJGPM2b%7_Dxee_2hQ&lUu3hHIZboo1h*dv(Q>Wp~~^SZJ`P za)+F7sou^CX2%yQ%hx>BuK)UVXI$Ou8BKvd-d*^Rv3>RQ(=NfqQ-oHo>+la)Ywp3Y zGKH&Wp(I<%oRaVkh6zOrfLAR`CTlxejIs z&3p0fy0ov`G4FSw-tPYCHu?*~RvumW?_=_D#*C?IckZ9tYUrII-`VJPl|g)~#!=bp zdg+U*WU}>U9Dm{=nayLI z94f-4zcAyq&*j}KdM5@Oe|mWB7+N|Vu|E_uM#=Am{6ld?P_BYw^ zIfr$DGCTkIP_89z+#fv*R_>Q(IU!yUut+iUk)V3tR-H5R($?rL(zLJK{lMy&*YTBx z)4~!SWp!+u7Q234%2Os$ZOQC8JQX&3JqsGPPLFj=E@HZS*Y)v~Giedq5*S+>Ra1&s zMY`M;pId!<{-J#v`B`I1GSxd%PTdVY&3)d!nTc)M+LG5ydb|Hf?aApY30FTm^X5*C zx3x7t=H9JTbL&3i6UG^Brq)p5*?%ghxn{TGTwep@K-FN6N#&J+nakWVm!137EoM}- z$mIgp%eUv7LpS~2zI5Y(kF|?^`a(QXYlJfUt5g*pR^iUhtAv;4D&f+951Y-c*ZQ13aZc9e(;&DUL-UIUN%p9{aJ^up%m=V4}n^-s`bPeYUo2 zEK>HDkuRyL$@{=jkdv`)S>4H{(>K-sw+nn8sO4upCA(vl|NPE$h8qS(b(Q%lg89k^ z!@{rqzVJ5N;Mk?>^Pc@^j120Y{^7WNwSBYj?Z@9;be~0>K6`zAU+U$Q=i(p5lkYf9 zxZNDo6?ON6_Wr-TI@6wAVKHv!_xzQjczJh2*j~p=mc7%S;;=e3!}sdRw3=u7uNS1(^#yG_w{mgt4^CgDg_^#m5)oHhzlp3(bJ#2> zv`y#cw`juqC^pCX z+M?&1_~NQQw9Hn?{<+jQ`{~u61rJVS##xv+-OGHE`84pJ^^r-Rr!TPWEj+ettJ>WY zpYH5CXz~1;&C#~r?7Mo&Kc8)v7r0_I%T2oQ*4?%nx9^@jawKGrv{&*(36FKUS@)-& z@0(HQb<#G^EGprd#ZNES!zRzmen%~?JD0BVw^(!K#^eM)=?~j(uR9)- zw*6ryqjIoj{E-Y@8ELIVACIqJI2|rtyXqaFdGx#1Dz-NjPFuLv|9`Rks3)T^`}d7C zKfNX~$1d45eSwhBz4pWd>z2!_zgiWutI+uL_BcNaL(k~4a})Q+^V^%W)woOL2z4(E z%VO-RNuQN+iaq<~i?bKEujqZa`0|oZLcAuce6vD1lWP4ZzxSEwku@pPvDw|9J8NF9 zfAFj|h8wm`HsCn9WRe8;Rj;|u`STnjBQ`AZjVR+_))Vo5`sQEdnukl-{Xf|MJ8Y}- zLhp=ZW9$7tz4FIYcg&3H{x`30#~x8{*M}1`pX~hjj{hU~{@?RI)cPN)5Ro>^nGiH} zYt8%W{!3XWYz5lpKi0IEmGAGb?xk5(?NX@0lD0gZBkG~08_y2LIY%DMc>YtRRN(o- zg+d?vvSphK1SKRadwsMt9TueWRTM8+xW}>hx2*Y&KT?Zye?54Z{4qUs^Gl0aT~!>D zR;qYauGpc?pO%)kBq~wo>`cSL3G3qYzq|9;t!=#?&%Z|dbY?);@4RT;;Du{cGq{re z->-lDeCPkq`#GW(-YHEmomnFvHMdM5-eYahasP~K>*wlEZW8tJzkcFrkk780oxz(+ zS1tD!I_kLAt8?YT#}SKPNJe9C$BANH2>aH`0&`i8!h>FH+1aLO3Llq|MS(h z9jA3>e&duXPTZEj8MN`mSsm4f>N_7Ep3k!M=Oz96&Xh~tmqO0n-ZIZ4O^b(j>CK%{ z_0iFdRf`3m-}pS|;$t3@0_)0!YkAj(-ieA{ZT{#^{G+nOQ>J%S=AU?=yg}fnOT%WR zW{-6Js*p)}Cu|&_GfcT`T=MB|;MB(l7A`&@Q^rt`Q(#l(bNz0C?$s>br3=EekM}7i zeRN;2AwjzD*=w1Epz{x9J!P+cWR#e^_EV_)3r2S1m~J?zq6fAqBe5vIGQgIbTOwIfR>!D5)7mjX!p_Whp|P(-$Mb20UxKvdt>RLC{*sGo zRE_mWaPnU0{bc8qCgo~3&vY9h&;Br7m5HAMq=Mf4_PXr%ymp!6VzEtc_QY-K=3+@U z-6D8$jn`I7_JD;F^H+Vo+y0%IeTksE<^{RWV$UV5f}9$RR!YVfe4Kjc=dQfsU1s}r>vRE!1OTk*wPS{YF)J{ zXP2zJDt$%T*XX4RmuT_7#R0o3r)4bPYV>khT=%g}+CnQ$R=OOj-Dk12pDMm8xKLC3jV0gt2xm8Mu1S&alACrlCouB%rZwm2bsM(H*L+X>wJa@@ z$+@~)NL2Ia?x`<#JTAV!QR(`e`G-uFaY!Y6<2$~)VpG1P_53=Wvaaa-owrviX`b3_ zyk~26dv}k{^w?@{t&EGt8>ZxOPyFzHo$Ps+4z-o%*n>z@LXCu>#KnM!;7~1-sSOp*}6|9PX=}ei|%^9z4+G&5vzrd?&ef&;X4*| zXw%0_jA_eKUY(gKY^o8SLP?0YY)F_UfeR8={S%r#f$ z$KKy)da3`tTIa%xDtlON`4=4bH5Z;GaA692zpI+pBCA9BwQu8Nd?PpJ98HR9TzGMn z*Ngvi-D7O+xvJ*|MtUphPOgqxDE;ap&xc8z#{z7CWDkow0msLxfl1b6a!4ug~49zwfI(ekcD>;RFr4Uv`N) zTH=-=*`gv{D?2@FmKsK-IfbbE34c_6R9x<$cJ0{Z`bX;=M7H1G5p={idfN1O`BcyH zzI%N#8Wo?vhVOXL^f`IuhZl#|?M|~@`-zCTZ zo1CwCKR?4%YR`sbX|WyelIK4QuYaulNMcIb$4RYzo4m57@!Nmc^5U)~`-GDzEv+l2 zN;J)Ne!MuqBFBuelf@^)BmJ_+>oqgEkIyvz^Wrb#G`F>FOhPMpj!8uIw#CeOy`@{m z>q*0uYfFSZm6W$jGzyp9weAFb!*c@ z7PSZR_0NMYY0j_S|6_e&>me=fg&#f!Uo3rj;)mmJqi%n%uCD2EQf2AN*XNvDy3(9U zYxCj-DeD%57H4_dSNX6_5IdK>d`CK)=z;S2xAm>qD>YZnlUkXyA!py;c@?&DRUa!~ zE$81|%`G=e+U{HCBF7g~gVjHN;%3a~ky%ohmUl6K?_)h51^*LFyXRF+Ip85;wjE8La_IkX(vB*Qg)#uHW3>H2)VgG%he$wa92c?#s<5}o8pW#94^VU0wfp`9`oS$_2 z`@fm{f1H|s@$O|_u4`+fk3M*rxX4k6-}Z;f#w#L0>io@NGL>h(&SuW&;Y@lQ!Zqvc zvM1j+s}{DbykhCFz*_RBzxJ%HtFo1v(iXd|7Cln0ujAbRZ5vaqf^6{!4RkuG^ZfKjy#-nkx$@KHx4*lMum))l89&*1d z-tqC3>m{q&ICg)#@>y=1Paf;8QmHazJMaJD_x_*usp;2dy;>=(6SZf?odZET*M^yJ zZma)4-_X(FNZ_6~t6qEXeqm-dVPjwFwZP?)9*@(p{x^%u6D*_G-RYX{vq;!ee4z%L zyL)Dc_L{#NXWXp*{=xe9Czp?}W+odaB);;Qd9TrI)>nq53rut;XY79VbjI8jt`9V? z7ICwFS^rAu`m`lic{IsW6)tB+Y*Ke3 zjyhd8Z%QpROsT$>wD#di^|+@;ZmVl-eWl|szQVGgvSN#uL|cn-u*o@@p84UK^IfDD znu?@H$CMu5JHyS^@8P`aKZ@bIre>X68Xni~6qw7wY)y}2 ztv;zM%X7|=Co8pn$4NLY_E;)(qwPy+bq0s%{omdD*>&Qg882le}XU|2G# zvOE04nezQ-&&vN7nRkul*oN0v71!Ol)PLwwq{qkS_21=xF4g~I_;YicKIf+>#k-B| z5u5kSU-ymanp4{2RFnR7PC4#`ACTHIwJn zuq$MFb5GNsUY4XV_f$~!m5lh8Uo@sHGBkDEw*CMABcOGdbxKnO{MRL>tr1(i!_l}v zV|HRfsCwe*f@c+-y5>5}31xfSE(l%7{%}C2di#9Epkp7ms{7i66+Jn=@2B#jKz`-+ z?~At{)1P{>Ohm))`~!8NFZnwdrX)R|+%MG9DE;R}@|u#>U$-rf@nWh|I@l-c&)l{4 z`aKqhfRzF3u6vj+v#>Ndxjnw>V(V8U+2^NDZ`;ASwMee|yL_QksnEYC+>z^UXid)7 zKFU>n-%_Cb+|PeIb#~PF$)u_&->FU3z3Me}#a#8dp2BU3chsuCO+1?x=rz$xMM8Fd z$r|$`7Hfr82MPW9m3N?hxh<3OD!bafwm!b+j|84-Jgm-e=RMPuJ^%W6wp=*0Y~rPC z8PAg&U$=_4R4y0jG|c|_;k=!K@`;Ux%EpiWxPQ6Zv8?-2#k@z8zsH_=^M)t>-_iMx zp8tCs->tV$TItuN+3h?3EZW+#aADkR*Oz{4OhddU>qORY>hJr(C*drxt>W3tatBST z=@#yCFZ+|w+*y%|L?Wu0yy&mJg`@Y!y+bQYhSKa2G+-S(&r?u{X z=lLD4uf>$#SAVpB?RlTVqVLvMv_q|K7f)$?*O^j}!sp0WFT=yzo>Z&JbDps3KPxo`a-#XpHyWmQ$xU2ZYkK3CL zd=z3xe)Mwd=c?Tui+bFQr(BeX4Yjloa-!Gnv5Vfypiw@%Bidu^Dv|8rW@*TA|T&AB4C zb{TvXG}6>BYq&M}#25S8pXWJGrRv?RVpjfruW%~E*+%hs_N&A4Zx;PDHDZ0?!on97 zwb_X+t544L`7`0wQq11xZ_6y#Tww9*+iVu!&R55lAKUR|S9G0@+qXEoKb;SauFhl& zJNW6V?HQktjIBJ})3-EEo%q0bvgxIrEE-4ug&$ja-t6FsMuqo4i~ZtizY>dU&q-pwq71(?2~Z{P)fNKVx~_ zuR5ocK)Vk=0__S;bA3NxA|6+(8~gUI&F>e?3vBMyJaw&j>RL9}LeVYPd5vhCgM@TL z(*J+ThU@EJUaAx7REcty*m}85O)e*M?bBPc*D1Z?x%2VNI*XRxxas#*yDsqEnXG5j z&8vHL*X5txzdoFQwB0?yYwgV`_no)fXY=RsoccWH-TdRv_k9pHk)0;6_v^}B{UZq} zC3|-Nx5(&iPr5p5YGIU6sA)i#`Mru*KS#}f&)C%&4u4C(ugIetcCvD@vf2`-%BEZH zmwS3QR_uHBZnpWNDa-cmjkS{Lofwp-;b%VaY`0x}rO;B*t!@l~&lN6Qy?oS}-=_Oo z*UgQ8gT4nQ+}&)jP&?t-CKVBz?>CzDdIRr#I(go(U}k5j@Y>eg`#*o(=?y4&devMY zHgl3k6RwdG+*M~RrI(rTKJ7YFIX$rYyXw1tKkpaqo~~%pW}P1) zrhT&FR`TObs}Drw{XRK=QE2{$H~Z_jvvvP}jpko4<X1f{ z>Y_(l)AS@2p6>X3apLLp^DCK-?EP~rK<~Q6hTji%cGQccY2W1obcq+^9b6!jf zD7g7_`sA}I5>k^UY>QjH*o0@Ul$cch;&ZIpLJLfH#>{(reqT3dY~)2Q+1tUh6ih1a z$=p8h-KOBik>l@oODq+g|9hr>*RS>0esK23|6IFY%_OmBW=`aNSzRr&^>3H&UflTp zwC$~br*ytP(wx$5VWa!^e^jGs*UOn|_TM-EpDNpLuX1d?h-H?X%D3HB;7#$G$ouFPhHx z_W0#l+gkss+`7$b@ww*A6O|~M7_(J2XUHN!n;yq@uTzWw}vte+Vx zp1qu_*K?)e$$?GHJ74ZTwqVNA)q9&Sv}KrVjpDs{aq<>NO~VBo4JMQJ94}@$z0}A{ z^Hb}d;QO6UwasO358e{~>$p_mZHrUOhu~sU2G81_jWNZE^Nm?5{$5qy80ezea$@4l z9aX|}e7mn+xIMT36Nkex?b!xPu5L1Uo%*N5uOn2#oY^r@&+pTt)50}xlDA)4<+~yI zx`vsFi}E4cw?{(?13oUekuLu;(Z=}Wtmt>k3@!VZqMmZyT$24tbM7)zLs9F3)gt0C zm9aJRrv$yJ_@n5y|7-7!%={e>gm#IqQ!5EcVtsN+vT4&FIT8QM|Lnq9!{YzFme!33 zTNi&Iy#BH4mgHHgn>cT-TpOIqsXPC66?gf)kBn26ubgYC@l$m* zXPdj0B#KV|W5xCM!76Sq%}+mh1hwBSY@c^X!utl7q5F!2P(CPfdwSt9$EQc$;KlmuIdjG>?(vSDlS5$OF zt!=wDYhkeS$E`7Y^wcLbU$Xi7Wj2$)MP3W%(MH!D-Op8y+fJ|hG4Gl3_n3}rvv%A6 zaNJe(>xtFfCC{hNt8I91TWYcF%d;X)v-R&5n^+%RZdWONEMngM$_ZI(PufP?pDmaF zdD!C1``1&=^f9m?JhK*`s{;a!GR5BO{&+l{CNB}71T+e zT;i{M^Xa*>kIzn@FW$di#Jui{vCZ$h^-4_kYqqY5ESK9B*4Mjug8zmOZTIZH zmCeo-iMpyT%_lIWgMr)r&-(iA&{^tol^w2kYnynq&z?GZ_tSx`izdEOygh?uZDsEJ zK&R^>MR#lE)gQW;WI4A7-t^mYY00jtjmJJ*G5^nKbDW<+Oh4|_BUSAf+3TBb<2xm4XCEEq&N#ny=lTG?HJi3ad*;-OLcRpV`VK>iiiuINUm$sWJ%RKGtfP|ht?w)dNvnZc!dZ_1w9 zvinW)P%%7Ka8XtK;?=v#OQe^cNSnOp_c=K?_v0V7EW66JBFu|VzA<~d&Xbes@#W72 z)_&a?8@&7fBcVlNO*h=%*~p5olevajI3`-!w5o1YKLBQAtLke9!uen6$Db9VUF z!jElrQ-an+Y@f7zo^1!yyIs%I3f~_4^vBrWA-BmRc0~;D$zQWof`anmmJjt^r(pQ_O@_X;~CkJ=Vu`yaTbFaQpIs4P)+jzt06bt#+zRoVT*0DGyvBW5H z-Hvx@c{|@bM<`o3*v)=)F4|?o<;!yRKM%%t7JqPwmi`@o@2OYTG~ey_SP!W0|Dif7 z@x+%S7DsPJ_Ha7>HvC?H_Z1^&Z|)o>;j4RsPqw(QoeP`%Qe^hE^}X7Rxw&~y!sf{B zn50p~yz^D_gx1VRJ&Q70sC2Easo6GMry1BbGthis_=Pq!D!`ZM*F$_$T9;}+`^a9um06gJq3Yfzo#{Do zZKiFD4>NjIE-|Xi+xfJ};nD7}N{;S3_Wsp1Z?pL~}7Zzq^q!wQ*kzfBnDB`(0M86&A^mT*YD9h+7uAP#Qf%Ny-@bj=J$`h^$VXmJICke*QB1$sXoWJW?In37X=K> z&nu^>pP%q;2D6c@*n+KHtpQIip8i?2?|8d?0plsHSDkiITeEs%H4aaRWY}x$X zhII>@-`@Y-mf@}-eSGQkSmEjXh0p&UI+xx#?LDvj?)$d2-X9N~j^K{Vv#VPu;GUe$ zd{Fj%u|U9C8S8}A%FA#5eHY!+)BEr@(~rAfXU?CrH%{|Z^YIHOO>VMw-?5z}^Y>$Z zov+C}rb|PkE=0+f~T<9pG3i;=S9v`0d*Aou`;zywf{y$)-?Bc*_i{;+~TC ziTnQC|8|M1SEA9dW#Pij`Em;^3Jdn@*qJ{%_1Wgy`d9t3@oH1cR_t*xn-`|B++9F+ zdTiCfIf{%wbNqVZwFP%>Xv^B$R+wtER)pW~hsoKn!@akr?XLcvYc9mnm>n@`+i~-I zmFDkcO!&-i7AFYIxg8o+d^9wC7YEa>-Bye@w!RjX`r77^!`>DY`7T*NN{Dm*ry~V# zWTs52tAE;4zph5phGnU!{O=2@5!!eD6-6uvn>BHZl($v*gMagHSf~pinE4E)=~c$mZ+W^+Jpt5e31Q929>v1}(ALttnr_E4?i#=D7Zs^LM>hf8cWZR(0RH zA^*?8^%3Vi!|zvJ-^+KS>DLFxKYdFzoSI&VuqZ9Ov+<+WBk6UfODA65v*T^ybo*0} zc7K~Zf1#;KPwB6(QJOZ#=Q(S3O@5p*>E-4!@0E|AiR%|LHcDI-zW--c%i)C&_4og@ zHLnT&_0zuSJKIDi^J$=V%Z6hCv*t1JzSRyBG@B*jFH_o`V13Q$(B(g0=I`q^Y%AKR zVp_lSMM3KP7&Y&$Q4gO?JRG#^@}jr%eV0dWUuCb>o3S=|sX}(@JV(8`(>_fVHoUu~ zPLPV``B8QwiNyU_Rij8@4YTk#hWSxAxrq)zV5vR(3EB#}Yel@)NylB(C?{XDW@4eGA zTNCfS)#A{?;L=Sy`K~|JoamhVZHi0uySx1MJNxzj+^H|W)zEe8rDM*OJ^8$eksVnR zoz1RY+W62*>hi>p*~@~oKK<&x9jH;`zd7k+(6hBSIk?>T-!Ll7y^>;7w}v}lUFNN- zXA7q!W&KcD{r=aH-?tfi_U=CIw&~n878AFAujz3n>wW+A%uM3Ve)_&jO#kqC@uUl{ ze;$|b`>)rPz1B3Q;^oxh|L6Yy?~m{{n|kp4(>uR&cmz(}_tN`+!~Q>W{nxkh4O3&U zFnzzb@my!9*NGV2&>vUa>zkdz+viMeym?aa*6!zp&raM=@;R|x-oEE~rOnqs`7#-;T}MZ0{;NrpwsQIeJaY zX;;)1u~eO}3z;L9&X_BzcK=VQbmwQ^?=fzC@7yAfK0GMgaOivOwfuc2O!ZIxUF+YI z7~4`-@WJAH&ChaBOXYU`pVwutU05AAx>rmLavSo+@khJnJxjVvN9j@;+{cTI@+ zeCYFSmbtDQzc$OOPxM=8+rNC@&(L31&v&g5TNfp3{A|-o9xm^tk?z^Pw?94AtNCgm zENm!uVUF&k_-!(&I&0G=m(Qz;IdsI}N%_Bb@&O0#ZePDJYTbmh=_{wL+PGrnwOQHg zVh$|xjX#!PQT%28hD6p4HUD2ej^JJxm{VPPEL2AHWKU0D%!U0kIPPpvbS`u zzp0d)ZJs~tbo*Vu{|A)&4QwrqpELA4o%>h)oaEZA8|o+iSs@~Ap68(1U$yw$?Dd=< zmQGz1)OjkpD{8BkOTa4s`KI5xH8|ARQf-fOe6j6aZu@RurRu)rKd;{ZDR%Z{Vcfls zBI0qo4c2uvbO)_@II(^HVF~AzCTB~-(W=}*FE&`ynXSo zzx;#C-~Vgwj=y_!r82wck7B-WyZmdc?Cw81>9`??sf=4Vl~?)q_Y1ZgbpBaSDVp6A zle%hk`=u`?>+L=!?D5mx@N&}W$3d^&na3-0M7^&U_+VZC>2;XKs;=4gwe|}#=GnZA z3!U=%Y6Va6;<)ttyYo+aYvldA^8E4LUvE^mq~8{9aTKWcbdTKX2c?q&*3b6BkKs zn0B&=dqd4b=4_7K6UFO$4T5u$a!&k>{}XKV)XM&Ib^W0WHzXPjGtM9PUivbA6VDpe zxu*?lK27mfFcmX=a?$v3#k}_CmLhvaH+-LD%QU{ZzKFNw?Vix^lU2i=nNlvjEGU&EG91E{@uf5m*y^lyOdbSl9LV zTGnh=b%lai%)QH&6mHGB+WKnRu`>}o*XD9J%{9I3kX_?n{IK$K#HIU<%SHD8Sh~NY zUh2}NiK{kLi(UJ4qko<|oo*PqI=jGs^?^nXgD$M?T z^Q*So7o=WIc2dqWd9`QL<4C9LY;QBqE}b6N`CNUY+LBv232PTFE|)uc^5jnLi?d>a z+Ab~uRf<-_!HYSUPaum9+)!5jy|-E@RFA{eQ}00=9~6i>pqS`R3WN zzVcyf?z?}QVtSFsR(*Xw@s*I1@7E`s4ijTHwOqT>@?^=o!*2XM3IrZroR-AdK*KOxF+P_&mnfGPPysy#u2cj;1(wDQ9X`eV*+1X@OYSdaW z|NUQQOvsMee!s-ECthQJQEu){m3hJ&{~T(sm!0dA;N`qy$-LeFAJ1R7)jvb`WJ%l8 z>}!op#>@RUt1nFcQ*yKGsm9V9zrWqSBExhqYg>TVL_gJ=dlEBsViJ27#;s?L`geY* zjK&?76lc5n$!}LpjVXBebHTF{7F-oSE*^hum?&1L;BWt1Yu@be3zx5Rhgoo4oamvV zarVrK;(|5%7l<}&HHkX(nIlR!YHh=kbWOiL&z3h*O;g0Tww*PUKl)Jf-OftYs7|F1 z`n50hH%3HN&3|m>Vk9%|`Mk>Zq)ee~r@UQRiuN@%`cayCR{w4OeQeh+ym^eVC^t5w z`|_QVvwtjdj~p=H|6R*GcOSR?L&N-&MN=*T11V< zbIbO`wM$Kny*FQd@^gCJlPgcGeWtzon0_{qFNw!XbKj57uV-%m$PT%8>)^)Au7Rrq zXIQyM%Ek}z?^KN9BrGD_Zz_sDprHm~=6)RMu7V#=kSsTcUJVT~#uVwVdy@_Negf)Vllc z9;XHrJf12ZFn8{QE4!EfIN|@LS=#PVrJeu#IS<%O=F+2%=8m2{>( zI&ZbB+&u6|!OP|Mp7Sj*D!RmE^KbE9<%+x!XUUznD>|s++BQ-Qw`^sAX>M8ziQ*IxTD1UeU;q zGtb|^%4>_ny~^LZ$J+b_qr3&$wlGCLXm9^6G()YC^PH9W$D+BdCi9s0z1#W4+2;Qf z`-L$l1(#MP-Ir(#Jd;)xyTAE?NbcLWKRD&5ELxs#H`8ZU)m}Msk+~LCGiILDZ2xs$ z^2#q$<|UI)-jI~co~tus>Gti`_m(b-sL`9D*0*5QS1bKDRqADIpT*AfYl;Y-l~@q9 z?m_jXsS)cqK0Nm#P%gOI4HPyIb zP+)3ao0PrB(dBux=Jd+K-`rEYC&v^f>c8A_e6xPvrli0oXJ_BIyVjfkL`Hd^?T`@)h4CdXG8M${@m4Vq%iqx!QWc>{!aH#1yBC=zVzJC zR;$0i<(thdZp(*88NS~SEj_bxQdEf6$s-#NCoJ6TEY(qxXBU;t_x@(H$0p5fd;ZHF zSdi<(ePgLePW_vO#aTC_H1%#2wYJ2~^Z)(nsZ4#Q_|}(_)AZiCE!nkTUWxr_^^4bT zyRX_id-F6SvD26D|J$YWY4f2CYq#GOex9=RU~NQdhRSY3MU~f!FI|#mNfBGCnDo^4 z|CwNuS4?Vbi3fDI-)}Z#^tb(K;kerM^3%IfnPvR@#8Q_FS#4k1Az^lQvGAADw3t@K zClhUjAB5y@SYRl!nOo)k7uVVA7l%6?n`fuE$Ah`=(U;D}hV1q{OlixPZ#)y26P(Zim4J4(3I{pPYMyiDWLS`ebOJK)-- ztZhmA90a_cFAEa-cmK-m0}p`RuF{KjYDhfM#|1`@RBgC3>^`?RneO z(j_ATA1p3kbAXB8*4U%|J8RC}qSgBR{qV8ICpcu=xzDx2RZ@nal8Lb{%)NdK4WF(NzHctMYq{wveg=n>We(`&)%uG z`pyBNH9=dJsV7Z%`t!KF)oD|Q@@VnZ)4p>az54c;*)M&qdd9V3-Pif~teiLB`MUCa z@O&BJOoQylCW*f{`v>Qnamb1Hy9W` z^ItC{dwlX^-afypH*Ld;Pr09}ZRh#b^J0e==f0Pfa`Jm}O`|mJwww&rKDR1jk5RPZ zY8%8;^evTsiH6*T$?kaYkP;y^}@HuN_sXIeTt; zQN_LxX%{A6nf~V|BBR&u;uBG^wpx;6zD0g%?SThR#W@X6pIkk&#ouVQE2C!kRI3k% z%9^~UPMldN&J(e2$H#BQGnxZEqZz~Rm+{N4Hs8Nr_P~eD|C26%4j1B2Dp~#Uru)CI zbEFrG#uUG{{kZOm*3?J)LqF;k*|#X}`0iG@L!7z($p8O4kISXhUAIwkPhOjN^O4>m zha(=Vm2-Mkrc^yU`tT+HzJKNs zt25Xb6EiMw#V@#Er#aydlMv&wU{(Bod2F_ z)oWYGruf<{S1sd|$Ht2n6{oXhynJlfw(Xsqo8R0e50^2!Ugci%bldFbSx<`WpMPLn zYvP}CTlD^}v*PhBTbs`N^!4wSl}}r??1S>x1WxOWE7FS!cr@1jICCoPjO>PMpX|%{ zge9I`nI`kyUP@oD$H7wFU;EweT-_+`cXxMO{QA~g>+@gP-!JZOnNhQFa`yT-$AGy9 zT6nj;l}bF?q~hK-tEA-1rZw3!*4O;jSjZ`9ZF^WW`dRVaqud$#KWui?cIel?++%}+JFj=XTdlor zpI~c}johBZSUJ(RT&Fm7&M4mKbh6_+TyFF2f=olQ&gb3FgirU7hF8@SwzG4c$>CMlaHqQ$F)BWn(yo4bUrlM zI(c!phTKhavPXHU6U^LBe(U&?i%x=;Q4o8GHuu<2%PUFCeXwkO-P zZ^f?F<~b=T5l&yiv;{tLi{#4AUC_d5QSrpU@xrWXp|C4W@ArJ=N{W*D@a0>0(u8-1 zbfX_#Iq+FzZCdxtmy&5}%R6qZGQR0!le;}gk9nE_$B&h~&(|eq^VEMmBpH?XC8Xo4 zz@l?*OJjtTL0l{`GG?}SMS>SSW58jpXKg-A0}_FZ+t2q*Aq7D*qbdDTFDjP zRvw?@HNi#Y+M!dS*_rw84=~wEUt>1-aqRV%Wlb{Mv+TK8+){k!}=pS|Eu>vElIpU%D3-&r3RQ+mDq#IvPuuO?N# z-nm>-UhL|$j=q{1@1 zd31Nbz0;BZ{7qsSM_+tlIrV+V(|!GmYvq$uUpPl(FR1Zdeep<`+arx5QQhBa*K91w z+tqbyrlQWJ`Tt-1|J8fr!_>C+a({2H#~s?YKF?UiCZRnyKT7-Guj%z%_rK53IJscb z|1WdhH$=SZWpfnp(swq})ZLf(;+(VJvbBqulbvUsWmsx*_w%nLfh(UEAI-7cRKETW z^V+1)c|K~ct0m7YT@|&l?66f(=1aRP^Y$1RTIn5F>^=3;%P%o@{2|(+9MLspd*|JL z+0g#or#NSkSbs?WzrQ&$OeyWx=RI5W`B`Ab`2~%ufB(AR_3_EPM6uHCo1Yv~y;HaP zwP3&`HQSF*q;q1f_cPtQSKQSd-u7|xwrfTfF;2{Xxo>NRJ8#)LDMYLFy}HH?p*Stq zvWr<4>?Fc(eXfnW`BP`Bm+8HgTQ9{Fo@YO~?I~mL%z12!Invq#>#PGimTYmWl#4TC zU-w9G%IOSy$Et%)i~@_dW+Wb;Z10q~^R@WB=Qa)O`#)9d>28my{=L_T^O)A9xk`^k z9xwB{Rd(LJ@raLC=Q&#ex;IbZko`Uy7Iv~0E*>reA8JJ;kt zpS?)BVd>RLj`8#C)jMTtMwFne>C3z?_jYu)3r}OCg*QR zjJ4mlyrTMi=DGMwB`e)dtTa{?^eyFn^K-lU&zHOF*aB|clHBs`<0Q^4-{uIcRNVc; z<~n2Mqr?^G?LMw}^U2{*rf6K@U*9E{GpD@2JWKajpU<^tF;%Hr>35ziD1Li8Tl>h{ z7ZJbz<+D}2$^UmHZ}0oZ9;yz))4bk^KCN1^*qKG`-&)~-1F7O`jz)R^KDIh(gWihJ zoBtk^Ki==HGC8L1?^>0)$t&kb^{i%#6!+wiP=9~_+uiy_f&E2coRRDIypdXCx+Gjr z{ncXq_jRo)*B?pnnk6Rb~$V7i|8FQ-rD~tb`s`@SSjK!Gh?YFNBu#j%Uh=@ zPhGKt?VtPpKc`h{=7(6dZoR<4bg$xfuSNL3>#^^TJ(}LT?8;qReaFR`+_o8J8@+a3 ze0Ib-Y~R|s?<$p4udTXncx}?zbj#vbAtkpBj|I(|%cwB(L*)L-W^HfnKQ2y1wb_=1 zPb|*5F|QRlnR4mnn@Dq((2FZfe_nW0C9^Yil4Ae6xf3PZy$W-Jc5n+WSLE8c*l*tq z&J`lpb7LD#+v0y;%Kh_gy{&`NOT!D7J(V7Q{u#g1eG8vV-p4zicWX}1p0mHuaPv{A zbT!`Ghk`$ySv*m2;pA`k z;-*~6seY4Kb6&hmA?O`T(zM67cxS(SGvVBYm6z2WIj=8BekkPgvLxqsT-`-WH^IWl zhVS-l0g|#?7>?HJKRRyiG%;gx`_wmY#FS26ad{&;zxvI>;_Rzj25qzLfBxJduV8g8 zXJ1Dp_p`i$;x`sn(w%xv0dj7Mfwz?RKfCl}VMO~g`)~XAyTvRnOZ;}${%7WeSA&&q?*FV4f^L02u62c}xiCq}H(4e%qAYpslH>oj zWv@H--6TAIPpga4!PmR*i~X$=NnCwY*8HxIDaVhS|Nn?GUH1uDJMDu|&?N3d0_Q(x zm`Y7zQk`7L$*;h}+dWNBd8XG~Q&Wj$YR8|Jt;&d+u;awk)zgk0$W)u&U2nH1-*1Y^ z;~Nc8j+;dnOnvlj--(&tPGVArw>bxWm!F*(z~>x(Rp9vNd`FMBRt!^{)`si4F8py- z|L!UIKi>{#oKFr6w~qgF_V+Uf?<1W#_5TD`PdoMDdb4}C$eTdLmmP<+UiP@JRSP_2 zyuP>SziIg-k7X}*{IS~dEu(kdp+4Tiloc(mi9QbH)s2S^9c8)_d3yHx{Z1~y*P;qv zAAdi+`@*c;|DXC3)=XBPUcI#>(LQtfs?2BWwk|d;|TBsaaXp-s^VoO<81U-D=tZogfN>x>$)(~tlE;SK5(3D4QdbKc*; z*xFly?Z-a5d|b9lY4cmnlf|}g3*RoCKH-DO zzW0SsZX^cP-D*8Di@)}dy5f|R2Y#L5h-h9e(#V-|!cAa-jsKQEYY+OXa5Oh8xMP*(JHxu9 zcP-oKVl1!HbHA`8OpC2FJgv22dcR{tB$v>y)s~I|Yaa0Z|InM>sj{o?sdoHQvyU!& zKD$3(Y^z_U6{g)2=yLU1%(dw&)F*db-XHRtVQ1yukGDMaB2GPMOy2U`_)J*VBrc8q zS2rYmB#xx4KVcbL{@eD-a&?dLuT6$`J_yh6Y;~Le^PPR-#yK{|B9DdV=H`B}oVIG~ zv<)UKw+^57Oc9&r_1q=*{d4EJH~;BhJFjo^dp<+=bv1ipAX>>Zq( zlXV}5M!L)sJN*Cu*6;HZi)63w)&H~l*6zbkTIM)5u^79$rZKQ|@(3-_nHiWisc&uZ z+_%X$r`4p~oK&jfJuNqq&pl*W%IQfnCU`I@2+lkrGokpHiqE`v_jbRkiwM1H%kboT z?Yq75?^vsB`3;O^%T`5IuKoXO`})7S8XcQ0vtGZh__k5~;zYISCyUPhsl0OKYU{(L zd)xUYsi}G`Rr>ztq_~C}=g(hNUQ3&v{EO9E9ik<8RMM+8v2)Yz_tiBGS2|P|ZOs=9 zyJBkk==V+S*Nl3*A3geHynWi;=yHzF;@w9I*_JBwExrHn*|c|Ech<-}e#*?eV8Pz? zDhex|Re$A5t+CqwZl&;Rt4l}DX%1kzVF)mx-hSqcVqMO z?Qb4_I(;tv!xKZ157(;OGftPX=^UJO>jrN{U{2-cxy#=0*zNjK79z6n(F_mwDZhTb zv?;TAv)OR+Ip>oHTyK4UpZNM9GoPSW@#W+1+8AGcbIBHZe(0Lt9H%KKe|%}~J}wwLS9Bv_Oq#cRwqfxA`UOG)4UMXKnfCue8&<8ma9!auEc9J+kBmK(^Ii*p6+**1upUjv`^0$$gxfC(2=>dx&34C@}xD7 zvg7|NU0arOFI-7Fau-|5!>7BB`sB*{%rOv(*r;FoYyaiT7Z0{b8drS#sNT6)W67Mf z`(@cX)_b_mx$#SH=P|cQCX6EYe_p=-_@Dki*`tk)UYTBI^Lb?_O}uu)#PO6@DTl|; zlRJb?cyDAYQCT2Tt6m)tb@9Rtj&r60m6}l^ODo>@Zf87k%rH=-d2`u)ap~P% z(gscLJH8&MyJ@y@_4yOm9oDJM`2TnBq+c>tMIK3Ny=~quYee&0D{-WdDswDQ@OQYiJ(zE|e7MOf~ zSI2N^$`x+zBgaiVJHx}*DfkA@Or9PU6#U3u?tkIUDO(HnELUJ!rq=AqtL`VZQ6t2S z$<-@!-?!@h-uw1V3%_3#{^|Nn9;qFfH*<}i8_ZVjO5RoecG9{1PK--U*uTF`d$WTx zB3VO~lfUNWYbL!UMNQF*R%+4HryC`z=q0S(BFp}=^FS)&k(+Bmbgk-7hx;6xIYY|a z|HGuy`j6&bzt3kX5-8%`#eE{hSR#4Hx^3LuOBaSYIBkFPTG4Qtk4WK~^$tsvyGnCY z9`W3D|JGjm_4<@qMIZbdSD(3jW?!Dx#A|)?UT7bz7c^+t z*hccg&h+bXedQ&FdwnlVSJItWk?dkI&;H}}m9q^d&bR%={K!JBE9HZyh-*y2J)UJg zv${66S)7}&j8ocd{c->JOHrGD>}zj2xh#5qP4(B>5;+y7Cb7p=%v*W= zoY=lAT}k2Uo5k<7nYMlPw^xGt_iy0JBvpx^}`QCy?+nbF9e>MJ=;8Za_FBQ8;?Kv;TIwMUbj(e z`H#N&I#$cC%zUKr@7ckA;hA}H)#>t9T`SI}8C)}}ekrs_!)>S1jCFIZRl74Eo_N^o z!c`(t_~(Y8(M+AMrC)76+1ItJ_*TBq{_mkSSnQzuU{{1Hh%b<-Ajab$1H`u zFFXsks0DTPct=)gTTHTXygB{&-8GY59Nb}8ns~NM=7o~5drZw`k;bO((Wg| z`O>Me)S_(7+|S4Ox>k!$jkRBDqQCd%!BlyP_P!*$y8C}uSRB4^LEyZ8{TvnF8#~j* zcYl97)#AdMoe8ZMZO_cuZ+G#Tn77K+MC+`fLX|Go0YElr^+tjdi$Bh=2+ybLb? z^rz1`#Yk|bMq15hjl6#^jBFT|dJ6yIlbiG)RLj-D%(wF~k9wc{!u9K?XI@SZ&=Par z`s9@O_7<&OqS0}S%M$_?-Ox*)zk20FMunX*l|0iYvB_qyef?QKopDM~6T=(tO>38~ zTjyrP&Bq{`5^#L$)=Ntx-MBXGsaVh-W43JX{*EPIO`K=CDXq=O$$WU@UTot_?bT+s z!R~q|$}aO>c0PMZHoRVBt!Vfe>+@?D*OdR=b#~61cgvo+tT)MD+P1cR_s)mU#2DQ> zS)RB=w_cjH{hsuLXWr|S`;?E>y-1tVccIX2U9kI_>Nm@qlAag~|BKPf3x1?>IQQX7Ep?Ckl=Z^Eze(82ct?3v-~-c zvu0_@rs-Ffq|Bb>!F@PGlzXz3ZpEVdj$1W8|0g6I=8ZNFIi%(i=o1^O8~@|){ii#p zZ=2Amys5D5Xz}w&>sKeQSls-pP}pO#(Bb2L0`3zX8jng|ayrO+%*1C#p<-sxk_*-i zhMMR1|MQ-7WkPB3f1PRh|DUE`2t49E|F`rnwxti$bj1u;DwZB}i*FP^Zs<8_f|}=w z=jYRkr+BGK^0KKc6`Gkd?P20fn>nR(J7@YF*;LpZ!LsR3#r6k(_ZC$+T+=hykz{fG z$)N?Ob~^Zd4tLwF9n{dGuwc#Q7lFb*KIE2f_-y~b?XQ1s@~vF&Ioyk0ynD6mUCaBG z=6o@cEq$SykKLv^CeFWGGUN5~__ybT3;#?%Kk?*qiPEQEU-Sq_-54FTSjdRz`+wm|>{N>c|ZC$RLj`DqM?0xuP zVjP!hV$aO!vF8#BXP9_;c&l=?GX4LxcE7Xb4c%x!HTsx+zOViKOz?S;OGZcXt$x|%%hvVX(qKznx${Adq)OA3E3+TZy`kdj`iRSR zXVp>;3jq;@*V5BOyq}+4ynpfOlk2AZ-uGdnpa_M1FP*M=`f+xAwf6-!2t=wyf;SE*Y@3?hq}MnSB0w(W3|R zE??t*TALWowq|MsgVm$_f6v-)n4}&*|9^VTok-q^m-ZONJo+JBJ<~AL#I9)Pv$uO| zzTS>kle9awaqa619c=%P&Z^a^zJK=I*{)9GN$Yw(Rc>kh_D<30XOvn@#l(okbpfk3 z?)myGyJzJ|_RDdZN59qno?)3QbuVm%wDrNap00Y9p65?GMGEZ7aquYAI(nm9pMB{G z)9sC|jn2QB>3(8d;tu$?xj&qjz+q zUthmCLL*66MNKhG@K{vd&l6iS)}A!Gmb~`qxBrig8%ig4o31o`l9lb$vt)`&ijm~? ze*MPHOI{>N9Gh^GljEhWv8dGj9m=z-e_Fp)OuKD8!)cAj>(-xBwYVSF|2b>D^M7}} z{3?di)0+OrGA*4MVf_5pOAXfee~5R&aX*BFz;^yGn?Moc9l7RPbJsF$5z;KQTbeYg6xb9oN=j5oI~y`~6RwLw@pxxv_bBwxs@e5cX&pr%J2P zu_ZM>>uc>2{z+!Pkdxs%?zbkbAR_Dc;s~=V*Y|x0UvqQAzMAShW*;frY2E6kjh9k3 zS+1ElWsdvek5SyJdM*nCp8VWiHffm}&#FIP?^jG{6h7W`vqx3r_?o)3Qij_buDO5X z-5ygc8{s`kWrm6BCBgE4=k+Hq(LClfX-dbVj#;~+IIE5ZHhh|tz5R}PamvDgB_jTN zF7t(%>_7i*hT6>MGfsARn0uazEnb&))_eV??;ip;E;}T{wp~Q;o>1n-X=$EdWyq<1<>Zq|=-wBC7k6P#6+44ilZ2hf1|GDqqzIm*_zohzs>QWK^H5JV&x*sp@ z{?~J8-QP!D3uDuls9k<@smp7Xfd4jmc9YVrl_r8=oJkX}N~MZ^y}ayq^Y7EoXUf-a zzmxUOq{pz}YP;Pb>-;@llep5FiyGg(_7`N>J6AR$HFKt7!MEPU%jex?N_efmFQ2t< z_oO9#Ri~G2eY(QNAp7Fmi0l()+Z&q}Dz_W1yglQZk%f)NwhNk7*RR&4x%n!c`YjaJ zR8pIFRrtpwo!5(=a2-ACJuNXP_}Y)aBL(T|5i@;1?6m(Md})hIQjpZ_?3Z#fMWx>+ zd3tn8YAy4-oW1W~c)UV*Ftgs*?MYv`qF&GL+@du5q(G)?t}pN9B}sRI-1XWCIckUZ|9hj^V>l(|^OV EUElGZ_~ik>%EN&^)?y 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png new file mode 100644 index 0000000000000000000000000000000000000000..d8193c8ae33c4a47f5b633178ef77be98cf883ce GIT binary patch literal 25130 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

-n9DX z)ppAzNT6m-MURJ};xgqMycPTPAI$g|y#L33MuvZX`fH@F=lxYe+5h5*-uYXf)+hv(KR)`6;T6MF(U7nPy@e4o z%^PyU+XSOu(GZro&fkacnEG&bLf3vb+UD&`cC zNl-pEGgn|jKaX|E8LkJ62mI^5{y#YX-@)_`_y0Yq@A)))e`opqT6X)--{1A*)u<<= z#rL}E)iCKk`?tMn_l^g=uej~GM4FT&H>Mm(nq79&y=Atmyw8iHc^6dA{7To~?|J%( z@9Gw_WQW@!j}Cqp(wW|*$Q*QLBCjFC9ma*s?dOte8A{tMwpKLV%HN>6^k1vvK`Dnu z!H&Kp+aGHf&dsl*c6 zG(mIYM1O-+w%iJfMFK(_>TLye%nMj%h#p{WnE&g;eukZ2AEe9)e&LWK%CLD)4^xDU zU)Ho>Q6@(>x7kcA(wy_W9eX%~y3XF`=TTz~W=mv9*{$p9d45k|rIt%o6bzS`R zJ8RR`fDKWaUW)ev8AQTT!dj9No1T8pjpkUtk#S|E`P)OGwSp6zPMXQdGN-W?%>Q`Q z|IUHi`;E^f?J0XJ694B2@1LXjfA@cXJ1gmxz>V#{JsdS}PHCKBDb}|8DwF5}lW&W5 zUAQgBaFW@nqoYwkg2VBE%?zalJW7sR|DFAtzx7`fg9&5)wfch7_8MMhtP3_|IcqXJ zZ)!A}(WI%x$Kj%o#*r|O_v)`UCa-lBS$h(-FT9XBbWt%ejN!Xr{lDLJ{QEv!ogKY? z|A*c44%Sz_ZT_+KcY!ZM!KL}z3=Ww6=8>r2RCAJ(SehatdY&`nyN$D#=m%AaoX8&s zI(#~OJUj&_E3mn8GzlD;+Q9U|b#b<;L%d>KPVk4KnHys`+ome-olKUUlcHu(=v29k^J;>$UB$LHYs?6%G}bfTsW1 z<`eTd_nm4Db(oW(lH_@IaR&Rp5AF6fpz_FWFcO&R`w ze*e=ZuIjzsO2uO>BEmD6Tv!;l*$7|S_NGyjIhA3nZ0+I)E7tRd-+y$Hg+-0WcAHovd`|a_+uh@6X|Gm;b zuli2({%>pzm%l%mwTwgLmM^ojh{EY3l96mZjMsFhC%&<}m~<$bMfLjDB)1KXQFCi0 zB%IGncsc0tTx}5X5ys)%hX4=cyfMg4cr!ipPXoE-1Ee1bj$Yn5#D}Xu+#f zn$f2=YPDC@UE*a8&}oe9YPJ0-p~htE5nBeTsqY<|&;HWty@>w*?CH`SRW~2MGi#cD zfob!426hdGj;xKgOcKxXjM-8SgqLxZU>5VL9h&9Ea!JiOiZb4au?Ol(<~ zTryE$u`1W`vxgk?y5?~16lgmXFyldSgu+p|+WNB={}dZL0z!O0Zt*>G>{Br7CJq<& z4zVc-OTEcaAKIaR!Bckpoq6>ii45cJpm3yp(R&uo!zRxv?3;6fIVTuF-LSD}k|t`s zX=xOFqPu$$%Tan5y`BuG z8H_6H_j7LHy~5%4x%cZakBg^kIxl?hIoecMbm)b6kE{HJ(w-?Ch8w2;Kj!Jg_5Rc9 zy?^6W6}&j^D7W2X+5hcF_57x3NxJ(iZ~N}~#Ne9X#KEZPRub!UU3JO1TQxU7vn`k? zbVuWCO3%Rpp0f^D@6O-#Z+G17nmGCMiia5w-LCuFsm;X18U2S(n^nnV+un)gPO;B; z#dXZ`6=v){U%EwdBKPvU*VnIk`~RynlY2M=r=d!Vmj}}x`Gpeq4@gg8XlPM5BetbN zuW3f3fO@B|k@@0(cIy*1+$c3R>^RBRB4d$f&2l3|%$Sc|OH%7#M#WZb0SVDYrc)_T zY=chUDP;6?OkiB(%N{i0JSW2;h5`iXPXfzeVwu#V}?t?0Cj1k?`Y$LHBn?w}%aLHkX?D z*)%#Ii(#9ykyTTUyL$#ZLz|GP+};(D|L2?!IHkM&pZEN?;SRaqrmfrg^0K9k>C14J z+OGc8dzKX(4xEiQlIj=y`g*PD&Ez^q)42BNx^SkgD?I{t9$j|kik5@|Yq7!eMoyQD zwhV0SZs&U5%xQFX|8r^jzLJNI=6QDxoSl8U_I3Edx$~0uwe2qN104`EGkxC8-}^*X zcOGufZ8)|t_SpCBH}+47p2n=P_ye=@;dP6SJ-=$u9bDV)II&eR>E=(7IbWOw8`sv? z%UpV^VA995`Rx18(-*2T8yyqfdVGEW!$yOKh&eVY3jTUV!ZU6J+Zm- z?f#FyO%;!i^>Xu9{rmYGyg=&Njp|a!(KPew|NUI+svZCP)^&y(NfYcpiT~fd_WYmL z`G1@RL|*^A&T}+@+ty&mYx{Fw)aMp(ZrSzc@!D&@+nJ^WwN6>{lOre3F6-XG)l7B= znwzJ7v0y3adHlvsSAj*iYNJ9*?g5UKhLU$zGwO6HFlj{W6i`$UY>w>VHki(sE+cLC zedqbyz26>n>pxolZ}xw=|4;pE_`H}}kN$ckT-*5Qa^sm_+fPKU&hOhga=_P|F5t1 zsQ(giePG_C;d~@-)tlW8SC(_#K3nyP!z=FGV~#FCnc!d+nWo9L60cV8^SP<9Nnh|} zWX{xxjXw1glS~rM|GI9_deUpUVN0dqiJrs9kxyyiP33&X^oU7~F>s^afosA%2a4IU zPyV#Jd%QJ1<_G7st?XNm$Y1Gjs?>-G{N^a1Bir1#K&0Wp@4rqa{S7Ns|A;IDS1I}NMZ47_UAhI=0LGmX1ce@`U#`+$rC|2 z9GW^R7hZ~MZJk-CTOx2fHQ~EerSINX0lWVn(>oArK9{}ej78X+Pdpt*b@%_WE&Fz6 z`^?`F+y9;Y6l_puUmDi*xn(}r)jf(`9BoNY%%yS6J{Z+GKg zCF}ld){1!luQ43&W@$JiU3qq@*`nkOSHdwrkjtaJ4tQl)@qN6r=KR`&;cb;M`mAne zS^JIu9y-)k6_oLAzsE<;!wwUfv{+8Lz3g>nDrQS9zg#Su5&diBQTM6Up$mBpQgaXa zOX%-W@9P9yuaG#X>P52Jne#Z#@oG1C6xOo z3OKimh`+F!{qnfX0tNposZVmO+18{)1l+BCX3W7dS7Q-}z*5tA$eD^;FFw<^>RirjQbV_~l!_tIV#lZR6vM?rm3B+ScwrkhJl@ zqbFCUI9yj|nf*6>s)L+STVm_gtk%R26AtQD+?7%ml!=#Hf=*;>uNesstGd30;z-A61zVHYO#vOHP5IdspSXJ3E3 z`jyS7aIn>W=GEsNeTzBwZIx6!z+s{2;-a)<%7i5f$6g%DXwtJ}){-cayIvvc=p`t` zVtC}D^+y%gV4n>s@gI*ZS=6=0&Fs|8DIK}&tGb=PXtXtfl4V@ueHSm=mfT+|V`*X@rqD6$yvOJro8w%g-3 zzqpKPf`aFlIV}^Lo3{V#%RXScFFaTKKvzD~sig|lXW}Q%2yyR}wMb(%U_S8k(Emr> z`b-Q-*PS_Vc<~o>=!4j*4f&76>z>&=p7iF>Bg2y*;wik5RAbpeO_5*;;mnkGTf}WLx)Nkva6> zu>GnJhou{Qek6MxzsUXJ&*$^;uMU8!zD>vPtu6*H$oRN=|F6~A=j&f@uUl>V@3sB+ z$=NFMuh$9RkXUT?6&z7H zA2=qezSK}FP-$7fac`5f(}6DKLs^}o7iLwm<-b_jq!*NvJfYrQ^JXO*bJujKqvlMr zKPPm%IBii|u+HA`dinOh-)r|b%&U0R$^EmB|CB)YPpNn3EX#OVDqpHbyZn2#di|sP zKX>F~tJg<`3SVKG*fWWpXZ6ziY&zkrr>91AED-GJ@Q_tOzsM2@Y{<4c3H3=!Qq=Rq znAMu8&WpnId^8nHZFfx;E{W}z|8J}>Q=(QN$MMN-ciZm5zUTAn(=C$-+yjL=u1l|EN#&I zZ4e}V=b%f6B7@<=w67stQA_vzIB+Rwc8$o9$~U?zq#L|G20nUq)_WU+%CeR#rD}g_ z`~N)=S!rFvp8z^wqRDG*z5lJ6y(`_98a)-+84+JE=2ZAhw$SMTpW&AmPEIBpw+F>P zeI9-=-9(P@fkr}UW~1eR-bf|mUS~^ifFJ* z;5Zf_6K3N1M)Y(nL$20@L%X?brVAt&oxZ==-V(Ha_LrPyX-93p0Drs<-+%FQJB+gA z_iX&N#P_=9POkk4Czdg^9W?u^<+CDZYIwVV)#7`HKRjIQ zreegz|Fg^R)7}Q39A}s8n|*uknP>8?I;3BEb*8^yTH28rQG4cB760D7&)sKkD8roE z3dsJ>D}wQ+)5HX&A6be#$@#u|YQoMlCn6P-Y8idZZk=wch`N&BYiZXYytVN{F=L`q zf{xk6=_$R59Q)Nb<=9@&JWyJxzS;LjV%8hmPlC@R7+e{D=P)R7D_Yz-6cEh78GC)9 z_uNXBi?9Bh%#^JFAC{_nCF16!w6w3E6(ZJdiu}JY!Biv6yK((x=AYN*3cS|PYuwc5 zY};1|7DM8UeZq51lqiZZS zD+M!NW^i*5IL6R@``|U3B@faTYKM00unQB=Z0Y&KtTn+$;o}B}-l8)aVVw%eTtdPJ zE}n2UT`3-xkoIK9rmFgFH4Hyjyq8c4>Qei0?nidh`mDWt?fSnN(pU|W+1us>cCCy2 zlPKW*BlR?^$I2=3v+wFVP0-N@nP8X@aQmpYA!DH9tJn&!-fhu=(q%oJ>>M}KUw1U_ zO3N{7U?_cMu=RZCExoP5x05b0aNcaM*0|x^ejx2_w0~1avCNuH7ua~@K&5pu_vxn% zb3|9C9-DCXulyz@ezEtnuRcF^WA(L|tFPX+95nv_gx8+4BdnNx;zstX)nB&cDSk^h z&>EkReL|8Y+U(W|4rMj{z^@!JoeTy23$z;Utm5$r^Gsj}5dL#Wa!IbbQPj+j2Mo0v zB%>qd@k+2AEDAl`VD;ee>YpMtE82o{ryeuCyGTQTN22D+w;6wC=iN$-IM;u(WnRd_ zdBOo@Q-wrI&-u^(5uADGtIO7H?B_o;J6?=SNSh*{py=Rb(D-d0);Ymyr+8iycj?^c{tN=S`x-nNm$00)+wYJwvGXqT zB<=<#)#oCYD#|a&BphGEkd~9UQ|H>N*V5G;N;8Cmq7;_O8Gh|hRC0SgZF16Cv(=)D zdEAaPacsVflt zmEpl*OSa^vAB8FKD?>$Bxcxa>x!|H{{{M}R^4kRO z^shR(+f!*nP)Fwpug2EiEFOo==3EDlcfCw;ong$!FALg1-5OLg!Tp6`Gw*Yszf9f# zL}K3`whI3A_3mOOg-wa_&IbMtUMoLW+_@w+$2GUc_ngR?zg(N z-)?q{;a1N5PgWm#bxo+O-|?iD*b$zO7Z$x`(`02@AX0d*@zD6M_mK+=-}_JeCH&F-lo+Wv#WF_%o|W3pMHcXA777C{pFJEc^RfWy?CJtcOQh5?r=P zH{8%>n_B8|$86em&jYI&S6>x69sNEjBJzjQ&GnK8>OW4e|F=Mx5#)848xF+ON}s)3 zY9^_^?3{baZMXQpDTx_(E4N;BXGuu(D3n{U`{jhK%Nomk zX9umwzRH?)CI0iv?AC-Q(t>KI8Xnw#9LJa#!{pTB(_pF9{+{uSB`6!}_FK_FKPw(!STmE)-*^NiD zwyfrL*z$UTR8WPqkwh-j#&W~nH%Fpc1EedeAk{#ObuGur*B8F3ci1iKc6M2z`TOLY z2Cs*z>DM)XpV==^>+J6m$Ck3~#-5b*hgYw?@3hToA6u?S%x(J@oIAEQ)p+wTI0*mv zICY}0$GyS~73QqxhW!nV0lP(*HLeIg+2^V;C-G=Y4a@9Ca2ANYUhQ9FFnwQ8mHL$% z)8-dzuk}feIFR#yL(r@Zud-$v)&y@5ZgXMy&d?La)4<`#C@*yJZjjC)Xu>OH{sN z^gp<0;;K^FYb=a{jEWJHH)gIkTbiN9bk@S_%G~;ZkYd|!U)P5}ozsyXT)lHr@wJEw zMky9UwTxA^+rDLfyvMjAB3)5*zq&>z=jJ4zJ6GQ?;mwZwER^HyIa_E!=Y9L1KD_Z6 zj}9u_*vI5_);XvCydrq-b%O4uZCjFKHX9z*i0~?1?7zV)o+JBZc^NnN0^X+z@(-sn zYIq8tICfFpp;I@}c~sB4ZkG5a&5WDrT($`h7L2E#}Z$4CWbg}PCjXHF%z|3 zeLio-Y3skf;#RH&;f#7N4U^sr2biw5eR<2+lGh>UX!Z6#ELyBusXjl#RTYxtoSuGL zyQod@i~md7L9~^S>o# zbIW}hujuXxxRN+m?M__1`2DTN8+d<(hzD#DT4?!PFi`Yp_BW@SVO`yo(kvC;hEb3C z9{gslv1fQ?y5qWI=mpn?19n%vZ*5atta4pYnI)`kL(>$->7_z#lX{9-`D9F{6{nq< zQJ7;r13XUoTtecf^x($!Q?Oo<53PZ!{G6McFR<@zNSCBS28d#FnGH9xvX{rujlci-EbU2o2a(&b!xEu!N|P{$!xosP|2s(gzs zyjJ*jtWAWKLnyM3@vtG&Ywre$$OeZ`iX2QDoI*O29JVwmbSg*jIWSAFN#NzZVSOh< zP^r+k=&-sJ}b$A)fyzdJPc`JLi( zw)HP=*8lZiwaQ6!!+(Y}Cc|dg17{N099T3K1S<9_oKb!h=rYIkg^xq;A?<}p$BtP0 zXtkfR4iPmxV6=c|1@nYk4JZG}i71(wc}BA=NN8YCZMbwn##lyJ zD=EZlg-al7!*ixAB>@(vt``g|8v?YGcv<*af>;EPteD`Y$h*LCpHL!6ANzADfypk1P@U;dLNxAs>g&48g~Y zGJTzf?1_ABOZLBg7|{6eU_k1dezt z_^bH&2j@#xaV93 zwM>i!3`te}LeHh!kim#(RA%&PA4kW1B@ zXWY4PFT3u#tET<2Z^z$$s*XDR<2&cRzf^C5aBooNxE;aL<>3~m^z&fJzqns6cYgkU8F%}(C=*KpqW}Yk z!oiMvaUZ@+;#x4#;gADM62mIDgHxGA1#B1eHJp-Qns{sdF@^|*0OdNxj4i$n4Hg?J zHiUgx5qMEV)IZ=di|F-&4`u4BCTO@N2>HJ1^t{xq=IJ5A(kl?^(%I3uV?u_MSDF3H zuAcWds*ThSxK9wDko>#za<#&g_sIuk96Fg;FEAvlsC|=k_T*8rcTY4`3R@x>-)yKE!JjuNG)}Gyf?Sg9Elk0aod>K8q+;?~VIQReCx84$Ijt9&B%v}E` zYm(F_pMAXzn%ttEPBGWMeVhNsnEA!d;Hx@qk<5V)tn0t$?)h@bTiohEQ`5p9pQi8c zssFkDKezWPhx@yIJ!hSnzqzVoNpHrb@=VW{xBWj%%Gpx1e^zf@AooY{n94mr9(Dit z{r~HKR$k9u&#W0YC8Lk(-po7GFgesEY4hV5TH7vi|?}b;UpZ|DR9xP2oMlCF&M_+x*e2m!AZ*^A+vj=xU zdyU{ykHBJH;{bmVZ!_ zQxw~RE&o?FxPQCsFQah&m(ZCX%N=_-=P;=&Uio}z*Txdgy#jx~x<6gLyXLp^oaa|< zI4yC`sYzpp+>Efvea-yMGLpg`6W6ZoW+>Vap!8=8ml_w(hT8b*AM1YQC)xLWaOV1v z$zsvUvY|7>KU?FD$?Wehf9*D!V7Dx=z_y^kz;|A4-ovNUna>27EM(mS4a-_@Tr<9yCfz95&?t6Htw1umHICiP6n*vY@B>#1UZqlhC9WBvQ>{~yLxGyh=y z7``Ty?^I3ByZ?uKQgh|Z|tCD{5Iyq!WnHVZ8W6=;| z4eZfu5q!ZQ=dtl+;G}c;N7i@#$UGXnYQY05htMFIZrSctf~6f9v)Fu%kAHk4an?qm zg-wy=h{R-<1RsTC6)V3N2!0Ug{^1;uk^OV~REDqvjSpt(SI=Q(wNA9l*5Qr)l(|vT zei0|***ypM%zXUghlKBCg%&o$BW2I}l{z_lT$oNU+DrL9cMsSw+)8&BJ=*;f6q zRlMr=&86#4*X)};@2%eV3*T$zSG`)f)GU9`M>Ymyrhjkuf8PK7+vk`5wM>dFTTG|@ zF>zD=^W<;VY9`Ib7xNAm8!;%oQrfA`(dYAJ{T%0~+l(9jFt0sq{eI8pt^JC*dYfXu z&-1%=eb;lNE&Fr-zPWTgb&K?;ob$i(>;8S7|K9fhr_=h6<^SIM-`j8hwcGOuzuE2b z4mrz-8D18<-fxh(9OyXnhpFIx?<4OeuQG5hSny!e$EoXUQXhXkBhlB_Uua`}EXVBl zp3Dm^TevQGG3}b7kv;#R=cKLipC-va=nS-U3zhsBelGXzi%#`<89P4<``c{X_;y#> z-N%=|T>U;b_V?{8Wf}3ef8AWVf8qJ^;Mu3^_BqdctCxJb;@!^YX7m0Z65qF>WZz74 zhaxs6t3-pB%+KFAC`bJHl)JUp=C|>KnLUgung@Qq^-l_|zrE!A+h21PYu{d~%cxi1 z+5S0ed;aMu3hZEwf^ifY$k zTw~O9s<=zoL0UQCBU9$L^r%TZ-z4QuzHApc`6FGZp`2%a$NUNw|3wMwCv?_-HD>V1 z;!j)Mcyh}mz8V$d`Zjlg4GUtwt==p8^~*h#1{vqQyykg#Uf9}~%q{nr9sA3w`(NIj z9fgldU**ZG?`*#+x#|7SxG$eAJnKQps=oO8#?+ErM#+Aeu(0%tA18@iIO-wBm?JqM zk!L{>_uTthESHtmM>!r8J+i9ezU@2ZItGgwRX)q*E_WW@@@>WyxzeY%)_UC*VBhhY z&!5S{z-IZ`!gfZ5sc-J-F^ae^_*ZsR@I{SmV_fyyt*VRSum1l0Z*~0NtlMc(mJMg` ztA@^EpP<#L8D-yK_=BlJt?6;d#p~&Z<+oqW3x4~isY$#049m5be`6o9H>@gpE0i$( zS1;oXTb(kmw)e(+e*U%&(R=x~^T$r-KUN8n8!VXCx)-uUonw+a3~ zt-qh=Ku_Ii<9hz3{S7}D4}{-a{EhFPwZ-%~brNQujc-2N{w+A5Aaw%gUjF(2jZZ5c z*;QpCbm;tt%A4!G`s|N1EaN@5Em!Nn+UV^cUi#Pn3SqYFwp$lvzdi5nA#VLW1*yl1 zrp`MZ+4D5|{;zA7KHkpXf4449^^4<$rLm_3_T2vvI`8k^%D;__ioPxVM_A14J9d}9 zpQm-w*-xl2?4;T{C;L>L=l0WlIUUPd_1mIf3CBhi3qj%4(*Y3KcgOYin32?(qGvvF2V{Icv+M+56uxFIXh7@n${C)PoOL zxhBlIs9gD1Gc$<0VO!lVu_;p$p5I=#gylBxxk9fGnQZ$*eo8a3YCC#}d;fhoD@#u{ z?_z_{_j;}zRfdz37`7;Xd;gzVezDZd3^BHoQokkDJ*Udt2+)c zd^$6~WKo}BDu=uUck|6iiPPsc?cZ#c!}oLc>bKXvZuX9!{mbJ0KQr6gvHzZ}OE%_I z@XgFxR3BnoroWQ4@*DfDsf;Jv8VuJktzal%Iw`ha<-PuIw|w`HEN}9|Z5Z{B3mbSd zYW_?44r9DxoQ|3RBvJ>k-CJm|UJc?WHJ-n(Orq_iMLq zo+#i^%GB|&f`w;6twZLq@PkR58+N-z1r+p72yL)wT&dBL@v}6q(@r^*CyDK_W2p$w zfom>n-4r4jCLH)8znPcM=_5-_|0B*FchWL;U#?(!c0IiFlFhR2Q}zzWU#kCRx;0(H z@}K}ePt(q4AGA(hQ#4RhI9+(bxk&lmu2SyvHlKZV`|aVaeOn|y`xej3?5*=Bf7`xp ze(W!)S%MkS^}B8Em*%cJ^jY>(PPyc5wSqp@09IkgjI*=v+}a_=cle4?(_iuWTEFHw zOBsST&zcmlnk&b+EpDlfVffPdM$e?ytslBI`axD#f5{1?4{ zuh*yF>N+zVd=d{>&0&A0W2o+UuBvzzsPKT~dCA62(x*3-#$VpA^6R{nF9-*L{9f*NV;`iG? zrtW7diFS-z&RDTqxQO^4c*J?*`u)^OCMR*dx7>%`pZWE(ri(v7(Ie!D28UpVl473& z%ZEkVzWFl27HVQTDqIi?%B+_28fIzinftNP^??5)j1re%Iwed|w#jINfmN9GGXeP>i+x=(oo-*e6!{1ANklq`*b0TsQvYAvR5Dj z;~Xs+L78Yj)8`WR1otTanR~xZSby&qA%>iu!+IJ!boP8YrOnWAJ-%Kx{?FFsXK$_F z_U(R0C4-x17UKzyxiTubUUqXIhrR!MuKZvB-e*krCbN4us(8LWxhcqR3C9Tzi^PL< zjh#NVqD&K?GEdo-ps`en(e1?%J{P%Dd@Srw=kVqHzh743+FesWGV@bFcw0fmkUwhyN`+_q9p&OJfR6B%Z5<2rI zD+=WJF!Y`MFukKbgy+FTcR9z>CkGW)aHX9Ubdg%&)={)+LEqyBGW(9^h#P2)wPdy{Re{T#WbPDL$_g^sl`%59b*Oioj_xK!LctfO&* zH|*~8sAxIEt#RvmLNq&kxf0SkjMWt;Gl+#YeUsfc%SS;gW0q8D?BY+N&(1Y3X3jox z`05pIu62SLg7>^nWFGQin(*es;b&|-Y8vHx8Qc{ZEuKHv)BauV-qW)S6WPV&LgZd% z$N#>yl5OH?*STWhE1~84rG(WBzR0VJC#Y#N?Aj%`UFf|=P?I2oT3a#Sz3>mAtk1P9 zz6tPMSkXM=K&Ym8Y3MJ_WXt~>b4onVyYT2-`x4vrQ9b&%c>3vvOQ{T=|HD}`SU4H? zSpHqH_PcdkGXHyRi|2xim?!ou@<=*Z*O-&G`Ip#|G-eOK+*u{HY13yo2>lOEO?bWF zZ~pp+SGAfOIv?CP7%q1&^us!*!@X18FD0>S?1)o1{_MmuvFGP41`2MNciSDGd#8_j&+ zEdT4mF|+zF?)6tri=5+*F`Oad$1%(H=G8AXjfRYYdD@B3cQE>XTbJT=qq^exo}=!o z8C+HzW-(-G*)W0WjzrfI(Kjt8Q#Nfq`|+b;UteEALBR)s<`ZWg>{-I}?HGdvQ{TiD zvlSF37`4FSksUJ2y*kg0~jKrPaC{a;|%A+o#_x(>Q4}%hJ%M zJq!kH;uYto7%!eN*(EfzHuPJ@IRvP60N$ubKVA4hRFRNb&{W*B>;HBq!$tQ9d z7p%)>IFQ_L+xD`A>p{*ErXsgDEmJ;B6YIKXrJY{EakZel+E`vi{4Z zMF*#8%@J^2W8tw%AmwTy$A@X+n~Q$yGj1v4^X|)8%{cY@id9mfwvMq^SFCzvbUdPf zbB5n?UBPwEV!!+Q`=guAMSriD`lB&5bD{U2yS52E=|(f(PAu6mxKkmXu;T2Mhi z@QB9Bpa~A4XIwnGP6@us`tQnc?b^lTH&iw^e-^EI8W^u}->lUs!t&yP9aSRpBuPHNMGJ|0NGR;@i48G9l%Z zaKcF^vxiz&yLWs2joG@f=G*4^tPOXCGQWKJ{ATm{c~v^g-zH0UNUC&AVPFV*CFRL< z;z+(|vz9yeqxoSLGs0&0*}SS^adU`P4|Pag*^s0soW&`+Kz{v(K%X-z{}I#pqy;S+;%f`TVal z&)2Y(zrS}>eE*N5VQ=E^GXK5ycioAalHpS~&6Dx_aN-~fJG-#Ya?w?%4)!)M7L;`e zbaogjwXq3Fd32hx`>soh{NA|d+k82W1=A$17%pCC%eTywk6(R9VRF~u z!mA&l=42o6b=?^~CPyyMOoO9@&5L#kRa$`*`U`>>J)z1p6Gc%FrvE zJ+C`W{D8{0-=`L?(~^<7Qt{-NNWYBSgAWBw&7Qrhz7_QCT9cfAP|48JHHA|_!Oc27 zu4&e^AhX9RbN2XOdA;rIr9EzW-vcX3Ggqp2|D>iYOm{&a?U_#}ci7hfkKeS8ZVZWzD4bvKCzm9xgt! zOSXr|PGIYBa<=&S>f?pTh0-dMW*&4^o4!Nqgt7gH4bSC1eBiM!>C6{bif`Zif%!(+ zp4luLH1g*w{dLT7b$)$n_Qm(dSj_We9(*{a()mv~WM5Wi{r~6n4aq$d{2W|P3346a z(ug|S@V3uE{o>2Eb6l^FTsp(^E!65o@g>DYTlf81ZS^m5{pars`(LbY;yp0wZd616 zs)$bOw2*s=MxLAhKNKRtD__u?VVxte09!@dJ+^)CF(P~xKak=U>rk}o^{ZlF3 z^se~+miO8FUz*!#OCNakQGruI|L4m?JI`7>gE#urxSN&+JIy>j zBplUr&Tai~QTgApOib`b7*A1iQ)Ah~CqI9vY<9X=KGSi&%EWM~b%(p0{x#blrI)Oq-|}I%mP;DTYM0$_E58Z;3~hS)Bf8@EMB|V9S7rOC3Cqa%6jlVx zKJ5Qg=woz8!DW{-&w0}}Kiic5_|Cz;wOy-DKfQGF(~8K>BVRt8tB^F1|K2&xdCmS> z!^}+U)N&EO}S{Jk-)~!6ai=!?K(IV`jXOaQic*sWHUynE|g5ql#Mj zsk0W^q6yN%FJ5PtuHDry`DGwf#>s6Xwi z81DXkwR3Y2W7~q?r;LJERX+>}?b%hd!bbX|FvF5J4nh}O8kS|=%DsQkXW4H9hA`Gl z78NE#Cl!a}7CwXac`cLQ8)@fEV)=FCR^A$`4KsJH@nVxypU4%~TYgv4zCYdL*xb-L z+fC(f8{qp^4_Y|eKz8bZ)zp7DsErpxZ%DV{E}G+!85ElHY`TPE;cktRFtdi-`?2QD_P0tyXxoN9!8Osln8nUn-%Z{9?ozDV{J#32H?NLvUwv<{->lb@-|3xZYk0S* z%&+M1GqyRh(Yc$rIeI()e%^WYP{ynViANe)kBZ8^T$eGNTC^;4O9VsbH-l{t*W@tV z-nZLVH{yFO!;c5-_B*!i553LsVZ%|G8}pV`mHyPL-|xTty|vxSb^A3_ubc5~-CJ^d z{q66b40p3@>p!a;cXn)HeJHFNE#9E=vhCUnbN9&|_AMNuZ+q9=F|XkMcT#ndNh@=9 zl=If?31_ceSUpAM(VpKoRc9Up4f)PIU-Qi8SkWvMxt;y1Kh@|fDRN9m{~z+XDaTY{ z_3mx=?2Gx_V^J=5k-?De1j_f2}?_jj>2|NngU{(ftE zPx9n*|G!-J-+t2OTH@?=^WQ%=uX}7>#k(YSYx?El+h5CH?Y{P1n)hY)*B{r`MmNvd z(ZjByHo>Jz)K%s47j9n%;hbmNc@92fdA_$<-q9$A&rr!lxb@BEolb6nF20;1PapkZ zD0`bdn>S&u-tFa|_y7O*JG)q*q|;u$Jo)4AH9u=_Y`a%K?}gE-n){ZE^*8+dS#J2H ze3z72gUx64NB)LP%l^BYC@#uWa+)wjuR(`DEp*|!;|Ca|y8rVVZV_w@RB;VnF0in1 zUPGn*m08u(radhEoAbL)?N@2b{jKlTw>{3|IvHzwZ=1b$$@}%)-|toDuT1&A?)=W% z|1W&oy+&nDiq7kW-2B)4US*3mx;P4Nej)#MufG=a=IuT=O7Dv4-Aym(QTw;Wl3|(> zb8yZ9hU62T7C$4;aotvFxcd41{{MFO>i_>;`+aNH)%zlS+%_^zyY*bYuW>31Kl=ak ztWy6={`a@$$uF0@91wBwwaxEr>8Ikemi%YuZa-hCU-MMxWB7;U2@FX*oj`7}aeNmXZ^=vll#XrUJAG@$+Wc-6)9okU?NhwDzi3Cny5_*h)HQ+O#4y7{l)sja#Ez5T_PcCXS#_I&$FvtU!sp{xc&Idwprw5`lR(scn6Wy%G_%7s4L3@K{OaPYvck{A^B#M-`N{jPP}zOmcG3s5t_l8L zmb0h!`se49J=}K7&0jKqU-n%)KjUS&0b7^8jbXiE^Ka8;e+LiE_nkWa3%>K6n|)j% z;n*RGV*7o6~mlqF|rgox^{t?Qh?@=xOn@@+{ZgnR~nK(l+=$ zdB6DOA2hL688)8B8NptP+wRkkSX^^8Z6NheO%b^cI& z&b8s@{NOmA6%Hy3IK`wlyiZ6ww=Brx(&T5y-7T!D8h(GjcYN>szasX(U)tXV+ZK6- z>*lQcrf+g*J!}`K6@Pv0t@+PyW!{p@X zFvd^IgeGe(H~4C9&6${}J;Qv)`7{eVxqY_^Vjnv4tXTWkeBr^59|hBnAGffxJM{6R zVcO>8GwdBF)t^35pDAjzF@5p92{Y?Be(C&hzEsS}fBu5x?vOh-x9r)mHsW}|p@{a- z!u|R4H?F+<>g(xEj7u(rbr*YXV@TMjKceV-Il*l9 z!+(E&Ti6+KKF~01R$O#pg7}K}tx@LMYu<%-?(4o9S$8#c`|AUn`CfC>2Di@bS-7j( z?%licgPvWbIfwQ3haR(%c9b`kNOHG0StqUYgI(d$mOyElD@F{jUi{Ym$Sh=PdAzrQ zafYKxf}Jt{#%lg|k6-*_ma(m9czjbZZL{Pv<{;&{Et9_|etmlD*@n$lx69A3-OT!B z;rhHd@!2{*m(RR;UMStN`1{uTSN!jP*T2m6z>3ph&vTbQ%ialzWv%a0XcAa_bl;5M zyH_4|j(M=&`bUM`;g1&u$!a9jq}ErPvsZs=U@J4{x|LRm+$*NPtRmtq20bK>B>~YhEvgU z2Tny>8TgqR=qgb|Ujw5}#RQIj_iXR%uIK;$?*8#+cK#0!UPv6@ zESdJ%GVSx*n}Pm^PKMWC@cHrj+VksA&)=VVqx|FX{cFC&ypE~aeZKJe&7v1R`@2;x zE`R>ru(5j^vnJonJe$ zk|RrxpUd2n+%v<^jP+B*ozwCEwCA_DFa@ddbT@ANl;Fe1a;W?N)&EWQQ`lQL!pV{BL|I5?o4hDzHQ&JDktUb-}Z}IwnYxkxx{7bk0z5JPyK@LJXo_qi}B9B+TC~C_Wkg$ z`*iZ&dFNZtA0L;mta)30{j2?x{M0`$?)888q1>OpcYW#i{ip9o9X($E_VL^2(>|E* zIlyvY=c>7X_kJ#Wqy6L5;#J?~Gya&-VJFUdG3q2h1Lbyj0^|nT9@BCKT~7> z|GDq=1rI;&x8X}L+{jmPw>8IhKaBlz=;3*0hJPoU?PGRLJD(nLRAHNo#ks?l!ORDE%6{+Xc@h2SxYlNq zaL?1Lsy?z!?63Q>Sp1)P`N8Y^|9$PfzW>Wo{jKxYTD0nf&e~b~yX^PRlm2#{@_+vE zJGfLldM5ni#{6Fr4AmFs@A%0wZ^uuTdzJrXL7}2L#k&06md($F&F4p0_w9RS1`48S z2j>5IGMQiSO8>jRFBa~pz>zTYY~vJO9z_`+uHYx-om10zx%0Y404^^Y@0U!KQH|sti4|?yuaYbXK$ecuio%K>GTi&s=!pu z{*CWk^@iL3mn^Uou3z>)#;db4Xqkfdq>4xj&(3$<4&PcUKA(Mh^U2-v`>Y#m-kJa4 zb$GHcD0ua8`??RwH9tNauJ{$~&m7Tl@@|>4UHYA!#q9ESe?B<-JXQJeuY6y>XL@dJ ztji-%T+jKx^IOH-DFtCKjAq{6p1)n_fJ*9@w_XhYpB$9eGh}4d$rccC%5p6T5>+hX zGijRBP&f6*%EiK!`E3(Usy=tOx3SrCWq-ZUn!d^tMi1Kg?R(_ye|$Wa4YKZm;hlZ8 z(*E_YUf!#_e)iYh?A4pUuZg^2c#rq}BmcS&;vfJ0W%thg=kizmLte%9x9M}aE~GQR z_;>f}$FW@`i0jk-ZBo}bcoOWy|0z70B6X8TF*GzW z=&E)41?3NAv&B>t_9h9slH$ zHdr*ic+hh2(Sb(}j||#=J&<#F&HVP}!dX{Vtmc|r)s<;`u*B-%!6!+NZhn_sE##nf z#*Sy_wcO3?{=WL@<6!^eue?pkI{u%xvS!!+>HlZg!EyiZ-S>~&VjE2!O>EYDCoB7S zVzZ_~)BpG1_xJy7Q{AChUmm=B-)E4jZS##6t{3{FwaA3yq859wN2JS)1umXKH}Wfz zx~CL*-m#w{mtZyXfr9wq89s)xj-5+BAKO>OB-h$;_!P5}?#I; zV@kBA7MC5AS#oF9aTOl%X}zh(6&Ea%sjDtb@IB}t5V9$k)8Fvpgu3O;Y$|KsWYikr?13^xCMJpS=* z`~F`2+Lzuxn(coy3xECis9XQhO7;1N&dxUf_=>xp&;Iw!r9J!quHD~m{r}YdHh1}2 z5rz-p_v(cG?JA4b@09qfU%l^Rq+Gp3J)Cy*Yf+U&SsJ&ek|09@%gsRUw#V}SPR&1D{r-<(-OuUuJHP*`?hj!Fxu_@n!wyBn~B(?p^)U{wt}yd~m6)KJmlks-z?DYhHi8 zFLt=+X8qq!^Nu`xs3=!ov%O(@_krmAy<0#23YGaB`EYOfy~D@%eZHTc^Lal*#mCF~ zaVIK%J*aIxb^V*)Y6YR?N8(o+a3o|N5L8eSm|-lC;Bz2{S=oT;T4?L3N^QPbowngY zo|RYhl_fMDuibv{mRHX7R`dHcn@j)39^JnG?^|xUvqv9P`~Oq@bH4st;hrDq@q6AZ z%xO_(cjr+{H`G;_py9!IN#%?71s5j=ljep)PZ&irM2>8j@4Y?t$EsBi_IQg0H!R3C zm@w71Y`PfFmEIM*vwr-#zP~TO?(^*I_3=+P&S(4odjHSv>9#G74@?Rz(`H}hV98di}Qf^Xvcp{47)a`@7zw_aZU=7rLtT8yB(|XfNPPaEJ-|!&ty@ zg1Mndp}|7qy*+cn^dv@|fAbHpSQu#@FgrA1!wa9DRt@fTEStPevut3Vllph#*~U4{ z&rgIue|Xs|;;rqgQ_F8P{nr0k^;|~f*bxok?Mqy1SoCMS@O$CKa-hkuB>mmh^R>Cx zzZ!n|ect|mP4(LM@4v~4zhS)9WZ&~`FPrm1g{@~T*&-cuY&1FKd#Ys{FWEC3*!=kEhU0If=k{-wC^#1}_w9ME*e3lW_DU<3w8%|Ts@J@^i^Gd2 ziFJyjR+?T&L+HXBI|Dya2}gl7Ny%AzRy_Tl zd|i(<>(i&nHx!OpCe2y8_AtW*1}iSM2{|e!UtQegxX6?_>AsFq>x1v|Qc59fLo60C z8_pJCXi`f3>v=@}5s#sq^AiarV+ZMoSqlVLFubkO)b(oetSZo2nH3<@=$~>h&hhA> z8bzi8mW0OK%Anw0jzYGHmPs~lK1c3%{qI;H_=D-U3^RjLfR^wQB{e0_mX;Yd%dS0! zOw<>?zNUL;Z}s<(+L*0%r$AFr{`Pn0+sQJhtor$D@{AI1?#{3v-Uf|h3_Tyx1tJCP z71Te~@67vfCXA!S^$nvcbEiuqOXDvF&fB(&^6u^`edM_3!y)b+)!*N({Iw(N@05*m z{zuFMEz&N|-;?-(m!AS|Jncg@4fnO=Ko~1|21-4v<&fmzWw~nAHMu@jSLLu z&owS;h;Yzcy1C0Ksimbs!e-Cy`ecuT{~mmv|G(z_&*|}XlK&6Zf3$yK|1W!fdr;IT z=gD2$SXQJxn%?KN=YGO-tsNnvruwY2e#{SP$cT147->0d)*Nu}i4jDSln8~$( zH>~r%0oy0`J*%}WIy*XFgese)dYZBcC=~ubts)*1Z}a_5vGn=+hurZIR`Mx)&p57e zOtAbjG5w&(Mz`PT3KCKXrx*0koa z^!%GW&EbRTXO zw0}CqVOCL6U&9CE8=-RNsx7{Wsn5-;3zSh*>RI66bnu^|H^b@#F@s1Shf~$J+x9=- zQgK?c^_%#;-(34vT?mnrnRI+gR9eEs4gt;?@BcSz+|V!Kte?thu{kjxA}*1S`yWUph5q^fDt!N~x-@sqi@xr6-go?O5z#kb5_`}o z`9|lj`12{APHulrTCP~|V3*?gUpFOgw0`GtxRf$o=D}p%16(Ysm*fwgKF@P{T2>`v zrKXOBK6{^{ebvFQM_&0r7D#{4yliT`+#}-E4Td$nuPn44ZCvW@r+CokNAiW5TD80+ui27Jw`~|LD#IQ$HFX~` zdsP4P>2yYhed`o?jxZRQ3MeYDbuhUIHb^pue*eGMUx?vW(gL64qGpX7?kP_158wZ# z|6fbROdv==sfB^X_=n(aqXn#Ny^r61uWUQNn&FNf`z7ah7he~=zNQPxBg>^uM1Co} z3R>%Oe`C$-==)Jtb-&+kzkUAyXPt?pgKP~h$7U^)4N-C^bk zoz@ilhCY!67eX{rY~S76TfIt0-_rX`Wa{jlT#yWBmdc`}!oF?VqTq+pK@FUI)80l! zFnkK|3fvIjacauhy#I?6YU6&#%=cz;SM>!?UM58s->mS@2+&qu9>BXBOr2I9z%z(YTB= zLu#Y0hLcK%kb~TttP1E((p zaQR`VWYVR^k+!*^auS1zhKuZsvvSL_R1bZZ-6#E@hr!a8Yw3;?u6sfp4}NW2A-Zkj zm9nhP+@=Mb8%2MoZ|+Fb<1ozRN!YNt{9dI(pQ2d8#|12lCaqDq#m2x}!m6RMBWQxe z*%RW*NdhLZkLJ6#xEajWb`m(kvBH9ZNuA5B#YC`>=cr@ymOJ%^5%2bE7(QjWlJr-9 z$2JZ{B{$cMo)6BOXZ)P)CeXAf(?rmI_GAA~)tzfNd>Iz+d~@5P{Ko|o0l}6F3MRZs z!UD-YoQ{)C0wf#{njWr^^Ldhgq^HJFK*}*gL{Up6Xx7)sZ@q(y91Kjfn3OVjcoOX9 zFa2`=7{jczJ_%=SPLW6YJNhi_@_gRR_rCO()o{i-{X+~g9kMo?HueY0HKcqOa?JT= zFS%~M{Q00)?;9kToH#lZqtq5S{b9W>a{PF2=da#HoLMdFSynJlWS`hxY&s+6_2>1Q zR&?cVHT+ip^Y;1l7c@7><&Z dguuW0?u{#No=u)UiGhKE!PC{xWt~$(695BzNeTb} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png new file mode 100644 index 0000000000000000000000000000000000000000..e34e0e080a635956c1c1c882532071bed62fb6ec GIT binary patch literal 79199 zcmeAS@N?(olHy`uVBq!ia0y~yU}OMc4mJh`hM1xiX$%YuoCO|{#S9F3${@^GvDChd zfzedZ)5S5QV$PGl<#SSRR$k|>zkciEoZ3&8Q&(F(pJ%gJve(3Gn~tR?o8?If_naP1 zw&tG<*AHaxVB;~nE}pZa!7#>Po8hLyNjb{ek(1OtCRZ;jE-wwY3oR|WQMvYef9W#S zfAtgZpWpEB<*RqAte(HwJAdoE=RaHB_dIUbf0Z$#=$B9T_4r$ z@t^5(-I23j@ilrj51;yy#B;yA z*;z{aAI5oH_|)MhxqN<9%KNJMubdj9H|_j((s!16_LjaWH}@N>^cRbrzq0eQlXT;O z^;R5;5jL^UuN7OH^j|$OdCp0NhqvnWaJbqh^n_FsAS;9SF}8V57K z${)7JFGO9omDpIE-jaWF&*xh4i2FC36;`l?ZrUrPzweLMC9yq!rO$twt6tyLCBX27 ztvy7`mu1q&CCB;yo_?<=<*LC_Ebhfp+J5d_htBDp|L021|Gl*%==AX-m4^z?4&4sd zm{POl)Xn=+8_KfeG*!<3J6Ia!&J?mv)4XeiNR+qgx|+nvL6_Y*4!-IXyW1@2c=T~X zwZpt8Cev2$`LOYJ&5!DP$3A5>``iE5VwhZbYJ=>@t@1S!uG`f%UsVq)5IT78tTSI3 zd(O6Y4PN^%;rG~?>Yly-C$@De!&27v`SuRyZ(ivSFR<~P_N3>wVA2Z9zXwG(c^KMo zaQ-)NveP^nd~~C`*o{3U4W~q$y!M21mrS?PSh~`rOM~-}*qXcc?&-xxwumQLiZNYq zcz>?rO;KO%#Y20a8eLU3xlofn_u)H{shUev&z5Hk^f_>Nt_*cJYWe=xIc^T#rAY_W z|K0QM`7L<=U;aF$^CIEvb3d)O|HA%^ZJ+1#+DAFvy=NJ(>%9-o5j~;QT4d6fJ~6dx z`o0ZkKh;PoJ~;E!^4oI3@VI>8Ej1FMHioVwt1Oqg)?ZdS_P+g1?z}*2)9lUbeEr(e1kJ^ckrZ4zg*P?wbdTe zo^Y)6RO5WU{~5>n{|DJBmu<-HEKuEjy^4d^OM45GuEW9!(~c(OH^rA({tDn`eUl@v zB(OzG)U8=y?ZT*X%NTJE#fty!a*K>57HnZ)T)cO};{0eu&)_8@3smO5ZK?mUuioRo zZP)zYSMD#2(-Y3{t-s=`eK3FhehB4Q;a71e;)E~@=4su=as1wt;ACDoh_x3sUek9 zC;Gt-Gp+M4-}V>Ec-EVzJX~>P6N|0o!tKUSpLB|Dxe!zJ(d_--W4}8-^O)ure*eX1 zF{yCY#OpdK;R}RXoj!N||E>C_sW-S_Mw!wEmAs3`CJCM1Hlgpynd(_Nd$*kb>YpDR z%X@*#DEc86x1!3WX)9tLv+?zA71|v?qp9K4UA5%Z-PZ)}cNBPwMXvhD)P8QRB17F( zXRXHH3wp0f{g35yy_@hZq&Iv1Z6?-j`SX$|G79M^UToO%(7*ow?HB%SA~Es}Z{H~% zUDI%(puG6Mwp>rW(CK@3UI>2|-om8GS~+WR(TPQKGOZsSI^2Ed<}1YsIq!N;EaGWA zpc%11Q7-++UzYt+1r-KP49EM;X4nU*N~vb>_Pu6!AR;pZFManL7jUdvtxTwFeR3J%|rHt?LYhJIlc9-LNo<{DN=W5X@;AAA} zClEAi_H#>{FY6ZHsmkr&`IIYBqWH-hnZNH^o@LEk@TmCH4Wn(Tlhri$HX9~N1jlpE z$iLF*uF1s6F`?k|Ewi|bj@iBvGkuptXn){+^mb3hFD?K7&#(X3^}cF`%K4iww(L~p zb2w1`=VrN(I_LCt_aA*tFMFBat9iv%ZSI77a|J(YxIUe=>Qcjjx+_UPYh+Igt%$j} z({#zEn1oB71@k9}luq1Zc~mNLg-`Lb!|oDgPF366&dgo6u&6hc``BAeb$9MNU-<-` z4D#AzD&7l*EQ_#+RQE1oyPYie<5qIa?=xa`XIUAynm>b(Ba%xxbS!~20r`lZLQYQ@ESC)k8}XiEAe zEfGm?lm$CTD zE3%%nQ0zAP6!CC+3|~I~3R%s`KE_*&)aRcvnS8iI=hS=Fi5#YH=PI`Da?f1X@HG0( zR`x5iSy`ISX2%LVV9|3tx^Tbzrw@;huV7)Ed8*@)$OW5kCp7tf*FLgP^(#6T-T!gp z*Z9Xpza{wC~1i2jH`;VQzU{Jj%ENOlmudv(YIl{+zZloSqw+11-Mm1i3dZB*OrT&}yuN~&i z>6;h#;8(Hr6g9bp9v62W`VIiU(W{9*MpG_vu(WP!J|!~sDZ|Ssm%lTd&L$U>A6X)sR4o>{ z#xW!6`Klv_TUKp(sj7K&*>SJEEKGdc+gc`1NjjUlFKXFMfjz%kZ*82@ z(ztaC%j7th(zQJkCa8Dmgx4>6Wb(v7mH50=AkL^U3lJ~U6UE!Oki9)cCd%N&`^R4VYl}DO zERQ&&k#2W?$A@xF-3A7=hYjbq)-yM3KVRGN|22C(@Aaae*XGx*znNpyJ7rdDs}(yt z^QOp?B7VUw0#A0bB|MCnnzfn5t2jM*c6i-?J@xxm{`vZk&Mf9m$@H6)7O~B9=T^4$ zFN#WX8!wuq;dg3w zvNHuA;tbA8=}f!R>6v`=)nDCP*Qe z#{0jg@}FA&WKvyT;&NZS(L6jx^i>zoZa<|>MaVwKSZY+nVs%G7Z|6}Bw+Jz zp0bQ(*yAUiR{VQXJB#itZ@<3$vj1hC|H|{>60&|9 zWoNIQ{rk?2O}*ho0Xvnvi?h}?B%O8UxDd54*fn>n%e*HozXkISE;9*txxsXNdm)$D zOOvB~GJNa5UTipLdP(TVrDK{=9E@7QGS>0OKdQL;2(KzGKeBRa=s7vdQ>R+hBA1;g z{`{fBmHm9NpwlI3ACJjACR@Z-fBBa5r^`Q}(6auCosrNZlPBeI|11A}dtWcV=+>cC z+bZ%tSKdl&KYyp9Z~FfqdiGye$~$mLPxy1(`@hIi(bRf5!7CE}zy2K9|HI%$Q_$(; zJDi0w2Q!SG-r8)<^KF^QE77)g;gDrFcVAPMnPqomgZaTC-K?!zQJPz>$y68g)!8Q* z`R@F8NAFTwVl|i4I=j8zQ;ua6<(yYMFXAb**w}Z{jO+#FLVUYs1(qKwSlW;qUGlB{ z3D=^)LkZP~9&YfTwS3K5y$?tG*BQU`%amJR@cpT?%z38_--XX6xk+wQ4vZ@PbCR`d zEtB_ish)4k-o(BQj^_K|Z5E|@Dbp+WB+Gt*fH<9mYO%$8IUgz{y^LvIYRp>|oxDx| z>x+Am55!dOT01Y=w^P3_pKqPb$wI3pr@M#O?|u^W`9bsX7u%0#ur|NtJp7jPRaW1H zf>*kqJro6^9*RGmpHWb!I_>Q`F^fIMPaZ{2Q@G9&%5T3xQl@22)qCR+7T)ZHcJvWrdzx8^P~nG;{pVgI|ncEa{OZ+W5)yZ?W1`Onq-zsonDQB1DCb4)Y3nbsE|H_U6vC3C-Di&2e$W z|3`L5XPy7GdAGuXT{0K;-E@B{wLIbBv{<&?!VE2{9*<>;df!HK=v zM=h+~o*ZPXxPePd{?Ezsnxo90wD+!A|GSUdK2W!sMf5();^c`(EhBj%CoMMWeH`I3 zxkveU)&iF1zZ35LW6AW)xm{AzEjs<0*UWRzI#kXT*mN)5sx|kn;MK5(y{{HAWF9OK z2wEo+5tVt#Rz^|h#JUG|9t6~x&YI+%XadApSV}NeD?msY5)IH zr@vo)k=HvxFGNaCYR2m6FM5-`O8a$AN|rjs+&?B{#^Ji~(ZVUq4C9kNe|7G&xpJsX z_2>c9$j~{HmMh41JDq*{;aS7sXy#8b6PH_7E|U13yo#Ig-lG0fMtc+%2ym=fboA6I znVpw1STB2?_!QKwb6V1W8Hcyh(g(@=e+XG!zY@muuBLFl$r%qf$&)6JKb)JO;w2bl zV96sHFD^(R`efozwdI zZUvUFSB2kl(yRqA>bys_I$%dHEHvQk7-b`zrap3x&6Us7{hUe$@*8Z90 zzGud!ibdy2B!oh^GnPhJ?{ruv@;>V4GxKu(gbE46@+E8>M+OzkfX9Jv^|E*UI03s>+iZt6O}L*DS#`+!)Z9raSFU-;BHG9T^`%d$V58F?f~ zNp(r2o6NH>{KrJR7+$D?E&txtNaus`iq)$P1*_&f8d3H_^ zkuuW?UlFpf_`=MWX4z{a?XD+${in8fE$8RuSv|W2gE+QaikQ}V?U0Q_VcRL+-nAwv zGZ$T-yP)Xox)&P@mN11*U+{!U>iE_R8rPnkx^q|Zvi-)>{37Re)}M`Qur~u+_nuHb;YAKTdr_u22}Pr3Hu3)oeyOU{;{b_mxi@CvbQt z>{eTQ)k`|3B<%R@X|0zOraCEf9y9FA-dwo+?AsWnmXz0DYqywj`29Y|u+(I`-E}uj z*Hp~|+%ass6{E5@SuC#Gb7qV5;^NjIChv?bZ99+8=D59QTiC2;C$%CcCGVc368xjF zTYkrqg-+j{{>W&}tOt-BsfAQXj$J60J zMY-3#b1Q8kl5TZg@Oms?_~Y&WU#X>` zp3KTicclW>iDj$}DU9uONs69yH=21>Z$r|9MXVOveD{VL_3pG5-uEH<^`0;H&1aS* z``z8|u=1JlTlZ(rt}yLsI)6xz`LS$XuSLy1elE4YEZY-`e;+eDJC#c-_{q$q?7tIC z&U1S0JJ{_UeEQX$JvWoirrzq`7&E!_%lp2-&O^GlSc+MfOn4LjmT}grqJ{|p5>I@p zIvscEI4VwhvhdNfuY6xy8T2P`C`QzOZTP#p_Ec*_mg<3zxn=oZ-#vUS-Ok)6GdnqN zou|k%o@&9PHx}(TU;4DV=Kk%vS^riXj!U0>fA7cq6YT6Y=MUREEemQ9<6x2Uo%NI@ z>hs_4|1EkSY5Cv%U$$gvWQ1<<^P{zG?ZI~r9Mg?tcoQT4;Y)tZ(%PeYrkezcWZSLZ zv*+9f>(ooVX^wLqi^Q%`cD4H|y?)ZsE>HWkuLqy$WQbPI369tJ^rHRTha21H9GyAU zFv#m&ebUsOM<;0tt4zt(6PLGWJCszn(C4=s`<7>Ko8k{%qs6~&pzJt?zm1FO~PkEis$UKI-BI^=hx#NNcFE5`61e<3sb>1`74+I@Bj zuI4wh{B}f%BY2kRDZa;lIc{%Xsl)cATy2HV!Y$7p=G&Y+cUJFlb4SW7L4Mv@0oGy5 zJ~?#Sgt=@_o|V7)qN|G?b-tA-@yAnhuJ9~BAKG_LBy$ZL&2G+{&}CLt+zV#?5yH6-4nq_H;5-!i#c&+xu5mjn#254b#l+6J^iWC zO9J^eK6{wbn%Tk z+?qLyq?P}DV*jTnUuu7;A8|{Tpxa2xOS8ll$a$t;y`} z-;`M!f^>~;NKJhD%;WWY-xEnkZ!zmG5%KVzq$Zht{MpSt#S9IPZ#kSh*)G20Z<6%X z%obINcYZVZgg)skzw<>i#HMYp!0D|S%mC!%^&c%%5M$Yw8pG1s_bc?JAvbbL!@nn)x*UZ3w_tFXFVh|r}8vY)a>jfTOSp+T-u}zQ0G#P;pm)zHVJ}}?TwYuEL z#_NL6;Se8VznB@%3-Ws&M`UbKd~jyoorC{a@--ynTrB4KPI8OcTQ_&f1jP-NuUw|i z|M{l>(~Ic&36t7$eAj<4uYXv5lF6btX=;DnAO3)-iLR27^DbYtJpDYILsR0d{{^X2 z?2_fx$#0rmH^wDAzRH|)KIZgAM~~vIK1QCFzdkSp&MA7m)3&AIqhrS@)601s@gECn zy3-D(Z!lKu=9TG~GN(Fe=IQ!9tzv3xx9c`eXiC#UVMMLe1R_eXsCmHP{~6*SsNCt9;E30CW_t~kh5X{9QaqqKx+ z?&X;3p3Lu7l~%4+t|4i9pVt4sbN=(g{U5Ja{E!a2vD@~+8DZ~;YYir0ZPQ-fy3v<# zhr6(gZ)sKI*YxinPVogD_;XTgX;x#Q{*pJ=KJ1(yze!BZ^6Kke=gGBliFx0Q5~WA) zrhE#TXcIam+^Zy?_k?k4s^=%4i=D~mZ0wFdbi2Rg!J#FGRxf|066j{*`LRoKdi?E0 zwM*N>%N!5AKA#s9ZZ`kt4cT}9cO_>$c$eLt6Z?8&&9Z|lgS&fvE4Cg`@)cT?={GIa z=EIN4Jj<(Z^gWXQb7*_gZn1}6hkl*2I(2Qzd+p8p?GjS|schY@yJ2^6>$!Il$2Xk} zb}h;Fl6m@M+p?FxJfbHoStjpbmu!;dT(av|C-1$FvEK{-d{ix4C$nk)J=Ze<+G`bN zd@k(X)@WaRws$rA3mf-aW-nD9|G0j}_=WqEhJdc+_v-qz&CO029bG;Du7md3Pe;Wf z=Lqs9Z@IMRE%Wlu$#b;pxAY1$WvVYK-Q|_Lvg6vUd%qeUzMGPCS6xc=#y(!I$yXT) zXG~sh8ECJxqROXT@^|##n~6DQyeu|<{!L!t^YNAZy7LoQ&fXROX8GxZ&7p}Yg;`Rk zf;RkenA~iwtmD35qsO714cSKhf1_)iJ#KMl&RcbHx9x*3*5MiV-(Iu{bK^MN6tjO* zd)R|;o2uE#EiF~6kNgY!@2{k`f6?h*chv2^370K&Onqna@dIDk!p`U!&QW?Rcus2? z*wx6czp^C2wsDGB)KZm;6Kr@HeW&qsxcwH<@~-(@y}zygqN)l|?yD+f}*gV#3Wylij6t)`#pYUfUgCymB2|PW(Fs)|$)nE496{52++QFYC7my0Omn zO7D%m7mu&6c%hU2(53g>yN-9ySXfmq^Gwy&x$dNW_Eq!eE!R%nsod8qumbu%xYnLERjS$12OD)nU> z+i-X;p7JWDQRSRK(4?N^Wq(`T@0U-yyIWSPx8eKzKObgGu}*kd!mr6vX|v>pg}Yp7 zfEFXmv~cw|_ZI|2I!3WhIp@H!=wYl^?`08b^^Z-ipG+2AvGEp?Q_7tm|5M!l=u`U} z4`=q@SrG8)=FW?Uzvrx4%jD$2w!Ux1Jr2n|Xtw@$ZS@>x$8FX3QN!3cjorKk1DAT7fcQO9U<(xS~Q?gcGbG$r?PtAF29|# zx9r5Nzq;r4RI>_bOf`JvQ}Og_uFP?h+rMrH2j5S!y6oP6#qn^4eM*6atCxV(BuN=d z*=0WNoYPtzZ71~{t7&|0|JicWl`A*rK4e=lr?>a@mp17qE1fi5ZTwc4aeFL0X_^x0 zH&1ij{kKXojnWZczN>$^_3YsJV%LDrH}A_OSBmZ3t^Cez|9SQL?_B!-zxf_YJoM+I z*7y3Wfx;OZlkW6#wsS@<^4P_>e$R%(6*B@>iwigvy#Bms8{Y}nlg!tU8xo>^l<55qx|N8|O*^)M^PCd%7B;jEQ@9k+ZzvRn(XHL_6 z<*u!<^yHyADYFtSF9noI%k7qqy%lY{r>i-5(*|y_jN126GI!oA=Dm5vq{%d5TkENW zze{VE=t{ox)7WnFOImqSq2Irnv|paZa{aZRC3T`d9eRH!Wskhk&H0-umT^gR2<9f7 zO+L-YBq*f;c?u$r#KT|V^Yt>h#y=Mh0CkgrrEfKSr zdGsQ;uiD`mPbc&4s&@Y5b1_0|lmGND-==t)FDqSgXtn=+Rc{ghny1x1%U^2Z?;Tk zS$cpwW{aQaam}~@hoxNwBD0rGZ@Fl&dHj5mAFm|0^vO)MH?9o} z3itSkJ?GFB^m_bbo1;+C*^}zxJ3l{C{F*G+Ht&!*fh z>$}!vEI$2)e4j(clH^kiYfZ%GMLfM;|FLqyhjZWOEqI^SV{Pcf_32KAhL7VqN5>of zAF}6Ne5`-|^R1<&j~ux;WX>y{7l~Z*!OQG%v*zDV5^F{JvI{pDF0hGrS>6_2_&;3! z@#XzLxS|ffs^x8Ic(#!%a?y$6%g-yEpH}?-WOvbE>77pj$%~JOOmlfH!`Q=@{HM)d z?m5d@rtIfZU#_!rcwexJa`HO)?=IuqUPk|#+m@Fs9{;+0+e7oCv{_W9i`ozUx2N~i zKb%`J@9eU+@Aaph_x!q)`^-P&#*WSY&yU*K{|b)3+3?3p|KjaGJ#4<^kA+%)&EaHP z`{A^=5Bu$q=kL|M*^W%Ey_3X!q2&EOr^h#()h?*ZHXX~nw8Put&eAJZ?OVE3Cg)C0 zTX<3HsdfF6{NRk8BF}0qTK508l|RP6%4GWa=2H`CxOJ z$vp~Oyv0l{eqR@kmo5AgEyx6D=h2&+syxQ_H@W~CY{@lPOA4^%y`{av);9G4%e)4juQJ=vM`GpG6M^V@5-Y2CT| zwpr}PyaV6Pq+g5@{+iVElj)?1@s2$Pci1#pr#@BMrkyFbUZLf|tK;Sq*DZL(xLJF^sIP9$xvkhN#wbu%eT+qQ~G4Wt{buMg2K#YJ=TJg>kfT7 zYW30J>4R$wQ=jY1%Py#>?s$9CZ0oSV zsC&V_1N;BG+xJbeblP>JPPC*={>6{oZ3Sqx`Rh`yHf~+k9JleC2s@K_R2_Mk!*^kE+e29EDONwypfS{4U3B z^LY2gBI_S5_r?nYjmQg$1cPplUF>*(bg^<-tzg$*yB2(G?rbaYm_ zR6e)sC2Qw7txS0j3}pQSqJnj-|9o7YC#m7<74YHEQr#_W+iQ+zZfTlUR{4#)JW%pX z56=zB8P7s*`1_d0YajdD@ls>%M^=__`<(|nmxpPb6KwbfNvo~rZRGG> zsj?)K?bf{H8&msORC*VOZn<=9;_+=fEgg-4rnfRojY|0yKXCCeRs7wltM>QA2kWB7 zb39)x-W~P%ZTK~Hap#7Z&Y-RZp(ZlIiaoPRr@8(J6;I@R6riYEY`cA(OjE+- zx0i1XO8sw;RJZihzqgE&Unh&ntzW$Lm~4}d<^R*nAN;FsMqZj-yRvYP+S6;S-}3(n zepTkbaPtRKUP4G@U8UguO)l$_bY3P^vhI>zf5GOLLFKdwF15>Son1I*6^m${c8h** zCJ@GGF1aYQFMQ49X`lJ^aff`do{O&)izc%GYFf(Lzz~NI+?C#L105#m1o;EPfY{ zed_U8zAwh#; zBXXy{h*rF-u_RI}iC3h*?)1w4FBPkweb1Yv_uJ$!Z%){G^OKuoT9)lLeE3%0g8RVJ z=i4{P9OVDE^!umx|F5bGI0eLN7HqInkWpDsu*b$8Z1uIZmg4e}~}F>`b4 zGnKA)4lJA%{bdtNrsv_V7#*WK(##L0$COpub`{%AJ}kg^=l=mECy#CJ$)`TsX+NL! zWagt=^0_k=Rru{tHE&4(91Wr5KxaZN+{62g-9&~H3 zbVN|or8oKCZ|uG0ta;O?m5Nj#=hS0~4)=L6DD_p z()N7b{%(PU={Z~4jyZL{Wp9SZMXmrecut)WoeX&2L6 zshGR#tyCWKJa$Tx`;#HDcuLaCl*ys-MNf|@_T?wa>J~jNn{IQmSMk|Lqnjp2IdgK( zEBO|?Rq`}Ey`iym!ZsD&V!6N1jJMooKDYO`#%^<~XA3pX{9^Y~-r{yktZ+fcr5PW~ zT&AVS#IN4`;f9b`rkLNg8#QNBwBP^x@H3J#Ic(Mw1(wB!1+9<3oEZC*E1f_8$^Xl;`?c};$}{3Kz6ocYW}F=7Q@qq=Y3Q+6PgO!s9@|=bNn?5G zlCGdx+4Xxm-$rif3qN6;+7a*d`PL=XduCO0rq4Th@hj6VbAuJ9e#xEQYLsaIbfSCs z&3$*3^)luxI@}bkz+SfgZ~g+-4!7zjD=$v-|J5$C+V{_;Nrq`L845bnRqh=Al%rEF zw|zrPm|$j!$MbWq&*+~MzB0}CuE?52p>8`0XD+yB^y`hzF?~JdCGMqxlT>T>T#`Bd z-rD*1Gx^{ZXC|fxzd6KoY=dudrxN??`6?^kKb{)(lc3FIjuKo zc{!)l@s+yQIu6hH|0US|*!RD8>(6ce|J5x0-ad!l?-&vt)2n+f-MX@-S!Ai`=UyRU zZT0S=ocKkLWD=z-SBK5|W|2}Q5oCQ;WkuzUZ7Gk_rvFq78vdv0QOHN&){OPSLI7 z(I>FsXI1;bZ!K$5W9stXeAyt=DSTr}mR#nPnQf8+e8HPsKC^X9Sl*R%bFsaF$b);& zIy}`=iY$a5F=Y6B;GW!Hsd{@#oRrS>MOTbg7F_W!;1cWJ+VEKX*^Zso4>Go%S#5sX zP4(BYM$I$t_k7+dn;|uA`IJfT|NZ-Z=eG2gu$Ii0OBXcQ|9pHM{&QCT{`qVDW?LA> zO=|7R{_|g@XSd-~w@&NXwqi|eUd}s17won^QkIkaXO-#PUctPB5C0W+-`QJqpuGO7 zWlZ)F{kZ*SChE^)Qe5%O?An2}E4@2^Tu@@at-NgBv2ChPq+W8p+jHw+*?;pB3@uwW z$oQ@-?D}-)Zx5fIVDI;hdyOu>(3*OURc5{8Jhhg?)-I2kxt@yMJ-eFatSi^k%AD~Je7i)lo1Ahbr~1y|`6f~R zZKbZvKD9qBQCbKR=!tLlW&qlm(;{rYKs_}em2;go4DC+@ngwOO|Ifsen!g} zJ#=?|*=TLdx#`%fuL|Cq)1GCmJ@ewKqV3!TThngL`!r4c+KYF+l|O&V_SxmJ=)8?) z{=&0d{LqahnM*gueEy}aTio<)r;)^;X5CLAhL$}ijL#mtT>YiQufDj)ZDY~K%$Sy~ z$2PHi^Xg3I4)sc%e?4!Dq^zIjb=xv?HkV2t{pl>C?J)K*`1xi3HKr4vd%RAY zyxVe4@Q~5h2?kErQmmF5)r&0O;9_)FO{PpUEc(W}#PH0im*f63E&U}^w=(rk!(S}ZN+xKZj!((rqfl&Ne>mpgViIyw2Xu1{5Dq}HXK#z#KtI?p*Z<>egi%fcswm{+d7!X%}wdhI)# zLc;T@&QZ&=jq4f`ZuMT6c}({-HBm$3MyDxIYr}3E18j zzCpIzTRv8O#%JHl=kJuLu`7Ny_HVK=_OZ|?7wex z!a+@<=DJ?~{yzrnD<`gYe=K6UxmNnEZ=l!N1reQIMVpRnV732wS%3e^%MH~w3=Qv| zr8fOys@wUMO)1UF&gs(aeQi_Bw7M@kT$nMRb;*p0Z44@x|H)k{)40~hAaz^!^8H%Y z2B%WN(|Y%+3vaK!c)wC`t?1HUfi0=VvN=i(44tyKYEIlDD_hI%L4mi&DV$v;Kze@(XU6PlImZ*pSlv5&fY z4m|soCU1BmaOI+ivJ2DpwNIX{7Voy+{MaYmc~$>C^Y+#p_@{AXQd81p=Y^50r&s=+ zYCFkbap9t#rygI{?6l1CzvwmDCrIk}YL3i*z7a*oDpOl*0!Wu{EanX~LX#{`|Y z-qmMJOt-6RpZq?~Ewkg7;Y9<-)KeS29{MxSW!HXN#W%-9W*s|}d#iWCwv>l+8ow<{ zY}(Q*zNq3cGnd8BAB%P>25m51{q*t1#J6ihxD-@cyORCfc#G9n%iNLsbmaQ{S$E5g za~{hTdS=^woUcFed6zQ(S>bO=^M3s*{_fRs{?9qleeaz43)8dv^VF53)c3qyxw+<1 z^7>ELzRz=d{wq$h@a5Co3m5iXOn(^Cdv|s0DsR`8RGsrxx0APsg@|!w75T&F$4T>5o~k`J+{9*4zbkJwJv072YUWNpCLy9OutQ1+5i#7Ds3+wfN8L^<4J*$~1Y!?%zJ_Z5APs6#`op z1;nP_x_?CfZ1QeVo{7#A(+#(YUx=xmq4P2@Z;o38@`pB|7AZRdjF4eeV@-$n=g%~zu1FMn06o6;#kSK%I@x6&b*5iLTZIx0b4Bp z-{9QRFju%LiyJ&E<#i`(pHOl& zs%>suK5^Q?O}tV}pS@MpW=l@f-BI*(!s7h7?oVe`e>us$3$>CWwOXzItw~BE$=WLsn z{7^jh+}d?aYGL2qnTwW6_&T@bYFvBT+K^a%s`}p**3V2*EdqOyKjB)Q%X~Klp}|yRB1t%w~y8Jla~bcUpeqCt8MBE(Mx)tZSDU& zmptNpYPH?bHt(HJC!Y1toR=RwQ~N@kyg~UAr}eg~D|Wdgc1%a*iT-4ml0 zuuHDeIw{;5UFdmu&Vr|teS#L%9eUWSs1-b?_CJ@`!GGd>Cv7ihq_`zSM(J!WH(+Bu zI44ny%SS3Ml3O6i=%&nNjo)u%d@gte$LSS)nP^$2_kF^&L;)_wY59|Rf>*6pW$>Dr zaHsd?ZFxmm&&r)0Q;sb(mpjAOaHaP0ALeUPs&RFR?Vo}grZk;<%c#wNUa?id+h~%( zbM}9q!fRhDGV!S^7c*s_&Hpny-SP0Hqijo89gmi`W_IAKdHD0SjP120dv7le(Jgve z9KGjrb9&{|?%6gUZrqx#@`LH$i|y-z;&qEZH6wYyW%F%c^7nu7TtEKg-!s^|a-O62qkTU= z|BT=HaoIVBBgXqb3jezE_&u9RU%YdKtJ>VzDIYr))Rj!@(sXzvlBK{h*E(Kd#aTwF z)2o%2{B=9l_V%iTe9U2e{e()@UFGo%B1dm2;~gz0j!PfqX34A-sk=MDy+lrGi{h)hzXSXdIa}0T-FM0CeH?1=>KL2V z?52W~mnP)@_O^GKl{%;PJX4Uv!e>TrT$Xem(vGs|>)oK}UtGnmI4?bTg~gql(n`4} z6OzxwtZj%dyZP4d!>Mn3rQ{NM43?_$MC+cOS(Y5K>_gB=4Nsrujlzk$h4#OiB^-A+ zW^qG!iR5XXwI)}ePP#cE{{1D6nq~9cGy-NWyHK(*=kN*XcYZ4@<%G45uiv4-+HPLO zQtYa{(zp24acz(20MTQQ4L_MiadwqnU%(l@IeipyyUT)C)j%Nh0mH@)*;@jA#^ z*0#M&m~P`65a}ex&oN7#Va6BpKrOcjJ*QhKA0;+q$W?1!Olf#JD`D&2T{k&4ynMgM zW14Tk&nY@K3pRceQ0Q=LUy;)?LGF^C(h}c!z7wYT=Dt*Xq;aV1wM8r2wsf;LlUD-0 zw|uO&OP1$7V&V2!-V&U%a5Lx267i|Nf|ri#>IwVubslS9kW?b}XzDc0YkrfDJ6~Gi zEjQcOX?2TD_s{qG^7*YZ_=44b3uewx)@^(majYgd*+plk6Sw2MCp!c~p4U#BraeV=y7F;p zmUZ3Bbv6b1S)H9>AExTtyKMiJPczGuL)Jyi(hgo>#j$qd(gj;mO!%WR*>0<8uh3@| zG3tC8ZNb{TSzIh4dc}qv0cl?|npYKg@CB*;ZE-rQ{^q#L-;Tg)tJTXBKjzF`%FWAD z94?_{pk^RA$?4|YUa#hugV*BP-+oiPy<7I*?fq43OHI}$hjy77yFBUj`E~vOXJeH_ zx8Hg4=eKUuoo&&#^V2Oke!H?S-nRrNOC&~5x|h&#tU~rhjIg_8{Eud91=h-Cnnz|G zb(&ao`gub3i923X15HvT+@5$D@+Q0O7Tz^GS#9qLmj7$s2xct$I$>#Lvx5(xv$Mk~ z(cYOyZ_cj0x$~Unuh1o_jRlp9f2`88J@Mj!*2NXh0sI2f*sU1no^P|NYFTWnbNlE= z>5R26-^VR7s=xK%NNuUZ9; zEHP-X)C*clw14y^EC`br@DRHeoyCEb^O8;jj0N`n>(L)itkSgy72Ix z_LS#(7j9Q}+MNE_%(ef+`G0a!v+ci||Cg)(@Oiq$_jQ$5NE^gOOK;%<7;u6*fPga4sus$&P;FbvZ&qptomTqKVN> z!5LPzr+WiC1Rhw+37wq#wpMsaVN+`4lc+?_gYEl%7utP(d3_^au*~^Gb3b={clP3) zf9$7K6nBxxVuNSp|K}F|zv^Xtum7Y`>HD9;K_8Ban@^l(a@g0jW$}z#fuG+-(&O@54yFJ9@XXUNaOa5(o>htrHj}<>|ahLkGXo#_=Q(2oTu@;^9;Is z$)+z{xwpDyaV(3#*SrT)r*pni7ntThkLToLxu-jSOT69R_qxhsdrQfwXUxBR7ajE7 za_Zyh;wLvJy!zvLDaFO)&4NuG3o4u9f9;%~Ds%YzpRMx8R^GbN_vFP-vFY<~FSB~T zc*_HqtLk%9daMLbf4_Qj_vPhxG!~e?S;N2Kv{~h>$ww_OO?CV8*z1VnDU)*nQI|b? zCDIeuIUU?)Q5WC+RysChoyHUyKf65#j!osOJD4`-*!O29(_-6`E~jRfTQnb6;tIWf zp)0+n_Vm^X(-QW`FTBL*9+v%MEfdEKK4H0vtf}7f?;p~)+!E%!r8@bt3%8D2b+C@2 zhqJNLI?dQE>4ksY*fVGLF1R7Eq;rvcpHG=GYu|H;S=+*5{(YIodBr6C_0?Lr9XooG zXCGWs9(RXv?TJluZq+zUd-5jtYlqT~A0JNflp2-R*-IIRubw5>agB#>8As+aj^m!^ zID^3uHY8-K$LnYe4sf3-zcbz8(uz4uM^lgXh?v8%ej zpN+_@Z7C2qbf}1#?d|o8QGq&FePh>(Iz>fnOYG^jGS@KoXKqrtqb~Qpam$D1)|;oZ za@KoEeHC;{s5bqS(iEGqaC5=3-tYxQ$M!}q;0?W5z`g3pM}eiqGW$DE@una6*4w2$ z_uVHpozxqxvnmRN*B)Fy-)(ttv)U179dn25v*&u#XGB{!mvk*)t^X|lH#zU#T?O}# z=ib{jKb7eFcWv#wz#UJymK-Q!(OxcfXJ3iK(ohwyV43R)zgicaJvLR&OZ!>h6vl=!UwY--UbItW!*;s`5oH~V=e$&S_~IyAc)r{@nZn*Rrv0Ma#f(vh-@W5lDsq~C zOGjH;)rS?fru#TU)6NyXHf++}`UeP8a#Ew|B`DUa{}}?Ejb37@Y|Lw? zirW>o+gyDSWBjsZ%Cqj0>+NUe8pd=NOh|})GvA9%du;eNKk+u7lUCPM z)0Qa_aZ}a(uKs*rE&sgS{;N!R-0MpgQ7W@kD(0P?=|1g()8r$Pt&2{VOqp?6X~L7h zV@ zzw?{oYkoSOetSMwxn+qxA7{IvxSU1T^W9sXt!jyMl3D(w(r)%Xo^`K{-uS1h@1HSo zzls0e_dN67emXvXU)G%kL7s0bSUG=)zLq<)V(X*U`}>mR3b@U#RnMtRV%21smizD* z-|Ojo0+&u4X52H$*~m}RtoGR47jZYgKeziZ{old=yFUD$9RH}`Z}6>;r@pt?T+%am zd5_INqv2z`>xr8oai<+QiWj#3UN3m1_lvQAyT;Og>guVt*G^Qebx5e5TJ16~S3kQf{wq20CCl5{=NV=#xTds1e)0Bd+0%yiO0>>vPLYnO|7ltGN4#D* z=Etx7e-w6??^+QPysElkS#7z8#Yv9MJ!yvpLM~L9rMf+?Xq&XUDD@ZXO3B^tM9!ov z{1r3vTNS_V!AWA5#6(W(y|s3}WOBSr<>C>RwkRRW8##wjHhnOjR`yQ6SgjmI#8CLGpB5-q+s|w z{ZEbWYp0m&eBEsG{M1w5lDtdbraoS)KQTv*(6B5u^ zyJPd_?0xy)e(HE%xc6qUsZaaFL~*Wzw@#{E&Ei~Yk|4m)_N=_GfoFIw_d!y z|Dy1VJe&TfVk`9SxtrWO%>7KzNualk^Y`vEbF26>B+7jltmEdIyt{b2sxv89a{ZQu zQ^J=vxL>fazHOo)x1Et=R{DfZ88sY&E{k*jd@@pdu{z}>gL#CR-?4^My}t{L?k(C~ z+Z$BNxcY$DtKGp{PR)#8t=QmL-u3);hJuXiikQncX9s1Ao++4A*fZmq#?naZXm{lq z-;|dENbJRN>J!{@EO&SQZuTjlEn%G1_-dZk@{#%*P9L&ndFW*hTgjW0FKoV|@*1HQeN z<;q+Zk$ZOH(`E9XK5?7BpUN$D@X4i_0zkk?x7&?{lHt7cy{{qoIJil_+pf#JH8&$#z+%F$%g zEkSqczA|XCp1sD2nxE;(%{{Bn=RFqd32cuq+F6u4zg<2i?Lu#WS1?bGKvTh_ z2fM!Y99KALWc*y;x5z7$U)Q8B_n}D4Bm>vyUD3bQv|q2~zZmuThjpLQM4Rt#VmD>B zF==%(ir?SZ6TanRO}9;Z)!~#Jt?N0tB|QS32VZSeOPn%sIom^xsockYX@~2WNvkam zuv}32vwQm);iQ9)CR!a`bo|&`=8|=mb!m;S*S~AJpd+6>VVPv{=h8_k3q#j#ylQu# zOm(W0L%@gk6DQPt509H+TiT>^*7B#v>wCtg?~doh%POT8OD>-~2%Fp zm_J?0^+MO#xpwhC&R@TOMY^H)T&J7trj!rSwr@W#qS>3hme zwFS4dd2K!M+ z$?0+T6Yli>-1WXHhwV4lz8^bZdmQKKT5IYRaVe?zuR!C28#902Y+E$JY0@*vr~@TZ zo37++ylHkmV{^>Y1@ zbJM$L;+(Ux)i_$0MA#op_-@tr{`|dlhcvHDJhYEp^j0fd_QtNbo6U7} zGT+|2*;8g~@7R~fYSpTBq9JG3@rTc{S-x8SNt&E-%kUqw#+^$>9}}7jE*<2b)%Nm5 z_>Fy^cswm0y4U^M?+{q@akZFaN%AS*>krNzZV5VTdUm(+v#)vkH}%WkSTkqM=EAkj zZ#_1}2#3UM5&OcgK4;I40}Jd`&x_uD%gJw7Dso$NP5j;YwROFZEuZ~T&4I9<3sH)u9*9%IIw z6$-hTQ`%h@*Y5bgGIdF=+m^5VYTxso9}1E^zIg&u(9)g1XZpH%o~n@f*n9uCMbwOy zr>DoosP`I~wE389k6Lz*@N45+_S#!{^6K?mFz5QbafwCiOt^q zJ7SuP)w8V^)V|h#OWr;~Y{}(0oBj3fXxo~6cvHW-)vLJaCsU$*VwHfB&gB`rv;OgT z8a;kgvaUytq2gco{X41+Q|Dy;KVt1~?>Vcl;4fF*2A5giE>^l&nYLQGb%EE(%@W5~KMJ3I!RjD?&y?)}u?Nd~w=alYvG7ty#-{GKVF8sT z@6UQ1SL#(h^l*X-kLDC94bfR=7nF(U&v^Xdowi!VB+Wy57jM_`YAX6WZz^eeEAsMP zO!A$(i>|~x{UraNFQ}bEr7u3=&RxY`H@6;>%;vVYx6NP5zquS`+4h#L#7uwkGQsA# zt6LWHt&2aheqDmK-66geCevq@Z2$2sze<1pk2lZcO$nf)(=Gk&BLww)8LOnUaC_xti6snZ|6YiYk<&U4yu_P$e!zDA$UId&rGZ3)Oa;GaiTM*ckG@UJ&ZwkzAv+bfUa_GfN`pk|}>4wEsIbTblL9#QL9cf1mf; zdgdM6*uHO`j-*iEH;rl2H~!VCG)k$c;9ehaj9YADH}A5!+HSkwUz;&k`N(BkhNfqc zn^v5c-n6-5Q+s&K0nIBHXH3?X%1ykvtZfT-Xp0WRq;FsSXPwJk+!{W|_4c ziN}}u^)7Gk+5OujTz^7~?VU$Gb~-F?XZr`QI@`>!KEtc&-M6PV-_Kos#m4k;?e7&i zOg z{Z#q)Q{zG|dCj}d>MqM}M$1p|D-Kz=LPz{$Qm=RfTat)dr?`L6C4=MZt830~k2i_o zcyMd=>>GW(K?Q$j#)c$GG=I0>;}T{Z#hS^fcc)zD{Kn49J*(H>SM4+A`87E(Q?#JA zJy8GAiIr+klP0F!j99z0vdiJaudUWHw!01_*eHf~d96H=Vd5CUv_*ldw|T;~V^`Bn z3@*2?y~+9C{r^iY$JGuuOxZR}eJZqg?#I1hVMhyR-uii_{i0K9my?p@o8HP_=6U;e z8aI5eIev70h3&oPtL1-G9lKk)DaUJPnb2CHkaiCb;mTVKh(|7T~qq_e8t z#Ubl5*M_dR!kc-D|4hc_e{~+|`KNZs8}5%veDBwvXusr+$=3aEy{f8(Cuyj67B_8b zjxX6L(|zw=%S!__nWHAty(?I|4<>pn&C5BnF4kPCeywTis+&_;#-=DMW zn^G3Mk&?$2pcV%EKQ)8BhIXr0BSHJi3)w=J7f^;~FO`r}{E z%BL~$>pFUzeCOA0VN~0kboKB@owoMinDdK*^e3fBehq4k(JZrWXK7UmkH5Vj;@gee z?}Ao|Nq+Ikob~*f!%5@T32xH`{DhqKihVpQKJ%Ar+~7N0#}XABYj{X&{i_K*K`pu& zSGs;&ayl~WpJRtIi@X2TNQ_!$3J&GyFp2VS%H|J}F0V@uEBER($8 z$UX9FjriWzG}_D!%32$gHBYhIjYF}3%k)w~8()p&g;~dJnU69)eI~hqdDBb9ZP6;c zzZs5PW_D0$ZGAf3H@2T;;f`-d?H6smu;hw~6@&ha*?+5&{gk#mD|pSdc5CD6yZxU-Y@ zNssmKh;{z+jU?2$Y2AzWf0B1CRy@_FzW*`H z;yM?jlN)Rvi?CjkkNEt#j9`I+e4)0RsQem zeH|I|_mSSzWyjyWRpjv9`tq?@FI#fm(ymnQxF1*8_Rh?HAG5RJsR!RJ;bj|V>IOvW z-QC@$6`Zz6e_7$P>9SjzP9}OReD?7`b@;?XHLW%A1vWeQMXUAjwS6Yw@?2Pd*kfamB{O_dT(_=YrjojRjY33sdSY4#}I<=y7m` z?auVKOE1sa^;#$@Am~_yi?^@PQkTTEG>>PqS|6K6Ww)J+o~~PD~%cVKj z7hN|i`RHl?^MCD;zyEJ;nrz~FYtpfx1OBytl>f}X|0~?_>5|KOCrjje7Z{ZvWYKFn zcZ_?=tn434UGG`^{G8Du)KsynpK}&#(>2RY`oaR0M=O1{pNoihogCXTVT!oivf}66 zSHkrtxYje`CQX&r2)#H}h(8?f$ZT{rMgjlWp;ey}xd>ayg03w2xg{`#4fy(zR1N^|^mp zW!^Zf86p@q@!2a@fm!FCrM67i(lJDpS;9UFuE!`2@n&1BVv%UW3Wga)%x)=XH z2QP^{cl5jUj(tl)zFyp!bi zJ#V9Utb@5yr=MFllQY5l;JvwWXO|jHUDj{9fv0T#p?}Y2)XbWxlATu7Wi&f+g0xM2 zj`U`pmV`altSr5gRd<;u$^8;@p4aub<*uypMvv@_bzv8FnjQAq@^AjDkLFdpT9?wN#){r#mreO^bGTYr9-|B=}Cc+zp@mMs;{susV?jH@!Q zJ=pwLD#)w&SDmH4M}xz;jy=EbegB-Q{!QB3tGl4+z}?g96Mo&~87 ztXLv%>=&PM_wDM2Wjm`HGm1LGO`3hIqo-?5dF^rgAa|5oU__kT^Wbm!cHLWI{{%7I z$Pl?a?`FWO)9EkYO7t~8-SH&TDPXoc$Jq+Aw<{|D7+SqPU%X*^|KnXc^DTT8XSgp; zV_7t3L1oj&hi4<(F0+_Si+6plDgW!>{*FmfITrulv1W0*nl%0GRqV^YyICy!)EACR zCluKKev?>ofLmu#Ae+>+b5}bL^BgyJ(^)*v^W$U)`0kB7P@20bX7X~b+oEUmO*gctbP46f-&I{v>GMl)UB2=5nAC-Vhc~Id zy*J@Nxnyr|?#~PZ*VI{FYdr$AlFqZOjN8Af*Wu1*z6;j*JT((#?C&~d-q=yv;Sj8| zGv~gXfWPsl5J67g#ZM#_%}|c8yt!nzxzVa$Kwtn_6`Ba(OISCX0zMjAE#*E|ICcUdSTrseI zZfe(VZtuS^?D(cXGd)i1;WsyUdi3@DzoxIwvh6+0Cw~8@;+9i9rxccK)DxcI$NNxY zo?K0&r@?V)yUGd0Z-1V@6fK0#5G+T7;T58iVo4Spe3Ku26D{xv{ z?0cEg&zHX- z1v<@pE@NrcpBt^Q^ycmNca8a`PJ8n0`1TFyW-q3uHD>KSP$4lZJ3_bV+M9bX4fjW> z&Qf`DNK=0r%f#~@UU!>T9>2UH|HZM#wqG*X*KhHd=Vp)@yypBv@#j2i)F1W=De<;{DVx7M zVm0$5r`%_b`VJ?QqI_@e|H!kpwepqr^9i~nA;wN7AeY0B8t9v`)5de5EL&K$kL zMrYjDDs56>GiePHZArOw_qhH(M@`eE0#?on8dJp1s41&NTDVMBo{)0!#FdG6ooB61 zkBGE%$vpf2uX6n~`M=lqpL+kdd%EDfCl~EYSsH#Gm126lFL=d`BZ++%nAT@(ntD;e z=vEoyRJX>(&u5FAvSYdt`F??*%)36zqII2NYLhMQNCvL567k|=pRFu)T2-y~vg-c- zvF;alroFCWf1BMUD!$a@^>k~KQ>@0$ir1exofWAJ@+z5k|M8#u{~r`C5mE6xb+^~d zaqEF4_O2;OYR4|FIFll?E`OrxhL2J0NmrNJr7yWLZHkGs+UeK5Z4uMvu-f~y9qY_U z&Fwo-9M~{#=TDE*1~&Zj?U!tfV98zOJylC>@r*j_CrAE%c1d&+)85kb?O4Oltwx1Y zF5jL1KrBbCnd4Yj+?>bLWph-XPHGR{G^20-k-*B$dLPB>|E(^~*H5Y2+L9WnvnKRr z#or10|CiPap8h&b4fOW>)zRWA; z%a=42KG$Nn_vT68@!bk6(&6hbM$B+#$Xn zW?rh)ZJZU8Ex|9G;~tPH;vwA17Ij*6i@=+8T7b?@Gh z9Php(`cj7660D2Fcc=&(%NM>anfz^;|%<{H5D>!X|u=||q zB+lw(86~x|58r*b=2&>lp8pb&>m~~2#oRtv#%r>De_qO=sDrisa;oQxCz(7?Sbctr zeDS-Bp*h#nvTNl{V)j&AnRCj?Sfcmj)McB^j}+>(u!{T39^RCz(iFb#u9<<_g5Xx$ z3oVmpRGs#*$jkqFcI$+umkP(e<{a`ob!(>D+qH_BQyyA~dCp2a>vj3)V^fn0_A;Bd zTzhcr^llEuuSXl|e=^J02d6VUI{*Job;&$!m8Pk}Zi3={LOLq;-`>fqcK52?=8iJv zc;D+_WNpCl%X+%TwKD~L`@g8}-4VP(`Hj-a3jW4LyFa=LH2u8%-Z?_<g6RSuL4$>yv&I`wry{9v$vqs@%5A4Y9C$XtE>Der%;*y*Z*&4q<_*k z{(P0MfA>oNaO^z$`ufGF%TcqI?<|^^k@SmY=`&3S<9Bz=wj}6sxc`s;^w0R-wl`Yu zTmBcX+gf(+_mkqheWlK-Q#S=DaTrKU?qNLrB%z7n^cK!TD$Lt9_7+QDHp@4^`}fwd z1nE1uk3A+hcsOaTR0-W-Ie$)BU-nwd`~1o4wtinZ>34Gdj`x55u6k!@y~gIa%wx&( z6>i;y<llvMVR^oOsMss8Be%<2%XD?>=YU)2((v&N*Xicg~&jl_mZq_YLNw)sq z3tYZuoVevG7-D-*+AGjcBeZL#!h+jUleM`nm`b|OII*c@nbY%(BL_2%Y%qP;8(-)* zq5S)9jcG;C(l#@BWijUcz22^~cIpcj#mk;=yym+u`~51~ulvIBE1N!VaNRjAv2g3L z6q|-veN0R>gOk%PrK-~dFN*L?e+>>x{ePv z{&cU-Sbl4=ep-x#vFeE`lQ8cDowt7(A16*}b4_1o_VgC7bJcNWDQ(q9CnlY(b_qOl zFm1m2yx4~c+nslYJ$S$8yS>dlwg=4n|4kK3xHDVmNljFA?W*od8=HNVKY1T$p0oMB zyz`ju^}FuDk^8)u&h)Zxdi3n{>xNXL2}1WS9SS{EsQvVD|L@%k7HlcF+1Qq~E$Q}* zoJ`q<1p%ru+h(j3h@PTnD4Wwcy+JK{*3xeq1VpqFL@(}WcD>SjxUkzNQ&zgS^O)|R zn6tihuKzz+@vT&e7C5(K{&Wcwsd5Hu^UmofM8z+ipQ^sbbxP{@U+)9g=vy9`c;zz3 zr_w3YpC7gV5w2oW`S!QX&u#k2S87!vI~H_ooaU1$nw<3S5P!Y-Lk*=lNA^69o_`?X z@WI7;J16;P*X!_l=$XIR+J30@z@>ZB^R`J(f0a_q`1hRzYf0?X1T*o3sY|y7B)qSi zZLw|6t}6%lYu@eMa{Sa!uJ7@7Zkk7LE*HBPwfXxBR}m+RP8Oc(xgV5zSnpr|AsOht z%G{ezxbd(5yUpgWj4ftus95LqrbIDob?TN&J->vfg{_u(tc zJI`XftD#^y`a%o-k#yVv1Heo=IrA+F)IX*x4nDV@vBJiskTw$ z@wMmQe7;@(T)2Nb4aY;mfssTQ;3bt8F_TZ1-W__k}iRmuz=`d*wF6 z=`GutBi#1Na$V*9QzN_9JyO|tbSFfgQ;MUl5H1f~dDGy&qRY4trk_UeVZJ{5iWW~VB$-9jku@Q03=)X{ zcoEdfJ7qfaQj0ym0}pw||KVAx88XW+nc+`PU(C}fk9D?eP*V$zI{bNa&D-s@$_slh zTAnSAFXZZWt?sxoBaG=$q_==a_J_oLFPZ3bak&DnUG3NT9W?d!Cr(v({rQmmoymQB z{CGCspVX$J{d^U}7XDuiNriizviJLE=l2*oF=g3>i<|X}vZ@Gk{#>>#KNTYKzfZ5TRF4bK~)ynW8moe_m04 z{~*=$a+t?9xqx_$U>y(VE7R>O?~7J<{(CUfYij%TzKy4XR-^=SoLDh6>FXn=dFqub zr03sUx-*JNw25#nk}96!t&m)Cwxz%_>vU^nYJBx`aJCCO8wtwkKbna zb7lW;scc=D+)~YJpOv}_Z5G9xzIaP&(b}it|L*Wl*3?^IGymYhQk`iBKboDMzVC!4 zi>BM#_9GW3#H7XweOB4ak}~OJmp)&)kexr9HN%tD=`XgMX-;D;%+J4{^zhDXzXT4A z7xH%&1X#E8x%^1JQuoB2Lr!b+?fw4C0v2D{ zbK>LT=NlvT_)NBtxqPQ$l7-acpFtBPqWf>p|6?l_HZAbfu1QIjZuar6maU5lU$cq1 znn*Hsefne^A+mR_I79dJlZ;(Xf0-6^F1IZSII`&HJNX}Rwb7@V13H#`OOXlGV0D_tsrrR;xnS>ArpXJ9-5S+S zRQ0$UUW?l0?!0Deh^ zgX$a!qn|wK`nnq{|1;d5{x|dd;++A{z8o?-{BpwX+0{YMKO}K)NqU_7T4WPrV9L(w z>f=+tG%Zgk%6FOY@dK0Veb1`YBF4Fo1)t9o*--X>VoH_PS(}|nZI0nrmN}Qt^W1zT zuA1ps(Z89jW%6Y!O}QhoU&!=!9-dMEb+df!9^M1r|4;rNaq?=G7I&pcm#2M6#mx5Q zruKiP<-7l8ocH{6)@mEaiYYs?+xhKXH*R!GeVMt)li#Oje!j;W^Q`V|@tIe59=}>* zwAhAiEwknwj!z-e&z*eYvbp}Za)R#Huj-tiLKk_4$2{M&Cg$P>X0Bs@Z7)pF)|qdy z@#hBlxVMka@0~xnO{Mwq?9I6vXLs!O+_vS^TK_tZx9l-B?__USJgRuE7WF$qxNt+c zNA1Rgmof$Yziu{trO#y3{@0u>oO_xeN*((=i z^4murpEYCs-)r{$fo&Xzckh2}q;YtMc+#4s8-tE%9ldr|IqS62yv((tpL$wrbh~?b z<~mQ@t#{36id5vX<`Z)lu}84&?X>U>W{%MOC+Thyr*G3{F>On-Or(wcv}vy|UGzBo z&aXQ|>(CRGIb9YZ+RwPcf7vt4DSK^ zze(0_d?KvFowd(4zjlwQxhvG4C$n&>l8ltigXRCf%wK-Rf}6{zl{N9F=JQA2`A>vS zzk6!^%${!n8AV4$k2S}7aZhhudi9=CpIb_Ix4PQ%iUN(ovUOZuOACMOs8=cXHuKrG z#brWqXk&ys%S^|*rF`tvclzmiKvyLz!6#psv= zR*92xGMRn$@hJJh2O2 z8~4PdFTM6)vi@DA>EAPJx1C*J{_u`?&JI1-S!b(*tk#IS%;mV;XV6z35I==A`*)l> z*H*Qnb6bxx)g4Q=>fGRFC})-1Jk=s z^E>vp9}0@A^J3T$$Zg~M`r&60Y3Y>i)t6GY>KndXP}*@#?%I)v1tIY%7pxX+RMaam z`Z;y_ahG5=ck|TL^WMK-K6XFPJnh#?bHz&u)h`sh7nX?${QJLS|Lm@&DPrpyHu3c3 zEedU0prEIDV8`~?hXhZEP4}o_74Dtkx2vhqg7fp0#}cJ??wfXYvNttHXlw5+T6N-5 zmCoKhi*i^Fd6j7THxxdfmmsg@CfPb)yfyXw)QH(Dx;HM^D|78g&GGnuin|W$C5n8$ zw%%U7)yec?{+&HnmHK!ajk#KbrX8MZch>Y`PRC*m+pr|dy9Op1{0-%Wdm7sgPz4p35Nb##PiMWC4TV8cbXL8X|oj{dOk6OL@-WB%O z7&<=>IIw-LwC=pWO~od&Qp>jW8*F@x~DDk3+`zU36>w0VtE*OI_)rl{Y})BL7Nes_L!BSGo4 z#?ge{rL`7Eq$>OVJ+}XK<#8@U-LLKYuF1XscKHzptIT`eK(D}cDS@XZolgBY(^NFWY zfK5lzUy+-WvZuebv#L@#kg`(I%QM1tUtQOdC%)B|>N%5?<}kDzW-i)#x`X|3kN3@O?#lFYno}LSd29u0OT%Q4{=oZNde{Mzv{K_HQ5l;`f*npDDuV{4Xdp?9Pcz z)%#n&E$#mBQ+qYjkI2*awwb8(Djz{& z>#C2ud&{S0R`c=t{ze0?pI_YHZ>ZXK?%_I)T8U)YlkQy|TlCj2|K9#3D%fC}dHu&q zzA~#GHbJh_H@&^@?AqG)pJ(uKNwxyiiN2}}p&y)T3_t+lj|9v(6R-!(O&PSDHm(EN+>+M;v-t=K- zdRS#aF@JpJpAX`H1X^=CZ@gqr>tfoGv7hCX(M!7|qZdu;t!h6vF{D1er&uv7W?g6e ziqn02l^zz{{`#r= z?-{4_Z2H1)r)~78_y~i2xah%2M_*B1Q|^1RU$_=PXdXM22BoI>uj=l>>NU~yYJJA!+r(`1*@n@Ja~ z9DY|m%9Kx5+V{NcMf6sUPKE&6ZuAQO#bbI&e&_^22j`rtH)MvXA&aIK~ zdfF1E`Bld?ADt+8>u>gSMwX;seB7g@_H`Um^L|`j?wW8!BI>u(8O!=g(bXxfGGAKV zWL(?+{yy#^=#uD@yw=Bpb7qf{Plo2z;vf4KU6-1y`>Q3{`G3ZV-T%)Rr_|23|MhqJ zM;lj*&XXcG)2_YNV12t-QLT&9S@VqH!qkG@{hbTINOyWKYKh;w6pUw``gg01c=E5!^_xVT#u zD>J!Iy}SFXVHfYk>%mcvpSQ%QD9xXsxwe!0*8QgypG93%J%Xbmj?Y**<^HT0JxI}T)z+_(S2{Zfm@hWuOS4J>vj zPL8PN>0_C*Mlassr=+K7(#`#U4I8!;dYRpyqUX4C))I!hjNiV;yZw?r*(kP3dXv6= zcjxj9{fTRYPR;ofmY92HN3HaQCt2bRE>*WL-K=AjmhS2NV8pub?eYIss~!kSAAVl@ z*HT9;nRl}1nFkSSD=*C|klI+bv2SbJ-ruzg#iN&tT6CTWbuC^Hq;0UO@wv)g_E^TR zJsY=}soK_j+-cgwKW}}fnjrh^*q6O8G`X(Y+?;c~MCdWA+|4=1Q%qE4j#o53`?vht z$}6Atyk0%ut#X#QeeHD5cq8t4&o@@Z9a`XX?fFIBiF${fek8c;o3Sw9?1Rc#?=E&s zH7?Do&63`d_B1C_YKB&CsNvM8nbGs_iHSW=lCyt&*-~c719>*7)vjwA&(3yVAo8Jtapu2`A(u6mo(P>L`JK<=j;({{ z>6xqj8I|su%E>G#tlU^R@!!L@A{XV#qeH^=lGZ9}m;}bn`*)8!Vd`fYk+^kS*OqDg zPuZYu@_6T;`zaf|w{3Y9Q_gQ6EOeppN}|n;@}vcu?>tVa=-3(%HQ|~1snf#W%4hHh zOXhg1O;?YedOr2i?uE6Vrka+xovNs2*I(FBlgk{iuDvlq&g@Nc4u{yDH5F!)Gz%&- zvt`>I_Gk&WFJP{*cVB+}S@ge4{a)OgPK%12_q^k;U|6rFz4zxU?@9CS?7OXaqT9&0Gq8Y~Lbp>0E7FN3}FIp)Yd-!td zb|vj8pH4h6b&rSkT!>9TFc!Oy1M+NMnh9{=5%HI0G#qH3f z5C1wG%e$^Mxku_WUvueM)S8&z6*|p0T>4AjvW5`5dAm0qx%M|%>#R*-MuuLv!L_2- zt+GBM!LfRuJ}fxxWaj-l|FS1Vc2XQhjA>Gz|C!flE^Srq>g84E5`36m^wRD9z8^LZQ;u9Z zCG<0jd1;N!{lih(L3cSUW@zhQuKL2I5cBJav87Sr^8W4Xy*(~O_;#A?{w`-Q_e&5+5O`oT~7Fs8>r(>&A+99n!YnCYF+V~u1 z;EWg9d)J@&QiE!Aj6z>k0`KLCSG1pab4y5DHw%7D-~agcM$5u(`}cdrH$+&qGf%lT zWtQcd#<*;crJC9a7N&3PUro~Nvgj1gsATI&HR_6}{@!IEVS4B1m31C1k{Y_=EmK&w zl)L!ei1M!8dZ0un;`mB#?-J|UviCBDq{Mjb#+N(RecPby6=g0jZVY9C4 z#dWI;`+5#%>#P;ObtSy}$tSzVfjwa!;Y%YXYIj(DIk=cFP9e6pxRs~*-HfTlp=%6# zehDuA$MV**_@d9f!$&q)PtfzY=8&J?a7oBYO#IW!+>E>LKb?%P-($*nmA&q>_S&L{ zS?f(Fg`Aw5EMoAcHRM&~D{WPq_`)9x+|{Hx6n@NmfBdt}vBP3pw?6ks*;&oLeaG)d zpLN!C7%YFm9wFvuuc>oz(HD+6-{dddt8VCZ>gsh(mudO_UOn}w>d$poKG#o4s^x58 zU%%(bp;ZhOy;KV!NA8l0W?-*wV-T^6t?#Gcj5Sn|ze6BfoB z`yb!=vrEQ*W8uWV*78dO;uY39Ugyf@+4)Fm?b_@s*Vpfwl5BdGqd|g^L0|dd@g>FV z6V|yjUiS9cGsW|{9%tDD*3>;cQ>%>u%buU@+vRrV*EE6KFG@V&WwYx0&C25Eo2CLhb{oV&ZdgwM^VN-;b9^^u8+ zCw@d6Nxm@e(VL^8HTRSMFL0GPmQuvHyS#5>REPJ+!-{vCIgduQDLf90*S&O4-bm6* zH7$9qLfqn}dk<$^4wrsoCt&t`f%K%4RU+Aunp$5?{(j?FGsQ4FJ}_2ehm-c{-t%uB zUT@yA{^7;DdeB5asX; zTKO~b&m}F5qbU^{iYJy#PLs~DajKSlQ{rMWA&%?jE7nb0y=SaAzoS|@prtu>(ZO}E zi#2vMOxNsW{K{2v)2eRULyw4AHL1M{`%moHeR9Ws)_KQw)K33B|6l)~X89j#MK>AZ zGvC!c>L~Wt7i4MdXe&#Wi_2bUd-maCyQNw4y3gxA{wa6yNWi+Mk+#uKSLR#jzh1xb ziMFKJ`6-$6^opOCZ`<*+KELSk{rl>Z`Bj_+k7@8PYZefeZd#L8zqxh##RQ$3P7PZ( zYzZcZMmbDoB8TsJCC+*{kfXv(69c%P?-{Np%Vr>|Y`*U5`x77u^x>J4?KfBhys`&=A4 z<=n>l*UbsKKWA|##%Mfxs=}K7h;zY5qe}`ZH~p^6-|F$6RUMKWmPkYMr&?_q?RvkJ-O$Z?BL%TcXkG zv3#9L#@lb1Yo;x^YGLrkXXX0NSwXcMUG`hMWuHi4-sSGRs@En;yX@W88#}I~T$#Ph z>)_*!E7)3-os)N-m>h36Gxn2;GV`Bz>wPprmNvfH|L3HA-5Ohluetkw_*uVcfAZOB zU4&iu?xl`H@Pw{WP9r@^*VgV=b8NiJL5ix$N%SZDBe=q`|DGs)$i{?ZSfoT zIc(d~HhtpN!0O7*y^j^|&Yk^ZrptC+wib@brChc_p=!drzkV=I@mBr*Q)%)+yVhrw z4m+4FUK+m@-|@He{=%S>$r~e9XUyAmYR7(kjm?dZ4zV)Y?zP$bS3EsQF)#k|KQ*t) z2x&{XhMt4>w0~GCzORTA+`q-iBy*xk^wg^6mW>%N-|lBQ77$liR(5>N(Id{k*tc&q zTU1};uyUizwgC1mC${{wl&kx-U+B1E{nzk+x_3L5Z0~7J-(SPKddi8W;;4cm~_s&J(q^5<#}%YLl$|!b7-g@HWV!J5Kx=*(Ed#)PfY+oAudgtMNE>_5D_-l_I2mzBVSWm~^0 zsdZhNyn21?(yg^;7rxlE_OWjGv*_4_3xb(N8$_f}^YppC{88||!8m-r&-TZxu8#^P z{F|$*XDBJNWB(gY{e!1NWf!vl`mKL*-sxMVajy(*E*B` znLU0dw(>pCldiK@sy9VsZjXy8Nu03c`?AAg*W7q^RYxTM+{XV$=o<54UH`r5zO#xo zR4dE4k9Ae~Kd(4bB4jMWFP*VwSC`Xu4@r-RX^p-rp47CkFMQxw835emg@BL35G@=i|rCLLyIMJ*3MOQ zJeT~nCe%vXwe40?MLk$9|q^nBgb_(S|gGI#d(1qEd3Et;}y&kvRb zOHS!Zd7rP)Wr)oGzj=X2qkXwW#ZD=&$SvVdj`IJ_-q4n_&ci~s@afz5&Y-T$`tFoR zS^G66pA+VP{NbGZByICK$L1#*+0^u&uKzq)o@v3(O)e|#Ztqw4&*}K0BPX%(@!4>P z$S%|H@Bb~2eY|EWc5d&~z~6CFsy2JR8HpX8sqLS%QRLO~Cs8~8>@PabJ*`6PCYNyE z28Ah!4ljAUGIv?e_qe=rW=-eI4c;3!wwQ|P2T$SY5i~e`K8)37%O$zm3wM>{bCMo$ zta&P3_d{JpXNHT-&!gE#CN8X8)ziuIxNu4p+up~5fjKL6o^T$&bWnpYx$J#u;662( z<0+pTy=9Nt{O)}|gHJ7mOL7;xZPT3dx9?R>-OXSALY9AN#tEnN`V$*WU8}|HUnfpY zDk}Fdd%wK&@4PUP*^*pKb?O#;v^o0iZeIp#hU!2dH<>4hDW|dKppoROFO{dBoLM99#Pi)w>E@*U-*x}L z+-Sy7w^UO!D`Ue%zv7J%-np9oxrXO2_C4{DziT71uFle3M(WpF&eou|yesK#OE`Py;9w-eRRuywo`!fAlm<&3pZST4JZ)_RDOlTj`g)Q9-nIuR!*aZa)#}Jv~ouoVUHK(#7-8 zBJFn>yZvj!H-0nylD65`9Qdgpe^}!5rI}J|@7m2%mughocIO9w|B}-M`buvi)Y6>R z%}JHX(9%}@m#$L{_E_@xhQaKL6ITr+MiFQ^*`+mpLbB|N4k0ZqnZ8jXoD?B3SDpnyyGxK4gZi{*@!pO$i; z4~UIOw3*PgYw2eHqAwrRe*bPy(D`~)>g{5_D9v?yetwpX(*Ifb)~i(g?(LTcTOTVr zu5;K{#TdZT|9;7l*$T6#$L!L6F>_*O+Uk{^vE_Fn>XI98Onspyyk%eA)tM7p9F| zxvWUebL!urh9IDOh;w3tG6V=X5o;2xFihj6n@02TM5pI8--R3H1WeZjHR{!?f zA8>0`a^mk}?i3=+xfA@K5{XZrBf6rvk?MZLl{Xeza$@KX;NgsE^ zDD9>>{{JglzL}o(TYBQV>)Q;YIYzR_6IADBB%S_Mndw;f|CZv$jXGcxgpR|%8V%?vMsT;a#P9B%~VQ=@r zy?-nFgSqvOFU7x>;eE0FctxZC?}P)VW@_zpa@cRHCUd-}UGe$6D3|J4F`5hRoVjQ# z*Vwo;SoG6V8#V5!dmFx86x>=h_2}hri<$~y?wpt^F@N8{DC0N$t%?z`4vd8+OvZ}y z_&Sd5PSADCl+_Pb($Gs-R-0pU@bnbUPo-*qYYTrb)~s9Bz{#HBKOtsm>Lcy*<@MDv zcYkyIJ^Wil`chra>#6o?bA(wx*7%nHXPo>`@#wM4w&Ue9_`Y$v+pg@te|vdxg~LW2 z)Bj74N$z6jm)N@f#58fsUB3-~wU-}^GHO+7JyyA8{^4W6e`1(@TEw56m^S@_mC)5C zmsYJQy30PplU>^Hf@5DsNy|5zu3lcY*9mLXCfvBYa8p5-&o&RW$q!%ed&2$m?f-AT zHJ0AkcQNs&Q>#yyu)k}~;qw_jDz%@F9p-pk#iTb^Z{qs2jT=vt7;h5^=W3Zec-?1COqi_A@}!Hg)vN8LhEuiB?d#LIcy0wRTKRyB`?YGOu+F^n7moxa)lASF&IgI9o=;+CJY)@~L*q8Y?bBfr$6`Z2w_H!P` zrAq7Ad{z&SsJY@$Ep=b~T6XTv1JiB4pSAz~|6a+T`uY|5zmJyRT7JKbi+j(9g}*b_ zYEEl5DS2-#_wCfnSpvCR7j3=ozA(}z_Fzlfw|^4~)4Rgt>_0!fucN(Ne!*7%eS0)A z%@(pIO?~>~q3Nvjd1AE;?tGs%n_4QcUegM2+T;0RkJaSzt)DL3pZ;oBPG;t|Tuz}h z7KPOzwcqFT14duE0xTv4)RW{sGlcX;jE z?4mtlUA?Y0_TBSEd3Psn)2=xt=}OR@|PXccjC7(iWrb4P~LZNfk#v zzmT`)KNB@=euZ`QcKbsQ*PY1LU!xbWLbuuU$!YJ1*GD1(MWoU%R(#>hpL9k1Nf)=! zHH}2MEd9gRYp$0IL^?|x-}6xWd_r&HjoF*3Hg<&;Y`MC)+C(k>+>)8h`X3~Cl{c}@ z|Fv24W#tZG!FI!)Ne*W33qP#TzyEc?jT4D$JEk=)ywAJTePQd=%}+%-KF9df?Xh=Z z)PAm|vG&HUo69z7R5gQ^G4GZ8`>o~1SN=JDt}`v-zf^wG7Tvh<&+fgiGyFeZeeEB> z|LM-Z1py1zPGVE^(mWR%%dmC^k8;^uq0js4?p$to|9koSjndC&zp={^+?l6+E$Yz5 z*AK7rUyQmKqy3P*X;;}dHovQ`E^2`RtGRVQuix`@cW2|v6~3u2g)(}dpL}JRb$?p> zS^cI>Dc;L3F&p;15K>>d>t$-V-r4kzMy229E#3cL$kD9(+v%6zn--bqP0YP%qB0?A zj`&GYaf^FXwk2)7>b)qcM=3go>!PNhw69l};hVcZYDEGf_jW92){K;snV_q)WEV4g zx!tjc@9eG}T57&8`kZ03Z})5mr`DC19p>Pxf)v@ZxiJnlgRM+GMS56eY>QwD9y;GGq zJ+9ix#B|M`wSNC^F|2JVT5aoFYIy$KUp?*R+6gU_17fF?yj(oHT_X8r#iGXNo`=uZ zRUf%`Sg$)fb^7sgDYmF8$r(3-;!g@nADm?O?@hPO=TEA7b8jAqaJK0E@n*iwle6^; z59Gg%J^a8an)&tq;J&OXS8~Poo(1Clt$ncV>HQ*u8x9yYy-QKDKD|a2&rh&GLikO((XsBKDuoy?4y+ z_oi9;HcF9&*Uu(icYS5a_CL<)uoOvb*jz(E3k4KuVYU%TCyk7;n>^R z^A~LY-*79bd9m$7ahsp())#gi7rKA^VZfBU1EoRJtU6DAIFWmP$)C=c%+3Wn+-}@w zdhm@~e%ZA(3%4wqBBpcp#pQ;Y`VG7hnbBd>x4pVKY4yevVd>YCDqObJbXmM=YP`2F z=DJ4Dj=!I@j|85H|Nr%WPoUW12dC>END8t!7QUYvyN1zzF^BWYmG^gEKN@j*gY+cb zs!Q2M+FuptEf0vY*%DWM=+jNE#pgs?l_r0Gu~oHrg2c>3|BRy%0rQmNc_MCTaQ^ht zta4Y{x2b4bm*KSkyFV%RFeQ1rRo1+ox!j;{=88>|9y&(;OGp>~Z?7lJGV7L89M9R0 zEN?YWos~K4*KutU+xh8BY=1oNV_fn5-`4Y+8IER6^HM%uBC)hTWZ#@bn>j{rJl*A{ zY>5kcXFO$Th_=U8(RC?5E^%?44j0`Y@Z!j=#aq6xn29Zk{{8dI*2S+l=iZRg>8dDl z*;aG0R`0)$mAS`WChnW7HoRVA>a%{iRoi)K(vH8!9z1_te2XVYueRX%V;^@}Ph~T)7xJ|4TYD7MtJwab6yEaf?EM~)>q zd8g-hFc$HZXkT?X=c9czMI>-l`qJ8+(|Wwty+}?Dh!Siwe7jfi=BD!-44$1c{{G{g z@%f}V?Tij?DldAruHg9hIJtR6!v941rAve_{r|3R|EEH_ zVgL7o`J2RUR93WHn)U5ofX3Xs624gwueCs}=RBxL&U{t1bx z%bVM7&i7;C^L=7VZC7Q7r-pW`A6eL8_Clfi+vk?U(?TXKjCp!L=hC-tanqz&6i%da zb}jcivoPgT>)+pf`TYA{+pgH_^K0I>P3nFYCs|6qy$^`p^`I_XS?>FW86n{bmu@bs z{&B#!>uKcHMcn*Kh$_HpC6~*rxd2Qzjtl;zZn`mKTiMu5^wa_Wu)sBInDoihCEM)^5jRdac+BBe+BVnFRV3KbW5PQ zcE{br=YM3V+OkavOW|&kmrTC7S9{Ig+wn#GPragjGk%_1{fJZJ!Qub&4X?H`&ATS^ zzO(2`Cp-@pFnR=@4DDu(*^&G&QO-@S1-%K5j0$u)hO-98Id zcqQ$AKm7e;U((ApOXf}qvZ?qvp+?o+Ouue+P(Y@ajk&DH%4NK|^*?p%`QHAVB6i-& z@M6#8#ca!0H1eH#=kF@xFClx^i_bUg!m*vgt3TgaxLjpU;q$iY^H%R2c3zoPl)59y z!^bA2qM|+Vxk9hf66*~`zy3{oyf)n8mayurXQ!0fcYnHjI$!8*W69U@dq=kHH!iQ4 zR#4Gmc+n@^Kz7=-#r})7EZg?4DrIY6Pqp>B%M(Ad zxlR@K*k0#%v_6yk{nz`Yzjdxnli1R#9I(cW(YNp;(+!E%_D@A`?)_l?G*#-F)~Bbf zA}ybbMFXa}>;DrxCbh-1=KcLYrX}~3x3yjWFFBFVc%xz;Z(xo@ne(C(4=M{@6*V`n z)qCvNa_s@T++@#|j&iXjhc6U0-rcQa5Vh+0fvC2(oUH63(^gx`#n`(Cg+A zQ(a4r$RGZ`RfI=z?Mij$<}iaC-;Yxs9Xccx|NV=2z>4*|fA~%=HT`!o$=qU3Z|`vx zo9`(qS0bOLZb<9$`N5-pCoOH>fg_TPs};g$iayX-u>X7Hn>m6fubb`oxbeSVP<8#o zukRhQ`>$Oq4R=`*{Bh#pyR`>4ZP;Y9JRwF=s@z{@{R`e5kAu2$5;Lbo1}Hh3+3$(z zZONFlLZbJ#wMP1nraxA5=Za^}t6sgt_AsYAf4qVsvu9dD=fjVT8Lp4NNK2H;Eu7+O z%-X(NY2K=-%QjwGQu)fWPtLMw(znZQ>yyfLj^1KA`ph+;E#rpoYrPFY#T)*fYS#?O z{&PY957*t30k6KTeOem7?cBk`auorq(mS0_%IpYU7<2w1>#Sp0f=fl!w%n?`?DTy{hcI>$|zxIwY>y=dINS(Cb5+TNrzPx^m+qRgzKdJE?{ z9c^8Xo1UC5mAfaxynVwahvdha0kd8@s8uage08XK@ov44nXPR6>uS4-EZdJ>x>Moh z)c9~>h9uMR+4{Rr>NhNMZ3#RSID5_O?-{+RpQrxsGir0%+i7a}Fy&1ApVoM_V?tMq zuY`Zr&^3AVF`&bl&HI0a&%#-%Cn{7XMPGf&bSkRsUFn6W#mq-!Mo9&No&5%D)EEa9muDr=reyQ&K@3xVdYgQ@t=>Gq7%v8{L>jM>y zip$;pmn|hWmF&`aq!1<8KF!DRapf$FZ8A0@og41|TY7wt`2+sHujX$$ddsI^^Hyt> zIbPkbZY@%HVO@TE$AO9J_ck2+_BPpTYs@Zz?|tnRlKg8IhD^JlC?mBcD1+Dj)4BXZ zpP3hBzImjrSSKPSzOhW_%0nO9(xuhaht6r42q_yRe^=#oWbl!Bl)B1zzC-4(>iLEH z1)B0E@Nyh~9q;)a^fe;Kj`2vuYKt9z1CxX|S3J`cXY!c2WqO)B51Y45 zPUq}^+XLeM(^dPa_+u*@O#$%syn;~ z;(uM$-zrx4{NSbB{*A|iVl^fdZvA%nUdy+G6MDOS%VZpxbXqqtJ@o`(w0mhXRb`@%ebo8FUCr*m+X9%l_$Cl@y_LI3sylk?}&m!4<1^z^uku)1oR zXV|Hq4i1{Sd3JgZ8>ZFdI=eV+@Hu|@$_^FL+PH0#_D%N-$&T&Oe|fk-L1&|IElXUh zyULe`Ki{gD#Byg&UDV6oP+~jF-;$3n|D2GF*r&7JGdz#yMw>8iv!_Mj*}xs$K<6m2{8(2qY^XYs2Ud%Law ztlV0h!M*?I1FIhkrl`stnk{d4`1ADmM~B$YPdc0Wf$3<9foeDpi~P!z&fe53vYRVb zb$t`{FS%qV&S? z@2xuwixiy$KAcRe73sQmk0ZV_{6nLDrM%bgly2YYoHIiI9i2SwcK^ZCr=CCl#{2wN z^Cy=l#*q*2EL>i=|IbR5;D%CD2EHHM#~Y4JdAOl<{@0UJ{Fd8$-)NouuKCN}l0)Lt zGV}L0m=<>3OYiRNyZ^?b>5$SPqls6`jc%x(FufdducU%woq$$!RH4KDp8FT>*Ei-A zO4^6}_gCM$%=pq{PGQ`MkIm0#_F4IHq#UedxHPS%&Smj737!^}0a zntkhY%ybpk+>Hn9|GoSFtwOqC{;##`x8B_IWFo6%n9Yt#k4f()ed!ShW0TeFv#j0O zS@y8{c|^u6;o~w_9L%0ywv<`8c1gI+(w{T+YwZo&YQFMhOjWv}rg^3FF7t%7yDJlC zmZ&ICSRLmV9+$0qv4CILQozq~nMJY)lZL*#P3ipe6Wfj`Pnftij!7gcJ6DPWFSgQHL1V4px9uA_X0jJZFr0~Arc%t%r1~UV zDI+Rp-f^w8V@E4_3vWDs@NT|Ez=fckH4}BONPLZXu9|#uT6oYp=4(dp-cHcgoy@V{ z+A3LH!km7tGI32^8F>DT8xd)Hf?a2dd=sU;;BOi%lNy$Fk5_{GGX1jnzY$L zp+{`^%71;*`PH@bvS{G)=Gc;f5_^551&{DK6 z%|-K^-A)gSiFVEXd2$o=(>X}3%36M#2a>Cdac;??02!J zABOpNnTTXOd8WGB)`R(2bGvNY-ONpzUc4_a_l5P`epF_D{nQVy#kObp_kOevjGDZD zUfGKMhmJA(*c^2c7OFQ7jw+5jQ0n-E@$FRC#2dW}b{tz$eD`na$tmZ~+=(-Ha^HKk z?w)OlWDCNH;>hk23Zi|5&wc3+6?UDJJ6 z{jY35SIu9hG%eYt+qd|HOSqXi9$xxwNdg_#1Te&uk z)h|k2{>wi&6>TO_dORXka?8?n|1-)R)bvwN_Nr=5s;UT%S{R*tGSsMt{StGbRhPlF zMWQCxyDR3ouUD;^R*~hxd85J5@ch2lBFC$1E6*?8!o9TT19Qz;`=9fU-vJ$+^`Gmu z)dcqZ)WvOu>wY|37jgI9#ekA)4X2#!&Tj6jW?G|}d-91fQ(I<-v-gCnU-*tS?Z`fQ z$&J<6P=mMr>D>GM%bEW)b#zN?|Fn3^;#FK?3u9vIel5`mxF$5^dOCZ*mnFlr88xAo zN;<48hr>HK}dpjZhtmEW%<-6-HGtc0)JP|o_ zo$oURuFkKz*GiSEt{SJdE;PU0)zcikzuWbfq{edBf-f(Gr${Yl^xl8ftA72|V+y7$ z$BxM4#y+n&&pFA$j#)!*@5|3m_i$~UssETWwEEV4)rn^}YAj=3d2~9P_PWrSzyEwV zI6pyGXHMPb+g*t_?yAL4JEnc@Z~2{9ANJb+HaGP8&}d%!RdQj2#)>POZFbf1M2Yc# zRASk~nxQjwLqys8?I%TzHyQCSb4iYzdpO`$e>8Wt|CKT zO(|X6ul41t%2`j1Q?ED09O8Vcxr_bM8yC%&a$o%Secx~YkL^K)KTku@hLTn1{?2aC z;Jz4=SEjc7BXj1V3A$Z|98A7DwHU5{jN=dZ5}mBY{Zm9^y;*U_QpqjLGen{?@BM$a z-d(fb>2H$+$Nru}leS2?XC7Poy25d4idM$*S<07gh{bGOa7ORwlG?c$Qb933Q|i~) zoY2$TzR~2e#g5+>g;QC2dzXLsG*xnvd|#&R9}|VCmFwj=E7BWpY&AHpb&x0I(XshE z_V~?>INLSn&Tmh#2QJ?f43%zrRoSz(n?Dtno?I;9(Giq5n?6MkvvdU#v$wKcc<@AS2p z3-I-CjA)yid;Dep&u{bpxi3;k(Vf`&^H2WnCfA~`?z3%qE-g0L%N2FeR;qbxO6>K= zF`Ca`C@Jw|tyPWYx%6mJk+Qdpw%g&3Z+Y{3UbDrl;#{f0$9wpk$Woo3v#zYwSgLVl z)0=xQ7t|g-6eYRzVaDe6Pd5LK`rAJXd6558`u&!jP7dpoqDph0^Je&O-ec$;D*Kja zM$a;n>!;pL44ASyvgoJ|*XghRUAy1@?s}FbdGUgHW}$HOt=pF@-538nP`$4;Ln<)3 zo|)5p!S3IgQ$BIb$;#VSB(`+3#!^>Rch1ld)hltP&NqHn>oc=WS+wPg$!EQ7C7&!k z3VRZt&u|L8(#7I1Ti;^SoBMy5r+hmx{k4d=Ued;uPbBtO%~co9vbo_J8F%=f_nqHc zTqC6(akFZi2wi&jMuNF*oUm(2nO(2z#)^;K4w>mTZ*<;%TvhlvxcC`JXNIIC zk2h7ZIJ4w9ZVO&e?TZJ&R?L z#gWU6F41h6c~;_VttVOh?EcFfR*Gq_xKYOD#4~03Y75@>BNh^u{Y?D~><;}~89;XSu2dr0^bZLhEJh=7nmyAzK8%~_il0Po=e|>z0 z$7%hR2j3n{WtPfb%95-W&v#?rT{d3vxb01sx_;}+G8_w4O#2ZpR~~p_{{Ok_H%D)e zHZk{7G51~k;=3yAjeAr7ly01rdOjWZxzaYvA_spLnO#EhF18WBD_80} zJUX^F`~Oj2NAHFEOx|-a)SPQmh+C(ppvak#u{3{Sv~8=!=CdCvCbxRWD{b5n#KWII z!Qy~rxR6agcb~kC|Hh47N0r0PZn9b`B2P?Ir3o_j`9ji|HIF(rxS`Ky<&uC>XV zthv6~^vJ}D?vE=bnN)sPH&E%=Bwd{aTl-Df?8BY6C?@ZF$X?fQ!zqRL*s++3 z+lwlMyaJ<7UA`qf;bdjzjj%PGKaWS9K9nV?W3!|1z^$KF#|~5&q?*hL%6vAHNBQ~L zh*P~vZ~w|gWk>C<4d^=N#hL9I|DYmYA>!&xF80~XHurT+ZhgqM|5Y)a`Ssao-GG80 zE6yK&ecWbO-I)Xf*M%3o0<%Ok%s*)?KevcUw`J<26>Op6#ZS8IZZ^IDz_>Ho@xjBN za!=jlbmr{cb7ZRdnr5-C6`KNb<}ABm(Hr!x{Mw?whd52{9}`~rrg&b<*0u#Zn!YWS zTxlA-%liD~+kaJBU0gycd2X@u^zjF!-aGiQ&g&)X%$&G=U0zWli8H_O&*0$;^jaR* zu(j>s#v_N@&Hr0pT;gq#x7@NafaPfDpO~`~lN0XTUUIr^Nxs!WXQ4^v(TSU|7(G%Yi&$S85M+ z8hEhZo$xXu=&HMQty#YO!mVlF>)6+_?tL%Q_hHKv-sfC)cOM(h-rgtiZJ7q^*QrWd zmogQ~ET89+yU}B(<}ZeBX;ranT|K{q+2%@ie=3xHRr~*ot=UK2$raisD(CFfX_yvd zAlt67_QsytIlDrto&|EhT9xoOsW~qFkyKrT*H#<${#_OOo}DUgx+nkk+lMWOf@gi- z`>^`Lydx=I+~Nn%U!7U9J>b@1?oaO;H*3Ue9P>OHZ6aG#^4{MgU|mw}Mb5GpTQc2E zdRMMF;Wf)dit$;C?fJzQWbXW(vEuoT<<^NDQP#pgN)}e{I^{p-N?7L4olk<6Wgaig zpY3vE@s^6Il|lX{?;5rq`V@TTA@?-TdVSkt=R<=*EvS`-8dv@IKeJxDR(wv2go*jR zDRt%(S(#5i_#vpFaqYUmvmT*0hi-iN&8g^V!#;!W+l(*U{AI%5f8d+Br=s^-t4H0s zuIJ)+yK-OT)Hl^s`W|B4em3JuQKnZ+MFI!Ad(GkB_6i}%EfYSst+$$bjW30(PO6A+ zx8g$;CvADzj3--N!zyEexG2`-iF;A|2zTKyyr2VZzsq&`FY+b(OO|I8> zx*co|=j(8OIBES{an*To`94oVn$#|9EUb9EJFb~4B0{%#kLiN__K)Oi{_CGgF%+~q zVR^wnCQknZw_(Q;lQ6;FXqo)j`Ewb%ejU4N!ZRWHvP#|J`RlzbUW?w`t(m&%=r1O* zqZ>*O{8_Qy{-u$S@tlMkR&GB&O-k}M;Zgs)x5U)vp#AJO@k{RuFAnqFJL|&IYkPcV zR@|C>d$-Syz~^g6`hK(J7yToaUB3QP2-pl`B^XT>jw4L-i9+ zrfcZU5p>(y_%Xpfi+4(epqPf~xe1y&Cp|S*wn_7sX_~H2nBurlQs&MB7n!9BCv-2| zs$<+RC2RSHh)qkcid<)K{r_NAN`bG>x-GN(9z2QJ8#DFYJ=6AJoy274-PfP)u7C8r z)jC1<>}J(z`eAo$PcLD=U^^w?0@GBtc@Go17{ku*(COV+BD-Eb`{KOg4;Ra|o?7#4 z>BgW%)jDpDohq!?9PTcan;QBy&cvq`uu=KQDP)mh5)9C7rhQJ6C^UJ^PmS`I--RnmjD2@c6VLjjOxDQSNDa zdfee9=XX@|ukm$e&QAYy`#~0KjNy4syT6UXN^=hj?z!XhU0-Uuup4{nE=?@||UcqFT6**UGIE`Wk8;HwA|@Ra{zH zUSR*UNaN|ky$!csi9XEVaf{nNI=Q06cyIa4Lz}*cT)AK`66d;XN0Zm-*|utbbGf*u zUq0pD@OZ7b#Wleid4{}=oRZW6n|bU zkz8^A{$JiL%Q@DzboD0xE2X%e8t_P=tOf_u+N=v(G+RElo+%aQz;zsU44cXRa+!YmXm7c#k zX{u9o>lP=yiA>I()8`*qJ)e(1R_^}1h?C#m*YL2aJF#eLOnR-vYAt5`t~1c-+Onk2 zlO$ZG=6D)f?3&mnaPpO{Gv8!~gXiw~y}xwl{;5`pikH84{*tu1ZGPFOt8~fSU$3Tq ziOM>EJj&H1kNd*&JFKnU&jTfrm-dw1u$y_qVc+ZLT73dff7xY8yt(hADHEh)y8Xg# z`QLprS4=5dyF;hi+}`6&$n0t7_C)sGkSfdn&nc#HJ^bgi`G43~nkTGz`ci-9)ut=q zT%USerZu}CQq~CD?BmX4Aob_q*Y6|gbf z+U>liHOcgFipc5RQd~?$~A?O?gR_L%O6n9t`AKIDB~8KJhA^Hkv0;5CkpxnED6*~TEjveiGr-|XZ^&88aO z9>%q;B2Uz|Z#~3zMr_&)LnC1k0YeqBN1o4@98~()XR`3L3d>HdhdXqyt44bs-umyK zskod((bG^NyMqh1cAB>ROE~fU|Ji!CokM#uTFnV?;51*~}LaM(cR((U~RKQ{Lp6}rOPa|cb2wHxjp}va^LoKJMYzOJ~{snn*!hQrf1Ky zROWe<{#5Gys-F7kG~Na5}Q*zbbQ!;^Ldm=mp_;6+kIs6yKJ?3t2LhQ57!t^%ea*Ie%b@WrAt>U zWv!CEc=}YS{uOhLYknKId}I0lZvLNKqY4(U$@(cjzSQ3qDyS0Jyz64Z4SqrQxTg6_ zgGJBTXg+wmINRN3PnpYv%X4aXoqW0c$=~yJKNx41_XRklZtPgDnmlnm%aM&oxlPXR z`+Mg9gClbD7w&ugzILB0_xq~baCcN@_dhTx6uZU-#Bt@nr*}4n-Q1N{7_pF(t zf?f58N$^-rVNQcbT()cv`8za_M*aQoYkXwkEm z{V(3!=`7>x`C`8@uU+dWo37AIC#wwkWx^RBAKeZ(*D4;VFUh@HTO@m3Yj~lfTmkzJ zMh$)EecKLxc#*e>yD(|Kw!7tP9g>8UyRyFML+1&tGt*hDkrTP}BG5!@vE@=U)w5zighvlqCLXK8d2v zXFmKeyLsr-oZ#X^?enXHp2bBU{kYgaASY*u{G1aWJKk5_ob~wt57&Ip|ALeM@%>%w zo@c$G- zC4g^(MAcfs#d$N{^nL9%EtB`KKjq}<#K?WacXFv>a-T6<$a1=+^0L&b=kD%HC)r%?%W{8x+O+zC zP;$ZRR$HyJb1J58RQ{%M_Ipev|GaA%@lriz=6c>|<`)P|NqYEYa)fi#^L1OC{|Jj; z-5Z{zW0b+Eu_8d`t$g9DPojQ5j(*;_ReI(jrO5~P-Cj2*kV(Q!sNeCd6HCLtd&`$z z(mTnvXMv-1JRPqn%L z7fZjE`I^grTh)B%EKxciwcz}>)y+na?_HBo+vqc4eIn1K&)avXEq)d{Sw8Ca{9_WC z=5bkb6oX^tC5pehA>^ves(HKcmiSth%$Tf~@^(p2KZ&2VE&3}x&dEgo^*J%;4t^yT0^VV(pzQXws=UH*4 zZ|1)n7H)g;ifM{!-{X=}ZuQPA?Q^G2{aK?c)}d5*xzFsk#)6Qu26D%oqylHX-}l2c zWR~}n)!t2<8ot%P&9-jsHh%p0-K($9?M0&W9$oU_c$7iMqoAUDGY>I2u4^=1mvcSqf}7WyElMX$FW;B5 z{jtMZO=GEx=IpW%sZu$kEbqShkDcEa1W0fnUOZdn=7J?XH&2Il$j;*Ly7o+6)8yLS zufqC=&R=7BQ?htNLFPMiqhovLmLyG^CGNSasb%rDJ?}ZJybi9|{jzJp5#a-F6+5jG ze!R;6nWvPku-fq2r)TS}yGFRi9(r(XKC z>Ds?Fv%bvV|KD&q)Bh*?e@jWHq&&*IZ|j!X|FYuLOl|L%&bxju&=&WI46HAmzGT}3 z^;xG_{kI9Wx^4M?XFAu^hQ)6c&9=?i7j^veo-b^jLaUQ(M4AQplIuQk?~h!d$vd-V zs)bBq;FH+$**Q-|Ccjf-P~+P9^=1F2E!$YUf>)TfFf;J&m?c>7=FWe|o%8Az{hYt- zTg;8gDU4~S_LsTE1@8FZunu0aoyzf zb^CvcV&Sss@*3vTU&_iam?FfPUvBU@DCzP)zKbai?>{)+`o!(AbgKg6^8+rErzGpw z^IPsweskE#cBN>*m;P^;lD!YH=*N2p{%d)xzdA*z{LF|`5m~i#qEAn_w<>bYtK3{&HvW-nPtNhF5lyY8(#RFoIB@eOY;?u zBwbVarz4FFA(?TB4-v3OeE^Kq@a^DFT zGbO7R&RSZp5<4w`iGgWLIa|;1iQKg!Hy8DXec1o+M6w*ypBwvsT`qeacYJH~q+9=k zRQp3Wvn^B*In$C*_$*5}Th#rwt=nPA_+0^KIi@m?f9kH^-KV>!h)oO7 z_;vizGwroOk~tn#KQx#9)s2e2q;MrFk@eZL*FQpk?f+su^ODx(gL0?59t*U-u{t5j zp>A9*xS;SE?+?doz7k(oojN%A_Pqb>tdkR8o0@CH-#l=B+U5PXck3@$yJpJKTRyrT zFYla;xXW9Au3_tTd%vL4>H2FYt9)=Z^xPmKtol5emAkNBbozYdH{KhsaNbGbv+-#- zAKAItx-BM@B`mJ=*5sXMoVIOY@-lvxw|j!KK|?dU{PH^@m7j8)TD;7Kl6z9$-#c!& zapBIIS>OL%-QQoh!!h9OhO&znr%s&5de+pi;y1sw=Cq((vCD7Y*$J#aFX6p%+Ry*Y z%pYFICz|JPb&PbMDXJ>kkdgG_`>~fi#Q2RjTdDq`af7_OpcCd>nf8Qp<+nvnMnA16K z?bctidg-B4<&1B4>FuxjF>}|R`~{o;H+i?7vJ}fwny_l>mZMyoN_}ipWjvpy+_}GW zi^iO$$ft{z?tR(du%PahuhXkjVS$c{wq}}%b#MQCEGpeTDZ1@=`G$3qFYVa=`kklG zx;=fSmu?ilDdFUuR`l7+%ZAHccLSIAnFV{FDovjOYW$zmkluMj;mEZObsLYgJ`dXv z@kql~#H#8?QPmml<@5cVr>AfTu9$J`^yPzmZ{JEw z2nVjwUv}Ka{^8_+1E;UfdC*~_nONVhAtmVFp3>Ewskv^t=E5ltq}cUr7$WxkD3duk zrQnKRZ^QJp3+HU?Rf|2wciyAzXh2p><|J!AI=QS;UHWu?fEWQ6-w6x3{%fh!ylEHAr=MT2 zRY$Qf<%e|q|M&9c%pc6O`8T=iJzp&HW1Z`c2}U0IQN_MNmHg}FA6L$LR;772V6CF* zbFR~WrHc}cBj;b;{Pm0V-N%ZBBE=i-iZ?%S+izR)qjAw*bD^^gYk$nl{}-vXF1(?0 zu3*5df*VQ;H_F*oS=t_WmN}6nJ2y7{W#@VCi&<~QZ|wf~dy{eY%(>Uz+!Kqnb@*Qq zU-!E08<)(zpUIChoD5GIHDs$Py(_r%%)94+`{l=xdp?-89WOs{EajP+zSV;A2_ChP zO*u^~BR(CC{JL;{tin9G#I;_1miwGS45vmJ2UbBS9kCdc(uXVlO^Jn_anxEw-pJ?mMtLB^X;U>R)obVo< z&YPklS-x&_!%l_9*FAdsrT^W6ElCwy`1`V|H*9?$;~Nnr{;$6DsnXoNyI;0O?)hQ% z=wrjHQq0$ZvVIAuWEZcsCU8^3@MczH-;DkaOvCn$N+HqC73Z<_AL` z{cGpx%bT!1R^eys1BsJaHsVL>`+nF@i)6LyU$*3*A=0AIj zU(b}z{U2BRJ!bWrbuS`{{qUDtyIk02t~tKG_JQGhzCZioe-n4%8 zX+8(N_dfY{Z$gl=_r^)0yk_Fgi3eSZ>*n1)S7D$ibNlAzHxrFEh?yU0zMxUHHgHw= z`^v7~&q*xb*2{nP6~EVct?SaIRJlE0I0L$#UQO#-F@2WzOFQ=ChhE3;{KEIkefx8V za@C!6to-r+L>@P0T-0A=-uqb8z(!JD%a*dGPDv{`pDwVM4yDh?@u4KBzG=#&$Ljwe{#Ax2UjWMn_aVC zw#@!g9^AR*$$@9Q4oS+#nq!5^S8sVC(sv=#jA5!s@X6}Om9{OHCUw7m-rKNrdwuVc zJG*uixPG(DTDou&Gn2dyS$A4$G_sWThWt^72zed?KcXFM^JoX8?9$sJT ztKWc6v8~>tKkLKOD7C#iPVJiNtliYqA2e-}_y5+1Iib=e%X@wceNHca*SN(%?(8P! zhX!R1v22eun2NGhZIgSi%**Dz_3_@>h_INYBK031Jr9nJbIv~c_I#YP=F0GjPqOhE z$2of1*&`Ih)pr+jIap`-{7azQSIjC1LJw9l6^U|r9IlODvhI<6;NOC^l zl&u&Z<1xMKKxf^piX#W-_Mdc4aqYH$ua=zteQHUo=Jj-)LpfiaUa6Lp+fSXgEQxn# zlJHyc4cAV*nlE?t%}k%(hEFfv?w?Y(IAE^rjn6XGP!;2Zx{6~oGB{D^%NFK zJij-uMdp~4daGLamD5u_rS`k6d%<2XIV$eCm$vcoW4(d-vuiH3h|J*ow$W=R+tS!d zF~J;_o70_)Uv+OhCCYlk`;hIL#4ExRuhyKrEB<}wMzQSVeebI4Se|NLKXpbx`fzc4 z;jNnj-uoWP+NDB@4Td+C36?gy~(WBvF-MBzi%sA?nz2{%4=za6=f)#__61I zZ+!c=ns0J;3nH`@*`7U=`I4#UQqS+*@7hj(GybV%C1758>%Q7dleKH7v!0w)&GA~= z-%6KJ^5&ySBEKVEH`q?EHZwdM>|dO;V&-q|PZwnF{FLb3x_W_%*?iwyD$)!eUugU_ zj<)45eh`=boOO9(!jTI*UN3I0`4yGAHPxC5xs+IC&)}ZK=vleSYz9e{jwm zCC=bYOP`vUM#Sux6SuwK%1mRX&Dk3N&#aRUEBx`m-{4q4*%2*H_9F%o+^tioE;UzS>>>zPN`h0a~-uGVJI)!`I* za;ozO>vm?gwVfU3m}b^Yb5eBQH^bI&k51~7+xtk1@w;cn2?oc7ZJ)efYNf0#kv=sg zEOOT$)pcfff--b=U9DI9GO=dbmG$~@724Oh@(Okoo78u$$f;acy{;$oz2er?>4%&X z4^32lamD4u5nlcKE-!6PojxzMK;iZ5_u?_DT#V(;Ov!)zQpY|2@k(y?HD7)eU*EjR z#5mybIW-OM3A+2!K9!f*xmG_9j_`=A^ZLCmzWH|d%!W%xCM&DmwSL*Fsk?WckCwPy z`FZ!;@6ogC!g~sxxmG+=|G(IOhtX&EB}Gq)lM5=CFSsl&`!(^(>xri(bIx>kUX=90 z#%Qf=c)^kr)5A4G!UDVumKNs68yR_hmfruT{DhXge)tAQYU(+yiNgO6y%%4gzW>O-wfxo_ z&IiR!nHKzWlg4co{#oC;S5CR16V`t3UixKD#Z~*fPbNKGcS>iSZ`kqac0Z(xGc_&Q zmx_en{~Eer&57BIW8#@3OSi-qeq23CEau(yi(9;ngnbs3tg&sHvQPW zcr3qthg(0`r|(&d`i0x|6Jx%LL~v}H`o+Ca=Hl)DJ-hdHK7RY?%d_B@J7;g`?qvIH z&CI>?)z2xFE9L}U_@B{p`Rbn_tM88s)$cxexcIqX*yGHH$y0R^o1bUSt9*QCqPrY+x> zF!lf6brw`3sez$4$MvbPHiDuzuJxzyqpBJ8eK~qTIvj5s7ZN0r( zo7xT-vZs1Xz4h(%|4=PqUYU0%467Q?uk;Q|&6uh*d1}!WpO-0zgA6@dpQwJ^GFfhR z@9~%Gn&t#c2hIBT@ARf=QOXOQR`P|-zp>_$bU0oa9ZMS_omLETJS7px|p7sxO%|F|lF-?G zNpn4ufChPs?=O#}7Nz*4dQ4)8IDJ$5bmlA7@G}itd90Iv%?(W2z46+nDzlgC%^!b> z)Db@RX->rHW0&K-R$g3kB_idLwL;_X=9s6Z@0M(B%eZrFM!=f=reFHYG)?q^a_kBZ z^?on98tz-CX?1JozuoF0U1Hb7EPh`Jp0jJpkyT=;Pd1*OVwNV%?x4BI^Z3&jck7Hy zeJl>OH1D*rWjeMqCNuNp$}iuQrWF=_`n}UCZrO}Sj8>U-j~tFFL{G}jaN>La-|%5d z(WCEIuWnypGym4D=t-B83Vuw=KE@PhrYUpj$4}FPEO*R>FI>3wqeX7P^tHQmHILul zE>!Pt^|D+jdveS};V7nGPb|;%yZ9UYOkJnpo9SZUc5l00|8gM{??06chb|gwxCUeh zh|FGKy7U#>(OXuxE@!O$dA9z~_K!+IMzyj5Urdvsw_-O6WT(V5#CChmH5di`|0O&T|L755x9c;#vS zV4-k!fY;|U*4HkJB~OjIw>LkwIH)^JZr-IoQ@7Xaduev|Z_QwT($$^9_4UaXzd0#S zRlJ_HXjecw$FFpsTsDyJ9uJ6QOi*wku;V?mF1ass}ml5>|DR( zuW-CA&x3jEMRs|Lb%md`yl<#}IB@!rbcyfVT_64kJzUopesZTeueZ)Lh49H&)OTz+ zx9ha>F)t(jY3qOAlYi{I|Np7SZy7~SGwv*6d;IA34K79FIW9MDY$#hdEh^`J<}cN+ zSFHplp5NNd>ldGCG`VDxPn+OnPnB+@|*4)Yg%EA_=! z>P^uM`y8QSo0+3zlXP5YG&iZkFtvj)7QP3F5S`|G5hKLmlfBvYH!uM+^AM~E_3SJ-xyJ8)x4cH6K=k;ED7)m zUzy@E`SF+1n~c@h-Uesdv)+ERqWgJzobk`!$N4Sx{1<#KcxIh<=~vAu=T7|-$z)H^ zxe|6?=enfCwmeH#MMI8<7p?}*(7blerqg0pYGVs%)|)}!{xjR8hflM9uzue+`;Gc3 z@iTY!7eCT;wEKAJ%JVsYPTD=S|5^XQN^iMbqgR8I_k{c%$p!lhxTk+vAQJUq|IexW zzgm9(Y{C0AxBhvoSj#r)l)YP4<}ID2%y{JccB{-;rEi^@6+T$pdTIE=FJgayzj<1c z^R=S~qRaa^4_m|rZmzViK} zhu`nI*7QSfUcK1b1zRg;A6t3)<+hfM%YVLM|8J}Py8ESN#@oRAJCu%jsUK`BdiPsr zd+y?eYcB0&Us2Mey@Bm5tBCm0FWa|&SGvWuRDJS%PQQlPcGo7XkM+G+HbEevOkCu0 zV$)WSRoa~=k5-(lp7eZsW<+#kRW5t7h|Im;C$jIYTfaZ>kdd*k_=%sLG9qCIB;Q*| zU9hi^Yz-*-eAI1Mq5f0lh9Jo`qRav*+A61ZUvr6&UV6X#*xQn;;`*o89y|4wzaV{{ z?z%Z|++W0;zxibP{=*^4K{ib1YvuZ_R&M8BV3S z&orN`4!Lgk{^K_WhglkC*S(8&ZrR)twy|{g(Q9+X-bF2JxE9ynew}~GgX0gGBQoT9 zUdr@(=>7OrDY$t?U-HB(u`K}w%x@>3WJ%DiJEk1T`*~@@u}^E}?Y%EK>11ajSCQPI zyOaDj{J(vcKdJYqMDt8Piyi;D3T2WOMV?;1_qP1w&GLV8H%z;Gwzkl_H!(lkzt3o` z-W2xB=R-HXRN1(T*qu!>)wg$kx)f|tHAVU5oEkI!clA$-{r=s$HTzO&q^9N< zql+BU$6sc)9*)%v>N=kBbZNuVu&#?6roPjblixWxct*ywvmENNi#*S3>N($f$D4kn zL?~D?+=e!bMC){_dc=Ek@3)q`KTlEHqeJf5mm0jT|c-}N@>isK6 zl?%2CEmBF9{QmvYw8viAih`DBp0-H5O}4t?|L6All860Ei!G*w`e~~DebMqdBJ#x2 zyjL5{OT%spxlYR}c2kLrSbHItcjK{wEyg0bj^YBm&eT)Pw#tMH-ro7wj# z&$N$D-Cmbi<=44n$8Mb#=H=ezyF*xx@*X;<_VRGLV)X2X9DDapzm)&n>ugDNT^;9I z+rssa7b^ce5ms{Poy_Ty9r}71zs|jJeejC^fI#2w;`v_g3-A3)KN33MM@YUg>$B4@ zDb)q@oP_zzRrkL9wAZUT^LDB1li-GPOn3jDU-EpGe%E&OKdj+bCNfmryR-Ley5@Pu z*Jf%$ISyXyue0obnLoL7@_nT*kB(f>lAUn!{JQ%#Ng8>3B`$itPuaO~`r2h@1DCSI z)LFmFTY7cIHKkJNu#{W3ZqJ|aRyy*lwzt1hea4}ShG##=|B9$)c*XqxnYON%)hd~{ zUu16k%Y7)+PcaeM`*rE&r%$T9riQx5*t1TV%lKluO5S|`D>8ZCENho?o+{X4YP0dh z+07i>e(N-6e?3|tG5Ov5OVZbO{@in=MO<4_+^*~E|5>kIU+~&oSk`*f_`JoW_NN~X znl7QBX&=-u~o{dGEa#>)>1re2#*zX+G?s}XOn|SHsV*h|O>*ssiO_M!pCHwAI`W&|eqh);(Chy)a zJ>@87$N`#`OuYOj{qrNGy?gzIXHTffl+9L}9yaB?mUe#S9^M1}e^#&G5cSaN=z))A z{RK$|5rJP_-_5+X`Q-8`9?d7)PdZK7@O$CDD3?svjdMgV=*Frk%;pU0{d-&go$3j( zscDQ$eWm!-sm>4;S;ZLfu=VfFTd#M1c@wO$Rx@PU<*6(8)}9vq+7Vvx z!Qs*K*316hoExJvXD?5CA}%?tCG^G4sZJBcUN5~r_xes@Wrg?r-{MPHRg3oAe8gii zhketeTGjQ>4I7snjTGWLANK#I^ZmQkjKaICx?6U(F52@&N6Mn=OJUD#x5|fqVls@a z+3mOYZ8d&Ux9#2OZ2O7a%vJ2ygW3&dukXw<>R_C4UEX0{>z10zJRf%BU0+lD3^h*Z zU%2%vWY_DU&n7o7NvR)Xc<6LSO+9lNTlUL$`wVuwd8M4{lRxz;E^Ch3&gM%;woJ=Y z&Xm4>vo5Z~J+InvA>Xxt$jZ;jxeQx+c?(qz{wa|#lsuZG&#U?Q?auPK&t{hAEIFV1 zsp9xX)jl0HKP8{a{ShaZzT5XrWvi*=(J#@Hcd|);IP!X$roPAulh_;^@ylW2-63LJ z2@~_yb$I_jv-{i*R+n!--&@c3`)>16zN@D)zrSWF+q%@Yji8}}izSN`&-O0&Xfcns z6*;8m6WnyNHAuZ>{n9g6WWV-YVLrMv{gN)D&#%q%ScFcOak|UCJYa18@R@g>G3!MC z&qZ5zp7j4!ng086ko^2T%Uy12#79oo&B~Zl>HSLeYu~%MDz1?qKCfQz=H$ujbT&`M zi(BT`g~aWd6}P@q`L@a)j)f|xKNzQOnQvdXmf;usdIQOGYPC*3PKt$JxV60Um#%ui zuPr@RAH~+J`LMTn=A!}`K8bDbE|nfqE_!fEmv8g-DtCTQssEAX@{^X|IO1GYJ)ccC z_s-Nc5-o?5%lqZtFRc6V|BsQhFV87qg{K9(r|WeT=Is2Hw)_;=o$5+?f9H*H2ck}Y z^t0c4LOXr6hJK{=RF7uO9p!Huj$PupaX4z)wN-b1^-QS?6X(i2vB05(^UmeTC%PlE zEpNU1cuaqvgVTo{Uk{lbE#g}$s@=+Vzv5@NMo9Qfp8mj7O1Z~)u3j~tm{VYMW9H;J zWn3nG#q(>_qhpRAarT&-(Q!<7l1%M{!Yxs2WhYFR*?H)E$mQ&-_p1xb;;t=GlG`jA z_UT96vNuWb7oT`{n5fO$r&VKEvdwN{S^hjd$Z&DE>`v1XQrnmtvZx6hc{d4p%V}PrL<)XJ0Hyo;kTM@=X0T& z_whTu&OaM39s2V5bE!_4mFVtTQE@%*J@55gqDogx(Gb{aD7Wo}?7c-H_Ps%7Z$s8F z=*O$ec5n>!uw6pX9@Oa zqSr6)2v~A}B_rhA)@f&&6z6Q=RNvHeJUDZnR(O)!PlGAbRLj>h*qbx|nlw>!y^zSX zkAIj{_WqSgzHlU{I&n?#*3Hun|E}-xeJ!3MqV-y2ReFoKfq2-GyM??ae)}Wq5)^{h zSoR#L)qith@BjK4e+rDQ$H(pQ*;uC+t8(nG^YpmrinnSd4i+{A*Y9oA){RJ=QvR$$G9Mb%?VIK@?Fm<@nBQK@ zuMKX0WgU(r95UIxaD&=P*MKSF>nEJN{^8H{HpBkg0sk-m|M}ExmQ>r}&MS|aU%$|f zyZq~@Rpa~R-6{Kx+17R}W8&*$3(Ptx9>#66=cd>7;JFuHzTR`Xe|L$&*mc4 zRcKoC?d@L0$(|id$C@?fCf%$#aO!5H>)jNQg;SI6%w4qhQTqN*e>Ik#oVLVz!!@~x ziTmWX#TDM3sjVJ5tLE)185RTMZ)$QUrfid1I!EDIr_9$gOV3RSixa*Yt@HR>X_|dd zM!XFRc4o^)+^`h<6jp zlT4P__HLPbdaq)9qzn7G?3Nu* zoVo1Pel^yp$+av$yNXXvef`YFdJ;?UtlVHb@8G8Oea13!rt8m{?3OpM*fn{X=Hz9o zKhHm(Z*qd0BPy=$@#D9QIrnon7Vpwx+#uEgz6%W6%tYmm@xMT5JyU8clOpo67B5}>rL$Aed z?ufD8c<$LJyT8{s9{)O_n)mlgWLfvoh{G#NWdo-Nu5_QUc8+?moocnGxu)U5&Q?Z? z`yoe;$hyb+%K36%>u5N!TJP10zg&;M@dkZ3B`GUh>ZkDTGyjfn#Y?UoJ*GbI?Xj8L zm#<&^a>k`YspTA6y$`p>+Zq0JRI7W$EAs03Tz198^GocRpG-OTDN1Zj-pL|MnAdfkwba(w=_wxb z)Moyfd-JF_pKIpI%^Uc3OO$W8)-~Pi-45f6BGTd-x-pg)3oHNKV{MK4xo6_ z!kKXokAC&y3efcRy5@Q8VOsxT-^z{}c9|^Rtw)9YZJw9>UR#oF_)gJ}#cR#fD^KG8 zpZ_nh=IE@Bj62J=*Eb)0n7d3_b0@2JfXH=g%>x_t?)5LvU37Be>B#e8-!uO+CjMXe zJMa43?MlH>s=;yo^PLmdWkr7VKk|<2I=^f~hE4E^ncvETw#Pl(_1&sjv1#6t=XY&B z_mxP`eJk!c{~OD@s;h^ydS9@rwAwNpz4dd-uADVV7k15l_j`$G@jRwITo1#K1a@$y z-~RHXodw&^7o z*MrKYWo7;DDWCR%H?IbNy>t zyGd$=zkMry>FBOqB{Q#N&tU!< zCw{4zDr`1{?6L!Rm9&Tje9YIR99;=HMp;97#J0zQ zW!sJ|uun5Gd%5VcyMfH~en91<)eHIln>$qY z6lX82Hkl%NFv^PEdCk0+|JKY|w{Xg%i@nOz&WC-loogoX_nvlqbCA^A&M2SMpF$dM zS6#j1s9nhYJhp^E_~es|j^}FiBw6)?=gwx|yrS?*)zMTLzdoOrCJO?JTV{Cv{`F=# z*B0~DLSKrfUe9@4e9vI1MU{#2vyka}%U19Iwt92h!u5Zjat5rfFY)eK-F=-)Z(8^n zvBoFmo#GE_`3_CEkeT|a_xX&Zm#~ktX($z?e|rYU;k&nKbxd-a?_g)pU>3XKcsxf_S&7ztBf{Rt$pPy z!RxMaMA9k#*QNOkwVo_r6gej;G#qf4!{|1}fw%D>k81-9tEWVgNt8yAh)U5i&Ph@e zSaz@8y=vF)X=m1~T63nO=Wg=Ht2Ktz;qu@2omKX_vR>(rn$qFJXW!i1oc{i9`SoH^ zhEvBLp40D+QY_={ZV0NKTpzxj$u_!;@p-j;lFg0jcW+cS9b3FOfqj0j-U8DL_H|sX z5}oBbzIrZu!uKs>V|e%|{N3`+pObm4b{kynSTMy^d(&UzstGGR%v+U~Hay+RHSN0h zguIEnU0&qboj~Ej3=hfbq-uV=v^?h4!r$ za5wDWIDC0}f{UzfUG+>Bh3G#{M_pI!XsB5!sM8Qr=<1ZTb#olk3;BOchbQ|#naR1? zP<*XM$a|Kz%q(8QlRq8Uo%A`kI^w+EgJj7~@8>5o^aM`!Jh;7meNMgf>D%u={1D}q zC@X)MF^_Y`)C0#$mL1LIFuCQQaA>wjgUgJD`q-G5O`(lt(!Uc;rK@#K`Z&YC64*(dg#6Vcu3?cmaM=kULGCo9@AS4}*9 z{KArjrioXKZ)OV~&ygsQ`8YX!<~Du1zPl}}^~DW6)BYIQp8IvPo&Cp~X6BNz_J36e zU!Om};rE*!@kPfw`oHhW*rt80E#Y18iYEc_dNZFM``_^){@>*L&-1sq{eL0Z{l9T( zv|@OcQeXE$p+FXqRoeqrQ?QbCC@!WDShrx==lpsc0$F`>()Pn@2UuT?eS8%BvX7RdOI!$Vdn4(YO9s5n&wXU06 z);aupx95+cQj<$!7T>HOonQUz?I$j^nEyOcy;yKV)${6zoqzd0YuMktP;JsCb^rK- zACe}8_4}FP9z{+3^?CpAbPhoQcS9?8W|1yK>BCc;_69O2C77L*sLoG5xjW?X*XPe4 zO%FeDiRZ8JybUfbuYx4x_bH{$uy%J|p>gQuzGlw+yXy{3uh8$4=}Xu*!+Ga3rj}W2 zxk6Z8Oi7$)eW|bX=2EGpL5vfFetf_G*F5mtbb+IWS#N(oo4D}u#)fvQ_^nPXQ&)3L zzSO}Y!lb}sJ-^E%?+yE()qA$^hH7}nb>FPoW6@l&Lf2pg(}XYc*m+j&_;Mn4rP7kg z#!tFVAGF+Ne|$c}1)aZ3lKHe+n$#9-`;>OTVyETv)8FM4&RM=`s(U`u_|!zV2wg&#nFIxRS%O{`_vuNNd-1mt6k;h!hYG zimz^odVTwPlzhPdcklm5zM9*6^NX{?LYZ#!Hp_&Sa~`uU-+4g&buX9o`STkp=ktcA z^_BSxnMARj@=i4KTN|;=`K0{w_B|)2N6DDK6IXvbuSekd(WM*(>*ofj`5xQYSS1D9+inO?mf)E zP=Iw+W02sfv(d|#*X`RY{^j#jX1VY+XEQHVKl41vb+pa-{87=h0xCx=N<=CYPuBRB ze)V0yzBQrUd`Ym}<~{5mF21*M-uZ5oz)ztAOZK;)c9G!ckKy%PnAB^`_F46tmxX}e zW#?UA1Q{NAU2d$3XjI;0@Zj&cKAXu-GU6BZeATr!c>K`L;-I!u?cdwi_GU|XTD`08 zzW-HKFDxK(S8nK*n=eE*2eL~!EdI-}^_%te*^Gaz|6g5yVS|0*O5Grhsl|_uJw9ms z@yEm@mOKA;e*T=rn`4{d;P~)#zklKTY+Z@XMvd7U=FaDdWNC3qKH9kxpPgga5iFOS@jZ~e5%`ETgXMIIb?+(fLe&pZ{XyG4RwdK34y zT%TR%-x@M4+;W8D@WiXqntK zC9!Ou3j7}%H{Lw*r0K(}GorKNIse*9%2gar%lhqQnjoqizwWkOp<}rIluJ_geiX;W z)NIhRyB=>Q;ALljz^6+>LXAhXN99GwQVWgdS4#|}=O*8=FEMXn5?Oe!?oDaRzGR2B zwR=?=*e0EAu;|-(XWfEpDKXU!o?5!gA3W=_?A!bOOX<>v>GE?QJw3iWfFZ7~BuV{X z$*f0@dAn7v zu>pmwb#1cqvw3FUi7GtlI3snk$YSHT6Z($=fyIo5&e zngaiCeY@z~k*q$Bn@{d2GM+5<5f&C*F+u;@(}{C8zF)l}BC>p&RN}s+w|0H#&GJ3!S+iNWG$t%kh!tm9&oZ+@YR%&akIx5s*nhu}-OGRDiB_w|y29H>+U%9S zuk*fo_Vle;ZLSKtIL#V7(p#>T@p`{i3TFx1G+8Ub?4raswT{o0Vh=exlCJgU+s7T8 z>%Q9U^ETl`Ge5(*%K}&&xhAoOpW&P|;dXANpTMrUf_i=K25;sZU|8Z=f9SggEv)~-y}ep`I(w={Sop$pAq$oE?A7@n_Hs0+snm+U^RAMSVCNM+F+ECS z3U3;t`4s(Y6Mfs`RF&L!o|@D>Em+WNtL~Il(M{hrzk8|wXP)ew>4L9o7cVmB@><27 zedvk^|5rc#tJf;a)jzf0YAwvj-Tzv4AAd?PXXU-(UX5vTUR!xzv(D(%Z~1vbbK4Z@ zm<<+t!&-1ap=+YKUC|7DcZB!glc%rG(<3fAl=Z|+6bz5)+?z>&HgQwxbuG{>xiC{|uhGsM8=v1!n6pDc zelA1)1m+qq^}I`kFAb&}-L?K@`To~j|26a8FuxOdt-E_h$*dE5MHlU8xb>>`$Li!O z*53|Qo~%?}u;bo*^R_mL!w)t+nXRpRv+l`h-fG$K@LSJZ*ZZjLtGxbf%TCt%&NE8A zIYG1Rb6E0ue2mqsLRGqg?(Y0nr7rJy{!r8MG^@F9{&1*U+kcXJ*5SH%o@n;%gK7nH zHG?J|+F;&ncr7dFgwBH1dlHmXnl+CxKesdb{rvRuEqv~TMj*6C_+QY^b0bl_E*=;_yg9_O~?)O#4` z+{y3S=kufauKhNlgCBZ|zwZ7mzo7a<;|h(ml|oZaE!Dd|;!S$4Ez2K|b7fDH z;v&}-uomjnm~Bh4zs)uy>EqhZH@TiZtG(T3{>81GbKe}E^Ao@L-`PDw)$z8Sa6pHF zNe`Dp%nF4*Z;dIckAkef#5s6+yuUixp10ti?+v}!kB2+XnAIr+Z1n6ieI8YQal+0Z zVXlp}%O4+f)UY}6Y&-kZe2TAM^Zs5fha-ntdVK>J zZg$vhWBidYlR;(8j!e}@0cHxnZF-m$3?iN~6)m;-w3LZwdyp2_6+ZbzJOL}#+BGm9 z3h6KuQWJQ7s&R{Bf||j*eQy6>I15P3oqqDo1HafulkUFr)BAcYFedL-uVr{#TV=kB zO1<&Z9E1Lq8{XWjkI8BfNH(%ya`cqjZyqsGbQgn0B9l#j_f*sF9WE~0N@jHaTfP3? zHYTo@lFs{2Zk?hUBrNzscE^O*ue~O2+-E$K$GY{ViL=#1@%5%RV>>!-1ifc$E9n*V zOZ)Q5P4$ioN5suF8*lg-txb8i?fun&wW4Qyj;JJd|65^xbc40qKAjB@jU>O@+q+wx zo^Z~{LE+HZy_Y=O9?#Y5DQ(D=-1DG(UfBit{skTfj-J)Ic4zsgQ?e%8_N5+gJe^eO zeWiS3rW|_qI9_z>;k|-OMZVepvwyJ0=lb+T9+$E%XR-+_4Cn~ddV1&gh9wiu1ue<6 z+Mdk#_O_mCh^B+ruOi3uX%pi+u9fw?w~KRqohQ3?cWHyjDsNY9)tq~|NhUK2<#z9h z-hASIO*(V_zRisalV{wxJHyx5VW*DMB!)-#Zc6Ce+a~)nWd35|FgFEhU`=Xm@u@x%|CS*qe?jV=MjlNz)yaV90t;+~Qu@mb?|K*7r$>K#lBz^M)X4Q_Fp;o&dxG&>5ddrH3Id=DNTOar5lepf$o0cXl zkomzzu*M;BW-#TESFXgO;>{cT!Eu2{?q{hrBv7j}hCKYHHq|Gy_|O}oWj z-4Rg_|SN66dcB!gx!;*46Lt=XH|8dNzd2L(Qi+-ttHih0-wumrT>5nG zhpWVDTfxSlOPq7F9^d#&E^+~HcKL^SZXxEEuP5bt*Sw99yOVnNBk!_i<}ZBr-2Z=I)^KqQ zlY9JUX651w5%uD|U&|MoI#>J*Vt09UVyf--C3oC470O$4A9+nWK2tU3-#He=t?%p3 z2ivdHcU5~c{r`jedoQ#6-F&+8>0vqjKdY~KzprR1sq)O9z$taUJ?}wIeZxnEqbVoC zUNq0;ULWqTZo=jy*~Wq$hpV1GmzR5VS^l@`5{u=3E0*^M>GlVO8r==k`qszdRNO1v z=5y=A|8KwEe-d14>8QTW;_sFC>PbtImNsNwx8}HVE57}Cw6m4;heh065xeH~=+9#o z5MO>$m@RsXcW?DU3Cq*_3>Mc|?kG?FY4&O9qQ7~U%9U2nw>YA^VWau%O;dtJN@AQR zKUDN%b(f#eBD*tmW!j(LRso!IRPWDh;&j-!@9a7k$?1jvPZ-XaZtu2#GxzDg9TUFr zI~bG-mqZ*ski3JzTQ=?WjNWq-)nYyGmr8T3&Jpj6tkkNz^qpz;8i`luPK!z#958=t zegAl=I`b-4-SW4_!fy^Y^SBtc-6jQ*>Gy=dknK?hT^P zbw3yMP8QR261J`u zZx+ZG?qfThXu{yDaV=k2FNTdJurRddtDi(K>&X)a%**8rdfBa;vd&mCsrfr-wtj4l zmv`9kbE?zEU42Qp%&W`yy?*)1;eST^#nPUN7ro~z3OXE*Cw_Td(xM}qbfdEC-otjA zfAd&u`QU=oBHsQJl?Q!)J_?dZs_E5a5_xAIdHC@5>mQGq$Fxc> zRdU(M(QEelM*!FN{c1_enTlF}1POJ>IGJ5Nu}o_7#KYnYjHjhTbMC}9oh)5%cIS}P zSG6CX9w%@A>2-*Y!KW?Qr_J~y$Bf+!3awq?`4WbOfa*V;M@A&bsFb~ z%`sy4&+?t~R?;(x4X@El-#M3iV=8k+j=4E&>%D`&cii|b&d`vuK|Cft-*%F#JR{d3 z7NsfEuLb7ce|Y!yz3ym}qkbYg-b{ZzOQ>|sl8qTm(QCgZHtZ8TXc)3w}<7yBNNB>CY)vR$`fPe^nCm@ zSy=juu)F1xB1-`iY3`6Gz80+ZfBG)DXg&Q%Du4W@&g%cOoNER{HTRqdUIXD1%Q!bldPnP=^4|LN6dTvo-0Iq*kA@3ws2NMj zEDDHZJo0ztf*ZU1Z$-WPJWpQ6EAjEi`L1({drEZ{%wy>Od-YoMwH=&FJXZb_`}8OD z>Mu}gDToJ+6Xu*{SzW%r{o3C5%u53D?>;K*RB~)iREcjYei-?HPqJgjmM6MCnNv(0 zTF#x8UwFTgRoz!ZrCC`bBwJ}g{U+t!OgGh_4T{$;f82RzI*X{p^?8dvC~~$I*=_hN zp|RadwcTxV%2A!eVjKr@mbsd=A1yV1yV7G}nD)V%+0!%Zd|UqAWI5_(m%#P-qsZxO z(KR`R*Y2%tKkeB5zIJc#tuAksPv(s^6OB`A+7_C2{}VsHr+_WC%~GAoB=e7W{hx5% zc8T~J$sSjc@XALW5_7e$#KccMwB`NJ{|_DO7(0qgXNpJ(2U!%-Q$%`5PIj@82TL#m~)Gd)}Ar zyfEZGi{QdrRXrY>`n%36C^65S{{H5--|E&I_K6pjs-EHeJ9#>TU_0M$=T$%LqgQ&w z8{WI#^XOC7L-TENCL2G0VG%#>JR$7bTPB9TpAD~VmuA|)xnn_}Qrc=t({>b^$qDn_9Q{$Hj%?%X{SSeocsp`R_(^H)k&%Zmj<3Q5;^88xnofhn@ zPG)Znd1eI7$yv-Wqabprz){x#GuMS>-lr-UPi>BQU6P{xis95{RZ*_3xkp@=zt(Oz zoz5Ad`I4vdeAIddzjW1o^>g$iF9bDA&<<%Xouh3s;cS(L`Tn+=Owq!HZ8=t3-ah3r zeex;vNmuF1*Af#G{%Q)8SUFD7j-0aGX=&@r7a~`$DL?5hHsd;aTseAb$B}b~YC5J| z;XEV0@Jaj}ZRd1h=^w!>wi(FI^D5?gxu!p6-#dx^TC62ygN`eq#Fc zzxK8)%}N)6%wq@7|dR}%~oFS@t=~8?sElx zGHHinc20BOc}DEdy_YBS7=v28Y~S~UFS&55?A?Z#M(yt{bLIrBGngbGxZ!KU$+vf; zI=Z+5=VdESQ2X<4{-5t=zEe6Dp8J|pv6N3jJbcN54*x}BJUtbeY_1E|c~sgJiO!k4 zK4(|4qlcayXWJFmbDb=yA79U&{)>&_=&f9d9eJ!Cbv93KsTEC4U0+(ZSJVH=y#7zx zSFe2x{rBNRjHNnPysN~bGvCCLX9onVSZllK-h`ms%LV!GrHs23f+lSiW?A39RXk_k z-_@U1ac;e)t8%wCpHFMc`+EMb*JR(_-tvAAlVgzvYu2mMWgd>6EUPCUR`=}sn87!7 zTEqGJx}J1-xx~-!CQZ$ns+4mlE5XXk(APpL-|9@0_x>L*B%aS*D0@Mp=&|)H-$bwD zw@tP3-#kh=v1s=vE5;8@8b?k%U2kwzE5YjHjlMrw_g5~yr?v2&R;QhY;=xa!14oe%y=`g_ErFfQHDR1jA1c$U$5R&`5J1py_$eLGo}%L?6QKBFvj>~8wQ zSeq?MqTwn_zOMF6U;LqJYWdes1vlO8K3~p%DE947{`$%H%2WQU3mp6F%qO>rE#m3R ztF}AmCv$N*to?e#S@2tqLBNTr(&N`r#|0bH}=f16&p{hi@RL(q(h z6^GVrs+ih%MaF5vPG0#VrOP=CE*5eb3n%+OU|Rc0Z`os>^Y`o>W~C{tE&T9`NulWy z%Y;K8>*N`)e^Y5nEa#f8`23vYcXf%c%Y^O->#YhbZ|Z)mXd-Dm`%tTheC5ZFoN+ZJ zJ(mwFKFc(_I79W!DaoEAqEa{a+}>gxnV_t&%{{}&u145R=Jw_e3B@0ura5?=vwv!o z5T_>Z`Nkn;MG?P<_+OrNKE5w?mQA|BzwEJQ+GEXM?fW@?t$cJzM)`wRk6>cKqv*$s zy8FI(*7Lg^i{=Q(Q!} z*4N*$CTtzpJJNi3poG(;>~bLLzZBH91k6@=O^zJ{vx&Ip>*o$$hQpwS3*g+S#hp ztoy^6Jr95F`ONa~)O?Ev6P`RW&Jb9%qsijE>IRSc60^s%nlDAA^^{Cm7_z@RDfjlh z4wH{d!ny>TjF-p#2+lE^>B+I>#K~LJmrVJ-e^29%riUkud92SnDtxg%-}HPIPt3x; zg6nO}FFC~aH+6AeyCJ^pO`IRotn;=UI^R^5?mKJCW46n@ZSm*p^X%uR=vioQ+C4w8 ze%3*b8@{e_HD>!Zv{|z**!b_pG36;z(bwFvX6EHKPo84)Br(6~K1bK7UZtYS)GNl` zk;^77y%m4mhigV(@XfD(r~Np3w|aN$Z~v%@*SDn){;{%_NJ`z@_Ox`{yW@^43>3q= z45XG8>|(8dul*y@X`a*e$qJ{A8yK&PIse-?>HpE4$9W|F_vlE7w`|;THoCdMz=G8y z*~aIBeO;Tv56>0VAB?~B+aD{*S)}SJ>cOsYCBIokEx|5G&-a|uvE;(%KPzhgzMix0 zjQd4<&bN%8O=RD+Uz)7Gb!qsut;(I}?Twv+nHR=slY%=E3Ck;b-Dp z$)&H{GJY7oFMj7ZrE9|3Ha+|MZw#*O%2#RqV99mx+*xz8>GNxT%JI$r=d5zq);j<7 zTlE!N<-BjdniLVgF8}6Aw*Te@p09TFi7?6)t39YFZ#ehb(O@P|@r>T!GeTiEs^<#m zt=blHV6VEaT#AHGX`Sg)FS(_wbo_!Eo`|>zPSDoi{LLEuX{`(|+b@L;9*Y{%q93fA za>%;=m)yRur@t?3>Tq0_VDrY$;Kin`f0qCMaXR55ub=vK7JH`mzqI;3*#CReZy@bk z$?Uh)JpPB?-M{<~Vq8=tTUwGH+i`uhzVPxyc5Le^XO+-Sn`Yrux2X>cvvX=L8^$QD z=9*z#!J+KKx_W)YeU53LK0J9DuJ>=r{{F)M9G?02@15su@n8tlxmjIw;t5wp_qlW? zgBJLgOP3SK8lA6wxrxxiSw!zC^0lyCjN^W}SaPp&a~mRHzUZp(Wp{_lhQ z+X0U@&z;}ou%qIy-L7gjg+rZYn?1XN{^~t&XR4Z#s#kHMYdP14^x4T$KHjtMZz^Y0 zIO_4_oLAzldf7Sgs|r_|>TTKhP*=r#-Q$0PA{K1Ut}#V-=N#w0g@jY_Ztl-n#EU+(bkdgvfbE-=7-& z;qNYX`{OAeq%QCCT=LOV=XT@QTe`<4Pk(=t!}9apk^&aJE0rpbxAQk`dbsiB51GhI z-}OHB)=2&Ix-2{~m38F@|M>al$Nl5~9{ING{>_b(7ICXF`9y3|Oy000r$xv6jn!VB zo31Oi=N&%Ncy@dJ)oGFDY!8zDa?Q{`etz%1+4k$qU6;iz+W5?fkNx4=a`Rr3eD)JL zSEi;3PIY6v?D=Y~dE5)DvlAk3WHz0TDz7(WyrbnY;N7}gIsy`5zmz5PKCUC zs%j*cI%CEG#m&MeR$1Fidg(d||8`x$#pk$hj`K#TX2U0%6&Gi5oGlYQ#t;y{azpN@K_Aosw$C@80j0>Np}Kc!!12 z;e@EP+!XOn?}_i{e)(qehhe{e%KO{1PP0qQdB@?=UismKQ4oU%Tf0YkXYw=!Z9~Zu zpMnmTD;nK8e{6F6X5UvP8^h1{_wQc+{otF5=@%xflXpER64Y}1{@o+d?>DV@vO3R; z@&2Ew)+=hZ~V|-Asz56Y@cKC-Vrio4~ zXB?kvKJBh<=Z81VwhoNz=gBTEH)A@&r{Kj=;eJxFE5^O{w^Q-rB<@MO(ki<|vMohc zTc$D1|NFj4tU2Lh__X{+6{Y?|X#!6z`|j(+?v75Mxwl>Dbm^=)w?1|knP%8>-pb0W zWp`-_T3eY}!tiwIwsR+M=B==JcW-fBy7F2&C8fYBs3_xM_$L zSA3eQ>*2w`pm&>FNjf=ufkhwTSNt)OZ%K>dCr_TO6mQ&n4)P0lQaZh=@I!x%Jdio`Mmg}#qcWwE2JH6|NBed#$iymuB%Zk&HpB1kE;Yx2E?wRyWZg&Y>n zao#wEd1Bh@?He1i4!NecnD5_v^3jf&+ppbPz2R>H>+0EjyP_E-_$;d5e|?^QqxRkN zv(>x*o#x*CqmyI({(=>|pU)N4duGGKu;FikWR=?t-y25vt$m-JQxNIe$08I~u6vzp zg-MTkQ$4R<+Xa>XtSRZ~3Mw&%i&l~IrQIKpBT1a`U4Ur_&N zrMQJlalfZU)ko#uk_swGA$vGQ8Y|iZw4D4W<%BG`v7o$FUM0R~W9|CRx4%y_2wZu= z-0-rX>-zlpw+q!6Hg7z#OuMyc?|~DCi+!~p9nIG`?Qx;{$MSkZw^@M#(-Z8@FKfBk zGhr#0pl0=+pr=x`OT7+0tYJF0V5Lae{I(Ojcyta4uh?vVKxJlP<>Q4hZ{9w57H;-8qTjDp>#;X+oS1ZP&NszxEUYGG_ZSyE>srV3 zvuLjP{!c2NN;6C@RlV+Hd2i7clWouFuwt8BZpAhMACK2XDsyUn zCf^J2t69&&$#;l1fRSSvpRE0lk9p$m*0E+anGui08$W!yEWGj0>V|UW11d9D)4kU{7S9}(u>PMDnEy(k>BJl7zP7)b zU6T@0tgJ0@2=jMI4xp|dgPx|k=AFF^sbuU6tz&_^vs+0#sl%q zw4z4n`UG4c3e z$w>!!qIOiMNLu^fzu)X<8drOZ(!u5EI9iYd-9l^HfOZccfaQtDwyJHXjhRg&3XX~Ox*@3haKdML)k7$A4T%}n}(=%Rjq_UeXH zJI-3lI6bb{54~<9Zg1c4{`>P9=H;JvEs@@@ulV|#aPgVg#F{rnSu1yChO#O+-Ifr$ zyH=-{wPA7nkH&H?$D^r%;y)_AMVpOJ{C(81=VxxK=2lM^@q^zPg#*~8J5;lID7@VF z?MLVS#haI=y={CyHQ+^g+`{WOU3YFQb@g8-@4C6LtdehOFv05Ihz{V~u4tXPGbkfJJmIS|!}fa_abdAfe5IHZUx!`Yuj?T5>(5Pp{YrjGuyYIB=B)wn#*TW}TJy3Ja`*17NLw_1gX z9)(<~EYJ1B9aipRi{2WVF>TJt_i}q?)_YogIGN7$a)&_1~w> z{oDiY1@%7|dw!pFXfnP$`JeYYhn3qnm3lLa7#A5#F4;GsBbn*eY2}90j;FW8PN{94 zaAU!oFA|I=cbJ^rV|JzPL+y$aj(e^~Z@_BWWl z)NBT8@uG4gugF_lG#5Hd`@}8v&4SxthRr5no^!`u%s(srUFPa5)iw9$UH|XWuX|+2 z-(yA+6-rO;E`BHSGf5`K`ChSklxIX-#yt7OG*MSv&-&Yz_D<2CQ>D8!n3Vc9pPxD{F?|hNkLrey*yg)SpSz^_ zz5g2Ym|@4Fx#7ao{{+puk*(0}nKyaorTd@li|TH+GYM<7ynEQ*^R_+V?9JC~%jH;h zsx5iEPxNc$N8zsC-2YyU?B=-v2U>RIwnqKlSk1%W`M=}0!<&U3HrtmfEvS8O9Z~(E z*5p=suJJaRo2JV$ekWd5D{8or{+^*=%9Tasi=*Q;7vK7DxasJ2-HBC`Rh(HCgy_x? zu1FG2yfOa(`}BaFC+?X~u3`$SpCI4t9kAM3VngMvx*aWNtCEXjyI3kxt@ys$&Aa}_fXCyElKAqN7_kA z4dYjx_2CRlChD8z_7^`5y^&?k)pRBM%g_3m3tn~Z{c<(^sTS{f-^@Cnj1~9Kg%>i^ zT}*9OIuoguv1VWEh9lE{->LkXEFkC?_s_z@M0RfU$;Q2wC7jHSSD9q@@GoBWI6CU9^{dT$0}~LFAon-okxBZn-msJ2ZkfRen~ID^uU|WAD#>SM+A*J&>+{ zr6=*IOSsi2BW2cy*Y!W76*7F^Q_tYAEqZLay*{uDIxLCglCiR z0*4D{SVT7VF4)+6DdtniCHo0aG%mNe?G!tA`L$1=h-QvmM$+wue66-WObKr_3y-YR z5ZZg?RbjvkHA%I_CKWT&Zi%k8ta^9pLQ1hKj(M;h|90k`CSt=DNH0`$QhUHxZI^7|d_F*iM)d ztIYS@Tf3mm@@eN@E(NE3n;t3ttq^rrNZrz6;da3HU1f&h^eOHP7FVqd54s&RR0z-8 z5uWttV^GYtD>q7lx_9zxDkLpi6w-3*mF)cbE|mon))&m*v9D?JEe4J&-|rmyQqd5k zp?HFSk5m8rCWA(41xA@YNz4=SEwb}Jw{$M<@MixgS>v}X zSN6ck3^5&_OL~v2W@iPYEn%?eY}}FMpWND;x%O?;j6a?SZoOp-c@y_1#b)d2^5;J_ z-?Sy$LCzDl@eDJ#BjWLx4*x8@At&AgG=h)%r%(rsUg0y zV=rGr$F|c2R<{37O%0#0enVqm;En~ICR|(JF34S~u%jV-`Zu-)r=^`K1u6@VP0CTN zD|@_*dzyma^cS-x%UL9ypF3M$KhefQjI+Nn4>(lSVVcJs8`mg$#IZRHI)vMu0SqtBk}0pAuJUZ?FkW#SIkSi#fN{rv^q zC$8mNV*2n;$K__u1o4GMOtWr^+=@1R(J6Laj^TB3sq*f>1+6ogEY~F*+Y@qfame|{ zZ#vdKeztd)9+k3r_Ikld*vnl$^c;T(Y4c*qFsoIR%%pMvhQx%q8u5~+q zm7(sNy1s6*V#XZ#?{AJI@N+)={_jb>fV9Ybaq+MRJ`0sTdB;>2edJkMb=u1~W&W(E z^G_?;?C-w$LL`szW7tgX?GHDvH?iD$-NJ9RYyPthPk$OEcIi3i{7iZLPVv>WlF}=a zdmJs(HZm*_;CSt)^PovOARI!rE$4)whhPb z^XESPbU$9i`*Zt)ZSBD-hdH@|EIrQ3Zck8Qn3er7X@-jN9NC_ftVWM`qS> zIat|EWla&0xbJm-&5>!xx0yBGU`mTH%bL;f%+>P!fAi#9)|FgAQp>JvV(kuX2(tWM z)RI*JE_g%7kAS9&cBL+ zlx8W;i>ZNf4kD4~&Q6+H>AUdzm0GpiZ>1k{^)SdCm@Yrx$T@m&^c z#TYch%@;(Z$rhT-h%gAeuffBhUsu!*dx0gvvf1ehx^6XTN_SuIgw@8L576^X&`0po!`tRrOtZx_oGqsR^ zZ2te;`%g-W-xJhKzSq2Wx48W`og?keoEuyMZhwW#V@_&+oHV7w=dDxto~cKx?mMkF z^gXwL)9gl?)eY`>o{fi#(&a2x7A~JTUt`^k4awL2KbN;u{T5uU=(c_O;m>DO;>D_2 z|CHspGccqYzQ{CMWS02q_t%5``@d_Z%T2m5?bqDtf9?p$My@cK+ww$v@~jp~L9VB& z-~Wbs?4MWlDrB|ViSC9y>qJ7cEJLJSzwb*iC|M@x+LC0sEwE9|uH`^vy|usp#4jqk zVhmH9)@r^y2b^pE?A~_d+V_%YJq4fFKh4uyN-Q60U z|I=gdosUVD$GhVfoNkuXv$wju@UIi&QLl6J{y&J$JtkqG9U$SoaZ>v=sl%TQtJyeC zJdNC1!0%yk`|tA$R-Yy2D)vTBVwvYB7ZJ}}z#Z)vJzHMD(UnhfMlq++jJpAhCypK4 zeL&YgSJvU&)%SA$t`vq@CNX9EI0pJTn*Dud*!wy4%5A<~bFzh3e8{id_hEPC?l$Rs z4L)hT+bxRc+&|7dX|nUct-bHhyUx@~W14j#B00WZv4OYzdjMBc{zIPbW%4HAnRmr)6%in1& z*cM~r`|wXif<5zrf8D`LHk(X1&~z?>%OZ?5@rZYOx3u2(KW(q-K8fRU&%8a;Yq)8d-iMo)q6i@JtZ%pR<^OJ$$tZCo5&ljs0<2ruU@QAu@vj2D`^5&Y`tx``#x~47?4mJ%~xAp_O z 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png b/kubejs/assets/tfg/textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png new file mode 100644 index 0000000000000000000000000000000000000000..f274a419554e60fa112386bcbc1c627356c3d313 GIT binary patch literal 111191 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%0DYd`}leAan?76(uEZ^~!;hS?B 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

=sQ+*IPKd=;cZ|_5NpP+T@n4HI%Mg6TfD1s^($g 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/rnr_plow.png b/kubejs/assets/tfg/textures/gui/rnr_plow.png new file mode 100644 index 0000000000000000000000000000000000000000..b2473c669cc414a858aa8cda785209725a6535e3 GIT binary patch literal 3928 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 BUMv6r literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/gui/rnr_plow_slider_bg.png b/kubejs/assets/tfg/textures/gui/rnr_plow_slider_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..e90c2ebed98e9f31e2041a895358046e5f7e1d67 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0y~yV2EO1U=ZM7V_;yImYu=Dz`(#+;1OBOz`!jG!i)^F z=14FwFqC_`IEF;DzP+)L_kaSA%f(`s*Sawq{!8(cW=_&zZgE!nZsn3(d+~t+=j`>2 z4lX;sxu`6@+kWr&smN_pW=bS8?1=mF`_R7NQ2!UnA9eOWyr9IV`v{fz^oPe-ICN{# nw6(0B`cu`EB_EouJjQuXNPNjX`&u&w1_lOCS3j3^P6w}z$XJ?L53-pf9vlN(dv=i^jq|yQ8{~Pppfm)g{P-5FfcH9y85}Sb4q9e0DJ*0 AnIxQa{Wz_p_+{GNBh4k7&pZ3RF{__-tU=zU z!ut2V%ERWy`7Ki>{qJ;6{uoqe$K@@wPtA&vLy=FVbxKglH+O$8hWk&xT&Q_nJ5Twc zE!T=wyYvIEmwx)W=eSy*Ym0zWRK6Go3zLClnpW9j_51I?e=dB;SAM@v{M1o7%?qWq z2@GwCU;c{w+Aplg=gV3><+J9IkHJ3izLkH^-#=3RPi&?Sn?yM8n?p-~>oaJmtQYtZ z=@frPaIW`a{bv*I@B47rfH6RXl_B2Vy)Ciinudp%S;1_+wU?}py7OmDy|&TJcTy|w z`JMY188T+IEz5LSe6ex*->NyUGs|c5GzNLLK61( zWh_qpANt_#O^L6k#5zAoZMa-Ey<0wlZ~p6*M-E6yi0R(`_~!QX_il^!xb02)^x*?% z|J}t6>s~8|)>=1QU1{;P%Tq(-Ri)lxvCpFUyCwvEN>@19yvEGm%QIJvS7EquPAep1c6mhacsXC<=oKY4 zUh|2PuG>}}5!zVd;CtLxA$f|oBM$^UGJWa# z{H1@JuCF`E{9?z8&G~(2{BA#xUTI60frqg&k7uWm2bUmCDlvHmz$+q%LfAB7esgikv-@tF4;`zk-y zU5B%jMW4TznN}C78GUzV`1zyt&+S<4r`?Rw4LyF|KBSvFkl|C(vs>}O8dtKeoH!!U zw(ene2GfHt8xOZM#pZ}jz4<8e(X;4RZSLw%)Bo76ybP0l+XkK0Ow{` literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/rnr_plow_item.png b/kubejs/assets/tfg/textures/item/rnr_plow_item.png new file mode 100644 index 0000000000000000000000000000000000000000..6539f46709b26975b1a0bac8c6aeb85f8b96677c GIT binary patch literal 658 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mY3d&i~ zSn~2py@G7>n<>i|t*g}VF*p)?`G~?bzT8h)FW)Ih_RcuF<>c+7lCf*=J^o!|fBtvv zzCHXwUjNFsUEh6XM^5&IC-$t-{))MI z*PoWLPYnKOQ}^3$s#ojencoEDDn3o&+dP$T^VE5-m$7tM^f513(l2w=fTu-ZOTLBW z+>Y3WxXnMV R%D}+D;OXk;vd$@?2>{lRD^LIc literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 6efcf0d46..e3f4b1226 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -1513,4 +1513,42 @@ function registerTFGMiscellaneousRecipes(event) { .duration(300) .EUt(GTValues.VA[GTValues.EV]) + //#region RNR Paving Cart + const rubber_types = [ + {fluid:'styrene_butadiene_rubber', quantity: 144}, + {fluid:'silicone_rubber', quantity: 288}, + {fluid:'rubber', quantity: 576} + ]; + rubber_types.forEach((rubber) => { + event.recipes.gtceu.assembler(`tfg:cobalt_brass_wheel/${rubber.fluid}`) + .itemInputs( + ChemicalHelper.get(TagPrefix.rod, GTMaterials.CobaltBrass, 9), + Ingredient.of('firmaciv:rope_coil').withCount(2), + Ingredient.of('#forge:screws/any_bronze').withCount(4) + ) + .inputFluids(Fluid.of(`gtceu:${rubber.fluid}`, rubber.quantity)) + .itemOutputs('tfg:cobalt_brass_wheel') + .duration(20*10) + .EUt(GTValues.VA[GTValues.LV]) + }); + TFGHelpers.registerMaterialInfo('tfg:cobalt_brass_wheel', { 'rubber': 1, 'cobalt_brass': 4}); + + const mattock_types = ['red', 'blue']; + mattock_types.forEach((type) => { + event.recipes.gtceu.assembler(`tfg:rnr_plow/${type}_steel`) + .itemInputs( + ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.CobaltBrass, 1), + ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 2), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Invar, 4), + ChemicalHelper.get(TagPrefix.spring, GTMaterials.Steel, 2), + Ingredient.of('tfg:cobalt_brass_wheel').withCount(2), + Ingredient.of('create:chute').withCount(1), + Ingredient.of(`#forge:mattock_heads/${type}_steel`).withCount(3) + ) + .itemOutputs('tfg:rnr_plow') + .duration(20*60) + .EUt(GTValues.VA[GTValues.LV]) + }); + TFGHelpers.registerMaterialInfo('tfg:rnr_plow', {'cobalt_brass': 5, 'invar': 2, 'steel': 2, 'wrought_iron': 2, 'rubber': 1, 'treated_wood': 1}); + //#endregion } diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index d9111c5e1..f8b48c889 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -216,6 +216,9 @@ const registerTFGItems = (event) => { event.create('tfg:twigs/alphacene') .tag('tfc:twigs') .texture('tfg:item/wood/twig/alphacene') + + event.create('tfg:cobalt_brass_wheel') + .translationKey('item.tfg.cobalt_brass_wheel') //#endregion //#region Cloth & String From 7fdec8c923b9944a5ad55ddc2429f7d40f7ee328 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 2 Nov 2025 14:07:54 +0000 Subject: [PATCH 010/628] added image to the EBF quest --- .../quests/chapters/lv__low_voltage.snbt | 6 +++++- kubejs/assets/tfg/lang/en_us.json | 5 +++-- kubejs/assets/tfg/textures/quests/ebf_power.png | Bin 0 -> 39031 bytes 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 kubejs/assets/tfg/textures/quests/ebf_power.png diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 1e9fe4a36..1cfca348e 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -205,7 +205,7 @@ "{@pagebreak}" "{quests.low_voltage.cover_behaviour.desc.2}" ] - icon: "gtceu:crafting_table_cover" + icon: "gtceu:storage_cover" id: "1C767009F505A813" shape: "square" size: 1.0d @@ -511,6 +511,10 @@ "{quests.low_voltage.lv_ebf.desc.1}" "{@pagebreak}" "{quests.low_voltage.lv_ebf.desc.2}" + "{@pagebreak}" + "{image:tfg:textures/quests/ebf_power.png width:256 height:136 align:center}" + "" + "{quests.low_voltage.lv_ebf.desc.3}" ] id: "1E9BE8D3F8A602DC" rewards: [{ diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 6705724d4..8977385e3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1262,7 +1262,6 @@ "entity.tfg.wraptor.female": "Wraptor", "tfg.tooltip.attribution.wraptor": "§9§oCredit: Species", "entity.tfg.surfer": "Surfer", - "entity.tfg.rnr_plow": "Paving Cart", "tfg.tooltip.surfer_variant.base": "Teal Hide", "tfg.tooltip.surfer_variant.bubble": "Blossom Berry Hide", "tfg.tooltip.surfer_variant.horn": "Golden Hide", @@ -1270,6 +1269,7 @@ "tfg.tooltip.surfer_variant.fire": "Sangnum Hide", "tfg.tooltip.surfer_variant.brain": "Glacian Hide", "tfg.tooltip.attribution.surfer": "§9§oCredit: Wan's Ancient Beasts", + "entity.tfg.rnr_plow": "Paving Cart", "effect.tfg.cooling": "§bCooling", "effect.tfg.warming": "§6Warming", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", @@ -1415,10 +1415,10 @@ "tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.", "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", "tfg.gui.rnr_plow.random_mode": "Randomize Materials", "tfg.gui.rnr_plow.width": "Path Width: %d Blocks", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cMissing Crushed Base Course!!", - "tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", @@ -2634,6 +2634,7 @@ "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.", "quests.low_voltage.lv_ebf.desc.2": "It's important to keep in mind that the EBF is a beefy boy. The minimum power cost to run a recipe is &9120 EU/t&r! That's slightly under 4 &7LV&r Generators or Alternators.\n\nYou may wish to consider building a separate power line, with separate Generators close to the EBF and Battery Buffer to run this. Be wary of the cable loss.", + "quests.low_voltage.lv_ebf.desc.3": "Is your EBF flickering and not getting enough power? You are likely encountering &ecable loss&r - read the GregTech Energy chapter to learn more about this mechanic.\n\nMake sure you have your generators as close to your EBF as possible, and use an appropriate cable - we recommend 2x Tin Cable, arranged like in the above picture.", "quests.low_voltage.multiblock_tech.title": "Multiblock Techniques", "quests.low_voltage.multiblock_tech.subtitle": "Oh we love multiblocks right?", "quests.low_voltage.multiblock_tech.desc": "This is the &6basics&r of what you need to build your first &bEBF&r, though it is highly customisable. Remember to use &6EMI&r, use &6U&r on the controller and don't hesitate to &6left click on the structure blocks&r to see what the possibilities are.\n\nAn important notice, each Energy Hatch can accept &a2A&r, which means that at &7LV&r they can each handle &a64 EU/t&r. With two of them, your &eEBF&r can run at &a128 EU/t&r.\n\nFor more details about this mechanic, refer to the &eGregTech Energy Chapter&r, specifically the &eSpending Energy&r section.\n\nMultiblocks bear a large variety of interesting mechanics that might seem daunting, but don't worry - you don't need to do anything fancy right yet. You'll learn more as you go!", diff --git a/kubejs/assets/tfg/textures/quests/ebf_power.png b/kubejs/assets/tfg/textures/quests/ebf_power.png new file mode 100644 index 0000000000000000000000000000000000000000..869aeed1da1c86cfd1dd59d56718f633ce2b44b2 GIT binary patch literal 39031 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 Date: Sun, 2 Nov 2025 13:17:36 -0600 Subject: [PATCH 011/628] Stone age quests field guide links (#2147) Added field guide links to some of the stone age quests Signed-off-by: FlightingFalcon <100160941@ccisd.net> --- .../quests/chapters/questsstoneage.snbt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index 18dd7123d..a8ebfefce 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -60,6 +60,7 @@ "" "{image:tfc:textures/gui/book/gui/rock_knapping.png width:100 height:100 align:center fit:true}" ] + guide_page: "tfc:field_guide tfc:getting_started/introduction" id: "78E3BF0BEB48635B" size: 1.0d subtitle: "{quests.stone_age.find_rock.subtitle}" @@ -456,6 +457,7 @@ "" "{image:tfc:textures/gui/book/tutorial/pit_kiln_5.png width:100 height:100 align:center}" ] + guide_page: "tfc:field_guide tfc:getting_started/pit_kiln" id: "3630ED3B85753BB2" size: 2.0d subtitle: "{quests.stone_age.pit_kiln.subtitle}" @@ -544,6 +546,7 @@ { dependencies: ["3D7B0F3134C30364"] description: ["{quests.stone_age.find_clay.desc}"] + guide_page: "tfc:field_guide tfc:getting_started/pottery" hide_dependency_lines: true id: "021921B4D2044B3B" subtitle: "{quests.stone_age.find_clay.subtitle}" @@ -574,6 +577,7 @@ { dependencies: ["021921B4D2044B3B"] description: ["{quests.stone_age.clay.desc}"] + guide_page: "tfc:field_guide tfc:getting_started/pottery 3" id: "3687ACAD307EE7EF" subtitle: "{quests.stone_age.clay.subtitle}" tasks: [{ @@ -594,6 +598,7 @@ "{@pagebreak}" "{quests.stone_age.native_ores.desc.2}" ] + guide_page: "tfc:field_guide tfc:getting_started/finding_ores" hide_dependency_lines: true id: "669F84C6A2A64145" shape: "diamond" @@ -625,6 +630,7 @@ "{quests.stone_age.firepit.desc.2}" "{image:tfg:textures/quests/firepit.png width:100 height:100 align:center}" ] + guide_page: "tfc:field_guide tfc:getting_started/firepit" icon: "tfc:pot" id: "5301A38F7EA81140" subtitle: "{quests.stone_age.firepit.subtitle}" @@ -682,6 +688,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.stone_age.weld_copper_ingots.desc}"] + guide_page: "tfc:field_guide tfc:getting_started/primitive_anvils 6" id: "45A09AD0043FF92B" subtitle: "{quests.stone_age.weld_copper_ingots.subtitle}" tasks: [{ @@ -699,6 +706,7 @@ dependencies: ["5E186CD5E83BFDF0"] dependency_requirement: "one_completed" description: ["{quests.stone_age.flux.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/flux" icon: { Count: 1 ForgeCaps: { @@ -757,6 +765,7 @@ { dependencies: ["193F214E9F154980"] description: ["{quests.stone_age.rock_anvil.desc}"] + guide_page: "tfc:field_guide tfc:getting_started/primitive_anvils 3" id: "706A1824B1487385" subtitle: "{quests.stone_age.rock_anvil.subtitle}" tasks: [ @@ -852,6 +861,7 @@ { dependencies: ["78E3BF0BEB48635B"] description: ["{quests.stone_age.rock_knapping.desc}"] + guide_page: "tfc:field_guide tfc:getting_started/introduction 2" id: "4333D5794A37CF2D" subtitle: "{quests.stone_age.rock_knapping.subtitle}" tasks: [ @@ -1210,6 +1220,7 @@ { dependencies: ["193F214E9F154980"] description: ["{quests.stone_age.create_forge.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/charcoal_forge" id: "4D1CD95482EE2CDD" size: 2.0d subtitle: "{quests.stone_age.create_forge.subtitle}" @@ -1231,6 +1242,7 @@ "{quests.stone_age.get_raw_rock.desc}" "{image:tfg:textures/quests/raw_rock.png width:100 height:100 align:center}" ] + guide_page: "tfc:field_guide tfc:getting_started/primitive_anvils 5" hide_dependency_lines: false id: "193F214E9F154980" size: 1.5d @@ -1286,6 +1298,7 @@ "{@pagebreak}" "{quests.stone_age.mining_prep.desc.2}" ] + guide_page: "tfc:field_guide tfc:tfg_ores/ore_basics" icon: { Count: 1 ForgeCaps: { @@ -1302,6 +1315,7 @@ TorchPlacing: 1b } GT.Tool: { + DefaultEnchantments: [ ] HarvestLevel: 2 MaxDamage: 791 ToolSpeed: 6.0f @@ -1478,6 +1492,7 @@ { dependencies: ["0FB8FD84B13F10C6"] description: ["{quests.stone_age.nutrition.desc}"] + guide_page: "tfc:field_guide tfc:getting_started/food_and_water 5" icon: "minecraft:apple" id: "749B3C8698D34E91" size: 1.5d @@ -1613,6 +1628,7 @@ { dependencies: ["4C444814F1C7B600"] description: ["{quests.stone_age.barrels.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/barrels" id: "3E8833E7CE591E6F" subtitle: "{quests.stone_age.barrels.subtitle}" tasks: [{ @@ -1634,6 +1650,7 @@ { dependencies: ["3E8833E7CE591E6F"] description: ["{quests.stone_age.leather.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/leather_making" id: "560B17BFBE8D477D" subtitle: "{quests.stone_age.leather.subtitle}" tasks: [{ From 160045f59ae0ec318e6558c09cf966855a39ca2a Mon Sep 17 00:00:00 2001 From: theMegaTech <36931007+theMegaTech@users.noreply.github.com> Date: Tue, 4 Nov 2025 01:47:02 +0200 Subject: [PATCH 012/628] Add the Heatproof set buff to Blue Steel Boots (#2155) * make normal (non-diving) blue steel armour be a possible part of the blue steel set Signed-off-by: theMegaTech <36931007+theMegaTech@users.noreply.github.com> * Add the tooltip to reflect new behavior i hope i did this right Signed-off-by: theMegaTech <36931007+theMegaTech@users.noreply.github.com> --------- Signed-off-by: theMegaTech <36931007+theMegaTech@users.noreply.github.com> --- kubejs/client_scripts/tooltips.js | 5 ++++- kubejs/server_scripts/create/events.js | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index a0ac6ce29..980a5aa04 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -36,6 +36,9 @@ const registerTooltips = (event) => { text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')) text.add(3, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')) }) + event.addAdvanced(['tfc:metal/boots/blue_steel'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')) + }) event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:advanced_nanomuscle_chestplate'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.nanomuscle_warmth')), text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')) @@ -207,4 +210,4 @@ const registerTooltips = (event) => { event.addAdvanced(['vintageimprovements:lathe'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.obsolete.depreciated')) }) -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/create/events.js b/kubejs/server_scripts/create/events.js index 5752aeb16..7c83f3edd 100644 --- a/kubejs/server_scripts/create/events.js +++ b/kubejs/server_scripts/create/events.js @@ -6,7 +6,8 @@ PlayerEvents.tick((event) => { && player.headArmorItem === 'create:netherite_diving_helmet' && player.chestArmorItem === 'create:netherite_backtank' && player.legsArmorItem === 'minecraft:netherite_leggings' - && player.feetArmorItem === 'create:netherite_diving_boots') { + && (player.feetArmorItem === 'create:netherite_diving_boots' + || player.feetArmorItem === 'tfc:metal/boots/blue_steel')) { player.potionEffects.add("minecraft:fire_resistance", 350, 0, true, false); } }); From abbc81566328c3aa0456dd4b03ceb6bf1dd152f6 Mon Sep 17 00:00:00 2001 From: theMegaTech <36931007+theMegaTech@users.noreply.github.com> Date: Tue, 4 Nov 2025 02:37:53 +0200 Subject: [PATCH 013/628] add tfc resistances to non-tfc armours (#2157) Signed-off-by: theMegaTech <36931007+theMegaTech@users.noreply.github.com> --- kubejs/server_scripts/tfc/data.js | 184 ++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 16be426b5..d800003a3 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -9,6 +9,7 @@ const registerTFCDataForTFC = (event) => { registerTFCKnappingTypes(event) registerTFCItemSize(event) registerTFCFoodData(event) + registerTFCArmourResistances(event) } @@ -96,3 +97,186 @@ const registerTFCFoodData = (event) => { food.decayModifier(0) }) } + +const registerTFCArmourResistances = (event) => { + event.itemDamageResistance( + 'create:copper_diving_helmet', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_backtank', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_diving_boots', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_diving_helmet', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'gtceu:hazmat_headpiece', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_chestpiece', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_leggings', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_boots', + null, + null, + 3 + ) + event.itemDamageResistance( + 'create:netherite_diving_helmet', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'create:netherite_backtank', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'minecraft:netherite_leggings', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'create:netherite_diving_boots', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_helmet', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_chestplate', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:advanced_nanomuscle_chestplate', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_leggings', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_boots', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:quarktech_helmet', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_chestplate', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:advanced_quarktech_chestplate', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_leggings', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_boots', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'ad_astra:space_helmet', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_suit', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_pants', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_boots', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_helmet', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_suit', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_pants', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_boots', + 21, + 21, + 21 + ) +} From 1eea85dcb2f1a6ff535cf8e942fdb00d6edafe0f Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Tue, 4 Nov 2025 06:51:52 -0600 Subject: [PATCH 014/628] om (#2158) --- .../gtceu/molecules/antimony_trifluoride.json | 50 + .../gtceu/molecules/antimony_trioxide.json | 63 ++ kubejs/assets/gtceu/molecules/barite.json | 88 ++ kubejs/assets/gtceu/molecules/biphenyl.json | 154 +++ kubejs/assets/gtceu/molecules/calcite.json | 74 ++ .../gtceu/molecules/calcium_hydroxide.json | 47 + kubejs/assets/gtceu/molecules/lactose.json | 305 ++++++ .../gtceu/molecules/lithium_carbonate.json | 79 ++ kubejs/assets/gtceu/molecules/magnesite.json | 74 ++ .../gtceu/molecules/osmium_tetroxide.json | 63 ++ .../assets/gtceu/molecules/paracetamol.json | 141 +++ kubejs/assets/gtceu/molecules/phosphate.json | 74 ++ .../gtceu/molecules/phosphorus_pentoxide.json | 198 ++++ .../gtceu/molecules/potassium_carbonate.json | 79 ++ .../gtceu/molecules/potassium_cyanide.json | 46 + .../gtceu/molecules/potassium_dichromate.json | 149 +++ .../molecules/potassium_ferrocyanide.json | 199 ++++ .../gtceu/molecules/potassium_hydroxide.json | 46 + .../gtceu/molecules/potassium_sulfate.json | 93 ++ kubejs/assets/gtceu/molecules/saltpeter.json | 74 ++ kubejs/assets/gtceu/molecules/scheelite.json | 88 ++ kubejs/assets/gtceu/molecules/soda_ash.json | 79 ++ .../gtceu/molecules/sodium_bicarbonate.json | 75 ++ .../gtceu/molecules/sodium_bisulfate.json | 93 ++ .../gtceu/molecules/sodium_hydroxide.json | 46 + .../gtceu/molecules/sodium_nitrite.json | 60 ++ kubejs/assets/gtceu/molecules/sugar.json | 305 ++++++ .../gtceu/molecules/titanium_trifluoride.json | 50 + kubejs/assets/gtceu/molecules/tungstate.json | 93 ++ .../assets/gtceu/molecules/tungstic_acid.json | 65 ++ .../molecules/1_1_1_2_tetrafluoroethane.json | 74 ++ kubejs/assets/tfg/molecules/acetylene.json | 48 + .../assets/tfg/molecules/ammonia_borane.json | 108 +++ .../tfg/molecules/ammonium_tungstate.json | 893 +++++++++++++++++ kubejs/assets/tfg/molecules/aniline.json | 115 +++ kubejs/assets/tfg/molecules/apt.json | 912 ++++++++++++++++++ kubejs/assets/tfg/molecules/boric_acid.json | 53 + .../tfg/molecules/chlorine_pentafluoride.json | 76 ++ .../tfg/molecules/chlorodifluoromethane.json | 63 ++ .../tfg/molecules/chloryl_fluoride.json | 50 + .../tfg/molecules/dimethyl_carbonate.json | 73 ++ kubejs/assets/tfg/molecules/iodomethane.json | 63 ++ kubejs/assets/tfg/molecules/isobutane.json | 46 + .../tfg/molecules/methyl_phenylcarbamate.json | 152 +++ .../methylene_diphenyl_dicarbamate.json | 276 ++++++ .../methylene_diphenyl_diisocyanate.json | 244 +++++ .../tfg/molecules/sodium_borohydride.json | 76 ++ .../tfg/molecules/sodium_methoxide.json | 44 + .../tfg/molecules/sodium_tungstate.json | 89 ++ .../tfg/molecules/tetrafluoroethane.json | 74 ++ kubejs/assets/tfg/molecules/tmos.json | 111 +++ .../tfg/molecules/trideuteroiodomethane.json | 63 ++ .../tfg/molecules/trimethyl_borate.json | 86 ++ .../assets/tfg/molecules/tungsten_oxide.json | 50 + kubejs/server_scripts/tacz/recipes.ammo.js | 6 +- kubejs/server_scripts/tacz/tags.js | 1 + 56 files changed, 6894 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/gtceu/molecules/antimony_trifluoride.json create mode 100644 kubejs/assets/gtceu/molecules/antimony_trioxide.json create mode 100644 kubejs/assets/gtceu/molecules/barite.json create mode 100644 kubejs/assets/gtceu/molecules/biphenyl.json create mode 100644 kubejs/assets/gtceu/molecules/calcite.json create mode 100644 kubejs/assets/gtceu/molecules/calcium_hydroxide.json create mode 100644 kubejs/assets/gtceu/molecules/lactose.json create mode 100644 kubejs/assets/gtceu/molecules/lithium_carbonate.json create mode 100644 kubejs/assets/gtceu/molecules/magnesite.json create mode 100644 kubejs/assets/gtceu/molecules/osmium_tetroxide.json create mode 100644 kubejs/assets/gtceu/molecules/paracetamol.json create mode 100644 kubejs/assets/gtceu/molecules/phosphate.json create mode 100644 kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json create mode 100644 kubejs/assets/gtceu/molecules/potassium_carbonate.json create mode 100644 kubejs/assets/gtceu/molecules/potassium_cyanide.json create mode 100644 kubejs/assets/gtceu/molecules/potassium_dichromate.json create mode 100644 kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json create mode 100644 kubejs/assets/gtceu/molecules/potassium_hydroxide.json create mode 100644 kubejs/assets/gtceu/molecules/potassium_sulfate.json create mode 100644 kubejs/assets/gtceu/molecules/saltpeter.json create mode 100644 kubejs/assets/gtceu/molecules/scheelite.json create mode 100644 kubejs/assets/gtceu/molecules/soda_ash.json create mode 100644 kubejs/assets/gtceu/molecules/sodium_bicarbonate.json create mode 100644 kubejs/assets/gtceu/molecules/sodium_bisulfate.json create mode 100644 kubejs/assets/gtceu/molecules/sodium_hydroxide.json create mode 100644 kubejs/assets/gtceu/molecules/sodium_nitrite.json create mode 100644 kubejs/assets/gtceu/molecules/sugar.json create mode 100644 kubejs/assets/gtceu/molecules/titanium_trifluoride.json create mode 100644 kubejs/assets/gtceu/molecules/tungstate.json create mode 100644 kubejs/assets/gtceu/molecules/tungstic_acid.json create mode 100644 kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json create mode 100644 kubejs/assets/tfg/molecules/acetylene.json create mode 100644 kubejs/assets/tfg/molecules/ammonia_borane.json create mode 100644 kubejs/assets/tfg/molecules/ammonium_tungstate.json create mode 100644 kubejs/assets/tfg/molecules/aniline.json create mode 100644 kubejs/assets/tfg/molecules/apt.json create mode 100644 kubejs/assets/tfg/molecules/boric_acid.json create mode 100644 kubejs/assets/tfg/molecules/chlorine_pentafluoride.json create mode 100644 kubejs/assets/tfg/molecules/chlorodifluoromethane.json create mode 100644 kubejs/assets/tfg/molecules/chloryl_fluoride.json create mode 100644 kubejs/assets/tfg/molecules/dimethyl_carbonate.json create mode 100644 kubejs/assets/tfg/molecules/iodomethane.json create mode 100644 kubejs/assets/tfg/molecules/isobutane.json create mode 100644 kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json create mode 100644 kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json create mode 100644 kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json create mode 100644 kubejs/assets/tfg/molecules/sodium_borohydride.json create mode 100644 kubejs/assets/tfg/molecules/sodium_methoxide.json create mode 100644 kubejs/assets/tfg/molecules/sodium_tungstate.json create mode 100644 kubejs/assets/tfg/molecules/tetrafluoroethane.json create mode 100644 kubejs/assets/tfg/molecules/tmos.json create mode 100644 kubejs/assets/tfg/molecules/trideuteroiodomethane.json create mode 100644 kubejs/assets/tfg/molecules/trimethyl_borate.json create mode 100644 kubejs/assets/tfg/molecules/tungsten_oxide.json diff --git a/kubejs/assets/gtceu/molecules/antimony_trifluoride.json b/kubejs/assets/gtceu/molecules/antimony_trifluoride.json new file mode 100644 index 000000000..ee1fe0ee8 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/antimony_trifluoride.json @@ -0,0 +1,50 @@ +{ + "contents": [ + { + "type": "atom", + "element": Sb, + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": F, + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": F, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": F, + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/antimony_trioxide.json b/kubejs/assets/gtceu/molecules/antimony_trioxide.json new file mode 100644 index 000000000..e5fd582ea --- /dev/null +++ b/kubejs/assets/gtceu/molecules/antimony_trioxide.json @@ -0,0 +1,63 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": Sb, + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": Sb, + "index": 3, + "x": 2.598, + "y": 0.5 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/barite.json b/kubejs/assets/gtceu/molecules/barite.json new file mode 100644 index 000000000..729227ffc --- /dev/null +++ b/kubejs/assets/gtceu/molecules/barite.json @@ -0,0 +1,88 @@ +{ + "contents": [ + { + "type": "atom", + "element": S, + "index": 0, + "x": 2.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.33, + "y": -1.0 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 2.33, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ba²⁺", + "color": { + "color": -16725760, + "optional": true + }, + "material": "gtceu:barium" + }, + "index": 5, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/biphenyl.json b/kubejs/assets/gtceu/molecules/biphenyl.json new file mode 100644 index 000000000..c73925c19 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/biphenyl.json @@ -0,0 +1,154 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 1, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 2, + "x": 1.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 3, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 5, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "index": 6, + "x": 3.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 7, + "x": 4.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 8, + "x": 3.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 9, + "x": 5.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 10, + "x": 3.5, + "y": -0.866 + }, + { + "type": "atom", + "index": 11, + "x": 4.5, + "y": -0.866 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 6, + "bond_type": "double" + }, + { + "type": "bond", + "a": 6, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 11, + "bond_type": "double" + }, + { + "type": "bond", + "a": 11, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 7, + "bond_type": "double" + }, + { + "type": "bond", + "a": 7, + "b": 8, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcite.json b/kubejs/assets/gtceu/molecules/calcite.json new file mode 100644 index 000000000..42976f3ca --- /dev/null +++ b/kubejs/assets/gtceu/molecules/calcite.json @@ -0,0 +1,74 @@ +{ + "contents": [ + { + "type": "atom", + "element": C, + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca²⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcium_hydroxide.json b/kubejs/assets/gtceu/molecules/calcium_hydroxide.json new file mode 100644 index 000000000..bc7e35fa9 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/calcium_hydroxide.json @@ -0,0 +1,47 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 1.0, + "y": 0 + }, + { + "type": "atom", + "element": H, + "index": 1, + "x": 2.0, + "y": 0 + }, + { + "sup": "-", + "sub": "2", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca²⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/lactose.json b/kubejs/assets/gtceu/molecules/lactose.json new file mode 100644 index 000000000..0069ff2fc --- /dev/null +++ b/kubejs/assets/gtceu/molecules/lactose.json @@ -0,0 +1,305 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 1.8660000000000014, + "y": -1.5 + }, + { + "type": "atom", + "index": 1, + "x": 0.8660000000000014, + "y": -1.5 + }, + { + "type": "atom", + "index": 2, + "x": 0.36600000000000144, + "y": -2.3659999999999997 + }, + { + "type": "atom", + "index": 3, + "x": 0.8660000000000014, + "y": -3.2319999999999993 + }, + { + "type": "atom", + "index": 4, + "x": 1.8660000000000014, + "y": -3.2319999999999993 + }, + { + "type": "atom", + "index": 5, + "x": 2.3660000000000014, + "y": -2.3659999999999997 + }, + { + "type": "atom", + "element": O, + "left": "H", + "index": 6, + "x": 0.36600000000000144, + "y": -1.3659999999999997 + }, + { + "type": "atom", + "element": O, + "right": "H", + "index": 7, + "x": 0.8660000000000014, + "y": -2.2319999999999993 + }, + { + "type": "atom", + "element": O, + "right": "H", + "index": 8, + "x": 1.8660000000000014, + "y": -4.231999999999999 + }, + { + "type": "atom", + "element": O, + "index": 9, + "x": 2.3660000000000014, + "y": -1.3659999999999997 + }, + { + "type": "atom", + "index": 10, + "x": 2.3660000000000014, + "y": -0.36599999999999966 + }, + { + "type": "atom", + "index": 11, + "x": 0.8660000000000014, + "y": -0.5 + }, + { + "type": "atom", + "element": O, + "left": "H", + "index": 12, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 13, + "x": 2.8660000000000014, + "y": -1.2320000000000002 + }, + { + "type": "atom", + "index": 14, + "x": 3.8660000000000014, + "y": -1.2320000000000002 + }, + { + "type": "atom", + "index": 15, + "x": 4.366000000000001, + "y": -0.36599999999999966 + }, + { + "type": "atom", + "element": O, + "index": 16, + "x": 3.8660000000000014, + "y": 0.5 + }, + { + "type": "atom", + "index": 17, + "x": 2.8660000000000014, + "y": 0.5 + }, + { + "type": "atom", + "element": O, + "right": "H", + "index": 18, + "x": 2.8660000000000014, + "y": -0.2320000000000002 + }, + { + "type": "atom", + "element": O, + "right": "H", + "index": 19, + "x": 3.8660000000000014, + "y": -2.2319999999999993 + }, + { + "type": "atom", + "element": O, + "right": "H", + "index": 20, + "x": 4.366000000000001, + "y": 0.6340000000000003 + }, + { + "type": "atom", + "index": 21, + "x": 2.8660000000000014, + "y": 1.5 + }, + { + "type": "atom", + "element": O, + "left": "H", + "index": 22, + "x": 2.0, + "y": 2.0 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 3, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "thick" + }, + { + "type": "bond", + "a": 5, + "b": 4, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 11, + "bond_type": "single" + }, + { + "type": "bond", + "a": 11, + "b": 12, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 13, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 13, + "b": 14, + "bond_type": "thick" + }, + { + "type": "bond", + "a": 15, + "b": 14, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 15, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 17, + "bond_type": "single" + }, + { + "type": "bond", + "a": 13, + "b": 18, + "bond_type": "single" + }, + { + "type": "bond", + "a": 14, + "b": 19, + "bond_type": "single" + }, + { + "type": "bond", + "a": 15, + "b": 20, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 21, + "bond_type": "single" + }, + { + "type": "bond", + "a": 21, + "b": 22, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/lithium_carbonate.json b/kubejs/assets/gtceu/molecules/lithium_carbonate.json new file mode 100644 index 000000000..c02a43ccb --- /dev/null +++ b/kubejs/assets/gtceu/molecules/lithium_carbonate.json @@ -0,0 +1,79 @@ +{ + "contents": [ + { + "type": "atom", + "element": C, + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Li⁺", + "color": { + "color": -3374849, + "optional": true + }, + "material": "gtceu:lithium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 4 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/magnesite.json b/kubejs/assets/gtceu/molecules/magnesite.json new file mode 100644 index 000000000..620b0a631 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/magnesite.json @@ -0,0 +1,74 @@ +{ + "contents": [ + { + "type": "atom", + "element": C, + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Mg²⁺", + "color": { + "color": -7667968, + "optional": true + }, + "material": "gtceu:magnesium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/osmium_tetroxide.json b/kubejs/assets/gtceu/molecules/osmium_tetroxide.json new file mode 100644 index 000000000..3d87328e5 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/osmium_tetroxide.json @@ -0,0 +1,63 @@ +{ + "contents": [ + { + "index": 0, + "element": "Os", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "O", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "O", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "O", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "O", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "bond_type": "single", + "type": "bond" + }, + { + "a": 0, + "b": 2, + "bond_type": "inward", + "type": "bond" + }, + { + "a": 0, + "b": 3, + "bond_type": "outward", + "type": "bond" + }, + { + "a": 0, + "b": 4, + "bond_type": "single", + "type": "bond" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/paracetamol.json b/kubejs/assets/gtceu/molecules/paracetamol.json new file mode 100644 index 000000000..d709d2c3a --- /dev/null +++ b/kubejs/assets/gtceu/molecules/paracetamol.json @@ -0,0 +1,141 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.866, + "y": 1.5 + }, + { + "type": "atom", + "index": 1, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.7321, + "y": 2.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 4, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 5, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "left": H, + "index": 6, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": N, + "above": H, + "index": 7, + "x": 3.4641, + "y": 2.0 + }, + { + "type": "atom", + "index": 8, + "x": 4.3301, + "y": 1.5 + }, + { + "type": "atom", + "index": 9, + "x": 4.3301, + "y": 0.5 + }, + { + "type": "atom", + "element": O, + "index": 10, + "x": 5.1962, + "y": 2.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 10, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/phosphate.json b/kubejs/assets/gtceu/molecules/phosphate.json new file mode 100644 index 000000000..776d45def --- /dev/null +++ b/kubejs/assets/gtceu/molecules/phosphate.json @@ -0,0 +1,74 @@ +{ + "contents": [ + { + "index": 0, + "element": "P", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "O", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "O", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "O", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "O", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "sup": "3-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "a": 0, + "b": 1, + "bond_type": "double", + "type": "bond" + }, + { + "a": 0, + "b": 2, + "bond_type": "inward", + "type": "bond" + }, + { + "a": 0, + "b": 3, + "bond_type": "outward", + "type": "bond" + }, + { + "a": 0, + "b": 4, + "bond_type": "single", + "type": "bond" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json b/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json new file mode 100644 index 000000000..ad3f5caa0 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json @@ -0,0 +1,198 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 0.4132, + "y": -0.7316 + }, + { + "type": "atom", + "element": P, + "index": 1, + "x": 1.3028, + "y": -0.2795 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.3028, + "y": 0.6246 + }, + { + "type": "atom", + "element": P, + "index": 3, + "x": 1.8466, + "y": 1.5806 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 0.9568, + "y": 1.1286 + }, + { + "type": "atom", + "element": P, + "index": 5, + "x": 0.9568, + "y": 0.2244 + }, + { + "type": "atom", + "element": O, + "index": 6, + "x": 1.8466, + "y": -0.2277 + }, + { + "type": "atom", + "element": P, + "index": 7, + "x": 2.7364, + "y": 0.2244 + }, + { + "type": "atom", + "element": O, + "index": 8, + "x": 2.1926, + "y": -0.7316 + }, + { + "type": "atom", + "element": O, + "index": 9, + "x": 2.7364, + "y": 1.1286 + }, + { + "type": "atom", + "element": O, + "index": 10, + "x": 1.0728, + "y": -1.2695 + }, + { + "type": "atom", + "element": O, + "index": 11, + "x": 3.7031, + "y": -0.0313 + }, + { + "type": "atom", + "element": O, + "index": 12, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 13, + "x": 1.8466, + "y": 2.5806 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 10, + "bond_type": "double" + }, + { + "type": "bond", + "a": 7, + "b": 11, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 12, + "bond_type": "double" + }, + { + "type": "bond", + "a": 3, + "b": 13, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_carbonate.json b/kubejs/assets/gtceu/molecules/potassium_carbonate.json new file mode 100644 index 000000000..a5ac17370 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/potassium_carbonate.json @@ -0,0 +1,79 @@ +{ + "contents": [ + { + "type": "atom", + "element": C, + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 4 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_cyanide.json b/kubejs/assets/gtceu/molecules/potassium_cyanide.json new file mode 100644 index 000000000..350ef5180 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/potassium_cyanide.json @@ -0,0 +1,46 @@ +{ + "contents": [ + { + "type": "atom", + "element": N, + "index": 0, + "x": 1.9999, + "y": 0.0 + }, + { + "type": "atom", + "element": C, + "index": 1, + "x": 1.0, + "y": 0.0 + }, + { + "sup": "-", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "triple" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_dichromate.json b/kubejs/assets/gtceu/molecules/potassium_dichromate.json new file mode 100644 index 000000000..87c18f882 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/potassium_dichromate.json @@ -0,0 +1,149 @@ +{ + "contents": [ + { + "type": "atom", + "element": Cr, + "index": 0, + "x": 2.0238, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 1.5238, + "y": -0.866 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 2.5238, + "y": 0.8661 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 1.1578, + "y": 0.5 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 2.8898, + "y": -0.5 + }, + { + "type": "atom", + "element": Cr, + "index": 5, + "x": 3.7559, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 6, + "x": 3.2559, + "y": 0.8661 + }, + { + "type": "atom", + "element": O, + "index": 7, + "x": 4.2559, + "y": -0.866 + }, + { + "type": "atom", + "element": O, + "index": 8, + "x": 4.6219, + "y": 0.5 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 9, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 9 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 6, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 7, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 8, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json b/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json new file mode 100644 index 000000000..744968126 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json @@ -0,0 +1,199 @@ +{ + "contents": [ + { + "type": "atom", + "element": Fe, + "index": 0, + "x": 2.95, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 2.084, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 2.084, + "y": -0.5 + }, + { + "type": "atom", + "index": 3, + "x": 2.95, + "y": 1.0 + }, + { + "type": "atom", + "index": 4, + "x": 2.95, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 3.816, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 3.816, + "y": -0.5 + }, + { + "type": "atom", + "element": N, + "index": 7, + "x": 1.218, + "y": -1.0 + }, + { + "type": "atom", + "element": N, + "index": 8, + "x": 4.6821, + "y": 1.0 + }, + { + "type": "atom", + "element": N, + "index": 9, + "x": 2.95, + "y": 2.0 + }, + { + "type": "atom", + "element": N, + "index": 10, + "x": 4.6821, + "y": -1.0 + }, + { + "type": "atom", + "element": N, + "index": 11, + "x": 1.218, + "y": 1.0 + }, + { + "type": "atom", + "element": N, + "index": 12, + "x": 2.95, + "y": -2.0 + }, + { + "sup": "4-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "4", + "atoms": [ 13 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "inward" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 5, + "bond_type": "inward" + }, + { + "type": "bond", + "a": 0, + "b": 6, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 2, + "b": 7, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 5, + "b": 8, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 3, + "b": 9, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 6, + "b": 10, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 1, + "b": 11, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 4, + "b": 12, + "bond_type": "triple" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_hydroxide.json b/kubejs/assets/gtceu/molecules/potassium_hydroxide.json new file mode 100644 index 000000000..3d711692d --- /dev/null +++ b/kubejs/assets/gtceu/molecules/potassium_hydroxide.json @@ -0,0 +1,46 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 1.0, + "y": 0 + }, + { + "type": "atom", + "element": H, + "index": 1, + "x": 2.0, + "y": 0 + }, + { + "sup": "-", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_sulfate.json b/kubejs/assets/gtceu/molecules/potassium_sulfate.json new file mode 100644 index 000000000..1a6d1c7a6 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/potassium_sulfate.json @@ -0,0 +1,93 @@ +{ + "contents": [ + { + "type": "atom", + "element": S, + "index": 0, + "x": 2.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.33, + "y": -1.0 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 2.33, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 5, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 5 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/saltpeter.json b/kubejs/assets/gtceu/molecules/saltpeter.json new file mode 100644 index 000000000..3ba713ef9 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/saltpeter.json @@ -0,0 +1,74 @@ +{ + "contents": [ + { + "type": "atom", + "element": N, + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "one_and_half" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "one_and_half" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "one_and_half" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/scheelite.json b/kubejs/assets/gtceu/molecules/scheelite.json new file mode 100644 index 000000000..56bad1315 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/scheelite.json @@ -0,0 +1,88 @@ +{ + "contents": [ + { + "type": "atom", + "element": W, + "index": 0, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.0, + "y": -1.0 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 2.0, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca²⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 5, + "x": -0.5, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/soda_ash.json b/kubejs/assets/gtceu/molecules/soda_ash.json new file mode 100644 index 000000000..870f94e39 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/soda_ash.json @@ -0,0 +1,79 @@ +{ + "contents": [ + { + "type": "atom", + "element": C, + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 4 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json b/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json new file mode 100644 index 000000000..446fb1e09 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json @@ -0,0 +1,75 @@ +{ + "contents": [ + { + "type": "atom", + "element": C, + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": O, + "right": H, + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_bisulfate.json b/kubejs/assets/gtceu/molecules/sodium_bisulfate.json new file mode 100644 index 000000000..75d37f762 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sodium_bisulfate.json @@ -0,0 +1,93 @@ +{ + "contents": [ + { + "type": "atom", + "element": S, + "index": 0, + "x": 2.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.33, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.33, + "y": -1.0 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 2.33, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 5, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 5 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_hydroxide.json b/kubejs/assets/gtceu/molecules/sodium_hydroxide.json new file mode 100644 index 000000000..c4d484fee --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sodium_hydroxide.json @@ -0,0 +1,46 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 1.0, + "y": 0 + }, + { + "type": "atom", + "element": H, + "index": 1, + "x": 2.0, + "y": 0 + }, + { + "sup": "-", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_nitrite.json b/kubejs/assets/gtceu/molecules/sodium_nitrite.json new file mode 100644 index 000000000..5a40a5045 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sodium_nitrite.json @@ -0,0 +1,60 @@ +{ + "contents": [ + { + "type": "atom", + "element": N, + "index": 0, + "x": 2.13, + "y": 0.25 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 2.996, + "y": -0.25 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.264, + "y": -0.25 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "one_and_half" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "one_and_half" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sugar.json b/kubejs/assets/gtceu/molecules/sugar.json new file mode 100644 index 000000000..1ab618be7 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sugar.json @@ -0,0 +1,305 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.8661, + "y": -3.2321 + }, + { + "type": "atom", + "index": 1, + "x": 1.8661, + "y": -3.2321 + }, + { + "type": "atom", + "index": 2, + "x": 2.3661, + "y": -2.3661 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 1.8661, + "y": -1.5 + }, + { + "type": "atom", + "index": 4, + "x": 0.8661, + "y": -1.5 + }, + { + "type": "atom", + "index": 5, + "x": 0.3661, + "y": -2.3661 + }, + { + "type": "atom", + "element": O, + "index": 6, + "x": 4.3956, + "y": -1.7183 + }, + { + "type": "atom", + "index": 7, + "x": 5.2045, + "y": -2.3061 + }, + { + "type": "atom", + "index": 8, + "x": 4.8955, + "y": -3.2572 + }, + { + "type": "atom", + "index": 9, + "x": 3.8956, + "y": -3.2572 + }, + { + "type": "atom", + "index": 10, + "x": 3.5866, + "y": -2.3061 + }, + { + "type": "atom", + "element": O, + "index": 11, + "x": 2.9721, + "y": -2.8761 + }, + { + "type": "atom", + "index": 12, + "x": 0.8661, + "y": -0.5 + }, + { + "type": "atom", + "element": O, + "right": H, + "index": 13, + "x": 0.8661, + "y": -2.2321 + }, + { + "type": "atom", + "element": O, + "right": H, + "index": 14, + "x": 0.3661, + "y": -3.3661 + }, + { + "type": "atom", + "element": O, + "right": H, + "index": 15, + "x": 1.8661, + "y": -4.2321 + }, + { + "type": "atom", + "index": 16, + "x": 3.5866, + "y": -1.3061 + }, + { + "type": "atom", + "element": O, + "left": H, + "index": 17, + "x": 2.7205, + "y": -0.8061 + }, + { + "type": "atom", + "element": O, + "left": H, + "index": 18, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "right": H, + "index": 19, + "x": 3.8956, + "y": -4.2572 + }, + { + "type": "atom", + "element": O, + "left": H, + "index": 20, + "x": 4.6555, + "y": -2.3972 + }, + { + "type": "atom", + "index": 21, + "x": 5.2045, + "y": -3.3061 + }, + { + "type": "atom", + "element": O, + "right": H, + "index": 22, + "x": 6.0706, + "y": -3.8061 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "thick" + }, + { + "type": "bond", + "a": 2, + "b": 1, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 2, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 9, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 9, + "b": 8, + "bond_type": "thick" + }, + { + "type": "bond", + "a": 7, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 11, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 11, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 12, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 13, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 14, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 15, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 17, + "bond_type": "single" + }, + { + "type": "bond", + "a": 12, + "b": 18, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 19, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 20, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 8, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 7, + "b": 21, + "bond_type": "single" + }, + { + "type": "bond", + "a": 21, + "b": 22, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/titanium_trifluoride.json b/kubejs/assets/gtceu/molecules/titanium_trifluoride.json new file mode 100644 index 000000000..b19b7a111 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/titanium_trifluoride.json @@ -0,0 +1,50 @@ +{ + "contents": [ + { + "type": "atom", + "element": Ti, + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": F, + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": F, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": F, + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/tungstate.json b/kubejs/assets/gtceu/molecules/tungstate.json new file mode 100644 index 000000000..d81e773d7 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/tungstate.json @@ -0,0 +1,93 @@ +{ + "contents": [ + { + "type": "atom", + "element": W, + "index": 0, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 3.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 2.0, + "y": -1.0 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 2.0, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Li⁺", + "color": { + "color": -3374849, + "optional": true + }, + "material": "gtceu:lithium" + }, + "index": 5, + "x": -0.5, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 5 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/tungstic_acid.json b/kubejs/assets/gtceu/molecules/tungstic_acid.json new file mode 100644 index 000000000..1d376cf63 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/tungstic_acid.json @@ -0,0 +1,65 @@ +{ + "contents": [ + { + "type": "atom", + "element": W, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 0.0, + "y": -0.825 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 0.0, + "y": 0.825 + }, + { + "type": "atom", + "element": O, + "right": "H", + "index": 3, + "x": 0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "left": "H", + "index": 4, + "x": -0.825, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json b/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json new file mode 100644 index 000000000..4b4f2fc3a --- /dev/null +++ b/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json @@ -0,0 +1,74 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -1.7860, + "y": -0.0256 + }, + { + "type": "atom", + "index": 1, + "x": -0.9610, + "y": -0.0256 + }, + { + "type": "atom", + "element": F, + "index": 2, + "x": -2.6110, + "y": -0.0256 + }, + { + "type": "atom", + "element": F, + "index": 3, + "x": -1.7860, + "y": 0.7993 + }, + { + "type": "atom", + "element": F, + "index": 4, + "x": -1.7860, + "y": -0.8506 + }, + { + "type": "atom", + "element": F, + "index": 5, + "x": -0.5485, + "y": -0.7401 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/acetylene.json b/kubejs/assets/tfg/molecules/acetylene.json new file mode 100644 index 000000000..8fb87b91c --- /dev/null +++ b/kubejs/assets/tfg/molecules/acetylene.json @@ -0,0 +1,48 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -1.8973, + "y": 0.9151 + }, + { + "type": "atom", + "index": 1, + "x": -1.0723, + "y": 0.9151 + }, + { + "type": "atom", + "element": H, + "index": 2, + "x": -2.7223, + "y": 0.9151 + }, + { + "type": "atom", + "element": H, + "index": 3, + "x": -0.2473, + "y": 0.9151 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 3, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ammonia_borane.json b/kubejs/assets/tfg/molecules/ammonia_borane.json new file mode 100644 index 000000000..adbd61a38 --- /dev/null +++ b/kubejs/assets/tfg/molecules/ammonia_borane.json @@ -0,0 +1,108 @@ +{ + "contents": [ + { + "type": "atom", + "element": { + "symbol": "N⁺", + "material": "gtceu:nitrogen" + }, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "B⁻", + "material": "gtceu:boron" + }, + "index": 1, + "x": -0.8249, + "y": 0.0 + }, + { + "type": "atom", + "element": H, + "index": 2, + "x": 0.0, + "y": 0.825 + }, + { + "type": "atom", + "element": H, + "index": 3, + "x": -0.8249, + "y": 0.825 + }, + { + "type": "atom", + "element": H, + "index": 4, + "x": -1.6499, + "y": 0.0 + }, + { + "type": "atom", + "element": H, + "index": 5, + "x": 0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": H, + "index": 6, + "x": -0.8249, + "y": -0.8249 + }, + { + "type": "atom", + "element": H, + "index": 7, + "x": 0.0, + "y": -0.8249 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 6, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ammonium_tungstate.json b/kubejs/assets/tfg/molecules/ammonium_tungstate.json new file mode 100644 index 000000000..43810792b --- /dev/null +++ b/kubejs/assets/tfg/molecules/ammonium_tungstate.json @@ -0,0 +1,893 @@ +{ + "contents": [ + { + "type": "atom", + "element": W, + "index": 0, + "x": -0.0869, + "y": -3.2348 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": -0.0869, + "y": -4.0598 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 0.72, + "y": -3.4063 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": -0.9118999999999999, + "y": -3.2348 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": -0.7, + "y": -2.6827 + }, + { + "type": "atom", + "element": O, + "index": 5, + "x": 0.6976, + "y": -2.9798 + }, + { + "type": "atom", + "element": O, + "index": 6, + "x": -0.02310000000000001, + "y": -2.258 + }, + { + "type": "atom", + "element": W, + "index": 7, + "x": -1.6965000000000001, + "y": -2.9798 + }, + { + "type": "atom", + "element": W, + "index": 8, + "x": -0.7862, + "y": -1.8622999999999998 + }, + { + "type": "atom", + "element": W, + "index": 9, + "x": 1.0332, + "y": -2.2262 + }, + { + "type": "atom", + "element": W, + "index": 10, + "x": 1.5404, + "y": -3.3201 + }, + { + "type": "atom", + "element": O, + "index": 11, + "x": -1.6103, + "y": -3.8003 + }, + { + "type": "atom", + "element": O, + "index": 12, + "x": -2.411, + "y": -3.3923 + }, + { + "type": "atom", + "element": O, + "index": 13, + "x": -2.364, + "y": -2.4949 + }, + { + "type": "atom", + "element": O, + "index": 14, + "x": -1.8681, + "y": -2.1729 + }, + { + "type": "atom", + "element": O, + "index": 15, + "x": -1.1445, + "y": -2.3667 + }, + { + "type": "atom", + "element": W, + "index": 16, + "x": -1.6673, + "y": -1.2918999999999998 + }, + { + "type": "atom", + "element": W, + "index": 17, + "x": -2.4812000000000003, + "y": -1.6208 + }, + { + "type": "atom", + "element": O, + "index": 18, + "x": -1.8904, + "y": -0.7563 + }, + { + "type": "atom", + "element": O, + "index": 19, + "x": -2.6151, + "y": -0.5503 + }, + { + "type": "atom", + "element": O, + "index": 20, + "x": -3.0942000000000003, + "y": -1.0688 + }, + { + "type": "atom", + "element": O, + "index": 21, + "x": -3.1956, + "y": -2.0333 + }, + { + "type": "atom", + "element": O, + "index": 22, + "x": -1.0987, + "y": -0.881 + }, + { + "type": "atom", + "element": O, + "index": 23, + "x": 0.020599999999999993, + "y": -1.6906999999999999 + }, + { + "type": "atom", + "element": O, + "index": 24, + "x": -1.8907, + "y": -1.6821 + }, + { + "type": "atom", + "element": O, + "index": 25, + "x": 0.6372, + "y": -2.3662 + }, + { + "type": "atom", + "element": O, + "index": 26, + "x": 1.2048999999999999, + "y": -4.0737000000000005 + }, + { + "type": "atom", + "element": O, + "index": 27, + "x": 2.1534999999999997, + "y": -3.8721 + }, + { + "type": "atom", + "element": O, + "index": 28, + "x": 1.6266999999999998, + "y": -2.4996 + }, + { + "type": "atom", + "element": O, + "index": 29, + "x": 2.2941, + "y": -2.9844999999999997 + }, + { + "type": "atom", + "element": W, + "index": 30, + "x": 2.2941, + "y": -2.0147 + }, + { + "type": "atom", + "element": O, + "index": 31, + "x": 1.4327999999999999, + "y": -1.7188999999999999 + }, + { + "type": "atom", + "element": O, + "index": 32, + "x": 2.9072, + "y": -2.5667 + }, + { + "type": "atom", + "element": O, + "index": 33, + "x": 3.1010999999999997, + "y": -1.8431 + }, + { + "type": "atom", + "element": O, + "index": 34, + "x": 1.2827, + "y": -0.8858 + }, + { + "type": "atom", + "element": O, + "index": 35, + "x": 2.5490999999999997, + "y": -1.23 + }, + { + "type": "atom", + "element": O, + "index": 36, + "x": 1.6082999999999998, + "y": -1.2803 + }, + { + "type": "atom", + "element": W, + "index": 37, + "x": 2.0641, + "y": -0.5626 + }, + { + "type": "atom", + "element": O, + "index": 38, + "x": 2.7316, + "y": -0.0778 + }, + { + "type": "atom", + "element": O, + "index": 39, + "x": 2.0641, + "y": 0.2623 + }, + { + "type": "atom", + "element": O, + "index": 40, + "x": 1.2725, + "y": -0.07759999999999999 + }, + { + "type": "atom", + "element": W, + "index": 41, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 42, + "x": 0.11229999999999998, + "y": 0.8207 + }, + { + "type": "atom", + "element": O, + "index": 43, + "x": -0.8037, + "y": 0.4125 + }, + { + "type": "atom", + "element": O, + "index": 44, + "x": 0.6666, + "y": -0.48550000000000004 + }, + { + "type": "atom", + "element": O, + "index": 45, + "x": -1.1864000000000001, + "y": -0.3053 + }, + { + "type": "atom", + "element": W, + "index": 46, + "x": -1.6048, + "y": -0.22139999999999999 + }, + { + "type": "atom", + "element": O, + "index": 47, + "x": -2.1853000000000002, + "y": 0.3026 + }, + { + "type": "atom", + "element": O, + "index": 48, + "x": -1.4332, + "y": 0.5631999999999999 + }, + { + "type": "atom", + "element": O, + "index": 49, + "x": -0.5295, + "y": -1.0244 + }, + { + "type": "atom", + "element": W, + "index": 50, + "x": 0.1585, + "y": -0.8017 + }, + { + "type": "atom", + "element": O, + "index": 51, + "x": -0.37350000000000005, + "y": -1.4035 + }, + { + "type": "atom", + "element": O, + "index": 52, + "x": -1.2137, + "y": -1.6296 + }, + { + "type": "atom", + "element": O, + "index": 53, + "x": 0.5707, + "y": -1.3983999999999999 + }, + { + "type": "atom", + "element": { + "symbol": "⁺N", + "material": "gtceu:nitrogen" + }, + "right": [ + "H", + 4 + ], + "index": 54, + "x": -4.6, + "y": -1.36 + }, + { + "sub": "10", + "atoms": [54], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 15, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 14, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 13, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 12, + "bond_type": "double" + }, + { + "type": "bond", + "a": 7, + "b": 11, + "bond_type": "double" + }, + { + "type": "bond", + "a": 14, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 14, + "b": 17, + "bond_type": "single" + }, + { + "type": "bond", + "a": 13, + "b": 17, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 18, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 19, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 20, + "bond_type": "double" + }, + { + "type": "bond", + "a": 17, + "b": 21, + "bond_type": "double" + }, + { + "type": "bond", + "a": 15, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 18, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 22, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 23, + "bond_type": "single" + }, + { + "type": "bond", + "a": 23, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 24, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 25, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 26, + "bond_type": "double" + }, + { + "type": "bond", + "a": 10, + "b": 27, + "bond_type": "double" + }, + { + "type": "bond", + "a": 10, + "b": 29, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 28, + "bond_type": "single" + }, + { + "type": "bond", + "a": 28, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 31, + "bond_type": "single" + }, + { + "type": "bond", + "a": 28, + "b": 30, + "bond_type": "single" + }, + { + "type": "bond", + "a": 29, + "b": 30, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 34, + "bond_type": "single" + }, + { + "type": "bond", + "a": 30, + "b": 32, + "bond_type": "double" + }, + { + "type": "bond", + "a": 30, + "b": 33, + "bond_type": "double" + }, + { + "type": "bond", + "a": 30, + "b": 36, + "bond_type": "single" + }, + { + "type": "bond", + "a": 30, + "b": 35, + "bond_type": "single" + }, + { + "type": "bond", + "a": 36, + "b": 37, + "bond_type": "single" + }, + { + "type": "bond", + "a": 35, + "b": 37, + "bond_type": "single" + }, + { + "type": "bond", + "a": 37, + "b": 39, + "bond_type": "double" + }, + { + "type": "bond", + "a": 37, + "b": 38, + "bond_type": "double" + }, + { + "type": "bond", + "a": 37, + "b": 40, + "bond_type": "single" + }, + { + "type": "bond", + "a": 37, + "b": 34, + "bond_type": "single" + }, + { + "type": "bond", + "a": 40, + "b": 41, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 44, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 45, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 43, + "bond_type": "single" + }, + { + "type": "bond", + "a": 19, + "b": 46, + "bond_type": "single" + }, + { + "type": "bond", + "a": 18, + "b": 46, + "bond_type": "single" + }, + { + "type": "bond", + "a": 46, + "b": 48, + "bond_type": "double" + }, + { + "type": "bond", + "a": 46, + "b": 47, + "bond_type": "double" + }, + { + "type": "bond", + "a": 22, + "b": 46, + "bond_type": "single" + }, + { + "type": "bond", + "a": 46, + "b": 43, + "bond_type": "single" + }, + { + "type": "bond", + "a": 45, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 49, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 42, + "bond_type": "double" + }, + { + "type": "bond", + "a": 50, + "b": 44, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 49, + "bond_type": "single" + }, + { + "type": "bond", + "a": 49, + "b": 50, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 51, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 52, + "bond_type": "single" + }, + { + "type": "bond", + "a": 51, + "b": 50, + "bond_type": "single" + }, + { + "type": "bond", + "a": 25, + "b": 50, + "bond_type": "single" + }, + { + "type": "bond", + "a": 50, + "b": 53, + "bond_type": "single" + }, + { + "type": "bond", + "a": 50, + "b": 36, + "bond_type": "single" + }, + { + "sup": "10-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ], + "type": "parens" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/aniline.json b/kubejs/assets/tfg/molecules/aniline.json new file mode 100644 index 000000000..fe68df9b6 --- /dev/null +++ b/kubejs/assets/tfg/molecules/aniline.json @@ -0,0 +1,115 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.3913, + "y": 1.6850 + }, + { + "type": "atom", + "index": 1, + "x": -0.8037, + "y": 0.9705 + }, + { + "type": "atom", + "index": 2, + "x": -0.3912, + "y": 0.2560 + }, + { + "type": "atom", + "index": 3, + "x": 0.4337, + "y": 0.2559 + }, + { + "type": "atom", + "index": 4, + "x": 0.8462, + "y": 0.9704 + }, + { + "type": "atom", + "index": 5, + "x": 0.4336, + "y": 1.6850 + }, + { + "type": "atom", + "element": N, + "index": 6, + "x": -1.6287, + "y": 0.9705 + }, + { + "type": "atom", + "element": H, + "index": 7, + "x": -2.0412, + "y": 0.2560 + }, + { + "type": "atom", + "element": H, + "index": 8, + "x": -2.0412, + "y": 1.6850 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 3, + "bond_type": "double" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 0, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 7, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/apt.json b/kubejs/assets/tfg/molecules/apt.json new file mode 100644 index 000000000..5862fa2d3 --- /dev/null +++ b/kubejs/assets/tfg/molecules/apt.json @@ -0,0 +1,912 @@ +{ + "contents": [ + { + "type": "atom", + "element": W, + "index": 0, + "x": -0.0869, + "y": -3.2348 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": -0.0869, + "y": -4.0598 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 0.72, + "y": -3.4063 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": -0.9118999999999999, + "y": -3.2348 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": -0.7, + "y": -2.6827 + }, + { + "type": "atom", + "element": O, + "index": 5, + "x": 0.6976, + "y": -2.9798 + }, + { + "type": "atom", + "element": O, + "index": 6, + "x": -0.02310000000000001, + "y": -2.258 + }, + { + "type": "atom", + "element": W, + "index": 7, + "x": -1.6965000000000001, + "y": -2.9798 + }, + { + "type": "atom", + "element": W, + "index": 8, + "x": -0.7862, + "y": -1.8622999999999998 + }, + { + "type": "atom", + "element": W, + "index": 9, + "x": 1.0332, + "y": -2.2262 + }, + { + "type": "atom", + "element": W, + "index": 10, + "x": 1.5404, + "y": -3.3201 + }, + { + "type": "atom", + "element": O, + "index": 11, + "x": -1.6103, + "y": -3.8003 + }, + { + "type": "atom", + "element": O, + "index": 12, + "x": -2.411, + "y": -3.3923 + }, + { + "type": "atom", + "element": O, + "index": 13, + "x": -2.364, + "y": -2.4949 + }, + { + "type": "atom", + "element": O, + "index": 14, + "x": -1.8681, + "y": -2.1729 + }, + { + "type": "atom", + "element": O, + "index": 15, + "x": -1.1445, + "y": -2.3667 + }, + { + "type": "atom", + "element": W, + "index": 16, + "x": -1.6673, + "y": -1.2918999999999998 + }, + { + "type": "atom", + "element": W, + "index": 17, + "x": -2.4812000000000003, + "y": -1.6208 + }, + { + "type": "atom", + "element": O, + "index": 18, + "x": -1.8904, + "y": -0.7563 + }, + { + "type": "atom", + "element": O, + "index": 19, + "x": -2.6151, + "y": -0.5503 + }, + { + "type": "atom", + "element": O, + "index": 20, + "x": -3.0942000000000003, + "y": -1.0688 + }, + { + "type": "atom", + "element": O, + "index": 21, + "x": -3.1956, + "y": -2.0333 + }, + { + "type": "atom", + "element": O, + "index": 22, + "x": -1.0987, + "y": -0.881 + }, + { + "type": "atom", + "element": O, + "index": 23, + "x": 0.020599999999999993, + "y": -1.6906999999999999 + }, + { + "type": "atom", + "element": O, + "index": 24, + "x": -1.8907, + "y": -1.6821 + }, + { + "type": "atom", + "element": O, + "index": 25, + "x": 0.6372, + "y": -2.3662 + }, + { + "type": "atom", + "element": O, + "index": 26, + "x": 1.2048999999999999, + "y": -4.0737000000000005 + }, + { + "type": "atom", + "element": O, + "index": 27, + "x": 2.1534999999999997, + "y": -3.8721 + }, + { + "type": "atom", + "element": O, + "index": 28, + "x": 1.6266999999999998, + "y": -2.4996 + }, + { + "type": "atom", + "element": O, + "index": 29, + "x": 2.2941, + "y": -2.9844999999999997 + }, + { + "type": "atom", + "element": W, + "index": 30, + "x": 2.2941, + "y": -2.0147 + }, + { + "type": "atom", + "element": O, + "index": 31, + "x": 1.4327999999999999, + "y": -1.7188999999999999 + }, + { + "type": "atom", + "element": O, + "index": 32, + "x": 2.9072, + "y": -2.5667 + }, + { + "type": "atom", + "element": O, + "index": 33, + "x": 3.1010999999999997, + "y": -1.8431 + }, + { + "type": "atom", + "element": O, + "index": 34, + "x": 1.2827, + "y": -0.8858 + }, + { + "type": "atom", + "element": O, + "index": 35, + "x": 2.5490999999999997, + "y": -1.23 + }, + { + "type": "atom", + "element": O, + "index": 36, + "x": 1.6082999999999998, + "y": -1.2803 + }, + { + "type": "atom", + "element": W, + "index": 37, + "x": 2.0641, + "y": -0.5626 + }, + { + "type": "atom", + "element": O, + "index": 38, + "x": 2.7316, + "y": -0.0778 + }, + { + "type": "atom", + "element": O, + "index": 39, + "x": 2.0641, + "y": 0.2623 + }, + { + "type": "atom", + "element": O, + "index": 40, + "x": 1.2725, + "y": -0.07759999999999999 + }, + { + "type": "atom", + "element": W, + "index": 41, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 42, + "x": 0.11229999999999998, + "y": 0.8207 + }, + { + "type": "atom", + "element": O, + "index": 43, + "x": -0.8037, + "y": 0.4125 + }, + { + "type": "atom", + "element": O, + "index": 44, + "x": 0.6666, + "y": -0.48550000000000004 + }, + { + "type": "atom", + "element": O, + "index": 45, + "x": -1.1864000000000001, + "y": -0.3053 + }, + { + "type": "atom", + "element": W, + "index": 46, + "x": -1.6048, + "y": -0.22139999999999999 + }, + { + "type": "atom", + "element": O, + "index": 47, + "x": -2.1853000000000002, + "y": 0.3026 + }, + { + "type": "atom", + "element": O, + "index": 48, + "x": -1.4332, + "y": 0.5631999999999999 + }, + { + "type": "atom", + "element": O, + "index": 49, + "x": -0.5295, + "y": -1.0244 + }, + { + "type": "atom", + "element": W, + "index": 50, + "x": 0.1585, + "y": -0.8017 + }, + { + "type": "atom", + "element": O, + "index": 51, + "x": -0.37350000000000005, + "y": -1.4035 + }, + { + "type": "atom", + "element": O, + "index": 52, + "x": -1.2137, + "y": -1.6296 + }, + { + "type": "atom", + "element": O, + "index": 53, + "x": 0.5707, + "y": -1.3983999999999999 + }, + { + "type": "atom", + "element": { + "symbol": "⁺N", + "material": "gtceu:nitrogen" + }, + "right": [ + "H", + 4 + ], + "index": 54, + "x": -4.6, + "y": -1.36 + }, + { + "sub": "10", + "atoms": [54], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "O", + "material": "gtceu:oxygen" + }, + "left": [ + "H", + 2 + ], + "index": 55, + "x": -4.6, + "y": -1.9 + }, + { + "sub": "6", + "atoms": [55], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 15, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 14, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 13, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 12, + "bond_type": "double" + }, + { + "type": "bond", + "a": 7, + "b": 11, + "bond_type": "double" + }, + { + "type": "bond", + "a": 14, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 14, + "b": 17, + "bond_type": "single" + }, + { + "type": "bond", + "a": 13, + "b": 17, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 18, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 19, + "bond_type": "single" + }, + { + "type": "bond", + "a": 17, + "b": 20, + "bond_type": "double" + }, + { + "type": "bond", + "a": 17, + "b": 21, + "bond_type": "double" + }, + { + "type": "bond", + "a": 15, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 18, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 22, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 23, + "bond_type": "single" + }, + { + "type": "bond", + "a": 23, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 24, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 25, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 26, + "bond_type": "double" + }, + { + "type": "bond", + "a": 10, + "b": 27, + "bond_type": "double" + }, + { + "type": "bond", + "a": 10, + "b": 29, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 28, + "bond_type": "single" + }, + { + "type": "bond", + "a": 28, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 31, + "bond_type": "single" + }, + { + "type": "bond", + "a": 28, + "b": 30, + "bond_type": "single" + }, + { + "type": "bond", + "a": 29, + "b": 30, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 34, + "bond_type": "single" + }, + { + "type": "bond", + "a": 30, + "b": 32, + "bond_type": "double" + }, + { + "type": "bond", + "a": 30, + "b": 33, + "bond_type": "double" + }, + { + "type": "bond", + "a": 30, + "b": 36, + "bond_type": "single" + }, + { + "type": "bond", + "a": 30, + "b": 35, + "bond_type": "single" + }, + { + "type": "bond", + "a": 36, + "b": 37, + "bond_type": "single" + }, + { + "type": "bond", + "a": 35, + "b": 37, + "bond_type": "single" + }, + { + "type": "bond", + "a": 37, + "b": 39, + "bond_type": "double" + }, + { + "type": "bond", + "a": 37, + "b": 38, + "bond_type": "double" + }, + { + "type": "bond", + "a": 37, + "b": 40, + "bond_type": "single" + }, + { + "type": "bond", + "a": 37, + "b": 34, + "bond_type": "single" + }, + { + "type": "bond", + "a": 40, + "b": 41, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 44, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 45, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 43, + "bond_type": "single" + }, + { + "type": "bond", + "a": 19, + "b": 46, + "bond_type": "single" + }, + { + "type": "bond", + "a": 18, + "b": 46, + "bond_type": "single" + }, + { + "type": "bond", + "a": 46, + "b": 48, + "bond_type": "double" + }, + { + "type": "bond", + "a": 46, + "b": 47, + "bond_type": "double" + }, + { + "type": "bond", + "a": 22, + "b": 46, + "bond_type": "single" + }, + { + "type": "bond", + "a": 46, + "b": 43, + "bond_type": "single" + }, + { + "type": "bond", + "a": 45, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 49, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 42, + "bond_type": "double" + }, + { + "type": "bond", + "a": 50, + "b": 44, + "bond_type": "single" + }, + { + "type": "bond", + "a": 41, + "b": 49, + "bond_type": "single" + }, + { + "type": "bond", + "a": 49, + "b": 50, + "bond_type": "single" + }, + { + "type": "bond", + "a": 16, + "b": 51, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 52, + "bond_type": "single" + }, + { + "type": "bond", + "a": 51, + "b": 50, + "bond_type": "single" + }, + { + "type": "bond", + "a": 25, + "b": 50, + "bond_type": "single" + }, + { + "type": "bond", + "a": 50, + "b": 53, + "bond_type": "single" + }, + { + "type": "bond", + "a": 50, + "b": 36, + "bond_type": "single" + }, + { + "sup": "10-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ], + "type": "parens" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/boric_acid.json b/kubejs/assets/tfg/molecules/boric_acid.json new file mode 100644 index 000000000..0d9b24816 --- /dev/null +++ b/kubejs/assets/tfg/molecules/boric_acid.json @@ -0,0 +1,53 @@ +{ + "contents": [ + { + "type": "atom", + "element": B, + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": O, + "right": "H", + "index": 1, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": O, + "left": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "left": "H", + "index": 3, + "x": 0.0, + "y": -1.732 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json b/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json new file mode 100644 index 000000000..a6d45b8e5 --- /dev/null +++ b/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json @@ -0,0 +1,76 @@ +{ + "contents": [ + { + "type": "atom", + "element": Cl, + "index": 0, + "x": -0.3098, + "y": -0.2864 + }, + { + "type": "atom", + "element": F, + "index": 1, + "x": -0.3098, + "y": -1.1113 + }, + { + "type": "atom", + "element": F, + "index": 2, + "x": -0.7947, + "y": 0.3810 + }, + { + "type": "atom", + "element": F, + "index": 3, + "x": 0.1750, + "y": 0.3810 + }, + { + "type": "atom", + "element": F, + "index": 4, + "x": 0.4747, + "y": -0.5412 + }, + { + "type": "atom", + "element": F, + "index": 5, + "x": -1.0944, + "y": -0.5413 + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 0, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chlorodifluoromethane.json b/kubejs/assets/tfg/molecules/chlorodifluoromethane.json new file mode 100644 index 000000000..2a4f8eda0 --- /dev/null +++ b/kubejs/assets/tfg/molecules/chlorodifluoromethane.json @@ -0,0 +1,63 @@ +{ + "contents": [ + { + "index": 0, + "element": "C", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "F", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "F", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "Cl", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "H", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "bond_type": "single", + "type": "bond" + }, + { + "a": 0, + "b": 2, + "bond_type": "inward", + "type": "bond" + }, + { + "a": 0, + "b": 3, + "bond_type": "outward", + "type": "bond" + }, + { + "a": 0, + "b": 4, + "bond_type": "single", + "type": "bond" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chloryl_fluoride.json b/kubejs/assets/tfg/molecules/chloryl_fluoride.json new file mode 100644 index 000000000..e72a7703e --- /dev/null +++ b/kubejs/assets/tfg/molecules/chloryl_fluoride.json @@ -0,0 +1,50 @@ +{ + "contents": [ + { + "type": "atom", + "element": Cl, + "index": 0, + "x": 0.0000, + "y": 0.1115 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 0.4125, + "y": 0.8260 + }, + { + "type": "atom", + "element": F, + "index": 2, + "x": 0.4125, + "y": -0.6028 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": -0.8250, + "y": 0.1115 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/dimethyl_carbonate.json b/kubejs/assets/tfg/molecules/dimethyl_carbonate.json new file mode 100644 index 000000000..443b4d66b --- /dev/null +++ b/kubejs/assets/tfg/molecules/dimethyl_carbonate.json @@ -0,0 +1,73 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -4.2017, + "y": -0.3624 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": -3.4873, + "y": -0.7749 + }, + { + "type": "atom", + "index": 2, + "x": -2.7728, + "y": -0.3624 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": -2.0584, + "y": -0.7749 + }, + { + "type": "atom", + "index": 4, + "x": -1.3439, + "y": -0.3624 + }, + { + "type": "atom", + "element": O, + "index": 5, + "x": -2.7728, + "y": 0.4625 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 5, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/iodomethane.json b/kubejs/assets/tfg/molecules/iodomethane.json new file mode 100644 index 000000000..a5fba84d5 --- /dev/null +++ b/kubejs/assets/tfg/molecules/iodomethane.json @@ -0,0 +1,63 @@ +{ + "contents": [ + { + "index": 0, + "element": "C", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "I", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "H", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "H", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "H", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "bond_type": "single", + "type": "bond" + }, + { + "a": 0, + "b": 2, + "bond_type": "inward", + "type": "bond" + }, + { + "a": 0, + "b": 3, + "bond_type": "outward", + "type": "bond" + }, + { + "a": 0, + "b": 4, + "bond_type": "single", + "type": "bond" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/isobutane.json b/kubejs/assets/tfg/molecules/isobutane.json new file mode 100644 index 000000000..d9f320be2 --- /dev/null +++ b/kubejs/assets/tfg/molecules/isobutane.json @@ -0,0 +1,46 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.0235, + "y": 1.7404 + }, + { + "type": "atom", + "index": 1, + "x": -0.0235, + "y": 0.9154 + }, + { + "type": "atom", + "index": 2, + "x": 0.6909, + "y": 0.5029 + }, + { + "type": "atom", + "index": 3, + "x": -0.7380, + "y": 0.5029 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 3, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json b/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json new file mode 100644 index 000000000..19e618329 --- /dev/null +++ b/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json @@ -0,0 +1,152 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 1.6418, + "y": 0.5155 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 0.9273, + "y": -0.7218 + }, + { + "type": "atom", + "element": N, + "index": 2, + "x": 0.2128, + "y": 0.5156 + }, + { + "type": "atom", + "index": 3, + "x": -0.5015, + "y": 0.1031 + }, + { + "type": "atom", + "index": 4, + "x": -1.2160, + "y": 0.5156 + }, + { + "type": "atom", + "index": 5, + "x": -0.5015, + "y": -0.7219 + }, + { + "type": "atom", + "index": 6, + "x": -1.9304, + "y": 0.1031 + }, + { + "type": "atom", + "index": 7, + "x": -1.2160, + "y": -1.1344 + }, + { + "type": "atom", + "index": 8, + "x": -1.9305, + "y": -0.7218 + }, + { + "type": "atom", + "index": 9, + "x": 0.9273, + "y": 0.1030 + }, + { + "type": "atom", + "index": 10, + "x": 2.3563, + "y": 0.1031 + }, + { + "type": "atom", + "element": H, + "index": 11, + "x": 0.2129, + "y": 1.3406 + }, + { + "type": "bond", + "a": 0, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 9, + "bond_type": "double" + }, + { + "type": "bond", + "a": 2, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "double" + }, + { + "type": "bond", + "a": 3, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 7, + "bond_type": "double" + }, + { + "type": "bond", + "a": 6, + "b": 8, + "bond_type": "double" + }, + { + "type": "bond", + "a": 7, + "b": 8, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 11, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json new file mode 100644 index 000000000..aa38d0503 --- /dev/null +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json @@ -0,0 +1,276 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 4.3301, + "y": -0.5000999999999998 + }, + { + "type": "atom", + "index": 1, + "x": 3.4641, + "y": -2.0001000000000007 + }, + { + "type": "atom", + "index": 2, + "x": 4.3301, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "index": 3, + "x": 2.5980999999999987, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": 0 + }, + { + "type": "atom", + "index": 5, + "x": 2.5980999999999987, + "y": -0.5000999999999998 + }, + { + "type": "atom", + "index": 6, + "x": 5.196199999999999, + "y": -2.0001000000000007 + }, + { + "type": "atom", + "index": 7, + "x": 6.062199999999999, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "index": 8, + "x": 6.928199999999999, + "y": 0 + }, + { + "type": "atom", + "index": 9, + "x": 6.062199999999999, + "y": -0.5000999999999998 + }, + { + "type": "atom", + "index": 10, + "x": 7.794199999999998, + "y": -0.5000999999999998 + }, + { + "type": "atom", + "index": 11, + "x": 6.928199999999999, + "y": -2.0001000000000007 + }, + { + "type": "atom", + "index": 12, + "x": 7.794199999999998, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "element": O, + "index": 13, + "x": 1.732099999999999, + "y": 0 + }, + { + "type": "atom", + "element": O, + "index": 14, + "x": 8.660300000000001, + "y": 0 + }, + { + "type": "atom", + "index": 15, + "x": 0.8659999999999997, + "y": -0.5000999999999998 + }, + { + "type": "atom", + "element": O, + "index": 16, + "x": 0.8659999999999997, + "y": -1.4999999999999991 + }, + { + "type": "atom", + "element": N, + "left": [ + "H", + 2 + ], + "index": 17, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 18, + "x": 9.5263, + "y": -0.5000999999999998 + }, + { + "type": "atom", + "element": N, + "right": [ + "H", + 2 + ], + "index": 19, + "x": 9.5263, + "y": -1.5 + }, + { + "type": "atom", + "element": O, + "index": 20, + "x": 10.3924, + "y": 0.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 7, + "bond_type": "double" + }, + { + "type": "bond", + "a": 7, + "b": 11, + "bond_type": "single" + }, + { + "type": "bond", + "a": 11, + "b": 12, + "bond_type": "double" + }, + { + "type": "bond", + "a": 12, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 8, + "bond_type": "double" + }, + { + "type": "bond", + "a": 8, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 13, + "bond_type": "single" + }, + { + "type": "bond", + "a": 10, + "b": 14, + "bond_type": "single" + }, + { + "type": "bond", + "a": 13, + "b": 15, + "bond_type": "single" + }, + { + "type": "bond", + "a": 15, + "b": 16, + "bond_type": "double" + }, + { + "type": "bond", + "a": 15, + "b": 17, + "bond_type": "single" + }, + { + "type": "bond", + "a": 14, + "b": 18, + "bond_type": "single" + }, + { + "type": "bond", + "a": 18, + "b": 19, + "bond_type": "single" + }, + { + "type": "bond", + "a": 18, + "b": 20, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json new file mode 100644 index 000000000..968dfa588 --- /dev/null +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json @@ -0,0 +1,244 @@ +{ + "contents": [ + { + "type": "atom", + "element": O, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 10.3924, + "y": 0.0 + }, + { + "type": "atom", + "element": N, + "index": 2, + "x": 1.7321, + "y": 1.0 + }, + { + "type": "atom", + "element": N, + "index": 3, + "x": 8.6603, + "y": 1.0 + }, + { + "type": "atom", + "index": 4, + "x": 5.1962, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 4.3302, + "y": -0.5 + }, + { + "type": "atom", + "index": 6, + "x": 6.0622, + "y": -0.5 + }, + { + "type": "atom", + "index": 7, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "index": 8, + "x": 6.0622, + "y": 0.5 + }, + { + "type": "atom", + "index": 9, + "x": 4.3302, + "y": 0.5 + }, + { + "type": "atom", + "index": 10, + "x": 6.9283, + "y": -1.0 + }, + { + "type": "atom", + "index": 11, + "x": 2.5981, + "y": -0.5 + }, + { + "type": "atom", + "index": 12, + "x": 6.9283, + "y": 1.0 + }, + { + "type": "atom", + "index": 13, + "x": 3.4641, + "y": 1.0 + }, + { + "type": "atom", + "index": 14, + "x": 7.7943, + "y": -0.5 + }, + { + "type": "atom", + "index": 15, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 16, + "x": 7.7943, + "y": 0.5 + }, + { + "type": "atom", + "element": "C", + "index": 17, + "x": 0.8661, + "y": 0.5 + }, + { + "type": "atom", + "element": "C", + "index": 18, + "x": 9.5263, + "y": 0.5 + }, + { + "type": "bond", + "a": 0, + "b": 17, + "bond_type": "double" + }, + { + "type": "bond", + "a": 1, + "b": 18, + "bond_type": "double" + }, + { + "type": "bond", + "a": 2, + "b": 15, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 17, + "bond_type": "double" + }, + { + "type": "bond", + "a": 3, + "b": 16, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 18, + "bond_type": "double" + }, + { + "type": "bond", + "a": 4, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 5, + "b": 7, + "bond_type": "double" + }, + { + "type": "bond", + "a": 5, + "b": 9, + "bond_type": "single" + }, + { + "type": "bond", + "a": 6, + "b": 8, + "bond_type": "double" + }, + { + "type": "bond", + "a": 6, + "b": 10, + "bond_type": "single" + }, + { + "type": "bond", + "a": 7, + "b": 11, + "bond_type": "single" + }, + { + "type": "bond", + "a": 8, + "b": 12, + "bond_type": "single" + }, + { + "type": "bond", + "a": 9, + "b": 13, + "bond_type": "double" + }, + { + "type": "bond", + "a": 10, + "b": 14, + "bond_type": "double" + }, + { + "type": "bond", + "a": 11, + "b": 15, + "bond_type": "double" + }, + { + "type": "bond", + "a": 12, + "b": 16, + "bond_type": "double" + }, + { + "type": "bond", + "a": 13, + "b": 15, + "bond_type": "single" + }, + { + "type": "bond", + "a": 14, + "b": 16, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_borohydride.json b/kubejs/assets/tfg/molecules/sodium_borohydride.json new file mode 100644 index 000000000..5a34bb131 --- /dev/null +++ b/kubejs/assets/tfg/molecules/sodium_borohydride.json @@ -0,0 +1,76 @@ +{ + "contents": [ + { + "type": "atom", + "element": { + "symbol": "B⁻", + "material": "gtceu:boron" + }, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": H, + "index": 1, + "x": 0.8249, + "y": 0.0 + }, + { + "type": "atom", + "element": H, + "index": 2, + "x": 0.0, + "y": -0.8249 + }, + { + "type": "atom", + "element": H, + "index": 3, + "x": -0.8250000000000001, + "y": 0.0 + }, + { + "type": "atom", + "element": H, + "index": 4, + "x": 0.0, + "y": 0.8250000000000001 + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "material": "gtceu:sodium" + }, + "index": 5, + "x": -1.8527, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_methoxide.json b/kubejs/assets/tfg/molecules/sodium_methoxide.json new file mode 100644 index 000000000..293bcd3fc --- /dev/null +++ b/kubejs/assets/tfg/molecules/sodium_methoxide.json @@ -0,0 +1,44 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "u": 0, + "v": 0 + }, + { + "type": "atom", + "index": 1, + "u": 1, + "v": 0, + "element": { + "symbol": "O⁻", + "color": { + "color": -62195, + "optional": true + }, + "material": "gtceu:oxygen" + } + }, + { + "type": "atom", + "index": 2, + "u": 1, + "v": 0.66666667, + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + } + }, + { + "type": "bond", + "bond_type": "single", + "a": 0, + "b": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_tungstate.json b/kubejs/assets/tfg/molecules/sodium_tungstate.json new file mode 100644 index 000000000..7d13c4ddf --- /dev/null +++ b/kubejs/assets/tfg/molecules/sodium_tungstate.json @@ -0,0 +1,89 @@ +{ + "contents": [ + { + "type": "atom", + "element": W, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 0.0, + "y": -0.825 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 0.0, + "y": 0.825 + }, + { + "type": "atom", + "element": { + "symbol": "O⁻", + "material": "gtceu:oxygen" + }, + "index": 3, + "x": 0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "O⁻", + "material": "gtceu:oxygen" + }, + "index": 4, + "x": -0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "material": "gtceu:sodium" + }, + "index": 5, + "x": 1.65, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "material": "gtceu:sodium" + }, + "index": 6, + "x": -1.65, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/tetrafluoroethane.json b/kubejs/assets/tfg/molecules/tetrafluoroethane.json new file mode 100644 index 000000000..7b57deb3c --- /dev/null +++ b/kubejs/assets/tfg/molecules/tetrafluoroethane.json @@ -0,0 +1,74 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.3216, + "y": 0.6414 + }, + { + "type": "atom", + "index": 1, + "x": -0.5033, + "y": 0.6414 + }, + { + "type": "atom", + "element": F, + "index": 2, + "x": 0.7341, + "y": 1.3559 + }, + { + "type": "atom", + "element": F, + "index": 3, + "x": 0.7341, + "y": -0.0730 + }, + { + "type": "atom", + "element": F, + "index": 4, + "x": -0.9158, + "y": -0.0730 + }, + { + "type": "atom", + "element": F, + "index": 5, + "x": -0.9158, + "y": 1.3559 + }, + { + "type": "bond", + "a": 1, + "b": 0, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 5, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/tmos.json b/kubejs/assets/tfg/molecules/tmos.json new file mode 100644 index 000000000..cc2b37415 --- /dev/null +++ b/kubejs/assets/tfg/molecules/tmos.json @@ -0,0 +1,111 @@ +{ + "contents": [ + { + "type": "atom", + "element": Si, + "index": 0, + "x": -0.1504, + "y": -0.7464 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 0.4625, + "y": -1.2984 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": -0.7635, + "y": -0.1943 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": -0.7025, + "y": -1.3595 + }, + { + "type": "atom", + "element": O, + "index": 4, + "x": 0.4015, + "y": -0.1333 + }, + { + "type": "atom", + "index": 5, + "x": -1.5482, + "y": -0.4493 + }, + { + "type": "atom", + "index": 6, + "x": 1.2472, + "y": -1.0435 + }, + { + "type": "atom", + "index": 7, + "x": 1.2085, + "y": -0.3048 + }, + { + "type": "atom", + "index": 8, + "x": -1.5094, + "y": -1.1879 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 4, + "b": 7, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 8, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/trideuteroiodomethane.json b/kubejs/assets/tfg/molecules/trideuteroiodomethane.json new file mode 100644 index 000000000..931c470e6 --- /dev/null +++ b/kubejs/assets/tfg/molecules/trideuteroiodomethane.json @@ -0,0 +1,63 @@ +{ + "contents": [ + { + "index": 0, + "element": "C", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "I", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "D", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "D", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "D", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "bond_type": "single", + "type": "bond" + }, + { + "a": 0, + "b": 2, + "bond_type": "inward", + "type": "bond" + }, + { + "a": 0, + "b": 3, + "bond_type": "outward", + "type": "bond" + }, + { + "a": 0, + "b": 4, + "bond_type": "single", + "type": "bond" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/trimethyl_borate.json b/kubejs/assets/tfg/molecules/trimethyl_borate.json new file mode 100644 index 000000000..23f8cfc3f --- /dev/null +++ b/kubejs/assets/tfg/molecules/trimethyl_borate.json @@ -0,0 +1,86 @@ +{ + "contents": [ + { + "type": "atom", + "element": B, + "index": 0, + "x": -0.6874, + "y": 0.9488 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": -0.6874, + "y": 1.7738 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 0.0270, + "y": 0.5363 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": -1.4019, + "y": 0.5363 + }, + { + "type": "atom", + "index": 4, + "x": -2.1163, + "y": 0.9488 + }, + { + "type": "atom", + "index": 5, + "x": 0.7415, + "y": 0.9488 + }, + { + "type": "atom", + "index": 6, + "x": -1.4018, + "y": 2.1863 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 1, + "b": 6, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "single" + }, + { + "type": "bond", + "a": 2, + "b": 5, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/tungsten_oxide.json b/kubejs/assets/tfg/molecules/tungsten_oxide.json new file mode 100644 index 000000000..8901ddefd --- /dev/null +++ b/kubejs/assets/tfg/molecules/tungsten_oxide.json @@ -0,0 +1,50 @@ +{ + "contents": [ + { + "type": "atom", + "element": W, + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": O, + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": O, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": O, + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "double" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "double" + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tacz/recipes.ammo.js b/kubejs/server_scripts/tacz/recipes.ammo.js index d010adc8b..b479da04c 100644 --- a/kubejs/server_scripts/tacz/recipes.ammo.js +++ b/kubejs/server_scripts/tacz/recipes.ammo.js @@ -20,8 +20,10 @@ function registerTACZAmmoRecipes(event){ .itemOutputs(Item.of('tacz:ammo_box', '{Level:2}')) .EUt(GTValues.VA[GTValues.HV]) .duration(60) - - + + //event.remove({ mod: 'applied_ammo_box' }) + event.remove({ type: 'applied_ammo_box:shaped_nbt' }) + //Extruder Casing event.recipes.gtceu.extruder('tfg_tacz:small_casing') .itemInputs('#forge:ingots/brass') diff --git a/kubejs/server_scripts/tacz/tags.js b/kubejs/server_scripts/tacz/tags.js index 1ccc63bc8..1cdfbbbc3 100644 --- a/kubejs/server_scripts/tacz/tags.js +++ b/kubejs/server_scripts/tacz/tags.js @@ -10,6 +10,7 @@ const registerTACZItemTags = (event) => { event.add('tfc:usable_on_tool_rack', 'tacz:ammo_box') event.add('tfc:usable_on_tool_rack', 'tacz:modern_kinetic_gun') + event.add('tfc:usable_on_tool_rack', 'applied_ammo_box:ammo_box') } From cd3c32dfeb611f0325110b3af63a3f994c624f32 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 4 Nov 2025 16:38:38 +0000 Subject: [PATCH 015/628] buff hiking boots more, changed horseshoe durability and stats to match --- CHANGELOG.md | 9 +++++++++ defaultconfigs/sns-server.toml | 20 ++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cef33eef..6cb917763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,19 @@ ## [Unreleased] ### Changes - Added a paving cart for automating RNR roads. (#2144) @Redeix +- Non-TFC armors now have TFC resistances (#2157) @theMegaTech +- Regular Blue Steel Boots now also count towards the lavaproof diving set (#2155) @theMegaTech +- Added more field guide links to the stone age quest chapter (#2147) @FlightingFalcon +- Added an AE2-linked TACZ ammo box @BlueBoat29 +- Buffed hiking boots durability by 250%, also changed horseshoe durability and stats to match @Pyritie ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix +- Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie ### Translation updates - Brazilian Portuguese @Redeix +- Chinese (simplified) @jmecn +- Ukranian @MetEnBouldry +- Japanese @sakura-gondra ## [0.11.7] - 30-10-2025 ### Changes diff --git a/defaultconfigs/sns-server.toml b/defaultconfigs/sns-server.toml index 669b41362..6c5d15499 100644 --- a/defaultconfigs/sns-server.toml +++ b/defaultconfigs/sns-server.toml @@ -152,7 +152,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 1000 + stepsPerDamage = 2500 ["Boot config"."Steel Toe Boots"] #The movement speed bonus these boots provide @@ -167,7 +167,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 1500 + stepsPerDamage = 3750 ["Boot config"."Black Steel Toe Boots"] #The movement speed bonus these boots provide @@ -182,7 +182,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 2000 + stepsPerDamage = 5000 ["Boot config"."Blue Steel Toe Boots"] #The movement speed bonus these boots provide @@ -197,7 +197,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 3000 + stepsPerDamage = 7500 ["Boot config"."Red Steel Toe Boots"] #The movement speed bonus these boots provide @@ -212,7 +212,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 4000 + stepsPerDamage = 10000 ["Horseshoes config"] @@ -229,7 +229,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 750 + stepsPerDamage = 3750 ["Horseshoes config"."Black Steel Horseshoes"] #The movement speed bonus horseshoes provide @@ -244,12 +244,12 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 1000 + stepsPerDamage = 5000 ["Horseshoes config"."Blue Steel Horseshoes"] #The movement speed bonus horseshoes provide #Range: 0.0 ~ 1024.0 - movementSpeed = 0.2 + movementSpeed = 0.25 #The fall distance bonus horseshoes provide #Range: 0.0 ~ 64.0 bonusFallDistance = 5.0 @@ -259,7 +259,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 1500 + stepsPerDamage = 7500 ["Horseshoes config"."Red Steel Horseshoes"] #The movement speed bonus horseshoes provide @@ -274,7 +274,7 @@ #The amount of 'steps' taken before one point of durability is lost #Steps are defined as being any change in position while grounded between ticks (IE over 1 second 20 'steps' occur) #Range: > 0 - stepsPerDamage = 1500 + stepsPerDamage = 10000 ["Global config"] #Global control for automatic pickup, this will not force enable for every type From 9ea490354fa5440e3b0789afb50fda3ebb2e057f Mon Sep 17 00:00:00 2001 From: theMegaTech <36931007+theMegaTech@users.noreply.github.com> Date: Tue, 4 Nov 2025 23:13:18 +0200 Subject: [PATCH 016/628] add boots, recipe (#2161) --- .../minecraft/textures/item/netherite_boots.png | Bin 0 -> 471 bytes .../textures/models/armor/netherite_layer_1.png | Bin 0 -> 550 bytes kubejs/client_scripts/tooltips.js | 5 +---- kubejs/server_scripts/create/events.js | 2 +- kubejs/server_scripts/minecraft/recipes.js | 15 +++++++++++++++ kubejs/startup_scripts/minecraft/constants.js | 1 - 6 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 kubejs/assets/minecraft/textures/item/netherite_boots.png create mode 100644 kubejs/assets/minecraft/textures/models/armor/netherite_layer_1.png diff --git a/kubejs/assets/minecraft/textures/item/netherite_boots.png b/kubejs/assets/minecraft/textures/item/netherite_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..37c481d57b6812690630d094fb23dbe6ed07a86d GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU}0|Ns` zNswRge+Xc>*St59fq{Xuz$3Dlfr0NZ2s0kfUy%Ybti&~*v$46F=NjI0cd3=9lj3=9m?P&UXH8jQ?f zaV7=^217bf`N$vs>{&80Homhv)zh&pT%!sU|{g`ba4#P2<|<7 zk*mRg$N6GO>D&MRH+rt-Ip*-&AfK<}&O7-7yVkZPO}X(wd|lg4g&AVp%QoFt-Y_rz ti(@WFfD=bv({85+v#i<@cI%(m!zjVXdN^sxm$x8WJYD@<);T3K0RRPTb$S2* literal 0 HcmV?d00001 diff --git a/kubejs/assets/minecraft/textures/models/armor/netherite_layer_1.png b/kubejs/assets/minecraft/textures/models/armor/netherite_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..31b65785279be84a490e1f5b4f2ade4dd5f106e8 GIT binary patch literal 550 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-W?*2L>fE=Dfq{XsILO_JVcj{ImkbOH zEa{HEjtmSN`?>!lvNA9*s08?gxbjPe@(7y>%48`ToR?5pDx%O--0;FF;wd-3ilo{G zC6mhx3=Ccmo`MYHDGBlm{*M3*Lif*|V_;z5EbxddW?K?@z-Tl}8JHOu zCa^QGFfcF}7#SNdE`XQ{vXONG#H1+@gBX|?7#WzrDuXO77?>EKx(p2rKnkuu+pW0w zS^O3T28Lcw7sn6}@3#{V@*P&-ah4TYU-IYwf4wb%N6WZwCtf}>*{Nq~MAL%W6I>CD zb45SIGYWW|&|KG`^z<}izP+Ptcen8gnFW%Sy^_vL7(IA)%cS(ZYz(hcK4AXi3xDtr zF^^UA?rQ%rF))3VoBV$7A^*qOEfo!4?`i)r5ttZt{?p=XA1*JL^0#io^yUwfw|ryR WyCS3@kX=g! { text.add(1, Text.translate('tfg.tooltip.armor.copper_diving_suit_warmth')), text.add(2, Text.translate('tfg.tooltip.armor.copper_diving_suit_insulation')) }) - event.addAdvanced(['create:netherite_diving_helmet', 'create:netherite_backtank', 'create:netherite_diving_boots', 'minecraft:netherite_leggings'], (item, advanced, text) => { + event.addAdvanced(['create:netherite_diving_helmet', 'create:netherite_backtank', 'create:netherite_diving_boots', 'minecraft:netherite_leggings', 'minecraft:netherite_boots'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.netherite_diving_suit_warmth')), text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')) text.add(3, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')) }) - event.addAdvanced(['tfc:metal/boots/blue_steel'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')) - }) event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:advanced_nanomuscle_chestplate'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.nanomuscle_warmth')), text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')) diff --git a/kubejs/server_scripts/create/events.js b/kubejs/server_scripts/create/events.js index 7c83f3edd..63935d65b 100644 --- a/kubejs/server_scripts/create/events.js +++ b/kubejs/server_scripts/create/events.js @@ -7,7 +7,7 @@ PlayerEvents.tick((event) => { && player.chestArmorItem === 'create:netherite_backtank' && player.legsArmorItem === 'minecraft:netherite_leggings' && (player.feetArmorItem === 'create:netherite_diving_boots' - || player.feetArmorItem === 'tfc:metal/boots/blue_steel')) { + || player.feetArmorItem === 'minecraft:netherite_boots')) { player.potionEffects.add("minecraft:fire_resistance", 350, 0, true, false); } }); diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index f00f2a93d..ff3cdde60 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -872,6 +872,21 @@ const registerMinecraftRecipes = (event) => { //#endregion + //#region Netherite Boots (for the lavaproof diving set) + + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('minecraft:netherite_boots').copyForgingBonus(), [ + 'ABA', + 'CDC' + ], { + A: '#forge:screws/blue_steel', + B: 'tfc:metal/boots/blue_steel', + C: '#forge:plates/blue_steel', + D: 'beneath:cursed_hide' + }, 0, 1).id('tfg:minecraft/shaped/netherite_boots') + + //#endregion + //#region Scaffoldings event.remove({ output: 'minecraft:scaffolding' }) diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 00d96cdea..27dd03aa4 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -395,7 +395,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ // Броня "minecraft:netherite_helmet", "minecraft:netherite_chestplate", - "minecraft:netherite_boots", "minecraft:golden_helmet", "minecraft:golden_chestplate", "minecraft:golden_leggings", From feda38112dfffded4b3f94f38f0f52707405fdd6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 5 Nov 2025 01:08:18 +0000 Subject: [PATCH 017/628] Feature/venus noise (#2165) * initial pass of venus stuff * more * typo * venus mob hp/armor? adjustments * temp biomes to figure out where everything is, starting work on noises * almost there * fix glacio visibility on the menu * more beachy * biome renames * biomes in the constant * had to turn off cheese caves cuz they kept fucking up the terrain * added random y rotation to all cobble/gravel/hardened * ok I think I'm done with noise for now, caves still need work --- config/ad_astra.jsonc | 2 +- .../blockstates/rock/cobble_blackstone.json | 9 +- .../blockstates/rock/cobble_crackrack.json | 20 +- .../blockstates/rock/cobble_dripstone.json | 20 +- .../rock/cobble_moon_deepslate.json | 20 +- .../blockstates/rock/cobble_permafrost.json | 20 +- .../blockstates/rock/gravel_blackstone.json | 20 +- .../blockstates/rock/gravel_crackrack.json | 20 +- .../blockstates/rock/gravel_deepslate.json | 20 +- .../blockstates/rock/gravel_dripstone.json | 20 +- .../tfg/blockstates/rock/gravel_glacio.json | 20 +- .../tfg/blockstates/rock/gravel_mars.json | 20 +- .../tfg/blockstates/rock/gravel_mercury.json | 20 +- .../tfg/blockstates/rock/gravel_moon.json | 20 +- .../rock/gravel_moon_deepslate.json | 20 +- .../blockstates/rock/gravel_permafrost.json | 20 +- .../blockstates/rock/gravel_red_granite.json | 20 +- .../tfg/blockstates/rock/gravel_venus.json | 20 +- .../assets/tfg/blockstates/rock/halite.json | 21 + .../assets/tfg/blockstates/rock/halite2.json | 21 + .../blockstates/rock/hardened_blackstone.json | 20 +- .../blockstates/rock/hardened_deepslate.json | 12 +- .../blockstates/rock/hardened_dripstone.json | 20 +- .../rock/hardened_glacio_stone.json | 20 +- .../blockstates/rock/hardened_mars_stone.json | 20 +- .../rock/hardened_mercury_stone.json | 20 +- .../rock/hardened_moon_deepslate.json | 20 +- .../blockstates/rock/hardened_moon_stone.json | 20 +- .../rock/hardened_red_granite.json | 20 +- .../rock/hardened_venus_stone.json | 20 +- .../assets/tfg/models/block/rock/halite.json | 6 + .../assets/tfg/models/block/rock/halite2.json | 6 + kubejs/assets/tfg/textures/block/halite.png | Bin 0 -> 930 bytes kubejs/data/ad_astra/dimension/glacio.json | 2 +- kubejs/data/ad_astra/dimension/venus.json | 852 ++++++- .../data/ad_astra/planets/glacio_orbit.json | 2 +- .../tfg/worldgen/biome/venus/arachnoids.json | 116 + .../data/tfg/worldgen/biome/venus/beach.json | 116 + .../worldgen/biome/venus/fractured_pools.json | 112 + .../tfg/worldgen/biome/venus/fumaroles.json | 116 + .../tfg/worldgen/biome/venus/geysers.json | 116 + .../biome/venus/jagged_tablelands.json | 116 + .../tfg/worldgen/biome/venus/salt_flats.json | 116 + .../biome/venus/stromatolite_beach.json | 118 + .../worldgen/biome/venus/sulfuric_ravine.json | 116 + .../tfg/worldgen/biome/venus/venus_delta.json | 46 - .../biome/venus/venus_fractured_lands.json | 30 - .../biome/venus/volcanic_mountains.json | 116 + .../venus/terrain/lake_basalt_gravel.json | 35 - .../venus/terrain/lake_basalt_stone.json | 37 - .../venus/terrain/lake_geyserite.json | 38 - .../venus/terrain/lake_orange_sand.json | 39 - .../venus/terrain/lake_yellow_sand.json | 34 - .../venus/terrain/lakes.json | 24 +- .../venus/terrain/lava_delta.json | 2 +- .../venus/terrain/stromatolite_disk.json | 48 +- .../density_function/venus/base_3d_noise.json | 8 + .../venus/caves/entrances.json | 83 + .../density_function/venus/caves/noodle.json | 94 + .../density_function/venus/caves/pillars.json | 50 + .../venus/caves/spaghetti_2d.json | 61 + .../spaghetti_2d_thickness_modulator.json | 17 + .../caves/spaghetti_roughness_function.json | 33 + .../density_function/venus/continents.json | 12 + .../density_function/venus/depth.json | 11 + .../density_function/venus/erosion.json | 12 + .../density_function/venus/factor.json | 185 ++ .../density_function/venus/jaggedness.json | 303 +++ .../density_function/venus/offset.json | 1865 ++++++++++++++ .../density_function/venus/ridges.json | 12 + .../density_function/venus/ridges_folded.json | 19 + .../density_function/venus/sloped_cheese.json | 32 + .../data/tfg/worldgen/noise/venus_salt.json | 11 + .../worldgen/noise_settings/glacio_noise.json | 2 +- .../worldgen/noise_settings/venus_noise.json | 2235 ++++++++++++----- .../venus/terrain/lake_basalt_gravel.json | 34 - .../venus/terrain/lake_basalt_stone.json | 34 - .../venus/terrain/lake_geyserite.json | 34 - .../venus/terrain/lake_orange_sand.json | 38 - .../venus/terrain/lake_yellow_sand.json | 38 - .../venus/underground/loose_rocks.json | 44 + .../underground/noise_cave_stalagmite.json | 51 + .../underground/noise_cave_stalagtite.json | 51 + kubejs/server_scripts/ad_astra/tags.js | 105 +- kubejs/server_scripts/tfg/entities.js | 84 +- kubejs/server_scripts/tfg/events.chunks.js | 47 + kubejs/server_scripts/tfg/recipes.collapse.js | 7 + kubejs/server_scripts/tfg/tags.js | 7 + kubejs/startup_scripts/tfg/blocks.nether.js | 82 +- kubejs/startup_scripts/tfg/blocks.space.js | 33 +- kubejs/startup_scripts/tfg/constants.js | 15 + .../startup_scripts/tfg/register_climates.js | 2 + 92 files changed, 7421 insertions(+), 1254 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/rock/halite.json create mode 100644 kubejs/assets/tfg/blockstates/rock/halite2.json create mode 100644 kubejs/assets/tfg/models/block/rock/halite.json create mode 100644 kubejs/assets/tfg/models/block/rock/halite2.json create mode 100644 kubejs/assets/tfg/textures/block/halite.png create mode 100644 kubejs/data/tfg/worldgen/biome/venus/arachnoids.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/beach.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/fumaroles.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/geysers.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/salt_flats.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json delete mode 100644 kubejs/data/tfg/worldgen/biome/venus/venus_delta.json delete mode 100644 kubejs/data/tfg/worldgen/biome/venus/venus_fractured_lands.json create mode 100644 kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_gravel.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_stone.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_geyserite.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_orange_sand.json delete mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_yellow_sand.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/base_3d_noise.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/caves/entrances.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/caves/noodle.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/caves/pillars.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/caves/spaghetti_2d.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/caves/spaghetti_2d_thickness_modulator.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/caves/spaghetti_roughness_function.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/continents.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/depth.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/erosion.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/factor.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/jaggedness.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/offset.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/ridges.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/ridges_folded.json create mode 100644 kubejs/data/tfg/worldgen/density_function/venus/sloped_cheese.json create mode 100644 kubejs/data/tfg/worldgen/noise/venus_salt.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_basalt_gravel.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_basalt_stone.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_geyserite.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_orange_sand.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_yellow_sand.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/underground/loose_rocks.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/underground/noise_cave_stalagmite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/underground/noise_cave_stalagtite.json diff --git a/config/ad_astra.jsonc b/config/ad_astra.jsonc index 05dfe308f..38ab7b500 100644 --- a/config/ad_astra.jsonc +++ b/config/ad_astra.jsonc @@ -16,7 +16,7 @@ */ "atmosphereLeave": 600, // A comma-separated list of planet IDs that should be hidden from the planets screen. e.g. minecraft:overworld,ad_astra:moon,ad_astra:mars,ad_astra:venus,ad_astra:mercury,ad_astra:glacio - "disabledPlanets": "ad_astra:glacio", + "disabledPlanets": "", // Disables oxygen damage. "disableOxygen": false, // Disables temperature damage. diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json b/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json index 9322f89aa..9b2384d8b 100644 --- a/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json +++ b/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json @@ -1,7 +1,10 @@ { "variants": { - "": { - "model": "tfg:block/rock/cobble_blackstone" - } + "": [ + { "model": "tfg:block/rock/cobble_blackstone" }, + { "model": "tfg:block/rock/cobble_blackstone", "y": 90 }, + { "model": "tfg:block/rock/cobble_blackstone", "y": 180 }, + { "model": "tfg:block/rock/cobble_blackstone", "y": 270 } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json b/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json index a8af00981..2128313bc 100644 --- a/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json +++ b/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/cobble_crackrack" - } + "": [ + { + "model": "tfg:block/rock/cobble_crackrack" + }, + { + "model": "tfg:block/rock/cobble_crackrack", + "y": 90 + }, + { + "model": "tfg:block/rock/cobble_crackrack", + "y": 180 + }, + { + "model": "tfg:block/rock/cobble_crackrack", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json b/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json index 7e4bb7c74..a50d1280f 100644 --- a/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json +++ b/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/cobble_dripstone" - } + "": [ + { + "model": "tfg:block/rock/cobble_dripstone" + }, + { + "model": "tfg:block/rock/cobble_dripstone", + "y": 90 + }, + { + "model": "tfg:block/rock/cobble_dripstone", + "y": 180 + }, + { + "model": "tfg:block/rock/cobble_dripstone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json index 4f72b9333..1ea0f8879 100644 --- a/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json +++ b/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/cobble_moon_deepslate" - } + "": [ + { + "model": "tfg:block/rock/cobble_moon_deepslate" + }, + { + "model": "tfg:block/rock/cobble_moon_deepslate", + "y": 90 + }, + { + "model": "tfg:block/rock/cobble_moon_deepslate", + "y": 180 + }, + { + "model": "tfg:block/rock/cobble_moon_deepslate", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json b/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json index 56363869d..2b555c09d 100644 --- a/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json +++ b/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/cobble_permafrost" - } + "": [ + { + "model": "tfg:block/rock/cobble_permafrost" + }, + { + "model": "tfg:block/rock/cobble_permafrost", + "y": 90 + }, + { + "model": "tfg:block/rock/cobble_permafrost", + "y": 180 + }, + { + "model": "tfg:block/rock/cobble_permafrost", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json b/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json index e769228fe..11a7e5568 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_blackstone" - } + "": [ + { + "model": "tfg:block/rock/gravel_blackstone" + }, + { + "model": "tfg:block/rock/gravel_blackstone", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_blackstone", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_blackstone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json b/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json index c10b6e510..bfcb58199 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_crackrack" - } + "": [ + { + "model": "tfg:block/rock/gravel_crackrack" + }, + { + "model": "tfg:block/rock/gravel_crackrack", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_crackrack", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_crackrack", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json b/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json index 640736aee..d4e19d02d 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_deepslate" - } + "": [ + { + "model": "tfg:block/rock/gravel_deepslate" + }, + { + "model": "tfg:block/rock/gravel_deepslate", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_deepslate", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_deepslate", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json b/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json index 7a2db502e..7ad196329 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_dripstone" - } + "": [ + { + "model": "tfg:block/rock/gravel_dripstone" + }, + { + "model": "tfg:block/rock/gravel_dripstone", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_dripstone", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_dripstone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json b/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json index e167ee620..3ab37165c 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_glacio" - } + "": [ + { + "model": "tfg:block/rock/gravel_glacio" + }, + { + "model": "tfg:block/rock/gravel_glacio", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_glacio", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_glacio", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_mars.json b/kubejs/assets/tfg/blockstates/rock/gravel_mars.json index 1185ce5ae..6f59bc48c 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_mars.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_mars.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_mars" - } + "": [ + { + "model": "tfg:block/rock/gravel_mars" + }, + { + "model": "tfg:block/rock/gravel_mars", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_mars", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_mars", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json b/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json index 8c62c0b65..b5fa5b871 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_mercury" - } + "": [ + { + "model": "tfg:block/rock/gravel_mercury" + }, + { + "model": "tfg:block/rock/gravel_mercury", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_mercury", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_mercury", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_moon.json b/kubejs/assets/tfg/blockstates/rock/gravel_moon.json index 9a5fa93f9..e321fda8d 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_moon.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_moon.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_moon" - } + "": [ + { + "model": "tfg:block/rock/gravel_moon" + }, + { + "model": "tfg:block/rock/gravel_moon", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_moon", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_moon", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json index 004ac267c..684c5dc26 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_moon_deepslate" - } + "": [ + { + "model": "tfg:block/rock/gravel_moon_deepslate" + }, + { + "model": "tfg:block/rock/gravel_moon_deepslate", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_moon_deepslate", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_moon_deepslate", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json b/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json index f8718974d..7c4c4ccf2 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_permafrost" - } + "": [ + { + "model": "tfg:block/rock/gravel_permafrost" + }, + { + "model": "tfg:block/rock/gravel_permafrost", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_permafrost", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_permafrost", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json b/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json index 4d87c4591..5f7507c0d 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_red_granite" - } + "": [ + { + "model": "tfg:block/rock/gravel_red_granite" + }, + { + "model": "tfg:block/rock/gravel_red_granite", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_red_granite", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_red_granite", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_venus.json b/kubejs/assets/tfg/blockstates/rock/gravel_venus.json index 6b76d8654..fbee5aaa5 100644 --- a/kubejs/assets/tfg/blockstates/rock/gravel_venus.json +++ b/kubejs/assets/tfg/blockstates/rock/gravel_venus.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/gravel_venus" - } + "": [ + { + "model": "tfg:block/rock/gravel_venus" + }, + { + "model": "tfg:block/rock/gravel_venus", + "y": 90 + }, + { + "model": "tfg:block/rock/gravel_venus", + "y": 180 + }, + { + "model": "tfg:block/rock/gravel_venus", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/halite.json b/kubejs/assets/tfg/blockstates/rock/halite.json new file mode 100644 index 000000000..16caaacf8 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/halite.json @@ -0,0 +1,21 @@ +{ + "variants": { + "": [ + { + "model": "tfg:block/rock/halite" + }, + { + "model": "tfg:block/rock/halite", + "y": 90 + }, + { + "model": "tfg:block/rock/halite", + "y": 180 + }, + { + "model": "tfg:block/rock/halite", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/halite2.json b/kubejs/assets/tfg/blockstates/rock/halite2.json new file mode 100644 index 000000000..e488b49d3 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/halite2.json @@ -0,0 +1,21 @@ +{ + "variants": { + "": [ + { + "model": "tfg:block/rock/halite2" + }, + { + "model": "tfg:block/rock/halite2", + "y": 90 + }, + { + "model": "tfg:block/rock/halite2", + "y": 180 + }, + { + "model": "tfg:block/rock/halite2", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json b/kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json index 0153cfc28..ec66ea081 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_blackstone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_blackstone" - } + "": [ + { + "model": "tfg:block/rock/hardened_blackstone" + }, + { + "model": "tfg:block/rock/hardened_blackstone", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_blackstone", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_blackstone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json b/kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json index 779a6b7dc..8bafc6278 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_deepslate.json @@ -1,7 +1,13 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_deepslate" - } + "": [ + { + "model": "tfg:block/rock/hardened_deepslate" + }, + { + "model": "tfg:block/rock/hardened_deepslate", + "y": 180 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json b/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json index 385621096..7f7d85558 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_dripstone" - } + "": [ + { + "model": "tfg:block/rock/hardened_dripstone" + }, + { + "model": "tfg:block/rock/hardened_dripstone", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_dripstone", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_dripstone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json index 299b79753..892d1df08 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_glacio_stone" - } + "": [ + { + "model": "tfg:block/rock/hardened_glacio_stone" + }, + { + "model": "tfg:block/rock/hardened_glacio_stone", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_glacio_stone", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_glacio_stone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json index 195ba8628..26bca5e62 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_mars_stone" - } + "": [ + { + "model": "tfg:block/rock/hardened_mars_stone" + }, + { + "model": "tfg:block/rock/hardened_mars_stone", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_mars_stone", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_mars_stone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json index 7e73a534b..3f52469ea 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_mercury_stone" - } + "": [ + { + "model": "tfg:block/rock/hardened_mercury_stone" + }, + { + "model": "tfg:block/rock/hardened_mercury_stone", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_mercury_stone", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_mercury_stone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json index 7a7e2cfb0..a169dfdfa 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_moon_deepslate" - } + "": [ + { + "model": "tfg:block/rock/hardened_moon_deepslate" + }, + { + "model": "tfg:block/rock/hardened_moon_deepslate", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_moon_deepslate", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_moon_deepslate", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json index b553dca3e..b10af23d5 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_moon_stone" - } + "": [ + { + "model": "tfg:block/rock/hardened_moon_stone" + }, + { + "model": "tfg:block/rock/hardened_moon_stone", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_moon_stone", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_moon_stone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_red_granite.json b/kubejs/assets/tfg/blockstates/rock/hardened_red_granite.json index ae062d2ae..cf33b0390 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_red_granite.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_red_granite.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_red_granite" - } + "": [ + { + "model": "tfg:block/rock/hardened_red_granite" + }, + { + "model": "tfg:block/rock/hardened_red_granite", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_red_granite", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_red_granite", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json index 9c3b52771..fae42973a 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json @@ -1,7 +1,21 @@ { "variants": { - "": { - "model": "tfg:block/rock/hardened_venus_stone" - } + "": [ + { + "model": "tfg:block/rock/hardened_venus_stone" + }, + { + "model": "tfg:block/rock/hardened_venus_stone", + "y": 90 + }, + { + "model": "tfg:block/rock/hardened_venus_stone", + "y": 180 + }, + { + "model": "tfg:block/rock/hardened_venus_stone", + "y": 270 + } + ] } } \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/halite.json b/kubejs/assets/tfg/models/block/rock/halite.json new file mode 100644 index 000000000..7ebfae8a4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/halite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/halite" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/halite2.json b/kubejs/assets/tfg/models/block/rock/halite2.json new file mode 100644 index 000000000..9aa438c6c --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/halite2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfc:block/ore/halite" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/halite.png b/kubejs/assets/tfg/textures/block/halite.png new file mode 100644 index 0000000000000000000000000000000000000000..2a114b8e2f05f4ad4f655f28b72405c97da5bf5b GIT binary patch literal 930 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQi-V13aCb6$*;-(=u~X z85lGs)=sqbIP4&EG(OtfRjWx?*$tC@aOB0stu;5z9 z%5E>VnosZCE~_0}O%K>R7EhkMsC&wf{Yx$=9czAEw`ceF9o6g=vqP6j*a|l+npI^b zC|>k4RPh6sJ)7VmfkjHjTT;>txvzgL<>!xopJa3T@16OJCjSp9u+4{?iaX9X_ongVXI27?NhH$+^}F>$_~F`5l$V&P7xN56^om+e2!#U;MC3cIdyl?(Sjy>})nm=v4pnGBavoF`~ z9e>F@Vd=VQ`3=p^32R(#zSevH?(Ms`_l@8Ft7GVsD%$k*p;r+D1LF-(7sn8b-rUK) z>sJ|wxQZ`f$vUhY$Nou(U4`%OfBUEB_H;7OpVlalvp}L_k7Mro_lqxoo3r`*t>qU# zR>Uy$%ssi3!6EzfzF!G1c)YbP-1<~Jm!Y8ENssl|xi5EJ));l3O3^SYV|(!W%7!IP zXVaRsgx0-1@|W|em3q~V#8n<0x3cQF!cJ}92C@qY6?iZQ;Vt41J zDGV!ogv_T~omf{E&2X%4!Okm=W)AkZ3_`PC>-0>k@MQh2zOdkh&xd!a{BsjG-~901 zu*|K(ey2#yTqy>=cG>N>c^eiQFWh-bCCXfe&-z#$gG0s7RUU_qzI>DOG^pUJScB2l z#G>Mrk)nQ)dzPFF-+KE}%&P}m->b2&^0*N$FJWzcLcif&+MDFh2KN_#`S$A~ink4U}0>8$olpS2l! zrW^N5SUE>}g-pEAKdo-do%wtP%fb|U%O@}#`u%n{XK0Q6hgA`W- { event.add('minecraft:animals_spawnable_on', '#tfg:mars_soil') event.add('minecraft:animals_spawnable_on', '#tfg:mars_plants') event.add('minecraft:valid_spawn', '#minecraft:animals_spawnable_on') + + // Venus + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:venus_stone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_venus_stone') + event.add('ad_astra:venus_stone_replaceables', 'gtceu:red_granite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_red_granite') + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:moon_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:dripstone_block') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_dripstone') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/granite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/granite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/diorite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gabbro') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/rhyolite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/dacite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/dacite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/slate') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/slate') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/schist') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/schist') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gneiss') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gneiss') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/phyllite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/phyllite') + 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', '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') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/green') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/brown') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/brown') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/orange') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/orange') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/white') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/white') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/yellow') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/yellow') + event.add('ad_astra:venus_stone_replaceables', 'tfg:geyser_slurry') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sulfur_fumes') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:lava') + 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', 'minecraft:tuff') event.add('tfc:can_carve', '#ad_astra:moon_stone_replaceables') event.add('tfc:can_carve', '#ad_astra:mars_stone_replaceables') + event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') event.add('minecraft:rabbits_spawnable_on', '#ad_astra:moon_stone_replaceables') event.add('species:limpet_spawnable_on', '#ad_astra:moon_stone_replaceables') @@ -411,6 +464,11 @@ const registerAdAstraBiomeTags = (event) => { event.add('tfg:mars_biomes', biome) }) + global.VENUS_BIOMES.forEach(biome => { + event.add('tfg:venus_biomes', biome); + event.add('ad_astra:has_acid_rain', biome); + }) + event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_dunes') event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_deep_desert') @@ -488,16 +546,29 @@ const registerAdAstraEntityTypeTags = (event) => { 'endermanoverhaul:snowy_enderman', 'endermanoverhaul:ice_spikes_enderman', 'species:deepfish', - 'species:leaf_hanger', + 'species:leaf_hanger' + ] + + const HOT_ENTITIES = [ + // venus + 'minecraft:enderman', + "endermanoverhaul:desert_enderman", + "endermanoverhaul:savanna_enderman", + "endermanoverhaul:nether_wastes_enderman", + "ad_astra:sulfur_creeper", 'species:cliff_hanger', ] COLD_ENTITIES.forEach(entity => { - event.add('ad_astra:can_survive_extreme_cold', entity) event.add('ad_astra:lives_without_oxygen', entity) }) + HOT_ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_heat', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) + event.add('ad_astra:can_survive_in_space', 'railways:conductor') event.add('tfc:deals_crushing_damage', 'minecraft:enderman') @@ -654,20 +725,26 @@ const registerAdAstraPlacedFeatures = (event) => { //#endregion //#region Venus - event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/geyser_source_patch') - event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/stromatolite_cluster_patch') - event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/stromatolite_tower') + event.add('tfg:venus_beach_surface_features', 'tfg:venus/surface/geyser_source_patch') + event.add('tfg:venus_beach_surface_features', 'tfg:venus/surface/stromatolite_cluster_patch') + event.add('tfg:venus_beach_surface_features', 'tfg:venus/surface/stromatolite_tower') - event.add('tfg:venus_delta_terrain_features', 'tfg:venus/terrain/hot_spring_delta') - event.add('tfg:venus_delta_terrain_features', 'tfg:venus/terrain/lava_delta') - event.add('tfg:venus_delta_terrain_features', 'tfg:venus/terrain/stromatolite_disk') + event.add('tfg:venus_beach_terrain_features', 'tfg:venus/terrain/hot_spring_delta') + //event.add('tfg:venus_beach_terrain_features', 'tfg:venus/terrain/lava_delta') + event.add('tfg:venus_beach_terrain_features', 'tfg:venus/terrain/stromatolite_disk') - event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lakes') - event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_basalt_gravel') - event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_basalt_stone') - event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_geyserite') - event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_orange_sand') - event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_yellow_sand') + //event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lakes') + + // Underground decoration + event.add("tfg:venus_underground_decoration", "tfg:glow_lichen") + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/loose_rocks') + event.add('tfg:venus_underground_decoration', 'tfc:cave_spike') + event.add('tfg:venus_underground_decoration', 'tfc:cave_column') + event.add('tfg:venus_underground_decoration', 'tfc:large_cave_spike') + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagmite') + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagtite') + + event.add("tfg:venus_top_layer_modification", "tfc:surface_loose_rocks") //#endregion //#region Glacio diff --git a/kubejs/server_scripts/tfg/entities.js b/kubejs/server_scripts/tfg/entities.js index 88aa8fe1e..491aee336 100644 --- a/kubejs/server_scripts/tfg/entities.js +++ b/kubejs/server_scripts/tfg/entities.js @@ -3,11 +3,12 @@ const NEW_MOB_MAX_HP = { // moon mobs - "endermanoverhaul:end_enderman": 50 , + "endermanoverhaul:end_enderman": 50, "endermanoverhaul:end_islands_enderman": 120, "endermanoverhaul:windswept_hills_enderman": 70, "endermanoverhaul:soulsand_valley_enderman": 80, - // mars mobs -- wan's ancient beasts has its own config for this + + // mars mobs -- wan's ancient beasts has its own config for this (also includes sniffer) "endermanoverhaul:crimson_enderman": 60, "endermanoverhaul:warped_enderman": 60, "endermanoverhaul:badlands_enderman": 65, @@ -15,30 +16,85 @@ const NEW_MOB_MAX_HP = { "ad_astra:martian_raptor": 50, "tfg:glacian_ram": 50, "tfg:wraptor": 60, - // sniffer uses the value in wan's ancient beasts config "species:goober": 100, "species:stackatick": 20, "species:springling": 60, "species:quake": 130, - "species:cruncher": 1200 -} + "species:cruncher": 1200, + + // venus mobs + "endermanoverhaul:savanna_enderman": 65, + "endermanoverhaul:desert_enderman": 70, + "ad_astra:sulfur_creeper": 60, + "species:cliff_hanger": 75, + + // europa mobs + "endermanoverhaul:ice_spikes_enderman": 85, + "endermanoverhaul:snowy_enderman": 80, + "endermanoverhaul:coral_enderman": 80, + "species:leaf_hanger": 85, +}; + +const NEW_MOB_ARMOR = { + // mars + "endermanoverhaul:crimson_enderman": 2, + "endermanoverhaul:warped_enderman": 2, + "endermanoverhaul:badlands_enderman": 2, + "species:quake": 6, + + // venus + "endermanoverhaul:savanna_enderman": 4, + "endermanoverhaul:desert_enderman": 4, + "endermanoverhaul:nether_wastes_enderman": 2, + "ad_astra:sulfur_creeper": 4, + "species:cliff_hanger": 2, +}; + + +// Easier to just keep all entities in here for balancing instead of spreading them around EntityEvents.spawned((event) => { - - // Easier to just keep all entities in here for balancing instead of spreading them around - - let { entity, entity: {type} } = event; + let { entity, entity: { type }, level, level: { dimension } } = event; let newHP = NEW_MOB_MAX_HP[type] ?? 0; + + // Special cases + if (type === "minecraft:enderman") { + switch (dimension) { + // use default for beneath + case "ad_astra:moon": newHP = 45; + case "ad_astra:mars": newHP = 55; + case "ad_astra:venus": newHP = 65; + case "ad_astra:mercury": newHP = 65; + case "ad_astra:glacio": newHP = 75; + } + } + else if (type === "endermanoverhaul:nether_wastes_enderman") { + switch (dimension) { + // use default for beneath + case "ad_astra:venus": newHP = 70; + } + } + if (newHP === 0) return; - let baseHealth = entity.maxHealth; - let missingHealth = newHP - baseHealth; + + let baseHealth = entity.maxHealth; + let missingHealth = newHP - baseHealth; entity.modifyAttribute("minecraft:generic.max_health", "tfg_health_buff_id", missingHealth, "addition"); - if (missingHealth > 0) { - entity.health += missingHealth; - } + if (missingHealth > 0) { + entity.health += missingHealth; + } + + + let newArmor = NEW_MOB_ARMOR[type] ?? 0; + if (newArmor === 0) + return; + + let baseArmor = entity.armor; + let missingArmor = newArmor - baseArmor; + entity.modifyAttribute("minecraft:generic.armor", "tfg_armor_buff_id", missingArmor, "addition"); }) \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/events.chunks.js b/kubejs/server_scripts/tfg/events.chunks.js index b8cc0d71e..1caa80b20 100644 --- a/kubejs/server_scripts/tfg/events.chunks.js +++ b/kubejs/server_scripts/tfg/events.chunks.js @@ -130,6 +130,53 @@ TFCEvents.createChunkDataProvider('mars', event => { }); }) +TFCEvents.createChunkDataProvider('venus', event => { + 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 + ); + }); + + event.full((data, chunk) => { + let heights = []; + for (let z = 0; z < 16; z++) { + for (let x = 0; x < 16; x++) { + heights[x + 16 * z] = chunk.getHeight($HeightMap.Types.OCEAN_FLOOR_WG, x, z); + } + } + data.generateFull(heights, EMPTY_AQUIFER); + }); + + event.rocks((x, y, z, surfaceY, cache, rockSettings) => { + return rockSettings.sampleAtLayer(rockLayer.getAt(x, z), (surfaceY - y) / ROCK_LAYER_HEIGHT); + }); +}) + TFCEvents.createChunkDataProvider('glacio', event => { event.partial((data, chunk) => { let x = chunk.pos.minBlockX; diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/recipes.collapse.js index 707fe1360..a61d69a52 100644 --- a/kubejs/server_scripts/tfg/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/recipes.collapse.js @@ -112,6 +112,13 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.landslide('tfc:red_kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') event.recipes.tfc.landslide('tfc:red_kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') event.recipes.tfc.landslide('tfc:red_kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') + + event.recipes.tfc.landslide('tfg:sand/fluorapatite/blue', 'tfg:sand/fluorapatite/blue') + event.recipes.tfc.landslide('tfg:sand/fluorapatite/green', 'tfg:sand/fluorapatite/green') + event.recipes.tfc.landslide('tfg:sand/fluorapatite/brown', 'tfg:sand/fluorapatite/brown') + event.recipes.tfc.landslide('tfg:sand/fluorapatite/orange', 'tfg:sand/fluorapatite/orange') + event.recipes.tfc.landslide('tfg:sand/fluorapatite/white', 'tfg:sand/fluorapatite/white') + event.recipes.tfc.landslide('tfg:sand/fluorapatite/yellow', 'tfg:sand/fluorapatite/yellow') // #endregion // #region Other diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index dcb09bde2..528dd870a 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -652,6 +652,13 @@ const registerTFGBlockTags = (event) => { event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') + + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/brown') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/orange') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/white') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/yellow') } //#endregion diff --git a/kubejs/startup_scripts/tfg/blocks.nether.js b/kubejs/startup_scripts/tfg/blocks.nether.js index c5fd2c975..765b3b6e2 100644 --- a/kubejs/startup_scripts/tfg/blocks.nether.js +++ b/kubejs/startup_scripts/tfg/blocks.nether.js @@ -39,7 +39,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // #endregion Raw Stones // #region Hardened Stones @@ -91,12 +91,13 @@ function registerTFGNetherBlocks(event) { .opaque(true) // #endregion Hardened stones - + // #region Spikes event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') .textureAll('minecraft:block/deepslate') .soundType(global.STONE_CHARACS.deepslate.sound) .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -106,15 +107,17 @@ function registerTFGNetherBlocks(event) { .textureAll('minecraft:block/blackstone') .soundType(global.STONE_CHARACS.blackstone.sound) .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) - .requiresTool(true) - + .requiresTool(true) + event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/dripstone_block') .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) @@ -122,12 +125,13 @@ function registerTFGNetherBlocks(event) { // #endregion Spikes - // #region Loose Stones + // #region Loose Stones event.create('tfg:loose/deepslate', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.deepslate.sound) .itemTexture('tfg:item/loose/deepslate') .rockTypeModel(global.STONE_CHARACS.deepslate.type) .translationKey("block.tfg.loose.deepslate") + .mapColor(global.STONE_CHARACS.deepslate.mapColor) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') @@ -136,10 +140,11 @@ function registerTFGNetherBlocks(event) { .tagItem("rnr:loose_rock_items") event.create('tfg:loose/dripstone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.dripstone.sound) + .soundType(global.STONE_CHARACS.dripstone.sound) .itemTexture('tfg:item/loose/dripstone') - .rockTypeModel(global.STONE_CHARACS.dripstone.type) + .rockTypeModel(global.STONE_CHARACS.dripstone.type) .translationKey("block.tfg.loose.dripstone") + .mapColor(global.STONE_CHARACS.blackstone.mapColor) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') @@ -152,17 +157,18 @@ function registerTFGNetherBlocks(event) { .itemTexture('tfg:item/loose/crackrack') .rockTypeModel(global.STONE_CHARACS.crackrack.type) .translationKey("block.tfg.loose.crackrack") + .mapColor(global.STONE_CHARACS.crackrack.mapColor) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.crackrack.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) .tagItem("rnr:loose_rock_items") - + // #endregion Loose rocks - + // #region Cobblestones - + // Deepslate event.create('tfg:rock/mossy_cobble_deepslate') .soundType(global.STONE_CHARACS.deepslate.sound) @@ -185,7 +191,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // Blackstone event.create('tfg:rock/cobble_blackstone') .soundType(global.STONE_CHARACS.blackstone.sound) @@ -197,7 +203,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_blackstone_${shape}`, shape) .soundType(global.STONE_CHARACS.blackstone.sound) @@ -209,7 +215,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + event.create('tfg:rock/mossy_cobble_blackstone') .soundType(global.STONE_CHARACS.blackstone.sound) .tagBoth('forge:cobblestone') @@ -220,7 +226,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_blackstone_${shape}`, shape) .soundType(global.STONE_CHARACS.blackstone.sound) @@ -231,7 +237,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // Dripstone event.create('tfg:rock/cobble_dripstone') .soundType(global.STONE_CHARACS.dripstone.sound) @@ -243,7 +249,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_dripstone_${shape}`, shape) .soundType(global.STONE_CHARACS.dripstone.sound) @@ -254,7 +260,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + event.create('tfg:rock/mossy_cobble_dripstone') .soundType(global.STONE_CHARACS.dripstone.sound) .tagBoth('forge:cobblestone') @@ -265,7 +271,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_dripstone_${shape}`, shape) .soundType(global.STONE_CHARACS.dripstone.sound) @@ -276,7 +282,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // Crackrack event.create('tfg:rock/cobble_crackrack') .soundType(global.STONE_CHARACS.crackrack.sound) @@ -288,7 +294,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_crackrack_${shape}`, shape) .soundType(global.STONE_CHARACS.crackrack.sound) @@ -299,7 +305,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + event.create('tfg:rock/mossy_cobble_crackrack') .soundType(global.STONE_CHARACS.crackrack.sound) .tagBoth('forge:cobblestone') @@ -310,7 +316,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_crackrack_${shape}`, shape) .soundType(global.STONE_CHARACS.crackrack.sound) @@ -321,7 +327,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // #region Smooth (Polished/Cut) Stones event.create('tfg:rock/polished_crackrack') @@ -333,7 +339,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/polished_crackrack_${shape}`, shape) .soundType(global.STONE_CHARACS.crackrack.sound) @@ -344,7 +350,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // #endregion Smooth (Polished/Cut) Stones // #region Gravels @@ -380,7 +386,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + event.create('tfg:rock/gravel_crackrack') .soundType('gravel') .tagBoth('forge:gravel') @@ -391,11 +397,11 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - + // #endregion Gravels - + // #region Bricks / Decorative - + // Deepslate SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_deepslate_${shape}`, shape) @@ -432,7 +438,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.deepslate.sound) @@ -443,7 +449,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // Blackstone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_blackstone_${shape}`, shape) @@ -468,7 +474,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_blackstone_${shape}`, shape) .soundType(global.STONE_CHARACS.blackstone.sound) @@ -479,7 +485,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // Dripstone event.create('tfg:rock/cracked_bricks_dripstone') .soundType(global.STONE_CHARACS.dripstone.sound) @@ -515,7 +521,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_dripstone_${shape}`, shape) .soundType(global.STONE_CHARACS.dripstone.sound) @@ -526,7 +532,7 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // Crackrack SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_nether_${shape}`, shape) @@ -551,7 +557,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - + SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_nether_${shape}`, shape) .soundType(global.STONE_CHARACS.nether.sound) @@ -562,9 +568,9 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) }) - + // #endregion Bricks / Decorative - + // #region Plants event.create('tfg:mushroom_roots', 'tfg:decorative_plant') .soundType('nether_wart') diff --git a/kubejs/startup_scripts/tfg/blocks.space.js b/kubejs/startup_scripts/tfg/blocks.space.js index 93af9988b..d9ce73696 100644 --- a/kubejs/startup_scripts/tfg/blocks.space.js +++ b/kubejs/startup_scripts/tfg/blocks.space.js @@ -1491,6 +1491,8 @@ function registerTFGSpaceBlocks(event) { //Fluorapatite const fluorapatite_colors = ['blue', 'green', 'brown', 'orange', 'white', 'yellow']; fluorapatite_colors.forEach(color => { + const mapColor = color === 'white' ? 'quartz' : `color_${color}`; + //Sand event.create(`tfg:sand/fluorapatite/${color}`, 'falling') .textureAll(`tfg:block/planets/venus/sand_fluorapatite_${color}`) @@ -1499,7 +1501,7 @@ function registerTFGSpaceBlocks(event) { .tagBoth('forge:sand') .tagItem('forge:sand/fluorapatite') .tagBlock('minecraft:mineable/shovel') - .mapColor(`color_${color}`) + .mapColor(mapColor) .fullBlock(true) .opaque(true) //Raw Sandstone @@ -1513,7 +1515,7 @@ function registerTFGSpaceBlocks(event) { .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) + .mapColor(mapColor) .fullBlock(true) .opaque(true) //Smooth Sandstone @@ -1526,7 +1528,7 @@ function registerTFGSpaceBlocks(event) { .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) + .mapColor(mapColor) .fullBlock(true) .opaque(true) //Chiseled Sandstone @@ -1541,7 +1543,7 @@ function registerTFGSpaceBlocks(event) { .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) + .mapColor(mapColor) .fullBlock(true) .opaque(true) //Sandstone @@ -1556,7 +1558,7 @@ function registerTFGSpaceBlocks(event) { .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) + .mapColor(mapColor) .fullBlock(true) .opaque(true) }) @@ -1590,6 +1592,7 @@ function registerTFGSpaceBlocks(event) { .textureAll('tfg:block/planets/venus/geyserite') .rockTypeTooltip(Text.translatable('tooltip.tfg.sedimentary')) .naturallySupported(true) + .mapColor('quartz') .sedimentary() .soundType('dripstone_block') .requiresTool(true) @@ -1600,9 +1603,29 @@ function registerTFGSpaceBlocks(event) { event.create('tfg:rock/spike/geyserite', 'tfc:rock_spike') .textureAll('tfg:block/planets/venus/geyserite') .soundType('dripstone_block') + .mapColor('quartz') .hardness(0.8) .resistance(0.8) .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + // Halite + event.create('tfg:rock/halite') + .mapColor('quartz') + .soundType('deepslate') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + event.create('tfg:rock/halite2') + .mapColor('snow') + .soundType('deepslate') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 195f649da..4a002c08d 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -101,6 +101,21 @@ global.MARS_BIOMES = [ 'tfg:mars/martian_mountains' ] +/** + * @type {string[]} - Biome IDs + */ +global.VENUS_BIOMES = [ + 'tfg:venus/arachnoids', + 'tfg:venus/fractured_pools', + 'tfg:venus/fumaroles', + 'tfg:venus/geysers', + 'tfg:venus/jagged_tablelands', + 'tfg:venus/salt_flats', + 'tfg:venus/stromatolite_beach', + 'tfg:venus/sulfuric_ravine', + 'tfg:venus/volcanic_mountains', +] + /** * @type {string[]} - Block Names */ diff --git a/kubejs/startup_scripts/tfg/register_climates.js b/kubejs/startup_scripts/tfg/register_climates.js index 9c3672087..29a2d82d9 100644 --- a/kubejs/startup_scripts/tfg/register_climates.js +++ b/kubejs/startup_scripts/tfg/register_climates.js @@ -18,6 +18,8 @@ global.MARS_MAX_AVG_TEMP = -15; global.MARS_MIN_AVG_RAIN = -25; global.MARS_MAX_AVG_RAIN = 13; +global.VENUS_PLANET_SIZE = 20000; + global.GLACIO_PLANET_SIZE = 5000; function clamp(val, min, max) { From 25ef831313356a3f4346f69676d4259639779a1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 11:07:26 +0500 Subject: [PATCH 018/628] Bump the dependencies group with 2 updates (#2115) Bumps the dependencies group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/upload-artifact` from 4.6.2 to 5.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4.6.2...v5.0.0) Updates `actions/download-artifact` from 5.0.0 to 6.0.0 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v5.0.0...v6.0.0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies - dependency-name: actions/download-artifact dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 66636e4ad..ebfd896c3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -362,7 +362,7 @@ jobs: mv *.zip $(basename -s .zip *.zip)-curseforge.zip - name: 🚀 Upload artifact CurseForge - uses: actions/upload-artifact@v4.6.2 + uses: actions/upload-artifact@v5.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-curseforge path: ./build/curseforge/${{ needs.info.outputs.project_full_name }}-curseforge.zip @@ -374,7 +374,7 @@ jobs: mv *.mrpack $(basename -s .mrpack *.mrpack)-modrinth.mrpack - name: 🚀 Upload artifact modrinth - uses: actions/upload-artifact@v4.6.2 + uses: actions/upload-artifact@v5.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-modrinth path: ./build/modrinth/${{ needs.info.outputs.project_full_name }}-modrinth.mrpack @@ -396,7 +396,7 @@ jobs: zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/ - name: 🚀 Upload artifact multimc - uses: actions/upload-artifact@v4.6.2 + uses: actions/upload-artifact@v5.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-multimc path: ./build/multimc/${{ needs.info.outputs.project_full_name }}-multimc.zip @@ -408,7 +408,7 @@ jobs: mv *.zip $(basename -s .zip *.zip)-serverpack.zip - name: 🚀 Upload artifact server - uses: actions/upload-artifact@v4.6.2 + uses: actions/upload-artifact@v5.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-serverpack path: ./build/serverpack/${{ needs.info.outputs.project_full_name }}-serverpack.zip @@ -427,7 +427,7 @@ jobs: uses: actions/checkout@v5.0.0 - name: 📦 Download artifact - uses: actions/download-artifact@v5.0.0 + uses: actions/download-artifact@v6.0.0 with: merge-multiple: true @@ -495,7 +495,7 @@ jobs: fi - name: 📦 Download artifact - uses: actions/download-artifact@v5.0.0 + uses: actions/download-artifact@v6.0.0 with: merge-multiple: true @@ -545,7 +545,7 @@ jobs: fi - name: 📦 Download artifact - uses: actions/download-artifact@v5.0.0 + uses: actions/download-artifact@v6.0.0 with: merge-multiple: true From d8f8639ee37e49b463c8d3366eaf06503b6d4340 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Wed, 5 Nov 2025 10:44:17 -0600 Subject: [PATCH 019/628] more molecule stuff (#2166) * om * maddie told me they should be in "" * adjusted some things --------- Co-authored-by: Pyritie --- .../gtceu/molecules/antimony_trifluoride.json | 8 +- .../gtceu/molecules/antimony_trioxide.json | 14 +- kubejs/assets/gtceu/molecules/barite.json | 14 +- kubejs/assets/gtceu/molecules/calcite.json | 10 +- .../gtceu/molecules/calcium_ferrocyanide.json | 199 ++++++++++++++++++ .../gtceu/molecules/calcium_hydroxide.json | 4 +- .../gtceu/molecules/dinitrogen_tetroxide.json | 76 +++++++ kubejs/assets/gtceu/molecules/lactose.json | 22 +- .../gtceu/molecules/lithium_carbonate.json | 10 +- kubejs/assets/gtceu/molecules/magnesite.json | 10 +- .../gtceu/molecules/nitrogen_dioxide.json | 37 ++++ .../gtceu/molecules/nitrosyl_chloride.json | 37 ++++ .../assets/gtceu/molecules/nitrous_oxide.json | 51 +++++ .../assets/gtceu/molecules/paracetamol.json | 12 +- kubejs/assets/gtceu/molecules/phosphate.json | 2 +- .../gtceu/molecules/phosphorus_pentoxide.json | 36 ++-- .../gtceu/molecules/potassium_carbonate.json | 10 +- .../gtceu/molecules/potassium_cyanide.json | 4 +- .../gtceu/molecules/potassium_dichromate.json | 26 +-- .../molecules/potassium_ferrocyanide.json | 14 +- .../gtceu/molecules/potassium_hydroxide.json | 4 +- .../gtceu/molecules/potassium_sulfate.json | 14 +- kubejs/assets/gtceu/molecules/saltpeter.json | 8 +- kubejs/assets/gtceu/molecules/scheelite.json | 14 +- kubejs/assets/gtceu/molecules/soda_ash.json | 10 +- .../gtceu/molecules/sodium_bicarbonate.json | 12 +- .../gtceu/molecules/sodium_bisulfate.json | 14 +- .../gtceu/molecules/sodium_hydroxide.json | 4 +- .../gtceu/molecules/sodium_nitrite.json | 6 +- kubejs/assets/gtceu/molecules/sugar.json | 38 ++-- .../gtceu/molecules/titanium_trifluoride.json | 8 +- kubejs/assets/gtceu/molecules/tungstate.json | 14 +- .../assets/gtceu/molecules/tungstic_acid.json | 14 +- .../molecules/1_1_1_2_tetrafluoroethane.json | 8 +- kubejs/assets/tfg/molecules/acetylene.json | 4 +- .../assets/tfg/molecules/ammonia_borane.json | 24 ++- .../tfg/molecules/ammonium_tungstate.json | 136 ++++++------ kubejs/assets/tfg/molecules/aniline.json | 6 +- kubejs/assets/tfg/molecules/apt.json | 141 ++++++------- kubejs/assets/tfg/molecules/boric_acid.json | 8 +- .../tfg/molecules/chlorine_pentafluoride.json | 12 +- .../tfg/molecules/chloryl_fluoride.json | 12 +- .../tfg/molecules/dimethyl_carbonate.json | 8 +- .../tfg/molecules/methyl_phenylcarbamate.json | 14 +- .../methylene_diphenyl_dicarbamate.json | 16 +- .../methylene_diphenyl_diisocyanate.json | 24 +-- .../tfg/molecules/sodium_borohydride.json | 8 +- .../tfg/molecules/sodium_tungstate.json | 10 +- .../tfg/molecules/tetrafluoroethane.json | 8 +- kubejs/assets/tfg/molecules/tmos.json | 10 +- .../tfg/molecules/trimethyl_borate.json | 8 +- .../assets/tfg/molecules/tungsten_oxide.json | 14 +- 52 files changed, 816 insertions(+), 411 deletions(-) create mode 100644 kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json create mode 100644 kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json create mode 100644 kubejs/assets/gtceu/molecules/nitrogen_dioxide.json create mode 100644 kubejs/assets/gtceu/molecules/nitrosyl_chloride.json create mode 100644 kubejs/assets/gtceu/molecules/nitrous_oxide.json diff --git a/kubejs/assets/gtceu/molecules/antimony_trifluoride.json b/kubejs/assets/gtceu/molecules/antimony_trifluoride.json index ee1fe0ee8..283c23de3 100644 --- a/kubejs/assets/gtceu/molecules/antimony_trifluoride.json +++ b/kubejs/assets/gtceu/molecules/antimony_trifluoride.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": Sb, + "element": "Sb", "index": 0, "x": 0.866, "y": -0.5 }, { "type": "atom", - "element": F, + "element": "F", "index": 1, "x": 0.866, "y": -1.5 }, { "type": "atom", - "element": F, + "element": "F", "index": 2, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": F, + "element": "F", "index": 3, "x": 1.732, "y": 0.0 diff --git a/kubejs/assets/gtceu/molecules/antimony_trioxide.json b/kubejs/assets/gtceu/molecules/antimony_trioxide.json index e5fd582ea..6bed298af 100644 --- a/kubejs/assets/gtceu/molecules/antimony_trioxide.json +++ b/kubejs/assets/gtceu/molecules/antimony_trioxide.json @@ -2,35 +2,35 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": Sb, + "element": "Sb", "index": 1, "x": 0.866, "y": 0.5 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.732, "y": 0.0 }, { "type": "atom", - "element": Sb, + "element": "Sb", "index": 3, "x": 2.598, "y": 0.5 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 3.4641, "y": 0.0 @@ -39,7 +39,7 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -57,7 +57,7 @@ "type": "bond", "a": 3, "b": 4, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/barite.json b/kubejs/assets/gtceu/molecules/barite.json index 729227ffc..6438265de 100644 --- a/kubejs/assets/gtceu/molecules/barite.json +++ b/kubejs/assets/gtceu/molecules/barite.json @@ -2,35 +2,35 @@ "contents": [ { "type": "atom", - "element": S, + "element": "S", "index": 0, "x": 2.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.33, "y": -1.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 2.33, "y": 1.0 @@ -76,13 +76,13 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 4, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcite.json b/kubejs/assets/gtceu/molecules/calcite.json index 42976f3ca..3bfaa824a 100644 --- a/kubejs/assets/gtceu/molecules/calcite.json +++ b/kubejs/assets/gtceu/molecules/calcite.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": C, + "element": "C", "index": 0, "x": 2.2933, "y": -0.155 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.1594, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.4273, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.2933, "y": 0.845 @@ -68,7 +68,7 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json b/kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json new file mode 100644 index 000000000..905856972 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json @@ -0,0 +1,199 @@ +{ + "contents": [ + { + "type": "atom", + "element": "Fe", + "index": 0, + "x": 2.95, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 2.084, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 2.084, + "y": -0.5 + }, + { + "type": "atom", + "index": 3, + "x": 2.95, + "y": 1.0 + }, + { + "type": "atom", + "index": 4, + "x": 2.95, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 3.816, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 3.816, + "y": -0.5 + }, + { + "type": "atom", + "element": "N", + "index": 7, + "x": 1.218, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 8, + "x": 4.6821, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 9, + "x": 2.95, + "y": 2.0 + }, + { + "type": "atom", + "element": "N", + "index": 10, + "x": 4.6821, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 11, + "x": 1.218, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 12, + "x": 2.95, + "y": -2.0 + }, + { + "sup": "4-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ 13 ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "inward" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 4, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 5, + "bond_type": "inward" + }, + { + "type": "bond", + "a": 0, + "b": 6, + "bond_type": "outward" + }, + { + "type": "bond", + "a": 2, + "b": 7, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 5, + "b": 8, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 3, + "b": 9, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 6, + "b": 10, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 1, + "b": 11, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 4, + "b": 12, + "bond_type": "triple" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcium_hydroxide.json b/kubejs/assets/gtceu/molecules/calcium_hydroxide.json index bc7e35fa9..93531500b 100644 --- a/kubejs/assets/gtceu/molecules/calcium_hydroxide.json +++ b/kubejs/assets/gtceu/molecules/calcium_hydroxide.json @@ -2,14 +2,14 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 1.0, "y": 0 }, { "type": "atom", - "element": H, + "element": "H", "index": 1, "x": 2.0, "y": 0 diff --git a/kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json b/kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json new file mode 100644 index 000000000..f9151a604 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json @@ -0,0 +1,76 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.0, + "y": -1.732 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 3, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.0, + "y": -1.732 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 2.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "one_and_half" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "one_and_half" + }, + { + "type": "bond", + "a": 0, + "b": 3, + "bond_type": "single" + }, + { + "type": "bond", + "a": 3, + "b": 4, + "bond_type": "one_and_half" + }, + { + "type": "bond", + "a": 3, + "b": 5, + "bond_type": "one_and_half" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/lactose.json b/kubejs/assets/gtceu/molecules/lactose.json index 0069ff2fc..0f67fabef 100644 --- a/kubejs/assets/gtceu/molecules/lactose.json +++ b/kubejs/assets/gtceu/molecules/lactose.json @@ -2,7 +2,7 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 1.8660000000000014, "y": -1.5 @@ -39,7 +39,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "left": "H", "index": 6, "x": 0.36600000000000144, @@ -47,7 +47,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "right": "H", "index": 7, "x": 0.8660000000000014, @@ -55,7 +55,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "right": "H", "index": 8, "x": 1.8660000000000014, @@ -63,7 +63,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 9, "x": 2.3660000000000014, "y": -1.3659999999999997 @@ -82,7 +82,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "left": "H", "index": 12, "x": 0.0, @@ -108,7 +108,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 16, "x": 3.8660000000000014, "y": 0.5 @@ -121,7 +121,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "right": "H", "index": 18, "x": 2.8660000000000014, @@ -129,7 +129,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "right": "H", "index": 19, "x": 3.8660000000000014, @@ -137,7 +137,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "right": "H", "index": 20, "x": 4.366000000000001, @@ -151,7 +151,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "left": "H", "index": 22, "x": 2.0, diff --git a/kubejs/assets/gtceu/molecules/lithium_carbonate.json b/kubejs/assets/gtceu/molecules/lithium_carbonate.json index c02a43ccb..88c09cd7e 100644 --- a/kubejs/assets/gtceu/molecules/lithium_carbonate.json +++ b/kubejs/assets/gtceu/molecules/lithium_carbonate.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": C, + "element": "C", "index": 0, "x": 2.2933, "y": -0.155 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.1594, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.4273, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.2933, "y": 0.845 @@ -73,7 +73,7 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/magnesite.json b/kubejs/assets/gtceu/molecules/magnesite.json index 620b0a631..509af8010 100644 --- a/kubejs/assets/gtceu/molecules/magnesite.json +++ b/kubejs/assets/gtceu/molecules/magnesite.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": C, + "element": "C", "index": 0, "x": 2.2933, "y": -0.155 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.1594, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.4273, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.2933, "y": 0.845 @@ -68,7 +68,7 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitrogen_dioxide.json b/kubejs/assets/gtceu/molecules/nitrogen_dioxide.json new file mode 100644 index 000000000..371974a33 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/nitrogen_dioxide.json @@ -0,0 +1,37 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "one_and_half" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "one_and_half" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitrosyl_chloride.json b/kubejs/assets/gtceu/molecules/nitrosyl_chloride.json new file mode 100644 index 000000000..7ce57e366 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/nitrosyl_chloride.json @@ -0,0 +1,37 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "Cl", + "index": 1, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "single" + }, + { + "type": "bond", + "a": 0, + "b": 2, + "bond_type": "double_centered" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitrous_oxide.json b/kubejs/assets/gtceu/molecules/nitrous_oxide.json new file mode 100644 index 000000000..dbf9bdd88 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/nitrous_oxide.json @@ -0,0 +1,51 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "N⁺", + "color": { + "color": -13610760, + "optional": true + }, + "material": "gtceu:nitrogen" + }, + "index": 1, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "O⁻", + "color": { + "color": -62195, + "optional": true + }, + "material": "gtceu:oxygen" + }, + "index": 2, + "x": 2.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "bond_type": "triple" + }, + { + "type": "bond", + "a": 1, + "b": 2, + "bond_type": "single" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/paracetamol.json b/kubejs/assets/gtceu/molecules/paracetamol.json index d709d2c3a..2dd6fea8d 100644 --- a/kubejs/assets/gtceu/molecules/paracetamol.json +++ b/kubejs/assets/gtceu/molecules/paracetamol.json @@ -38,16 +38,16 @@ }, { "type": "atom", - "element": O, - "left": H, + "element": "O", + "left": "H", "index": 6, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": N, - "above": H, + "element": "N", + "above": "H", "index": 7, "x": 3.4641, "y": 2.0 @@ -66,7 +66,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 10, "x": 5.1962, "y": 2.0 @@ -135,7 +135,7 @@ "type": "bond", "a": 8, "b": 10, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/phosphate.json b/kubejs/assets/gtceu/molecules/phosphate.json index 776d45def..e6601a9e5 100644 --- a/kubejs/assets/gtceu/molecules/phosphate.json +++ b/kubejs/assets/gtceu/molecules/phosphate.json @@ -49,7 +49,7 @@ { "a": 0, "b": 1, - "bond_type": "double", + "bond_type": "double_centered", "type": "bond" }, { diff --git a/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json b/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json index ad3f5caa0..8e0f80407 100644 --- a/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json +++ b/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json @@ -2,98 +2,98 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 0.4132, "y": -0.7316 }, { "type": "atom", - "element": P, + "element": "P", "index": 1, "x": 1.3028, "y": -0.2795 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.3028, "y": 0.6246 }, { "type": "atom", - "element": P, + "element": "P", "index": 3, "x": 1.8466, "y": 1.5806 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 0.9568, "y": 1.1286 }, { "type": "atom", - "element": P, + "element": "P", "index": 5, "x": 0.9568, "y": 0.2244 }, { "type": "atom", - "element": O, + "element": "O", "index": 6, "x": 1.8466, "y": -0.2277 }, { "type": "atom", - "element": P, + "element": "P", "index": 7, "x": 2.7364, "y": 0.2244 }, { "type": "atom", - "element": O, + "element": "O", "index": 8, "x": 2.1926, "y": -0.7316 }, { "type": "atom", - "element": O, + "element": "O", "index": 9, "x": 2.7364, "y": 1.1286 }, { "type": "atom", - "element": O, + "element": "O", "index": 10, "x": 1.0728, "y": -1.2695 }, { "type": "atom", - "element": O, + "element": "O", "index": 11, "x": 3.7031, "y": -0.0313 }, { "type": "atom", - "element": O, + "element": "O", "index": 12, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 13, "x": 1.8466, "y": 2.5806 @@ -174,25 +174,25 @@ "type": "bond", "a": 1, "b": 10, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 7, "b": 11, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 5, "b": 12, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 3, "b": 13, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_carbonate.json b/kubejs/assets/gtceu/molecules/potassium_carbonate.json index a5ac17370..dcd30dd70 100644 --- a/kubejs/assets/gtceu/molecules/potassium_carbonate.json +++ b/kubejs/assets/gtceu/molecules/potassium_carbonate.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": C, + "element": "C", "index": 0, "x": 2.2933, "y": -0.155 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.1594, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.4273, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.2933, "y": 0.845 @@ -73,7 +73,7 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_cyanide.json b/kubejs/assets/gtceu/molecules/potassium_cyanide.json index 350ef5180..b47e878ba 100644 --- a/kubejs/assets/gtceu/molecules/potassium_cyanide.json +++ b/kubejs/assets/gtceu/molecules/potassium_cyanide.json @@ -2,14 +2,14 @@ "contents": [ { "type": "atom", - "element": N, + "element": "N", "index": 0, "x": 1.9999, "y": 0.0 }, { "type": "atom", - "element": C, + "element": "C", "index": 1, "x": 1.0, "y": 0.0 diff --git a/kubejs/assets/gtceu/molecules/potassium_dichromate.json b/kubejs/assets/gtceu/molecules/potassium_dichromate.json index 87c18f882..b51ddd149 100644 --- a/kubejs/assets/gtceu/molecules/potassium_dichromate.json +++ b/kubejs/assets/gtceu/molecules/potassium_dichromate.json @@ -2,63 +2,63 @@ "contents": [ { "type": "atom", - "element": Cr, + "element": "Cr", "index": 0, "x": 2.0238, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 1.5238, "y": -0.866 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 2.5238, "y": 0.8661 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 1.1578, "y": 0.5 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 2.8898, "y": -0.5 }, { "type": "atom", - "element": Cr, + "element": "Cr", "index": 5, "x": 3.7559, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 6, "x": 3.2559, "y": 0.8661 }, { "type": "atom", - "element": O, + "element": "O", "index": 7, "x": 4.2559, "y": -0.866 }, { "type": "atom", - "element": O, + "element": "O", "index": 8, "x": 4.6219, "y": 0.5 @@ -101,13 +101,13 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 2, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -131,13 +131,13 @@ "type": "bond", "a": 5, "b": 6, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 5, "b": 7, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", diff --git a/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json b/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json index 744968126..43bec93f7 100644 --- a/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json +++ b/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json @@ -2,7 +2,7 @@ "contents": [ { "type": "atom", - "element": Fe, + "element": "Fe", "index": 0, "x": 2.95, "y": 0.0 @@ -45,42 +45,42 @@ }, { "type": "atom", - "element": N, + "element": "N", "index": 7, "x": 1.218, "y": -1.0 }, { "type": "atom", - "element": N, + "element": "N", "index": 8, "x": 4.6821, "y": 1.0 }, { "type": "atom", - "element": N, + "element": "N", "index": 9, "x": 2.95, "y": 2.0 }, { "type": "atom", - "element": N, + "element": "N", "index": 10, "x": 4.6821, "y": -1.0 }, { "type": "atom", - "element": N, + "element": "N", "index": 11, "x": 1.218, "y": 1.0 }, { "type": "atom", - "element": N, + "element": "N", "index": 12, "x": 2.95, "y": -2.0 diff --git a/kubejs/assets/gtceu/molecules/potassium_hydroxide.json b/kubejs/assets/gtceu/molecules/potassium_hydroxide.json index 3d711692d..84e9fe863 100644 --- a/kubejs/assets/gtceu/molecules/potassium_hydroxide.json +++ b/kubejs/assets/gtceu/molecules/potassium_hydroxide.json @@ -2,14 +2,14 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 1.0, "y": 0 }, { "type": "atom", - "element": H, + "element": "H", "index": 1, "x": 2.0, "y": 0 diff --git a/kubejs/assets/gtceu/molecules/potassium_sulfate.json b/kubejs/assets/gtceu/molecules/potassium_sulfate.json index 1a6d1c7a6..597e0a009 100644 --- a/kubejs/assets/gtceu/molecules/potassium_sulfate.json +++ b/kubejs/assets/gtceu/molecules/potassium_sulfate.json @@ -2,35 +2,35 @@ "contents": [ { "type": "atom", - "element": S, + "element": "S", "index": 0, "x": 2.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.33, "y": -1.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 2.33, "y": 1.0 @@ -81,13 +81,13 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 4, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/saltpeter.json b/kubejs/assets/gtceu/molecules/saltpeter.json index 3ba713ef9..f0b4eb9d7 100644 --- a/kubejs/assets/gtceu/molecules/saltpeter.json +++ b/kubejs/assets/gtceu/molecules/saltpeter.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": N, + "element": "N", "index": 0, "x": 2.2933, "y": -0.155 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.1594, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.4273, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.2933, "y": 0.845 diff --git a/kubejs/assets/gtceu/molecules/scheelite.json b/kubejs/assets/gtceu/molecules/scheelite.json index 56bad1315..c9dbce296 100644 --- a/kubejs/assets/gtceu/molecules/scheelite.json +++ b/kubejs/assets/gtceu/molecules/scheelite.json @@ -2,35 +2,35 @@ "contents": [ { "type": "atom", - "element": W, + "element": "W", "index": 0, "x": 2.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.0, "y": -1.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 2.0, "y": 1.0 @@ -76,13 +76,13 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 4, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/soda_ash.json b/kubejs/assets/gtceu/molecules/soda_ash.json index 870f94e39..43337b1c2 100644 --- a/kubejs/assets/gtceu/molecules/soda_ash.json +++ b/kubejs/assets/gtceu/molecules/soda_ash.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": C, + "element": "C", "index": 0, "x": 2.2933, "y": -0.155 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.1594, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.4273, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.2933, "y": 0.845 @@ -73,7 +73,7 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json b/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json index 446fb1e09..7538ef0a9 100644 --- a/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json +++ b/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json @@ -2,29 +2,29 @@ "contents": [ { "type": "atom", - "element": C, + "element": "C", "index": 0, "x": 2.2933, "y": -0.155 }, { "type": "atom", - "element": O, - "right": H, + "element": "O", + "right": "H", "index": 1, "x": 3.1594, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.4273, "y": -0.655 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.2933, "y": 0.845 @@ -69,7 +69,7 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_bisulfate.json b/kubejs/assets/gtceu/molecules/sodium_bisulfate.json index 75d37f762..d5469264c 100644 --- a/kubejs/assets/gtceu/molecules/sodium_bisulfate.json +++ b/kubejs/assets/gtceu/molecules/sodium_bisulfate.json @@ -2,35 +2,35 @@ "contents": [ { "type": "atom", - "element": S, + "element": "S", "index": 0, "x": 2.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.33, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.33, "y": -1.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 2.33, "y": 1.0 @@ -81,13 +81,13 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 4, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_hydroxide.json b/kubejs/assets/gtceu/molecules/sodium_hydroxide.json index c4d484fee..1cbd9e721 100644 --- a/kubejs/assets/gtceu/molecules/sodium_hydroxide.json +++ b/kubejs/assets/gtceu/molecules/sodium_hydroxide.json @@ -2,14 +2,14 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 1.0, "y": 0 }, { "type": "atom", - "element": H, + "element": "H", "index": 1, "x": 2.0, "y": 0 diff --git a/kubejs/assets/gtceu/molecules/sodium_nitrite.json b/kubejs/assets/gtceu/molecules/sodium_nitrite.json index 5a40a5045..bd70cdf62 100644 --- a/kubejs/assets/gtceu/molecules/sodium_nitrite.json +++ b/kubejs/assets/gtceu/molecules/sodium_nitrite.json @@ -2,21 +2,21 @@ "contents": [ { "type": "atom", - "element": N, + "element": "N", "index": 0, "x": 2.13, "y": 0.25 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 2.996, "y": -0.25 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.264, "y": -0.25 diff --git a/kubejs/assets/gtceu/molecules/sugar.json b/kubejs/assets/gtceu/molecules/sugar.json index 1ab618be7..9d6794bff 100644 --- a/kubejs/assets/gtceu/molecules/sugar.json +++ b/kubejs/assets/gtceu/molecules/sugar.json @@ -20,7 +20,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 1.8661, "y": -1.5 @@ -39,7 +39,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 6, "x": 4.3956, "y": -1.7183 @@ -70,7 +70,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 11, "x": 2.9721, "y": -2.8761 @@ -83,24 +83,24 @@ }, { "type": "atom", - "element": O, - "right": H, + "element": "O", + "right": "H", "index": 13, "x": 0.8661, "y": -2.2321 }, { "type": "atom", - "element": O, - "right": H, + "element": "O", + "right": "H", "index": 14, "x": 0.3661, "y": -3.3661 }, { "type": "atom", - "element": O, - "right": H, + "element": "O", + "right": "H", "index": 15, "x": 1.8661, "y": -4.2321 @@ -113,32 +113,32 @@ }, { "type": "atom", - "element": O, - "left": H, + "element": "O", + "left": "H", "index": 17, "x": 2.7205, "y": -0.8061 }, { "type": "atom", - "element": O, - "left": H, + "element": "O", + "left": "H", "index": 18, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, - "right": H, + "element": "O", + "right": "H", "index": 19, "x": 3.8956, "y": -4.2572 }, { "type": "atom", - "element": O, - "left": H, + "element": "O", + "left": "H", "index": 20, "x": 4.6555, "y": -2.3972 @@ -151,8 +151,8 @@ }, { "type": "atom", - "element": O, - "right": H, + "element": "O", + "right": "H", "index": 22, "x": 6.0706, "y": -3.8061 diff --git a/kubejs/assets/gtceu/molecules/titanium_trifluoride.json b/kubejs/assets/gtceu/molecules/titanium_trifluoride.json index b19b7a111..57e66fff9 100644 --- a/kubejs/assets/gtceu/molecules/titanium_trifluoride.json +++ b/kubejs/assets/gtceu/molecules/titanium_trifluoride.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": Ti, + "element": "Ti", "index": 0, "x": 0.866, "y": -0.5 }, { "type": "atom", - "element": F, + "element": "F", "index": 1, "x": 0.866, "y": -1.5 }, { "type": "atom", - "element": F, + "element": "F", "index": 2, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": F, + "element": "F", "index": 3, "x": 1.732, "y": 0.0 diff --git a/kubejs/assets/gtceu/molecules/tungstate.json b/kubejs/assets/gtceu/molecules/tungstate.json index d81e773d7..a146851b8 100644 --- a/kubejs/assets/gtceu/molecules/tungstate.json +++ b/kubejs/assets/gtceu/molecules/tungstate.json @@ -2,35 +2,35 @@ "contents": [ { "type": "atom", - "element": W, + "element": "W", "index": 0, "x": 2.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 3.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 1.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 2.0, "y": -1.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 2.0, "y": 1.0 @@ -81,13 +81,13 @@ "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 4, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/tungstic_acid.json b/kubejs/assets/gtceu/molecules/tungstic_acid.json index 1d376cf63..4aad99429 100644 --- a/kubejs/assets/gtceu/molecules/tungstic_acid.json +++ b/kubejs/assets/gtceu/molecules/tungstic_acid.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": W, + "element": "W", "index": 0, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 0.0, "y": -0.825 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 0.0, "y": 0.825 }, { "type": "atom", - "element": O, + "element": "O", "right": "H", "index": 3, "x": 0.825, @@ -31,7 +31,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "left": "H", "index": 4, "x": -0.825, @@ -41,13 +41,13 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 2, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", diff --git a/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json b/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json index 4b4f2fc3a..96546e631 100644 --- a/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json +++ b/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json @@ -14,28 +14,28 @@ }, { "type": "atom", - "element": F, + "element": "F", "index": 2, "x": -2.6110, "y": -0.0256 }, { "type": "atom", - "element": F, + "element": "F", "index": 3, "x": -1.7860, "y": 0.7993 }, { "type": "atom", - "element": F, + "element": "F", "index": 4, "x": -1.7860, "y": -0.8506 }, { "type": "atom", - "element": F, + "element": "F", "index": 5, "x": -0.5485, "y": -0.7401 diff --git a/kubejs/assets/tfg/molecules/acetylene.json b/kubejs/assets/tfg/molecules/acetylene.json index 8fb87b91c..bcccd1fe5 100644 --- a/kubejs/assets/tfg/molecules/acetylene.json +++ b/kubejs/assets/tfg/molecules/acetylene.json @@ -14,14 +14,14 @@ }, { "type": "atom", - "element": H, + "element": "H", "index": 2, "x": -2.7223, "y": 0.9151 }, { "type": "atom", - "element": H, + "element": "H", "index": 3, "x": -0.2473, "y": 0.9151 diff --git a/kubejs/assets/tfg/molecules/ammonia_borane.json b/kubejs/assets/tfg/molecules/ammonia_borane.json index adbd61a38..e8f1e608e 100644 --- a/kubejs/assets/tfg/molecules/ammonia_borane.json +++ b/kubejs/assets/tfg/molecules/ammonia_borane.json @@ -4,8 +4,12 @@ "type": "atom", "element": { "symbol": "N⁺", + "color": { + "color": -13610760, + "optional": true + }, "material": "gtceu:nitrogen" - }, + }, "index": 0, "x": 0.0, "y": 0.0 @@ -14,50 +18,54 @@ "type": "atom", "element": { "symbol": "B⁻", + "color": { + "color": -19019, + "optional": true + }, "material": "gtceu:boron" - }, + }, "index": 1, "x": -0.8249, "y": 0.0 }, { "type": "atom", - "element": H, + "element": "H", "index": 2, "x": 0.0, "y": 0.825 }, { "type": "atom", - "element": H, + "element": "H", "index": 3, "x": -0.8249, "y": 0.825 }, { "type": "atom", - "element": H, + "element": "H", "index": 4, "x": -1.6499, "y": 0.0 }, { "type": "atom", - "element": H, + "element": "H", "index": 5, "x": 0.825, "y": 0.0 }, { "type": "atom", - "element": H, + "element": "H", "index": 6, "x": -0.8249, "y": -0.8249 }, { "type": "atom", - "element": H, + "element": "H", "index": 7, "x": 0.0, "y": -0.8249 diff --git a/kubejs/assets/tfg/molecules/ammonium_tungstate.json b/kubejs/assets/tfg/molecules/ammonium_tungstate.json index 43810792b..f2e6160e2 100644 --- a/kubejs/assets/tfg/molecules/ammonium_tungstate.json +++ b/kubejs/assets/tfg/molecules/ammonium_tungstate.json @@ -2,378 +2,378 @@ "contents": [ { "type": "atom", - "element": W, + "element": "W", "index": 0, "x": -0.0869, "y": -3.2348 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": -0.0869, "y": -4.0598 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 0.72, "y": -3.4063 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": -0.9118999999999999, "y": -3.2348 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": -0.7, "y": -2.6827 }, { "type": "atom", - "element": O, + "element": "O", "index": 5, "x": 0.6976, "y": -2.9798 }, { "type": "atom", - "element": O, + "element": "O", "index": 6, "x": -0.02310000000000001, "y": -2.258 }, { "type": "atom", - "element": W, + "element": "W", "index": 7, "x": -1.6965000000000001, "y": -2.9798 }, { "type": "atom", - "element": W, + "element": "W", "index": 8, "x": -0.7862, "y": -1.8622999999999998 }, { "type": "atom", - "element": W, + "element": "W", "index": 9, "x": 1.0332, "y": -2.2262 }, { "type": "atom", - "element": W, + "element": "W", "index": 10, "x": 1.5404, "y": -3.3201 }, { "type": "atom", - "element": O, + "element": "O", "index": 11, "x": -1.6103, "y": -3.8003 }, { "type": "atom", - "element": O, + "element": "O", "index": 12, "x": -2.411, "y": -3.3923 }, { "type": "atom", - "element": O, + "element": "O", "index": 13, "x": -2.364, "y": -2.4949 }, { "type": "atom", - "element": O, + "element": "O", "index": 14, "x": -1.8681, "y": -2.1729 }, { "type": "atom", - "element": O, + "element": "O", "index": 15, "x": -1.1445, "y": -2.3667 }, { "type": "atom", - "element": W, + "element": "W", "index": 16, "x": -1.6673, "y": -1.2918999999999998 }, { "type": "atom", - "element": W, + "element": "W", "index": 17, "x": -2.4812000000000003, "y": -1.6208 }, { "type": "atom", - "element": O, + "element": "O", "index": 18, "x": -1.8904, "y": -0.7563 }, { "type": "atom", - "element": O, + "element": "O", "index": 19, "x": -2.6151, "y": -0.5503 }, { "type": "atom", - "element": O, + "element": "O", "index": 20, "x": -3.0942000000000003, "y": -1.0688 }, { "type": "atom", - "element": O, + "element": "O", "index": 21, "x": -3.1956, "y": -2.0333 }, { "type": "atom", - "element": O, + "element": "O", "index": 22, "x": -1.0987, "y": -0.881 }, { "type": "atom", - "element": O, + "element": "O", "index": 23, "x": 0.020599999999999993, "y": -1.6906999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 24, "x": -1.8907, "y": -1.6821 }, { "type": "atom", - "element": O, + "element": "O", "index": 25, "x": 0.6372, "y": -2.3662 }, { "type": "atom", - "element": O, + "element": "O", "index": 26, "x": 1.2048999999999999, "y": -4.0737000000000005 }, { "type": "atom", - "element": O, + "element": "O", "index": 27, "x": 2.1534999999999997, "y": -3.8721 }, { "type": "atom", - "element": O, + "element": "O", "index": 28, "x": 1.6266999999999998, "y": -2.4996 }, { "type": "atom", - "element": O, + "element": "O", "index": 29, "x": 2.2941, "y": -2.9844999999999997 }, { "type": "atom", - "element": W, + "element": "W", "index": 30, "x": 2.2941, "y": -2.0147 }, { "type": "atom", - "element": O, + "element": "O", "index": 31, "x": 1.4327999999999999, "y": -1.7188999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 32, "x": 2.9072, "y": -2.5667 }, { "type": "atom", - "element": O, + "element": "O", "index": 33, "x": 3.1010999999999997, "y": -1.8431 }, { "type": "atom", - "element": O, + "element": "O", "index": 34, "x": 1.2827, "y": -0.8858 }, { "type": "atom", - "element": O, + "element": "O", "index": 35, "x": 2.5490999999999997, "y": -1.23 }, { "type": "atom", - "element": O, + "element": "O", "index": 36, "x": 1.6082999999999998, "y": -1.2803 }, { "type": "atom", - "element": W, + "element": "W", "index": 37, "x": 2.0641, "y": -0.5626 }, { "type": "atom", - "element": O, + "element": "O", "index": 38, "x": 2.7316, "y": -0.0778 }, { "type": "atom", - "element": O, + "element": "O", "index": 39, "x": 2.0641, "y": 0.2623 }, { "type": "atom", - "element": O, + "element": "O", "index": 40, "x": 1.2725, "y": -0.07759999999999999 }, { "type": "atom", - "element": W, + "element": "W", "index": 41, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 42, "x": 0.11229999999999998, "y": 0.8207 }, { "type": "atom", - "element": O, + "element": "O", "index": 43, "x": -0.8037, "y": 0.4125 }, { "type": "atom", - "element": O, + "element": "O", "index": 44, "x": 0.6666, "y": -0.48550000000000004 }, { "type": "atom", - "element": O, + "element": "O", "index": 45, "x": -1.1864000000000001, "y": -0.3053 }, { "type": "atom", - "element": W, + "element": "W", "index": 46, "x": -1.6048, "y": -0.22139999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 47, "x": -2.1853000000000002, "y": 0.3026 }, { "type": "atom", - "element": O, + "element": "O", "index": 48, "x": -1.4332, "y": 0.5631999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 49, "x": -0.5295, "y": -1.0244 }, { "type": "atom", - "element": W, + "element": "W", "index": 50, "x": 0.1585, "y": -0.8017 }, { "type": "atom", - "element": O, + "element": "O", "index": 51, "x": -0.37350000000000005, "y": -1.4035 }, { "type": "atom", - "element": O, + "element": "O", "index": 52, "x": -1.2137, "y": -1.6296 }, { "type": "atom", - "element": O, + "element": "O", "index": 53, "x": 0.5707, "y": -1.3983999999999999 @@ -401,7 +401,7 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -491,13 +491,13 @@ "type": "bond", "a": 7, "b": 12, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 7, "b": 11, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -533,13 +533,13 @@ "type": "bond", "a": 17, "b": 20, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 17, "b": 21, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -587,13 +587,13 @@ "type": "bond", "a": 10, "b": 26, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 10, "b": 27, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -641,13 +641,13 @@ "type": "bond", "a": 30, "b": 32, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 30, "b": 33, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -677,13 +677,13 @@ "type": "bond", "a": 37, "b": 39, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 37, "b": 38, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -737,13 +737,13 @@ "type": "bond", "a": 46, "b": 48, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 46, "b": 47, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -773,7 +773,7 @@ "type": "bond", "a": 41, "b": 42, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", diff --git a/kubejs/assets/tfg/molecules/aniline.json b/kubejs/assets/tfg/molecules/aniline.json index fe68df9b6..7e08e86c7 100644 --- a/kubejs/assets/tfg/molecules/aniline.json +++ b/kubejs/assets/tfg/molecules/aniline.json @@ -38,21 +38,21 @@ }, { "type": "atom", - "element": N, + "element": "N", "index": 6, "x": -1.6287, "y": 0.9705 }, { "type": "atom", - "element": H, + "element": "H", "index": 7, "x": -2.0412, "y": 0.2560 }, { "type": "atom", - "element": H, + "element": "H", "index": 8, "x": -2.0412, "y": 1.6850 diff --git a/kubejs/assets/tfg/molecules/apt.json b/kubejs/assets/tfg/molecules/apt.json index 5862fa2d3..09f825de8 100644 --- a/kubejs/assets/tfg/molecules/apt.json +++ b/kubejs/assets/tfg/molecules/apt.json @@ -2,378 +2,378 @@ "contents": [ { "type": "atom", - "element": W, + "element": "W", "index": 0, "x": -0.0869, "y": -3.2348 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": -0.0869, "y": -4.0598 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 0.72, "y": -3.4063 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": -0.9118999999999999, "y": -3.2348 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": -0.7, "y": -2.6827 }, { "type": "atom", - "element": O, + "element": "O", "index": 5, "x": 0.6976, "y": -2.9798 }, { "type": "atom", - "element": O, + "element": "O", "index": 6, "x": -0.02310000000000001, "y": -2.258 }, { "type": "atom", - "element": W, + "element": "W", "index": 7, "x": -1.6965000000000001, "y": -2.9798 }, { "type": "atom", - "element": W, + "element": "W", "index": 8, "x": -0.7862, "y": -1.8622999999999998 }, { "type": "atom", - "element": W, + "element": "W", "index": 9, "x": 1.0332, "y": -2.2262 }, { "type": "atom", - "element": W, + "element": "W", "index": 10, "x": 1.5404, "y": -3.3201 }, { "type": "atom", - "element": O, + "element": "O", "index": 11, "x": -1.6103, "y": -3.8003 }, { "type": "atom", - "element": O, + "element": "O", "index": 12, "x": -2.411, "y": -3.3923 }, { "type": "atom", - "element": O, + "element": "O", "index": 13, "x": -2.364, "y": -2.4949 }, { "type": "atom", - "element": O, + "element": "O", "index": 14, "x": -1.8681, "y": -2.1729 }, { "type": "atom", - "element": O, + "element": "O", "index": 15, "x": -1.1445, "y": -2.3667 }, { "type": "atom", - "element": W, + "element": "W", "index": 16, "x": -1.6673, "y": -1.2918999999999998 }, { "type": "atom", - "element": W, + "element": "W", "index": 17, "x": -2.4812000000000003, "y": -1.6208 }, { "type": "atom", - "element": O, + "element": "O", "index": 18, "x": -1.8904, "y": -0.7563 }, { "type": "atom", - "element": O, + "element": "O", "index": 19, "x": -2.6151, "y": -0.5503 }, { "type": "atom", - "element": O, + "element": "O", "index": 20, "x": -3.0942000000000003, "y": -1.0688 }, { "type": "atom", - "element": O, + "element": "O", "index": 21, "x": -3.1956, "y": -2.0333 }, { "type": "atom", - "element": O, + "element": "O", "index": 22, "x": -1.0987, "y": -0.881 }, { "type": "atom", - "element": O, + "element": "O", "index": 23, "x": 0.020599999999999993, "y": -1.6906999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 24, "x": -1.8907, "y": -1.6821 }, { "type": "atom", - "element": O, + "element": "O", "index": 25, "x": 0.6372, "y": -2.3662 }, { "type": "atom", - "element": O, + "element": "O", "index": 26, "x": 1.2048999999999999, "y": -4.0737000000000005 }, { "type": "atom", - "element": O, + "element": "O", "index": 27, "x": 2.1534999999999997, "y": -3.8721 }, { "type": "atom", - "element": O, + "element": "O", "index": 28, "x": 1.6266999999999998, "y": -2.4996 }, { "type": "atom", - "element": O, + "element": "O", "index": 29, "x": 2.2941, "y": -2.9844999999999997 }, { "type": "atom", - "element": W, + "element": "W", "index": 30, "x": 2.2941, "y": -2.0147 }, { "type": "atom", - "element": O, + "element": "O", "index": 31, "x": 1.4327999999999999, "y": -1.7188999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 32, "x": 2.9072, "y": -2.5667 }, { "type": "atom", - "element": O, + "element": "O", "index": 33, "x": 3.1010999999999997, "y": -1.8431 }, { "type": "atom", - "element": O, + "element": "O", "index": 34, "x": 1.2827, "y": -0.8858 }, { "type": "atom", - "element": O, + "element": "O", "index": 35, "x": 2.5490999999999997, "y": -1.23 }, { "type": "atom", - "element": O, + "element": "O", "index": 36, "x": 1.6082999999999998, "y": -1.2803 }, { "type": "atom", - "element": W, + "element": "W", "index": 37, "x": 2.0641, "y": -0.5626 }, { "type": "atom", - "element": O, + "element": "O", "index": 38, "x": 2.7316, "y": -0.0778 }, { "type": "atom", - "element": O, + "element": "O", "index": 39, "x": 2.0641, "y": 0.2623 }, { "type": "atom", - "element": O, + "element": "O", "index": 40, "x": 1.2725, "y": -0.07759999999999999 }, { "type": "atom", - "element": W, + "element": "W", "index": 41, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 42, "x": 0.11229999999999998, "y": 0.8207 }, { "type": "atom", - "element": O, + "element": "O", "index": 43, "x": -0.8037, "y": 0.4125 }, { "type": "atom", - "element": O, + "element": "O", "index": 44, "x": 0.6666, "y": -0.48550000000000004 }, { "type": "atom", - "element": O, + "element": "O", "index": 45, "x": -1.1864000000000001, "y": -0.3053 }, { "type": "atom", - "element": W, + "element": "W", "index": 46, "x": -1.6048, "y": -0.22139999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 47, "x": -2.1853000000000002, "y": 0.3026 }, { "type": "atom", - "element": O, + "element": "O", "index": 48, "x": -1.4332, "y": 0.5631999999999999 }, { "type": "atom", - "element": O, + "element": "O", "index": 49, "x": -0.5295, "y": -1.0244 }, { "type": "atom", - "element": W, + "element": "W", "index": 50, "x": 0.1585, "y": -0.8017 }, { "type": "atom", - "element": O, + "element": "O", "index": 51, "x": -0.37350000000000005, "y": -1.4035 }, { "type": "atom", - "element": O, + "element": "O", "index": 52, "x": -1.2137, "y": -1.6296 }, { "type": "atom", - "element": O, + "element": "O", "index": 53, "x": 0.5707, "y": -1.3983999999999999 @@ -399,10 +399,7 @@ }, { "type": "atom", - "element": { - "symbol": "O", - "material": "gtceu:oxygen" - }, + "element": "O", "left": [ "H", 2 @@ -420,7 +417,7 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -510,13 +507,13 @@ "type": "bond", "a": 7, "b": 12, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 7, "b": 11, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -552,13 +549,13 @@ "type": "bond", "a": 17, "b": 20, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 17, "b": 21, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -606,13 +603,13 @@ "type": "bond", "a": 10, "b": 26, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 10, "b": 27, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -660,13 +657,13 @@ "type": "bond", "a": 30, "b": 32, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 30, "b": 33, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -696,13 +693,13 @@ "type": "bond", "a": 37, "b": 39, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 37, "b": 38, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -756,13 +753,13 @@ "type": "bond", "a": 46, "b": 48, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 46, "b": 47, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -792,7 +789,7 @@ "type": "bond", "a": 41, "b": 42, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", diff --git a/kubejs/assets/tfg/molecules/boric_acid.json b/kubejs/assets/tfg/molecules/boric_acid.json index 0d9b24816..4092cbd99 100644 --- a/kubejs/assets/tfg/molecules/boric_acid.json +++ b/kubejs/assets/tfg/molecules/boric_acid.json @@ -2,14 +2,14 @@ "contents": [ { "type": "atom", - "element": B, + "element": "B", "index": 0, "x": 0.5, "y": -0.866 }, { "type": "atom", - "element": O, + "element": "O", "right": "H", "index": 1, "x": 1.5, @@ -17,7 +17,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "left": "H", "index": 2, "x": 0.0, @@ -25,7 +25,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "left": "H", "index": 3, "x": 0.0, diff --git a/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json b/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json index a6d45b8e5..af44f4050 100644 --- a/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json +++ b/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json @@ -2,42 +2,42 @@ "contents": [ { "type": "atom", - "element": Cl, + "element": "Cl", "index": 0, "x": -0.3098, "y": -0.2864 }, { "type": "atom", - "element": F, + "element": "F", "index": 1, "x": -0.3098, "y": -1.1113 }, { "type": "atom", - "element": F, + "element": "F", "index": 2, "x": -0.7947, "y": 0.3810 }, { "type": "atom", - "element": F, + "element": "F", "index": 3, "x": 0.1750, "y": 0.3810 }, { "type": "atom", - "element": F, + "element": "F", "index": 4, "x": 0.4747, "y": -0.5412 }, { "type": "atom", - "element": F, + "element": "F", "index": 5, "x": -1.0944, "y": -0.5413 diff --git a/kubejs/assets/tfg/molecules/chloryl_fluoride.json b/kubejs/assets/tfg/molecules/chloryl_fluoride.json index e72a7703e..e033f3d87 100644 --- a/kubejs/assets/tfg/molecules/chloryl_fluoride.json +++ b/kubejs/assets/tfg/molecules/chloryl_fluoride.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": Cl, + "element": "Cl", "index": 0, "x": 0.0000, "y": 0.1115 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 0.4125, "y": 0.8260 }, { "type": "atom", - "element": F, + "element": "F", "index": 2, "x": 0.4125, "y": -0.6028 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": -0.8250, "y": 0.1115 @@ -32,13 +32,13 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", diff --git a/kubejs/assets/tfg/molecules/dimethyl_carbonate.json b/kubejs/assets/tfg/molecules/dimethyl_carbonate.json index 443b4d66b..41d1b5c3c 100644 --- a/kubejs/assets/tfg/molecules/dimethyl_carbonate.json +++ b/kubejs/assets/tfg/molecules/dimethyl_carbonate.json @@ -8,7 +8,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": -3.4873, "y": -0.7749 @@ -21,7 +21,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": -2.0584, "y": -0.7749 @@ -34,7 +34,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 5, "x": -2.7728, "y": 0.4625 @@ -67,7 +67,7 @@ "type": "bond", "a": 2, "b": 5, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json b/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json index 19e618329..307810532 100644 --- a/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json +++ b/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json @@ -2,21 +2,21 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 1.6418, "y": 0.5155 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 0.9273, "y": -0.7218 }, { "type": "atom", - "element": N, + "element": "N", "index": 2, "x": 0.2128, "y": 0.5156 @@ -71,7 +71,7 @@ }, { "type": "atom", - "element": H, + "element": "H", "index": 11, "x": 0.2129, "y": 1.3406 @@ -92,7 +92,7 @@ "type": "bond", "a": 1, "b": 9, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -126,8 +126,8 @@ }, { "type": "bond", - "a": 5, - "b": 7, + "a": 7, + "b": 5, "bond_type": "double" }, { diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json index aa38d0503..e94f4df81 100644 --- a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json @@ -80,14 +80,14 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 13, "x": 1.732099999999999, "y": 0 }, { "type": "atom", - "element": O, + "element": "O", "index": 14, "x": 8.660300000000001, "y": 0 @@ -100,14 +100,14 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 16, "x": 0.8659999999999997, "y": -1.4999999999999991 }, { "type": "atom", - "element": N, + "element": "N", "left": [ "H", 2 @@ -124,7 +124,7 @@ }, { "type": "atom", - "element": N, + "element": "N", "right": [ "H", 2 @@ -135,7 +135,7 @@ }, { "type": "atom", - "element": O, + "element": "O", "index": 20, "x": 10.3924, "y": 0.0 @@ -246,7 +246,7 @@ "type": "bond", "a": 15, "b": 16, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -270,7 +270,7 @@ "type": "bond", "a": 18, "b": 20, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json index 968dfa588..bc6ddaf99 100644 --- a/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": O, + "element": "O", "index": 0, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 10.3924, "y": 0.0 }, { "type": "atom", - "element": N, + "element": "N", "index": 2, "x": 1.7321, "y": 1.0 }, { "type": "atom", - "element": N, + "element": "N", "index": 3, "x": 8.6603, "y": 1.0 @@ -124,13 +124,13 @@ "type": "bond", "a": 0, "b": 17, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 1, "b": 18, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -142,7 +142,7 @@ "type": "bond", "a": 2, "b": 17, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -154,7 +154,7 @@ "type": "bond", "a": 3, "b": 18, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", @@ -170,8 +170,8 @@ }, { "type": "bond", - "a": 5, - "b": 7, + "a": 7, + "b": 5, "bond_type": "double" }, { @@ -224,8 +224,8 @@ }, { "type": "bond", - "a": 12, - "b": 16, + "a": 16, + "b": 12, "bond_type": "double" }, { diff --git a/kubejs/assets/tfg/molecules/sodium_borohydride.json b/kubejs/assets/tfg/molecules/sodium_borohydride.json index 5a34bb131..aefc8ddc4 100644 --- a/kubejs/assets/tfg/molecules/sodium_borohydride.json +++ b/kubejs/assets/tfg/molecules/sodium_borohydride.json @@ -12,28 +12,28 @@ }, { "type": "atom", - "element": H, + "element": "H", "index": 1, "x": 0.8249, "y": 0.0 }, { "type": "atom", - "element": H, + "element": "H", "index": 2, "x": 0.0, "y": -0.8249 }, { "type": "atom", - "element": H, + "element": "H", "index": 3, "x": -0.8250000000000001, "y": 0.0 }, { "type": "atom", - "element": H, + "element": "H", "index": 4, "x": 0.0, "y": 0.8250000000000001 diff --git a/kubejs/assets/tfg/molecules/sodium_tungstate.json b/kubejs/assets/tfg/molecules/sodium_tungstate.json index 7d13c4ddf..882e8a3b4 100644 --- a/kubejs/assets/tfg/molecules/sodium_tungstate.json +++ b/kubejs/assets/tfg/molecules/sodium_tungstate.json @@ -2,21 +2,21 @@ "contents": [ { "type": "atom", - "element": W, + "element": "W", "index": 0, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 0.0, "y": -0.825 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 0.0, "y": 0.825 @@ -65,13 +65,13 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 2, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", diff --git a/kubejs/assets/tfg/molecules/tetrafluoroethane.json b/kubejs/assets/tfg/molecules/tetrafluoroethane.json index 7b57deb3c..0a92c4057 100644 --- a/kubejs/assets/tfg/molecules/tetrafluoroethane.json +++ b/kubejs/assets/tfg/molecules/tetrafluoroethane.json @@ -14,28 +14,28 @@ }, { "type": "atom", - "element": F, + "element": "F", "index": 2, "x": 0.7341, "y": 1.3559 }, { "type": "atom", - "element": F, + "element": "F", "index": 3, "x": 0.7341, "y": -0.0730 }, { "type": "atom", - "element": F, + "element": "F", "index": 4, "x": -0.9158, "y": -0.0730 }, { "type": "atom", - "element": F, + "element": "F", "index": 5, "x": -0.9158, "y": 1.3559 diff --git a/kubejs/assets/tfg/molecules/tmos.json b/kubejs/assets/tfg/molecules/tmos.json index cc2b37415..11f94d465 100644 --- a/kubejs/assets/tfg/molecules/tmos.json +++ b/kubejs/assets/tfg/molecules/tmos.json @@ -2,35 +2,35 @@ "contents": [ { "type": "atom", - "element": Si, + "element": "Si", "index": 0, "x": -0.1504, "y": -0.7464 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 0.4625, "y": -1.2984 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": -0.7635, "y": -0.1943 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": -0.7025, "y": -1.3595 }, { "type": "atom", - "element": O, + "element": "O", "index": 4, "x": 0.4015, "y": -0.1333 diff --git a/kubejs/assets/tfg/molecules/trimethyl_borate.json b/kubejs/assets/tfg/molecules/trimethyl_borate.json index 23f8cfc3f..3f36766a5 100644 --- a/kubejs/assets/tfg/molecules/trimethyl_borate.json +++ b/kubejs/assets/tfg/molecules/trimethyl_borate.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": B, + "element": "B", "index": 0, "x": -0.6874, "y": 0.9488 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": -0.6874, "y": 1.7738 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 0.0270, "y": 0.5363 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": -1.4019, "y": 0.5363 diff --git a/kubejs/assets/tfg/molecules/tungsten_oxide.json b/kubejs/assets/tfg/molecules/tungsten_oxide.json index 8901ddefd..ca6a445d1 100644 --- a/kubejs/assets/tfg/molecules/tungsten_oxide.json +++ b/kubejs/assets/tfg/molecules/tungsten_oxide.json @@ -2,28 +2,28 @@ "contents": [ { "type": "atom", - "element": W, + "element": "W", "index": 0, "x": 0.866, "y": -0.5 }, { "type": "atom", - "element": O, + "element": "O", "index": 1, "x": 0.866, "y": -1.5 }, { "type": "atom", - "element": O, + "element": "O", "index": 2, "x": 0.0, "y": 0.0 }, { "type": "atom", - "element": O, + "element": "O", "index": 3, "x": 1.732, "y": 0.0 @@ -32,19 +32,19 @@ "type": "bond", "a": 0, "b": 1, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 2, - "bond_type": "double" + "bond_type": "double_centered" }, { "type": "bond", "a": 0, "b": 3, - "bond_type": "double" + "bond_type": "double_centered" } ] } \ No newline at end of file From 15085607cbf824b48d7831c62085d8f64028856a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 5 Nov 2025 22:56:12 +0000 Subject: [PATCH 020/628] fixes #2091 Related Work Items: #20 --- kubejs/server_scripts/tfg/recipes.miscellaneous.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index e3f4b1226..2d3ec7645 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -1164,7 +1164,7 @@ function registerTFGMiscellaneousRecipes(event) { event.shaped(Item.of('tfg:universal_compost_greens', 1), [ 'AB' ], { - A: Ingredient.of(['#tfc:compost_greens_low']).subtract(['tfg:universal_compost_greens']), + A: '#tfc:compost_greens_low', B: '#forge:tools/mortars' }).id('tfg:shaped/universal_compost_greens_from_low') @@ -1231,15 +1231,17 @@ function registerTFGMiscellaneousRecipes(event) { //Browns // Lows via crafting with mortar event.shaped(Item.of('tfg:universal_compost_browns', 1), [ - 'BA' + 'A', + 'B' ], { - A: Ingredient.of(['#tfc:compost_browns_low']).subtract(['tfg:universal_compost_browns']), + A: '#tfc:compost_browns_low', B: '#forge:tools/mortars' }).id('tfg:shaped/universal_compost_browns_from_low') // Mediums via crafting with mortar event.shaped(Item.of('tfg:universal_compost_browns', 2), [ - 'BA' + 'A', + 'B' ], { A: '#tfc:compost_browns', B: '#forge:tools/mortars' @@ -1247,7 +1249,8 @@ function registerTFGMiscellaneousRecipes(event) { // Highs via crafting with mortar event.shaped(Item.of('tfg:universal_compost_browns', 4), [ - 'BA' + 'A', + 'B' ], { A: '#tfc:compost_browns_high', B: '#forge:tools/mortars' From ca23237e96e39f856bb7dd06cdfb56c66aa332d4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 5 Nov 2025 22:57:23 +0000 Subject: [PATCH 021/628] fixed the tag for cleanroom doors --- kubejs/server_scripts/gregtech/tags.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 2ffd86490..ac1ab69ac 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -80,6 +80,28 @@ function registerGTCEUBlockTags(event) { event.add("tfc:can_trigger_collapse", "#forge:raw_ore_blocks"); event.add("c:hidden_from_recipe_viewers", "#forge:raw_ore_blocks"); + event.remove("gtceu:cleanroom_doors", "#minecraft:wooden_doors"); + event.add("gtceu:cleanroom_doors", "firmalife:sealed_door"); + event.add("gtceu:cleanroom_doors", "firmalife:iron_greenhouse_door"); + event.add("gtceu:cleanroom_doors", "firmalife:copper_greenhouse_door"); + event.add("gtceu:cleanroom_doors", "firmalife:stainless_steel_greenhouse_door"); + event.add("gtceu:cleanroom_doors", "create:andesite_door"); + event.add("gtceu:cleanroom_doors", "create:brass_door"); + event.add("gtceu:cleanroom_doors", "create:copper_door"); + event.add("gtceu:cleanroom_doors", "create:train_door"); + event.add("gtceu:cleanroom_doors", "create:framed_glass_door"); + event.add("gtceu:cleanroom_doors", "createdeco:andesite_door"); + event.add("gtceu:cleanroom_doors", "createdeco:locked_andesite_door"); + event.add("gtceu:cleanroom_doors", "createdeco:brass_door"); + event.add("gtceu:cleanroom_doors", "createdeco:locked_brass_door"); + event.add("gtceu:cleanroom_doors", "createdeco:copper_door"); + event.add("gtceu:cleanroom_doors", "createdeco:locked_copper_door"); + event.add("gtceu:cleanroom_doors", "createdeco:industrial_iron_door"); + event.add("gtceu:cleanroom_doors", "createdeco:locked_industrial_iron_door"); + event.add("gtceu:cleanroom_doors", "createdeco:zinc_door"); + event.add("gtceu:cleanroom_doors", "createdeco:locked_zinc_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:steel_door"); + // Let GT indicators be covered by snow forEachMaterial((material) => { if (material.hasProperty(PropertyKey.ORE)) { From dd537ea062b3811e2da317b101d993929824e50f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 5 Nov 2025 23:01:21 +0000 Subject: [PATCH 022/628] fixes #2159 --- kubejs/server_scripts/tfg/recipes.rocks.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 40450204d..10388c2ce 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -1170,6 +1170,7 @@ function registerTFGRockRecipes(event) { { block: 'ad_astra:glacio_stone', dimension: 'ad_astra:moon' }, { block: 'ad_astra:glacio_cobblestone', dimension: 'ad_astra:moon' }, { block: 'create:asurine', dimension: 'ad_astra:moon' }, + { block: 'ae2:sky_stone_block', dimension: 'ad_astra:moon' }, { block: 'ad_astra:mars_stone', dimension: 'ad_astra:mars' }, { block: 'ad_astra:mars_cobblestone', dimension: 'ad_astra:mars' }, { block: 'ad_astra:venus_stone', dimension: 'ad_astra:mars' }, @@ -1182,7 +1183,7 @@ function registerTFGRockRecipes(event) { { block: 'ad_astra:mercury_stone', dimension: 'ad_astra:mercury' }, { block: 'ad_astra:mercury_cobblestone', dimension: 'ad_astra:mercury' }, { block: 'create:crimsite', dimension: 'ad_astra:mercury' }, - { block: 'create:scorchia', dimension: 'ad_astra:mercury' }, + { block: 'create:scorchia', dimension: null }, { block: 'ad_astra:permafrost', dimension: 'ad_astra:glacio' }, { block: 'tfg:rock/cobble_permafrost', dimension: 'ad_astra:glacio' }, { block: 'create:veridium', dimension: 'ad_astra:glacio' }, From 28e9c59f8583f02bb957f01254348bfa20f7b5da Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 5 Nov 2025 23:24:50 +0000 Subject: [PATCH 023/628] fix #2169 --- kubejs/server_scripts/tfc/recipes.dirt.js | 24 ++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfc/recipes.dirt.js b/kubejs/server_scripts/tfc/recipes.dirt.js index cda85a26b..89f2ba194 100644 --- a/kubejs/server_scripts/tfc/recipes.dirt.js +++ b/kubejs/server_scripts/tfc/recipes.dirt.js @@ -6,7 +6,7 @@ function registerTFCDirtRecipes(event) { // Loam + Silt -> Silty Loam (Миксер) event.recipes.gtceu.mixer('silty_loam_dirt') .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') - .itemOutputs('tfc:dirt/silty_loam') + .itemOutputs('2x tfc:dirt/silty_loam') .duration(200) .EUt(16) @@ -18,6 +18,14 @@ function registerTFCDirtRecipes(event) { .duration(200) .EUt(16) + // Loam + Salt -> Silt + event.recipes.gtceu.mixer('silty_dirt') + .itemInputs('tfc:dirt/loam', 'tfc:powder/salt') + .circuit(3) + .itemOutputs('tfc:dirt/silt') + .duration(200) + .EUt(16) + // Dirt + Sticks -> Rooted Dirt global.TFC_MUD_TYPES.forEach(mud => { event.recipes.gtceu.mixer(`${mud}_to_rooted`) @@ -52,6 +60,20 @@ function registerTFCDirtRecipes(event) { }).id(`tfg:ae_transform/${mud}_to_mud`) // Mud bricks + event.recipes.gtceu.extruder(`tfc:mud_bricks/${mud}`) + .itemInputs(`tfc:mud/${mud}`) + .notConsumable('gtceu:ingot_extruder_mold') + .itemOutputs(`4x tfc:drying_bricks/${mud}`) + .duration(100) + .EUt(2) + + event.custom({ + type: 'vintageimprovements:curving', + ingredients: [{ item: `tfc:mud/${mud}` }], + itemAsHead: 'gtceu:ingot_extruder_mold', + results: [{ item: `tfc:drying_bricks/${mud}`, count: 4 }], + processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/curving/${mud}_bricks`) // Влажный кирпич -> Кирпич event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) From 693311ce5972d018e1255f5a1f505d632583e9cc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 5 Nov 2025 23:32:02 +0000 Subject: [PATCH 024/628] vanilla stone bricks from stone "ingots" unification, some rearranging --- .../gregtech/recipes.removes.js | 25 +++++++++++++++++ kubejs/server_scripts/tfg/recipes.rocks.js | 27 +++---------------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 7102218b7..807c26883 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -423,6 +423,8 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:shaped/nether_bricks_wall_saw' }) removeMaceratorRecipe(event, 'macerate_nether_brick_stairs') removeMaceratorRecipe(event, 'macerate_nether_brick_slab') + removeMaceratorRecipe(event, 'macerate_nether_bricks') + removeMaceratorRecipe(event, 'macerate_chiseled_nether_bricks') //#endregion @@ -539,9 +541,32 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:shaped/purpur_polished_hammer' }) event.remove({ id: 'gtceu:shaped/red_sandstone_polished_hammer' }) event.remove({ id: 'gtceu:shaped/nether_bricks_polished_hammer' }) + event.remove({ id: 'gtceu:shaped/stone_polish_hammer' }) + event.remove({ id: 'gtceu:assembler/assemble_stone_into_polished' }) + event.remove({ id: 'gtceu:forming_press/form_stone_brick_slab_into_pillar' }) event.remove({ id: 'gtceu:shaped_fluid_container/brick_from_water' }) + event.remove({ id: 'gtceu:shaped/stone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/stone_slab_saw' }) + + event.remove({ id: 'gtceu:shaped/cobblestone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/cobblestone_slab_wall' }) + + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_wall' }) + + event.remove({ id: 'gtceu:shaped/red_sandstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_wall_saw' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_polish_hammer' }) + + event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_slab_saw' }) + + event.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) + // Gears event.remove({ id: 'gtceu:extruder/extrude_wood_ingot_to_small_gear' }) event.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_wood_ingot_to_small_gear' }) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 10388c2ce..c69181515 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -6,29 +6,6 @@ */ function registerTFGRockRecipes(event) { - // #region REMOVES - event.remove({ id: 'gtceu:shaped/stone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/stone_slab_saw' }) - - event.remove({ id: 'gtceu:shaped/cobblestone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) - event.remove({ id: 'gtceu:shaped/cobblestone_slab_wall' }) - - event.remove({ id: 'gtceu:shaped/mossy_cobblestone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) - event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_wall' }) - - event.remove({ id: 'gtceu:shaped/red_sandstone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/red_sandstone_wall_saw' }) - event.remove({ id: 'gtceu:shaped/red_sandstone_polish_hammer' }) - - event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_stair_saw' }) - event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_slab_saw' }) - - event.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) - - removeMaceratorRecipe(event, 'macerate_nether_bricks') - removeMaceratorRecipe(event, 'macerate_chiseled_nether_bricks') // #region GLUEING_TOGETHER // loose rocks to cobble, bricks to brick blocks @@ -67,7 +44,9 @@ function registerTFGRockRecipes(event) { { loose: 'tfg:loose/permafrost', block: 'tfg:rock/cobble_permafrost' }, { loose: 'tfg:brick/permafrost', block: '4x ad_astra:permafrost_bricks' }, - { loose: 'minecraft:popped_chorus_fruit', block: '4x minecraft:purpur_block' } + { loose: 'minecraft:popped_chorus_fruit', block: '4x minecraft:purpur_block' }, + + { loose: 'gtceu:stone_ingot', block: '4x minecraft:stone_bricks' } ] GLUEING_TOGETHER.forEach(x => { From 4d12585cb22b3edf490ff7b45e0a99517ef31a39 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 5 Nov 2025 23:42:17 +0000 Subject: [PATCH 025/628] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cb917763..ee2e662e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,9 +8,13 @@ - Added more field guide links to the stone age quest chapter (#2147) @FlightingFalcon - Added an AE2-linked TACZ ammo box @BlueBoat29 - Buffed hiking boots durability by 250%, also changed horseshoe durability and stats to match @Pyritie +- Added more automatable mud brick recipes, ensured all dirt types are renewable (#2169) @Pyritie +- Added a sky stone block recipe to the rock breaker (#2159) @Pyritie +- Improved the tag for cleanroom doors @Pyritie ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie +- Fixed not being able to make brown universal compost with a mortar if the item is both green and brown (#2091) @Pyritie ### Translation updates - Brazilian Portuguese @Redeix - Chinese (simplified) @jmecn From e9f775791d0570c5e7d6caeca6ecb1f7d5a60c25 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 7 Nov 2025 00:30:47 +0000 Subject: [PATCH 026/628] fixed soup for realsies --- CHANGELOG.md | 2 + kubejs/server_scripts/tfg/recipes.food.js | 46 +++++++++++-------- .../tfc/item_stack_modifiers.js | 10 ++++ 3 files changed, 39 insertions(+), 19 deletions(-) create mode 100644 kubejs/startup_scripts/tfc/item_stack_modifiers.js diff --git a/CHANGELOG.md b/CHANGELOG.md index ee2e662e5..6b2b86eba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,10 +11,12 @@ - Added more automatable mud brick recipes, ensured all dirt types are renewable (#2169) @Pyritie - Added a sky stone block recipe to the rock breaker (#2159) @Pyritie - Improved the tag for cleanroom doors @Pyritie +- The food oven and refrigerator now emit heat (for TFC ambiental) @Pyritie ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie - Fixed not being able to make brown universal compost with a mortar if the item is both green and brown (#2091) @Pyritie +- Fixed soup made in the food processor not returning bowls when eaten (#2053) @Pyritie ### Translation updates - Brazilian Portuguese @Redeix - Chinese (simplified) @jmecn diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 06df16aa9..260dab4a9 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -756,7 +756,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ['tfc:powder/salt', '#tfc:foods/flour'], fluidInputs: ['#tfg:clean_water 1000'], itemOutputs: ['4x firmalife:food/hardtack_dough'], - itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyOldestFood() + itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyFood() }) processorRecipe("yeast_starter", 1200, 8, { @@ -782,13 +782,13 @@ function registerTFGFoodRecipes(event) { processorRecipe("red_grapes", 50, 8, { itemInputs: ["firmalife:food/red_grapes"], itemOutputs: ["firmalife:food/smashed_red_grapes"], - itemOutputProvider: TFC.isp.of('firmalife:food/smashed_red_grapes').copyOldestFood() + itemOutputProvider: TFC.isp.of('firmalife:food/smashed_red_grapes').copyFood() }) processorRecipe("white_grapes", 50, 8, { itemInputs: ["firmalife:food/white_grapes"], itemOutputs: ["firmalife:food/smashed_white_grapes"], - itemOutputProvider: TFC.isp.of('firmalife:food/smashed_white_grapes').copyOldestFood() + itemOutputProvider: TFC.isp.of('firmalife:food/smashed_white_grapes').copyFood() }) processorRecipe("cured_maize", 300, 8, { @@ -796,7 +796,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ["tfc:food/maize_grain"], inputFluids: [Fluid.of('tfc:limewater', 100)], itemOutputs: ["firmalife:food/cured_maize"], - itemOutputProvider: TFC.isp.of('firmalife:food/cured_maize').copyOldestFood() + itemOutputProvider: TFC.isp.of('firmalife:food/cured_maize').copyFood() }) processorRecipe("soy_mixture", 300, 8, { @@ -804,7 +804,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ["tfc:food/soybean", 'tfc:powder/salt'], fluidInputs: ['#tfg:clean_water 50'], itemOutputs: ["firmalife:food/soy_mixture"], - itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyOldestFood() + itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyFood() }) processorRecipe("brown_mushroom", 100, 8, { @@ -825,35 +825,35 @@ function registerTFGFoodRecipes(event) { circuit: 30, itemInputs: ["tfc:pumpkin"], itemOutputs: ["4x tfc:food/pumpkin_chunks"], - itemOutputProvider: TFC.isp.of("4x tfc:food/pumpkin_chunks").copyOldestFood() + itemOutputProvider: TFC.isp.of("4x tfc:food/pumpkin_chunks").copyFood() }) processorRecipe("cut_melon", 100, 8, { circuit: 30, itemInputs: ["tfc:melon"], itemOutputs: ["4x tfc:food/melon_slice"], - itemOutputProvider: TFC.isp.of("4x tfc:food/melon_slice").copyOldestFood() + itemOutputProvider: TFC.isp.of("4x tfc:food/melon_slice").copyFood() }) processorRecipe("salsa", 300, 8, { circuit: 1, itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'firmalife:plant/cilantro'], itemOutputs: ['5x firmalife:food/salsa'], - itemOutputProvider: TFC.isp.of('5x firmalife:food/salsa').copyOldestFood() + itemOutputProvider: TFC.isp.of('5x firmalife:food/salsa').copyFood() }) processorRecipe("bacon", 300, 8, { circuit: 1, - itemInputs: [/*TFC.ingredient.hasTrait(*/'tfc:food/pork'/*, 'firmalife:smoked')*/, 'tfc:powder/salt'], + itemInputs: ['tfc:food/pork', 'tfc:powder/salt'], itemOutputs: ['4x firmalife:food/bacon'], - itemOutputProvider: TFC.isp.of('4x firmalife:food/bacon').copyOldestFood() + itemOutputProvider: TFC.isp.of('4x firmalife:food/bacon').copyFood() }) processorRecipe("picked_egg", 1000, 8, { circuit: 1, itemInputs: ['minecraft:clay_ball', 'tfc:powder/wood_ash', 'tfc:powder/salt', 'tfc:food/boiled_egg'], itemOutputs: ['firmalife:food/pickled_egg'], - itemOutputProvider: TFC.isp.of('firmalife:food/pickled_egg').copyOldestFood() + itemOutputProvider: TFC.isp.of('firmalife:food/pickled_egg').copyFood() }) processorRecipe("garlic_bread", 300, 8, { @@ -933,7 +933,7 @@ function registerTFGFoodRecipes(event) { ], fluidInputs: [Fluid.of('minecraft:water', 100)], itemOutputs: ['3x tfc:food/grain_soup'], - itemOutputProvider: TFC.isp.of('3x tfc:food/grain_soup').meal( + itemOutputProvider: TFC.isp.of('3x tfc:food/grain_soup').simpleModifier('tfg:add_bowl').meal( (food) => food.hunger(5).water(1).saturation(1).decayModifier(4.5), [ (portion) => portion @@ -954,7 +954,7 @@ function registerTFGFoodRecipes(event) { ], fluidInputs: [Fluid.of('minecraft:water', 100)], itemOutputs: ['3x tfc:food/fruit_soup'], - itemOutputProvider: TFC.isp.of('3x tfc:food/fruit_soup').meal( + itemOutputProvider: TFC.isp.of('3x tfc:food/fruit_soup').simpleModifier('tfg:add_bowl').meal( (food) => food.hunger(5).water(1).saturation(1).decayModifier(4.5), [ (portion) => portion @@ -975,7 +975,7 @@ function registerTFGFoodRecipes(event) { ], fluidInputs: [Fluid.of('minecraft:water', 100)], itemOutputs: ['3x tfc:food/vegetables_soup'], - itemOutputProvider: TFC.isp.of('3x tfc:food/vegetables_soup').meal( + itemOutputProvider: TFC.isp.of('3x tfc:food/vegetables_soup').simpleModifier('tfg:add_bowl').meal( (food) => food.hunger(5).water(1).saturation(1).decayModifier(4.5), [ (portion) => portion @@ -996,7 +996,7 @@ function registerTFGFoodRecipes(event) { ], fluidInputs: [Fluid.of('minecraft:water', 100)], itemOutputs: ['3x tfc:food/protein_soup'], - itemOutputProvider: TFC.isp.of('3x tfc:food/protein_soup').meal( + itemOutputProvider: TFC.isp.of('3x tfc:food/protein_soup').simpleModifier('tfg:add_bowl').meal( (food) => food.hunger(5).water(1).saturation(1).decayModifier(4.5), [ (portion) => portion @@ -1017,7 +1017,7 @@ function registerTFGFoodRecipes(event) { ], fluidInputs: [Fluid.of('minecraft:water', 100)], itemOutputs: ['3x tfc:food/dairy_soup'], - itemOutputProvider: TFC.isp.of('3x tfc:food/dairy_soup').meal( + itemOutputProvider: TFC.isp.of('3x tfc:food/dairy_soup').simpleModifier('tfg:add_bowl').meal( (food) => food.hunger(5).water(1).saturation(1).decayModifier(4.5), [ (portion) => portion @@ -1085,11 +1085,19 @@ function registerTFGFoodRecipes(event) { event.recipes.tfc.quern('gtceu:cocoa_dust', 'firmalife:food/roasted_cocoa_beans') .id('tfg:quern/cocoa_dust'); - event.recipes.tfc.pot(['#tfc:bowls', 'firmalife:ice_shavings', 'firmalife:ice_shavings', 'firmalife:ice_shavings', 'firmalife:ice_shavings'], + // These don't seem to work with the set_bowl ISP modifier + event.recipes.tfc.pot(['#tfc:bowls', 'firmalife:ice_shavings', 'firmalife:ice_shavings', 'firmalife:ice_shavings', 'firmalife:ice_shavings'], Fluid.of('minecraft:water', 1000), 20, 10) - .itemOutput('tfg:food/ice_soup') + .itemOutput(TFC.isp.of('tfg:food/ice_soup')) .id('tfg:pot/ice_soup') + event.recipes.gtceu.food_processor('ice_soup') + .itemInputs('#tfc:bowls', '4x firmalife:ice_shavings') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('tfg:food/ice_soup') + .duration(60) + .EUt(16) + event.shaped('4x tfc:powder/salt', ['A', 'B'], {A: '#forge:dusts/salt', B: '#forge:tools/mortars'}) .id(`tfg:mortar/salt`) @@ -1200,7 +1208,7 @@ function registerTFGFoodRecipes(event) { circuit: 30, itemInputs: ["betterend:cave_pumpkin"], itemOutputs: ["4x betterend:cave_pumpkin_chunks"], - itemOutputProvider: TFC.isp.of("4x betterend:cave_pumpkin_chunks").copyOldestFood() + itemOutputProvider: TFC.isp.of("4x betterend:cave_pumpkin_chunks").copyFood() }) processorRecipe("cave_pumpkin_pie_dough", 300, GTValues.VA[GTValues.HV], { diff --git a/kubejs/startup_scripts/tfc/item_stack_modifiers.js b/kubejs/startup_scripts/tfc/item_stack_modifiers.js new file mode 100644 index 000000000..8dfb811fe --- /dev/null +++ b/kubejs/startup_scripts/tfc/item_stack_modifiers.js @@ -0,0 +1,10 @@ +// priority: 0 +"use strict"; + +TFCEvents.registerItemStackModifier(event => { + + event.withInput('tfg:add_bowl', (output, input) => { + TFC.misc.getFood(output).setBowl(input) + return output; + }); +}) \ No newline at end of file From 88835d932f5fddae614139a55c53eb6afab9cc93 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 7 Nov 2025 00:32:07 +0000 Subject: [PATCH 027/628] big langs --- CHANGELOG.md | 1 + kubejs/assets/ad_astra/lang/ja_jp.json | 168 + kubejs/assets/ad_astra/lang/ru_ru.json | 88 +- kubejs/assets/ae2/lang/ru_ru.json | 6 + kubejs/assets/beneath/lang/ru_ru.json | 255 +- kubejs/assets/beneath/lang/uk_ua.json | 286 +- kubejs/assets/betterend/lang/ru_ru.json | 30 +- kubejs/assets/create/lang/ru_ru.json | 49 +- kubejs/assets/createdeco/lang/ru_ru.json | 4 +- .../assets/createhorsepower/lang/ru_ru.json | 12 +- kubejs/assets/deafission/lang/zh_cn.json | 50 + kubejs/assets/diggerhelmet/lang/ru_ru.json | 14 +- .../assets/endermanoverhaul/lang/ru_ru.json | 3 +- kubejs/assets/firmaciv/lang/ru_ru.json | 220 +- kubejs/assets/firmalife/lang/ru_ru.json | 13 +- kubejs/assets/ftbbackups/lang/uk_ua.json | 8 + kubejs/assets/ftbchunks/lang/uk_ua.json | 337 ++ kubejs/assets/ftbessentials/lang/uk_ua.json | 97 + kubejs/assets/ftbfiltersystem/lang/uk_ua.json | 68 + kubejs/assets/ftblibrary/lang/uk_ua.json | 114 + kubejs/assets/ftbquests/lang/uk_ua.json | 633 +++ kubejs/assets/ftbteams/lang/uk_ua.json | 103 +- kubejs/assets/greate/lang/ru_ru.json | 16 +- kubejs/assets/gtceu/lang/ja_jp.json | 118 +- kubejs/assets/gtceu/lang/ru_ru.json | 187 +- kubejs/assets/gtceu/lang/uk_ua.json | 2 + .../assets/immersive_aircraft/lang/ru_ru.json | 1 + .../assets/immersive_aircraft/lang/uk_ua.json | 1 + kubejs/assets/minecraft/lang/en_us.json | 1 + kubejs/assets/minecraft/lang/ja_jp.json | 4 +- kubejs/assets/minecraft/lang/ru_ru.json | 68 +- kubejs/assets/minecraft/lang/zh_cn.json | 1 + .../primitive_creatures/lang/ru_ru.json | 9 +- kubejs/assets/railways/lang/ru_ru.json | 147 +- kubejs/assets/sodiumextras/lang/uk_ua.json | 132 + .../sophisticatedbackpacks/lang/ru_ru.json | 10 +- kubejs/assets/species/lang/ru_ru.json | 5 + kubejs/assets/tacz/lang/ru_ru.json | 55 +- kubejs/assets/tacz/lang/uk_ua.json | 5 +- kubejs/assets/tfc/lang/ru_ru.json | 78 +- .../tfc_support_indicator/lang/zh_cn.json | 8 + kubejs/assets/tfc_textile/lang/ru_ru.json | 10 +- kubejs/assets/tfcambiental/lang/ru_ru.json | 17 +- kubejs/assets/tfcgroomer/lang/ru_ru.json | 8 +- kubejs/assets/tfg/lang/en_us.json | 14 +- kubejs/assets/tfg/lang/ja_jp.json | 1421 +++--- kubejs/assets/tfg/lang/ru_ru.json | 4177 +++++++++++++++-- kubejs/assets/tfg/lang/uk_ua.json | 382 +- kubejs/assets/tfg/lang/zh_cn.json | 323 +- .../vintageimprovements/lang/ru_ru.json | 12 +- .../assets/wan_ancient_beasts/lang/ru_ru.json | 7 + 51 files changed, 8167 insertions(+), 1611 deletions(-) create mode 100644 kubejs/assets/ad_astra/lang/ja_jp.json create mode 100644 kubejs/assets/ae2/lang/ru_ru.json create mode 100644 kubejs/assets/deafission/lang/zh_cn.json create mode 100644 kubejs/assets/ftbbackups/lang/uk_ua.json create mode 100644 kubejs/assets/ftbchunks/lang/uk_ua.json create mode 100644 kubejs/assets/ftbessentials/lang/uk_ua.json create mode 100644 kubejs/assets/ftbfiltersystem/lang/uk_ua.json create mode 100644 kubejs/assets/ftblibrary/lang/uk_ua.json create mode 100644 kubejs/assets/ftbquests/lang/uk_ua.json create mode 100644 kubejs/assets/sodiumextras/lang/uk_ua.json create mode 100644 kubejs/assets/species/lang/ru_ru.json create mode 100644 kubejs/assets/tfc_support_indicator/lang/zh_cn.json create mode 100644 kubejs/assets/wan_ancient_beasts/lang/ru_ru.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b2b86eba..e1d3c3a8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - Fixed not being able to make brown universal compost with a mortar if the item is both green and brown (#2091) @Pyritie - Fixed soup made in the food processor not returning bowls when eaten (#2053) @Pyritie ### Translation updates +- Russian @DI-GitH + @nineex - Brazilian Portuguese @Redeix - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/kubejs/assets/ad_astra/lang/ja_jp.json b/kubejs/assets/ad_astra/lang/ja_jp.json new file mode 100644 index 000000000..e4d64dfb1 --- /dev/null +++ b/kubejs/assets/ad_astra/lang/ja_jp.json @@ -0,0 +1,168 @@ +{ + "__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": "人工空気分配機", + "block.ad_astra.moon_sand": "月の砂", + "block.ad_astra.moon_stone": "斜長岩", + "block.ad_astra.moon_cobblestone": "斜長岩の丸石", + "block.ad_astra.moon_cobblestone_slab": "斜長岩の丸石のハーフブロック", + "block.ad_astra.moon_cobblestone_stairs": "斜長岩の丸石の階段", + "block.ad_astra.moon_pillar": "斜長岩の丸石のの柱", + "block.ad_astra.moon_stone_brick_slab": "斜長岩のレンガのハーフブロック", + "block.ad_astra.moon_stone_brick_stairs": "斜長岩のレンガの階段", + "block.ad_astra.moon_stone_brick_wall": "斜長岩のレンガの塀", + "block.ad_astra.moon_stone_bricks": "斜長岩のレンガ", + "block.ad_astra.moon_stone_slab": "斜長岩のハーフブロック", + "block.ad_astra.moon_stone_stairs": "斜長岩の階段", + "block.ad_astra.chiseled_moon_stone_bricks": "模様入りの斜長岩のレンガ", + "block.ad_astra.chiseled_moon_stone_slab": "模様入りの斜長岩のハーフブロック", + "block.ad_astra.chiseled_moon_stone_stairs": "模様入りの斜長岩の階段", + "block.ad_astra.cracked_moon_stone_bricks": "ひび割れた斜長岩のレンガ", + "block.ad_astra.polished_moon_stone": "磨かれた斜長岩", + "block.ad_astra.polished_moon_stone_slab": "磨かれた斜長岩のハーフブロック", + "block.ad_astra.polished_moon_stone_stairs": "磨かれた斜長岩の階段", + "block.ad_astra.sky_stone": "メテオライト", + "block.ad_astra.moon_deepslate": "ノーライト", + "block.ad_astra.cheese_block": "ムーンチーズブロック", + "block.ad_astra.moon_cheese_ore": "チーズ鉱石(斜長岩)", + "block.ad_astra.glacian_log": "Glacian Stem", + "block.ad_astra.stripped_glacian_log": "Stripped Glacian Stem", + "block.ad_astra.glacian_leaves": "Glacian Lamella", + "block.ad_astra.mars_sand": "粘土質岩の砂", + "block.ad_astra.mars_stone": "粘土質岩", + "block.ad_astra.mars_cobblestone": "粘土質岩の丸石", + "block.ad_astra.mars_cobblestone_slab": "粘土質岩の丸石のハーフブロック", + "block.ad_astra.mars_cobblestone_stairs": "粘土質岩の丸石の階段", + "block.ad_astra.mars_pillar": "粘土質岩の柱", + "block.ad_astra.mars_stone_brick_slab": "粘土質岩のレンガのハーフブロック", + "block.ad_astra.mars_stone_brick_stairs": "粘土質岩のレンガの階段", + "block.ad_astra.mars_stone_brick_wall": "粘土質岩のレンガの塀", + "block.ad_astra.mars_stone_bricks": "粘土質岩のレンガ", + "block.ad_astra.mars_stone_slab": "粘土質岩のハーフブロック", + "block.ad_astra.mars_stone_stairs": "粘土質岩の階段", + "block.ad_astra.chiseled_mars_stone_bricks": "模様入りの粘土質岩のレンガ", + "block.ad_astra.chiseled_mars_stone_slab": "模様入りの粘土質岩のハーフブロック", + "block.ad_astra.chiseled_mars_stone_stairs": "模様入りの粘土質岩の階段", + "block.ad_astra.cracked_mars_stone_bricks": "ひび割れた粘土質岩のレンガ", + "block.ad_astra.polished_mars_stone": "磨かれた粘土質岩", + "block.ad_astra.polished_mars_stone_slab": "磨かれた粘土質岩のハーフブロック", + "block.ad_astra.polished_mars_stone_stairs": "磨かれた粘土質岩の階段", + "block.ad_astra.conglomerate": "火星の礫岩", + "block.ad_astra.polished_conglomerate": "磨かれた火星の礫岩", + "block.ad_astra.venus_sand": "粗面岩の砂", + "block.ad_astra.venus_stone": "Raw 粗面岩", + "block.ad_astra.venus_cobblestone": "粗面岩の丸石", + "block.ad_astra.venus_cobblestone_slab": "粗面岩の丸石のハーフブロック", + "block.ad_astra.venus_cobblestone_stairs": "粗面岩の丸石の階段", + "block.ad_astra.venus_pillar": "粗面岩の柱", + "block.ad_astra.venus_stone_brick_slab": "粗面岩のレンガのハーフブロック", + "block.ad_astra.venus_stone_brick_stairs": "粗面岩のレンガの階段", + "block.ad_astra.venus_stone_brick_wall": "粗面岩のレンガの塀", + "block.ad_astra.venus_stone_bricks": "粗面岩のレンガ", + "block.ad_astra.venus_stone_slab": "粗面岩のハーフブロック", + "block.ad_astra.venus_stone_stairs": "粗面岩の階段", + "block.ad_astra.chiseled_venus_stone_bricks": "模様入りの粗面岩のレンガ", + "block.ad_astra.chiseled_venus_stone_slab": "模様入りの粗面岩のハーフブロック", + "block.ad_astra.chiseled_venus_stone_stairs": "模様入りの粗面岩の階段", + "block.ad_astra.cracked_venus_stone_bricks": "ひび割れた粗面岩のレンガ", + "block.ad_astra.polished_venus_stone": "磨かれた粗面岩", + "block.ad_astra.polished_venus_stone_slab": "磨かれた粗面岩のハーフブロック", + "block.ad_astra.polished_venus_stone_stairs": "磨かれた粗面岩の階段", + "block.ad_astra.venus_sandstone": "粗面岩の砂岩", + "block.ad_astra.venus_sandstone_bricks": "粗面岩の砂岩のレンガ", + "block.ad_astra.venus_sandstone_brick_slab": "粗面岩の砂岩のレンガのハーフブロック", + "block.ad_astra.venus_sandstone_brick_stairs": "粗面岩の砂岩のレンガの階段", + "block.ad_astra.cracked_venus_sandstone_bricks": "ひび割れた粗面岩の砂岩のレンガ", + "block.ad_astra.mercury_stone": "コマチアイト", + "block.ad_astra.mercury_cobblestone": "コマチアイトの丸石", + "block.ad_astra.mercury_cobblestone_slab": "コマチアイトの丸石のハーフブロック", + "block.ad_astra.mercury_cobblestone_stairs": "コマチアイトの丸石の階段", + "block.ad_astra.mercury_pillar": "コマチアイトの柱", + "block.ad_astra.mercury_stone_brick_slab": "コマチアイトのレンガのハーフブロック", + "block.ad_astra.mercury_stone_brick_stairs": "コマチアイトのレンガの階段", + "block.ad_astra.mercury_stone_brick_wall": "コマチアイトのレンガの塀", + "block.ad_astra.mercury_stone_bricks": "コマチアイトのレンガ", + "block.ad_astra.mercury_stone_slab": "コマチアイトのハーフブロック", + "block.ad_astra.mercury_stone_stairs": "コマチアイトの階段", + "block.ad_astra.chiseled_mercury_stone_bricks": "模様入りのコマチアイトのレンガ", + "block.ad_astra.chiseled_mercury_stone_slab": "模様入りのコマチアイトのハーフブロック", + "block.ad_astra.chiseled_mercury_stone_stairs": "模様入りのコマチアイトの階段", + "block.ad_astra.cracked_mercury_stone_bricks": "ひび割れたコマチアイトのレンガ", + "block.ad_astra.polished_mercury_stone": "磨かれたコマチアイト", + "block.ad_astra.polished_mercury_stone_slab": "磨かれたコマチアイトのハーフブロック", + "block.ad_astra.polished_mercury_stone_stairs": "磨かれたコマチアイトの階段", + "block.ad_astra.glacio_stone": "響岩", + "block.ad_astra.glacio_cobblestone": "響岩の丸石", + "block.ad_astra.glacio_cobblestone_slab": "響岩の丸石のハーフブロック", + "block.ad_astra.glacio_cobblestone_stairs": "響岩の丸石の階段", + "block.ad_astra.glacio_pillar": "響岩の柱", + "block.ad_astra.glacio_stone_brick_slab": "響岩のレンガのハーフブロック", + "block.ad_astra.glacio_stone_brick_stairs": "響岩のレンガの階段", + "block.ad_astra.glacio_stone_brick_wall": "響岩のレンガの塀", + "block.ad_astra.glacio_stone_bricks": "響岩のレンガ", + "block.ad_astra.glacio_stone_slab": "響岩のハーフブロック", + "block.ad_astra.glacio_stone_stairs": "響岩の階段", + "block.ad_astra.chiseled_glacio_stone_bricks": "模様入りの響岩のレンガ", + "block.ad_astra.chiseled_glacio_stone_slab": "模様入りの響岩のハーフブロック", + "block.ad_astra.chiseled_glacio_stone_stairs": "模様入りの響岩の階段", + "block.ad_astra.cracked_glacio_stone_bricks": "ひび割れた響岩のレンガ", + "block.ad_astra.polished_glacio_stone": "磨かれた響岩", + "block.ad_astra.polished_glacio_stone_slab": "磨かれた響岩のハーフブロック", + "block.ad_astra.polished_glacio_stone_stairs": "磨かれた響岩の階段", + "block.ad_astra.glacio_globe": "Europa Globe", + "entity.ad_astra.corrupted_lunarian": "月面ゾンビ", + "entity.ad_astra.martian_raptor": "スケルタルラプター", + "entity.ad_astra.tier_1_rocket": "R-Aluminosteel 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_rover": "探査車", + "fluid_type.ad_astra.oxygen": "人工空気", + "item.ad_astra.steel_cable": "基本型RFケーブル", + "item.ad_astra.desh_cable": "発展型RFケーブル", + "item.ad_astra.tier_1_rocket": "R-Aluminosteel Rocket", + "item.ad_astra.tier_2_rocket": "ASM 4914 Titanium Rocket", + "item.ad_astra.tier_3_rocket": "45-Ti Tungstensteel Rocket", + "item.ad_astra.oxygen_bucket": "人工空気入りバケツ", + "item.ad_astra.tier_1_rover": "探査車", + "item.ad_astra.photovoltaic_etrium_cell": "発展型太陽電池", + "item.ad_astra.photovoltaic_vesnium_cell": "エナジウムの太陽電池", + "item.ad_astra.ostrum_tank": "オストラムブースタータンク", + "item.ad_astra.steel_engine": "スチールロケットエンジン", + "item.ad_astra.desh_engine": "デッシュロケットエンジン", + "item.ad_astra.ostrum_engine": "オストラムロケットエンジン", + "item.ad_astra.netherite_space_helmet": "§bタングステンスチールの宇宙ヘルメット", + "item.ad_astra.netherite_space_suit": "§bタングステンスチールの宇宙服", + "item.ad_astra.netherite_space_pants": "§bタングステンスチールの宇宙ズボン", + "item.ad_astra.netherite_space_boots": "§bタングステンスチールの宇宙ブーツ", + "item.ad_astra.cheese": "ムーンチーズ", + "dimension.ad_astra.glacio": "Europa", + "dimension.ad_astra.glacio_orbit": "Europa Orbit", + "painting.ad_astra.glacio.title": "Europa", + "planet.ad_astra.glacio": "Europa", + "planet.ad_astra.glacio_orbit": "Europa Orbit", + "tagprefix.moon_stone": "%s鉱石(斜長岩)", + "tagprefix.moon_deepslate": "%s鉱石(ノーライト)", + "tagprefix.mars_stone": "%s鉱石(粘土質岩)", + "tagprefix.venus_stone": "%s鉱石(粗面岩)", + "tagprefix.mercury_stone": "%s鉱石(コマチアイト)", + "tagprefix.glacio_stone": "%s鉱石(響岩)", + "info.ad_astra.solar_panel": "Generates energy from the sun during the day. Note that the energy generated is dependent on the planet.", + "tooltip.ad_astra.energy": "%s FE / %s FE", + "tooltip.ad_astra.energy_generation_per_tick": "Generates %s FE per tick", + "tooltip.ad_astra.energy_in": "In: %s FE/t", + "tooltip.ad_astra.energy_out": "Out: %s FE/t", + "tooltip.ad_astra.energy_per_tick": "%s FE/t", + "tooltip.ad_astra.energy_transfer_tick": "Transfer: %s FE/t", + "tooltip.ad_astra.energy_use_per_tick": "Uses %s FE per tick", + "tooltip.ad_astra.max_energy_in": "Max In: %s FE/t", + "tooltip.ad_astra.max_energy_out": "Max Out: %s FE/t", + "tooltip.ad_astra.max_generation": "Max: %s FE/t", + "tooltip.ad_astra.max_fluid_in": "Max In: %s mB/t", + "tooltip.ad_astra.max_fluid_out": "Max Out: %s mB/t", + "tooltip.ad_astra.fluid": "%s mB / %s mB %s", + "tooltip.ad_astra.fluid_generation_per_iteration": "Generates %s mB per iteration", + "tooltip.ad_astra.fluid_in": "In: %s mB/t", + "tooltip.ad_astra.fluid_out": "Out: %s mB/t", + "tooltip.ad_astra.fluid_per_tick": "%s mB/t", + "tooltip.ad_astra.fluid_transfer_tick": "Transfer: %s mB/t", + "tooltip.ad_astra.fluid_use_per_iteration": "Uses %s mB per iteration" +} \ No newline at end of file diff --git a/kubejs/assets/ad_astra/lang/ru_ru.json b/kubejs/assets/ad_astra/lang/ru_ru.json index 3edae10ab..92efa0e61 100644 --- a/kubejs/assets/ad_astra/lang/ru_ru.json +++ b/kubejs/assets/ad_astra/lang/ru_ru.json @@ -24,6 +24,9 @@ "block.ad_astra.moon_deepslate": "Норит", "block.ad_astra.cheese_block": "Лунный сыр", "block.ad_astra.moon_cheese_ore": "Сыр (Анортозитовая руда)", + "block.ad_astra.glacian_log": "Стебель гласивника", + "block.ad_astra.stripped_glacian_log": "Обтёсанный стебель гласивника", + "block.ad_astra.glacian_leaves": "Ламелла гласивника", "block.ad_astra.mars_sand": "Аргиллитовый песок", "block.ad_astra.mars_stone": "Аргиллит", "block.ad_astra.mars_cobblestone": "Аргиллитовый булыжник", @@ -105,7 +108,9 @@ "block.ad_astra.polished_glacio_stone": "Гладкий фонолит", "block.ad_astra.polished_glacio_stone_slab": "Плита из гладкого фонолита", "block.ad_astra.polished_glacio_stone_stairs": "Ступеньки из гладкого фонолита", + "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", @@ -129,6 +134,67 @@ "item.ad_astra.netherite_space_pants": "§bКосмические штаны из вольфармовой стали", "item.ad_astra.netherite_space_boots": "§bКосмические ботинки из вольфармовой стали", "item.ad_astra.cheese": "Лунный сыр", + "dimension.ad_astra.glacio": "Европа", + "dimension.ad_astra.glacio_orbit": "Орбита Европы", + "painting.ad_astra.glacio.title": "Европа", + "planet.ad_astra.glacio": "Европа", + "planet.ad_astra.glacio_orbit": "Орбита Европы", + "block.ad_astra.calorite_block": "Калорит (Блок)", + "block.ad_astra.calorite_factory_block": "Калорит (Фабричный блок)", + "block.ad_astra.calorite_panel": "Калорит (Панель)", + "block.ad_astra.calorite_pillar": "Калорит (Колонна)", + "block.ad_astra.calorite_plateblock": "Калорит (Блок плит)", + "block.ad_astra.calorite_plating": "Калорит (Листовой блок)", + "block.ad_astra.glowing_calorite_pillar": "Калорит (Светящаяся колонна)", + "block.ad_astra.raw_calorite_block": "Калорит (Блок руды)", + "block.ad_astra.encased_calorite_block": "Калорит (Корпус)", + "item.ad_astra.calorite_ingot": "Калорит (Слиток)", + "item.ad_astra.calorite_nugget": "Калорит (Самородок)", + "item.ad_astra.calorite_plate": "Калорит (Пластина)", + "item.ad_astra.raw_calorite": "Сырье (Калорит)", + "block.ad_astra.desh_block": "Деш (Блок)", + "block.ad_astra.desh_factory_block": "Деш (Фабричный блок)", + "block.ad_astra.desh_panel": "Деш (Панель)", + "block.ad_astra.desh_pillar": "Деш (Колонна)", + "block.ad_astra.desh_plateblock": "Деш (Блок плит)", + "block.ad_astra.desh_plating": "Деш (Листовой блок)", + "block.ad_astra.glowing_desh_pillar": "Деш (Светящаяся колонна)", + "block.ad_astra.raw_desh_block": "Деш (Блок руды)", + "block.ad_astra.encased_desh_block": "Деш (Корпус)", + "item.ad_astra.desh_ingot": "Деш (Слиток)", + "item.ad_astra.desh_nugget": "Деш (Самородок)", + "item.ad_astra.desh_plate": "Деш (Пластина)", + "item.ad_astra.raw_desh": "Сырье (Деш)", + "block.ad_astra.etrium_block": "Этриум (Блок)", + "block.ad_astra.etrium_factory_block": "Этриум (Фабричный блок)", + "block.ad_astra.etrium_panel": "Этриум (Панель)", + "block.ad_astra.etrium_plateblock": "Этриум (Блок плит)", + "block.ad_astra.encased_etrium_block": "Этриум (Корпус)", + "item.ad_astra.etrium_ingot": "Этриум (Слиток)", + "item.ad_astra.etrium_nugget": "Этриум (Самородок)", + "item.ad_astra.etrium_plate": "Этриум (Пластина)", + "item.ad_astra.etrium_rod": "Этриум (Стержень)", + "block.ad_astra.ostrum_block": "Острум (Блок)", + "block.ad_astra.ostrum_factory_block": "Острум (Фабричный блок)", + "block.ad_astra.ostrum_panel": "Острум (Панель)", + "block.ad_astra.ostrum_pillar": "Острум (Колонна)", + "block.ad_astra.ostrum_plateblock": "Острум (Блок плит)", + "block.ad_astra.ostrum_plating": "Острум (Листовой блок)", + "block.ad_astra.glowing_ostrum_pillar": "Острум (Светящаяся колонна)", + "block.ad_astra.raw_ostrum_block": "Острум (Блок руды)", + "block.ad_astra.encased_ostrum_block": "Острум (Корпус)", + "item.ad_astra.ostrum_ingot": "Острум (Слиток)", + "item.ad_astra.ostrum_nugget": "Острум (Самородок)", + "item.ad_astra.ostrum_plate": "Острум (Пластина)", + "item.ad_astra.raw_ostrum": "Сырье (Острум)", + "block.ad_astra.steel_block": "Сталь (Блок)", + "block.ad_astra.steel_factory_block": "Сталь (Фабричный блок)", + "block.ad_astra.steel_panel": "Сталь (Панель)", + "block.ad_astra.steel_pillar": "Сталь (Колонна)", + "block.ad_astra.steel_plateblock": "Сталь (Блок плит)", + "block.ad_astra.steel_plating": "Сталь (Листовой блок)", + "block.ad_astra.glowing_steel_pillar": "Сталь (Светящаяся колонна)", + "block.ad_astra.encased_steel_block": "Сталь (Корпус)", "tagprefix.moon_stone": "Anorthosite %s Ore", "tagprefix.moon_deepslate": "Norite %s Ore", "tagprefix.mars_stone": "Argillite %s Ore", @@ -154,25 +220,5 @@ "tooltip.ad_astra.fluid_out": "Выход: %s mB/t", "tooltip.ad_astra.fluid_per_tick": "%s mB/t", "tooltip.ad_astra.fluid_transfer_tick": "Передаёт: %s mB/t", - "tooltip.ad_astra.fluid_use_per_iteration": "Использует %s mB за итерацию", - "block.ad_astra.calorite_block": "Калорит (Блок)", - "item.ad_astra.calorite_ingot": "Калорит (Слиток)", - "item.ad_astra.calorite_nugget": "Калорит (Самородок)", - "item.ad_astra.calorite_plate": "Калорит (Пластина)", - "item.ad_astra.raw_calorite": "Сырье (Калорит)", - "block.ad_astra.desh_block": "Деш (Блок)", - "item.ad_astra.desh_ingot": "Деш (Слиток)", - "item.ad_astra.desh_nugget": "Деш (Самородок)", - "item.ad_astra.desh_plate": "Деш (Пластина)", - "item.ad_astra.raw_desh": "Сырье (Деш)", - "block.ad_astra.etrium_block": "Этриум (Блок)", - "item.ad_astra.etrium_ingot": "Этриум (Слиток)", - "item.ad_astra.etrium_nugget": "Этриум (Самородок)", - "item.ad_astra.etrium_plate": "Этриум (Пластина)", - "item.ad_astra.etrium_rod": "Этриум (Стержень)", - "block.ad_astra.ostrum_block": "Острум (Блок)", - "item.ad_astra.ostrum_ingot": "Острум (Слиток)", - "item.ad_astra.ostrum_nugget": "Острум (Самородок)", - "item.ad_astra.ostrum_plate": "Острум (Пластина)", - "item.ad_astra.raw_ostrum": "Сырье (Острум)" + "tooltip.ad_astra.fluid_use_per_iteration": "Использует %s mB за итерацию" } \ No newline at end of file diff --git a/kubejs/assets/ae2/lang/ru_ru.json b/kubejs/assets/ae2/lang/ru_ru.json new file mode 100644 index 000000000..21c8b4547 --- /dev/null +++ b/kubejs/assets/ae2/lang/ru_ru.json @@ -0,0 +1,6 @@ +{ + "__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": "Crafting Presses are obtained by breaking a Mysterious Cube. Mysterious Cubes are in the center of meteorites which can be found on the moon.", + "gui.advanced_ae.AdvPatternProvider": "", + "gui.expandedae.exp_pattern_provider": "" +} \ No newline at end of file diff --git a/kubejs/assets/beneath/lang/ru_ru.json b/kubejs/assets/beneath/lang/ru_ru.json index f5fec52b4..3903bce65 100644 --- a/kubejs/assets/beneath/lang/ru_ru.json +++ b/kubejs/assets/beneath/lang/ru_ru.json @@ -9,51 +9,258 @@ "block.beneath.ore.blackstone_sylvite": "Сильвит (Пироксенитовая руда)", "block.beneath.crackrack": "Кератофир", "block.beneath.soul_clay": "Грязевая глина", + "block.beneath.wood.log.crimson": "Стебель багряного дерева", + "block.beneath.wood.stripped_log.crimson": "Обтёсанный стебель багряного дерева", + "block.beneath.wood.wood.crimson": "Багряная гифа", + "block.beneath.wood.stripped_wood.crimson": "Обтёсанная багряная гифа", + "block.beneath.wood.fallen_leaves.crimson": "Опавшая багряная ламелла", + "block.beneath.wood.leaves.crimson": "Багряная ламелла", + "block.beneath.wood.log.warped": "Стебель искажённого дерева", + "block.beneath.wood.stripped_log.warped": "Обтёсанный стебель искажённого дерева", + "block.beneath.wood.wood.warped": "Искажённая гифа", + "block.beneath.wood.stripped_wood.warped": "Обтёсанная искажённая гифа", + "block.beneath.wood.fallen_leaves.warped": "Опавшая искажённая ламелла", + "block.beneath.wood.leaves.warped": "Искажённая ламелла", + "block.beneath.ancient_altar": "Пироксенитовый пьедестал", + "block.beneath.wood.twig.crimson": "Веточка багряного дерева", + "block.beneath.wood.potted_sapling.crimson": "Саженец багряного дерева в горшке", + "block.beneath.wood.planks.crimson": "Багряные доски", + "block.beneath.wood.planks.crimson_tool_rack": "Стеллаж для инструментом из багряного дерева", + "block.beneath.wood.planks.crimson_loom": "Ткацкий станок из багряного дерева", + "block.beneath.wood.planks.crimson_bookshelf": "Книжная полка из багряного дерева", + "block.beneath.wood.planks.crimson_workbench": "Верстак из багряного дерева", + "block.beneath.wood.vertical_support.crimson": "Опора из багряного дерева", + "block.beneath.wood.horizontal_support.crimson": "Опора из багряного дерева", + "block.beneath.wood.chest.crimson": "Сундук из багряного дерева", + "block.beneath.wood.trapped_chest.crimson": "Сундук-ловушка из багряного дерева", + "block.beneath.wood.sluice.crimson": "Рудопромывочный жёлоб из багряного дерева", + "block.beneath.wood.planks.crimson_sign": "Табличка из багряного дерева", + "block.beneath.wood.planks.crimson_wall_sign": "Табличка из багряного дерева", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.crimson": "Подвесная табличка из багряного дерева и висмутовой бронзы", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.crimson": "Подвесная табличка из багряного дерева и висмутовой бронзы", + "block.beneath.wood.planks.hanging_sign.black_bronze.crimson": "Подвесная табличка из багряного дерева и чёрной бронзы", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.crimson": "Подвесная табличка из багряного дерева и чёрной бронзы", + "block.beneath.wood.planks.hanging_sign.bronze.crimson": "Подвесная табличка из багряного дерева и бронзы", + "block.beneath.wood.planks.wall_hanging_sign.bronze.crimson": "Подвесная табличка из багряного дерева и бронзы", + "block.beneath.wood.planks.hanging_sign.copper.crimson": "Подвесная табличка из багряного дерева и меди", + "block.beneath.wood.planks.wall_hanging_sign.copper.crimson": "Подвесная табличка из багряного дерева и меди", + "block.beneath.wood.planks.hanging_sign.wrought_iron.crimson": "Подвесная табличка из багряного дерева и кованого железа", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.crimson": "Подвесная табличка из багряного дерева и кованого железа", + "block.beneath.wood.planks.hanging_sign.steel.crimson": "Подвесная табличка из багряного дерева и стали", + "block.beneath.wood.planks.wall_hanging_sign.steel.crimson": "Подвесная табличка из багряного дерева и стали", + "block.beneath.wood.planks.hanging_sign.black_steel.crimson": "Подвесная табличка из багряного дерева и чёрной стали", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.crimson": "Подвесная табличка из багряного дерева и чёрной стали", + "block.beneath.wood.planks.hanging_sign.blue_steel.crimson": "Подвесная табличка из багряного дерева и синей стали", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.crimson": "Подвесная табличка из багряного дерева и синей стали", + "block.beneath.wood.planks.hanging_sign.red_steel.crimson": "Подвесная табличка из багряного дерева и красной стали", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.crimson": "Подвесная табличка из багряного дерева и красной стали", + "block.beneath.wood.barrel.crimson": "Бочка из багряного дерева", + "block.beneath.wood.lectern.crimson": "Кафедра из багряного дерева", + "block.beneath.wood.scribing_table.crimson": "Стол писаря из багряного дерева", + "block.beneath.wood.sewing_table.crimson": "Швейный стол из багряного дерева", + "block.beneath.wood.jar_shelf.crimson": "Полка для банок из багряного дерева", + "block.beneath.wood.axle.crimson": "Ось из багряного дерева", + "block.beneath.wood.bladed_axle.crimson": "Ось с лопастями из багряного дерева", + "block.beneath.wood.encased_axle.crimson": "Закрытая ось из багряного дерева", + "block.beneath.wood.clutch.crimson": "Сцепление из багряного дерева", + "block.beneath.wood.gear_box.crimson": "Коробка передач из багряного дерева", + "block.beneath.wood.windmill.crimson": "Ветряная мельница из багряного дерева", + "block.beneath.wood.water_wheel.crimson": "Водяное колесо из багряного дерева", + "block.beneath.wood.planks.crimson_door": "Дверь из багряного дерева", + "block.beneath.wood.planks.crimson_trapdoor": "Люк из багряного дерева", + "block.beneath.wood.planks.crimson_fence": "Забор из багряного дерева", + "block.beneath.wood.planks.crimson_log_fence": "Забор из брёвен багряного дерева", + "block.beneath.wood.planks.crimson_fence_gate": "Калитка из багряного дерева", + "block.beneath.wood.planks.crimson_button": "Кнопка из багряного дерева", + "block.beneath.wood.planks.crimson_pressure_plate": "Нажимная плита из багряного дерева", + "block.beneath.wood.planks.crimson_slab": "Плита из багряного дерева", + "block.beneath.wood.planks.crimson_stairs": "Ступеньки из багряного дерева", + "block.beneath.wood.sapling.crimson": "Саженец багряного дерева", + "block.beneath.wood.twig.warped": "Веточка искажённого дерева", + "block.beneath.wood.potted_sapling.warped": "Саженец искажённого дерева в горшке", + "block.beneath.wood.planks.warped": "Доски из искажённого дерева", + "block.beneath.wood.planks.warped_tool_rack": "Стеллаж для инструментом из искажённого дерева", + "block.beneath.wood.planks.warped_loom": "Ткацкий станок из из искажённого дерева", + "block.beneath.wood.planks.warped_bookshelf": "Книжная полка из искажённого дерева", + "block.beneath.wood.planks.warped_workbench": "Верстак из искажённого дерева", + "block.beneath.wood.vertical_support.warped": "Опора из искажённого дерева", + "block.beneath.wood.horizontal_support.warped": "Опора из искажённого дерева", + "block.beneath.wood.chest.warped": "Сундук из искажённого дерева", + "block.beneath.wood.trapped_chest.warped": "Сундук-ловушка из искажённого дерева", + "block.beneath.wood.sluice.warped": "Рудопромывочный жёлоб из искажённого дерева", + "block.beneath.wood.planks.warped_sign": "Табличка из искажённого дерева", + "block.beneath.wood.planks.warped_wall_sign": "Табличка из искажённого дерева", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.warped": "Подвесная табличка из искажённого дерева и висмутовой бронзы", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.warped": "Подвесная табличка из искажённого дерева и висмутовой бронзы", + "block.beneath.wood.planks.hanging_sign.black_bronze.warped": "Подвесная табличка из искажённого дерева и чёрной бронзы", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.warped": "Подвесная табличка из искажённого дерева и чёрной бронзы", + "block.beneath.wood.planks.hanging_sign.bronze.warped": "Подвесная табличка из искажённого дерева и бронзы", + "block.beneath.wood.planks.wall_hanging_sign.bronze.warped": "Подвесная табличка из искажённого дерева и бронзы", + "block.beneath.wood.planks.hanging_sign.copper.warped": "Подвесная табличка из искажённого дерева и меди", + "block.beneath.wood.planks.wall_hanging_sign.copper.warped": "Подвесная табличка из искажённого дерева и меди", + "block.beneath.wood.planks.hanging_sign.wrought_iron.warped": "Подвесная табличка из искажённого дерева и кованого железа", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.warped": "Подвесная табличка из искажённого дерева и кованого железа", + "block.beneath.wood.planks.hanging_sign.steel.warped": "Подвесная табличка из искажённого дерева и стали", + "block.beneath.wood.planks.wall_hanging_sign.steel.warped": "Подвесная табличка из искажённого дерева и стали", + "block.beneath.wood.planks.hanging_sign.black_steel.warped": "Подвесная табличка из искажённого дерева и чёрной стали", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.warped": "Подвесная табличка из искажённого дерева и чёрной стали", + "block.beneath.wood.planks.hanging_sign.blue_steel.warped": "Подвесная табличка из искажённого дерева и синей стали", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.warped": "Подвесная табличка из искажённого дерева и синей стали", + "block.beneath.wood.planks.hanging_sign.red_steel.warped": "Подвесная табличка из искажённого дерева и красной стали", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.warped": "Подвесная табличка из искажённого дерева и красной стали", + "block.beneath.wood.barrel.warped": "Бочка из искажённого дерева", + "block.beneath.wood.lectern.warped": "Кафедра из искажённого дерева", + "block.beneath.wood.scribing_table.warped": "Стол писаря из искажённого дерева", + "block.beneath.wood.sewing_table.warped": "Швейный стол из искажённого дерева", + "block.beneath.wood.jar_shelf.warped": "Полка для банок из искажённого дерева", + "block.beneath.wood.axle.warped": "Ось из искажённого дерева", + "block.beneath.wood.bladed_axle.warped": "Ось с лопастями из искажённого дерева", + "block.beneath.wood.encased_axle.warped": "Закрытая ось из искажённого дерева", + "block.beneath.wood.clutch.warped": "Сцепление из искажённого дерева", + "block.beneath.wood.gear_box.warped": "Коробка передач из искажённого дерева", + "block.beneath.wood.windmill.warped": "Ветряная мельница из искажённого дерева", + "block.beneath.wood.water_wheel.warped": "Водяное колесо из искажённого дерева", + "block.beneath.wood.planks.warped_door": "Дверь из искажённого дерева", + "block.beneath.wood.planks.warped_trapdoor": "Люк из искажённого дерева", + "block.beneath.wood.planks.warped_fence": "Забор из искажённого дерева", + "block.beneath.wood.planks.warped_log_fence": "Забор из брёвен искажённого дерева", + "block.beneath.wood.planks.warped_fence_gate": "Калитка из искажённого дерева", + "block.beneath.wood.planks.warped_button": "Кнопка из искажённого дерева", + "block.beneath.wood.planks.warped_pressure_plate": "Нажимная плита из искажённого дерева", + "block.beneath.wood.planks.warped_slab": "Плита из искажённого дерева", + "block.beneath.wood.planks.warped_stairs": "Ступеньки из искажённого дерева", + "block.beneath.wood.sapling.warped": "Саженец искажённого дерева", + "block.beneath.ore.poor_nether_gold": "Руда бедного адского самородного золота", + "block.beneath.ore.poor_nether_gold.prospected": "Адское золото", + "block.beneath.ore.normal_nether_gold": "Руда адского самородного золота", + "block.beneath.ore.normal_nether_gold.prospected": "Адское золото", + "block.beneath.ore.rich_nether_gold": "Руда богатого адского самородного золота", + "block.beneath.ore.rich_nether_gold.prospected": "Адское золото", + "block.beneath.ore.nether_pyrite": "Руда адского пирита", + "block.beneath.ore.nether_pyrite.prospected": "Адский пирит", + "block.beneath.ore.blackstone_sylvite.prospected": "Пироксенитовый сильвин", + "block.beneath.ore.slimed_netherrack": "Slimed Netherrack Ore", + "block.beneath.ore.slimed_netherrack.prospected": "Slimed Netherrack", + "block.minecraft.nether_quartz_ore.prospected": "Незерский кварц", + "block.beneath.haunted_spike": "Призрачный сталагмит", "block.beneath.glowstone_spike": "Светокаменный сталагмит", - "block.beneath.sulfur": "Кучка серы", + "block.beneath.nether_pebble": "Адский камешек", + "block.beneath.sulfur": "Сера", + "block.beneath.crop.crimson_roots": "Багряные корни", + "block.beneath.crop.ghost_pepper": "Призрачный перец", + "block.beneath.crop.gleamflower": "Светоцвет", + "block.beneath.crop.nether_wart": "Адский нарост", + "block.beneath.crop.warped_roots": "Искажённые корни", + "block.beneath.gleamflower": "Светоцвет", "block.beneath.burpflower": "Рыгоцвет", "block.beneath.unposter": "Грибница", "block.beneath.hellforge": "Адская кузня", "block.beneath.hellforge_side": "Адская кузня", - "block.beneath.crop.gleamflower": "Светоцвет", - "block.beneath.gleamflower": "Светоцвет", - "beneath.creative_tab.beneath": "Бездна: Предметы", - "beneath.block_entity.hellforge": "Адская кузня", - "beneath.screen.juicer": "Соковыжималка", - "beneath.screen.juicer.mushrooms": "Накорми меня грибами!", + "block.beneath.soul_farmland": "Угодья душ", + "block.beneath.mushroom.button": "Пуговичный гриб", + "block.beneath.mushroom.chantrelle": "Лисичка", + "block.beneath.mushroom.death_cap": "Бледная поганка", + "block.beneath.mushroom.destroying_angels": "Мухомор весенний", + "block.beneath.mushroom.fools_funnel": "Говорушка красноватая", + "block.beneath.mushroom.oyster": "Устричный гриб", + "block.beneath.mushroom.parasol": "Гриб-зонтик", + "block.beneath.mushroom.portobello": "Шампиньон", + "block.beneath.mushroom.shittake": "Шиитаке", + "block.beneath.mushroom.sulfur_tuft": "Гифолома пучковая", + "block.beneath.cobblerack": "Кобблерак ", + "block.beneath.fungal_cobblerack": "Грибковый Кобблерак", + "block.beneath.warped_thatch": "Искажённая солома", + "block.beneath.crimson_thatch": "Багряная солома", + "block.beneath.hellbricks": "Адские кирпичи", + "entity.beneath.leviathan_fireball": "Leviathan Fireball", + "entity.beneath.blaze_leviathan": "Blaze Leviathan", + "entity.beneath.red_elk": "Красный лось", "item.beneath.cursed_hide": "Лаванепроницаемая шкура", "item.beneath.blackstone_brick": "Пироксенитовый кирпич", "item.beneath.cursecoal": "Антрацит", "item.beneath.crackrack_rock": "Камешек кератофира", + "item.beneath.loose_blackstone": "Камешек пироксенита", + "item.beneath.wood.lumber.crimson": "Доска из багряного дерева", + "item.beneath.wood.sign.crimson": "Табличка из багряного дерева", + "item.beneath.wood.chest_minecart.crimson": "Вагонетка с сундуком из багряного дерева", + "item.beneath.wood.support.crimson": "Опора из багряного дерева", + "item.beneath.wood.hanging_sign.bismuth_bronze.crimson": "Подвесная табличка из багряного дерева и висмутовой бронзы", + "item.beneath.wood.hanging_sign.black_bronze.crimson": "Подвесная табличка из багряного дерева и чёрной бронзы", + "item.beneath.wood.hanging_sign.bronze.crimson": "Подвесная табличка из багряного дерева и бронзы", + "item.beneath.wood.hanging_sign.copper.crimson": "Подвесная табличка из багряного дерева и меди", + "item.beneath.wood.hanging_sign.wrought_iron.crimson": "Подвесная табличка из багряного дерева и кованого железа", + "item.beneath.wood.hanging_sign.steel.crimson": "Подвесная табличка из багряного дерева и стали", + "item.beneath.wood.hanging_sign.black_steel.crimson": "Подвесная табличка из багряного дерева и чёрной стали", + "item.beneath.wood.hanging_sign.blue_steel.crimson": "Подвесная табличка из багряного дерева и синей стали", + "item.beneath.wood.hanging_sign.red_steel.crimson": "Подвесная табличка из багряного дерева и красной стали", + "item.beneath.wood.lumber.warped": "Доска из искажённого дерева", + "item.beneath.wood.sign.warped": "Табличка из искажённого дерева", + "item.beneath.wood.chest_minecart.warped": "Вагонетка с сундуком из искажённого дерева", + "item.beneath.wood.support.warped": "Опора из искажённого дерева", + "item.beneath.wood.hanging_sign.bismuth_bronze.warped": "Подвесная табличка из искажённого дерева и висмутовой бронзы", + "item.beneath.wood.hanging_sign.black_bronze.warped": "Подвесная табличка из искажённого дерева и чёрной бронзы", + "item.beneath.wood.hanging_sign.bronze.warped": "Подвесная табличка из искажённого дерева и бронзы", + "item.beneath.wood.hanging_sign.copper.warped": "Подвесная табличка из искажённого дерева и меди", + "item.beneath.wood.hanging_sign.wrought_iron.warped": "Подвесная табличка из искажённого дерева и кованого железа", + "item.beneath.wood.hanging_sign.steel.warped": "Подвесная табличка из искажённого дерева и стали", + "item.beneath.wood.hanging_sign.black_steel.warped": "Подвесная табличка из искажённого дерева и чёрной стали", + "item.beneath.wood.hanging_sign.blue_steel.warped": "Подвесная табличка из искажённого дерева и синей стали", + "item.beneath.wood.hanging_sign.red_steel.warped": "Подвесная табличка из искажённого дерева и красной стали", "item.beneath.juicer.filled": "Соковыжималка (%s)", + "item.beneath.gold_chunk": "Gold Chunk", + "item.beneath.pure_death": "Pure Death", + "item.beneath.pure_decay": "Pure Decay", + "item.beneath.pure_destruction": "Pure Destruction", + "item.beneath.pure_sorrow": "Pure Sorrow", + "item.beneath.pure_flame": "Pure Flame", + "item.beneath.agonizing_fertilizer": "Agonizing Fertilizer", + "item.beneath.crimson_straw": "Багряная солома", + "item.beneath.warped_straw": "Искажённая солома", + "item.beneath.ghost_pepper": "Призрачный перец", "item.beneath.juicer": "Соковыжималка", + "item.beneath.raw_slime": "Raw Slime", + "item.beneath.lost_page": "Lost Page", "item.beneath.spawn_egg.red_elk": "Яйцо призыва красного лося", + "item.beneath.seeds.crimson_roots": "Семена багряных корней", + "item.beneath.seeds.ghost_pepper": "Семена призрачного перца", "item.beneath.seeds.gleamflower": "Семена светоцвета", - "entity.beneath.leviathan_fireball": "Leviathan Fireball", - "entity.beneath.blaze_leviathan": "Blaze Leviathan", - "entity.beneath.red_elk": "Красный лось", - "death.attack.beneath.sulfur": "%1$s добывал серу железным инструментом и взорвал себя.", - "death.attack.beneath.sulfur.player": "%1$s добывал серу железным инструментом и взорвал себя, пытаясь убежать от %2$s.", - "block.beneath.mushroom.button": "Пуговичный гриб", + "item.beneath.seeds.nether_wart": "Семена адского нароста", + "item.beneath.seeds.warped_roots": "Семена искажённых корней", "item.beneath.food.button": "Пуговичный гриб", - "block.beneath.mushroom.chantrelle": "Лисичка", "item.beneath.food.chantrelle": "Лисичка", - "block.beneath.mushroom.death_cap": "Бледная поганка", "item.beneath.food.death_cap": "Бледная поганка", - "block.beneath.mushroom.destroying_angels": "Мухомор весенний", "item.beneath.food.destroying_angels": "Мухомор весенний", - "block.beneath.mushroom.fools_funnel": "Говорушка красноватая", "item.beneath.food.fools_funnel": "Говорушка красноватая", - "block.beneath.mushroom.oyster": "Устричный гриб", "item.beneath.food.oyster": "Устричный гриб", - "block.beneath.mushroom.parasol": "Гриб-зонтик", "item.beneath.food.parasol": "Гриб-зонтик", - "block.beneath.mushroom.portobello": "Шампиньон", "item.beneath.food.portobello": "Шампиньон", - "block.beneath.mushroom.shittake": "Шиитаке", "item.beneath.food.shittake": "Шиитаке", - "block.beneath.mushroom.sulfur_tuft": "Гифолома пучковая", "item.beneath.food.sulfur_tuft": "Гифолома пучковая", - "block.beneath.hellbricks": "Адские кирпичи", - "item.beneath.ghost_pepper": "Призрачный перец" + "beneath.creative_tab.beneath": "Бездна: Предметы", + "beneath.nutrient.decay": "Разложение: §e%s%%", + "beneath.nutrient.death": "Гибель: §7%s%%", + "beneath.nutrient.destruction": "Крушение: §6%s%%", + "beneath.nutrient.flame": "Страсть: §c%s%%", + "beneath.nutrient.sorrow": "Скорбь: §9%s%%", + "beneath.block_entity.hellforge": "Адская кузня", + "beneath.screen.juicer": "Соковыжималка", + "beneath.screen.juicer.mushrooms": "Накорми меня грибами!", + "beneath.screen.lost_page": "Потерянная страница", + "beneath.screen.lost_page.cost": "Цена", + "beneath.screen.lost_page.reward": "Награда", + "beneath.screen.lost_page.punishment": "Кара", + "beneath.lost_page.cobble": "Любой булыжник", + "beneath.punishment": "Тебя покорила кара от... %s", + "beneath.enum.punishment.none": "Никакой кары!", + "beneath.enum.punishment.levitation": "Левитация!", + "beneath.enum.punishment.drunkenness": "День пьянства!", + "beneath.enum.punishment.blaze_inferno": "Адское пламя!", + "beneath.enum.punishment.infestation": "Заражение серебряными рыбками!", + "beneath.enum.punishment.withering": "Иссушение!", + "beneath.enum.punishment.slime": "Слизь!", + "beneath.enum.punishment.unknown": "§kНеизвестно", + "beneath.sacrifice.error": "Ошибка жертвоприношения: материалы не найдены.", + "death.attack.beneath.sulfur": "%1$s добывал серу железным инструментом и подорвал себя.", + "death.attack.beneath.sulfur.player": "%1$s добывал серу железным инструментом и подорвал себя, пытаясь убежать от %2$s.", + "tfc.recipe.barrel.tfc.barrel.mortar": "Ступка" } \ No newline at end of file diff --git a/kubejs/assets/beneath/lang/uk_ua.json b/kubejs/assets/beneath/lang/uk_ua.json index b112e4f9e..17dbd29c9 100644 --- a/kubejs/assets/beneath/lang/uk_ua.json +++ b/kubejs/assets/beneath/lang/uk_ua.json @@ -1,30 +1,272 @@ { "__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": "Розсипний Піроксеніт", - "block.beneath.blackstone_aqueduct": "Акведук із Піроксеніту", + "block.beneath.blackstone_pebble": "Чорнокам'яна галька", + "block.beneath.blackstone_aqueduct": "Чорнокам’яний акведук", "block.beneath.loose_blackstone": "Розсипний Піроксеніт", - "block.beneath.ore.nether_cursecoal": "Антрацитова Руда", - "block.beneath.ore.nether_cursecoal.prospected": "Антрацит", - "block.beneath.cursecoal_pile": "Купа Антрациту", - "block.beneath.ore.blackstone_sylvite": "Руда Сильвіну", - "block.beneath.crackrack": "Кератофір", - "block.beneath.soul_clay": "Брудна Глина", + "block.beneath.ore.nether_cursecoal": "Незерська руда проклятого вугілля", + "block.beneath.ore.nether_cursecoal.prospected": "Незерське прокляте вугілля", + "block.beneath.cursecoal_pile": "Купа проклятого вугілля", + "block.beneath.ore.blackstone_sylvite": "Чорнокам’яна сильвітова руда", + "block.beneath.crackrack": "Тріскотріщина", + "block.beneath.soul_clay": "Душева глина", "block.beneath.wood.log.crimson": "Багряний стовбур", "block.beneath.wood.stripped_log.crimson": "Обтесаний багряний стовбур", - "block.beneath.wood.wood.crimson": "Багряні гіфи", - "block.beneath.wood.stripped_wood.crimson": "Обтесані багряні гіфи", - "block.beneath.wood.fallen_leaves.crimson": "Занепала червона ламела", - "block.beneath.wood.leaves.crimson": "Багряна пластинка", + "block.beneath.wood.wood.crimson": "Багряна деревина", + "block.beneath.wood.stripped_wood.crimson": "Обтесана багряна деревина", + "block.beneath.wood.fallen_leaves.crimson": "Опале багряне листя", + "block.beneath.wood.leaves.crimson": "Багряне листя", "block.beneath.wood.log.warped": "Химерний стовбур", "block.beneath.wood.stripped_log.warped": "Обтесаний химерний стовбур", - "block.beneath.wood.wood.warped": "Химерні гіфи", - "block.beneath.wood.stripped_wood.warped": "Обтесані химерні гіфи", - "block.beneath.wood.fallen_leaves.warped": "Занепала химерна ламела", - "block.beneath.wood.leaves.warped": "Химерна пластинка", - "block.beneath.ancient_altar": "Піроксенітовий постамент", - "item.beneath.cursed_hide": "Лавостійка Шкіра", - "item.beneath.blackstone_brick": "Цегла з Піроксеніту", - "item.beneath.cursecoal": "Антрацит", - "item.beneath.crackrack_rock": "Кератофірна Гірська Порода", - "item.beneath.loose_blackstone": "Розсипний Піроксеніт" + "block.beneath.wood.wood.warped": "Химерна деревина", + "block.beneath.wood.stripped_wood.warped": "Обтесана химерна деревина", + "block.beneath.wood.fallen_leaves.warped": "Опале химерне листя", + "block.beneath.wood.leaves.warped": "Химерне листя", + "block.beneath.ancient_altar": "Стародавній вівтар", + "item.beneath.cursed_hide": "Проклята шкура", + "item.beneath.blackstone_brick": "Чорнокам'яна цеглина", + "item.beneath.cursecoal": "Прокляте вугілля", + "item.beneath.crackrack_rock": "Скельна тріщина", + "item.beneath.loose_blackstone": "Розсипний Піроксеніт", + "item.beneath.wood.lumber.crimson": "Деревина багрянця", + "item.beneath.wood.sign.crimson": "Багряна табличка", + "item.beneath.wood.boat.crimson": "Багряний човен", + "block.beneath.wood.twig.crimson": "Багряна гілочка", + "item.beneath.wood.chest_minecart.crimson": "Вагонетка зі скринею з багрянця", + "block.beneath.wood.potted_sapling.crimson": "Багряний саджанець у горщику", + "block.beneath.wood.planks.crimson": "Багряні пиломатеріали", + "block.beneath.wood.planks.crimson_tool_rack": "Багряна стійка для інструментів", + "block.beneath.wood.planks.crimson_loom": "Багряний ткацький верстат", + "block.beneath.wood.planks.crimson_bookshelf": "Багряна книжкова полиця", + "block.beneath.wood.planks.crimson_workbench": "Багряний верстак", + "block.beneath.wood.vertical_support.crimson": "Багряна опора", + "block.beneath.wood.horizontal_support.crimson": "Багряна опора", + "item.beneath.wood.support.crimson": "Багряна опора", + "block.beneath.wood.chest.crimson": "Багряна скриня", + "block.beneath.wood.trapped_chest.crimson": "Багрова скриня-пастка", + "block.beneath.wood.sluice.crimson": "Багряний жолоб", + "block.beneath.wood.planks.crimson_sign": "Багряна табличка", + "block.beneath.wood.planks.crimson_wall_sign": "Багряна табличка", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.crimson": "Багряна вивіска із бісмутової бронзи", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.crimson": "Багряна настінна вивіска із бісмутової бронзи", + "block.beneath.wood.planks.hanging_sign.black_bronze.crimson": "Багряна вивіска із чорної бронзи", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.crimson": "Багряна настінна вивіска із чорної бронзи", + "block.beneath.wood.planks.hanging_sign.bronze.crimson": "Багряна вивіска із бронзи", + "block.beneath.wood.planks.wall_hanging_sign.bronze.crimson": "Багряна настінна вивіска із бронзи", + "block.beneath.wood.planks.hanging_sign.copper.crimson": "Багряна вивіска із міді", + "block.beneath.wood.planks.wall_hanging_sign.copper.crimson": "Багряна настінна вивіска із міді", + "block.beneath.wood.planks.hanging_sign.wrought_iron.crimson": "Багряна вивіска із кованого заліза", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.crimson": "Багряна настінна вивіска із кованого заліза", + "block.beneath.wood.planks.hanging_sign.steel.crimson": "Багряна вивіска із сталі", + "block.beneath.wood.planks.wall_hanging_sign.steel.crimson": "Багряна настінна вивіска із сталі", + "block.beneath.wood.planks.hanging_sign.black_steel.crimson": "Багряна вивіска із чорної сталі", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.crimson": "Багряна настінна вивіска із чорної сталі", + "block.beneath.wood.planks.hanging_sign.blue_steel.crimson": "Багряна вивіска із синьої сталі", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.crimson": "Багряна настінна вивіска із синьої сталі", + "block.beneath.wood.planks.hanging_sign.red_steel.crimson": "Багряна вивіска із червоної сталі", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.crimson": "Багряна настінна вивіска із червоної сталі", + "item.beneath.wood.hanging_sign.bismuth_bronze.crimson": "Багряна вивіска із бісмутової бронзи", + "item.beneath.wood.hanging_sign.black_bronze.crimson": "Багряна вивіска із чорної бронзи", + "item.beneath.wood.hanging_sign.bronze.crimson": "Багряна вивіска із бронзи", + "item.beneath.wood.hanging_sign.copper.crimson": "Багряна вивіска із міді", + "item.beneath.wood.hanging_sign.wrought_iron.crimson": "Багряна вивіска із кованого заліза", + "item.beneath.wood.hanging_sign.steel.crimson": "Багряна вивіска із сталі", + "item.beneath.wood.hanging_sign.black_steel.crimson": "Багряна вивіска із чорної сталі", + "item.beneath.wood.hanging_sign.blue_steel.crimson": "Багряна вивіска із синьої сталі", + "item.beneath.wood.hanging_sign.red_steel.crimson": "Багряна вивіска із червоної сталі", + "block.beneath.wood.barrel.crimson": "Багряна діжка", + "block.beneath.wood.lectern.crimson": "Багряна катедра", + "block.beneath.wood.scribing_table.crimson": "Багряний писальний стіл", + "block.beneath.wood.sewing_table.crimson": "Багряний швейний стіл", + "block.beneath.wood.jar_shelf.crimson": "Багряна полиця для банок", + "block.beneath.wood.axle.crimson": "Багряна вісь", + "block.beneath.wood.bladed_axle.crimson": "Багряна лопатева вісь", + "block.beneath.wood.encased_axle.crimson": "Багряна закрита вісь", + "block.beneath.wood.clutch.crimson": "Багряна муфта", + "block.beneath.wood.gear_box.crimson": "Багряний редуктор", + "block.beneath.wood.windmill.crimson": "Багряний вітряк", + "block.beneath.wood.water_wheel.crimson": "Багряне водяне колесо", + "block.beneath.wood.planks.crimson_door": "Багряні двері", + "block.beneath.wood.planks.crimson_trapdoor": "Багряний люк", + "block.beneath.wood.planks.crimson_fence": "Багряний паркан", + "block.beneath.wood.planks.crimson_log_fence": "Багряний паркан із колод", + "block.beneath.wood.planks.crimson_fence_gate": "Багряна хвіртка", + "block.beneath.wood.planks.crimson_button": "Багряна кнопка", + "block.beneath.wood.planks.crimson_pressure_plate": "Багряна натискна плита", + "block.beneath.wood.planks.crimson_slab": "Багряна плита", + "block.beneath.wood.planks.crimson_stairs": "Багряні сходи", + "block.beneath.wood.sapling.crimson": "Багряний саджанець", + "item.beneath.wood.lumber.warped": "Химерні дошки", + "item.beneath.wood.sign.warped": "Химерна табличка", + "item.beneath.wood.boat.warped": "Химерний човен", + "block.beneath.wood.twig.warped": "Химерна гілочка", + "item.beneath.wood.chest_minecart.warped": "Вагонетка зі скринею з химерної деревини", + "block.beneath.wood.potted_sapling.warped": "Химерний саджанець у горщику", + "block.beneath.wood.planks.warped": "Химерні пиломатеріали", + "block.beneath.wood.planks.warped_tool_rack": "Химерна стійка для інструментів", + "block.beneath.wood.planks.warped_loom": "Химерний ткацький верстат", + "block.beneath.wood.planks.warped_bookshelf": "Химерна книжна полиця", + "block.beneath.wood.planks.warped_workbench": "Химерний верстак", + "block.beneath.wood.vertical_support.warped": "Химерна опора", + "block.beneath.wood.horizontal_support.warped": "Химерна опора", + "item.beneath.wood.support.warped": "Химерна опора", + "block.beneath.wood.chest.warped": "Химерна скриня", + "block.beneath.wood.trapped_chest.warped": "Химерна скриня-пастка", + "block.beneath.wood.sluice.warped": "Химерний жолоб", + "block.beneath.wood.planks.warped_sign": "Химерна табличка", + "block.beneath.wood.planks.warped_wall_sign": "Химерна настінна табличка", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.warped": "Висячий химерний знак із бісмутової бронзи", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.warped": "Висячий химерний настінний знак із бісмутової бронзи", + "block.beneath.wood.planks.hanging_sign.black_bronze.warped": "Висячий химерний знак із чорної бронзи", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.warped": "Висячий химерний настінний знак із чорної бронзи", + "block.beneath.wood.planks.hanging_sign.bronze.warped": "Висячий химерний знак із бронзи", + "block.beneath.wood.planks.wall_hanging_sign.bronze.warped": "Висячий химерний настінний знак із бронзи", + "block.beneath.wood.planks.hanging_sign.copper.warped": "Висячий химерний знак із міді", + "block.beneath.wood.planks.wall_hanging_sign.copper.warped": "Висячий химерний настінний знак із міді", + "block.beneath.wood.planks.hanging_sign.wrought_iron.warped": "Висячий химерний знак із кованого заліза", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.warped": "Висячий химерний настінний знак із кованого заліза", + "block.beneath.wood.planks.hanging_sign.steel.warped": "Висячий химерний знак із сталі", + "block.beneath.wood.planks.wall_hanging_sign.steel.warped": "Висячий химерний настінний знак із сталі", + "block.beneath.wood.planks.hanging_sign.black_steel.warped": "Висячий химерний знак із чорної сталі", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.warped": "Висячий химерний настінний знак із чорної сталі", + "block.beneath.wood.planks.hanging_sign.blue_steel.warped": "Висячий химерний знак із синьої сталі", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.warped": "Висячий химерний настінний знак із синьої сталі", + "block.beneath.wood.planks.hanging_sign.red_steel.warped": "Висячий химерний знак із червоної сталі", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.warped": "Висячий химерний настінний знак із червоної сталі", + "item.beneath.wood.hanging_sign.bismuth_bronze.warped": "Висячий химерний знак із бісмутової бронзи", + "item.beneath.wood.hanging_sign.black_bronze.warped": "Висячий химерний знак із чорної бронзи", + "item.beneath.wood.hanging_sign.bronze.warped": "Висячий химерний знак із бронзи", + "item.beneath.wood.hanging_sign.copper.warped": "Висячий химерний знак із міді", + "item.beneath.wood.hanging_sign.wrought_iron.warped": "Висячий химерний знак із кованого заліза", + "item.beneath.wood.hanging_sign.steel.warped": "Висячий химерний знак із сталі", + "item.beneath.wood.hanging_sign.black_steel.warped": "Висячий химерний знак із чорної сталі", + "item.beneath.wood.hanging_sign.blue_steel.warped": "Висячий химерний знак із синьої сталі", + "item.beneath.wood.hanging_sign.red_steel.warped": "Висячий химерний знак із червоної сталі", + "block.beneath.wood.barrel.warped": "Химерна діжка", + "block.beneath.wood.lectern.warped": "Химерна катедра", + "block.beneath.wood.scribing_table.warped": "Химерний писальний стіл", + "block.beneath.wood.sewing_table.warped": "Химерний швейний стіл", + "block.beneath.wood.jar_shelf.warped": "Химерна полиця для банок", + "block.beneath.wood.axle.warped": "Химерна вісь", + "block.beneath.wood.bladed_axle.warped": "Химерна лопатева вісь", + "block.beneath.wood.encased_axle.warped": "Химерна закрита вісь", + "block.beneath.wood.clutch.warped": "Химерна муфта", + "block.beneath.wood.gear_box.warped": "Химерний редуктор", + "block.beneath.wood.windmill.warped": "Химерний вітряк", + "block.beneath.wood.water_wheel.warped": "Химерне водяне колесо", + "block.beneath.wood.planks.warped_door": "Химерні двері", + "block.beneath.wood.planks.warped_trapdoor": "Химерний люк", + "block.beneath.wood.planks.warped_fence": "Химерний паркан", + "block.beneath.wood.planks.warped_log_fence": "Химерний паркан із колод", + "block.beneath.wood.planks.warped_fence_gate": "Химерна хвіртка", + "block.beneath.wood.planks.warped_button": "Химерна кнопка", + "block.beneath.wood.planks.warped_pressure_plate": "Химерна натискна плита", + "block.beneath.wood.planks.warped_slab": "Химерна плита", + "block.beneath.wood.planks.warped_stairs": "Химерні сходи", + "block.beneath.wood.sapling.warped": "Химерний саджанець", + "beneath.creative_tab.beneath": "Предмети з The Beneath", + "entity.beneath.leviathan_fireball": "Вогняна куля Левіафана", + "entity.beneath.blaze_leviathan": "Іфритовий Левіафан", + "entity.beneath.red_elk": "Червоний лось", + "beneath.nutrient.decay": "Розпад: §e%s%%", + "beneath.nutrient.death": "Смерть: §7%s%%", + "beneath.nutrient.destruction": "Руйнування: §6%s%%", + "beneath.nutrient.flame": "Полум’я: §c%s%%", + "beneath.nutrient.sorrow": "Печаль: §9%s%%", + "beneath.block_entity.hellforge": "Пекельна кузня", + "beneath.screen.juicer": "Соковижималка", + "beneath.screen.juicer.mushrooms": "Нагодуй мене грибами!", + "beneath.screen.lost_page": "Втрачена сторінка", + "beneath.screen.lost_page.cost": "Вартість", + "beneath.screen.lost_page.reward": "Винагорода", + "beneath.screen.lost_page.punishment": "Покарання", + "beneath.lost_page.cobble": "Будь-який кругляк", + "beneath.punishment": "Ви отримали покарання... %s", + "beneath.enum.punishment.none": "Жодного покарання!", + "beneath.enum.punishment.levitation": "Левітація!", + "beneath.enum.punishment.drunkenness": "День пияцтва!", + "beneath.enum.punishment.blaze_inferno": "Пекло пломенів!", + "beneath.enum.punishment.infestation": "Нашестя срібляків!", + "beneath.enum.punishment.withering": "Візер!", + "beneath.enum.punishment.slime": "Слимак!", + "beneath.enum.punishment.unknown": "§kНевідомо", + "beneath.sacrifice.error": "Помилка жертви: матеріали не знайдено.", + "item.beneath.juicer.filled": "Соковижималка (%s)", + "death.attack.beneath.sulfur": "%1$s добув сірку залізним інструментом і підірвався.", + "death.attack.beneath.sulfur.player": "%1$s добув сірку залізним інструментом і підірвався, намагаючись утекти від %2$s.", + "entity.beneath.boat.crimson": "Багряний човен", + "entity.beneath.boat.warped": "Химерний човен", + "entity.beneath.chest_boat.crimson": "Багряний човен зі скринею", + "entity.beneath.chest_boat.warped": "Химерний човен зі скринею", + "item.beneath.gold_chunk": "Золотий шматок", + "item.beneath.pure_death": "Чиста смерть", + "item.beneath.pure_decay": "Чистий розпад", + "item.beneath.pure_destruction": "Чисте знищення", + "item.beneath.pure_sorrow": "Чистий смуток", + "item.beneath.pure_flame": "Чисте полум’я", + "item.beneath.agonizing_fertilizer": "Агонійне добриво", + "item.beneath.crimson_straw": "Багряна солома", + "item.beneath.warped_straw": "Химерна солома", + "item.beneath.ghost_pepper": "Примарний перець", + "item.beneath.juicer": "Соковижималка", + "item.beneath.raw_slime": "Сирий слиз", + "item.beneath.lost_page": "Втрачена сторінка", + "item.beneath.spawn_egg.red_elk": "Яйце призову червоного лося", + "block.beneath.ore.poor_nether_gold": "Бідна незерська золота руда", + "block.beneath.ore.poor_nether_gold.prospected": "Незерське золото", + "block.beneath.ore.normal_nether_gold": "Звичайна незерська золота руда", + "block.beneath.ore.normal_nether_gold.prospected": "Незерське золото", + "block.beneath.ore.rich_nether_gold": "Багата незерська золота руда", + "block.beneath.ore.rich_nether_gold.prospected": "Незерське золото", + "block.beneath.ore.nether_pyrite": "Незерська піритова руда", + "block.beneath.ore.nether_pyrite.prospected": "Незерський пірит", + "block.beneath.ore.blackstone_sylvite.prospected": "Чорнокам’яний сильвіт", + "block.beneath.ore.slimed_netherrack": "Заслизнена незерська руда", + "block.beneath.ore.slimed_netherrack.prospected": "Заслизнений незерак", + "block.minecraft.nether_quartz_ore.prospected": "Незерський кварц", + "block.beneath.haunted_spike": "Примарний шип", + "block.beneath.glowstone_spike": "Світлокам’яний шип", + "block.beneath.nether_pebble": "Незерська галька", + "block.beneath.sulfur": "Сірка", + "block.beneath.crop.crimson_roots": "Багряне коріння", + "item.beneath.seeds.crimson_roots": "Насіння багряного коріння", + "block.beneath.crop.ghost_pepper": "Примарний перець", + "item.beneath.seeds.ghost_pepper": "Насіння примарного перцю", + "block.beneath.crop.gleamflower": "Сяйквітка", + "item.beneath.seeds.gleamflower": "Насіння сяйвоквітки", + "block.beneath.crop.nether_wart": "Незерський наріст", + "item.beneath.seeds.nether_wart": "Насіння незерського наросту", + "block.beneath.crop.warped_roots": "Химерне коріння", + "item.beneath.seeds.warped_roots": "Насіння химерного коріння", + "block.beneath.gleamflower": "Сяйквітка", + "block.beneath.burpflower": "Буркотквітка", + "block.beneath.unposter": "Анпостер", + "block.beneath.hellforge": "Пекельна кузня", + "block.beneath.hellforge_side": "Пекельна кузня", + "block.beneath.soul_farmland": "Душевне рілля", + "block.beneath.mushroom.button": "Кнопка", + "item.beneath.food.button": "Кнопка", + "block.beneath.mushroom.chantrelle": "Лисичка", + "item.beneath.food.chantrelle": "Лисичка", + "block.beneath.mushroom.death_cap": "Мухомор смертельний", + "item.beneath.food.death_cap": "Мухомор смертельний", + "block.beneath.mushroom.destroying_angels": "Янголи руйнівники", + "item.beneath.food.destroying_angels": "Янголи руйнівники", + "block.beneath.mushroom.fools_funnel": "Лійка дурня", + "item.beneath.food.fools_funnel": "Лійка дурня", + "block.beneath.mushroom.oyster": "Устриця", + "item.beneath.food.oyster": "Устриця", + "block.beneath.mushroom.parasol": "Парасоля", + "item.beneath.food.parasol": "Парасоля", + "block.beneath.mushroom.portobello": "Портобело", + "item.beneath.food.portobello": "Портобело", + "block.beneath.mushroom.shittake": "Шиїтаке", + "item.beneath.food.shittake": "Шиїтаке", + "block.beneath.mushroom.sulfur_tuft": "Сірчаний пучок", + "item.beneath.food.sulfur_tuft": "Сірчаний пучок", + "block.beneath.cobblerack": "Каміннолом", + "block.beneath.fungal_cobblerack": "Грибний каміннолом", + "block.beneath.warped_thatch": "Химерна солома", + "block.beneath.crimson_thatch": "Багряна стріха", + "block.beneath.hellbricks": "Пекельна цегла", + "tfc.recipe.barrel.tfc.barrel.mortar": "Розчин" } \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/ru_ru.json b/kubejs/assets/betterend/lang/ru_ru.json index d37b6161a..ca2bf627b 100644 --- a/kubejs/assets/betterend/lang/ru_ru.json +++ b/kubejs/assets/betterend/lang/ru_ru.json @@ -15,12 +15,14 @@ "block.betterend.bolux_mushroom_wild": "Дикорастущая колония грибов болюкс", "block.betterend.bolux_mushroom_dead": "Погибшая колония грибов болюкс", "block.betterend.bushy_grass": "Новотрава", - "block.betterend.cave_bush": "Карминовый куст", + "block.betterend.bulb_moss": "Луковичный мох", + "block.betterend.cave_bush": "Карминовая ламелла", + "block.betterend.cave_bush_fallen": "Маленькая карминовая ламелла", "block.betterend.cave_grass": "Вермиллигма", - "block.betterend.cave_pumpkin": "Булбкин", - "block.betterend.cave_pumpkin_wild": "Дикорастущий стебель булбкин", - "block.betterend.cave_pumpkin_dead": "Погибший стебель булбкин", - "block.betterend.cave_pumpkin_plant": "Стебель булбкина", + "block.betterend.cave_pumpkin": "Лукыква", + "block.betterend.cave_pumpkin_wild": "Дикорастущий стебель лукыквы", + "block.betterend.cave_pumpkin_dead": "Погибший стебель лукыквы", + "block.betterend.cave_pumpkin_plant": "Стебель лукыквы", "block.betterend.charnia_cyan": "Циановая чарния", "block.betterend.charnia_green": "Зелёная чарния", "block.betterend.charnia_light_blue": "Голубая чарния", @@ -44,14 +46,19 @@ "block.betterend.flamaea": "Гриб фламея", "block.betterend.flammalix": "Гриб фламмаликс", "block.betterend.fracturn": "Фрактюрн", + "block.betterend.glacian_hymenophore": "Гласиевый гименофор", "block.betterend.globulagus": "Глобулагус", "block.betterend.hydralux": "Гидралюкс", "block.betterend.hydralux_sapling": "Отросток гидралюкса", "block.betterend.inflexia": "Инфлексия", + "block.betterend.lacugrove": "Водоросли озёрного мангра", "block.betterend.lamellarium": "Ламеллариум", "block.betterend.lanceleaf": "Ланцелист", "block.betterend.lanceleaf_small": "Кинжал ланцелиста", "block.betterend.large_amaranita_mushroom": "Большой гриб амаранит", + "block.betterend.lucernia_leaves": "Люцернивовая ламелла", + "block.betterend.lucernia_leaves_fallen": "Маленькая люцернивовая ламелла", + "block.betterend.lucernia_outer_leaves": "Люцернивовая гифа", "block.betterend.lutebus": "Лютебус", "block.betterend.magnula": "Магнула", "block.betterend.nightshade_moss": "Мох нокс", @@ -61,6 +68,7 @@ "block.betterend.rubinea": "Рубинея", "block.betterend.ruscus": "Трава руксус", "block.betterend.salteago": "Сальтеаго", + "block.betterend.selagine": "Селагинелла", "block.betterend.shadow_berry": "Нокс-ягода", "block.betterend.shadow_berry_wild": "Дикорастущая нокс-ягода", "block.betterend.shadow_berry_dead": "Погибшая нокс-ягода", @@ -79,12 +87,12 @@ "item.betterend.bolux_mushroom_cooked": "Приготовленный гриб болюкс", "item.betterend.bolux_mushroom_product": "Гриб болюкс", "item.betterend.bolux_mushroom_seeds": "Споры гриба болюкса", - "item.betterend.cave_pumpkin_chunks": "Булбкиная мякоть", - "item.betterend.cave_pumpkin_product": "Булбкин", - "item.betterend.cave_pumpkin_plant_seeds": "Семена булбкина", - "item.betterend.cave_pumpkin_pie_dough": "Тесто для булбкиного пирога", - "item.betterend.cave_pumpkin_pie_raw": "Несъедобный булбкиный пирог", - "item.betterend.cave_pumpkin_pie": "Булбкиный пирог", + "item.betterend.cave_pumpkin_chunks": "Лукыквенная мякоть", + "item.betterend.cave_pumpkin_product": "Лукыква", + "item.betterend.cave_pumpkin_plant_seeds": "Семена лукыквы", + "item.betterend.cave_pumpkin_pie_dough": "Тесто для лукыквенного пирога", + "item.betterend.cave_pumpkin_pie_raw": "Несъедобный лукыквенный пирог", + "item.betterend.cave_pumpkin_pie": "Лукыквенный пирог", "item.betterend.chorus_mushroom_cooked": "Приготовленный гриб чашцелий", "item.betterend.chorus_mushroom_product": "Гриб чашцелий", "item.betterend.chorus_mushroom_seeds": "Споры гриба чашцелия", diff --git a/kubejs/assets/create/lang/ru_ru.json b/kubejs/assets/create/lang/ru_ru.json index 0e68f675f..af1dd17cd 100644 --- a/kubejs/assets/create/lang/ru_ru.json +++ b/kubejs/assets/create/lang/ru_ru.json @@ -1,8 +1,24 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "Баллон (Синяя сталь)", + "block.create.industrial_iron_block": "Блок промышленной стали", + "block.create.weathered_iron_block": "Состаренный блок промышленной стали", + "block.create.industrial_iron_window": "Украшенное промышленной сталью окно", + "block.create.weathered_iron_window": "Украшенное состаренной промышленной сталью окно", + "block.create.industrial_iron_window_pane": "Украшенная промышленной сталью оконная панель", + "block.create.weathered_iron_window_pane": "Украшенная состаренной сталью оконная панель", "block.create.dark_oak_window": "Гикорное окно", "block.create.dark_oak_window_pane": "Гикорная оконная панель", + "block.create.cherry_window": "Инжирное окно", + "block.create.cherry_window_pane": "Инжирная оконная панель", + "block.create.spruce_window": "Кипарисовое окно", + "block.create.spruce_window_pane": "Кипарисовая оконная панель", + "block.create.jungle_window": "Окно из тикового дерева", + "block.create.jungle_window_pane": "Оконная панель из тикового дерева", + "block.create.birch_window": "Эвкалиптовое окно", + "block.create.birch_window_pane": "Эвкалиптовая оконная панель", + "block.create.acacia_window": "Баобабовое окно", + "block.create.acacia_window_pane": "Баобабовая оконная панель", "block.create.andesite_bars": "Металлические прутья", "block.create.andesite_belt_funnel": "Металлический конвейерный шлюз", "block.create.andesite_casing": "Металлический корпус", @@ -12,9 +28,9 @@ "block.create.andesite_encased_shaft": "Вал в металлическом корпусе", "block.create.andesite_funnel": "Металлический шлюз", "block.create.andesite_ladder": "Металлическая лестница", - "block.create.andesite_pillar": "Металлическая колонна", "block.create.andesite_scaffolding": "Металлические подмостки", "block.create.andesite_tunnel": "Металлический туннель", + "block.create.andesite_table_cloth": "Металлическая столешница", "block.create.cut_deepslate": "Резной мигматит", "block.create.cut_deepslate_stairs": "Ступеньки из резного мигматита", "block.create.cut_deepslate_slab": "Плита из резного мигматита", @@ -24,9 +40,9 @@ "block.create.polished_cut_deepslate_slab": "Плита из полированного резного мигматита", "block.create.polished_cut_deepslate_wall": "Ограда из полированного резного мигматита", "block.create.cut_deepslate_bricks": "Резные мигматитовые кирпичи", - "block.create.cut_deepslate_brick_stairs": "Ступеньки из резного мигматитового кирпича", - "block.create.cut_deepslate_brick_slab": "Плита из резного мигматитового кирпича", - "block.create.cut_deepslate_brick_wall": "Ограда из резного мигматитового кирпича", + "block.create.cut_deepslate_brick_stairs": "Ступеньки из резных мигматитовых кирпичей", + "block.create.cut_deepslate_brick_slab": "Плита из резных мигматитовых кирпичей", + "block.create.cut_deepslate_brick_wall": "Ограда из резных мигматитовых кирпичей", "block.create.small_deepslate_bricks": "Мелкие мигматитовые кирпичи", "block.create.small_deepslate_brick_stairs": "Ступеньки из мелкого мигматитового кирпича", "block.create.small_deepslate_brick_slab": "Плита из мелкого мигматитового кирпича", @@ -73,15 +89,15 @@ "item.create.netherite_backtank": "Баллон (Синяя сталь)", "item.create.netherite_diving_helmet": "Лаволазный шлем из синей стали", "item.create.netherite_diving_boots": "Лаволазные ботинки из синей стали", - "item.create.copper_sheet": "Медная пластина", - "item.create.brass_sheet": "Латунная пластина", - "item.create.golden_sheet": "Золотая пластина", - "item.create.crushed_raw_gold": "Очищенное рудное золото", - "item.create.crushed_raw_copper": "Очищенная рудная медь ", - "item.create.crushed_raw_zinc": "Очищенный рудный цинк", - "item.create.crushed_raw_silver": "Очищенное рудное серебро", - "item.create.crushed_raw_tin": "Очищенное рудное олово", - "item.create.crushed_raw_lead": "Очищенный рудный свинец", + "item.create.copper_sheet": "Медь (Пластина)", + "item.create.brass_sheet": "Латунь (Пластина)", + "item.create.golden_sheet": "Золото (Пластина)", + "item.create.crushed_raw_gold": "Золото (Очищенная руда)", + "item.create.crushed_raw_copper": "Медь (Очищенная руда) ", + "item.create.crushed_raw_zinc": "Цинк (Очищенная руда)", + "item.create.crushed_raw_silver": "Серербо (Очищенная руда)", + "item.create.crushed_raw_tin": "Олово (Очищенная руда)", + "item.create.crushed_raw_lead": "Свинец (Очищенная руда)", "create.ponder.andesite_tunnel.header": "Использованием металлических туннелей", "create.ponder.andesite_tunnel.text_1": "Металлические туннели могут быть использованы, чтобы накрывать конвейеры", "create.ponder.andesite_tunnel.text_2": "Всегда, когда у металлического туннеля есть доступный выход сбоку...", @@ -89,5 +105,10 @@ "create.ponder.brass_funnel.text_1": "Металлический шлюз может извлекать только один предмет за раз", "create.ponder.cogwheel_casing.text_1": "Латунный или металлический корпус можно использовать для украшения шестерней", "create.ponder.shaft_casing.text_1": "Латунный или металлический корпус можно использовать для украшения валов", - "block.create.track": "Ж/д путь" + "block.create.track": "Ж/д путь", + "item.create.brass_ingot": "Латунь (Слиток)", + "item.create.brass_nugget": "Латунь (Самородок)", + "item.create.copper_nugget": "Медь (Самородок)", + "item.create.zinc_ingot": "Цинк (Слиток)", + "item.create.zinc_nugget": "Цинк (Самородок)" } \ No newline at end of file diff --git a/kubejs/assets/createdeco/lang/ru_ru.json b/kubejs/assets/createdeco/lang/ru_ru.json index 25273cde9..17ff1f7ff 100644 --- a/kubejs/assets/createdeco/lang/ru_ru.json +++ b/kubejs/assets/createdeco/lang/ru_ru.json @@ -148,8 +148,10 @@ "block.createdeco.zinc_mesh_fence": "Сетчатый забор из цинка", "block.createdeco.brass_sheet_metal": "Блок из пластин латуни", "block.createdeco.zinc_sheet_metal": "Блок из пластин цинка", + "item.createdeco.iron_coin": "Монета из кованого железа", "item.createdeco.netherite_coin": "Монета из синей стали", - "item.createdeco.netherite_coinstack": "Стопка монет из синей стали", "item.createdeco.industrial_iron_coin": "Монета из стали", + "item.createdeco.iron_coinstack": "Стопка монет из кованого железа", + "item.createdeco.netherite_coinstack": "Стопка монет из синей стали", "item.createdeco.industrial_iron_coinstack": "Стопка монет из стали" } \ No newline at end of file diff --git a/kubejs/assets/createhorsepower/lang/ru_ru.json b/kubejs/assets/createhorsepower/lang/ru_ru.json index 1fa50fcb8..6bf7a0e5a 100644 --- a/kubejs/assets/createhorsepower/lang/ru_ru.json +++ b/kubejs/assets/createhorsepower/lang/ru_ru.json @@ -1,16 +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.createhorsepower.horse_crank": "Конный привод", - "item.createhorsepower.horse_crank": "Конный привод", + "block.createhorsepower.horse_crank": "Скотный привод", + "item.createhorsepower.horse_crank": "Скотный привод", "entity.createhorsepower.chp_leash_knot": "(CHP) Leash Knot", "tooltip.createhorsepower.horse_crank.detached": "Рабочий был отвязан", "tooltip.createhorsepower.horse_crank.attached": "Рабочий был привязан", "tooltip.createhorsepower.horse_crank.maximumMobs": "Только один моб может быть привязан", "tooltip.createhorsepower.horse_crank.notValidWorker": "Моб не подходит под рабочего", "tooltip.createhorsepower.horse_crank.alreadyHasWorker": "Привод уже имеет рабочего", - "createhorsepower.ponder.horse_crank.header": "Использование конного привода", - "createhorsepower.ponder.horse_crank.text_1": "Это конный привод", - "createhorsepower.ponder.horse_crank.text_2": "Чтобы использовать лошадиный привод, под ним сначала должны быть установлены подходящие блоки", + "createhorsepower.ponder.horse_crank.header": "Использование скотного привода", + "createhorsepower.ponder.horse_crank.text_1": "Это скотный привод", + "createhorsepower.ponder.horse_crank.text_2": "Чтобы использовать скотный привод, под ним сначала должны быть установлены подходящие блоки", "createhorsepower.ponder.horse_crank.text_3": "Некоторые материалы могут быть лучше других", "createhorsepower.ponder.horse_crank.text_4": "Когда подходящий рабочий будет привязан, привод начнет создавать механическую нагрузку", "createhorsepower.ponder.horse_crank.text_5": "В настройках можно указать любых мобов, чтобы превратить их в рабочих", @@ -20,5 +20,5 @@ "createhorsepower.ponder.tag.path_types": "Блоки тропы", "createhorsepower.ponder.tag.path_types.description": "Блоки, по которым могут ходить рабочие животные", "createhorsepower.ponder.tag.viable_workers": "Подходящий рабочий", - "createhorsepower.ponder.tag.viable_workers.description": "Животные, которые могут приводить в движение лошадиный привод" + "createhorsepower.ponder.tag.viable_workers.description": "Животные, которые могут приводить в движение скотный привод" } \ No newline at end of file diff --git a/kubejs/assets/deafission/lang/zh_cn.json b/kubejs/assets/deafission/lang/zh_cn.json new file mode 100644 index 000000000..f3e65572d --- /dev/null +++ b/kubejs/assets/deafission/lang/zh_cn.json @@ -0,0 +1,50 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.deafission.fission_reactor_mk1": "裂变反应堆 MK I", + "block.deafission.fission_reactor_mk2": "裂变反应堆 MK II", + "block.deafission.fuel_holder": "燃料支架", + "deafission.machine.fuel_holder.tooltip": "存储并容纳核反应堆燃料棒,确保裂变反应安全进行。", + "block.deafission.material_holder": "材料支架", + "deafission.machine.material_holder.tooltip": "存储并容纳基于热辐射的裂变反应堆合成配方所需输入材料。", + "block.deafission.redstone_port": "红石端口", + "deafission.machine.redstone_port.tooltip": "使用扳手切换工作模式。", + "deafission.redstone_port.mode.heat": "输出热量/最大值", + "deafission.redstone_port.mode.fuels": "输出燃料数/支架数", + "deafission.fission_reactor.gui.mode.default": "正常运行", + "deafission.fission_reactor.gui.mode.cooldown": "冷却中", + "deafission.fission_reactor.gui.stats": "%s 热 %s 限 %s 效", + "deafission.fission_reactor.gui.recipe": "配方: %s", + "deafission.fission_reactor.gui.recipe_none": "配方: 无", + "deafission.fission_reactor.gui.coolant": "冷却剂: %s mB/t", + "deafission.fission_reactor.gui.coolant_missing": "冷却剂: %s (原有 %s%%)", + "deafission.fission_reactor.gui.fuel": "燃料: %s 损伤度", + "deafission.fission_reactor.gui.fuel_throttle": "燃料: %s 损伤度 @ %s%%", + "deafission.fission_reactor.gui.cooling": "冷却: %s HU/t", + "deafission.fission_reactor.gui.heating": "加热: %s HU/t", + "deafission.fission_reactor.gui.processing": "处理中: %s HU/t", + "deafission.fission_reactor.gui.mass": "质量: %s HU/°", + "deafission.fission_reactor.gui.heat": "热量: %s / %s", + "item.deafission.fuelcell_plutonium_x1": "钚燃料单元", + "item.deafission.fuelcell_thorium_x1": "钍燃料单元", + "item.deafission.fuelcell_uranium_x1": "铀燃料单元", + "material.deafission.flibe": "氟锂铍冷却剂", + "material.deafission.flibe_hot": "氟锂铍冷却剂(高温)", + "tooltip.deafission.fuelcell.rodcount": "燃料棒数量: %s", + "tooltip.deafission.fuelcell.heat": "热量: %s%%", + "tooltip.deafission.fuelcell.avgheat": "平均生命周期: %s 热量", + "tooltip.deafission.fuelcell.avgheat_none": "平均生命周期: §7--- §r热量", + "config.jade.plugin_deafission.reactor": "显示反应堆信息", + "deafission.recipe.heat_per_tick": "热量: -%s HU/t", + "deafission.recipe.coolant_heat_per_tick": "热量: -%s HU/t/°", + "deafission.fission_reactor_coolant": "裂变反应堆", + "deafission.fission_reactor_processing": "裂变热加工", + "deafission.fission_reactor_fuel": "裂变产物", + "emi.category.deafission.fission_component": "裂变反应堆组件", + "emi.deafission.heat_component_key": "最大热量:", + "emi.deafission.heat_component_value": "%d°", + "emi.deafission.throttle_component_key": "功率限制:", + "emi.deafission.throttle_component_value": "%d", + "emi.deafission.efficiency_component_key": "效率:", + "emi.deafission.efficiency_component_value": "%d", + "deafission.subtitles.reactor_loop": "反应堆嗡鸣声" +} \ No newline at end of file diff --git a/kubejs/assets/diggerhelmet/lang/ru_ru.json b/kubejs/assets/diggerhelmet/lang/ru_ru.json index 7ecbde127..02630071b 100644 --- a/kubejs/assets/diggerhelmet/lang/ru_ru.json +++ b/kubejs/assets/diggerhelmet/lang/ru_ru.json @@ -7,30 +7,30 @@ "item.diggerhelmet.digger_helmet.main": "Не трогай свечу!", "tooltip.diggerhelmet.digger_helmet.hold_shift": "Удерживайте §eSHIFT§7 для получения подробной информации", "tooltip.diggerhelmet.digger_helmet.tooltip3": "Ауч! Обжегся, лучше не трогать свечу", - "tooltip.diggerhelmet.digger_helmet.shift_info": "Возьмите шлем в руку, нажмите §eSHIFT§7+пкм и откроется интерфейс шлема", + "tooltip.diggerhelmet.digger_helmet.shift_info": "Возьмите каску в руку, нажмите §eSHIFT§7+ПКМ и откроется интерфейс каски", "tooltip.diggerhelmet.digger_helmet.wool_lining_active": "§aШерстяная подкладка установлена - обеспечивает согревание", - "tooltip.diggerhelmet.digger_helmet.silk_lining_active": "§bШелковая подкладка установлена - обеспечивает охлаждение", + "tooltip.diggerhelmet.digger_helmet.silk_lining_active": "§bШёлковая подкладка установлена - обеспечивает охлаждение", "tooltip.diggerhelmet.digger_helmet.lining_needed": "§eУстановите подкладку для температурных свойств", "tfcambiental.tooltip.warmth_attribute": "Согревание", "tfcambiental.tooltip.cooling_attribute": "Охлаждение", "tfcambiental.tooltip.insulation_attribute": "Изоляция", "item.diggerhelmet.mining_speed_modifier": "Модификатор скорости добычи ", - "item.diggerhelmet.mining_speed_modifier.desc.base": "Увеличивает скорость добычи при установке в шахтерскую каску:", + "item.diggerhelmet.mining_speed_modifier.desc.base": "Увеличивает скорость добычи при установке в шахтёрскую каску:", "item.diggerhelmet.mining_speed_modifier.desc.pickaxe": "Кирки ×%.1f", "item.diggerhelmet.mining_speed_modifier.desc.shovel": "Лопаты ×%.1f", "item.diggerhelmet.auto_drink_modifier": "Модификатор автоматического питья", - "tooltip.diggerhelmet.cooldown": "Автоматически пьет воду из инвентаря при установке в шахтерскую каску", + "tooltip.diggerhelmet.cooldown": "Автоматически пьёт воду из инвентаря при установке в шахтерскую каску", "item.diggerhelmet.eternal_candle": "Вечная свеча", - "tooltip.diggerhelmet.eternal_candle.main": "Таинственный Источник Вечного Пламени", + "tooltip.diggerhelmet.eternal_candle.main": "Таинственный источник вечного пламени", "tooltip.diggerhelmet.eternal_candle.shift_info": "Добыча из Слайма со свечой или Зомби(спавнится со свечой в руке)", "tooltip.diggerhelmet.eternal_candle.more_info": "Вам может потребоваться убить больше зомби, шанс выпадения вечной свечи из руки не 100%. Удачи!", "block.diggerhelmet.eternal_candle": "Вечная свеча", "item.diggerhelmet.wool_lining": "Шерстяная подкладка", "tooltip.diggerhelmet.wool_lining.main": "Обеспечивает тепло и комфорт", - "tooltip.diggerhelmet.wool_lining.usage": "Установите в шахтерскую каску для температурных свойств", + "tooltip.diggerhelmet.wool_lining.usage": "Установите в шахтёрскую каску для температурных свойств", "item.diggerhelmet.silk_lining": "Шёлковая подкладка", "tooltip.diggerhelmet.silk_lining.main": "Обеспечивает прохладу и легкость", - "tooltip.diggerhelmet.silk_lining.usage": "Установите в шахтерскую каску для охлаждающих свойств", + "tooltip.diggerhelmet.silk_lining.usage": "Установите в шахтёрскую каску для охлаждающих свойств", "gui.diggerhelmet.slot_info.title": "Информация о слотах", "gui.diggerhelmet.slot_info.left_slot": "Левый слот: Модификатор автоматического питья", "gui.diggerhelmet.slot_info.center_slot": "Центральный слот: Модификатор скорости добычи", diff --git a/kubejs/assets/endermanoverhaul/lang/ru_ru.json b/kubejs/assets/endermanoverhaul/lang/ru_ru.json index 0fa08722a..bc7f04f39 100644 --- a/kubejs/assets/endermanoverhaul/lang/ru_ru.json +++ b/kubejs/assets/endermanoverhaul/lang/ru_ru.json @@ -22,5 +22,6 @@ "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "Эндермен глубоких пещер ранен", "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "Пепельный эндермен урчит", "subtitles.endermanoverhaul.entity.dark_oak_enderman.darkness": "Пепельный эндермен мрачнеет", - "subtitles.endermanoverhaul.entity.dark_oak_enderman.stare": "Пепельный эндермен вскрикнул" + "subtitles.endermanoverhaul.entity.dark_oak_enderman.stare": "Пепельный эндермен вскрикнул", + "tag.item.endermanoverhaul.ender_pearls": "Эндер-жемчуги" } \ No newline at end of file diff --git a/kubejs/assets/firmaciv/lang/ru_ru.json b/kubejs/assets/firmaciv/lang/ru_ru.json index 10c610f8a..ca465861b 100644 --- a/kubejs/assets/firmaciv/lang/ru_ru.json +++ b/kubejs/assets/firmaciv/lang/ru_ru.json @@ -1,5 +1,90 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.firmaciv.thatch_roofing_stairs": "Соломенная крыша", + "block.firmaciv.thatch_roofing_slab": "Соломенная плита", + "block.firmaciv.thatch_roofing": "Соломенная крыша", + "block.firmaciv.wood.watercraft_frame.flat.acacia": "Плита корабельной обшивки из акации", + "block.firmaciv.wood.watercraft_frame.angled.acacia": "Ступенчатая корабельная обшивка из акации", + "block.firmaciv.wood.canoe_component_block.acacia": "Компонент каноэ из акации", + "block.firmaciv.wood.watercraft_frame.flat.ash": "Плита корабельной обшивки из ясеня", + "block.firmaciv.wood.watercraft_frame.angled.ash": "Ступенчатая корабельная обшивка из ясеня", + "block.firmaciv.wood.canoe_component_block.ash": " Компонент каноэ из ясеня", + "block.firmaciv.wood.watercraft_frame.flat.": "Плита корабельной обшивки из осины", + "block.firmaciv.wood.watercraft_frame.angled.": "Ступенчатая корабельная обшивка из осины", + "block.firmaciv.wood.canoe_component_block.": "Компонент каноэ из осины", + "block.firmaciv.wood.watercraft_frame.flat.birch": "Плита корабельной обшивки из берёзы", + "block.firmaciv.wood.watercraft_frame.angled.birch": "Ступенчатая корабельная обшивка из берёзы", + "block.firmaciv.wood.canoe_component_block.birch": "Компонент каноэ из берёзы", + "block.firmaciv.wood.watercraft_frame.flat.blackwood": "Плита корабельной обшивки из гренадила", + "block.firmaciv.wood.watercraft_frame.angled.blackwood": "Ступенчатая корабельная обшивка из гренадила", + "block.firmaciv.wood.canoe_component_block.blackwood": "Компонент каноэ из гренадила", + "block.firmaciv.wood.watercraft_frame.flat.chestnut": "Плита корабельной обшивки из каштана", + "block.firmaciv.wood.watercraft_frame.angled.chestnut": "Ступенчатая корабельная обшивка из каштана", + "block.firmaciv.wood.canoe_component_block.chestnut": "Компонент каноэ из каштана", + "block.firmaciv.wood.watercraft_frame.flat.douglas_fir": "Плита корабельной обшивки из дугласовой пихты", + "block.firmaciv.wood.watercraft_frame.angled.douglas_fir": "Ступенчатая корабельная обшивка из дугласовой пихты", + "block.firmaciv.wood.canoe_component_block.douglas_fir": "Компонент каноэ из дугласовой пихты", + "block.firmaciv.wood.watercraft_frame.flat.hickory": "Плита корабельной обшивки из ореха", + "block.firmaciv.wood.watercraft_frame.angled.hickory": "Ступенчатая корабельная обшивка из ореха", + "block.firmaciv.wood.canoe_component_block.hickory": "Компонент каноэ из ореха", + "block.firmaciv.wood.watercraft_frame.flat.kapok": "Плита корабельной обшивки из сейбы", + "block.firmaciv.wood.watercraft_frame.angled.kapok": "Ступенчатая корабельная обшивка из сейбы", + "block.firmaciv.wood.canoe_component_block.kapok": "Компонент каноэ из сейбы", + "block.firmaciv.wood.watercraft_frame.flat.mangrove": "Плита корабельной обшивки из мангры", + "block.firmaciv.wood.watercraft_frame.angled.mangrove": "Ступенчатая корабельная обшивка из мангры", + "block.firmaciv.wood.canoe_component_block.mangrove": "Компонент каноэ из мангры", + "block.firmaciv.wood.watercraft_frame.flat.maple": "Плита корабельной обшивки из клёна", + "block.firmaciv.wood.watercraft_frame.angled.maple": "Ступенчатая корабельная обшивка из клёна", + "block.firmaciv.wood.canoe_component_block.maple": "Компонент каноэ из клёна", + "block.firmaciv.wood.watercraft_frame.flat.oak": "Плита корабельной обшивки из дуба", + "block.firmaciv.wood.watercraft_frame.angled.oak": "Ступенчатая корабельная обшивка из дуба", + "block.firmaciv.wood.canoe_component_block.oak": "Компонент каноэ из дуба", + "block.firmaciv.wood.watercraft_frame.flat.palm": "Плита корабельной обшивки из пальмы", + "block.firmaciv.wood.watercraft_frame.angled.palm": "Ступенчатая корабельная обшивка из пальмы", + "block.firmaciv.wood.canoe_component_block.palm": "Компонент каноэ из пальмы", + "block.firmaciv.wood.watercraft_frame.flat.pine": "Плита корабельной обшивки из сосны", + "block.firmaciv.wood.watercraft_frame.angled.pine": "Ступенчатая корабельная обшивка из сосны", + "block.firmaciv.wood.canoe_component_block.pine": "Компонент каноэ из сосны", + "block.firmaciv.wood.watercraft_frame.flat.rosewood": "Плита корабельной обшивки из палисандра", + "block.firmaciv.wood.watercraft_frame.angled.rosewood": "Ступенчатая корабельная обшивка из палисандра", + "block.firmaciv.wood.canoe_component_block.rosewood": "Компонент каноэ из палисандра", + "block.firmaciv.wood.watercraft_frame.flat.sequoia": "Плита корабельной обшивки из секвойи", + "block.firmaciv.wood.watercraft_frame.angled.sequoia": "Ступенчатая корабельная обшивка из секвойи", + "block.firmaciv.wood.canoe_component_block.sequoia": "Компонент каноэ из секвойи", + "block.firmaciv.wood.watercraft_frame.flat.spruce": "Плита корабельной обшивки из ели", + "block.firmaciv.wood.watercraft_frame.angled.spruce": "Ступенчатая корабельная обшивка из ели", + "block.firmaciv.wood.canoe_component_block.spruce": "Компонент каноэ из ели", + "block.firmaciv.wood.watercraft_frame.flat.sycamore": "Плита корабельной обшивки из платана", + "block.firmaciv.wood.watercraft_frame.angled.sycamore": "Ступенчатая корабельная обшивка из платана", + "block.firmaciv.wood.canoe_component_block.sycamore": "Компонент каноэ из платана", + "block.firmaciv.wood.watercraft_frame.flat.white_cedar": "Плита корабельной обшивки из белого кедра", + "block.firmaciv.wood.watercraft_frame.angled.white_cedar": "Ступенчатая корабельная обшивка из белого кедра", + "block.firmaciv.wood.canoe_component_block.white_cedar": "Компонент каноэ из белого кедра", + "block.firmaciv.wood.watercraft_frame.flat.willow": "Плита корабельной обшивки из ивы", + "block.firmaciv.wood.watercraft_frame.angled.willow": "Ступенчатая корабельная обшивка из ивы", + "block.firmaciv.wood.canoe_component_block.willow": "Компонент каноэ из ивы", + "block.firmaciv.watercraft_frame_angled": "Ступенчатая корабельная обшивка", + "block.firmaciv.watercraft_frame_flat": "Плита корабельной обшивки", + "block.firmaciv.wood.acacia_roofing": "Кровля из акации", + "block.firmaciv.wood.ash_roofing": "Кровля из ясеня", + "block.firmaciv.wood.aspen_roofing": "Кровля из осины", + "block.firmaciv.wood.birch_roofing": "Кровля из берёзы", + "block.firmaciv.wood.blackwood_roofing": "Кровля из гренадила", + "block.firmaciv.wood.chestnut_roofing": "Кровля из каштана", + "block.firmaciv.wood.douglas_fir_roofing": "Кровля из дугласовой пихты", + "block.firmaciv.wood.hickory_roofing": "Кровля из гикори", + "block.firmaciv.wood.kapok_roofing": "Кровля из сейбы", + "block.firmaciv.wood.mangrove_roofing": "Кровля из мангры", + "block.firmaciv.wood.maple_roofing": "Кровля из клёна", + "block.firmaciv.wood.oak_roofing": "Кровля из дуба", + "block.firmaciv.wood.palm_roofing": "Кровля из пальмы", + "block.firmaciv.wood.pine_roofing": "Кровля из сосны", + "block.firmaciv.wood.rosewood_roofing": "Кровля из палисандра", + "block.firmaciv.wood.sequoia_roofing": "Кровля из секвойи", + "block.firmaciv.wood.spruce_roofing": "Кровля из ели", + "block.firmaciv.wood.sycamore_roofing": "Кровля из платана", + "block.firmaciv.wood.white_cedar_roofing": "Кровля из белого кедра", + "block.firmaciv.wood.willow_roofing": "Кровля из ивы", "entity.firmaciv.rowboat.acacia": "Гребная лодка из акации", "entity.firmaciv.rowboat.ash": "Гребная лодка из ясеня", "entity.firmaciv.rowboat.aspen": "Гребная лодка из осины", @@ -80,14 +165,35 @@ "entity.firmaciv.dugout_canoe.sycamore": "Долблёное каноэ из платана", "entity.firmaciv.dugout_canoe.white_cedar": "Долблёное каноэ из белого кедра", "entity.firmaciv.dugout_canoe.willow": "Долблёное каноэ из ивы", - "block.firmaciv.thatch_roofing_stairs": "Соломенная крыша", - "block.firmaciv.thatch_roofing_slab": "Соломенная плита", - "block.firmaciv.thatch_roofing": "Соломенная крыша", "entity.firmaciv.kayak": "Каяк", "entity.firmaciv.cannon": "Пушка", "entity.firmaciv.compartment_tfc_chest": "Отсек с сундуком", "entity.firmaciv.compartment_tfc_barrel": "Отсек c бочкой", "entity.firmaciv.compartment_large_vessel": "Большое судно", + "item.firmaciv.unfinished_barometer": "Незаконченный барометр", + "item.firmaciv.unfinished_nav_clock": "Незаконченный морской хронометр", + "item.firmaciv.unfinished_sextant": "Незаконченный секстант", + "item.firmaciv.cannon_barrel": "Пушечный ствол", + "item.firmaciv.small_triangular_sail": "Маленький парус", + "item.firmaciv.medium_triangular_sail": "Средний парус", + "item.firmaciv.large_triangular_sail": "Большой парус", + "item.firmaciv.rope_coil": "Моток верёвки", + "item.firmaciv.cannon": "Пушка", + "item.firmaciv.sloop_icon_only": "ICON ONLY", + "item.firmaciv.canoe_icon_only": "ICON ONLY", + "item.firmaciv.canoe_with_paddle_icon_only": "ICON ONLY", + "item.firmaciv.kayak_with_paddle_icon_only": "ICON ONLY", + "item.firmaciv.rowboat_icon_only": "ICON ONLY", + "item.firmaciv.copper_bolt": "Медный болт", + "item.firmaciv.kayak": "Каяк", + "item.firmaciv.large_waterproof_hide": "Большая водонепроницаемая шкура", + "item.firmaciv.nav_toolkit": "Набор инструментов для навигации", + "item.firmaciv.barometer": "Барометр", + "item.firmaciv.sextant": "Секстант", + "item.firmaciv.nav_clock": "Морской хронометр", + "item.firmaciv.firmaciv_compass": "Компас (склонение: Истинный север)", + "item.firmaciv.kayak_paddle": "Весло для каяка", + "item.firmaciv.canoe_paddle": "Весло для каноэ", "config.jade.plugin_firmaciv.barrel": "Отсек c бочкой", "config.jade.plugin_firmaciv.tfc_chest": "Отсек с сундуком", "itemGroup.firmaciv": "Firma: Civilization", @@ -131,111 +237,5 @@ "firmaciv.advancements.barometer.description": "Создайте барометр", "firmaciv.advancements.oarlock.title": "Монтлейк Кат", "firmaciv.advancements.oarlock.description": "Создайте уключину", - "firmaciv.jei.transfer.error.barrel_sealed": "В настоящее время бочка опечатана", - "block.firmaciv.wood.watercraft_frame.flat.acacia": "Плита корабельной обшивки из акации", - "block.firmaciv.wood.watercraft_frame.angled.acacia": "Ступенчатая корабельная обшивка из акации", - "block.firmaciv.wood.canoe_component_block.acacia": "Компонент каноэ из акации", - "block.firmaciv.wood.watercraft_frame.flat.ash": "Плита корабельной обшивки из ясеня", - "block.firmaciv.wood.watercraft_frame.angled.ash": "Ступенчатая корабельная обшивка из ясеня", - "block.firmaciv.wood.canoe_component_block.ash": " Компонент каноэ из ясеня", - "block.firmaciv.wood.watercraft_frame.flat.": "Плита корабельной обшивки из осины", - "block.firmaciv.wood.watercraft_frame.angled.": "Ступенчатая корабельная обшивка из осины", - "block.firmaciv.wood.canoe_component_block.": "Компонент каноэ из осины", - "block.firmaciv.wood.watercraft_frame.flat.birch": "Плита корабельной обшивки из берёзы", - "block.firmaciv.wood.watercraft_frame.angled.birch": "Ступенчатая корабельная обшивка из берёзы", - "block.firmaciv.wood.canoe_component_block.birch": "Компонент каноэ из берёзы", - "block.firmaciv.wood.watercraft_frame.flat.blackwood": "Плита корабельной обшивки из гренадила", - "block.firmaciv.wood.watercraft_frame.angled.blackwood": "Ступенчатая корабельная обшивка из гренадила", - "block.firmaciv.wood.canoe_component_block.blackwood": "Компонент каноэ из гренадила", - "block.firmaciv.wood.watercraft_frame.flat.chestnut": "Плита корабельной обшивки из каштана", - "block.firmaciv.wood.watercraft_frame.angled.chestnut": "Ступенчатая корабельная обшивка из каштана", - "block.firmaciv.wood.canoe_component_block.chestnut": "Компонент каноэ из каштана", - "block.firmaciv.wood.watercraft_frame.flat.douglas_fir": "Плита корабельной обшивки из дугласовой пихты", - "block.firmaciv.wood.watercraft_frame.angled.douglas_fir": "Ступенчатая корабельная обшивка из дугласовой пихты", - "block.firmaciv.wood.canoe_component_block.douglas_fir": "Компонент каноэ из дугласовой пихты", - "block.firmaciv.wood.watercraft_frame.flat.hickory": "Плита корабельной обшивки из ореха", - "block.firmaciv.wood.watercraft_frame.angled.hickory": "Ступенчатая корабельная обшивка из ореха", - "block.firmaciv.wood.canoe_component_block.hickory": "Компонент каноэ из ореха", - "block.firmaciv.wood.watercraft_frame.flat.kapok": "Плита корабельной обшивки из сейбы", - "block.firmaciv.wood.watercraft_frame.angled.kapok": "Ступенчатая корабельная обшивка из сейбы", - "block.firmaciv.wood.canoe_component_block.kapok": "Компонент каноэ из сейбы", - "block.firmaciv.wood.watercraft_frame.flat.mangrove": "Плита корабельной обшивки из мангры", - "block.firmaciv.wood.watercraft_frame.angled.mangrove": "Ступенчатая корабельная обшивка из мангры", - "block.firmaciv.wood.canoe_component_block.mangrove": "Компонент каноэ из мангры", - "block.firmaciv.wood.watercraft_frame.flat.maple": "Плита корабельной обшивки из клёна", - "block.firmaciv.wood.watercraft_frame.angled.maple": "Ступенчатая корабельная обшивка из клёна", - "block.firmaciv.wood.canoe_component_block.maple": "Компонент каноэ из клёна", - "block.firmaciv.wood.watercraft_frame.flat.oak": "Плита корабельной обшивки из дуба", - "block.firmaciv.wood.watercraft_frame.angled.oak": "Ступенчатая корабельная обшивка из дуба", - "block.firmaciv.wood.canoe_component_block.oak": "Компонент каноэ из дуба", - "block.firmaciv.wood.watercraft_frame.flat.palm": "Плита корабельной обшивки из пальмы", - "block.firmaciv.wood.watercraft_frame.angled.palm": "Ступенчатая корабельная обшивка из пальмы", - "block.firmaciv.wood.canoe_component_block.palm": "Компонент каноэ из пальмы", - "block.firmaciv.wood.watercraft_frame.flat.pine": "Плита корабельной обшивки из сосны", - "block.firmaciv.wood.watercraft_frame.angled.pine": "Ступенчатая корабельная обшивка из сосны", - "block.firmaciv.wood.canoe_component_block.pine": "Компонент каноэ из сосны", - "block.firmaciv.wood.watercraft_frame.flat.rosewood": "Плита корабельной обшивки из палисандра", - "block.firmaciv.wood.watercraft_frame.angled.rosewood": "Ступенчатая корабельная обшивка из палисандра", - "block.firmaciv.wood.canoe_component_block.rosewood": "Компонент каноэ из палисандра", - "block.firmaciv.wood.watercraft_frame.flat.sequoia": "Плита корабельной обшивки из секвойи", - "block.firmaciv.wood.watercraft_frame.angled.sequoia": "Ступенчатая корабельная обшивка из секвойи", - "block.firmaciv.wood.canoe_component_block.sequoia": "Компонент каноэ из секвойи", - "block.firmaciv.wood.watercraft_frame.flat.spruce": "Плита корабельной обшивки из ели", - "block.firmaciv.wood.watercraft_frame.angled.spruce": "Ступенчатая корабельная обшивка из ели", - "block.firmaciv.wood.canoe_component_block.spruce": "Компонент каноэ из ели", - "block.firmaciv.wood.watercraft_frame.flat.sycamore": "Плита корабельной обшивки из платана", - "block.firmaciv.wood.watercraft_frame.angled.sycamore": "Ступенчатая корабельная обшивка из платана", - "block.firmaciv.wood.canoe_component_block.sycamore": "Компонент каноэ из платана", - "block.firmaciv.wood.watercraft_frame.flat.white_cedar": "Плита корабельной обшивки из белого кедра", - "block.firmaciv.wood.watercraft_frame.angled.white_cedar": "Ступенчатая корабельная обшивка из белого кедра", - "block.firmaciv.wood.canoe_component_block.white_cedar": "Компонент каноэ из белого кедра", - "block.firmaciv.wood.watercraft_frame.flat.willow": "Плита корабельной обшивки из ивы", - "block.firmaciv.wood.watercraft_frame.angled.willow": "Ступенчатая корабельная обшивка из ивы", - "block.firmaciv.wood.canoe_component_block.willow": "Компонент каноэ из ивы", - "block.firmaciv.watercraft_frame_angled": "Ступенчатая корабельная обшивка", - "block.firmaciv.watercraft_frame_flat": "Плита корабельной обшивки", - "item.firmaciv.unfinished_barometer": "Незаконченный барометр", - "item.firmaciv.unfinished_nav_clock": "Незаконченный морской хронометр", - "item.firmaciv.unfinished_sextant": "Незаконченный секстант", - "item.firmaciv.cannon_barrel": "Пушечный ствол", - "item.firmaciv.small_triangular_sail": "Маленький парус", - "item.firmaciv.medium_triangular_sail": "Средний парус", - "item.firmaciv.large_triangular_sail": "Большой парус", - "item.firmaciv.rope_coil": "Моток верёвки", - "item.firmaciv.cannon": "Пушка", - "item.firmaciv.sloop_icon_only": "ICON ONLY", - "item.firmaciv.canoe_icon_only": "ICON ONLY", - "item.firmaciv.canoe_with_paddle_icon_only": "ICON ONLY", - "item.firmaciv.kayak_with_paddle_icon_only": "ICON ONLY", - "item.firmaciv.rowboat_icon_only": "ICON ONLY", - "item.firmaciv.copper_bolt": "Медный болт", - "item.firmaciv.kayak": "Каяк", - "item.firmaciv.large_waterproof_hide": "Большая водонепроницаемая шкура", - "item.firmaciv.nav_toolkit": "Набор инструментов для навигации", - "item.firmaciv.barometer": "Барометр", - "item.firmaciv.sextant": "Секстант", - "item.firmaciv.nav_clock": "Морской хронометр", - "item.firmaciv.firmaciv_compass": "Компас (склонение: Истинный север)", - "item.firmaciv.kayak_paddle": "Весло для каяка", - "item.firmaciv.canoe_paddle": "Весло для каноэ", - "block.firmaciv.wood.acacia_roofing": "Кровля из акации", - "block.firmaciv.wood.ash_roofing": "Кровля из ясеня", - "block.firmaciv.wood.aspen_roofing": "Кровля из осины", - "block.firmaciv.wood.birch_roofing": "Кровля из берёзы", - "block.firmaciv.wood.blackwood_roofing": "Кровля из гренадила", - "block.firmaciv.wood.chestnut_roofing": "Кровля из каштана", - "block.firmaciv.wood.douglas_fir_roofing": "Кровля из дугласовой пихты", - "block.firmaciv.wood.hickory_roofing": "Кровля из гикори", - "block.firmaciv.wood.kapok_roofing": "Кровля из сейбы", - "block.firmaciv.wood.mangrove_roofing": "Кровля из мангры", - "block.firmaciv.wood.maple_roofing": "Кровля из клёна", - "block.firmaciv.wood.oak_roofing": "Кровля из дуба", - "block.firmaciv.wood.palm_roofing": "Кровля из пальмы", - "block.firmaciv.wood.pine_roofing": "Кровля из сосны", - "block.firmaciv.wood.rosewood_roofing": "Кровля из палисандра", - "block.firmaciv.wood.sequoia_roofing": "Кровля из секвойи", - "block.firmaciv.wood.spruce_roofing": "Кровля из ели", - "block.firmaciv.wood.sycamore_roofing": "Кровля из платана", - "block.firmaciv.wood.white_cedar_roofing": "Кровля из белого кедра", - "block.firmaciv.wood.willow_roofing": "Кровля из ивы" + "firmaciv.jei.transfer.error.barrel_sealed": "В настоящее время бочка опечатана" } \ No newline at end of file diff --git a/kubejs/assets/firmalife/lang/ru_ru.json b/kubejs/assets/firmalife/lang/ru_ru.json index c78ffad25..e0d52c7eb 100644 --- a/kubejs/assets/firmalife/lang/ru_ru.json +++ b/kubejs/assets/firmalife/lang/ru_ru.json @@ -3,12 +3,21 @@ "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "Состаренная верхушка крыши теплицы из обработанного воском дерева", "block.firmalife.weathered_treated_wood_greenhouse_roof": "Состаренная крыша теплицы из обработанного воском дерева", "block.firmalife.weathered_treated_wood_greenhouse_wall": "Состаренная стена теплицы из обработанного воском дерева", + "block.firmalife.weathered_treated_wood_greenhouse_port": "Состаренный порт теплицы из обработанного воском дерева", + "block.firmalife.weathered_treated_wood_greenhouse_panel_wall": "Состаренная панельная стена из обработанного воском дерева", + "block.firmalife.weathered_treated_wood_greenhouse_panel_roof": "Состаренная панельная крыша из обработанного воском дерева", + "block.firmalife.weathered_treated_wood_greenhouse_trapdoor": "Состаренный люк теплицы из обработанного воском дерева", "block.firmalife.weathered_treated_wood_greenhouse_door": "Состаренная дверь теплицы из обработанного воском дерева", "block.firmalife.treated_wood_greenhouse_roof_top": "Верхушка крыши теплицы из обработанного воском дерева", "block.firmalife.treated_wood_greenhouse_roof": "Крыша теплицы из обработанного воском дерева", "block.firmalife.treated_wood_greenhouse_wall": "Стена теплицы из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_port": "Порт теплицы из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_panel_wall": "Панельная стена из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_panel_roof": "Панельная крыша из обработанного воском дерева", + "block.firmalife.treated_wood_greenhouse_trapdoor": "Люк теплицы из обработанного воском дерева", "block.firmalife.treated_wood_greenhouse_door": "Дверь теплицы из обработанного воском дерева", - "greenhouse.firmalife.treated_wood": "Обработанные воском доски", "block.firmalife.treated_wood": "Обработанные воском доски", - "item.firmalife.treated_lumber": "Обработанная воском доска" + "item.firmalife.treated_lumber": "Обработанная воском доска", + "greenhouse.firmalife.treated_wood": "Обработанные воском доски", + "firmalife.jade.needs_peel": "Нужны клещи или прихватки для безопастного извелечения продукции" } \ No newline at end of file diff --git a/kubejs/assets/ftbbackups/lang/uk_ua.json b/kubejs/assets/ftbbackups/lang/uk_ua.json new file mode 100644 index 000000000..ecc7b5742 --- /dev/null +++ b/kubejs/assets/ftbbackups/lang/uk_ua.json @@ -0,0 +1,8 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "ftbbackups2.backup.starting": "Запуск резервного копіювання сервера", + "ftbbackups2.backup.failed": "Не вдалося створити резервну копію", + "ftbbackups2.backup.finished": "Завершено створення резервної копії", + "Backup finished in ": "Резервне копіювання завершено за ", + " Size: ": " Розмір: " +} \ No newline at end of file diff --git a/kubejs/assets/ftbchunks/lang/uk_ua.json b/kubejs/assets/ftbchunks/lang/uk_ua.json new file mode 100644 index 000000000..d33a3c72a --- /dev/null +++ b/kubejs/assets/ftbchunks/lang/uk_ua.json @@ -0,0 +1,337 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "ftbchunks": "FTB Chunks", + "ftbchunks.zoom_warning": "Максимальне віддалення масштабування обмежено через обмеження пам’яті", + "ftbchunks.appearance": "Зовнішній вигляд", + "ftbchunks.appearance.noise": "Шум", + "ftbchunks.appearance.shadows": "Тіні", + "ftbchunks.appearance.chunk_grid": "Сітка чанків", + "ftbchunks.appearance.reduced_color_palette": "Зменшена палітра кольорів", + "ftbchunks.appearance.saturation": "Насиченість", + "ftbchunks.appearance.claimed_chunks_on_map": "Показувати зайняті чанки на мапі", + "ftbchunks.appearance.own_claimed_chunks_on_map": "Показувати власні зайняті чанки на мапі", + "ftbchunks.appearance.map_mode": "Режим карти", + "ftbchunks.appearance.biome_blend": "Змішування біомів", + "ftbchunks.biome_blend.none": "Немає (Найшвидше)", + "ftbchunks.biome_blend.blend_3x3": "Змішування 3x3", + "ftbchunks.biome_blend.blend_5x5": "Змішування 5х5", + "ftbchunks.biome_blend.blend_7x7": "Змішування 7х7", + "ftbchunks.biome_blend.blend_9x9": "Змішування 9х9", + "ftbchunks.biome_blend.blend_11x11": "Змішування 11х11", + "ftbchunks.biome_blend.blend_13x13": "Змішування 13х13", + "ftbchunks.biome_blend.blend_15x15": "Змішування 15x15 (Найповільніше)", + "ftbchunks.appearance.water_height_factor": "Коефіцієнт висоти води", + "ftbchunks.appearance.only_surface_entities": "Лише поверхневі сутності", + "ftbchunks.advanced": "Розширені налаштування", + "ftbchunks.advanced.debug_info": "Інформація налагодження", + "ftbchunks.waypoints": "Мітки", + "ftbchunks.waypoints.in_world_waypoints": "Показувати мітку у світі", + "ftbchunks.waypoints.death_waypoints": "Створювати мітки смерті після загибелі", + "ftbchunks.waypoints.death_waypoint_autoremove_distance": "Автоматичне видалення мітки смерті за відстанню", + "ftbchunks.waypoints.death_waypoint_autoremove_distance.tooltip": "Якщо > 0, найближча мітка смерті буде автоматично видалена, якщо вона знаходиться ближче за цю відстань до вас", + "ftbchunks.waypoints.waypoint_fade_distance": "Мінімальна відстань згасання маяка", + "ftbchunks.waypoints.waypoint_dot_fade_distance": "Мінімальна відстань згасання точок", + "ftbchunks.waypoints.waypoint_max_distance": "Максимальна відстань зображення міток", + "ftbchunks.waypoints.waypoint_focus_distance": "Фокусна відстань мітки", + "ftbchunks.waypoints.waypoint_focus_distance.tooltip": "Наскільки близько приціл гравця має бути до мітки, щоб зобразилася її назва?", + "ftbchunks.waypoints.waypoint_focus_scale": "Масштабування сфокусованої мітки", + "ftbchunks.waypoints.waypoint_focus_scale.tooltip": "Наскільки збільшуються сфокусовані мітки?", + "ftbchunks.advanced.memory": "Використання пам'яті", + "ftbchunks.advanced.memory.region_release_time": "Тайм-аут звільнення неактивного регіону", + "ftbchunks.advanced.memory.region_release_time.tooltip": "Тайм-аут у секундах для звільнення даних 512x512 регіонів, до яких не було доступу останнім часом \nМенші значення зменшують використання пам’яті, але збільшують кількість звернень до диска під час повторного завантаження регіонів \nВстановіть 0, щоб вимкнути звільнення даних регіонів.", + "ftbchunks.advanced.memory.autorelease_on_map_close": "Автоматично звільняти регіони при закритті мапи", + "ftbchunks.advanced.memory.autorelease_on_map_close.tooltip": "Коли велика мапа закривається, автоматично звільняти дані регіонів до цього значення \nМенші значення зменшують використання пам’яті, але збільшують кількість звернень до диска під час повторного завантаження регіонів \nВстановіть 0, щоб вимкнути звільнення даних регіонів.", + "ftbchunks.advanced.memory.max_zoom_constraint": "Constrain map zoom-out", + "ftbchunks.advanced.memory.max_zoom_constraint.tooltip": "Якщо увімкнено, максимальне віддалення мапи обмежується кількістю досліджених регіонів та обсягом доступної пам’яті \nЯкщо це заважає, встановіть значення Вимкнено.", + "ftbchunks.minimap": "Мінікарта", + "ftbchunks.minimap.enabled": "Увімкнено", + "ftbchunks.minimap.position": "Позиція", + "ftbchunks.minimap.position_offset_x": "Зсув позиції X", + "ftbchunks.minimap.position_offset_y": "Зсув позиції Y", + "ftbchunks.minimap.position_offset_condition": "Умова зсуву позиції", + "ftbchunks.minimap.position.none": "Немає", + "ftbchunks.minimap.position.bottom_left": "Нижній лівий", + "ftbchunks.minimap.position.left": "Лівий", + "ftbchunks.minimap.position.top_left": "Верхній лівий", + "ftbchunks.minimap.position.top_right": "Верхній правий", + "ftbchunks.minimap.position.right": "Праворуч", + "ftbchunks.minimap.position.bottom_right": "Нижній правий", + "ftbchunks.minimap.scale": "Масштаб", + "ftbchunks.minimap.locked_north": "Фіксувати північ", + "ftbchunks.minimap.show_player_when_unlocked": "Показувати гравця, якщо північ не зафіксована", + "ftbchunks.minimap.waypoints": "Мітки", + "ftbchunks.minimap.entities": "Сутності", + "ftbchunks.minimap.entity_heads": "Голови сутностей", + "ftbchunks.minimap.player_heads": "Голови гравців", + "ftbchunks.minimap.large_entities": "Великі сутності", + "ftbchunks.minimap.zoom": "Масштабування", + "ftbchunks.minimap.xyz": "XYZ", + "ftbchunks.minimap.biome": "Біом", + "ftbchunks.minimap.blur_mode": "Режим розмивання", + "ftbchunks.minimap.blur_mode.auto": "Авто", + "ftbchunks.minimap.blur_mode.on": "Увімкнути", + "ftbchunks.minimap.blur_mode.off": "Вимкнути", + "ftbchunks.minimap.compass": "Компас", + "ftbchunks.minimap.reticle": "Лінії прицілу", + "ftbchunks.minimap.visibility": "Видимість", + "ftbchunks.minimap.zone": "Зона", + "ftbchunks.minimap.square": "Квадратна мінімапа", + "ftbchunks.minimap.font_scale": "Масштабування шрифту", + "ftbchunks.minimap.font_scale.tooltip": "Рекомендовано використовувати значення, кратне 0.5", + "ftbchunks.minimap.proportional": "Пропорційне масштабування", + "ftbchunks.minimap.proportional.tooltip": "Якщо увімкнено, розмір мінімапи становить 10% ширини екрана (можна змінити через параметр Масштаб). \nЯкщо вимкнено, мінімапа має фіксований розмір незалежно від роздільної здатності екрана", + "ftbchunks.minimap.pointer_icon_mode": "Режим великої іконки покажчика на мінікарти", + "ftbchunks.minimap.pointer_icon_mode_minimap": "Режим іконки покажчика на мінікарити", + "ftbchunks.minimap.pointer_icon_mode.both": "Обидва", + "ftbchunks.minimap.pointer_icon_mode.pointer": "Вказівник", + "ftbchunks.minimap.pointer_icon_mode.face": "Іконка обличчя", + "ftbchunks.minimap.text_above_minimap": "Показувати текст над мінікартою", + "sidebar_button.ftbchunks.chunks": "FTB Chunks: Карта", + "sidebar_button.ftbchunks.claim_chunks": "FTB Chunks: Менеджер привласнення", + "key.categories.ftbchunks": "FTB Chunks", + "key.ftbchunks.map": "Відкрити карту", + "key.ftbchunks.claim_manager": "Відкрити менеджер привласнення", + "key.ftbchunks.minimap.zoomIn": "Збільшити мінікарту", + "key.ftbchunks.minimap.zoomOut": "Зменшити мінікарту", + "key.ftbchunks.add_waypoint": "Швидке додавання міток", + "key.ftbchunks.waypoint_manager": "Менеджер міток", + "key.ftbchunks.toggle_minimap": "Перемкнути мінікарту", + "wilderness": "Дика місцевість", + "ftbchunks.no_server_mod": "FTB Chunks потребує встановлення моду на сервері!", + "ftbchunks.already_claimed": "Чанк уже привласнений гравцем %s", + "ftbchunks.waypoint_added": "Мітку '%s' додано", + "ftbchunks.deathpoint_removed": "Мітку '%s' автоматично видалено", + "ftbchunks.gui.claimed": "Привласнено", + "ftbchunks.gui.force_loaded": "Примусове завантаження", + "ftbchunks.gui.force_load_expires": "Примусове завантаження завершується", + "ftbchunks.gui.allies": "Союзники", + "ftbchunks.gui.ally_whitelist": "Білий список союзників", + "ftbchunks.gui.ally_blacklist": "Чорний список союзників", + "ftbchunks.gui.large_map": "Велика карта", + "ftbchunks.gui.claimed_chunks": "Привласнені чанки", + "ftbchunks.gui.waypoints": "Менеджер міток", + "ftbchunks.gui.add_waypoint": "Додати мітку", + "ftbchunks.gui.edit_waypoint": "Редагувати мітку", + "ftbchunks.gui.settings": "Налаштування", + "ftbchunks.gui.settings.server": "Налаштування сервера", + "ftbchunks.gui.sync": "Поділитися картою з союзниками", + "ftbchunks.gui.clear_deathpoints": "Очистити всі мітки смерті", + "ftbchunks.gui.delete_waypoint": "Видалити мітку '%s'?", + "ftbchunks.gui.change_color": "Змінити колір", + "ftbchunks.gui.edit": "Редагувати", + "ftbchunks.gui.hold_alt_for_dates": "Утримуйте Alt: показати абсолютний час", + "ftbchunks.gui.mouse_wheel_expiry": "Коліщатко миші: змінити час завершення примусового завантаження", + "ftbchunks.gui.teleport": "Телепортація", + "ftbchunks.gui.large_map_info": "Довідник клавіш/миші", + "ftbchunks.gui.large_map_info.text": "Миша\nЛіва кнопка — Клік/перетягування для переміщення карти\nПрава кнопка — Контекстне меню\nКоліщатко миші — Обертання для масштабування\n\nКлавіші\nПробіл — Центрувати карту на гравці\nC — Відкрити екран привласнення чанків\nT — Телепортація до точки (потрібні права оператора)\nS — Відкрити екран налаштувань\nCtrl + S — Відкрити серверні налаштування (потрібні права оператора)\nF3 + G — Перемикання сітки чанків", + "ftbchunks.gui.chunk_info": "Довідник привласнення чанків", + "ftbchunks.gui.chunk_info.text": "Привласнення\nЛіва кнопка — Перетягніть для привласнення області \nПрава кнопка — Перетягніть для скасування привласнення області\n\nПримусове завантаження\nShift + ліва кнопка — Перетягніть для примусового завантаження області \nShift + права кнопка — Перетягніть для скасування примусового завантаження \nКоліщатко миші — Обертайте на примусово завантаженому чанку для зміни часу завершення\n\nІнше\nTab — Утримуйте для приховування сітки чанків \nAlt — Утримуйте для показу абсолютного часу привласнення/завантаження чанків", + "ftbchunks.gui.delete": "Видалити", + "ftbchunks.gui.quick_delete": "Швидке видалення", + "ftbchunks.gui.opened_as": "Відкрито як %s", + "ftbchunks.gui.admin_mode_disabled": "Режим адміністратора: вимкнено", + "ftbchunks.gui.admin_mode_enabled": "Режим адміністратора: увімкнено", + "ftbchunks.gui.admin_mode_info": "Якщо увімкнено, ви можете змінювати чанки незалежно від власника", + "ftbchunks.gui.unclaim_all": "Скасувати всі привласнення", + "ftbchunks.gui.unclaim_all.description": "Скасувати привласнення всіх чанків, видимих на карті?", + "ftbchunks.gui.entity_icon_settings": "Налаштування іконок сутностей", + "ftbchunks.gui.enabled_disabled_count": "Увімкнено: %d, Вимкнено: %d", + "ftbchunks.gui.label.dimension": "Розмір", + "ftbchunks.gui.label.name": "Назва", + "ftbchunks.gui.waypoint.no_name": "Будь ласка, введiть iм'я", + "ftbchunks.gui.no_waypoints": "Без міток", + "ftbteamsconfig.ftbchunks": "Властивості FTB Chunks", + "ftbteamsconfig.ftbchunks.allow_fake_players": "Дозволити всіх фальшивих гравців", + "ftbteamsconfig.ftbchunks.allow_fake_players.tooltip": "Вважати всіх фальшивих гравців союзниками команди \nУВАГА: Якщо ввімкнути цей параметр, ворожі гравці можуть отримати доступ до ваших привласнених чанків через будь-якого фейкового гравця. Вимкніть, якщо не впевнені.", + "ftbteamsconfig.ftbchunks.allow_named_fake_players": "Імена/ID союзних фальшивих гравців", + "ftbteamsconfig.ftbchunks.allow_named_fake_players.tooltip": "Вважати цих фальшивих гравців союзниками команди \nУВАГА: Додавання записів сюди може дозволити ворожим гравцям отримати доступ до ваших привласнених чанків через зазначених фейкових гравців. Залиште поле порожнім, якщо не впевнені.", + "ftbteamsconfig.ftbchunks.allow_fake_players_by_id": "Дозволити фальшивих гравців за ID", + "ftbteamsconfig.ftbchunks.allow_fake_players_by_id.tooltip": "Дозволяє фальшивих гравцям з ID реального гравця доступ до ваших привласнених чанків, якщо цей реальний гравець має дозвіл — як союзник або учасник команди. Увімкніть, якщо не впевнені.", + "ftbteamsconfig.ftbchunks.allow_explosions": "Дозволити шкоду від вибухів", + "ftbteamsconfig.ftbchunks.allow_explosions.tooltip": "Чи повинні вибухи завдавати шкоди блокам у привласнених чанках?", + "ftbteamsconfig.ftbchunks.allow_pvp": "Дозволити PvP", + "ftbteamsconfig.ftbchunks.allow_pvp.tooltip": "Чи дозволяти PvP у привласнених чанках? \nДля роботи цієї функції параметр сервера 'Allow PvP Combat' має бути встановлений у значення «per_team». \nНе гарантується захист від 100\u202F% непрямих атак; потрібна можливість прив’язати джерело шкоди до конкретного гравця", + "ftbteamsconfig.ftbchunks.allow_mob_griefing": "Дозволити дії гриферства мобів", + "ftbteamsconfig.ftbchunks.allow_mob_griefing.tooltip": "Чи дозволяти мобам завдавати шкоди блокам у привласнених чанках? \nПримітка: наразі це стосується лише ендерменів; у майбутньому можуть бути додані й інші моби. \nВибухи кріперів контролюються параметром \"Дозволити вибухи\"", + "ftbteamsconfig.ftbchunks.block_edit_and_interact_mode": "Режим редагування/взаємодії з блоками", + "ftbteamsconfig.ftbchunks.block_edit_and_interact_mode.tooltip": "Використовується, коли блоки розміщюються, ламаються або з ними взаємодіють", + "ftbteamsconfig.ftbchunks.block_edit_mode": "Режим редагування блоків", + "ftbteamsconfig.ftbchunks.block_edit_mode.tooltip": "Використовується, коли блоки розміщуються або ламаються", + "ftbteamsconfig.ftbchunks.block_interact_mode": "Режим взаємодії з блоками", + "ftbteamsconfig.ftbchunks.block_interact_mode.tooltip": "Використовується, коли по блоках клацають ПКМ, напр., відкривання скрині чи перемикання важеля", + "ftbteamsconfig.ftbchunks.entity_interact_mode": "Режим взаємодії з сутностями", + "ftbteamsconfig.ftbchunks.entity_interact_mode.tooltip": "Використовується, коли по сутностях ПКМ", + "ftbteamsconfig.ftbchunks.nonliving_entity_attack_mode": "Режим атаки неживих сутностей", + "ftbteamsconfig.ftbchunks.nonliving_entity_attack_mode.tooltip": "Використовується, коли по неживих сутностях (картини, рамки для предметів тощо) клацають лівою кнопкою миші", + "ftbteamsconfig.ftbchunks.minimap_mode": "Режим міні карти", + "ftbteamsconfig.ftbchunks.location_mode": "Видимість місцеперебування", + "ftbteamsconfig.ftbchunks.location_mode.tooltip": "Визначає, хто може бачити вас на карті чи мінікарті (поза межами стандартного діапазону відстеження у ванілі)", + "ftbteamsconfig.ftbchunks.claim_visibility": "Видимість привласнень", + "ftbteamsconfig.ftbchunks.claim_visibility.tooltip": "Визначає, хто може бачити ваші привласнення на карті чи мінікарті", + "ftbchunks.fake_players": "Фальшиві гравці", + "ftbchunks.claiming": "Привласнення чанків", + "ftbchunks.force_loading": "Примусове завантаження", + "ftbchunks.fake_players.fake_players": "Дозволити фальшивих гравців", + "ftbchunks.fake_players.fake_players.tooltip": "CHECK: перевіряти доступ фальшивих гравців так само, як і справжніх \nDENY: ніколи не дозволяти фальшивим гравцям \nALLOW: завжди дозволяти фальшивих гравців", + "ftbchunks.claiming.max_claimed_chunks": "Максимальна кількість привласнених чанків на гравця", + "ftbchunks.claiming.max_claimed_chunks.tooltip": "Це значення за замовчуванням можна перевизначити за допомогою вузла дозволу FTB Ranks `ftbchunks.max_claimed`.", + "ftbchunks.force_loading.max_force_loaded_chunks": "Максимальна кількість примусово завантажених чанків на гравця", + "ftbchunks.force_loading.max_force_loaded_chunks.tooltip": "Це значення за замовчуванням можна перевизначити за допомогою вузла дозволу FTB Ranks `ftbchunks.max_force_loaded`.", + "ftbchunks.force_loading.force_load_mode": "Режим офлайн примусового завантаження", + "ftbchunks.force_loading.force_load_mode.tooltip": "NEVER: дозволяти примусове завантаження чанків лише якщо в команді власника є хоча б один гравець онлайн \nALWAYS: завжди дозволяти примусове завантаження, навіть якщо жоден гравець не онлайн \nDEFAULT: дозволяти примусове завантаження, якщо в команді є хоча б один гравець з дозволом FTB Ranks `ftbchunks.chunk_load_offline`", + "ftbchunks.disable_protection": "Вимкнути захист привласнення", + "ftbchunks.disable_protection.tooltip": "Корисно для приватних серверів, де всі гравці довірені, а привласнення використовується лише для примусового завантаження чанків", + "ftbchunks.pvp_mode": "Дозволити PvP у привласнених чанках", + "ftbchunks.pvp_mode.tooltip": "ALWAYS: дозволити PvP у всіх привласнених чанках \nNEVER: заборонити PvP у всіх привласнених чанках \nPER_TEAM: команди можуть самостійно вирішувати, чи дозволено PvP у їхніх привласнених чанках через властивість команди", + "ftbchunks.ally_mode": "Дозволити гравцю змінювати налаштування союзників", + "ftbchunks.ally_mode.tooltip": "DEFAULT: статус союзника в FTB Teams використовується для визначення, чи є гравці союзниками \nFORCED_ALL: усі гравці завжди вважаються союзниками \nFORCED_NONE: жоден гравець ніколи не вважається союзником", + "ftbchunks.claiming.claim_dimension_blacklist": "Чорний список вимірів", + "ftbchunks.claiming.claim_dimension_blacklist.tooltip": "Чорний список ідентифікаторів вимірів, у яких заборонено привласнення чанків.\nНапр., додайте \"minecraft:the_end\" до цього списку, якщо хочете вимкнути привласнення чанків у Краю.\nДозволені шаблони «wildcards», напр., \"othermod:*\" відповідає всім вимірам, доданим \"othermod\"", + "ftbchunks.claiming.claim_dimension_whitelist": "Білий список вимірів", + "ftbchunks.claiming.claim_dimension_whitelist.tooltip": "Білий список ідентифікаторів вимірів, у яких дозволено привласнення чанків. \nЯкщо список не порожній, вимір *обов’язково* має бути в ньому (і водночас не входити до «Чорного списку вимірів»). \nСинтаксис такий самий, як і для «Чорного списку вимірів»", + "ftbchunks.no_wilderness": "Захист непривайнятих регіонів", + "ftbchunks.no_wilderness.tooltip": "Якщо увімкнено, чанки мають бути привласнені, перш ніж на них можна буде будувати", + "ftbchunks.no_wilderness_dimensions": "Захист непривайнятих регіонів для кожного виміру", + "ftbchunks.no_wilderness_dimensions.tooltip": "Список ідентифікаторів вимірів, у яких чанки мають бути привласнені перед внесенням змін. \nНапр., додайте \"minecraft:the_nether\", щоб вимагати привласнення чанків у Незері. \nДозволені шаблони «wildcards», напр., \"othermod:*\" відповідає всім вимірам, доданим \"othermod\"", + "ftbchunks.force_disable_minimap": "Вимкнути мінікарту для клієнтів", + "ftbchunks.claiming.max_idle_days_before_unclaim": "Макс кількість днів перед скасуванням привласнення", + "ftbchunks.claiming.max_idle_days_before_unclaim.tooltip": "Якщо жоден учасник команди не зайде в гру протягом зазначеної кількості днів, привласнені командою чанки буде звільнено. \nЗначення 0 вимикає автоматичне скасування привласнення.", + "ftbchunks.force_loading.max_idle_days_before_unforce": "Макс кількість днів перед скасуванням примусового завантаження", + "ftbchunks.force_loading.max_idle_days_before_unforce.tooltip": "Якщо жоден учасник команди не зайде в гру протягом зазначеної кількості днів, усі примусово завантажені чанки перестануть бути примусово завантаженими. \nЗначення 0 вимикає автоматичне скасування примусового завантаження.", + "ftbchunks.long_range_tracker_interval": "Інтервал далекодіючого відстежувача гравців", + "ftbchunks.long_range_tracker_interval.tooltip": "Інтервал у тактах для надсилання оновлень клієнтам із даними далекодіючого відстеження гравців. \nМенші значення означають частіші оновлення, але більші навантаження на сервер і мережевий трафік; будьте обережні з цим, особливо на завантажених серверах. \nЗначення 0 вимикає далекодіюче відстеження.", + "ftbchunks.protect_unknown_explosions": "Запобігати вибухам із невідомих джерел", + "ftbchunks.protect_unknown_explosions.tooltip": "Деякі джерела вибухів (наприклад, Ґасти) неможливо визначити в коді. \nЯкщо цей параметр увімкнено, шкода від таких вибухів запобігається у захищених чанках.", + "ftbchunks.claiming.hard_team_claim_limit": "Жорсткий макс ліміт привласнення для команди", + "ftbchunks.claiming.hard_team_claim_limit.tooltip": "Жорсткий ліміт привласнення для команд, незалежно від кількості учасників чи режиму обчислення ліміту. \nЗначення за замовчуванням 0 означає відсутність жорсткого ліміту.", + "ftbchunks.force_loading.hard_team_force_limit": "Жорсткий максимальний ліміт примусового завантаження для команди", + "ftbchunks.force_loading.hard_team_force_limit.tooltip": "Жорсткий ліміт примусового завантаження для команд, незалежно від кількості учасників чи режиму обчислення ліміту. \nЗначення за замовчуванням 0 означає відсутність жорсткого ліміту.", + "ftbchunks.claiming.party_limit_mode": "Режим обчислення ліміту для команди", + "ftbchunks.claiming.party_limit_mode.tooltip": "Метод, за яким обчислюються ліміти привласнення та примусового завантаження для команди. \nLARGEST: використовувати ліміти учасника з найбільшими значеннями \nSUM: підсумовувати ліміти всіх учасників \nOWNER: використовувати лише ліміти власника команди \nAVERAGE: використовувати середнє значення лімітів усіх учасників.", + "ftbchunks.require_game_stage": "Вимагати ігрову стадію для карти", + "ftbchunks.require_game_stage.tooltip": "Якщо увімкнено, гравці повинні мати ігрову стадію 'ftbchunks_mapping' (потрібні KubeJS та/або GameStages), щоб мати змогу відкрити карту або бачити мінікарту", + "ftbchunks.location_mode_override": "Перевизначити параметр команди \"Видимість розташування\"", + "ftbchunks.location_mode_override.tooltip": "Якщо увімкнено, параметри команди \"Видимість розташування\" ігноруються, і всі гравці можуть бачити одне одного будь-де на карті", + "ftbchunks.piston_protection": "Захист від поршнів", + "ftbchunks.piston_protection.tooltip": "Якщо увімкнено, поршні не можуть штовхати/тягнути блоки через привласнені території, що належать різним командам (якщо тільки блок не входить/не виходить із привласненої території з режимом редагування блоків, встановленим на \"Публічний\"). \nЯкщо параметр 'disable_protection' увімкнено, це налаштування ігнорується.", + "ftbchunks.fake_players.max_prevented_log_age": "Вік журналу блокування доступу фальшивих гравців", + "ftbchunks.fake_players.max_prevented_log_age.tooltip": "Вік у днях для збереження журналів заблокованого доступу фальшивих гравців \nПримітка: функція ще не повністю реалізована; у майбутньому буде використана для зображення та контролю доступу фальшивих гравців до ваших привласнених територій", + "ftbchunks.claim_result": "Змінено чанків: %d / %d", + "ftbchunks.claim_result.other": "Невідомі проблеми", + "ftbchunks.claim_result.not_owner": "Не є власником чанка", + "ftbchunks.claim_result.not_enough_power": "Досягнуто ліміту чанків", + "ftbchunks.claim_result.already_claimed": "Чанк уже привласнено", + "ftbchunks.claim_result.dimension_forbidden": "Привласнення у цьому вимірі заборонено", + "ftbchunks.claim_result.not_claimed": "Чанк не привласнено", + "ftbchunks.claim_result.already_loaded": "Чанк уже завантажено", + "ftbchunks.claim_result.not_loaded": "Чанк не завантажено", + "ftbchunks.need_to_claim_chunk": "Вам потрібно привласнити цей чанк, щоб взаємодіяти з блоками тут!", + "ftbchunks.action_prevented": "Взаємодію тут заблоковано захистом привласнення!", + "ftbchunks.label.show": "Показати", + "ftbchunks.label.hide": "Сховати", + "ftbchunks.message.no_pvp": "Бій PvP тут вимкнено", + "ftbchunks.game_time": "Час гри: %s", + "ftbchunks.real_time": "Реальний Час: %s", + "ftbchunks.fps": "FPS: %d", + "ftbchunks.minimap.show_game_time": "Показати ігровий час", + "ftbchunks.minimap.show_fps": "Показати FPS", + "ftbchunks.minimap.show_real_time": "Показувати реальний час", + "ftbchunks.minimap.entity_icon": "Видимість іконок сутностей", + "ftbchunks.waypoint.shared": "Поділився з вами міткою '%s'! Натисніть, щоб додати", + "ftbchunks.waypoint.shared_by_you": "Ви поділилися міткою '%s'!", + "ftbchunks.waypoint.share": "Поділитись", + "ftbchunks.waypoint.share.server": "Сервер", + "ftbchunks.waypoint.share.party": "Група", + "ftbchunks.waypoint.share.player": "Гравець", + "ftbchunks.waypoint_sharing": "Поділитися міткою", + "ftbchunks.waypoint_sharing.waypoint_sharing_party": "Дозволити спільний доступ до міток для групи", + "ftbchunks.waypoint_sharing.waypoint_sharing_server": "Дозволити спільний доступ до міток для сервера", + "ftbchunks.waypoint_sharing.waypoint_sharing_players": "Дозволити спільний доступ до міток для гравців", + "ftbchunks.team_prop_defaults": "Типові властивості команди", + "ftbchunks.team_prop_defaults.def_fake_players": "Дозволити всіх фальшивих гравців", + "ftbchunks.team_prop_defaults.def_fake_player_ids": "Дозволити фальшивих гравців за ID", + "ftbchunks.team_prop_defaults.def_named_fake_players": "Іменовані фальшиві гравці", + "ftbchunks.team_prop_defaults.def_allow_explosions": "Дозволити шкоду від вибухів", + "ftbchunks.team_prop_defaults.def_pvp": "Дозволити PvP", + "ftbchunks.team_prop_defaults.def_mob_griefing": "Дозволити дії гриферства мобів", + "ftbchunks.team_prop_defaults.def_block_edit_interact": "Режим редагування/взаємодії з блоками", + "ftbchunks.team_prop_defaults.def_block_edit": "Режим редагування блоків", + "ftbchunks.team_prop_defaults.def_block_interact": "Режим взаємодії з блоками", + "ftbchunks.team_prop_defaults.def_entity_interact": "Режим взаємодії з сутностями", + "ftbchunks.team_prop_defaults.def_entity_attack": "Режим атаки неживих сутностей", + "ftbchunks.team_prop_defaults.def_player_visibility": "Видимість місцезнаходження", + "ftbchunks.team_prop_defaults.def_claim_visibility": "Видимість привласнень", + "ftbchunks.map_mode.none": "Немає", + "ftbchunks.map_mode.night": "Ніч", + "ftbchunks.map_mode.topography": "Топографія", + "ftbchunks.map_mode.blocks": "Блоки", + "ftbchunks.map_mode.light_sources": "Джерела світла", + "ftbchunks.ally_mode.default": "За замовчуванням", + "ftbchunks.ally_mode.forced_all": "Примусово всі", + "ftbchunks.ally_mode.forced_none": "Примусово немає", + "ftbchunks.pvp_mode.always": "Завжди", + "ftbchunks.pvp_mode.never": "Ніколи", + "ftbchunks.pvp_mode.per_team": "Для команди", + "ftbchunks.party_limit_mode.largest": "Найбільший", + "ftbchunks.party_limit_mode.owner": "Власник", + "ftbchunks.party_limit_mode.sum": "Сума", + "ftbchunks.party_limit_mode.average": "Середнє", + "ftbchunks.force_load_mode.default": "За замовчуванням", + "ftbchunks.force_load_mode.never": "Ніколи", + "ftbchunks.force_load_mode.always": "Завжди", + "ftbchunks.time_mode.twenty_four": "Двадцять чотири", + "ftbchunks.time_mode.twelve": "Дванадцять", + "ftbchunks.time_mode.clock": "Годинник", + "ftbchunks.gui.move_up": "Перемістити вгору", + "ftbchunks.gui.move_down": "Перемістити вниз", + "minimap.info.ftbchunks.biome.title": "Біом", + "minimap.info.ftbchunks.biome.description": "Показувати біом", + "minimap.info.ftbchunks.fps.title": "FPS", + "minimap.info.ftbchunks.fps.description": "Показувати FPS", + "minimap.info.ftbchunks.game_time.title": "Час гри", + "minimap.info.ftbchunks.game_time.description": "Показувати час гри", + "minimap.info.ftbchunks.debug.title": "Налагодження", + "minimap.info.ftbchunks.debug.description": "Показувати налагоджування", + "minimap.info.ftbchunks.player_pos.title": "Позиція гравця", + "minimap.info.ftbchunks.player_pos.description": "Показувати позицію гравця", + "minimap.info.ftbchunks.real_time.title": "Реальний час", + "minimap.info.ftbchunks.real_time.description": "Показувати реальний час", + "minimap.info.ftbchunks.zone.title": "Зона", + "minimap.info.ftbchunks.zone.description": "Зона зображення", + "ftbchunks.gui.toggle_visibility_off": "Перемикач видимості — Вимкнено", + "ftbchunks.gui.toggle_visibility_on": "Перемикач видимості — Ввімкнено", + "ftbchunks.gui.sort_minimap_info": "Налаштування інформації мінікарти", + "ftbchunks.minimap.info_hidden": "Приховати інформацію мінікарти", + "ftbchunks.minimap.info_order": "Порядок інформації мінікарти", + "ftbchunks.minimap.info_settings": "Налаштування інформації", + "ftbchunks.show_wilderness.show_wilderness": "Показати дику місцевість", + "ftbchunks.show_wilderness.just_claimed": "Показувати лише зайняті чанки", + "tag.item.ftbchunks.right_click_blacklist": "Правий клац по чорному списку", + "tag.item.ftbchunks.right_click_whitelist": "Правий клац по білому списку", + "mob_category.monster": "Монстр", + "mob_category.creature": "Створіння", + "mob_category.ambient": "Фоновий", + "mob_category.axolotls": "Аксолотлі", + "mob_category.underground_water_creature": "Підземна водна істота", + "mob_category.water_creature": "Водна істота", + "mob_category.water_ambient": "Фонова вода", + "mob_category.misc": "Різне", + "ftbchunks.commands.claimed": "Зайняті чанки: %d", + "ftbchunks.commands.unclaimed": "Незайняті чанки: %d", + "ftbchunks.commands.force_loaded": "Примусово завантажені чанки: %d", + "ftbchunks.commands.unloaded": "Непримусово завантажені чанки: %d (з %d загалом зайнятих)", + "ftbchunks.commands.location": "Розташування: %s", + "ftbchunks.commands.owner": "Власник: ", + "ftbchunks.commands.is_force_loaded": "Примусово завантажено: %s", + "ftbchunks.commands.not_claimed": "Чанк не привласнено", + "ftbchunks.commands.cant_determined": "Не вдається визначити стан чанка", + "ftbchunks.commands.no_personal_info": "Не вдається отримати особисті дані команди для: %s", + "ftbchunks.command.extra_chunks_claimed": "%s має %d додаткових зайнятих чанків", + "ftbchunks.command.set_extra_chunks_claimed": "Встановити додаткові зайняті чанки на %d для %s", + "ftbchunks.command.extra_forceload_chunks": "%s має %d додаткових примусово завантажених чанків", + "ftbchunks.command.set_extra_forceload_chunks": "Встановити додаткові примусово завантажені чанки на %d для %s", + "ftbchunks.command.bypass_protection_enabled": "Обхід захисту: Увімкнено", + "ftbchunks.command.bypass_protection_disabled": "Обхід захисту: Вимкнено", + "ftbchunks.command.view_loaded": "Завантажені чанки: %d. Перевірте карту, щоб побачити завантажені чанки", + "ftbchunks.command.waypoint_added": "Додано мітку '%s'" +} \ No newline at end of file diff --git a/kubejs/assets/ftbessentials/lang/uk_ua.json b/kubejs/assets/ftbessentials/lang/uk_ua.json new file mode 100644 index 000000000..4f2e2f181 --- /dev/null +++ b/kubejs/assets/ftbessentials/lang/uk_ua.json @@ -0,0 +1,97 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "sidebar_button.ftbessentials.trash_can": "Смітник", + "ftbessentials.chat.status.start_record": "зараз записується!", + "ftbessentials.chat.status.stop_record": "більше не записується!", + "ftbessentials.chat.status.start_stream": "зараз транслюється!", + "ftbessentials.chat.status.stop_stream": "більше не транслюється!", + "ftbessentials.messages.kick_self": "Ви вигнали самі себе!", + "ftbessentials.feedback.limit_radius": "Обмеження радіуса до %s", + "ftbessentials.near.players_within": "%s гравець(ці) у межах %sм", + "ftbessentials.teleport_prevented": "Телепортацію було заблоковано!", + "ftbessentials.tpa.expired": "Запит TPA закінчився!", + "ftbessentials.muted": "Ви не можете користуватися чатом, вас було заглушено адміністратором!", + "ftbessentials.mute_expiry": "Закінчення заглушення через: %s", + "ftbessentials.enderchest.unable": "Неможливо відкрити інвентар ендерскрині!", + "ftbessentials.flight.disabled": "Політ вимкнено", + "ftbessentials.flight.enabled": "Політ увімкнено", + "ftbessentials.god_mode.disabled": "Режим бога вимкнено", + "ftbessentials.god_mode.enabled": "Режим бога увімкнено", + "ftbessentials.teleport.history_empty": "Історія телепортацій порожня!", + "ftbessentials.teleport.max_less_than_min": "Максимальна відстань телепортації не може бути меншою за мінімальну!", + "ftbessentials.rtp.not_here": "Ви не можете використовувати /rtp у цьому вимірі!", + "ftbessentials.rtp.looking": "Пошук випадкової локації...", + "ftbessentials.rtp.found": "Знайдено вдалу локацію після %s спроб(и) @ %s", + "ftbessentials.rtp.failed": "Не вдалося знайти дійсну локацію для телепортації!", + "ftbessentials.jump.failed": "Не можна стрибнути: %s", + "ftbessentials.kit.added_items": "Додано предмет(и) з набору '%s' до активного інвентарю", + "ftbessentials.kit.no_items": "Немає предметів для додавання до набору!", + "ftbessentials.kit.cant_store": "Неможливо зберегти набір в інвентарі: %s", + "ftbessentials.kit.created": "Набір '%s' створено", + "ftbessentials.kit.deleted": "Набір '%s' видалено", + "ftbessentials.kit.autogrant_modified": "Набір '%s' автопризначення змінено: %s", + "ftbessentials.kit.cooldown_modified": "Набір '%s' час відновлення змінено: %s", + "ftbessentials.kit.gave_to_players": "Набір '%s' видано %s гравцю(ям)", + "ftbessentials.kit.no_permission": "Немає дозволу на видачу набору '%s'", + "ftbessentials.kit.not_looking_at_block": "Не дивитеся на блок", + "ftbessentials.kit.not_enough_space": "Недостатньо місця в інвентарі для збереження набору", + "ftbessentials.kit_name": "Назва набору: %s", + "ftbessentials.kit.count": "%s набір(и)", + "ftbessentials.kit.cooldown": "Час відновлення: %s", + "ftbessentials.kit.cooldown.none": "Без часу відновлення", + "ftbessentials.kit.one_time": "Одноразове використання", + "ftbessentials.kit.one_time_only": "Набір \"%s\" є одноразовим (вже виданий \"%s\")", + "ftbessentials.kit.on_cooldown": "Набір \"%s\" на відновленні — залишилось %s", + "ftbessentials.kit.autogranted": "Автоматично видано під час входу гравця", + "ftbessentials.kit.items": "Предмети:", + "ftbessentials.kit.no_such_kit": "Немає такого набору: '%s'", + "ftbessentials.kit.already_exists": "Набір '%s' вже існує", + "ftbessentials.kit.cooldown_reset": "Час відновлення для %s скинуто для UUID %s", + "ftbessentials.kit.cooldown_reset_all": "Час відновлення для %s скинуто для всіх гравців", + "ftbessentials.muted.muted": "Гравця %s було заглушено %s — тривалість: %s", + "ftbessentials.muted.unmuted": "Гравця %s було розглушено %s", + "ftbessentials.nick.too_long": "Нік занадто довгий!", + "ftbessentials.nick.reset": "Нік скинуто!", + "ftbessentials.nick.changed": "Нік змінено на '%s'", + "ftbessentials.duration.indefinite": "до подальшого повідомлення", + "ftbessentials.duration.expected_format": "Некоректний формат тривалості. Очікується: [smhdw]", + "ftbessentials.speed_boost": "Прискорення для %s (%s) = %s%%", + "ftbessentials.speed_boost.none": "Немає прискорення для %s", + "ftbessentials.leaderboard": "Таблиця лідерів [ %s ]", + "ftbessentials.leaderboard.no_data": "Немає даних!", + "ftbessentials.home.set": "Дім встановлено!", + "ftbessentials.home.too_many": "Не можна додати більше домів!", + "ftbessentials.home.deleted": "Дім видалено!", + "ftbessentials.home.not_found": "Дім не знайдено!", + "ftbessentials.home.show_home": "%s: за %s", + "ftbessentials.home.y_too_low": "Рівень Y занадто низький! Дім має бути встановлений вище Y=%s", + "ftbessentials.none": "Немає", + "ftbessentials.home.for_player": "Домівки для %s", + "ftbessentials.click_to_teleport": "Натисніть для телепортації", + "ftbessentials.unknown_player_id": "Невідомий ID гравця: %s", + "ftbessentials.unknown_player": "Невідомий гравець: %s", + "ftbessentials.tp_offline.player_is_online": "Гравець у мережі! Використайте звичайну команду /tp", + "ftbessentials.tp_offline.moved": "Офлайн-гравець %s переміщений до %s у %s", + "ftbessentials.tp_offline.cant_update": "Не вдалося оновити dat-файл: %s", + "ftbessentials.tpa.already_sent": "Запит уже надіслано!", + "ftbessentials.tpa.notify": "Запит TPA! [ %s ➡ %s ]", + "ftbessentials.tpa.click_one": "Натисніть один із цих варіантів: ", + "ftbessentials.tpa.accept": "Прийняти ✔️", + "ftbessentials.tpa.accept.tooltip": "Натисніть, щоб прийняти", + "ftbessentials.tpa.deny": "Відмовити❌", + "ftbessentials.tpa.deny.tooltip": "Натисніть щоб відмовити", + "ftbessentials.tpa.request_sent": "Запит надіслано!", + "ftbessentials.tpa.invalid_request": "Невірний запит!", + "ftbessentials.tpa.gone_offline": "Гравець вийшов із мережі!", + "ftbessentials.tpa.denied": "Запит відхилено!", + "ftbessentials.warp.set": "Варп встановлено!", + "ftbessentials.warp.deleted": "Варп видалено!", + "ftbessentials.warp.not_found": "Варп не знайдено!", + "ftbessentials.dimension_not_found": "Вимір не знайдено!", + "ftbessentials.unknown_dest": "Невідоме місце призначення!", + "ftbessentials.teleport.not_from_here": "Телепортація з вашого виміру заборонена!", + "ftbessentials.teleport.not_to_here": "Телепортація до цього виміру заборонена!", + "ftbessentials.teleport.on_cooldown": "Ще не можна телепортуватися! Час відновлення: %s", + "ftbessentials.teleport.interrupted": "Телепортацію перервано!", + "ftbessentials.teleport.notify": "Телепортація через %sс" +} \ No newline at end of file diff --git a/kubejs/assets/ftbfiltersystem/lang/uk_ua.json b/kubejs/assets/ftbfiltersystem/lang/uk_ua.json new file mode 100644 index 000000000..04e077c38 --- /dev/null +++ b/kubejs/assets/ftbfiltersystem/lang/uk_ua.json @@ -0,0 +1,68 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "ftbfiltersystem": "FTB Filter System", + "item.ftbfiltersystem.smart_filter": "Розумний фільтр", + "item.ftbfiltersystem.smart_filter.tooltip.1": "ПКМ: налаштувати фільтр", + "item.ftbfiltersystem.smart_filter.tooltip.2": "Shift+ПКМ: Протестувати фільтр із предметом в іншій руці", + "ftbfiltersystem.message.parse_failed": "Помилка аналізу фільтра: %s", + "ftbfiltersystem.message.not_a_filter": "Ви повинні тримати розумний фільтр в основній руці", + "ftbfiltersystem.message.not_configured": "Цей розумний фільтр не має налаштованих фільтрів", + "ftbfiltersystem.message.no_offhand_item": "Утримуйте предмет для тесту в іншій руці", + "ftbfiltersystem.message.matched": "Фільтр відповідає: %s", + "ftbfiltersystem.message.not_matched": "Фільтр не відповідає: %s", + "ftbfiltersystem.message.changes_saved": "Фільтр оновлно!", + "ftbfiltersystem.message.cache_cleared": "Очищено кеш скомпільованих фільтрів", + "ftbfiltersystem.message.components_header": "%s компонетн(ів) даних %s:", + "ftbfiltersystem.message.components_header_none": "Без компонентів даних", + "ftbfiltersystem.message.non_default_components": "Відображено лише нестандартні компоненти", + "ftbfiltersystem.gui.add": "Додати...", + "ftbfiltersystem.gui.delete": "Видалити", + "ftbfiltersystem.gui.configure": "Налаштувати...", + "ftbfiltersystem.gui.percentage": "Відсоток", + "ftbfiltersystem.gui.item_source.creative": "Творчий", + "ftbfiltersystem.gui.item_source.inventory": "Інвентар", + "ftbfiltersystem.gui.item_source.mod": "Мод", + "ftbfiltersystem.gui.nbt_ok": "SNBT проаналізовано успішно", + "ftbfiltersystem.gui.nbt_bad": "Не вдалося проаналізувати SNBT!", + "ftbfiltersystem.gui.filter_ok": "Фільтр проаналізовано успішно", + "ftbfiltersystem.gui.filter_bad": "Не вдалося проаналізувати фільтр!", + "ftbfiltersystem.gui.custom_id": "ID користувацької події:", + "ftbfiltersystem.gui.custom_data": "Додаткові користувацькі дані:", + "ftbfiltersystem.gui.changes_made": "Ви внесли зміни до цього фільтра", + "ftbfiltersystem.gui.changes_made.question": "Закрити редактор без зберігання?", + "ftbfiltersystem.gui.compound": "Комбіновані фільтри", + "ftbfiltersystem.gui.basic": "Базові фільтри", + "ftbfiltersystem.gui.fuzzy_match": "Нечіткий збіг компонентів?", + "ftbfiltersystem.gui.custom_name": "Власне ім'я", + "filter.ftbfiltersystem.and.name": "Усе з", + "filter.ftbfiltersystem.and.tooltip": "Комбінований фільтр: цей фільтр відповідає, якщо ВСІ його дочірні фільтри відповідають.", + "filter.ftbfiltersystem.or.name": "Будь-що з", + "filter.ftbfiltersystem.or.tooltip": "Комбінований фільтр: цей фільтр відповідає, якщо БУДЬ-ЯКИЙ з його дочірніх фільтрів відповідає.", + "filter.ftbfiltersystem.not.name": "Не", + "filter.ftbfiltersystem.not.tooltip": "Комбінований фільтр: цей фільтр відповідає, якщо його дочірній фільтр НЕ відповідає. Можна додати не більше одного дочірнього фільтра.", + "filter.ftbfiltersystem.only_one.name": "Один з", + "filter.ftbfiltersystem.only_one.tooltip": "Комбінований фільтр: цей фільтр відповідає, якщо відповідає лише ОДИН з його дочірніх фільтрів.", + "filter.ftbfiltersystem.block.name": "Є блоком", + "filter.ftbfiltersystem.block.tooltip": "Простий фільтр, який відповідає, якщо предмет є розміщуваним блоком.", + "filter.ftbfiltersystem.component.name": "Компонент предмета", + "filter.ftbfiltersystem.component.tooltip": "Збігається з компонентами даних предмета на предметі. Підтримує точні (всі компоненти повинні збігатися) і нечіткі збіги (тільки компоненти, що збігаються у фільтрі). Якщо у вас є права адміністратора, предмети у вашому інвентарі, які мають (нестандартні) дані компонентів, можна натиснути, щоб скопіювати їх поточні дані в текстовий редактор, серіалізовані як SNBT..", + "filter.ftbfiltersystem.durability.name": "Міцність", + "filter.ftbfiltersystem.durability.tooltip": "Відповідає предмету на основі його залишкової міцності. Предмети, які не можуть бути пошкоджені, вважаються такими, що мають міцність 0.", + "filter.ftbfiltersystem.food_value.name": "Харчова цінність", + "filter.ftbfiltersystem.food_value.tooltip": "Відповідає предмету на основі його харчової цінності (у половинках шматочків їжі)\nНехарчові предмети мають харчову цінність 0", + "filter.ftbfiltersystem.item.name": "Предмет", + "filter.ftbfiltersystem.item.tooltip": "Відповідає конкретному предмету. Дані компонентів предметів тут не перевіряються (див. Фільтр компонентів). Предмети можна вибирати зі списків предметів творчих вкладок або інвентаря. Використовуйте текстове поле для фільтрації ідентифікаторів предметів, щоб обмежити кількість відображуваних результатів.", + "filter.ftbfiltersystem.item_tag.name": "Назва", + "filter.ftbfiltersystem.item_tag.tooltip": "Відповідає тегу предмета; предмети, які знаходяться в тезі, будуть відповідати.\nВикористовуйте текстове поле для фільтрації відображених тегів предметів.", + "filter.ftbfiltersystem.stack_size.name": "Розмір стосу", + "filter.ftbfiltersystem.stack_size.tooltip": "Відповідає поточному розміру стосу предмета.", + "filter.ftbfiltersystem.max_stack_size.name": "Максимальний розмір стосу", + "filter.ftbfiltersystem.max_stack_size.tooltip": "Відповідає максимальному розміру стосу предмета.\nПредмети, що не складаються, відповідають значенню 1.", + "filter.ftbfiltersystem.mod.name": "Мод", + "filter.ftbfiltersystem.mod.tooltip": "Відповідає модифікації, яка додає предмет.\nПредмети звичайної гри відповідають «моду» Minecraft.", + "filter.ftbfiltersystem.custom.name": "Користувацький", + "filter.ftbfiltersystem.custom.tooltip": "Розширений фільтр, призначений для моддерів та розробників модпаків. Виконує CustomFilterEvent при спробі збігу; встановлює результат події, щоб вказати на успішний або невдалий збіг. Використовуйте текстове поле, щоб надати дані у довільній формі, які передаються до події як параметр \"data\".", + "filter.ftbfiltersystem.expression.name": "Вираз", + "filter.ftbfiltersystem.expression.tooltip": "Дозволяє ввести або завантажити буквальне вираження фільтра з предмета Фільтру у вашому інвентарі. Для більшої зрозумілості можна (але не обов'язково!) присвоїти йому власне ім'я.", + "filter.ftbfiltersystem.root.name": "Корінь (Усе з)" +} \ No newline at end of file diff --git a/kubejs/assets/ftblibrary/lang/uk_ua.json b/kubejs/assets/ftblibrary/lang/uk_ua.json new file mode 100644 index 000000000..0687398f7 --- /dev/null +++ b/kubejs/assets/ftblibrary/lang/uk_ua.json @@ -0,0 +1,114 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "gui.accept": "Прийняти", + "gui.add": "Додати", + "gui.added": "Додано", + "gui.remove": "Видалити", + "gui.removed": "Видалено", + "gui.close": "Закрити", + "gui.open": "Відкрити", + "gui.saved": "Збережено", + "gui.loaded": "Завантажено", + "gui.info": "Інформація", + "gui.collapse_all": "Згорнути всі", + "gui.expand_all": "Розгорнути всі", + "gui.download": "Завантажити", + "gui.downloaded": "Завантажено", + "gui.update": "Оновити", + "gui.updated": "Оновлено", + "gui.active": "Активний", + "gui.inactive": "Неактивний", + "gui.settings": "Налаштування", + "gui.rename": "Перейменувати", + "gui.search_box": "Пошук...", + "gui.move": "Перемістити", + "gui.copy": "Копіювати", + "gui.paste": "Вставити", + "gui.cut": "Вирізати", + "gui.other": "Інше", + "gui.server_forced": "Примушено сервером: %s", + "gui.online": "В мережі", + "gui.offline": "Не в мережі", + "gui.whitelist": "Білий список", + "gui.blacklist": "Чорний список", + "gui.color": "Колір", + "gui.downloading": "Завантаження...", + "gui.infinite": "Нескінченно", + "delete_item": "Ви дійсно хочете видалити %s?", + "lat_support": "Подобається мод? Натисніть, щоб підтримати мої проєкти!", + "ftblibrary.select_fluid.gui": "Обрати рідину", + "ftblibrary.select_item.list_mode": "Режим списку", + "ftblibrary.select_item.list_mode.all": "Всі предмети", + "ftblibrary.select_fluid.list_mode.all": "Всі рідини", + "ftblibrary.select_item.list_mode.inv": "Інвентар", + "ftblibrary.select_item.list_mode.jei": "JEI", + "ftblibrary.select_item.list_mode.rei": "REI", + "ftblibrary.select_item.list_mode.emi": "EMI", + "ftblibrary.select_item.count": "Установити розмір", + "ftblibrary.select_item.nbt": "Редагувати NBT\n§7Лівий клік: швидкий редактор рядків\n§7Правий клік: інтерактивний редактор NBT", + "ftblibrary.select_item.caps": "Редагувати можливості", + "ftblibrary.select_item.display_name": "Встановити зображуване ім'я", + "ftblibrary.select_image.scanning": "Сканування зображень: це може зайняти кілька секунд...", + "ftblibrary.select_image.rescan": "Пересканувати зображення", + "ftblibrary.select_image.all_images": "Всі зображення", + "ftblibrary.select_entity.all_entities": "Усі живі істоти", + "ftblibrary.unsaved_changes": "Скасувати незбережені зміни?", + "config.group.value": "Значення", + "sidebar_button.ftblibrary.toggle.gamemode": "Перемкнути ігровий режим", + "sidebar_button.ftblibrary.toggle.gamemode.tooltip": "Перемикає між режимами виживання і творчості", + "sidebar_button.ftblibrary.toggle.rain": "Перемкнути дощ", + "sidebar_button.ftblibrary.toggle.rain.tooltip": "Перемикає погоду між ясною і дощовою", + "sidebar_button.ftblibrary.toggle.day": "Установити на день", + "sidebar_button.ftblibrary.toggle.day.tooltip": "Установлює денний час", + "sidebar_button.ftblibrary.toggle.night": "Установити на ніч", + "sidebar_button.ftblibrary.toggle.night.tooltip": "Установлює нічний час", + "sidebar_button.ftblibrary.config": "Клієнтська конфігурація FTB Library", + "sidebar_button.ftblibrary.config.tooltip": "Відкрити конфігурацію клієнтської бібліотеки FTB", + "sidebar_button.ftblibrary.config.enter_edit_mode": "Клацніть правою кнопкою, щоб редагувати кнопки бічної панелі", + "item.ftblibrary.fluid_container": "Контейнер для рідини", + "item.ftblibrary.fluid_container.use": "Пкм по резервуару, щоб спорожнити контейнер", + "ftblibrary.mb": "%d мБ з %s", + "ftblibrary.empty": "Порожньо", + "ftblibrary.gui.listSize1": "1 елемент", + "ftblibrary.gui.listSize": "%d елементів", + "ftblibrary.gui.error": "Помилка!", + "ftblibrary.gui.search": "Пошук...", + "ftblibrary.gui.nbt_copied": "NBT скопійовано до буфера обміну", + "ftblibrary.gui.edit_tag_name": "Редагувати ім'я тега", + "ftblibrary.gui.edit_tag_value": "Редагувати значення тегу", + "ftblibrary.gui.no_selection": "Нічого не вибрано", + "ftblibrary.gui.key_reference": "Ключове посилання", + "ftblibrary.gui.enabled": "Увімкнено", + "ftblibrary.gui.disabled": "Вимкнено", + "ftblibrary.client_settings": "Конфігурація клієнта", + "ftblibrary.client_settings.tooltips": "Підказки", + "ftblibrary.client_settings.tooltips.item_modname": "Показувати назву мода в GUI вибору предметів", + "ftblibrary.client_settings.tooltips.fluid_modname": "Показувати назву мода в GUI вибору рідин", + "ftblibrary.client_settings.tooltips.image_modname": "Показувати назву мода в GUI вибору зображень", + "ftblibrary.client_settings.sidebar": "Кнопки бічної панелі", + "ftblibrary.client_settings.sidebar.enabled": "Увімкнути кнопки бічної панелі", + "ftblibrary.client_settings.sidebar.position": "Позиція кнопок бічної панелі", + "ftblibrary.palette.chat": "Кольори чату", + "ftblibrary.palette.dye": "Кольори барвників", + "ftblibrary.palette.nord": "Північна тема", + "ftblibrary.palette.reds": "Червоні", + "ftblibrary.palette.greens": "Зелені", + "ftblibrary.palette.blues": "Сині", + "ftblibrary.palette.recent": "Останні кольори", + "ftblibrary.panel.position.top_left": "Верхній лівий", + "ftblibrary.panel.position.top": "Верх", + "ftblibrary.panel.position.top_right": "Верхній правий", + "ftblibrary.panel.position.left": "Лівий", + "ftblibrary.panel.position.right": "Праворуч", + "ftblibrary.panel.position.bottom_left": "Нижній лівий", + "ftblibrary.panel.position.bottom": "Вниз", + "ftblibrary.panel.position.bottom_right": "Нижній правий", + "ftblibrary.server_settings": "Налаштування сервера", + "dimension.minecraft.overworld": "Верхній світ", + "dimension.minecraft.the_nether": "Незер", + "dimension.minecraft.the_end": "Енд", + "dimension.hyperbox.hyperbox": "Гіпербокс", + "dimension.ae2.spatial_storage": "Просторове сховище AE2", + "itemGroup.ftbsuite.creative_tab": "Набір FTB", + "item.ftblibrary.icon_item": "Значок FTB" +} \ No newline at end of file diff --git a/kubejs/assets/ftbquests/lang/uk_ua.json b/kubejs/assets/ftbquests/lang/uk_ua.json new file mode 100644 index 000000000..b1f5d46f0 --- /dev/null +++ b/kubejs/assets/ftbquests/lang/uk_ua.json @@ -0,0 +1,633 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "ftbquests": "FTB Quests", + "block.ftbquests.screen.missing_data": "Блок пошкоджено / Дані відсутні!", + "block.ftbquests.aux_task_screen": "Екран завдань", + "block.ftbquests.screen_1": "Екран завдань (1x1)", + "block.ftbquests.screen_3": "Екран завдань (3x3)", + "block.ftbquests.screen_5": "Екран завдань (5x5)", + "block.ftbquests.screen_7": "Екран завдань (7x7)", + "block.ftbquests.screen.task_index": "Індекс завдань", + "block.ftbquests.screen.size": "Розмір", + "block.ftbquests.screen.skin": "Тема", + "block.ftbquests.screen.indestructible": "Незнищенний", + "block.ftbquests.screen.input_only": "Тільки вхід", + "block.ftbquests.screen.input_mode_icon": "Іконка режиму введення", + "block.ftbquests.screen.text_shadow": "Відображати тіні тексту", + "block.ftbquests.screen.fullscreen": "На весь екран", + "block.ftbquests.screen.hide_icons": "Приховати іконки", + "block.ftbquests.screen.no_permission": "У вас немає дозволу на налаштування цього!", + "block.ftbquests.progress_detector": "Детектор прогресу квестів", + "block.ftbquests.progress_detector.object": "ID об'єкта", + "block.ftbquests.progress_detector.level": "Рівень виходу", + "block.ftbquests.barrier": "Бар'єр квесту", + "block.ftbquests.stage_barrier": "Бар'єр етапу", + "block.ftbquests.barrier.object": "ID об'єкта", + "block.ftbquests.barrier.invis_when_open": "Невидимий, коли відкрито", + "block.ftbquests.detector": "Детектор квестів", + "block.ftbquests.detector.task": "Завдання", + "block.ftbquests.detector.notifications": "Сповіщення", + "block.ftbquests.detector.redstone": "Детектор редстоуну", + "block.ftbquests.detector.redstone.required_redstone": "Необхідний рівень редстоуну", + "block.ftbquests.detector.player": "Детектор гравців", + "block.ftbquests.detector.player.radius": "Радіус", + "block.ftbquests.detector.player.offset_y": "Зміщення Y", + "block.ftbquests.detector.player.height": "Висота", + "block.ftbquests.progress_screen": "Екран прогресу", + "block.ftbquests.chest": "Скриня квестів", + "block.ftbquests.chest.transfer_all": "Автоматичне переміщення всіх предметів", + "block.ftbquests.chest.input": "Вхідний слот", + "block.ftbquests.chest.input_desc": "Розмістіть предмети тут для завершення квестів", + "block.ftbquests.chest.output": "Вихідний слот", + "block.ftbquests.chest.output_desc": "Нагороди з'являться тут", + "block.ftbquests.loot_crate_storage": "Сховище лутбоксів", + "block.ftbquests.loot_crate_opener": "Відкривач лутбоксів", + "block.ftbquests.loot_crate_opener.rightclick": "Збережені предмети: %d", + "item.ftbquests.book": "Книга квестів", + "item.ftbquests.missing_item": "Відсутній предмет", + "item.ftbquests.barrier.rightclick": "ПКМ, щоб налаштувати конфігурацію\nСКМ, щоб обрати копію, включно з налаштуваннями", + "item.ftbquests.barrier.object.quest_barrier": "Налаштований квест: %s", + "item.ftbquests.barrier.object.stage_barrier": "Налаштований етап: %s", + "item.ftbquests.barrier.skin": "З'являється як: %s", + "item.ftbquests.barrier.invis_when_open": "Невидимий, коли відкрито: %s", + "item.ftbquests.book.tooltip": "Клацніть ПКМ, щоб відкрити вікно квесту", + "item.ftbquests.book.disabled": "Графічний інтерфейс книги квестів вимкнено!", + "item.ftbquests.lootcrate": "Лутбокс", + "item.ftbquests.lootcrate.tooltip_1": "Клацніть ПКМ, щоб відкрити", + "item.ftbquests.lootcrate.tooltip_2": "Присядьте та клацніть ПКМ, щоб відкрити всі в руці", + "item.ftbquests.lootcrate.missing": "ПОМИЛКА: невідомий лутбокс '%s'!", + "item.ftbquests.custom_icon": "Спеціальна іконка", + "item.ftbquests.custom_icon.tooltip": "Клацніть ПКМ на 'Іконка' в редакторі, щоб відкрити вибір спеціального зображення", + "item.ftbquests.task_screen_configurator": "Конфігуратор екрана завдань", + "item.ftbquests.task_screen_configurator.tooltip": "Присядьте та клацніть ПКМ по блоку екрана завдань, щоб прив'язати", + "ftbquests.rarity.common": "Звичайний", + "ftbquests.rarity.uncommon": "Незвичайний", + "ftbquests.rarity.rare": "Рідкісний", + "ftbquests.rarity.epic": "Епічний", + "ftbquests.rarity.legendary": "Легендарний", + "ftbquests.raymatcher.block_id": "ID блоку", + "ftbquests.raymatcher.block_entity_id": "ID блоку-сутності", + "ftbquests.raymatcher.block_entity_class": "Клас блоку-сутності", + "ftbquests.raymatcher.entity_id": "ID сутності", + "ftbquests.raymatcher.entity_class": "Клас сутності", + "itemGroup.ftbquests.ftbquests": "FTB Quests", + "sidebar_button.ftbquests.quests": "Квести", + "sidebar_button.ftbquests.quests.no_team": "Приєднайтеся до команди, щоб виконувати квести разом!", + "key.categories.ftbquests": "FTB Quests", + "key.ftbquests.quests": "Відкрити квести", + "ftbquests.unnamed": "Без імені", + "ftbquests.team": "Команда", + "ftbquests.progress": "Прогрес", + "ftbquests.title": "Заголовок", + "ftbquests.task_title": "Заголовок завдання", + "ftbquests.title.tooltip": "Спеціальний заголовок", + "ftbquests.icon": "Іконка", + "ftbquests.icon.tooltip": "Спеціальна іконка\nЛКМ: обрати предмет\nПКМ: обрати текстуру", + "ftbquests.tags": "Теги", + "ftbquests.tags.tooltip": "Використовується для тем та подій KubeJS", + "ftbquests.completion_command": "Команда завершення", + "ftbquests.dependencies": "Залежності", + "ftbquests.dependency": "Залежність", + "ftbquests.null": "Немає", + "ftbquests.disable_completion_toast": "Вимкнути сповіщення про завершення", + "ftbquests.file": "Модпак", + "ftbquests.file.completed": "Усі розділи завершено!", + "ftbquests.file.allow_take_quest_blocks": "Дозволити брати квестові блоки", + "ftbquests.file.allow_take_quest_blocks.tooltip": "Дозволити отримувати квестові блоки з інтерфейсу квестів.", + "ftbquests.file.emergency_items": "Аварійні предмети", + "ftbquests.file.emergency_items.get_items": "Отримати предмети", + "ftbquests.file.emergency_items_cooldown": "Час відновлення аварійних предметів", + "ftbquests.file.emergency_items_cooldown.tooltip": "Таймер часу для повторного з'явлення аварійних предметів.", + "ftbquests.file.defaults": "Усталено", + "ftbquests.file.defaults.reward_team": "Командна винагорода у завданнях", + "ftbquests.file.defaults.consume_items": "Споживання предметів у завданнях", + "ftbquests.file.defaults.autoclaim_rewards": "Автоматична видача нагороди", + "ftbquests.file.defaults.quest_shape": "Форма квесту", + "ftbquests.file.defaults.quest_disable_jei": "Перегляд JEI через квести'", + "ftbquests.file.drop_loot_crates": "Сутності скидають лутбокси", + "ftbquests.file.loot_crate_no_drop": "Лутбокси сутностей скидають порожню вагу", + "ftbquests.file.disable_gui": "Вимкнути графічний інтерфейс", + "ftbquests.file.full_screen_quest_view": "Повноекранний перегляд квесту", + "ftbquests.file.grid_scale": "Масштаб сітки", + "ftbquests.file.lock_message": "Повідомлення блокування", + "ftbquests.file.progression_mode": "Режим прогресу", + "ftbquests.file.pause_game": "Пауза в грі на екрані квестів", + "ftbquests.file.pause_game.tooltip": "Не застосовується до багатокористувацьких ігор", + "ftbquests.file.detection_delay": "Мінімальний інтервал автоматичного виявлення предметів", + "ftbquests.file.drop_book_on_death": "Скидати книгу квестів FTB у разі смерті", + "ftbquests.file.hide_excluded_quests": "Приховати квести у виключених лініях квестів", + "ftbquests.file.hide_excluded_quests.tooltip": "Якщо встановлено false, виключені квести відображатимуться, але будуть затемненими", + "ftbquests.file.fallback_locale": "Резервна локалізація", + "ftbquests.file.fallback_locale.tooltip": "Мова, що виступає основою для перекладів, яких немає в поточній локалізації\nЦе можна змінити на клієнті в налаштуваннях гравця\nЯкщо поле порожнє, усталено використовується 'en_us'", + "ftbquests.file.detection_delay.tooltip": "Мінімальний інтервал (у тактах) між перевірками інвентарю гравця, коли він змінюється. Вищі значення більш корисні для TPS сервера, особливо якщо інвентар гравців змінюється часто, але означає довші затримки для повідомлень про автоматичне завершення квесту.", + "ftbquests.chapter.misc.progression_mode": "Усталений 'Режим прогресу'", + "ftbquests.chapter.misc.default_repeatable": "Усталений 'Повторюваний квест'", + "ftbquests.chapter.misc.consume_items": "Усталене 'Споживання предметів'", + "ftbquests.file.progression_mode.tooltip": "Лінійний: квест повинен бути завершений, перш ніж розпочнуться залежні квести. Гнучкий: завдання в залежних квестах можуть бути виконані в будь-який час, але залежні квести не можуть бути завершені, поки залежність не буде виконана", + "ftbquests.file.progression_mode.default": "Усталено", + "ftbquests.file.progression_mode.linear": "Лінійний", + "ftbquests.file.progression_mode.flexible": "Гнучкий", + "ftbquests.loot.entitydrops": "Випадання предметів від сутностей", + "ftbquests.loot.entitytype.passive": "Пасивний", + "ftbquests.loot.entitytype.monster": "Монстр", + "ftbquests.loot.entitytype.boss": "Бос", + "ftbquests.chapter": "Розділ", + "ftbquests.chapters": "Розділи", + "ftbquests.chapter.completed": "Розділ завершено!", + "ftbquests.chapter.subtitle": "Підзаголовок", + "ftbquests.chapter.visibility.always_invisible": "Завжди невидимий", + "ftbquests.chapter.group": "Група", + "ftbquests.chapter.appearance.default_quest_shape": "Усталена форма квесту", + "ftbquests.chapter.appearance.default_quest_size": "Усталений розмір квесту", + "ftbquests.chapter.visibility.default_hide_dependency_lines": "Усталено 'Приховати лінії залежності'", + "ftbquests.chapter.image": "Зображення", + "ftbquests.chapter.image.x": "X", + "ftbquests.chapter.image.y": "Y", + "ftbquests.chapter.image.width": "Ширина", + "ftbquests.chapter.image.height": "Висота", + "ftbquests.chapter.image.align": "Вирівнювання", + "ftbquests.chapter.image.fit": "Підлаштувати до ширини панелі?", + "ftbquests.chapter.image.rotation": "Обертання", + "ftbquests.chapter.image.image": "Зображення", + "ftbquests.chapter.image.color": "Тонування зображення", + "ftbquests.chapter.image.alpha": "Прозорість зображення", + "ftbquests.chapter.image.order": "Порядок зображень", + "ftbquests.chapter.image.order.tooltip": "Порядок, у якому малюнки в одному розділі малюються. Малюнки вищого порядку малюються над нижчими.", + "ftbquests.chapter.image.hover": "Текст при наведенні", + "ftbquests.chapter.image.hover.tooltip": "Тут можна використовувати текст або ключі перекладу", + "ftbquests.chapter.image.click": "Клік", + "ftbquests.chapter.image.click.tooltip": "Забезпечте спеціальну функціональність при кліку на зображення:\n• Відкрити сторінку або файл з URL http://, https:// або file:///\n• Виконати команду з 'command:'\n• Перейти до квесту з '#' (використовуйте Копіювати ID для отримання ID квестів)\n• Викликати CustomClickEvent (для KubeJS або інших модів) з 'custom:'", + "ftbquests.chapter.image.dev": "Видимий лише у режимі редагування", + "ftbquests.chapter.image.corner": "Обертати та зміщувати з кута", + "ftbquests.chapter.appearance.default_min_width": "Мінімальна усталена ширина вікна відкритого квесту", + "ftbquests.chapter.visibility.hide_quest_details_until_startable": "Приховати деталі квесту, доки його не можна розпочати", + "ftbquests.chapter.visibility.hide_quest_until_deps_complete": "Приховати квести, доки не будуть завершені залежності", + "ftbquests.chapter.visibility.hide_quest_until_deps_visible": "Приховати квести, доки не стануть видимими залежності", + "ftbquests.quest": "Квест", + "ftbquests.quests": "Квести", + "ftbquests.quest.completed": "Квест завершено!", + "ftbquests.quest.copied": "Скопійований об'єкт:", + "ftbquests.quest.cannot_copy_many": "Копіювання декількох об'єктів не підтримується!", + "ftbquests.quest.appearance": "Зовнішній вигляд", + "ftbquests.quest.dependencies": "Залежності", + "ftbquests.quest.misc": "Різне", + "ftbquests.quest.visibility": "Видимість", + "ftbquests.quest.subtitle": "Підзаголовок", + "ftbquests.quest.description": "Опис", + "ftbquests.quest.appearance.x": "X", + "ftbquests.quest.appearance.y": "Y", + "ftbquests.quest.appearance.size": "Розмір", + "ftbquests.quest.appearance.size.tooltip": "0 означає використання усталеного розміру розділу", + "ftbquests.quest.appearance.icon_scale": "Масштаб іконки", + "ftbquests.quest.appearance.icon_scale.tooltip": "Незалежно від загального розміру кнопки", + "ftbquests.quest.visibility.hide_until_deps_complete": "Приховати квест, поки залежності не будуть завершені", + "ftbquests.quest.visibility.hide_until_deps_visible": "Приховати квест, поки відкриті залежності не будуть видимими", + "ftbquests.quest.appearance.shape": "Форма", + "ftbquests.quest_link.shape": "Форма", + "ftbquests.quest_link.size": "Розмір", + "ftbquests.quest_link.x": "X", + "ftbquests.quest_link.y": "Y", + "ftbquests.quest.shape.default": "Усталена", + "ftbquests.quest.shape.circle": "Коло", + "ftbquests.quest.shape.square": "Квадрат", + "ftbquests.quest.shape.diamond": "Ромб", + "ftbquests.quest.shape.rsquare": "Скруглений квадрат", + "ftbquests.quest.shape.pentagon": "П'ятикутник", + "ftbquests.quest.shape.hexagon": "Шестикутник", + "ftbquests.quest.shape.octagon": "Восьмикутник", + "ftbquests.quest.shape.heart": "Серце", + "ftbquests.quest.shape.gear": "Шестерня", + "ftbquests.quest.shape.none": "Прозора", + "ftbquests.quest.misc.can_repeat": "Повторний квест", + "ftbquests.quest.misc.exclusive": "Ексклюзивна гілка квестів", + "ftbquests.quest.misc.exclusive.desc": "Виконання завдання квесту робить інші гілки недоступними", + "ftbquests.quest.tasks_ignore_dependencies": "Ігнорувати залежності задач", + "ftbquests.quest.tasks_ignore_dependencies.tooltip": "Дозволяє починати задачі без завершення залежностей", + "ftbquests.quest.dependencies.dependency_requirement": "Вимога залежностей", + "ftbquests.quest.dependency_requirement.tooltip": "Ігнорується, якщо мінімально потрібно залежностей > 0", + "ftbquests.quest.dependency_requirement.all_completed": "Всі завершені", + "ftbquests.quest.dependency_requirement.one_completed": "Одна завершена", + "ftbquests.quest.dependency_requirement.all_started": "Всі початі", + "ftbquests.quest.dependency_requirement.one_started": "Одна почата", + "ftbquests.quest.misc.guide_page": "Сторінка посібника", + "ftbquests.quest.dependencies.hide_dependency_lines": "Приховати лінії залежностей", + "ftbquests.quest.hide_dependency_lines.tooltip": "Керує відображенням ліній залежностей від квестів, які розблоковують цей", + "ftbquests.quest.dependencies.hide_dependent_lines": "Приховати лінії залежних", + "ftbquests.quest.dependencies.hide_dependent_lines.tooltip": "Керує відображенням ліній залежностей від квестів, які розблоковані цим", + "ftbquests.quest.dependencies.max_completable_dependents": "Максимум виконуваних залежностей", + "ftbquests.quest.dependencies.max_completable_dependents.tooltip": "Якщо > 0, можна виконати не більше цієї кількості залежностей, після яких інші невиконані залежні квести стають недоступними\nКорисно для створення ексклюзивних гілок у ланцюжку квестів", + "ftbquests.quest.dependencies.min_required_dependencies": "Мінімальна кількість необхідних залежностей", + "ftbquests.quest.min_required_dependencies.tooltip": "Якщо ви встановите це на значення більшим за 0, це стане КВЕСТОМ АБО, де для його розблокування потрібна лише певна кількість залежностей", + "ftbquests.quest.visibility.hide_text_until_complete": "Приховати опис до завершення квесту", + "ftbquests.quest.visibility.hide_text_until_complete.tooltip": "Деталі квесту можна відкрити, але опис не відображатиметься, поки квест не буде виконано", + "ftbquests.quest.visibility.hide_lock_icon": "Приховати значок замка", + "ftbquests.quest.visibility.hide_lock_icon.tooltip": "Приховати значок замка, який зазвичай відображається, коли квест заблоковано через залежність", + "ftbquests.quest.misc.disable_jei": "Вимкнути рецепти JEI", + "ftbquests.quest.misc.optional": "Додатковий квест", + "ftbquests.quest.misc.optional_task": "Додаткова задача", + "ftbquests.quest.locked": "Заблоковано: незавершено залежності", + "ftbquests.quest.locked.excluded": "Заблоковано: виключено іншою лінією квестів", + "ftbquests.quest.appearance.min_width": "Мінімальна ширина вікна відкритого квесту", + "ftbquests.quest.misc.ignore_reward_blocking": "Ігнорувати блокування винагород", + "ftbquests.quest.misc.ignore_reward_blocking.tooltip": "Пропонувати винагороду(и) квесту навіть якщо вони заблоковані для команди за допомогою команди '/ftbquests block_rewards'", + "ftbquests.quest.visibility.invisible": "Невидимий до завершення", + "ftbquests.quest.visibility.invisible.tooltip": "Квест невидимий для гравців до завершення.\nКорисно для \"пасхальних яєць\" додаткових квестів.", + "ftbquests.quest.visibility.invisible_until_tasks": "Невидимий до завершення X задач", + "ftbquests.quest.visibility.invisible_until_tasks.tooltip": "Застосовується лише якщо Невидимий встановлено в true.\nЯкщо > 0, квест стає видимим, якщо виконано X або більше задач.", + "ftbquests.quest.min_required_header": "%d потрібно", + "ftbquests.quest.hidden_quests_footer": "%d приховано", + "ftbquests.quest.misc.progression_mode": "Режим прогресу", + "ftbquests.quest.misc.require_sequential_tasks": "Послідовне завершення завдань", + "ftbquests.quest.misc.require_sequential_tasks.tooltip": "Коли true, завдання повинні бути завершені в строгому порядку, в якому вони були додані до квесту\nЗа замовчуванням використовується налаштування розділу", + "ftbquests.chapter.misc.require_sequential_tasks": "Послідовне завершення завдань", + "ftbquests.chapter.misc.require_sequential_tasks.tooltip": "Якщо встановлено значення true, завдання повинні бути завершені в строгому порядку, в якому вони були додані до квесту", + "ftbquests.chapter.misc.autofocus_id": "Автофокус ID квесту", + "ftbquests.chapter.misc.autofocus_id.tooltip": "Якщо не порожнє, повинно бути ID квесту або посилання на квест (використовуйте Копіювати ID квесту для отримання).\nПри відкритті розділу панель автоматично центрує вид на цей квест", + "ftbquests.quest.visibility.hide_details_until_startable": "Приховати деталі до можливості початку", + "ftbquests.quest.visibility.hide_details_until_startable.tooltip": "Якщо true, то деталі квесту (текст та завдання) не можуть бути переглянуті, поки квест не може бути розпочатий", + "ftbquests.chapter_group": "Група розділів", + "ftbquests.quest_link": "Посилання на квест", + "ftbquests.chapter_groups": "Групи розділів", + "ftbquests.gui.image.width": "Ширина зображення", + "ftbquests.gui.image.height": "Висота зображення", + "ftbquests.gui.image.align": "Вирівнювання", + "ftbquests.gui.image.fit": "Підігнати до ширини панелі?", + "ftbquests.gui.preferences": "Персональні налаштування гравця", + "ftbquests.gui.line": "Додати рядок тексту", + "ftbquests.gui.image": "Додати зображення", + "ftbquests.gui.edit": "Редаг.", + "ftbquests.gui.edit_quest_props": "Властивості квесту", + "ftbquests.gui.undo": "Скасувати", + "ftbquests.gui.edit_linked_quest": "Редагувати зв'язаний квест", + "ftbquests.gui.edit_file": "Редагувати файл", + "ftbquests.gui.save_as_file": "Завантажити файли квесту", + "ftbquests.gui.save_on_server": "Зберегти на сервері зараз", + "ftbquests.gui.export_spreadsheet": "Експортувати таблицю", + "ftbquests.gui.saved_as_file": "Квести збережені на клієнті в %s", + "ftbquests.gui.saved_on_server": "Квести збережені на сервері", + "ftbquests.gui.error": "Помилка!", + "ftbquests.gui.add_reward_all": "Додати винагороду до всіх...", + "ftbquests.gui.clear_reward_all": "Очистити винагороди у всіх", + "ftbquests.gui.select_quest_object": "Вибрати об'єкт квесту", + "ftbquests.gui.select_task_type": "Вибрати тип завдання", + "ftbquests.gui.select_reward_table": "Вибрати таблицю винагород", + "ftbquests.gui.select_reward_type": "Вибрати тип винагороди", + "ftbquests.gui.reset_progress": "Скинути прогрес", + "ftbquests.gui.reset_progress_q": "Скинути прогрес для вашої команди?", + "ftbquests.gui.complete_instantly": "Завершити миттєво", + "ftbquests.gui.complete_instantly_q": "Завершити це завдання миттєво?", + "ftbquests.gui.add_dependencies": "Додати вибрані як залежності", + "ftbquests.gui.remove_dependencies": "Вилучити вибрані з залежностей", + "ftbquests.gui.add_dependencies_self": "Додати як залежність до вибраного", + "ftbquests.gui.remove_dependencies_self": "Вилучити як залежність від вибраного", + "ftbquests.gui.copy_id": "Копіювати ID", + "ftbquests.gui.copy_id.paste_hint": "Ви можете використовувати цей ID для вставки квестів або посилань на квести", + "ftbquests.gui.copy_id.quick_properties": "Швидке редагування властивостей...", + "ftbquests.gui.no_tasks": "Немає завдань", + "ftbquests.gui.no_rewards": "Немає винагород", + "ftbquests.gui.requires": "Вимагає", + "ftbquests.gui.required_by": "Вимагається", + "ftbquests.gui.collect_rewards": "Натисніть, щоб зібрати всі винагороди!", + "ftbquests.gui.times_completed": "Кількість завершень", + "ftbquests.gui.looping_dependencies": "Зациклені залежності!", + "ftbquests.gui.open_in_guide": "Натисніть тут, щоб дізнатися більше...", + "ftbquests.gui.wiki": "Відкрити Вікі", + "ftbquests.gui.change_progress": "Змінити прогрес", + "ftbquests.gui.change_progress.reset": "Скинути", + "ftbquests.gui.change_progress.reset_deps": "Скинути (+Залежності)", + "ftbquests.gui.change_progress.complete": "Завершити", + "ftbquests.gui.change_progress.complete_deps": "Завершити (+Залежності)", + "ftbquests.gui.pin": "Закріпити", + "ftbquests.gui.unpin": "Відкріпити", + "ftbquests.gui.autopin.on": "Автозакріплення: Увімкнено", + "ftbquests.gui.autopin.off": "Автозакріплення: Вимкнено", + "ftbquests.gui.move_to_chapter": "Перемістити в інший розділ", + "ftbquests.gui.change_group": "Змінити групу", + "ftbquests.gui.move_tooltip": "Скорочення: Клацання СКМ", + "ftbquests.gui.reload_theme": "Перезавантажити тему", + "ftbquests.gui.view_dependencies": "Переглянути залежності", + "ftbquests.gui.view_dependants": "Переглянути залежності", + "ftbquests.gui.no_dependencies": "Немає залежностей", + "ftbquests.gui.no_dependants": "Немає залежностей", + "ftbquests.gui.edit_text": "Редагувати текст", + "ftbquests.gui.edit_description": "Редактор опису квесту", + "ftbquests.gui.edit_description.help": "Shift+Enter: зберегти і вийти", + "ftbquests.gui.paste": "Вставити квест", + "ftbquests.gui.paste_no_deps": "Вставити квест (без залежностей)", + "ftbquests.gui.paste_link": "Вставити посилання на квест", + "ftbquests.gui.paste_image": "Вставити зображення", + "ftbquests.gui.paste_task": "Вставити завдання", + "ftbquests.gui.goto_linked_quest": "Перейти до зв'язаного квесту (у розділі: %s)", + "ftbquests.gui.linked_quest_id": "ID зв'язаного квесту: %s", + "ftbquests.gui.view_quest_links": "Переглянути посилання на квест(и)", + "ftbquests.gui.fix_aspect_ratio_w": "Вирівняти ширину за відношенням сторін", + "ftbquests.gui.fix_aspect_ratio_h": "Вирівняти висоту за відношенням сторін", + "ftbquests.gui.bulk_change_size": "Змінити розмір для всіх...", + "ftbquests.gui.use_as_quest_icon": "Використовувати значок завдання як значок квесту", + "ftbquests.gui.clear_formatting": "Очистити форматування", + "ftbquests.gui.insert_link": "Вставити посилання", + "ftbquests.gui.page_break": "Додати розрив сторінки", + "ftbquests.gui.confirm_esc": "Скасувати незбережені зміни?", + "ftbquests.gui.key_reference.player": "Загальні контролі\n-;Зменшити масштаб\n+;Збільшити масштаб\n0;Скинути масштаб\nTab;Наступний розділ\nShift + Tab;Попередній розділ\n1 - 9;Перейти до розділу\nПробіл;Центрувати вид\nCtrl + F;Пошук\nF1;При наведенні на квест, показати розширену інформацію\nЛКМ;Перегляд деталей квесту\nКоліщатко;Прокрутка вгору/вниз\nShift + Коліщатко;Прокрутка ліворуч/праворуч\nCtrl + Коліщатко;Збільшення/зменшення масштабу", + "ftbquests.gui.key_reference.editor": "Режим редактора\nCtrl + ЛКМ;Перемикання виділення\nСКМ;Переміщення вибраних квестів\nПКМ;Контекстне меню\nСКМ: Перетягування;Вибір квестів у області виділення\nCtrl + СКМ: Перетягування;Перемикання виділення в області\nCtrl + A;Вибрати все\nCtrl + D;Скасувати вибір\nCtrl + Вгору/Вниз/Вліво/Вправо;Переміщення вибраних квестів\nCtrl + R;Перемикнути відображення перехрестя\nCtrl + C;Копіювати вибраний/наведений об'єкт\nCtrl + V;Вставити вибране\nCtrl + Shift + V;Вставити квест (без залежностей)\nCtrl + Alt + V;Вставити як посилання на квест\n\nПанель перегляду квесту\nT;Редагувати назву квесту\nS;Редагувати підзаголовок квесту\nD;Редагувати опис квесту", + "ftbquests.gui.set_autofocused": "Встановити як автофокусований квест", + "ftbquests.gui.clear_autofocused": "Скинути автофокусований квест", + "ftbquests.gui.restore": "Відновити", + "ftbquests.gui.move_left": "Перемістити ліворуч", + "ftbquests.gui.move_right": "Перемістити праворуч", + "ftbquests.gui.submit": "Відправити", + "ftbquests.task": "Завдання", + "ftbquests.tasks": "Завдання", + "ftbquests.task.completed": "Завдання виконане!", + "ftbquests.task.click_to_submit": "Клацніть, щоб відправити", + "ftbquests.task.task_screen_only": "Предмети можна ВИКЛЮЧНО відправити через екран завдання!", + "ftbquests.task.auto_detected": "Предмети будуть автоматично визначені", + "ftbquests.task.click_to_submit_all": "Клацніть, щоб відправити всі предмети", + "ftbquests.task.max_input": "Максимальна швидкість введення", + "ftbquests.task.grab_item": "Отримати копію предмета", + "ftbquests.task.gave_item": "Видано предмет задачі: %s", + "ftbquests.task.ftbquests.item": "Предмет", + "ftbquests.task.ftbquests.item.count": "Кількість", + "ftbquests.task.ftbquests.item.consume_items": "Споживати предмети", + "ftbquests.task.ftbquests.item.ignore_damage": "Ігнорувати збитки", + "ftbquests.task.ftbquests.item.nbt_mode": "Режим NBT", + "ftbquests.task.ftbquests.item.consume_true": "Споживає предмет", + "ftbquests.task.ftbquests.item.consume_false": "Не споживає предмет", + "ftbquests.task.ftbquests.item.hide_valid_items": "Приховати допустимі предмети", + "ftbquests.task.ftbquests.item.valid_items": "Допустимі предмети:", + "ftbquests.task.ftbquests.item.view_items": "Клацніть, щоб переглянути допустимі предмети", + "ftbquests.task.ftbquests.item.valid_for": "Допустимі предмети для %s", + "ftbquests.task.ftbquests.item.click_recipe": "Клацніть, щоб переглянути рецепти", + "ftbquests.task.ftbquests.item.convert_tag": "Перетворити на фільтр тегу '%s'", + "ftbquests.task.ftbquests.item.select_tag": "Виберіть тег предмета", + "ftbquests.task.ftbquests.item.only_from_crafting": "Тільки виявлено з виготовлення", + "ftbquests.task.ftbquests.item.match_components": "Відповідність компонентів", + "ftbquests.task.ftbquests.item.match_components.tooltip": "Відключено: ігнорувати дані компонентів предмета\nFuzzy: перевіряти тільки дані компонентів, присутніх у стосі фільтру\nStrict: предмет повинен точно відповідати даним компонентів стосу фільтра", + "ftbquests.task.ftbquests.item.task_screen_only": "Тільки з екрана завдання", + "ftbquests.task.ftbquests.item.task_screen_only.tooltip": "Коли true, предмети можуть бути відправлені лише через екран завдання\nЗастосовується лише тоді, коли для цього завдання ввімкнено Споживання предметів.", + "ftbquests.task.ftbquests.fluid": "Рідина", + "ftbquests.task.ftbquests.fluid.fluid": "Рідина", + "ftbquests.task.ftbquests.fluid.fluid_nbt": "NBT рідини", + "ftbquests.task.ftbquests.fluid.amount": "Кількість", + "ftbquests.task.ftbquests.forge_energy": "Енергія Forge", + "ftbquests.task.ftbquests.forge_energy.value": "Енергія / RF", + "ftbquests.task.ftbquests.forge_energy.text": "%d FE", + "ftbquests.task.ftbquests.tech_reborn_energy": "Енергія Tech Reborn", + "ftbquests.task.ftbquests.tech_reborn_energy.value": "E", + "ftbquests.task.ftbquests.tech_reborn_energy.text": "%d E", + "ftbquests.task.ftbquests.custom": "Спеціальне", + "ftbquests.task.ftbquests.xp": "Рівні досвіду", + "ftbquests.task.ftbquests.xp.value": "Досвід", + "ftbquests.task.ftbquests.xp.points": "Бали", + "ftbquests.task.ftbquests.xp.points.tooltip": "Використовуйте бали досвіду для завершення замість рівнів. Використовуйте калькулятор, щоб дізнатися, яке значення повинно бути", + "ftbquests.task.ftbquests.dimension": "Відвідати вимір", + "ftbquests.task.ftbquests.dimension.dim": "Вимір", + "ftbquests.task.ftbquests.biome": "Відвідати біом", + "ftbquests.task.ftbquests.biome.biome": "Біом", + "ftbquests.task.ftbquests.structure": "Знайти структуру", + "ftbquests.task.ftbquests.structure.structure": "Структура", + "ftbquests.task.ftbquests.stat": "Статистика", + "ftbquests.task.ftbquests.stat.stat": "Назва статистики", + "ftbquests.task.ftbquests.stat.value": "Значення", + "ftbquests.task.ftbquests.kill": "Вбити сутність", + "ftbquests.task.ftbquests.kill.entity": "Назва сутності", + "ftbquests.task.ftbquests.kill.entity.tooltip": "Це ігнорується, якщо тег типу сутності не порожній", + "ftbquests.task.ftbquests.kill.entity_type_tag": "Тег типу сутності", + "ftbquests.task.ftbquests.kill.entity_type_tag.tooltip": "Якщо не порожній, це має пріоритет над типом сутності", + "ftbquests.task.ftbquests.kill.custom_name": "Ім'я сутності", + "ftbquests.task.ftbquests.kill.custom_name.tooltip": "Для гравців — їх ім'я гравця\nДля інших сутностей — власне ім'я, присвоєне за допомогою ярлика", + "ftbquests.task.ftbquests.kill.value": "Кількість", + "ftbquests.task.ftbquests.kill.title": "Вбити: %sx %s", + "ftbquests.task.ftbquests.kill.title_named": "Вбити: %sx %s на ім'я '%s'", + "ftbquests.task.ftbquests.location": "Розташування", + "ftbquests.task.ftbquests.location.dim": "Вимір", + "ftbquests.task.ftbquests.location.ignore_dim": "Ігнорувати вимір", + "ftbquests.task.ftbquests.location.x": "Позиція X", + "ftbquests.task.ftbquests.location.x.tooltip": "Мінімальне значення X для гравця (гравець-X повинен бути >= X і < X+W)", + "ftbquests.task.ftbquests.location.y": "Позиція Y", + "ftbquests.task.ftbquests.location.y.tooltip": "Мінімальне значення Y для гравця (гравець-Y повинен бути >= Y і < Y+H)", + "ftbquests.task.ftbquests.location.z": "Позиція Z", + "ftbquests.task.ftbquests.location.z.tooltip": "Мінімальне значення Z для гравця (гравець-Z повинен бути >= Z і < Z+D)", + "ftbquests.task.ftbquests.location.w": "Розмір X (Шир)", + "ftbquests.task.ftbquests.location.h": "Розмір Y (Вис)", + "ftbquests.task.ftbquests.location.d": "Розмір Z (Дов)", + "ftbquests.task.ftbquests.checkmark": "Позначка галочкою", + "ftbquests.task.ftbquests.advancement": "Досягнення", + "ftbquests.task.ftbquests.advancement.criterion": "Критерій", + "ftbquests.task.ftbquests.observation": "Спостереження", + "ftbquests.task.ftbquests.observation.timer": "Таймер", + "ftbquests.task.ftbquests.observation.observe_type": "Тип", + "ftbquests.task.ftbquests.observation.to_observe": "Спостерігати", + "ftbquests.task.ftbquests.interaction": "Взаємодія", + "ftbquests.task.ftbquests.interaction.type": "Тип", + "ftbquests.task.ftbquests.interaction.match": "Відповідність", + "ftbquests.task.ftbquests.interaction.properties": "Властивості", + "ftbquests.task.ftbquests.buildcraft_mj": "Енергія BuildCraft", + "ftbquests.task.ftbquests.buildcraft_mj.value": "mJ", + "ftbquests.task.ftbquests.buildcraft_mj.text": "%d MJ", + "ftbquests.task.ftbquests.ic2_energy": "Енергія IC2", + "ftbquests.task.ftbquests.ic2_energy.value": "EU", + "ftbquests.task.ftbquests.ic2_energy.text": "%d EU", + "ftbquests.task.ftbquests.botania_mana": "Енергія Botania", + "ftbquests.task.ftbquests.botania_mana.value": "Мана", + "ftbquests.task.ftbquests.botania_mana.show_numbers": "Показувати числа", + "ftbquests.task.ftbquests.botania_mana.text": "%d мани", + "ftbquests.task.ftbquests.emc": "EMC", + "ftbquests.task.ftbquests.gamestage": "Етап", + "ftbquests.task.ftbquests.npc_quest": "Завдання CustomNPCs", + "ftbquests.task.ftbquests.npc_quest.id": "ID завдання", + "ftbquests.task.ftbquests.npc_quest.check_active": "Перевірити, чи завдання активне", + "ftbquests.task.ftbquests.npc_dialog": "Діалог CustomNPCs", + "ftbquests.task.ftbquests.npc_dialog.id": "ID діалогу", + "ftbquests.task.ftbquests.npc_faction": "Фракція CustomNPCs", + "ftbquests.task.ftbquests.npc_faction.id": "ID фракції", + "ftbquests.task.ftbquests.npc_faction.required_points": "Необхідні бали", + "ftbquests.task.ftbquests.npc_faction.mode": "Режим балів", + "ftbquests.reward": "Винагорода", + "ftbquests.rewards": "Винагороди", + "ftbquests.reward.team_reward": "Командна винагорода", + "ftbquests.reward.team_reward.tooltip": "Якщо значення true, це єдина нагорода для всієї команди; її отримує гравець, який першим з нею провзаємодіяв\nЯкщо значення false, нагороду можуть отримати окремо усі гравці команди", + "ftbquests.reward.blocked": "%d винагорода(и) заблоковані для команди '%s'", + "ftbquests.reward.this_blocked": "Винагорода заблокована для команди '%s'", + "ftbquests.reward.emergency": "Екстрена річ", + "ftbquests.reward.autoclaim": "Автовидача", + "ftbquests.reward.autoclaim.default": "За замовчуванням", + "ftbquests.reward.autoclaim.disabled": "Вимкнено", + "ftbquests.reward.autoclaim.enabled": "Увімкнено", + "ftbquests.reward.autoclaim.no_toast": "Увімкнено, без сповіщень", + "ftbquests.reward.autoclaim.invisible": "Увімкнено, невидимо", + "ftbquests.reward.claim_all": "Забрати всі винагороди", + "ftbquests.reward.collected": "Винагорода зібрана!", + "ftbquests.reward.exclude_from_claim_all": "Виключити зі збору всіх", + "ftbquests.reward.exclude_from_claim_all.tooltip": "Ігнорувати цю винагороду, коли натиснуто кнопку \"Забрати всі\"\nЦе налаштування не можна змінити для типів винагород Здобич, Випадкова\n та Вибір", + "ftbquests.reward.random_bonus": "Випадковий бонус", + "ftbquests.reward.ftbquests.item": "Предмет", + "ftbquests.reward.ftbquests.item.count": "Кількість", + "ftbquests.reward.ftbquests.item.only_one": "Тільки Один", + "ftbquests.reward.ftbquests.item.only_one.tooltip": "Якщо інвентар містить цей предмет, то не додає його. Ігнорує NBT.", + "ftbquests.reward.ftbquests.all_table": "Винагорода Вмістом", + "ftbquests.reward.ftbquests.choice": "Вибіркова Винагорода", + "ftbquests.reward.ftbquests.random": "Випадкова Винагорода", + "ftbquests.reward.ftbquests.loot": "Винагорода Здобичі", + "ftbquests.reward.ftbquests.custom": "Спеціальне", + "ftbquests.reward.ftbquests.xp": "Досвід", + "ftbquests.reward.ftbquests.xp_levels": "Рівні Досвіду", + "ftbquests.reward.ftbquests.command": "Команда", + "ftbquests.reward.ftbquests.command.success": "Успішно отримано командну винагороду", + "ftbquests.reward.ftbquests.command.tooltip": "Підтримуються класичні заміни, наприклад @p\nСпеціальні заміни:\n{x} / {y} / {z} - поточне X/Y/Z положення гравця\n{quest} - ID цього квесту\n{chapter} - ID цього розділу\n{team} - коротка назва команди гравця", + "ftbquests.reward.ftbquests.command.permission_level": "Запустити з рівнем дозволу", + "ftbquests.reward.ftbquests.command.permission_level.tooltip": "0 = гравець\n1 = модератор\n2 = оператор\n3 = адміністратор\n4 = власник", + "ftbquests.reward.ftbquests.command.silent": "Без повідомлення", + "ftbquests.reward.ftbquests.command.feedback_message": "Вигульк відгуку", + "ftbquests.reward.ftbquests.command.feedback_message.tooltip": "Надіслати сповіщення у підказці при успішності команди", + "ftbquests.reward.ftbquests.advancement": "Досягнення", + "ftbquests.reward.ftbquests.advancement.criterion": "Критерій", + "ftbquests.reward.ftbquests.advancement.criterion.tooltip": "Опціонально, встановлюйте, якщо потрібно отримати лише один критерій", + "ftbquests.reward.ftbquests.toast": "Сповіщення у підказці", + "ftbquests.reward.ftbquests.toast.description": "Опис", + "ftbquests.reward.ftbquests.gamestage": "Етап", + "ftbquests.reward.ftbquests.gamestage.silent": "Без повідомлення", + "ftbquests.reward.ftbquests.gamestage.remove": "Видалити", + "ftbquests.reward.ftbquests.npc_quest": "Завдання CustomNPCs", + "ftbquests.reward.ftbquests.npc_quest.id": "ID завдання", + "ftbquests.reward.ftbquests.npc_faction": "Фракція CustomNPCs", + "ftbquests.reward.ftbquests.npc_faction.id": "ID фракції", + "ftbquests.reward.ftbquests.npc_faction.points": "Бали", + "ftbquests.reward.ftbquests.npc_faction.add": "Додати", + "ftbquests.reward.ftbquests.npc_mail": "Пошта CustomNPCs", + "ftbquests.reward.ftbquests.npc_mail.subject": "Тема", + "ftbquests.reward.ftbquests.npc_mail.sender": "Відправник", + "ftbquests.reward.ftbquests.npc_mail.message": "Повідомлення", + "ftbquests.reward.ftbquests.npc_mail.time": "Час", + "ftbquests.reward.ftbquests.npc_mail.been_read": "Прочитано", + "ftbquests.reward.ftbquests.npc_mail.quest_id": "ID завдання CustomNPCs", + "ftbquests.reward.ftbquests.npc_mail.quest_title": "Назва завдання CustomNPCs", + "ftbquests.reward.ftbquests.npc_mail.items": "Предмети", + "ftbquests.reward.ftbquests.npc_mail.time_past": "Минулий час", + "ftbquests.reward_table": "Таблиця винагород", + "ftbquests.reward.disable_reward_screen_blur": "Вимкнути розмиття на екрані винагород", + "ftbquests.reward_table.hide_tooltip": "Приховати підказку", + "ftbquests.reward_table.use_title": "Використовувати заголовок", + "ftbquests.reward_table.edit": "Редагувати таблицю винагород", + "ftbquests.reward_tables": "Редагувати таблиці винагород", + "ftbquests.reward_table.nothing": "Нічого", + "ftbquests.reward_table.and_more": "...і ще %d", + "ftbquests.reward_table.empty_weight": "Порожня вага", + "ftbquests.reward_table.loot_size": "Розмір здобичі", + "ftbquests.reward_table.weight": "Вага", + "ftbquests.reward_table.set_weight": "Встановити вагу", + "ftbquests.reward_table.enable_loot_crate": "Увімкнути лутбокси", + "ftbquests.reward_table.disable_loot_crate": "Вимкнути лутбокси", + "ftbquests.reward_table.loot_crate.id": "ID", + "ftbquests.reward_table.loot_crate.item_name": "Назва предмета", + "ftbquests.reward_table.loot_crate.item_name.tooltip": "Це може бути ключ перекладу", + "ftbquests.reward_table.loot_crate.color": "Колір", + "ftbquests.reward_table.loot_crate.glow": "Світіння", + "ftbquests.reward_table.loot_crate.passive_weight": "Вага (Пасивний)", + "ftbquests.reward_table.loot_crate.monster_weight": "Вага (Монстр)", + "ftbquests.reward_table.loot_crate.boss_weight": "Вага (Бос)", + "ftbquests.reward_table.used_in": "Використано у %d винагородах за завдання", + "ftbquests.leaderboard_progress": "Прогрес завдань FTB", + "jei.ftbquests.lootcrates": "Скриньки Здобичі", + "jei.ftbquests.lootcrates.chance": "Шанс: %s", + "jei.ftbquests.lootcrates.no_chance": "Шанс предмета відсутній: %s", + "jei.ftbquests.lootcrates.dropped_by": "Випадає з:", + "commands.ftbquests.editing_mode.enabled": "Режим редагування для '%s' увімкнено", + "commands.ftbquests.editing_mode.disabled": "Режим редагування для '%s' вимкнено", + "commands.ftbquests.locked.enabled": "Заблоковані завдання для %s", + "commands.ftbquests.locked.disabled": "Розблоковані завдання для %s", + "commands.ftbquests.command.error.no_object": "Не знайдено об'єкт завдання за ID %s!", + "commands.ftbquests.command.error.no_file": "Не знайдено файлу завдання, що відбувається?!", + "commands.ftbquests.command.error.invalid_id": "Недійсний ID об'єкта: %s!", + "commands.ftbquests.command.error.invalid_type": "Недійсний тип зміни прогресу: %s!", + "commands.ftbquests.command.error.no_inventory": "Цей блок не містить інвентарю!", + "commands.ftbquests.command.error.not_editing": "Вам потрібно бути в режимі редагування (/ftbquests editing_mode), щоб це зробити!", + "commands.ftbquests.command.feedback.table_exported": "Успішно експортовано таблицю винагород '%s' з %s предметами в цільовий блок!", + "commands.ftbquests.command.feedback.table_imported": "Успішно імпортовано таблицю винагород '%s' з %s предметами!", + "commands.ftbquests.command.feedback.table_too_many_items": "ПОПЕРЕДЖЕННЯ: Таблиця %s містить більше предметів, ніж може обробити цільовий блок, термінова зупинка!", + "commands.ftbquests.command.feedback.reloaded": "Дані завдань та прогресії перезавантажені з файлу!", + "commands.ftbquests.command.feedback.reloaded_quest": "Дані завдань перезавантажені з файлу!", + "commands.ftbquests.command.feedback.reloaded_progress": "Дані прогресії перезавантажені з файлу!", + "commands.ftbquests.command.feedback.reloaded.disclaimer": "Примітка: Перезавантаження завдань є зручним інструментом для розробника завдань і не рекомендується для використання на прямому сервері.", + "commands.ftbquests.command.feedback.rewards_blocked": "Блокування винагород завдання для команди '%s' встановлено на: %s", + "commands.ftbquests.command.feedback.clear_display_cache": "Кеш відображення предметів був очищений для всіх гравців", + "commands.ftbquests.command.delete_empty_reward_tables.text": "Видалено %s порожніх таблиць винагород", + "commands.ftbquests.change_progress.text": "Прогрес змінено!", + "commands.ftbquests.change_progress.invalid_type": "Недійсний тип прогресу: %s", + "commands.ftbquests.change_team_rewards.invalid_id": "Недійсний ID глави!", + "commands.ftbquests.change_team_rewards.text": "Змінено %d налаштування винагород для команди на %s", + "commands.ftbquests.change_consumable.text": "Змінено %d налаштування вживання предметів завдання на %s", + "commands.ftbquests.import_rewards_from_chest.usage": "/ftbquests import_rewards_from_chest [weight] [replace]", + "commands.ftbquests.import_rewards_from_chest.invalid_id": "Недійсний ID таблиці винагород!", + "commands.ftbquests.import_rewards_from_chest.text": "Імпортовано %d предметів в %s", + "commands.ftbquests.weigh_from_emc.invalid_id": "Недійсний ID таблиці винагород!", + "commands.ftbquests.weigh_from_emc.text": "Змінено вагу винагороди за предметами на основі EMC в %s", + "commands.ftbquests.export_rewards_to_chest.usage": "/ftbquests export_rewards_to_chest ", + "commands.ftbquests.export_rewards_to_chest.text": "Експортовано %s / %s предметів з '%s'", + "ftbquests.ui": "Користувацький інтерфейс", + "ftbquests.ui.old_scroll_wheel": "Стара поведінка прокрутки", + "ftbquests.ui.old_scroll_wheel.tooltip": "Коли false, колесо прокрутки прокручує вгору і вниз, утримуючи Shift, щоб переміщувати, Ctrl, щоб масштабувати\nКоли true, колесо прокрутки лише масштабує (поведінка 1.19 і раніше)", + "ftbquests.ui.chapter_panel_pinned": "Закріплення відкритої панелі розділів", + "ftbquests.pinned": "Закріплені квести", + "ftbquests.pinned.pinned_quests_pos": "Положення панелі закріплених квестів", + "ftbquests.pinned.pinned_quests_inset_x": "Розташування панелі закріплених квестів по X", + "ftbquests.pinned.pinned_quests_inset_x.tooltip": "Панель розміщується від центру екрана.\nІгнорується, якщо X-позиція центрована.", + "ftbquests.pinned.pinned_quests_inset_y": "Розташування панелі закріплених квестів по Y", + "ftbquests.pinned.pinned_quests_inset_y.tooltip": "Панель розміщується від центру екрана.\nІгнорується, якщо Y-позиція центрована.", + "ftbquests.pinned.pinned_quests_scale": "Масштабування панелі закріплених квестів", + "ftbquests.pinned.auto_pin_follows": "Автоматичне закріплення", + "ftbquests.pinned.auto_pin_follows.tooltip": "• Розділ: відображаються тільки доступні квести в останньому переглянутому розділі\n• Книга квестів: відображаються доступні квести з кожного розділу", + "ftbquests.ui.show_lock_icon": "Показати піктограму для заблокованих квестів", + "ftbquests.ui.show_lock_icon.tooltip": "Показати піктограму замка на будь-яких квестах, які не можна розпочати через обмеження залежності або виключення.", + "ftbquests.ui.backspace_history": "Клавіша Backspace для перегляду історії", + "ftbquests.ui.backspace_history.tooltip": "Якщо значення true, натискання клавіші Backspace під час перегляду квесту відкриває попередньо переглянутий квест. Якщо значення false, клавіша Backspace працює як Escape, просто закриваючи квест.", + "ftbquests.notifications": "Повідомлення", + "ftbquests.notifications.completion_style": "Стиль повідомлення про завершення", + "ftbquests.notifications.completion_style.tooltip": "Як повідомляти про завершення завдання, квесту або розділу. Примітка: «Напис над інвентарем» та «Ніяк» можуть призвести до пропуску повідомлень про завершення", + "ftbquests.notifications.reward_style": "Стиль повідомлення про нагороду", + "ftbquests.notifications.reward_style.tooltip": "Як повідомляти про отримання винагороди поза межами вікна винагороди.", + "ftbquests.notifications.completion_sounds": "Відтворювати звуки завершення", + "ftbquests.notifications.completion_sounds.tooltip": "Чи відтворювати звуки при завершенні завдання, квесту або розділу", + "ftbquests.ui.notification.toast": "Підказка", + "ftbquests.ui.notification.chat": "Чат", + "ftbquests.ui.notification.action_bar": "Над інвентарем", + "ftbquests.ui.notification.none": "Ніяк", + "ftbquests.xlate": "Переклади", + "ftbquests.xlate.editing_locale": "Перевизначення локалізації", + "ftbquests.xlate.editing_locale.tooltip": "Мова, яка використовується для редагування тексту FTB Quests: текст заголовків розділів, квестів, завдань і таблиць нагород, підзаголовків розділів і квестів, а також текст опису квестів. Якщо поле порожнє, використовується поточна мова Minecraft.", + "ftbquests.xlate.fallback_locale": "Резервна локалізація", + "ftbquests.xlate.fallback_locale.tooltip": "Мова, яка використовується для перекладів, яких немає в поточній локалізації. Якщо поле порожнє, за замовчуванням використовується резервна локалізація квестбука, визначена сервером.", + "ftbquests.xlate.hilite_missing": "Виділяти відсутні переклади", + "ftbquests.xlate.hilite_missing.tooltip": "Якщо значення true, текст квесту, який не має перекладу в поточній локалі, виділяється в режимі редагування та в локалі редагування, відмінній від 'en_us'", + "ftbquests.objects": "%d об'єкт(и)", + "ftbquests.message.configurator_bound": "Налаштування зв'язано: %s", + "ftbquests.message.task_screen_inaccessible": "Екран завдань недоступний звідси!", + "ftbquests.message.missing_task_screen": "Екран завдань відсутній!", + "ftbquests.message.missing_xlate_1": "Відсутній переклад для %s у поточній локалізації '%s'", + "ftbquests.message.missing_xlate_2": "Повернення до '%s'", + "ftbquests.translation_key.title": "назва", + "ftbquests.translation_key.quest_subtitle": "підзаголовок квесту", + "ftbquests.translation_key.chapter_subtitle": "підзаголовок розділу", + "ftbquests.translation_key.quest_desc": "опис квесту", + "ftbquests.gui.use_default_lang": "[Використовувати усталену мову]", + "config.jade.plugin_ftbquests.barrier": "Бар'єри", + "comment": "далі застарілі рядки", + "ftbquests.ui.pinned_quests_pos": "Позиція панелі закріплених квестів", + "ftbquests.ui.pinned_quests_inset_x": "Позиція X панелі закріплених квестів", + "ftbquests.ui.pinned_quests_inset_x.tooltip": "Вставка до центру екрана.\nІгнорується, якщо X позиція по центру.", + "ftbquests.ui.pinned_quests_inset_y": "Позиція Y панелі закріплених квестів", + "ftbquests.ui.pinned_quests_inset_y.tooltip": "Вставка до центру екрана.\nІгнорується, якщо Y позиція по центру.", + "item.ftbquests.barrier.nogui": "Графічний інтерфейс ще в розробці", + "item.ftbquests.barrier.disabled": "Функціонує тільки в режимі редагування!", + "item.ftbquests.barrier.config": "Перейменуйте в ковадлі, щоб встановити ID квесту", + "item.ftbquests.stage_barrier.config": "Перейменуйте в ковадлі, щоб встановити етап", + "ftbquest.gui.set_autofocused": "Встановити як автофокусований квест", + "ftbquest.gui.clear_autofocused": "Скинути автофокусований квест", + "ftbquests.task.ftbquests.item.match_nbt": "Відповідність NBT", + "ftbquests.task.ftbquests.item.match_nbt.tooltip": "За замовчуванням: предмет повинен бути в тегу 'itemfilters:check_nbt'\nFalse: ніколи не перевіряти NBT\nTrue: завжди перевіряти NBT", + "ftbquests.quest.visibility.hide": "Приховати квест, поки відкриті залежності не будуть видимими", + "ftbquests.task.ftbquests.item.weak_nbt_match": "Слабка відповідність NBT", + "ftbquests.task.ftbquests.item.weak_nbt_match.tooltip": "False: потрібна точна відповідність NBT\nTrue: поля NBT в перевіреному предметі, але не в елементі фільтру не спричиняють помилку відповідності", + "ftbquests.reward.ftbquests.command.elevate": "Виконати з підвищеними правами", + "ftbquests.reward.ftbquests.command.elevate.tooltip": "Виконати команду так, якби гравець мав рівень дозволу 2" +} \ No newline at end of file diff --git a/kubejs/assets/ftbteams/lang/uk_ua.json b/kubejs/assets/ftbteams/lang/uk_ua.json index 25ab91cb8..fee11e2b9 100644 --- a/kubejs/assets/ftbteams/lang/uk_ua.json +++ b/kubejs/assets/ftbteams/lang/uk_ua.json @@ -1,93 +1,96 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "ftbteams.already_in_party": "Ви вже перебуваєте в команді!", - "ftbteams.player_already_in_party": "Гравець '%s' уже перебуває в команді!", - "ftbteams.not_in_party": "Ви не створили або не приєдналися до команди!", + "ftbteams.already_in_party": "Ви вже у команді!", + "ftbteams.player_already_in_party": "Гравець '%s' вже перебуває у команді!", + "ftbteams.not_in_party": "Ви не створили команду або не приєдналися до неї!", "ftbteams.team_not_found": "Команду '%s' не знайдено!", "ftbteams.cant_edit": "Ви не можете редагувати %s!", - "ftbteams.not_member": "%s не є учасником %s!", + "ftbteams.not_member": "%s не є учасником команди %s!", "ftbteams.not_officer": "%s не є офіцером %s!", - "ftbteams.not_invited": "Вас не запрошено до %s!", - "ftbteams.name_too_short": "Назва команди надто коротка! (мінімум >=3 символи)", - "ftbteams.server_permissions_prevent": "Налаштування сервера забороняють цю дію.", - "ftbteams.info.id": "Довгий ID команди: %s", + "ftbteams.not_invited": "Вас не запрошено до команди %s!", + "ftbteams.name_too_short": "Назва команди занадто коротка! (має бути >=3 символів)", + "ftbteams.server_permissions_prevent": "Налаштування сервера забороняють вам робити це.", + "ftbteams.info.id": "Довгий ID: %s", "ftbteams.info.short_id": "Короткий ID команди: %s", "ftbteams.info.owner": "Власник: %s", - "ftbteams.info.owner.none": "Відсутній", - "ftbteams.info.members": "Учасники:", + "ftbteams.info.owner.none": "Немає", + "ftbteams.info.members": "Учасники", "ftbteams.info.members.none": "Немає учасників", - "ftbteams.list": "Усі FTB Команди: %s", - "ftbteams.property_not_found": "Властивості ID не знайдено!", - "ftbteams.owner_cant_leave": "Ви повинні передати право власності на команду, перш ніж піти!", - "ftbteams.cant_kick_owner": "Неможливо вигнати власника!", - "ftbteams.party_api_only": "У цьому модпаку ви не можете створювати команди безпосередньо!", - "ftbteams.api_override": "У цьому модпаку ви можете створити команду лише з інвентарю за допомогою кнопки 'Моя команда'!", - "ftbteams.missing_data": "Дані команди не були отримані від сервера!\nFTB команди працюватимуть некоректно.\nПеревірте логи сервера на наявність помилок і переконайтеся, що ваш сервер у режимі онлайн.", + "ftbteams.list": "Всі команди FTB: %s", + "ftbteams.property_not_found": "ID власності не знайдено!", + "ftbteams.owner_cant_leave": "Ви повинні передати право власності на команду, перш ніж зможете піти!", + "ftbteams.cant_kick_owner": "Не можна вигнати власника!", + "ftbteams.party_api_only": "Цей модпак не дозволяє вам безпосередньо створювати команди!", + "ftbteams.api_override": "У цьому модпаку ви можете створити команду лише з інвентарю, натиснувши кнопку 'Моя команда'!", + "ftbteams.missing_data": "Дані про команду не отримано від сервера!\nFTB Команди не працюватимуть коректно.\nПеревірте лог сервера на наявність помилок і переконайтеся, що ваш сервер працює в онлайн-режимі.", "sidebar_button.ftbteams.my_team": "Моя команда", "ftbteamsconfig": "Властивості команди", "ftbteamsconfig.ftbteams": "Основні властивості команди", - "ftbteamsconfig.ftbteams.display_name": "Відображуване ім’я", + "ftbteamsconfig.ftbteams.display_name": "Відображати назву", "ftbteamsconfig.ftbteams.description": "Опис", "ftbteamsconfig.ftbteams.color": "Колір", - "ftbteamsconfig.ftbteams.free_to_join": "Вільний вхід", - "ftbteamsconfig.ftbteams.max_msg_history_size": "Максимальний розмір історії повідомлень", + "ftbteamsconfig.ftbteams.free_to_join": "Вільно приєднатися", + "ftbteamsconfig.ftbteams.max_msg_history_size": "Максимальний розмір історії повідомлень ", "ftbteams.privacy_mode.allies": "Союзники", - "ftbteams.privacy_mode.private": "Приватно", - "ftbteams.privacy_mode.public": "Публічно", + "ftbteams.privacy_mode.private": "Приватний", + "ftbteams.privacy_mode.public": "Публічний", "ftbteams.create_party": "Створити команду", "ftbteams.create_party.info": "Створіть команду, щоб запросити учасників і розвиватися разом", "ftbteams.gui.kick": "Вигнати %s", "ftbteams.gui.kick.confirm": "Ви хочете вигнати гравця %s?", "ftbteams.gui.promote": "Підвищити %s", "ftbteams.gui.promote.confirm": "Ви хочете підвищити гравця %s?", - "ftbteams.gui.demote": "Понизити %s", + "ftbteams.gui.demote": "Розжалувати %s", "ftbteams.gui.demote.confirm": "Ви хочете понизити гравця %s?", - "ftbteams.gui.leave": "Покинути команду", + "ftbteams.gui.leave": "Покинути групу", "ftbteams.gui.leave.confirm": "Ви хочете покинути команду?", - "ftbteams.gui.disband": "Розформувати команду", - "ftbteams.gui.disband.confirm": "Ви хочете розформувати команду?", + "ftbteams.gui.disband": "Розпустити команду", + "ftbteams.gui.disband.confirm": "Ви хочете розпустити команду?", "ftbteams.gui.transfer_ownership": "Зробити %s власником команди", "ftbteams.gui.transfer_ownership.confirm": "Ви хочете зробити %s власником команди?", - "ftbteams.gui.party_name": "Назва групи", + "ftbteams.gui.party_name": "Назва команди", "ftbteams.gui.party_description": "Опис", "ftbteams.gui.create_party": "Опис", "ftbteams.gui.add_members": "Додати учасників", "ftbteams.gui.invite": "Запросити гравця(ів)", - "ftbteams.gui.manage_allies": "Керування союзниками", + "ftbteams.gui.manage_allies": "Керувати союзниками", "ftbteams.gui.no_players": "Немає доступних гравців", "ftbteams.gui.send_invite": "Запросити", "ftbteams.gui.add_ally": "Союзник", - "ftbteams.gui.remove_ally": "Видалити союзника %s", + "ftbteams.gui.remove_ally": "Виключити з союзників %s", "ftbteams.gui.remove_ally.confirm": "Ви хочете видалити %s як союзника?", - "ftbteams.ranks.enemy": "Супротивник", - "ftbteams.ranks.none": "Відсутній", + "ftbteams.gui.toggle_chat": "Клацніть, щоб перемкнути", + "ftbteams.ranks.enemy": "Ворог", + "ftbteams.ranks.none": "Немає", "ftbteams.ranks.ally": "Союзник", "ftbteams.ranks.invited": "Запрошений", "ftbteams.ranks.member": "Учасник", "ftbteams.ranks.officer": "Офіцер", "ftbteams.ranks.owner": "Власник", - "ftbteams.team_type.player": "Команда гравця", - "ftbteams.team_type.party": "Команда групи", + "ftbteams.team_type.player": "Команда гравців", + "ftbteams.team_type.party": "Партійна команда", "ftbteams.team_type.server": "Команда сервера", - "key.ftbteams.open_gui": "Відкрити GUI команд", - "key.categories.ftbteams": "FTB Команди", + "key.ftbteams.open_gui": "Відкритий графічний інтерфейс команд", + "key.categories.ftbteams": "Команди FTB", "ftbteams.message.invited": "Запрошено %s", - "ftbteams.message.invite_sent": "%s запросив вас приєднатися до своєї команди!", - "ftbteams.message.joined": "%s приєднався до вашої команди!", + "ftbteams.message.invite_sent": "Користувач %s запросив вас до своєї команди!", + "ftbteams.message.joined": "Користувач %s приєднався до вашої команди!", "ftbteams.message.declined": "Ви відхилили запрошення", - "ftbteams.message.kicked": "Вигнано %s з %s!", - "ftbteams.message.promoted": "Підвищено %s до Офіцера!", - "ftbteams.message.demoted": "Понижено %s до Учасника!", - "ftbteams.message.transfer_owner": "Передано право власності %s!", - "ftbteams.message.left_party": "Гравець %s покинув вашу команду!", - "ftbteams.message.add_ally": "Гравець %s тепер союзник вашої команди!", - "ftbteams.message.now_allied": "Ви тепер союзник '%s'!", - "ftbteams.message.remove_ally": "Гравець %s більше не є союзником вашої команди!", - "ftbteams.message.no_longer_allied": "Ви більше не союзник '%s'!", - "ftbteams.message.created_server_team": "Створено нову команду сервера '%s'!", - "ftbteams.message.deleted_server_team": "Видалено команду сервера '%s'!", - "ftbteams.message.team_disbanded": "Команду групи примусово розпущено '%s' (%s) !", + "ftbteams.message.kicked": "Вигнали %s з %s!", + "ftbteams.message.promoted": "Підвищив %s до офіцера!", + "ftbteams.message.demoted": "Розжалував %s до учасника!", + "ftbteams.message.transfer_owner": "Передано право власності на %s!", + "ftbteams.message.left_party": "Гравець %s покинув твою команду!", + "ftbteams.message.add_ally": "Гравець %s тепер союзник твоєї команди!", + "ftbteams.message.now_allied": "Ви тепер союзник гравця '%s'!", + "ftbteams.message.remove_ally": "Гравець %s більше не є союзником твоєї команди!", + "ftbteams.message.no_longer_allied": "Ви більше не є союзником команди '%s'!", + "ftbteams.message.created_server_team": "Створено нову команду '%s'!", + "ftbteams.message.deleted_server_team": "Видалено команду '%s' з команди '%s'!", + "ftbteams.message.team_disbanded": "Примусово розпущено команду '%s' (%s) !", + "ftbteams.message.chat_redirected.on": "Повідомлення у чаті перенаправлятимуться у командний чат", + "ftbteams.message.chat_redirected.off": "Повідомлення у чаті відправлятимуться у звичайний чат", "ftbteams.accept": "Прийняти ✔", "ftbteams.decline": "Відхилити ✘", - "ftbteams.click_show_info": "Натисніть, щоб переглянути інформацію про команду" + "ftbteams.click_show_info": "Клацніть, щоб передивитися опис команди" } \ No newline at end of file diff --git a/kubejs/assets/greate/lang/ru_ru.json b/kubejs/assets/greate/lang/ru_ru.json index c09807e9c..eda27e13d 100644 --- a/kubejs/assets/greate/lang/ru_ru.json +++ b/kubejs/assets/greate/lang/ru_ru.json @@ -1,9 +1,5 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "advancement.greate.eat_all_belts": "Tasty!", - "advancement.greate.eat_all_belts.desc": "Consume every type of belt", - "advancement.greate.root": "Добро пожаловать в Greate", - "advancement.greate.root.desc": "Приготовся до нескончаемых истязаний", "block.greate.andesite_alloy_cogwheel": "Шестерня", "block.greate.andesite_alloy_crushing_wheel": "Дробильное колесо", "block.greate.andesite_alloy_crushing_wheel_controller": "Контроллер дробильного колеса", @@ -36,7 +32,13 @@ "block.greate.large_andesite_alloy_cogwheel": "Большая шестерня", "block.greate.metal_girder_encased_andesite_alloy_shaft": "Вал в металлической балке", "block.greate.powered_andesite_alloy_shaft": "Приводной вал", + "item.greate.rubber_belt_connector": "Ремень (Резина)", + "item.greate.silicone_rubber_belt_connector": "Ремень (Силиконовая резина)", + "block.greate.polyethylene_belt_titanium": "Ремень (Стирол-бутадиеновая резина)", + "block.greate.polyethylene_belt_tungsten_steel": "Ремень (Стирол-бутадиеновая резина)", + "item.greate.polyethylene_belt_connector": "Ремень (Стирол-бутадиеновая резина)", "item.greate.andesite_alloy_vertical_gearbox": "Вертикальная коробка передач", + "greate.recipe.packing": "Сварка и упаковка", "greate.ponder.belt_casing.text_1": "Латунный или металлический корпус может быть использован для украшения механического ремня", "greate.ponder.cogwheel_casing.text_1": "Латунный или металлический корпус может быть использован для украшения шестерни", "block.greate.aluminium_cogwheel": "Шестерня (Алюминий)", @@ -173,13 +175,8 @@ "item.greate.polytetrafluoroethylene_belt_connector": "Ремень (Политетрафторэтилен)", "block.greate.rubber_belt_andesite_alloy": "Ремень (Резина)", "block.greate.rubber_belt_steel": "Ремень (Резина)", - "item.greate.rubber_belt_connector": "Ремень (Резина)", - "block.greate.polyethylene_belt_titanium": "Ремень (Стирол-бутадиеновая резина)", - "block.greate.polyethylene_belt_tungsten_steel": "Ремень (Стирол-бутадиеновая резина)", - "item.greate.polyethylene_belt_connector": "Ремень (Стирол-бутадиеновая резина)", "block.greate.silicone_rubber_belt_aluminium": "Ремень (Силиконовая резина)", "block.greate.silicone_rubber_belt_stainless_steel": "Ремень (Силиконовая резина)", - "item.greate.silicone_rubber_belt_connector": "Ремень (Силиконовая резина)", "config.jade.plugin_greate.belt_icon": "Иконка ремня", "config.jade.plugin_greate.recipe_duration": "Продолжительность рецепта", "greate.jei.recipe_tier": "Уровень рецепта: ", @@ -194,7 +191,6 @@ "greate.recipe.fan_washing": "Массовая промывка", "greate.recipe.milling": "Помол", "greate.recipe.mixing": "Смешивание", - "greate.recipe.packing": "Упаковка", "greate.recipe.pressing": "Прессование", "greate.recipe.processing.extra_chance": "% дополнительно за каждый уровень", "greate.recipe.sawing": "Распиловка", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 61c1d4a38..58d2335b2 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -3,17 +3,17 @@ "block.bud_indicator": "%s Surface Bud", "block.gtceu.greenhouse": "電気温室", "block.gtceu.steam_bloomery": "蒸気式塊鉄炉", - "block.gtceu.large_solar_panel": "§9Large Solar Array MK I", - "block.gtceu.large_solar_panel_tier2": "§bLarge Solar Array MK II", - "block.gtceu.large_solar_panel_tier3": "§cLarge Solar Array MK III", + "block.gtceu.large_solar_panel": "§9大型ソーラーアレイMK I", + "block.gtceu.large_solar_panel_tier2": "§b大型ソーラーアレイMK II", + "block.gtceu.large_solar_panel_tier3": "§c大型ソーラーアレイMK III", "block.gtceu.gas_pressurizer": "ガス圧縮機", "block.gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", "block.gtceu.heat_exchanger": "Heat Exchanger", "block.gtceu.fission_reactor": "Fission Reactor", "block.gtceu.evaporation_tower": "Evaporation Tower", - "block.gtceu.ostrum_harvester": "Ostrum Harvester", - "block.gtceu.moon_dust_harvester": "Moon dust Harvester", - "block.gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "block.gtceu.ostrum_harvester": "オストラム採取機", + "block.gtceu.moon_dust_harvester": "月面採集機", + "block.gtceu.ostrum_linear_accelerator": "放射性電解機", "block.gtceu.ulv_super_tank": "基本型スーパータンク", "block.gtceu.ulv_super_chest": "基本型スーパーチェスト", "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", @@ -35,17 +35,17 @@ "gtceu.steam_bloomery": "蒸気式塊鉄炉", "gtceu.food_oven": "電気オーブン", "gtceu.food_processor": "自動調理", - "gtceu.large_solar_panel": "Large Solar Array MK I", - "gtceu.large_solar_panel_tier2": "Large Solar Array MK II", - "gtceu.large_solar_panel_tier3": "Large Solar Array MK III", + "gtceu.large_solar_panel": "大型ソーラーアレイMK I", + "gtceu.large_solar_panel_tier2": "大型ソーラーアレイMK II", + "gtceu.large_solar_panel_tier3": "大型ソーラーアレイMK III", "gtceu.gas_pressurizer": "ガス圧縮機", "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", "gtceu.heat_exchanger": "Heat Exchanger", "gtceu.fission_reactor": "Fission Reactor", "gtceu.evaporation_tower": "Evaporation Tower", - "gtceu.ostrum_harvester": "Ostrum Harvester", - "gtceu.moon_dust_harvester": "Moon dust Harvester", - "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "gtceu.ostrum_harvester": "オストラム採取機", + "gtceu.moon_dust_harvester": "月面採集機", + "gtceu.ostrum_linear_accelerator": "放射性電解機", "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", @@ -113,20 +113,20 @@ "item.gtceu.flawless_rock_salt_gem": "傷のない岩塩の結晶", "material.gtceu.ice": "Ice Slush", "material.gtceu.damascus_steel": "Swine-steel", - "material.gtceu.air": "Earth Air", - "material.gtceu.liquid_air": "Liquid Earth Air", - "material.gtceu.cooperite": "Cooperite", - "material.gtceu.armalcolite": "Armalcolite", - "material.gtceu.desh": "Desh", - "material.gtceu.ostrum": "Ostrum", - "material.gtceu.calorite": "Calorite", - "material.gtceu.etrium": "Etrium", - "material.gtceu.aluminium_silicate": "Aluminium Silicate", + "material.gtceu.air": "空気", + "material.gtceu.liquid_air": "液体空気", + "material.gtceu.cooperite": "クーパー鉱", + "material.gtceu.armalcolite": "アーマルコライト", + "material.gtceu.desh": "デッシュ", + "material.gtceu.ostrum": "オストラム", + "material.gtceu.calorite": "カロライト", + "material.gtceu.etrium": "エトリウム", + "material.gtceu.aluminium_silicate": "ケイ酸アルミニウム", "material.gtceu.rocket_alloy_t1": "R-Aluminosteel Rocket Alloy", "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", "material.gtceu.rocket_alloy_t3": "45-Ti Tungstensteel Rocket Alloy", - "material.gtceu.vitrified_asbestos": "Vitrified Asbestos", - "material.gtceu.liquid_carbon_dioxide": "Liquid Carbon Dioxide", + "material.gtceu.vitrified_asbestos": "ガラス化した石綿", + "material.gtceu.liquid_carbon_dioxide": "液化二酸化炭素", "material.gtceu.hot_debrominated_brine": "Hot Debrominated Brine", "material.gtceu.hydrogen_iodide": "Hydrogen Iodide", "material.gtceu.dense_steam": "High Pressure Steam", @@ -184,40 +184,40 @@ "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Martian Liquid Carbon Dioxide", "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water", "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice", - "tagprefix.sword_head": "%s Sword Head", - "tagprefix.pickaxe_head": "%s Pickaxe Head", - "tagprefix.shovel_head": "%s Shovel Head", - "tagprefix.axe_head": "%s Axe Head", - "tagprefix.hoe_head": "%s Hoe Head", - "tagprefix.scythe_head": "%s Scythe Head", - "tagprefix.file_head": "%s File Head", - "tagprefix.hammer_head": "%s Hammer Head", - "tagprefix.saw_head": "%s Saw Head", - "tagprefix.knife_head": "%s Knife Head", - "tagprefix.butchery_knife_head": "%s Butchery Knife Head", - "tagprefix.mining_hammer_head": "%s Mining Hammer Head", - "tagprefix.spade_head": "%s Spade Head", - "tagprefix.double_ingot": "%s Double Ingot", - "tagprefix.poor_raw": "Poor Raw %s", - "tagprefix.rich_raw": "Rich Raw %s", - "tagprefix.dusty_raw": "Dusty Raw %s", - "tagprefix.gabbro": "Gabbro %s Ore", - "tagprefix.shale": "Shale %s Ore", - "tagprefix.claystone": "Claystone %s Ore", - "tagprefix.limestone": "Limestone %s Ore", - "tagprefix.conglomerate": "Conglomerate %s Ore", - "tagprefix.dolomite": "Dolomite %s Ore", - "tagprefix.chert": "Chert %s Ore", - "tagprefix.chalk": "Chalk %s Ore", - "tagprefix.rhyolite": "Rhyolite %s Ore", - "tagprefix.dacite": "Dacite %s Ore", - "tagprefix.quartzite": "Quartzite %s Ore", - "tagprefix.slate": "Slate %s Ore", - "tagprefix.phyllite": "Phyllite %s Ore", - "tagprefix.schist": "Schist %s Ore", - "tagprefix.gneiss": "Gneiss %s Ore", - "tagprefix.marble": "Marble %s Ore", - "tagprefix.deepslate": "Migmatite %s Ore", - "tagprefix.pyroxenite": "Pyroxenite %s Ore", - "tagprefix.dripstone": "Travertine %s Ore" + "tagprefix.sword_head": "%s製剣身", + "tagprefix.pickaxe_head": "%s製ピッケルの頭", + "tagprefix.shovel_head": "%s製シャベルの頭", + "tagprefix.axe_head": "%s製斧頭", + "tagprefix.hoe_head": "%s製クワの頭", + "tagprefix.scythe_head": "%s製鎌の刃", + "tagprefix.file_head": "%s製やすりの先端", + "tagprefix.hammer_head": "%s製ハンマーの頭", + "tagprefix.saw_head": "%s製のこぎりの刃", + "tagprefix.knife_head": "%s製ナイフの刃", + "tagprefix.butchery_knife_head": "%s製肉切包丁の刃", + "tagprefix.mining_hammer_head": "%s製採掘用ハンマーの頭", + "tagprefix.spade_head": "%s製軍用シャベルの頭", + "tagprefix.double_ingot": "%sのダブルインゴット", + "tagprefix.poor_raw": "低純度の%s", + "tagprefix.rich_raw": "高純度の%s", + "tagprefix.dusty_raw": "くすんだ%s", + "tagprefix.gabbro": "%s鉱石(斑れい岩)", + "tagprefix.shale": "%s鉱石(頁岩)", + "tagprefix.claystone": "%s鉱石(粘土岩)", + "tagprefix.limestone": "%s鉱石(石灰岩)", + "tagprefix.conglomerate": "%s鉱石(礫岩)", + "tagprefix.dolomite": "%s鉱石(苦灰岩)", + "tagprefix.chert": "%s鉱石(角岩)", + "tagprefix.chalk": "%s鉱石(白亜)", + "tagprefix.rhyolite": "%s鉱石(流紋岩)", + "tagprefix.dacite": "%s鉱石(デイサイト)", + "tagprefix.quartzite": "%s鉱石(Quartzite)", + "tagprefix.slate": "%s鉱石(粘板岩)", + "tagprefix.phyllite": "%s鉱石(千枚岩)", + "tagprefix.schist": "%s鉱石(片岩)", + "tagprefix.gneiss": "%s鉱石(片麻岩)", + "tagprefix.marble": "%s鉱石(大理石)", + "tagprefix.deepslate": "%s鉱石(混成岩)", + "tagprefix.pyroxenite": "%s鉱石(輝岩)", + "tagprefix.dripstone": "%s鉱石(鍾乳石)" } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 1fb1eb28a..e4fe80cc7 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -1,21 +1,53 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "gtceu.jei.bedrock_ore.moon_asbestos": "Лунный асбест", - "gtceu.jei.bedrock_ore.moon_mica": "Лунная слюда", - "gtceu.jei.bedrock_ore.moon_tin": "Лунное олово", - "gtceu.jei.bedrock_ore.moon_certus": "Лунный истинный кварц", - "gtceu.jei.bedrock_ore.moon_magnetite": "Лунный магнетит", - "gtceu.jei.bedrock_ore.moon_copper": "Лунный халькопирит", - "item.gtceu.gear_extruder_mold": "Форма экструдера (Шестерня)", "block.bud_indicator": "Поверхностная друза (%s)", "block.gtceu.greenhouse": "Теплица", "block.gtceu.steam_bloomery": "Паровой сыродутный горн", - "gtceu.greenhouse": "Электрическая теплица", - "gtceu.steam_bloomery": "Паровой сыродутный горн", - "block.gtceu.black_bronze_crate": "Ящик из черной бронзы", - "block.gtceu.black_bronze_drum": "Бочка из черной бронзы", + "block.gtceu.large_solar_panel": "§9Large Solar Array MK I", + "block.gtceu.large_solar_panel_tier2": "§bLarge Solar Array MK II", + "block.gtceu.large_solar_panel_tier3": "§cLarge Solar Array MK III", + "block.gtceu.gas_pressurizer": "Gas Pressurizer", + "block.gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", + "block.gtceu.heat_exchanger": "Heat Exchanger", + "block.gtceu.fission_reactor": "Fission Reactor", + "block.gtceu.evaporation_tower": "Evaporation Tower", + "block.gtceu.ostrum_harvester": "Ostrum Harvester", + "block.gtceu.moon_dust_harvester": "Moon Dust Harvester", + "block.gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "block.gtceu.ulv_super_tank": "Basic Super Tank", + "block.gtceu.ulv_super_chest": "Basic Super Chest", + "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", + "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A Dynamo Hatch§r", + "block.tfg.bioreactor": "Биореактор", + "block.tfg.growth_chamber": "Growth Chamber", + "block.tfg.single_itemstack_bus": "Limiting Input Bus", + "block.gtceu.red_granite_cobblestone": "Красно-гранитный булыжник", + "block.gtceu.mossy_red_granite_cobblestone": "Замшелый красно-гранитный булыжник", + "block.gtceu.copper_crate": "Copper Crate", + "block.gtceu.copper_drum": "Copper Drum", + "block.gtceu.black_bronze_crate": "Ящик из чёрной бронзы", + "block.gtceu.black_bronze_drum": "Бочка из чёрной бронзы", "block.gtceu.bismuth_bronze_crate": "Ящик из висмутовой бронзы", "block.gtceu.bismuth_bronze_drum": "Бочка из висмутовой бронзы", + "block.gtceu.overworld_marker": "Земля", + "block.gtceu.the_nether_marker": "Бездна", + "gtceu.greenhouse": "Электрическая теплица", + "gtceu.steam_bloomery": "Паровой сыродутный горн", + "gtceu.food_oven": "Food Oven", + "gtceu.food_processor": "Food Processor", + "gtceu.large_solar_panel": "Large Solar Array MK I", + "gtceu.large_solar_panel_tier2": "Large Solar Array MK II", + "gtceu.large_solar_panel_tier3": "Large Solar Array MK III", + "gtceu.gas_pressurizer": "Gas Pressurizer", + "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", + "gtceu.heat_exchanger": "Heat Exchanger", + "gtceu.fission_reactor": "Fission Reactor", + "gtceu.evaporation_tower": "Evaporation Tower", + "gtceu.ostrum_harvester": "Ostrum Harvester", + "gtceu.moon_dust_harvester": "Moon Dust Harvester", + "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "gtceu.bioreactor": "Биореактор", + "gtceu.growth_chamber": "Growth Chamber", "item.gtceu.tiny_wood_dust": "Крохотная кучка массы из мягкого дерева", "item.gtceu.small_wood_dust": "Маленькая кучка массы из мягкого дерева", "item.gtceu.wood_dust": "Масса из мягкого дерева", @@ -25,14 +57,16 @@ "item.gtceu.tiny_thermochemically_treated_hardwood_dust": "Крохотная кучка обработанной массы из твёрдого дерева", "item.gtceu.small_thermochemically_treated_hardwood_dust": "Маленькая кучка обработанной массы из твёрдого дерева", "item.gtceu.thermochemically_treated_hardwood_dust": "Обработанная масса из твёрдого дерева", + "item.gtceu.tool.behavior.canoe_creator": "§Лодочник: §fМожет создавать каное", + "item.gtceu.deepslate_dust": "Мигматит (Пыль)", "item.gtceu.small_deepslate_dust": "Мигматит (Крохотная кучка пыли)", "item.gtceu.tiny_deepslate_dust": "Мигматит (Маленькая кучка пыли)", + "item.gtceu.blackstone_dust": "Пироксенит (Пыль)", "item.gtceu.small_blackstone_dust": "Пироксенит (Крохотная кучка пыли)", "item.gtceu.tiny_blackstone_dust": "Пироксенит (Маленькая кучка пыли)", - "item.gtceu.tool.behavior.canoe_creator": "§Лодочник: §fМожет создавать каное", - "item.gtceu.ice_bucket": "Ведро со льдом", - "item.gtceu.deepslate_dust": "Мигматит (Пыль)", - "item.gtceu.blackstone_dust": "Пироксенит (Пыль)", + "item.gtceu.netherrack_dust": "Keratophyre Dust", + "item.gtceu.small_netherrack_dust": "Small Pile of Keratophyre Dust", + "item.gtceu.tiny_netherrack_dust": "Tiny Pile of Keratophyre Dust", "item.gtceu.iron_ring": "Серый чугун (Кольцо)", "item.gtceu.small_iron_gear": "Серый чугун (Маленькая шестерня)", "item.gtceu.iron_gear": "Серый чугун (Шестерня)", @@ -47,10 +81,118 @@ "item.gtceu.iron_screw": "Серый чугун (Винт)", "item.gtceu.iron_turbine_blade": "Серый чугун (Лопасть турбины)", "item.gtceu.iron_round": "Серый чугун (Шарик)", + "item.gtceu.iron_single_wire": "1x Cast Iron Wire", + "item.gtceu.iron_double_wire": "2x Cast Iron Wire", + "item.gtceu.iron_quadruple_wire": "4x Cast Iron Wire", + "item.gtceu.iron_octal_wire": "8x Cast Iron Wire", + "item.gtceu.iron_hex_wire": "16x Cast Iron Wire", + "item.gtceu.iron_single_cable": "1x Cast Iron Cable", + "item.gtceu.iron_double_cable": "2x Cast Iron Cable", + "item.gtceu.iron_quadruple_cable": "4x Cast Iron Cable", + "item.gtceu.iron_octal_cable": "8x Cast Iron Cable", + "item.gtceu.iron_hex_cable": "16x Cast Iron Cable", + "item.gtceu.ice_bucket": "Ведро со льдом", + "item.gtceu.copper_credit": "§71 Credit", + "item.gtceu.cupronickel_credit": "§78 Credits", + "item.gtceu.silver_credit": "§764 Credits", + "item.gtceu.gold_credit": "§7512 Credits", + "item.gtceu.platinum_credit": "§74,096 Credits", + "item.gtceu.osmium_credit": "§732,768 Credits", + "item.gtceu.naquadah_credit": "§7262,144 Credits", + "item.gtceu.neutronium_credit": "§72,097,152 Credits", + "item.gtceu.wood_plate": "Medium Density Fiberboard", + "item.gtceu.chipped_salt_gem": "Chipped Salt Crystal", + "item.gtceu.chipped_rock_salt_gem": "Chipped Rock Salt Crystal", + "item.gtceu.flawed_salt_gem": "Flawed Salt Crystal", + "item.gtceu.flawed_rock_salt_gem": "Flawed Rock Salt Crystal", + "item.gtceu.salt_gem": "Salt Crystal", + "item.gtceu.rock_salt_gem": "Rock Salt Crystal", + "item.gtceu.exquisite_salt_gem": "Exquisite Salt Crystal", + "item.gtceu.exquisite_rock_salt_gem": "Exquisite Rock Salt Crystal", + "item.gtceu.flawless_salt_gem": "Flawless Salt Crystal", + "item.gtceu.flawless_rock_salt_gem": "Flawless Rock Salt Crystal", + "material.gtceu.ice": "Ice Slush", + "material.gtceu.damascus_steel": "Swine-steel", + "material.gtceu.air": "Earth Air", + "material.gtceu.liquid_air": "Liquid Earth Air", + "material.gtceu.cooperite": "Cooperite", + "material.gtceu.armalcolite": "Армалколит", + "material.gtceu.desh": "Деш", + "material.gtceu.ostrum": "Ostrum", + "material.gtceu.calorite": "Калорит", + "material.gtceu.etrium": "Этриум", + "material.gtceu.aluminium_silicate": "Aluminium Silicate", + "material.gtceu.rocket_alloy_t1": "Красный алюминиево-стальной ракетный сплав", + "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", + "material.gtceu.rocket_alloy_t3": "45-Ti Tungstensteel Rocket Alloy", + "material.gtceu.vitrified_asbestos": "Остеклованный асбест", + "material.gtceu.liquid_carbon_dioxide": "Liquid Carbon Dioxide", + "material.gtceu.hot_debrominated_brine": "Hot Debrominated Brine", + "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.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", + "material.gtceu.brominated_chlorine_vapor": "Brominated Chlorine Vapor", + "material.gtceu.acidic_bromine_solution": "Acidic Bromine Solution", + "material.gtceu.concentrated_bromine_solution": "Concentrated Bromine Solution", + "material.gtceu.debrominated_brine": "Debrominated Brine", + "material.gtceu.acidic_bromine_exhaust": "Acidic Bromine Exhaust", + "material.gtceu.hot_alkaline_debrominated_brine": "Hot Alkaline Debrominated Brine", + "material.gtceu.lithium_carbonate": "Lithium Carbonate", + "material.gtceu.lithium_fluoride": "Lithium Fluoride", + "material.gtceu.tetrafluoroberyllate": "Tetrafluoroberyllate", + "material.gtceu.thorium_230": "Thorium 230", + "material.gtceu.thorium_232": "Thorium 232", + "material.gtceu.tbu-232_pellet": "TBU 232 Pellet", + "material.gtceu.plutonium_pellet": "Plutonium Pellet", + "material.gtceu.uranium_pellet": "Uranium Pellet", + "material.gtceu.thorium_pellet": "Thorium Pellet", + "material.gtceu.ostrum_iodide": "Ostrum Iodide", + "material.gtceu.residual_radioactive_concoction": "Residual Radioactive Concoction", + "material.gtceu.regolith_vapor": "Regolith Vapor", + "material.gtceu.dense_ostrum_vapor": "Dense Ostrum Vapor", + "material.gtceu.lightweight_ostrum_vapor": "Lightweight Ostrum Vapor", + "material.gtceu.ostrum_vapor": "Ostrum Vapor", + "material.gtceu.blue_steel": "Синяя сталь", + "material.gtceu.rose_quartz": "Розовый кварц", "metaitem.dust.tooltip.purify": "Бросьте в источник воды или нажмите ПКМ по котлу, для получения чистой пыли", "metaitem.crushed.tooltip.purify": "Бросьте в источник воды или нажмите ПКМ по котлу, для получения очищенной руды", - "block.gtceu.overworld_marker": "Земля", - "block.gtceu.the_nether_marker": "Бездна", + "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", + "item.gtceu.tool.butchery_knife.tooltip": "§cButcher:§r Butchers animals for more meat", + "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", + "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", + "gtceu.jei.bedrock_fluid.moon_helium": "Lunar Helium", + "gtceu.jei.bedrock_fluid.moon_helium_3": "Lunar Helium-3", + "gtceu.jei.bedrock_fluid.moon_argon": "Lunar Argon", + "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "Martian Semiheavy Ammoniacal Water", + "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Martian Liquid Carbon Dioxide", + "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water", + "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice", + "gtceu.recipe.category.ingot_molding": "Material Molding", + "gtceu.jei.bedrock_ore.moon_asbestos": "Лунный асбест", + "gtceu.jei.bedrock_ore.moon_mica": "Лунная слюда", + "gtceu.jei.bedrock_ore.moon_tin": "Лунное олово", + "gtceu.jei.bedrock_ore.moon_certus": "Лунный истинный кварц", + "gtceu.jei.bedrock_ore.moon_magnetite": "Лунный магнетит", + "gtceu.jei.bedrock_ore.moon_copper": "Лунный халькопирит", "tagprefix.sword_head": "%s (Оголовье меча)", "tagprefix.pickaxe_head": "%s (Оголовье кирки)", "tagprefix.shovel_head": "%s (Оголовье лопаты)", @@ -67,6 +209,7 @@ "tagprefix.double_ingot": "%s (Двойной слиток)", "tagprefix.poor_raw": "%s (Бедная руда)", "tagprefix.rich_raw": "%s (Богатая руда)", + "tagprefix.dusty_raw": "Dusty Raw %s", "tagprefix.gabbro": "%s (Габбровая руда)", "tagprefix.shale": "%s (Сланцевая руда)", "tagprefix.claystone": "%s (Аргиллитовая руда)", @@ -91,13 +234,5 @@ "tagprefix.mars_stone": "%s (Аргиллитовая руда)", "tagprefix.venus_stone": "%s (Трахитовая руда)", "tagprefix.mercury_stone": "%s (Коматиитовая руда)", - "tagprefix.glacio_stone": "%s (Фонолитовая руда)", - "material.gtceu.blue_steel": "Синяя сталь", - "material.gtceu.desh": "Деш", - "material.gtceu.calorite": "Калорит", - "material.gtceu.etrium": "Этриум", - "material.gtceu.armalcolite": "Армалколит", - "material.gtceu.rose_quartz": "Розовый кварц", - "material.gtceu.vitrified_asbestos": "Остеклованный асбест", - "material.gtceu.rocket_alloy_t1": "Красный алюминиево-стальной ракетный сплав" + "tagprefix.glacio_stone": "%s (Фонолитовая руда)" } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index bbf356128..9639bf2a4 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -155,6 +155,7 @@ "material.gtceu.plutonium_pellet": "Плутонієва гранула", "material.gtceu.uranium_pellet": "Уранова гранула", "material.gtceu.thorium_pellet": "Торієва гранула", + "material.gtceu.ostrum_iodide": "Йодит Оструму", "material.gtceu.residual_radioactive_concoction": "Залишкова Радіоактивна Суміш", "material.gtceu.regolith_vapor": "Випаровування Реголіту", "material.gtceu.dense_ostrum_vapor": "Густе Випаровування Острому", @@ -173,6 +174,7 @@ "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Марсіанський Рідкий Діоксид Карбону", "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Марсіанська важка аміачна вода", "gtceu.jei.bedrock_fluid.liquid_ice": "Марсіанський лід", + "gtceu.recipe.category.ingot_molding": "Формування матеріалів", "tagprefix.sword_head": "%s Лезо меча", "tagprefix.pickaxe_head": "%s Лезо кайла", "tagprefix.shovel_head": "%s Лезо лопати", diff --git a/kubejs/assets/immersive_aircraft/lang/ru_ru.json b/kubejs/assets/immersive_aircraft/lang/ru_ru.json index ec2871f8a..07e0fb5fe 100644 --- a/kubejs/assets/immersive_aircraft/lang/ru_ru.json +++ b/kubejs/assets/immersive_aircraft/lang/ru_ru.json @@ -1,5 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.immersive_aircraft.bamboo_hopper": "Воронка (Алюминий)", "item.immersive_aircraft.steel_boiler": "Паровой воздушный двигатель", "item.immersive_aircraft.nether_engine": "Воздушный двигатель MV", "item.immersive_aircraft.enhanced_propeller": "Пропеллер самолёта (Алюминий)", diff --git a/kubejs/assets/immersive_aircraft/lang/uk_ua.json b/kubejs/assets/immersive_aircraft/lang/uk_ua.json index 06cf80fc4..20c726a37 100644 --- a/kubejs/assets/immersive_aircraft/lang/uk_ua.json +++ b/kubejs/assets/immersive_aircraft/lang/uk_ua.json @@ -1,5 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.immersive_aircraft.bamboo_hopper": "Алюмінієва лійка", "item.immersive_aircraft.steel_boiler": "Парова авіаційна турбіна", "item.immersive_aircraft.nether_engine": "MV авіаційний двигун", "item.immersive_aircraft.enhanced_propeller": "Вкритий алюмінієвий авіаційний пропелер", diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index caf30b220..6f97684eb 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -94,6 +94,7 @@ "item.minecraft.iron_ingot": "Cast Iron Ingot", "item.minecraft.iron_block": "Cast Iron Block", "item.minecraft.netherite_leggings": "Blue Steel Diving Leggings", + "item.minecraft.netherite_boots": "Blue Steel Lavaproof Boots", "item.minecraft.string": "Silk Thread", "item.minecraft.glow_ink_sac": "Glowing Dye", "item.minecraft.nether_brick": "Keratophyre Brick", diff --git a/kubejs/assets/minecraft/lang/ja_jp.json b/kubejs/assets/minecraft/lang/ja_jp.json index a407b262f..6ce5806fd 100644 --- a/kubejs/assets/minecraft/lang/ja_jp.json +++ b/kubejs/assets/minecraft/lang/ja_jp.json @@ -89,7 +89,7 @@ "block.minecraft.smooth_red_sandstone_slab": "滑らかな赤鉄質の砂岩のハーフブロック", "block.minecraft.cut_red_sandstone": "研がれた赤鉄質の砂岩", "block.minecraft.cut_red_sandstone_slab": "研がれた赤鉄質の砂岩のハーフブロック", - "entity.minecraft.furnace_minecart": "Minecart with Boiler", + "entity.minecraft.furnace_minecart": "ボイラー付きのトロッコ", "item.minecraft.iron_nugget": "鋳鉄ナゲット", "item.minecraft.iron_ingot": "鋳鉄インゴット", "item.minecraft.iron_block": "鋳鉄ブロック", @@ -98,5 +98,5 @@ "item.minecraft.glow_ink_sac": "発光染料", "item.minecraft.nether_brick": "角斑岩のレンガ", "item.minecraft.furnace_minecart": "ボイラー付きのトロッコ", - "material.tfg.dripstone": "Travertine" + "material.tfg.dripstone": "鍾乳石" } \ 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 1aa8b5368..6f0606390 100644 --- a/kubejs/assets/minecraft/lang/ru_ru.json +++ b/kubejs/assets/minecraft/lang/ru_ru.json @@ -1,6 +1,29 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.minecraft.iron_block": "Серый чугун (Блок)", + "block.minecraft.stone": "Восстановленный камень", + "block.minecraft.stone_stairs": "Ступеньки восстановленного камня", + "block.minecraft.stone_slab": "Плита восстановленного камня", + "block.minecraft.cobblestone": "Булыжник восстановленного камня", + "block.minecraft.cobblestone_stairs": "Ступеньки из булыжника восстановленного камня", + "block.minecraft.cobblestone_slab": "Плита из булыжника восстановленного камня", + "block.minecraft.cobblestone_wall": "Ограда из булыжника восстановленного камня", + "block.minecraft.mossy_cobblestone": "Замшелый булыжник восстановленного камня", + "block.minecraft.mossy_cobblestone_stairs": "Ступеньки из замшелого булыжника восстановленного камня", + "block.minecraft.mossy_cobblestone_slab": "Плита из замшелого булыжника восстановленного камня", + "block.minecraft.mossy_cobblestone_wall": "Ограда из замшелого булыжника восстановленного камня", + "block.minecraft.smooth_stone": "Полированный восстановленный камень", + "block.minecraft.smooth_stone_slab": "Плита из полированного восстановленного камня", + "block.minecraft.stone_bricks": "Кирпичи восстановленного камня", + "block.minecraft.stone_bricks_stairs": "Ступеньки из кирпича восстановленного камня", + "block.minecraft.stone_bricks_slab": "Плита из кирпича восстановленного камня", + "block.minecraft.stone_bricks_wall": "Ограда из кирпича восстановленного камня", + "block.minecraft.cracked_stone_bricks": "Потрескавшиеся кирпичи восстановленного камня", + "block.minecraft.mossy_stone_bricks": "Замшелые кирпичи восстановленного камня", + "block.minecraft.mossy_stone_bricks_stairs": "Ступеньки из замшелых кирпичей восстановленного камня", + "block.minecraft.mossy_stone_bricks_slab": "Плита из замшелых кирпичей восстановленного камня", + "block.minecraft.mossy_stone_bricks_wall": "Ограда из замшелых кирпичей восстановленного камня", + "block.minecraft.chiseled_stone_bricks": "Резные кирпичи восстановленного камня", "block.minecraft.chiseled_deepslate": "Резной мигматит", "block.minecraft.cobbled_deepslate": "Колотый мигматит", "block.minecraft.cobbled_deepslate_slab": "Плита из колотого мигматита", @@ -23,11 +46,11 @@ "block.minecraft.polished_deepslate_stairs": "Ступеньки из полированного мигматита", "block.minecraft.polished_deepslate_wall": "Ограда из полированного мигматита", "block.minecraft.blackstone": "Пироксенит", - "block.minecraft.blackstone_slab": "Плита из пироксенита", - "block.minecraft.blackstone_stairs": "Ступеньки из пироксенита", - "block.minecraft.blackstone_wall": "Ограда из пироксенита", - "block.minecraft.chiseled_polished_blackstone": "Резной полированный пироксенит", - "block.minecraft.cracked_polished_blackstone_bricks": "Потрескавшиеся полированные пироксенитовые кирпичи", + "block.minecraft.blackstone_slab": "Пироксенитовая плита", + "block.minecraft.blackstone_stairs": "Пироксенитовые ступеньки", + "block.minecraft.blackstone_wall": "Пироксенитовая ограда", + "block.minecraft.chiseled_polished_blackstone": "Резной пироксенит", + "block.minecraft.cracked_polished_blackstone_bricks": "Потрескавшиеся пироксенитовые кирпичи", "block.minecraft.gilded_blackstone": "Позолоченный пироксенит", "block.minecraft.polished_blackstone": "Полированный пироксенит", "block.minecraft.polished_blackstone_brick_slab": "Плита из пироксенитовых кирпичей", @@ -40,15 +63,21 @@ "block.minecraft.polished_blackstone_stairs": "Ступеньки из полированного пироксенита", "block.minecraft.polished_blackstone_wall": "Ограда из полированного пироксенита", "block.minecraft.dripstone_block": "Травертин", + "block.minecraft.nether_bricks": "Кератофировые кирпичи", + "block.minecraft.nether_brick_fence": "Забор из кератофировых кирпичей", + "block.minecraft.nether_brick_slab": "Плита из кератофировых кирпичей", + "block.minecraft.nether_brick_wall": "Ограда из кератофировых кирпичей", + "block.minecraft.nether_brick_stairs": "Ступеньки из кератофировых кирпичей", + "block.minecraft.cracked_nether_bricks": "Потрескавшиеся кератофировые кирпичи", + "block.minecraft.chiseled_nether_bricks": "Резные кератофировые кирпичи", "block.minecraft.magma_block": "Пироксенитовая магма", "block.minecraft.twisting_vines": "Стебель светоцвета", - "block.minecraft.twisting_vines_plant": "Стебель светоцвета", "block.minecraft.pearlescent_froglight": "Перламутровый светоцвет", "block.minecraft.verdant_froglight": "Малахитовый светоцвет", "block.minecraft.ochre_froglight": "Охристый светоцвет", - "block.minecraft.nether_wart_block": "Crimson Wart Block", - "block.minecraft.weeping_vines_plant": "Crimson Vines Plant", - "block.minecraft.weeping_vines": "Crimson Vines", + "block.minecraft.nether_wart_block": "Блок багряного нароста", + "block.minecraft.weeping_vines_plant": "Багряная вьющаяся лоза", + "block.minecraft.weeping_vines": "Багряная лоза", "block.minecraft.red_sand": "Гематитовый песок", "block.minecraft.red_sandstone": "Гематитовый песчаник", "block.minecraft.red_sandstone_stairs": "Ступеньки из гематитового песчаника", @@ -58,18 +87,21 @@ "block.minecraft.smooth_red_sandstone": "Гладкий гематитовый песчаник", "block.minecraft.smooth_red_sandstone_stairs": "Ступеньки из гладкого гематитового песчаника", "block.minecraft.smooth_red_sandstone_slab": "Плита из гладкого гематитового песчаника", - "block.minecraft.cut_red_sandstone": "Cut Hematitic Sandstone", - "block.minecraft.cut_red_sandstone_slab": "Cut Hematitic Sandstone Slab", + "block.minecraft.cut_red_sandstone": "Пиленый гематитовый песчаник", + "block.minecraft.cut_red_sandstone_slab": "Плита из пиленого гематитового песчаника", + "entity.minecraft.furnace_minecart": "Вагонетка с бойлером", "item.minecraft.iron_nugget": "Серый чугун (Самородок)", "item.minecraft.iron_ingot": "Серый чугун (Слиток)", + "item.minecraft.iron_block": "Серый чугун (Блок)", + "item.minecraft.netherite_leggings": "Лаволазные поножи из синей стали", + "item.minecraft.string": "Шёлковая нить", + "item.minecraft.glow_ink_sac": "Светящийся краситель", + "item.minecraft.nether_brick": "Кератофировый кирпич", + "item.minecraft.furnace_minecart": "Вагонетка с бойлером", + "material.tfg.dripstone": "Травертин", "item.minecraft.gold_nugget": "Золото (Самородок)", "item.minecraft.gold_ingot": "Золото (Слиток)", - "block.minecraft.gold_block": "Золото (Блок)", "item.minecraft.copper_ingot": "Медь (Слиток)", - "block.minecraft.copper_block": "Медь (Блок)", - "item.minecraft.netherite_leggings": "Лаволазные поножи из синей стали", - "item.minecraft.glow_ink_sac": "Светящийся краситель", - "item.minecraft.string": "Шёлковая нить", - "material.tfg.dripstone": "Травертин", - "item.beneath.loose_blackstone": "Камешек пироксенита" + "block.minecraft.gold_block": "Золото (Блок)", + "block.minecraft.copper_block": "Медь (Блок)" } \ No newline at end of file diff --git a/kubejs/assets/minecraft/lang/zh_cn.json b/kubejs/assets/minecraft/lang/zh_cn.json index cb6f0cf18..89cffd042 100644 --- a/kubejs/assets/minecraft/lang/zh_cn.json +++ b/kubejs/assets/minecraft/lang/zh_cn.json @@ -94,6 +94,7 @@ "item.minecraft.iron_ingot": "铸铁锭", "item.minecraft.iron_block": "铸铁块", "item.minecraft.netherite_leggings": "蓝钢潜水护腿", + "item.minecraft.netherite_boots": "蓝钢防熔岩靴", "item.minecraft.string": "丝线", "item.minecraft.glow_ink_sac": "荧光染料", "item.minecraft.nether_brick": "角斑岩砖", diff --git a/kubejs/assets/primitive_creatures/lang/ru_ru.json b/kubejs/assets/primitive_creatures/lang/ru_ru.json index 5236fcde3..0f20eb13f 100644 --- a/kubejs/assets/primitive_creatures/lang/ru_ru.json +++ b/kubejs/assets/primitive_creatures/lang/ru_ru.json @@ -6,12 +6,16 @@ "entity.primitive_creatures.wiloger": "Укротитель зверей", "entity.primitive_creatures.iloger_2": "Знахарь", "entity.primitive_creatures.iloger_1": "Фуражир", + "entity.primitive_creatures.piloger_9": "Воин", + "entity.primitive_creatures.nahida": "Хантмастер", "item.primitive_creatures.tfc_spawn_egg": "Яйцо призыва Каолинитового Клейза", "item.primitive_creatures.golem_2_spawn_egg": "Яйцо призыва Графитового Глейза", "item.primitive_creatures.iloger_4_spawn_egg": "Яйцо призыва Засадника", "item.primitive_creatures.wiloger_spawn_egg": "Яйцо призыва Укротителя зверей", "item.primitive_creatures.iloger_2_spawn_egg": "Яйцо призыва Знахаря", "item.primitive_creatures.iloger_1_spawn_egg": "Яйцо призыва Фуражира", + "item.primitive_creatures.piloger_9_spawn_egg": "Яйцо призыва Воина", + "item.primitive_creatures.nahida_spawn_egg": "Яйцо призыва Хантмастера", "item.primitive_creatures.yhgi": "Булава (Кремень)", "item.primitive_creatures.reh": "Укрепленная булава (Кремень)", "item.primitive_creatures.grh": "Изношенная шерсть", @@ -20,8 +24,11 @@ "item.primitive_creatures.totem_3": "Укрепленный глиняный идол", "item.primitive_creatures.tt_5": "Маленький осколок", "item.primitive_creatures.f_1": "Примитивная взрывчатка", + "item.primitive_creatures.ww_3": "Душистая трава", "item.primitive_creatures.reh.description_0": "\"Ломает кости при ударе\"", "item.kaolinclayze.reh.description_0": "\"Ломает кости при ударе\"", "item.primitive_creatures.yhgi.description_0": "\"Ломает кости при ударе\"", - "item.kaolinclayze.yhgi.description_0": "\"Ломает кости при ударе\"" + "item.kaolinclayze.yhgi.description_0": "\"Ломает кости при ударе\"", + "effect.kaolinclayze.dd": "Сломанные кости", + "effect.primitive_creatures.dd": "Сломанные кости" } \ No newline at end of file diff --git a/kubejs/assets/railways/lang/ru_ru.json b/kubejs/assets/railways/lang/ru_ru.json index dcfa938d8..7bc9fb63a 100644 --- a/kubejs/assets/railways/lang/ru_ru.json +++ b/kubejs/assets/railways/lang/ru_ru.json @@ -1,9 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "item.railways.track_incomplete_create_andesite_wide": "Незаконченный широкий железнодорожный путь", - "block.railways.track_create_andesite_wide": "Широкий железнодорожный путь", - "item.railways.track_incomplete_create_andesite_narrow": "Незаконченный узкий железнодорожный путь", - "block.railways.track_create_andesite_narrow": "Узкий железнодорожный путь", + "block.railways.track_create_andesite_wide": "Широкий ж/д путь", + "block.railways.track_create_andesite_narrow": "Узкий ж/д путь", "block.railways.track_blackstone_narrow": "Узкий ж/д путь на пироксенитовых шпалах", "block.railways.track_incomplete_blackstone_narrow": "Незаконченный узкий ж/д путь на пироксенитовых шпалах", "block.railways.track_blackstone": "Ж/д путь на пироксенитовых шпалах", @@ -40,6 +38,8 @@ "block.railways.track_incomplete_spruce": "Незаконченный ж/д путь на кипарисовых шпалах", "block.railways.track_spruce_wide": "Широкий ж/д путь на кипарисовых шпалах", "block.railways.track_incomplete_spruce_wide": "Незаконченный широкий ж/д путь на кипарисовых шпалах", + "item.railways.track_incomplete_create_andesite_wide": "Незаконченный широкий ж/д путь", + "item.railways.track_incomplete_create_andesite_narrow": "Незаконченный узкий ж/д путь", "tfc.recipe.barrel.railways.barrel.dyeing.cap_decolor": "Обесцвечивание", "tfc.recipe.barrel.railways.barrel.dyeing.black_conductor_cap": "Окрашивание", "tfc.recipe.barrel.railways.barrel.dyeing.gray_conductor_cap": "Окрашивание", @@ -57,15 +57,86 @@ "tfc.recipe.barrel.railways.barrel.dyeing.orange_conductor_cap": "Окрашивание", "tfc.recipe.barrel.railways.barrel.dyeing.red_conductor_cap": "Окрашивание", "tfc.recipe.barrel.railways.barrel.dyeing.brown_conductor_cap": "Окрашивание", + "block.railways.track_switch_andesite": "Железный стрелочный перевод", "block.railways.track_bamboo": "Ж/д путь на бамбуковых шпалах", "block.railways.track_bamboo_narrow": "Узкий ж/д путь на бамбуковых шпалах", "block.railways.track_bamboo_wide": "Широкий ж/д путь на бамбуковых шпалах", + "block.railways.track_stripped_bamboo": "Ж/д путь на шпалах из обтёсанного бамбука", + "block.railways.track_stripped_bamboo_narrow": "Узкий ж/д путь на шпалах из обтёсанного бамбука", + "block.railways.track_stripped_bamboo_wide": "Широкий ж/д путь на шпалах из обтёсанного бамбука", "block.railways.track_crimson": "Ж/д путь на шпалах из багровых досок", + "block.railways.track_crimson_narrow": "Узкий ж/д путь на шпалах из багровых досок", + "block.railways.track_crimson_wide": "Широкий ж/д путь на шпалах из багровых досок", "block.railways.track_phantom": "Фантомный ж/д путь", - "block.railways.track_switch_andesite": "Железнодорожная стрелка", "block.railways.track_warped": "Ж/д путь на шпалах из искаженного дерева", "block.railways.track_warped_narrow": "Узкий ж/д путь на искажённых шпалах", "block.railways.track_warped_wide": "Широкий ж/д путь на искажённых шпалах", + "block.railways.track_tieless": "Бесшпальный ж/д путь", + "block.railways.track_tieless_narrow": "Узкий бесшпальный ж/д путь", + "block.railways.track_tieless_wide": "Широкий бесшпальный ж/д путь", + "block.railways.track_tfc_acacia": "Ж/д путь на акациевых шпалах", + "block.railways.track_tfc_acacia_narrow": "Узкий ж/д путь на акациевых шпалах", + "block.railways.track_tfc_acacia_wide": "Широкий ж/д путь на акациевых шпалах", + "block.railways.track_tfc_ash": "Ж/д путь на ясеневых шпалах", + "block.railways.track_tfc_ash_narrow": "Узкий ж/д путь на ясеневых шпалах", + "block.railways.track_tfc_ash_wide": "Широкий ж/д путь на ясеневых шпалах", + "block.railways.track_tfc_aspen": "Ж/д путь на осиновых шпалах", + "block.railways.track_tfc_aspen_narrow": "Узкий ж/д путь на осиновых шпалах", + "block.railways.track_tfc_aspen_wide": "Широкий ж/д путь на осиновых шпалах", + "block.railways.track_tfc_birch": "Ж/д путь на берёзовых шпалах", + "block.railways.track_tfc_birch_narrow": "Узкий ж/д путь на берёзовых шпалах", + "block.railways.track_tfc_birch_wide": "Широкий ж/д путь на берёзовых шпалах", + "block.railways.track_tfc_blackwood": "Ж/д путь на гренадиловых шпалах", + "block.railways.track_tfc_blackwood_narrow": "Узкий ж/д путь на гренадиловых шпалах", + "block.railways.track_tfc_blackwood_wide": "Широкий ж/д путь на гренадиловых шпалах", + "block.railways.track_tfc_chestnut": "Ж/д путь на каштановых шпалах", + "block.railways.track_tfc_chestnut_narrow": "Узкий ж/д путь на каштановых шпалах", + "block.railways.track_tfc_chestnut_wide": "Широкий ж/д путь на каштановых шпалах", + "block.railways.track_tfc_douglas_fir": "Ж/д путь на шпалах из дугласовой пихты", + "block.railways.track_tfc_douglas_fir_narrow": "Узкий ж/д путь на шпалах из дугласовой пихты", + "block.railways.track_tfc_douglas_fir_wide": "Широкий ж/д путь на шпалах из дугласовой пихты", + "block.railways.track_tfc_hickory": "Ж/д путь на ореховых шпалах", + "block.railways.track_tfc_hickory_narrow": "Узкий ж/д путь на ореховых шпалах", + "block.railways.track_tfc_hickory_wide": "Широкий ж/д путь на ореховых шпалах", + "block.railways.track_tfc_kapok": "Ж/д путь на сейбовых шпалах", + "block.railways.track_tfc_kapok_narrow": "Узкий ж/д путь на сейбовых шпалах", + "block.railways.track_tfc_kapok_wide": "Широкий ж/д путь на сейбовых шпалах", + "block.railways.track_tfc_mangrove": "Ж/д путь на шпалах из мангрового дерева", + "block.railways.track_tfc_mangrove_narrow": "Узкий ж/д путь на шпалах из мангрового дерева", + "block.railways.track_tfc_mangrove_wide": "Широкий ж/д путь на шпалах из мангрового дерева", + "block.railways.track_tfc_maple": "Ж/д путь на кленовых шпалах", + "block.railways.track_tfc_maple_narrow": "Узкий ж/д путь на кленовых шпалах", + "block.railways.track_tfc_maple_wide": "Широкий ж/д путь на кленовых шпалах", + "block.railways.track_tfc_oak": "Ж/д путь на дубовых шпалах", + "block.railways.track_tfc_oak_narrow": "Узкий ж/д путь на дубовых шпалах", + "block.railways.track_tfc_oak_wide": "Широкий ж/д путь на дубовых шпалах", + "block.railways.track_tfc_palm": "Ж/д путь на пальмовых шпалах", + "block.railways.track_tfc_palm_narrow": "Узкий ж/д путь на пальмовых шпалах", + "block.railways.track_tfc_palm_wide": "Широкий ж/д путь на пальмовых шпалах", + "block.railways.track_tfc_pine": "Ж/д путь на сосновых шпалах", + "block.railways.track_tfc_pine_narrow": "Узкий ж/д путь на сосновых шпалах", + "block.railways.track_tfc_pine_wide": "Широкий ж/д путь на сосновых шпалах", + "block.railways.track_tfc_rosewood": "Ж/д путь на палисандровых шпалах", + "block.railways.track_tfc_rosewood_narrow": "Узкий ж/д путь на палисандровых шпалах", + "block.railways.track_tfc_rosewood_wide": "Широкий ж/д путь на палисандровых шпалах", + "block.railways.track_tfc_sequoia": "Ж/д путь на шпалах из секвойи", + "block.railways.track_tfc_sequoia_narrow": "Узкий ж/д путь на шпалах из секвойи", + "block.railways.track_tfc_sequoia_wide": "Широкий ж/д путь на шпалах из секвойи", + "block.railways.track_tfc_spruce": "Ж/д путь на еловых шпалах", + "block.railways.track_tfc_spruce_narrow": "Узкий ж/д путь на еловых шпалах", + "block.railways.track_tfc_spruce_wide": "Широкий ж/д путь на еловых шпалах", + "block.railways.track_tfc_sycamore": "Ж/д путь на платановых шпалах", + "block.railways.track_tfc_sycamore_narrow": "Узкий ж/д путь на платановых шпалах", + "block.railways.track_tfc_sycamore_wide": "Широкий ж/д путь на платановых шпалах", + "block.railways.track_tfc_white_cedar": "Ж/д путь на шпалах из белого кедра", + "block.railways.track_tfc_white_cedar_narrow": "Узкий ж/д путь на шпалах из белого кедра", + "block.railways.track_tfc_white_cedar_wide": "Широкий ж/д путь на шпалах из белого кедра", + "block.railways.track_tfc_willow": "Ж/д путь на ивовых шпалах", + "block.railways.track_tfc_willow_narrow": "Узкий ж/д путь на ивовых шпалах", + "block.railways.track_tfc_willow_wide": "Широкий ж/д путь на ивовых шпалах", + "item.railways.track_incomplete_stripped_bamboo": "Незаконченный ж/д путь на шпалах из обтёсанного бамбука", + "item.railways.track_incomplete_stripped_bamboo_narrow": "Незаконченный узкий ж/д путь на шпалах из обтёсанного бамбука", + "item.railways.track_incomplete_stripped_bamboo_wide": "Незаконченный широкий ж/д путь на шпалах из обтёсанного бамбука", "item.railways.track_incomplete_jungle": "Незаконченный ж/д путь на шпалах тикового дерева", "item.railways.track_incomplete_blackstone": "Незаконченный ж/д путь на пироксенитовых шпалах", "item.railways.track_incomplete_blackstone_narrow": "Незаконченный узкий ж/д путь на пироксенитовых шпалах", @@ -78,7 +149,67 @@ "item.railways.track_incomplete_birch_narrow": "Незаконченный узкий ж/д путь на эвкалиптовых шпалах", "item.railways.track_incomplete_birch_wide": "Незаконченный широкий ж/д путь на эвкалиптовых шпалах", "item.railways.track_incomplete_tieless": "Незаконченный ж/д путь", - "block.railways.track_tieless": "Бесшпальный ж/д путь", - "block.railways.track_tieless_narrow": "Узкий бесшпальный ж/д путь", - "block.railways.track_tieless_wide": "Широкий бесшпальный ж/д путь" + "item.railways.track_incomplete_crimson": "Незаконченный ж/д путь на шпалах из багровых досок", + "item.railways.track_incomplete_crimson_narrow": "Незаконченный узкий ж/д путь на шпалах из багровых досок", + "item.railways.track_incomplete_crimson_wide": "Незаконченный широкий ж/д путь на шпалах из багровых досок", + "item.railways.track_incomplete_tfc_acacia": "Незаконченный ж/д путь на акациевых шпалах", + "item.railways.track_incomplete_tfc_acacia_narrow": "Незаконченный узкий ж/д путь на акациевых шпалах", + "item.railways.track_incomplete_tfc_acacia_wide": "Незаконченный широкий ж/д путь на акациевых шпалах", + "item.railways.track_incomplete_tfc_ash": "Незаконченный ж/д путь на ясеневых шпалах", + "item.railways.track_incomplete_tfc_ash_narrow": "Незаконченный узкий ж/д путь на ясеневых шпалах", + "item.railways.track_incomplete_tfc_ash_wide": "Незаконченный широкий ж/д путь на ясеневых шпалах", + "item.railways.track_incomplete_tfc_aspen": "Незаконченный ж/д путь на осиновых шпалах", + "item.railways.track_incomplete_tfc_aspen_narrow": "Незаконченный узкий ж/д путь на осиновых шпалах", + "item.railways.track_incomplete_tfc_aspen_wide": "Незаконченный широкий ж/д путь на осиновых шпалах", + "item.railways.track_incomplete_tfc_birch": "Незаконченный ж/д путь на берёзовых шпалах", + "item.railways.track_incomplete_tfc_birch_narrow": "Незаконченный узкий ж/д путь на берёзовых шпалах", + "item.railways.track_incomplete_tfc_birch_wide": "Незаконченный широкий ж/д путь на берёзовых шпалах", + "item.railways.track_incomplete_tfc_blackwood": "Незаконченный ж/д путь на гренадиловых шпалах", + "item.railways.track_incomplete_tfc_blackwood_narrow": "Незаконченный узкий ж/д путь на гренадиловых шпалах", + "item.railways.track_incomplete_tfc_blackwood_wide": "Незаконченный широкий ж/д путь на гренадиловых шпалах", + "item.railways.track_incomplete_tfc_chestnut": "Незаконченный ж/д путь на каштановых шпалах", + "item.railways.track_incomplete_tfc_chestnut_narrow": "Незаконченный узкий ж/д путь на каштановых шпалах", + "item.railways.track_incomplete_tfc_chestnut_wide": "Незаконченный широкий ж/д путь на каштановых шпалах", + "item.railways.track_incomplete_tfc_douglas_fir": "Незаконченный ж/д путь на шпалах из дугласовой пихты", + "item.railways.track_incomplete_tfc_douglas_fir_narrow": "Незаконченный узкий ж/д путь на шпалах из дугласовой пихты", + "item.railways.track_incomplete_tfc_douglas_fir_wide": "Незаконченный широкий ж/д путь на шпалах из дугласовой пихты", + "item.railways.track_incomplete_tfc_hickory": "Незаконченный ж/д путь на ореховых шпалах", + "item.railways.track_incomplete_tfc_hickory_narrow": "Незаконченный узкий ж/д путь на ореховых шпалах", + "item.railways.track_incomplete_tfc_hickory_wide": "Незаконченный широкий ж/д путь на ореховых шпалах", + "item.railways.track_incomplete_tfc_kapok": "Незаконченный ж/д путь на сейбовых шпалах", + "item.railways.track_incomplete_tfc_kapok_narrow": "Незаконченный узкий ж/д путь на сейбовых шпалах", + "item.railways.track_incomplete_tfc_kapok_wide": "Незаконченный широкий ж/д путь на сейбовых шпалах", + "item.railways.track_incomplete_tfc_mangrove": "Незаконченный ж/д путь на шпалах из мангрового дерева", + "item.railways.track_incomplete_tfc_mangrove_narrow": "Незаконченный узкий ж/д путь на шпалах из мангрового дерева", + "item.railways.track_incomplete_tfc_mangrove_wide": "Незаконченный широкий ж/д путь на шпалах из мангрового дерева", + "item.railways.track_incomplete_tfc_maple": "Незаконченный ж/д путь на кленовых шпалах", + "item.railways.track_incomplete_tfc_maple_narrow": "Незаконченный узкий ж/д путь на кленовых шпалах", + "item.railways.track_incomplete_tfc_maple_wide": "Незаконченный широкий ж/д путь на кленовых шпалах", + "item.railways.track_incomplete_tfc_oak": "Незаконченный ж/д путь на дубовых шпалах", + "item.railways.track_incomplete_tfc_oak_narrow": "Незаконченный узкий ж/д путь на дубовых шпалах", + "item.railways.track_incomplete_tfc_oak_wide": "Незаконченный широкий ж/д путь на дубовых шпалах", + "item.railways.track_incomplete_tfc_palm": "Незаконченный ж/д путь на пальмовых шпалах", + "item.railways.track_incomplete_tfc_palm_narrow": "Незаконченный узкий ж/д путь на пальмовых шпалах", + "item.railways.track_incomplete_tfc_palm_wide": "Незаконченный широкий ж/д путь на пальмовых шпалах", + "item.railways.track_incomplete_tfc_pine": "Незаконченный ж/д путь на сосновых шпалах", + "item.railways.track_incomplete_tfc_pine_narrow": "Незаконченный узкий ж/д путь на сосновых шпалах", + "item.railways.track_incomplete_tfc_pine_wide": "Незаконченный широкий ж/д путь на сосновых шпалах", + "item.railways.track_incomplete_tfc_rosewood": "Незаконченный ж/д путь на палисандровых шпалах", + "item.railways.track_incomplete_tfc_rosewood_narrow": "Незаконченный узкий ж/д путь на палисандровых шпалах", + "item.railways.track_incomplete_tfc_rosewood_wide": "Незаконченный широкий ж/д путь на палисандровых шпалах", + "item.railways.track_incomplete_tfc_sequoia": "Незаконченный ж/д путь на шпалах из секвойи", + "item.railways.track_incomplete_tfc_sequoia_narrow": "Незаконченный узкий ж/д путь на шпалах из секвойи", + "item.railways.track_incomplete_tfc_sequoia_wide": "Незаконченный широкий ж/д путь на шпалах из секвойи", + "item.railways.track_incomplete_tfc_spruce": "Незаконченный ж/д путь на еловых шпалах", + "item.railways.track_incomplete_tfc_spruce_narrow": "Незаконченный узкий ж/д путь на еловых шпалах", + "item.railways.track_incomplete_tfc_spruce_wide": "Незаконченный широкий ж/д путь на еловых шпалах", + "item.railways.track_incomplete_tfc_sycamore": "Незаконченный ж/д путь на платановых шпалах", + "item.railways.track_incomplete_tfc_sycamore_narrow": "Незаконченный узкий ж/д путь на платановых шпалах", + "item.railways.track_incomplete_tfc_sycamore_wide": "Незаконченный широкий ж/д путь на платановых шпалах", + "item.railways.track_incomplete_tfc_white_cedar": "Незаконченный ж/д путь на шпалах из белого кедра", + "item.railways.track_incomplete_tfc_white_cedar_narrow": "Незаконченный узкий ж/д путь на шпалах из белого кедра", + "item.railways.track_incomplete_tfc_white_cedar_wide": "Незаконченный широкий ж/д путь на шпалах из белого кедра", + "item.railways.track_incomplete_tfc_willow": "Незаконченный ж/д путь на ивовых шпалах", + "item.railways.track_incomplete_tfc_willow_narrow": "Незаконченный узкий ж/д путь на ивовых шпалах", + "item.railways.track_incomplete_tfc_willow_wide": "Незаконченный широкий ж/д путь на ивовых шпалах" } \ No newline at end of file diff --git a/kubejs/assets/sodiumextras/lang/uk_ua.json b/kubejs/assets/sodiumextras/lang/uk_ua.json new file mode 100644 index 000000000..7fde262b9 --- /dev/null +++ b/kubejs/assets/sodiumextras/lang/uk_ua.json @@ -0,0 +1,132 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "sodium.extras.options.common.slow": "Повільно", + "sodium.extras.options.common.normal": "Нормальний", + "sodium.extras.options.common.fast": "Швидкий", + "sodium.extras.options.common.superfast": "Дуже швидка", + "sodium.extras.options.common.fastest": "Найшвидший", + "sodium.extras.options.common.realtime": "Реальний час", + "sodium.extras.options.common.off": "Вимкнути", + "sodium.extras.options.common.on": "Увімкнути", + "sodium.extras.options.common.simple": "Простий", + "sodium.extras.options.common.advanced": "Розширені", + "sodium.extras.options.common.attach": "Прикріпити", + "sodium.extras.options.common.replace": "Замінити", + "sodium.extras.options.common.experimental": "[EXPERIMENTAL]", + "sodium.extras.options.common.millis": "мс", + "sodium.extras.options.clouds.height.title": "Висота хмар", + "sodium.extras.options.clouds.height.desc": "Підіймає висоту хмар. \nНалаштуйте висоту зображення хмар", + "sodium.extras.options.culling.page": "Відсікання сутностей", + "sodium.extras.options.culling.entity.title": "Використовувати максимальну відстань сутностей", + "sodium.extras.options.culling.entity.desc": "Якщо ввімкнено, сутності будуть приховані відповідно до налаштованого обмеження відстані", + "sodium.extras.options.culling.entity.distance.horizontal.title": "Максимальна відстань сутностей (горизонтальна)", + "sodium.extras.options.culling.entity.distance.horizontal.desc": "Приховує й не опрацьовує сутності за межами цієї кількості блоків. Значне підвищення продуктивності, особливо біля модифікованих ферм.", + "sodium.extras.options.culling.entity.distance.vertical.title": "Максимальна відстань сутностей (вертикальна)", + "sodium.extras.options.culling.entity.distance.vertical.desc": "Приховує й не опрацьовує сутності нижче цієї кількості блоків, підвищуючи продуктивність над печерами. Бажано встановлювати менше значення, ніж для горизонтальної відстані.", + "sodium.extras.options.culling.tiles.title": "Використовувати максимальну відстань блоку сутностей", + "sodium.extras.options.culling.tiles.desc": "Якщо ввімкнено, блоки сутності будуть приховані відповідно до налаштованого обмеження відстані", + "sodium.extras.options.culling.tile.distance.horizontal.title": "Максимальна відстань блоку сутностей (горизонтальна)", + "sodium.extras.options.culling.tile.distance.horizontal.desc": "Приховує блоки сутності за межами цієї кількості блоків. Значне підвищення продуктивності, особливо біля великої кількості модифікованих машин.", + "sodium.extras.options.culling.tile.distance.vertical.title": "Максимальна відстань блоку сутностей (вертикальна)", + "sodium.extras.options.culling.tile.distance.vertical.desc": "Приховує блоки сутності нижче цієї кількості блоків, підвищуючи продуктивність над печерами (якщо з якоїсь причини ви розмістили свої машини в печерах). Бажано встановлювати менше значення, ніж для горизонтальної відстані.", + "sodium.extras.options.darkness.page": "Справжня темрява", + "sodium.extras.options.darkness.mode.title": "Режим темряви", + "sodium.extras.options.darkness.mode.desc": "Робить решту світу більш реалістично темною. Не впливає на денне світло або світло смолоскипів.\nКонтролює те, наскільки темна темрява вважається цілковитою темрявою.", + "sodium.extras.options.darkness.mode.pitchblack": "Абсолютна пітьма", + "sodium.extras.options.darkness.mode.reallydark": "Дуже темно", + "sodium.extras.options.darkness.mode.dark": "Темно", + "sodium.extras.options.darkness.mode.dim": "Тьмяно", + "sodium.extras.options.darkness.others.title": "Увімкнути в інших вимірах", + "sodium.extras.options.darkness.others.desc": "Якщо увімкнено, справжня темрява буде застосовуватися в інших вимірах\n\n[УВАГА] Цей параметр буде вилучено найближчим часом на користь чорного списку", + "sodium.extras.options.darkness.overworld.title": "Увімкнути в Основному світі", + "sodium.extras.options.darkness.overworld.desc": "Якщо ввімкнено, в основному світі застосовуватиметься справжня темрява.", + "sodium.extras.options.darkness.noskylight.title": "Увімкнути в SkyLess вимірах", + "sodium.extras.options.darkness.noskylight.desc": "Якщо ввімкнено, справжня темрява застосовуватиметься у вимірах skylight", + "sodium.extras.options.darkness.nether.title": "Увімкнути в Незері", + "sodium.extras.options.darkness.nether.desc": "Якщо ввімкнено, справжня темрява застосовуватиметься у Незері.", + "sodium.extras.options.darkness.nether.brightness.title": "Яскравість туману Незеру", + "sodium.extras.options.darkness.nether.brightness.desc": "Налаштовує яскравість туману в Незері, коли ввімкнено темряву.", + "sodium.extras.options.darkness.end.title": "Увімкнути в Енді", + "sodium.extras.options.darkness.end.desc": "Якщо ввімкнено, справжня темрява застосовуватиметься в Енді.", + "sodium.extras.options.darkness.end.brightness.title": "Яскравість туману Енду", + "sodium.extras.options.darkness.end.brightness.desc": "Налаштовує яскравість туману в Енді, коли ввімкнено темряву.", + "sodium.extras.options.darkness.blocklightonly.title": "Лише світло від блоків", + "sodium.extras.options.darkness.blocklightonly.desc": "Якщо ввімкнено, вимикає яскравість неба, туману та місяця, роблячи блоки єдиним джерелом світла", + "sodium.extras.options.darkness.moonphase.title": "Використовувати фази місяця", + "sodium.extras.options.darkness.moonphase.desc": "Якщо ввімкнено, темрява залежатиме від фаз місяця", + "sodium.extras.options.darkness.moonphase.fresh.title": "Яскравість молодого Місяця (мін.)", + "sodium.extras.options.darkness.moonphase.fresh.desc": "Налаштовує яскравість під час молодого місяця або мінімальний рівень яскравості у фазі чорного місяця", + "sodium.extras.options.darkness.moonphase.full.title": "Яскравість повного Місяця (макс.)", + "sodium.extras.options.darkness.moonphase.full.desc": "Налаштовує яскравість під час повного місяця або максимальний рівень яскравості у фазі чорного місяця", + "sodium.extras.options.displayfps.title": "Показувати FPS", + "sodium.extras.options.displayfps.desc": "Відображає поточний FPS. Розширений режим також показує мінімальний FPS, а також середній FPS за 15 секунд, що корисно для оцінки продуктивності.", + "sodium.extras.options.displayfps.gravity.title": "Гравітація тексту", + "sodium.extras.options.displayfps.gravity.desc": "Кутове розташування відображення FPS", + "sodium.extras.options.displayfps.gravity.left": "Лівий", + "sodium.extras.options.displayfps.gravity.center": "Центр", + "sodium.extras.options.displayfps.gravity.right": "Справа", + "sodium.extras.options.displayfps.system.title": "Відображати метрики", + "sodium.extras.options.displayfps.system.desc": "Відображає використання пам’яті та GPU поруч із лічильником FPS", + "sodium.extras.options.displayfps.system.gpu": "Тільки графіка", + "sodium.extras.options.displayfps.system.ram": "Тільки пам'ять", + "sodium.extras.options.displayfps.margin.title": "Відступ тексту", + "sodium.extras.options.displayfps.margin.desc": "Зсув відображення FPS", + "sodium.extras.options.displayfps.shadow.title": "Використовувати тіньову рамку для тексту", + "sodium.extras.options.displayfps.shadow.desc": "Додає тіньову рамку до відображення FPS у чистому стилі F3", + "sodium.extras.options.displayfps.fps": "FPS", + "sodium.extras.options.displayfps.min": "Мін", + "sodium.extras.options.displayfps.avg": "Срд", + "sodium.extras.options.displayfps.gpu": "GPU", + "sodium.extras.options.displayfps.mem": "ОЗП", + "sodium.extras.options.dynlights.page": "Динамічне освітлення", + "sodium.extras.options.dynlights.tiles.title": "Використовувати для блоків сутностей", + "sodium.extras.options.dynlights.tiles.desc": "Якщо ввімкнено, динамічне освітлення відображатиметься на блоках сутностях (печах, модифікованих машинах тощо).\n\nЦе може суттєво збільшити кількість оновлень освітлення, навіть якщо ви не перебуваєте поруч із печами", + "sodium.extras.options.dynlights.entities.title": "Використовувати для сутностей", + "sodium.extras.options.dynlights.entities.desc": "Якщо ввімкнено, динамічне освітлення відображатиметься на сутностях (скинутих предметах, мобах тощо).\n\nЦе може суттєво збільшити кількість оновлень освітлення, навіть якщо ви не тримаєте смолоскип.", + "sodium.extras.options.dynlights.speed.title": "Швидкість оновлення освітлення", + "sodium.extras.options.dynlights.speed.desc": "Керує частотою оновлення динамічного освітлення.\n\nПерерахунок освітлення може бути ресурсомістким, тому менші значення забезпечать кращу продуктивність.", + "sodium.extras.options.fadein.title": "Якість поступового відображення чанків", + "sodium.extras.options.fadein.desc": "Керує швидкістю поступового відображення чанків. Не впливає на продуктивність, у режимі «Вишукано» процес триває довше, але виглядає трохи ефектніше. Наразі не працює", + "sodium.extras.options.fastchest.title": "Використовувати швидкі скрині", + "sodium.extras.options.fastchest.desc": "Вимикає анімацію скринь, замінюючи їх на звичайні статичні блоки. Це пришвидшує роботу гри в кімнатах зі скринями, але прибирає ефект відкриття.\n\nНе діє, якщо встановлено Flywheel з активним batching або instancing", + "sodium.extras.options.fastbeds.title": "Використовувати швидкі ліжка", + "sodium.extras.options.fastbeds.desc": "Якщо ввімкнено, замінює динамічну модель ліжка на статичну, як у звичайного блока. Підвищує продуктивність і також дозволяє використовувати власні моделі з пакунками ресурсів", + "sodium.extras.options.fog.title": "Використовувати туман", + "sodium.extras.options.fog.desc": "Якщо вимкнено, ефект туману прибирається лише в Основному світі", + "sodium.extras.options.fontshadow.title": "Тінь шрифту", + "sodium.extras.options.fontshadow.desc": "Якщо вимкнено, текст зображаються без тіней, у плоскому стилі. \nПідвищує FPS залежно від кількості тексту на екрані, особливо з модами на кшталт BetterF3", + "sodium.extras.options.jei.title": "Приховувати JEI, доки не розпочато пошук", + "sodium.extras.options.jei.desc": "Коли увімкнено, список предметів JEI буде прихований, поки ви нічого не шукатимете. Натисніть пробіл, щоб шукати все.", + "sodium.extras.options.screen.title": "Повноекранний Режим", + "sodium.extras.options.screen.desc": "Віконний режим — гра зображається у невеликому вікні. \nБезрамковий режим — гра розгортається на весь екран і синхронізується з частотою оновлення монітора, але дозволяє легко згортати вікно. \nПовноекранний режим — гра зображається у рідному повноекранному режимі.", + "sodium.extras.options.screen.borderless": "Без рамок", + "sodium.extras.options.screen.windowed": "Віконний", + "sodium.extras.options.zoom.page": "Масштабування", + "sodium.extras.options.zoom.cinematic.title": "Кінематографічне наближення", + "sodium.extras.options.zoom.cinematic.desc": "Увімкнути кінематографічну камеру під час наближення. \nЯкщо вимкнути цю опцію, варто також встановити `zoomSmoothnessMs` на `0`", + "sodium.extras.options.zoom.sensitive.title": "Чутливість миші", + "sodium.extras.options.zoom.sensitive.desc": "Чутливість миші не зменшуватиметься нижче цього значення під час наближення. \nВстановіть `1.0`, щоб повністю заборонити зміну (не рекомендується без `enableCinematicZoom`)", + "sodium.extras.options.zoom.speed.title": "Швидкість Масштабування", + "sodium.extras.options.zoom.speed.desc": "Швидкість для клавіш наближення/віддалення та прокручування масштабу (якщо ввімкнено).", + "sodium.extras.options.zoom.scrolling.title": "Прокручування масштабу", + "sodium.extras.options.zoom.scrolling.desc": "Дозволяє наближати та віддаляти зображення прокручуванням коліщатка миші під час активного масштабування. \nЯкщо ввімкнено, це блокує прокручування гарячої панелі під час наближення.", + "sodium.extras.options.zoom.smoothness.title": "Плавність маштабування у мілісекундах", + "sodium.extras.options.zoom.smoothness.desc": "Зміни поля зору розтягуватимуться на вказану кількість мілісекунд. \nВстановіть `0`, щоб вимкнути анімацію.", + "sodium.extras.options.zoom.easing.title": "Показник згладжування", + "sodium.extras.options.zoom.easing.desc": "Прогрес анімації згладжування підноситиметься до цього показника для ефекту зглажування. Вищі значення створюватимуть відчуття швидшого руху. \nРекомендується також збільшити `zoomSmoothnessMs` при підвищенні цього значення. \nВстановіть `1`, щоб вимкнути.", + "sodium.extras.options.zoom.quadratics.title": "Використовувати квадратичне", + "sodium.extras.options.zoom.quadratics.desc": "Відсоток масштабування буде зведено у квадрат перед застосуванням, якщо встановлено `true`. \nЦе робить зміни поля зору більш рівномірними. \nРекомендується залишити цю опцію ввімкненою, якщо ви не розумієте, як саме вона працює.", + "sodium.extras.options.zoom.default.title": "Масштабування за замовчуванням", + "sodium.extras.options.zoom.default.desc": "Початковий відсоток масштабування за замовчуванням.", + "sodium.extras.options.zoom.toggle.title": "Режим перемикання", + "sodium.extras.options.zoom.toggle.desc": "Якщо встановлено `true`, клавіша масштабування працюватиме як перемикач. Якщо встановлено `false`, зум буде активним лише під час утримання клавіші.", + "sodium.extras.options.zoom.max.title": "Максимальне поле зору", + "sodium.extras.options.zoom.max.desc": "Максимальне поле зору під час масштабування.", + "sodium.extras.options.zoom.min.title": "Мінімальне поле зору", + "sodium.extras.options.zoom.min.desc": "Максимальне поле зору під час масштабування.", + "sodium.extras.options.others.page": "Інші", + "sodium.extras.options.others.borderless.attachmode.title": "Безрамковий повноекранний режим на F11", + "sodium.extras.options.others.borderless.attachmode.desc": "Налаштовує, як саме має застосовуватися безрамковий повноекранний режим \n\nATTACH — додає його між віконним і повноекранним режимами \nREPLACE — замінює повноекранний режим на безрамковий \nOFF — вимикає прив’язку безрамкового повноекранного режиму до клавіші F11", + "sodium.extras.options.others.languagescreen.fastreload.title": "Швидке перезавантаження мови", + "sodium.extras.options.others.languagescreen.fastreload.desc": "Якщо ввімкнено, оновлення мови перезавантажуватимуть лише мовні файли замість усіх ресурсів, що забезпечує майже 99,9% приросту швидкості" +} \ No newline at end of file diff --git a/kubejs/assets/sophisticatedbackpacks/lang/ru_ru.json b/kubejs/assets/sophisticatedbackpacks/lang/ru_ru.json index 466f053e7..feaeb3f67 100644 --- a/kubejs/assets/sophisticatedbackpacks/lang/ru_ru.json +++ b/kubejs/assets/sophisticatedbackpacks/lang/ru_ru.json @@ -1,11 +1,11 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "item.sophisticatedbackpacks.iron_backpack": "Рюкзак (Красная сталь)", - "item.sophisticatedbackpacks.gold_backpack": "Рюкзак (Алюминий)", - "item.sophisticatedbackpacks.diamond_backpack": "Рюкзак (Титан)", - "item.sophisticatedbackpacks.netherite_backpack": "Рюкзак (Вольфрам)", "block.sophisticatedbackpacks.iron_backpack": "Рюкзак (Красная сталь)", "block.sophisticatedbackpacks.gold_backpack": "Рюкзак (Алюминий)", "block.sophisticatedbackpacks.diamond_backpack": "Рюкзак (Титан)", - "block.sophisticatedbackpacks.netherite_backpack": "Рюкзак (Вольфрам)" + "block.sophisticatedbackpacks.netherite_backpack": "Рюкзак (Вольфрам)", + "item.sophisticatedbackpacks.iron_backpack": "Рюкзак (Красная сталь)", + "item.sophisticatedbackpacks.gold_backpack": "Рюкзак (Алюминий)", + "item.sophisticatedbackpacks.diamond_backpack": "Рюкзак (Титан)", + "item.sophisticatedbackpacks.netherite_backpack": "Рюкзак (Вольфрам)" } \ No newline at end of file diff --git a/kubejs/assets/species/lang/ru_ru.json b/kubejs/assets/species/lang/ru_ru.json new file mode 100644 index 000000000..ebb04f9d0 --- /dev/null +++ b/kubejs/assets/species/lang/ru_ru.json @@ -0,0 +1,5 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.species.alphacene_moss_block": "Шапочка гласивника", + "block.species.petrified_egg": "Яйцо слюпика" +} \ No newline at end of file diff --git a/kubejs/assets/tacz/lang/ru_ru.json b/kubejs/assets/tacz/lang/ru_ru.json index c2a38d709..d411b0252 100644 --- a/kubejs/assets/tacz/lang/ru_ru.json +++ b/kubejs/assets/tacz/lang/ru_ru.json @@ -1,6 +1,5 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "lang_a": "Github", "applied_armorer.attachment.extended_mag_aa_1.name": "Истинно-кварцевый рифлёный магазин", "applied_armorer.attachment.extended_mag_aa_2.name": "§9Истинно-кварцевый рифлёный магазин", "applied_armorer.attachment.extended_mag_aa_3.name": "§dИстинно-кварцевый рифлёный магазин", @@ -12,32 +11,6 @@ "applied_armorer.attachment.grip_stable.name": "Рукоятка ST-61", "applied_armorer.attachment.grip_light.name": "Рукоятка LI-13", "applied_armorer.attachment.grip_hf_17.name": "Рукоятка HF-17", - "create_armorer.attachment.extended_mag_ca_1.name": "Инваровый магазин", - "create_armorer.attachment.extended_mag_ca_2.name": "Магазин с медным покрытием", - "create_armorer.attachment.extended_mag_ca_3.name": "Магазин с латунным покрытием", - "create_armorer.ammo.rbapb.name": "Закраинные тупоголовые патроны", - "lang_b": "tacz Create Armorer", - "create_armorer.ammo.slap.name": "Подкалиберные бронебойные патроны", - "create_armorer.ammo.40mmhe.name": "ФС 40мм", - "create_armorer.attachment.scope_telephoto.name": "Телеобъективный прицел", - "create_armorer.attachment.sight_standard.name": "Стандартный оптический прицел", - "create_armorer.attachment.sight_medium_distance.name": "Оптический прицел средней дистанции", - "create_armorer.attachment.sight_simple.name": "Простой механический прицел", - "create_armorer.attachment.sight_reflex.name": "Зеркальный прицел", - "create_armorer.tooltip.attachment.scope_telephoto": "§7Это не круассан! Не ешь это!", - "create_armorer.attachment.muzzle_refit_bigger_cylinder.name": "\"Маховик\" переоборудование: Баллон", - "create_armorer.attachment.muzzle_refit_lava_perfusion_bottle.name": "\"Кран\" переоборудование: Флаконы для перфузии лавы", - "create_armorer.attachment.grip_gantry_shaft.name": "Валочная линейно-приводная рукоятка", - "create_armorer.attachment.grip_wooden.name": "Деревянная рукоятка", - "create_armorer.attachment.grip_shaft.name": "Валочная рукоятка", - "create_armorer.gun.mg_platemag_flywheel": "Пулемёт \"Маховик\"", - "create_armorer.gun.rifle_assult_crane": "Штурмовая винтовка \"Кран\"", - "create_armorer.gun.pistol_revolver_torque": "Револьвер \"Момент силы\"", - "create_armorer.gun.sniper_semi_clockwork": "Снайперская винтовка \"Заводной\"", - "create_armorer.gun.shotgun_pump_bearing": "Дробовик \"Подшипник\"", - "create_armorer.gun.cannon_40mm_salamander": "Плечевое полевое орудие 40мм \"Саламандра\"", - "create_armorer.tooltip.mg_platemag_flywheel": "Не забывайте, что закрепленная мотыга может быть использована для ближнего боя.", - "lang_c": "tacz Applied Armorer", "applied_armorer.ammo.cluster_quartz_bullet.name": "Дробь с истинным кварцем", "applied_armorer.ammo.fluix_infused_grenade.name": "§bГраната с добавлением флакса", "applied_armorer.ammo.etched_quartz_bullet.name": "Патроны с истинным кварцем", @@ -58,7 +31,33 @@ "tooltip.moritz_rifle_ar77": "§7Так же прост в использовании, как ваша правая рука.", "tooltip.moritz_shotgun_sg914": "§7Бесподобное подавление на близкой дистанции.", "tooltip.moritz_gernade_gl3": "§7Единственный недостаток — нет автоматического режима огня.", - "lang_d": "tacz ULV Guns", + "create_armorer.attachment.extended_mag_ca_1.name": "Инваровый магазин", + "create_armorer.attachment.extended_mag_ca_2.name": "Магазин с медным покрытием", + "create_armorer.attachment.extended_mag_ca_3.name": "Магазин с латунным покрытием", + "create_armorer.ammo.rbapb.name": "Закраинные тупоголовые патроны", + "create_armorer.ammo.slap.name": "Подкалиберные бронебойные патроны", + "create_armorer.ammo.40mmhe.name": "ФС 40мм", + "create_armorer.attachment.scope_telephoto.name": "Телеобъективный прицел", + "create_armorer.attachment.sight_standard.name": "Стандартный оптический прицел", + "create_armorer.attachment.sight_medium_distance.name": "Оптический прицел средней дистанции", + "create_armorer.attachment.sight_simple.name": "Простой механический прицел", + "create_armorer.attachment.sight_reflex.name": "Зеркальный прицел", + "create_armorer.tooltip.attachment.scope_telephoto": "§7Это не круассан! Не ешь это!", + "create_armorer.attachment.muzzle_refit_bigger_cylinder.name": "\"Маховик\" переоборудование: Баллон", + "create_armorer.attachment.muzzle_refit_lava_perfusion_bottle.name": "\"Кран\" переоборудование: Флаконы для перфузии лавы", + "create_armorer.attachment.grip_gantry_shaft.name": "Валочная линейно-приводная рукоятка", + "create_armorer.attachment.grip_wooden.name": "Деревянная рукоятка", + "create_armorer.attachment.grip_shaft.name": "Валочная рукоятка", + "create_armorer.gun.mg_platemag_flywheel": "Пулемёт \"Маховик\"", + "create_armorer.gun.rifle_assult_crane": "Штурмовая винтовка \"Кран\"", + "create_armorer.gun.pistol_revolver_torque": "Револьвер \"Момент силы\"", + "create_armorer.gun.sniper_semi_clockwork": "Снайперская винтовка \"Заводной\"", + "create_armorer.gun.shotgun_pump_bearing": "Дробовик \"Подшипник\"", + "create_armorer.gun.cannon_40mm_salamander": "Плечевое полевое орудие 40мм \"Саламандра\"", + "create_armorer.tooltip.mg_platemag_flywheel": "Не забывайте, что закрепленная мотыга может быть использована для ближнего боя.", + "item.tacz.ammo_box.iron": "Ящик с патронами (Сталь)", + "item.tacz.ammo_box.gold": "§9Ящик с патронами (Магналий)", + "item.tacz.ammo_box.diamond": "§6Ящик с патронами (Деш)", "ulv_guns.gun.flintlock.name": "Кремневое ружье", "ulv_guns.ammo.lead_shot": "Cвинцовая дробь" } \ No newline at end of file diff --git a/kubejs/assets/tacz/lang/uk_ua.json b/kubejs/assets/tacz/lang/uk_ua.json index 9e075ca87..4eed6e947 100644 --- a/kubejs/assets/tacz/lang/uk_ua.json +++ b/kubejs/assets/tacz/lang/uk_ua.json @@ -14,5 +14,8 @@ "create_armorer.attachment.extended_mag_ca_1.name": "Інваровий магазин", "create_armorer.attachment.extended_mag_ca_2.name": "Магазин із мідним покриттям", "create_armorer.attachment.extended_mag_ca_3.name": "Магазин із латунним покриттям", - "create_armorer.ammo.rbapb.name": "Римований патрон із плоским зарядом" + "create_armorer.ammo.rbapb.name": "Римований патрон із плоским зарядом", + "item.tacz.ammo_box.iron": "Сталевий ящик з набоями", + "item.tacz.ammo_box.gold": "§9Ящик набоїв з магналію", + "item.tacz.ammo_box.diamond": "§6Ящик набоїв з дешу" } \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/ru_ru.json b/kubejs/assets/tfc/lang/ru_ru.json index 6fb71b2d1..0e78df761 100644 --- a/kubejs/assets/tfc/lang/ru_ru.json +++ b/kubejs/assets/tfc/lang/ru_ru.json @@ -1,9 +1,17 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "metal.tfg.redstone": "Красный камень", - "metal.tfg.red_alloy": "Красный сплав", - "metal.tfg.tin_alloy": "Оловянный сплав", - "tfc.advancements.story.propick.description": "Создайте свой первый геологический молоток", + "block.tfc.fluid.salt_water": "Морская вода", + "block.tfc.cauldron.salt_water": "Котёл с морской водой", + "fluid.tfc.salt_water": "Морская вода", + "block.fluid.tfc.salt_water": "Морская вода", + "fluid.tfc.river_water": "Речная вода", + "block.fluid.tfc.river_water": "Речная вода", + "item.tfc.bucket.salt_water": "Ведро морской воды", + "item.tfc.powder.saltpeter": "Порошок селитры", + "item.tfc.powder.sulfur": "Порошок серы", + "item.tfc.jute_net": "Джутовая сетка", + "item.tfc.dirty_jute_net": "Грязная джутовая сетка", + "item.tfc.powder.salt": "Пищевая соль", "item.tfc.metal.double_ingot.cast_iron": "Серый чугун (Двойной слиток)", "item.tfc.metal.double_ingot.black_steel": "Чёрная сталь (Двойной слиток)", "item.tfc.metal.double_ingot.blue_steel": "Синяя сталь (Двойной слиток)", @@ -126,5 +134,65 @@ "item.tfc.metal.fish_hook.steel": "Крючок (Сталь)", "item.tfc.metal.fish_hook.black_steel": "Крючок (Чёрная сталь)", "item.tfc.metal.fish_hook.blue_steel": "Крючок (Синяя сталь)", - "item.tfc.metal.fish_hook.red_steel": "Крючок (Красная сталь)" + "item.tfc.metal.fish_hook.red_steel": "Крючок (Красная сталь)", + "tfc.jei.raw_hide_knapping": "Соскабливание", + "metal.tfg.redstone": "Красный камень", + "metal.tfg.red_alloy": "Красный сплав", + "metal.tfg.tin_alloy": "Оловянный сплав", + "metal.tfg.lead": "Свинец", + "metal.tfg.invar": "Инвар", + "metal.tfg.potin": "Потин", + "metal.tfg.cobalt": "Кобальт", + "metal.tfg.cobalt_brass": "Кобальтовая латунь", + "metal.tfg.aluminium_silicate": "Силикат алюминия", + "tfc.tooltip.propick.accuracy": "Точность: 100%", + "tfc.advancements.story.propick.description": "Создайте свой первый геологический молоток", + "trim_material.tfc.almandine_tfc": "Альманид", + "trim_material.tfc.andradite_tfc": "Андрадит", + "trim_material.tfc.blue_topaz_tfc": "Синий топаз", + "trim_material.tfc.cinnabar_tfc": "Киноварь", + "trim_material.tfc.coal_tfc": "Уголь", + "trim_material.tfc.diamond_tfc": "Алмаз", + "trim_material.tfc.emerald_tfc": "Изумруд", + "trim_material.tfc.green_sapphire_tfc": "Зелёный сапфир", + "trim_material.tfc.grossular_tfc": "Гроссуляр", + "trim_material.tfc.rutile_tfc": "Рутил", + "trim_material.tfc.lazurite_tfc": "Лазурит", + "trim_material.tfc.pyrope_tfc": "Пироп", + "trim_material.tfc.rock_salt_tfc": "Каменная соль", + "trim_material.tfc.ruby_tfc": "Рубин", + "trim_material.tfc.salt_tfc": "соль", + "trim_material.tfc.sapphire_tfc": "Сапфир", + "trim_material.tfc.sodalite_tfc": "Содалит", + "trim_material.tfc.coke_tfc": "Коксовый уголь", + "trim_material.tfc.spessartine_tfc": "Спасерит", + "trim_material.tfc.topaz_tfc": "Топаз", + "trim_material.tfc.uvarovite_tfc": "Уваровит", + "trim_material.tfc.nether_quartz_tfc": "Незер-кварц", + "trim_material.tfc.certus_quartz_tfc": "Истинный кварц", + "trim_material.tfc.quartzite_tfc": "Кварцит", + "trim_material.tfc.realgar_tfc": "Реальгар", + "trim_material.tfc.malachite_tfc": "Малахит", + "trim_material.tfc.glass_tfc": "Стекло", + "trim_material.tfc.olivine_tfc": "Оливин", + "trim_material.tfc.opal_tfc": "Опал", + "trim_material.tfc.amethyst_tfc": "Аметист", + "trim_material.tfc.lapis_tfc": "Лазуритит", + "trim_material.tfc.apatite_tfc": "Апатит", + "trim_material.tfc.red_garnet_tfc": "Красный гранат", + "trim_material.tfc.yellow_garnet_tfc": "Жёлтый гранат", + "trim_material.tfc.monazite_tfc": "Монацит", + "trim_material.tfc.rose_quartz_tfc": "Розовый кварц", + "trim_material.tfc.fluix_tfc": "Флакс", + "trim_material.tfc.silver_tfc": "Серебро", + "trim_material.tfc.sterling_silver_tfc": "Стерлинговое серебро", + "trim_material.tfc.gold_tfc": "Золото", + "trim_material.tfc.rose_gold_tfc": "Розовое золото", + "trim_material.tfc.nickel_tfc": "Никель", + "trim_material.tfc.platinum_tfc": "Платина", + "trim_material.tfc.titanium_tfc": "Титан", + "trim_material.tfc.bismuth_tfc": "Висмут", + "trim_material.tfc.neutronium_tfc": "Нейтроний", + "trim_material.tfc.pyrite_tfc": "Пирит", + "trim_material.tfc.redx_tfc": "RedX" } \ No newline at end of file diff --git a/kubejs/assets/tfc_support_indicator/lang/zh_cn.json b/kubejs/assets/tfc_support_indicator/lang/zh_cn.json new file mode 100644 index 000000000..22cc23295 --- /dev/null +++ b/kubejs/assets/tfc_support_indicator/lang/zh_cn.json @@ -0,0 +1,8 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "config.jade.plugin_tfc_support_indicator.support_indicator": "群峦传说:支撑显示", + "tfc_support_indicator.self_supported": "被支撑中", + "tfc_support_indicator.self_unsupported": "未被支撑", + "tfc_support_indicator.wont_trigger_collapse": "不会引发崩塌", + "tfc_support_indicator.might_trigger_collapse": "可能会引发崩塌" +} \ No newline at end of file diff --git a/kubejs/assets/tfc_textile/lang/ru_ru.json b/kubejs/assets/tfc_textile/lang/ru_ru.json index 4974b62e7..e8119c0cc 100644 --- a/kubejs/assets/tfc_textile/lang/ru_ru.json +++ b/kubejs/assets/tfc_textile/lang/ru_ru.json @@ -1,7 +1,7 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "item.tfc_textile.direwolf_fur": "Шкура лютоволка", - "item.tfc_textile.black_bear_fur": "Шкура черного медведя", + "item.tfc_textile.black_bear_fur": "Шкура чёрного медведя", "item.tfc_textile.sabertooth_fur": "Шкура саблезубого тигра", "item.tfc_textile.polar_bear_fur": "Шкура полярного медведя", "item.tfc_textile.grizzly_bear_fur": "Шкура бурого медведя", @@ -12,7 +12,7 @@ "item.tfc_textile.lion_fur": "Шкура льва", "item.tfc_textile.tiger_fur": "Шкура тигра", "item.tfc_textile.direwolf_boots": "Ботинки из лютоволка", - "item.tfc_textile.black_bear_boots": "Ботинки из черного медведя", + "item.tfc_textile.black_bear_boots": "Ботинки из чёрного медведя", "item.tfc_textile.sabertooth_boots": "Ботинки из саблезубого тигра", "item.tfc_textile.polar_bear_boots": "Ботинки из полярного медведя", "item.tfc_textile.grizzly_bear_boots": "Ботинки из бурого медведя", @@ -24,7 +24,7 @@ "item.tfc_textile.tiger_boots": "Ботинки из тигра", "item.tfc_textile.raw_socks": "Первобытные ботинки", "item.tfc_textile.direwolf_pants": "Штаны из лютоволка", - "item.tfc_textile.black_bear_pants": "Штаны из черного медведя", + "item.tfc_textile.black_bear_pants": "Штаны из чёрного медведя", "item.tfc_textile.sabertooth_pants": "Штаны из саблезубого тигра", "item.tfc_textile.polar_bear_pants": "Штаны из полярного медведя", "item.tfc_textile.grizzly_bear_pants": "Штаны из бурого медведя", @@ -36,7 +36,7 @@ "item.tfc_textile.tiger_pants": "Штаны из тигра", "item.tfc_textile.raw_pants": "Первобытные штаны", "item.tfc_textile.direwolf_shirt": "Парка из лютоволка", - "item.tfc_textile.black_bear_shirt": "Рубашка из черного медведя", + "item.tfc_textile.black_bear_shirt": "Рубашка из чёрного медведя", "item.tfc_textile.sabertooth_shirt": "Рубашка из саблезубого тигра", "item.tfc_textile.polar_bear_shirt": "Парка из полярного медведя", "item.tfc_textile.grizzly_bear_shirt": "Рубашка из бурого медведя", @@ -48,7 +48,7 @@ "item.tfc_textile.tiger_shirt": "Рубашка из тигра", "item.tfc_textile.raw_shirt": "Первобытная рубаха", "item.tfc_textile.direwolf_hat": "Шапка из лютоволка", - "item.tfc_textile.black_bear_hat": "Шапка из черного медведя", + "item.tfc_textile.black_bear_hat": "Шапка из чёрного медведя", "item.tfc_textile.sabertooth_hat": "Шапка из саблезубого тигра", "item.tfc_textile.polar_bear_hat": "Капюшон из полярного медведя", "item.tfc_textile.grizzly_bear_hat": "Шапка из бурого медведя", diff --git a/kubejs/assets/tfcambiental/lang/ru_ru.json b/kubejs/assets/tfcambiental/lang/ru_ru.json index c4dd402c4..7aaac6f1d 100644 --- a/kubejs/assets/tfcambiental/lang/ru_ru.json +++ b/kubejs/assets/tfcambiental/lang/ru_ru.json @@ -1,9 +1,10 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "death.attack.frostbite": "%1$s замерз насмерть.", + "death.attack.frostbite": "%1$s замёрз насмерть.", "death.attack.heatstroke": "%1$s умер от теплового удара.", "effect.tfcambiental.cool.name": "Охлаждение", "effect.tfcambiental.warm.name": "Нагрев", + "itemGroup.tfcambiental": "TFC Ambiental", "item.tfcambiental.house_tester": "Тестер дома", "item.tfcambiental.snowshoes": "Зимняя обувь", "item.tfcambiental.straw_hat": "Соломенная шляпа", @@ -20,19 +21,21 @@ "item.tfcambiental.burlap_shirt": "Джутововая рубашка", "item.tfcambiental.burlap_pants": "Джутовые штаны", "item.tfcambiental.burlap_shoes": "Джутовая обувь", - "item.tfcambiental.insulated_leather_hat": "Утепленный кожаный шлем", - "item.tfcambiental.insulated_leather_tunic": "Утепленная кожаная куртка", - "item.tfcambiental.insulated_leather_pants": "Утепленные кожаные штаны", - "item.tfcambiental.insulated_leather_boots": "Утепленные кожаные ботинки", - "tfcambiental.house_tester.description": "Щелкните ПКМ, чтобы проверить, считается ли ваше текущее местоположение внутри или снаружи", + "item.tfcambiental.insulated_leather_hat": "Утеплённый кожаный шлем", + "item.tfcambiental.insulated_leather_tunic": "Утеплённая кожаная куртка", + "item.tfcambiental.insulated_leather_pants": "Утеплённые кожаные штаны", + "item.tfcambiental.insulated_leather_boots": "Утеплённые кожаные ботинки", + "tfcambiental.house_tester.description": "Щёлкните ПКМ, чтобы проверить, считается ли ваше текущее местоположение внутри или снаружи", "tfcambiental.message.is_inside": "Вы внутри", "tfcambiental.message.is_inside_alt": "Your outsides are inside", "tfcambiental.message.is_outside": "Вы снаружи", "tfcambiental.message.is_outside_alt": "Your insides are outside", "tfcambiental.tooltip.warmth": "Терморегуляция: %s", "tfcambiental.tooltip.insulation": "Термоизоляция: %s", - "tfcambiental.tooltip.sun_protection": "Защищает от прямых солнечных лучей", + "tfcambiental.tooltip.sun_protection": "-20% нагрева от прямого воздействия солнца", "tfcambiental.tooltip.snowshoes": "Больше не нужно тонуть в рыхлом снегу", + "message.tfcambiental.cold_hungry": "Холод истощает вашу энергию.", + "message.tfcambiental.heat_thirsty": "Холод обезвоживает вас.", "curios.identifier.clothes_hat": "Одежда (Голова)", "curios.identifier.clothes_torso": "Одежда (Туловище)", "curios.identifier.clothes_pants": "Одежда (Ноги)", diff --git a/kubejs/assets/tfcgroomer/lang/ru_ru.json b/kubejs/assets/tfcgroomer/lang/ru_ru.json index 7186a314a..d8a35d848 100644 --- a/kubejs/assets/tfcgroomer/lang/ru_ru.json +++ b/kubejs/assets/tfcgroomer/lang/ru_ru.json @@ -8,5 +8,11 @@ "block.tfcgroomer.steel_grooming_station": "Кормушка (Сталь)", "block.tfcgroomer.black_steel_grooming_station": "Кормушка (Чёрная сталь)", "block.tfcgroomer.red_steel_grooming_station": "Кормушка (Красная сталь)", - "block.tfcgroomer.blue_steel_grooming_station": "Кормушка (Синяя сталь)" + "block.tfcgroomer.blue_steel_grooming_station": "Кормушка (Синяя сталь)", + "tfcgroomer.grooming_station.range": "Радиус: %s", + "gui.tfcgroomer.enable_breeding": "Разрешить размножение", + "tfcgroomer.tooltip.toggleBreeding": "Размножение", + "tfcgroomer.tooltip.breedDisabled": "Размножение запрещено", + "tfcgroomer.tooltip.breedEnabled": "Размножение разрешено", + "config.jade.plugin_tfcgroomer.grooming_station": "Grooming Station" } \ 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 8977385e3..4ba5c4bc1 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -657,10 +657,15 @@ "block.tfg.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Sample Rack", "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizing Pipes", + "block.tfg.moderate_core": "Moderate Core", + "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", "fluid.tfg.nether_slurry": "Nether Slurry", "fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry", "fluid.tfg.ender_slurry": "Ender Slurry", "fluid.tfg.enriched_ender_slurry": "Enriched Ender Slurry", + "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", "fluid.tfg.sulfur_fumes": "Sulfur Fumes", "fluid.tfg.super_heated_slurry": "Super Heated Slurry", @@ -709,6 +714,7 @@ "item.tfg.conifer_rosin": "Conifer Rosin", "item.tfg.hardwood_strip": "Hardwood Strip", "item.tfg.soaked_hardwood_strip": "Soaked Hardwood Strip", + "item.tfg.soaked_unrefined_paper": "Soaked Unrefined Paper", "item.tfg.prepared_leather_gloves": "Prepared Leather Gloves", "item.tfg.latex_soaked_gloves": "Latex-Soaked Gloves", "item.tfg.unfired_chalk": "Unfired Chalk Stick", @@ -886,6 +892,7 @@ "item.tfg.compressed_heliox_3_bucket": "Heliox-3 Bucket", "item.tfg.compressed_trimix_bucket": "50/30/20 Trimix Bucket", "item.tfg.compressed_trimix_3_bucket": "50/30/20 Trimix-3 Bucket", + "item.tfg.heavy_ammoniacal_water_bucket": "Heavy Ammoniacal Water Bucket", "item.tfg.semiheavy_ammoniacal_water_bucket": "Semiheavy Ammoniacal Water Bucket", "item.tfg.harvest_basket": "Harvest Basket", "item.tfg.aluminium_harvest_basket": "Aluminium Harvest Basket", @@ -973,11 +980,7 @@ "item.tfg.pure_graphite_rod": "Pure Graphite Rod", "item.tfg.impure_graphite_rod": "Impure Graphite Rod", "item.tfg.annealed_graphite_rod": "Annealed Graphite Rod", - "item.tfg.impure_annealed_graphite_row": "Impure Annealed Graphite Rod", - "item.tfg.moderate_core": "Moderate Core", - "item.tfg.impure_moderate_core": "Impure Moderate Core", - "item.tfg.moderate_core_frame": "Moderate Core Frame", - "item.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "item.tfg.impure_annealed_graphite_rod": "Impure Annealed Graphite Rod", "item.tfg.graphite_moderator": "Graphite Moderator", "item.tfg.impure_graphite_moderator": "Impure Graphite Moderator", "item.tfg.advanced_polymer_binder": "Advanced Polymer Binder", @@ -1471,6 +1474,7 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Dyeing", "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Treating Chipboard Composite", "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Soaking Hardwood Strips", + "tfc.recipe.barrel.tfg.barrel.treated_wood_dust": "Treating Wood Dust", "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "Treating Wood Planks", "tfc.recipe.barrel.tfg.barrel.packed_ice": "Freezing Ice", "tfc.recipe.barrel.tfg.barrel.cooling_water_1": "Cooling Water", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 2774441f1..47b3f0b17 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -35,9 +35,9 @@ "biome.tfg.mars/sangnum_edge": "Sangnum Edge", "biome.tfg.mars/sangnum_plains": "Sangnum Prairie", "biome.tfg.mars/sangnum_hills": "Sangnum Moorland", - "block.tfg.piglin_disguise": "Piglin Disguise", - "block.tfg.piglin_disguise_block": "Piglin Disguise", - "block.tfg.dry_ice": "Dry Ice", + "block.tfg.piglin_disguise": "ピグリンの変装マスク", + "block.tfg.piglin_disguise_block": "ピグリンの変装マスク", + "block.tfg.dry_ice": "ドライアイス", "block.tfg.decorative_vase.black": "Black Decorative Vase", "block.tfg.decorative_vase.gray": "Gray Decorative Vase", "block.tfg.decorative_vase.light_gray": "Light Gray Decorative Vase", @@ -87,58 +87,58 @@ "block.tfg.decorative_vase.generated.orange": "Orange Loot Vase", "block.tfg.decorative_vase.generated.red": "Red Loot Vase", "block.tfg.decorative_vase.generated.brown": "Brown Loot Vase", - "block.tfg.light_concrete_support": "Light Concreteの梁", - "block.tfg.light_concrete_support_horizontal": "Light Concreteの梁", - "block.tfg.dark_concrete_support": "Dark Concreteの梁", - "block.tfg.dark_concrete_support_horizontal": "Dark Concreteの梁", - "block.tfg.reinforced_light_concrete_support": "Reinforced Light Concreteの梁", - "block.tfg.reinforced_light_concrete_support_horizontal": "Reinforced Light Concreteの梁", - "block.tfg.reinforced_dark_concrete_support": "Reinforced Dark Concreteの梁", - "block.tfg.reinforced_dark_concrete_support_horizontal": "Reinforced Dark Concreteの梁", - "block.tfg.rebar_support": "Rebarの梁", - "block.tfg.rebar_support_horizontal": "Rebarの梁", - "block.tfg.steel_support": "Steelの梁", - "block.tfg.steel_support_horizontal": "Steelの梁", - "block.tfg.gabbro_support_horizontal": "Gabbroの梁", - "block.tfg.gabbro_support": "Gabbroの梁", - "block.tfg.shale_support_horizontal": "Shaleの梁", - "block.tfg.shale_support": "Shaleの梁", - "block.tfg.claystone_support_horizontal": "Claystoneの梁", - "block.tfg.claystone_support": "Claystoneの梁", - "block.tfg.limestone_support_horizontal": "Limestoneの梁", - "block.tfg.limestone_support": "Limestoneの梁", - "block.tfg.conglomerate_support_horizontal": "Conglomerateの梁", - "block.tfg.conglomerate_support": "Conglomerateの梁", - "block.tfg.dolomite_support_horizontal": "Dolomiteの梁", - "block.tfg.dolomite_support": "Dolomiteの梁", + "block.tfg.light_concrete_support": "明色コンクリートの梁", + "block.tfg.light_concrete_support_horizontal": "明色コンクリートの梁", + "block.tfg.dark_concrete_support": "暗色コンクリートの梁", + "block.tfg.dark_concrete_support_horizontal": "暗色コンクリートの梁", + "block.tfg.reinforced_light_concrete_support": "明色鉄筋コンクリートの梁", + "block.tfg.reinforced_light_concrete_support_horizontal": "明色鉄筋コンクリートの梁", + "block.tfg.reinforced_dark_concrete_support": "暗色鉄筋コンクリートの梁", + "block.tfg.reinforced_dark_concrete_support_horizontal": "暗色鉄筋コンクリートの梁", + "block.tfg.rebar_support": "鉄筋の梁", + "block.tfg.rebar_support_horizontal": "鉄筋の梁", + "block.tfg.steel_support": "鋼鉄製の梁", + "block.tfg.steel_support_horizontal": "鋼鉄製の梁", + "block.tfg.gabbro_support_horizontal": "斑れい岩の梁", + "block.tfg.gabbro_support": "斑れい岩の梁", + "block.tfg.shale_support_horizontal": "頁岩の梁", + "block.tfg.shale_support": "頁岩の梁", + "block.tfg.claystone_support_horizontal": "粘土岩の梁", + "block.tfg.claystone_support": "粘土岩の梁", + "block.tfg.limestone_support_horizontal": "石灰岩の梁", + "block.tfg.limestone_support": "石灰岩の梁", + "block.tfg.conglomerate_support_horizontal": "礫岩の梁", + "block.tfg.conglomerate_support": "礫岩の梁", + "block.tfg.dolomite_support_horizontal": "苦灰岩の梁", + "block.tfg.dolomite_support": "苦灰岩の梁", "block.tfg.chert_support_horizontal": "角岩の梁", "block.tfg.chert_support": "角岩の梁", - "block.tfg.chalk_support_horizontal": "Chalkの梁", - "block.tfg.chalk_support": "Chalkの梁", - "block.tfg.rhyolite_support_horizontal": "Rhyoliteの梁", - "block.tfg.rhyolite_support": "Rhyoliteの梁", - "block.tfg.dacite_support_horizontal": "Daciteの梁", - "block.tfg.dacite_support": "Daciteの梁", + "block.tfg.chalk_support_horizontal": "白亜の梁", + "block.tfg.chalk_support": "白亜の梁", + "block.tfg.rhyolite_support_horizontal": "流紋岩の梁", + "block.tfg.rhyolite_support": "流紋岩の梁", + "block.tfg.dacite_support_horizontal": "デイサイトの梁", + "block.tfg.dacite_support": "デイサイトの梁", "block.tfg.quartzite_support_horizontal": "Quartziteの梁", "block.tfg.quartzite_support": "Quartziteの梁", - "block.tfg.slate_support_horizontal": "Slateの梁", - "block.tfg.slate_support": "Slateの梁", - "block.tfg.phyllite_support_horizontal": "Phylliteの梁", - "block.tfg.phyllite_support": "Phylliteの梁", - "block.tfg.schist_support_horizontal": "Schistの梁", - "block.tfg.schist_support": "Schistの梁", - "block.tfg.gneiss_support_horizontal": "Gneissの梁", - "block.tfg.gneiss_support": "Gneissの梁", - "block.tfg.marble_support_horizontal": "Marbleの梁", - "block.tfg.marble_support": "Marbleの梁", - "block.tfg.basalt_support_horizontal": "Basaltの梁", - "block.tfg.basalt_support": "Basaltの梁", - "block.tfg.diorite_support_horizontal": "Dioriteの梁", - "block.tfg.diorite_support": "Dioriteの梁", - "block.tfg.andesite_support_horizontal": "Andesiteの梁", - "block.tfg.andesite_support": "Andesiteの梁", - "block.tfg.granite_support_horizontal": "Graniteの梁", - "block.tfg.granite_support": "Graniteの梁", + "block.tfg.slate_support_horizontal": "粘板岩の梁", + "block.tfg.slate_support": "粘板岩の梁", + "block.tfg.phyllite_support_horizontal": "千枚岩の梁", + "block.tfg.phyllite_support": "千枚岩の梁", + "block.tfg.schist_support_horizontal": "片岩の梁", + "block.tfg.schist_support": "片岩の梁", + "block.tfg.gneiss_support_horizontal": "片麻岩の梁", + "block.tfg.gneiss_support": "片麻岩の梁", + "block.tfg.marble_support_horizontal": "大理石の梁", + "block.tfg.marble_support": "大理石の梁", + "block.tfg.basalt_support_horizontal": "玄武岩の梁", + "block.tfg.basalt_support": "玄武岩の梁", + "block.tfg.diorite_support_horizontal": "閃緑岩の梁", + "block.tfg.diorite_support": "閃緑岩の梁", + "block.tfg.andesite_support_horizontal": "安山岩の梁", + "block.tfg.andesite_support": "安山岩の梁", + "block.tfg.granite_support_horizontal": "花崗岩の梁", + "block.tfg.granite_support": "花崗岩の梁", "block.tfg.pyroxenite_support_horizontal": "輝岩の梁", "block.tfg.pyroxenite_support": "輝岩の梁", "block.tfg.Migmatite_support_horizontal": "混成岩の梁", @@ -413,18 +413,18 @@ "block.tfg.mushroom_sprouts": "Mushroom Sprouts", "block.tfg.charred_log": "Charred Log", "block.tfg.ash_pile": "Ash Pile", - "block.tfg.pile.white_sand": "White Sand", - "block.tfg.pile.black_sand": "Black Sand", - "block.tfg.pile.brown_sand": "Brown Sand", - "block.tfg.pile.red_sand": "Red Sand", - "block.tfg.pile.yellow_sand": "Yellow Sand", - "block.tfg.pile.green_sand": "Green Sand", - "block.tfg.pile.pink_sand": "Pink Sand", - "block.tfg.pile.moon_sand": "Lunar Sand", - "block.tfg.pile.mars_sand": "Argillite Sand", - "block.tfg.pile.mars_sand_covering": "Argillite Sand", - "block.tfg.pile.venus_sand": "Trachyte Sand", - "block.tfg.pile.venus_sand_covering": "Trachyte Sand", + "block.tfg.pile.white_sand": "白い砂", + "block.tfg.pile.black_sand": "黒い砂", + "block.tfg.pile.brown_sand": "茶色い砂", + "block.tfg.pile.red_sand": "赤い砂", + "block.tfg.pile.yellow_sand": "黄色い砂", + "block.tfg.pile.green_sand": "緑の砂", + "block.tfg.pile.pink_sand": "桃色の砂", + "block.tfg.pile.moon_sand": "月の砂", + "block.tfg.pile.mars_sand": "粘土質岩の砂", + "block.tfg.pile.mars_sand_covering": "粘土質岩の砂", + "block.tfg.pile.venus_sand": "粗面岩の砂", + "block.tfg.pile.venus_sand_covering": "粗面岩の砂", "block.tfg.pile.Hematitic_sand": "赤鉄質の砂", "block.tfg.pile.Hematitic_sand_covering": "赤鉄質の砂", "block.tfg.lunar_roots": "月光のライトブルーム", @@ -442,14 +442,14 @@ "block.tfg.marker.venus": "Venus", "block.tfg.marker.mercury": "Mercury", "block.tfg.marker.glacio": "Europa", - "block.tfg.lv_aqueous_accumulator": "基本型水成蓄圧機", - "block.tfg.mv_aqueous_accumulator": "§b発展型水成蓄圧機§r", - "block.tfg.hv_aqueous_accumulator": "§6発展型水成蓄圧機II§r", - "block.tfg.ev_aqueous_accumulator": "§5発展型水成蓄圧機III§r", - "block.tfg.iv_aqueous_accumulator": "§9精鋭型水成蓄圧機§r", - "block.tfg.luv_aqueous_accumulator": "§d精鋭型水成蓄圧機II§r", - "block.tfg.zpm_aqueous_accumulator": "§c精鋭型水成蓄圧機III§r", - "block.tfg.uv_aqueous_accumulator": "§3究極型水成蓄圧機§r", + "block.tfg.lv_aqueous_accumulator": "基本型水とか生成機", + "block.tfg.mv_aqueous_accumulator": "§b発展型水とか生成機§r", + "block.tfg.hv_aqueous_accumulator": "§6発展型水とか生成機II§r", + "block.tfg.ev_aqueous_accumulator": "§5発展型水とか生成機III§r", + "block.tfg.iv_aqueous_accumulator": "§9精鋭型水とか生成機§r", + "block.tfg.luv_aqueous_accumulator": "§d精鋭型水とか生成機II§r", + "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", @@ -536,7 +536,7 @@ "block.tfg.zpm_railgun_item_loader_out": "§cZPM Interplanetary Railgun Output Bus§r", "block.tfg.uv_railgun_item_loader_out": "§3UV Interplanetary Railgun Output Bus§r", "block.tfg.uhv_railgun_item_loader_out": "§4UHV Interplanetary Railgun Output Bus§r", - "block.tfg.reflector": "Reflector Block", + "block.tfg.reflector": "反射板ブロック", "block.tfg.sunflower": "ヒマワリ", "block.tfg.sunflower_wild": "野生のヒマワリ", "block.tfg.sunflower_dead": "枯れたヒマワリ", @@ -546,14 +546,14 @@ "block.tfg.flax": "亜麻", "block.tfg.flax_wild": "野生の亜麻", "block.tfg.flax_dead": "枯れた亜麻", - "block.tfg.casings.machine_casing_iron_desh": "Desh Machine Casing", + "block.tfg.casings.machine_casing_iron_desh": "デッシュ製マシン外装", "block.tfg.casings.machine_casing_stainless_evaporation": "Stainless Evaporation Machine Casing", "block.tfg.casings.machine_casing_vacuum_engine_intake": "Vacuum Engine Intake Machine Casing", - "block.tfg.casings.machine_casing_mars": "Robustの粉-Proof Machine Casing", - "block.tfg.casings.machine_casing_blue_solar_panel": "Basic Solar Panel Casing", - "block.tfg.casings.machine_casing_green_solar_panel": "Advanced Solar Panel Casing", - "block.tfg.casings.machine_casing_red_solar_panel": "Elite Solar Panel Casing", - "block.tfg.machine_casing_aluminium_plated_steel": "Aluminium Plated Steel Machine Casing", + "block.tfg.casings.machine_casing_mars": "Robust Dust-Proof Machine Casing", + "block.tfg.casings.machine_casing_blue_solar_panel": "基本型ソーラーパネル外装", + "block.tfg.casings.machine_casing_green_solar_panel": "発展型ソーラーパネル外装", + "block.tfg.casings.machine_casing_red_solar_panel": "精鋭型ソーラーパネル外装", + "block.tfg.machine_casing_aluminium_plated_steel": "アルミメッキスチール製マシン外装", "block.tfg.casings.machine_casing_ultraviolet": "§dUltraviolet §fMachine Casing", "block.tfg.casings.machine_casing_bioculture": "Bioculture Machine Casing", "block.tfg.casings.machine_casing_bioculture_glass": "Bioculture Glass", @@ -563,7 +563,7 @@ "block.tfg.casings.heat_pipe_casing": "Heat Pipe Casing", "block.tfg.glacian_wool_frame": "Framed Glacian Wool", "block.tfg.aes_insulation_frame": "Framed AES Insulation", - "block.tfg.sand.fluorapatite.blue": "Blue Fluorapatite Sand", + "block.tfg.sand.fluorapatite.blue": "Blue Fluorapatiteの砂", "block.tfg.sandstone.raw.fluorapatite.blue": "Raw Blue Fluorapatite砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Raw Blue Fluorapatite砂岩の塀", "block.tfg.sandstone.slab.raw.fluorapatite.blue": "Raw Blue Fluorapatite砂岩のハーフブロック", @@ -574,7 +574,7 @@ "block.tfg.sandstone.stairs.smooth.fluorapatite.blue": "滑らかなBlue Fluorapatite砂岩の階段", "block.tfg.sandstone.fluorapatite.blue": "研がれたBlue Fluorapatite砂岩", "block.tfg.sandstone.smooth.chiseled.fluorapatite.blue": "模様入りのBlue Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.green": "Green Fluorapatite Sand", + "block.tfg.sand.fluorapatite.green": "Green Fluorapatiteの砂", "block.tfg.sandstone.raw.fluorapatite.green": "Raw Green Fluorapatite砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.green": "Raw Green Fluorapatite砂岩の塀", "block.tfg.sandstone.slab.raw.fluorapatite.green": "Raw Green Fluorapatite砂岩のハーフブロック", @@ -585,7 +585,7 @@ "block.tfg.sandstone.stairs.smooth.fluorapatite.green": "滑らかなGreen Fluorapatite砂岩の階段", "block.tfg.sandstone.fluorapatite.green": "研がれたGreen Fluorapatite砂岩", "block.tfg.sandstone.smooth.chiseled.fluorapatite.green": "模様入りのGreen Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.brown": "Brown Fluorapatite Sand", + "block.tfg.sand.fluorapatite.brown": "Brown Fluorapatiteの砂", "block.tfg.sandstone.raw.fluorapatite.brown": "Raw Brown Fluorapatite砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.brown": "Raw Brown Fluorapatite砂岩の塀", "block.tfg.sandstone.slab.raw.fluorapatite.brown": "Raw Brown Fluorapatite砂岩のハーフブロック", @@ -596,7 +596,7 @@ "block.tfg.sandstone.stairs.smooth.fluorapatite.brown": "滑らかなBrown Fluorapatite砂岩の階段", "block.tfg.sandstone.fluorapatite.brown": "研がれたBrown Fluorapatite砂岩", "block.tfg.sandstone.smooth.chiseled.fluorapatite.brown": "模様入りのBrown Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.orange": "Orange Fluorapatite Sand", + "block.tfg.sand.fluorapatite.orange": "Orange Fluorapatiteの砂", "block.tfg.sandstone.raw.fluorapatite.orange": "Raw Orange Fluorapatite砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.orange": "Raw Orange Fluorapatite砂岩の塀", "block.tfg.sandstone.slab.raw.fluorapatite.orange": "Raw Orange Fluorapatite砂岩のハーフブロック", @@ -607,7 +607,7 @@ "block.tfg.sandstone.stairs.smooth.fluorapatite.orange": "滑らかなOrange Fluorapatite砂岩の階段", "block.tfg.sandstone.fluorapatite.orange": "研がれたOrange Fluorapatite砂岩", "block.tfg.sandstone.smooth.chiseled.fluorapatite.orange": "模様入りのOrange Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.white": "White Fluorapatite Sand", + "block.tfg.sand.fluorapatite.white": "White Fluorapatiteの砂", "block.tfg.sandstone.raw.fluorapatite.white": "Raw White Fluorapatite砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.white": "Raw White Fluorapatite砂岩の塀", "block.tfg.sandstone.slab.raw.fluorapatite.white": "Raw White Fluorapatite砂岩のハーフブロック", @@ -618,7 +618,7 @@ "block.tfg.sandstone.stairs.smooth.fluorapatite.white": "滑らかなWhite Fluorapatite砂岩の階段", "block.tfg.sandstone.fluorapatite.white": "研がれたWhite Fluorapatite砂岩", "block.tfg.sandstone.smooth.chiseled.fluorapatite.white": "模様入りのWhite Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.yellow": "Yellow Fluorapatite Sand", + "block.tfg.sand.fluorapatite.yellow": "Yellow Fluorapatiteの砂", "block.tfg.sandstone.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite砂岩の塀", "block.tfg.sandstone.slab.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite砂岩のハーフブロック", @@ -925,7 +925,7 @@ "item.tfg.small_casing_extruder_mold": "Extruder Mold (Small Bullet Casing)", "item.tfg.shell_casing_extruder_mold": "Extruder Mold (Shell Bullet Casing)", "item.tfg.large_casing_extruder_mold": "Extruder Mold (Large Bullet Casing)", - "item.tfg.photo_cell_t1": "Basic Photovoltaic Cell", + "item.tfg.photo_cell_t1": "基本型太陽電池", "item.tfg.electric_extendo_grip": "Electric Extendo Grip", "item.tfg.treated_chipboard_composite": "防腐処理したおがくず", "item.tfg.high_density_treated_fiberboard": "防腐繊維板", @@ -1020,14 +1020,14 @@ "material.tfg.glacio_stone": "響岩", "material.gtceu.thermochemically_treated_hardwood": "熱処理済みの堅木", "material.gtceu.hardwood": "堅木", - "material.gtceu.asurine": "Asurine", - "material.gtceu.ochrum": "Ochrum", - "material.gtceu.veridium": "Veridium", - "material.gtceu.crimsite": "Crimsite", - "material.gtceu.scoria": "Scoria", - "material.gtceu.scorchia": "Scorchia", + "material.gtceu.asurine": "瑠璃岩", + "material.gtceu.ochrum": "黄土岩", + "material.gtceu.veridium": "緑青岩", + "material.gtceu.crimsite": "真紅岩", + "material.gtceu.scoria": "スコリア", + "material.gtceu.scorchia": "スコーチア", "material.tfg.kaolinite": "カオリナイト", - "material.tfg.vitrified_pearl": "Vitrified Ender", + "material.tfg.vitrified_pearl": "ガラス化したエンダー", "material.tfg.aes_mix": "Alkaline Earth Silicate Mixture", "material.tfg.molten_aes": "Molten Alkaline Earth Silicate", "material.tfg.compressed_nitrox": "Compressed Nitrox", @@ -1062,8 +1062,8 @@ "material.tfg.nuclear_residue": "Nuclear Residue", "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue", "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", - "material.tfg.mars_air": "Mars Air", - "material.tfg.liquid_mars_air": "Liquid Mars Air", + "material.tfg.mars_air": "火星の空気", + "material.tfg.liquid_mars_air": "火星の液体空気", "material.tfg.certus_regolith": "Certus Regolith", "material.tfg.goethe_regolith": "Goethe Regolith", "material.tfg.bright_regolith": "Bright Regolith", @@ -1685,7 +1685,7 @@ "quests.create_logistics.rose_quartz_lens.desc": "レンズを作るためには&3旋盤&rが必要です。もし&d精巧なローズクォーツ&rから作るなら&7基本型旋盤&rで十分ですが、プレートから作りたい場合は&b発展型旋盤&rが必要になります。\n\n完成したレンズを&3レーザー刻印機&rにセットして&d2枚の赤合金のプレート&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設置する前に、既にあるストックリンクを右クリックしておくと、2つを同じネットワークに接続させられます。接続を解除したい場合は、ストックリンクを単体でクラフトすればリセットできます。", + "quests.create_logistics.stock_link.desc": "最初に作れる&2高度物流装置&rは&3ストックリンク&rです。これを使うことで&d物流ネットワーク&rを構築できます。 これを&3梱包機&rの側面に取り付けると、&a梱包機が接続しているインベントリをネットワーク上からアクセスできるようにしてくれます&r! これは単体ではあまり役立ちませんが、後で登場するさまざまな物流機械の基本となる重要なパーツです。\n\n設置する前に、既にあるストックリンクを右クリックしておくと、2つを同じネットワークに接続させられます。接続を解除したい場合は、ストックリンクを単体でクラフトすればリセットできます。", "quests.create_logistics.stock_ticker.title": "ストックティッカー", "quests.create_logistics.stock_ticker.subtitle": "24時間対応即日配達!送料無料!", "quests.create_logistics.stock_ticker.desc.1": "すでに&3ストックリンク&rを使って&d物流ネットワーク&rを構築している場合、次はそれを利用し、遠隔からアイテムを注文する仕組みを作りましょう。&3ストックティッカー&rはそのためのアイテムです。 基本的な使い方はストックリンクと同じです。まず既存のストックリンクを右クリックしてネットワークに接続させます。 次に&3ストックティッカー&rの隣に&3ブレイズバーナー&rか、&3シート&rに座ったモブを設置すると、そのモブ(またはバーナー)が &3倉庫番&rとして働いてくれます。", @@ -1748,7 +1748,7 @@ "quests.development.hull_mv.title": "&bMV時代&rで作成可能", "quests.development.hull_mv.subtitle": "Integrated Dynamics", "quests.development.hull_mv.desc.1": "&9集積&r回路は、コストが改善されるわけではありませんが、次のティアへの足がかりになります。\n\n作成には&3発展型レーザー刻印機&rと&3発展型裁断機&rが必要です。", - "quests.development.hull_mv.desc.2": "&l&3伝承では...&r&o Omnifactoryおよび以前のGregicalityでは、この回路ラインは&9Refined&rと呼ばれてて、もっと上位のティアのように標準化されていましたらしいよ...と伝わっています。", + "quests.development.hull_mv.desc.2": "&l&3余談:&r&oOmnifactoryとかの以前のGregでは、この回路ラインは&9Refined&rと呼ばれてて、もっと上位のティアのように標準化されていたらしいよ。", "quests.development.hull_hv.title": "&bMV&rおよび&6HV&rで作成可能", "quests.development.hull_hv.subtitle": "カントリーマアムと同じ道を辿っています", "quests.development.hull_hv.desc": "&eマイクロ&r回路からは、&3クリーンルーム&rが必要になってきます。\n\n&aメインフレーム&rには&3発展型回路組立機&rが必要になるので注意してください。", @@ -2008,93 +2008,93 @@ "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.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", - "quests.gregtech_energy.start.desc": "We know that GregTech isn’t the easiest mod to get into — especially when it comes to the &cenergy system&r. That’s why we’ll take our time in this chapter to explain as much as we can.\n\nSome things here might not make full sense until later in your progression, so don’t stress yourself. Just try to understand what you can for now, and feel free to &dcome back to this chapter&r whenever you have questions.\n\nWe’ve split this chapter into &efour categories&r, each one covering a topic related to the GregTech Energy System. We’ll provide as many examples as possible to help you understand how it all works.", + "quests.gregtech_energy": "GregTechの電力システム", + "quests.gregtech_energy.subtitle": "第一種電気主任技術者を目指して", + "quests.gregtech_energy.start.title": "説明しよう", + "quests.gregtech_energy.start.desc": "GregTechは決して簡単なModではありません。特に&c電力システム&rの理解は、多くの人がつまずく部分です。だからこそ、この章ではその仕組みをじっくり丁寧に解説していきます。\n\n中には、ゲームの進行が進まないとピンとこない内容もあるかもしれません。焦らず、今わかる範囲で理解しておけば大丈夫です。疑問が出たときは、いつでも&dこの章に戻って&r確認してみてください。\n\nこの章は&e4つのカテゴリー&rに分かれており、それぞれがGregTechの電力システムに関するテーマを扱っています。理解を深めやすいように、できる限り多くの実例も紹介していきます。", "quests.gregtech_energy.start.task": "Welcome aboard", - "quests.gregtech_energy.start.subtitle": "It's not as bad as you think", - "quests.gregtech_energy.moving.title": "Moving your Energy", - "quests.gregtech_energy.moving.subtitle": "So, energy transfer, huh", - "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire= &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", + "quests.gregtech_energy.start.subtitle": "一度理解すれば簡単です", + "quests.gregtech_energy.moving.title": "送電について", + "quests.gregtech_energy.moving.subtitle": "電力の運搬", + "quests.gregtech_energy.moving.desc": "GregTechで電力を運搬を行うには、いくつかの基本的な仕組みを理解しておく必要があります。\n\nまずは&b電圧のティア&rについて。GregTechのあらゆるもの(ワイヤー、機械、レシピ)は&aLV&rから&cUHV&rまでのティアに分類されています。電力を正しく伝えるには、&e電圧に合った素材の電線&rを使う必要があります。\n例:\n&8•&r錫ワイヤー=&aLV&r\n&8•&r銅ワイヤー=&bMV&r\n\n次に重要なのが&bアンペア(A)&rの仕組みです。1アンペア(1A)は&eエネルギーの1パケット&rのようなもので、機械は必要に応じてこの「パケット」を要求し、電線を通して受け取ります。\n1アンペアごとの電力量は電圧によって異なります。電圧ごとに4倍ずつ上昇します\n例:\n&8•&rLVの1A=&a32EU&r\n&8•&rMVの1A=&e128EU&r\n\nほとんどの機械やエネルギーハッチは、最大でも&62A&rまでしか要求できません。\n\n電圧とアンペアを理解することが、GregTechの電力の扱いをマスターするための第一歩です。", "quests.gregtech_energy.moving.task": "I understand", - "quests.gregtech_energy.transformer.title": "The Super Transformer", - "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", - "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can channel energy between any tiers — from &aLV&r to &cUHV&r — with no explosions. But that's not even the best part.\n\nIt can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", - "quests.gregtech_energy.moving_wire.title": "Moving with wires", - "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", - "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", + "quests.gregtech_energy.transformer.title": "大型変圧器", + "quests.gregtech_energy.transformer.subtitle": "IMEの予測変換よりも優秀です", + "quests.gregtech_energy.transformer.desc": "GregTechでは、どんな問題もマルチブロックが解決してくれます。&d大型変圧器&rもきっとあなたの抱えている問題を解決してくれるでしょう。\n\nこの装置は、まさに究極の変圧器です。&aLV&rから&cUHV&rまで、どんな電圧にも対応して安全に電力を送ることができます。しかも、それだけではありません。\n\nこの変圧器はレーザーパイプを使って電力を転送できます。レーザーパイプの特徴として:\n&8•&r驚くほど大量のアンペアを送信可能\n&8•&r電力損失がゼロ。ケーブルも不要。\n&8•&rただし、&cレーザーは完全に直線で配置する必要がある&r。\n\nケーブルに限界を感じたら&lレーザーを使いましょう。", + "quests.gregtech_energy.moving_wire.title": "電線による送電", + "quests.gregtech_energy.moving_wire.subtitle": "少々クセがあります", + "quests.gregtech_energy.moving_wire.desc": "GregTechでは、他の工業Modとは違い、送電に制限をかける要素がいくつかあります。\n例えば、&b多くのケーブルには電力の損失があり&r、ブロックごと・アンペアごとに少しずつ電力が失われていきます。ですが安心してください、対策はあります。\n\n&8•&rケーブルをゴムで被覆しましょう。これだけでもエネルギー損失を大幅に抑えられます。クエストアイテムを確認してみてください。\n&8•&r長距離の伝送には高電圧のケーブルを使うのも効果的です。たとえばプラチナケーブルなら、8192EUも伝えられるなかで、1ブロックあたりの損失はたった1EUなのでほとんど誤差のようなものです。\n&8•&rそして最高の手段は&b超伝導体&rを使うことです。コストはかかりますが、&9完全に損失がゼロ&rです。被覆も不要で、感電の心配もありません。ただし、基本的にそのティアの終盤にならないと作成できません。\n\n送電を最適化し、&b損失を抑えて&r、より効率的に運用しましょう。", "quests.gregtech_energy.moving_wire.task": "I finished looking at wires", - "quests.gregtech_energy.moving_amp.title": "Managing Amp", - "quests.gregtech_energy.moving_amp.subtitle": "It burns?", - "quests.gregtech_energy.moving_amp.desc.1": "You’ll notice each wire has its own &eMax Amperage&r — that’s the amount of amps a cable can safely carry before burning.\nTo know how many amps will flow through a cable, you must consider two things:\n\n- A Generator or Battery outputs a specific amount of Amps:\nBattery Buffers will output as many amps as they have batteries inside.\nEvery single-block generator outputs &e1A&r.\nFor multiblock generators, it depends on the &aDynamo Energy Hatch&r — the value is shown in its tooltip.\n\nAmperage output is also based on what is needed: each machine connected to a power line will request amps to fill its internal buffer.", - "quests.gregtech_energy.moving_amp.desc.2": "Let’s look at an example:\nYou have &e6 machines&r connected to an &e8x Battery Buffer&r filled with 8 batteries.\nThe buffer will try to send &e1A&r to each machine — that’s &e6A&r total.\nThe amps are delivered in order: the closest machines get power first, and the furthest ones last.\nIf your cables only support &c4A&r, they’ll &cBURN&r. You’ll need &a8A cables&r in this case.\n\n&bTip:&r The first machine in the line might need a cable that handles &e8A&r,\nbut the last machine may only need &e1A&r, as it’s only receiving what’s left.\n&c⚠ Be careful:&r adding another machine at the end could cause the cable to burn if it exceeds the limit.", + "quests.gregtech_energy.moving_amp.title": "アンペアの扱い", + "quests.gregtech_energy.moving_amp.subtitle": "うわっ!燃えた!?", + "quests.gregtech_energy.moving_amp.desc.1": "それぞれのワイヤーには&e最大アンペア数&rが設定されています。これは、そのケーブルが焼き切れずに安全に流せる電流量(アンペア)の上限です。\n実際にケーブルをどれだけのアンペアが流れるかを知るには、次の2点を考慮する必要があります。\n\n- 発電機やバッテリーの出力アンペア数:\n蓄電器は、中に入っているバッテリーの数だけアンペアを出力します。\n1ブロックの発電機は、どれも出力が&e1A&rです。\nマルチブロックの発電機の場合は、&aダイナモエネルギーハッチ&rによって出力が決まり、その値はツールチップに表示されています。\n\nまた、出力されるアンペア数は「機械からの要求」にも左右されます。電線につながっている各機械は、自分の内部容量を満たすために必要な分のアンペアを要求します。", + "quests.gregtech_energy.moving_amp.desc.2": "具体的な例を見てみましょう。\nあなたは&e8個のバッテリー&rを入れた&e8スロット蓄電器&rに、&e6台の機械&rを接続しています。\nこの蓄電器は各機械に&e1A&rずつ送るので、合計で&e6A&rの電流を流そうとします。\n電力は、最も近い機械から順番に送られ、最後の機械が一番遅く受け取ります。\nこの場合、もしケーブルが&c4A&rまでしか対応していなければ、ケーブルは&c焼き切れてしまいます&r。この場合は&a8A対応ケーブル&rを使う必要があります。\n\n&bヒント:&r一番最初の機械に接続するケーブルは&e8A&rを扱えるものが必要ですが、最後の機械の部分では&e1A&rしか流れないので、細いケーブルでも問題なかったりします。\n&c⚠ 注意:&rただし、あとから機械を追加すると、ケーブルが許容量を超えて焼損するおそれがあります。", "quests.gregtech_energy.moving_amp.task": "I got it", - "quests.gregtech_energy.produce_energy.title": "Producing Energy", - "quests.gregtech_energy.produce_energy.subtitle": "Gas or Oil?", - "quests.gregtech_energy.produce_energy.desc": "It’s all about making energy, right? This part won’t be the most complicated one, since &eproducing energy&r in &2TerraFirmaGreg&r works pretty much like in &5standard GregTech&r.\n\nYou’ll learn about the various &6methods to generate energy&r, as well as some of the &afuels&r you can use to get the most out of your setup.", + "quests.gregtech_energy.produce_energy.title": "発電について", + "quests.gregtech_energy.produce_energy.subtitle": "電力の生産", + "quests.gregtech_energy.produce_energy.desc": "結局のところ、電力がなければ何もできません。&2TerraFirmaGreg&rでの&e発電方法&rは、&5標準のGregTech&rとほとんど同じ仕組みなので、そこまで難しくはありません。\n\nクエストのこちら側では、さまざまな&6発電方法&rや、そのための&a燃料&rについて学ぶことができます。", "quests.gregtech_energy.produce_energy.task": "Let's go!", - "quests.gregtech_energy.lv_generator.title": "Let's make energy", - "quests.gregtech_energy.lv_generator.subtitle": "Welcome to LV", - "quests.gregtech_energy.lv_generator.desc.1": "All of these are your basic &61-block Generators&r. They have a single &9input&r for their fuel — whether it’s &esteam&r, &agas&r, or &6liquid fuel&r — and they output exactly &e1A&r of power at their energy tier.\n\nThey’re simple to work with and will be your &ofirst source of power&r in &5GregTech&r until you reach the &dlarge multiblock generators&r later on.\n\nTo know what fuels can be used, &aEMI&r is your best friend — or you can check the &bquests on the left&r, where we’ve listed the most &aoptimal inputs&r. For now here are the <hree ways&r to begin your power production, all of them are &aviable&r the choice is yours.", - "quests.gregtech_energy.lv_generator.desc.2": "&e1. Steam Power&r:\n\nThis is the most classic method. You can convert the steam produced by your High Pressure Boilers into EU using a Steam Turbine.\n\nIt generates &e32 EU/t&r with &e64 mB/t&r of steam. If you follow this path, we highly recommend making a Large Bronze Boiler, which can easily be fueled with Lava, Creosote, or other burnable solid fuels (check JEI!).", - "quests.gregtech_energy.lv_generator.desc.3": "&e2. Rotational Power&r:\n\nYou can use Create's rotational power with an Alternator to generate RF, then convert it into EU using an &7LV&r Converter.\n\n(Check the Alternators quest in the LV Chapter for more details.)", - "quests.gregtech_energy.lv_generator.desc.4": "&e3. Biodiesel Power (TFG Exclusive)&r:\n\nCanola and Sunflowers can be processed into large amounts of Seed Oil. Combine it with TFC Alcohol to produce Biodiesel.\n\nThis method may seem more complex, but Biodiesel is extremely powerful during &7LV&r and &bMV&r tiers. It scales well into &5EV&r with &eCetane-Boosted Diesel&r later on.\n\nTo use Biodiesel, you’ll need a &7LV&r Combustion Generator. While it may be slightly more expensive, every mB of Biodiesel provides a high amount of EU, making it easier to transport and store.\n\nIt's your choice how you want to start your energy production.", + "quests.gregtech_energy.lv_generator.title": "発電を学ぼう!", + "quests.gregtech_energy.lv_generator.subtitle": "LVへようこそ", + "quests.gregtech_energy.lv_generator.desc.1": "これらは基本型の&61ブロック発電機&rです。それぞれ単一の燃料を&9入力&rすることができ、&e蒸気&r、&aガス&r、&6液体燃料&rなどを消費して、その電圧に対応する&e1A&r分の電力を出力します。\n\n&o大型発電機&rに到達するまでは、このようなシンプルな発電機を運用していくことになります。\n\nどの燃料が使えるかは&aEMI&rに載っています。あるいは左側の&bクエスト&rで、&aその時代におすすめな燃料&rを確認できます。とりあえずは、&l3つの方法&rで発電を始めることができ、どれを選んでも構いません。選択はあなた次第です。", + "quests.gregtech_energy.lv_generator.desc.2": "&e1.蒸気力&r:\n\n最も基本的で伝統的な発電方法です。ボイラーで作った蒸気を蒸気タービンに送ることで電力へと変換できます。&e64mB/t&rの蒸気から&e32EU/t&rを発電可能です。\n\nこの方式で進めるなら、ブロンズ製大型ボイラーを作るのがおすすめです。溶岩やクレオソート、その他の固体燃料などで簡単に動かせます(使える燃料はEMIで確認できます)。", + "quests.gregtech_energy.lv_generator.desc.3": "&e2.回転力&r:\n\nCreateの回転動力をオルタネーターに繋げてRFを発電し、それを&7LV&rエネルギー変換機でEUに変換できます。詳しくは、「LV」の章の中のオルタネーターのクエストをチェックしましょう。", + "quests.gregtech_energy.lv_generator.desc.4": "&e3.バイオディーゼル燃料(TFG限定)&r:\n\nキャノーラやヒマワリから大量の種油を作れます。これをアルコール類と調合することでバイオディーゼルを精製できます。\n\nこの方法は少し手間がかかりますが、バイオディーゼルは&7LV&r~&bMV&rまでの間で使える優秀な燃料になります。さらに、&eセタン添加ディーゼル&rにすれば&5EV&rまで使える非常に優秀な燃料になります。\n\n使用するには&7LV&r燃焼発電機が必要です。これはやや高価な代わりに1mBあたりの発電量が多く、燃料の運搬や保管がとても効率的です。どの発電方法から始めるかはあなたの自由です。", "quests.gregtech_energy.lv_generator.task": "Any LV Generator", - "quests.gregtech_energy.mv_generator.title": "The MV Generators", - "quests.gregtech_energy.mv_generator.subtitle": "Basically the same as the LV ones", - "quests.gregtech_energy.mv_generator.desc": "To run your &bMV&r machines, you will need to upgrade your power production.\n\nIf an &7LV&r Generator produces &e32 EU/t&r, the &bMV&r Generator runs at &e128 EU/t&r.\nIt consumes four times more fuel to produce four times more energy.\n\nTo better understand power generation at &bMV&r, we strongly recommend checking the dedicated quest in the &bMV&r chapter, located right at the beginning.\n\nAt &bMV&r, you also gain access to more options:\n\n- Oil-based fuels like Diesel or Light Fuel\n- Gas-based fuels like Benzene, LPG, or Methane\n- You can continue using Biodiesel or Steam, though you may need larger pipes (Aluminium, Steel, or Potin can handle it)\n\nExplore your options carefully to optimize your energy setup.", + "quests.gregtech_energy.mv_generator.title": "MVの発電方法", + "quests.gregtech_energy.mv_generator.subtitle": "LVと大体同じです", + "quests.gregtech_energy.mv_generator.desc": "&bMV&rの機械を動かすには、発電能力を強化する必要があります。&7LV&r発電機の発電力が&e32EU/t&rなのに対し、&bMV&r発電機は&e128EU/t&rを生み出します。つまり、燃料消費も発電量も4倍になります。\n\n&bMV&rでの発電について詳しく知りたい場合は、「&bMV&r」の章の冒頭のクエストを確認しましょう。\n\n&bMV&rでは利用できる燃料の幅も広がります。たとえば、ディーゼルや軽質燃料などのオイル系燃料、ベンゼン・LPG・メタンといったガス系燃料、そして引き続きバイオディーゼルや蒸気も使用可能です。ただし後者はより優秀なパイプ(アルミニウム、スチール、ポティン製など)が必要になるかもしれません。\n\n自分の設備に合った最適な発電方法を見つけましょう。", "quests.gregtech_energy.mv_generator.task": "Any MV Generator", - "quests.gregtech_energy.hv_single_generator.title": "The last single block generators", - "quests.gregtech_energy.hv_single_generator.subtitle": "Third time's the charm?", - "quests.gregtech_energy.hv_single_generator.desc": "If you don’t want to build the &eLarge Steam Turbine&r, these are your only options for &6HV&r.\n\nHowever, keep in mind that they won’t be available for &5EV&r and beyond.\n\nStill, they remain strong choices for energy generation at the &6HV&r tier.", + "quests.gregtech_energy.hv_single_generator.title": "最後の小型発電機", + "quests.gregtech_energy.hv_single_generator.subtitle": "3度目の正直", + "quests.gregtech_energy.hv_single_generator.desc": "&e大型蒸気タービン&rを作らない場合、&6HV&rではこれらの方法があります。&5EV&r以降で使っていくには厳しい性能ですが、&6HV&r帯での発電方法としては十分に頼れる選択肢です。", "quests.gregtech_energy.hv_single_generator.task": "Any HV Generator", - "quests.gregtech_energy.hv_fuel.title": "The obtainable HV fuels", - "quests.gregtech_energy.hv_fuel.subtitle": "To each their own", - "quests.gregtech_energy.hv_fuel.desc": "These are the three fuels respectively used for the Combustion, Steam, and Gas Generators.\n\nIf you have reached &6HV&r, we highly recommend choosing one of these three options.\n\nHowever, don’t worry—other fuels are not necessarily bad.\n\nYou should always pick the solution that works best for your setup and playstyle.", + "quests.gregtech_energy.hv_fuel.title": "最適なHV燃料", + "quests.gregtech_energy.hv_fuel.subtitle": "お好きなのをどうぞ", + "quests.gregtech_energy.hv_fuel.desc": "これら3種類の燃料は、それぞれ燃焼発電機・蒸気タービン発電機・ガスタービン発電機で使われます。\n\n&6HV&rでは、この中からどれかを選ぶのがおすすめです。もちろん、他の燃料が使えないわけではありません。自分の設備構成やプレイスタイルに合った最適な燃料を選びましょう。", "quests.gregtech_energy.hv_fuel.task": "I got it", - "quests.gregtech_energy.hv_choice.title": "Producing at HV", - "quests.gregtech_energy.hv_choice.subtitle": "Your choice", - "quests.gregtech_energy.hv_choice.desc": "By reaching &6HV&r, you now have access to your first multiblock for power generation.\n\nIt’s also considered the worst one… but it can still work well if you really want to use it.\n\nYour other option is to continue using the previous generators—you now have access to new and better fuels.", + "quests.gregtech_energy.hv_choice.title": "HVの発電方法", + "quests.gregtech_energy.hv_choice.subtitle": "選択次第", + "quests.gregtech_energy.hv_choice.desc": "&6HV&r帯に到達すると、発電用の初めてのマルチブロック構造を扱えるようになります。性能的には“最弱”と評されることもありますが、使い方次第ではしっかり働いてくれます。\n\nもう一つの選択肢として、これまでの発電機を使い続けるのもありです。今なら、より高性能な新しい燃料を使うことができます。", "quests.gregtech_energy.hv_choice.task": "I understand", - "quests.gregtech_energy.lpt.title": "The Large Plasma Turbine", - "quests.gregtech_energy.lpt.subtitle": "You need a Fusion Reactor", - "quests.gregtech_energy.lpt.desc.1": "The &6Large Plasma Turbine&r — also known as &dLPT&r — is a real powerhouse. Not in size (it’s fairly standard), but in capacity. You’ll need LuV Circuits, a LuV Machine Hull, and tons of Tungstensteel to craft it. It’s considered the most powerful generator in TerraFirmaGreg.\n\nSo, how does it work? You’ll need Plasma produced by a Fusion Reactor. That plasma is cooled down inside the LPT while generating energy. You will need an output hatch to get the cooled plasma out.", - "quests.gregtech_energy.lpt.desc.2": "By default, the LPT starts at &e16384 EU/t&r, which doesn't look like much, but that energy output &cdoubles&r with each increase in the Rotor Holder after &1IV&r.\n\nFor example, using a LuV Rotor Holder (x2) with an HSS-E Turbine Rotor (x2.8) will give you a staggering &e91750 EU/t&r — that’s about &a2.8A of LuV&r power!\n\nLike other turbines, it will slow down and stop if the Dynamo Hatch is full so you won't waste plasma, but unlike the others, this one doesn’t require a Muffler Hatch.", - "quests.gregtech_energy.lgt.title": "The Large Gas Turbine", - "quests.gregtech_energy.lgt.subtitle": "The fan favorite", - "quests.gregtech_energy.lgt.desc.1": "The &6Large Gas Turbine&r — also known as &dLGT&r — is one of your two main sources of energy production for most of the modpack. You’ll be able to build your first one at &5EV&r using Stainless Steel. It can carry you from &5EV&r all the way to &dLuV&r, until you feel ready to upgrade to the Large Plasma Turbine.\n\nThat said, many players can finish TerraFirmaGreg using only these turbines — provided you have a strong infrastructure to handle the gas demands of high-tier LGTs.\n\nTo build the LGT, you’ll need the usual Maintenance Hatch and Input Hatch. This turbine requires a Muffler Hatch, but it does not use an Output Hatch.", - "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the Rotor Holder after &5EV&r. For example, an LGT using an IV Rotor Holder (×2) with a HSS-E Turbine Rotor (280%% power) will produce:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a IV 4A Dynamo Hatch, since a normal Dynamo Hatch only handles 2A.\n\nJust so you know: the Efficiency stat of a Turbine Rotor increases the duration of the recipe, which means you get more power from each mB of fuel.\n\nLastly, if the Dynamo Hatch fills up, the LGT will automatically slow down and pause fuel usage, gradually reducing rotor speed until it resumes again. So you won't lose any fuel during a backup.", - "quests.gregtech_energy.lst.title": "The Large Steam Turbine", - "quests.gregtech_energy.lst.subtitle": "It... exists", - "quests.gregtech_energy.lst.desc.1": "The &6Large Steam Turbine&r — or &dLST&r — might not be the most common Large Generator in standard GregTech, but thanks to its early unlock at &6HV&r and the fact that Large Boilers are stronger in TerraFirmaGreg, it definitely has its place.\n\nTo make it work, you’ll need an Input Hatch for steam, an Output Hatch for Distilled Water, and of course a Maintenance Hatch. That’s all you need!\n\nLike all Large Turbines, you’ll place a Rotor Holder on one side and a Dynamo Hatch on the other to extract power. For the LST, the Rotor Holder must be at least &6HV-tier&r. Each Rotor Holder upgrade &cdoubles&r the output and increases efficiency slightly.", - "quests.gregtech_energy.lst.desc.2": "The base output of the LST is &e1024 EU/t&r. Let’s take an example: with an IV Rotor Holder (×4) and a HSS-E Turbine Rotor (280%% power), you’ll get:\n1024 × 4 × 2.8 = &e11,468.8 EU/t&r — that’s about &a1.4A of IV&r.\n\nTo extract that energy, you’d need either an IV Dynamo Hatch or an EV 16A Dynamo Hatch.\n\nWhile the LST isn’t the best turbine out there, if you have plenty of Large Boilers or access to a large amount of fuel, these steel-based, affordable turbines could absolutely serve you well.", - "quests.gregtech_energy.lce.title": "The Large Combustion Generator", - "quests.gregtech_energy.lce.subtitle": "Don't belive its GUI", - "quests.gregtech_energy.lce.desc.1": "These two &6bad boys&r are your champions if you’re into transforming Oils into fuels. The &6Large Combustion Engine&r (&dLCE&r) and the &5Extreme Combustion Engine&r (&dECE&r) share the same fuel types and even look alike — but they require different materials to build.\n\nTo craft the LCE, you’ll need to reach &5EV&r and unlock Titanium, along with at least one IV Circuit. For the ECE, it’ll be Tungstensteel and a LuV Circuit — something you should be able to build comfortably during &1IV&r.", - "quests.gregtech_energy.lce.desc.2": "Both machines require an Input Hatch for fuel and also Lubricant. For the &dECE&r, adding Oxygen or Liquid Oxygen will grant you a &cmassive energy boost&r. Check the tooltip of your fuel to compare how much extra energy you get with oxidizers — it's well worth it.\n\nKeep in mind: both engines need a Muffler Hatch.", - "quests.gregtech_energy.lpt_fuel.title": "Plasma Fuels", - "quests.gregtech_energy.lpt_fuel.subtitle": "It's very hot", - "quests.gregtech_energy.lpt_fuel.desc.1": "&6Large Plasma Turbines&r require high-tech fuels to run, and we recommend two strong options:\n\nThe first option becomes available with your MK1 Fusion Reactor: &eHelium Plasma&r.\nYou can create it using Deuterium and Tritium Gas — both gases are obtained by distilling &aLiquid Ender Air&r.\nThis fuel isn't the most powerful, but it's by far the easiest and earliest to produce.", - "quests.gregtech_energy.lpt_fuel.desc.2": "The second option requires a MK3 Fusion Reactor and allows you to generate &eNickel Plasma&r.\nTo make it, you’ll need Liquid Potassium — which you can extract from various ores — and the infamous Fluorine, which you should already know how to produce by now.\n\n⚠ Don’t forget: Helium Gas and Liquid Nickel should be collected and returned to your storage for future reuse.\n\nThese two fuels are your best candidates for powering the &dLPT&r, depending on how far you've progressed in your industrial madness.", + "quests.gregtech_energy.lpt.title": "大型プラズマタービン", + "quests.gregtech_energy.lpt.subtitle": "核融合炉もセットで", + "quests.gregtech_energy.lpt.desc.1": "&6大型プラズマタービン&r(通称:&dLPT&r)は、その名にふさわしい超高出力発電機です。サイズは標準的ですが、発電能力は群を抜いています。\n作成にはLuV回路、LuVマシン筐体、そして大量のタングステンスチールが必要です。\nこれはTerraFirmaGregの中でも最強クラスの発電機といえるでしょう。\n\n仕組みはシンプルで、核融合炉で生成されたプラズマを利用します。このプラズマをLPT内で冷却する過程でエネルギーを生み出し、冷却後のプラズマは搬出ハッチから外に出す必要があります。", + "quests.gregtech_energy.lpt.desc.2": "初期状態のLPTは&e16384EU/t&rの出力からスタートします。\n\n一見控えめですが、&1IV&r帯以降でローターホルダーをアップグレードするたびに出力が&c倍々に&r増えていきます。\n\n例えば、LuVローターホルダー(x2)にHSS-Eタービンローター(x2.8)を組み合わせると、なんと&e91750EU/t&r――およそ&aLuVでの2.8A&rもの電力を生み出せます。\n\n他のタービンと同じく、ダイナモハッチが満杯になると自動で停止してプラズマの無駄を防ぎますが、このタービンは他と違ってマフラーハッチを必要としません。", + "quests.gregtech_energy.lgt.title": "大型ガスタービン", + "quests.gregtech_energy.lgt.subtitle": "発電機の定番", + "quests.gregtech_energy.lgt.desc.1": "&6大型ガスタービン&r(通称:&dLGT&r)は、主要な二大発電手段の一つです。\n\n使えるのは&5EV&rに入ってからです。\nこのタービンは&5EV&rから&dLuV&rまで使える発電機で、大型プラズマタービンへを使うまでの頼りになります。\n\n実際、このタービンだけでTerraFirmaGregをクリアすることもできなくはないです。ただし、上位のLGTのガス消費に耐えられるしっかりしたインフラが必要です。\n\nLGTのためには、メンテナンスハッチと搬入ハッチ、マフラーハッチが必要です。搬出ハッチは不要です。", + "quests.gregtech_energy.lgt.desc.2": "デフォルトの出力は&e4096EU/t&rであり、&5EV&r以降にローターホルダーをアップグレードするごとに倍増していきます。\n\nたとえば、IVローターホルダー(×2)とHSS-E製タービンローター(タービンパワー280%)を使用するLGTは、次のように発電します:\n4096×2×2.8=&e22,937.6EU/t&r―これは&aIVでの2.8A&rに相当します。\n\nそのエネルギーを完全に取り出すためには、少なくともIV4Aダイナモハッチが必要です。なお、通常のダイナモハッチでは2Aまでしか扱えません。\n\nちなみに、タービンローターにあるタービン効率ステータスはレシピの稼働時間を延ばす効果があります。、つまり1mBあたりの燃料からより多くの電力を生産できるようになります。\n\n最後に、ダイナモハッチが満タンになると、LGTは自動的に減速し燃料消費を一時停止します。ローターの回転速度は徐々に低下し、再び余裕ができると再開します。そのため、詰まりが発生しても燃料を無駄にすることはありません。", + "quests.gregtech_energy.lst.title": "大型蒸気タービン", + "quests.gregtech_energy.lst.subtitle": "常軌を逸しない発電", + "quests.gregtech_energy.lst.desc.1": "&6大型蒸気タービン&r(略して&dLST&r)は、通常のGregTechではあまり見かけないタイプの大型発電機です。しかし、&6HV&r段階で早い段階から使えることや、TerraFirmaGregでは大型ボイラーが特に強力であることから、十分に活躍の場があります。\n\n動かすには、蒸気を入れる搬入ハッチ、蒸留水を出す搬出ハッチ、そしてメンテナンスハッチが必要です。\n\n他の大型タービンと同様に、片面にローターホルダー、もう片面にダイナモハッチを設置して電力を出力します。\n\nLSTの場合、ローターホルダーは最低でも&6HV-tier&rでなければなりません。ローターホルダーをアップグレードするたびに、出力が&c2倍&rになり、効率も少し上がります。", + "quests.gregtech_energy.lst.desc.2": "LSTの基本出力は&e1024EU/t&rです。たとえば、IVローターホルダー(出力×4)とHSS-Eタービンローター(出力280%)を組み合わせると、\n1024×4×2.8=&e11,468.8EU/t&r、およそ&a1.4AのIV&r相当の電力を得られます。\n\nこの電力を取り出すには、IV発電ハッチかEVの16A発電ハッチが必要です。\n\nLSTは最適な発電手段ではありませんが、大型ボイラーを複数使っていたり、燃料を豊富に確保できる環境であれば、このタービンは十分に活躍してくれるでしょう。", + "quests.gregtech_energy.lce.title": "大型燃焼エンジン", + "quests.gregtech_energy.lce.subtitle": "GUIを信じるな", + "quests.gregtech_energy.lce.desc.1": "これら&6大型エンジン&rたちは、石油の蒸留を愛してやまない方にとって頼れる相棒になります。&5強化型大型燃焼エンジン&r(通称:&dECE&r)は&6大型燃焼エンジン&r(通称:&dLCE&r)の強化版です。使う燃料も見た目もほとんど同じですが、作成に使う素材が違います。\n\nLCEを作るには、&5EV&r段階に到達してチタンとEV回路を用意する必要があります。ECEを作るには、タングステンスチールとLuV回路が必要で、これは&1IV&r段階の頃には十分に作れるようになっているはずです。", + "quests.gregtech_energy.lce.desc.2": "どちらのエンジンも、燃料と潤滑油を入れるための搬入ハッチが必要です。\n&d大型エンジン&rは、酸素または液体酸素を供給すると、&c燃料効率が大幅に向上&rします。ツールチップを確認して、酸素を使った場合にどれくらいエネルギーが増えるかを確認してみましょう。\n\n備考:両方のエンジンにはマフラーハッチが必要です。", + "quests.gregtech_energy.lpt_fuel.title": "プラズマ燃料", + "quests.gregtech_energy.lpt_fuel.subtitle": "温かみのある発電", + "quests.gregtech_energy.lpt_fuel.desc.1": "&6大型プラズマタービン&rを動かすには特殊な燃料が必要です。おすすめの強力な燃料は2種類あります。\n\n一つ目は、核融合炉MK1でも作れる燃料である&eヘリウムプラズマ&rです。\n重水素ガスと三重水素ガスから作ることができ、どちらも&aエンドの液体空気&rを蒸留することで手に入ります。\n発電力としてはそれなりですが、最も簡単で早く作れる燃料です。", + "quests.gregtech_energy.lpt_fuel.desc.2": "二つ目の選択肢は、核融合炉MK3で使える&eニッケルプラズマ&rです。\n作るには液体カリウムが必要で、これは様々な鉱石から取り出せます。また、悪名高いフッ素も必要ですが、今さら困りはしないでしょう。\n\n⚠注意:使用後に出たヘリウムガスと液体ニッケルは回収して、将来の燃料用に保管しておきましょう。\n\nこの2種類の燃料は、あなたの進行具合に応じて、&d大型プラズマタービン&rを動かすのに使ってください。", "quests.gregtech_energy.lpt_fuel.task": "I don't want to make a bucket of Plasma", - "quests.gregtech_energy.lgt_fuel.title": "Gas Fuels", - "quests.gregtech_energy.lgt_fuel.subtitle": "Everyone's favorite", - "quests.gregtech_energy.lgt_fuel.desc.1": "When we speak about gas fuels, we’re really talking about just one — &eNitrobenzene&r.\n\nYou’ll be able to produce it once you reach &6HV&r, and we &astrongly recommend it&r if you’re planning to use the Large Gas Turbine.\n\nBefore reaching Nitrobenzene, &eBenzene&r is a solid option to get started. You can obtain it from a tree farm or by processing Heavy Oil, if you’re lucky enough to have some nearby.", - "quests.gregtech_energy.lgt_fuel.desc.2": "Making Nitrobenzene involves several steps — until you craft your first Large Chemical Reactor (LCR), which will let you skip many sub-steps and simplify the process.\n\nIt’s nothing too complicated: combine Hydrogen, Nitrogen, and Oxygen to make &eNitric Acid&r in infinite quantities. As for Sulfuric Acid, you probably already know it’s just Sulfur and Water — right?\n\nOnce you get this chain going, Nitrobenzene becomes one of the most powerful fuels for gas burning.", + "quests.gregtech_energy.lgt_fuel.title": "ガス燃料", + "quests.gregtech_energy.lgt_fuel.subtitle": "みんな大好き", + "quests.gregtech_energy.lgt_fuel.desc.1": "ガス燃料といえば、これでしょう。その名も&eニトロベンゼン&r。\n\n&6HV&rに到達すれば作れるようになります。&a大型ガスタービンを運用するならぜひこれを使いましょう&r。\n\nニトロベンゼンまでは、&eベンゼン&rが便利です。木から精製するか、重油を加工して作ることができます。", + "quests.gregtech_energy.lgt_fuel.desc.2": "ニトロベンゼンを作るにはいくつか工程があります。最初に&6大型化学反応炉&r(LCR)を組めば、多くの中間工程を省いて作業がずっと簡単になります。\n\n流れ自体は難しくありません。水素・窒素・酸素を組み合わせれば&e硝酸&rをいくらでも作れます。硫酸はご存知の通り硫黄と水から作れます。\n\nこの生産ラインを回せるようになると、ニトロベンゼンはガス燃料としてとても役に立ってくれることでしょう。", "quests.gregtech_energy.lgt_fuel.task": "Gas in a bucket?", - "quests.gregtech_energy.lst_fuel.title": "This is Steam", - "quests.gregtech_energy.lst_fuel.subtitle": "Not much of a choice", - "quests.gregtech_energy.lst_fuel.desc": "Steam isn’t complicated — just boil water.\n\nTo do it efficiently, we recommend using &6Large Boilers&r. There's four versions: one each for &8ULV&r, &bMV&r, &5EV&r, and &1IV&r. Each tier provides a strong increase in steam output.\n\nHowever, be aware: the scaling of the &dLarge Steam Turbine&r with these boilers is not the best compared to other power generation methods.\n\nMost players will skip the Titanium and Tungstensteel Boilers — they exist if you want them, but aren’t worth building. Steam just doesn't scale very well!\n\nAs a reminder: &e2 mB&r of steam = &e1 EU&r.", + "quests.gregtech_energy.lst_fuel.title": "蒸気", + "quests.gregtech_energy.lst_fuel.subtitle": "ある意味水力発電", + "quests.gregtech_energy.lst_fuel.desc": "蒸気を作るのは簡単です。ただ水を沸かすだけですから。\n\n大量の蒸気を生産するなら&6大型ボイラー&rの使用をおすすめします。バージョンは4種類で、それぞれ&8ULV&r、&bMV&r、&5EV&r、&1IV&r用のものがあります。ティアが上がるごとに蒸気の生産量も大幅に増えます。\n\n注意:これらのボイラーを使ったとしても、&d大型蒸気タービン&rの性能は他の発電方法ほどではありません。\n\nほとんどのプレイヤーはチタンやタングステンスチールボイラーを使うことはありません。作れはしますが、その価値がほとんどありません。蒸気は単純ですが、性能が頭打ちになりがちです。\n\n参考までに:&e2mB&rの蒸気=&e1EU&r。", "quests.gregtech_energy.lst_fuel.task": "I will switch to a denser fuel", - "quests.gregtech_energy.lce_fuel.title": "Liquid Fuel", - "quests.gregtech_energy.lce_fuel.subtitle": "The polluter's favourite", - "quests.gregtech_energy.lce_fuel.desc.1": "All of these fuels are used for &6Combustion Generators&r — ranked here from the least efficient to the best.\n\nDuring &bMV&r, we recommend starting with Diesel or Biodiesel. Later on, you can upgrade to Cetane-Boosted Diesel at &6HV&r by mixing it with Nitrogen, Hydrogen, and Oxygen.", - "quests.gregtech_energy.lce_fuel.desc.2": "Once you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to Gasoline and High Octane Gasoline. Don’t attempt this too early — oils need to be distilled properly, and doing it with a regular Distillery is not efficient at all.\n\nTo make this work, you'll need a combination of oil distillation and some organic compound processing. Thankfully, a Pyrolyse Oven and a Distillation Tower will handle it all smoothly.\n\nIf you manage a steady supply of High Octane Gasoline, you should be able to finish the entire modpack running only on Combustion Generators.", + "quests.gregtech_energy.lce_fuel.title": "液体燃料", + "quests.gregtech_energy.lce_fuel.subtitle": "環境破壊を楽しもう", + "quests.gregtech_energy.lce_fuel.desc.1": "これらの液体燃料は&6燃焼発電機&rで使えます。弱いものから順に並べました。\n\n&bMV&rの段階では、まずディーゼルかバイオディーゼルを使うのがおすすめです。\n&6HV&rに進んだら、窒素・水素・酸素を混ぜてセタン添加ディーゼルにアップグレードできます。", + "quests.gregtech_energy.lce_fuel.desc.2": "&5EV&rに到達して&6蒸留塔&rを本格的に運用し始めたら、ガソリンまたはハイオクガソリンに切り替えるタイミングです。\n早とちりしないでください。原油はきちんと蒸留する必要があり、通常の蒸留機では効率が非常に悪いです。\n\n作るには、原油の蒸留といくつかの有機化合物処理を組み合わせる必要があります。熱分解炉と蒸留塔を使えばスムーズに処理できます。\n\nハイオクガソリンを安定供給できれば、燃焼発電機だけでクリアすることも夢ではありません。", "quests.gregtech_energy.lce_fuel.task": "I got enough", - "quests.gregtech_energy.large_solar.subtitle": "Huge Easy Power", - "quests.gregtech_energy.large_solar.desc.1": "The Large Solar Array MK I will be your go-to solution if you want to set up a larger base on the Moon.\n\nIt’s especially useful for &bAE2&r processing lines, and it can also power your Bedrock Miners.\n\nDon’t forget that you can use the GregTech Terminal item to build the multiblock instantly by sneak-right-clicking on the controller.\n\nCheck the available recipes by simply pressing &eU&r on the controller to see your options.", - "quests.gregtech_energy.large_solar.desc.2": "&6The Large Solar Array MK I&r comes with &92 different recipes&r:\n\n&9• Passive Mode&r —\nThis mode slowly consumes &dPhotovoltaic Cells&r, meaning it's fine when you're actively setting up your base if you throw a stack in there, but won't last forever. It will only generate &62A HV&r during the day — enough for basic systems, but far from optimal.\n\n&9• Active Mode&r —\nIf you want to &amaximize the energy output&r, you’ll need to manage coolant. This will require your Moon Base to be more built up, but the reward is you get &52A EV&r instead!\n\nThere's also MK II and MK III versions for higher tiers, requiring more advanced coolants.", + "quests.gregtech_energy.large_solar.subtitle": "大規模太陽光発電", + "quests.gregtech_energy.large_solar.desc.1": "大型ソーラーアレイMK_Iは、月面に大規模な基地を作るときの頼れる電力源です。\n\n特に&bAE2&rのラインの稼働やMoon_dust_Harvesterの安定稼働に便利です。\n\nGregTechのターミナルを持って、コントローラーをスニーク右クリックするだけでマルチブロックを瞬時に組み立てられます。\n\nまた、コントローラーで&eU&rを押すと、EMIでどのような構成か簡単に確認できます。", + "quests.gregtech_energy.large_solar.desc.2": "&6大型ソーラーアレイMK_I&rには&92種類の動作&rがあります:\n\n&9•パッシブモード&r—\nこのモードでは&d太陽電池&rをゆっくり消費します。補充を欠かさなければ問題ありませんが、無限には使えません。昼の間だけ&6HVでの2A&r分の電力を生成します。基本的には十分ですが、最大効率ではありません。\n\n&9•アクティブモード&r—\nこのモードではエネルギー出力を最大化できますが、冷却材の管理が必要です。安定稼働には準備が要りますが、その代わりに&5EVでの2A&r分の電力を生成します!\n\nさらに、上位版のMK_IIとMK_IIIもあり、より高度な冷却材が必要になります。", "quests.gregtech_energy.large_solar_t2.subtitle": "Even stronger", "quests.gregtech_energy.large_solar_t2.desc.1": "If you're building an &dAE2 base on the Moon&r, chances are you'll need a lot more energy. That's where the &6Large Solar Array MK II&r comes in!\n\nJust like the MK I, it offers 2 different recipes — but this time, neither is fully passive.", "quests.gregtech_energy.large_solar_t2.desc.2": "Both &bSolar Coolant&r and &bCryogenized Fluix&r are fully renewable on the Moon. In fact, the Solar Coolant loop recycles its &eFluorine&r and &eChlorine&r inputs — meaning you only need a steady supply of:\n\n• Helium-3 — can be extracted with a &aFluid Drill Rig&r\n• Water — collect it passively with an &aAqueous Accumulator&r\n\n&cPower emergency fallback:&r\nIf your fluid supply is interrupted, the LSA MK II can still operate using Photovoltaic Cells.\nThis fallback method keeps your base online while you troubleshoot the issue.\n\nA must-have for any serious off-world AE2 infrastructure.", @@ -2102,8 +2102,8 @@ "quests.gregtech_energy.large_solar_t3.desc": "The final tier is the &6Large Solar Array MK III&r. It works the same way as the MK II, but its new Solar Coolant requires the addition of &aArgon&r and &bSilica Aerogel&r.\n\nYou should already be familiar with &bSilica Aerogel&r — you used it in your &dRocket Tier 3&r.\nHowever, it's much harder to produce on the Moon, and you may need a constant supply shipped from &aEarth&r.\n\nWe’ll let you decide how to handle this logistical challenge — whether it’s through automation, or interplanetary transport, the choice is yours.\n\n&eHigh-tech energy&r demands &chigh-level infrastructure&r. Plan wisely!", "quests.gregtech_energy.solar_panel.subtitle": "Light in the Dark", "quests.gregtech_energy.solar_panel.desc": "The Solar Panel will be your first source of power on the Moon.\n\nThey produce 32 EU/t during daytime, but keep in mind they actually generate RF, so you’ll need a Converter to transform it into EU.\n\nYou can use one &bMV Converter&r for up to 2 Solar Panels or a &6HV Converter&r for up to 4 Solar Panels.", - "quests.gregtech_energy.storage.title": "Storing Energy", - "quests.gregtech_energy.storage.subtitle": "Gotta put all that juice somewhere", + "quests.gregtech_energy.storage.title": "蓄電について", + "quests.gregtech_energy.storage.subtitle": "電力の貯蓄", "quests.gregtech_energy.storage.desc": "Storing your energy is one of the most fundamental pillars of the power system in GregTech.\n\nWhy is that? Simply because even the strongest generators won't be enough to keep up when you start a big craft — especially in late game.\n\nTo deal with this, GregTech provides multiple solutions to store astronomical amounts of EU. These storages act as a buffer between your energy production and the machines that drain it during complex operations.\n\nWhether you’re preparing for a Fusion Reactor, an LCR, or any HV-IV scale crafting chain, you’ll need that extra backup of energy to keep everything stable.\n\nDon’t underestimate the power of a good battery — it may just be the thing that saves your base from a blackout during critical moments.", "quests.gregtech_energy.storage.task": "I understand", "quests.gregtech_energy.tank.title": "Storing Fuel", @@ -2125,8 +2125,8 @@ "quests.gregtech_energy.batteries.subtitle": "Sci-Fi power storage", "quests.gregtech_energy.batteries.desc": "In &7LV&r and &bMV&r, you probably built your first batteries made of Sodium or Lithium.\n\nBut let’s be real — these are the weakest batteries GregTech has to offer.\n\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\nThey are much more potent, store way more energy, and can help you push your factory to the next tier.\n\nAre they more expensive? Of course. But let’s be real...\nPower is Power. Who’s counting?", "quests.gregtech_energy.batteries.task": "Any crystal battery", - "quests.gregtech_energy.spending_energy.title": "Spending Energy", - "quests.gregtech_energy.spending_energy.subtitle": "Oh you will spend energy", + "quests.gregtech_energy.spending_energy.title": "電力運用について", + "quests.gregtech_energy.spending_energy.subtitle": "電力の消費", "quests.gregtech_energy.spending_energy.desc.1": "How to spend all this energy?\n\nUse your machines! Sounds simple, right?\nWell... not exactly. There are many small details that you should learn to help you on your quest to completing &3TerraFirmaGreg&r.\n\nBasic Machines:\n- These machines are simple.\n- They can request up to &a2A&r each.\n- If you input a higher tier of energy... &4\uD83D\uDCA5 they explode&r.\n\nGregTech Multiblocks:\nNow things get interesting. Multiblocks offer more flexibility and power — &eif&r you understand how they work.", "quests.gregtech_energy.spending_energy.desc.2": "Standard Mechanics:\n- If a multiblock can accept two Energy Hatches (most of them), this allows you to use higher-tier recipes than the machine’s base tier.\n\nExample:\nIf you're using a Large Mixing Vessel and you install two IV Energy Hatches, it will be able to process &cLuV&r-tier Mixer recipes.\n\nThis is one of the key benefits of multiblocks over single-block machines — to upgrade them to the next tier, you only have to swap out their energy hatches instead of replacing the whole machine.", "quests.gregtech_energy.spending_energy.desc.3": "Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1A!\n\nYou can still use a 4A or 16A Energy Hatch. This will allow &bOverclocking&r of recipes but not the recipe tier.\n\nExample:\nThe Large Circuit Assembler only allows one Energy Hatch. If you install a 4A IV Energy Hatch, you will be able to overclock all IV and lower recipes.\n\nHowever, it cannot craft LuV-tier recipes because the machine doesn't support multiple hatches. That limitation is intentional, to prevent skipping the GregTech progression system.", @@ -2367,267 +2367,267 @@ "quests.high_voltage.final_dust.title": "Infinite Dusts", "quests.high_voltage.final_dust.subtitle": "Finally infinite resources", "quests.high_voltage.final_dust.desc": "This is all the &cinfinite resources&r you can obtain on the &7Moon&r before unlocking the more advanced processing available on &eVenus&r.\n\nWith these, you should have everything you need to keep progressing through &dGregTech&r — especially to secure the &amaintenance&r of your Moon Base.\n\nThese resources are essential for:\n• Crafting &dAE2 components&r\n• Producing an &cinfinite&r supply of &6Railgun Ammo&r\n\nPassive automation is now within your reach — take the step and make it happen!", - "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", - "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.", - "quests.low_voltage.lv_machine_casing.title": "LV Machine Casing for Create?", - "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_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.", - "quests.low_voltage.lv_age_progression.title": "LV Age Progression", - "quests.low_voltage.lv_age_progression.subtitle": "Too many options, too little time!", - "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", + "quests.low_voltage": "&7LV&r-低電圧", + "quests.low_voltage.subtitle": "どんな元素も無駄にしない優しい工業mod", + "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がついに完成します!\nもしもまだ&4レッドスチール&rを作っていないなら、ここで必要になります。\nですが安心してください。この先に進むほどレッドスチールの作成は&6楽になっていきます&r。\n\nGregTechでは、このように&6先に進むほど、より効率の良い生産手段が解放されていきます!&r\n\nまずは3〜4個ほどマシン外装を用意しましょう。", + "quests.low_voltage.lv_machine_hull.desc.2": "新しいティアに到達したとする基準は人それぞれです。そのティアの&6回路&rを作った時だとする人もいれば、&6筐体&rや&6エネルギーハッチ&rを完成させた時だと考える人もいます。\nあなたの中でどれを基準にしても構いませんが、クエストではわかりやすくするため、&6筐体&rを基準とします。", + "quests.low_voltage.lv_machine_casing.title": "CreateでGregを進める?", + "quests.low_voltage.lv_machine_casing.subtitle": "選択肢は多い方がいいですよね", + "quests.low_voltage.lv_machine_casing.desc": "LV時代への移行を少しでも楽にするために、&5TFG&rでは一部の&6GT&r機械の代わりに&6Create&rの機械を使うことができます。\n\n&6前の章&rで紹介したとおり、GregTechの機械に代わるものがある場合は、クエスト内でどちらを使うか選べるようになっています。", + "quests.low_voltage.lv_motor.title": "初めてのモーター", + "quests.low_voltage.lv_motor.subtitle": "LVの眷属たち", + "quests.low_voltage.lv_motor.desc": "レシピが複雑だと感じてきたときは、&2EMIが心強い味方&rになってくれます。\nレシピの右下にある四角が4つ並んだボタンをクリックすれば、レシピツリーが表示されます。また、クラフトに必要なアイテムをお気に入りに追加しておくこともできます!\n\n本題に戻ります。&7LV&r時代に備えて、&aLV電動モーター&rを6個用意しておいてください。これは、&7LV&rを本格的に進めるために必要な最低限の数です。", + "quests.low_voltage.lv_age_progression.title": "LV時代の進め方", + "quests.low_voltage.lv_age_progression.subtitle": "必要なのは根気と時間です", + "quests.low_voltage.lv_age_progression.desc": "&7LV&rからは、多くの種類の機械をクラフトしていく必要があります!\nもし「どこから手を付ければいいか分からない」と感じたら、後のクエストのアイテムを一つ選んで、そこから逆算して目標を立ててみましょう。\n\nということで、まずは一旦&5核融合炉コントローラー&rを目標にしてみますか。\nさすがに遠すぎました?では、もう少し現実的な目標として、&7LV&rの最終目標とも言える&3工業用電気炉&r(通称:EBF)を目指してみましょう。\n\nEBFは、現時点では&a非常にコストが高い&rため、まずは部品や素材を効率よく生産できる機械の開発から始めるのがおすすめです。\n\nLVでの、そのほかの重要な目標としては、&3基本型組立機&rの作成、最初の&aMV回路&rの作成、&b基本型回路作成機&rの作成などがあります。", "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", - "quests.low_voltage.lv_steam_turbine.title": "Electricity Generation", - "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 Steam = 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.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.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.", - "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.lv_polariser.title": "Basic Polariser", - "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 chapte by clicking here", + "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では数少ない実用的な発電機の一つです。\n&2将来的には&r、天然ガスや石油を利用した、より高度な発電方法も使えるようになります。\n\nスチームを供給すると、この発電機は&d蒸気2mbにつき1EU&rの比率で発電してくれます。", + "quests.low_voltage.lv_steam_turbine.desc.2": "&3蒸気タービン&rを1基だけ使う場合は、電力の輸送は&a1倍錫ケーブル&rを使えば問題ありません。\nただし、&32基の蒸気タービン&rに増設したときは、&a2倍錫ケーブル&rを使う必要があります。そうしないと、ケーブルが&c過電流により焼けてしまう&rかもしれません\n\nこれは&9アンペア(電流量)&rという仕組みが関係していますが、そのあたりの詳しい説明はもう少し後で行います。\nまずは安心してプレイを楽しんでください!", + "quests.low_voltage.lbb.title": "ブロンズ製大型ボイラー", + "quests.low_voltage.lbb.subtitle": "蒸気時代が終わるとどうなる? 知らんのか 蒸気時代が始まる", + "quests.low_voltage.lbb.desc.1": "&3ブロンズ製大型ボイラー&r(通称:LBB)は、今まで使ってきた小型のボイラーの発展型であり、大量の蒸気を生産するマルチブロックの機械です。固体燃料・液体燃料のどちらでも稼働します。\n\n安定してこれを稼働させることができれば、MVまでは通用するでしょう。\n\n小型ボイラーと同じく、水の供給が止まらないように注意しましょう。水切れを起こすと&c爆発&rしますよ!", + "quests.low_voltage.lbb.desc.2": "完全に温度が上がりきった&3LBB&rは、1ティックあたり800mbもの蒸気を生み出します。これは基本型蒸気タービン約12.5台分を動かすことができ、電力換算では400EU/tになります。\n当然ですが、燃料をかなり多く消費します。そのため、GUIから出力を25%にまで&9調整&rできるようになっており、この設定では1ティックあたり200mbの蒸気(電力換算&d100EU/t&r、基本型蒸気タービン3台分強)を生産します。\n\nこのボイラーは非常に高出力なので、EBF(工業用電気炉)を動かす準備が整ってから導入するのがおすすめです。", + "quests.low_voltage.lbb.desc.3": "燃料を確保する方法はいくつかあります。\nたとえば、ホースプーリーを使って地下の溶岩湖から溶岩を汲み上げる方法や、自動植林場を作って丸太をコークス炉に送り、木炭とクレオソートを生産する方法があります。\n地表近くにある大規模な石炭鉱脈を自動採掘機などで採掘し、コークスと大量のクレオソートにするというのもいいでしょう。これは木炭よりも効率的です。\n\nもし自動植林ルートを選ぶなら、LBBをフル稼働させるためにコークス炉を3基用意する必要があります。", + "quests.low_voltage.lv_polariser.title": "基本型磁化装置", + "quests.low_voltage.lv_polariser.subtitle": "回路いらずの機械", + "quests.low_voltage.lv_polariser.desc": "これは&7LV&rの中でも特に簡単に作れる機械です。&6レッドストーンを使わずに&r金属を「磁化」させることができます。\nモーターを大量に作成する際にレッドストーンを節約することができます。", + "quests.low_voltage.link_chapter.title": "電設って?", + "quests.low_voltage.link_chapter.subtitle": "ああ!", + "quests.low_voltage.link_chapter.desc": "Gregの電力についての情報はこちらに", "quests.low_voltage.link_chapter.task": "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", - "quests.low_voltage.lv_combuston_gen.desc": "The &7LV Combustion Generator&r may be a bit more expensive to craft compared to other generators, but its fuels carry a lot of energy. This makes it easier to move, or if you need to power a generator far from your base, a drum filled with &2Bio Diesel&r can transport a large amount of EU.\n\nLike other &7LV Generators&r, it produces &a32 EU/t&r.", - "quests.low_voltage.lv_biodiesel.title": "Bio Diesel", - "quests.low_voltage.lv_biodiesel.subtitle": "Your first combustion fuel", - "quests.low_voltage.lv_biodiesel.desc": "You will need a &7LV Chemical Reactor&r to make &2Bio Diesel&r. Simply mix your &aSeed Oil&r with any &eAlcohol&r from &6TFC&r. Other recipes using &dEthanol&r will require you to reach &bMV&r.", - "quests.low_voltage.lv_seed_oil.title": "Seed Oil", - "quests.low_voltage.lv_seed_oil.subtitle": "The Real Power of Plants", - "quests.low_voltage.lv_seed_oil.desc": "You have two options to produce &aSeed Oil&r: either by using the &9Vacuum Chamber&r or, if you already have it, the &7LV Extractor&r will do a great job.\n\nAlso, note that &aSeed Oil&r isn't only used for making &2Bio Diesel&r.\n\nIt can also be processed into &6Lubricant&r or sent directly to your &cBlaze Burner&r for fuel.", - "quests.low_voltage.lv_seeds.title": "First, grab seeds", - "quests.low_voltage.lv_seeds.subtitle": "These are tall plants", - "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_combuston_gen.title": "燃焼発電機", + "quests.low_voltage.lv_combuston_gen.subtitle": "もっと燃えるがいいや!", + "quests.low_voltage.lv_combuston_gen.desc": "&7基本型燃焼発電機&rは、他の発電機よりも少し高価ですが、燃料の持つエネルギー量(燃料価といいます)が多いため、とても効率の良い発電機です。\n燃料が持ち運びやすく、コンパクトなため、拠点の外で発電機を稼働させるときなどにも便利です。たとえば、&2バイオディーゼル&rでいっぱいになったドラム缶を一緒にもっていけば、簡単に発電することができます。\n\n出力は他の&7LV発電機&rと同じく、&a32EU/t&rです。", + "quests.low_voltage.lv_biodiesel.title": "バイオディーゼル", + "quests.low_voltage.lv_biodiesel.subtitle": "初期の液体燃料", + "quests.low_voltage.lv_biodiesel.desc": "&2バイオディーゼル&rはミキサーでも作れますが、効率よく作るには&7LV化学反応器&rが必要です。\n何らかの&a油&rと&eアルコール&r類にわずかな水酸化ナトリウムを混ぜることで作ることができます。水酸化ナトリウムは海水の電解か灰汁の蒸留で精製できます。\nなお、&dエタノール&rを使うレシピは、&bMV&rの設備が必要になります。", + "quests.low_voltage.lv_seed_oil.title": "種油", + "quests.low_voltage.lv_seed_oil.subtitle": "植物の底力", + "quests.low_voltage.lv_seed_oil.desc": "&a種油&rを機械で作るなら、&9Vacuum_Chamber&rを使うか、&7抽出機&rを使うかの2通りです。\n\n&a種油&rは&2バイオディーゼル&rの原料になるだけではありません。&6潤滑油&rに加工したり、&cブレイズバーナー&rの燃料として直接使うこともできます。", + "quests.low_voltage.lv_seeds.title": "種油用の植物", + "quests.low_voltage.lv_seeds.subtitle": "種だらけの場所", + "quests.low_voltage.lv_seeds.desc": "キャノーラまたはヒマワリを見つけたら、採取して栽培を始めましょう。これらは&a種油&r作りに最適な植物です。\n\nキャノーラは寒さに強く、ヒマワリは暖かい環境を好みます。もし農作業にあまり時間をかけたくない場合は、電気温室を利用することもできます。", "quests.low_voltage.lv_seeds.task": "Canola or Sunflowers", - "quests.low_voltage.lv_turbo_charge.title": "Turbo Charger", - "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.title": "高速充電器", + "quests.low_voltage.lv_turbo_charge.subtitle": "急速充電対応!", + "quests.low_voltage.lv_turbo_charge.desc": "&oこのクエストは進行に必須ではありません。快適な充電に興味のある人は参考にしてください。&r\n\n&3高速充電器&rは、&9ドリル&rなどの&6電力(RFやEU)&rを使うツールを非常に高速で充電できる装置です。\n\n1つのアイテムにつき最大4アンペアで充電することができるため、&3蓄電器&rなどの&6約2倍のスピード&rで充電できます。\nただし、蓄めた電力は、他の機械を動かすためには使えません!\n\n&eどの充電器でも&rこのクエストは達成できます。", "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.title": "魚釣り機", + "quests.low_voltage.lv_fisher.subtitle": "TFC対応も抜群!", + "quests.low_voltage.lv_fisher.desc": "&oこのクエストは進行に必須ではありません。快適な食料供給に興味のある人は参考にしてください。&r\n\n&3魚釣り機&rは、水の上で稼働させると自動的に魚を釣ってくれる機械です。具体的には真下に5×5の水域がないと動作しません。\n出てくる内容は通常の釣りと同じで、1回の動作ごとに糸を1本と、そのTierに応じたEU(&7LV&rなら32EU)を消費します。使い道としてはそれくらいです。\n\n魚からは&e魚油&rを抽出することができるため、&6バイオディーゼル&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.title": "破砕機", + "quests.low_voltage.lv_rock_crusher.subtitle": "CobbleForDays", + "quests.low_voltage.lv_rock_crusher.desc.1": "&oこのクエストは進行に必須ではありません。快適な石材集めに興味のある人は参考にしてください。\n\n&3破砕機&rは、一ブロックの電動丸石製造機です。どんな岩や丸石でも一つ投入すれば、それを複製して増やすことができます。レンガを大量に作りたいときなどにとても便利です!\n\n&eどの破砕機でも&rこのクエストは達成できます。", + "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3余談:&r&o黒曜石を作るのにレッドストーンが必要な理由は、大昔のMinecraftのバグ「&7MC-4239&f」に由来しているんだって。\n当時は、丸石製造機で丸石ができる場所にレッドストーンを置くと、代わりに黒曜石ができたらしいよ!。\nこのバグはMinecraft1.8のスナップショット「14w25b」で修正されたから、もう9年以上前のバグなんだね。", "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.", + "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は、Thermalのやつ(水生成機)とは少し違って水以外のいくつかの液体も生成することができます。いわば液体版の&3破砕機&rのような機械です。\n対応する液体を両隣に配置して回路を設定することで、その液体を自動的に増やし続けます。\nメカニカルポンプに似ていますが、これは電力で動くため、他の機械と一緒に動かしやすいです。また、HVでは溶岩も生成できるようになります!\n\n水源を囲んでおけば、冬場に水源が凍結して、機械が止まってしまうことを防げます。", "quests.low_voltage.lv_aqueous_accumulator.task": "Any Aqueous Accumulator", - "quests.low_voltage.lv_wiremill.title": "Basic Wiremill", - "quests.low_voltage.lv_wiremill.subtitle": "No more painful wires!", - "quests.low_voltage.lv_wiremill.desc.1": "You could make any other &7LV&r Machine, but it would be easiest to start with the most useful one. We know, we know... you wanna make some of the crazier stuff first, but trust us, this is the best starting point.\n\nThe Wiremill lets you make &6two Wires from one Ingot&r. That should be three times cheaper than what you were doing up until now!\n\nTo the right of this Quest, you'll find some important machines which will grant you cheaper intermediates.", - "quests.low_voltage.lv_wiremill.desc.2": "&9Note:&r Recipes inside &3LV Machines&r go up to a maximum usage of &a32 EU/t (LV)&r. Anything higher than that and you will need a &bMV&r (or better) Machine. Needless to say, we aren't quite there yet.\n\nYou will need a &dProgrammed Circuit&r for certain recipes. We're sure you don't want to spend a precious Circuit to craft one, so &6read the dedicated quest for important details&r.\n\nWith this machine safely crafted - welcome to the age of all things electric!", + "quests.low_voltage.lv_wiremill.title": "基本型ワイヤー作製機", + "quests.low_voltage.lv_wiremill.subtitle": "もうワイヤー作りは嫌ー", + "quests.low_voltage.lv_wiremill.desc.1": "もちろん、他の&7LV&r機械から作り始めても構いませんが、まずは一番役立つものから始めるのがおすすめです。\nもっとド派手な機械から作りたい!という気持ちもわかります。わかりますが、最初にこれを作ると進めるのがとても楽になります。\n\nワイヤー作製機を使うと、&6インゴット1つからワイヤーを2本&r作ることができます。\n\nこのクエストの列では、中間素材の製造を担当する重要な機械たちが紹介されています。", + "quests.low_voltage.lv_wiremill.desc.2": "&9注意:&r &3LV機械&rで実行できるレシピは当然LVのものまでです。LVの基本消費電力(1Aの消費電力)は&a32EU/t&rです。それ以上のエネルギーを必要とするレシピには、&bMV&r以上の機械が必要になります。\n\nまた、いくつかのレシピでは&dプログラム回路&rが必要になります。回路を無駄にしないためにも、&6専用クエストで詳しい情報を確認しておきましょう&r。\n\nこの機械を無事に作れたなら、これであなたも電気時代の仲間入りです!", "quests.low_voltage.lv_wiremill.task": "Any of these", - "quests.low_voltage.lv_bender.title": "Basic Bender", - "quests.low_voltage.lv_bender.subtitle": "The Bender bends!", - "quests.low_voltage.lv_bender.desc": "Arguably the second best &7LV&r machine to craft, but we're down if you want to argue otherwise.\n\nThis unlocks the ability to convert one &6Ingot into one Plate&r, which is a better ratio than the Forge Hammer.", + "quests.low_voltage.lv_bender.title": "基本型金属加工機", + "quests.low_voltage.lv_bender.subtitle": "ひん曲がってるマシーンみたいなやつ", + "quests.low_voltage.lv_bender.desc": "これは&7LV&rに入った段階で2番目に作るべき機械です。異論は認めます。\n\nこの機械では、ついに&6インゴット1つからプレート1枚&rを作れるようになります。鍛造機よりもさらに効率がいいです。", "quests.low_voltage.lv_bender.task": "Any of these", - "quests.low_voltage.lv_lathe.title": "Basic Lathe", - "quests.low_voltage.lv_lathe.subtitle": "Get rid of your archaic tech", - "quests.low_voltage.lv_lathe.desc.1": "The Lathe is an important machine to help shape metals. Thanks to it, you can turn &6one Ingot into two Rods&r, and &6one Bolt into one screw&r. That's twice the efficiency on those recipes as opposed to crafting by hand.", - "quests.low_voltage.lv_lathe.desc.2": "&l&3Lore:&r&o The GregTech 5 Lathe produces one Rod and 2 small piles of Dust per Ingot. We also have a setting for this in GTCEu, but it's turned off by default.\n\n&oThe GT6 Lathe acts like GT5's, but Bolts lathe into one Screw and 1/72 of a pile of Dust. Disgusting!", + "quests.low_voltage.lv_lathe.title": "基本型旋盤", + "quests.low_voltage.lv_lathe.subtitle": "金属工の必需品", + "quests.low_voltage.lv_lathe.desc.1": "旋盤は、金属の加工に欠かせない重要な機械です。\nこれを使えば、&6インゴット1個から棒を2本&r作れたり、&6ボルト1個からスクリューを1本&r作ることができます。手作業で作るよりも効率が2倍になります。", + "quests.low_voltage.lv_lathe.desc.2": "&l&3余談:&r&oGT5の旋盤は、インゴット1個から棒1本と小さな粉2個を作ります。GTCEuも同じようにする設定がありますが、初期状態ではオフになっています。\n\n&o一方で、GT6の旋盤はGT5と似た動作ですが、ボルトを加工するとネジ1本とわずか1/72個分の粉しか出ません。(削り)カスですね!", "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\nCells hold &done bucket&r of Fluid.", - "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.title": "液体セル", + "quests.low_voltage.universal_cell.subtitle": "中身が見れます。どこぞのドラムとは違って", + "quests.low_voltage.universal_cell.desc.1": "セルは、ドラムとは違った液体の保存手段です。同じ種類で同じ量の液体が入っているセル同士は、&6まとめてスタック&rできます。また、&3缶詰機&rを使えば自動的に液体を詰めることも可能です。\n\n通常のセル1つには、液体を&dバケツ1杯分&r(1000mb)入れることができます。", + "quests.low_voltage.universal_cell.desc.2": "ユニバーサルセルには&dバケツ1杯分&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": "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 quest to the upper left of this one.", - "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.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?", - "quests.low_voltage.programmed_circuits.desc.1": "By clicking the &6Circuit Configuration Slot&r in machines, you can create a &bghost Programmed Circuit&r. \n\nThis is a fake circuit that allows you to select a given configuration for recipes! There's no need to spend your circuits crafting &bProgrammed Circuits&r anymore.\n\n&dElectric Machines&r and &dItem Input Buses&r will have a Ghost Circuit Slot.", - "quests.low_voltage.programmed_circuits.desc.2": "&l&3Lore:&r&o This feature is originally from GTNH.", + "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が1つずつあります。\n\n&7「前面」&rは機械の顔となる面であり、見た目でわかると思います。\n&9「出力面」&rは、穴があいたような表示の面で、デフォルトでは背面になります。\n\n機械は、この「出力面」から&a自動的にアイテムや液体を搬出&rできます。自動搬出を有効にするには、ドライバーで搬出面を直接右クリックするか、機械のGUI内の対応したボタンを押してください。液体とアイテムの搬出は個別に設定できます。\n\nまた、&dフィルター&rや&dカバー&rを使うことで、自動搬出の制御をさらに細かく行うこともできます。その使い方は、LVクエストラインの右上あたりにあるクエスト群で説明されています。", + "quests.low_voltage.machine_auto_output_behaviour.desc.2": "機械を&5レンチ&rで右クリックすると「出力面」を変更でき、スニーク+右クリックすると「前面」を変更できます。ただし、前面を出力面にすることは&cできない&rので注意しましょう。\n\nデフォルトでは、アイテムや液体は搬出面から搬入することはできませんが、この設定は切り替えることができます。&5ドライバー&rで搬出面を直接スニーク+右クリックするか、機械のGUI内で対応したボタンを押してください。\n\nなお、&3ポンプ&r・&3採掘機&r・&3魚釣り機&r・&3アイテム収集機&rなど、一部の特殊な機械はレシピ処理を行いません。これらの機械は例外的に、設置した際の&7前面&rが搬出面になります。", + "quests.low_voltage.machine_auto_output_behaviour.task": "実に興味深い", + "quests.low_voltage.programmed_circuits.title": "プログラム回路", + "quests.low_voltage.programmed_circuits.subtitle": "レシピを選ぶためだけに回路を使うなんて!", + "quests.low_voltage.programmed_circuits.desc.1": "機械の&6回路設定&rスロットをクリックすると、&bゴーストプログラム回路&rを作成できます。\n\nこのゴースト回路は、レシピ設定だけを切り替えるための仮想的な回路で、実際に回路を消費する必要はありません。つまり、&bプログラム回路&rをクラフトして使う必要はありません。\n\nこの機能は、&d機械&rや&d入力バス・ハッチ&rにある専用スロットで利用できます。", + "quests.low_voltage.programmed_circuits.desc.2": "&l&3余談:&r&oこの機能は元々GTNHで導入されたものです。", "quests.low_voltage.programmed_circuits.task": "I got it, I don't need to craft circuits", - "quests.low_voltage.lv_conveyor.title": "LV Conveyor Module", - "quests.low_voltage.lv_conveyor.subtitle": "A crafting component, but also a cover!", - "quests.low_voltage.lv_conveyor.desc": "Less common as a component, but used in a number of critical machines.\n\nWhen placed on a machine, conveyor modules will transfer items. You can configure them to import or export.\n\nThey can also accept various &9Item Filters&r.", - "quests.low_voltage.lv_robot_arm.title": "LV Robot Arm", - "quests.low_voltage.lv_robot_arm.subtitle": "You're going to hate making these", - "quests.low_voltage.lv_robot_arm.desc.1": "When placed on a machine, Robot Arms are a more configurable version of a Conveyor Module. They allow you to transfer items in specific batches, at specific rates, or keep a certain amount of items stocked.\n\nPractical uses for the Robot Arm will be explained in future Quests as a tutorial.\n\n&9Note:&r The functionalities provided by the Robot Arm work &lonly&r if it is &lrequired&r to perform the operation.", - "quests.low_voltage.lv_robot_arm.desc.2": "&l&3Lore:&r&o GregTech 5 had blocks such as the Buffer, Filter and Type Filter to allow fine control over items. In GTCE it's all been replaced by the almighty Robot Arm and various Filter Covers. Much more compact!", - "quests.low_voltage.lv_piston.title": "LV Electric Piston", - "quests.low_voltage.lv_piston.subtitle": "A crafting component - did you expect anything fancier?", - "quests.low_voltage.lv_piston.desc": "A specialized motor needed to make certain machines.\n\nOne of the more intricate crafting components, as it's made using a motor.", - "quests.low_voltage.lv_pump.title": "LV Electric Pump", - "quests.low_voltage.lv_pump.subtitle": "A crafting component, but also a cover!", - "quests.low_voltage.lv_pump.desc": "When placed on a machine, pumps will transfer fluid. You can configure them to import or export.\n\nIt can accept a &9Fluid Filter&r.", - "quests.low_voltage.lv_fluid_regulator.title": "LV Fluid Regulator", - "quests.low_voltage.lv_fluid_regulator.subtitle": "A cover that you may not use much", - "quests.low_voltage.lv_fluid_regulator.desc": "The &aFluid Regulator&r is sort of the equivalent to a &9Robot Arm&r for Fluids.\n\nIt can transfer fluids, but has two useful modes:\n\n&9-&r &dSupply Exact&r will transfer the amount of specified Fluid per tick if available. No more, no less.\n&9-&r &dKeep Exact&r will make sure the exact amount of Fluid in the attached machine is being kept.\n\nYou won't need it much, because natively GT machines will fill only one slot with the &6Pump Cover&r", - "quests.low_voltage.cover_behaviour.title": "Cover Behaviour", - "quests.low_voltage.cover_behaviour.subtitle": "Extra utility without taking up blockspace!", - "quests.low_voltage.cover_behaviour.desc.1": "Covers are placed by right-clicking with Cover in hand on a face of a machine, and removed with a &5Crowbar&r (or by mining the machine, but that's way slower).\n\nPretty much any GregTech Tile-Entity will accept Covers, even if they wouldn't provide any functionality.\n\nOpening a Cover is done by sneak-right-clicking it with an &5empty hand&r. You can also right-click with a &5Screwdriver&r, or sneak-right-click on another face using the grid.", - "quests.low_voltage.cover_behaviour.desc.2": "For Covers that transfer Items/Fluids, you will have a button to enable/disable other forms of transfer through the cover:\n\n&9- &rDisabled: only the cover will be allowed to transfer on this machine side.\n\n&9-&r Allow Filtered (only relevant with a filter!): other transfer will be enabled only if it matches the filter\n\n&9-&r Allow Unfiltered: any other transfer is allowed on this machine side.\n\nPlacing a cover of a lower voltage tier on a machine is &9safe&r.", + "quests.low_voltage.lv_conveyor.title": "LVコンベアーモジュール", + "quests.low_voltage.lv_conveyor.subtitle": "Createのコンベアーとずいぶん違うな", + "quests.low_voltage.lv_conveyor.desc": "これはカバーとしての役割がメインになりますが、いくつかの機械の部品にもなります。\n\n機械やパイプやクレートなどに取り付けると、アイテムの搬出をしてくれます。取り付けると、搬出入の設定も可能です。\n\nさらに、さまざまな&9アイテムフィルター&rを取り付けて制御することもできます。", + "quests.low_voltage.lv_robot_arm.title": "LVロボットアーム", + "quests.low_voltage.lv_robot_arm.subtitle": "Createのアームとずいぶん違うな", + "quests.low_voltage.lv_robot_arm.desc.1": "ロボットアームは、コンベアモジュールの上位版ともいえる部品で、より細かい設定が可能です。機械に取り付けることで、アイテムを指定した数ごとに転送したり、転送速度を調整したり、特定の数量を保持したりできます。\n\nロボットアームの具体的な活用方法は、今後のクエスト内でチュートリアルとして紹介されます。\n\n&9注意:&rロボットアームの機能は、その動作が&l必要な場合&rにのみ&r発動します&r。", + "quests.low_voltage.lv_robot_arm.desc.2": "&l&3余談:&r&oGT5では、アイテム制御用にバッファーやフィルター、タイプフィルターといった専用のブロックが使われてたらしいね。\nでもGTCEでは、そういうのがすべて強力なロボットアームと各種フィルターカバーに統合されて、ずっとコンパクトで便利になったんだ!", + "quests.low_voltage.lv_piston.title": "LV電動ピストン", + "quests.low_voltage.lv_piston.subtitle": "Minecraftのピストンとずいぶん違うな", + "quests.low_voltage.lv_piston.desc": "一部の機械を作る際に必要となる、特殊な部品です。\n\n材料にモーターを使う、やや高コストな機械の部品です。\nそれ以外の使い道はないですよ...?何を想像しているんですか...?", + "quests.low_voltage.lv_pump.title": "LV電動ポンプ", + "quests.low_voltage.lv_pump.subtitle": "GregTechのポンプとずいぶん違...いや?", + "quests.low_voltage.lv_pump.desc": "電動ポンプは機械やパイプやドラムなどに取り付けると、液体の搬出をしてくれます。取り付けると、搬出入の設定も可能です。\n\nまた、さまざまな&9液体フィルター&rを取り付けて制御することもできます。", + "quests.low_voltage.lv_fluid_regulator.title": "LV流量制御器", + "quests.low_voltage.lv_fluid_regulator.subtitle": "GregTechの流量制御器です", + "quests.low_voltage.lv_fluid_regulator.desc": "&a流量制御器&rは、液体版の&9ロボットアーム&rのようなカバーです。\n\n液体の搬出に使えるだけでなく、以下の2つの便利な動作モードがあります:\n\n-&d供給モード&r:指定した量の液体を毎ティック過不足なく正確に送ります。\n-&d保持モード&r:取り付けた先に、指定した量の液体を常に維持するようにします。\n\nただし、実際にはそれほど使う機会は多くないでしょう。&6ポンプカバー&rを使うと、自動的に機械の1スロット分の液体を充填してくれるからです。", + "quests.low_voltage.cover_behaviour.title": "カバーについて", + "quests.low_voltage.cover_behaviour.subtitle": "省スペースな搬送手段", + "quests.low_voltage.cover_behaviour.desc.1": "カバーは、手に持った状態で機械などの任意の面を右クリックすると取り付けられます。取り外すときは&5バール&rを使いましょう(機械を壊して外すこともできますが、非効率です).\n\n基本的に、ほとんどのGregTech製のブロックは、たとえ機能がなくてもカバーを取り付けることが可能です。\n\n&5素手&rでスニーク+右クリックするか&5ドライバー&rで右クリックすればカバーの設定を開くことができます。", + "quests.low_voltage.cover_behaviour.desc.2": "アイテムや流体を搬送するタイプのカバーには、他の搬送方法を許可/禁止するための設定ボタンがあります:\n\n&9-&r無効:その面では、カバー経由でのみ搬送が行われます。\n\n&9-&rフィルター:フィルターが設定されている場合、そのフィルターに一致する搬送を有効にします。\n\n&9-&rマニュアルI/O:その面でのすべての搬送を有効にします。\n\nなお、カバーの電圧ティアはその性能が変わるだけで、それよりも低いまたは高いティアの機械に取り付けても&9問題はありません&r。", "quests.low_voltage.cover_behaviour.task": "I'm an expert on Covers now, don't you worry.", - "quests.low_voltage.lv_canner.title": "Basic Canner", - "quests.low_voltage.lv_canner.subtitle": "This machine does nothing exciting", - "quests.low_voltage.lv_canner.desc": "Make this machine when you feel like it's time you invested into Batteries.", - "quests.low_voltage.lv_battery.title": "Batteries!", - "quests.low_voltage.lv_battery.subtitle": "Batteries for storing energy!", - "quests.low_voltage.lv_battery.desc": "&aBatteries&r can be put into the energy slot at the bottom middle of machine GUIs, or in a &3Battery Buffer&r.\n\nWhen inside your inventory, they can be sneak-right-clicked to allow the batteries to &dcharge&r your EU items.\n\n&7LV&r, &bMV&r, and &6HV&r Batteries come in three forms, allowing you to pick the one you find the best depending on materials you have. &dLithium&r has the best capacity, followed by &dCadmium&r, then &dSodium&r.\n\nOur recommendation? Find a Salt vein, and either &aelectrolyze Salt&r for &dSodium&r, or &awash crushed Lepidolite&r for &dLithium&r.\n\nGet &eany&r &aBattery&r to complete this quest.", + "quests.low_voltage.lv_canner.title": "基本型缶詰機", + "quests.low_voltage.lv_canner.subtitle": "瓶詰めには使えません", + "quests.low_voltage.lv_canner.desc": "バッテリーの必要を感じてきたら、この機械を作りましょう", + "quests.low_voltage.lv_battery.title": "バッテリー", + "quests.low_voltage.lv_battery.subtitle": "キャッチャー", + "quests.low_voltage.lv_battery.desc": "&aバッテリー&rは、機械GUIの中央下にあるエネルギースロット、または&3蓄電器&rに入れることができます。\n\n手にもってスニーク+右クリックすると、バッテリーからインベントリ内のアイテムに&d自動給電&rしてくれます。\n\n&7LV&r・&bMV&r・&6HV&rのバッテリーにはそれぞれ3種類の中身があり、使う素材によって容量が違っています。\n容量が最も大きいのは&dリチウム&r製で、次が&dカドミウム&r、そして&dナトリウム&rの順です。\n\nおすすめは、&a塩を電解&rして&dナトリウム&rを作るか、または&a粉砕したリチア雲母を洗浄&rして&dリチウム&rを手に入れる方法です。\n\n&eどれでもいいので&r&aバッテリー&rを入手すれば、このクエストは完了です。", "quests.low_voltage.lv_battery.task": "Any LV Battery", - "quests.low_voltage.lv_battery_preparation.title": "Battery Preparations!", - "quests.low_voltage.lv_battery_preparation.subtitle": "Batteries are great!", - "quests.low_voltage.lv_battery_preparation.desc": "Make some Battery Alloy, used for Battery Hulls.\n\nAntimony is found in &6Stibnite&r, look through your TFC Field Guide for more information on where to find it.\n\n&9Note:&r This quest does &lnot&r contain functional Batteries - head downwards for that.", - "quests.low_voltage.lv_battery_buffer_4x.title": "Battery Buffer", - "quests.low_voltage.lv_battery_buffer_4x.subtitle": "Useful if you don't want to build tons of generators", - "quests.low_voltage.lv_battery_buffer_4x.desc.1": "By itself, the Battery Buffer does nothing. However, if you place batteries inside its internal storage, it will act as a power buffer.\n\nThe &3Battery Buffer&r handles &9two Amps in&r, and &9one Amp out&r, &dper Battery&r. The output side has the dot, and all other sides are used as inputs.\n\n&6It'll also charge &lboth&r EU and RF Tools inside it&r.\n\nThis is a must have if you don't have unlimited power at hand. Get &eany&r &7LV&r Battery Buffer to finish the quest. However, the 16 slots variant is likely overkill at this stage.", - "quests.low_voltage.lv_battery_buffer_4x.desc.2": "&9Note:&r Don't loop your lossy Cables back to your Battery Buffer! If you think about it, you'll just end up voiding energy.\n\n&l&3Lore:&r&o To be frank with you, the GTCE Battery Buffer was... mediocre. It's been reworked in GTCEu to provide a mix between GT5 and GTCE's functionality. Energy now splits evenly across all batteries!", + "quests.low_voltage.lv_battery_preparation.title": "バッテリー筐体", + "quests.low_voltage.lv_battery_preparation.subtitle": "ピッチャー", + "quests.low_voltage.lv_battery_preparation.desc": "バッテリー筐体の素材にはバッテリー合金が必要になります。\n\nアンチモニーは&6輝安鉱&rから入手できます。採掘場所などの詳しい情報はフィールドガイドをチェックしてください。\n\n&9注意:&rバッテリー筐体では蓄電できません。実際に使えるバッテリーについては、下のクエストで扱います。", + "quests.low_voltage.lv_battery_buffer_4x.title": "蓄電器", + "quests.low_voltage.lv_battery_buffer_4x.subtitle": "バッター", + "quests.low_voltage.lv_battery_buffer_4x.desc.1": "蓄電器は、単体で置いただけでは何もできません。内部ストレージにバッテリーを入れることで、電力バッファとして機能します。\n\n&3蓄電器&rには、&dバッテリー&r1つ入れるごとに、&92Aの入力量&rと&91Aの出力量&rが増えていきます。\n1つの面が出力面になり、それ以外の面はすべて入力面になります。\n\n&6この装置は中に入れたツールの充電もできます。その際、EUを使うツールとRFを使うツールの&r&l両方&r&rに対応しています。\n\n電力の安定した確保ができていない場合、これは必須ともいえる装置です。\n&eいずれか&rの&7LV&r蓄電器を入手してクエストを完了させましょう。", + "quests.low_voltage.lv_battery_buffer_4x.desc.2": "&9注意:&r電力損失があるケーブルで蓄電器に電力を戻すような配線をしないでください!電力損失がループしてエネルギーが無駄になってしまいます!\n\n&l&3余談:&r&oはっきりいって、GTCEの蓄電器はいまいちだったんだ...そこでGTCEuは、GT5とGTCEの蓄電器の良いとこどりをして作りなおしたんだ。そのおかげで、電力がすべてのバッテリーに均等に分配されるようになったんだよ!積み重ねだね!", "quests.low_voltage.lv_battery_buffer_4x.task": "Any Battery Buffer", - "quests.low_voltage.lv_amp_explanation.title": "But what are Amps?", - "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.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.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.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.lv_amp_explanation.title": "アンペアって何なの?", + "quests.low_voltage.lv_amp_explanation.subtitle": "優しい説明", + "quests.low_voltage.lv_amp_explanation.desc": "このクエストでは、&9GregTechにおけるアンペア(電流量)&rの基本を簡単に紹介します。なお、&d電圧&rの仕組みについては、&bMV&r帯に進んだときに解説します。\n\n&6&l要約:&r基本的には、ケーブルが耐えられるアンペア数と、発電機などのエネルギー供給源からの最大アンペア数を一致させるようにしましょう。\n\nもっと深く知りたいですか?その場合は、GregTechの電力システムを詳しく説明している「&cGregTechの電力システム&r」の章を確認してみてください!", + "quests.low_voltage.lv_ore_prospector.title": "電動探知機", + "quests.low_voltage.lv_ore_prospector.subtitle": "22世紀の探鉱槌", + "quests.low_voltage.lv_ore_prospector.desc": "電動探知機は、鉱脈探しを驚くほど簡単にしてくれる便利なツールです。\n\n右クリックすると周囲の鉱石をスキャンし、マップ上に表示してくれます。\n\n&l&3余談:&r&o昔はね、携帯型の探知機なんて&dLuV&fに入ってからでないと使えなかったんだよ。今の子は本当に恵まれてるね。", + "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\nGregTechのタイルエンティティ(機械、パイプ、ケーブルなど)は、ほぼすべて&6塗装&rすることができ、16色の中から好きな色を選べます。\nこれはイカした工場を建てるのに最適ですが、マルチプレイの拠点で異なる装置群を区別するのにも便利です。パイプやケーブルの識別にも役立ちます。\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": "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.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", - "quests.low_voltage.lv_electroliser.desc.1": "&lOutside of Ore Processing:&r\n\nSimilar to the Centrifuge, this machine does a lot of things - we can't hope to list them all! Fortunately, it's one of the cheapest &7LV&r machines, so grab it as soon as it becomes necessary.", - "quests.low_voltage.lv_electroliser.desc.2": "&lFor Ore Processing:&r\n\nOkay, we lied. It's not &oexactly&r used for Ore Processing, it's actually used in the &adecomposition of Dusts&r. However, most of the useful electrolysis recipes are locked at &bMV&r. You can peep at the &emolecular formula&r in a dust's tooltip to see what you can get from electrolysis.", - "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.", + "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.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": "鉱石ビリビリ", + "quests.low_voltage.lv_electroliser.desc.1": "&l鉱石処理以外の用途:&r\n\nこの機械は遠心分離機と同じく、使い道がかなり多岐にわたるため、ここですべてを紹介しきることはできません\n。幸い、これは&7LV&rの中でも作りやすい機械なので、必要になったらすぐに作ってしまいましょう。", + "quests.low_voltage.lv_electroliser.desc.2": "&l鉱石処理の用途:&r\n\nさて、これは厳密には鉱石処理に使用されるわけではなく、実際には&a粉の分解&rに使用されます。ただし、有用な電解レシピのほとんどは&bMV&rで解禁されます。\nアイテムのツールチップにある&e分子式&rを見れば、電解によって何が得られるかがわかります。", + "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は機械の筐体に使うので、かなり有用な生産手段になるでしょう。\nもし、今は必要ないと思っていても、後々&6必須&rになってきます。", "quests.low_voltage.lv_mixer.task": "From Create or GregTech", - "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.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.", - "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.soldering_alloy.title": "はんだ合金", + "quests.low_voltage.soldering_alloy.subtitle": "笹を与える必要はありません", + "quests.low_voltage.soldering_alloy.desc": "&aはんだ合金&rは、基本的に&9液体&rの状態で使います。回路を作るレシピで、錫の&d代用品&rとして使うことが多いです。\n\nどちらを選ぶかはあなた次第です。材料を節約したいならはんだ合金を作り、作る手間を減らしたいなら錫を使うのがオススメです。", + "quests.low_voltage.gallium_arsenide.title": "ヒ化ガリウム", + "quests.low_voltage.gallium_arsenide.subtitle": "副産物の産物", + "quests.low_voltage.gallium_arsenide.desc": "今後、多くの素材は鉱石から直接精錬して取得することができなくなります。代わりに、他の鉱石を処理したときの副産物として手に入ります。ガリウムやヒ素はその&4代表例&rです。\n\n&dガリウム&rを入手する手段は、難易度と収量から考えて、低効率なものから順に以下の通りです:\n\n&9-&3最も効率が悪い手段は、&a閃亜鉛鉱&rを&3電解&rして、低確率で粉を入手する方法です。この方法は亜鉛の収量を減らしてしまいます。\n\n&9-&r次に&a砕いたボーキサイト&rを&3化学槽&rで処理するという手段があります。この方法には&9過硫酸ナトリウム&rが必要になります。\n\n&9-&r最適な手段として&a閃亜鉛鉱&rの鉱石処理の中で&3熱遠心分離機&rまたは&3遠心分離機&rを使い、副産物として入手するという方法があります。\n\n&dヒ素&rについては、&a鶏冠石の粉&rを&3遠心分離&rするか、&a輝コバルト鉱&rをEBFにかける方法があります。", + "quests.low_voltage.lv_assembler.title": "基本型組立機", + "quests.low_voltage.lv_assembler.subtitle": "真のクラフター", + "quests.low_voltage.lv_assembler.desc.1": "この機械は進行においてとても重要なものですが、他の機械と比べて&c作成コストが高いです&r。\n組立機を使ったほとんどのレシピでは&c液体&rを扱います。、要求される液体や素材がそろってから運用するのがよいでしょう。\n\nともあれ、&3組立機&rはGregを進めるにおいて極めて重要な機械です。マイクラにおける作業台と同じくらい重要な存在だと考えてください。ただし、必要なのは木材4つではなく回路4つですがね。", + "quests.low_voltage.lv_assembler.desc.2": "十分に資材や設備が整っていれば、次のようなアイテムをより効率よく作れるようになります:\n\n-&6真空管&r:以前の2倍以上の効率で製作できます。\n\n&9-&r抵抗器:1回のクラフトで4個も作れます。\n\n-&6樹脂プリント基板&r:使用する銅の量を大幅に削減できます。\n\nたまりませんね!\n\n&l&3余談:&r&o昔のGregTech2の時代だと、組立機はスロットがたった2つしかなくて、主に回路の代替品や筐体のレシピにしか使われなかったんだよ。ずいぶんと成長したね。", "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.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!", - "quests.low_voltage.lv_diode.desc": "Don't let JEI fool you... there's only one possible recipe right now for this Primitive Diode -- the liquid glass one.\n\nDiodes have a infamously &4nasty recipe&r, but they will become cheaper and more convenient once you can obtain &ePolyethylene&r.\n\nThis is required for &dMV Circuits&r.", - "quests.low_voltage.1_mv_circuit.title": "First MV Circuit!", - "quests.low_voltage.1_mv_circuit.subtitle": "Does that mean we're at MV yet?", - "quests.low_voltage.1_mv_circuit.desc": "Well... got any Aluminium Ingots yet?\n\nEach Electric Age has Circuits corresponding to its tier. The Good Electronic Circuit is the &dfirst MV Circuit&r you can make out of the three tiers of &bMV&r Circuitry.\n\nAlways be on the lookout for a cheaper way to make your circuits - new sets of recipes become available each time you make a new tier of &2Circuit Assembler&r. Conveniently, this tier of Circuit unlocks one now! Its recipes are far, far cheaper than the Deployers.\n\n&6Having this and Aluminium will grant access to MV Machines.&r\n\nIf you are having trouble understanding the mess that is GregTech circuits, check out the &6Progression Table&r chapter.", - "quests.low_voltage.lv_circuit_assembler.title": "The Circuit Assembler", - "quests.low_voltage.lv_circuit_assembler.subtitle": "Hopefully, your first MV Circuit expense", - "quests.low_voltage.lv_circuit_assembler.desc.1": "From now on, all Circuits should be made in a &3Circuit Assembler&r. Use it now to enjoy &6far cheaper LV and MV circuits&r.\n\nEach time you upgrade to a new tier of &3Circuit Assembler&r, you will be able to craft more &dadvanced themes&r of circuit. These will use &ccomplex&r and &msometimes&r unfamiliar ingredients, but will be more efficient to craft overall.", - "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Lore:&r&o The Circuit Assembler has made appearances in and out of GregTech versions. GT5 did not have it, and it was reimplemented in GT5 Unofficial. GTCE decided not to port it, and the tug-of-war continues with its inclusion in GTCEu.", - "quests.low_voltage.lv_greenhouse.title": "Electric Greenhouse", - "quests.low_voltage.lv_greenhouse.subtitle": "The power of KubeJS", - "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!\n\nThis is one of the few machines that has &2Perfect Overclocking&r, which basically means each higher tier of EU input means x4 the recipe speed instead of the usual x2!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rWith recipes requiring more than 32 EU/t, the multiblock needs either 1 &bMV&r energy hatch or 2 &7LV&r energy hatches. Multiblocks will &cnot&r use 2A of one tier to reach the next one for recipe voltage minimums.\n\nIn other words, the controller needs to say at least &bMV&r in the GUI to run recipes which say &bMV&r in EMI, even if they can draw enough EU/t with a lower tier hatch configuration.\n\n&9Note:&r This structure requires a lot of &7Steel&r. Make sure you have an &3EBF&r for that.", - "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Lore:&r&o This multiblock was originally created for the GTCEu Community Pack, but is also available on the GTCEu developer documentation. It's significantly slower than default to keep in line with TFC's slower tree growing speeds, but prior to TFG 0.9, it used to take almost an hour for each recipe!", - "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", - "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", - "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.t2_circuit_board.subtitle": "素敵な木の基板", + "quests.low_voltage.t2_circuit_board.desc.1": "これは、&dMV回路&rを作るための回路基板です!\n\n&9メモ:&rフェノール樹脂製プリント回路基板を作る方法は&l2種類&rあります。\n\n&a過硫酸ナトリウム&rまたは&a塩化鉄(III)&rを使用するレシピでは、作業台でのレシピに比べて&6銀の使用量が4分の1&rで済みます。\n\n&lただし&r、現時点でこれらの化学物質を用意するのはかなり大変だと思います。その場合は、方鉛鉱鉱脈などから大量の銀を確保することで代用できます。\n\n&a過硫酸ナトリウム&rのクエストは、&bMV&rの章にあります。時間があるときに目を通してみてください。", + "quests.low_voltage.t2_circuit_board.desc.2": "&l&3余談:&r&oGTCEu1.12.2の頃、この回路基板は&2Good_Circuit_Boards&fって名前だったんだ。ただ、Goodというにはレシピがあまりにも&4邪悪&fすぎた...", + "quests.low_voltage.lv_diode.title": "ダイオード", + "quests.low_voltage.lv_diode.subtitle": "EMIに惑わされないで!", + "quests.low_voltage.lv_diode.desc": "EMIではいくつもレシピがありますが、今のところ、ダイオードを作る方法は、液体ガラスを使うレシピ1つだけです。\n\nダイオードのレシピは&4かなり面倒&rなことで知られていますが、&eポリエチレン&rが確保できれば、ずっと手軽で安く作れるようになります。\n\nこの素材は&dMV回路&rの製作に必要です。", + "quests.low_voltage.1_mv_circuit.title": "初めてのMV回路", + "quests.low_voltage.1_mv_circuit.subtitle": "MV時代の証明書", + "quests.low_voltage.1_mv_circuit.desc": "さて、アルミニウムインゴットは持っていますか?\n\nGregTechには、それぞれの段階に対応する回路があります。\n「改良型電子回路」は、3種類ある&bMV&r回路のうち、&d最初に作れるMV回路&rです。\n\n回路をもっと安く作るために、新しいティアの&2回路作成機&rを作り、新たなレシピを解禁しましょう。MV回路があれば初めての回路作成機を作ることができます!デプロイヤーよりもよっぽど優秀ですよ。\n\n&6この回路とアルミニウムがあれば、ついにMV機械をつくることができます。&r\n\nもしGregTechの回路システムが複雑すぎて混乱しているなら、「&6進捗表&r」の章を参考にすると良いでしょう。", + "quests.low_voltage.lv_circuit_assembler.title": "回路作成機", + "quests.low_voltage.lv_circuit_assembler.subtitle": "LVからの出口", + "quests.low_voltage.lv_circuit_assembler.desc.1": "これからは、すべての回路を&3回路作成機&rで作るようにしましょう。&6LVやMV回路を簡単に&r作れるようになります。\n\n&3回路作成機&rを新しいティアにアップグレードするたびに、より&d高性能な種類の回路&rを作れるようになります。必要な素材は&c複雑な&rものや&m少し貴重な&rものもありますが、全体的に制作効率が良くなります。", + "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3余談:&r&o回路作成機は、歴代のGregTechで登場したり姿を消したりしてたんだ。GT5では登場せず、GT5Unofficialで再び追加された。GTCEでは見送られて、GTCEuではまた登場して...神出鬼没だね。", + "quests.low_voltage.lv_greenhouse.title": "電気温室", + "quests.low_voltage.lv_greenhouse.subtitle": "KubeJSは全てを解決する", + "quests.low_voltage.lv_greenhouse.desc.1": "マルチブロック機械である&3電気温室&rは、Createに頼らず、電気の力で&a木&rや作物を安定して生産できる便利な設備です。さらに、TFCの装飾用植物なども栽培できます!\n\nこの機械は数少ない&2パーフェクトオーバークロック(POC)&r対応の装置のひとつです。POCの場合は入力電圧のティアが上がるたびに実行速度がx4ずつ上昇していきます(通常はx2ずつです)!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9注意:&rMVレシピを実行するには、&bMV&rエネルギーハッチを1個、または&7LV&rエネルギーハッチを2個設置する必要があります。マルチブロック機械は、同じティアの電力を4A分合わせることで1つ上位のティア相当として扱われます。\n\nEMIでレシピが&bMV&rと表示されている場合、コントローラー画面の表示が&bMV&r以上になっていないと動作しません。\n\n&9注意:&rこの装置を組み立てるには大量の&7スチール&rが必要です。スチールは&3EBF&rによって簡単に作成できるようになります。", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3余談:&r&oこのマルチブロック機械は、もともとGTCEu_Community_Pack用に開発されたもので、いまはGTCEuの開発者向けドキュメントにも掲載されているよ。TFCでの植物の成長速度に合わせて動作がかなり遅めに調整されてるんだけど、TFGの0.9以前のバージョンでは、なんと1レシピにほぼ1時間もかかってたんだ!", + "quests.low_voltage.lv_centrifuge.title": "基本型遠心分離機", + "quests.low_voltage.lv_centrifuge.subtitle": "逆ミキサー", + "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を生成します。副産物を最大限得るには最適な方法ではありませんが、設置コスト・運用コストともに安く、小規模な処理にはうってつけです。", + "quests.low_voltage.lv_centrifuge.desc.3": "&l&3余談:&r&oGTCEだと、この機械は扱いやすくて、鉱石洗浄機や熱遠心分離機と同じように3つの小さな粉を生み出せたから、「最強の鉱石処理機」って言えるくらい優秀だったんだ。でも、鉱石処理にも多様性があったほうがいいと思ったから、今のバージョンだと性能を少し抑えてるんだよ。", "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.title": "ノリ", + "quests.low_voltage.lv_glue.subtitle": "あらびっくり!", + "quests.low_voltage.lv_glue.desc": "&a粘性樹脂&rを&3遠心分離&rすることで液体状の&aノリ&r(と、&6今のところ&r特に使い道がないプラントボール)を作ることができます。\n\nノリの生産は早めに進めておいて良いでしょう。ノリは&3組立機&rで&6抵抗器&rや&6回路基板&rを安価に作成するのに使えます。(そして&o近い将来&rとても役立ちます)。\n\n&e補足:&rTFCの&a針葉樹脂&rも遠心分離することができます。入手しやすい方を使いましょう!", "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.title": "基本型裁断機", + "quests.low_voltage.lv_cutter.subtitle": "こちら側のどこからでも切れます", + "quests.low_voltage.lv_cutter.desc": "今の段階では、潤滑油を無理に使おうとせず、レシピには&9水&rを使うのがおすすめです。\n\nこの機械をまだ作っていないですか?&6棒1本から4本のボルトを作る&rことなどにつかえますよ。\n\nさらに、この機械は&d宝石のプレート&rを作るために必要であり、フィルターやそれが素材になる&3ガス収集機&rを作るためには欠かせません。", "quests.low_voltage.lv_cutter.task": "Any cutter", - "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.", - "quests.low_voltage.lv_oxygen.title": "Breath of Fresh Oxygen", - "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_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&oGT5時代を知っているプレイヤーなら、IC2のセルを使ってコンプレッサーで圧縮空気を作っていたあの手間を覚えてるでしょ?でも今は、そういうセル化学の仕組みは廃止されてるよ。", + "quests.low_voltage.lv_oxygen.title": "酸素の入手経路", + "quests.low_voltage.lv_oxygen.subtitle": "酸素が足りてない方へ", + "quests.low_voltage.lv_oxygen.desc.1": "酸素の入手経路は非常に多岐にわたり、効率の良いレシピを探そうとEMIを延々と眺めているうちに、&o&e天寿を全うしてしまうかもしれません。&r実際、さまざまな鉱石から電解によって酸素を得ることができます。\n\nクエストブックになにか情報が載っていればいいんですけどねえ...", + "quests.low_voltage.lv_oxygen.desc.2": "というわけで、用意しておいたのがこちらになります。\n\n私たちが最もおすすめする方法は、&dガス収集機&rで集めた&ac空気を遠心分離&rすることです。\nこの方法では同時に&a窒素&rも得られるため、&3EBF&rでのいくつかのレシピの高速化に使えます。ただし、まだガス収集機を作れない場合もあるかもしれません。\n\n次に効率が良い方法は&a二酸化ケイ素を電解&rすることです。二酸化ケイ素は、ガラス粉末や様々な石の粉末から入手できます。\nこの方法については後ほど&6詳しく紹介&rします。&6神&rといっても差し支えないほど素晴らしい方法ですよ!", + "quests.low_voltage.lv_oxygen.desc.3": "3番目に良い方法は&a水を電解&rすることです。水の電解は電力コストが高いため、&a水素の生成&rに適しています。\n&4この方法は酸素の主要な供給源にはなりません&r、あくまで&1水素&rの確保がメインです。水素の作り方については後ほど詳しく説明します。\n\n4番目に良い方法は&aコツコツ貯めておく&rことです!酸素は様々なクラフトで副産物としてでてくるので、タンクに保管しておきましょう。\n\n&e補足:&rクエストをクリアするには、この液体が入った&l任意の&rタンクをインベントリに入れます。バケツでも構いません。", "quests.low_voltage.lv_oxygen.task": "Oxygen", - "quests.low_voltage.lv_nitrogen.title": "Nitrogen Gas", - "quests.low_voltage.lv_nitrogen.subtitle": "Your EBF booster", - "quests.low_voltage.lv_nitrogen.desc": "For now, your only use for Nitrogen will be to make your EBF &6faster&r, which may not sound like that big of a deal, but with how much you'll be using it, it's definitely worth setting up. Faster recipes mean less energy used too!", + "quests.low_voltage.lv_nitrogen.title": "窒素", + "quests.low_voltage.lv_nitrogen.subtitle": "EBFブースター", + "quests.low_voltage.lv_nitrogen.desc": "現時点では、窒素の使い道はEBFの動作を&6高速化&rすることだけです。あまり重要に思えないかもしれませんが、今後EBFは酷使するため、あって損はしません。処理が速くなれば、その分エネルギー消費も減るというメリットもあります!", "quests.low_voltage.lv_nitrogen.task": "Nitrogen", - "quests.low_voltage.lv_arc_furnace.title": "The Arc Furnace", - "quests.low_voltage.lv_arc_furnace.subtitle": "The Arc Furnace has never been so good", - "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r for cheaper electronic components. It's also your new best way to make &4Red Steel&r and &1Blue Steel&r Ingots!\n\nIt can also recycle various components and machines back to their original materials.", - "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Lore:&r&o Previous GregTech versions had both the Arc Furnace and the &bPlasma Arc Furnace&f. In that case, why not use one machine for both? Well, that's exactly what we thought - but we ultimately decided to remove one of the two &bplasma&f recipes. And then the other &bplasma&f recipe.\n\n&oIn short, the &bPlasma Arc Furnace&f is &4gone&f. RIP.", - "quests.low_voltage.lv_extractor.title": "Basic Liquid Extraction", - "quests.low_voltage.lv_extractor.subtitle": "The Extractor extracts...", - "quests.low_voltage.lv_extractor.desc.1": "Hm... didn't we make this joke already?\n\nThe reason we don't present &7LV&r versions of &6Steam&r machines is because they are &4NOT&r required. You might not want to invest into an upgrade that does next to nothing. Except for &othis one&r specifically, because it's a big improvement over the &6Steam Age&r.\n\nThe &3Basic Extractor&r gains Fluid capabilities, which enables &aFluid Extraction&r. Use it to melt Rubber that you previously solidified, to &dmelt Soldering Alloy&r for your circuits, and to &dmelt Red Alloy&r for the &6best Vacuum Tube recipe&r in the &3Assembler&r!", - "quests.low_voltage.lv_extractor.desc.2": "&l&3Lore:&r&o Did you notice this machine doubles as both an Extractor and a Fluid Extractor? The two of them were separate machines in previous versions of GregTech.", - "quests.low_voltage.lv_chemical_reactor.title": "Basic Chemical Reactor", - "quests.low_voltage.lv_chemical_reactor.subtitle": "Chemistry for dummies", + "quests.low_voltage.lv_arc_furnace.title": "アーク炉", + "quests.low_voltage.lv_arc_furnace.subtitle": "恐竜を飼いならそう!", + "quests.low_voltage.lv_arc_furnace.desc.1": "&3アーク炉&rは、少量の&9酸素&rを使用して、通常のかまどとは異なる方法でアイテムを精錬します。\n\nこれを使うことで、より簡単に&a錬鉄&rを作れたり、&aガラス&rを2倍多く作れたり、電子部品の大量確保のための&aなまし銅&rを精錬することができます。\nさらに、&4赤鋼&rや&1青鋼&rインゴットをさらに簡単に作ることができるようになります!\n\nまた、さまざまな部品や機械を元の素材へ分解して再利用することも可能です。", + "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3余談:&r&o以前のGregTechには、アーク炉と&bプラズマアーク炉&fの2種類があったんだ。でも「これは一つの機械にまとめてよくね?」って思ったらしくて...\n\n&oそうして、&bプラズマアーク炉&fは&4お亡くなりになりました&f。ご冥福をお祈りします。", + "quests.low_voltage.lv_extractor.title": "基本型抽出機", + "quests.low_voltage.lv_extractor.subtitle": "抽出?融解では?", + "quests.low_voltage.lv_extractor.desc.1": "\n\n&6蒸気時代&rで紹介した機械の&7LV&r版のクエストはほとんど用意していません。なぜなら単に必要がないからです。ほとんど性能が変わらないアップグレードに資源を使いたくはないでしょう。\nただし、この機械だけは別です。これは&6蒸気時代&rから大きく進化しているので、新しく作る価値があります。\n\n&3基本型抽出機&rは&a液体抽出&rができるようになります。例えば、ゴムを溶かしたり、回路素材の&dはんだ合金&rを溶かしたり、&3組立機&rでの&6最高の真空管レシピ&rのために&d赤合金&rを溶かすことなどに利用できます!", + "quests.low_voltage.lv_extractor.desc.2": "&l&3余談:&r&oこの機械、実は抽出機と流体抽出機の両方を兼ねているんだ。というのも以前のGregTechでは、それぞれが別の機械として存在してたんだよね。", + "quests.low_voltage.lv_chemical_reactor.title": "基本型化学反応器", + "quests.low_voltage.lv_chemical_reactor.subtitle": "化学基礎", "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_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!", - "quests.low_voltage.mold_rotor.title": "Combo!", - "quests.low_voltage.mold_rotor.subtitle": "Time to end the misery of hand crafting rotors!", - "quests.low_voltage.mold_rotor.desc": "Use both of your new machines to turn a material into a Fluid, and solidify it back to a Rotor! This combination makes Rotors far easier to craft - &6four Ingots per Rotor&r, as well.\n\nYou can also do the same for &6Gears&r and &6Small Gears&r, which will then be superseded when you make a &3MV Extruder&r.\n\n&9Note:&r Some metals require higher voltages than &7LV&r for Fluid Extraction, so make sure to keep an eye on the recipe tier in EMI.", - "quests.low_voltage.mold_plate.title": "Casting Mold and Rubber Sheets", - "quests.low_voltage.mold_plate.subtitle": "Even cheaper rubber", - "quests.low_voltage.mold_plate.desc": "Stop wasting your time with your &6Alloy Smelter&r. You're gonna need a lot of &6Rubber Sheets&r, and later on you will also use it for other kinds of plastics.\n\nYou may think you can use the Extruder to make rubber sheets instead, but the &6Fluid Solidifier&r can do so much more, while the Extruder is pretty useless until &bMV&r.", - "quests.low_voltage.cupronickel_ingot.title": "Cupronickel Ingots", - "quests.low_voltage.cupronickel_ingot.subtitle": "It's an alloy", - "quests.low_voltage.cupronickel_ingot.desc": "&7A big part of progression in GregTech revolves around gaining access to new materials\nthat you'll use to upgrade your machines or unlock advanced components.&r\n\nThe first alloy you'll encounter is &bCupronickel&r — the beginning of a long journey.\nThis material is used to upgrade your &6Electric Blast Furnace&r, an essential step in your industrial growth.\n\nLuckily, this first step is fairly simple: a basic &7LV Alloy Smelter&r 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.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.", - "quests.low_voltage.lv_ebf.desc.2": "It's important to keep in mind that the EBF is a beefy boy. The minimum power cost to run a recipe is &9120 EU/t&r! That's slightly under 4 &7LV&r Generators or Alternators.\n\nYou may wish to consider building a separate power line, with separate Generators close to the EBF and Battery Buffer to run this. Be wary of the cable loss.", - "quests.low_voltage.multiblock_tech.title": "Multiblock Techniques", - "quests.low_voltage.multiblock_tech.subtitle": "Oh we love multiblocks right?", - "quests.low_voltage.multiblock_tech.desc": "This is the &6basics&r of what you need to build your first &bEBF&r, though it is highly customisable. Remember to use &6EMI&r, use &6U&r on the controller and don't hesitate to &6left click on the structure blocks&r to see what the possibilities are.\n\nAn important notice, each Energy Hatch can accept &a2A&r, which means that at &7LV&r they can each handle &a64 EU/t&r. With two of them, your &eEBF&r can run at &a128 EU/t&r.\n\nFor more details about this mechanic, refer to the &eGregTech Energy Chapter&r, specifically the &eSpending Energy&r section.\n\nMultiblocks bear a large variety of interesting mechanics that might seem daunting, but don't worry - you don't need to do anything fancy right yet. You'll learn more as you go!", + "quests.low_voltage.lv_chemical_reactor.desc.1": "&3化学反応器&rは、&l非常に多用途です。&r\n\nさっそく試してみましょう。まずは&6改善されたゴムのレシピ&rを試してみますか。\n現時点だと、ゴムは液体の状態ではあまり&d使い道がない&rため、もう一段階の加工が必要です。", + "quests.low_voltage.lv_chemical_reactor.desc.2": "&3化学反応器&rだけではゴムは作れません。そこで、次のような&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_fluid_solidifier.title": "基本型液体成型機", + "quests.low_voltage.lv_fluid_solidifier.subtitle": "冶金代行機", + "quests.low_voltage.lv_fluid_solidifier.desc": "この機械を&3化学反応器&rの隣に設置すれば、ゴムを自動的に&aゴムシート&rに固めることができます。\n\n&3化学反応器&rの側面を&dレンチ&rで右クリックして、液体の&9自動出力&rをオンにすれば、液体運搬を自動化できます。\n\nゴム以外にも成型が必要な液体は今後増えるので、&3液体成型機&rはゴムを作らないときには別の素材に使い回すか、もう1台用意しておくのもおすすめです。", + "quests.low_voltage.mold_rotor.title": "コンビネーション", + "quests.low_voltage.mold_rotor.subtitle": "ローター、歯車がついに簡単に!", + "quests.low_voltage.mold_rotor.desc": "新しく作った2台の機械を組み合わせて、素材を液体にしてからローターの型で成型することで、簡単にローターを作ることができます!\nこの方法なら楽な上に、&6インゴット4個分の金属&rだけでローターが作れます。\n\n同じやり方で&6歯車&rや&6小さな歯車&rも作れますが、&3MV押出機&rを作ると、そちらの方法に置き換えられるようにもなります。\n\n&9注意:&r一部の金属は液体抽出の際に&7LV&rよりも高い電圧が必要になる場合があるので、EMIでレシピの対応電圧を確認しておきましょう。", + "quests.low_voltage.mold_plate.title": "金型とゴムシート", + "quests.low_voltage.mold_plate.subtitle": "ゴムの大量生産のために", + "quests.low_voltage.mold_plate.desc": "&6合金精錬炉&rを使うのはもうおしまいです。これから大量の&6ゴムシート&rが必要になりますし、将来のプラスチックの成型にも使えません。\n\n押出機でゴムシートを作ろうと思うかもしれませんが、&6液体成型機&rはそれ以外の様々な加工にも使え、押出機は&bMV&rに達するまではほとんど使い道がありません。", + "quests.low_voltage.cupronickel_ingot.title": "キュプロニッケルインゴット", + "quests.low_voltage.cupronickel_ingot.subtitle": "簡単な合金さ", + "quests.low_voltage.cupronickel_ingot.desc": "&7GregTechを進めていくには、新しい素材をどうにかして確保し、それによって機械をアップグレードしたり、高度な機械部品を解禁していくことが主要な流れになります。&r\n\n長い旅路の始まりに、最初に出会う合金は&bキュプロニッケル&rです。この素材は&6工業用電気炉&r(通称:EBF)を構築するために使われ、これは産業発展には欠かせません。\n\n幸い、キュプロニッケルの作成は&7基本型合金精錬炉&rで十分に対応できます。EBFのためには&b128個&r必要になりますが、思ったより簡単に作れます!&r\n\n後に要求される合金はどんどん複雑になっていきます。今のうちにこのシンプルさを楽しんでおきましょう。", + "quests.low_voltage.cupronickel_coil.title": "キュプロニッケルコイル", + "quests.low_voltage.cupronickel_coil.subtitle": "コイルの赤ちゃん", + "quests.low_voltage.cupronickel_coil.desc": "最初のEBF用のコイルを作るために、&aキュプロニッケルを128個&r、&aブロンズを32個&r、&a錫合金を16個&r用意しましょう。\n\nこれはEBFのコイルの部分の要求素材に過ぎません。さらにインバーとスチールをそれぞれ1スタックずつ用意する必要があるので、採掘も進めてください。\n\nキュプロニッケルコイルを使うことで、EBFは最大&d1,800K&rのレシピを処理できるようになります(電圧ボーナスは無視)。なかなかアツいですね。\n\n「&6GregTechの電力システム&r&6」の章にある高炉に関する説明も確認して、さらに詳しく学んでください!&r", + "quests.low_voltage.lv_ebf.title": "工業用電気炉", + "quests.low_voltage.lv_ebf.subtitle": "GregTechの中心で、愛を叫ぶ", + "quests.low_voltage.lv_ebf.desc.1": "このクエストでは&3工業用電気炉&r(通称:EBF)の基本的な仕組みを学べます。一つ上のクエストでは、マルチブロック構造の仕組みを解説するので、そちらも忘れずにチェックしましょう。\n\nさて、&3EBF&rはあなたにとって&e初めての電動大型機械&rです!おめでとうございます!\nEBFは高温で素材を加工するために使います。\n\nEBFを使えば、&aアルミニウム&rを作って&d&bMV時代&rへ進めます。また、&7スチール&rを&6TFCの高炉&rよりも速く作れるので、愛着がなければ、もう時代遅れなTFCの鍛冶場を取り壊しても問題ありません。", + "quests.low_voltage.lv_ebf.desc.2": "EBFはかなりの電力を必要とする機械です。稼働には最低&9120EU/t&rが必要で、これは&7LV&r発電機約4基分に相当します。\n\nEBFと蓄電器の近くに新しく発電機を用意して、専用の発電ラインを作ることを検討しましょう。ケーブルによる電力損失には注意してください。", + "quests.low_voltage.multiblock_tech.title": "マルチブロック構造について", + "quests.low_voltage.multiblock_tech.subtitle": "デカいことはいいことだ", + "quests.low_voltage.multiblock_tech.desc": "これは、初めて&bEBF&rを作る方に向けた、マルチブロックの&6基本&rの説明です。\n\nマルチブロックのカスタマイズの幅は広いです。マルチブロックの本体となるブロック(コントローラーといいます)に&6U&rキーを押し&6EMI&rのマルチブロック情報を開き、構造ブロックを&6左クリック&rしてどの種類のブロックが使えるかを確認してみましょう。\n\n重要なポイントとして、エネルギーハッチはそれぞれ1つで&a2A&rまで対応でき、&7LV&rでは&a64EU/t&rを受け取れます。つまり、2つあれば&eEBF&rは&a128EU/t&r(MV相当の電圧)で動かせます。\n\n詳しい仕組みは「&eGregTech電力システム&r」章の「&e電力運用について&r」の項目を参照してください。\n\nマルチブロックにはさまざまな面白い仕組みがありますが、最初は難しく考える必要はありません。進めながら少しずつ理解していきましょう。", "quests.low_voltage.multiblock_tech.task.1": "Input Bus", "quests.low_voltage.multiblock_tech.task.2": "Output Bus", "quests.low_voltage.multiblock_tech.task.3": "Input Hatch", - "quests.low_voltage.lv_superconductor.title": "LV Superconductor", - "quests.low_voltage.lv_superconductor.subtitle": "No loss no bzzz", - "quests.low_voltage.lv_superconductor.desc.1": "&6Superconductors&r are special Wires available for each Voltage tier. They don't come with a Cable counterpart, but that isn't necessary, as they have absolutely &6zero cable loss&r.\n\nThey also won't damage you when you touch them. This makes them the best choice for wiring, if not a little expensive in comparison to the other wires.\n\nIf you weren't already enamoured, the 1x variant also covers 2 Amps. Isn't that nice?\n\nNow is a good time to replace your crappy &aTin Cables&r. Recycle them in the &3Extractor&r to recover both the Tin and Rubber used to craft them.", - "quests.low_voltage.lv_superconductor.desc.2": "&l&3Lore:&r&o No version of GregTech has had actual Superconductors for &7LV&f up until Gregicality and GTCEu, though some modpacks had lossless cables.", - "quests.low_voltage.aluminium_dust.title": "Aluminium Dust", - "quests.low_voltage.aluminium_dust.subtitle": "Time for an adventure", - "quests.low_voltage.aluminium_dust.desc": "There's many minerals that can be electrolyzed into aluminium, but most of them are off-limits until &bMV&r. Sapphire is one exception, otherwise several ore processing recipes can also yield aluminium dust as a byproduct. Look through JEI for your options, and consult the &2Field Guide&r on where to find each ore.\n\nOnce you have enough aluminium, we recommend making the electrolyzer as your first MV machine to unlock all the other options.\n\nNow all you need is an EBF! You should've started to work towards one already, otherwise you'd better get started!", - "quests.low_voltage.aluminium_ingot.title": "Your first Aluminium Ingot", - "quests.low_voltage.aluminium_ingot.subtitle": "We're basically in MV now, right?", - "quests.low_voltage.aluminium_ingot.desc": "Well... can you show us an &bMV&r Circuit as well?\n\n&aAluminium&r is the main ingredient for &bMV&r machinery. Get ready to need a lot of it.\n\nThe process of smelting Aluminium can be cut down by about a third with &9Nitrogen&r, which is obtained by centrifuging &9Air&r from a &3Gas Collector&r.\n\n&6You will still need MV Circuits in order to make MV machines!&r", - "quests.low_voltage.mv_hull.title": "Your third machine hull", - "quests.low_voltage.mv_hull.subtitle": "This is going quite well, only 7 to go!", - "quests.low_voltage.mv_hull.desc1": "Good job, you now have your &bMV Machine Hull&r, your first &bMV Circuit&r and your first &6Circuit Assembler&r.\n\nThis is the gist of &6GregTech&r, every tier you are going to make new &6machines&r using new &6materials&r and &6chemicals&r. You are going to have &5so much fun&r, we are kinda jealous!", - "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.lv_superconductor.title": "LV超伝導体", + "quests.low_voltage.lv_superconductor.subtitle": "もう何も失いたくない", + "quests.low_voltage.lv_superconductor.desc.1": "&6超伝導体&rは、どの電圧にも1種類ずつ存在する特殊な電線です。被覆することはできませんが、&6電力損失がゼロ&rなので問題ありません。\n\n触れてもダメージを受けず安全に使えます。少し高価ですが配線には最適です。\n\nさらに、1倍ワイヤーでも2アンペアまで対応しており扱いやすいです。\n\nそろそろ古くなった&a錫ケーブル&rを交換するタイミングです。&3抽出機&rでリサイクルして、使った錫とゴムを回収しましょう。", + "quests.low_voltage.lv_superconductor.desc.2": "&l&3余談:&r&oGregicalityやGTCEu以前には、GregTechのどのバージョンにも、&7LV&f用の本物の超伝導体は存在しなかったんだよ。一部のModPackに損失ゼロのケーブルがあったくらいだね。", + "quests.low_voltage.aluminium_dust.title": "アルミニウムの粉", + "quests.low_voltage.aluminium_dust.subtitle": "必要なのは鉱石処理の技術", + "quests.low_voltage.aluminium_dust.desc": "電解することでアルミニウムを生むことができる鉱石はいくつかありますが、ほとんどは&bMV&rに入ってからです。\n例外として、鉱石処理の過程で副産物としてアルミニウム粉が得られる鉱石もあります。EMIで利用可能な方法を確認し、&2フィールドガイド&rで各鉱石の採掘場所をチェックしましょう。\n\n十分なアルミニウムが集まったら、最初のMV機械として電解槽を作るのがおすすめです。これで、さらにアルミニウムを確保しやすくなります。\n\nEBFが完成していれば、MVまであと少しですよ!", + "quests.low_voltage.aluminium_ingot.title": "アルミニウムインゴット", + "quests.low_voltage.aluminium_ingot.subtitle": "MVの入り口のカギ", + "quests.low_voltage.aluminium_ingot.desc": "さて、&bMV&r回路も一緒にご提示願います。\n\n&aアルミニウム&rは&bMV&r機械を作るための主要素材です。大量に必要になりますので、しっかりと準備しておきましょう。\n\nアルミニウムの精錬は、&9窒素&rを使うことで約3分の1早くなります。窒素は&3ガス収集機&rで確保した&9空気&rを遠心分離することで入手できます。\n\n&6MV機械を作るには、もちろんMV回路も必要ですよ!&r", + "quests.low_voltage.mv_hull.title": "第三のマシン筐体", + "quests.low_voltage.mv_hull.subtitle": "MVへの入り口", + "quests.low_voltage.mv_hull.desc1": "よくぞここまで来ましたね!&bMVマシン筐体&r、&b改良型電子回路&r、&6基本型回路作成機&rがあれば、正真正銘、MV時代に到達です!\n\nこれが&6GregTech&rの基本的な流れです。新しいティアに進むたびに、新たな&6素材&rや&6化学物質&rを使って、より高度な&6機械&rを作っていくことになります。\nこんなにすばらしい体験をすることができるなんて、羨ましい限りです。", + "quests.low_voltage.mv_hull.desc2": "&bMV&rに進む前に、&6TFG&rでは、&6Create&rのマシンを使ってインフラを補強することも可能です。アルミニウム製のシャフトや歯車はスチール製のものより許容応力が4倍あるので、それらを活用すればマシンをより高速に、安全に稼働させられます。", "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!", @@ -2873,7 +2873,7 @@ "quests.medium_voltage.lsb.subtitle": "If you have unlimited fuel, it can still be good", "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d1800 mB/t of Steam&r.\n\nWe'd recommend you try other power options at this point.", "quests.metal_age": "金属時代", - "quests.metal_age.subtitle": "技術の夜明け", + "quests.metal_age.subtitle": "鉱石を捧げよ", "quests.metal_age.weld_bronze_ingots.title": "ブロンズの溶接", "quests.metal_age.weld_bronze_ingots.subtitle": "習うより慣れろ", "quests.metal_age.weld_bronze_ingots.desc": "まず、どの種類でもいいので、ブロンズのインゴットを14個以上集め、銅の金床で溶接しましょう。\n\n第二等級の金床はビスマスブロンズ、ブロンズ、またはブラックブロンズで作ることができますが、別の金属どうしを合わせて使うことはできません。", @@ -2882,19 +2882,19 @@ "quests.metal_age.anvil_recycling.desc": "次の等級の金床(銅からブロンズ、またはブロンズから錬鉄など)を作成すると、前の等級の金床は基本的に使い道がなくなります。\n\nただし、金属でできているので、溶かして再利用することができます!\n壺を炉のインターフェースの右側に置き、金床を溶ける温度になるまでゆっくりと加熱します。溶けた金属は壺の中にたまるので、それをインゴットなどに戻すことができます!", "quests.metal_age.bronze_anvil.title": "第二の金床:ブロンズ", "quests.metal_age.bronze_anvil.subtitle": "機械仕掛けの時代が来ます", - "quests.metal_age.bronze_anvil.desc": "金属をダブルインゴット以外に加工するには、同じ等級以上の金床を使用する必要があります。金床での作業はやや複雑ですが、フィールドガイドのTFG_Infoに詳細が記載されています。\n\nそして、ブロンズによって機械仕掛けを利用した自動化がついに解放されます!", + "quests.metal_age.bronze_anvil.desc": "金属をダブルインゴット以外に加工するには、同じ等級以上の金床を使用する必要があります。\n金床での作業はやや複雑ですが、フィールドガイドのTFG_Infoに詳細が記載されています。\n\nそして、ブロンズによって機械仕掛けを利用した自動化がついに解放されます!", "quests.metal_age.bronze_goodies.title": "ブロンズを利用した機械", "quests.metal_age.bronze_goodies.subtitle": "時は来た!", "quests.metal_age.bronze_goodies.desc": "ブロンズは初歩的な機械仕掛けを作るのに適した強度を持つ素材です!\n\nこれを利用する際は、クエストの&o「初期の自動化」&rの章を参考にしてください!", "quests.metal_age.copper_diving.title": "銅の潜水装備", "quests.metal_age.copper_diving.subtitle": "そんなに銅があるんなら、これとかはどう?", - "quests.metal_age.copper_diving.desc": "洞窟の帯水層、何とかしたいですよね。 銅の潜水装備を作れば最大20分間の潜水が可能です!", + "quests.metal_age.copper_diving.desc": "洞窟の帯水層、何とかしたいですよね。\n銅の潜水装備を作れば最大20分間の潜水が可能です!", "quests.metal_age.bloomery.title": "塊鉄炉", "quests.metal_age.bloomery.subtitle": "鉄器時代を目指して。", - "quests.metal_age.bloomery.desc": "塊鉄炉は、錬鉄を作成するためのTerraFirmaCraftのマルチブロックです。炉で鉄鉱石を溶かすと鋳鉄になります。これは脆く、錬鉄ほどの耐久性もありません。\n\n塊鉄炉は高価なので、自動プレート生産と鉱石処理の設備を整備するのもよいでしょう。\n\nフィールドガイドには、塊鉄炉の仕組みと必要な鉄と木炭の正しい比率に関する詳しい情報が記載されています。", + "quests.metal_age.bloomery.desc": "塊鉄炉は、錬鉄を作成するためのTerraFirmaCraftのマルチブロックです。\n炉で鉄鉱石を溶かすと鋳鉄になってしまいます。これは脆く、錬鉄ほどの耐久性もありません。\n\n塊鉄炉は高価なので、自動プレート生産と鉱石処理の設備を整備するのもよいでしょう。\n\nフィールドガイドには、塊鉄炉の仕組みと必要な鉄と木炭の正しい比率に関する詳しい情報が記載されています。", "quests.metal_age.mining.title": "金属時代の採掘", "quests.metal_age.mining.subtitle": "誰にだって止められっこないさ", - "quests.metal_age.mining.desc": "採掘、それはこのModPackの醍醐味の一つです!金属時代の進行にも&l大量の&r金属が必要になります。 そこで役に立つのが採掘用ハンマーです!これは、採掘速度が少し遅くなる代わりに、3x3x1の範囲のブロックを採掘できるツールです。スニークして、一度に1つのブロックを破壊することもできます。", + "quests.metal_age.mining.desc": "採掘、それはこのModPackの醍醐味の一つです!金属時代の進行にも&l大量の&r金属が必要になります。\nそこで役に立つのが採掘用ハンマーです!これは、採掘速度が少し遅くなる代わりに、3x3x1の範囲のブロックを採掘できるツールです。\nスニークして、一度に1つのブロックを破壊することもできます。", "quests.metal_age.bellows.title": "ふいご", "quests.metal_age.bellows.subtitle": "もっと!熱くなれよ!", "quests.metal_age.bellows.desc": "ふいごを使えば、炉の中に空気を送り込むことで、燃料をより早く消費して、炉の内部の温度をさらに高くすることができます。\n\nこうして生み出した高温は、木炭で陶器を焼いたり、特定の金属を溶かしたりするために必要です。\n\n石炭やコークスなら、ふいごを使わなくても高温になります。", @@ -2903,31 +2903,31 @@ "quests.metal_age.wrought_iron_anvil.desc": "錬鉄の金床を使用すると、錬鉄のインゴットをプレートや、ツールヘッドなどのさまざまなアイテムに加工できます。\n\n錬鉄のツールと鎧はブロンズよりも大幅に性能が上がるわけではありませんが、耐久性がはるかに優れています。\n\n次の金床の作成は難易度が大幅に上がるため、腰を据えてこのModPackにある他の要素の探求をするのにいい時期だと思います。", "quests.metal_age.coke_oven.title": "コークス炉", "quests.metal_age.coke_oven.subtitle": "木炭の山からの卒業", - "quests.metal_age.coke_oven.desc.1": "コークス炉は、最初のGregTechマルチブロックです!木炭やその他の強力な燃料の自動クラフトに使えます。 コークス炉は、1つの丸太から1つの木炭と250mbのクレオソートを生成します。クレオソートは、木材の防腐処理に使用される重要な化学物質です。\n\nメインのコークス炉ブロックを作成し、EMIの「用途」キー(デフォルトは「U」)を押すと、「マルチブロック情報」というタブが表示され、コークス炉の構成が表示されます。\n\n本体となるブロックを設置し、スニークしながら右クリックすることで、足りないブロックのホログラムを表示することもできます。", - "quests.metal_age.coke_oven.desc.2": "コークス炉は、コークス炉用ハッチを使用して完全に自動化できます。ハッチは炉の側面に配置され、アイテムと液体の両方の入力と出力が可能です。\n\n入力口にクレート、出力口にチェストやクレオソートを収集するためのドラム、樽、または大きな木製タンクを設置すれば、入力と出力が自動になったコークス炉を簡単に構築できます。\n\n補足:チェストとは異なり、クレートは丸太などのサイズが大きなアイテムを入れることができます。また、レンチでGregTechパイプをスニークして右クリックすると、一方通行にすることができます。", + "quests.metal_age.coke_oven.desc.1": "コークス炉は、最初のGregTechマルチブロックです!木炭やその他の強力な燃料の自動クラフトに使えます。\nコークス炉は、1つの丸太から1つの木炭と250mbのクレオソートを生成します。クレオソートは、木材の防腐処理に使用される重要な化学物質です。\n\nメインのコークス炉ブロックを作成し、EMIの「用途」キー(デフォルトは「U」)を押すと、「マルチブロック情報」というタブが表示され、コークス炉の構成が表示されます。\n\n本体となるブロックを設置し、スニークしながら右クリックすることで、足りないブロックのホログラムを表示することもできます。", + "quests.metal_age.coke_oven.desc.2": "コークス炉は、コークス炉用ハッチを使用して完全に自動化できます。ハッチは炉の側面に配置され、アイテムと液体の両方の入力と出力が可能です。\n\n入力口にクレート、出力口にチェストやクレオソートを収集するためのドラム、樽、または大きな木製タンクを設置すれば、入力と出力が自動になったコークス炉を簡単に構築できます。\n\n補足:チェストとは異なり、クレートは丸太などのサイズが大きなアイテムを入れることができます。\nまた、レンチでGregTechパイプをスニークして右クリックすると、一方通行にすることができます。", "quests.metal_age.wrought_iron_goodies.title": "錬鉄を利用した機械", "quests.metal_age.wrought_iron_goodies.subtitle": "安山岩合金?なんのこと?", - "quests.metal_age.wrought_iron_goodies.desc": "錬鉄を使用すると、錬鉄ケーシングを作成できるようになります。これは、ギアボックスなどのCreateの多くのマシンや機構の基礎になります。より高度なものの中にはスチールが必要なものもありますが、この時点で完全に自動化された木と作物の農場を構築することだってできます。\n\nクレオソートは、防腐木材を作成するために使用されます。これは、水車や風車に加工でき、動物の力よりも強力な動力を扱えるようになります。", + "quests.metal_age.wrought_iron_goodies.desc": "錬鉄を使用すると、錬鉄ケーシングを作成できるようになります。\nこれは、ギアボックスなどのCreateの多くのマシンや機構の基礎になります。より高度なものの中にはスチールが必要なものもありますが、この時点で完全に自動化された木と作物の農場を構築することだってできます。\n\nクレオソートは、防腐木材を作成するために使用されます。これは、水車や風車に加工でき、動物の力よりも強力な動力を扱えるようになります。", "quests.metal_age.fire_clay_ingredients.title": "耐火粘土の材料", "quests.metal_age.fire_clay_ingredients.subtitle": "TerraFirmaCraftの通過儀礼。", - "quests.metal_age.fire_clay_ingredients.desc": "耐火粘土は、カオリナイト、グラファイト、通常の粘土から作る特殊な粘土で、特に高熱に耐性があります。用途は主に2つあり、1つは、金属製錬を楽にし、壺より優れた合金作成手段として機能する「るつぼ」で、もう一つは、次の金床にも使われるスチールの作成に必要な「高炉」です。\n\nグラファイトとカオリン粘土の両方を入手するには、大規模な冒険をする必要があるため、準備をしておきましょう!", + "quests.metal_age.fire_clay_ingredients.desc": "耐火粘土は、カオリナイト、グラファイト、通常の粘土から作る特殊な粘土で、特に高熱に耐性があります。\n用途は主に2つあり、1つは、金属製錬を楽にし、壺より優れた合金作成手段として機能する「るつぼ」で、もう一つは、次の金床にも使われるスチールの作成に必要な「高炉」です。\n\nグラファイトとカオリン粘土の両方を入手するには、大規模な冒険をする必要があるため、準備をしておきましょう!", "quests.metal_age.overworld_kaolin.title": "地上世界のカオリン源", "quests.metal_age.overworld_kaolin.subtitle": "冒険の時間", - "quests.metal_age.overworld_kaolin.desc": "カオリン粘土は、標高が高く、気温は少なくとも18度以上、そして降水量300㎜以上の地域でのみ見つけることができます。カオリン粘土の生成条件とヒントの詳細は、フィールドガイドにあります。\n\n南東の遥か遠くまで、おそらく海を越えて移動する必要があるでしょう。鉄製水筒、大量の食料、カヌー、手漕ぎボート、カヤックなどの船、そしてできるだけ多くのカオリンを持ち帰るための運搬手段を用意してください。\n\nクエストの「Tips-移動手段」の章には、様々な運搬手段と船に関する情報があります。", + "quests.metal_age.overworld_kaolin.desc": "カオリン粘土は、標高が高く、気温は少なくとも18度以上、そして降水量300㎜以上の地域でのみ見つけることができます。\nカオリン粘土の生成条件とヒントの詳細は、フィールドガイドにあります。\n\n南東の遥か遠くまで、おそらく海を越えて移動する必要があるでしょう。鉄製水筒、大量の食料、カヌー、手漕ぎボート、カヤックなどの船、そしてできるだけ多くのカオリンを持ち帰るための運搬手段を用意してください。\n\nクエストの「Tips-移動手段」の章には、様々な運搬手段と船に関する情報があります。", "quests.metal_age.beneath_kaolin.title": "The Beneathのカオリン源", "quests.metal_age.beneath_kaolin.subtitle": "さらなる深みへ", - "quests.metal_age.beneath_kaolin.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。上層部には、緑豊かなオアシスであり、カオリン粘土が生成される「Lush_Hollow」というバイオームが存在します。ただし、その場所には固有のモンスターがスポーンします。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料であるAnthraciteを採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", + "quests.metal_age.beneath_kaolin.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。\n上層部には、緑豊かなオアシスであり、カオリン粘土が生成される「Lush_Hollow」というバイオームが存在します。ただし、その場所には固有のモンスターがスポーンします。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料であるAnthraciteを採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", "quests.metal_age.beneath_kaolin.task": "オーバーワールドの岩盤を横断してThe Beneathに到達する", "quests.metal_age.overworld_graphite.title": "地上世界のグラファイト源", "quests.metal_age.overworld_graphite.subtitle": "目印はどこ?", - "quests.metal_age.overworld_graphite.desc": "グラファイト鉱脈は、地下深くに平らで広い円盤状に生成されます。\n\n見つけるためには、洞窟探索をする必要があります! グラファイト鉱脈は、あらゆる種類の岩石に生成される可能性があり、鉱脈には石炭とダイヤモンドも含まれています。ただし、鉱脈は深いところに生成されるため地上に目印が現れることはめったにないです。 金属製の盾、Digger_Helmet、探鉱槌、望遠鏡などの道具があればきっと役に立つでしょう!", + "quests.metal_age.overworld_graphite.desc": "グラファイト鉱脈は、地下深くに平らで広い円盤状に生成されます。\n\n見つけるためには、洞窟探索をする必要があります! グラファイト鉱脈は、あらゆる種類の岩石に生成される可能性があり、鉱脈には石炭とダイヤモンドも含まれています。ただし、鉱脈は深いところに生成されるため地上に目印が現れることはめったにないです。\n金属製の盾、Digger_Helmet、探鉱槌、望遠鏡などの道具があればきっと役に立つでしょう!", "quests.metal_age.beneath_graphite.title": "The Beneathのグラファイト源", "quests.metal_age.beneath_graphite.subtitle": "さらなる深みへ", - "quests.metal_age.beneath_graphite.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。Beneathでは、特大のグラファイト鉱脈を見つけることができますが、固有のモンスターがそれを守っている可能性があります。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料であるAnthraciteを採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", + "quests.metal_age.beneath_graphite.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。\nBeneathでは、特大のグラファイト鉱脈を見つけることができますが、固有のモンスターがそれを守っている可能性があります。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料であるAnthraciteを採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", "quests.metal_age.beneath_graphite.task": "オーバーワールドの岩盤を横断してThe Beneathに到達する", "quests.metal_age.kaolin_clay.title": "カオリン粘土", "quests.metal_age.kaolin_clay.subtitle": "カオリン探訪記", - "quests.metal_age.kaolin_clay.desc": "カオリン粘土を見つけたら、できるだけ多く持ち帰る必要があります! 悲しいことに、焼いた際にカオリナイトの粉になってくれる確率はわずか20%しかありません。より多くの成果物を運びたい場合は、穴窯でその場で焼いてしまうことをお勧めします。\n\nるつぼと高炉が作成できたら、それ以上に必要になることはありませんが、長い距離を何度も往復することを避けたければ、こんなに多くは要らないじゃないかってくらい多く持ち帰ることをお勧めします。\n\nP.S.:ハエマンサス(Blood_Liiy)は見つかったがカオリン粘土が見つからないという場合は、もう少し深く掘ってみてください!地下に少し生成されてることがあります。", + "quests.metal_age.kaolin_clay.desc": "カオリン粘土を見つけたら、できるだけ多く持ち帰る必要があります!\n悲しいことに、焼いた際にカオリナイトの粉になってくれる確率はわずか20%しかありません。より多くの成果物を運びたい場合は、穴窯でその場で焼いてしまうことをお勧めします。\n\nるつぼと高炉が作成できたら、それ以上に必要になることはありませんが、長い距離を何度も往復することを避けたければ、こんなに多くは要らないじゃないかってくらい多く持ち帰ることをお勧めします。\n\nP.S.:ハエマンサス(Blood_Liiy)は見つかったがカオリン粘土が見つからないという場合は、もう少し深く掘ってみてください!地下に少し生成されてることがあります。", "quests.metal_age.graphite.title": "グラファイト", "quests.metal_age.graphite.subtitle": "鉛筆はないよ", "quests.metal_age.graphite.desc": "グラファイトを見つけたら、できるだけ多く持ち帰る必要があります!カオリン粘土ほど多くは必要ありませんが。\nグラファイト鉱脈には石炭とダイヤモンドも豊富で、スチールを作るためには石炭が必要になることでしょう。", @@ -2940,10 +2940,10 @@ "quests.metal_age.fire_clay_products.desc": "通常の粘土と同様に、耐火粘土も手で成形できます。最も重要な使い道は、るつぼと耐火レンガです。どちらも高炉に必要です。\n\nまた、鋳型台と鋳造樋を作成することもできます。これにより、るつぼから複数の型に一度に金属を鋳造できるようになります。\n\n最後に、耐火のインゴットの型があります。通常の粘土で作った型は10%で破損しますが、これは1%の確率で破損します。", "quests.metal_age.crucible.title": "るつぼ", "quests.metal_age.crucible.subtitle": "これであなたも金属を溶かすプロですね", - "quests.metal_age.crucible.desc": "るつぼは炉の上に設置します。9つのスロットと合金比率を確認するためのインターフェースがあり、液体容量は4032mBです。また、壊したときに内容物を保持してくれます。そして、高炉の下に置くと、銑鉄が溜まっていきます。\n\nるつぼは内部のすべてを混ぜ合わせて合金化しようとするので注意してください。TiCの乾式製錬炉のように金属を分離してくれませんよ! 使用していないときは中身を空にしておくことをお勧めします。", + "quests.metal_age.crucible.desc": "るつぼは炉の上に設置します。9つのスロットと合金比率を確認するためのインターフェースがあり、液体容量は4032mBです。\nまた、壊したときに内容物を保持してくれます。そして、高炉の下に置くと、銑鉄が溜まっていきます。\n\nるつぼは内部のすべてを混ぜ合わせて合金化しようとするので注意してください。TiCの乾式製錬炉のように金属を分離してくれませんよ!\n使用していないときは中身を空にしておくことをお勧めします。", "quests.metal_age.fire_bricks.title": "耐火レンガ", "quests.metal_age.fire_bricks.subtitle": "高炉のために", - "quests.metal_age.fire_bricks.desc": "耐火レンガは高炉の建設に使用されます。炉を作るには少なくとも4つの耐火レンガブロックが必要です。\n\n耐火レンガは、製鉄のために用いる場合、断熱材を必要とします。耐火レンガの周りに3つの錬鉄シートを張り付けるか、高炉断熱材を使用しましょう", + "quests.metal_age.fire_bricks.desc": "耐火レンガは高炉の建設に使用されます。炉を作るには少なくとも4つの耐火レンガブロックが必要です。\n\n耐火レンガは、製鉄のために用いる場合、断熱材を必要とします。耐火レンガの周りに3つの錬鉄プレートを張り付けるか、高炉断熱材を使用しましょう", "quests.metal_age.fully_stacked_blast_furnace.title": "完全に積み重ねられた高炉", "quests.metal_age.fully_stacked_blast_furnace.subtitle": "完全体高炉", "quests.metal_age.fully_stacked_blast_furnace.desc": "フルサイズの高炉は、一度に大量の鉄を溶かして処理することができます。将来、大量のスチールが必要になるため、できるだけ大きくすることをお勧めします。\n\n合金精錬機を作れたら、より安価に耐火レンガを作成できるようになります。", @@ -2955,10 +2955,10 @@ "quests.metal_age.blast_furnace.desc": "高炉は、銑鉄を作成できるマルチブロック構造体です。鉄、融剤、燃料(隣接するクエストを参照)の組み合わせを高炉の上から投入して加熱すると、銑鉄が生成され、これはスチールに加工できます。\n\n高炉が必要な温度に達するためには、高炉にふいごを使うことが必要になります。この際、高炉の中にセットした羽口を通して空気が送り込まれます。\n\nフィールドガイドには、高炉の仕組みと構築方法に関する情報が載ってます。", "quests.metal_age.steel_anvil.title": "第四の金床:スチール(鋼)", "quests.metal_age.steel_anvil.subtitle": "錬鉄からの大躍進", - "quests.metal_age.steel_anvil.desc": "鋼の金床を使用すると、スチールのインゴットをさまざまな形に加工できます。\n\nスチールのツールと装備は、ブロンズや錬鉄のものよりも大幅に性能が向上しているため、ツールを新調するにはうってつけです。 これから多くの合金を作成する必要があるため、採掘手段を強化しておくことをお勧めします。", + "quests.metal_age.steel_anvil.desc": "鋼の金床を使用すると、スチールのインゴットをさまざまな形に加工できます。\n\nスチールのツールと装備は、ブロンズや錬鉄のものよりも大幅に性能が向上しているため、ツールを新調するにはうってつけです。\nこれから多くの合金を作成する必要があるため、採掘手段を強化しておくことをお勧めします。", "quests.metal_age.steel_goodies.title": "スチールを利用した機械", "quests.metal_age.steel_goodies.subtitle": "鋼の錬金術師", - "quests.metal_age.steel_goodies.desc": "スチール製のGreateのマシンたちは、最大許容応力が増加しています!また、鉱石洗浄を自動化できるケース入りファンや、液体運搬の利便性を大幅に向上させるメカニカルポンプなども作成できるようになりました。\n\nメカニカルポンプは特に便利で、うまく使えば、高炉を簡単な自動化にも利用できます。\n\nこれらに動力を供給するために、燃料と水を大量の応力に変換できる蒸気エンジンを作ることもできますよ!", + "quests.metal_age.steel_goodies.desc": "スチール製のGreateのマシンたちは、最大許容応力が増加しています!\nまた、鉱石洗浄を自動化できるケース入りファンや、液体運搬の利便性を大幅に向上させるメカニカルポンプなども作成できるようになりました。\n\nメカニカルポンプは特に便利で、うまく使えば、高炉を簡単な自動化にも利用できます。\n\nこれらに動力を供給するために、燃料と水を大量の応力に変換できる蒸気エンジンを作ることもできますよ!", "quests.metal_age.weak_steel.title": "軟鋼の材料", "quests.metal_age.weak_steel.subtitle": "数学が好きであることを願っています", "quests.metal_age.weak_steel.desc": "軟鋼は、黒鋼を作成するために必要な金属です。2つのスチール、1つのニッケル、1つのブラックブロンズから作ることができます。\n\n液体の軟鋼のレシピを見れば、より正確な合金化比率を確認できます。", @@ -2967,13 +2967,13 @@ "quests.metal_age.weak_steel.task3": "1つのブラックブロンズ", "quests.metal_age.highcarb_black_steel.title": "黒鋼の材料", "quests.metal_age.highcarb_black_steel.subtitle": "質量保存の法則は適用されません", - "quests.metal_age.highcarb_black_steel.desc": "最後の2つの金床は、作成に多くの金属を必要とする複雑な合金で作ることができます。軟鋼と銑鉄を溶接して高炭素黒鋼を作成し、それを金床で鍛造して黒鋼にすることができます。", + "quests.metal_age.highcarb_black_steel.desc": "最後の2つの金床は、作成に多くの金属を必要とする複雑な合金で作ることができます。\n軟鋼と銑鉄を溶接して高炭素黒鋼を作成し、それを金床で鍛造して黒鋼にすることができます。", "quests.metal_age.black_steel_anvil.title": "第五の金床:黒鋼", "quests.metal_age.black_steel_anvil.subtitle": "蒸気の力をその手の中に!", - "quests.metal_age.black_steel_anvil.desc": "黒鋼の金床を使用すると、黒鋼のインゴットをさまざまなアイテムに加工できるようになります。\n\nまた、「初期の自動化」の章の中で高圧蒸気力に関連する大規模な項目が解放されました!\n\nここから、工業化に向けてまっすぐ進むことも、あるいは必要に応じて最上位の金床を完成させることもできます。ただし、色つきの鋼を永遠に避けることはできません!", + "quests.metal_age.black_steel_anvil.desc": "黒鋼の金床を使用すると、黒鋼のインゴットをさまざまなアイテムに加工できるようになります。\n\nまた、「初期の自動化」の章の中で高圧蒸気力に関連する大規模な項目が解放されました!\n\nここから、工業化に向けてまっすぐ進むことも、あるいは必要に応じて最上位の金床を完成させることもできます。\nただし、色つきの鋼を永遠に避けることはできません!", "quests.metal_age.black_steel_goodies.title": "黒鋼レベルの機械力", "quests.metal_age.black_steel_goodies.subtitle": "産業革命がもたらしたもの", - "quests.metal_age.black_steel_goodies.desc": "黒鋼によって高圧蒸気力を利用した機械が解放されました!この強力な鋼のおかげで、より強力でコンパクトな蒸気ボイラーが作成可能になり、最初の電子機器を作成するための新しい機械たちに動力を供給します。", + "quests.metal_age.black_steel_goodies.desc": "黒鋼によって高圧蒸気力を利用した機械が解放されました!\nこの強力な鋼のおかげで、より強力でコンパクトな蒸気ボイラーが作成可能になり、最初の電子機器を作成するための新しい機械たちに動力を供給します。", "quests.metal_age.red_blu.title": "赤鋼と青鋼", "quests.metal_age.red_blu.subtitle": "マインクラフトに最古から存在した伝説の鋼", "quests.metal_age.red_blu.desc": "最後の等級の金床は、赤鋼または青鋼のいずれかで作ることができます。どちらもスチールと複数の異なる金属の複雑な合金です。\n\n青鋼は、その優れた耐熱性と採掘速度に秀でており、赤鋼は膨大な強度と耐久性を誇っています。", @@ -2993,19 +2993,19 @@ "quests.metal_age.weak_blue_steel.bismuth_bronze": "1つのビスマスブロンズ", "quests.metal_age.highcarb_red_steel.title": "赤鋼の材料", "quests.metal_age.highcarb_red_steel.subtitle": "核分裂反応ってこんな感じだっけ?", - "quests.metal_age.highcarb_red_steel.desc": "赤鋼のための高炭素赤鋼は、軟赤鋼と黒鋼を溶接することによって作られます。これを赤鋼にするには、金床で鍛造する必要があります", + "quests.metal_age.highcarb_red_steel.desc": "赤鋼のための高炭素赤鋼は、軟赤鋼と黒鋼を溶接することによって作られます。\nこれを赤鋼にするには、金床で鍛造する必要があります", "quests.metal_age.highcarb_blu_steel.title": "青鋼の材料", "quests.metal_age.highcarb_blu_steel.subtitle": "このレシピ、ラボアジエがみたらどう思うでしょう", - "quests.metal_age.highcarb_blu_steel.desc": "青鋼のための高炭素青鋼は、軟青鋼と黒鋼を溶接することによって作られます。これを青鋼にするには、金床で鍛造する必要があります", + "quests.metal_age.highcarb_blu_steel.desc": "青鋼のための高炭素青鋼は、軟青鋼と黒鋼を溶接することによって作られます。\nこれを青鋼にするには、金床で鍛造する必要があります", "quests.metal_age.redblu_anvil.title": "第六の金床:赤鋼・青鋼", "quests.metal_age.redblu_anvil.subtitle": "おしまい?それともはじまり?", "quests.metal_age.redblu_anvil.desc": "最上級の金床である赤鋼・青鋼の金床を使用すると、赤鋼と青鋼の両方のインゴットをさまざまなアイテムに加工できます。\n\nこれはTerraFirmaCraftの進行の終わりを示しています。これからは本格的なGregの進行が始まります。", "quests.metal_age.red_steel_flask.title": "赤鋼製水筒", "quests.metal_age.red_steel_flask.subtitle": "3倍は入らない", - "quests.metal_age.red_steel_flask.desc": "赤鋼製水筒は、利用可能な最高の水筒です。鉄製水筒と同じ量の液体を保持でき、何より赤鋼製水筒は決して壊れません。", + "quests.metal_age.red_steel_flask.desc": "赤鋼製水筒は、利用可能な最高の水筒です。\n鉄製水筒と同じ量の液体を保持でき、何より赤鋼製水筒は決して壊れません。", "quests.metal_age.redblu_buckets.title": "バケツの材料", "quests.metal_age.redblu_buckets.subtitle": "バケツの核融合", - "quests.metal_age.redblu_buckets.desc": "金属時代に最後にやるべきことは、バケツを作成することです。木製のバケツやこれまで使用していた他の液体運搬アイテムとは異なり、バケツは溶岩を運んだり、液体の水源を移動したりするために使用できます。", + "quests.metal_age.redblu_buckets.desc": "金属時代に最後にやるべきことは、バケツを作成することです。\n木製のバケツやこれまで使用していた他の液体運搬アイテムとは異なり、バケツは溶岩を運んだり、液体の水源を移動したりするために使用できます。", "quests.metal_age.this_is_a_bucket.title": "これは...バケツです。", "quests.metal_age.this_is_a_bucket.subtitle": "どうやってここまで?", "quests.metal_age.this_is_a_bucket.desc": "バケツの作成、本当におめでとうございます。金属時代はこれにて幕を下ろします。\n\nさあ!ついに機械の製作に、Gregに!取り掛かる時が来ましたよ!", @@ -3063,9 +3063,9 @@ "quests.ore_proc.macerator_byproduct.subtitle": "鉱石からのより多くの収穫", "quests.ore_proc.macerator_byproduct.desc": "&bEMI&rでレシピを確認すると、&d粉砕機&rや&d石臼&rの出力欄に、実際より多くのアイテムが表示されていることに気づくかもしれません。この仕様は分かりにくいのですが、このような追加生産物は&6HV&rの機械から解放されます。&6HV&rの粉砕機が使えるようになると、鉱石1つあたりから得られる量が大幅に増えます。", "quests.ore_proc.macerator_byproduct.task": "Either an HV Macerator or HS Crushing Wheels", - "quests.ore_proc.sodium_persuflate.title": "過硫酸ナトリウム処理", - "quests.ore_proc.sodium_persuflate.subtitle": "回路基板以外の使い方", - "quests.ore_proc.sodium_persuflate.desc": "LV時代になると、&b化学槽&rで&d過硫酸ナトリウム&rを使った処理によって、副産物をより多く得ることができるようになります。すべての鉱石に対応してはいませんが、対応している鉱石なら、&b鉱石洗浄機&rでの確率&6(30%)&rよりも高い、&670%&rほどの確率で副産物を入手できます。\n\n過硫酸ナトリウムの大量生産はやや手間がかかりますが、原料としては&9海水&rから始めるのが簡単でおすすめです。\n\n下のクエストでは、この方法に向いている鉱石を紹介しています。", + "quests.ore_proc.sodium_persulfate.title": "過硫酸ナトリウム処理", + "quests.ore_proc.sodium_persulfate.subtitle": "回路基板以外の使い方", + "quests.ore_proc.sodium_persulfate.desc": "LV時代になると、&b化学槽&rで&d過硫酸ナトリウム&rを使った処理によって、副産物をより多く得ることができるようになります。すべての鉱石に対応してはいませんが、対応している鉱石なら、&b鉱石洗浄機&rでの確率&6(30%)&rよりも高い、&670%&rほどの確率で副産物を入手できます。\n\n過硫酸ナトリウムの大量生産はやや手間がかかりますが、原料としては&9海水&rから始めるのが簡単でおすすめです。\n\n下のクエストでは、この方法に向いている鉱石を紹介しています。", "quests.ore_proc.sodium_ores.title": "過硫酸ナトリウム処理の例", "quests.ore_proc.sodium_ores.subtitle": "時間の節約のために", "quests.ore_proc.sodium_ores.desc": "以下の鉱石は&b化学槽&rでの&d過硫酸ナトリウム処理&rに適しています:\n\n-&6砕いたアルミニウム鉱石&r:&dルチル&r(チタニウム)\n\n-&6砕いたボーキサイト鉱石&r:&dガリウム&r\n\n-&6砕いたコバルト鉱石&r:&d輝コバルト鉱&r(&dヒ素&r)", @@ -3078,7 +3078,7 @@ "quests.ore_proc.mercury_ores.desc": "一部の鉱石は、&d水銀&rで処理することで貴重な副産物を得ることができます。すべての鉱石に対応してはいませんが、対応している鉱石なら、&b鉱石洗浄機&rでの確率&6(30%)&rよりも高い、&670%&rほどの確率で副産物を入手できます。\n\n&d水銀&rは、&cレッドストーン&rや&c辰砂&rを遠心分離することで簡単に手に入ります。\n\n下のクエストでは、水銀処理に向いている鉱石を紹介しています。", "quests.ore_proc.mercury.title": "水銀処理の例", "quests.ore_proc.mercury.subtitle": "金属の入浴剤", - "quests.ore_proc.mercury.desc": "以下の鉱石は&b化学槽&rでの&d水銀処理&rに適しています:\n\n- &6砕いた白金鉱石&r:&dパラジウム&r\n\n&6砕いたニッケル鉱石&r:&dプラチナ&r\n\n-&6砕いたシェルドナイト鉱石&r:&dパラジウム&r\n\n-&6砕いた金鉱石&r:&d銀&r", + "quests.ore_proc.mercury.desc": "以下の鉱石は&b化学槽&rでの&d水銀処理&rに適しています:\n\n-&6砕いた白金鉱石&r:&dパラジウム&r\n\n&6-砕いたニッケル鉱石&r:&dプラチナ&r\n\n-&6砕いたシェルドナイト鉱石&r:&dパラジウム&r\n\n-&6砕いた金鉱石&r:&d銀&r", "quests.ore_proc.indium.title": "インジウムライン", "quests.ore_proc.indium.subtitle": "ラインとは言うものの、実は2工程しかないです", "quests.ore_proc.indium.desc": "&6インジウムライン&rは、基本的に&9IV&rに到達するまでは不要です。稼働には洗浄した&b閃亜鉛鉱&rと&b方鉛鉱&rが必要になります。", @@ -3118,7 +3118,7 @@ "quests.ore_proc.bauxite.desc": "ボーキサイトをそのまま電解しても、15個からアルミが6個とルチルが1個しか手に入りません...でも、&6ボーキサイトライン&rなら話は別です!\n\nこの新しい処理ルートでは、アルミは約2倍、ルチルは約3倍の効率で回収できます。しかも、ガリウム・鉄・ネオジム・クロムといったおまけの素材まで手に入る、本当におトクな精錬ラインです!", "quests.ore_proc.gem_slurry.title": "宝石の泥漿", "quests.ore_proc.gem_slurry.subtitle": "こんなに美しいものをドロドロに溶かすなんて正気ですか?", - "quests.ore_proc.gem_slurry.desc": "宝石の&6泥漿処理&rは、ルビー・サファイア・グリーンサファイア向けの特別な処理ルートです。必須ではありませんが、ちょっとした手間でより多くの資源を回収できます。 電解処理と比べて:\n\n-&cルビー泥漿&rではアルミとクロムがほぼ3倍に!\n\n- &9サファイア泥漿&rではアルミが2倍に!\n\n- &aグリーンサファイア泥漿&rでは2倍のアルミとベリリウムのおまけ付き!\n\nそのうえ、どの泥漿処理でも少量のチタン・鉄・バナジウムを追加で得られる可能性があります。", + "quests.ore_proc.gem_slurry.desc": "宝石の&6泥漿処理&rは、ルビー・サファイア・グリーンサファイア向けの特別な処理ルートです。必須ではありませんが、ちょっとした手間でより多くの資源を回収できます。 電解処理と比べて:\n\n-&cルビー泥漿&rではアルミとクロムがほぼ3倍に!\n\n-&9サファイア泥漿&rではアルミが2倍に!\n\n-&aグリーンサファイア泥漿&rでは2倍のアルミとベリリウムのおまけ付き!\n\nそのうえ、どの泥漿処理でも少量のチタン・鉄・バナジウムを追加で得られる可能性があります。", "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", "quests.space_survival": "Tips - Space Survival", "quests.space_survival.subtitle": "The one place that hasn't been corrupted by capitalism... Space!", @@ -3294,239 +3294,239 @@ "quests.space_survival.venus.desc": "&6Venus&r will be the primary planet for the upcoming &1IV&r rework in TFG 0.12. Stay tuned!", "quests.space_survival.venus.task": "Land on Venus", "quests.steam_age": "初期の自動化", - "quests.steam_age.subtitle": "蒸気機関で産業革命", + "quests.steam_age.subtitle": "蒸気機関、始動", "quests.steam_age.basic_greate.title": "Greateの基本", "quests.steam_age.basic_greate.subtitle": "もう普通のCreateじゃ満足できないって? だったらこれはどうだ", - "quests.steam_age.basic_greate.desc": "Greateは&3Create&rと&3GregTech&rのシステムを悪魔合体させたもので、Createの機械がそれぞれ異なる段階のバージョンに変更されます。 また、シャフトと歯車に応力の制限が導入されるため、機械の応力供給方法について、より計画的に考える必要があります。\n\n通常のCreateのように、水車の塊を1つのシャフトに接続して基地に送り込むのではなく、一つの機械に対して個別の動力源を持つ小さな機構を組む必要があるんですね。", + "quests.steam_age.basic_greate.desc": "Greateは&3Create&rと&3GregTech&rのシステムを悪魔合体させたもので、Createの機械が素材によって段階分けされるようになります。\nまた、シャフトと歯車に応力の制限がかかるようになるため、機械に応力を供給する方法を、より計画的に考える必要があります。\n\n少なくとも序盤は、通常のCreateのように、水車の塊で全ての機械を動かすのではなく、一つの機械に対して個別の動力源を用意する必要があります。", "quests.steam_age.create_tools.title": "商売道具", "quests.steam_age.create_tools.subtitle": "使いこなしましょう", - "quests.steam_age.create_tools.desc": "レンチを使えば、スニーク+右クリックでCreateのブロックを素早く回収できます。斧やツルハシでも回収はできます。ゴーグルを使用すると、機械が生成または消費する応力の量など、機械に関するより詳細な情報を確認できます。\n\nどちらも必須ではないですが、役に立つことは間違いないでしょう。\n\nガラス細工については、TFGのTipsの章を確認してください。実は、ハンマーで丸石を壊すと砂利になり、それをもう一度壊すと砂になるんです。知ってましたか...?", + "quests.steam_age.create_tools.desc": "レンチを使えば、スニーク+右クリックでCreateのブロックを素早く回収できます。ゴーグルを着けると、生成または消費されている応力の量など、より詳細な情報を確認できます。\n\nどちらも必須ではないですが、役に立つことは間違いないでしょう。\n\nガラス細工については、「Tips-ツール」の章かフィールドガイドを確認してください。 実は、ハンマーで丸石を壊すと砂利になり、それをもう一度壊すと砂になるんです。知ってましたか...?", "quests.steam_age.basic_millstone.title": "自動鉱石処理", "quests.steam_age.basic_millstone.subtitle": "うすのろなあいつとはおさらばだ", - "quests.steam_age.basic_millstone.desc": "&3Millstone&rは、臼の自動バージョンです。上部に好きなものを投げ込み、右クリックして粉砕されたアイテムを取り出すことができます。アニマルクランクに直接つけただけだと動作は遅いですが、ギア比を使用して速度を上げることができます。\n\nレシピの最初のスロットのアイテム(主産物)だけ出力されます。他のスロットのアイテム(副産物)は、はるかに後の(&6HV&r)時代まで出てきません。これはGregTechの仕様です。", + "quests.steam_age.basic_millstone.desc": "Greateの&3石臼&rは、臼の自動バージョンです。上部にアイテムを投げ込み、粉砕が完了したら、右クリックで取り出すことができます。\nアニマルクランクに直接つけただけだと動作は遅いですが、ギア比を利用して速度を上げることができます。\n\n現時点ではレシピの最初のスロットのアイテム(主産物)だけが出力されます。他のスロットのアイテム(副産物)は、はるかに後の(&6HV&r)時代まで出てきません。これはGregTechの仕様です。", "quests.steam_age.horse_crank.title": "最初の動力源", "quests.steam_age.horse_crank.subtitle": "24時間働けますか?", - "quests.steam_age.horse_crank.desc.1": "&3アニマルクランク&rは、最初に利用可能な機械の動力源です。使用するには、7x7の整地されたエリアの中央にクランクを置き、動物をリードでつなぎます。動物の種類によって供給される応力の量が異なり、下のブロックによって回転速度が向上します。それぞれのクランクの領域は重なっていても問題ありません。\n\n注意:動物を取り付けるには、リードを2本持っている必要がある場合があります。", + "quests.steam_age.horse_crank.desc.1": "&3アニマルクランク&rは、最初に利用できる動力源です。使用するには、7x7の整地されたエリアの中央に設置し、動物をリードでつなぎます。\n動物の種類によって出力される応力の大きさが異なり、下のブロックによって回転速度が向上します。それぞれのクランク同士の領域は重なっていても問題ありません。\n\n注意:動物を取り付けるには、リードを2本持っている必要がある場合があります。", "quests.steam_age.horse_crank.desc.2": "&3小型動物(4 SU):&r\nオオカミ、犬、豚、羊、ヤギ、アルパカ\n\n&3中型動物(6 SU):&r\n牛、ロバ\n\n&3大きな動物(8 SU):&r\n馬、ラバ、ジャコウウシ、ヤク", "quests.steam_age.poor_paths.title": "貧弱な道", - "quests.steam_age.poor_paths.subtitle": "こんなところで働かせるの!?", - "quests.steam_age.poor_paths.desc": "これは使用できる最悪の種類の道路です。アニマルクランクは2RPMで動作します。", + "quests.steam_age.poor_paths.subtitle": "奴隷労働", + "quests.steam_age.poor_paths.desc": "これは使用できる中で最悪の道路です。アニマルクランクは2RPMで動作します。", "quests.steam_age.normal_paths.title": "普通の道", - "quests.steam_age.normal_paths.subtitle": "もう少し労働環境を整えてあげてもいいんじゃない?", - "quests.steam_age.normal_paths.desc": "普通の道は少しましで、動物が4RPMでクランクを回すことができます。\n\n注意:アニマルクランクの真下に土の道ブロックを置くことはできません。そのため、砂利を置いておきましょう。", + "quests.steam_age.normal_paths.subtitle": "自転車操業", + "quests.steam_age.normal_paths.desc": "普通の道は多少改善されており、動物が4RPMでクランクを回すことができます。\n\n注意:アニマルクランクの真下に土の道ブロックを置くことはできません。そのため、砂利を置いておきましょう。", "quests.steam_age.good_paths.title": "素晴らしい道", "quests.steam_age.good_paths.subtitle": "アットホームな職場です!", - "quests.steam_age.good_paths.desc": "これらは使用できる最高の種類の道であり、クランクを8RPMで出力できます。これらの種類の道はプレイヤーの移動速度も向上させるため、拠点を舗装するのにも最適です!", + "quests.steam_age.good_paths.desc": "これらは使用できる中で最高の種類の道であり、クランクを8RPMで出力できます。\nこれらの種類の道はプレイヤーの移動速度も向上させるため、拠点を舗装するのにも最適です!", "quests.steam_age.helve_hammer.title": "Helve Hammer", "quests.steam_age.helve_hammer.subtitle": "カーン... カーン... カーン...", - "quests.steam_age.helve_hammer.desc": "塊鉄炉のためのプレートをすべて手作業で作るのは厳しくないですか? &3Helve_Hammer&rは、ダブルインゴットを自動的に(ゆっくりと)平らにしてプレートにします。ただし、溶接は自分で行う必要があります。ハンマーの頭の真下に金床を置き、ダブルインゴットをその上に投げ込みましょう。取り出すときはハンマーを右クリックしましょう。\n\n上位の金床では、プレートを作成するために叩く回数も少なくなります。", + "quests.steam_age.helve_hammer.desc": "塊鉄炉のためのプレートをすべて手作業で作るのは大変ではないですか?\n&3Helve_Hammer&rは、ダブルインゴットを時間をかけて自動的にプレートにしてくれます。その際、ダブルインゴットの溶接は、まだ自分で行う必要があります。\nハンマーの頭の真下に金床を置き、ダブルインゴットをその上に投げ込みましょう。取り出すときはハンマーを右クリックしましょう。\n\n上位の金床では、プレートを作成するために叩く回数も少なくなります。", "quests.steam_age.water_wheel.title": "水車", "quests.steam_age.water_wheel.subtitle": "川の近くに拠点を建てていればよいのですが", - "quests.steam_age.water_wheel.desc": "水車は、流れる水を必要とする代わりに、アニマルクランクよりもはるかに多くの応力を生産します。まだ水源を移動する機能がないため、これらに動力を供給するには川を見つける必要があります。海や湖も少しは動力を供給できますが、内陸部にいる場合は、風車を建てることを検討した方が良いでしょう。\n\nコークス炉のクレオソートに板材を浸すと、防腐木材を得ることができます。", + "quests.steam_age.water_wheel.desc": "水車は、流れる水を必要とする代わりに、アニマルクランクよりもはるかに多くの応力を生産します。\nまだ水源を移動することができないため、水車を動作させるためには川を見つける必要があります。海や池だと性能が落ちるため、内陸部に住んでいる場合は、風車を使った方が良いでしょう。\n\nコークス炉から出たクレオソートに板材を浸すと、防腐木材ができます。", "quests.steam_age.large_water_wheel.title": "大きな水車", "quests.steam_age.large_water_wheel.subtitle": "デカい!強い!高い!", - "quests.steam_age.large_water_wheel.desc": "大きな水車は、小型水車の4倍の応力を供給します。もちろん川の流れる水は必要です。海や湖も少し動力を供給できますが、内陸部にいる場合は、風車または蒸気機関を建てることを検討した方が良いでしょう。\n\nコークス炉のクレオソートに板材を浸すと、防腐木材を得ることができます。", + "quests.steam_age.large_water_wheel.desc": "大きな水車は、小型水車の4倍の応力を出力してくれます。もちろん川は必要です。\n通常の水車と同じく海や池だと性能が落ちるため、内陸部にいる場合は、風車または蒸気機関を利用した方が良いでしょう。\n\nコークス炉から出たクレオソートに板材を浸すと、防腐木材ができます。", "quests.steam_age.windmill.title": "風車", "quests.steam_age.windmill.subtitle": "チューリップがよく似合う", - "quests.steam_age.windmill.desc": "流れる水が近くにない場合は、風車は良い動力源になってくれるでしょう。大きな風車は、より多くの応力とより速い回転速度を提供します。\n\nコークス炉のクレオソートに板材を浸すと、防腐木材を得ることができます。", - "quests.steam_age.metal_casing.title": "金属ケーシング", - "quests.steam_age.metal_casing.subtitle": "原始的な機械の筐体?", - "quests.steam_age.metal_casing.desc": "これは、Createで構築できる単純な機械たちの基礎となるものです。JEIで、ギアボックスやその他の応力を制御する仕掛けなど、これで作成できるさまざまなものを確認してみるといいでしょう。\n\nCreateは初めてですか?Createの解説動画や解説サイトはインターネット上にたくさんあります。そしてそれらで学んだほとんどのことはTFGでも役に立つでしょう!(丸石製造機を含むものを除く)", + "quests.steam_age.windmill.desc": "川が近くにない場合は、風車は良い動力源になってくれるでしょう。\n大きな風車は、より多くの応力とより速い回転速度を提供します。\n\nコークス炉から出たクレオソートに板材を浸すと、防腐木材ができます。", + "quests.steam_age.metal_casing.title": "錬鉄ケーシング", + "quests.steam_age.metal_casing.subtitle": "原始的なマシン筐体?", + "quests.steam_age.metal_casing.desc": "これは、Createの機械たちの基礎となるものです。\nEMIで、ギアボックスやその他の応力を制御する仕掛けなど、これで作成できるものを確認してみるといいでしょう。\n\nCreateは初めてですか?Createの解説動画や解説サイトはインターネット上にたくさんあります。そしてそれらで学んだほとんどのことはTFGでも役に立つでしょう!(丸石製造機を含むものを除く)", "quests.steam_age.mechanical_harvester.title": "メカニカルハーベスター", "quests.steam_age.mechanical_harvester.subtitle": "ロボットのサクランボ狩り", - "quests.steam_age.mechanical_harvester.desc": "作物を収穫して植え替えるのが面倒ですか? だったらこれに任せちゃいましょう!からくり仕掛けで回転させれば、あとは勝手にやってくれます。ただし、温室内に植えられた作物には機能しません。\n\n豆知識:岩盤がある高さでは常に15°Cなので、一年中作物を育てられる最高の農場になりますよ!", - "quests.steam_age.mechanical_saw.title": "機械式のこぎり", + "quests.steam_age.mechanical_harvester.desc": "農業が面倒になってきましたか?だったらこれに任せちゃいましょう!\nからくり仕掛けで回転させれば、あとは勝手に収穫と植え付けをしてくれます。\nただし、温室内に植えられた作物には機能しません。\n\n豆知識:岩盤がある高さでは常に15°Cなので、一年中作物を育てられる最高の農場になりますよ!", + "quests.steam_age.mechanical_saw.title": "メカニカルソー", "quests.steam_age.mechanical_saw.subtitle": "木材と石と指を効率的に切ってくれます", - "quests.steam_age.mechanical_saw.desc": "木を切るのが面倒ですか? だったらこれに任せちゃいましょう! からくり仕掛けで回転させれば、あとは勝手にやってくれます。ただ、残念ながら、デプロイヤーが利用できるようになるまでは、苗木を自分で植え替える必要があります。\n\nメカニカルソーは石切りとしても機能し、いろんな種類の石レンガを簡単に作成できます。 丸太を木材に切るために使用すれば、さらに効率的になりますよ!\n\nまた、これを使用して棒を4本のボルトに切断することもできます!", + "quests.steam_age.mechanical_saw.desc": "木こりが面倒になってきましたか?だったらこれに任せちゃいましょう!\nからくり仕掛けで回転させれば、あとは勝手に木の伐採をしてくれます。\nただし、残念ながら、デプロイヤーがないと植林の自動化はできません。\n\nメカニカルソーは石切りとしても機能し、いろんな種類の石レンガを簡単に作成できます。 丸太を板に加工するために使用すれば、手作業での加工よりも効率的になりますよ!\n\nまた、これを使用して棒を4本のボルトに切断することもできます!", "quests.steam_age.chute.title": "初期の物流", "quests.steam_age.chute.subtitle": "アイテムの公共交通機関", - "quests.steam_age.chute.desc": "アイテムを移動させるアイテムたちを利用できるようになりました! シュートはホッパーに似ており、安価ですが、アイテムを下向きにしか移動できません。どちらも、アイテムパイプに対してアイテムを搬出するための手段として使うこともできます。\n\nファンネルも似ていますが、アイテムパイプの代わりにベルトコンベアーと組み合わせるのが最適です。", + "quests.steam_age.chute.desc": "アイテムの運搬に使えるアイテムたちを利用できるようになりました!\nシュートはホッパーに似ており、安価ですが、アイテムを下向きにしか移動できません。どちらも、アイテムパイプに対してアイテムを搬出するための手段として使うこともできます。\n\nファンネルは、アイテムパイプの代わりにベルトコンベアーと組み合わせるのが最適です。", "quests.steam_age.item_pipes.title": "アイテムパイプ", "quests.steam_age.item_pipes.subtitle": "アイテムコンジットの方がイカしてるだって?", - "quests.steam_age.item_pipes.desc.1": "&3アイテムパイプ&rは、アイテムを&d瞬時に&r移動させるための簡単な手段ですが、その運搬能力には制限があります。\n\nもちろん上位のパイプは、運搬能力が向上し、最終的にはすごいことになりますよ。それはもうMOD入りマイクラの中でも特にね!\n\nアイテムパイプは&9自力でアイテムを引き出す能力はありません&rが、どうにかしてパイプに搬入すれば、アイテムを他の接続された倉庫などに搬入してくれます。最初に&9最も近いインベントリ&rを優先します。", + "quests.steam_age.item_pipes.desc.1": "&3アイテムパイプ&rは、アイテムを&d瞬時に&r移動させるための簡単な手段ですが、その運搬能力には制限があります。\n\nもちろん上位のパイプは、運搬能力が向上し、最終的にはすごいことになりますよ。それはもうMOD入りマイクラの中でも特にね!\n\nアイテムパイプは&9自力でアイテムを引き出す能力はありません&rが、どうにかしてパイプへと搬出すれば、アイテムを運び、接続されている他の倉庫などに搬入してくれます。&9近くのインベントリ&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スタイルのパイプは&d有効&rになっています。つまり、パイプを配置すると、パイプを置いた面のブロックにのみ接続されます。もっといろんなブロックにつなげたいなら、&5レンチ&rを持つとグリッドが表示されるので、それを右クリックでつなげましょう。\n\n提案されたアイテムパイプの&eいずれか&rを入手して、このクエストを完了してください。", - "quests.steam_age.item_pipes.desc.4": "&l&3伝承では...&r&o Oooooh, YEAH!! 実はな、アイテムパイプはGregTech 5にもあったんだ。でも、なんでか知らないけどGTCEにはなかったから、その時は他のMODを使用してアイテムを輸送する必要があったんだって。えぇ...?誰がそんなことをするの!? まあいいや、とにかく、せっかく帰ってきたアイテムパイプ、うまく使えよ!...といいます。", + "quests.steam_age.item_pipes.desc.4": "&l&3余談:&r&oおはこんばんにちは!実は、アイテムパイプはGT5にもあったんだって。でも、なんでか知らないけどGTCEにはなかったから、その時は他のMODを使用してアイテムを輸送する必要があったんだ。えぇ...?誰がそんなことをするの!?まあいいや、とにかく、せっかく帰ってきたアイテムパイプ、しっかり使ってあげて!", "quests.steam_age.steel_greate.title": "鋼鉄のGreate", "quests.steam_age.steel_greate.subtitle": "Greateが大好評だったのでGreate 2を作りました", - "quests.steam_age.steel_greate.desc": "Greateの次の段階へようこそ!スチール製のシャフトと歯車は、前のと比べて4倍の応力に耐えられます。歯車やシャフトでつながっている機構の最大許容応力は、そのつながっている中で最も低いものによって決定されるため、今までの機構を丸ごと新しいのに置き換える必要があります。古い部品の一部はリサイクルできます!", + "quests.steam_age.steel_greate.desc": "Greateの第2段階へようこそ!スチール製のシャフトと歯車は、前のと比べて4倍の応力に耐えられます。\n歯車やシャフトでつながっている機構の最大許容応力は、そのつながっている中で最も低いものによって決定されるため、今までの機構を丸ごと新しいのに置き換える必要があります。\n古い部品の一部はリサイクルできます!", "quests.steam_age.steel_encased_fan.title": "ケース入りファン", "quests.steam_age.steel_encased_fan.subtitle": "熱狂的なファン", - "quests.steam_age.steel_encased_fan.desc": "&3ケース入りファン&rは、最初の完全自動鉱石処理ラインの最終ステップです。これによって汚れた粉を手作業で洗浄する必要がなくなりました。 ファンを粉に向けて設置し、その間に水源を置くと、すぐに洗浄が開始します。おまけとして、副産物も得られます! 現時点では水源を移動するのは難しいかもしれませんが、川や池などもとからある水源を使って構築することができます。", + "quests.steam_age.steel_encased_fan.desc": "&3ケース入りファン&rは、最初の完全自動鉱石処理ラインの最終工程を担当します。これによって汚れた粉を手作業で洗浄する必要がなくなりました。\nファンと水源で水を含んだ風が出るので、それを汚れた粉などに当てると洗浄することができます。おまけとして、副産物も得られます!\n現時点では水源を移動させるのが難しいと思うので、川や池などの水源をうまく使いましょう。", "quests.steam_age.steel_millstone.title": "スチール製石臼", "quests.steam_age.steel_millstone.subtitle": "価値あるアップグレード", - "quests.steam_age.steel_millstone.desc": "はるかに高い能力を備えたスチール製石臼は、基本型石臼からの価値のあるアップグレードであり、より速く粉砕するために高速で回転させることができます。これから手に入るさまざまな新しい鉱石の処理に最適ですよ!\n\nただし、まだ副産物は出てきません。", + "quests.steam_age.steel_millstone.desc": "スチール製石臼は、基本型石臼から大幅に性能が向上しており、より早く動作させることができます。これから手に入るさまざまな新しい鉱石の処理に最適ですよ!\n\nただし、まだ副産物は出てきません。", "quests.steam_age.steel_pump.title": "液体処理", "quests.steam_age.steel_pump.subtitle": "おいしいスパゲッティパイプ", - "quests.steam_age.steel_pump.desc.1": "鋼鉄時代では、アイテムだけでなく液体も自動化できます! &3メカニカルポンプ&rは、樽、るつぼ、さらには水源ブロックなど、ほとんどすべてのものから液体を取り出すことができます。CreateまたはGregTechの液体パイプのどちらも使用できますが、それぞれ動作が少し異なります。", - "quests.steam_age.steel_pump.desc.2": "Createのパイプには内部液体容量がなく、代わりに液体を搬出先から搬入先に直接輸送します。銅ケーシングで右クリックすると、接続を「ロック」することができます。レンチで右クリックすると、中身が見えるようになり、横のパイプとつながらなくなるので、複数のパイプを互いに隣接して実行できます。Createのパイプを使用するにはメカニカルポンプも必要であり、各ポンプの範囲は16ブロックのみですが、1つのポンプで複数の搬出口から一度に液体を取り出すことができます。\nまた、温度制限もありません!", - "quests.steam_age.steel_pump.desc.3": "一方、GregTechのパイプには独自の内部液体容量があり、液体が内部にあるとポンプは必要ありません。アイテムパイプと同様に、レンチでスニーク右クリックすることで一方通行にできます。そうしないと、液体があっちこっちにいってしまうため、すべてのパイプでそれを行うことをお勧めします。\n\nメカニカルポンプとGregTechパイプが接続されていませんか?ポンプを2回反転させると(レンチで右クリック)、解決するかもしれません。", + "quests.steam_age.steel_pump.desc.1": "スチールが解禁されると、アイテムだけでなく液体も運搬できるようになります!\n&3メカニカルポンプ&rは、樽、るつぼ、さらには水源ブロックなど、ほとんどすべてのものから液体を取り出すことができます。CreateまたはGregTechの液体パイプのどちらにもつながりますが、それぞれ動作が少し異なります。", + "quests.steam_age.steel_pump.desc.2": "Createのパイプには内部液体容量がなく、代わりに液体を搬出先から搬入先に直接輸送します。\n銅ケーシングで右クリックすると、接続を「ロック」することができます。\nレンチで右クリックすると、中身が見えるようになり、横のパイプとつながらなくなるので、複数のパイプを互いに隣接させることができます。\nCreateのパイプを使用するにはメカニカルポンプも必要であり、各ポンプの範囲は16ブロックのみですが、1つのポンプで複数の搬出口から一度に液体を取り出すことができます。\nまた、温度制限もありません!", + "quests.steam_age.steel_pump.desc.3": "一方、GregTechのパイプには独自の内部液体容量があり、液体が内部にあるとポンプは必要ありません。\nアイテムパイプと同様に、レンチでスニーク右クリックすることで一方通行にできます。そうしないと、液体があっちこっちにいってしまうため、すべてのパイプでそれを行うことをお勧めします。\n\nメカニカルポンプとGregTechパイプが接続されませんか?ポンプを2回反転させると(レンチで右クリック)解決するかもしれません。", "quests.steam_age.mold_table.title": "高炉の自動化", - "quests.steam_age.mold_table.subtitle": "EBFが恋しいね", - "quests.steam_age.mold_table.desc.1": "しばらくの間、&3山ほどの&r鋼鉄が必要になるため、高炉の自動化はしておいた方がいいでしょう。 メカニカルポンプは、高炉から(るつぼに滴下するよりもはるかに速く)金属を直接Mold_Tableに取り出すことができ、ポンプを通った金属は型に流されると瞬時に冷却されます! 次に、シュートまたはホッパーをMold_Tableの真下に置いて、インゴットを取り出すことができます。そこから、銑鉄インゴットをHelve_Hammerに送ることができます。", - "quests.steam_age.mold_table.desc.2": "必要に応じて、シュートを使用してアイテムを高炉の中にいれたり、デプロイヤーを使用して自動的にふいごを作動させることもできます。ふいごを使いすぎると、羽口の耐久力がごりごり削れていきますが、アイテムパイプで新しいものを自動搬入できます。\n\nメカニカルポンプを利用した液体搬出は、液体バルブなどで搬出を制御することで、るつぼに使うこともできます。", + "quests.steam_age.mold_table.subtitle": "EBFが恋しいよ...", + "quests.steam_age.mold_table.desc.1": "しばらくの間、&3山ほどの&r鋼鉄が必要になるため、高炉の自動化はしておいた方がいいでしょう。\nメカニカルポンプを使えば、高炉から(るつぼに滴下するよりもはるかに速く)銑鉄を直接鋳型台に取り出すことができ、ポンプを通った金属は型に流されると瞬時に冷却されます!\nそして、シュートまたはホッパーを鋳型台の真下に置いて、インゴットを取り出すことができます。そこから、銑鉄インゴットをHelve_Hammerに送ることで鋼鉄の自動化ができます。", + "quests.steam_age.mold_table.desc.2": "必要であれば、シュートを使用してアイテムを高炉の中にいれたり、デプロイヤーを使用して自動的にふいごを作動させることもできます。\nふいごを使いすぎると、羽口の耐久力がごりごり削れていきますが、アイテムパイプやホッパーで新しいものを補充することができます。\n\nメカニカルポンプを利用した液体搬出は、液体バルブなどで搬出を制御することで、るつぼに使うこともできます。", "quests.steam_age.fluid_pipes.title": "液体パイプ", "quests.steam_age.fluid_pipes.subtitle": "液体、気体、両対応", - "quests.steam_age.fluid_pipes.desc.1": "&b液体パイプ&rは、機械間で&7蒸気&rを輸送します。\n\n各パイプには、mB/t単位の特定の運搬速度制限と、&6温度制限&rがあります。例えば、木のパイプは蒸気の熱に耐えられません。現時点では気にしなくてもいいですが、一部のパイプには、各材料に応じた特有の&b耐性&rがあります。\n\n各材料のパイプにはいくつかのサイズがあります。パイプが太いほど、運搬速度は&a高く&rなりますが、作成コストは&d高価に&rなります。たとえば、&6通常のブロンズ液体パイプ&rは120mB/tを転送します。(1,200mBの内部バッファーもあります!)\n\n最初は、冷たい液体には木製パイプ、熱い液体にはブロンズパイプを使用することをお勧めします。", - "quests.steam_age.fluid_pipes.desc.2": "&aメモ:&r 1秒は20ティックです。これはサーバーに遅延が発生していないときの話ですが...\n\n&d注:&r GT6スタイルのパイプが有効になっています。つまり、パイプを配置すると、パイプを置いた面のブロックにのみ接続されます。もっといろんなブロックにつなげたいなら、パイプにレンチを使用します。\n\nレンチでシフト右クリックして、側面からの入力を無効にすることもできます。これは、液体が望ましくない方向に移動することを防ぐのに役立ちます。", + "quests.steam_age.fluid_pipes.desc.1": "&b液体パイプ&rは、機械間で&7蒸気&rを輸送します。\n\n各パイプには、mB/t単位の特定の運搬速度制限と、&6温度制限&rがあります。例えば、木のパイプは蒸気の熱に耐えられません。\n現時点では気にしなくてもいいですが、一部のパイプには、各材料に応じた特有の&b耐性&rがあります。\n\n各材料のパイプにはいくつかのサイズがあります。パイプが太いほど、運搬速度は&a高く&rなりますが、作成コストは&d高価に&rなります。たとえば、&6通常のブロンズ液体パイプ&rは120mB/tを転送します。(1,200mBの内部バッファーもあります!)\n\n最初は、冷たい液体には木製パイプ、熱い液体にはブロンズパイプを使用することをお勧めします。", + "quests.steam_age.fluid_pipes.desc.2": "&aメモ:&r1秒は20ティックです。これはサーバーに遅延が発生していないときの話ですが...\n\n&d注:&r GT6スタイルのパイプが有効になっています。つまり、パイプを配置すると、パイプを置いた面のブロックにのみ接続されます。もっといろんなブロックにつなげたいなら、パイプにレンチを使用しましょう。\n\nパイプをレンチでスニーク右クリックして、一方通行にすることができます。これは、液体が望ましくない方向に移動することを防ぐのに役立ちます。", "quests.steam_age.fluid_drums.title": "効率的な液体ストレージ", "quests.steam_age.fluid_drums.subtitle": "木の樽に融けた鋼を入れておけると思います?", "quests.steam_age.fluid_drums.desc.1": "&6TFG&rをやっていて、扱う液体の種類の多さに&4圧倒&rされてませんか? それらを保管しておく方法を探していたら読んでください。\n\nご紹介しましょう... &aドラム&r!これらには大きな内部容量があります。&aドラム&rは壊されても内部の液体を&d保持します&r。ソフトマレットで右クリックすると、ドラムは下方向に内容物を自動搬出してくれます。", - "quests.steam_age.fluid_drums.desc.2": "&l&3伝承では...&r&o このドラムたちは、実はGregTech6から移植されたものなんだぜ。...といいます。", + "quests.steam_age.fluid_drums.desc.2": "&l&3余談:&r&oこのドラムたちは、実はGregTech6から移植されたものなんだぜ。", "quests.steam_age.boilers.title": "蒸気ボイラー", "quests.steam_age.boilers.subtitle": "ポータブルサウナ", - "quests.steam_age.boilers.desc.1": "蒸気機械には動力である蒸気を供給する必要があります!その蒸気を生成する方法は3つあります。 &3固形燃料用高圧ボイラー&rは石炭や木炭などの固形燃料を受け入れ、&3液体燃料用高圧ボイラー&rはクレオソートや溶岩などの液体を受け入れ、&3高圧ソーラーボイラー&rは燃料を必要としませんが、日中のみ動作します。 どれを選ぶかはあなた次第ですが、とりあえずは液体ボイラーをお勧めします。\n\n蒸気機械にはすべて排気口があり、正常に動作するにはそれが塞がっていない必要があります。", - "quests.steam_age.boilers.desc.2": "&a警告:&r ボイラーの中身が空で高温になっているときに水を入れようとすると、&b爆発します&r。ポンプで常に水を供給し続けるのが最善ですが、ブロックを壊して再設置して温度をリセットすることもできます。", + "quests.steam_age.boilers.desc.1": "蒸気機械には動力である蒸気を供給する必要があります!その蒸気を生成する方法は3つあります。\n\n&3固形燃料用高圧ボイラー&rは石炭や木炭などの固形燃料を受け入れ、&3液体燃料用高圧ボイラー&rはクレオソートや溶岩などの液体燃料を受け入れ、&3高圧ソーラーボイラー&rは燃料を必要としませんが、日中のみ動作します。\nどれを選ぶかはあなた次第ですが、とりあえずは液体ボイラーをお勧めします。\n\n蒸気機械にはすべて排気口があり、正常に動作するにはそれが塞がっていない必要があります。", + "quests.steam_age.boilers.desc.2": "&a警告:&rボイラーの中身が空で高温になっているときに水を入れようとすると、&b爆発します&r。ポンプで常に水を供給し続けるのが最善ですが、ブロックを壊して再設置することで温度をリセットすることもできます。", "quests.steam_age.boilers.tasks": "高圧蒸気ボイラー", "quests.steam_age.steam_bloomery.title": "蒸気式塊鉄炉", "quests.steam_age.steam_bloomery.subtitle": "塊鉄炉の叔父", - "quests.steam_age.steam_bloomery.desc": "錬鉄は常に大量に必要に要求されます。そこで、塊鉄炉を自動化してみませんか?錬鉄を効率的に自動化できるようになるのは、遥か先のLV時代のことです。蒸気式塊鉄炉は、古いTFC塊鉄炉を自動化し、より高速に処理する新しいマルチブロックです!コークス炉と同様に、EMI上で、マルチブロック情報を表示できます。個々のブロックをクリックして、各場所で有効なものを確認しましょう。", + "quests.steam_age.steam_bloomery.desc": "錬鉄は常に大量に要求されます。ということで、塊鉄炉を自動化してみませんか?\n錬鉄を効率的に自動化できるようになるのは、遥か先のLV時代のことです。蒸気式塊鉄炉は、古いTFC塊鉄炉を自動化し、より高速に処理してくれる新しいマルチブロックです!\nコークス炉と同様に、EMI上で、マルチブロック情報を表示できます。個々のブロックをクリックして、各場所で有効なものを確認しましょう。", "quests.steam_age.steam_furnace.title": "高圧蒸気式かまど", "quests.steam_age.steam_furnace.subtitle": "高圧蒸気式かまどは、かまどです", - "quests.steam_age.steam_furnace.desc": "インゴットへの製錬を楽にしたいですか?&3高圧蒸気式かまど&rを使いましょう! 副産物なしで、多くの鉱石や粉を手早くインゴットの形に変えることができます。", + "quests.steam_age.steam_furnace.desc": "インゴットへの製錬を楽にしたいですか?&3高圧蒸気式かまど&rを使いましょう!\n副産物なしで、多くの鉱石や粉を手早くインゴットの形に変えることができます。", "quests.steam_age.steam_oven.title": "蒸気式オーブン", "quests.steam_age.steam_oven.subtitle": "蒸気式破砕機のお兄ちゃん", - "quests.steam_age.steam_oven.desc.1": "&o...いや、弟か?まあいいや&r\n\n&3蒸気式オーブン&rは、&6大量のアイテムを楽に製錬したいときに最適なマルチブロック機械です。&rかまどを並べて、手動で取り出したり、燃料を補給したりする必要は、もはや必要ありません!\n\n蒸気によって低コストで、一度に最大8つのアイテムを製錬する並列かまどとして機能してくれます。", - "quests.steam_age.steam_oven.desc.2": "&l&3伝承では...&r&o このマルチブロック、兄弟の蒸気式破砕機によく似てるだろ?でも実はGregTechとかアドオンから移植されたものじゃないんだって。実の親は、古くは1.4.7のRailcraftの蒸気オーブンなんだとさ!...といいます。", + "quests.steam_age.steam_oven.desc.1": "&o...いや、弟か?まあいいや&r\n\n&3蒸気式オーブン&rは、&6大量のアイテムを楽に製錬したいときに最適なマルチブロック機械です&r。\nかまどを並べて、手作業で取り出したり、燃料を補給したりする必要は、もはや必要ありません!\n\n蒸気によって低コストで、一度に最大8つのアイテムを製錬する並列かまどとして機能してくれます。", + "quests.steam_age.steam_oven.desc.2": "&l&3余談:&r&oこのマルチブロック、兄弟の蒸気式破砕機によく似てない?でも実はGregTechとかアドオンから移植されたものじゃないんだって。実の親は、古くは1.4.7のRailcraftの蒸気オーブンなんだと!節操がないね!", "quests.steam_age.steam_macerator.title": "高圧蒸気式粉砕機", "quests.steam_age.steam_macerator.subtitle": "高圧蒸気式粉砕機は、粉砕をします", - "quests.steam_age.steam_macerator.desc": "この機械はGreateの石臼とまったく同じことを行うため、すでにそれを持っている場合は、実のところこれを構築する意味はあまりありません。一応、この時点では進行にどちらか一方が必要です。はい、そうです。副産物は出力しません。&6HV&rまで待ちましょう。", + "quests.steam_age.steam_macerator.desc": "この機械はGreateの石臼と役割がまったく同じなため、すでにそれを持っている場合は、実のところこれをつくる意味はあまりありません。一応、この時点では進行にどちらか一方が必要です。\nはい、そうです。副産物は出力しません。&6HV&rまで待ちましょう。", "quests.steam_age.steam_grinder.title": "蒸気式破砕機", "quests.steam_age.steam_grinder.subtitle": "高圧蒸気式粉砕機の妹", "quests.steam_age.steam_grinder.desc": "蒸気式オーブンと同様に、&3蒸気式破砕機&rは、高圧蒸気式粉砕機のアップグレードバージョンで、複数のアイテムを同時に処理できます。作るか作らないかはあなた次第です。", "quests.steam_age.rock_crusher.title": "高圧蒸気式破砕機", "quests.steam_age.rock_crusher.subtitle": "高圧蒸気式破砕機は、複製をします...え?", - "quests.steam_age.rock_crusher.desc": "高圧蒸気式破砕機は一ブロックの丸石生産機です。岩または丸石を入れれば、わずかな蒸気のコストで多くの石を生成できます。進行には必要ないですが、レンガをたくさん作りたい場合などは、この機械が最適です。", + "quests.steam_age.rock_crusher.desc": "高圧蒸気式破砕機は一ブロックの丸石生産機です。岩または丸石を入れれば、わずかな蒸気のコストで多くの石を生成できます。\n進行には必要ないですが、レンガをたくさん作りたい場合などは、この機械が最適です。", "quests.steam_age.forge_hammer.title": "高圧蒸気式鍛造機", "quests.steam_age.forge_hammer.subtitle": "高圧蒸気式鍛造機は、鍛造をします", - "quests.steam_age.forge_hammer.desc": "この機械により、これまで鍛造が必要だった多くのレシピを任せられるようになりました!\n\n&b丸石を砂利に&r、&d砂利を砂に&r処理できます。それも、非常に高速に。\n\n最後に重要なこととして、&aプレート&rをより低コストに作成します:&63つのインゴットで2枚のプレートが!&r。お得ですね!\n\nそれに加えて、鍛造機を使用すると、Helve_Hammerのように、塊鉄を錬鉄に、または銑鉄を鋼鉄にする作業を(ゆっくりと)行うことができます!", + "quests.steam_age.forge_hammer.desc": "この機械により、これまで鍛造が必要だった多くのレシピを任せられるようになりました!\n\n&b丸石を砂利に&r、&d砂利を砂に&r粉砕処理することもできます。それも、非常に高速に。\n\nなにより重要なこととして、&aプレート&rをより低コストに作成します:&63つのインゴットで2枚のプレートが!&rお得ですね!\n\nそれに加えて、Helve_Hammerのように、時間をかけて塊鉄を錬鉄に、銑鉄をスチールにすることができます!", "quests.steam_age.alloy_smelter.title": "高圧蒸気式合金製錬機", "quests.steam_age.alloy_smelter.subtitle": "高圧蒸気式合金製錬機は、合金精錬をします", - "quests.steam_age.alloy_smelter.desc": "&b高圧蒸気式合金製錬機&rは、まあ、合金精錬に使用されます。効率的な&6ブロンズ&r作成レシピと、近い将来、&4赤合金&rに必要になります。\n\nまた、高炭素系インゴットをより効率的な速度で溶接することもできます!\n\nすべての&6蒸気時代の&r機械の中で、これは最も蒸気を消費します。蒸気がなくなった場合は、機械を&a優しく、愛をこめて&r&dソフトマレットでぶっ叩いて&rあげると、一時停止します。", + "quests.steam_age.alloy_smelter.desc": "&b高圧蒸気式合金製錬機&rは、まあ、合金精錬に使用されます。効率的な&6ブロンズ&r作成レシピと、近い将来、&4赤合金&rの作成に必要になります。\n\nまた、高炭素系インゴットをより効率的に作ることもできます!\n\nすべての&6蒸気時代の&r機械の中で、これは最も蒸気を消費します。蒸気がなくなった場合は、機械を&a優しく、愛をこめて&r&dソフトマレットでぶっ叩いて&rあげると、一時停止します。", "quests.steam_age.compressor.title": "高圧蒸気式圧縮機", "quests.steam_age.compressor.subtitle": "高圧蒸気式圧縮機は、圧縮をします", - "quests.steam_age.compressor.desc": "&3高圧蒸気式圧縮機&rは、インゴットと宝石をブロックに、ナゲットをインゴットに、そして最も重要なことに、木のパルプなどを繊維板に変えることができます。 なぜ重要なのかはすぐにわかります!", + "quests.steam_age.compressor.desc": "&3高圧蒸気式圧縮機&rは、インゴットと宝石をブロックに、ナゲットをインゴットに、そして最も重要なことに、木のパルプなどを繊維板に変えることができます。\nなぜ重要なのかはすぐにわかります!", "quests.steam_age.molding.title": "成型", "quests.steam_age.molding.subtitle": "成型によって生計を立てる", - "quests.steam_age.molding.desc": "合金製錬炉は、金属を合金化することに加えて、&3金型&rを使用して材料をさまざまな形状に成型することもできます。\n\n将来のためにも、このリストにある金型は作っておきましょう。\u3000&a「金型」&rの方を必ず作成してください。&c「押出形成用金型」&rは、別の機械で使用されるものなので、まだ作成しないでください。\n\n歯車の金型にも興味があるかもしれませんが、それを使って歯車を作ると、手作業で作るよりもコストが増えてしまいます。", + "quests.steam_age.molding.desc": "合金製錬炉は、金属を合金化することに加えて、&3金型&rを使用して素材をさまざまな形状に成型することもできます。\n\n将来のためにも、このリストにある金型は作っておきましょう。\n&a「金型」&rの方を必ず作成してください。&c「押出形成用金型」&rは、別の機械で使用されるものなので、まだ作成しないでください。\n\n歯車の金型にも興味があるかもしれませんが、それを使って歯車を作ると、手作業で作るよりもコストが増えてしまいます。", "quests.steam_age.red_alloy.title": "赤合金", "quests.steam_age.red_alloy.subtitle": "完全に架空の合金", - "quests.steam_age.red_alloy.desc": "&4赤合金&rは、銅とレッドストーンの合金であり、その導電性によってGregTechの世界で高く評価されています。これは合金製錬炉またはるつぼで作成できます。\n\n&9電子管&rにはいくつか必要になります。\n\n&l&3伝承では...&r&o これって元はRedPowerのものなんだよ。懐かしいな...といいます。", + "quests.steam_age.red_alloy.desc": "&4赤合金&rは、銅とレッドストーンの合金であり、その導電性によってGregTechの世界で高く評価されています。これは合金製錬炉またはるつぼで作成できます。\n\n&9電子管&rにはいくつか必要になります。\n\n&l&3余談:&r&oこれって元はRedPowerのものなんだよ。懐かしいな", "quests.steam_age.extractor.title": "高圧蒸気式抽出機", "quests.steam_age.extractor.subtitle": "高圧蒸気式抽出機は、抽出をします", "quests.steam_age.extractor.desc": "&3高圧蒸気式抽出機&rは、液体を抽出する性能が弱いため、&6蒸気時代&rだとまだ作れないアイテムが多くあります。", "quests.steam_age.glass_tube.title": "ガラス管", "quests.steam_age.glass_tube.subtitle": "たくさん用意しておきましょう", - "quests.steam_age.glass_tube.desc": "これらすべてをガラス吹きによって手作業で作成することもできますが、代わりに適切な金型を使用して合金製錬炉で作成する方がはるかに楽で時短できます。 ガラスの粉がたくさん必要ですか?でしたら、16枚のガラス板を一度にガラス吹きして粉砕するか、高圧蒸気式破砕機などと鍛造機を使用して大量の砂を入手し、それに少し火打石の粉を混ぜてガラス粉に変えることができます。", + "quests.steam_age.glass_tube.desc": "ガラス管はガラス吹きによって手作業で作成することもできますが、代わりに適切な金型を使用して合金製錬炉で作成する方がはるかに楽で時短になります。\n\nガラスの粉が大量に必要になります。そのためには、16枚のガラス板を一度にガラス吹きして粉砕するか、高圧蒸気式破砕機などと鍛造機を使用して大量の砂を入手し、それに少しの火打石の粉を混ぜてガラス粉に変えることができます。", "quests.steam_age.treated_planks.title": "防腐木材の板", - "quests.steam_age.treated_planks.subtitle": "a.k.a防腐木材の合板", - "quests.steam_age.treated_planks.desc": "クレオソートが残っていたらいいのですが。実は、クレオソートは防腐木材のパルプ化と、その圧縮された板を作ることにも使われるんです。\n\n&l&3伝承では...&r&o TerraFirmaGregの前までのバージョンだと、これがないとCreateを始められなかったんだよね!...といいます。", + "quests.steam_age.treated_planks.subtitle": "a.k.a防腐木材の繊維板", + "quests.steam_age.treated_planks.desc": "クレオソートが残っていたらいいのですが...実は、クレオソートは防腐木材のパルプ化と、その圧縮された板を作ることにも使われるんです。\n\n&l&3余談:&r&oTerraFirmaGregの前までのバージョンだと、これがないとCreateを始められなかったんだよね!", "quests.steam_age.electron_tube.title": "電子管", "quests.steam_age.electron_tube.subtitle": "ULVの下? UULV?", "quests.steam_age.electron_tube.desc": "最初は作るのが大変かもしれませんが、最初の数個をデプロイヤーのライン構築のために使用すれば、大幅に安価に作成できるようになります。\n\nデプロイヤー以外にも、これはさまざまな高度なCreateのマシンにも使用されます!", "quests.steam_age.rotation_speed_controller.title": "回転速度コントローラー", "quests.steam_age.rotation_speed_controller.subtitle": "もうガチャガチャ歯車を組む必要はないんだ!", - "quests.steam_age.rotation_speed_controller.desc": "&3回転速度コントローラー&rを使用すると、すべての歯車スパゲッティを1つのブロックに簡略化し、手軽に回転速度を調整できます。これは、応力の調整が必要になってきたときなどにも役立ちます!", + "quests.steam_age.rotation_speed_controller.desc": "&3回転速度コントローラー&rを使用すると、すべての歯車スパゲッティを1つのブロックに簡略化し、手軽に回転速度を調整できるようになります。\nこれは、応力の調整が必要になってきたときなどにも役立ちます!", "quests.steam_age.mech_crafter.title": "メカニカルクラフター", "quests.steam_age.mech_crafter.subtitle": "クラフトレシピがデカすぎます!", - "quests.steam_age.mech_crafter.desc": "心配しないでください。これを作るのは必須ではありませんので。この先のクエストで表示されている2つ以外にも、非常に有用なアイテムのクラフトに使用されます。消耗品ではないので何度もクラフトする必要はないと思います。", + "quests.steam_age.mech_crafter.desc": "心配しないでください。これを作るのは必須ではありませんので。\nこの先のクエストで表示されている2つ以外にも、非常に有用なアイテムのクラフトに使用されます。\n消耗品ではないので何度もクラフトする必要はないと思います。", "quests.steam_age.crushing_wheel.title": "破砕ホイール", "quests.steam_age.crushing_wheel.subtitle": "石臼の妹の夫", - "quests.steam_age.crushing_wheel.desc": "これらは、粉砕関連の機械たちと同じことをより早くより大量に行います。その性能は蒸気式破砕機とほぼ同等です。", + "quests.steam_age.crushing_wheel.desc": "破砕ホイールは、粉砕関連の機械たちと同じことをより早く、より大量に行います。\nその性能は蒸気式破砕機とほぼ同等です。", "quests.steam_age.centrifuge.title": "Create式遠心分離機", "quests.steam_age.centrifuge.subtitle": "世界が回る 回るよ世界", - "quests.steam_age.centrifuge.desc": "鉱石処理は常にこのModPackの重要な部分であり、このマシンはそのオプションの部分です。Centrifugeを使用することで鉱石から副産物を得ることができます!(EMIの鉱石処理工程図を参考にしてください) 次の鉱石処理のアップデートはLV時代の基本型熱遠心分離機まで行われないですが、この機械を使うかどうかはあなた次第です。", + "quests.steam_age.centrifuge.desc": "鉱石処理は常にこのModPackの重要な要素であり、このマシンはそのなかで遠心分離を行うことができます。\nCentrifugeを使用することで鉱石から副産物を得ることができます!(EMIの鉱石処理工程図を参考にしてください) \n次の鉱石処理のアップデートはLV時代の基本型熱遠心分離機まで行われないですが、この機械を使うかどうかはあなた次第です。", "quests.steam_age.steam_engine.title": "蒸気エンジン", "quests.steam_age.steam_engine.subtitle": "本格的 蒸気機関", - "quests.steam_age.steam_engine.desc": "水車や風車ではもう物足りないですか? 蒸気時代を名乗るならやはり蒸気機関は欠かせないでしょう! 各蒸気エンジンからはそれぞれ256SU出力されるため、他の方法より多くの応力を利用することができます。\n\nブレイズバーナーは家から出なくても作成でき、メカニカルアームを使用して固体燃料を自動的に供給したり、液体燃料(クレオソートなど)を直接パイプで送ったりできます。高品質な石炭やAnthracite、コークスを燃料にして過熱状態にすることもできます。", + "quests.steam_age.steam_engine.desc": "水車や風車ではもう物足りないですか?蒸気時代を名乗るならやはり蒸気機関は欠かせないでしょう!\n各蒸気エンジンからはそれぞれ256SU出力されるため、他の方法よりも多くの応力を利用することができます。\n\nブレイズバーナーは家から出なくても作成でき、メカニカルアームを使用して固形燃料を自動的に供給したり、液体燃料(クレオソートなど)を直接パイプで送ったりできます。\n高品質な石炭やAnthracite、コークスを燃料にして過熱状態にすることもできます。", "quests.steam_age.fuel_sources.title": "いろんな燃料たち", "quests.steam_age.fuel_sources.subtitle": "燃料を蒸気に!いいですとも!", - "quests.steam_age.fuel_sources.desc": "蒸気機関は、液体燃料用高圧ボイラーよりも多く種類の液体燃料を受け入れることができます。現時点ではクレオソートまたは溶岩が最も簡単にセットアップできますが、ヒマワリやキャノーラから作れる&e種油&rなどの、さまざまな植物ベースのオイルを利用するのもいいかもしれません。\n\nクレオソートと溶岩は、さらに上位の段階に進んでもあまり伸びしろがありませんが、バイオ燃料はディーゼルに、次にセタン添加ディーゼルにアップグレードできるため、それが魅力的だと思ったら、今すぐ植物油用の大きな畑を作り始めてください!", + "quests.steam_age.fuel_sources.desc": "蒸気機関は、液体燃料用高圧ボイラーよりも多く種類の液体燃料を受け入れることができます。現時点ではクレオソートまたは溶岩が簡単に準備できますが、ヒマワリやキャノーラから作れる&e種油&rなどの、さまざまな植物ベースのオイルを利用するのもいいかもしれません。\n\nクレオソートと溶岩は、さらに上位の段階に進んでもあまり伸びしろがありませんが、バイオ燃料はディーゼルに、次にセタン添加ディーゼルにアップグレードできるため、それが魅力的だと思ったら、今すぐ植物油用の大きな畑を作り始めてください!", "quests.steam_age.deployers.title": "デプロイヤー", "quests.steam_age.deployers.subtitle": "原始的なアセンブリライン", - "quests.steam_age.deployers.desc": "この章の残りの期間、単一のデプロイヤーを使用することもできますが、&3本当に&rお勧めしません。ベルトコンベアーに沿ってデプロイヤーのラインを組めば、時間と正気を大幅に節約できます。また、基本的に無駄になることもありません。例えば自動植林場などに再利用することができます。\n\nこのようにして、電子管を大幅に安価に作りましょう!", + "quests.steam_age.deployers.desc": "この章の残りの期間、一つのデプロイヤーを使いまわすこともできますが、&3本当に&rお勧めしません。ベルトコンベアーに沿ってデプロイヤーのラインを組めば、時間と正気を大幅に節約できます。\nまた、基本的に無駄になることもありません。例えば自動植林場などに再利用することができます。\n\nこのようにして、電子管を大幅に安価に作りましょう!", "quests.steam_age.trains.title": "鉄道", "quests.steam_age.trains.subtitle": "WayStonesは甘え", - "quests.steam_age.trains.desc": "鉄道は、プレイヤー、アイテム、液体など、あらゆる種類の長距離輸送に最適な選択肢です! チャンクロードされてない道も問題なく通過します。テレポート手段の解禁はゲーム終盤になるため、大陸にまたがる鉄道ネットワークが、時代遅れになることはないでしょう。", + "quests.steam_age.trains.desc": "鉄道は、プレイヤー、アイテム、液体など、あらゆる種類の長距離輸送に最適な選択肢です!\nチャンクロードされてない道も問題なく通過します。\nテレポート手段の解禁はゲーム終盤になるため、大陸にまたがる鉄道ネットワークが、不要になることはないでしょう。", "quests.steam_age.wood_plank.title": "繊維板", "quests.steam_age.wood_plank.subtitle": "圧縮した木の板", "quests.steam_age.wood_plank.desc": "防腐木材の板と作り方は大して変わりませんが、最初にクレオソートに浸す必要はなく、任意の木材を使用できます。", "quests.steam_age.organization.title": "計画的な進行のために", "quests.steam_age.organization.subtitle": "新人工場長に向けて", - "quests.steam_age.organization.desc": "必要なレシピやアイテムをすべて把握するのに苦労していませんか? そんなあなたのためのお役立ち商品を紹介します。\n\n&3クリップボード&r:これは携帯用のTo-Doリストとして便利なアイテムで、チェックを付けることもできます。\n\n&3クラフトブループリント&r:よく使うレシピを登録しておき、EMIでレシピを探さなくてもまとめてワンクリックで作成できます。\n\n&3EMIのブックマーク&r:EMIでアイテムにカーソルを合わせているときに「ブックマークの追加/削除」キー(デフォルトは「A」)を押すと、ブックマークできます。レシピを開き、出力されるアイテムをブックマークすると、そのレシピがブックマークされますよ!", + "quests.steam_age.organization.desc": "必要なレシピやアイテムをすべて把握するのに苦労していませんか?そんなあなたのためのお役立ち商品を紹介します。\n\n&3クリップボード&r:これは携帯用のTo-Doリストとして便利なアイテムで、チェックを付けることもできます。\n\n&3クラフトブループリント&r:よく使うレシピを登録しておき、EMIでレシピを探さなくてもまとめてワンクリックで作成できます。\n\n&3EMIのブックマーク&r:EMIでアイテムにカーソルを合わせているときに「ブックマークの追加/削除」キー(デフォルトは「A」)を押すと、ブックマークできます。\nレシピを開き、出力されるアイテムをブックマークすると、そのレシピ自体がブックマークされますよ!", "quests.steam_age.resin_boards.title": "樹脂回路基板", "quests.steam_age.resin_boards.subtitle": "LaTeXの扱いは板についてきましたか?", - "quests.steam_age.resin_boards.desc": "Tree_Tapから直接GregTechのパイプやドラムに樹液を入れられるって知ってました?そうなんですよ!", + "quests.steam_age.resin_boards.desc": "Tree_Tapから直接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.vacuum_chamber.title": "真空チャンバー", "quests.steam_age.vacuum_chamber.subtitle": "真空管を真空たらしめる", - "quests.steam_age.vacuum_chamber.desc": "これは、真空管を作成する際の最終工程を担うマシンです。鉢の上に置き、動力を供給し、マシンがVacuumizingモードに設定されていることを確認してください。\n\nこのマシンは、炉またはブレイズバーナーで加熱することで、接着剤やゴムを液化するのにも役立ちます。", + "quests.steam_age.vacuum_chamber.desc": "これは、真空管を作成する際の最終工程を担うマシンです。鉢の上に置き、動力を供給し、マシンがVacuumizingモードに設定されていることを確認してください。\n\nこのマシンは、炉またはブレイズバーナーで加熱することで、接着剤やゴムを液化させることにも使えます。", "quests.steam_age.vacuum_tubes.title": "エレクトロニクス#3:真空管", "quests.steam_age.vacuum_tubes.subtitle": "難しめな回路の部品", - "quests.steam_age.vacuum_tubes.desc": "真空管の作成は、あなたの存在に疑問を抱かせるかもしれません。今は非常に高価ですが、すぐに安くなります。それこそがGregTechの哲学です!\n\n真空管は、最初の超低電圧(&8ULV&r)回路でもあります。 まずはおめでとうございます!ここから、LV回路の作成にすぐに取り掛かるか、作成した真空管から他の機械を作成して、もう少し蒸気時代にとどまることもできます。", + "quests.steam_age.vacuum_tubes.desc": "真空管の作成は、あなたの存在に疑問を抱かせるかもしれません。今は非常に高価ですが、すぐに安くなります。それこそがGregTechの哲学です!\n\n真空管は、最初の超低電圧(&8ULV&r)回路でもあります。\nまずはおめでとうございます!ここから、LV回路の作成にすぐに取り掛かるか、作成した真空管から他の機械を作成して、もう少し蒸気時代にとどまることもできます。", "quests.steam_age.resistors.title": "エレクトロニクス#1:抵抗器", "quests.steam_age.resistors.subtitle": "抵抗感のある回路の部品", - "quests.steam_age.resistors.desc": "抵抗器は、最初の回路を作成するための部品です。\n\n&a極細のワイヤー&rを使用するレシピを優先するのが賢明でしょう。長期的にはより多くの材料を節約できますから。\n\n今はワイヤーを作るのも厳しいかもしれませんが、&3Coiling_Machine&rや&7LV&rの&3ワイヤー作製機&rを使えば、大幅に安くなります。", + "quests.steam_age.resistors.desc": "抵抗器は、最初の回路を作成するための部品の一つです。\n\n&a極細のワイヤー&rを使用するレシピを優先するのが賢明でしょう。長期的にはより多くの材料を節約できますから。\n\n今はワイヤーを作るのも厳しいかもしれませんが、&3Coiling_Machine&rや&7LV&rの&3ワイヤー作製機&rを使えば、大幅に安くなります。", "quests.steam_age.coiling_machine.title": "Spring Coiling Machine", "quests.steam_age.coiling_machine.subtitle": "ワイヤー作製機に金属加工機の半分をくくりつけてみた!", "quests.steam_age.coiling_machine.desc": "&3Spring_Coiling_Machine&rはワイヤー作製機に似ていますが、異なるサイズのワイヤーを直接出力する機能はありません。それでも、これは非常に優秀で安価なワイヤー作製能力を持っています。\n\nこのマシンは、より安価にバネも作成できます!", "quests.steam_age.curving_press.title": "Curving Press", "quests.steam_age.curving_press.subtitle": "基本型押し出し機と同じくらいニッチ", - "quests.steam_age.curving_press.desc": "&3Curving_Press&rは、基本型押し出し機と同じレシピをすべて実行できます。残念ながら、どちらもあまり多くのことを実行できません。押し出し機はMV時代に到達すると真価を発揮します。それでも、大量のツールヘッドを作成したい場合は、このマシンで作成できます。", + "quests.steam_age.curving_press.desc": "&3Curving_Press&rは、基本型押し出し機と同じレシピをすべて実行できます。残念ながら、現段階ではどちらもあまり用途が多くありません。\n押し出し機はMV時代に到達すると真価を発揮します。\n一応、大量のツールヘッドを作成したい場合は、このマシンが役立つでしょう。", "quests.steam_age.vibrating_table.title": "Vibrating Table", "quests.steam_age.vibrating_table.subtitle": "選別機と同等", - "quests.steam_age.vibrating_table.desc": "&3Vibrating_Table&rは、宝石の鉱石(石炭を含む)を独自の方法で処理でき、現時点で使える他の方法よりもはるかに多く生産してくれます。さらに、金属の混じった砂利も処理できます。もう流し樋での作業は必要ありません!", + "quests.steam_age.vibrating_table.desc": "&3Vibrating_Table&rは、宝石の鉱石(石炭を含む)を独自の方法で処理でき、現時点で使える他の方法よりもはるかに生産量が多くなります。\nさらに、金属の混じった砂利も処理できます。もう流し樋での作業は必要ありません!", "quests.steam_age.lathe.title": "Belt Grinder", "quests.steam_age.lathe.subtitle": "金吹雪舞い散る", - "quests.steam_age.lathe.desc": "&3Belt_Grinder&rは、一つのインゴットを2つの棒に切削したり、ボルトをスクリューに加工したり、あるいは、宝石を研磨したりなど、様々な加工が行えます。多くの棒とスクリューが必要な場合は、このマシンは良い投資になります。", + "quests.steam_age.lathe.desc": "&3Belt_Grinder&rは、一つのインゴットを2つの棒に切削したり、ボルトをスクリューに加工したり、あるいは、宝石を研磨したりなど、様々な加工が行えます。\n多くの棒とスクリューが必要な場合は、このマシンが役に立ってくれるでしょう。", "quests.steam_age.steel_saw.title": "鋼鉄製メカニカルソー", "quests.steam_age.steel_saw.subtitle": "石切り台と基本型裁断機が1つに!", - "quests.steam_age.steel_saw.desc": "これは、棒を4つのボルトに変えたり、ブロックをプレートに裁断したりするなど、いくつかの金属レシピも処理できるようになった基本型メカニカルソーのアップグレード版です。これらのレシピを実行するためには液体が必要ですが、今のところは水を使えばよいでしょう。\n\n最初に合金精錬機を使用してゴムパルプをブロックに変えると、より安価にゴムシートを作ることができます。", + "quests.steam_age.steel_saw.desc": "鋼鉄製メカニカルソーは、棒を4つのボルトに変えたり、ブロックをプレートに裁断したりするなど、いくつかの金属レシピも処理できるようになりました。\nこれらのレシピを実行するためには液体が必要ですが、今のところは水を使えばよいでしょう。\n\n最初に合金精錬機を使用してゴムパルプをブロックに変えると、より安価にゴムシートを作ることができます。", "quests.steam_age.rolling_mill.title": "Rolling Mill", "quests.steam_age.rolling_mill.subtitle": "金属加工機の残り半分", - "quests.steam_age.rolling_mill.desc.1": "蒸気時代に作れるマシンの中でも、&3Rolling Mill&rは、最高のものの1つです。なぜなら、1つのインゴットから1つのプレートが作れるようになるんですよ! また、薄いシートを手作業よりも安価に作成することもできます!", - "quests.steam_age.rolling_mill.desc.2": "&l&3伝承では...&r&o このマシンは以前からTFGにあったんだけど、昔は、プレートの代わりに棒を作ってて、そのときの基本型金属加工機の前のプレート作成機は20%で失敗してたんだって!...といいます。", + "quests.steam_age.rolling_mill.desc.1": "蒸気時代に作れるマシンの中でも、&3Rolling_Mill&rは、最高のものの1つです。なんと、1つのインゴットから1つのプレートが作れるようになるんですよ!\nまた、薄いシートを手作業よりも安価に作成することもできます!", + "quests.steam_age.rolling_mill.desc.2": "&l&3余談:&r&oこのマシンは以前からTFGにあったんだけど、昔はプレートの代わりに棒を作ってて、そのときの基本型金属加工機の前のプレート作成機は20%で失敗してたんだって!ガチャ要素も残した方がよかったかな...?", "quests.steam_age.steel_mixer.title": "鋼鉄製メカニカルミキサー", "quests.steam_age.steel_mixer.subtitle": "基本型ミキサーのアーリーアクセス版", - "quests.steam_age.steel_mixer.desc": "&3鋼鉄製メカニカルミキサー&rは、蒸気時代に作れる最高のマシンのもう1つです。るつぼよりもはるかに効率的な速度で、色付きの鋼鉄の粉末を混合できます! ガスを含むレシピも実行できてしまいますが...まあ、深くは考えないようにしましょう。\n\n加熱が必要なレシピには、炉またはブレイズバーナーを使用でき、メカニカルアームはどちらにも自動的に燃料を補給できます。", + "quests.steam_age.steel_mixer.desc": "&3鋼鉄製メカニカルミキサー&rは、蒸気時代に作れる最高のマシンのもう1つです。るつぼよりもはるかに効率的な速度で、色付きの鋼鉄の粉末を混合できます!\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このクエストでは、細いパイプまたは通常のパイプのどちらかが必要です。どちらかのサイズを入手して完了してください。", - "quests.steam_age.potin.desc.2": "&l&3伝承では...&r&o &dポティン製液体パイプ&rは元々&9GT++&rにて生み出されて、&4[GT:NH]&rと呼ばれる小規模なPackでは猛威を振るっていたんだと。私たちはその喜びを広めたかったんだ。\n\nちなみに、現実の世界では、&dポティン&rはパイプではなく、コインに使用される合金らしいよ。GTCEuは日々非現実的になっていますね...といいます。", + "quests.steam_age.potin.desc.1": "&dポティン製液体パイプ&rは、コストに対して&a非常に高い液体運搬性能&rを持っています。\nよりよい液体の運搬や管理のためにも、ぜひとも作ってみてください。\n\n&dポティン&rをつくるには、まず&e粉末&rの形から始める必要があります。\n\nこのクエストでは、細いパイプまたは通常のパイプのどちらかが必要です。どちらかのサイズを入手して完了してください。", + "quests.steam_age.potin.desc.2": "&l&3余談:&r&o&dポティン製液体パイプ&rは元々&9GT++&rで生み出されて、&4[GT:NH]&rと呼ばれる小規模なPackでは猛威を振るっていたんだと。私たちはその喜びを広めたかったんだよ。\n\nちなみに、現実の世界では、&dポティン&rはパイプではなく、コインに使用される合金らしいよ。GTCEuは日々非現実的になっていますね...", "quests.steam_age.miner.title": "自動採掘", "quests.steam_age.miner.subtitle": "ここもいずれ...", - "quests.steam_age.miner.desc.1": "鉱石を自動採掘する2つの方法が利用できるようになりました! ただし、どちらもかなり時間がかかるので、設置してチャンクをロードし、座して待つのではなく、代わりに何か他の作業を進めておいた方がいいと思いますよ。\n\nメカニカルドリルは、掘りすすむための仕掛けを作る必要があります。必要に応じて、列車の先頭やトロッコに取り付けてトンネルを掘ることもできます。", - "quests.steam_age.miner.desc.2": "一方、蒸気式採掘機は、鉱石ブロックのみを破壊し、残りの地面をそのままにして、それらを丸石に置き換えます。 小さめの範囲を自動で採掘してくれるため、メカニカルドリルより準備は楽ですが、動作速度はとても遅いです。", + "quests.steam_age.miner.desc.1": "鉱石を自動採掘する2つの方法が利用できるようになりました!\nただし、どちらもかなり時間がかかるので、設置してチャンクをロードし、座して待つのではなく、代わりに何か他の作業を進めておいた方がいいと思います。\n\nメカニカルドリルは、掘りすすむための仕掛けを作る必要があります。必要に応じて、列車の先頭やトロッコに取り付けてトンネルを掘ることもできます。", + "quests.steam_age.miner.desc.2": "一方、蒸気式採掘機は、鉱石ブロックのみを破壊し、残りの地面をそのままにして、それらを丸石に置き換えます。\n小さめの範囲を自動で採掘してくれるため、メカニカルドリルより準備は楽ですが、動作速度がとても遅いです。", "quests.steam_age.paper.title": "紙", "quests.steam_age.paper.subtitle": "サトウキビからは作れないんです", - "quests.steam_age.paper.desc": "まだ作っていなかったですか?でしたら電気なしで紙を入手する方法を3つお教えします。\n\n1)皮、軽石、卵で羊皮紙を作成する。\n\n2)パピルスを織る。\n\n3)長いプロセスを経て樹から作る。\n\n後には、鍛造機などを用いて木材パルプを少ない工程で紙に変えることができるようになります。", + "quests.steam_age.paper.desc": "まだ作っていなかったですか?でしたら電気なしで紙を入手する方法を3つお教えします。\n\n1)皮、軽石、卵で羊皮紙を作成する。\n\n2)パピルスを織る。\n\n3)長い工程を経て樹から作る。\n\n後には、鍛造機などを用いて木のパルプを少ない工程で紙に変えることができるようになります。", "quests.steam_age.lv_circuit.title": "最初の回路!", "quests.steam_age.lv_circuit.subtitle": "新時代の幕開け", - "quests.steam_age.lv_circuit.desc": "このレシピに、最初は圧倒されるかもしれません。しかし、蒸気時代に時間をかけ、じっくり進めていれば、すべて簡単に自動化できるはずです。 しばらくの間はこれをたくさん作成する必要がありますが、回路組み立て機を手に入れるまでは、これから作る電動の機械たちによって、さらに作りやすくなっていくでしょう。", + "quests.steam_age.lv_circuit.desc": "このレシピに、最初は圧倒されるかもしれません。しかし、蒸気時代に時間をかけ、じっくり進めていれば、すべて簡単に自動化できるはずです。\nしばらくの間はこれをたくさん作成する必要がありますが、回路組み立て機を手に入れるまでは、これから作る電動の機械たちによって、さらに作りやすくなっていくでしょう。", "quests.steam_age.what_next.title": "次は?", "quests.steam_age.what_next.subtitle": "来たれ、GregTech", "quests.steam_age.what_next.desc": "ここに急いで来た場合は、最初に金属加工機、ワイヤー作製機、またはミキサーなどの機械をお勧めします。\n下のCreateマシンを作成していた場合は、組み立て機、アーク炉、化学反応器をお勧めします。", "quests.steam_age.alternator.title": "オルタネーター", "quests.steam_age.alternator.subtitle": "ストレスを力に変える", - "quests.steam_age.alternator.desc.1": "大規模な蒸気時代のセットアップがある場合は、ボイラーと[LV Steam Turbines]に戻るためだけに、すぐにすべてを廃棄したくないでしょう。代わりに、&3オルタネーター&rは蒸気機関からの[SU]を電気に変換します。各蒸気機関+オルタネーターは、1Aの[LV]を提供する必要があります!残念ながら、オルタネーターはストレスを[GregTech]が使用する電気システムとは異なる電気システムに変換するため、エネルギーコンバーターを使用して使用可能な[LV]エネルギーに変換する必要があります。", - "quests.steam_age.alternator.desc.2": "蒸気機関が8アンペアの[LV]を生成する例です!\n", + "quests.steam_age.alternator.desc.1": "蒸気機関の運用にかなりの力を入れていた場合、それをLV時代に進んでからも活用する方法があります。\n&3オルタネーター&rは応力を電気に変換することができます。蒸気エンジン1つとオルタネーター1つの組み合わせで、LV1A相当の電力を供給してくれます!\n\n残念ながら、オルタネーターはGregの電力である「EU」ではなく「FE」を出力するため、エネルギー変換機で変換する必要があります。", + "quests.steam_age.alternator.desc.2": "蒸気機関がLV8アンペアを生成する例です!\n", "quests.steam_age.packager.title": "Create物流システム", "quests.steam_age.packager.subtitle": "君んちにはAE2がないの?", - "quests.steam_age.packager.desc": "倉庫系Modなしで工業Modをすすめるのは大変でしょう。お待たせしました!ついに、Createの物流システムが利用可能になりました! 開始方法については、クエストの&3Create物流システム&rの章をご覧ください。", + "quests.steam_age.packager.desc": "倉庫系Modなしで工業Modをすすめるのは大変でしょう。お待たせしました!ついに、Createの物流システムが利用可能になりました!\n開始方法については、クエストの&3Create物流システム&rの章をご覧ください。", "quests.steam_age.basic_mech_press.title": "基本型メカニカルプレス", "quests.steam_age.basic_mech_press.subtitle": "全自動卵くっつけ機", - "quests.steam_age.basic_mech_press.desc": "溶接に疲れた場合は、このマシンにやってもらいましょう。鉢を炉の上に置き、鍛冶場の温度が黄色以上であることを確認してから、アイテムを鉢に入れます。残念ながら、この段階でできるのはそれだけです。", + "quests.steam_age.basic_mech_press.desc": "溶接に疲れた場合は、このマシンにやってもらいましょう。\n鉢を炉の上に置き、鍛冶場の温度が黄色以上であることを確認してから、アイテムを鉢に入れます。\n残念ながら、この段階でできるのはそれだけです。", "quests.steam_age.steel_mech_press.title": "鋼鉄製メカニカルプレス", "quests.steam_age.steel_mech_press.subtitle": "ほぼ鍛造機", - "quests.steam_age.steel_mech_press.desc.1": "高圧蒸気式鍛造機はあとちょっとで作れますし、それがあればこのマシンにできることは、ほとんどすべてできてしまいますが、より上位の自動溶接レシピを切実に必要としている場合は作りましょう。\n\n鍛造機では鋼鉄製メカニカルプレスと同じように、鉱石を(副産物なしで)粉砕したり、岩を丸石に変えたり、砂利を砂に変えたり、レンガを割ったりすることができます。ただし、鍛造機のみが金属プレートの&3より安価なレシピ&rを実行できます...", - "quests.steam_age.steel_mech_press.desc.2": "&l&3伝承では...&r&o Createのメカニカルプレスって、バージョン0.9より前のTerraFirmaGregだと、蒸気時代の結構重要なマシンだったんだよね。なぜかって、4/5っていうまあまあ良い比率でプレート作ってくれたから。でも実は、それを「20%の確率で、アイテムが消える」っていう仕様で実装してたんだよ!あのギャンブルはサイコーだったなあ。...といいます。", + "quests.steam_age.steel_mech_press.desc.1": "高圧蒸気式鍛造機はあとちょっとで作れますし、それがあればこのマシンにできることは、ほとんどすべてできてしまいますが、より上位の自動溶接レシピを切実に必要としている場合は作りましょう。\n\n鍛造機では鋼鉄製メカニカルプレスと同じように、鉱石を(副産物なしで)粉砕したり、岩を丸石に変えたり、砂利を砂に変えたり、レンガを割ったりすることができます。\nただし、鍛造機のみが金属プレートの&3より安価なレシピ&rを実行できます...", + "quests.steam_age.steel_mech_press.desc.2": "&l&3余談:&r&oCreateのメカニカルプレスって、バージョン0.9より前のTerraFirmaGregだと、蒸気時代の結構重要なマシンだったんだよね。なぜかって、4/5っていうまあまあ良い比率でプレート作ってくれたから。でも実は、それを「20%の確率で、アイテムが消える」っていう仕様で実装してたんだよ!あのギャンブルはサイコーだったなあ。", "quests.stone_age": "石器時代", - "quests.stone_age.subtitle": "文明前夜", + "quests.stone_age.subtitle": "そして伝説へ...", "quests.stone_age.foods.title": "お腹が空いた?", "quests.stone_age.foods.subtitle": "働かざる者食うべからず", - "quests.stone_age.foods.desc": "このTerraFirmaGregの世界は過酷です。生き残るために最も重要なことの一つは、食料を手に入れることです。ほとんどの食料は栄養価が低く、調理しないと命に関わるものもあります。空腹度は、体力の右にある食料ゲージから確認でき、どのような栄養を摂取しているかもわかります。\n\nまずは、何でもいいので食料を手に入れましょう。", + "quests.stone_age.foods.desc": "このTerraFirmaGregの世界は過酷です。生き残るために最も重要なことの一つは、食料を手に入れることです。\nほとんどの食料は栄養価が低く、調理しないと命に関わるものもあります。\n空腹度は、体力の右にある食料ゲージから確認でき、どのような栄養を摂取しているかもわかります。\n\nまずは、何でもいいので食料を手に入れましょう。", "quests.stone_age.nutrition.title": "栄養価の仕組み", "quests.stone_age.nutrition.subtitle": "プロテインはすべてを解決...しない?", "quests.stone_age.nutrition.desc": "TerraFirmaGregの食料はそれぞれ栄養価を持ち、その栄養素は &l穀物&r、&l果物&r、&l野菜&r、&lタンパク質&r、&l乳製品&rの5つのカテゴリーに分類されます。\n\nタンパク質のような特定の栄養素だけを摂取することもできますが、それでは全体的な健康状態は低下してしまいます。バランスの取れた食事を摂ることで、最大HPを大幅に向上させることができます。\n\n詳細はフィールドガイドの「食料と水」の項目を参照してください。", @@ -3547,11 +3547,11 @@ "quests.stone_age.garlic_bread.task": "ガーリックブレッド1024切れ", "quests.stone_age.find_potable_water.title": "喉が渇いた?", "quests.stone_age.find_potable_water.subtitle": "水分補給を忘れずに!", - "quests.stone_age.find_potable_water.desc": "喉の渇きは、空腹度の上の水滴ゲージで示されます。喉の渇きを満たしておかないと、脱水症状で死んでしまいます! 水分補給の最も簡単な方法は、手に何も持たず、池や川の水源を右クリックして飲むことです。\nこのクエストを完了するには、通常の水または川の水などの、飲用可能な水源から水を飲む必要があります。クエストが正しく完了するように、複数回飲む必要がある場合があります。\n\n水はそのまま飲んでもいいですが、海水は逆に喉が渇いてしまいます。", + "quests.stone_age.find_potable_water.desc": "喉の渇きは、空腹度の上の水滴ゲージで示されます。喉の渇きを満たしておかないと、脱水症状で死んでしまいます!\n水分補給の最も簡単な方法は、手に何も持たず、池や川の水源を右クリックして飲むことです。\nこのクエストを完了するには、通常の水または川の水などの、飲用可能な水源から水を飲む必要があります。クエストが正しく完了するように、複数回飲む必要がある場合があります。\n\n水はそのまま飲んでもいいですが、海水は逆に喉が渇いてしまいます。", "quests.stone_age.find_potable_water.task": "手で水源から水を飲む。(海水または温泉水は不可)", "quests.stone_age.hydration.title": "水分補給の仕組み", "quests.stone_age.hydration.subtitle": "冷えた水をください", - "quests.stone_age.hydration.desc": "水は、水分補給以外にもいろいろな使い道があります! 湖や川の近くに拠点を建てた方がいいでしょう。そうすれば、必要になった際に簡単に水を確保できます。特定の種類の食品や飲み物など、水以外にも喉の渇きを癒す手段は存在します。\n\nただし、探索に出かけるときは、必ずしも水が手に入るとは限りません。そこで、飲み物を持ち歩く方法をいくつか紹介しましょう。 ちなみに水は一回につき容器から100mB消費して飲むことができます。", + "quests.stone_age.hydration.desc": "水は、水分補給以外にもいろいろな使い道があります!\n湖や川の近くに拠点を建てた方がいいでしょう。そうすれば、必要になった際に簡単に水を確保できます。\n特定の種類の食品や飲み物など、水以外にも喉の渇きを癒す手段は存在します。\n\nただし、探索に出かけるときは、必ずしも水が手に入るとは限りません。そこで、飲み物を持ち歩く方法をいくつか紹介しましょう。\nちなみに水は一回につき容器から100mB消費して飲むことができます。", "quests.stone_age.leather_flask.title": "革の水筒", "quests.stone_age.leather_flask.subtitle": "川から革へ", "quests.stone_age.leather_flask.desc": "革の水筒は、おそらく陶器の水差しに次いで2番目に簡単な水筒です。500mb、つまり5回分の飲み物を入れることができます。\n\n革の水筒は使用すると耐久が減りますが、壊れた場合は、革があれば修理できます。膀胱は、大きめの野生動物から入手できますよ。", @@ -3569,7 +3569,7 @@ "quests.stone_age.water_jug.desc": "水差しは、最初に作れる水筒ですが、100mbしか保持できないため、1回飲むたびに補充する必要があります。\n\n水差しは比較的壊れやすく、飲むたびにランダムに壊れる可能性があります。", "quests.stone_age.temperature.title": "気候環境", "quests.stone_age.temperature.subtitle": "今日の天気?ダメ", - "quests.stone_age.temperature.desc": "新しい世界は初夏から始まり、各月は8日間続きます。季節が変わり、それに伴い気温が変化し、作物、果樹、茂み...だけでなくその影響はあなたにまで及びます!\n\n体温は常に一定に保つ必要があります。体力と空腹度の間の小さな三角形は、現在の体温と、その変動を示しています。スニークを押すと、正確な数値が表示されます。左側の数値は濡れ具合、右側の数値は体温です。", + "quests.stone_age.temperature.desc": "新しい世界は初夏から始まり、各月は8日間続きます。季節が変わり、それに伴い気温が変化し、作物、果樹、茂み...だけでなくその影響はあなたにまで及びます!\n\n体温は常に一定に保つ必要があります。体力と空腹度の間の小さな三角形は、現在の体温と、その変動を示しています。\nスニークを押すと、正確な数値が表示されます。左側の数値は濡れ具合、右側の数値は体温です。", "quests.stone_age.temperature.task": "存在する", "quests.stone_age.insulation.title": "体温の仕組み", "quests.stone_age.insulation.subtitle": "熱中症には気を付けよう!", @@ -3585,7 +3585,7 @@ "quests.stone_age.wool_clothes.desc": "羊毛の服は、寒い気候や厳しい冬での生活に適しています。羊毛の服一式が揃っていればどんな冬でも越えられるでしょう。\n\n羊毛の確保のためには、羊、アルパカ、ジャコウウシなど、羊毛を生産する哺乳類と仲良くなる(または狩る)必要があります。 フィールドガイドの野生の動物の項目には、さまざまな動物がどこにいるかが記載されており、牧畜の項目では、それらを家畜化する方法が説明されています。", "quests.stone_age.insulated_leather_clothes.title": "断熱レザー服", "quests.stone_age.insulated_leather_clothes.subtitle": "寒さにも負けず", - "quests.stone_age.insulated_leather_clothes.desc": "断熱レザー服は、羊毛の服よりも簡単に作ることができますが、断熱性と暖かさはいくらか低くなります。それでも、ある程度温暖な地域に住むには十分に効果的です。\n\n作るためには、動物を狩って皮を入手し、羊、アルパカ、ジャコウウシなど、羊毛を生産する哺乳類と仲良くなる(または狩る)必要があります。フィールドガイドの野生の動物の項目には、さまざまな動物がどこにいるかが記載されており、牧畜の項目では、それらを家畜化する方法が説明されています。", + "quests.stone_age.insulated_leather_clothes.desc": "断熱レザー服は、羊毛の服よりも簡単に作ることができますが、断熱性と暖かさはいくらか低くなります。それでも、ある程度温暖な地域に住むには十分に効果的です。\n\n作るためには、動物を狩って皮を入手し、羊、アルパカ、ジャコウウシなど、羊毛を生産する哺乳類と仲良くなる(または狩る)必要があります。\nフィールドガイドの野生の動物の項目には、さまざまな動物がどこにいるかが記載されており、牧畜の項目では、それらを家畜化する方法が説明されています。", "quests.stone_age.burlap_clothes.title": "麻の服", "quests.stone_age.burlap_clothes.subtitle": "合法な使い道です", "quests.stone_age.burlap_clothes.desc": "麻布はジュートの繊維で作られています。ジュートは、温度と水分量の要求が満たされている限り、ほとんどの温暖な気候で育てられます。\n\n麻の服は、暑い夏やその他の特定の暑い環境に最適ですが、それについては後で説明します。", @@ -3600,35 +3600,35 @@ "quests.stone_age.find_rock.desc": "旅を始めると、まず世界がすっかり様変わりしてることに気づくでしょう。素手で木を壊すことはできませんが、心配は無用です。本物の原始人となるために、石器を持ちましょう。\n\n木のツルハシをクラフトする代わりに、地面から石を拾いましょう。まずは石を4つ以上集めます。石を殴って壊すか、素手で右クリックして石を集めることができます。", "quests.stone_age.rock_knapping.title": "ナッピング", "quests.stone_age.rock_knapping.subtitle": "打製石器だって!", - "quests.stone_age.rock_knapping.desc": "石は「ナッピング」することができます。これは、石を打ち合わせて使用可能な形に加工する作業のことです。ナッピングには少なくとも2つの石が必要で、それらを持って空中を右クリックすると、ナッピングの画面が開きます。そこで石のツールヘッドを作成するために、石の1つを「削り取る」ことができます。さまざまなツールのすべての形状は、EMIとフィールドガイドに記載されています。\n\n最初期に最も重要なツールは、石のナイフと石の斧なので、まずはそれらのツールヘッドをナッピングしてみましょう!", + "quests.stone_age.rock_knapping.desc": "石は「ナッピング」することができます。これは、石を打ち合わせて使用可能な形に加工する作業のことです。\nナッピングには少なくとも2つの石が必要で、それらを持って空中を右クリックすると、ナッピングの画面が開きます。そこで石のツールヘッドを作成するために、石の1つを「削り取る」ことができます。\nさまざまなツールのすべての形状は、EMIとフィールドガイドに記載されています。\n\n最初期に最も重要なツールは、石のナイフと石の斧なので、まずはそれらのツールヘッドをナッピングしてみましょう!", "quests.stone_age.find_stick.title": "棒を見つける", "quests.stone_age.find_stick.subtitle": "いい感じのが見つかったかな", - "quests.stone_age.find_stick.desc": "地面には枝がたくさん落ちているでしょう。枝は棒として使えます。棒にはさまざまな用途があり、道具や松明、火起こし器なども作れます。\n\n色んな種類の枝で持ち物が一杯になるのを防ぐために、単体でクラフトすることで普通の棒にまとめて、スタックすることができます。また、9本の棒を束ねて棒の束にし、それをさらに束ねて大きな棒の束にすることができます。大きな棒の束は、丸太の代わりに使用できますよ。", + "quests.stone_age.find_stick.desc": "地面には枝がたくさん落ちているでしょう。枝は棒として使えます。棒にはさまざまな用途があり、道具や松明、火起こし器なども作れます。\n\n色んな種類の枝で持ち物が一杯になるのを防ぐために、単体でクラフトすることで普通の棒にまとめて、スタックすることができます。\nまた、9本の棒を束ねて棒の束にし、それをさらに束ねて大きな棒の束にすることができます。大きな棒の束は、丸太の代わりに使用できますよ。", "quests.stone_age.first_stone_tools.title": "最初の石器", "quests.stone_age.first_stone_tools.subtitle": "モノリスを見つけた?", - "quests.stone_age.first_stone_tools.desc": "石をナッピングしてツールヘッドを作り、棒と組み合わせることで、最も原始的なツールを作成できます。ついに石器時代の幕開けです!\n\n石だけでも最低限の生活はできますが、いずれは金属製の道具を作りたくなるでしょう。金属製の道具は、速度、耐久性、作れる道具の種類が格段に優れています。次の2つのクエストは、生活に必要なアイテムを集めるのに役立つはずです。", + "quests.stone_age.first_stone_tools.desc": "石をナッピングしてツールヘッドを作り、棒と組み合わせることで、最も原始的なツールを作成できます。ついに石器時代の幕開けです!\n\n石だけでも最低限の生活はできますが、いずれは金属製の道具を作りたくなるでしょう。金属製の道具は、速度、耐久性、作れる道具の種類が格段に優れています。\n次の2つのクエストは、生活に必要なアイテムを集めるのに役立つはずです。", "quests.stone_age.stone_tools.title": "さまざまな石器ツール", "quests.stone_age.stone_tools.subtitle": "石の重要さを意識し始めた", "quests.stone_age.stone_tools.desc": "石は単純で原始的な素材ですが、金属の扱い方を学ぶまでは、それらに頼ることになります。バニラのトライデントのように投げることができるジャベリンや、農業のための鍬なども作ることができます。", "quests.stone_age.gather_straw.title": "藁を集める", "quests.stone_age.gather_straw.subtitle": "鍬を使っても構わない", - "quests.stone_age.gather_straw.desc": "地上で見つかるほとんどの草は、ナイフまたは鍬で壊すと藁として収穫できます。藁は多くの用途がありますが、穴窯を作成するために少なくとも8つは必要になります。\n\n藁は、直射日光を避けるための麦わらの帽子や、簡単に作れるが当たり判定が存在しない建材である茅葺きを作成するためにも使用できます。", + "quests.stone_age.gather_straw.desc": "地上で見つかるほとんどの草は、ナイフまたは鍬で壊すと藁として収穫できます。\n藁は多くの用途がありますが、穴窯を作成するために少なくとも8つは必要になります。\n\n藁は、直射日光を避けるための麦わらの帽子や、簡単に作れるが当たり判定が存在しない建材である茅葺きを作成するためにも使用できます。", "quests.stone_age.gather_logs.title": "丸太を集める", "quests.stone_age.gather_logs.subtitle": "気をつけろ!", "quests.stone_age.gather_logs.desc": "石の斧を使用すると、木を切り倒すことができます。木の根元を壊すと、木全体が倒れ、丸太、棒、苗木が発生します。\n\n少なくとも10個の丸太を集めましょう。これらのうち8個は穴窯に使用され、残りの2個は焚き火に使用されます。", "quests.stone_age.firepit.title": "焚き火", "quests.stone_age.firepit.subtitle": "夜が近い", - "quests.stone_age.firepit.desc.1": "丸太を手に入れたので、まずは焚き火を作りましょう! 夜間、モンスターは地上にスポーンしませんが、夜行性の肉食獣たちが目を覚ましてうろつきます。\n\nまず、火起こしに使うための火起こし器を作成する必要があります。", + "quests.stone_age.firepit.desc.1": "丸太を手に入れたので、まずは焚き火を作りましょう!\n夜間、モンスターは地上にスポーンしませんが、夜行性の肉食獣たちが目を覚ましてうろつきます。\n\nまず、火起こしに使うための火起こし器を作成する必要があります。", "quests.stone_age.firepit.desc.2": "焚き火を作成するには、丸太を少なくとも1本、そして木の棒を最大3本まで地面に投げ入れ、火起こし器を右クリック長押しで使って、火をつけます。藁を足すと火が付きやすくなります。\n\n焚き火は光と熱の源になるだけでなく、松明に火をつけたり、食材を調理したりするためにも使用できます。焚き火を右クリックして開いた画面で丸太を追加することで、焚き火を灯し続けることができます。火が消えた場合は、丸太を追加して火起こし器で再度点火するだけです", "quests.stone_age.find_clay.title": "粘土の確保", "quests.stone_age.find_clay.subtitle": "大量に集めよう!", - "quests.stone_age.find_clay.desc": "粘土集めは石器時代の進行に不可欠な要素です! 岩をナッピングするのと同様に、粘土をさまざまな形に成形し、穴窯で焼くことで、さまざまなアイテムを作成できます。 金属の扱い方を学ぶまで、石器ツールと粘土製の陶器があなたのサバイバルの要になります。\n\n粘土は地面に塊上で存在し、通常は草で覆われています。ただし、特定の種類の植物は、粘土の上でのみ成長するため、それが目印になります。あなたの住む気候でどのような特定の植物があるかについては、フィールドガイドを確認してください。", + "quests.stone_age.find_clay.desc": "粘土集めは石器時代の進行に不可欠な要素です!\n岩をナッピングするのと同様に、粘土をさまざまな形に成形し、穴窯で焼くことで、さまざまなアイテムを作成できます。\n金属の扱い方を学ぶまで、石器ツールと粘土製の陶器があなたのサバイバルの要になります。\n\n粘土は地面に塊上で存在し、通常は草で覆われています。ただし、特定の種類の植物は、粘土の上でのみ成長するため、それが目印になります。\nあなたの住む気候でどのような特定の植物があるかについては、フィールドガイドを確認してください。", "quests.stone_age.clay.title": "粘土", "quests.stone_age.clay.subtitle": "陶器を作る時だ", - "quests.stone_age.clay.desc": "まずは最低25個の粘土を集めましょう。ゲームを進めるには少なくとも5つの異なる粘土製のアイテムを作成する必要があります(次のクエストを参照)。 粘土を成形したら、穴窯に入れて焼き、粘土を陶器にします。石をナッピングするのと同じ方法で粘土を成形できますが、アイテム1つごとに5つの粘土が必要で、もし失敗しても粘土は失われません。", + "quests.stone_age.clay.desc": "まずは最低25個の粘土を集めましょう。ゲームを進めるには少なくとも5つの異なる粘土製のアイテムを作成する必要があります(次のクエストを参照)。\n粘土を成形したら、穴窯に入れて焼き、粘土を陶器にします。\n石をナッピングするのと同じ方法で粘土を成形できますが、アイテム1つごとに5つの粘土が必要で、もし失敗しても粘土は失われません。", "quests.stone_age.pit_kiln.title": "穴窯", "quests.stone_age.pit_kiln.subtitle": "ホットトピック!", - "quests.stone_age.pit_kiln.desc": "穴窯は、序盤でアイテムを加熱するための方法です。これによって粘土製品を焼いたり、基本的な鉱石を溶かして、最初の金属製ツールであるノコギリを作ることができます。\n\n穴窯を作成するには、8つの藁、8つの丸太、加熱したいもの、および火起こし器が必要です。作成方法については、フィールドガイドの穴窯のセクションをお読みください。焚き火と同じではありません!", + "quests.stone_age.pit_kiln.desc": "穴窯は、序盤でアイテムを加熱するための方法です。これによって粘土製品を焼いたり、基本的な鉱石を溶かして、最初の金属製ツールであるノコギリを作ることができます。\n\n穴窯を作成するには、8つの藁、8つの丸太、加熱したいもの、および火起こし器が必要です。\n作成方法については、フィールドガイドの穴窯のセクションをお読みください。焚き火と同じではありません!", "quests.stone_age.clay_products.title": "粘土製品", "quests.stone_age.clay_products.subtitle": "多目的粘土", "quests.stone_age.clay_products.desc": "これらはすべて、粘土から作ることができるアイテムです。型は金属加工に使用され、壺はアイテムを収納・保存するために使用されます。その他はフィールドガイドの説明を確認してみましょう。果たして全て作れるでしょうか。", @@ -3637,18 +3637,18 @@ "quests.stone_age.make_jug.desc": "水差しは、最も簡単に作成できる水筒ですが、100mBしか保持できません。飲むことも、吹いて音を立てることもできます!", "quests.stone_age.make_saw_mold.title": "ノコギリ型", "quests.stone_age.make_saw_mold.subtitle": "初めての金属加工", - "quests.stone_age.make_saw_mold.desc": "粘土から作るべき最初の型は、ノコギリの刃の型です。それと少量の金属があれば、ノコギリを作成できます。ノコギリは重要なツールです。&l板材&rを作成するために必要であり、それを使用すると、最初の&l&o作業台&rを作成できます。", + "quests.stone_age.make_saw_mold.desc": "粘土から作るべき最初の型は、ノコギリの刃の型です。それと少量の金属があれば、ノコギリを作成できます。\nノコギリは重要なツールです。&l板材&rを作成するために必要であり、それを使用すると、最初の&l&o作業台&rを作成できます。", "quests.stone_age.make_vessel.title": "壺", "quests.stone_age.make_vessel.subtitle": "便利な小さな容器", - "quests.stone_age.make_vessel.desc": "壺は、バンドルのように、複数のアイテムを1つのスロットで持ち運ぶために使用できます。また、最初の金属加工のためのツールとしても使います。\n\n壺を使用すると、鉱石を入れられる小さなインベントリが開きます。壺のツールチップは、鉱石が溶けるとどうなるかを教えてくれるため、合金をクラフトするときに特に役立ちます!\n\n壺を穴窯に配置して加熱すると、内部の金属を&l溶かす&rことができます。\n\nもし挑戦心があれば、さまざまな種類の金属を混ぜて合金を作成することもできます。合金作成には、金属の特定の割合の混合が必要です。最初の金属ツールは銅なら簡単に作れますが、青銅によって作ることもできます。", + "quests.stone_age.make_vessel.desc": "壺は、バンドルのように、複数のアイテムを1つのスロットで持ち運ぶために使用できます。また、最初の金属加工のためのツールとしても使います。\n\n壺を使用すると、鉱石を入れられる小さなインベントリが開きます。壺のツールチップは、鉱石が溶けるとどうなるかを教えてくれるため、合金をクラフトするときに特に役立ちます!\n\n壺を穴窯に配置して加熱すると、内部の金属を&l溶かす&rことができます。\n\nもし挑戦心があれば、さまざまな種類の金属を混ぜて合金を作成することもできます。合金作成には、金属の特定の割合で混合することが必要です。\n最初の金属ツールは銅なら簡単に作れますが、青銅によって作ることもできます。", "quests.stone_age.native_ores.title": "鉱石の小石?", "quests.stone_age.native_ores.subtitle": "金属を君の手に。", - "quests.stone_age.native_ores.desc.1": "鉱脈の生成は、おそらくあなたが慣れ親しんだものとは違っています。洞窟にさまよっていてもなかなか見つけることはことはできないでしょう。代わりに、地表に落ちている「目印」を見つける必要があります。これらは、小さな石、塵の山、または小さな結晶の芽のように見える場合があります。\n\n銅がどうしても見つからないですか?それなら別種の石を探してみましょう。特定の鉱石は特定の岩の種類の中でしか出現しないことがあります。分布については、EMIかフィールドガイドのTFG鉱石の項目を確認してください。", - "quests.stone_age.native_ores.desc.2": "なぜそれらは「目印」と呼ばれるのですか?これは、真下に、地表で見つけた鉱石と同じ鉱石を含む、巨大な鉱脈があることを意味します。まだツルハシがないでしょう?まずは鉱石を見つけた場所をメモしておいてください!後で非常に役立ちます。\n\n小さな鉱石は、1つにつき金属のナゲットと同程度の量の金属を含むため、できるだけ多く集めてください。ただし、どこで見つけたかをメモしておいてください!", + "quests.stone_age.native_ores.desc.1": "鉱脈の生成は、おそらくあなたが慣れ親しんだものとは違っています。\n洞窟をさまよっていてもなかなか見つけることはことはできないでしょう。\n代わりに、地表に落ちている「目印」を見つける必要があります。これらは、小さな石、塵の山、または小さな結晶の芽のように見える場合があります。\n\n銅がどうしても見つからないですか?それなら別種の石を探してみましょう。特定の鉱石は特定の岩の種類の中でしか出現しないことがあります。分布については、EMIかフィールドガイドのTFG鉱石の項目を確認してください。", + "quests.stone_age.native_ores.desc.2": "なぜそれらは「目印」と呼ばれるのですか?これは、真下に、地表で見つけた鉱石と同じ鉱石を含む、巨大な鉱脈があることを意味します。\nまだツルハシがないでしょう?まずは鉱石を見つけた場所をメモしておいてください!後で非常に役立ちます。\n\n小さな鉱石は、1つにつき金属のナゲットと同程度の量の金属を含むため、できるだけ多く集めてください。\nただし、どこで見つけたかをメモしておいてください!", "quests.stone_age.first_saw.title": "金属製のノコギリ", "quests.stone_age.first_saw.subtitle": "ギコギコはします!", - "quests.stone_age.first_saw.desc.1": "ノコギリの作成を開始するには、まず、使いたい金属の鉱石を少なくとも144mb分(1インゴット分)壺に入れます。その後、壺を穴窯に配置して火をつけます。\n\n穴窯が燃え尽きたら、木製のトングをオフハンドに持ちながら、まだ熱いうちに壺をすばやく拾い上げ、壺を使用して型に注ぐ画面を開きます。ノコギリ型を注ぐ画面のスロットに配置すると、ノコギリ型に金属が満たされていきます。 その後、ノコギリヘッドを棒と組み合わせると、ノコギリが完成します!", - "quests.stone_age.first_saw.desc.2": "最も扱いやすい金属は銅ですが、合金作成に挑戦することもできます。このクエストのタスクは、銅または青銅合金で作られたアイテムを受け入れます。\n\n&lビスマスブロンズ&r:銅、ビスマス、亜鉛。最も弱い青銅ですが、最も簡単に作ることができます。\n\n&lブロンズ&r:銅と錫。最も一般的な青銅です。\n\n&lブラックブロンズ&r:銅、金、銀:初期の時点で最高の青銅ですが、かなり高価です。", + "quests.stone_age.first_saw.desc.1": "ノコギリの作成を開始するには、まず、使いたい金属の鉱石を少なくとも144mb分(1インゴット分)壺に入れます。その後、壺を穴窯に配置して火をつけます。\n\n穴窯が燃え尽きたら、木製のトングをオフハンドに持ちながら、まだ熱いうちに壺をすばやく拾い上げ、壺を使用して型に注ぐ画面を開きます。ノコギリ型を注ぐ画面のスロットに配置すると、ノコギリ型に金属が満たされていきます。\nその後、ノコギリヘッドを棒と組み合わせると、ノコギリが完成します!", + "quests.stone_age.first_saw.desc.2": "最も扱いやすい金属は銅ですが、合金作成に挑戦することもできます。\nこのクエストのタスクは、銅または青銅合金で作られたアイテムを受け入れます。\n\n&lビスマスブロンズ&r:銅、ビスマス、亜鉛。最も弱い青銅ですが、最も簡単に作ることができます。\n\n&lブロンズ&r:銅と錫。最も一般的な青銅です。\n\n&lブラックブロンズ&r:銅、金、銀。初期の時点で最高の青銅ですが、かなり高価です。", "quests.stone_age.first_saw.tasks.1": "銅または青銅のノコギリヘッド。", "quests.stone_age.first_saw.tasks.2": "銅または青銅のノコギリ。", "quests.stone_age.craft_lumber.title": "作業台の時間", @@ -3674,12 +3674,12 @@ "quests.stone_age.leather_armor.desc": "革の鎧は、バニラのものと同様に、弱めな鎧になります。あまり効果はないかもしれませんが、ある程度は身を守ってくれ、斬撃ダメージに対して多少の耐性を提供します。", "quests.stone_age.mining_prep.title": "採掘の準備", "quests.stone_age.mining_prep.subtitle": "鉱石の目印を見つけた場所は...もちろん覚えてるよね?", - "quests.stone_age.mining_prep.desc.1": "石器時代より先に進むには、多くの金属が必要になり、地表にある小さな鉱石を拾うだけでは不十分です。これからは、採掘を始める必要があります。\n銅を見つけた場所に&o印をつけておいた&rと仮定して、目印があった場所のおおよその中心を見つけて掘り始めましょう! かなり深いかもしれませんが、最終的には目的の鉱石が見つかるでしょう。次のページには、最初の採掘旅行に持っていきたい装備がいくつか紹介されています!", - "quests.stone_age.mining_prep.desc.2": "&lツルハシ&r:これが何をするかは明白でしょう。石を壊して鉱石を収穫する方法が必要です。ハンマーは機能しません!\n\n&lはしごと松明&r:掘った穴から登る方法と明かりは必須です!\n\n&l梁と板材&r:TFGでの採掘は、はるかに危険です。モンスターが地下に出現するだけでなく、不注意に掘り進むと崩落が発生する可能性があります! このクエストの上にあるクエストでは、採掘中の危険を軽減する方法について説明します。\n\nさあ、採掘に向かいましょう!", + "quests.stone_age.mining_prep.desc.1": "石器時代より先に進むには、多くの金属が必要になり、地表にある小さな鉱石を拾うだけでは不十分です。これからは、採掘を始める必要があります。\n銅を見つけた場所に&o印をつけておいた&rと仮定して、目印があった場所のおおよその中心を見つけて掘り始めましょう!\nかなり深いかもしれませんが、最終的には目的の鉱石が見つかるでしょう。\n次のページには、最初の採掘旅行に持っていきたい装備がいくつか紹介されています!", + "quests.stone_age.mining_prep.desc.2": "&lツルハシ&r:これが何をするかは明白でしょう。石を壊して鉱石を収穫する方法が必要です。ハンマーは機能しません!\n\n&lはしごと松明&r:掘った穴から登る方法と明かりは必須です!\n\n&l梁と板材&r:TFGでの採掘は、はるかに危険です。モンスターが地下に出現するだけでなく、不注意に掘り進むと崩落が発生する可能性があります!\nこのクエストの上にあるクエストでは、採掘中の危険を軽減する方法について説明します。\n\nさあ、採掘に向かいましょう!", "quests.stone_age.hazards.title": "採掘の危険", "quests.stone_age.hazards.subtitle": "地上は危険だって?", - "quests.stone_age.hazards.desc.1": "モンスターに加えて、採掘時の最大の課題は崩落への対処です。 むき出しの石や鉱石ブロックの下に空間がある場合、それは「不安定」と見なされ、近くのブロックが採掘されるたびに崩落が始まる可能性があります。なお、洞窟の天井は硬化した石で覆われており、崩落を引き起こすことはありません。 崩落を避けるために、最も安全な方法は地面を掘り進め、露天掘りすることですが、安全かつ効率的に採掘したい場合は、梁の使用方法を学ぶ必要があります!これらは丸太とノコギリで作成できます。", - "quests.stone_age.hazards.desc.2": "フィールドガイドには、梁がどのように機能するかについての詳細と図が記載されていますが、要約すると、互いに4ブロック以内にこのように配置する必要があります。最上部の垂直な支柱のみが実際に周囲を支持し、それらは小さな半径を持っています。", + "quests.stone_age.hazards.desc.1": "モンスターに加えて、採掘時の最大の課題は崩落への対処です。\nむき出しの石や鉱石ブロックの下に空間がある場合、それは「不安定」と見なされ、近くのブロックが採掘されるたびに崩落が始まる可能性があります。\nなお、洞窟の天井は硬化した石で覆われており、崩落を引き起こすことはありません。\n崩落を避けるために、最も安全な方法は地面を掘り進め、露天掘りすることですが、安全かつ効率的に採掘したい場合は、梁の使用方法を学ぶ必要があります!梁は丸太とノコギリで作成できます。", + "quests.stone_age.hazards.desc.2": "フィールドガイドには、梁がどのように機能するかについての詳細と図が記載されていますが、要約すると、互いに4ブロック以内にこのように配置する必要があります。\n最上部の垂直な支柱のみが、実際に周囲の小さな範囲を支持しています。", "quests.stone_age.copper_for_anvil.title": "金床用の銅", "quests.stone_age.copper_for_anvil.subtitle": "インゴットを14個集めることに慣れましょう", "quests.stone_age.copper_for_anvil.desc": "金床は安くありません!各金床には7個のダブルインゴットが必要で、そのためには14個のインゴットを溶接する必要があります。\n\nまだ鉱石採掘をしていない場合は、この時点で採掘を開始することをお勧めします。126個の小さな銅を集めるのは大変でしょう。", @@ -3691,28 +3691,28 @@ "quests.stone_age.create_forge.desc": "炉は、材料を高温に加熱することができます。炉でアイテムを加熱する時間は、穴窯よりも速く、制御もはるかに簡単です。\n\n炉を作るには、少なくとも7つの木炭と、岩や丸石などの5つの石ブロックが必要です。\n炉には丸太を使用できず、代わりに木炭、石炭、またはコークスを使用します。\n\n伏せ焼きによる木炭の確保と炉の作り方については、フィールドガイドを確認してください。", "quests.stone_age.rock_anvil.title": "岩の金床", "quests.stone_age.rock_anvil.subtitle": "短い間お世話になります", - "quests.stone_age.rock_anvil.desc": "金床は、初期の金属加工の足掛かりになります。金属製の金床を作成するには、1段階前の金床を使用してインゴットを溶接する必要があります。 銅は最初の段階であるため、岩の金床を使用して溶接する必要があります。ハンマーで火成岩のブロックの上部を右クリックすると、石の金床を作成できます。 これは残念ながらインゴットの溶接にしか使えません。他のものに成形するには、それぞれの金属に対応した金床が必要です。", + "quests.stone_age.rock_anvil.desc": "金床は、初期の金属加工の足掛かりになります。金属製の金床を作成するには、1段階前の金床を使用してインゴットを溶接する必要があります。\n銅は最初の段階であるため、岩の金床を使用して溶接する必要があります。ハンマーで火成岩のブロックの上部を右クリックすると、石の金床を作成できます。\nこれは残念ながらインゴットの溶接にしか使えません。他のものに成形するには、それぞれの金属に対応した金床が必要です。", "quests.stone_age.quern.title": "下臼と上臼", "quests.stone_age.quern.subtitle": "鉱石処理への第一歩", - "quests.stone_age.quern.desc": "臼は、簡単な素材を粉砕するために使えます。下の部分は下臼と呼ばれ、上の部分は上臼と呼ばれます。臼を使えば、鉱石の原石を粉砕された鉱石に加工でき、そうすると製錬する際により多くの金属が得られます。\n\n臼によって、融剤、小麦粉、骨粉などの他の粉末を作成することもできます。", + "quests.stone_age.quern.desc": "臼は、簡単な素材を粉砕するために使えます。下の部分は下臼と呼ばれ、上の部分は上臼と呼ばれます。\n臼を使えば、鉱石の原石を粉砕された鉱石に加工でき、そうすると製錬する際により多くの金属が得られます。\n\n臼によって、融剤、小麦粉、骨粉などの他の粉末を作成することもできます。", "quests.stone_age.crush_ore.title": "初期の鉱石処理 - パート1", "quests.stone_age.crush_ore.subtitle": "臼で砕く", - "quests.stone_age.crush_ore.desc": "臼は、鉱石を処理するための最初のステップにすぎません!本格的な鉱石処理は、大規模で複雑です。詳しくはクエストの「鉱石処理」の章で学ぶことができます。鉱石処理を進めると、鉱石からより多くの金属やその他の副産物を抽出することができます。まずは鉱石の原石を臼に通して粉砕された鉱石に変えるところから始めましょう。この最初のステップだけでも、鉱石を溶かした際の量を増やすことができます。", + "quests.stone_age.crush_ore.desc": "臼は、鉱石を処理するための最初のステップにすぎません!\n本格的な鉱石処理は、大規模で複雑です。詳しくはクエストの「鉱石処理」の章で学ぶことができます。\n鉱石処理を進めると、鉱石からより多くの金属やその他の副産物を抽出することができます。\nまずは鉱石の原石を臼に通して粉砕された鉱石に変えるところから始めましょう。この最初のステップだけでも、鉱石を溶かした際の量を増やすことができます。", "quests.stone_age.crush_crushed_ore.title": "初期の鉱石処理 - パート2", "quests.stone_age.crush_crushed_ore.subtitle": "ハンマーで叩き潰す", "quests.stone_age.crush_crushed_ore.desc": "粉砕された鉱石をハンマーと一緒にクラフトすると、汚れた粉になり、入手できる金属の量がさらに増えます。\n\n今はまだ面倒かもしれませんが、この先に、これをより速く、自動的に行う方法が解禁されます!", "quests.stone_age.clean_dust.title": "初期の鉱石処理 - パート3", "quests.stone_age.clean_dust.subtitle": "汚れた粉を洗う", - "quests.stone_age.clean_dust.desc": "最後に、汚れた粉またはほぼ綺麗な粉を水に落とし、数秒間放置すると、それらが洗浄され、本来の粉になります。これが鉱石の最終的な形です。今ではインゴット1つ分と同じくらいの価値があるでしょう!", + "quests.stone_age.clean_dust.desc": "最後に、汚れた粉またはほぼ綺麗な粉を水に落とし、数秒間放置すると、それらが洗浄され、本来の粉になります。\nこれが鉱石の最終的な形です。今ではインゴット1つ分と同じくらいの価値があるでしょう!", "quests.stone_age.flux.title": "融剤", "quests.stone_age.flux.subtitle": "基本的な金属接着剤", "quests.stone_age.flux.desc": "融剤は、主に金属加工で物を溶接するために使用されるアイテムですが、他の用途もあります。\n白亜、石灰岩、大理石などの特定の種類の岩は、粉砕して融剤にすることができます。また、さまざまな海洋生物の殻も同様です。", "quests.stone_age.weld_copper_ingots.title": "銅の溶接", "quests.stone_age.weld_copper_ingots.subtitle": "銅の金床まであと少し", - "quests.stone_age.weld_copper_ingots.desc": "炉に火をつけ、少なくとも2つの銅のインゴットを入れましょう。銅のインゴットが熱せられていくとツールチップに表示が出ます。一定の温度を超えると「鍛造可能」と表示されますが、ここでは融点直前の「溶接可能」になるまで待ちましょう。\n\n溶接可能と表示されたら、すぐに鍛冶場から取り出します(オフハンドでトングを持つのを忘れずに!)。そして、石の金床に、融剤とハンマーと一緒に置き、溶接します。水または雪を利用すれば、できたてのダブルインゴットをより速く冷却できます。", + "quests.stone_age.weld_copper_ingots.desc": "炉に火をつけ、少なくとも2つの銅のインゴットを入れましょう。\n銅のインゴットが熱せられていくとツールチップに表示が出ます。一定の温度を超えると「鍛造可能」と表示されますが、ここでは融点直前の「溶接可能」になるまで待ちましょう。\n\n溶接可能と表示されたら、すぐに鍛冶場から取り出します(オフハンドでトングを持つのを忘れずに!)。そして、石の金床に、融剤とハンマーと一緒に置き、溶接します。水または雪を利用すれば、できたてのダブルインゴットをより速く冷却できます。", "quests.metal_age.copper_anvil.title": "第一の金床:銅", "quests.metal_age.copper_anvil.subtitle": "堅実な努力の成果", - "quests.metal_age.copper_anvil.desc": "おめでとうございます!これにてあなたは石器時代を終え、これからは金属時代に入ります! 銅の金床を手に入れたあなたが次に取り掛かるのは、金床の等級を上げていくことです。 新しい段階に進むたびに、新たなツールや新たな手段が利用可能になり、生活がどんどん楽になっていくでしょう。さあ、鍛冶の達人を目指しましょう!", + "quests.metal_age.copper_anvil.desc": "おめでとうございます!これにてあなたは石器時代を終え、これからは金属時代に入ります!\n銅の金床を手に入れたあなたが次に取り掛かるのは、金床の等級を上げていくことです。\n新しい段階に進むたびに、新たなツールや新たな手段が利用可能になり、生活がどんどん楽になっていくでしょう。\nさあ、鍛冶の達人を目指しましょう!", "quests.tfg": "TerraFirmaGreg - Modern", "quests.tfg.subtitle": "TerraFirmaGregへようこそ!", "quests.tfg.welcome.title": "TerraFirmaGregへようこそ!", @@ -3730,65 +3730,65 @@ "quests.tfg.books_again.title": "本をなくした方へ", "quests.tfg.books_again.desc": "クエストブックとフィールドガイドの本がまた欲しいですか?コピーはこのクエストで何度でももらえるので安心してください。", "quests.tfg_tips": "Tips - サバイバル", - "quests.tfg_tips.subtitle": "あなたの生活を少し楽にするためのヒントと小ネタ集。", + "quests.tfg_tips.subtitle": "生きるために", "quests.tfg_tips.beginning.title": "ヒントと小ネタはこちら!", "quests.tfg_tips.beginning.subtitle": "山のような知識がここに", - "quests.tfg_tips.beginning.desc": "このクエストの章では、生存と発展のためのヒントをたくさん(&o本当にたくさん&r)紹介します。\n\n各クエストの枝分かれした先は、それぞれ&2TerraFirmaGreg&rの主要なModを表しており、それらを最大限に活用するためのヒントがあります。これらのクエストはどれも進行に必須ではありませんが、メインクエストラインのタスクによって&oロックされている&r場合があります。", + "quests.tfg_tips.beginning.desc": "このクエストの章では、生存と発展のためのヒントをたくさん(&o本当にたくさん&r)紹介します。\n\n各クエストの枝分かれした先は、それぞれ&2TerraFirmaGreg&rの主要なModを表しており、それらを最大限に活用するためのヒントがあります。\nこれらのクエストはどれも進行に必須ではありませんが、メインクエストラインのタスクによって&oロックされている&r場合があります。", "quests.tfg_tips.portable_storage.title": "持ち運びできるストレージたち", "quests.tfg_tips.portable_storage.subtitle": "コログのミもお金も必要ありません!", - "quests.tfg_tips.portable_storage.desc": "旅の中で、あなたはたくさんの場所を探索し、たくさんのガラクタを拾うことになるでしょう。このクエストラインでは、外出先でも大量にアイテムを持ち運ぶためのいくつかの方法をお教えします。", + "quests.tfg_tips.portable_storage.desc": "旅の中で、あなたはたくさんの場所を探索し、たくさんのガラクタを拾うことになるでしょう。\nこのクエストラインでは、外出先でも大量にアイテムを持ち運ぶためのいくつかの方法をお教えします。", "quests.tfg_tips.toolbelt.title": "ツールベルトとポーチ", "quests.tfg_tips.toolbelt.subtitle": "ツールが多すぎるときのスマートな解決策", - "quests.tfg_tips.toolbelt.desc": "&dツールベルト&rを使用すると、インベントリスロットを無駄にすることなく、複数のツールを管理できます! この便利なアイテムは、&4Curios&rの特別な&3ツールベルトスロット&rに入れることができます。&c設定したキー&rを押せばツールを出し入れできます。最初は2スロットしかありませんが、&aベルトポーチ&rを追加することで増やすことができます。", + "quests.tfg_tips.toolbelt.desc": "&dツールベルト&rを使用すると、インベントリスロットを圧迫せずに、複数のツールを持ち歩けます!\nツールベルトは特別な&3ツールベルトスロット&rに装備することができます。&c設定したキー&rを押せばツールを出し入れできます。\n最初は2スロットしかありませんが、&aベルトポーチ&rを追加することで増やすことができます。", "quests.tfg_tips.maxed_out_toolbelt.title": "完全体ツールベルト", "quests.tfg_tips.maxed_out_toolbelt.subtitle": "腰への負荷が心配です...", "quests.tfg_tips.maxed_out_toolbelt.desc": "&dツールベルト&rは最大7つのポーチ追加でき、その状態だと1つのベルトに9つのツールが入ります!", "quests.tfg_tips.maxed_out_toolbelt.task": "最大まで拡張されたツールベルトを入手してください。", "quests.tfg_tips.straw_basket.title": "藁のバスケット", "quests.tfg_tips.straw_basket.subtitle": "入手がお手軽!", - "quests.tfg_tips.straw_basket.desc": "&6藁のバスケット&rは、もっといいバッグが使えるようになる前に、インベントリを管理するのに非常に役立つシンプルなバスケットです。\n\nいくつかの麦わらを手作業で加工するだけで、自分用の&6藁のバスケット&rを作ることができます!", + "quests.tfg_tips.straw_basket.desc": "&6藁のバスケット&rは、初期から使える持ち運びアイテムです。\n\nいくつかの藁を手作業で加工するだけで、自分用の&6藁のバスケット&rを作ることができます!", "quests.tfg_tips.toolbox.title": "工具箱", "quests.tfg_tips.toolbox.subtitle": "エンジニアーの恋人", - "quests.tfg_tips.toolbox.desc": "&d工具箱&rには8つのインベントリスロットがあり、それぞれに4スタックのアイテムを入れることができます。さらに、&c設定したキー&rを押すと、数ブロック離れた場所から設置された&d工具箱&rにアクセスできます。&b染色&rして&d工具箱&rを別のものと区別することもできます!", + "quests.tfg_tips.toolbox.desc": "&d工具箱&rには8つのスロットがあり、それぞれに4スタック分のアイテムを入れることができます。\nさらに、&c設定したキー&rを押すと、数ブロック離れた場所から設置された&d工具箱&rにアクセスできます。\n&b染色&rして&d工具箱&rを別のものと区別することもできます!", "quests.tfg_tips.first_sacks.title": "持ち運び用小袋", "quests.tfg_tips.first_sacks.subtitle": "ここにしか咲かない花", - "quests.tfg_tips.first_sacks.desc": "&6皮革袋&rと&3麻袋&rは、それぞれ長所と短所を持つ2つの収納アイテムです。それぞれの&dアイテムスロット&rの数、&dスタック容量&r、および各サックの最大&dアイテムサイズ&rは、それぞれのツールチップに載っています。\n\n&l&3Tips:&r &4&oフィールドガイド&rには、袋たちの特別な機能に関する、より具体的な情報が記載されています。", + "quests.tfg_tips.first_sacks.desc": "&6皮革袋&rと&3麻袋&rは、それぞれ長所と短所を持つ2つの収納アイテムです。\nそれぞれの&dアイテムスロット&rの数、&dスタック容量&r、および各サックの最大&dアイテムサイズ&rは、それぞれのツールチップに載っています。\n\n&l&3Tips:&r &4&oフィールドガイド&rには、袋たちの特別な機能に関する、より具体的な情報が記載されています。", "quests.tfg_tips.special_sacks.title": "特殊な袋類", "quests.tfg_tips.special_sacks.subtitle": "偏食な大食漢", - "quests.tfg_tips.special_sacks.desc": "&2種袋&rと&9鉱石袋&rは、特定の種類のアイテムしか入れることができないですが、はるかに大きな&dスタック容量&rがその欠点を補います。\n\n&2種袋&rは、最大&c128個&rの種を&327種類&r入れることができます。\n\n&9鉱石サック&rは、最大&c512個&rの鉱石などを&39種類&r入れることができます。鉱石などというのは、鉱石、岩、石の粉、粘土などです!", + "quests.tfg_tips.special_sacks.desc": "&2種袋&rと&9鉱石袋&rは、特定の種類のアイテムしか入れることができないですが、はるかに大きな&dスタック容量&rがその欠点を補います。\n\n&2種袋&rは、最大&c128個&rの種を&327種類&r入れることができます。\n\n&9鉱石袋&rは、最大&c512個&rの鉱石などを&39種類&r入れることができます。鉱石などというのは、鉱石、岩、石の粉、粘土などです!", "quests.tfg_tips.frame_pack.title": "フレーム付きバックパック", "quests.tfg_tips.frame_pack.subtitle": "これは悪くない選択肢だと思いますよ", - "quests.tfg_tips.frame_pack.desc": "&5フレーム付きバックパック&rは、それぞれ最大&c64個&rのアイテムを&318スロット&r分入れることができます。&5フレーム付きバックパック&rの利点は、中に入れるアイテムのデフォルトのスタックサイズを無視することです。つまり、合計で最大&c1152個&rのアイテムを入れることができます!", + "quests.tfg_tips.frame_pack.desc": "&5フレーム付きバックパック&rは、それぞれ&c64個&rのアイテムを&318スロット&r分入れることができます。\n&5フレーム付きバックパック&rの利点は、中に入れるアイテムのデフォルトのスタックサイズを無視することです。つまり、どのアイテムでも&c1スタックが64個&rになります!", "quests.tfg_tips.vessels.title": "大小の壺々", "quests.tfg_tips.vessels.subtitle": "粘土は本当に役に立ってくれます", - "quests.tfg_tips.vessels.desc": "&d壺&rには4つのインベントリスロットがあり、&6大きい壺&rには9つのインベントリスロットがあります! &d小さい壺&rはアイテムの保管だけでなく、基本的な金属の製錬と合金化にも必要です。\n&6大きい壺&rは持ち運ぶには重たいですが、食品の保存に最適です。\n\n&l&3Tips:&r&o 大きい壺は初期のバックパックとして背負って持ち運ぶこともできます!", + "quests.tfg_tips.vessels.desc": "&d壺&rには4つのスロットがあり、&6大きい壺&rには9つのスロットがあります!\n&d小さい壺&rはアイテムの保管だけでなく、基本的な金属の製錬と合金化にも使えます。\n&6大きい壺&rは持ち運ぶには重たいですが、食品の保存に最適です。\n\n&l&3Tips:&r&o大きい壺は初期のバックパックとして背負って持ち運ぶこともできます!", "quests.tfg_tips.portable_cells.title": "ポータブルアイテムおよび液体セル", "quests.tfg_tips.portable_cells.subtitle": "これはまたずいぶんと高度なものを...", - "quests.tfg_tips.portable_cells.desc": "&dApplied Energistics 2&rが解放されれば、大量のアイテムや液体をデータとして保存できる&aポータブルアイテム&rおよび&b液体セル&rを作成できます。残念ながら、&dApplied Energistics 2&rは&6HV時代&rの後半まで使えないため、これらが利用できるようになるのはもうちょっと後かもしれませんね。", + "quests.tfg_tips.portable_cells.desc": "&dApplied_Energistics_2&rが解放されれば、大量のアイテムや液体をデータとして持ち運べる&aポータブルアイテム&rおよび&b液体セル&rを作成できます。残念ながら、&dAE2&rは&6HV時代&rの後半まで使えないため、これらが利用できるようになるのはもうちょっと後かもしれませんね。", "quests.tfg_tips.256m_portable_cells.title": "MEGAポータブルアイテムおよび液体セル", "quests.tfg_tips.256m_portable_cells.subtitle": "メガトン級の大容量", - "quests.tfg_tips.256m_portable_cells.desc": "&dMEGA Cells&rを使用すると、&l途方もない大容量の&rデータストレージを備えたセルを作成できます!\n\n&l&3豆知識:&r&o 単一の256Mポータブルアイテムセルは、最大10億個のアイテムを保存できます!これは、58,000個以上のチェストが埋まるほどの量です!", + "quests.tfg_tips.256m_portable_cells.desc": "&dMEGA_Cells&rを使用すると、&l途方もない大容量の&rデータストレージを備えたセルを作成できます!\n\n&l&3豆知識:&r&o単一の256Mポータブルアイテムセルは、最大10億個のアイテムを保存できます!これは、58,000個以上のチェストが埋まるほどの量です!", "quests.tfg_tips.backpack_materials.title": "バックパックの材料", "quests.tfg_tips.backpack_materials.subtitle": "寝袋はレシピに含まれてないです", - "quests.tfg_tips.backpack_materials.desc": "バックパックには2つの選択肢があります。&5フレーム付きバックパック&rまたは&3リュック&rです。\n\n&5フレーム付きバックパック&rは、各スロットに最大&c64&rアイテムを&o標準のスタックサイズに関係なく&r収納できる高密度なバックパックです。\n\n&3リュック&rは、今後のインベントリ容量を拡張するための主要な方法です。最初のティアの時点で通常のインベントリを2倍以上にし、上位のを作ればさらに拡張していきます! さらに、さまざまな&aアップグレード&rを付けることや、好きなように染色することができます!", + "quests.tfg_tips.backpack_materials.desc": "バックパックには2つの選択肢があります。&5フレーム付きバックパック&rまたは&3リュック&rです。\n\n&5フレーム付きバックパック&rは、各スロットに&c64個&rアイテムを&o標準のスタックサイズに関係なく&r収納できる高密度なバックパックです。\n\n&3リュック&rは、様々な場所で主流なバックパックです。最初に作るものでも36スロット分の容量があり、上位のものはさらに拡張していきます!\nさらに、さまざまな&aアップグレード&rを付けることや、好きなように染色することができます!", "quests.tfg_tips.first_backpack.title": "最初のバックパック", "quests.tfg_tips.first_backpack.subtitle": "ナイフ、ランプかばんにつめこんで", - "quests.tfg_tips.first_backpack.desc": "これは最初の&3リュック&rです。合計&c36&rのインベントリスロットがあり、&a1つのアップグレード&rを入れることができます。インベントリとバックパックのアップグレードについて学ぶには、この先の2方向に枝分かれしたクエストラインを確認してください。", + "quests.tfg_tips.first_backpack.desc": "これは最初の&3リュック&rです。合計&c36&rのインベントリスロットがあり、&a1つのアップグレード&rを入れることができます。\nインベントリとバックパックのアップグレードについて学ぶには、この先の2方向に枝分かれしたクエストラインを確認してください。", "quests.tfg_tips.red_steel_backpack.title": "レッドスチール製リュック", "quests.tfg_tips.red_steel_backpack.subtitle": "ブルースチールで作るより涼しげだね", - "quests.tfg_tips.red_steel_backpack.desc": "&4レッドスチール製リュック&rは、リュックの中で4番目に容量が大きいモデルです。合計スロット数は&c54&rで、&a2つのアップグレード&rを入れることができます。", + "quests.tfg_tips.red_steel_backpack.desc": "&4レッドスチール製リュック&rは、リュックの中で4番目に容量が大きいモデルです。\n合計スロット数は&c54&rで、&a2つのアップグレード&rを入れることができます。", "quests.tfg_tips.aluminium_backpack.title": "アルミニウム製リュック", "quests.tfg_tips.aluminium_backpack.subtitle": "アルーミナムって言った方がよかった?", - "quests.tfg_tips.aluminium_backpack.desc": "&bアルミニウム製リュック&rは、リュックの中で3番目に容量が大きいモデルです。合計スロット数は&c81&rで、&a3つのアップグレード&rを入れることができます。", + "quests.tfg_tips.aluminium_backpack.desc": "&bアルミニウム製リュック&rは、リュックの中で3番目に容量が大きいモデルです。\n合計スロット数は&c81&rで、&a3つのアップグレード&rを入れることができます。", "quests.tfg_tips.titanium_backpack.title": "チタニウム製のリュック", "quests.tfg_tips.titanium_backpack.subtitle": "タイタニック号のような安心感", - "quests.tfg_tips.titanium_backpack.desc": "&5チタニウム製のリュック&rは、リュックの中で2番目に容量が大きいモデルです。合計スロット数は&c108&rで、&a5つのアップグレード&rを入れることができます。", + "quests.tfg_tips.titanium_backpack.desc": "&5チタニウム製のリュック&rは、リュックの中で2番目に容量が大きいモデルです。\n合計スロット数は&c108&rで、&a5つのアップグレード&rを入れることができます。", "quests.tfg_tips.tungstensteel_backpack.title": "タングステンスチール製リュック", "quests.tfg_tips.tungstensteel_backpack.subtitle": "四次元ポケットの廉価版", - "quests.tfg_tips.tungstensteel_backpack.desc": "&9タングステンスチール製リュック&rは、リュックの最上位モデルです。&c120&rという驚異的なスロット数を持っており、&a7つのアップグレード&rを入れることができます!", + "quests.tfg_tips.tungstensteel_backpack.desc": "&9タングステンスチール製リュック&rは、リュックの最上位モデルです。\n&c120&rという驚異的なスロット数を持っており、&a7つのアップグレード&rを入れることができます!", "quests.tfg_tips.backpack_upgrades.title": "リュックのアップグレード", "quests.tfg_tips.backpack_upgrades.subtitle": "リュックの進化アイテム", - "quests.tfg_tips.backpack_upgrades.desc": "&aリュックのアップグレード&rは、&3リュック&rに導入して、新しい能力と機能を与えることができます。\n\nリュックの強化素材を作成するには、&bスチール&rが使えるようになる必要があります。", + "quests.tfg_tips.backpack_upgrades.desc": "&aリュックのアップグレード&rは、&3リュック&rに導入して、新しい能力と機能を与えることができます。\n\nリュックの強化素材を作成するには、&bスチール&rが必要です。", "quests.tfg_tips.crafting_upgrade.title": "作業台アップグレード", "quests.tfg_tips.crafting_upgrade.subtitle": "出先での作業に便利", "quests.tfg_tips.crafting_upgrade.desc": "&a作業台機能&rを使用すると、どこにいてもリュックの中で&3作業台&rを使うことができます。これなしでどうやって生きてきたのか不思議に思うでしょう!", @@ -3797,43 +3797,43 @@ "quests.tfg_tips.advanced_upgrades.desc": "特定のリュックのアップグレードには、&e上位の&rバージョンがあります。これらは、さらなるフィルター機能を追加したり、より詳細な設定を可能にしたりするなど、より多くの機能を備えています。\n&aフィルター&rと&e高度なフィルター&rのアップグレードを作成して、このクエストを完了してみてください。", "quests.tfg_tips.all_backpack_upgrades.title": "すべてのアップグレード", "quests.tfg_tips.all_backpack_upgrades.subtitle": "残念ながら一つのリュックには入りきりません", - "quests.tfg_tips.all_backpack_upgrades.desc": "これらは、&3Sophisticated backpack&rにあるすべてのアップグレードです。全部作れますか?", + "quests.tfg_tips.all_backpack_upgrades.desc": "これらは、&3Sophisticated_backpack&rにあるすべてのアップグレードです。全部作れますか?", "quests.tfg_tips.gt.title": "GregTech", "quests.tfg_tips.gt.subtitle": "このModPackの名前の3分の1", "quests.tfg_tips.gt.desc": "&3GregTech&rはかなり難解です。このクエストラインはあなたの理解の助けになるでしょう。", "quests.tfg_tips.nano_saber.title": "ナノセイバー", "quests.tfg_tips.nano_saber.subtitle": "龍が我が身に宿る", - "quests.tfg_tips.nano_saber.desc": "&6ナノセイバー&rは、&5EV&rに到達すると解禁される強力な武器です。&dShift + 右クリック&rで、&cbzzzzzモード&rをアクティブにし、真の力を解き放ちましょう。", + "quests.tfg_tips.nano_saber.desc": "&6ナノセイバー&rは、&5EV&rに到達すると解禁される強力な武器です。\n&dShift+右クリック&rで、&cbzzzzzモード&rをアクティブにし、真の力を解き放ちましょう。", "quests.tfg_tips.gt_tools.title": "GregTechツール", "quests.tfg_tips.gt_tools.subtitle": "", - "quests.tfg_tips.gt_tools.desc": "ほとんどの&5GregTech&rツールは、&6パワーユニット&rから作成されます。&aEMI&rを使用して、それらから何を作ることができるのかを探ってみてください。ただし、2つの重要なことを覚えておいてください。\n\n- &eパワーユニットのティアが高いほど&r、ツールはより&c強力&rになり、使用するバッテリーも&6上位のもの&rになります。\n- すべてのツールがすべてのティアーのパワーユニットから作れるわけではありません。たとえば、&6チェーンソー&rは&7LVパワーユニット&rでのみ作成できます。", + "quests.tfg_tips.gt_tools.desc": "ほとんどの&5GregTech&rツールは、&6パワーユニット&rから作成されます。\n&aEMI&rで、どのようなツール作ることができるのか確認できます。その際、2つの重要なことを覚えておいてください。\n\n-&eパワーユニットのティアが高いほど&r、ツールはより&c強力&rになり、使用するバッテリーも&6上位のもの&rになります。\n-すべてのツールがすべてのティアーのパワーユニットから作れるわけではありません。たとえば、&6チェーンソー&rは&7LVパワーユニット&rでのみ作成できます。", "quests.tfg_tips.magnets.title": "アイテムマグネット", "quests.tfg_tips.magnets.subtitle": "", - "quests.tfg_tips.magnets.desc": "&6アイテムマグネット&rは想像通り、近くの&6アイテム&rをあなたのもとに直接引き寄せるマグネットです。&a本当に便利だ&r。他に何を求める?", + "quests.tfg_tips.magnets.desc": "&6アイテムマグネット&rは想像通り、近くの&6アイテム&rをあなたのもとに直接引き寄せるマグネットです。&a本当に便利です&r。これ以上のものが必要ありますか?", "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraftの追加要素", "quests.tfg_tips.terrafirmacraft.subtitle": "ModPackの名前の3分の2", - "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&rは、&2TerraFirmaGreg&rの主要なmodの1つです。ここでは主に、そのサバイバルに関するものと、&4酒の熟成&rや&b歩行杖&rなど、ModPackが持つ&d追加要素&rに焦点を当てています。", + "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&rは、&2TerraFirmaGreg&rの主要なmodの1つです。\nここでは主に、そのサバイバルに関するものと、TFCの&dアドオン&rに関するものに焦点を当てています。", "quests.tfg_tips.cane.title": "歩行杖", "quests.tfg_tips.cane.subtitle": "道行く人々を引っ叩くのに最適!", - "quests.tfg_tips.cane.desc": "&d杖&rを使用すると、&a雪&rなど、移動を遅くするブロックを完全に無視できます。&cメイン&rまたは&cオフハンド&rで持つだけで効果を発揮します。\n\nおまけとして、&b乗り越え可能な段差の高さを引き上げ&r、ジャンプせずに1ブロックを乗り越えることができます。&d鉄製の杖&rなら、フェンスをも簡単に乗り越えることができるようになります!", + "quests.tfg_tips.cane.desc": "&d杖&rを使用すると、&a雪や草&rなど、移動を遅くするブロックを完全に無視できます。&cメイン&rまたは&cオフハンド&rで持っているだけで効果を発揮します。\n\nおまけとして、&b乗り越え可能な段差の高さを引き上げ&r、ジャンプせずに1ブロックを乗り越えることができます。\n&d鉄製の杖&rなら、フェンスをも簡単に乗り越えることができるようになります!", "quests.tfg_tips.cane.task": "任意の杖", "quests.tfg_tips.hiking.title": "登山靴", "quests.tfg_tips.hiking.subtitle": "登山用の靴", - "quests.tfg_tips.hiking.desc": "&d登山靴&rを使用すると、世界をより楽に探索できます! &d登山靴&rを履けば、背の高い草むらも抵抗なく通り抜けることができます。さらに、&d登山靴&rのティアが上がるごとに、&9防御力&r、&9歩行速度&r、&9落下耐性&r、そしてその他の能力も強化されていきます。", + "quests.tfg_tips.hiking.desc": "&d登山靴&rを使用すると、世界をより楽に探索できます!\n&d登山靴&rを履けば、背の高い草むらも抵抗なく通り抜けることができます。\nさらに、&d登山靴&rのティアが上がるごとに、&9防御力&r、&9歩行速度&r、&9落下耐性&r、そしてその他の能力も強化されていきます。", "quests.tfg_tips.hiking.task": "任意の登山靴", "quests.tfg_tips.glassblowing.title": "ガラス吹き", "quests.tfg_tips.glassblowing.subtitle": "リアルなガラス細工体験!", - "quests.tfg_tips.glassblowing.desc": "&dガラス板&rや&dガラスブロック&rを作るには、&3ガラス吹き&r道具一式の準備が必要です。\n\n&3ガラス吹き&rには、&a吹き竿&rと、熱したガラスを注ぐためのガラス吹き用のブロックで作られた台座が必要です。台座の形状と有効なブロックの詳細については、&2フィールドガイド&rを参照してください。&a真鍮&rを成形できるようになったらすぐに、ガラス吹きが可能になります!", + "quests.tfg_tips.glassblowing.desc": "&dガラス板&rや&dガラスブロック&rを作るには、&3ガラス吹き&r道具一式の準備が必要です。\n\n&3ガラス吹き&rには、&a吹き竿&rと、熱したガラスを注ぐためのガラス吹き用のブロックで作られた台座が必要です。\n台座の形状と有効なブロックの詳細については、&2フィールドガイド&rを参照してください。&a真鍮&rを成形できるようになったらすぐに、ガラス吹きが可能になります!", "quests.tfg_tips.glassblowing.task.1": "任意のガラス吹きブロック。", "quests.tfg_tips.glassblowing_tools.title": "ガラス吹きツール", "quests.tfg_tips.glassblowing_tools.subtitle": "ガラス細工士の商売道具", - "quests.tfg_tips.glassblowing_tools.desc": "&dガラス&rを加工するには、さまざまなツールが必要です。\n\n&3木ごて&r:平らにする作業に使用される。主に&dガラス板&rおよび&dランタンガラス&rの作成に使用されます。\n&3宝石ノコギリ&r:ガラス製品の製造に必須ですが、それに加えて、まるで&bシルクタッチ&rの効果のように、&dガラス&rや&c宝石の芽&rを回収するためにも使用できます!\n&3ジャックス&r:ガラスを挟んでつまむために使用され、主に&dガラス瓶&rなどの容器を作る際に使用されます。\n&3羊毛の布&r:ガラスを転がすために使用され、&dレンズ&rおよび&dジャム瓶&rの作成に必要です。", + "quests.tfg_tips.glassblowing_tools.desc": "&dガラス&rを加工するには、さまざまなツールが必要です。\n\n&3木ごて&r:平らにする作業に使用します。主に&dガラス板&rおよび&dランタンガラス&rの作成に必要になります。\n&3宝石ノコギリ&r:ガラス製品の製造に必須ですが、それに加えて、まるで&bシルクタッチ&rの効果のように、&dガラス&rや&c宝石の芽&rを回収するためにも使用できます。\n&3ジャックス&r:ガラスを挟んでつまむ作業に使用します。主に&dガラス瓶&rなどの容器を作る際に必要になります。\n&3羊毛の布&r:ガラスを転がすために使用します。&dレンズ&rおよび&dジャム瓶&rの作成に必要です。", "quests.tfg_tips.glass_blocks.title": "ガラスブロック", "quests.tfg_tips.glass_blocks.subtitle": "Windowsを手に入れよう", - "quests.tfg_tips.glass_blocks.desc": "&aガラス製造&rに使用する砂の種類に応じて、最終的な&dガラス&rの色が変わります。特定の色のガラスをつくる方法については、&2フィールドガイド&rの&3ガラス製品&rの項目を参照してください。後々、&3GregTech&rの化学物質を使用して、ガラスをより簡単に染色できるようになります。\n\n&3&lTips:&r&o 大量のガラスブロックを作成したい場合、&b合金製錬炉&fが利用できるなら、&dガラス板&fを作成し、&b粉砕&fして&dガラスの粉&fに加工し、&aブロックの金型&fで成型するのが効率的です。この方法だと1回の作業で最大16個の小さな粉を作ることができます!", + "quests.tfg_tips.glass_blocks.desc": "&aガラス製造&rに使用する砂の種類に応じて、最終的な&dガラス&rの色が変わります。\n特定の色のガラスをつくる方法については、&2フィールドガイド&rの&3ガラス製品&rの項目を参照してください。\n後々、&3GregTech&rの化学物質を使用して、ガラスをより簡単に染色できるようになります。\n\n&3&lTips:&r&o 大量のガラスブロックを作成したい場合、&b合金製錬炉&fが利用できるなら、&dガラス板&fを作成し、&b粉砕&fして&dガラスの粉&fに加工し、&aブロックの金型&fで成型するのが効率的です。この方法だと1回の作業で最大16個の小さな粉を作ることができます!", "quests.tfg_tips.lamps.title": "ランタン", "quests.tfg_tips.lamps.subtitle": "弱めの文明の明かり", - "quests.tfg_tips.lamps.desc": "通常のMinecraftと同様に、&dランタン&rはチェーンを使って天井から吊るしたり、ブロックの上に置いたりすることができます。&dランタン&rは、点灯し続けるためにさまざまな種類の燃料を消費します。燃料によっては&4無期限に&r持続するものもあります。\n\n&3&lTips:&r&o 燃料入りのランタンは、&cCurios&fの&6バック&fスロットに装備すると、自分の周りを照らしてくれます。シェーダーがオンになっている場合は、これが機能しない場合があります。", + "quests.tfg_tips.lamps.desc": "通常のMinecraftと同様に、&dランタン&rはチェーンを使って天井から吊るしたり、ブロックの上に置いたりすることができます。\n&dランタン&rは、点灯し続けるためにさまざまな種類の燃料を消費します。燃料によっては&4永遠に&r持続するものもあります。\n\n&3&lTips:&r&o燃料入りのランタンは、&cCurios&fの&6バック&fスロットに装備すると、自分の周りを照らしてくれます。シェーダーがオンになっていると、これが機能しないことがあります。", "quests.tfg_tips.creosote.title": "ランタン燃料:クレオソート", "quests.tfg_tips.creosote.subtitle": "余っていたら", "quests.tfg_tips.creosote.desc": "&dクレオソート&rはランタン燃料として使用できますが、この燃料で満たされたランタンは&c10&r日間しか持続しません。", @@ -3844,70 +3844,70 @@ "quests.tfg_tips.tallow.task": "獣脂のバケツ", "quests.tfg_tips.olive_oil.title": "ランタン燃料:オリーブオイル", "quests.tfg_tips.olive_oil.subtitle": "もちろん、愛をこめればね", - "quests.tfg_tips.olive_oil.desc": "&dオリーブオイル&rはランタン燃料として使用できます。他の燃料よりも作成が難しいですが、これで満たされたランタンはなんと&c83&r日間も持続します!\n\n&3&lTips:&r&o &7LV&fでも電気機械にアクセスすると、製作が楽になります。", + "quests.tfg_tips.olive_oil.desc": "&dオリーブオイル&rはランタン燃料として使用できます。他の燃料よりも作成が難しいですが、これで満たされたランタンはなんと&c83&r日間も持続します!\n\n&3&lTips:&r&o &7LV&f機械にが使えるようになると、製作が楽になります。", "quests.tfg_tips.olive_oil.task": "オリーブオイルのバケツ", "quests.tfg_tips.lava_lamp.title": "ランタン燃料:溶岩", "quests.tfg_tips.lava_lamp.subtitle": "ホットスタッフ", - "quests.tfg_tips.lava_lamp.desc": "非常に耐熱性の高い金属である&9青鋼&rを使用すると、&d青鋼のランタン&rを作成できます。これは&c溶岩&rで満たすことができ、ランタンの素材は限定されるのと引き換えに、永遠の光源が得られます。\n\nただし、溶岩が入ったランタンの取り扱いには注意してください。非常に&cHOTです...&r", + "quests.tfg_tips.lava_lamp.desc": "非常に耐熱性の高い金属である&9青鋼&rを使用すると、&d青鋼のランタン&rを作成できます。これには&c溶岩&rをいれることができ、永久の光源になります。\n\nただし、溶岩が入ったランタンの取り扱いには注意してください。非常に&cHOTです...&r", "quests.tfg_tips.glowstone_lamp.title": "ランタン燃料:グロウストーン", "quests.tfg_tips.glowstone_lamp.subtitle": "最高のランタン燃料", - "quests.tfg_tips.glowstone_lamp.desc": "&dグロウストーン&rを液化するには、少なくとも&7LV&rの機械を使う必要がありますが、&l任意のランタンの素材で&r気に入ったものがあれば、&6液体グロウストーン&rで満たすことで永遠の光源を得ることができます。そして、&c溶岩&rとは異なり、これは熱くありません!", + "quests.tfg_tips.glowstone_lamp.desc": "&dグロウストーン&rを液化するには、&7LV&r以上の機械を使う必要がありますが、&lどの素材でできたランタン&でも、&6液体グロウストーン&rを入れることで永久の光源になります。\nそして、&c溶岩&rとは異なり、これは熱くありません!", "quests.tfg_tips.charcoal_pile.title": "伏せ焼き", "quests.tfg_tips.charcoal_pile.subtitle": "重要事項です", - "quests.tfg_tips.charcoal_pile.desc.1": "&a伏せ焼き&rは、初期の&d木炭&rの確保法です。&2TFG&rで成り上がっていくには、これが&oaたくさん&r必要になります。木炭は&3精錬&rと&b錬鉄&rのための&3塊鉄炉&rを使うのに大量に必要になるからです。\n\nではまず、地面を掘り下げます。", - "quests.tfg_tips.charcoal_pile.desc.2": "穴を掘った後、&cスニーク&rしながら丸太を設置します。これにより、穴に&2丸太の山&rが設置されます。丸太の山に入れる丸太が多いほど、作成される&d木炭&rが多くなります。", - "quests.tfg_tips.charcoal_pile.desc.3": "&2丸太の山&rを設置した後、ブロックで覆いますが、&o1つは覆われていないままにします&r。&d火起こし器&r、ドロップした&e松明&r、または&4火打石と打ち金&rを使用して、この覆われていないものに火をつけます。覆われたブロックから煙が出てくるのを待ち、覆われていないものを&c密閉&rします。煙の放出が止まったら、覆いを取り除き、&d木炭&rを収穫します。できれば&aシャベル&rまたは&a軍用シャベル&rを使用します。", - "quests.tfg_tips.charcoal_pile.desc.4": "&3&l専門家からのアドバイス:&r&o できるだけ早く&3コークス炉&fを作ることをお勧めします。丸太から&a木炭&fを&cより良い比率&fで作成できるだけでなく、ランタンや蒸気動力に役立つ燃料である&aクレオソート&fを副産物として生成し、&dスチール&f生産用の&aコークス&fを作るのにも使えます。", + "quests.tfg_tips.charcoal_pile.desc.1": "&a伏せ焼き&rは、初期の&d木炭&rの確保法です。\n&2TFG&rで成り上がっていくには、木炭が&o大量に&r必要になります。炉での&3精錬&rと&b錬鉄&rのための&3塊鉄炉&rの稼働で特に多く要求されます。\n\nではまず、地面を掘り下げましょう。", + "quests.tfg_tips.charcoal_pile.desc.2": "穴を掘った後、&cスニーク&rしながら丸太を設置します。これにより、穴に&2丸太の山&rが設置されます。\n丸太の山に入れる丸太が多いほど、作成される&d木炭&rが多くなります。", + "quests.tfg_tips.charcoal_pile.desc.3": "&2丸太の山&rを設置した後、ブロックで覆いますが、&o1つは覆われていないままにします&r。\n&d火起こし器&r、ドロップした&e松明&r、または&4火打石と打ち金&rを使用して、この覆われていないものに火をつけます。\n覆われたブロックから煙が出てきたら、覆われていないものにもブロックを被せて&c密閉&rします。\n煙の放出が止まったら、覆いを取り除き、&d木炭&rを収穫します。&aシャベル&rまたは&a軍用シャベル&rを使えば楽に回収できます。", + "quests.tfg_tips.charcoal_pile.desc.4": "&3&l専門家からのアドバイス:&r&o\nできるだけ早く&3コークス炉&fを作ることをお勧めします。丸太から&a木炭&fを&cより良い比率&fで作成できるだけでなく、ランタンや蒸気動力に役立つ燃料である&aクレオソート&fを副産物として生成し、&dスチール&f生産用の&aコークス&fを作るのにも使えます。", "quests.tfg_tips.thatch_bed.title": "藁のベッド", "quests.tfg_tips.thatch_bed.subtitle": "休める場所をくれないか", - "quests.tfg_tips.thatch_bed.desc": "いくつかの&b藁ブロック&rと&a大きな皮&rを利用して、&d藁のベッド&rを作成できます。睡眠に使用することはできませんが、&cスポーンポイントを設定できます&r。\n\n藁のベッドを作成するには、&b2つの藁ブロック&rを並べて設置し、&a大きな皮&rで右クリックします。", + "quests.tfg_tips.thatch_bed.desc": "&b藁ブロック&rを2つ設置し、&a大きな皮&rを被せると、&d藁のベッド&rになります。\n寝るために使うことはできませんが、&cスポーンポイントを設定できます&r。\n\n藁のベッドを作成するには、&b2つの藁ブロック&rを並べて設置し、&a大きな皮&rで右クリックします。", "quests.tasktype.looktat": "完成した藁のベッドを見る", "quests.tfg_tips.loom.title": "織機", "quests.tfg_tips.loom.subtitle": "もっと頑張ってからじゃないと、寝る気にはならないな", - "quests.tfg_tips.loom.desc": "より良いベッドを作るには、いくつかの織物を作成する必要があります。&3織機&rはこれを行うための最適な作業台であり、それぞれ異なる用途を持つさまざまな織物を作成できます。", + "quests.tfg_tips.loom.desc": "より良いベッドを作るには、織物が必要になります。織物は&3織機&rによって作ることができます。それぞれ異なる用途を持つさまざまな織物が作成できます。", "quests.tfg_tips.burlap_cloth.title": "麻布", "quests.tfg_tips.burlap_cloth.subtitle": "ジュート製!", - "quests.tfg_tips.burlap_cloth.desc": "樽に&aジュート&rを浸し、&3織機&rで&aジュートの繊維&rを加工することにより、&d麻布&rを作成できます。\n\n麻布には、&c暑い環境&rから保護する&bBurlap Clothes&r、怒っている蜂から保護する&e養蜂家の装備&r、およびその他の多くの便利系アイテムの作成など、様々な用途があります。", + "quests.tfg_tips.burlap_cloth.desc": "樽に&aジュート&rを浸し、&3織機&rで&aジュートの繊維&rを織ることにより、&d麻布&rを作成できます。\n\n麻布には、&c暑い環境&rから保護する&b麻の服&r、怒っている蜂から保護する&e養蜂家の装備&r、およびその他の多くの便利系アイテムの作成など、様々な用途があります。", "quests.tfg_tips.pineapple_leather.title": "パイナップルレザー", "quests.tfg_tips.pineapple_leather.subtitle": "ペン抜き、リンゴ抜きで", - "quests.tfg_tips.pineapple_leather.desc": "&a人工繊維&rを入手し、それらを&b紡績&rして&a人工織り糸&rにし、&3織機&rで糸を加工すると、&bなめし革&rの代替品にもなる&d人工皮革&rが得られます。", + "quests.tfg_tips.pineapple_leather.desc": "&a人工繊維&rを入手し、それらを&b紡績&rして&a人工織り糸&rにし、&3織機&rで糸を加工すると、なめした&b革&rの代替品にもなる&d人工皮革&rが得られます。", "quests.tfg_tips.wool_cloth.title": "羊毛の布", "quests.tfg_tips.wool_cloth.subtitle": "メェー...", - "quests.tfg_tips.wool_cloth.desc": "&2羊毛を生産する&r家畜から刈り取ることで羊毛が得られ、それを紡績して&d羊毛の糸&rにすることができます。&3織機&rで糸を織ると、&d羊毛の布&rを作れます。\n\n&bガラス細工&rでの使用に加えて、&b寒い&r環境に最適な&aWool Clothes&rを作成するために使用できます。\n\n羊毛の布は&b高品質の布&rと見なされます。", + "quests.tfg_tips.wool_cloth.desc": "&2羊毛を生産する&r家畜から刈り取ることで羊毛が得られ、それを紡績して&d羊毛の糸&rにすることができます。&3織機&rで糸を織ると、&d羊毛の布&rを作れます。\n\n&bガラス細工&rでの使用に加えて、&b寒い&r環境に最適な&a羊毛の服&rを作るために使えます。\n\n羊毛の布は&b高品質の布&rと見なされます。", "quests.tfg_tips.silk_cloth.title": "絹の布", "quests.tfg_tips.silk_cloth.subtitle": "非常に、非常に滑らか。", - "quests.tfg_tips.silk_cloth.desc": "&d絹の布&rは、&bクモ&rが落とす&a糸&r、または&bポリカプロラクタム(別名ナイロン)インゴット&rを介して作成できます。カイコはまだ存在しません、ごめんなさい!&4The Beneath&rの危険な&cWebbed Lair&rバイオームは、別の危険なソースです。\n\n絹の布は、&c暑い&r環境からあなたを保護するのに最適な&aSilk Clothes&rを作成するために使用できます。\n\n絹の布は&b高品質の布&rと見なされます。", + "quests.tfg_tips.silk_cloth.desc": "&d絹の布&rは、&bクモ&rが落とす&a絹糸&rから作れます。(&bポリカプロラクタム(別名ナイロン)&rから作った布も絹の布と同じ扱いです。)カイコはまだ存在しません、ごめんなさい!\n絹糸は&4Beneath&rにある&cWebbed_Lair&rという危険なバイオームで大量に入手することができます。\n\n絹の布は、&c暑い&r環境からあなたを保護するのに最適な&a絹製の衣服&rを作成するために使用できます。\n\n絹の布は&b高品質の布&rと見なされます。", "quests.tfg_tips.phantom_silk.title": "ファントムの布", "quests.tfg_tips.phantom_silk.subtitle": "みんな大好きモブ投票の勝者", - "quests.tfg_tips.phantom_silk.desc": "&dファントムの布&rはファントムの糸から織られており、ファントムの糸はファントムの皮膜から作られています。&aファントム&rは&4The Beneath&rで見つけることができます。", + "quests.tfg_tips.phantom_silk.desc": "&dファントムの布&rはファントムの糸から織られており、ファントムの糸はファントムの皮膜から作られます。\n&aファントム&rは&4Beneath&rにいます。", "quests.tfg_tips.unrefined_paper.title": "未精製の紙", "quests.tfg_tips.unrefined_paper.subtitle": "歴史を紡ぐ。", - "quests.tfg_tips.unrefined_paper.desc": "&a未精製の紙&rは、本物の使用可能な&d紙&rになるまであと一歩です。紙を作る方法はいくつもあり、資源の入手難易度によっては、簡単に行えるものもあれば、かなり難しいものもあります。&b紙の作成&rの項目を&2フィールドガイド&rで確認してください!&r", + "quests.tfg_tips.unrefined_paper.desc": "&a未精製の紙&rは、本物の使用可能な&d紙&rの前段階です。\n紙を作る方法はいくつもあり、資源の入手難易度によっては、簡単に行えるものもあれば、かなり難しいものもあります。\n&b紙の作成&rの項目を&2フィールドガイド&rで確認しましょう。&r", "quests.tfg_tips.bed.title": "ベッド", "quests.tfg_tips.bed.subtitle": "おやすみ", - "quests.tfg_tips.bed.desc": "&b高品質の布&r(&a羊毛&rや&aシルク&rなど)を使用すると、本物の&dベッド&rを作成できます。&2藁のベッド&rとは異なり、本物の&dベッド&rは一晩中眠るのに十分な快適さです。良い夢を!", + "quests.tfg_tips.bed.desc": "&b高品質の布&r(&a羊毛&rや&a絹&rなど)を使用すると、本物の&dベッド&rを作成できます。\n&2藁のベッド&rとは異なり、本物の&dベッド&rは快適に一晩眠ることができます。良い夢を!", "quests.tfg_tips.sleeping_bags.title": "寝袋", "quests.tfg_tips.sleeping_bags.subtitle": "キャンピング!", - "quests.tfg_tips.sleeping_bags.desc": "&d寝袋&rは、&bどこでも&r寝るために使用できるアイテムです。ベッドとは異なり、寝袋は&cスポーン地点&rを&o変更しません&r。", + "quests.tfg_tips.sleeping_bags.desc": "&d寝袋&rなら、&bどこでも&r寝ることができます。ベッドとは異なり、寝袋は&cスポーン地点&rを&o変更しません&r。", "quests.tfg_tips.hammocks.title": "ハンモック", "quests.tfg_tips.hammocks.subtitle": "2度寝に最適", - "quests.tfg_tips.hammocks.desc": "&dハンモック&rは、&2ベッド&rとは真逆で昼間に眠ることができます。時間のかかる樽の醸造レシピや伏せ焼きの待機時間に最適です。\n&2寝袋&rと同様に、&cスポーン地点&rを&o変更&rしません。", + "quests.tfg_tips.hammocks.desc": "&dハンモック&rは、&2ベッド&rとは真逆で昼間に眠ることができます。\n時間のかかる樽の醸造レシピや伏せ焼きの時間をつぶすのに最適です。\n&2寝袋&rと同様に、&cスポーン地点&rを&o変更&rしません。", "quests.tfg_tips.panning.title": "ふるい", "quests.tfg_tips.panning.subtitle": "ゴールドラッシュの再体験!", - "quests.tfg_tips.panning.desc": "川底に、鉱石が混ざった砂利があるのに気が付きましたか? これは&a砂利鉱床&rとして知られています。&bふるい&rで右クリックすると、この鉱石鉱床を&dネイティブ鉱石の小さな破片&rに加工できます。これらは、型を満たすために数ミリバックレットが不足している場合に役立ちます。", + "quests.tfg_tips.panning.desc": "川底に、鉱石が混ざった砂利があるのに気が付きましたか?これは&a砂利鉱床&rとして知られています。\n&bふるい&rで右クリックすると、この鉱石鉱床を&d小さな鉱石&rに加工できます。\nこれは、絶妙に鉱石が足りない!という場合に役立ちます。", "quests.tfg_tips.sluice.title": "流し樋", "quests.tfg_tips.sluice.subtitle": "夏の風物詩", - "quests.tfg_tips.sluice.desc": "&3流し樋&rを使用して、&a砂利鉱床&rをより速く、わずかに自動化された方法で処理できます。さらに、流し樋は追加で&d希少な副産物&rを生成できます。詳細については、&2フィールドガイド&rの項目を確認してください!", + "quests.tfg_tips.sluice.desc": "&3流し樋&rを使用して、&a砂利鉱床&rをより速く、多少自動化された方法で処理することができます。\nさらに、流し樋は追加で&d希少な副産物&rを生成できます。\n詳細については、&2フィールドガイド&rの項目を確認してください!", "quests.tfg_tips.status_effects.title": "ステータス効果", "quests.tfg_tips.status_effects.subtitle": "薬物乱用教室", "quests.tfg_tips.status_effects.desc": "ポーション醸造はできませんが、ステータス効果を得るための他の消費アイテムを作成できます。", "quests.tfg_tips.aged_alcohol.title": "酒類の熟成", "quests.tfg_tips.aged_alcohol.subtitle": "百薬の長", - "quests.tfg_tips.aged_alcohol.desc": "&3アルコール飲料を&r&a樽&rで長期間熟成させると、効力が増した&dAged Alcohol&rになります。瓶また水筒で飲むと、使用したアルコールに応じて、&b再生&r、&b耐性&r、&b衝撃吸収&rなどの有用なステータス効果が得られます。これらの効果は、特に探索に役立ちます。", + "quests.tfg_tips.aged_alcohol.desc": "&3アルコール飲料を&r&a樽&rで長期間熟成させると、効力が増した&dAged_Alcohol&rになります。\n瓶また水筒で飲むと、使用したアルコールに応じて、&b再生&r、&b耐性&r、&b衝撃吸収&rなどの有用なステータス効果が得られます。これらの効果は、特に探索に役立ちます。", "quests.tfg_tips.aged_alcohol.task": "熟成アルコール", "quests.tfg_tips.pills.title": "薬:丸薬", "quests.tfg_tips.pills.subtitle": "効いたよね!", - "quests.tfg_tips.pills.desc": "&aワックス類&r、&b温泉水&r、およびいくつかの独自の材料を混ぜると、&d丸薬&rが得られます。丸薬は、良いものもあれば悪いものもあり、さまざまなステータス効果をもたらします。\n\n&3&lTips:&r&o &bメカニカルミキサー&fまたは&bGTミキサー&fを使用すると、作れる量が2倍になります!", + "quests.tfg_tips.pills.desc": "&aワックス類&r、&b温泉水&r、およびいくつかの独自の材料を混ぜると、&d丸薬&rが得られます。\n丸薬は、様々なステータス効果を持ったものがあり、使うと手早く効果を受けることができます。\n\n&3&lTips:&r&o &bメカニカルミキサー&fまたは&bGTミキサー&fを使用すると、作れる量が2倍になります!", "quests.tfg_tips.pills.task": "効果丸薬", "quests.tfg_tips.tablets.title": "薬:錠剤", "quests.tfg_tips.tablets.subtitle": "強くなりたいと思え", @@ -3915,37 +3915,37 @@ "quests.tfg_tips.tablets.task": "錠剤", "quests.tfg_tips.salvo.title": "薬:軟膏", "quests.tfg_tips.salvo.subtitle": "え...? 食べた...?", - "quests.tfg_tips.salvo.desc": "&d軟膏&rは、通常は皮膚に塗布される種類の薬です。これらは、&a丸薬&rや&a錠剤&rとは異なる種類の効果を発揮します。たとえば、&c火耐性&rや&4即時回復&rなどですが、比較的複雑な化学が必要です。", + "quests.tfg_tips.salvo.desc": "&d軟膏&rは、通常は皮膚に塗布する薬です。\nこれは、&a丸薬&rや&a錠剤&rとは異なる種類の効果を発揮します。たとえば、&c火耐性&rや&4即時回復&rなど。ただし、作成には比較的複雑な化学が必要です。", "quests.tfg_tips.salvo.task": "軟膏", "quests.tfg_tips.misc.title": "その他のTips", - "quests.tfg_tips.misc.subtitle": "さらにTips!", + "quests.tfg_tips.misc.subtitle": "Tipsおかわり!", "quests.tfg_tips.misc.desc": "これらはその他のTipsです。他のカテゴリには当てはまりませんが、知っておくと役立ちます。", "quests.tfg_tips.digger_helmet.title": "Digger Helmet", "quests.tfg_tips.digger_helmet.subtitle": "夜通し採掘するために", - "quests.tfg_tips.digger_helmet.desc.1": "&dDigger Helmet&rは、周囲を自動的に照らすことができるヘルメットです。メインハンドが占有され、オフハンドに盾などが装備されている場合に役立ちます。作成には&6グロウストーン&rが少し必要になります。早く作りたい場合は&4The Beneath&rに行くべきでしょう", - "quests.tfg_tips.digger_helmet.desc.2": "&l&3重要:&r&l &dディガーヘルメット&f自体は、&cSodium Dynamic Lights&fの特定の設定のおかげで機能します。正常に機能させるには、&b「Dynamic Entity Lighting」&fをオンにする必要があります", + "quests.tfg_tips.digger_helmet.desc.1": "&dDigger_Helmet&rは、周囲を自動的に照らすことができるヘルメットです。メインハンドが占有され、オフハンドに盾などが装備されている場合に役立ちます。\n作成には&6グロウストーン&rが少し必要になります。早く作りたい場合は&4Beneath&rに行くべきでしょう", + "quests.tfg_tips.digger_helmet.desc.2": "&l&3重要:&r&l &dディガーヘルメット&f自体は、&cSodium_Dynamic_Lights&fの特定の設定のおかげで機能します。\n正常に機能させるには、&b「Dynamic_Entity_Lighting」&fをオンにする必要があります", "quests.tfg_tips.grappling_hook.title": "グラップリングフック", "quests.tfg_tips.grappling_hook.subtitle": "スタイリッシュ!", - "quests.tfg_tips.grappling_hook.desc": "&aRope Coil&r2つと&b錬鉄製つるはしヘッド&rを組み合わせることで、&dグラップリングフック&rを作成できます。大きな山を登ったり、大きな洞窟を探索したり、世界を渡り歩いたりするのに理想的なツールです。&eアップグレード&rすることができ、&dフックの部品&rを自由に組み合わせて変更できます。", + "quests.tfg_tips.grappling_hook.desc": "&aRope_Coil&r2つと&b錬鉄製つるはしヘッド&rを組み合わせることで、&dグラップリングフック&rを作成できます。\n大きな山を登ったり、大きな洞窟を探索したり、世界中を冒険するのに非常に有用な道具です。\n&eアップグレード&rすることができ、&dフックの部品&rを自由に組み合わせて改造することができます。", "quests.tfg_tips.grapple_repair.title": "グラップリングフックの警告", "quests.tfg_tips.grapple_repair.subtitle": "これを読まないと後悔するかもしれません!", - "quests.tfg_tips.grapple_repair.desc": "&dグラップリングフック&rの&aアップグレード&rはすべて、アイテム内にNBTデータとして保存されます。つまり、&c別の&rグラップリングフックを使用してフックを修理しようとすると、&l&cすべてのアップグレードが破壊されます!&r\n\n代わりに、&dグラップリングフック&rと&b錬鉄の粉&rを&3作業台&rに置いて修理する必要があります。\n\nまた、オーバーワールドとThe Beneathの間を移動するときにグラップリングフックを使用しないでください。非常に危険です。", + "quests.tfg_tips.grapple_repair.desc": "&dグラップリングフック&rの&aアップグレード&rはすべて、アイテム内にNBTデータとして保存されます。つまり、&c別の&rグラップリングフックを使用してフックを修理しようとすると、&l&cすべてのアップグレードが破壊されます!&r\n\n代わりに、&dグラップリングフック&rと&b錬鉄の粉&rを&3作業台&rに置いて修理する必要があります。\n\nまた、オーバーワールドとBeneathの間を移動するときにグラップリングフックを使用しないでください。非常に危険です。", "quests.tfg_tips.grapple_upgrades.title": "グラップリングフックのアップグレード", "quests.tfg_tips.grapple_upgrades.subtitle": "TFGによる抜群の調整", - "quests.tfg_tips.grapple_upgrades.desc.1": "&dグラップリングフック&rのアップグレードは、&3作業台&rを介してアイテムを追加または削除することで構成されます。&r\n\n&dグラップリングフック&rに適用できるすべてのアップグレードは、&2EMI&rで用途を表示キーを押すことで確認できます。\nカスタムレシピのそれぞれには、どのような変更が適用されているかを説明するテキストが含まれています。", - "quests.tfg_tips.grapple_upgrades.desc.2": "アップグレードは、&dグラップリングフック&rを&bハンマー&rとアップグレードに使用した&aアイテム&rでクラフトすることで削除できます(消費はされません)。クラフトは、アップグレードが削除された&dフック&rと、最初にアップグレードに使用したアイテムを返します。したがって、2つのアイテムが返されます! このダウングレードのプロセスは、それぞれのアップグレードクエストで特に明記されていない限り、すべてのアップグレードのデフォルトの動作です。\n\n&lアップグレードは上書きできません。&7LV&fモーターから&bMV&fモーターにアップグレードする場合は、最初に&7LV&fモーターのアップグレードを削除する必要があります。", + "quests.tfg_tips.grapple_upgrades.desc.1": "&dグラップリングフック&rは、&3作業台&rでアイテムを追加または削除することで改造することができます。&r\n\n&dグラップリングフック&rに適用できるすべてのアップグレードは、&2EMI&rで用途を表示キーを押すことで確認できます。\nレシピには、どのような変更が適用されているかを説明するテキストが載っています。", + "quests.tfg_tips.grapple_upgrades.desc.2": "アップグレードは、&dグラップリングフック&rを&bハンマー&rとアップグレードに使用した&aアイテム&rでクラフトすると外すことができます(消費はされません)。\nクラフトは、アップグレードが外れた&dフック&rと、最初にアップグレードに使用したアイテムを返します。したがって、2つのアイテムが返されます!\nこのダウングレードの工程は、それぞれのクエストで特に明記されていない限り、すべてのアップグレードで共通です。\n\n&lアップグレードは上書きできません。&7LV&fモーターから&bMV&fモーターにアップグレードする場合は、最初に&7LV&fモーターのアップグレードを削除する必要があります。", "quests.tfg_tips.grapple_length.title": "グラップリングフックのアップグレード:長さ", "quests.tfg_tips.grapple_length.subtitle": "長いものには巻かれろ", "quests.tfg_tips.grapple_length.desc": "デフォルトでは、&dグラップリングフック&rの&b長さは80ブロック&rです。&aロープコイル&rを1つ追加するごとに、&cさらに20ブロック&r分延長できます。最大は200ブロックです。\n\n長さは&aナイフ&rでクラフトすることで&3短くする&rことができ、1回につき&220ずつ減らし&r、最小20ブロックまで減らすことができます。", "quests.tfg_tips.grapple_motor.title": "グラップリングフックのアップグレード:モーター", "quests.tfg_tips.grapple_motor.subtitle": "もたもたしてると置いてくぜ", - "quests.tfg_tips.grapple_motor.desc": "&aモーターアップグレード&rを使用すると、&dフック&rで自動巻き取りが可能になります。&c高レベルのモーター&rは、巻き取る力によって&4落下ダメージ&rを受ける可能性があるため、注意が必要です。\n\nモーターは&2GregTech&rの電圧階層に応じて段階分けされています。クラフトレシピには、どのようなステータスがどれだけ変更されたかが正確に示されています。", + "quests.tfg_tips.grapple_motor.desc": "&aモーターアップグレード&rを使用すると、&dフック&rで自動巻き取りが可能になります。\n&c高レベルのモーター&rは、巻き取る力によって&4落下ダメージ&rを受ける可能性があるため、注意が必要です。\n\nモーターは&2GregTech&rの電圧階層に応じて段階分けされています。クラフトレシピには、どのようなステータスがどれだけ変更されたかが正確に示されています。", "quests.tfg_tips.grapple_smart_motor.title": "グラップリングフックのアップグレード:スマートモーター", "quests.tfg_tips.grapple_smart_motor.subtitle": "これはどうやって使うんだろ", - "quests.tfg_tips.grapple_smart_motor.desc": "&aスマートモーターアップグレード&rを使用すると、&3スマートモーターシステム&rが有効になります。最初に&bモーターアップグレード&rをインストールする必要があります。", + "quests.tfg_tips.grapple_smart_motor.desc": "&aスマートモーターアップグレード&rを使用すると、&3スマートモーターシステム&rが有効になります。\n最初に&bモーターアップグレード&rをインストールしている必要があります。", "quests.tfg_tips.grapple_field.title": "グラップリングフックのアップグレード:反発フィールド", "quests.tfg_tips.grapple_field.subtitle": "見ててね[[ママ]] ボク お空を飛ぶ、よ!", - "quests.tfg_tips.grapple_field.desc": "&a反発フィールドアップグレード&rを使用すると、近くのブロックから反発されます。&c高レベルの反発力&rは&4落下ダメージ&rを引き起こす可能性があるため、注意が必要です。\n\n反発フィールドは&2GregTech&rの電圧階層に従って段階分けされています。クラフトレシピには、どのようなステータスがどれだけ変更されたかが正確に示されています。", + "quests.tfg_tips.grapple_field.desc": "&a反発フィールドアップグレード&rを使用すると、近くのブロックから反発されます。\n&c高レベルの反発力&rは&4落下ダメージ&rを引き起こす可能性があるため、注意が必要です。\n\n反発フィールドは&2GregTech&rの電圧階層に従って段階分けされています。クラフトレシピには、どのようなステータスがどれだけ変更されたかが正確に示されています。", "quests.tfg_tips.grapple_magnet.title": "グラップリングフックのアップグレード:フックマグネット", "quests.tfg_tips.grapple_magnet.subtitle": "なぜだろう、惹きつけられる", "quests.tfg_tips.grapple_magnet.desc": "&aマグネットアップグレード&rを使用すると、&dフック&rが近くのブロックに引き付けられ、くっつくようになります。\n\nマグネットアップグレードは&2GregTech&rの磁化インゴットを使用して段階分けされており、最も弱いのは&b磁化鉄&rで、最も強いのは&b磁化サマリウム&rです。", @@ -3958,7 +3958,7 @@ "quests.tfg_tips.grapple_throw_speed.desc": "&a投擲速度アップグレード&rを使用すると、&dフック&rの射出速度が速くなります。\n\n投擲速度アップグレードは&2GregTech&rの電圧階層に従って段階分けされています。クラフトレシピには、どのようなステータスがどれだけ変更されたかが正確に示されています。", "quests.tfg_tips.grapple_double.title": "グラップリングフックのアップグレード:ダブルフック", "quests.tfg_tips.grapple_double.subtitle": "倍加は工業の基本", - "quests.tfg_tips.grapple_double.desc": "&aダブルフックアップグレード&rを使用すると、&d2つのグラップリングフック&rを角度を変えて投げることができます。各フックを個別に投げるためのキーバインドを設定することもできます。", + "quests.tfg_tips.grapple_double.desc": "&aダブルフックアップグレード&rを使用すると、&d2つのグラップリングフック&rを角度を変えて投げることができます。\n各フックを個別に投げるためのキーバインドを設定することもできます。", "quests.tfg_tips.grapple_gravity_50.title": "グラップリングフックのアップグレード:重力半減", "quests.tfg_tips.grapple_gravity_50.subtitle": "厳密な物理学に基づいた設計", "quests.tfg_tips.grapple_gravity_50.desc": "&a重力半減アップグレード&rを使用すると、フックが受ける重力の影響が半減します!\n\nアップグレードを削除するためには、別の&dヘリウムバケツ&rを使うのではなく、代わりに&c空のバケツ&rを使用してください。最初に使った&eヘリウム&rが返ってきます。", @@ -3967,13 +3967,13 @@ "quests.tfg_tips.grapple_gravity_0.desc": "&a無重力アップグレード&rは、名前が示すように、フックが重力の影響を受けなくなります。\n\n重力エンジンモジュール&cを使用してアップグレードを削除する&rのではなく、代わりに&dタングステンブロック&rを使用してください。", "quests.tfg_tips.grapple_tweaks.title": "グラップリングフックのアップグレード:調整", "quests.tfg_tips.grapple_tweaks.subtitle": "角度の調整", - "quests.tfg_tips.grapple_tweaks.desc": "&aレンチ&rを使用すると、&dフック&rを投げるときの&b上向きの角度&rを調整できます。&aドライバー&rは、&aダブルフックアップグレード&rの&b水平角度&rを調整するために使用されます。", + "quests.tfg_tips.grapple_tweaks.desc": "&aレンチ&rを使用すると、&dフック&rを投げるときの&b上向きの角度&rを調整できます。\n&aドライバー&rは、&aダブルフックアップグレード&rの&b水平角度&rを調整するために使用されます。", "quests.tfg_tips.chalk.title": "チョーク", "quests.tfg_tips.chalk.subtitle": "方向音痴な方へ", - "quests.tfg_tips.chalk.desc": "&dチョーク&rを使用して、ブロックにさまざまな記号を描けます。&b洞窟探検&r中に重要な場所をマークするのに非常に役立ちます。\n\n&3チョークボックス&rは、複数のチョークを1つのインベントリスロットにいれておけます。それだけでなく、&6グロウストーン&rなどの発光アイテムを追加して、チョークの落書きを暗闇で光らせることができます!", + "quests.tfg_tips.chalk.desc": "&dチョーク&rを使うと、ブロックにさまざまな記号を描けます。&b洞窟探検&r中に重要な場所をマークすることなどに非常に役立ちます。\n\n&3チョークボックス&rは、複数のチョークを1つのインベントリスロットにいれておけます。\nそれだけでなく、&6グロウストーン&rなどの発光アイテムを追加して、チョークの落書きを暗闇で光らせることができます!", "quests.tfg_tips.tape_measure.title": "メジャー", "quests.tfg_tips.tape_measure.subtitle": "ブロックのスペースを手動で数えるのをやめましょう", - "quests.tfg_tips.tape_measure.desc": "&dTape Measure&rを使用すると、周囲の長さや距離を測定できます。これは、大規模な建築するときに特に役立ちます。&d巻尺&rを持ちながらブロックに右クリックするだけで、測定を開始できます。停止するには、巻尺を持ちながら別のブロックを右クリックします。", + "quests.tfg_tips.tape_measure.desc": "&dTape_Measure&rを使用すると、周囲の長さや距離を測定できます。これは、大規模な建築するときに特に役立ちます。\n&d巻尺&rを持ちながらブロックに右クリックするだけで、測定を開始できます。停止するには、巻尺を持ちながら別のブロックを右クリックします。", "quests.tfg_tips.blank_disc.title": "Etched:音楽鑑賞", "quests.tfg_tips.blank_disc.subtitle": "Gregと一緒に音楽を楽しもう", "quests.tfg_tips.blank_disc.desc": "&2Etched&rは、レコードを新しい方法で再生できる音楽プレーヤーMODです。Bandcamp、Soundcloudにある好きな曲を&dカスタムレコード&rで再生したり、サウンドイベントを通じて&aゲーム内サウンド&rなどを再生したりできます。\n\n&2Etched&rの旅を始めるには、まず&b空のレコード&rを作成してください。", @@ -3982,14 +3982,14 @@ "quests.tfg_tips.radio.desc": "&dラジオ&rを使用すると、好きな曲を検索できます。右クリックして、URLやMinecraftのサウンドイベントなど、目的の曲を入力してください。", "quests.tfg_tips.dye_discs.title": "クラシック", "quests.tfg_tips.dye_discs.subtitle": "色褪せることはありません", - "quests.tfg_tips.dye_discs.desc": "&b空白のレコード&rを染料で満たされた&a樽&rに浸すことで、バニラのレコードを作成できます。&dWait,13&rや&dBlocks!&rなどのクラシックをお楽しみください。", + "quests.tfg_tips.dye_discs.desc": "&b空白のレコード&rを染料で満たされた&a樽&rに浸すことで、バニラのレコードを作成できます。\n&dWait,13&rや&dBlocks!&rなどのクラシックをお楽しみください。", "quests.tfg_tips.dye_discs.task": "クラシックレコード", "quests.tfg_tips.special_discs.title": "ユニーク品", "quests.tfg_tips.special_discs.subtitle": "希少な一品もの...だったもの", "quests.tfg_tips.special_discs.desc": "必要に応じて&dユニークなレコード&rを作成することもできます...", "quests.tfg_tips.disc_collector.title": "レコードコレクター", "quests.tfg_tips.disc_collector.subtitle": "完全なコレクション", - "quests.tfg_tips.disc_collector.desc": "すべてのレコードを作れましたか?\n\n実はここには、レコードに関連する2つの隠されたクエストがあります。1つは非常に&csuspicious&rなもので、もう1つはあなたの内なるドワーフとのつながりを感じる必要があるかもしれません。頑張ってください!", + "quests.tfg_tips.disc_collector.desc": "すべてのレコードを作れましたか?\n\n実はここには、レコードに関連する2つの隠されたクエストがあります。\n1つは非常に&csuspicious&rなもので、もう1つはあなたの内なるドワーフとのつながりを感じる必要があるかもしれません。頑張ってください!", "quests.tfg_tips.amogus.title": "AMONGUS", "quests.tfg_tips.amogus.subtitle": "SUSSY BAKA!", "quests.tfg_tips.amogus.desc": "この隠された忌まわしきクエストを解放したことを祝福する。あなたの不満が決して見つかりませんように。", @@ -3998,7 +3998,7 @@ "quests.tfg_tips.label_album.desc": "最初のレコードを&bエッチング&rするには、&dラベル&rが必要です。これらは、空のレコードと同様に、染色できます。\n\n&dアルバムカバー&rは、エッチングされたレコードをカバーするために使用されます。エッチングされたレコードが&cSoundcloud&rのようなサイトからデータを取得する場合、曲のアイコンは16x16テクスチャに圧縮されます! レコードを保存するには、インベントリを開き、アルバムカバーを選択して、保存したい音楽レコードを右クリックします。通常のレコードも保存できます。", "quests.tfg_tips.etching_disc.title": "最初のレコードのエッチング", "quests.tfg_tips.etching_disc.subtitle": "原曲を刻む", - "quests.tfg_tips.etching_disc.desc": "&3エッチングテーブル&rを使用して&bエッチング&rを開始する必要があります。テーブルを右クリックするとエッチングインターフェイスが開き、&a空白のレコード&rと&a音楽ラベル&r、および上部のバーに有効なサウンドソースを提供すると、レコードの準備が整います。\n\nサウンドソースには、&bBandcamp/Soundcloud URL&r(シングルまたはアルバムを指すことができます)、&dゲーム内サウンドイベント&r、およびドライブ上の&c.ogg/.wav/.mp3ファイル&rなどがあります。\n\nこのクエストを完了するには、レコードをエッチングします。", + "quests.tfg_tips.etching_disc.desc": "&3エッチングテーブル&rを使用して&bエッチング&rを開始する必要があります。\nテーブルを右クリックするとエッチングインターフェイスが開き、&a空白のレコード&rと&a音楽ラベル&r、および上部のバーに有効なサウンドソースを提供すると、レコードの準備が整います。\n\nサウンドソースには、&bBandcamp/SoundcloudのURL&r(シングルまたはアルバムを指すことができます)、&dゲーム内サウンドイベント&r、およびドライブ上の&c.ogg/.wav/.mp3ファイル&rなどがあります。\n\nこのクエストを完了するには、レコードをエッチングします。", "quests.tfg_tips.disc_players.title": "レコードプレーヤー", "quests.tfg_tips.disc_players.subtitle": "もちろん、レコードを再生するために!", "quests.tfg_tips.disc_players.desc": "通常の&3ジュークボックス&rを使用して音楽を再生できますが、次の2つのアイテムを作成することもできます。\n\n&dアルバムジュークボックス&r:複数のレコードを内部に入れて&bそれらを切り替える&rことができます。拠点に置いておくのに最適です。\n\n&dステレオラジカセ&r:外出先で音楽を持ち運ぶことができます。", @@ -4009,7 +4009,7 @@ "quests.tfg_tips.DIGGY_DIGGY_HOLE.task": "ディギーディギーホールレコード", "quests.tfg_tips.camera.title": "Exposure:思い出を切り取る", "quests.tfg_tips.camera.subtitle": "ここにいることの証明", - "quests.tfg_tips.camera.desc": "&2Exposure&rは、ゲームにリアルな写真処理を追加するMODです。&bカメラ&rと&aフィルムロール&rを作成し、写真を現像することから始めましょう!。色補正、フィルターなどの複雑なシステムがあります。", + "quests.tfg_tips.camera.desc": "&2Exposure&rは、ゲームにリアルな写真処理を追加するMODです。\n&bカメラ&rと&aフィルムロール&rを作成し、写真を現像することから始めましょう!。色補正、フィルターなどの複雑なシステムがあります。", "quests.tfg_tips.selfie.title": "自撮り", "quests.tfg_tips.selfie.subtitle": "映え!", "quests.tfg_tips.selfie.desc": "&bカメラ&rを開いた状態で、F5キーを押して&b自撮りモード&rを有効にできます。その名の通り自撮り写真を撮ることができます。", @@ -4019,7 +4019,7 @@ "quests.tfg_tips.camera_attachments.task": "レッドストーンランタンまたは望遠鏡", "quests.tfg_tips.filters.title": "カラーフィルター", "quests.tfg_tips.filters.subtitle": "写真の外観を変更する。", - "quests.tfg_tips.filters.desc": "&aガラス板&rを使うと、写真に&dフィルター&rを適用できます。カメラGUIを開いて、カメラフィルターのスロットに割り当てるだけです。&dフィルター&rを使うと、写真の全体的な色の構成を変更できます。たとえば、&3シアン&rや&bライトブルー&rのフィルターを適用して、写真をより冷たく見せることができます。", + "quests.tfg_tips.filters.desc": "&aガラス板&rを使うと、写真に&dフィルター&rを適用できます。カメラGUIを開いて、カメラフィルターのスロットに割り当てるだけです。\n&dフィルター&rを使うと、写真の全体的な色の構成を変更できます。たとえば、&3シアン&rや&bライトブルー&rのフィルターを適用して、写真をより冷たく見せることができます。", "quests.tfg_tips.filter.task": "ガラス板", "quests.tfg_tips.interplanar_projector.title": "interplanar_projector", "quests.tfg_tips.interplanar_projector.subtitle": "非現実的技術", @@ -4035,7 +4035,7 @@ "quests.tfg_tips.photo.desc": "&d写真&rを使って色々なことができます。\n\n空白の&a紙&rと元の現像に使用した&a染料&rを使用して&bコピー&rできます。\n\nまた、写真を&bスタック&rして、インベントリに整理しておくこともできます。方法については、EMIを確認してください。\n\nまた、&6茶色の染料&rを適用して写真を人工的に&cエイジング&rし、長年経過したように見せることもできます。", "quests.tfg_tips.photo_album.title": "フォトアルバム", "quests.tfg_tips.photo_album.subtitle": "思い出とは永遠です...", - "quests.tfg_tips.photo_album.desc": "&b写真を保管する&r場所が必要な場合は、&dフォトアルバム&rを作成します。さらに、アルバム内の各写真に小さな説明を書き込むこともできます。写真を撮った場所やメモなどを書き出してください!", + "quests.tfg_tips.photo_album.desc": "&b写真を保管する&r場所が必要な場合は、&dフォトアルバム&rを作成しましょう。さらに、アルバム内の各写真に小さな説明を書き込むこともできます。\n写真を撮った場所やメモなどを書き出してください!", "quests.tfg_tips.photo_frame.title": "フォトフレーム", "quests.tfg_tips.photo_frame.subtitle": "最も素晴らしい写真のために", "quests.tfg_tips.photo_frame.desc": "&dフォトフレーム&rを使用して写真を表示できます。アイテムの額縁とは異なり、フォトフレームはサイズを1x1、2x2、3x3にすることができ、お気に入りの写真を拠点に飾れます!", @@ -4044,91 +4044,94 @@ "quests.tfg_tips.harpoon.desc": "&dハープーン&rはグラップリングフックに似ていますが、真上にしか飛ばせず、アップグレードすることもできません。振り子のようにスイングすることはできます!", "quests.tfg_tips.coil.title": "ジップライン", "quests.tfg_tips.coil.subtitle": "アーアアーー!", - "quests.tfg_tips.coil.desc": "&3コイル&rで2つの&dフェンス&rを右クリックすると、ジップラインが作成されます!コイルの下に立ち、ハープーンをフェンスに撃ち込めば、移動開始です。\n\n空いている手でコイルを右クリックすると、ラインのたるみを変更できます。各コイルは一方通行で、ライン自体の「矢印」で示されます。双方向のラインが必要な場合は、2つのコイルが必要です。\n\n装飾のために他のブロックにコイルを設置することもできますが、ジップラインとして機能するにはフェンスにつけている必要があります。", + "quests.tfg_tips.coil.desc": "&3コイル&rで2つの&dフェンス&rを右クリックすると、ジップラインが作成されます!コイルの下に立ち、ハープーンをフェンスに撃ち込めば、移動開始です。\n\n空いている手でコイルを右クリックすると、ラインのたるみを変更できます。\n各コイルは一方通行で、ライン自体の「矢印」で示されます。双方向のラインが必要な場合は、2つのコイルが必要です。\n\n装飾のために他のブロックにコイルを設置することもできますが、ジップラインとして機能するにはフェンスにつけている必要があります。", "quests.tfg_tips.self_defense.title": "防衛", "quests.tfg_tips.self_defense.subtitle": "窓割れてね?", - "quests.tfg_tips.self_defense.desc": "&3クランクトラップ&rを感圧板の隣に置くと、それを踏んだ動物(またはモンスター)を完全に動けなくします。森の中で逃げ回る動物を捕まえたり、家を守ったりするのに最適です。\n\n&3有刺鉄線&rは、通過しようとするとダメージを与えます。", + "quests.tfg_tips.self_defense.desc": "&3クランクトラップ&rを感圧板の隣に置くと、それを踏んだ動物(またはモンスター)を捕えます。森の中で逃げ回る動物を捕まえたり、家を守ったりするのに最適です。\n\n&3有刺鉄線&rは、通過しようとするとダメージを与えます。", + "quests.tfg_tips.lightning_rod.title": "避雷針", + "quests.tfg_tips.lightning_rod.subtitle": "尖んがり過ぎだっつーの!!!", + "quests.tfg_tips.lightning_rod.desc": "TerraFirmaCraftの世界では雷雨が非常に激しく、雷の落ちる頻度も多いため、煩わしく感じることがあるでしょう。\nそんなときは、銅の棒3本から作ることができる&d避雷針&rを設置しましょう。\n\n&d避雷針&rを置けば、半径&3128ブロック&rの雷は全て避雷針の上にしか落ちなくなります.\n注意:これは雷を&o誘導&rするだけであり無効化してくれるわけではありません。延焼を防ぐために可燃物から離れたところに設置してください", "quests.tfg_tips.arborfirmacraft.title": "ArborFirmaCraft", "quests.tfg_tips.arborfirmacraft.subtitle": "木と共に生きる", - "quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&rは、&3TFG&rに複数の新しい木を追加するMODです。&dAncient Kapok&rのような既存のTFCの木の亜種もあれば、&aBaobab&rや&aHevea&rのような完全に新しい木もあります。一部は、バニラの木の色を思い出させるものがあるかもしれませんね。\n\nこのセクションでは、&b樹液の抽出&r(Treetap)について説明します。\nまた、すべての&2ArborFirmaCraft&rの木材は&3Firmalife&rおよび&3Firma:civ&rと互換性があることが確認されています。", + "quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&rは、&3TFG&rに複数の新しい木を追加するMODです。\n&dAncient_Kapok&rのような既存のTFCの木の亜種もあれば、&aBaobab&rや&aHevea&rのような完全に新しい木もあります。一部は、バニラの木の色を思い出させるものがあるかもしれませんね。\n\nこのセクションでは、&b樹液の抽出&r(Treetap)について説明します。\nまた、すべての&2ArborFirmaCraft&rの木材は&3Firmalife&rおよび&3Firma:civ&rと互換性があることが確認されています。", "quests.tfg_tips.treetap.title": "ツリータップ", "quests.tfg_tips.treetap.subtitle": "昔ながらの樹液採集法", - "quests.tfg_tips.treetap.desc": "&b樹液の抽出&rを開始するには、&3金床&rで&a銅のインゴット&rから&dTree_Tap&rを鍛造する必要があります。\n\n求める種類の樹液は適切な木から抽出する必要があります。&3フィールドガイド&rの&2ArborFirmaCraft&rの項目にある&bTapping_Index&rに、これらの木の見つけ方が記載されています。また、&bTapping_Tree&rの項目もあり、樹液を抽出する方法を学ぶことができます。", + "quests.tfg_tips.treetap.desc": "&b樹液の抽出&rをするには、&3金床&rで&a銅のインゴット&rから&dTree_Tap&rを鍛造する必要があります。\n\n求める種類の樹液は適切な木から抽出する必要があります。&3フィールドガイド&rの&2ArborFirmaCraft&rの項目にある&bTapping_Index&rに、これらの木の見つけ方が記載されています。\nまた、&bTapping_Tree&rの項目もあり、樹液を抽出する方法を学ぶことができます。", "quests.tfg_tips.find_rosin_tree.title": "針葉樹", "quests.tfg_tips.find_rosin_tree.subtitle": "冷帯を探してください", - "quests.tfg_tips.find_rosin_tree.desc": "&a針葉樹&rは、それなりの降水量がある&9寒い&r地域で見つけることができます。抽出した&b針葉樹液&rは、&d粘性樹脂&rと&d針葉樹脂&rの両方を作成するために使用できます。\n\nこのクエストを完了するには、&o#tfg:rosin_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", + "quests.tfg_tips.find_rosin_tree.desc": "&a針葉樹&rは、それなりの降水量がある&9寒い&r地域で見つけることができます。\n抽出した&b針葉樹液&rは、&d粘性樹脂&rと&d針葉樹脂&rの両方を作成するために使用できます。\n\nこのクエストを完了するには、&o#tfg:rosin_logs&rのタグが付いたブロックを&c見る&r必要があります。\nEMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", "quests.tfg_tips.find_latex_tree.title": "ゴムの木", "quests.tfg_tips.find_latex_tree.subtitle": "熱帯を探してください", - "quests.tfg_tips.find_latex_tree.desc": "&aラテックス&rを採ることができるゴムの木は、大量の降雨がある&2温暖な&r地域で見つけることができます。抽出した&bラテックス&rは、&d粘性樹脂&rと&d加硫処理ラテックス&rの両方を作成するために使用できます。後者は、&3ゴム&rや&aゴム手袋&rの製造に使用されます。ゴム手袋は&4有毒物質&rとの接触時に保護してくれます。\n\nこのクエストを完了するには、&o#tfg:latex_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", + "quests.tfg_tips.find_latex_tree.desc": "&aラテックス&rを採ることができるゴムの木は、大量の降雨がある&2温暖な&r地域で見つけることができます。\n抽出した&bラテックス&rは、&d粘性樹脂&rと&d加硫処理ラテックス&rの2つの使い道があります。後者は、&3ゴム&rや&aゴム手袋&rの製造に使用されます。ゴム手袋は&4有毒物質&rとの接触時に保護してくれます。\n\nこのクエストを完了するには、&o#tfg:latex_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", "quests.tfg_tips.find_syrup_tree.title": "シロップの木", "quests.tfg_tips.find_syrup_tree.subtitle": "甘い匂いに誘われた", - "quests.tfg_tips.find_syrup_tree.desc": "&aシロップの木&rは、それなりの降水量がある&2温暖な&r地域で見つけることができます。抽出した&bシロップ&rは、&dツリーシュガー&rを作成するために使用できます。これは、砂糖の代替品です。\n\nこのクエストを完了するには、&o#tfg:syrup_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", + "quests.tfg_tips.find_syrup_tree.desc": "&aシロップの木&rは、それなりの降水量がある&2温暖な&r地域で見つけることができます。\n抽出した&bシロップ&rは、&dツリーシュガー&rを作るために使用できます。これは、砂糖の代替品です。\n\nこのクエストを完了するには、&o#tfg:syrup_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", "quests.tfg_tips.create_conifer_rosin.title": "針葉樹脂", "quests.tfg_tips.create_conifer_rosin.subtitle": "「故郷」を思い出す", - "quests.tfg_tips.create_conifer_rosin.desc": "&d針葉樹脂&rは&bワックス&rとして利用でき、ろうそくやその他のアイテムを作成できます。\n\n針葉樹脂を作るには、&a針葉樹液&rを&3鍋や釜&rで&a木炭の粉&rと混ぜて沸騰させる必要があります。", + "quests.tfg_tips.create_conifer_rosin.desc": "&d針葉樹脂&rは&bワックス&rとして利用でき、ろうそくやその他のアイテムを作成できます。\n\n針葉樹脂を作るには、&a針葉樹液&rと&a木炭の粉&rを&3鍋や釜&rに入れて加熱する必要があります。", "quests.tfg_tips.create_sticky_resin.title": "粘性樹脂", "quests.tfg_tips.create_sticky_resin.subtitle": "いわゆるレジンです", - "quests.tfg_tips.create_sticky_resin.desc": "&d粘性樹脂&rは、一部のレシピでスライムballとして使用できます。また、&a樹脂回路基板&rと&a抵抗器&rの製造にも不可欠であり、&7LV&r時代に進むにはかなりの量が必要です。\n\n粘性樹脂を作るには、&aラテックス&rまたは&a針葉樹液&rを&3鍋や釜&rで&a木の灰&rと混ぜて沸騰させる必要があります。", + "quests.tfg_tips.create_sticky_resin.desc": "&d粘性樹脂&rは、一部のレシピでスライムボールとして使用できます。また、&a樹脂回路基板&rと&a抵抗器&rの製造にも不可欠であり、&7LV&r時代に進むにはかなりの量が必要です。\n\n粘性樹脂を作るには、&aラテックス&rまたは&a針葉樹液&rと&a木の灰&rを&3鍋や釜&rに入れて加熱する必要があります。", "quests.tfg_tips.create_tree_sugar.title": "ツリーシュガー", "quests.tfg_tips.create_tree_sugar.subtitle": "私はカブトムシ", - "quests.tfg_tips.create_tree_sugar.desc": "&dツリーシュガー&rは砂糖の代替品であり、主に食品の材料として使用されます。\n\nそれを作るには、&a樹液(Sap)&rを煮詰めて&b濃縮樹液(Concentrated_Sap)&rを作り、それをさらに煮詰めて&dシロップ(Syrup)&rにする必要があります。最後に、作業台を使用して&bシロップのバケツ&rを&dツリーシュガー&rに変えます。\nこれらの工程で、&3鍋&rまたは&3釜&rに棒が入ってる必要があるので注意してください。", + "quests.tfg_tips.create_tree_sugar.desc": "&dツリーシュガー&rは砂糖の代替品です。\n\nそれを作るには、&a樹液(Sap)&rを煮詰めて&b濃縮樹液(Concentrated_Sap)&rを作り、それをさらに煮詰めて&dシロップ(Syrup)&rにする必要があります。最後に、作業台を使用して&bシロップのバケツ&rを&dツリーシュガー&rに変えます。\nこれらの工程で、&3鍋&rまたは&3釜&rに棒が入ってる必要があるので注意してください。", "quests.tfg_tips.create_tree_sugar.task": "メープルまたはバーチシュガー", "quests.tfg_tips.create_rubber_ingot.title": "ゴムインゴット", "quests.tfg_tips.create_rubber_ingot.subtitle": "太陽の神のインゴット", - "quests.tfg_tips.create_rubber_ingot.desc": "&bVacuum_Chamber&rの加熱クラフトなどの様々なプロセスを経て、&aラテックス&rは&d粗ゴムパルプ&rに加工することができます。次に、3つの&d粗ゴムパルプ&rを&b合金精錬炉&rで&e硫黄粉末&rと混ぜることで、&dゴムインゴット&rを作成できます。これは、ケーブルの絶縁に最適であり、&2先進時代&r以降に進むために非常に必要になります...", + "quests.tfg_tips.create_rubber_ingot.desc": "&bVacuum_Chamber&rの加熱クラフトなどの様々な工程を経て、&aラテックス&rは&d粗ゴムパルプ&rに加工することができます。\n3つの&d粗ゴムパルプ&rを&b合金精錬炉&rで&e硫黄粉末&rと混ぜることで、&dゴムインゴット&rを作成できます。\nこれは、ケーブルの絶縁に最適であり、&2先進時代&r以降に進むために非常に必要になります...", "quests.tfg_tips.transportation.title": "移動手段", "quests.tfg_tips.transportation.subtitle": "この広い地上を旅するために", - "quests.tfg_tips.transportation.desc": "世界は非常に広大であり、生存と進歩のための資源を求めて、あなたは遠くまで旅することになるかもしれません。ここでは、さまざまな移動手段について説明します。", + "quests.tfg_tips.transportation.desc": "世界は非常に広大であり、生存と進歩のための資源を求めて、あなたは遠くまで旅することになるかもしれません。\nここでは、さまざまな移動手段について説明します。", "quests.tfg_tips.glider.title": "ハンググライダー", "quests.tfg_tips.glider.subtitle": "ブレスオブザワイルドが見える!", - "quests.tfg_tips.glider.desc": "&dHang Glider&rは、滑空するために使用できます。&c高く飛び上がることはできません&rが、高所から飛び立てば、長距離を移動するのにも役立つでしょう。\n&bジェットパック&rとの相性も抜群です!", + "quests.tfg_tips.glider.desc": "&dHang_Glider&rを使えば、滑空することができます。&c高く飛び上がることはできません&rが、高所から飛び立てば、長距離を移動するのにも役立つでしょう。\n&bジェットパック&rとの相性も抜群です!", "quests.tfg_tips.reinforced_glider.title": "強化グライダー", "quests.tfg_tips.reinforced_glider.subtitle": "エリトラはお好きですか...?", - "quests.tfg_tips.reinforced_glider.desc": "&5EV&r時代に到達すると作れるようになる&aエリトラ&rを&aハンググライダー&rと組み合わせることで、&d強化グライダー&rを作ることができます。これは耐久性が高く、最高速度も上昇しています。", + "quests.tfg_tips.reinforced_glider.desc": "&5EV&r時代に到達すると作れるようになる&aエリトラ&rを&aハンググライダー&rと組み合わせることで、&d強化グライダー&rを作ることができます。\nこれは耐久性が高く、最高速度も上昇しています。", "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", "quests.tfg_tips.immersive_aircraft.subtitle": "さあ、大空を翔けよう。", - "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive Aircraft&rは航空機に関するModであり、空を飛び、長距離を移動できます。", + "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive_Aircraft&rは航空機に関するModであり、空を飛び、長距離を移動できます。", "quests.tfg_tips.aircraft_upgrades.title": "航空機のアップグレード", "quests.tfg_tips.aircraft_upgrades.subtitle": "私の乗り物を飾り立てる", - "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&rでは&a航空機のアップグレード&rが可能で、航空機の性能(速度、離陸速度、燃料消費量など)を向上させるために導入できます。アップグレードには、&b通常&rのものとと&d上位&rのものの2種類があります。\n\nこのクエストのものは&b通常&rのアップグレードです。すべて作れますか?", + "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive_Aircraft&rでは&a航空機のアップグレード&rが可能で、航空機の性能(速度、離陸速度、燃料消費量など)を向上させるために導入できます。\nアップグレードには、&b通常&rのものとと&d上位&rのものの2種類があります。\n\nこのクエストのものは&b通常&rのアップグレードです。すべて作れますか?", "quests.tfg_tips.steam_upgrades.title": "航空機のアップグレード:蒸気時代", "quests.tfg_tips.steam_upgrades.subtitle": "Immersive AircraftがGregTechに対応!", - "quests.tfg_tips.steam_upgrades.desc": "航空機アップグレードは&d階層化&rされています。これは&3GregTech&rの階層化システムに合わせて、&8蒸気時代&rから&5EV時代&rまでのものがあります。\n\n蒸気時代のアップグレードは最も簡単で、最も早く作成でき、&bブラックスチール&rの知識が必要です。\n\n&d蒸気機関のエンジン&rは、&e複葉機&rや&c飛行艦&rなどの洗練された航空機の作成にも使用されます。", + "quests.tfg_tips.steam_upgrades.desc": "航空機アップグレードには&dグレード&rがあります。これは&3GregTech&rの階層化システムに合わせて、&8蒸気時代&rから&5EV時代&rまでのものがあります。\n\n蒸気時代のアップグレードは最も簡単で、最も早く作成できます。作るには&bブラックスチール&rが必要になります。\n\n&d蒸気機関のエンジン&rは、&e複葉機&rや&c飛行艦&rなどの洗練された航空機の作成にも使用されます。", "quests.tfg_tips.steam_upgrades.task": "スチームティアの航空機アップグレード", "quests.tfg_tips.lv_upgrades.title": "航空機のアップグレード:LV", "quests.tfg_tips.lv_upgrades.subtitle": "虚式「茈」", - "quests.tfg_tips.lv_upgrades.desc": "&7LV&rアップグレードは、蒸気時代のアップグレードよりもわずかに優れており、&4赤鋼&rと&9青鋼&rが必要です。&dLV航空エンジン&rには実際の&7LV&rの機械部品が必要です。\n\n&3&lTips:&r&o &b破砕ホイール&fを使用して古いアップグレードをリサイクルし、消費した材料の一部を再利用することができます。", + "quests.tfg_tips.lv_upgrades.desc": "&7LV&rアップグレードは、蒸気時代のアップグレードよりもわずかに性能が向上しています。作成には&4赤鋼&rと&9青鋼&rが必要です。&dLV航空エンジン&rには実際の&7LV&rの機械部品が必要です。\n\n&3&lTips:&r&o &b破砕ホイール&fを使用して古いアップグレードをリサイクルし、消費した材料の一部を再利用することができます。", "quests.tfg_tips.lv_upgrades.task": "LVティアの航空機アップグレード", "quests.tfg_tips.mv_upgrades.title": "航空機のアップグレード:MV", "quests.tfg_tips.mv_upgrades.subtitle": "道半ば", - "quests.tfg_tips.mv_upgrades.desc": "&bMV&rアップグレードは、この進行状況の中間点であり、&aアルミニウム&rを主な材料とします。\n\n&aアルミニウム製強化プロペラ&rは、&dジャイロダイン、飛行艦&r、&d緋色の複葉機&rなどのほとんどの上位航空機で使用されますが、&aMV航空エンジン&rは&d緋色の複葉機&rでのみ使用されます。", + "quests.tfg_tips.mv_upgrades.desc": "&bMV&rアップグレードは、この進行状況の中間点であり、&aアルミニウム&rが主な材料です。\n\n&aアルミニウム製強化プロペラ&rは、&dジャイロダイン、飛行艦&r、&d緋色の複葉機&rなどの多くの上位航空機で必要になります。&aMV航空エンジン&rは&d緋色の複葉機&rで必要になります。", "quests.tfg_tips.mv_upgrades.task": "MVティアの航空機アップグレード", "quests.tfg_tips.hv_upgrades.title": "航空機のアップグレード:HV", "quests.tfg_tips.hv_upgrades.subtitle": "あと少しで頂点へ", - "quests.tfg_tips.hv_upgrades.desc": "&6HV&rアップグレードは、航空機アップグレードの最後から2番目のティアであり、&aステンレス&rを主な材料とします。", + "quests.tfg_tips.hv_upgrades.desc": "&6HV&rアップグレードは、航空機アップグレードの最後から2番目のティアであり、&aステンレス&rが主な材料です。", "quests.tfg_tips.hv_upgrades.task": "HVティアの航空機アップグレード", "quests.tfg_tips.ev_upgrades.title": "航空機のアップグレード:EV", "quests.tfg_tips.ev_upgrades.subtitle": "これは本当に合法ですか?", - "quests.tfg_tips.ev_upgrades.desc": "&5EV&rアップグレードは、航空機アップグレードの最後のティアであり、&aチタニウム&rを主な材料として必要とします。", + "quests.tfg_tips.ev_upgrades.desc": "&5EV&rアップグレードは、航空機アップグレードの最後のティアであり、&aチタニウム&rが主な材料になります。", "quests.tfg_tips.ev_upgrades.task": "EVティアの航空機アップグレード", "quests.tfg_tips.aircraft_weapons.title": "航空機の兵器", "quests.tfg_tips.aircraft_weapons.subtitle": "バンザイ!", - "quests.tfg_tips.aircraft_weapons.desc": "強大な脅威を滅ぼしたい場合、もしくは敵を蹂躙したい場合、一方的な攻撃能力を誇る&d兵器&rが欲しくなることがあるでしょう。もちろん、作ることができますよ。\n\n兵器は、&b航空機&rに乗っているときに、設定した&c武器の使用&rボタンを使用して発射できます。それらのほとんど(&a望遠鏡&rを除く)は、何らかの&a弾薬&rを消費します。", + "quests.tfg_tips.aircraft_weapons.desc": "強大な脅威を滅ぼしたい場合、もしくは敵を蹂躙したい場合、一方的な殲滅能力を誇る&d航空兵器&rが欲しくなることがあるでしょう。もちろん、作ることができますよ。\n\n兵器は、&b航空機&rに乗っているときに、設定した&c武器の使用&rキーを使用して発射できます。発射時には、何らかの&a弾薬&rを消費します。", "quests.tfg_tips.airship.title": "飛行船", "quests.tfg_tips.airship.subtitle": "あれは風船?", - "quests.tfg_tips.airship.desc": "&3飛行船&rは、旅行をするのに比較的適した航空機です。ただし、主な目的はアイテムを運ぶことです。\n飛行船には、合計&b16個のインベントリスロット&r、&a3個のアップグレードスロット&r、&c1個の武器スロット&rがあります。", + "quests.tfg_tips.airship.desc": "&3飛行船&rは、旅行に適した航空機です。アイテムの運搬能力に優れています。\n飛行船には、合計&b16個のインベントリスロット&r、&a3個のアップグレードスロット&r、&c1個の武器スロット&rがあります。", "quests.tfg_tips.cargo_airship.title": "貨物飛行船", "quests.tfg_tips.cargo_airship.subtitle": "基地全体を遠くに運ぶ必要がある場合", - "quests.tfg_tips.cargo_airship.desc": "いくつかの追加の&dエンジン、ローター&r、&d2つの木箱&rを取り付けると、&a飛行船&rが&3貨物飛行船&rにアップグレードされます。\n\n通常の飛行船よりも&4燃費は悪くなります&r。\nですが、貨物飛行船には、合計&b80個のインベントリスロット&rと&a4個のアップグレードスロット&rがあります。", + "quests.tfg_tips.cargo_airship.desc": "いくつかの追加の&dエンジン、ローター&r、&d2つの木箱&rを取り付けると、&a飛行船&rが&3貨物飛行船&rにアップグレードされます。\n\n通常の飛行船よりも&4燃費は悪くなります&r。その代わり、貨物飛行船には、合計&b80個の大容量なインベントリスロット&rと&a4個のアップグレードスロット&rがあります。", "quests.tfg_tips.waghship.title": "飛行艦", "quests.tfg_tips.waghship.subtitle": "墜落するのがお決まり", - "quests.tfg_tips.waghship.desc": "&3飛行艦&rは&a飛行船&rの最終段階のアップグレードであり、合計&b66個のインベントリスロット&r、&a6個のアップグレードスロット&r、&c2個の武器スロット&rがあります。", + "quests.tfg_tips.waghship.desc": "&3飛行艦&rは&a飛行船&rの最上位モデルであり、合計&b66個のインベントリスロット&r、&a6個のアップグレードスロット&r、&c2個の武器スロット&rがあります。", "quests.tfg_tips.quadrocopter.title": "クアッドローター", "quests.tfg_tips.quadrocopter.subtitle": "あれは鳥?", "quests.tfg_tips.quadrocopter.desc": "&3クアッドローター&rは基礎的な&aホバークラフト&rであり、&b6個のインベントリスロット&r、&a1個のアップグレードスロット&r、&c1個の武器スロット&rが含まれています。\n\n簡単な操作性に優れており、&e建築&rなどの作業に最適です。", "quests.tfg_tips.gyrodyne.title": "ジャイロダイン", "quests.tfg_tips.gyrodyne.subtitle": "筋肉式飛行", - "quests.tfg_tips.gyrodyne.desc": "&3ジャイロダイン&rはユニークな航空機であり、なんと&d燃料を消費しません&r。代わりに、筋肉のみで駆動します。そのため、&4空腹値&rを消耗します。\n\n&b18個のインベントリスロット&r、&a3個のアップグレードスロット&r、&c1個の武器スロット&rが含まれています。", + "quests.tfg_tips.gyrodyne.desc": "&3ジャイロダイン&rはユニークな航空機であり、なんと&d燃料を消費しません&r。代わりに、筋肉のみで駆動します。そのため、飛行中には&4空腹値&rを消耗します。\n\n&b18個のインベントリスロット&r、&a3個のアップグレードスロット&r、&c1個の武器スロット&rが含まれています。", "quests.tfg_tips.economy_plane.title": "エコノミー機", "quests.tfg_tips.economy_plane.subtitle": "あれは飛行機?", "quests.tfg_tips.economy_plane.desc": "&3エコノミー機&rは最も初歩的な&b飛行機&rです。飛行機の操作は、飛行船やホバークラフトとは異なり、&oピッチング&r(左右を軸とした回転)と&oヨーイング&r(上下を軸とした回転)によって制御されます。\n\n&b4個のインベントリスロット&rと&a4個のアップグレードスロット&rがあります。\n&dエコノミー機&rはそこまで速度は出ませんが、飛行船と同様に、&2より優れた飛行機にアップグレードできます&r。", @@ -4137,44 +4140,44 @@ "quests.tfg_tips.biplane.desc": "&3複葉機&rは&bエコノミー機&rのアップグレード版であり、&a船体、蒸気機関のエンジン&rそして&aアルミニウム製強化プロペラ&rを使用して作ることができます。\n\n&b16個のインベントリスロット&r、&a4個のアップグレードスロット&r、&c1個の武器スロット&rが含まれています。&dエコノミー機&rとは異なり、&3複葉機&rは専用のスロットに入れたロケット花火を使用して&4ブーストできます&r。", "quests.tfg_tips.scarlet_biplane.title": "緋色の複葉機", "quests.tfg_tips.scarlet_biplane.subtitle": "ここからの素晴らしい眺め", - "quests.tfg_tips.scarlet_biplane.desc": "&3緋色の複葉機&rは、&b飛行機&rの2つの最終アップグレードの1つであり、&6HV&rの機械の部品が必要です。\n\n&b27個のインベントリスロット&r、&a4個のアップグレードスロット&r、&c2個の武器スロット&r、および通常の複葉機と同様に&4ブースタースロット&rも含まれています。\n\n&3緋色の複葉機&rは高価ですが、耐久性も、最大速度も向上しており、そして何よりもイカしているので何も問題はありません。", + "quests.tfg_tips.scarlet_biplane.desc": "&3緋色の複葉機&rは、&b飛行機&rの2つの最上位モデルの1つです。\n\n&b27個のインベントリスロット&r、&a4個のアップグレードスロット&r、&c2個の武器スロット&r、および通常の複葉機と同様に&4ブースタースロット&rも含まれています。\n\n&3緋色の複葉機&rは高価ですが、耐久性も、最大速度も向上しており、そして何よりもイカしているので何も問題はありません。", "quests.tfg_tips.aluminium_hopper.title": "アルミニウムホッパー", "quests.tfg_tips.aluminium_hopper.subtitle": "軽すぎて水に浮きます!", - "quests.tfg_tips.aluminium_hopper.desc": "&3アルミニウムホッパー&rは、&b飛行機&rの2つの最終アップグレードの1つであり、&6HV&rの機械の部品が必要です。\n\n&b16個のインベントリスロット&r、&a4個のアップグレードスロット&r、&c2個の武器スロット&r、3つの座席、および通常の複葉機と同様に&4ブースタースロット&rも含まれています。\n\n高価ですが、&3アルミニウムホッパー&rは高価ですが、合計3つの座席と水に着陸できることでなんとかそれを補います。", + "quests.tfg_tips.aluminium_hopper.desc": "&3アルミニウムホッパー&rは、&b飛行機&rの2つの最上位モデルの1つです。\n\n&b16個のインベントリスロット&r、&a4個のアップグレードスロット&r、&c2個の武器スロット&r、3つの座席、および通常の複葉機と同様に&4ブースタースロット&rも含まれています。\n\n&3アルミニウムホッパー&rは高価ですが、合計3つの座席と水に着陸できることでなんとかそれを補います。", "quests.tfg_tips.firmaciv.title": "Firma:Civilization", "quests.tfg_tips.firmaciv.subtitle": "さあ、大海を駆けよう。", - "quests.tfg_tips.firmaciv.desc": "&2Firma:Civilization&rは、船の建造による広大な水域の横断がテーマのModです。自分の現在地の特定に役立つツールを作成することもできます。\nいつものように、&2フィールドガイド&rには、クエストよりも詳細な情報が含まれています。\n\n&3&lTips:&r&o 序盤において川下りは非常に快適な移動手段になります。...まだの場合は、川の近くに定住することを検討してください。", + "quests.tfg_tips.firmaciv.desc": "&2Firma:Civilization&rは、船の建造と航行がテーマのModです。自分の現在地の特定に役立つツールを作成することもできます。\nいつものように、&2フィールドガイド&rには、クエストよりも詳細な情報が含まれています。\n\n&3&lTips:&r&o序盤において川下りは非常に快適な移動手段になります。...まだの場合は、川の近くに定住することを検討してください。", "quests.tfg_tips.firmaciv_info.title": "航海用ガジェット", "quests.tfg_tips.firmaciv_info.subtitle": "より現実的な冒険をしたい場合", - "quests.tfg_tips.firmaciv_info.desc": "&3Firma:Civ&rには4つの異なるナビゲーションツールが付属しており、それぞれが自分の現在地に関する重要な情報を提供します。\n&dSextant&r、&dNavigator's Timepiece&r、&dBarometer&r、&dCompass&rがあります。詳細については、&2フィールドガイド&rを参照してください。\n\n&3&l伝承では...&r&o:本来、Firma:Civが入っていると、座標が見れなくなって、こういった航海用の道具を使わないといけなくなるんだ。でもそれは大変すぎると思ったから、まあ、使いたければ使ってね。...といいます。", + "quests.tfg_tips.firmaciv_info.desc": "&3Firma:Civ&rには4つの異なるナビゲーションツールが付属しており、それぞれが自分の現在地に関する重要な情報を提供します。\n&dSextant&r、&dNavigator's Timepiece&r、&dBarometer&r、&dCompass&rがあります。詳細については、&2フィールドガイド&rを参照してください。\n\n&3&l余談:&r&o本来、Firma:Civが入っていると、座標が見れなくなって、こういった航海用の道具を使わないといけなくなるんだ。でもそれは大変すぎると思ったから、まあ、使いたければ使ってね。", "quests.tfg_tips.warfare.title": "海上戦", "quests.tfg_tips.warfare.subtitle": "全弾発射!", "quests.tfg_tips.warfare.desc": "粉々に吹き飛ばしたい相手がいたら、&bSloop&rに&dCannon&rとCannonballを取りつけましょう。\nCannonを発射するには、&a火薬、未精製の紙&r、&aCannonball&rを装填する必要があります。そして、&c火打石と打ち金&rで芯に火をつけます。", "quests.tfg_tips.kayak_materials.title": "カヤック", "quests.tfg_tips.kayak_materials.subtitle": "カヤックを作ろう", - "quests.tfg_tips.kayak_materials.desc": "&dKayak&rは、2番目に簡単に作れる船です。素材の&aWaterproof_Hides&rには&bワックス&rが必要になります。何より、アイテムとして回収することができる&c唯一の&rボートでもあります。&d一人乗り&rしかできませんが、鋼鉄時代の&dSloop&rまで、最速のボートです。", + "quests.tfg_tips.kayak_materials.desc": "&dKayak&rは、2番目に簡単に作れる船です。素材の&aWaterproof_Hides&rには&bワックス&rが必要になります。\nこれは、アイテムとして回収することができる&c唯一の&rボートでもあります。\n&d一人乗り&rしかできませんが、鋼鉄時代の&dSloop&rまで、最速のボートです。", "quests.tfg_tips.create_kayak.title": "カヤックを完成させる", "quests.tfg_tips.create_kayak.subtitle": "速く!", - "quests.tfg_tips.create_kayak.desc": "&dKayak&rがあれば、水上での快適な一人旅を楽しむことができます。さらに速く進むには、&bKayak_Paddle&r(Canoe_Paddleは使えません)を作成してください!", + "quests.tfg_tips.create_kayak.desc": "&dKayak&rがあれば、水上での快適な一人旅を楽しむことができます。\nさらに速く進むには、&bKayak_Paddle&r(Canoe_Paddleは使えません)を作ってみてください!", "quests.tfg_tips.beneathxfirmaciv.title": "BeneathとFirma:Civに関する免責事項", "quests.tfg_tips.beneathxfirmaciv.subtitle": "これを読まないと後悔するかもしれません!", - "quests.tfg_tips.beneathxfirmaciv.desc": "&dCanoe、Rowboat&r、&dSloop&rは&dCrimzonの木&rや&3Warpの木&rから作ることができますが、残念ながら、これらの耐火性木材で作られたボートは溶岩に対して&4耐性がありません&r!これらを使用して溶岩湖を横断しようとすると、&l恐ろしい死を遂げる&rことでしょう。", + "quests.tfg_tips.beneathxfirmaciv.desc": "&dCanoe、Rowboat&r、&dSloop&rは&dCrimzonの木&rや&3Warpの木&rから作ることができますが、残念ながら、これらの耐火性木材で作られたボートは溶岩に対して&4耐性がありません!&rこれらを使用して溶岩湖を横断しようとすると、&l恐ろしい死を遂げる&rことでしょう。", "quests.tfg_tips.canoe_materials.title": "カヌー", "quests.tfg_tips.canoe_materials.subtitle": "楽に作れます", - "quests.tfg_tips.canoe_materials.desc": "&dCanoe&rは、クラフトするのが最も簡単な船です。特定の種類の&a剥ぎ取られた丸太&rのみを使えるということに注意してください。上記のタスクでは、&bどの種類の木&rが使えるかが示されています。\n&2フィールドガイド&rには、そのユニークな構造に関する詳細が記載されています。\n\nこのボートは、操縦者以外の追加のプレーヤー、エンティティ、またはチェストを運ぶことができます。", + "quests.tfg_tips.canoe_materials.desc": "&dCanoe&rは、クラフトするのが最も簡単な船です。特定の種類の&a剥ぎ取られた丸太&rのみを使えるということに注意してください。\n上記のタスクでは、&bどの種類の木&rが使えるかが示されています。\n&2フィールドガイド&rには、そのユニークな構造に関する詳細が記載されています。\n\nこのボートは、操縦者以外の追加のプレーヤー、エンティティ、またはチェストを運ぶことができます。", "quests.tfg_tips.canoe_materials.task": "何らかの火起こし", "quests.tfg_tips.create_canoe.title": "カヌーを完成させる", "quests.tfg_tips.create_canoe.subtitle": "初めての共同作業", "quests.tfg_tips.create_canoe.desc": "&dCanoe&rを使用すると、初期から水域を横断できるようになります。より速く移動したい場合は、&bCanoe_Paddle&rを作成してください!\n\nこのクエストの最初のタスクを完了するには、完成した&dCanoe&rを見る必要があります。\n\n&3&lTips:&r&o 2人のプレーヤーが両方ともPaddleを持っている場合、最高速度が上昇します。もちろん、マルチプレイ限定です!", "quests.tfg_tips.rowboat_materials.title": "手漕ぎボート", "quests.tfg_tips.rowboat_materials.subtitle": "40秒で支度しな", - "quests.tfg_tips.rowboat_materials.desc": "&dRowboat&rはより複雑な材料が必要で、鉄器時代までロックされています。その代わりに、&b2人分の乗客席と2つのストレージ&r、または&c乗客席なしで4つのストレージ&rの容量を利用することができます。\n&2フィールドガイド&rに詳しく記載されている、&a特定の種類の木&rのみを使うことができます。作り方も記載されていますよ。\n\n作る際はすべて同じ木材を使用する必要があることに注意してください!異なる種類の木材を混ぜたりはしないでください。", + "quests.tfg_tips.rowboat_materials.desc": "&dRowboat&rはより複雑な材料が必要で、鉄器時代まで作ることはできません。\nその代わりに、&b2人分の乗客席と2つのストレージ&r、または&c乗客席なしで4つのストレージ&rの容量を利用することができます。\n&2フィールドガイド&rに詳しく記載されている、&a特定の種類の木&rのみを使うことができます。作り方も記載されていますよ。\n\n作る際はすべて同じ木材を使用する必要があることに注意してください!異なる種類の木材を混ぜたりはしないでください。", "quests.tfg_tips.create_rowboat.title": "手漕ぎボートを完成させる", "quests.tfg_tips.create_rowboat.subtitle": "勇敢な海の男を目指して", - "quests.tfg_tips.create_rowboat.desc": "&dRowboat&rを使用すると、かなりの量のアイテムを海を越えて輸送できるようになり、海外探索、例えば熱帯地方への探検などに最適です!より速く進むことができるように、2つの&bOar&rを作成してください!\n染色することもできます!\n\nこのクエストの最初のタスクを完了するには、完成した&dRowboat&rを見る必要があります。\n\n&3&lTips:&r&o 2つの乗客席は、川や海を経由して、牧畜のために動物のつがいを家に持ち帰るのに最適です。", + "quests.tfg_tips.create_rowboat.desc": "&dRowboat&rを使用すると、かなりの量のアイテムを海を越えて輸送できるようになり、海外探索、例えば熱帯地方への探検などに最適です!\nより速く進むことができるように、2つの&bOar&rを作成してください!\n染色することもできます!\n\nこのクエストの最初のタスクを完了するには、完成した&dRowboat&rを見る必要があります。\n\n&3&lTips:&r&o 2つの乗客席は、川や海を経由して、牧畜のために動物のつがいを家に持ち帰るのに最適です。", "quests.tfg_tips.sloop_under_construction_materials.title": "スループ", "quests.tfg_tips.sloop_under_construction_materials.subtitle": "ありったけの夢をかき集め", - "quests.tfg_tips.sloop_under_construction_materials.desc": "&dSloop&rは、最も高度な船舶であり、作るには&a鋼鉄&rが必要です。ストレージ、金床、作業台のための十分なスペースがあります!信じられないほど高価で、航海するには練習が必要です。&2フィールドガイド&rには、建設方法と航海方法の詳細がすべて記載されています。\n\n繰り返しますが、同じ船で異なる種類の木材を混ぜようとしないでください。", + "quests.tfg_tips.sloop_under_construction_materials.desc": "&dSloop&rは、最も高度な船舶であり、作るには&a鋼鉄&rが必要です。\nストレージ、金床、作業台のための十分なスペースがあります!\n信じられないほど高価で、航海するには練習が必要です。\n&2フィールドガイド&rには、建設方法と航海方法の詳細がすべて記載されています。\n\n繰り返しますが、同じ船で異なる種類の木材を混ぜようとしないでください。", "quests.tfg_tips.sloop_under_construction_materials.task": "16xの堅木", "quests.tfg_tips.create_sloop.title": "スループを完成させる", "quests.tfg_tips.create_sloop.subtitle": "世はまさに大航海時代!", @@ -4191,10 +4194,10 @@ "quests.tfg_tips.equines.desc": "&b馬、ロバ&r、または&bラバ&rを見つけて、信頼して&a鞍をかけて&r乗れるように、十分な&a親密度&rを築き上げてください。サドルは革で作れます。\nさらに、速度ペナルティなしで&dカート&rを引くことができます!\n\n&b馬&rは、序盤から大陸中を探索するのに最適で、ステータスの向上のために交配させることができます。\n\n&bロバとラバ&rは、&2カート&rなしでチェストまたはバレルを運ぶことができます。\n\nいつものように、&2フィールドガイド&rに詳細な情報(スポーン条件など)が記載されています。\n\n&3&lTips:&r&o 海を越えて別の大陸でも乗馬したいですか? 問題ありません。特定のボートを使えば信頼できる仲間を連れていくことができます!", "quests.tfg_tips.supply_cart.title": "物資運搬車", "quests.tfg_tips.supply_cart.subtitle": "すべてを運ぶ", - "quests.tfg_tips.supply_cart.desc": "&dSupply Cart&rは&c54&rスロットという驚異的な容量を誇っており、&a重量に関係なく&r、大量のアイテムを運ぶことができます。なんと金床のようなものでさえも!\nもちろん、探索、採掘、資源採集、または拠点の移動に最適です!", + "quests.tfg_tips.supply_cart.desc": "&dSupply_Cart&rは&c54&rスロットという驚異的な容量を誇っており、&a重量に関係なく&r、大量のアイテムを運ぶことができます。なんと金床のようなものでさえも!\nもちろん、探索、採掘、資源採集、または拠点の移動に最適です!", "quests.tfg_tips.animal_cart.title": "動物運搬車", "quests.tfg_tips.animal_cart.subtitle": "ドナドナド~ナ~", - "quests.tfg_tips.animal_cart.desc": "&dAnimal Cart&rを使用すると、最大3匹の動物を陸路で運搬できます。\n牧畜のためのつがいを集めるのに最適です! 捕まえるにはカートで動物を轢くだけです。動物を降ろすには、&cシフト+右クリック&rします。", + "quests.tfg_tips.animal_cart.desc": "&dAnimal_Cart&rを使用すると、最大3匹の動物を陸路で運搬できます。\n牧畜のためのつがいを集めるのに最適です!\n捕まえるにはカートで動物を轢くだけです。動物を降ろすには、&cシフト+右クリック&rします。", "quests.tfg_tips.plow.title": "耕作車", "quests.tfg_tips.plow.subtitle": "大規模農業", "quests.tfg_tips.plow.desc": "巨大農場のために広大な土地を耕す必要が生じた場合、&dPlow&rが役に立ちます。", @@ -4204,42 +4207,42 @@ "quests.tfg_tips.horseshoes.task": "任意の蹄鉄", "quests.tfg_tips.hiking_boots.title": "登山靴", "quests.tfg_tips.hiking_boots.subtitle": "歩くの大好き", - "quests.tfg_tips.hiking_boots.desc": "&a登山靴&rは、背の高い草を無視し、安全な落下高度を高め、さらには乗り越えられる段差の高さと歩行速度を上昇させてくれます。 金属製の鎧ほどの防御力はありませんが、戦う予定がない場合は、これを履いているのがいいでしょう。", + "quests.tfg_tips.hiking_boots.desc": "&a登山靴&rは、背の高い草を無視し、安全な落下高度を高め、さらには乗り越えられる段差の高さと歩行速度を上昇させてくれます。\n金属製の鎧ほどの防御力はありませんが、戦う予定がない場合は、これを履いているのがいいでしょう。", "quests.tfg_tips.hiking_boots.task": "任意の登山靴", "quests.tfg_tips.firmalife.title": "Firmalife", "quests.tfg_tips.firmalife.subtitle": "TerraFirmaCraftでの繁栄のために", - "quests.tfg_tips.firmalife.desc": "&2Firmalife&rは、TerraFirmaCraftでの農業と美食の体験を拡張することを目的としたModです。さまざまな追加機能があります。装飾品、新しい保存方法、新しい食品、養蜂、そして多数の便利な道具が利用できるようになります!", + "quests.tfg_tips.firmalife.desc": "&2Firmalife&rは、TerraFirmaCraftでの農業と美食の体験を拡張することを目的としたModです。\nさまざまな追加機能があり、装飾品、新しい保存方法、新しい食品、養蜂、そして多数の便利な道具が利用できるようになります!", "quests.tfg_tips.greenhouse.title": "温室", "quests.tfg_tips.greenhouse.subtitle": "いつでも好きなものが食べられるように", - "quests.tfg_tips.greenhouse.desc": "&d温室&rは、収穫量を犠牲にして一年中作物を栽培するために使用されます。複数のティアがある複雑なマルチブロックの構造体です。 詳細については、&2フィールドガイド&rを確認してください!", + "quests.tfg_tips.greenhouse.desc": "&d温室&rでは、収穫量を犠牲にして一年中作物を栽培することができます。複数のティアがある複雑なマルチブロックの構造体です。\n詳細については、&2フィールドガイド&rを確認してください!", "quests.tfg_tips.greenhouse_automation.title": "温室の自動化", "quests.tfg_tips.greenhouse_automation.subtitle": "力を合わせて...", "quests.tfg_tips.greenhouse_automation.desc": "Firmalifeの&2Picker&rと&2Sweeper&r、クリエイトのデプロイヤー、GregTechのアイテム収集機を組み合わせることで、温室を完全に自動化することができます!\n\nPickerは、レッドストーン信号を受信すると、水耕プランターと4種のプランターから成熟した作物を収穫し、Sweeperは、レッドストーン信号を受けている間、周囲3x3のエリアで他の種類の成熟した作物を収穫します。\n\nこれらのマシンだけでは回収はしてくれませんが、アイテム収集機があれば広いエリアから回収してくれます。\n\nそして、デプロイヤーを利用して、種をプランターに植え戻しましょう!", "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の仕組みについての広範な説明が載っています。", + "quests.tfg_tips.beekeeping.desc": "&b養蜂&rには多くの用途があります。\n巣箱から&aワックス&rや&aハチミツ&rなどの有用な資源を入手することができるほか、(蜂が適切な特性を持っている場合)近くの作物の成長を促進させることができます。\nより良い特性を持ったミツバチを生み出すためには、交配させる必要があります。\n&2フィールドガイド&rには、&b養蜂&rの仕組みについての広範な説明が載っています。", "quests.tfg_tips.beehive.title": "蜂の巣箱", "quests.tfg_tips.beehive.subtitle": "よい出会いを", - "quests.tfg_tips.beehive.desc": "養蜂家になるには、&b蜂の巣箱&rと&a蜂の巣枠&rの両方が必要になります。\n通常のMinecraftとは異なり、巣は自然にスポーンしません。代わりに、ミツバチは&e女王蜂&rが住む巣枠が入ったプレイヤー製の&b蜂の巣箱&rでのみスポーンします。女王蜂が巣枠に住みつくかどうかは運ですが、巣箱の周りに&d花&rを設置することで確率を高めることができます。\n\n巣枠に女王蜂が住むと、ミツバチがスポーンし始め、働いてくれます。", + "quests.tfg_tips.beehive.desc": "養蜂家になるには、&b蜂の巣箱&rと&a蜂の巣枠&rの両方が必要になります。\n通常のMinecraftとは異なり、巣は自然にスポーンしません。代わりに、ミツバチは&e女王蜂&rが住む巣枠が入ったプレイヤー製の&b蜂の巣箱&rでのみスポーンします。\n女王蜂が巣枠に住みつくかどうかは運ですが、巣箱の周りに&d花&rを設置することで確率を高めることができます。\n\n巣枠に女王蜂が住むと、ミツバチがスポーンし始め、働いてくれます。", "quests.tfg_tips.not_the_bees.title": "養蜂家の鎧", "quests.tfg_tips.not_the_bees.subtitle": "ハチにはハチの生活があるのです", "quests.tfg_tips.not_the_bees.desc": "ミツバチは、人々によって貴重なハチミツと蜜蝋を奪われるのを嫌がります。安全に行う方法は3つあります:\n\n* &d夜間に収穫する&r\n* &d焚き火を使用する&r\n* &d養蜂家の鎧を身に着ける&r", "quests.tfg_tips.not_the_bees.task": "キャンプファイヤーを使用するか、夜になるのを待ちます。", "quests.tfg_tips.honey.title": "ハチミツ", "quests.tfg_tips.honey.subtitle": "緻密な製作物", - "quests.tfg_tips.honey.desc": "&bガラス吹き&rで作られた&a空のジャム瓶&rで、蜂蜜で満たされた巣を右クリックすると&dはちみつ入りの瓶&rを入手できます。蜂蜜は砂糖の優れた代替品になります。", + "quests.tfg_tips.honey.desc": "&bガラス吹き&rで作られた&a空のジャム瓶&rで、蜂蜜で満たされた巣を右クリックすると&dはちみつ入りの瓶&rを入手できます。\n蜂蜜は砂糖の優れた代替品になります。", "quests.tfg_tips.beeswax.title": "ミツロウ", "quests.tfg_tips.beeswax.subtitle": "価値のある犠牲", - "quests.tfg_tips.beeswax.desc": "&b女王蜂&rが住む&a巣枠&rを&cナイフ&rで右クリックすると、巣枠が空になり、女王は死に、&d蜜蝋&rを入手できます。\n\n&3&lTips:&r&o 悪い特性または低い特性を持つ&b女王蜂&fを処分して、より良い特性のために、他の巣枠の女王蜂どうしを交配させることができます。", + "quests.tfg_tips.beeswax.desc": "&b女王蜂&rが住む&a巣枠&rを&cナイフ&rで右クリックすると、巣枠が空になり、女王は死に、&d蜜蝋&rを入手できます。\n\n&3&lTips:&r&o悪い特性または低い特性を持つ&b女王蜂&fを処分して、より良い特性のために、他の巣枠の女王蜂どうしを交配させることができます。", "quests.tfg_tips.candles.title": "ろうそく", "quests.tfg_tips.candles.subtitle": "いい雰囲気ですね", "quests.tfg_tips.candles.desc": "ろうそくは、&aパラフィンワックス、蜜蝋&r、または&a針葉樹脂&rを使用して作成できます。\nろうそくは、たいまつよりも優れた光源であり、1か月と2日間点灯し続けます。", "quests.tfg_tips.oven.title": "オーブン", "quests.tfg_tips.oven.subtitle": "注意、熱いです", - "quests.tfg_tips.oven.desc": "&3オーブン&rは、食品を簡単に調理したり、特別なレシピを実行したりするために使用できるマルチブロック構造体です。&aオーブンかまど、オーブン&r、および&aオーブンの煙突&rが必須になります。また、&aオーブン&rから食品を取り出すには、&dトング&rを使用することを忘れないでください。\n&3オーブン&rの構築方法の詳細については、&2フィールドガイド&rを参照してください。\n\n&3&lTips:&r&o: 5つの栄養グループすべてを満たすことができる唯一の食品である&cピザ&fは、オーブンで調理する必要があります。", + "quests.tfg_tips.oven.desc": "&3オーブン&rは、食品を簡単に調理したり、特別なレシピを実行したりするために使用できるマルチブロック構造体です。\n&aオーブンかまど、オーブン&r、および&aオーブンの煙突&rが必須になります。\n&aオーブン&rから食品を取り出す際は、&dトング&rを使用することを忘れないでください。\n&3オーブン&rの構築方法の詳細については、&2フィールドガイド&rを参照してください。\n\n&3&lTips:&r&o: 5つの栄養グループすべてを満たすことができる唯一の食品である&cピザ&fは、オーブンで調理する必要があります。", "quests.tfg_tips.oven_appliances.title": "オーブン機器", "quests.tfg_tips.oven_appliances.subtitle": "オーブンを最大限に活用する", - "quests.tfg_tips.oven_appliances.desc": "&3オーブン機器&rは、&aオーブンかまど&rの上に設置することで利用できる調理器具です。一つのマルチブロック構造に&c複数の&r&aオーブンかまど&rを含めることができるので覚えておいてください。\n\n&d錬鉄のグリル&r: 食品を高速で調理し、&c保存期間を延長&rしてくれます。\n&d釜&r:鍋のレシピを一度に大量に処理できます! &eラテックス&rの処理や&aジャム&rを作るのに非常に役立ちます。\n&d瓶詰め機&r: &b釜&rの隣に設置すると、&aジャム&rを瓶詰めしてくれます。\n&d鍋&r: スープの調理にのみ使えます。", + "quests.tfg_tips.oven_appliances.desc": "&3オーブン機器&rは、&aオーブンかまど&rの上に設置することで利用できる調理器具です。\n一つのマルチブロック構造に&c複数の&r&aオーブンかまど&rを組み込むことができるので覚えておいてください。\n\n&d錬鉄のグリル&r: 食品を高速で調理し、&c保存期間を延長&rしてくれます。\n&d釜&r:鍋のレシピを一度に大量に処理できます! &eラテックス&rの処理や&aジャム&rを作るのに非常に役立ちます。\n&d瓶詰め機&r: &b釜&rの隣に設置すると、&aジャム&rを瓶詰めしてくれます。\n&d鍋&r: スープの調理にのみ使えます。", "quests.tfg_tips.oven_finish.title": "オーブン仕上げ", "quests.tfg_tips.oven_finish.subtitle": "おしゃれに仕上げよう", "quests.tfg_tips.oven_finish.desc": "レンガの外観が気に入らない場合は、ほとんどのオーブン機器に&b仕上げ&rを適用して、外観を変更できます。", @@ -4249,18 +4252,18 @@ "quests.tfg_tips.oven_utils.desc": "&aオーブンかまど&rの下に&d灰皿&rを設置すると、使った丸太から&c灰&rを確率で収集してくれます。右クリックで灰を取り出せます。\n\n&dオーブンホッパー&rは、それに面している&bオーブンかまど&rに丸太を挿入します。自動化に役立ちます。", "quests.tfg_tips.jam.title": "ジャム", "quests.tfg_tips.jam.subtitle": "ゼリーではありません", - "quests.tfg_tips.jam.desc": "&dジャム&rは、果物を保存するのに最適な方法です。&b密封されたジャムの瓶&rは、開封しなければ最大&c2年間&r保存できます。\n\nジャムを適切に瓶詰めするには、&a蓋付きの瓶&rが必要になります。瓶自体には&bガラス吹き&r、蓋には&b鍛冶&rが必要です。\n\n&3&lTips:&r&l &aGT機械&fがあれば、両方をより簡単に作れるようになります。", + "quests.tfg_tips.jam.desc": "&dジャム&rは、果物を保存するのに最適な方法です。&b密封されたジャムの瓶&rは、開封しなければ最大&c2年間&r保存できます。\n\nジャムを適切に瓶詰めするには、&a蓋付きの瓶&rが必要になります。瓶自体には&bガラス吹き&r、蓋には&b鍛冶&rが必要です。\n\n&3&lTips:&r&l &aGT機械&fがあれば、両方をより簡単に作れるようになります。", "quests.tfg_tips.preservation.title": "保存の系統樹", "quests.tfg_tips.preservation.subtitle": "食品を長持ちさせる", - "quests.tfg_tips.preservation.desc": "腐った食品は食用には適していません(ただし、豚などの家畜に与えることはできます)。&2TFG&rで安定して生活するには、食品の保存期間を長引かせるのが重要です。\n\n上記のクエストツリーでは、さまざまな食品のあらゆる保存方法について詳しく説明しています。一部のアイコンに腐った食品が表示される場合がありますが、これは純粋に外観上のバグです。\n\n&3&lTips:&r&o すべての要素は&d重ねる&fことができるため、いくつかの方法を組み合わせることで非常に長い保存期間を実現できます。", + "quests.tfg_tips.preservation.desc": "腐った食品は食用には適していません(ただし、豚などの家畜に与えることはできます)。\n&2TFG&rの世界で安定した生活を送るには、食品の長期保存が重要です。\n\n上記のクエストツリーでは、さまざまな食品のあらゆる保存方法について詳しく説明しています。一部のアイコンに腐った食品が表示される場合がありますが、これは純粋に外観上のバグです。\n\n&3&lTips:&r&o すべての要素は&d重ねる&fことができるため、いくつかの方法を組み合わせることで非常に長い保存期間を実現できます。", "quests.tfg_tips.brine_something.title": "塩酢漬け", "quests.tfg_tips.brine_something.subtitle": "他の保存方法の予備段階", - "quests.tfg_tips.brine_something.desc": "&a生の肉、野菜&r、または&a果物&rを塩酢漬けにしましょう。これには&b海水&rと&b酢&rで作られた&d塩酢&rが必要です。これは、&3酢漬け&rと&3燻製&rの予備段階です。", + "quests.tfg_tips.brine_something.desc": "&a生の肉、野菜&r、または&a果物&rを塩酢漬けにしましょう。これには&b海水&rと&b酢&rで作られた&d塩酢&rが必要です。\nこれは、&3酢漬け&rと&3燻製&rの予備段階です。", "quests.tfg_tips.brine_something.task.1": "塩酢漬けされた肉、野菜、または果物。", - "quests.tfg_tips.brine_something.task.2": "海水のバケツ", + "quests.tfg_tips.brine_something.task.2": "塩酢のバケツ", "quests.tfg_tips.pickle_something.title": "一般的な保存:酢漬け", "quests.tfg_tips.pickle_something.subtitle": "ピクルスを作ろう", - "quests.tfg_tips.pickle_something.desc": "&a生の肉、野菜&r、または&a果物&rは酢漬けにすることができます。&3塩酢漬け&r後、食品アイテムは&a酢&rで満たされた樽に漬けられます。樽が密閉されている限り、そこに放置することができ、&d酢漬け&rの保存特性を与え、保存期間を大幅に延長します。", + "quests.tfg_tips.pickle_something.desc": "&a生の肉、野菜&r、または&a果物&rは酢漬けにすることができます。\n&3塩酢漬け&r後、食品アイテムは&a酢&rで満たされた樽で漬けておくことができます。樽が密閉されている限り、保存しておくことができ、&d酢漬け&rの保存特性を与え、保存期間を大幅に延長します。", "quests.tfg_tips.pickle_something.task.1": "酢のバケツ", "quests.tfg_tips.pickle_something.task.2": "ピクルスにされた肉、野菜、または果物。", "quests.tfg_tips.get_milk.title": "牛乳の保存", @@ -4272,7 +4275,7 @@ "quests.tfg_tips.create_cheese.desc": "&a牛乳&rは&dチーズホイール&rに加工でき、保管するために設置しておいたり、&aナイフ&rで切って&dチーズスライス&rにしたりすることができます。\n\nチーズの作り方に関する情報は、&2フィールドガイド&rに記載されています。", "quests.tfg_tips.cheese_aging.title": "牛乳の保存: チーズの熟成", "quests.tfg_tips.cheese_aging.subtitle": "クセになる香り", - "quests.tfg_tips.cheese_aging.desc": "&3貯蔵庫&rを建てた場合は、&aチーズホイール&rを置いて中で熟成させることができます。熟成には時間がかかりますが、保存期間が大幅に向上します。 &l手でチーズを壊さないでください。そうした場合、すべての熟成がなかったことになります!&r", + "quests.tfg_tips.cheese_aging.desc": "&3貯蔵庫&rを建てた場合は、&aチーズホイール&rを置いて中で熟成させることができます。熟成には時間がかかりますが、保存期間が大幅に向上します。\n&l手でチーズを壊さないでください。そうした場合、すべての熟成がなかったことになります!&r", "quests.tfg_tips.smoke_cheese.title": "牛乳の保存: チーズを燻製にする", "quests.tfg_tips.smoke_cheese.subtitle": "風味の向上", "quests.tfg_tips.smoke_cheese.desc": "&aチーズスライス&rを、&c火のついた焚き火&rの上に張った&b羊毛の糸&rに掛けることで、燻製にすることができます。", @@ -4282,7 +4285,7 @@ "quests.tfg_tips.get_meat.desc": "ほとんどの動物から&a肉&rを採ることができます。これは優秀なタンパク源ですが、生のままだとすぐに腐ってしまいます。\n\n&b生肉&rは、保存手段として&3塩漬け、酢漬け&r、&3燻製&rの3種類がありますが、これらの手順はどれも&c調理前&rに行う必要があります。", "quests.tfg_tips.salt_meat.title": "肉の保存: 塩漬け", "quests.tfg_tips.salt_meat.subtitle": "より苦しむ", - "quests.tfg_tips.salt_meat.desc": "&b塩漬け&rは、肉を手っ取り早く、簡単に保存期間を延ばすことができる方法です。&d塩&rは、&a岩塩堆積物&r、&a塩の鉱脈&rの上の&a小さい結晶&r、&a塩の鉱脈&r自体から入手できます。そのほか、&3鍋&rで塩水を&a沸騰&rさせることによって作り出すこともできます。", + "quests.tfg_tips.salt_meat.desc": "&b塩漬け&rは、肉を手っ取り早く、簡単に保存期間を延ばすことができる方法です。\n&d塩&rは、&a岩塩堆積物&r、&a塩の鉱脈&rの上の&a小さい結晶&r、&a塩の鉱脈&r自体から入手できます。\nそのほか、&3鍋&rで塩水を&a沸騰&rさせることによって精製することもできます。", "quests.tfg_tips.salt_meat.task": "塩漬け肉の塊", "quests.tfg_tips.smoke_meat.title": "肉の保存: 燻製", "quests.tfg_tips.smoke_meat.subtitle": "いぶし銀", @@ -4294,15 +4297,15 @@ "quests.tfg_tips.bacon.task": "燻製豚肉", "quests.tfg_tips.cook_meat.title": "肉の保存: 調理", "quests.tfg_tips.cook_meat.subtitle": "まっとうな手段", - "quests.tfg_tips.cook_meat.desc": "調理によっても保存特性を付与することができます。&a肉&rは、&b錬鉄製グリル&rまたは&bオーブン&rで調理する必要があります。\n他の調理方法では、特性が付与されないか、保存期間を短くするマイナスの特性を与えることさえあります。\n\n&3&lTips:&r&o &b錬鉄製グリル&fは、&dオーブン&f構造の一部にすることができます。", - "quests.tfg_tips.cook_meat.task.1": "グリルまたはオーブンで焼いた調理済み肉の塊。", + "quests.tfg_tips.cook_meat.desc": "調理によっても保存特性を付与することができます。&a肉&rは、&b錬鉄製グリル&rまたは&bオーブン&rで調理する必要があります。\n他の調理方法では、特性が付与されないか、保存期間を短くするマイナスの特性を与えることさえあります。\n\n&3&lTips:&r&o &b錬鉄製グリル&fは、&dオーブン&f構造の中でもつかうことができます。", + "quests.tfg_tips.cook_meat.task.1": "グリルまたはオーブンで焼いた肉。", "quests.tfg_tips.cook_meat.task.2": "錬鉄製グリルまたは上部オーブン", "quests.tfg_tips.get_veggie.title": "野菜の保存", "quests.tfg_tips.get_veggie.subtitle": "えらい!", "quests.tfg_tips.get_veggie.desc": "&a野菜&rは、ほとんどが野生で見つかるか、地元の農場で栽培されています。&b酢漬け&rにすることしかできません。", "quests.tfg_tips.get_fruit.title": "果物の保存", "quests.tfg_tips.get_fruit.subtitle": "おいしい!", - "quests.tfg_tips.get_fruit.desc": "&a果物&rは、ほとんどが野生で見つかります。入手経路は&b木や茂み&rから収穫するものか、&bメロン&rと&bカボチャ&rのようなものがあります。 野菜とは異なり、果物には独自の保存手段があります。&b酢漬け&rのほかに&d乾燥&rさせることができます。\n&cドライフルーツは、最初の&dイースト&rを作るためにも必要です。", + "quests.tfg_tips.get_fruit.desc": "&a果物&rは、ほとんどが野生で見つかります。入手経路は&b木や茂み&rから収穫するものか、&bメロン&rと&bカボチャ&rのようなものがあります。\n野菜とは異なり、&b酢漬け&rのほかに&d乾燥&rさせることができます。これは果物独自の保存方法です。\n&cドライフルーツは、最初の&dイースト&rを作るためにも必要です。", "quests.tfg_tips.dry_fruit.title": "果物の保存: 乾燥", "quests.tfg_tips.dry_fruit.subtitle": "しっかり乾かしましょう", "quests.tfg_tips.dry_fruit.desc": "&3乾燥マット&rを使用すると、果物を乾燥させて保存期間を延ばすことができます。&3太陽光乾燥機&rは、より高度なものです。", @@ -4310,9 +4313,9 @@ "quests.tfg_tips.dry_fruit.task.2": "乾燥マットまたは太陽光乾燥機", "quests.tfg_tips.get_grain.title": "穀物の保存", "quests.tfg_tips.get_grain.subtitle": "炭水化物たち", - "quests.tfg_tips.get_grain.desc": "&a穀物&rは種類がそれなりに豊富で、あなたの地元でも簡単に栽培できます。未加工の穀物は長持ちしないかもしれませんが、保存期間を大幅に延ばす方法があります。", + "quests.tfg_tips.get_grain.desc": "&a穀物&rは種類がそれなりに豊富で、あなたの地元でも簡単に栽培できます。\n未加工の穀物は長持ちしないかもしれませんが、保存期間を大幅に延ばす方法があります。", "quests.tfg_tips.get_grain.task": "任意の穀物", - "quests.tfg_tips.process_grain.title": "穀物の保存: ナイフ処理", + "quests.tfg_tips.process_grain.title": "穀物の保存:脱穀", "quests.tfg_tips.process_grain.subtitle": "これだけです", "quests.tfg_tips.process_grain.desc": "ナイフと&a穀物&rでクラフトすると、&d穀物の粒&rと藁が得られます。穀物の粒はもとより非常に長持ちします。", "quests.tfg_tips.passive_preservation.title": "食料の貯蔵法", @@ -4320,32 +4323,32 @@ "quests.tfg_tips.passive_preservation.desc": "食品を保存しながら貯蔵する方法はいくつかあります。上の3つは特に優れた方法です。", "quests.tfg_tips.vessel_preservation.title": "一般的な貯蔵:壺", "quests.tfg_tips.vessel_preservation.subtitle": "勇者を招きいれてはいけません", - "quests.tfg_tips.vessel_preservation.desc": "食品は&a壺&rまたは&a大きな壺&rに入れましょう。大きな壺はしっかりと蓋を閉めておきましょう。 入れている間は、&d密閉&rの保存特性が得られ、保存期間が延びます。食品を持ち運ぶのにも適しています!", + "quests.tfg_tips.vessel_preservation.desc": "食品は&a壺&rまたは&a大きな壺&rに入れましょう。大きな壺はしっかりと蓋を閉めておきましょう。\n入れている間は、&d密閉&rの保存特性が得られ、保存期間が延びます。食品を持ち運ぶのにも適しています!", "quests.tfg_tips.cellar.title": "貯蔵庫", - "quests.tfg_tips.cellar.subtitle": "宝物庫", - "quests.tfg_tips.cellar.desc": "&3貯蔵庫&rは、食品を長期間保存するために使用できるマルチブロック構造体です。ここでは食品は、&a食品棚&rと&a吊るし棚&rに保管する必要があります。ここで&bチーズを熟成させる&rこともできます。\n&3貯蔵庫&rの構築方法については、&2フィールドガイド&rを確認してください。", + "quests.tfg_tips.cellar.subtitle": "腹ペコにとっては宝物庫", + "quests.tfg_tips.cellar.desc": "&3貯蔵庫&rは、食品を長期間保存するために使用できるマルチブロック構造体です。\nここでは食品は、&a食品棚&rと&a吊るし棚&rに保管する必要があります。ここで&bチーズを熟成させる&rこともできます。\n&3貯蔵庫&rの構築方法については、&2フィールドガイド&rを確認してください。", "quests.tfg_tips.cellar.task": "密閉されたエントリの任意の形式。", "quests.tfg_tips.refrigerator.title": "冷蔵庫", "quests.tfg_tips.refrigerator.subtitle": "まさに文明の利器", - "quests.tfg_tips.refrigerator.desc": "&bMV&r時代にまで進むと、&d冷蔵庫&rを作ることができます。これに入れた食品には&o最高の&r普遍的な保存特性を与えてくれます。引き換えとして電力を消費し続けます。生の食品、調理済みの食品、サンドイッチなどの複合食品でも保存できます。", + "quests.tfg_tips.refrigerator.desc": "&bMV&r時代にまで進むと、&d冷蔵庫&rを作ることができます。\nこれに入れた食品には&o最高の&r普遍的な保存特性を与えてくれます。引き換えとして電力を消費し続けます。生の食品、調理済みの食品、サンドイッチなどの複合食品でも保存できます。", "quests.tfg_tips.cellar_blocks.title": "貯蔵庫での保管方法", "quests.tfg_tips.cellar_blocks.subtitle": "食品の集合住宅", - "quests.tfg_tips.cellar_blocks.desc": "&b食品棚&rは、あらゆる食品を保管できます。&b吊るし棚&rは、&a肉&rと&aニンニク&rを保管するために使用できます。 ここに保管された食品は、&d壺&rよりも強力な保存特性を受け取ります。", + "quests.tfg_tips.cellar_blocks.desc": "&b食品棚&rは、あらゆる食品を保管できます。&b吊るし棚&rは、&a肉&rと&aニンニク&rを保管するために使用できます。\nここに保管された食品は、&d壺&rよりも強力な保存特性を受け取ります。", "quests.tfg_tips.beneath.title": "The Beneath", - "quests.tfg_tips.beneath.subtitle": "センター・オブ・ジ・アース", - "quests.tfg_tips.beneath.desc": "地の底深く、&d岩盤&rを越えた先には過酷な地下空間である&4The_Beneath&rがあります。&4Beneath&rには進行に必須な要素はありませんが、多くのリソースと生活の質を向上させる要素が眠っています。", + "quests.tfg_tips.beneath.subtitle": "おい地獄さ行ぐんだで!", + "quests.tfg_tips.beneath.desc": "地の底深く、&d岩盤&rを越えた先には過酷な地下空間である&4The_Beneath&rがあります。\n&4Beneath&rには進行に必須な要素はありませんが、多くのリソースと生活の質を向上させる要素が眠っています。", "quests.tfg_tips.beneath_prep.title": "Beneathに向けた支度", "quests.tfg_tips.beneath_prep.subtitle": "準備を怠るな", "quests.tfg_tips.beneath_prep.desc": "&4Beneath&rは非常に危険です。地球の中心に近いため、平均気温は常に&c15°C以上&rであり、深く潜るほど高くなります。そして危険な生物たちが数多く潜んでいます。\nこの先のクエストでは、探索をするために必要な準備を教えます。", "quests.tfg_tips.beneath_temp_management.title": "体温管理:冷却手段", "quests.tfg_tips.beneath_temp_management.subtitle": "隙を見て冷却", - "quests.tfg_tips.beneath_temp_management.desc": "&4Beneath&rは、気温が高いため、体を冷却する手段として&a水&rを持っていきましょう。 一時的な基地を作る予定がある場合は、極地地域で採掘した&b氷塊&rを持っていくといいでしょう。", + "quests.tfg_tips.beneath_temp_management.desc": "&4Beneath&rは、気温が高いため、体を冷却する手段として&a水&rを持っていきましょう。\n一時的な基地を作る予定がある場合は、極地地域で採掘した&b氷塊&rを持っていくといいでしょう。", "quests.tfg_tips.beneath_clothes.title": "体温管理:服装", "quests.tfg_tips.beneath_clothes.subtitle": "クールビズ", "quests.tfg_tips.beneath_clothes.desc": "&b服&rも体温管理において重要な役割を果たします。&4Beneath&rに行く前に最も簡単に作れるのは&d麻の服&rです。\n\n&d絹製の服&rには&a絹糸&rが必要で、これは&cWebbed_Lair&rと呼ばれるBeneath内のバイオームに大量にあります。\n\n&9青鋼&rの製造に成功していた場合はよりよい装備が作れます。", "quests.tfg_tips.blue_steel_diving.title": "青鋼の潜水装備", "quests.tfg_tips.blue_steel_diving.subtitle": "空調付き作業服", - "quests.tfg_tips.blue_steel_diving.desc": "&9青鋼の潜水装備&rは、着用している間、&c溶岩と火&rに対して完全な耐性を得られる特別な装備です。体温を&a下げる&r効果を持ち、かつ&b断熱性&rが高いため、&4Beneath&rにいる間の体温を安定させることができます。", + "quests.tfg_tips.blue_steel_diving.desc": "&9青鋼の潜水装備&rは、着用している間、&c溶岩と火&rに対して完全な耐性を得られる特別な装備です。\n体温を&a下げる&r効果を持ち、かつ&b断熱性&rが高いため、&4Beneath&rにいる間の体温を安定させることができます。", "quests.tfg_tips.juicer.title": "ジューサー", "quests.tfg_tips.juicer.subtitle": "しぼりたてをどうぞ", "quests.tfg_tips.juicer.desc": "&3Juicer&rは、&a果物&rや&aキノコ&rなどに含まれている水分から、飲める&d水&rを絞り出すアイテムです。\n\n水は&4Beneath&rの上層にはありますが、下に行くほど、不足していきます。ただし、&aキノコ&rであれば&4Beneath&rのどこでも見つかりますので、脱水症状のリスクを減らすことができます!", @@ -4360,15 +4363,15 @@ "quests.tfg_tips.reach_the_beneath.task": "The Beneathにいる", "quests.tfg_tips.fuck_go_back.title": "The Beneathからの脱出方法", "quests.tfg_tips.fuck_go_back.subtitle": "出口が見当たらないけど...", - "quests.tfg_tips.fuck_go_back.desc": "&4The Beneath&rから脱出するには、&d天井の岩盤&rの近くで待機する必要があります。数秒待っていると、&b地上世界&rの同じX座標とZ座標の位置に転送されます。", + "quests.tfg_tips.fuck_go_back.desc": "&4Beneath&rから脱出するには、&d天井の岩盤&rの近くで待機する必要があります。数秒待っていると、&b地上世界&rの同じX座標とZ座標の位置に転送されます。", "quests.tfg_tips.piglin_bartering.title": "ピグリンとの取引", "quests.tfg_tips.piglin_bartering.subtitle": "貴重な取引先", "quests.tfg_tips.piglin_bartering.desc": "&4Beneath&rの住民たちとは、取引をすることができます。金を支払って、&a金属&rや&a革&rなどの役立つリソースと取引してみましょう。\n取引の詳細については、&2フィールドガイド&rをご覧ください。", "quests.tfg_tips.piglin_disguise.subtitle": "バレてないよな...", - "quests.tfg_tips.piglin_disguise.desc": "あなたは周囲に馴染めていますか?\nあなたの外見のせいで、&4ピグリン&rにいじめられたりはしていませんか?\n&aピグリンのマスク&rを被って、不要な注目を避け、周りに溶け込んでみてください。", + "quests.tfg_tips.piglin_disguise.desc": "あなたは周囲に馴染めていますか?\nあなたの外見のせいで、&4ピグリン&rにいじめられたりはしていませんか?\n&aピグリンの変装マスク&rを被って、不要な注目を避け、周りに溶け込んでみてください。", "quests.tfg_tips.trowel.title": "こて", "quests.tfg_tips.trowel.subtitle": "Quarkインスパイア", - "quests.tfg_tips.trowel.desc": "&4こて&rは、ホットバーにあるブロックを&bランダムに&r設置できる建築家向けのツールです。 こては、レンガやその他の使用可能なアイテムを使用して、&5RNR_Roads&rのタイルをランダムに設置することなどに使えます。", + "quests.tfg_tips.trowel.desc": "&4こて&rは、ホットバーにあるブロックを&bランダムに&r設置できる建築家向けのツールです。\nこては、レンガやその他の使用可能なアイテムを使用して、&5RNR_Roads&rのタイルをランダムに設置することなどに使えます。", "quests.tfg_tips.lunchbox.title": "ランチボックス", "quests.tfg_tips.lunchbox.subtitle": "ポケットの中の冷蔵庫!", "quests.tfg_tips.lunchbox.desc": "ランチボックスには9つの食品スロットがあり、食品を保冷し、長持ちさせます。\nCooling_Lunch_Boxは通常のものよりも保存効果が強いですが、氷または冷却セルを入れておく必要があります。", @@ -4381,7 +4384,7 @@ "quests.tfg_tips.tools_tips.subtitle": "物は使いよう", "quests.tfg_tips.tools_tips.tools.title": "ツール", "quests.tfg_tips.tools_tips.tools.subtitle": "どう使うか", - "quests.tfg_tips.tools_tips.tools.desc": "人間と動物を隔てる唯一のものは、&l&b道具&r&rの使用です。&8&oサル、イルカ、カラス、ラッコ、タコを例外として...&r&r 道具と技術を駆使して、&5できる限り楽に&r進めましょう。", + "quests.tfg_tips.tools_tips.tools.desc": "人間と動物を隔てる唯一のものは、&l&b道具&r&rの使用です。&8&oサル、イルカ、カラス、ラッコ、タコを例外として...&r&r\n道具と技術を駆使して、&5できる限り楽に&r進めましょう。", "quests.tfg_tips.tools_tips.seed_oil.title": "ランタン燃料:種油", "quests.tfg_tips.tools_tips.seed_oil.subtitle": "生まれるはずだった命の輝き", "quests.tfg_tips.tools_tips.seed_oil.desc": "&d種油&rは、&c72&r日間持続します。", @@ -4392,7 +4395,7 @@ "quests.tfg_tips.tools_tips.soybean_oil.task": "大豆油のバケツ", "quests.tfg_tips.tools_tips.markings.title": "マーキング", "quests.tfg_tips.tools_tips.markings.subtitle": "OSHA規格1910.303に準拠", - "quests.tfg_tips.tools_tips.markings.desc": "&2チョーク&rと同様に&d&lマーキング&r&rを使って装飾して、よりイカした拠点を築くことができます。 最初に&bHazard_Diamond_Wall_Marking&rを作成し、石切り台によって他の種類のマーキングを作成することができます。", + "quests.tfg_tips.tools_tips.markings.desc": "&2チョーク&rと同様に&d&lマーキング&r&rを使って装飾して、よりイカした拠点を築くことができます。\n最初に&bHazard_Diamond_Wall_Marking&rを作成し、石切り台によって他の種類のマーキングを作成することができます。", "quests.tfg_tips.tools_tips.markings.task": "任意の#ags_modernmarkings:markings", "quests.tfg_tips.tools_tips.cryodesiccation.title": "フリーズドライ", "quests.tfg_tips.tools_tips.cryodesiccation.subtitle": "食事を楽しまない方向け", @@ -4400,5 +4403,27 @@ "quests.tfg_tips.tools_tips.harvest_basket.title": "収穫かご", "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "背が低い方向け。", "quests.tfg_tips.tools_tips.harvest_basket.task": "任意の#tfg:harvester", - "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2収穫かご&r&rは、&5TFG&rのために作られた新しい道具です! これを使えば、ワンクリックで木全体や果物の茂みから収穫することができます! 通常の&6収穫かご&rの耐久値は&n128&rです。&3アルミニウム収穫かご&rは使用時に耐久が減りません。" + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2収穫かご&r&rは、&5TFG&rのために作られた新しい道具です!\nこれを使えば、ワンクリックで木全体や果物の茂みから収穫することができます!\n通常の&6収穫かご&rの耐久値は&n128&rです。&3アルミニウム収穫かご&rは使用時に耐久が減りません。", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "舗装車", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "すべての道はあなたの拠点に通じる", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "道を整備すると非常に快適になりますが、道づくりのためには、右クリックという重労働が必要でした。これからは馬に道路を作らせてしまいましょう!\n&dPaving_Cart(舗装車)&rは、TFGのために特別に開発された&cAstikor_Cart&rです。このカートを使うことで、道路幅を設定したりランダムモードを利用したりして、&c舗装された道路&rを自動的に作成することができます。", + "quests.tfg_tips.tools_tips.mattocks.title": "マトック", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "シャベルにはできなかったこと", + "quests.tfg_tips.tools_tips.mattocks.task0": "Any Mattock", + "quests.tfg_tips.tools_tips.mattocks.task1": "Any Road Material", + "quests.tfg_tips.tools_tips.mattocks.desc": "&cMattocks(マトック)&rは、TFGで道路を整備するための必須ツールです。他のTFCツールと同じく、鍛冶によって作成できます。\n使用する際は、モード(デフォルトキー:&3&lN&r&r)を「フルブロック」に切り替えてください。\nそうすると土や草を右クリックして踏み固めることができ、次に&6crushed_base_course&rを敷き、その上にお好みの材料を重ねて道路を仕上げることができます。", + "quests.tfg_tips.tools_tips.base_course.title": "Base Course", + "quests.tfg_tips.tools_tips.base_course.subtitle": "すべての道の基礎", + "quests.tfg_tips.tools_tips.base_course.task": "Look at Base Course", + "quests.tfg_tips.tools_tips.gravel_roads.title": "砂利道", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "ナマステ", + "quests.tfg_tips.tools_tips.gravel_roads.task": "Any Gravel Road Material", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "これらの材料をbase_courseに使用すると、歩行速度が&b&l10%%&r&rアップする道路を作ることができます。", + "quests.tfg_tips.tools_tips.brick_roads.title": "レンガ歩道", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "人の道", + "quests.tfg_tips.tools_tips.brick_roads.task": "Any Brick Road Material", + "quests.tfg_tips.tools_tips.brick_roads.desc": "これらの材料をbase_courseに使用すると、歩行速度が&b&l20%%&r&rアップする道路を作ることができます。", + "quests.tfg_tips.tools_tips.concrete_roads.title": "コンクリート道路", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "道路のための労働", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Wet_concrete_mix&rをbase_courseに使用すると、移動速度が&b&l30%%&r&rアップする道路を作ることができます。\n\n&4コンクリート道路を作る際は&4注意してください&r。ひび割れや損傷を防ぐために気を付けるべきことが多くあります。詳細は、&3フィールドガイド&rを参照してください。" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index a3e7e13aa..dcb7c403c 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1,6 +1,5 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "parts.lang.1": "biomes", "biome.tfg.nether/basalt_deltas": "Базальтовые дельты", "biome.tfg.nether/decaying_caverns": "Гниющие пещеры", "biome.tfg.nether/lush_hollow": "Пышная лощина", @@ -12,17 +11,30 @@ "biome.tfg.nether/gneiss_caves": "Глубокие пещеры", "biome.tfg.nether/granite_caves": "Глубокие пещеры", "biome.tfg.nether/schist_caves": "Глубокие пещеры", - "biome.tfg.moon/lunar_asurine_dense": "Certus Fields", - "biome.tfg.moon/lunar_asurine_sparse": "Asurine Fields", - "biome.tfg.moon/lunar_chorus_dense": "Chorus Thicket", - "biome.tfg.moon/lunar_chorus_sparse": "Chorus Forest", - "biome.tfg.moon/lunar_corals_dense": "Lunar Reef", - "biome.tfg.moon/lunar_corals_sparse": "Lunar Maria", - "biome.tfg.moon/lunar_lights_dense": "Lightbloom Star Gazers", - "biome.tfg.moon/lunar_lights_sparse": "Lightbloom Scrubland", - "biome.tfg.moon/lunar_plains": "Lunar Plains", - "biome.tfg.moon/lunar_sands": "Lunar Sands", - "parts.lang.2": "blocks", + "biome.tfg.moon/lunar_asurine_dense": "Кварцевые поля", + "biome.tfg.moon/lunar_asurine_sparse": "Азуриновые поля", + "biome.tfg.moon/lunar_chorus_dense": "Хорусовые дебри", + "biome.tfg.moon/lunar_chorus_sparse": "Хорусовый лес", + "biome.tfg.moon/lunar_corals_dense": "Лунный риф", + "biome.tfg.moon/lunar_corals_sparse": "Лунное море", + "biome.tfg.moon/lunar_lights_dense": "Светоцветы-звездочёты", + "biome.tfg.moon/lunar_lights_sparse": "Светоцветная степь", + "biome.tfg.moon/lunar_plains": "Лунные равнины", + "biome.tfg.moon/lunar_sands": "Лунные пески", + "biome.tfg.mars/martian_deep_desert": "Глубокие марсианские дюны", + "biome.tfg.mars/martian_dunes": "Марсианская пустыня", + "biome.tfg.mars/martian_dune_edge": "Марсианская грань пустыни", + "biome.tfg.mars/martian_river": "Марсианские берега", + "biome.tfg.mars/martian_mountains": "Угасший марсианский вулкан", + "biome.tfg.mars/amber_edge": "Янтарная кромка", + "biome.tfg.mars/amber_plains": "Янтарная равнина", + "biome.tfg.mars/amber_hills": "Янтарные холмы", + "biome.tfg.mars/rusticus_edge": "Рустиксовая грань", + "biome.tfg.mars/rusticus_plains": "Рустиксовая луговина", + "biome.tfg.mars/rusticus_hills": "Рустиксовые холмы", + "biome.tfg.mars/sangnum_edge": "Сангнумовая грань", + "biome.tfg.mars/sangnum_plains": "Сангнумовая прерия", + "biome.tfg.mars/sangnum_hills": "Сангнумовый верещатник", "block.tfg.piglin_disguise": "Маскировка Пиглина", "block.tfg.piglin_disguise_block": "Маскировка Пиглина", "block.tfg.dry_ice": "Сухой лёд", @@ -35,30 +47,30 @@ "block.tfg.decorative_vase.purple": "Фиолетовая декоративная ваза", "block.tfg.decorative_vase.blue": "Синяя декоративная ваза", "block.tfg.decorative_vase.light_blue": "Светло-синяя декоративная ваза", - "block.tfg.decorative_vase.cyan": "Голубая декоративная ваза", + "block.tfg.decorative_vase.cyan": "Бирюзовая декоративная ваза", "block.tfg.decorative_vase.green": "Зелёная декоративная ваза", "block.tfg.decorative_vase.lime": "Лаймовая декоративная ваза", "block.tfg.decorative_vase.yellow": "Жёлтая декоративная ваза", "block.tfg.decorative_vase.orange": "Оранжевая декоративная ваза", "block.tfg.decorative_vase.red": "Красная декоративная ваза", "block.tfg.decorative_vase.brown": "Коричневая декоративная ваза", - "block.tfg.decorative_vase.unfired": "Необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.black": "Чёрная необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.gray": "Серая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.light_gray": "Светло-серая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.white": "Белая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.pink": "Розовая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.magenta": "Пурпурная необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.purple": "Фиолетовая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.blue": "Синяя необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.light_blue": "Светло-синяя необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.cyan": "Голубая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.green": "Зелёная необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.lime": "Лаймовая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.yellow": "Жёлтая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.orange": "Оранжевая необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.red": "Красная необожженая декоративная ваза", - "block.tfg.decorative_vase.unfired.brown": "Коричневая необожженая декоративная ваза", + "block.tfg.decorative_vase.unfired": "Необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.black": "Чёрная необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.gray": "Серая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.light_gray": "Светло-серая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.white": "Белая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.pink": "Розовая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.magenta": "Пурпурная необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.purple": "Фиолетовая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.blue": "Синяя необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.light_blue": "Светло-синяя необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.cyan": "Бирюзовая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.green": "Зелёная необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.lime": "Лаймовая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.yellow": "Жёлтая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.orange": "Оранжевая необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.red": "Красная необожжёная декоративная ваза", + "block.tfg.decorative_vase.unfired.brown": "Коричневая необожжёная декоративная ваза", "block.tfg.decorative_vase.generated.black": "Чёрная ваза с добычей", "block.tfg.decorative_vase.generated.gray": "Серая ваза с добычей", "block.tfg.decorative_vase.generated.light_gray": "Светло-серая ваза с добычей", @@ -68,7 +80,7 @@ "block.tfg.decorative_vase.generated.purple": "Фиолетовая ваза с добычей", "block.tfg.decorative_vase.generated.blue": "Синяя ваза с добычей", "block.tfg.decorative_vase.generated.light_blue": "Светло-синяя ваза с добычей", - "block.tfg.decorative_vase.generated.cyan": "Голубая ваза с добычей", + "block.tfg.decorative_vase.generated.cyan": "Бирюзовая ваза с добычей", "block.tfg.decorative_vase.generated.green": "Зелёная ваза с добычей", "block.tfg.decorative_vase.generated.lime": "Лаймовая ваза с добычей", "block.tfg.decorative_vase.generated.yellow": "Жёлтая ваза с добычей", @@ -77,12 +89,12 @@ "block.tfg.decorative_vase.generated.brown": "Коричневая ваза с добычей", "block.tfg.light_concrete_support": "Опора из светлого бетона", "block.tfg.light_concrete_support_horizontal": "Опора из светлого бетона", - "block.tfg.dark_concrete_support": "Опора из темного бетона", - "block.tfg.dark_concrete_support_horizontal": "Опора из темного бетона", - "block.tfg.reinforced_light_concrete_support": "Опора из укрепленного светлого бетона", - "block.tfg.reinforced_light_concrete_support_horizontal": "Опора из укрепленного светлого бетона", - "block.tfg.reinforced_dark_concrete_support": "Опора из укрепленного темного бетона", - "block.tfg.reinforced_dark_concrete_support_horizontal": "Опора из укрепленного темного бетона", + "block.tfg.dark_concrete_support": "Опора из тёмного бетона", + "block.tfg.dark_concrete_support_horizontal": "Опора из тёмного бетона", + "block.tfg.reinforced_light_concrete_support": "Опора из армированного светлого бетона", + "block.tfg.reinforced_light_concrete_support_horizontal": "Опора из армированного светлого бетона", + "block.tfg.reinforced_dark_concrete_support": "Опора из армированного тёмного бетона", + "block.tfg.reinforced_dark_concrete_support_horizontal": "Опора из армированного тёмного бетона", "block.tfg.rebar_support": "Опора из арматуры", "block.tfg.rebar_support_horizontal": "Опора из арматуры", "block.tfg.steel_support": "Опора из стали", @@ -133,51 +145,285 @@ "block.tfg.migmatite_support": "Опора из мигматита", "block.tfg.travertine_support_horizontal": "Опора из травертина", "block.tfg.travertine_support": "Опора из травертина", - "block.tfg.glacian_support": "Опора из гласиевого дерева", - "block.tfg.glacian_support_horizontal": "Опора из гласиевого дерева", + "block.tfg.glacian_support": "Опора из гласивника", + "block.tfg.glacian_support_horizontal": "Опора из гласивника", "block.tfg.strophar_support": "Опора из строфарового гриба", "block.tfg.strophar_support_horizontal": "Опора из строфарового гриба", "block.tfg.aeronos_support": "Опора из конусообразного гриба", "block.tfg.aeronos_support_horizontal": "Опора из конусообразного гриба", - "block.tfg.rock.hardened_deepslate": "Укрeпленный мигматит", - "block.tfg.rock.hardened_blackstone": "Укрeпленный пироксенит", - "block.tfg.rock.hardened_dripstone": "Укрeпленный травертин", + "block.tfg.rock.hardened_deepslate": "Укрeплённый мигматит", + "block.tfg.rock.deepslate_stairs": "Мигматитовые ступеньки", + "block.tfg.rock.deepslate_slab": "Мигматитовая плита", + "block.tfg.rock.deepslate_wall": "Мигматитовая ограда", + "block.tfg.rock.mossy_cobble_deepslate": "Замшелый мигматитовый булыжник", + "block.tfg.rock.mossy_cobble_deepslate_stairs": "Ступеньки из замшелого мигматитового булыжника", + "block.tfg.rock.mossy_cobble_deepslate_slab": "Плита из замшелого мигматитового булыжника", + "block.tfg.rock.mossy_cobble_deepslate_wall": "Ограда из замшелого мигматитового булыжника", + "block.tfg.rock.cracked_bricks_deepslate_stairs": "Ступеньки из потрескавшихся мигматитовых кирпичей", + "block.tfg.rock.cracked_bricks_deepslate_slab": "Плита из потрескавшихся мигматитовых кирпичей", + "block.tfg.rock.cracked_bricks_deepslate_wall": "Ограда из потрескавшихся мигматитовых кирпичей", + "block.tfg.rock.cracked_tiles_deepslate_stairs": "Ступеньки из потрескавшейся мигматитовой плитки", + "block.tfg.rock.cracked_tiles_deepslate_slab": "Плита из потрескавшейся мигматитовой плитки", + "block.tfg.rock.cracked_tiles_deepslate_wall": "Ограда из потрескавшейся мигматитовой плитки", + "block.tfg.rock.mossy_bricks_deepslate": "Замшелые мигматитовые кирпичи", + "block.tfg.rock.mossy_bricks_deepslate_stairs": "Ступеньки из замшелых мигматитовых кирпичей", + "block.tfg.rock.mossy_bricks_deepslate_slab": "Плита из замшелых мигматитовых кирпичей", + "block.tfg.rock.mossy_bricks_deepslate_wall": "Ограда из замшелых мигматитовых кирпичей", + "block.tfg.rock.gravel_deepslate": "Мигматитовый гравий", "block.tfg.spike.deepslate_spike": "Мигматитовый сталагмит", + "block.tfg.loose.deepslate": "Камешек мигматита", + "block.tfg.rock.aqueduct_deepslate": "Мигматитовый акведук", + "block.tfg.rock.hardened_blackstone": "Укрeплённый пироксенит", + "block.tfg.rock.cobble_blackstone_stairs": "Ступеньки из пироксенитового булыжника", + "block.tfg.rock.cobble_blackstone_slab": "Плита из пироксенитового булыжника", + "block.tfg.rock.cobble_blackstone_wall": "Ограда из пироксенитового булыжника", + "block.tfg.rock.cobble_blackstone": "Пироксенитовый булыжник", + "block.tfg.rock.mossy_cobble_blackstone": "Замшелый пироксенитовый булыжник", + "block.tfg.rock.mossy_cobble_blackstone_stairs": "Ступеньки из замшелого пироксенитового булыжника", + "block.tfg.rock.mossy_cobble_blackstone_slab": "Плита из замшелого пироксенитового булыжника", + "block.tfg.rock.mossy_cobble_blackstone_wall": "Ограда из замшелого пироксенитового", + "block.tfg.rock.cracked_bricks_blackstone_stairs": "Ступеньки из потрескавшихся пироксенитовых кирпичей", + "block.tfg.rock.cracked_bricks_blackstone_slab": "Плита из потрескавшихся пироксенитовых кирпичей", + "block.tfg.rock.cracked_bricks_blackstone_wall": "Ограда из потрескавшихся пироксенитовых кирпичей", + "block.tfg.rock.mossy_bricks_blackstone": "Замшелые пироксенитовые кирпичи", + "block.tfg.rock.mossy_bricks_blackstone_stairs": "Ступеньки из замшелых пироксенитовых кирпичей", + "block.tfg.rock.mossy_bricks_blackstone_slab": "Плита из замшелых пироксенитовых кирпичей", + "block.tfg.rock.mossy_bricks_blackstone_wall": "Ограда из замшелых пироксенитовых кирпичей", + "block.tfg.rock.gravel_blackstone": "Пироксенитовый гравий", "block.tfg.spike.blackstone_spike": "Пироксенитовый сталагмит", + "block.tfg.rock.hardened_dripstone": "Укрeплённый травертин", + "block.tfg.rock.dripstone_stairs": "Травертиновые ступеньки", + "block.tfg.rock.dripstone_slab": "Травертиновая плита", + "block.tfg.rock.dripstone_wall": "Травертировая ограда", + "block.tfg.rock.cobble_dripstone": "Травертировый булыжник", + "block.tfg.rock.cobble_dripstone_stairs": "Ступеньки из травертинового булыжника", + "block.tfg.rock.cobble_dripstone_slab": "Плита из травертинового булыжника", + "block.tfg.rock.cobble_dripstone_wall": "Ограда из травертинового булыжника", + "block.tfg.rock.mossy_cobble_dripstone": "Замшелый травертиновый булыжник", + "block.tfg.rock.mossy_cobble_dripstone_stairs": "Ступеньки из замшелого травертинового булыжника", + "block.tfg.rock.mossy_cobble_dripstone_slab": "Плита из замшелого травертинового булыжника", + "block.tfg.rock.mossy_cobble_dripstone_wall": "Ограда из замшелого травертинового булыжника", + "block.tfg.rock.cracked_bricks_dripstone": "Потрескавшиеся травертиновые кирпичи", + "block.tfg.rock.cracked_bricks_dripstone_stairs": "Ступеньки из потрескавшихся травертиновых кирпичей", + "block.tfg.rock.cracked_bricks_dripstone_slab": "Плита из потрескавшихся травертиновых кирпичей", + "block.tfg.rock.cracked_bricks_dripstone_wall": "Ограда из потрескавшихся травертиновых кирпичей", + "block.tfg.rock.mossy_bricks_dripstone": "Замшелый травертиновые кирпичи", + "block.tfg.rock.mossy_bricks_dripstone_stairs": "Ступеньки из замшелых травертиновых кирпичей", + "block.tfg.rock.mossy_bricks_dripstone_slab": "Плита из замшелых травертиновых кирпичей", + "block.tfg.rock.mossy_bricks_dripstone_wall": "Ограда из замшелых травертиновых кирпичей", + "block.tfg.rock.gravel_dripstone": "Травертиновый гравий", "block.tfg.spike.dripstone_spike": "Твавертиновый сталагмит", - "block.tfg.loose.deepslate": "Камушек мигматита", - "block.tfg.loose.dripstone": "Камушек травертина", - "block.tfg.mushroom_roots": "Грибные корни", - "block.tfg.mushroom_sprouts": "Грибные ростки", - "block.tfg.charred_log": "Обугленное бревно", + "block.tfg.loose.dripstone": "Камешек травертина", + "block.tfg.rock.aqueduct_dripstone": "Травертиновый акведук", + "block.tfg.rock.crackrack_stairs": "Кератофировые ступеньки", + "block.tfg.rock.crackrack_slab": "Кератофировая плита", + "block.tfg.rock.crackrack_wall": "Кератофировая ограда", + "block.tfg.rock.polished_crackrack": "Полированный кератофир", + "block.tfg.rock.polished_crackrack_stairs": "Ступеньки из полированного кератофира", + "block.tfg.rock.polished_crackrack_slab": "Плита из полированного кератофира", + "block.tfg.rock.polished_crackrack_wall": "Ограда из полированного кератофира", + "block.tfg.rock.cobble_crackrack": "Кератофировый булыжник", + "block.tfg.rock.cobble_crackrack_stairs": "Ступеньки из кератофирового булыжника", + "block.tfg.rock.cobble_crackrack_slab": "Плита из кератофирового булыжника", + "block.tfg.rock.cobble_crackrack_wall": "Ограда из кератофирового булыжника", + "block.tfg.rock.mossy_cobble_crackrack": "Замшелый кератофировый булыжник", + "block.tfg.rock.mossy_cobble_crackrack_stairs": "Ступеньки из замшелого кератофирового булыжника", + "block.tfg.rock.mossy_cobble_crackrack_slab": "Плита из замшелого кератофирового булыжника", + "block.tfg.rock.mossy_cobble_crackrack_wall": "Ограда из замшелого кератофирового булыжника", + "block.tfg.rock.cracked_bricks_nether_stairs": "Ступеньки из потрескавшихся кератофировых кирпичей", + "block.tfg.rock.cracked_bricks_nether_slab": "Плита из потрескавшихся кератофировых кирпичей", + "block.tfg.rock.cracked_bricks_nether_wall": "Ограда из потрескавшихся кератофировых кирпичей", + "block.tfg.rock.mossy_bricks_nether": "Замшелые кератофировые кирпичи", + "block.tfg.rock.mossy_bricks_nether_stairs": "Ступеньки из замшелых кератофировых кирпичей", + "block.tfg.rock.mossy_bricks_nether_slab": "Плита из замшелых кератофировых кирпичей", + "block.tfg.rock.mossy_bricks_nether_wall": "Ограда из замшелых кератофировых кирпичей", + "block.tfg.rock.gravel_crackrack": "Кератофировый гравий", + "block.tfg.loose.crackrack": "Камешек кератофира", + "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.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_stone": "Замшелые анортозитовые кирпичи", + "block.tfg.rock.mossy_bricks_moon_stone_stairs": "Ступеньки из замшелых анортозитовых кирпичей", + "block.tfg.rock.mossy_bricks_moon_stone_slab": "Плита из замшелых анортозитовых кирпичей", + "block.tfg.rock.mossy_bricks_moon_stone_wall": "Ограда из замшелых анортозитовых кирпичей", + "block.tfg.rock.chiseled_bricks_moon_wall": "Ограда из резного анортозита", + "block.tfg.rock.gravel_moon": "Анортозитовый гравий", "block.tfg.spike.moon_stone_spike": "Анортозитовый сталагмит", "block.tfg.loose.moon_stone": "Камешек анортозита", + "block.tfg.rock.aqueduct_moon_stone": "Анортозитовый акведук", "block.tfg.rock.hardened_moon_deepslate": "Укреплённый норит", + "block.tfg.rock.moon_deepslate_stairs": "Норитовые ступеньки", + "block.tfg.rock.moon_deepslate_slab": "Норитовая плита", + "block.tfg.rock.moon_deepslate_wall": "Норитовая ограда", + "block.tfg.rock.cobble_moon_deepslate": "Норитовый булыжник", + "block.tfg.rock.cobble_moon_deepslate_stairs": "Ступеньки из норитового булыжника", + "block.tfg.rock.cobble_moon_deepslate_slab": "Плита из норитового булыжника", + "block.tfg.rock.cobble_moon_deepslate_wall": "Ограда из норитового булыжника", + "block.tfg.rock.mossy_cobble_moon_deepslate": "Замшелый норитовый булыжник", + "block.tfg.rock.mossy_cobble_moon_deepslate_stairs": "Ступеньки из замшелого норитового булыжника", + "block.tfg.rock.mossy_cobble_moon_deepslate_slab": "Плита из замшелого норитового булыжника", + "block.tfg.rock.mossy_cobble_moon_deepslate_wall": "Ограда из замшелого норитового булыжника", + "block.tfg.rock.polished_moon_deepslate": "Полированный норит", + "block.tfg.rock.polished_moon_deepslate_stairs": "Ступеньки из полированного норита", + "block.tfg.rock.polished_moon_deepslate_slab": "Плита из полированного норита", + "block.tfg.rock.polished_moon_deepslate_wall": "Ограда из полированного норита", + "block.tfg.rock.bricks_moon_deepslate": "Норитовые кирпичи", + "block.tfg.rock.bricks_moon_deepslate_stairs": "Ступеньки из норитовых кирпичей", + "block.tfg.rock.bricks_moon_deepslate_slab": "Плита из норитовых кирпичей", + "block.tfg.rock.bricks_moon_deepslate_wall": "Ограда из норитовых кирпичей", + "block.tfg.rock.cracked_bricks_moon_deepslate": "Потрескавшиеся норитовые кирпичи", + "block.tfg.rock.cracked_bricks_moon_deepslate_stairs": "Ступеньки из потрескавшихся норитовых кирпичей", + "block.tfg.rock.cracked_bricks_moon_deepslate_slab": "Плита из потрескавшихся норитовых кирпичей", + "block.tfg.rock.cracked_bricks_moon_deepslate_wall": "Ограда из потрескавшихся норитовых кирпичей", + "block.tfg.rock.chiseled_bricks_moon_deepslate": "Резные норитовые кирпичи", + "block.tfg.rock.chiseled_bricks_moon_deepslate_stairs": "Ступеньки из резных норитовых кирпичей", + "block.tfg.rock.chiseled_bricks_moon_deepslate_slab": "Плита из резных норитовых кирпичей", + "block.tfg.rock.chiseled_bricks_moon_deepslate_wall": "Ограда из резных норитовых кирпичей", + "block.tfg.rock.pillar_moon_deepslate": "Норитовая коллона", + "block.tfg.rock.gravel_moon_deepslate": "Норитовый гравий", "block.tfg.spike.moon_deepslate_spike": "Норитовый сталагмит", "block.tfg.loose.moon_deepslate": "Камешек норита", + "block.tfg.rock.aqueduct_moon_deepslate": "Норитовый акведук", "block.tfg.rock.hardened_mars_stone": "Укреплённый аргиллит", + "block.tfg.rock.mars_stone_wall": "Аргиллитовая ограда", + "block.tfg.rock.cobble_mars_stone_wall": "Ограда из аргиллитового булыжника", + "block.tfg.rock.mossy_cobble_mars": "Замшелый аргиллитовый булыжник", + "block.tfg.rock.mossy_cobble_mars_stairs": "Ступеньки из замшелого аргиллитового булыжника", + "block.tfg.rock.mossy_cobble_mars_slab": "Плита из замшелого аргиллитового булыжника", + "block.tfg.rock.mossy_cobble_mars_wall": "Ограда из замшелого аргиллитового булыжника", + "block.tfg.rock.polished_mars_wall": "Ограда из полированного аргиллита", + "block.tfg.rock.mossy_bricks_mars_stone": "Замшелые аргиллитовые кирпичи", + "block.tfg.rock.mossy_bricks_mars_stone_stairs": "Ступеньки из замшелых аргиллитовых кирпичей", + "block.tfg.rock.mossy_bricks_mars_stone_slab": "Плита из замшелых аргиллитовых кирпичей", + "block.tfg.rock.mossy_bricks_mars_stone_wall": "Ограда из замшелых аргиллитовых кирпичей", + "block.tfg.rock.cracked_bricks_mars_stone_wall": "Ограда из потрескавшихся аргиллитовых кирпичей", + "block.tfg.rock.chiseled_bricks_mars_wall": "Ограда из резного аргиллита", + "block.tfg.rock.gravel_mars": "Аргиллитовый гравий", "block.tfg.spike.mars_stone_spike": "Аргиллитовый сталагмит", "block.tfg.loose.mars_stone": "Камешек аргиллита", + "block.tfg.rock.aqueduct_mars_stone": "Аргиллитовый акведук", "block.tfg.rock.hardened_venus_stone": "Укреплённый трахит", + "block.tfg.rock.venus_stone_wall": "Трахитовая ограда", + "block.tfg.rock.cobble_venus_stone_wall": "Ограда из трахитового булыжника", + "block.tfg.rock.mossy_cobble_venus": "Замшелый трахитовый булыжник", + "block.tfg.rock.mossy_cobble_venus_stairs": "Ступеньки из замшелого трахитового булыжника", + "block.tfg.rock.mossy_cobble_venus_slab": "Плита из замшелого трахитового булыжника", + "block.tfg.rock.mossy_cobble_venus_wall": "Ограда из замшелого трахитового булыжника", + "block.tfg.rock.polished_venus_wall": "Ограда из полированного трахита", + "block.tfg.rock.mossy_bricks_venus_stone": "Замшелые трахитовые кирпичи", + "block.tfg.rock.mossy_bricks_venus_stone_stairs": "Ступеньки из замшелых трахитовых кирпичей", + "block.tfg.rock.mossy_bricks_venus_stone_slab": "Плита из замшелых трахитовых кирпичей", + "block.tfg.rock.mossy_bricks_venus_stone_wall": "Ограда из замшелых трахитовых кирпичей", + "block.tfg.rock.cracked_bricks_venus_stone_wall": "Ограда из потрескавшихся трахитовых кирпичей", + "block.tfg.rock.chiseled_bricks_venus_wall": "Ограда из резного трахита", + "block.tfg.rock.gravel_venus": "Трахитовый гравий", "block.tfg.spike.venus_stone_spike": "Трахитовый сталагмит", "block.tfg.loose.venus_stone": "Камешек трахита", + "block.tfg.rock.aqueduct_venus_stone": "Трахитовый акведук", "block.tfg.rock.hardened_mercury_stone": "Укреплённый коматиит", + "block.tfg.rock.mercury_stone_wall": "Коматиитовая ограда", + "block.tfg.rock.cobble_mercury_stone_wall": "Ограда из коматиитового булыжника", + "block.tfg.rock.mossy_cobble_mercury": "Замшелый коматиитовый булыжник", + "block.tfg.rock.mossy_cobble_mercury_stairs": "Ступеньки из замшелого коматиитового булыжника", + "block.tfg.rock.mossy_cobble_mercury_slab": "Плита из замшелого коматиитового булыжника", + "block.tfg.rock.mossy_cobble_mercury_wall": "Ограда из замшелого коматиитового булыжника", + "block.tfg.rock.polished_mercury_wall": "Ограда из полированного коматиита", + "block.tfg.rock.mossy_bricks_mercury_stone": "Замшелые коматиитовые кирпичи", + "block.tfg.rock.mossy_bricks_mercury_stone_stairs": "Ступеньки из замшелых коматиитовых кирпичей", + "block.tfg.rock.mossy_bricks_mercury_stone_slab": "Плита из замшелых коматиитовых кирпичей", + "block.tfg.rock.mossy_bricks_mercury_stone_wall": "Ограда из замшелых коматиитовых кирпичей", + "block.tfg.rock.cracked_bricks_mercury_stone_wall": "Ограда из потрескавшихся коматиитовых кирпичей", + "block.tfg.rock.chiseled_bricks_mercury_wall": "Ограда из резного коматиита", + "block.tfg.rock.gravel_mercury": "Коматиитовый гравий", "block.tfg.spike.mercury_stone_spike": "Коматиитовый сталагмит", "block.tfg.loose.mercury_stone": "Камешек коматиита", + "block.tfg.rock.aqueduct_mercury_stone": "Коматиитовый акведук", "block.tfg.rock.hardened_glacio_stone": "Укреплённый фонолит", + "block.tfg.rock.glacio_stone_wall": "Фонолитовая ограда", + "block.tfg.rock.cobble_glacio_stone_wall": "Ограда из фонолитового булыжника", + "block.tfg.rock.mossy_cobble_glacio": "Замшелый фонолитовый булыжник", + "block.tfg.rock.mossy_cobble_glacio_stairs": "Ступеньки из замшелого фонолитового булыжника", + "block.tfg.rock.mossy_cobble_glacio_slab": "Плита из замшелого фонолитового булыжника", + "block.tfg.rock.mossy_cobble_glacio_wall": "Ограда из замшелого фонолитового булыжника", + "block.tfg.rock.polished_glacio_wall": "Ограда из полированого фонолита", + "block.tfg.rock.mossy_bricks_glacio_stone": "Замшелые фонолитовые кирпичи", + "block.tfg.rock.mossy_bricks_glacio_stone_stairs": "Ступеньки из замшелых фонолитовых кирпичей", + "block.tfg.rock.mossy_bricks_glacio_stone_slab": "Плита из замшелых фонолитовых кирпичей", + "block.tfg.rock.mossy_bricks_glacio_stone_wall": "Ограда из замшелых фонолитовых кирпичей", + "block.tfg.rock.cracked_bricks_glacio_stone_wall": "Ограда из потрескавшихся фонолитовых кирпичей", + "block.tfg.rock.chiseled_bricks_glacio_wall": "Ограда из резного фонолита", + "block.tfg.rock.gravel_glacio": "Фонолитовый гравий", "block.tfg.spike.glacio_stone_spike": "Фонолитовый сталагмит", "block.tfg.loose.glacio_stone": "Камешек фонолита", - "block.tfg.rock.hardened_permafrost": "Укреплённый вечный лед", - "block.tfg.spike.permafrost_spike": "Сталагмит вечного льда ", - "block.tfg.loose.permafrost": "Кусок вечного льда", + "block.tfg.rock.aqueduct_glacio_stone": "Фонолитовый акведук", + "block.tfg.rock.hardened_permafrost": "Укреплёная многолетняя мерзлота", + "block.tfg.rock.permafrost_stairs": "Ступеньки из многолетней мерзлоты", + "block.tfg.rock.permafrost_slab": "Плита из многолетней мерзлоты", + "block.tfg.rock.permafrost_wall": "Ограда из многолетней мерзлоты", + "block.tfg.rock.cobble_permafrost": "Булыжник многолетней мерзлоты", + "block.tfg.rock.cobble_permafrost_stairs": "Ступеньки из булыжника многолетней мерзлоты", + "block.tfg.rock.cobble_permafrost_slab": "Плита из булыжника многолетней мерзлоты", + "block.tfg.rock.cobble_permafrost_wall": "Ограда из булыжника многолетней мерзлоты", + "block.tfg.rock.mossy_cobble_permafrost_stairs": "Ступеньки из замшелого булыжника многолетней мерзлоты", + "block.tfg.rock.mossy_cobble_permafrost_slab": "Плита из замшелого булыжника многолетней мерзлоты", + "block.tfg.rock.mossy_cobble_permafrost_wall": "Ограда из замшелого булыжника многолетней мерзлоты", + "block.tfg.rock.polished_permafrost_wall": "Ограда из полированной многолетней мерзлоты", + "block.tfg.rock.mossy_bricks_permafrost": "Замшелые кирпичи многолетней мерзлоты", + "block.tfg.rock.mossy_bricks_permafrost_stairs": "Ступеньки из замшелых кирпичей многолетней мерзлоты", + "block.tfg.rock.mossy_bricks_permafrost_slab": "Плита из замшелых кирпичей многолетней мерзлоты", + "block.tfg.rock.mossy_bricks_permafrost_wall": "Ограда из замшелых кирпичей многолетней мерзлоты", + "block.tfg.rock.cracked_bricks_permafrost_stone_wall": "Ограда из потрескавшихся кирпичей многолетней мерзлоты", + "block.tfg.rock.gravel_permafrost": "Гравий многолетней мерзлоты", + "block.tfg.spike.permafrost_spike": "Сталагмит многолетней мерзлоты", + "block.tfg.loose.permafrost": "Кусок многолетней мерзлоты", + "block.tfg.rock.aqueduct_permafrost": "Акведук из многолетней мерзлоты", + "block.tfg.rock.hardened_red_granite": "Укреплённый красный гранит", + "block.tfg.rock.red_granite_stairs": "Ступеньки из красного гранита", + "block.tfg.rock.red_granite_slab": "Плита из красного гранита", + "block.tfg.rock.red_granite_wall": "Ограда из красного гранита", + "block.tfg.rock.polished_red_granite_stairs": "Ступеньки из полированного красного гранита", + "block.tfg.rock.polished_red_granite_slab": "Плита из полированного красного гранита", + "block.tfg.rock.polished_red_granite_wall": "Ограда из полированного красного гранита", + "block.tfg.rock.cobble_red_granite_stairs": "Ступеньки из булыжника красного гранита", + "block.tfg.rock.cobble_red_granite_slab": "Плита из булыжника красного гранита", + "block.tfg.rock.cobble_red_granite_wall": "Ограда из булыжника красного гранита", + "block.tfg.rock.mossy_cobble_red_granite_stairs": "Ступеньки из замшелого булыжника красного гранита", + "block.tfg.rock.mossy_cobble_red_granite_slab": "Плита из замшелого булыжника красного гранита", + "block.tfg.rock.mossy_cobble_red_granite_wall": "Ограда из замшелого булыжника красного гранита", + "block.tfg.rock.bricks_red_granite_stairs": "Ступеньки из кирпичей красного гранита", + "block.tfg.rock.bricks_red_granite_slab": "Плита из кирпичей красного гранита", + "block.tfg.rock.bricks_red_granite_wall": "Ограда из кирпичей красного гранита", + "block.tfg.rock.cracked_bricks_red_granite_stairs": "Ступеньки из потрескавшихся кирпичей красного гранита", + "block.tfg.rock.cracked_bricks_red_granite_slab": "Плита из потрескавшихся кирпичей красного гранита", + "block.tfg.rock.cracked_bricks_red_granite_wall": "Ограда из потрескавшихся кирпичей красного гранита", + "block.tfg.rock.mossy_bricks_red_granite_stairs": "Ступеньки из замшелых кирпичей красного гранита", + "block.tfg.rock.mossy_bricks_red_granite_slab": "Плита из замшелых кирпичей красного гранита", + "block.tfg.rock.mossy_bricks_red_granite_wall": "Ограда из замшелых кирпичей красного гранита", + "block.tfg.rock.gravel_red_granite": "Гравий красного гранита", + "block.tfg.loose.red_granite": "Камешек красного гранита", + "block.tfg.spike.red_granite_spike": "Сталагмит красного гранита", + "block.tfg.rock.aqueduct_red_granite": "Акведук из красного гранита", + "block.tfg.rock.stone_wall": "Ограда из восстановленного камня", + "block.tfg.rock.smooth_stone_stairs": "Ступеньки из полированного восстановленного камня", + "block.tfg.rock.smooth_stone_wall": "Ограда из полированного восстановленного камня", + "block.tfg.rock.cracked_bricks_stone_stairs": "Ступеньки из потрескавшихся кирпичей восстановленного камня", + "block.tfg.rock.cracked_bricks_stone_slab": "Плита из потрескавшихся кирпичей восстановленного камня", + "block.tfg.rock.cracked_bricks_stone_wall": "Ограда из потрескавшихся кирпичей восстановленного камня", + "block.tfg.rock.aqueduct_stone": "Акведук из восстановленного камня", + "block.tfg.rock.smooth_red_sandstone_wall": "Ограда из гладкого гематитового песчаника", + "block.tfg.rock.cut_red_sandstone_wall": "Ограда из пиленого гематитового песчаника", "block.tfg.rock.raw.stromatolite": "Строматолиты", "block.tfg.rock.spike.stromatolite": "Строматолитовый сталагмит", "block.tfg.rock.raw.geyserite": "Кремнистый туф", "block.tfg.rock.spike.geyserite": "Сталагмит кремнистого туфа", - "block.tfg.rock.hardened_red_granite": "Укреплённый красный гранит", - "block.tfg.loose.red_granite": "Камешек красного гранита", - "block.tfg.spike.red_granite_spike": "Сталагмит красного гранита", + "block.tfg.mushroom_roots": "Грибные корни", + "block.tfg.mushroom_sprouts": "Грибные ростки", + "block.tfg.charred_log": "Обугленное бревно", "block.tfg.ash_pile": "Кучка золы", "block.tfg.pile.white_sand": "Белый песок", "block.tfg.pile.black_sand": "Чёрный песок", @@ -188,15 +434,26 @@ "block.tfg.pile.pink_sand": "Розовый песок", "block.tfg.pile.moon_sand": "Лунный песок", "block.tfg.pile.mars_sand": "Аргиллитовый песок", + "block.tfg.pile.mars_sand_covering": "Аргиллитовый песок", "block.tfg.pile.venus_sand": "Трахитовый песок", + "block.tfg.pile.venus_sand_covering": "Трахитовый песок", + "block.tfg.pile.hematitic_sand": "Гематитовый песок", + "block.tfg.pile.hematitic_sand_covering": "Гематитовый песок", "block.tfg.lunar_roots": "Лунные светоцветы", "block.tfg.lunar_sprouts": "Лунная светотрава", "block.tfg.lunar_chorus_plant": "Хорусовое растение", "block.tfg.lunar_chorus_flower": "Хорусовый цветок", + "block.tfg.glacian_log": "Стебель гласивника", + "block.tfg.glacian_log_stripped": "Обтёсанный стебель гласивника", + "block.tfg.glacian_wood": "Гифа гласивника", + "block.tfg.glacian_wood_stripped": "Обтёсанная гифа гласивника", + "block.tfg.glacian_leaves": "Ламелла гласивника", + "block.tfg.glacian_leaves_fallen": "Маленькая ламелла гласивника", "block.tfg.marker.moon": "Луна", "block.tfg.marker.mars": "Марс", "block.tfg.marker.venus": "Венера", "block.tfg.marker.mercury": "Меркурий", + "block.tfg.marker.glacio": "Европа", "block.tfg.lv_aqueous_accumulator": "Обычный жидкостный коллектор", "block.tfg.mv_aqueous_accumulator": "§bУлучшенный жидкостный коллектор§r", "block.tfg.hv_aqueous_accumulator": "§6Улучшенный жидкостный коллектор II§r", @@ -235,32 +492,35 @@ "block.tfg.luv_gas_pressurizer": "§dElite Gas Pressurizer II§r", "block.tfg.zpm_gas_pressurizer": "§cElite Gas Pressurizer III§r", "block.tfg.uv_gas_pressurizer": "§3Ultimate Gas Pressurizer§r", - "block.tfg.fluid.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", - "block.tfg.grass.mars_dirt": "Martian Dirt", - "block.tfg.grass.mars_clay_dirt": "Martian Clay Dirt", - "block.tfg.grass.mars_farmland": "Martian Farmland", - "block.tfg.grass.amber_mycelium": "Amber Mycelium", - "block.tfg.grass.amber_clay_mycelium": "Amber Clay Mycelium", - "block.tfg.grass.amber_kaolin_mycelium": "Amber Kaolin Mycelium", - "block.tfg.grass.rusticus_mycelium": "Rusticus Mycelium", - "block.tfg.grass.rusticus_clay_mycelium": "Rusticus Clay Mycelium", - "block.tfg.grass.rusticus_kaolin_mycelium": "Rusticus Kaolin Mycelium", - "block.tfg.grass.sangnum_mycelium": "Sangnum Mycelium", - "block.tfg.grass.sangnum_clay_mycelium": "Sangnum Clay Mycelium", - "block.tfg.grass.sangnum_kaolin_mycelium": "Sangnum Kaolin Mycelium", - "block.tfg.spice": "Ostrum Deposit", - "block.tfg.saplings.crimson": "Crimson Fungus", - "block.tfg.saplings.warped": "Warped Fungus", - "block.tfg.saplings.alphacene": "Alphacene Mushroom", - "block.tfg.saplings.aeronos": "Aeronos Mushroom", - "block.tfg.saplings.strophar": "Strophar Mushroom", - "block.tfg.saplings.glacian": "Glacian Mushroom", - "block.tfg.groundcover.glider_feather": "Glider Feather", - "block.tfg.groundcover.wraptor_feather": "Wraptor Feather", - "block.tfg.groundcover.aeronos_stick": "Aeronos Twig", - "block.tfg.groundcover.strophar_stick": "Strophar Twig", - "block.tfg.groundcover.glacian_stick": "Glacian Twig", - "block.tfg.groundcover.alphacene_stick": "Alphacene Twig", + "block.tfg.fluid.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", + "block.tfg.grass.mars_dirt": "Марсианская земля", + "block.tfg.grass.mars_clay_dirt": "Марсианская земля с глиной", + "block.tfg.grass.mars_farmland": "Марсианская пашня", + "block.tfg.grass.mars_path": "Марсианская тропинка", + "block.tfg.grass.amber_mycelium": "Янтарный мицелий", + "block.tfg.grass.amber_clay_mycelium": "Янтарный мицелий с глиной", + "block.tfg.grass.amber_kaolin_mycelium": "Янтарный мицелий с каолинитовой глиной", + "block.tfg.grass.rusticus_mycelium": "Рустиксовый мицелий", + "block.tfg.grass.rusticus_clay_mycelium": "Рустиксовый мицелий с глиной", + "block.tfg.grass.rusticus_kaolin_mycelium": "Рустиксовый мицелий с каолинитовой глиной", + "block.tfg.grass.sangnum_mycelium": "Сангнумовый мицелий", + "block.tfg.grass.sangnum_clay_mycelium": "Сангнумовый мицелий с глиной", + "block.tfg.grass.sangnum_kaolin_mycelium": "Сангнумовый мицелий с каолинитовой глиной", + "block.tfg.spice": "Месторождение острума", + "block.tfg.saplings.crimson": "Багряный гриб", + "block.tfg.saplings.warped": "Искажённый гриб", + "block.tfg.saplings.alphacene": "Альфаценовой гриб", + "block.tfg.saplings.aeronos": "Конусообразный гриб", + "block.tfg.saplings.strophar": "Строфаровый гриб", + "block.tfg.saplings.glacian": "Гласиевый гриб", + "block.tfg.groundcover.glider_feather": "Перо планера", + "block.tfg.groundcover.wraptor_feather": "Перо ираптора", + "block.tfg.groundcover.aeronos_stick": "Веточка конусообразного гриба", + "block.tfg.groundcover.strophar_stick": "Веточка строфарового гриба", + "block.tfg.groundcover.glacian_stick": "Веточка гласивника", + "block.tfg.groundcover.alphacene_stick": "Веточка альфаценового гриба", + "block.tfg.mars_ice": "Полутяжёлый аммиачный лёд", + "block.tfg.mars_icicle": "Полутяжёлая аммиачная сосулька", "block.tfg.electromagnetic_accelerator": "Electromagnetic Accelerator", "block.tfg.superconductor_coil_large": "Large Superconductor Coil", "block.tfg.superconductor_coil_small": "Small Superconductor Coil", @@ -295,6 +555,9 @@ "block.tfg.rapeseed": "Канола", "block.tfg.rapeseed_wild": "Дикорастущая канола", "block.tfg.rapeseed_dead": "Погибшая канола", + "block.tfg.flax": "Лён", + "block.tfg.flax_wild": "Дикорастущий лён", + "block.tfg.flax_dead": "Погибший лён", "block.tfg.casings.machine_casing_iron_desh": "Desh Machine Casing", "block.tfg.casings.machine_casing_stainless_evaporation": "Stainless Evaporation Machine Casing", "block.tfg.casings.machine_casing_vacuum_engine_intake": "Vacuum Engine Intake Machine Casing", @@ -303,92 +566,104 @@ "block.tfg.casings.machine_casing_green_solar_panel": "Advanced Solar Panel Casing", "block.tfg.casings.machine_casing_red_solar_panel": "Elite Solar Panel Casing", "block.tfg.machine_casing_aluminium_plated_steel": "Aluminium Plated Steel Machine Casing", - "parts.lang.3": "TODO", - "parts.block.tfg.corallium_arenicolus_0": "Corallium Arenicolus", - "parts.block.tfg.corallium_arenicolus_1": "Corallium Arenicolus", - "parts.block.tfg.corallium_arenicolus_2": "Corallium Arenicolus", - "parts.block.tfg.corallium_arenicolus_3": "Corallium Arenicolus", - "parts.block.tfg.corallium_arenicolus_4": "Corallium Arenicolus", - "parts.block.tfg.corallium_arenicolus_5": "Corallium Arenicolus", - "block.tfg.sand.fluorapatite.blue": "Blue Fluorapatite Sand", - "block.tfg.sandstone.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone", - "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.smooth.fluorapatite.blue": "Smooth Blue Fluorapatite Sandstone", - "block.tfg.sandstone.wall.smooth.fluorapatite.blue": "Smooth Blue Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.smooth.fluorapatite.blue": "Smooth Blue Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.smooth.fluorapatite.blue": "Smooth Blue Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.fluorapatite.blue": "Cut Blue Fluorapatite Sandstone", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.blue": "Chiseled Blue Fluorapatite Sandstone", - "block.tfg.sand.fluorapatite.green": "Green Fluorapatite Sand", - "block.tfg.sandstone.raw.fluorapatite.green": "Raw Green Fluorapatite Sandstone", - "block.tfg.sandstone.wall.raw.fluorapatite.green": "Raw Green Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.raw.fluorapatite.green": "Raw Green Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.raw.fluorapatite.green": "Raw Green Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.smooth.fluorapatite.green": "Smooth Green Fluorapatite Sandstone", - "block.tfg.sandstone.wall.smooth.fluorapatite.green": "Smooth Green Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.smooth.fluorapatite.green": "Smooth Green Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.smooth.fluorapatite.green": "Smooth Green Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.fluorapatite.green": "Cut Green Fluorapatite Sandstone", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.green": "Chiseled Green Fluorapatite Sandstone", - "block.tfg.sand.fluorapatite.brown": "Brown Fluorapatite Sand", - "block.tfg.sandstone.raw.fluorapatite.brown": "Raw Brown Fluorapatite Sandstone", - "block.tfg.sandstone.wall.raw.fluorapatite.brown": "Raw Brown Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.raw.fluorapatite.brown": "Raw Brown Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.raw.fluorapatite.brown": "Raw Brown Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.smooth.fluorapatite.brown": "Smooth Brown Fluorapatite Sandstone", - "block.tfg.sandstone.wall.smooth.fluorapatite.brown": "Smooth Brown Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.smooth.fluorapatite.brown": "Smooth Brown Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.smooth.fluorapatite.brown": "Smooth Brown Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.fluorapatite.brown": "Cut Brown Fluorapatite Sandstone", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.brown": "Chiseled Brown Fluorapatite Sandstone", - "block.tfg.sand.fluorapatite.orange": "Orange Fluorapatite Sand", - "block.tfg.sandstone.raw.fluorapatite.orange": "Raw Orange Fluorapatite Sandstone", - "block.tfg.sandstone.wall.raw.fluorapatite.orange": "Raw Orange Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.raw.fluorapatite.orange": "Raw Orange Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.raw.fluorapatite.orange": "Raw Orange Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.smooth.fluorapatite.orange": "Smooth Orange Fluorapatite Sandstone", - "block.tfg.sandstone.wall.smooth.fluorapatite.orange": "Smooth Orange Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.smooth.fluorapatite.orange": "Smooth Orange Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.smooth.fluorapatite.orange": "Smooth Orange Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.fluorapatite.orange": "Cut Orange Fluorapatite Sandstone", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.orange": "Chiseled Orange Fluorapatite Sandstone", - "block.tfg.sand.fluorapatite.white": "White Fluorapatite Sand", - "block.tfg.sandstone.raw.fluorapatite.white": "Raw White Fluorapatite Sandstone", - "block.tfg.sandstone.wall.raw.fluorapatite.white": "Raw White Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.raw.fluorapatite.white": "Raw White Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.raw.fluorapatite.white": "Raw White Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.smooth.fluorapatite.white": "Smooth White Fluorapatite Sandstone", - "block.tfg.sandstone.wall.smooth.fluorapatite.white": "Smooth White Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.smooth.fluorapatite.white": "Smooth White Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.smooth.fluorapatite.white": "Smooth White Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.fluorapatite.white": "Cut White Fluorapatite Sandstone", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.white": "Chiseled White Fluorapatite Sandstone", - "block.tfg.sand.fluorapatite.yellow": "Yellow Fluorapatite Sand", - "block.tfg.sandstone.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite Sandstone", - "block.tfg.sandstone.wall.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.smooth.fluorapatite.yellow": "Smooth Yellow Fluorapatite Sandstone", - "block.tfg.sandstone.wall.smooth.fluorapatite.yellow": "Smooth Yellow Fluorapatite Sandstone Wall", - "block.tfg.sandstone.slab.smooth.fluorapatite.yellow": "Smooth Yellow Fluorapatite Sandstone Slab", - "block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "Smooth Yellow Fluorapatite Sandstone Stairs", - "block.tfg.sandstone.fluorapatite.yellow": "Cut Yellow Fluorapatite Sandstone", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Chiseled Yellow Fluorapatite Sandstone", - "block.tfg.large_nest_box": "Large Crimson Nest", - "tfg.block_entity.large_nest_box": "Large Nest Box", - "block.tfg.large_nest_box_warped": "Large Warped Nest", - "parts.lang.4": "fluids", - "fluid.tfg.nether_slurry": "Nether Slurry", - "fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry", - "fluid.tfg.ender_slurry": "Ender Slurry", - "fluid.tfg.enriched_ender_slurry": "Enriched Ender Slurry", - "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", - "fluid.tfg.heavy_water": "Heavy Water", - "fluid.tfg.sulfur_fumes": "Sulfur Fumes", - "fluid.tfg.super_heated_slurry": "Super Heated Slurry", - "parts.lang.5": "items", + "block.tfg.casings.machine_casing_ultraviolet": "§dUltraviolet §fMachine Casing", + "block.tfg.casings.machine_casing_bioculture": "Bioculture Machine Casing", + "block.tfg.casings.machine_casing_bioculture_glass": "Bioculture Glass", + "block.tfg.casings.bioculture_rotor_primary": "Primary Bioculture Rotor", + "block.tfg.casings.bioculture_rotor_secondary": "Secondary Bioculture Rotor", + "block.tfg.casings.machine_casing_ostrum_carbon": "Ostrum Machine Casing", + "block.tfg.casings.heat_pipe_casing": "Heat Pipe Casing", + "block.tfg.glacian_wool_frame": "Framed Glacian Wool", + "block.tfg.aes_insulation_frame": "Framed AES Insulation", + "block.tfg.sand.fluorapatite.blue": "Синий фторапатитный песок", + "block.tfg.sandstone.raw.fluorapatite.blue": "Синий фторапатитный песчаник", + "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Ограда из синего фторапатитного песчаника", + "block.tfg.sandstone.slab.raw.fluorapatite.blue": "Плита из синего фторапатитного песчаника", + "block.tfg.sandstone.stairs.raw.fluorapatite.blue": "Ступеньки из синего фторапатитного песчаника", + "block.tfg.sandstone.smooth.fluorapatite.blue": "Синий гладкий фторапатитный песчаник", + "block.tfg.sandstone.wall.smooth.fluorapatite.blue": "Ограда из синего гладкого фторапатитного песчаника", + "block.tfg.sandstone.slab.smooth.fluorapatite.blue": "Плита из синего гладкого фторапатитного песчаника", + "block.tfg.sandstone.stairs.smooth.fluorapatite.blue": "Ступеньки из синего гладкого фторапатитного песчаника", + "block.tfg.sandstone.fluorapatite.blue": "Синий пиленый фторапатитный песчаник", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.blue": "Синий резной фторапатитный песчаник", + "block.tfg.sand.fluorapatite.green": "Зелёный фторапатитный песок", + "block.tfg.sandstone.raw.fluorapatite.green": "Зелёный фторапатитный песчаник", + "block.tfg.sandstone.wall.raw.fluorapatite.green": "Ограда из зелёного фторапатитного песчаника", + "block.tfg.sandstone.slab.raw.fluorapatite.green": "Плита из зелёного фторапатитного песчаника", + "block.tfg.sandstone.stairs.raw.fluorapatite.green": "Ступеньки из зелёного фторапатитного песчаника", + "block.tfg.sandstone.smooth.fluorapatite.green": "Зелёный гладкий фторапатитный песчаник", + "block.tfg.sandstone.wall.smooth.fluorapatite.green": "Ограда из зелёного гладкого фторапатитного песчаника", + "block.tfg.sandstone.slab.smooth.fluorapatite.green": "Плита из зелёного гладкого фторапатитного песчаника", + "block.tfg.sandstone.stairs.smooth.fluorapatite.green": "Ступеньки из зелёного гладкого фторапатитного песчаника", + "block.tfg.sandstone.fluorapatite.green": "Зелёный пиленый фторапатитный песчаник", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.green": "Зелёный резной фторапатитный песчаник", + "block.tfg.sand.fluorapatite.brown": "Коричневый фторапатитный песок", + "block.tfg.sandstone.raw.fluorapatite.brown": "Коричневый фторапатитный песчаник", + "block.tfg.sandstone.wall.raw.fluorapatite.brown": "Ограда из коричневого фторапатитного песчаника", + "block.tfg.sandstone.slab.raw.fluorapatite.brown": "Плита из коричневого фторапатитного песчаника", + "block.tfg.sandstone.stairs.raw.fluorapatite.brown": "Ступеньки из коричневого фторапатитного песчаника", + "block.tfg.sandstone.smooth.fluorapatite.brown": "Коричневый гладкий фторапатитный песчаник", + "block.tfg.sandstone.wall.smooth.fluorapatite.brown": "Ограда из коричневого гладкого фторапатитного песчаника", + "block.tfg.sandstone.slab.smooth.fluorapatite.brown": "Плита из коричневого гладкого фторапатитного песчаника", + "block.tfg.sandstone.stairs.smooth.fluorapatite.brown": "Ступеньки из коричневого гладкого фторапатитного песчаника", + "block.tfg.sandstone.fluorapatite.brown": "Коричневый пиленый фторапатитный песчаник", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.brown": "Коричневый резной фторапатитный песчаник", + "block.tfg.sand.fluorapatite.orange": "Оранжевый фторапатитный песок", + "block.tfg.sandstone.raw.fluorapatite.orange": "Оранжевый фторапатитный песчаник", + "block.tfg.sandstone.wall.raw.fluorapatite.orange": "Ограда из оранжевого фторапатитного песчаника", + "block.tfg.sandstone.slab.raw.fluorapatite.orange": "Плита из оранжевого фторапатитного песчаника", + "block.tfg.sandstone.stairs.raw.fluorapatite.orange": "Ступеньки из оранжевого фторапатитного песчаника", + "block.tfg.sandstone.smooth.fluorapatite.orange": "Оранжевый гладкий фторапатитный песчаник", + "block.tfg.sandstone.wall.smooth.fluorapatite.orange": "Ограда из оранжевого гладкого фторапатитного песчаника", + "block.tfg.sandstone.slab.smooth.fluorapatite.orange": "Плита из оранжевого гладкого фторапатитного песчаника", + "block.tfg.sandstone.stairs.smooth.fluorapatite.orange": "Ступеньки из оранжевого гладкого фторапатитного песчаника", + "block.tfg.sandstone.fluorapatite.orange": "Оранжевый пиленый фторапатитный песчаник", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.orange": "Оранжевый резной фторапатитный песчаник", + "block.tfg.sand.fluorapatite.white": "Белый фторапатитный песок", + "block.tfg.sandstone.raw.fluorapatite.white": "Белый фторапатитный песчаник", + "block.tfg.sandstone.wall.raw.fluorapatite.white": "Ограда из белого фторапатитного песчаника", + "block.tfg.sandstone.slab.raw.fluorapatite.white": "Плита из белого фторапатитного песчаника", + "block.tfg.sandstone.stairs.raw.fluorapatite.white": "Ступеньки из белого фторапатитного песчаника", + "block.tfg.sandstone.smooth.fluorapatite.white": "Белый гладкий фторапатитный песчаник", + "block.tfg.sandstone.wall.smooth.fluorapatite.white": "Ограда из белого гладкого фторапатитного песчаника", + "block.tfg.sandstone.slab.smooth.fluorapatite.white": "Плита из белого гладкого фторапатитного песчаника", + "block.tfg.sandstone.stairs.smooth.fluorapatite.white": "Ступеньки из белого гладкого фторапатитного песчаника", + "block.tfg.sandstone.fluorapatite.white": "Белый пиленый фторапатитный песчаник", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.white": "Белый резной фторапатитный песчаник", + "block.tfg.sand.fluorapatite.yellow": "Жёлтый фторапатитный песок", + "block.tfg.sandstone.raw.fluorapatite.yellow": "Жёлтый фторапатитный песчаник", + "block.tfg.sandstone.wall.raw.fluorapatite.yellow": "Ограда из жёлтого фторапатитного песчаника", + "block.tfg.sandstone.slab.raw.fluorapatite.yellow": "Плита из жёлтого фторапатитного песчаника", + "block.tfg.sandstone.stairs.raw.fluorapatite.yellow": "Ступеньки из жёлтого фторапатитного песчаника", + "block.tfg.sandstone.smooth.fluorapatite.yellow": "Жёлтый гладкий фторапатитный песчаник", + "block.tfg.sandstone.wall.smooth.fluorapatite.yellow": "Ограда из жёлтого гладкого фторапатитного песчаника", + "block.tfg.sandstone.slab.smooth.fluorapatite.yellow": "Плита из жёлтого гладкого фторапатитного песчаника", + "block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "Ступеньки из жёлтого гладкого фторапатитного песчаника", + "block.tfg.sandstone.fluorapatite.yellow": "Жёлтый пиленый фторапатитный песчаник", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Жёлтый резной фторапатитный песчаник", + "block.tfg.large_nest_box": "Большой багряный насест", + "tfg.block_entity.large_nest_box": "Большой насест", + "block.tfg.large_nest_box_warped": "Большой искажённый насест", + "block.tfg.titanium_concrete": "Бетон на титановых арматурных стержнях", + "block.tfg.polished_titanium_concrete": "Полированный бетон на титановых арматурных стержнях", + "block.tfg.titanium_concrete_tile": "Плитка из бетона на титановых арматурных стержнях", + "block.tfg.titanium_concrete_tile_small": "Маленькая плитка из бетона на титановых арматурных стержнях", + "block.tfg.titanium_concrete_bricks": "Кирпичи из бетона на титановых арматурных стержнях", + "block.tfg.titanium_concrete_bricks_small": "Маленькие кирпичи из бетона на титановых арматурных стержнях", + "block.tfg.titanium_concrete_bricks_square": "Квадратные кирпичи из бетона на титановых арматурных стержнях", + "block.tfg.nuclear_turbine": "Nuclear Steam Turbine", + "block.tfg.evaporation_tower": "Evaporation Tower", + "block.tfg.cooling_tower": "Nuclear Cooling Tower", + "block.tfg.growth_monitor": "Growth Monitor", + "block.tfg.sample_rack": "Стойка для образцов", + "block.tfg.casings.machine_casing_sterilizing_pipes": "Стерилизующие трубы", + "fluid.tfg.nether_slurry": "Шлам незера", + "fluid.tfg.enriched_nether_slurry": "Обогащённый шлам незера", + "fluid.tfg.ender_slurry": "Шлам энда", + "fluid.tfg.enriched_ender_slurry": "Обогащённый шлам энда", + "fluid.tfg.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", + "fluid.tfg.sulfur_fumes": "Пары серы", + "fluid.tfg.super_heated_slurry": "Метастабильный шлам", "item.tfg.antipoison_pill": "Пилюля противоядия", "item.tfg.haste_pill": "Пилюля спешки", "item.tfg.night_vision_pill": "Пилюля ночного зрения", @@ -433,19 +708,33 @@ "item.tfg.conifer_rosin": "Хвойная канифоль", "item.tfg.hardwood_strip": "Полоска твердой древесины", "item.tfg.soaked_hardwood_strip": "Пропитанная полоска твердой древесины", - "item.tfg.soaked_unrefined_paper": "Пропитанная грубая бумага", "item.tfg.prepared_leather_gloves": "Подготовленные кожаные перчатки", "item.tfg.latex_soaked_gloves": "Пропитанные латексом перчатки", "item.tfg.unfired_chalk": "Необожженная палочка мела", "item.tfg.armor_stand_arms": "Стойка для брони с руками", "item.tfg.flint_club_head": "Навершие булавы (Кремень)", + "item.tfg.unfinished_electron_tube": "Unfinished Electron Tube", + "item.tfg.unfinished_vacuum_tube": "Unfinished Vacuum Tube", + "item.tfg.unfinished_basic_electronic_circuit": "Unfinished Basic Electronic Circuit", + "item.tfg.unfinished_good_electronic_circuit": "Unfinished Good Electronic Circuit", + "item.tfg.unfinished_inscriber_accumulation_press": "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": "Loose Norite", + "item.tfg.brick.moon_deepslate": "Norite Brick", + "item.tfg.loose.mars_stone": "Loose Argillite", "item.tfg.brick.mars_stone": "Аргиллитовый кирпич", + "item.tfg.loose.venus_stone": "Loose Trachyte", "item.tfg.brick.venus_stone": "Трахитовый кирпич", + "item.tfg.loose.mercury_stone": "Loose Komatiite", "item.tfg.brick.mercury_stone": "Коматиитовый кирпич", + "item.tfg.loose.glacio_stone": "Loose Phonolite", "item.tfg.brick.glacio_stone": "Фонолитовый кирпич", + "item.tfg.loose.permafrost": "Permafrost Chunk", "item.tfg.brick.permafrost": "Кирпич вечной мерзлоты", + "item.tfg.loose.red_granite": "Loose Red Granite", "item.tfg.brick.red_granite": "Кирпич красного гранита", "item.tfg.terra_firma_greg": "TerraFirmaGreg", "item.tfg.scaffolding_frame": "Обшивка строительных лесов", @@ -454,7 +743,7 @@ "item.tfg.lv_aircraft_engine": "Воздушный двигатель LV", "item.tfg.hv_aircraft_engine": "Воздушный двигатель HV", "item.tfg.ev_aircraft_engine": "Воздушный двигатель EV", - "item.tfg.black_steel_plated_airplane_propeller": "Пропеллер самолёта (Черная сталь)", + "item.tfg.black_steel_plated_airplane_propeller": "Пропеллер самолёта (Чёрная сталь)", "item.tfg.redblu_steel_plated_airplane_propeller": "Пропеллер самолёта (Красно-синяя сталь)", "item.tfg.stainless_steel_plated_airplane_propeller": "Пропеллер самолёта (Нержавеющая сталь)", "item.tfg.titanium_plated_airplane_propeller": "Пропеллер самолёта (Титан)", @@ -521,6 +810,9 @@ "item.tfg.food.freeze_dried.melon_slice": "Лиофилизированный ломтик арбуза", "item.tfg.food.freeze_dried.fig": "Лиофилизированный инжир", "item.tfg.food.freeze_dried.pineapple": "Лиофилизированный ананас", + "item.tfg.food.freeze_dried.blossom_berry": "Freeze Dried Blossom Berry", + "item.tfg.food.freeze_dried.shadow_berry": "Freeze Dried Nox Berry", + "item.tfg.food.freeze_dried.cave_pumpkin": "Freeze Dried Bulbkin Chunks", "item.tfg.food.calorie_paste": "Калорийная паста", "item.tfg.food.meal_bag": "Лиофилизированное мясо", "item.tfg.food.ice_soup": "Ледяной суп", @@ -530,6 +822,31 @@ "item.tfg.food.raw_sniffer_beef": "Raw Sniffer Beef", "item.tfg.food.cooked_sniffer_beef": "Cooked Sniffer Beef", "item.tfg.spawn_egg.sniffer": "Sniffer Spawn Egg", + "item.tfg.food.raw_wraptor": "Raw Wraptor", + "item.tfg.food.cooked_wraptor": "Cooked Wraptor", + "item.tfg.food.raw_springling_collar": "Raw Springling Collar", + "item.tfg.food.cooked_springling_collar": "Cooked Springling Collar", + "item.tfg.food.raw_walker_steak": "Raw Walker Steak", + "item.tfg.food.cooked_walker_steak": "Cooked Walker Steak", + "item.tfg.food.raw_glider_wings": "Raw Glider Wings", + "item.tfg.food.cooked_glider_wings": "Cooked Glider Wings", + "item.tfg.food.raw_whole_soarer": "Raw Whole Soarer", + "item.tfg.food.cooked_whole_soarer": "Cooked Whole Soarer", + "item.tfg.food.raw_crusher_meat": "Raw Crusher Meat", + "item.tfg.food.cooked_crusher_meat": "Cooked Crusher Meat", + "item.tfg.food.raw_goober_meat": "Raw Goober Meat", + "item.tfg.food.cooked_goober_meat": "Cooked Goober Meat", + "item.tfg.food.raw_long_pig_filet": "Raw Long Pig Filet", + "item.tfg.food.cooked_long_pig_filet": "Cooked Long Pig Filet", + "item.tfg.food.raw_surfer_steak": "Raw Surfer Steak", + "item.tfg.food.cooked_surfer_steak": "Cooked Surfer Steak", + "item.tfg.food.raw_stackatick_chunks": "Raw Stackatick Chunks", + "item.tfg.food.raw_stickastackatick": "Raw Stick'a'Stackatick", + "item.tfg.food.cooked_stickastackatick": "Cooked Stick'a'Stackatick", + "item.tfg.food.raw_cruncher_ribs": "Raw Cruncher Ribs", + "item.tfg.food.cooked_cruncher_ribs": "Cooked Cruncher Ribs", + "item.tfg.food.raw_dino_nugget": "Prepared Dinosaur Nugget", + "item.tfg.food.cooked_dino_nugget": "Beer Battered Dinosaur Nugget", "item.tfg.roasted_sunflower_seeds": "Обжаренные семена подсолнуха", "item.tfg.sunflower_seeds": "Семена подсолнуха", "item.tfg.sunflower_product": "Шляпка подсолнуха", @@ -554,6 +871,7 @@ "item.tfg.marker.mars_orbit": "Орбита Марса", "item.tfg.marker.venus_orbit": "Орбита Венеры", "item.tfg.marker.mercury_orbit": "Орбита Меркурия", + "item.tfg.marker.glacio_orbit": "Орбита Европы", "item.tfg.railgun_ammo_shell": "Railgun Ammo Shell", "item.tfg.sulfur_fumes_bucket": "Sulfur Fumes Bucket", "item.tfg.super_heated_slurry_bucket": "Super Heated Slurry Bucket", @@ -572,11 +890,13 @@ "item.tfg.aluminium_harvest_basket": "Лукошко (Алюминий)", "item.tfg.wood.lumber.aeronos": "Доска из конусообразного гриба", "item.tfg.wood.lumber.strophar": "Доска из строфарового гриба", - "item.tfg.wood.lumber.glacian": "Доска из гласиевого дерева", + "item.tfg.wood.lumber.glacian": "Доска из гласивника", "item.tfg.twigs.aeronos": "Aeronos Twig", "item.tfg.twigs.strophar": "Strophar Twig", "item.tfg.twigs.glacian": "Glacian Twig", "item.tfg.twigs.alphacene": "Alphacene Twig", + "item.tfg.crimsene_gem": "Crimsene Rosin", + "item.tfg.warpane_gem": "Warpane Rosin", "item.tfg.glacian_wool": "Glacian Wool", "item.tfg.sniffer_wool": "Mineral Rich Tufts", "item.tfg.sniffer_egg": "Sniffer Egg", @@ -623,7 +943,72 @@ "item.tfg.electric_extendo_grip": "Electric Extendo Grip", "item.tfg.treated_chipboard_composite": "Treated Chipboard Composite", "item.tfg.high_density_treated_fiberboard": "Medium Density Treated Fiberboard", - "parts.lang.6": "materials", + "item.tfg.flax_seeds": "Flax Seeds", + "item.tfg.flax_product": "Flax Stems", + "item.tfg.flax_bundle": "Flax Bundle", + "item.tfg.flax_line": "Flax Line Fibers", + "item.tfg.flax_tow": "Flax Tow Fibers", + "item.tfg.flax_waste": "Scraped Flax", + "item.tfg.bundled_scraped_flax": "Bundled Scraped Flax", + "item.tfg.linen_thread": "Linen Thread", + "item.tfg.linen_cloth": "Linen Cloth", + "item.tfg.uv_led": "§dUltraviolet §fLED", + "item.tfg.smd_uv_led": "§fSMD §dUltraviolet §fLED", + "item.tfg.empty_dna_syringe": "Empty Syringe", + "item.tfg.filled_dna_syringe": "Filled Syringe", + "item.tfg.dirty_dna_syringe": "Dirty Syringe", + "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.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.refrigerant_pellet": "Refrigerant Pellet", + "item.tfg.graphite_compound": "Graphite Compound", + "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", + "item.tfg.faulty_graphite_briquette": "Faulty Graphite Briquette", + "item.tfg.washed_graphite_briquette": "Washed Graphite Briquette", + "item.tfg.pure_graphite_rod": "Pure Graphite Rod", + "item.tfg.impure_graphite_rod": "Impure Graphite Rod", + "item.tfg.annealed_graphite_rod": "Annealed Graphite Rod", + "item.tfg.impure_annealed_graphite_row": "Impure Annealed Graphite Rod", + "item.tfg.moderate_core": "Moderate Core", + "item.tfg.impure_moderate_core": "Impure Moderate Core", + "item.tfg.moderate_core_frame": "Moderate Core Frame", + "item.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", + "item.tfg.graphite_moderator": "Graphite Moderator", + "item.tfg.impure_graphite_moderator": "Impure Graphite Moderator", + "item.tfg.advanced_polymer_binder": "Advanced Polymer Binder", + "item.tfg.beaker": "Химический стакан", + "item.tfg.beaker.filled": "Химический стакан (%s)", + "item.tfg.flask": "Колба", + "item.tfg.flask.filled": "Колба (%s)", + "item.tfg.vial": "Флакон", + "item.tfg.vial.filled": "Флакон (%s)", + "item.tfg.lab_equipment": "Лабораторное оборудование", + "item.tfg.dirty_lab_equipment": "Грязное лабораторное оборудование", + "item.tfg.wireless_card": "Interplanetary Wireless Card", + "item.tfg.wet_magenta_chalk": "Wet Magenta Chalk", + "item.tfg.wet_pink_chalk": "Wet Pink Chalk", + "item.tfg.wet_green_chalk": "Wet Green Chalk", + "item.tfg.wet_lime_chalk": "Wet Lime Chalk", + "item.tfg.wet_light_gray_chalk": "Wet Light Gray Chalk", + "item.tfg.wet_yellow_chalk": "Wet Yellow Chalk", + "item.tfg.wet_black_chalk": "Wet Black Chalk", + "item.tfg.wet_light_blue_chalk": "Wet Light Blue Chalk", + "item.tfg.wet_brown_chalk": "Wet Brown Chalk", + "item.tfg.wet_cyan_chalk": "Wet Cyan Chalk", + "item.tfg.wet_orange_chalk": "Wet Orange Chalk", + "item.tfg.wet_red_chalk": "Wet Red Chalk", + "item.tfg.wet_gray_chalk": "Wet Gray Chalk", + "item.tfg.wet_white_chalk": "Wet White Chalk", + "item.tfg.wet_blue_chalk": "Wet Blue Chalk", + "item.tfg.wet_purple_chalk": "Wet Purple Chalk", + "item.tfg.lamp_casting_mold": "Lamp Casting Mold", + "item.tfg.trapdoor_casting_mold": "Trapdoor Casting Mold", + "item.tfg.chain_casting_mold": "Chain Casting Mold", + "item.tfg.bell_casting_mold": "Bell Casting Mold", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканический латекс", "material.tfg.fluix": "Флакс", @@ -649,9 +1034,14 @@ "material.tfg.venus_stone": "Трахит", "material.tfg.mercury_stone": "Коматиит", "material.tfg.glacio_stone": "Фонолит", - "material.gtceu.thermochemically_treated_hardwood": "Термохимически обработанная твердая древесина", - "material.gtceu.hardwood": "Твердая древесина", + "material.gtceu.thermochemically_treated_hardwood": "Термохимически обработанная твёрдая древесина", + "material.gtceu.hardwood": "Твёрдая древесина", "material.gtceu.asurine": "Азурин", + "material.gtceu.ochrum": "Ochrum", + "material.gtceu.veridium": "Veridium", + "material.gtceu.crimsite": "Crimsite", + "material.gtceu.scoria": "Scoria", + "material.gtceu.scorchia": "Scorchia", "material.tfg.kaolinite": "Каолинит", "material.tfg.vitrified_pearl": "Vitrified Ender", "material.tfg.aes_mix": "Alkaline Earth Silicate Mixture", @@ -683,253 +1073,31 @@ "material.tfg.tmos": "Tetramethoxysilane", "material.tfg.silica_gel": "Silica Gel", "material.tfg.soaked_silica_gel": "Acetone Soaked Silica Gel", + "material.tfg.heavy_water": "Heavy Water", + "material.tfg.semiheavy_water": "Semiheavy Water", "material.tfg.nuclear_residue": "Nuclear Residue", "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue", "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", + "material.tfg.mars_air": "Mars Air", + "material.tfg.liquid_mars_air": "Liquid Mars Air", "material.tfg.certus_regolith": "Certus Regolith", "material.tfg.goethe_regolith": "Goethe Regolith", "material.tfg.bright_regolith": "Bright Regolith", "material.tfg.cassiterite_regolith": "Cassiterite Regolith", "material.tfg.regolith_mush": "Regolith Mush", - "parts.lang.8": "other", - "tfg.creative_tab.tfg": "TerraFirmaGreg", - "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", - "tfg.tooltip.food_trait.refrigerating": "§bRefrigerating", - "tfg.tooltip.foodtrait.freeze_dried": "Cryodesiccated", - "tfg.tooltip.extraterrestrial_farming": "§4Temperature:§r An oxygenated environment provides 15°C", - "entity.tfg.moon_rabbit.male": "Лунный кролик (Самец)", - "entity.tfg.moon_rabbit.female": "Лунная крольчиха (Самка)", - "tfg.tooltip.moon_rabbit_variant.pink": "Розовая шкурка", - "tfg.tooltip.moon_rabbit_variant.white": "Белая шкурка", - "tfg.tooltip.moon_rabbit_variant.grey": "Каменистая шкурка", - "tfg.tooltip.moon_rabbit_variant.cyan": "Шкурка цвета морской пены", - "tfg.tooltip.moon_rabbit_variant.purple": "Лавандовая шкурка", - "tfg.tooltip.moon_rabbit_variant.sofu": "Пломбирная шкурка", - "entity.tfg.glacian_ram.male": "Glacian Ram", - "entity.tfg.glacian_ram.female": "Glacian Ewe", - "tfg.tooltip.attribution.glacian_ram": "§9§oЗаслуга: Ad Astra", - "entity.tfg.sniffer.male": "Sniffer", - "entity.tfg.sniffer.female": "Sniffer", - "tfg.tooltip.attribution.sniffer": "§9§oЗаслуга: Minecraft", - "entity.tfg.wraptor.male": "Wraptor", - "entity.tfg.wraptor.female": "Wraptor", - "tfg.tooltip.attribution.wraptor": "§9§oЗаслуга: Species", - "trim_material.tfc.almandine_tfc": "Альмадин", - "trim_material.tfc.andradite_tfc": "Андрадит", - "trim_material.tfc.blue_topaz_tfc": "Синий топаз", - "trim_material.tfc.cinnabar_tfc": "Киноварь", - "trim_material.tfc.coal_tfc": "Уголь", - "trim_material.tfc.diamond_tfc": "Алмаз", - "trim_material.tfc.emerald_tfc": "Изумруд", - "trim_material.tfc.green_sapphire_tfc": "Зеленый сапфир", - "trim_material.tfc.grossular_tfc": "Гроссуляр", - "trim_material.tfc.rutile_tfc": "Рутил", - "trim_material.tfc.lazurite_tfc": "Лазурит", - "trim_material.tfc.pyrope_tfc": "Пироп", - "trim_material.tfc.rock_salt_tfc": "Каменая соль", - "trim_material.tfc.ruby_tfc": "Рубин", - "trim_material.tfc.salt_tfc": "Соль", - "trim_material.tfc.sapphire_tfc": "Сапфир", - "trim_material.tfc.sodalite_tfc": "Содалит", - "trim_material.tfc.coke_tfc": "Кокс", - "trim_material.tfc.spessartine_tfc": "Спасерит", - "trim_material.tfc.topaz_tfc": "Топаз", - "trim_material.tfc.uvarovite_tfc": "Уваровит", - "trim_material.tfc.nether_quartz_tfc": "Незер-кварц", - "trim_material.tfc.certus_quartz_tfc": "Истенный кварц", - "trim_material.tfc.quartzite_tfc": "Кварцит", - "trim_material.tfc.realgar_tfc": "Реальгар", - "trim_material.tfc.malachite_tfc": "Малахит", - "trim_material.tfc.glass_tfc": "Стекло", - "trim_material.tfc.olivine_tfc": "Оливин", - "trim_material.tfc.opal_tfc": "Опал", - "trim_material.tfc.amethyst_tfc": "Аметист", - "trim_material.tfc.lapis_tfc": "Лазурит", - "trim_material.tfc.apatite_tfc": "Апатит", - "trim_material.tfc.red_garnet_tfc": "Красный гранат", - "trim_material.tfc.yellow_garnet_tfc": "Желтый гранат", - "trim_material.tfc.monazite_tfc": "Монацит", - "trim_material.tfc.rose_quartz_tfc": "Розовый кварц", - "trim_material.tfc.fluix_tfc": "Флюис", - "trim_material.tfc.silver_tfc": "Серебро", - "trim_material.tfc.sterling_silver_tfc": "Стирлинговое серебро", - "trim_material.tfc.gold_tfc": "Золото", - "trim_material.tfc.rose_gold_tfc": "Розовое золото", - "trim_material.tfc.nickel_tfc": "Никель", - "trim_material.tfc.platinum_tfc": "Платина", - "trim_material.tfc.titanium_tfc": "Титан", - "trim_material.tfc.bismuth_tfc": "Висмут", - "trim_material.tfc.neutronium_tfc": "Нейтроний", - "trim_material.tfc.pyrite_tfc": "Пирит", - "trim_material.tfc.redx_tfc": "RedX", - "tfg.emi.ore_veins.rock_types": "Found in rock types:", - "tfg.emi.ore_veins.rarity": "Rarity: %d", - "tfg.emi.ore_veins.density": "Density: %d", - "tfg.emi.ore_veins.y_ranges": "Depth: %d to %d", - "tfg.emi.ore_veins.size": "Size: %d", - "tfg.emi.ore_veins.height": "Height: %d", - "tfg.emi.ore_veins.radius": "Radius: %d", - "emi.category.tfg.ore_vein_info": "Рудные жилы", - "tfg.toast.ore_prospector_none": "No ores found in range.", - "tfg.toast.ore_prospector_message": "Ores found within %s §6blocks in this direction: %s", - "tfg.tooltip.ore_prospector_stats": "Scan Range: %s, Cross Section: %s x %s.", - "tfg.tooltip.ore_prospector_count": "This prospector will display ore counts.", - "tfg.tooltip.ore_prospector_xray": "This prospector will display an x-ray view of ore blocks.", - "tfg.tooltip.ore_prospector_mode_vein": "per-vein", - "tfg.tooltip.ore_prospector_mode_block": "per-block", - "tfg.hangglider.disabled_dimension": "Вы не можете использовать дельтаплан здесь!", - "tfg.tooltip.nametag": "§7Used on a Scribing Table along with an item to name it, or with black dye to name the tag.", - "tfg.tooltip.yeast_starter": "§7Created with dried fruit", - "tfg.tooltip.beehive": "§7Needs to be filled with empty frames and surrounded by flowers to attract bees.", - "tfg.tooltip.obsolete.tree_tap": "§4Obsolete§f: Replaced by the AFC TreeTap, you can craft it from this one by placing this in a crafting table!", - "tfg.tooltip.obsolete.fridge": "§4Obsolete§f: Replaced by the TFG Refrigerator, you can craft it from this one by placing this in a crafting table!", - "tfg.tooltip.blaze_burner": "§cSuperheat§r §7with Coke, Anthracite, or Flawless and Exquisite coal gems.", - "tfg.tooltip.machine.perfect_overclock": "This machine has §2Perfect Overclocking§r!", - "tfg.tooltip.machine.customize_interior": "§7The interior is customizable! Check the multiblock preview in JEI.", - "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Warmth: -1", - "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Insulation: +1", - "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Warmth: -2", - "tfg.tooltip.armor.netherite_diving_suit_insulation": "§7Insulation: +9", - "tfg.tooltip.armor.netherite_diving_suit_set": "§7Wear the full set to be §eHeatproof§7 from ambient temperatures.", - "tfg.tooltip.armor.nanomuscle_warmth": "§7Warmth: 0", - "tfg.tooltip.armor.nanomuscle_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.nanomuscle_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", - "tfg.tooltip.armor.quarktech_warmth": "§7Warmth: 0", - "tfg.tooltip.armor.quarktech_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.quarktech_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", - "tfg.tooltip.armor.space_suit_warmth": "§7Warmth: 0", - "tfg.tooltip.armor.space_suit_insulation": "§7Insulation: +10", - "tfg.tooltip.armor.space_suit_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", - "tfg.tooltip.support.tier1": "§79 x 5 x 9", - "tfg.tooltip.support.tier2": "§717 x 9 x 17", - "tfg.tooltip.support.tier3": "§733 x 13 x 33", - "tfg.tooltip.vessels": "§cMax: 3024mB", - "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.solar_panel.large_tier3": "Massive structure producing from §616384 to 65536 EU/t§r on the §6moon§r during the §6day§r", - "tfg.tooltip.petrified_egg": "§7Requires Magma to Incubate", - "tfg.tooltip.large_egg": "§7Can only be incubated in a §oLarge Nest", - "tfg.tooltip.sniffer_wool": "§7Harvested from the back of a Sniffer", - "tfg.tooltip.wraptor_wool": "§7Harvested from the feathers of a Wraptor", - "tfg.tooltip.wraptor_sugar": "§7Don't think about it too much", - "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", - "parts.lang.9": "recipe", - "tfc.jei.flint_knapping": "Высекание кремня", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.white": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.pink": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.magenta": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.purple": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.blue": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_blue": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.cyan": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.green": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.lime": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.yellow": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.orange": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.red": "Окрашивание", - "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.brown": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block_on": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block": "Окрашивание", - "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block": "Окрашивание", - "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.soak_hardwood_strip": "Пропитка Деревянных Полосок", - "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.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", - "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.grapplemod.repair": "Рецепт починки, сохраняет ваши улучшения. §НИКОГДА не объединяйте две крюк-кошки или вы потеряете ВСЕ ваши улучшения!§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.", + "material.tfg.apt": "Ammonium Paratungstate", + "material.tfg.ammonium_tungstate": "Ammonium Tungstate", + "material.tfg.tungsten_bismuth_oxide_composite": "Tungsten-Bismuth Oxide Composite", + "material.tfg.tungsten_oxide": "Tungsten Oxide", + "material.tfg.sodium_tungstate": "Sodium Tungstate", + "material.tfg.tetrafluoroethane": "Tetrafluoroethane", + "material.tfg.thermally_conductive_fluid": "Thermally Conductive Fluid", + "material.tfg.crimsene": "Багреллий", + "material.tfg.warpane": "Искажеллий", + "material.tfg.mycelienzene": "Мицезоллий", + "material.tfg.cooked_mycelienzane": "1,3-Мицезоллий", + "material.tfg.iodomethane": "Иодметан", + "material.tfg.trideuteroiodomethane": "Иодметан-d3", "ore_vein.tfg.deep_sheldonite": "Шелдонит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", @@ -1067,5 +1235,3192 @@ "ore_vein.tfg.nether_sulfur": "Сера и Пирит", "ore_vein.tfg.nether_sylvite": "Сильвин", "ore_vein.tfg.nether_tetrahedrite": "Тетраэдрит", - "ore_vein.tfg.nether_topaz": "Топаз и Халькозин" + "ore_vein.tfg.nether_topaz": "Топаз и Халькозин", + "tfg.creative_tab.tfg": "TerraFirmaGreg", + "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", + "tfg.tooltip.food_trait.refrigerating": "§bRefrigerating", + "tfg.tooltip.foodtrait.freeze_dried": "Лиофилизация", + "tfg.tooltip.extraterrestrial_farming": "§4Temperature:§r An oxygenated environment provides 15°C", + "entity.tfg.moon_rabbit.male": "Лунный кролик (Самец)", + "entity.tfg.moon_rabbit.female": "Лунная крольчиха (Самка)", + "tfg.tooltip.moon_rabbit_variant.pink": "Розовая шкурка", + "tfg.tooltip.moon_rabbit_variant.white": "Белая шкурка", + "tfg.tooltip.moon_rabbit_variant.grey": "Каменистая шкурка", + "tfg.tooltip.moon_rabbit_variant.cyan": "Шкурка цвета морской пены", + "tfg.tooltip.moon_rabbit_variant.purple": "Лавандовая шкурка", + "tfg.tooltip.moon_rabbit_variant.sofu": "Пломбирная шкурка", + "entity.tfg.glacian_ram.male": "Гласианский баран", + "entity.tfg.glacian_ram.female": "Гласианская овца", + "tfg.tooltip.attribution.glacian_ram": "§9§oАвтор: Ad Astra", + "entity.tfg.sniffer.male": "Нюхач (Самец)", + "entity.tfg.sniffer.female": "Нюхач (Самка)", + "tfg.tooltip.attribution.sniffer": "§9§oАвтор: Minecraft", + "entity.tfg.wraptor.male": "Ираптор (Самец)", + "entity.tfg.wraptor.female": "Ираптор (Самка)", + "tfg.tooltip.attribution.wraptor": "§9§oАвтор: Species", + "entity.tfg.surfer": "Surfer", + "tfg.tooltip.surfer_variant.base": "Teal Hide", + "tfg.tooltip.surfer_variant.bubble": "Blossom Berry Hide", + "tfg.tooltip.surfer_variant.horn": "Golden Hide", + "tfg.tooltip.surfer_variant.tube": "Nox Berry Hide", + "tfg.tooltip.surfer_variant.fire": "Sangnum Hide", + "tfg.tooltip.surfer_variant.brain": "Glacian Hide", + "tfg.tooltip.attribution.surfer": "§9§oCredit: Wan's Ancient Beasts", + "effect.tfg.cooling": "§bCooling", + "effect.tfg.warming": "§6Warming", + "tfg.greate.uls_limit": "§432§r (§8ULS§r)", + "tfg.greate.ls_limit": "§f128§r (§7LS§r)", + "tfg.greate.windmill_hint_1": "Windmills are affected by relative", + "tfg.greate.windmill_hint_2": "elevation and the amount of empty", + "tfg.greate.windmill_hint_3": "space around them.", + "trim_material.tfc.almandine_tfc": "Альмадин", + "trim_material.tfc.andradite_tfc": "Андрадит", + "trim_material.tfc.blue_topaz_tfc": "Синий топаз", + "trim_material.tfc.cinnabar_tfc": "Киноварь", + "trim_material.tfc.coal_tfc": "Уголь", + "trim_material.tfc.diamond_tfc": "Алмаз", + "trim_material.tfc.emerald_tfc": "Изумруд", + "trim_material.tfc.green_sapphire_tfc": "Зеленый сапфир", + "trim_material.tfc.grossular_tfc": "Гроссуляр", + "trim_material.tfc.rutile_tfc": "Рутил", + "trim_material.tfc.lazurite_tfc": "Лазурит", + "trim_material.tfc.pyrope_tfc": "Пироп", + "trim_material.tfc.rock_salt_tfc": "Каменая соль", + "trim_material.tfc.ruby_tfc": "Рубин", + "trim_material.tfc.salt_tfc": "Соль", + "trim_material.tfc.sapphire_tfc": "Сапфир", + "trim_material.tfc.sodalite_tfc": "Содалит", + "trim_material.tfc.coke_tfc": "Кокс", + "trim_material.tfc.spessartine_tfc": "Спасерит", + "trim_material.tfc.topaz_tfc": "Топаз", + "trim_material.tfc.uvarovite_tfc": "Уваровит", + "trim_material.tfc.nether_quartz_tfc": "Незер-кварц", + "trim_material.tfc.certus_quartz_tfc": "Истенный кварц", + "trim_material.tfc.quartzite_tfc": "Кварцит", + "trim_material.tfc.realgar_tfc": "Реальгар", + "trim_material.tfc.malachite_tfc": "Малахит", + "trim_material.tfc.glass_tfc": "Стекло", + "trim_material.tfc.olivine_tfc": "Оливин", + "trim_material.tfc.opal_tfc": "Опал", + "trim_material.tfc.amethyst_tfc": "Аметист", + "trim_material.tfc.lapis_tfc": "Лазурит", + "trim_material.tfc.apatite_tfc": "Апатит", + "trim_material.tfc.red_garnet_tfc": "Красный гранат", + "trim_material.tfc.yellow_garnet_tfc": "Желтый гранат", + "trim_material.tfc.monazite_tfc": "Монацит", + "trim_material.tfc.rose_quartz_tfc": "Розовый кварц", + "trim_material.tfc.fluix_tfc": "Флюис", + "trim_material.tfc.silver_tfc": "Серебро", + "trim_material.tfc.sterling_silver_tfc": "Стирлинговое серебро", + "trim_material.tfc.gold_tfc": "Золото", + "trim_material.tfc.rose_gold_tfc": "Розовое золото", + "trim_material.tfc.nickel_tfc": "Никель", + "trim_material.tfc.platinum_tfc": "Платина", + "trim_material.tfc.titanium_tfc": "Титан", + "trim_material.tfc.bismuth_tfc": "Висмут", + "trim_material.tfc.neutronium_tfc": "Нейтроний", + "trim_material.tfc.pyrite_tfc": "Пирит", + "trim_material.tfc.redx_tfc": "RedX", + "tfg.emi.ore_veins.rock_types": "Found in rock types:", + "tfg.emi.ore_veins.rarity": "Rarity: %d", + "tfg.emi.ore_veins.density": "Density: %d", + "tfg.emi.ore_veins.y_ranges": "Depth: %d to %d", + "tfg.emi.ore_veins.size": "Size: %d", + "tfg.emi.ore_veins.height": "Height: %d", + "tfg.emi.ore_veins.radius": "Radius: %d", + "emi.category.tfg.ore_vein_info": "Рудные жилы", + "tfg.emi.liquid_bb_burn_time": "Duration: %d secs", + "tfg.emi.liquid_bb_superheat": "§lSuperheated", + "emi.category.tfg.blaze_burner": "Blaze Burner Fuels", + "emi.category.tfg.block_interaction": "Block Modifications", + "emi.category.deafission.fission_reactor_coolant": "Fission Reactor Cooling", + "emi.category.deafission.fission_reactor_processing": "Fission Reactor Material Holder", + "emi.category.deafission.fission_reactor_fuel": "Fission Reactor Fuel", + "tfg.toast.ore_prospector_none": "No ores found in range.", + "tfg.toast.ore_prospector_message": "Ores found within %s §6blocks in this direction: %s", + "tfg.tooltip.ore_prospector_stats": "Scan Range: %s, Cross Section: %s x %s.", + "tfg.tooltip.ore_prospector_count": "This prospector will display ore counts.", + "tfg.tooltip.ore_prospector_xray": "This prospector will display an x-ray view of ore blocks.", + "tfg.tooltip.ore_prospector_mode_vein": "per-vein", + "tfg.tooltip.ore_prospector_mode_block": "per-block", + "tfg.hangglider.disabled_dimension": "Вы не можете использовать дельтаплан здесь!", + "tfg.tooltip.nametag": "§7Used on a Scribing Table along with an item to name it, or with black dye to name the tag.", + "tfg.tooltip.yeast_starter": "§7Created with dried fruit", + "tfg.tooltip.beehive": "§7Needs to be filled with empty frames and surrounded by flowers to attract bees.", + "tfg.tooltip.obsolete.tree_tap": "§4Obsolete§f: Replaced by the AFC TreeTap, you can craft it from this one by placing this in a crafting table!", + "tfg.tooltip.obsolete.fridge": "§4Obsolete§f: Replaced by the TFG Refrigerator, you can craft it from this one by placing this in a crafting table!", + "tfg.tooltip.blaze_burner": "§cSuperheat§r §7with Coke, Anthracite, or Flawless and Exquisite coal gems.", + "tfg.tooltip.machine.perfect_overclock": "This machine has §2Perfect Overclocking§r!", + "tfg.tooltip.machine.parallel": "Can parallelize with Parallel Control Hatches.", + "tfg.tooltip.machine.customize_interior": "§7The interior is customizable! Check the multiblock preview in JEI.", + "tfg.tooltip.armor.copper_diving_suit_warmth": "§7Warmth: -1", + "tfg.tooltip.armor.copper_diving_suit_insulation": "§7Insulation: +1", + "tfg.tooltip.armor.netherite_diving_suit_warmth": "§7Warmth: -2", + "tfg.tooltip.armor.netherite_diving_suit_insulation": "§7Insulation: +9", + "tfg.tooltip.armor.netherite_diving_suit_set": "§7Wear the full set to be §eHeatproof§7 from ambient temperatures.", + "tfg.tooltip.armor.nanomuscle_warmth": "§7Warmth: 0", + "tfg.tooltip.armor.nanomuscle_insulation": "§7Insulation: +10", + "tfg.tooltip.armor.nanomuscle_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", + "tfg.tooltip.armor.nanomuscle_legs_buff": "§7Provides §9Speed I§7 when worn", + "tfg.tooltip.armor.quarktech_warmth": "§7Warmth: 0", + "tfg.tooltip.armor.quarktech_insulation": "§7Insulation: +10", + "tfg.tooltip.armor.quarktech_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", + "tfg.tooltip.armor.space_suit_warmth": "§7Warmth: 0", + "tfg.tooltip.armor.space_suit_insulation": "§7Insulation: +10", + "tfg.tooltip.armor.space_suit_set": "§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.", + "tfg.tooltip.support.tier1": "§79 x 5 x 9", + "tfg.tooltip.support.tier2": "§717 x 9 x 17", + "tfg.tooltip.support.tier3": "§733 x 13 x 33", + "tfg.tooltip.vessels": "§cMax: 3024mB", + "tfg.tooltip.solar_panel.single": "Produces §6128 FE/t§r (32 EU/t) on the §6moon§r during the §6day§r", + "tfg.tooltip.solar_panel.large_tier1": "Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r", + "tfg.tooltip.solar_panel.large_tier2": "Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r", + "tfg.tooltip.solar_panel.large_tier3": "Massive structure producing from §616384 to 65536 EU/t§r on the §6moon§r during the §6day§r", + "tfg.tooltip.petrified_egg": "§7Requires Magma to Incubate", + "tfg.tooltip.large_egg": "§7Can only be incubated in a §oLarge Nest", + "tfg.tooltip.sniffer_wool": "§7Harvested from the back of a Sniffer", + "tfg.tooltip.wraptor_wool": "§7Harvested from the feathers of a Wraptor", + "tfg.tooltip.wraptor_sugar": "§7Don't think about it too much", + "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", + "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", + "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", + "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", + "tfg.tooltip.dna_syringe.empty": "An empty syringe.", + "tfg.tooltip.dna_syringe.dirty1": "A used syringe.", + "tfg.tooltip.dna_syringe.dirty2": "Be careful not to poke anyone with this...", + "tfg.tooltip.dna_syringe.full": "DNA sample: ", + "tfg.tooltip.dna_syringe.explain": "Right-click on a mob to obtain a DNA sample. Place in a crafting grid to clear contents.", + "tfg.tooltip.shift_hint": "[Hold-Shift]", + "tfg.tooltip.lab_equipment.part": "§7Precisely Holds: ", + "tfg.tooltip.lab_equipment.set": "\"§7Does not contain a 5000mB round bottom flask.\"", + "tfg.tooltip.lab_equipment.set_dirty": "\"§7Soon you might discover penicillin if you dont clean this.\"", + "tfg.tooltip.single_itemstack_bus.0": "§6Item Slots: §f1", + "tfg.tooltip.single_itemstack_bus.1": "§6Stack Size: §f1", + "tfg.tooltip.growth_chamber": "This machine can run more recipes at once by increasing the number of layers.", + "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 4096 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.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", + "tfc.jei.flint_knapping": "Обработка кремния", + "tfc.jei.straw_knapping": "Обработка соломы", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_gray": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.white": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.pink": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.magenta": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.purple": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.light_blue": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.cyan": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.green": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.lime": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.yellow": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.orange": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.red": "Окрашивание", + "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.brown": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block_on": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_black_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_gray_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_gray_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_white_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_pink_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_magenta_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_purple_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_blue_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_light_blue_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_cyan_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_green_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_lime_block": "Окрашивание", + "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_yellow_block": "Окрашивание", + "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.soak_hardwood_strip": "Пропитка деревянных полосок", + "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.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", + "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.grapplemod.repair": "Рецепт починки, сохраняет ваши улучшения. §НИКОГДА не объединяйте две крюк-кошки или вы потеряете ВСЕ ваши улучшения!§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.", + "quests.ae2": "Applied Energistics 2", + "quests.ae2.subtitle": "Самый мощный инструмент, который поможет вам с GregTech, открывается после вашего первого полёта на Луну", + "quests.ae2.certus_quartz.title": "Certus Quartz", + "quests.ae2.certus_quartz.subtitle": "One small step for you, one giant leap for logistics", + "quests.ae2.certus_quartz.desc": "With your first step on the Moon comes access to your first &bCertus Quartz&r vein.\nDon't worry, they're quite common and should be easy to locate, though having a decent Ore Prospector wouldn't hurt.\n\nWhether you decide to set up a miner or manually dig out a full vein, make sure to gather a hefty amount, as you'll need it to progress through AE2.", + "quests.ae2.certus_quartz.task": "Certus Quartz Ore", + "quests.ae2.polarizer.title": "Polarizer", + "quests.ae2.polarizer.subtitle": "Redstone isn't enough", + "quests.ae2.polarizer.desc": "One of your main resources for Applied Energistics 2 will be &bCharged Certus Quartz&r.\n\nTo obtain it, there’s really only one method: the &6HV&r Polarizer.\n\nYou’ll quickly notice how long this recipe takes, so it’s strongly recommended to dedicate a Polarizer exclusively to this task.\n\nIt may seem expensive or daunting at first, but don't worry—it’s absolutely worth it.\n\nAlso, remember not to charge all your Certus Quartz!\nYou’ll need some uncharged ones for items like the Annihilation Core, so always keep a small reserve on hand.", + "quests.ae2.hv_machines.title": "The Three Musketeers", + "quests.ae2.hv_machines.subtitle": "Or is it four?", + "quests.ae2.hv_machines.desc": "The &eSifter&r is used for ore processing to increase your yield of Certus Quartz, Quartzite, Nether Quartz, Ruby, and Armalcolite—all of which are essential for AE2. Alternatively, you can smelt the ores directly in a Furnace if you're in a rush, but you'll lose out on a lot of free resources by doing that.\n\nThe second machine, the &eMixer&r, is your only method to create &dFluix Crystals&r (more about that in the next quest). Don’t forget that you can also use the Greate Mixer as a &6HS&r-tier machine.\n\nThirdly, a &eLaser Engraver&r can combine lesser quality gems together into Exquisite, which will give you better Fluix yields.\n\nLastly, keep in mind that an &eAutoclave&r can help you generate even more gems from dusts. Once you have the resources, crafting one will make your life significantly easier.", + "quests.ae2.hv_machines.task": "Greate or GregTech?", + "quests.ae2.fluix_crystal.subtitle": "Energetic Crystal", + "quests.ae2.fluix_crystal.desc": "As you can see, there are multiple ways to create Fluix Crystals using a Mixer.\n\nThe higher the purity of your input gems, the better the yield — that’s exactly why we recommended crafting a &eSifter&r earlier.\n\nYou’ll need a massive amount of Fluix Crystals, especially since the &5liquid version&r is used in most Applied Energistics 2 recipes.\n\nSo prepare yourself—you’re going to need a lot!", + "quests.ae2.extractor.title": "Fluid Extractor", + "quests.ae2.extractor.subtitle": "The precious fluix", + "quests.ae2.extractor.desc": "Most of your Fluix Crystals will be converted into &5Liquid Fluix&r.\nHowever, make sure to keep a few in their crystal form for the occasional recipe that specifically requires it.\n\nAny &eExtractor&r will do the job here — no need for anything fancy.", + "quests.ae2.extractor.task": "Any Extractor", + "quests.ae2.fluix_liquid.title": "Liquid Fluix", + "quests.ae2.fluix_liquid.subtitle": "The Moon is so cheap", + "quests.ae2.fluix_liquid.desc": "We told you you'd need a vast quantity of Liquid Fluix… but we didn’t mention there’s a way to drastically increase your yield per Fluix Crystal.\n\nIntroducing: &bCryogenized Fluix&r, an ultra-cold fluid only craftable on the Moon using a &bVacuum Freezer&r. Simply combine Liquid Fluix with Helium-3!\n\nThis special fluid can be used as a substitute in nearly all recipes that require Liquid Fluix—but only when you're crafting on the Moon.\n\nMoon-based AE2 recipes come with huge benefits: reduced energy costs, less components needed, or sometimes both! Investing in a proper Moon base for AE2 production will pay off massively, especially in early game.\n\nIt’s not strictly mandatory — yet. But setting up a second base now will ease your future progression, as planet-based infrastructure becomes essential later on. So… why not get ahead of the curve?", + "quests.ae2.ae_processor.title": "Processors", + "quests.ae2.ae_processor.subtitle": "AE2 Components", + "quests.ae2.ae_processor.desc": "All three &eProcessors&r will be used extensively across Applied Energistics 2 recipes.\n\nThis also gives you a great opportunity to see how effective the &3Moon&r recipes can be for crafting them.\n\nBut in the end, the choice is yours — build your infrastructure where it suits you best.", + "quests.ae2.forming_press.title": "Forming Press", + "quests.ae2.forming_press.subtitle": "Small is good too", + "quests.ae2.forming_press.desc": "To get the printed circuits, you'll need to craft the &6HV&r Forming Press.\n\nThe good news? It has multiple input slots, meaning you can insert all your circuit presses at once, so a single Forming Press is enough to handle every printed circuit type.", + "quests.ae2.ae_press.title": "Inscriber Press", + "quests.ae2.ae_press.subtitle": "Treasure hunt", + "quests.ae2.ae_press.desc": "One of the last things you’ll need before diving fully into Applied Energistics 2 is collecting the 4 &ePresses&r.\n\nTo obtain them, you must locate an &eAE2 Meteorite&r on the &3Moon&r — they will look like dark spheres at the bottom of large craters. Luckily, they aren't particularly rare, and a single meteorite will contain all four Presses.\n\n&cBe careful though&r — these meteorites are often guarded, so gear up, bring an ore prospector if you have one, and happy hunting!", + "quests.ae2.ae_guide.title": "Welcome to AE2", + "quests.ae2.ae_guide.subtitle": "Another free book for your collection!", + "quests.ae2.ae_guide.desc": "Here you are, ready to begin your &bAE2&r infrastructure!\n\nThis chapter will mainly guide you through what you can and cannot craft yet.\nWe’ll also highlight the most important items you should focus on.\n\nHowever, to fully understand Applied Energistics 2, we strongly recommend using the &bG&r keybind (similar to Create's Ponder system) or open the &bME Guide&r we provide as a reward from this quest. It’s the best in-game tutorial for AE2.\nAlternatively, watch some online videos about AE2 on &61.20.1&r for more detailed explanations — AE2 is a very popular mod, so there's a ton of tutorials out there!\n\n&dPro tip&r: Many &bAE2&r recipes have alternative Moon recipes that are much cheaper. Once again, investing in your Moon base will greatly reward you throughout the entire game.", + "quests.ae2.hv.title": "HV Tier AE2", + "quests.ae2.hv.desc": "This entire branch is fully unlockable in &6HV&r!", + "quests.ae2.ae_controller.subtitle": "The beating heart of your ME network", + "quests.ae2.ae_controller.desc": "To get started, you’ll need to power your &bME Network&r. These are the two &bAE2&r blocks that can directly accept &bEU&r energy.\n\nWe strongly recommend crafting a &bME Controller&r, as &bchannels&r are enabled in TerraFirmaGreg, and the &bME Controller&r is the best way to manage multiple channels efficiently.\n\nThis is also a great time to use the in-game guide (press &aU&r on a &bME Controller&r) or watch some videos about &bAE2&r on version 1.20.1 to learn more!", + "quests.ae2.drive.subtitle": "The brains of the network", + "quests.ae2.drive.desc": "You will need to store your disks, and thanks to the &bMEGA&r addon, you now have an extra option.\n\nYou should start with a &bME Drive&r. It can store up to &e10&r disks and consumes &e4 EU/t&r. This will be your main storage solution.\n\nThe other option is the &bME Cell Dock&r. It only stores &e1&r disk but consumes just &e1 EU/t&r, and it can be placed directly on a cable like a cover. This makes it quite useful for &aSubnets&r.", + "quests.ae2.cell_housing.desc": "The &bME Cell Housing&r exists in two versions: one for &aItems&r and one for &9Fluids&r.\n\nYou can take their Storage Component out using a &ePacker&r or simply by Sneak + Right-click while holding the storage cell in your hand.", + "quests.ae2.cables.subtitle": "The arteries of the network", + "quests.ae2.cables.desc": "Your basic cables to connect your &bAE2&r infrastructure.\n\nRemember that regular cables carry only &e8 Channels&r, while &6Dense Cables&r can carry up to &a32 Channels&r.\n\nGood news: in &2TFG&r, you can directly craft the &9Smart Cables&r! They are very helpful as they show a &evisual indicator&r for the number of used channels.", + "quests.ae2.terminals.subtitle": "The... fingers? of the network?", + "quests.ae2.terminals.desc": "These terminals are mandatory to access your ME Network and to set up your auto-crafting system.", + "quests.ae2.molecular_assembler.desc": "The &9Molecular Assembler&r is basically your auto-crafting table.\n\nYou can use it for passive crafting, or combine it with a &9Pattern Provider&r.\n\nAs always, check the in-game guide using &eG&r to learn more about it.", + "quests.ae2.crafting_unit.subtitle": "The second? brains of the network", + "quests.ae2.crafting_unit.desc": "The &dCrafting Unit&r works the same way as your &bME Cell Housing&r.\n\nUse a &6Packer&r to make it functional — by itself, it serves no purpose, though you can use it to complete multi-blocks.\n\nIt’s your mandatory structure to run your &bAE2&r auto-crafting.\n\nAs usual, use the in-game guide from &bAE2&r to learn more about the &dCrafting CPU&r.", + "quests.ae2.crafting_storage.desc": "These are mandatory for any sort of auto crafting — the bigger the storage, the bigger the recipe chain that can be done with one request. You can also place multiple of them next to each other to add their storage size.\n\nUse the in-game guide for further details — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", + "quests.ae2.crafting_storage.task": "Any crafting storage", + "quests.ae2.pattern_provider.subtitle": "These tell your machines how to craft things", + "quests.ae2.pattern_provider.desc": "The &9Pattern Provider&r is a modern &bAE2&r block. If you're only familiar with AE2 in previous versions of Minecraft, this is the block that you put your patterns into now instead of an Interface.\n\nIt can push items into the connected inventory on a crafting request, and pushing items back into it will send them back to your ME storage.\n\nIf you connect these to your GregTech machines, make sure you select the \"Allow Input From Output Face\" option on them so you can both input and output from the same side!\n\nAs always, check the in-game guide using &eG&r to learn more about it.", + "quests.ae2.pattern_provider.task": "Either Pattern Provider", + "quests.ae2.pattern.subtitle": "Crafting instructions", + "quests.ae2.pattern.desc": "Each of these tells your ME system how to craft a specific item. You'll need one for every single recipe, so it's worth aiming for the most efficient way to craft a ton of these.\n\nTo clear a Pattern, simply Sneak + Right-click them.\n\nUse the in-game guide for full details on how to use them, just remember to set the pattern type to \"Processing\" for any recipes that'll go in GregTech machines.", + "quests.ae2.interface.subtitle": "I'm giving up on the body part analogy", + "quests.ae2.interface.desc": "The &dME Interface&r is one of your bread and butter tools to get items or fluids out of, or inside, your network.\n\nIf you've only used AE2 in older Minecraft versions, these now only make network contents passively available for other things to pull out of, and don't actively push anything or hold patterns. You'll want the Pattern Provider for that.\n\nThe ME Interface can do way too many things to list here, so check the in-game guide using &eG&r to learn more about it.", + "quests.ae2.interface_automation.title": "Interface Automation", + "quests.ae2.interface_automation.desc": "The best way to passively route items and fluids around your base is through the &bME Interface&r. Since Interfaces don't push out their contents, you'll need to slap a cover on your machine or pipe.\n\nRemember to enable the &eAllow Input&r option on the Output face in your GregTech machine's GUI, in order to push and pull from the same side.\n\nUsing filters on your covers can also be a handy way for multiple machines to pull out of the same Interface.\n\nTo avoid overfilling a machine's item input slots, you'll need to use a Robot Arm cover on &eKeep Exact&r mode with a filter.\n\nThe fluid input doesn’t have this issue, as it will fill only one slot automatically.", + "quests.ae2.crafting_accelerator.desc": "Simply use the in-game guide — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", + "quests.ae2.export_bus.desc": "The &dME Export Bus&r is a strong tool to get items or fluids out of your &dME Network&r.\nOnce you're able to craft them, you should especially look at the &eExtendedAE&r ones, as they can be of great help for some automation.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", + "quests.ae2.export_bus.task": "Any Export Bus", + "quests.ae2.import_bus.desc": "The &dME Import Bus&r is one way to get items and fluids into your &dME Network&r. You could also just push items and fluids into an Interface or Pattern Provider for the same result, though, so Import Buses are more niche.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", + "quests.ae2.storage_bus.desc": "The &bME Storage Bus&r is how you tell your ME network about items and fluids stored somewhere outside of ME Drives. They can be very powerful in combination with Super Tanks and Super Chests — just be sure to give the Storage Bus a higher &ePriority&r than your Drive, and partition it to the item or fluid you want to store, so your network tries to put things there first.\n\nStorage Buses are also essential for setting up Subnets — check out the in-game guide for more details on how those work.\n\nAlso, &aExtended AE&r comes with a lot of Storage Bus variants that may come in handy later. For example, you could tell your network to \"store\" all of your &6hot ingots&r in your Vacuum Freezer.", + "quests.ae2.storage_bus.task": "Any Storage Bus variant", + "quests.ae2.cell_component_1k.desc": "The &bStorage Component&r will be a core part of your progression through &aAE2&r, and they can be quite expensive, even though you will need them to make your &bStorage Cells&r.\n\nThe &e1k ME Storage Component&r is simple enough to not have a specialized moon recipe, but all of the others do, and since the Storage Components get exponentially more expensive... have we convinced you to make a Moon base yet?", + "quests.ae2.cell_component_4k.desc": "Take a look at how the &e4k Storage Component&r has a tremendously cheaper recipe on the &dMoon&r. This will be a consistent trend — the Moon recipes will always use one circuit tier lower than the non-Moon ones.", + "quests.ae2.cell_component_16k.desc": "The &e16k Storage Component&r is starting to get exponentially more expensive, so now you can really start seeing the savings from having a Moon base.\n\nYou do have a Moon base, right?", + "quests.ae2.p2p.title": "P2P Tunneling", + "quests.ae2.p2p.desc": "Channels are enabled here by default, so you may want to learn about &dP2P&r. They're essentially a way to condense multiple channels down into a single channel, letting you carry hundreds of them across your base through a single cable.\n\nAs usual, we advise you to use the in-game guide for more detailed information, and there's also plenty of video tutorials out there that you may find useful.\n\nWe also recommend making the &bAdvanced Memory Card&r from &dBetter P2P&r as soon as possible. It will be a big help when you've got many different P2P tunnels to deal with. You can even place a load of &dME P2P Inputs&r on your ME Controller ahead of time, and connect them to an output whenever you need.", + "quests.ae2.p2p.task": "Any P2P Tunnel", + "quests.ae2.cell_workbench.desc": "The &bCell Workbench&r is used to customize your storage cells.\n\nYou can give them &aWhitelist&r/&cBlacklist&r filters or partitions, or add upgrades like the &4Overflow Destruction Card&r — but be cautious with this one!\n\nThe &bIO Port&r is used to \"defragment\" your drives, if you've got the same items scattered across several of them.", + "quests.ae2.requester.desc.1": "The &aME Requester&r may be one of your &6strongest tools&r if you want to build your automation around &eauto-crafting&r and not passive production.\n\nIt can send Crafting Request batches of an item when your network has fewer than a specified amount.\n\nIf you are using a lot of &dCrafting Upgrades&r, you'd be better off using this machine as it will have much less of an impact on your &cTPS&r.", + "quests.ae2.requester.desc.2": "Also note that you can set your Crafting CPUs to be dedicated to Player-started crafting, automatic crafting requests, or neither, which can be useful to stop your Requesters from hogging all your CPUs.\n\nIf you like, you can also make a specialized &bTerminal&r to have access to all your Requesters from one place.", + "quests.ae2.emitters.desc": "&bEmitters&r and the &bToggle Bus&r are your way to manage &cRedstone&r signals in &bAE2&r.\n\nThe Level Emitter is especially useful for setting up passive production when combined with the GregTech Machine Controller Cover!\n\nCheck the in-game guide for more detailed information.", + "quests.ae2.batteries.desc": "These are the batteries for your ME Network. You may not need them at the beginning, but just keep them in mind — your energy cost could rise quickly, and a blackout in your ME Network can be a really dangerous situation.", + "quests.ae2.cutting_knife.title": "Cutting Knives", + "quests.ae2.cutting_knife.desc": "These are tools for easily renaming all of your ME components. Why would you want to do this? If you rename your Pattern Providers, their names will show up in the Pattern Terminal, which can be very handy for keeping track of which Pattern Provider is connected to which machine.\n\nFor example &oSmall Gear Extruder&r as a name for the Pattern Provider would let you easily know that this Extruder contains a Small Gear mold, so you should only put Small Gear patterns in it.", + "quests.ae2.cutting_knife.task": "Either cutting knife", + "quests.ae2.pattern_box.desc": "The Pattern Box can carry around all your Blank and Encoded Patterns in one inventory slot, and they will be visible in any AE2 device UI as long as the box is somewhere in your inventory.", + "quests.ae2.wireless_access.title": "ME Wireless Network", + "quests.ae2.wireless_access.subtitle": "Get Free WiFi Anywhere You Go", + "quests.ae2.wireless_access.desc": "Once you've made it to &5EV&r, you'll gain access to the ME Wireless Access Point, which basically acts like a WiFi Router for your ME network. Connect it to a central point in your base, shove as many Wireless Booster cards as you want to increase its range (and power draw), and then link a Wireless Terminal to it.\n\nOnce you have Epoxy and Rhodium, you'll be able to combine all of your Wireless Terminals together via a Universal Terminal!", + "quests.ae2.interplanetary_wireless.subtitle": "Forgot something at home?", + "quests.ae2.interplanetary_wireless.desc": "You can upgrade your Wireless Terminal with this special Card, allowing access to your network from any distance, even on different worlds! Sounds too good to be true? There's a major catch — transferring items uses a huge amount of energy.\n\nYou can sort of get around this with some Energy Cards and a battery in your inventory set to Discharge Mode, but it should work well enough for those times when you accidentally left something at your base on Earth and don't want to fly all the way back.\n\nFor proper automated transfer, you'll need a Railgun.", + "quests.ae2.iv.title": "IV Tier AE2", + "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", + "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &1two IV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", + "quests.ae2.accumulation_processor.desc": "The &eAccumulation Processor&r will require a large amount of Silicon for each craft.\n\nWe hope you already have a dedicated EBF producing Silicon, or at least a strong infrastructure to manufacture it quickly.\n\nPrepare accordingly, as you’ll need plenty of it!", + "quests.ae2.mega_crafting.desc": "These are a neat upgrade for your &bCrafting CPU&r.\n\nThey will help to speed up your auto-crafting and allow you to handle larger jobs with ease.", + "quests.ae2.mega_battery.desc": "A &ebigger battery&r for a bigger network. Nothing else to it!", + "quests.ae2.extended_pattern_access.desc": "The &eExtended Pattern Terminal&r is a wonderful upgrade to manage all your patterns in an easier way.\n\nYou get &6more search options&r for your patterns, and with how many you should be getting now, it will be a huge QoL improvement.\n\nMake the \"upgrade\" version to simply sneak-right-click your existing pattern providers to upgrade them without having to take all the patterns out.", + "quests.ae2.extended_pattern_access.task": "Either the part or the upgrade", + "quests.ae2.extended_interface.desc": "Here they are, your bigger &bInterface&r with an upgrade so you don't even need to disconnect them to upgrade.\n\nYou will be quite happy with them!", + "quests.ae2.extended_interface.task": "Either the part or the upgrade", + "quests.ae2.extended_patprov.desc": "Here they are, your bigger &bPattern Providers&r with an upgrade so you don't even need to disconnect them to upgrade.\n\nYou will be quite happy with them!", + "quests.ae2.extended_patprov.task": "Either the part or the upgrade", + "quests.ae2.extended_drive.desc": "The &dME Extended Drive&r will &6double&r the amount of &eStorage Cells&r you can have within it.\n\nYou can also craft the &eupgrade&r to simply &aRight Click&r your existing ME Drives without having to take your discs out, and it won't cost you more.", + "quests.ae2.extended_drive.task": "Either the part or the upgrade", + "quests.ae2.extended_import_export.desc": "These are eight times faster than their regular counterparts. Enjoy!", + "quests.ae2.extended_import_export.task": "Either the part or the upgrade", + "quests.ae2.extended_io_port.desc": "This upgrade will let you &atransfer faster&r while also offering &6more upgrade slots&r if needed.", + "quests.ae2.extended_molecular_assembler.desc": "The upgrade of the &bMolecular Assembler&r.\n\nIt runs &68 crafting jobs&r at the same time and goes &62 times faster&r.\n\nEven though you can only use it with a normal &bPattern Provider&r, it will be a &agreat upgrade&r before you get the &dMatrix Multiblock&r a bit later on.", + "quests.ae2.wireless.desc": "The &aME Wireless Connector&r is your go-to if you don't want to put down massive lines of &bME Cables&r. They effectively work like short-range Quantum Tunnels, but have a limited range and don't work across dimensions. That would be too easy, wouldn't it?\n\nDon't forget to check the in-game guide with &eG&r to learn about how they work and their limitations.", + "quests.ae2.mega_cell_housing.desc": "These &bCell Housings&r work the same way as the basic ones, but you will need these to make the bigger disks from &dMEGA&r.", + "quests.ae2.cell_component_64k.desc": "Now that you have &1IV&r Circuits, you can make this enormous &5Storage Component&r. Aren't you glad you made a Moon base?", + "quests.ae2.cell_component_256k.desc": "The &c256k ME Storage Component&r is the last one you can make with a regular Assembler, and it's so big that you may never need any of the bigger sizes.\n\nUnless you're up for the challenge, of course.", + "quests.ae2.luv.title": "LuV Tier AE2", + "quests.ae2.luv.desc": "This branch becomes unlockable once you reach &dLuV&r.", + "quests.ae2.cell_component_1m.desc": "The &3MEGA Storage Components&r will need an &bAssembly Line&r. Note that the non-Moon recipe must be crafted within a Cleanroom, or you can use a Cleaning Maintenance Hatch if you have access to one.\n\nNo need for that on the Moon though.", + "quests.ae2.cell_component_4m.desc": "Simply bigger and more expensive.", + "quests.ae2.cell_component_16m.desc": "This one can only be made on the &cMoon&r and nowhere else. It will also require a Cleanroom environment, so if you don’t want to bother with a Cleanroom on the &cMoon&r, you should make the &7Cleaning Maintenance Hatch&r.\n\nIt will also need some research. Refer to the &cZPM&r Chapter if you don’t know what that means.", + "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &8TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", + "quests.ae2.oversize_interface.desc": "The &dME Oversize Interface&r is a &dME Extended Interface&r but each slot can hold 16x more items or fluids. If you have processes that need huge quantities, this could be your go-to.", + "quests.ae2.assembler_matrix.desc": "The &6Assembler Matrix&r is basically a customizable multiblock Molecular Assembler. The requirements for this quest should let you build one that we deem quite strong enough. You could add more layers of &bPattern Core&r or &aCraft Core&r if you want to.\n\nAs usual, check the in-game guide for detailed informations.", + "quests.tasktype.checkmark": "Нажмите, чтобы закончить квест/задание", + "quests.tasktype.item.any": "Любой предмет типа:", + "quests.tasktype.lookat": "Посмотреть на:", + "quests.tasktype.travelto": "Побывать в:", + "quests.groups.primitive": "Первобытный век", + "quests.groups.voltaic_age": "Электрический век", + "quests.groups.space_age": "Космический век", + "quests.groups.interstellar": "Межзвёздный век", + "quests.groups.technological_help": "Технологическая помощь", + "quests.groups.tips": "Советы", + "quests.computer": "ComputerCraft", + "quests.computer.subtitle": "Очень мощный мод для скриптинга на Lua", + "quests.create_logistics": "Логистика Create", + "quests.create_logistics.subtitle": "Менеджмент склада для чайников", + "quests.create_logistics.introduction.title": "Boxing Clever", + "quests.create_logistics.introduction.desc": "By utilising a few machines from &3Create&r, you'll be able to improve your item transportation and storage capabilities significantly. Later on once you progress into the &2Voltaic Age&r, you'll even be able to set up processes to automatically order specific items or route them around your base as needed!\n\nAs this questline deals primarily with machines from Create, this means &5Pondering&r the machines will be your best source of information aside from these quests, so be sure to look through their entries.", + "quests.create_logistics.packager.title": "Packager", + "quests.create_logistics.packager.subtitle": "Pack it up", + "quests.create_logistics.packager.desc.1": "When provided with a &credstone signal&r, the &3Packager&r will wrap up items from the block it is attached to (you can switch the connection side with a &5wrench&r) and output a neat little cardboard package. Each cardboard package has 9 slots' worth of inventory, so it's great for moving a bunch of items around at once. To craft the Packager, you need plenty of &dWrought Iron&r and an &dElectron Tube&r, not to mention a bunch of &dCardboard&r (&dPaper&r and &dGlue&r).\n\nNote that once crafted, the packager works without any additional cardboard, so don't worry about upkeep!", + "quests.create_logistics.packager.desc.2": "Putting a &3Sign&r on the Packager will make it automatically label the sign's contents onto all packages as a destination address. This will be more useful once you start working with various ways to route packages around. \n\nPackagers can also unwrap any packages that get put into it, unloading their contents into the attached inventory.\n\n&c&lNote that Framed Signs do not work for this purpose&r!", + "quests.create_logistics.frogport.title": "Package Frogports", + "quests.create_logistics.frogport.subtitle": "The chain of command", + "quests.create_logistics.frogport.desc.1": "&3Package Frogports&r are one of three ways you can move packages around and get them to where you want them to be. They can hang packages onto &3Chain Conveyor&r lines be transported along the chain connections. To use them, you first need a network of &3Chain Conveyors&r connected to each other using chains and then powered: Any chain with the tag &d#forge:chains&r will do. Right click on a chain connection before placing down a Frogport to have it interact with that segment of chain.\n\nFrogports placed directly on top of a &3Packager&r automatically hang up packages that are created in said Packager.", + "quests.create_logistics.frogport.desc.2": "Frogports can also receive packages in addition to sending them. If you right click on a Frogport, you can see that it has a name you can edit. This name acts as an &aaddress&r - if any packages that are labelled with a destination address matches its name, the Frogport will &aautomatically collect them&r by taking them off the chain network! This collected package will be put into the inventory of the block the Frogport is placed on.\n\nAs long as the chain network is connected to the input and output Frogports &osomehow&r, the package will eventually find its way, although you may want to optimize the paths to reduce package travel time on your own.", + "quests.create_logistics.package_filter.title": "Package Filters", + "quests.create_logistics.package_filter.subtitle": "The general solution to package routing", + "quests.create_logistics.package_filter.desc": "Packages can be routed using the specialized &3Package Filter&r, which can be used just like any filter in any &3Create&r machine that supports filter slots. Just right click while holding the filter and type in the address that should be filtered, and any packages with that specified destination address will be let through. This is useful especially for &3Brass Tunnels&r to make your belt network route your packages around based on destination.", + "quests.create_logistics.postbox.title": "Postboxes", + "quests.create_logistics.postbox.subtitle": "You've got mail", + "quests.create_logistics.postbox.desc.1": "&3Postboxes&r are used to route packages around using &aTrain Networks&r. You first right click a &3Train Station&r to link the Postbox to that station before placing it, and from then on any trains that stop there will be able to interact with the Postbox (given it is within 4 blocks of the station). \n\nMuch like &3Package Frogports&r, they can be named. Passing trains will then pick up any packages whose destination does not match the Postbox's name. Furthermore, if the train has any packages in its inventories that &odo&r match the Postbox, they will be passed into the Postbox's inventory instead.", + "quests.create_logistics.postbox.desc.2": "One last cool thing about &3Postboxes&r is that when extracting automatically from them (via chutes, funnels, etc), only packages with a destination that &amatches the Postbox's name&r will be taken out and any packages with a different destination will remain inside to be loaded onto trains later.", + "quests.create_logistics.nbt_handling.title": "Tell me more", + "quests.create_logistics.nbt_handling.subtitle": "Other information on packages and addresses", + "quests.create_logistics.nbt_handling.desc.1": "Here are some other important things that may be useful when trying to route packages around:\n\n&3-&r Packages are randomly created from a selection of four possible items, so stuff like GregTech's &3Item Filters&r will be &cvery tedious to set up&r! We recommend using the &3Package Filter&r wherever you can, but...\n\n&3-&r If you really want to try using other methods to move packages around, the destination address is stored as NBT data in the tag &eAddress&r. For example, a package with the destination address \"Home\" will have in its NBT data: &e{Address:\"Home\"}&r.", + "quests.create_logistics.nbt_handling.desc.2": "&3-&r Package address filtering actually supports a simplified form of &eRegEx&r. This means you can:\n\n&e-&r Match any length string with *\n\n&e-&r Match any single character with ?\n\n&e-&r Match a single character from a group of characters surrounded by [] (e.g. A[cr]t will match 'Act' and 'Art', but not 'Ant')\n\n&e-&r Match a single character that does not belong to a group of characters surrounded by [! ] (e.g. A[!cr]t will match 'Aft' and 'Apt', but not 'Act' or 'Art')\n\n&e-&r Match a string from a list of strings given inside {}(e.g. TerraFirma{Craft,Greg} will match both TerraFirma&eCraft&r and TerraFirma&eGreg&r)\n\n&e-&r All previous symbols can be escaped; For example, A\\* will be read as A* and only match 'A*'.", + "quests.create_logistics.bottler.title": "Bottler", + "quests.create_logistics.bottler.subtitle": "A packager but for fluids", + "quests.create_logistics.bottler.desc": "The Bottler is the fluid equivalent of the packager. Place it next to any kind of fluid container (Fluid Tank, Drums, machines, and so on), and put a Frogport on top of the Bottler, and the rest will work as you'd expect! The Bottler at the destination can similarly push directly into fluid containers, no pump needed!", + "quests.create_logistics.rose_quartz.title": "Roses are red...", + "quests.create_logistics.rose_quartz.subtitle": "...But Rose Quartz is Pink", + "quests.create_logistics.rose_quartz.desc": "Moving packages around is good and all, but surely that can't be all there is? Well, you're exactly right. There's much more that can be done with packages, including &areading inventory contents&r and &ahaving things be delivered remotely&r, and later on even &aautomatically sending ingredients to be processed&r based on an item's threshold!\n\nBut before delving into &2High Logistics&r, some preparations are in order.\n\nThe &dTransmitters&r that would be required for crafting such equipment can only realistically be produced via high-energy light refracted through a very unique mineral: &dRose Quartz&r. In other words, we need both a &7Basic &3Laser Engraver&r and some way of obtaining a &dRose Quartz Lens&r, so you better get to getting these done, eh?", + "quests.create_logistics.cold_rose_quartz.title": "Rose Quartz Source: Cold Regions", + "quests.create_logistics.cold_rose_quartz.subtitle": "The North Remembers", + "quests.create_logistics.cold_rose_quartz.desc.1": "The only natural source of &dRose Quartz&r of a high enough quality to easily craft the &dLens&r out of is located far, far to the north in freezing temperatures (below &b-10°C&r). Getting Kaolin clay flashbacks yet? \n\nRose Quartz only forms in the cores of ancient glaciers, meaning you'll have to look where they eventually come to rest - beaches, lakes, plains, and even underwater in the oceans. Although not common, the glacier core is easily identified by their &bBlue Ice&r outer shells. The &dRose Quartz&r will be found inside - first as ore, then as compressed raw ore blocks in the very center.\n\nWhat we need is &dExquisite Rose Quartz&r, which you can get by &3crushing, washing, and then sifting&r the raw ore you mined; The Exquisite gem has a 3 percent chance of being sifted out, but you only need one such gem to proceed. \n\n&c&lDo not smelt the ore as this will only get you normal quality Rose Quartz&r!", + "quests.create_logistics.cold_rose_quartz.desc.2": "The same preparations you once may have made for Kaolin clay will apply here as well: Prepare a lot of food, a source of portable water to drink, and some transportation (boats are nice, but &3aircraft&r should be well within your reach at this point).\n\nYou may also want to consider packing some &3Copper Diving Gear&r. The &3Helmet&r will allow you to &abreathe underwater&r when paired with a &3Copper Backtank&r (you need to fill it with pressurized air by placing it down and powering it with Create rotational force), and the &3Boots&r will let you &atraverse underwater easier&r; The glacier cores are often found in the ocean, and may be quite a hassle to mine up without these preparations (although they can be found on land as well).", + "quests.create_logistics.fabricate_rose_quartz.title": "Rose Quartz Source: MV", + "quests.create_logistics.fabricate_rose_quartz.subtitle": "Just as good as the real thing", + "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.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.", + "quests.create_logistics.stock_ticker.title": "Stock Ticker", + "quests.create_logistics.stock_ticker.subtitle": "Waiter! Waiter! More Silty Loam Rooted Dirt, please!", + "quests.create_logistics.stock_ticker.desc.1": "If you've already used &3Stock Links&r to provide various items to a &dLogistics Network&r, the next step is to make something that can call in said items remotely... And that's where the &3Stock Ticker&r comes in. Much like the Stock Link, you first need to right click an existing link to attune the Ticker to that network. You then need to place down a &3Blaze Burner&r or any mob in a &3Seat&r next to the Stock Ticker to have them work as a &3Stock Keeper&r.", + "quests.create_logistics.stock_ticker.desc.2": "Now that the poor creature is indentured for life, you can click on them to see all the items on the &dLogistics Network&r. You can even search for items in the network, and create an order to be sent to specific addresses! There's no range limitation for this, although you do need to create your own way of routing around the packages that will be ordered through the Stock Links as well as have the link in question chunkloaded for this to work.", + "quests.create_logistics.stock_ticker.desc.3": "Additionally, you can set up the Ticker so that only specific items are shown, or set up categories of items.", + "quests.create_logistics.redstone_requester.title": "Redstone Requester", + "quests.create_logistics.redstone_requester.subtitle": "Same-day Delivery", + "quests.create_logistics.redstone_requester.desc": "The &3Redstone Requester&r can be seen as a more specialized &3Stock Ticker&r. You can't view items in the &dLogistics Network&r from it, but you can set up an order to be requested automatically every time the machine gets a redstone signal. This can be very useful for setting up automated provision of specific items - consider using a &3Threshold Switch&r or &3Smart Observer&r alongside this, for example.\n\nRemember that like any other &2High Logistics&r machine, you need to right click on an existing link before placing the Requester down to attune it to that network first!", + "quests.create_logistics.tablecloths.title": "Table Cloths", + "quests.create_logistics.tablecloths.subtitle": "They paved paradise and put up a shopping mall", + "quests.create_logistics.tablecloths.desc.1": "&3Table Cloths&r are Create's system for player-owned shops! Each Table Cloth can sell one item. You'll need a small setup with a Stock Ticker, Packager, and a Stock Keeper (a Blaze Burner or mob in a seat) to get started.\n\nRight-click the Stock Keeper with your Table Cloth, then select the item to sell. Then just place the Table Cloth down on a block or some Scaffolding. After it's placed, right-click the slot in the front of the Table Cloth with an item you want as payment. Afterwards, right-click and hold to change the amount of that item.", + "quests.create_logistics.tablecloths.desc.2": "To buy items from another player's shop, right-click the Table Cloths with an empty hand to add them to a Shopping List. Once they're ready, right-click the Stock Keeper with the Shopping List to buy the items! A Shopping List can be cleared by sneak-right-clicking. Payment is then stored in the Stock Ticker, and the shop owner can collect it later or send it back to their base!", + "quests.create_logistics.factory_gauge.title": "Factory Gauge", + "quests.create_logistics.factory_gauge.subtitle": "Automation, reinvented", + "quests.create_logistics.factory_gauge.desc.1": "The &3Factory Gauge&r is the ultimate &2High Logistics&r machine, requiring you to have the technology to make both &dAluminium&r and &dDiodes&r before you can craft one - But it's extremely powerful to match.\n\nThe first thing a Factory Gauge can do is be placed on a &3Packager&r to monitor the amount of a specific item in the connected inventory. When set up like this, the gauge's outer border will be &9Blue&r and it is said to be in &9Restocker Mode&r.\n\nThe other way of using a Factory Gauge is to have it automatically ordering ingredients when the amount of target products in a &dLogistics Network&r falls below a threshold. This is the operating mode when the gauge is placed on any block that is not a Packager; the outer border will be &eYellow&r, and it is said to be in &9Recipe Mode&r.", + "quests.create_logistics.factory_gauge.desc.2": "In either mode, You can set a specific value that the Factory Gauge should attempt to maintain. You then have to set a target address in the GUI which is where the automatic order made will be directed to a target address of your choice.\n\nFor the &9Restocker Mode&r, the specified address should ideally point towards the packager the gauge has been placed on so that the incoming packages are automatically unwrapped into the target inventory.", + "quests.create_logistics.factory_gauge.desc.3": "For the &9Recipe Mode&r, the specified address should point towards wherever you manufacture the product.\n\nAdditionally, you need to set up one additional gauge for each type of ingredient used, then connect them to the first gauge with &a'Add New Connection'&r in the GUI.\nIf the product you are trying to craft in &9Recipe Mode&r is a normal crafting recipe, you will need to &a'Use Mechanical Crafting'&r and ensure that the package is unwraped into a 3x3 &3Mechanical Crafter&r array.", + "quests.create_logistics.factory_gauge.desc.4": "&cIt is important that the package is not unwrapped en route&r, as the package itself holds crafting recipe instructions - if the ingredients must come from different sources, look into using a &3Re-Packager&r to act as a buffer for the packages.\n\n&3Note:&r Factory Gauge requests are technically 'Promises', which are guarantees by the network that the items in question &owill&r be delivered at some point in the future. This is done to prevent the items from being over-requested. By default, these promises never expire; This means the promise will remain in place forever if the items are unlikely to be delivered in the future. You can change this behavior by adjusting the bottom section of the gauge GUI, which will limit how long promises stick around for.", + "quests.development": "Таблица прогрессии", + "quests.development.subtitle": "Простой способ отслеживать свой прогресс в GregTech", + "quests.development.explanation.title": "Let's do some explaining", + "quests.development.explanation.subtitle": "It is actually quite easy", + "quests.development.explanation.desc.1": "The &lCircuit Progression&r of GregTech can seem intimidating at first, but it's not that bad.\n\nFirst, you need to understand that circuits of the same tier are interchangeable. For example, to craft an &6HV&r &6Mixer&r, you can use any &6HV-tier&r circuit.", + "quests.development.explanation.desc.2": "Now, let's talk about &lprogression&r. As you may notice, each circuit shares a color code on its icon and a name. For example, all &aQuantum Processors&r are &agreen&r and crafted inside &1IV-tier&r Circuit Assemblers. To craft one, you first need the previous circuit — that's why, to craft your first &dLuV&r &dCircuit&r, the Nanoprocessor Mainframe, you must start by crafting a Nanoprocessor and progress through each &7step&r. In this case, it would take three steps.\n\nThis is why the rightmost &6circuits&r in each line are always cheaper to &a craft&r: they require fewer &7steps&r.", + "quests.development.explanation.desc.3": "Additionally, we have added &lUniversal Circuits&r. They can be &a crafted&r from any &6circuit&r — whether &1IV&r, &dLuV&r, &3UV&r, or any other tier — and are extremely useful for &9automation&r with AE2. Try to encode all your &fpatterns&r with &lUniversal Circuits&r, so whenever you upgrade to a better circuit, you won't have to redo all your &fpatterns&r — only the ones used to craft the Universal Circuit.", + "quests.development.explanation.task": "Okay I read the whole three pages", + "quests.development.ulv.title": "&8ULV&r Circuits", + "quests.development.ulv.subtitle": "", + "quests.development.ulv.desc": "On this line you can see the Steam, or &8ULV&r, equivalents.", + "quests.development.lv.title": "&7LV&r Circuits", + "quests.development.lv.subtitle": "", + "quests.development.lv.desc": "Circuits along this line are &7LV&r, and are interchangeable in recipes.\n\n&cElectronic Circuits&r are the &oworst&r in terms of cost and effort required to produce, but you have to start somewhere.\n\n&eBasic Integrated Processors&r act as a middle layer between &cElectronic Circuits&r and &2Microchip Processors.&r\n\nFinally, &2Microchip Processors&r will be the best option for the rest of the playthrough.", + "quests.development.mv.title": "&bMV&r Circuits", + "quests.development.mv.subtitle": "", + "quests.development.mv.desc": "Circuits along this line are &bMV&r, and are interchangeable in recipes.\n\nThe pattern stays other same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", + "quests.development.hv.title": "&6HV&r Circuits", + "quests.development.hv.subtitle": "", + "quests.development.hv.desc": "Circuits along this line are &6HV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", + "quests.development.ev.title": "&5EV&r Circuits", + "quests.development.ev.subtitle": "", + "quests.development.ev.desc": "Circuits along this line are &5EV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", + "quests.development.iv.title": "&1IV&r Circuits", + "quests.development.iv.subtitle": "", + "quests.development.iv.desc": "Circuits along this line are &1IV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.", + "quests.development.luv.title": "&dLuV&r Circuits", + "quests.development.luv.subtitle": "", + "quests.development.luv.desc": "Circuits along this line are &dLuV&r, and are interchangeable in recipes.\n\nThe pattern stays the same: the rightmost circuit comes in &dlarger quantities&r and is overall &aeasier&r to produce.\n\nMake sure to set up &3wetware board production&r as soon as possible! These take a &6very long time&r to make.\n\nIt's &dLuV&r, not &4LUV&r.", + "quests.development.zpm.title": "&cZPM&r Circuits", + "quests.development.zpm.subtitle": "", + "quests.development.zpm.desc": "Circuits along this line are &cZPM&r, and are interchangeable in recipes.", + "quests.development.uv.title": "&3UV&r Circuits", + "quests.development.uv.subtitle": "", + "quests.development.uv.desc": "Circuits along this line are &3UV&r, and are interchangeable for each other.", + "quests.development.uhv.title": "&4UHV&r Circuits", + "quests.development.uhv.subtitle": "", + "quests.development.uhv.desc": "Congratulations! You've reached the end of the circuit progression.\n\nThe only &4UHV&r circuit is the &6Wetware Mainframe&r, which is used for crafting some endgame stuff.", + "quests.development.hull_lv.title": "Craftable in &6Steam Age&r and &7LV&r", + "quests.development.hull_lv.subtitle": "Hand crafted and artisanal", + "quests.development.hull_lv.desc": "&7Early game&r Circuits are made using hand crafting and Create.\n\nHave a good &3Create&r setup to make them easier to produce then pick up the &3Circuit Assembler&r to make them a lot more efficient.", + "quests.development.hull_mv.title": "Craftable in &bMV&r", + "quests.development.hull_mv.subtitle": "Integrated Dynamics", + "quests.development.hull_mv.desc.1": "The &9Integrated&r Circuit line may not be a strict upgrade in terms of cost, but will tide you over as a stepping stone towards the next tier.\n\nThey will require a MV &3Laser Engraver&r and a MV &3Cutting Machine&r.", + "quests.development.hull_mv.desc.2": "&l&3Lore:&r&o In Omnifactory, and in previous Gregicality, this circuit line was called &9Refined&r and was standardized like further tiers.", + "quests.development.hull_hv.title": "Craftable in &bMV&r and &6HV&r", + "quests.development.hull_hv.subtitle": "They tend to be small", + "quests.development.hull_hv.desc": "&eMicro&r Circuits are where the &3Cleanroom&r becomes a requirement to progress.\n\nDon't get caught out by the &aMainframe&r - it requires a &3HV Circuit Assembler&r.", + "quests.development.hull_ev.title": "Craftable in &5EV&r", + "quests.development.hull_ev.subtitle": "Nano Age", + "quests.development.hull_ev.desc": "This is the &9Nano&r Circuit line.\n\nYou may need to go out in &bspace&r to craft them.\n\nStarting from here, circuit progression will follow a pattern:\n\n&9-&r Processor\n&9-&r Assembly\n&9-&r Supercomputer\n&9-&r Mainframe", + "quests.development.hull_iv.title": "Craftable in &1IV&r", + "quests.development.hull_iv.subtitle": "GregTech gets Quantum", + "quests.development.hull_iv.desc": "Welcome to the &9Quantum&r Circuit line.\n\nYou may want to invest in &aPBI&r at this point, as &dAdvanced SMDs&r will skyrocket your circuit production.", + "quests.development.hull_luv.title": "Craftable in &dLuV&r", + "quests.development.hull_luv.subtitle": "Crystallisation", + "quests.development.hull_luv.desc": "This is the &9Crystal&r Circuit line.\n\nIt's locked behind &3Fusion&r.", + "quests.development.hull_zpm.title": "Craftable in &cZPM&r", + "quests.development.hull_zpm.subtitle": "Soft and Wetware", + "quests.development.hull_zpm.desc": "This is the &9Wetware&r Circuit line.\n\nIt will be the biggest automation challenge to face in this modpack. Best of luck.", + "quests.extreme_voltage": "&5EV&r - Extreme Voltage", + "quests.extreme_voltage.subtitle": "Reach Mars, discover Nuclear Fission, and build new massive multiblocks", + "quests.extreme_voltage.welcome_to_ev.title": "This is Extreme Voltage", + "quests.extreme_voltage.welcome_to_ev.subtitle": "Let's go Nuclear on Mars", + "quests.extreme_voltage.welcome_to_ev.desc.1": "You’ve built new &6chemistry lines&r, manufactured advanced &balloys&r, and even launched a &dRocket&r to reach the Moon. We hope you enjoyed the ride, because now things get even more complex, with powerful new machines and demanding processes ahead.\n\nIn the &5EV Chapter&r, your main objective will be to craft your very first &1IV&r and &dLuV&r Circuits.", + "quests.extreme_voltage.welcome_to_ev.desc.2": "Along the way, several key challenges await you:\n\n• Build your first &6Alloy Blast Smelter&r, a faster version of the EBF, specialized for alloys. With it, you’ll be able to construct your first Large Machine: the &6Large Centrifuge&r, essential for the Nuclear Fission Line. It also lets you upgrade ore processing with a faster Thermal Centrifuge.\n\n• Master our original &eTungsten Line&r - looping all the required materials will test both your knowledge and your patience.\n\n• Prepare to fly to &4Mars&r where you’ll become an &aextraterrestrial farmer&r while also learning to harness the &cpower of the atom&r.\n\nGood luck, this is where GregTech begins to show its true depth!", + "quests.extreme_voltage.distillation_tower.title": "The Distillation Tower", + "quests.extreme_voltage.distillation_tower.subtitle": "Mr. President, another Distillation Tower has hit the factory floor", + "quests.extreme_voltage.distillation_tower.desc.1": "&6The Distillation Tower&r (DT) is a direct multiblock upgrade of the &6Distillery&r. You won't have to choose outputs any more as the DT will handle them all automatically, at an increased power cost.\n\nThis machine will be your future bread and butter for anything involving &ePetrochem&r or &eOrganic distillation.", + "quests.extreme_voltage.distillation_tower.desc.2": "Like the &6Cleanroom&r, the DT can be made taller, though not wider. Starting from the second layer, each added level requires an &9Output Hatch&r and grants one additional fluid output slot; if a level lacks its output hatch, the corresponding fluid will be voided. Count the number of outputs with &dEMI&r so you know how many layers you need. As always, use the Multiblock Preview tab in &dEMI&r and click the multiblock to see where you can place each part.", + "quests.extreme_voltage.distillation_tower.desc.3": "&cNote:&r Be careful not to over-overclock the DT when producing fuels! Excessive overclocking can reduce the overall power yield, especially for Diesel. Do the math and double-check your calculations.", + "quests.extreme_voltage.cracker.subtitle": "You Crack Me Up", + "quests.extreme_voltage.cracker.desc": "The &3Cracker&r is a multiblock built with the sole purpose of cracking fluids. It comes with all the recipes of &3Chemical Reactor&r Cracking, but it is &6lossless&r.\n\nThis is a great way to save a lot of Fuel in the long term!\n\nHigher Coil tiers provide a small energy discount - up to 70%% with the best Coils available.", + "quests.extreme_voltage.ev_components.title": "Extreme Voltage Components", + "quests.extreme_voltage.ev_components.subtitle": "The \"Fun\" will never stop", + "quests.extreme_voltage.ev_components.desc": "&7By now, you should be getting used to the pattern with every new Energy Tier comes a fresh batch of components.&r\n\nThe &5EV&r tier comes with a few twists - first, &eNeodymium&r. You might already have some stored from your earlier mining trips, but you’ll also find it in large quantities when processing &eMonazite Ore&r.\n\nSecondly, Sensors and Emitters require &bCryogenized Fluix Pearls&r. Hopefully your &dMoon&r infrastructure is up and running to supply them efficiently.\n\nLastly, Motors require Kanthal wire. If you've been diligently upgrading your EBF, these should be significantly faster to craft than when you made them in MV (and you can recycle your old coils too!), but the Alloy Blast Smelter will be able to make this even faster.", + "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.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!", + "quests.extreme_voltage.mars.desc.2": "All &bfluid veins&r are spread across Mars, except for &eHeavy Ammoniacial Water&r which can only be found outside of the desert. That’s another good reason to set up your base there.\n\nEnergy-wise, &4Mars&r will not be kind to you at first.\n\nNearly every common &6energy generation method&r is disabled or worthless on the planet, which means you’ll have to rely almost entirely on &cFission&r to power your base.\n\nAt the very beginning, we recommend bringing along some &bfilled batteries&r such as &bLapotron Crystals&r to get started, and then look towards setting up Thorium Fuel Rods.\n\nAchieving energy stability on Mars will take time and effort, but once your systems are running smoothly, you’ll feel like &9unlimited power&r is right in the palm of your hand.", + "quests.extreme_voltage.mars.desc.3": "And one last tip: don’t kill everything you see. Some &aanimals&r can be &franched&r, and you’ll definitely need them later in your progression.\n\nBe sure to check out the &aSpace Survival&r chapter for more Mars-related tips too!\n\nStay alert, plan ahead, and Mars will reward your courage.", + "quests.extreme_voltage.mars.task": "Land on Mars", + "quests.extreme_voltage.nuclear_fuel_factory.title": "Nuclear Fuel Factory", + "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "Hot Rod", + "quests.extreme_voltage.nuclear_fuel_factory.desc": "The &6Nuclear Fuel Factory&r has one purpose: producing fuel rods for your &cFission Reactor&r.\n\nIt supports &9Parallel Hatches&r which you’ll unlock soon but they aren’t mandatory yet. Functionally, it works much like the Pyrolyse Oven: the &ebetter the coils&r you install, the faster the recipes will run.\n\nSince fuel rod production is both &cslow&r and &cexpensive&r, we strongly recommend using the &ahighest tier coils&r available. Don’t waste your time with Cupronickel, you’ll only be nerfing yourself.", + "quests.extreme_voltage.heavy_water.title": "Heavy Water", + "quests.extreme_voltage.heavy_water.subtitle": "Water for the Hardcore", + "quests.extreme_voltage.heavy_water.desc": "To run your Fission Reactor, you’ll need a steady supply of &bHeavy Water&r, and there’s only one place to find it.\n\nIt’s located in &adeep fluid veins&r found exclusively beneath the &alush islands&r of Mars. Grab your &6Ore Prospector&r, switch it to &bFluid Mode&r, and start scanning.\n\nBecause the amount of &bHeavy Water&r required to keep your reactor running is enormous, you should seriously consider investing in a &6Large Centrifuge&r to produce it yourself.\n\nInstall a &516A EV Energy Hatch&r, and you’ll be ready for true mass production ensuring your reactor never runs dry.\n\nReliable cooling means reliable power - build smart!", + "quests.extreme_voltage.nuclear_turbine.title": "Nuclear Steam Turbine", + "quests.extreme_voltage.nuclear_turbine.subtitle": "Steam power's back, baby", + "quests.extreme_voltage.nuclear_turbine.desc": "With Fission, you gain access to a brand new &6Dedicated Turbine&r! (The normal Large Steam Turbine can only handle regular Steam.)\n\nIt works just like the previous turbines, but similar to the Gas Turbine, it requires at least an &5EV Rotor Holder&r to operate.\n\nThe coils inside this turbine must be &7Cupronickel&r, and they don’t affect performance in any way (but we have to admit, they look pretty good).\n\nIn this quest, we suggest two &aRotors&r that fit nicely for the turbine at this stage, but feel free to experiment and use any &brotor&r that suits your setup best.", + "quests.extreme_voltage.reactor_components.title": "Reactor Heat Management", + "quests.extreme_voltage.reactor_components.subtitle": "Active and Passive ways to cool your reactor", + "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Item Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Item Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", + "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.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.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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", + "quests.extreme_voltage.important_info.desc.2": "When it comes to your Martian infrastructure, there are two main approaches:&r\n\n• &aPreparation-focused&r: Build everything required for your full &6Fission Line&r before establishing your base. This means an enormous material investment, but allows you to be self-sufficient once operational.\n\n• &aProgressive setup&r: Start smaller with your &6Nuclear Fuel Factory&r, your first &6Fission Reactor&r (running on &eThorium&r), and a &6Nuclear Turbine&r. This route is faster to start, but managing energy will be rough until your fission system stabilizes.\n\nEither way, we always recommend having an exploration mission before you start settling down!", + "quests.extreme_voltage.important_info.desc.3": "Because every kind of combustion-based energy won't work on Mars, you’ll want to bring a good stock of &bLapotron Crystals&r to power your first recipes and oxygen systems.\n\nWe also strongly recommend setting up a &6Distillation Tower&r. &eMartian Air&r can be processed into breathable &bAir&r and several other useful gases. Alternatively, everything for Compressed Nitrox can come from the local Semiheavy Ammoniacal Water.\n\nSurvival on Mars isn’t about luck, it’s about preparation!", + "quests.extreme_voltage.important_info.task": "It's Marsing Time", + "quests.extreme_voltage.dense_lead.title": "Faster Dense Lead Plates", + "quests.extreme_voltage.dense_lead.subtitle": "Don't expect it for other dense plates", + "quests.extreme_voltage.dense_lead.desc": "Because of the tremendous amount of Dense Lead Plates you will need for Atomic Casings, we offer a new, albeit less efficient, recipe with the help of the Implosion Compressor. Feel free to use it if you don't want to wait forever for your benders.", + "quests.extreme_voltage.thorium_rod.title": "Fuel Rods", + "quests.extreme_voltage.thorium_rod.subtitle": "Handle with care", + "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.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.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.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", + "quests.extreme_voltage.uranium_line.subtitle": "That's one more new processing line", + "quests.extreme_voltage.uranium_line.desc": "To process &eUranium&r and its &eUranium 235&r &eIsotope&r, you’ll need to set up a dedicated small processing line. \n\nRest assured, you can &aloop the Fluorine&r, so the only input you’ll need is &eUraninite Dusts&r.\n\nYou can build this line on Earth, but it may be more convenient to operate it on Mars, where the majority of Uraninite Ore should be harvested.", + "quests.extreme_voltage.radioactive_waste.title": "Radioactive Waste", + "quests.extreme_voltage.radioactive_waste.subtitle": "One man's trash is another man's progression material", + "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super chest with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", + "quests.extreme_voltage.uranium_rod.subtitle": "Finally, some real power!", + "quests.extreme_voltage.uranium_rod.desc.1": "This is the second-generation reactor fuel - it offers &a4× more durability&r and produces &a5× more steam&r compared to a standard &eThorium Rod&r. However, there are important trade-offs you must plan for.\n\n&9Production cost and setup:&r\n• Producing this fuel consumes &eThorium Rods&r continuously, so it’s recommended to dedicate a separate &6Fission Reactor&r for each of these advanced rods, although if you're up for the challenge of juggling them in one reactor, that's an option too.", + "quests.extreme_voltage.uranium_rod.desc.2": "Heat and mitigation options: A single Uranium Fuel Rod generates about &c435 Heat&r inside a standard reactor, far above the default limit. To handle this you have three main options:\n\n&7→&r &eInstall 20 Framed Glacial Wool&r blocks inside the reactor to raise &cMax Heat&r to &e440&r, allowing one rod to run safely.\n\n&7→&r &6Use Material Holders&r and pump large quantities of &bDry Ice&r to drop the reactor temperature. This requires a robust infrastructure and access to a &bLiquid CO2 fluid vein&r on Mars.\n\n&7→&r &bUse Refrigerant Pellets&r placed in Material Holders. They behave like Dry Ice but are far more potent. Note that Refrigerant Pellets consume a decent amount of &eFluorine&r to craft, and you do not have infinite Fluorine at this point.\n\nObviously, you can also make your own sauce and mix all of these options together.", + "quests.extreme_voltage.uranium_rod.desc.3": "&cImportant note for Uranium Fuel Rods:&r Reactors running &eUranium Rods&r require a drastically larger supply of &bHeavy Water&r for cooling. Ensure you have abundant Heavy Water production or storage before attempting to run these rods, or your reactor will quickly hit critical cooling limits.\n\nPlan your supply lines and cooling strategy carefully - these fuels are powerful, but they demand serious infrastructure.", + "quests.extreme_voltage.uranium_waste.title": "Uranium Waste and Radioactive Steam", + "quests.extreme_voltage.uranium_waste.subtitle": "You guessed it, more processing", + "quests.extreme_voltage.uranium_waste.desc.1": "The products from &eUranium Fuel Rods&r are a bit more involved than thorium.\n\n&6• Uranium Waste&r is the feedstock that starts the &dPlutonium Line&r. It can be processed immediately.\n\n&6• Radioactive Steam&r, unlike normal steam, will need to be handled by a &6Heat Exchanger&r. Send the radioactive steam through a Heat Exchanger to recover High Pressure Steam.", + "quests.extreme_voltage.uranium_waste.desc.2": "Additionally, your Radioactive Steam should heat &eAmmonium Formate&r into &eFormamide&r, a core precursor for producing plutonium fuels. This means that before you can reliably obtain High Pressure Steam from a Uranium Reactor for energy use, you must ensure a continuous supply of &eAmmonium Formate&r for the conversion chain.\n\n&cPractical note:&r Set up a dedicated, continuous line to produce &eAmmonium Formate&r. Without steady Ammonium Formate production, your plutonium workflow and your High Pressure Steam production will stall.", + "quests.extreme_voltage.ammonium_formate.title": "Ammonium Formate", + "quests.extreme_voltage.ammonium_formate.subtitle": "Always keep a backlog!", + "quests.extreme_voltage.ammonium_formate.desc": "Being able to make infinite &eAmmonium Formate&r is mandatory to ensure a constant energy production, as you won’t be able to process &bRadioactive Steam&r into High Pressure Steam without it. It's not very hard, though!\n\nFirst, to make &eFormic Acid&r, simply combine CO₂ that you can get from Mars Air with Water from an Aqueous Accumulator.\n\nThen, for &eAmmonia&r, you can simply electrolyze the &eAmmonium Chloride Dust&r you got from centrifuging (Semi) Heavy Ammoniacal Water.\n\nAs you will get a surplus of &bOxygen&r and &bHydrochloric Acid&r, make sure to void these fluids above a threshold so they don’t clog your &eAmmonium Formate&r production.", + "quests.extreme_voltage.nuclear_residue_dust.title": "Nuclear Residue Dust", + "quests.extreme_voltage.nuclear_residue_dust.subtitle": "Oh, this is where Radon comes from", + "quests.extreme_voltage.nuclear_residue_dust.desc": "Obtaining &eNuclear Residue Dust&r is the first step in the &dPlutonium Line&r.\nIt requires a &5EV Gas Pressurizer&r on Mars to produce.\n\nThe process will also generate &bRadon&r as a byproduct, and even though you will need Radon for later steps, the surplus from this line will be significant. It will be your only reliable source of Radon for now.\n\nLuckily for you, &eNuclear Residue&r requires no complex loop: simply feed in the outputs from your Uranium Reactor and Heat Exchanger, add &eMartian Sludge&r, and the &6Gas Pressurizer&r will produce Nuclear Residue Dust. You’ll be ready to continue the Plutonium chain immediately.", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.subtitle": "What is this weird concoction?", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.1": "This next step is the start of the many loops surrounding the &dPlutonium Line&r.\n\nTo make &bOxidized Nuclear Residue Dust&r you will require &bDioxygen Difluoride&r. Thankfully, we do not ask you to have an infinite amount of Fluorine, so for this recipe to run continuously you will recover Fluorine later as &bHydrofluoric Acid&r that you can electrolyze.", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.2": "Because the recipes take a long time, we still advise adding a good starter stock of Fluorine to kickstart the loop.\n\nAs always, during this loop, be wary of storage: a full tank or a blocked buffer can stop your entire line, and flying to Mars to fix it would be a bother. &aSuper Tanks&r or whitelisted &aAE2 disks&r with void upgrades are helpful solutions.\n\nNote that the recipe also produces &eResidual Radioactive Concoction&r. Try not to void this one, it will be a useful material for future systems such as the &6Ostrum Linear Accelerator&r (infinite ores from Mars), the &6Growth Chamber&r (first steps into Bioengineering) and even &6Fission Reactors&r outside of Mars.", + "quests.extreme_voltage.refined_nuclear_dust.subtitle": "Ah, this where my Fluorine went", + "quests.extreme_voltage.refined_nuclear_dust.desc": "The &eRefined Nuclear Residue Dust&r lets you recover Fluorine as Hydrofluoric Acid so you can loop it back into &bDioxygen Difluoride&r.\n\nYou should already know how to make Distilled Water, and don’t forget to void any surplus Oxygen if you have nowhere to store it.\n\nThis recipe is very slow. If you feel confident energy-wise, consider running it in a &6Large Centrifuge&r to speed things up. Be cautious, though, you don’t want to drain too much power early in your progression.", + "quests.extreme_voltage.plutonium.title": "Plutonium", + "quests.extreme_voltage.plutonium.subtitle": "Look at this massive atomic mass", + "quests.extreme_voltage.plutonium.desc": "You’ve finally reached Plutonium! Its only practical use right now is to craft &dPlutonium Fuel Rods&r, so don’t bother hoarding it.\n\nAny extra steam produced can be voided or used in a regular steam turbine, but the &6Nuclear Steam Turbine&r will not accept this steam&r.\n\nIf you want to recover energy, route the surplus to conventional steam turbines; otherwise safely void the excess to prevent backups.", + "quests.extreme_voltage.plutonium_rod.subtitle": "Once upon a time, I had power issues", + "quests.extreme_voltage.plutonium_rod.desc.1": "Let’s be clear: the &dPlutonium Fuel Rod&r may be a real bother to craft, but it’s an absolute &abeast of energy&r. It outputs nearly &e4× more High Pressure Steam&r than the Uranium Rod, making it perfect for scaling your Martian infrastructure, even if you run it less frequently.", + "quests.extreme_voltage.plutonium_rod.desc.2": "However, its &cmassive heat&r poses a serious challenge. Reaching up to &6595 Heat&r, it’s impossible to run it safely for the time being without &bRefrigerant Pellets&r. Check the quest on the right for more details about this material, which you can insert into a &6Material Holder&r.\n\nThe good news? You can stabilize the reactor with just &61 Material Holder&r, bringing the temperature down to around &e430 Heat&r manageable with some &fFramed Glacial Wool&r. Otherwise, &62 Material Holders&r should keep it perfectly under control.", + "quests.extreme_voltage.tritiated_water.title": "Tritiated Water", + "quests.extreme_voltage.tritiated_water.subtitle": "Radioactive Water? Is everything radioactive?", + "quests.extreme_voltage.tritiated_water.desc": "This &bRadioactive Water&r is a key component for producing &eNano CPU Wafers&r and ultimately, your &6first IV Circuits&r.\n\nIt’s also used in the Ostrum Linear Accelerator and can be electrolyzed into &6Tritium&r, though you won’t need that for quite some time.\n\n&cBe extremely careful&r: &bTritiated Water&r is incredibly precious, so don’t lose a single drop of it!", + "quests.extreme_voltage.nano_cpu_wafer.subtitle": "That sounds like marketing", + "quests.extreme_voltage.nano_cpu_wafer.desc": "The &dNano CPU Wafer&r is your gateway to IV Circuits and also to the &bAE2 64k Storage Cells&r.\n\nYou’ll need a huge amount of these circuits, as they’re used in nearly every advanced circuit tier from now on, whether by &eupgrading the Wafer&r itself or crafting the &ahighest-end circuit versions&r.\n\nThey’re also required for your &6IV Batteries&r, the &dLapotronic Energy Orbs&r.\n\nFor reference, &b1 Plutonium Fuel Rod&r will produce enough Tritiated Water for &eexactly 9 Nano CPU Wafers&r.", + "quests.extreme_voltage.first_iv_circuit.title": "Mainframes - First IV Circuits!", + "quests.extreme_voltage.first_iv_circuit.subtitle": "Are we done with EV yet?", + "quests.extreme_voltage.first_iv_circuit.desc": "Finally, after all this time, you’ve obtained a new circuit and unlocked an entirely new tier. Many possibilities are now open to you, but your main focus should be the &6IV Assembler&r first, as it will allow you to craft the &eFramed Moderate Core&r which greatly increases your reactor’s &cMax Heat&r, eliminating the need for Refrigerant Pellets.\n\nYou can also build the &5EV Circuit Assembler&r to unlock &bNanoprocessor Circuits&r. Keep in mind, though, that these will require Nano CPU Chips, so you’ll need a well-established fission setup to support them.\n\nMore details will be provided in the &6IV Chapter&r, so you can finally feel fully comfortable progressing into this new tier.", + "quests.extreme_voltage.moderate_core.subtitle": "That's a big upgrade", + "quests.extreme_voltage.moderate_core.desc": "It’s time for a major upgrade to your &6Fission Reactor&r. The &eFramed Moderate Cores&r come in two versions, depending on your luck. The better version allows your &dPlutonium Reactor&r to run &aone rod fully passively&r, so you can say goodbye to constantly making &bRefrigerant Pellets&r! You could also experiment by combining them with the new framed components, potentially running &atwo Plutonium Rods&r simultaneously.\n\nAlso known as the &6Graphite Line&r, the processing line to craft these new blocks is somewhat random: you might fail the craft or get a lower-tier version. This can make full automation with &dAE2&r slightly trickier, though it’s still possible with careful setup.\n\nWe’ll leave it to you to experiment and figure out the most efficient way to produce these cores.", + "quests.extreme_voltage.abs.subtitle": "We love this heater", + "quests.extreme_voltage.abs.desc": "The &6Alloy Blast Smelter&r is a very special multiblock. It works similarly to the &6EBF&r, with better coils allowing for Perfect Overclocking (see the Energy Chapter), and it can process most EBF recipes &a25%% faster&r. Note that it outputs molten fluids instead of hot ingots!\n\nOne key feature of the &6ABS&r is its ability to craft the alloys needed for &6Large Multiblock Machines&r. Essentially, every basic machine like the Macerator or the Distillery has its own multiblock, offering extensive customization options such as multiple Input/Output Buses/Hatches or even adding a Parallel Hatch.\n\nFor more details about these multiblocks, refer to the &6Gregtech Energy Chapter&r.", + "quests.extreme_voltage.ev_mixer.title": "&5EV Mixer&r", + "quests.extreme_voltage.ev_mixer.subtitle": "Faster than your local bartender", + "quests.extreme_voltage.ev_mixer.desc": "Some machines are critical for progression, and the &6Mixer&r is one of them.\n\nIt unlocks several essential alloys required to move forward, notably the &6RTM Alloy&r, which you’ll need to upgrade the coils of your &6EBF&r. This alloy is gated behind both the Tungsten Line and part of the Platline, so don’t expect it to be an easy one.\n\nSoon, you’ll also unlock the &5Large Mixer&r, which allows you to install two Energy Hatches. This could be the last time you’ll need to build a single-block Mixer, though as always, the choice is yours.", + "quests.extreme_voltage.rtm.title": "RTM Alloy", + "quests.extreme_voltage.rtm.subtitle": "Ruthenium-Tungsten-Molybdenum Alloy", + "quests.extreme_voltage.rtm.desc": "To craft &6RTM Alloy&r, you’ll need both &dRuthenium&r, a product of the infamous &dPlatline&r and &aTungsten&r, which has been made a bit harder to obtain in TFG.\n\nBefore rushing into RTM production, make sure both of these lines are running smoothly.\n\nIn regular GregTech, RTM Alloy is often just a short stepping stone, but not here. In &bTerraFirmaGreg&r, you’ll require RTM Alloy for several parts of your upcoming Fission multiblocks. Since HSS-G Coils are still far down the line, we strongly recommend using &6RTM Coils&r as a powerful upgrade for many of your existing multiblocks.", + "quests.extreme_voltage.rtm_coil.subtitle": "How hot can it get?", + "quests.extreme_voltage.rtm_coil.desc": "The &6RTM Coils&r can reach an impressive &e4500 K&r, unlocking access to Tantalum Carbide, a key material for your progression. You’ll need it to craft the &5Alloy Blast Smelter&r, and it will also greatly speed up recipes in your EBF or Nuclear Fuel Factory.\n\nThese coils can even help reduce the cost of extracting &aLunar Regolith&r and &dOstrum&r, making them valuable beyond their primary purpose.\n\nNormally, you’d move on to HSS-G rather quickly, but in &bTFG&r you won’t be able to craft your &1IV Assembler&r until you’ve completed the &5Fission Progression&r, making &6RTM Coils&r a far more important and long-lasting upgrade.", + "quests.extreme_voltage.ruthenium.title": "Ruthenium", + "quests.extreme_voltage.ruthenium.subtitle": "A rare material", + "quests.extreme_voltage.ruthenium.desc": "To help you along, here’s an overview of all the steps required to obtain &dRuthenium&r through the Platline. Don’t worry, you don’t need to complete the entire &dPlatline&r yet.\n\n(Note that &7the platline may change with &4Venus&r later.)", + "quests.extreme_voltage.gcym_alloys.title": "Large Multiblock Alloys", + "quests.extreme_voltage.gcym_alloys.subtitle": "More alloys means more fun!", + "quests.extreme_voltage.gcym_alloys.desc": "Welcome to the world of &dLarge Multiblocks&r. All these alloys will be required for a lot of upcoming multiblocks, and they all start with the &eAlloy Blast Smelter&r. Some will also be required for the &eHigh Temperature Smelting Casings&r, which are essential components for the Nuclear Multiblocks.\n\n&o&6&lLore&r:&r &oGregicality Multiblocks originally began as a mod for GTCEu on Minecraft 1.12, adding the large versions of GregTech machines and the &6Parallel Hatch&r. &oWhen GTCEu was ported to 1.20, this mod was fully integrated into &dGTm&r - &osomething no one ever complained about&r. For the 1.12 enjoyers out there, you might remember them as the &dGCYM multis&r.", + "quests.extreme_voltage.tungsten_steel.title": "Tungstensteel", + "quests.extreme_voltage.tungsten_steel.subtitle": "The main material of IV", + "quests.extreme_voltage.tungsten_steel.desc": "You know the drill at this point. &6Tungstensteel&r will be your main material for &1IV&r, and you can expect to need a very large quantity of it. Make sure you have a dedicated &6Tungsten line&r running to sustain your production before moving further.\n\nIf you ever need more &aScheelite&r or &aTungstate&r, remember that Mars has some incredibly large veins you can mine. If you are concerned about the sand worm, investing in a &bLarge Miner&r could be very helpful, as it won’t attract the sandworm.\n\nMaybe it’s because of the drilling fluid?", + "quests.extreme_voltage.tungsten.title": "Tungsten", + "quests.extreme_voltage.tungsten.subtitle": "Fully self-sustaining, just like Titanium", + "quests.extreme_voltage.tungsten.desc": "Congrats on making your first &6Tungsten&r! We hope you enjoy this small increase in complexity. Remember that, at first, the small amount of &6Tungsten&r you require can be achieved by simply inputting the &aSoda Ash&r you mined. This may inspire you to fully loop the process so you can automate it peacefully.\n\nAlso remember that the further you progress, the more important it will be to build dedicated and passive lines for all these complex processes that will be required until the end of the pack. Don’t be afraid of lacking resources, be afraid of lacking time.", + "quests.extreme_voltage.iv_hull.subtitle": "IV Already?", + "quests.extreme_voltage.iv_hull.desc": "Even though you have already unlocked the &1IV&r Machine Hull, it may not be very useful until you complete the Fission line, as &1IV&r Circuits are gated behind the processing of &dPlutonium Rods&r. Still, you may find one or two uses for it, and at least you will be ready to build the &1IV Assembler&r as soon as you unlock your first &1IV&r Circuits.", + "quests.extreme_voltage.large_miner.title": "The Large Miner MK I", + "quests.extreme_voltage.large_miner.subtitle": "Your first actually good miner", + "quests.extreme_voltage.large_miner.desc": "The &bLarge Miner&r is a very impressive multiblock for mining the formidable veins you can encounter. It will output ores in their &acrushed forms&r, and rewarding an average of 50%% more resources! It does have some limitations, as you will need to keep it chunkloaded and provide it with a constant supply of drilling fluid.\n\nWe strongly advise moving it around using the &bCopy Paste Tool&r from Building Gadgets once you unlock it. You can add a battery buffer, a large reserve of drilling fluid, and adequate storage (such as a well-upgraded Backpack or ME Chest) to ensure it runs smoothly for a long time.", + "quests.extreme_voltage.ostrum_harvester.title": "Ostrum Harvester", + "quests.extreme_voltage.ostrum_harvester.subtitle": "Better coils means less energy usage", + "quests.extreme_voltage.ostrum_harvester.desc": "The &bOstrum Harvester&r is a close cousin of the &6Lunar Regolith Harvester&r. It can also be upgraded with better coils to reduce energy costs, but it does not require a specific biome. You will need to build it over an &aOstrum Deposit&r for the multiblock to form.\n\nOne more thing: unlike the moon version, this one requires drilling fluid to operate, so you'll want to set up some two-way automation to keep it running.", + "quests.extreme_voltage.ostrum_dust.title": "Ostrum Iodide", + "quests.extreme_voltage.ostrum_dust.subtitle": "I have to do what again?!", + "quests.extreme_voltage.ostrum_dust.desc": "There are many uses for &aOstrum&r, but right now there is one you should be especially concerned about: making &aOstrum Iodide&r, as it will be required to craft your Heat Exchanger.\n\nThere is nothing too complicated about it, except maybe obtaining the &eIodine&r you need. We will let you refer to the quest on the left to make the &l6&r Iodine required to complete the Fission Line.", + "quests.extreme_voltage.formamide.title": "Formamide", + "quests.extreme_voltage.formamide.subtitle": "Also a solvent with many IRL uses", + "quests.extreme_voltage.formamide.desc": "Get ready to void any surplus you produce if you don’t want your steam production to stop.", + "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.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", + "quests.extreme_voltage.liquid_air.subtitle": "So many gases", + "quests.extreme_voltage.liquid_air.desc": "Distilling &bLiquid Air&r is a core mechanic in &6GregTech&r to obtain an &oinfinite supply&r of certain rare gases.\n\nEarth Air Distillation is a good way to get your hands on &bArgon&r, &6Oxygen&r, &eHelium&r, &3Nitrogen&r and &aCarbon Dioxide&r.", + "quests.extreme_voltage.liquid_mars_air.title": "Martian Air", + "quests.extreme_voltage.liquid_mars_air.subtitle": "Even more gases", + "quests.extreme_voltage.liquid_mars_air.desc": "Distilling &bLiquid Air&r is a core mechanic in &6GregTech&r to obtain an &linfinite supply&r of certain rare materials. Since you can’t obtain Nether Air or Ender Air in TFG, we provide an alternative with &cMartian Air&r.\n\nIt’s highly rich in &bArgon&r and &aCarbon Dioxide&r, but it can also yield rare gases such as &eNeon&r, &3Krypton&r, and &9Xenon&r, all unavailable elsewhere.\n\nNote that future updates may move around some of these Noble Gases as we finish more planets. Always remember to check the &6changelogs&r for updates!", + "quests.extreme_voltage.epoxy.title": "Epoxy", + "quests.extreme_voltage.epoxy.subtitle": "Artificial Resin", + "quests.extreme_voltage.epoxy.desc.1": "&aEpoxy&r is the foundation for all future Circuit Boards in the game!\n\n&9&lNote:&r This Quest is quite complicated, so tackle everything else before trying to make Epoxy. You'll need all the help you can get!", + "quests.extreme_voltage.epoxy.desc.2": "There are several ways to obtain the ingredients for &aEpoxy&r.\n\nWe will ignore recipes related to Glycerol, as they're never worth it.\n\nTry and use &3Large Chemical Reactors&r to shortcut recipes.", + "quests.extreme_voltage.epoxy.desc.3": "&dChlorine&r is only partially recycled, so you'll need a constant supply. Feeding it manually will be sufficient at first.\n\nRecipes involving &dSodium Hydroxide&r could be looped by electrolyzing the &9Salt Water&r co-product.\n\nDoing this will probably require you to make some Quadruple Pipes, Pump Covers, Fluid Filters... or route everything using AE2.\n\nIn general, closed loop setups are nice to prevent overproduction or overconsumption, but go for whatever's more fun for you.", + "quests.extreme_voltage.epichlorohydrin.title": "Epichlorohydrin", + "quests.extreme_voltage.epichlorohydrin.desc": "You're going to want to use the &3LCR&r recipe for your first &aEpichlorohydrin&r.\n\nThis recipe requires &aPropene&r, which means that &dOil Processing&r and &dFuel Cracking&r are now necessary ventures. We're truly sorry if you've been dragging your heels!\n\nIt's quite important that you make your first &3Distillation Tower&r before progressing to the right.\n\nLast of all, if you haven't noticed, you can loop the &dSalt Water&r byproduct to bootstrap the &dSodium Hydroxide&r.", + "quests.extreme_voltage.phenol.title": "Phenol", + "quests.extreme_voltage.phenol.desc.1": "Obtain &aPhenol&r from:\n\n&91 -&r &aWood Tar&r distillation.\n\n&92 -&r Reacting &aBenzene&r with &dChlorine&r and &dSodium Hydroxide&r This should be performed in an &3LCR&r, and the Chlorine is perfectly looped.\n\n&93 -&r Shortcutting the above recipe by ignoring the &dSodium Hydroxide&r. This is net negative on &dChlorine&r.\n\n&94 -&r Reacting &aBenzene&r, &dPropene&r and &dOxygen&r using a small amount of &4Phosphoric Acid&r - normally a catalyst, but consumed here in small quantities. This is called the Cumene process.", + "quests.extreme_voltage.phenol.desc.2": "If you're having trouble deciding between the options presented, here's the appeal of each route:\n\n&91 -&r Great if you're willing to set up a &3Pyrolyse Oven&r + &3Distillation Tower&r combo.\n\n&92 -&r This one's our preference! You can use the &dSalt&r to make more &dSalt Water&r, then electrolyze to create a loop.\n\n&93 -&r Very appealing if you have an infinite supply of &dChlorine&r. You could achieve this by setting up a &3Fluid Drilling Rig&r on a Salt Water vein.\n\n&94 -&r ...&4Phosphoric Acid&r is a pain to produce. You'd be mad to consider this.", + "quests.extreme_voltage.phenol.desc.3": "&l&3Lore:&r&o The Benzene + Oxygen recipe was added in GTCE with the intent of fixing missing chemical recipes, as the Large Chemical Reactor didn't exist. Now that CEu provides more realistic options, we may remove the recipe in future.", + "quests.extreme_voltage.acetone.title": "Acetone", + "quests.extreme_voltage.acetone.desc.1": "While distilling &aWood Vinegar&r gives &aAcetone&r, the yield is low and might not meet your needs.\n\nYou might want to use the direct &3LCR&r recipe from &aAcetic Acid&r to obtain &aAcetone&r.\n\nIf you want to be fancy, you can also the good old &aAcetic Acid&r -> &dDissolved Calcium Acetate&r -> &aAcetone&r loop, which does not require a &3LCR&r, but still recycles the Calcium compound perfectly.", + "quests.extreme_voltage.acetone.desc.2": "We've been talking about Acetic Acid, but we're yet to tell you how to obtain it. Wouldn't that be great?\n\n&aAcetic Acid&r can be synthesized in the &3Chemical Reactor&r. Our favorite recipe is from &dEthylene&r.", + "quests.extreme_voltage.aes_insulation.title": "Alkaline Earth Silicate Insulation", + "quests.extreme_voltage.aes_insulation.subtitle": "Also known as Rockwool", + "quests.extreme_voltage.aes_insulation.desc": "A new tier means a new kind of insulation!\n\nTo get started with this one, you'll want to look at the mixer recipe for &dAlkaline Earth Silicate Mixture Dust&r. Eventually, you'll be able to make an infinite supply of this on Mars through Sniffer and Wraptor shearing, as it's used for more than just your next Rocket.", + "quests.extreme_voltage.epoxy_board.subtitle": "A new board, there is more to come", + "quests.extreme_voltage.epoxy_board.desc": "Epoxy Circuit Boards are a key component required to craft your &bNano Circuits&r, but they won’t have much use outside of that purpose.", + "quests.extreme_voltage.ev_circuit_assembler.title": "The &5EV&r Circuit Assembler", + "quests.extreme_voltage.ev_circuit_assembler.subtitle": "Less useful than the Assembler for now", + "quests.extreme_voltage.ev_circuit_assembler.desc": "The &5EV Circuit Assembler&r won’t be of much use until you have a steady supply of &bNano CPU Wafers&r. Still, it will allow you to craft microprocessor circuits much faster and eventually give you access to your first &dLuV Circuits&r, which will be useful once you have an &1IV Assembler&r.", + "quests.extreme_voltage.nano_hv_circuit.subtitle": "It doesn't &olook&r that much smaller...", + "quests.extreme_voltage.nano_hv_circuit.desc": "Your first &eNano Circuits&r! They will require &bNano CPUs&r and therefore a continuous line of &cFission Reactors&r burning Plutonium Rods to produce the necessary &dTritiated Water&r.\n\nAt first, &eNano Circuits&r will feel quite expensive, but once your &dFission Line&r becomes fully passive, they will turn into one of your cheapest ones!", + "quests.extreme_voltage.nano_ev.subtitle": "Back to the usual circuit progression", + "quests.extreme_voltage.nano_ev.desc": "These could actually be cheaper to make than the &bMicroprocessor&r equivalent if you manage to mass-produce &bNano CPU&r efficiently. Once your &cFission Line&r is fully automated, these circuits will become an extremely cost-effective option for your high-end builds.\n\nAlso, note that you can use advanced SMD components from now on!", + "quests.extreme_voltage.nano_iv.subtitle": "Getting closer to LuV technology", + "quests.extreme_voltage.nano_iv.desc": "These &1IV&r Circuits still require one &bNano CPU Chip&r, so in that regard they aren’t actually cheaper than the &bMicroprocessors&r.\n\nHowever, they will be essential for progressing toward the next tier of technology.", + "quests.extreme_voltage.nano_luv.subtitle": "Your first IV circuits", + "quests.extreme_voltage.nano_luv.desc": "Congrats on successfully reaching a new tier of circuits! These &dLuV&r Circuits won’t have much use just yet, as you can’t craft any &dLuV&r machines before completing the &bPlatline&r, but they’ll still be valuable for crafting new &dAE2&r tools and components.\n\nMost of these recipes will require an &1IV&r Assembler, so be sure you have one ready.", + "quests.extreme_voltage.me_part.title": "ME Multiblock Parts", + "quests.extreme_voltage.me_part.subtitle": "Connect GregTech directly to your AE2 network", + "quests.extreme_voltage.me_part.task": "Any ME Bus or Hatch", + "quests.extreme_voltage.me_part.desc": "These blocks can replace your usual Input and Output Buses/Hatches in multiblocks. The &bOutput&r versions are particularly useful as they can store a massive amount of items or fluids, more than enough to handle most setups. This makes them perfect for sharing resources between multiblocks, or avoiding output clogging.\n\nThey connect directly to &dAE2&r cables, letting you skip the use of Storage Buses or Interfaces. However, be careful because they behave like Interfaces, not as actual storage. This means you can’t access their contents through another Interface.", + "quests.extreme_voltage.tunsgten_line_step.title": "Looping Soda Ash", + "quests.extreme_voltage.tunsgten_line_step.subtitle": "You may not want to mine it forever", + "quests.extreme_voltage.tunsgten_line_step.desc.1": "Looping the &5Tungsten Line&r perfectly isn’t the easiest task, so we’ll use this quest to guide you in the right direction.\n\nThe &bSalt&r you obtain should be combined with &aCarbon Dioxide&r and &6Ammonia&r to produce &3Ammonium Chloride&r, which you can then electrolyze to recycle your &6Ammonia&r and obtain the &9Hydrochloric Acid&r needed for &eSodium Tungstate&r.\n\nThis process also produces &bSodium Bicarbonate&r, which you should electrolyze to recover your &dSoda Ash&r.", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "Finally, to close the loop, you need to manage your &aCarbon Dioxide&r. You can either split a portion of your &dSoda Ash&r and electrolyze it to recover &aCarbon&r and &9Oxygen&r, allowing you to get back some &aCarbon Dioxide&r, or brute force it by using &bLiquid Air&r distillation to produce an infinite supply of &aCarbon Dioxide&r.", + "quests.extreme_voltage.tunsgten_line_step_1.title": "The new Tungsten Line", + "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "Why? Just why?", + "quests.extreme_voltage.tunsgten_line_step_1.desc": "The &eTungsten Line&r in TerraFirmaGreg has been completely reworked and you’ll be happy (or not) to know that it’s now &cmuch harder&r.\n\nIt’s possible to &afully loop&r every material in the Tungsten Line, but doing so requires a lot of engineering. Alternatively, you can brute-force your way through by &cmass-producing&r the resources you need.\n\nA little tip: &4Mars&r has several &agood ore veins&r for &eSoda Ash&r and &eTungsten&r.\n\nTake your time, optimize, and the Tungsten Line will become the foundation of your mid-to-late game progress.", + "quests.extreme_voltage.tunsgten_line_step_2.title": "Last part of the Tungsten Line", + "quests.extreme_voltage.tunsgten_line_step_2.subtitle": "This part loops itself", + "quests.extreme_voltage.tunsgten_line_step_2.desc": "Once you’ve obtained the &bTungstic Acid&r and looped the &cSoda Ash&r, you’ve completed the hardest part. From here, you’ll only need an &6Evaporation Tower&r to fully loop the &aHydrogen&r required for the &6Arc Furnace&r, and a &6Pyrolyse Oven&r to recover the &3Ammonia&r you used at the start.\n\nNothing too difficult, so enjoy your &5Tungsten&r!", + "quests.extreme_voltage.advanced_fluid_rig.title": "Extreme Fluid Drilling", + "quests.extreme_voltage.advanced_fluid_rig.subtitle": "Extreme is an apt descriptor", + "quests.extreme_voltage.advanced_fluid_rig.desc.1": "At the cost of 4x the drilling Power, the &3Advanced Fluid Drilling Rig&r gains &616x the output&r in Fluid.\n\nThe depletion of veins is also halved. This means you will get a total of &632x&r as much Oil (or whatever fluid) from a bedrock fluid vein until depletion!\n\nEven when depleted, you can still use this and be firmly power positive.\n\nOne single &3Advanced Fluid Drilling Rig&r should be enough to supply Power for a base up to &dLuV&r... and possibly beyond!", + "quests.extreme_voltage.advanced_fluid_rig.desc.2": "As a &9reminder&r, since this last appeared in &bMV&r:\n\n&9-&r &aLight Oil&r can be used for &dLPG&r and &dMethane&r to run in &3Large Gas Turbines&r.\n\n&9-&r &aOil&r can be used for &dDiesel&r and &dCetane-Boosted Diesel&r to run in &3Large Combustion Engines&r.\n\n&9-&r &aHeavy Oil&r can be used for &dNitrobenzene&r to run in &3Large Gas Turbines&r.", + "quests.extreme_voltage.mpic_chip.title": "Power Integrated Circuit", + "quests.extreme_voltage.mpic_chip.desc": "New Cutting Machine? &a✓&r\n\nNew Lens? &a✓&r\n\nNew Power Circuit? &a✓&r\n\nNew EBF Metal required? &a✓&r\n\nNew Coil for Energy Hatch? &a✓&r", + "quests.extreme_voltage.ev_energy_hatch.desc": "Another tier, another energy hatch. You know what to do with this!", + "quests.extreme_voltage.ev_dynamo_hatch.title": "EV Dynamo Hatch", + "quests.extreme_voltage.ev_dynamo_hatch.desc": "If you haven't encountered them yet, Dynamo Hatches are essentially the Output equivalent of Energy Hatches. You'll want to use these on your new Large Generators for some proper EV power, covered in the next quests.", + "quests.extreme_voltage.ev_dynamo_hatch.task": "Any EV Dynamo Hatch", + "quests.extreme_voltage.oil_distillation.title": "True Oil Distillation", + "quests.extreme_voltage.oil_distillation.desc": "Here are the four most relevant &dHydrocarbons&r you will be obtaining from distilling Steam-Cracked Fuels.\n\nYou will want to set this up &lbefore&r moving to &1IV&r.\n\n&aSteam-Cracked Light Fuel&r as input is probably the most favorable, but you are free to experiment.\n\nIf you don't want the Carbon output, feel free to slap a Voiding Cover on it.", + "quests.extreme_voltage.oil_distillation.task": "Any oil", + "quests.extreme_voltage.wood_distillation.title": "True Organic Distillation", + "quests.extreme_voltage.wood_distillation.desc.1": "This Quest requires the &3Pyrolyse Oven&r and is &doptional&r, yet convenient.\n\nThese four fluids are the important products of &aWood Tar&r Distillation:\n\n&9-&r Phenol: useful for Epoxy and PBI\n&9-&r Benzene: an important hydrocarbon\n&9-&r Toluene: useful for TNT\n&9-&r Dimethylbenzene: useful for PBI\n\nUnlike Oil, putting &aWood Tar&r in the &3Distillation Tower&r for the byproducts, and using &dNitrobenzene&r for power is arguably worth it.", + "quests.extreme_voltage.wood_distillation.desc.2": "These three are the important products from &aWood Vinegar&r Distillation:\n\n&9-&r Acetic Acid: useful to make more Acetone\n\n&9-&r Methanol: a moderately important hydrocarbon\n\n&9-&r Acetone: useful for Epoxy and Gasoline", + "quests.extreme_voltage.wood_distillation.desc.3": "It's also possible to use a \"full combo\" of 4 &3DTs&r - input &aCharcoal Byproducts&r into a first tower, splitting into &aWood Tar&r, &aWood Gas&r and &aWood Vinegar&r.\n\nThis isn't the most efficient cost-to-production ratio, but the option is there if you get bored.", + "quests.extreme_voltage.wood_distillation.task": "Any of these", + "quests.extreme_voltage.new_qol.title": "New QoL?", + "quests.extreme_voltage.new_qol.desc": "Here's some useful tools that you've unlocked with the EV Assembler.", + "quests.extreme_voltage.building_gadgets.title": "Building Gadgets", + "quests.extreme_voltage.building_gadgets.subtitle": "Paving over beautiful landscapes with just one press of a button!", + "quests.extreme_voltage.building_gadgets.desc": "Looking to expand your factory building even further? Want to just paste down another multiblock? Or is that mountain blocking your view?\n\nLook no further than Building Gadgets, a collection of tools that can do all that and more. These are your perfect building tools going forward, and they come with a manual too!", + "quests.extreme_voltage.gasoline.title": "Gasoline", + "quests.extreme_voltage.gasoline.desc": "&aGasoline&r is an extremely powerful Combustion Fuel. It's over &63 times&r as energy dense as &dDiesel&r!\n\n&9Note:&r This Combustion Fuel exists solely as a &echallenge&r for you to overcome if you desire to take on it.\n\nIt's completely &doptional&r, so we'll let you figure out how to obtain it, without any further tips.", + "quests.extreme_voltage.radiation.title": "Dealing with Radiation", + "quests.extreme_voltage.radiation.subtitle": "Extra Spicy Materials", + "quests.extreme_voltage.radiation.desc.1": "While GregTech doesn't have any sort of \"ambient radiation\" like some other mods do, &aradioactive materials&r are still dangerous to the player when held! This applies to any item that says it's &eCarcinogenic&r and is caused by &eAny Contact&r.\n\nThere's a few ways to mitigate this, and the easiest is to just avoid contact with the items in the first place - move them around with pipes, backpacks, or even Small Vessels. The less time you have them in your inventory, the better!", + "quests.extreme_voltage.radiation.desc.2": "Besides this, you'll want some other ways to protect yourself. Wearing equipment tagged as &e#ppe_armor&r in all four slots will protect you from radiation. However, this will still damage the equipment over time (at a rate equivalent to how much the radiation would affect you), &oexcept&r for the &6Hazardous Material Suit&r, which will never take damage from it.\n\nThe downside is that the hazmat suit isn't a space suit, so on Mars it's up to you whether you want to set up an enclosed Oxygenated base for the hazmat suit, or just take the durability damage on your space suit.", + "quests.extreme_voltage.radiation.desc.3": "Lastly, you can check your radiation poisoning at any time with the &a/medical_condition query&r command. If it gets too high, you will start taking occasional damage or just suddenly die, so you want to prevent it.\n\nThe only other way to treat it is to craft and eat &bRad Away&r pills, which will each remove 50%% of the build-up.", + "quests.extreme_voltage.radiation.task": "Safety First!", + "quests.extreme_voltage.hexafluorosilic_acid.title": "Hexafluorosilic Acid", + "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "There's something in the water...", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "Hexafluorosilic Acid is obtained by bathing Red Granite, Trachyte, or Argillite Dust in Hydrofluoric acid. You can get an infinite amount of this dust from a Rock Crusher.", + "quests.extreme_voltage.martian_sludge.title": "Martian Sludge", + "quests.extreme_voltage.martian_sludge.subtitle": "The Slop Line", + "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.gregtech_energy": "Энергетика GregTech", + "quests.gregtech_energy.subtitle": "Итак, как всё это работает?", + "quests.gregtech_energy.start.title": "Let's do some explaining", + "quests.gregtech_energy.start.desc": "We know that GregTech isn’t the easiest mod to get into — especially when it comes to the &cenergy system&r. That’s why we’ll take our time in this chapter to explain as much as we can.\n\nSome things here might not make full sense until later in your progression, so don’t stress yourself. Just try to understand what you can for now, and feel free to &dcome back to this chapter&r whenever you have questions.\n\nWe’ve split this chapter into &efour categories&r, each one covering a topic related to the GregTech Energy System. We’ll provide as many examples as possible to help you understand how it all works.", + "quests.gregtech_energy.start.task": "Welcome aboard", + "quests.gregtech_energy.start.subtitle": "It's not as bad as you think", + "quests.gregtech_energy.moving.title": "Moving your Energy", + "quests.gregtech_energy.moving.subtitle": "So, energy transfer, huh", + "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire= &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", + "quests.gregtech_energy.moving.task": "I understand", + "quests.gregtech_energy.transformer.title": "The Super Transformer", + "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", + "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can channel energy between any tiers — from &aLV&r to &cUHV&r — with no explosions. But that's not even the best part.\n\nIt can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", + "quests.gregtech_energy.moving_wire.title": "Moving with wires", + "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", + "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", + "quests.gregtech_energy.moving_wire.task": "I finished looking at wires", + "quests.gregtech_energy.moving_amp.title": "Managing Amp", + "quests.gregtech_energy.moving_amp.subtitle": "It burns?", + "quests.gregtech_energy.moving_amp.desc.1": "You’ll notice each wire has its own &eMax Amperage&r — that’s the amount of amps a cable can safely carry before burning.\nTo know how many amps will flow through a cable, you must consider two things:\n\n- A Generator or Battery outputs a specific amount of Amps:\nBattery Buffers will output as many amps as they have batteries inside.\nEvery single-block generator outputs &e1A&r.\nFor multiblock generators, it depends on the &aDynamo Energy Hatch&r — the value is shown in its tooltip.\n\nAmperage output is also based on what is needed: each machine connected to a power line will request amps to fill its internal buffer.", + "quests.gregtech_energy.moving_amp.desc.2": "Let’s look at an example:\nYou have &e6 machines&r connected to an &e8x Battery Buffer&r filled with 8 batteries.\nThe buffer will try to send &e1A&r to each machine — that’s &e6A&r total.\nThe amps are delivered in order: the closest machines get power first, and the furthest ones last.\nIf your cables only support &c4A&r, they’ll &cBURN&r. You’ll need &a8A cables&r in this case.\n\n&bTip:&r The first machine in the line might need a cable that handles &e8A&r,\nbut the last machine may only need &e1A&r, as it’s only receiving what’s left.\n&c⚠ Be careful:&r adding another machine at the end could cause the cable to burn if it exceeds the limit.", + "quests.gregtech_energy.moving_amp.task": "I got it", + "quests.gregtech_energy.produce_energy.title": "Producing Energy", + "quests.gregtech_energy.produce_energy.subtitle": "Gas or Oil?", + "quests.gregtech_energy.produce_energy.desc": "It’s all about making energy, right? This part won’t be the most complicated one, since &eproducing energy&r in &2TerraFirmaGreg&r works pretty much like in &5standard GregTech&r.\n\nYou’ll learn about the various &6methods to generate energy&r, as well as some of the &afuels&r you can use to get the most out of your setup.", + "quests.gregtech_energy.produce_energy.task": "Let's go!", + "quests.gregtech_energy.lv_generator.title": "Let's make energy", + "quests.gregtech_energy.lv_generator.subtitle": "Welcome to LV", + "quests.gregtech_energy.lv_generator.desc.1": "All of these are your basic &61-block Generators&r. They have a single &9input&r for their fuel — whether it’s &esteam&r, &agas&r, or &6liquid fuel&r — and they output exactly &e1A&r of power at their energy tier.\n\nThey’re simple to work with and will be your &ofirst source of power&r in &5GregTech&r until you reach the &dlarge multiblock generators&r later on.\n\nTo know what fuels can be used, &aEMI&r is your best friend — or you can check the &bquests on the left&r, where we’ve listed the most &aoptimal inputs&r. For now here are the <hree ways&r to begin your power production, all of them are &aviable&r the choice is yours.", + "quests.gregtech_energy.lv_generator.desc.2": "&e1. Steam Power&r:\n\nThis is the most classic method. You can convert the steam produced by your High Pressure Boilers into EU using a Steam Turbine.\n\nIt generates &e32 EU/t&r with &e64 mB/t&r of steam. If you follow this path, we highly recommend making a Large Bronze Boiler, which can easily be fueled with Lava, Creosote, or other burnable solid fuels (check JEI!).", + "quests.gregtech_energy.lv_generator.desc.3": "&e2. Rotational Power&r:\n\nYou can use Create's rotational power with an Alternator to generate RF, then convert it into EU using an &7LV&r Converter.\n\n(Check the Alternators quest in the LV Chapter for more details.)", + "quests.gregtech_energy.lv_generator.desc.4": "&e3. Biodiesel Power (TFG Exclusive)&r:\n\nCanola and Sunflowers can be processed into large amounts of Seed Oil. Combine it with TFC Alcohol to produce Biodiesel.\n\nThis method may seem more complex, but Biodiesel is extremely powerful during &7LV&r and &bMV&r tiers. It scales well into &5EV&r with &eCetane-Boosted Diesel&r later on.\n\nTo use Biodiesel, you’ll need a &7LV&r Combustion Generator. While it may be slightly more expensive, every mB of Biodiesel provides a high amount of EU, making it easier to transport and store.\n\nIt's your choice how you want to start your energy production.", + "quests.gregtech_energy.lv_generator.task": "Any LV Generator", + "quests.gregtech_energy.mv_generator.title": "The MV Generators", + "quests.gregtech_energy.mv_generator.subtitle": "Basically the same as the LV ones", + "quests.gregtech_energy.mv_generator.desc": "To run your &bMV&r machines, you will need to upgrade your power production.\n\nIf an &7LV&r Generator produces &e32 EU/t&r, the &bMV&r Generator runs at &e128 EU/t&r.\nIt consumes four times more fuel to produce four times more energy.\n\nTo better understand power generation at &bMV&r, we strongly recommend checking the dedicated quest in the &bMV&r chapter, located right at the beginning.\n\nAt &bMV&r, you also gain access to more options:\n\n- Oil-based fuels like Diesel or Light Fuel\n- Gas-based fuels like Benzene, LPG, or Methane\n- You can continue using Biodiesel or Steam, though you may need larger pipes (Aluminium, Steel, or Potin can handle it)\n\nExplore your options carefully to optimize your energy setup.", + "quests.gregtech_energy.mv_generator.task": "Any MV Generator", + "quests.gregtech_energy.hv_single_generator.title": "The last single block generators", + "quests.gregtech_energy.hv_single_generator.subtitle": "Third time's the charm?", + "quests.gregtech_energy.hv_single_generator.desc": "If you don’t want to build the &eLarge Steam Turbine&r, these are your only options for &6HV&r.\n\nHowever, keep in mind that they won’t be available for &5EV&r and beyond.\n\nStill, they remain strong choices for energy generation at the &6HV&r tier.", + "quests.gregtech_energy.hv_single_generator.task": "Any HV Generator", + "quests.gregtech_energy.hv_fuel.title": "The obtainable HV fuels", + "quests.gregtech_energy.hv_fuel.subtitle": "To each their own", + "quests.gregtech_energy.hv_fuel.desc": "These are the three fuels respectively used for the Combustion, Steam, and Gas Generators.\n\nIf you have reached &6HV&r, we highly recommend choosing one of these three options.\n\nHowever, don’t worry—other fuels are not necessarily bad.\n\nYou should always pick the solution that works best for your setup and playstyle.", + "quests.gregtech_energy.hv_fuel.task": "I got it", + "quests.gregtech_energy.hv_choice.title": "Producing at HV", + "quests.gregtech_energy.hv_choice.subtitle": "Your choice", + "quests.gregtech_energy.hv_choice.desc": "By reaching &6HV&r, you now have access to your first multiblock for power generation.\n\nIt’s also considered the worst one… but it can still work well if you really want to use it.\n\nYour other option is to continue using the previous generators—you now have access to new and better fuels.", + "quests.gregtech_energy.hv_choice.task": "I understand", + "quests.gregtech_energy.lpt.title": "The Large Plasma Turbine", + "quests.gregtech_energy.lpt.subtitle": "You need a Fusion Reactor", + "quests.gregtech_energy.lpt.desc.1": "The &6Large Plasma Turbine&r — also known as &dLPT&r — is a real powerhouse. Not in size (it’s fairly standard), but in capacity. You’ll need LuV Circuits, a LuV Machine Hull, and tons of Tungstensteel to craft it. It’s considered the most powerful generator in TerraFirmaGreg.\n\nSo, how does it work? You’ll need Plasma produced by a Fusion Reactor. That plasma is cooled down inside the LPT while generating energy. You will need an output hatch to get the cooled plasma out.", + "quests.gregtech_energy.lpt.desc.2": "By default, the LPT starts at &e16384 EU/t&r, which doesn't look like much, but that energy output &cdoubles&r with each increase in the Rotor Holder after &1IV&r.\n\nFor example, using a LuV Rotor Holder (x2) with an HSS-E Turbine Rotor (x2.8) will give you a staggering &e91750 EU/t&r — that’s about &a2.8A of LuV&r power!\n\nLike other turbines, it will slow down and stop if the Dynamo Hatch is full so you won't waste plasma, but unlike the others, this one doesn’t require a Muffler Hatch.", + "quests.gregtech_energy.lgt.title": "The Large Gas Turbine", + "quests.gregtech_energy.lgt.subtitle": "The fan favorite", + "quests.gregtech_energy.lgt.desc.1": "The &6Large Gas Turbine&r — also known as &dLGT&r — is one of your two main sources of energy production for most of the modpack. You’ll be able to build your first one at &5EV&r using Stainless Steel. It can carry you from &5EV&r all the way to &dLuV&r, until you feel ready to upgrade to the Large Plasma Turbine.\n\nThat said, many players can finish TerraFirmaGreg using only these turbines — provided you have a strong infrastructure to handle the gas demands of high-tier LGTs.\n\nTo build the LGT, you’ll need the usual Maintenance Hatch and Input Hatch. This turbine requires a Muffler Hatch, but it does not use an Output Hatch.", + "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the Rotor Holder after &5EV&r. For example, an LGT using an IV Rotor Holder (×2) with a HSS-E Turbine Rotor (280%% power) will produce:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a IV 4A Dynamo Hatch, since a normal Dynamo Hatch only handles 2A.\n\nJust so you know: the Efficiency stat of a Turbine Rotor increases the duration of the recipe, which means you get more power from each mB of fuel.\n\nLastly, if the Dynamo Hatch fills up, the LGT will automatically slow down and pause fuel usage, gradually reducing rotor speed until it resumes again. So you won't lose any fuel during a backup.", + "quests.gregtech_energy.lst.title": "The Large Steam Turbine", + "quests.gregtech_energy.lst.subtitle": "It... exists", + "quests.gregtech_energy.lst.desc.1": "The &6Large Steam Turbine&r — or &dLST&r — might not be the most common Large Generator in standard GregTech, but thanks to its early unlock at &6HV&r and the fact that Large Boilers are stronger in TerraFirmaGreg, it definitely has its place.\n\nTo make it work, you’ll need an Input Hatch for steam, an Output Hatch for Distilled Water, and of course a Maintenance Hatch. That’s all you need!\n\nLike all Large Turbines, you’ll place a Rotor Holder on one side and a Dynamo Hatch on the other to extract power. For the LST, the Rotor Holder must be at least &6HV-tier&r. Each Rotor Holder upgrade &cdoubles&r the output and increases efficiency slightly.", + "quests.gregtech_energy.lst.desc.2": "The base output of the LST is &e1024 EU/t&r. Let’s take an example: with an IV Rotor Holder (×4) and a HSS-E Turbine Rotor (280%% power), you’ll get:\n1024 × 4 × 2.8 = &e11,468.8 EU/t&r — that’s about &a1.4A of IV&r.\n\nTo extract that energy, you’d need either an IV Dynamo Hatch or an EV 16A Dynamo Hatch.\n\nWhile the LST isn’t the best turbine out there, if you have plenty of Large Boilers or access to a large amount of fuel, these steel-based, affordable turbines could absolutely serve you well.", + "quests.gregtech_energy.lce.title": "The Large Combustion Generator", + "quests.gregtech_energy.lce.subtitle": "Don't belive its GUI", + "quests.gregtech_energy.lce.desc.1": "The &6Large Combustion Engine&r (&dLCE&r) and the &5Extreme Combustion Engine&r (&dECE&r) are your champions if you’re into transforming Oils into fuels. These two &6bad boys&r share the same fuel types and even look alike — but they require different materials to build.\n\nTo craft the LCE, you’ll need to reach &5EV&r and unlock Titanium, along with at least one IV Circuit. For the ECE, it’ll be Tungstensteel and a LuV Circuit — something you should be able to build comfortably during &1IV&r.", + "quests.gregtech_energy.lce.desc.2": "Both machines require an Input Hatch for fuel and also Lubricant. For the &dECE&r, adding Oxygen or Liquid Oxygen will grant you a &cmassive energy boost&r. Check the tooltip of your fuel to compare how much extra energy you get with oxidizers — it's well worth it.\n\nKeep in mind: both engines need a Muffler Hatch.", + "quests.gregtech_energy.lpt_fuel.title": "Plasma Fuels", + "quests.gregtech_energy.lpt_fuel.subtitle": "It's very hot", + "quests.gregtech_energy.lpt_fuel.desc.1": "&6Large Plasma Turbines&r require high-tech fuels to run, and we recommend two strong options:\n\nThe first option becomes available with your MK1 Fusion Reactor: &eHelium Plasma&r.\nYou can create it using Deuterium and Tritium Gas — both gases are obtained by distilling &aLiquid Ender Air&r.\nThis fuel isn't the most powerful, but it's by far the easiest and earliest to produce.", + "quests.gregtech_energy.lpt_fuel.desc.2": "The second option requires a MK3 Fusion Reactor and allows you to generate &eNickel Plasma&r.\nTo make it, you’ll need Liquid Potassium — which you can extract from various ores — and the infamous Fluorine, which you should already know how to produce by now.\n\n⚠ Don’t forget: Helium Gas and Liquid Nickel should be collected and returned to your storage for future reuse.\n\nThese two fuels are your best candidates for powering the &dLPT&r, depending on how far you've progressed in your industrial madness.", + "quests.gregtech_energy.lpt_fuel.task": "I don't want to make a bucket of Plasma", + "quests.gregtech_energy.lgt_fuel.title": "Gas Fuels", + "quests.gregtech_energy.lgt_fuel.subtitle": "Everyone's favorite", + "quests.gregtech_energy.lgt_fuel.desc.1": "When we speak about gas fuels, we’re really talking about just one — &eNitrobenzene&r.\n\nYou’ll be able to produce it once you reach &6HV&r, and we &astrongly recommend it&r if you’re planning to use the Large Gas Turbine.\n\nBefore reaching Nitrobenzene, &eBenzene&r is a solid option to get started. You can obtain it from a tree farm or by processing Heavy Oil, if you’re lucky enough to have some nearby.", + "quests.gregtech_energy.lgt_fuel.desc.2": "Making Nitrobenzene involves several steps — until you craft your first Large Chemical Reactor (LCR), which will let you skip many sub-steps and simplify the process.\n\nIt’s nothing too complicated: combine Hydrogen, Nitrogen, and Oxygen to make &eNitric Acid&r in infinite quantities. As for Sulfuric Acid, you probably already know it’s just Sulfur and Water — right?\n\nOnce you get this chain going, Nitrobenzene becomes one of the most powerful fuels for gas burning.", + "quests.gregtech_energy.lgt_fuel.task": "Gas in a bucket?", + "quests.gregtech_energy.lst_fuel.title": "This is Steam", + "quests.gregtech_energy.lst_fuel.subtitle": "Not much of a choice", + "quests.gregtech_energy.lst_fuel.desc": "Steam isn’t complicated — just boil water.\n\nTo do it efficiently, we recommend using &6Large Boilers&r. There's four versions: one each for &8ULV&r, &bMV&r, &5EV&r, and &1IV&r. Each tier provides a strong increase in steam output.\n\nHowever, be aware: the scaling of the &dLarge Steam Turbine&r with these boilers is not the best compared to other power generation methods.\n\nMost players will skip the Titanium and Tungstensteel Boilers — they exist if you want them, but aren’t worth building. Steam just doesn't scale very well!\n\nAs a reminder: &e2 mB&r of steam = &e1 EU&r.", + "quests.gregtech_energy.lst_fuel.task": "I will switch to a denser fuel", + "quests.gregtech_energy.lst_fuel.task.1": "Large Boilers", + "quests.gregtech_energy.lce_fuel.title": "Liquid Fuel", + "quests.gregtech_energy.lce_fuel.subtitle": "The polluter's favourite", + "quests.gregtech_energy.lce_fuel.desc.1": "All of these fuels are used for &6Combustion Generators&r — ranked here from the least efficient to the best.\n\nDuring &bMV&r, we recommend starting with Diesel or Biodiesel. Later on, you can upgrade to Cetane-Boosted Diesel at &6HV&r by mixing it with Nitrogen, Hydrogen, and Oxygen.", + "quests.gregtech_energy.lce_fuel.desc.2": "Once you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to Gasoline and High Octane Gasoline. Don’t attempt this too early — oils need to be distilled properly, and doing it with a regular Distillery is not efficient at all.\n\nTo make this work, you'll need a combination of oil distillation and some organic compound processing. Thankfully, a Pyrolyse Oven and a Distillation Tower will handle it all smoothly.\n\nIf you manage a steady supply of High Octane Gasoline, you should be able to finish the entire modpack running only on Combustion Generators.", + "quests.gregtech_energy.lce_fuel.task": "I got enough", + "quests.gregtech_energy.large_solar.subtitle": "Huge Easy Power", + "quests.gregtech_energy.large_solar.desc.1": "The Large Solar Array MK I will be your go-to solution if you want to set up a larger base on the Moon.\n\nIt’s especially useful for &bAE2&r processing lines, and it can also power your Bedrock Miners.\n\nDon’t forget that you can use the GregTech Terminal item to build the multiblock instantly by sneak-right-clicking on the controller.\n\nCheck the available recipes by simply pressing &eU&r on the controller to see your options.", + "quests.gregtech_energy.large_solar.desc.2": "&6The Large Solar Array MK I&r comes with &92 different recipes&r:\n\n&9• Passive Mode&r —\nThis mode slowly consumes &dPhotovoltaic Cells&r, meaning it's fine when you're actively setting up your base if you throw a stack in there, but won't last forever. It will only generate &62A HV&r during the day — enough for basic systems, but far from optimal.\n\n&9• Active Mode&r —\nIf you want to &amaximize the energy output&r, you’ll need to manage coolant. This will require your Moon Base to be more built up, but the reward is you get &52A EV&r instead!\n\nThere's also MK II and MK III versions for higher tiers, requiring more advanced coolants.", + "quests.gregtech_energy.large_solar_t2.subtitle": "Even stronger", + "quests.gregtech_energy.large_solar_t2.desc.1": "If you're building an &dAE2 base on the Moon&r, chances are you'll need a lot more energy. That's where the &6Large Solar Array MK II&r comes in!\n\nJust like the MK I, it offers 2 different recipes — but this time, neither is fully passive.", + "quests.gregtech_energy.large_solar_t2.desc.2": "Both &bSolar Coolant&r and &bCryogenized Fluix&r are fully renewable on the Moon. In fact, the Solar Coolant loop recycles its &eFluorine&r and &eChlorine&r inputs — meaning you only need a steady supply of:\n\n• Helium-3 — can be extracted with a &aFluid Drill Rig&r\n• Water — collect it passively with an &aAqueous Accumulator&r\n\n&cPower emergency fallback:&r\nIf your fluid supply is interrupted, the LSA MK II can still operate using Photovoltaic Cells.\nThis fallback method keeps your base online while you troubleshoot the issue.\n\nA must-have for any serious off-world AE2 infrastructure.", + "quests.gregtech_energy.large_solar_t3.subtitle": "Maximal Power", + "quests.gregtech_energy.large_solar_t3.desc": "The final tier is the &6Large Solar Array MK III&r. It works the same way as the MK II, but its new Solar Coolant requires the addition of &aArgon&r and &bSilica Aerogel&r.\n\nYou should already be familiar with &bSilica Aerogel&r — you used it in your &dRocket Tier 3&r.\nHowever, it's much harder to produce on the Moon, and you may need a constant supply shipped from &aEarth&r.\n\nWe’ll let you decide how to handle this logistical challenge — whether it’s through automation, or interplanetary transport, the choice is yours.\n\n&eHigh-tech energy&r demands &chigh-level infrastructure&r. Plan wisely!", + "quests.gregtech_energy.solar_panel.subtitle": "Light in the Dark", + "quests.gregtech_energy.solar_panel.desc": "The Solar Panel will be your first source of power on the Moon.\n\nThey produce 32 EU/t during daytime, but keep in mind they actually generate RF, so you’ll need a Converter to transform it into EU.\n\nYou can use one &bMV Converter&r for up to 2 Solar Panels or a &6HV Converter&r for up to 4 Solar Panels.", + "quests.gregtech_energy.storage.title": "Storing Energy", + "quests.gregtech_energy.storage.subtitle": "Gotta put all that juice somewhere", + "quests.gregtech_energy.storage.desc": "Storing your energy is one of the most fundamental pillars of the power system in GregTech.\n\nWhy is that? Simply because even the strongest generators won't be enough to keep up when you start a big craft — especially in late game.\n\nTo deal with this, GregTech provides multiple solutions to store astronomical amounts of EU. These storages act as a buffer between your energy production and the machines that drain it during complex operations.\n\nWhether you’re preparing for a Fusion Reactor, an LCR, or any HV-IV scale crafting chain, you’ll need that extra backup of energy to keep everything stable.\n\nDon’t underestimate the power of a good battery — it may just be the thing that saves your base from a blackout during critical moments.", + "quests.gregtech_energy.storage.task": "I understand", + "quests.gregtech_energy.tank.title": "Storing Fuel", + "quests.gregtech_energy.tank.subtitle": "There's more kinds of batteries than just electric ones", + "quests.gregtech_energy.tank.desc.1": "Obviously, storing energy can also mean storing the fuel that makes it.\n\nFor this scenario, while Drums and Crates are decent early options, you should not overlook the &dSuper Tank&r and the &dSuper Chest&r.", + "quests.gregtech_energy.tank.desc.2": "These beasts are capable of storing tremendous amounts of fluid or items — perfect for automated energy setups, especially when you want to generate power far away from your main base without having to build an entire cable network.\n\nJust load them up with gas, fuel, steam or even plasma, and let them handle the rest. With proper planning, your outposts can be fully operational with no live connection to your central grid.\n\nEnergy doesn’t always come in wires — sometimes, it comes in barrels.", + "quests.gregtech_energy.tank.task": "Any Super Tank", + "quests.gregtech_energy.battery_buffer.title": "Battery Buffer", + "quests.gregtech_energy.battery_buffer.subtitle": "The basic battery buffer beckons batteries", + "quests.gregtech_energy.battery_buffer.desc.1": "Battery Buffers are your basic machines to store and manage energy — though technically, they don’t store energy on their own. They simply serve as a housing for your batteries.\n\n&c⚠ If you don’t want them to explode&r:\n- &4Never input higher-tier energy&r into a lower-tier Battery Buffer.\n- Batteries can only be charged if they are of &cequal or lower tier&r than the Battery Buffer.", + "quests.gregtech_energy.battery_buffer.desc.2": "A Battery Buffer can accept up to 2x its output amperage.\nSo for example, a 4x Battery Buffer can take in &a8A&r — but will only output &e4A&r max (1A per battery slot).\n\n&eReminder&r:\n- No batteries = no output.\n- The number of batteries determines the number of Amps it outputs. (That means a &68x Battery Buffer&r with only &e3 batteries&r will only output &e3A&r.)\n\nUse them wisely — they are the foundation of any stable energy network.", + "quests.gregtech_energy.battery_buffer.task.1": "Any battery buffer", + "quests.gregtech_energy.battery_buffer.task.2": "Another one", + "quests.gregtech_energy.pss.title": "The Power Substation", + "quests.gregtech_energy.pss.subtitle": "All your eggs in one basket", + "quests.gregtech_energy.pss.desc.1": "The &dPower Substation&r — also known as the &dPSS&r — is the &6ultimate custom battery multiblock&r. Once you're able to craft it in &1IV&r, it should easily serve as your base's central source of power, so it can be a good thing to focus towards.\n\nIt can store so much energy... you’d probably need multiple lifetimes to fill it.", + "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &8Amperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", + "quests.gregtech_energy.batteries.title": "Super Batteries", + "quests.gregtech_energy.batteries.subtitle": "Sci-Fi power storage", + "quests.gregtech_energy.batteries.desc": "In &7LV&r and &bMV&r, you probably built your first batteries made of Sodium or Lithium.\n\nBut let’s be real — these are the weakest batteries GregTech has to offer.\n\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\nThey are much more potent, store way more energy, and can help you push your factory to the next tier.\n\nAre they more expensive? Of course. But let’s be real...\nPower is Power. Who’s counting?", + "quests.gregtech_energy.batteries.task": "Any crystal battery", + "quests.gregtech_energy.spending_energy.title": "Spending Energy", + "quests.gregtech_energy.spending_energy.subtitle": "Oh you will spend energy", + "quests.gregtech_energy.spending_energy.desc.1": "How to spend all this energy?\n\nUse your machines! Sounds simple, right?\nWell... not exactly. There are many small details that you should learn to help you on your quest to completing &3TerraFirmaGreg&r.\n\nBasic Machines:\n- These machines are simple.\n- They can request up to &a2A&r each.\n- If you input a higher tier of energy... &4\uD83D\uDCA5 they explode&r.\n\nGregTech Multiblocks:\nNow things get interesting. Multiblocks offer more flexibility and power — &eif&r you understand how they work.", + "quests.gregtech_energy.spending_energy.desc.2": "Standard Mechanics:\n- If a multiblock can accept two Energy Hatches (most of them), this allows you to use higher-tier recipes than the machine’s base tier.\n\nExample:\nIf you're using a Large Mixing Vessel and you install two IV Energy Hatches, it will be able to process &cLuV&r-tier Mixer recipes.\n\nThis is one of the key benefits of multiblocks over single-block machines — to upgrade them to the next tier, you only have to swap out their energy hatches instead of replacing the whole machine.", + "quests.gregtech_energy.spending_energy.desc.3": "Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1A!\n\nYou can still use a 4A or 16A Energy Hatch. This will allow &bOverclocking&r of recipes but not the recipe tier.\n\nExample:\nThe Large Circuit Assembler only allows one Energy Hatch. If you install a 4A IV Energy Hatch, you will be able to overclock all IV and lower recipes.\n\nHowever, it cannot craft LuV-tier recipes because the machine doesn't support multiple hatches. That limitation is intentional, to prevent skipping the GregTech progression system.", + "quests.gregtech_energy.spending_energy.desc.4": "So remember: More amps on a single hatch means faster processing, but two hatches are required to unlock higher-tier recipes.", + "quests.gregtech_energy.spending_energy.task": "I understand", + "quests.gregtech_energy.overclock.title": "Overclock", + "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", + "quests.gregtech_energy.overclock.desc.1": "Have you heard about Overclocking, but don't really understand what it is? Let's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of 32 EU/t — sometimes less, but never more.\n&dMV&r goes up to 128 EU/t.\n&dHV&r reaches 512 EU/t.\nBasically, every tier is a 4x increase in power usage.", + "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 8x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", + "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Heat Furnace\n- Large Chemical Reactor\n- Electric Greenhouse", + "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", + "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", + "quests.gregtech_energy.blast_oc.subtitle": "You don't need to understand this one", + "quests.gregtech_energy.blast_oc.desc.1": "If you haven't learnt about Perfect Overclocking yet, you should read the quest right above this one first.\n\nThese three multiblocks share a special ability: they can &ePerfect Overclock&r recipes depending on the &ctemperature of the machine&r. You can check the current temperature by clicking on the controller.\n\nThere are two ways to increase the temperature:\n1) Use higher-tier energy inputs\n2) Upgrade the coils", + "quests.gregtech_energy.blast_oc.desc.2": "To see the temperature of a coil, simply &3hold Shift&r while hovering over it.\n\nOnce you know your machine's temperature, you’ll need the temperature of the recipe. The easiest way to find it is to use EMI.\n\nWith both values, you can do a quick calculation to see if Perfect Overclocking applies:\n&bYour machine must be at least 1800K hotter per overclock tier than the recipe requires.&r", + "quests.gregtech_energy.blast_oc.desc.3": "Example:\n- Stainless Steel recipe requires &c1700K&r and is &aHV&r tier.\n- Your EBF is at &bLuV&r and has a temperature of &c5900K&r.\n- HV to LuV is &a3 overclock tiers&r.\n- 1800 x 3 = &c5400K&r → Add the recipe's base: 5400 + 1700 = &c7100K&r needed for full Perfect Overclock.\n- Since your machine is only at &c5900K&r, you will Perfect Overclock from HV to EV and EV to IV, but only a normal overclock from IV to LuV.\n\nSo the recipe will take 1.7 seconds instead of 0.85 seconds if it were fully overclocked.\n\nFeeling overwhelmed? Just remember this: better coils = faster and cheaper recipes.", + "quests.gregtech_energy.blast_oc.task": "Better coils more gooder, got it", + "quests.gregtech_energy.subtick.title": "Subtick", + "quests.gregtech_energy.subtick.subtitle": "Parallel?", + "quests.gregtech_energy.subtick.desc.1": "Another hidden mechanic in GregTech Multiblocks: the &dSubtick&r.\n\nWhat is it? Subtick activates when a recipe becomes so fast it takes less than one tick to process. Normally, machines can’t go faster than one recipe per tick — but with Subtick, they can!\n\nHow does it work? Once a recipe hits 1 tick duration, upgrading the Energy Hatch further won’t make it faster.\nBut thanks to Subtick, instead of wasting power, the machine will &aparallel the recipe internally&r.", + "quests.gregtech_energy.subtick.desc.2": "For example: If your Large Chemical Reactor (LCR) runs a LuV recipe at 1 tick, then at ZPM, it will run &e2 recipes per tick&r. Even faster hatches mean more internal parallel.\n\n&dNote&r: As of now, all the Large Machines can subtick in a limited way, but &aonly the LCR&r supports both Subtick and Perfect Overclocking. That’s also why there's no IV multiblock with parallel hatches for the LCR: it’s already doing it... but better.", + "quests.gregtech_energy.parallel_hatch.title": "Parallel Hatch", + "quests.gregtech_energy.parallel_hatch.subtitle": "Parallel again?", + "quests.gregtech_energy.parallel_hatch.desc.1": "The &dParallel Hatch&r is the main draw of the Large Multiblocks.\n\nWhat does it do?\nWhere allowed (mostly on the Multiblocks crafted from the Alloy Blast Smelter), it lets you run &amultiple recipes at the same time&r.\n\nIt does this by consuming more energy per tick, but massively increasing throughput. Perfect if you’re mass-producing alloys, circuits, or plates.", + "quests.gregtech_energy.parallel_hatch.desc.2": "Just place a Parallel Hatch on the Multiblock and make sure it’s fed with enough energy and input materials. Most multiblocks that allow it will show so in EMI or in the questbook.\n\n&dNote&r: The Large Chemical Reactor does not use Parallel Hatches — it already comes with something better called &bSubtick&r — read the nearby quest to find out more.", + "quests.gregtech_energy.parallel_hatch.task": "Any Parallel Hatch", + "quests.gregtech_energy.rotor.title": "Turbine Rotors", + "quests.gregtech_energy.rotor.subtitle": "So many choices!", + "quests.gregtech_energy.rotor.desc.1": "Rotor Holders naturally require a Rotor to use, but there's a lot of options and they all have different stats, so what do they all mean?\n\nHigher &9Efficiency&r will increase the time each mB of fuel is used for, effectively reducing fuel usage. Meanwhile, &9Power&r will increase how much EU the turbine will generate. Lastly, &9Durability&r should be obvious.", + "quests.gregtech_energy.rotor.desc.2": "Ideally, you'll want to maximize all three, but the choice will depend on how much fuel you're producing, how many turbines you have, and how often you want to replace them, so there's no definitive correct answer. &8(Besides neutronium, of course...)&r\n\nThat being said, if you're completely lost, we recommend Vanadium Steel in &6HV&r, Ultimet in &5EV&r, and HSS-S in &9IV&r.\n\nUnfortunately, you can't automatically pipe new rotors into rotor holders as they need the block in front of them to be completely empty, but a &aMechanical Arm&r will work!", + "quests.gregtech_energy.rotor.task": "Any Turbine Rotor", + "quests.gregtech_energy.fission_reactor.title": "Fission Reactor MK I", + "quests.gregtech_energy.fission_reactor.subtitle": "Strap yourself in, this is complicated", + "quests.gregtech_energy.fission_reactor.desc.1": "The &dFission Reactor&r is certainly an uncommon sight in GregTech - both in theme, and how it works. But fear not, we are here to guide you with this multi-purpose big-brain multiblock!\n\nWe'll spare you the physics for now, &efellow engineer&r. The most important thing you should know is that the reactor is like a big thermal &dbattery-generator&r. You input proper fuel, and get &cheat&r (just like &6EU/t&r) that gets stored in the reactor as &crising temperature&r (stored &6EU&r).\n\nYou can then transfer this heat to &9coolant fluids&r for running turbines, or performing EBF-style crafting recipes. Sometimes you may even have &ctoo much&r of it. And oh, you also get new elements to make new fuels and circuits and stuff. Maybe explore the solar system a bit more? Boring stuff.", + "quests.gregtech_energy.fission_reactor.desc.2": "To start off, get your hands on some &dThorium&r. Remember to wear all the relevant PPE - &eDeatek Intergalactic&r is not responsible for any bodily harm resulting from improper handling of fissile materials. We really shouldn't have to remind you at this point anymore. Check the hazards quest if you need a refresher.\n\nNext, craft some empty &dFuel Rods&r and fill them with the &dNuclear Fuel Processing Plant&r. The rods are reusable, so you don't have to make too many. In fact, you might want to make just a single one for now.\n\nYou'll of course need a completed reactor, too. Check the EMI preview. Note how there is a central column of Fuel Holders, and then some optional columns for Components and Material Holders - more of these later.\n\nWait. Why just a &osingle&r rod? Oh, are &ewe&r glad you asked. Let's delve deep into the reactor mechanics in the next page.", + "quests.gregtech_energy.fission_reactor.desc.3": "The more fuel rods you have installed in the reactor, the &chotter&r it gets. And the hotter it is, the more heat it is able to transfer out to the coolant fluid and processable items. But physics has its limits, and the reactor can only ever get &cso hot&r, so don't install too many fuel cells.\n\nBut fear not! Unlike how the &0big-oil&r propaganda machine insists, nuclear energy is &aperfectly safe&r. Should the heat level of the reactor border dangerous territory, the reactor enters an &9automatic cooldown sequence&r, and won't start again until all heat has been &asafely dissipated&r. It's quite slow, though.\n\nThere has to be a way to make it hotter and faster? Once again, good thing you asked! &eOur brilliant engineers&r have a solution for you!", + "quests.gregtech_energy.fission_reactor.desc.4": "In addition to the 5 &dFuel Holders&r, you can install &oup to&r 20 &dComponents&r. The reactors from some other manufacturers require very exact positioning, but our reactor is smarter. The &6stats&r of all installed ones will simply be &6summed up&r, and that's it!\n\nCurrently, the reactor is able to utilize them in three&8*&r different ways:\n&e1)&r Max temperature &7(insulator)&r\n&e2)&r Efficiency &7(fuel lasts longer)&r\n&e3)&r Throttle &7(slows down the reactions)&r\n\n&8*)&r It's possible your local galaxy doesn't have the necessary materials for all of them. We estimate to find materials only for the first category.\n\nBut be wary. Rising the &ctemperature&r comes with a &cdownside&r.", + "quests.gregtech_energy.fission_reactor.desc.5": "While a &chotter&r reactor makes coolants and processing &cfaster&r, it is also more demaning for the fuel rods. Each fuel rod has limited durability, and this scales linearly with the temperature.\n\nAs you need more fuel rods for the higher heat, this in effect makes the damage scale &nquadratically&r. If you want to heat coolants the most efficiently, you'll use low temperature. But if you want faster fissile conversion, use as high a heat as the insulation allows.", + "quests.gregtech_energy.fission_reactor.desc.6": "You are finally ready to take a look at the various recipes involving the reactor; check where the &dcontroller&r is used, and you'll find three &eEMI&r tabs:\n\n&e1)&r Fission Reactor &7(fuels and compatible coolants)&r\n&e2)&r Fission Heat Processing &7(think: EBF)&r\n&e3)&r Fission Products &7(when the fuel runs out)&r\n&e4)&r The multiblock preview\n\nVarious &afuels&r are only compatible with certain &9coolant fluids&r, so pay attention to this. And once a fuel rod is completely used up, statistical certainty can safely state it having &btra&dns&rf&dor&bmed&r into new elements.\n\nThe processing recipes on the other hand can run regardless of the fuel, as long as the temperature level is high enough.", + "quests.gregtech_energy.fission_reactor.desc.7": "The simplified math is as follows: with sufficient coolant fluid and a &c100%%&r heat fuel rod, the reactor will reach a temperature of about &c200&r. This can also be referred to as heat level, or just heat. Having &dtwo&r &c100%%&r fuel cells is equal to &done&r &c200%%&r cell, and both lead to about &c400&r heat.\n\nThis is because the fuel rod generates &6200 HU/t&r (heat units). Coolant fluids are able to extract &61 HU/t&r per &c1&r degree of heat.\n\nIf the reactor's max heat is &c190&r, a &c100%%&r fuel cell will overheat it. You can increase this with the components, or alternatively &dactive coolants&r via the processing system. Each recipe has a heat impact.", + "quests.gregtech_energy.fission_reactor.desc.8": "For example, if the recipe's temperature is &c100&r, and impact &6-10 HU/t&r, it is able to cool down the reactor by &619 HU/t &rat &c190&r degrees.\n\nThat makes it possible to run the reactor with lower max heat, and not overheat! If the temperature is below &c100&r, it won't run at all - just like EBF recipes have limits.\n\nThis is all &ewe&r can teach you for now. Come back later to see if there was been any advancements, &efellow nuclear engineer&r!", + "quests.high_voltage": "&6HV&r - Высокое Напряжение", + "quests.high_voltage.subtitle": "Увеличивайте свои мощности, узнайте о чистых комнатах, делайте больше химикатов и готовьтесь к полёту в космос.", + "quests.high_voltage.energium_crystals.title": "Супер батареи", + "quests.high_voltage.energium_crystals.subtitle": "Сай-Фай батарейки", + "quests.high_voltage.energium_crystals.desc": "&aЭнергетические кристаллы&r хранят огромное количество &9EU&r. Также они, возможно, дешевле.", + "quests.high_voltage.autoclave.title": "HV Автоклав", + "quests.high_voltage.autoclave.subtitle": "Самопальные батарейки", + "quests.high_voltage.autoclave.desc": "&3Улучшенный автоклав&r - несмотря на то, что он является опциональным, - это механизм, который вы обязательно захотите сделать.\n\nОн открывает уникальные батареи, которые &6намного превосходят&r свои стандартные аналоги.", + "quests.high_voltage.chem_bath.title": "HV Химическая ванна", + "quests.high_voltage.chem_bath.subtitle": "Пожалуйста, не купайтесь с тостером...", + "quests.high_voltage.chem_bath.desc": "&3Улучшенная химическая ванна&r используется для &6окрашивания линз&r с использованием &aхимического красителя&r. Это позволит вам гравировать больше типов кремниевых подложек и охлаждать прочие виды горячих слитков.", + "quests.high_voltage.maintenance_hatches.title": "Продвинутый люк обслуживания", + "quests.high_voltage.maintenance_hatches.subtitle": "Я стал механом, пожирателем ленты", + "quests.high_voltage.maintenance_hatches.desc.1": "Теперь у вас есть доступ к двум &3новым люкам обслуживания&r. Оба люка &6не требуют ручного обслуживания&r при первом размещении в мультиблоке.\n\n&3Автоматический люк обслуживания&r довольно прост – он &6навсегда&r устраняет необходимость в техническом обслуживании.\n\n&3Настраиваемый люк обслуживания&r более интересен. Вы можете настроить его таким образом, что сократит время выполнения рецептов на 10%%, но при этом в три раза ускорит процесс поломки. Это &d16 реальных часов&r. Также, вы можете использовать его на мультиблочных генераторах, чтобы увеличить продолжительность рецепта, что косвенно увеличивает их топливную эффективность на 10%%!\n\n&9Напоминание:&r Вы можете поместить Армированную клейкую ленту в люк обслуживания, чтобы автоматически устранять проблемы.", + "quests.high_voltage.maintenance_hatches.desc.2": "&l&3Предистория:&r&o Текстура и механика автоматического обслуживающего люка взяты из TecTech, аддона, изначально созданного для GregTech: New Horizons.\n\n&oВы увидите больше от TecTech, если останетесь с нами в поздней игре.", + "quests.high_voltage.hv_components.title": "HV Комплектующие", + "quests.high_voltage.hv_components.subtitle": "Мы называем это \"весельем\"", + "quests.high_voltage.hv_components.desc.1": "Как и в случае с &bMV&r, вам потребуется создавать компоненты более высокого уровня.\n\nДорогие &dбезупречные камни&r были заменены на более комплексный вариант - &dОстеклованный жемчуг края&r. Также обратите внимание, что для &aЭлектрических моторов&r требуются &d2x серебряные кабеля&r.\nВ &aОболочках механизма&r и &aМашинах&r используются &dЗолотые кабеля&r.\n\nНаконец-то, можно использовать кучу скопившегося золота!", + "quests.high_voltage.hv_components.desc.2": "&9&lСовет, чтобы сделать жизнь проще:&r\n\n- Используйте &dЦентрифугирование Электротина&r и &dМногоступенчатую переработку руды&r для получения &eЭлектрума&r.\n- Используйте &3Химическую ванну&r с &dРтутью&r для получения &eЗолота&r и &eСеребра&r из различных руд.", + "quests.high_voltage.assembler.title": "HV Сборочная Машина", + "quests.high_voltage.assembler.desc": "&3Улучшенная сборочная машина&r — это следующий шаг в развитии, но он также открывает несколько полезных применений. Дополнительную информацию можно найти в этой главе квестов.\n\nВам понадобится &6Улучшенная сборочная машина&r, чтобы создать вашу первую &dРакету&r.", + "quests.high_voltage.lenses.title": "О да, я вижу этот цветной мир", + "quests.high_voltage.lenses.desc": "&aОбычная Система На Кристалле (СнК)&r будет использоваться для продвинутого рецепта &dULV схемы&r.\n\nМы также рекомендуем приложить все усилия, чтобы заранее изготовить все остальные полезные цветные линзы. Они перечислены здесь в &eтекущей&r задаче.", + "quests.high_voltage.ulv_circuits.title": "Превосходные ULV схемы!", + "quests.high_voltage.ulv_circuits.desc": "&8ULV&r Схемы используются в некоторых рецептах &9AE2&r и крафтах &aCreate&r.", + "quests.high_voltage.hv_energy_hatch.title": "Прокачайте вашу EBF II", + "quests.high_voltage.hv_energy_hatch.subtitle": "Замечаете здесь закономерность?", + "quests.high_voltage.hv_energy_hatch.desc": "Для &aИнтегральной схемы малой мощности (LPIC)&r требуется &3HV Резочная машина&r размещённая внутри &3Чистой комнаты&r.\n\n&3Энергетические входные разъемы (HV)&r будут хорошим дополнением, так что вы сможете запускать свои мультиблоки (в основном электродоменную печь и большой химический реактор) непосредственно от &6HV&r линии электроснабжения.", + "quests.high_voltage.chem_reactor.title": "Химия высокого напряжения", + "quests.high_voltage.chem_reactor.desc": "&3Улучшенный химический реактор&r открывает уйму новых рецептов. Ухх, кому не нравится постоянно растущий спрос на более продвинутую химию?\n\n&9Примечание:&r Мы фактически разблокировали кучу нового контента, достигнув &6HV&r. Однако не каждая линия производства или отдельный её элемент сейчас имеют решающее значение. Если бы мы включили все, то глава &6HV&r была бы слишком насыщенной!\n\nВы все равно можете подглядеть в главу &5EV&r, если хотите подтолкнуть себя на что то большее.", + "quests.high_voltage.rutile_loop.title": "Почти Титан", + "quests.high_voltage.rutile_loop.subtitle": "...пока ещё НЕ титан!", + "quests.high_voltage.rutile_loop.desc": "Титан требует немного более &bсложного&r процесса получения по сравнению с предыдущими материалами. Для начала вам понадобится &aРутил&r, который получают из переработки &aБоксита&r, &aИльменита&r, &aАлюминия&r, &aАрмалколита&r и &aДеша&r — последний встречается только на &dЛуне&r.\n\nКак только вы накопите достаточно &5Рутила&r, ваш путь к &6Титану&r продолжится в следующем квесте. Не надо спешить.\n\n&9Совет:&r Переработка &aБокситовой&r руды даёт отличные побочные продукты! Включая этап &3Термического Центрифугирования&r, вы легко &6утроите&r выход &aРутила&r.", + "quests.high_voltage.rutile_loop_2.title": "Почти Титан²", + "quests.high_voltage.rutile_loop_2.subtitle": "А это уже титан, да?", + "quests.high_voltage.rutile_loop_2.desc.1": "Чтобы заполучить Титан, &aРутил&r сначала нужно восстановить до &aТетрахлорида титана&r в &3Улучшенном химическом реакторе&r, затем ещё раз восстановить в &3ЭДП&r с помощью &dМагния&r, чтобы наконец получить Титан.\n\n&dУглерод&r, &dХлор&r, &dКислород&r и &dМагний&r, используемые в процессе, можно &6идеально восстановить&r из побочных продуктов — &dМонооксида углерода&r и &dХлорида магния&r — без потерь. Если вы настроите систему их переработки, &aединственным материалом&r, который вам нужно будет поставлять для производства титана, останется &dРутил&r!", + "quests.high_voltage.rutile_loop_2.desc.2": "&aТетрахлорид Титана&r также выступает в роли катализатора при производстве пластмасс. Добавление небольшого количества &aTiCl₄&r в процесс полимеризации может увеличить выход полимера до &6133%%&r. Естественно, это только по желанию.", + "quests.high_voltage.superconductors.title": "HV Сверхпроводники", + "quests.high_voltage.superconductors.desc": "К этому моменту потери в обычных кабелях настолько незначительны, что сверхпроводники уже не являются обязательными. Тем не менее, они по-прежнему полезны для возможности разделять и объединять кабели на лету, и они наполовину состоят из кислорода, поэтому они также дешевы!\n\nСверхпроводники по-прежнему необходимы для создания &aГенераторов полей&r.", + "quests.high_voltage.nichrome_coils.title": "Нихромовые катушки", + "quests.high_voltage.nichrome_coils.subtitle": "Нам ещё далеко до того, чтобы затмить Солнце", + "quests.high_voltage.nichrome_coils.desc.1": "&3Нихромовые Нагревательные Катушки&r повышают температуру вашей &3Доменной Печи&r до &d3 600 K&r.\n\nХотя они &oпока&r не требуются, всё же стоит обновить вашу основную &3Электрическую Доменную Печь&r ради этих приятных &6Бонусов от Катушек&r.", + "quests.high_voltage.nichrome_coils.desc.2": "&l&3Предистория:&r&o В оригинальном GregTech 5 существовало всего три типа катушек. Этот был последним уровнем.", + "quests.high_voltage.titanium.title": "Титан", + "quests.high_voltage.titanium.desc": "&aТитан&r обладает самой высокой коррозионной стойкостью и лучшим соотношением прочности к плотности среди всех металлов, поэтому неудивительно, что он станет основным материалом в нашей механизации &5EV&r.\n\nУбедитесь, что ваш замкнутый цикл переработки &aРутила&r налажен как следует, и приготовьтесь запускать в дело отдельно выделенную &3ЭДП&r на несколько часов.\n\nНебольшое отступление — теперь, на уровне &5EV&r, одноблочные генераторы выходят из моды! Чтобы справиться с нагрузкой, потребуется несколько &3HV Генераторов&r, а позже — переход на мультиблочные генераторы.\n\nХотя мультиблочные генераторы значительно дороже, они гораздо эффективнее по энерговыработке! Подробнее смотрите в главе &dЭнергия&r!", + "quests.high_voltage.vacuum_freezer.title": "Леденящий холод", + "quests.high_voltage.vacuum_freezer.subtitle": "Вы знали, что вакуум на самом деле делает вещи горячее?", + "quests.high_voltage.vacuum_freezer.desc": "&3Вакуумный Холодильник&r — это мультиблочная структура, используемая для охлаждения &eГорячих Слитков&r. Все слитки, произведённые в ЭДП (A.K.A EBF) при температуре выше &d1750 K&r, требуют охлаждения.\n\nВ большинстве случаев вашей &3Электрической Доменной Печи&r будет не хватать производительности, так что вам не нужно беспокоиться о разгоне холодильника.\n\nТак как &eГорячие Слитки&r &cнаносят урон&r при удержании, автоматизация их транспортировки будет крайне полезной.", + "quests.high_voltage.mv_superconductors.title": "MV Сверхпроводники", + "quests.high_voltage.mv_superconductors.desc": "&a4A&r тока &bMV&r напряжения может показаться привлекательным, но на данном этапе они, вероятно, вам не нужны. Вариант всегда есть, если он вам нужен.", + "quests.high_voltage.circuit_assembler.title": "HV Сборщик микросхем", + "quests.high_voltage.circuit_assembler.subtitle": "Вам понадобится чистая комната что бы собрать это", + "quests.high_voltage.circuit_assembler.desc": "Следующий уровень &3Сборщика Микросхем&r необходим только для одного типа схем — вашего первого &aМейнфрейма&r. У вас может быть только одно применение до — &5EV Сборщика микросхем&r.\n\nВы можете отложить это до &5EV&r или просто использовать его для более быстрого крафта схем.", + "quests.high_voltage.microprocessor_mainframe.title": "Mainframes - first IV Circuits!", + "quests.high_voltage.microprocessor_mainframe.desc": "The first &1IV&r circuit. Congratulations on making it this far!\n\nThis will be used when you get to &5EV&r, or you can use it right now to craft an Advanced Nanosuit Chestplate, a big upgrade to your jetpack!.\n\n&l&3Lore:&r&o The original texture for the Mainframes was taken from an image of an IBM zEnterprise mainframe.", + "quests.high_voltage.cleanroom.title": "Чистая Комната", + "quests.high_voltage.cleanroom.subtitle": "Они затолкали меня в комнату... чистую комнату", + "quests.high_voltage.cleanroom.desc.1": "&3Чистая комната&r представляет собой полый мультиблок, свободный от загрязнений. В будующем большинство новых &aкрафтов, связанных с схемами&r, а также некоторые уникальные блоки, такие как &3Корпус термоядерного реакора&r, необходимо будет выполнять в механизмах внутри чистой комнаты.\n\nЕё постройка проверит вашу &aПолиэтиленовую&r линию производства на прочность для производства нужного количества &dПластобетона&r и/или &dСтекла чистой комнаты&r.\n\nМы начнем с чистой комнаты размером 5x5x5, но вам следует увеличить её размер, когда вы начнете чувствовать себя тесно.", + "quests.high_voltage.cleanroom.desc.2": "&l&3Предистория:&r&o «Чистая комната» взята из GregTech 5, но, как это часто бывает, реализация GT5 гораздо более сурова. Рецепты выполнялись независимо от чистоты, но имели вероятность выполнения в %%, равную чистоте комнаты. Это привело к большому количеству случайных потерь.\n\n&oКроме того, если бы в «Чистой комнате» возникла проблема с обслуживанием, чистота достигла бы 90%%, что означает, что 10%% предметов будут потеряны.\n\n&oЧистая комната GTCEu &6никогда не аннулирует&f часть ваших рецептов.", + "quests.high_voltage.prospector.title": "Разведочный сканер (HV)", + "quests.high_voltage.prospector.desc.1": "Этот разведочный сканер может похвастаться &6большим радиусом действия&r, чем его &7LV&r аналог.\n\nShift + ПКМ со сканером в руке, что бы изменить его режим на &6Режим разведки жидкостей&r. Вместо руд, будут отображаться &dместорождения&r жил жидкости, а также их объем.\n\nЭто будет очень полезно для поиска &9Гелия-3&r и &9Коренных жил&r на Луне.", + "quests.high_voltage.prospector.desc.2": "&9Напоминание:&r Производительность &3Буровой установки&r прямо пропорциональна «Объему» жилы. Если уровень достаточно низкий, по умолчанию на выходе будет использоваться выход, который можно определить в файле конфигурации CEu.\n\n&9Совет:&r Когда заполненность жилы падает ниже 30%% (приблизительно), вам следует рассмотреть возможность перехода на другую жилу ради эффективности соотношения мощности к выходу полезного ресурса. Вас может заинтересовать использование &3Улучшенной буровой установки&r &5EV&r уровня, так как она не только значительно повышает производительность, но и снижает скорость опустошения жилы!\n\n&cВнимание:&r Из-за ошибки отображение Сканера может быть смещено на один чанк, поэтому не размещайте буровую установку в углах жидкостной жилы, иначе вы можете закачать не ту жижу!", + "quests.high_voltage.fluorine.title": "Фтор", + "quests.high_voltage.fluorine.subtitle": "А ты почистил сегодня зубы?", + "quests.high_voltage.fluorine.desc": "Фтор — самый редкий газ, который можно получить в результате электролиза в этой игре.\n\nВы можете получить его из &aЛепидолита&r, &aБастнезита&r и &aСлюды&r, но лучший источник – из &aТопаза&r.", + "quests.high_voltage.ptfe.title": "Политетрафторэтилен", + "quests.high_voltage.ptfe.subtitle": "Также известен как Тефлон", + "quests.high_voltage.ptfe.desc": "&aПолитетрафторэтилен (ПТФЭ)&r представляет собой &7углеродно&r-&bфтористый&r полимер. Как и ПВХ, ПТФЭ можно использовать для увеличения производства пластиковых подложек и других поделок. В настоящее время из него делают стенки &3Больших химических реакторов&r.\n\nТак необходимы &3Хлор&r в этом процессе, полностью перерабатывается при электролизе отходов &aСоляной кислоты&r.\n\n&bФтор&r также будет использоваться в процессах очистки &aУрана&r и &7Наквады&r.\n\n&9Совет:&r Далее вам следует отливать полимеры в виде &dСлитка&r, поскольку им можно легко придать любую форму, которая вам понадобится, с помощью &3Экструдера&r.", + "quests.high_voltage.nitrobenzene.title": "Нитробензол", + "quests.high_voltage.nitrobenzene.desc": "Производство &aНитробензола&r повысит энергоэффективность &aБензола&r примерно в &6четыре раза&r. Мы знаем, что вам это понравится. \n\nЗагвоздка в том, что для этого требуется &dДистиллированная вода&r, и с каждым этапом производства он потребляет по немножку &dСеру&r.", + "quests.high_voltage.lcr.title": "Большой химический реактор", + "quests.high_voltage.lcr.desc.1": "&3Большой химический реактор (LCR)&r — это мультиблочный &3Химический Реактор&r с увеличенным количеством входных и выходных слотов. Его тефлоновые корпуса позволяют обрабатывать дополнительные рецепты.\n\n&3LCR&r может выполнять эксклюзивные реакции, которые позволяют объединять несколько обычных шагов &3Химического Реактора&r в &6один шаг&r. Примеры ниже:\n\n&9-&r &aДиоксид Азота&r (для получения Азотной кислоты и Триоксида азота)\n&9-&r &aСерная кислота&r\n&9-&r &aФенол&r\n&9-&r &aЭпихлоргидрин&r (он необходим для Эпоксидной смолы!)\n&9-&r &aЭпоксидная смола&r", + "quests.high_voltage.lcr.desc.2": "Есть также эксклюзивные рецепты для &3LCR&r. Например, &dРадон&r сейчас можно получить только в LCR.\n\nВсе &dРазгоны&r в &3LCR&r имеют &6100%% эффективность&r (известные как Идеальные разгоны); каждый разгон &5четырёхкратно ускоряет работу&r, вместо обычного удвоения.\n\nУ &3LCR&r есть ещё одно &6преимущество&r. Можно использовать &32 энергетических люка&r, чтобы запускать рецепты &5следующего уровня&r, аналогично &3Электрической Доменной Печи&r.", + "quests.high_voltage.lcr.desc.3": "&9Совет:&r Учитывая количество LCR, которое вы можете использовать, почему бы максимально эффективно не применять &dсовместное использование стен&r?\n\nВы можете совместно использовать один стандартный &3Энергетический Люк&r с 2A между двумя LCR.\n\nМожно также совместно использовать &3Входные/Выходные Люки&r, но убедитесь, что каждый LCR выполняет правильный рецепт.\n\nУчтите, что Люки технического обслуживания использовать совместно нельзя.", + "quests.high_voltage.tnt.title": "Ди-На-Мит", + "quests.high_voltage.tnt.task": "Любая взрывчатка", + "quests.high_voltage.tnt.desc.1": "Приготовьтесь делать взрывчатку — она потребуется для &cИмплозионного Компрессора&r. У вас есть четыре варианта, от простого до сложного, но мы рекомендуем стремиться к &dПромышленному динамиту&r, когда это возможно.", + "quests.high_voltage.tnt.desc.2": "&cТНТ&r (Тринитротолуол) больше нельзя приготовить из обычного пороха и песка. Вместо этого нужно получить &aГелеобразный Толуол&r и заставить прореагировать его с Серной кислотой для получения обычного динамита.\n\nИспользование рецепта в &3HV Химическом Реакторе&r удвоит выход &aГелеобразного Толуола&r, но потребует дополнительных реактивов.", + "quests.high_voltage.tnt.desc.3": "У нас нет простых советов по производству &aТолуола&r. Этот процесс будет сложным вне зависимости от выбранного вами способа.\n\nТем не менее, обратите внимание на прямой рецепт превращения &aТяжёлого топлива&r в &aТолуол&r в одноблочном &3Дистилляторе&r — это может значительно упростить задачу.\n\n&aТолуол&r также можно использовать в &5EV&r для получения &dБензина&r, что открывает дополнительные возможности для производства топлива.\n\n&cДинамит&r используется в &3Имплозионном Компрессоре&r для создания Самоцветов, а также служит взрывчатым веществом для разрушения объектов.", + "quests.high_voltage.ender_pearls.title": "Жемчуг края", + "quests.high_voltage.ender_pearls.subtitle": "Какие-то Сай-Фай брюлики, или что-то в этом духе...", + "quests.high_voltage.ender_pearls.desc": "В TFG вы не найдёте Эндерменов, которые дропают Жемчуг Эндера.\nДаже те, что скрываются в Бездне, не помогут вам.\n\nВаш единственный вариант — изготовить их самостоятельно:\n\nСмешайте &2Пыль Бериллия&r и &2Пыль Калия&r в &6HV&r Смесителе, чтобы получить редкую &5Эндер-пыль&r.\n\nПосле этого поместите её в &8Имплозионный Компрессор&r и и жахните как следует и будет вам Жемчуг Эндера — в стиле GregTech.", + "quests.high_voltage.boules.title": "Легирование Фосфором", + "quests.high_voltage.boules.subtitle": "Это ж допинг, бро!", + "quests.high_voltage.boules.desc": "Легирование — это процесс преднамеренного введения примесей в полупроводники для изменения их электрических свойств.\n\n&7Кремний&r можно легировать небольшим количеством &eФосфора&r, чтобы получить улучшенный &eМонокристалический кремний&r.\n\nМонокристалический кремний, легированный фосфором, обычно даёт в &68 раз&r больше пластин, чем его нелегированные аналоги. Однако они не являются строго необходимыми до &5EV&r, где они будут использоваться в более сложных пластинах.\n\n&9Примечание&r: Для любой обработки фосфорных монокристаллов и пластин потребуется &dЧистая комната&r.", + "quests.high_voltage.implosion_compressor.title": "Имплозионный компрессор", + "quests.high_voltage.implosion_compressor.desc": "&3Имплозионный Компрессор&r превращает пыль самоцветов в их твёрдую форму.\n\nОн необходим для получения &aЖемчуга края&r.\n\nДля имплозии можно использовать &cДинамит&r.", + "quests.high_voltage.nitric_acid.title": "Азотная кислота", + "quests.high_voltage.nitric_acid.subtitle": "Это не сожрёт вашу кожу", + "quests.high_voltage.nitric_acid.desc.1": "Пары азотной кислоты чрезвычайно токсичны! Это также очень сильный окислитель.\n\n&aАзотная кислота&r используется в:\n\n&9-&r Нитродизеле — улучшенном дизельном топливе, которое вы скоро освоите.\n&9-&r Нитробензоле — улучшенном газовом топливе, которое вы вот-вот начнёте производить.\n&9-&r Необъязательных цепочках производства шлама.\n&9-&r Линии производства с осадков платиновой группы в &1IV&r.\n&9-&r Полибензимидазоле (ПБИ) (попробуйте сказать это десять раз быстро!) в &1IV&r.", + "quests.high_voltage.nitric_acid.desc.2": "Существует два основных способа получения &aАзотной кислоты&r — &oхороший&f и &4плохие&f способы!&r\n\nПоэтому мы укажем вам лучший метод:\n\nВозьмите &3Большой Химический Реактор&r и используйте его для получения &aДиоксида Азота&r. Затем в обычном &3Химическом Реакторе&r с большим количеством &dКислорода&r и &dВоды&r получите &aАзотную кислоту&r!\n\nЭто требует много &dКислорода&r. Обратитесь к соответствующему квесту в &7LV&r для самых эффективных способов его получения в большом объёме. Обратите внимание, что здесь нет водорода!", + "quests.high_voltage.cetane_diesel.title": "Нитро-дизель", + "quests.high_voltage.cetane_diesel.subtitle": "Ещё один шаг вперёд", + "quests.high_voltage.cetane_diesel.desc": "Теперь, когда вы разблокировали &6HV&r Смеситель и получили доступ к &eАзотной кислоте&r, становится возможным изготовить &aНитродизель&r с увеличением мощности на &e180%%&r.\n\nСамая сложная часть — получение &bТетранитрометана&r. Рекомендуем производить его, смешивая &9Азотную кислоту&r и &dКетен&r. Кетен легко получить, если соединить &9Серную кислоту&r — которой у вас уже должно быть много — и &cУксусную кислоту&r, которую просто производить из &3Кислорода&r и &5Этилена&r.\n\n&cНе забудьте&r выставить машину на Схему 2, иначе вы получите &6Полиэтилен&r вместо нужного продукта!", + "quests.high_voltage.smd_components.title": "SMD Компоненты", + "quests.high_voltage.smd_components.subtitle": "Альтернативная замена!", + "quests.high_voltage.smd_components.desc": "&eSMD&r (компоненты поверхностного монтажа) &aКомпоненты&r — это эксклюзивные для CEu детали, необходимые для следующего уровня схем (&5Нано&r). Их также можно использовать вместо обычных аналогов в большинстве рецептов схем.\n\nКонечно, их сложнее производить — это же GregTech! Чего вы ожидали?\n\nИнвестируйте в автоматизацию их производства — они вам постоянно понадобятся.", + "quests.high_voltage.smd_components_2.title": "Ещё больше SMD", + "quests.high_voltage.smd_components_2.desc": "&aПлатина&r (нужна для SMD Диодов) имеет свой собственный квест во вкладке &5EV&r. Но платину также можно получить напрямую из жилы Платины или при переработке в Химической ванне.\n\n&l&3Лор:&r&o SMD Индукторы впервые появляются в GTCEu. Это более логично и удобно — чтобы все компоненты схем имели свои SMD аналоги.", + "quests.high_voltage.hv_macerator.title": "Универсальный измельчитель", + "quests.high_voltage.hv_macerator.subtitle": "Измельчение руды с побочными продуктами", + "quests.high_voltage.hv_macerator.desc.1": "&3HV Измельчитель&r наконец-то открывает больше побочных слотов, показанных в JEI. Благодаря этому &9все&r слоты теперь доступны. Это также позволяет вам получать &6уникальный побочный продукт &r в результате измельчения руды после переработки в &dтермальной &dцентрифуге&r.\n\nИзмельчение руды происходит с &5двойной скоростью&r и затрачивает всего &a32 EU/t&r, что позволяет этой машине вписаться в &7LV&r напряжение и линии переработки руды, что очень удобно.\n\nНесмотря на значительные улучшения, которые обеспечивает эта машина, она всё ещё не полностью оправдывает себя в настройке расширенной обработки для каждой отдельной руды. Энергия и время всё ещё важны!", + "quests.high_voltage.hv_macerator.desc.2": "&l&3Предистория:&r&o В GregTech 5u &6HV&r&o Измельчитель выдавал только два слота. Ыть... мы все равно не хотели использовать эту каменную пыль...", + "quests.high_voltage.ammonia.title": "Аммиак", + "quests.high_voltage.ammonia.desc": "&aАммиак&r является &dнеобязательным&r на этапе &6HV&r.\n\nЕго можно использовать для производства:\n&9-&r Азотной кислоты, хотя мы этого не рекомендуем.\n&9-&r Ракетного топлива, необходимого для покидания этой планеты.\n&9-&r Полибензимидазола (вот уж скороговорка!) на уровне &1IV&r.\n\n«Наименее болезненный» рецепт — тот, что производится в &3HV Химическом Реакторе&r. Убедитесь, что производство &aВодорода&r (в основном из &aЭлектролиза воды&r) достаточно для покрытия спроса.\n\n&aАммиак&r также можно получить как побочный продукт при переработке &dШлама платиновой группы&r.", + "quests.high_voltage.hv_mixer.title": "HV Смеситель", + "quests.high_voltage.hv_mixer.subtitle": "Смешивание еще никогда не было таким хорошим", + "quests.high_voltage.hv_mixer.desc": "Вам понадобится &6Улучшенный Смеситель&r, чтобы создать &6Ракетный сплав&r, но это не единственный полезный рецепт.\n\nОн также открывает:\n- &dИндий&r\n- &eНитро-дизель&r\n- &6Ультимет&r, используемый для &9Турбинных роторов&r\n- &dФлаксовые кристаллы&r, которые незаменимы для &dAE2&r", + "quests.high_voltage.blue_alloy.title": "Синий сплав", + "quests.high_voltage.blue_alloy.subtitle": "Ты стал синим... мой фирменный сплав.", + "quests.high_voltage.blue_alloy.desc": "&aСиний сплав&r — отличный материал для &6HV&r-кабелей.\n\nНичто не мешает использовать его и для &bMV&r-цепей! Но не забывайте не превышать напряжение на машинах.\n\nСверхпроводники для &6HV&r откроются... позже.\n\n&aЭлектротин&r добывается как руда, поэтому не создавайте его в Смесителе!\n\nКроме того, &aЭлектротин&r можно разделить на &dЭлектрум&r и &dРедстоун&r.", + "quests.high_voltage.ev_circuits.title": "Первые EV схемы!", + "quests.high_voltage.ev_circuits.subtitle": "Нитакая как все", + "quests.high_voltage.ev_circuits.desc": "Ваша первая &5EV&r схема получает уникальную текстуру. Если вы всё ещё считаете себя на уровне &bMV&r, &aподождите&r с их массовым изготовлением — сейчас они не принесут вам пользы. Но если вы &dпросто хотите похвастаться&r — мы вас не остановим.", + "quests.high_voltage.hv_hull.title": "Добро пожаловать в высокое напряжение!", + "quests.high_voltage.hv_hull.subtitle": "Скоро стану майноастронавтом", + "quests.high_voltage.hv_hull.desc.1": "&2Мы надеемся, что вы освоили &9GregTech&r, потому что теперь пришло время немного расширить свои навыки.\nВ этой главе вы разблокируете &eпродвинутуые мультиблоки&r, &eболее сложные химические процессы&r и даже сделаете свои первые шаги на &fЛуне&r!\n\n&6В этой главе у вас есть две ключевые цели:&r\n- Создайте свой первый &5EV&r Корпус машины\n- Долететь до &fЛуны&r\n\nОткрытие Луны также предоставит доступ к &bИстинному кварцу&r, ступая на путь открытия &dApplied Energistics 2&r. Вы можете решать эти задачи в любом порядке.", + "quests.high_voltage.hv_hull.desc.2": "Чтобы собрать корпус машины &5EV&r:\n- Постройте свою первую &aЧистую комнату&r\n- Соберите &bВакуумнуый холодильник&r для охлаждения горячих слитков.\n- Переработайте &9Рутил&r в &7Титан&r\n\nВы найдете кучу &9Рутила&r на &fЛуне&r, но его также можно найти в жилах &eБоксита&r в &aВерхнем мире&r.", + "quests.high_voltage.hv_hull.desc.3": "Чтобы добраться до Луны:\n- выплавьте достаточно &6Ракетного сплава&r\n- Создайте своё первое &eОко края&r, используя &3Химическую ванну&r и &8Имплозионный компрессор&r\n- Подготовьте все &bоборудование&r, которое вам понадобится, чтобы &bдышать в космосе&r\n\nПолучение &bВакуумного холодильника&r и &6более продвинутых катушек для EBF&r ускорит производство &6Ракетного сплава&r, но это не является обязательным.\n\n&dВыберите свой путь!&r", + "quests.high_voltage.nichrome.title": "Нихромовые слитки", + "quests.high_voltage.nichrome.subtitle": "Особой пользы от их нет.", + "quests.high_voltage.nichrome.desc": "Ваш третий сплав готов и необходим для следующего набора катушек в &6EBF&r.\n\nКак обычно, потребуется &9128 слитков&r, но на этот раз вы не сможете использовать &6Химическую Мойку&r. Вместо этого понадобится &6Вакуумный Холодильник&r.\n\nХорошие новости: процесс стал проще и быстрее.\n\nДля этих катушек вы будете использовать только &6Нихром&r, но не расслабляйтесь — он вернётся для следующего набора &5RTM Катушек&r.", + "quests.high_voltage.rocket_t1.title": "Ваша первая ракета!", + "quests.high_voltage.rocket_t1.subtitle": "Первая из многих", + "quests.high_voltage.rocket_t1.desc": "ВОУ, пора собрать вашу &6Ракету&r!\n\nСоберите все детали, используя &d8 Плотных пластин Ракетного Сплава&r. Для сборки вам понадобится &b2304mB&r &bЖидкого Кремния&r (&b16 слитков&r) и &f16 единиц пыли&r.\n\nУ вас есть два варианта:\n&e-&r &eПыль Боросиликатного Стекла&r — создаётся в &6Миксере&r из &dБора&r и &fСтекляной пыли&r\n\n&e-&r &5Остеклованный Асбест&r — получается в &6Пиролизной Печи&r\n\nВыбирайте то, что проще для вас!", + "quests.high_voltage.vitrified_pearl.title": "Остеклованный эндер-жемчуг", + "quests.high_voltage.vitrified_pearl.subtitle": "Что за экзотичная керамика?", + "quests.high_voltage.vitrified_pearl.desc": "Нагрейте Жемчуг Края в &eПиролизной Печи&r в изолированной среде, чтобы правильно спечь его, превратив в нечто, напоминающее &3керамику&r.\n\nПока что вам понадобится немного — минимум один для вашей &6Ракеты&r и ещё один для &6HV Сборщика микросхем&r.\nНо будьте готовы: начиная с &5EV&r и выше спрос быстро вырастет.", + "quests.high_voltage.kaolinite_powder.title": "Высокотемпературная огнеупорная глина", + "quests.high_voltage.kaolinite_powder.subtitle": "Ты не скучал по мне, правда?", + "quests.high_voltage.kaolinite_powder.desc": "Плохая новость: скоро будет встреча со старым знакомым. Хорошая новость встреча пройдет у тебя дома!\n\nЕсли у тебя остался &4Каолинит&r с давних пор, самое время достать его из старой кузницы и использовать. А если нет — теперь ты можешь сделать его прямо дома!\n\nКаолинит снова понадобится в будущих рецептах для промышленных керамик и теплоизоляции.", + "quests.high_voltage.linked_quest_energy.title": "Больше информации об энергии", + "quests.high_voltage.linked_quest_energy.subtitle": "GregTech Wiki", + "quests.high_voltage.linked_quest_energy.desc": "Все ещё используете пар? Хотите узнать больше о системе энергии GregTech? Обязательно ознакомьтесь с главой квестов «Энергия GregTech»!", + "quests.high_voltage.linked_quest_energy.task": "Взгляните на главу «Энергия»", + "quests.high_voltage.ev_machine_hull.title": "&5EV&r Оболочка машины", + "quests.high_voltage.ev_machine_hull.subtitle": "Половина энергоуровней GregTech пройдена", + "quests.high_voltage.ev_machine_hull.desc": "Что-ж это был офигенный опыт! Между линией переработки &9Рутила&r, &5Вакуумным холодильником &r и &5Чистой Комнатой&r вы открыли много новых механик.\n\nЭто отлично — ведь, вероятно, это только середина модпака.\n\nВы уже были на &fЛуне&r? Если нет, настоятельно рекомендуем отправиться туда. Вас ждут &dключевые механики&r для дальнейших этапов модпака, открытие &bAE2&r и доступ к &aбогатым рудным жилам&r.\n\nЕсли вы уже побывали на Луне, надеемся, ваша производсвенная инфраструктура крепка — пришло время перейти на &5EV&r. Эта сложная глава познакомит с &7ещё более продвинутыми системами&r и поднимет вашу фабрику на новый уровень.", + "quests.high_voltage.250_iq.title": "250IQ", + "quests.high_voltage.250_iq.subtitle": "Скажи «НЕТ!» обожжённым ладошкам", + "quests.high_voltage.250_iq.desc.1": "Это руководство по автоматической подаче &lВСЕХ&r ваших Раскалённых Слитков в &3Химическую Ванну&r с сохранением полной автоматизации и порядка.\n\nДешёвый способ — использовать фильтры и вручную добавлять Раскалённые Слитки по одному... но это скукота! Попробуем более интересный вариант.\n\nУстановите Крышку с &aПредметым фильтром по Тэгам&r на боковую сторону &3Химической Ванны&r, откройте её и выставьте в режим белого списка —&e&l*hot_ingots*&r-.\n\nТеперь вы можете использовать &9любую систему логистики&r на ваш выбор для подачи слитков.", + "quests.high_voltage.250_iq.desc.2": "Подключите выход вашей &3ЭДП&r к входу &3Химической Ванны&r и выходному хранилищу (сундук или ящик). Также можно поставить &dОграничительную Трубу&r перед выходным хранилищем, чтобы обеспечить приоритет работы Химической Ванны.\n\n&l&9Примечание:&r Если хотите узнать больше Тэгов для автоматизации, они отображаются при нажатии Shift и наведении на предмет. Например, предмет с меткой &e&o#forge:plates/copper&r будет фильтроваться как &e&lplates/copper&r.\n\n&9&lДополнительное Примечание:&r Предметный Фильтр Тэгов частично поддерживает &dрегулярные выражения&r. Наведите курсор на иконку информации для подробностей.", + "quests.high_voltage.bedrock_miner.subtitle": "Unlimited ores?", + "quests.high_voltage.bedrock_miner.desc.1": "This may be the first time you encounter the &cBedrock Ore Miner&r, as it's rarely used in GregTech. \nIt functions similarly to the &bFluid Drilling Rig&r, except the veins it targets will &nnever deplete&r.\n\nIt doesn't consume much energy — running fine at &bMV&r or &6HV&r — and requires &ano input materials&r.\n\nSo, what's the catch?\nFinding the veins.", + "quests.high_voltage.bedrock_miner.desc.2": "You’ll need a &6HV&r Ore Prospector set to &oBedrock Ore Mode&r (&7Shift + Right Click&r), and a fair bit of patience. Once you find your target, you’ll also have to figure out how to bring the resources back to your outpost.\n\nOn the &fMoon&r, you can find your first bedrock ore veins, allowing you to passively obtain several essential elements completely for free, forever. Check JEI to see what's available! The higher the Weight, the more common the vein is.\n\nSince these will be so spread apart, this sounds like a great excuse to build a &7moon train&r!", + "quests.high_voltage.space_alloy.title": "Алюмосталь", + "quests.high_voltage.space_alloy.subtitle": "Мы это выдумали", + "quests.high_voltage.space_alloy.desc.1": "Чтобы сделать свой первый &6Ракетный Сплав&r, вам нужно загрузить &7Алюминий&r, &7Нержавеющую сталь&r и &cЖидкую Красную Сталь&r в ваш новый &6HV&r Смеситель.\n\nРецепт долгий, поэтому ждите, что смеситель будет полностью загружен на этом этапе.\n\nПосле этого пыль нужно переплавить в вашей ЭДП на уровне &bMV&r напряжения. Если у вас уже есть &6Нихромовые Катушки&r и ЭДП работает на &6HV&r напряжении, вы сможете сделать &aИдеальный Разгон&r рецепта! (если непонятно, посмотрите главу GregTech Энергетика)", + "quests.high_voltage.space_alloy.desc.2": "You can cool the ingots down with a &9Chemical Bath&r or, if you already have one, a &9Vacuum Freezer&r for a shorter processing time.\n\n&7144mb equals 1 ingot&r, so make sure not to extract too much &cRed Steel&r.\n\nYou will need &685 Rocket Alloy&r ingots total, which means:\n- &760 Aluminium&r\n- &720 Stainless Steel&r\n- &710 Red Steel&r\n\n&aNothing too bad!&r", + "quests.high_voltage.steel_engine.subtitle": "Синяя сталь возвращается, детка!", + "quests.high_voltage.steel_engine.desc": "&6Ракетный двигатель&r нужен, чтобы ваша ракета могла &aдолететь до Луны&r.\n\nРецепт не слишком сложный и предполагаем, что вы готовы взяться за каждую его часть.\n\nЧтобы получить &91152mB жидкой синей стали&r, для чего понадобится &78 слитков&r.", + "quests.high_voltage.rocket_fins.subtitle": "Итак, вы доберетесь до нужного пункта назначения", + "quests.high_voltage.rocket_fins.desc": "Вы сделали &6Ракетные Стабилизаторы&r с помощью &bПечи для сплавов&r, чтобы напомнить вам о доступе к &bМультиплавильне&r — замечательной ЭДП, которая может работать как &eПечь&r, так и как &bПечь для сплавов&r.\n\nКвест на её создание находится в главе &bMV&r. Мы настоятельно рекомендуем подумать о ней, если ещё не сделали этого.", + "quests.high_voltage.rocket_nose_cone.subtitle": "Варваре нос оторвали", + "quests.high_voltage.rocket_nose_cone.desc": "&6Ракетный обтекатель&r — самая сложная часть вашей ракеты. Вам понадобится большое количество &aПолиэтилена&r — надеемся, вы уже наладили его пассивное производство — и &6HV&r Эмиттер. &dХром&r можно получить электролизом &cРубиновой пыли&r.\n\n&aОстеклованный жемчуг каря&r делается сложнее и требует выполнения квеста, открываемого через &6HV Химический Реактор&r. Приготовьтесь делать &cДинамит&r, собрать &5Имплозионный Компрессор&r и воссоздавать знаменитую Жемчужену края — ведь в &2TFG&r Жемчуг края не выпадает естественным путём.", + "quests.high_voltage.launch_pad.subtitle": "Запуск через — 10,9...", + "quests.high_voltage.launch_pad.desc": "Стартовая площадка &6обязательна&r для запуска вашей ракеты — её нельзя просто поставить на любой блок!\n\n&cАХТУНГ!&r: не забудьте взять с собой &cВТОРУЮ Стартовую площадку&r, она понадобится для полёта домой!", + "quests.high_voltage.rocket_fuel.title": "Ракетное топливо", + "quests.high_voltage.rocket_fuel.subtitle": "Легче, чем вы думаете", + "quests.high_voltage.rocket_fuel.desc": "Для каждого полёта на ракете вам понадобится &6три ведра ракетного топлива&r. Процесс может показаться сложным (этапов производства действительно много), но всё что нужно — это &bХлор&r, &bМетан&r, &bАзот&r, &bКислород&r и &bВода&r. Ничего особо ужасного!\n\nЕсли у вас уже есть &5Большой Химический Реактор&r, можно даже пропустить некоторые этапы!\n\nЕсли вы ещё не пользовались им, самое время заглянуть в &7Дерево рецептов EMI&r для упрощения процесса. Просто кликните по маленькой иконке из 4 квадратов справа от рецепта, а затем наведите курсор на вопросительный знак внизу справа экрана — там найдете полные инструкции!", + "quests.high_voltage.space_suit.title": "Скафандр", + "quests.high_voltage.space_suit.subtitle": "Возможно, самое сложное", + "quests.high_voltage.space_suit.desc.1": "Мы знаем, что вам не терпится улететь, но для выживания на Луне дольше нескольких секунд нужен скафандр, наполненный &bдыхательной смесью&r — и чтобы не снимать его для заправки, нужен &eГазовый Баллон&r.\n\nСамая сложная часть — это &dПоликапролактамовая ткань&r (также известная как Нейлон).\n\nДля её производства потребуются ЭДП и &6HV&r &eХимический Реактор&r.\n\nДалее вы сможете создавать ткань из &aБензола&r, &bВодорода&r, &9Хлора&r, &bКислорода&r и &3Аммиака&r.\n\nМы не будем расписывать все шаги, но теперь, когда вы опытный игрок GregTech, вы сможете разобраться сами через &aEMI&r.", + "quests.high_voltage.space_suit.desc.2": "Когда всё будет готово, просто &eКликните ПКМ&r по бочке или резервуару, заполненному дыхательной смесью, например &bСжатым Нитроксом&r, чтобы заправить их как ведро. 1000mB хватит на 20 минут. Надев скафандр, вы сможете «пить» из Газового Баллона, чтобы заправить скафандр.\n\nТакже полезно заглянуть в главу «Выживание в космосе», вдруг там есть что-то ещё, что стоит взять с собой!", + "quests.high_voltage.space_suit.task": "Заполните и «пейте»", + "quests.high_voltage.welcome_moon.title": "Я на &3Луне&r!", + "quests.high_voltage.welcome_moon.subtitle": "Надеюсь ты взял всё, чтобы вернуться", + "quests.high_voltage.welcome_moon.desc": "&2Поздравляем&r, вы успешно приземлились на &7Луну&r! Здесь вы найдёте жилы &bИстинного Кварца&r и метеориты, которые позволят начать открывать &dAE2&r.\n\nНо это ещё не всё — некоторые жилы здесь имеют гораздо более высокую плотность, чем на Земле.\n\nНапример, на Луне легко найти жилы &6Ильменита&r, &7Боксита&r, &7Алюминия&r и &5Хромита&r. Создание небольшой базы здесь станет ключевым для дальнейшего прогресса.\n\nВашей главной задачей будет транспортировка ресурсов, ведь пока нет простых меж-измерительных инструментов вроде &5Эндер-Сундука&r или &dAE2 Квантового кольца&r.\n\nНадеемся, вы хорошо подготовились, иначе придётся крафтить вторую ракету и скафандр, чтобы забрать своё тело!", + "quests.high_voltage.gun.title": "Возьми с собой пушку", + "quests.high_voltage.gun.subtitle": "Если и это не помогло... Шмаляй из второй", + "quests.high_voltage.gun.task1": "Любое оружие", + "quests.high_voltage.gun.task2": "Любые медикаменты или выдержанный алкоголь", + "quests.high_voltage.gun.desc": "Слишком спокойно на Земле? На Луне вы будете не одни, так что готовьтесь к защите — одним мечом или каменными дротиками не обойтись.\n\n&4Луна опасна&r, и вы же не хотите потерять свою драгоценную Ракету, верно?\n\nВыберите хороший пистолет (если не уверены, рекомендуем &oСнайперскую винтовку «Заводной»&r), сделайте боеприпасы и если хотите установите обвесы на оружие.\n\nТакже полезно взять питательную еду для повышения максимума здоровья (попробуйте пакеты с едой!), а ещё алкоголь и лекарства для баффов и лечения.", + "quests.high_voltage.space_survival.title": "Дом вдали от дома", + "quests.high_voltage.space_survival.subtitle": "Больше, чем просто карьерный мир", + "quests.high_voltage.space_survival.desc": "Если ты ещё не сделал этого — обязательно загляни в главу &3Советы — Выживание в космосе&r! В ней собрана вся необходимая информация, чтобы обустроить полноценную лунную колонию.", + "quests.high_voltage.hypertubes.title": "ГиперТрубы", + "quests.high_voltage.hypertubes.subtitle": "Прям как в Futurama", + "quests.high_voltage.hypertubes.desc": "Ищете более крутой способ быстро перемещаться по базе? Попробуйте &3Гипертрубы&r! Просто встаньте у одного конца — и вас всосёт и перенесёт к другому, причём трубы могут идти в любом направлении!\n\nДля работы им нужны единицы нагрузки (Stress Units), но если у вас больше нет установки Create, вы можете преобразовать EU в SU с помощью Конвертера Энергии GregTech и Электродвигателя из &9&oCreate Crafts and Additions&r.", + "quests.high_voltage.wand.title": "Бесконечный строительный жезл", + "quests.high_voltage.wand.subtitle": "Незаменимый в СкайБлоке", + "quests.high_voltage.wand.desc": "Эта палочка-выручалочка делает ровно то же, что и остальные строительные жезлы, только у неё &3нет прочности&r. Любите строить небоскрёбы или заваливать гектары нетронутой травы? Тогда этот инструмент для вас!\n\nУчтите, что Building Gadgets появится скоро на уровне &5EV&r и предложит ещё более мощные инструменты для заядлых строителей.", + "quests.high_voltage.moon_harvester.title": "Лунный Пылесос", + "quests.high_voltage.moon_harvester.subtitle": "Помните коренные буры?", + "quests.high_voltage.moon_harvester.desc": "&7Луна&r — ваш первый шаг в мир &eбесконечной руды&r, но сам процесс медленный. Вам предстоит собирать разные виды &bРеголитовой пыли&r, каждая из которых доступна только в своём биоме. Для этого понадобится &6Лунный сборщик пыли&r. Важно помнить две вещи:\n\n• Для настройки нужен &9Входной люк&r, чтобы выставить правильную &9схему&r.\n• Он поддерживает &eКатушки&r, как и &6Крекинговый завод&r — чем круче катушки, тем больше экономия энергии. Особенно полезно при сборе Реголита далеко от базы.\n\nРазумеется, одной непереработанной пыли недостаточно. Нужна &aНебольшая линия переработки&r для извлечения ресурсов из пыли Реголита. Обязательно доставляйте её на вашу &7Лунную базу&r для переработки.", + "quests.high_voltage.regolith_vapor.title": "Реголитовый пар", + "quests.high_voltage.regolith_vapor.subtitle": "Небольшой этап для получения руды", + "quests.high_voltage.regolith_vapor.desc": "Чтобы переработать &bРеголитовую пыль&r, вам понадобится &bПар Реголита&r — его цепочка получения немного сложнее.\n\nВам понадобятся:\n\n• &7Лунный Песок&r — бесконечно добываемый с помощью &6Камнелома&r.\n• &eДвуокись углерода&r — производится из &9Кислорода&r и &8Угольной пыли&r (просто, за счёт бесконечной &bАлмазной Пыли&r, которую вы будете получать).\n• &9Азот&r — получаемый через выращивание &dПлодов Хоруса&r.\n\nСовет: можно переработать ваш &9Кислород&r через &bДиоксид Кремния&r, что также даст постоянный бонус в виде &eПыли Кремния&r — очень полезного побочного продукта.", + "quests.high_voltage.regolith_vapor.task": "Жмай это", + "quests.high_voltage.regolith_dust.title": "Реголит для каждого биома", + "quests.high_voltage.regolith_dust.subtitle": "Три Мушкитёра", + "quests.high_voltage.regolith_dust.desc": "Вы можете получить &b4 разных типа реголитовой пыли&r, каждая из которых даёт уникальные ресурсы. Каждый тип связан с определённым &7глубинным биомом&r на &7Луне&r. Имейте в виду: эти биомы не соединены напрямую, так что придётся немного исследовать поверхность. Найти нужный биом гораздо проще с помощью &aМиникарты&r — используйте её, чтобы быстро определить, где можно добыть каждый вид пыли.", + "quests.high_voltage.dusty_ores.title": "Пыльные Руды", + "quests.high_voltage.dusty_ores.subtitle": "Ты намекаешь, что будут ещё уровни переработки?", + "quests.high_voltage.dusty_ores.desc": "&7Пыльная руда&r — это уникальный тип руды из &dTerraFirmaGreg&r. Все &cнеисчерпаемые руды&r, которые вы получите на &7Луне&r — а позже и на &4Марсе&r — будут появляться в виде Пыльных руд. \n\nНа этом этапе единственный способ их переработки — использовать &6Центрифугу&r, чтобы отделить пыль. \n\nОграничивает, правда? Не переживате — вы разблокируете гораздо &eлучшие способы переработки&r, когда доберётесь до &eВенеры&r! \n\nПолезный совет: ты уже можешь ускорить процесс с помощью &6Большого химического реактора&r. Благодаря &bИдеальному разгону&r, он справляется с Пыльными рудами гораздо быстрее, чем предполагает базовый рецепт.", + "quests.high_voltage.dusty_ores.task": "Все пыльные руды с Луны", + "quests.high_voltage.final_dust.title": "Бесконечная пыль", + "quests.high_voltage.final_dust.subtitle": "Наконец-то! Безграничные ресурсы", + "quests.high_voltage.final_dust.desc": "Это все &cбесконечные ресурсы&r, которые вы можете получить на &7Луне&r до разблокировки более продвинутой переработки на &eВенере&r.\n\nС их помощью у вас будет всё необходимое для дальнейшего прогресса в &dGregTech&r — особенно для обеспечения &aобслуживания&r вашей Лунной базы.\n\nЭти ресурсы необходимы для:\n• Создания &dкомпонентов AE2&r\n• Производства &cбесконечного&r запаса &6Боеприпасов для Рельсотрона&r\n\nПассивная автоматизация теперь в ваших руках — сделайте этот шаг и воплотите её в жизнь!", + "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", + "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.", + "quests.low_voltage.lv_machine_casing.title": "LV Machine Casing for Create?", + "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_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.", + "quests.low_voltage.lv_age_progression.title": "LV Age Progression", + "quests.low_voltage.lv_age_progression.subtitle": "Too many options, too little time!", + "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", + "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", + "quests.low_voltage.lv_steam_turbine.title": "Electricity Generation", + "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.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.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.", + "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.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.task": "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", + "quests.low_voltage.lv_combuston_gen.desc": "The &7LV Combustion Generator&r may be a bit more expensive to craft compared to other generators, but its fuels carry a lot of energy. This makes it easier to move, or if you need to power a generator far from your base, a drum filled with &2Bio Diesel&r can transport a large amount of EU.\n\nLike other &7LV Generators&r, it produces &a32 EU/t&r.", + "quests.low_voltage.lv_biodiesel.title": "Bio Diesel", + "quests.low_voltage.lv_biodiesel.subtitle": "Your first combustion fuel", + "quests.low_voltage.lv_biodiesel.desc": "You will need a &7LV Chemical Reactor&r to make &2Bio Diesel&r. Simply mix your &aSeed Oil&r with any &eAlcohol&r from &6TFC&r. Other recipes using &dEthanol&r will require you to reach &bMV&r.", + "quests.low_voltage.lv_seed_oil.title": "Seed Oil", + "quests.low_voltage.lv_seed_oil.subtitle": "The Real Power of Plants", + "quests.low_voltage.lv_seed_oil.desc": "You have two options to produce &aSeed Oil&r: either by using the &9Vacuum Chamber&r or, if you already have it, the &7LV Extractor&r will do a great job.\n\nAlso, note that &aSeed Oil&r isn't only used for making &2Bio Diesel&r.\n\nIt can also be processed into &6Lubricant&r or sent directly to your &cBlaze Burner&r for fuel.", + "quests.low_voltage.lv_seeds.title": "First, grab seeds", + "quests.low_voltage.lv_seeds.subtitle": "These are tall plants", + "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_turbo_charge.title": "Turbo Charger", + "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.", + "quests.low_voltage.lv_aqueous_accumulator.task": "Any Aqueous Accumulator", + "quests.low_voltage.lv_wiremill.title": "Basic Wiremill", + "quests.low_voltage.lv_wiremill.subtitle": "No more painful wires!", + "quests.low_voltage.lv_wiremill.desc.1": "You could make any other &7LV&r Machine, but it would be easiest to start with the most useful one. We know, we know... you wanna make some of the crazier stuff first, but trust us, this is the best starting point.\n\nThe Wiremill lets you make &6two Wires from one Ingot&r. That should be three times cheaper than what you were doing up until now!", + "quests.low_voltage.lv_wiremill.desc.2": "&9Note:&r Recipes inside &3LV Machines&r go up to a maximum usage of &a32 EU/t (LV)&r. Anything higher than that and you will need a &bMV&r (or better) Machine. Needless to say, we aren't quite there yet.\n\nYou will need a &dProgrammed Circuit&r for certain recipes. We're sure you don't want to spend a precious Circuit to craft one, so &6read the dedicated quest for important details&r.\n\nWith this machine safely crafted - welcome to the age of all things electric!", + "quests.low_voltage.lv_wiremill.task": "Any of these", + "quests.low_voltage.lv_bender.title": "Basic Bender", + "quests.low_voltage.lv_bender.subtitle": "The Bender bends!", + "quests.low_voltage.lv_bender.desc": "Arguably the second best &7LV&r machine to craft, but we're down if you want to argue otherwise.\n\nThis unlocks the ability to convert one &6Ingot into one Plate&r, which is a better ratio than the Forge Hammer.", + "quests.low_voltage.lv_bender.task": "Any of these", + "quests.low_voltage.lv_lathe.title": "Basic Lathe", + "quests.low_voltage.lv_lathe.subtitle": "Get rid of your archaic tech", + "quests.low_voltage.lv_lathe.desc.1": "The Lathe is an important machine to help shape metals. Thanks to it, you can turn &6one Ingot into two Rods&r, and &6one Bolt into one screw&r. That's twice the efficiency on those recipes as opposed to crafting by hand.", + "quests.low_voltage.lv_lathe.desc.2": "&l&3Lore:&r&o The GregTech 5 Lathe produces one Rod and 2 small piles of Dust per Ingot. We also have a setting for this in GTCEu, but it's turned off by default.\n\n&oThe GT6 Lathe acts like GT5's, but Bolts lathe into one Screw and 1/72 of a pile of Dust. Disgusting!", + "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\nCells hold &done bucket&r of Fluid.", + "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.task": "", + "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.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?", + "quests.low_voltage.programmed_circuits.desc.1": "By clicking the &6Circuit Configuration Slot&r in machines, you can create a &bghost Programmed Circuit&r. \n\nThis is a fake circuit that allows you to select a given configuration for recipes! There's no need to spend your circuits crafting &bProgrammed Circuits&r anymore.\n\n&dElectric Machines&r and &dItem Input Buses&r will have a Ghost Circuit Slot.", + "quests.low_voltage.programmed_circuits.desc.2": "&l&3Lore:&r&o This feature is originally from GTNH.", + "quests.low_voltage.programmed_circuits.task": "I got it, I don't need to craft circuits", + "quests.low_voltage.lv_conveyor.title": "LV Conveyor Module", + "quests.low_voltage.lv_conveyor.subtitle": "A crafting component, but also a cover!", + "quests.low_voltage.lv_conveyor.desc": "Less common as a component, but used in a number of critical machines.\n\nWhen placed on a machine, conveyor modules will transfer items. You can configure them to import or export.\n\nThey can also accept various &9Item Filters&r.", + "quests.low_voltage.lv_robot_arm.title": "LV Robot Arm", + "quests.low_voltage.lv_robot_arm.subtitle": "You're going to hate making these", + "quests.low_voltage.lv_robot_arm.desc.1": "When placed on a machine, Robot Arms are a more configurable version of a Conveyor Module. They allow you to transfer items in specific batches, at specific rates, or keep a certain amount of items stocked.\n\nPractical uses for the Robot Arm will be explained in future Quests as a tutorial.\n\n&9Note:&r The functionalities provided by the Robot Arm work &lonly&r if it is &lrequired&r to perform the operation.", + "quests.low_voltage.lv_robot_arm.desc.2": "&l&3Lore:&r&o GregTech 5 had blocks such as the Buffer, Filter and Type Filter to allow fine control over items. In GTCE it's all been replaced by the almighty Robot Arm and various Filter Covers. Much more compact!", + "quests.low_voltage.lv_piston.title": "LV Electric Piston", + "quests.low_voltage.lv_piston.subtitle": "A crafting component - did you expect anything fancier?", + "quests.low_voltage.lv_piston.desc": "A specialized motor needed to make certain machines.\n\nOne of the more intricate crafting components, as it's made using a motor.", + "quests.low_voltage.lv_pump.title": "LV Electric Pump", + "quests.low_voltage.lv_pump.subtitle": "A crafting component, but also a cover!", + "quests.low_voltage.lv_pump.desc": "When placed on a machine, pumps will transfer fluid. You can configure them to import or export.\n\nIt can accept a &9Fluid Filter&r.", + "quests.low_voltage.lv_fluid_regulator.title": "LV Fluid Regulator", + "quests.low_voltage.lv_fluid_regulator.subtitle": "A cover that you may not use much", + "quests.low_voltage.lv_fluid_regulator.desc": "The &aFluid Regulator&r is sort of the equivalent to a &9Robot Arm&r for Fluids.\n\nIt can transfer fluids, but has two useful modes:\n\n&9-&r &dSupply Exact&r will transfer the amount of specified Fluid per tick if available. No more, no less.\n&9-&r &dKeep Exact&r will make sure the exact amount of Fluid in the attached machine is being kept.\n\nYou won't need it much, because natively GT machines will fill only one slot with the &6Pump Cover&r", + "quests.low_voltage.cover_behaviour.title": "Cover Behaviour", + "quests.low_voltage.cover_behaviour.subtitle": "Extra utility without taking up blockspace!", + "quests.low_voltage.cover_behaviour.desc.1": "Covers are placed by right-clicking with Cover in hand on a face of a machine, and removed with a &5Crowbar&r (or by mining the machine, but that's way slower).\n\nPretty much any GregTech Tile-Entity will accept Covers, even if they wouldn't provide any functionality.\n\nOpening a Cover is done by sneak-right-clicking it with an &5empty hand&r. You can also right-click with a &5Screwdriver&r, or sneak-right-click on another face using the grid.", + "quests.low_voltage.cover_behaviour.desc.2": "For Covers that transfer Items/Fluids, you will have a button to enable/disable other forms of transfer through the cover:\n\n&9- &rDisabled: only the cover will be allowed to transfer on this machine side.\n\n&9-&r Allow Filtered (only relevant with a filter!): other transfer will be enabled only if it matches the filter\n\n&9-&r Allow Unfiltered: any other transfer is allowed on this machine side.\n\nPlacing a cover of a lower voltage tier on a machine is &9safe&r.", + "quests.low_voltage.cover_behaviour.task": "I'm an expert on Covers now, don't you worry.", + "quests.low_voltage.lv_canner.title": "Basic Canner", + "quests.low_voltage.lv_canner.subtitle": "This machine does nothing exciting", + "quests.low_voltage.lv_canner.desc": "Make this machine when you feel like it's time you invested into Batteries.", + "quests.low_voltage.lv_battery.title": "Batteries!", + "quests.low_voltage.lv_battery.subtitle": "Batteries for storing energy!", + "quests.low_voltage.lv_battery.desc": "&aBatteries&r can be put into the energy slot at the bottom middle of machine GUIs, or in a &3Battery Buffer&r.\n\nWhen inside your inventory, they can be sneak-right-clicked to allow the batteries to &dcharge&r your EU items.\n\n&7LV&r, &bMV&r, and &6HV&r Batteries come in three forms, allowing you to pick the one you find the best depending on materials you have. &dLithium&r has the best capacity, followed by &dCadmium&r, then &dSodium&r.\n\nOur recommendation? Find a Salt vein, and either &aelectrolyze Salt&r for &dSodium&r, or &awash crushed Lepidolite&r for &dLithium&r.\n\nGet &eany&r &aBattery&r to complete this quest.", + "quests.low_voltage.lv_battery.task": "Any LV Battery", + "quests.low_voltage.lv_battery_preparation.title": "Battery Preparations!", + "quests.low_voltage.lv_battery_preparation.subtitle": "Batteries are great!", + "quests.low_voltage.lv_battery_preparation.desc": "Make some Battery Alloy, used for Battery Hulls.\n\nAntimony is found in &6Stibnite&r, look through your TFC Field Guide for more information on where to find it.\n\n&9Note:&r This quest does &lnot&r contain functional Batteries - head downwards for that.", + "quests.low_voltage.lv_battery_buffer_4x.title": "Battery Buffer", + "quests.low_voltage.lv_battery_buffer_4x.subtitle": "Useful if you don't want to build tons of generators", + "quests.low_voltage.lv_battery_buffer_4x.desc.1": "By itself, the Battery Buffer does nothing. However, if you place batteries inside its internal storage, it will act as a power buffer.\n\nThe &3Battery Buffer&r handles &9two Amps in&r, and &9one Amp out&r, &dper Battery&r. The output side has the dot, and all other sides are used as inputs.\n\n&6It'll also charge &lboth&r EU and RF Tools inside it&r.\n\nThis is a must have if you don't have unlimited power at hand. Get &eany&r &7LV&r Battery Buffer to finish the quest. However, the 16 slots variant is likely overkill at this stage.", + "quests.low_voltage.lv_battery_buffer_4x.desc.2": "&9Note:&r Don't loop your lossy Cables back to your Battery Buffer! If you think about it, you'll just end up voiding energy.\n\n&l&3Lore:&r&o To be frank with you, the GTCE Battery Buffer was... mediocre. It's been reworked in GTCEu to provide a mix between GT5 and GTCE's functionality. Energy now splits evenly across all batteries!", + "quests.low_voltage.lv_battery_buffer_4x.task": "Any Battery Buffer", + "quests.low_voltage.lv_amp_explanation.title": "But what are Amps?", + "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.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.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.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.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", + "quests.low_voltage.lv_electroliser.desc.1": "&lOutside of Ore Processing:&r\n\nSimilar to the Centrifuge, this machine does a lot of things - we can't hope to list them all! Fortunately, it's one of the cheapest &7LV&r machines, so grab it as soon as it becomes necessary.", + "quests.low_voltage.lv_electroliser.desc.2": "&lFor Ore Processing:&r\n\nOkay, we lied. It's not &oexactly&r used for Ore Processing, it's actually used in the &adecomposition of Dusts&r. However, most of the useful electrolysis recipes are locked at &bMV&r. You can peep at the &emolecular formula&r in a dust's tooltip to see what you can get from electrolysis.", + "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.", + "quests.low_voltage.lv_mixer.task": "From Create or GregTech", + "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.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.", + "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.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.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!", + "quests.low_voltage.lv_diode.desc": "Don't let JEI fool you... there's only one possible recipe right now for this Primitive Diode -- the liquid glass one.\n\nDiodes have a infamously &4nasty recipe&r, but they will become cheaper and more convenient once you can obtain &ePolyethylene&r.\n\nThis is required for &dMV Circuits&r.", + "quests.low_voltage.1_mv_circuit.title": "First MV Circuit!", + "quests.low_voltage.1_mv_circuit.subtitle": "Does that mean we're at MV yet?", + "quests.low_voltage.1_mv_circuit.desc": "Well... got any Aluminium Ingots yet?\n\nEach Electric Age has Circuits corresponding to its tier. The Good Electronic Circuit is the &dfirst MV Circuit&r you can make out of the three tiers of &bMV&r Circuitry.\n\nAlways be on the lookout for a cheaper way to make your circuits - new sets of recipes become available each time you make a new tier of &2Circuit Assembler&r. Conveniently, this tier of Circuit unlocks one now! Its recipes are far, far cheaper than the Deployers.\n\n&6Having this and Aluminium will grant access to MV Machines.&r\n\nIf you are having trouble understanding the mess that is GregTech circuits, check out the &6Progression Table&r chapter.", + "quests.low_voltage.lv_circuit_assembler.title": "The Circuit Assembler", + "quests.low_voltage.lv_circuit_assembler.subtitle": "Hopefully, your first MV Circuit expense", + "quests.low_voltage.lv_circuit_assembler.desc.1": "From now on, all Circuits should be made in a &3Circuit Assembler&r. Use it now to enjoy &6far cheaper LV and MV circuits&r.\n\nEach time you upgrade to a new tier of &3Circuit Assembler&r, you will be able to craft more &dadvanced themes&r of circuit. These will use &ccomplex&r and &msometimes&r unfamiliar ingredients, but will be more efficient to craft overall.", + "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Lore:&r&o The Circuit Assembler has made appearances in and out of GregTech versions. GT5 did not have it, and it was reimplemented in GT5 Unofficial. GTCE decided not to port it, and the tug-of-war continues with its inclusion in GTCEu.", + "quests.low_voltage.lv_greenhouse.title": "Electric Greenhouse", + "quests.low_voltage.lv_greenhouse.subtitle": "The power of KubeJS", + "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!\n\nThis is one of the few machines that has &2Perfect Overclocking&r, which basically means each higher tier of EU input means x4 the recipe speed instead of the usual x2!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rWith recipes requiring more than 32 EU/t, the multiblock needs either 1 &bMV&r energy hatch or 2 &7LV&r energy hatches. Multiblocks will &cnot&r use 2A of one tier to reach the next one for recipe voltage minimums.\n\nIn other words, the controller needs to say at least &bMV&r in the GUI to run recipes which say &bMV&r in EMI, even if they can draw enough EU/t with a lower tier hatch configuration.\n\n&9Note:&r This structure requires a lot of &7Steel&r. Make sure you have an &3EBF&r for that.", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Lore:&r&o This multiblock was originally created for the GTCEu Community Pack, but is also available on the GTCEu developer documentation. It's significantly slower than default to keep in line with TFC's slower tree growing speeds, but prior to TFG 0.9, it used to take almost an hour for each recipe!", + "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", + "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", + "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.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_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.", + "quests.low_voltage.lv_oxygen.title": "Breath of Fresh Oxygen", + "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.task": "Oxygen", + "quests.low_voltage.lv_nitrogen.title": "Nitrogen Gas", + "quests.low_voltage.lv_nitrogen.subtitle": "Your EBF booster", + "quests.low_voltage.lv_nitrogen.desc": "For now, your only use for Nitrogen will be to make your EBF &6faster&r, which may not sound like that big of a deal, but with how much you'll be using it, it's definitely worth setting up. Faster recipes mean less energy used too!", + "quests.low_voltage.lv_nitrogen.task": "Nitrogen", + "quests.low_voltage.lv_arc_furnace.title": "The Arc Furnace", + "quests.low_voltage.lv_arc_furnace.subtitle": "The Arc Furnace has never been so good", + "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r for cheaper electronic components. It's also your new best way to make &4Red Steel&r and &1Blue Steel&r Ingots!\n\nIt can also recycle various components and machines back to their original materials.", + "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Lore:&r&o Previous GregTech versions had both the Arc Furnace and the &bPlasma Arc Furnace&f. In that case, why not use one machine for both? Well, that's exactly what we thought - but we ultimately decided to remove one of the two &bplasma&f recipes. And then the other &bplasma&f recipe.\n\n&oIn short, the &bPlasma Arc Furnace&f is &4gone&f. RIP.", + "quests.low_voltage.lv_extractor.title": "Basic Liquid Extraction", + "quests.low_voltage.lv_extractor.subtitle": "The Extractor extracts...", + "quests.low_voltage.lv_extractor.desc.1": "Hm... didn't we make this joke already?\n\nThe reason we don't present &7LV&r versions of &6Steam&r machines is because they are &4NOT&r required. You might not want to invest into an upgrade that does next to nothing. Except for &othis one&r specifically, because it's a big improvement over the &6Steam Age&r.\n\nThe &3Basic Extractor&r gains Fluid capabilities, which enables &aFluid Extraction&r. Use it to melt Rubber that you previously solidified, to &dmelt Soldering Alloy&r for your circuits, and to &dmelt Red Alloy&r for the &6best Vacuum Tube recipe&r in the &3Assembler&r!", + "quests.low_voltage.lv_extractor.desc.2": "&l&3Lore:&r&o Did you notice this machine doubles as both an Extractor and a Fluid Extractor? The two of them were separate machines in previous versions of GregTech.", + "quests.low_voltage.lv_chemical_reactor.title": "Basic Chemical Reactor", + "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_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!", + "quests.low_voltage.mold_rotor.title": "Combo!", + "quests.low_voltage.mold_rotor.subtitle": "Time to end the misery of hand crafting rotors!", + "quests.low_voltage.mold_rotor.desc": "Use both of your new machines to turn a material into a Fluid, and solidify it back to a Rotor! This combination makes Rotors far easier to craft - &6four Ingots per Rotor&r, as well.\n\nYou can also do the same for &6Gears&r and &6Small Gears&r, which will then be superseded when you make a &3MV Extruder&r.\n\n&9Note:&r Some metals require higher voltages than &7LV&r for Fluid Extraction, so make sure to keep an eye on the recipe tier in EMI.", + "quests.low_voltage.mold_plate.title": "Casting Mold and Rubber Sheets", + "quests.low_voltage.mold_plate.subtitle": "Even cheaper rubber", + "quests.low_voltage.mold_plate.desc": "Stop wasting your time with your &6Alloy Smelter&r. You're gonna need a lot of &6Rubber Sheets&r, and later on you will also use it for other kinds of plastics.\n\nYou may think you can use the Extruder to make rubber sheets instead, but the &6Fluid Solidifier&r can do so much more, while the Extruder is pretty useless until &bMV&r.", + "quests.low_voltage.cupronickel_ingot.title": "Cupronickel Ingots", + "quests.low_voltage.cupronickel_ingot.subtitle": "It's an alloy", + "quests.low_voltage.cupronickel_ingot.desc": "&7A big part of progression in GregTech revolves around gaining access to new materials\nthat you'll use to upgrade your machines or unlock advanced components.&r\n\nThe first alloy you'll encounter is &bCupronickel&r — the beginning of a long journey.\nThis material is used to upgrade your &6Electric Blast Furnace&r, an essential step in your industrial growth.\n\nLuckily, this first step is fairly simple: a basic &7LV Alloy Smelter&r 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.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.", + "quests.low_voltage.lv_ebf.desc.2": "It's important to keep in mind that the EBF is a beefy boy. The minimum power cost to run a recipe is &9120 EU/t&r! That's slightly under 4 &7LV&r Generators or Alternators.\n\nYou may wish to consider building a separate power line, with separate Generators close to the EBF and Battery Buffer to run this. Be wary of the cable loss.", + "quests.low_voltage.multiblock_tech.title": "Multiblock Techniques", + "quests.low_voltage.multiblock_tech.subtitle": "Oh we love multiblocks right?", + "quests.low_voltage.multiblock_tech.desc": "This is the &6basics&r of what you need to build your first &bEBF&r, though it is highly customisable. Remember to use &6EMI&r, use &6U&r on the controller and don't hesitate to &6left click on the structure blocks&r to see what the possibilities are.\n\nAn important notice, each Energy Hatch can accept &a2A&r, which means that at &7LV&r they can each handle &a64 EU/t&r. With two of them, your &eEBF&r can run at &a128 EU/t&r.\n\nFor more details about this mechanic, refer to the &eGregTech Energy Chapter&r, specifically the &eSpending Energy&r section.\n\nMultiblocks bear a large variety of interesting mechanics that might seem daunting, but don't worry - you don't need to do anything fancy right yet. You'll learn more as you go!", + "quests.low_voltage.multiblock_tech.task.1": "Input Bus", + "quests.low_voltage.multiblock_tech.task.2": "Output Bus", + "quests.low_voltage.multiblock_tech.task.3": "Input Hatch", + "quests.low_voltage.lv_superconductor.title": "LV Superconductor", + "quests.low_voltage.lv_superconductor.subtitle": "No loss no bzzz", + "quests.low_voltage.lv_superconductor.desc.1": "&6Superconductors&r are special Wires available for each Voltage tier. They don't come with a Cable counterpart, but that isn't necessary, as they have absolutely &6zero cable loss&r.\n\nThey also won't damage you when you touch them. This makes them the best choice for wiring, if not a little expensive in comparison to the other wires.\n\nIf you weren't already enamoured, the 1x variant also covers 2 Amps. Isn't that nice?\n\nNow is a good time to replace your crappy &aTin Cables&r. Recycle them in the &3Extractor&r to recover both the Tin and Rubber used to craft them.", + "quests.low_voltage.lv_superconductor.desc.2": "&l&3Lore:&r&o No version of GregTech has had actual Superconductors for &7LV&f up until Gregicality and GTCEu, though some modpacks had lossless cables.", + "quests.low_voltage.aluminium_dust.title": "Aluminium Dust", + "quests.low_voltage.aluminium_dust.subtitle": "Time for an adventure", + "quests.low_voltage.aluminium_dust.desc": "There's many minerals that can be electrolyzed into aluminium, but most of them are off-limits until &bMV&r. Sapphire is one exception, otherwise several ore processing recipes can also yield aluminium dust as a byproduct. Look through JEI for your options, and consult the &2Field Guide&r on where to find each ore.\n\nOnce you have enough aluminium, we recommend making the electrolyzer as your first MV machine to unlock all the other options.\n\nNow all you need is an EBF! You should've started to work towards one already, otherwise you'd better get started!", + "quests.low_voltage.aluminium_ingot.title": "Your first Aluminium Ingot", + "quests.low_voltage.aluminium_ingot.subtitle": "We're basically in MV now, right?", + "quests.low_voltage.aluminium_ingot.desc": "Well... can you show us an &bMV&r Circuit as well?\n\n&aAluminium&r is the main ingredient for &bMV&r machinery. Get ready to need a lot of it.\n\nThe process of smelting Aluminium can be cut down by about a third with &9Nitrogen&r, which is obtained by centrifuging &9Air&r from a &3Gas Collector&r.\n\n&6You will still need MV Circuits in order to make MV machines!&r", + "quests.low_voltage.mv_hull.title": "Your third machine hull", + "quests.low_voltage.mv_hull.subtitle": "This is going quite well, only 7 to go!", + "quests.low_voltage.mv_hull.desc1": "Good job, you now have your &bMV Machine Hull&r, your first &bMV Circuit&r and your first &6Circuit Assembler&r.\n\nThis is the gist of &6GregTech&r, every tier you are going to make new &6machines&r using new &6materials&r and &6chemicals&r. You are going to have &5so much fun&r, we are kinda jealous!", + "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.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!", + "quests.medium_voltage.mv_machine_hull.subtitle": "More technology, more problems", + "quests.medium_voltage.mv_machine_hull.desc.1": "Every time you enter a new tier, things can get a bit overwhelming. You’ll be faced with lots of &enew machines&r to build and &echemicals&r to produce.\n\nAs you’ve probably seen in the quests, you have &2three main objectives&r to complete before progressing into &6HV&r. Let's break them down one by one.", + "quests.medium_voltage.mv_machine_hull.desc.2": "First, you'll need to upgrade your &dEBF&r with two new &bMV Energy Hatches&r. This will allow it to overclock and run &6HV recipes&r. That upgrade is key for producing &estainless steel&r, the main material for &6HV&r, and also &eKanthal&r, which you’ll need to upgrade your &dEBF coils&r.", + "quests.medium_voltage.mv_machine_hull.desc.3": "Your second objective—although you can tackle it first if you prefer—involves diving into chemistry. Your first plastic, &ePolyethylene&r, is essential for future progress. There are two possible paths you can follow, and the quests will help guide you:\n\n- &ePetrochem route&r: extract oil from the ground or oilsands. This path also unlocks &eDiesel&r production for fuel combustion.\n\n- &eBiochem route&r: use a &6Pyrolyse Oven&r and wood (a Create-powered tree farm works great). This method gives you more &eBenzene&r and opens the door to using a &eGas Generator&r.\n\nEach path has its pros and cons, but eventually, you’ll need both anyway.", + "quests.medium_voltage.mv_machine_hull.desc.4": "The final step here is unlocking the &6second HV Circuit&r. It only requires &atwo steps&r, making it faster than crafting the &6first HV Circuit&r, which needs &cthree steps&r.\n\nTo achieve this, you'll need to get your hands on a &dLaser Engraver&r, which allows you to produce your first &dWafers&r. With those, you can craft an &6HV Circuit&r that you'll use to build the &bMV Circuit Assembler&r.\n\nIt's not strictly necessary to do this now—you can continue using the first HV Circuit for progression—but &ait will make your life much easier&r if you take care of it now. Trust us.", + "quests.medium_voltage.mv_miner.title": "Automatic Mining", + "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", + "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", + "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", + "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r or a &3GT Create&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly but that won't be before some time.", + "quests.medium_voltage.mv_miner.task": "Any miner", + "quests.medium_voltage.mv_component.title": "The MV Components", + "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in previous tier?", + "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.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&8We’re not sorry.&r", + "quests.medium_voltage.mv_extruder.title": "Advanced Extruder", + "quests.medium_voltage.mv_extruder.subtitle": "The biggest upgrade you'll make", + "quests.medium_voltage.mv_extruder.desc": "We &lSINCERELY&r hope at &cno&r point you made the &7LV&r Extruder, because only the &bMV&r Extruder is actually useful. If you did, immediately &arecycle it&r through the Arc Furnace.\n\nThe Extruder shapes solid materials into (almost!) any form using &aIngots&r. This is a great way to reduce the amount of microcrafting, as well as keeping a high conversion ratio.\n\nThe Extruder can make &6Bolts&r, &6&6Small Gears&r, &6Gears&r, and &6&6Rings&r at the highest efficiency in a single step!\n\nYou may also like to use it for &dPipes&r, &dScrews&r, and &dRotors&r.", + "quests.medium_voltage.mv_chemical_reactor.title": "Advanced Chemical Reactor", + "quests.medium_voltage.mv_chemical_reactor.subtitle": "Stronger, better, faster", + "quests.medium_voltage.mv_chemical_reactor.desc": "You already know about the &dChemical Reactor&r from the &7LV Chapter&r—but here’s a refresher.\n\nAt &bMV&r, you unlock &anew recipes&r and also gain the ability to &aoverclock your LV recipes&r. That means they can run &atwice as fast&r, but will consume &e4x the energy&r. It’s up to you to decide whether the trade-off is worth it.\n\nBut that’s not the only reason to build the &bMV Chemical Reactor&r. If you’re taking the &dorganic chemistry path&r, you’ll need it to run the &dEthylene&r recipe, which uses &dSulfuric Acid&r and &dEthanol&r—this one requires &bMV power&r.\n\nIn any case, it’s a solid machine, and not too expensive. Go ahead and build it when you have a bit of spare time.", + "quests.medium_voltage.mv_mixer.title": "Advanced Mixer", + "quests.medium_voltage.mv_mixer.subtitle": "Mixing more complex alloys", + "quests.medium_voltage.mv_mixer.desc": "If you're wanting to dive into &bMV&r, start here.\n\nThe dusts created in an &3MV Mixer&r have great utility.", + "quests.medium_voltage.mv_energy.title": "Electricity Generation in MV", + "quests.medium_voltage.mv_energy.subtitle": "Things are 'boutta get rough", + "quests.medium_voltage.mv_energy.desc.1": "Hello there, and welcome to &bMV Energy Production&r.\n\nIn this quest, we’ll go over the different options available to keep your &bMV machines&r powered and running smoothly.\n\nWe won’t cover this in every chapter, so we highly recommend that you &aread the dedicated chapter on GregTech Energy&r for a deeper understanding of how everything works.\n\nFor now, here are your &athree main options&r:\n\n&8- &bUse an MV Generator&r to directly produce &bMV-level energy&r.\n\n&8- &bStep up your &7LV&r power by using transformers&r, with a &e4:1 ratio&r between &7LV&r and &bMV&r.\n\n&8- &bConvert RF&r using your &dAlternator&r to get &bMV energy&r directly.\n\n", + "quests.medium_voltage.mv_energy.desc.2": "Higher-tier Generators will increase their fuel consumption proportionally to their Generation rate, keeping the duration of fuels and the specific amount of energy from fuels the same. The &3Advanced Steam Turbine&r will use &d5,120 mB Steam&r per second, equivalent to &d256 mB/t&r.\n\nGet &eany&r of the generators to complete this quest, but you may prefer starting off with the &3Advanced Steam Turbine&r.", + "quests.medium_voltage.mv_energy.desc.3": "There are a few new power options available for &bMV&r. Selecting the Generators and pressing &4U&r will let you see which fuels count as &aCombustion&r or &aGas&r.\n\nQuests in the top left corner of this Chapter are for the valuable Power options.\n\nIf you stick to &9Steam&r for your Power generation, you'll probably need a &3Large Boiler&r.", + "quests.medium_voltage.mv_energy.desc.4": "&3Transformers&r allow you to step up and down safely between Voltage tiers. They convert the power they receive into an equivalent amount of power 1 voltage tier above or below the input voltage.\n\nApart from running machines on different voltage tiers, Transformers come in handy for transporting power across longer distances, as cable loss has less of an effect at higher voltages. Just like real life!", + "quests.medium_voltage.mv_energy.desc.5": "Transformers have 5 low voltage sides, and 1 high voltage side.\n\nThe &9normal&r Transformer can only do 1A <-> 4A conversion, but &9Adjustable&r Transformers can be changed between 1A <-> 4A, 2A <-> 8A, 4A <-> 16A, and 16A <-> 64A conversions.\n\nUse a &aSoft Hammer&r to change between transforming up and down, and a &aScrewdriver&r on Adjustable Transformers to change the amperage.\n\nHigher tier Transformers will require &9Coils&r.", + "quests.medium_voltage.mv_energy.desc.6": "Lastly, as you already know from the &7LV Chapter&r, you can use a &dConverter&r to, well... convert your &cRF&r directly into &bMV energy&r.", + "quests.medium_voltage.mv_battery.title": "MV Battery Buffer", + "quests.medium_voltage.mv_battery.subtitle": "Energy management", + "quests.medium_voltage.mv_battery.desc": "As always, we highly encourage you to use a &bBattery Buffer&r, so even if you use more &6energy&r than you produce, you won't run out of it right away, and you will be able to get the energy back while your machines aren't running.", + "quests.medium_voltage.mv_battery.task": "Any MV Battery Buffer", + "quests.medium_voltage.mv_batteries.title": "Better Batteries", + "quests.medium_voltage.mv_batteries.subtitle": "Baby Got Battery", + "quests.medium_voltage.mv_batteries.desc": "&bMV&r Batteries will appeal to you if you want to buffer Energy, just like &7LV&r.\n\nThe cost in &aSodium&r, &aLithium&r or &aCadmium&r jumps up to 8 dusts, so you should use whatever you have the most of. The difference in capacity isn't &7THAT&r huge, after all!\n\nGet &eeither&r Battery to complete the Quest.", + "quests.medium_voltage.mv_steel_alloy.title": "Steel Alloys", + "quests.medium_voltage.mv_steel_alloy.subtitle": "Steel Your Heart", + "quests.medium_voltage.mv_steel_alloy.desc": "Vanadiumsteel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.\n\nOther Steel alloys include Blue Steel, Red Steel, and Black Steel!\n\nTake some Blue Steel free of charge - it's twice as durable as Steel.", + "quests.medium_voltage.pyrolyse.title": "Pyrolyse Oven", + "quests.medium_voltage.pyrolyse.subtitle": "Thermal Decomposition", + "quests.medium_voltage.pyrolyse.desc.1": "The &3Pyrolyse Oven&r is an electric equivalent to the &3Coke Oven&r. It can produce &9Coal Coke&r and &9Charcoal&r with a &9Creosote&r byproduct just as before, but also has additional &6Organic Byproducts&r, the most beneficial of these being &aWood Tar&r.\n\nAnother product is &aBiomass&r, which is more pertinent for your progression as of this moment.", + "quests.medium_voltage.pyrolyse.desc.2": "The byproducts can be Distilled for an array of organic resources, with &odifferent&r byproducts giving &odifferent&r ratios of &odifferent&r chemicals.\n\nYou will need to take a peek at the &9Distillation&r Quest to get to grips with the power of distillation...", + "quests.medium_voltage.pyrolyse.desc.3": "There are recipes that can accept &bNitrogen&r to double the speed. This isn't quite worth pursuing right now, but Nitrogen will eventually be free and infinite.\n\nYou should be more than fine with a single &3LV Energy Hatch&r, and Superconductors to supply a steady &d64 EU/t&r. Additionally, &3Cupronickel Coils&r are perfect when you're getting used to the Pyrolyse Oven, but you may want to upgrade to &bKanthal&r eventually.", + "quests.medium_voltage.pyrolyse.desc.4": "&9&lNote:&r&l The Plant path is one path you can take towards &9&lEthylene&r&l, which is a necessary chemical in progressing to &6HV&r&l. The other path involves Oil.&r\n\nThe Pyrolyse Oven remains &doptional&r. However, it is very rewarding to construct one either for Power, or for the various Byproducts, and we highly recommend you give it a look.\n\n&l&3Lore:&r&o In GT5u, the structure for the Pyrolyse Oven was infamously a giant box with only 9 coils inside. Players usually spent several minutes debugging what is wrong due to a lack of a EMI preview.", + "quests.medium_voltage.mv_fluid_rig.title": "Fluid Drilling Rigs", + "quests.medium_voltage.mv_fluid_rig.subtitle": "Fluid Drilling Rigs in CEu!", + "quests.medium_voltage.mv_fluid_rig.desc.1": "It's quite the investment to own a &3Fluid Drilling Rig&r, but it is &oby far&r the most prominent &6source of Oil&r.\n\nIt pumps fluids from underneath Bedrock itself. Note that the fluids aren't actually there, instead being simulated.\n\nFluid veins are stored within &cchunk-sized regions&r. Each vein has a different fluid, but they are mostly types of Oil.\n\nYou can't carry out prospecting for fluid veins &oyet&r - this will come at &6HV&r.", + "quests.medium_voltage.mv_fluid_rig.desc.2": "Each vein generates with a different base yield. This is typically between &d150L&r to &d300L per second&r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time until it reaches its depletion yield. At that point, you should move the Rig to a different vein.\n\nA &3Basic Fluid Drilling Rig&r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for &6well over 10,000&r buckets of Oil. Higher tier Rigs will massively increase the yield, while also decreasing the depletion rate.", + "quests.medium_voltage.mv_fluid_rig.desc.3": "&lWhat you can find in the &2Overworld&r&l:&r\n\n&9Oil:&r richer in &aLight Fuel&r, the most appreciated variant.\n&9Light Oil:&r richer in &aRefinery Gas&r, usable for power.\n&9Heavy Oil:&r richer in &aHeavy Fuel&r, which has uses that are more niche but notably Toluene.\n&9Raw Oil:&r richer in &aNaphtha&r, the best source of the early-game oil products.\n&9Natural Gas:&r grants &aRefinery Gas&r with no distillation required.\n&9Sea Water:&r grants &aSodium&r and &aChlorine&r, useful later.", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cNether&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", + "quests.medium_voltage.mv_oilsands.title": "America Simulator", + "quests.medium_voltage.mv_oilsands.subtitle": "This quest was sponsored by the US Military", + "quests.medium_voltage.mv_oilsands.desc": "Underground, you may come across pure Oilsands ore veins. You can &3centrifuge&r the Dust to get &aOil&r.\n\n&9&lNote:&r&l The Oil path is one path towards &9&lEthylene&r&l. The other paths involve getting natural with some Ethanol.&r\n\nFor now, Oil is &doptional&r. It becomes mandatory much later when you get to &5EV&r.\n\nOil can also be refined in the form of &aLight Fuel&r, &aDiesel&r or even &aGasoline&r, which are excellent power options.\n\nIf you chose this path, you should use it for both Power and Ethylene.\n\nOilsands are a &6great starting point&r - they'll tide you over until you unlock Fluid Drilling Rigs.", + "quests.medium_voltage.mv_lpg.title": "The Church of Natural Farts", + "quests.medium_voltage.mv_lpg.subtitle": "Whoever smelt it...", + "quests.medium_voltage.mv_lpg.desc.1": "&aRefinery Gas&r, &aLPG&r and &aMethane&r are &9Gas Fuels&r. LPG (Liquid Petroleum Gas) is a mix of hydrocarbons typically used in heating appliances.\n\nRefinery Gas is obtained either through &dNatural Gas&r or &dLight Oil&r, the latter yielding more, yet requiring an extra step of distillation.\n\nUse of a &3Centrifuge&r to separate into &aLPG&r and &aMethane&r should always be done, as it's practically free.", + "quests.medium_voltage.mv_lpg.desc.2": "&a&aLPG&r and &aMethane&r are burned in a &3Gas Turbine&r. Among the other fuel options, they are the easier to set up which makes them excellent to get started. Their drawback is that they cannot be refined further, so upgrading the &3Fluid Drilling Rig&r may be a top priority if you stick to this fuel source.\n\n&aMethane&r can also be obtained from a few &anatural sources&r. &eBetween us&r, they're memes, but you can explore them if you wish. Ultimately, your power source is your choice.", + "quests.medium_voltage.mv_brewery.title": "Local Brewery selling Booze", + "quests.medium_voltage.mv_brewery.subtitle": "*hic*... *hic*", + "quests.medium_voltage.mv_brewery.desc.1": "The Brewery can be used to make &aLubricant&r from &aRedstone&r and &aCreosote&r/&aOil&r. Lubricant has some niche uses, namely being used in the &3Cutter&r to significantly reduce the duration of its recipes.\n\nThe Brewery is a very, very slow machine, but it requires almost no power to run its recipes. Building &2many Breweries&r will help you obtain enough Biomass on your quest for plastic.\n\n&9Note:&r The Brewery unlocks the Biomass path towards &9Ethylene&r. The same can be done in the &3Pyrolyse Oven&r. The other path involves Oil.&r", + "quests.medium_voltage.mv_brewery.desc.2": "&l&3Lore:&r&o You could make your own Brewery if you want to build up a company and start selling Booze... in GregTech 6.&r", + "quests.medium_voltage.mv_biomass.title": "Biomass", + "quests.medium_voltage.mv_biomass.subtitle": "Plants aren't industrial enough!", + "quests.medium_voltage.mv_biomass.desc.1": "Welcome to the organic &dEthylene&r path! The goal here is to produce &dEthanol&r and mix it with &dSulfuric Acid&r to make &dEthylene&r.\n\nTo get &dEthanol&r, you'll need to distill it from &aBiomass&r—so let's look at the different ways to produce that biomass.\n\nThe first method is simple: put &asaplings&r into a &dBrewery&r with water. The downside? &eIt's slow&r.", + "quests.medium_voltage.mv_biomass.desc.2": "The second method is more complex, but yields much better results. You’ll need to get &aBio Chaff&r, which comes from &amacerating Plant Balls&r. Note that you won't get any &aextra chance&r until you unlock &6HV Crushing&r.\n\n&bPlant Balls&r can be obtained by:\n-Centrifuging &9Sugarcane&r or &9Beets&r\n-Centrifuging every &awood&r that you can tap &9#afc:tappable_logs&r\n-Compressing &asaplings&r directly\n\nFinally, process your &aBio Chaff&r with water in a &dBrewery&r or go for a &dPyrolyse Oven&r for a &e66 percent boost&r in output.", + "quests.medium_voltage.mv_biomass.desc.3": "&l&3Lore:&r&o You may recognise Plantballs from IndustrialCraft2! In IC2 Experimental, there was this rather... obscure way to turn Biomass into Biogas for power, which sadly required too much investment to be really worth it.", + "quests.medium_voltage.mv_distillery.title": "Distillery", + "quests.medium_voltage.mv_distillery.subtitle": "The Illusion of Free Choice", + "quests.medium_voltage.mv_distillery.desc.1": "Before we start, here's some important information if you're aiming to make Ethylene:\n\nTaking the &aOil&r route will require &oat least&r a &3LV Distillery&r.\n\nWith the &aBiomass&r route, you will &lneed&r a &3MV Distillery&r.\n\nGet &eeither&r to complete this quest.", + "quests.medium_voltage.mv_distillery.desc.2": "Got all that? &6Alright&r! Let's discuss a complex topic: &9Distillation&r. We'll try to help you understand how and why the &aEMI&r recipes are the way they are, so stick with us.\n\nNearly all the &3Distillery&r recipes are duplicates from the &3Distillation Tower&r, except that they only have one Fluid output, and void everything else.\n\nIn other words, you could argue the &3Distillery&r is an &dinferior&r &3Distillation Tower&r.", + "quests.medium_voltage.mv_distillery.desc.3": "This doesn't mean that the &3Distillery&r is the worse of the two. It is unlocked earlier, and it is &dsmaller&r, &dcheaper&r, and &dmore energy efficient&r per recipe.\n\nHell, in many cases, you won't even mind losing the other Fluids.\n\n&3Distilleries&r are an essential component for power generation, whether you pick &aDiesel&r or &aBenzene&r.\n\nYou'll probably want many of them at as low-tier as possible to avoid the energy losses from Overclocking.", + "quests.medium_voltage.mv_distillery.task": "Either an LV or MV Distillery", + "quests.medium_voltage.mv_benzene.title": "The Church of Benzene", + "quests.medium_voltage.mv_benzene.subtitle": "In the end, it's always Benzene", + "quests.medium_voltage.mv_benzene.desc.1": "&aBenzene&r is a &9Gas Fuel&r. To skip some frustration, let's check out the two best ways to obtain it.\n\nThe first option is typically &dWood based&r. Put Logs in the &3Pyrolyse Oven&r for &9Wood Tar&r. The Charcoal you obtain can then be processed in &3Extractors&r for even more &9Wood Tar&r, which you &3distill&r for &aBenzene&r.\n\nYour second option is &dHeavy Oil based&r. Put Heavy Oil in a &3Distillery&r for &9Heavy Fuel&r, which you &aseverely steam-crack&r and &3distill&r again for &aBenzene&r.", + "quests.medium_voltage.mv_benzene.desc.2": "For information on how to process Oil, check the Light Fuel and Naphtha Quests.\n\nIn general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aBenzene&r is burned in a &3Gas Turbine&r. This power source starts weaker than its &eDiesel&r cousin, but gets a big boost when refined to &6Nitrobenzene&r in &6HV&r. Ultimately, your power source is your choice.", + "quests.medium_voltage.mv_light_fuel.title": "Light Fuel", + "quests.medium_voltage.mv_light_fuel.subtitle": "Turn up the Lights in here, baby", + "quests.medium_voltage.mv_light_fuel.desc": "Distillating &aOil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aLight Fuel&r is a good &9Power&r option, but there's something even greater... check the Quest to the left.", + "quests.medium_voltage.mv_diesel.title": "The Church of Diesel", + "quests.medium_voltage.mv_diesel.subtitle": "Mother, how is diesel made?", + "quests.medium_voltage.mv_diesel.desc.1": "&aDiesel&r is a &dOil-based &9Combustion Fuel&r.\n\nTo mix &aLight Fuel&r and &aHeavy Fuel&r, the right ratio for &3Distilleries&r is &63:2&r from &dOil&r or &dRaw Oil&r.\n\nThis would necessitate 3 Distilleries for Light Fuel, or 2 Distilleries for Heavy Fuel.", + "quests.medium_voltage.mv_diesel.desc.2": "You can cut the amount of &dOil&r required &6drastically&r by using &dHeavy Oil&r for &aHeavy Fuel&r specifically. &dOilsands&r is a great option if you wish to go down this route!\n\n&o(For the math nerds, you go from 8.33 Oil -> 6 Diesel, to 5 Oil + 0.4 Heavy Oil -> 6 Diesel)&r\n\n&eNote:&r Do &cnot attempt&r to put Oil in the &3Distillation Tower&r You might think it's a good idea because it gives both Light Fuel and Heavy Fuel. However, this process requires a lot of overclocking to be worth your time, and you will lose more energy than what the byproducts are worth.", + "quests.medium_voltage.mv_diesel.desc.3": "In general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aDiesel&r is burned in a &3Combustion Generator&r. It can be further refined to &6Cetane-Boosted Diesel&r in &6HV&r. Compared to the other power sources, it is generally more efficient, but a more demanding processing line. If you take the &eOil&r route for &aPolyethylene&r, this can work great with existing infrastructure. Ultimately, the power source you want to use is your choice.", + "quests.medium_voltage.mv_jetpack.title": "I Believe I Can Fly", + "quests.medium_voltage.mv_jetpack.subtitle": "...well, almost Fly", + "quests.medium_voltage.mv_jetpack.desc": "This Jetpack takes most &aCombustion Fuels&r (excluding oils) to enable a primitive form of flight.\n\nFill it like you would fill a Drum, or with a &3Canning Machine&r.\n\nPress &4H&r (default) to enable Hover Mode.", + "quests.medium_voltage.mv_ethanol.title": "Ethanol", + "quests.medium_voltage.mv_ethanol.subtitle": "Yo, wait - that's alcohol!", + "quests.medium_voltage.mv_ethanol.desc": "Put your previously made &aBiomass&r into a &3MV Distillery&r to make &aEthanol&r.\n\nYou will need this for &dEthylene&r by reacting it with &aSulfuric Acid&r in a &3MV Chemical Reactor&r... unless you chose to go down the Oil path.\n\nOnce you have a hefty starting stock of Ethanol, consider making and distilling &9Fermented Biomass&r in a &3Distillation Tower&r (when you get there!) for extra chemicals.\n\n&cDo not try&r to use Ethanol as a Power source... it's quite possibly its worst use. If it's organic &9Power&r that you want, we suggest taking a look at &dBenzene&r instead!", + "quests.medium_voltage.mv_bio_diesel.title": "The Church of Bio Diesel", + "quests.medium_voltage.mv_bio_diesel.subtitle": "Flower Power", + "quests.medium_voltage.mv_bio_diesel.desc": "Want to try something plant-based but without a tree farm? Give &3Bio Diesel&r a shot! The best route for it is through &dSeed Oil&r from either Sunflowers or Canola. Just mix it with a little Ethanol and Sodium Hydroxide (from Sea Water!) in a Chemical Reactor and you're done! As a bonus, this route also outputs Glycerol which you can turn into &dEthylene&r!", + "quests.medium_voltage.mv_mutli_channel.title": "Multiple Channel Pipes", + "quests.medium_voltage.mv_mutli_channel.subtitle": "Is it already AE2?", + "quests.medium_voltage.mv_mutli_channel.desc": "Regular &o&dGregTech&r Fluid Pipes can only transport one fluid type at a time.\n\n&3Quadruple Fluid Pipes&r can transfer four different types of fluids. &3Nonuple Fluid Pipes&r can transfer nine different types! Useful for compact setups.\n\n&3Nonuple Fluid Pipes&r will be useful in &5EV&r for handling the many outputs of the &3Distillation Tower&r.\n\nGet &eeither&r to finish this quest.", + "quests.medium_voltage.mv_naphtha.title": "Naphtha or Light Fuel", + "quests.medium_voltage.mv_naphtha.subtitle": "We're still confused on how Naphtha is pronounced", + "quests.medium_voltage.mv_naphtha.desc": "Distillating &aOil&r or &aRaw Oil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aNaphtha&r is a good &9Product&r source, surprsingly it's also a really good fuel (we heard nerf is coming) but if you are sitting on Oil sand or you don't have Raw Oil then Light Oil may be better. Keep following the quests to the right for more details.", + "quests.medium_voltage.mv_fuel_cracking.title": "Fuel Cracking", + "quests.medium_voltage.mv_fuel_cracking.subtitle": "Fuel and oil cracking can get complicated...", + "quests.medium_voltage.mv_fuel_cracking.desc.1": "Don't panic! We'll mostly be doing this to get hydrocarbons.\n\nThere are many ways to acquire &dEthylene&r from Oil processing. It's easy to get lost in all the options and recipes!\n\nThe best way is to steam-crack &aNaphtha&r in a &3Chemical Reactor&r. Be sure to make the &aSeverely Steam-Cracked&r version for a higher yield of Ethylene.", + "quests.medium_voltage.mv_fuel_cracking.desc.2": "Once in &6HV&r, you'll have the option to do this recipe in the &3Cracking Unit&r at 100 percent efficiency. Unfortunately, the recipes you are doing with the Chemical Reactor have a loss of &450 percent&r.\n\n&9Note:&r All of this looks and feels terribly inefficient - we hope that's strong motivation to tier up! The &3Distillation Tower&r will be a huge upgrade for petrochem, but you're not quite there... yet. Right now, you'll have to use a &3Distillery&r to get &dEthylene&r.", + "quests.medium_voltage.mv_ethylene.title": "Ethylene", + "quests.medium_voltage.mv_ethylene.subtitle": "One of many hydrocarbons", + "quests.medium_voltage.mv_ethylene.desc": "Our warmest congratulations on making it here.\n\nThe way you should obtain &aEthylene&r was described in the previous Quest, depending on the route you chose.\n\n&aEthylene&r will shortly be used in polymer production. It's also useful in a few other reactions.", + "quests.medium_voltage.mv_sulfuric_acid.title": "Sulfuric Acid", + "quests.medium_voltage.mv_sulfuric_acid.subtitle": "...what he thought was H2O was H2SO4!", + "quests.medium_voltage.mv_sulfuric_acid.desc.1": "EMI might look a little overwhelming here, so we'll go through the best path for Sulfuric Acid here.\n\nMaking &eSulfuric Acid&r is a three step process. It is used in many important reactions, so you should automate its production ASAP.", + "quests.medium_voltage.mv_sulfuric_acid.desc.2": "To automate it, you will need &3three LV Chemical Reactors&r. We would recommend building a dedicated setup somewhere with &3a single LV Generator&r to power all three machines. You can then spaghetti your pipes to handle input and output.\n\n&9-&r Step 1: React &aSulfur&r with &bOxygen&r to form &aSulfur Dioxide&r.\n&9-&r Step 2: React &aSulfur Dioxide&r with more &bOxygen&r to form &aSulfur Trioxide&r.\n&9-&r Step 3: React &aSulfur Trioxide&r with &bWater&r to form &eSulfuric Acid&r.", + "quests.medium_voltage.mv_sulfuric_acid.desc.3": "&l&3Lore:&r&o GregTech 5's Chemical Reactor only had one Fluid slot. To circumvent that, they would do &dcell chemistry&f. The way you would automate Sulfuric Acid was by having one cell travel from machine to machine and then loop back to its starting position. A somewhat fun and interesting automation challenge, but also a chore!", + "quests.medium_voltage.mv_aciditic.title": "It will Melt Your Flesh", + "quests.medium_voltage.mv_aciditic.subtitle": "...if you don't read this quest.", + "quests.medium_voltage.mv_aciditic.desc.1": "You may notice that some fluids say they are &aAcidic&r, with &9Sulfuric Acid&r being one of them.\n\nThis means that many fluid pipes will not be able to transport them safely!\n\nAt &bMV&r, the cheapest pipes for acid transportation are probably &aGold&r, with the more expensive &aVanadium Steel&r or &aChrome&r pipes taking second and third place.\n\n&aStainless Steel&r or &aPolytetrafluoroethylene&r (try saying that fast) will be valid options once you are in &6HV&r.", + "quests.medium_voltage.mv_aciditic.desc.2": "You have three options for acid storage at around this point: &dGlass Vials&r, &dGold Drums&r, or &dSuper Tanks&r. Glass Vials are like &9Fluid Cells&r, and are made to store acids. Gold Drums are self-explanatory. Super Tanks will be unlocked after &9Polyethylene&r, and can store any fluid without restriction.\n\n&cWARNING:&r Acids in the wrong pipes will cause &cvoiding&r, &cpipe burning&r, and high chance of &cdeath&r! Be careful!\n\n&l&3Lore:&r&o The acid transportation and storage mechanics originate from GregTech 6.", + "quests.medium_voltage.mv_aciditic.task": "I'm an acid professional, don't worry", + "quests.medium_voltage.mv_hydrochloric.title": "Hydrochloric Acid", + "quests.medium_voltage.mv_hydrochloric.subtitle": "You'll need a lot of this!", + "quests.medium_voltage.mv_hydrochloric.desc": "Obtain &9Hydrochloric Acid&r by mixing &aHydrogen&r and &aChlorine&r.\n\nThis acid is also obtained as waste from a lot of reactions involving &aChlorine&r. Depending on your setups, you may never need to produce it directly.", + "quests.medium_voltage.mv_hydrogen.title": "Hydrogen Gas", + "quests.medium_voltage.mv_hydrogen.subtitle": "You know about Hydrogen right?", + "quests.medium_voltage.mv_hydrogen.desc": "There are &amany ways&r to get your hands on &dHydrogen&r—and it will often be a &abyproduct&r of other chemical reactions.\n\nIn &dPetrochem&r, you’ll produce a lot of &dMethane&r, which can be &aelectrolyzed&r into &dHydrogen&r. You could also electrolyze &9Water&r, but we recommend going for &9Seawater&r instead, as it gives more useful byproducts.\n\nLater on, the &ebest method&r will be reacting &9Water&r with &dMethane&r directly—but that’s &6HV-gated&r and will start off &erather slow&r.", + "quests.medium_voltage.mv_chlorine.title": "Chlorine Gas", + "quests.medium_voltage.mv_chlorine.subtitle": "Salty Gas", + "quests.medium_voltage.mv_chlorine.desc": "&dChlorine&r is a core component of your chemical toolkit. You’ll need &da lot of it&r for various reactions and crafting steps—the first one being &dHydrochloric Acid&r.\n\nThere are many ways to obtain &dChlorine&r, but the main source is &dsalt&r. It’s basically everywhere, so you won’t struggle to find it.\n\nWe recommend &aelectrolyzing seawater&r as an early method, but keep in mind—it’s &eslow&r.", + "quests.medium_voltage.mv_seawater.title": "Sea Water", + "quests.medium_voltage.mv_seawater.subtitle": "As wide as an ocean...", + "quests.medium_voltage.mv_seawater.desc": "This quest is here to emphasize the presence of &9Sea Water&r in &aTerrafirmaCraft&r.\n\nYou can easily get an &ainfinite source&r with just two source blocks and either a Mechanical Pump or an Aqueous Accumulator. From there, you can &aelectrolyze it&r to get both &dChlorine&r and &dHydrogen&r.", + "quests.medium_voltage.mv_long_pipe.title": "Long-Distance Pipeline", + "quests.medium_voltage.mv_long_pipe.subtitle": "Wondering how to move these liquids around?", + "quests.medium_voltage.mv_long_pipe.desc.1": "&3Long-Distance Fluid Pipes&r can be used to send fluids across great distances. Place one endpoint at each end, and connect them with pipeline blocks.\n\nThese pipes instantly transfer from the input side to the output side.\n\nThey also have a minimum distance between pipe endpoints, so you can't use these for short-range operations.", + "quests.medium_voltage.mv_long_pipe.desc.2": "These pipes have a reputation of being &4buggy&r to set up. If they don't seem to work at first, try rotating the endpoints with a &eWrench&r.", + "quests.medium_voltage.mv_polyethylene.title": "Polyethylene", + "quests.medium_voltage.mv_polyethylene.subtitle": "Baby's first polymer!", + "quests.medium_voltage.mv_polyethylene.desc": "If you want to be less fancy, just call it plastic.\n\nFor the polymerization process, add &aOxygen&r, which gives better returns than Air, then solidify like you would with Rubber.\n\n&aPolyethylene (PE)&r is the key to unlocking &6many new things&r. It's commonly used as &dSheets&r, or in &dFluid&r form.\n\n&l&3Lore:&r&o The OreDict and fluid name for Polyethylene in 1.12.2 GTCEu was &bplastic&f, for cross-mod compatibility.", + "quests.medium_voltage.mv_tank.title": "Super Tank", + "quests.medium_voltage.mv_tank.subtitle": "Super Tanks are OP!", + "quests.medium_voltage.mv_tank.desc": "No, but seriously.\n\nThis is the &cu&6l&et&ai&bm&9a&5t&4e&r portable Fluid storage solution. &64,000 buckets of storage&r - in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks &6keep their fluids when broken&r, and can be cleared in the crafting grid.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Super Tanks or AE2 Fluid Storage Cells.", + "quests.medium_voltage.mv_pvc.title": "Polyvinyl Chloride", + "quests.medium_voltage.mv_pvc.subtitle": "You've already made one polymer, what's two?", + "quests.medium_voltage.mv_pvc.desc": "&aPolyvinyl Chloride (PVC)&r is the 3rd-most produced plastic in real life. Here in CEu, it can be substituted for Polyethylene in the production of &aPlastic Circuit Boards&r and other items to increase the yield. It is required from &5EV&r onwards to wrap Cables.\n\nPVC item pipes also have the &6highest throughput&r available for a while, but most of your setups right now won't need such speed. Still, it's good to keep this knowledge in your pocket.\n\n&9Pro tip:&r The fluid form of PVC is never used in base GTCEu, so feel free to solidify all of it into sheets.", + "quests.medium_voltage.mv_boards.title": "Plastic Boards", + "quests.medium_voltage.mv_boards.subtitle": "It's a Casio on a Plastic Board", + "quests.medium_voltage.mv_boards.desc": "At this point, you have all the tools available to start making Plastic Boards. Higher-tier polymers in future will increase your PCB yields substantially.\n\nThe recipe chains are starting to get pretty long, so we recommend processing large batches in two dedicated &3Chemical Reactors&r.", + "quests.medium_voltage.mv_sodium_iron.title": "Sodium Persulfate / Iron III Chloride", + "quests.medium_voltage.mv_sodium_iron.subtitle": "Let's etch some Copper off Circuit Boards!", + "quests.medium_voltage.mv_sodium_iron.desc.1": "&aSodium Persulfate&r can be used in &9Ore Processing&r in the &3Chemical Bath&r to get various bonus outputs you would not normally obtain. It's completely optional, but pretty rewarding.\n\n&lWait, stop! That's only a distraction&r - the real topic of this Quest is...\n\n&aSodium Persulfate&r and &aIron III Chloride&r are used to make cheaper &9Good Circuit Boards&r, as their inclusion cuts Silver usage by a factor of four.\n\nThey're also &drequired&r to make &9Plastic Circuit Boards&r.", + "quests.medium_voltage.mv_sodium_iron.desc.2": "Making &aSodium Persulfate&r will yield &aHydrochloric Acid&r as a coproduct, which you may re-use to make &aIron III Chloride&r. This should the best approach right now, but the decision is entirely yours.\n\nThough if you are able to bring back Sea Water passively, Iron III Chloride will be the cheaper and more straight forward path.", + "quests.medium_voltage.mv_inductor.title": "Inductors", + "quests.medium_voltage.mv_inductor.subtitle": "Z = jwL", + "quests.medium_voltage.mv_inductor.desc": "A Circuit Component that you can now make thanks to the &3MV Assembler&r and &3Polyethylene&r.\n\nIf you want the cheapest recipe, &aNickel-Zinc Ferrite&r is the way to go.", + "quests.medium_voltage.mv_electronic_components.title": "Electronic Components", + "quests.medium_voltage.mv_electronic_components.subtitle": "A core piece of GT progression system", + "quests.medium_voltage.mv_electronic_components.desc": "Let's talk about the &dElectronic Components&r from &dGregTech&r. They are a &ccore part&r of the mod's progression and are used to make &aall circuits&r in the game.\n\nMost components have &amultiple recipes&r. Depending on the &9materials&r you choose, you can achieve &ebetter yields&r. We encourage you to browse through &aEMI&r and decide which ones fit your situation best.\n\nThese components can be crafted in &clarge stacks&r—you'll need &ea lot&r of them for your future circuits!\n\nFor the &dTransistor&r, you’ll specifically need &5Silicon Ingots&r... but by now, you should be &cvery familiar&r with &chandling hot stuff&r, right?", + "quests.medium_voltage.mv_best_lv.title": "Best LV Circuits", + "quests.medium_voltage.mv_best_lv.subtitle": "It Feels Good to be the Best", + "quests.medium_voltage.mv_best_lv.desc": "&6The best LV Circuits&r! You can start to churn these guys out, as you'll be making them for the rest of the game.\n\nTry to keep a stockpile of these crafted at all times - making these on-demand can take a while.\n\nReaching &5EV&r will unlock methods to make them even cheaper.", + "quests.medium_voltage.mv_best_mv.title": "Best MV Circuits", + "quests.medium_voltage.mv_best_mv.subtitle": "MV has peaked", + "quests.medium_voltage.mv_best_mv.desc": "&6The best MV Circuits&r! You will be making these for the remainder of the game.\n\nEventually (in &9IV&r), they will become even cheaper.", + "quests.medium_voltage.mv_second_hv.title": "More HV Circuits", + "quests.medium_voltage.mv_second_hv.subtitle": "On that HV grind", + "quests.medium_voltage.mv_second_hv.desc": "Congrats finishing a major milestone of the &bMV Chapter&r.\n\nBetter &6HV&r Circuits - much &dcheaper&r and easier to make than before.\n\nYou should now be &aready to move on&r to the HV Chapter, unless you're yet to scale up your Power Production.", + "quests.medium_voltage.mv_circuit_assembler.title": "Your Second Circuit Assembler", + "quests.medium_voltage.mv_circuit_assembler.subtitle": "Yippee, yahoo", + "quests.medium_voltage.mv_circuit_assembler.desc": "As is common for every tier, the &3Circuit Assembler&r is an essential part of progression, always opening up a new Tier of circuits.\n\nAt this point you should be placing an &3Extractor&r next to your Circuit Assembler. Send off dozens of stacks of &aSoldering Alloy&r Ingots, and you won't have to worry about refilling again.", + "quests.medium_voltage.mv_more_lv.title": "More LV Circuits", + "quests.medium_voltage.mv_more_lv.subtitle": "You have unlocked a new tier of Circuits!", + "quests.medium_voltage.mv_more_lv.desc.1": "The Integrated Logic Circuit is an alternate &7LV &aCircuit&r, which is easier to mass-produce, and can be upgraded to &bMV&r (and then &6HV&r).\n\n&9Note:&r This is not a strict upgrade to the cost of Circuits - you would need to get to the next Tier for that. It is still an important upgrade, and is required to get to &6HV circuits&r.", + "quests.medium_voltage.mv_more_lv.desc.2": "&l&3Lore:&r&o The circuit progression in GTCEu is mostly based on GT5u's progression. It has been rebalanced to not be as painful. &lSpecifically&r&o this circuit tier, which was a trap!", + "quests.medium_voltage.mv_more_mv.title": "More MV Circuits", + "quests.medium_voltage.mv_more_mv.subtitle": "More... I demand more!", + "quests.medium_voltage.mv_more_mv.desc": "The &bMV&r Circuit for the Integrated Tier, this is one is kinda bad. Use it only to make your first HV Circuit", + "quests.medium_voltage.mv_first_hv.title": "First HV Circuits!", + "quests.medium_voltage.mv_first_hv.subtitle": "...but hold on before getting too giddy", + "quests.medium_voltage.mv_first_hv.desc": "Alright... technically, obtaining &6HV&r Circuits and Stainless Steel lets you progress to &6HV&r - but let's not rush things.\n\nThe first thing you should make with these is a &3MV Circuit Assembler&r to unlock the new tier of Circuits right away; cheaper recipes is the &dreal payoff&r here.", + "quests.medium_voltage.mv_multi_smelter.title": "Ultimate Smelter", + "quests.medium_voltage.mv_multi_smelter.subtitle": "Possibly the most powerful furnace you've seen", + "quests.medium_voltage.mv_multi_smelter.desc": "At its lowest power (Cupronickel coils and &7LV&r Voltage), the &dMulti Smelter&r smelts 32 items in just 12 seconds - equivalent to &926.7 Furnaces&r, or 3.3 Steam Ovens!\n\nIf that wasn't already enough to convince you, standard &aoverclocks&r can be applied with sufficient voltage.\n\nAnd even better - higher tier &3Coils&r increase the amount of items it can smelt in &dparallel&r!", + "quests.medium_voltage.hv_machine_hull.title": "The HV Machine Hull", + "quests.medium_voltage.hv_machine_hull.subtitle": "That's your fourth machine hull! This is progression", + "quests.medium_voltage.hv_machine_hull.desc": "This is it—the &6HV Machine Hull&r! Congratulations on reaching this major milestone.\n\nYou had to manage &dchemicals&r, upgrade your &dEBF&r, mix a &cnew alloy&r, and learn about &aWafers&r and the &aLaser Engraver&r. We hope your &aunderstanding of GregTech&r is growing stronger every day.\n\nFrom now on, &ecomplexity will increase&r at each tier, but you’ll also gain access to &anew machines&r that will ease earlier processes and introduce &9interesting new mechanics&r.\n\nEven though you’ve just unlocked the &6HV Chapter&r, remember that this marks only &atwo&r of the &bMV Chapter&r’s main milestones.\n\nIf you haven’t unlocked the &6Second HV Circuit&r yet, we highly encourage you to do so before moving forward.\n\nOtherwise, &aWelcome to HV!&r", + "quests.medium_voltage.mv_stainless.title": "Stainless Steel", + "quests.medium_voltage.mv_stainless.subtitle": "HV is in your grasp", + "quests.medium_voltage.mv_stainless.desc.1": "Any Steel you encounter in day-to-day life is most likely &7Stainless Steel&r. It is extremely resilient against corrosion.&r\n\nStainless Steel is the material for &6HV&r components, like Aluminium for &bMV&r and Steel for &7LV&r. It is also used in high quantities for the &3Distillation Tower&r.\n\nIt requires &cChromium&r, obtained mainly from &cRuby&r or &cChromite&r, and &2Manganese&r, obtained from &2Pyrolusite&r and others in its vein.", + "quests.medium_voltage.mv_stainless.desc.2": "Smelting Stainless Steel requires &dHV Power&r, which you likely do not have at this point. Scaling Power Production is crucial.\n\nIf you &9haven't already&r, it would be a good idea to get a second EBF going. They can share blocks, so that means your second EBF only requires &a10 Cupronickel Coils&r instead of 16.\n\nHave one EBF run off &bMV&r for Aluminium and any other recipes requiring &bMV&r Power, and one running off &6HV&r with &32 MV Energy Hatches&r.", + "quests.medium_voltage.mv_energy_hatch.title": "Upgrade your EBF!", + "quests.medium_voltage.mv_energy_hatch.subtitle": "LV is so old-school!", + "quests.medium_voltage.mv_energy_hatch.desc": "A &7LV&r Battery Buffer and two &7LV&r Energy Hatches likely won't cut it anymore. Let's remedy that!\n\nUpgrade your Electric Blast Furnace with a &3MV Energy Hatch&r. Now, you can run it with &bMV&r Generators without having to mess around with &3Transformers&r.", + "quests.medium_voltage.mv_kanthal_coil.title": "Kanthal Coils", + "quests.medium_voltage.mv_kanthal_coil.subtitle": "Is it getting hot in here?", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3Kanthal Heating Coils&r are the next major step in progression. They increase the temperature of your &3Blast Furnace&r to &d2,700K&r, allowing you to process new materials. They may also &eaccelerate&r less hot recipes - check the &aEnergy&r chapter to the top-left for details.\n\nRemember that you &ccannot&r mix coils in an EBF.", + "quests.medium_voltage.mv_kanthal_ingot.title": "Kanthal", + "quests.medium_voltage.mv_kanthal_ingot.subtitle": "This one is hot", + "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Oh good lord 128 ingots, that’s a lot of &cKanthal&r needed here... And what the heck is this &chot ingot&r thing again? &cYes, again!&r\n\nHere we are with a mechanic you should remember from &aTerrafirmaCraft&r—it hasn't been that long, right?\n\n&cHot ingots&r will &cburn you&r if you carry them around and you don't have &cany way&r to counter it using Tongs...\n\nAlso unlike &aTFC&r, &cthey don’t cool down naturally&r! You’ll need to actively &acool them&r down.", + "quests.medium_voltage.mv_kanthal_ingot.desc.2": "To do that, place them into a &dChemical Bath&r with &9Water&r—or even better, &9Distilled Water&r for a &e50 percent faster&r cooling time.\n\nWe highly recommend you &aautomate&r this process to avoid carrying those hot ingots yourself. Use &apipes&r to send them directly from your &dEBF&r to your &dChem Bath&r.\n\nYou can also set up an &aItem Tag Filter&r to help with sorting the hot ingots &7#forge:hot_ingots*&r.", + "quests.medium_voltage.mv_assembler.title": "Advanced Assembler", + "quests.medium_voltage.mv_assembler.subtitle": "Assengers, Avemble", + "quests.medium_voltage.mv_assembler.desc": "The &3Assembler&r is a staple for every Tier; an important goal to unlock more recipes and progress further into the Age. Many in the community see crafting a voltage tier's Assembler as a sign of &oproperly&r reaching said voltage.\n\nThat being said, welcome to &bMV&r!\n\nThe &bMV &3Assembler&r unlocks &eTransistors&r, &eCapacitors&r and &eInductors&r, used for the next tiers of Circuits.", + "quests.medium_voltage.mv_cells.title": "Large Cells", + "quests.medium_voltage.mv_cells.subtitle": "Like cells... only larger!", + "quests.medium_voltage.mv_cells.desc": "Aluminium Cells are a big upgrade over the Steel Cells or Universal Fluid Cells.\n\nThey can hold any fraction of Fluid - up to &d32 buckets&r!", + "quests.medium_voltage.mv_jetpack_2.title": "I Believe I Can Fly II", + "quests.medium_voltage.mv_jetpack_2.subtitle": "...still not quite there.", + "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&8(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", + "quests.medium_voltage.mv_cutter.title": "Advanced Cutter", + "quests.medium_voltage.mv_cutter.subtitle": "Upgrades, people, upgrades!", + "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note : You could use the &6Greate&r &7version, it has now a tank to fill with it fluid&r&r", + "quests.medium_voltage.mv_cutter.task": "Any Brewery", + "quests.medium_voltage.mv_laser_engraver.title": "Laser Engraving", + "quests.medium_voltage.mv_laser_engraver.subtitle": "This is peak technology, this is slow also", + "quests.medium_voltage.mv_laser_engraver.desc": "The &3Laser Engraver&r engraves patterns into &9Silicon Wafers&r based on the type of &9Lens&r it is given. After the wafers are engraved, they must be passed through a &3Cutting Machine&r to turn them into components ready to be put into Circuits.\n\nHigher tier Engravers can etch more complex wafers for more efficient Circuits.", + "quests.medium_voltage.mv_silicon_boule.title": "Silicon Lottery", + "quests.medium_voltage.mv_silicon_boule.subtitle": "These wafers are fully fungible", + "quests.medium_voltage.mv_silicon_boule.desc": "&9Silicon Boules&r are made in the &3EBF&r with half a stack of &aSilicon Dust&r and a pinch of &aGallium Arsenide&r. Their primary purpose is engraving &6Circuit Wafers&r.\n\nAfter making the Boule, process it in the &3Cutter&r to get 16 Silicon Wafers ready for engraving.\n\n&cWarning:&r Each Silicon Boule takes &47.5 minutes&r to make at 120 EU/t, or 1,080,000 EU! If the EBF loses power midway, the recipe will start to &close progress&r.\n\nWith that being said, Silicon Boules take an absolute age to craft, so consider parallelizing the recipe in multiple &3EBF&rs and stockpiling them.", + "quests.medium_voltage.mv_silicon.title": "Silicon Dust", + "quests.medium_voltage.mv_silicon.subtitle": "", + "quests.medium_voltage.mv_silicon.desc.1": "You’ll need to get used to it: in &dGregTech&r, there are always &amultiple ways&r to reach what you want—a philosophy we made sure to preserve in &aTerrafirmaGreg&r.\n\nTo obtain &5Silicon&r, we’ll suggest &ctwo main methods&r so you have clear directions. As always, it’s up to you to figure out what’s &abest for your situation&r.", + "quests.medium_voltage.mv_silicon.desc.2": "First method: &amining silicon-rich ores&r. Look for &9Mica&r or &9Kyanite&r veins—they also contain &dAluminium&r. Alternatively, you can &aElectrolyze Zeolite Dust&r, found in &9Chalcopyrite&r and &dRealgar&r veins.\n\nSecond method: &eAdvanced but powerful&r. Although more expensive to set up and slower early on, it becomes the &ebest method&r at &6HV&r and beyond. Plus, it generates &9Oxygen&r as a bonus! The idea is simple: &aElectrolyze Silicon Dioxide Dust&r into &9Oxygen&r and &5Silicon&r. You can get &aSilicon Dioxide Dust&r by &9centrifuging Flint Dust&r, which itself comes from &9Flint&r collected by &asifting Gravel&r.\n\nThis setup can become &afully passive&r easily. Try using the &aEMI Recipe Tree&r tool (bottom left of your screen) to plan your builds—it really helps!", + "quests.medium_voltage.mv_ulpic.title": "ULPIC Chips", + "quests.medium_voltage.mv_ulpic.subtitle": "Pickin' up Chips", + "quests.medium_voltage.mv_ulpic.desc": "Using a Sapphire Lens, engrave a Silicon Wafer into an ULPIC Wafer.\n\nThis can be processed in a Cutter for ULPIC Chips, which are important for some multiblock components!\n\nMore specificaly the MV Energy Hatch that you will need to bring your EBF to HV energy tier.", + "quests.medium_voltage.mv_ic.title": "IC Chips", + "quests.medium_voltage.mv_ic.subtitle": "I C U", + "quests.medium_voltage.mv_ic.desc": "Using a Ruby Lens, engrave a Silicon Wafer into an ILC Wafer.\n\nThis can be processed in a Cutter for IC Chips, which are important components that will be precious when improving upon your circuit crafting capabilities.", + "quests.medium_voltage.mv_ram.title": "Download more RAM", + "quests.medium_voltage.mv_ram.subtitle": "That's from the Daft Punk you know?", + "quests.medium_voltage.mv_ram.desc": "&aRandom Access Memory&r is required for many Circuits.", + "quests.medium_voltage.mv_cpu.title": "Get a better CPU", + "quests.medium_voltage.mv_cpu.subtitle": "Gamers usually prefer GPU", + "quests.medium_voltage.mv_cpu.desc": "&aThe &eCPU&r is one of the most important pieces of technology in your factory.\n\nThe &eCPU Wafer&r is a special one—it can be upgraded later through a &2Chemical Reaction&r.\n\nBut for now, you’ll need the &eCPU Chip&r to craft the best &bMV&r circuits available at this stage.\n\nMake sure to produce a few extra, as they’ll be essential for future upgrades.", + "quests.medium_voltage.lsb.title": "Getting very steamy", + "quests.medium_voltage.lsb.subtitle": "If you have unlimited fuel, it can still be good", + "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d1800 mB/t of Steam&r.\n\nWe'd recommend you try other power options at this point.", + "quests.metal_age": "Металлургический век", + "quests.metal_age.subtitle": "Ваши первые технологические достижения.", + "quests.metal_age.weld_bronze_ingots.title": "Welding Bronze", + "quests.metal_age.weld_bronze_ingots.subtitle": "I told you to get used to it", + "quests.metal_age.weld_bronze_ingots.desc": "Obtain at least 14 Ingots of any Bronze type, then weld them together in the Copper Anvil.\n\nThe Tier 2 Anvil can be made from Bismuth Bronze, Bronze or Black Bronze, but not a mixture of the three.", + "quests.metal_age.anvil_recycling.title": "Anvil Recycling?", + "quests.metal_age.anvil_recycling.subtitle": "Because 14 ingots is a lot now", + "quests.metal_age.anvil_recycling.desc": "Once you craft the next tier of Anvil (such as going from Copper to Bronze, or Bronze to Wrought Iron), the previous tier basically becomes useless.\n\nHowever, since it's made out of metal, you &ocan and should&r melt the previous tier of Anvil back into its liquid metal form!\nGrab a Vessel and place it on the right hand side of the Charcoal Forge interface, then place the Anvil and slowly heat it until it reaches the melting temperature. The molten metal will be deposited inside the Vessel, then you can cast it back into ingots or whatever you like!", + "quests.metal_age.bronze_anvil.title": "T2 Anvil: Bronze", + "quests.metal_age.bronze_anvil.subtitle": "Basic mechanical power starts here", + "quests.metal_age.bronze_anvil.desc": "To work metal into more than just double ingots, you'll need to use an anvil of the same tier or better. Working on an anvil can be a little bit complicated, but there's an entry in the TFG Tips section of the field guide that goes into more detail.\n\nBronze also marks the start of automation, where you'll begin to harness mechanical power!", + "quests.metal_age.bronze_goodies.title": "Bronze Level Mechanical Power", + "quests.metal_age.bronze_goodies.subtitle": "Oh No, It's Create Again", + "quests.metal_age.bronze_goodies.desc": "Bronze is a sturdy enough material to enable very basic mechanical power.\n\nCheck the &oEarly Automation&r quest chapter to get started!", + "quests.metal_age.copper_diving.title": "Copper Diving Equipment", + "quests.metal_age.copper_diving.subtitle": "If mining wasn't dangerous enough", + "quests.metal_age.copper_diving.desc": "Struggling with aquifers in your ore veins? You can craft a set of copper diving equipment, with an air supply that can last for 20 minutes!", + "quests.metal_age.bloomery.title": "Bloomery", + "quests.metal_age.bloomery.subtitle": "Required if you seek the Iron Age.", + "quests.metal_age.bloomery.desc": "The Bloomery is a Multiblock from TerraFirmaCraft that allows you to create Wrought Iron. Melting iron in a forge will produce Cast Iron, which is brittle and nowhere near as strong or durable as Wrought Iron.\n\nThe Bloomery is expensive, so it will be worth investing some time into setting up automatic plate production and ore processing.\n\nThe Field Guide contains a detailed entry on how the Bloomery works and the correct ratios of iron and charcoal that it needs.", + "quests.metal_age.mining.title": "Mining in the Metallurgy Age", + "quests.metal_age.mining.subtitle": "ROCK AND STONE!", + "quests.metal_age.mining.desc": "Extracting valuable resources from the ground is a major part of this modpack, and the Metallurgy Age is no exception! You will consume a &llot&r of metal to progress, and one way to mine a lot of it at once is with a Mining Hammer! This is a tool that can mine blocks in a 3x3x1 area at the cost of a slower mining speed. You can also hold sneak to break single blocks at a time.", + "quests.metal_age.bellows.title": "Bellows", + "quests.metal_age.bellows.subtitle": "Higher temperatures can be reached, at a small price.", + "quests.metal_age.bellows.desc": "The Bellows is a device that can force extra air into a fire or forge in front of it, allowing the heat produced by the fuel inside to reach higher temperatures than usual, at the cost of fuel duration.\n\nThese higher temperatures are required to fire pottery with charcoal or melt certain metals.\n\nCoal and Coke can also reach higher temperatures without it.", + "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.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 wood treating.\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.", + "quests.metal_age.coke_oven.desc.2": "Coke Ovens can be fully automated using a Coke Oven Hatch. The Hatch is placed on the sides of the Oven and work as both Inputs and Outputs for both Items and Liquids.\n\nYou can easly create a simple, one way Coke Oven by using a Crate for the input, a Chest for the output, and a Drum, Barrel, or Large Wooden Tank to collect the Creosote. Unlike Chests, Crates are able to store large objects such as Logs. You can also sneak and right-click GregTech pipes with a wrench to make them one-way.", + "quests.metal_age.wrought_iron_goodies.title": "Wrought Iron level Mechanical Power", + "quests.metal_age.wrought_iron_goodies.subtitle": "What's this \"Andesite Alloy\" you speak of?", + "quests.metal_age.wrought_iron_goodies.desc": "With Wrought Iron you've unlocked access to the Metal Casing, the foundation of many of Create's mechanical blocks such as Gearboxes. Some of the more advanced ones will require Steel, but it's possible to build a fully automatic tree and crop farm at this point.\n\nCreosote is used to create Treated Wood Planks, which can be crafted into Waterwheels and Windmills, a significant improvement over animal power.", + "quests.metal_age.fire_clay_ingredients.title": "Fire Clay Ingredients", + "quests.metal_age.fire_clay_ingredients.subtitle": "The TerraFirmaCraft Rite of Passage.", + "quests.metal_age.fire_clay_ingredients.desc": "Fire Clay is a special clay made out of Kaolinite, Graphite and regular Clay, which is especially resistant to high temperatures. Its two main uses are the Crucible, which works as an improved version of a Vessel for Metal Smelting and Alloying, and the Blast Furance, which is required for the creation of the next anvil and metal tier, Steel.\n\nYou'll likely need to travel far, far away from your base to obtain both Graphite and Kaolin Clay, so preparation is key!", + "quests.metal_age.overworld_kaolin.title": "Kaolin Source: Overworld", + "quests.metal_age.overworld_kaolin.subtitle": "Welcome to the Jungle", + "quests.metal_age.overworld_kaolin.desc": "Kaolin Clay can be found exclusively in areas with the combination of high altitude, temperature (at least 18°C), and humidity (at least 300mm rainfall). A full list of Kaolin Clay's spawn requirements and tips can be found in the Field Guide.\n\nYou'll very likely need to travel very, VERY far towards the South East, likely across the ocean. Prepare yourself with an Iron Flask, large quantities of food, some sort of watercraft like a Canoe, Rowboat or Kayak, and extra portable storage for bringing home as much Kaolin as you can.\n\nThere are quests in TerraFirmaGreg Tips that go over portable storage and watercrafts.", + "quests.metal_age.beneath_kaolin.title": "Kaolin Source: The Beneath", + "quests.metal_age.beneath_kaolin.subtitle": "To the Depths", + "quests.metal_age.beneath_kaolin.desc": "Deep, DEEP underground, past the bedrock, you'll find The Beneath, a complex network of caves filled with dangers of all kinds around every corner. In the upper areas, you may be able to find the Lush Hollow, a small green oasis in the depths where Kaolin Clay can spawn. A particular monster may be guarding it, however...!\n\nWhile you're down here, you could also look for Anthracite, an excellent fuel for making steel.\n\nSurviving in the Beneath is difficult, so check the TerraFirmaGreg Tips section of this questbook and the Field Guide for more information.", + "quests.metal_age.beneath_kaolin.task": "Traverse the Overworld Bedrock and reach The Beneath", + "quests.metal_age.overworld_graphite.title": "Graphite Source: Overworld", + "quests.metal_age.overworld_graphite.subtitle": "You mean I can't just rely on surface indicators?", + "quests.metal_age.overworld_graphite.desc": "Graphite spawns exclusively in flat, wide discs deep underground.\n\nYou will have to go exploring underground through the caves to try and spot some! Graphite veins can spawn in any stone type and also include Coal and Diamond. However, due to the depth of the veins, indicators likely will not appear on the surface. Tools such as a metal Shield, Digger Helmet, Propick, and Spyglass can also prove to be very useful!", + "quests.metal_age.beneath_graphite.title": "Graphite Source: The Beneath", + "quests.metal_age.beneath_graphite.subtitle": "To the Depths", + "quests.metal_age.beneath_graphite.desc": "Deep, DEEP underground, past the bedrock, you'll find The Beneath, a complex network of caves filled with dangers of all kinds around every corner. Down in the Beneath you can find huge, tall Graphite veins, but a particular monster may be guarding it...!\n\nWhile you're down here, you could also look for Anthracite, an excellent fuel for making steel.\n\nSurviving in the Beneath is difficult, so check the TerraFirmaGreg Tips section of this questbook and the Field Guide for more information.", + "quests.metal_age.beneath_graphite.task": "Traverse the Overworld Bedrock and reach The Beneath", + "quests.metal_age.kaolin_clay.title": "Kaolin Clay", + "quests.metal_age.kaolin_clay.subtitle": "Kaolin Trek: The Next Generation", + "quests.metal_age.kaolin_clay.desc": "Once you find Kaolin Clay, you should bring as much back as you can possibly carry! Unfortunately, only 20 percent of it will successfully cook into Kaolinite Powder, so it's recommended to bake it in situ with pit kilns, to save inventory space.\n\nAfter you craft the Crucible and the Blast Furnace, you won't need much more of it, but it's still a good idea to bring home more than you think you'll need, to avoid a repeat journey.\n\nP.S.: If you've found blood lilies but no clay, try digging down a little further! Sometimes it spawns a little underground.", + "quests.metal_age.graphite.title": "Graphite", + "quests.metal_age.graphite.subtitle": "Pencils do not exist", + "quests.metal_age.graphite.desc": "Once you find graphite, you should bring back as much as you can! Though you won't need as much of it as Kaolin clay.\nGraphite veins are also rich in Coal and Diamonds, and you'll want the coal for making Steel soon.", + "quests.metal_age.graphite.task": "Any form of Graphite", + "quests.metal_age.fire_clay.title": "Fire Clay", + "quests.metal_age.fire_clay.subtitle": "At last", + "quests.metal_age.fire_clay.desc": "Heat up Kaolin Clay to get Kaolinite Powder. You can use a Forge to heat them individually, but cooking big batches inside small vessels in a Pit Kiln may be faster.\n\nFor the Graphite, process the ore as normal, then crush the Graphite Dust again to get Graphite Powder.\n\nFinally, combine 4 Graphite Powder, 4 Kaolinite Powder, and 1 Clay to create Fire Clay.", + "quests.metal_age.fire_clay_products.title": "Fire Clay products", + "quests.metal_age.fire_clay_products.subtitle": "Extremely Heat Resistant Clay", + "quests.metal_age.fire_clay_products.desc": "Just like regular Clay, Fire Clay can be Knapped to create things that you'll then need to fire. Most importantly, Fire Clay is used to create the Crucible and Fire Clay Bricks, both of which are required for the Blast Furnace.\n\nYou'll also be able to create a Mold Table and Casting Channels, which lets you cast your metal from the crucible into multiple molds at once.\n\nLastly, there's Fire Ingot Molds, which only have a 1 percent chance of breaking instead of regular clay's 10 percent.", + "quests.metal_age.crucible.title": "Crucible", + "quests.metal_age.crucible.subtitle": "Melt metals like a pro", + "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4032mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", + "quests.metal_age.fire_bricks.title": "Fire Bricks", + "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", + "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Sheets around the Fire Bricks, or use Blast Furnace Insulation", + "quests.metal_age.fully_stacked_blast_furnace.title": "Fully Stacked Blast Furnace", + "quests.metal_age.fully_stacked_blast_furnace.subtitle": "The completed Blast Furnace", + "quests.metal_age.fully_stacked_blast_furnace.desc": "A full size Blast Furnace is able to melt and process large amounts of iron at once. It's a good idea to make it bigger when you can, because you'll need a lot of steel for the future.\n\nAfter you've got your first Steam Alloy Smelter, you'll be able to create more Fire Bricks more cheaply.", + "quests.metal_age.blast_furnace_fuel.title": "Fuel for the Blast Furnace", + "quests.metal_age.blast_furnace_fuel.subtitle": "Hope you followed the tips in the previous quests...", + "quests.metal_age.blast_furance_fuel.desc": "Regular Charcoal is not hot enough to be able to create Steel. You will need either Coke or Anthracite.\n\nCoke can be created by putting Coal into a Coke Oven, while Anthracite can be used as-is after being dug up from the Beneath.", + "quests.metal_age.blast_furnace.title": "Blast Furnace", + "quests.metal_age.blast_furnace.subtitle": "Then I started Blastin'", + "quests.metal_age.blast_furnace.desc": "The Blast Furnace is a multiblock structure that allows you to create Pig Iron. Placing a combination of Iron, Flux and fuel (see the adjacent quest) inside the Blast Furnace produces Pig Iron, which can be worked into Steel.\n\nIn order for the Blast Furnace to reach its required high temperatures, it will need its own Bellows, used to force air through a Tuyere which you place inside the blast furnace.\n\nThe Field Guide contains an entry on how the Blast Furnace works and how to build one.", + "quests.metal_age.steel_anvil.title": "T4 Anvil: Steel", + "quests.metal_age.steel_anvil.subtitle": "A huge leap from wrought iron", + "quests.metal_age.steel_anvil.desc": "With the Steel Anvil, you'll be able to work Steel Ingots into different forms.\n\nSteel tools and equipment have a significant boost over their bronze and wrought iron counterparts, so they're worth making if your existing ones are about to break. You'll be needing to create a lot of alloys soon, so some new mining equipment would be a wise investment.", + "quests.metal_age.steel_goodies.title": "Steel level Mechanical Power", + "quests.metal_age.steel_goodies.subtitle": "Blow, Crush, and Pipe", + "quests.metal_age.steel_goodies.desc": "Steel unlocks a new Greate tier, with increased maximum stress capacity! You can now also make things like the Encased Fan, which can automate ore washing, and the Mechanical Pump, which gives you much more access to fluid logistics.\n\nThe Mechanical Pump is especially useful, as with some smarts, you can easily automate the Blast Furnace.\n\nTo power these, you also gain access to the Steam Engine, allowing you to convert fuel and water into huge amounts of mechanical power!", + "quests.metal_age.weak_steel.title": "Weak Steel Ingredients", + "quests.metal_age.weak_steel.subtitle": "Hope you like math", + "quests.metal_age.weak_steel.desc": "Weak Steel is one part of the necessary metals to create Black Steel. You can alloy it with 2 parts Steel, 1 part Nickel and 1 part Black Bronze.\n\nYou can check the liquid weak steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.weak_steel.task1": "1 Part Nickel", + "quests.metal_age.weak_steel.task2": "2 Parts Steel", + "quests.metal_age.weak_steel.task3": "1 Part Black Bronze", + "quests.metal_age.highcarb_black_steel.title": "Black Steel Ingredients", + "quests.metal_age.highcarb_black_steel.subtitle": "Conservation of matter does not apply", + "quests.metal_age.highcarb_black_steel.desc": "The final two anvils are made out of complex alloys that will require a lot of metal to be created. Weak Steel and Pig Iron can be welded to create High Carbon Black Steel, which can then be worked on an anvil into Black Steel.", + "quests.metal_age.black_steel_anvil.title": "T5 Anvil: Black Steel", + "quests.metal_age.black_steel_anvil.subtitle": "Steam power is within your grasp", + "quests.metal_age.black_steel_anvil.desc": "With the Black Steel Anvil you'll now be able to work Black Steel Ingots into different items.\n\nYou've also now opened up a massive new section in the Early Automation chapter related to high pressure Steam Power!\n\nFrom here, you can either dive straight into industrialization or finish up the last tier of anvils if you'd like. You can't avoid colored steel forever, though!", + "quests.metal_age.black_steel_goodies.title": "Black Steel level Mechanical Power", + "quests.metal_age.black_steel_goodies.subtitle": "The Industrial Revolution and its consequences", + "quests.metal_age.black_steel_goodies.desc": "With Black Steel comes high pressure Steam Power! Stronger steel allows for more potent and compact steam boilers, fuelling new machines to craft your first electronics.", + "quests.metal_age.red_blu.title": "Red and Blue Steel", + "quests.metal_age.red_blu.subtitle": "Some of the oldest modded Minecraft fantasy steels", + "quests.metal_age.red_blu.desc": "The final tier of anvil can be made out of either Red or Blue Steel. Both are complex alloys of Steel and multiple different metals.\n\nBlue Steel is prized for its exceptional heat resistance and tool speed, while Red Steel boasts huge amounts of strength and durability.", + "quests.metal_age.weak_red_steel.title": "Weak Red Steel Ingredients", + "quests.metal_age.weak_red_steel.subtitle": "This is getting a little ridiculous", + "quests.metal_age.weak_red_steel.desc": "Like before, Weak Red Steel is the first step of Red Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Brass, and 1 part Rose Gold.\n\nYou can check the liquid Weak Red Steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.weak_red_steel.steel": "2 Parts Steel", + "quests.metal_age.weak_red_steel.black_steel": "4 Parts Black Steel", + "quests.metal_age.weak_red_steel.brass": "1 Part Brass", + "quests.metal_age.weak_red_steel.rose_gold": "1 Part Rose Gold", + "quests.metal_age.weak_blu_steel.title": "Weak Blue Steel Ingredients", + "quests.metal_age.weak_blu_steel.subtitle": "This is getting out of hand.", + "quests.metal_age.weak_blu_steel.desc": "Like before, Weak Blue Steel is the first step of Blue Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Bismuth Bronze, and 1 part Sterling Silver.\n\nYou can check the liquid Weak Blue Steel's recipe for more precise alloying percentage rates.", + "quests.metal_age.weak_blue_steel.steel": "2 Parts Steel", + "quests.metal_age.weak_blue_steel.black_steel": "4 Parts Black Steel", + "quests.metal_age.weak_blue_steel.sterling_silver": "1 Part Sterling Silver", + "quests.metal_age.weak_blue_steel.bismuth_bronze": "1 Part Bismuth Bronze", + "quests.metal_age.highcarb_red_steel.title": "Red Steel Ingredients", + "quests.metal_age.highcarb_red_steel.subtitle": "Could deleting matter like this power a nuclear bomb?", + "quests.metal_age.highcarb_red_steel.desc": "Red Steel first starts as High Carbon Red Steel, which is made by welding Weak Red Steel and Black Steel. It needs to be worked on the Anvil to turn it into Red Steel", + "quests.metal_age.highcarb_blu_steel.title": "Blue Steel Ingredients", + "quests.metal_age.highcarb_blu_steel.subtitle": "Lavoisier is rolling in his grave", + "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, which is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel", + "quests.metal_age.redblu_anvil.title": "T6 Anvil: Red or Blue Steel", + "quests.metal_age.redblu_anvil.subtitle": "It's over", + "quests.metal_age.redblu_anvil.desc": "The final tier of Anvil! With the Tier 6 Anvil you'll be able to work both Red and Blue Steel Ingots into different items.\n\nThis marks the end of TerraFirmaCraft's progression. Now it's time to finish the Industrial Age and create your very first Low Voltage circuitry.", + "quests.metal_age.red_steel_flask.title": "Red Steel Flask", + "quests.metal_age.red_steel_flask.subtitle": "This got nothing on the Iron Flask", + "quests.metal_age.red_steel_flask.desc": "The Red Steel Flask is the best Flask available. It may hold the same amount of liquid as an Iron Flask, but the Red Steel Flask never breaks.", + "quests.metal_age.redblu_buckets.title": "Bucket Components", + "quests.metal_age.redblu_buckets.subtitle": "Bucket Fusion Reactor", + "quests.metal_age.redblu_buckets.desc": "The final task in the Metallurgy Age is creating a Bucket. Unlike the wooden bucket and other fluid containers you've been using until now, the Bucket can be used to carry Lava and move around source blocks of other fluids.", + "quests.metal_age.this_is_a_bucket.title": "This... is a Bucket.", + "quests.metal_age.this_is_a_bucket.subtitle": "Dear God...", + "quests.metal_age.this_is_a_bucket.desc": "Congratulations on crafting the Bucket. The Metallurgy Age is officially over.\n\nGo and start working on those Low Voltage components!", + "quests.ore_proc": "Переработка руд", + "quests.ore_proc.subtitle": "Всё, что вам нужно, чтобы получать по максимуму от ваших руд", + "quests.ore_proc.native_ore.title": "Welcome to Ore Processing", + "quests.ore_proc.native_ore.subtitle": "To Process, Ore Not To Process", + "quests.ore_proc.native_ore.desc": "An important part of &6GregTech&r is its &dOre Processing Mechanics&r, but it can get pretty complicated, so this chapter is here to help!\n\nTo start with, you should be aware of the &6Ore Processing Diagram&r tab in EMI - Press the Show Uses key (default &bU&r) on any item related to ore processing and look for the tab with the vanilla Iron Ore icon. This diagram may look overwhelming at first, but we'll take it step by step.\n\nA major part of GregTech philosophy is that there's not just one way to solve a problem, but we've marked everything important with a &estar&r, so if you're completely lost, try following those!", + "quests.ore_proc.native_ore.task": "I agree to not just dump everything in a furnace", + "quests.ore_proc.robot_arm.title": "Ore processing with GregTech's own tools", + "quests.ore_proc.robot_arm.subtitle": "Providing answers to its own problems", + "quests.ore_proc.robot_arm.desc": "GregTech comes with its own tools to help solve ore processing logistics.\n\nThe &6Robot Arm&r can move precice numbers of items into a machine, such as only moving flawed gems into a Laser Engraver once you have two of them. The &6Tag Filter&r can filter items by tag, such as '&5*purified_ores*&r' to match all Purified Ores.\n\nThe &4Smart Filter&r can filter items depending on their &6recipe&r. For example, if you use it with a robot arm on an electrolyzer, and set the robot arm to supply exact, it will only move your dusts into the electrolyzer once it has as many inputs as the recipe requires!", + "quests.ore_proc.ae2.title": "Ore processing with Applied Energistics 2", + "quests.ore_proc.ae2.subtitle": "A tag storage bus? What's that?", + "quests.ore_proc.ae2.desc": "AE2 is great at moving items around without tons of spaghetti cables! You can use the &dTag Storage Bus&r to tell your network where to put items that match an item's tag, which you can view by pressing F3 + H. For example, if you want to send all your Purified Ores to a chest, slap a Tag Storage Bus on it and set its filter to '&5*purified_ores*&r'.\n\nThere's many online guides on how to set up an AE2 system, but a subnet to handle all ore processing before it goes into your main storage is a solid choice!", + "quests.ore_proc.gtcy.title": "Ore processing but bigger", + "quests.ore_proc.gtcy.subtitle": "When size does matter", + "quests.ore_proc.gtcy.desc": "Once you get to IV, you'll gain access to multiblock versions of all of GregTech's single block machines. They do the exact same recipes as their single block cousins, but are more flexible - you can put lots of huge Input Buses on them, you can overclock them with higher tier &6Energy Hatches&r instead of making new ones every tier, and they even support &6Parallel Hatches&r to do multiple recipes simultaneously!\n\nAll of these machines require alloys created with the &bAlloy Blast Smelter&r, found at the end of &dEV&r.", + "quests.ore_proc.copper_tier.title": "Copper Age Ore Processing", + "quests.ore_proc.copper_tier.desc": "This row is for the very basics of ore processing. There's no byproducts and no automation.", + "quests.ore_proc.bronze_tier.title": "Bronze Age Ore Processing", + "quests.ore_proc.bronze_tier.desc": "This row is for what's available once you've obtained any Bronze Anvil.", + "quests.ore_proc.steel_tier.title": "Steel Age Ore Processing", + "quests.ore_proc.steel_tier.desc": "A Steel Anvil unlocks your first byproducts from ore washing.", + "quests.ore_proc.steam_tier.title": "Steam Age Ore Processing", + "quests.ore_proc.steam_tier.desc": "Steam machines give access to your second byproducts from centrifuging.", + "quests.ore_proc.lv_tier.title": "&7LV&r Ore Processing", + "quests.ore_proc.lv_tier.desc": "LV comes with a ton of machines that can process your ores in many different ways. The most important is probably the Thermal Centrifuge.", + "quests.ore_proc.mv_tier.title": "&bMV&r Ore Processing", + "quests.ore_proc.mv_tier.desc": "Not much happens at MV except that the electrolyzer becomes much more powerful.", + "quests.ore_proc.hv_tier.title": "&6HV&r Ore Processing", + "quests.ore_proc.hv_tier.desc": "HV Macerators now output byproducts! If you don't have a dedicated ore processing setup yet, now is definitely the time to build one.", + "quests.ore_proc.ev_tier.title": "&5EV&r Ore Processing", + "quests.ore_proc.ev_tier.desc": "EV is the first tier where you'll need to need to start splitting up your ore processing into different \"lines\".", + "quests.ore_proc.iv_tier.title": "&9IV&r Ore Processing", + "quests.ore_proc.iv_tier.desc": "With IV comes the big huge multiblocks to really ramp up your ore processing speeds.", + "quests.ore_proc.luv_tier.title": "&dLuV&r Ore Processing", + "quests.ore_proc.luv_tier.desc": "LuV's Naquadah line will be a real test of your ore processing. Can your machines keep up?", + "quests.ore_proc.raw_ore.title": "Raw Ore", + "quests.ore_proc.raw_ore.desc": "This column shows ways to process raw ore, the first step of ore processing!", + "quests.ore_proc.crushed_ore.title": "Crushed Ore", + "quests.ore_proc.crushed_ore.desc": "This column shows how to process crushed ore, which is almost always the second step.", + "quests.ore_proc.purified_ore.title": "Purified Ore", + "quests.ore_proc.purified_ore.desc": "This column shows what to do with your purified ore.", + "quests.ore_proc.refined_ore.title": "Refined Ore", + "quests.ore_proc.refined_ore.desc": "The only thing you can really do with refined ore is crush it.", + "quests.ore_proc.impure_dust.title": "Impure Dust", + "quests.ore_proc.impure_dust.desc": "Wash that dirty dust!", + "quests.ore_proc.purified_dust.title": "Purified Dust", + "quests.ore_proc.purified_dust.desc": "This column shows what you can do with your purified dust.", + "quests.ore_proc.dust_processed.title": "Your final dust", + "quests.ore_proc.dust_processed.subtitle": "Or is it?", + "quests.ore_proc.dust_processed.desc": "&6Dusts&r are the final form of almost every ore.\n\nFrom here, you can put it in a &cFurnace&r, send it to &estorage&r, or even start using it right away! Some dusts will require one last step before they become truly useful.\n\nRemember to keep your &6ore processing line&r in top shape! You'll want to keep expanding and upgrading it as you progress, so you can spend less time mining and more time gregging.", + "quests.ore_proc.macerator_byproduct.title": "Crushing with byproducts", + "quests.ore_proc.macerator_byproduct.subtitle": "I can get even more from my ores!", + "quests.ore_proc.macerator_byproduct.desc": "While looking at &bEMI&r, you've probably noticed that your &dMacerator&r or &dMillstone&r lists more &boutputs&r than what you're actually getting.\n\nGregTech doesn't communicate this very well, but these extra slots are only available in &6HV&r. Once you make it to that tier, the &6HV&r macerator becomes incredibly powerful, giving a huge amount of bonus byproducts from each ore.", + "quests.ore_proc.macerator_byproduct.task": "Either an HV Macerator or HS Crushing Wheels", + "quests.ore_proc.sodium_persulfate.title": "Bathe them in Sodium Persulfate", + "quests.ore_proc.sodium_persulfate.subtitle": "Not just for circuit board etching", + "quests.ore_proc.sodium_persulfate.desc": "Once you get to LV, you may be interested in using a &bChemical Bath&r with &dSodium persulfate&r to get some extra byproducts. Not all ores can be processed this way, but the ones that can, will get around a &670 percent&r chance of byproducts, compared to the &630 percent&r of the &bOre Washer&r.\n\nSodium persulfate can be a little annoying to mass produce, though if you want, &9Sea Water&r is a great starting point.\n\nThe quest on the left gives some examples that might be worth the investment.", + "quests.ore_proc.sodium_ores.title": "Sodium Persulfate bathing examples", + "quests.ore_proc.sodium_ores.subtitle": "A useful time saver", + "quests.ore_proc.sodium_ores.desc": "Here's some recommendations for Sodium Persulfate bathing:\n\n- &6Crushed Aluminium&r: for &dRutile&r (Titanium)\n\n- &6Crushed Bauxite&r: &dGallium&r\n\n- &6Crushed Cobalt&r: &dCobaltite&r for &dArsenic&r", + "quests.ore_proc.ore_washer.title": "Bathe them in Water", + "quests.ore_proc.ore_washer.subtitle": "The standard option for most ores", + "quests.ore_proc.ore_washer.desc": "Most ores don't need any fancy bathing setups, and running them through an &dOre Washer&r or &9Bulk Washing&r with an &dEncased Fan&r will suffice.\n\nIf you use the &bOre Washer&r, make sure to use &9Distilled Water&r to double the speed of the recipe.\n\nDon't have access to either of these yet? You can just throw your crushed ores into water to purify them, though this won't get you any byproducts.", + "quests.ore_proc.ore_washer.task": "Any Ore Washer", + "quests.ore_proc.mercury_ores.title": "Bathe them in Mercury", + "quests.ore_proc.mercury_ores.subtitle": "Don't stick your finger in it", + "quests.ore_proc.mercury_ores.desc": "Bathing certain ores in &dMercury&r can give some other useful byproducts. Not all ores can be processed this way, but the ones that can, will get around a &670 percent&r chance of byproducts, compared to the &630 percent&r of the &bOre Washer&r.\n\n&dMercury&r can be easily obtained from &cRedstone&r or &cCinnabar&r.\n\nThe quest on the right gives some examples are good to process in Mercury.", + "quests.ore_proc.mercury.title": "Mercury bathing examples", + "quests.ore_proc.mercury.subtitle": "Liquid metal bath time", + "quests.ore_proc.mercury.desc": "Here's some recommendations for Mercury bathing:\n\n- &6Crushed Platinum&r: &dPalladium&r\n\n- &6Crushed Cooperite&r: &dPalladium&r\n\n- &6Crushed Nickel&r: &dPlatinum&r\n\n- &6Crushed Gold&r: &dSilver&r", + "quests.ore_proc.indium.title": "The Indium Line", + "quests.ore_proc.indium.subtitle": "We say line, but really it's just a two step process", + "quests.ore_proc.indium.desc": "The &6Indium Line&r shouldn't be needed before &9IV&r, but it will require purified &bSphalerite&r and &bGalena&r.", + "quests.ore_proc.platline.title": "The Infamous Platline", + "quests.ore_proc.platline.subtitle": "GregTech players vs Mekanism players when they need Osmium:", + "quests.ore_proc.platline.desc": "The &6Platinum Line&r will be your first real challenge to process, providing you with essential platinum-group metals: &bPlatinum&r, &bPalladium&r, &bRuthenium&r, &bRhodium&r, &bIridium&r, and &bOsmium&r.\n\nWhile there's easier ways to obtain &bPlatinum&r and &bPalladium&r, this line will be &amandatory&r for accessing the others.\n\nThe Platline can be started at &6HV&r, but you won’t be able to complete it fully until later in &5EV&r.", + "quests.ore_proc.electro_separator.title": "Electromagnetic Separator", + "quests.ore_proc.electro_separator.subtitle": "Probably the least useful GregTech machine", + "quests.ore_proc.electro_separator.desc": "The &6Electromagnetic Separator&r can extract things like Iron and Gold from &dRefined Ores&r, which you can get by crushing your purified ones. For now, we recommend using it primarily for &dNaquadah&r. If you need more &aNeodymium&r, you can also process &dBastnasite&r.", + "quests.ore_proc.electro_separator.task": "Any Electromagnetic Separator", + "quests.ore_proc.macerator_separator.title": "The Macerator", + "quests.ore_proc.macerator_separator.subtitle": "(again)", + "quests.ore_proc.macerator_separator.desc": "The macerator can sometimes yield different byproducts from your Purified ores than other routes, but these are still locked to &6HV&r like every other macerator byproduct.", + "quests.ore_proc.macerator_separator.task": "Any Macerator", + "quests.ore_proc.thermal_centrifuge.title": "The Thermal Centrifuge", + "quests.ore_proc.thermal_centrifuge.subtitle": "The go-to for most purified ores", + "quests.ore_proc.thermal_centrifuge.desc": "For all your other Purified Ores that doesn't need special treatment, it's best to run them through the &dThermal Centrifuge&r. This machine can produce byproducts at a reliable rate, while only using electricity. It's quite slow, however, so we suggest making multiple machines.", + "quests.ore_proc.thermal_centrifuge.task": "Any Thermal Centrifuge", + "quests.ore_proc.sifter.title": "The Sifter", + "quests.ore_proc.sifter.subtitle": "The Skyblock Simulator", + "quests.ore_proc.sifter.desc": "The &6Sifter&r should be used for all your &aGems&r. It gives far more yield per ore than any other method, and is the only way to obtain Exquisite and Flawless gems before &6HV&r laser engraving.", + "quests.ore_proc.sifter.task": "Any Sifter", + "quests.ore_proc.centrifuge_sifter.title": "Centrifuging the dust", + "quests.ore_proc.centrifuge_sifter.subtitle": "Byproducts of byproducts", + "quests.ore_proc.centrifuge_sifter.desc": "The &6Sifter&r can output &6Purified Dust&r, which you can toss into a centrifuge for a few extra byproducts.", + "quests.ore_proc.centrifuge_sifter.task": "Any Centrifuge", + "quests.ore_proc.electrolyzer.title": "Further refinement", + "quests.ore_proc.electrolyzer.subtitle": "An encore for ore!", + "quests.ore_proc.electrolyzer.desc": "Certain &6Dusts&r have no direct use. For example, &2Tantalite&r must be processed in an &6Electrolyzer&r to extract the raw elements of &dTantalum&r and &dManganese&r.\n\nMost of these recipes will only be available with an &bMV Electrolyzer&r, so come back to this later!", + "quests.ore_proc.electrolyzer.task": "Any Electrolyzer", + "quests.ore_proc.packer.title": "The Packer", + "quests.ore_proc.packer.subtitle": "It's real fast", + "quests.ore_proc.packer.desc": "Back in the old days of GregTech, this little bad boy saw a lot of use—you used to get a ton of &6Small&r and &6Tiny Dusts&r from ore processing.\n\nNowadays, it's only really useful for automatic packing, such as &dRare Earth&r in a &6Centrifuge&r returning many &6Small Piles of Dust&r.\n\nDon't forget: a &eRobot Arm&r set to Supply Exact mode can be useful to avoid clogging the input slots.", + "quests.ore_proc.packer.task": "Any Packer", + "quests.ore_proc.bauxite.title": "The Bauxite Line", + "quests.ore_proc.bauxite.subtitle": "New to modern GregTech versions!", + "quests.ore_proc.bauxite.desc": "You &ocould&r just electrolyze all your Bauxite dust to get a measly 6 Aluminium and 1 Rutile per 15 Bauxite... Or you could try out the &6Bauxite Line&r!\n\nThis new processing line returns about 2x as much &bAluminium&r and 3x as much &4Rutile&r per Bauxite, while also giving you a bunch of Gallium, Iron, Neodymium, and Chromium for free!", + "quests.ore_proc.gem_slurry.title": "Gem Slurries", + "quests.ore_proc.gem_slurry.subtitle": "We... are the crystal—hblrlrlr", + "quests.ore_proc.gem_slurry.desc": "&6Gem Slurries&r are optional but short processing lines for Ruby, Sapphire, and Green Sapphire to squeeze a bit more resources out of them. Compared to electrolysis:\n\n- &cRuby Slurry&r returns almost 3x as much Aluminium and Chromium\n\n- &9Sapphire Slurry&r returns 2x as much Aluminium\n\n- &aGreen Sapphire Slurry&r returns 2x as much Aluminium and a little extra Beryllium\n\nAnd on top of that, they all have a small chance to return some extra Titanium, Iron, and Vanadium too!", + "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", + "quests.space_survival": "Советы - Космическое выживание", + "quests.space_survival.subtitle": "Единственное место, которое не было испорчено капитализмом... Космос!", + "quests.space_survival.preparations.title": "Pre-Launch Preparations", + "quests.space_survival.preparations.subtitle": "Make sure you're ready!", + "quests.space_survival.preparations.desc": "Eager to launch into the final frontier? We totally get the enthusiasm but you can't just hurl yourself into space and hope to survive! &9Preparation&r is key to survival, or you'll just end up back in the Stone Age banging rocks together for a few seconds before suffocating to death.\n\nMake sure you have at least the following:\n- A Space Suit and a full drum of breathable gas\n- A Rocket with another full drum of spare Fuel\n- A Launch Pad so you can return\n- Plenty of food and water\n- A weapon and shield in case the Moon's haunted...", + "quests.space_survival.food.title": "Space Food", + "quests.space_survival.food.subtitle": "Long lasting food for long journeys", + "quests.space_survival.food.desc": "Consider bringing along some &dSpace Food&r for the journey ahead! It's simple to make and comes with a long shelf life. &9Freeze-Dried Fruit&r are a tasty snack, &bMeal Bags&r can hold any normal kind of food you'd have on Earth, and there's also &aCalorie Paste&r for a nutritionally complete but gross meal. You can reuse the Foil Packs when you're finished, too!", + "quests.space_survival.food.task": "Any space food", + "quests.space_survival.satellite.title": "Space Stations", + "quests.space_survival.satellite.subtitle": "For when you really want to get away from it all", + "quests.space_survival.satellite.desc": "By keeping the above items in your inventory, you'll be able to build a &9Space Station&r in orbit once you launch! There's not really much to do up there, and they're totally optional, but if you want a void dimension with no gravity for whatever reason, or just &oreally&r like sky diving, they're an option.", + "quests.space_survival.flag.title": "Flag Planter", + "quests.space_survival.flag.subtitle": "LunaFirmaCraft", + "quests.space_survival.flag.desc": "Introduce yourself to the Moon by planting a flag with whatever image you like on it!", + "quests.space_survival.flag.task": "Any Flag", + "quests.space_survival.chorus.title": "Chorus Fruit", + "quests.space_survival.chorus.subtitle": "Is this the End?", + "quests.space_survival.chorus.desc": "&5Chorus Fruit&r serves a pretty crucial role on the Moon - it will be your main source of Nitrogen. To get started, find some Chorus Plants, parkour up to the top, and break the &5Chorus Flowers&r. Breaking the plant from the bottom will not get you any of the Chorus Flowers! Next up, grow the Chorus Flowers in an Electric Greenhouse to get a renewable source of Chorus Fruit, and from there, you can process them into Biomass and Nitrogen with a Brewery and Fermenter respectively. You can also distill the Biomass into Carbon for more Rocket Fuel!", + "quests.space_survival.rover.title": "Space Rover", + "quests.space_survival.rover.subtitle": "Your getaway vehicle", + "quests.space_survival.rover.desc": "You had to leave your fancy jetpack at home, there's no atmosphere for airplanes, and horses can't survive, so how are you supposed to get around?\n\nThe &bRover&r is a vehicle that can hold up to two passengers, runs on combustible fuels (Diesels, Gasolines, and Rocket Fuel), and even has an inventory and radio that can play real-world radio stations!", + "quests.space_survival.solar_panels.title": "Solar Panels", + "quests.space_survival.solar_panels.subtitle": "Praise the Sun!", + "quests.space_survival.solar_panels.desc": "There are very few energy sources available on the Moon, but these &eSolar Panels&r have a lovely view of the Sun from up here!\n\nOn the moon, each Solar Panel provides the equivalent of &932 EU/t&r during the day with no fuel or upkeep needed, but they only produce an eighth of that down on the Earth's surface. Bring along a whole bunch of them!", + "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", + "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", + "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertiliser\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", + "quests.space_survival.stone_dust_centrifuging.task": "Any ", + "quests.space_survival.compressed_gases.title": "Compressed Breathable Gases", + "quests.space_survival.compressed_gases.subtitle": "Because pure Oxygen is deadly", + "quests.space_survival.compressed_gases.desc": "Find yourself a little short of breath? You'll need something to breathe up in space, so you'll want to look at producing any of these compressed gases, based off real-world ones used for deep sea diving!\n\nYou can fill your space suit with them the same way you'd fill up a bucket, or if you bring along a &bGas Tank&r you'll be able to \"drink\" from it to replenish your suit without taking it off.\n\n&2Nitrox&r is probably the easiest to produce on Earth, while you can set up &eHeliox-3&r on the Moon.\n\nA full space suit (2500mB) will last about &c45 minutes&r.", + "quests.space_survival.compressed_gases.task": "Any compressed breathable gas", + "quests.space_survival.zip_gun.title": "Zip Gun", + "quests.space_survival.zip_gun.subtitle": "Like a jetpack in the palm of your hand", + "quests.space_survival.zip_gun.desc": "A Zip Gun can be filled up with any of the below Compressed Gases to shoot out air, pushing you around in low gravity environments. They're essential if you want to build anything in orbit!", + "quests.space_survival.air_distributor.title": "Setting up a permanent base", + "quests.space_survival.air_distributor.subtitle": "A holiday home", + "quests.space_survival.air_distributor.desc.1": "So far you may be surviving, but do you want to truly &othrive&r? If you're wanting to set up a more permanent base, look no further than the &6Air Distributor&r! Feed it one of the compressed gases from earlier and it will \"oxygenate\" a large enclosed area, letting you take your helmet off, grow crops, and place a water source without it freezing.\n\nAny solid block will work to build your base out of, but you'll want a proper airlock to ensure the gas doesn't all escape in a &cvortex&r.", + "quests.space_survival.air_distributor.desc.2": "The oxygenated area will be at a constant 15C for any crops you'd like to grow (though the Electric Greenhouse doesn't mind), and the water source staying liquid will also let you easily electrolyze it for a source of &bOxygen&r. You can also use a Diode block to transfer power through the walls while keeping them sealed, just like in a cleanroom.", + "quests.space_survival.oxygen_info.title": "More Moon base machines", + "quests.space_survival.oxygen_info.subtitle": "Home comforts", + "quests.space_survival.oxygen_info.desc": "The Oxygen Detector is a simple machine that emits a redstone signal whenever it's in an oxygenated area.\n\nThe Vent is a solid block that can also let breathable air through without causing a vortex.\n\nThe Gravity Normalizer can change the gravity of an area within an enclosed space similar to how an Air Distributor works, but is a little too expensive at the moment.", + "quests.space_survival.railgun.title": "Interplanetary Logistics", + "quests.space_survival.railgun.subtitle": "Ender chest? Never heard of her!", + "quests.space_survival.railgun.desc.1": "&7In &bTerraFirmaGreg&r, transporting items across dimensions or over long distances requires you to build special &6multiblock structures&r.\n\nThis system is &apowerful and flexible&r, offering multiple settings that let you customize logistics to perfectly suit your needs.\n\nThis is the perfect system to transport all of your &apassively-produced&r resources to exactly where they're needed on other planets! And it comes with a powerful &dconfiguration system&r to let you control everything from a single place.", + "quests.space_survival.railgun.desc.2": "To set it up, you'll need three components:\n\n&6• Interplanetary Railgun&r — this is the &bsender&r that launches items across space.\n\n&6• Interplanetary Receiver&r — this is the &breceiver&r that catches and stores incoming items.\n\n&6• Interplanetary Logistics Monitor&r — this acts as the &9central control&r, where you define the rules and behavior of the entire transport system.\n\nWith these machines, you can automate large-scale transfers efficiently — even between planets!", + "quests.space_survival.railgun.task": "Let's dig into Interplanetary logistics", + "quests.space_survival.interplanetary_railgun.title": "Interplanetary Railgun", + "quests.space_survival.interplanetary_railgun.subtitle": "What we call the sender", + "quests.space_survival.raiinterplanetary_railgunlgun.desc.1": "&6The Interplanetary Railgun&r acts as your &bsender multiblock&r.\n\nIt’s the structure responsible for launching items toward distant &3receivers&r — but it can’t receive anything itself.", + "quests.space_survival.raiinterplanetary_railgunlgun.desc.2": "To function correctly, it requires several components:\n\n&9• Energy Hatch&r — provides the power needed to launch items. Without energy, nothing moves.\n&9• Railgun Ammo Loader&r — must be filled with ammo. One unit is consumed per launch.\n&9• Input Buses&r — you can add as many as you can fit, to insert the items you want to send.\n\n&cImportant:&r This multiblock can only &osend&r items. Make sure your &6Interplanetary Railgun&r is always chunkloaded!", + "quests.space_survival.ammo_railgun.title": "Railgun Ammo", + "quests.space_survival.ammo_railgun.subtitle": "You didn't think it would be free?", + "quests.space_survival.ammo_railgun.desc.1": "&7Each &6Interplanetary Railgun&r requires a special type of &eammo&r — think of it as a package used to transport items.\nEach launch consumes exactly &cone unit&r of ammo and can send &dthree stacks&r of items.\n\nTo load it, you’ll need a &6Railgun Ammo Loader&r as part of your structure.\nYou can insert ammo manually or automate the process.\n\n&9We strongly recommend&r setting up a passive production line to keep your loader filled continuously — this ensures a smooth and reliable logistics chain.", + "quests.space_survival.ammo_railgun.desc.2": "There are multiple recipes available to craft ammo:\n\n• Lower-tier recipes are simpler but produce fewer units.\n• Higher-tier recipes yield &amuch more ammo&r, but require more advanced resources and machines.&r\n• Specialized ammo that you can only craft on certain planets. Check the recipes.\n\nPlan your production based on your &3logistics scale&r — interplanetary trade waits for no one!", + "quests.space_survival.input_bus_railgun.title": "Railgun Input Bus", + "quests.space_survival.input_bus_railgun.subtitle": "Sender only", + "quests.space_survival.input_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Interplanetary Logistics Monitor&r &con the left of this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nWhen opening the &6Sender&r logistics screen on the &dInterplanetary Logistics Monitor&r, you'll notice the familiar &9Programmed Circuit&r from GregTech.\nThis circuit number is the core identifier for setting up routing rules.\n\nThe number you assign will apply a specific rule to all Input Buses in your Railgun structure that are configured with that same circuit number.\n\nThis allows you to fine-tune what items are sent where and with which rules, based on the circuit used.", + "quests.space_survival.input_bus_railgun.desc.2": "&2How to configure it:&r\n→ Open the GUI of any &9Railgun Input Bus&r\n→ Select the number you want — just like in any other GregTech machine\n\nThis lets you create powerful logic like:\n&7• Circuit 1&r → send to Moon base\n&7• Circuit 2&r → send to Mars\n&7• Circuit 3&r → send to Orbital Station\n\nWith proper circuit setup, you can automate interplanetary trade like a true industrial tycoon!\n\n&9Note&r: You cannot send anything with the &7#tfg:cannot_launch_in_railgun&r tag.", + "quests.space_survival.input_bus_railgun.task": "Any Railgun Input Bus", + "quests.space_survival.monitor_railgun.title": "Interplanetary Logistics Monitor", + "quests.space_survival.monitor_railgun.subtitle": "Super Computer", + "quests.space_survival.monitor_railgun.desc.1": "&6The Interplanetary Logistics Monitor&r is your logistics command center — the true bread and butter of interplanetary transport.\n\nIt’s a &asingle block&r, requires &ono energy&r, and will automatically detect every &6Railgun Sender&r and &3Receiver&r you’ve built.", + "quests.space_survival.monitor_railgun.desc.2": "It may look simple, but it hides powerful tools under the hood.\nLet’s go over the basics:\n\n&9• When you open the Monitor&r, you'll see a list of all your Senders and Receivers.\nYou have to &ename each one&r.\n\n&9• To create a logistic rule:&r\n → Click the right arrow to select a Sender\n → Press &a+&r to add a new rule\n → Choose the destination Receiver from your list\n\nIf your &6Railgun&r has ammo and energy, and the &3Receiver&r has space — the shipment will launch instantly!\n\nNow that you've got the basics, let’s dive into the more advanced features in the next quests...", + "quests.space_survival.redstone_railgun.title": "Redstone Control", + "quests.space_survival.redstone_railgun.subtitle": "Redstone rules in Minecraft", + "quests.space_survival.redstone_railgun.desc": "&6The Redstone Rule&r is simple — but incredibly powerful when used well.\n\nIn the &6Sender&r rules interface, enabling this rule means that a &credstone signal&r must be present on the &9Input Bus&r for it to send items.\n\nIn the &3Receiver&r rules interface, you can configure the rule so that an &9Output Bus&r will only accept items based on the redstone signal on that specific block.\n\nTime to use your redstone logic skills!\nWhether it's with an &dAE2 Level Emitter&r, from &aCreate redstone utilities&r, or good old vanilla mechanisms — this rule lets you synchronize logistics with your factory state like a pro.", + "quests.space_survival.redstone_railgun.task": "Understood", + "quests.space_survival.robot_arm_railgun.title": "Supply Exact", + "quests.space_survival.robot_arm_railgun.subtitle": "It's a Gregtech pack you know", + "quests.space_survival.robot_arm_railgun.desc": "&6The Item Rule&r works similarly to a &9GregTech Robot Arm&r set to &eSupply Exact&r.\nIt can only be configured from the &6Sender&r rules interface.\n\nWith this rule active, the &9Railgun&r will only send the &aexact quantity&r when available in the &9Input Bus&r.\n\n&2How to set it up:&r\n→ Drag items into the filter from your &dEMI&r interface\n→ Use &aleft and right clicks&r to adjust the quantity\n→ You can also bookmark items for quick access and configuration\n\nThis rule is perfect for precise automation — ideal for batch crafting or resource quotas.", + "quests.space_survival.robot_arm_railgun.task": "Understood", + "quests.space_survival.delay_railgun.title": "Delay", + "quests.space_survival.delay_railgun.subtitle": "Sometime you just want to wait", + "quests.space_survival.delay_railgun.desc": "&6The Delay Rule&r is simple, but useful for managing item flow timing.\n\n&2On the Sender side:&r\nItems will only be sent after the &9Input Bus&r hasn't received any new item for a set amount of time (in seconds).\nThis helps avoid sending items too frequently when inputs are constantly changing.\n\n&2On the Receiver side:&r\nThe rule defines a delay before an &9Output Bus&r can receive another batch of items.\nThis can be useful to prevent overflow or to pace item insertion into slower systems.\n\nIdeal for syncing with machines that need breathing room between operations, or to prevent unnecessary waste of ammo.", + "quests.space_survival.delay_railgun.task": "Understood", + "quests.space_survival.receiver_railgun.title": "Interplanetary Receiver", + "quests.space_survival.receiver_railgun.subtitle": "The Receiver", + "quests.space_survival.receiver_railgun.desc.1": "&6The Interplanetary Receiver&r, as its name suggests, is designed to &3receive items&r sent by the Railgun.\n\nIt’s a &asmall and simple multiblock&r that requires no energy or maintenance — just build it and you're ready to go!", + "quests.space_survival.receiver_railgun.desc.2": "Its flexibility lies in the number of &9Output Buses&r you can attach.\nThe more you add, the more items it can handle simultaneously.\n\n&2Setup is easy:&r\n• Build the structure\n• Add as many Output Buses as you need\n• Done — it’s ready to receive!\n\nNo fuel, no maintenance — just pure logistics power.\nMake sure it’s properly chunkloaded, and let the items rain in!", + "quests.space_survival.output_bus_railgun.title": "Railgun Output Bus", + "quests.space_survival.output_bus_railgun.subtitle": "Receiver only", + "quests.space_survival.output_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Railgun Input Bus&r &cabove this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nJust like how your &6Railgun Input Buses&r can be assigned a &9circuit number&r, you can do the same with the &3Output Buses&r on your &3Receiver&r.", + "quests.space_survival.output_bus_railgun.desc.2": "This feature serves two main purposes:&r\n\n&9• Direct item flow&r —\nYou can control which Output Bus receives items.\nTo do this, simply assign a circuit number to the Output Bus,\nthen select that number in your Sender’s rule via the &6Logistics Monitor&r.\n\n&9• Conditional rules&r —\nYou can also set rules to &cstop sending items&r if the circuit rule isn’t respected.\nThis is done not from the Sender tab, but by opening the &3Receiver&r tab in the Monitor.\nFor each circuit number, you can assign a rule that applies only to Output Buses using that number.", + "quests.space_survival.output_bus_railgun.desc.3": "To learn more about the available rule types, make sure to check the &7three quests above this one&r.\n\nThey go over each rule in detail and explain how to use them effectively.", + "quests.space_survival.output_bus_railgun.task": "Any Railgun Output Bus", + "quests.space_survival.soulbound.title": "Extraterrestrial Death", + "quests.space_survival.soulbound.subtitle": "You're a long way from spawn", + "quests.space_survival.soulbound.desc.1": "In TerraFirmaGreg, you can set your spawn on any dimension (even The Beneath!), but unless you've got a bunch of extra space suits lying around, respawning on the Moon might complicate things.\n\nFirst of all, you'll definitely want your bed to be inside an oxygenated area, so you don't immediately die as soon as you respawn (though in case of a blackout, you should have enough time to break your bed and reset your spawn).", + "quests.space_survival.soulbound.desc.2": "Secondly, you can upgrade each piece of your Space Suit with a &bSoul Pearl&r. This will make them stay equipped when you die!\n\nYou can get these from any of the tougher, hostile Endermen on the Moon.\n\nWe promise it's sci-fi and not magic.", + "quests.space_survival.mars_desert.title": "The Martian Desert", + "quests.space_survival.mars_desert.subtitle": "Sand, sand everywhere", + "quests.space_survival.mars_desert.desc": "The majority of Mars is covered in a vast desert. Not much lives here except the occasional Stackatick, and of course the giant &6Sandworms&r. If this is your first time here, you'll want to find somewhere more hospitable! Otherwise, you'll want to keep searching...", + "quests.space_survival.mars_desert.task": "Visit the Martian Deep Desert biome", + "quests.space_survival.sandworm.title": "The Sandworm", + "quests.space_survival.sandworm.subtitle": "SHAI-HULUD", + "quests.space_survival.sandworm.desc": "If you make too much noise in the desert, you might attract the attention of the mighty &6Sandworm&r! It's more of an environmental hazard than a boss to kill, so your best way of surviving it is to run away!\n\nIf you manage to hit its head enough times with &bexplosion damage&r, it will leave you alone... for a while.\n\nThankfully, the Sandworm can only damage entities, not buildings, and is only attracted to the &6footsteps of players&r, so any way to keep &byour own feet&r off the ground won't anger it. The atmosphere is too thin for airplanes and hang gliders, but there are other tools...", + "quests.space_survival.spice.title": "Ostrum Deposits", + "quests.space_survival.spice.subtitle": "Spice Melange", + "quests.space_survival.spice.desc": "&dOstrum Deposits&r are immovable blocks that you can only find in the Martian Deep Desert, far away from any of the more lush areas. They spawn in small blobs, and can be broken to make space for your Ostrum Harvester if they're on a slope. Try using a &6Spyglass&r to find them from a distance!\n\nYou'll have to figure out some long-distance logistics to ship your Ostrum back to your base. (Try a train, Accumulators can transport power!)\n\nOstrum is a crucial resource for both &5EV&r progression and making infinite ores from Mars.", + "quests.space_survival.spice.task": "The spice must flow", + "quests.space_survival.mars_islands.title": "The Martian Jungles", + "quests.space_survival.mars_islands.subtitle": "Is that a dinosaur?!", + "quests.space_survival.mars_islands.desc": "Dotted around the vast Martian deserts are small \"islands\" of life and vegetation, which are probably where you'll want to set up your base. Surviving here will be much easier than in the desert!", + "quests.space_survival.semiheavy_ammoniacal_water.title": "Semiheavy Ammoniacal Water", + "quests.space_survival.semiheavy_ammoniacal_water.subtitle": "Fancy a drink?", + "quests.space_survival.semiheavy_ammoniacal_water.desc": "The water on Mars is &bSemiheavy&r which means it contains one Deuterium atom, and is also full of &aAmmonia&r, a great antifreeze, which is how it can stay liquid despite the very low temperatures.\n\nIt's technically drinkable, but you'll likely want to distill it into normal Water first. You can also move source blocks of Semiheavy Ammoniacal Water around and get more of it via an Aqueous Accumulator, just like regular Water.\n\nYou can also centrifuge the Ammonium Chloride out from it and electrolyze it as a source of &3Nitrogen&r. Easy Nitrox from just one source!", + "quests.space_survival.heavy_ammoniacal_water.title": "Heavy Ammoniacal Water", + "quests.space_survival.heavy_ammoniacal_water.subtitle": "The Cooler Ammoniacal Water", + "quests.space_survival.heavy_ammoniacal_water.desc": "&2Heavy Ammoniacal Water&r is another kind of fluid that can only be found deep underground via a Fluid Drilling Rig. You can only find it in these lush areas of Mars, not the desert!\n\nYou can separate it into Heavy Water, which is important for Fission power.", + "quests.space_survival.mars_poles.title": "The Martian Poles", + "quests.space_survival.mars_poles.subtitle": "Cold enough for CO₂ to freeze!", + "quests.space_survival.mars_poles.desc": "Is Mars not cold enough for you?\n\nHead up (or down) towards one of its poles at Z=+15000/-5000. If anything's able to live there, surely it must have amazing insulative properties...", + "quests.space_survival.glacian_ram.title": "Glacian Sheep", + "quests.space_survival.glacian_ram.subtitle": "Life at -110 C", + "quests.space_survival.glacian_ram.desc": "&dGlacian Rams&r and &dEwes&r can only be found on the Martian poles. You might want to bring a breeding couple back to your base.\n\nGot a long journey? Consider using an AE2 Spatial Storage Cell to carry them around in your pocket.", + "quests.space_survival.glacian_ram.task": "Find a Glacian Ram or Ewe", + "quests.space_survival.glacian_wool.title": "Glacian Wool", + "quests.space_survival.glacian_wool.subtitle": "What an incredible insulator!", + "quests.space_survival.glacian_wool.desc": "Unlike regular Sheep on Earth, killing a Glacian one will only give you normal Wool. You'll need to build up their familiarity and shear them if you want the special &dGlacian Wool&r.\n\nYou'll need 7 of it for a full Tungstensteel Space Suit, but you can also use it as a great component for your Fission Reactor to increase its maximum heat.\n\nYou can also turn it into regular Wool Yarn and Cloth if you want more of that for some reason.", + "quests.space_survival.t2_space_suit.title": "Tungstensteel Space Suit", + "quests.space_survival.t2_space_suit.subtitle": "Extremophilia!", + "quests.space_survival.t2_space_suit.desc": "With this next space suit, you'll be able to survive both the &bcoldest&r and the &chottest&r environments that space can throw at you! It's required to stop you from immediately combusting as soon as you set foot on &6Venus&r and &5Mercury&r.\n\nAs a bonus, it also comes with some extra armor and air capacity!", + "quests.space_survival.mars_tapping.title": "Crimsene and Warpane", + "quests.space_survival.mars_tapping.subtitle": "You LOVE tree tapping!", + "quests.space_survival.mars_tapping.desc": "Crimson and Warped Mushrooms can be tree tapped for &4Crimsene&r and &3Warpane&r respectively.\n\nYou'll need both to get started on producing &9Iodine&r, but they don't often grow in the same place, so you might need to travel a bit. Crimson Mushrooms grow more on the East side of Mars, while Warped grow more on the West.\n\nDon't forget that you can tap directly into open GregTech fluid pipes!\n\n&9Tip:&r Want to show off? You can also build a canoe out of Crimson Stems, and build a Rowboat or Sloop out of Warped ones!", + "quests.space_survival.iodine.title": "The Iodine Line", + "quests.space_survival.iodine.subtitle": "Mushroom chemistry!", + "quests.space_survival.iodine.desc": "Mix together the Crimsene and Warpane, along with some Krypton from Mars Air Distillation (it's looped) and the heat from your Fission Reactor, and you'll get Iodine!\n\nThis process is slow, but you shouldn't need a lot of it for now, and there will be better methods of obtaining Iodine on further planets.", + "quests.space_survival.mars_crops.title": "Martian Crops", + "quests.space_survival.mars_crops.subtitle": "They give HOW much nutrition?!", + "quests.space_survival.mars_crops.desc": "Mars is home to six new crops - three &afruit&r, two &2vegetable&r, and one &6grain&r. They're packed full of nutrients and can be used to prepare similar food to those on Earth, such as sandwiches, soups, and meal bags.\n\nA few of them are toxic if eaten raw, however, so be sure to cook it first!\n\nCheck the Field Guide for full details on how to grow each one. You can grow them in the dirt, in a Firmalife Greenhouse, or in an Electric Greenhouse.", + "quests.space_survival.mars_crops.task": "Any Martian Seed", + "quests.space_survival.bulbkin_pie.title": "Mars Cuisine", + "quests.space_survival.bulbkin_pie.subtitle": "Even more culinary atrocities at your disposal", + "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.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.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.", + "quests.space_survival.sniffer_or_wraptor.task_1": "Find a Sniffer", + "quests.space_survival.sniffer_or_wraptor.task_2": "Find a Wraptor", + "quests.space_survival.mars_nest.title": "Large Thatch Nest", + "quests.space_survival.mars_nest.subtitle": "A big nest for big eggs", + "quests.space_survival.mars_nest.desc": "You remember how to gather thatch, right?\n\nWarped and Crimson Thatch can be gathered from various small plants, as well as any Warped and Crimson Lamella you happen to find.\n\nJust like birds on Earth, Sniffers and Wraptors require nests to lay their eggs. Only, y'know, much bigger.", + "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.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.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.", + "quests.space_survival.mras_shields.task": "Any Advanced Shield", + "quests.space_survival.mercury.title": "I'm on &5Mercury&r...?", + "quests.space_survival.mercury.subtitle": "Wait, what happened here?!", + "quests.space_survival.mercury.desc": "&5Mercury&r will be a secondary planet for the upcoming &1IV&r rework in TFG 0.12. Stay tuned!", + "quests.space_survival.mercury.task": "Land on Mercury", + "quests.space_survival.venus.title": "I'm on &6Venus&r!", + "quests.space_survival.venus.subtitle": "Cloudy with a chance of sulfuric acid rain", + "quests.space_survival.venus.desc": "&6Venus&r will be the primary planet for the upcoming &1IV&r rework in TFG 0.12. Stay tuned!", + "quests.space_survival.venus.task": "Land on Venus", + "quests.steam_age": "Ранняя автоматизация", + "quests.steam_age.subtitle": "От примитивных машин до паровой энергии", + "quests.steam_age.basic_greate.title": "Basics of Greate", + "quests.steam_age.basic_greate.subtitle": "Tired of Create? This'll make it more interesting", + "quests.steam_age.basic_greate.desc": "Greate is a fusion of &3Create&r and &3GregTech&r that has different tiered versions of Create's machines. It also introduces stress limits on Shafts and Cogwheels, so you'll have to plan more about how you power your machinery!\n\nGenerally speaking, you'll want smaller setups with their own individual power sources, instead of doing the usual Create thing of having a blob of water wheels connected into a single Shaft into your base.", + "quests.steam_age.create_tools.title": "Tools of the Trade", + "quests.steam_age.create_tools.subtitle": "These may be useful", + "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.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.", + "quests.steam_age.horse_crank.desc.2": "&3Small Animals (4 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (6 SU):&r\nCow, Donkey\n\n&3Large Animals (8 SU):&r\nHorse, Mule, Musk Ox, Yak", + "quests.steam_age.poor_paths.title": "Poor Paths", + "quests.steam_age.poor_paths.subtitle": "This is just dirt", + "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 2 RPM.", + "quests.steam_age.normal_paths.title": "Medium Paths", + "quests.steam_age.normal_paths.subtitle": "Ok, you put a little effort in", + "quests.steam_age.normal_paths.desc": "Medium paths are a little better and will let your animals turn the crank at 4 RPM.\n\nNote: You can't have a Dirt Path block directly under the animal crank, so that one will have to be Gravel.", + "quests.steam_age.good_paths.title": "Great Paths", + "quests.steam_age.good_paths.subtitle": "No horseshoes required!", + "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 8 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", + "quests.steam_age.helve_hammer.title": "Helve Hammer", + "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", + "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", + "quests.steam_age.water_wheel.title": "Water Wheels", + "quests.steam_age.water_wheel.subtitle": "Hope you set up your base near a river!", + "quests.steam_age.water_wheel.desc": "Water wheels provide much more power than the Animal Crank, at the expense of requiring flowing water. You don't have the ability to move water sources yet, so you'll need to find a river to power these. Oceans and Lakes can also provide a little power, but if you're far inland, you're better off looking at building a windmill.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", + "quests.steam_age.large_water_wheel.title": "Large Water Wheels", + "quests.steam_age.large_water_wheel.subtitle": "Larger, stronger, more expensive", + "quests.steam_age.large_water_wheel.desc": "Large water wheels provide four times as much power as the small water wheels, but still require flowing water from a river. Oceans and Lakes can also provide a little power, but if you're far inland, you're better off looking at building a windmill or steam engine.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", + "quests.steam_age.windmill.title": "Windmills", + "quests.steam_age.windmill.subtitle": "Pairs well with tulips", + "quests.steam_age.windmill.desc": "If you aren't near flowing water, a windmill is another effective option for a better source of power. Bigger windmills provide more stress units and faster speeds.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", + "quests.steam_age.metal_casing.title": "Metal Casings", + "quests.steam_age.metal_casing.subtitle": "Primitive Machine Hull?", + "quests.steam_age.metal_casing.desc": "These are the basis of most of the simple machines you can build with Create. Check JEI for all the different things you can craft with this, including Gearboxes and other ways to control your stress units.\n\nNew to Create? There's many tutorials online about different kinds of contraptions you can build, and most of them will still work in TFG too! (Except anything involving cobble generators)", + "quests.steam_age.mechanical_harvester.title": "Mechanical Harvester", + "quests.steam_age.mechanical_harvester.subtitle": "Robotic Cherrypicking", + "quests.steam_age.mechanical_harvester.desc": "Too lazy to harvest and replant your crops? These will do it for you! Place them on a spinning contraption and watch them go. These won't work on crops planted inside a greenhouse though.\n\nProtip: It's always a constant 15°C down at bedrock level, so it's a cool location for a farm that can grow crops all year round!", + "quests.steam_age.mechanical_saw.title": "Mechanical Saw", + "quests.steam_age.mechanical_saw.subtitle": "Efficient cutting of wood, stone, and your fingers", + "quests.steam_age.mechanical_saw.desc": "Tired of chopping trees? These will do it for you! Place them on a spinning contraption and watch them go. Unfortunately, you'll still have to replant the saplings them yourself until you get access to a Deployer.\n\nA Mechanical Saw can also double as a stonecutter, giving easier access to various forms of masonry. Using it to chop logs into lumber is also more efficient!\n\nYou can also use it to cut Rods into four Bolts!", + "quests.steam_age.chute.title": "Early Logistics", + "quests.steam_age.chute.subtitle": "Public infrastructure for your items", + "quests.steam_age.chute.desc": "You now have access to ways to move your items around! Chutes are similar to hoppers and are cheaper, but can only move items downwards. Both of these can also push items from container into Item Pipes.\n\nFunnels are similar but are best paired with Belts instead of Item Pipes.", + "quests.steam_age.item_pipes.title": "Item Pipes", + "quests.steam_age.item_pipes.subtitle": "Not as cool as Item Conduits", + "quests.steam_age.item_pipes.desc.1": "&3Item Pipes&r are a simple yet effective way to move items around &dinstantly&r, but with throughput limitations.\n\nHigher tier pipes provide ridiculously large throughput - a rare sight in modded Minecraft!\n\nItem Pipes &9do not pull&r, but they will push any item inserted into them to other connected inventories, prioritizing &9the closest inventory&r first.", + "quests.steam_age.item_pipes.desc.2": "The priority mechanics are &osomewhat complicated&r, so skip ahead if you aren't interested:\n\nA &eDestination&r will have a &dRouting Value&r calculated, which is the sum of all \"Routing Values\" of the individual Pipes to that Destination. Whichever Destination has the &clowest &dRouting Value&r will be the one selected for Insertion.\n\n&3Restrictive Pipes&r typically have the lowest Priority for insertion due to their higher Routing Value.", + "quests.steam_age.item_pipes.desc.3": "Right now, you can use them in combination with &6Chutes&r and &6Hoppers&r, but you will also be able to use them with Conveyor Modules, Output Buses, and machine Auto-Outputs all in the LV age.\n\n&9Note:&r GT6-style Pipes are &denabled&r. It means that placing Pipes connect them only to the block they were placed against. To open more connections, use your &5Wrench&r on the grid.\n\nGet &eany&r of the suggested Item Pipes to complete this quest.", + "quests.steam_age.item_pipes.desc.4": "&l&3Lore:&r&o Oooooh, YEAH! Item Pipes were in GregTech 5, and for whatever reason they weren't kept for GTCE, so you had to use other mods to transport items. Who does that!? Jokes aside, we hope you enjoy Item Pipes being back in GregTech!", + "quests.steam_age.steel_greate.title": "Steel-tier Greate", + "quests.steam_age.steel_greate.subtitle": "Greate so good they made Greate 2", + "quests.steam_age.steel_greate.desc": "Welcome to the next tier of Greate! Steel Shafts and Cogwheels can hold four times as much stress as your old ones. The total stress limit of a kinetic setup is determined by the weakest link, so unfortunately you'll have to replace your old setup if you want to reap the rewards. Some of the old parts can be recycled at least!", + "quests.steam_age.steel_encased_fan.title": "Encased Fan", + "quests.steam_age.steel_encased_fan.subtitle": "Great for hot days", + "quests.steam_age.steel_encased_fan.desc": "The &3Encased Fan&r is the final step in your first fully automatic ore processing line, so you no longer need to clean your impure dusts by hand. Point the fan at your dusts with a water source between, and they'll be gleaming in no time. As a bonus, it'll give you some extra byproducts too! It might be tricky to move a water source right now, but you can build around an existing part of a river or lake.", + "quests.steam_age.steel_millstone.title": "Steel Millstone", + "quests.steam_age.steel_millstone.subtitle": "A worthwhile upgrade", + "quests.steam_age.steel_millstone.desc": "With a much higher kinetic capacity, the steel millstone is a worthwhile upgrade over your basic one, letting you spin it much faster for quicker crushing. A good upgrade for all the different new ores you'll be getting soon!\n\nAgain though, it only outputs items in the first slot in JEI.", + "quests.steam_age.steel_pump.title": "Fluid Handling", + "quests.steam_age.steel_pump.subtitle": "Delicious pipe spaghetti", + "quests.steam_age.steel_pump.desc.1": "With the Steel Age, now you can automate fluids as well as items! The &3Mechanical Pump&r can pull fluids out of pretty much anything, including barrels, crucibles, and even source blocks. You can use it with either Create's or GregTech's fluid pipes, though each behaves a little differently.", + "quests.steam_age.steel_pump.desc.2": "Create's pipes have no internal fluid capacity, instead transporting fluids directly from source to destination. You can right-click them with a Copper Casing to \"lock\" any connections in place, and right-clicking them with a wrench will open a little window that prevents intersections, so you can run multiple pipes next to each other. Create's pipes also require a mechanical pump to use, and each pump only has a range of 16 blocks, but one pump can pull fluids from multiple sources at once.\nThey also have no temperature limit!", + "quests.steam_age.steel_pump.desc.3": "On the other hand, GregTech's pipes do have their own internal fluid capacity and don't require a pump once fluid is inside them. Like item pipes, their connections can also be fully controlled by sneak right-clicking them with an empty off-hand, and we recommend doing so on all your pipes otherwise the fluid sloshes around.\n\nAre your mechanical pumps and GregTech pipes not connecting? Flip the pump twice (right-click with a wrench) and that should get them working together.", + "quests.steam_age.mold_table.title": "Blast Furnace Automation", + "quests.steam_age.mold_table.subtitle": "The Electric Blast Furnace is a long way off", + "quests.steam_age.mold_table.desc.1": "You're going to need &3tons&r of steel for a while, so automating your blast furnace is definitely a worthwhile investment. The Mechanical Pump can pull fluids directly out of the blast furnace (much faster than it drips into a crucible) into a Mold Table, and the pump will also let the ingots cool instantly! You can then put a Chute or Hopper directly under the mold table to pull the ingots out of it. From there, you can send the Pig Iron Ingots over to your Helve Hammer.", + "quests.steam_age.mold_table.desc.2": "If you'd like, you can also use a Chute to drop your items into the top of the blast furnace, and a Deployer to automatically work the bellows. Excessive bellow blowing will quickly use up the durability of your Tuyere, though item pipes can push a new one in.\n\nYou could even have a pump pull from both your blast furnace and your crucible, using a Fluid Valve to stop the pump while you're alloying, and turn it back on once you're finished.", + "quests.steam_age.fluid_pipes.title": "Fluid Pipes", + "quests.steam_age.fluid_pipes.subtitle": "Liquids, gases... we don't discriminate", + "quests.steam_age.fluid_pipes.desc.1": "&bFluid Pipes&r will transport &7Steam&r between machines for you.\n\nEach Pipe has a certain throughput in mB/t, and a &6Temperature Limit&r. This is relevant right now, as Steam will burn Wooden Pipes. Some pipes have &bspecial&r attributes you don't need to worry about for now.\n\nEach material has several sizes for Pipes. The bigger the Pipe, the &ahigher&r the throughput, but the more &dexpensive&r the craft. For example, a normal &6Bronze Fluid Pipe&r transfers 120 mB/t. (It also has a 1,200 mB internal buffer!)\n\nTo start off, we recommend using Wood pipes for cold fluids, and Bronze ones for hot fluids.", + "quests.steam_age.fluid_pipes.desc.2": "&aReminder:&r 1 second = 20 ticks... assuming the server isn't lagging.\n\n&dNote:&r GT6-style Pipes are enabled. It means that placing Pipes connects them only to the block they were placed against. To open more connections, use your Wrench on the pipe.\n\nYou can also shift-right click with your Wrench to disable input from a side. This can help counteract sloshing (liquids travelling in an undesired direction).", + "quests.steam_age.fluid_drums.title": "Efficient Fluid Storage", + "quests.steam_age.fluid_drums.subtitle": "I don't think a wooden barrel can hold molten steel", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them.\n\nIntroducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside. A right-click with a Soft Mallet allows a Drum to drain its content into another container placed below it.", + "quests.steam_age.fluid_drums.desc.2": "&l&3Lore:&r&o These drums are actually ported from GregTech 6.", + "quests.steam_age.boilers.title": "Steam Boilers", + "quests.steam_age.boilers.subtitle": "Portable Steamroom", + "quests.steam_age.boilers.desc.1": "Steam machines need to be powered! You have three options to generate steam: the &3Solid&r boiler accepts solid fuels like coal and charcoal, the &3Liquid&r boiler accepts liquids like creosote and lava, and the &3Solar&r boiler requires no fuel but only works during the day. The choice is yours, but we recommend the liquid one if you're unsure.\n\nSteam machines all have a vent which needs to stay unblocked in order for them to work properly.", + "quests.steam_age.boilers.desc.2": "&aWarning:&r Boilers will &bexplode&r if you attempt to put water into them while they are dry and hot. It's best to always have water being pumped into them, but you can always break and place the block to reset its temperature.", + "quests.steam_age.boilers.tasks": "Any High Pressure Steam Boiler", + "quests.steam_age.steam_bloomery.title": "Steam Bloomery", + "quests.steam_age.steam_bloomery.subtitle": "The Bloomery's uncle", + "quests.steam_age.steam_bloomery.desc": "You're always going to need a lot of Wrought Iron, so why not automate your Bloomery? The next closest way to automate wrought iron is way off in LV. The Steam Bloomery is a new multiblock that'll automate your old TFC bloomery, and do it faster too! Like with the Coke Oven, you can press the JEI 'Uses' key (defaults to \"U\") to show the multiblock preview tab. Click on individual blocks to see what's valid in each location.", + "quests.steam_age.steam_furnace.title": "Steam Furnace", + "quests.steam_age.steam_furnace.subtitle": "The Steam Furnace furnaces...", + "quests.steam_age.steam_furnace.desc": "Want to quickly smelt something into an ingot? The &3Steam Furnace&r does just that! It can turn many ores and dusts quickly into their ingot form, at the expense of not getting any byproducts.", + "quests.steam_age.steam_oven.title": "Steam Oven", + "quests.steam_age.steam_oven.subtitle": "The Steam Grinder's big brother", + "quests.steam_age.steam_oven.desc.1": "&o...or little brother. Don't let him know!&r\n\nThe &3Steam Oven&r is a great multiblock option if you need &6effortlessly smelt large quantities of items.&r No more lines of furnaces that you have to manually empty and refuel!\n\nIt effectively behaves as a parallel furnace, smelting up to 8 items at a time for a low cost of Steam.", + "quests.steam_age.steam_oven.desc.2": "&l&3Lore:&r&o This Multiblock - despite being very similar to its brother, the Steam Grinder - isn't ported from a GregTech version or addon. Its actual progenitor is the Steam Oven from Railcraft, which dates back to 1.4.7!", + "quests.steam_age.steam_macerator.title": "Steam Macerator", + "quests.steam_age.steam_macerator.subtitle": "The Steam Macerator macerates...", + "quests.steam_age.steam_macerator.desc": "This machine does exactly the same thing as the Millstone, so if you already have one of those, there's not much point to building this. Still, one or the other is required for progression at this point. No, this machine doesn't output any of the extra output slots either. You'll have to wait until &6HV&r for that.", + "quests.steam_age.steam_grinder.title": "Steam Grinder", + "quests.steam_age.steam_grinder.subtitle": "The Steam Macerator's little sister", + "quests.steam_age.steam_grinder.desc": "Like the Steam Oven, the &3Steam Grinder&r is an upgraded version of the single-block version that can do multiple items at the same time. Is it worth it? That's totally up to you.", + "quests.steam_age.rock_crusher.title": "Steam Rock Crusher", + "quests.steam_age.rock_crusher.subtitle": "The Rock Crusher duplicates blocks... wait what?", + "quests.steam_age.rock_crusher.desc": "The Rock Crusher is basically a cobblestone generator in a box. It can take any raw stone or cobblestone and generate more of it, at the low cost of just a little steam. This doesn't help at all for progression, but if you're looking to make a lot of bricks, this machine is perfect.", + "quests.steam_age.forge_hammer.title": "Steam Forge Hammer", + "quests.steam_age.forge_hammer.subtitle": "The Forge Hammer hammers...", + "quests.steam_age.forge_hammer.desc": "With the creation of this machine, many recipes that once required you to use a hammer can instead be made here!\n\nIt can process &bCobblestone into Gravel&r, and &dGravel into Sand&r - and it's zippy at that to boot.\n\nLast but not least, it makes &aPlates&r at a better ratio: &6three Ingots for two Plates&r. A worthwhile investment!\n\nOn top of all that, the Forge Hammer lets you (slowly) work in-between ingots such as Raw Blooms into Wrought Iron, or Pig Iron into Steel, if you want a more compact version of the Helve Hammer!", + "quests.steam_age.alloy_smelter.title": "Steam Alloy Smelter", + "quests.steam_age.alloy_smelter.subtitle": "The Alloy Smelter makes alloys...", + "quests.steam_age.alloy_smelter.desc": "The &bAlloy Smelter&r is used for, well, alloys. You'll want it for the efficient &6Bronze&r recipe, and for &4Red Alloy&r in the near future.\n\nIt can also weld High Carbon ingots together at a much more efficient rate!\n\nOut of all the &6Steam Age&r machines, this is the most steam-hungry. If you ever find yourself running out of steam, give your machine a &alove-tap&r with &dany Soft Mallet&r to momentarily pause it.", + "quests.steam_age.compressor.title": "Steam Compressor", + "quests.steam_age.compressor.subtitle": "The Steam Compressor compresses...", + "quests.steam_age.compressor.desc": "The &3Steam Compressor&r can turn ingots and gems into blocks, nuggets into ingots, and most importantly, wood pulp into single Planks. You'll see why those are important soon!", + "quests.steam_age.molding.title": "Molding", + "quests.steam_age.molding.subtitle": "Reduce the amount of malding by molding", + "quests.steam_age.molding.desc": "In addition to alloying metals together, the Alloy Smelter can also use &3Molds&r to convert materials into different shapes.\n\nYou'll want the listed molds for future alloy smelting. Be sure to make &aMolds&r - don't make &cExtruder Shapes&r, as they're used in a different machine.\n\nYou may also be interested in the Gear molds, but using them to craft gears is more expensive than doing it by hand.", + "quests.steam_age.red_alloy.title": "Red Alloy", + "quests.steam_age.red_alloy.subtitle": "A completely fictional alloy", + "quests.steam_age.red_alloy.desc": "&4Red Alloy&r is an alloy of Copper and Redstone, prized in the GregTech universe for its conductivity. You can craft it either in an Alloy Smelter or in your Crucible, if you'd like.\n\nYou will need some for &9Electron Tubes&r.\n\n&l&3Lore:&r&o This material originally comes from RedPower - what a throwback!", + "quests.steam_age.extractor.title": "Steam Extractor", + "quests.steam_age.extractor.subtitle": "The Steam Extractor extracts...", + "quests.steam_age.extractor.desc": "Not many items are made in the &3Extractor&r during the &6Steam Age&r, as it lacks the capability to extract fluids.", + "quests.steam_age.glass_tube.title": "Glass Tubes", + "quests.steam_age.glass_tube.subtitle": "You'll want a lot of these", + "quests.steam_age.glass_tube.desc": "While you could make all of these by hand with glassblowing, it's much more time efficient to create them in your Alloy Smelter with the appropriate mold instead. Need a lot of glass dust? You can either glassblow 16 panes at once to macerate them, or use the Rock Crusher and Forge Hammer to get lots of sand, then add a little Flint dust to turn it into glass dust.", + "quests.steam_age.treated_planks.title": "Treated Planks", + "quests.steam_age.treated_planks.subtitle": "Also known as Treated Plywood", + "quests.steam_age.treated_planks.desc": "Hope you've been saving up your creosote, because making these pulped and compressed planks is another use for it.\n\n&l&3Lore:&r&o In earlier versions of TerraFirmaGreg, this was the point when you could actually start Create!", + "quests.steam_age.electron_tube.title": "Electron Tube", + "quests.steam_age.electron_tube.subtitle": "Ultra Ultra Low Voltage...?", + "quests.steam_age.electron_tube.desc": "These may be initally very painful to craft, but you should use your first few on setting up a line of Deployers, to make crafting them significantly cheaper.\n\nBesides Deployers, these are also used for a wide variety of advanced Create machines!", + "quests.steam_age.rotation_speed_controller.title": "Rotation Speed Controller", + "quests.steam_age.rotation_speed_controller.subtitle": "No more manual gear ratios!", + "quests.steam_age.rotation_speed_controller.desc": "The &3Rotation Speed Controller&r can simplify all of your cogwheel spaghetti into a single block, letting you adjust RPM in a simple, compact way. These will be useful later when you have more machines to balance your stress units between!", + "quests.steam_age.mech_crafter.title": "Mechanical Crafter", + "quests.steam_age.mech_crafter.subtitle": "For those extra large crafting recipes", + "quests.steam_age.mech_crafter.desc": "Don't worry, these are entirely optional, but they are used for a couple one-time crafts that you may find very useful, outside of the two listed here.", + "quests.steam_age.crushing_wheel.title": "Crushing Wheels", + "quests.steam_age.crushing_wheel.subtitle": "The Millstone's cousin's wife's boyfriend", + "quests.steam_age.crushing_wheel.desc": "These do exactly the same thing as the other crushing-related machines earlier in the chapter, but faster and in bulk. They're pretty equivalent to the Steam Grinder.", + "quests.steam_age.centrifuge.title": "Mechanical Centrifuge", + "quests.steam_age.centrifuge.subtitle": "A World Revolving", + "quests.steam_age.centrifuge.desc": "Ore processing will always be an important part of this modpack, and this machine is another (optional) part of that. By following a different route of ore processing steps (check the Ore Processing Diagram tab in JEI), you can use this centrifuge to get some bonus byproducts out of your ores! The next upgrade to your ores won't be until the LV Thermal Centrifuge, so whether or not this is a worthwhile investment is up to you.", + "quests.steam_age.steam_engine.title": "Steam Engine", + "quests.steam_age.steam_engine.subtitle": "Time for some real steam power", + "quests.steam_age.steam_engine.desc": "Water wheels and windmills not cutting it any more? It wouldn't be a steam age without a proper steam engine! Each steam engine can output a whole 256 SU, giving you much more power to play with.\n\nBlaze Burners can be crafted without leaving your house, and you can use a Mechanical Arm to automatically feed them solid fuel, or directly pipe liquid fuel (such as creosote). Coal Gems, Anthracite, and Coke can also be used to superheat them.", + "quests.steam_age.fuel_sources.title": "More Fuel Sources", + "quests.steam_age.fuel_sources.subtitle": "Putting the power in steam power", + "quests.steam_age.fuel_sources.desc": "The steam engine can accept more liquid fuels than the High Pressure Liquid Boiler. While Creosote or Lava are the easiest to set up at this point, you might also be interested in various plant-based oils like &eSeed Oil&r from Sunflowers or Canola.\n\nCreosote and Lava also don't scale very well once you get into further tiers, while Biofuel can be upgraded into Diesel and then Cetane-Boosted Diesel, so start setting up a big field for plant oils now if that sounds appealing to you!", + "quests.steam_age.deployers.title": "Deployers", + "quests.steam_age.deployers.subtitle": "Primitive Assembly Line", + "quests.steam_age.deployers.desc": "While you could use a single deployer for the rest your time in this chapter, we &3really&r don't recommend it. Setting up a line of deployers along a belt will save heaps of time and sanity, and it's not like you'll be wasting materials either, because you can always reuse them to upgrade your tree farm later.\n\nThese will also make electron tubes significantly cheaper!", + "quests.steam_age.trains.title": "Trains", + "quests.steam_age.trains.subtitle": "Waypoints wishes it was as cool as these", + "quests.steam_age.trains.desc": "Trains are a fantastic option when it comes to any sort of long distance transportation, whether that's players, items, or fluids! They can also safely travel through unloaded chunks. There won't be any sort of player teleportation for a very long time, so if you'd like to set up a continent-spanning rail network, you don't have to worry about it getting outdated.", + "quests.steam_age.wood_plank.title": "Wood Planks", + "quests.steam_age.wood_plank.subtitle": "Untreated Plywood...?", + "quests.steam_age.wood_plank.desc": "These are the same as the Treated Planks adjacent to this quest, except you can use any wood instead of having to dunk them in creosote first.", + "quests.steam_age.organization.title": "Staying Organized", + "quests.steam_age.organization.subtitle": "You're already in the first circle of microcrafting hell", + "quests.steam_age.organization.desc": "Struggling to keep up with all the recipes and items you need? Here's a couple options which may help:\n\n&3Clipboard&r: This handy item is a portable to-do list, letting you check off items as you like.\n\n&3Crafting Blueprint&r: Keeps track of frequent recipes, letting you craft batches without having to find the recipe in JEI.\n\n&3JEI's Bookmarks&r: You can press the \"Add/Remove Bookmark\" key (default \"A\") when hovering over an item in JEI to bookmark it. You can also bookmark whole recipes by pressing this key on the output!", + "quests.steam_age.resin_boards.title": "Resin-Coated Boards", + "quests.steam_age.resin_boards.subtitle": "I guess you could say we're... bored of LaTeX?", + "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.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.", + "quests.steam_age.vacuum_tubes.title": "Electronics #3: Vacuum Tubes", + "quests.steam_age.vacuum_tubes.subtitle": "The harder component for circuits", + "quests.steam_age.vacuum_tubes.desc": "Crafting Vacuum Tubes might make you question your existence. They're very expensive right now, but they'll get cheaper in a moment - that's the general GregTech philosophy!\n\nVacuum Tubes are also technically your first Ultra Low Voltage (&8ULV&r) Circuit! Congratulations! From here you can either jump right into crafting LV Circuits, or spend some more time in Steam Age, making some other machines out of the Vacuum Tubes you just crafted.", + "quests.steam_age.resistors.title": "Electronics #1: Resistors", + "quests.steam_age.resistors.subtitle": "The more... resistant... component for circuits", + "quests.steam_age.resistors.desc": "Resistors are components that will be used to make your first Circuit.\n\nIt wouldn't be unwise to prioritise the recipes that use &aFine Wires&r, as they'll save you more materials in the long run.\n\nWires may be expensive right now, but they'll get a lot cheaper if you make the &3Coiling Machine&r down below or the &3Wiremill&r in &7LV&r.", + "quests.steam_age.coiling_machine.title": "Coiling Machine", + "quests.steam_age.coiling_machine.subtitle": "An LV Wiremill strapped to half of the LV Bender!", + "quests.steam_age.coiling_machine.desc": "The &3Coiling Machine&r is similar to a LV Wiremill, though it lacks the option to directly output different wire sizes. Still, this is a very worthwhile invesment to make your wires significantly cheaper.\n\nThis machine can also make cheaper springs, too!", + "quests.steam_age.curving_press.title": "Curving Press", + "quests.steam_age.curving_press.subtitle": "Just as niche as the LV Extruder", + "quests.steam_age.curving_press.desc": "The &3Curving Press&r can do all the same recipes as an LV Extruder. Unfortunately, neither can do very much, as the extruder is only useful once you get to MV. Still, if you find yourself wanting to craft a lot of tool heads in bulk, this machine can do it for you.", + "quests.steam_age.vibrating_table.title": "Vibrating Table", + "quests.steam_age.vibrating_table.subtitle": "Identical to the LV Sifter", + "quests.steam_age.vibrating_table.desc": "The &3Vibrating Table&r can process gem ores (including coal) in a different way, yielding much more output than anything else you have access to right now. As a bonus, it can also process any gravel ore deposits you may still have. No more sluicing!", + "quests.steam_age.lathe.title": "Belt Grinder", + "quests.steam_age.lathe.subtitle": "A joint LV Lathe and metal confetti machine", + "quests.steam_age.lathe.desc": "The &3Belt Grinder&r can automatically turn a single ingot into two rods, single bolts into screws, polish gems, and a few other things. If you're needing a lot of rods and screws, and you will be, this machine will be a good investment.", + "quests.steam_age.steel_saw.title": "Steel Mechanical Saw", + "quests.steam_age.steel_saw.subtitle": "A stonecutter and LV Cutter in one!", + "quests.steam_age.steel_saw.desc": "It's an upgrade to your Basic Mechanical Saw that can also process some metal recipes, like turning rods into four bolts, and cutting blocks into plates. These recipes will all require a fluid to work, but you can just use water for now.\n\nYou can also use this for cheaper Rubber Sheets, if you first use an Alloy Smelter to turn your pulp into a block.", + "quests.steam_age.rolling_mill.title": "Rolling Mill", + "quests.steam_age.rolling_mill.subtitle": "The other half of the LV Bender", + "quests.steam_age.rolling_mill.desc.1": "Of all the steam age machines you could make, the &3Rolling Mill&r is one of the best, for the simple reason that it makes single plates out of single ingots. It can also make thin sheets cheaper than by hand, as a bonus!", + "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.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.", + "quests.steam_age.potin.desc.2": "&l&3Lore:&r&o &dPotin Fluid Pipes&r were originally created in &9GT++&r, and were a huge power spike for players in a little pack called &4GT:NH&r. We wanted to spread some of that joy.\n\nIn the real world, &dPotin&r is an alloy used in coins, not pipes. GTCEu just gets more unrealistic by the day...", + "quests.steam_age.miner.title": "Automatic Mining", + "quests.steam_age.miner.subtitle": "The end of the cave-in age", + "quests.steam_age.miner.desc.1": "You now have access to two options to automatically mine your ores! Both of these are very slow, though, so it's a good idea to set them up, chunkload them, then go do something else instead of sitting and waiting.\n\nThe Mechanical Drill will require a contraption to dig down, breaking all stone along the way. You can also attach it to the front of a train or minecart to dig tunnels if you'd like.", + "quests.steam_age.miner.desc.2": "The Steam Miner, on the other hand, only breaks ore blocks and replaces them with cobblestone, leaving the rest of the ground intact. It can mine ores in a (small) radius, meaning it has to be moved less often than the mechanical one, but it's also a lot slower.", + "quests.steam_age.paper.title": "Paper", + "quests.steam_age.paper.subtitle": "Not from sugarcane", + "quests.steam_age.paper.desc": "If you haven't made any yet, there's three different ways to get paper without electricity.\n\n1) Craft vellum out of a hide, pumice, and an egg.\n\n2) Weave together papyrus.\n\n3) Craft it out of hardwood through a lengthy process.\n\nYou can later turn wood pulp directly into paper with fewer steps.", + "quests.steam_age.lv_circuit.title": "Your first circuit!", + "quests.steam_age.lv_circuit.subtitle": "The dawn of a new age", + "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electic machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", + "quests.steam_age.what_next.title": "What Next?", + "quests.steam_age.what_next.subtitle": "Y'know, besides \"more GregTech\"", + "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! Unfortunately, alternators convert stress into a different electricity system than the one GregTech uses, so you'll need an Energy Converter to turn it into usable LV energy.", + "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\"", + "quests.steam_age.packager.desc": "Is your chest monster starting to grow out of control? Now you have access to Create's Logistics system! Check out the &3Create Logistics&r chapter for how to get started.", + "quests.steam_age.basic_mech_press.title": "Basic Mechanical Press", + "quests.steam_age.basic_mech_press.subtitle": "Automatic Welding Machine", + "quests.steam_age.basic_mech_press.desc": "If you hate welding things over and over, this machine can do it for you. Just place the Basin over your charcoal forge, make sure your forge's temperature is at Yellow or above, and then drop your items in the Basin. Unfortunately, that's about all that the basic one can do.", + "quests.steam_age.steel_mech_press.title": "Steel Mechanical Press", + "quests.steam_age.steel_mech_press.subtitle": "Almost a Forge Hammer", + "quests.steam_age.steel_mech_press.desc.1": "The High Pressure Steam Forge Hammer is right around the corner and can do almost everything that this machine can do, but if you're desperate for some higher tier automatic welding recipes, this is your ticket.\n\nIf you're unfamiliar with the Forge Hammer, both it and the Steel Mechanical Press can crush ores (without byproducts), turn rock into cobble into gravel into sand, and crack bricks. However, only the Forge Hammer can provide a &3cheaper recipe for metal plates&r...", + "quests.steam_age.steel_mech_press.desc.2": "&l&3Lore:&r&o The Create Mechanical Press used to be a key piece of late steam age progression prior to version 0.9 of TerraFirmaGreg, because it produced plates at an even better ratio of 5 to 4. However, its implementation was actually \"20 percent of the time, you get nothing\", which caused many people to proclaim how much they loved gambling while using it.", + "quests.stone_age": "Каменный век", + "quests.stone_age.subtitle": "Скромные начинания", + "quests.stone_age.foods.title": "Hungry?", + "quests.stone_age.foods.subtitle": "Where's my easy food?", + "quests.stone_age.foods.desc": "In TerraFirmaGreg, the world is a harsh place, and one of the most important aspects of survival is being able to obtain food. Most food by itself yields little nutritional value, while others can be deadly if not cooked. Your hunger is represented by the green bar next to your health.\n\nBegin by obtaining any form of food.", + "quests.stone_age.nutrition.title": "Mechanic: Nutrition", + "quests.stone_age.nutrition.subtitle": "What do you mean I can't just eat steak?", + "quests.stone_age.nutrition.desc": "Each basic food in TerraFirmaGreg contains a nutritional value, and these nutrients are split into 5 different categories: &lGrain&r, &lFruits&r, &lVegetables&r, &lProtein&r and &lDairy&r.\n\nWhile you could eat only one kind of raw nutrient such as Protein, your overall health will be diminished, while keeping a balanced diet allows you to have much higher max health. Each 100 HP corresponds to one heart.\n\nLook at the field guide's section on \"Food and Water\" for full details.", + "quests.stone_age.cook_meat.title": "Basic Cooking", + "quests.stone_age.cook_meat.subtitle": "You don't want to die from eating raw meat, do you?", + "quests.stone_age.cook_meat.desc": "Cooking raw meat is an important step for getting protein - not only will it increase the overall shelf life of the meat, but it'll unlock even more nutrients for your demanding body.\n\nThe simplest way to cook meat is by using a Fire Pit. Look at the quest below this one to learn how to make one.", + "quests.stone_age.soup_time.title": "Soups", + "quests.stone_age.soup_time.subtitle": "Which store were you in?", + "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.tasks.1": "Any regular Sandwich", + "quests.stone_age.meals.tasks.2": "Any regular Jam Sandwich", + "quests.stone_age.garlic_bread.title": "Garlic Bread...?", + "quests.stone_age.garlic_bread.subtitle": "Are you fending off a vampire or something?", + "quests.stone_age.garlic_bread.desc": "ProTip: The quest task accepts ANY garlic bread, it doesnt need to be fresh.", + "quests.stone_age.garlic_bread.task": "1024 slices of Garlic Bread", + "quests.stone_age.find_potable_water.title": "Thirsty?", + "quests.stone_age.find_potable_water.subtitle": "Remember to drink water!", + "quests.stone_age.find_potable_water.desc": "Thirst is represented by the blue bar above your hunger. You can and will die of dehydration if you dont keep your thirst meter filled! The easiest way to have a drink is by drinking from natural ponds in the wild, by right-clicking on them with an empty hand.\nTo complete this quest, you need to drink a Potable source of water, can be regular or river water. You may need to drink multiple times so the quest completes properly\n\nYou don't have to worry about purifying water here, though Salt Water will just make you more thirsty.", + "quests.stone_age.find_potable_water.task": "Drink from a Water Source with your Hand. (Not Salty or Hot)", + "quests.stone_age.hydration.title": "Mechanic: Hydration", + "quests.stone_age.hydration.subtitle": "Yet another bar to keep full...", + "quests.stone_age.hydration.desc": "Water is an important resource, not just for staying hydrated! Setting up a base near a fresh lake or river is recommended, so you have easy access to the stuff. Other items can quench your thirst, such as certain types of food or drinks.\n\nWater won't always be available when you go exploring, however, so here are some ways to carry drinks around with you. Drinking consumes 100mB from the container.", + "quests.stone_age.leather_flask.title": "Leather Flask", + "quests.stone_age.leather_flask.subtitle": "Old Faithful", + "quests.stone_age.leather_flask.desc": "A Leather Flask is probably the second easiest portable water solution right after a Ceramic Jug. It can hold 500mb, or enough for five drinks.\n\nThe leather flask takes damage as it's used, but when broken, it can be repaired if you have leather at hand. Bladders can be obtained from larger wild animals.", + "quests.stone_age.iron_flask.title": "Iron Flask", + "quests.stone_age.iron_flask.subtitle": "Now this will be useful for a long while", + "quests.stone_age.iron_flask.desc": "The Iron Flask is an upgrade to the Leather Flask. It has much more durability than the Leather Flask and can hold enough fluid for 20 drinks.", + "quests.stone_age.water_bucket.title": "Water Bucket", + "quests.stone_age.water_bucket.subtitle": "Not as easy to get as you think", + "quests.stone_age.water_bucket.desc": "Carrying around a water source is an easy way to never run out, but is a bit cumbersome.\n\nUnfortunately, Wooden Buckets cannot be used to drink water, as they do not move source blocks, so trying to place it in the world will only create a very small puddle.", + "quests.stone_age.glass_bottles.title": "Glass Bottles", + "quests.stone_age.glass_bottles.subtitle": "Not as cool as a leather flask", + "quests.stone_age.glass_bottles.desc": "Glass bottles are just as effective as a Leather Flask, containing 500mb of water. However, blowing glass bottles won't be possible until later, once you have the ability to shape Brass.", + "quests.stone_age.water_jug.title": "Ceramic Jug", + "quests.stone_age.water_jug.subtitle": "Relatively easy water", + "quests.stone_age.water_jug.desc": "A Ceramic Jug is the earliest liquid container you can craft, but it can only hold 100mb, so you'll need to refill it after every drink.\n\nThe Jug is relatively fragile and has a random chance to break when you drink from it!", + "quests.stone_age.temperature.title": "Weather", + "quests.stone_age.temperature.subtitle": "The weather for today? Pain.", + "quests.stone_age.temperature.desc": "A new world starts in early summer, with each month lasting 8 days. Seasons will change, and with it comes in a change in temperature that will affect crops, fruit trees, bushes... and you!\n\nBody temperature is something you need to control and keep at a steady level. The small triangle between your health and hunger shows your current temperature and which way it's trending. Hold Sneak to see the exact numbers -- the left number is how wet you are, and the right number is temperature.", + "quests.stone_age.temperature.task": "Exist", + "quests.stone_age.insulation.title": "Mechanic: Body Temperature", + "quests.stone_age.insulation.subtitle": "Careful with Hypo- and Hyper-thermia.", + "quests.stone_age.insulation.desc": "Many things in the world will affect your body temperature, from direct sunlight, to being wet, to standing near fire. You must keep your temperature between 0 and 30°C or risk taking damage, indicated by a colored visual effect.\n\nThere are many ways you can reduce the effect of ambient temperature and keep your body at a stable level, and wearing &lClothes&r is one of the most effective. You can wear clothes both in your normal equipment slots or in your curios slots.", + "quests.stone_age.primitive_insulation.title": "Primitive Insulation", + "quests.stone_age.primitive_insulation.subtitle": "Caveman Chic", + "quests.stone_age.primitive_insulation.desc": "Naked and freezing? This is the easiest clothing you can craft, and though it has very low durability, it should last until you get something better.", + "quests.stone_age.furs.title": "Predator Hides", + "quests.stone_age.furs.subtitle": "Hardcore Fursuiting", + "quests.stone_age.furs.desc": "Large predatory animals drop their furs instead of normal hides, which you can either craft into insulating clothing, or scrape to get a normal hide to then turn into leather as normal.", + "quests.stone_age.wool_clothes.title": "Wool Clothes", + "quests.stone_age.wool_clothes.subtitle": "For the bitter cold", + "quests.stone_age.wool_clothes.desc": "Wool Clothes are perfect for cold climates and harsh winters. A full set of Wool Clothes is ideal to survive most winters.\n\nYou'll have to befriend (or kill) some wool producing mammal, such as a Sheep, Alpaca or Musk Ox. The Field Guide's section on Fauna lists where to find every different animal, and the Animal Husbandry section explains how to shear them.", + "quests.stone_age.insulated_leather_clothes.title": "Insulated Leather Clothes", + "quests.stone_age.insulated_leather_clothes.subtitle": "When it's getting chilly outside", + "quests.stone_age.insulated_leather_clothes.desc": "Insulated Leather Clothes are easier to make than a full set of Wool Clothes, but provide less insulation and warmth. They're still very effective for living in more temperate regions.\n\nYou'll need to kill animals to obtain their hide, and also befriend (or kill) some wool producing mammal to craft wool string, such as a Sheep, Alpaca or Musk Ox. The Field Guide's section on Fauna lists where to find every different animal, and the Animal Husbandry section explains how to shear them.", + "quests.stone_age.burlap_clothes.title": "Burlap Clothes", + "quests.stone_age.burlap_clothes.subtitle": "For when the heat is getting to you", + "quests.stone_age.burlap_clothes.desc": "Burlap is made out of Jute Fiber. Jute can grow in most warmer climates as long as its temperature and hydration needs are met.\n\nBurlap Clothes are great for hot summers or certain other hot environments, but we'll talk about that later.", + "quests.stone_age.silk_clothes.title": "Silk Clothes", + "quests.stone_age.silk_clothes.subtitle": "No Silkworms, sorry!", + "quests.stone_age.silk_clothes.desc": "Silk is made out of Spider String, which can be difficult to get large amounts of without venturing somewhere especially deep.\n\nSilk Clothes are excellent for incredibly hot environments, such as Deserts or the lower portions of The Beneath.", + "quests.stone_age.clothes.title": "Clothing", + "quests.stone_age.clothes.subtitle": "Fancy!", + "quests.stone_age.clothes.desc": "Wearing clothes are an easy way to handle extreme temperatures. Warm clothes such as Wool or Insulated Leather are great for cold environments, while Silk or Burlap are great for warm environments.", + "quests.stone_age.find_rock.title": "Find some Rocks", + "quests.stone_age.find_rock.subtitle": "Grug smash rock", + "quests.stone_age.find_rock.desc": "As you begin your journey, the first thing you'll notice is a completely changed world. You can no longer break trees with your fists, but fret not, for any caveman is not a real caveman without his stone tools!\n\nInstead of crafting a wooden pickaxe, you can just pick up rocks from the ground. Begin by collecting at least 4 rocks. You can collect rocks by breaking or right-clicking them with an empty hand.", + "quests.stone_age.rock_knapping.title": "Knapping", + "quests.stone_age.rock_knapping.subtitle": "Just like the olden days of the Paleolithic", + "quests.stone_age.rock_knapping.desc": "Rocks can be \"Knapped\", which is the process of shaping a basic material into a usable form by smacking them together. Rock Knapping requires at least two rocks, and by holding them and right-clicking the air, you'll open the Knapping interface. You can then \"chip off\" one of your rocks to create a stone tool head. All the shapes for different tools can be found in EMI and the Field Guide.\n\nThe two most important tools for the beginning of your journey are a Stone Knife and a Stone Axe, so try knapping those tool heads.", + "quests.stone_age.find_stick.title": "Find some Sticks", + "quests.stone_age.find_stick.subtitle": "You gotta handle that tool somehow", + "quests.stone_age.find_stick.desc": "Another abundant item on the ground are sticks, which have many uses! They can create tools, torches, firestarters and more.\n\nTo avoid having your inventory get clogged with different types of sticks, you can craft them into 'regular' sticks to stack them together. Later, you can bundle nine sticks into a Bunch, and the Bunch into a Bundle, which can then be used as a substitute for logs.", + "quests.stone_age.first_stone_tools.title": "Your first tools", + "quests.stone_age.first_stone_tools.subtitle": "Now you're a smart monkey", + "quests.stone_age.first_stone_tools.desc": "By Knapping your rocks into usable shapes, you can then combine them with a Stick to create your very first basic tools. You've officially entered the Stone Age!\n\nStone are enough for basic survival, but eventually you'll want to create metal tools for much better speed, durability, and tool options. The next two quests will help you collect the items you'll need.", + "quests.stone_age.stone_tools.title": "Stone Tools", + "quests.stone_age.stone_tools.subtitle": "Turns out hitting stones together is quite useful", + "quests.stone_age.stone_tools.desc": "While stone is a relatively simple and primitive material, they're what you're stuck with until you learn how to work with metals. Some other useful tools include the Javelin, which can be thrown like a vanilla Trident, and the Hoe, which allows you to farm.", + "quests.stone_age.gather_straw.title": "Gather Straw", + "quests.stone_age.gather_straw.subtitle": "You can also use a Hoe if you want", + "quests.stone_age.gather_straw.desc": "Most grasses you find in the overworld can be harvested for Straw, when broken with a Knife or Hoe. Straw has a number of uses for crafting, but you'll want at least 8 to create a Pit Kiln.\n\nStraw can also be used to create a Straw Hat for some basic sun protection, or Thatch, which can be used as a relatively simple building block with no collision.", + "quests.stone_age.gather_logs.title": "Gather Logs", + "quests.stone_age.gather_logs.subtitle": "Timber!", + "quests.stone_age.gather_logs.desc": "With your new Stone Axe, you'll be able to chop down trees. Breaking the base of a tree causes the entire tree to fall down, resulting in logs, sticks, and saplings.\n\nGather at least 10 logs -- 8 of these will be used for a Pit Kiln while the other two will be used for a Fire Pit.", + "quests.stone_age.firepit.title": "Fire Pit", + "quests.stone_age.firepit.subtitle": "Night time is coming", + "quests.stone_age.firepit.desc.1": "Now that you have some logs, its time to build your first Fire Pit! While monsters do not spawn on the surface at night, nocturnal predators will be awake and prowling around.\n\nYou'll first need to create a Firestarter, a tool that allows you to start fires.", + "quests.stone_age.firepit.desc.2": "To create your Fire Pit, throw at least one Log and up to 3 Sticks into the ground, then light the below block on fire by right-clicking-and-holding with your Firestarter. You can also add some Straw to make it easier.\n\nThe Firepit is not only a source of light and heat, but can be used to light torches and cook raw meat as well. You can keep your firepit lit by interacting with it and adding logs to the UI. If the fire dies out, simply add more logs and light it again with your Firestarter", + "quests.stone_age.find_clay.title": "Clay Sources", + "quests.stone_age.find_clay.subtitle": "You'll need a lot of this", + "quests.stone_age.find_clay.desc": "Clay is an essential part of stone age tech! Similar to knapping rocks, clay can be molded into different shapes and then fired in a Pit Kiln to create a wide variety of items. Stone Tools and Clay Ceramics will be the backbone of your survival until you learn how to work with Metals.\n\nClay is found in blobs in the ground, usually covered by grass. However, certain types of plants, known as \"Clay Indicators\" grow exclusively on clay. Check the Field Guide for what kind of indicators could grow in your climate.", + "quests.stone_age.clay.title": "Clay", + "quests.stone_age.clay.subtitle": "It's Clay!", + "quests.stone_age.clay.desc": "Gather at least 25 pieces of Clay. You'll need to make at least 5 different items to progress (see the next quests). Once you mold the clay, put them in a Pit Kiln to bake the clay into Ceramic. You can mold clay the same way to knap stone, though it takes 5 clay per item and the clay won't be lost if you misclick.", + "quests.stone_age.pit_kiln.title": "Pit Kiln", + "quests.stone_age.pit_kiln.subtitle": "Things are heating up now", + "quests.stone_age.pit_kiln.desc": "The Pit Kiln is an early game method of heating items up. We'll use it to both fire our clay items, and most importantly, melt very basic ores and create our first metal tool, a Saw.\n\nTo create a pit kiln you'll need eight pieces of Straw, eight logs, something you want to heat up, and a Firestarter. Read the Field Guide's Pit Kilns section on how to create it - it's not the same as a Fire Pit!", + "quests.stone_age.clay_products.title": "Clay Products", + "quests.stone_age.clay_products.subtitle": "I told you Clay was versatile.", + "quests.stone_age.clay_products.desc": "These are all the products you can make out of Clay. The Molds are used for metal working, the Vessels are used to hold items, and the others have uses explained in the Field Guide. Think you can knap them all?", + "quests.stone_age.make_jug.title": "Ceramic Jug", + "quests.stone_age.make_jug.subtitle": "Early Game fluid Container", + "quests.stone_age.make_jug.desc": "A Jug is the easiest to create fluid container, but it can only hold 100mB. You can also drink from it, and blow on it to make noises!", + "quests.stone_age.make_saw_mold.title": "Saw Mold", + "quests.stone_age.make_saw_mold.subtitle": "Time for your first metal tool", + "quests.stone_age.make_saw_mold.desc": "The first mold you should make out of clay is the Saw Mold. With it and some small amount of metal you can create a Saw. The Saw is an important tool, as it's required to create &lLumber&r, and with it, you'll be able to create your first &l&oWorkbench.&r", + "quests.stone_age.make_vessel.title": "Vessel", + "quests.stone_age.make_vessel.subtitle": "Useful small jars.", + "quests.stone_age.make_vessel.desc": "The Vessel can be used like a Bundle, to carry around several items in one slot, but more importantly, it's your first tool to begin working with Metals.\n\nBy interacting with the Vessel, you will open up its small inventory, where you can place ores. The Vessel's tooltip can also tell you what your ores will melt into, which is especially useful when crafting alloys!\n\nPlacing the Vessel in a Pit Kiln and heating it up allows you to &lmelt&r the metal inside.\n\nIf you're feeling adventurous, you can mix different metal types to create Alloys. Alloys require specific percentage mixtures of metals. While Copper is great immediatly, you could make your very first metal tools with Bronze instead.", + "quests.stone_age.native_ores.title": "Pebbles with ore?", + "quests.stone_age.native_ores.subtitle": "Your first metal is already available if you look for it.", + "quests.stone_age.native_ores.desc.1": "Ore veins generate differently than what you might be used to - you can't just wander into a random cave, instead you'll need to find \"Indicators\" on the surface. These can look like small rocks, dust piles, or even small crystal buds.\n\nCan't find anything that melts into Copper? Try looking for a another stone type -- different ores spawn in different rock types. Check the TFG Ores category of your Field Guide for a full list.", + "quests.stone_age.native_ores.desc.2": "Why are they called Indicators? This means that directly below, there is a big, HUGE vein with the same ore that you found on the surface. You don't have a pickaxe yet, so take note of the place where you found the Ore! It'll be very useful later on.\n\nEach one is worth about as much as a nugget, so collect as many as you can, but make sure you make a note of where you found them!", + "quests.stone_age.first_saw.title": "Metallic Saw", + "quests.stone_age.first_saw.subtitle": "Time for your first metal tool", + "quests.stone_age.first_saw.desc.1": "To begin making your Saw, add at least 144mb of ore of your desired metal to a Vessel. Afterwards, place the Vessel in a Pit Kiln and light it on fire.\n\nOnce the Pit Kiln burns out, quickly pick up your vessel while it's still hot, while holding some Wooden Tongs in your offhand, and interact with it to open the Pouring interface. Simply place the Saw Mold in the Pouring Interface's slot and watch it fill with your very first Saw Head. Afterwards, combine your Saw Head with a Stick and you'll create your Saw!", + "quests.stone_age.first_saw.desc.2": "While the easiest metal to work with is Copper, you can try your hand at the process of alloying. This quest's tasks will accept either an item made out of Copper, or a Bronze Alloy.\n\n&lBismuth Bronze&r: Copper, Bismuth and Zinc. The weakest of the bronzes, but can be the easiest to make.\n\n&lBronze&r: Copper and Tin. It's the most average of the bronzes.\n\n&lBlack Bronze&r: Copper, Gold, and Silver: The best bronze in the early game, but it's considerably more expensive.", + "quests.stone_age.first_saw.tasks.1": "A Copper or Bronze Saw Head.", + "quests.stone_age.first_saw.tasks.2": "A Copper or Bronze Saw.", + "quests.stone_age.craft_lumber.title": "Time for the Workbench", + "quests.stone_age.craft_lumber.subtitle": "3x3 crafting is within your grasp", + "quests.stone_age.craft_lumber.desc": "Combine your new Saw with a Log in your crafting grid to create Lumber. 4 Lumber can then be crafted into Planks...\n\n and once you have 4 planks, its time to make your very first Workbench.", + "quests.stone_age.workbench.title": "Workbench", + "quests.stone_age.workbench.subtitle": "This... is a Crafting Table", + "quests.stone_age.workbench.desc": "Congratulations! With your Workbench you've officially entered the Peak of the Stone Age. With it you'll be able to craft a multitude of new things with the items you've gathered so far.\n\nNow comes your main goal of the Primtive Age: proper metalworking with the Copper Anvil.\n\nSidenote: While you could gather enough materials to make 14 ingots of bronze right now, you won't be able to turn them into a bronze anvil without crafting the copper one first, sorry! At least anvils are recyclable, so you won't waste anything.", + "quests.stone_age.inventory.title": "Early Storage Options", + "quests.stone_age.inventory.subtitle": "Time to stop carrying all your junk in vessels", + "quests.stone_age.inventory.desc": "In the early game, you have 4 simple storage solutions available:\n\n&lChest&r: Chests are cheap and easy to craft, but only have 18 Slots and can't hold anything Large or bigger.\n\n&lCrate&r: Crates are single block inventories, the cheapest of which has 27 slots, but are more expensive to craft.\n\n&lSupply Cart&r: A Supply Cart has a huge size of 54 Slots and can be carried around with you, but takes up lots of space.\n\n&lLarge Vessels&r:The cheapest to craft, only requiring clay, and are ideal for food preservation. Available in a wide variety of colors too!", + "quests.stone_age.portable_storage.title": "Portable Storage?", + "quests.stone_age.portable_storage.subtitle": "Because getting your inventory filled with junk sucks", + "quests.stone_age.portable_storage.desc": "In the &lTerraFirmaGreg Tips&r chapter, there's a section that covers all your different options for Portable Storage, for expanding the number of items you can carry with you as you travel the world. In case you struggle finding the quests, they're the ones on the rightmost spoke of the tree.", + "quests.stone_age.barrels.title": "Barrels", + "quests.stone_age.barrels.subtitle": "Stephano?", + "quests.stone_age.barrels.desc": "Unlike their vanilla counterparts, Barrels here are used as Liquid Storage. Barrels are capable of storing a total of 10 Buckets of fluid, allowing for relatively simple storage of fluids.\n\nYou can also combine these fluids with other items, to create things like Leather, Glue, Mortar and more.", + "quests.stone_age.leather.title": "Leather", + "quests.stone_age.leather.subtitle": "Because of course everything has to be more complicated", + "quests.stone_age.leather.desc": "When killed, wild animals will drop raw hides. Hide cannot be used as leather directly and instead must be worked and processed first.\n\nLeather, just like Clay and Stone, can be Knapped. Knapping leather allows you to create things such as Leather Armor, Flasks, and so on.\nIf you dont want to kill animals for their leather, and live in a tropical area, you can work Pineapple into Pineapple Leather instead, which is a Leather Substitute.", + "quests.stone_age.leather_armor.title": "Leather Armor", + "quests.stone_age.leather_armor.subtitle": "Very basic protection", + "quests.stone_age.leather_armor.desc": "Leather Armor, just like its minecraft counterpart, is used as a very basic set of armor. It may not do much, but it'll protect you somewhat from the elements and provides OK resistances to Slashing damage.", + "quests.stone_age.mining_prep.title": "Mining Preparations", + "quests.stone_age.mining_prep.subtitle": "Hope you remember where you found those ore indicators!", + "quests.stone_age.mining_prep.desc.1": "Progressing beyond the stone age will require a lot of metal, and just picking up small ores on the surface won't be enough. You'll have to dig down and begin mining.\nAssuming you &odid&r mark the place where you found your copper, find the rough middle of where the indicators were and start digging! It might be pretty deep, but you'll eventually strike it rich. The next page has some equipment you'll want to bring along for your first mining trip!", + "quests.stone_age.mining_prep.desc.2": "&lPickaxe&r: Pretty obvious what this does, you'll need a way to break the stone and harvest the ore. Hammers will not work!\n\n&lLadders and Torches&r:You'll need some way to climb back up out of the hole and see what you're doing!\n\n&lSupport Beams and Planks&r: Mining in TFG is much more dangerous - not only do monsters spawn underground, but carelessly digging around can cause a cave-in! The quest above this one goes over how to mitigate dangers while mining.\n\nNow go and dig your hole, diggy diggy hole!", + "quests.stone_age.hazards.title": "Mining Hazards", + "quests.stone_age.hazards.subtitle": "Thought the surface was difficult? Think again.", + "quests.stone_age.hazards.desc.1": "Besides the monsters, the biggest challenge when mining is dealing with cave-ins. If a Raw stone or ore block has air below it, it's considered 'unsupported' and has a chance to start a cave-in every time a nearby block is mined. Cave roofs are covered with Hardened stone, which won't cause a collapse. To mitigate this, the safest thing you can do is just mine the floor, but if you want to safely mine anything else you'll have to learn how to use support beams! These are crafted with logs and a saw.", + "quests.stone_age.hazards.desc.2": "The Field Guide has more details and diagrams about how exactly support beams work, but the short version is you'll want to place them down like this within four blocks of each other. Only the top vertical beams will actually support anything, and they have a small radius.", + "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.", + "quests.stone_age.copper_for_anvil.desc": "Anvils aren't cheap! Each anvil will require 14 ingots, which are then welded into 7 double ingots.\n\nYou might want to start mining at this point if you haven't already, gathering 126 pieces of small copper is difficult.", + "quests.stone_age.get_raw_rock.title": "Raw Rock", + "quests.stone_age.get_raw_rock.subtitle": "No, it isn't just \"Stone\"", + "quests.stone_age.get_raw_rock.desc": "To create your Copper Anvil you'll need both a basic Stone Anvil and a Charcoal Forge. To make a Stone Anvil, you will need a block of Raw Igneous rock.\n\nTo obtain Raw Rock you can carefully break the blocks &laround&r the Raw Rock you want to mine. Once all 6 sides of the Raw Rock are exposed to air, it'll pop off into its Item form. Lastly, right-click a block of raw igneous rock to turn it into your Stone Anvil.", + "quests.stone_age.create_forge.title": "The Forge", + "quests.stone_age.create_forge.subtitle": "The Fabric doesnt exist by the way.", + "quests.stone_age.create_forge.desc": "The Forge is a state-of-the-art crafting station used to heat materials to high temperatures. The time it takes to heat things in the forge is considerably faster than the Pit Kiln, and is much easier to control too.\n\nTo make the forge you'll require at least 7 charcoal, and 5 rock-like blocks, such as raw rock or cobblestone.\nThe Forge does not use Logs, instead it uses Charcoal, Coal or Coke.\n\nCheck the field guide for walkthroughs on how to make a Charcoal Pit and a Charcoal Forge.", + "quests.stone_age.rock_anvil.title": "Rock Anvil", + "quests.stone_age.rock_anvil.subtitle": "This won't last long", + "quests.stone_age.rock_anvil.desc": "Anvils are the foundation of all early game metal working. To create a proper metal anvil, you'll need to weld ingots using the previous tier of Anvil. Since Copper is the first tier, you have to use a Rock Anvil to weld them. You can create a Stone Anvil by right-clicking a block of raw igneous rock with a hammer. Welding ingots is the only thing it can do, unfortunately - you'll need the metal's proper anvil to shape them into anything else.", + "quests.stone_age.quern.title": "Quern and Handstone", + "quests.stone_age.quern.subtitle": "Your first step into ore processing", + "quests.stone_age.quern.desc": "The Quern and Handstone are two big rocks grinding against each other to break down materials. The bottom piece is called a Quern while the top piece is called a Handstone. The Quern can be used to grind down your raw ores into crushed ores, yielding slightly higher mB count when smelted.\n\nYou can also use the Quern to create other powders like Flux, Flour, and Bone Meal.", + "quests.stone_age.crush_ore.title": "Early Ore Processing - Part 1", + "quests.stone_age.crush_ore.subtitle": "Getting more from your ores", + "quests.stone_age.crush_ore.desc": "The Quern is only the first step into processing your ores! Proper ore processing is a large, complex beast that you'll learn more about as you progress, and can be used to extract much more usable metal and other byproducts per each ore you mine. To start with though, we'll turn those raw ores you mined into Crushed Ore by putting it through the Quern. Just this first step is enough to increase the amount of mB your ore will melt into.", + "quests.stone_age.crush_crushed_ore.title": "Early Ore Processing - Part 2", + "quests.stone_age.crush_crushed_ore.subtitle": "Smash it with a hammer", + "quests.stone_age.crush_crushed_ore.desc": "Combine the Crushed Ore with a hammer in a crafting grid to turn it into Impure Dust, further increasing it's mB yield.\n\nThis may all be slow and tedious for now, but you'll soon unlock ways to do this faster and automatically!", + "quests.stone_age.clean_dust.title": "Early Ore Processing - Part 3", + "quests.stone_age.clean_dust.subtitle": "Wash that dirty dust", + "quests.stone_age.clean_dust.desc": "Finally, dropping Impure or Purified Dusts in some water and leaving them for a few seconds will wash them, yielding dust, which is your ore's final form. It might even be worth as much as a full ingot now!", + "quests.stone_age.flux.title": "Fluxstones", + "quests.stone_age.flux.subtitle": "It's basically metal glue", + "quests.stone_age.flux.desc": "Flux is an item that is primarily used in metal working to weld things together, though it has some other uses too.\nCertain types of Rocks such as Chalk, Limestone and Marble can be crushed down to make Flux, as well as the shells of various ocean animals.", + "quests.stone_age.weld_copper_ingots.title": "Welding Copper", + "quests.stone_age.weld_copper_ingots.subtitle": "So close to the Copper Anvil", + "quests.stone_age.weld_copper_ingots.desc": "Light up your Forge and give it at least 2 Copper Ingots. Keep an eye on their tooltip as they heat up - once they get hot, it'll show \"Can Work\", but we need to wait until they get to \"Can Weld\", which is just before their melting point.\n\nOnce they reach it, quickly pull them out of the forge (while holding some wooden tongs in your off-hand!) and into the Rock Anvil's interface, along with a little bit of flux. Lastly, right-click the anvil while sneaking to weld the two ingots together while they're still hot. You can use water or snow to cool down your new double ingot faster.", + "quests.metal_age.copper_anvil.title": "T1 Anvil: Copper", + "quests.metal_age.copper_anvil.subtitle": "It's all been building up to this!", + "quests.metal_age.copper_anvil.desc": "Congratulations! You've officially finished the Stone Age and entered the Metallurgy Age! With your Copper Anvil, the next step is to climb up the Anvil Tiers, and each time you unlock a new Tier, new tools and possibilities will be available to make your life progressively easier. Now go and become a master smith!", + "quests.tfg": "TerraFirmaGreg - Modern", + "quests.tfg.subtitle": "Добро пожаловать в TerraFirmaGreg!", + "quests.tfg.welcome.title": "Добро пожаловать в TerraFirmaGreg!", + "quests.tfg.welcome.subtitle": "Модпак выживания, каким он должен быть", + "quests.tfg.welcome.desc": "Спасибо вам за то, что начали играть в TerraFirmaGreg Modern!\n\nВ этом модпаке вам предстоит взять под свой контроль нетронутую дикую природу и превратить её в индустриальный мир чудес. Начните со скромного начала, собирая камни, и закончите путешествием по межзвёздному пространству!", + "quests.tfg.create_team.title": "Как создать команду?", + "quests.tfg.create_team.subtitle": "Вы играете с друзьями?", + "quests.tfg.create_team.desc": "Вы можете создать команду для совместного выполнения квестов. Для этого откройте инвентарь, затем в левом верхнем углу выберите кнопку, на которой нарисованы 3 цветных человечка, после чего откроется интерфейс, в котором вы можете создать команду. Нажмите §aСоздать команду§r, затем дайте ей название и, возможно, некоторые другие параметры. После успешного создания команды вы можете пригласить в неё других игроков, используя кнопку c плюсиком в зелёном кружке в правом верхнем углу. С этого момента ваши квесты будут синхронизированы, и любой член команды может их выполнить. Удачи!", + "quests.tfg.capture_territory.title": "Как занять территорию?", + "quests.tfg.capture_territory.subtitle": "И как загрузить чанки на вашей территории", + "quests.tfg.capture_territory.desc": "Если вы играете на сервере, вы, вероятно, захотите занять свою территорию, чтобы другие игроки не смогли вам помешать. Используйте клавишу \"Менеджер владений\" (по умолчанию \"Ctrl+M\"), чтобы открыть интерфейс, затем нажмите ЛКМ, чтобы занять участок, и ПКМ, чтобы отменить владение. Существует ограничение, поэтому вы не сможете занять всё. Вы можете нажать Shift+ЛКМ по участку, чтобы принудительно загрузить его (известный как \"загрузчик чанков\"), и Shift+ПКМ, чтобы отменить принудительную загрузку. Владение чанками будет включать всю вашу команду, если она у вас есть.", + "quests.tfg.field_guide.title": "Важная информация насчет квестов!", + "quests.tfg.field_guide.subtitle": "Мне нужно ещё больше читать?", + "quests.tfg.field_guide.desc": "Квесты все ещё находятся на стадии разработки, и мы постоянно работаем над их улучшением! Много информации о конкретных механиках также можно найти в вашем полевом руководстве, доступном через вкладку в виде книги в вашем инвентаре.\n\nПомните, что JEI и Полевое руководство — ваши друзья, так как не всё будет объяснено в квестах.", + "quests.tfg.books_again.title": "Снова нужна книга?", + "quests.tfg.books_again.desc": "Вот повторяющийся квест, если вы вновь захотите получить физические копии книги квестов и полевого руководства.", + "quests.tfg_tips": "Советы - Выживание", + "quests.tfg_tips.subtitle": "Советы и рекомендации, чтобы жилось чуть проще.", + "quests.tfg_tips.beginning.title": "Tips and Tricks be here!", + "quests.tfg_tips.beginning.subtitle": "Dear God that's a lot of branches...", + "quests.tfg_tips.beginning.desc": "This quest chapter gives you a lot, &o(and we do mean a lot)&r of tips on how to survive and thrive.\n\nEach quest branch representing major mods in &2TerraFirmaGreg&r, with tips to make the most out of them. None of these quests are necessary for progression, although some &omay&r be locked behind main questline tasks.", + "quests.tfg_tips.portable_storage.title": "Portable Storage Solutions", + "quests.tfg_tips.portable_storage.subtitle": "Turns out your inventory is quite small.", + "quests.tfg_tips.portable_storage.desc": "In your travels, you may explore a whole &olot&r and end up picking up a lot of junk. This quest branch provides several options for expanding your on-the-go inventory.", + "quests.tfg_tips.toolbelt.title": "Toolbelt and Pouches", + "quests.tfg_tips.toolbelt.subtitle": "Those tools sure take up a lot of space, let's fix that!", + "quests.tfg_tips.toolbelt.desc": "With a &dToolbelt&r, you'll be able to manage multiple tools without wasting inventory slots! This handy item can go into a special &3Toolbelt Slot&r in your &4Curios menu&r. You can insert and retrieve tools with a &ckeybind.&r It starts with only two slots, but more can be added by adding &aBelt Pouches&r.", + "quests.tfg_tips.maxed_out_toolbelt.title": "ALL THE TOOLS", + "quests.tfg_tips.maxed_out_toolbelt.subtitle": "That belt must be very heavy at this point...", + "quests.tfg_tips.maxed_out_toolbelt.desc": "A &dToolbelt&r can hold 7 extra Pouches, that's 9 tools in one belt!", + "quests.tfg_tips.maxed_out_toolbelt.task": "Obtain a maxed out toolbelt.", + "quests.tfg_tips.straw_basket.title": "Straw Basket", + "quests.tfg_tips.straw_basket.subtitle": "As simple as it gets", + "quests.tfg_tips.straw_basket.desc": "The &6Straw Basket&r is a simple basket that can be incredibly useful for managing your inventory before better options are available.\n\nSimply knap some straw to get your very own &6Straw Basket&r!", + "quests.tfg_tips.toolbox.title": "Toolboxes", + "quests.tfg_tips.toolbox.subtitle": "A builders dream", + "quests.tfg_tips.toolbox.desc": "The &dToolbox&r has 8 inventory slots which can each hold 4 stacks of items. Additionally, you can use a &ckeybind&r to access your placed &dToolbox&r from a few blocks away. You can even &bdye&r your &dToolbox&r to personalize it!", + "quests.tfg_tips.first_sacks.title": "Storage Sacks", + "quests.tfg_tips.first_sacks.subtitle": "A step up from vessels", + "quests.tfg_tips.first_sacks.desc": "The &6Leather Sack&r and &3Burlap Sack&r are two options for portable storage with their own pros and cons. It is a good idea to view the container info for each one to know how many &ditem slots&r, the &dstack size&r, and the max &ditem size&r for each sack.\n\n&l&3Tip:&r The &4&oField Guide&r has more specific info on some of the special features of the sacks.", + "quests.tfg_tips.special_sacks.title": "Specialized Sacks", + "quests.tfg_tips.special_sacks.subtitle": "Wait, it can hold how much?", + "quests.tfg_tips.special_sacks.desc": "The &2Seed Pouch&r and &9Ore Sack&r are two sacks that can only hold specific types of items, but make up for it with much larger &dstack sizes&r.\n\nThe &2Seed Pouch&r can hold up to &c128&r of &327&r different types of seeds.\n\nThe &9Ore Sack&r can hold up to &c512&r of &39&r different mined resources. That means it can hold items like ores, rocks, powders, and clays!", + "quests.tfg_tips.frame_pack.title": "Frame Pack", + "quests.tfg_tips.frame_pack.subtitle": "Options can be good!", + "quests.tfg_tips.frame_pack.desc": "The &5Frame Pack&r gives you &318&r slots that can each hold up to &c64&r items. The benefit of the &5Frame Pack&r is that it ignores the default stack size of the items you put into it. That means you can hold up to &c1152&r items in total!", + "quests.tfg_tips.vessels.title": "Large and Small Vessels", + "quests.tfg_tips.vessels.subtitle": "Clay can be quite useful", + "quests.tfg_tips.vessels.desc": "&dSmall Vessels&r have 4 inventory slots while &6Large Vessels&r have 9! The &dSmall Vessel&r is not just for item storage, but is also necessary for smelting and alloying basic metals.\nThe &6Large Vessel&r is heavier to carry, but is great for preserving food.\n\n&l&3Tip:&r&o Large Vessels double as early backpacks!", + "quests.tfg_tips.portable_cells.title": "Portable Item and Fluid Cells", + "quests.tfg_tips.portable_cells.subtitle": "Isn't this too advanced?", + "quests.tfg_tips.portable_cells.desc": "With &dApplied Energistics 2&r, you can create &aPortable Item&r and &bFluid Cells&r, which allow you to store large amounts of items and fluids as pure, raw data. Sadly, &dApplied Energistics 2&r is locked behind &6HV&r, so it might be a while until you can create these.", + "quests.tfg_tips.256m_portable_cells.title": "MEGA Portable Item and Fluid Cells", + "quests.tfg_tips.256m_portable_cells.subtitle": "When Kilobytes aren't enough", + "quests.tfg_tips.256m_portable_cells.desc": "With &dMEGA Cells&r, you can create cells with &lLudicrous&r data storage!\n\n&l&3Fun Fact:&r&o A single 256M Portable Item Cell can store up to one billion of a single item type! That's enough to fill over 58 thousand chests!", + "quests.tfg_tips.backpack_materials.title": "Materials for a Backpack", + "quests.tfg_tips.backpack_materials.subtitle": "Sleeping bag not included", + "quests.tfg_tips.backpack_materials.desc": "There are two options for backpacks: the &5Frame Pack&r or the &3Sophisticated Backpack&r\n\nA &5Frame Pack&r is a dense backpack allowing you to store up to &c64&r items in each slot no &omatter their standard stack size&r.\n\nA &3Sophisticated Backpack&r is the primary way to expand your portable inventory size going forward. The first tier will more than double your normal inventory, and further tiers increase it even more! It also comes with a wide variety of &afunctional upgrades&r, and different parts of it can be dyed different colors!", + "quests.tfg_tips.first_backpack.title": "Your First Backpack", + "quests.tfg_tips.first_backpack.subtitle": "No, the map won't magically appear.", + "quests.tfg_tips.first_backpack.desc": "This is your first &3Sophisticated Backpack.&r It has a total of &c36&r inventory slots and can hold &aone upgrade.&r Check the two branches after this to learn about inventory and backpack upgrades.", + "quests.tfg_tips.red_steel_backpack.title": "Red Steel Backpack", + "quests.tfg_tips.red_steel_backpack.subtitle": "Cooler than a Blue Steel Backpack", + "quests.tfg_tips.red_steel_backpack.desc": "A &4Red Steel Backpack&r is your first proper backpack inventory upgrade. It has a total slot count of &c54&r and can hold &atwo upgrades.&r", + "quests.tfg_tips.aluminium_backpack.title": "Aluminium Steel Backpack", + "quests.tfg_tips.aluminium_backpack.subtitle": "Is it Aluminum or Aluminium?", + "quests.tfg_tips.aluminium_backpack.desc": "An &bAluminium Backpack&r is your second proper backpack inventory upgrade. It has a total slot count of &c81&r and can hold &athree upgrades.&r", + "quests.tfg_tips.titanium_backpack.title": "Titanium Backpack", + "quests.tfg_tips.titanium_backpack.subtitle": "Almost Titanic.", + "quests.tfg_tips.titanium_backpack.desc": "A &5Titanium Backpack&r is your third proper backpack inventory upgrade. It has a total slot count of &c108&r and can hold &afive upgrades.&r", + "quests.tfg_tips.tungstensteel_backpack.title": "Tungstensteel Backpack", + "quests.tfg_tips.tungstensteel_backpack.subtitle": "The ultimate backpack.", + "quests.tfg_tips.tungstensteel_backpack.desc": "The &9Tungstensteel Backpack&r is the final backpack inventory upgrade. It has a whopping slot count of &c120&r and can hold &aseven upgrades!&r", + "quests.tfg_tips.backpack_upgrades.title": "Backpack Upgrades", + "quests.tfg_tips.backpack_upgrades.subtitle": "More than just a backpack", + "quests.tfg_tips.backpack_upgrades.desc": "&aBackpack Upgrades&r can be installed in your &3Sophisticated Backpacks&r, giving your backpack new abilities and utilities.\n\nYou'll need access to &bSteel&r to be able to craft these upgrade bases.", + "quests.tfg_tips.crafting_upgrade.title": "Crafting Upgrade", + "quests.tfg_tips.crafting_upgrade.subtitle": "A Workbench on the go!", + "quests.tfg_tips.crafting_upgrade.desc": "The &aCrafting Upgrade&r lets you carry a &3Workbench&r in your backpack wherever you go. You'll wonder how you lived without it!", + "quests.tfg_tips.advanced_upgrades.title": "Advanced Upgrades", + "quests.tfg_tips.advanced_upgrades.subtitle": "Upgrades but yellow", + "quests.tfg_tips.advanced_upgrades.desc": "Certain backpack upgrades have &eAdvanced Upgrade&r versions. They have more functionality, such as allowing extra filter types or being more configurable.\nTry crafting a &aFilter&r and &eAdvanced Filter&r upgrade to complete this quest.", + "quests.tfg_tips.all_backpack_upgrades.title": "ALL THE UPGRADES", + "quests.tfg_tips.all_backpack_upgrades.subtitle": "You can't even fit all of these in a single backpack...", + "quests.tfg_tips.all_backpack_upgrades.desc": "These are all the backpack upgrades &3Sophisticated Backpacks&r has to offer. Can you craft them all?", + "quests.tfg_tips.gt.title": "GregTech", + "quests.tfg_tips.gt.subtitle": "One third of the modpack's name, after all.", + "quests.tfg_tips.gt.desc": "&3GregTech&r can be quite intimidating, this quest branch should help you out.", + "quests.tfg_tips.nano_saber.title": "Nano Saber", + "quests.tfg_tips.nano_saber.subtitle": "26 Attack Damage when active!", + "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", + "quests.tfg_tips.gt_tools.title": "GregTech Tools", + "quests.tfg_tips.gt_tools.subtitle": "", + "quests.tfg_tips.gt_tools.desc": "Most &5GregTech&r tools are crafted from a &6Tool Head&r. Try using &aEMI&r to explore what you can do with them — just remember two important things:\n\n- The &ehigher the Tool Head tier&r, the more &cpowerful&r the tool will be, and the &6larger the battery&r it will use.\n- Not every tool supports every Tool Head tier. For example, the &6Chainsaw&r can only be crafted with a &7LV Tool Head&r.", + "quests.tfg_tips.magnets.title": "Item Magnets", + "quests.tfg_tips.magnets.subtitle": "", + "quests.tfg_tips.magnets.desc": "The &6Item Magnet&r is exactly what you'd expect — a magnet that pulls nearby &6items&r straight to you. &aVery useful&r. What more could you ask for?", + "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraft Addons", + "quests.tfg_tips.terrafirmacraft.subtitle": "The other two thirds of the modpack's name", + "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&r is one of the main mods in &2TerraFirmaGreg.&r This branch mostly focuses on some of its survival features and other &dAdd-Ons&r the modpack has, such as &4Aged Alcohol&r and &bCanes.&r", + "quests.tfg_tips.cane.title": "Walking Canes", + "quests.tfg_tips.cane.subtitle": "You can even whack people with them!", + "quests.tfg_tips.cane.desc": "A &dWalking Cane&r allows you to completely ignore any block that slows your movement, such as &asnow&r, as long as you're carrying it in your &cmain&r or &coff-hand.&r\n\nAs a bonus, it &bincreases step height&r, which allows you to walk up one block without jumping. The &dIron Cane&r has extra step height that allows you to easily step over fences!", + "quests.tfg_tips.cane.task": "Any Cane", + "quests.tfg_tips.hiking.title": "Hiking Boots", + "quests.tfg_tips.hiking.subtitle": "&oThese boots are made for walking", + "quests.tfg_tips.hiking.desc": "&dHiking Boots&r allow you to more easily explore your world! All &dHiking Boots&r allow you to pass through tall grass without resistance. Additionally, each tier of &dHiking Boots&r have progressively more &9armor&r, &9walk speed&r, and &9fall resistance&r along with other boosts.", + "quests.tfg_tips.hiking.task": "Any Hiking Boots", + "quests.tfg_tips.glassblowing.title": "Glassblowing", + "quests.tfg_tips.glassblowing.subtitle": "Realistic Glassworking!", + "quests.tfg_tips.glassblowing.desc": "To make any sort of &dGlass Pane&r or &dBlock&r, you'll need a &3glassblowing&r setup.\n\n&3Glassblowing&r will require some sort of &aBlowpipe&r, and a platform made out of glassblowing blocks to pour the molten glass. Check out the &2Field Guide&r for more information on the shape of the platform and what blocks are valid. You'll have access to glassblowing as soon as you can shape &aBrass!&r", + "quests.tfg_tips.glassblowing.task.1": "Any glassblowing blocks.", + "quests.tfg_tips.glassblowing_tools.title": "Glassblowing Tools", + "quests.tfg_tips.glassblowing_tools.subtitle": "Tools of the Trade", + "quests.tfg_tips.glassblowing_tools.desc": "To work &dGlass&r you'll need a variety of tools.\n\n&3Paddle&r: Performs flatten, mainly used for creating &dGlass Panes&r and &dLamp Glass.&r\n&3Gem Saw&r: Besides being mandatory for making glass products, it can be used to pick up &dGlass&r and &cGem Buds&r in-world as well, like a &bSilk Touch&r effect!\n&3Jacks&r: Used to pinch glass, mostly used for containers such as &dGlass Bottles.&r\n&3Wool Cloth&r: Used for rolling glass, needed for &dLenses&r and &dJars.&r", + "quests.tfg_tips.glass_blocks.title": "Glass Blocks", + "quests.tfg_tips.glass_blocks.subtitle": "Get yourself some windows.", + "quests.tfg_tips.glass_blocks.desc": "Depending on the type of sand used for the &aGlass Batch&r, your final &dGlass&r will have different colors. Check out the &2Field Guide&r section on &3Glassblowing&r to learn other ways to make specific colors. Later on, you'll be able to use &3GregTech&r chemicals to dye glass more easily.\n\n&3&lTip:&r&o If you're looking to make a lot of Glass Blocks and have access to an &bAlloy Smelter&f, it's more efficient to make &dGlass Panes&f, &bmacerating&f them, crafting into &dDust&f and then using the &aBlock Mold&f, since one batch can make up to 16 Small Dusts at a time!", + "quests.tfg_tips.lamps.title": "Lamps", + "quests.tfg_tips.lamps.subtitle": "These are pretty.", + "quests.tfg_tips.lamps.desc": "Just like in regular Minecraft, &dLamps&r can be hung from the ceiling with the help of chains or placed on top of blocks. &dLamps&r consume different kinds of fuels to keep themselves lit. Some fuels can last &4indefinitely.&r\n\n &3&lTip:&r&o Filled lamps can be placed in the &6Back&f slot of the &cCurios Menu&f to provide hands free dynamic lighting. This may not work if you have shaders on.", + "quests.tfg_tips.creosote.title": "Lamp Fuel: Creosote", + "quests.tfg_tips.creosote.subtitle": "If you have a bunch of it lying around...", + "quests.tfg_tips.creosote.desc": "&dCreosote&r can be used as a lamp fuel, but a full lamp of the stuff only lasts for &c10&r days.", + "quests.tfg_tips.creosote.task": "A Bucket of Creosote", + "quests.tfg_tips.tallow.title": "Lamp Fuel: Tallow", + "quests.tfg_tips.tallow.subtitle": "Animal Fat", + "quests.tfg_tips.tallow.desc": "&dTallow&r can be used as lamp fuel. A full lamp of it will last &c18&r days.", + "quests.tfg_tips.tallow.task": "A Bucket of Tallow", + "quests.tfg_tips.olive_oil.title": "Lamp Fuel: Olive Oil", + "quests.tfg_tips.olive_oil.subtitle": "Lilbito'liveoil", + "quests.tfg_tips.olive_oil.desc": "&dOlive Oil&r can be used as lamp fuel, and while it is more difficult to craft than other fuels, a full lamp of it lasts for a whopping &c83&r days!\n\n&3&lTip:&r&o Access to electric machines even at &7LV&f will make the processing less painful.", + "quests.tfg_tips.olive_oil.task": "A Bucket of Olive Oil", + "quests.tfg_tips.lava_lamp.title": "Lamp Fuel: Lava?", + "quests.tfg_tips.lava_lamp.subtitle": "Not as mesmerizing as the real deal", + "quests.tfg_tips.lava_lamp.desc": "With the very heat resistant metal &9Blue Steel&r, you can create a &dBlue Steel Lamp.&r It can be filled with &cLava&r, giving you an indefinite source of light at the cost of being limited to a single lamp metal.\n\nCareful handling a filled lava lamp, it's very &chot...&r", + "quests.tfg_tips.glowstone_lamp.title": "Lamp Fuel: Glowstone", + "quests.tfg_tips.glowstone_lamp.subtitle": "The best lamp fuel", + "quests.tfg_tips.glowstone_lamp.desc": "You'll need access to at least &7LV&r electricity in order to liquefy &dGlowstone&r, but if you like the look of &lany&r lamp, you can use &6Liquid Glowstone&r to fuel them indefinitely. Unlike &cLava&r, this isn't hot!", + "quests.tfg_tips.charcoal_pile.title": "Charcoal Pile", + "quests.tfg_tips.charcoal_pile.subtitle": "You're going to need this", + "quests.tfg_tips.charcoal_pile.desc.1": "&aCharcoal Piles&r are the early game source for &dCharcoal.&r You're going to need &oa lot&r of it if you want to succeed in &2TFG&r, as charcoal is key for &3Metalworking&r and smelting &3Blooms&r for &bWrought Iron&r.\n\nBegin by digging down a pit.", + "quests.tfg_tips.charcoal_pile.desc.2": "After creating your pit, place logs of your choice while &csneaking&r, this will place &2log piles&r in your pit. The more logs you place in a log pile the more &dCharcoal&r is created.", + "quests.tfg_tips.charcoal_pile.desc.3": "After placing your &2log piles&r, cover them with blocks, leaving &oone uncovered.&r Set fire to this uncovered one using a &dFire Starter&r, dropped &eTorch&r or &4Flint and Steel.&r Wait for large smoke particles to appear from the covering blocks and &cseal&r the uncovered one. Once the smoke particles cease to emit, remove the covering and harvest your &dCharcoal&r, preferably with a &aShovel&r or &aSpade.&r", + "quests.tfg_tips.charcoal_pile.desc.4": "&3&lPro Tip:&r&o You may want to invest in a &3Coke Oven&f early on. Not only can it produce &aCharcoal&f from logs at a &cbetter ratio&f, it makes &aCreosote&f as a byproduct, a useful fuel for lamps and steam power, and &aCoke&f for &dSteel&f production.", + "quests.tfg_tips.thatch_bed.title": "Thatch Bed", + "quests.tfg_tips.thatch_bed.subtitle": "A place to rest... somewhat", + "quests.tfg_tips.thatch_bed.desc": "Utilizing some &bThatch&r and a &aLarge Raw Hide&r, you can create a &dThatch Bed.&r It cannot be used to sleep in, but it'll &cset your spawn point.&r\n\nTo create a Thatch Bed, place &btwo thatch blocks&r side by side, then interact with the blocks while holding the &aLarge Raw Hide.&r", + "quests.tasktype.looktat": "Look at a completed Thatch Bed", + "quests.tfg_tips.loom.title": "Loom", + "quests.tfg_tips.loom.subtitle": "You'll need to work harder if you want to sleep...", + "quests.tfg_tips.loom.desc": "To make a better bed, you'll need to create some textiles. The &3Loom&r is the work-station of choice for doing this, as it allows you to create different textiles that each have different uses.", + "quests.tfg_tips.burlap_cloth.title": "Burlap Cloth", + "quests.tfg_tips.burlap_cloth.subtitle": "Made out of Jute!", + "quests.tfg_tips.burlap_cloth.desc": "By soaking some &aJute&r in a barrel, and working the resulting &aJute Fibers&r in the &3Loom&r, you can create &dBurlap Cloth.&r\n\nBurlap Cloth has a number of uses, such as creating &bBurlap Clothes&r that protect against &chot environments&r, &eBeekeeper Armor&r that protects from angry bees, and a number of other utility items.", + "quests.tfg_tips.pineapple_leather.title": "Pineapple Leather", + "quests.tfg_tips.pineapple_leather.subtitle": "Who lives in a Pineapple Under the Sea?", + "quests.tfg_tips.pineapple_leather.desc": "By obtaining some &aPineapple Fibers&r, &bspindling&r them into &aPineapple Yarn&r, and working the yarn in the &3Loom&r, you get &dPineapple Leather&r, an eco-friendly alternative for &bleather knapping recipes.&r", + "quests.tfg_tips.wool_cloth.title": "Wool Cloth", + "quests.tfg_tips.wool_cloth.subtitle": "Baaa...", + "quests.tfg_tips.wool_cloth.desc": "By shearing some friendly &2wool-producing&r livestock, you can spindle the resulting wool into &dWool Yarn.&r Working the yarn in a &3Loom&r gives you &dWool Cloth.&r\n\nBesides uses in &bGlassworking&r, it can be used to create &aWool Clothes&r, perfect for &bcold&r, bitter environments.\n\nWool is considered a &bHigh Quality Cloth.&r", + "quests.tfg_tips.silk_cloth.title": "Silk Cloth", + "quests.tfg_tips.silk_cloth.subtitle": "Very, Very Smooth.", + "quests.tfg_tips.silk_cloth.desc": "&dSilk Cloth&r can be created using &aString&r from killing &bSpiders&r or via &bPolycaprolactam (aka Nylon) Ingots&r. No silkworms exist yet, sorry! The dangerous &cWebbed Lair&r biome in &4The Beneath&r is another, albeit dangerous, source.\n\nSilk Cloth can be used to create &aSilk Clothes&r, which are the best at protecting you against &chot&r environments.\n\nSilk Cloth is considered a &bHigh Quality Cloth.&r", + "quests.tfg_tips.phantom_silk.title": "Phantom Silk", + "quests.tfg_tips.phantom_silk.subtitle": "Everyone's favourite mob vote winner", + "quests.tfg_tips.phantom_silk.desc": "&dPhantom Silk&r is weaved from Phantom Thread, which itself is crafted from Phantom Membrane. You can find &aPhantoms&r in the &4Beneath&r.", + "quests.tfg_tips.unrefined_paper.title": "Unrefined Paper", + "quests.tfg_tips.unrefined_paper.subtitle": "Time to make some history.", + "quests.tfg_tips.unrefined_paper.desc": "&aUnrefined Paper&r is one step away from becoming real, usable &dPaper.&r There are a lot of ways to go about crafting paper, some could be easier to do while others can be considerably more difficult depending on resource availability. Check the &bPapermaking&r entry on your &2Field Guide!&r", + "quests.tfg_tips.bed.title": "Beds", + "quests.tfg_tips.bed.subtitle": "Rest your weary soul.", + "quests.tfg_tips.bed.desc": "Utilizing a &bHigh Quality Cloth&r, such as &aWool&r or &aSilk Cloth&r, you can create your very own &dBed.&r Unlike the &2Thatch Bed&r, a real &dBed&r is comfortable enough to sleep through the night. Sweet Dreams!", + "quests.tfg_tips.sleeping_bags.title": "Sleeping Bags", + "quests.tfg_tips.sleeping_bags.subtitle": "Slumber Party!", + "quests.tfg_tips.sleeping_bags.desc": "A &dSleeping Bag&r is an item you can use to &bsleep through a night.&r Unlike beds, a sleeping bag &owon't&r set your &cSpawn Point.&r", + "quests.tfg_tips.hammocks.title": "Hammocks", + "quests.tfg_tips.hammocks.subtitle": "Perfect for Night Owls", + "quests.tfg_tips.hammocks.desc": "A &dHammock&r does the exact opposite as a &2Sleeping Bag.&r It allows you to sleep your way through daytime. Perfect for those long barrel recipes or charcoal piles.\nMuch like &2Sleeping Bags&r, they &owon't&r set your &cSpawn Point.&r", + "quests.tfg_tips.panning.title": "Panning", + "quests.tfg_tips.panning.subtitle": "Re-experience the gold rush!", + "quests.tfg_tips.panning.desc": "Along riverbeds, you may notice gravel with slight specks of minerals, known as &aNative Ore Deposits.&r By right-clicking one with a &bPan&r, you'll be able to process this ore deposit into &dsmall pieces of native ores.&r These can come in pinch when you're missing a few millibuckets to fill a mold.", + "quests.tfg_tips.sluice.title": "Sluices", + "quests.tfg_tips.sluice.subtitle": "Panning on Steroids", + "quests.tfg_tips.sluice.desc": "A &3Sluice&r can be used to process those àl deposits&r in a faster, slightly automated way. In addition, sluices can produce additional &drare outputs&r, check the &2Field Guide&r entry for more information!", + "quests.tfg_tips.status_effects.title": "Status Effects", + "quests.tfg_tips.status_effects.subtitle": "No more drinking weird potions.", + "quests.tfg_tips.status_effects.desc": "While potion brewing is not accessible, you can make other consumable items to obtain status effects.", + "quests.tfg_tips.aged_alcohol.title": "Aged Alcohols", + "quests.tfg_tips.aged_alcohol.subtitle": "Drink in moderation...", + "quests.tfg_tips.aged_alcohol.desc": "&3Aging alcoholic beverages&r in &abarrels&r for long periods of time increases potency, resulting in &dAged Alcohols&r. Drinking them via bottles or flasks will grant useful status effects depending on which alcohol was used, such as &bRegeneration&r, &bResistance&r or &bAbsorption.&r These effects are especially useful for exploration", + "quests.tfg_tips.aged_alcohol.task": "Any Aged Alcohol", + "quests.tfg_tips.pills.title": "Medicine: Pills", + "quests.tfg_tips.pills.subtitle": "Pills here!", + "quests.tfg_tips.pills.desc": "Mixing &aWax&r, some &bSpring Water&r and some unique ingredients will grant you &dPills!&r Pills give a myriad of different status effects, some good, some bad.\n\n&3&lTip:&r&o Using a &bMechanical Mixer&f or &bGT Mixer&f will double yield!", + "quests.tfg_tips.pills.task": "Any Effect Pill", + "quests.tfg_tips.tablets.title": "Medicine: Tablets", + "quests.tfg_tips.tablets.subtitle": "Tablets here...?", + "quests.tfg_tips.tablets.desc": "While more difficult to craft than regular pills, requiring either the &3Greate Mechanical Mixer&r or the &3GT Mixer&r, &dTablets&r last considerably longer.", + "quests.tfg_tips.tablets.task": "Any Tablet", + "quests.tfg_tips.salvo.title": "Medicine: Salves", + "quests.tfg_tips.salvo.subtitle": "Apply directly to the forehead", + "quests.tfg_tips.salvo.desc": "A &dSalve&r is another type of medicine, usually applied on the skin. These provide a different set of effects compared to &aPills&r and &aTablets&r, such as &cFire Resistance&r and &4Instant Health&r, but require relatively complex chemistry.", + "quests.tfg_tips.salvo.task": "Any Salve", + "quests.tfg_tips.misc.title": "Misc Tips", + "quests.tfg_tips.misc.subtitle": "Even more tips!", + "quests.tfg_tips.misc.desc": "These are miscellaneous tips, they don't fit in the other categories but are still useful to know about.", + "quests.tfg_tips.digger_helmet.title": "Digger Helmet", + "quests.tfg_tips.digger_helmet.subtitle": "For when you mine all day long", + "quests.tfg_tips.digger_helmet.desc.1": "The &dDigger Helmet&r is a helmet you can wear that will automatically light up your surroundings, hands-free! Useful if your main hand is occupied and your off-hand is equipped with a shield. It will require a bit of &6Glowstone&r to craft. Maybe you can reach to &4The Beneath&r for some early game access...", + "quests.tfg_tips.digger_helmet.desc.2": "&l&3Important:&r&l The &dDigger Helmet&f itself works thanks to a specific setting of &cSodium Dynamic Lights&f, you'll have to toggle on &b\"Dynamic Entity Lighting\"&f for it to work properly", + "quests.tfg_tips.grappling_hook.title": "Grappling Hook", + "quests.tfg_tips.grappling_hook.subtitle": "This is going to end poorly", + "quests.tfg_tips.grappling_hook.desc": "By combining 2 pieces of &aRope Coil&r and a &bWrought Iron Pickaxe Head&r, you can create a &dGrappling Hook!&r An ideal tool for scaling big mountains, exploring large caves and traversing the world. It contains an &eupgrade system&r that allows you to combine and modify your &dHook&r to your leisure.", + "quests.tfg_tips.grapple_repair.title": "Grappling Hook Warnings", + "quests.tfg_tips.grapple_repair.subtitle": "READ ME, OR YOU MAY REGRET IT LATER!", + "quests.tfg_tips.grapple_repair.desc": "All your &dGrappling Hook&r &aupgrades&r are stored as NBT Data inside the item. This means trying to repair your hook using &canother&r Grappling Hook &l&cWILL destroy all your upgrades!&r\n\nInstead, you should place your &dGrappling Hook&r and some &bWrought Iron Dust&r in a &3Workbench&r to repair it.\n\nAlso, don't use your Grappling Hook when traveling between the Overworld and Beneath, it's rather deadly.", + "quests.tfg_tips.grapple_upgrades.title": "Upgrading your Grappling Hook", + "quests.tfg_tips.grapple_upgrades.subtitle": "Balanced around TFG, of course!", + "quests.tfg_tips.grapple_upgrades.desc.1": "Upgrading your &dGrappling Hook&r consists of adding or removing items to it via the &3Workbench&r.&r\n\nTo see all the upgrades you can apply to your &dGrappling Hook&r, you can press the \"Usage\" key in &2EMI.&r\nEach of the custom recipes will contain text describing what changes are being applied.", + "quests.tfg_tips.grapple_upgrades.desc.2": "Upgrades can be removed by crafting the &dGrappling Hook&r with a &bHammer&r and the &aitem you used to upgrade&r it with (it won't be consumed). The craft will return the &dHook&r with the upgrade removed and the item used to upgrade it in the first place, therefore you get two items back! This process of downgrading is default behaviour for all upgrades unless stated otherwise in the respective upgrade quest.\n\n&lUpgrades cannot be overriden, if you want to upgrade from an &7LV&f motor to an &bMV&f motor, you need to remove the &7LV&f motor upgrade first.", + "quests.tfg_tips.grapple_length.title": "Grappling Hook Upgrade: Length", + "quests.tfg_tips.grapple_length.subtitle": "Long Boy", + "quests.tfg_tips.grapple_length.desc": "By default, your &dGrappling Hook&r has &b80 blocks in length&r, you can add &c20 more&r by adding more &aRope Coils.&r 200 blocks is the maximum.\n\nLength can be &3decreased&r by crafting with a &aKnife&r, &2reducing it by 20&r, down to a minimum of 20.", + "quests.tfg_tips.grapple_motor.title": "Grappling Hook Upgrade: Motor", + "quests.tfg_tips.grapple_motor.subtitle": "That lazy, huh?", + "quests.tfg_tips.grapple_motor.desc": "The &aMotor Upgrade&r enables automatic reeling in with your &dHook.&r Caution should be taken as &chigh level motors&r may cause you to take &4fall damage&r from the reeling force.\n\nMotors are tiered according to &2GregTech&r voltage tiers. The crafting recipes tells you exactly what stats were modified and by how much.", + "quests.tfg_tips.grapple_smart_motor.title": "Grappling Hook Upgrade: Smart Motor", + "quests.tfg_tips.grapple_smart_motor.subtitle": "Does anyone even know what this does?", + "quests.tfg_tips.grapple_smart_motor.desc": "The &aSmart Motor Upgrade&r enables the &3Smart Motor system&r. It requires a &bMotor Upgrade&r to be installed first.", + "quests.tfg_tips.grapple_field.title": "Grappling Hook Upgrade: Repulsion Field", + "quests.tfg_tips.grapple_field.subtitle": "Look ma! I'm levitating!", + "quests.tfg_tips.grapple_field.desc": "The &aRepulsion Field Upgrade&r causes you to be repelled from nearby blocks. Caution should be taken as &chigh level repulsion strength&r may cause you to take &4fall damage.&r\n\nRepulsion Fields are tiered according &2GregTech&r voltage tiers. The crafting recipe tells you exactly what stats were modified and by how much.", + "quests.tfg_tips.grapple_magnet.title": "Grappling Hook Upgrade: Hook Magnet", + "quests.tfg_tips.grapple_magnet.subtitle": "Intense Attraction", + "quests.tfg_tips.grapple_magnet.desc": "The &aMagnet Upgrade&r causes your &dHook&r to be attracted to any nearby blocks, latching onto them.\n\nMagnet Upgrades are tiered using &2GregTech's&r Magnetic Ingots, with the worst one being &bMagnetic Iron&r and the best being &bMagnetic Samarium.&r", + "quests.tfg_tips.grapple_magnet.task": "Any Magnetic Ingot", + "quests.tfg_tips.grapple_sticky.title": "Grappling Hook Upgrade: Sticky Rope", + "quests.tfg_tips.grapple_sticky.subtitle": "Sticky!", + "quests.tfg_tips.grapple_sticky.desc": "The &aSticky Upgrade&r causes your &dHook&r to be attached to any rope piece touching a block.", + "quests.tfg_tips.grapple_throw_speed.title": "Grappling Hook Upgrade: Throw Speed", + "quests.tfg_tips.grapple_throw_speed.subtitle": "Yeet!", + "quests.tfg_tips.grapple_throw_speed.desc": "The &aThrow Speed Upgrade&r causes your &dHook&r to launch faster.\n\nThrow Speed upgrades are tiered according &2GregTech&r voltage tiers. The crafting recipe tells you exactly what stats were modified and by how much.", + "quests.tfg_tips.grapple_double.title": "Grappling Hook Upgrade: Double Hook", + "quests.tfg_tips.grapple_double.subtitle": "Double the Fun!", + "quests.tfg_tips.grapple_double.desc": "The &aDouble Hook Upgrade&r causes you to throw &dtwo Grappling Hooks&r at an angle. You can specify key binds to throw each hook separately.", + "quests.tfg_tips.grapple_gravity_50.title": "Grappling Hook Upgrade: 0.5 Gravity", + "quests.tfg_tips.grapple_gravity_50.subtitle": "Does this even make sense?", + "quests.tfg_tips.grapple_gravity_50.desc": "The &a0.5 Gravity Upgrade&r causes your hook to halve how much it's affected by gravity!\n\nInstead of using another &dHelium Bucket&r to remove the upgrade, use an &cEmpty Bucket instead.&r It will fill with the &eHelium&r you initially used.", + "quests.tfg_tips.grapple_gravity_0.title": "Grappling Hook Upgrade: ZERO gravity", + "quests.tfg_tips.grapple_gravity_0.subtitle": "Kinda Expensive", + "quests.tfg_tips.grapple_gravity_0.desc": "The &aZERO Gravity Upgrade&r, as the name implies, causes your hook to have NO gravity.\n\nInstead of using another Gravitation Engine Module &cto remove the upgrade&r, use a &dTungsten Block instead.&r", + "quests.tfg_tips.grapple_tweaks.title": "Grappling Hook Upgrade: Tweaks", + "quests.tfg_tips.grapple_tweaks.subtitle": "Tweaking your Angles", + "quests.tfg_tips.grapple_tweaks.desc": "Using a &aWrench&r, you can tweak the &bUpwards Angle&r when you throw the &dHook&r, while the &aScrewdriver&r is used to tweak the &bHorizontal Angle&r of the &aDouble Hook Upgrade.&r", + "quests.tfg_tips.chalk.title": "Chalk", + "quests.tfg_tips.chalk.subtitle": "You don't want to get lost, do you?", + "quests.tfg_tips.chalk.desc": "&dChalk&r can be used to draw different symbols on blocks. They are very useful to mark important locations while &bcave exploring.&r\n\nA &3Chalk Box&r can store multiple chalk pieces in a single inventory slot. Not only that, you can add some sort of glowing item (such as &6Glowstone&r) to make your chalk doodles glow in the dark!", + "quests.tfg_tips.tape_measure.title": "Tape Measure", + "quests.tfg_tips.tape_measure.subtitle": "Stop manually counting your block spaces", + "quests.tfg_tips.tape_measure.desc": "You can use a &dTape Measure&r to measure a perimeter or length, especially useful when building large projects. Simply interact with a block while holding the &dTape Measure&r to begin measuring. To stop, right-click another block while holding the Tape Measure.", + "quests.tfg_tips.blank_disc.title": "Etched: Listen to Music", + "quests.tfg_tips.blank_disc.subtitle": "Listen to your tunes while Gregging all over the place.", + "quests.tfg_tips.blank_disc.desc": "&2Etched&r is a music player mod that allows you to play music discs in new ways, including &dcustom discs&r that play any song you want (as long as it's in Bandcamp, Soundcloud) as well as &ain-game sounds&r via sound events.\n\nTo begin your journey with &2Etched&r, craft a &bBlank Music Disc.&r", + "quests.tfg_tips.radio.title": "Radio", + "quests.tfg_tips.radio.subtitle": "Stream your music without discs", + "quests.tfg_tips.radio.desc": "The &dRadio&r allows you to query up any song you want. Right-click it and then type out your desired song, such as a URL or a Minecraft sound event.", + "quests.tfg_tips.dye_discs.title": "The Classics", + "quests.tfg_tips.dye_discs.subtitle": "These will never go old...", + "quests.tfg_tips.dye_discs.desc": "By dipping a &bBlank Disc&r in a &aBarrel&r filled with dye, you can create the vanilla in-game discs. Enjoy classics such as &dWait, 13&r and &dBlocks!&r", + "quests.tfg_tips.dye_discs.task": "Any Classic Disc", + "quests.tfg_tips.special_discs.title": "The Uniques", + "quests.tfg_tips.special_discs.subtitle": "These are unique... Or they where, at least", + "quests.tfg_tips.special_discs.desc": "You can also craft &dUnique Discs&r if you want...", + "quests.tfg_tips.disc_collector.title": "Disc Collector", + "quests.tfg_tips.disc_collector.subtitle": "A full collection", + "quests.tfg_tips.disc_collector.desc": "Can you craft all the music discs?\n\nSince you're here, there are 2 hidden quests related to music discs. One is quite &csuspicious&r and the other might require you to channel your inner dwarf, good luck!", + "quests.tfg_tips.amogus.title": "AMONGUS", + "quests.tfg_tips.amogus.subtitle": "SUSSY BAKA!", + "quests.tfg_tips.amogus.desc": "Congratulations for unlocking this hidden, abhorrent quest. May your venting never be spotted.", + "quests.tfg_tips.label_album.title": "Labels and Albums", + "quests.tfg_tips.label_album.subtitle": "Labels for your Discs, and Album Covers to protect them", + "quests.tfg_tips.label_album.desc": "To &betch&r your first disc, you'll need a &dLabel.&r These, much like blank discs, can be dyed.\n\n&dAlbum Covers&r are used to cover your etched discs. If your etched disc pulls data from a site like &cSoundcloud&r, the song's icon will be compressed into a 16x16 texture! To store a disc, open your inventory, select your album cover, and right-click the music disc you want to store. You can also store regular discs.", + "quests.tfg_tips.etching_disc.title": "Etching your first disc", + "quests.tfg_tips.etching_disc.subtitle": "Time for your first tunes", + "quests.tfg_tips.etching_disc.desc": "You're going to need the &3Etching Table&r to start &betching.&r Right-clicking the table will open the etching interface and by providing a &aBlank Disc&r with a &aMusic Label&r, and a valid sound source on the top bar, your disc will be ready.\n\nSound sources include things like &bBandcamp/Soundcloud URLs&r (which can point to a single or an album), &din-game sound events&r, and file paths to &c.ogg/.wav/.mp3 files&r on your drive.\n\nTo complete this quest, etch any disc.", + "quests.tfg_tips.disc_players.title": "Disc Players", + "quests.tfg_tips.disc_players.subtitle": "To play your discs of course!", + "quests.tfg_tips.disc_players.desc": "You can use a regular &3JukeBox&r to play music, however you can also craft these following two items:\n\n&dAlbum Jukebox&r: allows you to put multiple discs inside and &bcycle across them&r, perfect to have in your base.\n\n&dBoombox&r: lets you carry your music on the go.", + "quests.tfg_tips.disc_players.task": "Obtain an Album Jukebox or a Boombox", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.title": "I AM A DWARF AND I'M DIGGING A HOLE", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.subtitle": "DIGGY DIGGY HOLE, DIGGY DIGGY HOLE!", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.desc": "Congratulations for unlocking this hidden, awesome quest. May your mines never collapse and great loot be underground!", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.task": "A Diggy Diggy Hole Disc", + "quests.tfg_tips.camera.title": "Exposure: Capture your Memories", + "quests.tfg_tips.camera.subtitle": "Take pictures of your world", + "quests.tfg_tips.camera.desc": "&2Exposure&r is a mod that adds realistic picture processing into the game. Start by creating your &bCamera&r and &aFilm Rolls&r, and then develop your pictures!. It has complex systems such as color correction, filters and more.", + "quests.tfg_tips.selfie.title": "Selfies", + "quests.tfg_tips.selfie.subtitle": "For the 'gram!", + "quests.tfg_tips.selfie.desc": "With your &bCamera&r open, you can press F5 to enable &bSelfie Mode&r, which as the name suggests, allows you to take selfies.", + "quests.tfg_tips.camera_attachments.title": "Camera Attachments", + "quests.tfg_tips.camera_attachments.subtitle": "Improve your Camera", + "quests.tfg_tips.camera_attachments.desc": "By interacting with the &dCamera&r while sneaking, you'll open the camera GUI. This not only allows you to place your desired &aFilm Roll&r, it allows you to attach addons to your camera with new functionalities.\n\n&dRedstone Lamp&r: Works as a flashlight, illuminating dark environments.\n&dSpyglass&r: Enables zooming, letting you take pictures of objects far away.", + "quests.tfg_tips.camera_attachments.task": "A Redstone Lamp or a Spyglass", + "quests.tfg_tips.filters.title": "Color Filters", + "quests.tfg_tips.filters.subtitle": "Changing the look of your photos.", + "quests.tfg_tips.filters.desc": "Using a &aGlass Pane&r, you can apply a &dFilter&r to a picture. Simply open your camera GUI and assign it to the camera filter slot. With &dFilters&r you can change the overall color composition of your pictures. For instance, you can make a picture look extra cold by applying a &3Cyan&r or &bLight Blue&r filter to it.", + "quests.tfg_tips.filter.task": "Any Glass Pane", + "quests.tfg_tips.interplanar_projector.title": "Interplanar Projector", + "quests.tfg_tips.interplanar_projector.subtitle": "This doesn't look realistic...?", + "quests.tfg_tips.interplanar_projector.desc": "The &dInterplanar Projector&r is a special filter that allows you to take pictures of things &coutside&r of the Minecraft world\n\nYou can rename the &aLens&r in a &3Scribing Table&r with a name that points either to an image on your &bDrive&r or a &bWeb Image.&r Placing the lens on your &aCamera&r and taking a picture should give you that external image.", + "quests.tfg_tips.film_rolls.title": "Film Rolls", + "quests.tfg_tips.film_rolls.subtitle": "It's not Digital", + "quests.tfg_tips.film_rolls.desc": "To begin taking pictures you'll need to craft one of two kinds of film roll: &0Black and White Film&r, and &dColored Film.&r", + "quests.tfg_tips.developing_film.title": "Developing Films", + "quests.tfg_tips.developing_film.subtitle": "Pretend you're a printer", + "quests.tfg_tips.developing_film.desc": "Once you've taken your pictures you can begin &adevelopment&r by soaking the films in &bWater.&r Afterwards, you'll need to craft a &dLightroom&r.\n\nThe lightroom is used to develop film, needing a strong light source above the block, and the following four dyes: &3Cyan&r, &5Magenta&r, &eYellow&r and &0Black&r, known as CMYK.\n&0Black and White Film&r will only need &0Black Dye&r while &dColored Film&r will need the entire &3C&5M&eY&0K&r set.\n\nIf you fancy more interesting processing, you can work with the &cChromatic Process...&r", + "quests.tfg_tips.photo.title": "Your first Photo", + "quests.tfg_tips.photo.subtitle": "Congratulations!", + "quests.tfg_tips.photo.desc": "You can do multiple things with it with your &dPhotograph.&r\n\nYou can &bCopy&r it by utilizing a blank sheet of &aPaper&r and the required &aDyes&r used to develop the original.\n\nYou can also &bStack&r pictures to keep them neatly organized in your inventory, check EMI to know how to.\n\nYou can also artificially &cage&r a picture by applying &6Brown Dye&r to it, making it look like it has gone through the years.", + "quests.tfg_tips.photo_album.title": "Photo Album", + "quests.tfg_tips.photo_album.subtitle": "Turns out memories are forever...", + "quests.tfg_tips.photo_album.desc": "If you want a place to &bstore photos&r, make a &dPhoto Album.&r In addition, you can also write small descriptions for each photo in an album. Write out the place where you took them, some notes, and more!", + "quests.tfg_tips.photo_frame.title": "Photo Frame", + "quests.tfg_tips.photo_frame.subtitle": "For the most astonishing pictures", + "quests.tfg_tips.photo_frame.desc": "A &dPhoto Frame&r can be used to display pictures. Unlike Item Frames, Photo Frames can be 1x1, 2x2 or 3x3 in size, allowing you to display particularly beautiful photos at your base!", + "quests.tfg_tips.harpoon.title": "Harpoon", + "quests.tfg_tips.harpoon.subtitle": "Emergency escape", + "quests.tfg_tips.harpoon.desc": "The &dHarpoon&r is similar to the grappling hook, except it always flies straight upwards and can't be upgraded. You can still swing with it though!", + "quests.tfg_tips.coil.title": "Ziplines", + "quests.tfg_tips.coil.subtitle": "Wheeeeee!", + "quests.tfg_tips.coil.desc": "If you right-click two &dFences&r with a &3Coil&r, you'll create a zipline! Build one above you, then shoot your Harpoon into the fence to start schmooving.\n\nRight-click the Coil with an empty hand to change the slack of the line. Each Coil is one-way, indicated by the \"arrows\" on the line itself, so if you want a two-way line you'll need two coils.\n\nYou can also place Coils on other blocks too for decoration, but they must be on fences to work as a zipline.", + "quests.tfg_tips.self_defense.title": "Self-defense", + "quests.tfg_tips.self_defense.subtitle": "Got zombies on your lawn?", + "quests.tfg_tips.self_defense.desc": "Place a &3Cranktrap&r next to a pressure plate, and they'll completely immobilize whatever animal (or monster!) steps on it. Great for catching that elusive animal in the forest, or for defending your home.\n\n&3Barbed Wire&r is completely passive and just inflicts damage to anything that walks through it.", + "quests.tfg_tips.lightning_rod.title": "Lightning Rod", + "quests.tfg_tips.lightning_rod.subtitle": "Undesirable voltage", + "quests.tfg_tips.lightning_rod.desc": "As thunderstorms are way more active and violent in TerraFirmaCraft, you might find the frequency of lightning to be rather annoying. To solve that problem completely, you can use a &dLightning Rod&r for the cheap price of 3 copper rods.\n\nThe &dLightning Rod&r can redirect all lightning onto itself in a spherical radius of &3128 blocks&r.\nBeware: It &oredirects&r lightning and doesn't nullify it, so it will still create fires within &33 blocks&r around itself, so place it far away from any flammables.", + "quests.tfg_tips.arborfirmacraft.title": "ArborFirmaCraft", + "quests.tfg_tips.arborfirmacraft.subtitle": "Harvesting the Life-blood of Trees", + "quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&r is a mod that adds multiple new trees to &3TFG&r: some are variants of existing TFC trees, such as &dAncient Kapok&r, while others are completely new, such as the &aBaobab&r and &aHevea.&r Some of the plank and log textures of these trees may remind you of vanilla tree colors...\n\nThis section will go over &bTree Tapping.&r\nAs a bonus, all &2ArborFirmaCraft&r woods are compatible with &3FirmaLife&r, and &3Firma:Civ&r, we made sure of it!", + "quests.tfg_tips.treetap.title": "Treetap", + "quests.tfg_tips.treetap.subtitle": "Now with less jank!", + "quests.tfg_tips.treetap.desc": "To begin &btapping&r trees, you'll need to forge a &dTree Tap&r from working &aCopper Ingots&r on an &3Anvil.&r\n\nThe process of tapping requires finding a suitable tree, a dedicated &bTapping Index&r in the &3ArborFirmaCraft&r &2Field Guide&r section will tell you how to find these trees. There's also the &bTapping Trees&r entry, which can be used to learn how to actually tap them.", + "quests.tfg_tips.find_rosin_tree.title": "Rosin Trees", + "quests.tfg_tips.find_rosin_tree.subtitle": "It's going to be chilly...", + "quests.tfg_tips.find_rosin_tree.desc": "&aRosin Trees&r can be found in &9cold&r areas of the world that receive moderate to large amounts of rainfall. It can be tapped to obtain &bPitch.&r This can be used to create both &dSticky Resin&r and &dConifer Rosin.&r\n\nTo complete this quest, you need to &clook&r at a block that has the tag &o#tfg:rosin_logs&r. You can use EMI to learn which blocks have this tag by searching with that hashtag.", + "quests.tfg_tips.find_latex_tree.title": "Latex Trees", + "quests.tfg_tips.find_latex_tree.subtitle": "Seek for the Tropics", + "quests.tfg_tips.find_latex_tree.desc": "&aLatex Trees&r can be found in &2temperate&r areas of the world that receive large amounts of rainfall. It can be tapped to obtain &bLatex&r, used to create both &dSticky Resin&r, and &dVulcanized Latex.&r The latter is used to produce &3Rubber&r and &aRubber Gloves&r, which protect you from &4poisonous materials&r on contact.\n\nTo complete this quest, you need to &clook&r at a block that has the tag &o#tfg:latex_logs&r. You can use EMI to learn which blocks have this tag by searching with that hashtag.", + "quests.tfg_tips.find_syrup_tree.title": "Syrup Trees", + "quests.tfg_tips.find_syrup_tree.subtitle": "Diabetes is Skyrocketing", + "quests.tfg_tips.find_syrup_tree.desc": "&aSyrup Trees&r can be found in &2temperate&r areas of the world that receive moderate amounts of rainfall. It can be tapped to obtain &bSyrup.&r Syrup can be used to create &dTree Sugars&r, an alternative sugar among other uses.\n\nTo complete this quest, you need to &clook&r at a block that has the tag &o#tfg:syrup_logs&r. You can use EMI to learn which blocks have this tag.", + "quests.tfg_tips.create_conifer_rosin.title": "Conifer Rosin", + "quests.tfg_tips.create_conifer_rosin.subtitle": "No, it's not Resin", + "quests.tfg_tips.create_conifer_rosin.desc": "&dConifer Rosin&r can be utilized as a &bWax&r, letting you create candles and other items.\n\nTo obtain conifer rosin, you need to boil &aConifer Pitch&r in a &3Vat&r mixed with &aCharcoal Powder.&r", + "quests.tfg_tips.create_sticky_resin.title": "Sticky Resin", + "quests.tfg_tips.create_sticky_resin.subtitle": "No, it's not Rosin", + "quests.tfg_tips.create_sticky_resin.desc": "&dSticky Resin&r can be utilized as slime balls in some recipes. It is also key in the production of &aResin Circuits&r and &aResistors&r, which you'll need a fair bit of to advance into the &7Low Voltage&r age.\n\nTo make sticky resin, you need to boil either &aLatex&r or &aConifer Pitch&r in a &3Vat&r mixed with &aWood Ash.&r", + "quests.tfg_tips.create_tree_sugar.title": "Tree Sugar", + "quests.tfg_tips.create_tree_sugar.subtitle": "Sweet!", + "quests.tfg_tips.create_tree_sugar.desc": "&dTree Sugar&r is a sugar substitute, mostly used as a food ingredient.\n\nTo make it, you'll need to boil &aTree Sap&r to get &bConcentrated Sap&r, then boil it again to get &dSyrup.&r Finally, use a workbench to turn a &bBucket of Syrup&r into &dTree sugar.&r\nKeep in mind that all these &cboiling processes require a stick&r in the &3Vat&r or &3pot.&r", + "quests.tfg_tips.create_tree_sugar.task": "Maple or Birch Sugar", + "quests.tfg_tips.create_rubber_ingot.title": "Rubber Ingot", + "quests.tfg_tips.create_rubber_ingot.subtitle": "Insulate them cables", + "quests.tfg_tips.create_rubber_ingot.desc": "Utilizing the &bVacuum Chamber&r and some additional heating, you can process &aLatex&r from various trees into &dRaw Rubber Pulp&r through a specific process. You can then smelt together 3 &dRaw Rubber Pulp&r with a bit of &eSulfur Dust&r in an &bAlloy Smelter&r to create &dRubber Ingots&r, perfect for insulating cables and very much necessary to advance in the &2Voltaic Age&r and beyond...", + "quests.tfg_tips.transportation.title": "Transportation", + "quests.tfg_tips.transportation.subtitle": "For travelling this vast world", + "quests.tfg_tips.transportation.desc": "The world is a very big place, you may end up travelling great distances to find specific resources for survival and advancement. The mods in this section will provide with a variety of transportation options.", + "quests.tfg_tips.glider.title": "Hang Glider", + "quests.tfg_tips.glider.subtitle": "This is not Breath of the Wild", + "quests.tfg_tips.glider.desc": "A &dHang Glider&r can be used to glide along the air. You &ccannot gain altitude&r with this but it can be useful to traverse long distances if you jump from high up.\nGreat synergy with &bJetpacks&r though!", + "quests.tfg_tips.reinforced_glider.title": "Reinforced Glider", + "quests.tfg_tips.reinforced_glider.subtitle": "Elytra well spent...?", + "quests.tfg_tips.reinforced_glider.desc": "If you combine an &aElytra&r, made in &6HV&r, with a &aHang Glider&r, you'll obtain a &dReinforced Glider.&r It has greater durability and a higher velocity ceiling.", + "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", + "quests.tfg_tips.immersive_aircraft.subtitle": "Fly across the skies, with style.", + "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive Aircraft&r is a mod all about aircrafts, allowing traversing large distances in the skies.", + "quests.tfg_tips.aircraft_upgrades.title": "Aircraft Upgrades", + "quests.tfg_tips.aircraft_upgrades.subtitle": "Pimp up my ride", + "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&r comes with &aAircraft Upgrades&r, which you can install in your to improve your aircraft stats, such as velocity, takeoff speed, fuel consumption, etc. There are two types of upgrades: &bregular&r and &dtiered.&r\n\nThe ones in this quest are the &bregular&r upgrades, think you can get them all?", + "quests.tfg_tips.steam_upgrades.title": "Aircraft Upgrades: Steam", + "quests.tfg_tips.steam_upgrades.subtitle": "Immersive Aircraft meets GregTech Tiering!", + "quests.tfg_tips.steam_upgrades.desc": "The second kind of aircraft upgrades are the &dTiered Upgrades.&r These are made to match the &3GregTech&r tiering system, going from &8Steam&r up to &5EV.&r\n\nSteam upgrades are the easiest and earliest to craft, requiring at the very least knowledge of &bBlack Steel.&r\n\n&dSteam-powered Aircraft Engines&r are used in the creation of more sophisticated aircrafts such as the &eBiplane&r and the &cWarship.&r", + "quests.tfg_tips.steam_upgrades.task": "Any steam tier aircraft upgrade", + "quests.tfg_tips.lv_upgrades.title": "Aircraft Upgrades: LV", + "quests.tfg_tips.lv_upgrades.subtitle": "Red and Blue, certainly not clashing.", + "quests.tfg_tips.lv_upgrades.desc": "&7LV&r upgrades are slightly better than their steam counterparts, requiring &4Red&r and &9Blue Steel&r, with the &dLV Engine&r itself requiring actual &7LV&r components.\n\n&3&lTip:&r&o You can recycle the old upgrades using &bCrushing Wheels&f, returning some of your spent materials.", + "quests.tfg_tips.lv_upgrades.task": "Any Low Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.mv_upgrades.title": "Aircraft Upgrades: MV", + "quests.tfg_tips.mv_upgrades.subtitle": "Halfway there", + "quests.tfg_tips.mv_upgrades.desc": "&bMV&r upgrades are the mid-point of this progression, requiring &aAluminium&r as their main material.\n\n&aAluminium Rotors&r are used in most tier 2 aircrafts, such as the &dGyrodyne, Warship&r and the &dScarlet Biplane&r, while the &aMV Engine&r is only used in the &dScarlet Biplane.&r", + "quests.tfg_tips.mv_upgrades.task": "Any Medium Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.hv_upgrades.title": "Aircraft Upgrades: HV", + "quests.tfg_tips.hv_upgrades.subtitle": "Almost there", + "quests.tfg_tips.hv_upgrades.desc": "&6HV&r upgrades are the penultimate tier of aircraft upgrades, requiring &aStainless Steel&r as their main material.", + "quests.tfg_tips.hv_upgrades.task": "Any High Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.ev_upgrades.title": "Aircraft Upgrades: EV", + "quests.tfg_tips.ev_upgrades.subtitle": "Are these components even legal?", + "quests.tfg_tips.ev_upgrades.desc": "&5EV&r upgrades are the last tier of aircraft upgrades, requiring &aTitanium&r as their main material.", + "quests.tfg_tips.ev_upgrades.task": "Any Extreme Voltage Tier Aircraft Upgrade", + "quests.tfg_tips.aircraft_weapons.title": "Aircraft Weapons", + "quests.tfg_tips.aircraft_weapons.subtitle": "For the great WAAAGH, of course", + "quests.tfg_tips.aircraft_weapons.desc": "In case you want to kill something very menacing, or just conquer your enemies, you can create &dWeapons&r which can be used for destroying or maiming mobs.\n\nEach weapon can be fired by using the &cInteract&r button while riding the &bAircraft.&r Most of them (except for the &aTelescope&r) consume some sort of &aAmmo.&r", + "quests.tfg_tips.airship.title": "Airship", + "quests.tfg_tips.airship.subtitle": "Baby's first Airship", + "quests.tfg_tips.airship.desc": "The &3Airship&r is an aircraft that's relatively decent for travelling. It's main purpose however is to carry items around.\nThe Airship has a total of &b16 Inventory Slots&r, &a3 Upgrade Slots&r and &c1 Weapon Slot.&r", + "quests.tfg_tips.cargo_airship.title": "Cargo Airship", + "quests.tfg_tips.cargo_airship.subtitle": "When you need to carry your entire base into the distance", + "quests.tfg_tips.cargo_airship.desc": "Attach some extra &dEngines, Rotors&r and &d2 Wooden Crates&r, and you'll upgrade your &aAirship&r into a &3Cargo Airship.&r\n\nIt is &4more fuel hungry&r than its ordinary counterpart.\nThe Cargo Airship has a total of &b80 Inventory Slots&r, and &a4 Upgrade Slots.&r", + "quests.tfg_tips.waghship.title": "Warship", + "quests.tfg_tips.waghship.subtitle": "Otherwise known as a WAAAAGH-Ship", + "quests.tfg_tips.waghship.desc": "The &3Warship&r is the last upgrade for the &aAirship&r, containing a total of &b66 Inventory Slots&r, &a6 Upgrade Slots&r and &c2 Weapon Slots.&r", + "quests.tfg_tips.quadrocopter.title": "Quadrocopter", + "quests.tfg_tips.quadrocopter.subtitle": "Not a Quadcopter", + "quests.tfg_tips.quadrocopter.desc": "The &3Quadrocopter&r is a very basic &aHovercraft&r, containing &b6 Inventory Slots&r, a &asingle Upgrade Slot&r and a &csingle Weapon Slot.&r\n\nIt excels in simple controls, making it ideal for &ebuilding.&r", + "quests.tfg_tips.gyrodyne.title": "Gyrodyne", + "quests.tfg_tips.gyrodyne.subtitle": "Muscle-powered Copter", + "quests.tfg_tips.gyrodyne.desc": "The &3Gyrodyne&r is a unique aircraft, consuming &dno fuel&r, instead being powered exclusively by muscle. As such, it drains your &4Hunger&r.\n\nIt contains &b18 Inventory Slots&r, &a3 Upgrade Slots&r and &c1 Weapon Slot.&r", + "quests.tfg_tips.economy_plane.title": "Economy Plane", + "quests.tfg_tips.economy_plane.subtitle": "Your first Plane... Not that great though.", + "quests.tfg_tips.economy_plane.desc": "The &3Economy Plane&r is the most basic &bPlane.&r It's controlled using &opitch&r and &oyaw&r, unlike Airships, Hovercrafts and Copters.\n\nIt has &b4 Inventory Slots&r and &a4 Upgrade Slots.&r\nWhile slow, the &dEconomy Plane&r, just like the Airship, can be &2upgraded into better planes.&r", + "quests.tfg_tips.biplane.title": "Biplane", + "quests.tfg_tips.biplane.subtitle": "How come this is smaller than the Economy Plane?", + "quests.tfg_tips.biplane.desc": "The &3Biplane&r is a direct upgrade to the &bEconomy Plane&r, crafted using &aHulls, Steam-powered Aircraft Engines&r and an &aAluminium Plated Airplane Propeller.&r\n\nIt contains &b16 Inventory Slots&r, &a4 Upgrade Slots&r and &c1 Weapon Slot.&r Unlike the &dEconomy Plane&r, the &3Biplane&r can be &4boosted using rockets via a dedicated slot.&r", + "quests.tfg_tips.scarlet_biplane.title": "Scarlet Biplane", + "quests.tfg_tips.scarlet_biplane.subtitle": "What a sight to behold", + "quests.tfg_tips.scarlet_biplane.desc": "The &3Scarlet Biplane&r is one of the two final upgrades for &bPlanes&r, requiring &6HV&r components.\n\nIt contains &b27 Inventory Slots&r, &a4 Upgrade Slots&r, &c2 Weapon Slots&r, and also a &4Booster Slot&r, just like the regular biplane.\n\nWhile expensive, the &3Scarlet Biplane&r makes up for it with increased durability, increased max speed, and overall swag.", + "quests.tfg_tips.aluminium_hopper.title": "Aluminium Hopper", + "quests.tfg_tips.aluminium_hopper.subtitle": "So light it floats on water!", + "quests.tfg_tips.aluminium_hopper.desc": "The &3Aluminium Hopper&r is one of the two final upgrades for &bPlanes&r, requiring &6HV&r components.\n\nIt contains &b16 Inventory Slots&r, &a4 Upgrade Slots&r, &c2 Weapon Slots&r, 3 Seats, and also a &4Booster Slot&r, just like the regular biplane.\n\nWhile expensive, the &3Aluminium Hopper&r makes up for it with 3 total seats, and the ability to land on Water.", + "quests.tfg_tips.firmaciv.title": "Firma: Civilization", + "quests.tfg_tips.firmaciv.subtitle": "Sail across the seas, with style.", + "quests.tfg_tips.firmaciv.desc": "&2Firma: Civilization&r is a mod all about boats and traversing large bodies of water. It can also be used for creating tools that help you position yourself in the world.\nAs always, the &2Field Guide&r contains deeper details than the following quests.\n\n&3&lTip:&r&o Rowing down river is much faster... Consider settling near a river if you haven't already.", + "quests.tfg_tips.firmaciv_info.title": "Voyage Gadgets", + "quests.tfg_tips.firmaciv_info.subtitle": "In case you care for realism", + "quests.tfg_tips.firmaciv_info.desc": "&3Firma:Civ&r comes with 4 different navigational tools, each giving you important information about your position in the world.\nIncludes the &dSextant&r, &dNavigator's Timepiece&r, &dBarometer&r, and &dCompass&r; more information about the tools in the &2Field Guide.&r\n\n&3&lLore:&r&o: Firma:Civ by default removes coordinates to make you use its navigational tools. We can't do that here, so uh, use them if you want to LARP.", + "quests.tfg_tips.warfare.title": "Sea Warfare", + "quests.tfg_tips.warfare.subtitle": "FIRE ALL CANNONS!", + "quests.tfg_tips.warfare.desc": "You can outfit your &bSloop&r with firepower via the &dCannon&r and cannon balls, in case you want to blow something to smithereens.\nTo fire a cannon, you'll need to load it with some &aGunpowder, Unrefined Paper&r and your &aCannon Ball&r. Then light the wick with &cFlint and Steel.&r", + "quests.tfg_tips.kayak_materials.title": "The Kayak", + "quests.tfg_tips.kayak_materials.subtitle": "Get yourself that Kayak.", + "quests.tfg_tips.kayak_materials.desc": "The &dKayak&r is the second most simple boat you can craft, requiring &bWaxes&r for the &aWaterproof Hides&r. It is also the &conly&r boat that can be picked up as an item. Despite having a &dsingle passenger&r slot, it is the fastest boat in the game until the steel age &dSloop!&r", + "quests.tfg_tips.create_kayak.title": "Complete the Kayak", + "quests.tfg_tips.create_kayak.subtitle": "Happy Kayak-ing!", + "quests.tfg_tips.create_kayak.desc": "With the &dKayak&r in hand, you can now enjoy your quick solo journeys on water. Make sure you craft a &bKayak Paddle&r (the canoe one won't work!) to go even faster!", + "quests.tfg_tips.beneathxfirmaciv.title": "Disclaimer regarding Beneath and Firma:Civ", + "quests.tfg_tips.beneathxfirmaciv.subtitle": "Read this, otherwise you may regret it", + "quests.tfg_tips.beneathxfirmaciv.desc": "While you can make &dCanoes, Rowboats&r and &dSloops&r out of &dCrimson&r and &3Warped Stems&r, boats made out of these fireproof logs &4ARE NOT&r resistant to lava! If you try to traverse a lava lake with these you &lwill&r sink and die a horrible death!", + "quests.tfg_tips.canoe_materials.title": "The Canoe", + "quests.tfg_tips.canoe_materials.subtitle": "It doesn't get simpler than this", + "quests.tfg_tips.canoe_materials.desc": "The &dCanoe&r is the easiest boat to craft. Note that only certain kinds of &aStripped Logs&r work, the task above tells you which are eligible &bSoftwood&r.\nThe &2Field Guide&r provides details about its unique construction.\n\nThis boat can carry one extra player/entity other than the navigator, or a chest.", + "quests.tfg_tips.canoe_materials.task": "Some sort of Fire Starter", + "quests.tfg_tips.create_canoe.title": "Complete the Canoe", + "quests.tfg_tips.create_canoe.subtitle": "Happy Canoe-ing!", + "quests.tfg_tips.create_canoe.desc": "With the &dCanoe&r, traversing bodies of water in the early game will now be possible. Make sure you create a &bCanoe Paddle&r so you can go faster!\n\nTo complete the first task of this quest, you need to look at the finished &dCanoe.&r\n\n&3&lTip:&r&o Two players, both equipped with paddles, can achieve a higher top speed together in the same canoe. Multiplayer only of course!", + "quests.tfg_tips.rowboat_materials.title": "The Rowboat", + "quests.tfg_tips.rowboat_materials.subtitle": "Get ready for some work now.", + "quests.tfg_tips.rowboat_materials.desc": "Requiring more complex materials, locking it to the iron age, the &dRowboat&r has capacity for &b2 passengers and 2 storage&r, or &c4 storage with no passengers.&r\nYou'll need to find some sort of &aHardwood&r, detailed in the &2Field Guide&r, which also includes the construction process.\n\nKeep in mind the boat must be constructed with the same wood! Do not mix different kinds of hardwoods.", + "quests.tfg_tips.create_rowboat.title": "Complete the Rowboat", + "quests.tfg_tips.create_rowboat.subtitle": "Happy Rowboat-ing!", + "quests.tfg_tips.create_rowboat.desc": "With the &dRowboat&r, you can now transport a decent amount of items across the oceans, perfect for overseas exploration, perhaps to the tropics! Make sure you create two &bOars&r so you can go faster!\nYou can also dye it!\n\nTo complete the first task of this quest, you need to look at any finished &dRowboat.&r\n\n&3&lTips:&r&o Two passenger slots? Perfect for bringing home pairs of breeding animals for your farm through a river system or across lakes and oceans.", + "quests.tfg_tips.sloop_under_construction_materials.title": "The Sloop", + "quests.tfg_tips.sloop_under_construction_materials.subtitle": "The Great Pirate Era has begun", + "quests.tfg_tips.sloop_under_construction_materials.desc": "The &dSloop&r is the most advanced seaworthy vessel, requiring &aSteel.&r It has ample space for storage, anvils and workbenches! It is incredibly expensive and requires practice to sail. The &2Field Guide&r has all the details for construction and on how to sail.\n\nAgain, do not attempt to mix up different kinds of hardwoods in the same vessel.", + "quests.tfg_tips.sloop_under_construction_materials.task": "16x of any Hardwood Lumber", + "quests.tfg_tips.create_sloop.title": "Complete the Sloop", + "quests.tfg_tips.create_sloop.subtitle": "Where's the Wind Waker when you need it?", + "quests.tfg_tips.create_sloop.desc": "With the &dSloop&r, traversing large sized bodies of water should be relatively easy. To make sure you dont end up at the mercy of the wind you can lower your Anchor to stop in place.\nYou can also dye your sails with dye of your choice!\n\nTo complete the task of this quest, you need to look at any finished &dSloop.&r\n\n&3&lTip:&r&o Try not to sail through rivers with a sloop, it will likely NOT work as expected!", + "quests.tfg_tips.fishing_net.title": "Fishing Nets", + "quests.tfg_tips.fishing_net.subtitle": "Not the socks, sorry.", + "quests.tfg_tips.fishing_net.desc": "Fish have never been so easy to catch. A right-click away from a hearty meal.", + "quests.tfg_tips.fishing_net.task": "Any #forge:tools/fishing_nets", + "quests.tfg_tips.astikorcarts.title": "TFC Astikor Carts", + "quests.tfg_tips.astikorcarts.subtitle": "Overland routes", + "quests.tfg_tips.astikorcarts.desc": "&2TFC Astikor Carts&r provide early game transport options for land travel for both mobs and items.\nCarts can be manually pulled by &cplayers&r (very slow if they are full!) or by &bequine animals&r, such as horses.\n\nRemember to use the &4\"Action Key\" keybind (default R)&r to attach or de-attach yourself or the animal you are riding to the cart.", + "quests.tfg_tips.equines.title": "Horse Riding", + "quests.tfg_tips.equines.subtitle": "Stallion of the Cimarron", + "quests.tfg_tips.equines.desc": "Find yourself either a &bHorse, Donkey&r or &bMule&r and build up enough &afamiliarity&r to let them ride you with your trusty &aSaddle&r, knapped from leather.\nIn addition, they can pull &dCarts&r without speed penalties!\n\n&bHorses&r are great for exploring the interior of continents effortlessly in the early game, and can be bred for better stats.\n\n&bDonkeys and Mules&r can carry an extra chest or even a barrel without a &2Supply Cart.&r\n\nAs always, more information (such as spawning conditions) in the &2Field Guide.&r\n\n&3&lTip:&r&o Want to horse-ride on a different continent across the ocean? Don't worry, you can bring along your trusty ride on certain boats!", + "quests.tfg_tips.supply_cart.title": "Supply Cart", + "quests.tfg_tips.supply_cart.subtitle": "Carry All", + "quests.tfg_tips.supply_cart.desc": "With a whopping &c54&r slots, &dSupply Carts&r can carry a large amount of items &aregardless of their weight&r, even anvils!\nPerfect for exploration, mining and logging trips, or for moving bases!", + "quests.tfg_tips.animal_cart.title": "Animal Cart", + "quests.tfg_tips.animal_cart.subtitle": "Animal Kidnapper Machine", + "quests.tfg_tips.animal_cart.desc": "The &dAnimal Cart&r allows you transport up to 3 animals across land.\nPerfect for collecting breeding pairs for your livestock farms! Simply run over an animal with the cart. &cShift-right click&r to dismount all animals.", + "quests.tfg_tips.plow.title": "Plow", + "quests.tfg_tips.plow.subtitle": "Large Scale Farming", + "quests.tfg_tips.plow.desc": "If there ever comes the need to till large sections of land for some megafarms, the &dPlow&r can come in clutch.", + "quests.tfg_tips.horseshoes.title": "Horseshoes", + "quests.tfg_tips.horseshoes.subtitle": "Fashionable Equine Footwear", + "quests.tfg_tips.horseshoes.desc": "&aHorseshoes&r are an accessory for your equine companions that boost their &9speed&r, &dfall resistance&r, and &cstep height&r at higher tiers.", + "quests.tfg_tips.horseshoes.task": "Any Horseshoes", + "quests.tfg_tips.hiking_boots.title": "Hiking Boots", + "quests.tfg_tips.hiking_boots.subtitle": "\uD83C\uDFB5 and I would walk five hundred miles", + "quests.tfg_tips.hiking_boots.desc": "&aHiking Boots&r prevent tall grass from slowing you down, increase your safe fall height, and can even give you some extra step height and walking speed. They don't provide as much protection as proper metal armor, but if you're not actually fighting something, these are well worth the trade-off!", + "quests.tfg_tips.hiking_boots.task": "Any Hiking Boots", + "quests.tfg_tips.firmalife.title": "Firmalife", + "quests.tfg_tips.firmalife.subtitle": "Thrive in TerraFirmaCraft", + "quests.tfg_tips.firmalife.desc": "&2Firmalife&r is a mod all about extending the agricultural and gastronomic experience in TerraFirmaCraft, with touches of miscellaneous features. Includes things such as decorations, more preservation methods, new foods, bees and a plethora of useful gadgets!", + "quests.tfg_tips.greenhouse.title": "Greenhouse", + "quests.tfg_tips.greenhouse.subtitle": "Grow your crops 24/7!", + "quests.tfg_tips.greenhouse.desc": "The &dGreenhouse&r is a complex multiblock structure with multiple tiers, used to grow crops all year round at the expense of yield. Check out its entry in the &2Field Guide&r for more information!", + "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.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.", + "quests.tfg_tips.beehive.title": "Beehive", + "quests.tfg_tips.beehive.subtitle": "Time for some rng...", + "quests.tfg_tips.beehive.desc": "To begin your journey as a beekeeper, you'll need both a &bBeehive&r and a &aBeehive Frame.&r\nUnlike regular Minecraft, hives do not spawn naturally, instead bees only spawn in player-made &bBeehives&r with frames populated by &eQueens.&r The chance for a queen to populate your frame is tied to RNG, but you can increase your odds by placing &dflowers&r around the hive.\n\nOnce your frames is populated, it'll begin spawning bees which will produce honey.", + "quests.tfg_tips.not_the_bees.title": "Beekeeper Armor", + "quests.tfg_tips.not_the_bees.subtitle": "NOT THE BEES!", + "quests.tfg_tips.not_the_bees.desc": "Bees don't like it when people disrupt them and harvest their precious honey and wax. There are three ways to do it safely:\n\n* &dHarvesting at night time&r\n* &dUsing a campfire&r\n* &dUsing Beekeeper Armor&r", + "quests.tfg_tips.not_the_bees.task": "I'll use either the Campfire or wait for Nightfall.", + "quests.tfg_tips.honey.title": "Honey", + "quests.tfg_tips.honey.subtitle": "Oh bother...", + "quests.tfg_tips.honey.desc": "With an &aEmpty Jar&r made from &bglassblowing&r, you can right-click a hive filled with honey to obtain a &dHoney Jar.&r Honey is an excellent sugar substitute.", + "quests.tfg_tips.beeswax.title": "Beeswax", + "quests.tfg_tips.beeswax.subtitle": "A worthy sacrifice", + "quests.tfg_tips.beeswax.desc": "If you right-click a &aFrame&r that houses a &bQueen Bee&r with a &cKnife&r, you will clear out the frame, killing the queen, and obtaining &dWax.&r\n\n&3&lTip:&r&o You can sacrifice &bQueens&f with bad or lower traits to encourage breeding better traits over time, as the other frames will fill out the missing one using their own traits.", + "quests.tfg_tips.candles.title": "Candles", + "quests.tfg_tips.candles.subtitle": "Cozy...", + "quests.tfg_tips.candles.desc": "Candles can be crafted using &aParaffix Wax, Beeswax&r or &aRosin.&r\nCandles are the better light source compared to torches, staying lit for 1 month and 2 days.", + "quests.tfg_tips.oven.title": "Oven", + "quests.tfg_tips.oven.subtitle": "Caution, it's hot", + "quests.tfg_tips.oven.desc": "The &3Oven&r is a multiblock structure that can be used to easily cook foods as well as perform exclusive recipes. The &aBottom Oven, Top Oven&r and the &aChimney&r are mandatory components. And don't forget to use &dTongs&r to pick up food from the &aTop Oven.&r\nMore information on how to build an &3Oven&r can be found in the &2Field Guide.&r\n\n&3&lTip:&r&o: The only food that can satisfy all 5 nutrient groups, &cPizza&f, must be cooked in an oven.", + "quests.tfg_tips.oven_appliances.title": "Oven Appliances", + "quests.tfg_tips.oven_appliances.subtitle": "Get more out of your Ovens", + "quests.tfg_tips.oven_appliances.desc": "&3Oven Appliances&r are optional components that must be placed on top of &aBottom Ovens&r to receive heat. Remember you can have &cmultiple&r &aBottom Ovens&r in a single multiblock.\n\n&dWrought Iron Grill&r: Allows you to cook food at a much faster rate and provides a &cbonus&r to shelf life.\n&dVat&r: can process pot recipes in bulk! Extremely useful for making &eLatex&r and &aJam.&r\n&dJarring Station&r: must be place next to a &bVat&r, fills up jars with &aJam.&r\n&dPot&r: if you need to cook soups.", + "quests.tfg_tips.oven_finish.title": "Oven Finishes", + "quests.tfg_tips.oven_finish.subtitle": "Fancy", + "quests.tfg_tips.oven_finish.desc": "In case the look of clay bricks don't suit you, you can apply &bFinishes&r to most oven components to change the look of your multiblock.", + "quests.tfg_tips.oven_finish.task": "Any Oven Finish", + "quests.tfg_tips.oven_utils.title": "Oven Utilities", + "quests.tfg_tips.oven_utils.subtitle": "You may want these", + "quests.tfg_tips.oven_utils.desc": "The &dAsh Tray&r, placed below a &aBottom Oven&r, has a chance to collect &cWood Ash&r from burning logs. Right-click to get out the ash.\n\nThe &dOven Hopper&r inserts logs into a &bBottom Oven&r facing it, useful for automation.", + "quests.tfg_tips.jam.title": "Jam", + "quests.tfg_tips.jam.subtitle": "Not Jelly", + "quests.tfg_tips.jam.desc": "&dJam&r is an excellent way to preserve fruit: a &bSealed Jar of Jam&r can last up to &ctwo years&r without being opened.\n\nTo properly bottle the jam you will need a &aJar with Lid&r, requiring &bGlassblowing&r for the jar itself and &bSmithing&r for the lids.\n\n&3&lTip:&r&l &aGT machines&f will provide easier recipes for both components down the line.", + "quests.tfg_tips.preservation.title": "The Preservation Tree", + "quests.tfg_tips.preservation.subtitle": "Making food last longer", + "quests.tfg_tips.preservation.desc": "Rotten food is not fit for consumption (you can feed it to pigs though!). Thriving in &2TFG&r will require finding ways to stretch the shelf life of food as much as possible.\n\nThe quest tree above goes into detail on several preservation methods for different foods. Note that while some icons may display rotten food, it is a purely cosmetic bug.\n\n&3&lTip:&r&o All preservation modifiers &dstack&f on top of each other, allowing you to achieve very long shelf life.", + "quests.tfg_tips.brine_something.title": "Brining", + "quests.tfg_tips.brine_something.subtitle": "A preliminary step for other preservation methods", + "quests.tfg_tips.brine_something.desc": "Brining &araw meat, vegetables&r or &afruit&r, requiring &dBrine&r made from &bSea Water&r and &bVinegar.&r This is a precursor step for &3pickling&r and &3smoking.&r", + "quests.tfg_tips.brine_something.task.1": "Meat, vegetable or fruit that has been brined.", + "quests.tfg_tips.brine_something.task.2": "A Bucket of Brine", + "quests.tfg_tips.pickle_something.title": "General Preservation: Pickling", + "quests.tfg_tips.pickle_something.subtitle": "General Preservation N°3", + "quests.tfg_tips.pickle_something.desc": "Pickling &araw meat, vegetables&r or &afruit&r. After &3brining&r, the food item is pickled in a barrel full of &aVinegar.&r It can be left there, giving it the &dpickled&r preservation trait for as long as the barrel is sealed, significantly increasing shelf life.", + "quests.tfg_tips.pickle_something.task.1": "A Bucket of Vinegar", + "quests.tfg_tips.pickle_something.task.2": "Meat, vegetable or fruit that has been pickled.", + "quests.tfg_tips.get_milk.title": "Milk Preservation", + "quests.tfg_tips.get_milk.subtitle": "Got milk?", + "quests.tfg_tips.get_milk.desc": "&dMilk&r can be obtained from 3 different animals: &aCows, Goats&r and &aYaks.&r\nWhile milk can be drank as is to satisfy &bDairy&r requirements, it can also be processed into delicious cheese.\n\nTo complete this quest, get a bucket filled with any milk of your choosing.", + "quests.tfg_tips.get_milk.task": "Any Bucket of Milk", + "quests.tfg_tips.create_cheese.title": "Milk Preservation: Cheese", + "quests.tfg_tips.create_cheese.subtitle": "Cheesy", + "quests.tfg_tips.create_cheese.desc": "&aMilk&r can be processed into &dCheese Wheels&r, which can be placed in world for storage or cut with a &aKnife&r to obtain &dCheese Slices.&r\n\nInformation on how to make cheeses can be found in the &2Field Guide.&r", + "quests.tfg_tips.cheese_aging.title": "Milk Preservation: Cheese Aging", + "quests.tfg_tips.cheese_aging.subtitle": "Stinky", + "quests.tfg_tips.cheese_aging.desc": "If you built a &3Cellar&r, you can place down &aCheese Wheels&r to age inside. Aging takes time but dramatically increases the shelf life. &lDo not break the cheese with your hands, otherwise all the aging will be lost!&r", + "quests.tfg_tips.smoke_cheese.title": "Milk Preservation: Smoke the Cheese", + "quests.tfg_tips.smoke_cheese.subtitle": "Improved flavour profile", + "quests.tfg_tips.smoke_cheese.desc": "You can hang a &aCheese Slice&r on a &bString&r that's placed over a &cLit Campfire&r to smoke it.", + "quests.tfg_tips.smoke_cheese.task": "A slice of Smoked Cheese", + "quests.tfg_tips.get_meat.title": "Meat Preservation", + "quests.tfg_tips.get_meat.subtitle": "Don't beat it", + "quests.tfg_tips.get_meat.desc": "Most animals drop &aMeat&r which is an excellent source of protein, although its shelf life is extremely short when left raw.\n\n&bRaw Meat&r can be &3salted, pickled&r and &3smoked&r for maximum preservation, but these steps must happen &cbefore&r cooking.", + "quests.tfg_tips.salt_meat.title": "Meat Preservation: Salt", + "quests.tfg_tips.salt_meat.subtitle": "Not quite a jerky", + "quests.tfg_tips.salt_meat.desc": "&bSalting&r meat is a quick and relatively easy way to preserve it. &dSalt&r can be obtained from &aSalt Licks&r, from &aindicators&r above salt veins, from &aSalt Veins&r themselves and alternatively, you can &aboil&r salt water in a &3Pot.&r", + "quests.tfg_tips.salt_meat.task": "A hunk of Salted Meat", + "quests.tfg_tips.smoke_meat.title": "Meat Preservation: Smoking", + "quests.tfg_tips.smoke_meat.subtitle": "Smokey", + "quests.tfg_tips.smoke_meat.desc": "You can hang up to 8 slices of &aRaw Meat&r on a &bString&r that's placed over a &cLit Campfire&r to smoke it. Keep in mind that the meat &lmust be brined first.&r \nIt may also be &dsalted&r before smoking.", + "quests.tfg_tips.smoke_meat.task": "A hunk of Smoked Meat", + "quests.tfg_tips.bacon.title": "Bacon", + "quests.tfg_tips.bacon.subtitle": "Crispy", + "quests.tfg_tips.bacon.desc": "&aBacon&r can be made from &bSmoked Pork&r and a pinch of salt giving &d4 times&r the amount of meat!\n\nNote that the pork &lhas to be smoked&r before it can be turned into bacon.", + "quests.tfg_tips.bacon.task": "A hunk of Smoked Pork", + "quests.tfg_tips.cook_meat.title": "Meat Preservation: Cooking", + "quests.tfg_tips.cook_meat.subtitle": "Pretty obvious in hindsight.", + "quests.tfg_tips.cook_meat.desc": "Cooking can potentially provide its own preservation traits. You should cook &aMeat&r either in a &bWrought Iron Grill&r or a &bTop Oven!&r\nOther cooking methods may not provide any trait at all or may even give negative traits that lower shelf life.\n\n&3&lTip:&r&o &bWrought Iron Grills&f can be part of the &dOven&f structure.", + "quests.tfg_tips.cook_meat.task.1": "A hunk of either Grilled or Oven Baked Cooked Meat.", + "quests.tfg_tips.cook_meat.task.2": "A Wrought Iron Grill or a Top Oven", + "quests.tfg_tips.get_veggie.title": "Vegetable Preservation", + "quests.tfg_tips.get_veggie.subtitle": "They're good for you", + "quests.tfg_tips.get_veggie.desc": "&aVegetables&r are mostly found in the wild or grown locally in farms. They can only be &bpickled.&r", + "quests.tfg_tips.get_fruit.title": "Fruit Preservation", + "quests.tfg_tips.get_fruit.subtitle": "Tasty!", + "quests.tfg_tips.get_fruit.desc": "&aFruits&r are mostly found in the wild, harvested from &bTrees, Bushes&r and from slicing &bMelons&r and &bPumpkins.&r Unlike vegetables, fruits have a unique preservation modifier: &ddrying&r, in addition to &bpickling.&r\n&cDried fruits are necessary&r for making your first bit of &dYeast.&r", + "quests.tfg_tips.dry_fruit.title": "Fruit Preservation: Drying", + "quests.tfg_tips.dry_fruit.subtitle": "Water content basically zero", + "quests.tfg_tips.dry_fruit.desc": "Using a &3Drying Mat&r, you can dry fuits, increasing their shelf life. The &3Solar Drier&r is the more advanced option.", + "quests.tfg_tips.dry_fruit.task.1": "A piece of Fruit that has been Dried", + "quests.tfg_tips.dry_fruit.task.2": "A Drying Mat or a Solar Drier", + "quests.tfg_tips.get_grain.title": "Grain Preservation", + "quests.tfg_tips.get_grain.subtitle": "Carbohydrates", + "quests.tfg_tips.get_grain.desc": "&aGrains&r are relatively abundant and easy to grow locally. While the regular unprocessed grain may not last long, there are ways of increasing its shelf life dramatically.", + "quests.tfg_tips.get_grain.task": "Any Grain", + "quests.tfg_tips.process_grain.title": "Grain Preservation: Knife Processing", + "quests.tfg_tips.process_grain.subtitle": "That was easy.", + "quests.tfg_tips.process_grain.desc": "By crafting &aGrain Crops&r with a Knife in a Workbench, you will get the actual &dGrain&r, which is long lasting, and some straw.", + "quests.tfg_tips.passive_preservation.title": "Passive Preservation", + "quests.tfg_tips.passive_preservation.subtitle": "Turns out storing food on the floor is not ideal", + "quests.tfg_tips.passive_preservation.desc": "There are different ways to further preserve your food while storing it, above are three very good choices.", + "quests.tfg_tips.vessel_preservation.title": "General Preservation: Vessels", + "quests.tfg_tips.vessel_preservation.subtitle": "Better than just glorified backpacks.", + "quests.tfg_tips.vessel_preservation.desc": "Placing food in either a &aVessel&r or a &aLarge Vessel&r, remembering to seal the latter, provides the &dSealed&r preservation trait, increasing shelf life on the go. Perfect for exploration trips!", + "quests.tfg_tips.cellar.title": "Cellar", + "quests.tfg_tips.cellar.subtitle": "Mom's Basement", + "quests.tfg_tips.cellar.desc": "The &3Cellar&r is a multiblock structure that can be used to preserve food for long periods of time. Food here must be stored in &aFood Shelves&r and &aHanging Racks.&r You can also &bage cheese&r in here.\nCheck out the &2Field Guide&r for how to build the &3Cellar.&r", + "quests.tfg_tips.cellar.task": "Any form of sealed entry.", + "quests.tfg_tips.refrigerator.title": "Refrigerator", + "quests.tfg_tips.refrigerator.subtitle": "This thing may be overpowered", + "quests.tfg_tips.refrigerator.desc": "If you have advanced to the &bMV&r age, you can make a &dRefrigerator&r, consuming power in exchange for the &obest&r universal food preservation trait for all food items. This includes raw and cooked food, and combined foods like sandwiches.", + "quests.tfg_tips.cellar_blocks.title": "Cellar Storage", + "quests.tfg_tips.cellar_blocks.subtitle": "Stuff to put your food in", + "quests.tfg_tips.cellar_blocks.desc": "&bFood Shelves&r can be used to store virtually any kind of food. &bHangers&r can be used to store &aMeat&r and &aGarlic.&r Food stored in these receive a powerful preservation trait greater than that of &dVessels.&r", + "quests.tfg_tips.beneath.title": "The Beneath", + "quests.tfg_tips.beneath.subtitle": "Journey to the Center of the Earth", + "quests.tfg_tips.beneath.desc": "Deep, DEEP underground, past the &dBedrock&r, you'll find &4The Beneath&r, a complex network of huge caves filled with dangers and strange flora and fauna. While &4The Beneath&r is completely optional, it contains a lot of resources as well as some quality of life improvements.", + "quests.tfg_tips.beneath_prep.title": "Preparations", + "quests.tfg_tips.beneath_prep.subtitle": "The Beneath is hostile, be prepared", + "quests.tfg_tips.beneath_prep.desc": "&4The Beneath&r is a very hostile environment. Due to it being very deep underground, the average temperature is always &cabove 15°C&r, going higher the deeper you go. This is not to mention the amount of hostile creatures crawling these caves.\nThe quests linked with this one provide some basic preparations for your adventure.", + "quests.tfg_tips.beneath_temp_management.title": "Temperature Management: Active", + "quests.tfg_tips.beneath_temp_management.subtitle": "Things to cool off quickly", + "quests.tfg_tips.beneath_temp_management.desc": "In &4The Beneath&r, with the temperature being relatively high, you should bring some &aWater&r to cool off on demand, or some &bPacked Ice&r mined from polar regions if you plan to make a temporary base.", + "quests.tfg_tips.beneath_clothes.title": "Temperature Management: Passive", + "quests.tfg_tips.beneath_clothes.subtitle": "Things to passively cool off", + "quests.tfg_tips.beneath_clothes.desc": "&bClothes&r also play an important role in cooling off. The easiest to craft before going to &4The Beneath&r are &dBurlap Clothes.&r\n\n&dSilk Clothes&r require &aString&r, which can be found in large quantities inside the beneath biome called the &cWebbed Lair.&r\n\nThere is a better alternative if you have access to &9Blue Steel&r however...", + "quests.tfg_tips.blue_steel_diving.title": "Blue Steel Diving Gear", + "quests.tfg_tips.blue_steel_diving.subtitle": "Perfect for taking a warm, lava bath", + "quests.tfg_tips.blue_steel_diving.desc": "The &9Blue Steel Diving Gear&r is a special set of armor that makes you completely impervious to &cLava&r while you're wearing it. The reduced &aWarmth&r but high &bInsulation&r means you'll be able to keep a very stable core temperature while in &4The Beneath.&r", + "quests.tfg_tips.juicer.title": "Juicer", + "quests.tfg_tips.juicer.subtitle": "Hydration on a Pinch", + "quests.tfg_tips.juicer.desc": "The &3Juicer&r is a special item that can extract the latent humidity of &aFruits&r and &aMushrooms&r into drinkable &dWater.&r\n\nWater is only common in the upper layers of &4The Beneath&r. As you go lower, it will be increasingly scarce. However, &aMushrooms&r are very common in &4The Beneath&r, so you won't die of thirst, hopefully!", + "quests.tfg_tips.how_to_go_beneath.title": "How to go to The Beneath", + "quests.tfg_tips.how_to_go_beneath.subtitle": "No Obsidian Required", + "quests.tfg_tips.how_to_go_beneath.desc": "To reach &4The Beneath&r, you will have to stand on &bOverworld Bedrock&r for a couple of seconds, after which you will be &oteleported&r down under.\n\n&3&lTip:&r&o You'll keep exactly the same X and Z coordinates, so it may teleport you inside some rock. It'll give you a 3x3x3 space to work with though, so be sure to bring some supports for tunneling your way out!", + "quests.tfg_tips.how_to_go_beneath.task.1": "Reach and Stand on top of Bedrock", + "quests.tfg_tips.how_to_go_beneath.task.2": "Visit the Beneath", + "quests.tfg_tips.reach_the_beneath.title": "Welcome, to The Depths", + "quests.tfg_tips.reach_the_beneath.subtitle": "Otherwise known as The Beneath", + "quests.tfg_tips.reach_the_beneath.desc": "As soon as you reach &4The Beneath&r, you should make a &cwaypoint&r using your map so you don't lose your way back.\n\nUnlike the vanilla Nether, there is no 8x distance multiplier, don't be using it for fast Overworld travel!", + "quests.tfg_tips.reach_the_beneath.task": "Be in the Beneath", + "quests.tfg_tips.fuck_go_back.title": "How to escape The Beneath", + "quests.tfg_tips.fuck_go_back.subtitle": "Mom come pick me up, I'm scared.", + "quests.tfg_tips.fuck_go_back.desc": "To escape &4The Beneath&r, you need to reach the upper levels of the cave system, near the &dBedrock Ceiling.&r Staying still for a couple of seconds near the roof will transport you back to the &bOverworld&r, right where you stood on to get in.", + "quests.tfg_tips.piglin_bartering.title": "Piglin Bartering", + "quests.tfg_tips.piglin_bartering.subtitle": "We are not alone apparently", + "quests.tfg_tips.piglin_bartering.desc": "The curious inhabitants of &4The Beneath&r have items to offer... Trade gold with them to get some useful resource, such as small amounts of &aMetals&r or &aLeather.&r\nCheck out the &2Field Guide&r for details about barter trades.", + "quests.tfg_tips.piglin_disguise.subtitle": "They'll never know...", + "quests.tfg_tips.piglin_disguise.desc": "Do you feel like you don't belong?\nDo the &4Piglin&r attack you at your school because of your appearance?\nTry wearing a &aPiglin Disguise&r to ward off unwanted attention and blend right in.", + "quests.tfg_tips.trowel.title": "Trowel", + "quests.tfg_tips.trowel.subtitle": "Inspired by Quark!", + "quests.tfg_tips.trowel.desc": "A &4Trowel&r is a tool for builders that can &brandomly place blocks&r located in the hotbar. Trowels can also use bricks and other useable items to randomize tiles for &5RNR Roads&r.", + "quests.tfg_tips.lunchbox.title": "Lunch Box", + "quests.tfg_tips.lunchbox.subtitle": "A refrigerator in your pocket!", + "quests.tfg_tips.lunchbox.desc": "Lunch boxes have 9 slots for food, keeping it cold and longer lasting.\nThe Cooling Lunchbox has a stronger effect than the regular one, but needs to be provided with ice or cells that will thaw over time.", + "quests.tfg_tips.lunchbox.task.1": "Any Lunch Box", + "quests.tfg_tips.lunchbox.task.2": "Any Ice Block", + "quests.tfg_tips.lunchbox.task.3": "Any Cell containing Liquid Ice Slush", + "quests.tfg_tips.transportation_tips.title": "Советы - Транспорт", + "quests.tfg_tips.transportation_tips.subtitle": "Куда же делась ходьба на своих двоих?", + "quests.tfg_tips.tools_tips.title": "Советы - Инструменты", + "quests.tfg_tips.tools_tips.subtitle": "Как затягивать и ослаблять 101.", + "quests.tfg_tips.tools_tips.tools.title": "Tools", + "quests.tfg_tips.tools_tips.tools.subtitle": "It's all a hammer anyways.", + "quests.tfg_tips.tools_tips.tools.desc": "The only thing seperating man from animal is our use of &l&bTools&r&r. &8&oExcept for apes, monkeys, dolphins, crows, otters, octo.......&r&r Use your skills and tools to make the most of this world, and &5save yourself&r some effort.", + "quests.tfg_tips.tools_tips.seed_oil.title": "Lamp Fuel: Seed Oil", + "quests.tfg_tips.tools_tips.seed_oil.subtitle": "Smells good when it burns.", + "quests.tfg_tips.tools_tips.seed_oil.desc": "&dSeed Oil&r will last you an impressive &c72&r days.", + "quests.tfg_tips.tools_tips.seed_oil.task": "A Bucket of Seed Oil", + "quests.tfg_tips.tools_tips.soybean_oil.title": "Lamp Fuel: Soybean Oil", + "quests.tfg_tips.tools_tips.soybean_oil.subtitle": "Lamp on a high protein diet.", + "quests.tfg_tips.tools_tips.soybean_oil.desc": "&dSoybean Oil&r lasts just as long as seed oil--&c72&r days. ", + "quests.tfg_tips.tools_tips.soybean_oil.task": "A Bucket of Soybean Oil", + "quests.tfg_tips.tools_tips.markings.title": "Markings", + "quests.tfg_tips.tools_tips.markings.subtitle": "Comply with OSHA standard 1910.303", + "quests.tfg_tips.tools_tips.markings.desc": "Similar to &2chalk&r--&d&lMarkings&r&r can be used to decorate your surfaces for a more immersive base. You can craft markings by first making a &bHazard Diamond Wall Marking&r and using a stonecutter to get the rest.", + "quests.tfg_tips.tools_tips.markings.task": "Any #ags_modernmarkings:markings", + "quests.tfg_tips.tools_tips.cryodesiccation.title": "Cryodesiccation", + "quests.tfg_tips.tools_tips.cryodesiccation.subtitle": "The factory has no time for \"flavor\".", + "quests.tfg_tips.tools_tips.cryodesiccation.desc": "&l&bCryodesiccation&r&r is the process of dehydrating food at very low temperatures. Food with the trait \"Cryodesiccated\" lasts considerably longer than other food preservation methods.", + "quests.tfg_tips.tools_tips.harvest_basket.title": "Harvest Baskets", + "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "For competitive pie bakers.", + "quests.tfg_tips.tools_tips.harvest_basket.task": "Any #tfg:harvester", + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Harvest Baskets&r&r are a new tool made just for &5TFG&r! These baskets can be used to harvest whole trees and bushes of fruit in one right-click! A regular &6Harvest Basket&r has a base durability of &n128&r. But an &3Aluminium Harvest Basket&r takes no damage on use." } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 1fa114ab8..82f7e367a 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -172,6 +172,7 @@ "block.tfg.rock.gravel_deepslate": "Гравій мігматиту", "block.tfg.spike.deepslate_spike": "Шип Мігматиту", "block.tfg.loose.deepslate": "Розсипчастий Мігматитовий Камінь", + "block.tfg.rock.aqueduct_deepslate": "Акведук з мігматиту", "block.tfg.rock.hardened_blackstone": "Затверділий Піроксеніт", "block.tfg.rock.cobble_blackstone_stairs": "Піроксенітові круглякові сходи", "block.tfg.rock.cobble_blackstone_slab": "Піроксенітова круглякова плита", @@ -213,6 +214,7 @@ "block.tfg.rock.gravel_dripstone": "Гравій травертину", "block.tfg.spike.dripstone_spike": "Шип Травертину", "block.tfg.loose.dripstone": "Розсипчастий Травертиновий Камінь", + "block.tfg.rock.aqueduct_dripstone": "Акведук з травертину", "block.tfg.rock.crackrack_stairs": "Сходи з необробленого кератофіру", "block.tfg.rock.crackrack_slab": "Плита з необробленого кератофіру", "block.tfg.rock.crackrack_wall": "Стіна з необробленого кератофіру", @@ -237,6 +239,7 @@ "block.tfg.rock.mossy_bricks_nether_wall": "Стіна з мохових кератофірових цеглин", "block.tfg.rock.gravel_crackrack": "Гравій кератофіру", "block.tfg.loose.crackrack": "Відокремлений камінь кератофіру", + "block.tfg.rock.aqueduct_nether": "Акведук з кератофіту", "block.tfg.rock.hardened_moon_stone": "Затверділий Анорозит", "block.tfg.rock.moon_stone_wall": "Стіна з необробленого анортозиту", "block.tfg.rock.cobble_moon_stone_wall": "Стіна з анортозитового кругляка", @@ -252,6 +255,7 @@ "block.tfg.rock.gravel_moon": "Гравій анортозиту", "block.tfg.spike.moon_stone_spike": "Шип з Анорозиту", "block.tfg.loose.moon_stone": "Рихлий Анорозитовий Камінь", + "block.tfg.rock.aqueduct_moon_stone": "Акведук з анортозиту", "block.tfg.rock.hardened_moon_deepslate": "Затверділий Норит", "block.tfg.rock.moon_deepslate_stairs": "Сходи з необробленого нориту", "block.tfg.rock.moon_deepslate_slab": "Плита з необробленого нориту", @@ -284,6 +288,7 @@ "block.tfg.rock.gravel_moon_deepslate": "Гравій нориту", "block.tfg.spike.moon_deepslate_spike": "Норитовий шип", "block.tfg.loose.moon_deepslate": "Рихлий Норитовий Камінь", + "block.tfg.rock.aqueduct_moon_deepslate": "Акведук з норіту", "block.tfg.rock.hardened_mars_stone": "Затверділий Аргіліт", "block.tfg.rock.mars_stone_wall": "Стіна з необробленого аргіліту", "block.tfg.rock.cobble_mars_stone_wall": "Стіна з кругляку аргіліту", @@ -301,6 +306,7 @@ "block.tfg.rock.gravel_mars": "Гравій аргіліту", "block.tfg.spike.mars_stone_spike": "Аргілітовий шип", "block.tfg.loose.mars_stone": "Рихлий Аргілітовий Камінь", + "block.tfg.rock.aqueduct_mars_stone": "Акведук з аргиліту", "block.tfg.rock.hardened_venus_stone": "Затверділий Трахіт", "block.tfg.rock.venus_stone_wall": "Стіна з необробленого трахіту", "block.tfg.rock.cobble_venus_stone_wall": "Стіна з трахітового кругляку", @@ -318,6 +324,7 @@ "block.tfg.rock.gravel_venus": "Гравій трахіту", "block.tfg.spike.venus_stone_spike": "Трахітовий шип", "block.tfg.loose.venus_stone": "Рихлий Трахітовий Камінь", + "block.tfg.rock.aqueduct_venus_stone": "Акведук з трахіту", "block.tfg.rock.hardened_mercury_stone": "Затверділий Коматит", "block.tfg.rock.mercury_stone_wall": "Стіна з необробленого коматіїту", "block.tfg.rock.cobble_mercury_stone_wall": "Стіна з коматитового кругляку", @@ -335,6 +342,7 @@ "block.tfg.rock.gravel_mercury": "Гравій коматіїту", "block.tfg.spike.mercury_stone_spike": "Коматитовий шип", "block.tfg.loose.mercury_stone": "Рихлий Коматитовий Камінь", + "block.tfg.rock.aqueduct_mercury_stone": "Акведук з коматиту", "block.tfg.rock.hardened_glacio_stone": "Затверділий Фоноліт", "block.tfg.rock.glacio_stone_wall": "Стіна з необробленого фоноліту", "block.tfg.rock.cobble_glacio_stone_wall": "Стіна з фонолітового кругляку", @@ -352,6 +360,7 @@ "block.tfg.rock.gravel_glacio": "Гравій фоноліту", "block.tfg.spike.glacio_stone_spike": "Фонолітовий шип", "block.tfg.loose.glacio_stone": "Рихлий Фонолітовий Камінь", + "block.tfg.rock.aqueduct_glacio_stone": "Акведук з фоноліту", "block.tfg.rock.hardened_permafrost": "Затверділий Вічномерзлий Ґрунт", "block.tfg.rock.permafrost_stairs": "Сходи з необробленої вічної мерзлоти", "block.tfg.rock.permafrost_slab": "Плита з необробленої вічної мерзлоти", @@ -372,6 +381,7 @@ "block.tfg.rock.gravel_permafrost": "Гравій вічної мерзлоти", "block.tfg.spike.permafrost_spike": "Шип з Вічномерзлого Ґрунту", "block.tfg.loose.permafrost": "Відокремлений камінь вічної мерзлоти", + "block.tfg.rock.aqueduct_permafrost": "Акведук з вічної мерзлоти", "block.tfg.rock.hardened_red_granite": "Загартований червоний граніт", "block.tfg.rock.red_granite_stairs": "Сходи з необробленого червоного граніту", "block.tfg.rock.red_granite_slab": "Плита з необробленого червоного граніту", @@ -397,12 +407,14 @@ "block.tfg.rock.gravel_red_granite": "Гравій червоного граніту", "block.tfg.loose.red_granite": "Розсипчастий червоний гранітний камінь", "block.tfg.spike.red_granite_spike": "Червоний гранітовий шпиль", + "block.tfg.rock.aqueduct_red_granite": "Акведук з червоного граніту", "block.tfg.rock.stone_wall": "Стіна з реконструйованого каменю", "block.tfg.rock.smooth_stone_stairs": "Сходи з полірованого реконструйованого каменю", "block.tfg.rock.smooth_stone_wall": "Стіна з полірованого реконструйованого каменю", "block.tfg.rock.cracked_bricks_stone_stairs": "Сходи з тріснутих цеглин з реконструйованого каменю", "block.tfg.rock.cracked_bricks_stone_slab": "Плита з тріснутих цеглин з реконструйованого каменю", "block.tfg.rock.cracked_bricks_stone_wall": "Стіна з тріснутих цеглин з реконструйованого каменю", + "block.tfg.rock.aqueduct_stone": "Акведук з реконституйованого каменю", "block.tfg.rock.smooth_red_sandstone_wall": "Стіна з гладкого гематитового пісковику", "block.tfg.rock.cut_red_sandstone_wall": "Стіна з обробленого гематитового пісковику", "block.tfg.rock.raw.stromatolite": "Сирий строматоліт", @@ -650,10 +662,9 @@ "fluid.tfg.ender_slurry": "Ендерський шлам", "fluid.tfg.enriched_ender_slurry": "Збагачений ендерський шлам", "fluid.tfg.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода", - "fluid.tfg.heavy_water": "Важка вода", - "fluid.tfg.semiheavy_water": "Напівважка Вода", "fluid.tfg.sulfur_fumes": "Сірчані випари", "fluid.tfg.super_heated_slurry": "Супернагрітий шлам", + "fluid.tfg.cryogenized_fluix": "Кріогенізований флюїкс", "item.tfg.antipoison_pill": "Антиотруйна Пілюля", "item.tfg.haste_pill": "Пілюля Прискорення", "item.tfg.night_vision_pill": "Пілюля Нічного Бачення", @@ -766,7 +777,7 @@ "item.tfg.food.cooked_birt": "Приготований Бірт", "item.tfg.food.raw_crawlermari": "Сирий Кроулермарі", "item.tfg.food.cooked_crawlermari": "Приготований Кроулермарі", - "item.tfg.food.raw_limpet": "Сирі морські блюдечка", + "item.tfg.food.raw_limpet": "Сирий лімпет", "item.tfg.food.cooked_limpet": "Приготований лімпет", "item.tfg.food.raw_moon_rabbit": "Сирий Місячний Кролик", "item.tfg.food.cooked_moon_rabbit": "Приготований Місячний Кролик", @@ -835,6 +846,8 @@ "item.tfg.food.cooked_stickastackatick": "Приготований Stick'a'Stackatick", "item.tfg.food.raw_cruncher_ribs": "Сирі ребра кранчера", "item.tfg.food.cooked_cruncher_ribs": "Приготовані ребра кранчера", + "item.tfg.food.raw_dino_nugget": "Приготований динозавровий нагетс", + "item.tfg.food.cooked_dino_nugget": "Динозавровий нагетс у пивному клярі", "item.tfg.roasted_sunflower_seeds": "Смажене насіння соняшника", "item.tfg.sunflower_seeds": "Насіння соняшника", "item.tfg.sunflower_product": "Соняшнткова Кепка", @@ -933,9 +946,11 @@ "item.tfg.high_density_treated_fiberboard": "Оброблена ДСП Середньої Щільності", "item.tfg.flax_seeds": "Насіння льону", "item.tfg.flax_product": "Стебла Льону", + "item.tfg.flax_bundle": "Пучок льону", "item.tfg.flax_line": "Волокна Льняної Пряжі", "item.tfg.flax_tow": "Волокна Льняної Куделі", "item.tfg.flax_waste": "Вишкрябаний Льон", + "item.tfg.bundled_scraped_flax": "Пучок очищеного льону", "item.tfg.linen_thread": "Лляна нитка", "item.tfg.linen_cloth": "Лляна тканина", "item.tfg.uv_led": "§dУльтрафіолетовий §fСвітлодіод", @@ -950,6 +965,22 @@ "item.tfg.uranium_rod": "Урановий паливний стрижень", "item.tfg.plutonium_rod": "Плутонієвий паливний стрижень", "item.tfg.tbu_232_rod": "Паливний стрижень TBU-232", + "item.tfg.refrigerant_pellet": "Охолоджувальна гранула", + "item.tfg.graphite_compound": "Графітова сполука", + "item.tfg.raw_graphite_briquette": "Сирий графітовий брикет", + "item.tfg.faulty_graphite_briquette": "Дефектний графітовий брикет", + "item.tfg.washed_graphite_briquette": "Промитий графітовий брикет", + "item.tfg.pure_graphite_rod": "Чистий графітовий стрижень", + "item.tfg.impure_graphite_rod": "Нечистий графітовий стрижень", + "item.tfg.annealed_graphite_rod": "Відпалений графітовий стрижень", + "item.tfg.impure_annealed_graphite_row": "Нечистий відпалений графітовий стрижень", + "item.tfg.moderate_core": "Помірне ядро", + "item.tfg.impure_moderate_core": "Нечисте помірне ядро", + "item.tfg.moderate_core_frame": "Каркас помірного ядра", + "item.tfg.impure_moderate_core_frame": "Каркас нечистого помірного ядра", + "item.tfg.graphite_moderator": "Графітовий модератор", + "item.tfg.impure_graphite_moderator": "Нечистий графітовий модератор", + "item.tfg.advanced_polymer_binder": "Вдосконалений полімерний зв’язувач", "item.tfg.beaker": "Стакан", "item.tfg.beaker.filled": "Стакан з %s", "item.tfg.flask": "Колба", @@ -959,6 +990,28 @@ "item.tfg.lab_equipment": "Лабораторне обладнання", "item.tfg.dirty_lab_equipment": "Брудне лабораторне обладнання", "item.tfg.wireless_card": "Міжпланетна бездротова картка", + "item.tfg.wet_magenta_chalk": "Мокра пурпурова крейда", + "item.tfg.wet_pink_chalk": "Мокра рожева крейда", + "item.tfg.wet_green_chalk": "Мокра зелена крейда", + "item.tfg.wet_lime_chalk": "Мокра лаймова крейда", + "item.tfg.wet_light_gray_chalk": "Мокра світло-сіра крейда", + "item.tfg.wet_yellow_chalk": "Мокра жовта крейда", + "item.tfg.wet_black_chalk": "Мокра чорна крейда", + "item.tfg.wet_light_blue_chalk": "Мокра блакитна крейда", + "item.tfg.wet_brown_chalk": "Мокра коричнева крейда", + "item.tfg.wet_cyan_chalk": "Мокра бірюзова крейда", + "item.tfg.wet_orange_chalk": "Мокра помаранчева крейда", + "item.tfg.wet_red_chalk": "Мокра червона крейда", + "item.tfg.wet_gray_chalk": "Мокра сіра крейда", + "item.tfg.wet_white_chalk": "Мокра біла крейда", + "item.tfg.wet_blue_chalk": "Мокра синя крейда", + "item.tfg.wet_purple_chalk": "Волога фіолетова крейда", + "item.tfg.lamp_casting_mold": "Форма для лиття ламп", + "item.tfg.trapdoor_casting_mold": "Форма для лиття люків", + "item.tfg.chain_casting_mold": "Форма для лиття ланцюгів", + "item.tfg.bell_casting_mold": "Форма для лиття дзвонів", + "item.tfg.rnr_plow": "Візок для мощення", + "item.tfg.cobalt_brass_wheel": "Колесо з кобальтової латуні", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканізований Латекс", "material.tfg.fluix": "Флюс", @@ -1208,6 +1261,15 @@ "entity.tfg.wraptor.male": "Враптор", "entity.tfg.wraptor.female": "Враптор", "tfg.tooltip.attribution.wraptor": "§9§oCredit: Species", + "entity.tfg.surfer": "Серфер", + "tfg.tooltip.surfer_variant.base": "Бірюзова шкіра", + "tfg.tooltip.surfer_variant.bubble": "Шкіра з ягідного цвіту", + "tfg.tooltip.surfer_variant.horn": "Золота шкіра", + "tfg.tooltip.surfer_variant.tube": "Шкіра з ягід Нокс", + "tfg.tooltip.surfer_variant.fire": "Шкіра Сангнум", + "tfg.tooltip.surfer_variant.brain": "Шкіра Ґлаціан", + "tfg.tooltip.attribution.surfer": "§9§oАвтор: Wan's Ancient Beasts", + "entity.tfg.rnr_plow": "Візок для мощення", "effect.tfg.cooling": "§bОхолодження", "effect.tfg.warming": "§6Розігрів", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", @@ -1351,7 +1413,12 @@ "tfg.tooltip.component.refrigerant_pellet": "Може використовуватися як вхід у реакторі поділу для його охолодження, потребує тримача матеріалів", "tfg.tooltip.component.nuclear_turbine_1": "§eБазове виробництво:§r 4096 EU/t", "tfg.tooltip.component.nuclear_turbine_2": "Кожен тримач ротора вище §5EV§r §7додає§r 10% ефективності та множить EU/t на 2.", + "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", + "tfg.gui.rnr_plow.random_mode": "Рандомізувати матеріали", + "tfg.gui.rnr_plow.width": "Ширина шляху: %d блоків", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cВідсутній шар щебеневої основи!!", "tfc.jei.flint_knapping": "Обробка Кременю", "tfc.jei.straw_knapping": "Вибивання Соломи", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Фарбування", @@ -1555,6 +1622,9 @@ "quests.ae2.cutting_knife.desc": "Це інструменти для зручного перейменування всіх ваших компонентів ME. Навіщо це робити? Якщо ви перейменуєте свої Постачальники шаблонів, їхні назви будуть відображатися в Терминалі шаблонів, що дуже зручно для відстеження, який Постачальник шаблонів підключений до якої машини.\n\nНаприклад, назва Малий екструдер шестерень для Постачальника шаблонів дозволить вам легко зрозуміти, що цей екструдер містить форму для малих шестерень, тож сюди слід класти лише шаблони малих шестерень.", "quests.ae2.cutting_knife.task": "Будь-який ніж для різання", "quests.ae2.pattern_box.desc": "Скринька шаблонів може зберігати всі твої порожні та закодовані шаблони в одному слоті інвентаря, і вони будуть видимі в будь‑якому інтерфейсі пристроїв AE2, доки скринька знаходиться у твоєму інвентарі.", + "quests.ae2.wireless_access.title": "ME Бездротова мережа", + "quests.ae2.wireless_access.subtitle": "Отримуй безкоштовний Wi‑Fi будь-де, куди б ти не пішов", + "quests.ae2.wireless_access.desc": "Коли ви досягнете &5EV&r, отримаєте доступ до ME Бездротової Точки Доступу, яка фактично працює як Wi‑Fi роутер для вашої ME‑мережі. \nПід’єднайте її до центральної точки у вашій базі, вставте стільки карток Бездротового Підсилювача, скільки потрібно, щоб збільшити радіус дії (і споживання енергії), а потім прив’яжіть до неї Бездротовий Терміал. \n\nКоли у вас з’являться Епоксидна смола та Родій, ви зможете об’єднати всі свої Бездротові Термінали в Універсальний Терміал!", "quests.ae2.interplanetary_wireless.subtitle": "Забув щось удома?", "quests.ae2.interplanetary_wireless.desc": "Ви можете модернізувати свій Бездротовий термінал за допомогою цієї спеціальної картки, отримавши доступ до вашої мережі з будь‑якої відстані, навіть з інших світів! Звучить занадто добре, щоб бути правдою? Є суттєвий недолік — передавання предметів споживає величезну кількість енергії. \n\nЧастково обійти це можна за допомогою Енергетичних карток і батареї у вашому інвентарі, встановленої в режим Розрядки, але цього має вистачити для тих випадків, коли ви випадково залишили щось на своїй базі на Землі й не хочете летіти назад. \n\nДля повноцінного автоматизованого перенесення вам знадобиться Рейкотрон.", "quests.ae2.iv.title": "AE2 рівня IV", @@ -1719,6 +1789,250 @@ "quests.development.hull_zpm.title": "Створення на &cZPM&r", "quests.development.hull_zpm.subtitle": "М'яка і Мокра електроніка", "quests.development.hull_zpm.desc": "Це лінія &9Мокрої&r електроніки.\n\nЦе буде найбільший виклик автоматизації у цьому модпаку. Бажаю успіху.", + "quests.extreme_voltage": "&5EV&r – Екстремальна напруга", + "quests.extreme_voltage.subtitle": "Досягніть Марса, відкрийте ядерний поділ і будуйте нові гігантські багатоблокові структури", + "quests.extreme_voltage.welcome_to_ev.title": "Це екстремальна напруга", + "quests.extreme_voltage.welcome_to_ev.subtitle": "Вперед до ядерної ери на Марсі", + "quests.extreme_voltage.welcome_to_ev.desc.1": "Ви збудували нові &6хімічні лінії&r, виготовили передові &bсплави&r і навіть запустили &dракету&r, щоб дістатися Місяця. Сподіваємось, вам сподобалася ця подорож, адже тепер усе стане ще складнішим — попереду потужні нові машини та вимогливі процеси.\n\nУ &5розділі EV&r вашою головною метою буде створення ваших перших схем &1IV&r та &dLuV&r.", + "quests.extreme_voltage.welcome_to_ev.desc.2": "На вас чекають кілька ключових випробувань:\n\n• Збудуйте свій першу &6Доменну плавильню сплавів&r — швидшу версію ЕДП, спеціалізовану для сплавів. Завдяки йому ви зможете створити свою першу велику машину: &6Велику центрифугу&r, необхідну для лінії ядерного поділу. Також це дозволить модернізувати переробку руди за допомогою швидшої термічної центрифуги.\n\n• Опaнуйте нашу оригінальну &eвольфрамову лінію&r — замикання всіх потрібних матеріалів випробує і ваші знання, і ваше терпіння.\n\n• Готуйтеся летіти на &4Марс&r, де ви станете &aпозаземним фермером&r, а також навчитеся використовувати &cсилу атома&r.\n\nБажаємо успіху — саме тут GregTech починає показувати свою справжню глибину!", + "quests.extreme_voltage.distillation_tower.title": "Дистиляційна вежа", + "quests.extreme_voltage.distillation_tower.subtitle": "Пане Президенте, ще одна дистиляційна вежа з’явилася на виробничому майданчику", + "quests.extreme_voltage.distillation_tower.desc.1": "&6Дистиляційна вежа&r (ДВ) — це пряме багатоблокове оновлення &6дистилятору&r. Більше не доведеться обирати вихідні продукти — ДВ обробляє їх усі автоматично, але з підвищеним енергоспоживанням.\n\nЦя машина стане вашим основним інструментом у всьому, що стосується &eпетрохімії&r чи &eорганічної дистиляції&r.", + "quests.extreme_voltage.distillation_tower.desc.2": "Як і &6чиста кімната&r, ДВ можна робити вищою, але не ширшою. Починаючи з другого шару, кожен додатковий рівень вимагає &9вихідного люка&r і надає один додатковий слот для виходу рідини; якщо на рівні немає вихідного люка, відповідна рідина буде втрачена. Порахуйте кількість виходів за допомогою &dEMI&r, щоб знати, скільки шарів вам потрібно. Як завжди, використовуйте вкладку попереднього перегляду багатоблоку в &dEMI&r і натисніть на багатоблок, щоб побачити, де можна розмістити кожну частину.", + "quests.extreme_voltage.distillation_tower.desc.3": "&cПримітка:&r Будьте обережні: не перерозганяйте ДВ під час виробництва пального! Надмірний розгін може зменшити загальну енергетичну віддачу, особливо для дизельного пального. Зробіть розрахунки та двічі їх перевірте.", + "quests.extreme_voltage.cracker.subtitle": "Ти мене до сліз смішиш", + "quests.extreme_voltage.cracker.desc": "&3Крекер&r — це багатоблок, створений виключно для крекінгу рідин. Він підтримує всі рецепти &3Хімічного реактора&r для крекінгу, але є &6безвтратним&r.\n\nЦе чудовий спосіб заощадити багато палива в довгостроковій перспективі!\n\nВищі рівні котушок забезпечують невелику знижку на споживання енергії — до 70%% з найкращими доступними котушками.", + "quests.extreme_voltage.ev_components.title": "Компоненти екстремальної напруги", + "quests.extreme_voltage.ev_components.subtitle": "\"Веселощі\" ніколи не закінчаться", + "quests.extreme_voltage.ev_components.desc": "&7На цьому етапі ти вже маєш звикнути до шаблону: з кожним новим енергетичним рівнем з’являється нова партія компонентів.&r\n\nРівень &5EV&r має кілька особливостей — по-перше, &eНеодим&r. Можливо, ти вже маєш трохи з попередніх шахтарських вилазок, але також знайдеш його у великих кількостях при переробці &eМонацитної руди&r.\n\nПо-друге, для сенсорів і випромінювачів потрібні &bКріогенізовані перли флюіксу&r. Сподіваюсь, твоя інфраструктура на &dМісяці&r вже працює і може їх ефективно постачати.\n\nІ нарешті, для моторів потрібен дріт з канталу. Якщо ти сумлінно оновлював свій ЕДП, їх виготовлення має бути значно швидшим, ніж на рівні MV (і ти можеш переробити старі котушки!), але Плавильник сплавів зробить це ще швидше.", + "quests.extreme_voltage.t2_rocket.title": "Ракета 2: Титанова буґалу", + "quests.extreme_voltage.t2_rocket.subtitle": "Цей — фіолетовий", + "quests.extreme_voltage.t2_rocket.desc": "Цю нову ракету не має бути надто складно зібрати, але ти помітиш явне зростання витрат матеріалів порівняно з попередньою моделлю.\n\nОновлені &6Ракетні сплави&r тепер потребують як &bДистильовану воду&r, так і &bКріогенізований флюікс&r для охолодження.\n\nПереконайся, що твоя виробнича лінія &eТитану&r повністю налагоджена, адже тобі знадобиться його дуже багато! Безперервне виробництво зекономить тобі чимало нервів у майбутньому.", + "quests.extreme_voltage.mars.title": "Я на &4Марсі&r!", + "quests.extreme_voltage.mars.subtitle": "Червона планета", + "quests.extreme_voltage.mars.desc.1": "Перш ніж висадитися на &4Марс&r, варто пам’ятати кілька важливих речей. \n\nПо‑перше, як і на Місяці, на &4Марсі&r також будуть ворожі істоти на поверхні. Якщо ви ще не з’ясували, як зробити так, щоб ваш Космічний костюм залишався з вами після смерті, або не інвестували в нову зброю рівня EV, вам буде нелегко. \n\nПланета здебільшого є &eпустельним світом&r, усіяним «&aостровами&r», де можна знайти &bводу&r, багату фауну та значно безпечніші місця для побудови першої бази. \nТим часом відкрита пустеля надзвичайно небезпечна, якщо не стежити за кожним кроком, але саме там містяться й інші важливі ресурси!", + "quests.extreme_voltage.mars.desc.2": "Усі &bжилки рідин&r розкидані по всьому Марсу, за винятком &eВажкої аміачної води&r, яку можна знайти лише поза пустелею. Це ще одна вагома причина облаштувати базу саме там. \n\nЩодо енергії, &4Марс&r спершу не буде до вас прихильним. \n\nМайже кожен звичний &6метод генерації енергії&r на цій планеті відключений або марний, тож вам доведеться майже повністю покладатися на &cЯдерний поділ&r для живлення своєї бази. \n\nНа самому початку рекомендується взяти із собою кілька &bзаряджених батарей&r, наприклад &bКристали Лапотрону&r, щоб розпочати, а далі вже переходити до встановлення Паливних стрижнів із Торію. \n\nДосягнення енергетичної стабільності на Марсі потребуватиме часу та зусиль, але коли ваші системи працюватимуть без збоїв, ви відчуєте, що &9необмежена енергія&r буквально у вас на долоні.", + "quests.extreme_voltage.mars.desc.3": "І ще одна порада: не вбивайте все, що бачите. Деяких &aтварин&r можна &fрозводити&r, і вони вам обов’язково знадобляться пізніше у прогресі. \n\nОбов’язково перегляньте розділ &aВиживання в космосі&r для додаткових порад, пов’язаних із Марсом! \n\nБудьте пильними, плануйте наперед — і Марс винагородить вашу відвагу.", + "quests.extreme_voltage.mars.task": "Висадка на Марс", + "quests.extreme_voltage.nuclear_fuel_factory.title": "Фабрика ядерного палива", + "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "Гарячий стрижень", + "quests.extreme_voltage.nuclear_fuel_factory.desc": "&6Завод ядерного палива&r має лише одну мету: виробництво паливних стрижнів для вашого &cреактора поділу&r.\n\nВін підтримує &9паралельні люки&r, які ви відкриєте незабаром, але наразі вони не є обов’язковими. За функціоналом він працює подібно до піролізної печі: що &eкращі котушки&r ви встановите, то швидше виконуватимуться рецепти.\n\nОскільки виробництво паливних стрижнів є і &cповільним&r, і &cдорогим&r, ми наполегливо рекомендуємо використовувати &aкотушки найвищого рівня&r. Не витрачайте час на мельхіорові — цим ви лише обмежите власний прогрес.", + "quests.extreme_voltage.heavy_water.title": "Важка вода", + "quests.extreme_voltage.heavy_water.subtitle": "Вода для хардкору", + "quests.extreme_voltage.heavy_water.desc": "Щоб запустити ваш &cреактор поділу&r, вам знадобиться стабільне постачання &bважкої води&r, і знайти її можна лише в одному місці.\n\nВона розташована у &aглибоких жилах рідин&r, що трапляються виключно під &aзеленими островами&r Марса. Візьміть свій &6рудний розвідник&r, перемкніть його в &bрежим рідин&r і починайте сканування.\n\nОскільки кількість &bважкої води&r, необхідної для безперервної роботи реактора, є величезною, вам варто серйозно розглянути інвестицію у &6Велику центрифугу&r, щоб виробляти її самостійно.\n\nВстановіть &516A EV енергетичний люк&r — і ви будете готові до справжнього масового виробництва, яке гарантує, що ваш реактор ніколи не залишиться без охолодження.\n\nНадійне охолодження означає надійну енергію — будуйте з розумом!", + "quests.extreme_voltage.nuclear_turbine.title": "Ядерна парова турбіна", + "quests.extreme_voltage.nuclear_turbine.subtitle": "Парова енергія знову в грі, крихітко", + "quests.extreme_voltage.nuclear_turbine.desc": "Завдяки Ядерному поділу ви отримуєте доступ до абсолютно нової &6Спеціалізованої Турбіни&r! (Звичайна Велика Парова Турбіна може працювати лише зі звичайною парою.) \n\nВона працює так само, як і попередні турбіни, але, подібно до Газової Турбіни, вимагає щонайменше &5EV Тримача ротора&r для роботи. \n\nКотушки всередині цієї турбіни мають бути з &7Купронікелю&r, і вони жодним чином не впливають на продуктивність (але, треба визнати, виглядають доволі стильно). \n\nУ цьому завданні ми пропонуємо два &aРотори&r, які добре підходять для турбіни на цьому етапі, але сміливо експериментуйте й використовуйте будь‑який &bротор&r, що найкраще відповідає вашій збірці.", + "quests.extreme_voltage.reactor_components.title": "Керування тепловиділенням реактора", + "quests.extreme_voltage.reactor_components.subtitle": "Активні та пасивні способи охолодження реактора", + "quests.extreme_voltage.reactor_components.desc.1": "Однією з найцікавіших особливостей Ядерного реактора є можливість додавати всередину блоки, щоб змінювати його &eмаксимальну теплову ємність&r. \n\nУ кутах реактора можна розмістити певні &6Компонентні блоки&r — загалом до &e20 блоків&r. \nНаприклад, можна використати &9Тримачі предметів&r і вставити в них охолоджувальні предмети через вхідні шини, що допомагає контролювати накопичення тепла. \n\nВажливо зазначити, що Тримачі предметів — це &cєдиний спосіб&r увімкнути частину реактора, пов’язану з &bобробкою рецептів&r. \n\nРозумна внутрішня конфігурація стане вирішальною різницею між стабільним реактором і тим, що йде на охолодження, тож плануйте розташування уважно!", + "quests.extreme_voltage.reactor_components.desc.2": "Як уже обговорювалося раніше, використання трьох &eТорієвих стрижнів&r підніме температуру вашого реактора приблизно до &c420&r, що трохи перевищує стандартний ліміт. Однак ви можете безпечно досягти цього порогу, покращивши &6ізоляцію реактора&r. \n\nДодавання &e10 Каркасних льодових вовняних блоків&r або &e20 Каркасних блоків ізоляції AES&r усередині конструкції підвищить максимальну температуру реактора до &e420&r, дозволяючи працювати з трьома Торієвими стрижнями без переходу в режим охолодження. \n\nМайте на увазі, що збільшення кількості активних стрижнів також прискорює їх &aзношування&r. Це означає, що кожен стрижень у середньому вироблятиме менше пари за тик, знижуючи його &aефективність&r, але водночас це &bзначно прискорить виробництво матеріалів поділу&r. \n\nЧи віддасте ви перевагу &aефективності&r чи &bпропускній здатності&r — повністю залежить від вас. Саме цей баланс і є серцевиною майстерності роботи з &6Ядерним реактором&r.", + "quests.extreme_voltage.heat_exchanger.title": "Теплообмінник", + "quests.extreme_voltage.heat_exchanger.subtitle": "Усе це тепло ж має кудись діватися!", + "quests.extreme_voltage.heat_exchanger.desc.1": "&6Теплообмінник&r — це критично важливий компонент наступного етапу вашої Лінії поділу: він потрібен не лише для охолодження, а й для виробництва більшої кількості &eПари високого тиску&r, яка живить вашу Ядерну турбіну. \n\nВін підтримує &bІдеальний розгін&r та &bСубтакт обробку&r. Якщо ці терміни вам незнайомі, настійно рекомендуємо переглянути розділ &dЕнергетика GregTech&r, щоб повністю зрозуміти, як вони впливають на продуктивність.", + "quests.extreme_voltage.heat_exchanger.desc.2": "Не стримуйтеся! Встановіть &516A EV Енергетичний люк&r від самого початку, щоб ніколи не перейматися обмеженнями швидкості чи пропускної здатності. \n\nМи також надаємо вам &9Контролер машини&r, який слід під’єднати до головного контролера вашого Теплообмінника. Ми помітили, що машина іноді може несподівано вимикатися, тож обов’язково увімкніть параметр &eЗапобігання збоїв живлення&r. Це нейтралізує механіку GregTech, яка вимикає машини при короткочасній втраті енергії.", + "quests.extreme_voltage.refrigerant_pellet.title": "Охолоджувальні гранули", + "quests.extreme_voltage.refrigerant_pellet.subtitle": "Тимчасове рішення для екстремальних температур", + "quests.extreme_voltage.refrigerant_pellet.desc": "&eПлутонієвий паливний стрижень&r працює при надзвичайно високих температурах — настільки високих, що вам доведеться використовувати &bОхолоджувальні пелети&r усередині реактора, аби запобігти переходу в режим охолодження. \n\nЦі пелети досить дорогі у виробництві, але ви все ж зможете налагодити їх масове виготовлення на ранньому етапі — або принаймні достатньо, щоб підтримувати роботу перших кількох плутонієвих стрижнів. Для повного циклу одного Плутонієвого стрижня потрібно приблизно &9256&r. \n\nПізніше, якщо вам не подобається постійно крафтити ці витратні матеріали, ви отримаєте доступ до &6покращених компонентів реактора&r. З ними ваш реактор зможе безпечно досягати &e600 Макс. тепла&r, що значно підвищить ефективність і стабільність. \n\nІнвестуйте в кращі внутрішні частини заздалегідь, щоб витрачати менше часу на «нянькування» вашого енергетичного ядра.", + "quests.extreme_voltage.important_info.title": "Перш ніж почати", + "quests.extreme_voltage.important_info.subtitle": "Не найпростіше місце для початку", + "quests.extreme_voltage.important_info.desc.1": "Перш ніж почати будувати свою базу на &cМарсі&r, ось кілька важливих порад, які допоможуть вам успішно облаштуватися.&r\n\nПід час досліджень ви можете натрапити на &6Марсіанські руїни&r, що містять &eАтомні корпуси&r та &eКорпуси для високих температур&r. Вони не замінять величезної кількості, яка знадобиться вам пізніше, але можуть дати невеликий стартовий бонус під час пошуку ідеального місця для бази.&r", + "quests.extreme_voltage.important_info.desc.2": "Коли йдеться про вашу марсіанську інфраструктуру, існує два основні підходи:&r \n\n• &aОрієнтований на підготовку&r: Збудуйте все необхідне для повної &6Лінії поділу&r ще до заснування бази. Це означає величезні матеріальні витрати, але дозволить бути самодостатнім після запуску. \n\n• &aПоступове розгортання&r: Почніть із меншого — вашої &6Фабрики ядерного палива&r, першого &6Ядерного реактора&r (на &eТорії&r) та &6Ядерної турбіни&r. Цей шлях швидший на старті, але керування енергією буде складним, доки система поділу не стабілізується. \n\nУ будь‑якому випадку ми завжди рекомендуємо провести розвідувальну місію, перш ніж оселятися!", + "quests.extreme_voltage.important_info.desc.3": "Оскільки жоден вид енергії на основі згоряння не працюватиме на Марсі, вам слід привезти добрий запас &bКристалів Лапотрону&r, щоб живити перші рецепти та системи подачі кисню. \n\nМи також наполегливо рекомендуємо встановити &6Дистиляційну вежу&r. &eМарсіанське повітря&r можна переробити на придатне для дихання &bПовітря&r та кілька інших корисних газів. \nАльтернативно, усе необхідне для Стисненого Нітроксу можна отримати з місцевої Напівважкої аміачної води. \n\nВиживання на Марсі — це не питання удачі, а питання підготовки!", + "quests.extreme_voltage.important_info.task": "Час Марсувати", + "quests.extreme_voltage.dense_lead.title": "Швидші щільні свинцеві пластини", + "quests.extreme_voltage.dense_lead.subtitle": "Не розраховуйте на це для інших щільних пластин", + "quests.extreme_voltage.dense_lead.desc": "Через величезну кількість Щільних свинцевих пластин, необхідних для Атомних корпусів, ми пропонуємо новий, хоча й менш ефективний рецепт за допомогою Імплозійного компресора. \nСміливо використовуйте його, якщо не хочете чекати вічність на роботу ваших згиначів.", + "quests.extreme_voltage.thorium_rod.title": "Паливні стрижні", + "quests.extreme_voltage.thorium_rod.subtitle": "Користуйтеся обережно", + "quests.extreme_voltage.thorium_rod.desc.1": "Кожен &6Паливний стрижень&r має власний набір характеристик, зокрема &aміцність&r (тривалість роботи в реакторі), &cтепловиділення&r (кількість тепла, яке він виробляє), а також різні &eпродукти&r та рівні &bвироблення пари&r. Усе це можна переглянути безпосередньо у вкладках &aEMI&r для кожного стрижня.&r\n\nПерш ніж занурюватися в принцип роботи Реактора поділу, ось кілька ключових моментів, які варто зрозуміти:&r", + "quests.extreme_voltage.thorium_rod.desc.2": "• Показник &eВідсотка тепла&r, відображений на паливному стрижні, перетворюється у реакторі на трохи менше ніж подвоєне значення. \nНаприклад, &eТорієвий стрижень&r із &cТеплом&r 70%% генеруватиме трохи менше ніж 140 тепла, якщо в реактор буде закачано достатньо &bВажкої води&r. \nЦе підвищення тепла є &aадитивним&r, тобто 2 Торієвих стрижні піднімуть загальне тепло реактора приблизно до 280.&r", + "quests.extreme_voltage.thorium_rod.desc.3": "• &aМіцність&r зменшується з однаковою базовою швидкістю для всіх стрижнів. \nОднак чим вища температура реактора, тим швидше стрижні зношуються. \nЧерез це, навіть якщо певний тип стрижня має у 4× більшу міцність за інший, це не обов’язково означає, що він прослужить у 4× довше, адже &cтемпература безпосередньо впливає на тривалість служби&r.&r \n\nБалансування кількості стрижнів у реакторі стане вашим першим викликом у роботі з поділом.", + "quests.extreme_voltage.fission_reactor.title": "Реактор поділу", + "quests.extreme_voltage.fission_reactor.subtitle": "О ні, він знову перейшов у режим охолодження", + "quests.extreme_voltage.fission_reactor.desc.1": "Для початку, якщо ви шукаєте глибше занурення в механіку &6Ядерного реактора&r, включно з формулами, детальними розрахунками та поведінкою системи, ознайомтеся із завданням у розділі &aЕнергетика GregTech&r. Там ви знайдете все необхідне, якщо хочете розібратися в математиці, що стоїть за системами тепла та ефективності.&r \n\nА зараз зосередимося на вашому першому &6Торієвому реакторі&r. Його базове &cМакс. тепло&r становить &e400&r. Як пояснювалося в попередньому завданні, робота з двома Торієвими стрижнями підніме внутрішнє тепло приблизно до &e280&r, що є цілком безпечним. Однак додавання третього стрижня підніме загальне тепло приблизно до &c420&r, перевищуючи ліміт і запускаючи &cрежим охолодження&r.", + "quests.extreme_voltage.fission_reactor.desc.2": "Не хвилюйтеся, вибуху не буде, але ваш реактор вимкнеться і не перезапуститься, доки повністю не охолоне до 0 тепла. Це повністю зупинить як &aвиробництво енергії&r, так і генерацію &aпродуктів поділу&r — серйозний відкат. \n\nКерування кількістю активних стрижнів стане вашим першим &6викликом&r і головною «міні‑грою» у роботі з поділом. \n\nЄ кілька способів підійти до цього, і експерименти — частина задоволення. \n\nОдин зі способів — під’єднати до реактора &6Редстоун порт&r і, використовуючи &aГайковий ключ&r, перемикати його режим моніторингу між &eкількістю стрижнів&r та &cрівнем тепла&r. \n\nНарешті, майте на увазі, що всі стрижні зберігаються всередині &6Тримача палива&r. Це означає, що обмеження кількості активних стрижнів — це не просто покласти 2 стрижні у вхідний буфер, &cвам доведеться контролювати, що саме потрапляє у Вхідний буфер&r, щоб точно налаштувати роботу реактора.", + "quests.extreme_voltage.high_pressure_steam.title": "Пара високого тиску", + "quests.extreme_voltage.high_pressure_steam.subtitle": "Краща пара, більша турбіна", + "quests.extreme_voltage.high_pressure_steam.desc": "&4Важлива інформація&r: Якщо в реакторі немає достатньо місця для виведення Пару високого тиску, він просто буде втрачений. \n\nЗ міркувань балансування (та пропускної здатності труб) &6Ядерний реактор&r не виробляє звичайну пару. Натомість він генерує &bПару високого тиску&r, яку можна використовувати лише у &6Ядерній паровій турбіні&r. \n\nСпроба запустити її через стандартну Парову турбіну &cне спрацює&r.", + "quests.extreme_voltage.ev_superconductor.title": "EV Надпровідники", + "quests.extreme_voltage.ev_superconductor.subtitle": "Потужніша здатність до амперів", + "quests.extreme_voltage.ev_superconductor.desc": "Тепер, коли ви вже обробили трохи &eУрану&r, вам варто звернути увагу на &5EV Надпровідники&r. \n\nЦі надпровідники мають вищу амперну пропускну здатність, що допомагає ефективно передавати енергію по всій вашій базі та гарантує, що вихід від ваших &6Ядерних парових турбін&r досягне всіх машин без втрат.", + "quests.extreme_voltage.uraninite_dust.subtitle": "Це багато стрижнів", + "quests.extreme_voltage.uraninite_dust.desc": "Щоб створити &eУранові паливні стрижні&r, вам знадобиться значна кількість &eУранініту&r — приблизно &c240 пилу&r на один стрижень. Почніть видобувати його заздалегідь, щоб задовольнити попит у майбутньому. \n\nНайбільші жили можна знайти на Марсі, де деякі поклади досягають &aвражаючих розмірів&r. \nПізніше у вашому прогресі ви зможете виробляти Настуран і пил Уранініту &aнескінченно&r за допомогою &6Лінійного прискорювача з Оструму&r, але ми розглянемо це детальніше в одному з наступних завдань.", + "quests.extreme_voltage.uranium_line.title": "Уранова лінія", + "quests.extreme_voltage.uranium_line.subtitle": "Це ще одна нова лінія обробки", + "quests.extreme_voltage.uranium_line.desc": "Щоб обробляти &eУран&r та його &eІзотоп Уран‑235&r, вам потрібно налаштувати окрему невелику лінію переробки. \n\nМожете бути певні, що &aФтор&r можна &aзациклювати&r, тож єдиним вхідним ресурсом залишатиметься &eПил уранініту&r. \n\nЦю лінію можна збудувати на Землі, але зручніше буде розмістити її на Марсі, де видобувається більшість уранінітової руди.", + "quests.extreme_voltage.radioactive_waste.title": "Радіоактивні відходи", + "quests.extreme_voltage.radioactive_waste.subtitle": "Сміття для одного — матеріал для прогресу для іншого", + "quests.extreme_voltage.radioactive_waste.desc": "Радіоактивні відходи — це &cкритичний побічний продукт&r для створення ваших наступних паливних стрижнів, тож завжди переконуйтеся, що є достатньо місця для їх виведення. Якщо Ядерний реактор не зможе знайти доступний вихід, він просто &cутилізує відходи&r, втрачаючи цінні ресурси. \n\nМи рекомендуємо або: \n- Встановити спеціальний Вихідний люк у &blocked mode&r \n- Використати Супер‑скриню з Кришкою розширеного детектора рідин \n\nЯкщо у вас є &dME мережа&r на Марсі, ще одним варіантом стане нещодавно розблокований &6ME Вихідний люк&r.", + "quests.extreme_voltage.uranium_rod.subtitle": "Нарешті, справжня потужність!", + "quests.extreme_voltage.uranium_rod.desc.1": "Це паливо другого покоління — воно має &aв 4× більшу міцність&r і виробляє &aв 5× більше пари&r у порівнянні зі стандартним &eТорієвим стрижнем&r. Проте існують важливі компроміси, які потрібно врахувати. \n\n&9Вартість виробництва та налаштування:&r \n• Виробництво цього палива постійно споживає &eТорієві стрижні&r, тому рекомендується виділяти окремий &6Ядерний реактор&r для кожного з цих удосконалених стрижнів. Хоча, якщо ви готові до виклику керування ними в одному реакторі, це також можливо.", + "quests.extreme_voltage.uranium_rod.desc.2": "Варіанти тепловідведення: Один Урановий паливний стрижень генерує близько &c435 тепла&r у стандартному реакторі, що значно перевищує базовий ліміт. Щоб впоратися з цим, у вас є три основні варіанти: \n\n&7→&r &eВстановіть 20 блоків Каркасної крижаної вовни&r всередині реактора, щоб підняти &cМакс. тепло&r до &e440&r, дозволяючи одному стрижню працювати безпечно. \n\n&7→&r &6Використовуйте Тримачі матеріалів&r і закачуйте великі обсяги &bСухого льоду&r для зниження температури реактора. Це вимагає розвиненої інфраструктури та доступу до &bжил рідини CO2&r на Марсі. \n\n&7→&r &bВикористовуйте Холодоагентні гранули&r, розміщені у Тримачах матеріалів. Вони працюють подібно до Сухого льоду, але значно потужніші. Зверніть увагу, що для створення Холодоагентних гранул витрачається чимала кількість &eФтору&r, і на цьому етапі у вас немає його нескінченного запасу. \n\nЗвісно, ви також можете зробити власний мікс і поєднати всі ці варіанти.", + "quests.extreme_voltage.uranium_rod.desc.3": "&cВажлива примітка щодо Уранових паливних стрижнів:&r Реактори, що працюють на &eУранових стрижнях&r, потребують значно більшого запасу &bВажкої води&r для охолодження. Переконайтеся, що у вас є достатнє виробництво або сховище Важкої води, перш ніж запускати ці стрижні, інакше ваш реактор дуже швидко досягне критичних меж охолодження. \n\nРетельно плануйте свої лінії постачання та стратегію охолодження — ці види палива потужні, але вони вимагають серйозної інфраструктури.", + "quests.extreme_voltage.uranium_waste.title": "Уранові відходи та Радіоактивна пара", + "quests.extreme_voltage.uranium_waste.subtitle": "Ви вгадали, ще більше переробки", + "quests.extreme_voltage.uranium_waste.desc.1": "Продукти від &eУранових паливних стрижнів&r трохи складніші, ніж у торію. \n\n&6• Уранові відходи&r — це сировина, з якої починається &dЛінія плутонію&r. Їх можна обробляти одразу. \n\n&6• Радіоактивна пара&r, на відміну від звичайної, потребує обробки у &6Теплообміннику&r. Пропустіть радіоактивну пару через Теплообмінник, щоб відновити Пару високого тиску.", + "quests.extreme_voltage.uranium_waste.desc.2": "Крім того, ваша Радіоактивна пара повинна нагрівати &eФорміат амонію&r до &eФормаміду&r, який є ключовим попередником для виробництва плутонієвого палива. Це означає, що перш ніж ви зможете надійно отримувати Пару високого тиску з Уранового реактора для виробництва енергії, необхідно забезпечити безперервне постачання &eФорміату амонію&r для цього ланцюга перетворення. \n\n&cПрактична примітка:&r Налаштуйте спеціальну, безперервну лінію для виробництва &eФорміату амонію&r. Без стабільного виробництва Форміату амонію ваш плутонієвий цикл і виробництво Пари високого тиску зупиняться.", + "quests.extreme_voltage.ammonium_formate.title": "Форміат Амонію", + "quests.extreme_voltage.ammonium_formate.subtitle": "Завжди тримайте запас!", + "quests.extreme_voltage.ammonium_formate.desc": "Можливість створювати нескінченний &eФорміат амонію&r є обов’язковою для забезпечення стабільного виробництва енергії, адже без нього ви не зможете переробляти &bРадіоактивну пару&r у Пару високого тиску. На щастя, це не дуже складно! \n\nСпершу, щоб отримати &eМурашину кислоту&r, просто поєднайте CO₂, який можна добути з атмосфери Марса, з водою з Водяного акумулятора. \n\nДалі, для &eАмоніаку&r, просто електролізуйте &eПил хлориду амонію&r, який ви отримали після центрифугування (Напів) важкої аміачної води. \n\nОскільки ви отримаєте надлишок &bКисню&r та &bХлороводневої кислоти&r, обов’язково утилізуйте ці рідини при перевищенні порогу, щоб вони не заблокували виробництво &eФорміату амонію&r.", + "quests.extreme_voltage.nuclear_residue_dust.title": "Пил ядерних залишків", + "quests.extreme_voltage.nuclear_residue_dust.subtitle": "О, так ось звідки береться Радон", + "quests.extreme_voltage.nuclear_residue_dust.desc": "Отримання &eПилу ядерного залишку&r — це перший крок у &dЛінії плутонію&r. \nДля його виробництва потрібен &5EV Газовий прес&r на Марсі. \n\nУ процесі також утворюється &bРадон&r як побічний продукт, і хоча він знадобиться вам на наступних етапах, надлишок із цієї лінії буде значним. Це буде вашим єдиним надійним джерелом Радону на даному етапі. \n\nНа щастя, &eЯдерний залишок&r не потребує складного циклу: просто подайте вихідні продукти з вашого Уранового реактора та Теплообмінника, додайте &eМарсіанський мул&r, і &6Газовий прес&r виробить Пил ядерного залишку. Ви зможете одразу продовжити плутонієвий ланцюг.", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.subtitle": "Що це за дивна суміш?", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.1": "Цей наступний крок є початком численних циклів, що оточують &dЛінію плутонію&r. \n\nЩоб створити &bОкислений пил ядерного залишку&r, вам знадобиться &bДіоксиген дифторид&r. На щастя, від вас не вимагається нескінченна кількість Фтору, адже для безперервної роботи цього рецепта ви згодом відновите Фтор у вигляді &bПлавикової кислоти&r, яку можна електролізувати.", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.2": "Оскільки рецепти займають багато часу, ми все ж радимо підготувати хороший стартовий запас Фтору, щоб запустити цикл. \n\nЯк завжди, під час цього циклу будьте уважні зі зберіганням: повний бак або заблокований буфер можуть зупинити всю вашу лінію, а летіти на Марс, щоб це виправити, буде доволі клопітно. &aСупер резервуари&r або білий список &aAE2 дисків&r з апгрейдами на утилізацію — корисні рішення. \n\nЗверніть увагу, що рецепт також виробляє &eЗалишкову радіоактивну суміш&r. Намагайтеся не утилізувати її, адже вона стане корисним матеріалом для майбутніх систем, таких як &6Лінійний прискорювач з Оструму&r (нескінченні руди з Марса), &6Камера росту&r (перші кроки в біоінженерії) та навіть &6Ядерні реактори&r поза Марсом.", + "quests.extreme_voltage.refined_nuclear_dust.subtitle": "О, так ось куди подівся мій Фтор", + "quests.extreme_voltage.refined_nuclear_dust.desc": "&eОчищений пил ядерного залишку&r дозволяє відновити Фтор у вигляді Плавикової кислоти, щоб ви могли повернути його назад у &bДіоксиген дифторид&r. \n\nВи вже повинні знати, як робити Дистильовану воду, і не забудьте утилізувати надлишок Кисню, якщо вам ніде його зберігати. \n\nЦей рецепт дуже повільний. Якщо ви впевнені у своїх енергетичних можливостях, розгляньте можливість запуску його у &6Великій центрифузі&r, щоб пришвидшити процес. Але будьте обережні — не варто виснажувати занадто багато енергії на ранніх етапах вашого прогресу.", + "quests.extreme_voltage.plutonium.title": "Плутоній", + "quests.extreme_voltage.plutonium.subtitle": "Подивись на цю величезну атомну масу", + "quests.extreme_voltage.plutonium.desc": "Ви нарешті дісталися до Плутонію! Його єдине практичне застосування на даному етапі — це створення &dПлутонієвих паливних стрижнів&r, тож не варто накопичувати його без потреби. \n\nБудь-яку надлишкову пару можна утилізувати або використати у звичайній паровій турбіні, але &6Ядерна парова турбіна&r цю пару не прийме. \n\nЯкщо ви хочете відновити енергію, спрямуйте надлишок у звичайні парові турбіни; інакше безпечно утилізуйте його, щоб уникнути блокувань.", + "quests.extreme_voltage.plutonium_rod.subtitle": "Колись у мене була проблема з енергією", + "quests.extreme_voltage.plutonium_rod.desc.1": "Давайте будемо відвертими: &dПлутонієвий паливний стрижень&r може бути справжнім клопотом у виготовленні, але це справжній &aмонстр енергії&r. Він виробляє майже &eв 4 рази більше Пари високого тиску&r, ніж Урановий стрижень, що робить його ідеальним для масштабування вашої марсіанської інфраструктури, навіть якщо ви запускаєте його рідше.", + "quests.extreme_voltage.plutonium_rod.desc.2": "Однак його &cвеличезне тепло&r становить серйозну проблему. Досягаючи аж &6595 тепла&r, наразі неможливо безпечно запускати його без &bХолодоагентних гранул&r. Перегляньте завдання праворуч, щоб дізнатися більше про цей матеріал, який можна вставити у &6Тримач матеріалів&r. \n\nДобра новина? Ви можете стабілізувати реактор лише з &61 Тримачем матеріалів&r, знизивши температуру приблизно до &e430 тепла&r, що можна контролювати за допомогою &fКаркасної крижаної вовни&r. В іншому випадку &62 Тримачі матеріалів&r повинні утримувати його під повним контролем.", + "quests.extreme_voltage.tritiated_water.title": "Тритійована вода", + "quests.extreme_voltage.tritiated_water.subtitle": "Радіоактивна вода? Та все тут радіоактивне?", + "quests.extreme_voltage.tritiated_water.desc": "Ця &bРадіоактивна вода&r — ключовий компонент для виробництва &eНанопроцесорних пластин&r і зрештою ваших &6перших IV‑схем&r. \n\nВона також використовується в Лінійному прискорювачі з Оструму та може бути електролізована в &6Тритій&r, хоча вам це не знадобиться ще довгий час. \n\n&cБудьте вкрай обережні&r: &bТритієва вода&r надзвичайно цінна, тож не втратьте жодної краплі!", + "quests.extreme_voltage.nano_cpu_wafer.subtitle": "Звучить як реклама", + "quests.extreme_voltage.nano_cpu_wafer.desc": "&dНанопроцесорна пластина&r — це ваш пропуск до IV‑схем, а також до &b64k комірок зберігання AE2&r. \n\nВам знадобиться величезна кількість цих схем, адже відтепер вони використовуються майже в кожному вдосконалому рівні схем — як при &eоновлені самої пластини&r, так і при створенні &aнайвищих версій схем&r. \n\nВони також потрібні для ваших &6IV батарей&r, &dЛапотронних енергетичних сфер&r. \n\nДля довідки: &b1 Плутонієвий паливний стрижень&r виробить достатньо Тритієвої води для &eрівно 9 Нанопроцесорних пластин&r.", + "quests.extreme_voltage.first_iv_circuit.title": "Мейнфрейми — це перші IV схеми!", + "quests.extreme_voltage.first_iv_circuit.subtitle": "Ми вже закінчили з EV?", + "quests.extreme_voltage.first_iv_circuit.desc": "Нарешті, після всього цього часу, ви отримали нову схему та розблокували абсолютно новий рівень. Тепер перед вами відкрито багато можливостей, але вашим головним пріоритетом має стати &6IV Збирач&r, адже він дозволить створити &eКаркасне помірне ядро&r, яке значно підвищує &cМакс. тепло&r вашого реактора, усуваючи потребу в Холодоагентних гранулах. \n\nВи також можете збудувати &5EV Схемототехнічний збирач&r, щоб розблокувати &bНанопроцесорні схеми&r. Проте майте на увазі, що для них знадобляться Нанопроцесорні чипи, тож вам потрібна добре налагоджена установка ядерного поділу, щоб їх підтримувати. \n\nБільше деталей буде надано у &6IV Розділі&r, тож ви нарешті зможете почуватися повністю впевнено, просуваючись у цьому новому рівні.", + "quests.extreme_voltage.moderate_core.subtitle": "Це велике оновлення", + "quests.extreme_voltage.moderate_core.desc": "Настав час для серйозного оновлення вашого &6Ядерного реактора&r. &eКаркасні помірні ядра&r існують у двох версіях, залежно від вашої вдачі. Краща версія дозволяє вашому &dПлутонієвому реактору&r працювати &aз одним стрижнем повністю пасивно&r, тож ви можете попрощатися з постійним виготовленням &bХолодоагентних гранул&r! Ви також можете поекспериментувати, поєднуючи їх із новими каркасними компонентами, потенційно запустивши &aдва плутонієвих стрижні&r одночасно. \n\nТакож відомий як &6Графітова лінія&r, процес створення цих нових блоків є дещо випадковим: ви можете провалити крафт або отримати нижчорівневу версію. Це може ускладнити повну автоматизацію за допомогою &dAE2&r, хоча з ретельним налаштуванням це все ж можливо. \n\nМи залишаємо вам простір для експериментів і пошуку найбільш ефективного способу виробництва цих ядер.", + "quests.extreme_voltage.abs.subtitle": "Ми обожнюємо цей нагрівач", + "quests.extreme_voltage.abs.desc": "&6Доменна плавильна сплавів&r — це дуже особливий мультиблок. Вона працює подібно до &6ЕДП&r, але з кращими котушками, що дозволяють ідеальне розгінне прискорення (див. розділ про Енергію), і може обробляти більшість рецептів ЕДП &aна 25% швидше&r. Зверніть увагу, що вона видає розплавлені рідини замість гарячих злитків! \n\nОднією з ключових особливостей &6ДПС&r є її здатність створювати сплави, необхідні для &6Великих мультиблокових машин&r. По суті, кожна базова машина, як-от Подрібнювач або Дистилятор, має власний мультиблок, що пропонує широкі можливості налаштування, такі як кілька шин/люків введення-виведення або навіть додавання Паралельного люка. \n\nДля детальнішої інформації про ці мультиблоки зверніться до &6Розділу про енергію Gregtech&r.", + "quests.extreme_voltage.ev_mixer.title": "&5EV Змішувач&r", + "quests.extreme_voltage.ev_mixer.subtitle": "Швидший, ніж ваш місцевий бармен", + "quests.extreme_voltage.ev_mixer.desc": "Деякі машини є критично важливими для прогресу, і &6Змішувач&r — одна з них. \n\nВін відкриває кілька необхідних сплавів, потрібних для подальшого розвитку, зокрема &6RTM сплав&r, який вам знадобиться для оновлення котушок у вашому &6ЕДП&r. Цей сплав заблокований як за Лінією Вольфраму, так і частково за Платиновою лінією, тож не очікуйте, що він буде легким. \n\nНезабаром ви також розблокуєте &5Великий змішувач&r, який дозволяє встановити два енергетичні люки. Це може бути останній раз, коли вам доведеться будувати одноблоковий Змішувач, хоча, як завжди, вибір залишається за вами.", + "quests.extreme_voltage.rtm.title": "Сплав RTM", + "quests.extreme_voltage.rtm.subtitle": "Рутеній‑вольфрам‑молібденовий сплав", + "quests.extreme_voltage.rtm.desc": "Щоб створити &6RTM сплав&r, тобі знадобляться і &dРутеній&r, продукт сумнозвісної &dплатинової лінії&r, і &aВольфрам&r, який у TFG зробили трохи складнішим для отримання.\n\nПерш ніж кидатися у виробництво RTM, переконайся, що обидві ці лінії працюють стабільно.\n\nУ звичайному GregTech RTM сплав часто є лише коротким проміжним етапом, але не тут. У &bTerraFirmaGreg&r тобі знадобиться RTM сплав для кількох частин майбутніх багатоблоків поділу. Оскільки HSS‑G котушки ще далеко попереду, ми наполегливо рекомендуємо використовувати &6RTM котушки&r як потужне покращення для багатьох твоїх наявних багатоблоків.", + "quests.extreme_voltage.rtm_coil.subtitle": "Наскільки гарячим воно може стати?", + "quests.extreme_voltage.rtm_coil.desc": "&6RTM котушки&r можуть досягати вражаючих &e4500 K&r, відкриваючи доступ до карбіду танталу — ключового матеріалу для твого просування. Він знадобиться для створення &5сплавного вибухоплавильника&r, а також значно прискорить рецепти у твоїй ЕДП чи фабриці ядерного палива.\n\nЦі котушки навіть допомагають знизити вартість видобутку &aмісячного реголіту&r та &dОструму&r, що робить їх цінними і поза їх основним призначенням.\n\nЗазвичай ти швидко переходиш до HSS‑G, але в &bTFG&r ти не зможеш створити свій &1IV збирач&r, доки не завершиш &5прогресію поділу&r, що робить &6RTM котушки&r набагато важливішим і довготривалішим покращенням.", + "quests.extreme_voltage.ruthenium.title": "Рутеній", + "quests.extreme_voltage.ruthenium.subtitle": "Рідкісний матеріал", + "quests.extreme_voltage.ruthenium.desc": "Щоб допомогти тобі, ось огляд усіх кроків, необхідних для отримання &dРутенію&r через платинову лінію. Не хвилюйся, тобі ще не потрібно завершувати всю &dплатинову лінію&r.\n\n(Зауваж, що &7платинова лінія може змінитися з &4Венерою&r пізніше.)", + "quests.extreme_voltage.gcym_alloys.title": "Великі багатоблокові сплави", + "quests.extreme_voltage.gcym_alloys.subtitle": "Більше сплавів — більше розваг!", + "quests.extreme_voltage.gcym_alloys.desc": "Ласкаво просимо у світ &dвеликих багатоблоків&r. Усі ці сплави знадобляться для багатьох майбутніх багатоблоків, і всі вони починаються зі &eсплавного вибухоплавильника&r. Деякі також будуть потрібні для &eвисокотемпературних плавильних корпусів&r, які є необхідними компонентами для ядерних багатоблоків.\n\n&o&6&lЛор&r:&r &oGregicality Multiblocks спочатку починався як мод для GTCEu на Minecraft 1.12, додаючи великі версії машин GregTech та &6паралельний люк&r. &oКоли GTCEu було перенесено на 1.20, цей мод повністю інтегрували в &dGTm&r — &oі ніхто ніколи не скаржився на це&r. Для тих, хто насолоджувався 1.12, ви можете пам’ятати їх як &dGCYM мульти&r.", + "quests.extreme_voltage.tungsten_steel.title": "Вольфрамова Сталь", + "quests.extreme_voltage.tungsten_steel.subtitle": "Основний матеріал IV", + "quests.extreme_voltage.tungsten_steel.desc": "Ти вже знаєш порядок дій. &6Вольфрамова сталь&r буде твоїм основним матеріалом для &1IV&r, і тобі знадобиться дуже велика її кількість. Переконайся, що маєш окрему &6вольфрамову лінію&r, яка підтримуватиме виробництво, перш ніж рухатися далі.\n\nЯкщо тобі коли‑небудь знадобиться більше &aшеєліту&r чи &aвольфрамату&r, пам’ятай, що на Марсі є надзвичайно великі жили, які можна видобувати. Якщо тебе турбує піщаний хробак, інвестиція у &bвеликий бур&r може бути дуже корисною, адже він не привертає уваги піщаного хробака.\n\nМожливо, це через бурову рідину?", + "quests.extreme_voltage.tungsten.title": "Вольфрам", + "quests.extreme_voltage.tungsten.subtitle": "Повністю самодостатній, так само як титан", + "quests.extreme_voltage.tungsten.desc": "Вітаємо з отриманням твого першого &6вольфраму&r! Сподіваємося, ти насолодишся цим невеликим зростанням складності. Пам’ятай, що спочатку невелику кількість &6вольфраму&r, яка тобі потрібна, можна отримати просто подавши &aсоду&r, яку ти видобув. Це може надихнути тебе повністю замкнути процес, щоб автоматизувати його спокійно.\n\nТакож пам’ятай, що чим далі ти просуваєшся, тим важливішим стає будівництво окремих і пасивних ліній для всіх цих складних процесів, які будуть потрібні аж до кінця паку. Не бійся нестачі ресурсів — бійся нестачі часу.", + "quests.extreme_voltage.iv_hull.subtitle": "Вже IV?", + "quests.extreme_voltage.iv_hull.desc": "Хоча ти вже розблокував &1IV&r корпус машини, він може бути не дуже корисним, доки ти не завершиш лінію поділу, адже &1IV&r схеми заблоковані за обробкою &dплутонієвих стрижнів&r. Проте ти все ж можеш знайти для нього одне‑два застосування, і принаймні будеш готовий збудувати &1IV збирач&r, щойно розблокуєш свої перші &1IV&r схеми.", + "quests.extreme_voltage.large_miner.title": "Великий бур MK I", + "quests.extreme_voltage.large_miner.subtitle": "Твій перший справді хороший бур", + "quests.extreme_voltage.large_miner.desc": "&bВеликий бур&r — це надзвичайно вражаючий багатоблок для видобутку потужних жил, які ти можеш зустріти. Він видаватиме руди у їх &aподрібненій формі&r, забезпечуючи в середньому на 50% більше ресурсів! Проте він має певні обмеження: потрібно тримати його завантаженим у чанку та постійно постачати бурову рідину.\n\nМи наполегливо радимо переміщати його за допомогою &bінструмента копіювання‑вставки&r з Building Gadgets, щойно ти його розблокуєш. Ти можеш додати буфер батарей, великий запас бурової рідини та достатнє сховище (наприклад, добре прокачаний рюкзак або ME скриню), щоб забезпечити його стабільну роботу протягом тривалого часу.", + "quests.extreme_voltage.ostrum_harvester.title": "Збирач Острому", + "quests.extreme_voltage.ostrum_harvester.subtitle": "Кращі котушки означають менше енергоспоживання", + "quests.extreme_voltage.ostrum_harvester.desc": "&bЗбирач оструму&r — це близький родич &6збирача місячного реголіту&r. Його також можна покращити кращими котушками, щоб зменшити витрати енергії, але він не потребує конкретного біому. Тобі потрібно буде побудувати його над &aпокладом оструму&r, щоб багатоблок сформувався.\n\nЩе одна річ: на відміну від місячної версії, цей вимагає бурової рідини для роботи, тож варто налаштувати двосторонню автоматизацію, щоб він працював безперервно.", + "quests.extreme_voltage.ostrum_dust.title": "Йодит Оструму", + "quests.extreme_voltage.ostrum_dust.subtitle": "Мені знову треба що зробити?!", + "quests.extreme_voltage.ostrum_dust.desc": "Є багато застосувань для &aоструму&r, але зараз є одне, про яке тобі слід особливо подбати: створення &aйодиду оструму&r, адже він знадобиться для крафту твого теплообмінника.\n\nУ цьому немає нічого надто складного, хіба що отримання потрібного &eйоду&r. Ми дозволимо тобі звернутися до квесту ліворуч, щоб зробити &l6&r одиниць йоду, необхідних для завершення лінії поділу.", + "quests.extreme_voltage.formamide.title": "Формамід", + "quests.extreme_voltage.formamide.subtitle": "Також розчинник із багатьма застосуваннями в реальному житті", + "quests.extreme_voltage.formamide.desc": "Приготуйся утилізувати будь-які надлишки, які ти виробляєш, якщо не хочеш, щоб виробництво пари зупинилося.", + "quests.extreme_voltage.radioactive_concoction.title": "Залишкова радіоактивна суміш", + "quests.extreme_voltage.radioactive_concoction.subtitle": "Цей не утилізуй!", + "quests.extreme_voltage.radioactive_concoction.desc": "&dЗалишкова радіоактивна суміш&r — це дуже важливий побічний продукт лінії поділу. Її основне застосування — виробництво нескінченних руд за допомогою &bлінійного прискорювача оструму&r, але вона також потрібна для розблокування &bкамери росту&r.\n\nЯкщо ти хочеш будувати реактори поділу поза межами Марса, тобі також знадобиться безперервне її постачання.", + "quests.extreme_voltage.ostrum_linear.subtitle": "Нескінченне, але на новому рівні", + "quests.extreme_voltage.ostrum_linear.desc": "&bЛінійний прискорювач оструму&r дозволяє створювати різні матеріали, використовуючи продукти з лінії поділу. Цей багатоблок підтримує велику кількість &bввідних шин&r та &bввідних люків&r, і оскільки всі його рецепти досить швидкі, одного блоку має вистачити, щоб покрити всі твої потреби.\n\nМи наполегливо рекомендуємо створити кілька &eбалончиків&r з різними кольорами, щоб організувати ввід і вивід. Наприклад, якщо ти пофарбуєш ввідну шину та ввідний люк у &9синій&r, то взаємодіяти будуть лише вони, що запобігатиме конфліктам рецептів і забезпечить більш плавну автоматизацію.", + "quests.extreme_voltage.pss.subtitle": "Розпіарена батарея", + "quests.extreme_voltage.pss.desc": "&eЕнергетична підстанція&r була перенесена з &1IV&r на &5EV&r, щоб ти міг будувати її безпосередньо на Марсі, де керування енергією може бути досить складним із використанням енергії поділу. Вона не є обов’язковою, тож можеш пропустити її, якщо бажаєш.\n\nЯкщо хочеш дізнатися більше про те, як працює цей багатоблок, переглянь його детальний опис у &aрозділі про енергію&r.", + "quests.extreme_voltage.liquid_air.title": "Земне повітря", + "quests.extreme_voltage.liquid_air.subtitle": "Так багато газів", + "quests.extreme_voltage.liquid_air.desc": "Перегонка &bрідкого повітря&r — це основний механізм у &6GregTech&r для отримання &oнескінченного запасу&r деяких рідкісних газів.\n\nДистиляція земного повітря — це хороший спосіб отримати &bаргон&r, &6кисень&r, &eгелій&r, &3азот&r та &aвуглекислий газ&r.", + "quests.extreme_voltage.liquid_mars_air.title": "Марсіанське повітря", + "quests.extreme_voltage.liquid_mars_air.subtitle": "Ще більше газів", + "quests.extreme_voltage.liquid_mars_air.desc": "Перегонка &bрідкого повітря&r — це основний механізм у &6GregTech&r для отримання &lнескінченного запасу&r деяких рідкісних матеріалів. Оскільки в TFG ти не можеш отримати повітря Незеру чи Енду, ми пропонуємо альтернативу — &cмарсіанське повітря&r.\n\nВоно надзвичайно багате на &bаргон&r та &aвуглекислий газ&r, але також може давати рідкісні гази, такі як &eнеон&r, &3криптон&r та &9ксенон&r, які більше ніде недоступні.\n\nЗверни увагу, що в майбутніх оновленнях деякі з цих благородних газів можуть бути переміщені, коли ми завершимо більше планет. Завжди перевіряй &6списки змін&r для оновлень!", + "quests.extreme_voltage.epoxy.title": "Епоксид", + "quests.extreme_voltage.epoxy.subtitle": "Штучна смола", + "quests.extreme_voltage.epoxy.desc.1": "&aЕпоксид&r — це основа для всіх майбутніх друкованих плат у грі!\n\n&9&lПримітка:&r Це завдання досить складне, тож займися всім іншим, перш ніж намагатися створити епоксид. Тобі знадобиться вся допомога, яку тільки можна отримати!", + "quests.extreme_voltage.epoxy.desc.2": "Є кілька способів отримати інгредієнти для &aепоксиду&r.\n\nМи проігноруємо рецепти, пов’язані з гліцерином, оскільки вони ніколи не варті зусиль.\n\nНамагайся використовувати &3великі хімічні реактори&r, щоб скоротити рецепти.", + "quests.extreme_voltage.epoxy.desc.3": "&dХлор&r переробляється лише частково, тож тобі знадобиться постійне його постачання. Спочатку буде достатньо подавати його вручну.\n\nРецепти, що включають &dгідроксид натрію&r, можна зациклити шляхом електролізу побічного продукту — &9солоної води&r.\n\nДля цього, ймовірно, доведеться зробити кілька чотирьохтрубних систем, насосних кришок, фільтрів для рідин... або ж прокласти все через AE2.\n\nЗагалом, замкнені цикли зручні, щоб уникнути надвиробництва чи надмірного споживання, але обирай те, що для тебе веселіше.", + "quests.extreme_voltage.epichlorohydrin.title": "Епіхлоргідрин", + "quests.extreme_voltage.epichlorohydrin.desc": "Тобі знадобиться використати рецепт у &3ВХР&r для свого першого &aепіхлоргідрину&r.\n\nЦей рецепт вимагає &aпропен&r, що означає, що тепер необхідно зайнятися &dпереробкою нафти&r та &dкрекінгом палива&r. Вибачай, якщо ти відкладав це на потім!\n\nДуже важливо, щоб ти зробив свою першу &3дистиляційну вежу&r перед тим, як рухатися далі.\n\nІ насамкінець, якщо ти ще не помітив, побічний продукт &dсолона вода&r можна зациклити, щоб запустити виробництво &dгідроксиду натрію&r.", + "quests.extreme_voltage.phenol.title": "Фенол", + "quests.extreme_voltage.phenol.desc.1": "Отримати &aФенол&r можна з:\n\n&91 -&r Перегонка &aдеревної смоли&r.\n\n&92 -&r Реакція &aбензолу&r з &dхлором&r та &dгідроксидом натрію&r. Це слід виконувати у &3ВХР&r, і хлор у цьому випадку повністю зациклюється.\n\n&93 -&r Спрощений варіант попереднього рецепта без використання &dгідроксиду натрію&r. У цьому випадку спостерігається чиста втрата &dхлору&r.\n\n&94 -&r Реакція &aбензолу&r, &dпропену&r та &dкисню&r з використанням невеликої кількості &4фосфорної кислоти&r — зазвичай каталізатора, але тут вона витрачається у малих кількостях. Цей метод називається кумольним процесом.", + "quests.extreme_voltage.phenol.desc.2": "Якщо тобі важко визначитися між наведеними варіантами, ось привабливість кожного з них:\n\n&91 -&r Чудовий вибір, якщо ти готовий зібрати комбо з &3піролізної печі&r + &3дистиляційної вежі&r.\n\n&92 -&r Це наш улюблений варіант! Ти можеш використати &dсіль&r, щоб зробити більше &dсолоної води&r, а потім електролізувати її для створення циклу.\n\n&93 -&r Дуже привабливо, якщо маєш нескінченне джерело &dхлору&r. Це можна реалізувати, встановивши &3бурову установку для рідин&r на жилі з солоною водою.\n\n&94 -&r ...&4Фосфорну кислоту&r дуже складно виробляти. Треба бути божевільним, щоб розглядати цей варіант.", + "quests.extreme_voltage.phenol.desc.3": "&l&3Лор:&r&o Рецепт бензолу + кисню був доданий у GTCE з метою виправлення відсутніх хімічних рецептів, оскільки великого хімічного реактора тоді не існувало. Тепер, коли CEu надає більш реалістичні варіанти, ми можемо видалити цей рецепт у майбутньому.", + "quests.extreme_voltage.acetone.title": "Ацетон", + "quests.extreme_voltage.acetone.desc.1": "Хоча перегонка &aдеревного оцту&r дає &aацетон&r, вихід є низьким і може не задовольнити твої потреби.\n\nМожеш скористатися прямим рецептом у &3ВХР&r з &aоцтової кислоти&r для отримання &aацетону&r.\n\nА якщо хочеш зробити все «по-старому», можна використати цикл &aоцтова кислота&r -> &dрозчинений ацетат кальцію&r -> &aацетон&r, який не потребує &3ВХР&r, але при цьому ідеально переробляє сполуку кальцію.", + "quests.extreme_voltage.acetone.desc.2": "Ми вже говорили про оцтову кислоту, але ще не пояснили, як її отримати. Було б чудово це зробити, чи не так?\n\n&aОцтову кислоту&r можна синтезувати у &3хімічному реакторі&r. Наш улюблений рецепт — з &dетилену&r.", + "quests.extreme_voltage.aes_insulation.title": "Лужноземне силікатне ізолювання", + "quests.extreme_voltage.aes_insulation.subtitle": "Також відоме як кам’яна вата", + "quests.extreme_voltage.aes_insulation.desc": "Новий рівень означає новий тип ізоляції!\n\nЩоб розпочати з цим, зверни увагу на рецепт у міксері для &dпилу суміші лужноземного силікату&r. Зрештою, ти зможеш налагодити нескінченне його виробництво на Марсі завдяки стриженню Нюхачів і Врапторів, адже він використовується не лише для твого наступного Ракетного проєкту.", + "quests.extreme_voltage.epoxy_board.subtitle": "Нова плата, і попереду ще більше", + "quests.extreme_voltage.epoxy_board.desc": "Епоксидні плати є ключовим компонентом, необхідним для створення твоїх &bнано-схем&r, але поза цим призначенням вони майже не матимуть застосування.", + "quests.extreme_voltage.ev_circuit_assembler.title": "&5EV&r Схематологічний збирач", + "quests.extreme_voltage.ev_circuit_assembler.subtitle": "Менш корисний, ніж збирач, принаймні наразі", + "quests.extreme_voltage.ev_circuit_assembler.desc": "&5EV&r схематологічний збирач не буде надто корисним, доки ти не матимеш стабільного постачання &bнано CPU пластин&r. \nВтім, він дозволить значно швидше створювати мікропроцесорні схеми та зрештою відкриє доступ до твоїх перших &dLuV схем&r, які стануть у пригоді, щойно ти матимеш &1IV&r збирач.", + "quests.extreme_voltage.nano_hv_circuit.subtitle": "Воно не &овиглядає&r аж таким меншим...", + "quests.extreme_voltage.nano_hv_circuit.desc": "Твої перші &eнано схеми&r! Для них знадобляться &bнано CPU&r, а отже — безперервна лінія &cреакторів поділу&r, що спалюють плутонієві стрижні для виробництва необхідної &dтритійованої води&r.\n\nСпочатку &eнано-схеми&r здаватимуться доволі дорогими, але щойно твоя &dлінія поділу&r стане повністю пасивною, вони перетворяться на одні з найдешевших!", + "quests.extreme_voltage.nano_ev.subtitle": "Повертаємось до звичайної прогресії схем", + "quests.extreme_voltage.nano_ev.desc": "Вони можуть виявитися навіть дешевшими у виробництві, ніж &bмікропроцесори&r, якщо ти зможеш ефективно налагодити масове виробництво &bнано CPU&r. \nЩойно твоя &cлінія поділу&r буде повністю автоматизована, ці схеми стануть надзвичайно вигідним варіантом для твоїх високорівневих проєктів.\n\nТакож зверни увагу, що відтепер ти можеш використовувати вдосконалені SMD компоненти!", + "quests.extreme_voltage.nano_iv.subtitle": "Все ближче до технологій LuV", + "quests.extreme_voltage.nano_iv.desc": "Ці &1IV&r схеми все ще потребують одного &bнано CPU чипа&r, тож у цьому сенсі вони насправді не дешевші за &bмікропроцесори&r.\n\nВтім, вони будуть необхідними для просування до наступного рівня технологій.", + "quests.extreme_voltage.nano_luv.subtitle": "Твої перші &1IV&r схеми", + "quests.extreme_voltage.nano_luv.desc": "Вітаємо з успішним досягненням нового рівня схем! Ці &dLuV&r схеми поки що не матимуть великого застосування, адже ти не зможеш створювати &dLuV&r машини, доки не завершиш &bплатинову лінію&r. \nВтім, вони все одно будуть цінними для створення нових інструментів і компонентів &dAE2&r.\n\nБільшість цих рецептів вимагатимуть &1IV&r збирача, тож переконайся, що він у тебе готовий.", + "quests.extreme_voltage.me_part.title": "Частини ME мультиблоку", + "quests.extreme_voltage.me_part.subtitle": "Підключи GregTech безпосередньо до своєї мережі AE2", + "quests.extreme_voltage.me_part.task": "Будь-який ME шина чи люк", + "quests.extreme_voltage.me_part.desc": "Ці блоки можуть замінити твої звичайні вхідні та вихідні шини/люки в мультиблоках. Особливо корисними є версії &bвиходу&r, адже вони здатні зберігати величезну кількість предметів або рідин — більш ніж достатньо для більшості сетапів. Це робить їх ідеальними для обміну ресурсами між мультиблоками чи уникнення забивання виходу.\n\nВони підключаються безпосередньо до кабелів &dAE2&r, дозволяючи обійти використання шин зберігання чи інтерфейсів. Однак будь обережним: вони поводяться як інтерфейси, а не як справжнє сховище. Це означає, що ти не зможеш отримати доступ до їхнього вмісту через інший інтерфейс.", + "quests.extreme_voltage.tunsgten_line_step.title": "Зациклення карбонату натрію", + "quests.extreme_voltage.tunsgten_line_step.subtitle": "Можливо, ти не захочеш добувати це вічно", + "quests.extreme_voltage.tunsgten_line_step.desc.1": "Ідеально зациклити &5вольфрамову лінію&r — завдання не з найлегших, тож ми використаємо цей квест, щоб спрямувати тебе в правильному напрямку.\n\nОтриману &bсіль&r слід поєднати з &aвуглекислим газом&r та &6аміаком&r, щоб утворити &3хлорид амонію&r. Його можна електролізувати, аби відновити свій &6аміак&r і отримати &9хлороводневу кислоту&r, необхідну для &eвольфрамату натрію&r.\n\nУ цьому процесі також утворюється &bгідрокарбонат натрію&r, який слід електролізувати, щоб повернути свою &dкарбонат натрію&r.", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "Нарешті, щоб замкнути цикл, тобі потрібно впоратися з &aвуглекислим газом&r. Ти можеш або розділити частину своєї &dкарбонаду натрію&r та електролізувати її, щоб відновити &aвуглець&r і &9кисень&r, отримавши назад трохи &aвуглекислого газу&r, або ж піти «в лоб» і використати дистиляцію &bрідкого повітря&r, щоб отримати нескінченне джерело &aвуглекислого газу&r.", + "quests.extreme_voltage.tunsgten_line_step_1.title": "Нова вольфрамова лінія", + "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "Чому? Просто чому?", + "quests.extreme_voltage.tunsgten_line_step_1.desc": "&eВольфрамова лінія&r у TerraFirmaGreg була повністю перероблена, і тобі буде приємно (або й ні) дізнатися, що тепер вона &cнабагато складніша&r.\n\nМожливо &aповністю зациклити&r кожен матеріал у вольфрамовій лінії, але для цього потрібно чимало інженерії. Або ж ти можеш піти «в лоб» і &cмасово виробляти&r потрібні ресурси.\n\nНевелика підказка: на &4Марсі&r є кілька &aхороших жил руди&r для &eкарбонату натрію&r та &eвольфраму&r.\n\nНе поспішай, оптимізуй, і вольфрамова лінія стане основою твого прогресу в середній та пізній грі.", + "quests.extreme_voltage.tunsgten_line_step_2.title": "Остання частина вольфрамової лінії", + "quests.extreme_voltage.tunsgten_line_step_2.subtitle": "Ця частина зациклюється сама по собі", + "quests.extreme_voltage.tunsgten_line_step_2.desc": "Коли ти вже отримав &bвольфрамову кислоту&r і зациклив &cкарбонат натрію&r, то найважчу частину завершено. \nДалі тобі знадобиться лише &6вежа випаровування&r, щоб повністю зациклити &aводень&r, необхідний для &6дугової печі&r, та &6піролізна піч&r, щоб відновити &3аміак&r, використаний на початку.\n\nНічого надто складного, тож насолоджуйся своїм &5вольфрамом&r!", + "quests.extreme_voltage.advanced_fluid_rig.title": "Екстремальне буріння рідин", + "quests.extreme_voltage.advanced_fluid_rig.subtitle": "Екстремальне — справді влучний опис", + "quests.extreme_voltage.advanced_fluid_rig.desc.1": "За рахунок у 4 рази більшого споживання енергії &3покращена рідинна бурова установка&r отримує &616-кратний вихід&r рідини.\n\nВиснаження жил також зменшується вдвічі. Це означає, що ти отримаєш загалом &632-кратний&r обсяг нафти (або будь-якої іншої рідини) з базової рідинної жили до її виснаження!\n\nНавіть після виснаження ти все одно можеш її використовувати й залишатися у впевненому енергетичному плюсі.\n\nОднієї &3покращеної рідинної бурової установки&r має вистачити, щоб забезпечити енергією базу аж до рівня &dLuV&r… і, можливо, навіть далі!", + "quests.extreme_voltage.advanced_fluid_rig.desc.2": "Як &9нагадування&r, адже востаннє це з’являлося ще в &bMV&r:\n\n&9-&r &aЛегка нафта&r може бути використана для виробництва &dВГТ&r та &dметану&r для роботи у &3великих газових турбінах&r.\n\n&9-&r &aНафта&r може бути використана для виробництва &dдизеля&r та &dцетан покращеного дизеля&r для роботи у &3великих двигунах внутрішнього згоряння&r.\n\n&9-&r &aВажка нафта&r може бути використана для виробництва &dнітробензолу&r для роботи у &3великих газових турбінах&r.", + "quests.extreme_voltage.mpic_chip.title": "Інтегральна схема живлення", + "quests.extreme_voltage.mpic_chip.desc": "Нова різальна машина? &a✓&r\n\nНова лінза? &a✓&r\n\nНова схема живлення? &a✓&r\n\nНовий метал для ЕДП? &a✓&r\n\nНова котушка для енергетичного люка? &a✓&r", + "quests.extreme_voltage.ev_energy_hatch.desc": "Ще один рівень — ще один енергетичний люк. Ти знаєш, що з цим робити!", + "quests.extreme_voltage.ev_dynamo_hatch.title": "EV динамо люк", + "quests.extreme_voltage.ev_dynamo_hatch.desc": "Якщо ти ще не зустрічав їх, динамо люки — це, по суті, вихідний еквівалент енергетичних люків. Використовуй їх у своїх нових великих генераторах, щоб отримати справжню EV енергію, про що йтиметься в наступних квестах.", + "quests.extreme_voltage.ev_dynamo_hatch.task": "Будь-який EV динамо люк", + "quests.extreme_voltage.oil_distillation.title": "Справжня дистиляція нафти", + "quests.extreme_voltage.oil_distillation.desc": "Ось чотири найбільш важливі &dвуглеводні&r, які ти отримаєш при дистиляції паро-крекінгових палив.\n\nТобі варто налаштувати це &lперед&r переходом до &1IV&r.\n\n&aПаро-крекінг легкого палива&r як вхід, ймовірно, є найбільш вигідним, але ти вільний експериментувати.\n\nЯкщо тобі не потрібен вихід &dвуглецю&r, просто постав на нього кришку для утилізації.", + "quests.extreme_voltage.oil_distillation.task": "Будь-яка нафта", + "quests.extreme_voltage.wood_distillation.title": "Справжня органічна дистиляція", + "quests.extreme_voltage.wood_distillation.desc.1": "Цей квест вимагає &3піролізної печі&r і є &dнеобов’язковим&r, але зручним.\n\nОсь чотири важливі рідини, що утворюються при дистиляції &aдеревної смоли&r:\n\n&9-&r Фенол: використовується для епоксиду та PBI \n&9-&r Бензол: важливий вуглеводень \n&9-&r Толуол: використовується для TNT\n&9-&r Диметилбензол: використовується для PBI \n\nНа відміну від нафти, переробка &aдеревної смоли&r у &3дистиляційній вежі&r заради побічних продуктів і використання &dнітробензолу&r як палива цілком виправдана.", + "quests.extreme_voltage.wood_distillation.desc.2": "Ось три важливі продукти з &aДистиляції деревного оцту&r:\n\n&9-&r Оцтова кислота: корисна для виробництва більшої кількості ацетону \n\n&9-&r Метанол: помірно важливий вуглеводень \n\n&9-&r Ацетон: використовується для епоксидну та бензину", + "quests.extreme_voltage.wood_distillation.desc.3": "Також можна використати “повну комбінацію” з 4 &3Дистиляційних веж&r — подай &aПобічні продукти деревного вугілля&r у першу вежу, щоб розділити їх на &aДеревну смолу&r, &aДеревний газ&r і &aДеревний оцет&r.\n\nЦе не найефективніше співвідношення витрат до продуктивності, але така опція існує, якщо тобі стане нудно.", + "quests.extreme_voltage.wood_distillation.task": "Будь-який з них", + "quests.extreme_voltage.new_qol.title": "Нове покращення якості життя?", + "quests.extreme_voltage.new_qol.desc": "Ось кілька корисних інструментів, які ти розблокував із &5EV&r збирачем.", + "quests.extreme_voltage.building_gadgets.title": "Building Gadgets", + "quests.extreme_voltage.building_gadgets.subtitle": "Засипати прекрасні ландшафти одним натисканням кнопки!", + "quests.extreme_voltage.building_gadgets.desc": "Хочеш розширити свою фабрику ще більше? Просто вставити черговий мультиблок? А може, та гора заважає огляду?\n\nТоді тобі точно потрібні Building Gadgets — набір інструментів, які можуть усе це й навіть більше. Це ідеальні будівельні ґаджети на майбутнє, і вони ще й з інструкцією!", + "quests.extreme_voltage.gasoline.title": "Бензин", + "quests.extreme_voltage.gasoline.desc": "&aБензин&r — надзвичайно потужне паливо для згоряння. Його енергетична щільність більш ніж у &63 рази&r перевищує щільність &dДизеля&r!\n\n&9Примітка:&r Це паливо для згоряння існує виключно як &eвиклик&r, який ти можеш прийняти, якщо готовий.\n\nЦе повністю &dнеобов’язково&r, тож ми дозволимо тобі самостійно з’ясувати, як його здобути — без жодних підказок.", + "quests.extreme_voltage.radiation.title": "Поводження з радіацією", + "quests.extreme_voltage.radiation.subtitle": "Особливо гострі матеріали", + "quests.extreme_voltage.radiation.desc.1": "Хоч GregTech і не має жодної “фонової радіації”, як деякі інші моди, &aрадіоактивні матеріали&r усе одно небезпечні для гравця при утриманні! Це стосується будь-якого предмета з позначкою &eКанцерогенний&r, що викликається &eБудь-яким контактом&r.\n\nЄ кілька способів зменшити ризик, і найпростіший — просто уникати контакту з такими предметами: переміщуй їх трубами, рюкзаками або навіть Малими Посудинами. Чим менше часу вони перебувають у твоєму інвентарі — тим краще!", + "quests.extreme_voltage.radiation.desc.2": "Окрім цього, тобі знадобляться й інші способи захисту. Носіння спорядження з тегом &e#ppe_armor&r у всіх чотирьох слотах захистить тебе від радіації. Проте таке спорядження все одно буде пошкоджуватись з часом (зі швидкістю, еквівалентною впливу радіації), &oза винятком&r &6Костюма для небезпечних матеріалів&r, який ніколи не отримує пошкодження від радіації.\n\nНедолік у тому, що костюм хазмат — це не космічний костюм, тож на Марсі тобі доведеться або облаштувати закриту базу з киснем для хазмату, або змиритися з пошкодженням твого космічного костюма.", + "quests.extreme_voltage.radiation.desc.3": "Нарешті, ти можеш перевірити рівень радіаційного отруєння в будь-який момент за допомогою команди &a/medical_condition query&r. Якщо він стане надто високим, ти почнеш періодично отримувати шкоду або просто раптово помреш — тож краще запобігти цьому.\n\nЄдиний інший спосіб лікування — створити та з’їсти пігулки &bRad Away&r, кожна з яких зменшує накопичення на 50%%.", + "quests.extreme_voltage.radiation.task": "Безпека понад усе!", + "quests.extreme_voltage.hexafluorosilic_acid.title": "Гексафторокремнієва кислота", + "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "Щось є у воді...", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "Гексафторокремнієву кислоту отримують шляхом замочування пилу червоного граніту, трахіту або аргіліту в плавиковій кислоті. Цей пил можна отримувати в необмеженій кількості за допомогою Кам’яної Дробарки.", + "quests.extreme_voltage.martian_sludge.title": "Марсіанський мул", + "quests.extreme_voltage.martian_sludge.subtitle": "Лінія помиїв", + "quests.extreme_voltage.martian_sludge.desc": "Центрифугуй гексафторокремнієву кислоту, щоб повернути фтор, а також отримати трохи &6Марсіанського мулу&r — необхідного для радону та ядерних залишків.", + "quests.extreme_voltage.large_generators.title": "Екстремальне виробництво енергії", + "quests.extreme_voltage.large_generators.desc": "Різні одноблокові генератори підтримують лише до HV, тож далі тобі доведеться використовувати багатоблоки для виробництва більшої кількості енергії. Два з найкращих варіантів на EV — це &dВелика газова турбіна&r та &dВеликий двигун внутрішнього згоряння&r, тож переходь до розділу “Енергетика GregTech”, щоб дізнатися більше про них.", "quests.gregtech_energy": "GregTech Енергія", "quests.gregtech_energy.subtitle": "Ото як усе це працює?", "quests.gregtech_energy.start.title": "Давай щось пояснимо", @@ -1782,7 +2096,7 @@ "quests.gregtech_energy.lst.desc.2": "Базовий вихід ВПТ становить &e1024 EU/t&r. Візьмемо приклад: з Держателем Ротора IV (×4) і Турбінним Ротором HSS-E (280%% потужності) ви отримаєте:\n1024 × 4 × 2.8 = &e11,468.8 EU/t&r — це приблизно &a1.4A IV&r.\n\nЩоб вилучити цю енергію, вам знадобиться або Динамо-люк IV, або Динамо-люк EV на 16A.\n\nХоча ВПТ не є найкращою турбіною з існуючих, якщо у вас є вдосталь Великих Котлів або доступ до великої кількості пального, ці сталеві, доступні турбіни можуть чудово вам послужити.", "quests.gregtech_energy.lce.title": "Великий Генератор Згоряння", "quests.gregtech_energy.lce.subtitle": "Не вір його GUI", - "quests.gregtech_energy.lce.desc.1": "Ці двоє &6крутеликів&r — ваші чемпіони, якщо ви займаєтесь перетворенням Олій на паливо. &6Великий Двигун Внутрішнього Згоряння&r (&dВДВС&r) та &5Екстремальний Двигун Внутрішнього Згоряння&r (&dЕДВС&r) використовують однакові види пального та навіть виглядають подібно — але для їх створення потрібні різні матеріали.\n\nЩоб скрафтити ВДВС, потрібно досягти рівня &5EV&r і відкрити Титан, а також мати щонайменше одну IV-Схему. Для створення ЕДВС знадобиться Вольфрамова Сталь і LuV-Схема — це має бути комфортно доступним для вас на рівні &1IV&r.", + "quests.gregtech_energy.lce.desc.1": "&6Великий Двигун Внутрішнього Згоряння&r (&dВДВЗ&r) та &5Екстремальний Двигун Внутрішнього Згоряння&r (&dЕДВЗ&r) — це ваші чемпіони, якщо ви займаєтесь перетворенням Нафти на паливо. \nЦі двоє &6крутих хлопців&r використовують однакові види палива й навіть виглядають подібно — але для їх створення потрібні різні матеріали. \n\nЩоб скрафтити ВДВЗ, вам потрібно досягти &5EV&r і відкрити Титан, а також мати щонайменше одну IV‑Схему. \nДля ЕДВЗ знадобляться Вольфрамова сталь і LuV‑Схема — те, що ви зможете зібрати без проблем під час &1IV&r.", "quests.gregtech_energy.lce.desc.2": "Обидві машини потребують Вхідного Люка для пального, а також Змащувальної Рідини. Для &dECE&r додавання Кисню або Рідкого Кисню забезпечить &cпотужний приріст енергії&r. Перевірте підказку до вашого пального, щоб побачити, скільки додаткової енергії ви отримуєте з окислювачами — це справді того варте.\n\nМайте на увазі: обидва двигуни потребують Глушника.", "quests.gregtech_energy.lpt_fuel.title": "Плазмові Палива", "quests.gregtech_energy.lpt_fuel.subtitle": "Воно дуже гаряче", @@ -1877,7 +2191,7 @@ "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Наразі реактор може використовувати їх трьома&8*&r різними способами: \n&e1)&r Максимальна температура &7(ізолятор)&r \n&e2)&r Ефективність &7(паливо служить довше)&r \n&e3)&r Регулювання &7(уповільнює реакції)&r \n\n&8*)&r Можливо, у вашій локальній галактиці немає необхідних матеріалів для всіх категорій. Ми оцінюємо, що знайти матеріали вдасться лише для першої.\n\nАле будьте обережні. Підвищення &cтемператури&r має і &cнедолік&r.", "quests.gregtech_energy.fission_reactor.desc.5": "Хоча &cгарячіший&r реактор робить охолоджувачі та обробку &cшвидшими&r, він також більше навантажує паливні стрижні. Кожен паливний стрижень має обмежену міцність, і вона зменшується лінійно зі зростанням температури.\n\nОскільки для вищих температур потрібно більше паливних стрижнів, фактично пошкодження масштабується &nквадратично&r. Якщо ви хочете найефективніше нагрівати охолоджувачі, використовуйте низьку температуру. Але якщо вам потрібне швидше перетворення подільних матеріалів, застосовуйте настільки високу температуру, наскільки дозволяє ізоляція.", - "quests.gregtech_energy.fission_reactor.desc.6": "Тепер ви нарешті готові ознайомитися з різними рецептами, пов’язаними з реактором; перевірте, де використовується &dконтролер&r, і ви знайдете чотири вкладки &eEMI&r:\n\n&e1)&r Реактор поділу &7(палива та сумісні охолоджувачі)&r \n&e2)&r Теплова обробка реактора поділу &7(аналог ЕДП)&r \n&e3)&r Продукти поділу &7(коли паливо вичерпується)&r \n&e4)&r Попередній перегляд мультиблоку \n\nРізні &aпалива&r сумісні лише з певними &9охолоджувальними рідинами&r, тож звертайте на це увагу. А коли паливний стрижень повністю використано, можна з упевненістю сказати, що він &bперетворився&r на нові елементи.\n\nНатомість рецепти обробки можуть виконуватися незалежно від типу палива — головне, щоб рівень температури був достатньо високим.", + "quests.gregtech_energy.fission_reactor.desc.6": "Ви нарешті готові ознайомитися з різними рецептами, пов’язаними з реактором; перевірте, де використовується &dконтролер&r, і ви знайдете три вкладки &eEMI&r:\n\n&e1)&r Ядерний реактор &7(палива та сумісні охолоджувачі)&r \n&e2)&r Обробка тепла реактора &7(аналог ЕПП — електропечі високої температури)&r \n&e3)&r Продукти поділу &7(коли паливо вичерпується)&r \n&e4)&r Попередній перегляд мультиблоку \n\nРізні &aпалива&r сумісні лише з певними &9охолоджувальними рідинами&r, тож звертайте на це увагу. \nА коли паливний стрижень повністю вичерпується, можна з упевненістю сказати, що він &bперет&dвор&bився&r на нові елементи. \n\nНатомість рецепти обробки можуть виконуватися незалежно від палива, якщо рівень температури достатньо високий.", "quests.gregtech_energy.fission_reactor.desc.7": "Спрощена математика така: за наявності достатньої кількості охолоджувальної рідини та &c100%%&r паливного стрижня тепла реактор досягне температури приблизно &c200&r. Це також можна називати рівнем тепла або просто теплом. Використання &dдвох&r &c100%%&r паливних елементів еквівалентне &dодному&r &c200%%&r елементу, і обидва варіанти дають близько &c400&r тепла.\n\nЦе відбувається тому, що паливний стрижень генерує &6200 HU/t&r (одиниць тепла). Охолоджувальні рідини здатні відводити &61 HU/t&r на кожен &c1&r градус тепла.\n\nЯкщо максимальна температура реактора становить &c190&r, то &c100%%&r паливний елемент його перегріє. Це можна компенсувати за допомогою компонентів або ж використовуючи &dактивні охолоджувачі&r через систему обробки. Кожен рецепт має свій тепловий вплив.", "quests.gregtech_energy.fission_reactor.desc.8": "Наприклад, якщо температура рецепта становить &c100&r, а вплив &6-10 HU/t&r, він здатен охолоджувати реактор на &619 HU/t &rпри &c190&r градусах.\n\nЦе дозволяє запускати реактор із нижчою максимальною температурою й уникати перегріву! Якщо ж температура нижча за &c100&r, він взагалі не працюватиме — так само, як і рецепти ЕДП мають свої обмеження.\n\nНа цьому все, що &eми&r можемо навчити вас зараз. Повертайтеся пізніше, щоб дізнатися про нові досягнення, &eядерний інженере&r!", "quests.high_voltage": "&6HV&r - Висока Напруга", @@ -2052,7 +2366,7 @@ "quests.high_voltage.gun.subtitle": "А якщо це не спрацює — використайте більше зброї", "quests.high_voltage.gun.task1": "Будь-яка зброя", "quests.high_voltage.gun.task2": "Будь-які ліки або витриманий алкоголь", - "quests.high_voltage.gun.desc": "Відчуваєте себе занадто комфортно на Землі? На Місяці ви будете не самі, тож подбайте про належний захист — вам знадобиться більше, ніж просто меч чи кам’яні дротики.\n\n%4Місяць небезпечний%r, і ви ж не хочете втратити свою цінну ракету, правда?\n\nВиберіть гарну вогнепальну зброю (якщо не впевнені, радимо &o«Clockwork» снайперську гвинтівку&r), створіть набої та, за бажання, спробуйте встановити додаткові модулі.\n\nТакож варто взяти поживну їжу, щоб підвищити максимальний запас здоров’я (спробуйте харчові набори!), а ще алкоголь і ліки для отримання бафів та зцілення.", + "quests.high_voltage.gun.desc": "Відчуваєте себе занадто комфортно на Землі? На Місяці ви будете не самі, тож подбайте про належний захист — вам знадобиться більше, ніж просто меч чи кам’яні дротики.\n\n&4Місяць небезпечний&r, і ви ж не хочете втратити свою цінну ракету, правда?\n\nВиберіть гарну вогнепальну зброю (якщо не впевнені, радимо &o«Clockwork» снайперську гвинтівку&r), створіть набої та, за бажання, спробуйте встановити додаткові модулі.\n\nТакож варто взяти поживну їжу, щоб підвищити максимальний запас здоров’я (спробуйте харчові набори!), а ще алкоголь і ліки для отримання підсилень та зцілення.", "quests.high_voltage.space_survival.title": "Затишок далеко від дому", "quests.high_voltage.space_survival.subtitle": "Більше, ніж просто шахтарський вимір", "quests.high_voltage.space_survival.desc": "Якщо ти ще не ознайомився, обов’язково переглянь розділ завдань &3Поради — Космічне виживання&r! У ньому є вся необхідна інформація для створення повноцінної колонії на Місяці.", @@ -2097,19 +2411,19 @@ "quests.low_voltage.lv_age_progression.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При подачі пари турбіна вироблятиме EU у співвідношенні &d2 пари = 1 EU&r.", + "quests.low_voltage.lv_steam_turbine.desc.1": "&3Парова Турбіна&r — один із небагатьох генераторів, які ви реально можете використовувати на &7LV&r. \n&2Пізніше ви відкриєте цікавіші варіанти генерації енергії&r, такі як природні гази чи нафтопродукти. \n\nПри подачі Пари турбіна виробляє EU у співвідношенні &d2 мВ = 1 EU&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.lbb.title": "Великий Бронзовий Котел", "quests.low_voltage.lbb.subtitle": "Бум, бум, бум, бум", "quests.low_voltage.lbb.desc.1": "&3Великий Котел&r — це &6необов’язковий&r варіант для справжніх велетнів, альтернатива Малим Котлам. Працює на твердому або рідкому паливі.\n\nЯкщо ви хочете виробляти енергію на основі Пари — це альтернатива до парового двигуна з Create. Подальші варіанти генерації енергії наведені в розділі &bMV&r.\n\nОбов’язково налаштуйте його так, щоб він ніколи не залишався без води, як і ваші Малі Котли, інакше він &cвибухне&r!.", "quests.low_voltage.lbb.desc.2": "Після повного нагрівання &3ВБК&r виробляє 800 пари за такт, що після конверсії дає &d400EU/t&r, або 12,5 базових парових турбін. Ця (відносно!) величезна потужність має ціну у вигляді &lвеликої&r кількості пального. &5З огляду на це&r, GUI дозволяє тобі &9знизити потужність&r котла до 25 відсотків, що дає 200 пари за такт. Це &d100EU/t&r, або трохи більше 3 базових парових турбін. \n\nМи рекомендуємо відкласти створення цього котла, поки ти не будеш готовий живити свою ЕДП.", "quests.low_voltage.lbb.desc.3": "У TerraFirmaGreg у вас є кілька варіантів палива. Ви можете використати Шланговий Шків, щоб відкачати лаву з глибокого підземного озера, або організувати лісопосадку з подачею деревини в коксову піч для отримання деревного вугілля та креозоту. Нарешті, існують величезні вугільні жили на поверхні, які можна розробляти за допомогою автоматизованих бурів і переробляти в кокс, отримуючи значно більше креозоту, ніж із деревного вугілля. \n\nЯкщо ви оберете шлях із лісопосадкою, вам знадобиться три коксові печі, щоб забезпечити роботу ВБК на повній потужності.", - "quests.low_voltage.lv_polariser.title": "Базовий поляризатор", + "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": "Переглянь розділ, натиснувши тут", "quests.low_voltage.link_chapter.task": "Прочитай", "quests.low_voltage.lv_combuston_gen.title": "Генератор згоряння", "quests.low_voltage.lv_combuston_gen.subtitle": "Він вибухає і виробляє енергію", @@ -2143,7 +2457,7 @@ "quests.low_voltage.lv_aqueous_accumulator.task": "Будь-який водний акумулятор", "quests.low_voltage.lv_wiremill.title": "Базовий Дротопрокатник", "quests.low_voltage.lv_wiremill.subtitle": "Більше ніяких проблем з дротами!", - "quests.low_voltage.lv_wiremill.desc.1": "Ти можеш створити будь-яку іншу &7LV&r Машину, але найкраще почати з найкориснішої. Знаємо, знаємо... тобі хочеться спочатку зробити щось божевільне, але довірся нам — це найкраща відправна точка. \n\nДротопрокатна машина дозволяє отримувати &6два Дроти з одного Злитка&r. Це має бути втричі дешевше, ніж те, що ти робив до цього! \n\nПраворуч від цього Квесту ти знайдеш важливі машини, які дадуть тобі дешевші проміжні матеріали.", + "quests.low_voltage.lv_wiremill.desc.1": "Ви могли б зробити будь‑яку іншу &7LV&r Машину, але найпростіше почати з найкориснішої. \nЗнаємо, знаємо… вам хочеться зібрати щось більш божевільне спочатку, але повірте — це найкраща відправна точка. \n\nВолок дозволяє робити &6два дроти з одного злитка&r. Це має бути утричі дешевше, ніж те, що ви робили до цього!", "quests.low_voltage.lv_wiremill.desc.2": "Ти можеш створити будь-яку іншу &7LV&r Машину, але найкраще почати з найкориснішої. Знаємо, знаємо... тобі хочеться спочатку зробити щось божевільне, але довірся нам — це найкраща відправна точка. \n\nДротопрокатна машина дозволяє отримувати &6два Дроти з одного Злитка&r. Це має бути втричі дешевше, ніж те, що ти робив до цього! \n\nПраворуч від цього Квесту ти знайдеш важливі машини, які дадуть тобі дешевші проміжні матеріали!", "quests.low_voltage.lv_wiremill.task": "Будь-який з них", "quests.low_voltage.lv_bender.title": "Базовий згинач", @@ -2162,7 +2476,7 @@ "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 через свою вихідну сторону. \nЩоб увімкнути автовивантаження, натисни відповідну кнопку в GUI.\nАвтовивантаження рідин та предметів перемикаються окремо. \nДодатковий контроль над автовивантаженням можна здійснити за допомогою &dФільтрів&r та &dКришок&r, які описані в квесті у верхньому лівому куті цього.", + "quests.low_voltage.machine_auto_output_behaviour.desc.1": "Усі машини зазвичай мають одну &7Передню грань&r та одну &9Вихідну грань&r. \n\n&7Передня грань&r має бути очевидною. \n&9Вихідна грань&r — це грань із точкою або отвором. За замовчуванням вона розташована ззаду машини під час встановлення. \n\nМашини можуть &aавтовивантажувати&r через свою вихідну грань. Щоб увімкнути автовивантаження, натисніть відповідну кнопку в GUI. \nАвтовивантаження рідин та предметів перемикаються окремо. \nДодатковий контроль над автовивантаженням можна отримати за допомогою &dФільтрів&r та &dНакладок&r, які пояснюються у завданні &dПоведінка накладок&r у цьому розділі.", "quests.low_voltage.machine_auto_output_behaviour.desc.2": "ПКМ на машині з &5Гайковим ключем&r змінює вихідну сторону, а shift+клацання змінює лицьову сторону. Май на увазі, що лицьова сторона &cне може&r бути вихідною стороною! \n\nЗа замовчуванням предмети та рідини не можна вставляти через вихідну сторону, але це можна змінити за допомогою &5Викрутки&r. \nАбо клацни правою кнопкою миші безпосередньо на вихідній стороні, або shift+клацни на сітці, що відповідає стороні виходу. \n\nЄ унікальні машини, які не обробляють рецепти, такі як &3Насос&r, &3Бур&r, &3Рибалка&r, &3Колектор предметів&r тощо. Ці машини вивантажують предмети на свою &7Лицьову сторону&r (яка все ще позначена крапкою).", "quests.low_voltage.machine_auto_output_behaviour.task": "Хм, як цікаво!", "quests.low_voltage.programmed_circuits.title": "Програмовані схеми", @@ -2320,6 +2634,7 @@ "quests.low_voltage.lv_ebf.subtitle": "Одна з основних машин GregTech. Ми любимо її великою.", "quests.low_voltage.lv_ebf.desc.1": "Цей квест пояснює базовий принцип роботи &3Електропечі&r, а квест поруч із ним розповість про механіку багатоблочних компонентів, які тобі також знадобляться. Обов’язково ознайомся з тим квестом.\n\nОтже, &3ЕДП&r — це твій &eперший електричний багатоблок&r! Вітаємо. Вона використовується для обробки матеріалів при високих температурах.\n\nТи познайомишся з ЕДП, щоб виготовляти &aАлюміній&r і перейти до &d&bЕри MV&r. Вона також дозволяє створювати &7Сталь&r швидше, ніж &6Звичайна піч&r, тож ти нарешті можеш демонтувати свою стару кузню з TFC, якщо бажаєш.", "quests.low_voltage.lv_ebf.desc.2": "Варто пам’ятати, що ЕДП— це справжній велетень. Мінімальна витрата енергії для запуску рецепту становить &9120 EU/t&r! Це трохи менше, ніж потужність 4 &7LV&r Генераторів або Альтернаторів.\n\nМожливо, варто розглянути варіант створення окремої лінії живлення, з окремими Генераторами поруч із ЕДП та буфером батарей. Будь обережний — втрати в кабелях можуть бути суттєвими.", + "quests.low_voltage.lv_ebf.desc.3": "Ваша ЕДП мерехтить і не отримує достатньо енергії? Ймовірно, ви зіткнулися з втратою кабелю — прочитайте розділ про енергетику GregTech, щоб дізнатися більше про цей механізм.\n\nПереконайтеся, що генератори розташовані якомога ближче до ЕБП, і використовуйте відповідний кабель — ми рекомендуємо 2× олов’яний кабель, розташований так, як показано на зображенні вище.", "quests.low_voltage.multiblock_tech.title": "Техніки багатоблокових структур", "quests.low_voltage.multiblock_tech.subtitle": "О, ми ж любимо мультиблоки, правда?", "quests.low_voltage.multiblock_tech.desc": "Це &6основи&r того, що потрібно для побудови твого першого &bЕДП&r, хоча вона доволі гнучка для налаштувань. Не забудь скористатися &6EMI&r, натиснути &6U&r на контролері та не соромся &6клацати по структурних блоках&r, щоб побачити можливі варіанти.\n\nВажливе зауваження: кожен Енергетичний люк може приймати &a2A&r, тобто на рівні &7LV&r вони можуть обробляти по &a64 EU/t&r. З двома люками твоя &eЕДП&r зможе працювати на &a128 EU/t&r.\n\nЩоб дізнатися більше про цю механіку, переглянь &eРозділ про енергію GregTech&r, зокрема секцію &eВитрати енергії&r.\n\nБагатоблоки мають багато цікавих механік, які можуть здаватися складними, але не хвилюйся — тобі не потрібно нічого надто складного на цьому етапі. Усе прийде з досвідом!", @@ -2363,7 +2678,7 @@ "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&8І ми не шкодуємо.&r", "quests.medium_voltage.mv_extruder.title": "Вдосконалений Екструдер", "quests.medium_voltage.mv_extruder.subtitle": "Найбільше оновлення, яке ти зробиш", - "quests.medium_voltage.mv_extruder.desc": "Ми &lЩИРО&r сподіваємося, що ти &cніколи&r не створював &7LV&r Екструдер, тому що тільки &bMV&r Екструдер справді корисний. Якщо ти все ж зробив це, негайно &aперероби його&r через Дугопіч. \n\nЕкструдер формує тверді матеріали в (майже!) будь-яку форму, використовуючи &aЗлитки&r. Це чудовий спосіб зменшити кількість мікрокрафту, а також зберегти високий коефіцієнт перетворення. \n\nЕкструдер може створювати &6Болти&r, &6&6Малі Шестерні&r, &6Шестерні&r та &6&6Кільця&r з максимальною ефективністю в один крок! \n\nТобі також може сподобатися використовувати його для &dТруб&r, &dДовгих Стержнів&r та &dРоторів&r.", + "quests.medium_voltage.mv_extruder.desc": "Ми &lЩИРО&r сподіваємося, що ти &cніколи&r не робив &7LV&r екструдер, адже справді корисним є лише &bMV&r екструдер. Якщо ж зробив — негайно &aпереплав&r його в дуговій печі.\n\nЕкструдер формує тверді матеріали, майже, в будь-яку форму, використовуючи &aзлитки&r. Це чудовий спосіб зменшити кількість мікрокрафту та водночас зберегти високий коефіцієнт переробки.\n\nЕкструдер може виготовляти &6болти&r, &6&6малі шестерні&r, &6шестерні&r та &6&6кільця&r з максимальною ефективністю в один крок!\n\nТакож його зручно використовувати для &dтруб&r, &dгвинтів&r і &dроторів&r.", "quests.medium_voltage.mv_chemical_reactor.title": "Вдосконалений Хімічний Реактор", "quests.medium_voltage.mv_chemical_reactor.subtitle": "Сильніше, краще, швидше", "quests.medium_voltage.mv_chemical_reactor.desc": "Ти вже знаєш про &dХімічний Реактор&r з &7LV Глави&r—але ось коротке нагадування. \n\nНа рівні &bMV&r ти відкриваєш &aнові рецепти&r і також отримуєш можливість &aперевищувати швидкість LV рецептів&r. Це означає, що вони можуть працювати &aвдвічі швидше&r, але споживатимуть &eв 4 рази більше енергії&r. Тобі вирішувати, чи варта така угода. \n\nАле це не єдина причина для створення &bMV Хімічного Реактора&r. Якщо ти обрав &dорганічну хімію&r, тобі знадобиться цей реактор для запуску рецепту &dЕтилену&r, який використовує &dСірчану Кислоту&r та &dЕтанол&r—цей процес потребує &bMV енергії&r. \n\nУ будь-якому випадку, це надійна машина, і вона не надто дорога. Побудуй її, коли матимеш трохи вільного часу.", @@ -2571,7 +2886,7 @@ "quests.medium_voltage.mv_silicon.desc.2": "Перший метод: &aвидобуток руд, багатих на кремній&r. Шукай жили &9Міки&r або &9Кіаніту&r—вони також містять &dАлюміній&r. Альтернативно, ти можеш &aелектролізувати пил цеоліту&r, який знаходиться у жилах &9Халькопіриту&r та &dРеальгару&r. \n\nДругий метод: &eвдосконалений, але потужний&r. Хоча він дорожчий у налаштуванні та повільніший на початку, на рівні &6HV&r і вище він стає &eнайкращим методом&r. \nДо того ж, він додатково генерує &9Кисень&r! Ідея проста: &aелектролізуй пил діоксиду кремнію&r, щоб отримати &9Кисень&r та &5Кремній&r. Ти можеш отримати &aпил діоксиду кремнію&r шляхом &9центрифугування пилу кременю&r, який, у свою чергу, добувається з &9Кременю&r, отриманого через &aпросіювання гравію&r. \n\nЦя система може легко стати &aповністю пасивною&r. Спробуй використати інструмент &aEMI Recipe Tree&r (у нижньому лівому куті екрану) для планування своїх конструкцій—це справді допомагає!", "quests.medium_voltage.mv_ulpic.title": "ULPIC Чіпи", "quests.medium_voltage.mv_ulpic.subtitle": "Збираючи Чіпи", - "quests.medium_voltage.mv_ulpic.desc": "Використовуючи Сапфірову Лінзу, гравіюй Силіконову Вафлю у ULPIC Вафлю. \n\nЦе можна обробити в Різаку для отримання ULPIC Чіпів, які важливі для деяких багатоблокових компонентів! \n\nБільш конкретно ", + "quests.medium_voltage.mv_ulpic.desc": "Використовуючи сапфірову лінзу, гравіюй кремнієву пластину в ULPIC-пластину.\n\nЇї можна обробити у різаку для отримання ULPIC чипів, які є важливими для деяких багатоблокових компонентів!\n\nЗокрема, для енергетичного люка &bMV&r, який тобі знадобиться, щоб підняти твій ЕДП до енергетичного рівня &bHV&r.", "quests.medium_voltage.mv_ic.title": "IC Чіпи", "quests.medium_voltage.mv_ic.subtitle": "I C U", "quests.medium_voltage.mv_ic.desc": "Використовуючи Рубінову Лінзу, гравіюй Силіконову Вафлю в ILC Вафлю. \n\nЦе можна обробити в Різаку для отримання IC Чіпів, які є важливими компонентами та стануть цінними при вдосконаленні твоїх можливостей створення схем.", @@ -2777,7 +3092,7 @@ "quests.ore_proc.macerator_byproduct.task": "Або HV Подрібнювач, або Подрібнювальні HS", "quests.ore_proc.sodium_persulfate.title": "Занур їх у натрієвий персульфат", "quests.ore_proc.sodium_persulfate.subtitle": "Не лише для травлення друкованих плат", - "quests.ore_proc.sodium_persulfate.desc": "Коли ти досягнеш LV, тобі може стати цікаво використовувати &bХімічну ванну&r з &dНатрієвим персульфатом&r для отримання додаткових побічних продуктів. Не всі руди можна обробити таким способом, але ті, що можна, мають приблизно &670 відсотків&r шанс побічних продуктів, порівняно з &630 відсотків&r у &bПромивній машині&r.\n\nНатрієвий персульфат може бути досить складним для масового виробництва, але якщо тобі потрібно, &9Морська вода&r є чудовою відправною точкою.\n\nЗавдання зліва містить кілька прикладів, які можуть виправдати вкладення.", + "quests.ore_proc.sodium_persulfate.desc": "Коли ви дістанетесь до &7LV&r, вам може бути цікаво використати &bХімічну ванну&r з &dПерсульфатом натрію&r, щоб отримати додаткові побічні продукти. \nНе всі руди можна обробляти таким способом, але ті, що можна, дають близько &670 відсотків&r шансів на побічні продукти, порівняно з &630 відсотками&r у &bРудомийки&r. \n\nПерсульфат натрію може бути трохи клопітним у масовому виробництві, хоча, якщо бажаєте, &9Морська вода&r є чудовою відправною точкою. \n\nЗавдання ліворуч наводить приклади, які можуть виявитися вартими інвестицій.", "quests.ore_proc.sodium_ores.title": "Приклади обробки натрієвим персульфатом", "quests.ore_proc.sodium_ores.subtitle": "Корисний засіб для економії часу", "quests.ore_proc.sodium_ores.desc": "Ось кілька рекомендацій щодо обробки Персульфатом Натрію:\n\n- &6Подрібнений Алюміній&r: для &dРутилу&r (Титан)\n\n- &6Подрібнений Боксит&r: &dГалій&r\n\n- &6Подрібнений Кобальт&r: &dКобальтин&r для &dМиш’яку&r", @@ -2864,7 +3179,7 @@ "quests.space_survival.stone_dust_centrifuging.task": "Будь-яке ", "quests.space_survival.compressed_gases.title": "Стиснені гази, придатні для дихання", "quests.space_survival.compressed_gases.subtitle": "Бо чистий кисень — це смертельно небезпечно", - "quests.space_survival.compressed_gases.desc": "Відчуваєш, що трохи не вистачає повітря? У космосі без чогось для дихання не обійтись, тож варто звернути увагу на виробництво стиснених газів — вони засновані на реальних сумішах, які використовуються для глибоководного занурення!\n\nКосмічний костюм можна заповнити ними так само, як заповнюється відро, або ж, якщо взяти з собою &bГазовий балон&r, ти зможеш «пити» з нього, щоб поповнити запас газу в костюмі без необхідності його знімати.\n\n&2Нітрокс&r — найпростіший для виробництва на Землі, а &eГеліокс-3&r можна налаштувати на Місяці.\n\nПовністю заповнений костюм (2000 мБ) забезпечить приблизно &c20 хвилин&r дихання.", + "quests.space_survival.compressed_gases.desc": "Відчуваєш, що трохи не вистачає повітря? У космосі без чогось для дихання не обійтись, тож варто звернути увагу на виробництво стиснених газів — вони засновані на реальних сумішах, які використовуються для глибоководного занурення!\n\nКосмічний костюм можна заповнити ними так само, як заповнюється відро, або ж, якщо взяти з собою &bГазовий балон&r, ти зможеш «пити» з нього, щоб поповнити запас газу в костюмі без необхідності його знімати.\n\n&2Нітрокс&r — найпростіший для виробництва на Землі, а &eГеліокс-3&r можна налаштувати на Місяці.\n\nПовністю заповнений костюм (2500 мБ) забезпечить приблизно &c45 хвилин&r дихання.", "quests.space_survival.compressed_gases.task": "Будь-який стиснений газ, придатний для дихання", "quests.space_survival.zip_gun.title": "Повітряна зброя", "quests.space_survival.zip_gun.subtitle": "Наче реактивний ранець у твоїй долоні", @@ -2930,10 +3245,10 @@ "quests.space_survival.mars_desert.task": "Відвідайте біом Марсіанська глибока пустеля", "quests.space_survival.sandworm.title": "Піщаний черв", "quests.space_survival.sandworm.subtitle": "SHAI-HULUD", - "quests.space_survival.sandworm.desc": "Якщо ви створите занадто багато шуму в пустелі, можете привернути увагу могутнього &6Піщаного хробака&r! Це радше природна небезпека, ніж бос, якого потрібно вбити, тож найкращий спосіб вижити — просто тікати! \n\nЯкщо ж вам вдасться достатньо разів влучити йому в голову, завдаючи &bвибухових ушкоджень&r, він залишить вас у спокої... на деякий час. \n\nНа щастя, Піщаний хробак може завдавати шкоди лише сутностям, а не будівлям, і його приваблюють лише &6сліди гравців&r, тож дикі тварини, транспорт чи потяги його не розлютять.", + "quests.space_survival.sandworm.desc": "Якщо ви наробите занадто багато шуму в пустелі, можете привернути увагу могутнього &6Піщаного Хробака&r! Це радше природна небезпека, ніж бос для вбивства, тож найкращий спосіб вижити — просто тікати! \n\nЯкщо ж вам вдасться достатньо разів влучити йому в голову &bвибуховим уроном&r, він залишить вас у спокої… на деякий час. \n\nНа щастя, Піщаний Хробак може пошкоджувати лише сутності, а не будівлі, і його приваблюють лише &6сліди гравців&r. Тож будь‑який спосіб тримати &bсвої ноги&r подалі від землі не розлютить його. Атмосфера занадто розріджена для літаків і дельтапланів, але є й інші інструменти...", "quests.space_survival.spice.title": "Поклад Острому", "quests.space_survival.spice.subtitle": "Пряність Меланж", - "quests.space_survival.spice.desc": "&dПоклади оструму&r — це нерухомі блоки, які можна знайти лише в Марсіанській глибокій пустелі, далеко від більш родючих місць. Вони з’являються невеликими скупченнями й можуть бути зруйновані, щоб звільнити місце для вашого збирача оструму, якщо ті розташовані на схилі. Спробуйте скористатися &6підзорною трубою&r, щоб помітити їх здалеку!\n\nВам доведеться продумати далекобійну логістику, аби доставити острум назад на базу. (Спробуйте поїзд, а акумулятори можуть передавати енергію!)\n\nОструм є критично важливим ресурсом як для прогресу в &5EV&r, так і для підтримки роботи ваших реакторів поділу.", + "quests.space_survival.spice.desc": "&dПоклади Оструму&r — це нерухомі блоки, які можна знайти лише в Глибокій Пустелі Марса, далеко від більш зелених зон. \nВони з’являються невеликими скупченнями й можуть бути зруйновані, щоб звільнити місце для вашого Збирача Оструму, якщо ті розташовані на схилі. Спробуйте використати &6Підзорну трубу&r, щоб помітити їх здалеку! \n\nВам доведеться продумати логістику на великі відстані, щоб доставляти Острум назад на базу. (Спробуйте поїзд, Акумулятори можуть транспортувати енергію!) \n\nОструм є ключовим ресурсом як для прогресу на рівні &5EV&r, так і для створення нескінченних руд із Марса.", "quests.space_survival.spice.task": "Нехай прянощі течуть рікою", "quests.space_survival.mars_islands.title": "Марсіанські джунглі", "quests.space_survival.mars_islands.subtitle": "Це динозавр?!", @@ -2969,7 +3284,7 @@ "quests.space_survival.mars_crops.task": "Будь-яке марсіанське насіння", "quests.space_survival.bulbkin_pie.title": "Марсіанська кухня", "quests.space_survival.bulbkin_pie.subtitle": "Ще більше кулінарних жахіть у вашому розпорядженні", - "quests.space_survival.bulbkin_pie.desc": "Яйця Врапторів можна переробити на замінник цукру, тоді як яйця Нюхачів сповнені вершків. \n\n&eПиріг із бульбкіна&r, мабуть, є вершиною марсіанської кухні, адже містить велику кількість чотирьох різних видів поживних речовин, хоча його створення трохи клопітке. \n\n&9Порада:&r Це не зовсім їжа, але ви також можете змішати шматки бульбкіна та блоки грибів альфацену, щоб отримати світлокамінь.", + "quests.space_survival.bulbkin_pie.desc": "Яйця Враптора можна використати для отримання замінника Цукру, тоді як яйця Нюхача сповнені Вершків. \n\n&eПиріг із Бульбкіна&r, мабуть, є вершиною марсіанської кухні, адже містить велику кількість чотирьох різних видів поживних речовин, хоч і є трохи клопітким у створенні. \n\n&eДинозаврові нагетси в пивному клярі&r поєднують величезну кількість білка з м’яса динозавра з невеликою кількістю зерна, і їх також можна покласти у ваші харчові сумки. \n\n&9Порада:&r Це не зовсім їжа, але ви також можете змішати Кусні Бульбкіна та Блоки грибів Альфацена, щоб отримати Пил світлокаменю.", "quests.space_survival.soarer.title": "Паритель", "quests.space_survival.soarer.subtitle": "Потрібен підйом?", "quests.space_survival.soarer.desc": "Літаки на Марсі не працюють, а у вашому скафандрі немає реактивного ранця, тож іншого способу літати, здається, немає, так? \n\nЯкщо ж вам пощастить знайти невловимого &4Парителя&r, ви можете приручити його сирою рибою та оснастити сідлом, щоб із легкістю плавати марсіанськими небесами. \n\nВтім, вони не можуть літати безкінечно — про це свідчать іконки крил у верхньому лівому куті, тож час від часу їм доведеться приземлятися. Попри це, це чудовий варіант для подорожей на великі відстані, і він не розсердить піщаного хробака! \n\n&9Примітка&r: Парителі не здатні вижити на особливо гарячих планетах, таких як &6Венера&r.", @@ -3213,7 +3528,7 @@ "quests.steam_age.miner.desc.2": "Паровий Бур, з іншого боку, видобуває лише рудні блоки й замінює їх бруківкою, залишаючи решту ґрунту недоторканою. Вона може видобувати руду в (малому) радіусі, що означає, що її потрібно переміщати рідше, ніж механічну шахтарку, але вона також набагато повільніша.", "quests.steam_age.paper.title": "Папір", "quests.steam_age.paper.subtitle": "Не з цукрової тростини", - "quests.steam_age.paper.desc": "Якщо ви ще не зробили жодного паперу, є три різні способи отримати його без електрики:\n\n1) Створити пергамент зі шкіри, пемзи та яйця.\n\n2) Сплести разом папірус.\n\n3) Виготовити папір із твердої деревини через тривалий процес.\n\nПізніше ви зможете перетворювати деревну масу безпосередньо в папір за допомогою LV Хімічної Ванни.", + "quests.steam_age.paper.desc": "Якщо ви ще не зробили цього, існує три різні способи отримати папір без електрики. \n\n1) Створіть пергамент зі шкури, пемзи та яйця. \n\n2) Сплетіть папірус. \n\n3) Виготовте його з твердої деревини через тривалий процес. \n\nЗгодом ви зможете перетворювати деревну масу безпосередньо на папір із меншою кількістю кроків.", "quests.steam_age.lv_circuit.title": "Ваш перший схемний компонент!", "quests.steam_age.lv_circuit.subtitle": "Світанок нової епохи", "quests.steam_age.lv_circuit.desc": "Рецепт для цього може виглядати лякаюче на перший погляд, але якщо ви провели достатньо часу в епоху пари, усе повинно бути легко автоматизованим. Ви будете виготовляти їх у великих кількостях протягом певного часу, але ваші наступні електричні машини допоможуть зробити їх ще дешевшими, поки ви не дістанете Ассемблер Схем наприкінці LV.", @@ -3760,6 +4075,9 @@ "quests.tfg_tips.self_defense.title": "Самооборона", "quests.tfg_tips.self_defense.subtitle": "У тебе зомбі на газоні?", "quests.tfg_tips.self_defense.desc": "Постав &3Пастку з ручкою&r поруч із натискною плитою — і вона повністю знерухомить будь-яку тварину (або монстра!), що на неї наступить. Ідеально для упіймання хитрої лісової істоти або захисту дому.\n\n&3Колючий дріт&r — це пасивний елемент, який просто завдає шкоди всьому, що проходить крізь нього.", + "quests.tfg_tips.lightning_rod.title": "Грозовідвід", + "quests.tfg_tips.lightning_rod.subtitle": "Небажана напруга", + "quests.tfg_tips.lightning_rod.desc": "Оскільки грози в TerraFirmaCraft набагато активніші та жорсткіші, частота блискавок може добряче дратувати. Щоб повністю вирішити цю проблему, можна скористатися &dГрозовідводом&r — всього за 3 мідні стержні.\n\n&dГрозовідвід&r перенаправляє всі блискавки на себе в сферичному радіусі &3128 блоків&r.\nУвага: він &oперенаправляє&r блискавки, але не нейтралізує їх, тож навколо нього все одно виникатимуть пожежі в межах &33 блоків&r — розміщуй його подалі від будь-яких займистих матеріалів.", "quests.tfg_tips.arborfirmacraft.title": "ArborFirmaCraft", "quests.tfg_tips.arborfirmacraft.subtitle": "Збирання життєвої крові дерев", "quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&r — це мод, що додає безліч нових дерев у &3TFG&r: деякі є варіантами існуючих дерев TFC, таких як &dСтародавній Капок&r, а інші — абсолютно нові, наприклад, &aБаобаб&r та &aГевея.&r Деякі текстури дощок і колод цих дерев можуть нагадувати кольори ванільних дерев... \n\nУ цьому розділі розглянемо &bЗбір Соку&r. \n\nЯк бонус, всі породи дерев &2ArborFirmaCraft&r сумісні з &3FirmaLife&r та &3Firma:Civ&r — ми подбали про це!", @@ -3796,7 +4114,7 @@ "quests.tfg_tips.glider.desc": "&dДельтаплан&r можна використовувати для ковзання у повітрі. Ти &cне можеш набирати висоту&r з ним, але він корисний для подолання великих відстаней, \nякщо стрибати з висоти. \nЧудово поєднується з &bРеактивними Ранцями&r!", "quests.tfg_tips.reinforced_glider.title": "Посилений дельтаплан", "quests.tfg_tips.reinforced_glider.subtitle": "Елітра витрачена не дарма...?", - "quests.tfg_tips.reinforced_glider.desc": "Якщо ти поєднаєш &aЕлітру&r, створену в &6HV&r, з &aДельтапланом&r, то отримаєш &dПосилений Дельтаплан.&r Він має більшу міцність і вищу межу швидкості.", + "quests.tfg_tips.reinforced_glider.desc": "Якщо поєднати &aЕлітру&r, створену на &6HV&r, з &aДельтапланом&r, ти отримаєш &dПосилений планер&r. Він має більшу міцність і вищу межу швидкості.", "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", "quests.tfg_tips.immersive_aircraft.subtitle": "Лети крізь небеса зі стилем.", "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive Aircraft&r — це мод, присвячений авіації, що дозволяє долати великі відстані у небі.", @@ -4112,5 +4430,27 @@ "quests.tfg_tips.tools_tips.harvest_basket.title": "Кошики для врожаю", "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "Для змагальних пирогів пекарів.", "quests.tfg_tips.tools_tips.harvest_basket.task": "Будь-який #tfg:harvester", - "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Кошики для врожаю&r&r — новий інструмент, створений спеціально для &5TFG&r! Ці кошики дозволяють збирати цілі дерева та кущі з фруктами одним клацанням ПКМ! Звичайний &6Кошик для врожаю&r має базову міцність &n128&r. А от &3Алюмінієвий кошик&r не отримує жодних пошкоджень при використанні." + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Кошики для врожаю&r&r — новий інструмент, створений спеціально для &5TFG&r! Ці кошики дозволяють збирати цілі дерева та кущі з фруктами одним клацанням ПКМ! Звичайний &6Кошик для врожаю&r має базову міцність &n128&r. А от &3Алюмінієвий кошик&r не отримує жодних пошкоджень при використанні.", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "Візок для мощення", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "Римляни були б горді.", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "Дороги — це чудово! Але іноді ви трохи втомлюєтеся від постійних правих кліків. Замість того, щоб будувати дороги для свого коня, &3дозвольте коню будувати дороги для вас&r! \n&dВізок для мощення&r — це унікальний &cвізок Astikor&r, розроблений для TFG. Цей візок дозволяє автоматично будувати &cRnR дороги&r із налаштовуваною шириною та навіть у режимі рандомізації.", + "quests.tfg_tips.tools_tips.mattocks.title": "Mattocks", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "Лопати просто недостатньо.", + "quests.tfg_tips.tools_tips.mattocks.task0": "Any Mattock", + "quests.tfg_tips.tools_tips.mattocks.task1": "Будь-який дорожній матеріал", + "quests.tfg_tips.tools_tips.mattocks.desc": "&cMattocks&r — це ваш ключ до будівництва доріг у TFG. Їх можна отримати шляхом відливання у форму, як і будь-який інший інструмент TFC. Щоб використати mattocks, змініть його режим (клавіша за замовчуванням: &3&lN&r&r) на «повний блок». \nПісля цього ви можете клацнути правою кнопкою миші по землі чи траві, щоб утрамбувати її. Потім можна накласти &6щебеневу основу&r, а після цього — обраний вами матеріал.", + "quests.tfg_tips.tools_tips.base_course.title": "Основа дороги", + "quests.tfg_tips.tools_tips.base_course.subtitle": "Основа всіх добрих доріг.", + "quests.tfg_tips.tools_tips.base_course.task": "Подивіться на основу дороги", + "quests.tfg_tips.tools_tips.gravel_roads.title": "Гравійні дороги", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "На вас чекає вибоїста поїздка.", + "quests.tfg_tips.tools_tips.gravel_roads.task": "Будь-який матеріал для гравійної дороги", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "Ці матеріали — при нанесенні на основу дороги — утворюють покриття, яке дає &b&l10%%&r&r приріст швидкості ходьби.", + "quests.tfg_tips.tools_tips.brick_roads.title": "Цегляні дороги", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "Скейтбордисти, остерігайтеся.", + "quests.tfg_tips.tools_tips.brick_roads.task": "Будь-який матеріал для цегляної дороги", + "quests.tfg_tips.tools_tips.brick_roads.desc": "Ці матеріали — при нанесенні на основу дороги — утворюють покриття, яке дає &b&l20%%&r&r приріст швидкості ходьби.", + "quests.tfg_tips.tools_tips.concrete_roads.title": "Бетонні дороги", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Майже варте всіх зусиль.", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Вологу бетонну суміш&r можна нанести на основу дороги, щоб створити покриття, яке дає &b&l30%%&r&r бонус до швидкості пересування. \n\n&4Будьте обережні&r під час створення бетонних доріг. Є багато правил, яких слід дотримуватися, щоб не отримати тріснуту чи зіпсовану поверхню. Зверніться до &3Польового посібника&r для детальних інструкцій." } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index f8423035d..01bbfb599 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -574,7 +574,7 @@ "block.tfg.casings.machine_casing_ostrum_carbon": "紫金机械方块", "block.tfg.casings.heat_pipe_casing": "高温管道外壳", "block.tfg.glacian_wool_frame": "霜原羊毛框架", - "block.tfg.aes_insulation_frame": "碱土硅酸盐绝缘框架", + "block.tfg.aes_insulation_frame": "碱土硅酸盐隔热框架", "block.tfg.sand.fluorapatite.blue": "蓝色氟磷灰石沙", "block.tfg.sandstone.raw.fluorapatite.blue": "天然蓝色氟磷灰石砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "天然蓝色氟磷灰石砂岩墙", @@ -651,16 +651,21 @@ "block.tfg.titanium_concrete_bricks": "钛筋混凝土砖", "block.tfg.titanium_concrete_bricks_small": "小型钛筋混凝土砖", "block.tfg.titanium_concrete_bricks_square": "方形钛筋混凝土砖", - "block.tfg.nuclear_turbine": "核动力蒸汽轮机", + "block.tfg.nuclear_turbine": "核能蒸汽涡轮", "block.tfg.evaporation_tower": "蒸发塔", "block.tfg.cooling_tower": "核能冷却塔", "block.tfg.growth_monitor": "生长监控器", "block.tfg.sample_rack": "样本架", "block.tfg.casings.machine_casing_sterilizing_pipes": "除菌管道", + "block.tfg.moderate_core": "慢化堆芯", + "block.tfg.impure_moderate_core": "不纯慢化堆芯", + "block.tfg.moderate_core_frame": "慢化堆芯框架", + "block.tfg.impure_moderate_core_frame": "不纯慢化堆芯框架", "fluid.tfg.nether_slurry": "下界浆液", "fluid.tfg.enriched_nether_slurry": "富集下界浆液", "fluid.tfg.ender_slurry": "末地浆液", "fluid.tfg.enriched_ender_slurry": "富集末地浆液", + "fluid.tfg.heavy_ammoniacal_water": "重氨水", "fluid.tfg.semiheavy_ammoniacal_water": "半重氨水", "fluid.tfg.sulfur_fumes": "硫磺烟气", "fluid.tfg.super_heated_slurry": "超高温浆液", @@ -803,6 +808,7 @@ "item.tfg.conifer_rosin": "松香", "item.tfg.hardwood_strip": "硬木条", "item.tfg.soaked_hardwood_strip": "浸泡硬木条", + "item.tfg.soaked_unrefined_paper": "浸泡粗制纸", "item.tfg.prepared_leather_gloves": "处理过的皮革手套", "item.tfg.latex_soaked_gloves": "乳胶浸渍手套", "item.tfg.unfired_chalk": "未烧制的粉笔", @@ -956,8 +962,8 @@ "item.tfg.nitrocellulose": "硝化纤维", "item.tfg.aes_wool": "碱土硅酸盐棉", "item.tfg.aes_compressed_wool": "压缩碱土硅酸盐棉", - "item.tfg.aes_insulation_sheet": "碱土硅酸盐绝缘板", - "item.tfg.aes_insulation_roll": "碱土硅酸盐绝缘卷", + "item.tfg.aes_insulation_sheet": "碱土硅酸盐隔热板", + "item.tfg.aes_insulation_roll": "碱土硅酸盐隔热卷", "item.tfg.rocket_cone_t2": "改进型火箭鼻锥", "item.tfg.rocket_fin_t2": "改进型火箭尾翼", "item.tfg.cryo_fluix_pearl": "低温福鲁伊克斯珍珠", @@ -980,6 +986,7 @@ "item.tfg.compressed_heliox_3_bucket": "氦氧-3混合气桶", "item.tfg.compressed_trimix_bucket": "50/30/20 三元混合气桶", "item.tfg.compressed_trimix_3_bucket": "50/30/20 三元-3混合气桶", + "item.tfg.heavy_ammoniacal_water_bucket": "重氨水桶", "item.tfg.semiheavy_ammoniacal_water_bucket": "半重氨水桶", "item.tfg.harvest_basket": "收获篮", "item.tfg.aluminium_harvest_basket": "铝制收获篮", @@ -1067,11 +1074,7 @@ "item.tfg.pure_graphite_rod": "纯净石墨棒", "item.tfg.impure_graphite_rod": "不纯石墨棒", "item.tfg.annealed_graphite_rod": "退火石墨棒", - "item.tfg.impure_annealed_graphite_row": "不纯退火石墨棒", - "item.tfg.moderate_core": "慢化堆芯", - "item.tfg.impure_moderate_core": "不纯慢化堆芯", - "item.tfg.moderate_core_frame": "慢化堆芯框架", - "item.tfg.impure_moderate_core_frame": "不纯慢化堆芯框架", + "item.tfg.impure_annealed_graphite_rod": "不纯退火石墨棒", "item.tfg.graphite_moderator": "石墨慢化剂", "item.tfg.impure_graphite_moderator": "不纯石墨慢化剂", "item.tfg.advanced_polymer_binder": "高级聚合物粘合剂", @@ -1104,6 +1107,8 @@ "item.tfg.trapdoor_casting_mold": "模具(活板门)", "item.tfg.chain_casting_mold": "模具(锁链)", "item.tfg.bell_casting_mold": "模具(钟)", + "item.tfg.rnr_plow": "铺路车", + "item.tfg.cobalt_brass_wheel": "钴黄铜车轮", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1354,13 +1359,14 @@ "entity.tfg.wraptor.female": "诡恐鸟", "tfg.tooltip.attribution.wraptor": "§9§o版权归属:Species", "entity.tfg.surfer": "破浪兽", - "tfg.tooltip.surfer_variant.base": "水蓝色皮革", - "tfg.tooltip.surfer_variant.bubble": "百花红皮革", - "tfg.tooltip.surfer_variant.horn": "黄金皮革", - "tfg.tooltip.surfer_variant.tube": "夜影紫皮革", - "tfg.tooltip.surfer_variant.fire": "血红色皮革", - "tfg.tooltip.surfer_variant.brain": "霜原粉皮革", + "tfg.tooltip.surfer_variant.base": "水蓝色毛皮", + "tfg.tooltip.surfer_variant.bubble": "百花红毛皮", + "tfg.tooltip.surfer_variant.horn": "黄金毛皮", + "tfg.tooltip.surfer_variant.tube": "夜影蓝毛皮", + "tfg.tooltip.surfer_variant.fire": "血红色毛皮", + "tfg.tooltip.surfer_variant.brain": "霜原粉毛皮", "tfg.tooltip.attribution.surfer": "§9§o版权归属:Wan's Ancient Beasts", + "entity.tfg.rnr_plow": "铺路车", "effect.tfg.cooling": "§b降温", "effect.tfg.warming": "§6保暖", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", @@ -1507,6 +1513,9 @@ "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", + "tfg.gui.rnr_plow.random_mode": "随机材料", + "tfg.gui.rnr_plow.width": "路径宽度:%d 格", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§c缺少碎石基层!!", "tfc.jei.flint_knapping": "打制石器", "tfc.jei.straw_knapping": "编制干草", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", @@ -1559,7 +1568,8 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "染色", "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "处理刨花板复合材料", "tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "浸泡硬木条", - "tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "处理木板", + "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": "冷却水", "tfc.recipe.barrel.tfg.barrel.cooling_water_2": "冷却水", @@ -1877,7 +1887,251 @@ "quests.development.hull_zpm.title": "可在&cZPM&r级制作", "quests.development.hull_zpm.subtitle": "软件与湿件", "quests.development.hull_zpm.desc": "这是&9湿件&r电路线。\n\n它将是这个模组包中面临的最大自动化挑战。祝你好运。", - "quests.gregtech_energy": "格雷科技能源系统", + "quests.extreme_voltage": "&5EV&r - 超高压", + "quests.extreme_voltage.subtitle": "登陆火星,探索核裂变技术,建造新型巨型多方块结构", + "quests.extreme_voltage.welcome_to_ev.title": "这就是超高压", + "quests.extreme_voltage.welcome_to_ev.subtitle": "让我们在火星上开启核能时代", + "quests.extreme_voltage.welcome_to_ev.desc.1": "你已建成新的&6化工产线&r,制造了先进的&b合金&r,甚至发射&d火箭&r登上了月球。希望你喜欢这段旅程,因为接下来事情将变得更加复杂,强大的新机器和苛刻的工艺正等着你。\n\n在&5EV章节&r中,你的主要目标是制造出第一批&1IV&r和&dLuV&r电路。", + "quests.extreme_voltage.welcome_to_ev.desc.2": "沿途有几个关键挑战等着你:\n\n•建造第一台&6合金冶炼炉&r,这是电力高炉的加速版本,专精于合金冶炼。用它你将能建造第一个大型机器:&6大型离心机&r,这对核裂变产线至关重要。它还能用更快的热力离心机升级你的矿石处理。\n\n•掌握我们原创的&e钨产线&r——循环所有所需材料将考验你的知识和耐心。\n\n•准备飞往&4火星&r,在那里你将成为一名&a外星农场主&r,同时学习驾驭&c原子的力量&r。\n\n祝你好运,从这里开始格雷科技才真正展现其深度!", + "quests.extreme_voltage.distillation_tower.title": "蒸馏塔", + "quests.extreme_voltage.distillation_tower.subtitle": "总统先生,又一座蒸馏塔在工厂落地了", + "quests.extreme_voltage.distillation_tower.desc.1": "&6蒸馏塔&r是&6蒸馏室&r的直接升级版多方块结构。你无需再手动选择输出产物,蒸馏塔会自动处理所有输出,但会消耗更多能量。\n\n这台机器将成为你未来进行&e石油化工&r或&e有机蒸馏&r的核心设备。", + "quests.extreme_voltage.distillation_tower.desc.2": "与&6超净间&r类似,蒸馏塔可纵向扩展高度但无法扩展宽度。从第二层开始,每增加一层都需要配备一个&9输出仓&r以解锁额外流体输出槽;若某层未安装输出仓,对应流体将会被清空。可通过&dEMI&r查询配方输出数量来确定所需层数。一如既往,使用&dEMI&r的多方块结构预览功能并点击结构查看各部件安装位置。", + "quests.extreme_voltage.distillation_tower.desc.3": "&c注意:&r在生产燃料时请谨慎控制蒸馏塔的超频强度!过度超频会降低总能量产出,尤其对于柴油燃料。请仔细核算并反复验证计算结果。", + "quests.extreme_voltage.cracker.subtitle": "你让我裂开了", + "quests.extreme_voltage.cracker.desc": "&3裂化机&r是一个专门为裂化流体而建造的多方块结构。它包含所有&3化学反应釜&r裂化配方,并且是&6无损&r的。\n\n从长远来看,这是节省大量燃料的好方法!\n\n更高的线圈等级提供小幅能量折扣——使用最佳线圈时最高可达70%%。", + "quests.extreme_voltage.ev_components.title": "超高压组件", + "quests.extreme_voltage.ev_components.subtitle": "“乐趣”永不停歇", + "quests.extreme_voltage.ev_components.desc": "&7到现在,你应该已经习惯了每个新能量等级都伴随一批新组件的模式了。&r\n\n&5EV&r等级有一些变化——首先是&e钕&r。你可能在早期挖矿旅行中已经储存了一些,但在处理&e独居石矿石&r时也会发现大量钕。\n\n其次,传感器和发射器需要&b低温福鲁伊克斯珍珠&r。希望你的&d月球&r基础设施已经建成并能有效供应它们。\n\n最后,电机需要坎塔尔合金线缆。如果你一直在勤勉地升级你的电力高炉,制造它们应该比在MV时快得多(而且你还可以回收旧线圈!),但合金冶炼炉能使其更快。", + "quests.extreme_voltage.t2_rocket.title": "火箭2:钛合金狂欢", + "quests.extreme_voltage.t2_rocket.subtitle": "这个是紫色的", + "quests.extreme_voltage.t2_rocket.desc": "这款新型火箭应该不难组装,但你会注意到材料成本相比之前的型号有明显提升。\n\n升级后的&6火箭合金&r现在需要同时使用&b蒸馏水&r和&b低温福鲁伊克斯&r进行冷却处理。\n\n请确保已完善搭建&e钛&r生产线,后续阶段将需要大量钛材!建立连续生产线会为你免去不少麻烦。", + "quests.extreme_voltage.mars.title": "我在&4火星&r上!", + "quests.extreme_voltage.mars.subtitle": "红色星球", + "quests.extreme_voltage.mars.desc.1": "在登陆&4火星&r之前,有几点重要事项需要牢记。\n\n首先,与月球类似,&4火星&r表面也会存在敌对生物。如果你尚未掌握死亡后保留宇航服的方法,或是没有配备新的&eEV级武器&r,你的旅程将会举步维艰。\n\n这颗星球大部分是&e荒漠世界&r,其间散布着若干\"&a岛屿&r\"——在那里你能找到&b水源&r、茂盛的植被,以及更适合建造初始基地的安全区域。而开阔荒漠虽然潜藏着关键资源,但稍有不慎便会危机四伏!", + "quests.extreme_voltage.mars.desc.2": "所有&b流体矿脉&r均遍布火星,但&e重氨水&r仅存在于荒漠之外——这正是在那里建立基地的另一个重要理由。\n\n在能源方面,&4火星&r在初期并不会对你太友好。\n\n这颗星球上几乎所有的常规&6发电方式&r均被禁用或效率低下,这意味着你必须几乎完全依赖&c裂变反应堆&r为基地供能。\n\n在最开始的阶段,我们建议携带一些&b充能电池&r(例如&b兰波顿水晶&r)作为启动能源,随后尽快建立钍燃料棒生产体系。\n\n在火星实现能源稳定需要付出大量时间与精力,但一旦你的系统平稳运行,你会感觉&9无限能量&r已尽在掌握。", + "quests.extreme_voltage.mars.desc.3": "最后提醒:别见到活物就杀。有一部分&a动物&r可以&f驯养&r,它们在你后续发展阶段将起到关键作用。\n\n也请务必查阅&a太空生存&r章节获取更多火星相关提示!\n\n保持警惕,提前规划,火星终将回报你的勇气。", + "quests.extreme_voltage.mars.task": "登陆火星", + "quests.extreme_voltage.nuclear_fuel_factory.title": "核燃料工厂", + "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "热棒", + "quests.extreme_voltage.nuclear_fuel_factory.desc": "&6核燃料工厂&r专为&c裂变反应堆&r生产燃料棒而设计。\n\n该结构支持即将解锁的&9并行控制仓&r(当前非必需)。其运作方式与热解炉高度相似:安装的&e线圈等级越高&r,配方处理速度越快。\n\n鉴于燃料棒生产兼具&c耗时性&r与&c高成本性&r,我们强烈建议使用当前可用的&a最高等级线圈&r。切勿在白铜线圈上浪费时间,你只会削弱自己的生产效率。", + "quests.extreme_voltage.heavy_water.title": "重水", + "quests.extreme_voltage.heavy_water.subtitle": "硬核水源", + "quests.extreme_voltage.heavy_water.desc": "若要维持裂变反应堆运行,你需要稳定供应&b重水&r,而目前仅有一个来源。\n\n它位于火星&a繁茂岛屿&r地下的&a深层流体矿脉&r中。带上你的&6探矿仪&r,切换至&b流体探测模式&r开始扫描。\n\n由于反应堆运行所需的&b重水&r量极其庞大,你应认真考虑投资建造&6大型离心机&r以实现自主生产。\n\n安装&516A EV 能源仓&r后,你将实现真正的大规模生产,确保反应堆永不断供。\n\n稳定的冷却意味着稳定的能量——明智地建造吧!", + "quests.extreme_voltage.nuclear_turbine.title": "核能蒸汽涡轮", + "quests.extreme_voltage.nuclear_turbine.subtitle": "蒸汽动力重磅回归", + "quests.extreme_voltage.nuclear_turbine.desc": "通过裂变反应,你将解锁全新的&6专用涡轮机&r!(普通大型蒸汽轮机仅能处理常规蒸汽。)\n\n其运作原理与现有涡轮机相同,但类似燃气轮机,它至少需要&5EV转子支架&r才能运行。\n\n该涡轮机内部线圈必须使用&7白铜&r,且不影响任何性能(但必须承认,它们看起来相当不错)。\n\n本任务推荐两种适用于当前阶段的&a转子&r,但你尽可自由尝试任何适合现有装置的&b转子&r。", + "quests.extreme_voltage.reactor_components.title": "反应堆热管理", + "quests.extreme_voltage.reactor_components.subtitle": "主动与被动冷却方案", + "quests.extreme_voltage.reactor_components.desc.1": "裂变反应堆最有趣的功能之一,是可通过在内部添加方块来调整其&e最大热容量&r。\n\n你可在反应堆边角位置安装特定&6组件方块&r,最多容纳&e20个&r。例如使用&9材料支架&r并通过输入总线注入冷却元件,以此控制热量积累。\n\n需特别注意,材料支架是启用裂变反应堆&b配方处理&r功能的&c唯一途径&r。\n\n巧妙的内构设计将决定反应堆处于稳定运行还是停机冷却状态,请务必谨慎规划布局!", + "quests.extreme_voltage.reactor_components.desc.2": "如前所述,同时运行三根&e钍燃料棒&r会使反应堆热量升至约&c420&r,略超出默认上限。但通过强化&6反应堆隔热&r可安全达到该阈值。\n\n在结构内部添加&e10个霜原羊毛框架&r或&e20个碱土硅酸盐隔热框架&r,可将反应堆最大热容量提升至&e420&r,从而实现三根钍燃料棒持续运行而不触发冷却模式。\n\n但需注意,增加激活的燃料棒数量会加速其&a耐久损耗&r。这意味着每根燃料棒每刻平均产生的蒸汽量将减少,降低&a能效&r,但另一方面将显著&b加速裂变材料产出&r。\n\n选择优先保障&a能效&r还是追求&b吞吐量&r完全取决于你——这正是掌握&6裂变反应堆&r核心机制的平衡之道。", + "quests.extreme_voltage.heat_exchanger.title": "热交换器", + "quests.extreme_voltage.heat_exchanger.subtitle": "所有这些热量总得有个去处!", + "quests.extreme_voltage.heat_exchanger.desc.1": "&6热交换器&r是你裂变生产线升级的关键组件——不仅用于冷却,还能生产更多驱动核能涡轮的&e高压蒸汽&r。\n\n它具备&b完美超频&r与&b子刻处理&r特性。若对这些术语不熟悉,强烈建议回顾&d格雷科技能源章节&r以全面了解其性能影响。", + "quests.extreme_voltage.heat_exchanger.desc.2": "不要犹豫!初始就直接安装&516A EV能源仓&r,从此无需担忧速度或吞吐量限制。\n\n我们同时为你准备了可连接热交换器主控器的&9机器控制覆盖板&r。我们发现该设备偶尔会意外停运,请务必启用&e防止电源故障&r功能,这将规避格雷科技在瞬时断电时关闭机器的机制。", + "quests.extreme_voltage.refrigerant_pellet.title": "制冷剂丸", + "quests.extreme_voltage.refrigerant_pellet.subtitle": "应对极端温度的临时解决方案", + "quests.extreme_voltage.refrigerant_pellet.desc": "&d钚燃料棒&r运行时会产生极高温度——事实上,你需要在使用&b制冷剂丸&r才能防止反应堆进入冷却模式。\n\n这种丸粒生产成本较高,但你仍可在早期实现批量生产,至少足够支撑最初几根钚燃料棒的运行。单根钚燃料棒全周期运行约需&9256&r颗制冷剂丸。\n\n后续若不愿持续制作这种消耗品,你将能使用&6高级反应堆组件&r。安装后反应堆最大热容量可安全提升至&e600&r,显著增强效率与稳定性。\n\n尽早投资升级内部部件,方能减少对能源核心的频繁维护。", + "quests.extreme_voltage.important_info.title": "前期准备", + "quests.extreme_voltage.important_info.subtitle": "开局并非易事", + "quests.extreme_voltage.important_info.desc.1": "在&c火星&r建立基地前,以下几点关键建议将助你成功立足:\n\n探索时你可能会发现&6火星遗迹&r,其中藏有&e原子机械方块&r与&e高温冶炼机械方块&r。这些虽不足以满足后期庞大需求,但能为选址期间的你提供初期优势。", + "quests.extreme_voltage.important_info.desc.2": "火星基地建设主要有两种方案:\n\n•&a准备优先型&r:在定居前预先造齐完整&6裂变生产线&r所需设施。这意味着巨额材料投入,但投产后可实现自给自足。\n\n•&a渐进建设型&r:先搭建&6核燃料工厂&r、首座&e钍燃料&r&6裂变反应堆&r及&6核能蒸汽涡轮&r。此方案启动更快,但在裂变系统稳定前能源管理将较为艰难。\n\n无论选择哪种路径,我们都建议在定居前先开展勘探任务!", + "quests.extreme_voltage.important_info.desc.3": "由于火星上所有燃烧供能方式均无效,你需要储备足量&b兰波顿水晶&r为初始配方及供氧系统供能。\n\n强烈建议建立&6蒸馏塔&r:&e火星大气&r可被加工成可呼吸的&b空气&r与多种实用气体。此外,压缩氮氧混合气所需原料皆可取自本地的半重氨水。\n\n火星生存不靠运气,全靠准备充分!", + "quests.extreme_voltage.important_info.task": "火星时间到", + "quests.extreme_voltage.dense_lead.title": "加速生产致密铅板", + "quests.extreme_voltage.dense_lead.subtitle": "其他致密板可没有这种待遇", + "quests.extreme_voltage.dense_lead.desc": "鉴于制造&e原子机械方块&r所需的巨量&b致密铅板&r,我们通过&6聚爆压缩机&r提供了一种新的替代配方。该配方效率虽然略有降低,但若你不愿在&b卷板机&r前永远等待,尽可以自由选用。", + "quests.extreme_voltage.thorium_rod.title": "燃料棒", + "quests.extreme_voltage.thorium_rod.subtitle": "小心处理", + "quests.extreme_voltage.thorium_rod.desc.1": "每根&6燃料棒&r都具备独特属性:包括&a耐久值&r(在反应堆中的持续时长)、&c产热量&r以及不同的&e产物类型&r与&b蒸汽输出量&r。你可在&aEMI&r的燃料棒标签页直接查阅这些数据。\n\n在深入了解裂变反应堆运行机制前,需掌握以下关键要点:", + "quests.extreme_voltage.thorium_rod.desc.2": "•燃料棒显示的&e热量百分比&r在反应堆内部会转化为略低于该数值两倍的实际热量。例如,当有足量&b重水&r泵入反应堆时,&c热量&r为70%%的&e钍燃料棒&r将产生略低于140的热量。这种热量增长具有&a叠加性&r,意味着两根钍燃料棒会使反应堆总热量升至约280。", + "quests.extreme_voltage.thorium_rod.desc.3": "•所有燃料棒的&a耐久值&r基础衰减速率相同,但反应堆温度越高,燃料棒损耗越快。因此,即使某种燃料棒的耐久度是另一种的4倍,也未必能持续4倍时长——因为&c温度会直接影响使用寿命&r。\n\n平衡反应堆内的燃料棒数量将是你面临的首个裂变挑战。", + "quests.extreme_voltage.fission_reactor.title": "裂变反应堆", + "quests.extreme_voltage.fission_reactor.subtitle": "哦不,它又进入冷却模式了", + "quests.extreme_voltage.fission_reactor.desc.1": "若想深入了解&6裂变反应堆&r的运行机制,包括计算公式、详细运算及系统行为,请查阅&a格雷科技能源&r章节中的任务。该部分涵盖了热力学与能效系统的所有数学原理。\n\n现在让我们专注于你的第一座&6钍反应堆&r:其基础&c最大热容量&r为&e400&r。如先前任务所述,两根钍燃料棒会使内部热量升至约&e280&r,处于绝对安全范围;但增加第三根燃料棒会将总热量推至约&c420&r,超出限值并触发&c冷却模式&r。", + "quests.extreme_voltage.fission_reactor.desc.2": "别担心,没有爆炸,但你的反应堆将停机直至热量完全冷却至0方可重启。这将完全中断你的&a能源生产&r与&a裂变产物&r生成——堪称重大挫折。\n\n因此,管理激活的燃料棒数量将成为你的首个&6挑战&r,也是裂变系统的核心玩法。\n\n应对方式多种多样,实验探索正是乐趣所在。\n\n方法之一是通过给反应堆安装&6红石端口&r,对其使用&a扳手&r可在&e燃料棒计数&r与&c热量等级&r监控模式间切换。\n\n请注意,所有燃料棒均存储在&6燃料支架&r内。这意味着限制激活燃料棒数量并非简单地在输入总线放置2根燃料棒即可达成——&c你需要精确控制输入总线的进料量&r来实现反应堆的精准调控。", + "quests.extreme_voltage.high_pressure_steam.title": "高压蒸汽", + "quests.extreme_voltage.high_pressure_steam.subtitle": "更好的蒸汽,更大的涡轮", + "quests.extreme_voltage.high_pressure_steam.desc": "&4重要信息&r:若反应堆无足够空间输出高压蒸汽,多余蒸汽将直接清空。\n\n出于平衡性(及管道吞吐量)考量,&6裂变反应堆&r不产生普通蒸汽,而是生成仅能在&6核能蒸汽轮机&r中使用的&b高压蒸汽&r。\n\n若尝试将其输入标准蒸汽轮机,将&c无法运作&r。", + "quests.extreme_voltage.ev_superconductor.title": "EV超导体", + "quests.extreme_voltage.ev_superconductor.subtitle": "更强电流承载能力", + "quests.extreme_voltage.ev_superconductor.desc": "既然你已经处理了一些&e铀&r,你应该查看一下&5EV超导体&r。\n\n这些超导体具有更高的电流容量,帮助你在基地内高效传输能量,确保你的&6核能蒸汽涡轮&r输出能毫无损失地到达所有机器。", + "quests.extreme_voltage.uraninite_dust.subtitle": "好多燃料棒啊", + "quests.extreme_voltage.uraninite_dust.desc": "制作&e铀燃料棒&r需要大量&e晶质铀矿&r——每根燃料棒约需&c240份矿粉&r。请尽早开始采矿以满足后续需求。\n\n火星上分布着&a规模惊人&r的大型矿脉。在后续的进程中,你将能通过&6紫金性加速器&r&a无限量&r生产沥青铀矿与晶质铀矿粉,具体细节将在后续任务中详细说明。", + "quests.extreme_voltage.uranium_line.title": "铀生产线", + "quests.extreme_voltage.uranium_line.subtitle": "又一条全新的加工产线", + "quests.extreme_voltage.uranium_line.desc": "为处理&e铀&r及其&e铀-235同位素&r,你需要搭建专用的小型生产线。\n\n请放心,&a氟&r可循环利用,因此唯一需要持续投入的原料只有&e晶质铀矿粉&r。\n\n可在地球建造该产线,但在火星运行或许更为便捷——毕竟绝大多数晶质铀矿都应在火星开采。", + "quests.extreme_voltage.radioactive_waste.title": "放射性废料", + "quests.extreme_voltage.radioactive_waste.subtitle": "一个人的垃圾是另一个人的进程材料", + "quests.extreme_voltage.radioactive_waste.desc": "放射性废料是制造下一代燃料棒的&c关键副产物&r,请始终确保反应堆留有足够输出空间。若裂变反应堆找不到可用输出口,它会直接&c清除废料&r,导致珍贵资源损失。\n\n我们推荐以下方案:\n- 在&b锁定模式&r下安装一个专用的输出仓\n- 使用带进阶流体探测器覆盖板的超级缸\n\n如果你在火星建有&dME网络&r,亦可选用最新解锁的&6ME输出仓&r。", + "quests.extreme_voltage.uranium_rod.subtitle": "终于,真正的力量!", + "quests.extreme_voltage.uranium_rod.desc.1": "这款第二代反应堆燃料相较于标准&e钍燃料棒&r,具备&a4倍耐久度&r并能产生&a5倍多的蒸汽量&r,但你需要为这些优势规划相应的代价。\n\n&9生产成本与配置要求:&r\n•生产该燃料会持续消耗&e钍燃料棒&r,建议为每种高级燃料棒专门配备独立的&6裂变反应堆&r。当然,若你愿意挑战在同一反应堆内协调多类燃料棒,也未尝不可。", + "quests.extreme_voltage.uranium_rod.desc.2": "热量与调控方案:单根铀燃料棒在标准反应堆内会产生约&c435热量&r,远超默认上限。你可通过以下三种主要方案应对:\n\n&7→&r在反应堆内部安装&e20个霜原羊毛框架&r,将&c最大热容量&r提升至&e440&r,即可安全运行单根燃料棒。\n\n&7→&r使用&6材料支架&r并持续输入大量&b干冰&r以降低反应堆温度。该方案需完备的基础设施,并需接入火星上的&b液态二氧化碳流体矿脉&r。\n\n&7→&r在材料支架中放置&b制冷剂丸&r。其功效与干冰类似,但冷却效能更强。请注意,制造制冷剂丸会消耗大量&e氟&r,而现阶段你的氟资源并非无限。\n\n当然,你也可以自由调配,将这些方案组合使用。", + "quests.extreme_voltage.uranium_rod.desc.3": "&c铀燃料棒的重要提示:&r运行&e铀燃料棒&r的反应堆需要消耗巨量&b重水&r进行冷却。在尝试使用这类燃料棒前,请确保具备充足的重水产能或储备,否则反应堆将迅速触及临界冷却极限。\n\n请审慎规划供应链与冷却策略——这类燃料虽能量强大,但需配套完善的基础设施支撑。", + "quests.extreme_voltage.uranium_waste.title": "铀废料和放射性蒸汽", + "quests.extreme_voltage.uranium_waste.subtitle": "你猜对了,更多加工步骤", + "quests.extreme_voltage.uranium_waste.desc.1": "&e铀燃料棒&r的产出物比钍燃料棒更为复杂:\n\n&6•铀废料&r是开启&d钚生产线&r的基础原料,可立即投入处理。\n\n&6•放射性蒸汽&r不同于普通蒸汽,需通过&6热交换器&r进行处理——将其导入热交换器可回收高压蒸汽。", + "quests.extreme_voltage.uranium_waste.desc.2": "此外,放射性蒸汽需将&e甲酸铵&r加热转化为&e甲酰胺&r——这是钚燃料生产的核心前体。这意味着在将铀反应堆产出的高压蒸汽用于供能前,你必须确保&e甲酸铵&r的持续供应以维持转化链条。\n\n&c实用提示:&r建立专用且持续运行的产线来制造&e甲酸铵&r。若缺乏稳定的甲酸铵供应,你的钚燃料工作流与高压蒸汽生产都将陷入停滞。", + "quests.extreme_voltage.ammonium_formate.title": "甲酸铵", + "quests.extreme_voltage.ammonium_formate.subtitle": "始终保持库存!", + "quests.extreme_voltage.ammonium_formate.desc": "要实现持续能源生产,必须能够无限制造&e甲酸铵&r——若缺乏该原料,你将无法把&b放射性蒸汽&r转化为高压蒸汽。不过这套流程并不复杂!\n\n首先制作&e甲酸&r:只需将火星大气中提取的二氧化碳与来自蓄水器的水结合即可。\n\n至于&e氨气&r,直接电解从(半)重氨水离心获得的&e氯化铵粉&r即可获得。\n\n由于会产生过剩的&b氧气&r与&b盐酸&r,请设定阈值定期清除这些流体,避免它们阻塞&e甲酸铵&r生产线。", + "quests.extreme_voltage.nuclear_residue_dust.title": "核废料粉末", + "quests.extreme_voltage.nuclear_residue_dust.subtitle": "哦,氡就是从这来的", + "quests.extreme_voltage.nuclear_residue_dust.desc": "获取&e核废料粉&r是开启&d钚生产线&r的第一步。\n该过程需要在火星上使用&5EV气体加压器&r进行生产。\n\n此工序还会副产&b氡气&r——尽管后续阶段会用到氡气,但该产线将产生显著盈余,这目前是你获取氡气的唯一稳定来源。\n\n所幸&e核废料&r无需复杂循环:只需投入铀反应堆与热交换器的产出物,添加&e火星浆液&r,&6气体加压器&r即可持续产出核废料粉,助你即刻推进钚生产链。", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.subtitle": "这奇怪的混合物是什么?", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.1": "下一步将开启围绕&d钚生产线&r的多个循环流程。\n\n制造&b氧化核废料粉&r需要&b二氧化氟&r。值得庆幸的是,我们并未要求你准备无限量的氟——该配方在持续运行时会以&b氢氟酸&r形式回收氟,这些氢氟酸可通过电解重新利用。", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.2": "由于配方耗时较长,我们仍建议预先储备足量氟作为初始库存以启动循环。\n\n在此循环过程中请始终注意存储问题:已满的储罐或被阻塞的缓存器会中断整条产线,而专程飞往火星处理将十分麻烦。使用&a超级缸&r或配备溢出销毁升级的&aAE2存储磁盘&r(设置白名单)是有效的解决方案。\n\n需注意该配方同时会产生&e放射性残液&r。请尽量避免清除此物质,它将成为后续系统的重要材料,例如用于&6紫金线性加速器&r(从火星获取无限矿石)、&6生长室&r(生物工程学的初步应用)乃至火星之外的&6裂变反应堆&r。", + "quests.extreme_voltage.refined_nuclear_dust.subtitle": "啊,我的氟就是去了这里", + "quests.extreme_voltage.refined_nuclear_dust.desc": "&e精炼核废料粉&r让你可以以氢氟酸的形式回收氟,从而将其循环用于制备&b二氧化氟&r。\n\n你应当已掌握蒸馏水的制法,若无处储存过剩氧气请及时将其清除。\n\n该配方耗时极长。若能源储备充足,可考虑使用&6大型离心机&r加速处理。但需谨慎操作,在发展阶段初期不宜消耗过多电力。", + "quests.extreme_voltage.plutonium.title": "钚", + "quests.extreme_voltage.plutonium.subtitle": "看看这巨大的原子质量", + "quests.extreme_voltage.plutonium.desc": "你终于成功制备出钚了!目前其唯一实用的用途是制造&d钚燃料棒&r,因此无需囤积该材料。\n\n产生的多余蒸汽可通过常规蒸汽轮机利用或直接排放,但需注意&6核能蒸汽涡轮&r无法处理此类蒸汽。\n\n若希望回收能量,请将剩余蒸汽导入常规蒸汽轮机;否则请安全排放多余蒸汽以防系统阻塞。", + "quests.extreme_voltage.plutonium_rod.subtitle": "曾几何时,我也有电力问题", + "quests.extreme_voltage.plutonium_rod.desc.1": "必须承认:虽然&d钚燃料棒&r的制作过程确实费事,但它是当之无愧的&a能量猛兽&r。其产生的&e高压蒸汽&r输出量近乎铀燃料棒的四倍,即使运行频率较低,也完全能满足火星基地的扩展需求。", + "quests.extreme_voltage.plutonium_rod.desc.2": "然而,其&c巨大的热量&r带来了严峻挑战。高达&c595的热量&r意味着若不使用&b制冷剂丸&r,目前根本无法安全运行。请查阅右侧任务详情了解这种可放入&6材料支架&r的材料。\n\n好消息是?仅需&61个材料支架&r即可稳定反应堆——配合若干&f霜原羊毛框架&r可将温度降至&e430热量&r的可控范围。若使用&62个材料支架&r则能实现完美温控。", + "quests.extreme_voltage.tritiated_water.title": "氚化水", + "quests.extreme_voltage.tritiated_water.subtitle": "放射性水?怎么什么都带放射性?", + "quests.extreme_voltage.tritiated_water.desc": "这种&b放射性水&r是制造&e纳米CPU晶圆&r乃至&6首批IV电路&r的核心材料。\n\n它还可用于紫金线性加速器,并能通过电解转化为&6氚&r——不过短期内你还无需涉及此用途。\n\n&c务必极度谨慎&r:&b氚化水&r极其珍贵,请确保半滴都不浪费!", + "quests.extreme_voltage.nano_cpu_wafer.subtitle": "这听起来像营销话术", + "quests.extreme_voltage.nano_cpu_wafer.desc": "&d纳米CPU晶圆&r是你通往IV电路和&bAE2 64k存储元件&r的大门。\n\n从这个阶段开始,几乎所有高等级电路都会大量消耗这种晶圆——无论是通过&e升级晶圆本身&r,还是制作&a最高端的电路版本&r。\n\n它们同时也是制造&6IV电池&r(即&d兰波顿能量球&r)的必要材料。\n\n参考数据:&b1根钚燃料棒&r产生的氚化水恰好可制造&e9个纳米CPU晶圆&r。", + "quests.extreme_voltage.first_iv_circuit.title": "主机——第一个IV电路!", + "quests.extreme_voltage.first_iv_circuit.subtitle": "EV阶段终于完结了吗?", + "quests.extreme_voltage.first_iv_circuit.desc": "历经漫长发展,你终于获得新型电路并解锁了全新时代。众多可能性现已开启,但你的首要目标应是建造&6IV组装机&r——它将能制造&e慢化堆芯框架&r,大幅提升反应堆的&c最大热容量&r,从此不再依赖制冷剂丸。\n\n你还可以搭建&5EV电路组装机&r来解锁&b纳米处理器电路&r。但请注意,这些电路需要纳米CPU芯片支撑,因此必须建立完善的裂变生产体系作为后盾。\n\n更多细节将在&6IV篇章&r中详述,现在你终于可以安心推进这个全新阶段了。", + "quests.extreme_voltage.moderate_core.subtitle": "重大升级来临", + "quests.extreme_voltage.moderate_core.desc": "是时候对&6裂变反应堆&r进行重大升级了。&e慢化堆芯框架&r根据运气会产生两种版本:优质版本可使&d钚反应堆&r&a完全被动运行单根燃料棒&r,从此告别持续制作&b制冷剂丸&r的困扰!你也可尝试将其与新式框架组件组合,甚至实现&a双钚燃料棒&r同步运行。\n\n这套被称为&6石墨生产线&r的制造流程存在随机性:可能制作失败或获得低阶版本。虽然通过精细配置仍可实现&dAE2&r全自动化,但会使自动化流程稍显复杂。\n\n我们留待你自行探索最高效的核心生产方案。", + "quests.extreme_voltage.abs.subtitle": "我们喜欢这个加热器", + "quests.extreme_voltage.abs.desc": "&6合金冶炼炉&r是一个非常特殊的多方块结构。其运作方式与&6电力高炉&r类似,更高等级的线圈可实现完美超频(详见能源章节),并能以&a提速25%%&r处理大多数电力高炉配方。需注意该设备输出的是熔融流体而非热锭!\n\n&6合金冶炼炉&r的核心特性在于能制造&6大型多方块机器&r所需的合金。实际上,诸如研磨机或蒸馏室等基础机器都拥有对应的多方块版本,提供高度自定义选项——例如配置多个输入/输出总线/仓口,甚至可加装并行控制仓。\n\n关于这些多方块结构的详细信息,请参阅&6格雷科技能源章节&r。", + "quests.extreme_voltage.ev_mixer.title": "&5EV搅拌机&r", + "quests.extreme_voltage.ev_mixer.subtitle": "比本地的酒保更快", + "quests.extreme_voltage.ev_mixer.desc": "某些机器对进程至关重要,&6搅拌机&r便是其中之一。\n\n它解锁了多种推进发展必需的关键合金,尤其是制造&6钌钨钼合金&r——这是升级&6电力高炉&r线圈的必要材料。该合金需同时完成钨生产线与部分铂系生产线才能制备,请做好攻关准备。\n\n不久后你还将解锁&5大型搅拌机&r,该结构可安装两个能源仓。这或许是你最后一次需要搭建单方块搅拌机,当然最终选择权在你手中。", + "quests.extreme_voltage.rtm.title": "钌钨钼合金", + "quests.extreme_voltage.rtm.subtitle": "钌-钨-钼合金", + "quests.extreme_voltage.rtm.desc": "制造&6钌钨钼合金&r需要同时获取&d钌&r(臭名昭著的&d铂系矿泥生产线&r的产物)和&a钨&r(在TFG整合包中变得更难获取)。\n\n在着手生产钌钨钼合金前,请确保这两条产线均已平稳运行。\n\n在常规格雷科技中,钌钨钼合金通常仅是短期过渡材料,但本整合包中情况不同。在&bTerraFirmaGreg&r中,后续多个裂变多方块结构都需要该合金。鉴于高速钢-G线圈仍遥遥无期,我们强烈建议使用&6钌钨钼合金线圈&r作为现有众多多方块结构的强力升级方案。", + "quests.extreme_voltage.rtm_coil.subtitle": "它能变得多热?", + "quests.extreme_voltage.rtm_coil.desc": "&6钌钨钼合金线圈&r可以达到惊人的&e4500K&r,由此解锁碳化钽的冶炼——这是推进进程的关键材料。你需要通过它来制造&5合金冶炼炉&r,同时它还能显著提升电力高炉与核燃料工厂的配方处理速度。\n\n这些线圈甚至能帮助降低提取&a月球风化土&r与&d紫金&r的成本,使其价值远超主要用途。\n\n在常规版本中玩家通常会快速过渡至高速钢-G线圈,但在&bTFG&r整合包中,你必须先完成&5裂变进程&r才能制造&1IV组装机&r,这使得&6钌钨钼合金线圈&r成为更重要且更具持久性的升级方案。", + "quests.extreme_voltage.ruthenium.title": "钌", + "quests.extreme_voltage.ruthenium.subtitle": "一种稀有材料", + "quests.extreme_voltage.ruthenium.desc": "为助你顺利推进,以下是经由&d铂系生产线&r获取&d钌&r的所有步骤。不必担心,你目前无需完成整个&d铂系生产线&r。\n\n(请注意&7该生产线后续可能随&4金星&r版本更新调整)", + "quests.extreme_voltage.gcym_alloys.title": "大型多方块合金", + "quests.extreme_voltage.gcym_alloys.subtitle": "更多合金意味着更多乐趣!", + "quests.extreme_voltage.gcym_alloys.desc": "欢迎来到&d大型多方块结构&r的世界。所有这些合金都是未来众多多方块结构的必备材料,而它们的起点正是&e合金冶炼炉&r。其中部分合金还将用于制造&e高温冶炼机械方块&r——这是核能多方块结构不可或缺的核心组件。\n\n&o&6&l背景知识&r:&r&o格雷科技多方块模组最初是为GTCEu在Minecraft1.12版本开发的扩展,新增了大型格雷机器与&6并行控制仓&r。&o当GTCEu移植至1.20版本时,该模组被完整整合进&dGTm&r——&o这一举措赢得了广泛好评&r。对于仍在1.12版本的老玩家而言,或许还记得它们被称为&dGCYM多方块&r。", + "quests.extreme_voltage.tungsten_steel.title": "钨钢", + "quests.extreme_voltage.tungsten_steel.subtitle": "IV时代的主要材料", + "quests.extreme_voltage.tungsten_steel.desc": "至此你应该很清楚:&6钨钢&r将成为&1IV&r阶段的主要材料,其需求量极为庞大。在推进后续阶段前,请确保建有专用的&6钨生产线&r以维持稳定供应。\n\n若需补充&a白钨矿&r或&a钨酸锂&r,切记火星蕴藏着储量惊人的矿脉可供开采。若担忧沙虫威胁,配置&b大型采矿机&r会是明智之选——它们不会惊动沙虫。\n\n或许是因为钻井液的缘故?", + "quests.extreme_voltage.tungsten.title": "钨", + "quests.extreme_voltage.tungsten.subtitle": "完全自给自足,就像钛一样", + "quests.extreme_voltage.tungsten.desc": "恭喜你成功制备了第一批&6钨&r!希望你喜欢这略微提升的复杂度。请记住,初期所需的少量&6钨&r通过直接投入开采的&a纯碱&r即可满足——这或许能启发你建立全循环产线,实现安稳的自动化生产。\n\n还需谨记:随着进程推进,为这些贯穿整个整合包的复杂流程搭建专属自动化产线将愈发重要。不要担心缺乏资源,而应警惕缺乏时间。", + "quests.extreme_voltage.iv_hull.subtitle": "已经到IV了?", + "quests.extreme_voltage.iv_hull.desc": "虽然你已解锁&1IV机器外壳&r,但在完成裂变生产线前其用途有限——因为&1IV电路&r的制造受限于&d钚燃料棒&r的处理进度。不过你仍可发掘一两种用途,至少当解锁首批&1IV电路&r时,你已做好建造&1IV组装机&r的充分准备。", + "quests.extreme_voltage.large_miner.title": "大型采矿机MK I", + "quests.extreme_voltage.large_miner.subtitle": "首台真正优秀的采矿机", + "quests.extreme_voltage.large_miner.desc": "&b大型采矿机&r是一个令人印象深刻的多方块结构,用于开采你可能遇到的巨型矿脉。它能输出&a粉碎形态&r的矿石,并额外提供平均50%%的增产收益!该设备存在部分限制:需保持其所在区块持续加载,并稳定供应钻井液。\n\n强烈建议在解锁&b建筑小棒手&r的&b复制粘贴工具&r后用它转移设备。通过配置电池箱、大量的钻井液和足够的存储容器(如强化升级的背包或ME存储箱),可确保其长期稳定运行。", + "quests.extreme_voltage.ostrum_harvester.title": "紫金采集器", + "quests.extreme_voltage.ostrum_harvester.subtitle": "更好的线圈意味着更少的耗源", + "quests.extreme_voltage.ostrum_harvester.desc": "&b紫金采集器&r是&6月壤采集器&r的近亲。它也可以通过更好的线圈升级来降低能源成本,但它不需要特定的生物群系。你需要将其建造在&a紫金矿床&r上方才能形成多方块结构。\n\n还有一件事:与月球版本不同,这个需要钻井液才能运行,所以你需要设置一些双向自动化来保持其运行。", + "quests.extreme_voltage.ostrum_dust.title": "碘化紫金", + "quests.extreme_voltage.ostrum_dust.subtitle": "我又得做什么?!", + "quests.extreme_voltage.ostrum_dust.desc": "&a紫金&r有很多用途,但当前你最需关注的是制备&a碘化紫金&r——这是制造热交换器的必备材料。\n\n流程本身并不复杂,唯一难点在于获取所需的&e碘&r。请查阅左侧任务指南以制备完成裂变生产线所需的&l6&r个碘。", + "quests.extreme_voltage.formamide.title": "甲酰胺", + "quests.extreme_voltage.formamide.subtitle": "这也是现实生活中的一种常用溶剂", + "quests.extreme_voltage.formamide.desc": "若不想中断蒸汽生产,请及时清除你生产的任何过剩甲酰胺。", + "quests.extreme_voltage.radioactive_concoction.title": "放射性残液", + "quests.extreme_voltage.radioactive_concoction.subtitle": "别清空这个!", + "quests.extreme_voltage.radioactive_concoction.desc": "&d放射性残液&r是裂变生产线的重要副产物,其主要用途在于通过&b紫金线性加速器&r实现矿石无限化生产,同时也是解锁&b生长室&r的必要材料。\n\n若计划在火星之外建造裂变反应堆,你也需要持续供应这种材料。", + "quests.extreme_voltage.ostrum_linear.subtitle": "更高级的无限资源", + "quests.extreme_voltage.ostrum_linear.desc": "&b紫金线性加速器&r能利用裂变生产线的各类产物合成多种材料。该多方块结构支持大量&b输入总线&r与&b输入仓&r,且所有配方处理速度极快,单台设备即可满足全阶段需求。\n\n我们强烈建议制作数把不同颜色的&e喷罐&r来规整输入输出。例如用&9蓝色&r标记输入总线与输入仓后,仅着色部件会相互关联,既能避免配方冲突又可确保自动化流畅运行。", + "quests.extreme_voltage.pss.subtitle": "一个升级版电池", + "quests.extreme_voltage.pss.desc": "&e蓄能变电站&r已从&1IV&r阶段调整至&5EV&r阶段,这样你就能够在火星直接建造它,在那里用裂变能源管理能量颇具挑战性。它并不是强制性的,所以如果你倾向于跳过它也无妨。\n\n如果你想了解更多关于这个多方块结构的详细运作原理,请查阅&a能源章节&r中的详细条目。", + "quests.extreme_voltage.liquid_air.title": "地球空气", + "quests.extreme_voltage.liquid_air.subtitle": "好多气体", + "quests.extreme_voltage.liquid_air.desc": "蒸馏&b液态空气&r是&6格雷科技&r中获取特定稀有气体&o无限供应&r的核心途径。\n\n地球空气蒸馏能有效制取&b氩气&r、&6氧气&r、&e氦气&r、&3氮气&r与&a二氧化碳&r。", + "quests.extreme_voltage.liquid_mars_air.title": "火星空气", + "quests.extreme_voltage.liquid_mars_air.subtitle": "甚至更多气体", + "quests.extreme_voltage.liquid_mars_air.desc": "蒸馏&b液态空气&r是&6格雷科技&r中获取特定稀有材料&l无限供应&r的核心机制。由于在TFG中无法获取下界空气或末地空气,我们提供了&c火星空气&r作为替代方案。\n\n火星空气富含&b氩气&r与&a二氧化碳&r,同时还能提取&e氖气&r、&3氪气&r和&9氙气&r等稀有气体——这些气体在其他途径均无法获得。\n\n请注意,随着更多行星内容的开发,未来版本可能会调整这些稀有气体的获取方式。请务必关注&6更新日志&r以获取最新变动信息!", + "quests.extreme_voltage.epoxy.title": "环氧树脂", + "quests.extreme_voltage.epoxy.subtitle": "人造树脂", + "quests.extreme_voltage.epoxy.desc.1": "&a环氧树脂&r是游戏中所有未来电路板的制造基础!\n\n&9&l注意:&r该任务相当复杂,请在完成其他所有内容后再尝试制备环氧树脂。届时你将需要动用所有可用的资源!", + "quests.extreme_voltage.epoxy.desc.2": "&a环氧树脂&r的原料有多种获取途径。\n\n我们将忽略与甘油相关的配方,因其性价比始终过低。\n\n尝试使用&3大型化学反应釜&r来简化配方。", + "quests.extreme_voltage.epoxy.desc.3": "&d氯气&r只能部分回收,所以你需要持续补充供应。初期手动添加就够了。\n\n涉及&d氢氧化钠&r的配方可通过电解副产物&9盐水&r来实现循环。\n\n此过程可能需要制作四重管道、泵覆盖板、流体过滤卡等组件,或直接使用AE2来建立物流网络。\n\n总体而言,闭环配置能有效防止生产过剩或过度消耗,但请选择你认为更有趣的实现方式。", + "quests.extreme_voltage.epichlorohydrin.title": "环氧氯丙烷", + "quests.extreme_voltage.epichlorohydrin.desc": "第一次制造&a环氧氯丙烷&r时建议使用&3大型化学反应釜&r配方。\n\n该配方需要&a丙烯&r,这意味着你必须开始进行&d石油处理&r与&d燃油裂化&r。若你此前一直拖延进展,我们深感遗憾!\n\n在向右推进进程前,建造你的第一座&3蒸馏塔&r非常重要。\n\n最后请注意,你可以通过循环利用&d盐水&r副产物来启动&d氢氧化钠&r的循环供应。", + "quests.extreme_voltage.phenol.title": "苯酚", + "quests.extreme_voltage.phenol.desc.1": "获取&a苯酚&r的途径如下:\n\n&91-&r通过蒸馏&a木焦油&r制取。\n\n&92-&r在&3大型化学反应釜&r中使用&a苯&r与&d氯&r、&d氢氧化钠&r反应——此方法可实现氯的完美循环。\n\n&93-&r省去&d氢氧化钠&r的简化配方(将导致&d氯&r净损耗)\n\n&94-&r使用少量&4磷酸&r(通常作为催化剂,此处微量消耗)使&a苯&r、&d丙烯&r和&d氧&r反应——即异丙苯法。", + "quests.extreme_voltage.phenol.desc.2": "如果你在确定用哪个选项时难以抉择,以下是每条路线的优势分析:\n\n&91-&r适合愿意搭建&3热解炉&r+&3蒸馏塔&r组合的方案。\n\n&92-&r这是我们的首选!可利用&d盐&r制备更多&d盐水&r,再通过电解实现循环。\n\n&93-&r若拥有&d氯气&r无限供应则极具吸引力,可通过在盐水矿脉设置&3流体钻机&r实现。\n\n&94-&r……生产&4磷酸&r的过程极为棘手,考虑这个方案你会疯的。", + "quests.extreme_voltage.phenol.desc.3": "&l&3背景知识:&r&o苯+氧气的配方最初是GTCE添加的,旨在填补当时因缺乏大型化学反应釜而缺失的化学合成路径。如今GTCEu已提供更贴近现实的替代方案,该配方或将在未来版本中移除。", + "quests.extreme_voltage.acetone.title": "丙酮", + "quests.extreme_voltage.acetone.desc.1": "虽然蒸馏&a木醋酸&r可获得&a丙酮&r,但产出率较低,可能无法满足需求。\n\n建议直接采用&a乙酸&r在&3大型化学反应釜&r中制备&a丙酮&r的配方。\n\n若追求传统工艺,你也可以使用经典的&a乙酸&r→&d乙酸钙溶液&r→&a丙酮&r循环路径,该方案无需&3大型化学反应釜&r,还能完美回收钙化合物。", + "quests.extreme_voltage.acetone.desc.2": "我们一直在讨论乙酸,却还没告诉你如何获取它。现在才说是不是很贴心?\n\n&a乙酸&r可以在&3化学反应釜&r中合成。我们最喜欢的配方是从&d乙烯&r开始的。", + "quests.extreme_voltage.aes_insulation.title": "碱土硅酸盐隔热材料", + "quests.extreme_voltage.aes_insulation.subtitle": "也称为岩棉", + "quests.extreme_voltage.aes_insulation.desc": "新的等级意味着新种类的隔热材料!\n\n要制造这种材料,你首先需要查看搅拌机中&d碱土硅酸盐混合粉&r的配方。这种材料的用途不仅限于制造你的下一个火箭,最终你将能通过在火星上给嗅探兽和诡恐鸟剪毛来无限量地生产它。", + "quests.extreme_voltage.epoxy_board.subtitle": "新型电路板,更多品类即将登场", + "quests.extreme_voltage.epoxy_board.desc": "环氧树脂电路板是制作&b纳米电路&r所需的关键组件,除此之外并无太多其他用途。", + "quests.extreme_voltage.ev_circuit_assembler.title": "&5EV&r电路组装机", + "quests.extreme_voltage.ev_circuit_assembler.subtitle": "目前不如组装机有用", + "quests.extreme_voltage.ev_circuit_assembler.desc": "&5EV电路组装机&r在你拥有稳定的&b纳米CPU晶圆&r供应之前不会有太大用处。不过,它将允许你更快地制造微处理器电路,并最终让你获得第一批&dLuV电路&r,这在你有&1IV组装机&r后会很有用。", + "quests.extreme_voltage.nano_hv_circuit.subtitle": "它&o看起来&r并没有小那么多……", + "quests.extreme_voltage.nano_hv_circuit.desc": "你的第一批&e纳米电路&r!它们需要&b纳米CPU&r来制作,因此你必须建立持续的&c裂变反应堆&r产线,通过燃烧钚燃料棒来生产必需的&d氚化水&r。\n\n初期&e纳米电路&r的造价会显得相当高昂,但当你的&d裂变生产线&r实现完全被动化运转后,它们反而会成为最廉价的电路之一!", + "quests.extreme_voltage.nano_ev.subtitle": "回到通常的电路进程", + "quests.extreme_voltage.nano_ev.desc": "如果你能实现&b纳米CPU&r的规模化高效生产,这类电路的实际制造成本或将低于等量&b微型处理器&r。当&c裂变生产线&r实现全自动化后,这些电路将成为高端设备制造的极致经济之选。\n\n同时请注意,从现在起你可以使用高级贴片元件了!", + "quests.extreme_voltage.nano_iv.subtitle": "更接近LuV技术了", + "quests.extreme_voltage.nano_iv.desc": "这些&1IV&r电路仍然需要一个&b纳米CPU芯片&r,就此而言其成本并未低于&b微型处理器&r。\n\n但它们是迈向更高技术层级的必备要素。", + "quests.extreme_voltage.nano_luv.subtitle": "你的第一批IV电路", + "quests.extreme_voltage.nano_luv.desc": "恭喜你成功解锁新一代电路!这些&dLuV电路&r目前用途不多——在完成&b铂系生产线&r前你无法制造任何&dLuV机器&r,但它们对制作新型&dAE2&r工具与组件仍具有重要价值。\n\n大部分相关配方需在&1IV组装机&r中完成,请确保已备好该设备。", + "quests.extreme_voltage.me_part.title": "ME多方块部件", + "quests.extreme_voltage.me_part.subtitle": "将格雷科技直接连接到你的AE2网络", + "quests.extreme_voltage.me_part.task": "任意ME总线或仓", + "quests.extreme_voltage.me_part.desc": "这些方块可替代多方块结构中常规的输入和输出总线/仓。&b输出&r版本特别实用,因为它们庞大的物品/流体存储容量足以应对大多数配置需求,非常适合在多方块结构间共享资源或避免输出堵塞。\n\n它们可以直接连接&dAE2&r线缆,无需借助存储总线或接口。但需注意,其行为模式类似于接口而非实体存储容器。这意味着你无法通过其他接口访问它们的内容。", + "quests.extreme_voltage.tunsgten_line_step.title": "纯碱循环", + "quests.extreme_voltage.tunsgten_line_step.subtitle": "总不能永远依赖采矿", + "quests.extreme_voltage.tunsgten_line_step.desc.1": "要实现&5钨生产线&r的完美循环并非易事,所以我们将用这个任务引导你走向正确的方向。\n\n用你获得的&b盐&r与&a二氧化碳&r、&6氨&r反应生成&3氯化铵&r,通过电解回收&6氨&r并获取制备&e钨酸钠&r所需的&9盐酸&r。\n\n此过程同时会产生&b碳酸氢钠&r,你应该电解它来回收&d纯碱&r。", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "最后,要闭合循环,你需要管理你的&a二氧化碳&r。你可以选择将部分&d纯碱&r电解回收&a碳&r和&9氧&r来重新合成&a二氧化碳&r,或者直接通过&b液态空气&r蒸馏来无限制供应&a二氧化碳&r。", + "quests.extreme_voltage.tunsgten_line_step_1.title": "新的钨产线", + "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "为什么?到底为什么?", + "quests.extreme_voltage.tunsgten_line_step_1.desc": "TerraFirmaGreg中的&e钨产线&r已被彻底重制——你会(或者不会)高兴地得知现在难度&c大幅提升&r。\n\n虽然可以&a完全循环&r钨产线中的所有材料,但这需要大量的工程规划。或者你也可以通过&c大规模生产&r所需资源来强行推进。\n\n小提示:&4火星&r上存在多处富含&e纯碱&r和&e钨&r的&a优质矿脉&r。\n\n稳扎稳打,优化流程,钨产线终将成为你中后期发展的基石。", + "quests.extreme_voltage.tunsgten_line_step_2.title": "钨产线的最后部分", + "quests.extreme_voltage.tunsgten_line_step_2.subtitle": "这部分自我循环", + "quests.extreme_voltage.tunsgten_line_step_2.desc": "一旦你获得了&b钨酸&r并循环了&c纯碱&r,你就完成了最难的部分。从这里开始,你只需要一个&6蒸发塔&r来完全循环&6电弧炉&r所需的&a氢&r,以及一个&6热解炉&r来回收你在开始时使用的&3氨&r。\n\n没什么太难的,所以享受你的&5钨&r吧!", + "quests.extreme_voltage.advanced_fluid_rig.title": "极限流体钻机", + "quests.extreme_voltage.advanced_fluid_rig.subtitle": "极限是一个恰当的形容词", + "quests.extreme_voltage.advanced_fluid_rig.desc.1": "以消耗4倍电力为代价,&3进阶流体钻机II&r可获得16倍的流体产出。\n\n矿脉枯竭速率同时减半。这意味着在单个基岩流体矿脉完全枯竭前,你将总计获得32倍的石油(或其他流体)!\n\n即使矿脉枯竭了,该设备仍能持续运行并且保持能量正收益。\n\n一台&3进阶流体钻机II&r便足以供应一个基地直到LuV阶段的能源需求……甚至可能更高!", + "quests.extreme_voltage.advanced_fluid_rig.desc.2": "&9温馨提示&r(自&bMV&r阶段后首次重现):\n\n&9-&r&a轻油&r可用于制备&d液化石油气&r与&d甲烷&r,供&3大型燃气轮机&r使用。\n\n&9-&r&a石油&r可用于制备&d柴油&r及&d高十六烷值柴油&r,供&3大型内燃机&r使用。\n\n&9-&r&a重油&r可用于制备&d硝基苯&r,供&3大型燃气轮机&r使用。", + "quests.extreme_voltage.mpic_chip.title": "功率集成电路", + "quests.extreme_voltage.mpic_chip.desc": "新型切割机?&a✓&r\n\n新型透镜?&a✓&r\n\n新型功率电路?&a✓&r\n\n新型电力高炉金属要求?&a✓&r\n\n新型能源仓线圈?&a✓&r", + "quests.extreme_voltage.ev_energy_hatch.desc": "又一个等级,又一个能源仓。你知道该用它做什么!", + "quests.extreme_voltage.ev_dynamo_hatch.title": "EV动力仓", + "quests.extreme_voltage.ev_dynamo_hatch.desc": "如果你还没遇到过它们,动力仓本质上是能源仓的输出对应物。你需要在新的大型发电机上配置此类组件,以获得稳定的EV电力,后续任务将详细说明。", + "quests.extreme_voltage.ev_dynamo_hatch.task": "任何EV动力仓", + "quests.extreme_voltage.oil_distillation.title": "真正的石油蒸馏", + "quests.extreme_voltage.oil_distillation.desc": "从蒸馏蒸汽裂化燃油中可获取四种最主要的&d碳氢化合物&r。\n\n建议在进入&1IV&r阶段前完成该产线搭建。\n\n选用&a蒸汽裂化轻燃油&r作为原料或许是当前最优解,但你尽可自由尝试其他方案。\n\n如果你不想要副产碳粉,可以直接安装一个销毁覆盖板。", + "quests.extreme_voltage.oil_distillation.task": "任何石油", + "quests.extreme_voltage.wood_distillation.title": "真正的有机蒸馏", + "quests.extreme_voltage.wood_distillation.desc.1": "该任务需要&3热解炉&r且属于&d可选&r内容,但完成会带来不少便利。\n\n&a木焦油&r蒸馏可产出四种重要流体:\n\n&9-&r 苯酚:用于环氧树脂和聚苯并咪唑\n&9-&r 苯:一种重要的碳氢化合物\n&9-&r 甲苯:用于制造TNT\n&9-&r 二甲苯:用于聚苯并咪唑\n\n与石油不同,将&a木焦油&r投入&3蒸馏塔&r获取副产品,并搭配&d硝基苯&r作为能源是物有所值的。", + "quests.extreme_voltage.wood_distillation.desc.2": "这三种是&a木醋酸&r蒸馏的重要产物:\n\n&9-&r 乙酸:用于制造更多丙酮\n\n&9-&r 甲醇:一种中等重要的碳氢化合物\n\n&9-&r 丙酮:用于环氧树脂和汽油", + "quests.extreme_voltage.wood_distillation.desc.3": "也可以使用4个&3蒸馏塔&r的“完全组合”——将&a木炭副产品&r输入第一个塔,分离成&a木焦油&r、&a木煤气&r和&a木醋酸&r。\n\n虽然这不是最优的成本效益比,但如果你觉得无聊,这个选项也是存在的。", + "quests.extreme_voltage.wood_distillation.task": "以下任何一个", + "quests.extreme_voltage.new_qol.title": "生活品质全新升级", + "quests.extreme_voltage.new_qol.desc": "这里是你通过EV组装机解锁的一些实用工具。", + "quests.extreme_voltage.building_gadgets.title": "建筑小帮手", + "quests.extreme_voltage.building_gadgets.subtitle": "一键搞定美景铺路!", + "quests.extreme_voltage.building_gadgets.desc": "想要进一步扩展你的工厂建设吗?想一键粘贴另一个多方块结构吗?还是觉得那座山遮挡了你的视线?\n\n建筑小帮手 (Building Gadgets) 套件非你莫属——这套工具不仅能实现上述所有需求,更能超越你的想象。它们将成为你未来建设的完美工具,还配备了详尽的手册!", + "quests.extreme_voltage.gasoline.title": "汽油", + "quests.extreme_voltage.gasoline.desc": "&a汽油&r是一种能量密度极高的内燃机燃料,其能量密度超过&d柴油&r的&63倍&r还多!\n\n&9注意:&r该燃料的设计初衷是作为一项&e技术挑战&r供玩家攻克,是否尝试完全取决于你的选择。\n\n由于这是完全&d可选&r的内容,我们将不会提供任何提示,请自行探索获取方式。", + "quests.extreme_voltage.radiation.title": "处理辐射", + "quests.extreme_voltage.radiation.subtitle": "额外辛辣的材料", + "quests.extreme_voltage.radiation.desc.1": "虽然格雷科技不像某些模组那样设置\"环境辐射\",但&a放射性材料&r在被玩家持有时仍然具有危险性!这适用于所有标注&e致癌&r且注明&e任何方式&r触发说明的物品。\n\n应对措施有多种,最简便的方式是彻底避免接触——通过管道、背包乃至小型容器转移这些物品。它们在物品栏中停留的时间越短越好!", + "quests.extreme_voltage.radiation.desc.2": "此外,你还需要其他防护手段。在四个装备槽位穿戴标有&e#ppe_armor&r的防护装备可有效抵御辐射。不过这些装备会随时间推移逐渐损耗(损耗速率与辐射对你的影响程度成正比),&o但&r&6危险材料防护服&r能完全免疫辐射损伤。\n\n需要注意的是,危险材料防护服不具备太空服功能。在火星上,你可以选择建造封闭式充氧基地来使用防护服,或是让太空服照单全收耐久损耗。", + "quests.extreme_voltage.radiation.desc.3": "最后,你可以随时使用&a/medical_condition query&r指令检查辐射中毒程度。若辐射值过高,你将开始持续受到伤害甚至突发性暴毙,因此务必做好预防措施。\n\n目前唯一的治疗手段是制作并服用&b消辐宁&r药丸,每颗可消除50%%的辐射积累量。", + "quests.extreme_voltage.radiation.task": "安全第一!", + "quests.extreme_voltage.hexafluorosilic_acid.title": "六氟硅酸", + "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "水里有点东西……", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "六氟硅酸是通过将红花岗岩、粗面岩或泥板岩粉末浸泡在氢氟酸中获得的。你可以用碎岩机无限获得这种粉末。", + "quests.extreme_voltage.martian_sludge.title": "火星浆液", + "quests.extreme_voltage.martian_sludge.subtitle": "污水产线", + "quests.extreme_voltage.martian_sludge.desc": "对六氟硅酸进行离心处理可回收氟,同时获得&6火星浆液&r——这是制备氡气与核废料的必需材料。", + "quests.extreme_voltage.large_generators.title": "超高压发电", + "quests.extreme_voltage.large_generators.desc": "各种单方块发电机的上限只到HV,自此往后你必须采用多方块结构来产生更多能量。EV阶段两个最好的选择是&d大型燃气涡轮&r和&d大型内燃机&r,请移步格雷科技能源章节了解详细信息。", + "quests.gregtech_energy": "格雷科技能源", "quests.gregtech_energy.subtitle": "这一切到底是怎么工作的?", "quests.gregtech_energy.start.title": "让我们做些解释", "quests.gregtech_energy.start.desc": "我们知道格雷科技并不是最容易上手的模组——尤其是在&c能源系统&r方面。这就是为什么我们将在本章节中花时间尽可能多地解释。\n\n这里的一些内容可能在你进程的后期才能完全理解,所以不要给自己压力。现在只需试着理解你能理解的,并随时&d回到本章节&r提问。\n\n我们将本章节分为&e四个类别&r,每个类别涵盖一个与格雷科技能源系统相关的主题。我们将提供尽可能多的示例来帮助你理解其工作原理。", @@ -2006,7 +2260,7 @@ "quests.gregtech_energy.overclock.subtitle": "基本升级机制", "quests.gregtech_energy.overclock.desc.1": "你听说过超频,但不太明白它是什么?让我们花点时间解释一下。\n\n我们应该从基础开始:\n&d低压&r代表最多32EU/t——有时更少,但绝不会更多。\n&d中压&r达到128EU/t。\n&d高压&r达到512EU/t。\n基本上,每个等级的功耗增加4倍。", "quests.gregtech_energy.overclock.desc.2": "当你在更高等级的机器中运行较低等级的配方时会发生什么?这就是我们所说的&e超频&r!\n\n一个&d中压&r配方(33–128EU/t)在&d高压&r机器中运行将:1)使用4倍的能量,并且2)速度快2倍。\n\n同一个中压配方在&d超高压&r机器中?能量消耗是8倍,但速度只快4倍。\n\n如你所见,使用多台机器比超频单台机器能效更高。\n但说实话:在大多数设置中,你会更喜欢超频,而不是建造大量相同的机器。\n\n不过,在早期能源紧张的时候知道这一点是很好的。", - "quests.gregtech_energy.overclock.desc.3": "有一种特殊的超频只适用于少数多方块结构:&e完美超频&r。\n在这里,不是4倍能量换2倍速度,而是&a4倍能量&r换&a4倍速度&r!这使得它与运行多台机器一样高效。\n\n目前在TerraFirmaGreg中,只有以下多方块结构支持此功能:\n-电力高炉\n-合金高炉\n-转底炉\n-大型化学反应釜\n-电力温室", + "quests.gregtech_energy.overclock.desc.3": "有一种特殊的超频只适用于少数多方块结构:&e完美超频&r。\n在这里,不是4倍能量换2倍速度,而是&a4倍能量&r换&a4倍速度&r!这使得它与运行多台机器一样高效。\n\n目前在TerraFirmaGreg中,只有以下多方块结构支持此功能:\n-电力高炉\n-合金冶炼炉\n-转底炉\n-大型化学反应釜\n-电力温室", "quests.gregtech_energy.overclock.task": "所以红色的更快,懂了", "quests.gregtech_energy.blast_oc.title": "高炉超频", "quests.gregtech_energy.blast_oc.subtitle": "你不需要理解这个", @@ -2366,7 +2620,7 @@ "quests.low_voltage.lv_battery_buffer_4x.task": "任意电池箱", "quests.low_voltage.lv_amp_explanation.title": "但什么是安培?", "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_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.desc": "探矿仪是一个能助你快速定位矿脉的神奇工具。\n\n它的GUI支持交互操作,右键点击即可扫描矿石并实时显示在动态地图上。\n\n&l&3背景知识:&r&o想当年便携式探矿仪曾锁定在&dLuV等级&f才能使用,现在的孩子们可太轻松了。", @@ -2473,14 +2727,15 @@ "quests.low_voltage.cupronickel_ingot.desc": "&7格雷科技进阶的一大核心在于获取新材料,这些材料将用于升级机器和解锁高级组件。&r\n\n你将接触的第一种合金是&b白铜&r——这仅是漫长征程的起点。\n该材料用于升级&6电力高炉&r,乃是工业发展不可或缺的关键步骤。\n\n幸运的是,这第一步相当简单:基础的&7LV合金炉&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,用于制造初代电力高炉所需的加热线圈。\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,这意味着你终于可以拆除旧的群峦传说铁匠铺了。", "quests.low_voltage.lv_ebf.desc.2": "需要牢记的是,电力高炉是个耗电大户。运行配方的最低功耗是&9120EU/t&r!这略低于4台&7LV&r发电机或交流发电机的输出功率。\n\n你可能需要考虑单独搭建一条供电线路,在靠近电力高炉的位置安装专用发电机和电池箱来驱动它。请务必注意电缆损耗。", + "quests.low_voltage.lv_ebf.desc.3": "你的电力高炉是否闪烁并且电力不足?你很可能遇到了线损问题——请阅读格雷科技能源章节来详细了解这一机制。\n\n请确保你的发电机尽可能靠近电力高炉,并使用合适的线缆——我们推荐按照上图所示的方式布置2x锡线缆。", "quests.low_voltage.multiblock_tech.title": "多方块技术", "quests.low_voltage.multiblock_tech.subtitle": "哦,我们喜欢多方块结构,对吧?", - "quests.low_voltage.multiblock_tech.desc": "这是搭建第一个&b电力高炉&r所需的基础部件,不过它的定制性很高。请记住使用&6EMI&r,对控制器使用&6U&r键查看用法,并且不要犹豫&6左键单击结构方块&r来了解各种可能性。\n\n一个重要提示是,每个能源仓可以接受&a2A&r的电流,这意味着在&7LV&r阶段,每个能源仓能处理&a64EU/t&r的能量。配备两个能源仓时,你的&e电力高炉&r就可以在&a128EU/t&r的功率下运行。\n\n欲了解此机制的更多细节,请参阅&e格雷科技能源系统&r章节,特别是&e消耗能量&r部分。\n\n多方块结构包含各种有趣的机制,乍看可能令人望而生畏,但别担心——目前你还用不上什么复杂操作。这些知识都可以循序渐进地掌握!", + "quests.low_voltage.multiblock_tech.desc": "这是搭建第一个&b电力高炉&r所需的基础部件,不过它的定制性很高。请记住使用&6EMI&r,对控制器使用&6U&r键查看用法,并且不要犹豫&6左键单击结构方块&r来了解各种可能性。\n\n一个重要提示是,每个能源仓可以接受&a2A&r的电流,这意味着在&7LV&r阶段,每个能源仓能处理&a64EU/t&r的能量。配备两个能源仓时,你的&e电力高炉&r就可以在&a128EU/t&r的功率下运行。\n\n欲了解此机制的更多细节,请参阅&e格雷科技能源&r章节,特别是&e消耗能量&r部分。\n\n多方块结构包含各种有趣的机制,乍看可能令人望而生畏,但别担心——目前你还用不上什么复杂操作。这些知识都可以循序渐进地掌握!", "quests.low_voltage.multiblock_tech.task.1": "输入总线", "quests.low_voltage.multiblock_tech.task.2": "输出总线", "quests.low_voltage.multiblock_tech.task.3": "输入仓", @@ -2530,7 +2785,7 @@ "quests.medium_voltage.mv_mixer.desc": "若想深入&bMV&r阶段,请从这里开始。\n\n&3MV搅拌机&r产出的粉末具有重要用途。", "quests.medium_voltage.mv_energy.title": "在MV阶段发电", "quests.medium_voltage.mv_energy.subtitle": "事情即将变得棘手", - "quests.medium_voltage.mv_energy.desc.1": "你好!欢迎来到&bMV能源生产&r。\n\n本章节将为你介绍维持&bMV机器&r稳定运行的各种供电方案。\n\n由于不会在每个章节都重复说明,我们强烈建议你&a仔细阅读格雷科技能源系统的专题章节&r以深入了解能源系统运作原理。\n\n目前你有&a三种主要选择&r:\n\n&8-使用&bMV发电机&r直接产生&bMV级电能&r\n\n&8-通过变压器将&7LV&r电能升压&r,&7LV&r与&bMV&r的转换比例为&e4:1&r\n\n&8-通过&d交流发电机&r将RF转化为&bMV电能&r", + "quests.medium_voltage.mv_energy.desc.1": "你好!欢迎来到&bMV能源生产&r。\n\n本章节将为你介绍维持&bMV机器&r稳定运行的各种供电方案。\n\n由于不会在每个章节都重复说明,我们强烈建议你&a仔细阅读格雷科技能源的专题章节&r以深入了解能源系统运作原理。\n\n目前你有&a三种主要选择&r:\n\n&8-使用&bMV发电机&r直接产生&bMV级电能&r\n\n&8-通过变压器将&7LV&r电能升压&r,&7LV&r与&bMV&r的转换比例为&e4:1&r\n\n&8-通过&d交流发电机&r将RF转化为&bMV电能&r\n", "quests.medium_voltage.mv_energy.desc.2": "更高级的发电机将按比例提升燃料消耗以匹配其发电率,同时保持燃料燃烧时长与能量产出总量不变。&3进阶蒸汽轮机&r每秒消耗&d5120mB蒸汽&r,等效于&d256mB/t&r。\n\n本任务只需获得&e任意一种&r发电机即可完成,但建议优先选择&3进阶蒸汽轮机&r。", "quests.medium_voltage.mv_energy.desc.3": "&bMV&r阶段提供了几种新的发电方案。选中发电机后按下&4U&r键可查看哪些燃料属于&a燃油&r或&a燃气&r。\n\n本章节左上角的任务将指引你获取高效发电方案。\n\n若你坚持使用&9蒸汽&r发电,可能需要配备&3大型锅炉&r。", "quests.medium_voltage.mv_energy.desc.4": "&3变压器&r能安全实现不同电压等级间的升压与降压。它们将接收到的电力转换为比输入电压高或低一个等级的等量电力。\n\n除了驱动不同电压等级的机器外,变压器还能用于长距离电力传输——因为更高电压下线路损耗的影响更小。这和现实世界如出一辙!", @@ -4273,5 +4528,27 @@ "quests.tfg_tips.tools_tips.harvest_basket.title": "收获篮", "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "献给各位精益求精的派类烘焙师。", "quests.tfg_tips.tools_tips.harvest_basket.task": "任何#tfg:harvester", - "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2收获篮&r&r是专为&5TFG&r打造的全新工具!只需右键一次,便可使用篮子收获整棵树或整株灌木的果实!普通&6收获篮&r的基础耐久度为&n128&r,而&3铝制收获篮&r在使用时不会损耗耐久度。" + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2收获篮&r&r是专为&5TFG&r打造的全新工具!只需右键一次,便可使用篮子收获整棵树或整株灌木的果实!普通&6收获篮&r的基础耐久度为&n128&r,而&3铝制收获篮&r在使用时不会损耗耐久度。", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "铺路车", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "罗马人会感到骄傲的。", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "修路固然美妙!但反复右键铺路难免令人疲惫。与其亲自为马匹修路,&3何不让马匹为你筑就通途&r!\n&d铺路车&r是专为TFG开发的独特&cAstikor运输车&r。此车可自动建造&cRnR模组的道路&r,支持可调节路面宽度,甚至配备随机化筑路模式。", + "quests.tfg_tips.tools_tips.mattocks.title": "鹤嘴锄", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "仅靠铲子难以胜任。", + "quests.tfg_tips.tools_tips.mattocks.task0": "任何鹤嘴锄", + "quests.tfg_tips.tools_tips.mattocks.task1": "任何铺路材料", + "quests.tfg_tips.tools_tips.mattocks.desc": "&c鹤嘴锄&r是你在TFG中修筑道路的关键工具。与其他群峦传说工具相同,可通过模具浇铸获得。使用时需将模式切换(默认按键:&3&lN&r&r)至\"完整方块\"模式。\n你可以对泥土或草方块右键点击将其压实。然后就可以铺设&6碎石基层&r,最后铺上你所选择的道路面层材料。", + "quests.tfg_tips.tools_tips.base_course.title": "基层", + "quests.tfg_tips.tools_tips.base_course.subtitle": "所有优质路面的基石。", + "quests.tfg_tips.tools_tips.base_course.task": "看向基层", + "quests.tfg_tips.tools_tips.gravel_roads.title": "砾石路", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "颠簸之旅即将开启。", + "quests.tfg_tips.tools_tips.gravel_roads.task": "任何砾石路材料", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "将这些材料铺设于道路基层后,可形成能提升&b&l10%%&r&r移动速度的道路。", + "quests.tfg_tips.tools_tips.brick_roads.title": "石砖路", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "滑板玩家请当心。", + "quests.tfg_tips.tools_tips.brick_roads.task": "任何石砖路材料", + "quests.tfg_tips.tools_tips.brick_roads.desc": "将这些材料铺设于道路基层后,可形成能提升&b&l20%%&r&r移动速度的道路。", + "quests.tfg_tips.tools_tips.concrete_roads.title": "混凝土道路", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "付出终有回报。", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "将&6湿混凝土混合物&r铺设于道路基层后,可形成能提升&b&l30%%&r&r移动速度的道路。\n\n浇筑混凝土路面时&4务必谨慎&r,需遵循诸多规范以确保路面不会开裂或损毁。具体操作请查阅&3野外指南&r获取详细说明。" } \ No newline at end of file diff --git a/kubejs/assets/vintageimprovements/lang/ru_ru.json b/kubejs/assets/vintageimprovements/lang/ru_ru.json index 4abf1e2e3..c048dbdf4 100644 --- a/kubejs/assets/vintageimprovements/lang/ru_ru.json +++ b/kubejs/assets/vintageimprovements/lang/ru_ru.json @@ -1,29 +1,25 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.vintageimprovements.vacuum_chamber": "Вакуумная камера", + "block.vintageimprovements.lathe": "&cDEPRECATED&r Lathe", "item.vintageimprovements.aluminum_sheet": "Алюминий (Пластина)", - "item.vintageimprovements.andesite_sheet": "Андезит (Пластина)", - "item.vintageimprovements.bronze_sheet": "Бронза (Пластина)", "item.vintageimprovements.calorite_sheet": "Калорит (Пластина)", "item.vintageimprovements.cast_iron_sheet": "Чугун (Пластина)", "item.vintageimprovements.cobalt_sheet": "Кобальт (Пластина)", "item.vintageimprovements.desh_sheet": "Деш (Пластина)", "item.vintageimprovements.invar_sheet": "Инвар (Пластина)", "item.vintageimprovements.lead_sheet": "Свинец (Пластина)", - "item.vintageimprovements.netherite_sheet": "Незерит (Пластина)", "item.vintageimprovements.nickel_sheet": "Никель (Пластина)", "item.vintageimprovements.osmium_sheet": "Осмий (Пластина)", + "item.vintageimprovements.ostrum_sheet": "Острум (Пластина)", "item.vintageimprovements.palladium_sheet": "Палладий (Пластина)", "item.vintageimprovements.platinum_sheet": "Платина (Пластина)", "item.vintageimprovements.rhodium_sheet": "Родий (Пластина)", "item.vintageimprovements.rose_gold_sheet": "Розовое золото (Пластина)", "item.vintageimprovements.silver_sheet": "Серебро (Пластина)", - "item.vintageimprovements.steel_sheet": "Сталь (Пластина)", - "item.vintageimprovements.tin_sheet": "Олово (Пластина)", - "item.vintageimprovements.uranium_sheet": "Уран (Пластина)", "item.vintageimprovements.vanadium_sheet": "Ванадий (Пластина)", "item.vintageimprovements.zinc_sheet": "Цинк (Пластина)", "item.vintageimprovements.vanadium_nugget": "Ванадий (Самородок)", "item.vintageimprovements.vanadium_ingot": "Ванадий (Слиток)", - "block.vintageimprovements.vanadium_block": "Ванадий (Блок)", - "block.vintageimprovements.vacuum_chamber": "Вакуумная камера" + "block.vintageimprovements.vanadium_block": "Ванадий (Блок)" } \ 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 new file mode 100644 index 000000000..6da5a0cc8 --- /dev/null +++ b/kubejs/assets/wan_ancient_beasts/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.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": "Приготовленная ножка пожирателя" +} \ No newline at end of file From 25dc829fdbdb742a38988b4bd7850b25be2cc4e4 Mon Sep 17 00:00:00 2001 From: Felix Gill <61631722+Crazyafk@users.noreply.github.com> Date: Fri, 7 Nov 2025 20:44:25 +0000 Subject: [PATCH 028/628] Update tags.js (#2172) --- kubejs/server_scripts/firmalife/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index f43e51d25..5b79901fd 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -82,6 +82,7 @@ const registerFirmaLifeFluidTags = (event) => { event.add('firmalife:mixable', 'tfcchannelcasting:dark_chocolate') event.add('firmalife:mixable', 'afc:maple_syrup') event.add('firmalife:mixable', 'afc:birch_syrup') + event.add('firmalife:usable_in_mixing_bowl', 'gtceu:seed_oil') event.add('firmalife:oils', 'gtceu:seed_oil') } From f8376dee600e8eeb8814ba8f7ff76c58ef84c9b2 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Fri, 7 Nov 2025 18:00:29 -0600 Subject: [PATCH 029/628] Surely this is the last one (#2186) * om * maddie told me they should be in "" * adjusted some things * more mol updates * more adjustments * surely I'm done * Update pakku-lock.json * Create moldraw.yaml --------- Co-authored-by: Pyritie --- config/moldraw.yaml | 14 + kubejs/assets/gtceu/molecules/ammonia.json | 56 + .../gtceu/molecules/antimony_trifluoride.json | 102 +- .../gtceu/molecules/antimony_trioxide.json | 134 +- .../gtceu/molecules/arsenic_trioxide.json | 170 ++ kubejs/assets/gtceu/molecules/barite.json | 184 +- kubejs/assets/gtceu/molecules/biphenyl.json | 336 +-- kubejs/assets/gtceu/molecules/calcite.json | 152 +- .../gtceu/molecules/calcium_ferrocyanide.json | 432 ++-- .../gtceu/molecules/calcium_hydroxide.json | 92 +- .../gtceu/molecules/carbon_dioxide.json | 45 + .../gtceu/molecules/carbon_monoxide.json | 27 + .../gtceu/molecules/chromium_trioxide.json | 62 + .../assets/gtceu/molecules/dimethylamine.json | 40 + .../gtceu/molecules/dinitrogen_tetroxide.json | 162 +- .../gtceu/molecules/dioxygen_difluoride.json | 56 + .../gtceu/molecules/distilled_water.json | 41 + kubejs/assets/gtceu/molecules/ethenone.json | 73 + .../gtceu/molecules/fluoroantimonic_acid.json | 159 ++ .../gtceu/molecules/hydrochloric_acid.json | 26 + .../gtceu/molecules/hydrofluoric_acid.json | 26 + .../gtceu/molecules/hydrogen_cyanide.json | 43 + .../gtceu/molecules/hydrogen_peroxide.json | 56 + .../gtceu/molecules/hydrogen_sulfide.json | 41 + .../gtceu/molecules/hypochlorous_acid.json | 41 + kubejs/assets/gtceu/molecules/lactose.json | 654 +++--- .../molecules/liquid_carbon_dioxide.json | 45 + .../gtceu/molecules/lithium_carbonate.json | 164 +- kubejs/assets/gtceu/molecules/magnesite.json | 152 +- .../gtceu/molecules/monochloramine.json | 56 + .../assets/gtceu/molecules/nitric_acid.json | 59 + .../assets/gtceu/molecules/nitric_oxide.json | 28 + .../gtceu/molecules/nitrogen_dioxide.json | 78 +- .../gtceu/molecules/nitrosyl_chloride.json | 76 +- .../assets/gtceu/molecules/nitrous_oxide.json | 91 +- .../gtceu/molecules/osmium_tetroxide.json | 130 +- .../assets/gtceu/molecules/paracetamol.json | 305 +-- kubejs/assets/gtceu/molecules/phosphate.json | 154 +- .../gtceu/molecules/phosphoric_acid.json | 76 + .../gtceu/molecules/phosphorus_pentoxide.json | 432 ++-- .../molecules/polychlorinated_biphenyl.json | 242 ++ .../gtceu/molecules/potassium_carbonate.json | 164 +- .../gtceu/molecules/potassium_cyanide.json | 92 +- .../gtceu/molecules/potassium_dichromate.json | 320 +-- .../molecules/potassium_ferrocyanide.json | 432 ++-- .../gtceu/molecules/potassium_hydroxide.json | 90 +- .../gtceu/molecules/potassium_sulfate.json | 196 +- .../assets/gtceu/molecules/prussian_blue.json | 1179 ++++++++++ .../gtceu/molecules/ruthenium_tetroxide.json | 75 + kubejs/assets/gtceu/molecules/saltpeter.json | 153 +- kubejs/assets/gtceu/molecules/scheelite.json | 184 +- kubejs/assets/gtceu/molecules/soda_ash.json | 164 +- .../gtceu/molecules/sodium_bicarbonate.json | 154 +- .../gtceu/molecules/sodium_bisulfate.json | 196 +- .../gtceu/molecules/sodium_hydroxide.json | 90 +- .../gtceu/molecules/sodium_nitrite.json | 122 +- .../gtceu/molecules/sodium_persulfate.json | 191 ++ kubejs/assets/gtceu/molecules/sugar.json | 654 +++--- .../gtceu/molecules/sulfur_dioxide.json | 45 + .../gtceu/molecules/sulfur_trioxide.json | 62 + .../assets/gtceu/molecules/sulfuric_acid.json | 77 + .../molecules/titanium_tetrachloride.json | 71 + .../gtceu/molecules/titanium_trifluoride.json | 102 +- .../gtceu/molecules/tritiated_water.json | 41 + kubejs/assets/gtceu/molecules/tungstate.json | 196 +- .../assets/gtceu/molecules/tungstic_acid.json | 138 +- kubejs/assets/gtceu/molecules/water.json | 41 + .../molecules/1_1_1_2_tetrafluoroethane.json | 154 +- kubejs/assets/tfg/molecules/acetylene.json | 100 +- .../assets/tfg/molecules/ammonia_borane.json | 242 +- .../tfg/molecules/ammonium_tungstate.json | 1956 ++++++++-------- kubejs/assets/tfg/molecules/aniline.json | 247 +- kubejs/assets/tfg/molecules/apt.json | 1990 +++++++++-------- kubejs/assets/tfg/molecules/boric_acid.json | 108 +- .../tfg/molecules/chlorine_pentafluoride.json | 66 +- .../tfg/molecules/chlorodifluoromethane.json | 130 +- .../tfg/molecules/chloryl_fluoride.json | 106 +- .../tfg/molecules/dimethyl_carbonate.json | 154 +- kubejs/assets/tfg/molecules/heavy_water.json | 41 + kubejs/assets/tfg/molecules/iodomethane.json | 130 +- kubejs/assets/tfg/molecules/isobutane.json | 94 +- .../tfg/molecules/methyl_phenylcarbamate.json | 329 +-- .../methylene_diphenyl_dicarbamate.json | 602 ++--- .../methylene_diphenyl_diisocyanate.json | 538 +++-- .../assets/tfg/molecules/semiheavy_water.json | 41 + .../tfg/molecules/sodium_borohydride.json | 156 +- .../tfg/molecules/sodium_methoxide.json | 82 +- .../tfg/molecules/sodium_tungstate.json | 186 +- .../tfg/molecules/tetrafluoroethane.json | 154 +- kubejs/assets/tfg/molecules/tmos.json | 234 +- .../tfg/molecules/trideuteroiodomethane.json | 130 +- .../tfg/molecules/trimethyl_borate.json | 180 +- .../assets/tfg/molecules/tungsten_oxide.json | 108 +- kubejs/server_scripts/tacz/recipes.ammo.js | 7 + pakku-lock.json | 41 + 95 files changed, 11719 insertions(+), 7128 deletions(-) create mode 100644 config/moldraw.yaml create mode 100644 kubejs/assets/gtceu/molecules/ammonia.json create mode 100644 kubejs/assets/gtceu/molecules/arsenic_trioxide.json create mode 100644 kubejs/assets/gtceu/molecules/carbon_dioxide.json create mode 100644 kubejs/assets/gtceu/molecules/carbon_monoxide.json create mode 100644 kubejs/assets/gtceu/molecules/chromium_trioxide.json create mode 100644 kubejs/assets/gtceu/molecules/dimethylamine.json create mode 100644 kubejs/assets/gtceu/molecules/dioxygen_difluoride.json create mode 100644 kubejs/assets/gtceu/molecules/distilled_water.json create mode 100644 kubejs/assets/gtceu/molecules/ethenone.json create mode 100644 kubejs/assets/gtceu/molecules/fluoroantimonic_acid.json create mode 100644 kubejs/assets/gtceu/molecules/hydrochloric_acid.json create mode 100644 kubejs/assets/gtceu/molecules/hydrofluoric_acid.json create mode 100644 kubejs/assets/gtceu/molecules/hydrogen_cyanide.json create mode 100644 kubejs/assets/gtceu/molecules/hydrogen_peroxide.json create mode 100644 kubejs/assets/gtceu/molecules/hydrogen_sulfide.json create mode 100644 kubejs/assets/gtceu/molecules/hypochlorous_acid.json create mode 100644 kubejs/assets/gtceu/molecules/liquid_carbon_dioxide.json create mode 100644 kubejs/assets/gtceu/molecules/monochloramine.json create mode 100644 kubejs/assets/gtceu/molecules/nitric_acid.json create mode 100644 kubejs/assets/gtceu/molecules/nitric_oxide.json create mode 100644 kubejs/assets/gtceu/molecules/phosphoric_acid.json create mode 100644 kubejs/assets/gtceu/molecules/polychlorinated_biphenyl.json create mode 100644 kubejs/assets/gtceu/molecules/prussian_blue.json create mode 100644 kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json create mode 100644 kubejs/assets/gtceu/molecules/sodium_persulfate.json create mode 100644 kubejs/assets/gtceu/molecules/sulfur_dioxide.json create mode 100644 kubejs/assets/gtceu/molecules/sulfur_trioxide.json create mode 100644 kubejs/assets/gtceu/molecules/sulfuric_acid.json create mode 100644 kubejs/assets/gtceu/molecules/titanium_tetrachloride.json create mode 100644 kubejs/assets/gtceu/molecules/tritiated_water.json create mode 100644 kubejs/assets/gtceu/molecules/water.json create mode 100644 kubejs/assets/tfg/molecules/heavy_water.json create mode 100644 kubejs/assets/tfg/molecules/semiheavy_water.json diff --git a/config/moldraw.yaml b/config/moldraw.yaml new file mode 100644 index 000000000..85f917542 --- /dev/null +++ b/config/moldraw.yaml @@ -0,0 +1,14 @@ +enabled: true + +debugMode: false + +coloredAtoms: true + +useMaterialColors: false + +onlyShowOnShift: true + +defaultColor: e + +scale: 20 + diff --git a/kubejs/assets/gtceu/molecules/ammonia.json b/kubejs/assets/gtceu/molecules/ammonia.json new file mode 100644 index 000000000..5ad544b7a --- /dev/null +++ b/kubejs/assets/gtceu/molecules/ammonia.json @@ -0,0 +1,56 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": 0.0, + "y": -1.7321 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/antimony_trifluoride.json b/kubejs/assets/gtceu/molecules/antimony_trifluoride.json index 283c23de3..44afbd03a 100644 --- a/kubejs/assets/gtceu/molecules/antimony_trifluoride.json +++ b/kubejs/assets/gtceu/molecules/antimony_trifluoride.json @@ -1,50 +1,56 @@ { - "contents": [ - { - "type": "atom", - "element": "Sb", - "index": 0, - "x": 0.866, - "y": -0.5 - }, - { - "type": "atom", - "element": "F", - "index": 1, - "x": 0.866, - "y": -1.5 - }, - { - "type": "atom", - "element": "F", - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "F", - "index": 3, - "x": 1.732, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "Sb", + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": "F", + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "F", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "F", + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/antimony_trioxide.json b/kubejs/assets/gtceu/molecules/antimony_trioxide.json index 6bed298af..f0b83773a 100644 --- a/kubejs/assets/gtceu/molecules/antimony_trioxide.json +++ b/kubejs/assets/gtceu/molecules/antimony_trioxide.json @@ -1,63 +1,75 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "Sb", - "index": 1, - "x": 0.866, - "y": 0.5 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.732, - "y": 0.0 - }, - { - "type": "atom", - "element": "Sb", - "index": 3, - "x": 2.598, - "y": 0.5 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 3.4641, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "Sb", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "Sb", + "index": 3, + "x": 2.598, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/arsenic_trioxide.json b/kubejs/assets/gtceu/molecules/arsenic_trioxide.json new file mode 100644 index 000000000..87dc46385 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/arsenic_trioxide.json @@ -0,0 +1,170 @@ +{ + "contents": [ + { + "type": "atom", + "element": "As", + "index": 0, + "x": 1.9603, + "y": -1.0063 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.7095, + "y": -1.8087 + }, + { + "type": "atom", + "element": "As", + "index": 2, + "x": 0.55, + "y": -1.6268 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": -0.2485, + "y": -1.8023 + }, + { + "type": "atom", + "element": "As", + "index": 4, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 1.1606, + "y": -1.1827 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 0.55, + "y": -0.6268 + }, + { + "type": "atom", + "element": "O", + "index": 8, + "x": 1.9603, + "y": -0.0063 + }, + { + "type": "atom", + "element": "As", + "index": 9, + "x": 0.8661, + "y": 0.5 + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 9, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/barite.json b/kubejs/assets/gtceu/molecules/barite.json index 6438265de..22a247a36 100644 --- a/kubejs/assets/gtceu/molecules/barite.json +++ b/kubejs/assets/gtceu/molecules/barite.json @@ -1,88 +1,100 @@ { - "contents": [ - { - "type": "atom", - "element": "S", - "index": 0, - "x": 2.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.33, - "y": -1.0 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 2.33, - "y": 1.0 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3, - 4 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Ba²⁺", - "color": { - "color": -16725760, - "optional": true - }, - "material": "gtceu:barium" - }, - "index": 5, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 2.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.33, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.33, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ba²⁺", + "color": { + "color": -16725760, + "optional": true + }, + "material": "gtceu:barium" + }, + "index": 5, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/biphenyl.json b/kubejs/assets/gtceu/molecules/biphenyl.json index c73925c19..676d78489 100644 --- a/kubejs/assets/gtceu/molecules/biphenyl.json +++ b/kubejs/assets/gtceu/molecules/biphenyl.json @@ -1,154 +1,186 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": 0.5, - "y": 0.8661 - }, - { - "type": "atom", - "index": 1, - "x": 2.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 2, - "x": 1.5, - "y": 0.8661 - }, - { - "type": "atom", - "index": 3, - "x": 1.5, - "y": -0.866 - }, - { - "type": "atom", - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 5, - "x": 0.5, - "y": -0.866 - }, - { - "type": "atom", - "index": 6, - "x": 3.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 7, - "x": 4.5, - "y": 0.8661 - }, - { - "type": "atom", - "index": 8, - "x": 3.5, - "y": 0.8661 - }, - { - "type": "atom", - "index": 9, - "x": 5.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 10, - "x": 3.5, - "y": -0.866 - }, - { - "type": "atom", - "index": 11, - "x": 4.5, - "y": -0.866 - }, - { - "type": "bond", - "a": 2, - "b": 0, - "bond_type": "double" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "double" - }, - { - "type": "bond", - "a": 5, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 1, - "bond_type": "double" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 6, - "bond_type": "double" - }, - { - "type": "bond", - "a": 6, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 11, - "bond_type": "double" - }, - { - "type": "bond", - "a": 11, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 7, - "bond_type": "double" - }, - { - "type": "bond", - "a": 7, - "b": 8, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 1, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 2, + "x": 1.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 3, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 5, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "index": 6, + "x": 3.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 7, + "x": 4.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 8, + "x": 3.5, + "y": 0.8661 + }, + { + "type": "atom", + "index": 9, + "x": 5.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 10, + "x": 3.5, + "y": -0.866 + }, + { + "type": "atom", + "index": 11, + "x": 4.5, + "y": -0.866 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 6, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 7, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcite.json b/kubejs/assets/gtceu/molecules/calcite.json index 3bfaa824a..01cbc9580 100644 --- a/kubejs/assets/gtceu/molecules/calcite.json +++ b/kubejs/assets/gtceu/molecules/calcite.json @@ -1,74 +1,82 @@ { - "contents": [ - { - "type": "atom", - "element": "C", - "index": 0, - "x": 2.2933, - "y": -0.155 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.1594, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.4273, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.2933, - "y": 0.845 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Ca²⁺", - "color": { - "color": -12714240, - "optional": true - }, - "material": "gtceu:calcium" - }, - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca²⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json b/kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json index 905856972..54c464d20 100644 --- a/kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json +++ b/kubejs/assets/gtceu/molecules/calcium_ferrocyanide.json @@ -1,199 +1,237 @@ { - "contents": [ - { - "type": "atom", - "element": "Fe", - "index": 0, - "x": 2.95, - "y": 0.0 - }, - { - "type": "atom", - "index": 1, - "x": 2.084, - "y": 0.5 - }, - { - "type": "atom", - "index": 2, - "x": 2.084, - "y": -0.5 - }, - { - "type": "atom", - "index": 3, - "x": 2.95, - "y": 1.0 - }, - { - "type": "atom", - "index": 4, - "x": 2.95, - "y": -1.0 - }, - { - "type": "atom", - "index": 5, - "x": 3.816, - "y": 0.5 - }, - { - "type": "atom", - "index": 6, - "x": 3.816, - "y": -0.5 - }, - { - "type": "atom", - "element": "N", - "index": 7, - "x": 1.218, - "y": -1.0 - }, - { - "type": "atom", - "element": "N", - "index": 8, - "x": 4.6821, - "y": 1.0 - }, - { - "type": "atom", - "element": "N", - "index": 9, - "x": 2.95, - "y": 2.0 - }, - { - "type": "atom", - "element": "N", - "index": 10, - "x": 4.6821, - "y": -1.0 - }, - { - "type": "atom", - "element": "N", - "index": 11, - "x": 1.218, - "y": 1.0 - }, - { - "type": "atom", - "element": "N", - "index": 12, - "x": 2.95, - "y": -2.0 - }, - { - "sup": "4-", - "atoms": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Ca⁺", - "color": { - "color": -12714240, - "optional": true - }, - "material": "gtceu:calcium" - }, - "index": 13, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 13 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "inward" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 5, - "bond_type": "inward" - }, - { - "type": "bond", - "a": 0, - "b": 6, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 2, - "b": 7, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 5, - "b": 8, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 3, - "b": 9, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 6, - "b": 10, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 1, - "b": 11, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 4, - "b": 12, - "bond_type": "triple" - } - ] + "contents": [ + { + "type": "atom", + "element": "Fe", + "index": 0, + "x": 2.95, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 2.084, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 2.084, + "y": -0.5 + }, + { + "type": "atom", + "index": 3, + "x": 2.95, + "y": 1.0 + }, + { + "type": "atom", + "index": 4, + "x": 2.95, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 3.816, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 3.816, + "y": -0.5 + }, + { + "type": "atom", + "element": "N", + "index": 7, + "x": 1.218, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 8, + "x": 4.6821, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 9, + "x": 2.95, + "y": 2.0 + }, + { + "type": "atom", + "element": "N", + "index": 10, + "x": 4.6821, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 11, + "x": 1.218, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 12, + "x": 2.95, + "y": -2.0 + }, + { + "sup": "4-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 13 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 6, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 9, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 10, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 11, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 12, + "lines": [ + "solid", + "solid", + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/calcium_hydroxide.json b/kubejs/assets/gtceu/molecules/calcium_hydroxide.json index 93531500b..7230a092c 100644 --- a/kubejs/assets/gtceu/molecules/calcium_hydroxide.json +++ b/kubejs/assets/gtceu/molecules/calcium_hydroxide.json @@ -1,47 +1,49 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 1.0, - "y": 0 - }, - { - "type": "atom", - "element": "H", - "index": 1, - "x": 2.0, - "y": 0 - }, - { - "sup": "-", - "sub": "2", - "atoms": [ - 0, - 1 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Ca²⁺", - "color": { - "color": -12714240, - "optional": true - }, - "material": "gtceu:calcium" - }, - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 1.0, + "y": 0 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 2.0, + "y": 0 + }, + { + "sup": "-", + "sub": "2", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca²⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/carbon_dioxide.json b/kubejs/assets/gtceu/molecules/carbon_dioxide.json new file mode 100644 index 000000000..c24cbb9d4 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/carbon_dioxide.json @@ -0,0 +1,45 @@ +{ + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 2.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/carbon_monoxide.json b/kubejs/assets/gtceu/molecules/carbon_monoxide.json new file mode 100644 index 000000000..e60d5670b --- /dev/null +++ b/kubejs/assets/gtceu/molecules/carbon_monoxide.json @@ -0,0 +1,27 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid", + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/chromium_trioxide.json b/kubejs/assets/gtceu/molecules/chromium_trioxide.json new file mode 100644 index 000000000..1756b8a51 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/chromium_trioxide.json @@ -0,0 +1,62 @@ +{ + "contents": [ + { + "type": "atom", + "element": "Cr", + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/dimethylamine.json b/kubejs/assets/gtceu/molecules/dimethylamine.json new file mode 100644 index 000000000..83edb251f --- /dev/null +++ b/kubejs/assets/gtceu/molecules/dimethylamine.json @@ -0,0 +1,40 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "above": "H", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json b/kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json index f9151a604..85d9673ad 100644 --- a/kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json +++ b/kubejs/assets/gtceu/molecules/dinitrogen_tetroxide.json @@ -1,76 +1,90 @@ { - "contents": [ - { - "type": "atom", - "element": "N", - "index": 0, - "x": 0.5, - "y": -0.866 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 0.0, - "y": -1.732 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "N", - "index": 3, - "x": 1.5, - "y": -0.866 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 2.0, - "y": -1.732 - }, - { - "type": "atom", - "element": "O", - "index": 5, - "x": 2.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "one_and_half" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "one_and_half" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "one_and_half" - }, - { - "type": "bond", - "a": 3, - "b": 5, - "bond_type": "one_and_half" - } - ] + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.0, + "y": -1.732 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 3, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.0, + "y": -1.732 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 2.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 3, + "b": 5, + "lines": [ + "solid", + "dotted" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/dioxygen_difluoride.json b/kubejs/assets/gtceu/molecules/dioxygen_difluoride.json new file mode 100644 index 000000000..ae31f96f4 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/dioxygen_difluoride.json @@ -0,0 +1,56 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "F", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "F", + "index": 3, + "x": 2.0, + "y": -1.732 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/distilled_water.json b/kubejs/assets/gtceu/molecules/distilled_water.json new file mode 100644 index 000000000..3b1d2724b --- /dev/null +++ b/kubejs/assets/gtceu/molecules/distilled_water.json @@ -0,0 +1,41 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/ethenone.json b/kubejs/assets/gtceu/molecules/ethenone.json new file mode 100644 index 000000000..331e10261 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/ethenone.json @@ -0,0 +1,73 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "C", + "index": 1, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 2.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 4, + "x": 0.0, + "y": -1.732 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/fluoroantimonic_acid.json b/kubejs/assets/gtceu/molecules/fluoroantimonic_acid.json new file mode 100644 index 000000000..db3f258e1 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/fluoroantimonic_acid.json @@ -0,0 +1,159 @@ +{ + "contents": [ + { + "type": "atom", + "element": "Sb", + "index": 0, + "x": 3.766, + "y": 0.542 + }, + { + "type": "atom", + "element": "F", + "index": 1, + "x": 2.9, + "y": 1.042 + }, + { + "type": "atom", + "element": "F", + "index": 2, + "x": 2.9, + "y": 0.042 + }, + { + "type": "atom", + "element": "F", + "index": 3, + "x": 3.766, + "y": 1.542 + }, + { + "type": "atom", + "element": "F", + "index": 4, + "x": 3.766, + "y": -0.458 + }, + { + "type": "atom", + "element": "F", + "index": 5, + "x": 4.632, + "y": 1.042 + }, + { + "type": "atom", + "element": "F", + "index": 6, + "x": 4.632, + "y": 0.042 + }, + { + "sup": "-", + "atoms": [ + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "parens" + }, + { + "type": "atom", + "element": "F", + "index": 7, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 9, + "x": 1.732, + "y": 0.0 + }, + { + "sup": "+", + "atoms": [ + 7, + 8, + 9 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 6, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 9, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/hydrochloric_acid.json b/kubejs/assets/gtceu/molecules/hydrochloric_acid.json new file mode 100644 index 000000000..07e395b59 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/hydrochloric_acid.json @@ -0,0 +1,26 @@ +{ + "contents": [ + { + "type": "atom", + "element": "Cl", + "index": 0, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/hydrofluoric_acid.json b/kubejs/assets/gtceu/molecules/hydrofluoric_acid.json new file mode 100644 index 000000000..612e3ac28 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/hydrofluoric_acid.json @@ -0,0 +1,26 @@ +{ + "contents": [ + { + "type": "atom", + "element": "F", + "index": 0, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/hydrogen_cyanide.json b/kubejs/assets/gtceu/molecules/hydrogen_cyanide.json new file mode 100644 index 000000000..b7fd98999 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/hydrogen_cyanide.json @@ -0,0 +1,43 @@ +{ + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 1, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/hydrogen_peroxide.json b/kubejs/assets/gtceu/molecules/hydrogen_peroxide.json new file mode 100644 index 000000000..654d33dc3 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/hydrogen_peroxide.json @@ -0,0 +1,56 @@ +{ + "contents": [ + { + "type": "atom", + "element": "H", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": 2.598, + "y": 0.5 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/hydrogen_sulfide.json b/kubejs/assets/gtceu/molecules/hydrogen_sulfide.json new file mode 100644 index 000000000..0efd3e706 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/hydrogen_sulfide.json @@ -0,0 +1,41 @@ +{ + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/hypochlorous_acid.json b/kubejs/assets/gtceu/molecules/hypochlorous_acid.json new file mode 100644 index 000000000..0b7c41dae --- /dev/null +++ b/kubejs/assets/gtceu/molecules/hypochlorous_acid.json @@ -0,0 +1,41 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "Cl", + "index": 2, + "x": 2.089, + "y": -0.2089 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/lactose.json b/kubejs/assets/gtceu/molecules/lactose.json index 0f67fabef..54d116e07 100644 --- a/kubejs/assets/gtceu/molecules/lactose.json +++ b/kubejs/assets/gtceu/molecules/lactose.json @@ -1,305 +1,353 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 1.8660000000000014, - "y": -1.5 - }, - { - "type": "atom", - "index": 1, - "x": 0.8660000000000014, - "y": -1.5 - }, - { - "type": "atom", - "index": 2, - "x": 0.36600000000000144, - "y": -2.3659999999999997 - }, - { - "type": "atom", - "index": 3, - "x": 0.8660000000000014, - "y": -3.2319999999999993 - }, - { - "type": "atom", - "index": 4, - "x": 1.8660000000000014, - "y": -3.2319999999999993 - }, - { - "type": "atom", - "index": 5, - "x": 2.3660000000000014, - "y": -2.3659999999999997 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 6, - "x": 0.36600000000000144, - "y": -1.3659999999999997 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 7, - "x": 0.8660000000000014, - "y": -2.2319999999999993 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 8, - "x": 1.8660000000000014, - "y": -4.231999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 9, - "x": 2.3660000000000014, - "y": -1.3659999999999997 - }, - { - "type": "atom", - "index": 10, - "x": 2.3660000000000014, - "y": -0.36599999999999966 - }, - { - "type": "atom", - "index": 11, - "x": 0.8660000000000014, - "y": -0.5 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 12, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 13, - "x": 2.8660000000000014, - "y": -1.2320000000000002 - }, - { - "type": "atom", - "index": 14, - "x": 3.8660000000000014, - "y": -1.2320000000000002 - }, - { - "type": "atom", - "index": 15, - "x": 4.366000000000001, - "y": -0.36599999999999966 - }, - { - "type": "atom", - "element": "O", - "index": 16, - "x": 3.8660000000000014, - "y": 0.5 - }, - { - "type": "atom", - "index": 17, - "x": 2.8660000000000014, - "y": 0.5 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 18, - "x": 2.8660000000000014, - "y": -0.2320000000000002 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 19, - "x": 3.8660000000000014, - "y": -2.2319999999999993 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 20, - "x": 4.366000000000001, - "y": 0.6340000000000003 - }, - { - "type": "atom", - "index": 21, - "x": 2.8660000000000014, - "y": 1.5 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 22, - "x": 2.0, - "y": 2.0 - }, - { - "type": "bond", - "a": 5, - "b": 0, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 3, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "thick" - }, - { - "type": "bond", - "a": 5, - "b": 4, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 5, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 11, - "bond_type": "single" - }, - { - "type": "bond", - "a": 11, - "b": 12, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 13, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 13, - "b": 14, - "bond_type": "thick" - }, - { - "type": "bond", - "a": 15, - "b": 14, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 15, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 17, - "bond_type": "single" - }, - { - "type": "bond", - "a": 13, - "b": 18, - "bond_type": "single" - }, - { - "type": "bond", - "a": 14, - "b": 19, - "bond_type": "single" - }, - { - "type": "bond", - "a": 15, - "b": 20, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 21, - "bond_type": "single" - }, - { - "type": "bond", - "a": 21, - "b": 22, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 1.8660000000000014, + "y": -1.5 + }, + { + "type": "atom", + "index": 1, + "x": 0.86600000000000144, + "y": -1.5 + }, + { + "type": "atom", + "index": 2, + "x": 0.36600000000000144, + "y": -2.3659999999999997 + }, + { + "type": "atom", + "index": 3, + "x": 0.86600000000000144, + "y": -3.2319999999999993 + }, + { + "type": "atom", + "index": 4, + "x": 1.8660000000000014, + "y": -3.2319999999999993 + }, + { + "type": "atom", + "index": 5, + "x": 2.3660000000000014, + "y": -2.3659999999999997 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 6, + "x": 0.36600000000000144, + "y": -1.3659999999999997 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 0.86600000000000144, + "y": -2.2319999999999993 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 1.8660000000000014, + "y": -4.2319999999999993 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 2.3660000000000014, + "y": -1.3659999999999997 + }, + { + "type": "atom", + "index": 10, + "x": 2.3660000000000014, + "y": -0.36599999999999966 + }, + { + "type": "atom", + "index": 11, + "x": 0.86600000000000144, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 12, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 13, + "x": 2.8660000000000014, + "y": -1.2320000000000002 + }, + { + "type": "atom", + "index": 14, + "x": 3.8660000000000014, + "y": -1.2320000000000002 + }, + { + "type": "atom", + "index": 15, + "x": 4.3660000000000014, + "y": -0.36599999999999966 + }, + { + "type": "atom", + "element": "O", + "index": 16, + "x": 3.8660000000000014, + "y": 0.5 + }, + { + "type": "atom", + "index": 17, + "x": 2.8660000000000014, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 18, + "x": 2.8660000000000014, + "y": -0.23200000000000021 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 19, + "x": 3.8660000000000014, + "y": -2.2319999999999993 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 20, + "x": 4.3660000000000014, + "y": 0.63400000000000034 + }, + { + "type": "atom", + "index": 21, + "x": 2.8660000000000014, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 22, + "x": 2.0, + "y": 2.0 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 5, + "b": 4, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 13, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 13, + "b": 14, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 15, + "b": 14, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/liquid_carbon_dioxide.json b/kubejs/assets/gtceu/molecules/liquid_carbon_dioxide.json new file mode 100644 index 000000000..c24cbb9d4 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/liquid_carbon_dioxide.json @@ -0,0 +1,45 @@ +{ + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 2.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/lithium_carbonate.json b/kubejs/assets/gtceu/molecules/lithium_carbonate.json index 88c09cd7e..928cbab50 100644 --- a/kubejs/assets/gtceu/molecules/lithium_carbonate.json +++ b/kubejs/assets/gtceu/molecules/lithium_carbonate.json @@ -1,79 +1,89 @@ { - "contents": [ - { - "type": "atom", - "element": "C", - "index": 0, - "x": 2.2933, - "y": -0.155 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.1594, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.4273, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.2933, - "y": 0.845 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Li⁺", - "color": { - "color": -3374849, - "optional": true - }, - "material": "gtceu:lithium" - }, - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 4 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Li⁺", + "color": { + "color": -3374849, + "optional": true + }, + "material": "gtceu:lithium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 4 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/magnesite.json b/kubejs/assets/gtceu/molecules/magnesite.json index 509af8010..70eb7e46e 100644 --- a/kubejs/assets/gtceu/molecules/magnesite.json +++ b/kubejs/assets/gtceu/molecules/magnesite.json @@ -1,74 +1,82 @@ { - "contents": [ - { - "type": "atom", - "element": "C", - "index": 0, - "x": 2.2933, - "y": -0.155 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.1594, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.4273, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.2933, - "y": 0.845 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Mg²⁺", - "color": { - "color": -7667968, - "optional": true - }, - "material": "gtceu:magnesium" - }, - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Mg²⁺", + "color": { + "color": -7667968, + "optional": true + }, + "material": "gtceu:magnesium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/monochloramine.json b/kubejs/assets/gtceu/molecules/monochloramine.json new file mode 100644 index 000000000..f85b44f50 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/monochloramine.json @@ -0,0 +1,56 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "Cl", + "index": 1, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": 0.0, + "y": -1.7321 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitric_acid.json b/kubejs/assets/gtceu/molecules/nitric_acid.json new file mode 100644 index 000000000..d9f2e45bf --- /dev/null +++ b/kubejs/assets/gtceu/molecules/nitric_acid.json @@ -0,0 +1,59 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 1, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 0.0, + "y": -1.7321 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "dotted" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitric_oxide.json b/kubejs/assets/gtceu/molecules/nitric_oxide.json new file mode 100644 index 000000000..d148b4b27 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/nitric_oxide.json @@ -0,0 +1,28 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid", + "dotted" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitrogen_dioxide.json b/kubejs/assets/gtceu/molecules/nitrogen_dioxide.json index 371974a33..fc79c49d8 100644 --- a/kubejs/assets/gtceu/molecules/nitrogen_dioxide.json +++ b/kubejs/assets/gtceu/molecules/nitrogen_dioxide.json @@ -1,37 +1,45 @@ { - "contents": [ - { - "type": "atom", - "element": "N", - "index": 0, - "x": 0.866, - "y": 0.5 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 1.732, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "one_and_half" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "one_and_half" - } - ] + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "dotted", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "dotted", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitrosyl_chloride.json b/kubejs/assets/gtceu/molecules/nitrosyl_chloride.json index 7ce57e366..3c1fe3ae0 100644 --- a/kubejs/assets/gtceu/molecules/nitrosyl_chloride.json +++ b/kubejs/assets/gtceu/molecules/nitrosyl_chloride.json @@ -1,37 +1,43 @@ { - "contents": [ - { - "type": "atom", - "element": "N", - "index": 0, - "x": 0.866, - "y": 0.5 - }, - { - "type": "atom", - "element": "Cl", - "index": 1, - "x": 1.7321, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "Cl", + "index": 1, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/nitrous_oxide.json b/kubejs/assets/gtceu/molecules/nitrous_oxide.json index dbf9bdd88..3df656c24 100644 --- a/kubejs/assets/gtceu/molecules/nitrous_oxide.json +++ b/kubejs/assets/gtceu/molecules/nitrous_oxide.json @@ -1,51 +1,44 @@ { - "contents": [ - { - "type": "atom", - "element": "N", - "index": 0, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": { - "symbol": "N⁺", - "color": { - "color": -13610760, - "optional": true - }, - "material": "gtceu:nitrogen" - }, - "index": 1, - "x": 1.0, - "y": 0.0 - }, - { - "type": "atom", - "element": { - "symbol": "O⁻", - "color": { - "color": -62195, - "optional": true - }, - "material": "gtceu:oxygen" - }, - "index": 2, - "x": 2.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 1, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 2.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid", + "dotted" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/osmium_tetroxide.json b/kubejs/assets/gtceu/molecules/osmium_tetroxide.json index 3d87328e5..223d3bce5 100644 --- a/kubejs/assets/gtceu/molecules/osmium_tetroxide.json +++ b/kubejs/assets/gtceu/molecules/osmium_tetroxide.json @@ -1,63 +1,71 @@ { - "contents": [ - { - "index": 0, - "element": "Os", - "x": 0.0, - "y": 0.0, - "type": "atom" - }, - { - "index": 1, - "element": "O", - "x": 0.0, - "y": 1.0, - "type": "atom" - }, - { - "index": 2, - "element": "O", - "x": 0.9659258, - "y": -0.25881904, - "type": "atom" - }, - { - "index": 3, - "element": "O", - "x": 0.5, - "y": -0.8660254, - "type": "atom" - }, - { - "index": 4, - "element": "O", - "x": -0.8660254, - "y": -0.5, - "type": "atom" - }, - { - "a": 0, - "b": 1, - "bond_type": "single", - "type": "bond" - }, - { - "a": 0, - "b": 2, - "bond_type": "inward", - "type": "bond" - }, - { - "a": 0, - "b": 3, - "bond_type": "outward", - "type": "bond" - }, - { - "a": 0, - "b": 4, - "bond_type": "single", - "type": "bond" - } - ] + "contents": [ + { + "index": 0, + "element": "Os", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "O", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "O", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "O", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "O", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 2, + "lines": [ + "inward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 3, + "lines": [ + "outward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 4, + "lines": [ + "solid" + ], + "type": "bond" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/paracetamol.json b/kubejs/assets/gtceu/molecules/paracetamol.json index 2dd6fea8d..5764c3a22 100644 --- a/kubejs/assets/gtceu/molecules/paracetamol.json +++ b/kubejs/assets/gtceu/molecules/paracetamol.json @@ -1,141 +1,168 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": 0.866, - "y": 1.5 - }, - { - "type": "atom", - "index": 1, - "x": 2.5981, - "y": 1.5 - }, - { - "type": "atom", - "index": 2, - "x": 1.7321, - "y": 2.0 - }, - { - "type": "atom", - "index": 3, - "x": 2.5981, - "y": 0.5 - }, - { - "type": "atom", - "index": 4, - "x": 0.866, - "y": 0.5 - }, - { - "type": "atom", - "index": 5, - "x": 1.7321, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 6, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "N", - "above": "H", - "index": 7, - "x": 3.4641, - "y": 2.0 - }, - { - "type": "atom", - "index": 8, - "x": 4.3301, - "y": 1.5 - }, - { - "type": "atom", - "index": 9, - "x": 4.3301, - "y": 0.5 - }, - { - "type": "atom", - "element": "O", - "index": 10, - "x": 5.1962, - "y": 2.0 - }, - { - "type": "bond", - "a": 2, - "b": 0, - "bond_type": "double" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "double" - }, - { - "type": "bond", - "a": 5, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 1, - "bond_type": "double" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 10, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.866, + "y": 1.5 + }, + { + "type": "atom", + "index": 1, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.7321, + "y": 2.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 4, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 5, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 6, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "above": "H", + "index": 7, + "x": 3.4641, + "y": 2.0 + }, + { + "type": "atom", + "index": 8, + "x": 4.3301, + "y": 1.5 + }, + { + "type": "atom", + "index": 9, + "x": 4.3301, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 5.1962, + "y": 2.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 10, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/phosphate.json b/kubejs/assets/gtceu/molecules/phosphate.json index e6601a9e5..543fa076a 100644 --- a/kubejs/assets/gtceu/molecules/phosphate.json +++ b/kubejs/assets/gtceu/molecules/phosphate.json @@ -1,74 +1,84 @@ { - "contents": [ - { - "index": 0, - "element": "P", - "x": 0.0, - "y": 0.0, - "type": "atom" - }, - { - "index": 1, - "element": "O", - "x": 0.0, - "y": 1.0, - "type": "atom" - }, - { - "index": 2, - "element": "O", - "x": 0.9659258, - "y": -0.25881904, - "type": "atom" - }, - { - "index": 3, - "element": "O", - "x": 0.5, - "y": -0.8660254, - "type": "atom" - }, - { - "index": 4, - "element": "O", - "x": -0.8660254, - "y": -0.5, - "type": "atom" - }, - { - "sup": "3-", - "atoms": [ - 0, - 1, - 2, - 3, - 4 - ], - "type": "parens" - }, - { - "a": 0, - "b": 1, - "bond_type": "double_centered", - "type": "bond" - }, - { - "a": 0, - "b": 2, - "bond_type": "inward", - "type": "bond" - }, - { - "a": 0, - "b": 3, - "bond_type": "outward", - "type": "bond" - }, - { - "a": 0, - "b": 4, - "bond_type": "single", - "type": "bond" - } - ] + "contents": [ + { + "index": 0, + "element": "P", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "O", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "O", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "O", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "O", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "sup": "3-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true, + "type": "bond" + }, + { + "a": 0, + "b": 2, + "lines": [ + "inward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 3, + "lines": [ + "outward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 4, + "lines": [ + "solid" + ], + "type": "bond" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/phosphoric_acid.json b/kubejs/assets/gtceu/molecules/phosphoric_acid.json new file mode 100644 index 000000000..c45647763 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/phosphoric_acid.json @@ -0,0 +1,76 @@ +{ + "contents": [ + { + "type": "atom", + "element": "P", + "index": 0, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 1, + "x": 1.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 2, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 1.0, + "y": 1.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json b/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json index 8e0f80407..221ad432e 100644 --- a/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json +++ b/kubejs/assets/gtceu/molecules/phosphorus_pentoxide.json @@ -1,198 +1,238 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 0.4132, - "y": -0.7316 - }, - { - "type": "atom", - "element": "P", - "index": 1, - "x": 1.3028, - "y": -0.2795 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.3028, - "y": 0.6246 - }, - { - "type": "atom", - "element": "P", - "index": 3, - "x": 1.8466, - "y": 1.5806 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 0.9568, - "y": 1.1286 - }, - { - "type": "atom", - "element": "P", - "index": 5, - "x": 0.9568, - "y": 0.2244 - }, - { - "type": "atom", - "element": "O", - "index": 6, - "x": 1.8466, - "y": -0.2277 - }, - { - "type": "atom", - "element": "P", - "index": 7, - "x": 2.7364, - "y": 0.2244 - }, - { - "type": "atom", - "element": "O", - "index": 8, - "x": 2.1926, - "y": -0.7316 - }, - { - "type": "atom", - "element": "O", - "index": 9, - "x": 2.7364, - "y": 1.1286 - }, - { - "type": "atom", - "element": "O", - "index": 10, - "x": 1.0728, - "y": -1.2695 - }, - { - "type": "atom", - "element": "O", - "index": 11, - "x": 3.7031, - "y": -0.0313 - }, - { - "type": "atom", - "element": "O", - "index": 12, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 13, - "x": 1.8466, - "y": 2.5806 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 5, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 10, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 7, - "b": 11, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 5, - "b": 12, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 3, - "b": 13, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.4132, + "y": -0.7316 + }, + { + "type": "atom", + "element": "P", + "index": 1, + "x": 1.3028, + "y": -0.2795 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.3028, + "y": 0.6246 + }, + { + "type": "atom", + "element": "P", + "index": 3, + "x": 1.8466, + "y": 1.5806 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 0.9568, + "y": 1.1286 + }, + { + "type": "atom", + "element": "P", + "index": 5, + "x": 0.9568, + "y": 0.2244 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 1.8466, + "y": -0.2277 + }, + { + "type": "atom", + "element": "P", + "index": 7, + "x": 2.7364, + "y": 0.2244 + }, + { + "type": "atom", + "element": "O", + "index": 8, + "x": 2.1926, + "y": -0.7316 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 2.7364, + "y": 1.1286 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 1.0728, + "y": -1.2695 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 3.7031, + "y": -0.0313 + }, + { + "type": "atom", + "element": "O", + "index": 12, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 13, + "x": 1.8466, + "y": 2.5806 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 10, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 5, + "b": 12, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 3, + "b": 13, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/polychlorinated_biphenyl.json b/kubejs/assets/gtceu/molecules/polychlorinated_biphenyl.json new file mode 100644 index 000000000..e3fbe7b91 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/polychlorinated_biphenyl.json @@ -0,0 +1,242 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 1.2472, + "y": -0.1295 + }, + { + "type": "atom", + "index": 1, + "x": 2.7472, + "y": -0.9955 + }, + { + "type": "atom", + "index": 2, + "x": 2.2472, + "y": -0.1295 + }, + { + "type": "atom", + "index": 3, + "x": 2.2472, + "y": -1.8616 + }, + { + "type": "atom", + "index": 4, + "x": 0.7472, + "y": -0.9955 + }, + { + "type": "atom", + "index": 5, + "x": 1.2472, + "y": -1.8616 + }, + { + "type": "atom", + "index": 6, + "x": 3.7472, + "y": -0.9955 + }, + { + "type": "atom", + "index": 7, + "x": 5.2472, + "y": -0.1295 + }, + { + "type": "atom", + "index": 8, + "x": 4.2472, + "y": -0.1295 + }, + { + "type": "atom", + "index": 9, + "x": 5.7472, + "y": -0.9955 + }, + { + "type": "atom", + "index": 10, + "x": 4.2472, + "y": -1.8616 + }, + { + "type": "atom", + "index": 11, + "x": 5.2472, + "y": -1.8616 + }, + { + "type": "atom", + "index": 12, + "x": 1.7472, + "y": -0.9955 + }, + { + "type": "atom", + "element": { + "symbol": "Clₘ", + "color": { + "color": -14684129, + "optional": true + }, + "material": "gtceu:chlorine" + }, + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 14, + "x": 4.7472, + "y": -0.9955 + }, + { + "type": "atom", + "element": { + "symbol": "Clₙ", + "color": { + "color": -14684129, + "optional": true + }, + "material": "gtceu:chlorine" + }, + "index": 15, + "x": 6.457, + "y": 0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 6, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 7, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_carbonate.json b/kubejs/assets/gtceu/molecules/potassium_carbonate.json index dcd30dd70..73c5ce557 100644 --- a/kubejs/assets/gtceu/molecules/potassium_carbonate.json +++ b/kubejs/assets/gtceu/molecules/potassium_carbonate.json @@ -1,79 +1,89 @@ { - "contents": [ - { - "type": "atom", - "element": "C", - "index": 0, - "x": 2.2933, - "y": -0.155 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.1594, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.4273, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.2933, - "y": 0.845 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "K⁺", - "color": { - "color": -7388972, - "optional": true - }, - "material": "gtceu:potassium" - }, - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 4 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 4 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_cyanide.json b/kubejs/assets/gtceu/molecules/potassium_cyanide.json index b47e878ba..2fb8dc9bb 100644 --- a/kubejs/assets/gtceu/molecules/potassium_cyanide.json +++ b/kubejs/assets/gtceu/molecules/potassium_cyanide.json @@ -1,46 +1,50 @@ { - "contents": [ - { - "type": "atom", - "element": "N", - "index": 0, - "x": 1.9999, - "y": 0.0 - }, - { - "type": "atom", - "element": "C", - "index": 1, - "x": 1.0, - "y": 0.0 - }, - { - "sup": "-", - "atoms": [ - 0, - 1 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "K⁺", - "color": { - "color": -7388972, - "optional": true - }, - "material": "gtceu:potassium" - }, - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "triple" - } - ] + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 1.9999, + "y": 0.0 + }, + { + "type": "atom", + "element": "C", + "index": 1, + "x": 1.0, + "y": 0.0 + }, + { + "sup": "-", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid", + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_dichromate.json b/kubejs/assets/gtceu/molecules/potassium_dichromate.json index b51ddd149..cbc9d1188 100644 --- a/kubejs/assets/gtceu/molecules/potassium_dichromate.json +++ b/kubejs/assets/gtceu/molecules/potassium_dichromate.json @@ -1,149 +1,175 @@ { - "contents": [ - { - "type": "atom", - "element": "Cr", - "index": 0, - "x": 2.0238, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 1.5238, - "y": -0.866 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 2.5238, - "y": 0.8661 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 1.1578, - "y": 0.5 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 2.8898, - "y": -0.5 - }, - { - "type": "atom", - "element": "Cr", - "index": 5, - "x": 3.7559, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 6, - "x": 3.2559, - "y": 0.8661 - }, - { - "type": "atom", - "element": "O", - "index": 7, - "x": 4.2559, - "y": -0.866 - }, - { - "type": "atom", - "element": "O", - "index": 8, - "x": 4.6219, - "y": 0.5 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "K⁺", - "color": { - "color": -7388972, - "optional": true - }, - "material": "gtceu:potassium" - }, - "index": 9, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 9 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 5, - "b": 6, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 5, - "b": 7, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 5, - "b": 8, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "Cr", + "index": 0, + "x": 2.0238, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.5238, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 2.5238, + "y": 0.8661 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 1.1578, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.8898, + "y": -0.5 + }, + { + "type": "atom", + "element": "Cr", + "index": 5, + "x": 3.7559, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 3.2559, + "y": 0.8661 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 4.2559, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 8, + "x": 4.6219, + "y": 0.5 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 9, + "x": -0.25, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 9 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 5, + "b": 7, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json b/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json index 43bec93f7..f90360188 100644 --- a/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json +++ b/kubejs/assets/gtceu/molecules/potassium_ferrocyanide.json @@ -1,199 +1,237 @@ { - "contents": [ - { - "type": "atom", - "element": "Fe", - "index": 0, - "x": 2.95, - "y": 0.0 - }, - { - "type": "atom", - "index": 1, - "x": 2.084, - "y": 0.5 - }, - { - "type": "atom", - "index": 2, - "x": 2.084, - "y": -0.5 - }, - { - "type": "atom", - "index": 3, - "x": 2.95, - "y": 1.0 - }, - { - "type": "atom", - "index": 4, - "x": 2.95, - "y": -1.0 - }, - { - "type": "atom", - "index": 5, - "x": 3.816, - "y": 0.5 - }, - { - "type": "atom", - "index": 6, - "x": 3.816, - "y": -0.5 - }, - { - "type": "atom", - "element": "N", - "index": 7, - "x": 1.218, - "y": -1.0 - }, - { - "type": "atom", - "element": "N", - "index": 8, - "x": 4.6821, - "y": 1.0 - }, - { - "type": "atom", - "element": "N", - "index": 9, - "x": 2.95, - "y": 2.0 - }, - { - "type": "atom", - "element": "N", - "index": 10, - "x": 4.6821, - "y": -1.0 - }, - { - "type": "atom", - "element": "N", - "index": 11, - "x": 1.218, - "y": 1.0 - }, - { - "type": "atom", - "element": "N", - "index": 12, - "x": 2.95, - "y": -2.0 - }, - { - "sup": "4-", - "atoms": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "K⁺", - "color": { - "color": -7388972, - "optional": true - }, - "material": "gtceu:potassium" - }, - "index": 13, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "4", - "atoms": [ 13 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "inward" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 5, - "bond_type": "inward" - }, - { - "type": "bond", - "a": 0, - "b": 6, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 2, - "b": 7, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 5, - "b": 8, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 3, - "b": 9, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 6, - "b": 10, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 1, - "b": 11, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 4, - "b": 12, - "bond_type": "triple" - } - ] + "contents": [ + { + "type": "atom", + "element": "Fe", + "index": 0, + "x": 2.95, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 2.084, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 2.084, + "y": -0.5 + }, + { + "type": "atom", + "index": 3, + "x": 2.95, + "y": 1.0 + }, + { + "type": "atom", + "index": 4, + "x": 2.95, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 3.816, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 3.816, + "y": -0.5 + }, + { + "type": "atom", + "element": "N", + "index": 7, + "x": 1.218, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 8, + "x": 4.6821, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 9, + "x": 2.95, + "y": 2.0 + }, + { + "type": "atom", + "element": "N", + "index": 10, + "x": 4.6821, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 11, + "x": 1.218, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 12, + "x": 2.95, + "y": -2.0 + }, + { + "sup": "4-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "4", + "atoms": [ + 13 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 6, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 9, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 10, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 11, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 12, + "lines": [ + "solid", + "solid", + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_hydroxide.json b/kubejs/assets/gtceu/molecules/potassium_hydroxide.json index 84e9fe863..73a96dc89 100644 --- a/kubejs/assets/gtceu/molecules/potassium_hydroxide.json +++ b/kubejs/assets/gtceu/molecules/potassium_hydroxide.json @@ -1,46 +1,48 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 1.0, - "y": 0 - }, - { - "type": "atom", - "element": "H", - "index": 1, - "x": 2.0, - "y": 0 - }, - { - "sup": "-", - "atoms": [ - 0, - 1 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "K⁺", - "color": { - "color": -7388972, - "optional": true - }, - "material": "gtceu:potassium" - }, - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 1.0, + "y": 0 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 2.0, + "y": 0 + }, + { + "sup": "-", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/potassium_sulfate.json b/kubejs/assets/gtceu/molecules/potassium_sulfate.json index 597e0a009..db31c59c6 100644 --- a/kubejs/assets/gtceu/molecules/potassium_sulfate.json +++ b/kubejs/assets/gtceu/molecules/potassium_sulfate.json @@ -1,93 +1,107 @@ { - "contents": [ - { - "type": "atom", - "element": "S", - "index": 0, - "x": 2.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.33, - "y": -1.0 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 2.33, - "y": 1.0 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3, - 4 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "K⁺", - "color": { - "color": -7388972, - "optional": true - }, - "material": "gtceu:potassium" - }, - "index": 5, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 5 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 2.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.33, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.33, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 5, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 5 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/prussian_blue.json b/kubejs/assets/gtceu/molecules/prussian_blue.json new file mode 100644 index 000000000..3b804e980 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/prussian_blue.json @@ -0,0 +1,1179 @@ +{ + "contents": [ + { + "type": "atom", + "element": "Fe", + "index": 0, + "x": 2.0, + "y": -3.0 + }, + { + "type": "atom", + "index": 1, + "x": 3.0, + "y": -3.0 + }, + { + "type": "atom", + "index": 2, + "x": 2.0, + "y": -2.0 + }, + { + "type": "atom", + "element": "N", + "index": 3, + "x": 2.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 4, + "x": 4.0, + "y": -3.0 + }, + { + "type": "atom", + "element": "Fe", + "index": 5, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "Fe", + "index": 6, + "x": 5.0, + "y": -3.0 + }, + { + "type": "atom", + "element": "N", + "index": 7, + "x": 5.0, + "y": -2.0 + }, + { + "type": "atom", + "element": "N", + "index": 8, + "x": 3.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 9, + "x": 4.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "Fe", + "index": 10, + "x": 5.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 11, + "x": 5.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 12, + "x": 2.5, + "y": 0.866 + }, + { + "type": "atom", + "index": 13, + "x": 5.5, + "y": 0.866 + }, + { + "type": "atom", + "index": 14, + "x": 2.5, + "y": -2.134 + }, + { + "type": "atom", + "element": "N", + "index": 15, + "x": 5.5, + "y": -2.134 + }, + { + "type": "atom", + "index": 16, + "x": 6.0, + "y": -1.2679 + }, + { + "type": "atom", + "element": "Fe", + "index": 17, + "x": 6.5, + "y": -0.4019 + }, + { + "type": "atom", + "element": "N", + "index": 18, + "x": 6.0, + "y": 1.7321 + }, + { + "type": "atom", + "element": "Fe", + "index": 19, + "x": 6.5, + "y": 2.5981 + }, + { + "type": "atom", + "index": 20, + "x": 3.0, + "y": 1.7321 + }, + { + "type": "atom", + "element": "Fe", + "index": 21, + "x": 3.5, + "y": 2.5981 + }, + { + "type": "atom", + "element": "N", + "index": 22, + "x": 3.0, + "y": -1.2679 + }, + { + "type": "atom", + "element": "Fe", + "index": 23, + "x": 3.5, + "y": -0.4019 + }, + { + "type": "atom", + "index": 24, + "x": 4.5, + "y": 2.5981 + }, + { + "type": "atom", + "element": "N", + "index": 25, + "x": 5.5, + "y": 2.5981 + }, + { + "type": "atom", + "index": 26, + "x": 3.5, + "y": 1.5981 + }, + { + "type": "atom", + "element": "N", + "index": 27, + "x": 3.5, + "y": 0.5981 + }, + { + "type": "atom", + "element": "N", + "index": 28, + "x": 6.5, + "y": 1.5981 + }, + { + "type": "atom", + "index": 29, + "x": 6.5, + "y": 0.5981 + }, + { + "type": "atom", + "element": "N", + "index": 30, + "x": 4.5, + "y": -0.4019 + }, + { + "type": "atom", + "index": 31, + "x": 5.5, + "y": -0.4019 + }, + { + "type": "atom", + "index": 32, + "x": 3.5, + "y": 3.5981 + }, + { + "type": "atom", + "index": 33, + "x": 4.0, + "y": 3.4641 + }, + { + "type": "atom", + "index": 34, + "x": 2.5, + "y": 2.5981 + }, + { + "type": "atom", + "element": "N", + "index": 35, + "x": 3.5, + "y": 4.5981 + }, + { + "type": "atom", + "element": "N", + "index": 36, + "x": 4.5, + "y": 4.3301 + }, + { + "type": "atom", + "element": "N", + "index": 37, + "x": 1.5, + "y": 2.5981 + }, + { + "type": "atom", + "element": "N", + "index": 38, + "x": 7.5, + "y": 2.5981 + }, + { + "type": "atom", + "element": "N", + "index": 39, + "x": 7.0, + "y": 3.4641 + }, + { + "type": "atom", + "element": "N", + "index": 40, + "x": 6.5, + "y": 3.5981 + }, + { + "type": "atom", + "index": 41, + "x": 6.5, + "y": 4.5981 + }, + { + "type": "atom", + "index": 42, + "x": 7.5, + "y": 4.3301 + }, + { + "type": "atom", + "index": 43, + "x": 8.5, + "y": 2.5981 + }, + { + "type": "atom", + "index": 44, + "x": 7.5, + "y": -0.4019 + }, + { + "type": "atom", + "index": 45, + "x": 6.5, + "y": -1.4019 + }, + { + "type": "atom", + "index": 46, + "x": 7.0, + "y": 0.4641 + }, + { + "type": "atom", + "element": "N", + "index": 47, + "x": 4.5, + "y": -3.866 + }, + { + "type": "atom", + "element": "N", + "index": 48, + "x": 5.0, + "y": -4.0 + }, + { + "type": "atom", + "element": "N", + "index": 49, + "x": 6.0, + "y": -3.0 + }, + { + "type": "atom", + "element": "N", + "index": 50, + "x": 6.5, + "y": -2.4019 + }, + { + "type": "atom", + "index": 51, + "x": 7.0, + "y": -3.0 + }, + { + "type": "atom", + "index": 52, + "x": 5.0, + "y": -5.0 + }, + { + "type": "atom", + "index": 53, + "x": 4.0, + "y": -4.7321 + }, + { + "type": "atom", + "element": "N", + "index": 54, + "x": 8.5, + "y": -0.4019 + }, + { + "type": "atom", + "element": "N", + "index": 55, + "x": 7.5, + "y": 1.3301 + }, + { + "type": "atom", + "index": 56, + "x": 1.5, + "y": -3.866 + }, + { + "type": "atom", + "element": "N", + "index": 57, + "x": 1.0, + "y": -4.7321 + }, + { + "type": "atom", + "index": 58, + "x": 1.0, + "y": -3.0 + }, + { + "type": "atom", + "element": "N", + "index": 59, + "x": 0.0, + "y": -3.0 + }, + { + "type": "atom", + "index": 60, + "x": 2.0, + "y": -4.0 + }, + { + "type": "atom", + "element": "N", + "index": 61, + "x": 2.0, + "y": -5.0 + }, + { + "type": "atom", + "element": "N", + "index": 62, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 63, + "x": 2.0, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 64, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "index": 65, + "x": 1.0, + "y": -1.7321 + }, + { + "type": "atom", + "index": 66, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 67, + "x": 2.0, + "y": 2.0 + }, + { + "type": "atom", + "index": 68, + "x": 6.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 69, + "x": 7.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 70, + "x": 5.0, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 71, + "x": 5.0, + "y": 2.0 + }, + { + "type": "atom", + "index": 72, + "x": 4.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "N", + "index": 73, + "x": 4.0, + "y": -1.7321 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 4, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 7, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 18, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 20, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 22, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 30, + "b": 31, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 32, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 33, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 32, + "b": 35, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 33, + "b": 36, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 37, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 38, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 39, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 41, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 42, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 43, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 47, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 48, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 50, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 49, + "b": 51, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 48, + "b": 52, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 53, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 54, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 46, + "b": 55, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 56, + "b": 57, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 58, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 58, + "b": 59, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 56, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 60, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 60, + "b": 61, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 62, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 63, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 64, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 64, + "b": 65, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 62, + "b": 66, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 63, + "b": 67, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 68, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 68, + "b": 69, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 70, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 70, + "b": 71, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 72, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 72, + "b": 73, + "lines": [ + "solid", + "solid", + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json b/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json new file mode 100644 index 000000000..6bdfe912e --- /dev/null +++ b/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json @@ -0,0 +1,75 @@ +{ + "contents": [ + { + "index": 0, + "element": "Os", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "O", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "O", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "O", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "O", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "type": "bond" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/saltpeter.json b/kubejs/assets/gtceu/molecules/saltpeter.json index f0b4eb9d7..edc6744a3 100644 --- a/kubejs/assets/gtceu/molecules/saltpeter.json +++ b/kubejs/assets/gtceu/molecules/saltpeter.json @@ -1,74 +1,83 @@ { - "contents": [ - { - "type": "atom", - "element": "N", - "index": 0, - "x": 2.2933, - "y": -0.155 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.1594, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.4273, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.2933, - "y": 0.845 - }, - { - "sup": "-", - "atoms": [ - 0, - 1, - 2, - 3 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "K⁺", - "color": { - "color": -7388972, - "optional": true - }, - "material": "gtceu:potassium" - }, - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "one_and_half" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "one_and_half" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "one_and_half" - } - ] + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "K⁺", + "color": { + "color": -7388972, + "optional": true + }, + "material": "gtceu:potassium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "dotted" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/scheelite.json b/kubejs/assets/gtceu/molecules/scheelite.json index c9dbce296..0903363c5 100644 --- a/kubejs/assets/gtceu/molecules/scheelite.json +++ b/kubejs/assets/gtceu/molecules/scheelite.json @@ -1,88 +1,100 @@ { - "contents": [ - { - "type": "atom", - "element": "W", - "index": 0, - "x": 2.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.0, - "y": -1.0 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 2.0, - "y": 1.0 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3, - 4 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Ca²⁺", - "color": { - "color": -12714240, - "optional": true - }, - "material": "gtceu:calcium" - }, - "index": 5, - "x": -0.5, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "W", + "index": 0, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.0, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Ca²⁺", + "color": { + "color": -12714240, + "optional": true + }, + "material": "gtceu:calcium" + }, + "index": 5, + "x": -0.5, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/soda_ash.json b/kubejs/assets/gtceu/molecules/soda_ash.json index 43337b1c2..4445b7387 100644 --- a/kubejs/assets/gtceu/molecules/soda_ash.json +++ b/kubejs/assets/gtceu/molecules/soda_ash.json @@ -1,79 +1,89 @@ { - "contents": [ - { - "type": "atom", - "element": "C", - "index": 0, - "x": 2.2933, - "y": -0.155 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.1594, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.4273, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.2933, - "y": 0.845 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "color": { - "color": -5546766, - "optional": true - }, - "material": "gtceu:sodium" - }, - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 4 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 4 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json b/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json index 7538ef0a9..28f864472 100644 --- a/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json +++ b/kubejs/assets/gtceu/molecules/sodium_bicarbonate.json @@ -1,75 +1,83 @@ { - "contents": [ - { - "type": "atom", - "element": "C", - "index": 0, - "x": 2.2933, - "y": -0.155 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 1, - "x": 3.1594, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.4273, - "y": -0.655 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.2933, - "y": 0.845 - }, - { - "sup": "-", - "atoms": [ - 0, - 1, - 2, - 3 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "color": { - "color": -5546766, - "optional": true - }, - "material": "gtceu:sodium" - }, - "index": 4, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "C", + "index": 0, + "x": 2.2933, + "y": -0.155 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 1, + "x": 3.1594, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.4273, + "y": -0.655 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.2933, + "y": 0.845 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 4, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_bisulfate.json b/kubejs/assets/gtceu/molecules/sodium_bisulfate.json index d5469264c..04ebb4cb8 100644 --- a/kubejs/assets/gtceu/molecules/sodium_bisulfate.json +++ b/kubejs/assets/gtceu/molecules/sodium_bisulfate.json @@ -1,93 +1,107 @@ { - "contents": [ - { - "type": "atom", - "element": "S", - "index": 0, - "x": 2.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.33, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.33, - "y": -1.0 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 2.33, - "y": 1.0 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3, - 4 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "color": { - "color": -5546766, - "optional": true - }, - "material": "gtceu:sodium" - }, - "index": 5, - "x": 0.0, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 5 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 2.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.33, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.33, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.33, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 5, + "x": -0.5, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 5 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_hydroxide.json b/kubejs/assets/gtceu/molecules/sodium_hydroxide.json index 1cbd9e721..7c87d4b87 100644 --- a/kubejs/assets/gtceu/molecules/sodium_hydroxide.json +++ b/kubejs/assets/gtceu/molecules/sodium_hydroxide.json @@ -1,46 +1,48 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 1.0, - "y": 0 - }, - { - "type": "atom", - "element": "H", - "index": 1, - "x": 2.0, - "y": 0 - }, - { - "sup": "-", - "atoms": [ - 0, - 1 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "color": { - "color": -5546766, - "optional": true - }, - "material": "gtceu:sodium" - }, - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 1.0, + "y": 0 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 2.0, + "y": 0 + }, + { + "sup": "-", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_nitrite.json b/kubejs/assets/gtceu/molecules/sodium_nitrite.json index bd70cdf62..fa36ab940 100644 --- a/kubejs/assets/gtceu/molecules/sodium_nitrite.json +++ b/kubejs/assets/gtceu/molecules/sodium_nitrite.json @@ -1,60 +1,66 @@ { - "contents": [ - { - "type": "atom", - "element": "N", - "index": 0, - "x": 2.13, - "y": 0.25 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 2.996, - "y": -0.25 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.264, - "y": -0.25 - }, - { - "sup": "-", - "atoms": [ - 0, - 1, - 2 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "color": { - "color": -5546766, - "optional": true - }, - "material": "gtceu:sodium" - }, - "index": 3, - "x": 0.0, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "one_and_half" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "one_and_half" - } - ] + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 2.13, + "y": 0.25 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 2.996, + "y": -0.25 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.264, + "y": -0.25 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "dotted" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sodium_persulfate.json b/kubejs/assets/gtceu/molecules/sodium_persulfate.json new file mode 100644 index 000000000..fa687b757 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sodium_persulfate.json @@ -0,0 +1,191 @@ +{ + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 2.926, + "y": 0.175 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.792, + "y": -0.325 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 2.426, + "y": -0.691 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 3.426, + "y": 1.041 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.0599, + "y": 0.675 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 4.658, + "y": 0.175 + }, + { + "type": "atom", + "element": "S", + "index": 6, + "x": 5.524, + "y": -0.325 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 5.024, + "y": -1.191 + }, + { + "type": "atom", + "element": "O", + "index": 8, + "x": 6.024, + "y": 0.541 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 6.3901, + "y": -0.825 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 10, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 10 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sugar.json b/kubejs/assets/gtceu/molecules/sugar.json index 9d6794bff..c0b5a8e1f 100644 --- a/kubejs/assets/gtceu/molecules/sugar.json +++ b/kubejs/assets/gtceu/molecules/sugar.json @@ -1,305 +1,353 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": 0.8661, - "y": -3.2321 - }, - { - "type": "atom", - "index": 1, - "x": 1.8661, - "y": -3.2321 - }, - { - "type": "atom", - "index": 2, - "x": 2.3661, - "y": -2.3661 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 1.8661, - "y": -1.5 - }, - { - "type": "atom", - "index": 4, - "x": 0.8661, - "y": -1.5 - }, - { - "type": "atom", - "index": 5, - "x": 0.3661, - "y": -2.3661 - }, - { - "type": "atom", - "element": "O", - "index": 6, - "x": 4.3956, - "y": -1.7183 - }, - { - "type": "atom", - "index": 7, - "x": 5.2045, - "y": -2.3061 - }, - { - "type": "atom", - "index": 8, - "x": 4.8955, - "y": -3.2572 - }, - { - "type": "atom", - "index": 9, - "x": 3.8956, - "y": -3.2572 - }, - { - "type": "atom", - "index": 10, - "x": 3.5866, - "y": -2.3061 - }, - { - "type": "atom", - "element": "O", - "index": 11, - "x": 2.9721, - "y": -2.8761 - }, - { - "type": "atom", - "index": 12, - "x": 0.8661, - "y": -0.5 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 13, - "x": 0.8661, - "y": -2.2321 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 14, - "x": 0.3661, - "y": -3.3661 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 15, - "x": 1.8661, - "y": -4.2321 - }, - { - "type": "atom", - "index": 16, - "x": 3.5866, - "y": -1.3061 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 17, - "x": 2.7205, - "y": -0.8061 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 18, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 19, - "x": 3.8956, - "y": -4.2572 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 20, - "x": 4.6555, - "y": -2.3972 - }, - { - "type": "atom", - "index": 21, - "x": 5.2045, - "y": -3.3061 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 22, - "x": 6.0706, - "y": -3.8061 - }, - { - "type": "bond", - "a": 5, - "b": 0, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "thick" - }, - { - "type": "bond", - "a": 2, - "b": 1, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 2, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 9, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 9, - "b": 8, - "bond_type": "thick" - }, - { - "type": "bond", - "a": 7, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 11, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 11, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 12, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 13, - "bond_type": "single" - }, - { - "type": "bond", - "a": 5, - "b": 14, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 15, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 17, - "bond_type": "single" - }, - { - "type": "bond", - "a": 12, - "b": 18, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 19, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 20, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 8, - "bond_type": "outward" - }, - { - "type": "bond", - "a": 7, - "b": 21, - "bond_type": "single" - }, - { - "type": "bond", - "a": 21, - "b": 22, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.8661, + "y": -3.2321 + }, + { + "type": "atom", + "index": 1, + "x": 1.8661, + "y": -3.2321 + }, + { + "type": "atom", + "index": 2, + "x": 2.3661, + "y": -2.3661 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 1.8661, + "y": -1.5 + }, + { + "type": "atom", + "index": 4, + "x": 0.8661, + "y": -1.5 + }, + { + "type": "atom", + "index": 5, + "x": 0.3661, + "y": -2.3661 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 4.3956, + "y": -1.7183 + }, + { + "type": "atom", + "index": 7, + "x": 5.2045, + "y": -2.3061 + }, + { + "type": "atom", + "index": 8, + "x": 4.8955, + "y": -3.2572 + }, + { + "type": "atom", + "index": 9, + "x": 3.8956, + "y": -3.2572 + }, + { + "type": "atom", + "index": 10, + "x": 3.5866, + "y": -2.3061 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 2.9721, + "y": -2.8761 + }, + { + "type": "atom", + "index": 12, + "x": 0.8661, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 13, + "x": 0.8661, + "y": -2.2321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 14, + "x": 0.3661, + "y": -3.3661 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 15, + "x": 1.8661, + "y": -4.2321 + }, + { + "type": "atom", + "index": 16, + "x": 3.5866, + "y": -1.3061 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 17, + "x": 2.7205, + "y": -0.8061 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 18, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 19, + "x": 3.8956, + "y": -4.2572 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 20, + "x": 4.6555, + "y": -2.3972 + }, + { + "type": "atom", + "index": 21, + "x": 5.2045, + "y": -3.3061 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 22, + "x": 6.0706, + "y": -3.8061 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 9, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 9, + "b": 8, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 7, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sulfur_dioxide.json b/kubejs/assets/gtceu/molecules/sulfur_dioxide.json new file mode 100644 index 000000000..0174dc2a8 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sulfur_dioxide.json @@ -0,0 +1,45 @@ +{ + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 2.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sulfur_trioxide.json b/kubejs/assets/gtceu/molecules/sulfur_trioxide.json new file mode 100644 index 000000000..99b56e2da --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sulfur_trioxide.json @@ -0,0 +1,62 @@ +{ + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/sulfuric_acid.json b/kubejs/assets/gtceu/molecules/sulfuric_acid.json new file mode 100644 index 000000000..dab936ef8 --- /dev/null +++ b/kubejs/assets/gtceu/molecules/sulfuric_acid.json @@ -0,0 +1,77 @@ +{ + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 0.9913, + "y": 0.0015 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.9948, + "y": -0.9993 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 3, + "x": 1.9971, + "y": 0.0045 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 0.9905, + "y": 1.0036 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/titanium_tetrachloride.json b/kubejs/assets/gtceu/molecules/titanium_tetrachloride.json new file mode 100644 index 000000000..579f0c99d --- /dev/null +++ b/kubejs/assets/gtceu/molecules/titanium_tetrachloride.json @@ -0,0 +1,71 @@ +{ + "contents": [ + { + "index": 0, + "element": "Ti", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "Cl", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "Cl", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "Cl", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "Cl", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 2, + "lines": [ + "inward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 3, + "lines": [ + "outward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 4, + "lines": [ + "solid" + ], + "type": "bond" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/titanium_trifluoride.json b/kubejs/assets/gtceu/molecules/titanium_trifluoride.json index 57e66fff9..4925bae95 100644 --- a/kubejs/assets/gtceu/molecules/titanium_trifluoride.json +++ b/kubejs/assets/gtceu/molecules/titanium_trifluoride.json @@ -1,50 +1,56 @@ { - "contents": [ - { - "type": "atom", - "element": "Ti", - "index": 0, - "x": 0.866, - "y": -0.5 - }, - { - "type": "atom", - "element": "F", - "index": 1, - "x": 0.866, - "y": -1.5 - }, - { - "type": "atom", - "element": "F", - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "F", - "index": 3, - "x": 1.732, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "Ti", + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": "F", + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "F", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "F", + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/tritiated_water.json b/kubejs/assets/gtceu/molecules/tritiated_water.json new file mode 100644 index 000000000..9a4e002de --- /dev/null +++ b/kubejs/assets/gtceu/molecules/tritiated_water.json @@ -0,0 +1,41 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "T", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "T", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/tungstate.json b/kubejs/assets/gtceu/molecules/tungstate.json index a146851b8..6aa09ef80 100644 --- a/kubejs/assets/gtceu/molecules/tungstate.json +++ b/kubejs/assets/gtceu/molecules/tungstate.json @@ -1,93 +1,107 @@ { - "contents": [ - { - "type": "atom", - "element": "W", - "index": 0, - "x": 2.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 3.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 1.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 2.0, - "y": -1.0 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 2.0, - "y": 1.0 - }, - { - "sup": "2-", - "atoms": [ - 0, - 1, - 2, - 3, - 4 - ], - "type": "parens" - }, - { - "type": "atom", - "element": { - "symbol": "Li⁺", - "color": { - "color": -3374849, - "optional": true - }, - "material": "gtceu:lithium" - }, - "index": 5, - "x": -0.5, - "y": 0.0 - }, - { - "sub": "2", - "atoms": [ 5 ], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "W", + "index": 0, + "x": 2.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 3.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 2.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 2.0, + "y": 1.0 + }, + { + "sup": "2-", + "atoms": [ + 0, + 1, + 2, + 3, + 4 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Li⁺", + "color": { + "color": -3374849, + "optional": true + }, + "material": "gtceu:lithium" + }, + "index": 5, + "x": -0.5, + "y": 0.0 + }, + { + "sub": "2", + "atoms": [ + 5 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/tungstic_acid.json b/kubejs/assets/gtceu/molecules/tungstic_acid.json index 4aad99429..41243c007 100644 --- a/kubejs/assets/gtceu/molecules/tungstic_acid.json +++ b/kubejs/assets/gtceu/molecules/tungstic_acid.json @@ -1,65 +1,77 @@ { - "contents": [ - { - "type": "atom", - "element": "W", - "index": 0, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 0.0, - "y": -0.825 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.0, - "y": 0.825 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 3, - "x": 0.825, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 4, - "x": -0.825, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "W", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.0, + "y": -0.825 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.825 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 3, + "x": 0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 4, + "x": -0.825, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/molecules/water.json b/kubejs/assets/gtceu/molecules/water.json new file mode 100644 index 000000000..3b1d2724b --- /dev/null +++ b/kubejs/assets/gtceu/molecules/water.json @@ -0,0 +1,41 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json b/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json index 96546e631..8bdef0a7c 100644 --- a/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json +++ b/kubejs/assets/tfg/molecules/1_1_1_2_tetrafluoroethane.json @@ -1,74 +1,84 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": -1.7860, - "y": -0.0256 - }, - { - "type": "atom", - "index": 1, - "x": -0.9610, - "y": -0.0256 - }, - { - "type": "atom", - "element": "F", - "index": 2, - "x": -2.6110, - "y": -0.0256 - }, - { - "type": "atom", - "element": "F", - "index": 3, - "x": -1.7860, - "y": 0.7993 - }, - { - "type": "atom", - "element": "F", - "index": 4, - "x": -1.7860, - "y": -0.8506 - }, - { - "type": "atom", - "element": "F", - "index": 5, - "x": -0.5485, - "y": -0.7401 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": -1.786, + "y": -0.0256 + }, + { + "type": "atom", + "index": 1, + "x": -0.961, + "y": -0.0256 + }, + { + "type": "atom", + "element": "F", + "index": 2, + "x": -2.611, + "y": -0.0256 + }, + { + "type": "atom", + "element": "F", + "index": 3, + "x": -1.786, + "y": 0.7993 + }, + { + "type": "atom", + "element": "F", + "index": 4, + "x": -1.786, + "y": -0.8506 + }, + { + "type": "atom", + "element": "F", + "index": 5, + "x": -0.5485, + "y": -0.7401 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/acetylene.json b/kubejs/assets/tfg/molecules/acetylene.json index bcccd1fe5..d481067da 100644 --- a/kubejs/assets/tfg/molecules/acetylene.json +++ b/kubejs/assets/tfg/molecules/acetylene.json @@ -1,48 +1,56 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": -1.8973, - "y": 0.9151 - }, - { - "type": "atom", - "index": 1, - "x": -1.0723, - "y": 0.9151 - }, - { - "type": "atom", - "element": "H", - "index": 2, - "x": -2.7223, - "y": 0.9151 - }, - { - "type": "atom", - "element": "H", - "index": 3, - "x": -0.2473, - "y": 0.9151 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "triple" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 3, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": -1.8973, + "y": 0.9151 + }, + { + "type": "atom", + "index": 1, + "x": -1.0723, + "y": 0.9151 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": -2.7223, + "y": 0.9151 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": -0.2473, + "y": 0.9151 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ammonia_borane.json b/kubejs/assets/tfg/molecules/ammonia_borane.json index e8f1e608e..871e26581 100644 --- a/kubejs/assets/tfg/molecules/ammonia_borane.json +++ b/kubejs/assets/tfg/molecules/ammonia_borane.json @@ -1,116 +1,130 @@ { - "contents": [ - { - "type": "atom", - "element": { - "symbol": "N⁺", - "color": { - "color": -13610760, - "optional": true - }, - "material": "gtceu:nitrogen" - }, - "index": 0, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": { - "symbol": "B⁻", - "color": { - "color": -19019, - "optional": true - }, - "material": "gtceu:boron" - }, - "index": 1, - "x": -0.8249, - "y": 0.0 - }, - { - "type": "atom", - "element": "H", - "index": 2, - "x": 0.0, - "y": 0.825 - }, - { - "type": "atom", - "element": "H", - "index": 3, - "x": -0.8249, - "y": 0.825 - }, - { - "type": "atom", - "element": "H", - "index": 4, - "x": -1.6499, - "y": 0.0 - }, - { - "type": "atom", - "element": "H", - "index": 5, - "x": 0.825, - "y": 0.0 - }, - { - "type": "atom", - "element": "H", - "index": 6, - "x": -0.8249, - "y": -0.8249 - }, - { - "type": "atom", - "element": "H", - "index": 7, - "x": 0.0, - "y": -0.8249 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 6, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": { + "symbol": "N⁺", + "color": { + "color": -13610760, + "optional": true + }, + "material": "gtceu:nitrogen" + }, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "B⁻", + "color": { + "color": -19019, + "optional": true + }, + "material": "gtceu:boron" + }, + "index": 1, + "x": -0.8249, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": 0.825 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": -0.8249, + "y": 0.825 + }, + { + "type": "atom", + "element": "H", + "index": 4, + "x": -1.6499, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 5, + "x": 0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 6, + "x": -0.8249, + "y": -0.8249 + }, + { + "type": "atom", + "element": "H", + "index": 7, + "x": 0.0, + "y": -0.8249 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ammonium_tungstate.json b/kubejs/assets/tfg/molecules/ammonium_tungstate.json index f2e6160e2..5e30e64d9 100644 --- a/kubejs/assets/tfg/molecules/ammonium_tungstate.json +++ b/kubejs/assets/tfg/molecules/ammonium_tungstate.json @@ -1,893 +1,1067 @@ { - "contents": [ - { - "type": "atom", - "element": "W", - "index": 0, - "x": -0.0869, - "y": -3.2348 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": -0.0869, - "y": -4.0598 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.72, - "y": -3.4063 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": -0.9118999999999999, - "y": -3.2348 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": -0.7, - "y": -2.6827 - }, - { - "type": "atom", - "element": "O", - "index": 5, - "x": 0.6976, - "y": -2.9798 - }, - { - "type": "atom", - "element": "O", - "index": 6, - "x": -0.02310000000000001, - "y": -2.258 - }, - { - "type": "atom", - "element": "W", - "index": 7, - "x": -1.6965000000000001, - "y": -2.9798 - }, - { - "type": "atom", - "element": "W", - "index": 8, - "x": -0.7862, - "y": -1.8622999999999998 - }, - { - "type": "atom", - "element": "W", - "index": 9, - "x": 1.0332, - "y": -2.2262 - }, - { - "type": "atom", - "element": "W", - "index": 10, - "x": 1.5404, - "y": -3.3201 - }, - { - "type": "atom", - "element": "O", - "index": 11, - "x": -1.6103, - "y": -3.8003 - }, - { - "type": "atom", - "element": "O", - "index": 12, - "x": -2.411, - "y": -3.3923 - }, - { - "type": "atom", - "element": "O", - "index": 13, - "x": -2.364, - "y": -2.4949 - }, - { - "type": "atom", - "element": "O", - "index": 14, - "x": -1.8681, - "y": -2.1729 - }, - { - "type": "atom", - "element": "O", - "index": 15, - "x": -1.1445, - "y": -2.3667 - }, - { - "type": "atom", - "element": "W", - "index": 16, - "x": -1.6673, - "y": -1.2918999999999998 - }, - { - "type": "atom", - "element": "W", - "index": 17, - "x": -2.4812000000000003, - "y": -1.6208 - }, - { - "type": "atom", - "element": "O", - "index": 18, - "x": -1.8904, - "y": -0.7563 - }, - { - "type": "atom", - "element": "O", - "index": 19, - "x": -2.6151, - "y": -0.5503 - }, - { - "type": "atom", - "element": "O", - "index": 20, - "x": -3.0942000000000003, - "y": -1.0688 - }, - { - "type": "atom", - "element": "O", - "index": 21, - "x": -3.1956, - "y": -2.0333 - }, - { - "type": "atom", - "element": "O", - "index": 22, - "x": -1.0987, - "y": -0.881 - }, - { - "type": "atom", - "element": "O", - "index": 23, - "x": 0.020599999999999993, - "y": -1.6906999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 24, - "x": -1.8907, - "y": -1.6821 - }, - { - "type": "atom", - "element": "O", - "index": 25, - "x": 0.6372, - "y": -2.3662 - }, - { - "type": "atom", - "element": "O", - "index": 26, - "x": 1.2048999999999999, - "y": -4.0737000000000005 - }, - { - "type": "atom", - "element": "O", - "index": 27, - "x": 2.1534999999999997, - "y": -3.8721 - }, - { - "type": "atom", - "element": "O", - "index": 28, - "x": 1.6266999999999998, - "y": -2.4996 - }, - { - "type": "atom", - "element": "O", - "index": 29, - "x": 2.2941, - "y": -2.9844999999999997 - }, - { - "type": "atom", - "element": "W", - "index": 30, - "x": 2.2941, - "y": -2.0147 - }, - { - "type": "atom", - "element": "O", - "index": 31, - "x": 1.4327999999999999, - "y": -1.7188999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 32, - "x": 2.9072, - "y": -2.5667 - }, - { - "type": "atom", - "element": "O", - "index": 33, - "x": 3.1010999999999997, - "y": -1.8431 - }, - { - "type": "atom", - "element": "O", - "index": 34, - "x": 1.2827, - "y": -0.8858 - }, - { - "type": "atom", - "element": "O", - "index": 35, - "x": 2.5490999999999997, - "y": -1.23 - }, - { - "type": "atom", - "element": "O", - "index": 36, - "x": 1.6082999999999998, - "y": -1.2803 - }, - { - "type": "atom", - "element": "W", - "index": 37, - "x": 2.0641, - "y": -0.5626 - }, - { - "type": "atom", - "element": "O", - "index": 38, - "x": 2.7316, - "y": -0.0778 - }, - { - "type": "atom", - "element": "O", - "index": 39, - "x": 2.0641, - "y": 0.2623 - }, - { - "type": "atom", - "element": "O", - "index": 40, - "x": 1.2725, - "y": -0.07759999999999999 - }, - { - "type": "atom", - "element": "W", - "index": 41, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 42, - "x": 0.11229999999999998, - "y": 0.8207 - }, - { - "type": "atom", - "element": "O", - "index": 43, - "x": -0.8037, - "y": 0.4125 - }, - { - "type": "atom", - "element": "O", - "index": 44, - "x": 0.6666, - "y": -0.48550000000000004 - }, - { - "type": "atom", - "element": "O", - "index": 45, - "x": -1.1864000000000001, - "y": -0.3053 - }, - { - "type": "atom", - "element": "W", - "index": 46, - "x": -1.6048, - "y": -0.22139999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 47, - "x": -2.1853000000000002, - "y": 0.3026 - }, - { - "type": "atom", - "element": "O", - "index": 48, - "x": -1.4332, - "y": 0.5631999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 49, - "x": -0.5295, - "y": -1.0244 - }, - { - "type": "atom", - "element": "W", - "index": 50, - "x": 0.1585, - "y": -0.8017 - }, - { - "type": "atom", - "element": "O", - "index": 51, - "x": -0.37350000000000005, - "y": -1.4035 - }, - { - "type": "atom", - "element": "O", - "index": 52, - "x": -1.2137, - "y": -1.6296 - }, - { - "type": "atom", - "element": "O", - "index": 53, - "x": 0.5707, - "y": -1.3983999999999999 - }, - { - "type": "atom", - "element": { - "symbol": "⁺N", - "material": "gtceu:nitrogen" - }, - "right": [ - "H", - 4 - ], - "index": 54, - "x": -4.6, - "y": -1.36 - }, - { - "sub": "10", - "atoms": [54], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 5, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 15, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 14, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 13, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 12, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 7, - "b": 11, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 14, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 14, - "b": 17, - "bond_type": "single" - }, - { - "type": "bond", - "a": 13, - "b": 17, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 18, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 19, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 20, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 17, - "b": 21, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 15, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 18, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 22, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 23, - "bond_type": "single" - }, - { - "type": "bond", - "a": 23, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 24, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 25, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 26, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 10, - "b": 27, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 10, - "b": 29, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 28, - "bond_type": "single" - }, - { - "type": "bond", - "a": 28, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 31, - "bond_type": "single" - }, - { - "type": "bond", - "a": 28, - "b": 30, - "bond_type": "single" - }, - { - "type": "bond", - "a": 29, - "b": 30, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 34, - "bond_type": "single" - }, - { - "type": "bond", - "a": 30, - "b": 32, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 30, - "b": 33, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 30, - "b": 36, - "bond_type": "single" - }, - { - "type": "bond", - "a": 30, - "b": 35, - "bond_type": "single" - }, - { - "type": "bond", - "a": 36, - "b": 37, - "bond_type": "single" - }, - { - "type": "bond", - "a": 35, - "b": 37, - "bond_type": "single" - }, - { - "type": "bond", - "a": 37, - "b": 39, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 37, - "b": 38, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 37, - "b": 40, - "bond_type": "single" - }, - { - "type": "bond", - "a": 37, - "b": 34, - "bond_type": "single" - }, - { - "type": "bond", - "a": 40, - "b": 41, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 44, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 45, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 43, - "bond_type": "single" - }, - { - "type": "bond", - "a": 19, - "b": 46, - "bond_type": "single" - }, - { - "type": "bond", - "a": 18, - "b": 46, - "bond_type": "single" - }, - { - "type": "bond", - "a": 46, - "b": 48, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 46, - "b": 47, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 22, - "b": 46, - "bond_type": "single" - }, - { - "type": "bond", - "a": 46, - "b": 43, - "bond_type": "single" - }, - { - "type": "bond", - "a": 45, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 49, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 42, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 50, - "b": 44, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 49, - "bond_type": "single" - }, - { - "type": "bond", - "a": 49, - "b": 50, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 51, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 52, - "bond_type": "single" - }, - { - "type": "bond", - "a": 51, - "b": 50, - "bond_type": "single" - }, - { - "type": "bond", - "a": 25, - "b": 50, - "bond_type": "single" - }, - { - "type": "bond", - "a": 50, - "b": 53, - "bond_type": "single" - }, - { - "type": "bond", - "a": 50, - "b": 36, - "bond_type": "single" - }, - { - "sup": "10-", - "atoms": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53 - ], - "type": "parens" - } - ] + "contents": [ + { + "type": "atom", + "element": "W", + "index": 0, + "x": -0.0869, + "y": -3.2348 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": -0.0869, + "y": -4.0598 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.72, + "y": -3.4063 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": -0.91189999999999993, + "y": -3.2348 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": -0.7, + "y": -2.6827 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 0.6976, + "y": -2.9798 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": -0.023100000000000009, + "y": -2.258 + }, + { + "type": "atom", + "element": "W", + "index": 7, + "x": -1.6965000000000001, + "y": -2.9798 + }, + { + "type": "atom", + "element": "W", + "index": 8, + "x": -0.7862, + "y": -1.8622999999999998 + }, + { + "type": "atom", + "element": "W", + "index": 9, + "x": 1.0332, + "y": -2.2262 + }, + { + "type": "atom", + "element": "W", + "index": 10, + "x": 1.5404, + "y": -3.3201 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": -1.6103, + "y": -3.8003 + }, + { + "type": "atom", + "element": "O", + "index": 12, + "x": -2.411, + "y": -3.3923 + }, + { + "type": "atom", + "element": "O", + "index": 13, + "x": -2.364, + "y": -2.4949 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": -1.8681, + "y": -2.1729 + }, + { + "type": "atom", + "element": "O", + "index": 15, + "x": -1.1445, + "y": -2.3667 + }, + { + "type": "atom", + "element": "W", + "index": 16, + "x": -1.6673, + "y": -1.2918999999999998 + }, + { + "type": "atom", + "element": "W", + "index": 17, + "x": -2.4812000000000003, + "y": -1.6208 + }, + { + "type": "atom", + "element": "O", + "index": 18, + "x": -1.8904, + "y": -0.7563 + }, + { + "type": "atom", + "element": "O", + "index": 19, + "x": -2.6151, + "y": -0.5503 + }, + { + "type": "atom", + "element": "O", + "index": 20, + "x": -3.0942000000000003, + "y": -1.0688 + }, + { + "type": "atom", + "element": "O", + "index": 21, + "x": -3.1956, + "y": -2.0333 + }, + { + "type": "atom", + "element": "O", + "index": 22, + "x": -1.0987, + "y": -0.881 + }, + { + "type": "atom", + "element": "O", + "index": 23, + "x": 0.020599999999999993, + "y": -1.6906999999999999 + }, + { + "type": "atom", + "element": "O", + "index": 24, + "x": -1.8907, + "y": -1.6821 + }, + { + "type": "atom", + "element": "O", + "index": 25, + "x": 0.6372, + "y": -2.3662 + }, + { + "type": "atom", + "element": "O", + "index": 26, + "x": 1.2048999999999999, + "y": -4.0737000000000005 + }, + { + "type": "atom", + "element": "O", + "index": 27, + "x": 2.1534999999999997, + "y": -3.8721 + }, + { + "type": "atom", + "element": "O", + "index": 28, + "x": 1.6266999999999998, + "y": -2.4996 + }, + { + "type": "atom", + "element": "O", + "index": 29, + "x": 2.2941, + "y": -2.9844999999999997 + }, + { + "type": "atom", + "element": "W", + "index": 30, + "x": 2.2941, + "y": -2.0147 + }, + { + "type": "atom", + "element": "O", + "index": 31, + "x": 1.4327999999999999, + "y": -1.7188999999999999 + }, + { + "type": "atom", + "element": "O", + "index": 32, + "x": 2.9072, + "y": -2.5667 + }, + { + "type": "atom", + "element": "O", + "index": 33, + "x": 3.1010999999999997, + "y": -1.8431 + }, + { + "type": "atom", + "element": "O", + "index": 34, + "x": 1.2827, + "y": -0.8858 + }, + { + "type": "atom", + "element": "O", + "index": 35, + "x": 2.5490999999999997, + "y": -1.23 + }, + { + "type": "atom", + "element": "O", + "index": 36, + "x": 1.6082999999999998, + "y": -1.2803 + }, + { + "type": "atom", + "element": "W", + "index": 37, + "x": 2.0641, + "y": -0.5626 + }, + { + "type": "atom", + "element": "O", + "index": 38, + "x": 2.7316, + "y": -0.0778 + }, + { + "type": "atom", + "element": "O", + "index": 39, + "x": 2.0641, + "y": 0.2623 + }, + { + "type": "atom", + "element": "O", + "index": 40, + "x": 1.2725, + "y": -0.077599999999999988 + }, + { + "type": "atom", + "element": "W", + "index": 41, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 42, + "x": 0.11229999999999998, + "y": 0.8207 + }, + { + "type": "atom", + "element": "O", + "index": 43, + "x": -0.8037, + "y": 0.4125 + }, + { + "type": "atom", + "element": "O", + "index": 44, + "x": 0.6666, + "y": -0.48550000000000004 + }, + { + "type": "atom", + "element": "O", + "index": 45, + "x": -1.1864000000000001, + "y": -0.3053 + }, + { + "type": "atom", + "element": "W", + "index": 46, + "x": -1.6048, + "y": -0.22139999999999999 + }, + { + "type": "atom", + "element": "O", + "index": 47, + "x": -2.1853000000000002, + "y": 0.3026 + }, + { + "type": "atom", + "element": "O", + "index": 48, + "x": -1.4332, + "y": 0.56319999999999992 + }, + { + "type": "atom", + "element": "O", + "index": 49, + "x": -0.5295, + "y": -1.0244 + }, + { + "type": "atom", + "element": "W", + "index": 50, + "x": 0.1585, + "y": -0.8017 + }, + { + "type": "atom", + "element": "O", + "index": 51, + "x": -0.37350000000000005, + "y": -1.4035 + }, + { + "type": "atom", + "element": "O", + "index": 52, + "x": -1.2137, + "y": -1.6296 + }, + { + "type": "atom", + "element": "O", + "index": 53, + "x": 0.5707, + "y": -1.3983999999999999 + }, + { + "type": "atom", + "element": { + "symbol": "⁺N", + "material": "gtceu:nitrogen" + }, + "right": [ + "H", + 4 + ], + "index": 54, + "x": -5.5, + "y": -1.36 + }, + { + "sub": "10", + "atoms": [ + 54 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 12, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 14, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 20, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 17, + "b": 21, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 26, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 10, + "b": 27, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 10, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 31, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 30, + "b": 32, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 30, + "b": 33, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 30, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 30, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 39, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 37, + "b": 38, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 37, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 46, + "b": 48, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 46, + "b": 47, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 22, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 46, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 50, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 49, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 51, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 52, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 51, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 50, + "b": 53, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 50, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "sup": "10-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ], + "type": "parens" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/aniline.json b/kubejs/assets/tfg/molecules/aniline.json index 7e08e86c7..872641358 100644 --- a/kubejs/assets/tfg/molecules/aniline.json +++ b/kubejs/assets/tfg/molecules/aniline.json @@ -1,115 +1,136 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": -0.3913, - "y": 1.6850 - }, - { - "type": "atom", - "index": 1, - "x": -0.8037, - "y": 0.9705 - }, - { - "type": "atom", - "index": 2, - "x": -0.3912, - "y": 0.2560 - }, - { - "type": "atom", - "index": 3, - "x": 0.4337, - "y": 0.2559 - }, - { - "type": "atom", - "index": 4, - "x": 0.8462, - "y": 0.9704 - }, - { - "type": "atom", - "index": 5, - "x": 0.4336, - "y": 1.6850 - }, - { - "type": "atom", - "element": "N", - "index": 6, - "x": -1.6287, - "y": 0.9705 - }, - { - "type": "atom", - "element": "H", - "index": 7, - "x": -2.0412, - "y": 0.2560 - }, - { - "type": "atom", - "element": "H", - "index": 8, - "x": -2.0412, - "y": 1.6850 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 3, - "bond_type": "double" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "double" - }, - { - "type": "bond", - "a": 5, - "b": 0, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 7, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.3913, + "y": 1.685 + }, + { + "type": "atom", + "index": 1, + "x": -0.8037, + "y": 0.9705 + }, + { + "type": "atom", + "index": 2, + "x": -0.3912, + "y": 0.256 + }, + { + "type": "atom", + "index": 3, + "x": 0.4337, + "y": 0.2559 + }, + { + "type": "atom", + "index": 4, + "x": 0.8462, + "y": 0.9704 + }, + { + "type": "atom", + "index": 5, + "x": 0.4336, + "y": 1.685 + }, + { + "type": "atom", + "element": "N", + "index": 6, + "x": -1.6287, + "y": 0.9705 + }, + { + "type": "atom", + "element": "H", + "index": 7, + "x": -2.0412, + "y": 0.256 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": -2.0412, + "y": 1.685 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/apt.json b/kubejs/assets/tfg/molecules/apt.json index 09f825de8..775605377 100644 --- a/kubejs/assets/tfg/molecules/apt.json +++ b/kubejs/assets/tfg/molecules/apt.json @@ -1,909 +1,1085 @@ { - "contents": [ - { - "type": "atom", - "element": "W", - "index": 0, - "x": -0.0869, - "y": -3.2348 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": -0.0869, - "y": -4.0598 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.72, - "y": -3.4063 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": -0.9118999999999999, - "y": -3.2348 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": -0.7, - "y": -2.6827 - }, - { - "type": "atom", - "element": "O", - "index": 5, - "x": 0.6976, - "y": -2.9798 - }, - { - "type": "atom", - "element": "O", - "index": 6, - "x": -0.02310000000000001, - "y": -2.258 - }, - { - "type": "atom", - "element": "W", - "index": 7, - "x": -1.6965000000000001, - "y": -2.9798 - }, - { - "type": "atom", - "element": "W", - "index": 8, - "x": -0.7862, - "y": -1.8622999999999998 - }, - { - "type": "atom", - "element": "W", - "index": 9, - "x": 1.0332, - "y": -2.2262 - }, - { - "type": "atom", - "element": "W", - "index": 10, - "x": 1.5404, - "y": -3.3201 - }, - { - "type": "atom", - "element": "O", - "index": 11, - "x": -1.6103, - "y": -3.8003 - }, - { - "type": "atom", - "element": "O", - "index": 12, - "x": -2.411, - "y": -3.3923 - }, - { - "type": "atom", - "element": "O", - "index": 13, - "x": -2.364, - "y": -2.4949 - }, - { - "type": "atom", - "element": "O", - "index": 14, - "x": -1.8681, - "y": -2.1729 - }, - { - "type": "atom", - "element": "O", - "index": 15, - "x": -1.1445, - "y": -2.3667 - }, - { - "type": "atom", - "element": "W", - "index": 16, - "x": -1.6673, - "y": -1.2918999999999998 - }, - { - "type": "atom", - "element": "W", - "index": 17, - "x": -2.4812000000000003, - "y": -1.6208 - }, - { - "type": "atom", - "element": "O", - "index": 18, - "x": -1.8904, - "y": -0.7563 - }, - { - "type": "atom", - "element": "O", - "index": 19, - "x": -2.6151, - "y": -0.5503 - }, - { - "type": "atom", - "element": "O", - "index": 20, - "x": -3.0942000000000003, - "y": -1.0688 - }, - { - "type": "atom", - "element": "O", - "index": 21, - "x": -3.1956, - "y": -2.0333 - }, - { - "type": "atom", - "element": "O", - "index": 22, - "x": -1.0987, - "y": -0.881 - }, - { - "type": "atom", - "element": "O", - "index": 23, - "x": 0.020599999999999993, - "y": -1.6906999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 24, - "x": -1.8907, - "y": -1.6821 - }, - { - "type": "atom", - "element": "O", - "index": 25, - "x": 0.6372, - "y": -2.3662 - }, - { - "type": "atom", - "element": "O", - "index": 26, - "x": 1.2048999999999999, - "y": -4.0737000000000005 - }, - { - "type": "atom", - "element": "O", - "index": 27, - "x": 2.1534999999999997, - "y": -3.8721 - }, - { - "type": "atom", - "element": "O", - "index": 28, - "x": 1.6266999999999998, - "y": -2.4996 - }, - { - "type": "atom", - "element": "O", - "index": 29, - "x": 2.2941, - "y": -2.9844999999999997 - }, - { - "type": "atom", - "element": "W", - "index": 30, - "x": 2.2941, - "y": -2.0147 - }, - { - "type": "atom", - "element": "O", - "index": 31, - "x": 1.4327999999999999, - "y": -1.7188999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 32, - "x": 2.9072, - "y": -2.5667 - }, - { - "type": "atom", - "element": "O", - "index": 33, - "x": 3.1010999999999997, - "y": -1.8431 - }, - { - "type": "atom", - "element": "O", - "index": 34, - "x": 1.2827, - "y": -0.8858 - }, - { - "type": "atom", - "element": "O", - "index": 35, - "x": 2.5490999999999997, - "y": -1.23 - }, - { - "type": "atom", - "element": "O", - "index": 36, - "x": 1.6082999999999998, - "y": -1.2803 - }, - { - "type": "atom", - "element": "W", - "index": 37, - "x": 2.0641, - "y": -0.5626 - }, - { - "type": "atom", - "element": "O", - "index": 38, - "x": 2.7316, - "y": -0.0778 - }, - { - "type": "atom", - "element": "O", - "index": 39, - "x": 2.0641, - "y": 0.2623 - }, - { - "type": "atom", - "element": "O", - "index": 40, - "x": 1.2725, - "y": -0.07759999999999999 - }, - { - "type": "atom", - "element": "W", - "index": 41, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 42, - "x": 0.11229999999999998, - "y": 0.8207 - }, - { - "type": "atom", - "element": "O", - "index": 43, - "x": -0.8037, - "y": 0.4125 - }, - { - "type": "atom", - "element": "O", - "index": 44, - "x": 0.6666, - "y": -0.48550000000000004 - }, - { - "type": "atom", - "element": "O", - "index": 45, - "x": -1.1864000000000001, - "y": -0.3053 - }, - { - "type": "atom", - "element": "W", - "index": 46, - "x": -1.6048, - "y": -0.22139999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 47, - "x": -2.1853000000000002, - "y": 0.3026 - }, - { - "type": "atom", - "element": "O", - "index": 48, - "x": -1.4332, - "y": 0.5631999999999999 - }, - { - "type": "atom", - "element": "O", - "index": 49, - "x": -0.5295, - "y": -1.0244 - }, - { - "type": "atom", - "element": "W", - "index": 50, - "x": 0.1585, - "y": -0.8017 - }, - { - "type": "atom", - "element": "O", - "index": 51, - "x": -0.37350000000000005, - "y": -1.4035 - }, - { - "type": "atom", - "element": "O", - "index": 52, - "x": -1.2137, - "y": -1.6296 - }, - { - "type": "atom", - "element": "O", - "index": 53, - "x": 0.5707, - "y": -1.3983999999999999 - }, - { - "type": "atom", - "element": { - "symbol": "⁺N", - "material": "gtceu:nitrogen" - }, - "right": [ - "H", - 4 - ], - "index": 54, - "x": -4.6, - "y": -1.36 - }, - { - "sub": "10", - "atoms": [54], - "type": "parens" - }, - { - "type": "atom", - "element": "O", - "left": [ - "H", - 2 - ], - "index": 55, - "x": -4.6, - "y": -1.9 - }, - { - "sub": "6", - "atoms": [55], - "type": "parens" - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 5, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 15, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 14, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 13, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 12, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 7, - "b": 11, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 14, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 14, - "b": 17, - "bond_type": "single" - }, - { - "type": "bond", - "a": 13, - "b": 17, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 18, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 19, - "bond_type": "single" - }, - { - "type": "bond", - "a": 17, - "b": 20, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 17, - "b": 21, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 15, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 18, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 22, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 23, - "bond_type": "single" - }, - { - "type": "bond", - "a": 23, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 24, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 25, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 26, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 10, - "b": 27, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 10, - "b": 29, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 28, - "bond_type": "single" - }, - { - "type": "bond", - "a": 28, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 31, - "bond_type": "single" - }, - { - "type": "bond", - "a": 28, - "b": 30, - "bond_type": "single" - }, - { - "type": "bond", - "a": 29, - "b": 30, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 34, - "bond_type": "single" - }, - { - "type": "bond", - "a": 30, - "b": 32, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 30, - "b": 33, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 30, - "b": 36, - "bond_type": "single" - }, - { - "type": "bond", - "a": 30, - "b": 35, - "bond_type": "single" - }, - { - "type": "bond", - "a": 36, - "b": 37, - "bond_type": "single" - }, - { - "type": "bond", - "a": 35, - "b": 37, - "bond_type": "single" - }, - { - "type": "bond", - "a": 37, - "b": 39, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 37, - "b": 38, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 37, - "b": 40, - "bond_type": "single" - }, - { - "type": "bond", - "a": 37, - "b": 34, - "bond_type": "single" - }, - { - "type": "bond", - "a": 40, - "b": 41, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 44, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 45, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 43, - "bond_type": "single" - }, - { - "type": "bond", - "a": 19, - "b": 46, - "bond_type": "single" - }, - { - "type": "bond", - "a": 18, - "b": 46, - "bond_type": "single" - }, - { - "type": "bond", - "a": 46, - "b": 48, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 46, - "b": 47, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 22, - "b": 46, - "bond_type": "single" - }, - { - "type": "bond", - "a": 46, - "b": 43, - "bond_type": "single" - }, - { - "type": "bond", - "a": 45, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 49, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 42, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 50, - "b": 44, - "bond_type": "single" - }, - { - "type": "bond", - "a": 41, - "b": 49, - "bond_type": "single" - }, - { - "type": "bond", - "a": 49, - "b": 50, - "bond_type": "single" - }, - { - "type": "bond", - "a": 16, - "b": 51, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 52, - "bond_type": "single" - }, - { - "type": "bond", - "a": 51, - "b": 50, - "bond_type": "single" - }, - { - "type": "bond", - "a": 25, - "b": 50, - "bond_type": "single" - }, - { - "type": "bond", - "a": 50, - "b": 53, - "bond_type": "single" - }, - { - "type": "bond", - "a": 50, - "b": 36, - "bond_type": "single" - }, - { - "sup": "10-", - "atoms": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53 - ], - "type": "parens" - } - ] + "contents": [ + { + "type": "atom", + "element": "W", + "index": 0, + "x": -0.0869, + "y": -3.2348 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": -0.0869, + "y": -4.0598 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.72, + "y": -3.4063 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": -0.91189999999999993, + "y": -3.2348 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": -0.7, + "y": -2.6827 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 0.6976, + "y": -2.9798 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": -0.023100000000000009, + "y": -2.258 + }, + { + "type": "atom", + "element": "W", + "index": 7, + "x": -1.6965000000000001, + "y": -2.9798 + }, + { + "type": "atom", + "element": "W", + "index": 8, + "x": -0.7862, + "y": -1.8622999999999998 + }, + { + "type": "atom", + "element": "W", + "index": 9, + "x": 1.0332, + "y": -2.2262 + }, + { + "type": "atom", + "element": "W", + "index": 10, + "x": 1.5404, + "y": -3.3201 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": -1.6103, + "y": -3.8003 + }, + { + "type": "atom", + "element": "O", + "index": 12, + "x": -2.411, + "y": -3.3923 + }, + { + "type": "atom", + "element": "O", + "index": 13, + "x": -2.364, + "y": -2.4949 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": -1.8681, + "y": -2.1729 + }, + { + "type": "atom", + "element": "O", + "index": 15, + "x": -1.1445, + "y": -2.3667 + }, + { + "type": "atom", + "element": "W", + "index": 16, + "x": -1.6673, + "y": -1.2918999999999998 + }, + { + "type": "atom", + "element": "W", + "index": 17, + "x": -2.4812000000000003, + "y": -1.6208 + }, + { + "type": "atom", + "element": "O", + "index": 18, + "x": -1.8904, + "y": -0.7563 + }, + { + "type": "atom", + "element": "O", + "index": 19, + "x": -2.6151, + "y": -0.5503 + }, + { + "type": "atom", + "element": "O", + "index": 20, + "x": -3.0942000000000003, + "y": -1.0688 + }, + { + "type": "atom", + "element": "O", + "index": 21, + "x": -3.1956, + "y": -2.0333 + }, + { + "type": "atom", + "element": "O", + "index": 22, + "x": -1.0987, + "y": -0.881 + }, + { + "type": "atom", + "element": "O", + "index": 23, + "x": 0.020599999999999993, + "y": -1.6906999999999999 + }, + { + "type": "atom", + "element": "O", + "index": 24, + "x": -1.8907, + "y": -1.6821 + }, + { + "type": "atom", + "element": "O", + "index": 25, + "x": 0.6372, + "y": -2.3662 + }, + { + "type": "atom", + "element": "O", + "index": 26, + "x": 1.2048999999999999, + "y": -4.0737000000000005 + }, + { + "type": "atom", + "element": "O", + "index": 27, + "x": 2.1534999999999997, + "y": -3.8721 + }, + { + "type": "atom", + "element": "O", + "index": 28, + "x": 1.6266999999999998, + "y": -2.4996 + }, + { + "type": "atom", + "element": "O", + "index": 29, + "x": 2.2941, + "y": -2.9844999999999997 + }, + { + "type": "atom", + "element": "W", + "index": 30, + "x": 2.2941, + "y": -2.0147 + }, + { + "type": "atom", + "element": "O", + "index": 31, + "x": 1.4327999999999999, + "y": -1.7188999999999999 + }, + { + "type": "atom", + "element": "O", + "index": 32, + "x": 2.9072, + "y": -2.5667 + }, + { + "type": "atom", + "element": "O", + "index": 33, + "x": 3.1010999999999997, + "y": -1.8431 + }, + { + "type": "atom", + "element": "O", + "index": 34, + "x": 1.2827, + "y": -0.8858 + }, + { + "type": "atom", + "element": "O", + "index": 35, + "x": 2.5490999999999997, + "y": -1.23 + }, + { + "type": "atom", + "element": "O", + "index": 36, + "x": 1.6082999999999998, + "y": -1.2803 + }, + { + "type": "atom", + "element": "W", + "index": 37, + "x": 2.0641, + "y": -0.5626 + }, + { + "type": "atom", + "element": "O", + "index": 38, + "x": 2.7316, + "y": -0.0778 + }, + { + "type": "atom", + "element": "O", + "index": 39, + "x": 2.0641, + "y": 0.2623 + }, + { + "type": "atom", + "element": "O", + "index": 40, + "x": 1.2725, + "y": -0.077599999999999988 + }, + { + "type": "atom", + "element": "W", + "index": 41, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 42, + "x": 0.11229999999999998, + "y": 0.8207 + }, + { + "type": "atom", + "element": "O", + "index": 43, + "x": -0.8037, + "y": 0.4125 + }, + { + "type": "atom", + "element": "O", + "index": 44, + "x": 0.6666, + "y": -0.48550000000000004 + }, + { + "type": "atom", + "element": "O", + "index": 45, + "x": -1.1864000000000001, + "y": -0.3053 + }, + { + "type": "atom", + "element": "W", + "index": 46, + "x": -1.6048, + "y": -0.22139999999999999 + }, + { + "type": "atom", + "element": "O", + "index": 47, + "x": -2.1853000000000002, + "y": 0.3026 + }, + { + "type": "atom", + "element": "O", + "index": 48, + "x": -1.4332, + "y": 0.56319999999999992 + }, + { + "type": "atom", + "element": "O", + "index": 49, + "x": -0.5295, + "y": -1.0244 + }, + { + "type": "atom", + "element": "W", + "index": 50, + "x": 0.1585, + "y": -0.8017 + }, + { + "type": "atom", + "element": "O", + "index": 51, + "x": -0.37350000000000005, + "y": -1.4035 + }, + { + "type": "atom", + "element": "O", + "index": 52, + "x": -1.2137, + "y": -1.6296 + }, + { + "type": "atom", + "element": "O", + "index": 53, + "x": 0.5707, + "y": -1.3983999999999999 + }, + { + "type": "atom", + "element": { + "symbol": "⁺N", + "material": "gtceu:nitrogen" + }, + "right": [ + "H", + 4 + ], + "index": 54, + "x": -5.5, + "y": -1 + }, + { + "sub": "10", + "atoms": [ + 54 + ], + "type": "parens" + }, + { + "type": "atom", + "element": "O", + "left": [ + "H", + 2 + ], + "index": 55, + "x": -5, + "y": -1.9 + }, + { + "sub": "6", + "atoms": [ + 55 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 12, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 14, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 20, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 17, + "b": 21, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 26, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 10, + "b": 27, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 10, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 31, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 30, + "b": 32, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 30, + "b": 33, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 30, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 30, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 39, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 37, + "b": 38, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 37, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 46, + "b": 48, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 46, + "b": 47, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 22, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 46, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 50, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 49, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 51, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 52, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 51, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 50, + "b": 53, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 50, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "sup": "10-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ], + "type": "parens" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/boric_acid.json b/kubejs/assets/tfg/molecules/boric_acid.json index 4092cbd99..c9d2288e2 100644 --- a/kubejs/assets/tfg/molecules/boric_acid.json +++ b/kubejs/assets/tfg/molecules/boric_acid.json @@ -1,53 +1,59 @@ { - "contents": [ - { - "type": "atom", - "element": "B", - "index": 0, - "x": 0.5, - "y": -0.866 - }, - { - "type": "atom", - "element": "O", - "right": "H", - "index": 1, - "x": 1.5, - "y": -0.866 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "left": "H", - "index": 3, - "x": 0.0, - "y": -1.732 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "B", + "index": 0, + "x": 0.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 1, + "x": 1.5, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 3, + "x": 0.0, + "y": -1.732 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json b/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json index af44f4050..d7c337529 100644 --- a/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json +++ b/kubejs/assets/tfg/molecules/chlorine_pentafluoride.json @@ -4,73 +4,83 @@ "type": "atom", "element": "Cl", "index": 0, - "x": -0.3098, - "y": -0.2864 + "x": 0.866, + "y": -0.5 }, { "type": "atom", "element": "F", "index": 1, - "x": -0.3098, - "y": -1.1113 + "x": 0.866, + "y": -1.5 }, { "type": "atom", "element": "F", "index": 2, - "x": -0.7947, - "y": 0.3810 + "x": 1.732, + "y": 0.0 }, { "type": "atom", "element": "F", "index": 3, - "x": 0.1750, - "y": 0.3810 + "x": 0.0, + "y": 0.0 }, { "type": "atom", "element": "F", "index": 4, - "x": 0.4747, - "y": -0.5412 + "x": 1.732, + "y": -1.0 }, { "type": "atom", "element": "F", "index": 5, - "x": -1.0944, - "y": -0.5413 - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 0, - "bond_type": "single" + "x": 0.0, + "y": -1.0 }, { "type": "bond", "a": 0, "b": 1, - "bond_type": "single" + "lines": [ + "solid" + ] }, { "type": "bond", "a": 0, - "b": 5, - "bond_type": "single" + "b": 2, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "inward" + ] }, { "type": "bond", "a": 0, "b": 4, - "bond_type": "single" + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "outward" + ] } ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chlorodifluoromethane.json b/kubejs/assets/tfg/molecules/chlorodifluoromethane.json index 2a4f8eda0..748d6d866 100644 --- a/kubejs/assets/tfg/molecules/chlorodifluoromethane.json +++ b/kubejs/assets/tfg/molecules/chlorodifluoromethane.json @@ -1,63 +1,71 @@ { - "contents": [ - { - "index": 0, - "element": "C", - "x": 0.0, - "y": 0.0, - "type": "atom" - }, - { - "index": 1, - "element": "F", - "x": 0.0, - "y": 1.0, - "type": "atom" - }, - { - "index": 2, - "element": "F", - "x": 0.9659258, - "y": -0.25881904, - "type": "atom" - }, - { - "index": 3, - "element": "Cl", - "x": 0.5, - "y": -0.8660254, - "type": "atom" - }, - { - "index": 4, - "element": "H", - "x": -0.8660254, - "y": -0.5, - "type": "atom" - }, - { - "a": 0, - "b": 1, - "bond_type": "single", - "type": "bond" - }, - { - "a": 0, - "b": 2, - "bond_type": "inward", - "type": "bond" - }, - { - "a": 0, - "b": 3, - "bond_type": "outward", - "type": "bond" - }, - { - "a": 0, - "b": 4, - "bond_type": "single", - "type": "bond" - } - ] + "contents": [ + { + "index": 0, + "element": "C", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "F", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "F", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "Cl", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "H", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 2, + "lines": [ + "inward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 3, + "lines": [ + "outward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 4, + "lines": [ + "solid" + ], + "type": "bond" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chloryl_fluoride.json b/kubejs/assets/tfg/molecules/chloryl_fluoride.json index e033f3d87..150b06bf7 100644 --- a/kubejs/assets/tfg/molecules/chloryl_fluoride.json +++ b/kubejs/assets/tfg/molecules/chloryl_fluoride.json @@ -1,50 +1,60 @@ { - "contents": [ - { - "type": "atom", - "element": "Cl", - "index": 0, - "x": 0.0000, - "y": 0.1115 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 0.4125, - "y": 0.8260 - }, - { - "type": "atom", - "element": "F", - "index": 2, - "x": 0.4125, - "y": -0.6028 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": -0.8250, - "y": 0.1115 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "Cl", + "index": 0, + "x": 0.0, + "y": 0.1115 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.4125, + "y": 0.826 + }, + { + "type": "atom", + "element": "F", + "index": 2, + "x": 0.4125, + "y": -0.6028 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": -0.825, + "y": 0.1115 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/dimethyl_carbonate.json b/kubejs/assets/tfg/molecules/dimethyl_carbonate.json index 41d1b5c3c..d605cfc69 100644 --- a/kubejs/assets/tfg/molecules/dimethyl_carbonate.json +++ b/kubejs/assets/tfg/molecules/dimethyl_carbonate.json @@ -1,73 +1,85 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": -4.2017, - "y": -0.3624 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": -3.4873, - "y": -0.7749 - }, - { - "type": "atom", - "index": 2, - "x": -2.7728, - "y": -0.3624 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": -2.0584, - "y": -0.7749 - }, - { - "type": "atom", - "index": 4, - "x": -1.3439, - "y": -0.3624 - }, - { - "type": "atom", - "element": "O", - "index": 5, - "x": -2.7728, - "y": 0.4625 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 5, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": -4.2017, + "y": -0.3624 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": -3.4873, + "y": -0.7749 + }, + { + "type": "atom", + "index": 2, + "x": -2.7728, + "y": -0.3624 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": -2.0584, + "y": -0.7749 + }, + { + "type": "atom", + "index": 4, + "x": -1.3439, + "y": -0.3624 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": -2.7728, + "y": 0.4625 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 5, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/heavy_water.json b/kubejs/assets/tfg/molecules/heavy_water.json new file mode 100644 index 000000000..5be913a35 --- /dev/null +++ b/kubejs/assets/tfg/molecules/heavy_water.json @@ -0,0 +1,41 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "D", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "D", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/iodomethane.json b/kubejs/assets/tfg/molecules/iodomethane.json index a5fba84d5..a4bb4b4d6 100644 --- a/kubejs/assets/tfg/molecules/iodomethane.json +++ b/kubejs/assets/tfg/molecules/iodomethane.json @@ -1,63 +1,71 @@ { - "contents": [ - { - "index": 0, - "element": "C", - "x": 0.0, - "y": 0.0, - "type": "atom" - }, - { - "index": 1, - "element": "I", - "x": 0.0, - "y": 1.0, - "type": "atom" - }, - { - "index": 2, - "element": "H", - "x": 0.9659258, - "y": -0.25881904, - "type": "atom" - }, - { - "index": 3, - "element": "H", - "x": 0.5, - "y": -0.8660254, - "type": "atom" - }, - { - "index": 4, - "element": "H", - "x": -0.8660254, - "y": -0.5, - "type": "atom" - }, - { - "a": 0, - "b": 1, - "bond_type": "single", - "type": "bond" - }, - { - "a": 0, - "b": 2, - "bond_type": "inward", - "type": "bond" - }, - { - "a": 0, - "b": 3, - "bond_type": "outward", - "type": "bond" - }, - { - "a": 0, - "b": 4, - "bond_type": "single", - "type": "bond" - } - ] + "contents": [ + { + "index": 0, + "element": "C", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "I", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "H", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "H", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "H", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 2, + "lines": [ + "inward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 3, + "lines": [ + "outward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 4, + "lines": [ + "solid" + ], + "type": "bond" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/isobutane.json b/kubejs/assets/tfg/molecules/isobutane.json index d9f320be2..e15dd549a 100644 --- a/kubejs/assets/tfg/molecules/isobutane.json +++ b/kubejs/assets/tfg/molecules/isobutane.json @@ -1,46 +1,52 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": -0.0235, - "y": 1.7404 - }, - { - "type": "atom", - "index": 1, - "x": -0.0235, - "y": 0.9154 - }, - { - "type": "atom", - "index": 2, - "x": 0.6909, - "y": 0.5029 - }, - { - "type": "atom", - "index": 3, - "x": -0.7380, - "y": 0.5029 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 3, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.0235, + "y": 1.7404 + }, + { + "type": "atom", + "index": 1, + "x": -0.0235, + "y": 0.9154 + }, + { + "type": "atom", + "index": 2, + "x": 0.6909, + "y": 0.5029 + }, + { + "type": "atom", + "index": 3, + "x": -0.738, + "y": 0.5029 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json b/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json index 307810532..bdb787baa 100644 --- a/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json +++ b/kubejs/assets/tfg/molecules/methyl_phenylcarbamate.json @@ -1,152 +1,181 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 1.6418, - "y": 0.5155 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 0.9273, - "y": -0.7218 - }, - { - "type": "atom", - "element": "N", - "index": 2, - "x": 0.2128, - "y": 0.5156 - }, - { - "type": "atom", - "index": 3, - "x": -0.5015, - "y": 0.1031 - }, - { - "type": "atom", - "index": 4, - "x": -1.2160, - "y": 0.5156 - }, - { - "type": "atom", - "index": 5, - "x": -0.5015, - "y": -0.7219 - }, - { - "type": "atom", - "index": 6, - "x": -1.9304, - "y": 0.1031 - }, - { - "type": "atom", - "index": 7, - "x": -1.2160, - "y": -1.1344 - }, - { - "type": "atom", - "index": 8, - "x": -1.9305, - "y": -0.7218 - }, - { - "type": "atom", - "index": 9, - "x": 0.9273, - "y": 0.1030 - }, - { - "type": "atom", - "index": 10, - "x": 2.3563, - "y": 0.1031 - }, - { - "type": "atom", - "element": "H", - "index": 11, - "x": 0.2129, - "y": 1.3406 - }, - { - "type": "bond", - "a": 0, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 9, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 2, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "double" - }, - { - "type": "bond", - "a": 3, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 5, - "bond_type": "double" - }, - { - "type": "bond", - "a": 6, - "b": 8, - "bond_type": "double" - }, - { - "type": "bond", - "a": 7, - "b": 8, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 11, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 1.6418, + "y": 0.5155 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.9273, + "y": -0.7218 + }, + { + "type": "atom", + "element": "N", + "index": 2, + "x": 0.2128, + "y": 0.5156 + }, + { + "type": "atom", + "index": 3, + "x": -0.5015, + "y": 0.1031 + }, + { + "type": "atom", + "index": 4, + "x": -1.216, + "y": 0.5156 + }, + { + "type": "atom", + "index": 5, + "x": -0.5015, + "y": -0.7219 + }, + { + "type": "atom", + "index": 6, + "x": -1.9304, + "y": 0.1031 + }, + { + "type": "atom", + "index": 7, + "x": -1.216, + "y": -1.1344 + }, + { + "type": "atom", + "index": 8, + "x": -1.9305, + "y": -0.7218 + }, + { + "type": "atom", + "index": 9, + "x": 0.9273, + "y": 0.103 + }, + { + "type": "atom", + "index": 10, + "x": 2.3563, + "y": 0.1031 + }, + { + "type": "atom", + "element": "H", + "index": 11, + "x": 0.2129, + "y": 1.3406 + }, + { + "type": "bond", + "a": 0, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 9, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 11, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json index e94f4df81..aa88c9920 100644 --- a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json @@ -1,276 +1,330 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": 4.3301, - "y": -0.5000999999999998 - }, - { - "type": "atom", - "index": 1, - "x": 3.4641, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 2, - "x": 4.3301, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 3, - "x": 2.5980999999999987, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 4, - "x": 3.4641, - "y": 0 - }, - { - "type": "atom", - "index": 5, - "x": 2.5980999999999987, - "y": -0.5000999999999998 - }, - { - "type": "atom", - "index": 6, - "x": 5.196199999999999, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 7, - "x": 6.062199999999999, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 8, - "x": 6.928199999999999, - "y": 0 - }, - { - "type": "atom", - "index": 9, - "x": 6.062199999999999, - "y": -0.5000999999999998 - }, - { - "type": "atom", - "index": 10, - "x": 7.794199999999998, - "y": -0.5000999999999998 - }, - { - "type": "atom", - "index": 11, - "x": 6.928199999999999, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 12, - "x": 7.794199999999998, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "element": "O", - "index": 13, - "x": 1.732099999999999, - "y": 0 - }, - { - "type": "atom", - "element": "O", - "index": 14, - "x": 8.660300000000001, - "y": 0 - }, - { - "type": "atom", - "index": 15, - "x": 0.8659999999999997, - "y": -0.5000999999999998 - }, - { - "type": "atom", - "element": "O", - "index": 16, - "x": 0.8659999999999997, - "y": -1.4999999999999991 - }, - { - "type": "atom", - "element": "N", - "left": [ - "H", - 2 - ], - "index": 17, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 18, - "x": 9.5263, - "y": -0.5000999999999998 - }, - { - "type": "atom", - "element": "N", - "right": [ - "H", - 2 - ], - "index": 19, - "x": 9.5263, - "y": -1.5 - }, - { - "type": "atom", - "element": "O", - "index": 20, - "x": 10.3924, - "y": 0.0 - }, - { - "type": "bond", - "a": 2, - "b": 0, - "bond_type": "double" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "double" - }, - { - "type": "bond", - "a": 5, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 1, - "bond_type": "double" - }, - { - "type": "bond", - "a": 1, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 7, - "bond_type": "double" - }, - { - "type": "bond", - "a": 7, - "b": 11, - "bond_type": "single" - }, - { - "type": "bond", - "a": 11, - "b": 12, - "bond_type": "double" - }, - { - "type": "bond", - "a": 12, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 8, - "bond_type": "double" - }, - { - "type": "bond", - "a": 8, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 5, - "b": 13, - "bond_type": "single" - }, - { - "type": "bond", - "a": 10, - "b": 14, - "bond_type": "single" - }, - { - "type": "bond", - "a": 13, - "b": 15, - "bond_type": "single" - }, - { - "type": "bond", - "a": 15, - "b": 16, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 15, - "b": 17, - "bond_type": "single" - }, - { - "type": "bond", - "a": 14, - "b": 18, - "bond_type": "single" - }, - { - "type": "bond", - "a": 18, - "b": 19, - "bond_type": "single" - }, - { - "type": "bond", - "a": 18, - "b": 20, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": 4.3301, + "y": -0.50009999999999977 + }, + { + "type": "atom", + "index": 1, + "x": 3.4641, + "y": -2.0001000000000007 + }, + { + "type": "atom", + "index": 2, + "x": 4.3301, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "index": 3, + "x": 2.5980999999999987, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": 0 + }, + { + "type": "atom", + "index": 5, + "x": 2.5980999999999987, + "y": -0.50009999999999977 + }, + { + "type": "atom", + "index": 6, + "x": 5.1961999999999993, + "y": -2.0001000000000007 + }, + { + "type": "atom", + "index": 7, + "x": 6.0621999999999989, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "index": 8, + "x": 6.9281999999999986, + "y": 0 + }, + { + "type": "atom", + "index": 9, + "x": 6.0621999999999989, + "y": -0.50009999999999977 + }, + { + "type": "atom", + "index": 10, + "x": 7.7941999999999982, + "y": -0.50009999999999977 + }, + { + "type": "atom", + "index": 11, + "x": 6.9281999999999986, + "y": -2.0001000000000007 + }, + { + "type": "atom", + "index": 12, + "x": 7.7941999999999982, + "y": -1.5001000000000007 + }, + { + "type": "atom", + "element": "O", + "index": 13, + "x": 1.7320999999999991, + "y": 0 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": 8.6603000000000012, + "y": 0 + }, + { + "type": "atom", + "index": 15, + "x": 0.86599999999999966, + "y": -0.50009999999999977 + }, + { + "type": "atom", + "element": "O", + "index": 16, + "x": 0.86599999999999966, + "y": -1.4999999999999991 + }, + { + "type": "atom", + "element": "N", + "left": [ + "H", + 2 + ], + "index": 17, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 18, + "x": 9.5263, + "y": -0.50009999999999977 + }, + { + "type": "atom", + "element": "N", + "right": [ + "H", + 2 + ], + "index": 19, + "x": 9.5263, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "index": 20, + "x": 10.3924, + "y": 0.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 7, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 8, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 15, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 20, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json index bc6ddaf99..cc2451d4e 100644 --- a/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_diisocyanate.json @@ -1,244 +1,298 @@ { - "contents": [ - { - "type": "atom", - "element": "O", - "index": 0, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 10.3924, - "y": 0.0 - }, - { - "type": "atom", - "element": "N", - "index": 2, - "x": 1.7321, - "y": 1.0 - }, - { - "type": "atom", - "element": "N", - "index": 3, - "x": 8.6603, - "y": 1.0 - }, - { - "type": "atom", - "index": 4, - "x": 5.1962, - "y": -1.0 - }, - { - "type": "atom", - "index": 5, - "x": 4.3302, - "y": -0.5 - }, - { - "type": "atom", - "index": 6, - "x": 6.0622, - "y": -0.5 - }, - { - "type": "atom", - "index": 7, - "x": 3.4641, - "y": -1.0 - }, - { - "type": "atom", - "index": 8, - "x": 6.0622, - "y": 0.5 - }, - { - "type": "atom", - "index": 9, - "x": 4.3302, - "y": 0.5 - }, - { - "type": "atom", - "index": 10, - "x": 6.9283, - "y": -1.0 - }, - { - "type": "atom", - "index": 11, - "x": 2.5981, - "y": -0.5 - }, - { - "type": "atom", - "index": 12, - "x": 6.9283, - "y": 1.0 - }, - { - "type": "atom", - "index": 13, - "x": 3.4641, - "y": 1.0 - }, - { - "type": "atom", - "index": 14, - "x": 7.7943, - "y": -0.5 - }, - { - "type": "atom", - "index": 15, - "x": 2.5981, - "y": 0.5 - }, - { - "type": "atom", - "index": 16, - "x": 7.7943, - "y": 0.5 - }, - { - "type": "atom", - "element": "C", - "index": 17, - "x": 0.8661, - "y": 0.5 - }, - { - "type": "atom", - "element": "C", - "index": 18, - "x": 9.5263, - "y": 0.5 - }, - { - "type": "bond", - "a": 0, - "b": 17, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 1, - "b": 18, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 2, - "b": 15, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 17, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 3, - "b": 16, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 18, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 4, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 5, - "bond_type": "double" - }, - { - "type": "bond", - "a": 5, - "b": 9, - "bond_type": "single" - }, - { - "type": "bond", - "a": 6, - "b": 8, - "bond_type": "double" - }, - { - "type": "bond", - "a": 6, - "b": 10, - "bond_type": "single" - }, - { - "type": "bond", - "a": 7, - "b": 11, - "bond_type": "single" - }, - { - "type": "bond", - "a": 8, - "b": 12, - "bond_type": "single" - }, - { - "type": "bond", - "a": 9, - "b": 13, - "bond_type": "double" - }, - { - "type": "bond", - "a": 10, - "b": 14, - "bond_type": "double" - }, - { - "type": "bond", - "a": 11, - "b": 15, - "bond_type": "double" - }, - { - "type": "bond", - "a": 16, - "b": 12, - "bond_type": "double" - }, - { - "type": "bond", - "a": 13, - "b": 15, - "bond_type": "single" - }, - { - "type": "bond", - "a": 14, - "b": 16, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 10.3924, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 2, + "x": 1.7321, + "y": 1.0 + }, + { + "type": "atom", + "element": "N", + "index": 3, + "x": 8.6603, + "y": 1.0 + }, + { + "type": "atom", + "index": 4, + "x": 5.1962, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 4.3302, + "y": -0.5 + }, + { + "type": "atom", + "index": 6, + "x": 6.0622, + "y": -0.5 + }, + { + "type": "atom", + "index": 7, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "index": 8, + "x": 6.0622, + "y": 0.5 + }, + { + "type": "atom", + "index": 9, + "x": 4.3302, + "y": 0.5 + }, + { + "type": "atom", + "index": 10, + "x": 6.9283, + "y": -1.0 + }, + { + "type": "atom", + "index": 11, + "x": 2.5981, + "y": -0.5 + }, + { + "type": "atom", + "index": 12, + "x": 6.9283, + "y": 1.0 + }, + { + "type": "atom", + "index": 13, + "x": 3.4641, + "y": 1.0 + }, + { + "type": "atom", + "index": 14, + "x": 7.7943, + "y": -0.5 + }, + { + "type": "atom", + "index": 15, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 16, + "x": 7.7943, + "y": 0.5 + }, + { + "type": "atom", + "element": "C", + "index": 17, + "x": 0.8661, + "y": 0.5 + }, + { + "type": "atom", + "element": "C", + "index": 18, + "x": 9.5263, + "y": 0.5 + }, + { + "type": "bond", + "a": 0, + "b": 17, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 1, + "b": 18, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 2, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 17, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 3, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 18, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 13, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 14, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 15, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 12, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 16, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/semiheavy_water.json b/kubejs/assets/tfg/molecules/semiheavy_water.json new file mode 100644 index 000000000..355aea49f --- /dev/null +++ b/kubejs/assets/tfg/molecules/semiheavy_water.json @@ -0,0 +1,41 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "D", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_borohydride.json b/kubejs/assets/tfg/molecules/sodium_borohydride.json index aefc8ddc4..11320c394 100644 --- a/kubejs/assets/tfg/molecules/sodium_borohydride.json +++ b/kubejs/assets/tfg/molecules/sodium_borohydride.json @@ -1,76 +1,84 @@ { - "contents": [ - { - "type": "atom", - "element": { - "symbol": "B⁻", - "material": "gtceu:boron" - }, - "index": 0, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "H", - "index": 1, - "x": 0.8249, - "y": 0.0 - }, - { - "type": "atom", - "element": "H", - "index": 2, - "x": 0.0, - "y": -0.8249 - }, - { - "type": "atom", - "element": "H", - "index": 3, - "x": -0.8250000000000001, - "y": 0.0 - }, - { - "type": "atom", - "element": "H", - "index": 4, - "x": 0.0, - "y": 0.8250000000000001 - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "material": "gtceu:sodium" - }, - "index": 5, - "x": -1.8527, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": { + "symbol": "B⁻", + "material": "gtceu:boron" + }, + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 1, + "x": 0.8249, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 2, + "x": 0.0, + "y": -0.8249 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": -0.82500000000000007, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 4, + "x": 0.0, + "y": 0.82500000000000007 + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "material": "gtceu:sodium" + }, + "index": 5, + "x": -1.8527, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_methoxide.json b/kubejs/assets/tfg/molecules/sodium_methoxide.json index 293bcd3fc..d160f1e88 100644 --- a/kubejs/assets/tfg/molecules/sodium_methoxide.json +++ b/kubejs/assets/tfg/molecules/sodium_methoxide.json @@ -1,44 +1,46 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "u": 0, - "v": 0 - }, - { - "type": "atom", - "index": 1, - "u": 1, - "v": 0, - "element": { - "symbol": "O⁻", - "color": { - "color": -62195, - "optional": true + "contents": [ + { + "type": "atom", + "index": 0, + "u": 0, + "v": 0 }, - "material": "gtceu:oxygen" - } - }, - { - "type": "atom", - "index": 2, - "u": 1, - "v": 0.66666667, - "element": { - "symbol": "Na⁺", - "color": { - "color": -5546766, - "optional": true + { + "type": "atom", + "index": 1, + "u": 1, + "v": 0, + "element": { + "symbol": "O⁻", + "color": { + "color": -62195, + "optional": true + }, + "material": "gtceu:oxygen" + } }, - "material": "gtceu:sodium" - } - }, - { - "type": "bond", - "bond_type": "single", - "a": 0, - "b": 1 - } - ] + { + "type": "atom", + "index": 2, + "u": 1, + "v": 0.66666667, + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + } + }, + { + "type": "bond", + "lines": [ + "solid" + ], + "a": 0, + "b": 1 + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_tungstate.json b/kubejs/assets/tfg/molecules/sodium_tungstate.json index 882e8a3b4..cca7eced3 100644 --- a/kubejs/assets/tfg/molecules/sodium_tungstate.json +++ b/kubejs/assets/tfg/molecules/sodium_tungstate.json @@ -1,89 +1,101 @@ { - "contents": [ - { - "type": "atom", - "element": "W", - "index": 0, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 0.0, - "y": -0.825 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.0, - "y": 0.825 - }, - { - "type": "atom", - "element": { - "symbol": "O⁻", - "material": "gtceu:oxygen" - }, - "index": 3, - "x": 0.825, - "y": 0.0 - }, - { - "type": "atom", - "element": { - "symbol": "O⁻", - "material": "gtceu:oxygen" - }, - "index": 4, - "x": -0.825, - "y": 0.0 - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "material": "gtceu:sodium" - }, - "index": 5, - "x": 1.65, - "y": 0.0 - }, - { - "type": "atom", - "element": { - "symbol": "Na⁺", - "material": "gtceu:sodium" - }, - "index": 6, - "x": -1.65, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "W", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.0, + "y": -0.825 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.825 + }, + { + "type": "atom", + "element": { + "symbol": "O⁻", + "material": "gtceu:oxygen" + }, + "index": 3, + "x": 0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "O⁻", + "material": "gtceu:oxygen" + }, + "index": 4, + "x": -0.825, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "material": "gtceu:sodium" + }, + "index": 5, + "x": 1.65, + "y": 0.0 + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "material": "gtceu:sodium" + }, + "index": 6, + "x": -1.65, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/tetrafluoroethane.json b/kubejs/assets/tfg/molecules/tetrafluoroethane.json index 0a92c4057..cf1e91e0b 100644 --- a/kubejs/assets/tfg/molecules/tetrafluoroethane.json +++ b/kubejs/assets/tfg/molecules/tetrafluoroethane.json @@ -1,74 +1,84 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": 0.3216, - "y": 0.6414 - }, - { - "type": "atom", - "index": 1, - "x": -0.5033, - "y": 0.6414 - }, - { - "type": "atom", - "element": "F", - "index": 2, - "x": 0.7341, - "y": 1.3559 - }, - { - "type": "atom", - "element": "F", - "index": 3, - "x": 0.7341, - "y": -0.0730 - }, - { - "type": "atom", - "element": "F", - "index": 4, - "x": -0.9158, - "y": -0.0730 - }, - { - "type": "atom", - "element": "F", - "index": 5, - "x": -0.9158, - "y": 1.3559 - }, - { - "type": "bond", - "a": 1, - "b": 0, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 5, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.3216, + "y": 0.6414 + }, + { + "type": "atom", + "index": 1, + "x": -0.5033, + "y": 0.6414 + }, + { + "type": "atom", + "element": "F", + "index": 2, + "x": 0.7341, + "y": 1.3559 + }, + { + "type": "atom", + "element": "F", + "index": 3, + "x": 0.7341, + "y": -0.073 + }, + { + "type": "atom", + "element": "F", + "index": 4, + "x": -0.9158, + "y": -0.073 + }, + { + "type": "atom", + "element": "F", + "index": 5, + "x": -0.9158, + "y": 1.3559 + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 5, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/tmos.json b/kubejs/assets/tfg/molecules/tmos.json index 11f94d465..375d22714 100644 --- a/kubejs/assets/tfg/molecules/tmos.json +++ b/kubejs/assets/tfg/molecules/tmos.json @@ -1,111 +1,127 @@ { - "contents": [ - { - "type": "atom", - "element": "Si", - "index": 0, - "x": -0.1504, - "y": -0.7464 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 0.4625, - "y": -1.2984 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": -0.7635, - "y": -0.1943 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": -0.7025, - "y": -1.3595 - }, - { - "type": "atom", - "element": "O", - "index": 4, - "x": 0.4015, - "y": -0.1333 - }, - { - "type": "atom", - "index": 5, - "x": -1.5482, - "y": -0.4493 - }, - { - "type": "atom", - "index": 6, - "x": 1.2472, - "y": -1.0435 - }, - { - "type": "atom", - "index": 7, - "x": 1.2085, - "y": -0.3048 - }, - { - "type": "atom", - "index": 8, - "x": -1.5094, - "y": -1.1879 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 4, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 4, - "b": 7, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 8, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "Si", + "index": 0, + "x": -0.1504, + "y": -0.7464 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.4625, + "y": -1.2984 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": -0.7635, + "y": -0.1943 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": -0.7025, + "y": -1.3595 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 0.4015, + "y": -0.1333 + }, + { + "type": "atom", + "index": 5, + "x": -1.5482, + "y": -0.4493 + }, + { + "type": "atom", + "index": 6, + "x": 1.2472, + "y": -1.0435 + }, + { + "type": "atom", + "index": 7, + "x": 1.2085, + "y": -0.3048 + }, + { + "type": "atom", + "index": 8, + "x": -1.5094, + "y": -1.1879 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 8, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/trideuteroiodomethane.json b/kubejs/assets/tfg/molecules/trideuteroiodomethane.json index 931c470e6..2f86ef9b7 100644 --- a/kubejs/assets/tfg/molecules/trideuteroiodomethane.json +++ b/kubejs/assets/tfg/molecules/trideuteroiodomethane.json @@ -1,63 +1,71 @@ { - "contents": [ - { - "index": 0, - "element": "C", - "x": 0.0, - "y": 0.0, - "type": "atom" - }, - { - "index": 1, - "element": "I", - "x": 0.0, - "y": 1.0, - "type": "atom" - }, - { - "index": 2, - "element": "D", - "x": 0.9659258, - "y": -0.25881904, - "type": "atom" - }, - { - "index": 3, - "element": "D", - "x": 0.5, - "y": -0.8660254, - "type": "atom" - }, - { - "index": 4, - "element": "D", - "x": -0.8660254, - "y": -0.5, - "type": "atom" - }, - { - "a": 0, - "b": 1, - "bond_type": "single", - "type": "bond" - }, - { - "a": 0, - "b": 2, - "bond_type": "inward", - "type": "bond" - }, - { - "a": 0, - "b": 3, - "bond_type": "outward", - "type": "bond" - }, - { - "a": 0, - "b": 4, - "bond_type": "single", - "type": "bond" - } - ] + "contents": [ + { + "index": 0, + "element": "C", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "I", + "x": 0.0, + "y": 1.0, + "type": "atom" + }, + { + "index": 2, + "element": "D", + "x": 0.9659258, + "y": -0.25881904, + "type": "atom" + }, + { + "index": 3, + "element": "D", + "x": 0.5, + "y": -0.8660254, + "type": "atom" + }, + { + "index": 4, + "element": "D", + "x": -0.8660254, + "y": -0.5, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 0, + "b": 2, + "lines": [ + "inward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 3, + "lines": [ + "outward" + ], + "type": "bond" + }, + { + "a": 0, + "b": 4, + "lines": [ + "solid" + ], + "type": "bond" + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/trimethyl_borate.json b/kubejs/assets/tfg/molecules/trimethyl_borate.json index 3f36766a5..29be55042 100644 --- a/kubejs/assets/tfg/molecules/trimethyl_borate.json +++ b/kubejs/assets/tfg/molecules/trimethyl_borate.json @@ -1,86 +1,98 @@ { - "contents": [ - { - "type": "atom", - "element": "B", - "index": 0, - "x": -0.6874, - "y": 0.9488 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": -0.6874, - "y": 1.7738 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.0270, - "y": 0.5363 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": -1.4019, - "y": 0.5363 - }, - { - "type": "atom", - "index": 4, - "x": -2.1163, - "y": 0.9488 - }, - { - "type": "atom", - "index": 5, - "x": 0.7415, - "y": 0.9488 - }, - { - "type": "atom", - "index": 6, - "x": -1.4018, - "y": 2.1863 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "single" - }, - { - "type": "bond", - "a": 1, - "b": 6, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "single" - }, - { - "type": "bond", - "a": 2, - "b": 5, - "bond_type": "single" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "single" - }, - { - "type": "bond", - "a": 3, - "b": 4, - "bond_type": "single" - } - ] + "contents": [ + { + "type": "atom", + "element": "B", + "index": 0, + "x": -0.6874, + "y": 0.9488 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": -0.6874, + "y": 1.7738 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.027, + "y": 0.5363 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": -1.4019, + "y": 0.5363 + }, + { + "type": "atom", + "index": 4, + "x": -2.1163, + "y": 0.9488 + }, + { + "type": "atom", + "index": 5, + "x": 0.7415, + "y": 0.9488 + }, + { + "type": "atom", + "index": 6, + "x": -1.4018, + "y": 2.1863 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/tungsten_oxide.json b/kubejs/assets/tfg/molecules/tungsten_oxide.json index ca6a445d1..d7adc76c3 100644 --- a/kubejs/assets/tfg/molecules/tungsten_oxide.json +++ b/kubejs/assets/tfg/molecules/tungsten_oxide.json @@ -1,50 +1,62 @@ { - "contents": [ - { - "type": "atom", - "element": "W", - "index": 0, - "x": 0.866, - "y": -0.5 - }, - { - "type": "atom", - "element": "O", - "index": 1, - "x": 0.866, - "y": -1.5 - }, - { - "type": "atom", - "element": "O", - "index": 2, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "element": "O", - "index": 3, - "x": 1.732, - "y": 0.0 - }, - { - "type": "bond", - "a": 0, - "b": 1, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 2, - "bond_type": "double_centered" - }, - { - "type": "bond", - "a": 0, - "b": 3, - "bond_type": "double_centered" - } - ] + "contents": [ + { + "type": "atom", + "element": "W", + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 1.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] } \ No newline at end of file diff --git a/kubejs/server_scripts/tacz/recipes.ammo.js b/kubejs/server_scripts/tacz/recipes.ammo.js index b479da04c..5810126d2 100644 --- a/kubejs/server_scripts/tacz/recipes.ammo.js +++ b/kubejs/server_scripts/tacz/recipes.ammo.js @@ -23,6 +23,13 @@ function registerTACZAmmoRecipes(event){ //event.remove({ mod: 'applied_ammo_box' }) event.remove({ type: 'applied_ammo_box:shaped_nbt' }) + + event.recipes.gtceu.assembler('tfg_tacz:wl_ammo_box') + .itemInputs('2x #gtceu:batteries/ev', 'ae2:wireless_terminal', '4x #forge:double_plates/ostrum', + '2x gtceu:ev_sensor', 'gtceu:ev_emitter', '2x #forge:rods/ultimet') + .itemOutputs('applied_ammo_box:ammo_box') + .EUt(GTValues.VA[GTValues.EV]) + .duration(100) //Extruder Casing event.recipes.gtceu.extruder('tfg_tacz:small_casing') diff --git a/pakku-lock.json b/pakku-lock.json index c0ae73b50..95d327c2a 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7119,6 +7119,47 @@ } ] }, + { + "pakku_id": "WTbDrl3JrTmqPQaW", + "pakku_links": [ + "WN9DdLqsRKVeZIc9" + ], + "type": "MOD", + "slug": { + "curseforge": "gregtech-molecule-drawings" + }, + "name": { + "curseforge": "GregTech Molecule Drawings" + }, + "id": { + "curseforge": "1348330" + }, + "files": [ + { + "type": "curseforge", + "file_name": "gtmoldraw-2.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7197/3/gtmoldraw-2.0.0.jar", + "id": "7197003", + "parent_id": "1348330", + "hashes": { + "sha1": "cd8c19e95f5ad36a5a439ef9a917c3e362ba5aac", + "md5": "ac3a8b5b9e4926cbca43f8000cfe2312" + }, + "required_dependencies": [ + "890405" + ], + "size": 826370, + "date_published": "2025-11-07T23:18:11.033Z" + } + ] + }, { "pakku_id": "0jxn9gNhlmSZ6ooq", "type": "RESOURCE_PACK", From d1c1ddff9573601c5a145ff2087bbc21f8382372 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 8 Nov 2025 00:06:15 +0000 Subject: [PATCH 030/628] buncha pakku updates --- pakku-lock.json | 309 ++++++++++++++++++++++++------------------------ 1 file changed, 155 insertions(+), 154 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 95d327c2a..0b74ff332 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -852,7 +852,7 @@ "files": [ { "type": "curseforge", - "file_name": "alltheleaks-1.0.8+1.20.1-forge.jar", + "file_name": "alltheleaks-1.1.0+1.20.1-forge.jar", "mc_versions": [ "1.20.1" ], @@ -860,16 +860,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7107/566/alltheleaks-1.0.8+1.20.1-forge.jar", - "id": "7107566", + "url": "https://edge.forgecdn.net/files/7189/127/alltheleaks-1.1.0+1.20.1-forge.jar", + "id": "7189127", "parent_id": "1091339", "hashes": { - "sha1": "cc58ad397f1e40eb7b5ee006195815a8bef131bf", - "md5": "4d96599f1bbe8d03540a1066509dc005" + "sha1": "d38ae474a0d8d9c6671fe7419e36c1ac859c9e68", + "md5": "a1284d5c8ee99ba6de078db3b22709c6" }, "required_dependencies": [], - "size": 1176184, - "date_published": "2025-10-14T20:58:29.273Z" + "size": 1186965, + "date_published": "2025-11-05T14:35:56.437Z" } ] }, @@ -4278,7 +4278,7 @@ "files": [ { "type": "modrinth", - "file_name": "Cucumber-1.20.1-7.0.15.jar", + "file_name": "Cucumber-1.20.1-7.0.16.jar", "mc_versions": [ "1.20.1" ], @@ -4286,20 +4286,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Rw1NrDzF/versions/tHDveaxK/Cucumber-1.20.1-7.0.15.jar", - "id": "tHDveaxK", + "url": "https://cdn.modrinth.com/data/Rw1NrDzF/versions/xnLznSfT/Cucumber-1.20.1-7.0.16.jar", + "id": "xnLznSfT", "parent_id": "Rw1NrDzF", "hashes": { - "sha512": "9ee45676c1acf8979835610e3f06163a7c69c1fcef872246f118e5dc5c387c9457736c50c7bad63e8319f4e5b75a58e731f49eeb8bfced9c92d1583b43a9afe2", - "sha1": "f376bdf46bce7d9d8cf275b05899e1abaed98c3b" + "sha512": "4b68f300df40e2243a76b80c6a8dff2ed6af01a33e058f1f0e79690ffebea35b020d323fe478c4e41516330c7650cb9b1b713d132ed0de63f96e4787da43a7f5", + "sha1": "88a9ec30e4acb5c80a3ae060ad70b79e945293c6" }, "required_dependencies": [], - "size": 269566, - "date_published": "2025-08-12T22:57:16.961925Z" + "size": 271462, + "date_published": "2025-11-03T02:24:06.959179Z" }, { "type": "curseforge", - "file_name": "Cucumber-1.20.1-7.0.15.jar", + "file_name": "Cucumber-1.20.1-7.0.16.jar", "mc_versions": [ "1.20.1" ], @@ -4307,16 +4307,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6880/321/Cucumber-1.20.1-7.0.15.jar", - "id": "6880321", + "url": "https://edge.forgecdn.net/files/7180/783/Cucumber-1.20.1-7.0.16.jar", + "id": "7180783", "parent_id": "272335", "hashes": { - "sha1": "f376bdf46bce7d9d8cf275b05899e1abaed98c3b", - "md5": "84949e197a71b5f20a99532bd082cea6" + "sha1": "88a9ec30e4acb5c80a3ae060ad70b79e945293c6", + "md5": "d7d34a7584041977e493198a666c2db4" }, "required_dependencies": [], - "size": 269566, - "date_published": "2025-08-12T22:57:15.407Z" + "size": 271462, + "date_published": "2025-11-03T02:24:05.553Z" } ] }, @@ -4405,7 +4405,7 @@ "files": [ { "type": "curseforge", - "file_name": "deafission-1.20.1-0.13.2.jar", + "file_name": "deafission-1.20.1-0.14.0.jar", "mc_versions": [ "1.20.1" ], @@ -4413,19 +4413,19 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7168/614/deafission-1.20.1-0.13.2.jar", - "id": "7168614", + "url": "https://edge.forgecdn.net/files/7183/3/deafission-1.20.1-0.14.0.jar", + "id": "7183003", "parent_id": "1354541", "hashes": { - "sha1": "5ff6d80290d59ab782b9aab2e00cbb90fc5ab641", - "md5": "16e4d34e2eac7e920aa281c135c2175a" + "sha1": "be825bbade05cbb92d4036018ac2ed2afdd0c60e", + "md5": "5c75e50c6375e902b55d1d5e8443d6b8" }, "required_dependencies": [ "890405", "238086" ], - "size": 287745, - "date_published": "2025-10-30T23:06:07.040Z" + "size": 291509, + "date_published": "2025-11-03T18:53:38.453Z" } ] }, @@ -4831,7 +4831,7 @@ "files": [ { "type": "curseforge", - "file_name": "domum_ornamentum-1.20.1-1.0.291-snapshot-universal.jar", + "file_name": "domum_ornamentum-1.20.1-1.0.292-snapshot-universal.jar", "mc_versions": [ "1.20.1" ], @@ -4839,16 +4839,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/6870/756/domum_ornamentum-1.20.1-1.0.291-snapshot-universal.jar", - "id": "6870756", + "url": "https://edge.forgecdn.net/files/7185/824/domum_ornamentum-1.20.1-1.0.292-snapshot-universal.jar", + "id": "7185824", "parent_id": "527361", "hashes": { - "sha1": "3544e2197b7c376fbc7650fff8502a7a3397357e", - "md5": "be5569eb31dda1579e968c9e8508bf0a" + "sha1": "1b3b96dda8dd4541afba652c7a975ba439fc1026", + "md5": "81979c0894bbe4af72a488532e898988" }, "required_dependencies": [], - "size": 1140927, - "date_published": "2025-08-10T10:38:15.523Z" + "size": 1141274, + "date_published": "2025-11-04T15:31:54.240Z" } ] }, @@ -5206,10 +5206,11 @@ "curseforge": "448233", "modrinth": "NNAgCjsB" }, + "redistributable": false, "files": [ { "type": "modrinth", - "file_name": "entityculling-forge-1.9.2-mc1.20.1.jar", + "file_name": "entityculling-forge-1.9.3-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5217,20 +5218,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/yzFoumoH/entityculling-forge-1.9.2-mc1.20.1.jar", - "id": "yzFoumoH", + "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/H7zaVcD6/entityculling-forge-1.9.3-mc1.20.1.jar", + "id": "H7zaVcD6", "parent_id": "NNAgCjsB", "hashes": { - "sha512": "5c16156a6712d2234aa1933453398dee15ad2cce5f5aef62be764c502b166fbce468dc3418fead0e458ba8c914b37f4591b506a7eab4af1de6baa65dc370c994", - "sha1": "760530a1db027bf2cdea5760a6138a045ad11242" + "sha512": "62429153a72f509877bae38c6e3e651ff241114c3608fdf6f2e412a6df0acec1da318e50a8dd3a2468fbddcc16c3e412910e0e09b9d1f94d6b0312bfe8b07e9d", + "sha1": "8faea4818faab6b870ee370b52434b016542b519" }, "required_dependencies": [], - "size": 477372, - "date_published": "2025-10-19T13:25:36.590243Z" + "size": 477884, + "date_published": "2025-10-30T19:05:52.890832Z" }, { "type": "curseforge", - "file_name": "entityculling-forge-1.9.2-mc1.20.1.jar", + "file_name": "entityculling-forge-1.9.3-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5238,16 +5239,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7125/341/entityculling-forge-1.9.2-mc1.20.1.jar", - "id": "7125341", + "url": "https://edge.forgecdn.net/files/7167/800/entityculling-forge-1.9.3-mc1.20.1.jar", + "id": "7167800", "parent_id": "448233", "hashes": { - "sha1": "760530a1db027bf2cdea5760a6138a045ad11242", - "md5": "e756916c39c6cae945c321c3bb2ab0f9" + "sha1": "8faea4818faab6b870ee370b52434b016542b519", + "md5": "ae4f74f187b64f3b107e97b949e4a9e8" }, "required_dependencies": [], - "size": 477372, - "date_published": "2025-10-19T13:25:35.733Z" + "size": 477884, + "date_published": "2025-10-30T19:05:50.793Z" } ] }, @@ -6469,7 +6470,7 @@ "files": [ { "type": "modrinth", - "file_name": "Firmalife-1.20.1-2.1.23.jar", + "file_name": "Firmalife-1.20.1-2.1.24.jar", "mc_versions": [ "1.20.1" ], @@ -6478,22 +6479,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/t7KGvsmo/Firmalife-1.20.1-2.1.23.jar", - "id": "t7KGvsmo", + "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/eaGYPROS/Firmalife-1.20.1-2.1.24.jar", + "id": "eaGYPROS", "parent_id": "5bKeBHw2", "hashes": { - "sha512": "7c6f0d0489b97301a9fbeab1a738b73969fc720521c8feeaf1e3a0c7bf06687df0ee37a88a8cec5efe134c342809608683774d67169eaeb2eb6a6bf2c6d2b718", - "sha1": "71990d2b344d64f19558c40bf73454379282aad9" + "sha512": "d2bf1e3631796ef427cccdc52ce8cfe00677b827cf592154f2d6841bf5d0f7c42e2d7aeed6f8db30af5d733635a58429bbd3b96fc6fc7ebc4e32e600173b04e6", + "sha1": "d4643d36fff9e4608e537ad9fae5704cad5bc4ac" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 4617231, - "date_published": "2025-09-12T23:10:39.190669Z" + "size": 4665098, + "date_published": "2025-11-04T02:00:10.446982Z" }, { "type": "curseforge", - "file_name": "Firmalife-1.20.1-2.1.23.jar", + "file_name": "Firmalife-1.20.1-2.1.24.jar", "mc_versions": [ "1.20.1" ], @@ -6502,18 +6503,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6990/927/Firmalife-1.20.1-2.1.23.jar", - "id": "6990927", + "url": "https://edge.forgecdn.net/files/7184/123/Firmalife-1.20.1-2.1.24.jar", + "id": "7184123", "parent_id": "453394", "hashes": { - "sha1": "71990d2b344d64f19558c40bf73454379282aad9", - "md5": "281054629313b958c0e343e8ed1507d5" + "sha1": "d4643d36fff9e4608e537ad9fae5704cad5bc4ac", + "md5": "58f007a7d86c013b37c89a36620db1cf" }, "required_dependencies": [ "302973" ], - "size": 4617231, - "date_published": "2025-09-12T23:10:35.550Z" + "size": 4665098, + "date_published": "2025-11-04T02:00:07.587Z" } ] }, @@ -9272,7 +9273,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.24.4+mc1.20.1.jar", + "file_name": "modernfix-forge-5.25.0+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9280,20 +9281,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/CixO1IdG/modernfix-forge-5.24.4+mc1.20.1.jar", - "id": "CixO1IdG", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/B1kPym71/modernfix-forge-5.25.0+mc1.20.1.jar", + "id": "B1kPym71", "parent_id": "nmDcB62a", "hashes": { - "sha512": "8feb0282084196571489b6c1005c32ce4a3f03a6bff05c2cfe448677e4e36d6580f5f0eb428ef839de1dd9c307bfbd15567fd508fb405d2ae7eaec90796e9b14", - "sha1": "daeccb1fbe1d67d426fcc8135cfff463ff0f7e1d" + "sha512": "5b72f8b42ccd12a2577bed5a437811e6ab5fe811e86f5e42554967aae405658a00d163f8d7f21640882c8b4072894f3972039c33157c98a4b46b9a778dbe1ad8", + "sha1": "ce78c1b76a1204775514b20b7b35d3f480c0bcb4" }, "required_dependencies": [], - "size": 880557, - "date_published": "2025-08-01T23:00:08.205986Z" + "size": 897884, + "date_published": "2025-11-06T00:04:39.619960Z" }, { "type": "curseforge", - "file_name": "modernfix-forge-5.24.4+mc1.20.1.jar", + "file_name": "modernfix-forge-5.25.0+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9301,16 +9302,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6837/713/modernfix-forge-5.24.4+mc1.20.1.jar", - "id": "6837713", + "url": "https://edge.forgecdn.net/files/7190/629/modernfix-forge-5.25.0+mc1.20.1.jar", + "id": "7190629", "parent_id": "790626", "hashes": { - "sha1": "daeccb1fbe1d67d426fcc8135cfff463ff0f7e1d", - "md5": "1d729a283f14fdbf1021ff4f0c88b0ec" + "sha1": "ce78c1b76a1204775514b20b7b35d3f480c0bcb4", + "md5": "d1a8a868063a5309cd17700105e7a521" }, "required_dependencies": [], - "size": 880557, - "date_published": "2025-08-01T23:00:04.740Z" + "size": 897884, + "date_published": "2025-11-06T00:04:34.820Z" } ] }, @@ -9394,7 +9395,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.15-forge.jar", + "file_name": "moonlight-1.20-2.16.16-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9403,20 +9404,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/q6pVkPDR/moonlight-1.20-2.16.15-forge.jar", - "id": "q6pVkPDR", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/DhH5mm9z/moonlight-1.20-2.16.16-forge.jar", + "id": "DhH5mm9z", "parent_id": "twkfQtEc", "hashes": { - "sha512": "9eba41fa2bef4558bfe7a3a31b0b3ae2484eba87a2f6feda6d4e0c18d9074b08bb0a5637446a9df2a87171a27bb84af703a716cfc0f49fab2882da4ffdf2a76c", - "sha1": "5b87fafe107c93754765b0490fbf0250df520b6e" + "sha512": "1fd7d3aca0fa88bcc7c805b4afb0e2662756d5bac390234197896875334f136a52a46e1d26efd0da05c1da3a26f1c66ee8c070ec053895a15010047c8be5e344", + "sha1": "f1ad21bce5a4b96a1152d6cf83cfb27684fc4b6a" }, "required_dependencies": [], - "size": 1333278, - "date_published": "2025-10-18T08:20:19.294910Z" + "size": 1333455, + "date_published": "2025-11-06T12:29:54.395045Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.15-forge.jar", + "file_name": "moonlight-1.20-2.16.16-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9425,16 +9426,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7119/907/moonlight-1.20-2.16.15-forge.jar", - "id": "7119907", + "url": "https://edge.forgecdn.net/files/7191/950/moonlight-1.20-2.16.16-forge.jar", + "id": "7191950", "parent_id": "499980", "hashes": { - "sha1": "5b87fafe107c93754765b0490fbf0250df520b6e", - "md5": "9530dafa3d58016165594559e8013eb0" + "sha1": "f1ad21bce5a4b96a1152d6cf83cfb27684fc4b6a", + "md5": "cc2852f794f2a3bb835c6507d8276dc4" }, "required_dependencies": [], - "size": 1333278, - "date_published": "2025-10-18T08:20:03.677Z" + "size": 1333455, + "date_published": "2025-11-06T12:29:47.037Z" } ] }, @@ -11535,31 +11536,9 @@ "modrinth": "kepjj2sy" }, "files": [ - { - "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.14.3.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6993/788/ShoulderSurfing-Forge-1.20.1-4.14.3.jar", - "id": "6993788", - "parent_id": "243190", - "hashes": { - "sha1": "d339a53fe242d8befc7af48cab26ea71c9cb18b9", - "md5": "a3efd5821b0797dbcdfbeabebfcd0b95" - }, - "required_dependencies": [], - "size": 242896, - "date_published": "2025-09-13T19:46:30.803Z" - }, { "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.14.3.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.15.0.jar", "mc_versions": [ "1.20", "1.20.1" @@ -11568,16 +11547,38 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/J38UPdFA/ShoulderSurfing-Forge-1.20.1-4.14.3.jar", - "id": "J38UPdFA", + "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/6okOewio/ShoulderSurfing-Forge-1.20.1-4.15.0.jar", + "id": "6okOewio", "parent_id": "kepjj2sy", "hashes": { - "sha512": "a1eb9f397b459acdf8216f46c1b3605d501ad43923b8a48a0db4eb5ed992fa55fd582d199b2fe570299c29548fbb6ff0a90a4d0a74a45f6a0013ecc29d97bfe3", - "sha1": "d339a53fe242d8befc7af48cab26ea71c9cb18b9" + "sha512": "02ea515a4fa94ad38e9a2fec54999998def07fa7317d602dc3fd3dedd56c94402c59d456f1d0841a6579e49b74ec907ca040eb2500f65d80b8db27bef840beb7", + "sha1": "2a95a27723ddaeb28c0e3edb139bd8980ce252b7" }, "required_dependencies": [], - "size": 242896, - "date_published": "2025-09-13T19:46:21.874642Z" + "size": 251309, + "date_published": "2025-11-06T20:49:38.589392Z" + }, + { + "type": "curseforge", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.15.0.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7193/397/ShoulderSurfing-Forge-1.20.1-4.15.0.jar", + "id": "7193397", + "parent_id": "243190", + "hashes": { + "sha1": "2a95a27723ddaeb28c0e3edb139bd8980ce252b7", + "md5": "311850730a11614852a4f253c0d20f97" + }, + "required_dependencies": [], + "size": 251309, + "date_published": "2025-11-06T20:49:32.400Z" } ] }, @@ -13803,35 +13804,9 @@ "modrinth": "H8peNuJG" }, "files": [ - { - "type": "curseforge", - "file_name": "tacz-tweaks-2.9.0-all.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7041/592/tacz-tweaks-2.9.0-all.jar", - "id": "7041592", - "parent_id": "1193263", - "hashes": { - "sha1": "9e1a68b8ac714d1cae00550fcc524ff7b12cb4b9", - "md5": "5bee35daf86a064d7f58c519e7f45fcb" - }, - "required_dependencies": [ - "667299", - "1028108", - "351264" - ], - "size": 1640111, - "date_published": "2025-09-28T09:02:31.080Z" - }, { "type": "modrinth", - "file_name": "tacz-tweaks-2.9.0-all.jar", + "file_name": "tacz-tweaks-2.10.0-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -13840,20 +13815,46 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/Gvp62YmC/tacz-tweaks-2.9.0-all.jar", - "id": "Gvp62YmC", + "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/6u8Qmehi/tacz-tweaks-2.10.0-all.jar", + "id": "6u8Qmehi", "parent_id": "H8peNuJG", "hashes": { - "sha512": "f69640816220a2d136d9db332ad6bd99c7c746e7e5e297b745b9d355fec44d30c9fb559d8cd53c84c036ce4875527d578c4f3dfc40c2fd30a74fe8b95925763a", - "sha1": "9e1a68b8ac714d1cae00550fcc524ff7b12cb4b9" + "sha512": "9c5c35e3aa7d544f21af76e665894a8412c5252c81c0cc23736d6ec58749388af3baf6aa7aac292cf434ff974c8da4be0f7ee6beb40d6448ea9281859404cc32", + "sha1": "204a636d7e84ba8631c15f11f84be8c635e7ab4f" }, "required_dependencies": [ - "SzzJttH8", "ordsPcFz", + "SzzJttH8", "1eAoo2KR" ], - "size": 1640111, - "date_published": "2025-09-28T09:02:31.279571Z" + "size": 1737843, + "date_published": "2025-11-05T13:18:31.842515Z" + }, + { + "type": "curseforge", + "file_name": "tacz-tweaks-2.10.0-all.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7188/921/tacz-tweaks-2.10.0-all.jar", + "id": "7188921", + "parent_id": "1193263", + "hashes": { + "sha1": "204a636d7e84ba8631c15f11f84be8c635e7ab4f", + "md5": "5e30e520314ac6855883f2b7b164bb8c" + }, + "required_dependencies": [ + "667299", + "351264", + "1028108" + ], + "size": 1737843, + "date_published": "2025-11-05T13:18:30.730Z" } ] }, From 52e81ba582deef1b47e995bc3b0471157d67ca41 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 8 Nov 2025 02:38:14 +0000 Subject: [PATCH 031/628] changing a lot of custom formulas to components for moldraw coloring --- CHANGELOG.md | 1 + config/moldraw.yaml | 2 +- kubejs/startup_scripts/ae2/materials.js | 2 +- kubejs/startup_scripts/greate/materials.js | 5 +- kubejs/startup_scripts/gtceu/materials.js | 9 +-- kubejs/startup_scripts/tfg/materials.js | 44 ++++++++++----- .../startup_scripts/tfg/materials.nuclear.js | 56 +++++++++---------- pakku-lock.json | 16 +++--- 8 files changed, 72 insertions(+), 63 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1d3c3a8a..51a5f0b91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Added a sky stone block recipe to the rock breaker (#2159) @Pyritie - Improved the tag for cleanroom doors @Pyritie - The food oven and refrigerator now emit heat (for TFC ambiental) @Pyritie +- Dioxygen Difluoride is now cryogenic and acidic @Pyritie ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie diff --git a/config/moldraw.yaml b/config/moldraw.yaml index 85f917542..412541969 100644 --- a/config/moldraw.yaml +++ b/config/moldraw.yaml @@ -4,7 +4,7 @@ debugMode: false coloredAtoms: true -useMaterialColors: false +useMaterialColors: true onlyShowOnShift: true diff --git a/kubejs/startup_scripts/ae2/materials.js b/kubejs/startup_scripts/ae2/materials.js index 316f6fe33..d4ab8056d 100644 --- a/kubejs/startup_scripts/ae2/materials.js +++ b/kubejs/startup_scripts/ae2/materials.js @@ -11,7 +11,7 @@ const registerAE2Materials = (event) => { GTMaterialFlags.CRYSTALLIZABLE, GTMaterialFlags.DISABLE_DECOMPOSITION ) - .components('1x nether_quartz', '1x certus_quartz') + .components('1x unknown', '1x nether_quartz', '1x certus_quartz') .color(0x8f5ccb) .secondaryColor(0x252f5a) } \ No newline at end of file diff --git a/kubejs/startup_scripts/greate/materials.js b/kubejs/startup_scripts/greate/materials.js index f02a6127d..910e6125c 100644 --- a/kubejs/startup_scripts/greate/materials.js +++ b/kubejs/startup_scripts/greate/materials.js @@ -8,6 +8,7 @@ const registerGreateMaterialModification = (event) => { GTMaterials.get("rose_quartz").addFlags( GTMaterialFlags.GENERATE_LENS ); - - GTMaterials.get('andesite_alloy').setFormula("?", true) + + GTMaterials.get('andesite_alloy').setComponents([]) + GTMaterials.get('andesite_alloy').setFormula("?") } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 186d44764..9684071d5 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -422,10 +422,7 @@ const registerGTCEuMaterialModification = (event) => { rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) - GTMaterials.get('tfg:kaolinite').setFormula("Al2Si2O5(OH)4", true) - GTMaterials.get('tfg:vitrified_pearl').setFormula("(Al2Si2O5(OH)4)(BeK4N5)", true) - GTMaterials.get('tfg:tmos').setFormula("Si(OCH3)4", true) - GTMaterials.get('tfg:fluix').setFormula("?(?SiO2)(SiO2)", true) - GTMaterials.CertusQuartz.setFormula("?SiO2", true) - GTMaterials.GraniteRed.setFormula("?", true) + GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') + GTMaterials.GraniteRed.setComponents([]) + GTMaterials.GraniteRed.setFormula("?") } diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index bb08e9a95..f9d443a8e 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -3,6 +3,10 @@ const registerTFGMaterials = (event) => { + event.create('unknown') + .color('0xFFFFFF') + .formula('?') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('hardwood') .dust() @@ -155,6 +159,7 @@ const registerTFGMaterials = (event) => { .components('2x aluminium', '2x silicon', '9x oxygen', '4x hydrogen') .color(0xEEB9AD) .secondaryColor(0xF6A797) + .formula("Al2Si2O5(OH)4") event.create('tfg:vitrified_pearl') .dust() @@ -162,6 +167,7 @@ const registerTFGMaterials = (event) => { .components('2x aluminium', '2x silicon', '9x oxygen', '4x hydrogen', '1x ender_pearl') .color(0xFFFFFF) .secondaryColor(0x67FFE6) + .formula("(Al2Si2O5(OH)4)(BeK4N5)") //#region Solar Panel Chemicals @@ -182,7 +188,8 @@ const registerTFGMaterials = (event) => { event.create('tfg:solar_coolant_tier2') .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(73)) - .formula('(He³8O11H11)8(Ar)(?)') + .components('8x tfg:solar_coolant', '1x argon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xfeff5d) //#endregion @@ -253,7 +260,7 @@ const registerTFGMaterials = (event) => { event.create('tfg:dimethyl_carbonate') .liquid() .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('3x carbon','6x hydrogen', '3x oxygen') + .components('3x formaldehyde') // CH2O .color(0xFFFFF2) event.create('tfg:methyl_phenylcarbamate') .liquid() @@ -275,6 +282,7 @@ const registerTFGMaterials = (event) => { //#region aerogel event.create('tfg:tmos') .liquid() + .formula("Si(OCH3)4") .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xC2C6CC) event.create('tfg:silica_gel') @@ -300,22 +308,26 @@ const registerTFGMaterials = (event) => { event.create('hot_chlorinated_brominated_brine') .liquid(320) .color(0xbf8d5a) - .formula('?Cl') + .components('1x unknown', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('brominated_chlorine_vapor') .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) .color(0xbf8d5a) - .formula('ClBr(H2O)') + .components('1x chlorine', '1x bromine', '1x water') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('acidic_bromine_solution') .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) .color(0xe7b989) - .formula('ClBr') + .components('1x chlorine', '1x bromine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('concentrated_bromine_solution') .liquid() .color(0x905d29) - .formula('Br2Cl') + .components('1x bromine', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('debrominated_brine') .liquid() @@ -324,12 +336,14 @@ const registerTFGMaterials = (event) => { event.create('acidic_bromine_exhaust') .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(293)) .color(0xec9c4a) - .formula('(H2O)3Cl') + .components('3x water', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('hot_alkaline_debrominated_brine') .liquid() .color(0xcc6a06) - .formula('?2Cl') + .components('2x unknown', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('hot_debrominated_brine') .liquid(320) @@ -338,7 +352,7 @@ const registerTFGMaterials = (event) => { event.create('hydrogen_iodide') .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(293)) .color(0x82a6ce) - .formula('HI') + .components('1x hydrogen', '1x iodine') //#endregion @@ -346,19 +360,15 @@ const registerTFGMaterials = (event) => { event.create('lightweight_ostrum_vapor') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(760)) - .formula('(?)') event.create('ostrum_vapor') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(815)) - .formula('(?)') event.create('dense_ostrum_vapor') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(930)) - .formula('(?)') event.create('residual_radioactive_concoction') .liquid(new GTFluidBuilder().customStill().temperature(450)) - .formula('(?)') //#endregion @@ -413,18 +423,22 @@ const registerTFGMaterials = (event) => { .components('2x sodium','1x tungsten', '4x oxygen') .color('0xdcf6f7') + event.create('tfg:tungstate') + .components('2x hydrogen', '12x tungsten', '42x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + event.create('tfg:ammonium_tungstate') .dust() .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) .iconSet(GTMaterialIconSet.DULL) - .formula('(NH4)10(H2W12O42)') + .components('10x ammonia', '1x tfg:tungstate') .color('0xfafafa') event.create('tfg:apt') .gem() .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .iconSet(GTMaterialIconSet.FLINT) - .formula("(NH4)10(H2W12O42)(H2O)4") + .components('10x ammonia', '1x tfg:tungstate', '4x water') .color('0xaabdf0') event.create('tfg:tungsten_oxide') diff --git a/kubejs/startup_scripts/tfg/materials.nuclear.js b/kubejs/startup_scripts/tfg/materials.nuclear.js index 6b10776bc..cb92092db 100644 --- a/kubejs/startup_scripts/tfg/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/materials.nuclear.js @@ -26,55 +26,49 @@ const registerTFGNuclearMaterials = (event) => { event.create('dense_steam') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) .components('2x hydrogen', '1x oxygen') - .flags( - GTMaterialFlags.DISABLE_DECOMPOSITION) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('radioactive_steam') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) - .components('2x hydrogen', '1x oxygen') - .formula('H2O(?)') + .components('1x water', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('radioactive_waste') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) - .formula("(?)") + .components('1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('irradiated_steam') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(4250)) - .formula("(?)") + .components('1x water', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('tfg:heavy_water') .liquid(new GTFluidBuilder().temperature(236)) .components('2x deuterium', '1x oxygen') - .iconSet(GTMaterialIconSet.FINE) .color(0xB5B9FF) .secondaryColor(0x81FFF9) event.create('tfg:semiheavy_water') .liquid(new GTFluidBuilder().temperature(213)) .components('1x deuterium', '1x hydrogen', '1x oxygen') - .iconSet(GTMaterialIconSet.FINE) .color(0xb5ffff) .secondaryColor(0x81FFF9) event.create('uranium_waste') .liquid(new GTFluidBuilder().customStill().temperature(3850)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.FINE) .color(0xB5B9FF) .secondaryColor(0x81FFF9) event.create('nuclear_waste') .liquid(new GTFluidBuilder().customStill().temperature(3850)) + .components('1x thorium', '1x uranium', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .formula('ThU(?)') event.create('dirty_hexafluorosilicic_acid') .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) - //.liquid(320) - .formula('H2SiF6(?)') + .components('2x hydrogen', '1x silicon', '6x fluorine', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xe6fafb) .secondaryColor(0xb5fdff) @@ -82,23 +76,21 @@ const registerTFGNuclearMaterials = (event) => { event.create('martian_sludge') .liquid(new GTFluidBuilder().temperature(4239)) - .formula('(?)') + .components('1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xd86f27) .secondaryColor(0xecd7c9) .iconSet(GTMaterialIconSet.getByName('bullshit')) event.create('dioxygen_difluoride') - .fluid() + .liquid(new GTFluidBuilder().temperature(110).attribute(GTFluidAttributes.ACID)) .components('2x oxygen', '2x fluorine') - .iconSet(GTMaterialIconSet.FINE) .color(0xfcb603) .secondaryColor(0xfc5e03) event.create('tritiated_water') .fluid() .components('2x tritium', '1x oxygen') - .iconSet(GTMaterialIconSet.FINE) .color(0xb2c3e7) // FLiBe Line @@ -108,26 +100,33 @@ const registerTFGNuclearMaterials = (event) => { event.create('hot_iodine_brine') .liquid(new GTFluidBuilder().customStill().temperature(293)) - .formula('HIMgCl(?)') + .components('1x hydrogen', '1x iodine', '1x magnesium', '1x chlorine', '1x unknown') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('brominated_iodine_vapor') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(412)) - .formula('HI(?)') + .components('1x hydrogen', '1x iodine', '1x unknown') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('basic_bromine_exhaust') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(406)) - - event.create('dirty_flibe') - .liquid(new GTFluidBuilder().customStill().temperature(293)) - .formula('FLiBe(?)') + .components('1x bromine', '1x unknown') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('flibe') .liquid(new GTFluidBuilder().customStill().temperature(293)) - .formula('FLiBe') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x fluorine', '1x lithium', '1x beryllium') + + event.create('dirty_flibe') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x flibe', '1x unknown') event.create('hot_flibe') .liquid(new GTFluidBuilder().customStill().temperature(3293)) - .formula('FLiBe') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('1x flibe') //#endregion @@ -135,7 +134,7 @@ const registerTFGNuclearMaterials = (event) => { event.create('tfg:nuclear_residue') .dust() - .formula('(?)') + .components('1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .iconSet(GTMaterialIconSet.SHINY) .color(0x332816) @@ -144,7 +143,7 @@ const registerTFGNuclearMaterials = (event) => { event.create('tfg:oxidized_nuclear_residue') .dust() - .formula('U?O?(?)') + .components('1x uranium', '1x oxygen', '2x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .iconSet(GTMaterialIconSet.SHINY) .color(0x286529) @@ -153,7 +152,7 @@ const registerTFGNuclearMaterials = (event) => { event.create('tfg:refined_nuclear_residue') .dust() - .formula('U?(?)') + .components('1x uranium', '2x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x82c383) .secondaryColor('0xffffff') @@ -164,7 +163,6 @@ const registerTFGNuclearMaterials = (event) => { event.create('lithium_carbonate') .dust() .components('2x lithium', '1x carbon', '3x oxygen') - .formula('Li2CO3') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xffffff) .secondaryColor(0xb7b9bd) @@ -173,7 +171,6 @@ const registerTFGNuclearMaterials = (event) => { event.create('lithium_fluoride') .gem() .components('1x lithium', '1x fluorine') - .formula('LiF') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.DISABLE_MATERIAL_RECIPES) .color(0xffffff) .secondaryColor(0xb7b9bd) @@ -182,7 +179,6 @@ const registerTFGNuclearMaterials = (event) => { event.create('tetrafluoroberyllate') .gem() .components('1x beryllium', '4x fluorine') - .formula('BeF4') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.DISABLE_MATERIAL_RECIPES) .color(0xdcdee1) .secondaryColor(0xb7b9bd) diff --git a/pakku-lock.json b/pakku-lock.json index 0b74ff332..a79c6a460 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7121,7 +7121,7 @@ ] }, { - "pakku_id": "WTbDrl3JrTmqPQaW", + "pakku_id": "QHcH7jVuZ4XwJ61j", "pakku_links": [ "WN9DdLqsRKVeZIc9" ], @@ -7138,7 +7138,7 @@ "files": [ { "type": "curseforge", - "file_name": "gtmoldraw-2.0.0.jar", + "file_name": "gtmoldraw-2.0.1.jar", "mc_versions": [ "1.20.1" ], @@ -7146,18 +7146,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7197/3/gtmoldraw-2.0.0.jar", - "id": "7197003", + "url": "https://edge.forgecdn.net/files/7197/329/gtmoldraw-2.0.1.jar", + "id": "7197329", "parent_id": "1348330", "hashes": { - "sha1": "cd8c19e95f5ad36a5a439ef9a917c3e362ba5aac", - "md5": "ac3a8b5b9e4926cbca43f8000cfe2312" + "sha1": "701eb021adae14b1d1df909fa6fc8974aa01c8d6", + "md5": "9236597f2d9001eb79ad0f5af589a2f9" }, "required_dependencies": [ "890405" ], - "size": 826370, - "date_published": "2025-11-07T23:18:11.033Z" + "size": 826741, + "date_published": "2025-11-08T02:02:14.183Z" } ] }, From 7a004b104314a4cb19835a59ef5af11359702b59 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Fri, 7 Nov 2025 20:42:45 -0600 Subject: [PATCH 032/628] pakku update (#2187) --- pakku-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index a79c6a460..d3573adfc 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7138,7 +7138,7 @@ "files": [ { "type": "curseforge", - "file_name": "gtmoldraw-2.0.1.jar", + "file_name": "gtmoldraw-2.0.2.jar", "mc_versions": [ "1.20.1" ], @@ -7146,18 +7146,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7197/329/gtmoldraw-2.0.1.jar", - "id": "7197329", + "url": "https://edge.forgecdn.net/files/7197/380/gtmoldraw-2.0.2.jar", + "id": "7197380", "parent_id": "1348330", "hashes": { - "sha1": "701eb021adae14b1d1df909fa6fc8974aa01c8d6", - "md5": "9236597f2d9001eb79ad0f5af589a2f9" + "sha1": "b2d179a3508e192884a3e4c15ff9d9fe77985419", + "md5": "a51eaf06a5d9d6f3228af3a1eb70946a" }, "required_dependencies": [ "890405" ], - "size": 826741, - "date_published": "2025-11-08T02:02:14.183Z" + "size": 826760, + "date_published": "2025-11-08T02:22:06.563Z" } ] }, From 74fbd11149807d210a39a12c3d1a78cb6c956bfb Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Fri, 7 Nov 2025 20:48:10 -0600 Subject: [PATCH 033/628] Update pakku-lock.json --- pakku-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index d3573adfc..662fb573c 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7138,7 +7138,7 @@ "files": [ { "type": "curseforge", - "file_name": "gtmoldraw-2.0.2.jar", + "file_name": "gtmoldraw-2.0.3.jar", "mc_versions": [ "1.20.1" ], @@ -7146,18 +7146,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7197/380/gtmoldraw-2.0.2.jar", - "id": "7197380", + "url": "https://edge.forgecdn.net/files/7197/440/gtmoldraw-2.0.3.jar", + "id": "7197440", "parent_id": "1348330", "hashes": { - "sha1": "b2d179a3508e192884a3e4c15ff9d9fe77985419", - "md5": "a51eaf06a5d9d6f3228af3a1eb70946a" + "sha1": "24e461ca4eac2877458e125dc4c9eb678ad3c270", + "md5": "17c62be2923f14033a672d43c205e259" }, "required_dependencies": [ "890405" ], - "size": 826760, - "date_published": "2025-11-08T02:22:06.563Z" + "size": 826764, + "date_published": "2025-11-08T02:41:54.790Z" } ] }, From 8ba6243a2c841a625804c94a08519a4d216f0169 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Fri, 7 Nov 2025 22:37:25 -0600 Subject: [PATCH 034/628] tungstate correct color --- kubejs/assets/tfg/molecules/ammonium_tungstate.json | 4 ++++ kubejs/assets/tfg/molecules/apt.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/kubejs/assets/tfg/molecules/ammonium_tungstate.json b/kubejs/assets/tfg/molecules/ammonium_tungstate.json index 5e30e64d9..93642aba8 100644 --- a/kubejs/assets/tfg/molecules/ammonium_tungstate.json +++ b/kubejs/assets/tfg/molecules/ammonium_tungstate.json @@ -382,6 +382,10 @@ "type": "atom", "element": { "symbol": "⁺N", + "color": { + "color": -13610760, + "optional": true + }, "material": "gtceu:nitrogen" }, "right": [ diff --git a/kubejs/assets/tfg/molecules/apt.json b/kubejs/assets/tfg/molecules/apt.json index 775605377..fc7479a9e 100644 --- a/kubejs/assets/tfg/molecules/apt.json +++ b/kubejs/assets/tfg/molecules/apt.json @@ -382,6 +382,10 @@ "type": "atom", "element": { "symbol": "⁺N", + "color": { + "color": -13610760, + "optional": true + }, "material": "gtceu:nitrogen" }, "right": [ From 324847ccdec6dadfa845075015528d2f905e91d3 Mon Sep 17 00:00:00 2001 From: DI Date: Sat, 8 Nov 2025 11:44:47 +0300 Subject: [PATCH 035/628] Fix cannon.json (#2190) Signed-off-by: DI --- .../field_guide/ru_ru/entries/firmaciv/cannon.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/cannon.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/cannon.json index 308a0f85e..473a2bc46 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/cannon.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/cannon.json @@ -20,10 +20,10 @@ "text": "Куйте стволы пушек из двойных пластин кованого железа и завершите создание пушки через крафт." }, { - "type": "text", + "type": "patchouli:text", "text": "Вам также понадобятся пушечные ядра, выкованные из двойных слитков кованого железа, а также порох, грубая бумага и огниво, чтобы выстрелить из пушки. Графический элемент интерфейса будет отображать статус пушки. Вы можете поднимать оружие пушки, нажав $(item)$(k:key.use)$(), и опускать, если будете красться и нажмете $(item)$(k:key.use)$()." } ], "read_by_default": true, "sortnum": 5 -} \ No newline at end of file +} From 7ee6ff2c0441bc76e31f11c40c5012740a18a422 Mon Sep 17 00:00:00 2001 From: Redeix Date: Sat, 8 Nov 2025 03:40:26 -0600 Subject: [PATCH 036/628] bioline materials (#2191) * materials * lang * materials * utility linting * data and linting * lang --- eslint.config.js | 33 ++++- kubejs/assets/tfg/lang/en_us.json | 19 +++ kubejs/assets/tfg/lang/pt_br.json | 19 +++ .../tfg/models/item/progenitor_cells.json | 8 ++ .../block/fluids/fluid.crystal_violet.png | Bin 0 -> 8294 bytes .../fluids/fluid.crystal_violet.png.mcmeta | 5 + .../fluids/fluid.fibroblast_feeder_cells.png | Bin 0 -> 47149 bytes .../fluid.fibroblast_feeder_cells.png.mcmeta | 5 + .../block/fluids/fluid.gram_stain.png | Bin 0 -> 8282 bytes .../block/fluids/fluid.gram_stain.png.mcmeta | 5 + .../block/fluids/fluid.mutative_yeast.png | Bin 0 -> 39826 bytes .../fluids/fluid.mutative_yeast.png.mcmeta | 5 + .../fluids/fluid.proto_growth_medium.png | Bin 0 -> 6619 bytes .../fluid.proto_growth_medium.png.mcmeta | 5 + .../block/fluids/fluid.triglyceride_oil.png | Bin 0 -> 18931 bytes .../fluids/fluid.triglyceride_oil.png.mcmeta | 5 + .../tfg/textures/item/alpha_keratin.png | Bin 0 -> 391 bytes .../tfg/textures/item/cellulose_matrix.png | Bin 0 -> 394 bytes .../tfg/textures/item/progenitor_cells_0.png | Bin 0 -> 595 bytes .../item/progenitor_cells_0.png.mcmeta | 1 + .../tfg/textures/item/progenitor_cells_1.png | Bin 0 -> 1703 bytes .../item/progenitor_cells_1.png.mcmeta | 1 + .../tfg/textures/item/progenitor_cells_2.png | Bin 0 -> 257 bytes .../item/progenitor_cells_2.png.mcmeta | 1 + .../item/rough_endoplasmic_reticula.png | Bin 0 -> 575 bytes .../item/smooth_endoplasmic_reticula.png | Bin 0 -> 548 bytes kubejs/server_scripts/gregtech/utility.js | 98 ++++++++------- kubejs/server_scripts/tfg/data.js | 71 +++++++++-- kubejs/startup_scripts/main_startup_script.js | 1 + kubejs/startup_scripts/tfg/items.js | 8 ++ .../startup_scripts/tfg/materials.bioline.js | 113 ++++++++++++++++++ kubejs/startup_scripts/tfg/materials.js | 2 +- 32 files changed, 346 insertions(+), 59 deletions(-) create mode 100644 kubejs/assets/tfg/models/item/progenitor_cells.json create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.crystal_violet.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.crystal_violet.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.fibroblast_feeder_cells.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.fibroblast_feeder_cells.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.gram_stain.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.gram_stain.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.mutative_yeast.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.mutative_yeast.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.proto_growth_medium.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.proto_growth_medium.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.triglyceride_oil.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.triglyceride_oil.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/alpha_keratin.png create mode 100644 kubejs/assets/tfg/textures/item/cellulose_matrix.png create mode 100644 kubejs/assets/tfg/textures/item/progenitor_cells_0.png create mode 100644 kubejs/assets/tfg/textures/item/progenitor_cells_0.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/progenitor_cells_1.png create mode 100644 kubejs/assets/tfg/textures/item/progenitor_cells_1.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/progenitor_cells_2.png create mode 100644 kubejs/assets/tfg/textures/item/progenitor_cells_2.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/rough_endoplasmic_reticula.png create mode 100644 kubejs/assets/tfg/textures/item/smooth_endoplasmic_reticula.png create mode 100644 kubejs/startup_scripts/tfg/materials.bioline.js diff --git a/eslint.config.js b/eslint.config.js index d3d620ab2..308ee087b 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -26,14 +26,41 @@ export default defineConfig([ "no-template-curly-in-string": "error", "no-unmodified-loop-condition": "warn", "eqeqeq": "warn", + "no-constant-condition": "warn", + "no-duplicate-case": "error", + "no-empty": "warn", + "no-empty-pattern": "warn", + "no-ex-assign": "error", + "no-fallthrough": "warn", + "no-irregular-whitespace": "error", + "no-loss-of-precision": "error", + "no-unsafe-negation": "error", + "no-useless-catch": "warn", + "no-useless-escape": "warn", + "use-isnan": "error", + "valid-typeof": "error", + "curly": ["warn", "multi-line"], + "default-case-last": "warn", + "no-else-return": "warn", + "no-eval": "error", + "no-implied-eval": "error", + "no-lone-blocks": "warn", + "no-multi-spaces": "warn", + "no-return-assign": "warn", + "no-useless-return": "warn", + "no-with": "error", + "prefer-const": "warn", + "prefer-arrow-callback": "warn", + "no-useless-concat": "warn", + "yoda": ["warn", "never"], + "@stylistic/comma-style": [1, "last"], - "@stylistic/brace-style": [1, "1tbs"], "@stylistic/function-call-spacing": [1, "never"], "@stylistic/no-floating-decimal": "error", "@stylistic/arrow-spacing": [1, { "before": true, "after": true }], - "@stylistic/block-spacing": [1, "always"], "@stylistic/keyword-spacing": [1, { "before": true, "after": true }], - "@stylistic/dot-location": [1, "property"] + "@stylistic/dot-location": [1, "property"], + "@stylistic/comma-dangle": [1, "never"] } }, ]); diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 4ba5c4bc1..038eb716c 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1015,6 +1015,11 @@ "item.tfg.bell_casting_mold": "Bell Casting Mold", "item.tfg.rnr_plow": "Paving Cart", "item.tfg.cobalt_brass_wheel": "Cobalt Brass Wheel", + "item.tfg.cellulose_matrix": "Cellulose Matrix", + "item.tfg.smooth_endoplasmic_reticula": "Smooth Endoplasmic Reticula", + "item.tfg.rough_endoplasmic_reticula": "Rough Endoplasmic Reticula", + "item.tfg.alpha_keratin": "α-Keratin", + "item.tfg.progenitor_cells": "Progenitor Cells", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1104,6 +1109,19 @@ "material.tfg.cooked_mycelienzane": "1,3-Mycelienzane", "material.tfg.iodomethane": "Iodomethane", "material.tfg.trideuteroiodomethane": "Trideuteroiodomethane", + "material.tfg.lauryl_alcohol": "Lauryl Alcohol", + "material.tfg.chlorosulfuric_acid": "Chlorosulfuric Acid", + "material.tfg.sodium_dodecyl_sulfate": "Sodium Dodecyl Sulfate", + "material.tfg.sodium_hypochlorite": "Sodium Hypochlorite", + "material.tfg.mutative_yeast": "Mutative Yeast", + "material.tfg.proto_growth_medium": "Proto Growth Medium", + "material.tfg.fibroblast_feeder_cells": "Fibroblast Feeder Cells", + "material.tfg.gram_stain": "Gram Stain", + "material.tfg.crystal_violet": "Crystal Violet", + "material.tfg.n_n_dimethylaniline": "N,N-Dimethylaniline", + "material.tfg.triglyceride_oil": "Triglyceride Oil", + "material.tfg.cholesterol": "Cholesterol", + "material.tfg.butyric_acid": "Butyric Acid", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1416,6 +1434,7 @@ "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 4096 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.progenitor_cells.mob": "Animal culture: ", "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", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 38c2e1354..ba33104fa 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -678,6 +678,11 @@ "item.tfg.smd_uv_led": "§fLED §dUltravioleta §fSMD", "item.tfg.rnr_plow": "Carrinho Pavimentador", "item.tfg.cobalt_brass_wheel": "Roda de Latão Cobalto", + "item.tfg.cellulose_matrix": "Matriz de Celulose", + "item.tfg.smooth_endoplasmic_reticula": "Retículo Endoplasmático Liso", + "item.tfg.rough_endoplasmic_reticula": "Retículo Endoplasmático Rugoso", + "item.tfg.alpha_keratin": "α-Queratina", + "item.tfg.progenitor_cells": "Células Progenitoras", "material.tfg.latex": "Látex", "material.tfg.vulcanized_latex": "Látex Vulcanizado", "material.tfg.fluix": "Fluix", @@ -745,6 +750,19 @@ "material.tfg.bright_regolith": "Rególito Brilhante", "material.tfg.cassiterite_regolith": "Rególito Cassiterita", "material.tfg.regolith_mush": "Massa de Rególito", + "material.tfg.lauryl_alcohol": "Álcool Laurílico", + "material.tfg.chlorosulfuric_acid": "Ácido Clorossulfúrico", + "material.tfg.sodium_dodecyl_sulfate": "Dodecil Sulfato de Sódio", + "material.tfg.sodium_hypochlorite": "Hipoclorito de Sódio", + "material.tfg.mutative_yeast": "Levedura Mutativa", + "material.tfg.proto_growth_medium": "Meio de Crescimento Proto", + "material.tfg.fibroblast_feeder_cells": "Células Alimentadoras de Fibroblastos", + "material.tfg.gram_stain": "Coloração de Gram", + "material.tfg.crystal_violet": "Cristal Violeta", + "material.tfg.n_n_dimethylaniline": "N,N-Dimetilanilina", + "material.tfg.triglyceride_oil": "Óleo de Triglicerídeos", + "material.tfg.cholesterol": "Colesterol", + "material.tfg.butyric_acid": "Ácido Butírico", "ore_vein.tfg.deep_sheldonite": "Cooperita e Bornita", "ore_vein.tfg.deep_garnet_amethyst": "Ametista e Granada", "ore_vein.tfg.deep_garnet_opal": "Opala e Granada", @@ -1006,6 +1024,7 @@ "tfg.tooltip.wraptor_wool": "§7Colhido das penas de um Distráptor", "tfg.tooltip.wraptor_sugar": "§7Não pense muito a respeito disso", "tfg.tooltip.obsolete.depreciated": "§cObsoleto, não pode mais ser criado", + "tfg.tooltip.progenitor_cells.mob": "Cultura animal: ", "tfg.gui.rnr_plow.random_mode": "Aleatorizar Materiais", "tfg.gui.rnr_plow.width": "Largura do Caminho: %d Blocos", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cFalta Camada Base Triturada!!", diff --git a/kubejs/assets/tfg/models/item/progenitor_cells.json b/kubejs/assets/tfg/models/item/progenitor_cells.json new file mode 100644 index 000000000..2c664165b --- /dev/null +++ b/kubejs/assets/tfg/models/item/progenitor_cells.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/progenitor_cells_0", + "layer1": "tfg:item/progenitor_cells_1", + "layer2": "tfg:item/progenitor_cells_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.crystal_violet.png b/kubejs/assets/tfg/textures/block/fluids/fluid.crystal_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..053ca4753efab26d8b508d57cb607d40a1aa9885 GIT binary patch literal 8294 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.mutative_yeast.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.mutative_yeast.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.mutative_yeast.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.proto_growth_medium.png b/kubejs/assets/tfg/textures/block/fluids/fluid.proto_growth_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..7172a5e9dce3df12bb6313849170b23dc7a499ff GIT binary patch literal 6619 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.proto_growth_medium.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.proto_growth_medium.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.proto_growth_medium.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.triglyceride_oil.png b/kubejs/assets/tfg/textures/block/fluids/fluid.triglyceride_oil.png new file mode 100644 index 0000000000000000000000000000000000000000..da48ed475cfe8366d772f0563d8db893a9e382f1 GIT binary patch literal 18931 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.triglyceride_oil.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.triglyceride_oil.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.triglyceride_oil.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/alpha_keratin.png b/kubejs/assets/tfg/textures/item/alpha_keratin.png new file mode 100644 index 0000000000000000000000000000000000000000..af6c1136a0e7fe55ca143ab003aa92873ceb358b GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7{XAV9Lo9le6BL*XytMwM zn-%>zub}WtKDMt@f>}aBLSja1>xQn!<_>X>?VI-;`~N@Z4bPcFO+0hr8hKuy;Zl<>dU!G>P zVbf*8jbKVy!Lf9YGl{yU%a zlCjfG!mY4z4_i#biJ!9aLQ@&=KONePpJQh$7ZW7f8|hxt)X z%7G&X4menBvEP$+WP_wC4~xtH$xm{4m>0Bdcs0xL&;QTUAD;iZnM1U~B$*jc8b)$Y!~z`)??>gTe~DWM4fEh(>r literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/cellulose_matrix.png b/kubejs/assets/tfg/textures/item/cellulose_matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..d07ee3b47ba5ebab4884c7156b7c665ceca90d7c GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s713g_FLo9lGFP-;3lpu5b z(HR;>2Ul%Y(O!|vyfJinSnda1`{MFCrz&mf8EV38 zVRKI(jbvdVe?_YcUjn}US9FG_Dc(1?b@74w@qYJ*;OpGs2_fgF238oMskMk+&GsbZ(`TH{+}CM=lch|tk~8V z_2AedHvQ9|cK`o<`f~S_#!J7yO0L*D+tM#tZ^I1-U5-P=B~D+RZZ#Dh@8YePqwxE{ zoBva-uCX7#xBk4t+q*pS4$6;fF67oEwDI@Nf5@D{ByV9f<2w5t{R2x+*v-iQcYsG; z<{gl zZ*Opz-Jrp|mw(FXh*J#m2b^bIW-l`QxU!!gPV%-}1R`H4N1s8YeiK%P*1oSHa3+#~@iV z;n^3_EAh_@Ur#LReaxJZWGAm89iUb8=2vsb4i3XhqWs!7N{V9sEXw=g=uzE6SUe9d|B4~-9)zlFD* zo>Bb2`Q*HBEBD6FXS8cje88N}_Tzx~7lVHcg>7P8@(DB885kHCJYD@<);T3K0RRi1 B6>iMT4RUNvd;Rj*6$|L@{rI*_z6V}0)S z+iP^ZD{bW3w~DzcuH5d~A|U&g;lZ2cw`I3qKDqqz$+b0E*Vl)KrtUdc#pQTw^{Po` zZyUae@U=5H%s;p2_uAJ|4*TsrZgmHFRa(dtSk1lVw64ik&}j?v(Q7g95BXmHGH-kE zm&{XIXGCKqvt?$?IPi!ubdgb`t&sjX7H$3&3J=nnHu5i-5~S~Pzg3`U`|ZTNap}#v z2E30Q)oxTU%$O-~w%Jek<-M!R!b7iSt$DqxJo=su!^yP;+zm&X6?e+= zPpU0&^t9o4a4>1(gWo)6^^7lm^XSwwN|^HJT>kaTra<(a$D_viJyY0&CM(FTFiMiU zvFC?~eSk_A`+@UsxSlmeaTd7BtynzSZtHU?X}{))_* z{Cbtm2G8Y|AqE}n4&`3e;z3*8KRVR9oU|)AU0dnUtTlt(iDTvG22uMTysx<2JR5cT2f*Q1Xdm$P;sW!il6%xVSC+nr7w*UY2zrvK4gTXsqR@j?4JhnzTm{`%E5 zeY&`hns7~hJ%6;uvJDS%%(BC6ZrUt3{#MrCc7fi?>=c@*Zb|Nbk-5G7}kn;KgZ|FFX5(_7|EybLX$AKd&rag)wzv)N}i zEc?IYdgrQImsyO~{8geC?7v(%2^UoT-FxF*W49`5Syk#yrFjweI^Y2^iDLL*R4~SgdU1xJ~$y`x?mS5RC%Fi7` z_zs00S)$U#zWc7;+xUV`ef~ANH*(AZ<`yV?RQUM7X_2-j*ReV^h99}VXRatP;P)|} z^j80cQIOn@EzEK@3~$b{JvhkxV4mgaHC%b`^e?18I;dN*fNzC@+={~%9}}k7NVuQd zR9+H4|J0VAe=Ify+Z?`1W_Zq>$~m>dV2y0ThXZQo4>6Y>xHE@+P2q;9wNE(SGC!zS zWBJ&S)1v->F`>+B{q}tiW=}ry=wJfV;lC9QKbHsET-dKJH$(N~1HlT1$~~)Wg!z4f zt2PMSZJIUP<0t#+r$UwUyw^W9xNMa0N&Jk^S!PXD`#Oe_>k_9neK}oc@R8w#eViEo z9+#){|IOAsdTd7jlOO{N_nd!CxlOTpbq@VKr<=F2zPiPf&hOmL9%9hNUh-D_Ci|K{ zN4|gme(xQl{>5aDi#8ulg>U=Vkk@!*WI-W?!{k=nV7a{O^|b6HVAZFIe~5Las+aoYTYRLD+|i_wfZ;Umi9Z zGki>WuFd@NFSp-LZT^Vg(v2rRPh7D`{c+<){t|YZz4eM84|oglSA42?pS)3QTjdAk zy8lgY_bBAc-Fg3)`{ka}%}onxmVEhlOkVQjPY*r*dnJDlo(q>VgTe~DWM4f6D}pI literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/progenitor_cells_1.png.mcmeta b/kubejs/assets/tfg/textures/item/progenitor_cells_1.png.mcmeta new file mode 100644 index 000000000..3c69a2b6a --- /dev/null +++ b/kubejs/assets/tfg/textures/item/progenitor_cells_1.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 2, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/progenitor_cells_2.png b/kubejs/assets/tfg/textures/item/progenitor_cells_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4682edfab2514fe4ea74db298efb21c8481fca3b GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznV0^&A#=yX^M(phw1_p)`o-U3d6?5L+b<8@d zAkua*`{lMxzjjPr^SJC%eOOJS$f?cGeWp(Ev@1zilT?29?(@oTS?7*t6`YH_Ui$Z4 zG-Lh3{cC4^*jaU8&gNBK!Vh$Nt|pY1+r4~jQ8(xJCiW0DZXUXpQUlrID8n%DWI$yAw{TjyxRuuI}rmVWNpW%PcZ}Eoc hKmQ@7?s&~@y+32&YMrg?85kHCJYD@<);T3K0RW)mYI*k85Ah$@`0?Yx*){ctCD4Kc7FRpeb1@aW!itO^PF6B*|uQc{lDjSir>;$AuV);H#2NYi?tqFaw6Y*RKa$kH2QL&eA|b$iMSQu+SCW(rFc5S+6|}+1ZY+ z|9K=b_V;{~71BW!{~eolDGIyyd#f0zOgu2b!)EEZi3cWJxi&c{+P^FQ^T}&}tXVHG z+`BjX+1cYu+d?i*Ed2D8>w26GYeL=^HU@3&ZV|isz*?yTX&05OjQ9@ROuu|e=Jc~E zhVknd0<>@IoO3xjW!ra#nU~C-<#7D<;P*cl>sD5Na=La5@BQUJOwZmqy!U8aWeNA| z>bCH5xy_MVLYnyYKby?`FInb-$+;G}fYmn`&cyHczFHXJ`JdrIO1ysP@q_>VwolKN zW>{l&-|7lST)+EKR*88skH0OQos;vF@x}MD$y;-$P0maW`>znVp(C|;j+E{B4^L*y zG7sDkF=J*@Vp>;(+4U5*7YrY=?HCK(Eo}=08D6LNEq%V8(IDL3bf)Nm);TX;AAJ4s zLg@=7f~-g%cFQ#h4W|T(hqab9j`uj`uDu|zfG(RBqfBlZ<9TGGWlPa z?8-M8bN|N9;Nj_9v8UtI={zmPca`Q-Cu}^(`0~wr>yVEE6;+YpRU8b)!3WAhZXdYu zprOR|<(8e6hI+Gw9}Dd(@pE~)be`9V)zQ;kL*k0M`)@DWBBNp3^8Zw>7!Pwp)yYRU zx4zb}Z3!(g*zD@|Md0L-+4lt3EMl%-yZamO?w-(+iu{zFmh!2u?`mDWQIy|!vD)~G zx0rkX{6%q_3?7#=M))t?xp{-f;y;~B3nae&4d34IR%43Xp)(>9mbFaA!3o*F)fuwo zH^p2{-`K@>Ret}>$hbpZ>kjmCc7~K~*~THhTyDeHZ>DKAqKEa0CrIzL@3r6AG^_r~ zw)VP)&CKr0Zro1Z@v*f+#m%$!@xx { */ function generatePlatedBlockRecipe(event, material) { // firmaciv plated blocks don't have this property - let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) - let outputMaterial = (tfcProperty === null || tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial() + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + const outputMaterial = (tfcProperty === null || tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial() - let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1); - let platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1); - let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1); - let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1); + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1); + const platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1); + const platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1); - if (platedBlock === null) - return + if (platedBlock === null) return; let tfcMetalName = material.getName(); - if (tfcMetalName === "iron") + if (tfcMetalName === "iron") { tfcMetalName = "cast_iron"; + } event.shapeless(platedBlock, ['#forge:stone_bricks', plateItem, '#forge:tools/hammers']) .id(`tfg:shapeless/${material.getName()}_plated_block`) @@ -247,7 +251,7 @@ function generatePlatedBlockRecipe(event, material) { * @param {(material: com.gregtechceu.gtceu.api.data.chemical.material.Material_) => void} iterator */ function forEachMaterial(iterator) { - for (let material of GTCEuAPI.materialManager.getRegisteredMaterials()) { + for (const material of GTCEuAPI.materialManager.getRegisteredMaterials()) { iterator(material) } } @@ -280,7 +284,7 @@ function addCircuitToRecipe(event, recipeId, circuitNumber) { }; event.findRecipes({ id: recipeId }).forEach(recipe => { - let inputsEl = recipe.json.get("inputs"); + const inputsEl = recipe.json.get("inputs"); let inputsObj; if (inputsEl === null || inputsEl.isJsonNull()) { inputsObj = new JsonObject(); @@ -291,7 +295,7 @@ function addCircuitToRecipe(event, recipeId, circuitNumber) { } // Cache existing item inputs. - let itemEl = inputsObj.get("item"); + const itemEl = inputsObj.get("item"); let itemArray; if (itemEl === null || itemEl === undefined || itemEl.isJsonNull()) { itemArray = new JsonArray(); @@ -317,7 +321,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()) { @@ -383,7 +387,7 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, } if (logs && lumber && name) { - event.shapeless(`8x ${lumber}`, + event.shapeless(`8x ${lumber}`, [logs, '#forge:tools/saws'] ).id(`tfg:shapeless/${name}_lumber_from_log`) @@ -391,7 +395,7 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, } if (plank && lumber && name) { - event.shapeless(`4x ${lumber}`, + event.shapeless(`4x ${lumber}`, [plank, '#forge:tools/saws'] ).id(`tfg:shapeless/${name}_lumber_from_plank`) @@ -401,15 +405,15 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, 'AA', 'AA' ], { - A: lumber, + A: lumber }).id(`tfg:shaped/${name}_plank_from_lumber`) } if (slab && lumber && name) { - event.shapeless(`2x ${lumber}`, + event.shapeless(`2x ${lumber}`, [slab, '#forge:tools/saws'] ).id(`tfg:shapeless/${name}_lumber_from_slab`) - + generateCutterRecipe(event, slab, `2x ${lumber}`, 50, 7, `cutter_${name}_lumber_from_slab`) } @@ -417,12 +421,12 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, event.shaped(`6x ${slab}`, [ 'AAA' ], { - A: plank, + A: plank }).id(`tfg:shaped/${name}_slab_from_plank`) } if (stair && lumber && name) { - event.shapeless(`3x ${lumber}`, + event.shapeless(`3x ${lumber}`, [stair, '#forge:tools/saws'] ).id(`tfg:shapeless/${name}_lumber_from_stair`) @@ -435,51 +439,51 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, 'AA ', 'AAA' ], { - A: plank, + A: plank }).id(`tfg:shaped/${name}_stair_from_plank`) } - + if (door && lumber && name) { event.shaped(`2x ${door}`, [ 'AA', 'AA', 'AA' ], { - A: lumber, + A: lumber }).id(`tfg:shaped/${name}_door_from_lumber`) } - + if (trapdoor && lumber && name) { event.shaped(`3x ${trapdoor}`, [ 'AAA', 'AAA' ], { - A: lumber, + A: lumber }).id(`tfg:shaped/${name}_trapdoor_from_lumber_and_plank`) } - + if (fence && lumber && plank && name) { event.shaped(`8x ${fence}`, [ 'ABA', 'ABA' ], { A: lumber, - B: plank, + B: plank }).id(`tfg:shaped/${name}_fence_from_lumber_and_plank`) } - + if (fence_gate && lumber && plank && name) { event.shaped(`2x ${fence_gate}`, [ 'ABA', 'ABA' ], { A: plank, - B: lumber, + B: lumber }).id(`tfg:shaped/${name}_fence_gate_from_lumber_and_plank`) } - + if (support && logs && name) { - event.shapeless(`8x ${support}`, + event.shapeless(`8x ${support}`, [`2x ${logs}`, '#forge:tools/saws'] ).id(`tfg:shapeless/${name}_support_from_logs`) @@ -490,7 +494,7 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, .circuit(4) .EUt(GTValues.VA[GTValues.ULV]) } - + if (pressure_plate && slab && name) { event.shaped(pressure_plate, [ ' B ', @@ -500,7 +504,7 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, A: slab, B: '#forge:tools/hammers', C: '#forge:springs', - D: '#forge:tools/screwdrivers', + D: '#forge:tools/screwdrivers' }).id(`tfg:shaped/${name}_pressure_plate`) event.recipes.gtceu.assembler(`tfg:assembler/${name}_pressure_plate`) @@ -546,30 +550,39 @@ function sterilizeItem(event, input, output, multiplier, cleanroom) { // If there are any errors, log them all and throw once. if (errors.length > 0) { - const message = "sterilizeItem errors:\n - " + errors.join("\n - "); + const message = `sterilizeItem errors:\n - ${ errors.join("\n - ")}`; throw new TypeError(message); }; // Set default multiplier. let recipe_multiplier = 1; - if (multiplier !== undefined) recipe_multiplier = multiplier; + if (multiplier !== undefined) { + recipe_multiplier = multiplier; + } // Create recipes. - let ethanol_recipe = event.recipes.gtceu.chemical_bath(`tfg:ethanol_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + const ethanol_recipe = event.recipes.gtceu.chemical_bath(`tfg:ethanol_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) .itemInputs(input) .inputFluids(Fluid.of('gtceu:ethanol', 500*recipe_multiplier)) .itemOutputs(output) .duration(10*20*recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); - let hydrogen_peroxide_recipe = event.recipes.gtceu.chemical_bath(`tfg:hydrogen_peroxide_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + const hydrogen_peroxide_recipe = event.recipes.gtceu.chemical_bath(`tfg:hydrogen_peroxide_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) .itemInputs(input) .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 200*recipe_multiplier)) .itemOutputs(output) .duration(10*20*recipe_multiplier) .EUt(GTValues.VA[GTValues.MV]); - let autoclave_recipe = event.recipes.gtceu.autoclave(`tfg:autoclave_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + const sodium_dodecyl_sulfate_recipe = event.recipes.gtceu.chemical_bath(`tfg:sodium_dodecyl_sulfate_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) + .itemInputs(input) + .inputFluids(Fluid.of('tfg:sodium_dodecyl_sulfate', 50*recipe_multiplier)) + .itemOutputs(output) + .duration(10*20*recipe_multiplier) + .EUt(GTValues.VA[GTValues.MV]); + + const autoclave_recipe = event.recipes.gtceu.autoclave(`tfg:autoclave_cleaning/${input.replace(':', '_')}_to_${output.replace(':', '_')}`) .itemInputs(input) .perTick(true) .inputFluids(Fluid.of('gtceu:steam', 100*recipe_multiplier)) @@ -581,6 +594,7 @@ function sterilizeItem(event, input, output, multiplier, cleanroom) { if (cleanroom) { ethanol_recipe.cleanroom(cleanroom); hydrogen_peroxide_recipe.cleanroom(cleanroom); + sodium_dodecyl_sulfate_recipe.cleanroom(cleanroom); autoclave_recipe.cleanroom(cleanroom); }; }; diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 7117ad9cd..36c23c485 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -12,6 +12,8 @@ function registerTFCDataForTFG(event) { registerTFGFauna(event); } +//#region Heat Data + /** @param {Internal.TFCDataEventJS} event */ function registerTFGHeatData(event) { event.itemHeat("tfg:latex_soaked_gloves", 1, null, null); @@ -40,6 +42,9 @@ function registerTFGHeatData(event) { event.itemHeat('betterend:cave_pumpkin_pie', 1.0, null, null); } +//#endregion +//#region Item Size + /** @param {Internal.TFCDataEventJS} event */ function registerTFGItemSize(event) { /** @@ -139,7 +144,7 @@ function registerTFGItemSize(event) { "gtceu:red_granite", "gtceu:light_concrete", "gtceu:dark_concrete", - "create:cardboard_block", + "create:cardboard_block" ]) ), "large", @@ -228,7 +233,7 @@ function registerTFGItemSize(event) { "ae2:cable_anchor", "ae2:level_emitter", "ae2:energy_level_emitter", - "expatternprovider:threshold_level_emitter", + "expatternprovider:threshold_level_emitter" ]), "tiny", "very_light", @@ -271,7 +276,7 @@ function registerTFGItemSize(event) { "expatternprovider:precise_export_bus", "expatternprovider:precise_storage_bus", "expatternprovider:threshold_export_bus", - "expatternprovider:oversize_interface_part", + "expatternprovider:oversize_interface_part" ]), "very_small", "very_light", @@ -289,6 +294,9 @@ function registerTFGItemSize(event) { event.itemSize("tfg:vial", "tiny", "light", "tfg/vial"); } +//#endregion +//#region Support Data + //up, down, horizontal /** @param {Internal.TFCDataEventJS} event */ function registerTFGSupportData(event) { @@ -310,6 +318,10 @@ function registerTFGSupportData(event) { event.support(`tfg:${wood.name}_support_horizontal`, 2, 2, 4, `${wood.name}_support`); }); } + +//#endregion +//#region Food Data + /** @param {Internal.TFCDataEventJS} event */ function registerTFGFoodData(event) { // meats @@ -705,8 +717,34 @@ function registerTFGFoodData(event) { effect.duration(200); }); }); + + event.foodItem("tfg:progenitor_cells", (food) => { + food.decayModifier(1); + }); + event.foodItem("tfg:rough_endoplasmic_reticula", (food) => { + food.decayModifier(0.5); + }); + event.foodItem("tfg:smooth_endoplasmic_reticula", (food) => { + food.decayModifier(0.5); + }); + + event.drinkable("tfg:proto_growth_medium", (data) => { + data.thirst(10); + data.food(food => { + food.dairy(5); + food.protein(1); + }); + data.effect("minecraft:absorption", (effect) => { + effect.amplifier(2); + effect.chance(0.25); + effect.duration(1200); + }); + }); } +//#endregion +//#region Crop Data + /** @param {Internal.TFCDataEventJS} event */ function registerTFGCropRanges(event) { // Earth @@ -793,6 +831,9 @@ function registerTFGCropRanges(event) { }, "betterend:shadow_berry"); } +//#endregion +//#region Planter Data + /** @param {Internal.TFCDataEventJS} event */ function registerTFGFLPlanters(event) { event.firmalifePlantable( @@ -808,7 +849,7 @@ function registerTFGFLPlanters(event) { "tfg:block/crop/sunflower_greenhouse_0", "tfg:block/crop/sunflower_greenhouse_1", "tfg:block/crop/sunflower_greenhouse_2", - "tfg:block/crop/sunflower_greenhouse_3", + "tfg:block/crop/sunflower_greenhouse_3" ], null ); @@ -826,7 +867,7 @@ function registerTFGFLPlanters(event) { "tfg:block/crop/rapeseed_greenhouse_0", "tfg:block/crop/rapeseed_greenhouse_1", "tfg:block/crop/rapeseed_greenhouse_2", - "tfg:block/crop/rapeseed_greenhouse_3", + "tfg:block/crop/rapeseed_greenhouse_3" ], null ); @@ -844,7 +885,7 @@ function registerTFGFLPlanters(event) { "tfg:block/crop/flax_age_0", "tfg:block/crop/flax_age_1", "tfg:block/crop/flax_age_5_top", - "tfg:block/crop/flax_age_6_top", + "tfg:block/crop/flax_age_6_top" ], null ); @@ -862,7 +903,7 @@ function registerTFGFLPlanters(event) { "betterend:block/amber_root_0", "betterend:block/amber_root_1", "betterend:block/amber_root_2", - "betterend:block/amber_root_3", + "betterend:block/amber_root_3" ], null ); @@ -880,7 +921,7 @@ function registerTFGFLPlanters(event) { "betterend:block/blossom_berry_seed_0", "betterend:block/blossom_berry_seed_1", "betterend:block/blossom_berry_seed_2", - "betterend:block/blossom_berry_seed_3", + "betterend:block/blossom_berry_seed_3" ], null ); @@ -898,7 +939,7 @@ function registerTFGFLPlanters(event) { "betterend:block/bolux_mushroom_greenhouse_0", "betterend:block/bolux_mushroom_greenhouse_1", "betterend:block/bolux_mushroom_greenhouse_2", - "betterend:block/bolux_mushroom_greenhouse_3", + "betterend:block/bolux_mushroom_greenhouse_3" ], null ); @@ -916,7 +957,7 @@ function registerTFGFLPlanters(event) { "betterend:block/chorus_mushroom_0", "betterend:block/chorus_mushroom_1", "betterend:block/chorus_mushroom_2", - "betterend:block/chorus_mushroom_3", + "betterend:block/chorus_mushroom_3" ], null ); @@ -934,7 +975,7 @@ function registerTFGFLPlanters(event) { "betterend:block/cave_pumpkin_greenhouse_0", "betterend:block/cave_pumpkin_greenhouse_1", "betterend:block/cave_pumpkin_greenhouse_2", - "betterend:block/cave_pumpkin_greenhouse_3", + "betterend:block/cave_pumpkin_greenhouse_3" ], "betterend:block/cave_pumpkin_top" ); @@ -952,12 +993,14 @@ function registerTFGFLPlanters(event) { "betterend:block/shadow_berry_greenhouse_0", "betterend:block/shadow_berry_greenhouse_1", "betterend:block/shadow_berry_greenhouse_2", - "betterend:block/shadow_berry_greenhouse_3", + "betterend:block/shadow_berry_greenhouse_3" ], null ); } +//#endregion +//#region Fauna Data /** @param {Internal.TFCDataEventJS} event */ function registerTFGFauna(event) { @@ -1063,4 +1106,6 @@ function registerTFGFauna(event) { faunaData.solidGround(true) }, "wan_ancient_beasts:glider") -} \ No newline at end of file +} + +//#endregion \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 3c90aa21a..e49d025ee 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -59,6 +59,7 @@ GTCEuStartupEvents.registry('gtceu:material', event => { registerGreateMaterials(event) registerTFGMaterials(event) registerTFGNuclearMaterials(event) + registerTFGBiolineMaterials(event) }) GTCEuStartupEvents.registry('gtceu:material_icon_set', event => { diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index f8b48c889..a862332a8 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -545,4 +545,12 @@ const registerTFGItems = (event) => { .translationKey('item.tfg.advanced_polymer_binder') .texture('tfg:item/graphite_line/advanced_polymer_binder') + //#region Bioline + + event.create('tfg:cellulose_matrix') + event.create('tfg:smooth_endoplasmic_reticula') + event.create('tfg:rough_endoplasmic_reticula') + event.create('tfg:alpha_keratin') + + //#endregion } diff --git a/kubejs/startup_scripts/tfg/materials.bioline.js b/kubejs/startup_scripts/tfg/materials.bioline.js new file mode 100644 index 000000000..593eb40a2 --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials.bioline.js @@ -0,0 +1,113 @@ +// priority: 0 +"use strict"; + +const registerTFGBiolineMaterials = (event) => { + + /* event.create('mysterious_ooze') + .liquid(new GTFluidBuilder().temperature(293)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(293)) + .color(0x500bbf) + .fluidTemp(69420) + .dust() + .cableProperties(GTValues.V[GTValues.LV], 69, 0, true) // Voltage, Amperage, EU loss, Is Superconductor. + .gem(2, 4000) + .element(GTElements.C) + .ore(2, 3) + .color(0x7D2DDB) + .iconSet(GTMaterialIconSet.LIGNITE) + .ingot() + .components('1x andesite', '1x iron') + .color(0x839689) + .iconSet(GTMaterialIconSet.DULL) + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR) + */ + + //#region Decellularization + + event.create('tfg:lauryl_alcohol') + .liquid(new GTFluidBuilder().temperature(293)) + .components('12x carbon', '26x hydrogen', '1x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0x9C734E) + .secondaryColor(0xA12727) + + event.create('tfg:chlorosulfuric_acid') + .liquid(new GTFluidBuilder().temperature(293).attribute(GTFluidAttributes.ACID)) + .components('1x hydrogen', '1x sulfur', '3x oxygen', '1x chlorine') + .iconSet(GTMaterialIconSet.FINE) + .color(0xAA8772) + .secondaryColor(0xF0D5CE) + + event.create('tfg:sodium_dodecyl_sulfate') + .liquid(new GTFluidBuilder().temperature(293)) + .components('12x carbon', '25x hydrogen', '1x sodium', '1x sulfur', '4x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0xCA9851) + .secondaryColor(0xF0D5CE) + + event.create('tfg:sodium_hypochlorite') + .liquid(new GTFluidBuilder().temperature(293)) + .components('1x sodium', '1x oxygen', '1x chlorine') + .iconSet(GTMaterialIconSet.FINE) + .color(0x64995B) + .secondaryColor(0xE5EEAE) + + //#endregion + //#region Basic Feeder Cells + + event.create('tfg:mutative_yeast') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:proto_growth_medium') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:fibroblast_feeder_cells') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + //#endregion + //#region Gram Stain + + event.create('tfg:gram_stain') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:crystal_violet') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .components('25x carbon', '30x hydrogen', '1x chlorine', '3x nitrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:n_n_dimethylaniline') + .liquid(new GTFluidBuilder().temperature(293)) + .components('8x carbon', '11x hydrogen', '1x nitrogen') + .iconSet(GTMaterialIconSet.FINE) + .color(0x525467) + .secondaryColor(0x6B81A1) + + //#endregion + //#region Triglycerides + + event.create('tfg:triglyceride_oil') + .liquid(new GTFluidBuilder().customStill().temperature(293)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:cholesterol') + .dust() + .components('27x carbon', '46x hydrogen', '1x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0x7F86C2) + .secondaryColor(0xE1E7F0) + + event.create('tfg:butyric_acid') + .liquid(new GTFluidBuilder().temperature(293).attribute(GTFluidAttributes.ACID)) + .components('4x carbon', '8x hydrogen', '2x oxygen') + .formula('C3H7COOH') + .iconSet(GTMaterialIconSet.FINE) + .color(0x3F3E3E) + .secondaryColor(0x8E4949) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index f9d443a8e..62cd825eb 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -7,7 +7,7 @@ const registerTFGMaterials = (event) => { .color('0xFFFFFF') .formula('?') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - + event.create('hardwood') .dust() .flags(GTMaterialFlags.FLAMMABLE) From 2e2c2aaa6417e93e43da1c381aff84c824c0d3c3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 8 Nov 2025 12:51:00 +0000 Subject: [PATCH 037/628] I had another think about it and I think tfc-caelum is going to cause problems on big servers if the one guy on a mac can't join --- pakku-lock.json | 138 ------------------------------------------------ 1 file changed, 138 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 662fb573c..3743b7f3d 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2082,70 +2082,6 @@ } ] }, - { - "pakku_id": "wcBgG8cuCWF0fZzB", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "caelum", - "modrinth": "caelum" - }, - "name": { - "curseforge": "Caelum", - "modrinth": "Caelum" - }, - "id": { - "curseforge": "556708", - "modrinth": "Xkw3TXqP" - }, - "export": false, - "files": [ - { - "type": "curseforge", - "file_name": "caelum-1.20.1-2.0.0.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/4674/619/caelum-1.20.1-2.0.0.0.jar", - "id": "4674619", - "parent_id": "556708", - "hashes": { - "sha1": "8b1980f2a91599aea95fecd646b8bc265df7786f", - "md5": "dc2b023ca9c05dcde9ea8260d0dfee4c" - }, - "required_dependencies": [], - "size": 263769, - "date_published": "2023-07-31T16:31:55.127Z" - }, - { - "type": "modrinth", - "file_name": "caelum-1.20.1-2.0.0.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/Xkw3TXqP/versions/7JGuqBG4/caelum-1.20.1-2.0.0.0.jar", - "id": "7JGuqBG4", - "parent_id": "Xkw3TXqP", - "hashes": { - "sha512": "0e22325ba35525201a278de0ec510c38e8c209796a5728ce625d4f57205e79bb726777915c4fe7e83664447849b5802868f213b9215ca491559af84b7e31b28e", - "sha1": "8b1980f2a91599aea95fecd646b8bc265df7786f" - }, - "required_dependencies": [], - "size": 263769, - "date_published": "2023-07-31T16:36:13.789465Z" - } - ] - }, { "pakku_id": "A31UAepqnKniFZnm", "pakku_links": [ @@ -12611,80 +12547,6 @@ } ] }, - { - "pakku_id": "b3PmHj38mOrThdF4", - "pakku_links": [ - "wcBgG8cuCWF0fZzB", - "64uacGcEw697jVGs" - ], - "type": "MOD", - "side": "BOTH", - "slug": { - "curseforge": "tfc-caelum", - "modrinth": "tfc-caelum" - }, - "name": { - "curseforge": "TFC Caelum", - "modrinth": "TFC Caelum" - }, - "id": { - "curseforge": "999031", - "modrinth": "WYvV2Kci" - }, - "export": false, - "files": [ - { - "type": "curseforge", - "file_name": "TFCCaelum-1.20.1-1.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5307/466/TFCCaelum-1.20.1-1.2.jar", - "id": "5307466", - "parent_id": "999031", - "hashes": { - "sha1": "114e10e497503f5ff4cb13850a8dec9bb9f4d625", - "md5": "34b54a06f4f45ccf54edc65cb48b6c89" - }, - "required_dependencies": [ - "556708", - "302973" - ], - "size": 414939, - "date_published": "2024-05-01T15:13:08.827Z" - }, - { - "type": "modrinth", - "file_name": "TFCCaelum-1.20.1-1.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "beta", - "url": "https://cdn.modrinth.com/data/WYvV2Kci/versions/wSasbQOH/TFCCaelum-1.20.1-1.2.jar", - "id": "wSasbQOH", - "parent_id": "WYvV2Kci", - "hashes": { - "sha512": "f1c7153fc07da59677183f9967ca16e189bcf38d961b03931f100b141e9a10ef684dd1d71a6cf8d27cd3d8ceef7670db25d3b6c398f835387ca8ee8936ea0303", - "sha1": "114e10e497503f5ff4cb13850a8dec9bb9f4d625" - }, - "required_dependencies": [ - "JaCEZUhg", - "Xkw3TXqP" - ], - "size": 414939, - "date_published": "2024-08-28T14:04:28.731777Z" - } - ] - }, { "pakku_id": "CPaYKBv7ChV7n8m0", "pakku_links": [ From 4fb6fd438b54a1678eeddc9ebdca2752814f3125 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 8 Nov 2025 19:38:21 +0000 Subject: [PATCH 038/628] add tfc things to notenoughanimations config --- config/notenoughanimations.json | 115 +++++++++++++++++++------------- 1 file changed, 67 insertions(+), 48 deletions(-) diff --git a/config/notenoughanimations.json b/config/notenoughanimations.json index e36e1c413..c72f485ae 100644 --- a/config/notenoughanimations.json +++ b/config/notenoughanimations.json @@ -1,50 +1,69 @@ { - "configVersion": 11, - "animationSmoothingSpeed": 0.2, - "holdingItems": [ - "minecraft:clock", - "minecraft:recovery_compass", - "minecraft:soul_lantern", - "minecraft:compass", - "minecraft:torch", - "minecraft:lantern", - "minecraft:soul_torch" - ], - "enableAnimationSmoothing": true, - "enableInWorldMapRendering": true, - "enableOffhandHiding": true, - "enableRotationLocking": true, - "enableLadderAnimation": true, - "ladderAnimationAmplifier": 0.35, - "ladderAnimationArmHeight": 1.7, - "ladderAnimationArmSpeed": 2.0, - "enableRotateToLadder": true, - "enableEatDrinkAnimation": true, - "enableRowBoatAnimation": true, - "enableHorseAnimation": true, - "dontHoldItemsInBed": true, - "freezeArmsInBed": true, - "rotationLock": "NONE", - "showLastUsedSword": false, - "sheathSwords": [ - "minecraft:golden_sword", - "minecraft:iron_sword", - "minecraft:wooden_sword", - "minecraft:stone_sword", - "minecraft:diamond_sword", - "minecraft:netherite_sword" - ], - "enableCrawlingAnimation": true, - "holdUpItemsMode": "CONFIG", - "holdUpItemOffset": 0.0, - "itemSwapAnimation": true, - "tweakElytraAnimation": true, - "petAnimation": true, - "fallingAnimation": false, - "freezingAnimation": true, - "huggingAnimation": false, - "narutoRunning": false, - "enableInWorldBookRendering": false, - "disableLegSmoothing": false, - "bowAnimation": "VANILLA" + "configVersion": 11, + "animationSmoothingSpeed": 0.2, + "holdingItems": [ + "minecraft:clock", + "minecraft:recovery_compass", + "minecraft:soul_lantern", + "minecraft:compass", + "minecraft:torch", + "minecraft:lantern", + "minecraft:soul_torch", + "tfc:torch", + "minecraft:redstone_torch", + "tfc:metal/lamp/bismuth_bronze", + "tfc:metal/lamp/black_bronze", + "tfc:metal/lamp/black_steel", + "tfc:metal/lamp/blue_steel", + "tfc:metal/lamp/bronze", + "tfc:metal/lamp/copper", + "tfc:metal/lamp/red_steel", + "tfc:metal/lamp/steel", + "tfc:metal/lamp/wrought_iron" + ], + "enableAnimationSmoothing": true, + "enableInWorldMapRendering": true, + "enableOffhandHiding": true, + "enableRotationLocking": true, + "enableLadderAnimation": true, + "ladderAnimationAmplifier": 0.35, + "ladderAnimationArmHeight": 1.7, + "ladderAnimationArmSpeed": 2.0, + "enableRotateToLadder": true, + "enableEatDrinkAnimation": true, + "enableRowBoatAnimation": true, + "enableHorseAnimation": true, + "enableHorseLegAnimation": false, + "dontHoldItemsInBed": true, + "freezeArmsInBed": true, + "rotationLock": "NONE", + "limitRotationLockToFP": true, + "showLastUsedSword": false, + "sheathSwords": [ + "minecraft:golden_sword", + "minecraft:iron_sword", + "minecraft:wooden_sword", + "minecraft:stone_sword", + "minecraft:diamond_sword", + "minecraft:netherite_sword" + ], + "enableCrawlingAnimation": true, + "holdUpItemsMode": "CONFIG", + "holdUpTarget": "CAMERA", + "holdUpCameraOffset": 0.1, + "holdUpOnlySelf": false, + "holdUpItemOffset": 0.0, + "itemSwapAnimation": true, + "tweakElytraAnimation": true, + "petAnimation": true, + "fallingAnimation": false, + "freezingAnimation": true, + "huggingAnimation": false, + "narutoRunning": false, + "disableLegSmoothing": false, + "bowAnimation": "VANILLA", + "customBowRotationLock": false, + "clampCrossbowAnimations": false, + "burningAnimation": true, + "hideItemsForTheseBows": [] } \ No newline at end of file From f3cf51f463df05893c92182540b6923a3e65ad71 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 8 Nov 2025 19:38:59 +0000 Subject: [PATCH 039/628] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51a5f0b91..6516dbdc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - Improved the tag for cleanroom doors @Pyritie - The food oven and refrigerator now emit heat (for TFC ambiental) @Pyritie - Dioxygen Difluoride is now cryogenic and acidic @Pyritie +- Added tfc torches and lamps to Not Enough Animations' config, so now you hold them properly @Coopmore ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie From 2e6d87a525812018d09b0afb56662bda9e838ffc Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sun, 9 Nov 2025 00:51:20 -0600 Subject: [PATCH 040/628] some bioline molecules --- kubejs/assets/tfg/molecules/butyric_acid.json | 84 ++ .../tfg/molecules/chlorosulfuric_acid.json | 76 ++ kubejs/assets/tfg/molecules/cholesterol.json | 483 ++++++++++ .../assets/tfg/molecules/crystal_violet.json | 473 +++++++++ .../assets/tfg/molecules/lauryl_alcohol.json | 180 ++++ .../assets/tfg/molecules/mutative_yeast.json | 664 +++++++++++++ .../tfg/molecules/n_n_dimethylaniline.json | 134 +++ .../tfg/molecules/sodium_dodecyl_sulfate.json | 280 ++++++ .../tfg/molecules/sodium_hypochlorite.json | 48 + .../tfg/molecules/triglyceride_oil.json | 905 ++++++++++++++++++ 10 files changed, 3327 insertions(+) create mode 100644 kubejs/assets/tfg/molecules/butyric_acid.json create mode 100644 kubejs/assets/tfg/molecules/chlorosulfuric_acid.json create mode 100644 kubejs/assets/tfg/molecules/cholesterol.json create mode 100644 kubejs/assets/tfg/molecules/crystal_violet.json create mode 100644 kubejs/assets/tfg/molecules/lauryl_alcohol.json create mode 100644 kubejs/assets/tfg/molecules/mutative_yeast.json create mode 100644 kubejs/assets/tfg/molecules/n_n_dimethylaniline.json create mode 100644 kubejs/assets/tfg/molecules/sodium_dodecyl_sulfate.json create mode 100644 kubejs/assets/tfg/molecules/sodium_hypochlorite.json create mode 100644 kubejs/assets/tfg/molecules/triglyceride_oil.json diff --git a/kubejs/assets/tfg/molecules/butyric_acid.json b/kubejs/assets/tfg/molecules/butyric_acid.json new file mode 100644 index 000000000..92a9efd7d --- /dev/null +++ b/kubejs/assets/tfg/molecules/butyric_acid.json @@ -0,0 +1,84 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.4999 + }, + { + "type": "atom", + "index": 2, + "x": 1.732, + "y": -0.0001 + }, + { + "type": "atom", + "index": 3, + "x": 2.598, + "y": 0.4999 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 5, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chlorosulfuric_acid.json b/kubejs/assets/tfg/molecules/chlorosulfuric_acid.json new file mode 100644 index 000000000..be5d732c1 --- /dev/null +++ b/kubejs/assets/tfg/molecules/chlorosulfuric_acid.json @@ -0,0 +1,76 @@ +{ + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 0.9913, + "y": 0.0015 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.9948, + "y": -0.9993 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "Cl", + "index": 3, + "x": 1.9971, + "y": 0.0045 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 0.9905, + "y": 1.0036 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/cholesterol.json b/kubejs/assets/tfg/molecules/cholesterol.json new file mode 100644 index 000000000..1d223aa9c --- /dev/null +++ b/kubejs/assets/tfg/molecules/cholesterol.json @@ -0,0 +1,483 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "index": 2, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "index": 3, + "x": 1.732, + "y": -1.0 + }, + { + "type": "atom", + "index": 4, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 5, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 2.5981, + "y": -1.5 + }, + { + "type": "atom", + "index": 7, + "x": 3.4641, + "y": -1.0001 + }, + { + "type": "atom", + "index": 8, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "index": 9, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 10, + "x": 4.3302, + "y": 0.5 + }, + { + "type": "atom", + "index": 11, + "x": 4.3302, + "y": 1.5 + }, + { + "type": "atom", + "index": 12, + "x": 3.4642, + "y": 2.0 + }, + { + "type": "atom", + "index": 13, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 14, + "x": -0.866, + "y": -1.5 + }, + { + "type": "atom", + "index": 15, + "x": 1.732, + "y": 1.0 + }, + { + "type": "atom", + "element": "H", + "index": 16, + "x": 2.5981, + "y": -0.5 + }, + { + "type": "atom", + "element": "H", + "index": 17, + "x": 4.3302, + "y": -0.5 + }, + { + "type": "atom", + "index": 18, + "x": 5.2814, + "y": 1.809 + }, + { + "type": "atom", + "index": 19, + "x": 5.8692, + "y": 0.9999 + }, + { + "type": "atom", + "index": 20, + "x": 5.2813, + "y": 0.1908 + }, + { + "type": "atom", + "element": "H", + "index": 21, + "x": 3.4641, + "y": 1.0 + }, + { + "type": "atom", + "index": 22, + "x": 4.3302, + "y": 2.5 + }, + { + "type": "atom", + "index": 23, + "x": 5.5904, + "y": 2.76 + }, + { + "type": "atom", + "index": 24, + "x": 6.5686, + "y": 2.9679 + }, + { + "type": "atom", + "index": 25, + "x": 6.8777, + "y": 3.9189 + }, + { + "type": "atom", + "index": 26, + "x": 7.8558, + "y": 4.1267 + }, + { + "type": "atom", + "index": 27, + "x": 8.1649, + "y": 5.0778 + }, + { + "type": "atom", + "index": 28, + "x": 9.143, + "y": 5.2856 + }, + { + "type": "atom", + "index": 29, + "x": 7.4958, + "y": 5.821 + }, + { + "type": "atom", + "index": 30, + "x": 5.0904, + "y": 3.626 + }, + { + "type": "atom", + "element": "H", + "index": 31, + "x": 6.2814, + "y": 1.809 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 14, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 15, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 9, + "b": 16, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 10, + "b": 17, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 10, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 21, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 11, + "b": 22, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 18, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 30, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 18, + "b": 31, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/crystal_violet.json b/kubejs/assets/tfg/molecules/crystal_violet.json new file mode 100644 index 000000000..1dbecb1e3 --- /dev/null +++ b/kubejs/assets/tfg/molecules/crystal_violet.json @@ -0,0 +1,473 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 3.4654, + "y": 2.9979 + }, + { + "type": "atom", + "index": 1, + "x": 3.4654, + "y": 3.9979 + }, + { + "type": "atom", + "index": 2, + "x": 4.3315, + "y": 2.4979 + }, + { + "type": "atom", + "index": 3, + "x": 2.5994, + "y": 2.4979 + }, + { + "type": "atom", + "index": 4, + "x": 5.1952, + "y": 0.9986 + }, + { + "type": "atom", + "index": 5, + "x": 4.3311, + "y": 1.4972 + }, + { + "type": "atom", + "index": 6, + "x": 6.0624, + "y": 1.4985 + }, + { + "type": "atom", + "index": 7, + "x": 5.2021, + "y": 2.9998 + }, + { + "type": "atom", + "index": 8, + "x": 6.0649, + "y": 2.4942 + }, + { + "type": "atom", + "index": 9, + "x": 0.8691, + "y": 2.4996 + }, + { + "type": "atom", + "index": 10, + "x": 1.733, + "y": 2.9986 + }, + { + "type": "atom", + "index": 11, + "x": 0.8684, + "y": 1.4986 + }, + { + "type": "atom", + "index": 12, + "x": 2.5987, + "y": 1.493 + }, + { + "type": "atom", + "index": 13, + "x": 1.7294, + "y": 0.9985 + }, + { + "type": "atom", + "index": 14, + "x": 2.5994, + "y": 4.4979 + }, + { + "type": "atom", + "index": 15, + "x": 2.5994, + "y": 5.4979 + }, + { + "type": "atom", + "index": 16, + "x": 3.4654, + "y": 5.9979 + }, + { + "type": "atom", + "index": 17, + "x": 4.3315, + "y": 5.4979 + }, + { + "type": "atom", + "index": 18, + "x": 4.3315, + "y": 4.4979 + }, + { + "type": "atom", + "element": "N", + "index": 19, + "x": 3.4655, + "y": 6.9979 + }, + { + "type": "atom", + "element": "N", + "index": 20, + "x": 6.9276, + "y": 0.9971 + }, + { + "type": "atom", + "element": "N", + "index": 21, + "x": 0.0016, + "y": 1.0 + }, + { + "type": "atom", + "index": 22, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 23, + "x": -0.8636, + "y": 1.5014 + }, + { + "type": "atom", + "index": 24, + "x": 2.5994, + "y": 7.4979 + }, + { + "type": "atom", + "index": 25, + "x": 4.3315, + "y": 7.4979 + }, + { + "type": "atom", + "index": 26, + "x": 7.7944, + "y": 1.4957 + }, + { + "type": "atom", + "index": 27, + "x": 6.9259, + "y": -0.0029 + }, + { + "sup": "+", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Cl⁻", + "color": { + "color": -14684129, + "optional": true + }, + "material": "gtceu:chlorine" + }, + "index": 28, + "x": -3.1849, + "y": 3.3734 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 2, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 4, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 3, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 9, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 19, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 27, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/lauryl_alcohol.json b/kubejs/assets/tfg/molecules/lauryl_alcohol.json new file mode 100644 index 000000000..58c6c93be --- /dev/null +++ b/kubejs/assets/tfg/molecules/lauryl_alcohol.json @@ -0,0 +1,180 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "index": 5, + "x": 4.3301, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 5.1961, + "y": 0.0 + }, + { + "type": "atom", + "index": 7, + "x": 6.0622, + "y": 0.5 + }, + { + "type": "atom", + "index": 8, + "x": 6.9282, + "y": 0.0 + }, + { + "type": "atom", + "index": 9, + "x": 7.7942, + "y": 0.5 + }, + { + "type": "atom", + "index": 10, + "x": 8.6602, + "y": 0.0 + }, + { + "type": "atom", + "index": 11, + "x": 9.5263, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 12, + "x": 10.3923, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/mutative_yeast.json b/kubejs/assets/tfg/molecules/mutative_yeast.json new file mode 100644 index 000000000..c5609516e --- /dev/null +++ b/kubejs/assets/tfg/molecules/mutative_yeast.json @@ -0,0 +1,664 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.5, + "y": -0.8661 + }, + { + "type": "atom", + "index": 1, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 2, + "x": 0.0, + "y": -1.7321 + }, + { + "type": "atom", + "index": 3, + "x": 1.0, + "y": -1.7321 + }, + { + "type": "atom", + "index": 4, + "x": 1.8661, + "y": -1.2321 + }, + { + "type": "atom", + "index": 5, + "x": 1.0, + "y": 0.2679 + }, + { + "type": "atom", + "index": 6, + "x": 3.2523, + "y": 2.9223 + }, + { + "type": "atom", + "index": 7, + "x": 2.3862, + "y": 2.4223 + }, + { + "type": "atom", + "index": 8, + "x": 2.3862, + "y": 1.4223 + }, + { + "type": "atom", + "index": 9, + "x": 3.2808, + "y": 0.9937 + }, + { + "type": "atom", + "index": 10, + "x": 4.1183, + "y": 1.4223 + }, + { + "type": "atom", + "index": 11, + "x": 4.3111, + "y": 2.0919 + }, + { + "type": "atom", + "index": 12, + "x": 3.9254, + "y": 2.8901 + }, + { + "type": "atom", + "index": 13, + "x": 3.9438, + "y": -1.5136 + }, + { + "type": "atom", + "index": 14, + "x": 2.9438, + "y": -1.5136 + }, + { + "type": "atom", + "index": 15, + "x": 2.309, + "y": -2.4974 + }, + { + "type": "atom", + "index": 16, + "x": 2.3188, + "y": -3.3733 + }, + { + "type": "atom", + "index": 17, + "x": 2.8813, + "y": -3.9581 + }, + { + "type": "atom", + "index": 18, + "x": 3.8098, + "y": -3.7456 + }, + { + "type": "atom", + "index": 19, + "x": 4.1973, + "y": -2.8921 + }, + { + "type": "atom", + "index": 20, + "x": 4.1973, + "y": -2.1046 + }, + { + "type": "atom", + "index": 21, + "x": 4.2813, + "y": -0.8136 + }, + { + "type": "atom", + "index": 22, + "x": 4.9625, + "y": -0.9011 + }, + { + "type": "atom", + "index": 23, + "x": 5.2563, + "y": -1.5296 + }, + { + "type": "atom", + "index": 24, + "x": 4.8525, + "y": -2.0782 + }, + { + "type": "atom", + "index": 25, + "x": 6.4061, + "y": 0.4514 + }, + { + "type": "atom", + "index": 26, + "x": 7.1865, + "y": 0.2657 + }, + { + "type": "atom", + "index": 27, + "x": 7.365, + "y": -0.5932 + }, + { + "type": "atom", + "index": 28, + "x": 6.7507, + "y": -1.0735 + }, + { + "type": "atom", + "index": 29, + "x": 6.2419, + "y": -0.8235 + }, + { + "type": "atom", + "index": 30, + "x": 5.9419, + "y": -0.0949 + }, + { + "type": "atom", + "index": 31, + "x": 5.9213, + "y": 2.3079 + }, + { + "type": "atom", + "index": 32, + "x": 6.057, + "y": 2.8864 + }, + { + "type": "atom", + "index": 33, + "x": 6.7873, + "y": 3.8079 + }, + { + "type": "atom", + "index": 34, + "x": 7.7873, + "y": 3.8079 + }, + { + "type": "atom", + "index": 35, + "x": 8.1302, + "y": 3.2561 + }, + { + "type": "atom", + "index": 36, + "x": 8.1016, + "y": 2.6276 + }, + { + "type": "atom", + "index": 37, + "x": 7.6284, + "y": 1.8347 + }, + { + "type": "atom", + "index": 38, + "x": 6.8142, + "y": 1.2776 + }, + { + "type": "atom", + "index": 39, + "x": 5.9856, + "y": 1.6793 + }, + { + "type": "atom", + "index": 40, + "x": 2.2786, + "y": -0.2446 + }, + { + "type": "atom", + "index": 41, + "x": 1.4848, + "y": 0.1242 + }, + { + "type": "atom", + "index": 42, + "x": 1.8536, + "y": -0.4633 + }, + { + "type": "atom", + "index": 43, + "x": 1.6813, + "y": 0.5367 + }, + { + "type": "atom", + "index": 44, + "x": 2.1286, + "y": 0.5867 + }, + { + "type": "atom", + "index": 45, + "x": 2.4258, + "y": 0.1929 + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 5, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 30, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 32, + "b": 33, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 33, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 38, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 31, + "b": 39, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 39, + "b": 38, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 5, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 42, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 42, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 42, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 43, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 43, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 10, + "b": 9, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 18, + "b": 17, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 30, + "b": 29, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 32, + "b": 31, + "lines": [ + "outward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/n_n_dimethylaniline.json b/kubejs/assets/tfg/molecules/n_n_dimethylaniline.json new file mode 100644 index 000000000..f73152a17 --- /dev/null +++ b/kubejs/assets/tfg/molecules/n_n_dimethylaniline.json @@ -0,0 +1,134 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.3913, + "y": 1.685 + }, + { + "type": "atom", + "index": 1, + "x": -0.8037, + "y": 0.9705 + }, + { + "type": "atom", + "index": 2, + "x": -0.3912, + "y": 0.256 + }, + { + "type": "atom", + "index": 3, + "x": 0.4337, + "y": 0.2559 + }, + { + "type": "atom", + "index": 4, + "x": 0.8462, + "y": 0.9704 + }, + { + "type": "atom", + "index": 5, + "x": 0.4336, + "y": 1.685 + }, + { + "type": "atom", + "element": "N", + "index": 6, + "x": -1.6287, + "y": 0.9705 + }, + { + "type": "atom", + "index": 7, + "x": -2.0412, + "y": 0.256 + }, + { + "type": "atom", + "index": 8, + "x": -2.0412, + "y": 1.685 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_dodecyl_sulfate.json b/kubejs/assets/tfg/molecules/sodium_dodecyl_sulfate.json new file mode 100644 index 000000000..25a30eddb --- /dev/null +++ b/kubejs/assets/tfg/molecules/sodium_dodecyl_sulfate.json @@ -0,0 +1,280 @@ +{ + "contents": [ + { + "type": "atom", + "element": "S", + "index": 0, + "x": 0.8661, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 1.7321, + "y": 1.0 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 0.3661, + "y": 1.366 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 1.3661, + "y": -0.366 + }, + { + "type": "atom", + "index": 5, + "x": 6.9282, + "y": 1.0 + }, + { + "type": "atom", + "index": 6, + "x": 7.7943, + "y": 0.5 + }, + { + "type": "atom", + "index": 7, + "x": 6.0622, + "y": 0.5 + }, + { + "type": "atom", + "index": 8, + "x": 8.6603, + "y": 1.0 + }, + { + "type": "atom", + "index": 9, + "x": 5.1962, + "y": 1.0 + }, + { + "type": "atom", + "index": 10, + "x": 9.5263, + "y": 0.5 + }, + { + "type": "atom", + "index": 11, + "x": 4.3302, + "y": 0.5 + }, + { + "type": "atom", + "index": 12, + "x": 10.3923, + "y": 1.0 + }, + { + "type": "atom", + "index": 13, + "x": 3.4641, + "y": 1.0 + }, + { + "type": "atom", + "index": 14, + "x": 11.2584, + "y": 0.5 + }, + { + "type": "atom", + "index": 15, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 16, + "x": 12.1244, + "y": 1.0 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 17, + "x": -0.866, + "y": 0.5 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 1, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 16, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_hypochlorite.json b/kubejs/assets/tfg/molecules/sodium_hypochlorite.json new file mode 100644 index 000000000..5dad575b0 --- /dev/null +++ b/kubejs/assets/tfg/molecules/sodium_hypochlorite.json @@ -0,0 +1,48 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "Cl", + "index": 1, + "x": 2.089, + "y": -0.2089 + }, + { + "sup": "-", + "atoms": [ + 0, + 1 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 2, + "x": -0.5, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/triglyceride_oil.json b/kubejs/assets/tfg/molecules/triglyceride_oil.json new file mode 100644 index 000000000..b133fcff6 --- /dev/null +++ b/kubejs/assets/tfg/molecules/triglyceride_oil.json @@ -0,0 +1,905 @@ +{ + "contents": [ + { + "type": "atom", + "element": "C", + "left": [ + "H", + 2 + ], + "index": 0, + "x": 0.0, + "y": 2.5 + }, + { + "type": "atom", + "element": "C", + "left": "H", + "index": 1, + "x": 0.0, + "y": 1.25 + }, + { + "type": "atom", + "element": "C", + "left": [ + "H", + 2 + ], + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 0.8333, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 4, + "x": 0.8333, + "y": 1.25 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 0.8333, + "y": 2.5 + }, + { + "type": "atom", + "index": 6, + "x": 1.6994, + "y": 0.5 + }, + { + "type": "atom", + "index": 7, + "x": 1.6994, + "y": 1.75 + }, + { + "type": "atom", + "index": 8, + "x": 1.6994, + "y": 3.0 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 1.6994, + "y": 3.8 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 1.6994, + "y": 2.55 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 1.6994, + "y": 1.3 + }, + { + "type": "atom", + "index": 12, + "x": 2.5654, + "y": 0.0 + }, + { + "type": "atom", + "index": 13, + "x": 2.5654, + "y": 1.25 + }, + { + "type": "atom", + "index": 14, + "x": 2.5654, + "y": 2.5 + }, + { + "type": "atom", + "index": 15, + "x": 3.4314, + "y": 3.0 + }, + { + "type": "atom", + "index": 16, + "x": 4.2974, + "y": 2.5 + }, + { + "type": "atom", + "index": 17, + "x": 5.1635, + "y": 3.0 + }, + { + "type": "atom", + "index": 18, + "x": 6.0295, + "y": 2.5 + }, + { + "type": "atom", + "index": 19, + "x": 6.8955, + "y": 3.0 + }, + { + "type": "atom", + "index": 20, + "x": 7.7615, + "y": 2.5 + }, + { + "type": "atom", + "index": 21, + "x": 8.6276, + "y": 3.0 + }, + { + "type": "atom", + "index": 22, + "x": 9.6276, + "y": 3.0 + }, + { + "type": "atom", + "index": 23, + "x": 10.4936, + "y": 2.5 + }, + { + "type": "atom", + "index": 24, + "x": 11.3596, + "y": 3.0 + }, + { + "type": "atom", + "index": 25, + "x": 12.2256, + "y": 2.5 + }, + { + "type": "atom", + "index": 26, + "x": 13.0917, + "y": 3.0 + }, + { + "type": "atom", + "index": 27, + "x": 13.9577, + "y": 2.5 + }, + { + "type": "atom", + "index": 28, + "x": 14.8237, + "y": 3.0 + }, + { + "type": "atom", + "index": 29, + "x": 15.6897, + "y": 2.5 + }, + { + "type": "atom", + "index": 30, + "x": 16.5558, + "y": 3.0 + }, + { + "type": "atom", + "index": 31, + "x": 3.4314, + "y": 1.75 + }, + { + "type": "atom", + "index": 32, + "x": 4.2974, + "y": 1.25 + }, + { + "type": "atom", + "index": 33, + "x": 5.1635, + "y": 1.75 + }, + { + "type": "atom", + "index": 34, + "x": 6.0295, + "y": 1.25 + }, + { + "type": "atom", + "index": 35, + "x": 6.8955, + "y": 1.75 + }, + { + "type": "atom", + "index": 36, + "x": 7.7615, + "y": 1.25 + }, + { + "type": "atom", + "index": 37, + "x": 8.6276, + "y": 1.75 + }, + { + "type": "atom", + "index": 38, + "x": 9.6276, + "y": 1.75 + }, + { + "type": "atom", + "index": 39, + "x": 10.4936, + "y": 1.25 + }, + { + "type": "atom", + "index": 40, + "x": 11.3596, + "y": 1.75 + }, + { + "type": "atom", + "index": 41, + "x": 12.2256, + "y": 1.25 + }, + { + "type": "atom", + "index": 42, + "x": 13.0917, + "y": 1.75 + }, + { + "type": "atom", + "index": 43, + "x": 13.9577, + "y": 1.25 + }, + { + "type": "atom", + "index": 44, + "x": 14.8237, + "y": 1.75 + }, + { + "type": "atom", + "index": 45, + "x": 15.6897, + "y": 1.25 + }, + { + "type": "atom", + "index": 46, + "x": 16.5558, + "y": 1.75 + }, + { + "type": "atom", + "index": 47, + "x": 3.4314, + "y": 0.5 + }, + { + "type": "atom", + "index": 48, + "x": 4.2974, + "y": 0.0 + }, + { + "type": "atom", + "index": 49, + "x": 5.1635, + "y": 0.5 + }, + { + "type": "atom", + "index": 50, + "x": 6.0295, + "y": 0.0 + }, + { + "type": "atom", + "index": 51, + "x": 6.8955, + "y": 0.5 + }, + { + "type": "atom", + "index": 52, + "x": 7.7615, + "y": 0.0 + }, + { + "type": "atom", + "index": 53, + "x": 8.6276, + "y": 0.5 + }, + { + "type": "atom", + "index": 54, + "x": 9.6276, + "y": 0.5 + }, + { + "type": "atom", + "index": 55, + "x": 10.4936, + "y": 0.0 + }, + { + "type": "atom", + "index": 56, + "x": 11.3596, + "y": 0.5 + }, + { + "type": "atom", + "index": 57, + "x": 12.2256, + "y": 0.0 + }, + { + "type": "atom", + "index": 58, + "x": 13.0917, + "y": 0.5 + }, + { + "type": "atom", + "index": 59, + "x": 13.9577, + "y": 0.0 + }, + { + "type": "atom", + "index": 60, + "x": 14.8237, + "y": 0.5 + }, + { + "type": "atom", + "index": 61, + "x": 15.6897, + "y": 0.0 + }, + { + "type": "atom", + "index": 62, + "x": 16.5558, + "y": 0.5 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 7, + "b": 10, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 6, + "b": 11, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 6, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 21, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 31, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 32, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 32, + "b": 33, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 33, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 37, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 39, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 42, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 43, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 47, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 48, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 48, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 49, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 50, + "b": 51, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 51, + "b": 52, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 52, + "b": 53, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 54, + "b": 53, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 54, + "b": 55, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 55, + "b": 56, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 56, + "b": 57, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 57, + "b": 58, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 58, + "b": 59, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 59, + "b": 60, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 60, + "b": 61, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 61, + "b": 62, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file From 828a2f119ddf5e543416649e1f93e7ccd220e7f6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 9 Nov 2025 18:08:15 +0000 Subject: [PATCH 041/628] ore updates --- .../entries/tfg_ores/earth_ore_index.json | 8 +-- .../entries/tfg_ores/earth_vein_index.json | 56 ++++++++--------- .../entries/tfg_ores/earth_ore_index.json | 8 +-- .../entries/tfg_ores/earth_vein_index.json | 56 ++++++++--------- .../entries/tfg_ores/earth_ore_index.json | 6 +- .../entries/tfg_ores/earth_vein_index.json | 56 ++++++++--------- .../entries/tfg_ores/earth_ore_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 56 ++++++++--------- .../entries/tfg_ores/earth_ore_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 56 ++++++++--------- .../entries/tfg_ores/earth_ore_index.json | 12 ++-- .../entries/tfg_ores/earth_vein_index.json | 62 +++++++++---------- .../entries/tfg_ores/mars_ore_index.json | 4 +- .../entries/tfg_ores/mars_vein_index.json | 6 +- .../entries/tfg_ores/moon_ore_index.json | 4 +- .../entries/tfg_ores/moon_vein_index.json | 6 +- .../entries/tfg_ores/nether_ore_index.json | 6 +- .../entries/tfg_ores/nether_vein_index.json | 6 +- .../earth/vein/deep_magnetite.json | 31 ++++++++++ .../earth/vein/deep_sapphire.json | 33 +++++++++- .../earth/vein/normal_apatite.json | 10 +-- .../earth/vein/normal_bismuthinite.json | 22 +++---- .../earth/vein/surface_bismuthinite.json | 44 ++++++------- 23 files changed, 309 insertions(+), 247 deletions(-) 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 9489fa748..c58119369 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)85%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)72%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { @@ -29,12 +29,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(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)$()", + "text": "$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)5%$(/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)$()$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(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)$()$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)8%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/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 11d948edc..d3d701b13 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 @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "normal_apatite" @@ -379,7 +379,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 72%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "text": "$(thing)Percentage$(): 70%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", "type": "patchouli:multiblock" }, { @@ -399,7 +399,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 10%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Percentage$(): 11%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -419,7 +419,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 9%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", "type": "patchouli:multiblock" }, { @@ -439,7 +439,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 8%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", + "text": "$(thing)Percentage$(): 9%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", "type": "patchouli:multiblock" }, { @@ -471,7 +471,27 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 85%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Native Silver", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", "type": "patchouli:multiblock" }, { @@ -494,26 +514,6 @@ "text": "$(thing)Percentage$(): 7%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Native Silver", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Sulfur", @@ -737,7 +737,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -2919,7 +2919,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "deep_sapphire" 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 9489fa748..c58119369 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)85%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)72%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { @@ -29,12 +29,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(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)$()", + "text": "$(li)Kyanite: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Lapis: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/earth_vein_index#deep_scheelite)20%$(/l)$()$(li)Magnesite: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Malachite: $(l:tfg_ores/earth_vein_index#deep_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l)$()$(li)Mica: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Molybdenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)Monazite: $(l:tfg_ores/earth_vein_index#normal_monazite)31%$(/l)$()$(li)Native Copper: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Native Silver: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)5%$(/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)$()$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(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)$()$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)8%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/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 11d948edc..d3d701b13 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 @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Size$(): 34$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Apatite & Pyrochlore", "type": "patchouli:text", "anchor": "normal_apatite" @@ -379,7 +379,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 72%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "text": "$(thing)Percentage$(): 70%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", "type": "patchouli:multiblock" }, { @@ -399,7 +399,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 10%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Percentage$(): 11%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -419,7 +419,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 9%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", "type": "patchouli:multiblock" }, { @@ -439,7 +439,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 8%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", + "text": "$(thing)Percentage$(): 9%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", "type": "patchouli:multiblock" }, { @@ -471,7 +471,27 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 85%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Melts into$(): Bismuth$(br)$(thing)Formula$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Native Silver", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", "type": "patchouli:multiblock" }, { @@ -494,26 +514,6 @@ "text": "$(thing)Percentage$(): 7%$(br)$(thing)Smelts into$(): Lead$(br)$(thing)Formula$(): Pb$(br)$(thing)Hazard$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Native Silver", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Silver$(br)$(thing)Formula$(): Ag", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Sulfur", @@ -737,7 +737,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Shale", + "text": "$(thing)Rarity$(): 225$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Chalk, Chert, Claystone, Conglomerate, Dolomite, Limestone, Marble, Shale", "title": "Chromite & Magnetite", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -2919,7 +2919,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite", + "text": "$(thing)Rarity$(): 180$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Size$(): 28$(br)$(thing)Height$(): 8$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Diorite, Rhyolite", "title": "Sapphire & Almandine", "type": "patchouli:text", "anchor": "deep_sapphire" 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 4bcf0b595..28b41de65 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 @@ -19,12 +19,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Bentonita: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Berílio: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)85%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)72%$(/l)$()$(li)Bórax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Chumbo: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Cianita: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()", + "text": "$(li)Bentonita: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Berílio: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Bórax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Chumbo: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Cianita: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Cobalto: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Cooperita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Cromita: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Diamante: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Enxofre: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)8%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Espessartita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Espodumena: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Estanho: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Estibnita: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", + "text": "$(li)Cobalto: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Cooperita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Cromita: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Diamante: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Enxofre: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Espessartita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Espodumena: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Estanho: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Estibnita: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pedra-sabão: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pirita: $(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)Pirocloro: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Polucita: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)5%$(/l)$()$(li)Quartzito: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()", + "text": "$(li)Pedra-sabão: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Pirita: $(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)Pirocloro: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Piropo: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Platina: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Polucita: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Powellita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Prata Nativa: $(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)Quartzito: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rubi: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/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 6438a9686..29168021b 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 @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Tamanho$(): 34$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Tamanho$(): 34$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Apatita e Pirocloro", "type": "patchouli:text", "anchor": "normal_apatite" @@ -498,7 +498,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 72%$(br)$(thing)Derrete em$(): Bismuto$(br)$(thing)Fórmula$(): Bi", + "text": "$(thing)Porcentagem$(): 70%$(br)$(thing)Derrete em$(): Bismuto$(br)$(thing)Fórmula$(): Bi", "type": "patchouli:multiblock" }, { @@ -518,7 +518,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Derrete em$(): Chumbo$(br)$(thing)Fórmula$(): Pb$(br)$(thing)Perigo$(): $(c)$(t:Requer Máscara Facial)Pouco Venenoso (Inalação)$(/t)$()", + "text": "$(thing)Porcentagem$(): 11%$(br)$(thing)Derrete em$(): Chumbo$(br)$(thing)Fórmula$(): Pb$(br)$(thing)Perigo$(): $(c)$(t:Requer Máscara Facial)Pouco Venenoso (Inalação)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -538,7 +538,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 9%$(br)$(thing)Derrete em$(): Prata$(br)$(thing)Fórmula$(): Ag", + "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Derrete em$(): Prata$(br)$(thing)Fórmula$(): Ag", "type": "patchouli:multiblock" }, { @@ -558,7 +558,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 8%$(br)$(thing)Fonte de$(): Enxofre$(br)$(thing)Fórmula$(): S", + "text": "$(thing)Porcentagem$(): 9%$(br)$(thing)Fonte de$(): Enxofre$(br)$(thing)Fórmula$(): S", "type": "patchouli:multiblock" }, { @@ -590,7 +590,27 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 85%$(br)$(thing)Derrete em$(): Bismuto$(br)$(thing)Fórmula$(): Bi", + "text": "$(thing)Porcentagem$(): 80%$(br)$(thing)Derrete em$(): Bismuto$(br)$(thing)Fórmula$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Prata Nativa", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Derrete em$(): Prata$(br)$(thing)Fórmula$(): Ag", "type": "patchouli:multiblock" }, { @@ -613,26 +633,6 @@ "text": "$(thing)Porcentagem$(): 7%$(br)$(thing)Derrete em$(): Chumbo$(br)$(thing)Fórmula$(): Pb$(br)$(thing)Perigo$(): $(c)$(t:Requer Máscara Facial)Pouco Venenoso (Inalação)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Prata Nativa", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 5%$(br)$(thing)Derrete em$(): Prata$(br)$(thing)Fórmula$(): Ag", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Enxofre", @@ -1134,7 +1134,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 225$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz", + "text": "$(thing)Raridade$(): 225$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Tamanho$(): 20$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilito, Calcário, Cherte, Conglomerado, Dolomito, Folhelho, Giz, Mármore", "title": "Cromita e Magnetita", "type": "patchouli:text", "anchor": "deep_magnetite" @@ -3202,7 +3202,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito", + "text": "$(thing)Raridade$(): 180$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio em Disco$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Tamanho$(): 28$(br)$(thing)Altura$(): 8$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Diorito, Riolito", "title": "Safira e Almandina", "type": "patchouli:text", "anchor": "deep_sapphire" 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 808329fcf..7be16b3ef 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Ванадий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Висмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)85%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)72%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гётит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гипс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/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_garnet_tin)25%$(/l)$()$(li)Гранитовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графит: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()", + "text": "$(li)Ванадий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Висмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрамат: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Вульфенит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Гарниерит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гётит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гипс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/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_garnet_tin)25%$(/l)$()$(li)Гранитовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графит: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)5%$(/l)$()$(li)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Сера: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)8%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/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_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибнит: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", + "text": "$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(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)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Сера: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/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_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибнит: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/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 efdaa1ec7..d6c34a39a 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 @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 60$(br)$(thing)Размер$(): 34$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Размер$(): 34$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Апатит и Пирохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -379,7 +379,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 72%$(br)$(thing)Плавится в$(): Висмут$(br)$(thing)Формула$(): Bi", + "text": "$(thing)Процент руды$(): 70%$(br)$(thing)Плавится в$(): Висмут$(br)$(thing)Формула$(): Bi", "type": "patchouli:multiblock" }, { @@ -399,7 +399,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", + "text": "$(thing)Процент руды$(): 11%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -419,7 +419,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Плавится в$(): Серебро$(br)$(thing)Формула$(): Ag", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Плавится в$(): Серебро$(br)$(thing)Формула$(): Ag", "type": "patchouli:multiblock" }, { @@ -439,7 +439,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 8%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -471,7 +471,27 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 85%$(br)$(thing)Плавится в$(): Висмут$(br)$(thing)Формула$(): Bi", + "text": "$(thing)Процент руды$(): 80%$(br)$(thing)Плавится в$(): Висмут$(br)$(thing)Формула$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородная Серебро", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Плавится в$(): Серебро$(br)$(thing)Формула$(): Ag", "type": "patchouli:multiblock" }, { @@ -494,26 +514,6 @@ "text": "$(thing)Процент руды$(): 7%$(br)$(thing)Плавится в$(): Свинец$(br)$(thing)Формула$(): Pb$(br)$(thing)Ядовит$(): $(c)$(t:Requires Face Mask)Weakly Poisonous (Inhalation)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Самородная Серебро", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Серебро$(br)$(thing)Формула$(): Ag", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Сера", @@ -2524,7 +2524,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 26$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит", + "text": "$(thing)Редкость$(): 180$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): -64 — 32$(br)$(thing)Размер$(): 28$(br)$(thing)Высота$(): 8$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Диорит, Риолит", "title": "Сапфир и Альмандин", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3572,7 +3572,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Сланец", + "text": "$(thing)Редкость$(): 225$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -64 — 30$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Конгломерат, Кремнистый сланец, Мел, Мрамор, Сланец", "title": "Хромит и Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" 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 c9d217d7e..af161bcd8 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Ванадієвий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Вісмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)85%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)72%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/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#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гетит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гіпс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/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_garnet_tin)25%$(/l)$()$(li)Гранітний мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()", + "text": "$(li)Ванадієвий магнетит: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Вісмут: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Вольфрам: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/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#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Галена: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)Гарнієрит: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)Гематит: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)Гетит: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)Гіпс: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/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_garnet_tin)25%$(/l)$()$(li)Гранітний мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)Графіт: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородна Золото: $(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)Самородна Мідь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)5%$(/l)$()$(li)Сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинець: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Сіль: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)8%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородна Золото: $(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)Самородна Мідь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородна Срібла: $(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)Сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинець: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Сіль: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Смарагд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Содаліт: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Спесартін: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/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 ced57fa2d..dfc4e3486 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 @@ -131,7 +131,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 60$(br)$(thing)Розмір$(): 34$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Розмір$(): 34$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Апатит і Пірохлор", "type": "patchouli:text", "anchor": "normal_apatite" @@ -379,7 +379,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 72%$(br)$(thing)Розплавляється в$(): Вісмут$(br)$(thing)Формула$(): Bi", + "text": "$(thing)Відсоток$(): 70%$(br)$(thing)Розплавляється в$(): Вісмут$(br)$(thing)Формула$(): Bi", "type": "patchouli:multiblock" }, { @@ -399,7 +399,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Розплавляється в$(): Свинець$(br)$(thing)Формула$(): Pb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібна захисна маска)Слабка отруйність (інгаляція)$(/t)$()", + "text": "$(thing)Відсоток$(): 11%$(br)$(thing)Розплавляється в$(): Свинець$(br)$(thing)Формула$(): Pb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібна захисна маска)Слабка отруйність (інгаляція)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -419,7 +419,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 9%$(br)$(thing)Розплавляється в$(): Срібло$(br)$(thing)Формула$(): Ag", + "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Розплавляється в$(): Срібло$(br)$(thing)Формула$(): Ag", "type": "patchouli:multiblock" }, { @@ -439,7 +439,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 8%$(br)$(thing)Джерело$(): Сірки$(br)$(thing)Формула$(): S", + "text": "$(thing)Відсоток$(): 9%$(br)$(thing)Джерело$(): Сірки$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -471,7 +471,27 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 85%$(br)$(thing)Розплавляється в$(): Вісмут$(br)$(thing)Формула$(): Bi", + "text": "$(thing)Відсоток$(): 80%$(br)$(thing)Розплавляється в$(): Вісмут$(br)$(thing)Формула$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Самородна Срібла", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Розплавляється в$(): Срібло$(br)$(thing)Формула$(): Ag", "type": "patchouli:multiblock" }, { @@ -494,26 +514,6 @@ "text": "$(thing)Відсоток$(): 7%$(br)$(thing)Розплавляється в$(): Свинець$(br)$(thing)Формула$(): Pb$(br)$(thing)Небезпечний$(): $(c)$(t:Потрібна захисна маска)Слабка отруйність (інгаляція)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "Самородна Срібла", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Розплавляється в$(): Срібло$(br)$(thing)Формула$(): Ag", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Сірка", @@ -2469,7 +2469,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 26$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт", + "text": "$(thing)Рідкість$(): 180$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): -64 — 32$(br)$(thing)Розмір$(): 28$(br)$(thing)Висота$(): 8$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Діорит, Ріоліт", "title": "Сапфір і Альмадін", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -3664,7 +3664,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 225$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець", + "text": "$(thing)Рідкість$(): 225$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -64 — 30$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Вапняк, Глинистий сланець, Доломіт, Конгломерат, Крейда, Кременистий сланець, Мармур", "title": "Хроміт і Магнетит", "type": "patchouli:text", "anchor": "deep_magnetite" 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 d6c823865..bee5632bc 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 @@ -14,32 +14,32 @@ }, { "Type": "patchouli:text", - "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(l:tfg_ores/earth_vein_index#normal_silver)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)5%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()", + "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(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)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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)$()$(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#normal_saltpeter)25%$(/l)$()$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()", + "text": "$(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)$()$(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)$()$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)8%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()", + "text": "$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/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#normal_apatite)50%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷灰石: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()", + "text": "$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)蓝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)85%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)72%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", + "text": "$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)铯榴石: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()", + "text": "$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)铯榴石: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/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 b73f09c02..92c47d1b9 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,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(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)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)硝石, 电石$()$()", + "text": "$(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)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)硝石, 蓝石$()$()", "type": "patchouli:text" }, { @@ -1011,7 +1011,7 @@ { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", - "title": "硝石, 电石", + "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "normal_saltpeter" }, @@ -1057,7 +1057,7 @@ }, { "Type": "patchouli:multiblock", - "name": "电石", + "name": "蓝石", "multiblock": { "mapping": { "0": "#forge:ores/electrotine" @@ -1328,7 +1328,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -32 — 60$(br)$(thing)尺寸$(): 34$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 170$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)尺寸$(): 34$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "磷灰石, 烧绿石", "type": "patchouli:text", "anchor": "normal_apatite" @@ -1713,7 +1713,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 26$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩", + "text": "$(thing)稀有度$(): 180$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): -64 — 32$(br)$(thing)尺寸$(): 28$(br)$(thing)高度$(): 8$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 英安岩, 闪长岩", "title": "蓝宝石, 铁铝榴石", "type": "patchouli:text", "anchor": "deep_sapphire" @@ -2302,7 +2302,27 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 85%$(br)$(thing)熔化$(): 铋$(br)$(thing)化学式$(): Bi", + "text": "$(thing)百分比$(): 80%$(br)$(thing)熔化$(): 铋$(br)$(thing)化学式$(): Bi", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "原生银", + "multiblock": { + "mapping": { + "0": "#forge:ores/silver" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 10%$(br)$(thing)熔化$(): 银$(br)$(thing)化学式$(): Ag", "type": "patchouli:multiblock" }, { @@ -2325,26 +2345,6 @@ "text": "$(thing)百分比$(): 7%$(br)$(thing)熔化$(): 铅$(br)$(thing)化学式$(): Pb$(br)$(thing)危害$(): $(c)$(t:需要面罩)弱毒性 (吸入)$(/t)$()", "type": "patchouli:multiblock" }, - { - "Type": "patchouli:multiblock", - "name": "原生银", - "multiblock": { - "mapping": { - "0": "#forge:ores/silver" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)百分比$(): 5%$(br)$(thing)熔化$(): 银$(br)$(thing)化学式$(): Ag", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "硫", @@ -2394,7 +2394,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 72%$(br)$(thing)熔化$(): 铋$(br)$(thing)化学式$(): Bi", + "text": "$(thing)百分比$(): 70%$(br)$(thing)熔化$(): 铋$(br)$(thing)化学式$(): Bi", "type": "patchouli:multiblock" }, { @@ -2414,7 +2414,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 10%$(br)$(thing)熔化$(): 铅$(br)$(thing)化学式$(): Pb$(br)$(thing)危害$(): $(c)$(t:需要面罩)弱毒性 (吸入)$(/t)$()", + "text": "$(thing)百分比$(): 11%$(br)$(thing)熔化$(): 铅$(br)$(thing)化学式$(): Pb$(br)$(thing)危害$(): $(c)$(t:需要面罩)弱毒性 (吸入)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2434,7 +2434,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 9%$(br)$(thing)熔化$(): 银$(br)$(thing)化学式$(): Ag", + "text": "$(thing)百分比$(): 10%$(br)$(thing)熔化$(): 银$(br)$(thing)化学式$(): Ag", "type": "patchouli:multiblock" }, { @@ -2454,7 +2454,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 8%$(br)$(thing)来源$(): 硫$(br)$(thing)化学式$(): S", + "text": "$(thing)百分比$(): 9%$(br)$(thing)来源$(): 硫$(br)$(thing)化学式$(): S", "type": "patchouli:multiblock" }, { @@ -2899,7 +2899,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 225$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", + "text": "$(thing)稀有度$(): 225$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — 30$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 大理岩, 燧石, 白云岩, 白垩岩, 石灰岩, 砾岩, 粘土岩, 页岩", "title": "铬铁矿, 磁铁矿", "type": "patchouli:text", "anchor": "deep_magnetite" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json index a00857e73..d269c420a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json @@ -19,12 +19,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)电石: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", + "text": "$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()", + "text": "$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()", "type": "patchouli:text" }, { 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 62de57648..2491654a3 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)辉铋矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)金矿, 电石, 铝土矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)铁铝榴石, 蓝宝石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)闪锌矿, 方铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)黝铜矿 (普通)$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)辉铋矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)金矿, 蓝石, 铝土矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)铁铝榴石, 蓝宝石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)闪锌矿, 方铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)黝铜矿 (普通)$()$()", "type": "patchouli:text" }, { @@ -1494,7 +1494,7 @@ { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 230$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 40$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 燧石, 白垩岩, 粘土岩, 花岗岩, 辉长岩, 闪长岩, 页岩", - "title": "金矿, 电石, 铝土矿", + "title": "金矿, 蓝石, 铝土矿", "type": "patchouli:text", "anchor": "mars_sapphire" }, @@ -1540,7 +1540,7 @@ }, { "Type": "patchouli:multiblock", - "name": "电石", + "name": "蓝石", "multiblock": { "mapping": { "0": "#forge:ores/electrotine" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json index 22bbfd0a7..0eead74c1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json @@ -19,12 +19,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)氟碳镧铈矿: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)沸石: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)滑石: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)烧绿石: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)独居石: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)电石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()$(li)白钨矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)皂石: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)石膏: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)石英岩: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)石墨: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()", + "text": "$(li)氟碳镧铈矿: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)沸石: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)滑石: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)烧绿石: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)独居石: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)白钨矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)皂石: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)石膏: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)石英岩: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)石墨: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)硫铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)硼砂: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)紫水晶: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)红石: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()", + "text": "$(li)硼砂: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)紫水晶: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)红石: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)蓝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json index 614cda701..057cc3959 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_desh)戴斯矿, 钛铁矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_saltpeter)硝石, 电石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)紫水晶, 蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sapphire)蓝宝石, 铁铝榴石$()$()", + "text": "$(li)$(l:tfg_ores/moon_vein_index#moon_desh)戴斯矿, 钛铁矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnierite)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_saltpeter)硝石, 蓝石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sheldonite)硫铂矿, 斑铜矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_garnet)紫水晶, 蛋白石, 石榴石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_redstone)红石, 朱砂, 红宝石$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_beryllium)绿宝石, 铍矿$()$()$(li)$(l:tfg_ores/moon_vein_index#moon_sapphire)蓝宝石, 铁铝榴石$()$()", "type": "patchouli:text" }, { @@ -669,13 +669,13 @@ { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 90$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 50$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 苏长岩, 英安岩", - "title": "硝石, 电石", + "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "moon_saltpeter" }, { "Type": "patchouli:multiblock", - "name": "电石", + "name": "蓝石", "multiblock": { "mapping": { "0": "#forge:ores/electrotine" diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json index 2b0db1dc7..bcf563877 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json @@ -19,17 +19,17 @@ }, { "Type": "patchouli:text", - "text": "$(li)晶质铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/nether_vein_index#nether_monazite)50%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/nether_vein_index#nether_lubricant)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)独居石: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)35%$(/l)$()$(li)电石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)白钨矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()", + "text": "$(li)晶质铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/nether_vein_index#nether_monazite)50%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/nether_vein_index#nether_lubricant)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)独居石: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)皂石: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)石棉: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)石墨: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)硅岩: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)硅藻土: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)硼砂: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()", + "text": "$(li)石棉: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)石墨: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)硅岩: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)硅藻土: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)硼砂: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷灰石: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/nether_vein_index#nether_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)蓝金石: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()", + "text": "$(li)磷酸三钙: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/nether_vein_index#nether_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)蓝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)蓝金石: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()", "type": "patchouli:text" }, { 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 661a6f882..8da28a074 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_quartz)下界石英$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_anthracite)无烟煤$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)晶质铀矿, 沥青铀矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnet_tin)石榴石, 锡石矿砂$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_basaltic_sands)矿砂$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_naquadah)硅岩$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnierite)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)硝石, 电石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)硫, 黄铁矿$()$()", + "text": "$(li)$(l:tfg_ores/nether_vein_index#nether_quartz)下界石英$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_anthracite)无烟煤$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_pitchblende)晶质铀矿, 沥青铀矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_monazite)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_scheelite)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_lubricant)皂石, 滑石, 天然碱$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnet_tin)石榴石, 锡石矿砂$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_gypsum)石膏, 方解石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_basaltic_sands)矿砂$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_naquadah)硅岩$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_garnierite)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_saltpeter)硝石, 蓝石$()$()$(li)$(l:tfg_ores/nether_vein_index#nether_sulfur)硫, 黄铁矿$()$()", "type": "patchouli:text" }, { @@ -909,7 +909,7 @@ { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 210$(br)$(thing)密度$(): 0.4$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 32 — 128$(br)$(thing)尺寸$(): 50$(br2)$(thing)岩石类型$(): 片岩, 片麻岩, 花岗岩, 辉石岩, 辉长岩, 闪长岩", - "title": "硝石, 电石", + "title": "硝石, 蓝石", "type": "patchouli:text", "anchor": "nether_saltpeter" }, @@ -955,7 +955,7 @@ }, { "Type": "patchouli:multiblock", - "name": "电石", + "name": "蓝石", "multiblock": { "mapping": { "0": "#forge:ores/electrotine" diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json index 509014563..83e4c7a62 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_magnetite.json @@ -225,6 +225,37 @@ "weight": 5 } ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_magnetite_ore", + "weight": 5 + }, + { + "block": "gtceu:marble_vanadium_magnetite_ore", + "weight": 15 + }, + { + "block": "gtceu:marble_chromite_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_chromite_block", + "weight": 1 + }, + { + "block": "gtceu:marble_gold_ore", + "weight": 15 + }, + { + "block": "gtceu:marble_sapphire_ore", + "weight": 5 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json index 1e8917ce4..f1e37c9cc 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/deep_sapphire.json @@ -7,7 +7,7 @@ "rarity": 180, "density": 0.35, "min_y": -64, - "max_y": 26, + "max_y": 32, "random_name": "deep_sapphire", "blocks": [ { @@ -134,6 +134,37 @@ "weight": 15 } ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_almandine_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_almandine_block", + "weight": 1 + }, + { + "block": "gtceu:diorite_pyrope_ore", + "weight": 25 + }, + { + "block": "gtceu:raw_pyrope_block", + "weight": 1 + }, + { + "block": "gtceu:diorite_sapphire_ore", + "weight": 15 + }, + { + "block": "gtceu:diorite_green_sapphire_ore", + "weight": 15 + } + ] } ], "indicator": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json index 4696daff8..8e5628efd 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_apatite.json @@ -3,10 +3,10 @@ "type": "tfc:cluster_vein", "config": { "size": 34, - "rarity": 220, + "rarity": 170, "density": 0.25, - "min_y": -32, - "max_y": 60, + "min_y": 20, + "max_y": 120, "random_name": "normal_apatite", "blocks": [ { @@ -218,8 +218,8 @@ } ], "indicator": { - "rarity": 15, - "depth": 20, + "rarity": 12, + "depth": 60, "underground_rarity": 40, "underground_count": 200, "blocks": [ diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json index 49d26d4ac..3b790d873 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_bismuthinite.json @@ -16,7 +16,7 @@ "with": [ { "block": "gtceu:granite_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:granite_sulfur_ore", @@ -39,7 +39,7 @@ "with": [ { "block": "gtceu:diorite_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:diorite_sulfur_ore", @@ -62,7 +62,7 @@ "with": [ { "block": "gtceu:gabbro_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:gabbro_sulfur_ore", @@ -85,7 +85,7 @@ "with": [ { "block": "gtceu:shale_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:shale_sulfur_ore", @@ -108,7 +108,7 @@ "with": [ { "block": "gtceu:claystone_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:claystone_sulfur_ore", @@ -131,7 +131,7 @@ "with": [ { "block": "gtceu:limestone_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:limestone_sulfur_ore", @@ -154,7 +154,7 @@ "with": [ { "block": "gtceu:conglomerate_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:conglomerate_sulfur_ore", @@ -177,7 +177,7 @@ "with": [ { "block": "gtceu:dolomite_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:dolomite_sulfur_ore", @@ -200,7 +200,7 @@ "with": [ { "block": "gtceu:chert_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:chert_sulfur_ore", @@ -223,7 +223,7 @@ "with": [ { "block": "gtceu:chalk_bismuth_ore", - "weight": 80 + "weight": 70 }, { "block": "gtceu:chalk_sulfur_ore", @@ -248,7 +248,7 @@ "blocks": [ { "block": "tfc:ore/small_bismuthinite", - "weight": 80 + "weight": 70 }, { "block": "gtceu:sulfur_indicator", diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json index ba1b76dd5..e1795b96b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json @@ -16,7 +16,7 @@ "with": [ { "block": "gtceu:granite_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:granite_sulfur_ore", @@ -28,7 +28,7 @@ }, { "block": "gtceu:granite_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -39,7 +39,7 @@ "with": [ { "block": "gtceu:diorite_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:diorite_sulfur_ore", @@ -51,7 +51,7 @@ }, { "block": "gtceu:diorite_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -62,7 +62,7 @@ "with": [ { "block": "gtceu:gabbro_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:gabbro_sulfur_ore", @@ -74,7 +74,7 @@ }, { "block": "gtceu:gabbro_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -85,7 +85,7 @@ "with": [ { "block": "gtceu:shale_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:shale_sulfur_ore", @@ -97,7 +97,7 @@ }, { "block": "gtceu:shale_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -108,7 +108,7 @@ "with": [ { "block": "gtceu:claystone_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:claystone_sulfur_ore", @@ -120,7 +120,7 @@ }, { "block": "gtceu:claystone_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -131,7 +131,7 @@ "with": [ { "block": "gtceu:limestone_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:limestone_sulfur_ore", @@ -143,7 +143,7 @@ }, { "block": "gtceu:limestone_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -154,7 +154,7 @@ "with": [ { "block": "gtceu:conglomerate_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:conglomerate_sulfur_ore", @@ -166,7 +166,7 @@ }, { "block": "gtceu:conglomerate_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -177,7 +177,7 @@ "with": [ { "block": "gtceu:dolomite_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:dolomite_sulfur_ore", @@ -189,7 +189,7 @@ }, { "block": "gtceu:dolomite_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -200,7 +200,7 @@ "with": [ { "block": "gtceu:chert_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:chert_sulfur_ore", @@ -212,7 +212,7 @@ }, { "block": "gtceu:chert_silver_ore", - "weight": 5 + "weight": 10 } ] }, @@ -223,7 +223,7 @@ "with": [ { "block": "gtceu:chalk_bismuth_ore", - "weight": 85 + "weight": 80 }, { "block": "gtceu:chalk_sulfur_ore", @@ -235,7 +235,7 @@ }, { "block": "gtceu:chalk_silver_ore", - "weight": 5 + "weight": 10 } ] } @@ -248,7 +248,7 @@ "blocks": [ { "block": "tfc:ore/small_bismuthinite", - "weight": 85 + "weight": 80 }, { "block": "gtceu:sulfur_indicator", @@ -260,7 +260,7 @@ }, { "block": "tfc:ore/small_native_silver", - "weight": 5 + "weight": 10 } ] } From fbc456723d140da9e16519540155f36db03aa59a Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 9 Nov 2025 12:22:17 -0600 Subject: [PATCH 042/628] Fluid tag unification (#2194) * eslint change * utility scripts * cleanup * beaker fluid change --- eslint.config.js | 3 - kubejs/server_scripts/firmalife/tags.js | 4 +- kubejs/server_scripts/gregtech/tags.js | 3 +- kubejs/server_scripts/tfc/tags.js | 186 +++++++++++++++++++----- kubejs/server_scripts/tfg/tags.js | 30 +--- kubejs/startup_scripts/tfg/items.js | 10 +- 6 files changed, 160 insertions(+), 76 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 308ee087b..3c926d948 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -21,7 +21,6 @@ export default defineConfig([ "no-var": "warn", "prefer-template": "warn", "no-unreachable-loop": "warn", - "no-useless-assignment": "warn", "no-self-compare": "warn", "no-template-curly-in-string": "error", "no-unmodified-loop-condition": "warn", @@ -45,11 +44,9 @@ export default defineConfig([ "no-eval": "error", "no-implied-eval": "error", "no-lone-blocks": "warn", - "no-multi-spaces": "warn", "no-return-assign": "warn", "no-useless-return": "warn", "no-with": "error", - "prefer-const": "warn", "prefer-arrow-callback": "warn", "no-useless-concat": "warn", "yoda": ["warn", "never"], diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 5b79901fd..100c1380d 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -76,13 +76,15 @@ const registerFirmaLifeFluidTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') event.add('c:hidden_from_recipe_viewers', 'firmalife:chocolate') + // Im going to leave these, but I dont think this tag does anything(?). event.add('firmalife:mixable', 'tfc:spring_water') event.add('firmalife:mixable', 'tfcchannelcasting:white_chocolate') event.add('firmalife:mixable', 'tfcchannelcasting:milk_chocolate') event.add('firmalife:mixable', 'tfcchannelcasting:dark_chocolate') event.add('firmalife:mixable', 'afc:maple_syrup') event.add('firmalife:mixable', 'afc:birch_syrup') - event.add('firmalife:usable_in_mixing_bowl', 'gtceu:seed_oil') event.add('firmalife:oils', 'gtceu:seed_oil') + event.add('firmalife:oils', 'gtceu:fish_oil') + event.add('firmalife:oils', 'tfg:triglyceride_oil') } diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index ac1ab69ac..41fc339d0 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -135,5 +135,4 @@ function registerGTCEUFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "gtceu:blaze"); event.add("c:hidden_from_recipe_viewers", "gtceu:thorium"); - event.add('firmalife:usable_in_mixing_bowl', 'gtceu:concrete') -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index de1e0b940..259a8fe0b 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -537,57 +537,165 @@ function registerTFCFluidTags(event) { event.add("tfc:usable_in_tool_head_mold", "gtceu:black_bronze"); event.add("tfc:usable_in_tool_head_mold", "gtceu:bronze"); + /********************************************************************************************************** + * + * Utility functions to classify fluids into tags based on temperature and properties. + * * * Seperates fluids into hot, cold, neutral, and acidic fluid tags. + * * * Uses these tags to determine usability in different containers. + * + ***********************************************************************************************************/ + const $FluidState = Java.loadClass("com.gregtechceu.gtceu.api.fluids.FluidState") const $FluidAttribute = Java.loadClass("com.gregtechceu.gtceu.api.fluids.attribute.FluidAttributes") + const ForgeRegistries = Java.loadClass('net.minecraftforge.registries.ForgeRegistries'); + const FluidStack = Java.loadClass('net.minecraftforge.fluids.FluidStack'); forEachMaterial(material => { if (material.hasProperty(PropertyKey.FLUID)) { let fluid = material.getFluid(); - - // Ignore gases let fluidType = fluid.getFluidType(); - if (fluidType.isLighterThanAir()) - return; - - // Check for acids - try { - // This is in a try catch because I don't know how to check if an object is of type - // AttributedFluid or GTFluid here - if (fluid.getAttributes().contains($FluidAttribute.ACID)) - return; - } - catch (exception) { - return; - } - - // Check for plasmas (and gases again in case the previous check didn't work) - let fluidState = fluid.getState(); - if (fluidState === $FluidState.PLASMA || fluidState === $FluidState.GAS) - return; - let fluidName = fluidType.toString(); - let temperature = fluidType.getTemperature(); - - // 340 is the max temperature of wood pipes - // 120 is the cryogenic temperature threshold (see gtceu/FluidConstants) - if (temperature <= 340 && temperature >= 120) { - event.add("tfc:usable_in_barrel", fluidName); - event.add("tfc:usable_in_wooden_bucket", fluidName); - } - - // Red steel's max temperature, can do cryo - if (temperature <= 370) { - event.add("tfc:usable_in_red_steel_bucket", fluidName); - } - - // Blue steel's max temp, can't do cryo - if (temperature <= 4618 && temperature >= 120) { - event.add("tfc:usable_in_blue_steel_bucket", fluidName); + + // Tags acidic fluids. + try { + if (fluid.getAttributes().contains($FluidAttribute.ACID)) { + event.add("forge:acidic", fluidName); + }; } + catch (exception) { /* empty */ } } }) - event.add("tfc:usable_in_pot", "gtceu:ice"); + ForgeRegistries.FLUIDS.getValues().forEach(fluid => { + + // Determine if fluid is hot or not. (pun intended) + const hotFluids = (fluid) => { + + let temp = -1; + try { + temp = fluid.getFluidType().getTemperature(); + } catch (e1) { + try { + temp = fluid.getFluidType().getTemperature(new FluidStack(fluid, 1000)); + } catch (e2) { + temp = -1; + } + } + + const id = ForgeRegistries.FLUIDS.getKey(fluid); + + if (!id) return; + + // Return if fluid is hidden from recipe viewers. + const idString = id.toString(); + + let hiddenWrapper; + try { hiddenWrapper = event.get('c:hidden_from_recipe_viewers'); } catch (e) { /* ignore */ } + + const wrapperHas = (wrapper) => { + if (!wrapper) return false; + try { return wrapper.getObjectIds().toArray().some(wid => String(wid) === idString); } catch (e) { return false; } + }; + + if (wrapperHas(hiddenWrapper)) return; + + const idStr = id.toString(); + + // Temp testing. + // Not extreme temps. + if (temp <= 340 && temp >= 120) { + event.add("tfg:moderate_temperature_fluids", idStr); + } + // Red steel: can't do heat, can do cryo. + if (temp <= 370) { + event.add("tfc:usable_in_red_steel_bucket", idStr); + } + // Burns ya. + if (temp >= 370) { + event.add("tfchotornot:hot_whitelist", idStr); + } + // Blue steel: can do heat, can't do cryo. + if (temp >= 120) { + event.add("tfc:usable_in_blue_steel_bucket", idStr); + } + }; + + // Determine if fluid is a gas or a plasma, and tag accordingly. + const liquidTag = (fluid) => { + const id = ForgeRegistries.FLUIDS.getKey(fluid); + if (!id) return; + const idString = id.toString(); + + // Check against tag wrappers for gas and plasma fluids. + let gaseousWrapper, plasmaticWrapper, hiddenWrapper; + try { gaseousWrapper = event.get('forge:gaseous'); } catch (e) { /* ignore */ } + try { plasmaticWrapper = event.get('forge:plasmatic'); } catch (e) { /* ignore */ } + try { hiddenWrapper = event.get('c:hidden_from_recipe_viewers'); } catch (e) { /* ignore */ } + + const wrapperHas = (wrapper) => { + if (!wrapper) return false; + try { return wrapper.getObjectIds().toArray().some(wid => String(wid) === idString); } catch (e) { return false; } + }; + + const isGaseous = wrapperHas(gaseousWrapper); + const isPlasmatic = wrapperHas(plasmaticWrapper); + const isHidden = wrapperHas(hiddenWrapper); + + if (isGaseous || isPlasmatic || isHidden) return; + event.add('forge:liquid', idString); + }; + + // Determine if fluid is neutral (not gas, plasma, acidic, or extreme temp), and tag accordingly. + const neutralTag = (fluid) => { + const id = ForgeRegistries.FLUIDS.getKey(fluid); + if (!id) return; + const idString = id.toString(); + + // Check against tag wrappers for gas, plasma, acidic, and normal temp fluids. + let acidicWrapper, moderateTemperatureWrapper, gaseousWrapper, plasmaticWrapper, hiddenWrapper; + try { acidicWrapper = event.get('forge:acidic'); } catch (e) { /* ignore */ } + try { moderateTemperatureWrapper = event.get('tfg:moderate_temperature_fluids'); } catch (e) { /* ignore */ } + try { gaseousWrapper = event.get('forge:gaseous'); } catch (e) { /* ignore */ } + try { plasmaticWrapper = event.get('forge:plasmatic'); } catch (e) { /* ignore */ } + try { hiddenWrapper = event.get('c:hidden_from_recipe_viewers'); } catch (e) { /* ignore */ } + + const wrapperHas = (wrapper) => { + if (!wrapper) return false; + try { return wrapper.getObjectIds().toArray().some(wid => String(wid) === idString); } catch (e) { return false; } + }; + + const isAcidic = wrapperHas(acidicWrapper); + const isExtreme = !wrapperHas(moderateTemperatureWrapper); + const isGaseous = wrapperHas(gaseousWrapper); + const isPlasmatic = wrapperHas(plasmaticWrapper); + const isHidden = wrapperHas(hiddenWrapper); + + if (isGaseous || isPlasmatic || isAcidic || isExtreme || isHidden) return; + event.add('forge:neutral_fluids', idString); + }; + + // Execute tagging functions. + hotFluids(fluid); + liquidTag(fluid); + neutralTag(fluid); + }); + + // Can use any liquid. + event.add('tfc:usable_in_pot', '#forge:liquid') + event.add('firmalife:usable_in_vat', '#forge:liquid') + + // Can use only neutral fluids. + event.add('tfc:usable_in_barrel', '#forge:neutral_fluids'); + event.add('tfc:usable_in_wooden_bucket', '#forge:neutral_fluids'); + event.add('firmalife:usable_in_mixing_bowl', '#forge:neutral_fluids'); + + // All fluids are given the '#tfg:not_solid' tag incase we have a use for them regardless of state. + event.add('tfg:not_solid', '#forge:liquid') + event.add('tfg:not_solid', '#forge:gaseous') + event.add('tfg:not_solid', '#forge:plasmatic') + + /***********************************************************************************************************/ + event.add("tfc:ingredients", "tfc:spring_water"); event.add("tfc:alcohols", "tfcagedalcohol:aged_beer"); diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 528dd870a..cf0551d98 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -480,7 +480,7 @@ const registerTFGBlockTags = (event) => { event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') //#region Fision Components - var COMPONENTS = 'deafission:components'; + let COMPONENTS = 'deafission:components'; // Max Heating event.add(COMPONENTS, 'tfg:glacian_wool_frame'); // Max Heat 2 @@ -665,44 +665,22 @@ const registerTFGBlockTags = (event) => { //#region Fluids const registerTFGFluidTags = (event) => { - event.add('tfc:usable_in_pot', 'tfg:latex') - event.add('tfc:usable_in_barrel', 'tfg:latex') - event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') - event.add('tfc:usable_in_red_steel_bucket', 'tfg:latex') - event.add('tfc:usable_in_blue_steel_bucket', 'tfg:latex') - - event.add('tfc:usable_in_pot', 'tfg:vulcanized_latex') - event.add('tfc:usable_in_barrel', 'tfg:vulcanized_latex') - event.add('tfc:usable_in_wooden_bucket', 'tfg:vulcanized_latex') - event.add('tfc:usable_in_red_steel_bucket', 'tfg:vulcanized_latex') - event.add('tfc:usable_in_blue_steel_bucket', 'tfg:vulcanized_latex') - - event.add('tfc:usable_in_pot', 'tfg:conifer_pitch') - event.add('tfc:usable_in_barrel', 'tfg:conifer_pitch') - event.add('tfc:usable_in_wooden_bucket', 'tfg:conifer_pitch') - event.add('tfc:usable_in_red_steel_bucket', 'tfg:conifer_pitch') - event.add('tfc:usable_in_blue_steel_bucket', 'tfg:conifer_pitch') - event.add('tfg:clean_water', 'minecraft:water') event.add('tfg:clean_water', 'tfc:river_water') event.add('tfg:clean_water', 'tfc:spring_water') - event.add('tfc:usable_in_barrel', 'gtceu:seed_oil') - - event.add('forge:liquid', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:any_water', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:hydrating', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:drinkables', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:any_drinkables', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:ingredients', 'tfg:semiheavy_ammoniacal_water') - event.add('tfc:usable_in_pot', 'tfg:semiheavy_ammoniacal_water') - event.add('tfc:usable_in_wooden_bucket', 'tfg:semiheavy_ammoniacal_water') - event.add('tfc:usable_in_barrel', 'tfg:semiheavy_ammoniacal_water') - event.add('firmalife:usable_in_mixing_bowl', 'tfg:semiheavy_ammoniacal_water') event.add('firmalife:mixable', 'tfg:semiheavy_ammoniacal_water') event.add('firmalife:usable_in_vat', 'tfg:semiheavy_ammoniacal_water') event.add('minecraft:water', 'tfg:semiheavy_ammoniacal_water') + event.add('tfc:drinkables', 'tfg:proto_growth_medium') + event.add('tfc:any_drinkables', 'tfg:proto_growth_medium') + global.BREATHABLE_COMPRESSED_AIRS.forEach(x => { event.add('tfg:breathable_compressed_air', x) }) diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index a862332a8..3c18ddc84 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -132,7 +132,7 @@ const registerTFGItems = (event) => { 'slowness', 'speed', 'water_breathing', - 'weakness', + 'weakness' ] const pill_names = [ 'Haste', @@ -142,7 +142,7 @@ const registerTFGItems = (event) => { 'Slowness', 'Speed', 'Water Breathing', - 'Weakness', + 'Weakness' ] pill.forEach((pill_array, index) => { @@ -172,14 +172,14 @@ const registerTFGItems = (event) => { 'fire_resistance', 'invisibility', 'luck', - 'resistance', + 'resistance' ] const salvo_names = [ 'Absorption', 'Fire Resistance', 'Invisibility', 'Luck', - 'Resistance', + 'Resistance' ] salvo.forEach((salvo_array, index) => { @@ -473,7 +473,7 @@ const registerTFGItems = (event) => { global.LAB_EQUIPMENT_CONTAINERS.forEach((item) => { event.create(`tfg:${item.type}`, 'tfc:glass_bottle') - .fluidTagAccept('tfc:usable_in_blue_steel_bucket') + .fluidTagAccept('tfg:not_solid') .capacity(item.capacity) .translationKey(`item.tfg.lab_equipment.${item.type}`) .tag('tfg:lab_equipment_containers') From a945ececa3e14168195b874f784e77e55f84b8ad Mon Sep 17 00:00:00 2001 From: Xtrial-01 Date: Sun, 9 Nov 2025 21:39:05 +0100 Subject: [PATCH 043/628] New and improved descriptions for tfg custom multiblocks' controllers (#2195) * custom multiblocks tooltips * fixing little missclick removes excess langs --- kubejs/client_scripts/tooltips.js | 66 +++++++++++++++++++++++++++++-- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index eb6860901..868b42c15 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -19,11 +19,70 @@ const registerTooltips = (event) => { text.add(1, Text.translate('tfg.tooltip.blaze_burner')) }) event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(2, Text.translate('tfg.tooltip.machine.customize_interior')) + text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1')), + text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')), + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')), + text.add(5, Text.translate('tfg.tooltip.machine.customize_interior')) + }) + event.addAdvanced(['tfg:growth_chamber'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.growth_chamber_1')), + text.add(2, Text.translate('tfg.tooltip.machine.growth_chamber_2')), + text.add(5, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + }) + event.addAdvanced(['tfg:evaporation_tower'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.evaporation_tower_1')), + text.add(2, Text.translate('tfg.tooltip.machine.evaporation_tower_2')), + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + }) + event.addAdvanced(['tfg:bioreactor'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.bioreactor_1')), + text.add(2, Text.translate('tfg.tooltip.machine.bioreactor_2')), + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + }) + event.addAdvanced(['tfg:cooling_tower'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.machine.cooling_tower_1')), + text.add(2, Text.translate('tfg.tooltip.machine.cooling_tower_2')), + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), + text.add(4, Text.translate('tfg.tooltip.machine.subtick')), + text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + }) + event.addAdvanced(['gtceu:moon_dust_harvester'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_1')), + text.add(2, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_2')), + text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + }) + event.addAdvanced(['gtceu:ostrum_harvester'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_harvester_1')), + text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_harvester_2')), + text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + }) + event.addAdvanced(['gtceu: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')) + }) + event.addAdvanced(['gtceu:heat_exchanger'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.tooltip.machine.heat_exchanger_1')), + text.add(2, Text.translate('gtceu.tooltip.machine.heat_exchanger_2')), + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), + text.add(4, Text.translate('tfg.tooltip.machine.subtick')), + text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + }) + event.addAdvanced(['gtceu:nuclear_fuel_factory'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_1')), + text.add(2, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_2')), + text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + }) + event.addAdvanced(['gtceu:steam_bloomery'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.tooltip.machine.steam_bloomery_1')), + text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_2')) }) event.addAdvanced(['gtceu:large_chemical_reactor'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')) + text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')), + text.add(2, Text.translate('tfg.tooltip.machine.subtick')) }) // Insulation @@ -111,6 +170,7 @@ const registerTooltips = (event) => { event.addAdvanced(['gtceu:large_solar_panel_tier3'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.solar_panel.large_tier3')) + text.add(2, Text.translate('tfg.tooltip.machine.parallel')) }) // Mars Animals From 1fdba784fc070902264781d66cc906a1941ac8f6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 9 Nov 2025 21:59:19 +0000 Subject: [PATCH 044/628] pakku --- pakku-lock.json | 287 ++++++++++++++++++++++++------------------------ 1 file changed, 143 insertions(+), 144 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 3743b7f3d..2672f18bf 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1109,7 +1109,7 @@ "files": [ { "type": "modrinth", - "file_name": "afc-1.0.19-1.20.1.jar", + "file_name": "afc-1.0.20-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -1117,23 +1117,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/9q4wtMjp/versions/cFxHfQdz/afc-1.0.19-1.20.1.jar", - "id": "cFxHfQdz", + "url": "https://cdn.modrinth.com/data/9q4wtMjp/versions/pn3lpkuA/afc-1.0.20-1.20.1.jar", + "id": "pn3lpkuA", "parent_id": "9q4wtMjp", "hashes": { - "sha512": "621ba1fa49e26060b7a14452d7b7b37956de3279ecc2bd96fd178c55eaf73b69fdf39c64ff46de4f283d30093e29c5f236e57cad97ad5476544aa2fc94f8bbef", - "sha1": "e2ccbe527a06bd242687685dbcc1a12f4e790b88" + "sha512": "1cde189f8f66a6cb23a97280dd5ffcadb1626b57d4332dd9d138b87766975a5296ee61b36da19fde99c93a5cc69abc0612291b601937bef0c3516ab32e10a300", + "sha1": "0a06e8bc356c10941324657d74bf2dd2a082c892" }, "required_dependencies": [ - "nU0bVIaL", "JaCEZUhg" ], - "size": 5118951, - "date_published": "2025-07-26T19:47:57.540420Z" + "size": 5138158, + "date_published": "2025-11-08T21:56:38.003314Z" }, { "type": "curseforge", - "file_name": "afc-1.0.19-1.20.1.jar", + "file_name": "afc-1.0.20-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -1142,18 +1141,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6814/891/afc-1.0.19-1.20.1.jar", - "id": "6814891", + "url": "https://edge.forgecdn.net/files/7200/580/afc-1.0.20-1.20.1.jar", + "id": "7200580", "parent_id": "877545", "hashes": { - "sha1": "e2ccbe527a06bd242687685dbcc1a12f4e790b88", - "md5": "c6211d4edfb5fd65c3922fb1d87bb700" + "sha1": "0a06e8bc356c10941324657d74bf2dd2a082c892", + "md5": "305aaf41433488cdb43ca52a0415d3c1" }, "required_dependencies": [ "302973" ], - "size": 5118951, - "date_published": "2025-07-26T19:48:35.320Z" + "size": 5138158, + "date_published": "2025-11-08T21:55:56.050Z" } ] }, @@ -3513,31 +3512,9 @@ "modrinth": "LNytGWDc" }, "files": [ - { - "type": "curseforge", - "file_name": "create-1.20.1-6.0.6.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6641/603/create-1.20.1-6.0.6.jar", - "id": "6641603", - "parent_id": "328085", - "hashes": { - "sha1": "c5eb5efad7a4776d558b44b28891f2e33eef03e4", - "md5": "0bdb2789d1708a9de227c8ef05a830d9" - }, - "required_dependencies": [], - "size": 18764522, - "date_published": "2025-06-11T21:37:11.767Z" - }, { "type": "modrinth", - "file_name": "create-1.20.1-6.0.6.jar", + "file_name": "create-1.20.1-6.0.8.jar", "mc_versions": [ "1.20.1" ], @@ -3546,16 +3523,38 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/LNytGWDc/versions/JjPQsQVw/create-1.20.1-6.0.6.jar", - "id": "JjPQsQVw", + "url": "https://cdn.modrinth.com/data/LNytGWDc/versions/8amzvn9x/create-1.20.1-6.0.8.jar", + "id": "8amzvn9x", "parent_id": "LNytGWDc", "hashes": { - "sha512": "efc7097430ff2e7fe5e54478efbefc52d0017762b59372878a03f79f4eb0446572290bf377e8aba8374f3a9932fdf1cefd4a4650a9a5f3cf6ab0ad9fd05cc30b", - "sha1": "c5eb5efad7a4776d558b44b28891f2e33eef03e4" + "sha512": "5b51f5d31437d9bfbf221b67459abd87260d284874e1e23b7ed1d522b23a48059a3b1d2c1c541428da35dc6be15561b4f3c7f36aac6df3a0e8db6a278f6b0316", + "sha1": "b13d912b9247a38d66d11598c121442585a1c1e9" }, "required_dependencies": [], - "size": 18764522, - "date_published": "2025-06-11T21:37:13.316377Z" + "size": 19170905, + "date_published": "2025-11-02T16:10:25.364809Z" + }, + { + "type": "curseforge", + "file_name": "create-1.20.1-6.0.8.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7178/761/create-1.20.1-6.0.8.jar", + "id": "7178761", + "parent_id": "328085", + "hashes": { + "sha1": "b13d912b9247a38d66d11598c121442585a1c1e9", + "md5": "6ebc5c57638c1678359eac65b924c310" + }, + "required_dependencies": [], + "size": 19170905, + "date_published": "2025-11-02T16:10:24.043Z" } ] }, @@ -3709,7 +3708,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_factory_logistics-1.20.1-1.4.6.jar", + "file_name": "create_factory_logistics-1.20.1-1.4.7.jar", "mc_versions": [ "1.20.1" ], @@ -3717,20 +3716,20 @@ "forge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/QMGO17gm/versions/55cCh8ab/create_factory_logistics-1.20.1-1.4.6.jar", - "id": "55cCh8ab", + "url": "https://cdn.modrinth.com/data/QMGO17gm/versions/cFuYsO3r/create_factory_logistics-1.20.1-1.4.7.jar", + "id": "cFuYsO3r", "parent_id": "QMGO17gm", "hashes": { - "sha512": "63b41cd141e1c2f660662dc19a607ce934ac8d2747b622b2a6d3ac962b2e01a7e69967fc5b42864418389a0c8f2fd6a6686a13c130b7f2ca404f8b7a87d20d4e", - "sha1": "465e6b54a7aad8c5501a517e4d83d9da4aefaaea" + "sha512": "e00e615ee75f5b65e3aea3d513008ac6e09728df48a77c83acd1a776c1d8f3a0a09c3d20db87fe1b340a1a1ff6ef1a49b5d048a71eb73c602cfc263c2bfeb95c", + "sha1": "bf67707d1645197f27cd9a4abea13159fa0fef1e" }, "required_dependencies": [], - "size": 1097007, - "date_published": "2025-08-25T07:30:00.875517Z" + "size": 1112673, + "date_published": "2025-10-28T13:44:02.906156Z" }, { "type": "curseforge", - "file_name": "create_factory_logistics-1.20.1-1.4.6.jar", + "file_name": "create_factory_logistics-1.20.1-1.4.7.jar", "mc_versions": [ "1.20.1" ], @@ -3738,16 +3737,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/6925/756/create_factory_logistics-1.20.1-1.4.6.jar", - "id": "6925756", + "url": "https://edge.forgecdn.net/files/7159/834/create_factory_logistics-1.20.1-1.4.7.jar", + "id": "7159834", "parent_id": "1218807", "hashes": { - "sha1": "465e6b54a7aad8c5501a517e4d83d9da4aefaaea", - "md5": "65252091cb9878b33a5ebabdfd73cf7f" + "sha1": "bf67707d1645197f27cd9a4abea13159fa0fef1e", + "md5": "3bd8946bc40727a019f44e1f12ccbe93" }, "required_dependencies": [], - "size": 1097007, - "date_published": "2025-08-25T07:30:01.110Z" + "size": 1112673, + "date_published": "2025-10-28T13:44:03.360Z" } ] }, @@ -3873,33 +3872,9 @@ "modrinth": "Vg5TIO6d" }, "files": [ - { - "type": "curseforge", - "file_name": "create_connected-1.1.7-mc1.20.1-all.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6685/744/create_connected-1.1.7-mc1.20.1-all.jar", - "id": "6685744", - "parent_id": "947914", - "hashes": { - "sha1": "19a6e467dc5e2345c698bfdbe43a7823ff9f7d3f", - "md5": "e93f6fb95b0ff356b5f7af4ddd15b828" - }, - "required_dependencies": [ - "328085" - ], - "size": 6564769, - "date_published": "2025-06-23T05:25:01.437Z" - }, { "type": "modrinth", - "file_name": "create_connected-1.1.7-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.9-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -3908,18 +3883,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/HMzC945H/create_connected-1.1.7-mc1.20.1-all.jar", - "id": "HMzC945H", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/j8VEpPsE/create_connected-1.1.9-mc1.20.1-all.jar", + "id": "j8VEpPsE", "parent_id": "Vg5TIO6d", "hashes": { - "sha512": "647418a320bf722c280b452df54e78dc5deb351ac586ffb2fb8a89ae4784771c4bd4ee17c16efc15d8d705e299521aaa6150bb9e3ab6962fe1c23312c87d2328", - "sha1": "19a6e467dc5e2345c698bfdbe43a7823ff9f7d3f" + "sha512": "008704b7f5aba95ad9f83d53494c45d660c6e112abc116c54f4fd6c33bcd3b94b87beceae729dbccd28fba331722e80b2cddc5171e03e2f2159a2ece23ae074d", + "sha1": "8ecff58c8516e5c624ac060cd06b2200deb342a9" }, "required_dependencies": [ "LNytGWDc" ], - "size": 6564769, - "date_published": "2025-06-23T05:25:01.309738Z" + "size": 6566808, + "date_published": "2025-11-09T08:44:57.079900Z" + }, + { + "type": "curseforge", + "file_name": "create_connected-1.1.9-mc1.20.1-all.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7201/963/create_connected-1.1.9-mc1.20.1-all.jar", + "id": "7201963", + "parent_id": "947914", + "hashes": { + "sha1": "8ecff58c8516e5c624ac060cd06b2200deb342a9", + "md5": "a272e0f472171f9f47c296d3d4045b20" + }, + "required_dependencies": [ + "328085" + ], + "size": 6566808, + "date_published": "2025-11-09T08:44:56.310Z" } ] }, @@ -4084,7 +4083,7 @@ "files": [ { "type": "modrinth", - "file_name": "Steam_Rails-1.6.13-alpha+forge-mc1.20.1.jar", + "file_name": "Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -4092,23 +4091,23 @@ "forge", "neoforge" ], - "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/ezVPFGKZ/Steam_Rails-1.6.13-alpha+forge-mc1.20.1.jar", - "id": "ezVPFGKZ", + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/ZzjhlDgM/versions/ubktvkSZ/Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", + "id": "ubktvkSZ", "parent_id": "ZzjhlDgM", "hashes": { - "sha512": "99f18f3501fdb67add6d1fdc9016f09718aa6d3fe172559954840747f01e70834e56bb3c26de86846ec9dea3de565d1b86b675d3498c6696b0d0334ac7daf1c5", - "sha1": "52da57f8704a2e6b3f761066748192d6f069d5f9" + "sha512": "073bb29fe087e247986a82b2b0b8c3352e565fb4a171c15a8f54e7d30934077559a37841cadd7c6ddc3bfabcb8c0b2b1111f17faf7a9b97c69a3d9fc30681882", + "sha1": "90ea1d917bc20a5e4cc50abaa512d2084149dc64" }, "required_dependencies": [ "LNytGWDc" ], - "size": 10036200, - "date_published": "2025-09-04T15:49:17.633579Z" + "size": 9999782, + "date_published": "2025-11-09T02:55:28.159991Z" }, { "type": "curseforge", - "file_name": "Steam_Rails-1.6.13-alpha+forge-mc1.20.1.jar", + "file_name": "Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -4116,19 +4115,19 @@ "neoforge", "forge" ], - "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/6963/175/Steam_Rails-1.6.13-alpha+forge-mc1.20.1.jar", - "id": "6963175", + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7201/308/Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", + "id": "7201308", "parent_id": "688231", "hashes": { - "sha1": "52da57f8704a2e6b3f761066748192d6f069d5f9", - "md5": "1124926daa9fb24401d35f8094eff2a7" + "sha1": "90ea1d917bc20a5e4cc50abaa512d2084149dc64", + "md5": "a7d3bbdf204d7957551ad8819c1030a5" }, "required_dependencies": [ "328085" ], - "size": 10036200, - "date_published": "2025-09-04T15:49:13.513Z" + "size": 9999782, + "date_published": "2025-11-09T02:55:25Z" } ] }, @@ -6945,7 +6944,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.52.jar", + "file_name": "greate-0.0.54.jar", "mc_versions": [ "1.20.1" ], @@ -6954,23 +6953,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/pTqnXrIb/greate-0.0.52.jar", - "id": "pTqnXrIb", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/wqUKZ5yH/greate-0.0.54.jar", + "id": "wqUKZ5yH", "parent_id": "8wDcQuht", "hashes": { - "sha512": "9a7383ead14d2e63b22b7b85ec731549a160c61b401d5b0a92b6d4449b68debd18e7ccb19fc129b3c91427f34c54617a87c6830a3d51abd085863f341a3b6b35", - "sha1": "1c1073b2fe05768a513f4d24450f8c2aea979e5e" + "sha512": "5c98f96e0b442ffd97434337dd2c9b8bd6c84d4de179ddf1c38d3346521ca7fe11e12f813c438e1348c1b0e6000f0d0c1b498ae9c46c955b112858f291ab1156", + "sha1": "09c0d610b6989fe68f6ab98cc97ff2bb3894032f" }, "required_dependencies": [ - "LNytGWDc", - "7tG215v7" + "7tG215v7", + "LNytGWDc" ], - "size": 1512543, - "date_published": "2025-09-30T03:55:11.946637Z" + "size": 1518975, + "date_published": "2025-11-04T01:46:16.009732Z" }, { "type": "curseforge", - "file_name": "greate-0.0.52.jar", + "file_name": "greate-0.0.54.jar", "mc_versions": [ "1.20.1" ], @@ -6979,19 +6978,19 @@ "forge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7047/589/greate-0.0.52.jar", - "id": "7047589", + "url": "https://edge.forgecdn.net/files/7184/105/greate-0.0.54.jar", + "id": "7184105", "parent_id": "901996", "hashes": { - "sha1": "1c1073b2fe05768a513f4d24450f8c2aea979e5e", - "md5": "cbbccd503dbe97e0dd9c9c98701a8076" + "sha1": "09c0d610b6989fe68f6ab98cc97ff2bb3894032f", + "md5": "7685e598a57e31266428cecad9affc7b" }, "required_dependencies": [ - "890405", - "328085" + "328085", + "890405" ], - "size": 1512543, - "date_published": "2025-09-30T03:55:09.973Z" + "size": 1518975, + "date_published": "2025-11-04T01:46:13.693Z" } ] }, @@ -9209,7 +9208,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.25.0+mc1.20.1.jar", + "file_name": "modernfix-forge-5.25.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9217,20 +9216,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/B1kPym71/modernfix-forge-5.25.0+mc1.20.1.jar", - "id": "B1kPym71", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/PbIMs8a8/modernfix-forge-5.25.1+mc1.20.1.jar", + "id": "PbIMs8a8", "parent_id": "nmDcB62a", "hashes": { - "sha512": "5b72f8b42ccd12a2577bed5a437811e6ab5fe811e86f5e42554967aae405658a00d163f8d7f21640882c8b4072894f3972039c33157c98a4b46b9a778dbe1ad8", - "sha1": "ce78c1b76a1204775514b20b7b35d3f480c0bcb4" + "sha512": "16ed32ed2e9e153cd6adad6d5d32280f33ce79b5b9829576f26bab9c8f37e1c415a49c86d11839de9527ab1c5222e32946792b5819d9f6a76daffeea305a3848", + "sha1": "124ea5db8c3b7dc00166806ef0fc412177882fda" }, "required_dependencies": [], - "size": 897884, - "date_published": "2025-11-06T00:04:39.619960Z" + "size": 895267, + "date_published": "2025-11-08T20:05:06.924760Z" }, { "type": "curseforge", - "file_name": "modernfix-forge-5.25.0+mc1.20.1.jar", + "file_name": "modernfix-forge-5.25.1+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9238,16 +9237,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7190/629/modernfix-forge-5.25.0+mc1.20.1.jar", - "id": "7190629", + "url": "https://edge.forgecdn.net/files/7200/213/modernfix-forge-5.25.1+mc1.20.1.jar", + "id": "7200213", "parent_id": "790626", "hashes": { - "sha1": "ce78c1b76a1204775514b20b7b35d3f480c0bcb4", - "md5": "d1a8a868063a5309cd17700105e7a521" + "sha1": "124ea5db8c3b7dc00166806ef0fc412177882fda", + "md5": "3e7c495f3e3b9057c5e6227119e5b614" }, "required_dependencies": [], - "size": 897884, - "date_published": "2025-11-06T00:04:34.820Z" + "size": 895267, + "date_published": "2025-11-08T20:05:01.880Z" } ] }, @@ -14306,7 +14305,7 @@ "files": [ { "type": "curseforge", - "file_name": "vintageimprovements-1.20.1-0.3.5.1.jar", + "file_name": "vintageimprovements-1.20.1-0.3.6.0.jar", "mc_versions": [ "1.20.1" ], @@ -14314,18 +14313,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7105/796/vintageimprovements-1.20.1-0.3.5.1.jar", - "id": "7105796", + "url": "https://edge.forgecdn.net/files/7150/799/vintageimprovements-1.20.1-0.3.6.0.jar", + "id": "7150799", "parent_id": "1255448", "hashes": { - "sha1": "15bbb20011239cceb6ebc10850084c09113cc8e5", - "md5": "c70ab7b12248f3c969fbb2eaf9a184b8" + "sha1": "a893480c03a2803b130f79b2124d27345779f531", + "md5": "5a013ac7470b65c048132e67199b601a" }, "required_dependencies": [ "328085" ], - "size": 1381683, - "date_published": "2025-10-14T09:49:10.240Z" + "size": 1381831, + "date_published": "2025-10-26T04:56:43.770Z" } ] }, From 119f56fdf8b7677da91f1ff070c334a3d6d83790 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 9 Nov 2025 22:07:46 +0000 Subject: [PATCH 045/628] added timeoutfixes --- pakku-lock.json | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/pakku-lock.json b/pakku-lock.json index 2672f18bf..fc79be611 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -13957,6 +13957,43 @@ } ] }, + { + "pakku_id": "jn9KICtb32TaMbxc", + "type": "MOD", + "slug": { + "curseforge": "timeoutfixes" + }, + "name": { + "curseforge": "TimeoutFixes" + }, + "id": { + "curseforge": "558010" + }, + "files": [ + { + "type": "curseforge", + "file_name": "timeout_fixes-1.20.1-1.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "neoforge", + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/4844/272/timeout_fixes-1.20.1-1.0.0.jar", + "id": "4844272", + "parent_id": "558010", + "hashes": { + "sha1": "1748e7fecde151d20eb96d62eecd7579858bb793", + "md5": "a23bcbf8d525155000e592ddbb15521e" + }, + "required_dependencies": [], + "size": 10209, + "date_published": "2023-11-06T02:11:33.063Z" + } + ] + }, { "pakku_id": "oLp78y55xvS4lBnk", "type": "MOD", From 9d7d4332f3feafdda15d0ae50d0c599f59175716 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 9 Nov 2025 23:15:02 +0000 Subject: [PATCH 046/628] increased sandstorm --- kubejs/startup_scripts/tfg/register_climates.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/tfg/register_climates.js b/kubejs/startup_scripts/tfg/register_climates.js index 29a2d82d9..946e6d24a 100644 --- a/kubejs/startup_scripts/tfg/register_climates.js +++ b/kubejs/startup_scripts/tfg/register_climates.js @@ -57,7 +57,7 @@ global.getMarsClimateController = function () { createWindCallback: function (builder) { var self = this; return function (level, pos, calendarTicks) { - const strength = Math.max(0, Math.sin(calendarTicks / 10000) -0.6); + const strength = Math.max(0, Math.sin(calendarTicks / 10000) - 0.4) * 1.2; const newX = Math.cos(calendarTicks / 2400) * strength; const newZ = Math.sin(calendarTicks / 2400) * strength; From 8d8d028f0e61f2c6409ee271e35c29b4bc438672 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 9 Nov 2025 23:20:40 +0000 Subject: [PATCH 047/628] fixed baked cake bases nutrition --- kubejs/server_scripts/create_additions/data.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/create_additions/data.js b/kubejs/server_scripts/create_additions/data.js index f7404dc1b..ad97b1ded 100644 --- a/kubejs/server_scripts/create_additions/data.js +++ b/kubejs/server_scripts/create_additions/data.js @@ -16,8 +16,8 @@ function registerTFCDataForCreateAddition(event) { food.hunger(4) food.saturation(1) food.decayModifier(2) - food.dairy(2) - food.grain(2) + food.dairy(0.4) + food.grain(0.4) }) event.foodItem('tfc:cake', food => { From de410aee886d8b6c1b36a2c826befc52b0192a7a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 9 Nov 2025 23:53:13 +0000 Subject: [PATCH 048/628] fix #2183 --- kubejs/server_scripts/vintage_improvements/recipes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 4fbcea0c1..9e0d8d7d3 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -159,6 +159,7 @@ function registerVintageImprovementsRecipes(event) { { material: GTMaterials.Gold, blows: STARTING_BLOWS }, { material: GTMaterials.Bismuth, blows: STARTING_BLOWS }, { material: GTMaterials.RoseGold, blows: STARTING_BLOWS }, + { material: GTMaterials.Silver, blows: STARTING_BLOWS }, { material: GTMaterials.SterlingSilver, blows: STARTING_BLOWS }, { material: GTMaterials.Tin, blows: STARTING_BLOWS }, { material: GTMaterials.Lead, blows: STARTING_BLOWS } From 5da45adda353b30d6e15499252ad7295b40af9a7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 10 Nov 2025 00:07:07 +0000 Subject: [PATCH 049/628] dye tag item models to use the vanilla models instead of the gt chem dyes --- kubejs/assets/forge/models/tag/item/dyes/black.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/blue.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/brown.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/cyan.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/gray.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/green.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/light_blue.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/light_gray.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/lime.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/magenta.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/orange.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/pink.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/purple.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/red.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/white.json | 3 +++ kubejs/assets/forge/models/tag/item/dyes/yellow.json | 3 +++ 16 files changed, 48 insertions(+) create mode 100644 kubejs/assets/forge/models/tag/item/dyes/black.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/blue.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/brown.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/cyan.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/gray.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/green.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/light_blue.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/light_gray.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/lime.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/magenta.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/orange.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/pink.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/purple.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/red.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/white.json create mode 100644 kubejs/assets/forge/models/tag/item/dyes/yellow.json diff --git a/kubejs/assets/forge/models/tag/item/dyes/black.json b/kubejs/assets/forge/models/tag/item/dyes/black.json new file mode 100644 index 000000000..798c3e326 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/black.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:black_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/blue.json b/kubejs/assets/forge/models/tag/item/dyes/blue.json new file mode 100644 index 000000000..0f632b4dc --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/blue.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:blue_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/brown.json b/kubejs/assets/forge/models/tag/item/dyes/brown.json new file mode 100644 index 000000000..e32c3f0ee --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/brown.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:brown_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/cyan.json b/kubejs/assets/forge/models/tag/item/dyes/cyan.json new file mode 100644 index 000000000..3917e2ab6 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/cyan.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:cyan_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/gray.json b/kubejs/assets/forge/models/tag/item/dyes/gray.json new file mode 100644 index 000000000..36feed954 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/gray.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:gray_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/green.json b/kubejs/assets/forge/models/tag/item/dyes/green.json new file mode 100644 index 000000000..b72da290e --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/green.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:green_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/light_blue.json b/kubejs/assets/forge/models/tag/item/dyes/light_blue.json new file mode 100644 index 000000000..d8dc8b038 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/light_blue.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:light_blue_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/light_gray.json b/kubejs/assets/forge/models/tag/item/dyes/light_gray.json new file mode 100644 index 000000000..9d80a69a1 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/light_gray.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:light_gray_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/lime.json b/kubejs/assets/forge/models/tag/item/dyes/lime.json new file mode 100644 index 000000000..2e09a3737 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/lime.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:lime_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/magenta.json b/kubejs/assets/forge/models/tag/item/dyes/magenta.json new file mode 100644 index 000000000..9591f42a4 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/magenta.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:magenta_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/orange.json b/kubejs/assets/forge/models/tag/item/dyes/orange.json new file mode 100644 index 000000000..f415ebd94 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/orange.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:orange_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/pink.json b/kubejs/assets/forge/models/tag/item/dyes/pink.json new file mode 100644 index 000000000..dc28964cd --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/pink.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:pink_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/purple.json b/kubejs/assets/forge/models/tag/item/dyes/purple.json new file mode 100644 index 000000000..4f9d46412 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/purple.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:purple_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/red.json b/kubejs/assets/forge/models/tag/item/dyes/red.json new file mode 100644 index 000000000..13098e9be --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/red.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:red_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/white.json b/kubejs/assets/forge/models/tag/item/dyes/white.json new file mode 100644 index 000000000..1ea93ad2f --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/white.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:white_dye" +} \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/yellow.json b/kubejs/assets/forge/models/tag/item/dyes/yellow.json new file mode 100644 index 000000000..0cbc6f319 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/dyes/yellow.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:yellow_dye" +} \ No newline at end of file From c11281308b4f10a35c98796d7285fab003968f8b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 10 Nov 2025 00:07:17 +0000 Subject: [PATCH 050/628] cheaper barrel staves --- CHANGELOG.md | 3 +++ kubejs/server_scripts/firmalife/recipes.js | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6516dbdc7..1584d75b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,11 +14,14 @@ - The food oven and refrigerator now emit heat (for TFC ambiental) @Pyritie - Dioxygen Difluoride is now cryogenic and acidic @Pyritie - Added tfc torches and lamps to Not Enough Animations' config, so now you hold them properly @Coopmore +- Barrel Staves (for Kegs) now just use bronze screws instead of wrought iron plates @Pyritie +- Mars sandstorms are now sandier ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie - Fixed not being able to make brown universal compost with a mortar if the item is both green and brown (#2091) @Pyritie - Fixed soup made in the food processor not returning bowls when eaten (#2053) @Pyritie +- Fixed missing helve hammer recipe for silver plates (#2183) @Pyritie ### Translation updates - Russian @DI-GitH + @nineex - Brazilian Portuguese @Redeix diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 378369281..ee8ff9b3c 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -50,7 +50,9 @@ const registerFirmaLifeRecipes = (event) => { //#endregion - event.replaceInput({ id: 'firmalife:mixing_bowl' }, 'firmalife:treated_lumber', '#tfc:lumber') + event.shapeless('firmalife:barrel_stave', ['2x firmalife:treated_lumber', '#forge:screws/any_bronze', '#forge:tools/hammers']) + .id('firmalife:crafting/barrel_stave') + // Декрафт Jag Lid event.recipes.tfc.heating('tfc:jar_lid', 230) From 544a46567fa4e270b2ee5cdd2906ff0eebaa30b7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 10 Nov 2025 00:52:48 +0000 Subject: [PATCH 051/628] added surface rules for venus oceans/rivers, cleaned up other sections --- .../worldgen/noise_settings/venus_noise.json | 2793 ++++++++++------- 1 file changed, 1572 insertions(+), 1221 deletions(-) diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index 921b414a2..fd05b11aa 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -396,10 +396,199 @@ "biome_is": [ "tfg:venus/sulfuric_ravine" ] }, "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:light_blue_concrete" } + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:vertical_gradient", + "random_name": "sulfuric_ravine_sea_level", + "true_at_and_below": { + "absolute": 57 + }, + "false_at_and_above": { + "absolute": 59 + } + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "create:scoria" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": -0.1, + "max_threshold": 0.4 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": -0.4, + "max_threshold": 0.7 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/yellow" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/yellow" } + } + } + ] + } + }, + { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:sand/black" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:raw_sandstone/black" + } + } + } + ] + } + ] + } } }, + + { "type": "minecraft:condition", "if_true": { @@ -407,14 +596,214 @@ "biome_is": [ "tfg:venus/fumaroles" ] }, "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:purple_concrete" } + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.4 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "kubejs_tfc:rock", + "rock_block": "sand", + "fallback_state": { + "Name": "ad_astra:venus_sand" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "kubejs_tfc:rock", + "rock_block": "sandstone", + "fallback_state": { + "Name": "ad_astra:venus_sandstone" + } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.3, + "max_threshold": 0.5 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": -1.0, + "max_threshold": -0.8 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "kubejs_tfc:rock", + "rock_block": "sand", + "fallback_state": { + "Name": "ad_astra:venus_sand" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "kubejs_tfc:rock", + "rock_block": "sandstone", + "fallback_state": { + "Name": "ad_astra:venus_sandstone" + } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "kubejs_tfc:rock", + "rock_block": "gravel", + "fallback_state": { + "Name": "tfg:rock/gravel_venus" + } + } + } + ] + } } }, - - - - { "type": "minecraft:condition", "if_true": { @@ -422,631 +811,619 @@ "biome_is": [ "tfg:venus/stromatolite_beach" ] }, "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:y_above", - "anchor": { "absolute": 52 }, - "surface_depth_multiplier": 0, - "add_stone_depth": false + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.1, - "max_threshold": 0.2 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.4 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.2, - "max_threshold": 0.4 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.3, - "max_threshold": 0.5 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.3, + "max_threshold": 0.5 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } } - } - ] + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } } - } - ] + ] + } } }, - - - - { "type": "minecraft:condition", "if_true": { @@ -1054,625 +1431,603 @@ "biome_is": [ "tfg:venus/fractured_pools" ] }, "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:y_above", - "anchor": { "absolute": 52 }, - "surface_depth_multiplier": 0, - "add_stone_depth": false + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.1, - "max_threshold": 0.2 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.4 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.2, - "max_threshold": 0.4 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "create:scoria" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "create:scoria" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.3, - "max_threshold": 0.5 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sand/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 4, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 5, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.3, + "max_threshold": 0.5 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 6, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 7, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 8, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } } - } - ] + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } } - } - ] + ] + } } }, @@ -1680,11 +2035,7 @@ { "type": "minecraft:condition", "if_true": { - "type": "minecraft:stone_depth", - "offset": 12, - "surface_type": "floor", - "add_surface_depth": true, - "secondary_depth_range": 0 + "type": "minecraft:above_preliminary_surface" }, "then_run": { "type": "kubejs_tfc:rock", From 8562c320b186a24ae341e78b1ee13032698e4b0f Mon Sep 17 00:00:00 2001 From: Redeix Date: Mon, 10 Nov 2025 01:56:31 -0600 Subject: [PATCH 052/628] allows saplings and fruit bushes in the seed pouch (#2202) * allows saplings and fruit bushes in the seed pouch * changelog --- CHANGELOG.md | 1 + kubejs/server_scripts/sacksnstuff/tags.js | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1584d75b6..60d4d58cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Added tfc torches and lamps to Not Enough Animations' config, so now you hold them properly @Coopmore - Barrel Staves (for Kegs) now just use bronze screws instead of wrought iron plates @Pyritie - Mars sandstorms are now sandier +- Saplings and fruit bushes can now enter the seed pouch. (#2202) @Redeix ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie diff --git a/kubejs/server_scripts/sacksnstuff/tags.js b/kubejs/server_scripts/sacksnstuff/tags.js index 99e479d13..bb1c9422b 100644 --- a/kubejs/server_scripts/sacksnstuff/tags.js +++ b/kubejs/server_scripts/sacksnstuff/tags.js @@ -24,6 +24,9 @@ function registerSNSItemTags(event) { event.add('sns:allowed_in_ore_sack', '#tfc:metamorphic_rock') event.add('sns:allowed_in_ore_sack', '#tfc:igneous_intrusive_rock') event.add('sns:allowed_in_ore_sack', '#tfc:igneous_extrusive_rock') + + event.add('sns:allowed_in_seed_pouch', '#minecraft:saplings') + event.add('sns:allowed_in_seed_pouch', '#tfc:wild_fruits') event.add('sns:prevented_in_item_containers', '#tfc:fired_vessels') From 8388d044d832277d306ac9db48c8cf956aad612f Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 10 Nov 2025 12:08:58 -0600 Subject: [PATCH 053/628] materials + structures for normal items (#2198) * nitrocellulose and cellulose matrix * vent texture * I think it actually works * Update CHANGELOG.md --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- CHANGELOG.md | 1 + .../tfg/molecules/cellulose_matrix.json | 769 ++++++++++++++++++ .../assets/tfg/molecules/nitrocellulose.json | 401 +++++++++ .../tfg/molecules/tfg_polycaprolactam.json | 164 ++++ .../textures/block/titanium_exhaust_vent.png | Bin 0 -> 4527 bytes kubejs/server_scripts/tfg/tags.js | 18 + kubejs/startup_scripts/tfg/blocks.js | 4 +- kubejs/startup_scripts/tfg/materials.js | 19 + 8 files changed, 1374 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/tfg/molecules/cellulose_matrix.json create mode 100644 kubejs/assets/tfg/molecules/nitrocellulose.json create mode 100644 kubejs/assets/tfg/molecules/tfg_polycaprolactam.json create mode 100644 kubejs/assets/tfg/textures/block/titanium_exhaust_vent.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 60d4d58cb..3c85406ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Added tfc torches and lamps to Not Enough Animations' config, so now you hold them properly @Coopmore - Barrel Staves (for Kegs) now just use bronze screws instead of wrought iron plates @Pyritie - Mars sandstorms are now sandier +- Added GTMolDraw with custom TFG compat @BlueBoat29 (special thanks to Maddie for her help) - Saplings and fruit bushes can now enter the seed pouch. (#2202) @Redeix ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix diff --git a/kubejs/assets/tfg/molecules/cellulose_matrix.json b/kubejs/assets/tfg/molecules/cellulose_matrix.json new file mode 100644 index 000000000..44173ff8a --- /dev/null +++ b/kubejs/assets/tfg/molecules/cellulose_matrix.json @@ -0,0 +1,769 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 2.232, + "y": 0.866 + }, + { + "type": "atom", + "index": 1, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 2, + "x": 2.232, + "y": -0.866 + }, + { + "type": "atom", + "index": 3, + "x": 3.232, + "y": -0.866 + }, + { + "type": "atom", + "index": 4, + "x": 3.732, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 3.232, + "y": 0.866 + }, + { + "type": "atom", + "index": 6, + "x": 2.232, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 2.732, + "y": 2.7321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 2.232, + "y": 0.134 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 3.232, + "y": -1.866 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 4.598, + "y": 0.5 + }, + { + "type": "atom", + "index": 11, + "x": 5.464, + "y": 0.0 + }, + { + "type": "atom", + "index": 12, + "x": 5.9641, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 13, + "x": 6.9641, + "y": -0.866 + }, + { + "type": "atom", + "index": 14, + "x": 7.464, + "y": 0.0 + }, + { + "type": "atom", + "index": 15, + "x": 6.964, + "y": 0.866 + }, + { + "type": "atom", + "index": 16, + "x": 5.964, + "y": 0.866 + }, + { + "type": "atom", + "index": 17, + "x": 5.9641, + "y": -1.866 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 18, + "x": 5.4641, + "y": -2.732 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 19, + "x": 5.964, + "y": -0.134 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 20, + "x": 6.964, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "index": 21, + "x": 8.3301, + "y": -0.5 + }, + { + "type": "atom", + "index": 22, + "x": 9.1961, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 23, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "index": 24, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 25, + "x": 9.6909, + "y": 0.866 + }, + { + "type": "atom", + "index": 26, + "x": 9.6909, + "y": -0.8661 + }, + { + "type": "atom", + "index": 27, + "x": 10.6909, + "y": -0.8661 + }, + { + "type": "atom", + "index": 28, + "x": 11.1909, + "y": -0.0001 + }, + { + "type": "atom", + "element": "O", + "index": 29, + "x": 10.6909, + "y": 0.866 + }, + { + "type": "atom", + "index": 30, + "x": 9.6909, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 31, + "x": 10.1909, + "y": 2.7321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 32, + "x": 9.6909, + "y": 0.134 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 33, + "x": 10.6909, + "y": -1.8661 + }, + { + "type": "atom", + "element": "O", + "index": 34, + "x": 12.0569, + "y": 0.5 + }, + { + "type": "atom", + "index": 35, + "x": 12.923, + "y": -0.0001 + }, + { + "type": "atom", + "index": 36, + "x": 13.4231, + "y": -0.8661 + }, + { + "type": "atom", + "element": "O", + "index": 37, + "x": 14.4231, + "y": -0.8661 + }, + { + "type": "atom", + "index": 38, + "x": 14.923, + "y": -0.0001 + }, + { + "type": "atom", + "index": 39, + "x": 14.423, + "y": 0.866 + }, + { + "type": "atom", + "index": 40, + "x": 13.423, + "y": 0.866 + }, + { + "type": "atom", + "index": 41, + "x": 13.4231, + "y": -1.8661 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 42, + "x": 12.9231, + "y": -2.7321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 43, + "x": 13.423, + "y": -0.1341 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 44, + "x": 14.423, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "index": 45, + "x": 15.7891, + "y": -0.5001 + }, + { + "type": "atom", + "index": 46, + "x": 16.6551, + "y": -0.0001 + }, + { + "sub": "n", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 13, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 12, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 16, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 28, + "b": 27, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 25, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 30, + "b": 31, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 32, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 33, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 36, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 38, + "b": 39, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 37, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 36, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 40, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 26, + "lines": [ + "outward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/nitrocellulose.json b/kubejs/assets/tfg/molecules/nitrocellulose.json new file mode 100644 index 000000000..74af1d464 --- /dev/null +++ b/kubejs/assets/tfg/molecules/nitrocellulose.json @@ -0,0 +1,401 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 1.7321, + "y": 0.7321 + }, + { + "type": "atom", + "index": 1, + "x": 1.2321, + "y": -0.134 + }, + { + "type": "atom", + "index": 2, + "x": 1.7321, + "y": -1.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.7321, + "y": -1.0 + }, + { + "type": "atom", + "index": 4, + "x": 3.2321, + "y": -0.134 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 2.7321, + "y": 0.7321 + }, + { + "type": "atom", + "index": 6, + "x": 1.7321, + "y": 1.7321 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 0.7321, + "y": -1.0 + }, + { + "type": "atom", + "index": 8, + "x": 3.7321, + "y": 0.7321 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 2.5981, + "y": 2.2321 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 2.7321, + "y": -2.0 + }, + { + "type": "atom", + "element": "N", + "index": 12, + "x": 3.4641, + "y": 2.7321 + }, + { + "type": "atom", + "element": "O", + "index": 13, + "x": 3.4641, + "y": 3.7321 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": 4.3302, + "y": 2.2321 + }, + { + "type": "atom", + "element": "N", + "index": 15, + "x": 1.866, + "y": -2.5 + }, + { + "type": "atom", + "element": "O", + "index": 16, + "x": 1.866, + "y": -3.5 + }, + { + "type": "atom", + "element": "O", + "index": 17, + "x": 1.0, + "y": -2.0 + }, + { + "type": "atom", + "element": "N", + "index": 18, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 19, + "x": 0.866, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "index": 20, + "x": 0.0, + "y": 0.0 + }, + { + "sub": "n", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ], + "type": "parens" + }, + { + "type": "atom", + "index": 21, + "x": -0.2679, + "y": -1.0 + }, + { + "type": "atom", + "index": 22, + "x": 4.7321, + "y": 0.7321 + }, + { + "type": "atom", + "index": 23, + "x": -1.2679, + "y": -1.0 + }, + { + "type": "atom", + "index": 24, + "x": 5.7321, + "y": 0.7321 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 0, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 11, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 15, + "b": 17, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 10, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 18, + "b": 20, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 7, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 24, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/tfg_polycaprolactam.json b/kubejs/assets/tfg/molecules/tfg_polycaprolactam.json new file mode 100644 index 000000000..675b7b465 --- /dev/null +++ b/kubejs/assets/tfg/molecules/tfg_polycaprolactam.json @@ -0,0 +1,164 @@ +{ + "contents": [ + { + "index": 0, + "element": "", + "x": 0.0, + "y": 0.0, + "type": "atom" + }, + { + "index": 1, + "element": "N", + "above": "H", + "x": 0.8660254, + "y": 0.5, + "type": "atom" + }, + { + "index": 3, + "element": "", + "x": 1.7320508, + "y": 0.0, + "type": "atom" + }, + { + "index": 4, + "element": "", + "x": 2.598076, + "y": 0.5, + "type": "atom" + }, + { + "index": 5, + "element": "", + "x": 3.4641016, + "y": 0.0, + "type": "atom" + }, + { + "index": 6, + "element": "", + "x": 4.3301272, + "y": 0.5, + "type": "atom" + }, + { + "index": 7, + "element": "", + "x": 5.196152, + "y": 0.0, + "type": "atom" + }, + { + "index": 8, + "element": "", + "x": 6.0621777, + "y": 0.5, + "type": "atom" + }, + { + "index": 9, + "element": "O", + "x": 6.0621777, + "y": 1.5, + "type": "atom" + }, + { + "index": 10, + "element": "", + "x": 6.928203, + "y": 0.0, + "type": "atom" + }, + { + "a": 0, + "b": 1, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 1, + "b": 3, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 3, + "b": 4, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 4, + "b": 5, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 5, + "b": 6, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 6, + "b": 7, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 7, + "b": 8, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "a": 8, + "b": 9, + "centered": true, + "lines": [ + "solid", + "solid" + ], + "type": "bond" + }, + { + "a": 8, + "b": 10, + "lines": [ + "solid" + ], + "type": "bond" + }, + { + "sub": "n", + "atoms": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "type": "parens" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/titanium_exhaust_vent.png b/kubejs/assets/tfg/textures/block/titanium_exhaust_vent.png new file mode 100644 index 0000000000000000000000000000000000000000..27f09a0c6c0b14b8d38926dbe85c2bf706a9758c GIT binary patch literal 4527 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7j#h<4lmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9xXpW5f#=V65!r+K9CGb8TBXf>@yvdri{>18`o>v2*<#;( z^F2~CL`-y5qtCqv2!8x((F2FKJ}c%fJ`n6v`$PJT?#J~#o1W~b|HipoW!1V%sw;95 z*KAId`uS8$#D0>Q;O-mBCzL!YBt#fXZMZj2efq2A>jBABnT#!&=iN3vyqg_cQ(gUO znSs1h(>Wz8wh3iI9;MB50?+7Ain#t}j>>VBeG``3&TWwA^NOsCzqj==0|R4Arn7T^ zr?WH6LktWRb808rdK`9;IT|0lHAtJUOrY>Yz}z>Bl$yL(CJE|H+2*vGPi=Y~hp*Hm z5pnl}TOT|)o^Fps*v^bRaj3ZF?&0ItcWa#gWcU5~i*PPA<{G8Ko|kQ| zd;DznX1<*Bz4P!I9nB-pk343Jo$zDg>rJQg=XmpR+ZgAhTrNJ6n6&ZA!6Np}n-&WB z3%ZMhF0N60zUfe9_vWaT8?V{^Z_+vN4OzqL8H&k7&- z&l8iGTfdd@OwFXY{OpO!2?^3WcI0J$k}KHB%wzjZxN)4{^3rViZPPR-@vbW>1sj#ZZEyztRNmQuF&B-gas<2f8n`@Ot;j4hQnKSxuqjGOvkG!?gBnqkl4h%vQBqQ1rLSLJ zUanVete0Puu5V~*X{m2uq;F)TTa=QfTU?n}l31aeSF8*&0%C?sYH@N=W(tB0+w{vfnBtKRGkS3d}S&vNSX@O*7UtwzM$SH8C+T)lD)?OVl+>O-nU0N-;7|GfzY^ z$}_LHBrz{J6=YOJZh>BAW{Q=$rG=?QqJ^2Rp{bdfu1TVyiLRwVVxq2vL7GXDfti`H zk(oJ?5&lJ)>6v+nImoU88I_WmVr68QVrgobWTI=5W@MymVs2roYnf!8sGDYzVrFQV zVq|Gyo(wiBCE3a?zbH4c#8xRYH!(d`zaTFiECC8|E5`s&TO}hs1B6IGPGU(~eo?Ni zQg~)wN`84ULMkLPH#N8<5fq+==4M9b#%8AGW+s+KCYDABMPaE$#hLkeAX5zu^o&iw zGN6dD@-NCv%_~U+rBqubL$G*7Zh@6^QEFmIeo;t%evYjY$WaPLdWH}Ofuwy?OA=EO zOA=iYOHyr>j0}uStqcvV3@k$oEv*cUtW3>x4a}?zkksd=WTsUTQf&vy9yX9j_sA?R z$uFt|3qkT!aB3lh2jS*qf>bLgD1fttRbn#43&n|LsVQJ@z@?Hi67$kiQ*4!>2^OX$ z6H8)9O-eE~Gd4`tO*J!0)ip78X1mEZI(b{DJQU*^~*hdr9}RLWbgEtQaAIcW7_ z&E{Q^wbLuDKiBqezh9mIdQ;`sr(XOG^X@O)5uYZU<9GhOLd?sHHhUA+n5@m4UG>&N zQ9^s}53@NNFWs?;QD*qFz1;3AyPBCn`RWZn7d8Ds~B8}%KyW9Tbx0CZRr2T4bfsN1zVjS zhVusrOWcsVVJE?_WaiTq}j zs{SUn;-%gC_fGZ_XG9Nfy1qJf{oAJ4c{iKqClo7*e&Vgr-nP%@OUF7;H`vqF&t;uc GLK6TSH-S6= literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index cf0551d98..2aff6e5bb 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -441,6 +441,23 @@ const registerTFGItemTags = (event) => { event.add('tfg:mineral_rich_wool', 'tfg:wraptor_wool') event.add('tfg:mineral_rich_wool', 'tfg:sniffer_wool') //#endregion + + //#region holder materials + event.remove('forge:dusts', 'tfg:nitrocellulose') + event.remove('forge:dusts/nitrocellulose', 'tfg:nitrocellulose') + + event.remove('forge:dusts', 'tfg:cellulose_matrix') + event.remove('forge:dusts/cellulose_matrix', 'tfg:cellulose_matrix') + + event.remove('balm:ingots', 'tfg:polycaprolactam_fabric') + event.remove('tfc:pileable_ingots', 'tfg:polycaprolactam_fabric') + event.remove('forge:ingots', 'tfg:polycaprolactam_fabric') + event.remove('forge:ingots/tfg_polycaprolactam', 'tfg:polycaprolactam_fabric') + + event.remove('balm:nuggets', 'tfg:polycaprolactam_string') + event.remove('forge:nuggets', 'tfg:polycaprolactam_string') + event.remove('forge:nuggets/tfg_polycaprolactam', 'tfg:polycaprolactam_string') + } //#region Blocks @@ -775,4 +792,5 @@ const registerTFGPlacedFeatures = (event) => { event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') // #endregion + } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index c24c4b1b7..a0cc2148c 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -8,8 +8,8 @@ const registerTFGBlocks = (event) => { registerTFGAqueductBlocks(event) registerTFGCrops(event) - event.create('tfg:exhaust_vent_particle', 'tfg:active_particle_emitter') - .textureAll('tfg:block/titanium_concrete') + event.create('tfg:titanium_exhaust_vent', 'tfg:active_particle_emitter') + .textureAll('tfg:block/titanium_exhaust_vent') .soundType('metal') .hardness(5) .resistance(6) diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 62cd825eb..ac1d7c902 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -534,4 +534,23 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) .components('7x gallium', '2x tin', '1x zinc') .color('0x34cfeb') + + // #region holder materials + // These allow us to give material components to non-material items + // Requires .setIgnored to be called in core + event.create('tfg:nitrocellulose') + .dust() + .components('6x carbon', '7x hydrogen', '3x nitrogen', '11x oxygen') + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0xFFFFFF) + event.create('tfg:cellulose_matrix') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0xFFFFFF) + event.create('tfg:tfg_polycaprolactam') + .ingot() + .components('6x carbon', '11x hydrogen', '1x nitrogen', '1x oxygen') + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.EXPLOSIVE) + .macerateInto('gtceu:polycaprolactam') + .color(0x000000) } From d3e33e884c66c906466e83ee8f3fef17159efd5b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 10 Nov 2025 20:54:11 +0000 Subject: [PATCH 054/628] changed icon set of cupronickel to make it a little more distinct from bronze and annealed copper --- kubejs/startup_scripts/tfc/materials.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/tfc/materials.js b/kubejs/startup_scripts/tfc/materials.js index 0e072b9ee..5883dc369 100644 --- a/kubejs/startup_scripts/tfc/materials.js +++ b/kubejs/startup_scripts/tfc/materials.js @@ -87,6 +87,7 @@ const registerTFCMaterials = (event) => { GTMaterials.Nickel.setMaterialIconSet(GTMaterialIconSet.BRIGHT) GTMaterials.BlackBronze.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Potin.setMaterialIconSet(GTMaterialIconSet.SHINY) + GTMaterials.Cupronickel.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Aluminium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) GTMaterials.Asbestos.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) From f9654c0f2814e981aa19e4e6826151855274fb2d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 10 Nov 2025 20:54:20 +0000 Subject: [PATCH 055/628] made whisks cheaper --- kubejs/server_scripts/greate/recipes.js | 114 +++++++++++++++--------- 1 file changed, 73 insertions(+), 41 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 469ff20a3..113e23839 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -805,149 +805,181 @@ function registerGreateRecipes(event) { // #region Whisks event.shaped('gtceu:steel_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/steel', C: '#forge:tools/wrenches', D: '#forge:rods/long/steel' }).id('gtceu:shaped/steel_whisk') - + event.recipes.gtceu.extruder('gtceu:steel_whisk') - .itemInputs('7x #forge:ingots/steel') + .itemInputs('4x #forge:ingots/steel') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:steel_whisk') - .duration(GTMaterials.Steel.getMass() * 7) + .duration(GTMaterials.Steel.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + + event.remove({ id: 'gtceu:extractor/extract_steel_whisk' }) event.shaped('gtceu:aluminium_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/aluminium', C: '#forge:tools/wrenches', D: '#forge:rods/long/aluminium' }).id('gtceu:shaped/aluminium_whisk') event.recipes.gtceu.extruder('gtceu:aluminium_whisk') - .itemInputs('7x #forge:ingots/aluminium') + .itemInputs('4x #forge:ingots/aluminium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:aluminium_whisk') - .duration(GTMaterials.Aluminium.getMass() * 7) + .duration(GTMaterials.Aluminium.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + + event.remove({ id: 'gtceu:extractor/extract_aluminium_whisk' }) event.shaped('gtceu:stainless_steel_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/stainless_steel', C: '#forge:tools/wrenches', D: '#forge:rods/long/stainless_steel' }).id('gtceu:shaped/stainless_steel_whisk') event.recipes.gtceu.extruder('gtceu:stainless_steel_whisk') - .itemInputs('7x #forge:ingots/stainless_steel') + .itemInputs('4x #forge:ingots/stainless_steel') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:stainless_steel_whisk') - .duration(GTMaterials.StainlessSteel.getMass() * 7) + .duration(GTMaterials.StainlessSteel.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + + event.remove({ id: 'gtceu:extractor/extract_stainless_steel_whisk' }) event.shaped('gtceu:titanium_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/titanium', C: '#forge:tools/wrenches', D: '#forge:rods/long/titanium' }).id('gtceu:shaped/titanium_whisk') event.recipes.gtceu.extruder('gtceu:titanium_whisk') - .itemInputs('7x #forge:ingots/titanium') + .itemInputs('4x #forge:ingots/titanium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:titanium_whisk') - .duration(GTMaterials.Titanium.getMass() * 7) + .duration(GTMaterials.Titanium.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + + event.remove({ id: 'gtceu:extractor/extract_titanium_whisk' }) event.shaped('gtceu:tungsten_steel_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/tungsten_steel', C: '#forge:tools/wrenches', D: '#forge:rods/long/tungsten_steel' }).id('gtceu:shaped/tungsten_steel_whisk') event.recipes.gtceu.extruder('gtceu:tungsten_steel_whisk') - .itemInputs('7x #forge:ingots/tungsten_steel') + .itemInputs('4x #forge:ingots/tungsten_steel') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:tungsten_steel_whisk') - .duration(GTMaterials.TungstenSteel.getMass() * 7) + .duration(GTMaterials.TungstenSteel.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + + event.remove({ id: 'gtceu:extractor/extract_tungsten_steel_whisk' }) event.shaped('gtceu:rhodium_plated_palladium_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/rhodium_plated_palladium', C: '#forge:tools/wrenches', D: '#forge:rods/long/rhodium_plated_palladium' }).id('gtceu:shaped/rhodium_plated_palladium_whisk') event.recipes.gtceu.extruder('gtceu:rhodium_plated_palladium_whisk') - .itemInputs('7x #forge:ingots/rhodium_plated_palladium') + .itemInputs('4x #forge:ingots/rhodium_plated_palladium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:rhodium_plated_palladium_whisk') - .duration(GTMaterials.RhodiumPlatedPalladium.getMass() * 7) + .duration(GTMaterials.RhodiumPlatedPalladium.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + + event.remove({ id: 'gtceu:extractor/extract_rhodium_plated_palladium_whisk' }) event.shaped('gtceu:naquadah_alloy_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/naquadah_alloy', C: '#forge:tools/wrenches', D: '#forge:rods/long/naquadah_alloy' }).id('gtceu:shaped/naquadah_alloy_whisk') event.recipes.gtceu.extruder('gtceu:naquadah_alloy_whisk') - .itemInputs('7x #forge:ingots/naquadah_alloy') + .itemInputs('4x #forge:ingots/naquadah_alloy') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:naquadah_alloy_whisk') - .duration(GTMaterials.NaquadahAlloy.getMass() * 7) + .duration(GTMaterials.NaquadahAlloy.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + + event.remove({ id: 'gtceu:extractor/extract_naquadah_alloy_whisk' }) event.shaped('gtceu:darmstadtium_whisk', [ - 'ADC', - 'DDD', - 'DDD' + 'ABC', + 'D D', + 'D D' ], { A: '#forge:tools/hammers', + B: '#forge:rings/darmstadtium', C: '#forge:tools/wrenches', D: '#forge:rods/long/darmstadtium' }).id('gtceu:shaped/darmstadtium_whisk') event.recipes.gtceu.extruder('gtceu:darmstadtium_whisk') - .itemInputs('7x #forge:ingots/darmstadtium') + .itemInputs('4x #forge:ingots/darmstadtium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:darmstadtium_whisk') - .duration(GTMaterials.Darmstadtium.getMass() * 7) + .duration(GTMaterials.Darmstadtium.getMass() * 4) .EUt(GTValues.VA[GTValues.MV]) + .removePreviousMaterialInfo() .addMaterialInfo(true) + event.remove({ id: 'gtceu:extractor/extract_darmstadtium_whisk' }) + // #endregion // #region Presses From f3db386af39229ca47b8e4207d5c5fdfc8c7fe84 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 10 Nov 2025 22:32:29 +0000 Subject: [PATCH 056/628] langs --- kubejs/assets/ad_astra/lang/en_us.json | 4 +- kubejs/assets/gtceu/lang/ja_jp.json | 12 +- kubejs/assets/species/lang/zh_cn.json | 516 ++++++++++++++++++++++++- kubejs/assets/tfg/lang/en_us.json | 10 +- kubejs/assets/tfg/lang/ja_jp.json | 325 ++++++++-------- kubejs/assets/tfg/lang/pt_br.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 18 +- 7 files changed, 702 insertions(+), 185 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/en_us.json b/kubejs/assets/ad_astra/lang/en_us.json index c93236e0b..600bf4bb5 100644 --- a/kubejs/assets/ad_astra/lang/en_us.json +++ b/kubejs/assets/ad_astra/lang/en_us.json @@ -46,8 +46,8 @@ "block.ad_astra.polished_mars_stone": "Polished Argillite", "block.ad_astra.polished_mars_stone_slab": "Polished Argillite Slab", "block.ad_astra.polished_mars_stone_stairs": "Polished Argillite Stairs", - "block.ad_astra.conglomerate": "Martian Conglomerate", - "block.ad_astra.polished_conglomerate": "Polished Martian Conglomerate", + "block.ad_astra.conglomerate": "Mesa Caprock", + "block.ad_astra.polished_conglomerate": "Polished Mesa Caprock", "block.ad_astra.venus_sand": "Trachyte Sand", "block.ad_astra.venus_stone": "Raw Trachyte", "block.ad_astra.venus_cobblestone": "Trachyte Cobble", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 58d2335b2..853e2e2dc 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -7,9 +7,9 @@ "block.gtceu.large_solar_panel_tier2": "§b大型ソーラーアレイMK II", "block.gtceu.large_solar_panel_tier3": "§c大型ソーラーアレイMK III", "block.gtceu.gas_pressurizer": "ガス圧縮機", - "block.gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", - "block.gtceu.heat_exchanger": "Heat Exchanger", - "block.gtceu.fission_reactor": "Fission Reactor", + "block.gtceu.nuclear_fuel_factory": "核分裂燃料形成機", + "block.gtceu.heat_exchanger": "熱交換機", + "block.gtceu.fission_reactor": "核分裂炉", "block.gtceu.evaporation_tower": "Evaporation Tower", "block.gtceu.ostrum_harvester": "オストラム採取機", "block.gtceu.moon_dust_harvester": "月面採集機", @@ -39,9 +39,9 @@ "gtceu.large_solar_panel_tier2": "大型ソーラーアレイMK II", "gtceu.large_solar_panel_tier3": "大型ソーラーアレイMK III", "gtceu.gas_pressurizer": "ガス圧縮機", - "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", - "gtceu.heat_exchanger": "Heat Exchanger", - "gtceu.fission_reactor": "Fission Reactor", + "gtceu.nuclear_fuel_factory": "核分裂燃料形成機", + "gtceu.heat_exchanger": "熱交換機", + "gtceu.fission_reactor": "核分裂炉", "gtceu.evaporation_tower": "Evaporation Tower", "gtceu.ostrum_harvester": "オストラム採取機", "gtceu.moon_dust_harvester": "月面採集機", diff --git a/kubejs/assets/species/lang/zh_cn.json b/kubejs/assets/species/lang/zh_cn.json index 011644687..67144ac9a 100644 --- a/kubejs/assets/species/lang/zh_cn.json +++ b/kubejs/assets/species/lang/zh_cn.json @@ -1,5 +1,517 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "block.species.alphacene_moss_block": "霜原伞盖", - "block.species.petrified_egg": "黏涕兽刷怪蛋" + "block.species.alphacene_moss_block": "首新世苔藓块", + "block.species.petrified_egg": "石化蛋", + "itemGroup.species.species": "物种", + "item.species.logo": "物种", + "advancements.species.root.title": "物种", + "advancements.species.root.description": "", + "advancements.species.v1.title": "物种复苏 I: 发布", + "advancements.species.v1.description": "此次更新的主题是没有主题", + "species.developer.made_by": "制作者:", + "species.developer.contribution_level.developer": " ", + "species.developer.contribution_level.guest_artist": "(客座艺术家)", + "species.developer.contribution_level.composer": "(作曲家)", + "species.developer.contribution_level.contributor": "(贡献者)", + "key.categories.species": "物种", + "key.extend": "簧颈兽伸长", + "key.retract": "簧颈兽缩短", + "item.species.whenEaten": "食用时:", + "entity.species.wraptor": "诡恐鸟", + "block.species.wraptor_egg": "诡恐鸟蛋", + "block.species.cracked_wraptor_egg": "破裂的诡恐鸟蛋", + "item.species.cracked_wraptor_egg": "破裂的诡恐鸟蛋", + "item.species.wraptor_spawn_egg": "诡恐鸟刷怪蛋", + "effect.species.wither_resistance": "凋零抗性", + "effect.species.wither_resistance.description": "消除凋零效果并防止受到此效果影响。", + "subtitles.entity.species.wraptor.aggro": "诡恐鸟:啼叫", + "subtitles.entity.species.wraptor.agitated": "诡恐鸟:躁鸣", + "subtitles.entity.species.wraptor.attack": "诡恐鸟:啄击", + "subtitles.entity.species.wraptor.death": "诡恐鸟:死亡", + "subtitles.entity.species.wraptor.hurt": "诡恐鸟:受伤", + "subtitles.entity.species.wraptor.idle": "诡恐鸟:咯咯叫", + "subtitles.entity.species.wraptor.shear": "剪刀:剪断", + "subtitles.entity.species.wraptor.step": "诡恐鸟:脚步声", + "subtitles.entity.species.wraptor.feather_loss": "诡恐鸟:脱羽", + "subtitles.entity.species.wraptor.egg": "诡恐鸟:下蛋", + "subtitles.block.species.wraptor_egg.crack": "诡恐鸟蛋:裂开", + "subtitles.block.species.wraptor_egg.hatch": "诡恐鸟蛋:孵化", + "subtitles.item.species.cracked_wraptor_egg.slurp": "吮吸", + "advancements.species.shear_wraptor_completely.title": "大聪明", + "advancements.species.shear_wraptor_completely.description": "剪光诡恐鸟的羽毛并准备好面临后果", + "advancements.species.hatch_wraptor.title": "深沉的爱", + "advancements.species.hatch_wraptor.description": "用铁砧来孵化诡恐鸟蛋", + "entity.species.deepfish": "深吟鱼", + "item.species.deepfish_spawn_egg": "深吟鱼刷怪蛋", + "item.species.deepfish_bucket": "深吟鱼桶", + "subtitles.entity.species.deepfish.flop": "深吟鱼:扑腾", + "subtitles.entity.species.deepfish.death": "深吟鱼:死亡", + "subtitles.entity.species.deepfish.hurt": "深吟鱼:受伤", + "subtitles.entity.species.deepfish.idle": "深吟鱼:嚎叫", + "advancements.species.deepfish_in_a_bucket.title": "深渊的吟唱", + "advancements.species.deepfish_in_a_bucket.description": "用铁桶捕获一只深吟鱼", + "entity.species.stackatick": "叠行虫", + "item.species.stackatick_spawn_egg": "叠行虫刷怪蛋", + "subtitles.entity.species.stackatick.eat": "叠行虫:进食", + "subtitles.entity.species.stackatick.death": "叠行虫:死亡", + "subtitles.entity.species.stackatick.hurt": "叠行虫:受伤", + "subtitles.entity.species.stackatick.idle": "叠行虫:敲击", + "subtitles.entity.species.stackatick.snoring": "叠行虫:打鼾", + "subtitles.entity.species.stackatick.step": "叠行虫:前进", + "subtitles.entity.species.stackatick.sit": "叠行虫:坐下", + "subtitles.entity.species.stackatick.stand_up": "叠行虫:起身", + "entity.species.birt": "哔特", + "item.species.birt_spawn_egg": "哔特刷怪蛋", + "item.species.birt_egg": "哔特蛋", + "entity.species.birt_egg": "哔特蛋", + "item.species.birt_egg.desc.birtd": "哔哔啵啵(0:03)", + "item.species.birt_egg.desc.effect": "禁止移动", + "block.species.birt_dwelling": "哔特巢", + "item.species.music_disc_dial": "音乐唱片", + "item.species.music_disc_dial.desc": "lunarbunten - dial", + "effect.species.birtd": "哔哔啵啵", + "effect.species.birtd.description": "禁止实体移动,并在受影响的实体上方产生哔特粒子效果。", + "subtitles.entity.species.birt.death": "哔特:死亡", + "subtitles.entity.species.birt.hurt": "哔特:受伤", + "subtitles.entity.species.birt.idle": "哔特:啁啾", + "subtitles.entity.species.birt.fly": "哔特:飞行", + "subtitles.entity.species.birt.search": "哔特:搜寻", + "subtitles.entity.species.birt.message": "哔特:通信", + "subtitles.effect.birtd.applied": "哔特:哔哔啵啵", + "subtitles.block.species.birt_dwelling.collect": "哔特蛋:收集", + "subtitles.block.species.birt_dwelling.enter": "哔特:入巢", + "subtitles.block.species.birt_dwelling.exit": "哔特:离巢", + "subtitles.block.species.birt_dwelling.work": "哔特:密谋", + "subtitles.item.species.birt_egg.throw": "哔特蛋:飞出", + "subtitles.item.species.birt_egg.hit": "哔特蛋:击中", + "block.species.birtday_cake": "哔特蛋糕", + "container.species.birtday_cake": "设置生日信息", + "item.species.birtday_cake_slice": "哔特蛋糕片", + "item.species.birtday_cake_slice.desc.birtd": "哔哔啵啵(0:10)", + "item.species.birtday_cake_slice.desc.effect": "禁止移动", + "subtitles.block.species.birtday_cake.blow": "哔特蛋糕:传播信号", + "messages.species.birtday": "一只小小哔特告诉我 % 今天 % 岁了!", + "advancements.species.birt_egg_at_warden.title": "鸟进制", + "advancements.species.birt_egg_at_warden.description": "向监守者扔一枚哔特蛋,然后活着讲述这个故事", + "entity.species.limpet": "矿壳贝", + "item.species.limpet_spawn_egg": "矿壳贝刷怪蛋", + "subtitles.entity.species.limpet.death": "矿壳贝:死亡", + "subtitles.entity.species.limpet.hurt": "矿壳贝:受伤", + "subtitles.entity.species.limpet.idle": "矿壳贝:嘎吱声", + "subtitles.entity.species.limpet.step": "矿壳贝:脚步声", + "subtitles.entity.species.limpet.deflect": "矿壳贝:防御", + "subtitles.entity.species.limpet.break": "矿壳贝:外壳破裂", + "advancements.species.break_limpet.title": "黄金矿工", + "advancements.species.break_limpet.description": "打破矿壳贝的外壳以收集它身上的矿物", + "advancements.species.silk_touch_break_limpet.title": "买株还椟", + "advancements.species.silk_touch_break_limpet.description": "用精准采集破开矿壳贝的外壳", + "advancements.species.v2.title": "物种复苏 II:那些被时间以往的生物", + "advancements.species.v2.description": "此次更新的主题就是设计了许多有趣的史前生物。", + "block.species.red_suspicious_sand": "可疑的红沙", + "block.species.bone_bark": "皮质骨", + "block.species.bone_vertebra": "脊骨", + "block.species.bone_spike": "刺状骨", + "item.species.music_disc_lapidarian": "音乐唱片", + "item.species.music_disc_lapidarian.desc": "Exclaim! - Lapidarian", + "advancements.species.ancient_eggs.title": "我们回来了", + "advancements.species.ancient_eggs.description": "在你的物品栏中集齐所有种类的远古蛋", + "entity.species.treeper": "树立怕", + "item.species.treeper_spawn_egg": "树立怕刷怪蛋", + "item.species.ancient_pinecone": "远古松果", + "block.species.trooper": "果立怕", + "block.species.potted_trooper": "果立怕盆栽", + "entity.species.trooper": "果立怕", + "item.species.trooper_spawn_egg": "果立怕刷怪蛋", + "subtitles.entity.species.treeper.death": "树立怕:死亡", + "subtitles.entity.species.treeper.hurt": "树立怕:受伤", + "subtitles.entity.species.treeper.idle": "树立怕:低语", + "subtitles.entity.species.treeper.idle_planted": "树:可疑的噼啪声", + "subtitles.entity.species.treeper.plant": "树立怕:扎根", + "subtitles.entity.species.treeper.uproot": "树立怕:拔根而起", + "subtitles.entity.species.treeper.step": "树立怕:游荡", + "subtitles.entity.species.treeper.shake_fail": "树立怕:晃动", + "subtitles.entity.species.treeper.shake_success": "树立怕:掉落树苗", + "subtitles.entity.species.trooper.death": "果立怕:死亡", + "subtitles.entity.species.trooper.hurt": "果立怕:受伤", + "subtitles.entity.species.trooper.step": "果立怕:小步疾跑", + "subtitles.entity.species.trooper.uproot": "果立怕:拔根而起", + "subtitles.entity.species.trooper.plant": "果立怕:扎根", + "advancements.species.burn_treeper_into_place.title": "神经损伤", + "advancements.species.burn_treeper_into_place.description": "灼烧树立怕以防止它移动", + "advancements.species.tame_trooper.title": "我为树立怕代言", + "advancements.species.tame_trooper.description": "种下远古松果并将其生长出的果立怕驯服", + "entity.species.goober": "黏涕兽", + "entity.species.goober_goo": "黏涕兽鼻涕", + "item.species.goober_spawn_egg": "黏涕兽刷怪蛋", + "block.species.alphacene_moss_carpet": "首新世覆地苔藓", + "block.species.alphacene_grass_block": "首新世草方块", + "block.species.alphacene_grass": "首新世草", + "block.species.alphacene_tall_grass": "首新世高草丛", + "block.species.alphacene_mushroom": "首新世蘑菇", + "block.species.alphacene_mushroom_block": "首新世蘑菇方块", + "block.species.alphacene_mushroom_growth": "首新世蘑菇增生体", + "subtitles.entity.species.goober.death": "黏涕兽:死亡", + "subtitles.entity.species.goober.hurt": "黏涕兽:受伤", + "subtitles.entity.species.goober.idle": "黏涕兽:咕哝", + "subtitles.entity.species.goober.idle_resting": "黏涕兽:困倦地呻吟", + "subtitles.entity.species.goober.sneeze": "黏涕兽:打喷嚏", + "subtitles.entity.species.goober.lay_down": "黏涕兽:休憩", + "subtitles.entity.species.goober.rear_up": "黏涕兽:站立", + "subtitles.entity.species.goober.step": "黏涕兽:脚步声", + "subtitles.entity.species.goober.yawn": "黏涕兽:打哈欠", + "subtitles.entity.species.goober.eat": "黏涕兽:进食", + "subtitles.block.species.petrified_egg.crack": "石化蛋:裂开", + "subtitles.block.species.petrified_egg.hatch": "石化蛋:孵化", + "subtitles.block.species.petrified_egg.plop": "黏涕兽:下蛋", + "jei.species.goober_goo": "黏涕兽鼻涕转换", + "advancements.species.obtain_petrified_egg.title": "乏味蛋", + "advancements.species.obtain_petrified_egg.description": "获得石化蛋", + "advancements.species.tickle_goober.title": "过敏季节", + "advancements.species.tickle_goober.description": "让黏涕兽喷嚏出黏涕兽黏液,使你周围的世界史前化", + "entity.species.cruncher": "贪咀兽", + "bar.species.cruncher": "%s的食欲", + "item.species.cruncher_spawn_egg": "贪咀兽刷怪蛋", + "block.species.cruncher_egg": "贪咀兽蛋", + "block.species.cruncher_pellet": "贪咀兽食团", + "subtitles.entity.species.cruncher.death": "贪咀兽:死亡", + "subtitles.entity.species.cruncher.hurt": "贪咀兽:受伤", + "subtitles.entity.species.cruncher.idle": "贪咀兽:咕哝", + "subtitles.entity.species.cruncher.step": "贪咀兽:摇摆行走", + "subtitles.entity.species.cruncher.roar": "贪咀兽:咆哮", + "subtitles.entity.species.cruncher.spit": "贪咀兽:吐出食团", + "subtitles.entity.species.cruncher.stomp": "贪咀兽:踩跺", + "subtitles.entity.species.cruncher.stun": "贪咀兽:眩晕", + "death.attack.crunch": "%1$s被践踏了", + "death.attack.crunch.item": "%1$s被%2$s用%3$s践踏了", + "death.attack.crunch.player": "%1$s被%2$s践踏了", + "effect.species.gut_feeling": "胃知恐惧", + "effect.species.gut_feeling.description": "受影响的实体的胃发出隆隆声并抽动,让它们感觉到好像有个“大”的正准备攻击。", + "subtitles.effect.species.gut_feeling.applied": "肠胃闷响", + "subtitles.effect.species.gut_feeling.spawn": "肠胃痉挛", + "subtitles.effect.species.gut_feeling.roar": "肠胃不适", + "jei.species.cruncher_pellet": "贪咀兽:狩猎", + "jei.species.cruncher_pellet.mob": "狩猎对象:%s", + "jei.species.cruncher_pellet.amount": "%s 到 %s 尸体", + "advancements.species.obtain_cruncher_egg.title": "美味蛋", + "advancements.species.obtain_cruncher_egg.description": "获得贪咀兽蛋", + "advancements.species.feed_cruncher.title": "割肉饲虎", + "advancements.species.feed_cruncher.description": "尝试去满足贪咀兽的食欲", + "entity.species.mammutilation": "残缺猛犸", + "item.species.mammutilation_spawn_egg": "残缺猛犸刷怪蛋", + "item.species.ichor_bottle": "脓液瓶", + "item.species.youth_potion": "还童药水", + "block.species.ichor": "脓液", + "block.species.frozen_meat": "冰冻肉块", + "block.species.frozen_hair": "冰冻毛皮", + "subtitles.entity.species.mammutilation.death": "残缺猛犸:再次死亡", + "subtitles.entity.species.mammutilation.hurt": "残缺猛犸:更加受伤", + "subtitles.entity.species.mammutilation.idle": "残缺猛犸:试图呼吸", + "subtitles.entity.species.mammutilation.cough": "残缺猛犸:咳嗽", + "subtitles.entity.species.mammutilation.howl": "残缺猛犸:嚎叫", + "subtitles.entity.species.mammutilation.bleed": "残缺猛犸:流血", + "subtitles.entity.species.mammutilation.mammutiful_idle": "残缺猛犸:游荡", + "subtitles.item.species.ichor_bottle.applied": "脓液:治疗", + "subtitles.item.species.youth_potion.baby": "返老还童", + "subtitles.item.species.youth_potion.stumped": "抑制生长", + "advancements.species.look_at_mammutilation.title": "它还...活着?", + "advancements.species.look_at_mammutilation.description": "利用闪电的能量将残缺猛犸复活", + "advancements.species.turn_mob_into_baby.title": "这还符合伦理吗?", + "advancements.species.turn_mob_into_baby.description": "用还童药水回溯岁月,让一只生物回到幼年形态", + "entity.species.springling": "簧颈兽", + "item.species.springling_spawn_egg": "簧颈兽刷怪蛋", + "block.species.springling_egg": "簧颈兽蛋", + "springling.keybinds": "按下%s来伸长;按下%s来缩短", + "subtitles.entity.species.springling.death": "簧颈兽:死亡", + "subtitles.entity.species.springling.hurt": "簧颈兽:受伤", + "subtitles.entity.species.springling.idle": "簧颈兽:哼唧", + "subtitles.entity.species.springling.step": "簧颈兽:脚步声", + "subtitles.entity.species.springling.eat": "簧颈兽:进食", + "subtitles.entity.species.springling.extend": "簧颈兽:伸缩", + "subtitles.entity.species.springling.extend_finish": "簧颈兽:伸长完毕", + "subtitles.block.species.springling_egg.crack": "簧颈兽蛋:裂开", + "subtitles.block.species.springling_egg.hatch": "簧颈兽蛋:孵化", + "subtitles.block.species.springling_egg.plop": "簧颈兽:下蛋", + "advancements.species.obtain_springling_egg.title": "趣味蛋", + "advancements.species.obtain_springling_egg.description": "获得簧颈兽蛋", + "advancements.species.extend_springling_fully.title": "叮!", + "advancements.species.extend_springling_fully.description": "驯服簧颈兽并让它将脖子伸到最长", + "advancements.species.v3.title": "物种复苏 III:噩梦连连", + "advancements.species.v3.description": "此次更新的主题是为游戏添加更多特殊的敌对生物。", + "entity.species.ghoul": "食尸鬼", + "item.species.ghoul_spawn_egg": "食尸鬼刷怪蛋", + "item.species.ghoul_tongue": "食尸鬼舌头", + "block.species.ghoul_head": "食尸鬼头颅", + "subtitles.entity.species.ghoul.idle": "食尸鬼:咆哮", + "subtitles.entity.species.ghoul.death": "食尸鬼:死亡", + "subtitles.entity.species.ghoul.hurt": "食尸鬼:受伤", + "subtitles.entity.species.ghoul.aggro": "食尸鬼:尖叫", + "subtitles.entity.species.ghoul.attack": "食尸鬼:舔舐", + "subtitles.entity.species.ghoul.infect": "食尸鬼:感染", + "subtitles.entity.species.ghoul.confused": "食尸鬼:迷失方向", + "subtitles.entity.species.ghoul.searching": "食尸鬼:聆听", + "subtitles.entity.species.ghoul.angry": "食尸鬼:喘气", + "subtitles.entity.species.ghoul.step": "食尸鬼:爬行", + "subtitles.effect.species.bloodlust.feed": "嗜血", + "subtitles.effect.species.bloodlust.removed": "嗜血效果消失", + "death.attack.torn": "%1$s 被撕成碎片", + "death.attack.torn.item": "%1$s 被 %2$s 用 %3$s 撕成了碎片", + "death.attack.torn.player": "%1$s 被 %2$s 撕成了碎片", + "effect.species.bloodlust": "嗜血", + "effect.species.bloodlust.description": "禁止食用食物,但可以通过击杀生物来补充饥饿值与饱食度。更强大的生物可提供更多饱食度。", + "item.minecraft.lingering_potion.effect.bloodlust": "滞留型嗜血药水", + "item.minecraft.potion.effect.bloodlust": "嗜血药水", + "item.minecraft.splash_potion.effect.bloodlust": "喷溅型嗜血药水", + "item.minecraft.tipped_arrow.effect.bloodlust": "嗜血之箭", + "effect.species.bloodlust.reason": "你更渴望其他的东西… ", + "advancements.species.aggro_ghoul.title": "红灯", + "advancements.species.aggro_ghoul.description": "在错误的时机移动会引来食尸鬼的攻击", + "advancements.species.survive_ghoul.title": "绿灯", + "advancements.species.survive_ghoul.description": "不要在食尸鬼搜寻时被其发现", + "entity.species.quake": "震击者", + "item.species.quake_spawn_egg": "震击者刷怪蛋", + "block.species.kinetic_core": "动力核心", + "subtitles.entity.species.quake.absorb": "震击者:吸收伤害", + "subtitles.entity.species.quake.charge": "震击者:开始蓄力", + "subtitles.entity.species.quake.attack": "震击者:释放伤害", + "subtitles.entity.species.quake.unscrews": "震击者:拉伸", + "subtitles.entity.species.quake.finishes_unscrewing": "震击者:完成拉伸", + "subtitles.entity.species.quake.death": "震击者:死亡", + "subtitles.entity.species.quake.hurt": "震击者:受伤", + "subtitles.entity.species.quake.shield": "震击者:格挡", + "subtitles.entity.species.quake.step": "震击者:挪动", + "subtitles.entity.species.quake.recharge": "震击者:重整旗鼓", + "block.species.quake_head": "震击者头颅", + "entity.species.deflector_dummy": "动能假人", + "item.species.deflector_dummy": "动能假人", + "item.species.deflector_dummy.desc.powered": "被红石充能时:", + "item.species.deflector_dummy.desc.damage": "伤害吸收最大80", + "subtitles.entity.species.deflector_dummy.place": "动能假人:放置", + "subtitles.entity.species.deflector_dummy.break": "动能假人:破坏", + "subtitles.entity.species.deflector_dummy.hurt": "动能假人:击打", + "subtitles.entity.species.deflector_dummy.deflect": "动能假人:震击", + "subtitles.entity.species.deflector_dummy.absorb": "动能假人:吸收伤害", + "subtitles.entity.species.deflector_dummy.attack": "动能假人:释放伤害", + "item.species.ricoshield": "反击之盾", + "item.species.ricoshield.desc.blocking": "格挡时:", + "item.species.ricoshield.desc.damage": "伤害吸收最大40", + "subtitles.item.species.ricoshield.absorb": "盾牌:吸收伤害", + "subtitles.item.species.ricoshield.attack": "盾牌:释放伤害", + "death.attack.kinetic": "%2$s 让 %1$s 体验了里氏震级", + "death.attack.kinetic.player": "%2$s 让 %1$s 体验了里氏震级", + "death.attack.kinetic.item": "%2$s 用 %3$s 让 %1$s 体验了里氏震级", + "item.species.music_disk_spawner": "音乐唱片", + "item.species.music_disk_spawner.desc": "Exclaim! - Spawner", + "advancements.species.kill_ten_mobs_with_quake.title": "震耳欲聋", + "advancements.species.kill_ten_mobs_with_quake.description": "用一次动能假人的冲击波击杀10个生物", + "advancements.species.kill_all_prehistoric_mobs_with_quake.title": "生物大灭绝", + "advancements.species.kill_all_prehistoric_mobs_with_quake.description": "使用动能假人的冲击波一次击杀游戏中每一种史前生物", + "entity.species.spectre": "幻灵", + "item.species.spectre_spawn_egg": "幻灵刷怪蛋", + "item.species.broken_links": "损坏的锁链", + "item.species.spectre_light.color": "颜色:", + "item.species.spectre_light.dyeable": "可染色", + "block.species.speclight": "幻灵灯", + "block.species.chaindelier": "锁链吊灯", + "block.species.hopelight": "希望之光", + "item.species.spectralibur": "幻灵圣剑", + "item.species.spectralibur.no_strength": "汝未有驾驭吾之力…", + "item.species.spectralibur.peaceful": "汝之勇气安在?", + "item.species.spectralibur.summon": "%1$s 碎片", + "item.species.spectralibur.desc": "将死去的灵魂转化为幻灵", + "item.species.spectralibur.desc.release": "可释放:", + "item.species.spectralibur.desc.spectre.1": "%1$s 幻灵", + "item.species.spectralibur.desc.spectre.2": "%1$s 个幻灵", + "item.species.spectralibur.desc.jousting_spectre.1": "%1$s 迅捷幻灵", + "item.species.spectralibur.desc.jousting_spectre.2": "%1$s 个迅捷幻灵", + "item.species.spectralibur.desc.hulking_spectre.1": "%1$s 巨力幻灵", + "item.species.spectralibur.desc.hulking_spectre.2": "%1$s 个巨力幻灵", + "block.species.spectralibur_pedestal": "幻灵圣剑底座", + "block.species.spectralibur": "幻灵圣剑", + "subtitles.entity.species.spectre.death": "幻灵:消散", + "subtitles.entity.species.spectre.hurt": "幻灵:受伤", + "subtitles.entity.species.spectre.idle": "幻灵:低语声", + "subtitles.entity.species.spectre.fly": "幻灵:漂浮", + "subtitles.entity.species.spectre.attack": "幻灵:铿锵声", + "subtitles.entity.species.spectre.hulking_attack": "幻灵:捶打", + "subtitles.entity.species.spectre.jousting_attack": "幻灵:叮当声", + "subtitles.entity.species.spectre.spot": "幻灵:追随目标", + "subtitles.entity.species.spectre.spawn": "幻灵:生成", + "subtitles.entity.species.spectre.dash": "幻灵:冲刺", + "subtitles.block.species.spectralibur.can_be_pulled": "幻灵圣剑松动", + "subtitles.block.species.spectralibur.pull": "幻灵圣剑拔出", + "subtitles.block.species.spectralibur.extract": "幻灵圣剑拔出裂缝", + "subtitles.block.species.spectralibur.go_in": "幻灵圣剑:正在回退!", + "subtitles.block.species.spectralibur.go_in_fully": "幻灵圣剑:重归石中!", + "subtitles.block.species.spectralibur.cant_pull": "幻灵圣剑无法拔出裂缝", + "subtitles.block.species.spectralibur_pedestal.activate": "灵魂释放", + "subtitles.block.species.spectralibur_pedestal.deactivate": "底座:失活", + "subtitles.block.species.speclight.on": "幻灵灯:开启", + "subtitles.block.species.speclight.off": "幻灵灯:关闭", + "subtitles.item.species.spectralibur.collect_soul": "灵魂收集", + "subtitles.item.species.spectralibur.use_soul": "灵魂选定", + "subtitles.item.species.spectralibur.release_spectre": "灵魂释放", + "subtitles.item.species.spectralibur.start_charging": "幻灵圣剑:充能", + "advancements.species.start_spectre_challenge.title": "幻灵圣典,开始!", + "advancements.species.start_spectre_challenge.description": "挑战幻灵圣剑密室", + "advancements.species.summon_spectre.title": "一魂换一魂", + "advancements.species.summon_spectre.description": "执掌幻灵圣剑,驭使灵魂之力。", + "entity.species.wicked": "邪火法师", + "item.species.wicked_spawn_egg": "邪火法师刷怪蛋", + "block.species.wicked_candle": "邪火蜡烛", + "effect.species.tanked": "厚躯", + "effect.species.tanked.description": "邪火效果。随着等级提升,赋予更多生命值、更多伤害,并降低移动速度。使受影响的实体从外观上看起来更宽。", + "effect.species.snatched": "夺躯", + "effect.species.snatched.description": "邪火效果。根据等级提升移动速度。使受影响的实体从外观上看起来更高更瘦。", + "effect.species.combustion": "燃躯", + "effect.species.combustion.description": "邪火效果。使受影响的实体在死亡时爆炸。爆炸范围和方块破坏强度随等级增加。", + "effect.species.iron_will": "坚毅", + "effect.species.iron_will.description": "邪火效果。免疫一切击退。", + "item.species.wicked_swapper": "邪火换位币", + "item.species.wicked_wax": "邪火蜡", + "item.species.monster_meal": "混沌食品", + "item.species.monster_meal.desc.effect": "使食用的实体获得一个随机的邪火效果", + "item.species.smoke_bomb": "烟雾弹", + "item.species.smoke_bomb.desc.invisibility": "隐身 (0:15)", + "item.species.smoke_bomb.desc.speed": "速度 III (0:02)", + "item.species.smoke_bomb.desc.speed.effect": "+60% 移动速度", + "item.species.wicked_dope": "邪火膏", + "item.species.wicked_dope.desc.effect": "使所有生效中的效果等级 +1 ", + "item.species.wicked_dope.no_effects": "你没有任何效果来提升", + "item.species.wicked_mask": "邪火面具", + "item.species.wicked_mask.desc.apply": "伪装成绑定的生物", + "item.species.wicked_mask.desc.disguise.1": "%1$s + %2$s", + "item.species.wicked_mask.desc.disguise.2": "选择生物", + "item.species.wicked_treat": "邪火点心", + "item.species.wicked_treat.desc": "只能喂给宠物", + "item.species.wicked_treat.desc.snatched": "夺躯 II (0:45)", + "item.species.wicked_treat.desc.iron_will": "坚毅 (0:45)", + "item.species.wicked_treat.desc.regeneration": "生命恢复 (0:45)", + "item.species.wicked_treat.desc.strength": "力量 (0:20)", + "subtitles.entity.species.wicked.death": "邪火法师:死亡", + "subtitles.entity.species.wicked.hurt": "邪火法师:受伤", + "subtitles.entity.species.wicked.idle": "邪火法师:咯咯笑", + "subtitles.entity.species.wicked.haunt": "邪火法师:附身", + "subtitles.entity.species.wicked.idle_haunting": "邪火法师:讥笑", + "subtitles.entity.species.wicked.shoot": "邪火法师:发射", + "subtitles.entity.species.wicked.spot": "邪火法师:跟随生物", + "subtitles.entity.species.wicked.stop_haunting": "邪火法师:离开附身实体", + "subtitles.item.species.wicked_mask.link": "邪火面具:绑定", + "subtitles.item.species.wicked_mask.equip": "邪火面具:粘黏声", + "subtitles.item.species.wicked_swapper.throw": "邪火换位币:掷空", + "subtitles.item.species.wicked_swapper.fail": "邪火换位币:落地", + "subtitles.item.species.wicked_swapper.teleport": "邪火换位币:换位", + "subtitles.item.species.smoke_bomb.charge": "玩家:准备", + "subtitles.item.species.smoke_bomb.use": "烟雾弹:爆炸", + "subtitles.item.species.wicked_wax.eat": "进食", + "subtitles.item.species.monster_meal.apply": "随机效果激活", + "subtitles.item.species.wicked_treat.apply": "宠物提升", + "subtitles.item.species.wicked_dope.boost": "效果提升", + "subtitles.item.species.wicked_dope.fail": "提升失败", + "advancements.species.wicked_mask_wither.title": "我变成了凋零", + "advancements.species.wicked_mask_wither.description": "使用邪火面具伪装成凋零", + "advancements.species.wicked_stop_haunting.title": "超度", + "advancements.species.wicked_stop_haunting.description": "让一个邪火法师停止附身生物", + "entity.species.bewereager": "渴血狼人", + "item.species.bewereager_spawn_egg": "渴血狼人刷怪蛋", + "item.species.werefang": "狼人獠牙", + "item.species.crankbow": "曲柄连弩", + "item.species.crankbow.fullness": "%s/%s", + "item.species.crankbow.desc": "连发提速:连发数越多,射速越快。", + "block.species.cranktrap": "捕兽夹", + "enchantment.species.capacity": "容量", + "enchantment.species.capacity.desc": "增加曲柄连弩的装填容量", + "enchantment.species.sparing": "节约", + "enchantment.species.sparing.desc": "射击时有几率不消耗箭矢", + "enchantment.species.quick_crank": "快速上弦", + "enchantment.species.quick_crank.desc": "减少连发加速所需的次数", + "enchantment.species.scattershot": "溅射", + "enchantment.species.scattershot.desc": "取决于射速,可发射多支箭矢", + "block.species.hopeful_banner": "希望旗帜", + "block.species.bewereager_head": "渴血狼人头颅", + "block.minecraft.banner.species.villager.black": "村民", + "block.minecraft.banner.species.villager.blue": "村民", + "block.minecraft.banner.species.villager.brown": "村民", + "block.minecraft.banner.species.villager.cyan": "村民", + "block.minecraft.banner.species.villager.gray": "村民", + "block.minecraft.banner.species.villager.green": "村民", + "block.minecraft.banner.species.villager.light_blue": "村民", + "block.minecraft.banner.species.villager.light_gray": "村民", + "block.minecraft.banner.species.villager.lime": "村民", + "block.minecraft.banner.species.villager.magenta": "村民", + "block.minecraft.banner.species.villager.orange": "村民", + "block.minecraft.banner.species.villager.pink": "村民", + "block.minecraft.banner.species.villager.purple": "村民", + "block.minecraft.banner.species.villager.red": "村民", + "block.minecraft.banner.species.villager.white": "村民", + "block.minecraft.banner.species.villager.yellow": "村民", + "effect.species.stuck": "困住", + "effect.species.stuck.description": "阻止所有移动。", + "death.attack.cranktrap": "%1$s 被捕兽夹夹死", + "death.attack.cranktrap.item": "%1$s 在试图使用 %3$s 逃离 %2$s 时,被捕兽夹夹死", + "death.attack.cranktrap.player": "%1$s 在试图逃离 %2$s 时,被捕兽夹夹死", + "subtitles.entity.species.bewereager.idle": "渴血狼人:哼哼声", + "subtitles.entity.species.bewereager.hurt": "渴血狼人:受伤", + "subtitles.entity.species.bewereager.death": "渴血狼人:死亡", + "subtitles.entity.species.bewereager.step": "渴血狼人:潜行", + "subtitles.entity.species.bewereager.stun": "渴血狼人:眩晕", + "subtitles.entity.species.bewereager.slash": "渴血狼人:抓挠", + "subtitles.entity.species.bewereager.bite": "渴血狼人:撕咬", + "subtitles.entity.species.bewereager.howl": "渴血狼人:狼嚎", + "subtitles.entity.species.bewereager.howl_strength": "渴血狼人:大笑", + "subtitles.entity.species.bewereager.jump": "渴血狼人:跳跃", + "subtitles.entity.species.bewereager.land": "渴血狼人:落地", + "subtitles.entity.species.bewereager.shake": "渴血狼人:抖动", + "subtitles.entity.species.bewereager.split": "渴血狼人:分割", + "subtitles.entity.species.bewereager.celebrate": "渴血狼人:庆祝", + "subtitles.entity.species.bewereager.transform": "渴血狼人:转化", + "subtitles.entity.species.bewereager.transform_start": "渴血狼人:开始颤抖", + "subtitles.block.species.cranktrap.open": "捕兽夹:开启", + "subtitles.block.species.cranktrap.close": "捕兽夹:撕咬", + "subtitles.item.species.crankbow.pull": "曲柄连弩:上弦", + "subtitles.item.species.crankbow.shoot": "曲柄连弩:发射", + "subtitles.item.species.crankbow.shoot_spare": "曲柄连弩:节省箭矢", + "subtitles.item.species.crankbow.speed": "曲柄连弩:加速", + "subtitles.item.species.crankbow.stop": "曲柄连弩:减速", + "subtitles.item.species.crankbow.load_arrow": "曲柄连弩:装填箭矢", + "subtitles.item.species.crankbow.remove_arrow": "曲柄连弩:卸下箭矢", + "advancements.species.cure_bewereager.title": "兽医", + "advancements.species.cure_bewereager.description": "慢下来,然后将受诅咒的渴血狼人分解成它的基本成分", + "entity.species.leaf_hanger": "叶悬猎者", + "item.species.leaf_hanger_spawn_egg": "叶悬猎者刷怪蛋", + "subtitles.entity.species.leaf_hanger.shoot": "叶悬猎者:释放诱饵", + "subtitles.entity.species.leaf_hanger.step": "叶悬猎者:寻找藏身之处", + "subtitles.entity.species.leaf_hanger.idle": "叶悬猎者:嘎吱声", + "subtitles.entity.species.leaf_hanger.idle_pulling": "叶悬猎者:垂涎欲滴", + "subtitles.entity.species.leaf_hanger.hurt": "叶悬猎者:受伤", + "subtitles.entity.species.leaf_hanger.death": "叶悬猎者:死亡", + "subtitles.entity.species.leaf_hanger.attack": "叶悬猎者:撕咬", + "subtitles.entity.species.leaf_hanger.catch": "叶悬猎者:抓到猎物", + "entity.species.cliff_hanger": "崖悬猎者", + "item.species.cliff_hanger_spawn_egg": "崖悬猎者刷怪蛋", + "subtitles.entity.species.cliff_hanger.shoot": "崖悬猎者:伸长舌头", + "subtitles.entity.species.cliff_hanger.step": "崖悬猎者:寻找藏身之处", + "subtitles.entity.species.cliff_hanger.idle": "崖悬猎者:嘎吱声", + "subtitles.entity.species.cliff_hanger.idle_pulling": "崖悬猎者:垂涎欲滴", + "subtitles.entity.species.cliff_hanger.hurt": "崖悬猎者:受伤", + "subtitles.entity.species.cliff_hanger.death": "崖悬猎者:死亡", + "subtitles.entity.species.cliff_hanger.attack": "崖悬猎者:撕咬", + "subtitles.entity.species.cliff_hanger.attach": "崖悬猎者:盘踞于顶", + "subtitles.entity.species.coil.place": "绳圈:放置", + "subtitles.entity.species.coil.remove": "绳圈:破坏声", + "subtitles.entity.species.coil.link": "绳圈:连接", + "subtitles.entity.species.coil.adjust": "绳圈:调整", + "subtitles.item.species.harpoon.thrown": "吊索:投掷", + "subtitles.item.species.harpoon.retrieved": "吊索:回收", + "subtitles.item.species.harpoon.anchor": "吊索:锚定", + "subtitles.item.species.harpoon.start_ziplining": "吊索:开始滑动", + "item.species.coil": "绳圈", + "entity.species.coil": "绳圈", + "item.species.harpoon": "吊索", + "entity.species.harpoon": "吊索", + "painting.species.the_composition.title": "合作作者", + "painting.species.the_composition.author": "Yapettoshen", + "advancements.species.fall_for_hanger.title": "坑了我一次", + "advancements.species.fall_for_hanger.description": "掉进了一个悬猎者的陷阱,它们真不要脸!", + "advancements.species.fall_for_hanger_twice.title": "梅开二度", + "advancements.species.fall_for_hanger_twice.description": "又掉进了悬猎者的陷阱,你是不是压根没看路?" } \ 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 038eb716c..dbbda5c91 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -787,7 +787,6 @@ "item.tfg.food.cooked_limpet": "Cooked Limpet", "item.tfg.food.raw_moon_rabbit": "Raw Moon Rabbit", "item.tfg.food.cooked_moon_rabbit": "Cooked Moon Rabbit", - "item.tfg.spawn_egg.moon_rabbit": "Moon Rabbit Spawn Egg", "item.tfg.food.freeze_dried.red_grapes": "Freeze Dried Red Grapes", "item.tfg.food.freeze_dried.white_grapes": "Freeze Dried White Grapes", "item.tfg.food.freeze_dried.glow_berries": "Freeze Dried Glow Berries", @@ -825,10 +824,8 @@ "item.tfg.food.ice_soup": "Ice Soup", "item.tfg.food.raw_glacian_mutton": "Raw Glacian Mutton", "item.tfg.food.cooked_glacian_mutton": "Cooked Glacian Mutton", - "item.tfg.spawn_egg.glacian_ram": "Glacian Spawn Egg", "item.tfg.food.raw_sniffer_beef": "Raw Sniffer Beef", "item.tfg.food.cooked_sniffer_beef": "Cooked Sniffer Beef", - "item.tfg.spawn_egg.sniffer": "Sniffer Spawn Egg", "item.tfg.food.raw_wraptor": "Raw Wraptor", "item.tfg.food.cooked_wraptor": "Cooked Wraptor", "item.tfg.food.raw_springling_collar": "Raw Springling Collar", @@ -859,6 +856,11 @@ "item.tfg.sunflower_product": "Sunflower Cap", "item.tfg.rapeseed_seeds": "Canola Seeds", "item.tfg.rapeseed_product": "Canola Ovules", + "item.tfg.spawn_egg.moon_rabbit": "Moon Rabbit Spawn Egg", + "item.tfg.spawn_egg.surfer": "Surfer Spawn Egg", + "item.tfg.spawn_egg.wraptor": "Wraptor Spawn Egg", + "item.tfg.spawn_egg.glacian_ram": "Glacian Spawn Egg", + "item.tfg.spawn_egg.sniffer": "Sniffer Spawn Egg", "item.tfg.flintlock_mechanism": "Flintlock Mechanism", "item.tfg.advanced_clockwork_mechanism": "Advanced Clockwork Mechanism", "item.tfg.certus_mechanism": "Certus Mechanism", @@ -1434,13 +1436,13 @@ "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 4096 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.progenitor_cells.mob": "Animal culture: ", "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", "tfg.gui.rnr_plow.random_mode": "Randomize Materials", "tfg.gui.rnr_plow.width": "Path Width: %d Blocks", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cMissing Crushed Base Course!!", + "tfg.tooltip.progenitor_cells.mob": "Animal culture: ", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 47b3f0b17..6dcea55e3 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -652,6 +652,7 @@ "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", "fluid.tfg.sulfur_fumes": "Sulfur Fumes", "fluid.tfg.super_heated_slurry": "Super Heated Slurry", + "fluid.tfg.cryogenized_fluix": "超低温液化フルーシュ", "item.tfg.antipoison_pill": "解毒の丸薬", "item.tfg.haste_pill": "採掘の丸薬", "item.tfg.night_vision_pill": "暗視の丸薬", @@ -851,7 +852,7 @@ "item.tfg.aes_insulation_roll": "Roll of Alkaline Earth Silicate Insulation", "item.tfg.rocket_cone_t2": "Improved Rocket Nose Cone", "item.tfg.rocket_fin_t2": "Improved Rocket Fin", - "item.tfg.cryo_fluix_pearl": "Cryogenized Fluix Pearl", + "item.tfg.cryo_fluix_pearl": "超低温フルーシュパール", "item.tfg.marker.earth_orbit": "Earth Orbit", "item.tfg.marker.moon_orbit": "Moon Orbit", "item.tfg.marker.mars_orbit": "Mars Orbit", @@ -894,8 +895,8 @@ "item.tfg.rocket_cone_t3": "Advanced Rocket Nose Cone", "item.tfg.rocket_fin_t3": "Advanced Rocket Fin", "item.tfg.elite_power_thruster": "§aElite Power Thruster", - "item.tfg.silica_aerogel": "Silica Aerogel", - "item.tfg.better_space_suit_fabric": "宇宙服の強化生地", + "item.tfg.vf": "シリカエアロゲル", + "item.tfg.bftter_space_suit_fabric": "宇宙服の強化生地", "item.tfg.universal_compost_browns": "Brown Universal Compost", "item.tfg.universal_compost_greens": "Green Universal Compost", "item.tfg.etching_diamond_tip": "Etching Diamond Tip", @@ -936,7 +937,7 @@ "item.tfg.flax_waste": "亜麻屑", "item.tfg.linen_thread": "リネンの糸", "item.tfg.linen_cloth": "リネン", - "item.tfg.uv_led": "§dUltraviolet §fLED", + "item.tfg.ulled": "§dUltraviolet §fLED", "item.tfg.smd_uv_led": "§fSMD §dUltraviolet §fLED", "item.tfg.empty_dna_syringe": "Empty Syringe", "item.tfg.filled_dna_syringe": "Filled Syringe", @@ -1041,8 +1042,8 @@ "material.tfg.isobutane": "イソブテン", "material.tfg.chloryl_fluoride": "Chloryl Fluoride", "material.tfg.chlorine_pentafluoride": "Chlorine Pentafluoride", - "material.tfg.solar_coolant": "Solar Coolant", - "material.tfg.solar_coolant_tier2": "Aerospatial Solar Coolant", + "material.tfg.solar_coolant": "ソーラー冷却材", + "material.tfg.solar_coolant_tier2": "強化ソーラー冷却材", "material.tfg.sodium_hydride": "Sodium Hydride", "material.tfg.boric_acid": "Boric Acid", "material.tfg.trimethyl_borate": "Trimethyl Borate", @@ -1518,120 +1519,120 @@ "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.", "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", - "quests.ae2.certus_quartz.subtitle": "One small step for you, one giant leap for logistics", - "quests.ae2.certus_quartz.desc": "With your first step on the Moon comes access to your first &bCertus Quartz&r vein.\nDon't worry, they're quite common and should be easy to locate, though having a decent Ore Prospector wouldn't hurt.\n\nWhether you decide to set up a miner or manually dig out a full vein, make sure to gather a hefty amount, as you'll need it to progress through AE2.", + "quests.ae2.subtitle": "月に向かい、GregTechの頼れる相方を見つけ出そう", + "quests.ae2.certus_quartz.title": "ケルタスクォーツ", + "quests.ae2.certus_quartz.subtitle": "これはスティーブにとっては小さな一歩だが、自動化においては偉大な一歩である", + "quests.ae2.certus_quartz.desc": "月には、AE2を進めていく上での重要な資源である&bケルタスクォーツ&rの鉱脈があります。\nケルタスクォーツ鉱脈は比較的多く分布しているため、鉱石探知機があればとても簡単に見つけられます。\n\n採掘機で掘るか、自力で掘るかは自由ですが、ある程度の量は確保しておきましょう。AE2を進めていくには、大量に必要になります。", "quests.ae2.certus_quartz.task": "Certus Quartz Ore", - "quests.ae2.polarizer.title": "Polarizer", - "quests.ae2.polarizer.subtitle": "Redstone isn't enough", - "quests.ae2.polarizer.desc": "One of your main resources for Applied Energistics 2 will be &bCharged Certus Quartz&r.\n\nTo obtain it, there’s really only one method: the &6HV&r Polarizer.\n\nYou’ll quickly notice how long this recipe takes, so it’s strongly recommended to dedicate a Polarizer exclusively to this task.\n\nIt may seem expensive or daunting at first, but don't worry—it’s absolutely worth it.\n\nAlso, remember not to charge all your Certus Quartz!\nYou’ll need some uncharged ones for items like the Annihilation Core, so always keep a small reserve on hand.", - "quests.ae2.hv_machines.title": "The Three Musketeers", - "quests.ae2.hv_machines.subtitle": "Or is it four?", - "quests.ae2.hv_machines.desc": "The &eSifter&r is used for ore processing to increase your yield of Certus Quartz, Quartzite, Nether Quartz, Ruby, and Armalcolite—all of which are essential for AE2. Alternatively, you can smelt the ores directly in a Furnace if you're in a rush, but you'll lose out on a lot of free resources by doing that.\n\nThe second machine, the &eMixer&r, is your only method to create &dFluix Crystals&r (more about that in the next quest). Don’t forget that you can also use the Greate Mixer as a &6HS&r-tier machine.\n\nThirdly, a &eLaser Engraver&r can combine lesser quality gems together into Exquisite, which will give you better Fluix yields.\n\nLastly, keep in mind that an &eAutoclave&r can help you generate even more gems from dusts. Once you have the resources, crafting one will make your life significantly easier.", + "quests.ae2.polarizer.title": "発展型磁化装置", + "quests.ae2.polarizer.subtitle": "レッドストーンじゃだめなのか", + "quests.ae2.polarizer.desc": "&bチャージ済みケルタスクォーツ&rは、AE2における主要な素材のひとつです。\n\nこれを入手するためには&6HV&r磁化装置が必要です。このレシピは非常に時間がかかります。そのため、専用に磁化装置を用意することをおすすめします。\n\n最初は作るのが大変すぎるのではないかと思うかもしれませんが、案外問題ありません。\n\n注意:すべてのケルタスクォーツを帯電させてしまわないようにしてください!\n消滅コアなど一部のアイテムには非帯電のケルタスクォーツも必要になるため、少量でも予備として残しておきましょう。", + "quests.ae2.hv_machines.title": "水晶加工の三銃士", + "quests.ae2.hv_machines.subtitle": "四天王では?", + "quests.ae2.hv_machines.desc": "選別機&rは鉱石処理用の機械で、ケルタスクォーツ、クォーツァイト、ネザークォーツ、ルビー、アーマルコライトといったAE2に必要な素材の収量を増やせます。かまどで直接精錬した場合は副産物が得られず効率が悪くなります。\n\n&dフルーシュの水晶&rは&eミキサー&rを使って作ることができます。(詳細は次のクエストで)\n\n高品質なフルーシュが必要な場合は、&eレーザー刻印機&rを使って、低品質の宝石を合成して高品質の宝石にすることができます。\n\n&eオートクレーブ&rを使えば、粉末から宝石を形成することができます。", "quests.ae2.hv_machines.task": "Greate or GregTech?", "quests.ae2.fluix_crystal.subtitle": "Energetic Crystal", - "quests.ae2.fluix_crystal.desc": "As you can see, there are multiple ways to create Fluix Crystals using a Mixer.\n\nThe higher the purity of your input gems, the better the yield — that’s exactly why we recommended crafting a &eSifter&r earlier.\n\nYou’ll need a massive amount of Fluix Crystals, especially since the &5liquid version&r is used in most Applied Energistics 2 recipes.\n\nSo prepare yourself—you’re going to need a lot!", - "quests.ae2.extractor.title": "Fluid Extractor", - "quests.ae2.extractor.subtitle": "The precious fluix", - "quests.ae2.extractor.desc": "Most of your Fluix Crystals will be converted into &5Liquid Fluix&r.\nHowever, make sure to keep a few in their crystal form for the occasional recipe that specifically requires it.\n\nAny &eExtractor&r will do the job here — no need for anything fancy.", + "quests.ae2.fluix_crystal.desc": "フルーシュを作るレシピは使う宝石の品質によっていくつかあります。\n\n宝石の品質が高いほど、作成量も多くなるので、&e選別機&rで出た高品質の宝石を使った方がよいです。\n\nフルーシュは大量に必要になります。特に&5液化&rしたものはAE2関連のほとんどのレシピで使われるため、今後の進行に欠かせません。\n\n大量に用意しておきましょう!", + "quests.ae2.extractor.title": "抽出機", + "quests.ae2.extractor.subtitle": "生搾りフルーシュ", + "quests.ae2.extractor.desc": "フルーシュの水晶は、&5液化フルーシュ&rに加工してから使うことが多いです。\nもちろん水晶のまま必要になることもあるので、少しは残しておきましょう。\n\n&e抽出機&rがあれば液化することができます。特別な装置を使う必要はありません。", "quests.ae2.extractor.task": "Any Extractor", "quests.ae2.fluix_liquid.title": "Liquid Fluix", - "quests.ae2.fluix_liquid.subtitle": "The Moon is so cheap", - "quests.ae2.fluix_liquid.desc": "We told you you'd need a vast quantity of Liquid Fluix… but we didn’t mention there’s a way to drastically increase your yield per Fluix Crystal.\n\nIntroducing: &bCryogenized Fluix&r, an ultra-cold fluid only craftable on the Moon using a &bVacuum Freezer&r. Simply combine Liquid Fluix with Helium-3!\n\nThis special fluid can be used as a substitute in nearly all recipes that require Liquid Fluix—but only when you're crafting on the Moon.\n\nMoon-based AE2 recipes come with huge benefits: reduced energy costs, less components needed, or sometimes both! Investing in a proper Moon base for AE2 production will pay off massively, especially in early game.\n\nIt’s not strictly mandatory — yet. But setting up a second base now will ease your future progression, as planet-based infrastructure becomes essential later on. So… why not get ahead of the curve?", - "quests.ae2.ae_processor.title": "Processors", - "quests.ae2.ae_processor.subtitle": "AE2 Components", - "quests.ae2.ae_processor.desc": "All three &eProcessors&r will be used extensively across Applied Energistics 2 recipes.\n\nThis also gives you a great opportunity to see how effective the &3Moon&r recipes can be for crafting them.\n\nBut in the end, the choice is yours — build your infrastructure where it suits you best.", - "quests.ae2.forming_press.title": "Forming Press", - "quests.ae2.forming_press.subtitle": "Small is good too", - "quests.ae2.forming_press.desc": "To get the printed circuits, you'll need to craft the &6HV&r Forming Press.\n\nThe good news? It has multiple input slots, meaning you can insert all your circuit presses at once, so a single Forming Press is enough to handle every printed circuit type.", - "quests.ae2.ae_press.title": "Inscriber Press", - "quests.ae2.ae_press.subtitle": "Treasure hunt", - "quests.ae2.ae_press.desc": "One of the last things you’ll need before diving fully into Applied Energistics 2 is collecting the 4 &ePresses&r.\n\nTo obtain them, you must locate an &eAE2 Meteorite&r on the &3Moon&r — they will look like dark spheres at the bottom of large craters. Luckily, they aren't particularly rare, and a single meteorite will contain all four Presses.\n\n&cBe careful though&r — these meteorites are often guarded, so gear up, bring an ore prospector if you have one, and happy hunting!", - "quests.ae2.ae_guide.title": "Welcome to AE2", - "quests.ae2.ae_guide.subtitle": "Another free book for your collection!", - "quests.ae2.ae_guide.desc": "Here you are, ready to begin your &bAE2&r infrastructure!\n\nThis chapter will mainly guide you through what you can and cannot craft yet.\nWe’ll also highlight the most important items you should focus on.\n\nHowever, to fully understand Applied Energistics 2, we strongly recommend using the &bG&r keybind (similar to Create's Ponder system) or open the &bME Guide&r we provide as a reward from this quest. It’s the best in-game tutorial for AE2.\nAlternatively, watch some online videos about AE2 on &61.20.1&r for more detailed explanations — AE2 is a very popular mod, so there's a ton of tutorials out there!\n\n&dPro tip&r: Many &bAE2&r recipes have alternative Moon recipes that are much cheaper. Once again, investing in your Moon base will greatly reward you throughout the entire game.", + "quests.ae2.fluix_liquid.subtitle": "月に住んでる方限定!大特価セール!", + "quests.ae2.fluix_liquid.desc": "液体フルーシュが大量に必要になると言いましたが、実はその生成効率を大幅に上げる方法があります。\n\nそれが「&b超低温液化フルーシュ&r」です。これは月面でのみ作れる超低温の液体で、&b真空冷却機&rで、液化フルーシュとヘリウム3を組み合わせて冷却することで生成できます。\n\n超低温フルーシュは、液化フルーシュを使うほとんどのレシピで代わりに使うことができます。ただし、月面でのクラフト限定です。\n\nAE2のレシピを月面で行うことには多くのメリットがあります。電力消費が減ったり、必要素材が少なくなったり、あるいはその両方の場合もあります。\nAE2専用の月面拠点を整えることは大規模な事業になりますが、宇宙時代の初期では確実に役に立ってくれるでしょう。\n\n現時点では必須ではありませんが、将来的に惑星規模の施設が重要になるため、早めに第2拠点を作っておくと後が楽になります。――先取りしておくのも悪くないでしょう?", + "quests.ae2.ae_processor.title": "プロセッサ", + "quests.ae2.ae_processor.subtitle": "AE2の主要部品", + "quests.ae2.ae_processor.desc": "3種の&eプロセッサ&rは、AE2のあらゆるレシピで頻繁に使われます。\n\nこれらを作る過程で、&3月面&rでの生産がどれほど効率的かを体感できるでしょう。\n\nとはいえ、最終的にどこで生産体制を整えるかはあなたの自由です。自分のプレイスタイルに合った場所で拠点を作りましょう。", + "quests.ae2.forming_press.title": "圧縮成型", + "quests.ae2.forming_press.subtitle": "小さいことは良いことだ", + "quests.ae2.forming_press.desc": "AE2回路を作るには、&6発展型圧縮成型機&rを使う必要があります。\n\n喜ばしいことに、この機械には複数の入力スロットがあり、すべての回路の金型をまとめてセットできます。そのため、1台あれば全種類に対応できます。", + "quests.ae2.ae_press.title": "回路の金型", + "quests.ae2.ae_press.subtitle": "トレジャーハント", + "quests.ae2.ae_press.desc": "AE2を始める前に、まず4種類の&e金型&rを集めておきましょう。\n\nこれらは&3月面&rに落ちている&eAE2の隕石&rから入手できます。隕石はクレーターの底にある黒い球状の塊です。幸い、それほど珍しくはなく、1つ見つければ4種類すべてのプレスが手に入ります。\n\n&cただし油断は禁物です&r――隕石の周囲には敵がいる場合があるので、しっかり装備を整え、鉱石探知機があれば持って行きましょう。健闘を祈ります!", + "quests.ae2.ae_guide.title": "AE2へようこそ", + "quests.ae2.ae_guide.subtitle": "MEガイドは今だけ全話無料!", + "quests.ae2.ae_guide.desc": "さあ、&bAE2&rでインフラを整備しましょう!\n\nこの章では、作れるものと作れないものを中心に解説します。特に優先して作るべき重要なアイテムも紹介します。\n\nAE2を詳しく理解するには、&bG&rキー(CreateのPonderに似た機能)を使うか、今回のクエスト報酬の&bMEガイド&rを確認するのがおすすめです。これがゲーム内での最良のチュートリアルです。また、&61.20.1&r向けのAE2解説動画も豊富にあるので、分からないことがあったら調べてみてもいいでしょう。\n\n&dアドバイス&r:多くの&bAE2&rレシピには、月面限定のレシピがあり、それを利用すれば必要資源を大幅に節約できます。月面拠点に整備しておくと、ゲーム全体を通して大きなメリットが得られます。", "quests.ae2.hv.title": "HV Tier AE2", - "quests.ae2.hv.desc": "This entire branch is fully unlockable in &6HV&r!", - "quests.ae2.ae_controller.subtitle": "The beating heart of your ME network", - "quests.ae2.ae_controller.desc": "To get started, you’ll need to power your &bME Network&r. These are the two &bAE2&r blocks that can directly accept &bEU&r energy.\n\nWe strongly recommend crafting a &bME Controller&r, as &bchannels&r are enabled in TerraFirmaGreg, and the &bME Controller&r is the best way to manage multiple channels efficiently.\n\nThis is also a great time to use the in-game guide (press &aU&r on a &bME Controller&r) or watch some videos about &bAE2&r on version 1.20.1 to learn more!", - "quests.ae2.drive.subtitle": "The brains of the network", - "quests.ae2.drive.desc": "You will need to store your disks, and thanks to the &bMEGA&r addon, you now have an extra option.\n\nYou should start with a &bME Drive&r. It can store up to &e10&r disks and consumes &e4 EU/t&r. This will be your main storage solution.\n\nThe other option is the &bME Cell Dock&r. It only stores &e1&r disk but consumes just &e1 EU/t&r, and it can be placed directly on a cable like a cover. This makes it quite useful for &aSubnets&r.", - "quests.ae2.cell_housing.desc": "The &bME Cell Housing&r exists in two versions: one for &aItems&r and one for &9Fluids&r.\n\nYou can take their Storage Component out using a &ePacker&r or simply by Sneak + Right-click while holding the storage cell in your hand.", - "quests.ae2.cables.subtitle": "The arteries of the network", - "quests.ae2.cables.desc": "Your basic cables to connect your &bAE2&r infrastructure.\n\nRemember that regular cables carry only &e8 Channels&r, while &6Dense Cables&r can carry up to &a32 Channels&r.\n\nGood news: in &2TFG&r, you can directly craft the &9Smart Cables&r! They are very helpful as they show a &evisual indicator&r for the number of used channels.", - "quests.ae2.terminals.subtitle": "The... fingers? of the network?", - "quests.ae2.terminals.desc": "These terminals are mandatory to access your ME Network and to set up your auto-crafting system.", - "quests.ae2.molecular_assembler.desc": "The &9Molecular Assembler&r is basically your auto-crafting table.\n\nYou can use it for passive crafting, or combine it with a &9Pattern Provider&r.\n\nAs always, check the in-game guide using &eG&r to learn more about it.", - "quests.ae2.crafting_unit.subtitle": "The second? brains of the network", - "quests.ae2.crafting_unit.desc": "The &dCrafting Unit&r works the same way as your &bME Cell Housing&r.\n\nUse a &6Packer&r to make it functional — by itself, it serves no purpose, though you can use it to complete multi-blocks.\n\nIt’s your mandatory structure to run your &bAE2&r auto-crafting.\n\nAs usual, use the in-game guide from &bAE2&r to learn more about the &dCrafting CPU&r.", - "quests.ae2.crafting_storage.desc": "These are mandatory for any sort of auto crafting — the bigger the storage, the bigger the recipe chain that can be done with one request. You can also place multiple of them next to each other to add their storage size.\n\nUse the in-game guide for further details — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", - "quests.ae2.crafting_storage.task": "Any crafting storage", - "quests.ae2.pattern_provider.subtitle": "These tell your machines how to craft things", - "quests.ae2.pattern_provider.desc": "The &9Pattern Provider&r is a modern &bAE2&r block. If you're only familiar with AE2 in previous versions of Minecraft, this is the block that you put your patterns into now instead of an Interface.\n\nIt can push items into the connected inventory on a crafting request, and pushing items back into it will send them back to your ME storage.\n\nIf you connect these to your GregTech machines, make sure you select the \"Allow Input From Output Face\" option on them so you can both input and output from the same side!\n\nAs always, check the in-game guide using &eG&r to learn more about it.", + "quests.ae2.hv.desc": "この先で紹介されているものは全て&6HV&rから利用可能です!", + "quests.ae2.ae_controller.subtitle": "MEネットワークの心臓部", + "quests.ae2.ae_controller.desc": "まず始めに、&bMEネットワーク&rに電力を供給する必要があります。これらは、&bEU&rエネルギーを直接受け入れることができる、&bAE2&rの2つのブロックです。\n\nTerraFirmaGregでは&bチャンネル&rが有効になっているため、&bMEコントローラー&rを作成することを強くおすすめします。&bMEコントローラー&rは複数のチャンネルを効率的に管理するための最良の方法です。\n\n詳しくない方は、ゲーム内ガイド(&bMEコントローラー&r上で&aG&rキーを押す)や、&bAE2&rに関する動画での座学などで、勉強しておきましょう!", + "quests.ae2.drive.subtitle": "MEネットワークの頭脳", + "quests.ae2.drive.desc": "ストレージセルの管理方法について。\n\n最初は&bMEドライブ&rを使いましょう。これは最大&e10&r枚のセルを収納できます。消費電力は&e4EU/t&rです。これが基本的なストレージ装置になります。\n\nもう一つの選択肢は&bMEセルドック&rです。こちらは&e1&r枚のセルしか収納できませんが、&e1EU/t&rしか消費せず、ケーブル上にカバーのように直接設置できます。そのため、&aサブネット&rでの利用に非常に便利です。", + "quests.ae2.cell_housing.desc": "&bMEセル筐体&rには、&aアイテム&r用と&9液体&r用の2種類があります。\n\nストレージセルの中身であるストレージコンポーネントは、&e梱包機&rを使うか、セルを手に持ってスニーク+右クリックすることで簡単に取り外せます。", + "quests.ae2.cables.subtitle": "MEネットワークの血管", + "quests.ae2.cables.desc": "これは、&bME&rネットワークを接続するための基本的なケーブルです。\n\n通常のケーブルは&e8チャンネル&rまで対応していますが、&6高密度ケーブル&rなら&a32チャンネル&rまで扱うことができます。\n\nなんと、&2TFG&rでは&9スマートケーブル&rのためにわざわざケーブルを作る必要がありません!スマートケーブルは、使用中のチャンネル数を&e視覚的に確認できる&rため、ネットワークの管理がとても簡単になります。", + "quests.ae2.terminals.subtitle": "MEネットワークの...手?指?", + "quests.ae2.terminals.desc": "MEネットワークにアクセスしたり、自動クラフト機能を設定したりするためには、これらのターミナルが欠かせません。", + "quests.ae2.molecular_assembler.desc": "&9分子組立機&rは、自動クラフトのための作業台です。\n\n単体でパッシブクラフトに使うこともできますが、&9パターンプロバイダー&rと組み合わせることで本格的な自動クラフトシステムを構築できます。\n\n詳しく知りたい場合は、&eG&rキーでゲーム内ガイドを開いて確認してみましょう。", + "quests.ae2.crafting_unit.subtitle": "MEネットワークの頭脳...の2つ目...?", + "quests.ae2.crafting_unit.desc": "&dクラフトユニット&rは、&bMEセル筐体&rと似た仕組みを持っています。\n\n機能を発揮するには&6梱包機&rでコンポーネントを導入する必要があります。単体では何の機能もありませんが、マルチブロック構造の一部として組み込むことは可能です。\n\nこれは、&bAE2&rの自動クラフトを行うために欠かせない重要な構成要素です。\n\n詳しくは、&bAE2&rのゲーム内ガイドで&dクラフティングCPU&rの項目を確認してみてください。", + "quests.ae2.crafting_storage.desc": "自動クラフトを行うには、これらのブロックが必須です。ストレージ容量が大きいほど、1回の注文で処理できるクラフトの規模も大きくなります。また、まとめて設置すれば、一つの大きなクラフトストレージとして認識されます。\n\n詳しい仕組みはゲーム内ガイドにしっかり書かれているので、ぜひそちらを確認してください。クエストよりもずっと分かりやすく説明されています。\n\nよくわかっていなかったら、本当に読んだ方がいいですよ!", + "quests.ae2.crafting_storage.task": "クラフトストレージ", + "quests.ae2.pattern_provider.subtitle": "MEネットワークのウーバーイーツ", + "quests.ae2.pattern_provider.desc": "&9パターンプロバイダー&rは、&bAE2&rの最新機器です。昔のAE2に慣れている方は、「インターフェース」にパターンを入れていたと思いますが、今ではこのブロックに入れるようになっています。\n\n注文を受けると、接続されたインベントリにアイテムを送り出し、逆にパターンプロパイダーに戻されたアイテムはMEストレージに入ります。\n\nGregTechの機械に接続する際は、機械側の設定で「出力面からの入力を許可」を必ず有効にしましょう。これをオンにすると、同じ面で入出力ができるようになります。\n\n詳しくは、&eG&rキーで開けるゲーム内ガイドを確認してみてください。", "quests.ae2.pattern_provider.task": "Either Pattern Provider", - "quests.ae2.pattern.subtitle": "Crafting instructions", - "quests.ae2.pattern.desc": "Each of these tells your ME system how to craft a specific item. You'll need one for every single recipe, so it's worth aiming for the most efficient way to craft a ton of these.\n\nTo clear a Pattern, simply Sneak + Right-click them.\n\nUse the in-game guide for full details on how to use them, just remember to set the pattern type to \"Processing\" for any recipes that'll go in GregTech machines.", - "quests.ae2.interface.subtitle": "I'm giving up on the body part analogy", - "quests.ae2.interface.desc": "The &dME Interface&r is one of your bread and butter tools to get items or fluids out of, or inside, your network.\n\nIf you've only used AE2 in older Minecraft versions, these now only make network contents passively available for other things to pull out of, and don't actively push anything or hold patterns. You'll want the Pattern Provider for that.\n\nThe ME Interface can do way too many things to list here, so check the in-game guide using &eG&r to learn more about it.", + "quests.ae2.pattern.subtitle": "注文レシピ", + "quests.ae2.pattern.desc": "パターンは、自動クラフトの注文の際にそのレシピを指定するものです。1つのレシピにつき1枚必要になるので、大量に生産しておくとよいでしょう。\n\nパターンを消去したいときは、スニーク+右クリックするだけいいです。\n\n使い方の詳しい説明はゲーム内ガイドに載っています。特に、GregTechの機械で使用するレシピを設定するときは、パターンの種類を必ず「Processing_Patterns」で設定するように注意してください。", + "quests.ae2.interface.subtitle": "体で例えるのは...やめようか", + "quests.ae2.interface.desc": "&dMEインターフェース&rは、ネットワークと外部の間でアイテムや液体をやり取りするための、非常に基本的かつ重要なブロックです。\n\n昔のAE2に慣れている方は注意が必要です。現在のMEインターフェースは、ネットワークの中身を「他の機械が引き出せるようにするだけ」で、自動でアイテムを送り出したり、パターンを保持したりはしません。そうした動作を行いたい場合は、&9パターンプロバイダー&rを使用してください。\n\nMEインターフェースには多くの使い道がありますが、ここではすべてを説明しきれません。詳しく知りたい方は、&eG&rキーで開けるゲーム内ガイドを参照してください。", "quests.ae2.interface_automation.title": "Interface Automation", - "quests.ae2.interface_automation.desc": "The best way to passively route items and fluids around your base is through the &bME Interface&r. Since Interfaces don't push out their contents, you'll need to slap a cover on your machine or pipe.\n\nRemember to enable the &eAllow Input&r option on the Output face in your GregTech machine's GUI, in order to push and pull from the same side.\n\nUsing filters on your covers can also be a handy way for multiple machines to pull out of the same Interface.\n\nTo avoid overfilling a machine's item input slots, you'll need to use a Robot Arm cover on &eKeep Exact&r mode with a filter.\n\nThe fluid input doesn’t have this issue, as it will fill only one slot automatically.", - "quests.ae2.crafting_accelerator.desc": "Simply use the in-game guide — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", - "quests.ae2.export_bus.desc": "The &dME Export Bus&r is a strong tool to get items or fluids out of your &dME Network&r.\nOnce you're able to craft them, you should especially look at the &eExtendedAE&r ones, as they can be of great help for some automation.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", + "quests.ae2.interface_automation.desc": "MEネットワークを利用してパッシブラインを構築する場合、&bMEインターフェース&rを使うといいでしょう。インターフェースには搬出機能がついていないため、他の方法で搬出を行う必要があります。\n\nGregTechの機械に接続する際は、GUIの設定で&e「出力面からの入力を許可」&rを有効にして、同じ面から搬入出ができるようにしておきましょう。\n\nまた、カバーにフィルターを設定すれば、複数の機械が1つのインターフェースから適切にアイテムを取り出せるようになります。\n\nただし、アイテム入力スロットがいっぱいにならないよう注意が必要です。これを防ぐには、&e保持モード&rに設定したロボットアームカバーとフィルターを併用するのが最適です。\n\n液体の入力に関してはこの問題はなく、自動的に1スロット分だけ補充されるので安心です。", + "quests.ae2.crafting_accelerator.desc": "詳しく知りたい場合は、ゲーム内ガイドを見るのが一番です。クエストよりもずっと丁寧で分かりやすく説明されています。\n\nぜひ時間を取ってじっくり読んでみてください。とても役立つガイドですよ!", + "quests.ae2.export_bus.desc": "&dME出力バス&rは、&dMEネットワーク&rからアイテムや液体を外部に搬出するための装置です。\nクラフトできるようになったら、特に&eExtendedAE&r版の出力バスもチェックしてみましょう。なんらかの自動化に困ったときに役立つかもしれません。\n\n&c注意&r:このブロックは、MEインターフェースなどと比べて&4TPS(サーバー負荷)&rへの影響が大きいため、多用は避けるようにしましょう。", "quests.ae2.export_bus.task": "Any Export Bus", - "quests.ae2.import_bus.desc": "The &dME Import Bus&r is one way to get items and fluids into your &dME Network&r. You could also just push items and fluids into an Interface or Pattern Provider for the same result, though, so Import Buses are more niche.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", - "quests.ae2.storage_bus.desc": "The &bME Storage Bus&r is how you tell your ME network about items and fluids stored somewhere outside of ME Drives. They can be very powerful in combination with Super Tanks and Super Chests — just be sure to give the Storage Bus a higher &ePriority&r than your Drive, and partition it to the item or fluid you want to store, so your network tries to put things there first.\n\nStorage Buses are also essential for setting up Subnets — check out the in-game guide for more details on how those work.\n\nAlso, &aExtended AE&r comes with a lot of Storage Bus variants that may come in handy later. For example, you could tell your network to \"store\" all of your &6hot ingots&r in your Vacuum Freezer.", + "quests.ae2.import_bus.desc": "&dME入力バス&rは、アイテムや液体を&dMEネットワーク&r内に搬入する装置です。ただし、インターフェースやパターンプロバイダーに直接アイテムや液体を搬入するのと変わらないため、入力バスの用途はやや限定的です。\n\n&c注意&r:このブロックはMEインターフェースなどと比べて&4TPS(サーバー負荷)への影響&rが大きいため、多用は避けるようにしましょう。", + "quests.ae2.storage_bus.desc": "&bMEストレージバス&rは、MEドライブ以外に保管しているアイテムや液体をネットワークに認識させるための装置です。スーパータンクやスーパーチェストと組み合わせると非常に便利です。ストレージバスの&e優先度&rをドライブより高く設定し、保管したいアイテムや液体を入れておくことで、ネットワークがまずそこに格納するようになります。\n\nストレージバスはサブネットの構築にも不可欠です。仕組みの詳細はゲーム内ガイドを参照してください。\n\nまた、&aExtendedAE&rには多くのストレージバスの種類があり、後々役立つことがあります。例えば、ネットワーク内のすべての&6熱いインゴット&rを真空冷却機に直接「保管」させる、といった使い方が可能です。", "quests.ae2.storage_bus.task": "Any Storage Bus variant", - "quests.ae2.cell_component_1k.desc": "The &bStorage Component&r will be a core part of your progression through &aAE2&r, and they can be quite expensive, even though you will need them to make your &bStorage Cells&r.\n\nThe &e1k ME Storage Component&r is simple enough to not have a specialized moon recipe, but all of the others do, and since the Storage Components get exponentially more expensive... have we convinced you to make a Moon base yet?", - "quests.ae2.cell_component_4k.desc": "Take a look at how the &e4k Storage Component&r has a tremendously cheaper recipe on the &dMoon&r. This will be a consistent trend — the Moon recipes will always use one circuit tier lower than the non-Moon ones.", - "quests.ae2.cell_component_16k.desc": "The &e16k Storage Component&r is starting to get exponentially more expensive, so now you can really start seeing the savings from having a Moon base.\n\nYou do have a Moon base, right?", - "quests.ae2.p2p.title": "P2P Tunneling", - "quests.ae2.p2p.desc": "Channels are enabled here by default, so you may want to learn about &dP2P&r. They're essentially a way to condense multiple channels down into a single channel, letting you carry hundreds of them across your base through a single cable.\n\nAs usual, we advise you to use the in-game guide for more detailed information, and there's also plenty of video tutorials out there that you may find useful.\n\nWe also recommend making the &bAdvanced Memory Card&r from &dBetter P2P&r as soon as possible. It will be a big help when you've got many different P2P tunnels to deal with. You can even place a load of &dME P2P Inputs&r on your ME Controller ahead of time, and connect them to an output whenever you need.", + "quests.ae2.cell_component_1k.desc": "&bストレージコンポーネント&rは、&aAE2&rを進める上で非常に重要なアイテムで、&bストレージセル&rを作るために必ず必要ですが、結構コストがかかります。\n\n&e1kMEストレージコンポーネント&rは月面ではなくても問題なく作れますが、その先のコンポーネントやその素材は月面の方が作りやすいので、本格的に運用するなら月面基地を立てた方が良いでしょう。", + "quests.ae2.cell_component_4k.desc": "&e4kストレージコンポーネント&rは、&d月面&rだと非常に作りやすくなります。\nまた、月用のレシピは通常のレシピより1段階下の機械でも作ることができます。\nこれはこの先も同じです。", + "quests.ae2.cell_component_16k.desc": "&e16kストレージコンポーネント&rを作るころには、かなりの工程を踏むことになるので、その分月面でのコスト削減の恩恵も大きく感じているところでしょう。\n\nもちろん、既に月面基地は整備されていますよね?", + "quests.ae2.p2p.title": "P2Pトンネル", + "quests.ae2.p2p.desc": "チャンネルがデフォルトで有効になっているため、&dP2P&rについて学んでおくと便利です。P2Pは、複数のチャンネルを1本にまとめて、1本のケーブルで拠点全体に何百ものチャンネルを通せる仕組みです。\n\n詳しい使い方はゲーム内ガイドを参照すると分かりやすく、役立つ動画も多く公開されています。\n\nまた、&dBetter_P2P&rの&bAdvanced_Memory_Card&rを早めに作ることをおすすめします。複数のP2Pトンネルを管理するときに非常に役立ちます。事前に&dMEP2Pトンネル&rをMEコントローラーに張り付けておき、必要なときに出力と接続することも可能です。", "quests.ae2.p2p.task": "Any P2P Tunnel", - "quests.ae2.cell_workbench.desc": "The &bCell Workbench&r is used to customize your storage cells.\n\nYou can give them &aWhitelist&r/&cBlacklist&r filters or partitions, or add upgrades like the &4Overflow Destruction Card&r — but be cautious with this one!\n\nThe &bIO Port&r is used to \"defragment\" your drives, if you've got the same items scattered across several of them.", - "quests.ae2.requester.desc.1": "The &aME Requester&r may be one of your &6strongest tools&r if you want to build your automation around &eauto-crafting&r and not passive production.\n\nIt can send Crafting Request batches of an item when your network has fewer than a specified amount.\n\nIf you are using a lot of &dCrafting Upgrades&r, you'd be better off using this machine as it will have much less of an impact on your &cTPS&r.", - "quests.ae2.requester.desc.2": "Also note that you can set your Crafting CPUs to be dedicated to Player-started crafting, automatic crafting requests, or neither, which can be useful to stop your Requesters from hogging all your CPUs.\n\nIf you like, you can also make a specialized &bTerminal&r to have access to all your Requesters from one place.", - "quests.ae2.emitters.desc": "&bEmitters&r and the &bToggle Bus&r are your way to manage &cRedstone&r signals in &bAE2&r.\n\nThe Level Emitter is especially useful for setting up passive production when combined with the GregTech Machine Controller Cover!\n\nCheck the in-game guide for more detailed information.", - "quests.ae2.batteries.desc": "These are the batteries for your ME Network. You may not need them at the beginning, but just keep them in mind — your energy cost could rise quickly, and a blackout in your ME Network can be a really dangerous situation.", - "quests.ae2.cutting_knife.title": "Cutting Knives", - "quests.ae2.cutting_knife.desc": "These are tools for easily renaming all of your ME components. Why would you want to do this? If you rename your Pattern Providers, their names will show up in the Pattern Terminal, which can be very handy for keeping track of which Pattern Provider is connected to which machine.\n\nFor example &oSmall Gear Extruder&r as a name for the Pattern Provider would let you easily know that this Extruder contains a Small Gear mold, so you should only put Small Gear patterns in it.", + "quests.ae2.cell_workbench.desc": "&bセル作業台&rは、ストレージセルのカスタマイズに使います。\n\n&aホワイトリスト&r・&cブラックリスト&rのフィルターやパーティションを設定したり、&4オーバーフロー破棄カード&rなどのアップグレードを追加することも可能ですが、このカードの扱いには十分注意してください。\n\n&b入出力ポート&rは、複数のドライブに同じアイテムが分散している場合に、アイテムを整理してまとめる「デフラグ」用途で使用します。", + "quests.ae2.requester.desc.1": "&aMEリクエスター&rは、&eMEネットワークの自動クラフト&rを中心に自動化を組みたい場合に非常に頼りになる装置です。\n\nネットワーク内のアイテムが設定した数量を下回ると、そのアイテムのクラフトリクエストを自動で注文してくれます。\n\n大量の&dクラフトカード&rを使うよりは、この装置を使う方が&cTPS&rへの負荷も少なく済むためおすすめです。", + "quests.ae2.requester.desc.2": "また、クラフティングCPUは「プレイヤーが開始するクラフト用」「自動クラフトリクエスト用」「どちらにも割り当てない」のいずれかに設定できます。これにより、リクエスターがすべてのCPUを使い切ってしまうのを防ぐことができます。\n\nさらに、&bリクエスターターミナル&rを作れば、すべてのリクエスターに一箇所からまとめてアクセスすることも可能です。", + "quests.ae2.emitters.desc": "&bエミッター&rと&bトグルバス&rは、&bAE2&rで&cレッドストーン&r信号を管理するための装置です。\n\n特にレベルエミッターは、GregTechのマシンコントローラカバーと組み合わせて、パッシブ生産の自動化に非常に便利です。\n\n詳しい使い方はゲーム内ガイドで確認してみてください。", + "quests.ae2.batteries.desc": "これらはMEネットワーク用の蓄電器です。序盤ではあまり必要ありませんが、後々エネルギー消費が急速に増えると必要になります。ネットワークが停電すると非常に嫌な気持ちになるので、いずれは導入を検討しておきましょう。", + "quests.ae2.cutting_knife.title": "クオーツナイフ", + "quests.ae2.cutting_knife.desc": "これは、ME機器の名前を簡単に変更できるツールです。具体的な用途として、パターンプロバイダーに名前を付けることで、その名前がパターンターミナルに表示され、どのプロバイダーがどの機械に接続されているかを管理しやすくすることなどに役立ちます。\n\nたとえば、パターンプロバイダーに「&o小さな歯車用押出機&r」と名前を付けておけば、その押出機に小さな歯車の金型が入っていることが分かり、小さな歯車用のパターンだけを入れるようにすることができます。", "quests.ae2.cutting_knife.task": "Either cutting knife", - "quests.ae2.pattern_box.desc": "The Pattern Box can carry around all your Blank and Encoded Patterns in one inventory slot, and they will be visible in any AE2 device UI as long as the box is somewhere in your inventory.", - "quests.ae2.wireless_access.title": "ME Wireless Network", - "quests.ae2.wireless_access.subtitle": "Get Free WiFi Anywhere You Go", - "quests.ae2.wireless_access.desc": "Once you've made it to &5EV&r, you'll gain access to the ME Wireless Access Point, which basically acts like a WiFi Router for your ME network. Connect it to a central point in your base, shove as many Wireless Booster cards as you want to increase its range (and power draw), and then link a Wireless Terminal to it.\n\nOnce you have Epoxy and Rhodium, you'll be able to combine all of your Wireless Terminals together via a Universal Terminal!", - "quests.ae2.interplanetary_wireless.subtitle": "Forgot something at home?", - "quests.ae2.interplanetary_wireless.desc": "You can upgrade your Wireless Terminal with this special Card, allowing access to your network from any distance, even on different worlds! Sounds too good to be true? There's a major catch — transferring items uses a huge amount of energy.\n\nYou can sort of get around this with some Energy Cards and a battery in your inventory set to Discharge Mode, but it should work well enough for those times when you accidentally left something at your base on Earth and don't want to fly all the way back.\n\nFor proper automated transfer, you'll need a Railgun.", + "quests.ae2.pattern_box.desc": "パターンボックスは、大量の空のパターンやエンコード済みパターンを1スロットで持ち運ぶことができます。そして、そのボックスがインベントリのどこかに入っている限り、すべてのAE2デバイスのUIからその中身が表示されます。", + "quests.ae2.wireless_access.title": "ME無線ネットワーク", + "quests.ae2.wireless_access.subtitle": "電子レンジを使うのやめて!", + "quests.ae2.wireless_access.desc": "&5EV&rに到達すると、ME無線アクセスポイントにアクセスできるようになります。これは基本的に、MEネットワークのWiFiルーターのようなものです。基地の中心に接続し、範囲(および電力消費)を増やすために、好きなだけ無線ブースターを挿入し、その後無線ターミナルをリンクします。\n\nエポキシとロジウムがあれば、すべての無線ターミナルをユニバーサルターミナルを通じて統合できるようになります!", + "quests.ae2.interplanetary_wireless.subtitle": "どうしたの?忘れ物?", + "quests.ae2.interplanetary_wireless.desc": "この特別なカードを使って無線ターミナルをアップグレードすることで、どんな距離からでも、さらには別の惑星や別次元からでもネットワークにアクセスできるようになります!\nまるで夢のような話ですが、ひとつ大きな問題があります——アイテムの転送には膨大な量のエネルギーが必要です。\n\nこれをある程度回避するためには、エナジーカードを導入し、放電モードに設定したバッテリーをインベントリに入れておくことができます。\n「地球に忘れものをした!」というときなどには十分に役立つでしょう。\n\nただし、本格的な惑星間輸送を行いたい場合は、レールガンが必要になります。", "quests.ae2.iv.title": "IV Tier AE2", - "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", - "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &1two IV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", - "quests.ae2.accumulation_processor.desc": "The &eAccumulation Processor&r will require a large amount of Silicon for each craft.\n\nWe hope you already have a dedicated EBF producing Silicon, or at least a strong infrastructure to manufacture it quickly.\n\nPrepare accordingly, as you’ll need plenty of it!", - "quests.ae2.mega_crafting.desc": "These are a neat upgrade for your &bCrafting CPU&r.\n\nThey will help to speed up your auto-crafting and allow you to handle larger jobs with ease.", - "quests.ae2.mega_battery.desc": "A &ebigger battery&r for a bigger network. Nothing else to it!", - "quests.ae2.extended_pattern_access.desc": "The &eExtended Pattern Terminal&r is a wonderful upgrade to manage all your patterns in an easier way.\n\nYou get &6more search options&r for your patterns, and with how many you should be getting now, it will be a huge QoL improvement.\n\nMake the \"upgrade\" version to simply sneak-right-click your existing pattern providers to upgrade them without having to take all the patterns out.", + "quests.ae2.iv.desc": "この先で紹介されているものは全て&1IV&rから利用可能です!", + "quests.ae2.accumulation_press.desc": "&eこの新しい金型&rのためには多少の準備と資源が必要です。\n\nまずは内破圧縮機に&1IVのエネルギーハッチを&r取り付けてアップグレードしてください。\n\n次に、まだ持っていなければIV以上のレーザー刻印機を用意してください。\n\n最後に大量の工業TNTを揃えてください。使えるのは&c工業TNTだけ&rです。\n\n手間と資材がかかる工程ですので、実行前にしっかり計画を立ててください。", + "quests.ae2.accumulation_processor.desc": "&eAccumulation_Processor&rを作るには、かなりの量のケイ素が必要です。\n\nケイ素の生産・精錬体制を整備しておくことをおすすめします。\n\nとにかく大量に使うので、事前にしっかり準備しておきましょう!", + "quests.ae2.mega_crafting.desc": "これは&bクラフティングCPU&rの便利な強化パーツです。\n\n自動クラフトの処理速度を高め、大きなクラフト作業もスムーズにこなせるようになります。", + "quests.ae2.mega_battery.desc": "&e大きい蓄電器&rは大きいネットワークのために。それだけのことです。", + "quests.ae2.extended_pattern_access.desc": "&e拡張型パターンアクセスターミナル&rは、パターン管理を格段に楽にしてくれる優秀なアップグレードです。\n\nパターンの&6検索機能が強化&rされ、大量のパターンを扱いやすくなります。\n\n「アップグレード」を作れば、既存のパターンアクセスターミナルをスニーク右クリックするだけで、置き換える手間なくそのまま強化できます。", "quests.ae2.extended_pattern_access.task": "Either the part or the upgrade", - "quests.ae2.extended_interface.desc": "Here they are, your bigger &bInterface&r with an upgrade so you don't even need to disconnect them to upgrade.\n\nYou will be quite happy with them!", + "quests.ae2.extended_interface.desc": "これが拡張版の&bインターフェース&rです。置き換える必要はなくそのままアップグレードできるようになっています。\n\n作ればハッピーになれること請け合いです!", "quests.ae2.extended_interface.task": "Either the part or the upgrade", - "quests.ae2.extended_patprov.desc": "Here they are, your bigger &bPattern Providers&r with an upgrade so you don't even need to disconnect them to upgrade.\n\nYou will be quite happy with them!", + "quests.ae2.extended_patprov.desc": "&e拡張型パターンプロパイダー&rは、パターンプロパイダーの上位版です。\n\nパターンの&6容量が拡張&rされており、多くの種類のレシピを扱うときに便利です。\n\n「アップグレード」を作れば、既存のパターンプロバイダーをスニーク右クリックするだけで、置き換える手間なくそのまま強化できます。", "quests.ae2.extended_patprov.task": "Either the part or the upgrade", - "quests.ae2.extended_drive.desc": "The &dME Extended Drive&r will &6double&r the amount of &eStorage Cells&r you can have within it.\n\nYou can also craft the &eupgrade&r to simply &aRight Click&r your existing ME Drives without having to take your discs out, and it won't cost you more.", + "quests.ae2.extended_drive.desc": "&dME拡張型ドライブ&rは、なんと&eストレージセル&rの容量が&62倍&rです!\n\n&eアップグレード&rを作れば、既存のMEドライブを置き換える手間なく&a右クリック&rするだけで強化可能です。", "quests.ae2.extended_drive.task": "Either the part or the upgrade", - "quests.ae2.extended_import_export.desc": "These are eight times faster than their regular counterparts. Enjoy!", + "quests.ae2.extended_import_export.desc": "通常のものと比べて8倍のスピードで動作します。サイコーですね!", "quests.ae2.extended_import_export.task": "Either the part or the upgrade", - "quests.ae2.extended_io_port.desc": "This upgrade will let you &atransfer faster&r while also offering &6more upgrade slots&r if needed.", - "quests.ae2.extended_molecular_assembler.desc": "The upgrade of the &bMolecular Assembler&r.\n\nIt runs &68 crafting jobs&r at the same time and goes &62 times faster&r.\n\nEven though you can only use it with a normal &bPattern Provider&r, it will be a &agreat upgrade&r before you get the &dMatrix Multiblock&r a bit later on.", - "quests.ae2.wireless.desc": "The &aME Wireless Connector&r is your go-to if you don't want to put down massive lines of &bME Cables&r. They effectively work like short-range Quantum Tunnels, but have a limited range and don't work across dimensions. That would be too easy, wouldn't it?\n\nDon't forget to check the in-game guide with &eG&r to learn about how they work and their limitations.", - "quests.ae2.mega_cell_housing.desc": "These &bCell Housings&r work the same way as the basic ones, but you will need these to make the bigger disks from &dMEGA&r.", - "quests.ae2.cell_component_64k.desc": "Now that you have &1IV&r Circuits, you can make this enormous &5Storage Component&r. Aren't you glad you made a Moon base?", - "quests.ae2.cell_component_256k.desc": "The &c256k ME Storage Component&r is the last one you can make with a regular Assembler, and it's so big that you may never need any of the bigger sizes.\n\nUnless you're up for the challenge, of course.", + "quests.ae2.extended_io_port.desc": "このアップグレードを装着すると、転送速度が&a向上&rし、さらに必要に応じて&6追加のアップグレードスロット&rも使えるようになります。", + "quests.ae2.extended_molecular_assembler.desc": "これは&b分子組立機&rの上位版です。\n\n同時に&68つのクラフト作業&rを処理でき、速度も&62倍&rになります。\n\n後々作ることができる&dマトリックスマルチブロック&rまでのつなぎとして便利でしょう。", + "quests.ae2.wireless.desc": "&aME無線接続器&rは、いわば&bMEケーブル&rの無線版です。クアンタムリンクのように使えますが、有効距離は限られており、ディメンションをまたぐことはできません。そんなに都合のいいことはありませんね。\n\n使い方や制限については、ゲーム内ガイドを&eG&rでチェックして確認してください。", + "quests.ae2.mega_cell_housing.desc": "これらの&bセル筐体&rは基本型と同じ挙動ですが、&dMEGA&rサイズの大容量ディスクを作る際には必須となります。", + "quests.ae2.cell_component_64k.desc": "&1IV&r回路があれば、この巨大な&5ストレージコンポーネント&rを作成できます。月面基地を築き上げた甲斐がありましたね!", + "quests.ae2.cell_component_256k.desc": "&c256kMEストレージコンポーネント&rは、通常の組立機で作れる最大サイズです。その大きさは十分なので、これ以上大きなサイズを作る必要がないかもしれません。\n\nもちろん、より大きな挑戦に挑みたい場合は別ですが。", "quests.ae2.luv.title": "LuV Tier AE2", - "quests.ae2.luv.desc": "This branch becomes unlockable once you reach &dLuV&r.", - "quests.ae2.cell_component_1m.desc": "The &3MEGA Storage Components&r will need an &bAssembly Line&r. Note that the non-Moon recipe must be crafted within a Cleanroom, or you can use a Cleaning Maintenance Hatch if you have access to one.\n\nNo need for that on the Moon though.", - "quests.ae2.cell_component_4m.desc": "Simply bigger and more expensive.", - "quests.ae2.cell_component_16m.desc": "This one can only be made on the &cMoon&r and nowhere else. It will also require a Cleanroom environment, so if you don’t want to bother with a Cleanroom on the &cMoon&r, you should make the &7Cleaning Maintenance Hatch&r.\n\nIt will also need some research. Refer to the &cZPM&r Chapter if you don’t know what that means.", - "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &8TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", - "quests.ae2.oversize_interface.desc": "The &dME Oversize Interface&r is a &dME Extended Interface&r but each slot can hold 16x more items or fluids. If you have processes that need huge quantities, this could be your go-to.", - "quests.ae2.assembler_matrix.desc": "The &6Assembler Matrix&r is basically a customizable multiblock Molecular Assembler. The requirements for this quest should let you build one that we deem quite strong enough. You could add more layers of &bPattern Core&r or &aCraft Core&r if you want to.\n\nAs usual, check the in-game guide for detailed informations.", + "quests.ae2.luv.desc": "この先で紹介されているものは全て&dLuV&rから利用可能です!", + "quests.ae2.cell_component_1m.desc": "&3MEGAストレージコンポーネント&rを作るには、&bアセンブリライン&rが必要です。地球などの通常環境で作る場合はクリーンルーム内でクラフトするか、利用可能であればクリーニングメンテナンスハッチを使ってください。\n\n月面ではその手順は不要です。", + "quests.ae2.cell_component_4m.desc": "大きくて高い。それだけ。", + "quests.ae2.cell_component_16m.desc": "このアイテムは&c月面&rでのみ作成可能です。その他の場所では作れません。そのうえで、クリーンルームが必須となるため、&c月面&rでクリーンルームを準備したくない場合は、&7クリーニングメンテナンスハッチ&rを用意してください。\n\nさらに、作成には一定の研究も必要です。詳細が分からない場合は、&cZPM&rの章を確認してください。", + "quests.ae2.cell_component_64m.desc": "&c64MMEGAストレージコンポーネント&rは、&8TerraFirmaGreg&rにおける最大のストレージコンポーネントです。実際にはほとんど必要ないと思いますが、欲しくなる人もいるかもしれません。", + "quests.ae2.oversize_interface.desc": "&dME特大インターフェース&rは、&dME拡張インターフェース&rのさらなる強化版で、各スロットに16倍のアイテムや液体を格納できます。大量処理を行う場合に非常に便利です。", + "quests.ae2.assembler_matrix.desc": "&6組立マトリックス&rは、カスタマイズ可能なマルチブロック形式の分子組立機です。このクエストのTasksに沿えば、十分に強力なものを組み立てられるでしょう。必要に応じて&bパターンコア&rや&aクラフトコア&rを追加して拡張することも可能です。\n\n詳しい情報は、ゲーム内ガイドで確認してください。", "quests.tasktype.checkmark": "Click here to complete this quest/task", "quests.tasktype.item.any": "Any Item of type:", "quests.tasktype.lookat": "Look at a:", @@ -2092,82 +2093,82 @@ "quests.gregtech_energy.lce_fuel.desc.1": "これらの液体燃料は&6燃焼発電機&rで使えます。弱いものから順に並べました。\n\n&bMV&rの段階では、まずディーゼルかバイオディーゼルを使うのがおすすめです。\n&6HV&rに進んだら、窒素・水素・酸素を混ぜてセタン添加ディーゼルにアップグレードできます。", "quests.gregtech_energy.lce_fuel.desc.2": "&5EV&rに到達して&6蒸留塔&rを本格的に運用し始めたら、ガソリンまたはハイオクガソリンに切り替えるタイミングです。\n早とちりしないでください。原油はきちんと蒸留する必要があり、通常の蒸留機では効率が非常に悪いです。\n\n作るには、原油の蒸留といくつかの有機化合物処理を組み合わせる必要があります。熱分解炉と蒸留塔を使えばスムーズに処理できます。\n\nハイオクガソリンを安定供給できれば、燃焼発電機だけでクリアすることも夢ではありません。", "quests.gregtech_energy.lce_fuel.task": "I got enough", - "quests.gregtech_energy.large_solar.subtitle": "大規模太陽光発電", + "quests.gregtech_energy.large_solar.subtitle": "メガソーラー", "quests.gregtech_energy.large_solar.desc.1": "大型ソーラーアレイMK_Iは、月面に大規模な基地を作るときの頼れる電力源です。\n\n特に&bAE2&rのラインの稼働やMoon_dust_Harvesterの安定稼働に便利です。\n\nGregTechのターミナルを持って、コントローラーをスニーク右クリックするだけでマルチブロックを瞬時に組み立てられます。\n\nまた、コントローラーで&eU&rを押すと、EMIでどのような構成か簡単に確認できます。", "quests.gregtech_energy.large_solar.desc.2": "&6大型ソーラーアレイMK_I&rには&92種類の動作&rがあります:\n\n&9•パッシブモード&r—\nこのモードでは&d太陽電池&rをゆっくり消費します。補充を欠かさなければ問題ありませんが、無限には使えません。昼の間だけ&6HVでの2A&r分の電力を生成します。基本的には十分ですが、最大効率ではありません。\n\n&9•アクティブモード&r—\nこのモードではエネルギー出力を最大化できますが、冷却材の管理が必要です。安定稼働には準備が要りますが、その代わりに&5EVでの2A&r分の電力を生成します!\n\nさらに、上位版のMK_IIとMK_IIIもあり、より高度な冷却材が必要になります。", - "quests.gregtech_energy.large_solar_t2.subtitle": "Even stronger", - "quests.gregtech_energy.large_solar_t2.desc.1": "If you're building an &dAE2 base on the Moon&r, chances are you'll need a lot more energy. That's where the &6Large Solar Array MK II&r comes in!\n\nJust like the MK I, it offers 2 different recipes — but this time, neither is fully passive.", - "quests.gregtech_energy.large_solar_t2.desc.2": "Both &bSolar Coolant&r and &bCryogenized Fluix&r are fully renewable on the Moon. In fact, the Solar Coolant loop recycles its &eFluorine&r and &eChlorine&r inputs — meaning you only need a steady supply of:\n\n• Helium-3 — can be extracted with a &aFluid Drill Rig&r\n• Water — collect it passively with an &aAqueous Accumulator&r\n\n&cPower emergency fallback:&r\nIf your fluid supply is interrupted, the LSA MK II can still operate using Photovoltaic Cells.\nThis fallback method keeps your base online while you troubleshoot the issue.\n\nA must-have for any serious off-world AE2 infrastructure.", - "quests.gregtech_energy.large_solar_t3.subtitle": "Maximal Power", - "quests.gregtech_energy.large_solar_t3.desc": "The final tier is the &6Large Solar Array MK III&r. It works the same way as the MK II, but its new Solar Coolant requires the addition of &aArgon&r and &bSilica Aerogel&r.\n\nYou should already be familiar with &bSilica Aerogel&r — you used it in your &dRocket Tier 3&r.\nHowever, it's much harder to produce on the Moon, and you may need a constant supply shipped from &aEarth&r.\n\nWe’ll let you decide how to handle this logistical challenge — whether it’s through automation, or interplanetary transport, the choice is yours.\n\n&eHigh-tech energy&r demands &chigh-level infrastructure&r. Plan wisely!", - "quests.gregtech_energy.solar_panel.subtitle": "Light in the Dark", - "quests.gregtech_energy.solar_panel.desc": "The Solar Panel will be your first source of power on the Moon.\n\nThey produce 32 EU/t during daytime, but keep in mind they actually generate RF, so you’ll need a Converter to transform it into EU.\n\nYou can use one &bMV Converter&r for up to 2 Solar Panels or a &6HV Converter&r for up to 4 Solar Panels.", + "quests.gregtech_energy.large_solar_t2.subtitle": "ギガソーラー?", + "quests.gregtech_energy.large_solar_t2.desc.1": "月面に&dAE2用の拠点&rを建設すると、多くのエネルギーが必要になるでしょう。そんな時に頼れるのが&6大型ソーラーアレイMK_II&rです!\n\nMK_Iと同様に2種類のレシピがありますが、今回はどちらも完全なパッシブ方式ではありません。", + "quests.gregtech_energy.large_solar_t2.desc.2": "&bソーラー冷却剤&rと&b超低温液化フルーシュ&rは、両方とも月面で完全に生産可能です。ソーラーの冷却処理では&eフッ素&rと&e塩素&rをループさせることができるため、必要なのは次の2つです:\n\n•ヘリウム3—&a液体採掘機&rで採取可能\n•水—&a水生成機&rで生産可能\n\n&cトラブルが起こったら:&r\nもし液体の供給が途絶えても、太陽電池を消耗して稼働し続けることができます。\nなにかトラブルが起こった時には、この方法で一時的に拠点を稼働させることができます。\n\n本格的な月面拠点の運用に欠かせない存在です。", + "quests.gregtech_energy.large_solar_t3.subtitle": "テラソーラー?", + "quests.gregtech_energy.large_solar_t3.desc": "最終段階となるのが&6大型ソーラーアレイMK_III&rです。基本構造はMK_IIと同じですが、新たなソーラー冷却剤には&aアルゴン&rと&bシリカエアロゲル&rが必要になります。\n\n&bシリカエアロゲル&rは上位宇宙服の製造などにも使える素材です。月面では生産が難しく、&a地球&rからの定期的な補給が必要になる可能性があります。\n\n安定供給のためには、どうにかして自動化で処理するか、惑星間輸送に力を入れるか、など考えてみてください。\n\n&e高度なエネルギー&rを扱うには、それに見合った&c高度なインフラ&rが不可欠です。しっかりと計画を立てましょう!", + "quests.gregtech_energy.solar_panel.subtitle": "キロソーラー?", + "quests.gregtech_energy.solar_panel.desc": "太陽光発電機は、月面での初期の電力源となるでしょう。\n\n昼間には32EU/tを発電しますが、生成しているのはRFなので、EUに変換するためのエネルギー変換機をかませる必要があります。\n\n&bMV変換機&rで最大2機の太陽光発電機を、&6HV変換機&rなら最大4機の太陽光発電機を使用できます。", "quests.gregtech_energy.storage.title": "蓄電について", "quests.gregtech_energy.storage.subtitle": "電力の貯蓄", - "quests.gregtech_energy.storage.desc": "Storing your energy is one of the most fundamental pillars of the power system in GregTech.\n\nWhy is that? Simply because even the strongest generators won't be enough to keep up when you start a big craft — especially in late game.\n\nTo deal with this, GregTech provides multiple solutions to store astronomical amounts of EU. These storages act as a buffer between your energy production and the machines that drain it during complex operations.\n\nWhether you’re preparing for a Fusion Reactor, an LCR, or any HV-IV scale crafting chain, you’ll need that extra backup of energy to keep everything stable.\n\nDon’t underestimate the power of a good battery — it may just be the thing that saves your base from a blackout during critical moments.", + "quests.gregtech_energy.storage.desc": "蓄電は、GregTechの電力システムにおける重要な要素です。\n\nなぜならば、どんなに強力な発電機でも、大規模なクラフトを始めたときには電力消費に追いつかなくなるからです——特に終盤では顕著です。\n\nその対策として、GregTechには様々な蓄電手段があります。蓄電設備は、電力のバッファとして機能が何よりも大きいです。\n\n核融合炉やLCRの運用、あるいはHV〜IV規模のパッシブラインを構築した場合、安定稼働させるためには大きめの電力のバッファが必要でしょう。\n\n蓄電の重要性を侮ってはいけません——円滑な進行のために非常に役立ってくれるでしょう。", "quests.gregtech_energy.storage.task": "I understand", - "quests.gregtech_energy.tank.title": "Storing Fuel", - "quests.gregtech_energy.tank.subtitle": "There's more kinds of batteries than just electric ones", - "quests.gregtech_energy.tank.desc.1": "Obviously, storing energy can also mean storing the fuel that makes it.\n\nFor this scenario, while Drums and Crates are decent early options, you should not overlook the &dSuper Tank&r and the &dSuper Chest&r.", - "quests.gregtech_energy.tank.desc.2": "These beasts are capable of storing tremendous amounts of fluid or items — perfect for automated energy setups, especially when you want to generate power far away from your main base without having to build an entire cable network.\n\nJust load them up with gas, fuel, steam or even plasma, and let them handle the rest. With proper planning, your outposts can be fully operational with no live connection to your central grid.\n\nEnergy doesn’t always come in wires — sometimes, it comes in barrels.", + "quests.gregtech_energy.tank.title": "燃料貯蔵", + "quests.gregtech_energy.tank.subtitle": "驚異的な収納テクニック", + "quests.gregtech_energy.tank.desc.1": "燃料を蓄えるということは、実質的に電力を蓄えることにもなります。\n\n序盤なら、ドラムやチェストで十分ですが、より強力なストレージを求めるのなら&dスーパータンク&rと&dスーパーチェスト&rを使いましょう。", + "quests.gregtech_energy.tank.desc.2": "これらの「化け物級」ストレージは、1ブロックで驚くほど大量の液体やアイテムを蓄えられます。発電の自動化にももちろん役に立ってくれます。離れた場所で電線をつなげるのが手間だと感じたらこれを使いましょう。\n\nガスや液体燃料、蒸気、プラズマなどの燃料を詰め込んでおけば、発電機とセットで簡単に大規模な発電をすることを可能にします。\n\nエネルギーというのはいろんな姿をしているのです。", "quests.gregtech_energy.tank.task": "Any Super Tank", - "quests.gregtech_energy.battery_buffer.title": "Battery Buffer", - "quests.gregtech_energy.battery_buffer.subtitle": "The basic battery buffer beckons batteries", - "quests.gregtech_energy.battery_buffer.desc.1": "Battery Buffers are your basic machines to store and manage energy — though technically, they don’t store energy on their own. They simply serve as a housing for your batteries.\n\n&c⚠ If you don’t want them to explode&r:\n- &4Never input higher-tier energy&r into a lower-tier Battery Buffer.\n- Batteries can only be charged if they are of &cequal or lower tier&r than the Battery Buffer.", - "quests.gregtech_energy.battery_buffer.desc.2": "A Battery Buffer can accept up to 2x its output amperage.\nSo for example, a 4x Battery Buffer can take in &a8A&r — but will only output &e4A&r max (1A per battery slot).\n\n&eReminder&r:\n- No batteries = no output.\n- The number of batteries determines the number of Amps it outputs. (That means a &68x Battery Buffer&r with only &e3 batteries&r will only output &e3A&r.)\n\nUse them wisely — they are the foundation of any stable energy network.", + "quests.gregtech_energy.battery_buffer.title": "蓄電器", + "quests.gregtech_energy.battery_buffer.subtitle": "バッテリー全員集合", + "quests.gregtech_energy.battery_buffer.desc.1": "蓄電器は、電力の基本的な貯蔵と管理を行う装置です。厳密には自分で電力を蓄えるわけではなく、バッテリーを格納して動作させる「バッテリーケース」のような存在です。\n\n&c⚠爆発事故を防ぐために必ず守ること!&r\n-&4上位電圧&rの電力を下位の蓄電器に入れてはいけません。\n-蓄電器には&c同じまたはそれ以下の電圧&rのバッテリーだけを入れることができます。", + "quests.gregtech_energy.battery_buffer.desc.2": "蓄電器は、出力できる電流の2倍まで入力を受け入れることができます。\nたとえば4スロット蓄電器なら&a8A&rまで入力できますが、出力は&e最大4A&r(スロット1つにつき1A)までに限られます。\n\n&eまとめ&r:\n-蓄電にはバッテリーが必要です。\n-出力アンペア数は入れたバッテリーの数で決まります。(つまり、&68スロット蓄電器&rに&e3個&rしかバッテリーを入れていなければ、出力は&e3A&rになります。)\n\n使い方を理解し、安定した電力網を支えましょう。", "quests.gregtech_energy.battery_buffer.task.1": "Any battery buffer", "quests.gregtech_energy.battery_buffer.task.2": "Another one", - "quests.gregtech_energy.pss.title": "The Power Substation", - "quests.gregtech_energy.pss.subtitle": "All your eggs in one basket", - "quests.gregtech_energy.pss.desc.1": "The &dPower Substation&r — also known as the &dPSS&r — is the &6ultimate custom battery multiblock&r. Once you're able to craft it in &1IV&r, it should easily serve as your base's central source of power, so it can be a good thing to focus towards.\n\nIt can store so much energy... you’d probably need multiple lifetimes to fill it.", - "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &8Amperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", - "quests.gregtech_energy.batteries.title": "Super Batteries", - "quests.gregtech_energy.batteries.subtitle": "Sci-Fi power storage", - "quests.gregtech_energy.batteries.desc": "In &7LV&r and &bMV&r, you probably built your first batteries made of Sodium or Lithium.\n\nBut let’s be real — these are the weakest batteries GregTech has to offer.\n\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\nThey are much more potent, store way more energy, and can help you push your factory to the next tier.\n\nAre they more expensive? Of course. But let’s be real...\nPower is Power. Who’s counting?", + "quests.gregtech_energy.pss.title": "大型蓄電器", + "quests.gregtech_energy.pss.subtitle": "ところがどっこい...夢じゃありません!", + "quests.gregtech_energy.pss.desc.1": "&d大型蓄電器&r(通称:&dPSS&r)は、&6超強力な蓄電用のマルチブロック&rです。\n&1EV&rから使えるようになります。もし、電力に不安を抱えていたらすぐにでも作りましょう。あなたの不安を消し飛ばすほどの莫大な蓄電量を誇ります。\n\n桁外れの蓄電容量だけでなく、そのほかにも電力の管理を非常に楽にしてくれる要素を持っています。", + "quests.gregtech_energy.pss.desc.2": "&e扱い方&r:\n-まず&aパラジウム製大型蓄電器用外装&rで本体を組み立てましょう。\n-入力用に&bエネルギーハッチ&rを1つ、出力用に&bダイナモハッチ&rを1つ以上設置します。\n-対応ハッチは自由で、&8アンペア型&rでも&6レーザー型&rでもOK。\n-&c爆発の心配は不要&rです——使った蓄電ブロックにかかわらず&aどんな電圧でも&r受け入れます。\n\n&e蓄電層について&r:\n-上部には最大&d17層&rまでの&9蓄電ブロック&rを積み重ねられます。\n-各層は&c隙間なく&r設置する必要があります。\n- &f空&rのものと&6バッテリーが入っている&rものが混ざっていても構いません。\n\nそして蓄電層を&b合わせガラス&rで囲めば完成です。\n\n正直言って、&c17層も積む必要なんてまずありません&r...ロマンを追い求めるなら別ですが。\nもし本当に17層フルのPSSを作ったなら、&lSNSで自慢しましょう&r。", + "quests.gregtech_energy.batteries.title": "強力なバッテリー", + "quests.gregtech_energy.batteries.subtitle": "IC2のその先へ", + "quests.gregtech_energy.batteries.desc": "&7LV&rや&bMV&rの頃に、ナトリウム電池やリチウム電池を初めて作ったと思います。\n\nその頃は、バッテリーの性能に満足できないこともあったと思います。\n\nこのクエストでは、そのようなバッテリーとは比べ物にならないほど強力な「&aクリスタルバッテリー&r」系統を紹介します。\nエネルギー容量も出力も段違いで、きっとバッテリーで不満を感じることはなくなるでしょう。\n\nもちろんコストはやや高めです。ですが、そんなの問題じゃありません。\n電力は正義。細かいことを気にする必要はないのです", "quests.gregtech_energy.batteries.task": "Any crystal battery", "quests.gregtech_energy.spending_energy.title": "電力運用について", "quests.gregtech_energy.spending_energy.subtitle": "電力の消費", - "quests.gregtech_energy.spending_energy.desc.1": "How to spend all this energy?\n\nUse your machines! Sounds simple, right?\nWell... not exactly. There are many small details that you should learn to help you on your quest to completing &3TerraFirmaGreg&r.\n\nBasic Machines:\n- These machines are simple.\n- They can request up to &a2A&r each.\n- If you input a higher tier of energy... &4\uD83D\uDCA5 they explode&r.\n\nGregTech Multiblocks:\nNow things get interesting. Multiblocks offer more flexibility and power — &eif&r you understand how they work.", - "quests.gregtech_energy.spending_energy.desc.2": "Standard Mechanics:\n- If a multiblock can accept two Energy Hatches (most of them), this allows you to use higher-tier recipes than the machine’s base tier.\n\nExample:\nIf you're using a Large Mixing Vessel and you install two IV Energy Hatches, it will be able to process &cLuV&r-tier Mixer recipes.\n\nThis is one of the key benefits of multiblocks over single-block machines — to upgrade them to the next tier, you only have to swap out their energy hatches instead of replacing the whole machine.", - "quests.gregtech_energy.spending_energy.desc.3": "Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1A!\n\nYou can still use a 4A or 16A Energy Hatch. This will allow &bOverclocking&r of recipes but not the recipe tier.\n\nExample:\nThe Large Circuit Assembler only allows one Energy Hatch. If you install a 4A IV Energy Hatch, you will be able to overclock all IV and lower recipes.\n\nHowever, it cannot craft LuV-tier recipes because the machine doesn't support multiple hatches. That limitation is intentional, to prevent skipping the GregTech progression system.", - "quests.gregtech_energy.spending_energy.desc.4": "So remember: More amps on a single hatch means faster processing, but two hatches are required to unlock higher-tier recipes.", + "quests.gregtech_energy.spending_energy.desc.1": "電力はあるけれど、何に使えばいいんだろう?\n\n機械を使いましょう!とはいえ、実際のところそう単純な話ではないのです...\n&3TerraFirmaGreg&rを攻略するために、知っておくべき電力の基本知識をお教えします。\n\n基本的な機械:\n-各機械は最大で&a2A&rまで要求できます\n-上位の電圧を流すと...&4\uD83D\uDCA5爆発します&r。\n\n大型機械:\nここからが本番です。マルチブロックの構造は、仕組みを理解して、うまく扱うことが重要です。", + "quests.gregtech_energy.spending_energy.desc.2": "標準的な仕組み:\n-マルチブロックが2つのエネルギーハッチを組み込める場合(ほとんどの機械がそうです)、その機械の基本電圧よりも1つ上位の電圧のレシピを使用できます。\n\n例:\n大型混合機を使用し、そこにIVエネルギーハッチを2つ取り付けると、&cLuV&rのミキサーレシピを処理できるようになります。\n\nこれは、大型機械の大きな利点の1つです。そして、アップグレードしたい場合は、機械全体を交換するのではなく、エネルギーハッチを交換するだけで次のティアに引き上げることができます。", + "quests.gregtech_energy.spending_energy.desc.3": "一部の大型機械は1つのエネルギーハッチしか組み込むことができません。その場合も4Aや16Aのエネルギーハッチを使用することで、レシピの&bオーバークロック&rは可能です。ただし、レシピのティア自体は変わりません。\n\n例:\n大型回路作成機は1つのエネルギーハッチしか取り付けられません。しかし、4AのIVエネルギーハッチを設置すれば、IVおよびそれ以下のレシピをすべてオーバークロックすることができます。\n\nただし、複数のハッチをサポートしていないため、LuVティアのレシピを作成することはできません。この制限は意図的なもので、GregTechの進行システムを飛ばすことを防ぐための設計です。", + "quests.gregtech_energy.spending_energy.desc.4": "要するに、1つのエネルギーハッチに多くのアンペアを流せば処理は速くなりますが、上位ティアのレシピを使いたい場合はエネルギーハッチを2つ取り付ける必要があります。", "quests.gregtech_energy.spending_energy.task": "I understand", - "quests.gregtech_energy.overclock.title": "Overclock", - "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", - "quests.gregtech_energy.overclock.desc.1": "Have you heard about Overclocking, but don't really understand what it is? Let's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of 32 EU/t — sometimes less, but never more.\n&dMV&r goes up to 128 EU/t.\n&dHV&r reaches 512 EU/t.\nBasically, every tier is a 4x increase in power usage.", - "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 8x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", - "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Heat Furnace\n- Large Chemical Reactor\n- Electric Greenhouse", + "quests.gregtech_energy.overclock.title": "オーバークロック", + "quests.gregtech_energy.overclock.subtitle": "電圧と処理時間の関係", + "quests.gregtech_energy.overclock.desc.1": "「オーバークロック」ってよく聞くけど、実際どういう意味なのか分からないですか? それなら、ここでしっかり勉強しておきましょう。\n\n基礎知識:\n&dLV&rは最大で32EU/tです。状況によってはそれ以下になることもありますが、超えることはありません。\n&dMV&rは128EU/t、\n&dHV&rは512EU/tまで出力できます。\nつまり、電圧のティアが1段階上がるごとに必要な電力はおよそ4倍になる、という仕組みです。", + "quests.gregtech_energy.overclock.desc.2": "下位電圧のレシピを上位電圧の機械で動かすとどうなるでしょう?\nそれが、いわゆる&eオーバークロック&rです!\n\n例えば、&dMV&rレシピ(33〜128EU/t)を&dHV&r機械で処理すると、消費電力は4倍、速度は2倍になります。\n\n同じMVレシピを&dEV&r機械で動かすと、消費電力は8倍にもなるのに、速度は4倍しか上がりません。\n\nつまり、電力効率の面では、1台をオーバークロックするよりも複数の機械を動かした方が得なのです。\nとはいえ、現実的には同じ機械を大量に並べるより、オーバークロックしてスピードアップする方が便利なことが多いと思います。\n\nエネルギーが貴重な序盤のうちは、この仕組みを理解しておいた方がよいでしょう。", + "quests.gregtech_energy.overclock.desc.3": " 特定の大型機械だけが持つ特別な機能、それが&eパーフェクトオーバークロック&r(通称:POC)です。\n通常のオーバークロックでは「4倍の電力で2倍の速度」ですが、POCでは「&a4倍の電力&rで&a4倍の速度&r」になります。つまり、複数台の機械を動かすのと同じ効率で動作するというわけです。\n\n現時点でTerraFirmaGreg内でPOCに対応している大型機械は以下の通りです:\n-工業用電気炉(EBF)\n-合金高炉(ABS)\n-回転式炉床炉(RHF)\n-大型化学反応炉(LCR)\n-電気温室", "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", - "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", - "quests.gregtech_energy.blast_oc.subtitle": "You don't need to understand this one", - "quests.gregtech_energy.blast_oc.desc.1": "If you haven't learnt about Perfect Overclocking yet, you should read the quest right above this one first.\n\nThese three multiblocks share a special ability: they can &ePerfect Overclock&r recipes depending on the &ctemperature of the machine&r. You can check the current temperature by clicking on the controller.\n\nThere are two ways to increase the temperature:\n1) Use higher-tier energy inputs\n2) Upgrade the coils", - "quests.gregtech_energy.blast_oc.desc.2": "To see the temperature of a coil, simply &3hold Shift&r while hovering over it.\n\nOnce you know your machine's temperature, you’ll need the temperature of the recipe. The easiest way to find it is to use EMI.\n\nWith both values, you can do a quick calculation to see if Perfect Overclocking applies:\n&bYour machine must be at least 1800K hotter per overclock tier than the recipe requires.&r", - "quests.gregtech_energy.blast_oc.desc.3": "Example:\n- Stainless Steel recipe requires &c1700K&r and is &aHV&r tier.\n- Your EBF is at &bLuV&r and has a temperature of &c5900K&r.\n- HV to LuV is &a3 overclock tiers&r.\n- 1800 x 3 = &c5400K&r → Add the recipe's base: 5400 + 1700 = &c7100K&r needed for full Perfect Overclock.\n- Since your machine is only at &c5900K&r, you will Perfect Overclock from HV to EV and EV to IV, but only a normal overclock from IV to LuV.\n\nSo the recipe will take 1.7 seconds instead of 0.85 seconds if it were fully overclocked.\n\nFeeling overwhelmed? Just remember this: better coils = faster and cheaper recipes.", + "quests.gregtech_energy.blast_oc.title": "機械高炉の仕組みについて", + "quests.gregtech_energy.blast_oc.subtitle": "完全に理解しろとは言いません", + "quests.gregtech_energy.blast_oc.desc.1": "まだPOCについて学んでいない場合は、1つ上のクエストを先に読んでください。\n\nこれら3つの大型機械には共通の特別な仕様があります。それは、&c機械の温度&rに応じて&ePOC&rになるというものです。現在の温度はコントローラーをクリックすることで確認できます。\n\n温度を上げる方法は2つあります:\n1)高電圧の電力を使用する\n2)コイルをアップグレードする", + "quests.gregtech_energy.blast_oc.desc.2": "コイルの性能は、カーソルを合わせて&3Shiftキー&rを押すと確認できます。\n\n機械の温度が分かったら、次はレシピの要求温度を確認しましょう。これはEMIから確認できます。\n\n両方の値が分かれば、POCが適用されるかどうかを簡単に計算できます:\n&b機械の温度は、レシピが要求する温度よりもオーバークロックティアごとに少なくとも1800K高くなければなりません。", + "quests.gregtech_energy.blast_oc.desc.3": "例:\n-ステンレスの要求温度&c1700K&rで、&aHV&rティアです。\n-EBFは&bLuV&rティアで、温度は&c5900K&rだとします。\n-HVからLuVまでは&a3段階のオーバークロック&rです。\n- 1800x3=&c5400K&r→レシピ基準の温度を加えると...5400+1700=&c7100K&rがPOCに必要な温度です。\n-しかし、機械の温度は&c5900K&rしかないので、HV→EVおよびEV→IVのときはPOCになりますが、IV→LuVは通常のオーバークロックになります。\n\nその結果、レシピの処理時間は、完全にPOCの場合は0.85秒ですが、今回の事例では1.7秒かかります。\n\n覚えにくいですか? とにかくこれだけ覚えておけばOK:コイルをアップグレードすれば、レシピはより速く、より省エネで作れます。", "quests.gregtech_energy.blast_oc.task": "Better coils more gooder, got it", - "quests.gregtech_energy.subtick.title": "Subtick", - "quests.gregtech_energy.subtick.subtitle": "Parallel?", - "quests.gregtech_energy.subtick.desc.1": "Another hidden mechanic in GregTech Multiblocks: the &dSubtick&r.\n\nWhat is it? Subtick activates when a recipe becomes so fast it takes less than one tick to process. Normally, machines can’t go faster than one recipe per tick — but with Subtick, they can!\n\nHow does it work? Once a recipe hits 1 tick duration, upgrading the Energy Hatch further won’t make it faster.\nBut thanks to Subtick, instead of wasting power, the machine will &aparallel the recipe internally&r.", - "quests.gregtech_energy.subtick.desc.2": "For example: If your Large Chemical Reactor (LCR) runs a LuV recipe at 1 tick, then at ZPM, it will run &e2 recipes per tick&r. Even faster hatches mean more internal parallel.\n\n&dNote&r: As of now, all the Large Machines can subtick in a limited way, but &aonly the LCR&r supports both Subtick and Perfect Overclocking. That’s also why there's no IV multiblock with parallel hatches for the LCR: it’s already doing it... but better.", - "quests.gregtech_energy.parallel_hatch.title": "Parallel Hatch", - "quests.gregtech_energy.parallel_hatch.subtitle": "Parallel again?", - "quests.gregtech_energy.parallel_hatch.desc.1": "The &dParallel Hatch&r is the main draw of the Large Multiblocks.\n\nWhat does it do?\nWhere allowed (mostly on the Multiblocks crafted from the Alloy Blast Smelter), it lets you run &amultiple recipes at the same time&r.\n\nIt does this by consuming more energy per tick, but massively increasing throughput. Perfect if you’re mass-producing alloys, circuits, or plates.", - "quests.gregtech_energy.parallel_hatch.desc.2": "Just place a Parallel Hatch on the Multiblock and make sure it’s fed with enough energy and input materials. Most multiblocks that allow it will show so in EMI or in the questbook.\n\n&dNote&r: The Large Chemical Reactor does not use Parallel Hatches — it already comes with something better called &bSubtick&r — read the nearby quest to find out more.", + "quests.gregtech_energy.subtick.title": "サブティック", + "quests.gregtech_energy.subtick.subtitle": "並列処理?", + "quests.gregtech_energy.subtick.desc.1": "大型機械にはもうひとつ隠れた仕組みがあります。それは&dサブティック(Subtick)&rです。\n\nサブティックは、レシピの処理速度が極端に速くなり、これ以上オーバークロックできなくなった時に発動します。通常、機械は1ティックに1レシピ以上処理できませんが、サブティックを使えば可能になります!\n\n本来、レシピの処理時間が1ティックに達すると、さらに上位のエネルギーハッチでオーバークロックしてもそれ以上早く処理することができません。その対策として、サブティックが発動しレシピを&a並列処理&rすることで、適切に処理速度を上昇させます。", + "quests.gregtech_energy.subtick.desc.2": "例えば、大型化学反応炉(LCR)がLuVのレシピを1ティックで処理する場合、ZPMエネルギーハッチを使うと&e1ティックあたり2レシピ&rを同時に処理します。さらに高電圧のハッチを使えば、内部での並列処理はさらに増えます。\n\n&d補足&r:現状ではすべての大型機械はサブティックに対応していますが、その中でも&aLCRだけ&rはサブティックとPOCの両方の機能を持ちます。そのため、LCRにはIVティアの並列ハッチが存在しません。すでに内部で効率よく並列処理を行っているからです。", + "quests.gregtech_energy.parallel_hatch.title": "並列制御ユニット", + "quests.gregtech_energy.parallel_hatch.subtitle": "また並列処理?", + "quests.gregtech_energy.parallel_hatch.desc.1": "&d並列制御ユニット&rは大型機械の最大の魅力です。\n\n特定の大型機械(主に合金高炉以降に解放されるもの)では、&a複数のレシピを並列で&r処理することが可能です。\n\nその分、1ティックあたりの消費電力は増えますが、生産速度は大幅に向上します。合金や回路、プレートなど大量生産したい場合に理想的な機能です。", + "quests.gregtech_energy.parallel_hatch.desc.2": "大型機械に並列制御ユニットを取り付けて、十分な電力と素材が搬入されていることを確認しましょう。対応しているマルチブロックであれば、EMIやクエストブックにその情報が表示されます。\n\n&d補足&r:大型化学反応炉ではパラレルハッチは使えません。代わりに、&bサブティック&rというより高性能な仕組みが組み込まれています。詳しくは真上のクエストを参照してください。", "quests.gregtech_energy.parallel_hatch.task": "Any Parallel Hatch", - "quests.gregtech_energy.rotor.title": "Turbine Rotors", - "quests.gregtech_energy.rotor.subtitle": "So many choices!", - "quests.gregtech_energy.rotor.desc.1": "Rotor Holders naturally require a Rotor to use, but there's a lot of options and they all have different stats, so what do they all mean?\n\nHigher &9Efficiency&r will increase the time each mB of fuel is used for, effectively reducing fuel usage. Meanwhile, &9Power&r will increase how much EU the turbine will generate. Lastly, &9Durability&r should be obvious.", - "quests.gregtech_energy.rotor.desc.2": "Ideally, you'll want to maximize all three, but the choice will depend on how much fuel you're producing, how many turbines you have, and how often you want to replace them, so there's no definitive correct answer. &8(Besides neutronium, of course...)&r\n\nThat being said, if you're completely lost, we recommend Vanadium Steel in &6HV&r, Ultimet in &5EV&r, and HSS-S in &9IV&r.\n\nUnfortunately, you can't automatically pipe new rotors into rotor holders as they need the block in front of them to be completely empty, but a &aMechanical Arm&r will work!", + "quests.gregtech_energy.rotor.title": "タービンローター", + "quests.gregtech_energy.rotor.subtitle": "豊富な品揃え", + "quests.gregtech_energy.rotor.desc.1": "ローターホルダーを使うにはローターが必要ですが、種類が多く、それぞれ性能が異なります。では、具体的に何が違うのでしょうか?\n\n&9タービン効率&rが高いほど、同じ燃料量でより長く発電機を稼働でき、燃費が良くなります。&9タービンパワー&rが高いほど、発電できるEUの量が増えます。そして&9耐久値&rは、そのローターがどれくらい長持ちするかを示しています。", + "quests.gregtech_energy.rotor.desc.2": "もちろん、効率・パワー・耐久値の3つをすべてが高い方がいいですが、現実的には「燃料生産量」「タービンの数」「ローター交換の手間」などによって最適解は変わります。つまり、これといった正解はないのです。&8(まあ、ニュートロニウムを除けばですが...)&r\n\n迷った場合は、&6HV&r帯ではバナジウム鋼、&5EV&rではアルティメット、&9IV&rではHSS-Sを使うのがおすすめです。\n\n\n\nなお、ローターホルダーは正面が塞がっていると動作しないため、新しいローターをパイプなどで自動補充することはできませんが、&aメカニカルアーム&rであれば問題なく交換できます!", "quests.gregtech_energy.rotor.task": "Any Turbine Rotor", - "quests.gregtech_energy.fission_reactor.title": "Fission Reactor MK I", - "quests.gregtech_energy.fission_reactor.subtitle": "Strap yourself in, this is complicated", - "quests.gregtech_energy.fission_reactor.desc.1": "The &dFission Reactor&r is certainly an uncommon sight in GregTech - both in theme, and how it works. But fear not, we are here to guide you with this multi-purpose big-brain multiblock!\n\nWe'll spare you the physics for now, &efellow engineer&r. The most important thing you should know is that the reactor is like a big thermal &dbattery-generator&r. You input proper fuel, and get &cheat&r (just like &6EU/t&r) that gets stored in the reactor as &crising temperature&r (stored &6EU&r).\n\nYou can then transfer this heat to &9coolant fluids&r for running turbines, or performing EBF-style crafting recipes. Sometimes you may even have &ctoo much&r of it. And oh, you also get new elements to make new fuels and circuits and stuff. Maybe explore the solar system a bit more? Boring stuff.", - "quests.gregtech_energy.fission_reactor.desc.2": "To start off, get your hands on some &dThorium&r. Remember to wear all the relevant PPE - &eDeatek Intergalactic&r is not responsible for any bodily harm resulting from improper handling of fissile materials. We really shouldn't have to remind you at this point anymore. Check the hazards quest if you need a refresher.\n\nNext, craft some empty &dFuel Rods&r and fill them with the &dNuclear Fuel Processing Plant&r. The rods are reusable, so you don't have to make too many. In fact, you might want to make just a single one for now.\n\nYou'll of course need a completed reactor, too. Check the EMI preview. Note how there is a central column of Fuel Holders, and then some optional columns for Components and Material Holders - more of these later.\n\nWait. Why just a &osingle&r rod? Oh, are &ewe&r glad you asked. Let's delve deep into the reactor mechanics in the next page.", - "quests.gregtech_energy.fission_reactor.desc.3": "The more fuel rods you have installed in the reactor, the &chotter&r it gets. And the hotter it is, the more heat it is able to transfer out to the coolant fluid and processable items. But physics has its limits, and the reactor can only ever get &cso hot&r, so don't install too many fuel cells.\n\nBut fear not! Unlike how the &0big-oil&r propaganda machine insists, nuclear energy is &aperfectly safe&r. Should the heat level of the reactor border dangerous territory, the reactor enters an &9automatic cooldown sequence&r, and won't start again until all heat has been &asafely dissipated&r. It's quite slow, though.\n\nThere has to be a way to make it hotter and faster? Once again, good thing you asked! &eOur brilliant engineers&r have a solution for you!", - "quests.gregtech_energy.fission_reactor.desc.4": "In addition to the 5 &dFuel Holders&r, you can install &oup to&r 20 &dComponents&r. The reactors from some other manufacturers require very exact positioning, but our reactor is smarter. The &6stats&r of all installed ones will simply be &6summed up&r, and that's it!\n\nCurrently, the reactor is able to utilize them in three&8*&r different ways:\n&e1)&r Max temperature &7(insulator)&r\n&e2)&r Efficiency &7(fuel lasts longer)&r\n&e3)&r Throttle &7(slows down the reactions)&r\n\n&8*)&r It's possible your local galaxy doesn't have the necessary materials for all of them. We estimate to find materials only for the first category.\n\nBut be wary. Rising the &ctemperature&r comes with a &cdownside&r.", - "quests.gregtech_energy.fission_reactor.desc.5": "While a &chotter&r reactor makes coolants and processing &cfaster&r, it is also more demaning for the fuel rods. Each fuel rod has limited durability, and this scales linearly with the temperature.\n\nAs you need more fuel rods for the higher heat, this in effect makes the damage scale &nquadratically&r. If you want to heat coolants the most efficiently, you'll use low temperature. But if you want faster fissile conversion, use as high a heat as the insulation allows.", - "quests.gregtech_energy.fission_reactor.desc.6": "You are finally ready to take a look at the various recipes involving the reactor; check where the &dcontroller&r is used, and you'll find three &eEMI&r tabs:\n\n&e1)&r Fission Reactor &7(fuels and compatible coolants)&r\n&e2)&r Fission Heat Processing &7(think: EBF)&r\n&e3)&r Fission\nProducts &7(when the fuel runs out)&r\n&e4)&r The multiblock preview\n\nVarious &afuels&r are only compatible with certain &9coolant fluids&r, so pay attention to this. And once a fuel rod is completely used up, statistical certainty can safely state it having &btra&dns&rf&dor&bmed&r into new elements.\n\nThe processing recipes on the other hand can run regardless of the fuel, as long as the temperature level is high enough.", - "quests.gregtech_energy.fission_reactor.desc.7": "The simplified math is as follows: with sufficient coolant fluid and a &c100%%&r heat fuel rod, the reactor will reach a temperature of about &c200&r. This can also be referred to as heat level, or just heat. Having &dtwo&r &c100%%&r fuel cells is equal to &done&r &c200%%&r cell, and both lead to about &c400&r heat.\n\nThis is because the fuel rod generates &6200 HU/t&r (heat units). Coolant fluids are able to extract &61 HU/t&r per &c1&r degree of heat.\n\nIf the reactor's max heat is &c190&r, a &c100%%&r fuel cell will overheat it. You can increase this with the components, or alternatively &dactive coolants&r via the processing system. Each recipe has a heat impact.", - "quests.gregtech_energy.fission_reactor.desc.8": "For example, if the recipe's temperature is &c100&r, and impact &6-10 HU/t&r, it is able to cool down the reactor by &619 HU/t &rat &c190&r degrees.\n\nThat makes it possible to run the reactor with lower max heat, and not overheat! If the temperature is below &c100&r, it won't run at all - just like EBF recipes have limits.\n\nThis is all &ewe&r can teach you for now. Come back later to see if there was been any advancements, &efellow nuclear engineer&r!", + "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のようなもの」だということです。\n適切な燃料を投入すると、&cHeat&r(&6EU/t&rのようなもの)というエネルギーを発生させ、それを炉内に&crising_temperature&rとして蓄積します(つまり、&6EU&rを貯めているのです)。\n\nその熱を&9冷却液&rに移してタービンを回したり、熱が余っていたら熱を利用したクラフトに使うことなどもできます。\n\n副産物として新しい元素を入手し、新しい核燃料や上位の回路などを作ることもできます。ついでに太陽系の探検でもしてみますか?まあそんなことに興味はないですよね。", + "quests.gregtech_energy.fission_reactor.desc.2": "まずは&dトリウム&rを用意してください。取扱いは危険ですので必ず保護具を着用してください。(&eディーテック宇宙技術社&rは不慮の事故の責任を負いません。危険防止クエストで安全な手順を確認してください。)\n\n次に、空の&dFuel_Rods&r(燃料棒)を作って&d核分裂燃料形成機&rで燃料を注入してください。燃料棒は再利用できますから大量に作る必要はなく、最初は1本だけ作れば十分です。\n\n次に、核分裂炉を完成させてください。構造はEMIで確認できます。\n中央には燃料を入れるための「Fuel_Holder」を立てて、周囲にコンポーネントやMaterial_Holderを追加できる構成になっています(詳しくは後ほど)。\n\n「なぜ1本だけ?」と疑問に思いましたか。良い疑問です。次のページで核分裂炉の仕組みをじっくり解説いたします。", + "quests.gregtech_energy.fission_reactor.desc.3": "炉内に入れる&d燃料棒&rが多いほど、&c温度は上昇しやすく&rなります。そして温度が高いほど、より多くの熱を冷却液などへと移すことができます。しかし耐えられる熱には限界があり、炉は&c一定の温度&rまでにしか達しないため、あまり多くの燃料棒を入れすぎないようにしてください。\n\nとはいえご安心ください!&0Mek至上主義者&rの喧伝は誤りであり、核分裂というのは&a完璧に安全&rです!\n炉内の温度が危険域に近づくと、炉は&9自動的にクールダウン期間&rに入り、すべての熱が&a安全域まで発散&rされるまで再稼働しません。ただしクールダウン期間はかなり長いです。\n\nもっと高温かつ高速にする方法はあるのか、気になってきましたか?&e我々が誇る素晴らしき部隊&rがあなたのための解決策を用意しています。", + "quests.gregtech_energy.fission_reactor.desc.4": "5つの&dFuel_Holder&rのほかに、最大で&o20個&rの&dコンポーネント&rを組み込むことができます。他社の核分裂炉は厄介な構造なものも多くありますが、当社製の核分裂炉はとてもスマートです。設置したコンポーネントの&6ステータス&rは単純に&6合算&rされ、その結果が反映されます。\n\n現時点の核分裂炉で利用できるコンポーネントの効果は次の3種類です:\n&e1)&r最大温度上昇&7(耐熱性強化)&r\n&e2)&r効率向上&7(燃料の消費を抑える)&r\n&e3)&rスロットル調整&7(反応速度を制御)&r\n\n&8*)&rただし、あなたの手の届く場所にある素材では、まだすべてのコンポーネントを作ることはできないかもしれません。現在のところ、初歩的なコンポーネント用の素材しか確認されていないようです。\n\nそれから注意点として&c温度&rを上げることには&cデメリット&rも伴います。", + "quests.gregtech_energy.fission_reactor.desc.5": "炉内の&c温度が上昇&rするほど冷却液の加熱などの処理速度は&c向上&rしますが、&d燃料棒&rの消耗が激しくなります。各燃料棒の耐久は温度に比例して減少し、また高温にするためには、必要本数も増えるため、全体の損耗は&n二次的&rに増加します。\n\n燃料効率を考えるならば低温運転が有利ですし、燃料をより早く消費し、副産物に変換したいなら耐熱性能が許す限り高温にするのがよいでしょう。", + "quests.gregtech_energy.fission_reactor.desc.6": "これで核分裂炉を運用する際の事前知識は揃いました。それでは、具体的にどのようなレシピを実行できるのか確認しましょう。&d核分裂炉MK_I&rを&eEMI&rで調べると、3つのレシピが表示されます:\n\n&e1)&rFission_Reactor&7(対応している燃料と冷却液の一覧)&r\n&e2)&rFission_Heat_Processing&7(例:EBFのような高温処理)&r\n&e3)&rFission_Products&7(燃料が使い切られたときの副産物)&r\n&e4)&rマルチブロック情報\n\nそれぞれの&a燃料&rは特定の&9冷却液&rとしか組み合わせられないため、対応関係をよく確認してください。\nまた燃料棒が寿命を迎えると、新たな元素へと遷移します。\n\n一方で、処理レシピは十分な温度があれば燃料の種類に関係なく動作します。", + "quests.gregtech_energy.fission_reactor.desc.7": "簡略化した計算は次の通りです。十分な量の冷却液と&cHeat:100%&rの燃料棒を使用すると、炉内は約&c200&rの温度に達します。これはHeatレベル、または単に「Heat」とも呼ばれます。&d2&r本の&c100%&r燃料棒を使用することは、&d1&r本の&c200%&r燃料棒を使用するのと同じで、どちらも約&c400&rのHeatを生み出します。\n\nこれは燃料棒が1本あたり&6200HU/t&r(Heat_Units)を生成するためです。冷却液は&c1&r度あたり&61HU/t&rの熱を吸収できます。\n\n炉の耐熱上限が&c190&rの場合、&c100%&rの燃料棒でも過熱状態になってしまいます。これを回避するには、コンポーネントを追加して耐熱上限を上げるか、あるいは&d冷却材&rを使用します。使う冷却材によって冷却性能は異なります。", + "quests.gregtech_energy.fission_reactor.desc.8": "たとえば、レシピの温度が&c100K&rで、影響が&6Heat:-10HU/t&rの場合、炉の温度が&c190&rのときに&619HU/t&r分だけ冷却することができます。\n\nこれにより、炉をより低い最大温度で稼働させ、過熱を防ぐことが可能になります。温度が&c100&r未満の場合、EBFのレシピと同様に稼働しません。\n\n今お教えできるのはここまでです。さらなる研究や改良が進んだら、ぜひまた戻ってきてください。&e核エンジニアの同胞より&r", "quests.high_voltage": "&6HV&r - High Voltage", "quests.high_voltage.subtitle": "Upgrade your power, learn about the Cleanroom, make more chemicals, and get ready for Space", "quests.high_voltage.energium_crystals.title": "Super Batteries", @@ -2603,7 +2604,7 @@ "quests.low_voltage.cupronickel_ingot.desc": "&7GregTechを進めていくには、新しい素材をどうにかして確保し、それによって機械をアップグレードしたり、高度な機械部品を解禁していくことが主要な流れになります。&r\n\n長い旅路の始まりに、最初に出会う合金は&bキュプロニッケル&rです。この素材は&6工業用電気炉&r(通称:EBF)を構築するために使われ、これは産業発展には欠かせません。\n\n幸い、キュプロニッケルの作成は&7基本型合金精錬炉&rで十分に対応できます。EBFのためには&b128個&r必要になりますが、思ったより簡単に作れます!&r\n\n後に要求される合金はどんどん複雑になっていきます。今のうちにこのシンプルさを楽しんでおきましょう。", "quests.low_voltage.cupronickel_coil.title": "キュプロニッケルコイル", "quests.low_voltage.cupronickel_coil.subtitle": "コイルの赤ちゃん", - "quests.low_voltage.cupronickel_coil.desc": "最初のEBF用のコイルを作るために、&aキュプロニッケルを128個&r、&aブロンズを32個&r、&a錫合金を16個&r用意しましょう。\n\nこれはEBFのコイルの部分の要求素材に過ぎません。さらにインバーとスチールをそれぞれ1スタックずつ用意する必要があるので、採掘も進めてください。\n\nキュプロニッケルコイルを使うことで、EBFは最大&d1,800K&rのレシピを処理できるようになります(電圧ボーナスは無視)。なかなかアツいですね。\n\n「&6GregTechの電力システム&r&6」の章にある高炉に関する説明も確認して、さらに詳しく学んでください!&r", + "quests.low_voltage.cupronickel_coil.desc": "最初のEBF用のコイルを作るために、&aキュプロニッケルを128個&r、&aブロンズを32個&r、&a錫合金を16個&r用意しましょう。\n\nこれはEBFのコイルの部分の要求素材に過ぎません。さらにインバーとスチールをそれぞれ1スタックずつ用意する必要があるので、採掘も進めてください。\n\nキュプロニッケルコイルを使うことで、EBFは最大&d1,800K&rのレシピを処理できるようになります(電圧ボーナスは無視)。なかなかアツいですね。\n\n「&6GregTechの電力システム&r&6」の章にある機械高炉に関する説明も確認して、さらに詳しく学んでください!&r", "quests.low_voltage.lv_ebf.title": "工業用電気炉", "quests.low_voltage.lv_ebf.subtitle": "GregTechの中心で、愛を叫ぶ", "quests.low_voltage.lv_ebf.desc.1": "このクエストでは&3工業用電気炉&r(通称:EBF)の基本的な仕組みを学べます。一つ上のクエストでは、マルチブロック構造の仕組みを解説するので、そちらも忘れずにチェックしましょう。\n\nさて、&3EBF&rはあなたにとって&e初めての電動大型機械&rです!おめでとうございます!\nEBFは高温で素材を加工するために使います。\n\nEBFを使えば、&aアルミニウム&rを作って&d&bMV時代&rへ進めます。また、&7スチール&rを&6TFCの高炉&rよりも速く作れるので、愛着がなければ、もう時代遅れなTFCの鍛冶場を取り壊しても問題ありません。", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index ba33104fa..0344b0858 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -1024,10 +1024,10 @@ "tfg.tooltip.wraptor_wool": "§7Colhido das penas de um Distráptor", "tfg.tooltip.wraptor_sugar": "§7Não pense muito a respeito disso", "tfg.tooltip.obsolete.depreciated": "§cObsoleto, não pode mais ser criado", - "tfg.tooltip.progenitor_cells.mob": "Cultura animal: ", "tfg.gui.rnr_plow.random_mode": "Aleatorizar Materiais", "tfg.gui.rnr_plow.width": "Largura do Caminho: %d Blocos", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cFalta Camada Base Triturada!!", + "tfg.tooltip.progenitor_cells.mob": "Cultura animal: ", "tfc.jei.flint_knapping": "Talhar Sílex", "tfc.jei.straw_knapping": "Trançar Palha", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Tingindo", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 01bbfb599..9f710a0e5 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -509,7 +509,7 @@ "block.tfg.spice": "紫金矿床", "block.tfg.saplings.crimson": "绯红菌类", "block.tfg.saplings.warped": "扭曲菌类", - "block.tfg.saplings.alphacene": "阿尔法辛蘑菇", + "block.tfg.saplings.alphacene": "首新世蘑菇", "block.tfg.saplings.aeronos": "空果菇", "block.tfg.saplings.strophar": "孑节菇", "block.tfg.saplings.glacian": "霜原菇", @@ -518,7 +518,7 @@ "block.tfg.groundcover.aeronos_stick": "空果树枝", "block.tfg.groundcover.strophar_stick": "孑节树枝", "block.tfg.groundcover.glacian_stick": "霜原树枝", - "block.tfg.groundcover.alphacene_stick": "阿尔法辛树枝", + "block.tfg.groundcover.alphacene_stick": "首新世树枝", "block.tfg.mars_ice": "半重氨冰", "block.tfg.mars_icicle": "半重氨冰柱", "block.tfg.electromagnetic_accelerator": "电磁加速器", @@ -881,7 +881,6 @@ "item.tfg.food.cooked_limpet": "熟帽贝", "item.tfg.food.raw_moon_rabbit": "生月兔肉", "item.tfg.food.cooked_moon_rabbit": "熟月兔肉", - "item.tfg.spawn_egg.moon_rabbit": "月兔刷怪蛋", "item.tfg.food.freeze_dried.red_grapes": "冻干红葡萄", "item.tfg.food.freeze_dried.white_grapes": "冻干白葡萄", "item.tfg.food.freeze_dried.glow_berries": "冻干发光浆果", @@ -919,10 +918,8 @@ "item.tfg.food.ice_soup": "冰汤", "item.tfg.food.raw_glacian_mutton": "生霜原羊肉", "item.tfg.food.cooked_glacian_mutton": "熟霜原羊肉", - "item.tfg.spawn_egg.glacian_ram": "霜原羊刷怪蛋", "item.tfg.food.raw_sniffer_beef": "生嗅探兽肉", "item.tfg.food.cooked_sniffer_beef": "熟嗅探兽肉", - "item.tfg.spawn_egg.sniffer": "嗅探兽刷怪蛋", "item.tfg.food.raw_wraptor": "生诡恐鸟肉", "item.tfg.food.cooked_wraptor": "熟诡恐鸟肉", "item.tfg.food.raw_springling_collar": "生簧颈兽脖", @@ -953,6 +950,11 @@ "item.tfg.sunflower_product": "向日葵花盘", "item.tfg.rapeseed_seeds": "油菜籽", "item.tfg.rapeseed_product": "油菜籽荚", + "item.tfg.spawn_egg.moon_rabbit": "月兔刷怪蛋", + "item.tfg.spawn_egg.surfer": "破浪兽刷怪蛋", + "item.tfg.spawn_egg.wraptor": "诡恐鸟刷怪蛋", + "item.tfg.spawn_egg.glacian_ram": "霜原羊刷怪蛋", + "item.tfg.spawn_egg.sniffer": "嗅探兽刷怪蛋", "item.tfg.flintlock_mechanism": "燧发机构", "item.tfg.advanced_clockwork_mechanism": "高级发条机构", "item.tfg.certus_mechanism": "赛特斯机构", @@ -996,7 +998,7 @@ "item.tfg.twigs.aeronos": "空果树枝", "item.tfg.twigs.strophar": "孑节树枝", "item.tfg.twigs.glacian": "霜原树枝", - "item.tfg.twigs.alphacene": "阿尔法辛树枝", + "item.tfg.twigs.alphacene": "首新世树枝", "item.tfg.crimsene_gem": "绯红树脂", "item.tfg.warpane_gem": "诡异树脂", "item.tfg.glacian_wool": "霜原羊毛", @@ -3382,7 +3384,7 @@ "quests.space_survival.mars_crops.task": "任意火星种子", "quests.space_survival.bulbkin_pie.title": "火星美食", "quests.space_survival.bulbkin_pie.subtitle": "更多黑暗料理现已加入你的新领域", - "quests.space_survival.bulbkin_pie.desc": "诡恐鸟蛋可提取作为糖的替代品,而嗅探兽蛋则富含奶油。\n\n&e球根南瓜派&r堪称火星美食的巅峰之作,能同时提供四种不同类型的丰厚营养,但制作过程颇为繁琐。\n\n&e啤酒裹炸恐龙块&r将恐龙肉的高蛋白与少量谷物相结合,也可放入你的餐包中携带。\n\n&9提示:&r虽然不属于食品范畴,但你还可以将球根南瓜块与阿尔法菌蘑菇块混合制作成荧石粉。", + "quests.space_survival.bulbkin_pie.desc": "诡恐鸟蛋可提取作为糖的替代品,而嗅探兽蛋则富含奶油。\n\n&e球根南瓜派&r堪称火星美食的巅峰之作,能同时提供四种不同类型的丰厚营养,但制作过程颇为繁琐。\n\n&e啤酒裹炸恐龙块&r将恐龙肉的高蛋白与少量谷物相结合,也可放入你的餐包中携带。\n\n&9提示:&r虽然不属于食品范畴,但你还可以将球根南瓜块与首新世蘑菇块混合制作成荧石粉。", "quests.space_survival.soarer.title": "翱翔鸟", "quests.space_survival.soarer.subtitle": "需要搭个便车吗?", "quests.space_survival.soarer.desc": "在火星上飞机无法使用,而太空服也没有配备喷气背包,难道就没有其他飞行方法了吗?\n\n如果你能找到行踪飘忽的&4翱翔鸟&r,可以用生鱼驯服它们并装上鞍,即可轻松翱翔于火星天际。\n\n不过它们无法永久飞行——注意界面左上角的翼形图标,需要不时降落休息。这仍是长途旅行的绝佳选择,而且不会惊动沙虫!\n\n&9注意&r:翱翔鸟无法在&6金星&r等高温行星生存。", @@ -3408,7 +3410,7 @@ "quests.space_survival.aes_insulation.desc": "该物品目前用途有限,但未来将成为你的&1IV&r级火箭的关键构成部分。", "quests.space_survival.mars_shields.title": "高级盾牌", "quests.space_survival.mars_shields.subtitle": "是时候该升级你的旧式金属盾牌了?", - "quests.space_survival.mars_shields.desc": "&3强化盾牌&r能将伤害反弹给攻击者,效果类似原版Minecraft中的荆棘附魔。其合成材料可从贪咀兽和噬颚兽处获取。\n\n&5腐化盾牌&r会随机传送攻击者,虽能有效拉开距离……但也可能将其传至你身后。所需牙齿来自地下洞穴中的末影人。\n\n&4冲击盾牌&r可吸收一定伤害后释放震荡波,对周围所有生物造成伤害。其动能核心是火星洞穴中敌对傀儡的稀有掉落物。", + "quests.space_survival.mars_shields.desc": "&3加固盾牌&r能将伤害反弹给攻击者,效果类似原版Minecraft中的荆棘附魔。其合成材料可从贪咀兽和噬颚兽处获取。\n\n&5腐化之盾&r会随机传送攻击者,虽能有效拉开距离……但也可能将其传至你身后。所需牙齿来自地下洞穴中的末影人。\n\n&4反击之盾&r可吸收一定伤害后释放震荡波,对周围所有生物造成伤害。其动能核心是火星洞穴中敌对傀儡的稀有掉落物。", "quests.space_survival.mras_shields.task": "任意高级盾牌", "quests.space_survival.mercury.title": "我在&5水星&r上!", "quests.space_survival.mercury.subtitle": "等等,这里发生过什么?!", From de8bf6a055ad77da54f616d289e94af63e077dbc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 10 Nov 2025 22:52:50 +0000 Subject: [PATCH 057/628] turns out there is no map color called "terracotta" --- kubejs/startup_scripts/tfg/constants.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 4a002c08d..c48f0d4cf 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -186,8 +186,8 @@ global.FOOD_FRUIT = [ global.STONE_CHARACS = { // Sets of stone block properties used for block registry. deepslate: { sound: 'deepslate', type: "metamorphic", mapColor: 'terracotta_grey' }, - blackstone: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'color_black' }, - dripstone: { sound: 'dripstone_block', type: "sedimentary", mapColor: 'terracotta' }, + blackstone: { sound: 'stone', type: "igneous_intrusive", mapColor: 'color_black' }, + dripstone: { sound: 'dripstone_block', type: "sedimentary", mapColor: 'terracotta_brown' }, crackrack: { sound: 'netherrack', type: "igneous_intrusive", mapColor: 'crimson_stem' }, nether: { sound: 'nether_bricks', type: "igneous_intrusive", mapColor: 'nether' }, moon: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_cyan' }, From bc852b3311bbd94844f7e8fcfd79640a53186032 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Nov 2025 11:11:27 +0500 Subject: [PATCH 058/628] Bump softprops/action-gh-release in the dependencies group (#2205) Bumps the dependencies group with 1 update: [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `softprops/action-gh-release` from 2.4.1 to 2.4.2 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v2.4.1...v2.4.2) --- updated-dependencies: - dependency-name: softprops/action-gh-release dependency-version: 2.4.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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ebfd896c3..339765c99 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -461,7 +461,7 @@ jobs: - name: 🚀 Create release id: release - uses: softprops/action-gh-release@v2.4.1 + uses: softprops/action-gh-release@v2.4.2 with: name: ${{ needs.info.outputs.project_version }} tag_name: ${{ needs.info.outputs.project_version }} From b10121b35d750da9b94bf948074e77e5e5a8a650 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 13:33:58 +0000 Subject: [PATCH 059/628] added cloth recipe for item frames --- CHANGELOG.md | 3 ++- kubejs/server_scripts/minecraft/recipes.js | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1584d75b6..fbb0335bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,8 @@ - Dioxygen Difluoride is now cryogenic and acidic @Pyritie - Added tfc torches and lamps to Not Enough Animations' config, so now you hold them properly @Coopmore - Barrel Staves (for Kegs) now just use bronze screws instead of wrought iron plates @Pyritie -- Mars sandstorms are now sandier +- Mars sandstorms are now sandier @Pyritie +- Added an alternative recipe for item frames using cloth @Pyritie ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index ff3cdde60..6f8b34cb3 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -350,6 +350,21 @@ const registerMinecraftRecipes = (event) => { .duration(100) .EUt(4) + event.shaped('2x minecraft:item_frame', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: '#tfc:lumber', + B: '#forge:cloth' + }).id('tfg:shaped/item_frame_from_cloth') + + event.recipes.gtceu.assembler('item_frame_cloth') + .itemInputs('8x #tfc:lumber', '#forge:cloth') + .itemOutputs('4x minecraft:item_frame') + .duration(100) + .EUt(4) + //#endregion //#region Выход: Свето-рамка, glowing item frame From 4b6cc59d0be933c4350002cadfb7c0b2eabfa43e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 13:34:42 +0000 Subject: [PATCH 060/628] mostly finished with venus noisegen, started some features --- .../tfg/worldgen/biome/venus/arachnoids.json | 5 +- .../worldgen/biome/venus/fractured_pools.json | 5 +- .../tfg/worldgen/biome/venus/fumaroles.json | 7 +- .../tfg/worldgen/biome/venus/geysers.json | 10 +- .../biome/venus/jagged_tablelands.json | 7 +- .../biome/venus/stromatolite_beach.json | 8 +- .../worldgen/biome/venus/sulfuric_ravine.json | 5 +- .../biome/venus/volcanic_mountains.json | 20 +- .../surface/stromatolite_cluster_patch.json | 96 +- .../venus/surface/stromatolite_tower.json | 148 +- .../venus/terrain/lava_delta.json | 14 +- .../venus/terrain/lava_fill.json | 11 + .../venus/terrain/lava_fissure.json | 9 + .../venus/terrain/lava_lake.json | 20 + .../venus/terrain/lava_rivulet.json | 6 + .../venus/terrain/lava_spring.json | 88 + .../venus/terrain/magma_rivulet.json | 6 + .../tfg/worldgen/noise/venus_arachnoids.json | 10 + .../data/tfg/worldgen/noise/venus_lava.json | 9 + .../worldgen/noise_settings/venus_noise.json | 2949 ++++++++++++++++- .../venus/surface/stromatolite_tower.json | 41 - .../venus/terrain/hot_spring_delta.json | 22 +- .../venus/terrain/lava_delta.json | 54 +- .../venus/terrain/lava_fill.json | 16 + .../venus/terrain/lava_fissure.json | 19 + .../venus/terrain/lava_lake.json | 19 + .../venus/terrain/lava_rivulet.json | 15 + .../venus/terrain/lava_spring.json | 12 + .../venus/terrain/magma_rivulet.json | 15 + .../venus/terrain/stromatolite_disk.json | 40 +- kubejs/server_scripts/ad_astra/tags.js | 9 - 31 files changed, 3405 insertions(+), 290 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fill.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_lake.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_rivulet.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/magma_rivulet.json create mode 100644 kubejs/data/tfg/worldgen/noise/venus_arachnoids.json create mode 100644 kubejs/data/tfg/worldgen/noise/venus_lava.json delete mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/stromatolite_tower.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fill.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fissure.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_lake.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_rivulet.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/magma_rivulet.json diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index b9724aa48..b5bd95447 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -34,7 +34,10 @@ [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", - [], + [ + "tfc:raw_boulder_small_patch", + "tfc:cobble_boulder_small_patch" + ], [], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index 4f9f89896..c55ed1b32 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -20,14 +20,15 @@ "tfc:erosion" ], [], - "#tfg:venus_fractured_lands_terrain_features", + [], [], [], [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", [ - + "tfc:raw_boulder_small_patch", + "tfc:cobble_boulder_small_patch" ], [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index b9724aa48..0484aa1c5 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -34,7 +34,12 @@ [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", - [], + [ + "tfc:raw_boulder", + "tfc:cobble_boulder", + "tfc:raw_boulder_small_patch", + "tfc:cobble_boulder_small_patch" + ], [], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index b9724aa48..c75ade2c8 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -28,13 +28,19 @@ "tfc:erosion" ], [], - [], + [ + "tfg:venus/terrain/hot_spring_delta" + ], [], [], [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", - [], + [ + "tfc:raw_boulder_small_patch", + "tfc:cobble_boulder_small_patch", + "tfg:venus/surface/geyser_source_patch" + ], [], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index b9724aa48..0484aa1c5 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -34,7 +34,12 @@ [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", - [], + [ + "tfc:raw_boulder", + "tfc:cobble_boulder", + "tfc:raw_boulder_small_patch", + "tfc:cobble_boulder_small_patch" + ], [], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 047918212..8d3c0451c 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -28,16 +28,20 @@ "tfc:erosion" ], [], - "#tfg:venus_beach_terrain_features", + [ + "tfg:venus/terrain/stromatolite_disk" + ], [], [], [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", + [ + "tfg:venus/surface/stromatolite_cluster_patch" + ], [ ], - "#tfg:venus_beach_surface_features", "#tfg:venus_top_layer_modification" ], "has_precipitation": true, diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index b9724aa48..b5bd95447 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -34,7 +34,10 @@ [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", - [], + [ + "tfc:raw_boulder_small_patch", + "tfc:cobble_boulder_small_patch" + ], [], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json index b9724aa48..73db60050 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json @@ -27,15 +27,29 @@ [ "tfc:erosion" ], - [], + [ + "tfg:venus/terrain/lava_spring", + "tfg:venus/terrain/lava_delta", + "tfg:venus/terrain/lava_lake", + "tfg:venus/terrain/lava_fissure", + "tfg:venus/terrain/lava_rivulet", + "tfg:venus/terrain/magma_rivulet" + ], [], [], [], [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", - [], - [], + [ + "tfc:raw_boulder", + "tfc:cobble_boulder", + "tfc:raw_boulder_small_patch", + "tfc:cobble_boulder_small_patch" + ], + [ + "tfg:venus/terrain/lava_fill" + ], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_cluster_patch.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_cluster_patch.json index 3069bfee2..b95c081dc 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_cluster_patch.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_cluster_patch.json @@ -1,50 +1,50 @@ { - "type": "minecraft:random_patch", - "config": { - "feature": { - "feature": { - "type": "minecraft:simple_block", - "config": { - "to_place": { - "type": "minecraft:weighted_state_provider", - "entries": [ - { - "weight": 30, - "data": { - "Name": "tfg:stromatolite_cluster_medium" - } - }, - { - "weight": 50, - "data": { - "Name": "tfg:stromatolite_cluster_small" - } - } - ] - } - } - }, - "placement": [ - { - "type": "minecraft:heightmap", - "heightmap": "WORLD_SURFACE" - }, - { - "type": "minecraft:block_predicate_filter", - "predicate": { - "type": "minecraft:has_sturdy_face", - "offset": [ - 0, - -1, - 0 - ], - "direction": "down" - } - } - ] - }, - "tries": 32, - "xz_spread": 16, - "y_spread": 3 - } + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "weight": 30, + "data": { + "Name": "tfg:stromatolite_cluster_medium" + } + }, + { + "weight": 50, + "data": { + "Name": "tfg:stromatolite_cluster_small" + } + } + ] + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:has_sturdy_face", + "offset": [ + 0, + -1, + 0 + ], + "direction": "down" + } + } + ] + }, + "tries": 32, + "xz_spread": 16, + "y_spread": 3 + } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_tower.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_tower.json index ec96686a3..386b6d8e2 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_tower.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/stromatolite_tower.json @@ -1,75 +1,77 @@ { - "type": "minecraft:random_patch", - "config": { - "feature": { - "feature": { - "type": "minecraft:tree", - "config": { - "decorators": [], - "dirt_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "tfg:rock/spike/stromatolite" - } - }, - "foliage_placer": { - "type": "minecraft:blob_foliage_placer", - "height": 0, - "offset": 0, - "radius": 0 - }, - "foliage_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "tfg:rock/raw/stromatolite" - } - }, - "force_dirt": false, - "ignore_vines": true, - "minimum_size": { - "type": "minecraft:two_layers_feature_size", - "limit": 1, - "lower_size": 0, - "upper_size": 1 - }, - "trunk_placer": { - "type": "minecraft:straight_trunk_placer", - "base_height": 1, - "height_rand_a": 4, - "height_rand_b": 0 - }, - "trunk_provider": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "tfg:rock/raw/stromatolite", - "Properties": { - "axis": "y" - } - } - } - } - }, - "placement": [ - { - "type": "minecraft:heightmap", - "heightmap": "WORLD_SURFACE" - }, - { - "type": "minecraft:block_predicate_filter", - "predicate": { - "type": "minecraft:has_sturdy_face", - "offset": [ - 0, - -1, - 0 - ], - "direction": "down" - } - } - ] - }, - "tries": 32, - "xz_spread": 16, - "y_spread": 3 - } + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:tree", + "config": { + "decorators": [], + "dirt_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:rock/spike/stromatolite" + } + }, + "foliage_placer": { + "type": "minecraft:blob_foliage_placer", + "height": 0, + "offset": 0, + "radius": 0 + }, + "foliage_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:rock/raw/stromatolite" + } + }, + "force_dirt": false, + "ignore_vines": true, + "minimum_size": { + "type": "minecraft:two_layers_feature_size", + "limit": 1, + "lower_size": 0, + "upper_size": 1 + }, + "trunk_placer": { + "type": "minecraft:straight_trunk_placer", + "base_height": 1, + "height_rand_a": 4, + "height_rand_b": 0 + }, + "trunk_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:rock/raw/stromatolite", + "Properties": { + "axis": "y" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "offset": [ + 0, + -1, + 0 + ], + "blocks": [ + "tfg:rock/raw/stromatolite" + ] + } + } + ] + }, + "tries": 32, + "xz_spread": 16, + "y_spread": 1 + } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_delta.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_delta.json index 4298440f0..73502213d 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_delta.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_delta.json @@ -1,11 +1,11 @@ { - "type": "minecraft:delta_feature", - "config": { - "contents": { - "Name": "minecraft:lava" - }, + "type": "minecraft:delta_feature", + "config": { + "contents": { + "Name": "minecraft:lava" + }, "rim": { - "Name": "create:scoria" + "Name": "tfc:rock/magma/basalt" }, "rim_size": { "type": "minecraft:uniform", @@ -21,5 +21,5 @@ "min_inclusive": 4 } } - } + } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fill.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fill.json new file mode 100644 index 000000000..0f6e7355b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fill.json @@ -0,0 +1,11 @@ +{ + "type": "tfc:flood_fill_lake", + "config": { + "overfill": true, + "replace_fluids": [ + "tfg:sulfur_fumes", + "tfg:geyser_slurry" + ], + "state": "minecraft:lava" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json new file mode 100644 index 000000000..a79f36a28 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_fissure.json @@ -0,0 +1,9 @@ +{ + "type": "tfc:fissure", + "config": { + "wall_state": "beneath:crackrack", + "fluid_state": "minecraft:lava", + "count": 3, + "radius": 6 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_lake.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_lake.json new file mode 100644 index 000000000..d84806dfa --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_lake.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:lake", + "config": { + "barrier": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfc:rock/hardened/basalt" + } + }, + "fluid": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:lava", + "Properties": { + "level": "0" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_rivulet.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_rivulet.json new file mode 100644 index 000000000..99a4f808b --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_rivulet.json @@ -0,0 +1,6 @@ +{ + "type": "tfc:rivulet", + "config": { + "state": "minecraft:lava" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json new file mode 100644 index 000000000..8968b9e43 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_spring.json @@ -0,0 +1,88 @@ +{ + "type": "tfc:hot_spring", + "config": { + "wall_state": "beneath:crackrack", + "fluid_state": "minecraft:lava", + "radius": 16, + "decoration": { + "blocks": [ + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "tfc:rock/magma/rhyolite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "ad_astra:moon_deepslate" + ], + "with": [ + { + "block": "tfc:rock/magma/basalt" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "tfc:rock/magma/andesite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "tfc:rock/magma/dacite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite", + "gtceu:red_granite" + ], + "with": [ + { + "block": "tfc:rock/magma/granite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "tfc:rock/magma/diorite" + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gabbro", + "minecraft:deepslate" + ], + "with": [ + { + "block": "tfc:rock/magma/gabbro" + } + ] + } + ], + "radius": 8, + "count": 32, + "rarity": 1 + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/magma_rivulet.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/magma_rivulet.json new file mode 100644 index 000000000..d98126bb3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/magma_rivulet.json @@ -0,0 +1,6 @@ +{ + "type": "tfc:rivulet", + "config": { + "state": "tfc:rock/magma/basalt" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/noise/venus_arachnoids.json b/kubejs/data/tfg/worldgen/noise/venus_arachnoids.json new file mode 100644 index 000000000..2a25c3921 --- /dev/null +++ b/kubejs/data/tfg/worldgen/noise/venus_arachnoids.json @@ -0,0 +1,10 @@ +{ + "amplitudes": [ + 1, + 1, + 0, + 1, + 1 + ], + "firstOctave": -7 +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/noise/venus_lava.json b/kubejs/data/tfg/worldgen/noise/venus_lava.json new file mode 100644 index 000000000..27d67956e --- /dev/null +++ b/kubejs/data/tfg/worldgen/noise/venus_lava.json @@ -0,0 +1,9 @@ +{ + "amplitudes": [ + 1, + 1, + 1, + 1 + ], + "firstOctave": -6 +} \ 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 fd05b11aa..9fba408ca 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -281,8 +281,108 @@ "biome_is": [ "tfg:venus/jagged_tablelands" ] }, "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:magenta_concrete" } + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": -0.2, + "max_threshold": -0.1 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "ad_astra:conglomerate" + } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": -0.3, + "max_threshold": 0.0 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "kubejs_tfc:rock", + "rock_block": "cobble", + "fallback_state": { + "Name": "ad_astra:venus_cobblestone" + } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": -0.4, + "max_threshold": 0.1 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "kubejs_tfc:rock", + "rock_block": "raw", + "fallback_state": { + "Name": "ad_astra:venus_stone" + } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "ad_astra:conglomerate" + } + } + } + ] + } } }, { @@ -363,8 +463,118 @@ "biome_is": [ "tfg:venus/volcanic_mountains" ] }, "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:orange_concrete" } + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_lava", + "min_threshold": 0.18, + "max_threshold": 0.27 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/magma/basalt" + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_lava", + "min_threshold": 0.08, + "max_threshold": 0.27 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/basalt" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "create:scorchia" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_lava", + "min_threshold": 0.18, + "max_threshold": 0.27 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "tfc:rock/raw/basalt" + } + } + }, + { + "type": "minecraft:block", + "result_state": { + "Name": "create:scorchia" + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { + "Name": "create:scorchia" + } + } + } + ] + } } }, { @@ -374,8 +584,2197 @@ "biome_is": [ "tfg:venus/arachnoids" ] }, "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:yellow_concrete" } + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -1.5, + "max_threshold": -1.0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -1.0, + "max_threshold": -0.98 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.98, + "max_threshold": -0.95 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.95, + "max_threshold": -0.90 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.90, + "max_threshold": -0.88 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.88, + "max_threshold": -0.85 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.85, + "max_threshold": -0.80 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.80, + "max_threshold": -0.78 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.78, + "max_threshold": -0.75 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.75, + "max_threshold": -0.70 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.70, + "max_threshold": -0.68 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.68, + "max_threshold": -0.65 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.65, + "max_threshold": -0.60 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.60, + "max_threshold": -0.58 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.58, + "max_threshold": -0.55 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.55, + "max_threshold": -0.50 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.50, + "max_threshold": -0.48 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.48, + "max_threshold": -0.45 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.45, + "max_threshold": -0.40 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.40, + "max_threshold": -0.38 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.38, + "max_threshold": -0.35 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.35, + "max_threshold": -0.30 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.30, + "max_threshold": -0.28 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.28, + "max_threshold": -0.25 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.25, + "max_threshold": -0.20 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.20, + "max_threshold": -0.18 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.18, + "max_threshold": -0.15 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.15, + "max_threshold": -0.10 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.10, + "max_threshold": -0.08 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.08, + "max_threshold": -0.05 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": -0.05, + "max_threshold": -0.00 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.00, + "max_threshold": 0.02 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.02, + "max_threshold": 0.05 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.05, + "max_threshold": 0.10 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.10, + "max_threshold": 0.12 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.12, + "max_threshold": 0.15 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.15, + "max_threshold": 0.20 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.20, + "max_threshold": 0.22 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.22, + "max_threshold": 0.25 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.25, + "max_threshold": 0.30 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.30, + "max_threshold": 0.32 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.32, + "max_threshold": 0.35 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.35, + "max_threshold": 0.40 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.40, + "max_threshold": 0.42 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.42, + "max_threshold": 0.45 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.45, + "max_threshold": 0.50 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.50, + "max_threshold": 0.52 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.52, + "max_threshold": 0.55 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.55, + "max_threshold": 0.60 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.60, + "max_threshold": 0.62 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.62, + "max_threshold": 0.65 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.65, + "max_threshold": 0.70 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.70, + "max_threshold": 0.72 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.72, + "max_threshold": 0.75 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.75, + "max_threshold": 0.80 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.80, + "max_threshold": 0.82 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.82, + "max_threshold": 0.85 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.85, + "max_threshold": 0.90 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.90, + "max_threshold": 0.92 + }, + "then_run": { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.92, + "max_threshold": 0.95 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/blue" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "tfg:venus_arachnoids", + "min_threshold": 0.95, + "max_threshold": 1.5 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/orange" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } + } + } + ] + } + } + ] + } } }, { @@ -385,8 +2784,519 @@ "biome_is": [ "tfg:venus/geysers" ] }, "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:green_concrete" } + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:above_preliminary_surface" + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/yellow" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/yellow" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.4 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/yellow" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.3, + "max_threshold": 0.5 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sand/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 2, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 5, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/yellow" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 7, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": true, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + } + ] + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 3, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/yellow" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 4, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 6, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 8, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/yellow" } + } + } + ] + } } }, { @@ -409,10 +3319,10 @@ "type": "minecraft:vertical_gradient", "random_name": "sulfuric_ravine_sea_level", "true_at_and_below": { - "absolute": 57 + "absolute": 58 }, "false_at_and_above": { - "absolute": 59 + "absolute": 60 } }, "then_run": { @@ -467,8 +3377,8 @@ "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:powder_snow", - "min_threshold": -0.1, - "max_threshold": 0.4 + "min_threshold": 0.0, + "max_threshold": 0.3 }, "then_run": { "type": "minecraft:sequence", @@ -587,8 +3497,6 @@ } } }, - - { "type": "minecraft:condition", "if_true": { @@ -2032,19 +4940,6 @@ }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:above_preliminary_surface" - }, - "then_run": { - "type": "kubejs_tfc:rock", - "rock_block": "gravel", - "fallback_state": { - "Name": "tfg:rock/gravel_venus" - } - } - }, { "type": "kubejs_tfc:rock", "rock_block": "raw", diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/stromatolite_tower.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/stromatolite_tower.json deleted file mode 100644 index 7465a4c19..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/stromatolite_tower.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "feature": "tfg:venus/surface/stromatolite_tower", - "placement": [ - { - "type": "minecraft:count", - "count": 80 - }, - { - "type": "minecraft:in_square" - }, - { - "type": "minecraft:height_range", - "height": { - "type": "minecraft:uniform", - "max_inclusive": { - "absolute": 380 - }, - "min_inclusive": { - "above_bottom": 123 - } - } - }, - { - "type": "minecraft:block_predicate_filter", - "predicate": { - "type": "minecraft:matching_blocks", - "offset": [ - 0, - -1, - 0 - ], - "blocks": [ - "tfg:rock/raw/stromatolite" - ] - } - }, - { - "type": "minecraft:biome" - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/hot_spring_delta.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/hot_spring_delta.json index fc71a28e9..42c83a65c 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/hot_spring_delta.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/hot_spring_delta.json @@ -1,31 +1,19 @@ { "feature": "tfg:venus/terrain/hot_spring_delta", - "placement": [ + "placement": [ { "type": "minecraft:count", "count": 6 }, { - "type": "minecraft:height_range", - "height": { - "type": "minecraft:uniform", - "max_inclusive": { - "absolute": 200 - }, - "min_inclusive": { - "above_bottom": 54 - } - } + "type": "minecraft:in_square" }, { "type": "minecraft:heightmap", - "heightmap": "WORLD_SURFACE" + "heightmap": "WORLD_SURFACE" }, { - "type": "minecraft:in_square" - }, - { - "type": "minecraft:biome" - } + "type": "minecraft:biome" + } ] } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_delta.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_delta.json index f34273165..6c86e4483 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_delta.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_delta.json @@ -1,37 +1,21 @@ { - "feature": "tfg:venus/terrain/lava_delta", - "placement": [ - { - "type": "minecraft:noise_based_count", - "noise_to_count_ratio": 1, - "noise_factor": 1, - "noise_offset": 3 - }, - { - "type": "minecraft:rarity_filter", - "chance": 3 - }, - { - "type": "minecraft:height_range", - "height": { - "type": "minecraft:uniform", - "max_inclusive": { - "absolute": 200 - }, - "min_inclusive": { - "above_bottom": 54 - } - } - }, - { - "type": "minecraft:heightmap", - "heightmap": "WORLD_SURFACE" - }, - { - "type": "minecraft:in_square" - }, - { - "type": "minecraft:biome" - } - ] + "feature": "tfg:venus/terrain/lava_delta", + "placement": [ + { + "type": "minecraft:noise_based_count", + "noise_to_count_ratio": 6, + "noise_factor": 2, + "noise_offset": 0 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE" + }, + { + "type": "minecraft:biome" + } + ] } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fill.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fill.json new file mode 100644 index 000000000..adb36333f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fill.json @@ -0,0 +1,16 @@ +{ + "feature": "tfg:venus/terrain/lava_fill", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fissure.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fissure.json new file mode 100644 index 000000000..6e88d777c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_fissure.json @@ -0,0 +1,19 @@ +{ + "feature": "tfg:venus/terrain/lava_fissure", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_lake.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_lake.json new file mode 100644 index 000000000..c9d049011 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_lake.json @@ -0,0 +1,19 @@ +{ + "feature": "tfg:venus/terrain/lava_lake", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_rivulet.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_rivulet.json new file mode 100644 index 000000000..3aeeb0939 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_rivulet.json @@ -0,0 +1,15 @@ +{ + "feature": "tfg:venus/terrain/lava_rivulet", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring.json new file mode 100644 index 000000000..78c92e398 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_spring.json @@ -0,0 +1,12 @@ +{ + "feature": "tfg:venus/terrain/lava_spring", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 8 + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/magma_rivulet.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/magma_rivulet.json new file mode 100644 index 000000000..ca166b42c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/magma_rivulet.json @@ -0,0 +1,15 @@ +{ + "feature": "tfg:venus/terrain/magma_rivulet", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/stromatolite_disk.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/stromatolite_disk.json index 7e16eed20..da6bbcc02 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/stromatolite_disk.json +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/stromatolite_disk.json @@ -1,31 +1,31 @@ { - "feature": "tfg:venus/terrain/stromatolite_disk", - "placement": [ + "feature": { + "type": "tfc:if_then", + "config": { + "if": { + "feature": "tfg:venus/terrain/stromatolite_disk", + "placement": [] + }, + "then": { + "feature": "tfg:venus/surface/stromatolite_tower", + "placement": [] + } + } + }, + "placement": [ { "type": "minecraft:count", "count": 1 }, { - "type": "minecraft:height_range", - "height": { - "type": "minecraft:uniform", - "max_inclusive": { - "absolute": 200 - }, - "min_inclusive": { - "above_bottom": 54 - } - } + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" }, { "type": "minecraft:heightmap", - "heightmap": "WORLD_SURFACE" - }, - { - "type": "minecraft:in_square" - }, - { - "type": "minecraft:biome" - } + "heightmap": "WORLD_SURFACE" + } ] } \ 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 246120d41..7d1dd7882 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -725,15 +725,6 @@ const registerAdAstraPlacedFeatures = (event) => { //#endregion //#region Venus - event.add('tfg:venus_beach_surface_features', 'tfg:venus/surface/geyser_source_patch') - event.add('tfg:venus_beach_surface_features', 'tfg:venus/surface/stromatolite_cluster_patch') - event.add('tfg:venus_beach_surface_features', 'tfg:venus/surface/stromatolite_tower') - - event.add('tfg:venus_beach_terrain_features', 'tfg:venus/terrain/hot_spring_delta') - //event.add('tfg:venus_beach_terrain_features', 'tfg:venus/terrain/lava_delta') - event.add('tfg:venus_beach_terrain_features', 'tfg:venus/terrain/stromatolite_disk') - - //event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lakes') // Underground decoration event.add("tfg:venus_underground_decoration", "tfg:glow_lichen") From b0633925191122a71e4181d64fefc26d5da81e3c Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 11 Nov 2025 12:35:27 -0600 Subject: [PATCH 061/628] First day of bioline recipes (#2201) * material and tag changes * adds a cleanroom recipe json editor utility script * most of the initial biochem recipes * circuit number change * hoisted up class loaders * ISP output is so fickle --------- Co-authored-by: Pyritie --- kubejs/server_scripts/gregtech/utility.js | 71 +++- kubejs/server_scripts/tfg/recipes.biochem.js | 371 +++++++++++++++++- kubejs/server_scripts/tfg/tags.js | 5 +- kubejs/startup_scripts/gtceu/constants.js | 17 +- .../startup_scripts/tfg/materials.bioline.js | 4 +- 5 files changed, 445 insertions(+), 23 deletions(-) diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index d95f49e77..bbda57007 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -1,6 +1,16 @@ // priority: 0 "use strict"; +const JsonObject = Java.loadClass('com.google.gson.JsonObject'); +const JsonArray = Java.loadClass('com.google.gson.JsonArray'); +const JsonParser = Java.loadClass('com.google.gson.JsonParser'); +const JsonElement = Java.loadClass('com.google.gson.JsonElement'); + +// Helper to call `JsonArray.add(JsonElement)` explicitly because "Rhino Moment". +const addJsonElement = (jsonArray, jsonElement) => { + jsonArray.getClass().getMethod("add", JsonElement).invoke(jsonArray, jsonElement); +}; + //#region Mixer Recipes /** * Function for generating gtceu mixer recipes. @@ -273,16 +283,6 @@ function forEachMaterial(iterator) { */ function addCircuitToRecipe(event, recipeId, circuitNumber) { - const JsonObject = Java.loadClass('com.google.gson.JsonObject'); - const JsonArray = Java.loadClass('com.google.gson.JsonArray'); - const JsonParser = Java.loadClass('com.google.gson.JsonParser'); - const JsonElementClass = Java.loadClass('com.google.gson.JsonElement'); - - // Helper to call JsonArray.add(JsonElement) explicitly because "Rhino Moment". - const addJsonElement = (jsonArray, jsonElement) => { - jsonArray.getClass().getMethod("add", JsonElementClass).invoke(jsonArray, jsonElement); - }; - event.findRecipes({ id: recipeId }).forEach(recipe => { const inputsEl = recipe.json.get("inputs"); let inputsObj; @@ -598,4 +598,55 @@ function sterilizeItem(event, input, output, multiplier, cleanroom) { autoclave_recipe.cleanroom(cleanroom); }; }; + +//#endregion +//#region Cleanroom Tool + +/** + * Ensures recipes have a cleanroom recipe condition set to the specified type. + * + * * For each recipe: + * * * If `recipeConditions` is an array, finds an object with `type` === `cleanroom`. + * * * If found, updates its `cleanroom` property to the given `cleanroomType`. + * * * If not found, appends a new condition object `{ type: "cleanroom", cleanroom: cleanroomType }` to the array. + * * * If `recipeConditions` is absent or not an array, creates a new JSON array containing the cleanroom condition. + * + * @throws This function will not work with other recipe conditions present besides `CleanroomType`. + * + * @param {event} event + * @param {string} recipeId - recipe ID. + * @param {'cleanroom'|'sterile_cleanroom'} cleanroomType - Cleanroom type to be assigned. + */ +function addCleanroom(event, recipeId, cleanroomType) { + event.findRecipes({ id: recipeId }).forEach(recipe => { + // Ensure recipe has a cleanroom condition matching the cleanroomType string. + // Replace existing cleanroom condition or add new one if absent. + const desiredCleanroom = cleanroomType; + const conditions = recipe.json.get("recipeConditions"); + let conditionArray; + if (conditions && conditions.isJsonArray && conditions.isJsonArray()) { + conditionArray = conditions.getAsJsonArray(); + } else { + conditionArray = new JsonArray(); + recipe.json.add("recipeConditions", conditionArray); + } + + let hasCleanroom = false; + for (let i = 0; i < conditionArray.size(); i++) { + let element = conditionArray.get(i).getAsJsonObject(); + if (element.has("type") && element.get("type").getAsString() === "cleanroom") { + element.addProperty("cleanroom", desiredCleanroom); + hasCleanroom = true; + break; + } + } + if (!hasCleanroom) { + let cond = new JsonObject(); + cond.addProperty("type", "cleanroom"); + cond.addProperty("cleanroom", desiredCleanroom); + addJsonElement(conditionArray, cond); + } + }); +}; + //#endregion \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.biochem.js b/kubejs/server_scripts/tfg/recipes.biochem.js index 58bc16287..add895ec3 100644 --- a/kubejs/server_scripts/tfg/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/recipes.biochem.js @@ -7,6 +7,7 @@ function registerTFGBiochemRecipes(event) { const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient") + const Sized = (ing, amount) => $SizedIngredient.create(ing, amount) /** * @typedef {Object} BioreactorRecipeData @@ -117,7 +118,6 @@ function registerTFGBiochemRecipes(event) { ///////////////////////////////////////// - //#region Recipes // EXAMPLE // growthChamberRecipeText('test/test', 10*60*20, GTValues.VA[GTValues.EV], 'tfg.food_recipe.brining', { // itemInputs: ['tfc:food/red_apple','tfc:food/red_apple', '1x tfc:silica_glass_bottle'], @@ -132,7 +132,6 @@ function registerTFGBiochemRecipes(event) { // itemOutputProvider: TFC.isp.of('3x tfc:food/green_apple').copyFood().addTrait('firmalife:smoked') // }) - //#endregion //#region Multiblock Parts event.recipes.gtceu.assembler('tfg:uv_led') @@ -188,7 +187,7 @@ function registerTFGBiochemRecipes(event) { C: '#gtceu:circuits/ev', D: 'gtceu:aluminium_single_cable', E: 'gtceu:ev_electric_pump', - F: 'gtceu:ev_electric_motor', + F: 'gtceu:ev_electric_motor' }).addMaterialInfo().id('tfg:shaped/bioreactor'); event.recipes.gtceu.shaped('tfg:casings/bioculture_rotor_primary', [ @@ -354,5 +353,371 @@ function registerTFGBiochemRecipes(event) { lab_cleaning.forEach(entry => { sterilizeItem(event, entry.input, entry.output, entry.multiplier, entry.cleanroom); }); + + //#endregion + //#region Decellularization + + // Hydrogenation of fatty acids to produce lauryl alcohol. + event.recipes.gtceu.chemical_reactor('tfg:lauryl_alcohol') + .inputFluids( + '#firmalife:oils 1000', + Fluid.of('gtceu:hydrogen', 2000) + ) + .notConsumable(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Palladium, 1)) + .outputFluids(Fluid.of('tfg:lauryl_alcohol', 1000)) + .duration(20*20) + .EUt(GTValues.VA[GTValues.EV]); + + // Direct synthesis of chlorosulfuric acid. + event.recipes.gtceu.chemical_reactor('tfg:chlorosulfuric_acid') + .inputFluids( + Fluid.of('gtceu:sulfur_trioxide', 1000), + Fluid.of('gtceu:hydrochloric_acid', 1000) + ) + .outputFluids(Fluid.of('tfg:chlorosulfuric_acid', 1000)) + .duration(10*20) + .EUt(GTValues.VA[GTValues.HV]); + + // Synthesis of sodium dodecyl sulfate. Chemistry is not accurate since the organic group in lauryl alcohol is unknown here. + event.recipes.gtceu.chemical_reactor('tfg:sodium_dodecyl_sulfate') + .inputFluids( + Fluid.of('tfg:lauryl_alcohol', 1000), + Fluid.of('tfg:chlorosulfuric_acid', 2000) + ) + .outputFluids( + Fluid.of('tfg:sodium_dodecyl_sulfate', 1000), + Fluid.of('gtceu:sulfur_trioxide', 1000) + ) + .duration(30*20) + .EUt(GTValues.VA[GTValues.EV]); + + // Redox reaction to produce sodium hypochlorite. + event.recipes.gtceu.chemical_reactor('tfg:sodium_hypochlorite') + .itemInputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.SodiumHydroxide, 2) + ) + .inputFluids( + Fluid.of('gtceu:chlorine', 2000) + ) + .outputFluids( + Fluid.of('tfg:sodium_hypochlorite', 1000), + Fluid.of('minecraft:water', 1000) + ) + .itemOutputs(Item.of('gtceu:salt')) + .duration(10*20) + .EUt(GTValues.VA[GTValues.HV]); + + // Decellularization of organic material to produce cellulose matrix. + /** + * @type {Array} + * @property {'fluid'|'item'} type - Item or Fluid. + * @property {string} id - Item or fluid ID. + * @property {number} amount - Amount of items or millibuckets of fluid. + */ + const organics = [ + { type: 'item', id: 'gtceu:bio_chaff', amount: 1 }, + { type: 'fluid', id: 'gtceu:biomass', amount: 1000 } + ]; + + /** + * Registers a bioreactor "decellularization" recipes. + * + * @param {event} event + * @param {'fluid'|'item'} organicType - Type of the organic input. Must be either 'fluid' or 'item'. + * @param {string} organicId - Registry ID of the organic input. + * @param {number} organicAmount - Amount of the organic input. + */ + function deccellularizationRecipe(event, organicType, organicId, organicAmount) { + let recipe = event.recipes.gtceu.bioreactor(`tfg:decellularization/${organicId.replace(':', '_')}`) + .inputFluids( + Fluid.of('tfg:sodium_dodecyl_sulfate', 200), + Fluid.of('gtceu:acetone', 1000), + Fluid.of('tfg:sodium_hypochlorite', 1000) + ) + .itemInputs( + Ingredient.of('tfg:lab_equipment') + ) + .itemOutputs( + Item.of('tfg:cellulose_matrix'), + Item.of('tfg:dirty_lab_equipment') + ) + .duration(30*20) + .EUt(GTValues.VA[GTValues.IV]) + .cleanroom(CleanroomType.CLEANROOM) + .dimension('ad_astra:venus'); + + if (organicType === 'fluid') { + recipe.inputFluids( + Fluid.of(organicId, organicAmount) + ); + }; + if (organicType === 'item') { + recipe.itemInputs( + Ingredient.of(organicId).withCount(organicAmount) + ); + }; + }; + + organics.forEach(organic => + deccellularizationRecipe(event, organic.type, organic.id, organic.amount) + ); + + //#endregion + //#region Gram Stain + + // N,N-Dimethylaniline synthesis. + event.recipes.gtceu.chemical_reactor('tfg:n_n_dimethylaniline') + .inputFluids( + Fluid.of('tfg:aniline', 1000), + Fluid.of('tfg:iodomethane', 2000) + ) + .outputFluids( + Fluid.of('tfg:n_n_dimethylaniline', 1000), + Fluid.of('gtceu:hydrogen_iodide', 2000) + ) + .duration(20*20) + .EUt(GTValues.VA[GTValues.EV]); + + // Crystal violet synthesis. + event.recipes.gtceu.large_chemical_reactor('tfg:crystal_violet') + .inputFluids( + Fluid.of('tfg:n_n_dimethylaniline', 3000), + Fluid.of('gtceu:formaldehyde', 1000), + Fluid.of('gtceu:hydrochloric_acid', 1000), + Fluid.of('gtceu:oxygen', 2000) + ) + .outputFluids( + Fluid.of('tfg:crystal_violet', 1000), + Fluid.of('gtceu:water', 3000) + ) + .duration(20*20) + .EUt(GTValues.VA[GTValues.IV]); + + // Crystal violet to dye. + event.recipes.gtceu.mixer('tfg:crystal_violet_dye') + .inputFluids( + Fluid.of('tfg:crystal_violet', 10), + Fluid.of('minecraft:water', 1000) + ) + .outputFluids(Fluid.of('tfc:purple_dye', 1000)) + .duration(5*20) + .EUt(GTValues.VA[GTValues.LV]); + + //Gram stain solution. + /** + * @type {Array} + * @property {string} solvent - Solvent fluid ID. + */ + const gramStainSolvents = [ + 'gtceu:ethanol', + 'gtceu:acetone' + ]; + gramStainSolvents.forEach(solvent => { + event.recipes.gtceu.large_chemical_reactor(`tfg:gram_stain_solvent_${solvent.replace(':', '_')}`) + .inputFluids( + Fluid.of('tfg:crystal_violet', 1000), + Fluid.of('tfc:red_dye', 1000), + Fluid.of(solvent, 1000) + ) + .itemInputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Iodine, 1) + ) + .outputFluids(Fluid.of('tfg:gram_stain', 4000)) + .duration(8*20) + .EUt(GTValues.VA[GTValues.IV]) + .cleanroom(CleanroomType.CLEANROOM) + .dimension('ad_astra:venus'); + }); + + //#endregion + //#region Triglcerides + + // Butyric acid synthesis. + event.recipes.gtceu.chemical_reactor('tfg:butyric_acid') + .inputFluids( + Fluid.of('gtceu:propene', 2000), + Fluid.of('gtceu:carbon_monoxide', 6000), + Fluid.of('gtceu:hydrogen', 12000) + ) + .outputFluids( + Fluid.of('tfg:butyric_acid', 3000) + ) + .duration(10*20) + .circuit(4) + .EUt(GTValues.VA[GTValues.EV]); + + // Triglycerides from fat. + event.recipes.gtceu.vacuum_freezer('tfg:triglyceride_oil_from_fat') + .inputFluids( + Fluid.of('gtceu:liquid_carbon_dioxide', 1000) + ) + .itemInputs( + Ingredient.of('#tfg:solid_fats') + ) + .outputFluids( + Fluid.of('tfg:triglyceride_oil', 2000) + ) + .itemOutputs( + ChemicalHelper.get(TagPrefix.dust, 'tfg:cholesterol', 1) + ) + .duration(20*20) + .dimension('ad_astra:venus') + .EUt(GTValues.VA[GTValues.IV]); + + // Triglycerides from cell factory. + bioreactorRecipe('triglyceride_oil_from_smooth_endoplasmic_reticula', 10*20, 1920, { + fluidInputs: [ + 'gtceu:glycerol 1000', + 'tfg:butyric_acid 1000' + ], + itemInputs: [ + 'tfg:smooth_endoplasmic_reticula', + 'tfg:lab_equipment' + ], + fluidOutputs: [ + Fluid.of('tfg:triglyceride_oil', 2000) + ], + itemOutputs: [ + 'tfg:dirty_lab_equipment' + ], + cleanroom: CleanroomType.CLEANROOM + }); + + // Lactose from cell factory. + bioreactorRecipe('lactose_from_rough_endoplasmic_reticula', 10*20, 1920, { + itemInputs: [ + 'tfg:rough_endoplasmic_reticula', + 'tfg:lab_equipment', + 'tfg:cholesterol_dust' + ], + itemOutputs: [ + '4x gtceu:lactose_dust', + 'tfg:dirty_lab_equipment' + ], + cleanroom: CleanroomType.CLEANROOM, + itemOutputProvider: TFC.isp.of('4x gtceu:lactose_dust') + }); + + // Alpha keratin from cell factory. + bioreactorRecipe('alpha_keratin_from_rough_endoplasmic_reticula', 10*20, 1920, { + itemInputs: [ + 'tfg:rough_endoplasmic_reticula', + 'tfg:lab_equipment' + ], + fluidInputs: [ + 'tfg:proto_growth_medium 1000' + ], + itemOutputs: [ + '4x tfg:alpha_keratin', + 'tfg:dirty_lab_equipment' + ], + cleanroom: CleanroomType.CLEANROOM, + itemOutputProvider: TFC.isp.of('4x tfg:alpha_keratin') + }); + + //#endregion + //#region Basic Feeder Cells + + // Set collagen recipes to require a normal cleanroom instead of sterile. + /** + * @type {Array} + * @property {'string'} recipeId - Collagen recipe ID's. + */ + const collagenRecipes = [ + 'gtceu:large_chemical_reactor/collagen_from_bone', + 'gtceu:large_chemical_reactor/collagen_from_bone_meal', + 'gtceu:chemical_reactor/collagen_from_bone', + 'gtceu:chemical_reactor/collagen_from_bone_meal' + ]; + collagenRecipes.forEach(recipeEntry => { + addCleanroom(event, recipeEntry, 'cleanroom') + }); + + // Proto growth medium synthesis. + event.recipes.gtceu.bioreactor('tfg:proto_growth_medium') + .inputFluids( + Fluid.of('gtceu:distilled_water', 1000) + ) + .itemInputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Calcium, 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.SodiumHydroxide, 1), + ChemicalHelper.get(TagPrefix.dust, 'gtceu:lactose', 1) + ) + .outputFluids( + Fluid.of('tfg:proto_growth_medium', 1000) + ) + .duration(10*20) + .EUt(GTValues.VA[GTValues.EV]) + .cleanroom(CleanroomType.CLEANROOM); + + // Fibroblast feeder cell synthesis. + event.recipes.gtceu.bioreactor('tfg:fibroblast_feeder_cells') + .inputFluids( + Fluid.of('firmalife:sugar_water', 1000), + Fluid.of('tfg:mutative_yeast', 1000) + ) + .itemInputs( + ChemicalHelper.get(TagPrefix.dust, GTMaterials.Collagen, 1), + Ingredient.of('tfg:lab_equipment') + ) + .notConsumable( + Ingredient.of('tfg:filled_dna_syringe') + ) + .outputFluids( + Fluid.of('tfg:fibroblast_feeder_cells', 1000) + ) + .itemOutputs( + Item.of('tfg:dirty_lab_equipment') + ) + .duration(1*60*20) + .EUt(GTValues.VA[GTValues.EV]) + .circuit(1) + .dimension('ad_astra:venus') + .cleanroom(CleanroomType.CLEANROOM); + + // Rough endoplasmic reticula synthesis. + bioreactorRecipe('tfg:rough_endoplasmic_reticula', 1*60*20, GTValues.VA[GTValues.EV], { + itemInputs: [ + 'gtceu:collagen_dust', + 'tfg:lab_equipment' + ], + fluidInputs: [ + Fluid.of('firmalife:sugar_water', 1000), + Fluid.of('tfg:mutative_yeast', 1000) + ], + itemOutputs: [ + 'tfg:rough_endoplasmic_reticula', + 'tfg:dirty_lab_equipment' + ], + notConsumable: [ + 'tfg:filled_dna_syringe' + ], + circuit: 2, + cleanroom: CleanroomType.CLEANROOM, + itemOutputProvider: TFC.isp.of('tfg:rough_endoplasmic_reticula').resetFood() + }); + + // Smooth endoplasmic reticula synthesis. + bioreactorRecipe('tfg:smooth_endoplasmic_reticula', 1*60*20, GTValues.VA[GTValues.EV], { + itemInputs: [ + 'gtceu:collagen_dust', + 'tfg:lab_equipment' + ], + fluidInputs: [ + Fluid.of('firmalife:sugar_water', 1000), + Fluid.of('tfg:mutative_yeast', 1000) + ], + itemOutputs: [ + 'tfg:smooth_endoplasmic_reticula', + 'tfg:dirty_lab_equipment' + ], + notConsumable: [ + 'tfg:filled_dna_syringe' + ], + circuit: 3, + cleanroom: CleanroomType.CLEANROOM, + itemOutputProvider: TFC.isp.of('tfg:smooth_endoplasmic_reticula').resetFood() + }); + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 2aff6e5bb..803dd73f1 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -318,6 +318,9 @@ const registerTFGItemTags = (event) => { }); event.add('tfg:foil_packs', 'tfg:foil_pack'); event.add('tfg:foil_packs', 'tfg:clean_foil_pack') + + event.add('tfg:solid_fats', 'firmalife:food/butter') + event.add('tfg:solid_fats', 'tfc:blubber') //#endregion //#endregion @@ -691,8 +694,6 @@ const registerTFGFluidTags = (event) => { event.add('tfc:drinkables', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:any_drinkables', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:ingredients', 'tfg:semiheavy_ammoniacal_water') - event.add('firmalife:mixable', 'tfg:semiheavy_ammoniacal_water') - event.add('firmalife:usable_in_vat', 'tfg:semiheavy_ammoniacal_water') event.add('minecraft:water', 'tfg:semiheavy_ammoniacal_water') event.add('tfc:drinkables', 'tfg:proto_growth_medium') diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 547da8ddc..85c03441a 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -230,7 +230,7 @@ global.GTCEU_HIDED_ITEMS = /** @type {const} */ ([ "gtceu:iv_damascus_steel_wrench", "gtceu:lv_damascus_steel_screwdriver", - "gtceu:sus_record", + "gtceu:sus_record" ]); //#endregion @@ -250,7 +250,7 @@ global.GTCEU_ARMORS = /** @type {const} */ ([ "gtceu:quarktech_leggings", "gtceu:quarktech_boots", "gtceu:quarktech_helmet", - "gtceu:advanced_quarktech_chestplate", + "gtceu:advanced_quarktech_chestplate" ]); //#endregion @@ -313,7 +313,7 @@ global.TFG_CASTING_MOLDS = /** @type {const} */ ([ "tfg:lamp_casting_mold", "tfg:trapdoor_casting_mold", "tfg:chain_casting_mold", - "tfg:bell_casting_mold", + "tfg:bell_casting_mold" ]); global.GTCEU_CASTING_MOLDS = /** @type {const} */ ([ @@ -334,7 +334,7 @@ global.GTCEU_CASTING_MOLDS = /** @type {const} */ ([ "gtceu:small_pipe_casting_mold", "gtceu:normal_pipe_casting_mold", "gtceu:large_pipe_casting_mold", - "gtceu:huge_pipe_casting_mold", + "gtceu:huge_pipe_casting_mold" ]); //#endregion @@ -371,7 +371,7 @@ global.ORE_BEARING_STONES = /** @type {const} */ ([ "mars_stone", "venus_stone", "mercury_stone", - "glacio_stone", + "glacio_stone" ]); //#endregion @@ -391,7 +391,10 @@ global.ADD_CIRCUIT = /** @type {const} */ ([ { recipeId: "gtceu:large_chemical_reactor/sodium_bicarbonate_from_salt", circuitNumber: 2 }, { recipeId: "gtceu:chemical_reactor/acetic_acid_from_methanol", circuitNumber: 1 }, - { recipeId: "gtceu:large_chemical_reactor/acetic_acid_from_methanol", circuitNumber: 1 } + { recipeId: "gtceu:large_chemical_reactor/acetic_acid_from_methanol", circuitNumber: 1 }, + + { recipeId: "gtceu:chemical_reactor/butraldehyde", circuitNumber: 1 }, + { recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 1 } ]); //#endregion @@ -406,6 +409,6 @@ global.GTCEU_SUPERCONDUCTORS = /** @type {const} */ ([ { name: "indium_tin_barium_titanium_cuprate", materialId: "IndiumTinBariumTitaniumCuprate" }, { name: "uranium_rhodium_dinaquadide", materialId: "UraniumRhodiumDinaquadide" }, { name: "enriched_naquadah_trinium_europium_duranide", materialId: "EnrichedNaquadahTriniumEuropiumDuranide" }, - { name: "ruthenium_trinium_americium_neutronate", materialId: "RutheniumTriniumAmericiumNeutronate" }, + { name: "ruthenium_trinium_americium_neutronate", materialId: "RutheniumTriniumAmericiumNeutronate" } ]); //#endregion diff --git a/kubejs/startup_scripts/tfg/materials.bioline.js b/kubejs/startup_scripts/tfg/materials.bioline.js index 593eb40a2..7649d7ac0 100644 --- a/kubejs/startup_scripts/tfg/materials.bioline.js +++ b/kubejs/startup_scripts/tfg/materials.bioline.js @@ -26,10 +26,11 @@ const registerTFGBiolineMaterials = (event) => { event.create('tfg:lauryl_alcohol') .liquid(new GTFluidBuilder().temperature(293)) - .components('12x carbon', '26x hydrogen', '1x oxygen') + .components('12x carbon', '26x hydrogen', '1x oxygen', 'unknown') .iconSet(GTMaterialIconSet.FINE) .color(0x9C734E) .secondaryColor(0xA12727) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('tfg:chlorosulfuric_acid') .liquid(new GTFluidBuilder().temperature(293).attribute(GTFluidAttributes.ACID)) @@ -44,6 +45,7 @@ const registerTFGBiolineMaterials = (event) => { .iconSet(GTMaterialIconSet.FINE) .color(0xCA9851) .secondaryColor(0xF0D5CE) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) event.create('tfg:sodium_hypochlorite') .liquid(new GTFluidBuilder().temperature(293)) From e8383dbda514420b5b8590ff832af866c256cfad Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 20:45:28 +0000 Subject: [PATCH 062/628] structure spawn conditions for the moai and primitive hut --- CHANGELOG.md | 3 +++ .../contains_temperate_house.json | 16 ++++++++++++++++ .../worldgen_modifier/ocean_moai.json | 12 ++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json create mode 100644 kubejs/data/tfg/lithostitched/worldgen_modifier/ocean_moai.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e85565d1..9220c84d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,12 +19,15 @@ - Saplings and fruit bushes can now enter the seed pouch. (#2202) @Redeix - Mars sandstorms are now sandier @Pyritie - Added an alternative recipe for item frames using cloth @Pyritie +- Added a little more silver to surface bismuth veins, moved apatite veins closer to the surface and with deeper indicators, increased deep sapphire veins' max Y level and added a rock type, and also added a rock type to deep magnetite's veins (all overworld only) @Pyritie ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie - Fixed not being able to make brown universal compost with a mortar if the item is both green and brown (#2091) @Pyritie - Fixed soup made in the food processor not returning bowls when eaten (#2053) @Pyritie - Fixed missing helve hammer recipe for silver plates (#2183) @Pyritie +- Fixed some typos in gun/attachment names and descriptions @Jeuvke +- Fixed ocean moai spawning underwater sometimes 🗿 @Pyritie ### Translation updates - Russian @DI-GitH + @nineex - Brazilian Portuguese @Redeix diff --git a/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json b/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json new file mode 100644 index 000000000..620e0a23a --- /dev/null +++ b/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json @@ -0,0 +1,16 @@ +{ + "type": "lithostitched:set_structure_spawn_condition", + "structures": [ + "tfg:temperate/plains_temperate_house_0" + ], + "spawn_condition": { + "type": "lithostitched:grid", + "condition": { + "type": "lithostitched:in_biome", + "biomes": "#tfg:never_has_structure/illages" + }, + "radius": 50, + "distance_between_points": 15, + "allowed_count": 0 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/lithostitched/worldgen_modifier/ocean_moai.json b/kubejs/data/tfg/lithostitched/worldgen_modifier/ocean_moai.json new file mode 100644 index 000000000..fd83de2cb --- /dev/null +++ b/kubejs/data/tfg/lithostitched/worldgen_modifier/ocean_moai.json @@ -0,0 +1,12 @@ +{ + "type": "lithostitched:set_structure_spawn_condition", + "structures": [ + "tfg:ocean/ocean_moai_0" + ], + "spawn_condition": { + "type": "lithostitched:height_filter", + "range_type": "absolute", + "heightmap": "OCEAN_FLOOR_WG", + "permitted_range": [65, 256] + } +} \ No newline at end of file From b89770b4e11c2fe5154f8a45cc2560829aba690d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 20:56:05 +0000 Subject: [PATCH 063/628] added missing gyroscope recipes --- CHANGELOG.md | 1 + .../immersive_aircraft/recipes.js | 260 ++++++++++-------- 2 files changed, 145 insertions(+), 116 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9220c84d4..e739117a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - Fixed missing helve hammer recipe for silver plates (#2183) @Pyritie - Fixed some typos in gun/attachment names and descriptions @Jeuvke - Fixed ocean moai spawning underwater sometimes 🗿 @Pyritie +- Added missing recipes for the Advanced and Electronic Gyroscope @Pyritie ### Translation updates - Russian @DI-GitH + @nineex - Brazilian Portuguese @Redeix diff --git a/kubejs/server_scripts/immersive_aircraft/recipes.js b/kubejs/server_scripts/immersive_aircraft/recipes.js index cdbd10960..d31b3cb42 100644 --- a/kubejs/server_scripts/immersive_aircraft/recipes.js +++ b/kubejs/server_scripts/immersive_aircraft/recipes.js @@ -59,7 +59,7 @@ function registerImmersiveAircraftRecipes(event) { //It should also set itself to annealed copper if the input is regular copper //Ideally we should make sure the specified material has a specific TagPrefix before pushing it into the array, cant get it to work tho. I think the method TagPrefix.doGenerateItem() is ideal for this */ - + outputsArcFurnace.push(ChemicalHelper.get(result.tagPrefixArcFurnace, arcFurnaceMaterial, result.count)); outputsMacerator.push(ChemicalHelper.get(result.tagPrefixMacerator, material, result.count)); duration += material.getMass() * result.count; @@ -82,7 +82,7 @@ function registerImmersiveAircraftRecipes(event) { * @returns {tagPrefixMacerator: TagPrefix, tagPrefixArcFurnace: TagPrefix, count: number} */ let createMaterialsToResults = (tagPrefixMacerator, tagPrefixArcFurnace, count) => { - let result = + let result = { tagPrefixMacerator: tagPrefixMacerator, tagPrefixArcFurnace: tagPrefixArcFurnace, @@ -92,23 +92,23 @@ function registerImmersiveAircraftRecipes(event) { } //#endregion - event.remove({mod: 'man_of_many_planes'}); - event.remove({mod: 'immersive_aircraft'}); - - event.shaped('immersive_aircraft:hull',[ + event.remove({ mod: 'man_of_many_planes' }); + event.remove({ mod: 'immersive_aircraft' }); + + event.shaped('immersive_aircraft:hull', [ 'AAA', 'BCB', 'AAA' - ],{ + ], { A: '#minecraft:planks', B: 'gtceu:wrought_iron_plate', C: 'tfc:glue', }).id('tfg:immersive_aircraft/shaped/hull'); - event.shaped('immersive_aircraft:engine',[ + event.shaped('immersive_aircraft:engine', [ 'ABC', 'DED' - ],{ + ], { A: '#forge:tools/hammers', B: 'gtceu:tin_alloy_small_fluid_pipe', C: '#forge:tools/wrenches', @@ -116,39 +116,39 @@ function registerImmersiveAircraftRecipes(event) { E: 'create:andesite_casing' }).id('tfg:immersive_aircraft/shaped/engine'); - event.shaped('immersive_aircraft:sail',[ + event.shaped('immersive_aircraft:sail', [ 'ABA', 'BCB', 'ABA' - ],{ + ], { A: 'gtceu:wrought_iron_screw', B: '#forge:cloth', C: '#minecraft:trapdoors' }).id('tfg:immersive_aircraft/shaped/sail'); - event.shaped('immersive_aircraft:rotary_cannon',[ + event.shaped('immersive_aircraft:rotary_cannon', [ 'ABA', 'ACA', ' D ' - ],{ + ], { A: 'create:copper_sheet', B: 'minecraft:dispenser', C: 'gtceu:wrought_iron_gear', D: 'tfc:powderkeg' }).id('tfg:immersive_aircraft/shaped/rotary_cannon'); - event.shaped('immersive_aircraft:heavy_crossbow',[ + event.shaped('immersive_aircraft:heavy_crossbow', [ 'ABA', 'CDC', ' A ' - ],{ + ], { A: '#minecraft:logs', B: 'gtceu:long_steel_rod', C: '#tfg:metal_chains', D: 'minecraft:crossbow' }).id('tfg:immersive_aircraft/shaped/heavy_crossbow'); - event.shaped('immersive_aircraft:telescope',[ + event.shaped('immersive_aircraft:telescope', [ 'ABC', ' D ', ' E ' @@ -160,11 +160,11 @@ function registerImmersiveAircraftRecipes(event) { E: 'gtceu:wrought_iron_plate' }).id('tfg:immersive_aircraft/shaped/telescope'); - event.shaped('immersive_aircraft:bomb_bay',[ + event.shaped('immersive_aircraft:bomb_bay', [ 'AAA', 'ABA', 'ACA' - ],{ + ], { A: 'gtceu:steel_plate', B: 'tfc:powderkeg', C: 'minecraft:dispenser' @@ -172,21 +172,21 @@ function registerImmersiveAircraftRecipes(event) { //#region Airplane Upgrades - event.shaped('immersive_aircraft:industrial_gears',[ + event.shaped('immersive_aircraft:industrial_gears', [ 'ABA', 'CAB', 'ACA' - ],{ + ], { A: 'gtceu:small_brass_gear', B: 'gtceu:double_wrought_iron_plate', C: 'gtceu:double_copper_plate' }).id('tfg:immersive_aircraft/shaped/industrial_gears'); - event.shaped('immersive_aircraft:sturdy_pipes',[ + event.shaped('immersive_aircraft:sturdy_pipes', [ 'EDA', 'BAC', 'AD ' - ],{ + ], { A: '#forge:small_fluid_pipes', B: 'gtceu:blue_steel_plate', C: 'gtceu:red_steel_plate', @@ -194,39 +194,67 @@ function registerImmersiveAircraftRecipes(event) { E: '#forge:tools/screwdrivers', }).id('tfg:immersive_aircraft/shaped/sturdy_pipes') - event.shaped('immersive_aircraft:gyroscope',[ + event.shaped('immersive_aircraft:gyroscope', [ 'ABC', 'DED', 'FDG' - ],{ + ], { A: '#forge:tools/wrenches', - B: 'minecraft:comparator', + B: 'create:precision_mechanism', C: '#forge:gems/quartzite', D: 'gtceu:small_brass_gear', E: 'firmaciv:firmaciv_compass', - F: 'gtceu:aluminium_screw', + F: '#forge:screws/blue_steel', G: '#forge:tools/screwdrivers' }).id('tfg:immersive_aircraft/shaped/gyroscope') - event.shaped('tfg:black_steel_plated_airplane_propeller',[ + event.shaped('immersive_aircraft:gyroscope_dials', [ + 'ABC', + 'DED', + 'FDG' + ], { + A: '#forge:tools/wrenches', + B: '#gtceu:circuits/lv', + C: 'gtceu:lv_sensor', + D: 'gtceu:small_aluminium_gear', + E: 'immersive_aircraft:gyroscope', + F: '#forge:screws/vanadium_steel', + G: '#forge:tools/screwdrivers' + }).id('tfg:immersive_aircraft/shaped/gyroscope_dials') + + event.shaped('immersive_aircraft:gyroscope_hud', [ + 'ABC', + 'DED', + 'FDG' + ], { + A: '#forge:tools/wrenches', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:mv_sensor', + D: '#gtceu:circuits/mv', + E: 'immersive_aircraft:gyroscope_dials', + F: '#forge:screws/stainless_steel', + G: '#forge:tools/screwdrivers' + }).id('tfg:immersive_aircraft/shaped/gyroscope_hud') + + event.shaped('tfg:black_steel_plated_airplane_propeller', [ 'CA ', 'ABA', ' AD' - ],{ + ], { A: 'gtceu:black_steel_plate', B: '#forge:rotors', C: '#forge:tools/hammers', D: '#forge:tools/wrenches' }).id('tfg:shaped/black_steel_plated_airplane_propeller'); - generateRecyclingRecipe('tfg:recycling/black_steel_plated_airplane_propeller', + generateRecyclingRecipe('tfg:recycling/black_steel_plated_airplane_propeller', createRecyclingRecipeArgs('tfg:black_steel_plated_airplane_propeller', [GTMaterials.BlackSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) - - event.shaped('tfg:redblu_steel_plated_airplane_propeller',[ + + event.shaped('tfg:redblu_steel_plated_airplane_propeller', [ 'ABC', 'DED', 'CBF' - ],{ + ], { A: '#forge:tools/hammers', B: 'gtceu:red_steel_plate', C: 'gtceu:red_alloy_dust', @@ -236,64 +264,64 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/redblu_steel_plated_airplane_propeller'); generateRecyclingRecipe('tfg:recycling/redblu_steel_plated_airplane_propeller', - createRecyclingRecipeArgs('tfg:redblu_steel_plated_airplane_propeller',[ + createRecyclingRecipeArgs('tfg:redblu_steel_plated_airplane_propeller', [ GTMaterials.RedSteel, GTMaterials.BlueSteel, GTMaterials.RedAlloy - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1) ]) ); - event.shaped('immersive_aircraft:enhanced_propeller',[ + event.shaped('immersive_aircraft:enhanced_propeller', [ 'CA ', 'ABA', ' AD' - ],{ + ], { A: 'vintageimprovements:aluminum_sheet', B: '#forge:rotors', C: '#forge:tools/hammers', D: '#forge:tools/wrenches' }).id('tfg:immersive_aircraft/shaped/enhanced_propeller'); - generateRecyclingRecipe('immersive_aircraft:recycling/enhanced_propeller', + generateRecyclingRecipe('immersive_aircraft:recycling/enhanced_propeller', createRecyclingRecipeArgs('immersive_aircraft:enhanced_propeller', [GTMaterials.Aluminium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) - event.shaped('tfg:stainless_steel_plated_airplane_propeller',[ + event.shaped('tfg:stainless_steel_plated_airplane_propeller', [ 'CA ', 'ABA', ' AD' - ],{ + ], { A: 'gtceu:stainless_steel_plate', B: '#forge:rotors', C: '#forge:tools/hammers', D: '#forge:tools/wrenches' }).id('tfg:shaped/stainless_steel_plated_airplane_propeller'); - generateRecyclingRecipe('tfg:recycling/stainless_steel_plated_airplane_propeller', + generateRecyclingRecipe('tfg:recycling/stainless_steel_plated_airplane_propeller', createRecyclingRecipeArgs('tfg:stainless_steel_plated_airplane_propeller', [GTMaterials.StainlessSteel], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) - event.shaped('tfg:titanium_plated_airplane_propeller',[ + event.shaped('tfg:titanium_plated_airplane_propeller', [ 'CA ', 'ABA', ' AD' - ],{ + ], { A: 'gtceu:titanium_plate', B: '#forge:rotors', C: '#forge:tools/hammers', D: '#forge:tools/wrenches' }).id('tfg:shaped/titanium_plated_airplane_propeller'); - generateRecyclingRecipe('tfg:recycling/titanium_plated_airplane_propeller', + generateRecyclingRecipe('tfg:recycling/titanium_plated_airplane_propeller', createRecyclingRecipeArgs('tfg:titanium_plated_airplane_propeller', [GTMaterials.Titanium], [createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3)])) - event.shaped('immersive_aircraft:eco_engine',[ + event.shaped('immersive_aircraft:eco_engine', [ 'ABC', 'BDB', 'EEE' - ],{ + ], { A: '#forge:tools/hammers', B: 'gtceu:double_rose_gold_plate', C: '#forge:tools/screwdrivers', @@ -301,11 +329,11 @@ function registerImmersiveAircraftRecipes(event) { E: 'gtceu:double_sterling_silver_plate' }).id('tfg:immersive_aircraft/shaped/eco_engine'); - event.shaped('immersive_aircraft:steel_boiler',[ + event.shaped('immersive_aircraft:steel_boiler', [ 'ABA', 'ACA', 'DAD' - ],{ + ], { A: 'gtceu:steel_plate', B: 'gtceu:black_steel_rod', C: 'immersive_aircraft:engine', @@ -313,12 +341,12 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:immersive_aircraft/shaped/steel_boiler'); generateRecyclingRecipe('immersive_aircraft:recycling/steel_boiler', - createRecyclingRecipeArgs('immersive_aircraft:steel_boiler',[ + createRecyclingRecipeArgs('immersive_aircraft:steel_boiler', [ GTMaterials.Steel, GTMaterials.TinAlloy, GTMaterials.WroughtIron, GTMaterials.BlackSteel - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), @@ -326,11 +354,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('tfg:lv_aircraft_engine',[ + event.shaped('tfg:lv_aircraft_engine', [ 'ABC', 'DED', 'FGF' - ],{ + ], { A: 'gtceu:red_steel_plate', B: 'gtceu:black_steel_plate', C: 'gtceu:blue_steel_plate', @@ -351,7 +379,7 @@ function registerImmersiveAircraftRecipes(event) { GTMaterials.BlackSteel, GTMaterials.RedAlloy, GTMaterials.TinAlloy - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 10), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 7), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 4), @@ -364,11 +392,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('immersive_aircraft:nether_engine',[ + event.shaped('immersive_aircraft:nether_engine', [ 'AAA', 'BCB', 'DED' - ],{ + ], { A: 'vintageimprovements:aluminum_sheet', B: 'gtceu:mv_electric_piston', C: 'immersive_aircraft:engine', @@ -377,7 +405,7 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:immersive_aircraft/shaped/nether_engine') generateRecyclingRecipe('immersive_aircraft:recycling/nether_engine', - createRecyclingRecipeArgs('immersive_aircraft:nether_engine',[ + createRecyclingRecipeArgs('immersive_aircraft:nether_engine', [ GTMaterials.Aluminium, GTMaterials.Cupronickel, GTMaterials.AnnealedCopper, @@ -385,7 +413,7 @@ function registerImmersiveAircraftRecipes(event) { GTMaterials.Bronze, GTMaterials.TinAlloy, GTMaterials.WroughtIron - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 12), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), @@ -396,11 +424,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('tfg:hv_aircraft_engine',[ + event.shaped('tfg:hv_aircraft_engine', [ 'AAA', 'BCB', 'DED' - ],{ + ], { A: 'gtceu:stainless_steel_plate', B: 'gtceu:hv_electric_piston', C: 'immersive_aircraft:engine', @@ -409,7 +437,7 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/hv_aircraft_engine') generateRecyclingRecipe('tfg:recycling/hv_aircraft_engine', - createRecyclingRecipeArgs('tfg:hv_aircraft_engine',[ + createRecyclingRecipeArgs('tfg:hv_aircraft_engine', [ GTMaterials.StainlessSteel, GTMaterials.Electrum, GTMaterials.Silver, @@ -428,11 +456,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('tfg:ev_aircraft_engine',[ + event.shaped('tfg:ev_aircraft_engine', [ 'AAA', 'BCB', 'DED' - ],{ + ], { A: 'gtceu:titanium_plate', B: 'gtceu:ev_electric_piston', C: 'immersive_aircraft:engine', @@ -441,7 +469,7 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/ev_aircraft_engine') generateRecyclingRecipe('tfg:recycling/ev_aircraft_engine', - createRecyclingRecipeArgs('tfg:ev_aircraft_engine',[ + createRecyclingRecipeArgs('tfg:ev_aircraft_engine', [ GTMaterials.Titanium, GTMaterials.Aluminium, GTMaterials.Kanthal, @@ -449,7 +477,7 @@ function registerImmersiveAircraftRecipes(event) { GTMaterials.Neodymium, GTMaterials.TinAlloy, GTMaterials.WroughtIron - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 14), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 9), @@ -460,11 +488,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ); - event.shaped('immersive_aircraft:hull_reinforcement',[ + event.shaped('immersive_aircraft:hull_reinforcement', [ 'AB ', 'BCB', ' BD' - ],{ + ], { A: '#forge:tools/hammers', B: 'gtceu:black_steel_plate', C: 'immersive_aircraft:hull', @@ -472,7 +500,7 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:immersive_aircraft/shaped/hull_reinforcement'); generateRecyclingRecipe('immersive_aircraft:recycling/hull_reinforcement', - createRecyclingRecipeArgs('immersive_aircraft:hull_reinforcement',[ + createRecyclingRecipeArgs('immersive_aircraft:hull_reinforcement', [ GTMaterials.BlackSteel, GTMaterials.WroughtIron ], [ @@ -481,11 +509,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('tfg:redblu_steel_hull_reinforcement',[ + event.shaped('tfg:redblu_steel_hull_reinforcement', [ 'ABF', 'ECE', 'FBD' - ],{ + ], { A: '#forge:tools/hammers', B: 'gtceu:red_steel_plate', C: 'immersive_aircraft:hull', @@ -495,12 +523,12 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/redblu_steel_hull_reinforcement'); generateRecyclingRecipe('tfg:recycling/redblu_steel_hull_reinforcement', - createRecyclingRecipeArgs('tfg:redblu_steel_hull_reinforcement',[ + createRecyclingRecipeArgs('tfg:redblu_steel_hull_reinforcement', [ GTMaterials.BlueSteel, GTMaterials.RedSteel, GTMaterials.RedAlloy, GTMaterials.WroughtIron - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 1), @@ -508,11 +536,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ); - event.shaped('tfg:aluminium_hull_reinforcement',[ + event.shaped('tfg:aluminium_hull_reinforcement', [ 'AB ', 'BCB', ' BD' - ],{ + ], { A: '#forge:tools/hammers', B: 'vintageimprovements:aluminum_sheet', C: 'immersive_aircraft:hull', @@ -520,7 +548,7 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/aluminium_hull_reinforcement'); generateRecyclingRecipe('tfg:recycling/aluminium_hull_reinforcement', - createRecyclingRecipeArgs('tfg:aluminium_hull_reinforcement',[ + createRecyclingRecipeArgs('tfg:aluminium_hull_reinforcement', [ GTMaterials.Aluminium, GTMaterials.WroughtIron ], [ @@ -529,11 +557,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('tfg:stainless_steel_hull_reinforcement',[ + event.shaped('tfg:stainless_steel_hull_reinforcement', [ 'AB ', 'BCB', ' BD' - ],{ + ], { A: '#forge:tools/hammers', B: 'gtceu:stainless_steel_plate', C: 'immersive_aircraft:hull', @@ -541,7 +569,7 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/stainless_steel_hull_reinforcement'); generateRecyclingRecipe('tfg:recycling/stainless_steel_hull_reinforcement', - createRecyclingRecipeArgs('tfg:stainless_steel_hull_reinforcement',[ + createRecyclingRecipeArgs('tfg:stainless_steel_hull_reinforcement', [ GTMaterials.StainlessSteel, GTMaterials.WroughtIron ], [ @@ -550,11 +578,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('tfg:titanium_hull_reinforcement',[ + event.shaped('tfg:titanium_hull_reinforcement', [ 'AB ', 'BCB', ' BD' - ],{ + ], { A: '#forge:tools/hammers', B: 'gtceu:titanium_plate', C: 'immersive_aircraft:hull', @@ -562,7 +590,7 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/titanium_hull_reinforcement'); generateRecyclingRecipe('tfg:recycling/titanium_hull_reinforcement', - createRecyclingRecipeArgs('tfg:titanium_hull_reinforcement',[ + createRecyclingRecipeArgs('tfg:titanium_hull_reinforcement', [ GTMaterials.Titanium, GTMaterials.WroughtIron ], [ @@ -571,11 +599,11 @@ function registerImmersiveAircraftRecipes(event) { ]) ) - event.shaped('immersive_aircraft:improved_landing_gear',[ + event.shaped('immersive_aircraft:improved_landing_gear', [ 'ABC', 'DEB', 'DDF' - ],{ + ], { A: '#forge:tools/wrenches', B: 'gtceu:black_steel_plate', C: 'gtceu:black_steel_rod', @@ -585,20 +613,20 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:immersive_aircraft/shaped/improved_landing_gear'); generateRecyclingRecipe('immersive_aircraft:recycling/improved_landing_gear', - createRecyclingRecipeArgs('immersive_aircraft:improved_landing_gear',[ + createRecyclingRecipeArgs('immersive_aircraft:improved_landing_gear', [ GTMaterials.BlackSteel, GTMaterials.Brass - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 7), ]) ); - event.shaped('tfg:redblu_steel_landing_gear',[ + event.shaped('tfg:redblu_steel_landing_gear', [ 'ABC', 'DEB', 'DDF' - ],{ + ], { A: '#forge:tools/wrenches', B: 'gtceu:red_steel_plate', C: 'gtceu:blue_steel_rod', @@ -608,22 +636,22 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/redblu_steel_landing_gear') generateRecyclingRecipe('tfg:recycling/redblu_steel_landing_gear', - createRecyclingRecipeArgs('tfg:redblu_steel_landing_gear',[ + createRecyclingRecipeArgs('tfg:redblu_steel_landing_gear', [ GTMaterials.RedSteel, GTMaterials.BlueSteel, GTMaterials.Brass, - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 3), createMaterialsToResults(TagPrefix.dustTiny, TagPrefix.nugget, 7), ]) ); - event.shaped('tfg:aluminium_landing_gear',[ + event.shaped('tfg:aluminium_landing_gear', [ 'ABC', 'DEB', 'DDF' - ],{ + ], { A: '#forge:tools/wrenches', B: 'vintageimprovements:aluminum_sheet', C: 'gtceu:aluminium_rod', @@ -633,20 +661,20 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/aluminium_landing_gear') generateRecyclingRecipe('tfg:recycling/aluminium_landing_gear', - createRecyclingRecipeArgs('tfg:aluminium_landing_gear',[ + createRecyclingRecipeArgs('tfg:aluminium_landing_gear', [ GTMaterials.Aluminium, GTMaterials.CobaltBrass - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), ]) ); - - event.shaped('tfg:stainless_steel_landing_gear',[ + + event.shaped('tfg:stainless_steel_landing_gear', [ 'ABC', 'DEB', 'DDF' - ],{ + ], { A: '#forge:tools/wrenches', B: 'gtceu:stainless_steel_plate', C: 'gtceu:stainless_steel_rod', @@ -657,20 +685,20 @@ function registerImmersiveAircraftRecipes(event) { generateRecyclingRecipe('tfg:recycling/stainless_steel_landing_gear', - createRecyclingRecipeArgs('tfg:stainless_steel_landing_gear',[ + createRecyclingRecipeArgs('tfg:stainless_steel_landing_gear', [ GTMaterials.StainlessSteel, GTMaterials.CobaltBrass - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), ]) ); - event.shaped('tfg:titanium_landing_gear',[ + event.shaped('tfg:titanium_landing_gear', [ 'ABC', 'DEB', 'DDF' - ],{ + ], { A: '#forge:tools/wrenches', B: 'gtceu:titanium_plate', C: 'gtceu:titanium_rod', @@ -680,10 +708,10 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:shaped/titanium_landing_gear'); generateRecyclingRecipe('tfg:recycling/titanium_landing_gear', - createRecyclingRecipeArgs('tfg:titanium_landing_gear',[ + createRecyclingRecipeArgs('tfg:titanium_landing_gear', [ GTMaterials.Titanium, GTMaterials.CobaltBrass - ],[ + ], [ createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 2), createMaterialsToResults(TagPrefix.dust, TagPrefix.ingot, 3), ]) @@ -692,11 +720,11 @@ function registerImmersiveAircraftRecipes(event) { //#region Aircrafts - event.shaped('immersive_aircraft:quadrocopter',[ + event.shaped('immersive_aircraft:quadrocopter', [ 'ABA', 'CDC', 'AEA' - ],{ + ], { A: '#forge:rotors', B: '#create:seats', C: 'gtceu:long_wood_rod', @@ -704,7 +732,7 @@ function registerImmersiveAircraftRecipes(event) { E: 'immersive_aircraft:engine' }).id('tfg:immersive_aircraft/shaped/quadrocopter'); - event.shaped('immersive_aircraft:airship',[ + event.shaped('immersive_aircraft:airship', [ 'ABA', 'CDE', 'FGA' @@ -718,7 +746,7 @@ function registerImmersiveAircraftRecipes(event) { G: 'tfg:airship_hull' }).id('tfg:immersive_aircraft/shaped/airship') - event.shaped('immersive_aircraft:cargo_airship',[ + event.shaped('immersive_aircraft:cargo_airship', [ 'ABA', 'CDC', 'EFE' @@ -732,14 +760,14 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:immersive_aircraft/shaped/cargo_airship') //WAAGH! - event.recipes.create.mechanical_crafting('immersive_aircraft:warship',[ + event.recipes.create.mechanical_crafting('immersive_aircraft:warship', [ 'ABCC ', ' DDD ', ' EEEF', ' EGEH', ' EEEF', ' DDD ' - ],{ + ], { A: 'immersive_aircraft:enhanced_propeller', B: 'immersive_aircraft:steel_boiler', C: 'tfg:airship_balloon', @@ -750,7 +778,7 @@ function registerImmersiveAircraftRecipes(event) { H: '#create:seats' }).id('tfg:immersive_aircraft/mechanical_crafter/warship') - event.recipes.create.mechanical_crafting('immersive_aircraft:gyrodyne',[ + event.recipes.create.mechanical_crafting('immersive_aircraft:gyrodyne', [ ' A ', ' B ', 'CCDDDCC', @@ -758,7 +786,7 @@ function registerImmersiveAircraftRecipes(event) { ' FDDDF ', ' B ', ' G ', - ],{ + ], { A: 'immersive_aircraft:enhanced_propeller', B: 'gtceu:long_wood_rod', C: 'immersive_aircraft:sail', @@ -768,7 +796,7 @@ function registerImmersiveAircraftRecipes(event) { G: 'gtceu:wrought_iron_double_ingot' }).id('tfg:immersive_aircraft/mechanical_crafter/gyrodyne') - event.recipes.create.mechanical_crafting('man_of_many_planes:economy_plane',[ + event.recipes.create.mechanical_crafting('man_of_many_planes:economy_plane', [ ' AABCBAA ', 'ADDBEBDDA', ' FGBHBGF ', @@ -788,7 +816,7 @@ function registerImmersiveAircraftRecipes(event) { H: 'create:steam_engine' }).id('tfg:man_of_many_planes/mechanical_crafter/economy_plane'); - event.recipes.create.mechanical_crafting('immersive_aircraft:biplane',[ + event.recipes.create.mechanical_crafting('immersive_aircraft:biplane', [ ' A ', 'BBBCBBB', ' BDB ', @@ -797,7 +825,7 @@ function registerImmersiveAircraftRecipes(event) { ' E ', ' BEB ', ' B ' - ],{ + ], { A: 'immersive_aircraft:enhanced_propeller', B: 'immersive_aircraft:hull', C: 'immersive_aircraft:steel_boiler', @@ -805,7 +833,7 @@ function registerImmersiveAircraftRecipes(event) { E: '#minecraft:logs' }).id('tfg:immersive_aircraft/mechanical_crafter/biplane') - event.recipes.create.mechanical_crafting('man_of_many_planes:scarlet_biplane',[ + event.recipes.create.mechanical_crafting('man_of_many_planes:scarlet_biplane', [ ' A ', ' B ', 'CCCDEDCCC', @@ -814,7 +842,7 @@ function registerImmersiveAircraftRecipes(event) { ' H ', ' CHC ', ' C ' - ],{ + ], { A: 'immersive_aircraft:enhanced_propeller', B: 'immersive_aircraft:nether_engine', C: 'immersive_aircraft:hull', @@ -825,7 +853,7 @@ function registerImmersiveAircraftRecipes(event) { H: 'tfc:metal/ingot/red_steel' }).id('tfg:man_of_many_planes/mechanical_crafter/scarlet_biplane') - event.recipes.create.mechanical_crafting('immersive_aircraft:bamboo_hopper',[ + event.recipes.create.mechanical_crafting('immersive_aircraft:bamboo_hopper', [ ' A A ', 'BBCBBBCBB', ' DEFED ', @@ -833,7 +861,7 @@ function registerImmersiveAircraftRecipes(event) { ' D D ', ' BBBGBBB ', ' B B ' - ],{ + ], { A: 'immersive_aircraft:enhanced_propeller', B: 'immersive_aircraft:hull', C: 'immersive_aircraft:steel_boiler', @@ -843,5 +871,5 @@ function registerImmersiveAircraftRecipes(event) { G: 'gtceu:double_aluminium_plate' }).id('tfg:immersive_aircraft/mechanical_crafter/bamboo_hopper') -//#endregion + //#endregion } \ No newline at end of file From 1908d3bf349ba03ae7661a2a39930918a1f39b21 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 21:26:39 +0000 Subject: [PATCH 064/628] langs and quest fixes --- .../quests/chapters/ev__extreme_voltage.snbt | 3 +- .../quests/chapters/space_survival.snbt | 10 +- kubejs/assets/gtceu/lang/en_us.json | 13 + kubejs/assets/tacz/lang/en_us.json | 12 + kubejs/assets/tfg/lang/en_us.json | 39 +- kubejs/assets/tfg/lang/fr_fr.json | 8 +- kubejs/assets/tfg/lang/ja_jp.json | 682 +++++++++--------- kubejs/assets/tfg/lang/ru_ru.json | 10 +- 8 files changed, 413 insertions(+), 364 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 8283eac7a..c0da537f7 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -451,8 +451,9 @@ } { dependencies: ["24ECDF70031B39C4"] - description: ["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.\\n\\nWith this upgrade, you can finally bring your &aore processing&r to a whole new level of speed."] + description: ["{quests.extreme_voltage.large_centrifuge.desc}"] id: "10F870BCEC5D5C74" + subtitle: "{quests.extreme_voltage.large_centrifuge.subtitle}" tasks: [{ id: "78C78EA1B0996FF9" item: "gtceu:large_centrifuge" diff --git a/config/ftbquests/quests/chapters/space_survival.snbt b/config/ftbquests/quests/chapters/space_survival.snbt index 4ffe68f5d..6732d30da 100644 --- a/config/ftbquests/quests/chapters/space_survival.snbt +++ b/config/ftbquests/quests/chapters/space_survival.snbt @@ -288,8 +288,14 @@ type: "item" } { - id: "4E8C67A543FEB861" - item: "gtceu:mv_4a_energy_converter" + id: "6EC6D0FB6F9E452C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:lv_1a_energy_converter)item(gtceu:lv_4a_energy_converter)item(gtceu:mv_1a_energy_converter)item(gtceu:mv_4a_energy_converter)item(gtceu:hv_1a_energy_converter)item(gtceu:lv_8a_energy_converter))" + } + } optional_task: true type: "item" } diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 3724fdfe2..93d73a47c 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -40,6 +40,7 @@ "gtceu.large_solar_panel_tier3": "Large Solar Array MK III", "gtceu.gas_pressurizer": "Gas Pressurizer", "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory", + "gtceu.nuclear_turbine": "Nuclear Steam Turbine", "gtceu.heat_exchanger": "Heat Exchanger", "gtceu.fission_reactor": "Fission Reactor", "gtceu.evaporation_tower": "Evaporation Tower", @@ -48,6 +49,18 @@ "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", + "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", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.\nRequires 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.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", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.\nFueling it with Coke or Anthracite will double the output.\nCan process up to 8 recipes at once, which changes how much Steam is required.§r", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", "item.gtceu.wood_dust": "Softwood Pulp", diff --git a/kubejs/assets/tacz/lang/en_us.json b/kubejs/assets/tacz/lang/en_us.json index 0a1d26b09..7e1a52660 100644 --- a/kubejs/assets/tacz/lang/en_us.json +++ b/kubejs/assets/tacz/lang/en_us.json @@ -6,15 +6,27 @@ "applied_armorer.attachment.extended_mid_mag_aa_1.name": "Fluix Grooved Magazine", "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9Fluix Grooved Magazine", "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§dFluix Grooved Magazine", + "applied_armorer.attachment.si_pricision.name": "§aPrecision Scope", + "applied_armorer.attachment.si_double_sided_mirror.name": "\"Double Sided Mirror\" Scope", + "applied_armorer.attachment.si_ms_12.name": "§aMS-12 Scope", + "applied_armorer.attachment.scope_ms_14.name": "§eMS-14 Scope", + "applied_armorer.attachment.scope_xgs_905.name": "§eXGS-905 Scope", + "applied_armorer.attachment.muzzle_classic.name": "Classic Suppressor", + "applied_armorer.attachment.muzzle_ns_1.name": "NS-1 Suppressor", + "applied_armorer.attachment.muzzle_commander.name": "Commander Muzzle Brake", + "applied_armorer.attachment.muzzle_bs_mod4.name": "BS-Mod.4 Compensator", "applied_armorer.attachment.grip_lf11.name": "LF-11 Laser-Grip", "applied_armorer.attachment.grip_sl_2.name": "SL-2 Laser-Grip", "applied_armorer.attachment.grip_stable.name": "ST-61 Grip", "applied_armorer.attachment.grip_light.name": "LI-13 Grip", "applied_armorer.attachment.grip_hf_17.name": "HF-17 Grip", + "tooltip.niklas_pistol_semi_pride": "§7Guns are faster than knives at any distance... right?", "create_armorer.attachment.extended_mag_ca_1.name": "Invar Magazine", "create_armorer.attachment.extended_mag_ca_2.name": "Copper Plated Magazine", "create_armorer.attachment.extended_mag_ca_3.name": "Brass Plated Magazine", "create_armorer.ammo.rbapb.name": "Rimmed Blunt Ammo", + "create_armorer.gun.mg_platemag_flywheel": "\"Flywheel\" Machine Gun", + "create_armorer.gun.rifle_assult_crane": "\"Crane\" Assault Rifle", "item.tacz.ammo_box.iron": "Steel Ammo Box", "item.tacz.ammo_box.gold": "§9Magnalium Ammo Box", "item.tacz.ammo_box.diamond": "§6Desh Ammo Box" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index dbbda5c91..7507d4880 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1411,10 +1411,24 @@ "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", + "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!", + "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§7 reduces energy usage by §r10%§7.§r", + "tfg.tooltip.machine.bioreactor_1": "§7Chemistry meets Biology§r", + "tfg.tooltip.machine.bioreactor_2": "§7Combines organic and inorganic ingredients to produce synthetic biological products.§r", + "tfg.tooltip.machine.growth_chamber_1": "§7Growing new life§r", + "tfg.tooltip.machine.growth_chamber_2": "§7Contains everything needed for Biological Engineering.§r", + "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", + "tfg.tooltip.machine.evaporation_tower_2": "§7Gets rid of excess solvent to condense solutions.§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7Putting the Factory in Factory Farming§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Uses water to grow trees, crops, and other plants. Can be sped up with fertiliser. Faster and easier than other ways of growing plants, at the cost of energy.§r", + "tfg.tooltip.machine.cooling_tower_1": "§7Heating up the Atmosphere§r", + "tfg.tooltip.machine.cooling_tower_2": "§7Cools the hot coolant by dissipitating excess heat to the atmosphere.§r", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", - "tfg.tooltip.dna_syringe.empty": "An empty syringe.", - "tfg.tooltip.dna_syringe.dirty1": "A used syringe.", - "tfg.tooltip.dna_syringe.dirty2": "Be careful not to poke anyone with this...", + "tfg.tooltip.dna_syringe.empty": "§7An empty syringe.§r", + "tfg.tooltip.dna_syringe.dirty1": "§7A used syringe.§r", + "tfg.tooltip.dna_syringe.dirty2": "§7Be careful not to poke anyone with this...§r", "tfg.tooltip.dna_syringe.full": "DNA sample: ", "tfg.tooltip.dna_syringe.explain": "Right-click on a mob to obtain a DNA sample. Place in a crafting grid to clear contents.", "tfg.tooltip.shift_hint": "[Hold-Shift]", @@ -1850,7 +1864,7 @@ "quests.extreme_voltage.nuclear_turbine.desc": "With Fission, you gain access to a brand new &6Dedicated Turbine&r! (The normal Large Steam Turbine can only handle regular Steam.)\n\nIt works just like the previous turbines, but similar to the Gas Turbine, it requires at least an &5EV Rotor Holder&r to operate.\n\nThe coils inside this turbine must be &7Cupronickel&r, and they don’t affect performance in any way (but we have to admit, they look pretty good).\n\nIn this quest, we suggest two &aRotors&r that fit nicely for the turbine at this stage, but feel free to experiment and use any &brotor&r that suits your setup best.", "quests.extreme_voltage.reactor_components.title": "Reactor Heat Management", "quests.extreme_voltage.reactor_components.subtitle": "Active and Passive ways to cool your reactor", - "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Item Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Item Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", + "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Material Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Material Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", "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!", @@ -1861,7 +1875,7 @@ "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.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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", + "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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Smelting Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", "quests.extreme_voltage.important_info.desc.2": "When it comes to your Martian infrastructure, there are two main approaches:&r\n\n• &aPreparation-focused&r: Build everything required for your full &6Fission Line&r before establishing your base. This means an enormous material investment, but allows you to be self-sufficient once operational.\n\n• &aProgressive setup&r: Start smaller with your &6Nuclear Fuel Factory&r, your first &6Fission Reactor&r (running on &eThorium&r), and a &6Nuclear Turbine&r. This route is faster to start, but managing energy will be rough until your fission system stabilizes.\n\nEither way, we always recommend having an exploration mission before you start settling down!", "quests.extreme_voltage.important_info.desc.3": "Because every kind of combustion-based energy won't work on Mars, you’ll want to bring a good stock of &bLapotron Crystals&r to power your first recipes and oxygen systems.\n\nWe also strongly recommend setting up a &6Distillation Tower&r. &eMartian Air&r can be processed into breathable &bAir&r and several other useful gases. Alternatively, everything for Compressed Nitrox can come from the local Semiheavy Ammoniacal Water.\n\nSurvival on Mars isn’t about luck, it’s about preparation!", "quests.extreme_voltage.important_info.task": "It's Marsing Time", @@ -1890,7 +1904,7 @@ "quests.extreme_voltage.uranium_line.desc": "To process &eUranium&r and its &eUranium 235&r &eIsotope&r, you’ll need to set up a dedicated small processing line. \n\nRest assured, you can &aloop the Fluorine&r, so the only input you’ll need is &eUraninite Dusts&r.\n\nYou can build this line on Earth, but it may be more convenient to operate it on Mars, where the majority of Uraninite Ore should be harvested.", "quests.extreme_voltage.radioactive_waste.title": "Radioactive Waste", "quests.extreme_voltage.radioactive_waste.subtitle": "One man's trash is another man's progression material", - "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super chest with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", + "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super Tank with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", "quests.extreme_voltage.uranium_rod.subtitle": "Finally, some real power!", "quests.extreme_voltage.uranium_rod.desc.1": "This is the second-generation reactor fuel - it offers &a4× more durability&r and produces &a5× more steam&r compared to a standard &eThorium Rod&r. However, there are important trade-offs you must plan for.\n\n&9Production cost and setup:&r\n• Producing this fuel consumes &eThorium Rods&r continuously, so it’s recommended to dedicate a separate &6Fission Reactor&r for each of these advanced rods, although if you're up for the challenge of juggling them in one reactor, that's an option too.", "quests.extreme_voltage.uranium_rod.desc.2": "Heat and mitigation options: A single Uranium Fuel Rod generates about &c435 Heat&r inside a standard reactor, far above the default limit. To handle this you have three main options:\n\n&7→&r &eInstall 20 Framed Glacial Wool&r blocks inside the reactor to raise &cMax Heat&r to &e440&r, allowing one rod to run safely.\n\n&7→&r &6Use Material Holders&r and pump large quantities of &bDry Ice&r to drop the reactor temperature. This requires a robust infrastructure and access to a &bLiquid CO2 fluid vein&r on Mars.\n\n&7→&r &bUse Refrigerant Pellets&r placed in Material Holders. They behave like Dry Ice but are far more potent. Note that Refrigerant Pellets consume a decent amount of &eFluorine&r to craft, and you do not have infinite Fluorine at this point.\n\nObviously, you can also make your own sauce and mix all of these options together.", @@ -2058,6 +2072,8 @@ "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_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.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", @@ -2343,7 +2359,7 @@ "quests.high_voltage.nichrome.desc": "Your third alloy is here and it's essential for your next set of coils in the &6EBF&r.\n\nAs usual you will need &9128 ingots&r but this time you’ll notice that you can’t use a &6Chemical Washer&r. Instead, you're required to use a &6Vacuum Freezer&r.\n\nGood news: it’s actually simpler and faster.\n\nYou’ll only be using &6Nichrome&r for these coils, but don’t get too comfortable — it will return later for the next set of &5RTM Coils&r.", "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 &6Pyrolysis Oven&r\n\nGo with whichever's easiest for you!", + "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.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.", @@ -2371,7 +2387,7 @@ "quests.high_voltage.steel_engine.subtitle": "Blue Steel is back, baby", "quests.high_voltage.steel_engine.desc": "The &6Steel Engine&r is required so your rocket can &atravel to the Moon&r.\n\nThe recipe isn't too bad — we assume you're ready to tackle each part.\n\nTo get &91152mb of Liquid Blue Steel&r, you will need &78 ingots&r.", "quests.high_voltage.rocket_fins.subtitle": "So you reach the right destination", - "quests.high_voltage.rocket_fins.desc": "We made the &6Rocket Fins&r use an &bAlloy Smelter&r simply to remind you that you now have access to the &bMulti-Smelter&r — a wonderful small EBF that can be used both as a &eFurnace&r and an &bAlloy Smelter&r.\n\nThe quest to craft it is in the &bMV&r Chapter. We really advise you to think about it if you haven't yet.", + "quests.high_voltage.rocket_fins.desc": "Originally, we made the &6Rocket Fins&r use an &bAlloy Smelter&r simply to remind you that you now have access to the &bMulti-Smelter&r — a wonderful small EBF that can be used both as a &eFurnace&r and an &bAlloy Smelter&r.\n\nThe quest to craft it is in the &bMV&r Chapter.\n\nWe changed this recipe to the assembler because \"rocket fins\" aren't exactly an alloy.", "quests.high_voltage.rocket_nose_cone.subtitle": "The nose knows...", "quests.high_voltage.rocket_nose_cone.desc": "The &6Rocket Nose Cone&r is the hardest part of your Rocket.\nYou will need a hefty amount of &aPolyethylene&r — so we hope you already have it passively produced — and a &6HV&r Emitter.\nYou should be able to get your hands on &dChromium&r by electrolyzing &cRuby Dust&r.\n\nThe &aVitrified Ender Pearl&r is trickier and requires you to follow the quest unlocked by the &6HV Chemical Reactor&r.\nGet ready to make &cTNT&r, build an &5Implosion Compressor&r, and recreate the famous Enderman drop — since you won’t find Ender Pearls natively in &2TFG&r.", "quests.high_voltage.launch_pad.subtitle": "Ready for launch in T-10...", @@ -2692,7 +2708,7 @@ "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", - "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r or a &3GT Create&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly but that won't be before some time.", + "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r, a &3Backpack&r, or a &3GT Crate&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly, by the way.", "quests.medium_voltage.mv_miner.task": "Any miner", "quests.medium_voltage.mv_component.title": "The MV Components", "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in previous tier?", @@ -2727,7 +2743,7 @@ "quests.medium_voltage.mv_batteries.desc": "&bMV&r Batteries will appeal to you if you want to buffer Energy, just like &7LV&r.\n\nThe cost in &aSodium&r, &aLithium&r or &aCadmium&r jumps up to 8 dusts, so you should use whatever you have the most of. The difference in capacity isn't &7THAT&r huge, after all!\n\nGet &eeither&r Battery to complete the Quest.", "quests.medium_voltage.mv_steel_alloy.title": "Steel Alloys", "quests.medium_voltage.mv_steel_alloy.subtitle": "Steel Your Heart", - "quests.medium_voltage.mv_steel_alloy.desc": "Vanadiumsteel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.\n\nOther Steel alloys include Blue Steel, Red Steel, and Black Steel!\n\nTake some Blue Steel free of charge - it's twice as durable as Steel.", + "quests.medium_voltage.mv_steel_alloy.desc": "Vanadium steel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.", "quests.medium_voltage.pyrolyse.title": "Pyrolyse Oven", "quests.medium_voltage.pyrolyse.subtitle": "Thermal Decomposition", "quests.medium_voltage.pyrolyse.desc.1": "The &3Pyrolyse Oven&r is an electric equivalent to the &3Coke Oven&r. It can produce &9Coal Coke&r and &9Charcoal&r with a &9Creosote&r byproduct just as before, but also has additional &6Organic Byproducts&r, the most beneficial of these being &aWood Tar&r.\n\nAnother product is &aBiomass&r, which is more pertinent for your progression as of this moment.", @@ -3197,6 +3213,7 @@ "quests.space_survival.solar_panels.title": "Solar Panels", "quests.space_survival.solar_panels.subtitle": "Praise the Sun!", "quests.space_survival.solar_panels.desc": "There are very few energy sources available on the Moon, but these &eSolar Panels&r have a lovely view of the Sun from up here!\n\nOn the moon, each Solar Panel provides the equivalent of &932 EU/t&r during the day with no fuel or upkeep needed, but they only produce an eighth of that down on the Earth's surface. Bring along a whole bunch of them!", + "quests.space_survival.solar_panels.task": "Any FE to EU converter", "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", @@ -3562,7 +3579,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! Unfortunately, alternators convert stress into a different electricity system than the one GregTech uses, so you'll need an Energy Converter to turn it into usable LV energy.", + "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.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\"", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 4c4918961..2579ad75f 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1951,7 +1951,7 @@ "quests.high_voltage.nichrome.desc": "Your third alloy is here and it's essential for your next set of coils in the &6EBF&r.\n\nAs usual you will need &9128 ingots&r but this time you’ll notice that you can’t use a &6Chemical Washer&r. Instead, you're required to use a &6Vacuum Freezer&r.\n\nGood news: it’s actually simpler and faster.\n\nYou’ll only be using &6Nichrome&r for these coils, but don’t get too comfortable — it will return later for the next set of &5RTM Coils&r.", "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 &6Pyrolysis Oven&r\n\nGo with whichever's easiest for you!", + "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.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.", @@ -1979,7 +1979,7 @@ "quests.high_voltage.steel_engine.subtitle": "Blue Steel is back, baby", "quests.high_voltage.steel_engine.desc": "The &6Steel Engine&r is required so your rocket can &atravel to the Moon&r.\n\nThe recipe isn't too bad — we assume you're ready to tackle each part.\n\nTo get &91152mb of Liquid Blue Steel&r, you will need &78 ingots&r.", "quests.high_voltage.rocket_fins.subtitle": "So you reach the right destination", - "quests.high_voltage.rocket_fins.desc": "We made the &6Rocket Fins&r use an &bAlloy Smelter&r simply to remind you that you now have access to the &bMulti-Smelter&r — a wonderful small EBF that can be used both as a &eFurnace&r and an &bAlloy Smelter&r.\n\nThe quest to craft it is in the &bMV&r Chapter. We really advise you to think about it if you haven't yet.", + "quests.high_voltage.rocket_fins.desc": "Originally, we made the &6Rocket Fins&r use an &bAlloy Smelter&r simply to remind you that you now have access to the &bMulti-Smelter&r — a wonderful small EBF that can be used both as a &eFurnace&r and an &bAlloy Smelter&r.\n\nThe quest to craft it is in the &bMV&r Chapter.\n\nWe changed this recipe to the assembler because \"rocket fins\" aren't exactly an alloy.", "quests.high_voltage.rocket_nose_cone.subtitle": "The nose knows...", "quests.high_voltage.rocket_nose_cone.desc": "The &6Rocket Nose Cone&r is the hardest part of your Rocket.\nYou will need a hefty amount of &aPolyethylene&r — so we hope you already have it passively produced — and a &6HV&r Emitter.\nYou should be able to get your hands on &dChromium&r by electrolyzing &cRuby Dust&r.\n\nThe &aVitrified Ender Pearl&r is trickier and requires you to follow the quest unlocked by the &6HV Chemical Reactor&r.\nGet ready to make &cTNT&r, build an &5Implosion Compressor&r, and recreate the famous Enderman drop — since you won’t find Ender Pearls natively in &2TFG&r.", "quests.high_voltage.launch_pad.subtitle": "Ready for launch in T-10...", @@ -2299,7 +2299,7 @@ "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", - "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r or a &3GT Create&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly but that won't be before some time.", + "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r, a &3Backpack&r, or a &3GT Crate&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly, by the way.", "quests.medium_voltage.mv_miner.task": "Any miner", "quests.medium_voltage.mv_component.title": "The MV Components", "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in previous tier?", @@ -2334,7 +2334,7 @@ "quests.medium_voltage.mv_batteries.desc": "&bMV&r Batteries will appeal to you if you want to buffer Energy, just like &7LV&r.\n\nThe cost in &aSodium&r, &aLithium&r or &aCadmium&r jumps up to 8 dusts, so you should use whatever you have the most of. The difference in capacity isn't &7THAT&r huge, after all!\n\nGet &eeither&r Battery to complete the Quest.", "quests.medium_voltage.mv_steel_alloy.title": "Steel Alloys", "quests.medium_voltage.mv_steel_alloy.subtitle": "Steel Your Heart", - "quests.medium_voltage.mv_steel_alloy.desc": "Vanadiumsteel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.\n\nOther Steel alloys include Blue Steel, Red Steel, and Black Steel!\n\nTake some Blue Steel free of charge - it's twice as durable as Steel.", + "quests.medium_voltage.mv_steel_alloy.desc": "Vanadium steel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.", "quests.medium_voltage.pyrolyse.title": "Pyrolyse Oven", "quests.medium_voltage.pyrolyse.subtitle": "Thermal Decomposition", "quests.medium_voltage.pyrolyse.desc.1": "The &3Pyrolyse Oven&r is an electric equivalent to the &3Coke Oven&r. It can produce &9Coal Coke&r and &9Charcoal&r with a &9Creosote&r byproduct just as before, but also has additional &6Organic Byproducts&r, the most beneficial of these being &aWood Tar&r.\n\nAnother product is &aBiomass&r, which is more pertinent for your progression as of this moment.", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 6dcea55e3..c510ba1e4 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1752,7 +1752,7 @@ "quests.development.hull_mv.desc.2": "&l&3余談:&r&oOmnifactoryとかの以前のGregでは、この回路ラインは&9Refined&rと呼ばれてて、もっと上位のティアのように標準化されていたらしいよ。", "quests.development.hull_hv.title": "&bMV&rおよび&6HV&rで作成可能", "quests.development.hull_hv.subtitle": "カントリーマアムと同じ道を辿っています", - "quests.development.hull_hv.desc": "&eマイクロ&r回路からは、&3クリーンルーム&rが必要になってきます。\n\n&aメインフレーム&rには&3発展型回路組立機&rが必要になるので注意してください。", + "quests.development.hull_hv.desc": "&eマイクロ&r回路からは、&3クリーンルーム&rが必要になってきます。\n\n&aメインフレーム&rには&3HV回路組立機&rが必要になるので注意してください。", "quests.development.hull_ev.title": "&5EV&rで作成可能", "quests.development.hull_ev.subtitle": "ここまで小さくなりました", "quests.development.hull_ev.desc": "これは&9ナノ&r回路ラインです。\n\n作成するには&b宇宙&rに進出する必要があります。\n\nここからは、回路の進捗は次のパターンになります。\n\n&9-&rプロセッサー\n&9-&r演算処理装置\n&9-&rスーパーコンピュータ\n&9-&rメインフレーム", @@ -1801,7 +1801,7 @@ "quests.extreme_voltage.nuclear_turbine.desc": "With Fission, you gain access to a brand new &6Dedicated Turbine&r! (The normal Large Steam Turbine can only handle regular Steam.)\n\nIt works just like the previous turbines, but similar to the Gas Turbine, it requires at least an &5EV Rotor Holder&r to operate.\n\nThe coils inside this turbine must be &7Cupronickel&r, and they don’t affect performance in any way (but we have to admit, they look pretty good).\n\nIn this quest, we suggest two &aRotors&r that fit nicely for the turbine at this stage, but feel free to experiment and use any &brotor&r that suits your setup best.", "quests.extreme_voltage.reactor_components.title": "Reactor Heat Management", "quests.extreme_voltage.reactor_components.subtitle": "Active and Passive ways to cool your reactor", - "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Item Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Item Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", + "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Material Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Material Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", "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!", @@ -1812,7 +1812,7 @@ "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.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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", + "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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Smelting Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", "quests.extreme_voltage.important_info.desc.2": "When it comes to your Martian infrastructure, there are two main approaches:&r\n\n• &aPreparation-focused&r: Build everything required for your full &6Fission Line&r before establishing your base. This means an enormous material investment, but allows you to be self-sufficient once operational.\n\n• &aProgressive setup&r: Start smaller with your &6Nuclear Fuel Factory&r, your first &6Fission Reactor&r (running on &eThorium&r), and a &6Nuclear Turbine&r. This route is faster to start, but managing energy will be rough until your fission system stabilizes.\n\nEither way, we always recommend having an exploration mission before you start settling down!", "quests.extreme_voltage.important_info.desc.3": "Because every kind of combustion-based energy won't work on Mars, you’ll want to bring a good stock of &bLapotron Crystals&r to power your first recipes and oxygen systems.\n\nWe also strongly recommend setting up a &6Distillation Tower&r. &eMartian Air&r can be processed into breathable &bAir&r and several other useful gases. Alternatively, everything for Compressed Nitrox can come from the local Semiheavy Ammoniacal Water.\n\nSurvival on Mars isn’t about luck, it’s about preparation!", "quests.extreme_voltage.important_info.task": "It's Marsing Time", @@ -1841,7 +1841,7 @@ "quests.extreme_voltage.uranium_line.desc": "To process &eUranium&r and its &eUranium 235&r &eIsotope&r, you’ll need to set up a dedicated small processing line. \n\nRest assured, you can &aloop the Fluorine&r, so the only input you’ll need is &eUraninite Dusts&r.\n\nYou can build this line on Earth, but it may be more convenient to operate it on Mars, where the majority of Uraninite Ore should be harvested.", "quests.extreme_voltage.radioactive_waste.title": "Radioactive Waste", "quests.extreme_voltage.radioactive_waste.subtitle": "One man's trash is another man's progression material", - "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super chest with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", + "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super Tank with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", "quests.extreme_voltage.uranium_rod.subtitle": "Finally, some real power!", "quests.extreme_voltage.uranium_rod.desc.1": "This is the second-generation reactor fuel - it offers &a4× more durability&r and produces &a5× more steam&r compared to a standard &eThorium Rod&r. However, there are important trade-offs you must plan for.\n\n&9Production cost and setup:&r\n• Producing this fuel consumes &eThorium Rods&r continuously, so it’s recommended to dedicate a separate &6Fission Reactor&r for each of these advanced rods, although if you're up for the challenge of juggling them in one reactor, that's an option too.", "quests.extreme_voltage.uranium_rod.desc.2": "Heat and mitigation options: A single Uranium Fuel Rod generates about &c435 Heat&r inside a standard reactor, far above the default limit. To handle this you have three main options:\n\n&7→&r &eInstall 20 Framed Glacial Wool&r blocks inside the reactor to raise &cMax Heat&r to &e440&r, allowing one rod to run safely.\n\n&7→&r &6Use Material Holders&r and pump large quantities of &bDry Ice&r to drop the reactor temperature. This requires a robust infrastructure and access to a &bLiquid CO2 fluid vein&r on Mars.\n\n&7→&r &bUse Refrigerant Pellets&r placed in Material Holders. They behave like Dry Ice but are far more potent. Note that Refrigerant Pellets consume a decent amount of &eFluorine&r to craft, and you do not have infinite Fluorine at this point.\n\nObviously, you can also make your own sauce and mix all of these options together.", @@ -2169,100 +2169,100 @@ "quests.gregtech_energy.fission_reactor.desc.6": "これで核分裂炉を運用する際の事前知識は揃いました。それでは、具体的にどのようなレシピを実行できるのか確認しましょう。&d核分裂炉MK_I&rを&eEMI&rで調べると、3つのレシピが表示されます:\n\n&e1)&rFission_Reactor&7(対応している燃料と冷却液の一覧)&r\n&e2)&rFission_Heat_Processing&7(例:EBFのような高温処理)&r\n&e3)&rFission_Products&7(燃料が使い切られたときの副産物)&r\n&e4)&rマルチブロック情報\n\nそれぞれの&a燃料&rは特定の&9冷却液&rとしか組み合わせられないため、対応関係をよく確認してください。\nまた燃料棒が寿命を迎えると、新たな元素へと遷移します。\n\n一方で、処理レシピは十分な温度があれば燃料の種類に関係なく動作します。", "quests.gregtech_energy.fission_reactor.desc.7": "簡略化した計算は次の通りです。十分な量の冷却液と&cHeat:100%&rの燃料棒を使用すると、炉内は約&c200&rの温度に達します。これはHeatレベル、または単に「Heat」とも呼ばれます。&d2&r本の&c100%&r燃料棒を使用することは、&d1&r本の&c200%&r燃料棒を使用するのと同じで、どちらも約&c400&rのHeatを生み出します。\n\nこれは燃料棒が1本あたり&6200HU/t&r(Heat_Units)を生成するためです。冷却液は&c1&r度あたり&61HU/t&rの熱を吸収できます。\n\n炉の耐熱上限が&c190&rの場合、&c100%&rの燃料棒でも過熱状態になってしまいます。これを回避するには、コンポーネントを追加して耐熱上限を上げるか、あるいは&d冷却材&rを使用します。使う冷却材によって冷却性能は異なります。", "quests.gregtech_energy.fission_reactor.desc.8": "たとえば、レシピの温度が&c100K&rで、影響が&6Heat:-10HU/t&rの場合、炉の温度が&c190&rのときに&619HU/t&r分だけ冷却することができます。\n\nこれにより、炉をより低い最大温度で稼働させ、過熱を防ぐことが可能になります。温度が&c100&r未満の場合、EBFのレシピと同様に稼働しません。\n\n今お教えできるのはここまでです。さらなる研究や改良が進んだら、ぜひまた戻ってきてください。&e核エンジニアの同胞より&r", - "quests.high_voltage": "&6HV&r - High Voltage", - "quests.high_voltage.subtitle": "Upgrade your power, learn about the Cleanroom, make more chemicals, and get ready for Space", - "quests.high_voltage.energium_crystals.title": "Super Batteries", - "quests.high_voltage.energium_crystals.subtitle": "Science-fiction batteries!", - "quests.high_voltage.energium_crystals.desc": "&aEnergium Crystals&r store a significant amount of &9EU&r. They're also arguably cheaper.", - "quests.high_voltage.autoclave.title": "HV Autoclave", - "quests.high_voltage.autoclave.subtitle": "Home-grown batteries", - "quests.high_voltage.autoclave.desc": "The &3HV Autoclave&r - despite being optional - is a machine you'll definitively want to grab.\n\nThis unlocks unique Batteries that are &6far superior&r to their standard counterparts.", - "quests.high_voltage.chem_bath.title": "High Voltage Bathing", - "quests.high_voltage.chem_bath.subtitle": "Please don't bathe with your toaster...", - "quests.high_voltage.chem_bath.desc": "The &3HV Chemical Bath&r is used to &ddye Lenses&r using &aChemical Dye&r. This will let you engrave more types of Wafers, and cool other kinds of Hot Ingots.", - "quests.high_voltage.maintenance_hatches.title": "Advanced Maintenance", - "quests.high_voltage.maintenance_hatches.subtitle": "I have become maintenance, eater of tape", - "quests.high_voltage.maintenance_hatches.desc.1": "You now have access to two &3new Maintenance Hatches&r. Both hatches &6do not require Maintenance&r when first placed in a Multiblock.\n\nThe &3Automatic Maintenance Hatch&r is pretty simple - it eliminates the need for Maintenance, &6forever&r.\n\nThe &3Configurable Maintenance Hatch&r is more interesting. You can configure it to cut off &a10%% duration&r on recipes, at the cost of making Maintenance happen three times as fast. That is &d16 real hours&r of activity. Additionally, you can use it on Multiblock Generators to increase the duration of the recipe, which indirectly increases their fuel efficiency by 10%!\n\n&9Reminder:&r You can put Tape in the maintenance Hatch to automatically fix problems.", - "quests.high_voltage.maintenance_hatches.desc.2": "&l&3Lore:&r&o The Automatic Maintenance Hatch texture and mechanic comes from TecTech, an addon mod originally made for GregTech: New Horizons.\n\n&oYou'll see more from TecTech if you stick with us with the late game.", - "quests.high_voltage.hv_components.title": "High Voltage Components", - "quests.high_voltage.hv_components.subtitle": "We call this \"fun\"", - "quests.high_voltage.hv_components.desc.1": "Just like &bMV&r, you'll need to make higher-tier components.\n\nThe painful &dFlawless Gems&r have been replaced with slightly-more-painful &dVitrified Ender Pearls&r. Also notice that the &aMotors&r require &d2x Silver Cables&r.\n&aHulls&r and &aMachines&r use &dGold Cables&r.\n\nFinally, a use for that stockpile of Gold!", - "quests.high_voltage.hv_components.desc.2": "&9&lTips to make life less painful:&r\n\n- Use &dElectrotine decomposition&r and &dOre Processing&r for &eElectrum&r.\n- Use the &3Chemical Bath&r with &dMercury&r for &eGold&r and &eSilver&r from a wide variety of ores.", - "quests.high_voltage.assembler.title": "HV Assembling Machine", - "quests.high_voltage.assembler.desc": "The &3HV Assembler&r is the next step in progression, but also unlocks a handful of useful utilities - check around this quest for more.\n\nYou will need this &6HV Assembler&r to make your &dRocket&r.", - "quests.high_voltage.lenses.title": "I see the world in colour", - "quests.high_voltage.lenses.desc": "The &aSimple System on Chip&r will be used for the best &dULV Circuit&r recipe.\n\nWe'd also recommend going out of your way to make all the other useful colored Lenses ahead of time. They are listed here in an &eoptional&r task.", - "quests.high_voltage.ulv_circuits.title": "Best ULV circuits!", - "quests.high_voltage.ulv_circuits.desc": "&8ULV&r Circuits are used in some &9AE2&r recipes and &aCreate&r recipes.", - "quests.high_voltage.hv_energy_hatch.title": "Upgrade your EBF II", - "quests.high_voltage.hv_energy_hatch.subtitle": "Noticing a pattern here?", - "quests.high_voltage.hv_energy_hatch.desc": "The &aLow Power Integrated Circuit&r requires an &3HV Cutting Machine&r inside your &3Cleanroom&r.\n\n&3HV Energy Hatches&r will be nice additions so you can run your Multiblocks (mainly your Electric Blast Furnace and Large Chemical Reactor) directly off a &6HV&r line.", - "quests.high_voltage.chem_reactor.title": "High Voltage Chemistry", - "quests.high_voltage.chem_reactor.desc": "The &3HV Chemical Reactor&r unlocks a ton of new recipes. Ah, who doesn't love the ever-growing demand on more advanced Chemistry?\n\n&9Note:&r We've actually unlocked a ton of new content by reaching &6HV&r. However, not every processing line or item is crucial right now. It'd make the &6HV&r chapter far too dense if we included everything!\n\nYou could still check out the &5EV&r Chapter if you want to push yourself.", - "quests.high_voltage.rutile_loop.title": "Almost Titanium", - "quests.high_voltage.rutile_loop.subtitle": "...means it WASN'T Titanium!", - "quests.high_voltage.rutile_loop.desc": "Titanium requires a slightly more &binvolved&r process than the previous materials to process. To get started, you'll need &aRutile&r, which can be obtained by processing &aBauxite&r, &aIlmenite&r, &aAluminium&r, &aArmalcolite&r and &aDesh&r, which can only be found on &dThe Moon&r.\n\nOnce you've gotten enough &5Rutile&r, your journey to &6Titanium&r continues in the next quest. There's no need to rush things.\n\n&9Tip:&r Ore processing for &aBauxite&r is ridiculously good! Including the &3Thermal Centrifuge&r step easily &6triples&r your &aRutile&r yield.", - "quests.high_voltage.rutile_loop_2.title": "Almost Titanium²", - "quests.high_voltage.rutile_loop_2.subtitle": "Is it titanium yet?", - "quests.high_voltage.rutile_loop_2.desc.1": "To get your grubby hands on some Titanium, &aRutile&r must first be reduced to &aTitanium Tetrachloride&r in an &3HV Chemical Reactor&r, then reduced again in an &3EBF&r with &dMagnesium&r to finally arrive at Titanium.\n\nThe &dCarbon&r, &dChlorine&r, &dOxygen&r, and &dMagnesium&r used in the process can be &6perfectly recovered&r from the byproduct &dCarbon Monoxide&r and &dMagnesium Chloride&r with no loss. If you set up a system to recover them, &athe only material&r that you'll need to provide for Titanium is &dRutile&r!", - "quests.high_voltage.rutile_loop_2.desc.2": "&aTitanium Tetrachloride&r also acts as a catalyst in the production of plastics. A touch of &aTiCl₄&r in the polymerisation process can increase the polymer yield to &6133%%&r&r. Naturally, this is completely optional.", - "quests.high_voltage.superconductors.title": "HV Superconductors", - "quests.high_voltage.superconductors.desc": "By this point, normal Cables have such insignificant loss that superconductors aren't a requirement. That being said, they're still useful for being able to split and combine cables on the fly, and these ones are half oxygen so they're cheap too!\n\nSuperconductors are still required to craft &aField Generators&r.", - "quests.high_voltage.nichrome_coils.title": "Nichrome Coils", - "quests.high_voltage.nichrome_coils.subtitle": "A long way to go before we beat the Sun", - "quests.high_voltage.nichrome_coils.desc.1": "&3Nichrome Heating Coils&r increase the temperature of your &3Blast Furnace&r to &d3,600K&r.\n\nDespite not being required &oyet&r, it still is a good idea to upgrade your primary &3EBF&r for those sweet, sweet &6Coil bonuses&r.", - "quests.high_voltage.nichrome_coils.desc.2": "&l&3Lore:&r&o In the original GregTech 5, there were only three types of coils. This was the last tier.", - "quests.high_voltage.titanium.title": "Titanium", - "quests.high_voltage.titanium.desc": "&aTitanium&r has the highest corrosion resistance and strength-to-density ratio of any metallic element, so it's only natural that we'll be using it as the main material in our &5EV&r machinery.\n\nConfirm that your closed loop for &aRutile&r is up to standard, and prepare to run a dedicated &3EBF&r for hours.\n\nA quick aside - now we're at &5EV&r, single block generators are about to fall out of style! You'll need to run several &3HV Generators&r to keep up - later, upgrades to Multiblock Generators will be required.\n\nWhile Multiblock generators are much more expensive, you'll find them to be much more energy efficient! Have a look at the &dEnergy Chapter&r for more infos!", - "quests.high_voltage.vacuum_freezer.title": "Ice Cold", - "quests.high_voltage.vacuum_freezer.subtitle": "Did you know vacuums actually make things hotter?", - "quests.high_voltage.vacuum_freezer.desc": "The &3Vacuum Freezer&r is a multiblock used to cool down &eHot Ingots&r. All ingots made in the EBF with a temperature above &d1750K&r will need it.\n\nMost of the time, your &3Electric Blast Furnace&r will be the bottleneck, so you don't need to worry about overclocking your freezer.\n\nSince &eHot Ingots&r &churt you&r when held, item routing will be very useful.", - "quests.high_voltage.mv_superconductors.title": "MV Superconductors", - "quests.high_voltage.mv_superconductors.desc": "&a4A&r of &bMV&r energy transmission may be appealing, but you probably don't need these at this point. The option is always there if you need it.", - "quests.high_voltage.circuit_assembler.title": "HV Circuit Assembler", - "quests.high_voltage.circuit_assembler.subtitle": "You will need the Cleanroom before you can craft this one", - "quests.high_voltage.circuit_assembler.desc": "The next &3Circuit Assembler&r. This tier of Circuit Assembler is only required for one type of Circuit - your first ever &aMainframe&r. You may have only one use for them, the &5EV Circuit Assembler&r.\n\nYou can put this off until &5EV&r or simply just use it for faster circuits making.", - "quests.high_voltage.microprocessor_mainframe.title": "Mainframes - first IV Circuits!", - "quests.high_voltage.microprocessor_mainframe.desc": "The first &1IV&r circuit. Congratulations on making it this far!\n\nThis will be used when you get to &5EV&r, or you can use it right now to craft an Advanced Nanosuit Chestplate, a big upgrade to your jetpack!.\n\n&l&3Lore:&r&o The original texture for the Mainframes was taken from an image of an IBM zEnterprise mainframe.", - "quests.high_voltage.cleanroom.title": "The Cleanroom", - "quests.high_voltage.cleanroom.subtitle": "They put me in a room... a clean room", - "quests.high_voltage.cleanroom.desc.1": "The &3Cleanroom&r is a hollow multiblock free of contaminants. Going forward, most new âuit-related recipes&r, as well as some unique blocks like &3Fusion Casings&r, will need to be run in machines inside a Cleanroom.\n\nCreating it will put your &aPolyethylene&r automation to the test for all the &dPlascrete&r and/or &dCleanroom Glass&r you will make.\n\nWe'll start you off with a 5x5x5 Cleanroom, but you should upgrade its size when you start feeling cramped.", - "quests.high_voltage.cleanroom.desc.2": "&l&3Lore:&r&o The Cleanroom comes from GregTech 5, but as is often the case, the GT5 implementation is much more punishing. The recipes would run without regard to cleanliness, but had a %% chance of completion equal to the cleanliness of the Cleanroom. This caused a lot of accidental voiding.\n\n&oFurthermore, if the Cleanroom had a maintenance issue, the cleanliness would cap out at 90%%, which means 10%% of items would be voided.\n\n&oThe GTCEu Cleanroom will &6never void&f recipe outputs.", - "quests.high_voltage.prospector.title": "HV Prospector", - "quests.high_voltage.prospector.desc.1": "This prospector boasts a &6higher range&r than its &7LV&r counterpart.\n\nSneak right-clicking with the Prospector in your hand will change its mode to &6Fluid Vein Mode&r. This will instead display the base &dyield&r of Fluid veins, along with how full they are.\n\nThis will be really useful to find &9Helium-3&r and &9Bedrock Veins&r on the moon.", - "quests.high_voltage.prospector.desc.2": "&9Reminder:&r The yield of a &3Fluid Drilling Rig&r is directly proportional to the \"fullness\" of the vein. When low enough, the output will default to a yield that can be defined in the CEu config.\n\n&9Tip:&r When the fullness drops below 30%% (alright, rough estimate), you should consider moving to another vein for the sake of power-to-yield efficiency. Aiming for the &3Advanced Fluid Drilling Rig&r in &5EV&r may interest you, as not only does it significantly boost the output, but it also reduces the rate at which it drains the vein!\n\n&cCaution:&r Due to a bug, the Prospector display may be offset by one chunk, so avoid placing your Rig in the corners of a fluid vein, or you may end up pumping the wrong fluid!", - "quests.high_voltage.fluorine.title": "Fluorine", - "quests.high_voltage.fluorine.subtitle": "Have you brushed your teeth today?", - "quests.high_voltage.fluorine.desc": "Fluorine is the rarest gas to obtain from electrolysis in this game.\n\nYou can obtain it from &aLepidolite&r, &aBastnatite&r, and &aMica&r, but the best source is from &aTopaz&r.", - "quests.high_voltage.ptfe.title": "Polytetrafluoroethylene", - "quests.high_voltage.ptfe.subtitle": "A.K.A - Teflon", - "quests.high_voltage.ptfe.desc": "&aPolytetrafluoroethylene (PTFE)&r is a &7Carbon&r-&bFluorine&r polymer. Similarly to PVC, PTFE can be used to increase the yield of Plastic Circuit Boards and other crafts. Presently, it is used to make the walls of &3Large Chemical Reactors&r.\n\n&3Chlorine&r is required in the process, which is fully recycled if you electrolyze the &aHydrochloric Acid&r waste.\n\n&bFluorine&r will also be used in the &aUranium&r and &7Naquadah&r refinement processes.\n\n&9Tip:&r From this point onwards, you should be solidifying Polymers as &dBar&r (Ingot) form, as they can easily be shaped to whichever form you will need using the &3Extruder&r.", - "quests.high_voltage.nitrobenzene.title": "Benzene Nitro", - "quests.high_voltage.nitrobenzene.desc": "Making &aNitrobenzene&r will boost the energy efficiency of &aBenzene&r roughly &6fourfold&r. You love to see it.\n\nThe catch here is that it takes &dDistilled Water&r, and consumes a bit of &dSulfur&r with every step.", - "quests.high_voltage.lcr.title": "Large Chemical Reactor", - "quests.high_voltage.lcr.desc.1": "The &3Large Chemical Reactor (LCR)&r is a multiblock &3Chemical Reactor&r with more input/output slots. Its Teflon casings allow it to process extra recipes.\n\nThe &3LCR&r can perform some exclusive reactions which allow you to combine multiple normal &3Chemical Reactor&r steps into a &6single step&r. Examples below:\n\n&9-&r &aNitrogen Dioxide&r (for Nitric Acid and Dinitrogen Tetroxide)\n&9-&r &aSulfuric Acid&r\n&9-&r &aPhenol&r\n&9-&r &aEpichlorohydrin&r (you need it for Epoxy!)\n&9-&r &aEpoxy&r", - "quests.high_voltage.lcr.desc.2": "There are also &3LCR&r exclusive recipes. For example, &dRadon&r can only be made in the LCR right now.\n\nAll &dOverclocks&r in the &3LCR&r are &6100%% efficient&r (known as Perfect overclocks); each overclock will &5quadruple the speed&r, as opposed to doubling it.\n\nThe &3LCR&r has yet another &6advantage&r. You can use &32 Energy Hatches&r to allow it to run recipes of the &5next tier&r, similar to the &3Electric Blast Furnace&r.", - "quests.high_voltage.lcr.desc.3": "&9Tip:&r Given the amount of LCRs you may end up using, why not try utilising &dwallsharing&r to its full potential?\n\nYou could share one 2A (standard) &3Energy Hatch&r between 2 LCRs.\n\nYou might want to share &3Input/Output Hatches&r, but make sure each LCR is running the correct recipe.\n\nKeep in mind Maintenance hatches are not sharable.", + "quests.high_voltage": "&6HV&r - 高電圧時代", + "quests.high_voltage.subtitle": "さぁ、月へ出かけよう", + "quests.high_voltage.energium_crystals.title": "スーパーバッテリー", + "quests.high_voltage.energium_crystals.subtitle": "すこしふしぎなバッテリー", + "quests.high_voltage.energium_crystals.desc": "&aエネルギークリスタル&rには大量の&9EU&rを蓄えることができます。比較的低コストで作成できます。", + "quests.high_voltage.autoclave.title": "HVオートクレーブ", + "quests.high_voltage.autoclave.subtitle": "自家製バッテリー", + "quests.high_voltage.autoclave.desc": "&3発展型オートクレーブII&rは必須ではありませんが、ぜひ作っておきたい機械です。\n\nこれを使えば、通常のものより&6格段に性能の高い&r特別なバッテリーを作れるようになります。", + "quests.high_voltage.chem_bath.title": "HV化学槽", + "quests.high_voltage.chem_bath.subtitle": "レンズのための冒険はおしまい", + "quests.high_voltage.chem_bath.desc": "&3発展型化学槽II&rは、&a化学染料&rを使ってレンズを&d着色する&rことができます。これによって、扱えるウェハーの種類が増えます。そのほかの用途として、熱いインゴットの冷却にも利用できます。", + "quests.high_voltage.maintenance_hatches.title": "上位版メンテナスハッチ", + "quests.high_voltage.maintenance_hatches.subtitle": "放任か過保護か", + "quests.high_voltage.maintenance_hatches.desc.1": "新たに2種類の&3メンテナンスハッチ&rが使えるようになりました。どちらも設置直後は&6メンテナンス不要&rなのが特徴です。\n\nまず、&3自動メンテナンスハッチ&rはとてもシンプルで、一度設置すれば&6永遠にメンテナンスが不要&rになります。\n\nもう一方の&3制御可能なメンテナンスハッチ&rは少し特殊で、設定によってレシピの処理時間を&a10%短縮&rできますが、その代償としてメンテナンスの発生が3倍の速度になります(現実時間で約&d16時間&r稼働します)。さらに、マルチブロック発電機に使うことで、レシピの動作時間を延ばして燃料効率を10%向上させることもできます。\n\n&9補足:&rメンテナンスハッチにテープを入れておくと、問題が発生しても自動で修理してくれます。", + "quests.high_voltage.maintenance_hatches.desc.2": "&l&3余談:&r&o 自動メンテナンスハッチの見た目と機能は、GregTech:New_Horizons用のアドオンMod「TecTech」から取り入れたものです。\n\n&o終盤に入ると、TecTechの要素がさらに登場しますのでお楽しみに。", + "quests.high_voltage.hv_components.title": "HV機械部品", + "quests.high_voltage.hv_components.subtitle": "ただの中間素材だと油断できなくなってきました", + "quests.high_voltage.hv_components.desc.1": "&bMV&rのときと同じように、また上位の機械部品を作る必要があります。\n\nこれまでは&d傷のない宝石&rを使っていましたが、今度は&dガラス化したエンダーパール&rを使います。&aモーター&rには&d2倍銀ケーブルが2本&r必要になります。\n&aマシン筐体&rや&a各種機械&rなどには&d金ケーブル&rが必要になります。\n\nようやく、貯め込んでいた金の使い道ができましたね!", + "quests.high_voltage.hv_components.desc.2": "&9&l暮らしの知恵:&r\n\n-&dエレクトロチン&rを分解したり、&d鉱石処理&rを行うことで&eエレクトラム&rを効率よく入手できます。\n-&3化学槽&rで&d水銀&rを使えば、さまざまな鉱石から&e金&rや&e銀&rを抽出できるのでとても便利です。", + "quests.high_voltage.assembler.title": "HV組立機", + "quests.high_voltage.assembler.desc": "&3発展型組立機II&rは、技術の発展のために欠かせない重要な機械です。いくつかの便利な装置や機能もアンロックされるので、このクエスト周辺もチェックしてみてください。\n\n&dロケット&rの製作にも、&6HV組立機&rが必須になります。", + "quests.high_voltage.lenses.title": "新しいレンズ", + "quests.high_voltage.lenses.desc": "&aSoCチップ&rは、最高効率の&dULV回路&rレシピで要求されます。\n\nまた、他の色のレンズも、後々必要になるので今のうちに全種類作っておくのがおすすめです。これらはこのクエスト内の&e任意タスク&rとして一覧で確認できます。", + "quests.high_voltage.ulv_circuits.title": "最適化されたULV回路", + "quests.high_voltage.ulv_circuits.desc": "&8ULV&r回路は、&9AE2&rや&aCreate&r関連の一部レシピで要求される重要な素材です。", + "quests.high_voltage.hv_energy_hatch.title": "EBFをEBF IIにしよう", + "quests.high_voltage.hv_energy_hatch.subtitle": "EBF2ではさらに多くのレシピが登場", + "quests.high_voltage.hv_energy_hatch.desc": "&aLPICチップ(Low Power Integrated Circuit)&rを製作するには、&3クリーンルーム&r内で&3HV裁断機&rを使う必要があります。\n\nまた、&3HVエネルギーハッチ&rを取り付けることで、&6HV&rラインから直接マルチブロック(特にEBFや大型化学反応炉)を動かせるようになります。", + "quests.high_voltage.chem_reactor.title": "HV化学反応器", + "quests.high_voltage.chem_reactor.desc": "&3発展型化学反応器II&rを使えるようになると、大量の新レシピが解禁されます。どんどん複雑になっていく化学工程――嫌いじゃないですよね?\n\n&9補足:&r &6HV&rに到達したことで、できることが一気に増えましたが、今の時点ですべてに手を出そうとする必要はありません。全てを網羅した場合、この章には収まりきらないですよ!\n\n余裕がある方やさらに先を目指したい方は、&5EV&rの章もチェックしてみましょう。", + "quests.high_voltage.rutile_loop.title": "ほぼチタニウム", + "quests.high_voltage.rutile_loop.subtitle": "早くチタニウムになりたい!", + "quests.high_voltage.rutile_loop.desc": "チタンの精製には、これまでの金属たちよりも少し&b手の込んだ&r工程が必要になります。\n\nまずは&aルチル&rを集めましょう。&aボーキサイト&r、&aチタン鉄鉱&r、&aアルミニウム&r、&aアーマルコライト&r、または&aデッシュ&r鉱石を処理することで入手できますが、これらはほとんど&d月&rでしか見つかりません。\n\n十分な&5ルチル&rを集めたら、&6チタン&rへの本格的な製造がはじまります。詳細は次のクエストで。焦らず準備を整えてください。\n\n&9Tips&r &aボーキサイト&rの鉱石処理は非常に効率が良く、&3熱遠心分離機&rを使えば&aルチル&rの産出量を&63倍&rに増やすことができます。", + "quests.high_voltage.rutile_loop_2.title": "ほぼほぼチタニウム", + "quests.high_voltage.rutile_loop_2.subtitle": "本当にこれでチタニウムになれるんですか?", + "quests.high_voltage.rutile_loop_2.desc.1": "チタンを作るには、まず&aルチル&rを&3HV化学反応器&rで&a四塩化チタン&rに変換し、次に&3EBF&rで&dマグネシウム&rと反応させて還元し、チタンを得ます。\n\nこの過程で使う&d炭素&r、&d塩素&r、&d酸素&r、そして&dマグネシウム&rは、副産物の&d一酸化炭素&rや&d塩化マグネシウム&rから&6完全に還元&rできるため、損失は一切ありません。循環システムをうまく組めば、実質的にチタンの原料として必要なのは&aルチル&rだけになります!", + "quests.high_voltage.rutile_loop_2.desc.2": "&a四塩化チタン&rは、プラスチック生成時の触媒としても利用できます。詳しく説明すると、重合反応に少しだけ&aTiCl₄&rを加えることで、ポリマーの生成量を&6133%&r&rまで高めることができます。もちろん、必須の工程ではありません。", + "quests.high_voltage.superconductors.title": "HV超伝導体", + "quests.high_voltage.superconductors.desc": "この段階になると、通常のケーブルでも損失がほとんどないため、超伝導体は必須ではありません。ただし、ケーブルを自由に分岐・結合できる利便性があり、またこの金属は原材料の半分が酸素でできているため比較的安価に作れます。\n\nどちらにせよ、&a空間発生器&rの製作には超伝導体が必要なので、いずれは用意しておきましょう。", + "quests.high_voltage.nichrome_coils.title": "ニクロムコイル", + "quests.high_voltage.nichrome_coils.subtitle": "輝くあの星を目指して", + "quests.high_voltage.nichrome_coils.desc.1": "&3ニクロムコイル&rを使うことで、&3EBF&rの最高温度を&d3,600K&rまで上げることができます。\n\n現時点では&o必須ではありません&rが、メインの&3EBF&rをアップグレードしておくと、&6コイルボーナス&rによる性能向上を実感できるのでおすすめです。", + "quests.high_voltage.nichrome_coils.desc.2": "&l&3余談:&r&o元のGT5だと、コイルが3種類しかなくて、このニクロムコイルが一番上のだったんだよ。これで。", + "quests.high_voltage.titanium.title": "チタニウム", + "quests.high_voltage.titanium.desc": "&aチタン&rは、全金属の中でも最高の耐食性と強度対重量比を誇る優れた素材です。そのため、&5EV&rでは主要素材として使用することになります。\n\n&aルチル&rの再利用ループがしっかり機能しているか確認し、専用の&3EBF&rを安定稼働させる準備を整えましょう。\n\nちなみに、&5EV&rに到達すると小型発電機は時代遅れになります。最初は複数の&3HV発電機&rを併用して電力を確保する必要があり、いずれは大型発電機への切り替えが必須になります。\n\n大型発電機は作るのに手間がかかりますが、その分&6非常に高効率&rです。詳しくは「&dGregTechの電力システム&r」の章を確認してみましょう。", + "quests.high_voltage.vacuum_freezer.title": "冷却", + "quests.high_voltage.vacuum_freezer.subtitle": "本当は真空状態だと熱くなるって知ってた?", + "quests.high_voltage.vacuum_freezer.desc": "&3真空冷却機&rは、&e熱いインゴット&rを冷却するためのマルチブロック装置です。EBFで&d1750K&r以上の温度から作られるインゴットは、すべてこの装置で冷却する必要があります。\n\nたいてい、この工程は&3EBF&rでの工程よりも時間がかかることはないので、真空冷却機をオーバークロックする必要はほとんどありません。\n\n&e熱いインゴット&rは手に持つと&c火傷する&rので、自動運搬機構を使って安全に自動的に処理するのがおすすめです。", + "quests.high_voltage.mv_superconductors.title": "MV超伝導体", + "quests.high_voltage.mv_superconductors.desc": "&a4A&rの&bMV&r電力を送れる性能は魅力的ですが、今の段階では特に必要ありません。もちろん、作ったってかまいませんよ。", + "quests.high_voltage.circuit_assembler.title": "HV回路作成機", + "quests.high_voltage.circuit_assembler.subtitle": "まずはクリーンルームを用意しましょう", + "quests.high_voltage.circuit_assembler.desc": "新しい型の&3回路作成機&rです。&aマイクロプロセッサーメインフレーム&r(最も初歩的なIV回路)を作るために必要になります。主に&5EV回路作成機&rのために使います。\n\n実のところ、今すぐ作る必要はなく、&5EV&rをある程度進めるまで後回しにしても問題ありません。もちろん、回路製作を高速化したい場合は先に導入しても良いでしょう。", + "quests.high_voltage.microprocessor_mainframe.title": "メインフレーム - 初のIV回路!", + "quests.high_voltage.microprocessor_mainframe.desc": "初の&1IV&r回路です。ここまで到達したこと、本当におめでとうございます!\n\nこの回路は主に&5EV&r段階で使うことになりますが、今のうちに&aアドバンスドナノスーツチェストプレート&rを作って、ジェットパックを大幅に強化することも可能です。\n\n&l&3余談:&r&oメインフレームのテクスチャは、実在するIBMのzEnterpriseメインフレームの画像をもとにしています。", + "quests.high_voltage.cleanroom.title": "クリーンルーム", + "quests.high_voltage.cleanroom.subtitle": "あなたは白い部屋が好きですか?", + "quests.high_voltage.cleanroom.desc.1": "&3クリーンルーム&rは、内部の空間を清潔に保つマルチブロックです。これから先、ほとんどの&a回路関連レシピ&rや、&3核融合炉マシン外装&rなどの特殊なブロックは、クリーンルームの中でしか作れなくなります。\n\n建設には大量の&dプラスクリート&rや&dクリーンルームガラス&rが必要になるため、&aポリエチレン&rの量産体制を整える必要があります。\n\n最初は5x5x5の基本的なクリーンルームから始めましょう。窮屈に感じ始めたら、どんどん拡張していけばいいのです。", + "quests.high_voltage.cleanroom.desc.2": "&l&3設定資料:&r&oクリーンルームの仕組みはGT5から引き継がれたものなんだけど、その頃は今よりもずっと大変な仕様だったんだ。清潔度に関係なくクラフトはできたんだけど、クリーンルームの清浄度に比例して完成確率が変わってたから、ちゃんとしてないとアイテムが消えたりしたんだよ!\n\n&oあと、クリーンルームにメンテナンスされてないと清潔度の上限が90%に制限されるから、いつのまにか10%の確率で成果物が消えるようになったりしてたんだ。理不尽だね。\n\n&oGTCEu版のクリーンルームなら、アイテムが&6消失&fすることはまずないから安心してね。", + "quests.high_voltage.prospector.title": "発展型電動探知機", + "quests.high_voltage.prospector.desc.1": "この探知機は、&7LV&r版よりも&6探知範囲が広がっています&r。さらに、新しい機能も追加されています。\n\n探知機を手に持った状態でスニーク右クリックすると、モードが&6液体鉱脈モード&rに変わります。このモードでは液体鉱脈の&d埋蔵量&rが表示されます。\n\n月で&9ヘリウム3&rや&9岩盤鉱脈&rを見つけるときなどにも非常に役立ってくれるでしょう。", + "quests.high_voltage.prospector.desc.2": "&9注意:&r &3液体採掘機&rの出力量は鉱脈の「埋蔵量」に比例します。最終的に、出力はCEuコンフィグのデフォルトの量になります。\n\n&9Tips:&r埋蔵量が30%以下になった場合、電力効率を考えて採取場所を移した方が良いですよ。また&5EV&rから使うことができる&3発展型液体採掘機&rを目標にするのも良いでしょう。これにより出力が超大幅に増加し、鉱脈の消耗速度も低下します。\n\n&c注意:&rバグにより、探鉱機の表示が1チャンクずれることがあります。液体鉱脈の端で液体採掘機を稼働するのは避けてください。狙っていない液体を汲み上げてしまうかもしれません!", + "quests.high_voltage.fluorine.title": "フッ素", + "quests.high_voltage.fluorine.subtitle": "歯は磨いた?", + "quests.high_voltage.fluorine.desc": "フッ素は電解で確保できるガスの中で最も希少なものです。\n\n&aリチア雲母&r、&aバストネス石&r、&a雲母&rから得られますが、最良の供給源は&aトパーズ&rです。", + "quests.high_voltage.ptfe.title": "ポリテトラフルオロエチレン", + "quests.high_voltage.ptfe.subtitle": "またの名をテフロン", + "quests.high_voltage.ptfe.desc": "&aポリテトラフルオロエチレン(通称:PTFE)&rは、&7炭素&rと&bフッ素&rからなる高分子化合物です。PVCと同様に、PTFEはプラスチック製回路基板などの製作効率を向上させる用途に使えます。現在では、&3大型化学反応炉&rの素材としても使用されています。\n\nこの生成過程では&3塩素&rも要求されていますが、生成される&a塩化水素&rを電解すれば、&6完全にループ&rさせることができます。\n\n&bフッ素&rは、今後&aウラン&rや&7ナクアダ&rの精製にも使います。\n\n&9Tips:&rこれ以降は、ポリマー類は&dインゴット&rの形で保管しておくのがおすすめです。&3押出機&rを使って、簡単に成形できます。", + "quests.high_voltage.nitrobenzene.title": "ニトロベンゼン", + "quests.high_voltage.nitrobenzene.desc": "&aニトロベンゼン&rを作ると、&aベンゼン&rの燃料価が約&64倍&rに向上します。素晴らしいですね。\n\nただし、作るのには&d蒸留水&rが必要で、&d硫黄&rを消費します。", + "quests.high_voltage.lcr.title": "大型化学反応炉", + "quests.high_voltage.lcr.desc.1": "&3大型化学反応炉(通称:LCR)&rは、通常の&3化学反応器&rの大型機械であり、より多くの搬入・搬出スロットを備えています。外装にはPTFE(テフロン)が使われており、これによって通常の化学反応器では扱えないレシピも処理できます。\n\n&3LCR&rでは、一部の&3化学反応器&rのレシピを&6一気に処理することができます&r。以下がその例です:\n\n&9-&r&a二酸化窒素&r(硝酸や四酸化二窒素の製造用)\n&9-&r&a硫酸&r\n&9-&r&aフェノール&r\n&9-&r&aエピクロロヒドリン&r(エポキシ樹脂の製造に必要)\n&9-&r&aエポキシ&r", + "quests.high_voltage.lcr.desc.2": "&3LCR&rには専用レシピも存在します。たとえば、&d直留ガソリン&rはLCRでしか作ることができません。\n\nLCRの&dオーバークロック&rは完全に&6100%効率&r、いわゆる「パーフェクトオーバークロック」(POC)です。つまり、各段階で処理速度が&54倍&rずつ向上していきます(通常は2倍です)。\n\nさらにもう一つの&6利点&rとして、&32基のエネルギーハッチ&rを取り付けることで、&5上位電圧&rのレシピを利用できるようになります。これは&3EBF&rと同様の仕組みです。", + "quests.high_voltage.lcr.desc.3": "&9Tip:&r複数のLCRを使用することになる場合、&dマルチブロックの共有&rを最大限活用するのがおすすめです。\n\nたとえば、1つの&3エネルギーハッチ(2A)&rを2台のLCRで共有できます。\n\nまた、&3搬入・搬出ハッチ&rを共有することも可能ですが、その場合それぞれのLCRが正しく動作しているかを確認したほうが良いです。\n\nなお、メンテナンスハッチは共有できないので注意しましょう。", "quests.high_voltage.tnt.title": "TNT", "quests.high_voltage.tnt.task": "Any explosive", - "quests.high_voltage.tnt.desc.1": "Get ready to make some explosives, as they will be required for the &cImplosion Compressor&r. You have four options, from easy to hardest, but we advise you to work towards the &dIndustrial TNT&r whenever you can.", - "quests.high_voltage.tnt.desc.2": "&cTNT&r (Trinitrotoluene) can't be prepared with the usual Gunpowder and Sand anymore. Instead, you'll have to produce &aGelled Toluene&r and react it with Sulfuric Acid to make TNT.\n\nUsing the &3HV Chemical Reactor&r recipe will double the yield of &aGelled Toluene&r at the cost of requiring additional inputs.", - "quests.high_voltage.tnt.desc.3": "We don't have any easy tips to give you for &aToluene&r. It's going to be tricky no matter which route you take.\n\nThat being said, don't miss out on the direct &aHeavy Fuel&r to &aToluene&r recipe in the single block &3Distillery&r.\n\n&aToluene&r can also optionally be used in &5EV&r to make &dGasoline&r.\n\n&cTNT&r is used in the &3Implosion Compressor&r to make Gems. It also blows stuff up.", - "quests.high_voltage.ender_pearls.title": "Ender Pearls", - "quests.high_voltage.ender_pearls.subtitle": "Sci-fi gemstones, or something", - "quests.high_voltage.ender_pearls.desc": "You won't find any Endermen dropping Ender Pearls in TFG.\nEven the ones lurking in the Beneath won’t help you there.\n\nInstead, your only option for now is to craft them yourself:\n\nCombine &2Beryllium Dust&r and &2Potassium Dust&r in a &6HV&r Mixer to create the elusive &5Ender Dust&r.\n\nOnce that's done, throw it into an &8Implosion Compressor&r and recreate the iconic Ender Pearl — GregTech style.", - "quests.high_voltage.boules.title": "Phosphorus Boules", - "quests.high_voltage.boules.subtitle": "That's dope, bro!", - "quests.high_voltage.boules.desc": "Doping is the process of intentionally introducing impurities into semiconductors to alter their properties.\n\n&7Silicon&r can be doped with small amounts of &ePhosphorus&r to make a better &eSilicon Boule&r.\n\nPhosphorus-doped Silicon Boules typically yield &68 times&r more wafers than their non-doped counterparts. However, they are not strictly needed until &5EV&r, where they'll be used in more complex wafers.\n\n&9Note&r: All processing of Phosphorus Boules and Wafers will require a &dCleanroom&r.", - "quests.high_voltage.implosion_compressor.title": "Implosion Compressor", - "quests.high_voltage.implosion_compressor.desc": "The &3Implosion Compressor&r turns the Dust form of Gems into their Gem form.\n\nIt's required to get &aEnder Pearls&r.\n\n&cTNT&r can be used for the Implosion.", - "quests.high_voltage.nitric_acid.title": "Nitric Acid", - "quests.high_voltage.nitric_acid.subtitle": "This won't eat your skin", - "quests.high_voltage.nitric_acid.desc.1": "Nitric Acid's fumes are extremely toxic! It's also a very potent oxidizer.\n\n&aNitric Acid&r is used in:\n\n&9-&r Cetane-Boosted Diesel, a better Diesel fuel that you'll get to soon.\n&9-&r Nitrobenzene, a better Gas fuel that we're not far off making.\n&9-&r The optional gem slurry chains.\n&9-&r The Platinum Group Sludge chain in &1IV&r.\n&9-&r Polybenzimidazole (try saying that ten times fast!) in &1IV&r.", - "quests.high_voltage.nitric_acid.desc.2": "There are two main ways to make &aNitric Acid&r - &othe &agood&f way and the &4bad&f ways!&r\n\nTherefore, we'll point you towards the best method:\n\nGet a &3Large Chemical Reactor&r and use it to make &aNitrogen Dioxide&r. From there, react it in a regular &3Chemical Reactor&r with more &dOxygen&r and &dWater&r and you got yourself some &aNitric Acid&r!\n\nThis requires a lot of &dOxygen&r. Refer to its own Quest in &7LV&r for the most efficient ways to obtain in large amount. Notice that this is Hydrogen free!", - "quests.high_voltage.cetane_diesel.title": "Cetane-boosted Diesel", + "quests.high_voltage.tnt.desc.1": "&c内破圧縮機&rに必要となる爆薬を作る準備をしましょう。簡単なものから難しいものまで4種類の選択肢がありますが、可能であれば&d工業TNT&rを目指すのがおすすめです。", + "quests.high_voltage.tnt.desc.2": "&cTNT&r(トリニトロトルエン)は、砂と火薬から作ることはできません。&aゲル状トルエン&rを生成し、それを硫酸と反応させてTNTを作らなければなりません。\n&3HV化学反応器&rのレシピを使用すると、&aゲル状トルエン&rの生産量は2倍になりますが、追加の素材が必要になります。", + "quests.high_voltage.tnt.desc.3": "&aトルエン&rは基本的にある程度作るのが面倒です。\n\nその中でも&3蒸留機&rで&a重質燃料&rを直接&aトルエン&rに変換するレシピは有用です。\n\nトルエンは&dガソリン&rの素材としても使います。\n\n&cTNT&rは&3内破圧縮機&rで使いますし、発破して採掘するなどの用途もあります。", + "quests.high_voltage.ender_pearls.title": "エンダーパール", + "quests.high_voltage.ender_pearls.subtitle": "非科学的結晶体", + "quests.high_voltage.ender_pearls.desc": "TFGでは、エンダーマンが純正のエンダーパールを落としてくれません。\n「Beneath」にいる連中も例外ではなく、頼りにはなりません。\n\nそのため、今のところエンダーパールを手に入れるには作るしかありません。\n\n&6HV&rミキサーで&2ベリリウム&rと&2カリウム&rを混合し、&5エンダーダスト&rを作るか、エンダーマンが落とす亜種のエンダーパールを砕きます。\n\nそれを&8内破圧縮機&rに入れれば、あのエンダーパールを科学技術によって作り出すことができます。", + "quests.high_voltage.boules.title": "リン添加シリコン単結晶", + "quests.high_voltage.boules.subtitle": "いいからドーピングだ!", + "quests.high_voltage.boules.desc": "ドーピングとは、半導体の性質を変えるために、意図的に不純物を加える技術です。\n\n&7シリコン&rに少量の&eリン&rを混ぜてドーピングすることで、品質の高い&eシリコン単結晶&rを作ることができます。\n\nリンでドーピングしたシリコン単結晶は、通常のものに比べて最大&68倍&rものウェハーを生産できます。&5EV&r以降では、より高度なウェハーの製造にも使われます。\n\n&9注意&r:リン添加シリコンウェハーの加工は、&dクリーンルーム&rの中でする必要があります。", + "quests.high_voltage.implosion_compressor.title": "内破圧縮機", + "quests.high_voltage.implosion_compressor.desc": "&3内破圧縮機&rは、宝石の粉を宝石に形成します。\n\n&aエンダーパール&rを得るために必要です。\n\n&cTNT&rは内破反応に使用することができます。", + "quests.high_voltage.nitric_acid.title": "硝酸", + "quests.high_voltage.nitric_acid.subtitle": "称賛を贈ろう", + "quests.high_voltage.nitric_acid.desc.1": "&a硝酸&rは非常に有害です!それと同時に非常に強力な酸化剤でもあります。\n\n&a硝酸&rには以下のような様々な用途があります:\n&9-&rセタン添加ディーゼル。より良いディーゼル燃料で、まもなく作れるようになります。\n&9-&rニトロベンゼン。より良いガス燃料で、まもなく作れるようになります。\n&9-&r宝石泥漿ライン処理。\n&9-&r&1IV&rにおける白金族ライン処理。\n&9-&r&1IV&rでのポリベンズイミダゾール(早口言葉じゃないですよ)。", + "quests.high_voltage.nitric_acid.desc.2": "&a硝酸&rを作るには&o良い方法&fと&4悪い方法&fがあります。\nここでは、最良の方法を案内します:\n\nまず&3大型化学反応炉&rで&a二酸化窒素&rを作ってください。それを&3化学反応器&rでさらに&d酸素&rと&d水&rと反応させれば、&a硝酸&rの完成です!\n\nこれには大量の&d酸素&rを消費します。酸素を大量に確保する方法は&7LV&r章のクエストを参照してください。なお、この工程では水素が不要です!。", + "quests.high_voltage.cetane_diesel.title": "セタン添加ディーゼル", "quests.high_voltage.cetane_diesel.subtitle": "This is to go further beyond", - "quests.high_voltage.cetane_diesel.desc": "Now that you unlocked the &6HV&r Mixer and have access to &eNitric Acid&r, it becomes possible to make &aCetane Boosted Diesel&r, granting a &e180%%&r increase in potency.\n\nThe only tricky part is obtaining &bTetranitromethane&r. We recommend producing it by mixing &9Nitric Acid&r and &dEthenone&r. Ethenone itself isn’t hard to make if you combine &9Sulfuric Acid&r - which you should have plenty of by now - and &cAcetic Acid&r, easily produced from &3Oxygen&r and &5Ethylene&r.\n\n&cDon’t forget&r to set your machine on Circuit 2, or else you’ll end up producing &6Polyethylene&r instead!", + "quests.high_voltage.cetane_diesel.desc": "&6HV&rミキサーと&e硝酸&rが揃えば、燃料価が+&e180%&rされる&aセタン添加ディーゼル&rを作れるようになります。\n大変なのは&bテトラニトロメタン&rの作成で、これは&9硝酸&rと&dエタノン&rを混ぜれば作れます。\n\nエタノンは&9硫酸&rと&c酢酸&rを反応させて作ることができ、酢酸は&3酸素&rと&5エチレン&rから合成できます。\n\n注意:酢酸をこのレシピで作るときは、&c機械の回路番号を2に設定&rするのを絶対に忘れないでください!(そうしないと&6ポリエチレン&rが出来上がってしまいます)。", "quests.high_voltage.smd_components.title": "SMD Components", "quests.high_voltage.smd_components.subtitle": "Alternate components!", "quests.high_voltage.smd_components.desc": "The &eSMD&r (surface-mount device) &aComponents&r are CEu-exclusive components that are required for the next tier of circuits (&5Nano&r). They can also be used in place of their non-SMD counterparts in most Circuit recipes.\n\nOf course they're more complicated to make, this is GregTech! What did you expect?\n\nInvest in automation for these - you won't stop needing them.", @@ -2293,7 +2293,7 @@ "quests.high_voltage.nichrome.desc": "Your third alloy is here and it's essential for your next set of coils in the &6EBF&r.\n\nAs usual you will need &9128 ingots&r but this time you’ll notice that you can’t use a &6Chemical Washer&r. Instead, you're required to use a &6Vacuum Freezer&r.\n\nGood news: it’s actually simpler and faster.\n\nYou’ll only be using &6Nichrome&r for these coils, but don’t get too comfortable — it will return later for the next set of &5RTM Coils&r.", "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 &6Pyrolysis Oven&r\n\nGo with whichever's easiest for you!", + "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.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.", @@ -2321,7 +2321,7 @@ "quests.high_voltage.steel_engine.subtitle": "Blue Steel is back, baby", "quests.high_voltage.steel_engine.desc": "The &6Steel Engine&r is required so your rocket can &atravel to the Moon&r.\n\nThe recipe isn't too bad — we assume you're ready to tackle each part.\n\nTo get &91152mb of Liquid Blue Steel&r, you will need &78 ingots&r.", "quests.high_voltage.rocket_fins.subtitle": "So you reach the right destination", - "quests.high_voltage.rocket_fins.desc": "We made the &6Rocket Fins&r use an &bAlloy Smelter&r simply to remind you that you now have access to the &bMulti-Smelter&r — a wonderful small EBF that can be used both as a &eFurnace&r and an &bAlloy Smelter&r.\n\nThe quest to craft it is in the &bMV&r Chapter. We really advise you to think about it if you haven't yet.", + "quests.high_voltage.rocket_fins.desc": "Originally, we made the &6Rocket Fins&r use an &bAlloy Smelter&r simply to remind you that you now have access to the &bMulti-Smelter&r — a wonderful small EBF that can be used both as a &eFurnace&r and an &bAlloy Smelter&r.\n\nThe quest to craft it is in the &bMV&r Chapter.\n\nWe changed this recipe to the assembler because \"rocket fins\" aren't exactly an alloy.", "quests.high_voltage.rocket_nose_cone.subtitle": "The nose knows...", "quests.high_voltage.rocket_nose_cone.desc": "The &6Rocket Nose Cone&r is the hardest part of your Rocket.\nYou will need a hefty amount of &aPolyethylene&r — so we hope you already have it passively produced — and a &6HV&r Emitter.\nYou should be able to get your hands on &dChromium&r by electrolyzing &cRuby Dust&r.\n\nThe &aVitrified Ender Pearl&r is trickier and requires you to follow the quest unlocked by the &6HV Chemical Reactor&r.\nGet ready to make &cTNT&r, build an &5Implosion Compressor&r, and recreate the famous Enderman drop — since you won’t find Ender Pearls natively in &2TFG&r.", "quests.high_voltage.launch_pad.subtitle": "Ready for launch in T-10...", @@ -2368,7 +2368,7 @@ "quests.high_voltage.final_dust.title": "Infinite Dusts", "quests.high_voltage.final_dust.subtitle": "Finally infinite resources", "quests.high_voltage.final_dust.desc": "This is all the &cinfinite resources&r you can obtain on the &7Moon&r before unlocking the more advanced processing available on &eVenus&r.\n\nWith these, you should have everything you need to keep progressing through &dGregTech&r — especially to secure the &amaintenance&r of your Moon Base.\n\nThese resources are essential for:\n• Crafting &dAE2 components&r\n• Producing an &cinfinite&r supply of &6Railgun Ammo&r\n\nPassive automation is now within your reach — take the step and make it happen!", - "quests.low_voltage": "&7LV&r-低電圧", + "quests.low_voltage": "&7LV&r - 低電圧時代", "quests.low_voltage.subtitle": "どんな元素も無駄にしない優しい工業mod", "quests.low_voltage.lv_machine_hull.title": "第二のマシン筐体", "quests.low_voltage.lv_machine_hull.subtitle": "電気の時代の幕開け", @@ -2629,250 +2629,250 @@ "quests.low_voltage.mv_hull.subtitle": "MVへの入り口", "quests.low_voltage.mv_hull.desc1": "よくぞここまで来ましたね!&bMVマシン筐体&r、&b改良型電子回路&r、&6基本型回路作成機&rがあれば、正真正銘、MV時代に到達です!\n\nこれが&6GregTech&rの基本的な流れです。新しいティアに進むたびに、新たな&6素材&rや&6化学物質&rを使って、より高度な&6機械&rを作っていくことになります。\nこんなにすばらしい体験をすることができるなんて、羨ましい限りです。", "quests.low_voltage.mv_hull.desc2": "&bMV&rに進む前に、&6TFG&rでは、&6Create&rのマシンを使ってインフラを補強することも可能です。アルミニウム製のシャフトや歯車はスチール製のものより許容応力が4倍あるので、それらを活用すればマシンをより高速に、安全に稼働させられます。", - "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!", - "quests.medium_voltage.mv_machine_hull.subtitle": "More technology, more problems", - "quests.medium_voltage.mv_machine_hull.desc.1": "Every time you enter a new tier, things can get a bit overwhelming. You’ll be faced with lots of &enew machines&r to build and &echemicals&r to produce.\n\nAs you’ve probably seen in the quests, you have &2three main objectives&r to complete before progressing into &6HV&r. Let's break them down one by one.", - "quests.medium_voltage.mv_machine_hull.desc.2": "First, you'll need to upgrade your &dEBF&r with two new &bMV Energy Hatches&r. This will allow it to overclock and run &6HV recipes&r. That upgrade is key for producing &estainless steel&r, the main material for &6HV&r, and also &eKanthal&r, which you’ll need to upgrade your &dEBF coils&r.", - "quests.medium_voltage.mv_machine_hull.desc.3": "Your second objective—although you can tackle it first if you prefer—involves diving into chemistry. Your first plastic, &ePolyethylene&r, is essential for future progress. There are two possible paths you can follow, and the quests will help guide you:\n\n- &ePetrochem route&r: extract oil from the ground or oilsands. This path also unlocks &eDiesel&r production for fuel combustion.\n\n- &eBiochem route&r: use a &6Pyrolyse Oven&r and wood (a Create-powered tree farm works great). This method gives you more &eBenzene&r and opens the door to using a &eGas Generator&r.\n\nEach path has its pros and cons, but eventually, you’ll need both anyway.", - "quests.medium_voltage.mv_machine_hull.desc.4": "The final step here is unlocking the &6second HV Circuit&r. It only requires &atwo steps&r, making it faster than crafting the &6first HV Circuit&r, which needs &cthree steps&r.\n\nTo achieve this, you'll need to get your hands on a &dLaser Engraver&r, which allows you to produce your first &dWafers&r. With those, you can craft an &6HV Circuit&r that you'll use to build the &bMV Circuit Assembler&r.\n\nIt's not strictly necessary to do this now—you can continue using the first HV Circuit for progression—but &ait will make your life much easier&r if you take care of it now. Trust us.", - "quests.medium_voltage.mv_miner.title": "Automatic Mining", - "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", - "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", - "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", - "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r or a &3GT Create&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly but that won't be before some time.", - "quests.medium_voltage.mv_miner.task": "Any miner", - "quests.medium_voltage.mv_component.title": "The MV Components", - "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in previous tier?", - "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.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&8We’re not sorry.&r", - "quests.medium_voltage.mv_extruder.title": "Advanced Extruder", - "quests.medium_voltage.mv_extruder.subtitle": "The biggest upgrade you'll make", - "quests.medium_voltage.mv_extruder.desc": "We &lSINCERELY&r hope at &cno&r point you made the &7LV&r Extruder, because only the &bMV&r Extruder is actually useful. If you did, immediately &arecycle it&r through the Arc Furnace.\n\nThe Extruder shapes solid materials into (almost!) any form using &aIngots&r. This is a great way to reduce the amount of microcrafting, as well as keeping a high conversion ratio.\n\nThe Extruder can make &6Bolts&r, &6&6Small Gears&r, &6Gears&r, and &6&6Rings&r at the highest efficiency in a single step!\n\nYou may also like to use it for &dPipes&r, &dScrews&r, and &dRotors&r.", - "quests.medium_voltage.mv_chemical_reactor.title": "Advanced Chemical Reactor", - "quests.medium_voltage.mv_chemical_reactor.subtitle": "Stronger, better, faster", - "quests.medium_voltage.mv_chemical_reactor.desc": "You already know about the &dChemical Reactor&r from the &7LV Chapter&r—but here’s a refresher.\n\nAt &bMV&r, you unlock &anew recipes&r and also gain the ability to &aoverclock your LV recipes&r. That means they can run &atwice as fast&r, but will consume &e4x the energy&r. It’s up to you to decide whether the trade-off is worth it.\n\nBut that’s not the only reason to build the &bMV Chemical Reactor&r. If you’re taking the &dorganic chemistry path&r, you’ll need it to run the &dEthylene&r recipe, which uses &dSulfuric Acid&r and &dEthanol&r—this one requires &bMV power&r.\n\nIn any case, it’s a solid machine, and not too expensive. Go ahead and build it when you have a bit of spare time.", - "quests.medium_voltage.mv_mixer.title": "Advanced Mixer", - "quests.medium_voltage.mv_mixer.subtitle": "Mixing more complex alloys", - "quests.medium_voltage.mv_mixer.desc": "If you're wanting to dive into &bMV&r, start here.\n\nThe dusts created in an &3MV Mixer&r have great utility.", - "quests.medium_voltage.mv_energy.title": "Electricity Generation in MV", - "quests.medium_voltage.mv_energy.subtitle": "Things are 'boutta get rough", - "quests.medium_voltage.mv_energy.desc.1": "Hello there, and welcome to &bMV Energy Production&r.\n\nIn this quest, we’ll go over the different options available to keep your &bMV machines&r powered and running smoothly.\n\nWe won’t cover this in every chapter, so we highly recommend that you &aread the dedicated chapter on GregTech Energy&r for a deeper understanding of how everything works.\n\nFor now, here are your &athree main options&r:\n\n&8- &bUse an MV Generator&r to directly produce &bMV-level energy&r.\n\n&8- &bStep up your &7LV&r power by using transformers&r, with a &e4:1 ratio&r between &7LV&r and &bMV&r.\n\n&8- &bConvert RF&r using your &dAlternator&r to get &bMV energy&r directly.\n\n", - "quests.medium_voltage.mv_energy.desc.2": "Higher-tier Generators will increase their fuel consumption proportionally to their Generation rate, keeping the duration of fuels and the specific amount of energy from fuels the same. The &3Advanced Steam Turbine&r will use &d5,120 mB Steam&r per second, equivalent to &d256 mB/t&r.\n\nGet &eany&r of the generators to complete this quest, but you may prefer starting off with the &3Advanced Steam Turbine&r.", - "quests.medium_voltage.mv_energy.desc.3": "There are a few new power options available for &bMV&r. Selecting the Generators and pressing &4U&r will let you see which fuels count as &aCombustion&r or &aGas&r.\n\nQuests in the top left corner of this Chapter are for the valuable Power options.\n\nIf you stick to &9Steam&r for your Power generation, you'll probably need a &3Large Boiler&r.", - "quests.medium_voltage.mv_energy.desc.4": "&3Transformers&r allow you to step up and down safely between Voltage tiers. They convert the power they receive into an equivalent amount of power 1 voltage tier above or below the input voltage.\n\nApart from running machines on different voltage tiers, Transformers come in handy for transporting power across longer distances, as cable loss has less of an effect at higher voltages. Just like real life!", - "quests.medium_voltage.mv_energy.desc.5": "Transformers have 5 low voltage sides, and 1 high voltage side.\n\nThe &9normal&r Transformer can only do 1A <-> 4A conversion, but &9Adjustable&r Transformers can be changed between 1A <-> 4A, 2A <-> 8A, 4A <-> 16A, and 16A <-> 64A conversions.\n\nUse a &aSoft Hammer&r to change between transforming up and down, and a &aScrewdriver&r on Adjustable Transformers to change the amperage.\n\nHigher tier Transformers will require &9Coils&r.", - "quests.medium_voltage.mv_energy.desc.6": "Lastly, as you already know from the &7LV Chapter&r, you can use a &dConverter&r to, well... convert your &cRF&r directly into &bMV energy&r.", - "quests.medium_voltage.mv_battery.title": "MV Battery Buffer", - "quests.medium_voltage.mv_battery.subtitle": "Energy management", - "quests.medium_voltage.mv_battery.desc": "As always, we highly encourage you to use a &bBattery Buffer&r, so even if you use more &6energy&r than you produce, you won't run out of it right away, and you will be able to get the energy back while your machines aren't running.", - "quests.medium_voltage.mv_battery.task": "Any MV Battery Buffer", - "quests.medium_voltage.mv_batteries.title": "Better Batteries", - "quests.medium_voltage.mv_batteries.subtitle": "Baby Got Battery", - "quests.medium_voltage.mv_batteries.desc": "&bMV&r Batteries will appeal to you if you want to buffer Energy, just like &7LV&r.\n\nThe cost in &aSodium&r, &aLithium&r or &aCadmium&r jumps up to 8 dusts, so you should use whatever you have the most of. The difference in capacity isn't &7THAT&r huge, after all!\n\nGet &eeither&r Battery to complete the Quest.", - "quests.medium_voltage.mv_steel_alloy.title": "Steel Alloys", - "quests.medium_voltage.mv_steel_alloy.subtitle": "Steel Your Heart", - "quests.medium_voltage.mv_steel_alloy.desc": "Vanadiumsteel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.\n\nOther Steel alloys include Blue Steel, Red Steel, and Black Steel!\n\nTake some Blue Steel free of charge - it's twice as durable as Steel.", - "quests.medium_voltage.pyrolyse.title": "Pyrolyse Oven", - "quests.medium_voltage.pyrolyse.subtitle": "Thermal Decomposition", - "quests.medium_voltage.pyrolyse.desc.1": "The &3Pyrolyse Oven&r is an electric equivalent to the &3Coke Oven&r. It can produce &9Coal Coke&r and &9Charcoal&r with a &9Creosote&r byproduct just as before, but also has additional &6Organic Byproducts&r, the most beneficial of these being &aWood Tar&r.\n\nAnother product is &aBiomass&r, which is more pertinent for your progression as of this moment.", - "quests.medium_voltage.pyrolyse.desc.2": "The byproducts can be Distilled for an array of organic resources, with &odifferent&r byproducts giving &odifferent&r ratios of &odifferent&r chemicals.\n\nYou will need to take a peek at the &9Distillation&r Quest to get to grips with the power of distillation...", - "quests.medium_voltage.pyrolyse.desc.3": "There are recipes that can accept &bNitrogen&r to double the speed. This isn't quite worth pursuing right now, but Nitrogen will eventually be free and infinite.\n\nYou should be more than fine with a single &3LV Energy Hatch&r, and Superconductors to supply a steady &d64 EU/t&r. Additionally, &3Cupronickel Coils&r are perfect when you're getting used to the Pyrolyse Oven, but you may want to upgrade to &bKanthal&r eventually.", - "quests.medium_voltage.pyrolyse.desc.4": "&9&lNote:&r&l The Plant path is one path you can take towards &9&lEthylene&r&l, which is a necessary chemical in progressing to &6HV&r&l. The other path involves Oil.&r\n\nThe Pyrolyse Oven remains &doptional&r. However, it is very rewarding to construct one either for Power, or for the various Byproducts, and we highly recommend you give it a look.\n\n&l&3Lore:&r&o In GT5u, the structure for the Pyrolyse Oven was infamously a giant box with only 9 coils inside. Players usually spent several minutes debugging what is wrong due to a lack of a EMI preview.", - "quests.medium_voltage.mv_fluid_rig.title": "Fluid Drilling Rigs", - "quests.medium_voltage.mv_fluid_rig.subtitle": "Fluid Drilling Rigs in CEu!", - "quests.medium_voltage.mv_fluid_rig.desc.1": "It's quite the investment to own a &3Fluid Drilling Rig&r, but it is &oby far&r the most prominent &6source of Oil&r.\n\nIt pumps fluids from underneath Bedrock itself. Note that the fluids aren't actually there, instead being simulated.\n\nFluid veins are stored within &cchunk-sized regions&r. Each vein has a different fluid, but they are mostly types of Oil.\n\nYou can't carry out prospecting for fluid veins &oyet&r - this will come at &6HV&r.", - "quests.medium_voltage.mv_fluid_rig.desc.2": "Each vein generates with a different base yield. This is typically between &d150L&r to &d300L per second&r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time until it reaches its depletion yield. At that point, you should move the Rig to a different vein.\n\nA &3Basic Fluid Drilling Rig&r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for &6well over 10,000&r buckets of Oil. Higher tier Rigs will massively increase the yield, while also decreasing the depletion rate.", - "quests.medium_voltage.mv_fluid_rig.desc.3": "&lWhat you can find in the &2Overworld&r&l:&r\n\n&9Oil:&r richer in &aLight Fuel&r, the most appreciated variant.\n&9Light Oil:&r richer in &aRefinery Gas&r, usable for power.\n&9Heavy Oil:&r richer in &aHeavy Fuel&r, which has uses that are more niche but notably Toluene.\n&9Raw Oil:&r richer in &aNaphtha&r, the best source of the early-game oil products.\n&9Natural Gas:&r grants &aRefinery Gas&r with no distillation required.\n&9Sea Water:&r grants &aSodium&r and &aChlorine&r, useful later.", - "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cNether&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", - "quests.medium_voltage.mv_oilsands.title": "America Simulator", - "quests.medium_voltage.mv_oilsands.subtitle": "This quest was sponsored by the US Military", - "quests.medium_voltage.mv_oilsands.desc": "Underground, you may come across pure Oilsands ore veins. You can &3centrifuge&r the Dust to get &aOil&r.\n\n&9&lNote:&r&l The Oil path is one path towards &9&lEthylene&r&l. The other paths involve getting natural with some Ethanol.&r\n\nFor now, Oil is &doptional&r. It becomes mandatory much later when you get to &5EV&r.\n\nOil can also be refined in the form of &aLight Fuel&r, &aDiesel&r or even &aGasoline&r, which are excellent power options.\n\nIf you chose this path, you should use it for both Power and Ethylene.\n\nOilsands are a &6great starting point&r - they'll tide you over until you unlock Fluid Drilling Rigs.", - "quests.medium_voltage.mv_lpg.title": "The Church of Natural Farts", - "quests.medium_voltage.mv_lpg.subtitle": "Whoever smelt it...", - "quests.medium_voltage.mv_lpg.desc.1": "&aRefinery Gas&r, &aLPG&r and &aMethane&r are &9Gas Fuels&r. LPG (Liquid Petroleum Gas) is a mix of hydrocarbons typically used in heating appliances.\n\nRefinery Gas is obtained either through &dNatural Gas&r or &dLight Oil&r, the latter yielding more, yet requiring an extra step of distillation.\n\nUse of a &3Centrifuge&r to separate into &aLPG&r and &aMethane&r should always be done, as it's practically free.", - "quests.medium_voltage.mv_lpg.desc.2": "&a&aLPG&r and &aMethane&r are burned in a &3Gas Turbine&r. Among the other fuel options, they are the easier to set up which makes them excellent to get started. Their drawback is that they cannot be refined further, so upgrading the &3Fluid Drilling Rig&r may be a top priority if you stick to this fuel source.\n\n&aMethane&r can also be obtained from a few &anatural sources&r. &eBetween us&r, they're memes, but you can explore them if you wish. Ultimately, your power source is your choice.", - "quests.medium_voltage.mv_brewery.title": "Local Brewery selling Booze", - "quests.medium_voltage.mv_brewery.subtitle": "*hic*... *hic*", - "quests.medium_voltage.mv_brewery.desc.1": "The Brewery can be used to make &aLubricant&r from &aRedstone&r and &aCreosote&r/&aOil&r. Lubricant has some niche uses, namely being used in the &3Cutter&r to significantly reduce the duration of its recipes.\n\nThe Brewery is a very, very slow machine, but it requires almost no power to run its recipes. Building &2many Breweries&r will help you obtain enough Biomass on your quest for plastic.\n\n&9Note:&r The Brewery unlocks the Biomass path towards &9Ethylene&r. The same can be done in the &3Pyrolyse Oven&r. The other path involves Oil.&r", - "quests.medium_voltage.mv_brewery.desc.2": "&l&3Lore:&r&o You could make your own Brewery if you want to build up a company and start selling Booze... in GregTech 6.&r", - "quests.medium_voltage.mv_biomass.title": "Biomass", - "quests.medium_voltage.mv_biomass.subtitle": "Plants aren't industrial enough!", - "quests.medium_voltage.mv_biomass.desc.1": "Welcome to the organic &dEthylene&r path! The goal here is to produce &dEthanol&r and mix it with &dSulfuric Acid&r to make &dEthylene&r.\n\nTo get &dEthanol&r, you'll need to distill it from &aBiomass&r—so let's look at the different ways to produce that biomass.\n\nThe first method is simple: put &asaplings&r into a &dBrewery&r with water. The downside? &eIt's slow&r.", - "quests.medium_voltage.mv_biomass.desc.2": "The second method is more complex, but yields much better results. You’ll need to get &aBio Chaff&r, which comes from &amacerating Plant Balls&r. Note that you won't get any &aextra chance&r until you unlock &6HV Crushing&r.\n\n&bPlant Balls&r can be obtained by:\n-Centrifuging &9Sugarcane&r or &9Beets&r\n-Centrifuging every &awood&r that you can tap &9#afc:tappable_logs&r\n-Compressing &asaplings&r directly\n\nFinally, process your &aBio Chaff&r with water in a &dBrewery&r or go for a &dPyrolyse Oven&r for a &e66 percent boost&r in output.", - "quests.medium_voltage.mv_biomass.desc.3": "&l&3Lore:&r&o You may recognise Plantballs from IndustrialCraft2! In IC2 Experimental, there was this rather... obscure way to turn Biomass into Biogas for power, which sadly required too much investment to be really worth it.", - "quests.medium_voltage.mv_distillery.title": "Distillery", - "quests.medium_voltage.mv_distillery.subtitle": "The Illusion of Free Choice", - "quests.medium_voltage.mv_distillery.desc.1": "Before we start, here's some important information if you're aiming to make Ethylene:\n\nTaking the &aOil&r route will require &oat least&r a &3LV Distillery&r.\n\nWith the &aBiomass&r route, you will &lneed&r a &3MV Distillery&r.\n\nGet &eeither&r to complete this quest.", - "quests.medium_voltage.mv_distillery.desc.2": "Got all that? &6Alright&r! Let's discuss a complex topic: &9Distillation&r. We'll try to help you understand how and why the &aEMI&r recipes are the way they are, so stick with us.\n\nNearly all the &3Distillery&r recipes are duplicates from the &3Distillation Tower&r, except that they only have one Fluid output, and void everything else.\n\nIn other words, you could argue the &3Distillery&r is an &dinferior&r &3Distillation Tower&r.", - "quests.medium_voltage.mv_distillery.desc.3": "This doesn't mean that the &3Distillery&r is the worse of the two. It is unlocked earlier, and it is &dsmaller&r, &dcheaper&r, and &dmore energy efficient&r per recipe.\n\nHell, in many cases, you won't even mind losing the other Fluids.\n\n&3Distilleries&r are an essential component for power generation, whether you pick &aDiesel&r or &aBenzene&r.\n\nYou'll probably want many of them at as low-tier as possible to avoid the energy losses from Overclocking.", - "quests.medium_voltage.mv_distillery.task": "Either an LV or MV Distillery", - "quests.medium_voltage.mv_benzene.title": "The Church of Benzene", - "quests.medium_voltage.mv_benzene.subtitle": "In the end, it's always Benzene", - "quests.medium_voltage.mv_benzene.desc.1": "&aBenzene&r is a &9Gas Fuel&r. To skip some frustration, let's check out the two best ways to obtain it.\n\nThe first option is typically &dWood based&r. Put Logs in the &3Pyrolyse Oven&r for &9Wood Tar&r. The Charcoal you obtain can then be processed in &3Extractors&r for even more &9Wood Tar&r, which you &3distill&r for &aBenzene&r.\n\nYour second option is &dHeavy Oil based&r. Put Heavy Oil in a &3Distillery&r for &9Heavy Fuel&r, which you &aseverely steam-crack&r and &3distill&r again for &aBenzene&r.", - "quests.medium_voltage.mv_benzene.desc.2": "For information on how to process Oil, check the Light Fuel and Naphtha Quests.\n\nIn general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aBenzene&r is burned in a &3Gas Turbine&r. This power source starts weaker than its &eDiesel&r cousin, but gets a big boost when refined to &6Nitrobenzene&r in &6HV&r. Ultimately, your power source is your choice.", - "quests.medium_voltage.mv_light_fuel.title": "Light Fuel", - "quests.medium_voltage.mv_light_fuel.subtitle": "Turn up the Lights in here, baby", - "quests.medium_voltage.mv_light_fuel.desc": "Distillating &aOil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aLight Fuel&r is a good &9Power&r option, but there's something even greater... check the Quest to the left.", - "quests.medium_voltage.mv_diesel.title": "The Church of Diesel", - "quests.medium_voltage.mv_diesel.subtitle": "Mother, how is diesel made?", - "quests.medium_voltage.mv_diesel.desc.1": "&aDiesel&r is a &dOil-based &9Combustion Fuel&r.\n\nTo mix &aLight Fuel&r and &aHeavy Fuel&r, the right ratio for &3Distilleries&r is &63:2&r from &dOil&r or &dRaw Oil&r.\n\nThis would necessitate 3 Distilleries for Light Fuel, or 2 Distilleries for Heavy Fuel.", - "quests.medium_voltage.mv_diesel.desc.2": "You can cut the amount of &dOil&r required &6drastically&r by using &dHeavy Oil&r for &aHeavy Fuel&r specifically. &dOilsands&r is a great option if you wish to go down this route!\n\n&o(For the math nerds, you go from 8.33 Oil -> 6 Diesel, to 5 Oil + 0.4 Heavy Oil -> 6 Diesel)&r\n\n&eNote:&r Do &cnot attempt&r to put Oil in the &3Distillation Tower&r You might think it's a good idea because it gives both Light Fuel and Heavy Fuel. However, this process requires a lot of overclocking to be worth your time, and you will lose more energy than what the byproducts are worth.", - "quests.medium_voltage.mv_diesel.desc.3": "In general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aDiesel&r is burned in a &3Combustion Generator&r. It can be further refined to &6Cetane-Boosted Diesel&r in &6HV&r. Compared to the other power sources, it is generally more efficient, but a more demanding processing line. If you take the &eOil&r route for &aPolyethylene&r, this can work great with existing infrastructure. Ultimately, the power source you want to use is your choice.", - "quests.medium_voltage.mv_jetpack.title": "I Believe I Can Fly", - "quests.medium_voltage.mv_jetpack.subtitle": "...well, almost Fly", - "quests.medium_voltage.mv_jetpack.desc": "This Jetpack takes most &aCombustion Fuels&r (excluding oils) to enable a primitive form of flight.\n\nFill it like you would fill a Drum, or with a &3Canning Machine&r.\n\nPress &4H&r (default) to enable Hover Mode.", - "quests.medium_voltage.mv_ethanol.title": "Ethanol", - "quests.medium_voltage.mv_ethanol.subtitle": "Yo, wait - that's alcohol!", - "quests.medium_voltage.mv_ethanol.desc": "Put your previously made &aBiomass&r into a &3MV Distillery&r to make &aEthanol&r.\n\nYou will need this for &dEthylene&r by reacting it with &aSulfuric Acid&r in a &3MV Chemical Reactor&r... unless you chose to go down the Oil path.\n\nOnce you have a hefty starting stock of Ethanol, consider making and distilling &9Fermented Biomass&r in a &3Distillation Tower&r (when you get there!) for extra chemicals.\n\n&cDo not try&r to use Ethanol as a Power source... it's quite possibly its worst use. If it's organic &9Power&r that you want, we suggest taking a look at &dBenzene&r instead!", - "quests.medium_voltage.mv_bio_diesel.title": "The Church of Bio Diesel", - "quests.medium_voltage.mv_bio_diesel.subtitle": "Flower Power", - "quests.medium_voltage.mv_bio_diesel.desc": "Want to try something plant-based but without a tree farm? Give &3Bio Diesel&r a shot! The best route for it is through &dSeed Oil&r from either Sunflowers or Canola. Just mix it with a little Ethanol and Sodium Hydroxide (from Sea Water!) in a Chemical Reactor and you're done! As a bonus, this route also outputs Glycerol which you can turn into &dEthylene&r!", - "quests.medium_voltage.mv_mutli_channel.title": "Multiple Channel Pipes", - "quests.medium_voltage.mv_mutli_channel.subtitle": "Is it already AE2?", - "quests.medium_voltage.mv_mutli_channel.desc": "Regular &o&dGregTech&r Fluid Pipes can only transport one fluid type at a time.\n\n&3Quadruple Fluid Pipes&r can transfer four different types of fluids. &3Nonuple Fluid Pipes&r can transfer nine different types! Useful for compact setups.\n\n&3Nonuple Fluid Pipes&r will be useful in &5EV&r for handling the many outputs of the &3Distillation Tower&r.\n\nGet &eeither&r to finish this quest.", - "quests.medium_voltage.mv_naphtha.title": "Naphtha or Light Fuel", - "quests.medium_voltage.mv_naphtha.subtitle": "We're still confused on how Naphtha is pronounced", - "quests.medium_voltage.mv_naphtha.desc": "Distillating &aOil&r or &aRaw Oil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aNaphtha&r is a good &9Product&r source, surprsingly it's also a really good fuel (we heard nerf is coming) but if you are sitting on Oil sand or you don't have Raw Oil then Light Oil may be better. Keep following the quests to the right for more details.", - "quests.medium_voltage.mv_fuel_cracking.title": "Fuel Cracking", - "quests.medium_voltage.mv_fuel_cracking.subtitle": "Fuel and oil cracking can get complicated...", - "quests.medium_voltage.mv_fuel_cracking.desc.1": "Don't panic! We'll mostly be doing this to get hydrocarbons.\n\nThere are many ways to acquire &dEthylene&r from Oil processing. It's easy to get lost in all the options and recipes!\n\nThe best way is to steam-crack &aNaphtha&r in a &3Chemical Reactor&r. Be sure to make the &aSeverely Steam-Cracked&r version for a higher yield of Ethylene.", - "quests.medium_voltage.mv_fuel_cracking.desc.2": "Once in &6HV&r, you'll have the option to do this recipe in the &3Cracking Unit&r at 100 percent efficiency. Unfortunately, the recipes you are doing with the Chemical Reactor have a loss of &450 percent&r.\n\n&9Note:&r All of this looks and feels terribly inefficient - we hope that's strong motivation to tier up! The &3Distillation Tower&r will be a huge upgrade for petrochem, but you're not quite there... yet. Right now, you'll have to use a &3Distillery&r to get &dEthylene&r.", - "quests.medium_voltage.mv_ethylene.title": "Ethylene", - "quests.medium_voltage.mv_ethylene.subtitle": "One of many hydrocarbons", - "quests.medium_voltage.mv_ethylene.desc": "Our warmest congratulations on making it here.\n\nThe way you should obtain &aEthylene&r was described in the previous Quest, depending on the route you chose.\n\n&aEthylene&r will shortly be used in polymer production. It's also useful in a few other reactions.", - "quests.medium_voltage.mv_sulfuric_acid.title": "Sulfuric Acid", - "quests.medium_voltage.mv_sulfuric_acid.subtitle": "...what he thought was H2O was H2SO4!", - "quests.medium_voltage.mv_sulfuric_acid.desc.1": "EMI might look a little overwhelming here, so we'll go through the best path for Sulfuric Acid here.\n\nMaking &eSulfuric Acid&r is a three step process. It is used in many important reactions, so you should automate its production ASAP.", - "quests.medium_voltage.mv_sulfuric_acid.desc.2": "To automate it, you will need &3three LV Chemical Reactors&r. We would recommend building a dedicated setup somewhere with &3a single LV Generator&r to power all three machines. You can then spaghetti your pipes to handle input and output.\n\n&9-&r Step 1: React &aSulfur&r with &bOxygen&r to form &aSulfur Dioxide&r.\n&9-&r Step 2: React &aSulfur Dioxide&r with more &bOxygen&r to form &aSulfur Trioxide&r.\n&9-&r Step 3: React &aSulfur Trioxide&r with &bWater&r to form &eSulfuric Acid&r.", - "quests.medium_voltage.mv_sulfuric_acid.desc.3": "&l&3Lore:&r&o GregTech 5's Chemical Reactor only had one Fluid slot. To circumvent that, they would do &dcell chemistry&f. The way you would automate Sulfuric Acid was by having one cell travel from machine to machine and then loop back to its starting position. A somewhat fun and interesting automation challenge, but also a chore!", - "quests.medium_voltage.mv_aciditic.title": "It will Melt Your Flesh", - "quests.medium_voltage.mv_aciditic.subtitle": "...if you don't read this quest.", - "quests.medium_voltage.mv_aciditic.desc.1": "You may notice that some fluids say they are &aAcidic&r, with &9Sulfuric Acid&r being one of them.\n\nThis means that many fluid pipes will not be able to transport them safely!\n\nAt &bMV&r, the cheapest pipes for acid transportation are probably &aGold&r, with the more expensive &aVanadium Steel&r or &aChrome&r pipes taking second and third place.\n\n&aStainless Steel&r or &aPolytetrafluoroethylene&r (try saying that fast) will be valid options once you are in &6HV&r.", - "quests.medium_voltage.mv_aciditic.desc.2": "You have three options for acid storage at around this point: &dGlass Vials&r, &dGold Drums&r, or &dSuper Tanks&r. Glass Vials are like &9Fluid Cells&r, and are made to store acids. Gold Drums are self-explanatory. Super Tanks will be unlocked after &9Polyethylene&r, and can store any fluid without restriction.\n\n&cWARNING:&r Acids in the wrong pipes will cause &cvoiding&r, &cpipe burning&r, and high chance of &cdeath&r! Be careful!\n\n&l&3Lore:&r&o The acid transportation and storage mechanics originate from GregTech 6.", - "quests.medium_voltage.mv_aciditic.task": "I'm an acid professional, don't worry", - "quests.medium_voltage.mv_hydrochloric.title": "Hydrochloric Acid", - "quests.medium_voltage.mv_hydrochloric.subtitle": "You'll need a lot of this!", - "quests.medium_voltage.mv_hydrochloric.desc": "Obtain &9Hydrochloric Acid&r by mixing &aHydrogen&r and &aChlorine&r.\n\nThis acid is also obtained as waste from a lot of reactions involving &aChlorine&r. Depending on your setups, you may never need to produce it directly.", - "quests.medium_voltage.mv_hydrogen.title": "Hydrogen Gas", - "quests.medium_voltage.mv_hydrogen.subtitle": "You know about Hydrogen right?", - "quests.medium_voltage.mv_hydrogen.desc": "There are &amany ways&r to get your hands on &dHydrogen&r—and it will often be a &abyproduct&r of other chemical reactions.\n\nIn &dPetrochem&r, you’ll produce a lot of &dMethane&r, which can be &aelectrolyzed&r into &dHydrogen&r. You could also electrolyze &9Water&r, but we recommend going for &9Seawater&r instead, as it gives more useful byproducts.\n\nLater on, the &ebest method&r will be reacting &9Water&r with &dMethane&r directly—but that’s &6HV-gated&r and will start off &erather slow&r.", - "quests.medium_voltage.mv_chlorine.title": "Chlorine Gas", - "quests.medium_voltage.mv_chlorine.subtitle": "Salty Gas", - "quests.medium_voltage.mv_chlorine.desc": "&dChlorine&r is a core component of your chemical toolkit. You’ll need &da lot of it&r for various reactions and crafting steps—the first one being &dHydrochloric Acid&r.\n\nThere are many ways to obtain &dChlorine&r, but the main source is &dsalt&r. It’s basically everywhere, so you won’t struggle to find it.\n\nWe recommend &aelectrolyzing seawater&r as an early method, but keep in mind—it’s &eslow&r.", - "quests.medium_voltage.mv_seawater.title": "Sea Water", - "quests.medium_voltage.mv_seawater.subtitle": "As wide as an ocean...", - "quests.medium_voltage.mv_seawater.desc": "This quest is here to emphasize the presence of &9Sea Water&r in &aTerrafirmaCraft&r.\n\nYou can easily get an &ainfinite source&r with just two source blocks and either a Mechanical Pump or an Aqueous Accumulator. From there, you can &aelectrolyze it&r to get both &dChlorine&r and &dHydrogen&r.", - "quests.medium_voltage.mv_long_pipe.title": "Long-Distance Pipeline", - "quests.medium_voltage.mv_long_pipe.subtitle": "Wondering how to move these liquids around?", - "quests.medium_voltage.mv_long_pipe.desc.1": "&3Long-Distance Fluid Pipes&r can be used to send fluids across great distances. Place one endpoint at each end, and connect them with pipeline blocks.\n\nThese pipes instantly transfer from the input side to the output side.\n\nThey also have a minimum distance between pipe endpoints, so you can't use these for short-range operations.", - "quests.medium_voltage.mv_long_pipe.desc.2": "These pipes have a reputation of being &4buggy&r to set up. If they don't seem to work at first, try rotating the endpoints with a &eWrench&r.", - "quests.medium_voltage.mv_polyethylene.title": "Polyethylene", - "quests.medium_voltage.mv_polyethylene.subtitle": "Baby's first polymer!", - "quests.medium_voltage.mv_polyethylene.desc": "If you want to be less fancy, just call it plastic.\n\nFor the polymerization process, add &aOxygen&r, which gives better returns than Air, then solidify like you would with Rubber.\n\n&aPolyethylene (PE)&r is the key to unlocking &6many new things&r. It's commonly used as &dSheets&r, or in &dFluid&r form.\n\n&l&3Lore:&r&o The OreDict and fluid name for Polyethylene in 1.12.2 GTCEu was &bplastic&f, for cross-mod compatibility.", - "quests.medium_voltage.mv_tank.title": "Super Tank", - "quests.medium_voltage.mv_tank.subtitle": "Super Tanks are OP!", - "quests.medium_voltage.mv_tank.desc": "No, but seriously.\n\nThis is the &cu&6l&et&ai&bm&9a&5t&4e&r portable Fluid storage solution. &64,000 buckets of storage&r - in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks &6keep their fluids when broken&r, and can be cleared in the crafting grid.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Super Tanks or AE2 Fluid Storage Cells.", - "quests.medium_voltage.mv_pvc.title": "Polyvinyl Chloride", - "quests.medium_voltage.mv_pvc.subtitle": "You've already made one polymer, what's two?", - "quests.medium_voltage.mv_pvc.desc": "&aPolyvinyl Chloride (PVC)&r is the 3rd-most produced plastic in real life. Here in CEu, it can be substituted for Polyethylene in the production of &aPlastic Circuit Boards&r and other items to increase the yield. It is required from &5EV&r onwards to wrap Cables.\n\nPVC item pipes also have the &6highest throughput&r available for a while, but most of your setups right now won't need such speed. Still, it's good to keep this knowledge in your pocket.\n\n&9Pro tip:&r The fluid form of PVC is never used in base GTCEu, so feel free to solidify all of it into sheets.", - "quests.medium_voltage.mv_boards.title": "Plastic Boards", - "quests.medium_voltage.mv_boards.subtitle": "It's a Casio on a Plastic Board", - "quests.medium_voltage.mv_boards.desc": "At this point, you have all the tools available to start making Plastic Boards. Higher-tier polymers in future will increase your PCB yields substantially.\n\nThe recipe chains are starting to get pretty long, so we recommend processing large batches in two dedicated &3Chemical Reactors&r.", - "quests.medium_voltage.mv_sodium_iron.title": "Sodium Persulfate / Iron III Chloride", - "quests.medium_voltage.mv_sodium_iron.subtitle": "Let's etch some Copper off Circuit Boards!", - "quests.medium_voltage.mv_sodium_iron.desc.1": "&aSodium Persulfate&r can be used in &9Ore Processing&r in the &3Chemical Bath&r to get various bonus outputs you would not normally obtain. It's completely optional, but pretty rewarding.\n\n&lWait, stop! That's only a distraction&r - the real topic of this Quest is...\n\n&aSodium Persulfate&r and &aIron III Chloride&r are used to make cheaper &9Good Circuit Boards&r, as their inclusion cuts Silver usage by a factor of four.\n\nThey're also &drequired&r to make &9Plastic Circuit Boards&r.", - "quests.medium_voltage.mv_sodium_iron.desc.2": "Making &aSodium Persulfate&r will yield &aHydrochloric Acid&r as a coproduct, which you may re-use to make &aIron III Chloride&r. This should the best approach right now, but the decision is entirely yours.\n\nThough if you are able to bring back Sea Water passively, Iron III Chloride will be the cheaper and more straight forward path.", - "quests.medium_voltage.mv_inductor.title": "Inductors", + "quests.medium_voltage": "&bMV&r - 中電圧時代", + "quests.medium_voltage.subtitle": "新たな電気機械と石油化学の時代", + "quests.medium_voltage.mv_machine_hull.title": "MVへようこそ", + "quests.medium_voltage.mv_machine_hull.subtitle": "新しい技術、新しい課題", + "quests.medium_voltage.mv_machine_hull.desc.1": "上位の電力に入るということは、より多くのことを覚えねばならないということです。&e新しい機械&rや&e化学物質&rがあなたを待っています。\n\n&6HV&rに入るために必要なものは全部で&23つ&r。順にみていきましょう。", + "quests.medium_voltage.mv_machine_hull.desc.2": "目標その1、それは&dEBF&rの強化です。それには&bMVエネルギーハッチ&rが必要です。MVハッチがあれば、&6HV&rのレシピが使用できるようになります。&eステンレススチール&rの作成にはこれが必要となります。また、&eカンタル&rも&dEBFコイル&rの強化に必要となります。", + "quests.medium_voltage.mv_machine_hull.desc.3": "目標その2、それはプラスチックの作成です。&bMV&rで作成するのは&eポリエチレン&rです。実はLVのうちから触れないこともない分野だったのですが、クエスト上ではここで扱います。ポリエチレンの作成方法には、以下の2種類があります。\n\n1.&e石油プラスチック&r:オイルサンドまたは液体採掘機で入手した石油から作成。発電に使える&eディーゼル&r燃料も手に入る。\n\n2.&e植物由来プラスチック&r:&6熱分解炉&rで木から作成する。&eベンゼン&rを使った&eガスタービン発電&rも始められる。\n\nいずれの作成方法にも利点と欠点があります。まあ、どのみち両方作ることになるのでそこまで関係ありません。", + "quests.medium_voltage.mv_machine_hull.desc.4": "最後に作るもの、それは&6HV回路&rです。正確に言えば、2番目に作れる&6マイクロ処理演算装置&rです。マイクロ処理演算装置は加工工程が&a2段階&rしかなく、最初に作れる&6発展型集積回路&rに比べて楽に作ることができます。\n\nマイクロ処理演算装置の作成には、&dレーザー刻印機&rで&dウェハー&rを作る必要があります。ウェハーから&6HV回路&rを作成し、それを材料に&bMV回路組立機&rを作成しましょう。\n\n実のところマイクロ処理演算装置は必須ではないのですが、作れるとあとがとても楽になります。そういう噂だ(定型文)", + "quests.medium_voltage.mv_miner.title": "自動採掘", + "quests.medium_voltage.mv_miner.subtitle": "鉱脈採掘がめんdな人向け", + "quests.medium_voltage.mv_miner.desc.1": "採掘機はあなたの代わりに鉱石を掘ってくれます。\n\n採掘できる範囲については、垂直方向は無制限、水平方向はアイテムの説明に書いてあります。\n\n&bMV&r採掘機の採掘範囲はそこそこ、鉱脈全体を掘るには至りませんが、&6HV&r採掘機なら鉱脈全体を掘ることができます。いずれかの種類の採掘機を作成することで、クエストクリアとなります。", + "quests.medium_voltage.mv_miner.desc.2": "採掘機の稼働には&9電力&rが必要です。&aバッテリー&rでも良いですが、電池切れになりがちです。\n\nおすすめの方法は、燃料を入れた&3ドラム&rと&3発電機&rを置いておくことです。\n\n発電機の上に燃料ドラムを置き、&5ソフトマレット&rで自動搬出をオンにすれば、ドラムから燃料を供給してくれます。", + "quests.medium_voltage.mv_miner.desc.3": "&c注:&r稼働の際には、採掘したい範囲の&dチャンクロード&rを忘れずに。FTBmapのチャンクロード機能で行うのが一番簡単です。\n\n&9まめちしき:&r&3MEチェスト&rや&3クレート&rを使うことで、採掘したアイテムの持ち帰りが楽になります。&3MEチェスト&rはEU電力でも稼働出来ますが、現時点では作れません。", + "quests.medium_voltage.mv_miner.task": "いずれかの採掘機", + "quests.medium_voltage.mv_component.title": "MVの中間素材", + "quests.medium_voltage.mv_component_.subtitle": "また中間素材かよ!", + "quests.medium_voltage.mv_component.desc": "以下は&bMV&rで使用する中間素材の一覧です。いちいち作っていては気が狂ってしまうので(特に&aモーター&r)、自動クラフトをしたり、大量にまとめて作ったりすることをおすすめします。\n\n&aエミッタ&rについて。MVエミッタは&d傷のないエメラルド&rを作成に使用します。これは現段階では&3選別機&rでのみ作成できます。\n\nコンベア、ポンプ、ロボットアームの3種は、機械に取り付けるとLV版の上位互換として機能します。", + "quests.medium_voltage.electrolyzer.title": "MV電解槽", + "quests.medium_voltage.electrolyzer.subtitle": "ここ進研〇ミでやったところだ!", + "quests.medium_voltage.electrolyzer.desc.1": "&bきっと見たことある機械&r\n&2何はなくとも、まずこの機械はなるべく早く作ってください。&r電解槽を作ることで、&7アルミニウム&rの入手手段が大幅に増加します。\n\nMV以前で使える方法は、&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他にもいろいろな手段があるので、&aEMI&rで確認してみましょう。\n\nちなみに、粘土の電気分解によるレシピは&6HV&rまで禁止です。ズルいので残当。", + "quests.medium_voltage.mv_extruder.title": "発展型押出機", + "quests.medium_voltage.mv_extruder.subtitle": "超パワーアップ", + "quests.medium_voltage.mv_extruder.desc": "こんなModpackを遊んでいる方なら分かっているとは思いますが、&7LV&rまでの押出機はハッキリ言ってゴミです。もし作ってしまったのであれば、今すぐアーク炉で破棄してください。\n\n押出機は&aインゴット&rを成型する機械です。中間素材の作成が楽になるうえ、効率もとても高いです。\n\n&6ボルト&r、&6&6小さい歯車&r、&6歯車&r、&6&6リング&rなどが押出機で作成できます。一度に生産できる個数も最も多いです。\n\nその他、&dパイプ&r&dネジ&r、&dローター&rも押出機で作成できます。", + "quests.medium_voltage.mv_chemical_reactor.title": "発展型化学反応器", + "quests.medium_voltage.mv_chemical_reactor.subtitle": "強く、速く、より便利に", + "quests.medium_voltage.mv_chemical_reactor.desc": "MVにも化学反応器は存在します。\n\n&bMV&r化学反応器では、更なる高度なレシピが追加されるほか、LV時代のレシピによる加工を&aより高速で&r行うことができます。ただし、加工速度が&a2倍&rになる一方で、消費電力は&e4倍&rになるため、注意が必要です。\n\nまた、&bMV化学反応器&rは&d植物由来プラスチック&rの作成において必須となります。というのも、ポリエチレンの材料となる&dエチレン&rを作成するためには、&d硫酸&rと&dエタノール&rを化学反応器で反応させる必要があり、この加工に&bMV化学反応器&rが必要なのです。\n\nこのことを抜きにしても、化学反応器は生産コストが安く、また便利な機械であるので、作っておいて損はありません。", + "quests.medium_voltage.mv_mixer.title": "発展型ミキサー", + "quests.medium_voltage.mv_mixer.subtitle": "もっと特殊な合金を", + "quests.medium_voltage.mv_mixer.desc": "&bMV&r機械が揃ってきたのなら、そろそろこれを作る時。\n\n&3MVミキサー&rで作れるアイテムには、有用なものがとても多いです。", + "quests.medium_voltage.mv_energy.title": "MV時代の電力事情", + "quests.medium_voltage.mv_energy.subtitle": "さらなる苦役のはじまり", + "quests.medium_voltage.mv_energy.desc.1": "このクエストでは、&bMV機械&rを安定稼働するために必要となる、電力の生産方法について紹介していきます。\n\n今後は電力時代のクエストタブで発電方法について触れることはしない予定なので、HV以降はGregtechエネルギーについてのクエストタブを参照してください。\n\nMVで取れる方法は&a3種類&rあります。\n\n&81.&bMV発電機&rで&bMV電力&rを生産する。\n\n&82.&b&7LV&r電力を昇圧する&r。交換比は&e4:1&r。\n\n&83.&bFE&rから&dエネルギー変換器&rで変換する。\n\n", + "quests.medium_voltage.mv_energy.desc.2": "上位の発電機では、発電量に比例して燃料消費速度が上昇します。あくまで消費速度が上がるだけで、燃料あたりの発電量は常に同じです。&3発展型蒸気タービン&rは、毎秒&d5120mB&rの蒸気を消費します。1tickあたりの消費量で表すと、&d256mB/t&rです。\n\nいずれかの発電機を作成すると、クエストクリアとなります。おそらく最初に作るのは&3発展型蒸気タービン&rになるかと思います。", + "quests.medium_voltage.mv_energy.desc.3": "蒸気タービン以外にも、&bMV&rの発電機はいくつか存在します。インベントリ内で発電機にカーソルを合わせ、&4U&rキー(初期設定の場合)を押すことで、発電機ごとに使用できる燃料の種類を確認することができます。\n\n本チャプターの左上では、色々な発電方法が紹介されているので、確認しておきましょう。\n\n&9蒸気タービン&rを使用する場合は、&3大型ボイラー&rを作成しないと蒸気の消費量がかなり厳しいです。", + "quests.medium_voltage.mv_energy.desc.4": "&3変圧器&rを使用することで、安全に電圧を上げ下げすることができます。変圧器を通った電気は、モードに応じて1段階上または下の電圧に変換されます。\n\n変圧器の役割には、異なる電圧の機械を動かすことに加えて、長距離の電力輸送があげられます。というのも、電圧が上がれば上がるほどケーブルの減衰による影響は小さくなるからです。この辺りの仕様は現実と同じです。", + "quests.medium_voltage.mv_energy.desc.5": "変圧器の6つある面のうち、5つの面は低い電圧の電気を受け付け、残りひとつの面は高い電圧を受け付けます。\n\n通常の変圧器は、高圧1Aと低圧4Aとの間で変換を行います。他にも2Aと8A、4Aと16A、16Aと64Aの間で変換する変圧器も存在します。\n\n上位の変圧器を作成するには、&9コイル&rが必要です。", + "quests.medium_voltage.mv_energy.desc.6": "また、LV時代と同様に、エネルギー変換器でFEからEUに変換することも可能です。", + "quests.medium_voltage.mv_battery.title": "MVバッテリーバッファ", + "quests.medium_voltage.mv_battery.subtitle": "蓄電", + "quests.medium_voltage.mv_battery.desc": "LV時代にも言いましたが、&bバッテリーバッファ&rは積極的に使っていきましょう。バッテリーバッファがあれば、発電量を超える量の電気を使っても、すぐには電力不足に陥らなくなります。充電は機械を止めている間に回復するので安心です。", + "quests.medium_voltage.mv_battery.task": "いずれかのMVバッテリーバッファ", + "quests.medium_voltage.mv_batteries.title": "もっと強力な電池を", + "quests.medium_voltage.mv_batteries.subtitle": "最強バッテリーn選!", + "quests.medium_voltage.mv_batteries.desc": "&7LV&r時代と同様に、&bMV&r時代の蓄電にはMVバッテリーが必要です。\n\nただし、生産に必要なリチウムなどの消費量は8個に跳ね上がっています。そのため、数に余裕がある材料を使って作るようにしましょう。材料が違っても、蓄電量の違いはさほど大きくありません。\n\nいずれかのMVバッテリーを作成すると、クエストクリアとなります。", + "quests.medium_voltage.mv_steel_alloy.title": "スチール合金", + "quests.medium_voltage.mv_steel_alloy.subtitle": "Hearts of Iron", + "quests.medium_voltage.mv_steel_alloy.desc": "バナジウム鋼は、機械の材料として使うことはほとんどない一方で、ツールに使うと鋼鉄の4倍もの耐久力を持つツールを作ることができます。バナジウムは、磁鉄鉱鉱脈でよく採れるバナジウム磁鉄鉱から入手できます。\n\n青鋼、赤鋼、黒鋼も、スチール系の合金です。青鋼ツールは、鋼鉄の2倍の耐久を持ちます。", + "quests.medium_voltage.pyrolyse.title": "熱分解炉", + "quests.medium_voltage.pyrolyse.subtitle": "熱で分解", + "quests.medium_voltage.pyrolyse.desc.1": "&3熱分解炉&rとは、要するに電動の&3コークス炉&rです。&9コークス&rや&9木炭&rを作成し、&9クレオソート&rを副産物として生む従来のレシピも使えますが、他にも様々な物質を副産物として得ることができます。特に役立つのが&a木質タール&rです。\n\n他にも、熱分解炉で作れる&aバイオマス&rは、植物由来プラスチックの作成に必要です。", + "quests.medium_voltage.pyrolyse.desc.2": "各種の副産物は、蒸留機を用いることで別の化学物質を取り出すことができます。\n\n蒸留機で作れる化学物質については、後のクエストで紹介しているので、確認しておきましょう。", + "quests.medium_voltage.pyrolyse.desc.3": "一部のレシピは、&b窒素&rを使うことでより高速でのクラフトが可能となります。現時点ではわざわざ加速するほどの価値はありませんが、窒素は無限資源であるので、いずれは使うとよいでしょう。\n\n熱分解炉の稼働には、安定して&d64EU/t&rの電力を流す必要があります。エネルギーハッチを1基用意し、そこに超伝導ケーブルで電力を供給すればOKです。また、現時点ではキュプロニッケルで温度が足りますが、将来的にはカンタルに切り替えるべきでしょう。", + "quests.medium_voltage.pyrolyse.desc.4": "&9&lまめちしき1:&r&l&9&lエチレン&r&lの作成方法には、他にも石油を使った方法があります。&r\n\n石油を使う場合、熱分解炉は必ずしも必要ではありませんが、作っておけば発電手段や特殊な化学物質の確保ができ、とても有用です。\n\n&l&3まめちしき2:&r&oGT5u時代における熱分解炉のマルチブロックは、現在と異なる構造をしていました。当時はやたらと巨大な箱に9個のコイルを入れる構造であったうえ、今のようにマルチブロックの構造を確認する手段が乏しかったため、組み立てにとても苦労していました。", + "quests.medium_voltage.mv_fluid_rig.title": "液体採掘機", + "quests.medium_voltage.mv_fluid_rig.subtitle": "殺伐としたCEuに液体採掘機が!", + "quests.medium_voltage.mv_fluid_rig.desc.1": "&3液体採掘機&rのコストは猛烈に高いです。しかし、MV時点では最強の&6石油入手手段&rでもあります。\n\n液体採掘機は、地底の岩盤から液体を掘り出す機械です。岩盤から掘り出すといっても、実際に掘っているわけではなく、チャンクごとに設定されている液体を生成する、というのが正確です。\n\nGT環境ではチャンクごとに液体の油田が設定されています。それぞれに異なる液体が設定されていますが、大半は石油系の液体です。\n\nMVの段階では、チャンクごとに埋蔵されている液体の種類を事前に確認する手段は存在しません。&6HV&rまで待ちましょう。", + "quests.medium_voltage.mv_fluid_rig.desc.2": "各チャンクからは、おおよそ秒間&d150&r~&d300&rL程度液体が生成されます。\n\n液体採掘機の稼働を続けると、次第にこの生成量が減少していき、最終的には枯渇します。枯渇したら他の場所に移動しましょう。\n\nMVの液体採掘機は、1か所の油田につき、枯渇までに10万サイクル(毎秒1サイクル)採掘処理を行います。この10万サイクルの間に、合計で&6バケツ1万杯分&rをゆうに超える量の液体を入手できます。上位のモデルになると、液体の入手速度が上昇する一方で、より早く液体が枯渇するようになります。", + "quests.medium_voltage.mv_fluid_rig.desc.3": "&l&2地上世界&rで見つかる油田&l:&r\n\n&9原油:&r&a軽質燃料&rが多く得られる。汎用性が高い。\n&9軽油:&r&a精製ガス&rが多く得られる。発電手段として有用。\n&9重油:&r&a重質燃料&rが多く得られる。トルエンの材料。\n&9原料油:&r&aナフサ&rが多く得られる。石油化学工業のお供。\n&9天然ガス:&r&a精製ガス&rが簡単に得られる。\n&9海水:&r&aナトリウム&rと&a塩素&rが得られる。", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&l&c地下世界&rで見つかる油田&l:&r\n\n&9天然ガス:&r&a精製ガス&rが得られる。地上世界より産出量が多い。\n&9溶岩:&r説明不要。\n\n最初はとりあえず色々な場所を掘ってみるのが吉です。多くの場合、堀った液体はそのまま採掘機の稼働に使えます。", + "quests.medium_voltage.mv_oilsands.title": "アメリカごっこ", + "quests.medium_voltage.mv_oilsands.subtitle": "本クエストは米軍の提供でお送りしています", + "quests.medium_voltage.mv_oilsands.desc": "地下にはオイルサンドの鉱脈が存在します。オイルサンドの粉を&3遠心分離&rすると、&a原油&rが入手できます。\n\n&9&lまめちしき:&r&l&9&lエチレン&r&lの作成方法には、他にも植物から採れるエタノールを使った方法があります。&r&r\n\n現段階では石油は不要ですが、&5EV&r時代には必須となります。\n\nまた、石油からは&a軽質燃料&r&aディーゼル&r、&aガソリン&rなど有用な燃料が得られます。\n\nゆえに、プラスチックの作成に石油を使うのであれば、石油を使った発電も検討することをおすすめします。\n\nオイルサンドは、この先液体採掘機を作成するまで、長くお世話になるアイテムです。", + "quests.medium_voltage.mv_lpg.title": "燃料紹介シリーズ:ガス編", + "quests.medium_voltage.mv_lpg.subtitle": "くさそう", + "quests.medium_voltage.mv_lpg.desc.1": "&a精製ガス&r、&aLPG&r、&aメタン&rは&9ガス燃料&rに分類されます。LPGは炭素と水素からなるガスで、燃焼させて利用します。\n\n精製ガスは&d天然ガス&rまたは&d軽油&rから作成されます。後者は生成量が多いですが、作成にやや複雑な手順が要求されます。\n\n&3遠心分離機&rで&aLPG&rと&aメタン&rを作るのは必ず行うようにしましょう。", + "quests.medium_voltage.mv_lpg.desc.2": "&a&aLPG&rや&aMethane&rは&3ガスタービン&r発電に利用されます。天然ガス系燃料の強みは、精製の簡単さです。しかしながら、より高性能な上位燃料に再精製することができないため、長期的には天然ガスの採掘量自体を増やす必要があります。\n\nまた、&aメタン&rは&a植物&rから生産することもできます。他にも様々な燃料があるので、確認しておきましょう。", + "quests.medium_voltage.mv_brewery.title": "発酵の時間", + "quests.medium_voltage.mv_brewery.subtitle": "かもすぞー", + "quests.medium_voltage.mv_brewery.desc.1": "醸造機は、&a潤滑油&rの作成に使える機械です。材料には&aレッドストーン&rと&aクレオソート&rまたは&a石油&rを使用します。潤滑油の用途には、たとえば&3裁断機&rの加工速度を大幅に向上させる、などがあります。\n\n醸造機の加工速度はとても遅いですが、代わりに電力消費がとても少ないです。プラスチックに必要な分のバイオマスを作成するには、複数台の醸造機を設置するとよいでしょう。\n\n&9ヒント:&r醸造機でなく、&3熱分解炉&rでも&9エチレン&rを作成することは可能です。また、石油から作成する方法も存在します。&r", + "quests.medium_voltage.mv_brewery.desc.2": "&l&3おまけ:&r&oGT6では、醸造機を使って酒を作成することができます。&r", + "quests.medium_voltage.mv_biomass.title": "バイオマス", + "quests.medium_voltage.mv_biomass.subtitle": "植物から工業へ", + "quests.medium_voltage.mv_biomass.desc.1": "植物由来プラスチックをつくろう!本ルートの目標は、&dエチレン&rの作成に必要となる、&dエタノール&rと&d硫酸&rの作成です。\n\n&dエタノール&rの作成には、&aバイオマス&rの蒸留が必要となります。では、さっそくバイオマスの作成方法から見ていきましょう。\n\n方法1:&a苗木&rと水を&d醸造機&rに入れる。この方法は簡単ですが、とても時間がかかります。", + "quests.medium_voltage.mv_biomass.desc.2": "方法2:&aバイオチャフ&rから作成する。バイオチャフは&aプラントボール&rを粉砕することで得られます。こちらは若干手順が多いですが、生産効率に優れます。なお、&6HV粉砕機&rが解禁されるまでは、副産物は得られません。\n\n&bプラントボール&rの入手方法:\n-&9サトウキビ&rや&9ビーツ&rの遠心分離\n-一部木材の遠心分離&9#afc:tappable_logs&r\n-&a苗木&rの圧縮\n\n&aバイオチャフ&rが作れたら、それを&d醸造機&rまたは&d熱分解炉&rに入れることで、バイオマスの完成です。熱分解炉で作成する場合、作成量が1.6倍になります。", + "quests.medium_voltage.mv_biomass.desc.3": "&l&3おまけ:&r&o実は、本家IC2にもプラントボールは存在します。ただしIC2exのプラントボールは、発電に使えるバイオガスに転換するための手順が多く、とても不便でした。", + "quests.medium_voltage.mv_distillery.title": "蒸留機", + "quests.medium_voltage.mv_distillery.subtitle": "すべての道は蒸留機に通ず", + "quests.medium_voltage.mv_distillery.desc.1": "必ず以下を読んでください。\n\n&a石油プラスチック&rを使用する場合、必要となるのは&3LV蒸留機&rです。\n\n対して、&a植物由来プラスチック&rを使用する場合は、&3MV蒸留機&rが必須となります。\n\nLVかMVのいずれか一方を作成すれば、クエストクリアとなります。", + "quests.medium_voltage.mv_distillery.desc.2": "では、&9蒸留機&rについてみていきましょう。&aEMI&rをみれば分かるように、蒸留関連のレシピはとても複雑です。\n\n実は、&3蒸留機&rによるレシピの大半は、&3蒸留塔&rのそれと共通です。ただし、蒸留機で同時に作れる生成物は1種類のみで、他の生成物は破棄されます。\n\nこの点において、&3蒸留機&rは&3蒸留塔&rの劣化版であるといえます。", + "quests.medium_voltage.mv_distillery.desc.3": "しかし、だからといって&3蒸留機&rが完全な劣化版かといえば、そうではありません。蒸留機は蒸留塔よりも早く解禁されるうえ、&d小型&rかつ&d低コスト&rで、さらに&d省エネ&rです。\n\nそもそも、蒸留されるすべての液体が必要になることは滅多にありません。\n\nまた、&3蒸留機&rは&aディーゼル&rや&aベンゼン&rといった、燃料の作成にも必要となります。\n\nたいていの場合、将来的には下位の蒸留機を大量に作成することになります。", + "quests.medium_voltage.mv_distillery.task": "LVまたはMVの蒸留機", + "quests.medium_voltage.mv_benzene.title": "燃料紹介シリーズ:ベンゼン編", + "quests.medium_voltage.mv_benzene.subtitle": "伝家の宝刀", + "quests.medium_voltage.mv_benzene.desc.1": "&aベンゼン&rは&9ガス燃料&rのひとつです。説明を読んでいられない人のために、まずは入手方法から紹介していきます。\n\n1つ目の入手方法は、&d原木&rから作成する方法です。&3熱分解炉&rで原木を加工することで、&9木質タール&rを作成することができます。木炭も、&3抽出機&rで&9木質タール&rに加工することができます。作成した木質タールを&3蒸留&rすることで、&aベンゼン&rを作ることができます。\n\nもうひとつの方法は、&d重油&rを精製する方法です。重油を&3醸造機&rで加工することにより、&9重質燃料&rを作ることができます。これを&a蒸気で分解&rし、&3蒸留&rすることで、&aベンゼン&rになります。", + "quests.medium_voltage.mv_benzene.desc.2": "石油関連のレシピについては、軽質燃料とナフサに関するクエストを参照してください。\n\nなお、Gregtechにおいては、多くの下位機械で並列作業する方が、少数の上位機械で加工するよりも良いことが多いです。これは、上位機械になるほど消費電力が多いからです。\n\n&aベンゼン&rは&3ガスタービン&rで使用することができます。&eディーゼル&rに比べてベンゼンの発電効率は悪いですが、 &6HV&r時代になると&6ニトロベンゼン&rへの加工が可能となり、大幅に発電効率が上昇します。", + "quests.medium_voltage.mv_light_fuel.title": "軽質燃料", + "quests.medium_voltage.mv_light_fuel.subtitle": "とてもかるい", + "quests.medium_voltage.mv_light_fuel.desc": "石油の蒸留で得られる燃料には硫黄が含まれているため、それらを除去するための手順が必要です。\n\n水素との反応で作られる&a硫化水素&rは、&3電解槽&rを用いることで再利用することができます。\n\n&3化学反応器&rと&3電解槽&rを隣接させることで、このプロセスを簡単に自動化することができます。この方法を使う場合、機械の設定画面を開き、搬出面からの搬入を許可するように設定しましょう。\n\n&a軽質燃料&rは、そこそこ高性能な燃料です。ただし、次のクエストではさらに高性能な燃料が紹介されています。", + "quests.medium_voltage.mv_diesel.title": "燃料紹介シリーズ:ディーゼル編", + "quests.medium_voltage.mv_diesel.subtitle": "ディーゼルとはなんぞや", + "quests.medium_voltage.mv_diesel.desc.1": "&aディーゼル&rは、&d石油から作れる&9液体燃料&rです。\n\n原油または原料油から&a軽質燃料&rと&a重質燃料&rを作成し、それらを混合してディーゼルにする場合、前者の作成に蒸留機を3基、後者に2基用いることで、ちょうどよい割合になります。", + "quests.medium_voltage.mv_diesel.desc.2": "また、&d重油&rから&a重質燃料&rを作成することで、コストを大幅に減らすことができます。また、&dオイルサンド&rから得られる石油を使うのも有効です。\n\n&o(詳細:原油8.33->ディーゼル6、原油5+重油0.4->ディーゼル6)&r\n\n&eヒント:&r&3蒸留塔&rの使用はおすすめしません。蒸留塔では重質燃料と軽質燃料の両方が一気に得られますが、消費電力に対して得られる燃料の量が少なく、効率がとても悪いです。", + "quests.medium_voltage.mv_diesel.desc.3": "したがって、下位の蒸留機を多数作成して加工する方が、結果的にはお得です。\n\n&aディーゼル&rは&3燃焼発電機&rで使用することができます。また、&6HV&r時代になると、&6セタン添加ディーゼル&rへの加工が解禁されます。他の燃料に比べ、ディーゼルはより高効率ですが、引き換えに精製プロセスがやや複雑です。&e石油プラスチック&rを目指す場合であれば、既存の機械で作成できるため、選択肢として有効でしょう。", + "quests.medium_voltage.mv_jetpack.title": "鳥人間あらわる", + "quests.medium_voltage.mv_jetpack.subtitle": "鳥……鳥?", + "quests.medium_voltage.mv_jetpack.desc": "ジェットパックと&a液体燃料&rがあれば、飛行することができます。\n\nジェットパックに燃料を入れるには、ドラムまたは缶詰機が必要です。\n\n&4H&r(初期設定)を押すと、ホバーモードへの切り替えが可能です。", + "quests.medium_voltage.mv_ethanol.title": "エタノール", + "quests.medium_voltage.mv_ethanol.subtitle": "アルコール?", + "quests.medium_voltage.mv_ethanol.desc": "&aバイオマス&rを&3MV蒸留機&rで加工することで、&aエタノール&rが得られます。\n\n&dエチレン&rを作成するには、このエタノールを&a硫酸&rと反応させる必要があります。\n\n&9発酵したバイオマス&rを&3蒸留塔&rで加工すると、より多くの副産物が得られます。\n\n発電機の燃料にエタノールを使用するのは絶対にやめましょう。エコな燃料が欲しいのであれば、&dベンゼン&rの方がはるかに有用です。", + "quests.medium_voltage.mv_bio_diesel.title": "燃料紹介シリーズ:バイオディーゼル編", + "quests.medium_voltage.mv_bio_diesel.subtitle": "お花発電", + "quests.medium_voltage.mv_bio_diesel.desc": "エコな燃料が欲しい、けれども木は使いたくないというワガママな方には、&3バイオディーゼル&rがおすすめです。バイオディーゼルを使う場合は、ヒマワリまたはキャノーラから得られる&d種油&rを使いましょう。エタノールと水酸化ナトリウムを用意し、これを種油と反応させることで、バイオディーゼルが作成できます。また、このとき副産物として得られるグリセロールは、&dエチレン&rの材料にもなります。", + "quests.medium_voltage.mv_mutli_channel.title": "多重液体パイプ", + "quests.medium_voltage.mv_mutli_channel.subtitle": "これもうAE2では?", + "quests.medium_voltage.mv_mutli_channel.desc": "通常の&o&dGregTech&r液体パイプは、同時に1種類の液体しか搬送できません。\n\nしかしながら、&3四重液体パイプ&rを使うことで、4種類の液体を同時に搬送することができます。さらには、9種類の液体を同時に搬送できる、&3九重液体パイプ&rというものも存在します。これらを使うことで、パイプ周りをとてもコンパクトにすることができます。\n\n特に、多種の液体を同時に生産する&3蒸留塔&rが解禁される&5EV&r時代において、&3九重液体パイプ&rは非常に有用です。\n\nいずれかの多重液体パイプを作成することで、クエストクリアとなります。", + "quests.medium_voltage.mv_naphtha.title": "ナフサか、軽質燃料か", + "quests.medium_voltage.mv_naphtha.subtitle": "ナフサとは何サ?", + "quests.medium_voltage.mv_naphtha.desc": "石油の蒸留で得られる燃料には硫黄が含まれているため、それらを除去するための手順が必要です。\n\n水素との反応で作られる&a硫化水素&rは、&3電解槽&rを用いることで再利用することができます。\n\n&3化学反応器&rと&3電解槽&rを隣接させることで、このプロセスを簡単に自動化することができます。この方法を使う場合、機械の設定画面を開き、搬出面からの搬入を許可するように設定しましょう。\n\n&aナフサ&rは石油製品の作成にとても有用であるだけでなく、なぜか燃料としても高性能です(弱体化される予定らしい)。ただし、オイルサンドから得られる原油を使用する場合、軽質燃料の方が良いことが多いです。詳細は続くクエストを参照してください。", + "quests.medium_voltage.mv_fuel_cracking.title": "燃料の分解", + "quests.medium_voltage.mv_fuel_cracking.subtitle": "なんもわからん", + "quests.medium_voltage.mv_fuel_cracking.desc.1": "炭化水素を作成するには、燃料を分解する必要があります。\n\n石油から&dエチレン&rを作成するレシピは大変に多いため、途中で混乱しがちです。\n\nエチレンの作成において最適な方法は、&aナフサ&rを&3化学反応器&rで蒸気分解するものです。より効率的にエチレンを作成したいのであれば、&a十分に蒸気で分解された&rと書かれている方の液体を使いましょう。", + "quests.medium_voltage.mv_fuel_cracking.desc.2": "現時点では、燃料を分解すると液体の量は半分になってしまいます。&6HV&r時代になると、これをロス無しで行える手段が解禁されます。\n\n&9ヒント:&rGregtechにおいてはありがちですが、下位機械によるレシピはとても非効率です。&3蒸留塔&rが解禁されると、石油の加工が大幅に楽になりますが、解禁されるのはずっと遅いです。今は我慢して普通の&3蒸留機&rを使いましょう。", + "quests.medium_voltage.mv_ethylene.title": "エチレン", + "quests.medium_voltage.mv_ethylene.subtitle": "炭化水素のひとつ", + "quests.medium_voltage.mv_ethylene.desc": "ここはエチレン関連の最終クエストです。\n\nエチレンの作成方法については、手前のクエスト群を参照してください。\n\n&aエチレン&rからはプラスチックが作成できるほか、いくつかの化学反応レシピにも使用することができます。", + "quests.medium_voltage.mv_sulfuric_acid.title": "硫酸", + "quests.medium_voltage.mv_sulfuric_acid.subtitle": "H2SO4がやってきた", + "quests.medium_voltage.mv_sulfuric_acid.desc.1": "硫酸のレシピをEMIで参照するのはとても大変なので、ここでは一番簡単なレシピを紹介します。\n\nなお、硫酸の用途はとても多いです。そのため、できるだけ早く自動化することをおすすめします。", + "quests.medium_voltage.mv_sulfuric_acid.desc.2": "硫酸の作成を自動化するには、3機のLV化学反応器が必要です。作成した硫酸を利用しやすいように、これ専用の独立した電力ネットワークを作っておくとよいでしょう。\n\n&9-&r手順1:&a硫黄&rを&b酸素&rと反応させ、&a二酸化硫黄&rを作成する。\n&9-&r手順2:&a二酸化硫黄&rをさらに&b酸素&rと反応させ、&a三酸化硫黄&rを作成する。\n&9-&r手順3:&a三酸化硫黄&rと&b水&rを反応させ、&e硫酸&rにする。", + "quests.medium_voltage.mv_sulfuric_acid.desc.3": "&l&3おまけ:&r&oGT5時代の化学反応器は液体スロットが1つしか無かったため、複数液体の反応には&dセル&fが必要でした。硫酸の作成も例外ではありませんでしたが、セル1個を複数機械でたらい回しにする、とても愉快な手法も生み出されていました。", + "quests.medium_voltage.mv_aciditic.title": "とても危険な液体", + "quests.medium_voltage.mv_aciditic.subtitle": "サンダー!", + "quests.medium_voltage.mv_aciditic.desc.1": "&9硫酸&rなど、一部の液体は&a酸性&rです。\n\n通常の液体パイプでは、こういった酸性の液体を搬送することが出来ません。\n\n&bMV&rの段階では、&a金&rのパイプが最も低コストで作成できます。また、&aバナジウム鋼&rや&aクロム&rのパイプも、酸性液体を搬送出来ます。\n\n&6HV&r時代では、&aステンレス鋼&rや&aポリテトラフルオロエチレン&r(早口)が解禁されます。", + "quests.medium_voltage.mv_aciditic.desc.2": "酸性液体の貯蔵方法は、現時点で3種類あります。すなわち&dガラス製バイアル&r、&d金のドラム&r、&dスーパータンク&rの3つです。ガラス製バイアルは、要するに酸性液体用の&9液体セル&rです。金のドラムは説明不要でしょう。&9ポリエチレン&rが作成できたならば、スーパータンクがとても強力です。スーパータンクは大容量で、なおかつ貯蔵できる液体に制限がありません。\n\n&c注意:&r通常のパイプに酸を流した場合、&c液体の消失&r、&cパイプ火災&rなどが発生する上、多くの場合自分も&c即死&rします。注意しましょう。\n\n&l&3おまけ:&r&o酸性液体周りの仕様はGT6から輸入されたものです。", + "quests.medium_voltage.mv_aciditic.task": "だいたいわかった", + "quests.medium_voltage.mv_hydrochloric.title": "塩酸", + "quests.medium_voltage.mv_hydrochloric.subtitle": "大量に使う危険物", + "quests.medium_voltage.mv_hydrochloric.desc": "&9塩酸&rは、&a酸素&rと&a塩素&rを反応させることで作成できます。\n\nその他、&a塩素&r関連の化学反応を行うことでも、副産物として入手できます。硫酸と異なり、専用の生産ラインを組む必要はありません。", + "quests.medium_voltage.mv_hydrogen.title": "水素ガス", + "quests.medium_voltage.mv_hydrogen.subtitle": "あぁ~水素の音~!", + "quests.medium_voltage.mv_hydrogen.desc": "&d水素&rは様々な手段で入手できます。化学反応レシピの中には、水素が副産物となる反応も多いです。\n\n&d石油化学&rをやる場合、大量の&dメタン&rを入手することになります。メタンを&a電気分解&rすることでも、&d水素&rが得られます。また、&9水&rの電気分解でも得られますが、その場合は代わりに&9海水&rを使うようにしましょう。海水の方が、水よりも副産物が多いからです。\n\n最適なのは&9水&rと&dメタン&rを反応させる方法ですが、このレシピは&6HV&rまで解禁されず、またとても時間がかかります。", + "quests.medium_voltage.mv_chlorine.title": "塩素ガス", + "quests.medium_voltage.mv_chlorine.subtitle": "塩のガス", + "quests.medium_voltage.mv_chlorine.desc": "&d塩素&rはとても有用な化学物質です。&d塩酸&rなど、多くの物質の材料となります。\n\n&d塩素&rは様々な手段で作成できますが、特に&d塩&rから作成されます。塩の入手は簡単なので、塩素の作成に困ることはないでしょう。\n\nまた、&a海水の電気分解&rは序盤における生産手段としてとても強力です。ただし、加工にかなりの時間を要します。", + "quests.medium_voltage.mv_seawater.title": "海水", + "quests.medium_voltage.mv_seawater.subtitle": "その御恩は山よりも高く海よりも深く……", + "quests.medium_voltage.mv_seawater.desc": "&9海水&rが自然生成されるので、&aTerrafirmaCraft&rは便利MODです(強弁)。このことにより、&a無限水源&rを使うことで簡単に海水を無限化することができます。あとは、無限化した海水を&a電気分解&rすることで、&d塩素&rや&d水素&rを入手することができます。", + "quests.medium_voltage.mv_long_pipe.title": "長距離液体搬送", + "quests.medium_voltage.mv_long_pipe.subtitle": "液体の搬送は大変!", + "quests.medium_voltage.mv_long_pipe.desc.1": "&3長距離液体パイプ&rを使うことで、超長距離の液体搬送が可能となります。接続口を始点と終点に設置し、その間をパイプラインブロックで繋ぐことで、長距離パイプを使用できます。\n\n接続口に入った液体は、瞬時に反対側の接続口に転送されます。\n\nただし、パイプラインには使用可能な最小距離が設定されているため、短距離の液体輸送に使用することはできません。", + "quests.medium_voltage.mv_long_pipe.desc.2": "ただし、長距離液体パイプは&4バグ&rが多いことで知られています。上手く稼働しない場合は、接続口を&eレンチ&rで回転すると稼働し始める可能性があります。", + "quests.medium_voltage.mv_polyethylene.title": "ポリエチレン", + "quests.medium_voltage.mv_polyethylene.subtitle": "はじめてのポリマー素材", + "quests.medium_voltage.mv_polyethylene.desc": "要するにプラスチックです。\n\n&a酸素&rを材料に使用することで、普通の空気よりも多くのポリエチレンが得られます。液体ポリエチレンは、ゴムと同様に、液体成型機で固体にすることができます。\n\n&aポリエチレン(PE)&rは多くのレシピで使用されます。特に、&dシート&rや&d液体ポリエチレン&rが使われることが多いです。\n\n&l&3おまけ:&r&o1.12.2時代、ポリエチレンの鉱石辞書における名称は&bplastic&fでした。これは互換性を重視したためです。", + "quests.medium_voltage.mv_tank.title": "スーパータンク", + "quests.medium_voltage.mv_tank.subtitle": "最強タンク1選!", + "quests.medium_voltage.mv_tank.desc": "スーパータンクは、携帯可能な中では文字通り最強のタンクです。バケツ&64000杯&r分もの容量を持ち、温度や酸性による制限もありません。\n\nドラムと同様に、スーパータンクは破壊されても液体を保持します。単体クラフトで、内部の液体を除去することができます。\n\nさらに強力な液体貯蔵手段が欲しいのであれば、上位のスーパータンクを使用するか、AE2の液体セルを使用しましょう。", + "quests.medium_voltage.mv_pvc.title": "ポリ塩化ビニル", + "quests.medium_voltage.mv_pvc.subtitle": "第二のポリマー", + "quests.medium_voltage.mv_pvc.desc": "&aポリ塩化ビニル(PVC)&rは、現実世界において3番目に多く製造されているプラスチックです。ポリエチレンの代わりに&aプラスチック製回路基板&rの作成に使用することで、製造数を倍にすることができます。&5EV&r時代以降では、ケーブルの被覆にも必要になります。\n\nまた、PVCアイテムパイプは非常に高性能で、これ以上のものは当面解禁されません。MV時点ではそれほどの性能を要求される場面はありませんが、今後のために覚えておきましょう。\n\n&9ヒント:&rGTCEuにおいてPVCを液体で使用する場面は存在しないため、すべてシートに加工してしまっても問題ありません。", + "quests.medium_voltage.mv_boards.title": "プラスチック製回路基板", + "quests.medium_voltage.mv_boards.subtitle": "とても頼れるヤツ", + "quests.medium_voltage.mv_boards.desc": "ようやくプラスチック製回路基板(PCB)の作成に着手できます。なお、上位のポリマー素材を使うことで、PCBの作成効率はさらに上昇します。\n\nなお、以降のレシピはさらに複雑になるため、2機の化学反応器を用意したうえで、大量のアイテムを一気に作成するようにしましょう。", + "quests.medium_voltage.mv_sodium_iron.title": "過硫酸ナトリウム/塩化鉄(III)", + "quests.medium_voltage.mv_sodium_iron.subtitle": "えっち(んぐ)だ……", + "quests.medium_voltage.mv_sodium_iron.desc.1": "&a過硫酸ナトリウム&rは、&9鉱石加工&rに使える液体です。&3化学槽&rで使用することにより、特殊な副産物を得ることができます。\n\n……それはともかく、&a過硫酸ナトリウム&rや&a塩化鉄(III)&rの真の用途、それは&9プリント回路基板&rの作成です。これら液体を使用することで、回路基板の作成に必要な金属の量がなんと4分の1になります。\n\nまた、&9プラスチック製プリント回路基板&rの作成には必須です。", + "quests.medium_voltage.mv_sodium_iron.desc.2": "&a過硫酸ナトリウム&rの作成時には、副産物として&a塩酸&rが入手できます。この塩酸は、&a塩化鉄(III)&rの材料になります。\n\nただし、塩酸はTFCにおいて無限資源である海水から作成できるため、本環境では塩化鉄(III)の方がより低コストで作成できます。", + "quests.medium_voltage.mv_inductor.title": "インダクタ", "quests.medium_voltage.mv_inductor.subtitle": "Z = jwL", - "quests.medium_voltage.mv_inductor.desc": "A Circuit Component that you can now make thanks to the &3MV Assembler&r and &3Polyethylene&r.\n\nIf you want the cheapest recipe, &aNickel-Zinc Ferrite&r is the way to go.", - "quests.medium_voltage.mv_electronic_components.title": "Electronic Components", - "quests.medium_voltage.mv_electronic_components.subtitle": "A core piece of GT progression system", - "quests.medium_voltage.mv_electronic_components.desc": "Let's talk about the &dElectronic Components&r from &dGregTech&r. They are a &ccore part&r of the mod's progression and are used to make &aall circuits&r in the game.\n\nMost components have &amultiple recipes&r. Depending on the &9materials&r you choose, you can achieve &ebetter yields&r. We encourage you to browse through &aEMI&r and decide which ones fit your situation best.\n\nThese components can be crafted in &clarge stacks&r—you'll need &ea lot&r of them for your future circuits!\n\nFor the &dTransistor&r, you’ll specifically need &5Silicon Ingots&r... but by now, you should be &cvery familiar&r with &chandling hot stuff&r, right?", - "quests.medium_voltage.mv_best_lv.title": "Best LV Circuits", - "quests.medium_voltage.mv_best_lv.subtitle": "It Feels Good to be the Best", - "quests.medium_voltage.mv_best_lv.desc": "&6The best LV Circuits&r! You can start to churn these guys out, as you'll be making them for the rest of the game.\n\nTry to keep a stockpile of these crafted at all times - making these on-demand can take a while.\n\nReaching &5EV&r will unlock methods to make them even cheaper.", - "quests.medium_voltage.mv_best_mv.title": "Best MV Circuits", - "quests.medium_voltage.mv_best_mv.subtitle": "MV has peaked", - "quests.medium_voltage.mv_best_mv.desc": "&6The best MV Circuits&r! You will be making these for the remainder of the game.\n\nEventually (in &9IV&r), they will become even cheaper.", - "quests.medium_voltage.mv_second_hv.title": "More HV Circuits", - "quests.medium_voltage.mv_second_hv.subtitle": "On that HV grind", - "quests.medium_voltage.mv_second_hv.desc": "Congrats finishing a major milestone of the &bMV Chapter&r.\n\nBetter &6HV&r Circuits - much &dcheaper&r and easier to make than before.\n\nYou should now be &aready to move on&r to the HV Chapter, unless you're yet to scale up your Power Production.", - "quests.medium_voltage.mv_circuit_assembler.title": "Your Second Circuit Assembler", - "quests.medium_voltage.mv_circuit_assembler.subtitle": "Yippee, yahoo", - "quests.medium_voltage.mv_circuit_assembler.desc": "As is common for every tier, the &3Circuit Assembler&r is an essential part of progression, always opening up a new Tier of circuits.\n\nAt this point you should be placing an &3Extractor&r next to your Circuit Assembler. Send off dozens of stacks of &aSoldering Alloy&r Ingots, and you won't have to worry about refilling again.", - "quests.medium_voltage.mv_more_lv.title": "More LV Circuits", - "quests.medium_voltage.mv_more_lv.subtitle": "You have unlocked a new tier of Circuits!", - "quests.medium_voltage.mv_more_lv.desc.1": "The Integrated Logic Circuit is an alternate &7LV &aCircuit&r, which is easier to mass-produce, and can be upgraded to &bMV&r (and then &6HV&r).\n\n&9Note:&r This is not a strict upgrade to the cost of Circuits - you would need to get to the next Tier for that. It is still an important upgrade, and is required to get to &6HV circuits&r.", - "quests.medium_voltage.mv_more_lv.desc.2": "&l&3Lore:&r&o The circuit progression in GTCEu is mostly based on GT5u's progression. It has been rebalanced to not be as painful. &lSpecifically&r&o this circuit tier, which was a trap!", - "quests.medium_voltage.mv_more_mv.title": "More MV Circuits", - "quests.medium_voltage.mv_more_mv.subtitle": "More... I demand more!", - "quests.medium_voltage.mv_more_mv.desc": "The &bMV&r Circuit for the Integrated Tier, this is one is kinda bad. Use it only to make your first HV Circuit", - "quests.medium_voltage.mv_first_hv.title": "First HV Circuits!", - "quests.medium_voltage.mv_first_hv.subtitle": "...but hold on before getting too giddy", - "quests.medium_voltage.mv_first_hv.desc": "Alright... technically, obtaining &6HV&r Circuits and Stainless Steel lets you progress to &6HV&r - but let's not rush things.\n\nThe first thing you should make with these is a &3MV Circuit Assembler&r to unlock the new tier of Circuits right away; cheaper recipes is the &dreal payoff&r here.", - "quests.medium_voltage.mv_multi_smelter.title": "Ultimate Smelter", - "quests.medium_voltage.mv_multi_smelter.subtitle": "Possibly the most powerful furnace you've seen", - "quests.medium_voltage.mv_multi_smelter.desc": "At its lowest power (Cupronickel coils and &7LV&r Voltage), the &dMulti Smelter&r smelts 32 items in just 12 seconds - equivalent to &926.7 Furnaces&r, or 3.3 Steam Ovens!\n\nIf that wasn't already enough to convince you, standard &aoverclocks&r can be applied with sufficient voltage.\n\nAnd even better - higher tier &3Coils&r increase the amount of items it can smelt in &dparallel&r!", - "quests.medium_voltage.hv_machine_hull.title": "The HV Machine Hull", - "quests.medium_voltage.hv_machine_hull.subtitle": "That's your fourth machine hull! This is progression", - "quests.medium_voltage.hv_machine_hull.desc": "This is it—the &6HV Machine Hull&r! Congratulations on reaching this major milestone.\n\nYou had to manage &dchemicals&r, upgrade your &dEBF&r, mix a &cnew alloy&r, and learn about &aWafers&r and the &aLaser Engraver&r. We hope your &aunderstanding of GregTech&r is growing stronger every day.\n\nFrom now on, &ecomplexity will increase&r at each tier, but you’ll also gain access to &anew machines&r that will ease earlier processes and introduce &9interesting new mechanics&r.\n\nEven though you’ve just unlocked the &6HV Chapter&r, remember that this marks only &atwo&r of the &bMV Chapter&r’s main milestones.\n\nIf you haven’t unlocked the &6Second HV Circuit&r yet, we highly encourage you to do so before moving forward.\n\nOtherwise, &aWelcome to HV!&r", - "quests.medium_voltage.mv_stainless.title": "Stainless Steel", - "quests.medium_voltage.mv_stainless.subtitle": "HV is in your grasp", - "quests.medium_voltage.mv_stainless.desc.1": "Any Steel you encounter in day-to-day life is most likely &7Stainless Steel&r. It is extremely resilient against corrosion.&r\n\nStainless Steel is the material for &6HV&r components, like Aluminium for &bMV&r and Steel for &7LV&r. It is also used in high quantities for the &3Distillation Tower&r.\n\nIt requires &cChromium&r, obtained mainly from &cRuby&r or &cChromite&r, and &2Manganese&r, obtained from &2Pyrolusite&r and others in its vein.", - "quests.medium_voltage.mv_stainless.desc.2": "Smelting Stainless Steel requires &dHV Power&r, which you likely do not have at this point. Scaling Power Production is crucial.\n\nIf you &9haven't already&r, it would be a good idea to get a second EBF going. They can share blocks, so that means your second EBF only requires &a10 Cupronickel Coils&r instead of 16.\n\nHave one EBF run off &bMV&r for Aluminium and any other recipes requiring &bMV&r Power, and one running off &6HV&r with &32 MV Energy Hatches&r.", - "quests.medium_voltage.mv_energy_hatch.title": "Upgrade your EBF!", - "quests.medium_voltage.mv_energy_hatch.subtitle": "LV is so old-school!", - "quests.medium_voltage.mv_energy_hatch.desc": "A &7LV&r Battery Buffer and two &7LV&r Energy Hatches likely won't cut it anymore. Let's remedy that!\n\nUpgrade your Electric Blast Furnace with a &3MV Energy Hatch&r. Now, you can run it with &bMV&r Generators without having to mess around with &3Transformers&r.", - "quests.medium_voltage.mv_kanthal_coil.title": "Kanthal Coils", - "quests.medium_voltage.mv_kanthal_coil.subtitle": "Is it getting hot in here?", - "quests.medium_voltage.mv_kanthal_coil.desc": "&3Kanthal Heating Coils&r are the next major step in progression. They increase the temperature of your &3Blast Furnace&r to &d2,700K&r, allowing you to process new materials. They may also &eaccelerate&r less hot recipes - check the &aEnergy&r chapter to the top-left for details.\n\nRemember that you &ccannot&r mix coils in an EBF.", - "quests.medium_voltage.mv_kanthal_ingot.title": "Kanthal", - "quests.medium_voltage.mv_kanthal_ingot.subtitle": "This one is hot", - "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Oh good lord 128 ingots, that’s a lot of &cKanthal&r needed here... And what the heck is this &chot ingot&r thing again? &cYes, again!&r\n\nHere we are with a mechanic you should remember from &aTerrafirmaCraft&r—it hasn't been that long, right?\n\n&cHot ingots&r will &cburn you&r if you carry them around and you don't have &cany way&r to counter it using Tongs...\n\nAlso unlike &aTFC&r, &cthey don’t cool down naturally&r! You’ll need to actively &acool them&r down.", - "quests.medium_voltage.mv_kanthal_ingot.desc.2": "To do that, place them into a &dChemical Bath&r with &9Water&r—or even better, &9Distilled Water&r for a &e50 percent faster&r cooling time.\n\nWe highly recommend you &aautomate&r this process to avoid carrying those hot ingots yourself. Use &apipes&r to send them directly from your &dEBF&r to your &dChem Bath&r.\n\nYou can also set up an &aItem Tag Filter&r to help with sorting the hot ingots &7#forge:hot_ingots*&r.", - "quests.medium_voltage.mv_assembler.title": "Advanced Assembler", - "quests.medium_voltage.mv_assembler.subtitle": "Assengers, Avemble", - "quests.medium_voltage.mv_assembler.desc": "The &3Assembler&r is a staple for every Tier; an important goal to unlock more recipes and progress further into the Age. Many in the community see crafting a voltage tier's Assembler as a sign of &oproperly&r reaching said voltage.\n\nThat being said, welcome to &bMV&r!\n\nThe &bMV &3Assembler&r unlocks &eTransistors&r, &eCapacitors&r and &eInductors&r, used for the next tiers of Circuits.", - "quests.medium_voltage.mv_cells.title": "Large Cells", - "quests.medium_voltage.mv_cells.subtitle": "Like cells... only larger!", - "quests.medium_voltage.mv_cells.desc": "Aluminium Cells are a big upgrade over the Steel Cells or Universal Fluid Cells.\n\nThey can hold any fraction of Fluid - up to &d32 buckets&r!", - "quests.medium_voltage.mv_jetpack_2.title": "I Believe I Can Fly II", - "quests.medium_voltage.mv_jetpack_2.subtitle": "...still not quite there.", - "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&8(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", - "quests.medium_voltage.mv_cutter.title": "Advanced Cutter", - "quests.medium_voltage.mv_cutter.subtitle": "Upgrades, people, upgrades!", - "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note : You could use the &6Greate&r &7version, it has now a tank to fill with it fluid&r&r", - "quests.medium_voltage.mv_cutter.task": "Any Brewery", - "quests.medium_voltage.mv_laser_engraver.title": "Laser Engraving", - "quests.medium_voltage.mv_laser_engraver.subtitle": "This is peak technology, this is slow also", - "quests.medium_voltage.mv_laser_engraver.desc": "The &3Laser Engraver&r engraves patterns into &9Silicon Wafers&r based on the type of &9Lens&r it is given. After the wafers are engraved, they must be passed through a &3Cutting Machine&r to turn them into components ready to be put into Circuits.\n\nHigher tier Engravers can etch more complex wafers for more efficient Circuits.", - "quests.medium_voltage.mv_silicon_boule.title": "Silicon Lottery", - "quests.medium_voltage.mv_silicon_boule.subtitle": "These wafers are fully fungible", - "quests.medium_voltage.mv_silicon_boule.desc": "&9Silicon Boules&r are made in the &3EBF&r with half a stack of &aSilicon Dust&r and a pinch of &aGallium Arsenide&r. Their primary purpose is engraving &6Circuit Wafers&r.\n\nAfter making the Boule, process it in the &3Cutter&r to get 16 Silicon Wafers ready for engraving.\n\n&cWarning:&r Each Silicon Boule takes &47.5 minutes&r to make at 120 EU/t, or 1,080,000 EU! If the EBF loses power midway, the recipe will start to &close progress&r.\n\nWith that being said, Silicon Boules take an absolute age to craft, so consider parallelizing the recipe in multiple &3EBF&rs and stockpiling them.", - "quests.medium_voltage.mv_silicon.title": "Silicon Dust", + "quests.medium_voltage.mv_inductor.desc": "&3MV組立機&rと&3ポリエチレン&rがあれば、インダクタを作成できます。\n\nもっとも低コストなレシピは、&aニッケル亜鉛フェライト&rを使用するものです。", + "quests.medium_voltage.mv_electronic_components.title": "電子部品", + "quests.medium_voltage.mv_electronic_components.subtitle": "GTの本質", + "quests.medium_voltage.mv_electronic_components.desc": "本クエストでは、&dGregTech&rにおける&d電子部品&rについて解説していきます。これら電子部品はGTの本質ともいえる要素で、これらを組み合わせることで、実在するあらゆる電子回路を作成することができます。\n\n大半の部品には複数のレシピが用意されており、上位の素材からはより多くの部品が作成できます。時折&aEMI&rを確認し、現時点で作れる中で最適のレシピを選ぶようにしましょう。\n\n1回あたりの作成数は多いように見えますが、それはすなわち大量に使用するということです。\n\n&dトランジスタ&rの作成には、&5ケイ素インゴット&rが必要です。とても熱いので、取り扱いには注意しましょう。", + "quests.medium_voltage.mv_best_lv.title": "最強のLV回路", + "quests.medium_voltage.mv_best_lv.subtitle": "最強ということは、とても強いということ", + "quests.medium_voltage.mv_best_lv.desc": "この回路は最強なので、今後はこれを使うようにしましょう。\n\nまた、常に回路の在庫を用意しておくようにしましょう。いちいち作っていては時間がかかりすぎます。\n\n&5EV&r時代に入ると、さらに安価に作成する方法が解禁されます。", + "quests.medium_voltage.mv_best_mv.title": "最強のMV回路", + "quests.medium_voltage.mv_best_mv.subtitle": "MV時代の完成形", + "quests.medium_voltage.mv_best_mv.desc": "この回路は最強なので、今後はこれを使うようにしましょう。\n\n&9IV&r時代以降は、さらに安価になります。", + "quests.medium_voltage.mv_second_hv.title": "量産型HV回路", + "quests.medium_voltage.mv_second_hv.subtitle": "HV時代のはじまり", + "quests.medium_voltage.mv_second_hv.desc": "&bMV時代&rはこれにてほぼ終了です。おめでとう!\n\nこれで、&6HV&r回路が安価かつ簡単に作成できるようになりました。\n\nいよいよHV時代の始まりです。発電手段の確保をお忘れなく。", + "quests.medium_voltage.mv_circuit_assembler.title": "回路組立機、新型登場", + "quests.medium_voltage.mv_circuit_assembler.subtitle": "やったぜ!", + "quests.medium_voltage.mv_circuit_assembler.desc": "&3回路組立機&rは最重要アイテムです。これ以降、上位の回路を作成するには必須となります。\n\n回路組立機は今後多用することになるため、隣に&3抽出機&rを置いておき、中に&aはんだ合金&rを入れておくとよいでしょう。", + "quests.medium_voltage.mv_more_lv.title": "新型のLV回路", + "quests.medium_voltage.mv_more_lv.subtitle": "回路を改良しよう", + "quests.medium_voltage.mv_more_lv.desc.1": "基本型集積回路は、LV回路の上位版です。量産しやすいことや、&bMV&r・&6HV&rへの強化が可能であるという利点があります。\n\n&9ヒント:&rこの回路の作成コスト自体は、従来のものと殆ど変わりません。ただし、&6HV回路&rの作成には必須となります。", + "quests.medium_voltage.mv_more_lv.desc.2": "&l&3おまけ:&r&oGTCEuにおける電子回路周りのレシピは、GT5のそれに準拠しています。ただし、GT5のそれよりもバランス調整されており、苦役度合いは下がっています。", + "quests.medium_voltage.mv_more_mv.title": "新型のMV回路", + "quests.medium_voltage.mv_more_mv.subtitle": "いや、微妙……", + "quests.medium_voltage.mv_more_mv.desc": "この回路はコスパが悪いので、最初にHV回路を作る時以外は使わないようにしましょう。", + "quests.medium_voltage.mv_first_hv.title": "HV回路、爆誕!", + "quests.medium_voltage.mv_first_hv.subtitle": "HVに行くにはまだ早い", + "quests.medium_voltage.mv_first_hv.desc": "これとステンレス鋼があれば、&6HV&r時代に入ることは一応可能です。しかしながら、まだMVのうちにやるべきことがあります。\n\nこのHV回路は、&3MV回路組立機&rの作成に使いましょう。なぜなら、より安価に作れるレシピが存在するからです。", + "quests.medium_voltage.mv_multi_smelter.title": "最強のかまど", + "quests.medium_voltage.mv_multi_smelter.subtitle": "とてつもなく強力", + "quests.medium_voltage.mv_multi_smelter.desc": "&dマルチスメルター&rは、最小構成(キュプロニッケルコイル+&7LV&r電気)でも、32個のアイテムをわずか12秒で精錬することができます。これは実にバニラかまどの&926.7倍&r、蒸気式オーブンの3.3倍に相当します。\n\nさらに、電圧を上げることでマルチスメルターをさらに加速できる上、上位の&3コイル&rを使えば同時加工数が増加します。", + "quests.medium_voltage.hv_machine_hull.title": "HVマシン筐体", + "quests.medium_voltage.hv_machine_hull.subtitle": "第四のマシン筐体", + "quests.medium_voltage.hv_machine_hull.desc": "&6HVマシン筐体&r、ついに完成!\n\nここまでに、あなたは&d化学物質&rの使い方、&d電気高炉&rの強化、&c新たな合金&rの作成、&aウェハー&rと&aレーザー刻印機&rの扱いなど、Gregtechの重要な要素をいくつも学んできました。\n\nHV以降では、ますます複雑な世界があなたを待っています。そして、それらを簡単にするための機械やシステムも次々と登場します。\n\n&6HV&rのクエストはこれで解禁となりますが、まだ1つ、HVに行くために忘れてはならないものがあります。\n\n特に、&6HV&r回路の上位品は絶対に作っておきましょう。\n\nそれらも作成したのであれば、名実ともにHV時代の始まりです!", + "quests.medium_voltage.mv_stainless.title": "ステンレス鋼", + "quests.medium_voltage.mv_stainless.subtitle": "HVまであと一歩", + "quests.medium_voltage.mv_stainless.desc.1": "実生活で見る鋼の大半は&7ステンレス鋼&rです。ステンレス鋼には、腐食にとても強いという特徴があります。\n\n&6HV&r機械の作成には、ステンレス鋼が必要となります。ちょうど&bMV&rにおけるアルミニウム、&7LV&rにおける鋼鉄のような働きをします。また、&3蒸留塔&rの作成にも大量に要求されます。\n\nステンレス鋼の作成には、&cクロム&rと&2マンガン&rが必要です。前者はルビーやクロマイト、後者は軟マンガン鉱から入手できます。", + "quests.medium_voltage.mv_stainless.desc.2": "ステンレス鋼の精錬には、&dHV電力&rが必要です。現時点ではHVの発電は不可能なので、昇圧してつくりましょう。\n\nまた、そろそろ電気高炉の2基目を作るとよいでしょう。電気高炉の筐体は共有できるため、必要なコイルは通常よりも6個少ない&a10&r個で済みます。\n\n一方を&bMV&rで精錬可能なものに使用し、もう一方に&3MVエネルギーハッチ&rを付けて&6HV&r用にするとよいでしょう。", + "quests.medium_voltage.mv_energy_hatch.title": "電気高炉の強化", + "quests.medium_voltage.mv_energy_hatch.subtitle": "LV時代の終わり", + "quests.medium_voltage.mv_energy_hatch.desc": "&7LV&rバッテリーバッファと&7LV&rエネルギーハッチでは、もはや全くの力不足です。\n\nそろそろ&3MVエネルギーハッチ&rに更新しましょう。これで、&3変圧器&rを使わずともMV電力を使用できます。", + "quests.medium_voltage.mv_kanthal_coil.title": "カンタルコイル", + "quests.medium_voltage.mv_kanthal_coil.subtitle": "熱い!熱い!", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3カンタルコイル&rは重要なアイテムです。これを用いることで、&3電気高炉&rの温度を&d2700K&rまで上げられるようになります。温度が上がることで、新たなレシピが解禁されるほか、従来の精錬を&e高速&rで行うことが可能となります。詳しくは&aエネルギー&r関連のクエストを参照してください。\n\nなお、複数種類のコイルを混ぜて使うことは不可能です。", + "quests.medium_voltage.mv_kanthal_ingot.title": "カンタル", + "quests.medium_voltage.mv_kanthal_ingot.subtitle": "今、カンタルがアツい!", + "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Hot and Notが帰って来た!こないで\n\n&aTerrafirmaCraft&rをバケツまで進めた皆さんなら、きっと覚えているはず。\n\n&c熱い○○インゴット&r系のアイテムは、トングなどの対策アイテム無しに持っていると&c炎上状態&rになります。\n\nまた、今回は&aTFC&rのそれと異なり、&c温度が自然低下しません&r。機械を用意して、能動的に冷やす必要があります。", + "quests.medium_voltage.mv_kanthal_ingot.desc.2": "インゴットの冷却には、&d化学槽&rで&9水&rに晒す必要があります。この時、&9蒸留水&rを使うと、冷却に掛かる時間が&e3分の2&rになります。\n\nとはいえ、インゴットを手で持ち歩く労力はなるべく減らしたいので、&a自動化&rしましょう。&aパイプ&rを使えば、&d電気高炉&rから&d化学槽&rに直接アイテムを搬送することができます。\n\n&aアイテムタグフィルター&rに&7#forge:hot_ingots*&rと設定すれば、熱いインゴットだけを搬送することができます。", + "quests.medium_voltage.mv_assembler.title": "発展型組立機", + "quests.medium_voltage.mv_assembler.subtitle": "8時だョ!全員集合!", + "quests.medium_voltage.mv_assembler.desc": "&3組立機&rはあらゆる電気時代における最重要マシンです。これを作ることで、より多くのレシピが解禁され、更なる高度なクラフトが可能となります。GTのコミュニティでは、組立機の作成をもって、真の意味でその電気時代に入ったと一般に見なされています。\n\nということで、改めて……&bMV&r時代へようこそ!\n\n&bMV&3組立機&rの作成により、&eトランジスタ&r、&eキャパシター&r、&eインダクタ&rが解禁されます。これらは、上位の回路を作成するために必要です。", + "quests.medium_voltage.mv_cells.title": "大容量セル", + "quests.medium_voltage.mv_cells.subtitle": "デカいセル", + "quests.medium_voltage.mv_cells.desc": "アルミニウムセルは、従来のセルの強化版です。その容量はなんと&dバケツ32杯分&r!", + "quests.medium_voltage.mv_jetpack_2.title": "鳥人間あらわる その2", + "quests.medium_voltage.mv_jetpack_2.subtitle": "……まあ、一応飛べるけど……", + "quests.medium_voltage.mv_jetpack_2.desc": "電動ジェットパックは、電力を消費して空を飛ぶことができます。\n\n充電方法は普通のバッテリーと同じです。\n\n&4H&r(初期設定)を押すと、ホバーモードへの切り替えが可能です。\n\n&o&8(「ジェット」と言っているのにジェット推進じゃないって?そういう重箱の隅を突くのはやめましょう?ね?)&r", + "quests.medium_voltage.mv_cutter.title": "発展型裁断機", + "quests.medium_voltage.mv_cutter.subtitle": "強化!強化!また強化!", + "quests.medium_voltage.mv_cutter.desc": "&aレーザー刻印機&rを使用するためには、&3MV裁断機&rで&7シリコン単結晶&rを切断する必要があります。\n\n&d潤滑油&rがあれば、加工時間が大幅に短縮されるので、必ず用意しておきましょう。\n\n潤滑油は&3醸造機&rで&e石油&、&a滑石&r、&2石鹸石&r、&cレッドストーン&rなどを加工して作られます。\n\n&7ヒント:&6Greate&r&7のメカニカルソーでも、同じ加工ができます。液体タンクが搭載されているため、潤滑油による加速が可能です。&r&r", + "quests.medium_voltage.mv_cutter.task": "いずれかの裁断機", + "quests.medium_voltage.mv_laser_engraver.title": "レーザー刻印機", + "quests.medium_voltage.mv_laser_engraver.subtitle": "技術の粋。ただしめっちゃ遅い", + "quests.medium_voltage.mv_laser_engraver.desc": "&3レーザー刻印機&rは、&9シリコンウェハー&rへの刻印を行う機械です。刻印の内容は、取り付けた&9レンズ&rによって決まります。刻印を行ったウェハーを&3裁断機&rで加工することにより、回路に搭載できるパーツとなります。\n\n上位の刻印機を使うことで、より高性能な回路のパーツを作成することができます。", + "quests.medium_voltage.mv_silicon_boule.title": "シリコンガチャ", + "quests.medium_voltage.mv_silicon_boule.subtitle": "ウェハーは代替可能", + "quests.medium_voltage.mv_silicon_boule.desc": "&9シリコン単結晶&rの作成には、&3電気高炉&rが必要です。その材料は、&aSilicon Dust&rが半スタックと、少量の&aヒ化ガリウム&rです。その主な用途は、回路の材料である&6ウェハー&rの作成です。\n\nシリコン単結晶が作成できたら、&3裁断機&rでそれを加工することにより、16個のシリコンウェハーを入手できます。\n\n&c注意:&rシリコン単結晶の精錬には、なんと&47分半&rもの時間を要します。消費電力は120EU/tで、合計すると1,080,000EUに達します。途中で電気が足りなくなった場合、精錬の&c進捗が低下&rします。\n\n電気が足りていたとしても、所要時間が猛烈に長いため、複数の電気高炉で同時に精錬を行うことをおすすめします。", + "quests.medium_voltage.mv_silicon.title": "ケイ素の粉", "quests.medium_voltage.mv_silicon.subtitle": "", - "quests.medium_voltage.mv_silicon.desc.1": "You’ll need to get used to it: in &dGregTech&r, there are always &amultiple ways&r to reach what you want—a philosophy we made sure to preserve in &aTerrafirmaGreg&r.\n\nTo obtain &5Silicon&r, we’ll suggest &ctwo main methods&r so you have clear directions. As always, it’s up to you to figure out what’s &abest for your situation&r.", - "quests.medium_voltage.mv_silicon.desc.2": "First method: &amining silicon-rich ores&r. Look for &9Mica&r or &9Kyanite&r veins—they also contain &dAluminium&r. Alternatively, you can &aElectrolyze Zeolite Dust&r, found in &9Chalcopyrite&r and &dRealgar&r veins.\n\nSecond method: &eAdvanced but powerful&r. Although more expensive to set up and slower early on, it becomes the &ebest method&r at &6HV&r and beyond. Plus, it generates &9Oxygen&r as a bonus! The idea is simple: &aElectrolyze Silicon Dioxide Dust&r into &9Oxygen&r and &5Silicon&r. You can get &aSilicon Dioxide Dust&r by &9centrifuging Flint Dust&r, which itself comes from &9Flint&r collected by &asifting Gravel&r.\n\nThis setup can become &afully passive&r easily. Try using the &aEMI Recipe Tree&r tool (bottom left of your screen) to plan your builds—it really helps!", - "quests.medium_voltage.mv_ulpic.title": "ULPIC Chips", - "quests.medium_voltage.mv_ulpic.subtitle": "Pickin' up Chips", - "quests.medium_voltage.mv_ulpic.desc": "Using a Sapphire Lens, engrave a Silicon Wafer into an ULPIC Wafer.\n\nThis can be processed in a Cutter for ULPIC Chips, which are important for some multiblock components!\n\nMore specificaly ", - "quests.medium_voltage.mv_ic.title": "IC Chips", + "quests.medium_voltage.mv_silicon.desc.1": "&dGregTech&rにおいては、大抵のアイテムについて複数のレシピが存在します。&aTerrafirmaGreg&rでも、それは同じです。\n\n&5ケイ素&rの主な作成方法は2種類あります。どれが最適かは、自分の状況に合わせて考えましょう。", + "quests.medium_voltage.mv_silicon.desc.2": "方法1:&a鉱石から取り出す&r。&9雲母&rや&9藍晶石&rの鉱脈を探しましょう。これら鉱脈では、&dアルミニウム&rの鉱石も入手できます。また、&aゼオライト&rを遠心分離することでも入手できます。ゼオライトは&9黄銅鉱&rの鉱脈に生成されます。\n\n方法2:&a二酸化ケイ素&rを電気分解する。こちらの方が便利ですが、現時点では必要な準備が多く、また加工時間も遅いです。&6HV&r以降であれば、こちらが最良の方法となります。加えて、この方法なら&9酸素&rが副産物として得られます。二酸化ケイ素は&9火打石の粉&rを遠心分離することで入手でき、火打石は&a砂利&rを選別機にかけることで入手できます。\n\nわざわざ外出せずとも、放置していればケイ素が手に入るので、非常に有用です。", + "quests.medium_voltage.mv_ulpic.title": "ULPICチップ", + "quests.medium_voltage.mv_ulpic.subtitle": "ここでチップをひとつまみ", + "quests.medium_voltage.mv_ulpic.desc": "サファイアレンズでシリコンウェハーに刻印することで、ULPICウェハーを作成できます。\n\nこれを裁断機でさらに加工すると、ULPICチップになります。ULPICチップは、マルチブロック機械のとあるパーツを作成するために必要です。そのパーツとは……(次クエストにつづく)", + "quests.medium_voltage.mv_ic.title": "ICチップ", "quests.medium_voltage.mv_ic.subtitle": "I C U", - "quests.medium_voltage.mv_ic.desc": "Using a Ruby Lens, engrave a Silicon Wafer into an ILC Wafer.\n\nThis can be processed in a Cutter for IC Chips, which are important components that will be precious when improving upon your circuit crafting capabilities.", - "quests.medium_voltage.mv_ram.title": "Download more RAM", - "quests.medium_voltage.mv_ram.subtitle": "That's from the Daft Punk you know?", - "quests.medium_voltage.mv_ram.desc": "&aRandom Access Memory&r is required for many Circuits.", - "quests.medium_voltage.mv_cpu.title": "Get a better CPU", - "quests.medium_voltage.mv_cpu.subtitle": "Gamers usually prefer GPU", - "quests.medium_voltage.mv_cpu.desc": "&aThe &eCPU&r is one of the most important pieces of technology in your factory.\n\nThe &eCPU Wafer&r is a special one—it can be upgraded later through a &2Chemical Reaction&r.\n\nBut for now, you’ll need the &eCPU Chip&r to craft the best &bMV&r circuits available at this stage.\n\nMake sure to produce a few extra, as they’ll be essential for future upgrades.", - "quests.medium_voltage.lsb.title": "Getting very steamy", - "quests.medium_voltage.lsb.subtitle": "If you have unlimited fuel, it can still be good", - "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d1800 mB/t of Steam&r.\n\nWe'd recommend you try other power options at this point.", + "quests.medium_voltage.mv_ic.desc": "ルビーレンズでシリコンウェハーに刻印することで、ICUウェハーを作成できます。\n\nこれを裁断機でさらに加工すると、ICUチップになります。ICUチップは非常に有用な中間素材です。とくに、特殊な回路を作成するために多く使います。", + "quests.medium_voltage.mv_ram.title": "RAMをダウンロード", + "quests.medium_voltage.mv_ram.subtitle": "Daft Punk『Random Access Memories』を聴こう!", + "quests.medium_voltage.mv_ram.desc": "&aRAM&rは回路の作成に必要な中間素材です。", + "quests.medium_voltage.mv_cpu.title": "より高性能なCPUを", + "quests.medium_voltage.mv_cpu.subtitle": "GPUの方が欲しい!", + "quests.medium_voltage.mv_cpu.desc": "&a&eCPU&rは最も重要な技術のひとつです。\n\n特に&eCPUウェハー&rは、&2化学反応器&rでさらに強化することができます。\n\nひとまず、今は&eCPUチップ&rを使って、上位&bMV&r回路の作成をめざしましょう。\n\nいくらか余らせておくと、将来役に立ちます。", + "quests.medium_voltage.lsb.title": "もっとたくさんの蒸気を", + "quests.medium_voltage.lsb.subtitle": "有用(燃料が十分にあるなら)", + "quests.medium_voltage.lsb.desc": "今後も&3蒸気ボイラー&rを使い続けるのであれば、そろそろ&3スチール製大型蒸気ボイラー&rを作成した方がよいです。\n\nブロンズ製よりもやや高効率で、最大&d1800mB/t&rの蒸気を生成します。\n\nとはいえ、MV以降は他の発電方法を使った方がよいです。", "quests.metal_age": "金属時代", "quests.metal_age.subtitle": "鉱石を捧げよ", "quests.metal_age.weld_bronze_ingots.title": "ブロンズの溶接", @@ -3083,9 +3083,9 @@ "quests.ore_proc.indium.title": "インジウムライン", "quests.ore_proc.indium.subtitle": "ラインとは言うものの、実は2工程しかないです", "quests.ore_proc.indium.desc": "&6インジウムライン&rは、基本的に&9IV&rに到達するまでは不要です。稼働には洗浄した&b閃亜鉛鉱&rと&b方鉛鉱&rが必要になります。", - "quests.ore_proc.platline.title": "悪名高きプラチナライン", + "quests.ore_proc.platline.title": "悪名高き白金族ライン", "quests.ore_proc.platline.subtitle": "GregTech対Mekanismのオスミウムをめぐる仁義なき戦い", - "quests.ore_proc.platline.desc": "&6プラチナライン&rは、あなたが直面する最初の本格的な鉱石処理への挑戦です。このラインでは、&bプラチナ&rをはじめ、&bパラジウム&r、&bルテニウム&r、&bロジウム&r、&bイリジウム&r、&bオスミウム&rといったプラチナ族金属を確保できます。\n\n&bプラチナ&rや&bパラジウム&r自体は別の簡単な手段でも入手可能ですが、それ以外の希少金属を手に入れるには、このラインを進めることが絶対条件になります。\n\nプラチナラインは&6HV&r段階から着手できますが、完全に稼働させられるようになるのは&5EV&r段階以降になります。", + "quests.ore_proc.platline.desc": "&6白金族ライン&rは、あなたが直面する最初の本格的な鉱石処理への挑戦です。このラインでは、&bプラチナ&rをはじめ、&bパラジウム&r、&bルテニウム&r、&bロジウム&r、&bイリジウム&r、&bオスミウム&rといった白金族金属を確保できます。\n\n&bプラチナ&rや&bパラジウム&r自体は別の簡単な手段でも入手可能ですが、それ以外の希少金属を手に入れるには、このラインを進めることが絶対条件になります。\n\n白金族ラインは&6HV&r段階から着手できますが、完全に稼働させられるようになるのは&5EV&r段階以降になります。", "quests.ore_proc.electro_separator.title": "電磁分離機", "quests.ore_proc.electro_separator.subtitle": "おそらく、GregTechの中で最も役に立たない機械。", "quests.ore_proc.electro_separator.desc": "&6電磁分離機&rは、&dほぼ綺麗な粉&rから鉄や金といった金属成分を分離・抽出できる装置です。現時点では、主に&dナクアダ&rの処理に使用するのがおすすめです。また、&aネオジム&rが不足している場合は、&dバストネス石&rから取り出すことができます。", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index dcb7c403c..632945ff3 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1818,7 +1818,7 @@ "quests.extreme_voltage.nuclear_turbine.desc": "With Fission, you gain access to a brand new &6Dedicated Turbine&r! (The normal Large Steam Turbine can only handle regular Steam.)\n\nIt works just like the previous turbines, but similar to the Gas Turbine, it requires at least an &5EV Rotor Holder&r to operate.\n\nThe coils inside this turbine must be &7Cupronickel&r, and they don’t affect performance in any way (but we have to admit, they look pretty good).\n\nIn this quest, we suggest two &aRotors&r that fit nicely for the turbine at this stage, but feel free to experiment and use any &brotor&r that suits your setup best.", "quests.extreme_voltage.reactor_components.title": "Reactor Heat Management", "quests.extreme_voltage.reactor_components.subtitle": "Active and Passive ways to cool your reactor", - "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Item Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Item Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", + "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Material Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Material Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", "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!", @@ -1829,7 +1829,7 @@ "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.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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", + "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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Smelting Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", "quests.extreme_voltage.important_info.desc.2": "When it comes to your Martian infrastructure, there are two main approaches:&r\n\n• &aPreparation-focused&r: Build everything required for your full &6Fission Line&r before establishing your base. This means an enormous material investment, but allows you to be self-sufficient once operational.\n\n• &aProgressive setup&r: Start smaller with your &6Nuclear Fuel Factory&r, your first &6Fission Reactor&r (running on &eThorium&r), and a &6Nuclear Turbine&r. This route is faster to start, but managing energy will be rough until your fission system stabilizes.\n\nEither way, we always recommend having an exploration mission before you start settling down!", "quests.extreme_voltage.important_info.desc.3": "Because every kind of combustion-based energy won't work on Mars, you’ll want to bring a good stock of &bLapotron Crystals&r to power your first recipes and oxygen systems.\n\nWe also strongly recommend setting up a &6Distillation Tower&r. &eMartian Air&r can be processed into breathable &bAir&r and several other useful gases. Alternatively, everything for Compressed Nitrox can come from the local Semiheavy Ammoniacal Water.\n\nSurvival on Mars isn’t about luck, it’s about preparation!", "quests.extreme_voltage.important_info.task": "It's Marsing Time", @@ -1858,7 +1858,7 @@ "quests.extreme_voltage.uranium_line.desc": "To process &eUranium&r and its &eUranium 235&r &eIsotope&r, you’ll need to set up a dedicated small processing line. \n\nRest assured, you can &aloop the Fluorine&r, so the only input you’ll need is &eUraninite Dusts&r.\n\nYou can build this line on Earth, but it may be more convenient to operate it on Mars, where the majority of Uraninite Ore should be harvested.", "quests.extreme_voltage.radioactive_waste.title": "Radioactive Waste", "quests.extreme_voltage.radioactive_waste.subtitle": "One man's trash is another man's progression material", - "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super chest with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", + "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super Tank with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", "quests.extreme_voltage.uranium_rod.subtitle": "Finally, some real power!", "quests.extreme_voltage.uranium_rod.desc.1": "This is the second-generation reactor fuel - it offers &a4× more durability&r and produces &a5× more steam&r compared to a standard &eThorium Rod&r. However, there are important trade-offs you must plan for.\n\n&9Production cost and setup:&r\n• Producing this fuel consumes &eThorium Rods&r continuously, so it’s recommended to dedicate a separate &6Fission Reactor&r for each of these advanced rods, although if you're up for the challenge of juggling them in one reactor, that's an option too.", "quests.extreme_voltage.uranium_rod.desc.2": "Heat and mitigation options: A single Uranium Fuel Rod generates about &c435 Heat&r inside a standard reactor, far above the default limit. To handle this you have three main options:\n\n&7→&r &eInstall 20 Framed Glacial Wool&r blocks inside the reactor to raise &cMax Heat&r to &e440&r, allowing one rod to run safely.\n\n&7→&r &6Use Material Holders&r and pump large quantities of &bDry Ice&r to drop the reactor temperature. This requires a robust infrastructure and access to a &bLiquid CO2 fluid vein&r on Mars.\n\n&7→&r &bUse Refrigerant Pellets&r placed in Material Holders. They behave like Dry Ice but are far more potent. Note that Refrigerant Pellets consume a decent amount of &eFluorine&r to craft, and you do not have infinite Fluorine at this point.\n\nObviously, you can also make your own sauce and mix all of these options together.", @@ -2659,7 +2659,7 @@ "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", - "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r or a &3GT Create&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly but that won't be before some time.", + "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r, a &3Backpack&r, or a &3GT Crate&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly, by the way.", "quests.medium_voltage.mv_miner.task": "Any miner", "quests.medium_voltage.mv_component.title": "The MV Components", "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in previous tier?", @@ -2694,7 +2694,7 @@ "quests.medium_voltage.mv_batteries.desc": "&bMV&r Batteries will appeal to you if you want to buffer Energy, just like &7LV&r.\n\nThe cost in &aSodium&r, &aLithium&r or &aCadmium&r jumps up to 8 dusts, so you should use whatever you have the most of. The difference in capacity isn't &7THAT&r huge, after all!\n\nGet &eeither&r Battery to complete the Quest.", "quests.medium_voltage.mv_steel_alloy.title": "Steel Alloys", "quests.medium_voltage.mv_steel_alloy.subtitle": "Steel Your Heart", - "quests.medium_voltage.mv_steel_alloy.desc": "Vanadiumsteel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.\n\nOther Steel alloys include Blue Steel, Red Steel, and Black Steel!\n\nTake some Blue Steel free of charge - it's twice as durable as Steel.", + "quests.medium_voltage.mv_steel_alloy.desc": "Vanadium steel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.", "quests.medium_voltage.pyrolyse.title": "Pyrolyse Oven", "quests.medium_voltage.pyrolyse.subtitle": "Thermal Decomposition", "quests.medium_voltage.pyrolyse.desc.1": "The &3Pyrolyse Oven&r is an electric equivalent to the &3Coke Oven&r. It can produce &9Coal Coke&r and &9Charcoal&r with a &9Creosote&r byproduct just as before, but also has additional &6Organic Byproducts&r, the most beneficial of these being &aWood Tar&r.\n\nAnother product is &aBiomass&r, which is more pertinent for your progression as of this moment.", From 8982ca4949f01805b8881654ae64d4cb4eb9ed62 Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 11 Nov 2025 15:41:29 -0600 Subject: [PATCH 065/628] Re-added curd recipes and did some cleanup (#2209) * Re-added curd recipes and did some cleanup * changelog --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/recipes.food.js | 105 ++++++++++++---------- 2 files changed, 59 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e85565d1..f5d05e5e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ - Fixed not being able to make brown universal compost with a mortar if the item is both green and brown (#2091) @Pyritie - Fixed soup made in the food processor not returning bowls when eaten (#2053) @Pyritie - Fixed missing helve hammer recipe for silver plates (#2183) @Pyritie +- Fixed milk curd recipes in food processor outputting rotten curds. (#2209) @Redeix ### Translation updates - Russian @DI-GitH + @nineex - Brazilian Portuguese @Redeix diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 260dab4a9..03db52eff 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -118,14 +118,14 @@ function registerTFGFoodRecipes(event) { //#endregion - //#region ================= Meat cooking ================= + //#region Meat cooking global.TFC_MEAT_RECIPE_COMPONENTS.forEach(item => { cookingRecipe(item.name, item.input, item.output) }) //#endregion - //#region ================= TFC Grains ================= + //#region TFC Grains global.TFC_GRAINS.forEach(grain => { @@ -194,7 +194,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_sandwich`).meal( (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), + (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8) ]) }) @@ -207,8 +207,8 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal( (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), - ]), + (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8) + ]) }) //2 Jam @@ -219,8 +219,8 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal( (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), - ]), + (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8) + ]) }) //3 Jam @@ -231,8 +231,8 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal( (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), - ]), + (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8) + ]) }) }) @@ -241,7 +241,7 @@ function registerTFGFoodRecipes(event) { //#endregion - //#region ================= Firmalife ================= + //#region Firmalife global.FIRMALIFE_COOKING_RECIPE_COMPONENTS.forEach(item => { cookingRecipe(item.name, item.input, item.output, undefined, true) @@ -256,17 +256,15 @@ function registerTFGFoodRecipes(event) { }) //#endregion - //#region ================= Dairy ================= + //#region Dairy global.TFC_CURDS_AND_CHEESES.forEach(item => { - // TODO: curds in a food processor always come out rotten - - //processorRecipe(`${item.curd}_curd`, 1200, 16, { - // itemOutputs: [item.curd], - // fluidInputs: [Fluid.of(item.input_fluid, 1000)], - // itemOutputProvider: TFC.isp.of(item.curd).resetFood() - //}) + processorRecipe(`${item.curd}_curd`, 1200, 16, { + itemOutputs: [item.curd], + fluidInputs: [Fluid.of(item.input_fluid, 1000)], + itemOutputProvider: TFC.isp.of(item.curd).resetFood() + }) processorRecipe(`${item.cheese1}_cheese_wheel_1`, 8000, 16, { itemInputs: [`3x ${item.curd}`], @@ -303,7 +301,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ['2x firmalife:food/cocoa_butter', '#tfc:sweetener'], fluidInputs: ['#tfc:milks 1000'], itemOutputs: ['2x firmalife:food/white_chocolate_blend'], - itemOutputProvider: TFC.isp.of('2x firmalife:food/white_chocolate_blend').resetFood(), + itemOutputProvider: TFC.isp.of('2x firmalife:food/white_chocolate_blend').resetFood() }) processorRecipe(`dark_chocolate_blend`, 300, 16, { @@ -311,7 +309,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ['2x firmalife:food/cocoa_powder', '#tfc:sweetener'], fluidInputs: ['#tfc:milks 1000'], itemOutputs: ['2x firmalife:food/dark_chocolate_blend'], - itemOutputProvider: TFC.isp.of('2x firmalife:food/dark_chocolate_blend').resetFood(), + itemOutputProvider: TFC.isp.of('2x firmalife:food/dark_chocolate_blend').resetFood() }) processorRecipe(`milk_chocolate_blend`, 300, 16, { @@ -319,7 +317,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener'], fluidInputs: ['#tfc:milks 1000'], itemOutputs: ['2x firmalife:food/milk_chocolate_blend'], - itemOutputProvider: TFC.isp.of('2x firmalife:food/milk_chocolate_blend').resetFood(), + itemOutputProvider: TFC.isp.of('2x firmalife:food/milk_chocolate_blend').resetFood() }) // TODO: this has nutrition dynamically set in the pot recipe, can we do that here? @@ -328,7 +326,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ["#tfc:foods/flour", 'tfc:powder/salt', '#forge:eggs'], fluidInputs: ['#tfc:milks 1000'], itemOutputs: ['firmalife:food/raw_egg_noodles'], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_egg_noodles").copyOldestFood(), + itemOutputProvider: TFC.isp.of("firmalife:food/raw_egg_noodles").copyOldestFood() }) processorRecipe(`rice_noodles`, 50, 8, { @@ -348,7 +346,7 @@ function registerTFGFoodRecipes(event) { //#endregion - //#region ================= Food preservation ================= + //#region Food preservation const smoking_meats = Ingredient.of('#tfc:foods/raw_meats').itemIds; const brining_veg = Ingredient.of('#firmalife:foods/pizza_ingredients').itemIds; @@ -424,7 +422,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) ]).addTrait('tfg:freeze_dried') }) @@ -435,7 +433,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) ]).addTrait('tfg:freeze_dried') }) @@ -446,7 +444,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) ]).addTrait('tfg:freeze_dried') }) @@ -457,7 +455,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) ]).addTrait('tfg:freeze_dried') }) @@ -468,13 +466,13 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8), + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) ]).addTrait('tfg:freeze_dried') }) //#endregion - //#region ================= Misc ================= + //#region Jams global.TFC_JAMS.forEach(name => { processorRecipe(`${name}_jam`, 200, 8, { @@ -512,6 +510,9 @@ function registerTFGFoodRecipes(event) { }) }) + //#endregion + //#region Misc + cookingRecipe("pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta", "#tfg:clean_water 100") cookingRecipe("corn_tortilla", "firmalife:food/masa", "firmalife:food/corn_tortilla") @@ -579,14 +580,14 @@ function registerTFGFoodRecipes(event) { circuit: 2, itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfc:food/garlic'], itemOutputs: ['5x firmalife:food/tomato_sauce_mix'], - itemOutputProvider: TFC.isp.of('5x firmalife:food/tomato_sauce_mix').copyOldestFood(), + itemOutputProvider: TFC.isp.of('5x firmalife:food/tomato_sauce_mix').copyOldestFood() }) processorRecipe("tomato_sauce_from_mix", 200, 8, { itemInputs: ['firmalife:food/tomato_sauce_mix'], fluidInputs: ['#tfg:clean_water 200'], itemOutputs: ['firmalife:food/tomato_sauce'], - itemOutputProvider: TFC.isp.of('firmalife:food/tomato_sauce').copyOldestFood(), + itemOutputProvider: TFC.isp.of('firmalife:food/tomato_sauce').copyOldestFood() }) processorRecipe("olive_paste", 60, 8, { @@ -599,7 +600,7 @@ function registerTFGFoodRecipes(event) { processorRecipe("soybean_paste", 60, 8, { itemInputs: ['firmalife:food/dehydrated_soybeans'], itemOutputs: ['firmalife:food/soybean_paste'], - itemOutputProvider: TFC.isp.of('firmalife:food/soybean_paste').copyOldestFood(), + itemOutputProvider: TFC.isp.of('firmalife:food/soybean_paste').copyOldestFood() }) processorRecipeText('calorie_paste', 100, 512, "tfg.food_recipe.freeze_drying", { @@ -607,7 +608,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ['firmalife:food/soybean_paste', 'tfg:foil_pack', '2x gtceu:small_meat_dust', 'tfg:dry_ice'], itemOutputs: ['tfg:food/calorie_paste'], fluidInputs: [Fluid.of('gtceu:fermented_biomass', 40)], - itemOutputProvider: TFC.isp.of('tfg:food/calorie_paste').copyOldestFood().addTrait('tfg:freeze_dried'), + itemOutputProvider: TFC.isp.of('tfg:food/calorie_paste').copyOldestFood().addTrait('tfg:freeze_dried') }) //Kelp @@ -624,10 +625,11 @@ function registerTFGFoodRecipes(event) { circuit: 5, itemInputs: ['#tfc:foods/fruits'], fluidInputs: ['#tfc:alcohols 250'], - fluidOutputs: [Fluid.of('tfc:vinegar', 250)], + fluidOutputs: [Fluid.of('tfc:vinegar', 250)] }) - // Pizza + //#region Pizza + processorRecipe("pizza_no_extra", 600, 16, { itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -664,6 +666,8 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood() }) + //#endregion + processorRecipe("shredded_cheese", 100, 16, { itemInputs: ['#firmalife:foods/cheeses'], itemOutputs: ['4x firmalife:food/shredded_cheese'], @@ -678,7 +682,8 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('2x firmalife:spice/basil_leaves').resetFood() }) - // Ice cream + //#region Ice cream + processorRecipe("vanilla_ice_cream", 300, 16, { itemInputs: ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla'], itemOutputs: ['2x firmalife:food/vanilla_ice_cream'], @@ -711,6 +716,8 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('2x firmalife:food/banana_split').resetFood() }) + //#endregion + processorRecipe("butter", 300, 16, { itemInputs: ["tfc:powder/salt"], fluidInputs: [Fluid.of('firmalife:cream', 1000)], @@ -763,14 +770,14 @@ function registerTFGFoodRecipes(event) { circuit: 2, fluidInputs: [Fluid.of('firmalife:yeast_starter', 100)], fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)], - itemInputs: ['#tfc:foods/flour'], + itemInputs: ['#tfc:foods/flour'] }) processorRecipe("yeast_starter_from_water", 7200, 8, { circuit: 10, itemInputs: ['#tfc:foods/fruits'], fluidInputs: ['#tfg:clean_water 100'], - fluidOutputs: [Fluid.of('firmalife:yeast_starter', 100)], + fluidOutputs: [Fluid.of('firmalife:yeast_starter', 100)] }) processorRecipe("cocoa_dust", 100, 4, { @@ -863,7 +870,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('firmalife:food/garlic_bread').copyOldestFood() }) - // Alcohols + //#region Alcohols global.TFC_ALCOHOL.forEach(alcohol => { processorRecipe(alcohol.id.replace(/:/g, "_"), 2400, 1, { @@ -875,7 +882,8 @@ function registerTFGFoodRecipes(event) { }) }) - // Cakes + //#endregion + //#region Cakes processorRecipe("cake_base", 300, 8, { circuit: 4, @@ -923,7 +931,9 @@ function registerTFGFoodRecipes(event) { itemOutputs: ["species:birtday_cake"] }) - // Soup + //#endregion + //#region Soup + processorRecipe("grain_soup", 300, 8, { circuit: 20, itemInputs: [ @@ -1027,7 +1037,9 @@ function registerTFGFoodRecipes(event) { .waterModifier(0.8) ] ) - }) + }) + + //#endregion // These don't need the ISP handling, they're just here to keep all the food recipes together @@ -1103,8 +1115,7 @@ function registerTFGFoodRecipes(event) { //#endregion - //#region Выход: Золотое яблоко - + //Golden Apple processorRecipe('golden_apple_from_red', 30 * 20, GTValues.VA[GTValues.HV], { itemInputs: ['tfc:food/red_apple'], fluidInputs: [Fluid.of('gtceu:gold', 144 * 8)], @@ -1118,8 +1129,6 @@ function registerTFGFoodRecipes(event) { circuit: 5 }) - //#endregion - //#region New foods event.recipes.tfc.heating('tfg:food/raw_birt', 200) @@ -1280,8 +1289,8 @@ function registerTFGFoodRecipes(event) { }) //#endregion + //#region Machine Recipes - // Food processing machine recipes event.remove({id: 'gtceu:shaped/mv_food_refrigerator'}) event.remove({id: 'gtceu:shaped/hv_food_refrigerator'}) event.remove({id: 'gtceu:shaped/ev_food_refrigerator'}) @@ -1361,4 +1370,6 @@ function registerTFGFoodRecipes(event) { C: 'tfc:compost', D: 'gtceu:steel_machine_casing' }).id('tfg:shaped/electric_greenhouse') + + //#endregion } From 0ba7c6cf7b24fc59c7f1802b54ab62c6027e4eae Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 21:42:21 +0000 Subject: [PATCH 066/628] fix #2197, cleaned up armor stand recipes --- CHANGELOG.md | 5 ++++- kubejs/server_scripts/ad_astra/tags.js | 6 ++++++ kubejs/server_scripts/create/tags.js | 15 +++++++++++++++ .../server_scripts/minecraft/recipes.removes.js | 2 ++ kubejs/server_scripts/minecraft/tags.js | 4 ++++ kubejs/server_scripts/tfc/recipes.js | 3 +++ kubejs/server_scripts/tfg/tags.stones.js | 5 +++++ 7 files changed, 39 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e739117a3..9f4db7c56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ - Added an AE2-linked TACZ ammo box @BlueBoat29 - Buffed hiking boots durability by 250%, also changed horseshoe durability and stats to match @Pyritie - Added more automatable mud brick recipes, ensured all dirt types are renewable (#2169) @Pyritie -- Added a sky stone block recipe to the rock breaker (#2159) @Pyritie +- Added a sky stone block duping recipe to the rock breaker (#2159) @Pyritie - Improved the tag for cleanroom doors @Pyritie - The food oven and refrigerator now emit heat (for TFC ambiental) @Pyritie - Dioxygen Difluoride is now cryogenic and acidic @Pyritie @@ -29,6 +29,9 @@ - Fixed some typos in gun/attachment names and descriptions @Jeuvke - Fixed ocean moai spawning underwater sometimes 🗿 @Pyritie - Added missing recipes for the Advanced and Electronic Gyroscope @Pyritie +- Fixed several quest typos and errors (#2151, #2176, #2177) @Pyritie +- Fixed not being able to put Seed Oil in a Mixing Bowl (#2203) @slavek +- Added missing items to the smooth stone slabs tag, cleaned up armor stand recipes (#2197) @Pyritie ### Translation updates - Russian @DI-GitH + @nineex - Brazilian Portuguese @Redeix diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index 7d1dd7882..f29b93dc4 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -157,6 +157,12 @@ const registerAdAstraItemTags = (event) => { } }) + event.add('forge:smooth_stone_slab', 'ad_astra:polished_moon_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_mars_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_venus_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_mercury_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_glacio_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_permafrost_slab') } const registerAdAstraBlockTags = (event) => { diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index c5cdb2e42..ee7c1e2b2 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -90,6 +90,21 @@ const registerCreateItemTags = (event) => { event.remove('create:stone_types/deepslate', 'minecraft:deepslate') event.remove('create:stone_types/dripstone', 'minecraft:dripstone_block') event.remove('create:stone_types/blackstone', 'minecraft:blackstone') + + event.add('forge:smooth_stone_slab', 'create:polished_cut_granite_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_diorite_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_andesite_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_calcite_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_dripstone_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_deepslate_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_tuff_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_limestone_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_asurine_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_crimsite_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_ochrum_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_scoria_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_scorchia_slab') + event.add('forge:smooth_stone_slab', 'create:polished_cut_veridium_slab') } const registerCreateBlockTags = (event) => { diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index c48fac8cb..da3192bef 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -2083,4 +2083,6 @@ function removeMinecraftRecipes(event) { event.remove({ id: 'gtceu:assembler/lodestone' }) //#endregion + + event.remove({ id: 'minecraft:armor_stand' }) } \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 5e866482f..97cf8ecfe 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -96,6 +96,10 @@ const registerMinecraftItemTags = (event) => { event.add('create:blaze_burner_fuel/regular', 'minecraft:charcoal') event.add('minecraft:wart_blocks', 'minecraft:mushroom_stem') + + event.add('forge:smooth_stone_slab', 'minecraft:polished_deepslate_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_brick_slab') } const registerMinecraftBlockTags = (event) => { diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 2ce60c45e..f38d1df41 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -350,4 +350,7 @@ const registerTFCRecipes = (event) => { ], { A: '#tfc:lumber' }).id('tfc:crafting/vanilla/ladder') + + event.replaceInput({ id: 'tfc:crafting/vanilla/armor_stand' }, '#minecraft:planks', '#tfc:lumber') + event.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' }) } diff --git a/kubejs/server_scripts/tfg/tags.stones.js b/kubejs/server_scripts/tfg/tags.stones.js index 000a1d7cf..d1c642af9 100644 --- a/kubejs/server_scripts/tfg/tags.stones.js +++ b/kubejs/server_scripts/tfg/tags.stones.js @@ -407,6 +407,11 @@ function registerTFGItemStoneTags(event) { event.add(`tfc:${STONE_TYPES.red_granite}_items`, 'gtceu:chiseled_red_granite') event.add('tfc:rock/bricks', 'gtceu:chiseled_red_granite') event.add('tfc:rock/chiseled_bricks', 'gtceu:chiseled_red_granite') + + // Smooth stone slabs + event.add('forge:smooth_stone_slabs', 'tfg:rock/polished_crackrack_slab') + event.add('forge:smooth_stone_slabs', 'tfg:rock/polished_moon_deepslate_slab') + event.add('forge:smooth_stone_slabs', 'tfg:rock/polished_red_granite_slab') // Permafrost (???) [NA] event.remove('tfc:metamorphic_rock', 'tfg:loose/permafrost') From 91e1072060ff64758609cf4b1f316ef5210c4897 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 21:48:12 +0000 Subject: [PATCH 067/628] fix #2154 Related Work Items: #215 --- kubejs/server_scripts/gregtech/recipes.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index ea5991918..52694c1f4 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -335,8 +335,12 @@ const registerGTCEURecipes = (event) => { //#region Выход: Цемент - generateMixerRecipe(event, ['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'], - "#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'concrete_from_marble') + const recipe = event.recipes.gtceu.mixer('concrete_from_marble') + .itemInputs(Ingredient.of('#tfg:stone_dusts').subtract('gtceu:marble_dust').withCount(2), 'gtceu:marble_dust', 'gtceu:gypsum_dust') + .inputFluids("#tfg:clean_water 1000") + .outputFluids('gtceu:concrete 1152') + .duration(40) + .EUt(16) generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], "#tfg:clean_water 500", [], null, 'gtceu:concrete 576', 20, 16, 64, 'concrete_from_clay') From 1111a31795a06dc8a4a52933bf3db8250e670457 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 21:57:57 +0000 Subject: [PATCH 068/628] fix #2178 --- kubejs/server_scripts/rnr/recipes.js | 29 +++++++++++++++++++++++++ kubejs/startup_scripts/tfc/constants.js | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/rnr/recipes.js b/kubejs/server_scripts/rnr/recipes.js index 27cd2d635..06b762c3d 100644 --- a/kubejs/server_scripts/rnr/recipes.js +++ b/kubejs/server_scripts/rnr/recipes.js @@ -51,6 +51,35 @@ const registerRnrRecipes = (event) => { '1x rnr:ceramic_roof_tile', 'rnr:unfired_roof_tile' ).id('rnr:smelting/unfired_roof_tile') + + event.remove({id: 'rnr:clay_knapping/roof_tile_a'}) + event.remove({id: 'rnr:clay_knapping/roof_tile_b'}) + event.remove({id: 'rnr:clay_knapping/roof_tile_c'}) + + event.recipes.tfc.knapping('10x rnr:unfired_roof_tile', 'tfc:clay', [ + 'XXXXX', + 'X X', + ' ', + 'XXXXX', + 'X X' + ]).id('tfg:clay_knapping/roof_tile_a') + + event.recipes.tfc.knapping('5x rnr:unfired_roof_tile', 'tfc:clay', [ + 'XXXXX', + 'X X', + ' ', + ' ', + ' ' + ]).id('tfg:clay_knapping/roof_tile_b') + + event.recipes.tfc.knapping('5x rnr:unfired_roof_tile', 'tfc:clay', [ + ' ', + ' ', + ' ', + 'XXXXX', + 'X X' + ]).id('tfg:clay_knapping/roof_tile_c') + event.recipes.gtceu.mixer('rnr:mixer/wet_concrete_mix') .inputFluids('gtceu:concrete 192', "#tfg:clean_water 808") diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 8f5a680ef..120f77dd3 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -845,7 +845,7 @@ global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_vessel", name: "vessel" }, { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_large_vessel", name: "large_vessel" }, { input: "5x minecraft:clay_ball", output: "tfcchannelcasting:unfired_heart_mold", name: "heart_mold" }, - { input: "5x minecraft:clay_ball", output: "2x rnr:unfired_roof_tile", name: "roof_tile" }, + { input: "5x minecraft:clay_ball", output: "10x rnr:unfired_roof_tile", name: "roof_tile" }, { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_fire_ingot_mold", name: "fire_ingot_mold" }, { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" }, { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_channel", name: "channel" }, From a64660a5b38cdbd44bb98a7939fbfe46dcd96280 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 22:06:27 +0000 Subject: [PATCH 069/628] fix #2129 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/tags.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fadad140e..58aff4bf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - Added an alternative recipe for item frames using cloth @Pyritie - Added a little more silver to surface bismuth veins, moved apatite veins closer to the surface and with deeper indicators, increased deep sapphire veins' max Y level and added a rock type, and also added a rock type to deep magnetite's veins (all overworld only) @Pyritie - Buffed the amount of roof tiles from clay knapping (#2178) @Pyritie +- Added sugar cookies, toasts, jams, pickled eggs, and butter to the meal bag tag, removed banana splits (#2129) @Pyritie ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 803dd73f1..19fd2b85c 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -293,15 +293,17 @@ const registerTFGItemTags = (event) => { '#tfc:foods/vegetables', '#tfc:foods/fruits', '#tfc:foods/dairy', + '#tfc:foods/preserves', '#firmalife:foods/chocolate', '#tfcchannelcasting:foods/chocolate_sweet', + 'firmalife:food/sugar_cookie', 'firmalife:food/chocolate_chip_cookie', 'firmalife:food/vanilla_ice_cream', 'firmalife:food/strawberry_ice_cream', 'firmalife:food/chocolate_ice_cream', - 'firmalife:food/banana_split', 'tfc:food/cooked_egg', 'tfc:food/boiled_egg', + 'firmalife:food/pickled_egg', 'tfc:food/cooked_rice', 'firmalife:food/cooked_pasta', 'firmalife:food/pasta_with_tomato_sauce', @@ -311,7 +313,11 @@ const registerTFGItemTags = (event) => { 'firmalife:food/salsa', 'firmalife:food/tomato_sauce', 'tfg:roasted_sunflower_seeds', - 'tfg:food/cooked_dino_nugget' + 'tfg:food/cooked_dino_nugget', + 'firmalife:food/toast', + 'firmalife:food/toast_with_butter', + 'firmalife:food/toast_with_jam', + 'firmalife:food/butter' ]; usable_in_meal_bag.forEach(item => { event.add('tfg:foods/usable_in_meal_bag', item); From bc4a75c7a24c9e9d30fc30beb4c89731ca2ccfcd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 11 Nov 2025 23:37:55 +0000 Subject: [PATCH 070/628] fixed the dye tag icons --- kubejs/assets/forge/models/tag/item/dyes/black.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/blue.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/brown.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/cyan.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/gray.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/green.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/light_blue.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/light_gray.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/lime.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/magenta.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/orange.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/pink.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/purple.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/red.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/white.json | 2 +- kubejs/assets/forge/models/tag/item/dyes/yellow.json | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/kubejs/assets/forge/models/tag/item/dyes/black.json b/kubejs/assets/forge/models/tag/item/dyes/black.json index 798c3e326..7edba0b63 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/black.json +++ b/kubejs/assets/forge/models/tag/item/dyes/black.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:black_dye" + "parent": "minecraft:item/black_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/blue.json b/kubejs/assets/forge/models/tag/item/dyes/blue.json index 0f632b4dc..106f6e486 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/blue.json +++ b/kubejs/assets/forge/models/tag/item/dyes/blue.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:blue_dye" + "parent": "minecraft:item/blue_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/brown.json b/kubejs/assets/forge/models/tag/item/dyes/brown.json index e32c3f0ee..a7c0bf17e 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/brown.json +++ b/kubejs/assets/forge/models/tag/item/dyes/brown.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:brown_dye" + "parent": "minecraft:item/brown_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/cyan.json b/kubejs/assets/forge/models/tag/item/dyes/cyan.json index 3917e2ab6..8f0b9eabd 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/cyan.json +++ b/kubejs/assets/forge/models/tag/item/dyes/cyan.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:cyan_dye" + "parent": "minecraft:item/cyan_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/gray.json b/kubejs/assets/forge/models/tag/item/dyes/gray.json index 36feed954..f172d9c84 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/gray.json +++ b/kubejs/assets/forge/models/tag/item/dyes/gray.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:gray_dye" + "parent": "minecraft:item/gray_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/green.json b/kubejs/assets/forge/models/tag/item/dyes/green.json index b72da290e..8c9b01f4d 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/green.json +++ b/kubejs/assets/forge/models/tag/item/dyes/green.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:green_dye" + "parent": "minecraft:item/green_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/light_blue.json b/kubejs/assets/forge/models/tag/item/dyes/light_blue.json index d8dc8b038..dc7b0fe83 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/light_blue.json +++ b/kubejs/assets/forge/models/tag/item/dyes/light_blue.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:light_blue_dye" + "parent": "minecraft:item/light_blue_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/light_gray.json b/kubejs/assets/forge/models/tag/item/dyes/light_gray.json index 9d80a69a1..fd20fd951 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/light_gray.json +++ b/kubejs/assets/forge/models/tag/item/dyes/light_gray.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:light_gray_dye" + "parent": "minecraft:item/light_gray_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/lime.json b/kubejs/assets/forge/models/tag/item/dyes/lime.json index 2e09a3737..79d6a4b82 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/lime.json +++ b/kubejs/assets/forge/models/tag/item/dyes/lime.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:lime_dye" + "parent": "minecraft:item/lime_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/magenta.json b/kubejs/assets/forge/models/tag/item/dyes/magenta.json index 9591f42a4..a90be55c0 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/magenta.json +++ b/kubejs/assets/forge/models/tag/item/dyes/magenta.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:magenta_dye" + "parent": "minecraft:item/magenta_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/orange.json b/kubejs/assets/forge/models/tag/item/dyes/orange.json index f415ebd94..27b2a2f9d 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/orange.json +++ b/kubejs/assets/forge/models/tag/item/dyes/orange.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:orange_dye" + "parent": "minecraft:item/orange_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/pink.json b/kubejs/assets/forge/models/tag/item/dyes/pink.json index dc28964cd..6c114a5ff 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/pink.json +++ b/kubejs/assets/forge/models/tag/item/dyes/pink.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:pink_dye" + "parent": "minecraft:item/pink_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/purple.json b/kubejs/assets/forge/models/tag/item/dyes/purple.json index 4f9d46412..ec0488ef2 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/purple.json +++ b/kubejs/assets/forge/models/tag/item/dyes/purple.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:purple_dye" + "parent": "minecraft:item/purple_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/red.json b/kubejs/assets/forge/models/tag/item/dyes/red.json index 13098e9be..246614ff9 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/red.json +++ b/kubejs/assets/forge/models/tag/item/dyes/red.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:red_dye" + "parent": "minecraft:item/red_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/white.json b/kubejs/assets/forge/models/tag/item/dyes/white.json index 1ea93ad2f..ecb66e038 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/white.json +++ b/kubejs/assets/forge/models/tag/item/dyes/white.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:white_dye" + "parent": "minecraft:item/white_dye" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/dyes/yellow.json b/kubejs/assets/forge/models/tag/item/dyes/yellow.json index 0cbc6f319..f2ac0b20e 100644 --- a/kubejs/assets/forge/models/tag/item/dyes/yellow.json +++ b/kubejs/assets/forge/models/tag/item/dyes/yellow.json @@ -1,3 +1,3 @@ { - "parent": "minecraft:yellow_dye" + "parent": "minecraft:item/yellow_dye" } \ No newline at end of file From cab708ebc4b551815fffe5621afbd4d1ec64bc05 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 12 Nov 2025 19:21:21 +0000 Subject: [PATCH 071/628] langs --- CHANGELOG.md | 1 + kubejs/assets/tfg/lang/tr_tr.json | 194 ++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+) create mode 100644 kubejs/assets/tfg/lang/tr_tr.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 58aff4bf3..7ca73397b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry - Japanese @sakura-gondra +- Turkish @MVG31 ## [0.11.7] - 30-10-2025 ### Changes diff --git a/kubejs/assets/tfg/lang/tr_tr.json b/kubejs/assets/tfg/lang/tr_tr.json new file mode 100644 index 000000000..eb30dc598 --- /dev/null +++ b/kubejs/assets/tfg/lang/tr_tr.json @@ -0,0 +1,194 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "quests.stone_age": "Taş devri", + "quests.stone_age.subtitle": "Mütevazi başlangıçlar", + "quests.stone_age.foods.title": "Acıktın mı?", + "quests.stone_age.foods.subtitle": "Nerde benim kolay kazanılan lokmam?", + "quests.stone_age.foods.desc": "TerraFirmaGreg'te, dünya çok sert bir yer, ve hayatta kalma kalmanın en önemli yönlerinden biri de gıdayı elde edebilmektir. Çoğu gıda sana az miktarda besin sağlar, aynı zamanda pişmemiş olanlar ölümcü olabilirler. Can çubuğunun yanındaki yeşil çubuk senin açlık durumunu temsil eder.\n\nBir gıdanın herangi bir formu ile başla.", + "quests.stone_age.nutrition.title": "Mekanik: Beslenme", + "quests.stone_age.nutrition.subtitle": "NE demek sadece biftek yiyemem?", + "quests.stone_age.nutrition.desc": "TerraFirmaGreg'te herangi bir basit gıdanın besin değeri vardır, ve bu besin değerleri 5 farklı katergoride sıralanır: &lTahıl&r, &lMeyve&r, &lSebzeler&r, &lProtein&r and &lsüt&r.\n\nProtein gibi yalnızca tek tür çiğ besin yiyebilirsiniz, senin tüm canın düşmüş olacak, dengeli bir diyet size daha fazla can verecektir. Her 100 Hp 1 kalbe denk gelir.\n\nDaha tam detay için saha rehberinin \"Gıda ve Su\" kısmına bakın.", + "quests.stone_age.cook_meat.title": "Basit pişirme", + "quests.stone_age.cook_meat.subtitle": "yediğin çiğ et yüzünden ölmek istemezsin değil mi?", + "quests.stone_age.cook_meat.desc": "Çiğ eti pişirmek protein elde etmek için önemli bir adım - sadece etin raf ömrünü uzatmakla kalmaz, ama ihtiyaçlı vücudunuz için daha fazla besinin kilidini açacaktır.\n\nEtinizi pişirmenin en basit yolu Kamp Ateş'i kullanmaktır. Aşağıdaki görevlere bakarak nasıl yapacağınızı öğrenebilirsiniz.", + "quests.stone_age.soup_time.title": "Çorbalar", + "quests.stone_age.soup_time.subtitle": "Hangi mağazadaydın?", + "quests.stone_age.soup_time.desc": "Biraz kil ile bir tencere ve biraz kase yaparsan, çorbalar yapabilirsin!\n\nÇorbalar ilk ve basit kompleks yemeklerdendir. gıdaları olduğu gibi yemektense, daha fazla açlık giderir ve birden fazla besin değerini bir anda almana yardımcı olur!", + "quests.stone_age.meals.title": "Gıdalar", + "quests.stone_age.meals.subtitle": "Midemhe inin!", + "quests.stone_age.meals.desc": "Bunlar senin yapabileceğin bazı basit gıdalar. Çorbalar, salatalar, ve sandiviçler senin kolay besleyici kombinasyonlu gıdaların, sadece pizzalar tüm besin değerlerini bir arada tutabilir.", + "quests.stone_age.meals.tasks.1": "Herangi sıradan Sandiviç", + "quests.stone_age.meals.tasks.2": "Herangi sıradan Reçelli Sandiviç", + "quests.stone_age.garlic_bread.title": "Sarımsaklı Ekmek...?", + "quests.stone_age.garlic_bread.subtitle": "Vampir veya ona benzer bir şeyi mı korkutucan?", + "quests.stone_age.garlic_bread.desc": "Uzman tavsiyesi: Bu görev HERANGİ bir Sarımsaklı Ekmeği kabul edecektir, taze olmak zorunda değiller.", + "quests.stone_age.garlic_bread.task": "1024 dilim Sarımsaklı Ekmek", + "quests.stone_age.find_potable_water.title": "Susadın mı?", + "quests.stone_age.find_potable_water.subtitle": "Su içmeyi unutmayın!", + "quests.stone_age.find_potable_water.desc": "Açlık çubuğunun üstündeki mavi çubuk senin susuzluk göstergen. Eğer susuzluk çubuğunu boş bırakırsan susuzluktan ölürsün! su içmenin en kolay yolu vahşi doağada kendiliğinden oluşmuş su kaynaklarından içmektir, onlara boş elinle sağ tıklarsan içebilirsin.\nBu görevi tamamlamak için, bunun için içelebilir bir su kaynağından içmen lazım, normal veya nehir suyudan biri. Görevi düzgün bir şekilde tamamlamak için birden fazla su içmelisin\n\nBurda suyu temizlemene gerek yok, sadece Tuzlu Su seni daha çok susatır.", + "quests.stone_age.find_potable_water.task": "Elinle herangi bir su kaynağından su iç. (Tuzlu ve Sıcak olandan değil)", + "quests.stone_age.hydration.title": "Mekanik: Susuzluk", + "quests.stone_age.hydration.subtitle": "Evet başka dolu olması gereken çubuk...", + "quests.stone_age.hydration.desc": "Su çok önemli bir kaynaktır, sadece sussuz kalmamak için değil! Üsünü bir dere yatağına kurman önerilir, böylelikle başka şeylere daha kolay ulaşırsın. Diğer öğeler susuzluğunuzu giderebilir, bazı tür gıda ve sıvılar gibi.\n\nSu daima sen kaşif yaparken bulunmayabilir, ama velakin, içeceklerini taşımanın başka yolları da var. İçmek depodan 100mb(mili kova) harcar.", + "quests.stone_age.leather_flask.title": "Deri Matara", + "quests.stone_age.leather_flask.subtitle": "Eski inançlı", + "quests.stone_age.leather_flask.desc": "Seramik Sürahiden sonra 2. en kolay su taşıma aleti Deri Mataradır. 500mb taşıyabilir, yada 5 içiş için yeterl,.\n\nDeri Mataralar kullanılnca hasar alırlar, ama kırıldıklarında, elinde Deri ile tamir edebilirsin. Keseler büyük hayvanlardan elde edilebilir.", + "quests.stone_age.iron_flask.title": "Demir Matara", + "quests.stone_age.iron_flask.subtitle": "İşte bu uzun bir süre iş görecek", + "quests.stone_age.iron_flask.desc": "Demir Matara, Deri Mataranın ilk gelişmiş halidir. Deri mataradan çok daha dayanıklı ve 2000mb yani 20 içme hakkı vardır.", + "quests.stone_age.water_bucket.title": "Su Kovası", + "quests.stone_age.water_bucket.subtitle": "Düşündüğün kadar elde etmesi kolay değil", + "quests.stone_age.water_bucket.desc": "Taşıması ve elde etmesi kolay asla bitmeyen bir su kaynağı, ama biraz hantalca.\n\nNe yazik ki, Tahta Kovalar içmek için kullanılamazlar, çünkü onlar su taşıma aleti değiller, eğer suyu koyarsan sadece çok küçük bir su kaynağı yaratır ve kaybolur.", + "quests.stone_age.glass_bottles.title": "Cam Şişeler", + "quests.stone_age.glass_bottles.subtitle": "Deri mataralar kadar havalı değiller", + "quests.stone_age.glass_bottles.desc": "Cam Şişeler, Deri mataralarla aynı özeliktedir , 500mb su taşırlar. ama velakin, cam işlemek şuan mümkün değildir, ta ki sen Pirince şekil verene kadar.", + "quests.stone_age.water_jug.title": "Seramik Sürahi", + "quests.stone_age.water_jug.subtitle": "Nispeten kolay su", + "quests.stone_age.water_jug.desc": "Bir Seramik Sürahi elde etmesi çok kolaydır, ama sadece 100mb su taşıyabilir, yani her içişten sonra tekrar doldurman gerekli.\n\nHer sürahiden su içişinde rastegele bir şansa içtikten sonra kırılabilir!", + "quests.stone_age.temperature.title": "Hava Durumu", + "quests.stone_age.temperature.subtitle": "Bugünün Hava Durumu ne? Acı.", + "quests.stone_age.temperature.desc": "Her yeni dünya yazın erken zamanlarında başlar, her ay 8 gün sürer. Mevsimler değişir, sıcaklıktaki değşimler ektiklerini, meyve ağaçlarını, çalıları... ve seni etkiler!\n\nVücut ısın senin onu düzgün bir seviyede tutman gereken şeylerden biridir. açlık ve can çubuğunun arasındaki üçgen değişkenlik gösterir. Eğilerek Tam sayıları görebilirsin -- soldaki sayı senin ıslaklık durumunu, ve sağdaki sayılar Vücut sıcaklığını ölçer.", + "quests.stone_age.temperature.task": "Var", + "quests.stone_age.insulation.title": "Mekanik: Vücut sıcaklığı", + "quests.stone_age.insulation.subtitle": "Hipo ve Hiper-termiye dikkat et!.", + "quests.stone_age.insulation.desc": "Dünyadaki bir çok etmen senin Vücut sıcaklığına etki eder, direk gelen güneş ışığı, ıslak olmak, ateşin yanında durmak. Vücut sıcaklığını daima 0-30C° tutmalısın yoksa aksi takirde hasar alırsın, renkli efektler ile gösterilir.\n\nOrtam ve çevre sıcaklığının etkisini azaltmanın ve vücudunuzun ısısını sabit bir seviyede tutmanın birden fazla yolu vardır, ve &lKıyafet&r giymek en etikili yollardan biridir. Kıyafetleri zırh kısmında veya ikinci kıyafet kısmında (curios slot) giyebilirsin..", + "quests.stone_age.primitive_insulation.title": "İlkel Yalıtım", + "quests.stone_age.primitive_insulation.subtitle": "Mağara adamı modası", + "quests.stone_age.primitive_insulation.desc": "Çıplak ve üşüyor musun? Bu senin yapabileceğin en kolay kıyafettir, ve tabi ki düşük dayanıklılık ile, daha iyi bir şey elde edene kadar seni tutacaktır.", + "quests.stone_age.furs.title": "Yırtıcı Hayvanların derileri", + "quests.stone_age.furs.subtitle": "Aşırı zor Kürk giysiler", + "quests.stone_age.furs.desc": "Büyük Yırtıcı Hayvanlar normal deri düşürmek yerine kendilerinin kürkünü düşürürler, yani yalıtımlı kıyafet yapmana olanal sağlar, yada kürkü parçalayarak normal deri haline getirip sonra işleyebilirsin.", + "quests.stone_age.wool_clothes.title": "Yün Kıyafetler", + "quests.stone_age.wool_clothes.subtitle": "soğuk ısırığı karşı", + "quests.stone_age.wool_clothes.desc": "Yün Kıyafetler aşırı zorlu kışta ve soğuk iklimlere karşı mükemmeldir. Bütün bir Yünlü Kıyafet çoğu kışlar için idealdir.\n\nYün ürünü elde etmek için, Koyun, Alpaka yada misk öküzülerinden yararlanabilirsin. Saha Rehberinin Fauna bölümü, her farklı hayvanın nerede ve nasıl bulunabileceğini listeler ve bilgi verir, ve Hayvancılık bölümünde bunların nasıl yünlerin tıraşlanarak alınabileceğini anlatılıyor.", + "quests.stone_age.insulated_leather_clothes.title": "Yalıtımlı Deri Kıyafetler", + "quests.stone_age.insulated_leather_clothes.subtitle": "Dışarısı soğuk olmaya başlayınca", + "quests.stone_age.insulated_leather_clothes.desc": "Yalıtımlı Deri Kıyafetler, Yün Kıyafet elde etmekten daha kolaydır, ama yün kıyafetden daha az yalıtımlı ve daha az sıcak tutar. yinede ılıman ve soğuk bölgelerde yaşamak için hâlâ çok etkililer.\n\nderileri için hayvanları öldürmen gerekli, yada bir hayvan evcileştir (yada öldür, ne uğraşıcam diyorsan) yün üreten hayvanlardan yün elde edersin, koyun, Alpaka veya Misk Öküzü. Saha Rehberinin Fauna bölümü, her farklı hayvanın nerede ve nasıl bulunabileceğini listeler ve bilgi verir, ve Hayvancılık bölümünde bunların nasıl yünlerin tıraşlanarak alınabileceğini anlatılıyor.", + "quests.stone_age.burlap_clothes.title": "Kenevir Kumaşı Kıyafet", + "quests.stone_age.burlap_clothes.subtitle": "Bu sana sıcaklık basınca", + "quests.stone_age.burlap_clothes.desc": "Kenevir kumaşı kenevirden yapılır. kenevir, sıcaklık ve nem ihtiyaçları karşılandığı sürece çoğu sıcak iklimde yetişebilir..\n\nKenevir Kumaş Giysileri sıcak yazlar veya diğer bazı sıcak ortamlar için mükemmeldir, ama bunu daha sonra konuşucaz.", + "quests.stone_age.silk_clothes.title": "İpek Kıyafet", + "quests.stone_age.silk_clothes.subtitle": "İpek böceği yok, üzgünüm!", + "quests.stone_age.silk_clothes.desc": "İpek örümcek ağından elde edilebilir, derinlerde bulunmadan yüksek miktarda ipek elde etmek çok da mümkün değildir.\n\nİpek Giysiler inanılmaz derecede sıcak ortamlar için mükemmeldir!, Çöller veya The Beneath'in alt kısımları gibi.", + "quests.stone_age.clothes.title": "Giyinmek", + "quests.stone_age.clothes.subtitle": "Şık!", + "quests.stone_age.clothes.desc": " Kıyafet Giymek zorlu sıcaklıkları en kolay şekilde alt etmenin yoludur, soğuk iklimler için yün ve yalıtımlı deri kıyafetler mükemmeldir, ipek ve kenevir kıyafetlerde sıcak iklimler için idealdir.", + "quests.stone_age.find_rock.title": "Biraz Taş bul", + "quests.stone_age.find_rock.subtitle": "Grug taşları çakıştırmak", + "quests.stone_age.find_rock.desc": "Maceranın başlangıcında, farkedeceğin ilk şey dünyanın tamamen değişmiş olması. Artık ellerinle ağaç kıramıyorsun, ama endişelenme, aletleri olmayan bir mağara adamı mağara adamı değiYldir!\n\nTahta kazma yapmak yerine, yerden taş toplamaya başlayabilirsin. En az 4 taş toplayarak başla. Taşları sol tuş ile kırarak veya sağ tuş ile toplayabilirsin.", + "quests.stone_age.rock_knapping.title": "Yontmak", + "quests.stone_age.rock_knapping.subtitle": "Tıpkı Paleolitik çağının eski günleri gibi", + "quests.stone_age.rock_knapping.desc": "Taşlar \"Yontulabilirler\", Yani basit bir malzemeyi birbirine çarparak kullanılabilir bir forma dönüştürme işlemidir. Taş Yontmak için en az 2 taşa ihtiyaç vardır, ve onları tutup ve havaya sağ tıklarsan, Yontma arayüzünü açacaksınız. daha sonra sen \"parçalara ayırlarak\" taşlarınından bir tanesini taş alet başlığına çevirirsin. Farklı araçlara ilgili tüm şekiller EMI'da ve Saha Kılavuzunda bulunabilir.\n\nYolculuğunuzun başlangıcındaki en önemli iki alet bir Taş Bıçak ve bir Taş Baltadır, o yüzden bu alet başlıklarını yontmayı deneyin.", + "quests.stone_age.find_stick.title": "Biraz Çubuk bul", + "quests.stone_age.find_stick.subtitle": "Bu aleti bir şekilde elinde tutmalısın", + "quests.stone_age.find_stick.desc": "Yerde başka Bol olan şeylerden biri çubuklardır, ve bir çok kullanım alanları var! Onlarla aletler, meşaleler, ateş başlatıcısı gibi birçok benzeri şeyler yapılabilir.\n\nenvanterinin başka tür çubuklar ile dolmasını önlemek için, onları 'normal' çubuk haline getirebilir ve birbirlerini yığın halinede getirebilirsin. sonra, dokuz çubuğu deste haline de getirebilirsin, ve deste içerisinde çok fazla yığın vardır, yani odunların yerine bir altenatif olarak kullanılabilir.", + "quests.stone_age.first_stone_tools.title": "Senin ilk aletlerin!", + "quests.stone_age.first_stone_tools.subtitle": "Sen maymun olmak ve maymun zeki olmak", + "quests.stone_age.first_stone_tools.desc": "Taşları kullanılabilir şekile yontarak, ve onları çubuk ile birleştirip ilk ilkel aletlerini üretebilirsin. Ve sen Resmi olarak Taş Devrindesin!\n\nTaşlar senin basit hayatta kalma serüvenin için yeterlidir, ama günün sonunda metal aletler yapmak istiyeceksin daha hızlı, dayanıklı, ve alet seçeneği. sıradaki 2 yeni görev toplayacağının malzmeler konusunda yardım edecekler.", + "quests.stone_age.stone_tools.title": "Taş Aletler", + "quests.stone_age.stone_tools.subtitle": "Taşları birbirine vurmak demek ki işe yarıyormuş", + "quests.stone_age.stone_tools.desc": "Taşlar Nispeten basit ve ilkel materiyaler, metalleri işlemeyi öğrenene kadar taşlara mahkumsun. Bazı diğer işe yarayan aletlerden biri Mızrak, vanilya Trident gibi fırlatılabilir, ve Çapa, bu da tarım yapmanızı sağlar.", + "quests.stone_age.gather_straw.title": "Saman Topla", + "quests.stone_age.gather_straw.subtitle": "istersen Çapa kullanabilirsin", + "quests.stone_age.gather_straw.desc": "Dünyadaki çoğu çimeni Saman olarak toplayabilirsin, eğer bir Çapa veya Bıçak ile keserek(kırmak). Samanların üretimde çok yeri vardır, ama Çukur Fırını yapmak için en az 8 Samana ihtiyacın var.\n\nSamanları güneşten az da olsa korunmak için Saman Şapka yapabilirsin, yada Saman Balyası, yani fiziksel çarpışması olmayan, basit yapılarda kullanılabilir.", + "quests.stone_age.gather_logs.title": "Odun Topla", + "quests.stone_age.gather_logs.subtitle": "GELİYOR!", + "quests.stone_age.gather_logs.desc": "Yeni Taş Baltan ile beraber, ağaçları kesebilirsin. ağacı kökünden kesmek ağacın komple düşmesine sebep olur, sonucunda kütükler, çubuklar, ve fideler düşer.\n\nEn az 10 kütük topla -- 8 tanesi bir adet Çukur Fırını için gerekli kalan 2 odun isede Kamp Ateşi içim gerekli.", + "quests.stone_age.firepit.title": "Kamp Ateşi", + "quests.stone_age.firepit.subtitle": "Gece vakti yaklaşıyor!", + "quests.stone_age.firepit.desc.1": "Şimdi sende biraz odun var, şimdi sırada ilk ve senin Kamp Ateşini yapmakta! Yaratıklar geceleri yüzeyde çıkmazlar, gece dolaşan yırtıcılar uyanık olacak ve etrafta sinsice yeni avını avlanmak dolaşacaklar.\n\nöncelikle ateş başlatıcı yapman lazım, ateş yakmana olanak sağlayan bir alet.", + "quests.stone_age.firepit.desc.2": "Kamp Ateşini yapmak için, yere en az 1 kütük ve 3 çubuk at, daha sonra attığın yerdeki bloğun üstüne ateş başlatıcı ile ateşle. aynı zamanda saman ekleyerek işi kolaylaştırabilirsinde.\n\nKamp Ateşi sadece ışık ve sıcaklık kaynağı değildir, ama onu meşale yapmak ve çiğ eti pişirmek için de kullanabilirsin. Kamp Ateşinizi onunla etkileşim kurarak ve kullanıcı arayüzüne kütükler ekleyerek yanık tutabilirsiniz.. eğer ateş sönerse, daha fazla odun ekle ve ateş başlatıcı ile ateşle", + "quests.stone_age.find_clay.title": "Kil Kaynakları", + "quests.stone_age.find_clay.subtitle": "Sana bundan çok fazla lazım olacak", + "quests.stone_age.find_clay.desc": "Kil, taş devri teknolojisinin önemli bir parçasıdır! Taş Yontamaya benzerler, Killer farklı kalıplara dönüştürürlerek Çukur Fırınına yerleştirirlir ve yakılır, çok çeşitli öğeler oluşturmak içindirler. Taş Alet Edavatlar ve Kil Seramikler, Metallerle nasıl çalışılacağını öğrenene ve işleyene kadar hayatta kalma serüvenizin ana omurgası olacak.\n\nKil toprak içerisinde kendisini belli etirecek şekilde kabarcıklar halinde bulunur, genelikle çimen ile kaplıdırlar. fakat, belli başlı bitkiler, \"Kil Göstergeleri\" olarak bilinirve özelikle kil üzerinde büyürler. İkliminizin hangi tür göstergelerin büyüyebileceğini öğrenmek ve anlamak için Saha Kılavuzunu inceleyiniz.", + "quests.stone_age.clay.title": "Kil", + "quests.stone_age.clay.subtitle": "Bu kil!", + "quests.stone_age.clay.desc": "En az 25 parça kil topla. Sana ileremek için en az 5 tane lazım olacak (sonraki görevlere bakın). kile kalıp şekli verdikten sonra, onları bir Çukur Fırının içine koy ateşle ve seramik olmasını bekle. Kil Kalıpları yapmak Taş Yontamaya benzerler, her eşya için sana 5 kil lazım olacak ama yanlış tıklarsan kili kaybetmezsin.", + "quests.stone_age.pit_kiln.title": "Çukur Fırını", + "quests.stone_age.pit_kiln.subtitle": "Artık işler sıcaklaşıyor", + "quests.stone_age.pit_kiln.desc": "Çukur Fırını erken aşama eşyaları ısıtma yoludur. Bunu kil eşyaları çift taraflı pişirmek için kullanacağız, ve en önemlisi, baya basit metalleri eriterek ilk metal eşyanı oluştur, bir Testere!.\n\nBir Çukur Fırını yapmak için 8 saman, 8 odun, ısıtmak istedeğin bir şey, ve bir ateş başlatıcısına ihtiyacın var. Nasıl yapılacağını öğrenmek için Saha Rehberininde Çukur Fırını bölümünü okuyunuz - kamp ateşi ile aynı değil!", + "quests.stone_age.clay_products.title": "Kil Ürünleri", + "quests.stone_age.clay_products.subtitle": "Sana Kilin çok amaçlı olduğunu söylemiştim.", + "quests.stone_age.clay_products.desc": "Bunlar kil ürünlerinden yapılan her şey. Kalıplar metal işçiliği için kullanılır, Kil Kaplar eşya tutması için kullanılır, diğer kullanım alanları Saha Rehberinde açıklanıyor. hepsini yapabileceğine inanıyor musun?", + "quests.stone_age.make_jug.title": "Seramik Sürahi", + "quests.stone_age.make_jug.subtitle": "Erken aşama Sıvı depolaması", + "quests.stone_age.make_jug.desc": "bir sürahi yapılabilecek en kolay sıvı deposudur, ama sadece 100mB taşıyabilir. aynı zamanada içebilirsinde, hava üflüyerek biraz ses yap!", + "quests.stone_age.make_saw_mold.title": "Testere Kalıbı", + "quests.stone_age.make_saw_mold.subtitle": "İlk metal aletini yapma zamanı", + "quests.stone_age.make_saw_mold.desc": "kilden yapman gereken ilk kalıp testere kalıbıdır. az miktar metal beraberinde testerini yapabilirsin. testere önemli bir alettir, &lKereste&r yapabilmek için gereklidir, ve onunla beraber ilk &l&oTezgah.&r yapabilirsin", + "quests.stone_age.make_vessel.title": "Kil Kap", + "quests.stone_age.make_vessel.subtitle": "İşe yarar küçük Kavanozlar.", + "quests.stone_age.make_vessel.desc": "Kil kaplar bir depolama gibi kullanılabilir, belli miktar eşyayı bir slota taşır, ama daha önemlisi, Metaller ile çalışmaya başlamanın ilk aletidir.\n\nKil Kap ile etkileşim kurarak, onun küçük depolamasını açarsın, yani cehverleri koyabileceğin bir yer. The Vessel's tooltip can also tell you what your ores will melt into, which is especially useful when crafting alloys!\n\nPlacing the Vessel in a Çukur Fırını and heating it up allows you to &lmelt&r the metal inside.\n\nIf you're feeling adventurous, you can mix different metal types to create Alloys. Alloys require specific percentage mixtures of metals. While Copper is great immediatly, you could make your very first metal tools with Bronze instead.", + "quests.stone_age.native_ores.title": "Cehverli Çakıl Taşları mı?", + "quests.stone_age.native_ores.subtitle": "aradığın ilk metale 'bakarsan' zaten hazır.", + "quests.stone_age.native_ores.desc.1": "Cevher damarları bildiğimizden farklı şekilde oluşuyorlar - rastgele bir mağarada gezerek bulamazsın, onun yerine yüzeyde bulmanız gereken \"gösterge\"ler var. Bunlara örnek olarak: küçük taş parçaları, toz yığını, ve hatta küçük kristal tomurcuklar.\n\nBakıra dönüştürülebilir bir şey bulamıyor musun? Başka bir taş çeşidi aramayı dene -- farklı cehverler farklı taş çeşitlerinde var olurlar. Tam listey bakmak ve görmek için Saha Rehberinizin TFG Cevherleri kategorisine göz atınız.", + "quests.stone_age.native_ores.desc.2": "Neden bunlara Göstergeler deniyor? Bu, doğrudan aşağısında, büyük, hatta KOCAMAN cehver yatağı bulduğun göstergenin altında yatıyor. sende şuan bir kazma yok, o yüzden bulduğun cehverleri not al! sonradan işine yarayabilirler.\n\nher bir tanesi bir parça değerinde, yani toplayabildiğin kadar topla, ama onları bulduktan sonra not almayı unutma!", + "quests.stone_age.first_saw.title": "Metalik Testere", + "quests.stone_age.first_saw.subtitle": "şimdi ilk metal eşyanı yapma zamanı", + "quests.stone_age.first_saw.desc.1": "Testerini yapmaya başlamadan önce, Kil Kaba en az 144mb tekabül edecek şekilde metal barındır. daha sonra, Kil Kabını bir Çukur Fırınına yerleştir ve ateşe ver.\n\nÇukur Fırını söndüğü zaman,Kil Kap hala sıcakken hızlıca alın,boş elinizde bir Tahta Maşa tutmayı ihmal etmeyin, ve Dökme arayüzünü açmak için onunla etkileşime geçin. Testere Kalıbını Dökme Arayüzünün yuvasına yerleştirin ve ilk Testere Başlığınızı dolmasını bekleyin. daha sonra, Testere Başlığınızı bir Çubukla birleştirin ve Testerenizi oluşturun!", + "quests.stone_age.first_saw.desc.2": "çalışması en kolay metal bakırdır, alaşımlamada şansınızı deneyebilirsiniz. Bu görevin ya Bakırdan ya da Bronz Alaşımdan yapılmış bir eşyayı kabul edecektir.\n\n&lBizmut Bronz&r: Bakır, Bizmuth ve çinko. en zayıf bronzdur, ama yapması en kolayı olabilir(kime göre neye göre).\n\n&lBronz&r: Bakır ve Kalay. bildiğimiz bronzdur.\n\n&lSiyah Bronz&r: Bakır, Altın, Ve Gümüş ile alaşım yapılır: oyundaki en iyi bronzdur, ama yapması daha pahalıdır.", + "quests.stone_age.first_saw.tasks.1": "Bakır veya Bronz Testere Başlığı.", + "quests.stone_age.first_saw.tasks.2": "Bakır veya Bronz Testere.", + "quests.stone_age.craft_lumber.title": "sıra tezgah yapmaya geldi", + "quests.stone_age.craft_lumber.subtitle": "3x3 işçiliği elinizin altında", + "quests.stone_age.craft_lumber.desc": "Kereste oluşturmak için yeni Testerenizi üretim alanızdaki bir Kütük ile oluşturun. 4 Kereste Tahtalara dönüştürülebilir...\n\n ve elinde 4 Tahta olunca, sıra ilk tezgahını yapmaya geldi.", + "quests.stone_age.workbench.title": "Tezgah", + "quests.stone_age.workbench.subtitle": "Tezgah LAN BU!", + "quests.stone_age.workbench.desc": "Tebrikler! tezgahın ile resmi olarak taş devrinin zirvesine giriş yapmış bulunmaktasın. Bu blok ile şimdiye kadar topladığınız eşyalarlar ve malzemeler ile çok sayıda yeni şey yapabilir ve zaanata dönüştürebilirsiniz..\n\nŞimdi Taş Çağının ana hedefiniz geliyoruz: Bakır Örs ile metalin düzgün işlenmesi ve şekil verilmesi!.\n\nYan not: Şu anda 14 külçe bronz yapmaya yetecek kadar malzeme toplayabilseniz de, önce bakır örsü işlemeden ve yapmadan yaptığınız bronzları bir örse dönüştüremezsiniz, üzgünüm! En azından örsler geri dönüştürülebilir, böylece hiçbir şey israf olmaz.", + "quests.stone_age.inventory.title": "Erken Depolama Seçenekleri", + "quests.stone_age.inventory.subtitle": "Tüm çöplerinizi kil kaplarda taşımayı bırakmanın zamanı geldi çattı artık", + "quests.stone_age.inventory.desc": "oyunun erken aşamalarında, elinde 4 tane basit depolama çözümü olacak:\n\n&lSandıkt&r: Sandıklar üretmesi en kolay ve etkili yollardan biridir, ama sadece 18 depolama yuvası var ve büyük nesneleri depolayamaz(alet vb.).\n\n&lKasa&r: Kasalar tek depolamalı, en ucuz olanın 27 depolama yuvası var, ama yapması daha pahalı.\n\n&lSupply Cart&r: A Supply Cart has a huge size of 54 Slots and can be carried around with you, but takes up lots of space.\n\n&lLarge Vessels&r:The cheapest to craft, only requiring clay, and are ideal for food preservation. Available in a wide variety of colors too!", + "quests.stone_age.portable_storage.title": "Taşınabilir Depolama?", + "quests.stone_age.portable_storage.subtitle": "Çünkü envanterin çöplerle doldurması lanet bir şey", + "quests.stone_age.portable_storage.desc": "&lTerraFirmaGreg Tavsiye&r bölümünde, Taşınabilir Depolama için tüm farklı seçenekleri kapsayan bir bölüm var, dünyayı dolaşırken yanınızda taşıyabileceğiniz eşyaların sayısını artırabilmek için. görevi bulmakta zorlanıyorsan, Görev ağacının en sağ tarafındaki görevler.", + "quests.stone_age.barrels.title": "Fıçılar", + "quests.stone_age.barrels.subtitle": "Oburiks?", + "quests.stone_age.barrels.desc": "Vanilla’daki eşdeğeri aksine, Fıçılar sıvı depolularlar. fıçılar 10 kova sıvı tutabilirler, sıvıları depolamak için basit bit çözüm sunar.\n\naynı zamanda eşya ve sıvıları kombolayabilirsin, deri, yapıştırıcı, harç, alkol ve daha fazlasını yapabilirsin.", + "quests.stone_age.leather.title": "Deri", + "quests.stone_age.leather.subtitle": "tabikide her şey daha komplike olmak zorunda", + "quests.stone_age.leather.desc": "öldüğünde, vahşi hayvanlar postunu bırakır. postlar direk olarak deri niyetinde kullanılamazlar ve önce işlenmeleri gerekir.\n\nDeri, kil ve taşta olduğu gibi, Yontulabilirler. Deriyi yontmak, Deri Zırh, matara, ve nicelerini yapmakta kullanılır.\neğer hayvanları derisi için öldürmek istemiyorsan, ve tropik bir bölgede yaşıyorsanız, bunun yerine Ananası, Ananas Derisine dönüştürebilirsiniz, normal deri ile aynı işleve sahip.", + "quests.stone_age.leather_armor.title": "Deri Zırh", + "quests.stone_age.leather_armor.subtitle": "Baya basit Koruma", + "quests.stone_age.leather_armor.desc": "Deri zırh, minecrafta olduğu gibi, baya basit bir koruma için kullanılır. daha fazlası değil, ama velakin sizi bir şekil dış elementlerden koruyacak ve Kesme hasarına karşı eh işte diyeceğimiz türden koruma sağlayacaktır.", + "quests.stone_age.mining_prep.title": "Maden hazırlıkları", + "quests.stone_age.mining_prep.subtitle": "Umarım önceden bulduğun cevher göstergelerini nerede olduğunu hatırlıyorsundur!", + "quests.stone_age.mining_prep.desc.1": "Taş devrinin ötesine geçebilmek için sana çok fazla metal gerekli, ve yüzeydeki küçük cevherleri toplamak yeterli olmayacak. aşağını kazarak başlıyacaksın.\nbulduğun Bakır cehverini &işaretlediğini&r varsayıyorum, bulduğun göstegelerin en ortasını bularak kazmaya başla! baya derinde olabilir, ama işin sonunda kazmayı o cehvere vuracaksın. Bir sonraki sayfada ilk madencilik yolculuğunuz için yanınızda getirmek isteyeceğiniz bazı ekipmanlar var!", + "quests.stone_age.mining_prep.desc.2": "&lKazma&r: bunu akıl edersin heralde?, sonuçta madeni kazmak ve toplamak için alete ihtiyacın var. Çekiçler sadece kazıp cehveri yok edecektir!\n\n&merdivenler ve meşelaler&r:kazdığın delikten çıkmak ve etrafını görmek için!\n\n&ldestek çubukları ve Keresteler&r: TFG'de madencilik çok daha tehlikeli vanillaya benzemez - sadece yaratıklar spawn olduğu için değil, ancak dikkatsizce kazmak çökmeye neden olabilir! Bunun üzerindeki görev madencilik sırasında tehlikelerin nasıl azaltılabileceğini ve engeleyebilieceğini ele alıyor.\n\nşimdi git bir delik kaz, diggy diggy hole(şarkı ismi)!", + "quests.stone_age.hazards.title": "Madencilik Tehlikeleri", + "quests.stone_age.hazards.subtitle": "Yüzeyin zor olduğunu düşündün? tekrar düşün evlat.", + "quests.stone_age.hazards.desc.1": "Yaratıkların yanı sıra, Madencilikteki en büyük zorluk çökmelerle uğraşmaktır. eğer havada Ham kaya varsa, 'desteklenmemiş' olarak kabul edilir ve kazıldığı zaman yanındaki blokların çökme ihtimali başlar ve artar. mağaranın çatıları Sert kayalarla kaplıdır, ki kazıldığı zaman çökme ihtimali olmaz. bunu minimale indirmek için, yapabileceğin en güvenli şey aşağıya doğru kazmaktır, ancak başka bir şeyi güvenli bir şekilde kazmak istiyorsanız desteklerin nasıl kullanacağınızı öğrenmeniz gerekecek! odun ve testere ile yapılırlar.", + "quests.stone_age.hazards.desc.2": "Saha Kılavuzu'nda destek çubuklarının tam olarak nasıl çalıştığına ilişkin daha fazla ayrıntı, şemalar ve bilgi bulunmaktadır, kısaca, onları yerleştirdikten sonra birbirinden dört blok uzağa yerleştirmek en etkili yoldur. Yalnızca üstteki dikey kirişler aslında herhangi bir şeyi destekler ve küçük bir etki alanlarına sahiptirler..", + "quests.stone_age.copper_for_anvil.title": "Örs için Bakır", + "quests.stone_age.copper_for_anvil.subtitle": "bir şekilde ve nasıl oluyorsa o 14 bakır külçeyi elde etmeye başlasan iyi olacak.", + "quests.stone_age.copper_for_anvil.desc": "Örsler ucuz değiller! her türden örs 14 külçe istiyor, yani onları kaynak yaparak 7 tane çift külçe yapıyorsun.\n\neğer madenciliğe girişmediysen bu noktada başlamak iyi olacaktır, yoksa domala domala 126 adet küçük bakırı toplamak amelelikten başta bir şey değil.", + "quests.stone_age.get_raw_rock.title": "Ham Kaya", + "quests.stone_age.get_raw_rock.subtitle": "Hayır,bu sadece \"Taş\" değil", + "quests.stone_age.get_raw_rock.desc": "Bakır Örsü oluştumak için hem bir Taş Örs'e hem de Odun Kömürü Ocağına ihtiyacınız var. Taş Örs yapmak için, bir ham 'Igneous' kaya bloğuna ihtiyacınız olacak.\n\nHam kayayı elde etmek için dikkatli olman lazım &laround&r Kazmak istediğin Ham kayayı elde etmek için için. Ham Kaya 6 tarafı da havaya maruz kaldığında, şeklini bozarak düşer. son olarak, Ham igneous kaya bloğuna Çekiç ile sağ tıklayarak onu Taş Örsünüze dönüştürün.", + "quests.stone_age.create_forge.title": "Demirci Ocağı", + "quests.stone_age.create_forge.subtitle": "çay ocağı burda bulunmamaktaktadır.", + "quests.stone_age.create_forge.desc": "Demirci Ocağını, malzemeleri yüksek sıcaklıklara ısıtmak için kullanılan odun kömüründen yapılma bir üretim istasyonudur. Demirci ocağı eşyaları ısıtmak ve eritmek için gereken süre Çukur Fırınına göre çok daha hızlıdır, ve kontrol etmesi tabikide daha kolaydır.\n\nDemirci Ocağını yapmak için en az 7 kömüre ihtiyacınız olacak, ve 5 kaya ve kaya bazlı blok, ham kaya, kırık taş, taş tuğlası vb..\nDemirci Ocağığında odun kullanılamaz, onun yerine odun kömürü kullanır, kömür ve coke da kullanabilirsin.\n\nOdunKömür Çukuru ve Kömür Demirci Ocağının nasıl yapılacağına dair izlenecek yollar için saha kılavuzunu kontrol ediniz.", + "quests.stone_age.rock_anvil.title": "Kayadan örs", + "quests.stone_age.rock_anvil.subtitle": "baltayı taşa vurdun demek", + "quests.stone_age.rock_anvil.desc": "Örsler tüm 'erken oyun' metal işleme sanatının ana temel yapısıdır. düzgün bir metal örs oluşturabilmek için, önceki örs kademesini kullanarak külçeleri kaynaklayıp çift külçe yapmanız gerekecek. Bakır 1. kademe olduğunu göz önünde bulundurucaksak, kaya örsünü kullanmak gerekecek. Ham igneous kaya bloğuna Çekiçle sağ tıklayarak Taş Örsünüzü oluşturabilirsiniz.. maleseef ki kaya örsün yapabileceği tek şey bakır külçelerini kaynaklamak - bir şeyler yapmak ve şekil verebilmek için elinizde adam akıllı metal örse ihtiyacınız var olacaktır.", + "quests.stone_age.quern.title": "Quern ve Eltaşı", + "quests.stone_age.quern.subtitle": "Cevher işlemeye ilk ve birinci adım", + "quests.stone_age.quern.desc": "Quern ve eltaşı 2 tane büyük kaya parçasının sürtünme sonucu maddeleri işlenmesine yarayan aletdir. yere koyulan alt parça quern, üste yerleştiren parça el taşı. Quern, işlenmemiş cevherlerinizi parçalanmış cevherlere dönüştürmek için kullanılabilir, eritildiğinde biraz daha yüksek mB miktarı elde edilir.\n\nbaşka tozlar oluşturmak için Quern'i de kullanabilirsiniz akı taşı, un, kemik tozu vb.", + "quests.stone_age.crush_ore.title": "Erken aşama maden işleme - Bölüm 1", + "quests.stone_age.crush_ore.subtitle": "cehverlerinden daha fazlasını elde etmek", + "quests.stone_age.crush_ore.desc": "Quern, cevherlerinizi işlemenin yalnızca ilk adımıdır! cevher işleme büyük bir sistem ve işlemdir, ilerledikçe bu kompleks canavar hakkında daha fazlasını öğreneceksiniz, ve çıkardığınız her cevher başına çok daha fazla işlevli ve işe yarar ürünler ve diğer yan ürünleri çıkarmak için kullanılabilir. başlamak için, Çıkardığınız işlenmemiş cevherleri Quern'den geçirerek parçalanmış Cevher'e dönüştüreceğiz. Sadece bu ilk adım, cevherinizin eriyeceği mB miktarını artırmak için yeterlidir..", + "quests.stone_age.crush_crushed_ore.title": "Erken aşama maden işleme - Bölüm 2", + "quests.stone_age.crush_crushed_ore.subtitle": "vur duvara gelsin imana", + "quests.stone_age.crush_crushed_ore.desc": "Parçalanmış Cevheri bir Çekiç yardımı ile bir üretim tezgahında birleştirerek Saf Olmayan Toza dönüştürün, mB verimini daha da artırır.\n\nŞimdilik bunların hepsi yavaş ve sıkıcı olabilir, ama zamanla bu işi daha hızlı hatta otomatik olarak yapabileceksin!", + "quests.stone_age.clean_dust.title": "Erken aşama maden işleme - Bölüm 3", + "quests.stone_age.clean_dust.subtitle": "kirli tozu yıka", + "quests.stone_age.clean_dust.desc": "sonunda, Saf Olmayan veya arındırılmış bir suya atıp birkaç saniye bekletmek onları yıkayacaktır ve tozu elde ediceksin, tozlar arınmış olacak!, ki cehverinin son hali. hatta cehver saf ise tam külçe elde edersin!", + "quests.stone_age.flux.title": "Akı taşları", + "quests.stone_age.flux.subtitle": "kısaca metal için yapıştırıcı", + "quests.stone_age.flux.desc": "akı metalleri birbirine kaynaklamak ve üstünde çalışmaya yarayan bir malzemedir, tabiki başka alanlarda kullanım alanları var.\nbelli başlı taş türleri örnek olarak Chalk, Limestone ve Mermer parçalarına ayırlarak akı taşı elde edilir, ve kabuklu deniz canlılarının kabukları da aynı şekilde.", + "quests.stone_age.weld_copper_ingots.title": "Bakırı kaynaklamak", + "quests.stone_age.weld_copper_ingots.subtitle": "Bakır Örse çok yakınız", + "quests.stone_age.weld_copper_ingots.desc": "Ocağınızı yakın ve en az 2 Bakır Külçe yerleştirin. eşya ipucusuna bakarak sıcaklığını kontrol edin! - yeterli sıcaklığa ulaşınca, \"Çalışılabilir\" gösterecektir, ama bizim \"Kaynaklanabilir\"olana kadar beklememiz lazım, yani metalin erime noktasına yakın bir sıcaklıktır.\n\no sıcaklığa ulaştıklarında, hızlı bir şekilde onları ocaktan çıkar (boş elinde ahşap maşa tutmayı unutma vallah yanarsın!) ve Taş Örsün arayüzüne, biraz akı koy. son olarak, Eğilerek hala metaller sıcak iken sağ tıklayarak birbirinme kaynak yap. Yeni çift külçenizi daha hızlı soğutmak için su veya kar kullanabilirsin.", + "quests.metal_age.copper_anvil.title": "T1 Örs: Bakır", + "quests.metal_age.copper_anvil.subtitle": "herşey bunu yapmak içindi!", + "quests.metal_age.copper_anvil.desc": "Tebrikler! resmi olarak taş devrini bitirmiş ve metalometalurji çağına geçmiş bulunmaktasın! Bakır örsün beraberinde, sonraki ana hedeflerin örsünün kademesini yükseltmek olacak, ve her kademe ile beraberinde, Hayatınızı giderek daha kolay hale getirecek yeni araç gereçler ve olanaklar, ihtimaller beraberinde mevcut olacaktırlar. şimdi demirci ustası olma vakti geldi evlat!" +} \ No newline at end of file From 665656722a2bebaaa2b7dde6e76fa3e194b64f3b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 12 Nov 2025 23:11:38 +0000 Subject: [PATCH 072/628] langs --- CHANGELOG.md | 2 +- kubejs/assets/tfg/lang/en_us.json | 7 + kubejs/assets/tfg/lang/ru_ru.json | 1729 +++++++++++++++-------------- 3 files changed, 874 insertions(+), 864 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ca73397b..1cd4b04af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,7 @@ - Added missing items to the smooth stone slabs tag, cleaned up armor stand recipes (#2197) @Pyritie - Fixed milk curd recipes in food processor outputting rotten curds. (#2209) @Redeix ### Translation updates -- Russian @DI-GitH + @nineex +- Russian @DI-GitH + @nineex + @alexart2006 - Brazilian Portuguese @Redeix - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 7507d4880..6095af0f9 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1124,6 +1124,13 @@ "material.tfg.triglyceride_oil": "Triglyceride Oil", "material.tfg.cholesterol": "Cholesterol", "material.tfg.butyric_acid": "Butyric Acid", + "material.tfg.zircon": "Zircon", + "material.tfg.silicon_tetrachloride": "Silicon Tetrachloride", + "material.tfg.zirconium_tetrachloride": "Zirconium Tetrachloride", + "material.tfg.zirconium_oxide": "Zirconia", + "material.tfg.zirconium_bromide": "Zirconium(IV) Bromide", + "material.tfg.zirconium_diboride": "Zirconium Diboride", + "material.tfg.boron_carbide": "Boron Carbide", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 632945ff3..7013245ed 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1664,64 +1664,64 @@ "quests.computer.subtitle": "Очень мощный мод для скриптинга на Lua", "quests.create_logistics": "Логистика Create", "quests.create_logistics.subtitle": "Менеджмент склада для чайников", - "quests.create_logistics.introduction.title": "Boxing Clever", - "quests.create_logistics.introduction.desc": "By utilising a few machines from &3Create&r, you'll be able to improve your item transportation and storage capabilities significantly. Later on once you progress into the &2Voltaic Age&r, you'll even be able to set up processes to automatically order specific items or route them around your base as needed!\n\nAs this questline deals primarily with machines from Create, this means &5Pondering&r the machines will be your best source of information aside from these quests, so be sure to look through their entries.", - "quests.create_logistics.packager.title": "Packager", - "quests.create_logistics.packager.subtitle": "Pack it up", - "quests.create_logistics.packager.desc.1": "When provided with a &credstone signal&r, the &3Packager&r will wrap up items from the block it is attached to (you can switch the connection side with a &5wrench&r) and output a neat little cardboard package. Each cardboard package has 9 slots' worth of inventory, so it's great for moving a bunch of items around at once. To craft the Packager, you need plenty of &dWrought Iron&r and an &dElectron Tube&r, not to mention a bunch of &dCardboard&r (&dPaper&r and &dGlue&r).\n\nNote that once crafted, the packager works without any additional cardboard, so don't worry about upkeep!", - "quests.create_logistics.packager.desc.2": "Putting a &3Sign&r on the Packager will make it automatically label the sign's contents onto all packages as a destination address. This will be more useful once you start working with various ways to route packages around. \n\nPackagers can also unwrap any packages that get put into it, unloading their contents into the attached inventory.\n\n&c&lNote that Framed Signs do not work for this purpose&r!", - "quests.create_logistics.frogport.title": "Package Frogports", - "quests.create_logistics.frogport.subtitle": "The chain of command", - "quests.create_logistics.frogport.desc.1": "&3Package Frogports&r are one of three ways you can move packages around and get them to where you want them to be. They can hang packages onto &3Chain Conveyor&r lines be transported along the chain connections. To use them, you first need a network of &3Chain Conveyors&r connected to each other using chains and then powered: Any chain with the tag &d#forge:chains&r will do. Right click on a chain connection before placing down a Frogport to have it interact with that segment of chain.\n\nFrogports placed directly on top of a &3Packager&r automatically hang up packages that are created in said Packager.", - "quests.create_logistics.frogport.desc.2": "Frogports can also receive packages in addition to sending them. If you right click on a Frogport, you can see that it has a name you can edit. This name acts as an &aaddress&r - if any packages that are labelled with a destination address matches its name, the Frogport will &aautomatically collect them&r by taking them off the chain network! This collected package will be put into the inventory of the block the Frogport is placed on.\n\nAs long as the chain network is connected to the input and output Frogports &osomehow&r, the package will eventually find its way, although you may want to optimize the paths to reduce package travel time on your own.", - "quests.create_logistics.package_filter.title": "Package Filters", - "quests.create_logistics.package_filter.subtitle": "The general solution to package routing", - "quests.create_logistics.package_filter.desc": "Packages can be routed using the specialized &3Package Filter&r, which can be used just like any filter in any &3Create&r machine that supports filter slots. Just right click while holding the filter and type in the address that should be filtered, and any packages with that specified destination address will be let through. This is useful especially for &3Brass Tunnels&r to make your belt network route your packages around based on destination.", - "quests.create_logistics.postbox.title": "Postboxes", - "quests.create_logistics.postbox.subtitle": "You've got mail", - "quests.create_logistics.postbox.desc.1": "&3Postboxes&r are used to route packages around using &aTrain Networks&r. You first right click a &3Train Station&r to link the Postbox to that station before placing it, and from then on any trains that stop there will be able to interact with the Postbox (given it is within 4 blocks of the station). \n\nMuch like &3Package Frogports&r, they can be named. Passing trains will then pick up any packages whose destination does not match the Postbox's name. Furthermore, if the train has any packages in its inventories that &odo&r match the Postbox, they will be passed into the Postbox's inventory instead.", - "quests.create_logistics.postbox.desc.2": "One last cool thing about &3Postboxes&r is that when extracting automatically from them (via chutes, funnels, etc), only packages with a destination that &amatches the Postbox's name&r will be taken out and any packages with a different destination will remain inside to be loaded onto trains later.", - "quests.create_logistics.nbt_handling.title": "Tell me more", - "quests.create_logistics.nbt_handling.subtitle": "Other information on packages and addresses", - "quests.create_logistics.nbt_handling.desc.1": "Here are some other important things that may be useful when trying to route packages around:\n\n&3-&r Packages are randomly created from a selection of four possible items, so stuff like GregTech's &3Item Filters&r will be &cvery tedious to set up&r! We recommend using the &3Package Filter&r wherever you can, but...\n\n&3-&r If you really want to try using other methods to move packages around, the destination address is stored as NBT data in the tag &eAddress&r. For example, a package with the destination address \"Home\" will have in its NBT data: &e{Address:\"Home\"}&r.", - "quests.create_logistics.nbt_handling.desc.2": "&3-&r Package address filtering actually supports a simplified form of &eRegEx&r. This means you can:\n\n&e-&r Match any length string with *\n\n&e-&r Match any single character with ?\n\n&e-&r Match a single character from a group of characters surrounded by [] (e.g. A[cr]t will match 'Act' and 'Art', but not 'Ant')\n\n&e-&r Match a single character that does not belong to a group of characters surrounded by [! ] (e.g. A[!cr]t will match 'Aft' and 'Apt', but not 'Act' or 'Art')\n\n&e-&r Match a string from a list of strings given inside {}(e.g. TerraFirma{Craft,Greg} will match both TerraFirma&eCraft&r and TerraFirma&eGreg&r)\n\n&e-&r All previous symbols can be escaped; For example, A\\* will be read as A* and only match 'A*'.", - "quests.create_logistics.bottler.title": "Bottler", - "quests.create_logistics.bottler.subtitle": "A packager but for fluids", - "quests.create_logistics.bottler.desc": "The Bottler is the fluid equivalent of the packager. Place it next to any kind of fluid container (Fluid Tank, Drums, machines, and so on), and put a Frogport on top of the Bottler, and the rest will work as you'd expect! The Bottler at the destination can similarly push directly into fluid containers, no pump needed!", - "quests.create_logistics.rose_quartz.title": "Roses are red...", - "quests.create_logistics.rose_quartz.subtitle": "...But Rose Quartz is Pink", - "quests.create_logistics.rose_quartz.desc": "Moving packages around is good and all, but surely that can't be all there is? Well, you're exactly right. There's much more that can be done with packages, including &areading inventory contents&r and &ahaving things be delivered remotely&r, and later on even &aautomatically sending ingredients to be processed&r based on an item's threshold!\n\nBut before delving into &2High Logistics&r, some preparations are in order.\n\nThe &dTransmitters&r that would be required for crafting such equipment can only realistically be produced via high-energy light refracted through a very unique mineral: &dRose Quartz&r. In other words, we need both a &7Basic &3Laser Engraver&r and some way of obtaining a &dRose Quartz Lens&r, so you better get to getting these done, eh?", - "quests.create_logistics.cold_rose_quartz.title": "Rose Quartz Source: Cold Regions", - "quests.create_logistics.cold_rose_quartz.subtitle": "The North Remembers", - "quests.create_logistics.cold_rose_quartz.desc.1": "The only natural source of &dRose Quartz&r of a high enough quality to easily craft the &dLens&r out of is located far, far to the north in freezing temperatures (below &b-10°C&r). Getting Kaolin clay flashbacks yet? \n\nRose Quartz only forms in the cores of ancient glaciers, meaning you'll have to look where they eventually come to rest - beaches, lakes, plains, and even underwater in the oceans. Although not common, the glacier core is easily identified by their &bBlue Ice&r outer shells. The &dRose Quartz&r will be found inside - first as ore, then as compressed raw ore blocks in the very center.\n\nWhat we need is &dExquisite Rose Quartz&r, which you can get by &3crushing, washing, and then sifting&r the raw ore you mined; The Exquisite gem has a 3 percent chance of being sifted out, but you only need one such gem to proceed. \n\n&c&lDo not smelt the ore as this will only get you normal quality Rose Quartz&r!", - "quests.create_logistics.cold_rose_quartz.desc.2": "The same preparations you once may have made for Kaolin clay will apply here as well: Prepare a lot of food, a source of portable water to drink, and some transportation (boats are nice, but &3aircraft&r should be well within your reach at this point).\n\nYou may also want to consider packing some &3Copper Diving Gear&r. The &3Helmet&r will allow you to &abreathe underwater&r when paired with a &3Copper Backtank&r (you need to fill it with pressurized air by placing it down and powering it with Create rotational force), and the &3Boots&r will let you &atraverse underwater easier&r; The glacier cores are often found in the ocean, and may be quite a hassle to mine up without these preparations (although they can be found on land as well).", - "quests.create_logistics.fabricate_rose_quartz.title": "Rose Quartz Source: MV", - "quests.create_logistics.fabricate_rose_quartz.subtitle": "Just as good as the real thing", - "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.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.", - "quests.create_logistics.stock_ticker.title": "Stock Ticker", - "quests.create_logistics.stock_ticker.subtitle": "Waiter! Waiter! More Silty Loam Rooted Dirt, please!", - "quests.create_logistics.stock_ticker.desc.1": "If you've already used &3Stock Links&r to provide various items to a &dLogistics Network&r, the next step is to make something that can call in said items remotely... And that's where the &3Stock Ticker&r comes in. Much like the Stock Link, you first need to right click an existing link to attune the Ticker to that network. You then need to place down a &3Blaze Burner&r or any mob in a &3Seat&r next to the Stock Ticker to have them work as a &3Stock Keeper&r.", - "quests.create_logistics.stock_ticker.desc.2": "Now that the poor creature is indentured for life, you can click on them to see all the items on the &dLogistics Network&r. You can even search for items in the network, and create an order to be sent to specific addresses! There's no range limitation for this, although you do need to create your own way of routing around the packages that will be ordered through the Stock Links as well as have the link in question chunkloaded for this to work.", - "quests.create_logistics.stock_ticker.desc.3": "Additionally, you can set up the Ticker so that only specific items are shown, or set up categories of items.", - "quests.create_logistics.redstone_requester.title": "Redstone Requester", - "quests.create_logistics.redstone_requester.subtitle": "Same-day Delivery", - "quests.create_logistics.redstone_requester.desc": "The &3Redstone Requester&r can be seen as a more specialized &3Stock Ticker&r. You can't view items in the &dLogistics Network&r from it, but you can set up an order to be requested automatically every time the machine gets a redstone signal. This can be very useful for setting up automated provision of specific items - consider using a &3Threshold Switch&r or &3Smart Observer&r alongside this, for example.\n\nRemember that like any other &2High Logistics&r machine, you need to right click on an existing link before placing the Requester down to attune it to that network first!", - "quests.create_logistics.tablecloths.title": "Table Cloths", - "quests.create_logistics.tablecloths.subtitle": "They paved paradise and put up a shopping mall", - "quests.create_logistics.tablecloths.desc.1": "&3Table Cloths&r are Create's system for player-owned shops! Each Table Cloth can sell one item. You'll need a small setup with a Stock Ticker, Packager, and a Stock Keeper (a Blaze Burner or mob in a seat) to get started.\n\nRight-click the Stock Keeper with your Table Cloth, then select the item to sell. Then just place the Table Cloth down on a block or some Scaffolding. After it's placed, right-click the slot in the front of the Table Cloth with an item you want as payment. Afterwards, right-click and hold to change the amount of that item.", - "quests.create_logistics.tablecloths.desc.2": "To buy items from another player's shop, right-click the Table Cloths with an empty hand to add them to a Shopping List. Once they're ready, right-click the Stock Keeper with the Shopping List to buy the items! A Shopping List can be cleared by sneak-right-clicking. Payment is then stored in the Stock Ticker, and the shop owner can collect it later or send it back to their base!", - "quests.create_logistics.factory_gauge.title": "Factory Gauge", - "quests.create_logistics.factory_gauge.subtitle": "Automation, reinvented", - "quests.create_logistics.factory_gauge.desc.1": "The &3Factory Gauge&r is the ultimate &2High Logistics&r machine, requiring you to have the technology to make both &dAluminium&r and &dDiodes&r before you can craft one - But it's extremely powerful to match.\n\nThe first thing a Factory Gauge can do is be placed on a &3Packager&r to monitor the amount of a specific item in the connected inventory. When set up like this, the gauge's outer border will be &9Blue&r and it is said to be in &9Restocker Mode&r.\n\nThe other way of using a Factory Gauge is to have it automatically ordering ingredients when the amount of target products in a &dLogistics Network&r falls below a threshold. This is the operating mode when the gauge is placed on any block that is not a Packager; the outer border will be &eYellow&r, and it is said to be in &9Recipe Mode&r.", - "quests.create_logistics.factory_gauge.desc.2": "In either mode, You can set a specific value that the Factory Gauge should attempt to maintain. You then have to set a target address in the GUI which is where the automatic order made will be directed to a target address of your choice.\n\nFor the &9Restocker Mode&r, the specified address should ideally point towards the packager the gauge has been placed on so that the incoming packages are automatically unwrapped into the target inventory.", - "quests.create_logistics.factory_gauge.desc.3": "For the &9Recipe Mode&r, the specified address should point towards wherever you manufacture the product.\n\nAdditionally, you need to set up one additional gauge for each type of ingredient used, then connect them to the first gauge with &a'Add New Connection'&r in the GUI.\nIf the product you are trying to craft in &9Recipe Mode&r is a normal crafting recipe, you will need to &a'Use Mechanical Crafting'&r and ensure that the package is unwraped into a 3x3 &3Mechanical Crafter&r array.", - "quests.create_logistics.factory_gauge.desc.4": "&cIt is important that the package is not unwrapped en route&r, as the package itself holds crafting recipe instructions - if the ingredients must come from different sources, look into using a &3Re-Packager&r to act as a buffer for the packages.\n\n&3Note:&r Factory Gauge requests are technically 'Promises', which are guarantees by the network that the items in question &owill&r be delivered at some point in the future. This is done to prevent the items from being over-requested. By default, these promises never expire; This means the promise will remain in place forever if the items are unlikely to be delivered in the future. You can change this behavior by adjusting the bottom section of the gauge GUI, which will limit how long promises stick around for.", + "quests.create_logistics.introduction.title": "Складываем по-умному", + "quests.create_logistics.introduction.desc": "Используя несколько машин из &3Create&r, вы сможете значительно улучшить транспортировку и хранение предметов. Позже, когда вы продвинетесь в &2Эпоху Электричества&r, вы даже сможете настроить процессы для автоматического заказа определённых предметов или их маршрутизации по базе по необходимости!\n\nПоскольку эта цепочка квестов в основном посвящена машинам из &3Create&r, &5Размышления&r о них станут вашим лучшим источником информации, помимо самих квестов. Обязательно просмотрите их описания.", + "quests.create_logistics.packager.title": "Упаковщик", + "quests.create_logistics.packager.subtitle": "Запакуй это", + "quests.create_logistics.packager.desc.1": "При подаче &cсигнала редстоуна&r &3Упаковщик&r упакует предметы из блока, к которому он присоединён (сторону подключения можно поменять с помощью &5гаечного ключа&r), и выдаст аккуратную картонную упаковку. Каждая такая коробка имеет объём в 9 слотов инвентаря, что делает её отличным способом переноса множества предметов за раз. Для создания упаковщика вам понадобится много &dкованого железа&r, &dэлектронная трубка&r, а также приличное количество &dкартона&r (который делается из &dбумаги&r и &dклея&r).\n\nОбратите внимание: после создания упаковщик работает без расхода дополнительного картона, так что можете не беспокоиться об обслуживании!", + "quests.create_logistics.packager.desc.2": "Если повесить на &3Упаковщик&r табличку, он будет автоматически указывать содержимое этой таблички в качестве адреса назначения на всех упакованных коробках. Это станет особенно полезным, когда вы начнёте использовать разные способы маршрутизации посылок.\n\nУпаковщики также могут распаковывать любые коробки, которые в них помещаются, выгружая содержимое в подключённый инвентарь.\n\n&c&lОбратите внимание: рамочные таблички (Framed Signs) для этой цели не работают!&r", + "quests.create_logistics.frogport.title": "Квакопорт", + "quests.create_logistics.frogport.subtitle": "Цепочка команд", + "quests.create_logistics.frogport.desc.1": "&3Квакопорты&r — это один из трёх способов перемещения посылок и доставки их туда, куда вам нужно. Они могут подвешивать посылки на &3Цепные транспортёры&r, чтобы перемещать их вдоль цепных соединений. Чтобы использовать их, вам сначала понадобится сеть &3Цепных транспортёров&r, соединённых между собой цепями и обеспеченных питанием: подойдёт любая цепь с тегом &d#forge:chains&r. Щёлкните ПКМ по соединению цепи перед установкой Квакопорта, чтобы он начал взаимодействовать с этим сегментом.\n\nКвакопорты, установленные прямо поверх &3Упаковщика&r, автоматически подвешивают посылки, созданные этим Упаковщиком.", + "quests.create_logistics.frogport.desc.2": "Квакопорты могут не только отправлять, но и принимать посылки. Если щёлкнуть ПКМ по Квакопорту, вы увидите, что у него есть имя, которое можно изменить. Это имя служит как &aадрес&r — если у какой-либо посылки есть совпадающий адрес назначения, Квакопорт &aавтоматически соберёт её&r, сняв с цепной сети! Полученная посылка будет помещена в инвентарь блока, на котором установлен Квакопорт.\n\nПока цепная сеть каким-либо образом соединяет входной и выходной Квакопорты, посылка в конечном итоге доберётся до места назначения, хотя вы можете оптимизировать маршруты, чтобы сократить время доставки.", + "quests.create_logistics.package_filter.title": "Фильтр Отправлений", + "quests.create_logistics.package_filter.subtitle": "Общее решение для маршрутизации посылок", + "quests.create_logistics.package_filter.desc": "Посылки можно направлять с помощью специализированного &3Фильтра посылок&r, который работает так же, как любой фильтр в любой машине &3Create&r с поддержкой слотов фильтра. Просто щёлкните ПКМ, удерживая фильтр, и введите адрес, который должен фильтроваться — все посылки с указанным адресом назначения будут пропущены. Это особенно полезно для &3Латунных туннелей&r, чтобы ваша конвейерная сеть маршрутизировала посылки в зависимости от адреса назначения.", + "quests.create_logistics.postbox.title": "Почтовые Ящики", + "quests.create_logistics.postbox.subtitle": "Это я, почтальон Печкин! ", + "quests.create_logistics.postbox.desc.1": "&3Почтовые ящики&r используются для маршрутизации посылок с помощью &aЖелезнодорожных сетей&r. Сначала щёлкните ПКМ по &3Железнодорожной станции&r, чтобы связать Почтовый ящик с этой станцией, прежде чем его устанавливать. После этого любые поезда, которые останавливаются на станции, смогут взаимодействовать с Почтовым ящиком (если он находится в радиусе 4 блоков от станции).\n\nПочтовые ящики, как и &3Квакопорты&r, могут иметь имя. Проходящие поезда будут забирать посылки, чьи адреса не совпадают с именем Почтового ящика. Более того, если в инвентарях поезда есть посылки, которые &oне&r соответствуют имени Почтового ящика, они будут помещены в инвентарь Почтового ящика.", + "quests.create_logistics.postbox.desc.2": "Ещё один интересный момент о &3Почтовых ящиках&r: при автоматическом извлечении из них (через желоба, воронки и т.п.) будут выниматься только посылки с адресом, который &aсовпадает с именем Почтового ящика&r. Все посылки с другим адресом останутся внутри, чтобы их можно было загрузить на поезда позже.", + "quests.create_logistics.nbt_handling.title": "Расскажите мне больше", + "quests.create_logistics.nbt_handling.subtitle": "Дополнительная информация о посылках и адресах", + "quests.create_logistics.nbt_handling.desc.1": "Вот ещё несколько важных моментов, которые могут быть полезны при маршрутизации посылок:\n\n&3-&r Посылки создаются случайным образом из набора из четырёх возможных предметов, поэтому использование таких вещей, как &3Фильтры предметов GregTech&r, будет &cочень утомительным&r! Рекомендуется использовать &3Фильтр посылок&r, где только можно, но...\n\n&3-&r Если вы действительно хотите попробовать другие способы перемещения посылок, адрес назначения хранится как данные NBT в теге &eAddress&r. Например, посылка с адресом назначения \"Дом\" будет иметь в своих данных NBT: &e{Address:.\"Home\"}&r.", + "quests.create_logistics.nbt_handling.desc.2": "&3-&r Фильтрация адресов посылок на самом деле поддерживает упрощённую форму &eRegEx&r. Это означает, что вы можете:\n\n&e-&r Совпадение с любой строкой любой длины с помощью \n\n&e-&r Совпадение с любым одним символом с помощью ?\n\n&e-&r Совпадение с одним символом из группы символов, заключённых в [] (например, A[cr]t совпадёт с 'Act' и 'Art', но не с 'Ant')\n\n&e-&r Совпадение с одним символом, который не принадлежит группе символов, заключённых в [! ] (например, A[!cr]t совпадёт с 'Aft' и 'Apt', но не с 'Act' или 'Art')\n\n&e-&r Совпадение со строкой из списка строк, указанных внутри {} (например, TerraFirma{Craft,Greg} совпадёт как с TerraFirma&eCraft&r, так и с TerraFirma&eGreg&r)\n\n&e-&r Все предыдущие символы могут быть экранированы; например, A\\ будет интерпретироваться как A* и совпадать только с 'A*'.", + "quests.create_logistics.bottler.title": "Разливочная Машина", + "quests.create_logistics.bottler.subtitle": "Упаковщик для жидкостей", + "quests.create_logistics.bottler.desc": "&3Разливочная Машина&r — это жидкостный аналог Упаковщика. Разместите её рядом с любым контейнером для жидкостей (Жидкостный бак, Бочки, машины и так далее), установите Квакопорт сверху Разливочной Машины, и остальное будет работать, как вы ожидаете! Разливочная Машина на пункте назначения аналогично может напрямую закачивать жидкости в контейнеры, насос не требуется!", + "quests.create_logistics.rose_quartz.title": "Розы - красные...", + "quests.create_logistics.rose_quartz.subtitle": "...А вот Розовый Кварц - Розовый", + "quests.create_logistics.rose_quartz.desc": "Перемещение посылок — это хорошо, но разве это всё, что с ними можно делать? Совершенно верно, это только начало. С посылками можно делать гораздо больше, включая &aчтение содержимого инвентаря&r и &aудалённую доставку&r, а позже даже &aавтоматическую отправку ингредиентов на обработку&r в зависимости от порогового значения предмета!\n\nНо прежде чем углубляться в &2Высшую Логистику&r, нужно подготовиться.\n\n&dПередатчики&r, необходимые для создания такого оборудования, на самом деле можно производить только с помощью высокоэнергетического света, преломлённого через очень уникальный минерал: &dРозовый Кварц&r. Другими словами, нам нужны и &7Базовый &3Лазерный Гравировщик&r, и способ получения &dЛинзы из Розового Кварца&r, так что лучше займитесь этим как можно скорее!", + "quests.create_logistics.cold_rose_quartz.title": "Источник Розового Кварца: Холодные Регионы", + "quests.create_logistics.cold_rose_quartz.subtitle": "Север помит", + "quests.create_logistics.cold_rose_quartz.desc.1": "Единственный природный источник &dРозового Кварца&r достаточного качества, чтобы легко создать &dЛинзу&r, находится далеко на севере в морозных условиях (ниже &b-10°C&r). Уже вспоминаете Каолинитовую глину? \n\nРозовый Кварц формируется только в сердцевинах древних ледников, поэтому придётся искать там, где они в конечном итоге останавливаются — на пляжах, озёрах, равнинах и даже под водой в океанах. Хотя встречается нечасто, сердцевину ледника легко определить по их &bСинему Льду&r на внешней оболочке. &dРозовый Кварц&r будет внутри — сначала в виде руды, затем в виде сжатых блоков сырой руды в самом центре.\n\nНам нужен &dИзысканный Розовый Кварц&r, который можно получить, &3размалывая, промывая и просеивая&r добытую руду; у Изысканного кристалла шанс быть просеянным составляет 3 процента, но вам нужен только один такой кристалл для продолжения.\n\n&c&lНе переплавляйте руду, так как это даст только обычный Розовый Кварц&r!", + "quests.create_logistics.cold_rose_quartz.desc.2": "Та же подготовка, которую вы, возможно, делали для Каолинитовой глины, подойдёт и здесь: запаситесь большим количеством еды, источником портативной воды для питья и средством передвижения (лодки подойдут, но &3самолёты&r должны быть в вашем распоряжении на данном этапе).\n\nТакже стоит подумать о снаряжении &3Медный Дайверский Комплект&r. &3Шлем&r позволит вам &aдышать под водой&r в сочетании с &3Медным Баллоном&r (необходимо заполнить его сжатым воздухом, установив на землю и подключив к Create для вращательного привода), а &3Ботинки&r помогут &aудобнее перемещаться под водой&r; сердцевины ледников часто находятся в океане и могут быть довольно трудны для добычи без этой подготовки (хотя встречаются и на суше).", + "quests.create_logistics.fabricate_rose_quartz.title": "Источник Розового Кварца: V", + "quests.create_logistics.fabricate_rose_quartz.subtitle": "Так же хорош, как и настоящий", + "quests.create_logistics.fabricate_rose_quartz.desc": "Поскольку высокоуровневая логистика не является критически необходимой для прогресса, вы также можете отложить добычу Линзы до &bMV&r, когда сможете сделать это дома. &dРозовый Кварц&r можно кристаллизовать из его порошкообразной формы (смешанной из 8 частей редстоуна и 1 части кварца Нижнего мира) с помощью &bПродвинутого &3Автоклава&r, заменив обычную (дистиллированную) воду на &bЛедяную Воду&r, чтобы смоделировать естественные условия. Аналогично, на уровне &bMV&r &dЛинзу из Розового Кварца&r можно вырезать из &dПластины Розового Кварца&r, хотя её необходимо получить из полного блока Розового Кварца (так как это пластина из камня, её нужно обработать в &3Резочной Машине&r).", + "quests.create_logistics.rose_quartz_lens.title": "Взгляд на мир через розовые очки", + "quests.create_logistics.rose_quartz_lens.subtitle": "ВПТО (Вам понадобится только одна)", + "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_ticker.title": "Складской Контроллер", + "quests.create_logistics.stock_ticker.subtitle": "Официант! Официант! Ещё &dКорневой Ил с Песчаной Глиной&r, пожалуйста!", + "quests.create_logistics.stock_ticker.desc.1": "Если вы уже использовали &3Складские Передатчики&r для подачи различных предметов в &dЛогистическую Сеть&r, следующий шаг — создать устройство, которое сможет вызывать эти предметы дистанционно… И здесь на помощь приходит &3Складской Контроллер&r. Подобно Складскому Передатчику, сначала нужно кликнуть правой кнопкой мыши по существующему передатчику, чтобы настроить Контроллер на ту же сеть. Затем необходимо разместить &3Горелку Всполоха&r или любое существо в &3Сиденье&r рядом с Складским Контроллером, чтобы они работали как &3Складской Хранитель&r", + "quests.create_logistics.stock_ticker.desc.2": "Теперь, когда бедное существо приговорено к пожизненной службе, вы можете кликнуть по нему, чтобы увидеть все предметы в &dЛогистической Сети&r. Вы даже можете искать предметы в сети и создавать заказы, которые будут отправлены на конкретные адреса! Ограничений по дальности нет, хотя вам придётся самостоятельно настроить маршрутизацию пакетов, которые будут заказываться через Складские Передатчики, а также обеспечить загрузку чанка с этим передатчиком, чтобы всё работало.", + "quests.create_logistics.stock_ticker.desc.3": "Кроме того, вы можете настроить Контроллер так, чтобы отображались только определённые предметы, или создать категории предметов.", + "quests.create_logistics.redstone_requester.title": "Редстоуновый Запрашиватель", + "quests.create_logistics.redstone_requester.subtitle": "Доставка в тот же день!", + "quests.create_logistics.redstone_requester.desc": "&3Редстоуновый Запрашиватель&r можно рассматривать как более специализированный &3Складской Контроллер&r. С его помощью вы не можете просматривать предметы в &dЛогистической Сети&r, но можно настроить автоматический заказ, который будет выполняться каждый раз при получении красного сигнала. Это очень полезно для автоматического обеспечения конкретными предметами — например, можно использовать &3Пороговый Переключатель&r или &3Умный Наблюдатель&r вместе с ним.\n\nПомните, что, как и для любой другой машины из &2Высшей Логистики&r, необходимо кликнуть правой кнопкой мыши по существующему передатчику перед установкой Запрашивателя, чтобы настроить его на ту же сеть!", + "quests.create_logistics.tablecloths.title": "Столовые Скатерти", + "quests.create_logistics.tablecloths.subtitle": "Они заасфальтировали рай и построили торговый центр", + "quests.create_logistics.tablecloths.desc.1": "&3Скатерти&r — это система Create для магазинов, принадлежащих игрокам! Каждая Скатерть может продавать один предмет. Для начала потребуется небольшая установка с Складским Контроллером, Упаковщиком и Складским Хранителем (Горелка Всполоха или моб в сиденье).\n\nКликните правой кнопкой мыши по Складскому Хранителю, держа Скатерть, затем выберите предмет для продажи. После этого просто установите Скатерть на блок или леса. После установки кликните правой кнопкой мыши по слоту спереди Скатерти с предметом, который будет использоваться как плата. Затем кликните и удерживайте, чтобы изменить количество этого предмета.", + "quests.create_logistics.tablecloths.desc.2": "Чтобы купить предметы из магазина другого игрока, кликните правой кнопкой мыши по Скатерти пустой рукой, чтобы добавить их в Список Покупок. Когда всё будет готово, кликните правой кнопкой по Складскому Хранителю с Списком Покупок, чтобы приобрести предметы! Список Покупок можно очистить, кликнув по нему с зажатым Shift. Оплата хранится в Складском Контроллере, и владелец магазина сможет забрать её позже или отправить обратно на свою базу!", + "quests.create_logistics.factory_gauge.title": "Фабричные Контроллеры", + "quests.create_logistics.factory_gauge.subtitle": "Переосмысленная Автомтизация", + "quests.create_logistics.factory_gauge.desc.1": "&3Фабричный Контроллер&r — это вершина техники &2Высшей Логистики&r, для его создания требуется технология производства как &dАлюминия&r, так и &dДиодов&r. Но его мощность полностью оправдывает усилия.\n\nПервое, что может делать Фабричный Контроллер — это мониторить количество конкретного предмета в подключённой инвентаризации, если его разместить на &3Упаковщике&r. В этом случае внешняя рамка контроллера будет &9синей&r, и говорят, что он находится в &9Режиме Пополнения&r.\n\nДругой способ использования — автоматически заказывать ингредиенты, когда количество целевых продуктов в &dЛогистической Сети&r опускается ниже порога. Это рабочий режим, если контроллер установлен на любом блоке, кроме Упаковщика; внешняя рамка будет &eжёлтой&r, и говорят, что он находится в &9Режиме Рецепта&r.", + "quests.create_logistics.factory_gauge.desc.2": "В любом режиме вы можете задать конкретное значение, которое Фабричный Контроллер должен поддерживать. Затем нужно указать целевой адрес в интерфейсе, на который будут направляться автоматические заказы по вашему выбору.\n\nДля &9Режима Пополнения&r указанный адрес должен, по возможности, указывать на Упаковщик, на котором установлен контроллер, чтобы поступающие пакеты автоматически распаковывались в целевой инвентарь.", + "quests.create_logistics.factory_gauge.desc.3": "Для &9Режима Рецепта&r указанный адрес должен вести к месту, где производится продукт.\n\nКроме того, необходимо установить по одному дополнительному контроллеру для каждого типа используемого ингредиента и подключить их к первому контроллеру с помощью &a«Добавить новое соединение»&r в интерфейсе.\nЕсли продукт, который вы пытаетесь создать в &9Режиме Рецепта&r, является обычным рецептом крафта, потребуется включить &a«Использовать Механический Крафт»&r и убедиться, что пакет распаковывается в массив 3x3 &3Механических Крафтеров&r.", + "quests.create_logistics.factory_gauge.desc.4": "&cВажно, чтобы пакет не распаковывался по пути&r, так как сам пакет содержит инструкции рецепта крафта — если ингредиенты должны поступать из разных источников, используйте &3Переупаковщик&r в качестве буфера для пакетов.\n\n&3Примечание:&r Запросы Фабричного Контроллера технически являются «Обещаниями», что сеть гарантирует доставку указанных предметов &oв какой-то момент в будущем&r. Это делается, чтобы предотвратить чрезмерное оформление заказов на предметы. По умолчанию такие обещания никогда не истекают; это означает, что обещание останется в силе навсегда, если доставка предметов маловероятна. Вы можете изменить это поведение, настроив нижний раздел интерфейса контроллера, чтобы ограничить срок действия обещаний.", "quests.development": "Таблица прогрессии", "quests.development.subtitle": "Простой способ отслеживать свой прогресс в GregTech", "quests.development.explanation.title": "Let's do some explaining", @@ -2386,267 +2386,268 @@ "quests.high_voltage.final_dust.title": "Бесконечная пыль", "quests.high_voltage.final_dust.subtitle": "Наконец-то! Безграничные ресурсы", "quests.high_voltage.final_dust.desc": "Это все &cбесконечные ресурсы&r, которые вы можете получить на &7Луне&r до разблокировки более продвинутой переработки на &eВенере&r.\n\nС их помощью у вас будет всё необходимое для дальнейшего прогресса в &dGregTech&r — особенно для обеспечения &aобслуживания&r вашей Лунной базы.\n\nЭти ресурсы необходимы для:\n• Создания &dкомпонентов AE2&r\n• Производства &cбесконечного&r запаса &6Боеприпасов для Рельсотрона&r\n\nПассивная автоматизация теперь в ваших руках — сделайте этот шаг и воплотите её в жизнь!", - "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", - "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.", - "quests.low_voltage.lv_machine_casing.title": "LV Machine Casing for Create?", - "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_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.", - "quests.low_voltage.lv_age_progression.title": "LV Age Progression", - "quests.low_voltage.lv_age_progression.subtitle": "Too many options, too little time!", - "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", - "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", - "quests.low_voltage.lv_steam_turbine.title": "Electricity Generation", - "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.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.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.", - "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.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.task": "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", - "quests.low_voltage.lv_combuston_gen.desc": "The &7LV Combustion Generator&r may be a bit more expensive to craft compared to other generators, but its fuels carry a lot of energy. This makes it easier to move, or if you need to power a generator far from your base, a drum filled with &2Bio Diesel&r can transport a large amount of EU.\n\nLike other &7LV Generators&r, it produces &a32 EU/t&r.", - "quests.low_voltage.lv_biodiesel.title": "Bio Diesel", - "quests.low_voltage.lv_biodiesel.subtitle": "Your first combustion fuel", - "quests.low_voltage.lv_biodiesel.desc": "You will need a &7LV Chemical Reactor&r to make &2Bio Diesel&r. Simply mix your &aSeed Oil&r with any &eAlcohol&r from &6TFC&r. Other recipes using &dEthanol&r will require you to reach &bMV&r.", - "quests.low_voltage.lv_seed_oil.title": "Seed Oil", - "quests.low_voltage.lv_seed_oil.subtitle": "The Real Power of Plants", - "quests.low_voltage.lv_seed_oil.desc": "You have two options to produce &aSeed Oil&r: either by using the &9Vacuum Chamber&r or, if you already have it, the &7LV Extractor&r will do a great job.\n\nAlso, note that &aSeed Oil&r isn't only used for making &2Bio Diesel&r.\n\nIt can also be processed into &6Lubricant&r or sent directly to your &cBlaze Burner&r for fuel.", - "quests.low_voltage.lv_seeds.title": "First, grab seeds", - "quests.low_voltage.lv_seeds.subtitle": "These are tall plants", - "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_turbo_charge.title": "Turbo Charger", - "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.", - "quests.low_voltage.lv_aqueous_accumulator.task": "Any Aqueous Accumulator", - "quests.low_voltage.lv_wiremill.title": "Basic Wiremill", - "quests.low_voltage.lv_wiremill.subtitle": "No more painful wires!", - "quests.low_voltage.lv_wiremill.desc.1": "You could make any other &7LV&r Machine, but it would be easiest to start with the most useful one. We know, we know... you wanna make some of the crazier stuff first, but trust us, this is the best starting point.\n\nThe Wiremill lets you make &6two Wires from one Ingot&r. That should be three times cheaper than what you were doing up until now!", - "quests.low_voltage.lv_wiremill.desc.2": "&9Note:&r Recipes inside &3LV Machines&r go up to a maximum usage of &a32 EU/t (LV)&r. Anything higher than that and you will need a &bMV&r (or better) Machine. Needless to say, we aren't quite there yet.\n\nYou will need a &dProgrammed Circuit&r for certain recipes. We're sure you don't want to spend a precious Circuit to craft one, so &6read the dedicated quest for important details&r.\n\nWith this machine safely crafted - welcome to the age of all things electric!", - "quests.low_voltage.lv_wiremill.task": "Any of these", - "quests.low_voltage.lv_bender.title": "Basic Bender", - "quests.low_voltage.lv_bender.subtitle": "The Bender bends!", - "quests.low_voltage.lv_bender.desc": "Arguably the second best &7LV&r machine to craft, but we're down if you want to argue otherwise.\n\nThis unlocks the ability to convert one &6Ingot into one Plate&r, which is a better ratio than the Forge Hammer.", - "quests.low_voltage.lv_bender.task": "Any of these", - "quests.low_voltage.lv_lathe.title": "Basic Lathe", - "quests.low_voltage.lv_lathe.subtitle": "Get rid of your archaic tech", - "quests.low_voltage.lv_lathe.desc.1": "The Lathe is an important machine to help shape metals. Thanks to it, you can turn &6one Ingot into two Rods&r, and &6one Bolt into one screw&r. That's twice the efficiency on those recipes as opposed to crafting by hand.", - "quests.low_voltage.lv_lathe.desc.2": "&l&3Lore:&r&o The GregTech 5 Lathe produces one Rod and 2 small piles of Dust per Ingot. We also have a setting for this in GTCEu, but it's turned off by default.\n\n&oThe GT6 Lathe acts like GT5's, but Bolts lathe into one Screw and 1/72 of a pile of Dust. Disgusting!", - "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\nCells hold &done bucket&r of Fluid.", - "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": "&7LV&r - Low Voltage (Низкий Вольтаж)", + "quests.low_voltage.subtitle": "Подчините электричество и начните свое путешествие в GregTech", + "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Такова философия GregTech: &6чем дальше ты продвигаешься, тем лучше становятся новые рецепты&r.\n\nДля начала сделайте хотя бы 3 или 4 корпуса.", + "quests.low_voltage.lv_machine_hull.desc.2": "Для некоторых игроков достижение нового тира отмечается созданием &6первой схемы&r, для других — &6корпуса машины&r или &6энергетического люка&r. Вы можете использовать то, что вам удобнее, но ради порядка , эти квесты будут использовать корпус машины.", + "quests.low_voltage.lv_machine_casing.title": "Корпус машины LV для Create?", + "quests.low_voltage.lv_machine_casing.subtitle": "Больше вариантов!", + "quests.low_voltage.lv_machine_casing.desc": "Чтобы облегчить переход на LV и сделать его менее пугающим, &5TFG&r предлагает использовать машины &6Create&r вместо некоторых машин &6GregTech&r.\n\nМы представили их в &6прошлой главе&r, но просто знайте, что если существует альтернатива машине GregTech, у вас будет выбор в рамках квестов.", + "quests.low_voltage.lv_motor.title": "Первый из множества моторов", + "quests.low_voltage.lv_motor.subtitle": "Низкое напряжение манит...", + "quests.low_voltage.lv_motor.desc": "Помните, что &2EMI — ваш друг&r, если рецепты становятся слишком сложными. Нажмите на кнопку с четырьмя квадратами, расположенную в правом нижнем углу любого рецепта, и EMI покажет вам дерево всех крафтовых ингредиентов, а также вы сможете добавить \"список покупок\" в избранное!\n\nВозвращаясь к теме, подготовьтесь к &7LV&r, создав шесть электродвигателей (&7LV&r)! Это может показаться много, но это самый минимум, необходимый для того, чтобы добраться до самого интересного в &7LV&r.", + "quests.low_voltage.lv_age_progression.title": "Продвижение в LV", + "quests.low_voltage.lv_age_progression.subtitle": "Слишком много вариантов, слишком мало времени !", + "quests.low_voltage.lv_age_progression.desc": "&7LV&r потребует от вас создания множества различных машин. ! Вот дружеский совет, если вам трудно ставить цели: выберите предмет, который вам понадобится в более позднем квесте, и двигайтесь к нему от обратного.\n\nС учетом этого... почему бы нам не начать с &5Термоядерного контроллера&r? Забудь, это немного слишком амбициозно - давай лучше посмотрим на более достижимую цель. Ах, да, &3Электрическая доменная печь&r — главная конечная цель &7LV&r — должна быть хорошей целью.\n\nЭлектрическая доменная печь &aдорогая&r, поэтому сначала следует сосредоточиться на машинах, чтобы сделать компоненты и материалы дешевле. Наши задания помогут вам двигаться в правильном направлении.\n\nДругие важные цели — создание &3LV-сборщика&r, изготовление ваших первых &aMV-схем&r и получение вашего первого &bсборщика схем&r.", + "quests.low_voltage.lv_age_progression.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При подаче пара турбина будет выдавать EU в соотношении &d2 мБ = 1 EU&r.", + "quests.low_voltage.lv_steam_turbine.desc.2": "Если вы используете одну &3паровую турбину&r, вам понадобится только &a1 Оловянный кабель&r. С другой стороны, если вы обновите до &32 паровых турбин&r, вам следует использовать &a2 оловянных кабеля&r — иначе они могут &cперегореть&r.\n\nЭто связано с механикой &9Амперов...&r но это будет объяснено позже, чтобы вы могли наслаждаться игрой. Не волнуйтесь!", + "quests.low_voltage.lbb.title": "Большой бронзовый котёл", + "quests.low_voltage.lbb.subtitle": "БУМ, БУМ, БУМ, БУМ", + "quests.low_voltage.lbb.desc.1": "Большой котёл — это необязательный вариант \"большого парня\" для Малых котлов. Он работает на твердом или жидком топливе .\n\nЕсли вам нужно производство энергии на основе пара, это альтернатива паровому двигателю Create. Позднее варианты питания перечислены в главе &bMV&r.\n\nУбедись, что ты настроил это так, чтобы вода никогда не заканчивалась, как в твоих Малых Котлах, иначе оно &cвзорвется&r!.", + "quests.low_voltage.lbb.desc.2": "После полного разогрева, &3Большой бронзовый котёл&r производит 800 пара в тик, что составляет &d400 EU/t&r после конвертации, или 12.5 базовых паровых турбин. Такая (относительно!) огромная мощность достигается ценой &lбольшого&r количества сжигаемого топлива. &5Учитывая это&r, GUI позволяет &9снизить&r мощность котла до 25 процентов, потребляя 200 единиц пара за тик. Это &d100 EU/т&r, или чуть выше 3 Базовых Паровых Турбин.\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. Используйте это для создания магнитных стержней без редстоуна для ваших моторов. Всякий раз, когда вы начнете массовое производство ваших моторов, эта машина сэкономит вам целые стаки редстоуна.", + "quests.low_voltage.link_chapter.title": "Объясни мне энергию.", + "quests.low_voltage.link_chapter.subtitle": "Есть целая глава об энергии.", + "quests.low_voltage.link_chapter.desc": "Посмотреть главу, нажав здесь", + "quests.low_voltage.link_chapter.task": "Прочитай это", + "quests.low_voltage.lv_combuston_gen.title": "Дизельный генератор", + "quests.low_voltage.lv_combuston_gen.subtitle": "Это взрывается и производит энергию", + "quests.low_voltage.lv_combuston_gen.desc": "&7Дизельный Генератор (LV)&r может быть немного дороже в изготовлении по сравнению с другими генераторами, но его топливо несет в себе много энергии. Это облегчает перемещение, или если вам нужно запитать генератор далеко от вашей базы, бочка, наполненная &2биодизелем&r, может помочь вам в этом.\n\nКак и другие &7LV генераторы&r, он производит &a32 EU/t&r .", + "quests.low_voltage.lv_biodiesel.title": "Биодизель", + "quests.low_voltage.lv_biodiesel.subtitle": "Ваше первое топливо", + "quests.low_voltage.lv_biodiesel.desc": "Вам понадобится &7химический реактор (LV)&r для производства &2биодизеля&r. Просто смешайте &aрастительное масло&r с любым алкоголем из &6TFC&r. Другие рецепты с использованием &dэтанола&r потребуют достижения &bMV&r.", + "quests.low_voltage.lv_seed_oil.title": "Растительное масло", + "quests.low_voltage.lv_seed_oil.subtitle": "Настоящая сила растений", + "quests.low_voltage.lv_seed_oil.desc": "У вас есть два варианта производства &aрастительного масла&r: либо с помощью &9вакуумной камеры&r, либо, если у вас уже есть &7экстрактор (LV)&r, то он отлично справится с этой задачей.\n\nТакже обратите внимание, что &aрастительное масло&r используется не только для производства &2биодизеля&r.\n\nЕго также можно переработать в &6смазку&r или использовать в качестве топлива для &cгорелки всполоха&r.", + "quests.low_voltage.lv_seeds.title": "Сначала возьми семена", + "quests.low_voltage.lv_seeds.subtitle": "Это высокие растения", + "quests.low_voltage.lv_seeds.desc": "Если вы встретите эти растения, вам следует их собрать и сделать ферму.\n\nОни станут вашим лучшим источником &aрастительного масла&r, которое используют для производства &eбиодизеля&r. Канола более устойчива к низким температурам, в то время как подсолнух лучше себя чувствует в теплом климате. Вы также можете выращивать их в вашей Электротеплице, если не хотите тратить много времени на фермы, но при этом придется тратить немного энергии на их выращивание.", + "quests.low_voltage.lv_seeds.task": "Канола или Подсолнух", + "quests.low_voltage.lv_turbo_charge.title": "Зарядное Устройство", + "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 Ампер для каждого заряжаемого им инструмента, что делает его в &6два раза быстрее&r, чем &3Батарейный буфер&r. Но оно не может разрядиться.\n\n&eЛюбое&r зарядное устройство выполнит этот квест.", + "quests.low_voltage.lv_turbo_charge.task": "Подойдет любое зарядное устройство", + "quests.low_voltage.lv_fisher.title": "Рыболов", + "quests.low_voltage.lv_fisher.subtitle": "Полностью совместимо с TFC!", + "quests.low_voltage.lv_fisher.desc": "&oЭтот квест необязательный, но все же может быть интересным. Мы поместили его сюда ради полноты квестов.&r\n\n&3Рыболов&r ловит рыбу из воды. Для работы ему требуется участок воды размером 5x5 блоков непосредственно под ним. Он ловит ту же рыбу, как и в обычной рыбалке. Каждая операция требует 1 единицу нити и EU в количестве, соответствующем его уровню (32 для &7LV&r и т.д.). В общем, это всё.\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&3Камнелом&r — это, по сути, генератор булыжника в коробке. Вы можете дать ему любой необработанный камень или блок булыжника, и он будет производить его копии. Очень удобно, если вам нужно много кирпичей быстро!\n\n&eЛюбой&r Камнелом выполнит этот квест.", + "quests.low_voltage.lv_rock_crusher.desc.2": "&l&3Лор:&r&o Требование редстоуна для генерации обсидиана в Minecraft связано с древним багом игры, известным как &7MC-4239&f. Если поместить редстоун вместо булыжника в генератор булыжника, он начинал генерировать обсидиан. Этот баг был исправлен в снапшоте 14w25b для версии Minecraft 1.8, более чем 9 лет назад на момент написания!", + "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Вы можете безопасно заливать блоки-источники водой, чтобы предотвратить их замерзание зимой, и машина продолжит работать.", + "quests.low_voltage.lv_aqueous_accumulator.task": "Любой Жидкостный коллектор", + "quests.low_voltage.lv_wiremill.title": "Волочильный станок", + "quests.low_voltage.lv_wiremill.subtitle": "Больше никакой боли при создании проводов!", + "quests.low_voltage.lv_wiremill.desc.1": "Вы могли бы сделать любую другую &7LV&r Machine, но проще всего начать с самой полезной. Мы знаем, мы знаем... вы хотите сначала сделать что-то более сумасшедшее, но поверьте нам, это лучшая начальная точка.\n\nВолочильный станок позволяет сделать &6две проволоки из одного слитка&r. Это должно быть в три раза дешевле, чем то, что вы делали раньше!", + "quests.low_voltage.lv_wiremill.desc.2": "&9Заметка:&r Рецепты внутри &3LV-машин&r потребляют до &a32 EU/t (LV)&r. Для более высоких значений потребуется &bMV-машина&r (или лучше). Само собой разумеется, мы пока до этого не дошли. \n\nДля некоторых рецептов вам понадобится &dИнтегральная схема&r. Мы уверены, что вы не захотите тратить ценную схему на ее создание, поэтому &6прочитайте соответствующий квест для получения важной информации&r.\n\nС этой машиной, успешно созданной, добро пожаловать в эру всего электрического!", + "quests.low_voltage.lv_wiremill.task": "Любой из этих", + "quests.low_voltage.lv_bender.title": "Гибочный станок", + "quests.low_voltage.lv_bender.subtitle": "Бендер гнётся!", + "quests.low_voltage.lv_bender.desc": "Можно утверждать, что это вторая по качеству машина &7LV для крафта&r, но мы готовы выслушать иные мнения.\n\nЭто открывает возможность преобразовывать &6один слиток в одну пластину&r, что является более выгодным соотношением, чем у кузнечного молота.", + "quests.low_voltage.lv_bender.task": "Любой из этих", + "quests.low_voltage.lv_lathe.title": "Токарный станок", + "quests.low_voltage.lv_lathe.subtitle": "Избавьтесь от старой техники", + "quests.low_voltage.lv_lathe.desc.1": "Токарный станок — это важная машина, помогающий обрабатывать металлы. Благодаря ему вы можете превратить &6один слиток в два стержня&r, а &6один болт — в один винт&r. Это вдвое эффективнее для этих рецептов по сравнению с ручным изготовлением.", + "quests.low_voltage.lv_lathe.desc.2": "&l&3Лор:&r&o Токарный Станок GT5 производит один стержень и 2 маленькие кучки пыли из одного слитка. У нас также есть настройка для этого в GTCEu, но по умолчанию она отключена. \n\n&oТокарный Станок GT6 работает так же, как и GT5, но болты обрабатываются в один винт и 1/72 кучки пыли. Отвратительно!", + "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 жидкости.", + "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": "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.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?", - "quests.low_voltage.programmed_circuits.desc.1": "By clicking the &6Circuit Configuration Slot&r in machines, you can create a &bghost Programmed Circuit&r. \n\nThis is a fake circuit that allows you to select a given configuration for recipes! There's no need to spend your circuits crafting &bProgrammed Circuits&r anymore.\n\n&dElectric Machines&r and &dItem Input Buses&r will have a Ghost Circuit Slot.", - "quests.low_voltage.programmed_circuits.desc.2": "&l&3Lore:&r&o This feature is originally from GTNH.", - "quests.low_voltage.programmed_circuits.task": "I got it, I don't need to craft circuits", - "quests.low_voltage.lv_conveyor.title": "LV Conveyor Module", - "quests.low_voltage.lv_conveyor.subtitle": "A crafting component, but also a cover!", - "quests.low_voltage.lv_conveyor.desc": "Less common as a component, but used in a number of critical machines.\n\nWhen placed on a machine, conveyor modules will transfer items. You can configure them to import or export.\n\nThey can also accept various &9Item Filters&r.", - "quests.low_voltage.lv_robot_arm.title": "LV Robot Arm", - "quests.low_voltage.lv_robot_arm.subtitle": "You're going to hate making these", - "quests.low_voltage.lv_robot_arm.desc.1": "When placed on a machine, Robot Arms are a more configurable version of a Conveyor Module. They allow you to transfer items in specific batches, at specific rates, or keep a certain amount of items stocked.\n\nPractical uses for the Robot Arm will be explained in future Quests as a tutorial.\n\n&9Note:&r The functionalities provided by the Robot Arm work &lonly&r if it is &lrequired&r to perform the operation.", - "quests.low_voltage.lv_robot_arm.desc.2": "&l&3Lore:&r&o GregTech 5 had blocks such as the Buffer, Filter and Type Filter to allow fine control over items. In GTCE it's all been replaced by the almighty Robot Arm and various Filter Covers. Much more compact!", - "quests.low_voltage.lv_piston.title": "LV Electric Piston", - "quests.low_voltage.lv_piston.subtitle": "A crafting component - did you expect anything fancier?", - "quests.low_voltage.lv_piston.desc": "A specialized motor needed to make certain machines.\n\nOne of the more intricate crafting components, as it's made using a motor.", - "quests.low_voltage.lv_pump.title": "LV Electric Pump", - "quests.low_voltage.lv_pump.subtitle": "A crafting component, but also a cover!", - "quests.low_voltage.lv_pump.desc": "When placed on a machine, pumps will transfer fluid. You can configure them to import or export.\n\nIt can accept a &9Fluid Filter&r.", - "quests.low_voltage.lv_fluid_regulator.title": "LV Fluid Regulator", - "quests.low_voltage.lv_fluid_regulator.subtitle": "A cover that you may not use much", - "quests.low_voltage.lv_fluid_regulator.desc": "The &aFluid Regulator&r is sort of the equivalent to a &9Robot Arm&r for Fluids.\n\nIt can transfer fluids, but has two useful modes:\n\n&9-&r &dSupply Exact&r will transfer the amount of specified Fluid per tick if available. No more, no less.\n&9-&r &dKeep Exact&r will make sure the exact amount of Fluid in the attached machine is being kept.\n\nYou won't need it much, because natively GT machines will fill only one slot with the &6Pump Cover&r", - "quests.low_voltage.cover_behaviour.title": "Cover Behaviour", - "quests.low_voltage.cover_behaviour.subtitle": "Extra utility without taking up blockspace!", - "quests.low_voltage.cover_behaviour.desc.1": "Covers are placed by right-clicking with Cover in hand on a face of a machine, and removed with a &5Crowbar&r (or by mining the machine, but that's way slower).\n\nPretty much any GregTech Tile-Entity will accept Covers, even if they wouldn't provide any functionality.\n\nOpening a Cover is done by sneak-right-clicking it with an &5empty hand&r. You can also right-click with a &5Screwdriver&r, or sneak-right-click on another face using the grid.", - "quests.low_voltage.cover_behaviour.desc.2": "For Covers that transfer Items/Fluids, you will have a button to enable/disable other forms of transfer through the cover:\n\n&9- &rDisabled: only the cover will be allowed to transfer on this machine side.\n\n&9-&r Allow Filtered (only relevant with a filter!): other transfer will be enabled only if it matches the filter\n\n&9-&r Allow Unfiltered: any other transfer is allowed on this machine side.\n\nPlacing a cover of a lower voltage tier on a machine is &9safe&r.", - "quests.low_voltage.cover_behaviour.task": "I'm an expert on Covers now, don't you worry.", - "quests.low_voltage.lv_canner.title": "Basic Canner", - "quests.low_voltage.lv_canner.subtitle": "This machine does nothing exciting", - "quests.low_voltage.lv_canner.desc": "Make this machine when you feel like it's time you invested into Batteries.", - "quests.low_voltage.lv_battery.title": "Batteries!", - "quests.low_voltage.lv_battery.subtitle": "Batteries for storing energy!", - "quests.low_voltage.lv_battery.desc": "&aBatteries&r can be put into the energy slot at the bottom middle of machine GUIs, or in a &3Battery Buffer&r.\n\nWhen inside your inventory, they can be sneak-right-clicked to allow the batteries to &dcharge&r your EU items.\n\n&7LV&r, &bMV&r, and &6HV&r Batteries come in three forms, allowing you to pick the one you find the best depending on materials you have. &dLithium&r has the best capacity, followed by &dCadmium&r, then &dSodium&r.\n\nOur recommendation? Find a Salt vein, and either &aelectrolyze Salt&r for &dSodium&r, or &awash crushed Lepidolite&r for &dLithium&r.\n\nGet &eany&r &aBattery&r to complete this quest.", - "quests.low_voltage.lv_battery.task": "Any LV Battery", - "quests.low_voltage.lv_battery_preparation.title": "Battery Preparations!", - "quests.low_voltage.lv_battery_preparation.subtitle": "Batteries are great!", - "quests.low_voltage.lv_battery_preparation.desc": "Make some Battery Alloy, used for Battery Hulls.\n\nAntimony is found in &6Stibnite&r, look through your TFC Field Guide for more information on where to find it.\n\n&9Note:&r This quest does &lnot&r contain functional Batteries - head downwards for that.", - "quests.low_voltage.lv_battery_buffer_4x.title": "Battery Buffer", - "quests.low_voltage.lv_battery_buffer_4x.subtitle": "Useful if you don't want to build tons of generators", - "quests.low_voltage.lv_battery_buffer_4x.desc.1": "By itself, the Battery Buffer does nothing. However, if you place batteries inside its internal storage, it will act as a power buffer.\n\nThe &3Battery Buffer&r handles &9two Amps in&r, and &9one Amp out&r, &dper Battery&r. The output side has the dot, and all other sides are used as inputs.\n\n&6It'll also charge &lboth&r EU and RF Tools inside it&r.\n\nThis is a must have if you don't have unlimited power at hand. Get &eany&r &7LV&r Battery Buffer to finish the quest. However, the 16 slots variant is likely overkill at this stage.", - "quests.low_voltage.lv_battery_buffer_4x.desc.2": "&9Note:&r Don't loop your lossy Cables back to your Battery Buffer! If you think about it, you'll just end up voiding energy.\n\n&l&3Lore:&r&o To be frank with you, the GTCE Battery Buffer was... mediocre. It's been reworked in GTCEu to provide a mix between GT5 and GTCE's functionality. Energy now splits evenly across all batteries!", - "quests.low_voltage.lv_battery_buffer_4x.task": "Any Battery Buffer", - "quests.low_voltage.lv_amp_explanation.title": "But what are Amps?", - "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.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.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.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.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", - "quests.low_voltage.lv_electroliser.desc.1": "&lOutside of Ore Processing:&r\n\nSimilar to the Centrifuge, this machine does a lot of things - we can't hope to list them all! Fortunately, it's one of the cheapest &7LV&r machines, so grab it as soon as it becomes necessary.", - "quests.low_voltage.lv_electroliser.desc.2": "&lFor Ore Processing:&r\n\nOkay, we lied. It's not &oexactly&r used for Ore Processing, it's actually used in the &adecomposition of Dusts&r. However, most of the useful electrolysis recipes are locked at &bMV&r. You can peep at the &emolecular formula&r in a dust's tooltip to see what you can get from electrolysis.", - "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.", - "quests.low_voltage.lv_mixer.task": "From Create or GregTech", - "quests.low_voltage.soldering_alloy.title": "Soldering Alloy", + "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 меняется сторона вывода, а при клике правой кнопкой мыши с зажатой клавишей Shift — передняя сторона. Помните, что передняя сторона &cне может&r одновременно быть и стороной вывода! \n\nПо умолчанию предметы и жидкости нельзя подавать через сторону вывода, но это можно изменить с помощью &5отвертки&r. Кликните правой кнопкой мыши непосредственно по стороне вывода или щелкните правой кнопкой мыши с зажатой клавишей Shift по сетке, соответствующей стороне вывода. \n\nСуществуют уникальные механизмы, которые не обрабатывают рецепты, такие как &3помпа&r, &3шахтёр&r, &3рыболов&r, &3собиратель предметов&r и т. д. Эти механизмы будут выводить содержимое через свою &7переднюю часть&r (которая по-прежнему обозначена точкой).", + "quests.low_voltage.machine_auto_output_behaviour.task": "Хм, как интересно!", + "quests.low_voltage.programmed_circuits.title": "Интегральные схемы", + "quests.low_voltage.programmed_circuits.subtitle": "Не хочешь тратить свои схемы на выбор крафтов?", + "quests.low_voltage.programmed_circuits.desc.1": "Нажав на &rслот конфигурации схемы в машинах&r, вы можете создать &bпризрачную запрограммированную схему&r. \n\nЭто фиктивная схема, которая позволяет выбирать заданную конфигурацию для рецептов. Теперь нет необходимости тратить ваши схемы на создание &bзапрограммированных схем&r. \n\n&dЭлектрические машины&r и &dInput bus&r предметов будут иметь слот для призрачной схемы.", + "quests.low_voltage.programmed_circuits.desc.2": "&l&3Лор:&r&o Эта функция изначально из GTNH.", + "quests.low_voltage.programmed_circuits.task": "Я разобрался, мне не нужно крафтить схемы", + "quests.low_voltage.lv_conveyor.title": "Модуль конвейера LV", + "quests.low_voltage.lv_conveyor.subtitle": "Материал, но ещё и улучшение!", + "quests.low_voltage.lv_conveyor.desc": "Реже используется как компонент, но применяется в ряде критически важных машин. \n\nПри размещении на машине, конвейерные модули будут перемещать предметы. Вы можете настроить их на импорт или экспорт. \n\nОни также могут принимать различные &9фильтры предметов&r.", + "quests.low_voltage.lv_robot_arm.title": "Роботизированный манипулятор LV", + "quests.low_voltage.lv_robot_arm.subtitle": "Ты будешь ненавидеть их делать", + "quests.low_voltage.lv_robot_arm.desc.1": "Роботизированные манипуляторы, установленные на машине, представляют собой более гибкую версию конвейерного модуля. Они позволяют перемещать предметы определенными партиями, с заданной скоростью или поддерживать определенный запас. \n\nПрактическое применение роботизированных манипуляторов будет рассмотрено в будущих квестах в качестве обучающего материала.\n\n&9Заметка:&r Функции, предоставляемые роботизированным манипулятором, работают &lтолько&r при &lнеобходимости&r выполнения операции.", + "quests.low_voltage.lv_robot_arm.desc.2": "&l&3Лор:&r&o В GregTech 5 были блоки, такие как Буфер, Фильтр и Фильтр по типу , которые позволяли тонко управлять предметами. В GTCE все это было заменено всемогущей Роботизированным манипулятором и различными Крышками-фильтрами . Гораздо компактнее !", + "quests.low_voltage.lv_piston.title": "Электрический поршень LV", + "quests.low_voltage.lv_piston.subtitle": "Компонент для крафта. А вы ожидали чего-то более изысканного?", + "quests.low_voltage.lv_piston.desc": "Специализированный мотор, необходимый для создания определенных машин.\n\nОдин из более сложных компонентов для крафта, так как он изготавливается с использованием мотора.", + "quests.low_voltage.lv_pump.title": "Электрическая помпа LV", + "quests.low_voltage.lv_pump.subtitle": "Материал, но ещё и улучшение!", + "quests.low_voltage.lv_pump.desc": "При установке на машину насосы будут перекачивать жидкость. Вы можете настроить их на импорт или экспорт. \n\nОни могут принимать &9Жидкостный фильтр&r.", + "quests.low_voltage.lv_fluid_regulator.title": "Регулятор жидкости LV", + "quests.low_voltage.lv_fluid_regulator.subtitle": "Улучшение, которым вы можете не пользоваться часто", + "quests.low_voltage.lv_fluid_regulator.desc": "&aРегулятор жидкостей&r — это своего рода аналог &9Роботизированной руки&r, но для жидкостей.\n\nОн может передавать жидкости и имеет два полезных режима:\n\n&9-&r &dПодавать точно&r — передаёт указанное количество жидкости за тик, если она доступна. Ни больше, ни меньше.\n&9-&r &dПоддерживать точно&r — гарантирует, что в подключённой машине всегда находится заданное количество жидкости.\n\nИспользуется он не так уж часто, ведь машины GregTech по умолчанию заполняют только один слот при помощи &6улучшения-насоса&r", + "quests.low_voltage.cover_behaviour.title": "Улушения Механизмов", + "quests.low_voltage.cover_behaviour.subtitle": "Дополнительная функциональность без занятия места!", + "quests.low_voltage.cover_behaviour.desc.1": "Улушения Механизмов устанавливаются щёлчком ПКМ с улучшением в руке на машины и снимаются с помощью &5ломика&r (или при добыче машины, но это гораздо медленнее).\n\nПрактически любой блок GregTech принимает улучшения, даже если они не дают никакой функциональности.\n\nЧтобы открыть интерфейс улучшения, присаживайтесь и щёлкайте ПКМ пустой рукой. Также можно щёлкнуть ПКМ &5отвёрткой&r или присесть и щёлкнуть по другой грани, используя сетку.", + "quests.low_voltage.cover_behaviour.desc.2": "Для улучшений, которые передают предметы или жидкости, будет доступна кнопка для включения/отключения других способов передачи через улучшение:\n\n&9-&r Выключено: только улучшение будет передавать ресурсы на этой стороне машины.\n\n&9-&r Разрешить с фильтром (актуально только при наличии фильтра!): передача другими способами будет разрешена только в случае совпадения с фильтром.\n\n&9-&r Разрешить без фильтра: любые другие передачи разрешены на этой стороне машины.\n\nУстановка улучшения более низкого уровня напряжения на машину &9безопасна&r.", + "quests.low_voltage.cover_behaviour.task": "Теперь я эксперт по улучшениям, не волнуйтесь.", + "quests.low_voltage.lv_canner.title": "Наполнитель", + "quests.low_voltage.lv_canner.subtitle": "Эта машина не делает ничего интересного", + "quests.low_voltage.lv_canner.desc": "Сделай эту машину, когда почувствуешь, что пора вложиться в батареи.", + "quests.low_voltage.lv_battery.title": "Батареи!", + "quests.low_voltage.lv_battery.subtitle": "Батареи для хранения энергии!", + "quests.low_voltage.lv_battery.desc": "&aБатареи&r можно поместить в слот энергии внизу посередине интерфейса машины или в &3Батарейный Буфер&r.\n\nЕсли батареи находятся в вашем инвентаре, их можно присесть и щёлкнуть ПКМ, чтобы они &dзаряжали&r ваши EU-инструменты.\n\n&7LV&r, &bMV&r и &6HV&r батареи бывают трёх видов, позволяя выбрать оптимальный в зависимости от доступных материалов. &dЛитий&r обладает наибольшей ёмкостью, за ним следуют &dКадмий&r и &dНатрий&r.\n\nНаш совет: найдите жилу соли и либо &aэлектролизуйте соль&r для получения &dнатрия&r, либо &aпромойте измельчённый лепидолит&r для получения &dлития&r.\n\nПолучите &eлюбую&r &aбатарею&r, чтобы завершить этот квест.", + "quests.low_voltage.lv_battery.task": "Любая LV Батарея", + "quests.low_voltage.lv_battery_preparation.title": "Загатовки батареек!", + "quests.low_voltage.lv_battery_preparation.subtitle": "Батарейки - это круто!", + "quests.low_voltage.lv_battery_preparation.desc": "«Создай немного &aаккумуляторного сплава&r — он используется для &aкорпусов батарей&r.\n\nСурьма содержится в руде &6Стибнит&r. Загляни в свой &bполевой справочник TFC&r, чтобы узнать, где её можно найти.\n\n&9Примечание:&r Этот квест &lне&r включает в себя создание работающих батарей — пролистай вниз, чтобы перейти к ним.", + "quests.low_voltage.lv_battery_buffer_4x.title": "Батерейный Буфер", + "quests.low_voltage.lv_battery_buffer_4x.subtitle": "Полезный, если вы не хотите делать кучу генераторов", + "quests.low_voltage.lv_battery_buffer_4x.desc.1": "Сам по себе &3батарейный буфер&r ничего не делает. Однако, если поместить внутрь батареи, он начнёт работать как &aэнергетический накопитель&r\n\n&3Батарейный Буфер&r обрабатывает &9два ампера на вход&r и &9один ампер на выход&r &dна каждую батарею&r. Сторона с точкой — это выход, а все остальные стороны используются как входы.\n\n&6Он также заряжает &lи EU, и RF-инструменты&r, помещённые внутрь.\n\nЭтот блок обязателен, если у тебя нет бесконечного источника энергии. Получи &eлюбой&r &7LV&r Батарейный Буфер, чтобы завершить квест. Однако вариант с 16 слотами, вероятно, будет &cизбыточным&r на данном этапе.", + "quests.low_voltage.lv_battery_buffer_4x.desc.2": "&9Примечание:&r Не соединяй свои &cкабели с потерями&r обратно с &3Батарейным Буфером&r! Если задуматься, ты просто начнёшь &cтерять энергию&r впустую.\n\n&l&3Интересный Факт:&r&o Если быть честным, Батарейный Буфер в GTCE был... посредственным. В GTCEu его переработали, чтобы объединить функциональность GT5 и GTCE. Теперь энергия распределяется &aравномерно между всеми батареями&r!", + "quests.low_voltage.lv_battery_buffer_4x.task": "Любой Батарейный Буфер", + "quests.low_voltage.lv_amp_explanation.title": "Что за Амперы такие?", + "quests.low_voltage.lv_amp_explanation.subtitle": "Амперы и Вы: Руководство", + "quests.low_voltage.lv_amp_explanation.desc": "Эта цепочка квестов служит кратким руководством по &9амперажу в GregTech&r. Что касается механики &dнапряжения&r, мы разберём их, когда вы достигнете уровня &bMV&r.\n\n&6&lКратко:&r Для безопасности подбирайте кабели с таким же пределом ампер, как и максимальное количество ампер, подаваемое вашими источниками энергии.\n\nВсё ещё запутались? Ознакомьтесь с главой &cЭнергетика GregTech&r, чтобы получить полное объяснение электрической системы GregTech!", + "quests.low_voltage.lv_ore_prospector.title": "Эй, это не честно!", + "quests.low_voltage.lv_ore_prospector.subtitle": "Мечта геологов", + "quests.low_voltage.lv_ore_prospector.desc": "&lРудный Сканнер&r — потрясающий инструмент, который поможет тебе находить жилы за считанные секунды.\n\nЕго интерфейс интерактивен: щёлкни ПКМ, чтобы просканировать область на наличие руд — результаты появятся на динамической карте.\n\n&l&3Интересный Факт:&r&o В НАШИ времена переносной разведочный сканнер был доступен только на &dLuV&f. Сейчас молодёжи всё достаётся слишком легко.", + "quests.low_voltage.lv_sprayer.title": "Баллончик с краской", + "quests.low_voltage.lv_sprayer.subtitle": "Настало время для тэгов войн на сервере", + "quests.low_voltage.lv_sprayer.desc": "К сожалению, это всего лишь &lпустой&r баллончик с краской — перед использованием его нужно наполнить &aжидким красителем&r.\n\n&aБаллончики&r не оказывают никакого влияния на работу машин, но могут быть весьма &bполезны и эстетичны&r!\n\nПрактически любой блок из GregTech (машины, трубы, кабели...) можно &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Боишься переработки руды? Загляни в отдельную главу &cOre Processing&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.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": "Электролизер говорит - Бзззз", + "quests.low_voltage.lv_electroliser.desc.1": "&lПомимо переработки руды:&r\n\nПодобно Центрифуге, эта машина выполняет множество функций — перечислить их все невозможно! К счастью, это одна из самых дешёвых машин уровня &7LV&r, так что приобретайте её, как только она станет необходимой.", + "quests.low_voltage.lv_electroliser.desc.2": "&lДля переработки руды:&r\n\nЛадно, мы соврали. Она &oне совсем&r используется для переработки руды — на самом деле она нужна для &araзложения пыли&r. Однако большинство полезных рецептов электролиза доступны только на уровне &bMV&r. Вы можете заглянуть в &eмолекулярную формулу&r в подсказке к пыли, чтобы увидеть, что можно получить при электролизе.", + "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.", + "quests.low_voltage.lv_mixer.task": "Из Create или GregTech", + "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.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.", - "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.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.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!", - "quests.low_voltage.lv_diode.desc": "Don't let JEI fool you... there's only one possible recipe right now for this Primitive Diode -- the liquid glass one.\n\nDiodes have a infamously &4nasty recipe&r, but they will become cheaper and more convenient once you can obtain &ePolyethylene&r.\n\nThis is required for &dMV Circuits&r.", - "quests.low_voltage.1_mv_circuit.title": "First MV Circuit!", - "quests.low_voltage.1_mv_circuit.subtitle": "Does that mean we're at MV yet?", - "quests.low_voltage.1_mv_circuit.desc": "Well... got any Aluminium Ingots yet?\n\nEach Electric Age has Circuits corresponding to its tier. The Good Electronic Circuit is the &dfirst MV Circuit&r you can make out of the three tiers of &bMV&r Circuitry.\n\nAlways be on the lookout for a cheaper way to make your circuits - new sets of recipes become available each time you make a new tier of &2Circuit Assembler&r. Conveniently, this tier of Circuit unlocks one now! Its recipes are far, far cheaper than the Deployers.\n\n&6Having this and Aluminium will grant access to MV Machines.&r\n\nIf you are having trouble understanding the mess that is GregTech circuits, check out the &6Progression Table&r chapter.", - "quests.low_voltage.lv_circuit_assembler.title": "The Circuit Assembler", - "quests.low_voltage.lv_circuit_assembler.subtitle": "Hopefully, your first MV Circuit expense", - "quests.low_voltage.lv_circuit_assembler.desc.1": "From now on, all Circuits should be made in a &3Circuit Assembler&r. Use it now to enjoy &6far cheaper LV and MV circuits&r.\n\nEach time you upgrade to a new tier of &3Circuit Assembler&r, you will be able to craft more &dadvanced themes&r of circuit. These will use &ccomplex&r and &msometimes&r unfamiliar ingredients, but will be more efficient to craft overall.", - "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Lore:&r&o The Circuit Assembler has made appearances in and out of GregTech versions. GT5 did not have it, and it was reimplemented in GT5 Unofficial. GTCE decided not to port it, and the tug-of-war continues with its inclusion in GTCEu.", - "quests.low_voltage.lv_greenhouse.title": "Electric Greenhouse", - "quests.low_voltage.lv_greenhouse.subtitle": "The power of KubeJS", - "quests.low_voltage.lv_greenhouse.desc.1": "The multiblock &3Electric Greenhouse&r can be your source of &aLogs&r and other plants if you prefer making GregTech machines over Create contraptions. It also has the unique property of being able to grow more of TFC's decorative plants!\n\nThis is one of the few machines that has &2Perfect Overclocking&r, which basically means each higher tier of EU input means x4 the recipe speed instead of the usual x2!", - "quests.low_voltage.lv_greenhouse.desc.2": "&9Note: &rWith recipes requiring more than 32 EU/t, the multiblock needs either 1 &bMV&r energy hatch or 2 &7LV&r energy hatches. Multiblocks will &cnot&r use 2A of one tier to reach the next one for recipe voltage minimums.\n\nIn other words, the controller needs to say at least &bMV&r in the GUI to run recipes which say &bMV&r in EMI, even if they can draw enough EU/t with a lower tier hatch configuration.\n\n&9Note:&r This structure requires a lot of &7Steel&r. Make sure you have an &3EBF&r for that.", - "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Lore:&r&o This multiblock was originally created for the GTCEu Community Pack, but is also available on the GTCEu developer documentation. It's significantly slower than default to keep in line with TFC's slower tree growing speeds, but prior to TFG 0.9, it used to take almost an hour for each recipe!", - "quests.low_voltage.lv_centrifuge.title": "Basic Centrifuge", - "quests.low_voltage.lv_centrifuge.subtitle": "It does the opposite of the Mixer", - "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.soldering_alloy.desc": "&aПрипой&r используется исключительно как &9жидкость&r и в большинстве случаев &dвзаимозаменяем&r в рецептах схем в качестве более дешёвой альтернативы олова&r.\n\nВыбор за вами. Хотите сэкономить материалы? Делайте припой. Хотите тратить меньше времени на создание материалов? Используйте олово.", + "quests.low_voltage.gallium_arsenide.title": "Арсенид Галлия", + "quests.low_voltage.gallium_arsenide.subtitle": "Я ненавижу побочные продукты, они же потрясающие", + "quests.low_voltage.gallium_arsenide.desc": "Многие материалы далее нельзя переплавлять напрямую из руд! Вместо этого их получают как побочные продукты при переработке других руд. К таким материалам &4относятся&r галлий и мышьяк.\n\nДля &dгаллия&r есть несколько способов, от худшего к лучшему (компромисс между сложностью и результатом):\n\n&9- &3Электролизируйте &aсфалерит&r для низкой вероятности получения мелкой пыли. Учтите, что при этом теряется прямая ценность переплавки.\n\n&9-&r Поместите &aизмельчённую бокситовую руду&r в &3Химическую ванну&r. Обратите внимание, что это требует &9персульфата натрия&r.\n\n&9-&r Получите его как побочный продукт переработки &aсфалерита&r в &3Термальной Центрифуге&r или &3Центрифуге&r.\n\nДля &dмышьяка&r вам придётся добывать и &3центрифугировать&r &aреальгар&r или пропускать &aкобальтит&r через Электрическую Доменную Печь.", + "quests.low_voltage.lv_assembler.title": "Обычная Сборочная Машина", + "quests.low_voltage.lv_assembler.subtitle": "Эта штука собирает лучше, чем вы и IKEA вместе взятые", + "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 В эпоху GregTech 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хлорид железа III&r, изготовление плат требует &6только четверть серебра&r по сравнению с обычным рецептом.\n\n&l&lОднако&r, учитывая, насколько сложно вам может быть достать эти химикаты &oпрямо сейчас&r, вы можете просто использовать больше серебра, добыв большую часть жилы Гелены…\n\nКвест на получение &aперсульфата натрия&r находится в главе &bMV&r, если захотите немного почитать.", + "quests.low_voltage.t2_circuit_board.desc.2": "&l&3История:&r&o В GTCEu 1.12.2 эти печатные платы назывались &2Хорошие платы&f. Название было не совсем подходящим, так как их &4довольно сложно&r создавать.", + "quests.low_voltage.lv_diode.title": "Диод", + "quests.low_voltage.lv_diode.subtitle": "Не поддавайтесь влиянию EMI!", + "quests.low_voltage.lv_diode.desc": "Не дайте себя обмануть JEI… в данный момент существует только один возможный рецепт для этого Примитивного диода — рецепт с жидким стеклом.\n\nДиоды имеют печально &4сложный рецепт&r, но они станут дешевле и удобнее, как только вы получите &eПолиэтилен&r.\n\nЭто необходимо для &dMV-микросхем&r.", + "quests.low_voltage.1_mv_circuit.title": "Первая MV Микросхема!", + "quests.low_voltage.1_mv_circuit.subtitle": "Мы что, уже в MV?", + "quests.low_voltage.1_mv_circuit.desc": "Ну… у вас уже есть алюминиевые слитки?\n\nКаждая эпоха Электрики имеет микросхемы, соответствующие её уровню. Хорошая электронная схема — это &dпервая MV-схема&r, которую вы можете создать из трёх уровней &bMV&r схемотехники.\n\nВсегда ищите более дешёвый способ создания микросхем — новые наборы рецептов становятся доступными каждый раз, когда вы создаёте новый уровень &2Сборщика микросхем&r. Кстати, этот уровень микросхем открывает одну прямо сейчас! Её рецепты намного, намного дешевле, чем у Автономных Активаторов .\n\n&6Имея это и алюминий, вы получите доступ к машинам MV.&r\n\nЕсли вам сложно разобраться в хаосе схем GregTech, загляните в главу &6Таблица прогрессиа&r.", + "quests.low_voltage.lv_circuit_assembler.title": "Сборщик Микросхем", + "quests.low_voltage.lv_circuit_assembler.subtitle": "Надеемся, это ваш первый расход MV Микросхем", + "quests.low_voltage.lv_circuit_assembler.desc.1": "Отныне все схемы следует изготавливать в &3Сборщике Микросхем&r. Используйте его сейчас, чтобы получать &6значительно более дешёвые схемы уровней LV и MV&r.\n\nКаждый раз, когда вы улучшаете &3Сборщик Микросхем&r до нового уровня, вы получаете возможность создавать более &dпродвинутые разновидности&r схем. Для них потребуются &cсложные&r и &mпорой&r незнакомые ингредиенты, но их создание будет гораздо более эффективным в целом.", + "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3Инетересный Факт:&r&o Сборщик схем появлялся и исчезал в разных версиях GregTech. В GT5 его не было, но он был повторно добавлен в GT5 Unofficial. GTCE решил не переносить его, и борьба за его существование продолжилась с его возвращением в GTCEu.", + "quests.low_voltage.lv_greenhouse.title": "Электротеплица", + "quests.low_voltage.lv_greenhouse.subtitle": "Сила KubeJS", + "quests.low_voltage.lv_greenhouse.desc.1": "Мультиблочная &3Электротеплица&r может служить вашим источником &aбрёвен&r и других растений, если вы предпочитаете создавать машины GregTech, а не механизмы Create. У неё также есть уникальная особенность — возможность выращивать больше декоративных растений из TFC!\n\nЭто одна из немногих машин, обладающих &2идеальным оверклокинго&r, что означает, что каждый более высокий уровень подачи EU увеличивает скорость выполнения рецептов в 4 раза вместо обычных 2!", + "quests.low_voltage.lv_greenhouse.desc.2": "&9Примечание:&r Для рецептов, требующих более 32 EU/t, мультиблоку понадобится либо один &bMV&r энергоприёмник, либо два &7LV&r энергоприёмника. Мультиблоки &cне используют&r 2 ампера одного уровня, чтобы достичь следующего уровня напряжения, необходимого для выполнения рецепта.\n\nДругими словами, контроллер должен отображать как минимум &bMV&r в интерфейсе, чтобы выполнять рецепты, обозначенные как &bMV&r в EMI, даже если он способен потреблять достаточно EU/t при конфигурации энергоприёмников более низкого уровня.\n\n&9Примечание:&r Эта структура требует большое количество &7стали&r. Убедитесь, что у вас есть &3Электрическая Доменная Печь&r для её производства.", + "quests.low_voltage.lv_greenhouse.desc.3": "&l&3Интересный Факт:&r&o Этот мультиблок изначально был создан для GTCEu Community Pack, но также доступен в документации разработчиков GTCEu. Он значительно медленнее стандартного, чтобы соответствовать более медленным скоростям роста деревьев в TFC, однако до выхода TFG 0.9 на выполнение каждого рецепта уходил почти час!", + "quests.low_voltage.lv_centrifuge.title": "Базовая Центрифуга", + "quests.low_voltage.lv_centrifuge.subtitle": "Это противоположность Миксера", + "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. Это не самый эффективный способ получения побочных продуктов, но зато это самая дешёвая машина для переработки руды из представленных, как в эксплуатации, так и в установке в небольших масштабах.", + "quests.low_voltage.lv_centrifuge.desc.3": "&l&3Интересный Факт:&r&o В оригинальном GTCE это была, без сомнения, самая мощная машина для переработки руды, поскольку она была довольно простой в использовании и давала три мелкие пыли — так же, как промойка руды или термоцентрифуга. Мы немного ослабили её ради разнообразия.", "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.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_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.", - "quests.low_voltage.lv_oxygen.title": "Breath of Fresh Oxygen", - "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.task": "Oxygen", - "quests.low_voltage.lv_nitrogen.title": "Nitrogen Gas", - "quests.low_voltage.lv_nitrogen.subtitle": "Your EBF booster", - "quests.low_voltage.lv_nitrogen.desc": "For now, your only use for Nitrogen will be to make your EBF &6faster&r, which may not sound like that big of a deal, but with how much you'll be using it, it's definitely worth setting up. Faster recipes mean less energy used too!", - "quests.low_voltage.lv_nitrogen.task": "Nitrogen", - "quests.low_voltage.lv_arc_furnace.title": "The Arc Furnace", - "quests.low_voltage.lv_arc_furnace.subtitle": "The Arc Furnace has never been so good", - "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r for cheaper electronic components. It's also your new best way to make &4Red Steel&r and &1Blue Steel&r Ingots!\n\nIt can also recycle various components and machines back to their original materials.", - "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Lore:&r&o Previous GregTech versions had both the Arc Furnace and the &bPlasma Arc Furnace&f. In that case, why not use one machine for both? Well, that's exactly what we thought - but we ultimately decided to remove one of the two &bplasma&f recipes. And then the other &bplasma&f recipe.\n\n&oIn short, the &bPlasma Arc Furnace&f is &4gone&f. RIP.", - "quests.low_voltage.lv_extractor.title": "Basic Liquid Extraction", - "quests.low_voltage.lv_extractor.subtitle": "The Extractor extracts...", - "quests.low_voltage.lv_extractor.desc.1": "Hm... didn't we make this joke already?\n\nThe reason we don't present &7LV&r versions of &6Steam&r machines is because they are &4NOT&r required. You might not want to invest into an upgrade that does next to nothing. Except for &othis one&r specifically, because it's a big improvement over the &6Steam Age&r.\n\nThe &3Basic Extractor&r gains Fluid capabilities, which enables &aFluid Extraction&r. Use it to melt Rubber that you previously solidified, to &dmelt Soldering Alloy&r for your circuits, and to &dmelt Red Alloy&r for the &6best Vacuum Tube recipe&r in the &3Assembler&r!", + "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, а также &6дешёвых микросхем&r в &3Сборщике&r (и будет особенно полезен &oв ближайшем будущем&r).\n\n&eПримечание:&r Вы также можете центрифугировать &aклей&r или &aхвойную смолу&r из TFC — выбирайте, что проще!", + "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_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 Игроки GregTech 5 помнят, как им приходилось использовать Компрессор с ячейками IC2, чтобы получить сжатый воздух… здесь же химии с ячейками больше нет.", + "quests.low_voltage.lv_oxygen.title": "Глоток свежего кислорода", + "quests.low_voltage.lv_oxygen.subtitle": "Вапщето, это Диоксиген...", + "quests.low_voltage.lv_oxygen.desc.1": "Вы могли бы потратить &o&eдрагоценные годы своей жизни&r в JEI, ищя самый оптимальный рецепт кислорода, учитывая множество способов его получения. Разные минералы будут давать его при электролизе.\n\nЕсли бы только книга квестов содержала больше информации!", + "quests.low_voltage.lv_oxygen.desc.2": "Сюрприз! По нашему мнению (!), лучший источник — это &aцентрифугирование воздуха&r после создания &dВоздухозаборника&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&eNote:&r &eПримечание:&r Добавьте жидкость, имея её в &lлюбом&r резервуаре в своём инвентаре. Также подойдёт ведро.", + "quests.low_voltage.lv_oxygen.task": "Кислород", + "quests.low_voltage.lv_nitrogen.title": "Азот", + "quests.low_voltage.lv_nitrogen.subtitle": "Бустер вашей Электрической Доменной Печи", + "quests.low_voltage.lv_nitrogen.desc": "Пока что единственное применение азота — ускорить работу вашей Электрической Доменной Печи &6быстрее&r, что может показаться не таким уж важным, но учитывая, сколько вы её будете использовать, это определённо стоит настроить. Быстрее выполняемые рецепты также означают меньшее потребление энергии!", + "quests.low_voltage.lv_nitrogen.task": "Азот", + "quests.low_voltage.lv_arc_furnace.title": "Дуговая Печь", + "quests.low_voltage.lv_arc_furnace.subtitle": "Дуговая Печь ещё никогда не была так хороша", + "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дуговая печь&r использует немного &9кислорода&r для плавки предметов другим способом, чем обычные печи.\n\nВы можете использовать её для более лёгкого получения &aкованого железа&r, удвоения количества &aстекла&r и доступа к &aотожжённой меди&r для более дешёвых электронных компонентов. Это также ваш новый лучший способ изготовления &4Красной стали&r и &1Синей стали&r в виде слитков!\n\nОна также может перерабатывать различные компоненты и машины обратно в исходные материалы.", + "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Интересный Факт:&r&o В предыдущих версиях GregTech существовали как Дуговая печь, так и &bПлазменная дуговая печь&f. В таком случае, почему бы не использовать одну машину для обеих функций? Именно так мы и подумали — но в итоге решили удалить один из двух &bплазменных&r рецептов. А затем и второй &bплазменный&r рецепт.\n\n&o&oКороче говоря, &bПлазменная дуговая печь&f &4исчезла&f. RIP.", + "quests.low_voltage.lv_extractor.title": "Обычный Экстрактор", + "quests.low_voltage.lv_extractor.subtitle": "Экстрактор извлекает...", + "quests.low_voltage.lv_extractor.desc.1": "Хм... разве мы так уже не шутили?\n\nПричина по который мы не презентуем &7LV&r версию &6Паровых&r машин, потому что они &4НЕ&r нужны. Возможно, вам не стоит вкладываться в улучшение, которое почти ничего не даёт. За исключением &oэтого&r, поскольку оно представляет собой значительный шаг вперёд по сравнению с &6Паровой эпохой&r.\n\n&3Базовый экстрактор&r получает возможность работать с жидкостями, что позволяет выполнять &aизвлечение жидкостей&r. Используйте его, чтобы расплавить резину, которую вы ранее затвердили, &dрасплавить припой&r для своих схем и &dрасплавить красный сплав&r для &6лучшего рецепта вакуумной лампы&r в &3Сборщике&r!", "quests.low_voltage.lv_extractor.desc.2": "&l&3Lore:&r&o Did you notice this machine doubles as both an Extractor and a Fluid Extractor? The two of them were separate machines in previous versions of GregTech.", - "quests.low_voltage.lv_chemical_reactor.title": "Basic Chemical Reactor", - "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_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!", - "quests.low_voltage.mold_rotor.title": "Combo!", - "quests.low_voltage.mold_rotor.subtitle": "Time to end the misery of hand crafting rotors!", - "quests.low_voltage.mold_rotor.desc": "Use both of your new machines to turn a material into a Fluid, and solidify it back to a Rotor! This combination makes Rotors far easier to craft - &6four Ingots per Rotor&r, as well.\n\nYou can also do the same for &6Gears&r and &6Small Gears&r, which will then be superseded when you make a &3MV Extruder&r.\n\n&9Note:&r Some metals require higher voltages than &7LV&r for Fluid Extraction, so make sure to keep an eye on the recipe tier in EMI.", - "quests.low_voltage.mold_plate.title": "Casting Mold and Rubber Sheets", - "quests.low_voltage.mold_plate.subtitle": "Even cheaper rubber", - "quests.low_voltage.mold_plate.desc": "Stop wasting your time with your &6Alloy Smelter&r. You're gonna need a lot of &6Rubber Sheets&r, and later on you will also use it for other kinds of plastics.\n\nYou may think you can use the Extruder to make rubber sheets instead, but the &6Fluid Solidifier&r can do so much more, while the Extruder is pretty useless until &bMV&r.", - "quests.low_voltage.cupronickel_ingot.title": "Cupronickel Ingots", - "quests.low_voltage.cupronickel_ingot.subtitle": "It's an alloy", - "quests.low_voltage.cupronickel_ingot.desc": "&7A big part of progression in GregTech revolves around gaining access to new materials\nthat you'll use to upgrade your machines or unlock advanced components.&r\n\nThe first alloy you'll encounter is &bCupronickel&r — the beginning of a long journey.\nThis material is used to upgrade your &6Electric Blast Furnace&r, an essential step in your industrial growth.\n\nLuckily, this first step is fairly simple: a basic &7LV Alloy Smelter&r 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.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.", - "quests.low_voltage.lv_ebf.desc.2": "It's important to keep in mind that the EBF is a beefy boy. The minimum power cost to run a recipe is &9120 EU/t&r! That's slightly under 4 &7LV&r Generators or Alternators.\n\nYou may wish to consider building a separate power line, with separate Generators close to the EBF and Battery Buffer to run this. Be wary of the cable loss.", - "quests.low_voltage.multiblock_tech.title": "Multiblock Techniques", - "quests.low_voltage.multiblock_tech.subtitle": "Oh we love multiblocks right?", - "quests.low_voltage.multiblock_tech.desc": "This is the &6basics&r of what you need to build your first &bEBF&r, though it is highly customisable. Remember to use &6EMI&r, use &6U&r on the controller and don't hesitate to &6left click on the structure blocks&r to see what the possibilities are.\n\nAn important notice, each Energy Hatch can accept &a2A&r, which means that at &7LV&r they can each handle &a64 EU/t&r. With two of them, your &eEBF&r can run at &a128 EU/t&r.\n\nFor more details about this mechanic, refer to the &eGregTech Energy Chapter&r, specifically the &eSpending Energy&r section.\n\nMultiblocks bear a large variety of interesting mechanics that might seem daunting, but don't worry - you don't need to do anything fancy right yet. You'll learn more as you go!", - "quests.low_voltage.multiblock_tech.task.1": "Input Bus", - "quests.low_voltage.multiblock_tech.task.2": "Output Bus", - "quests.low_voltage.multiblock_tech.task.3": "Input Hatch", - "quests.low_voltage.lv_superconductor.title": "LV Superconductor", - "quests.low_voltage.lv_superconductor.subtitle": "No loss no bzzz", - "quests.low_voltage.lv_superconductor.desc.1": "&6Superconductors&r are special Wires available for each Voltage tier. They don't come with a Cable counterpart, but that isn't necessary, as they have absolutely &6zero cable loss&r.\n\nThey also won't damage you when you touch them. This makes them the best choice for wiring, if not a little expensive in comparison to the other wires.\n\nIf you weren't already enamoured, the 1x variant also covers 2 Amps. Isn't that nice?\n\nNow is a good time to replace your crappy &aTin Cables&r. Recycle them in the &3Extractor&r to recover both the Tin and Rubber used to craft them.", - "quests.low_voltage.lv_superconductor.desc.2": "&l&3Lore:&r&o No version of GregTech has had actual Superconductors for &7LV&f up until Gregicality and GTCEu, though some modpacks had lossless cables.", - "quests.low_voltage.aluminium_dust.title": "Aluminium Dust", - "quests.low_voltage.aluminium_dust.subtitle": "Time for an adventure", - "quests.low_voltage.aluminium_dust.desc": "There's many minerals that can be electrolyzed into aluminium, but most of them are off-limits until &bMV&r. Sapphire is one exception, otherwise several ore processing recipes can also yield aluminium dust as a byproduct. Look through JEI for your options, and consult the &2Field Guide&r on where to find each ore.\n\nOnce you have enough aluminium, we recommend making the electrolyzer as your first MV machine to unlock all the other options.\n\nNow all you need is an EBF! You should've started to work towards one already, otherwise you'd better get started!", - "quests.low_voltage.aluminium_ingot.title": "Your first Aluminium Ingot", - "quests.low_voltage.aluminium_ingot.subtitle": "We're basically in MV now, right?", - "quests.low_voltage.aluminium_ingot.desc": "Well... can you show us an &bMV&r Circuit as well?\n\n&aAluminium&r is the main ingredient for &bMV&r machinery. Get ready to need a lot of it.\n\nThe process of smelting Aluminium can be cut down by about a third with &9Nitrogen&r, which is obtained by centrifuging &9Air&r from a &3Gas Collector&r.\n\n&6You will still need MV Circuits in order to make MV machines!&r", - "quests.low_voltage.mv_hull.title": "Your third machine hull", - "quests.low_voltage.mv_hull.subtitle": "This is going quite well, only 7 to go!", - "quests.low_voltage.mv_hull.desc1": "Good job, you now have your &bMV Machine Hull&r, your first &bMV Circuit&r and your first &6Circuit Assembler&r.\n\nThis is the gist of &6GregTech&r, every tier you are going to make new &6machines&r using new &6materials&r and &6chemicals&r. You are going to have &5so much fun&r, we are kinda jealous!", - "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.lv_chemical_reactor.title": "Обычный Химический Реактор", + "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\nA &3Отвердитель&r полезен для того, чтобы сразу превращать вашу резину в &aрезиновые листы&r. Они вам пригодятся в дальнейшем.\n\nЗатем вы можете использовать &3Сборщик&r, чтобы применять расплавленную резину для создания &aкабелей&r. Для оловянных кабелей это не так важно, но более качественные кабели &eнеобходимо&r будет изготавливать именно в Сборщике.\n\n&e&eПримечание:&r Храните жидкость, имея её в &lлюбом&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, когда не создаёте резину — либо сделайте второй!", + "quests.low_voltage.mold_rotor.title": "Комбо!", + "quests.low_voltage.mold_rotor.subtitle": "Пора положить конец мучениям ручного создания роторов!", + "quests.low_voltage.mold_rotor.desc": "Используйте обе ваши новые машины чтобы переботать металл в жидкость, и переработать её в Ротор! Эта комбинация позволит намного проще создавать Роторы - &6четыре слитка за Ротор&r.\n\nВы также можете проделать то же самое с &6шестернями&r и &6малыми шестернями&r, которые затем будут заменены, когда вы создадите &3MV Экструдер&r.\n\n&9Заметка:&r Некоторые металлы требуют более высокого напряжения, чем &7LV&r, для извлечения жидкостей, так что следите за уровнем рецепта в EMI.", + "quests.low_voltage.mold_plate.title": "Отливные Формы и Резиновые Пластины", + "quests.low_voltage.mold_plate.subtitle": "Ещё более дешевая резина", + "quests.low_voltage.mold_plate.desc": "Хватит тратить ваше время на &6Печь для Сплавов&r. Вам понадобится много &6Резиновых Пластин&r, а позже вы также будете использовать их для других видов пластика.\n\nВы можете подумаете что сможете использовать Экструдер для производства Резиновых Пластин, однако &6Жидкостный Отвердитель&r может ещё много чего, пока Экструдер бесполезен до его &bMV&r версии.", + "quests.low_voltage.cupronickel_ingot.title": "Купроникелевые слитки", + "quests.low_voltage.cupronickel_ingot.subtitle": "Это сплав", + "quests.low_voltage.cupronickel_ingot.desc": "&7Немалая часть прогрессии в GregTech сосредоточена вокруг получения доступа к новым материалам\nкоторые вы используете для улучшение ваших машин или разблокируете более продвинутые компоненты.&r\n\nПервый сплав с которым вы столкнётесь это - &bКупроникель&r — начало долгого приключения.\nЭтот материал используется для улучшения вашей &6Электрической Доменной Печи&r, необходимый шаг для расширения вашего индустриального потенциала.\n\nLuckily, К счастью, этот первый шаг на так уж и сложен: обычная &7LV Печь для Сплавов&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Купрониелевые Катушки позволят Электрической Доменной Печи готовить рецепты требующие до &d1,800K&r. И если спросите нас - то это Очень Горячо.\n\n&6Обучение по Катушкам во вкладке &lGregTech Energy&r&6 - загляните туда чтобы узгать больше!&r", + "quests.low_voltage.lv_ebf.title": "Электрическая Доменная Печь", + "quests.low_voltage.lv_ebf.subtitle": "Одна из ключевых машин в GregTech. Мы любим всё с размахом.", + "quests.low_voltage.lv_ebf.desc.1": "Этот квест объясняет ключевую механику &3Электрической Доменной Печи&r, пока квест над ним разъясняет механики Мультиблочных частей, которые вам тоже понадобятся. Настоятельно рекомендуем вам изучить его тоже.\n\nТак вот, &3Электрическая Доменная Печь&r ваша &eпервая элетрическая многоблочная струтура&r! Поздравляем. Она используется для обработки материалов при высоких температурах.\n\nВам придётся познакомиться с ней поближе для получения &aАлюминия&r и прогрессии в &d&b Эпоху MV&r. Так же она создает &7Сталь&r быстрее чем &6Доменная Печь&r, что значит что вы можете снести свою старую TFC кузню, если захотите конечно.", + "quests.low_voltage.lv_ebf.desc.2": "Надо держать в уме что Электрическая Доменная Печь очень прожорлива. Самый дешевый рецепт потребует от вас &9120 EU/t&r! Это чуть меньше чем 4 &7LV&r Генератора или Альтернатора.\n\nВероятно вы решите построить отдельную линию электропередачи, с отдельными генераторами ближе к Электрической Доменной Печи и Батарейными Буфферами, чтобы её содержать. Также помните о потери энергии в ваших проводах/кабелях.", + "quests.low_voltage.lv_ebf.desc.3": "Ваша Электрическая Доменная Печь быстро мерцает и не получает достаточно энергии? Возможно вы столкнулись с &eпотерей электричества в проводах&r - прочитайте GregTech Energy chapter чтобы узнать больше об этой механике.\n\nУбедитесь что ваши генераторы максимально близко к Электрической Доменной Печи, и вы используете подходящие кабели - мы рекомендуем 2x Оловяные кабели, расположенные как на картинке сверху.", + "quests.low_voltage.multiblock_tech.title": "Мультиблочные Техники", + "quests.low_voltage.multiblock_tech.subtitle": "Ух, мы любим мультиблочные структуры, не так ли?", + "quests.low_voltage.multiblock_tech.desc": "Это &6основа&r того, что вам потребуется для вашей первой &bEBF&r, though it is highly customisable. Remember to use &6Электрической Доменной Печи&r, используйте &6U&r на котроллере и не бойтесь &6нажать левой кнопкой мыши на блоки стуртуры&r чтобы увидеть ваши возможности.\n\nВажное замечание, каждный Энергетический Входной Разъем может принять &a2A&r, что значит, что на на уровне &7LV&r они потребляют до &a64 EU/t&r. С двумя такими, ваша &eЭлектрическая Доменная Печь&r сможет потреблять до &a128 EU/t&r.\n\nДля подробностей об этой механике, обратитесь в &eGregTech Energy Chapter&r, точнее в главу &eSpending Energy&r.\n\nМультиблоки содержат большое разнообразие интересных механик, которые поначалу могут показаться сложными, но не переживайте — вам пока не нужно выполнять ничего особенного. Вы узнаете больше по мере продвижения!", + "quests.low_voltage.multiblock_tech.task.1": "Предметный Входной Люк", + "quests.low_voltage.multiblock_tech.task.2": "Предметный Выходной Люк", + "quests.low_voltage.multiblock_tech.task.3": "Жидкостный Входной Люк", + "quests.low_voltage.lv_superconductor.title": "LV Сверхпроводники", + "quests.low_voltage.lv_superconductor.subtitle": "Ни потерь, ни замыканий", + "quests.low_voltage.lv_superconductor.desc.1": "&6Сверхпроводники&r это особые Провода, доступные для каждой эпохи электричества. У них нет Кабельных аналагов, потому что они и не нужны, так как они абсолютно &6нет потери в энергии&r.\n\nТак же они не нанесут вам урон при касании. Это делает их лучшим выбором для проведения проводов, хоть они и дороже остальных.\n\nЕсли вы ещё не впечатлены, то 1x вариант поддерживает 2 Ампера. Не круто ли это?\n\nОтлично вермя заменить ваши отстойные &aОловяные кабели&r. Переработать их в &3Экстракторе&r чтобы вернуть Олово и Резину потраченные на их создание.", + "quests.low_voltage.lv_superconductor.desc.2": "&l&3Интересный факт:&r&o Ни одна из версий GregTech не имела сверхпроводников &7LV&f до появления Gregicality и GTCEu, однако в некоторых модпаках у кабелей вообще не было потерь энергии.", + "quests.low_voltage.aluminium_dust.title": "Алюминиевая Пыль", + "quests.low_voltage.aluminium_dust.subtitle": "Время для приключений", + "quests.low_voltage.aluminium_dust.desc": "Существует много материалов, которые могут быть электризованы в алюминий, но многие из них станут доступны вам только в &bMV&r. Сапфиры - это единственное искоючение, с помощью некоторых методов рудной обработки, вы получите пыль алюминия в качестве побочного продукта. Загляните в JEI для просмотра ваших опций, и изучите &2Field Guide&r, чтобы знать где искать нужные руды.\n\nПосле того как у вас будет достаточно алюминия, мы рекомендуем сделать Электролизер в качестве вашей первой MV машины, чтобы открыть остальные способы получения алюминия \n\nТеперь всё что вам нужно - это Электрическая Доменная Печь! Вам стоило обзавестись одной, в ином случае пора уже ей заняться!", + "quests.low_voltage.aluminium_ingot.title": "Ваш первый Алюминиевый Слиток", + "quests.low_voltage.aluminium_ingot.subtitle": "Теперь мы в MV, не так ли?", + "quests.low_voltage.aluminium_ingot.desc": "Хммм... а &bMV&r Микросхема у вас есть?\n\n&aАлюминий&r главный игредиент для механизмов &bMV&r эпохи. Готовьтесь сильно в нём нуждаться.\n\nПроцесс плавки Алюминия может быть сокращён примерно на треть с помощью &9Азота&r, который можно получить центрифугированием &9Воздуха&r из &3Воздухозаборника&r.\n\n&6Так же вам понадобятся много MV Микросхем для создания MV машин!&r", + "quests.low_voltage.mv_hull.title": "Ваша третья оболочка машины", + "quests.low_voltage.mv_hull.subtitle": "Пока всё идёт хорошо, осталось ещё 7!", + "quests.low_voltage.mv_hull.desc1": "Хорошая работа, Теперь у вас есть &bMV Корпус Машины&r, ваша первая &bMV Микросхема&r и ваш первый &6Сборщик Микросхем&r.\n\nЭто и есть суть &6GregTech&r. Каждую новую эпоху вы будете создавать новые &6машины&r используя новые &6материалы&r and &6химикаты&r. Вам будет &5Тааак Весело&r, мы даже завидуем вам!", + "quests.low_voltage.mv_hull.desc2": "Перед тем как продвигаться дальше в &bMV&r, помните что &6TFG&r вы можете использовать &6Create&r чтобы закрепить свою инфраструктуру особо не полагаясь на GregTech. Алюминиевые валы и шестерёнки выдерживают нагрузку в 4 раза больше чем их стальные предшественники, так что с ними вы можете ускорить свои машины!", "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!", @@ -2891,143 +2892,144 @@ "quests.medium_voltage.lsb.title": "Getting very steamy", "quests.medium_voltage.lsb.subtitle": "If you have unlimited fuel, it can still be good", "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d1800 mB/t of Steam&r.\n\nWe'd recommend you try other power options at this point.", - "quests.metal_age": "Металлургический век", + "parts.lang.quests.7": "metal_age ", + "quests.metal_age": "Век металлургии", "quests.metal_age.subtitle": "Ваши первые технологические достижения.", - "quests.metal_age.weld_bronze_ingots.title": "Welding Bronze", - "quests.metal_age.weld_bronze_ingots.subtitle": "I told you to get used to it", - "quests.metal_age.weld_bronze_ingots.desc": "Obtain at least 14 Ingots of any Bronze type, then weld them together in the Copper Anvil.\n\nThe Tier 2 Anvil can be made from Bismuth Bronze, Bronze or Black Bronze, but not a mixture of the three.", - "quests.metal_age.anvil_recycling.title": "Anvil Recycling?", - "quests.metal_age.anvil_recycling.subtitle": "Because 14 ingots is a lot now", - "quests.metal_age.anvil_recycling.desc": "Once you craft the next tier of Anvil (such as going from Copper to Bronze, or Bronze to Wrought Iron), the previous tier basically becomes useless.\n\nHowever, since it's made out of metal, you &ocan and should&r melt the previous tier of Anvil back into its liquid metal form!\nGrab a Vessel and place it on the right hand side of the Charcoal Forge interface, then place the Anvil and slowly heat it until it reaches the melting temperature. The molten metal will be deposited inside the Vessel, then you can cast it back into ingots or whatever you like!", - "quests.metal_age.bronze_anvil.title": "T2 Anvil: Bronze", - "quests.metal_age.bronze_anvil.subtitle": "Basic mechanical power starts here", - "quests.metal_age.bronze_anvil.desc": "To work metal into more than just double ingots, you'll need to use an anvil of the same tier or better. Working on an anvil can be a little bit complicated, but there's an entry in the TFG Tips section of the field guide that goes into more detail.\n\nBronze also marks the start of automation, where you'll begin to harness mechanical power!", - "quests.metal_age.bronze_goodies.title": "Bronze Level Mechanical Power", - "quests.metal_age.bronze_goodies.subtitle": "Oh No, It's Create Again", - "quests.metal_age.bronze_goodies.desc": "Bronze is a sturdy enough material to enable very basic mechanical power.\n\nCheck the &oEarly Automation&r quest chapter to get started!", - "quests.metal_age.copper_diving.title": "Copper Diving Equipment", - "quests.metal_age.copper_diving.subtitle": "If mining wasn't dangerous enough", - "quests.metal_age.copper_diving.desc": "Struggling with aquifers in your ore veins? You can craft a set of copper diving equipment, with an air supply that can last for 20 minutes!", - "quests.metal_age.bloomery.title": "Bloomery", - "quests.metal_age.bloomery.subtitle": "Required if you seek the Iron Age.", - "quests.metal_age.bloomery.desc": "The Bloomery is a Multiblock from TerraFirmaCraft that allows you to create Wrought Iron. Melting iron in a forge will produce Cast Iron, which is brittle and nowhere near as strong or durable as Wrought Iron.\n\nThe Bloomery is expensive, so it will be worth investing some time into setting up automatic plate production and ore processing.\n\nThe Field Guide contains a detailed entry on how the Bloomery works and the correct ratios of iron and charcoal that it needs.", - "quests.metal_age.mining.title": "Mining in the Metallurgy Age", + "quests.metal_age.weld_bronze_ingots.title": "Сваривание бронзы", + "quests.metal_age.weld_bronze_ingots.subtitle": "Я же тебе говорил, привыкай к этому", + "quests.metal_age.weld_bronze_ingots.desc": "Получите не менее 14 слитков любого типа бронзы, затем сварите их вместе в медной наковальне.\n\nНаковальня 2-го уровня может быть изготовлена из висмутовой бронзы, бронзы или черной бронзы, но не из смеси этих трех.", + "quests.metal_age.anvil_recycling.title": "Переработка наковальни?", + "quests.metal_age.anvil_recycling.subtitle": "Потому что 14 слитков — это сейчас много", + "quests.metal_age.anvil_recycling.desc": "Как только вы создадите следующий уровень наковальни (например, перейдя от меди к бронзе или от бронзы к кованому железу), предыдущий уровень становится практически бесполезным. Однако, поскольку она сделан из металла, &oвы можете и должны&r переплавить предыдущий уровень наковальни обратно в жидкий металл! Возьмите сосуд и поместите его в правую часть интерфейса угольной кузницы, затем поместите наковальню и медленно нагревайте ее, пока она не достигнет температуры плавления. Расплавленный металл будет оседать внутри сосуда, после чего вы сможете перелить его обратно в слитки или что-либо другое по вашему усмотрению!", + "quests.metal_age.bronze_anvil.title": "T2 Наковальня: Бронза", + "quests.metal_age.bronze_anvil.subtitle": "Отсюда начинается эра механизмов", + "quests.metal_age.bronze_anvil.desc": "Чтобы обрабатывать металл в нечто большее, чем просто двойные слитки, вам понадобится наковальня того же уровня или выше. Работа на наковальне может быть немного сложной, но в разделе \"Советы и информация TFG\" полевого руководства есть статья, в которой это описано более подробно.\n\nБронза также открывает эру ранней автоматизации, когда вы начнете использовать механическую энергию!", + "quests.metal_age.bronze_goodies.title": "Механизмы бронзового уровня", + "quests.metal_age.bronze_goodies.subtitle": "О нет, только не Create снова", + "quests.metal_age.bronze_goodies.desc": "Бронза — достаточно прочный материал для создания простейших механизмов.\n\nОзнакомьтесь с главой &oРанняя автоматизация&r, чтобы начать!", + "quests.metal_age.copper_diving.title": "Медное водолазное снаряжение", + "quests.metal_age.copper_diving.subtitle": "Как будто опасностей в шахтах было мало", + "quests.metal_age.copper_diving.desc": "Замучились с водоносными слоями рудных жил? Вы можете изготовить набор медного водолазного снаряжения с запасом воздуха на 20 минут!", + "quests.metal_age.bloomery.title": "Сыродутный горн", + "quests.metal_age.bloomery.subtitle": "Необходимо, если ты стремишься к Железному веку.", + "quests.metal_age.bloomery.desc": "Сыродутный горн — это мультиблок из TerraFirmaCraft, который позволяет создавать кованое железо. При плавлении железа в кузнице получается серый чугун, который является хрупким и далеко не таким прочным и долговечным, как кованое железо. \n\nСыродутный горн стоит дорого, поэтому стоит потратить некоторое время на настройку автоматического производства пластин и переработки руды. \n\nВ полевом руководстве содержится подробная информация о том, как работает сыродутный горн, и о правильных пропорциях железа и древесного угля, которые для этого необходимы.", + "quests.metal_age.mining.title": "Горная добыча в век металлургии", "quests.metal_age.mining.subtitle": "ROCK AND STONE!", - "quests.metal_age.mining.desc": "Extracting valuable resources from the ground is a major part of this modpack, and the Metallurgy Age is no exception! You will consume a &llot&r of metal to progress, and one way to mine a lot of it at once is with a Mining Hammer! This is a tool that can mine blocks in a 3x3x1 area at the cost of a slower mining speed. You can also hold sneak to break single blocks at a time.", - "quests.metal_age.bellows.title": "Bellows", - "quests.metal_age.bellows.subtitle": "Higher temperatures can be reached, at a small price.", - "quests.metal_age.bellows.desc": "The Bellows is a device that can force extra air into a fire or forge in front of it, allowing the heat produced by the fuel inside to reach higher temperatures than usual, at the cost of fuel duration.\n\nThese higher temperatures are required to fire pottery with charcoal or melt certain metals.\n\nCoal and Coke can also reach higher temperatures without it.", - "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.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 wood treating.\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.", - "quests.metal_age.coke_oven.desc.2": "Coke Ovens can be fully automated using a Coke Oven Hatch. The Hatch is placed on the sides of the Oven and work as both Inputs and Outputs for both Items and Liquids.\n\nYou can easly create a simple, one way Coke Oven by using a Crate for the input, a Chest for the output, and a Drum, Barrel, or Large Wooden Tank to collect the Creosote. Unlike Chests, Crates are able to store large objects such as Logs. You can also sneak and right-click GregTech pipes with a wrench to make them one-way.", - "quests.metal_age.wrought_iron_goodies.title": "Wrought Iron level Mechanical Power", - "quests.metal_age.wrought_iron_goodies.subtitle": "What's this \"Andesite Alloy\" you speak of?", - "quests.metal_age.wrought_iron_goodies.desc": "With Wrought Iron you've unlocked access to the Metal Casing, the foundation of many of Create's mechanical blocks such as Gearboxes. Some of the more advanced ones will require Steel, but it's possible to build a fully automatic tree and crop farm at this point.\n\nCreosote is used to create Treated Wood Planks, which can be crafted into Waterwheels and Windmills, a significant improvement over animal power.", - "quests.metal_age.fire_clay_ingredients.title": "Fire Clay Ingredients", - "quests.metal_age.fire_clay_ingredients.subtitle": "The TerraFirmaCraft Rite of Passage.", - "quests.metal_age.fire_clay_ingredients.desc": "Fire Clay is a special clay made out of Kaolinite, Graphite and regular Clay, which is especially resistant to high temperatures. Its two main uses are the Crucible, which works as an improved version of a Vessel for Metal Smelting and Alloying, and the Blast Furance, which is required for the creation of the next anvil and metal tier, Steel.\n\nYou'll likely need to travel far, far away from your base to obtain both Graphite and Kaolin Clay, so preparation is key!", - "quests.metal_age.overworld_kaolin.title": "Kaolin Source: Overworld", - "quests.metal_age.overworld_kaolin.subtitle": "Welcome to the Jungle", - "quests.metal_age.overworld_kaolin.desc": "Kaolin Clay can be found exclusively in areas with the combination of high altitude, temperature (at least 18°C), and humidity (at least 300mm rainfall). A full list of Kaolin Clay's spawn requirements and tips can be found in the Field Guide.\n\nYou'll very likely need to travel very, VERY far towards the South East, likely across the ocean. Prepare yourself with an Iron Flask, large quantities of food, some sort of watercraft like a Canoe, Rowboat or Kayak, and extra portable storage for bringing home as much Kaolin as you can.\n\nThere are quests in TerraFirmaGreg Tips that go over portable storage and watercrafts.", - "quests.metal_age.beneath_kaolin.title": "Kaolin Source: The Beneath", - "quests.metal_age.beneath_kaolin.subtitle": "To the Depths", - "quests.metal_age.beneath_kaolin.desc": "Deep, DEEP underground, past the bedrock, you'll find The Beneath, a complex network of caves filled with dangers of all kinds around every corner. In the upper areas, you may be able to find the Lush Hollow, a small green oasis in the depths where Kaolin Clay can spawn. A particular monster may be guarding it, however...!\n\nWhile you're down here, you could also look for Anthracite, an excellent fuel for making steel.\n\nSurviving in the Beneath is difficult, so check the TerraFirmaGreg Tips section of this questbook and the Field Guide for more information.", - "quests.metal_age.beneath_kaolin.task": "Traverse the Overworld Bedrock and reach The Beneath", - "quests.metal_age.overworld_graphite.title": "Graphite Source: Overworld", - "quests.metal_age.overworld_graphite.subtitle": "You mean I can't just rely on surface indicators?", - "quests.metal_age.overworld_graphite.desc": "Graphite spawns exclusively in flat, wide discs deep underground.\n\nYou will have to go exploring underground through the caves to try and spot some! Graphite veins can spawn in any stone type and also include Coal and Diamond. However, due to the depth of the veins, indicators likely will not appear on the surface. Tools such as a metal Shield, Digger Helmet, Propick, and Spyglass can also prove to be very useful!", - "quests.metal_age.beneath_graphite.title": "Graphite Source: The Beneath", - "quests.metal_age.beneath_graphite.subtitle": "To the Depths", - "quests.metal_age.beneath_graphite.desc": "Deep, DEEP underground, past the bedrock, you'll find The Beneath, a complex network of caves filled with dangers of all kinds around every corner. Down in the Beneath you can find huge, tall Graphite veins, but a particular monster may be guarding it...!\n\nWhile you're down here, you could also look for Anthracite, an excellent fuel for making steel.\n\nSurviving in the Beneath is difficult, so check the TerraFirmaGreg Tips section of this questbook and the Field Guide for more information.", - "quests.metal_age.beneath_graphite.task": "Traverse the Overworld Bedrock and reach The Beneath", - "quests.metal_age.kaolin_clay.title": "Kaolin Clay", - "quests.metal_age.kaolin_clay.subtitle": "Kaolin Trek: The Next Generation", - "quests.metal_age.kaolin_clay.desc": "Once you find Kaolin Clay, you should bring as much back as you can possibly carry! Unfortunately, only 20 percent of it will successfully cook into Kaolinite Powder, so it's recommended to bake it in situ with pit kilns, to save inventory space.\n\nAfter you craft the Crucible and the Blast Furnace, you won't need much more of it, but it's still a good idea to bring home more than you think you'll need, to avoid a repeat journey.\n\nP.S.: If you've found blood lilies but no clay, try digging down a little further! Sometimes it spawns a little underground.", - "quests.metal_age.graphite.title": "Graphite", - "quests.metal_age.graphite.subtitle": "Pencils do not exist", - "quests.metal_age.graphite.desc": "Once you find graphite, you should bring back as much as you can! Though you won't need as much of it as Kaolin clay.\nGraphite veins are also rich in Coal and Diamonds, and you'll want the coal for making Steel soon.", - "quests.metal_age.graphite.task": "Any form of Graphite", - "quests.metal_age.fire_clay.title": "Fire Clay", - "quests.metal_age.fire_clay.subtitle": "At last", - "quests.metal_age.fire_clay.desc": "Heat up Kaolin Clay to get Kaolinite Powder. You can use a Forge to heat them individually, but cooking big batches inside small vessels in a Pit Kiln may be faster.\n\nFor the Graphite, process the ore as normal, then crush the Graphite Dust again to get Graphite Powder.\n\nFinally, combine 4 Graphite Powder, 4 Kaolinite Powder, and 1 Clay to create Fire Clay.", - "quests.metal_age.fire_clay_products.title": "Fire Clay products", - "quests.metal_age.fire_clay_products.subtitle": "Extremely Heat Resistant Clay", - "quests.metal_age.fire_clay_products.desc": "Just like regular Clay, Fire Clay can be Knapped to create things that you'll then need to fire. Most importantly, Fire Clay is used to create the Crucible and Fire Clay Bricks, both of which are required for the Blast Furnace.\n\nYou'll also be able to create a Mold Table and Casting Channels, which lets you cast your metal from the crucible into multiple molds at once.\n\nLastly, there's Fire Ingot Molds, which only have a 1 percent chance of breaking instead of regular clay's 10 percent.", - "quests.metal_age.crucible.title": "Crucible", - "quests.metal_age.crucible.subtitle": "Melt metals like a pro", - "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4032mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", - "quests.metal_age.fire_bricks.title": "Fire Bricks", - "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", - "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Sheets around the Fire Bricks, or use Blast Furnace Insulation", - "quests.metal_age.fully_stacked_blast_furnace.title": "Fully Stacked Blast Furnace", - "quests.metal_age.fully_stacked_blast_furnace.subtitle": "The completed Blast Furnace", - "quests.metal_age.fully_stacked_blast_furnace.desc": "A full size Blast Furnace is able to melt and process large amounts of iron at once. It's a good idea to make it bigger when you can, because you'll need a lot of steel for the future.\n\nAfter you've got your first Steam Alloy Smelter, you'll be able to create more Fire Bricks more cheaply.", - "quests.metal_age.blast_furnace_fuel.title": "Fuel for the Blast Furnace", - "quests.metal_age.blast_furnace_fuel.subtitle": "Hope you followed the tips in the previous quests...", - "quests.metal_age.blast_furance_fuel.desc": "Regular Charcoal is not hot enough to be able to create Steel. You will need either Coke or Anthracite.\n\nCoke can be created by putting Coal into a Coke Oven, while Anthracite can be used as-is after being dug up from the Beneath.", - "quests.metal_age.blast_furnace.title": "Blast Furnace", - "quests.metal_age.blast_furnace.subtitle": "Then I started Blastin'", - "quests.metal_age.blast_furnace.desc": "The Blast Furnace is a multiblock structure that allows you to create Pig Iron. Placing a combination of Iron, Flux and fuel (see the adjacent quest) inside the Blast Furnace produces Pig Iron, which can be worked into Steel.\n\nIn order for the Blast Furnace to reach its required high temperatures, it will need its own Bellows, used to force air through a Tuyere which you place inside the blast furnace.\n\nThe Field Guide contains an entry on how the Blast Furnace works and how to build one.", - "quests.metal_age.steel_anvil.title": "T4 Anvil: Steel", - "quests.metal_age.steel_anvil.subtitle": "A huge leap from wrought iron", - "quests.metal_age.steel_anvil.desc": "With the Steel Anvil, you'll be able to work Steel Ingots into different forms.\n\nSteel tools and equipment have a significant boost over their bronze and wrought iron counterparts, so they're worth making if your existing ones are about to break. You'll be needing to create a lot of alloys soon, so some new mining equipment would be a wise investment.", - "quests.metal_age.steel_goodies.title": "Steel level Mechanical Power", - "quests.metal_age.steel_goodies.subtitle": "Blow, Crush, and Pipe", - "quests.metal_age.steel_goodies.desc": "Steel unlocks a new Greate tier, with increased maximum stress capacity! You can now also make things like the Encased Fan, which can automate ore washing, and the Mechanical Pump, which gives you much more access to fluid logistics.\n\nThe Mechanical Pump is especially useful, as with some smarts, you can easily automate the Blast Furnace.\n\nTo power these, you also gain access to the Steam Engine, allowing you to convert fuel and water into huge amounts of mechanical power!", - "quests.metal_age.weak_steel.title": "Weak Steel Ingredients", - "quests.metal_age.weak_steel.subtitle": "Hope you like math", - "quests.metal_age.weak_steel.desc": "Weak Steel is one part of the necessary metals to create Black Steel. You can alloy it with 2 parts Steel, 1 part Nickel and 1 part Black Bronze.\n\nYou can check the liquid weak steel's recipe for more precise alloying percentage rates.", - "quests.metal_age.weak_steel.task1": "1 Part Nickel", - "quests.metal_age.weak_steel.task2": "2 Parts Steel", - "quests.metal_age.weak_steel.task3": "1 Part Black Bronze", - "quests.metal_age.highcarb_black_steel.title": "Black Steel Ingredients", - "quests.metal_age.highcarb_black_steel.subtitle": "Conservation of matter does not apply", - "quests.metal_age.highcarb_black_steel.desc": "The final two anvils are made out of complex alloys that will require a lot of metal to be created. Weak Steel and Pig Iron can be welded to create High Carbon Black Steel, which can then be worked on an anvil into Black Steel.", - "quests.metal_age.black_steel_anvil.title": "T5 Anvil: Black Steel", - "quests.metal_age.black_steel_anvil.subtitle": "Steam power is within your grasp", - "quests.metal_age.black_steel_anvil.desc": "With the Black Steel Anvil you'll now be able to work Black Steel Ingots into different items.\n\nYou've also now opened up a massive new section in the Early Automation chapter related to high pressure Steam Power!\n\nFrom here, you can either dive straight into industrialization or finish up the last tier of anvils if you'd like. You can't avoid colored steel forever, though!", - "quests.metal_age.black_steel_goodies.title": "Black Steel level Mechanical Power", - "quests.metal_age.black_steel_goodies.subtitle": "The Industrial Revolution and its consequences", - "quests.metal_age.black_steel_goodies.desc": "With Black Steel comes high pressure Steam Power! Stronger steel allows for more potent and compact steam boilers, fuelling new machines to craft your first electronics.", - "quests.metal_age.red_blu.title": "Red and Blue Steel", - "quests.metal_age.red_blu.subtitle": "Some of the oldest modded Minecraft fantasy steels", - "quests.metal_age.red_blu.desc": "The final tier of anvil can be made out of either Red or Blue Steel. Both are complex alloys of Steel and multiple different metals.\n\nBlue Steel is prized for its exceptional heat resistance and tool speed, while Red Steel boasts huge amounts of strength and durability.", - "quests.metal_age.weak_red_steel.title": "Weak Red Steel Ingredients", - "quests.metal_age.weak_red_steel.subtitle": "This is getting a little ridiculous", - "quests.metal_age.weak_red_steel.desc": "Like before, Weak Red Steel is the first step of Red Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Brass, and 1 part Rose Gold.\n\nYou can check the liquid Weak Red Steel's recipe for more precise alloying percentage rates.", - "quests.metal_age.weak_red_steel.steel": "2 Parts Steel", - "quests.metal_age.weak_red_steel.black_steel": "4 Parts Black Steel", - "quests.metal_age.weak_red_steel.brass": "1 Part Brass", - "quests.metal_age.weak_red_steel.rose_gold": "1 Part Rose Gold", - "quests.metal_age.weak_blu_steel.title": "Weak Blue Steel Ingredients", - "quests.metal_age.weak_blu_steel.subtitle": "This is getting out of hand.", - "quests.metal_age.weak_blu_steel.desc": "Like before, Weak Blue Steel is the first step of Blue Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Bismuth Bronze, and 1 part Sterling Silver.\n\nYou can check the liquid Weak Blue Steel's recipe for more precise alloying percentage rates.", - "quests.metal_age.weak_blue_steel.steel": "2 Parts Steel", - "quests.metal_age.weak_blue_steel.black_steel": "4 Parts Black Steel", - "quests.metal_age.weak_blue_steel.sterling_silver": "1 Part Sterling Silver", - "quests.metal_age.weak_blue_steel.bismuth_bronze": "1 Part Bismuth Bronze", - "quests.metal_age.highcarb_red_steel.title": "Red Steel Ingredients", - "quests.metal_age.highcarb_red_steel.subtitle": "Could deleting matter like this power a nuclear bomb?", - "quests.metal_age.highcarb_red_steel.desc": "Red Steel first starts as High Carbon Red Steel, which is made by welding Weak Red Steel and Black Steel. It needs to be worked on the Anvil to turn it into Red Steel", - "quests.metal_age.highcarb_blu_steel.title": "Blue Steel Ingredients", - "quests.metal_age.highcarb_blu_steel.subtitle": "Lavoisier is rolling in his grave", - "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, which is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel", - "quests.metal_age.redblu_anvil.title": "T6 Anvil: Red or Blue Steel", - "quests.metal_age.redblu_anvil.subtitle": "It's over", - "quests.metal_age.redblu_anvil.desc": "The final tier of Anvil! With the Tier 6 Anvil you'll be able to work both Red and Blue Steel Ingots into different items.\n\nThis marks the end of TerraFirmaCraft's progression. Now it's time to finish the Industrial Age and create your very first Low Voltage circuitry.", - "quests.metal_age.red_steel_flask.title": "Red Steel Flask", - "quests.metal_age.red_steel_flask.subtitle": "This got nothing on the Iron Flask", - "quests.metal_age.red_steel_flask.desc": "The Red Steel Flask is the best Flask available. It may hold the same amount of liquid as an Iron Flask, but the Red Steel Flask never breaks.", - "quests.metal_age.redblu_buckets.title": "Bucket Components", - "quests.metal_age.redblu_buckets.subtitle": "Bucket Fusion Reactor", - "quests.metal_age.redblu_buckets.desc": "The final task in the Metallurgy Age is creating a Bucket. Unlike the wooden bucket and other fluid containers you've been using until now, the Bucket can be used to carry Lava and move around source blocks of other fluids.", - "quests.metal_age.this_is_a_bucket.title": "This... is a Bucket.", - "quests.metal_age.this_is_a_bucket.subtitle": "Dear God...", - "quests.metal_age.this_is_a_bucket.desc": "Congratulations on crafting the Bucket. The Metallurgy Age is officially over.\n\nGo and start working on those Low Voltage components!", + "quests.metal_age.mining.desc": "Добыча ценных ресурсов из земли является важной частью этого модпака, и век металлургии не является исключением! Для прогресса вам понадобится &lмного&r металла, и один из способов добыть его сразу много — это использовать шахтерский молот! Это инструмент, который может добывать блоки в области 3x3x1 за счет более медленной скорости добычи. Вы также можете удерживать кнопку \"красться\", чтобы разбивать по одному блоку за раз.", + "quests.metal_age.bellows.title": "Кузнечные меха", + "quests.metal_age.bellows.subtitle": "Более высокие температуры — за небольшую плату.", + "quests.metal_age.bellows.desc": "Кузнечные меха — это устройство, которое может нагнетать дополнительный воздух в огонь или кузницу перед собой, позволяя теплу, выделяемому топливом внутри, достигать более высоких температур, чем обычно, но за счет сокращения времени горения топлива.\n\nЭти более высокие температуры необходимы для обжига керамики с помощью древесного угля или плавления определенных металлов.\n\nУголь и коксовый уголь могут давать высокую температуру и без него.", + "quests.metal_age.wrought_iron_anvil.title": "T3 Наковальня: Кованое железо", + "quests.metal_age.wrought_iron_anvil.subtitle": "Водяные колеса, ветряные мельницы и больше Greate", + "quests.metal_age.wrought_iron_anvil.desc": "С помощью наковальни из кованого железа вы сможете обрабатывать слитки кованого железа в различные предметы, такие как пластины, головки инструментов и т. д.\n\nИнструменты и доспехи из кованого железа не сильно превосходят бронзовые, но они гораздо более прочные.\n\nСоздание следующей наковальни будет значительно сложнее, поэтому сейчас хороший момент, чтобы остановиться и изучить некоторые другие возможности этого модпака.", + "quests.metal_age.coke_oven.title": "Коксовая печь", + "quests.metal_age.coke_oven.subtitle": "Наконец-то больше никаких угольных ям", + "quests.metal_age.coke_oven.desc.1": "Коксовая печь — ваш первый мультиблок GregTech! Она позволяет автоматически создавать древесный уголь и другие мощные горючие материалы. Коксовая печь сжигает одно бревно, превращая его в один древесный уголь и 250 mb креозота, который является важным химическим веществом, используемым для обработки древесины.\n\nЕсли вы создадите блок коксовой печи и нажмете на него клавишу JEI \"Отобразить применения\" (по умолчанию \"U»\"), вы увидите вкладку \"Информация о мультиблоке\", которая покажет вам, как построить коксовую печь в мире.\n\nВы также можете разместить блок коксовой печи в мире, зажать кнопку \"Красться\" и взаимодействовать с ней {блоком коксовой печи}, чтобы создать голограмму недостающих блоков.", + "quests.metal_age.coke_oven.desc.2": "Коксовые печи могут быть полностью автоматизированы с помощью люка коксовой печи. Люк размещается по бокам печи и служит как входом, так и выходом для предметов и жидкостей.\n\nВы можете легко создать простую одностороннюю коксовую печь, используя ящик для входа, сундук для выхода и бочку или кег для сбора креозота. В отличие от сундуков, ящики могут хранить крупные предметы, такие как бревна. Вы также можете прокрасться и щелкнуть правой кнопкой мыши по трубам GregTech с помощью гаечного ключа, чтобы сделать их односторонними.", + "quests.metal_age.wrought_iron_goodies.title": "Механизмы уровня кованого железа", + "quests.metal_age.wrought_iron_goodies.subtitle": "Что за \"андезитовый сплав\" ты упомянул?", + "quests.metal_age.wrought_iron_goodies.desc": "С кованым железом вы получаете доступ к металлическому корпусу, основе многих механических блоков Create, таких как коробки передач. Для некоторых более продвинутых потребуется сталь, но на данном этапе можно построить полностью автоматическую ферму деревьев и сельскохозяйственных культур.\n\nКреозот используется для создания обработанных деревянных досок, из которых можно изготовить водяные колеса и ветряные мельницы, что является значительным улучшением по сравнению с использованием силы животных.", + "quests.metal_age.fire_clay_ingredients.title": "Ингредиенты огнеупорной глины", + "quests.metal_age.fire_clay_ingredients.subtitle": "Испытание TerraFirmaCraft.", + "quests.metal_age.fire_clay_ingredients.desc": "Огнеупорная глина — это особый вид глины, состоящий из каолинита, графита и обычной глины, которая обладает особой устойчивостью к высоким температурам. Ее два основных применения — это тигель, который является улучшенной версией сосуда для плавки и создания сплавов, и доменная печь (сыродутная), необходимая для изготовления следующего уровня наковальни и металла — стали.\n\nСкорее всего, вам придется отправиться очень далеко от своей базы, чтобы добыть и графит, и каолинитовую глину, поэтому подготовка — это ключ к успеху!", + "quests.metal_age.overworld_kaolin.title": "Источник каолинита: Верхний мир", + "quests.metal_age.overworld_kaolin.subtitle": "Уплыли и приплыли, путешествие на 20 минут", + "quests.metal_age.overworld_kaolin.desc": "Каолинитовая глина встречается исключительно в районах с большой высотой над уровнем моря, температурой (не менее 18 °C) и влажностью (не менее 300 мм осадков). Полный список требований к появлению каолинитовой глины и советы можно найти в полевом руководстве.\n\nСкорее всего, вам придется отправиться очень, ОЧЕНЬ далеко на юго-восток, вероятно, через океан. Запаситесь железной флягой, большим количеством еды, каким-нибудь плавательным средством, таким как каноэ, гребная лодка или каяк, а также дополнительным переносным хранилищем, чтобы привезти домой как можно больше каолинита.\n\nВ Советы TerraFirmaGreg есть квесты, посвященные переносным хранилищам и плавательным средствам.", + "quests.metal_age.beneath_kaolin.title": "Источник каолинита: Бездна", + "quests.metal_age.beneath_kaolin.subtitle": "В Бездну", + "quests.metal_age.beneath_kaolin.desc": "Глубоко, ОЧЕНЬ глубоко под землей, за бедроком, вы найдете Безду — запутанная сеть пещер, где на каждом шагу подстерегают опасности. В верхних слоях может встретиться Пышная лосина — небольшой зеленый оазис в глубинах, где иногда образуется каолинитовая глина. Однако, ее может охранять особое чудовище...!\n\nПока вы здесь, можно поискать антрацит — превосходное топливо для производства стали.\n\nВыживание в Бездне — задача не из легких, поэтому ознакомьтесь с разделом \"Советы TerraFirmaGreg\" этого квестбука и с Полевым руководством для дополнительной информации.", + "quests.metal_age.beneath_kaolin.task": "Преодолейте бедрок Верхнего мира и достигните Бездны", + "quests.metal_age.overworld_graphite.title": "Источник графита: Верхний мир", + "quests.metal_age.overworld_graphite.subtitle": "Значит, нельзя просто взять и соориентироваться по поверхностным индикаторам?", + "quests.metal_age.overworld_graphite.desc": "Графит появляется исключительно в виде плоских, широких дисков глубоко под землей.\n\nВам придется исследовать подземные пещеры, чтобы найти его! Жилы графита могут появляться в любом типе камня, а также рядом с углем и алмазами. Однако, из-за глубины жил, индикаторы, вероятно, не будут видны на поверхности. Такие инструменты, как металлический щит, шахтерская каска, геологический молоток и подзорная труба, также могут оказаться очень полезными!", + "quests.metal_age.beneath_graphite.title": "Источник графита: Бездна", + "quests.metal_age.beneath_graphite.subtitle": "В Бездну", + "quests.metal_age.beneath_graphite.desc": "Глубоко, ОЧЕНЬ глубоко под землей, за бедроком, вы найдете Бездну — запутанная сеть пещер, где на каждом шагу подстерегают опасности. В низу Бездны можно найти огромные, высокие залежи графита, но их может охранять особое чудовище...!\n\nПока вы здесь, можно поискать антрацит — превосходное топливо для производства стали.\n\nВыживание в Бездне — задача не из легких, поэтому ознакомьтесь с разделом \"Советы TerraFirmaGreg\" этого квестбука и с Полевым руководством для дополнительной информации.", + "quests.metal_age.beneath_graphite.task": "Преодолейте бедрок Верхнего мира и достигните Бездны", + "quests.metal_age.kaolin_clay.title": "Каолинитовая глина", + "quests.metal_age.kaolin_clay.subtitle": "Уплыли и приплыли, путешествие на 20 минут", + "quests.metal_age.kaolin_clay.desc": "Как только вы найдете каолинитовую глину, вам следует принести столько, сколько сможете унести! К сожалению, только 20 процентов глины удастся превратить в каолинитовый порошок, поэтому рекомендуется обжигать ее сразу на месте в земляных печах, чтобы сэкономить место в инвентаре.\n\nПосле создания тигля и доменной печи (сыродутной), вам не понадобится много глины, но все же лучше принести домой больше, чем вам кажется необходимым, чтобы избежать повторной поездки.\n\nP.S.: Если вы нашли кровавые лилии, но не нашли глину, попробуйте копать немного глубже! Иногда она появляется немного под землей.", + "quests.metal_age.graphite.title": "Графит", + "quests.metal_age.graphite.subtitle": "Карандашей не существует", + "quests.metal_age.graphite.desc": "Обнаружив графит, постарайтесь добыть как можно больше! Хотя он и не потребуется в таких количествах, как каолинитовая глина.\nВ жилах графита также много угля и алмазов, а уголь вам понадобится для производства стали.", + "quests.metal_age.graphite.task": "Любая форма гранита", + "quests.metal_age.fire_clay.title": "Огнеупорная глина", + "quests.metal_age.fire_clay.subtitle": "Наконец-то", + "quests.metal_age.fire_clay.desc": "Нагрейте каолинитовую глину, чтобы получить каолинитовый порошок. Вы можете использовать кузницу, чтобы нагреть их по отдельности, но обжиг больших партий в земляной печи будет быстрее.\n\nДля графита: обработайте его как обычную руду, затем снова измельчите графитовую пыль, чтобы получить графитовый порошок.\n\nНаконец, смешайте 4 графитового порошка, 4 каолинитового порошка и 1 комок обычной глины, чтобы создать огнеупорную глину.", + "quests.metal_age.fire_clay_products.title": "Изделия из огнеупорной глины", + "quests.metal_age.fire_clay_products.subtitle": "Чрезвычайно термостойкая глина", + "quests.metal_age.fire_clay_products.desc": "Как и обычная глина, огнеупорная глина может быть высечена для создания предметов, которые затем необходимо обжечь. Наиболее важно то, что огнеупорная глина используется для создания тигля и огнеупорных кирпичей, которые необходимы для доменной печи (сыродутной).\n\nВы также сможете создать форму для литья и литейные каналы, которые позволят вам отливать металл из тигля сразу в несколько форм.\n\nНаконец, есть формы для литья слитков, которые имеют только 1 процент вероятности поломки вместо целых 10 процентов у обычной глины.", + "quests.metal_age.crucible.title": "Тигель", + "quests.metal_age.crucible.subtitle": "Плавьте металлы как профессионал", + "quests.metal_age.crucible.desc": "Тигель устанавливается сверху кузницы. Он имеет 9 ячеек инвентаря и вмещает 4032 mB жидкости, а также оснащен интерфейсом для проверки соотношения сплавов. При разрушении он сохраняет свое содержимое. Он также может собирать белый чугун, если размещен под доменной печью.\n\nИмейте в виду, что тигель БУДЕТ пытаться сплавить все, что находится внутри него — он не разделяет металлы, как плавильня TC, — поэтому рекомендуется держать его в чистоте, когда вы его не используете.", + "quests.metal_age.fire_bricks.title": "Огнеупорные кирпичи", + "quests.metal_age.fire_bricks.subtitle": "Для доменной печи", + "quests.metal_age.fire_bricks.desc": "Огнеупорные кирпичи используются при строительстве доменной печи. Для изготовления печи потребуется как минимум 4 блока кирпича.\n\nКирпичи необходимо изолировать, чтобы процесс выплавки Стали был эффективным. Вы можете либо разместить 3 пластины кованого железа вокруг каждого огнеупорного кирпича, либо использовать изоляцию для доменной печи.", + "quests.metal_age.fully_stacked_blast_furnace.title": "Многоуровневая доменная печь", + "quests.metal_age.fully_stacked_blast_furnace.subtitle": "Завершенная доменная печь", + "quests.metal_age.fully_stacked_blast_furnace.desc": "Полноразмерная доменная печь способна плавить и перерабатывать большие объемы железа одновременно. Рекомендуется увеличить ее размер, когда это возможно, поскольку в будущем вам понадобится много стали.\n\nПосле создания первой паровой печи для сплавов вы сможете производить больше огнеупорных кирпичей с меньшими затратами.", + "quests.metal_age.blast_furnace_fuel.title": "Топливо для доменной печи", + "quests.metal_age.blast_furnace_fuel.subtitle": "Надеюсь, ты следовал советам из предыдущих квестов...", + "quests.metal_age.blast_furance_fuel.desc": "Обычный древесный уголь недостаточно горяч для производства стали. Вам понадобится либо коксовый уголь, либо антрацит.\n\nКоксовый уголь можно получить, поместив уголь в коксовую печь, а антрацит можно использовать в том виде, в котором он был добыт из Бездны.", + "quests.metal_age.blast_furnace.title": "Доменная печь", + "quests.metal_age.blast_furnace.subtitle": "Затем я начал палить'", + "quests.metal_age.blast_furnace.desc": "Доменная печь — это многоблочная конструкция, которая позволяет производить белый чугун. Поместив внутрь доменной печи комбинацию железа, флюса и топлива (см. соседнее задание), вы получите белый чугун, который затем можно переработать в сталь.\n\nЧтобы доменная печь достигла необходимой высокой температуры, ей понадобятся собственные кузнечные меха, которые используются для нагнетания воздуха через фурму, размещенную внутри доменной печи.\n\nВ полевом руководстве есть раздел о том, как работает доменная печь и как ее построить.", + "quests.metal_age.steel_anvil.title": "T4 Наковальня: Сталь", + "quests.metal_age.steel_anvil.subtitle": "Огромный скачок по сравнению с кованым железом", + "quests.metal_age.steel_anvil.desc": "С помощью стальной наковальни вы сможете обрабатывать стальные слитки в различные формы.\n\nСтальные инструменты и экипировка значительно превосходят свои бронзовые и кованые аналоги, поэтому их стоит изготовить, если ваши существующие инструменты и оборудование скоро сломаются. В скором времени вам понадобится изготовить много сплавов, поэтому приобретение нового горнодобывающего оборудования будет разумным вложением.", + "quests.metal_age.steel_goodies.title": "Механизмы стального уровня", + "quests.metal_age.steel_goodies.subtitle": "Дуй, дроби и труби", + "quests.metal_age.steel_goodies.desc": "Сталь открывает новый уровень Greate с увеличенной максимальной нагрузкой! Теперь вы также можете изготавливать такие вещи, как вентилятор в корпусе, который может автоматизировать промывку руды, и механическая помпа, которая дает вам гораздо больше возможностей для транспортировки жидкостей.\n\nМеханическая помпа особенно полезна, так как с помощью некоторых интеллектуальных решений вы можете легко автоматизировать доменную печь.", + "quests.metal_age.weak_steel.title": "Ингредиенты сырой стали", + "quests.metal_age.weak_steel.subtitle": "Надеюсь, тебе нравится математика", + "quests.metal_age.weak_steel.desc": "Сырая сталь — это один из необходимых металлов для создания Черной стали. Сплав получается путем соединения 2 частей стали, 1 части никеля и 1 части черной бронзы.\n\nБолее точные пропорции сплава можно найти в рецепте жидкой сырой стали.", + "quests.metal_age.weak_steel.task1": "1 часть никеля", + "quests.metal_age.weak_steel.task2": "2 части стали", + "quests.metal_age.weak_steel.task3": "1 часть черной бронзы", + "quests.metal_age.highcarb_black_steel.title": "Ингредиенты черной стали", + "quests.metal_age.highcarb_black_steel.subtitle": "Закон сохранения массы не действует", + "quests.metal_age.highcarb_black_steel.desc": "Две последние наковальни создаются из сложных сплавов, для создания которых потребуется много металла. Сырая сталь и белый чугун могут быть сварены для создания высокоуглеродистой черной стали, которая затем может быть обработана на наковальне в черную сталь.", + "quests.metal_age.black_steel_anvil.title": "T5 Наковальня: Черная сталь", + "quests.metal_age.black_steel_anvil.subtitle": "Паровые технологии почти в твоих руках", + "quests.metal_age.black_steel_anvil.desc": "Теперь с помощью наковальни из черной стали вы можете обрабатывать слитки черной стали и создавать различные предметы.\n\nКроме того, вам открылся большой новый раздел в главе Ранняя автоматизация, посвященный паровым технологиям!\n\nОтсюда вы можете либо сразу перейти к индустриализации, либо завершить последний уровень наковален, если хотите. Однако вы не сможете вечно избегать цветной стали!", + "quests.metal_age.black_steel_goodies.title": "Механизмы уровня черной стали", + "quests.metal_age.black_steel_goodies.subtitle": "Промышленная революция и ее последствия", + "quests.metal_age.black_steel_goodies.desc": "Черная сталь открывает путь к паровым технологиям! Начните с небольших паровых котлов и продвигайтесь к мощному паровому двигателю, питающему новые машины для создания вашей первой электроники.", + "quests.metal_age.red_blu.title": "Красная и синяя сталь", + "quests.metal_age.red_blu.subtitle": "Одни из старейших фэнтезийных видов стали в модах Minecraft", + "quests.metal_age.red_blu.desc": "Последний уровень наковальни может быть изготовлен из красной или синей стали. Оба сплава представляют собой сложные комбинации с другими металлами.\n\nСиняя сталь ценится за исключительную термостойкость и скорость работы инструментов, а красная сталь отличается высокой прочностью и долговечностью.", + "quests.metal_age.weak_red_steel.title": "Ингредиенты для сырой красной стали", + "quests.metal_age.weak_red_steel.subtitle": "Это уже становится немного нелепо", + "quests.metal_age.weak_red_steel.desc": "Как и ранее, сырая красная сталь является первым этапом создания красной стали. Ее сплав состоит из 4 частей черной стали, 2 частей стали, 1 части латуни и 1 части розового золота.\n\nДля более точных процентных соотношений сплава можно посмотреть рецепт жидкой сырой красной стали.", + "quests.metal_age.weak_red_steel.steel": "2 части стали", + "quests.metal_age.weak_red_steel.black_steel": "4 части черной стали", + "quests.metal_age.weak_red_steel.brass": "1 часть латуни", + "quests.metal_age.weak_red_steel.rose_gold": "1 часть розового золота", + "quests.metal_age.weak_blu_steel.title": "Ингредиенты сырой синей стали", + "quests.metal_age.weak_blu_steel.subtitle": "Это уже слишком.", + "quests.metal_age.weak_blu_steel.desc": "Как и ранее, сырая синяя сталь является первым этапом создания синей стали. Ее сплав состоит из 4 частей черной стали, 2 частей стали, 1 части висмутовой бронзы и 1 части стерлингово серебра.\n\nДля более точных процентных соотношений сплава можно посмотреть рецепт жидкой сырой синей стали.", + "quests.metal_age.weak_blue_steel.steel": "2 части стали", + "quests.metal_age.weak_blue_steel.black_steel": "4 части черной стали", + "quests.metal_age.weak_blue_steel.sterling_silver": "1 часть стерлингово серебра", + "quests.metal_age.weak_blue_steel.bismuth_bronze": "1 часть висмутовой бронзы", + "quests.metal_age.highcarb_red_steel.title": "Ингредиенты красной стали", + "quests.metal_age.highcarb_red_steel.subtitle": "Может ли удаление материи таким образом питать ядерную бомбу?", + "quests.metal_age.highcarb_red_steel.desc": "Красная сталь сначала создается в виде высокоуглеродистой красной стали, которую получают путем сварки сырой красной стали и черной стали. Затем ее необходимо обработать на наковальне, чтобы превратить в красную сталь", + "quests.metal_age.highcarb_blu_steel.title": "Ингредиенты синей стали", + "quests.metal_age.highcarb_blu_steel.subtitle": "Лавуазье в гробу переворачивается", + "quests.metal_age.highcarb_blu_steel.desc": "Синяя сталь сначала создается в виде высокоуглеродистой синей стали, которую получают путем сварки сырой синей стали и черной стали. Затем ее необходимо обработать на наковальне, чтобы превратить в синюю сталь", + "quests.metal_age.redblu_anvil.title": "T6 Наковальня: Красная или Синяя сталь", + "quests.metal_age.redblu_anvil.subtitle": "Все кончено", + "quests.metal_age.redblu_anvil.desc": "Последний уровень наковальни! С помощью наковальни 6-го уровня вы сможете обрабатывать слитки Красной и Синей стали в различные предметы.\n\nЭто завершающий этап прогресса в TerraFirmaCraft. Теперь пришло время завершить Индустриальный век и создать свою первую низковольтную микросхему.", + "quests.metal_age.red_steel_flask.title": "Фляга из красной стали", + "quests.metal_age.red_steel_flask.subtitle": "Это ничто по сравнению с железной флягой", + "quests.metal_age.red_steel_flask.desc": "Фляга из красной стали — лучшая из всех доступных фляг. Она вмещает столько же жидкости, сколько и железная фляга, но никогда не ломается.", + "quests.metal_age.redblu_buckets.title": "Компоненты ведра", + "quests.metal_age.redblu_buckets.subtitle": "Реактор синтеза на основе ведра", + "quests.metal_age.redblu_buckets.desc": "Последней задачей в Веке Металлургии является создание ведра. В отличие от деревянного ведра и других емкостей для жидкостей, которые вы использовали до сих пор, ведро можно использовать для переноски лавы и перемещения блоков источников других жидкостей.", + "quests.metal_age.this_is_a_bucket.title": "Это... Ведро.", + "quests.metal_age.this_is_a_bucket.subtitle": "Боже правый...", + "quests.metal_age.this_is_a_bucket.desc": "Поздравляем с созданием ведра. Век металлургии официально завершен.\n\nТеперь можешь приступать к созданию компонентов низкого напряжения!", "quests.ore_proc": "Переработка руд", "quests.ore_proc.subtitle": "Всё, что вам нужно, чтобы получать по максимуму от ваших руд", "quests.ore_proc.native_ore.title": "Welcome to Ore Processing", @@ -3314,424 +3316,425 @@ "quests.space_survival.venus.task": "Land on Venus", "quests.steam_age": "Ранняя автоматизация", "quests.steam_age.subtitle": "От примитивных машин до паровой энергии", - "quests.steam_age.basic_greate.title": "Basics of Greate", - "quests.steam_age.basic_greate.subtitle": "Tired of Create? This'll make it more interesting", - "quests.steam_age.basic_greate.desc": "Greate is a fusion of &3Create&r and &3GregTech&r that has different tiered versions of Create's machines. It also introduces stress limits on Shafts and Cogwheels, so you'll have to plan more about how you power your machinery!\n\nGenerally speaking, you'll want smaller setups with their own individual power sources, instead of doing the usual Create thing of having a blob of water wheels connected into a single Shaft into your base.", - "quests.steam_age.create_tools.title": "Tools of the Trade", - "quests.steam_age.create_tools.subtitle": "These may be useful", - "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.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.", - "quests.steam_age.horse_crank.desc.2": "&3Small Animals (4 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (6 SU):&r\nCow, Donkey\n\n&3Large Animals (8 SU):&r\nHorse, Mule, Musk Ox, Yak", - "quests.steam_age.poor_paths.title": "Poor Paths", - "quests.steam_age.poor_paths.subtitle": "This is just dirt", - "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 2 RPM.", - "quests.steam_age.normal_paths.title": "Medium Paths", - "quests.steam_age.normal_paths.subtitle": "Ok, you put a little effort in", - "quests.steam_age.normal_paths.desc": "Medium paths are a little better and will let your animals turn the crank at 4 RPM.\n\nNote: You can't have a Dirt Path block directly under the animal crank, so that one will have to be Gravel.", - "quests.steam_age.good_paths.title": "Great Paths", - "quests.steam_age.good_paths.subtitle": "No horseshoes required!", - "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 8 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", - "quests.steam_age.helve_hammer.title": "Helve Hammer", - "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", - "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", - "quests.steam_age.water_wheel.title": "Water Wheels", - "quests.steam_age.water_wheel.subtitle": "Hope you set up your base near a river!", - "quests.steam_age.water_wheel.desc": "Water wheels provide much more power than the Animal Crank, at the expense of requiring flowing water. You don't have the ability to move water sources yet, so you'll need to find a river to power these. Oceans and Lakes can also provide a little power, but if you're far inland, you're better off looking at building a windmill.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", - "quests.steam_age.large_water_wheel.title": "Large Water Wheels", - "quests.steam_age.large_water_wheel.subtitle": "Larger, stronger, more expensive", - "quests.steam_age.large_water_wheel.desc": "Large water wheels provide four times as much power as the small water wheels, but still require flowing water from a river. Oceans and Lakes can also provide a little power, but if you're far inland, you're better off looking at building a windmill or steam engine.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", - "quests.steam_age.windmill.title": "Windmills", - "quests.steam_age.windmill.subtitle": "Pairs well with tulips", - "quests.steam_age.windmill.desc": "If you aren't near flowing water, a windmill is another effective option for a better source of power. Bigger windmills provide more stress units and faster speeds.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", - "quests.steam_age.metal_casing.title": "Metal Casings", - "quests.steam_age.metal_casing.subtitle": "Primitive Machine Hull?", - "quests.steam_age.metal_casing.desc": "These are the basis of most of the simple machines you can build with Create. Check JEI for all the different things you can craft with this, including Gearboxes and other ways to control your stress units.\n\nNew to Create? There's many tutorials online about different kinds of contraptions you can build, and most of them will still work in TFG too! (Except anything involving cobble generators)", - "quests.steam_age.mechanical_harvester.title": "Mechanical Harvester", - "quests.steam_age.mechanical_harvester.subtitle": "Robotic Cherrypicking", - "quests.steam_age.mechanical_harvester.desc": "Too lazy to harvest and replant your crops? These will do it for you! Place them on a spinning contraption and watch them go. These won't work on crops planted inside a greenhouse though.\n\nProtip: It's always a constant 15°C down at bedrock level, so it's a cool location for a farm that can grow crops all year round!", - "quests.steam_age.mechanical_saw.title": "Mechanical Saw", - "quests.steam_age.mechanical_saw.subtitle": "Efficient cutting of wood, stone, and your fingers", - "quests.steam_age.mechanical_saw.desc": "Tired of chopping trees? These will do it for you! Place them on a spinning contraption and watch them go. Unfortunately, you'll still have to replant the saplings them yourself until you get access to a Deployer.\n\nA Mechanical Saw can also double as a stonecutter, giving easier access to various forms of masonry. Using it to chop logs into lumber is also more efficient!\n\nYou can also use it to cut Rods into four Bolts!", - "quests.steam_age.chute.title": "Early Logistics", - "quests.steam_age.chute.subtitle": "Public infrastructure for your items", - "quests.steam_age.chute.desc": "You now have access to ways to move your items around! Chutes are similar to hoppers and are cheaper, but can only move items downwards. Both of these can also push items from container into Item Pipes.\n\nFunnels are similar but are best paired with Belts instead of Item Pipes.", - "quests.steam_age.item_pipes.title": "Item Pipes", - "quests.steam_age.item_pipes.subtitle": "Not as cool as Item Conduits", - "quests.steam_age.item_pipes.desc.1": "&3Item Pipes&r are a simple yet effective way to move items around &dinstantly&r, but with throughput limitations.\n\nHigher tier pipes provide ridiculously large throughput - a rare sight in modded Minecraft!\n\nItem Pipes &9do not pull&r, but they will push any item inserted into them to other connected inventories, prioritizing &9the closest inventory&r first.", - "quests.steam_age.item_pipes.desc.2": "The priority mechanics are &osomewhat complicated&r, so skip ahead if you aren't interested:\n\nA &eDestination&r will have a &dRouting Value&r calculated, which is the sum of all \"Routing Values\" of the individual Pipes to that Destination. Whichever Destination has the &clowest &dRouting Value&r will be the one selected for Insertion.\n\n&3Restrictive Pipes&r typically have the lowest Priority for insertion due to their higher Routing Value.", - "quests.steam_age.item_pipes.desc.3": "Right now, you can use them in combination with &6Chutes&r and &6Hoppers&r, but you will also be able to use them with Conveyor Modules, Output Buses, and machine Auto-Outputs all in the LV age.\n\n&9Note:&r GT6-style Pipes are &denabled&r. It means that placing Pipes connect them only to the block they were placed against. To open more connections, use your &5Wrench&r on the grid.\n\nGet &eany&r of the suggested Item Pipes to complete this quest.", - "quests.steam_age.item_pipes.desc.4": "&l&3Lore:&r&o Oooooh, YEAH! Item Pipes were in GregTech 5, and for whatever reason they weren't kept for GTCE, so you had to use other mods to transport items. Who does that!? Jokes aside, we hope you enjoy Item Pipes being back in GregTech!", - "quests.steam_age.steel_greate.title": "Steel-tier Greate", - "quests.steam_age.steel_greate.subtitle": "Greate so good they made Greate 2", - "quests.steam_age.steel_greate.desc": "Welcome to the next tier of Greate! Steel Shafts and Cogwheels can hold four times as much stress as your old ones. The total stress limit of a kinetic setup is determined by the weakest link, so unfortunately you'll have to replace your old setup if you want to reap the rewards. Some of the old parts can be recycled at least!", - "quests.steam_age.steel_encased_fan.title": "Encased Fan", - "quests.steam_age.steel_encased_fan.subtitle": "Great for hot days", - "quests.steam_age.steel_encased_fan.desc": "The &3Encased Fan&r is the final step in your first fully automatic ore processing line, so you no longer need to clean your impure dusts by hand. Point the fan at your dusts with a water source between, and they'll be gleaming in no time. As a bonus, it'll give you some extra byproducts too! It might be tricky to move a water source right now, but you can build around an existing part of a river or lake.", - "quests.steam_age.steel_millstone.title": "Steel Millstone", - "quests.steam_age.steel_millstone.subtitle": "A worthwhile upgrade", - "quests.steam_age.steel_millstone.desc": "With a much higher kinetic capacity, the steel millstone is a worthwhile upgrade over your basic one, letting you spin it much faster for quicker crushing. A good upgrade for all the different new ores you'll be getting soon!\n\nAgain though, it only outputs items in the first slot in JEI.", - "quests.steam_age.steel_pump.title": "Fluid Handling", - "quests.steam_age.steel_pump.subtitle": "Delicious pipe spaghetti", - "quests.steam_age.steel_pump.desc.1": "With the Steel Age, now you can automate fluids as well as items! The &3Mechanical Pump&r can pull fluids out of pretty much anything, including barrels, crucibles, and even source blocks. You can use it with either Create's or GregTech's fluid pipes, though each behaves a little differently.", - "quests.steam_age.steel_pump.desc.2": "Create's pipes have no internal fluid capacity, instead transporting fluids directly from source to destination. You can right-click them with a Copper Casing to \"lock\" any connections in place, and right-clicking them with a wrench will open a little window that prevents intersections, so you can run multiple pipes next to each other. Create's pipes also require a mechanical pump to use, and each pump only has a range of 16 blocks, but one pump can pull fluids from multiple sources at once.\nThey also have no temperature limit!", - "quests.steam_age.steel_pump.desc.3": "On the other hand, GregTech's pipes do have their own internal fluid capacity and don't require a pump once fluid is inside them. Like item pipes, their connections can also be fully controlled by sneak right-clicking them with an empty off-hand, and we recommend doing so on all your pipes otherwise the fluid sloshes around.\n\nAre your mechanical pumps and GregTech pipes not connecting? Flip the pump twice (right-click with a wrench) and that should get them working together.", - "quests.steam_age.mold_table.title": "Blast Furnace Automation", - "quests.steam_age.mold_table.subtitle": "The Electric Blast Furnace is a long way off", - "quests.steam_age.mold_table.desc.1": "You're going to need &3tons&r of steel for a while, so automating your blast furnace is definitely a worthwhile investment. The Mechanical Pump can pull fluids directly out of the blast furnace (much faster than it drips into a crucible) into a Mold Table, and the pump will also let the ingots cool instantly! You can then put a Chute or Hopper directly under the mold table to pull the ingots out of it. From there, you can send the Pig Iron Ingots over to your Helve Hammer.", - "quests.steam_age.mold_table.desc.2": "If you'd like, you can also use a Chute to drop your items into the top of the blast furnace, and a Deployer to automatically work the bellows. Excessive bellow blowing will quickly use up the durability of your Tuyere, though item pipes can push a new one in.\n\nYou could even have a pump pull from both your blast furnace and your crucible, using a Fluid Valve to stop the pump while you're alloying, and turn it back on once you're finished.", - "quests.steam_age.fluid_pipes.title": "Fluid Pipes", - "quests.steam_age.fluid_pipes.subtitle": "Liquids, gases... we don't discriminate", - "quests.steam_age.fluid_pipes.desc.1": "&bFluid Pipes&r will transport &7Steam&r between machines for you.\n\nEach Pipe has a certain throughput in mB/t, and a &6Temperature Limit&r. This is relevant right now, as Steam will burn Wooden Pipes. Some pipes have &bspecial&r attributes you don't need to worry about for now.\n\nEach material has several sizes for Pipes. The bigger the Pipe, the &ahigher&r the throughput, but the more &dexpensive&r the craft. For example, a normal &6Bronze Fluid Pipe&r transfers 120 mB/t. (It also has a 1,200 mB internal buffer!)\n\nTo start off, we recommend using Wood pipes for cold fluids, and Bronze ones for hot fluids.", - "quests.steam_age.fluid_pipes.desc.2": "&aReminder:&r 1 second = 20 ticks... assuming the server isn't lagging.\n\n&dNote:&r GT6-style Pipes are enabled. It means that placing Pipes connects them only to the block they were placed against. To open more connections, use your Wrench on the pipe.\n\nYou can also shift-right click with your Wrench to disable input from a side. This can help counteract sloshing (liquids travelling in an undesired direction).", - "quests.steam_age.fluid_drums.title": "Efficient Fluid Storage", - "quests.steam_age.fluid_drums.subtitle": "I don't think a wooden barrel can hold molten steel", - "quests.steam_age.fluid_drums.desc.1": "&6TFG&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them.\n\nIntroducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside. A right-click with a Soft Mallet allows a Drum to drain its content into another container placed below it.", - "quests.steam_age.fluid_drums.desc.2": "&l&3Lore:&r&o These drums are actually ported from GregTech 6.", - "quests.steam_age.boilers.title": "Steam Boilers", - "quests.steam_age.boilers.subtitle": "Portable Steamroom", - "quests.steam_age.boilers.desc.1": "Steam machines need to be powered! You have three options to generate steam: the &3Solid&r boiler accepts solid fuels like coal and charcoal, the &3Liquid&r boiler accepts liquids like creosote and lava, and the &3Solar&r boiler requires no fuel but only works during the day. The choice is yours, but we recommend the liquid one if you're unsure.\n\nSteam machines all have a vent which needs to stay unblocked in order for them to work properly.", - "quests.steam_age.boilers.desc.2": "&aWarning:&r Boilers will &bexplode&r if you attempt to put water into them while they are dry and hot. It's best to always have water being pumped into them, but you can always break and place the block to reset its temperature.", - "quests.steam_age.boilers.tasks": "Any High Pressure Steam Boiler", - "quests.steam_age.steam_bloomery.title": "Steam Bloomery", - "quests.steam_age.steam_bloomery.subtitle": "The Bloomery's uncle", - "quests.steam_age.steam_bloomery.desc": "You're always going to need a lot of Wrought Iron, so why not automate your Bloomery? The next closest way to automate wrought iron is way off in LV. The Steam Bloomery is a new multiblock that'll automate your old TFC bloomery, and do it faster too! Like with the Coke Oven, you can press the JEI 'Uses' key (defaults to \"U\") to show the multiblock preview tab. Click on individual blocks to see what's valid in each location.", - "quests.steam_age.steam_furnace.title": "Steam Furnace", - "quests.steam_age.steam_furnace.subtitle": "The Steam Furnace furnaces...", - "quests.steam_age.steam_furnace.desc": "Want to quickly smelt something into an ingot? The &3Steam Furnace&r does just that! It can turn many ores and dusts quickly into their ingot form, at the expense of not getting any byproducts.", - "quests.steam_age.steam_oven.title": "Steam Oven", - "quests.steam_age.steam_oven.subtitle": "The Steam Grinder's big brother", - "quests.steam_age.steam_oven.desc.1": "&o...or little brother. Don't let him know!&r\n\nThe &3Steam Oven&r is a great multiblock option if you need &6effortlessly smelt large quantities of items.&r No more lines of furnaces that you have to manually empty and refuel!\n\nIt effectively behaves as a parallel furnace, smelting up to 8 items at a time for a low cost of Steam.", - "quests.steam_age.steam_oven.desc.2": "&l&3Lore:&r&o This Multiblock - despite being very similar to its brother, the Steam Grinder - isn't ported from a GregTech version or addon. Its actual progenitor is the Steam Oven from Railcraft, which dates back to 1.4.7!", - "quests.steam_age.steam_macerator.title": "Steam Macerator", - "quests.steam_age.steam_macerator.subtitle": "The Steam Macerator macerates...", - "quests.steam_age.steam_macerator.desc": "This machine does exactly the same thing as the Millstone, so if you already have one of those, there's not much point to building this. Still, one or the other is required for progression at this point. No, this machine doesn't output any of the extra output slots either. You'll have to wait until &6HV&r for that.", - "quests.steam_age.steam_grinder.title": "Steam Grinder", - "quests.steam_age.steam_grinder.subtitle": "The Steam Macerator's little sister", - "quests.steam_age.steam_grinder.desc": "Like the Steam Oven, the &3Steam Grinder&r is an upgraded version of the single-block version that can do multiple items at the same time. Is it worth it? That's totally up to you.", - "quests.steam_age.rock_crusher.title": "Steam Rock Crusher", - "quests.steam_age.rock_crusher.subtitle": "The Rock Crusher duplicates blocks... wait what?", - "quests.steam_age.rock_crusher.desc": "The Rock Crusher is basically a cobblestone generator in a box. It can take any raw stone or cobblestone and generate more of it, at the low cost of just a little steam. This doesn't help at all for progression, but if you're looking to make a lot of bricks, this machine is perfect.", - "quests.steam_age.forge_hammer.title": "Steam Forge Hammer", - "quests.steam_age.forge_hammer.subtitle": "The Forge Hammer hammers...", - "quests.steam_age.forge_hammer.desc": "With the creation of this machine, many recipes that once required you to use a hammer can instead be made here!\n\nIt can process &bCobblestone into Gravel&r, and &dGravel into Sand&r - and it's zippy at that to boot.\n\nLast but not least, it makes &aPlates&r at a better ratio: &6three Ingots for two Plates&r. A worthwhile investment!\n\nOn top of all that, the Forge Hammer lets you (slowly) work in-between ingots such as Raw Blooms into Wrought Iron, or Pig Iron into Steel, if you want a more compact version of the Helve Hammer!", - "quests.steam_age.alloy_smelter.title": "Steam Alloy Smelter", - "quests.steam_age.alloy_smelter.subtitle": "The Alloy Smelter makes alloys...", - "quests.steam_age.alloy_smelter.desc": "The &bAlloy Smelter&r is used for, well, alloys. You'll want it for the efficient &6Bronze&r recipe, and for &4Red Alloy&r in the near future.\n\nIt can also weld High Carbon ingots together at a much more efficient rate!\n\nOut of all the &6Steam Age&r machines, this is the most steam-hungry. If you ever find yourself running out of steam, give your machine a &alove-tap&r with &dany Soft Mallet&r to momentarily pause it.", - "quests.steam_age.compressor.title": "Steam Compressor", - "quests.steam_age.compressor.subtitle": "The Steam Compressor compresses...", - "quests.steam_age.compressor.desc": "The &3Steam Compressor&r can turn ingots and gems into blocks, nuggets into ingots, and most importantly, wood pulp into single Planks. You'll see why those are important soon!", - "quests.steam_age.molding.title": "Molding", - "quests.steam_age.molding.subtitle": "Reduce the amount of malding by molding", - "quests.steam_age.molding.desc": "In addition to alloying metals together, the Alloy Smelter can also use &3Molds&r to convert materials into different shapes.\n\nYou'll want the listed molds for future alloy smelting. Be sure to make &aMolds&r - don't make &cExtruder Shapes&r, as they're used in a different machine.\n\nYou may also be interested in the Gear molds, but using them to craft gears is more expensive than doing it by hand.", - "quests.steam_age.red_alloy.title": "Red Alloy", - "quests.steam_age.red_alloy.subtitle": "A completely fictional alloy", - "quests.steam_age.red_alloy.desc": "&4Red Alloy&r is an alloy of Copper and Redstone, prized in the GregTech universe for its conductivity. You can craft it either in an Alloy Smelter or in your Crucible, if you'd like.\n\nYou will need some for &9Electron Tubes&r.\n\n&l&3Lore:&r&o This material originally comes from RedPower - what a throwback!", - "quests.steam_age.extractor.title": "Steam Extractor", - "quests.steam_age.extractor.subtitle": "The Steam Extractor extracts...", - "quests.steam_age.extractor.desc": "Not many items are made in the &3Extractor&r during the &6Steam Age&r, as it lacks the capability to extract fluids.", - "quests.steam_age.glass_tube.title": "Glass Tubes", - "quests.steam_age.glass_tube.subtitle": "You'll want a lot of these", - "quests.steam_age.glass_tube.desc": "While you could make all of these by hand with glassblowing, it's much more time efficient to create them in your Alloy Smelter with the appropriate mold instead. Need a lot of glass dust? You can either glassblow 16 panes at once to macerate them, or use the Rock Crusher and Forge Hammer to get lots of sand, then add a little Flint dust to turn it into glass dust.", - "quests.steam_age.treated_planks.title": "Treated Planks", - "quests.steam_age.treated_planks.subtitle": "Also known as Treated Plywood", - "quests.steam_age.treated_planks.desc": "Hope you've been saving up your creosote, because making these pulped and compressed planks is another use for it.\n\n&l&3Lore:&r&o In earlier versions of TerraFirmaGreg, this was the point when you could actually start Create!", - "quests.steam_age.electron_tube.title": "Electron Tube", - "quests.steam_age.electron_tube.subtitle": "Ultra Ultra Low Voltage...?", - "quests.steam_age.electron_tube.desc": "These may be initally very painful to craft, but you should use your first few on setting up a line of Deployers, to make crafting them significantly cheaper.\n\nBesides Deployers, these are also used for a wide variety of advanced Create machines!", - "quests.steam_age.rotation_speed_controller.title": "Rotation Speed Controller", - "quests.steam_age.rotation_speed_controller.subtitle": "No more manual gear ratios!", - "quests.steam_age.rotation_speed_controller.desc": "The &3Rotation Speed Controller&r can simplify all of your cogwheel spaghetti into a single block, letting you adjust RPM in a simple, compact way. These will be useful later when you have more machines to balance your stress units between!", - "quests.steam_age.mech_crafter.title": "Mechanical Crafter", - "quests.steam_age.mech_crafter.subtitle": "For those extra large crafting recipes", - "quests.steam_age.mech_crafter.desc": "Don't worry, these are entirely optional, but they are used for a couple one-time crafts that you may find very useful, outside of the two listed here.", - "quests.steam_age.crushing_wheel.title": "Crushing Wheels", - "quests.steam_age.crushing_wheel.subtitle": "The Millstone's cousin's wife's boyfriend", - "quests.steam_age.crushing_wheel.desc": "These do exactly the same thing as the other crushing-related machines earlier in the chapter, but faster and in bulk. They're pretty equivalent to the Steam Grinder.", - "quests.steam_age.centrifuge.title": "Mechanical Centrifuge", - "quests.steam_age.centrifuge.subtitle": "A World Revolving", - "quests.steam_age.centrifuge.desc": "Ore processing will always be an important part of this modpack, and this machine is another (optional) part of that. By following a different route of ore processing steps (check the Ore Processing Diagram tab in JEI), you can use this centrifuge to get some bonus byproducts out of your ores! The next upgrade to your ores won't be until the LV Thermal Centrifuge, so whether or not this is a worthwhile investment is up to you.", - "quests.steam_age.steam_engine.title": "Steam Engine", - "quests.steam_age.steam_engine.subtitle": "Time for some real steam power", - "quests.steam_age.steam_engine.desc": "Water wheels and windmills not cutting it any more? It wouldn't be a steam age without a proper steam engine! Each steam engine can output a whole 256 SU, giving you much more power to play with.\n\nBlaze Burners can be crafted without leaving your house, and you can use a Mechanical Arm to automatically feed them solid fuel, or directly pipe liquid fuel (such as creosote). Coal Gems, Anthracite, and Coke can also be used to superheat them.", - "quests.steam_age.fuel_sources.title": "More Fuel Sources", - "quests.steam_age.fuel_sources.subtitle": "Putting the power in steam power", - "quests.steam_age.fuel_sources.desc": "The steam engine can accept more liquid fuels than the High Pressure Liquid Boiler. While Creosote or Lava are the easiest to set up at this point, you might also be interested in various plant-based oils like &eSeed Oil&r from Sunflowers or Canola.\n\nCreosote and Lava also don't scale very well once you get into further tiers, while Biofuel can be upgraded into Diesel and then Cetane-Boosted Diesel, so start setting up a big field for plant oils now if that sounds appealing to you!", - "quests.steam_age.deployers.title": "Deployers", - "quests.steam_age.deployers.subtitle": "Primitive Assembly Line", - "quests.steam_age.deployers.desc": "While you could use a single deployer for the rest your time in this chapter, we &3really&r don't recommend it. Setting up a line of deployers along a belt will save heaps of time and sanity, and it's not like you'll be wasting materials either, because you can always reuse them to upgrade your tree farm later.\n\nThese will also make electron tubes significantly cheaper!", - "quests.steam_age.trains.title": "Trains", - "quests.steam_age.trains.subtitle": "Waypoints wishes it was as cool as these", - "quests.steam_age.trains.desc": "Trains are a fantastic option when it comes to any sort of long distance transportation, whether that's players, items, or fluids! They can also safely travel through unloaded chunks. There won't be any sort of player teleportation for a very long time, so if you'd like to set up a continent-spanning rail network, you don't have to worry about it getting outdated.", - "quests.steam_age.wood_plank.title": "Wood Planks", - "quests.steam_age.wood_plank.subtitle": "Untreated Plywood...?", - "quests.steam_age.wood_plank.desc": "These are the same as the Treated Planks adjacent to this quest, except you can use any wood instead of having to dunk them in creosote first.", - "quests.steam_age.organization.title": "Staying Organized", - "quests.steam_age.organization.subtitle": "You're already in the first circle of microcrafting hell", - "quests.steam_age.organization.desc": "Struggling to keep up with all the recipes and items you need? Here's a couple options which may help:\n\n&3Clipboard&r: This handy item is a portable to-do list, letting you check off items as you like.\n\n&3Crafting Blueprint&r: Keeps track of frequent recipes, letting you craft batches without having to find the recipe in JEI.\n\n&3JEI's Bookmarks&r: You can press the \"Add/Remove Bookmark\" key (default \"A\") when hovering over an item in JEI to bookmark it. You can also bookmark whole recipes by pressing this key on the output!", - "quests.steam_age.resin_boards.title": "Resin-Coated Boards", - "quests.steam_age.resin_boards.subtitle": "I guess you could say we're... bored of LaTeX?", - "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.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.", - "quests.steam_age.vacuum_tubes.title": "Electronics #3: Vacuum Tubes", - "quests.steam_age.vacuum_tubes.subtitle": "The harder component for circuits", - "quests.steam_age.vacuum_tubes.desc": "Crafting Vacuum Tubes might make you question your existence. They're very expensive right now, but they'll get cheaper in a moment - that's the general GregTech philosophy!\n\nVacuum Tubes are also technically your first Ultra Low Voltage (&8ULV&r) Circuit! Congratulations! From here you can either jump right into crafting LV Circuits, or spend some more time in Steam Age, making some other machines out of the Vacuum Tubes you just crafted.", - "quests.steam_age.resistors.title": "Electronics #1: Resistors", - "quests.steam_age.resistors.subtitle": "The more... resistant... component for circuits", - "quests.steam_age.resistors.desc": "Resistors are components that will be used to make your first Circuit.\n\nIt wouldn't be unwise to prioritise the recipes that use &aFine Wires&r, as they'll save you more materials in the long run.\n\nWires may be expensive right now, but they'll get a lot cheaper if you make the &3Coiling Machine&r down below or the &3Wiremill&r in &7LV&r.", - "quests.steam_age.coiling_machine.title": "Coiling Machine", - "quests.steam_age.coiling_machine.subtitle": "An LV Wiremill strapped to half of the LV Bender!", - "quests.steam_age.coiling_machine.desc": "The &3Coiling Machine&r is similar to a LV Wiremill, though it lacks the option to directly output different wire sizes. Still, this is a very worthwhile invesment to make your wires significantly cheaper.\n\nThis machine can also make cheaper springs, too!", - "quests.steam_age.curving_press.title": "Curving Press", - "quests.steam_age.curving_press.subtitle": "Just as niche as the LV Extruder", - "quests.steam_age.curving_press.desc": "The &3Curving Press&r can do all the same recipes as an LV Extruder. Unfortunately, neither can do very much, as the extruder is only useful once you get to MV. Still, if you find yourself wanting to craft a lot of tool heads in bulk, this machine can do it for you.", - "quests.steam_age.vibrating_table.title": "Vibrating Table", - "quests.steam_age.vibrating_table.subtitle": "Identical to the LV Sifter", - "quests.steam_age.vibrating_table.desc": "The &3Vibrating Table&r can process gem ores (including coal) in a different way, yielding much more output than anything else you have access to right now. As a bonus, it can also process any gravel ore deposits you may still have. No more sluicing!", - "quests.steam_age.lathe.title": "Belt Grinder", - "quests.steam_age.lathe.subtitle": "A joint LV Lathe and metal confetti machine", - "quests.steam_age.lathe.desc": "The &3Belt Grinder&r can automatically turn a single ingot into two rods, single bolts into screws, polish gems, and a few other things. If you're needing a lot of rods and screws, and you will be, this machine will be a good investment.", - "quests.steam_age.steel_saw.title": "Steel Mechanical Saw", - "quests.steam_age.steel_saw.subtitle": "A stonecutter and LV Cutter in one!", - "quests.steam_age.steel_saw.desc": "It's an upgrade to your Basic Mechanical Saw that can also process some metal recipes, like turning rods into four bolts, and cutting blocks into plates. These recipes will all require a fluid to work, but you can just use water for now.\n\nYou can also use this for cheaper Rubber Sheets, if you first use an Alloy Smelter to turn your pulp into a block.", - "quests.steam_age.rolling_mill.title": "Rolling Mill", + "quests.steam_age.basic_greate.title": "Основы Greate", + "quests.steam_age.basic_greate.subtitle": "Устал от Create? Это сделает его куда интереснее", + "quests.steam_age.basic_greate.desc": "Greate — это объединение модов &3Create&r и &3GregTech&r, добавляющее многоуровневые версии машин из Create. Кроме того, он вводит ограничения по нагрузке на Валы и Шестерни, поэтому теперь тебе придётся тщательнее продумывать, как питать свои механизмы!\n\nВ целом, тебе стоит собирать небольшие установки с собственными источниками энергии, а не использовать типичный для Create подход с кучей водяных колёс, соединённых одним Валом, идущим ко всей базе.", + "quests.steam_age.create_tools.title": "Инструменты Ремесла", + "quests.steam_age.create_tools.subtitle": "Могут пригодиться", + "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.horse_crank.title": "Твой Первый Источник Энергии", + "quests.steam_age.horse_crank.subtitle": "Пусть домашние животные платят за жильё", + "quests.steam_age.horse_crank.desc.1": "&3Конный Привод&r — это твой первый доступный источник механической энергии. Чтобы его использовать, размести привод в центре очищенной площадки 7x7 и привяжи к нему животное. Разные животные дают разное количество энергии, а блоки под ними могут увеличить скорость вращения. Площадки нескольких приводов могут перекрываться.\n\nИногда может понадобиться удерживать второй поводок, чтобы прикрепить животное.", + "quests.steam_age.horse_crank.desc.2": "&3Мелкие животные (4 SU):&r\nВолк, Собака, Свинья, Овца, Коза, Альпака\n\n&3Средние животные (6 SU):&r\nКорова, Осёл\n\n&3Крупные животные (8 SU):&r\nЛошадь, Мул, Мускусный бык, Як", + "quests.steam_age.poor_paths.title": "Плохие Дорожки", + "quests.steam_age.poor_paths.subtitle": "Это просто грязь", + "quests.steam_age.poor_paths.desc": "Худший тип дороги, который можно использовать. Конный привод будет работать на скорости 2 об/мин.", + "quests.steam_age.normal_paths.title": "Средние Дорожки", + "quests.steam_age.normal_paths.subtitle": "Ну, хоть немного постарался", + "quests.steam_age.normal_paths.desc": "Средние дорожки немного лучше — животные смогут вращать привод со скоростью 4 об/мин.\n\nПримечание: Блок утоптанной земли не может находиться прямо под приводом, так что там придётся использовать гравий.", + "quests.steam_age.good_paths.title": "Хорошие Дорожки", + "quests.steam_age.good_paths.subtitle": "Подковы не требуются!", + "quests.steam_age.good_paths.desc": "Лучший вид дорожного покрытия — привод выдаёт 8 об/мин. Такие дорожки также увеличивают скорость передвижения игрока, так что ими стоит выложить всю базу!", + "quests.steam_age.helve_hammer.title": "Рычажный Молот", + "quests.steam_age.helve_hammer.subtitle": "БАМ... БАМ... БАМ...", + "quests.steam_age.helve_hammer.desc": "Устали вручную ковать пластины для сыродутного горна? &3Рычажный молот&r автоматически (хотя и медленно) превращает двойные слитки в пластины. Ковать соединённые заготовки всё же придётся вручную. Просто поставьте наковальню прямо под молотом, бросьте на неё двойные слитки и щёлкните правой кнопкой по молоту, чтобы получить готовые пластины.\n\nНаковальни более высокого уровня требуют меньше ударов для ковки пластин из предыдущего уровня.", + "quests.steam_age.water_wheel.title": "Водяные Колёса", + "quests.steam_age.water_wheel.subtitle": "Надеюсь, ты основался рядом с рекой!", + "quests.steam_age.water_wheel.desc": "Водяные колёса вырабатывают значительно больше энергии, чем Конный Привод, но требуют текущей воды. Перемещать источники воды ты пока не можешь, поэтому придётся искать реку для установки колёс. Моря и озёра тоже могут дать немного энергии, но если ты далеко от воды — лучше построить ветряную мельницу.\n\nПропитанная древесина получается путём замачивания любых досок в креозоте из твоей коксовой печи.", + "quests.steam_age.large_water_wheel.title": "Большие Водяные Колёса", + "quests.steam_age.large_water_wheel.subtitle": "Больше, мощнее, дороже", + "quests.steam_age.large_water_wheel.desc": "Большие водяные колёса вырабатывают в четыре раза больше энергии, чем малые, но также требуют текущей воды из реки. Моря и озёра дают совсем немного энергии, так что если ты живёшь далеко от воды — подумай о ветряной мельнице или паровом двигателе.\n\nПропитанную древесину можно получить, замочив любые доски в креозоте из коксовой печи.", + "quests.steam_age.windmill.title": "Ветряные Мельницы", + "quests.steam_age.windmill.subtitle": "Отлично сочетается с тюльпанами", + "quests.steam_age.windmill.desc": "Если рядом нет текущей воды, ветряная мельница — отличная альтернатива для получения энергии. Чем больше мельница, тем больше производимых единиц стресса и выше скорость вращения.\n\nПропитанную древесину можно получить, замочив любые доски в креозоте из коксовой печи.", + "quests.steam_age.metal_casing.title": "Металлические Корпуса", + "quests.steam_age.metal_casing.subtitle": "Примитивный корпус машины?", + "quests.steam_age.metal_casing.desc": "Эти корпуса служат основой для большинства простых механизмов, которые можно построить с помощью Create. Загляни в JEI, чтобы увидеть всё, что можно скрафтить с их помощью — от редукторов до систем распределения нагрузки.\n\nНовичок в Create? В интернете есть множество гайдов о различных механизмах, и большинство из них работают и в TFG! (кроме, конечно, генераторов булыжника)", + "quests.steam_age.mechanical_harvester.title": "Механический Комбайн", + "quests.steam_age.mechanical_harvester.subtitle": "Роботизированный сбор урожая", + "quests.steam_age.mechanical_harvester.desc": "Слишком ленишься собирать и пересаживать урожай? Эти штуки сделают всё за тебя! Просто установи их на вращающуюся конструкцию и наблюдай за процессом. Однако им не удастся работать с посевами, которые находятся в теплице.\n\nПолезный совет: на уровне бедрока температура всегда держится около 15°C — отличное место для фермы, где можно выращивать растения круглый год!", + "quests.steam_age.mechanical_saw.title": "Механическая Пила", + "quests.steam_age.mechanical_saw.subtitle": "Эффективная резка дерева, камня и твоих пальцев", + "quests.steam_age.mechanical_saw.desc": "Устал рубить деревья вручную? Эта штука сделает это за тебя! Просто поставь её на вращающуюся конструкцию и смотри, как она работает. Правда, саженцы пока придётся пересаживать самому, пока не получишь доступ к Установщику (Deployer).\n\nМеханическая пила также может работать как камнерез, упрощая доступ к различным видам кладки. Использовать её для распила брёвен на доски — гораздо эффективнее!\n\nКроме того, с её помощью можно разрезать стержни (Rods) на четыре болта!", + "quests.steam_age.chute.title": "Ранняя Логистика", + "quests.steam_age.chute.subtitle": "Общественная инфраструктура для твоих предметов", + "quests.steam_age.chute.desc": "Теперь у тебя есть способы перемещать предметы! Желоба (Chutes) похожи на воронки, но дешевле и могут перемещать предметы только вниз. Оба этих блока также способны передавать предметы из контейнера в предметные трубы (Item Pipes).\n\nВоронки (Funnels) работают похожим образом, но лучше всего сочетаются с конвейерными лентами, а не с трубами.", + "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.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 из Стали", + "quests.steam_age.steel_greate.subtitle": "Greate настолько хорош, что сделали Greate 2", + "quests.steam_age.steel_greate.desc": "Добро пожаловать в следующий уровень Greate! Стальные Валы и Шестерни в четыре раза больше нагрузки, чем старые. Общий предел нагрузки кинетической установки определяется самым слабым элементом, так что придётся заменить старые детали, если хочешь получить всю выгоду. Хотя некоторые из них можно переработать!", + "quests.steam_age.steel_encased_fan.title": "Вентилятор в корпусе", + "quests.steam_age.steel_encased_fan.subtitle": "Отлично подходит для жарких дней", + "quests.steam_age.steel_encased_fan.desc": "&3Вентилятор в корпусе&r — заключительный элемент твоей первой полностью автоматической линии переработки руды, так что больше не нужно вручную очищать грязные пыли. Направь вентилятор на пыли с источником воды между ними — и вскоре они будут блестеть! Вдобавок можно получить немного побочных продуктов. Сейчас может быть сложно передвигать источник воды, но можно построить установку рядом с рекой или озером.", + "quests.steam_age.steel_millstone.title": "Стальной Жёрнов", + "quests.steam_age.steel_millstone.subtitle": "Стоящее улучшение", + "quests.steam_age.steel_millstone.desc": "С гораздо большей кинетической ёмкостью стальной жёрнов является отличным улучшением по сравнению с базовым, позволяя вращать его быстрее и дробить руды эффективнее. Отличное обновление для всех новых руд, которые скоро появятся!\n\nОднако, как и прежде, выход всё ещё идёт только в первый слот в JEI.", + "quests.steam_age.steel_pump.title": "Работа с Жидкостями", + "quests.steam_age.steel_pump.subtitle": "Вкусные трубы-спагетти", + "quests.steam_age.steel_pump.desc.1": "С наступлением Стальной Эпохи ты теперь можешь автоматизировать не только предметы, но и жидкости! &3Механический Насос&r способен выкачивать жидкости практически из чего угодно — бочек, тиглей и даже из самих источников. Его можно использовать как с трубами из Create, так и с трубами из GregTech, хотя их поведение немного отличается.", + "quests.steam_age.steel_pump.desc.2": "Трубы из Create не имеют внутреннего объёма, а переносят жидкость напрямую от источника к получателю. Щёлкни по ним медной облицовкой, чтобы «зафиксировать» соединения, а с помощью гаечного ключа можно открыть маленькое окошко, которое блокирует перекрёстные соединения — так можно прокладывать несколько труб рядом. Для работы труб Create требуется механический насос, и у каждого насоса дальность всего 16 блоков, но один насос может забирать жидкость сразу из нескольких источников.\nУ них также &9нет температурного лимита!&r", + "quests.steam_age.steel_pump.desc.3": "Трубы из GregTech, наоборот, имеют свой внутренний объём и не нуждаются в насосе, если жидкость уже внутри. Как и предметные трубы, соединения можно настраивать — присядь и кликни по ним с пустой второй рукой, чтобы включить или отключить стороны. Рекомендуется сделать это на всех трубах, иначе жидкость будет «болтаться» внутри.\n\nНе соединяются механический насос и трубы GregTech? Просто дважды переверни насос (ПКМ с гаечным ключом), и всё заработает!", + "quests.steam_age.mold_table.title": "Автоматизация Доменной Печи", + "quests.steam_age.mold_table.subtitle": "До Электрической Печи ещё далеко", + "quests.steam_age.mold_table.desc.1": "Тебе понадобится &3куча&r стали, поэтому автоматизация доменной печи — отличная инвестиция. Механический насос может выкачивать расплав напрямую из печи (гораздо быстрее, чем он капает в тигель) в Стол с Формами, а также мгновенно охлаждать слитки! Под столом можно поставить Жёлоб или Воронку, чтобы забирать готовые слитки. Затем можно отправить Чугунные Слитки прямо к Кузнечному Молоту.", + "quests.steam_age.mold_table.desc.2": "При желании можно использовать Жёлоб, чтобы подавать предметы сверху в доменную печь, а также Автономный Активатор для автоматического нажатия мехов. Избыточное использование мехов быстро изнашивает Фурму, но предметные трубы могут автоматически вставлять новое.\n\nМожно даже настроить насос так, чтобы он одновременно выкачивал расплав и из доменной печи, и из тигля, используя Клапан Жидкостей для временной остановки, когда ты делаешь сплав, и повторного включения после завершения.", + "quests.steam_age.fluid_pipes.title": "Трубы для Жидкостей", + "quests.steam_age.fluid_pipes.subtitle": "Жидкости, газы... мы не делаем различий", + "quests.steam_age.fluid_pipes.desc.1": "&bТрубы для Жидкостей&r позволяют транспортировать &7Пар&r между машинами.\n\nКаждая труба имеет определённую пропускную способность в мБ/тик и &6температурный предел&r. Это важно уже сейчас, так как Пар может сжечь деревянные трубы. Некоторые трубы обладают &bособенными&r свойствами, о которых пока можно не беспокоиться.\n\nКаждый материал имеет несколько размеров труб. Чем больше труба, тем &aвыше&r её пропускная способность, но тем &dдороже&r крафт. Например, обычная &6Бронзовая Труба&r передаёт 120 мБ/тик (и имеет внутренний буфер 1,200 мБ!).\n\nДля начала рекомендуется использовать деревянные трубы для холодных жидкостей и бронзовые — для горячих.", + "quests.steam_age.fluid_pipes.desc.2": "&aНапоминание:&r 1 секунда = 20 тиков... если сервер не лагает.\n\n&dПримечание:&r Включён стиль труб из GT6. Это значит, что при установке труба соединяется только с блоком, к которому примыкает. Чтобы открыть больше соединений, используй гаечный ключ на трубе.\n\nТакже можно зажать Shift и ПКМ, чтобы отключить вход с выбранной стороны. Это помогает предотвратить «плескание» — движение жидкости не в том направлении.", + "quests.steam_age.fluid_drums.title": "Эффективное Хранение Жидкостей", + "quests.steam_age.fluid_drums.subtitle": "Не думаю, что деревянная бочка выдержит расплавленную сталь", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r быстро становится &4перегружен&r количеством разных жидкостей, так что ты наверняка ищешь способ их хранения.\n\nПредставляем... &aБочки&r! Они имеют большой внутренний объём, и любую &aБочку&r можно сломать и подобрать — она &dсохранит жидкость&r внутри. Щелчок ПКМ Мягким Молотком позволяет бочке слить содержимое в контейнер, расположенный под ней.", + "quests.steam_age.fluid_drums.desc.2": "&l&3Лор:&r&o Эти бочки были перенесены из GregTech 6.", + "quests.steam_age.boilers.title": "Паровые Котлы", + "quests.steam_age.boilers.subtitle": "Портативная парная", + "quests.steam_age.boilers.desc.1": "Паровые машины нуждаются в энергии! У вас есть три варианта генерации пара: &3Твердотопливный&r котел принимает уголь и древесный уголь, &3Жидкотопливный&r котел принимает жидкости, такие как креозот и лаву, а &3Солнечный&r котел не требует топлива, но работает только днём. Выбор за вами, но мы рекомендуем жидкотопливный, если не уверены.\n\nВсе паровые машины имеют вентиляционное отверстие, которое должно оставаться открытым для корректной работы.", + "quests.steam_age.boilers.desc.2": "&aВнимание:&r Котлы могут &bвзорваться&r, если добавить воду в сухой и горячий котел! Лучше всегда подавать воду, но если что-то пойдет не так, можно сломать и поставить блок заново — температура сбросится безопасно.", + "quests.steam_age.boilers.tasks": "Любой паровой котел высокого давления", + "quests.steam_age.steam_bloomery.title": "Паровой Сыродутный Горн", + "quests.steam_age.steam_bloomery.subtitle": "Дядя старого сыродутного горна", + "quests.steam_age.steam_bloomery.desc": "Вам всегда понадобится много кованого железа, так почему бы не автоматизировать свою печь? Следующий способ автоматизации появляется только на LV, так что это огромный прогресс! Паровой Сыродутный Горн — это новый много блочный механизм, который автоматизирует вашу старую TFC-печь и делает это быстрее! Как и с Коксовой Печью, нажмите кнопку 'Использование' в JEI (по умолчанию &f\"U\"&r), чтобы увидеть превью много блочного строения, и кликните по отдельным блокам, чтобы узнать, что допустимо на каждом месте.", + "quests.steam_age.steam_furnace.title": "Паровая Печь Высокого Давления", + "quests.steam_age.steam_furnace.subtitle": "Паровая печь печет...", + "quests.steam_age.steam_furnace.desc": "Хотите быстро переплавить руду в слиток? &3Паровая Печь высокого давления&r делает именно это! Она может быстро превращать руду и порошки в слитки — но без побочных продуктов.", + "quests.steam_age.steam_oven.title": "Паровая Плавильня", + "quests.steam_age.steam_oven.subtitle": "Старший брат Паровой Дробилки", + "quests.steam_age.steam_oven.desc.1": "&o...или младший брат. Не говорите ему!&r\n\n&3Паровая Плавильня&r — отличная много блочная опция, если нужно &6легко переплавлять большие количества предметов.&r Больше не нужно строить линии печей и вручную их очищать и заправлять!\n\nОна фактически ведет себя как параллельная печь, переплавляя до 8 предметов одновременно при небольших затратах пара.", + "quests.steam_age.steam_oven.desc.2": "&l&3Lore:&r&o Этот много блочный механизм — несмотря на сильное сходство с братом, Паровой Дробилкой — не портирован из версии GregTech или аддона. Его настоящий прототип — Паровая Печь из Railcraft, которая появилась ещё в версии 1.4.7!", + "quests.steam_age.steam_macerator.title": "Паровой Измельчитель высокого давления ", + "quests.steam_age.steam_macerator.subtitle": "Паровой Измельчитель измельчает...", + "quests.steam_age.steam_macerator.desc": "Эта машина делает ровно то же, что и &3Жернов&r, так что если она у вас уже есть, в постройке этого агрегата нет особого смысла. Тем не менее, один из этих вариантов требуется для дальнейшего прогресса. Нет, эта машина тоже не выдаёт дополнительный слот выхода. Придётся дождаться &6HV&r для этого.", + "quests.steam_age.steam_grinder.title": "Паровая Измельчитель", + "quests.steam_age.steam_grinder.subtitle": "Младшая сестра Парового Измельчителя", + "quests.steam_age.steam_grinder.desc": "Как и Паровая Печь, &3Паровой Измельчитель&r — это улучшенная версия одноблочной модели, способная обрабатывать несколько предметов одновременно. Стоит ли его делать? Решать только вам.", + "quests.steam_age.rock_crusher.title": "Паровой Камнелом", + "quests.steam_age.rock_crusher.subtitle": "Камнелом дублирует блоки... подождите, что?", + "quests.steam_age.rock_crusher.desc": "Камнелом — это по сути генератор булыжника в коробке. Он может брать любой необработанный камень или булыжник и создавать больше, тратя всего немного пара. Это совсем не помогает в прогрессе, но если вы хотите сделать много кирпичей, эта машина идеальна.", + "quests.steam_age.forge_hammer.title": "Паровой Кузнечный Молот", + "quests.steam_age.forge_hammer.subtitle": "Кузнечный Молот колотит...", + "quests.steam_age.forge_hammer.desc": "С созданием этой машины многие рецепты, которые раньше требовали использования молота, теперь можно делать здесь!\n\nОн может перерабатывать &bБулыжник&r в Гравий, и &dГравий&r в Песок — и делает это очень быстро.\n\nИ последнее, но не менее важное: он делает &aПластины&r с лучшим коэффициентом: &6три слитка за две пластины&r. Стоит того!\n\nКроме того, Кузнечный Молот позволяет (хоть и медленно) обрабатывать промежуточные слитки, такие как Крицу в Кованое Железо или Чугун в Сталь, если хотите более компактную версию Helve Hammer!", + "quests.steam_age.alloy_smelter.title": "Паровая Печь для Сплавов", + "quests.steam_age.alloy_smelter.subtitle": "Печь для Сплавов сплавляет сплавы...", + "quests.steam_age.alloy_smelter.desc": "&bПечь для Сплавов&r используется для сплавов. Она будет полезена для эффективного рецепта &6Бронзы&r и для &4Красного Сплава&r в ближайшем будущем.\n\nОна также может сваривать слитки Высокоуглеродной стали гораздо эффективнее!\n\nИз всех машин &6Паровой Эры&r это самая требовательная к пару. Если пар закончится, слегка коснитесь машины &aлюбым Мягким Молотком&r, чтобы временно приостановить её работу.", + "quests.steam_age.compressor.title": "Паровой Компрессор", + "quests.steam_age.compressor.subtitle": "Паровой Компрессор сжимает...", + "quests.steam_age.compressor.desc": "&3Паровой Компрессор&r может превращать слитки и драгоценные камни в блоки, самородки в слитки, а самое главное — древесную массу в отдельные Доски. Скоро вы поймёте, почему это важно!", + "quests.steam_age.molding.title": "Литьё", + "quests.steam_age.molding.subtitle": "Сократите количество литья с помощью форм", + "quests.steam_age.molding.desc": "Помимо сплавления металлов, &3Печь для Сплавов&r может использовать &3Формы&r для преобразования материалов в различные формы.\n\nВам понадобятся указанные формы для будущего плавления сплавов. Обязательно делайте &aФормы&r — не делайте &cФормы Экструдера&r, так как они используются в другой машине.\n\nВозможно, вам также будут интересны формы для шестерёнок, но использование их для создания шестерёнок дороже, чем делать это вручную.", + "quests.steam_age.red_alloy.title": "Красный Сплав", + "quests.steam_age.red_alloy.subtitle": "Полностью вымышленный сплав", + "quests.steam_age.red_alloy.desc": "&4Красный Сплав&r — это сплав Меди и Красного камня, ценящийся в мире GregTech за свою проводимость. Вы можете создать его либо в Печи для Сплавов, либо в Вашем Котле.\n\nВам понадобится немного для &9Электронных Ламп&r.\n\n&l&3Лор:&r&o Этот материал изначально был из RedPower — ностальгия!", + "quests.steam_age.extractor.title": "Паровой Экстрактор", + "quests.steam_age.extractor.subtitle": "Экстрактор извлекает...", + "quests.steam_age.extractor.desc": "В &3Экстракторе&r в &6Паровой Эпохе&r мало что изготавливается, так как он не способен извлекать жидкости.", + "quests.steam_age.glass_tube.title": "Стеклянные Трубки", + "quests.steam_age.glass_tube.subtitle": "Вам понадобится много таких", + "quests.steam_age.glass_tube.desc": "Хотя их можно сделать вручную с помощью стеклодувного дела, гораздо эффективнее создавать их в Плавильнике Сплавов с подходящей формой. Нужна масса стеклянной пыли? Можно либо стеклодувом сделать сразу 16 панелей и смолоть их, либо использовать Дробильник Камней и Кузнечный Молот, чтобы получить много песка, а затем добавить немного кремневой пыли для превращения в стеклянную пыль.", + "quests.steam_age.treated_planks.title": "Обработанные Доски", + "quests.steam_age.treated_planks.subtitle": "Также известны как Ламинированные Доски", + "quests.steam_age.treated_planks.desc": "Надеюсь, вы сохраняли свой креозот, потому что изготовление этих измельчённых и сжатых досок — ещё одно его применение.\n\n&l&3Лор:&r&o В более ранних версиях TerraFirmaGreg это был момент, когда вы действительно могли начать использовать Create!", + "quests.steam_age.electron_tube.title": "Электронная Лампа", + "quests.steam_age.electron_tube.subtitle": "Ультра-Ультра Низкое Напряжение...?", + "quests.steam_age.electron_tube.desc": "Изначально их будет очень больно изготавливать, но вы должны использовать первые несколько для настройки линии Автономных Активаторов, чтобы последующее их изготовление стало значительно дешевле.\n\nКроме Автономных Активаторов, эти трубки также используются в широком спектре продвинутых машин Create!", + "quests.steam_age.rotation_speed_controller.title": "Регулятор Скорости Вращения", + "quests.steam_age.rotation_speed_controller.subtitle": "Больше никаких ручных передач!", + "quests.steam_age.rotation_speed_controller.desc": "&3Регулятор Скорости Вращения&r может упростить всю вашу 'спагетти' из шестерёнок в один блок, позволяя регулировать обороты (RPM) просто и компактно. Эти устройства будут полезны позже, когда у вас будет больше машин для балансировки единиц напряжения!", + "quests.steam_age.mech_crafter.title": "Механический Сборщик", + "quests.steam_age.mech_crafter.subtitle": "Для особо крупных рецептов", + "quests.steam_age.mech_crafter.desc": "Не волнуйтесь, они полностью опциональны, но используются для нескольких одноразовых крафтов, которые могут оказаться очень полезными, кроме двух, указанных здесь.", + "quests.steam_age.crushing_wheel.title": "Дробильные Колёса", + "quests.steam_age.crushing_wheel.subtitle": "Парень жены кузена жернова", + "quests.steam_age.crushing_wheel.desc": "Они делают точно то же самое, что и другие машины для дробления, описанные ранее, но быстрее и оптом. Они примерно эквивалентны &3Паровому измельчителю&r.", + "quests.steam_age.centrifuge.title": "Механическая Центрифуга", + "quests.steam_age.centrifuge.subtitle": "Мир в движении", + "quests.steam_age.centrifuge.desc": "Обработка руды всегда будет важной частью этого модпака, и эта машина — ещё один (опциональный) элемент. Следуя альтернативному пути обработки руды (смотрите вкладку 'Схема Обработки Руды' в JEI), вы можете использовать эту центрифугу, чтобы получить бонусные побочные продукты из вашей руды! Следующее улучшение для вашей руды будет доступно только с LV Термической Центрифугой, поэтому решать, стоит ли это того, — вам.", + "quests.steam_age.steam_engine.title": "Паровой Двигатель", + "quests.steam_age.steam_engine.subtitle": "Время настоящей паровой мощности", + "quests.steam_age.steam_engine.desc": "Водяные колёса и ветряки больше не справляются? Никакой паровой эпохи без настоящего парового двигателя! Каждый паровой двигатель может выдавать целых 256 SU, давая вам гораздо больше мощности для игры.\n\nBlaze Burners можно скрафтить не покидая дома, а с помощью Механической Руки их можно автоматически подкармливать твёрдым топливом или напрямую подавать жидкое топливо (например, креозот). Также можно использовать угольные самоцветы, антрацит и кокс для сверхнагрева.", + "quests.steam_age.fuel_sources.title": "Дополнительные Источники Топлива", + "quests.steam_age.fuel_sources.subtitle": "Добавляем мощь в паровую энергию", + "quests.steam_age.fuel_sources.desc": "Паровой двигатель может принимать больше видов жидкого топлива, чем Высокотемпературный Жидкостный Котёл. Пока креозот или лава — самые простые варианты на этом этапе, вам могут быть интересны растительные масла, такие как &eМасло Семян&r из Подсолнечника или Канолы.\n\nКреозот и лава не масштабируются хорошо в дальнейшем, тогда как биотопливо можно улучшить до дизеля и затем до дизеля с повышенным цетановым числом. Так что, если вам интересно, начинайте выращивать большое поле для растительных масел прямо сейчас!", + "quests.steam_age.deployers.title": "Автономные Активаторы", + "quests.steam_age.deployers.subtitle": "Примитивная сборочная линия", + "quests.steam_age.deployers.desc": "Хотя можно обойтись одним активатором на оставшуюся часть этой главы, мы &3настолько&r не рекомендуем это. Установка линии активаторов вдоль конвейера сэкономит массу времени и сохранит ваше рассудок. И вы не потеряете материалы, потому что их можно будет повторно использовать для апгрейда вашей деревофермы.\n\nКроме того, они значительно удешевят производство электронных трубок!", + "quests.steam_age.trains.title": "Поезда", + "quests.steam_age.trains.subtitle": "Waypoints мечтает быть такими же крутыми", + "quests.steam_age.trains.desc": "Поезда — отличное решение для любых дальних перевозок, будь то игроки, предметы или жидкости! Они также безопасно путешествуют через неактивные чанки. Игроков долгое время нельзя будет телепортировать, так что если вы захотите построить железную дорогу через весь континент, она не устареет.", + "quests.steam_age.wood_plank.title": "Деревянные Доски", + "quests.steam_age.wood_plank.subtitle": "Необработанная фанера...?", + "quests.steam_age.wood_plank.desc": "Это те же доски, что и &3Treated Planks&r рядом с этим квестом, только вы можете использовать любую древесину без предварительного замачивания в креозоте.", + "quests.steam_age.organization.title": "Поддерживаем порядок", + "quests.steam_age.organization.subtitle": "Вы уже в первом круге микрокрафтингового ада", + "quests.steam_age.organization.desc": "Сложно уследить за всеми рецептами и предметами? Вот несколько вариантов, которые могут помочь:\n\n&3Планшет&r: Удобный портативный список дел, позволяющий отмечать выполненные пункты.\n\n&3Чертёж&r: Хранит часто используемые рецепты, позволяя крафтить партии предметов без поиска рецепта в JEI.\n\n&3Закладки JEI&r: Нажмите клавишу \"Добавить/Удалить закладку\" (по умолчанию \"A\") при наведении на предмет в JEI, чтобы добавить его в закладки. Также можно добавить в закладки весь рецепт, нажав эту клавишу на выходном предмете!", + "quests.steam_age.resin_boards.title": "Доски с смоляным покрытием", + "quests.steam_age.resin_boards.subtitle": "Можно сказать, что мы... устали от LaTeX?", + "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.vacuum_chamber.title": "Вакуумная камера", + "quests.steam_age.vacuum_chamber.subtitle": "Добавляем вакуум в вакуумные лампы", + "quests.steam_age.vacuum_chamber.desc": "Эта машина — финальный шаг в создании ваших первых вакуумных ламп. Разместите её над чашей, подключите питание и убедитесь, что машина находится в режиме Ваакумирование.\n\nТакже эта машина помогает разжижать клей и резину, если её нагревать в Charcoal Forge или с помощью Горелки Всполоха.", + "quests.steam_age.vacuum_tubes.title": "Электроника #3: Электровакуумные лампы", + "quests.steam_age.vacuum_tubes.subtitle": "Более сложный компонент для схем", + "quests.steam_age.vacuum_tubes.desc": "Крафт вакуумных ламп может заставить вас усомниться в своём существовании. Сейчас они очень дороги, но скоро станут дешевле — это общая философия GregTech!\n\nВакуумные лампы также технически являются вашими первыми Сверхнизковольтными (&8ULV&r) схемами! Поздравляем! Отсюда вы можете либо сразу перейти к созданию LV-схем, либо провести ещё немного времени в Steam Age, создавая другие машины из только что скрафченных вакуумных ламп.", + "quests.steam_age.resistors.title": "Электроника #1: Резисторы", + "quests.steam_age.resistors.subtitle": "Более... сопротивляющийся... компонент для схем", + "quests.steam_age.resistors.desc": "Резисторы — это компоненты, которые используются для создания вашей первой Схемы.\n\nНе будет лишним сначала освоить рецепты с использованием &aПроволок&r, так как они экономят материалы в долгосрочной перспективе.\n\nПровода сейчас могут быть дорогими, но их стоимость сильно снизится, если вы создадите &3Наматыватель Пружин&r или &3Волочильный Станок&r в &7LV&r.", + "quests.steam_age.coiling_machine.title": "Наматыватель Пружин", + "quests.steam_age.coiling_machine.subtitle": "LV Волочильный Станок, совмещённый с половиной LV Гибочным Станком!", + "quests.steam_age.coiling_machine.desc": "&3Наматыватель Пружин&r похож на LV Волочильный Станок, хотя у него нет возможности напрямую выдавать провода разного сечения. Тем не менее, это очень полезная инвестиция, чтобы сделать провода значительно дешевле.\n\nЭта машина также может делать более дешёвые пружины!", + "quests.steam_age.curving_press.title": "Гибочный Пресс", + "quests.steam_age.curving_press.subtitle": "Так же хорош, как LV Экструдер", + "quests.steam_age.curving_press.desc": "&3Гибочный Пресс&r может выполнять все те же рецепты, что и LV Экструдер. К сожалению, обе машины малоэффективны на этом уровне, так как экструдер становится полезен только на MV. Тем не менее, если вам нужно массово крафтить головки инструментов, эта машина справится с этим.", + "quests.steam_age.vibrating_table.title": "Вибрационный Стол", + "quests.steam_age.vibrating_table.subtitle": "Идентичен LV Просеивателю", + "quests.steam_age.vibrating_table.desc": "&3Вибрационный Стол&r позволяет перерабатывать руду (включая уголь) иначе, давая гораздо больший выход, чем всё, что у вас есть сейчас. В качестве бонуса, она также может перерабатывать любые оставшиеся гравийные руды. Больше никаких промывок!", + "quests.steam_age.lathe.title": "Ленточный Гриндер", + "quests.steam_age.lathe.subtitle": "LV Токарный Станок и машина для металлического конфетти в одном", + "quests.steam_age.lathe.desc": "&3Ленточный Гриндер&r автоматически превращает один слиток в два прута, отдельные болты — в винты, шлифует драгоценные камни и выполняет несколько других операций. Если вам нужно много прутов и винтов (а они точно понадобятся), эта машина станет хорошей инвестицией.", + "quests.steam_age.steel_saw.title": "Стальная Механическая Пила", + "quests.steam_age.steel_saw.subtitle": "Камнерез и LV Резочная Машина в одном!", + "quests.steam_age.steel_saw.desc": "Это улучшение вашей Базовой Механической Пилы, которое также может обрабатывать некоторые металлические рецепты, например, превращать прутья в четыре болта и распиливать блоки на пластины. Для работы всех этих рецептов требуется жидкость, но пока можно использовать воду.\n\nТакже её можно использовать для более дешёвых резиновых листов, если сначала использовать Печь для Сплавов, чтобы превратить вашу массу в блок.", + "quests.steam_age.rolling_mill.title": "Прокатный Станок", "quests.steam_age.rolling_mill.subtitle": "The other half of the LV Bender", "quests.steam_age.rolling_mill.desc.1": "Of all the steam age machines you could make, the &3Rolling Mill&r is one of the best, for the simple reason that it makes single plates out of single ingots. It can also make thin sheets cheaper than by hand, as a bonus!", "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.potin.title": "Potin Seller...", + "quests.steam_age.steel_mixer.title": "Стальной Мехнический Смешиватель", + "quests.steam_age.steel_mixer.subtitle": "Ранний LV Смешиватель", + "quests.steam_age.steel_mixer.desc": "Стальной Механический Смеситель — это ещё одна из лучших машин Паровой Эпохи. Он может смешивать цветные стальные порошки гораздо эффективнее, чем Тигель! Он также способен выполнять множество других рецептов, включая некоторые с газами… особо об этом не задумывайтесь.\n\nДля рецептов, требующих нагрева, можно использовать Charcoal Forge или Горелку Всполоха, а Механическая Рука может автоматически подбрасывать топливо в любую из них.", + "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.", - "quests.steam_age.potin.desc.2": "&l&3Lore:&r&o &dPotin Fluid Pipes&r were originally created in &9GT++&r, and were a huge power spike for players in a little pack called &4GT:NH&r. We wanted to spread some of that joy.\n\nIn the real world, &dPotin&r is an alloy used in coins, not pipes. GTCEu just gets more unrealistic by the day...", - "quests.steam_age.miner.title": "Automatic Mining", - "quests.steam_age.miner.subtitle": "The end of the cave-in age", - "quests.steam_age.miner.desc.1": "You now have access to two options to automatically mine your ores! Both of these are very slow, though, so it's a good idea to set them up, chunkload them, then go do something else instead of sitting and waiting.\n\nThe Mechanical Drill will require a contraption to dig down, breaking all stone along the way. You can also attach it to the front of a train or minecart to dig tunnels if you'd like.", - "quests.steam_age.miner.desc.2": "The Steam Miner, on the other hand, only breaks ore blocks and replaces them with cobblestone, leaving the rest of the ground intact. It can mine ores in a (small) radius, meaning it has to be moved less often than the mechanical one, but it's also a lot slower.", - "quests.steam_age.paper.title": "Paper", - "quests.steam_age.paper.subtitle": "Not from sugarcane", - "quests.steam_age.paper.desc": "If you haven't made any yet, there's three different ways to get paper without electricity.\n\n1) Craft vellum out of a hide, pumice, and an egg.\n\n2) Weave together papyrus.\n\n3) Craft it out of hardwood through a lengthy process.\n\nYou can later turn wood pulp directly into paper with fewer steps.", - "quests.steam_age.lv_circuit.title": "Your first circuit!", - "quests.steam_age.lv_circuit.subtitle": "The dawn of a new age", - "quests.steam_age.lv_circuit.desc": "The recipe for these may look intimidating at first, but if you've spent an appropriate amount of time in the Steam Age, everything should be easily automatable. You'll be making a lot of these for a while, but your next few electic machines will help make them even cheaper until you get your hands on a Circuit Assembler late into LV.", - "quests.steam_age.what_next.title": "What Next?", - "quests.steam_age.what_next.subtitle": "Y'know, besides \"more GregTech\"", - "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! Unfortunately, alternators convert stress into a different electricity system than the one GregTech uses, so you'll need an Energy Converter to turn it into usable LV energy.", - "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\"", - "quests.steam_age.packager.desc": "Is your chest monster starting to grow out of control? Now you have access to Create's Logistics system! Check out the &3Create Logistics&r chapter for how to get started.", - "quests.steam_age.basic_mech_press.title": "Basic Mechanical Press", - "quests.steam_age.basic_mech_press.subtitle": "Automatic Welding Machine", - "quests.steam_age.basic_mech_press.desc": "If you hate welding things over and over, this machine can do it for you. Just place the Basin over your charcoal forge, make sure your forge's temperature is at Yellow or above, and then drop your items in the Basin. Unfortunately, that's about all that the basic one can do.", - "quests.steam_age.steel_mech_press.title": "Steel Mechanical Press", - "quests.steam_age.steel_mech_press.subtitle": "Almost a Forge Hammer", - "quests.steam_age.steel_mech_press.desc.1": "The High Pressure Steam Forge Hammer is right around the corner and can do almost everything that this machine can do, but if you're desperate for some higher tier automatic welding recipes, this is your ticket.\n\nIf you're unfamiliar with the Forge Hammer, both it and the Steel Mechanical Press can crush ores (without byproducts), turn rock into cobble into gravel into sand, and crack bricks. However, only the Forge Hammer can provide a &3cheaper recipe for metal plates&r...", - "quests.steam_age.steel_mech_press.desc.2": "&l&3Lore:&r&o The Create Mechanical Press used to be a key piece of late steam age progression prior to version 0.9 of TerraFirmaGreg, because it produced plates at an even better ratio of 5 to 4. However, its implementation was actually \"20 percent of the time, you get nothing\", which caused many people to proclaim how much they loved gambling while using it.", + "quests.steam_age.potin.desc.1": "&dТрубы из Потина&r обладают &oочень высокой пропускной способностью&r для своего уровня и стоимости. Возможно, стоит рассмотреть их использование для логистики жидкостей.\n\nЧтобы получить &dПотин&r, начните с создания его &eпорошка&r.\n\nДля выполнения квеста подойдет труба любого размера — маленькая или обычная.", + "quests.steam_age.potin.desc.2": "&l&3Лор:&r&o &dТрубы из Потина&r изначально были созданы в &9GT++&r и давали сильный прирост мощности игрокам в небольшом паке &4GT:NH&r. Мы решили поделиться этой радостью.\n\nВ реальном мире &dПотин&r — это сплав, используемый в монетах, а не в трубах. GTCEu становится все более нереалистичным с каждым днем...", + "quests.steam_age.miner.title": "Автоматическая добыча", + "quests.steam_age.miner.subtitle": "Конец эпохи обвалов", + "quests.steam_age.miner.desc.1": "Теперь у вас есть два варианта для автоматической добычи руд! Оба работают довольно медленно, поэтому лучше настроить их, загрузить чанки и заняться чем-то другим вместо того, чтобы сидеть и ждать.\n\nМеханическая Бур требует механизма, чтобы копать вниз, разрушая весь камень на пути. Его также можно присоединить к передней части поезда или вагонетки для рытья туннелей.", + "quests.steam_age.miner.desc.2": "Паровой Шахтер, с другой стороны, разрушает только блоки руды и заменяет их на булыжник, оставляя остальную землю нетронутой. Он добывает руду в небольшом радиусе, что уменьшает необходимость частого перемещения, но работает медленнее механического.", + "quests.steam_age.paper.title": "Бумага", + "quests.steam_age.paper.subtitle": "Не из тростника", + "quests.steam_age.paper.desc": "Если вы ещё не сделали бумагу, есть три способа получить её без электричества.\n\n1) Создайте пергамент из шкуры, пемзы и яйца.\n\n2) Сплетите папирус.\n\n3) Изготовьте бумагу из древесины с помощью длительного процесса.\n\nПозже древесную массу можно будет превратить в бумагу с меньшим количеством шагов.", + "quests.steam_age.lv_circuit.title": "Ваша первая Микросхема!", + "quests.steam_age.lv_circuit.subtitle": "Рассвет новой эры", + "quests.steam_age.lv_circuit.desc": "Сначала рецепт может показаться сложным, но если вы достаточно времени провели в Паровой Эпохе, всё должно быть легко автоматизируемо. Вы будете создавать много таких Микросхем, но ваши следующие электрические машины помогут сделать их ещё дешевле, пока вы не получите Сборщик Микросхем в конце LV.", + "quests.steam_age.what_next.title": "Что дальше?", + "quests.steam_age.what_next.subtitle": "Знаете, кроме «ещё больше GregTech»", + "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 конвертирует SU от ваших паровых двигателей в электричество. Каждый Паровой Двигатель + Генератор даёт 1A LV! К сожалению, альтернаторы преобразуют стресс в другую систему электричества, нежели GregTech, поэтому потребуется Energy Converter для получения используемой LV энергии.", + "quests.steam_age.alternator.desc.2": "Пример парового двигателя, производящего 8 ампер LV!\n", + "quests.steam_age.packager.title": "Логистика Create", + "quests.steam_age.packager.subtitle": "«AE2 у нас дома»", + "quests.steam_age.packager.desc": "Ваш сундук-монстр начинает выходить из-под контроля? Теперь у вас есть доступ к логистической системе Create! Ознакомьтесь с главой &3Логистика Create&r, чтобы начать.", + "quests.steam_age.basic_mech_press.title": "Механический Пресс", + "quests.steam_age.basic_mech_press.subtitle": "Автоматическая Сварочная Машина", + "quests.steam_age.basic_mech_press.desc": "Если вам надоело постоянно сваривать вещи вручную, эта машина сделает это за вас. Просто разместите Чашу над вашей угольной кузницей, убедитесь, что температура кузницы на уровне Жёлтого или выше, а затем бросьте предметы в Чашу. К сожалению, на этом возможности базовой модели заканчиваются.", + "quests.steam_age.steel_mech_press.title": "Стальной Механический Пресс", + "quests.steam_age.steel_mech_press.subtitle": "Почти как Кузнечный Молот", + "quests.steam_age.steel_mech_press.desc.1": "Кузнечный Молот Высокого Давления совсем рядом и может делать почти всё, что умеет эта машина, но если вам срочно нужны рецепты более высокого уровня для автоматической сварки, это ваш шанс.\n\nЕсли вы не знакомы с Кузнечным Молотом, он и Стальной Механический Пресс могут дробить руды (без побочных продуктов), превращать камень в булыжник, затем в гравий и песок, а также ломать кирпичи. Однако только Кузнечный Молот предлагает &3дешевый рецепт металлических пластин&r...", + "quests.steam_age.steel_mech_press.desc.2": "&l&3История:&r&o Механический Пресс Create раньше был ключевым элементом прогрессии поздней Паровой Эпохи до версии 0.9 TerraFirmaGreg, потому что производил пластины по ещё лучшему соотношению 5 к 4. Однако его реализация была фактически «20 процентов времени вы ничего не получаете», что заставляло многих утверждать, как им нравится азарт при его использовании.", + "parts.lang.quests.4": "stone_age", "quests.stone_age": "Каменный век", - "quests.stone_age.subtitle": "Скромные начинания", - "quests.stone_age.foods.title": "Hungry?", - "quests.stone_age.foods.subtitle": "Where's my easy food?", - "quests.stone_age.foods.desc": "In TerraFirmaGreg, the world is a harsh place, and one of the most important aspects of survival is being able to obtain food. Most food by itself yields little nutritional value, while others can be deadly if not cooked. Your hunger is represented by the green bar next to your health.\n\nBegin by obtaining any form of food.", - "quests.stone_age.nutrition.title": "Mechanic: Nutrition", - "quests.stone_age.nutrition.subtitle": "What do you mean I can't just eat steak?", - "quests.stone_age.nutrition.desc": "Each basic food in TerraFirmaGreg contains a nutritional value, and these nutrients are split into 5 different categories: &lGrain&r, &lFruits&r, &lVegetables&r, &lProtein&r and &lDairy&r.\n\nWhile you could eat only one kind of raw nutrient such as Protein, your overall health will be diminished, while keeping a balanced diet allows you to have much higher max health. Each 100 HP corresponds to one heart.\n\nLook at the field guide's section on \"Food and Water\" for full details.", - "quests.stone_age.cook_meat.title": "Basic Cooking", - "quests.stone_age.cook_meat.subtitle": "You don't want to die from eating raw meat, do you?", - "quests.stone_age.cook_meat.desc": "Cooking raw meat is an important step for getting protein - not only will it increase the overall shelf life of the meat, but it'll unlock even more nutrients for your demanding body.\n\nThe simplest way to cook meat is by using a Fire Pit. Look at the quest below this one to learn how to make one.", - "quests.stone_age.soup_time.title": "Soups", - "quests.stone_age.soup_time.subtitle": "Which store were you in?", - "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.tasks.1": "Any regular Sandwich", - "quests.stone_age.meals.tasks.2": "Any regular Jam Sandwich", - "quests.stone_age.garlic_bread.title": "Garlic Bread...?", - "quests.stone_age.garlic_bread.subtitle": "Are you fending off a vampire or something?", - "quests.stone_age.garlic_bread.desc": "ProTip: The quest task accepts ANY garlic bread, it doesnt need to be fresh.", - "quests.stone_age.garlic_bread.task": "1024 slices of Garlic Bread", - "quests.stone_age.find_potable_water.title": "Thirsty?", - "quests.stone_age.find_potable_water.subtitle": "Remember to drink water!", - "quests.stone_age.find_potable_water.desc": "Thirst is represented by the blue bar above your hunger. You can and will die of dehydration if you dont keep your thirst meter filled! The easiest way to have a drink is by drinking from natural ponds in the wild, by right-clicking on them with an empty hand.\nTo complete this quest, you need to drink a Potable source of water, can be regular or river water. You may need to drink multiple times so the quest completes properly\n\nYou don't have to worry about purifying water here, though Salt Water will just make you more thirsty.", - "quests.stone_age.find_potable_water.task": "Drink from a Water Source with your Hand. (Not Salty or Hot)", - "quests.stone_age.hydration.title": "Mechanic: Hydration", - "quests.stone_age.hydration.subtitle": "Yet another bar to keep full...", - "quests.stone_age.hydration.desc": "Water is an important resource, not just for staying hydrated! Setting up a base near a fresh lake or river is recommended, so you have easy access to the stuff. Other items can quench your thirst, such as certain types of food or drinks.\n\nWater won't always be available when you go exploring, however, so here are some ways to carry drinks around with you. Drinking consumes 100mB from the container.", - "quests.stone_age.leather_flask.title": "Leather Flask", - "quests.stone_age.leather_flask.subtitle": "Old Faithful", - "quests.stone_age.leather_flask.desc": "A Leather Flask is probably the second easiest portable water solution right after a Ceramic Jug. It can hold 500mb, or enough for five drinks.\n\nThe leather flask takes damage as it's used, but when broken, it can be repaired if you have leather at hand. Bladders can be obtained from larger wild animals.", - "quests.stone_age.iron_flask.title": "Iron Flask", - "quests.stone_age.iron_flask.subtitle": "Now this will be useful for a long while", - "quests.stone_age.iron_flask.desc": "The Iron Flask is an upgrade to the Leather Flask. It has much more durability than the Leather Flask and can hold enough fluid for 20 drinks.", - "quests.stone_age.water_bucket.title": "Water Bucket", - "quests.stone_age.water_bucket.subtitle": "Not as easy to get as you think", - "quests.stone_age.water_bucket.desc": "Carrying around a water source is an easy way to never run out, but is a bit cumbersome.\n\nUnfortunately, Wooden Buckets cannot be used to drink water, as they do not move source blocks, so trying to place it in the world will only create a very small puddle.", - "quests.stone_age.glass_bottles.title": "Glass Bottles", - "quests.stone_age.glass_bottles.subtitle": "Not as cool as a leather flask", - "quests.stone_age.glass_bottles.desc": "Glass bottles are just as effective as a Leather Flask, containing 500mb of water. However, blowing glass bottles won't be possible until later, once you have the ability to shape Brass.", - "quests.stone_age.water_jug.title": "Ceramic Jug", - "quests.stone_age.water_jug.subtitle": "Relatively easy water", - "quests.stone_age.water_jug.desc": "A Ceramic Jug is the earliest liquid container you can craft, but it can only hold 100mb, so you'll need to refill it after every drink.\n\nThe Jug is relatively fragile and has a random chance to break when you drink from it!", - "quests.stone_age.temperature.title": "Weather", - "quests.stone_age.temperature.subtitle": "The weather for today? Pain.", - "quests.stone_age.temperature.desc": "A new world starts in early summer, with each month lasting 8 days. Seasons will change, and with it comes in a change in temperature that will affect crops, fruit trees, bushes... and you!\n\nBody temperature is something you need to control and keep at a steady level. The small triangle between your health and hunger shows your current temperature and which way it's trending. Hold Sneak to see the exact numbers -- the left number is how wet you are, and the right number is temperature.", - "quests.stone_age.temperature.task": "Exist", - "quests.stone_age.insulation.title": "Mechanic: Body Temperature", - "quests.stone_age.insulation.subtitle": "Careful with Hypo- and Hyper-thermia.", - "quests.stone_age.insulation.desc": "Many things in the world will affect your body temperature, from direct sunlight, to being wet, to standing near fire. You must keep your temperature between 0 and 30°C or risk taking damage, indicated by a colored visual effect.\n\nThere are many ways you can reduce the effect of ambient temperature and keep your body at a stable level, and wearing &lClothes&r is one of the most effective. You can wear clothes both in your normal equipment slots or in your curios slots.", - "quests.stone_age.primitive_insulation.title": "Primitive Insulation", - "quests.stone_age.primitive_insulation.subtitle": "Caveman Chic", - "quests.stone_age.primitive_insulation.desc": "Naked and freezing? This is the easiest clothing you can craft, and though it has very low durability, it should last until you get something better.", - "quests.stone_age.furs.title": "Predator Hides", - "quests.stone_age.furs.subtitle": "Hardcore Fursuiting", - "quests.stone_age.furs.desc": "Large predatory animals drop their furs instead of normal hides, which you can either craft into insulating clothing, or scrape to get a normal hide to then turn into leather as normal.", - "quests.stone_age.wool_clothes.title": "Wool Clothes", - "quests.stone_age.wool_clothes.subtitle": "For the bitter cold", - "quests.stone_age.wool_clothes.desc": "Wool Clothes are perfect for cold climates and harsh winters. A full set of Wool Clothes is ideal to survive most winters.\n\nYou'll have to befriend (or kill) some wool producing mammal, such as a Sheep, Alpaca or Musk Ox. The Field Guide's section on Fauna lists where to find every different animal, and the Animal Husbandry section explains how to shear them.", - "quests.stone_age.insulated_leather_clothes.title": "Insulated Leather Clothes", - "quests.stone_age.insulated_leather_clothes.subtitle": "When it's getting chilly outside", - "quests.stone_age.insulated_leather_clothes.desc": "Insulated Leather Clothes are easier to make than a full set of Wool Clothes, but provide less insulation and warmth. They're still very effective for living in more temperate regions.\n\nYou'll need to kill animals to obtain their hide, and also befriend (or kill) some wool producing mammal to craft wool string, such as a Sheep, Alpaca or Musk Ox. The Field Guide's section on Fauna lists where to find every different animal, and the Animal Husbandry section explains how to shear them.", - "quests.stone_age.burlap_clothes.title": "Burlap Clothes", - "quests.stone_age.burlap_clothes.subtitle": "For when the heat is getting to you", - "quests.stone_age.burlap_clothes.desc": "Burlap is made out of Jute Fiber. Jute can grow in most warmer climates as long as its temperature and hydration needs are met.\n\nBurlap Clothes are great for hot summers or certain other hot environments, but we'll talk about that later.", - "quests.stone_age.silk_clothes.title": "Silk Clothes", - "quests.stone_age.silk_clothes.subtitle": "No Silkworms, sorry!", - "quests.stone_age.silk_clothes.desc": "Silk is made out of Spider String, which can be difficult to get large amounts of without venturing somewhere especially deep.\n\nSilk Clothes are excellent for incredibly hot environments, such as Deserts or the lower portions of The Beneath.", - "quests.stone_age.clothes.title": "Clothing", - "quests.stone_age.clothes.subtitle": "Fancy!", - "quests.stone_age.clothes.desc": "Wearing clothes are an easy way to handle extreme temperatures. Warm clothes such as Wool or Insulated Leather are great for cold environments, while Silk or Burlap are great for warm environments.", - "quests.stone_age.find_rock.title": "Find some Rocks", - "quests.stone_age.find_rock.subtitle": "Grug smash rock", - "quests.stone_age.find_rock.desc": "As you begin your journey, the first thing you'll notice is a completely changed world. You can no longer break trees with your fists, but fret not, for any caveman is not a real caveman without his stone tools!\n\nInstead of crafting a wooden pickaxe, you can just pick up rocks from the ground. Begin by collecting at least 4 rocks. You can collect rocks by breaking or right-clicking them with an empty hand.", - "quests.stone_age.rock_knapping.title": "Knapping", - "quests.stone_age.rock_knapping.subtitle": "Just like the olden days of the Paleolithic", - "quests.stone_age.rock_knapping.desc": "Rocks can be \"Knapped\", which is the process of shaping a basic material into a usable form by smacking them together. Rock Knapping requires at least two rocks, and by holding them and right-clicking the air, you'll open the Knapping interface. You can then \"chip off\" one of your rocks to create a stone tool head. All the shapes for different tools can be found in EMI and the Field Guide.\n\nThe two most important tools for the beginning of your journey are a Stone Knife and a Stone Axe, so try knapping those tool heads.", - "quests.stone_age.find_stick.title": "Find some Sticks", - "quests.stone_age.find_stick.subtitle": "You gotta handle that tool somehow", - "quests.stone_age.find_stick.desc": "Another abundant item on the ground are sticks, which have many uses! They can create tools, torches, firestarters and more.\n\nTo avoid having your inventory get clogged with different types of sticks, you can craft them into 'regular' sticks to stack them together. Later, you can bundle nine sticks into a Bunch, and the Bunch into a Bundle, which can then be used as a substitute for logs.", - "quests.stone_age.first_stone_tools.title": "Your first tools", - "quests.stone_age.first_stone_tools.subtitle": "Now you're a smart monkey", - "quests.stone_age.first_stone_tools.desc": "By Knapping your rocks into usable shapes, you can then combine them with a Stick to create your very first basic tools. You've officially entered the Stone Age!\n\nStone are enough for basic survival, but eventually you'll want to create metal tools for much better speed, durability, and tool options. The next two quests will help you collect the items you'll need.", - "quests.stone_age.stone_tools.title": "Stone Tools", - "quests.stone_age.stone_tools.subtitle": "Turns out hitting stones together is quite useful", - "quests.stone_age.stone_tools.desc": "While stone is a relatively simple and primitive material, they're what you're stuck with until you learn how to work with metals. Some other useful tools include the Javelin, which can be thrown like a vanilla Trident, and the Hoe, which allows you to farm.", - "quests.stone_age.gather_straw.title": "Gather Straw", - "quests.stone_age.gather_straw.subtitle": "You can also use a Hoe if you want", - "quests.stone_age.gather_straw.desc": "Most grasses you find in the overworld can be harvested for Straw, when broken with a Knife or Hoe. Straw has a number of uses for crafting, but you'll want at least 8 to create a Pit Kiln.\n\nStraw can also be used to create a Straw Hat for some basic sun protection, or Thatch, which can be used as a relatively simple building block with no collision.", - "quests.stone_age.gather_logs.title": "Gather Logs", - "quests.stone_age.gather_logs.subtitle": "Timber!", - "quests.stone_age.gather_logs.desc": "With your new Stone Axe, you'll be able to chop down trees. Breaking the base of a tree causes the entire tree to fall down, resulting in logs, sticks, and saplings.\n\nGather at least 10 logs -- 8 of these will be used for a Pit Kiln while the other two will be used for a Fire Pit.", - "quests.stone_age.firepit.title": "Fire Pit", - "quests.stone_age.firepit.subtitle": "Night time is coming", - "quests.stone_age.firepit.desc.1": "Now that you have some logs, its time to build your first Fire Pit! While monsters do not spawn on the surface at night, nocturnal predators will be awake and prowling around.\n\nYou'll first need to create a Firestarter, a tool that allows you to start fires.", - "quests.stone_age.firepit.desc.2": "To create your Fire Pit, throw at least one Log and up to 3 Sticks into the ground, then light the below block on fire by right-clicking-and-holding with your Firestarter. You can also add some Straw to make it easier.\n\nThe Firepit is not only a source of light and heat, but can be used to light torches and cook raw meat as well. You can keep your firepit lit by interacting with it and adding logs to the UI. If the fire dies out, simply add more logs and light it again with your Firestarter", - "quests.stone_age.find_clay.title": "Clay Sources", - "quests.stone_age.find_clay.subtitle": "You'll need a lot of this", - "quests.stone_age.find_clay.desc": "Clay is an essential part of stone age tech! Similar to knapping rocks, clay can be molded into different shapes and then fired in a Pit Kiln to create a wide variety of items. Stone Tools and Clay Ceramics will be the backbone of your survival until you learn how to work with Metals.\n\nClay is found in blobs in the ground, usually covered by grass. However, certain types of plants, known as \"Clay Indicators\" grow exclusively on clay. Check the Field Guide for what kind of indicators could grow in your climate.", - "quests.stone_age.clay.title": "Clay", - "quests.stone_age.clay.subtitle": "It's Clay!", - "quests.stone_age.clay.desc": "Gather at least 25 pieces of Clay. You'll need to make at least 5 different items to progress (see the next quests). Once you mold the clay, put them in a Pit Kiln to bake the clay into Ceramic. You can mold clay the same way to knap stone, though it takes 5 clay per item and the clay won't be lost if you misclick.", - "quests.stone_age.pit_kiln.title": "Pit Kiln", - "quests.stone_age.pit_kiln.subtitle": "Things are heating up now", - "quests.stone_age.pit_kiln.desc": "The Pit Kiln is an early game method of heating items up. We'll use it to both fire our clay items, and most importantly, melt very basic ores and create our first metal tool, a Saw.\n\nTo create a pit kiln you'll need eight pieces of Straw, eight logs, something you want to heat up, and a Firestarter. Read the Field Guide's Pit Kilns section on how to create it - it's not the same as a Fire Pit!", - "quests.stone_age.clay_products.title": "Clay Products", - "quests.stone_age.clay_products.subtitle": "I told you Clay was versatile.", - "quests.stone_age.clay_products.desc": "These are all the products you can make out of Clay. The Molds are used for metal working, the Vessels are used to hold items, and the others have uses explained in the Field Guide. Think you can knap them all?", - "quests.stone_age.make_jug.title": "Ceramic Jug", - "quests.stone_age.make_jug.subtitle": "Early Game fluid Container", - "quests.stone_age.make_jug.desc": "A Jug is the easiest to create fluid container, but it can only hold 100mB. You can also drink from it, and blow on it to make noises!", - "quests.stone_age.make_saw_mold.title": "Saw Mold", - "quests.stone_age.make_saw_mold.subtitle": "Time for your first metal tool", - "quests.stone_age.make_saw_mold.desc": "The first mold you should make out of clay is the Saw Mold. With it and some small amount of metal you can create a Saw. The Saw is an important tool, as it's required to create &lLumber&r, and with it, you'll be able to create your first &l&oWorkbench.&r", - "quests.stone_age.make_vessel.title": "Vessel", - "quests.stone_age.make_vessel.subtitle": "Useful small jars.", - "quests.stone_age.make_vessel.desc": "The Vessel can be used like a Bundle, to carry around several items in one slot, but more importantly, it's your first tool to begin working with Metals.\n\nBy interacting with the Vessel, you will open up its small inventory, where you can place ores. The Vessel's tooltip can also tell you what your ores will melt into, which is especially useful when crafting alloys!\n\nPlacing the Vessel in a Pit Kiln and heating it up allows you to &lmelt&r the metal inside.\n\nIf you're feeling adventurous, you can mix different metal types to create Alloys. Alloys require specific percentage mixtures of metals. While Copper is great immediatly, you could make your very first metal tools with Bronze instead.", - "quests.stone_age.native_ores.title": "Pebbles with ore?", - "quests.stone_age.native_ores.subtitle": "Your first metal is already available if you look for it.", - "quests.stone_age.native_ores.desc.1": "Ore veins generate differently than what you might be used to - you can't just wander into a random cave, instead you'll need to find \"Indicators\" on the surface. These can look like small rocks, dust piles, or even small crystal buds.\n\nCan't find anything that melts into Copper? Try looking for a another stone type -- different ores spawn in different rock types. Check the TFG Ores category of your Field Guide for a full list.", - "quests.stone_age.native_ores.desc.2": "Why are they called Indicators? This means that directly below, there is a big, HUGE vein with the same ore that you found on the surface. You don't have a pickaxe yet, so take note of the place where you found the Ore! It'll be very useful later on.\n\nEach one is worth about as much as a nugget, so collect as many as you can, but make sure you make a note of where you found them!", - "quests.stone_age.first_saw.title": "Metallic Saw", - "quests.stone_age.first_saw.subtitle": "Time for your first metal tool", - "quests.stone_age.first_saw.desc.1": "To begin making your Saw, add at least 144mb of ore of your desired metal to a Vessel. Afterwards, place the Vessel in a Pit Kiln and light it on fire.\n\nOnce the Pit Kiln burns out, quickly pick up your vessel while it's still hot, while holding some Wooden Tongs in your offhand, and interact with it to open the Pouring interface. Simply place the Saw Mold in the Pouring Interface's slot and watch it fill with your very first Saw Head. Afterwards, combine your Saw Head with a Stick and you'll create your Saw!", - "quests.stone_age.first_saw.desc.2": "While the easiest metal to work with is Copper, you can try your hand at the process of alloying. This quest's tasks will accept either an item made out of Copper, or a Bronze Alloy.\n\n&lBismuth Bronze&r: Copper, Bismuth and Zinc. The weakest of the bronzes, but can be the easiest to make.\n\n&lBronze&r: Copper and Tin. It's the most average of the bronzes.\n\n&lBlack Bronze&r: Copper, Gold, and Silver: The best bronze in the early game, but it's considerably more expensive.", - "quests.stone_age.first_saw.tasks.1": "A Copper or Bronze Saw Head.", - "quests.stone_age.first_saw.tasks.2": "A Copper or Bronze Saw.", - "quests.stone_age.craft_lumber.title": "Time for the Workbench", - "quests.stone_age.craft_lumber.subtitle": "3x3 crafting is within your grasp", - "quests.stone_age.craft_lumber.desc": "Combine your new Saw with a Log in your crafting grid to create Lumber. 4 Lumber can then be crafted into Planks...\n\n and once you have 4 planks, its time to make your very first Workbench.", - "quests.stone_age.workbench.title": "Workbench", - "quests.stone_age.workbench.subtitle": "This... is a Crafting Table", - "quests.stone_age.workbench.desc": "Congratulations! With your Workbench you've officially entered the Peak of the Stone Age. With it you'll be able to craft a multitude of new things with the items you've gathered so far.\n\nNow comes your main goal of the Primtive Age: proper metalworking with the Copper Anvil.\n\nSidenote: While you could gather enough materials to make 14 ingots of bronze right now, you won't be able to turn them into a bronze anvil without crafting the copper one first, sorry! At least anvils are recyclable, so you won't waste anything.", - "quests.stone_age.inventory.title": "Early Storage Options", - "quests.stone_age.inventory.subtitle": "Time to stop carrying all your junk in vessels", - "quests.stone_age.inventory.desc": "In the early game, you have 4 simple storage solutions available:\n\n&lChest&r: Chests are cheap and easy to craft, but only have 18 Slots and can't hold anything Large or bigger.\n\n&lCrate&r: Crates are single block inventories, the cheapest of which has 27 slots, but are more expensive to craft.\n\n&lSupply Cart&r: A Supply Cart has a huge size of 54 Slots and can be carried around with you, but takes up lots of space.\n\n&lLarge Vessels&r:The cheapest to craft, only requiring clay, and are ideal for food preservation. Available in a wide variety of colors too!", - "quests.stone_age.portable_storage.title": "Portable Storage?", - "quests.stone_age.portable_storage.subtitle": "Because getting your inventory filled with junk sucks", - "quests.stone_age.portable_storage.desc": "In the &lTerraFirmaGreg Tips&r chapter, there's a section that covers all your different options for Portable Storage, for expanding the number of items you can carry with you as you travel the world. In case you struggle finding the quests, they're the ones on the rightmost spoke of the tree.", - "quests.stone_age.barrels.title": "Barrels", - "quests.stone_age.barrels.subtitle": "Stephano?", - "quests.stone_age.barrels.desc": "Unlike their vanilla counterparts, Barrels here are used as Liquid Storage. Barrels are capable of storing a total of 10 Buckets of fluid, allowing for relatively simple storage of fluids.\n\nYou can also combine these fluids with other items, to create things like Leather, Glue, Mortar and more.", - "quests.stone_age.leather.title": "Leather", - "quests.stone_age.leather.subtitle": "Because of course everything has to be more complicated", - "quests.stone_age.leather.desc": "When killed, wild animals will drop raw hides. Hide cannot be used as leather directly and instead must be worked and processed first.\n\nLeather, just like Clay and Stone, can be Knapped. Knapping leather allows you to create things such as Leather Armor, Flasks, and so on.\nIf you dont want to kill animals for their leather, and live in a tropical area, you can work Pineapple into Pineapple Leather instead, which is a Leather Substitute.", - "quests.stone_age.leather_armor.title": "Leather Armor", - "quests.stone_age.leather_armor.subtitle": "Very basic protection", - "quests.stone_age.leather_armor.desc": "Leather Armor, just like its minecraft counterpart, is used as a very basic set of armor. It may not do much, but it'll protect you somewhat from the elements and provides OK resistances to Slashing damage.", - "quests.stone_age.mining_prep.title": "Mining Preparations", - "quests.stone_age.mining_prep.subtitle": "Hope you remember where you found those ore indicators!", - "quests.stone_age.mining_prep.desc.1": "Progressing beyond the stone age will require a lot of metal, and just picking up small ores on the surface won't be enough. You'll have to dig down and begin mining.\nAssuming you &odid&r mark the place where you found your copper, find the rough middle of where the indicators were and start digging! It might be pretty deep, but you'll eventually strike it rich. The next page has some equipment you'll want to bring along for your first mining trip!", - "quests.stone_age.mining_prep.desc.2": "&lPickaxe&r: Pretty obvious what this does, you'll need a way to break the stone and harvest the ore. Hammers will not work!\n\n&lLadders and Torches&r:You'll need some way to climb back up out of the hole and see what you're doing!\n\n&lSupport Beams and Planks&r: Mining in TFG is much more dangerous - not only do monsters spawn underground, but carelessly digging around can cause a cave-in! The quest above this one goes over how to mitigate dangers while mining.\n\nNow go and dig your hole, diggy diggy hole!", - "quests.stone_age.hazards.title": "Mining Hazards", - "quests.stone_age.hazards.subtitle": "Thought the surface was difficult? Think again.", - "quests.stone_age.hazards.desc.1": "Besides the monsters, the biggest challenge when mining is dealing with cave-ins. If a Raw stone or ore block has air below it, it's considered 'unsupported' and has a chance to start a cave-in every time a nearby block is mined. Cave roofs are covered with Hardened stone, which won't cause a collapse. To mitigate this, the safest thing you can do is just mine the floor, but if you want to safely mine anything else you'll have to learn how to use support beams! These are crafted with logs and a saw.", - "quests.stone_age.hazards.desc.2": "The Field Guide has more details and diagrams about how exactly support beams work, but the short version is you'll want to place them down like this within four blocks of each other. Only the top vertical beams will actually support anything, and they have a small radius.", - "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.", - "quests.stone_age.copper_for_anvil.desc": "Anvils aren't cheap! Each anvil will require 14 ingots, which are then welded into 7 double ingots.\n\nYou might want to start mining at this point if you haven't already, gathering 126 pieces of small copper is difficult.", - "quests.stone_age.get_raw_rock.title": "Raw Rock", - "quests.stone_age.get_raw_rock.subtitle": "No, it isn't just \"Stone\"", - "quests.stone_age.get_raw_rock.desc": "To create your Copper Anvil you'll need both a basic Stone Anvil and a Charcoal Forge. To make a Stone Anvil, you will need a block of Raw Igneous rock.\n\nTo obtain Raw Rock you can carefully break the blocks &laround&r the Raw Rock you want to mine. Once all 6 sides of the Raw Rock are exposed to air, it'll pop off into its Item form. Lastly, right-click a block of raw igneous rock to turn it into your Stone Anvil.", - "quests.stone_age.create_forge.title": "The Forge", - "quests.stone_age.create_forge.subtitle": "The Fabric doesnt exist by the way.", - "quests.stone_age.create_forge.desc": "The Forge is a state-of-the-art crafting station used to heat materials to high temperatures. The time it takes to heat things in the forge is considerably faster than the Pit Kiln, and is much easier to control too.\n\nTo make the forge you'll require at least 7 charcoal, and 5 rock-like blocks, such as raw rock or cobblestone.\nThe Forge does not use Logs, instead it uses Charcoal, Coal or Coke.\n\nCheck the field guide for walkthroughs on how to make a Charcoal Pit and a Charcoal Forge.", - "quests.stone_age.rock_anvil.title": "Rock Anvil", - "quests.stone_age.rock_anvil.subtitle": "This won't last long", - "quests.stone_age.rock_anvil.desc": "Anvils are the foundation of all early game metal working. To create a proper metal anvil, you'll need to weld ingots using the previous tier of Anvil. Since Copper is the first tier, you have to use a Rock Anvil to weld them. You can create a Stone Anvil by right-clicking a block of raw igneous rock with a hammer. Welding ingots is the only thing it can do, unfortunately - you'll need the metal's proper anvil to shape them into anything else.", - "quests.stone_age.quern.title": "Quern and Handstone", - "quests.stone_age.quern.subtitle": "Your first step into ore processing", - "quests.stone_age.quern.desc": "The Quern and Handstone are two big rocks grinding against each other to break down materials. The bottom piece is called a Quern while the top piece is called a Handstone. The Quern can be used to grind down your raw ores into crushed ores, yielding slightly higher mB count when smelted.\n\nYou can also use the Quern to create other powders like Flux, Flour, and Bone Meal.", - "quests.stone_age.crush_ore.title": "Early Ore Processing - Part 1", - "quests.stone_age.crush_ore.subtitle": "Getting more from your ores", - "quests.stone_age.crush_ore.desc": "The Quern is only the first step into processing your ores! Proper ore processing is a large, complex beast that you'll learn more about as you progress, and can be used to extract much more usable metal and other byproducts per each ore you mine. To start with though, we'll turn those raw ores you mined into Crushed Ore by putting it through the Quern. Just this first step is enough to increase the amount of mB your ore will melt into.", - "quests.stone_age.crush_crushed_ore.title": "Early Ore Processing - Part 2", - "quests.stone_age.crush_crushed_ore.subtitle": "Smash it with a hammer", - "quests.stone_age.crush_crushed_ore.desc": "Combine the Crushed Ore with a hammer in a crafting grid to turn it into Impure Dust, further increasing it's mB yield.\n\nThis may all be slow and tedious for now, but you'll soon unlock ways to do this faster and automatically!", - "quests.stone_age.clean_dust.title": "Early Ore Processing - Part 3", - "quests.stone_age.clean_dust.subtitle": "Wash that dirty dust", - "quests.stone_age.clean_dust.desc": "Finally, dropping Impure or Purified Dusts in some water and leaving them for a few seconds will wash them, yielding dust, which is your ore's final form. It might even be worth as much as a full ingot now!", - "quests.stone_age.flux.title": "Fluxstones", - "quests.stone_age.flux.subtitle": "It's basically metal glue", - "quests.stone_age.flux.desc": "Flux is an item that is primarily used in metal working to weld things together, though it has some other uses too.\nCertain types of Rocks such as Chalk, Limestone and Marble can be crushed down to make Flux, as well as the shells of various ocean animals.", - "quests.stone_age.weld_copper_ingots.title": "Welding Copper", - "quests.stone_age.weld_copper_ingots.subtitle": "So close to the Copper Anvil", - "quests.stone_age.weld_copper_ingots.desc": "Light up your Forge and give it at least 2 Copper Ingots. Keep an eye on their tooltip as they heat up - once they get hot, it'll show \"Can Work\", but we need to wait until they get to \"Can Weld\", which is just before their melting point.\n\nOnce they reach it, quickly pull them out of the forge (while holding some wooden tongs in your off-hand!) and into the Rock Anvil's interface, along with a little bit of flux. Lastly, right-click the anvil while sneaking to weld the two ingots together while they're still hot. You can use water or snow to cool down your new double ingot faster.", - "quests.metal_age.copper_anvil.title": "T1 Anvil: Copper", - "quests.metal_age.copper_anvil.subtitle": "It's all been building up to this!", - "quests.metal_age.copper_anvil.desc": "Congratulations! You've officially finished the Stone Age and entered the Metallurgy Age! With your Copper Anvil, the next step is to climb up the Anvil Tiers, and each time you unlock a new Tier, new tools and possibilities will be available to make your life progressively easier. Now go and become a master smith!", + "quests.stone_age.subtitle": "Скромные истоки", + "quests.stone_age.foods.title": "Голодный?", + "quests.stone_age.foods.subtitle": "Где моя легкая еда?", + "quests.stone_age.foods.desc": "В TerraFirmaGreg, мир — жесткое место, и один из ключевых аспектов выживания — способность добывать еду. Большинство еды само по себе дает мало насыщения, а другая может быть смертельно опасна, если не приготовлена. Твой голод изображен зеленой шкалой рядом с твоим здоровьем.\n\n Приступи к добыче любой еды.", + "quests.stone_age.nutrition.title": "Механика: Рацион", + "quests.stone_age.nutrition.subtitle": "Что значит, что я не могу питаться только одним стейком?", + "quests.stone_age.nutrition.desc": "Каждый продукт в TerraFirmaGreg содержит питательность, и эта питательность делиться на 5 различных категорий: &lЗерновые&r, &lФрукты&r, &lОвощи&r, &lБелки&r и &lМолочные&r.\n\nХотя вы можете питаться только одним типом пищи, например Белками, ваше общее здоровье будет уменьшаться, в то время сбалансированная диета позволяет увеличивать общее здоровье. Каждые 100 HP соответствуют одному сердцу.\n\nПосмотрите раздел Полевого руководства \"Еда и вода\" для всех деталей.", + "quests.stone_age.cook_meat.title": "Основы приготовления", + "quests.stone_age.cook_meat.subtitle": "Ты же не хочешь умереть от сырого мяса, не так ли?", + "quests.stone_age.cook_meat.desc": "Приготовление сырого мяса - важный шаг получения Белков - это не только увеличит срок хранения мяса, но и высвободит больше питательности для твоего требовательного тела.\n\nНаипростейший способ готовки мяса - использование костра. Ознакомьтесь с квестом снизу, чтобы узнать как его делать.", + "quests.stone_age.soup_time.title": "Супы", + "quests.stone_age.soup_time.subtitle": "В какой магазин ходил?", + "quests.stone_age.soup_time.desc": "Создав глиняный горшок и миски, вы можете готовить супы!\n\nСупы - один из первых и самых простых способов готовки сложных блюд. В отличии от поедания сырых ингредиентов, они {супы} гораздо больше насыщают и позволяют совмещать несколько питательных веществ сразу!", + "quests.stone_age.meals.title": "Блюда", + "quests.stone_age.meals.subtitle": "А НУ ПОЛЕЗАЙ КО МНЕ В БРЮХО!", + "quests.stone_age.meals.desc": "Есть лишь немного базовых блюд, которые вы можете приготовить. Супы, салаты и бутерброды - основной выбор для простых, высоконасыщенных, комбинированных блюд, тогда как пицца - единственная пища, содержащая каждый вид питательных веществ.", + "quests.stone_age.meals.tasks.1": "Любой бутерброд", + "quests.stone_age.meals.tasks.2": "Любой бутерброд с вареньем", + "quests.stone_age.garlic_bread.title": "Чесночный хлеб...?", + "quests.stone_age.garlic_bread.subtitle": "Ты вампиров отгоняешь или что?", + "quests.stone_age.garlic_bread.desc": "Важно: Квест принимает ЛЮБОЙ чесночный хлеб, ему не обязательно быть свежим.", + "quests.stone_age.garlic_bread.task": "1024 кусочков ченсночного хлеба", + "quests.stone_age.find_potable_water.title": "Жаждующий?", + "quests.stone_age.find_potable_water.subtitle": "Помни пить воду!", + "quests.stone_age.find_potable_water.desc": "Жажда представлена в виде синей шкалы снизу твоего голода. Вы можете умереть от обезвоживания, если не будете поддерживать свой уровень жажды полным! Самый простой способ попить - использовать природные водоемы, нажмите ПКМ по воде с пустой рукой.\nЧтобы завершить этот квест, вам нужно выпить из годного для питья источника, подойдет обычная или речная вода. Возможно, придется сделать несколько глотков для выполнения квеста\n\nНе нужно беспокоиться об очистке воды здесь, однако соленая вода только усилит жажду.", + "quests.stone_age.find_potable_water.task": "Попейте из источника воды с помощью твоей руки. (Не соленой или горячей)", + "quests.stone_age.hydration.title": "Механика: Гидратация", + "quests.stone_age.hydration.subtitle": "Еще одна шкала, за которой нужно следить...", + "quests.stone_age.hydration.desc": "Вода - важный ресурс не только для утоления жажды! Рекомендуется построить базу рядом с пресным озером или рекой, чтобы иметь к ней легкий доступ. Некоторые виды еды и напитков могуть утолять жажду.\n\nВода не всегда будет под рукой во время исследования, однако, есть нескольно способов носить воду с собой. Употребления напитка использует 100mB из контейнера.", + "quests.stone_age.leather_flask.title": "Бурдюк", + "quests.stone_age.leather_flask.subtitle": "Старый служак", + "quests.stone_age.leather_flask.desc": "Бурдюк - вероятно, является вторым по простоте способом переноски воды после керамического кувшина. Он вмещает 500mb, или достаточно для пяти глотков.\n\nБурдюк изнашивается по мере использования, но когда он ломается, его можно починить, если у вас есть мочевой пузырь. Мочевые пузыри могут быть добыты от крупных диких животных.", + "quests.stone_age.iron_flask.title": "Фляга", + "quests.stone_age.iron_flask.subtitle": "Теперь это будет полезно на еще долгое время", + "quests.stone_age.iron_flask.desc": "Фляга - улучшенная версия бурдюка. Она гораздо прочнее бурдюка и может вместить жидкости аж на 20 глотков ", + "quests.stone_age.water_bucket.title": "Ведро воды", + "quests.stone_age.water_bucket.subtitle": "Не так легко, как кажется", + "quests.stone_age.water_bucket.desc": "Носить с собой источник воды это простой способ не остаться без жидкости, но это немного громоздко.\n\nК несчастью, деревянные ведра не могуть быть использованы для питья - они не переносят блоки воды, при попытке вылить воду вы лишь получите маленькую лужу.", + "quests.stone_age.glass_bottles.title": "Пузырек", + "quests.stone_age.glass_bottles.subtitle": "Не так круто, как бурдюк", + "quests.stone_age.glass_bottles.desc": "Пузырек так же эффективны, как и бурдюки, вмещая 500 mb. Однако, изготовления пузырька станет возможным позже, когда у вас появится возможность обрабатывать латунь.", + "quests.stone_age.water_jug.title": "Керамический кувшин", + "quests.stone_age.water_jug.subtitle": "Относительно удобная вода", + "quests.stone_age.water_jug.desc": "Керамический кувшин - это самый ранний контейнер для жидкости, который вы можете создать, но он вмещает всего 100 mb, поэтому вам придется наполнять его после каждого глотка.\n\nКувшин относительно хрупкий и имеет случайный шанс разбиться, когда вы из него пьете!", + "quests.stone_age.temperature.title": "Погода", + "quests.stone_age.temperature.subtitle": "Погода на сегодня? Боль.", + "quests.stone_age.temperature.desc": "Новый мир начинается в начале лета, где каждый месяц длится 8 дней. Времена года будут сменяться, а вместе с ними и температура, что повлияет на урожай, фруктовые деревья, кустарники... и на вас!\n\nТемпературу тела необходимо контролировать и поддерживать на стабильном уровне. Маленький треугольник между показателями здоровья и голода отображает вашу текущую температуру и тенденцию ее изменения. Удерживайте кнопку \"Пригнуться\", чтобы увидеть точные цифры: левое число показывает уровень вашей влажности, а правое - температуру.", + "quests.stone_age.temperature.task": "Существовать", + "quests.stone_age.insulation.title": "Механика: Температура тела", + "quests.stone_age.insulation.subtitle": "Будьте осторожнее с Гипо- и Гипер-термия.", + "quests.stone_age.insulation.desc": "Множество факторов в мире могут повлиять на температуру вашего тела: от прямых солнечных лучей до нахождения в мокром состоянии или стоять рядом с огнем. Вы должны поддерживать свою температуру в диапазоне от 0 до 30°C, иначе рискуете получить урон, о котором будет сигнализировать цветной визуальный эффект.\n\nСуществует множество способов уменьшить влияние температуры окружающей среды и поддерживать стабильный уровень температуры тела, и ношение &lОдежды&r — один из самых эффективных. Вы можете носить одежду как в обычных слотах снаряжения, так и в косметических слотах.", + "quests.stone_age.primitive_insulation.title": "Примитивная изоляция", + "quests.stone_age.primitive_insulation.subtitle": "Шик пещерного человека", + "quests.stone_age.primitive_insulation.desc": "Раздетый и замерзаешь? Это самая простая одежда, которую вы можете скрафтить, и хотя у нее очень низкая прочность, ее должно хватить, пока вы не добудете что-нибудь получше.", + "quests.stone_age.furs.title": "Шкуры хищников", + "quests.stone_age.furs.subtitle": "Хардкорный фурсьютинг", + "quests.stone_age.furs.desc": "Крупные хищные животные сбрасывают свою шерсть вместо обычной шкуры, из которой вы можете либо сшить утепляющую одежду, либо соскоблить ее, чтобы получить обычную шкуру и затем, как обычно, превратить ее в кожу.", + "quests.stone_age.wool_clothes.title": "Шерстяная одежда", + "quests.stone_age.wool_clothes.subtitle": "Для сильного холода", + "quests.stone_age.wool_clothes.desc": "Шерстяная одежда идеально подходит для холодного климата и суровых зим. Полный комплект шерстяной одежды - отличный способ пережить большинство зим.\n\nВам придется подружиться (или убить) какое-нибудь шерстепроизводящее млекопитающее, например, овцу, альпаку или овцебыка (Мускусный бык). В разделе \"Дикие животные\" Полевого руководства указано, где найти каждое животное, а в разделе \"Животноводство\" объясняется, как их стричь.", + "quests.stone_age.insulated_leather_clothes.title": "Утепленная кожаная одежда", + "quests.stone_age.insulated_leather_clothes.subtitle": "Когда на улице становится холодно", + "quests.stone_age.insulated_leather_clothes.desc": "Утепленная кожаная одежда проще в изготовлении, чем полный комплект шерстяной одежды, но обеспечивает меньшую изоляцию и тепло. Тем не менее, она вполне эффективна для проживания в более умеренных регионах.\n\nЧтобы получить шкуру, вам потребуется убивать животных, а также подружиться (или убить) с каким-нибудь шерстепроизводящим млекопитающим, чтобы изготовить шерстяную нить, например, с овцой, альпакой или овцебыком (Мускусный бык). В разделе \"Дикие животные\" Полевого руководства указано, где найти каждое животное, а в разделе \"Животноводство\" объясняется, как их стричь.", + "quests.stone_age.burlap_clothes.title": "Одежда из джутовой ткани", + "quests.stone_age.burlap_clothes.subtitle": "Когда жара донимает вас", + "quests.stone_age.burlap_clothes.desc": "Джутовая ткань изготавливается из джутового волокна. Джут может расти в большинстве мест с теплым климатом при условии, что его потребности в температуре и увлажнении удовлетворены.\n\nОдежда из джутовой ткани отлично подходит для жаркого лета или других жарких условий, но об этом мы поговорим позже.", + "quests.stone_age.silk_clothes.title": "Шелковая одежда", + "quests.stone_age.silk_clothes.subtitle": "Шелкопрядов нет, извините!", + "quests.stone_age.silk_clothes.desc": "Шелк изготавливается из паучьей нити, которую трудно добыть в больших количествах, не забираясь особенно глубоко.\n\nШелковая одежда отлично подходит для невероятно жарких мест, таких как пустыни или нижние части Бездны.", + "quests.stone_age.clothes.title": "Одежда", + "quests.stone_age.clothes.subtitle": "Модно!", + "quests.stone_age.clothes.desc": "Ношение одежды - простой способ переносить экстремальные температуры. Теплая одежда, такая как шерсть или утепленная кожа, отлично подходит для холодных условий, а шелк или рогожа - для теплых.", + "quests.stone_age.find_rock.title": "Найди немного камней", + "quests.stone_age.find_rock.subtitle": "Груг крушить камень", + "quests.stone_age.find_rock.desc": "Когда вы начнете свое путешествие, первую вещь, которую вы заметите, - это полностью изменившийся мир. Вы больше не можете ломать деревья голыми руками, но не волнуйтесь, ведь любой пещерный человек не настоящий пещерный человек без своих каменных инструментов.\n\nИ вместо того, чтобы мастерить деревянную кирку, вы можете просто подбирать камни с земли. Для начала соберите не менее 4 камней. Вы можете собирать камни, разбивая их или нажимая на них правой кнопкой мыши пустой рукой.", + "quests.stone_age.rock_knapping.title": "Высекание", + "quests.stone_age.rock_knapping.subtitle": "Прямо как в старые добрые палеолитические времена", + "quests.stone_age.rock_knapping.desc": "Камни можно \"высекать\" - это процесс превращения основного материала в пригодную для использования форму путем ударов друг о друга. Для высекания камней требуется как минимум два камня, и, удерживая их и щелкая правой кнопкой мыши в воздухе, вы откроете интерфейс высекания. Затем вы можете \"отколоть\" один из камней, чтобы создать головку каменного инструмента. Все формы для различных инструментов можно найти в EMI и Полевом руководвстве.\n\nДва самых важных инструмента для начала вашего путешествия - это каменный нож и каменный топор, поэтому попробуйте выбить головки этих инструментов.", + "quests.stone_age.find_stick.title": "Найди немного палок", + "quests.stone_age.find_stick.subtitle": "Тебе понадобится какая-нибудь рукоятка для инструментов", + "quests.stone_age.find_stick.desc": "Еще один распространенный предмет на земле - палки, которым можно найти множество применений! Из них можно сделать инструменты, факелы, огниво и многое другое.\n\nЧтобы не засорять инвентарь разными видами палок, вы можете превратить их в 'обычные' палки и сложить их вместе. Позже вы сможете связать девять палок в пучок, а пучок - в связку, которую можно использовать вместо бревен.", + "quests.stone_age.first_stone_tools.title": "Твои первые инструменты", + "quests.stone_age.first_stone_tools.subtitle": "Теперь ты умная обезьянка", + "quests.stone_age.first_stone_tools.desc": "Обтесав камни, вы сможете соединить их с палкой и создать свои первые базовые инструменты. Вы официально вступили в каменный век!\n\nКамней достаточно для базового выживания, но со временем вы захотите создать металлические инструменты, чтобы повысить скорость, прочность и параметры инструментов. Следующие два квеста помогут вам собрать необходимые предметы.", + "quests.stone_age.stone_tools.title": "Каменные инструменты", + "quests.stone_age.stone_tools.subtitle": "Оказывается, бить камни друг с другом полезно.", + "quests.stone_age.stone_tools.desc": "Хотя камень - относительно простой и примитивный материал, с ним придется повозиться, пока вы не научитесь работать с металлами. Среди других полезных инструментов - копье, которое можно метать, как ванильный трезубец, и мотыга, позволяющая заниматься сельским хозяйством.", + "quests.stone_age.gather_straw.title": "Собери солому", + "quests.stone_age.gather_straw.subtitle": "Ты также можешь использовать мотыгу, если хочешь", + "quests.stone_age.gather_straw.desc": "Большинство травы, которые вы найдете в мире, можно собрать для получения соломы, если сломать их ножом или мотыгой. Солому можно использовать в различных крафтах, но для создания печи вам нужно не менее 8 штук.\n\nСолома также может быть использована для создания соломенной шляпы для защиты от солнца или блока соломы, который может быть использован как относительно простой строительный блок без столкновений.", + "quests.stone_age.gather_logs.title": "Собирайте бревна", + "quests.stone_age.gather_logs.subtitle": "Лесоматериал!", + "quests.stone_age.gather_logs.desc": "С помощью вашего нового каменного топора вы сможете рубить деревья. Разрубив основание дерева, вы повалите все дерево, в результате чего появятся бревна, палки и саженцы.\n\nСоберите как минимум 10 бревен - 8 из них будут использованы для Земляной Печи, а два других - для Костра.", + "quests.stone_age.firepit.title": "Костер", + "quests.stone_age.firepit.subtitle": "Наступает ночь", + "quests.stone_age.firepit.desc.1": "Теперь, когда у вас есть бревна, пришло время построить свой первый костер! Хотя монстры не появляются на поверхности ночью, но ночные хищники будут бодрствовать и рыскать вокруг.\n\nСперва вам нужно создать примитивное огниво, инструмент, который позволит вам разжигать костры.", + "quests.stone_age.firepit.desc.2": "Чтобы создать костер, бросьте на землю хотябы одно бревно и до трех палок, а затем подожгите блок, зажав правую кнопку мыши с помощью примитивного огнива. Вы также можете добавить немного соломы, чтобы облегчить задачу.\n\nКостер - это не только источник света и тепла, но и позволяет создавать факела, а также для приготовления сырого мяса. Вы можете поддерживать огонь в костре, взаимодействуя с ним и добавляя поленья в пользовательский интерфейс. Если огонь потухнет, просто добавьте еще поленьев и зажгите его снова с помощью примитивного огнива.", + "quests.stone_age.find_clay.title": "Источники глины", + "quests.stone_age.find_clay.subtitle": "Тебе ее много понадобится", + "quests.stone_age.find_clay.desc": "Глина - неотъемлемая часть технологий каменного века! Как и при обсекании камней, из глины можно лепить различные формы, а затем обжигать их в земляной печи, создавая самые разнообразные предметы. Каменные инструменты и глиняная керамика будут основой вашего выживания, пока вы не научитесь работать с металлами.\n\nГлина встречается в виде пятен в земле, обычно покрытых травой. Однако некоторые виды растений, известные как \"Индикаторы глины\", растут исключительно на глине. Узнайте в Полевом руководстве, какие виды индикаторов могут расти в вашем климате.", + "quests.stone_age.clay.title": "Глина", + "quests.stone_age.clay.subtitle": "Это глина!", + "quests.stone_age.clay.desc": "Соберите не менее 25 комков глины. Вам нужно сделать не менее 5 различных предметов для продвижения вперед (см. следующий квест). После того как вы вылепите глину, поместите ее в земляную печь, чтобы превратить в керамику. Вы можете лепить из глины так же, как при обсекании камня, однако, для каждого предмета требуется 5 кусков глины, и она не пропадет, если вы ошибетесь во время вылепливания.", + "quests.stone_age.pit_kiln.title": "Земляная печь", + "quests.stone_age.pit_kiln.subtitle": "Ситуация накаляется", + "quests.stone_age.pit_kiln.desc": "Земляная печь - это способ нагрева предметов в ранней стадии игры. С ее помощью мы будем обжигать глиняные предметы, а главное - плавить базовые руды и создавать наш первый металлический инструмент - пилу.\n\nДля создания печи вам понадобится восемь кусков соломы, восемь поленьев, то, что вы хотите нагреть, и примитивное огниво. Прочитайте раздел \"Земляные печи\" в Полевом руководстве о том, как их создавать - это не то же самое, что костер!", + "quests.stone_age.clay_products.title": "Гончарные изделия", + "quests.stone_age.clay_products.subtitle": "Я же говорил, что глина универсальна.", + "quests.stone_age.clay_products.desc": "Вот все изделия, которые можно сделать из глины. Формы используются для работы с металлом, сосуды - для хранения предметов, а у остальных изделий есть применение, описанное в Полевом руководстве. Думаете, вы сможете слепить их все?", + "quests.stone_age.make_jug.title": "Керамический кувшин", + "quests.stone_age.make_jug.subtitle": "Контейнер жидкости для ранней игры", + "quests.stone_age.make_jug.desc": "Кувшин - это самый простой контейнер для жидкости, но он вмещает только 100 mb. Из него можно пить, а также дуть в него, чтобы издавать звуки!", + "quests.stone_age.make_saw_mold.title": "Форма полотна пилы", + "quests.stone_age.make_saw_mold.subtitle": "Время для твоего первого металлического инструмента", + "quests.stone_age.make_saw_mold.desc": "Первая форма, которую вы должны сделать из глины, - это форма полотна пилы. С ее помощью и небольшого количества металла вы сможете создать пилу. Пила - важный инструмент, так как она необходима для создания &lДосок&r, и с их помощи вы сможете создать свой первый &l&oВерстак.&r", + "quests.stone_age.make_vessel.title": "Сосуд", + "quests.stone_age.make_vessel.subtitle": "Полезные маленькие банки", + "quests.stone_age.make_vessel.desc": "Сосуд также можно использовать для переноски несколько предметов в одном слоте, но что более важно, это ваш первый инструмент для работы с металлами.\n\nПри взаимодействии с Сосудом вы откроете его небольшой инвентарь, куда можно поместить руды. Подсказка к сосуду покажет, во что переплавится руда, что особенно полезно при создании сплавов!\n\nПоместите сосуд в земляную печь и зажгите ее, чтобы &lпереплавить&r металл внутри сосуда.\n\nЕсли вы чувствуете себя аванюристом, вы можете смешивать различные металлы, чтобы создать сплавы. Сплавы требуют определенный процент соотношения металлов. Хотя медь великолепна сразу же, вы можете сделать свои первые металлические инструменты из бронзы.", + "quests.stone_age.native_ores.title": "Камешки с рудой?", + "quests.stone_age.native_ores.subtitle": "Твой первый металл уже рядом, если поискать.", + "quests.stone_age.native_ores.desc.1": "Залежи руды образуются не так, как вы привыкли - вы не можете просто забрести в случайную пещеру, вместо этого вам нужно искать \"Индикаторы\" на поверхности. Они могут выглядеть как небольшие камни, кучи пыли или даже маленькие кристаллические бутоны.\n\nНе можете найти ничего, что плавится в медь? Попробуйте поискать другой тип камня — разные руды появляются в разных типах горных пород. Полный список можно найти в категории \"Руды TFG\" вашего Полевого руководства.", + "quests.stone_age.native_ores.desc.2": "Почему их называют индикаторами? Это значит, что прямо под ними находится большая, ОГРОМНАЯ жила с той же рудой, которую вы нашли на поверхности.У вас еще нет кирки, поэтому запомните место, где вы нашли руду! Позже это очень пригодится.\n\nКаждый кусочек стоит примерно столько же, сколько и самородок, так что собирайте их как можно больше, но не забудьте сделать заметку, где вы их нашли!", + "quests.stone_age.first_saw.title": "Металлическая пила", + "quests.stone_age.first_saw.subtitle": "Время для твоего первого металлического инструмента", + "quests.stone_age.first_saw.desc.1": "Чтобы начать изготовление пилы, добавьте в сосуд не менее 144mb руды желаемого металла. После этого поместите сосуд в земляную печь и зажгите ее.\n\nКогда печь прогорит, быстро поднимите сосуд, пока он еще горячий, держа деревянные клещи в свободной руке, и взаимодействуйте с ним, чтобы открыть интерфейс литья. Просто поместите форму полотна пилы в слот интерфейса литья и наблюдайте, как она наполняется вашим первым оголовьем пилы. После этого соедините оголовье с палкой, и у вас получится пила!", + "quests.stone_age.first_saw.desc.2": "Хотя самым простым металлом для работы является медь, вы можете попробовать свои силы в процессе создания сплавов. Задача этого квеста принимает предмет так из меди, так и из сплавов бронзы.\n\n&lВисмутовая бронза&r: Медь, висмут и цинк. Самая слабая из бронз, но ее легче всего изготовить.\n\n&lБронза&r: Медь и олово. Это самая средняя из бронз.\n\n&lЧерная бронза&r: Медь, Золото и Серебро: Лучшая бронза в ранней игре, но она значительно дороже.", + "quests.stone_age.first_saw.tasks.1": "Медное или бронзовое оголовье пилы.", + "quests.stone_age.first_saw.tasks.2": "Медная или бронзовая пила.", + "quests.stone_age.craft_lumber.title": "Время верстака", + "quests.stone_age.craft_lumber.subtitle": "Крафт 3x3 в пределах досягаемости", + "quests.stone_age.craft_lumber.desc": "Соедините новую пилу с бревном в сетке крафта, чтобы получить доски. 4 Доски можно превратить в доски...\n\n и как только у вас будет 4 доски, настанет время сделать ваш первый верстак.", + "quests.stone_age.workbench.title": "Верстак", + "quests.stone_age.workbench.subtitle": "Это... стол для крафта", + "quests.stone_age.workbench.desc": "Поздравляем! С вашим верстаком вы официально вступили на пик каменного века. С его помощью вы сможете изготовить множество новых вещей из собранных предметов.\n\nНаступает ваша главная цель в Первобытном веке: правильная обработка металла с помощью медной наковальни.\n\nПримечание: Хотя вы можете собрать достаточно материалов, чтобы сделать 14 слитков бронзы прямо сейчас, вы не сможете превратить их в бронзовую наковальню, не изготовив сначала медную, извините! По крайней мере, наковальни можно переплавить, так что вы ничего не потеряете.", + "quests.stone_age.inventory.title": "Варианты хранения на ранних этапах", + "quests.stone_age.inventory.subtitle": "Пора перестать носить весь свой хлам в сосудах", + "quests.stone_age.inventory.desc": "В ранней игре вам доступны 4 простых решения для хранения вещей:\n\n&lСундук&r: Сундуки дешевы и просты в изготовлении, но имеют всего 18 слотов и не могут вместить ничего большого или крупного.\n\n&lЯщик&r: Ящики - это одноблочные хранилища, самые дешевые из которых имеют 27 слотов, но их изготовление стоит дороже.\n\n&lГрузовая тележка&r: Грузовая тележка имеет огромный размер - 54 слота, ее можно носить с собой, но она занимает много места.\n\n&lБольшие сосуды&r: Самые дешевые в изготовлении, требуют только глину и идеально подходят для сохранения пищи. Доступны в широком разнообразии цветов!", + "quests.stone_age.portable_storage.title": "Переносимое хранилище?", + "quests.stone_age.portable_storage.subtitle": "Потому что заполнять инвентарь хламом — отстой", + "quests.stone_age.portable_storage.desc": "В главе &lСоветы TerraFirmaGreg&r есть раздел, посвященный различным вариантам переносных хранилищ, позволяющих расширить количество предметов, которые вы можете носить с собой, путешествуя по миру. Если вам трудно найти квесты, они находятся на самой правой спице дерева.", + "quests.stone_age.barrels.title": "Бочки", + "quests.stone_age.barrels.subtitle": "Стефано?", + "quests.stone_age.barrels.desc": "В отличие от ванильного аналога, бочки здесь используются как хранилище жидкостей. В бочках можно хранить в общей сложности 10 ведер жидкости, что позволяет относительно просто хранить жидкости.\n\nВы также можете комбинировать эти жидкости с другими предметами, чтобы создать такие вещи, как кожа, клей, строительный раствор и многое другое.", + "quests.stone_age.leather.title": "Кожа", + "quests.stone_age.leather.subtitle": "Даже тут без сложностей не обошлось", + "quests.stone_age.leather.desc": "После убийства дикие животные сбрасывают сырую шкуру. Шкуру нельзя использовать как кожу напрямую, ее нужно сначала обработать.\n\nКожа, как глина и камень, можно обтесывать. Обтесывание кожи способствует созданию таких вещей как: Кожаная броня, фляги и другие.\nЕсли вы не желаете убивать животных ради их шкуры и проживаете в тропической зоне, то вы можете обрабовать ананас, чтобы получить ананасовую кожу, которая является заменой кожи.", + "quests.stone_age.leather_armor.title": "Кожаная броня", + "quests.stone_age.leather_armor.subtitle": "Очень начальная защита", + "quests.stone_age.leather_armor.desc": "Кожаная броня, как и ее аналог в minecraft, используется в качестве базового набора брони. Она, может быть, и не дает многого, но в некоторой степени защитит вас от непогоды и обеспечит сопротивление к режущему урону.", + "quests.stone_age.mining_prep.title": "Подготовка к добыче", + "quests.stone_age.mining_prep.subtitle": "Надеюсь, ты запомнил, где находил эти рудные индикаторы!", + "quests.stone_age.mining_prep.desc.1": "Чтобы продвинуться за пределы каменного века, потребуется много металла, и просто собирать мелкие руды на поверхности будет недостаточно. Вам придется спуститься вниз и начать добычу.\nПредположим, вы &oотметили&r место, где нашли медь, найдите примерно середину, где были индикаторы, и начинайте копать! Это может быть довольно глубоко, но в конце концов вы разбогатеете. На следующей странице вы найдете оборудование, которое нужно взять с собой в первый поход на шахту!", + "quests.stone_age.mining_prep.desc.2": "&lКирка&r: Вам понадобится способ разбить камень и добыть руду. Кувалды не подойдут!\n\n&lЛестницы и факелы&r: Вам понадобится способ вылезти из ямы и посмотреть, что вы делаете!\n\n&lОпоры и доски&r: Добыча в TFG гораздо опаснее - под землей не только появляются монстры, но и неосторожное копание может привести к обвалу! В квесте над этим квестом рассказывается о том, как уменьшить опасность при добыче полезных ископаемых.\n\n А теперь идите и копайте свою яму, копайте, копайте!", + "quests.stone_age.hazards.title": "Опасности при добыче", + "quests.stone_age.hazards.subtitle": "Думал, на поверхности было сложно? Ошибаешься.", + "quests.stone_age.hazards.desc.1": "Помимо монстров, самой большой проблемой при добыче является борьба с обрушениями. Если под блоком сырой породы или руды есть воздух, он считается \"безопорным\" и имеет шанс начать обвал каждый раз, когда будет добыт соседний блок. Потолки пещер покрыты укрепленной породой, которая не вызывает обвала. Чтобы облегчить добычу, самое безопасное, что вы можете сделать, - это просто добывать пол, но если вы хотите безопасно добывать что-то еще, вам придется научиться использовать опоры! Они создаются с помощью бревен и пилы.", + "quests.stone_age.hazards.desc.2": "В Полевом руководстве есть больше подробностей и изображений о том, как именно работают опоры, но вкратце: размещайте их вот так, в пределах четырех блоков друг от друга. Только верхние вертикальные балки будут фактически поддерживать что-либо, и они имеют небольшой радиус.", + "quests.stone_age.copper_for_anvil.title": "Медь для наковальни", + "quests.stone_age.copper_for_anvil.subtitle": "Привыкай добывать 14 слитков чего-либо ", + "quests.stone_age.copper_for_anvil.desc": "Наковальни не дешевы! Каждая наковальня требует 14 слитков, которые затем свариваются в 7 двойных слитков.\n\nЕсли вы еще не начали добывать медь, то вам стоит начать добывать ее, ведь собрать 126 кусочков меди очень сложно.", + "quests.stone_age.get_raw_rock.title": "Сырая порода", + "quests.stone_age.get_raw_rock.subtitle": "Нет, это не просто \"Камень\"", + "quests.stone_age.get_raw_rock.desc": "Чтобы создать медную наковальню, вам понадобится базовая каменная наковальня и угольная кузня. Чтобы сделать каменную наковальню, вам понадобится блок сырой вулканической породы.\n\nЧтобы получить сырую породу, вы можете аккуратно разбить блоки &lвокруг&r сырой породы, которую вы хотите добыть. Как только все 6 сторон сырой породы окажутся под воздействием воздуха, она выпадет в виде предмета. И наконец, щелкните ПКМ по блоку сырой вулканической породы, чтобы превратить его в каменную наковальню.", + "quests.stone_age.create_forge.title": "Кузница", + "quests.stone_age.create_forge.subtitle": "Между прочем, Fabric тут ни причем.", + "quests.stone_age.create_forge.desc": "Кузница - это более современная ремесленная станция, используемая для нагревания материалов до высоких температур. Время, необходимое для нагрева материалов в кузнице, значительно быстрее, чем в земляной печи, и ее легче контролировать.\n\nДля создания кузницы вам потребуется как минимум 7 древесных углей и 5 блоков, похожих на породу, например, сырая порода или булыжник.\nКузница не использует бревна, вместо этого она использует древесный уголь, уголь или коксовый уголь.\n\nПосмотрите в полевом руководстве, как сделать угольную яму и угольную кузницу.", + "quests.stone_age.rock_anvil.title": "Каменная наковальня", + "quests.stone_age.rock_anvil.subtitle": "Это ненадолго", + "quests.stone_age.rock_anvil.desc": "Наковальня - основа всей металлообработки на раннем этапе игры. Чтобы создать подходящию металлическую наковальню, вам нужно сварить слитки, используя наковальню предыдущего уровня. Так как медь - это первый уровень, то для их сварки нужно использовать каменную наковальню. Каменную наковальню можно создать, щелкнув ПКМ с кувалдой в руке по блоку сырой вулканической породы. К сожалению, сварка слитков — единственное, что она умеет. Вам понадобится надлежащия металлическая наковальня, чтобы придать слиткам какую-либо форму.", + "quests.stone_age.quern.title": "Жернов", + "quests.stone_age.quern.subtitle": "Ваш первый шаг к обогащению руды", + "quests.stone_age.quern.desc": "Жернов - это два больших камня, которые дробят материалы между собой. С помощью верхней части можно измельчить необработанную руду до состояния дробленой руды, которая при переплавке дает немного больше mB.\n\nВ нем также можно создавать другие порошки, такие как флюс, мука и костяная мука.", + "quests.stone_age.crush_ore.title": "Ранняя переработка руды - Часть 1", + "quests.stone_age.crush_ore.subtitle": "Извлекаем больше из руды", + "quests.stone_age.crush_ore.desc": "Жернов - это только первый шаг к обработке руды! Правильная переработка руды - это большой и сложный зверь, о котором вы узнаете больше по мере продвижения, и с его помощью можно извлечь гораздо больше полезного металла и других побочных продуктов из каждой добытой вами руды. Для начала мы превратим добытую вами руду в дробленую, пропустив ее через жернов. Уже этого первого шага достаточно, чтобы увеличить количество mB, в которое переплавится ваша руда.", + "quests.stone_age.crush_crushed_ore.title": "Ранняя переработка руды - Часть 2", + "quests.stone_age.crush_crushed_ore.subtitle": "Раздроби ее кувалдой", + "quests.stone_age.crush_crushed_ore.desc": "Соедините дробленую руду с кувалдой в сетке крафта, чтобы превратить ее в грязную кучку пыли, что еще больше увеличит ее выход в mB.\n\nЭто все может быть медленным и утомительным пока, но вскоре вы откроете способы делать это быстрее и автоматически!", + "quests.stone_age.clean_dust.title": "Ранняя переработка руды - Часть 3", + "quests.stone_age.clean_dust.subtitle": "Промойте эту грязную пыль", + "quests.stone_age.clean_dust.desc": "Наконец, если бросить грязную или очищенную пыль в воду и оставить на несколько секунд, она вымоется и превратится в пыль, которая и будет окончательной формой вашей руды. Теперь она может стоить как целый слиток!", + "quests.stone_age.flux.title": "Флюс", + "quests.stone_age.flux.subtitle": "По сути, это клей для металла", + "quests.stone_age.flux.desc": "Флюс — это материал, который в основном используется в металлообработке для сварки, хотя у него есть и другие применения.\nНекоторые виды горных пород, такие как мел, известняк и мрамор, а также раковины различных морских животных, могут быть измельчены для получения флюса.", + "quests.stone_age.weld_copper_ingots.title": "Сваривание меди", + "quests.stone_age.weld_copper_ingots.subtitle": "На волоске до медной наковальни", + "quests.stone_age.weld_copper_ingots.desc": "Зажгите кузницу и дайте ей как минимум 2 медных слитка. Следите за их подсказкой, пока они нагреваются - как только они нагреются, она покажет \"Можно ковать\", но нам нужно подождать, пока они не дойдут до \"Можно сварить\", то есть до точки плавления.\n\nКогда они достигнут ее, быстро вытащите их из кузницы (держа в свободной руке деревянные клещи!) и поместите в интерфейс каменной наковальни, вместе с небольшим количеством флюса. И наконец, щелкните ПКМ по наковальне, пока вы крадетесь, чтобы сварить два слитка вместе, пока они еще горячие. Чтобы новый двойной слиток быстрее остыл, можно использовать воду или снег.", + "quests.metal_age.copper_anvil.title": "T1 Наковальня: Медь", + "quests.metal_age.copper_anvil.subtitle": "Все вело к этому!", + "quests.metal_age.copper_anvil.desc": "Поздравляем! Вы официально завершили каменный век и вступили в век металлургии! Получив медную наковальню, вы сможете получать следующие уровни наковальни, и каждый раз, когда вы будете открывать новый уровень, вам будут доступны новые инструменты и возможности, которые сделают вашу жизнь все проще. А теперь идите и станьте мастером кузнечного дела!", "quests.tfg": "TerraFirmaGreg - Modern", "quests.tfg.subtitle": "Добро пожаловать в TerraFirmaGreg!", "quests.tfg.welcome.title": "Добро пожаловать в TerraFirmaGreg!", From 14452769f1aca30b0e868a761b8263c7be981b21 Mon Sep 17 00:00:00 2001 From: theMegaTech <36931007+theMegaTech@users.noreply.github.com> Date: Thu, 13 Nov 2025 02:55:51 +0200 Subject: [PATCH 073/628] make bread and cheese rot properly (#2214) Signed-off-by: theMegaTech <36931007+theMegaTech@users.noreply.github.com> --- kubejs/server_scripts/firmalife/recipes.js | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index ee8ff9b3c..bffd93485 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -892,4 +892,127 @@ const registerFirmaLifeRecipes = (event) => { setChocolateHeating('white') setChocolateHeating('milk') setChocolateHeating('dark') + + //fixing the bread unrotting + event.remove({ id: 'firmalife:crafting/oat_slice'}) + event.remove({ id: 'firmalife:crafting/wheat_slice'}) + event.remove({ id: 'firmalife:crafting/barley_slice'}) + event.remove({ id: 'firmalife:crafting/maize_slice'}) + event.remove({ id: 'firmalife:crafting/rice_slice'}) + event.remove({ id: 'firmalife:crafting/rye_slice'}) + + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('2x firmalife:food/oat_slice').copyFood(), + [TFC.ingredient.notRotten('tfc:food/oat_bread'), '#forge:tools/knives'], 'tfc:food/oat_bread') + .id(`tfg:crafting/oat_slice`) + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('2x firmalife:food/wheat_slice').copyFood(), + [TFC.ingredient.notRotten('tfc:food/wheat_bread'), '#forge:tools/knives'], 'tfc:food/wheat_bread') + .id(`tfg:crafting/wheat_slice`) + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('2x firmalife:food/barley_slice').copyFood(), + [TFC.ingredient.notRotten('tfc:food/barley_bread'), '#forge:tools/knives'], 'tfc:food/barley_bread') + .id(`tfg:crafting/barley_slice`) + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('2x firmalife:food/maize_slice').copyFood(), + [TFC.ingredient.notRotten('tfc:food/maize_bread'), '#forge:tools/knives'], 'tfc:food/maize_bread') + .id(`tfg:crafting/maize_slice`) + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('2x firmalife:food/rice_slice').copyFood(), + [TFC.ingredient.notRotten('tfc:food/rice_bread'), '#forge:tools/knives'], 'tfc:food/rice_bread') + .id(`tfg:crafting/rice_slice`) + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('2x firmalife:food/rye_slice').copyFood(), + [TFC.ingredient.notRotten('tfc:food/rye_bread'), '#forge:tools/knives'], 'tfc:food/rye_bread') + .id(`tfg:crafting/rye_slice`) + + //fixing the cheese curd unrotting + event.remove({ id: 'firmalife:crafting/cheddar_wheel'}) + event.remove({ id: 'firmalife:crafting/chevre_wheel'}) + event.remove({ id: 'firmalife:crafting/rajya_metok_wheel'}) + event.remove({ id: 'firmalife:barrel/gouda'}) + event.remove({ id: 'firmalife:barrel/feta'}) + event.remove({ id: 'firmalife:barrel/shosha'}) + + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('firmalife:cheddar_wheel').copyFood(), [ + 'AAA', + 'BBB', + 'AAA' + ], { + A: 'tfc:powder/salt', + B: TFC.ingredient.notRotten('firmalife:food/milk_curd') + }, 0, 0).id('tfg:crafting/cheddar_wheel') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('firmalife:chevre_wheel').copyFood(), [ + 'AAA', + 'BBB', + 'AAA' + ], { + A: 'tfc:powder/salt', + B: TFC.ingredient.notRotten('firmalife:food/goat_curd') + }, 0, 0).id('tfg:crafting/chevre_wheel') + event.recipes.tfc.advanced_shaped_crafting( + TFC.itemStackProvider.of('firmalife:rajya_metok_wheel').copyFood(), [ + 'AAA', + 'BBB', + 'AAA' + ], { + A: 'tfc:powder/salt', + B: TFC.ingredient.notRotten('firmalife:food/yak_curd') + }, 0, 0).id('tfg:crafting/rajya_metok_wheel') + event.custom({ + "type": "tfc:barrel_sealed", + "input_item": { + "count": 3, + "ingredient": { + "type": "tfc:not_rotten", + "ingredient": { "item": "firmalife:food/milk_curd" } + } + }, + "input_fluid": { + "ingredient": "tfc:salt_water", + "amount": 750 + }, + "output_item": { + "item": "firmalife:gouda_wheel" + }, + "duration": 16000 + }).id('tfg:barrel/gouda_wheel') + event.custom({ + "type": "tfc:barrel_sealed", + "input_item": { + "count": 3, + "ingredient": { + "type": "tfc:not_rotten", + "ingredient": { "item": "firmalife:food/goat_curd" } + } + }, + "input_fluid": { + "ingredient": "tfc:salt_water", + "amount": 750 + }, + "output_item": { + "item": "firmalife:feta_wheel" + }, + "duration": 16000 + }).id('tfg:barrel/feta_wheel') + event.custom({ + "type": "tfc:barrel_sealed", + "input_item": { + "count": 3, + "ingredient": { + "type": "tfc:not_rotten", + "ingredient": { "item": "firmalife:food/yak_curd" } + } + }, + "input_fluid": { + "ingredient": "tfc:salt_water", + "amount": 750 + }, + "output_item": { + "item": "firmalife:shosha_wheel" + }, + "duration": 16000 + }).id('tfg:barrel/shosha_wheel') } From 6607f99e0c4616406edaa60129be050864124b13 Mon Sep 17 00:00:00 2001 From: Nebby <78170922+Nebby1999@users.noreply.github.com> Date: Thu, 13 Nov 2025 14:25:12 -0300 Subject: [PATCH 074/628] add tag to smooth stone (#2216) --- kubejs/server_scripts/minecraft/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 97cf8ecfe..c9b1f4a86 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -100,6 +100,8 @@ const registerMinecraftItemTags = (event) => { event.add('forge:smooth_stone_slab', 'minecraft:polished_deepslate_slab') event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_slab') event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_brick_slab') + + event.add('tfc:rock/smooth', 'minecraft:smooth_stone') } const registerMinecraftBlockTags = (event) => { From dd099b91217b87432fe175dc46da3ef368d20e58 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Fri, 14 Nov 2025 15:29:48 -0500 Subject: [PATCH 075/628] fix railgun ammo size (#2219) --- kubejs/server_scripts/tfg/data.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 36c23c485..b68d3bf58 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -78,7 +78,7 @@ function registerTFGItemSize(event) { event.itemSize("tfg:trowel", "large", "medium", "trowel"); - event.itemSize("tfg:railgun_ammo_shell", "large", "heavy", "trowel"); + event.itemSize("tfg:railgun_ammo_shell", "large", "medium", "railgun_ammo_shell"); event.itemSize("tfg:harvest_basket", "large", "medium", "harvest_basket"); event.itemSize("tfg:aluminium_harvest_basket", "large", "medium", "aluminium_harvest_basket"); From bd609e8de823833ffb702299b63408d5a838dbd9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 15 Nov 2025 00:21:39 +0000 Subject: [PATCH 076/628] langs --- kubejs/assets/ad_astra/lang/ja_jp.json | 24 +- kubejs/assets/ad_astra/lang/uk_ua.json | 4 +- kubejs/assets/ad_astra/lang/zh_cn.json | 4 +- kubejs/assets/beneath/lang/ja_jp.json | 30 + kubejs/assets/betterend/lang/ja_jp.json | 102 ++ kubejs/assets/betterend/lang/uk_ua.json | 8 +- .../assets/constructionwand/lang/ja_jp.json | 7 + kubejs/assets/createdeco/lang/ja_jp.json | 73 + .../assets/endermanoverhaul/lang/en_us.json | 80 + .../assets/endermanoverhaul/lang/ja_jp.json | 109 ++ kubejs/assets/firmalife/lang/uk_ua.json | 1 + kubejs/assets/gtceu/lang/ja_jp.json | 86 +- kubejs/assets/gtceu/lang/uk_ua.json | 13 + kubejs/assets/gtceu/lang/zh_cn.json | 13 + .../assets/immersive_aircraft/lang/uk_ua.json | 2 +- kubejs/assets/minecraft/lang/uk_ua.json | 1 + .../primitive_creatures/lang/en_us.json | 16 +- .../primitive_creatures/lang/ja_jp.json | 28 + kubejs/assets/species/lang/ja_jp.json | 5 + kubejs/assets/species/lang/zh_cn.json | 20 +- kubejs/assets/tacz/lang/ja_jp.json | 21 + kubejs/assets/tacz/lang/uk_ua.json | 12 + kubejs/assets/tacz/lang/zh_cn.json | 12 + kubejs/assets/tfc/lang/en_us.json | 3 + kubejs/assets/tfc/lang/uk_ua.json | 3 + kubejs/assets/tfc/lang/zh_cn.json | 3 + kubejs/assets/tfg/lang/ja_jp.json | 1380 ++++++++--------- kubejs/assets/tfg/lang/uk_ua.json | 97 +- kubejs/assets/tfg/lang/zh_cn.json | 57 +- .../vintageimprovements/lang/ja_jp.json | 22 + 30 files changed, 1433 insertions(+), 803 deletions(-) create mode 100644 kubejs/assets/beneath/lang/ja_jp.json create mode 100644 kubejs/assets/betterend/lang/ja_jp.json create mode 100644 kubejs/assets/constructionwand/lang/ja_jp.json create mode 100644 kubejs/assets/createdeco/lang/ja_jp.json create mode 100644 kubejs/assets/endermanoverhaul/lang/ja_jp.json create mode 100644 kubejs/assets/primitive_creatures/lang/ja_jp.json create mode 100644 kubejs/assets/species/lang/ja_jp.json create mode 100644 kubejs/assets/tacz/lang/ja_jp.json create mode 100644 kubejs/assets/vintageimprovements/lang/ja_jp.json diff --git a/kubejs/assets/ad_astra/lang/ja_jp.json b/kubejs/assets/ad_astra/lang/ja_jp.json index e4d64dfb1..b858835ca 100644 --- a/kubejs/assets/ad_astra/lang/ja_jp.json +++ b/kubejs/assets/ad_astra/lang/ja_jp.json @@ -24,9 +24,9 @@ "block.ad_astra.moon_deepslate": "ノーライト", "block.ad_astra.cheese_block": "ムーンチーズブロック", "block.ad_astra.moon_cheese_ore": "チーズ鉱石(斜長岩)", - "block.ad_astra.glacian_log": "Glacian Stem", - "block.ad_astra.stripped_glacian_log": "Stripped Glacian Stem", - "block.ad_astra.glacian_leaves": "Glacian Lamella", + "block.ad_astra.glacian_log": "グラシアンの幹", + "block.ad_astra.stripped_glacian_log": "表皮を剥いだグラシアンの幹", + "block.ad_astra.glacian_leaves": "グラシアンのひだ", "block.ad_astra.mars_sand": "粘土質岩の砂", "block.ad_astra.mars_stone": "粘土質岩", "block.ad_astra.mars_cobblestone": "粘土質岩の丸石", @@ -111,16 +111,16 @@ "block.ad_astra.glacio_globe": "Europa Globe", "entity.ad_astra.corrupted_lunarian": "月面ゾンビ", "entity.ad_astra.martian_raptor": "スケルタルラプター", - "entity.ad_astra.tier_1_rocket": "R-Aluminosteel 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-AS製ロケット", + "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": "R-Aluminosteel 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-AS製ロケット", + "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": "発展型太陽電池", @@ -134,10 +134,10 @@ "item.ad_astra.netherite_space_pants": "§bタングステンスチールの宇宙ズボン", "item.ad_astra.netherite_space_boots": "§bタングステンスチールの宇宙ブーツ", "item.ad_astra.cheese": "ムーンチーズ", - "dimension.ad_astra.glacio": "Europa", + "dimension.ad_astra.glacio": "エウロパ", "dimension.ad_astra.glacio_orbit": "Europa Orbit", - "painting.ad_astra.glacio.title": "Europa", - "planet.ad_astra.glacio": "Europa", + "painting.ad_astra.glacio.title": "エウロパ", + "planet.ad_astra.glacio": "エウロパ", "planet.ad_astra.glacio_orbit": "Europa Orbit", "tagprefix.moon_stone": "%s鉱石(斜長岩)", "tagprefix.moon_deepslate": "%s鉱石(ノーライト)", diff --git a/kubejs/assets/ad_astra/lang/uk_ua.json b/kubejs/assets/ad_astra/lang/uk_ua.json index 74dd9511a..87c9f351a 100644 --- a/kubejs/assets/ad_astra/lang/uk_ua.json +++ b/kubejs/assets/ad_astra/lang/uk_ua.json @@ -46,8 +46,8 @@ "block.ad_astra.polished_mars_stone": "Оброблений аргіліт", "block.ad_astra.polished_mars_stone_slab": "Оброблена аргілітова плита", "block.ad_astra.polished_mars_stone_stairs": "Оброблені аргілітові сходи", - "block.ad_astra.conglomerate": "Марсіанський конгломерат", - "block.ad_astra.polished_conglomerate": "Оброблений марсіанський конгломерат", + "block.ad_astra.conglomerate": "Мезовий покрив", + "block.ad_astra.polished_conglomerate": "Полірований мезовий покрив", "block.ad_astra.venus_sand": "Трахітовий пісок", "block.ad_astra.venus_stone": "Необроблений Трахіт", "block.ad_astra.venus_cobblestone": "Трахітовий кругляк", diff --git a/kubejs/assets/ad_astra/lang/zh_cn.json b/kubejs/assets/ad_astra/lang/zh_cn.json index fb18ff2c5..61b8ba40e 100644 --- a/kubejs/assets/ad_astra/lang/zh_cn.json +++ b/kubejs/assets/ad_astra/lang/zh_cn.json @@ -46,8 +46,8 @@ "block.ad_astra.polished_mars_stone": "磨制泥岩", "block.ad_astra.polished_mars_stone_slab": "磨制泥岩台阶", "block.ad_astra.polished_mars_stone_stairs": "磨制泥岩楼梯", - "block.ad_astra.conglomerate": "火星砾岩", - "block.ad_astra.polished_conglomerate": "磨制火星砾岩", + "block.ad_astra.conglomerate": "高原盖岩", + "block.ad_astra.polished_conglomerate": "磨制高原盖岩", "block.ad_astra.venus_sand": "粗面岩沙", "block.ad_astra.venus_stone": "天然粗面岩", "block.ad_astra.venus_cobblestone": "粗面岩圆石", diff --git a/kubejs/assets/beneath/lang/ja_jp.json b/kubejs/assets/beneath/lang/ja_jp.json new file mode 100644 index 000000000..bd49b8aa8 --- /dev/null +++ b/kubejs/assets/beneath/lang/ja_jp.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": "輝岩の小石", + "block.beneath.blackstone_aqueduct": "輝岩の用水路", + "block.beneath.loose_blackstone": "輝岩の小石", + "block.beneath.ore.nether_cursecoal": "無煙炭鉱石", + "block.beneath.ore.nether_cursecoal.prospected": "無煙炭", + "block.beneath.cursecoal_pile": "無煙炭の欠片", + "block.beneath.ore.blackstone_sylvite": "カリ岩塩鉱石", + "block.beneath.crackrack": "角斑岩", + "block.beneath.soul_clay": "粘土質の泥", + "block.beneath.wood.log.crimson": "深紅の幹", + "block.beneath.wood.stripped_log.crimson": "表皮を剥いだ深紅の幹", + "block.beneath.wood.wood.crimson": "深紅の菌糸", + "block.beneath.wood.stripped_wood.crimson": "表皮を剥いだ深紅の幹", + "block.beneath.wood.fallen_leaves.crimson": "深紅のひだ", + "block.beneath.wood.leaves.crimson": "深紅のひだ", + "block.beneath.wood.log.warped": "歪んだ幹", + "block.beneath.wood.stripped_log.warped": "表皮を剥いだ歪んだ幹", + "block.beneath.wood.wood.warped": "歪んだ菌糸", + "block.beneath.wood.stripped_wood.warped": "表皮を剥いだ歪んだ菌糸", + "block.beneath.wood.fallen_leaves.warped": "歪んだひだ", + "block.beneath.wood.leaves.warped": "歪んだひだ", + "block.beneath.ancient_altar": "輝岩の台座", + "item.beneath.cursed_hide": "耐火毛皮", + "item.beneath.blackstone_brick": "輝岩のレンガ", + "item.beneath.cursecoal": "無煙炭", + "item.beneath.crackrack_rock": "角斑岩", + "item.beneath.loose_blackstone": "輝岩の小石" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/ja_jp.json b/kubejs/assets/betterend/lang/ja_jp.json new file mode 100644 index 000000000..37ae88053 --- /dev/null +++ b/kubejs/assets/betterend/lang/ja_jp.json @@ -0,0 +1,102 @@ +{ + "__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": "Aeridium", + "block.betterend.amaranita_stem": "Amaranita Stem", + "block.betterend.amber_grass": "Amber Grass", + "block.betterend.amber_root_wild": "Wild Amber Shoots", + "block.betterend.amber_root_dead": "Dead Amber Shoots", + "block.betterend.amber_root": "Amber Shoots", + "block.betterend.aurant_polypore": "Aurant Polypore", + "block.betterend.blooming_cooksonia": "Blooming Cooksonia", + "block.betterend.blossom_berry": "Blossom Berry", + "block.betterend.blossom_berry_wild": "Wild Blossom Berry", + "block.betterend.blossom_berry_dead": "Dead Blossom Berry", + "block.betterend.bolux_mushroom": "Bolux Mushroom Colony", + "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony", + "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony", + "block.betterend.bushy_grass": "Novagrass", + "block.betterend.bulb_moss": "Bulb Moss", + "block.betterend.cave_bush": "Carmine Lamella", + "block.betterend.cave_bush_fallen": "Small Carmine Lamella", + "block.betterend.cave_grass": "Vermilligma", + "block.betterend.cave_pumpkin": "ヒカリカボチャ", + "block.betterend.cave_pumpkin_wild": "野生のヒカリカボチャの茎", + "block.betterend.cave_pumpkin_dead": "枯れたヒカリカボチャの茎", + "block.betterend.cave_pumpkin_plant": "ヒカリカボチャの茎", + "block.betterend.charnia_cyan": "Cyan Charnia", + "block.betterend.charnia_green": "Green Charnia", + "block.betterend.charnia_light_blue": "Teal Charnia", + "block.betterend.charnia_orange": "Orange Charnia", + "block.betterend.charnia_purple": "Purple Charnia", + "block.betterend.charnia_red": "Red Charnia", + "block.betterend.chorus_grass": "Chorus Grass", + "block.betterend.chorus_lily": "Chorus Lily", + "block.betterend.chorus_mushroom": "Chalmie Mushroom Colony", + "block.betterend.chorus_mushroom_wild": "Wild Chalmie Mushroom Colony", + "block.betterend.chorus_mushroom_dead": "Dead Chalmie Mushroom Colony", + "block.betterend.clawfern": "Clawfern", + "block.betterend.crystal_grass": "Crystal Grass", + "block.betterend.end_lily": "Deimos Lily", + "block.betterend.end_lily_seed": "Deimos Lily Sprout", + "block.betterend.end_lotus_flower": "Phobos Lotus Flower", + "block.betterend.end_lotus_leaf": "Phobos Lotus Leaf", + "block.betterend.end_lotus_stem": "Phobos Lotus Stem", + "block.betterend.end_lotus_seed": "Phobos Lotus Sprout", + "block.betterend.filalux_wings": "Filalux Wings", + "block.betterend.flamaea": "Flamaea Mushroom", + "block.betterend.flammalix": "Flammalix Mushroom", + "block.betterend.fracturn": "Fracturn", + "block.betterend.glacian_hymenophore": "Glacian Hymenophore", + "block.betterend.globulagus": "Globulagus", + "block.betterend.hydralux": "Hydralux", + "block.betterend.hydralux_sapling": "Hydralux Sprout", + "block.betterend.inflexia": "Inflexia", + "block.betterend.lacugrove": "Lacugrove Algae", + "block.betterend.lamellarium": "Lamellarium", + "block.betterend.lanceleaf": "Lanceleaf", + "block.betterend.lanceleaf_small": "Lanceleaf Dagger", + "block.betterend.large_amaranita_mushroom": "Large Amaranita Mushroom", + "block.betterend.lucernia_leaves": "Lucernia Lamella", + "block.betterend.lucernia_leaves_fallen": "Small Lucernia Lamella", + "block.betterend.lucernia_outer_leaves": "Lucernia Hyphae", + "block.betterend.lutebus": "Lutebus", + "block.betterend.magnula": "Magnula", + "block.betterend.nightshade_moss": "Nox Moss", + "block.betterend.orango": "Orango", + "block.betterend.pond_anemone": "Anemone", + "block.betterend.purple_polypore": "Purple Polypore", + "block.betterend.rubinea": "Rubinea", + "block.betterend.ruscus": "Ruscus Grass", + "block.betterend.salteago": "Salteago", + "block.betterend.selagine": "Selagine", + "block.betterend.shadow_berry": "Nox Berries", + "block.betterend.shadow_berry_wild": "Wild Nox Berries", + "block.betterend.shadow_berry_dead": "Dead Nox Berries", + "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", + "block.betterend.twisted_moss": "Twisted Moss", + "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", + "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", + "block.betterend.twisted_vine": "Twisted Vine", + "block.betterend.umbrella_moss": "Umbrella Moss", + "block.betterend.umbrella_moss_tall": "Umbrella Moss", + "block.betterend.vaiolush_fern": "Vaiolush Fern", + "item.betterend.amber_root_product": "Amber Shoots", + "item.betterend.amber_root_seeds": "Amber Shoots Seeds", + "item.betterend.blossom_berry_product": "Blossom Berry", + "item.betterend.blossom_berry_seeds": "Blossom Berry Seeds", + "item.betterend.bolux_mushroom_cooked": "Cooked Bolux Mushroom", + "item.betterend.bolux_mushroom_product": "Bolux Mushroom", + "item.betterend.bolux_mushroom_seeds": "Bolux Mushroom Spores", + "item.betterend.cave_pumpkin_chunks": "ヒカリカボチャのぶつ切り", + "item.betterend.cave_pumpkin_product": "ヒカリカボチャ", + "item.betterend.cave_pumpkin_plant_seeds": "ヒカリカボチャの種", + "item.betterend.cave_pumpkin_pie_dough": "ヒカリカボチャパイ生地", + "item.betterend.cave_pumpkin_pie_raw": "皿に入れたヒカリカボチャパイ生地", + "item.betterend.cave_pumpkin_pie": "ヒカリカボチャパイ", + "item.betterend.chorus_mushroom_cooked": "Cooked Chalmie Mushroom", + "item.betterend.chorus_mushroom_product": "Chalmie Mushroom", + "item.betterend.chorus_mushroom_seeds": "Chalmie Mushroom Spores", + "item.betterend.shadow_berry_cooked": "Cooked Nox Berry", + "item.betterend.shadow_berry_product": "Nox Berry", + "item.betterend.shadow_berry_seeds": "Nox Berry Seeds" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json index f7c87b9c3..d8d5bf67d 100644 --- a/kubejs/assets/betterend/lang/uk_ua.json +++ b/kubejs/assets/betterend/lang/uk_ua.json @@ -73,10 +73,10 @@ "block.betterend.shadow_berry_wild": "Дикі ягоди Нокс", "block.betterend.shadow_berry_dead": "Мертві ягоди Нокс", "block.betterend.small_amaranita_mushroom": "Малий гриб Амаранита", - "block.betterend.twisted_moss": "Викривлений мох", - "block.betterend.twisted_umbrella_moss": "Викривлений парасольковий мох", - "block.betterend.twisted_umbrella_moss_tall": "Викривлений парасольковий мох", - "block.betterend.twisted_vine": "Викривлена лоза", + "block.betterend.twisted_moss": "Химерний мох", + "block.betterend.twisted_umbrella_moss": "Химерний парасольковий мох", + "block.betterend.twisted_umbrella_moss_tall": "Химерний парасольковий мох", + "block.betterend.twisted_vine": "Химерна лоза", "block.betterend.umbrella_moss": "Парасолькоподібний мох", "block.betterend.umbrella_moss_tall": "Парасолькоподібний мох", "block.betterend.vaiolush_fern": "Папороть Вайолаш", diff --git a/kubejs/assets/constructionwand/lang/ja_jp.json b/kubejs/assets/constructionwand/lang/ja_jp.json new file mode 100644 index 000000000..a07f74161 --- /dev/null +++ b/kubejs/assets/constructionwand/lang/ja_jp.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.", + "item.constructionwand.stone_wand": "銅のワンド", + "item.constructionwand.iron_wand": "錬鉄のワンド", + "item.constructionwand.diamond_wand": "青鋼のワンド", + "item.constructionwand.infinity_wand": "高性能チタニウムワンド" +} \ No newline at end of file diff --git a/kubejs/assets/createdeco/lang/ja_jp.json b/kubejs/assets/createdeco/lang/ja_jp.json new file mode 100644 index 000000000..9891ebfd7 --- /dev/null +++ b/kubejs/assets/createdeco/lang/ja_jp.json @@ -0,0 +1,73 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createdeco.andesite_bars": "Tin Alloy Bars", + "block.createdeco.andesite_bars_overlay": "Tin Alloy Bars Overlay", + "block.createdeco.andesite_window": "Tin Alloy Window", + "block.createdeco.andesite_window_pane": "Tin Alloy Window Pane", + "block.createdeco.andesite_mesh_fence": "Tin Alloy Mesh Fence", + "block.createdeco.andesite_catwalk": "Tin Alloy Catwalk", + "block.createdeco.andesite_catwalk_stairs": "Tin Alloy Catwalk Stairs", + "block.createdeco.andesite_catwalk_railing": "Tin Alloy Catwalk Railing", + "block.createdeco.andesite_support_wedge": "Tin Alloy Support Wedge", + "block.createdeco.andesite_hull": "Tin Alloy Train Hull", + "block.createdeco.andesite_support": "Tin Alloy Support", + "block.createdeco.yellow_andesite_lamp": "Yellow Tin Alloy Cage Lamp", + "block.createdeco.red_andesite_lamp": "Red Tin Alloy Cage Lamp", + "block.createdeco.blue_andesite_lamp": "Blue Tin Alloy Cage Lamp", + "block.createdeco.green_andesite_lamp": "Green Tin Alloy Cage Lamp", + "block.createdeco.andesite_sheet_metal": "Tin Alloy Sheet Metal", + "block.createdeco.andesite_door": "Tin Alloy Door", + "block.createdeco.locked_andesite_door": "Locked Tin Alloy Door", + "block.createdeco.andesite_trapdoor": "Tin Alloy Trapdoor", + "block.createdeco.andesite_facade": "Tin Alloy Facade", + "block.createdeco.iron_bars": "Wrought Iron Bars", + "block.createdeco.iron_bars_overlay": "Wrought Iron Bars Overlay", + "block.createdeco.iron_window": "Wrought Iron Window", + "block.createdeco.iron_window_pane": "Wrought Iron Window Pane", + "block.createdeco.iron_mesh_fence": "Wrought Iron Mesh Fence", + "block.createdeco.iron_catwalk": "Wrought Iron Catwalk", + "block.createdeco.iron_catwalk_stairs": "Wrought Iron Catwalk Stairs", + "block.createdeco.iron_catwalk_railing": "Wrought Iron Catwalk Railing", + "block.createdeco.iron_support_wedge": "Wrought Iron Support Wedge", + "block.createdeco.iron_hull": "Wrought Iron Train Hull", + "block.createdeco.iron_support": "Wrought Iron Support", + "block.createdeco.yellow_iron_lamp": "Yellow Wrought Iron Cage Lamp", + "block.createdeco.red_iron_lamp": "Red Wrought Iron Cage Lamp", + "block.createdeco.blue_iron_lamp": "Blue Wrought Iron Cage Lamp", + "block.createdeco.green_iron_lamp": "Green Wrought Iron Cage Lamp", + "block.createdeco.iron_sheet_metal": "Wrought Iron Sheet Metal", + "block.createdeco.iron_door": "Wrought Iron Door", + "block.createdeco.locked_iron_door": "Locked Wrought Iron Door", + "block.createdeco.iron_trapdoor": "Wrought Iron Trapdoor", + "block.createdeco.iron_facade": "Wrought Iron Facade", + "block.createdeco.iron_coinstack": "Wrought Iron Coinstack", + "block.createdeco.netherite_coinstack": "Blue Steel Coinstack", + "block.createdeco.industrial_iron_coinstack": "Steel Coinstack", + "block.createdeco.industrial_iron_bars": "Steel Bars", + "block.createdeco.industrial_iron_bars_overlay": "Steel Bars Overlay", + "block.createdeco.industrial_iron_window": "Steel Window", + "block.createdeco.industrial_iron_window_pane": "Steel Window Pane", + "block.createdeco.industrial_iron_mesh_fence": "Steel Mesh Fence", + "block.createdeco.industrial_iron_catwalk": "Steel Catwalk", + "block.createdeco.industrial_iron_catwalk_stairs": "Steel Catwalk Stairs", + "block.createdeco.industrial_iron_catwalk_railing": "Steel Catwalk Railing", + "block.createdeco.industrial_iron_support_wedge": "Steel Support Wedge", + "block.createdeco.industrial_iron_hull": "Steel Train Hull", + "block.createdeco.industrial_iron_support": "Steel Support", + "block.createdeco.yellow_industrial_iron_lamp": "Yellow Steel Cage Lamp", + "block.createdeco.red_industrial_iron_lamp": "Red Steel Cage Lamp", + "block.createdeco.blue_industrial_iron_lamp": "Blue Steel Cage Lamp", + "block.createdeco.green_industrial_iron_lamp": "Green Steel Cage Lamp", + "block.createdeco.industrial_iron_sheet_metal": "Steel Sheet Metal", + "block.createdeco.industrial_iron_door": "Steel Door", + "block.createdeco.locked_industrial_iron_door": "Locked Steel Door", + "block.createdeco.industrial_iron_trapdoor": "Steel Trapdoor", + "block.createdeco.industrial_iron_ladder": "Steel Ladder", + "block.createdeco.industrial_iron_facade": "Steel Facade", + "item.createdeco.iron_coin": "Wrought Iron Coin", + "item.createdeco.netherite_coin": "Blue Steel Coin", + "item.createdeco.industrial_iron_coin": "Steel Coin", + "item.createdeco.iron_coinstack": "Wrought Iron Coinstack", + "item.createdeco.netherite_coinstack": "Blue Steel Coinstack", + "item.createdeco.industrial_iron_coinstack": "Steel Coinstack" +} \ No newline at end of file diff --git a/kubejs/assets/endermanoverhaul/lang/en_us.json b/kubejs/assets/endermanoverhaul/lang/en_us.json index 9f8aee6e7..72a21903a 100644 --- a/kubejs/assets/endermanoverhaul/lang/en_us.json +++ b/kubejs/assets/endermanoverhaul/lang/en_us.json @@ -1,5 +1,85 @@ { "__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": "Aeridium", + "block.betterend.amaranita_stem": "Amaranita Stem", + "block.betterend.amber_grass": "Amber Grass", + "block.betterend.amber_root_wild": "Wild Amber Shoots", + "block.betterend.amber_root_dead": "Dead Amber Shoots", + "block.betterend.amber_root": "Amber Shoots", + "block.betterend.aurant_polypore": "Aurant Polypore", + "block.betterend.blooming_cooksonia": "Blooming Cooksonia", + "block.betterend.blossom_berry": "Blossom Berry", + "block.betterend.blossom_berry_wild": "Wild Blossom Berry", + "block.betterend.blossom_berry_dead": "Dead Blossom Berry", + "block.betterend.bolux_mushroom": "Bolux Mushroom Colony", + "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony", + "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony", + "block.betterend.bushy_grass": "Novagrass", + "block.betterend.bulb_moss": "Bulb Moss", + "block.betterend.cave_bush": "Carmine Lamella", + "block.betterend.cave_bush_fallen": "Small Carmine Lamella", + "block.betterend.cave_grass": "Vermilligma", + "block.betterend.cave_pumpkin": "Bulbkin", + "block.betterend.cave_pumpkin_wild": "Wild Bulbkin Stem", + "block.betterend.cave_pumpkin_dead": "Dead Bulbkin Stem", + "block.betterend.cave_pumpkin_plant": "Bulbkin Stem", + "block.betterend.charnia_cyan": "Cyan Charnia", + "block.betterend.charnia_green": "Green Charnia", + "block.betterend.charnia_light_blue": "Teal Charnia", + "block.betterend.charnia_orange": "Orange Charnia", + "block.betterend.charnia_purple": "Purple Charnia", + "block.betterend.charnia_red": "Red Charnia", + "block.betterend.chorus_grass": "Chorus Grass", + "block.betterend.chorus_lily": "Chorus Lily", + "block.betterend.chorus_mushroom": "Chalmie Mushroom Colony", + "block.betterend.chorus_mushroom_wild": "Wild Chalmie Mushroom Colony", + "block.betterend.chorus_mushroom_dead": "Dead Chalmie Mushroom Colony", + "block.betterend.clawfern": "Clawfern", + "block.betterend.crystal_grass": "Crystal Grass", + "block.betterend.end_lily": "Deimos Lily", + "block.betterend.end_lily_seed": "Deimos Lily Sprout", + "block.betterend.end_lotus_flower": "Phobos Lotus Flower", + "block.betterend.end_lotus_leaf": "Phobos Lotus Leaf", + "block.betterend.end_lotus_stem": "Phobos Lotus Stem", + "block.betterend.end_lotus_seed": "Phobos Lotus Sprout", + "block.betterend.filalux_wings": "Filalux Wings", + "block.betterend.flamaea": "Flamaea Mushroom", + "block.betterend.flammalix": "Flammalix Mushroom", + "block.betterend.fracturn": "Fracturn", + "block.betterend.glacian_hymenophore": "Glacian Hymenophore", + "block.betterend.globulagus": "Globulagus", + "block.betterend.hydralux": "Hydralux", + "block.betterend.hydralux_sapling": "Hydralux Sprout", + "block.betterend.inflexia": "Inflexia", + "block.betterend.lacugrove": "Lacugrove Algae", + "block.betterend.lamellarium": "Lamellarium", + "block.betterend.lanceleaf": "Lanceleaf", + "block.betterend.lanceleaf_small": "Lanceleaf Dagger", + "block.betterend.large_amaranita_mushroom": "Large Amaranita Mushroom", + "block.betterend.lucernia_leaves": "Lucernia Lamella", + "block.betterend.lucernia_leaves_fallen": "Small Lucernia Lamella", + "block.betterend.lucernia_outer_leaves": "Lucernia Hyphae", + "block.betterend.lutebus": "Lutebus", + "block.betterend.magnula": "Magnula", + "block.betterend.nightshade_moss": "Nox Moss", + "block.betterend.orango": "Orango", + "block.betterend.pond_anemone": "Anemone", + "block.betterend.purple_polypore": "Purple Polypore", + "block.betterend.rubinea": "Rubinea", + "block.betterend.ruscus": "Ruscus Grass", + "block.betterend.salteago": "Salteago", + "block.betterend.selagine": "Selagine", + "block.betterend.shadow_berry": "Nox Berries", + "block.betterend.shadow_berry_wild": "Wild Nox Berries", + "block.betterend.shadow_berry_dead": "Dead Nox Berries", + "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", + "block.betterend.twisted_moss": "Twisted Moss", + "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", + "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", + "block.betterend.twisted_vine": "Twisted Vine", + "block.betterend.umbrella_moss": "Umbrella Moss", + "block.betterend.umbrella_moss_tall": "Umbrella Moss", + "block.betterend.vaiolush_fern": "Vaiolush Fern", "entity.endermanoverhaul.nether_wastes_enderman": "Deep Cave Enderman", "entity.endermanoverhaul.dark_oak_enderman": "Ashen Enderman", "entity.endermanoverhaul.mushroom_fields_enderman": "Mushroom Enderman", diff --git a/kubejs/assets/endermanoverhaul/lang/ja_jp.json b/kubejs/assets/endermanoverhaul/lang/ja_jp.json new file mode 100644 index 000000000..72a21903a --- /dev/null +++ b/kubejs/assets/endermanoverhaul/lang/ja_jp.json @@ -0,0 +1,109 @@ +{ + "__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": "Aeridium", + "block.betterend.amaranita_stem": "Amaranita Stem", + "block.betterend.amber_grass": "Amber Grass", + "block.betterend.amber_root_wild": "Wild Amber Shoots", + "block.betterend.amber_root_dead": "Dead Amber Shoots", + "block.betterend.amber_root": "Amber Shoots", + "block.betterend.aurant_polypore": "Aurant Polypore", + "block.betterend.blooming_cooksonia": "Blooming Cooksonia", + "block.betterend.blossom_berry": "Blossom Berry", + "block.betterend.blossom_berry_wild": "Wild Blossom Berry", + "block.betterend.blossom_berry_dead": "Dead Blossom Berry", + "block.betterend.bolux_mushroom": "Bolux Mushroom Colony", + "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony", + "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony", + "block.betterend.bushy_grass": "Novagrass", + "block.betterend.bulb_moss": "Bulb Moss", + "block.betterend.cave_bush": "Carmine Lamella", + "block.betterend.cave_bush_fallen": "Small Carmine Lamella", + "block.betterend.cave_grass": "Vermilligma", + "block.betterend.cave_pumpkin": "Bulbkin", + "block.betterend.cave_pumpkin_wild": "Wild Bulbkin Stem", + "block.betterend.cave_pumpkin_dead": "Dead Bulbkin Stem", + "block.betterend.cave_pumpkin_plant": "Bulbkin Stem", + "block.betterend.charnia_cyan": "Cyan Charnia", + "block.betterend.charnia_green": "Green Charnia", + "block.betterend.charnia_light_blue": "Teal Charnia", + "block.betterend.charnia_orange": "Orange Charnia", + "block.betterend.charnia_purple": "Purple Charnia", + "block.betterend.charnia_red": "Red Charnia", + "block.betterend.chorus_grass": "Chorus Grass", + "block.betterend.chorus_lily": "Chorus Lily", + "block.betterend.chorus_mushroom": "Chalmie Mushroom Colony", + "block.betterend.chorus_mushroom_wild": "Wild Chalmie Mushroom Colony", + "block.betterend.chorus_mushroom_dead": "Dead Chalmie Mushroom Colony", + "block.betterend.clawfern": "Clawfern", + "block.betterend.crystal_grass": "Crystal Grass", + "block.betterend.end_lily": "Deimos Lily", + "block.betterend.end_lily_seed": "Deimos Lily Sprout", + "block.betterend.end_lotus_flower": "Phobos Lotus Flower", + "block.betterend.end_lotus_leaf": "Phobos Lotus Leaf", + "block.betterend.end_lotus_stem": "Phobos Lotus Stem", + "block.betterend.end_lotus_seed": "Phobos Lotus Sprout", + "block.betterend.filalux_wings": "Filalux Wings", + "block.betterend.flamaea": "Flamaea Mushroom", + "block.betterend.flammalix": "Flammalix Mushroom", + "block.betterend.fracturn": "Fracturn", + "block.betterend.glacian_hymenophore": "Glacian Hymenophore", + "block.betterend.globulagus": "Globulagus", + "block.betterend.hydralux": "Hydralux", + "block.betterend.hydralux_sapling": "Hydralux Sprout", + "block.betterend.inflexia": "Inflexia", + "block.betterend.lacugrove": "Lacugrove Algae", + "block.betterend.lamellarium": "Lamellarium", + "block.betterend.lanceleaf": "Lanceleaf", + "block.betterend.lanceleaf_small": "Lanceleaf Dagger", + "block.betterend.large_amaranita_mushroom": "Large Amaranita Mushroom", + "block.betterend.lucernia_leaves": "Lucernia Lamella", + "block.betterend.lucernia_leaves_fallen": "Small Lucernia Lamella", + "block.betterend.lucernia_outer_leaves": "Lucernia Hyphae", + "block.betterend.lutebus": "Lutebus", + "block.betterend.magnula": "Magnula", + "block.betterend.nightshade_moss": "Nox Moss", + "block.betterend.orango": "Orango", + "block.betterend.pond_anemone": "Anemone", + "block.betterend.purple_polypore": "Purple Polypore", + "block.betterend.rubinea": "Rubinea", + "block.betterend.ruscus": "Ruscus Grass", + "block.betterend.salteago": "Salteago", + "block.betterend.selagine": "Selagine", + "block.betterend.shadow_berry": "Nox Berries", + "block.betterend.shadow_berry_wild": "Wild Nox Berries", + "block.betterend.shadow_berry_dead": "Dead Nox Berries", + "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", + "block.betterend.twisted_moss": "Twisted Moss", + "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", + "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", + "block.betterend.twisted_vine": "Twisted Vine", + "block.betterend.umbrella_moss": "Umbrella Moss", + "block.betterend.umbrella_moss_tall": "Umbrella Moss", + "block.betterend.vaiolush_fern": "Vaiolush Fern", + "entity.endermanoverhaul.nether_wastes_enderman": "Deep Cave Enderman", + "entity.endermanoverhaul.dark_oak_enderman": "Ashen Enderman", + "entity.endermanoverhaul.mushroom_fields_enderman": "Mushroom Enderman", + "entity.endermanoverhaul.swamp_enderman": "Mossy Enderman", + "entity.endermanoverhaul.scarab": "Beetle", + "entity.endermanoverhaul.soulsand_valley_enderman": "Lightbloom-Touched Enderman", + "entity.endermanoverhaul.windswept_hills_enderman": "Lunar Maria Enderman", + "entity.endermanoverhaul.end_enderman": "Baritone Choral Enderman", + "entity.endermanoverhaul.end_islands_enderman": "Soprano Choral Enderman", + "entity.endermanoverhaul.spirit": "Comet", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Deep Cave Enderman Spawn Egg", + "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "Ashen Enderman Spawn Egg", + "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "Mushroom Enderman Spawn Egg", + "item.endermanoverhaul.swamp_enderman_spawn_egg": "Mossy Enderman Spawn Egg", + "item.endermanoverhaul.scarab_spawn_egg": "Beetle Spawn Egg", + "item.endermanoverhaul.soulsand_valley_enderman_spawn_egg": "Lightbloom-Touched Enderman Spawn Egg", + "item.endermanoverhaul.windswept_hills_enderman_spawn_egg": "Lunar Maria Enderman Spawn Egg", + "item.endermanoverhaul.end_enderman_spawn_egg": "Baritone Choral Enderman Spawn Egg", + "item.endermanoverhaul.end_islands_enderman_spawn_egg": "Soprano Choral Enderman Spawn Egg", + "item.endermanoverhaul.spirit_spawn_egg": "Comet Spawn Egg", + "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "Deep Cave Enderman vwoops", + "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "Deep Cave Enderman hurts", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "Ashen Enderman vwoops", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.darkness": "Ashen Enderman darkens", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.stare": "Ashen Enderman cries out", + "tag.item.endermanoverhaul.ender_pearls": "Ender Pearls" +} \ No newline at end of file diff --git a/kubejs/assets/firmalife/lang/uk_ua.json b/kubejs/assets/firmalife/lang/uk_ua.json index 600248407..0be3e4ae3 100644 --- a/kubejs/assets/firmalife/lang/uk_ua.json +++ b/kubejs/assets/firmalife/lang/uk_ua.json @@ -17,6 +17,7 @@ "block.firmalife.treated_wood_greenhouse_trapdoor": "Люк теплиці з обробленої воском деревини", "block.firmalife.treated_wood_greenhouse_door": "Двері теплиці з обробленої воском деревини", "block.firmalife.treated_wood": "Оброблена воском деревина", + "item.firmalife.treated_lumber": "Оброблені воском пиломатеріали", "greenhouse.firmalife.treated_wood": "Оброблена воском деревина", "firmalife.jade.needs_peel": "Потрібні щипці або прихватки, щоб безпечно виймати вироби" } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 853e2e2dc..509abe61a 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -10,14 +10,14 @@ "block.gtceu.nuclear_fuel_factory": "核分裂燃料形成機", "block.gtceu.heat_exchanger": "熱交換機", "block.gtceu.fission_reactor": "核分裂炉", - "block.gtceu.evaporation_tower": "Evaporation Tower", - "block.gtceu.ostrum_harvester": "オストラム採取機", - "block.gtceu.moon_dust_harvester": "月面採集機", - "block.gtceu.ostrum_linear_accelerator": "放射性電解機", + "block.gtceu.evaporation_tower": "蒸発塔", + "block.gtceu.ostrum_harvester": "オストラムハーベスター", + "block.gtceu.moon_dust_harvester": "ムーンハーベスター", + "block.gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", "block.gtceu.ulv_super_tank": "基本型スーパータンク", "block.gtceu.ulv_super_chest": "基本型スーパーチェスト", - "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", - "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A Dynamo Hatch§r", + "block.gtceu.ulv_hermetic_casing": "基本気密外装", + "block.gtceu.hv_energy_output_hatch_4a": "§6HV 4A ダイナモハッチ§r", "block.tfg.bioreactor": "Bioreactor", "block.tfg.growth_chamber": "Growth Chamber", "block.tfg.single_itemstack_bus": "Limiting Input Bus", @@ -29,7 +29,7 @@ "block.gtceu.black_bronze_drum": "ブラックブロンズ製ドラム", "block.gtceu.bismuth_bronze_crate": "ビスマスブロンズ製クレート", "block.gtceu.bismuth_bronze_drum": "ビスマスブロンズ製ドラム", - "block.gtceu.overworld_marker": "Earth", + "block.gtceu.overworld_marker": "地球", "block.gtceu.the_nether_marker": "The Beneath", "gtceu.greenhouse": "電気温室", "gtceu.steam_bloomery": "蒸気式塊鉄炉", @@ -42,10 +42,10 @@ "gtceu.nuclear_fuel_factory": "核分裂燃料形成機", "gtceu.heat_exchanger": "熱交換機", "gtceu.fission_reactor": "核分裂炉", - "gtceu.evaporation_tower": "Evaporation Tower", - "gtceu.ostrum_harvester": "オストラム採取機", - "gtceu.moon_dust_harvester": "月面採集機", - "gtceu.ostrum_linear_accelerator": "放射性電解機", + "gtceu.evaporation_tower": "蒸発塔", + "gtceu.ostrum_harvester": "オストラムハーベスター", + "gtceu.moon_dust_harvester": "ムーンハーベスター", + "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", @@ -111,7 +111,7 @@ "item.gtceu.exquisite_rock_salt_gem": "精巧な岩塩の結晶", "item.gtceu.flawless_salt_gem": "傷のない塩の結晶", "item.gtceu.flawless_rock_salt_gem": "傷のない岩塩の結晶", - "material.gtceu.ice": "Ice Slush", + "material.gtceu.ice": "氷泥", "material.gtceu.damascus_steel": "Swine-steel", "material.gtceu.air": "空気", "material.gtceu.liquid_air": "液体空気", @@ -122,24 +122,24 @@ "material.gtceu.calorite": "カロライト", "material.gtceu.etrium": "エトリウム", "material.gtceu.aluminium_silicate": "ケイ酸アルミニウム", - "material.gtceu.rocket_alloy_t1": "R-Aluminosteel Rocket Alloy", - "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", - "material.gtceu.rocket_alloy_t3": "45-Ti Tungstensteel Rocket Alloy", + "material.gtceu.rocket_alloy_t1": "R-AS ロケット合金", + "material.gtceu.rocket_alloy_t2": "ASM 4914 チタニウム ロケット合金", + "material.gtceu.rocket_alloy_t3": "45-Ti タングステンスチール ロケット合金", "material.gtceu.vitrified_asbestos": "ガラス化した石綿", "material.gtceu.liquid_carbon_dioxide": "液化二酸化炭素", "material.gtceu.hot_debrominated_brine": "Hot Debrominated Brine", - "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.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.hydrogen_iodide": "ヨウ化水素 ", + "material.gtceu.dense_steam": "原子力蒸気", + "material.gtceu.radioactive_steam": "放射性蒸気", + "material.gtceu.radioactive_waste": "放射性残留物", + "material.gtceu.irradiated_steam": "高濃度放射性蒸気", + "material.gtceu.heavy_water": "重水", + "material.gtceu.uranium_waste": "ウラニウム残留物", + "material.gtceu.nuclear_waste": "核分裂廃棄物", + "material.gtceu.dirty_hexafluorosilicic_acid": "汚れた六フッ化ケイ酸", + "material.gtceu.martian_sludge": "火星の泥漿", + "material.gtceu.dioxygen_difluoride": "二フッ化二酸素", + "material.gtceu.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", @@ -156,21 +156,21 @@ "material.gtceu.debrominated_brine": "Debrominated Brine", "material.gtceu.acidic_bromine_exhaust": "Acidic Bromine Exhaust", "material.gtceu.hot_alkaline_debrominated_brine": "Hot Alkaline Debrominated Brine", - "material.gtceu.lithium_carbonate": "Lithium Carbonate", - "material.gtceu.lithium_fluoride": "Lithium Fluoride", - "material.gtceu.tetrafluoroberyllate": "Tetrafluoroberyllate", - "material.gtceu.thorium_230": "Thorium 230", - "material.gtceu.thorium_232": "Thorium 232", + "material.gtceu.lithium_carbonate": "炭酸リチウム", + "material.gtceu.lithium_fluoride": "フッ化リチウム", + "material.gtceu.tetrafluoroberyllate": "テトラフルオロベリラート", + "material.gtceu.thorium_230": "トリウム230", + "material.gtceu.thorium_232": "トリウム232", "material.gtceu.tbu-232_pellet": "TBU 232 Pellet", - "material.gtceu.plutonium_pellet": "Plutonium Pellet", - "material.gtceu.uranium_pellet": "Uranium Pellet", - "material.gtceu.thorium_pellet": "Thorium Pellet", - "material.gtceu.ostrum_iodide": "Ostrum Iodide", - "material.gtceu.residual_radioactive_concoction": "Residual Radioactive Concoction", - "material.gtceu.regolith_vapor": "Regolith Vapor", - "material.gtceu.dense_ostrum_vapor": "Dense Ostrum Vapor", - "material.gtceu.lightweight_ostrum_vapor": "Lightweight Ostrum Vapor", - "material.gtceu.ostrum_vapor": "Ostrum Vapor", + "material.gtceu.plutonium_pellet": "プルトニウムペレット", + "material.gtceu.uranium_pellet": "ウランペレット", + "material.gtceu.thorium_pellet": "トリウムペレット", + "material.gtceu.ostrum_iodide": "ヨウ化オストラム", + "material.gtceu.residual_radioactive_concoction": "残留放射性混合物", + "material.gtceu.regolith_vapor": "月面堆積粉塵", + "material.gtceu.dense_ostrum_vapor": "重質オストラム粉塵", + "material.gtceu.lightweight_ostrum_vapor": "軽質オストラム粉塵", + "material.gtceu.ostrum_vapor": "オストラム粉塵", "metaitem.dust.tooltip.purify": "Drop in Water to get Clean Dust", "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", @@ -200,7 +200,7 @@ "tagprefix.double_ingot": "%sのダブルインゴット", "tagprefix.poor_raw": "低純度の%s", "tagprefix.rich_raw": "高純度の%s", - "tagprefix.dusty_raw": "くすんだ%s", + "tagprefix.dusty_raw": "粉っぽい%s", "tagprefix.gabbro": "%s鉱石(斑れい岩)", "tagprefix.shale": "%s鉱石(頁岩)", "tagprefix.claystone": "%s鉱石(粘土岩)", @@ -211,7 +211,7 @@ "tagprefix.chalk": "%s鉱石(白亜)", "tagprefix.rhyolite": "%s鉱石(流紋岩)", "tagprefix.dacite": "%s鉱石(デイサイト)", - "tagprefix.quartzite": "%s鉱石(Quartzite)", + "tagprefix.quartzite": "%s鉱石(珪岩)", "tagprefix.slate": "%s鉱石(粘板岩)", "tagprefix.phyllite": "%s鉱石(千枚岩)", "tagprefix.schist": "%s鉱石(片岩)", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 9639bf2a4..4e90c15fe 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -40,6 +40,7 @@ "gtceu.large_solar_panel_tier3": "Велика сонячна матриця MK III", "gtceu.gas_pressurizer": "Газовий пресуризатор", "gtceu.nuclear_fuel_factory": "Фабрика ядерного палива", + "gtceu.nuclear_turbine": "Ядерна парова турбіна", "gtceu.heat_exchanger": "Теплообмінник", "gtceu.fission_reactor": "Реактор ядерного поділу", "gtceu.evaporation_tower": "Випарна камера", @@ -48,6 +49,18 @@ "gtceu.ostrum_linear_accelerator": "Лінійний Прискорювач з Оструму", "gtceu.bioreactor": "Біореактор", "gtceu.growth_chamber": "Камера росту", + "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Позаземний пилосос§r", + "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Збирає нескінченну кількість реголітового пилу залежно від біома, в якому він розміщений.§r", + "gtceu.tooltip.machine.ostrum_harvester_1": "§7Юридично відмінний пряний повзун§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Збирає нескінченну кількість острумового пилу, якщо розміщений над родовищем оструму. \nПотребує бурової рідини для роботи.§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хіггса не входить у комплект§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Розкладає острумовий пил на його компоненти. Потребує різні рідини з лінії поділу.§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагрівання рідин іншими гарячими рідинами§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7Передає тепло від однієї рідини до іншої.§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Виробляє додатково пікантні стрижні§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Переробляє необроблений радіоактивний матеріал у подільне паливо.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Покращуйте свою домницю силою пари!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє залізовмісний пил або злитки у сирі залізні криці. \nВикористання коксу чи антрациту як палива подвоїть вихід. \nМоже обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", "item.gtceu.tiny_wood_dust": "Маленька купа хвойної целюлози", "item.gtceu.small_wood_dust": "Мала купа хвойної целюлози", "item.gtceu.wood_dust": "Хвойна целюлоза", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index a1b53c874..97ccf2c09 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -40,6 +40,7 @@ "gtceu.large_solar_panel_tier3": "大型太阳能阵列 MK III", "gtceu.gas_pressurizer": "气体加压器", "gtceu.nuclear_fuel_factory": "核燃料工厂", + "gtceu.nuclear_turbine": "核能蒸汽涡轮", "gtceu.heat_exchanger": "热交换器", "gtceu.fission_reactor": "裂变反应堆", "gtceu.evaporation_tower": "蒸发塔", @@ -48,6 +49,18 @@ "gtceu.ostrum_linear_accelerator": "紫金线性加速器", "gtceu.bioreactor": "生物反应器", "gtceu.growth_chamber": "生长室", + "gtceu.tooltip.machine.moon_dust_harvester_1": "§7地外真空吸尘器§r", + "gtceu.tooltip.machine.moon_dust_harvester_2": "§7根据所处生物群系无限采集风化土粉尘。§r", + "gtceu.tooltip.machine.ostrum_harvester_1": "§7合法异星香料采集车§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7置于紫金矿床上方可无限采集紫金粉。\n需消耗钻井液。§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7不含希格斯玻色子§r", + "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7将紫金矿粉分解为组分原料。需配合裂变产线多种流体。§r", + "gtceu.tooltip.machine.heat_exchanger_1": "§7用高温流体加热其他流体§r", + "gtceu.tooltip.machine.heat_exchanger_2": "§7实现流体间的热量传递§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7超劲爆燃料棒制造厂§r", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7将原始放射性材料加工成裂变燃料§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7用蒸汽动力升级你的锻铁炉!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。\n使用焦煤或无烟煤可倍增产量。\n支持最多8组配方并行处理,相应调整蒸汽需求。§r", "item.gtceu.tiny_wood_dust": "小撮软木浆", "item.gtceu.small_wood_dust": "小堆软木浆", "item.gtceu.wood_dust": "软木浆", diff --git a/kubejs/assets/immersive_aircraft/lang/uk_ua.json b/kubejs/assets/immersive_aircraft/lang/uk_ua.json index 20c726a37..38aa82f8a 100644 --- a/kubejs/assets/immersive_aircraft/lang/uk_ua.json +++ b/kubejs/assets/immersive_aircraft/lang/uk_ua.json @@ -6,5 +6,5 @@ "item.immersive_aircraft.enhanced_propeller": "Вкритий алюмінієвий авіаційний пропелер", "item.immersive_aircraft.improved_landing_gear": "Шасі з темної сталі", "item.immersive_aircraft.hull_reinforcement": "Посилена обшивка з темної сталі", - "item.immersive_aircraft.bamboo_hopper": "Алюмінієва воронка" + "item.immersive_aircraft.bamboo_hopper": "Алюмінієва лійка" } \ No newline at end of file diff --git a/kubejs/assets/minecraft/lang/uk_ua.json b/kubejs/assets/minecraft/lang/uk_ua.json index edae2bf32..956bb5a46 100644 --- a/kubejs/assets/minecraft/lang/uk_ua.json +++ b/kubejs/assets/minecraft/lang/uk_ua.json @@ -94,6 +94,7 @@ "item.minecraft.iron_ingot": "Чавунний злиток", "item.minecraft.iron_block": "Чавунний блок", "item.minecraft.netherite_leggings": "Сині сталеві легінси для дайвінгу", + "item.minecraft.netherite_boots": "Сині сталеві лавостійкі чоботи", "item.minecraft.string": "Шовкова нитка", "item.minecraft.glow_ink_sac": "Світний барвник", "item.minecraft.nether_brick": "Кератофірова цегла", diff --git a/kubejs/assets/primitive_creatures/lang/en_us.json b/kubejs/assets/primitive_creatures/lang/en_us.json index 94560f1fa..bafcb300e 100644 --- a/kubejs/assets/primitive_creatures/lang/en_us.json +++ b/kubejs/assets/primitive_creatures/lang/en_us.json @@ -1,13 +1,13 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.primitive_creatures.tfc": "Kaolin Klayze", - "entity.primitive_creatures.golem_2": "Graphite Glayze", - "entity.primitive_creatures.iloger_4": "Ambusher", - "entity.primitive_creatures.wiloger": "Beast Tamer", - "entity.primitive_creatures.iloger_2": "Herbalist", - "entity.primitive_creatures.iloger_1": "Forager", - "entity.primitive_creatures.piloger_9": "Warrior", - "entity.primitive_creatures.nahida": "Huntmaster", + "entity.primitive_creatures.tfc": "カオリンクレイズ", + "entity.primitive_creatures.golem_2": "グラファイトグレイズ", + "entity.primitive_creatures.iloger_4": "伏兵", + "entity.primitive_creatures.wiloger": "猛獣使い", + "entity.primitive_creatures.iloger_2": "薬草師", + "entity.primitive_creatures.iloger_1": "野人", + "entity.primitive_creatures.piloger_9": "蛮族", + "entity.primitive_creatures.nahida": "ハントマスター", "item.primitive_creatures.tfc_spawn_egg": "Kaolin Klayze Spawn Egg", "item.primitive_creatures.golem_2_spawn_egg": "Graphite Glayze Spawn Egg", "item.primitive_creatures.iloger_4_spawn_egg": "Ambusher Spawn Egg", diff --git a/kubejs/assets/primitive_creatures/lang/ja_jp.json b/kubejs/assets/primitive_creatures/lang/ja_jp.json new file mode 100644 index 000000000..305f427c4 --- /dev/null +++ b/kubejs/assets/primitive_creatures/lang/ja_jp.json @@ -0,0 +1,28 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.primitive_creatures.tfc": "Kaolin Klayze", + "entity.primitive_creatures.golem_2": "Graphite Glayze", + "entity.primitive_creatures.iloger_4": "Ambusher", + "entity.primitive_creatures.wiloger": "Beast Tamer", + "entity.primitive_creatures.iloger_2": "Herbalist", + "entity.primitive_creatures.iloger_1": "Forager", + "entity.primitive_creatures.piloger_9": "Warrior", + "entity.primitive_creatures.nahida": "Huntmaster", + "item.primitive_creatures.tfc_spawn_egg": "カオリンクレイズのスポーンエッグ", + "item.primitive_creatures.golem_2_spawn_egg": "グラファイトグレイズのスポーンエッグ", + "item.primitive_creatures.iloger_4_spawn_egg": "伏兵のスポーンエッグ", + "item.primitive_creatures.wiloger_spawn_egg": "猛獣使いのスポーンエッグ", + "item.primitive_creatures.iloger_2_spawn_egg": "薬草師のスポーンエッグ", + "item.primitive_creatures.iloger_1_spawn_egg": "野人のスポーンエッグ", + "item.primitive_creatures.piloger_9_spawn_egg": "蛮族のスポーンエッグ", + "item.primitive_creatures.nahida_spawn_egg": "ハントマスターのスポーンエッグ", + "item.primitive_creatures.yhgi": "火打石の棍棒", + "item.primitive_creatures.reh": "補強した火打石の棍棒", + "item.primitive_creatures.grh": "傷んだ羊毛", + "item.primitive_creatures.totem_0": "粘土の小像", + "item.primitive_creatures.totem_2": "木彫りのライオンマン", + "item.primitive_creatures.totem_3": "泥の像", + "item.primitive_creatures.tt_5": "Small Shard", + "item.primitive_creatures.f_1": "Primitive Explosives", + "item.primitive_creatures.ww_3": "Fragrant Grass" +} \ No newline at end of file diff --git a/kubejs/assets/species/lang/ja_jp.json b/kubejs/assets/species/lang/ja_jp.json new file mode 100644 index 000000000..0bbace303 --- /dev/null +++ b/kubejs/assets/species/lang/ja_jp.json @@ -0,0 +1,5 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.species.alphacene_moss_block": "グラシアンのキャップ", + "block.species.petrified_egg": "グーバーの卵" +} \ No newline at end of file diff --git a/kubejs/assets/species/lang/zh_cn.json b/kubejs/assets/species/lang/zh_cn.json index 67144ac9a..e3107d8eb 100644 --- a/kubejs/assets/species/lang/zh_cn.json +++ b/kubejs/assets/species/lang/zh_cn.json @@ -105,12 +105,12 @@ "advancements.species.break_limpet.description": "打破矿壳贝的外壳以收集它身上的矿物", "advancements.species.silk_touch_break_limpet.title": "买株还椟", "advancements.species.silk_touch_break_limpet.description": "用精准采集破开矿壳贝的外壳", - "advancements.species.v2.title": "物种复苏 II:那些被时间以往的生物", + "advancements.species.v2.title": "物种复苏 II:那些被时间遗忘的生物", "advancements.species.v2.description": "此次更新的主题就是设计了许多有趣的史前生物。", "block.species.red_suspicious_sand": "可疑的红沙", - "block.species.bone_bark": "皮质骨", - "block.species.bone_vertebra": "脊骨", - "block.species.bone_spike": "刺状骨", + "block.species.bone_bark": "骨皮层", + "block.species.bone_vertebra": "脊椎骨", + "block.species.bone_spike": "骨刺", "item.species.music_disc_lapidarian": "音乐唱片", "item.species.music_disc_lapidarian.desc": "Exclaim! - Lapidarian", "advancements.species.ancient_eggs.title": "我们回来了", @@ -251,8 +251,8 @@ "subtitles.entity.species.ghoul.searching": "食尸鬼:聆听", "subtitles.entity.species.ghoul.angry": "食尸鬼:喘气", "subtitles.entity.species.ghoul.step": "食尸鬼:爬行", - "subtitles.effect.species.bloodlust.feed": "嗜血", - "subtitles.effect.species.bloodlust.removed": "嗜血效果消失", + "subtitles.effect.species.bloodlust.feed": "嗜血啃噬", + "subtitles.effect.species.bloodlust.removed": "嗜血消退", "death.attack.torn": "%1$s 被撕成碎片", "death.attack.torn.item": "%1$s 被 %2$s 用 %3$s 撕成了碎片", "death.attack.torn.player": "%1$s 被 %2$s 撕成了碎片", @@ -510,8 +510,8 @@ "entity.species.harpoon": "吊索", "painting.species.the_composition.title": "合作作者", "painting.species.the_composition.author": "Yapettoshen", - "advancements.species.fall_for_hanger.title": "坑了我一次", - "advancements.species.fall_for_hanger.description": "掉进了一个悬猎者的陷阱,它们真不要脸!", - "advancements.species.fall_for_hanger_twice.title": "梅开二度", - "advancements.species.fall_for_hanger_twice.description": "又掉进了悬猎者的陷阱,你是不是压根没看路?" + "advancements.species.fall_for_hanger.title": "初坠陷阱", + "advancements.species.fall_for_hanger.description": "落入悬猎者的陷阱,这波算它们的", + "advancements.species.fall_for_hanger_twice.title": "梅开二度奖", + "advancements.species.fall_for_hanger_twice.description": "再次落入悬猎者的陷阱,不是,你是不是压根没看路啊?" } \ No newline at end of file diff --git a/kubejs/assets/tacz/lang/ja_jp.json b/kubejs/assets/tacz/lang/ja_jp.json new file mode 100644 index 000000000..d1b3dc311 --- /dev/null +++ b/kubejs/assets/tacz/lang/ja_jp.json @@ -0,0 +1,21 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "applied_armorer.attachment.extended_mag_aa_1.name": "Certus Grooved Magazine", + "applied_armorer.attachment.extended_mag_aa_2.name": "§9Certus Grooved Magazine", + "applied_armorer.attachment.extended_mag_aa_3.name": "§dCertus Grooved Magazine", + "applied_armorer.attachment.extended_mid_mag_aa_1.name": "Fluix Grooved Magazine", + "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9Fluix Grooved Magazine", + "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§dFluix Grooved Magazine", + "applied_armorer.attachment.grip_lf11.name": "LF-11 Laser-Grip", + "applied_armorer.attachment.grip_sl_2.name": "SL-2 Laser-Grip", + "applied_armorer.attachment.grip_stable.name": "ST-61 Grip", + "applied_armorer.attachment.grip_light.name": "LI-13 Grip", + "applied_armorer.attachment.grip_hf_17.name": "HF-17 Grip", + "create_armorer.attachment.extended_mag_ca_1.name": "Invar Magazine", + "create_armorer.attachment.extended_mag_ca_2.name": "Copper Plated Magazine", + "create_armorer.attachment.extended_mag_ca_3.name": "Brass Plated Magazine", + "create_armorer.ammo.rbapb.name": "Rimmed Blunt Ammo", + "item.tacz.ammo_box.iron": "スチールの弾薬箱", + "item.tacz.ammo_box.gold": "§9マグナリウムの弾薬箱", + "item.tacz.ammo_box.diamond": "§6デッシュの弾薬箱" +} \ No newline at end of file diff --git a/kubejs/assets/tacz/lang/uk_ua.json b/kubejs/assets/tacz/lang/uk_ua.json index 4eed6e947..5d6350e96 100644 --- a/kubejs/assets/tacz/lang/uk_ua.json +++ b/kubejs/assets/tacz/lang/uk_ua.json @@ -6,15 +6,27 @@ "applied_armorer.attachment.extended_mid_mag_aa_1.name": "Флюіксовий рифлений модуль", "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9Флюіксовий рифлений модуль", "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§dФлюіксовий рифлений модуль", + "applied_armorer.attachment.si_pricision.name": "§aПриціл високої точності", + "applied_armorer.attachment.si_double_sided_mirror.name": "\"Подвійний дзеркальний\" приціл", + "applied_armorer.attachment.si_ms_12.name": "§aMS-12 Приціл", + "applied_armorer.attachment.scope_ms_14.name": "§eMS-14 Приціл", + "applied_armorer.attachment.scope_xgs_905.name": "§eXGS-905 Приціл", + "applied_armorer.attachment.muzzle_classic.name": "Класичний глушник", + "applied_armorer.attachment.muzzle_ns_1.name": "NS-1 Глушник", + "applied_armorer.attachment.muzzle_commander.name": "Командирське дульне гальмо", + "applied_armorer.attachment.muzzle_bs_mod4.name": "BS-Mod.4 Компенсатор", "applied_armorer.attachment.grip_lf11.name": "Лазерне руків'я LF-11", "applied_armorer.attachment.grip_sl_2.name": "Лазерне руків'я SL-2", "applied_armorer.attachment.grip_stable.name": "Руків'я ST-61", "applied_armorer.attachment.grip_light.name": "Руків'я LI-13", "applied_armorer.attachment.grip_hf_17.name": "Руків'я HF-17", + "tooltip.niklas_pistol_semi_pride": "§7Пістолети швидші за ножі на будь-якій відстані... чи не так?", "create_armorer.attachment.extended_mag_ca_1.name": "Інваровий магазин", "create_armorer.attachment.extended_mag_ca_2.name": "Магазин із мідним покриттям", "create_armorer.attachment.extended_mag_ca_3.name": "Магазин із латунним покриттям", "create_armorer.ammo.rbapb.name": "Римований патрон із плоским зарядом", + "create_armorer.gun.mg_platemag_flywheel": "\"Маховиковий\" кулемет", + "create_armorer.gun.rifle_assult_crane": "\"Кранова\" штурмова гвинтівка", "item.tacz.ammo_box.iron": "Сталевий ящик з набоями", "item.tacz.ammo_box.gold": "§9Ящик набоїв з магналію", "item.tacz.ammo_box.diamond": "§6Ящик набоїв з дешу" diff --git a/kubejs/assets/tacz/lang/zh_cn.json b/kubejs/assets/tacz/lang/zh_cn.json index 2e1527194..f3f3d4dc9 100644 --- a/kubejs/assets/tacz/lang/zh_cn.json +++ b/kubejs/assets/tacz/lang/zh_cn.json @@ -6,15 +6,27 @@ "applied_armorer.attachment.extended_mid_mag_aa_1.name": "福鲁伊克斯凹槽弹匣", "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9福鲁伊克斯凹槽弹匣", "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§d福鲁伊克斯凹槽弹匣", + "applied_armorer.attachment.si_pricision.name": "§a精密瞄准镜", + "applied_armorer.attachment.si_double_sided_mirror.name": "“双面镜”瞄准镜", + "applied_armorer.attachment.si_ms_12.name": "§aMS-12瞄准镜", + "applied_armorer.attachment.scope_ms_14.name": "§eMS-14瞄准镜", + "applied_armorer.attachment.scope_xgs_905.name": "§eXGS-905瞄准镜", + "applied_armorer.attachment.muzzle_classic.name": "经典消音器", + "applied_armorer.attachment.muzzle_ns_1.name": "NS-1消音器", + "applied_armorer.attachment.muzzle_commander.name": "\"指挥官\"制退器", + "applied_armorer.attachment.muzzle_bs_mod4.name": "BS-Mod.4补偿器", "applied_armorer.attachment.grip_lf11.name": "LF-11激光握把", "applied_armorer.attachment.grip_sl_2.name": "SL-2 激光握把", "applied_armorer.attachment.grip_stable.name": "ST-61 握把", "applied_armorer.attachment.grip_light.name": "LI-13 握把", "applied_armorer.attachment.grip_hf_17.name": "HF-17 握把", + "tooltip.niklas_pistol_semi_pride": "§7无论距离远近,枪都比刀快……对吧?", "create_armorer.attachment.extended_mag_ca_1.name": "殷钢弹匣", "create_armorer.attachment.extended_mag_ca_2.name": "镀铜弹匣", "create_armorer.attachment.extended_mag_ca_3.name": "镀黄铜弹匣", "create_armorer.ammo.rbapb.name": "凸缘式钝头弹", + "create_armorer.gun.mg_platemag_flywheel": "“飞轮”机枪", + "create_armorer.gun.rifle_assult_crane": "“鹤式”突击步枪", "item.tacz.ammo_box.iron": "钢弹药盒", "item.tacz.ammo_box.gold": "§9镁铝合金弹药盒", "item.tacz.ammo_box.diamond": "§6戴斯弹药盒" diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json index e1d7186a8..09c2b29bb 100644 --- a/kubejs/assets/tfc/lang/en_us.json +++ b/kubejs/assets/tfc/lang/en_us.json @@ -23,6 +23,9 @@ "metal.tfg.cobalt_brass": "Cobalt Brass", "metal.tfg.aluminium_silicate": "Aluminium Silicate", "tfc.tooltip.propick.accuracy": "Accuracy: 100%", + "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "Gouda Wheel", + "tfc.recipe.barrel.tfg.barrel.feta_wheel": "Feta Wheel", + "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "Shosha Wheel", "trim_material.tfc.almandine_tfc": "Almandine", "trim_material.tfc.andradite_tfc": "Andradite", "trim_material.tfc.blue_topaz_tfc": "Blue Topaz", diff --git a/kubejs/assets/tfc/lang/uk_ua.json b/kubejs/assets/tfc/lang/uk_ua.json index ba9450a6a..06cc3e6ee 100644 --- a/kubejs/assets/tfc/lang/uk_ua.json +++ b/kubejs/assets/tfc/lang/uk_ua.json @@ -22,6 +22,9 @@ "metal.tfg.cobalt_brass": "Кобальтова латунь", "metal.tfg.aluminium_silicate": "Алюмосилікат", "tfc.tooltip.propick.accuracy": "Точність: 100%", + "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "Колесо Гауда", + "tfc.recipe.barrel.tfg.barrel.feta_wheel": "Колесо Фети", + "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "Колесо Шоша", "trim_material.tfc.almandine_tfc": "Альмандин", "trim_material.tfc.andradite_tfc": "Андрадіт", "trim_material.tfc.blue_topaz_tfc": "Синій Топаз", diff --git a/kubejs/assets/tfc/lang/zh_cn.json b/kubejs/assets/tfc/lang/zh_cn.json index 5b248c0dc..598c85aec 100644 --- a/kubejs/assets/tfc/lang/zh_cn.json +++ b/kubejs/assets/tfc/lang/zh_cn.json @@ -23,6 +23,9 @@ "metal.tfg.cobalt_brass": "钴黄铜", "metal.tfg.aluminium_silicate": "硅酸铝", "tfc.tooltip.propick.accuracy": "精准度:100%", + "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "荷兰高德奶酪轮", + "tfc.recipe.barrel.tfg.barrel.feta_wheel": "希腊菲达奶酪轮", + "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "喜马拉雅奶酪轮", "trim_material.tfc.almandine_tfc": "铁铝榴石", "trim_material.tfc.andradite_tfc": "钙铁榴石", "trim_material.tfc.blue_topaz_tfc": "蓝黄玉", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index c510ba1e4..d6fed9bac 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -119,8 +119,8 @@ "block.tfg.rhyolite_support": "流紋岩の梁", "block.tfg.dacite_support_horizontal": "デイサイトの梁", "block.tfg.dacite_support": "デイサイトの梁", - "block.tfg.quartzite_support_horizontal": "Quartziteの梁", - "block.tfg.quartzite_support": "Quartziteの梁", + "block.tfg.quartzite_support_horizontal": "珪岩の梁", + "block.tfg.quartzite_support": "珪岩の梁", "block.tfg.slate_support_horizontal": "粘板岩の梁", "block.tfg.slate_support": "粘板岩の梁", "block.tfg.phyllite_support_horizontal": "千枚岩の梁", @@ -145,12 +145,12 @@ "block.tfg.Migmatite_support": "混成岩の梁", "block.tfg.travertine_support_horizontal": "鍾乳石の梁", "block.tfg.travertine_support": "鍾乳石の梁", - "block.tfg.glacian_support": "Glacianの梁", - "block.tfg.glacian_support_horizontal": "Glacianの梁", - "block.tfg.strophar_support": "Stropharの梁", - "block.tfg.strophar_support_horizontal": "Stropharの梁", - "block.tfg.aeronos_support": "Aeronosの梁", - "block.tfg.aeronos_support_horizontal": "Aeronosの梁", + "block.tfg.glacian_support": "グラシアンの梁", + "block.tfg.glacian_support_horizontal": "グラシアンの梁", + "block.tfg.strophar_support": "ストロファの梁", + "block.tfg.strophar_support_horizontal": "ストロファの梁", + "block.tfg.aeronos_support": "エアロノスの梁", + "block.tfg.aeronos_support_horizontal": "エアロノスの梁", "block.tfg.rock.hardened_deepslate": "硬い混成岩", "block.tfg.rock.deepslate_stairs": "混成岩の階段", "block.tfg.rock.deepslate_slab": "混成岩のハーフブロック", @@ -405,14 +405,14 @@ "block.tfg.rock.cracked_bricks_stone_wall": "ひび割れた石のレンガの塀", "block.tfg.rock.smooth_red_sandstone_wall": "滑らかな赤鉄質の砂岩の塀", "block.tfg.rock.cut_red_sandstone_wall": "研がれた赤鉄質の砂岩の塀", - "block.tfg.rock.raw.stromatolite": "Raw Stromatolite", - "block.tfg.rock.spike.stromatolite": "Stromatoliteのつらら石", - "block.tfg.rock.raw.geyserite": "Raw Geyserite", - "block.tfg.rock.spike.geyserite": "Geyseriteのつらら石", - "block.tfg.mushroom_roots": "Mushroom Roots", - "block.tfg.mushroom_sprouts": "Mushroom Sprouts", - "block.tfg.charred_log": "Charred Log", - "block.tfg.ash_pile": "Ash Pile", + "block.tfg.rock.raw.stromatolite": "ストロマトライト", + "block.tfg.rock.spike.stromatolite": "ストロマトライトのつらら石", + "block.tfg.rock.raw.geyserite": "ガイザライト", + "block.tfg.rock.spike.geyserite": "ガイザライトのつらら石", + "block.tfg.mushroom_roots": "キノコの根", + "block.tfg.mushroom_sprouts": "キノコの芽", + "block.tfg.charred_log": "焦げた丸太", + "block.tfg.ash_pile": "積もった灰", "block.tfg.pile.white_sand": "白い砂", "block.tfg.pile.black_sand": "黒い砂", "block.tfg.pile.brown_sand": "茶色い砂", @@ -431,17 +431,17 @@ "block.tfg.lunar_sprouts": "月光のライトグラス", "block.tfg.lunar_chorus_plant": "コーラスプラント", "block.tfg.lunar_chorus_flower": "コーラスフラワー", - "block.tfg.glacian_log": "Glacian Stem", - "block.tfg.glacian_log_stripped": "Stripped Glacian Stem", - "block.tfg.glacian_wood": "Glacian Hyphae", - "block.tfg.glacian_wood_stripped": "Stripped Glacian Hyphae", - "block.tfg.glacian_leaves": "Glacian Lamella", - "block.tfg.glacian_leaves_fallen": "Small Glacian Lamella", - "block.tfg.marker.moon": "The Moon", - "block.tfg.marker.mars": "Mars", - "block.tfg.marker.venus": "Venus", - "block.tfg.marker.mercury": "Mercury", - "block.tfg.marker.glacio": "Europa", + "block.tfg.glacian_log": "グラシアンの幹", + "block.tfg.glacian_log_stripped": "表皮を剥いだグラシアンの幹", + "block.tfg.glacian_wood": "グラシアンの菌糸", + "block.tfg.glacian_wood_stripped": "表皮を剥いだグラシアンの菌糸", + "block.tfg.glacian_leaves": "グラシアンのひだ", + "block.tfg.glacian_leaves_fallen": "グラシアンのひだ", + "block.tfg.marker.moon": "月", + "block.tfg.marker.mars": "火星", + "block.tfg.marker.venus": "金星", + "block.tfg.marker.mercury": "水星", + "block.tfg.marker.glacio": "エウロパ", "block.tfg.lv_aqueous_accumulator": "基本型水とか生成機", "block.tfg.mv_aqueous_accumulator": "§b発展型水とか生成機§r", "block.tfg.hv_aqueous_accumulator": "§6発展型水とか生成機II§r", @@ -480,62 +480,62 @@ "block.tfg.luv_gas_pressurizer": "§d精鋭型ガス圧縮機II§r", "block.tfg.zpm_gas_pressurizer": "§c精鋭型ガス圧縮機III§r", "block.tfg.uv_gas_pressurizer": "§3究極型ガス圧縮機§r", - "block.tfg.fluid.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", - "block.tfg.grass.mars_dirt": "Martian Dirt", - "block.tfg.grass.mars_clay_dirt": "Martian Clay Dirt", - "block.tfg.grass.mars_farmland": "Martian Farmland", - "block.tfg.grass.mars_path": "Martian Path", - "block.tfg.grass.amber_mycelium": "Amber Mycelium", - "block.tfg.grass.amber_clay_mycelium": "Amber Clay Mycelium", - "block.tfg.grass.amber_kaolin_mycelium": "Amber Kaolin Mycelium", - "block.tfg.grass.rusticus_mycelium": "Rusticus Mycelium", - "block.tfg.grass.rusticus_clay_mycelium": "Rusticus Clay Mycelium", - "block.tfg.grass.rusticus_kaolin_mycelium": "Rusticus Kaolin Mycelium", - "block.tfg.grass.sangnum_mycelium": "Sangnum Mycelium", - "block.tfg.grass.sangnum_clay_mycelium": "Sangnum Clay Mycelium", - "block.tfg.grass.sangnum_kaolin_mycelium": "Sangnum Kaolin Mycelium", - "block.tfg.spice": "Ostrum Deposit", + "block.tfg.fluid.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", + "block.tfg.grass.mars_dirt": "火星の土", + "block.tfg.grass.mars_clay_dirt": "火星の粘土", + "block.tfg.grass.mars_farmland": "火星の耕地", + "block.tfg.grass.mars_path": "火星の道", + "block.tfg.grass.amber_mycelium": "琥珀色の菌糸", + "block.tfg.grass.amber_clay_mycelium": "琥珀色の菌糸粘土", + "block.tfg.grass.amber_kaolin_mycelium": "琥珀色の菌糸カオリン粘土", + "block.tfg.grass.rusticus_mycelium": "鉛丹色の菌糸", + "block.tfg.grass.rusticus_clay_mycelium": "鉛丹色の菌糸粘土", + "block.tfg.grass.rusticus_kaolin_mycelium": "鉛丹色の菌糸カオリン粘土", + "block.tfg.grass.sangnum_mycelium": "茜色の菌糸", + "block.tfg.grass.sangnum_clay_mycelium": "茜色の菌糸粘土", + "block.tfg.grass.sangnum_kaolin_mycelium": "茜色の菌糸カオリン粘土", + "block.tfg.spice": "オストラムが混じった砂", "block.tfg.saplings.crimson": "深紅のキノコ", "block.tfg.saplings.warped": "歪んだキノコ", - "block.tfg.saplings.alphacene": "Alphacene Mushroom", - "block.tfg.saplings.aeronos": "Aeronos Mushroom", - "block.tfg.saplings.strophar": "Strophar Mushroom", - "block.tfg.saplings.glacian": "Glacian Mushroom", - "block.tfg.groundcover.glider_feather": "Glider Feather", - "block.tfg.groundcover.wraptor_feather": "Wraptor Feather", - "block.tfg.groundcover.aeronos_stick": "Aeronos Twig", - "block.tfg.groundcover.strophar_stick": "Strophar Twig", - "block.tfg.groundcover.glacian_stick": "Glacian Twig", - "block.tfg.groundcover.alphacene_stick": "Alphacene Twig", - "block.tfg.mars_ice": "Semiheavy Ammoniacal Ice", - "block.tfg.mars_icicle": "Semiheavy Ammoniacal Icicle", - "block.tfg.electromagnetic_accelerator": "Electromagnetic Accelerator", - "block.tfg.superconductor_coil_large": "Large Superconductor Coil", - "block.tfg.superconductor_coil_small": "Small Superconductor Coil", - "block.tfg.interplanetary_item_launcher": "Interplanetary Railgun", - "block.tfg.interplanetary_item_receiver": "Interplanetary Receiver", - "block.tfg.interplanetary_logistics_monitor": "Interplanetary Logistics Monitor", - "block.tfg.railgun_ammo_loader": "Railgun Ammo Loader", - "block.tfg.ulv_railgun_item_loader_in": "§8ULV Interplanetary Railgun Input Bus§r", - "block.tfg.lv_railgun_item_loader_in": "§7LV Interplanetary Railgun Input Bus§r", - "block.tfg.mv_railgun_item_loader_in": "§bMV Interplanetary Railgun Input Bus§r", - "block.tfg.hv_railgun_item_loader_in": "§6HV Interplanetary Railgun Input Bus§r", - "block.tfg.ev_railgun_item_loader_in": "§5EV Interplanetary Railgun Input Bus§r", - "block.tfg.iv_railgun_item_loader_in": "§9IV Interplanetary Railgun Input Bus§r", - "block.tfg.luv_railgun_item_loader_in": "§dLuV Interplanetary Railgun Input Bus§r", - "block.tfg.zpm_railgun_item_loader_in": "§cZPM Interplanetary Railgun Input Bus§r", - "block.tfg.uv_railgun_item_loader_in": "§3UV Interplanetary Railgun Input Bus§r", - "block.tfg.uhv_railgun_item_loader_in": "§4UHV Interplanetary Railgun Input Bus§r", - "block.tfg.ulv_railgun_item_loader_out": "§8ULV Interplanetary Railgun Output Bus§r", - "block.tfg.lv_railgun_item_loader_out": "§7LV Interplanetary Railgun Output Bus§r", - "block.tfg.mv_railgun_item_loader_out": "§bMV Interplanetary Railgun Output Bus§r", - "block.tfg.hv_railgun_item_loader_out": "§6HV Interplanetary Railgun Output Bus§r", - "block.tfg.ev_railgun_item_loader_out": "§5EV Interplanetary Railgun Output Bus§r", - "block.tfg.iv_railgun_item_loader_out": "§9IV Interplanetary Railgun Output Bus§r", - "block.tfg.luv_railgun_item_loader_out": "§dLuV Interplanetary Railgun Output Bus§r", - "block.tfg.zpm_railgun_item_loader_out": "§cZPM Interplanetary Railgun Output Bus§r", - "block.tfg.uv_railgun_item_loader_out": "§3UV Interplanetary Railgun Output Bus§r", - "block.tfg.uhv_railgun_item_loader_out": "§4UHV Interplanetary Railgun Output Bus§r", + "block.tfg.saplings.alphacene": "アルファキノコ", + "block.tfg.saplings.aeronos": "エアロノスキノコ", + "block.tfg.saplings.strophar": "ストロファキノコ", + "block.tfg.saplings.glacian": "グラシアンキノコ", + "block.tfg.groundcover.glider_feather": "グライダーの羽根", + "block.tfg.groundcover.wraptor_feather": "ラプターの羽根", + "block.tfg.groundcover.aeronos_stick": "エアロノスの枝", + "block.tfg.groundcover.strophar_stick": "ストロファの枝", + "block.tfg.groundcover.glacian_stick": "グラシアンの枝", + "block.tfg.groundcover.alphacene_stick": "アルファキノコの枝", + "block.tfg.mars_ice": "アンモニア交じりの半重水の氷", + "block.tfg.mars_icicle": "アンモニア交じりの半重水のつらら", + "block.tfg.electromagnetic_accelerator": "電磁誘導加速機構", + "block.tfg.superconductor_coil_large": "大型超伝導コイル", + "block.tfg.superconductor_coil_small": "小型超伝導コイル", + "block.tfg.interplanetary_item_launcher": "星間レールガン", + "block.tfg.interplanetary_item_receiver": "星間物資受取機", + "block.tfg.interplanetary_logistics_monitor": "星間輸送モニタ", + "block.tfg.railgun_ammo_loader": "弾丸装填機", + "block.tfg.ulv_railgun_item_loader_in": "§8ULV星間レールガン搬入バス§r", + "block.tfg.lv_railgun_item_loader_in": "§7LV星間レールガン搬入バス§r", + "block.tfg.mv_railgun_item_loader_in": "§bMV星間レールガン搬入バス§r", + "block.tfg.hv_railgun_item_loader_in": "§6HV星間レールガン搬入バス§r", + "block.tfg.ev_railgun_item_loader_in": "§5EV星間レールガン搬入バス§r", + "block.tfg.iv_railgun_item_loader_in": "§9IV星間レールガン搬入バス§r", + "block.tfg.luv_railgun_item_loader_in": "§dLuV星間レールガン搬入バス§r", + "block.tfg.zpm_railgun_item_loader_in": "§cZPM星間レールガン搬入バス§r", + "block.tfg.uv_railgun_item_loader_in": "§3UV星間レールガン搬入バス§r", + "block.tfg.uhv_railgun_item_loader_in": "§4UHV星間レールガン搬入バス§r", + "block.tfg.ulv_railgun_item_loader_out": "§8ULV星間レールガン搬出バス§r", + "block.tfg.lv_railgun_item_loader_out": "§7LV星間レールガン搬出バス§r", + "block.tfg.mv_railgun_item_loader_out": "§bMV星間レールガン搬出バス§r", + "block.tfg.hv_railgun_item_loader_out": "§6HV星間レールガン搬出バス§r", + "block.tfg.ev_railgun_item_loader_out": "§5EV星間レールガン搬出バス§r", + "block.tfg.iv_railgun_item_loader_out": "§9IV星間レールガン搬出バス§r", + "block.tfg.luv_railgun_item_loader_out": "§dLuV星間レールガン搬出バス§r", + "block.tfg.zpm_railgun_item_loader_out": "§cZPM星間レールガン搬出バス§r", + "block.tfg.uv_railgun_item_loader_out": "§3UV星間レールガン搬出バス§r", + "block.tfg.uhv_railgun_item_loader_out": "§4UHV星間レールガン搬出バス§r", "block.tfg.reflector": "反射板ブロック", "block.tfg.sunflower": "ヒマワリ", "block.tfg.sunflower_wild": "野生のヒマワリ", @@ -547,109 +547,109 @@ "block.tfg.flax_wild": "野生の亜麻", "block.tfg.flax_dead": "枯れた亜麻", "block.tfg.casings.machine_casing_iron_desh": "デッシュ製マシン外装", - "block.tfg.casings.machine_casing_stainless_evaporation": "Stainless Evaporation Machine Casing", - "block.tfg.casings.machine_casing_vacuum_engine_intake": "Vacuum Engine Intake Machine Casing", - "block.tfg.casings.machine_casing_mars": "Robust Dust-Proof Machine Casing", + "block.tfg.casings.machine_casing_stainless_evaporation": "ステンレス製蒸発マシン外装", + "block.tfg.casings.machine_casing_vacuum_engine_intake": "バキュームマシン外装", + "block.tfg.casings.machine_casing_mars": "防塵マシン外装", "block.tfg.casings.machine_casing_blue_solar_panel": "基本型ソーラーパネル外装", "block.tfg.casings.machine_casing_green_solar_panel": "発展型ソーラーパネル外装", "block.tfg.casings.machine_casing_red_solar_panel": "精鋭型ソーラーパネル外装", "block.tfg.machine_casing_aluminium_plated_steel": "アルミメッキスチール製マシン外装", - "block.tfg.casings.machine_casing_ultraviolet": "§dUltraviolet §fMachine Casing", + "block.tfg.casings.machine_casing_ultraviolet": "§dウルトラヴァイオレット§fマシン外装", "block.tfg.casings.machine_casing_bioculture": "Bioculture Machine Casing", "block.tfg.casings.machine_casing_bioculture_glass": "Bioculture Glass", "block.tfg.casings.bioculture_rotor_primary": "Primary Bioculture Rotor", "block.tfg.casings.bioculture_rotor_secondary": "Secondary Bioculture Rotor", - "block.tfg.casings.machine_casing_ostrum_carbon": "Ostrum Machine Casing", - "block.tfg.casings.heat_pipe_casing": "Heat Pipe Casing", - "block.tfg.glacian_wool_frame": "Framed Glacian Wool", - "block.tfg.aes_insulation_frame": "Framed AES Insulation", - "block.tfg.sand.fluorapatite.blue": "Blue Fluorapatiteの砂", - "block.tfg.sandstone.raw.fluorapatite.blue": "Raw Blue Fluorapatite砂岩", - "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Raw Blue Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.raw.fluorapatite.blue": "Raw Blue Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.raw.fluorapatite.blue": "Raw Blue Fluorapatite砂岩の階段", - "block.tfg.sandstone.smooth.fluorapatite.blue": "滑らかなBlue Fluorapatite砂岩", - "block.tfg.sandstone.wall.smooth.fluorapatite.blue": "滑らかなBlue Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.smooth.fluorapatite.blue": "滑らかなBlue Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.smooth.fluorapatite.blue": "滑らかなBlue Fluorapatite砂岩の階段", - "block.tfg.sandstone.fluorapatite.blue": "研がれたBlue Fluorapatite砂岩", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.blue": "模様入りのBlue Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.green": "Green Fluorapatiteの砂", - "block.tfg.sandstone.raw.fluorapatite.green": "Raw Green Fluorapatite砂岩", - "block.tfg.sandstone.wall.raw.fluorapatite.green": "Raw Green Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.raw.fluorapatite.green": "Raw Green Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.raw.fluorapatite.green": "Raw Green Fluorapatite砂岩の階段", - "block.tfg.sandstone.smooth.fluorapatite.green": "滑らかなGreen Fluorapatite砂岩", - "block.tfg.sandstone.wall.smooth.fluorapatite.green": "滑らかなGreen Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.smooth.fluorapatite.green": "滑らかなGreen Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.smooth.fluorapatite.green": "滑らかなGreen Fluorapatite砂岩の階段", - "block.tfg.sandstone.fluorapatite.green": "研がれたGreen Fluorapatite砂岩", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.green": "模様入りのGreen Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.brown": "Brown Fluorapatiteの砂", - "block.tfg.sandstone.raw.fluorapatite.brown": "Raw Brown Fluorapatite砂岩", - "block.tfg.sandstone.wall.raw.fluorapatite.brown": "Raw Brown Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.raw.fluorapatite.brown": "Raw Brown Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.raw.fluorapatite.brown": "Raw Brown Fluorapatite砂岩の階段", - "block.tfg.sandstone.smooth.fluorapatite.brown": "滑らかなBrown Fluorapatite砂岩", - "block.tfg.sandstone.wall.smooth.fluorapatite.brown": "滑らかなBrown Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.smooth.fluorapatite.brown": "滑らかなBrown Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.smooth.fluorapatite.brown": "滑らかなBrown Fluorapatite砂岩の階段", - "block.tfg.sandstone.fluorapatite.brown": "研がれたBrown Fluorapatite砂岩", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.brown": "模様入りのBrown Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.orange": "Orange Fluorapatiteの砂", - "block.tfg.sandstone.raw.fluorapatite.orange": "Raw Orange Fluorapatite砂岩", - "block.tfg.sandstone.wall.raw.fluorapatite.orange": "Raw Orange Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.raw.fluorapatite.orange": "Raw Orange Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.raw.fluorapatite.orange": "Raw Orange Fluorapatite砂岩の階段", - "block.tfg.sandstone.smooth.fluorapatite.orange": "滑らかなOrange Fluorapatite砂岩", - "block.tfg.sandstone.wall.smooth.fluorapatite.orange": "滑らかなOrange Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.smooth.fluorapatite.orange": "滑らかなOrange Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.smooth.fluorapatite.orange": "滑らかなOrange Fluorapatite砂岩の階段", - "block.tfg.sandstone.fluorapatite.orange": "研がれたOrange Fluorapatite砂岩", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.orange": "模様入りのOrange Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.white": "White Fluorapatiteの砂", - "block.tfg.sandstone.raw.fluorapatite.white": "Raw White Fluorapatite砂岩", - "block.tfg.sandstone.wall.raw.fluorapatite.white": "Raw White Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.raw.fluorapatite.white": "Raw White Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.raw.fluorapatite.white": "Raw White Fluorapatite砂岩の階段", - "block.tfg.sandstone.smooth.fluorapatite.white": "滑らかなWhite Fluorapatite砂岩", - "block.tfg.sandstone.wall.smooth.fluorapatite.white": "滑らかなWhite Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.smooth.fluorapatite.white": "滑らかなWhite Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.smooth.fluorapatite.white": "滑らかなWhite Fluorapatite砂岩の階段", - "block.tfg.sandstone.fluorapatite.white": "研がれたWhite Fluorapatite砂岩", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.white": "模様入りのWhite Fluorapatite砂岩", - "block.tfg.sand.fluorapatite.yellow": "Yellow Fluorapatiteの砂", - "block.tfg.sandstone.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite砂岩", - "block.tfg.sandstone.wall.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.raw.fluorapatite.yellow": "Raw Yellow Fluorapatite砂岩の階段", - "block.tfg.sandstone.smooth.fluorapatite.yellow": "滑らかなYellow Fluorapatite砂岩", - "block.tfg.sandstone.wall.smooth.fluorapatite.yellow": "滑らかなYellow Fluorapatite砂岩の塀", - "block.tfg.sandstone.slab.smooth.fluorapatite.yellow": "滑らかなYellow Fluorapatite砂岩のハーフブロック", - "block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "滑らかなYellow Fluorapatite砂岩の階段", - "block.tfg.sandstone.fluorapatite.yellow": "研がれたYellow Fluorapatite砂岩", - "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "模様入りのYellow Fluorapatite砂岩", - "block.tfg.large_nest_box": "Large Crimson Nest", - "tfg.block_entity.large_nest_box": "Large Nest Box", - "block.tfg.large_nest_box_warped": "Large Warped Nest", - "block.tfg.titanium_concrete": "Titanium-Rebar Concrete", - "block.tfg.polished_titanium_concrete": "磨かれたTitanium-Rebar Concrete", - "block.tfg.titanium_concrete_tile": "Titanium-Rebar Concreteタイル", - "block.tfg.titanium_concrete_tile_small": "Small Titanium-Rebar Concreteタイル", - "block.tfg.titanium_concrete_bricks": "Titanium-Rebar Concreteのレンガ", - "block.tfg.titanium_concrete_bricks_small": "Small Titanium-Rebar Concreteのレンガ", - "block.tfg.titanium_concrete_bricks_square": "Square Titanium-Rebar Concreteのレンガ", - "block.tfg.nuclear_turbine": "Nuclear Steam Turbine", - "block.tfg.evaporation_tower": "Evaporation Tower", + "block.tfg.casings.machine_casing_ostrum_carbon": "オストラム製マシン外装", + "block.tfg.casings.heat_pipe_casing": "熱伝導パイプ外装", + "block.tfg.glacian_wool_frame": "氷塊羊毛の枠組み", + "block.tfg.aes_insulation_frame": "AES断熱材の枠組み", + "block.tfg.sand.fluorapatite.blue": "青いフッ素燐灰石の砂", + "block.tfg.sandstone.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.smooth.fluorapatite.blue": "滑らかな青いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.smooth.fluorapatite.blue": "滑らかな青いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.smooth.fluorapatite.blue": "滑らかな青いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.smooth.fluorapatite.blue": "滑らかな青いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.fluorapatite.blue": "研がれた青いフッ素燐灰石砂岩", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.blue": "模様入りの青いフッ素燐灰石砂岩", + "block.tfg.sand.fluorapatite.green": "緑のフッ素燐灰石の砂", + "block.tfg.sandstone.raw.fluorapatite.green": "緑のフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.raw.fluorapatite.green": "緑のフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.raw.fluorapatite.green": "緑のフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.raw.fluorapatite.green": "緑のフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.smooth.fluorapatite.green": "滑らかな緑のフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.smooth.fluorapatite.green": "滑らかな緑のフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.smooth.fluorapatite.green": "滑らかな緑のフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.smooth.fluorapatite.green": "滑らかな緑のフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.fluorapatite.green": "研がれた緑のフッ素燐灰石砂岩", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.green": "模様入りの緑のフッ素燐灰石砂岩", + "block.tfg.sand.fluorapatite.brown": "茶色いフッ素燐灰石の砂", + "block.tfg.sandstone.raw.fluorapatite.brown": "茶色いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.raw.fluorapatite.brown": "茶色いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.raw.fluorapatite.brown": "茶色いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.raw.fluorapatite.brown": "茶色いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.smooth.fluorapatite.brown": "滑らかな茶色いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.smooth.fluorapatite.brown": "滑らかな茶色いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.smooth.fluorapatite.brown": "滑らかな茶色いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.smooth.fluorapatite.brown": "滑らかな茶色いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.fluorapatite.brown": "研がれた茶色いフッ素燐灰石砂岩", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.brown": "模様入りの茶色いフッ素燐灰石砂岩", + "block.tfg.sand.fluorapatite.orange": "橙色のフッ素燐灰石の砂", + "block.tfg.sandstone.raw.fluorapatite.orange": "橙色のフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.raw.fluorapatite.orange": "橙色のフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.raw.fluorapatite.orange": "橙色のフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.raw.fluorapatite.orange": "橙色のフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.smooth.fluorapatite.orange": "滑らかな橙色のフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.smooth.fluorapatite.orange": "滑らかな橙色のフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.smooth.fluorapatite.orange": "滑らかな橙色のフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.smooth.fluorapatite.orange": "滑らかな橙色のフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.fluorapatite.orange": "研がれた橙色のフッ素燐灰石砂岩", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.orange": "模様入りの橙色のフッ素燐灰石砂岩", + "block.tfg.sand.fluorapatite.white": "白いフッ素燐灰石の砂", + "block.tfg.sandstone.raw.fluorapatite.white": "白いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.raw.fluorapatite.white": "白いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.raw.fluorapatite.white": "白いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.raw.fluorapatite.white": "白いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.smooth.fluorapatite.white": "滑らかな白いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.smooth.fluorapatite.white": "滑らかな白いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.smooth.fluorapatite.white": "滑らかな白いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.smooth.fluorapatite.white": "滑らかな白いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.fluorapatite.white": "研がれた白いフッ素燐灰石砂岩", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.white": "模様入りの白いフッ素燐灰石砂岩", + "block.tfg.sand.fluorapatite.yellow": "黄色いフッ素燐灰石の砂", + "block.tfg.sandstone.raw.fluorapatite.yellow": "黄色いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.raw.fluorapatite.yellow": "黄色いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.raw.fluorapatite.yellow": "黄色いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.raw.fluorapatite.yellow": "黄色いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.smooth.fluorapatite.yellow": "滑らかな黄色いフッ素燐灰石砂岩", + "block.tfg.sandstone.wall.smooth.fluorapatite.yellow": "滑らかな黄色いフッ素燐灰石砂岩の塀", + "block.tfg.sandstone.slab.smooth.fluorapatite.yellow": "滑らかな黄色いフッ素燐灰石砂岩のハーフブロック", + "block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "滑らかな黄色いフッ素燐灰石砂岩の階段", + "block.tfg.sandstone.fluorapatite.yellow": "研がれた黄色いフッ素燐灰石砂岩", + "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "模様入りの黄色いフッ素燐灰石砂岩", + "block.tfg.large_nest_box": "深紅の大きい巣箱", + "tfg.block_entity.large_nest_box": "大きい巣箱", + "block.tfg.large_nest_box_warped": "歪んだ大きい巣箱", + "block.tfg.titanium_concrete": "チタン鉄筋コンクリート", + "block.tfg.polished_titanium_concrete": "磨かれたチタン鉄筋コンクリート", + "block.tfg.titanium_concrete_tile": "チタン鉄筋コンクリートタイル", + "block.tfg.titanium_concrete_tile_small": "チタン鉄筋コンクリート小タイル", + "block.tfg.titanium_concrete_bricks": "チタン鉄筋コンクリートのレンガ", + "block.tfg.titanium_concrete_bricks_small": "チタン鉄筋コンクリートの小レンガ", + "block.tfg.titanium_concrete_bricks_square": "チタン鉄筋コンクリートの大レンガ", + "block.tfg.nuclear_turbine": "原子力蒸気タービン", + "block.tfg.evaporation_tower": "蒸発塔", "block.tfg.cooling_tower": "Nuclear Cooling Tower", "block.tfg.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Sample Rack", "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizing Pipes", - "fluid.tfg.nether_slurry": "Nether Slurry", + "fluid.tfg.nether_slurry": "ネザー泥漿", "fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry", - "fluid.tfg.ender_slurry": "Ender Slurry", + "fluid.tfg.ender_slurry": "エンダー泥漿", "fluid.tfg.enriched_ender_slurry": "Enriched Ender Slurry", - "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", + "fluid.tfg.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", "fluid.tfg.sulfur_fumes": "Sulfur Fumes", "fluid.tfg.super_heated_slurry": "Super Heated Slurry", "fluid.tfg.cryogenized_fluix": "超低温液化フルーシュ", @@ -699,14 +699,14 @@ "item.tfg.soaked_hardwood_strip": "剥いで浸した堅木", "item.tfg.prepared_leather_gloves": "準備された革のグローブ", "item.tfg.latex_soaked_gloves": "ラテックスに浸されたグローブ", - "item.tfg.unfired_chalk": "Unfired Chalk Stick", - "item.tfg.armor_stand_arms": "Armor Stand with Arms", - "item.tfg.flint_club_head": "Flint Club Head", + "item.tfg.unfired_chalk": "チョークの素体", + "item.tfg.armor_stand_arms": "腕付き防具立て", + "item.tfg.flint_club_head": "火打石の棍棒の頭", "item.tfg.unfinished_electron_tube": "未完成の電子管", "item.tfg.unfinished_vacuum_tube": "未完成の真空管", "item.tfg.unfinished_basic_electronic_circuit": "未完成の基本型電子回路", "item.tfg.unfinished_good_electronic_circuit": "未完成の改良型電子回路", - "item.tfg.unfinished_inscriber_accumulation_press": "Unfinished Inscriber Accumulation Press", + "item.tfg.unfinished_inscriber_accumulation_press": "未完成のInscriber Accumulation Press", "item.tfg.brick.deepslate": "混成岩のレンガ", "item.tfg.brick.dripstone": "鍾乳石のレンガ", "item.tfg.loose.moon_stone": "斜長岩の小石", @@ -761,74 +761,74 @@ "item.tfg.used_foil_pack": "使用済みホイルパック", "item.tfg.clean_foil_pack": "洗浄済みホイルパック", "item.tfg.dry_ice": "ドライアイス", - "item.tfg.food.raw_birt": "Raw Birt", - "item.tfg.food.cooked_birt": "Cooked Birt", - "item.tfg.food.raw_crawlermari": "Raw Crawlermari", - "item.tfg.food.cooked_crawlermari": "Cooked Crawlermari", - "item.tfg.food.raw_limpet": "Raw Limpet", - "item.tfg.food.cooked_limpet": "Cooked Limpet", - "item.tfg.food.raw_moon_rabbit": "Raw Moon Rabbit", - "item.tfg.food.cooked_moon_rabbit": "Cooked Moon Rabbit", - "item.tfg.spawn_egg.moon_rabbit": "Moon Rabbit Spawn Egg", - "item.tfg.food.freeze_dried.red_grapes": "Freeze Dried Red Grapes", - "item.tfg.food.freeze_dried.white_grapes": "Freeze Dried White Grapes", - "item.tfg.food.freeze_dried.glow_berries": "Freeze Dried Glow Berries", - "item.tfg.food.freeze_dried.chorus_fruit": "Freeze Dried Chorus Fruit", - "item.tfg.food.freeze_dried.popped_chorus_fruit": "Freeze Dried Popped Chorus Fruit", - "item.tfg.food.freeze_dried.blackberry": "Freeze Dried Blackberries", - "item.tfg.food.freeze_dried.blueberry": "Freeze Dried Blueberries", - "item.tfg.food.freeze_dried.bunchberry": "Freeze Dried Bunchberries", - "item.tfg.food.freeze_dried.cloudberry": "Freeze Dried Cloudberries", - "item.tfg.food.freeze_dried.cranberry": "Freeze Dried Cranberries", - "item.tfg.food.freeze_dried.elderberry": "Freeze Dried Elderberries", - "item.tfg.food.freeze_dried.gooseberry": "Freeze Dried Gooseberries", - "item.tfg.food.freeze_dried.raspberry": "Freeze Dried Raspberries", - "item.tfg.food.freeze_dried.snowberry": "Freeze Dried Snowberries", - "item.tfg.food.freeze_dried.strawberry": "Freeze Dried Strawberries", - "item.tfg.food.freeze_dried.wintergreen_berry": "Freeze Dried Wintergreen Berries", - "item.tfg.food.freeze_dried.banana": "Freeze Dried Banana", - "item.tfg.food.freeze_dried.cherry": "Freeze Dried Cherries", - "item.tfg.food.freeze_dried.green_apple": "Freeze Dried Green Apple", - "item.tfg.food.freeze_dried.lemon": "Freeze Dried Lemon", - "item.tfg.food.freeze_dried.olive": "Freeze Dried Olives", - "item.tfg.food.freeze_dried.orange": "Freeze Dried Orange", - "item.tfg.food.freeze_dried.peach": "Freeze Dried Peach", - "item.tfg.food.freeze_dried.plum": "Freeze Dried Plum", - "item.tfg.food.freeze_dried.red_apple": "Freeze Dried Red Apple", - "item.tfg.food.freeze_dried.pumpkin_chunks": "Freeze Dried Pumpkin Chunks", - "item.tfg.food.freeze_dried.melon_slice": "Freeze Dried Melon Slice", - "item.tfg.food.freeze_dried.fig": "Freeze Dried Fig", - "item.tfg.food.freeze_dried.pineapple": "Freeze Dried Pineapple", - "item.tfg.food.freeze_dried.blossom_berry": "Freeze Dried Blossom Berry", - "item.tfg.food.freeze_dried.shadow_berry": "Freeze Dried Nox Berry", - "item.tfg.food.freeze_dried.cave_pumpkin": "Freeze Dried Bulbkin Chunks", - "item.tfg.food.calorie_paste": "Calorie Paste", - "item.tfg.food.meal_bag": "Meal Bag", - "item.tfg.food.ice_soup": "Ice Soup", - "item.tfg.food.raw_glacian_mutton": "Raw Glacian Mutton", - "item.tfg.food.cooked_glacian_mutton": "Cooked Glacian Mutton", - "item.tfg.spawn_egg.glacian_ram": "Glacian Spawn Egg", - "item.tfg.food.raw_sniffer_beef": "Raw Sniffer Beef", - "item.tfg.food.cooked_sniffer_beef": "Cooked Sniffer Beef", - "item.tfg.spawn_egg.sniffer": "Sniffer Spawn Egg", - "item.tfg.food.raw_wraptor": "Raw Wraptor", - "item.tfg.food.cooked_wraptor": "Cooked Wraptor", - "item.tfg.food.raw_springling_collar": "Raw Springling Collar", - "item.tfg.food.cooked_springling_collar": "Cooked Springling Collar", - "item.tfg.food.raw_walker_steak": "Raw Walker Steak", - "item.tfg.food.cooked_walker_steak": "Cooked Walker Steak", - "item.tfg.food.raw_glider_wings": "Raw Glider Wings", - "item.tfg.food.cooked_glider_wings": "Cooked Glider Wings", - "item.tfg.food.raw_whole_soarer": "Raw Whole Soarer", - "item.tfg.food.cooked_whole_soarer": "Cooked Whole Soarer", - "item.tfg.food.raw_crusher_meat": "Raw Crusher Meat", - "item.tfg.food.cooked_crusher_meat": "Cooked Crusher Meat", - "item.tfg.food.raw_goober_meat": "Raw Goober Meat", - "item.tfg.food.cooked_goober_meat": "Cooked Goober Meat", + "item.tfg.food.raw_birt": "生のBirt肉", + "item.tfg.food.cooked_birt": "焼いたBirt肉", + "item.tfg.food.raw_crawlermari": "生のCrawlermari", + "item.tfg.food.cooked_crawlermari": "焼いたCrawlermari", + "item.tfg.food.raw_limpet": "生のLimpet", + "item.tfg.food.cooked_limpet": "焼いたLimpet", + "item.tfg.food.raw_moon_rabbit": "生の月ウサギ肉", + "item.tfg.food.cooked_moon_rabbit": "焼いた月ウサギ肉", + "item.tfg.spawn_egg.moon_rabbit": "月ウサギのスポーンエッグ", + "item.tfg.food.freeze_dried.red_grapes": "赤ブドウのフリーズドライ", + "item.tfg.food.freeze_dried.white_grapes": "白ブドウのフリーズドライ", + "item.tfg.food.freeze_dried.glow_berries": "グロウベリーのフリーズドライ", + "item.tfg.food.freeze_dried.chorus_fruit": "コーラスフルーツのフリーズドライ", + "item.tfg.food.freeze_dried.popped_chorus_fruit": "焼いたコーラスフルーツのフリーズドライ", + "item.tfg.food.freeze_dried.blackberry": "ブラックベリーのフリーズドライ", + "item.tfg.food.freeze_dried.blueberry": "ブルーベリーのフリーズドライ", + "item.tfg.food.freeze_dried.bunchberry": "ゴゼンタチバナのフリーズドライ", + "item.tfg.food.freeze_dried.cloudberry": "ホロムイイチゴのフリーズドライ", + "item.tfg.food.freeze_dried.cranberry": "クランベリーのフリーズドライ", + "item.tfg.food.freeze_dried.elderberry": "ニワトコのフリーズドライ", + "item.tfg.food.freeze_dried.gooseberry": "セイヨウスグリのフリーズドライ", + "item.tfg.food.freeze_dried.raspberry": "ラズベリーのフリーズドライ", + "item.tfg.food.freeze_dried.snowberry": "セッコウボクのフリーズドライ", + "item.tfg.food.freeze_dried.strawberry": "イチゴのフリーズドライ", + "item.tfg.food.freeze_dried.wintergreen_berry": "ウィンターグリーンベリーのフリーズドライ", + "item.tfg.food.freeze_dried.banana": "バナナのフリーズドライ", + "item.tfg.food.freeze_dried.cherry": "サクランボのフリーズドライ", + "item.tfg.food.freeze_dried.green_apple": "青リンゴのフリーズドライ", + "item.tfg.food.freeze_dried.lemon": "レモンのフリーズドライ", + "item.tfg.food.freeze_dried.olive": "オリーブのフリーズドライ", + "item.tfg.food.freeze_dried.orange": "オレンジのフリーズドライ", + "item.tfg.food.freeze_dried.peach": "モモのフリーズドライ", + "item.tfg.food.freeze_dried.plum": "プラムのフリーズドライ", + "item.tfg.food.freeze_dried.red_apple": "赤リンゴのフリーズドライ", + "item.tfg.food.freeze_dried.pumpkin_chunks": "かぼちゃのフリーズドライ", + "item.tfg.food.freeze_dried.melon_slice": "スイカのフリーズドライ", + "item.tfg.food.freeze_dried.fig": "イチジクのフリーズドライ", + "item.tfg.food.freeze_dried.pineapple": "パイナップルのフリーズドライ", + "item.tfg.food.freeze_dried.blossom_berry": "Blossom Berryのフリーズドライ", + "item.tfg.food.freeze_dried.shadow_berry": "Nox Berryのフリーズドライ", + "item.tfg.food.freeze_dried.cave_pumpkin": "ヒカリカボチャのフリーズドライ", + "item.tfg.food.calorie_paste": "カロリーペースト", + "item.tfg.food.meal_bag": "ミールバッグ", + "item.tfg.food.ice_soup": "アイススープ", + "item.tfg.food.raw_glacian_mutton": "生の氷界ヒツジ肉", + "item.tfg.food.cooked_glacian_mutton": "焼き氷界ヒツジ肉", + "item.tfg.spawn_egg.glacian_ram": "氷界ヒツジのスポーンエッグ", + "item.tfg.food.raw_sniffer_beef": "生のスニッファー肉", + "item.tfg.food.cooked_sniffer_beef": "焼きスニッファー肉", + "item.tfg.spawn_egg.sniffer": "スニッファーのスポーンエッグ", + "item.tfg.food.raw_wraptor": "生のラプター肉", + "item.tfg.food.cooked_wraptor": "焼きラプター肉", + "item.tfg.food.raw_springling_collar": "生のSpringling Collar", + "item.tfg.food.cooked_springling_collar": "焼いたSpringling Collar", + "item.tfg.food.raw_walker_steak": "生のウォーカー肉", + "item.tfg.food.cooked_walker_steak": "ウォーカーステーキ", + "item.tfg.food.raw_glider_wings": "生のグライダーの手羽先", + "item.tfg.food.cooked_glider_wings": "焼いたグライダーの手羽先", + "item.tfg.food.raw_whole_soarer": "生のソアラー肉", + "item.tfg.food.cooked_whole_soarer": "焼きソアラー肉", + "item.tfg.food.raw_crusher_meat": "生のクラッシャー肉", + "item.tfg.food.cooked_crusher_meat": "焼いたクラッシャー肉", + "item.tfg.food.raw_goober_meat": "生のグーバー肉", + "item.tfg.food.cooked_goober_meat": "焼いたグーバー肉", "item.tfg.food.raw_long_pig_filet": "Raw Long Pig Filet", "item.tfg.food.cooked_long_pig_filet": "Cooked Long Pig Filet", - "item.tfg.food.raw_surfer_steak": "Raw Surfer Steak", - "item.tfg.food.cooked_surfer_steak": "Cooked Surfer Steak", + "item.tfg.food.raw_surfer_steak": "生のサーファー肉", + "item.tfg.food.cooked_surfer_steak": "サーファーステーキ", "item.tfg.food.raw_stackatick_chunks": "Raw Stackatick Chunks", "item.tfg.food.raw_stickastackatick": "Raw Stick'a'Stackatick", "item.tfg.food.cooked_stickastackatick": "Cooked Stick'a'Stackatick", @@ -839,19 +839,19 @@ "item.tfg.sunflower_product": "ヒマワリの花冠", "item.tfg.rapeseed_seeds": "キャノーラの種", "item.tfg.rapeseed_product": "キャノーラの胚", - "item.tfg.flintlock_mechanism": "Flintlock Mechanism", - "item.tfg.advanced_clockwork_mechanism": "Advanced Clockwork Mechanism", - "item.tfg.certus_mechanism": "Certus Mechanism", - "item.tfg.small_bullet_casing": "Small Bullet Casing", - "item.tfg.large_bullet_casing": "Large Bullet Casing", - "item.tfg.shell_bullet_casing": "Shell Bullet Casing", - "item.tfg.nitrocellulose": "Nitrocellulose", - "item.tfg.aes_wool": "Alkaline Earth Silicate Wool", - "item.tfg.aes_compressed_wool": "Compressed Alkaline Earth Silicate Wool", - "item.tfg.aes_insulation_sheet": "Sheet of Alkaline Earth Silicate Insulation", - "item.tfg.aes_insulation_roll": "Roll of Alkaline Earth Silicate Insulation", - "item.tfg.rocket_cone_t2": "Improved Rocket Nose Cone", - "item.tfg.rocket_fin_t2": "Improved Rocket Fin", + "item.tfg.flintlock_mechanism": "フリントロック機構", + "item.tfg.advanced_clockwork_mechanism": "精密歯車仕掛け機構", + "item.tfg.certus_mechanism": "高精度ケルタス機構", + "item.tfg.small_bullet_casing": "小型弾丸薬莢", + "item.tfg.large_bullet_casing": "大型弾丸薬莢", + "item.tfg.shell_bullet_casing": "シェル弾薬莢", + "item.tfg.nitrocellulose": "ニトロセルロース", + "item.tfg.aes_wool": "アルカリアースシリケートの毛糸", + "item.tfg.aes_compressed_wool": "圧縮したアルカリアースシリケートの毛糸", + "item.tfg.aes_insulation_sheet": "アルカリアースシリケート断熱材のシート", + "item.tfg.aes_insulation_roll": "アルカリアースシリケート断熱材のロール", + "item.tfg.rocket_cone_t2": "改良型ロケットノーズコーン", + "item.tfg.rocket_fin_t2": "改良型ロケットフィン", "item.tfg.cryo_fluix_pearl": "超低温フルーシュパール", "item.tfg.marker.earth_orbit": "Earth Orbit", "item.tfg.marker.moon_orbit": "Moon Orbit", @@ -859,7 +859,7 @@ "item.tfg.marker.venus_orbit": "Venus Orbit", "item.tfg.marker.mercury_orbit": "Mercury Orbit", "item.tfg.marker.glacio_orbit": "Europa Orbit", - "item.tfg.railgun_ammo_shell": "Railgun Ammo Shell", + "item.tfg.railgun_ammo_shell": "レールガンの弾", "item.tfg.sulfur_fumes_bucket": "Sulfur Fumes Bucket", "item.tfg.super_heated_slurry_bucket": "Super Heated Slurry Bucket", "item.tfg.cryogenized_fluix_bucket": "超低温液化フルーシュ バケツ", @@ -867,67 +867,67 @@ "item.tfg.latex_bucket": "ラテックス入りのバケツ", "item.tfg.vulcanized_latex_bucket": "加硫処理ラテックス入りのバケツ", "item.tfg.conifer_pitch_bucket": "針葉樹液入りのバケツ", - "item.tfg.compressed_nitrox_bucket": "Nitrox Bucket", - "item.tfg.compressed_heliox_bucket": "Heliox Bucket", - "item.tfg.compressed_heliox_3_bucket": "Heliox-3 Bucket", - "item.tfg.compressed_trimix_bucket": "50/30/20 Trimix Bucket", - "item.tfg.compressed_trimix_3_bucket": "50/30/20 Trimix-3 Bucket", - "item.tfg.semiheavy_ammoniacal_water_bucket": "Semiheavy Ammoniacal Water Bucket", + "item.tfg.compressed_nitrox_bucket": "ナイトロックス バケツ", + "item.tfg.compressed_heliox_bucket": "ヘリオックス バケツ", + "item.tfg.compressed_heliox_3_bucket": "ヘリオックス3 バケツ", + "item.tfg.compressed_trimix_bucket": "50/30/20 トリミックス バケツ", + "item.tfg.compressed_trimix_3_bucket": "50/30/20 トリミックス3 バケツ", + "item.tfg.semiheavy_ammoniacal_water_bucket": "アンモニア交じりの半重水 バケツ", "item.tfg.harvest_basket": "収穫かご", "item.tfg.aluminium_harvest_basket": "アルミニウム製収穫かご", - "item.tfg.wood.lumber.aeronos": "Aeronos Lumber", - "item.tfg.wood.lumber.strophar": "Strophar Lumber", - "item.tfg.wood.lumber.glacian": "Glacian Lumber", - "item.tfg.twigs.aeronos": "Aeronos Twig", - "item.tfg.twigs.strophar": "Strophar Twig", - "item.tfg.twigs.glacian": "Glacian Twig", - "item.tfg.twigs.alphacene": "Alphacene Twig", - "item.tfg.crimsene_gem": "Crimsene Rosin", - "item.tfg.warpane_gem": "Warpane Rosin", - "item.tfg.glacian_wool": "Glacian Wool", - "item.tfg.sniffer_wool": "Mineral Rich Tufts", - "item.tfg.sniffer_egg": "Sniffer Egg", - "item.tfg.wraptor_wool": "Mineral Rich Down Feathers", - "item.tfg.wraptor_egg": "Wraptor Egg", - "item.tfg.wraptor_sugar": "Wraptor Sugar", - "item.tfg.aes_polyurethane": "Bio-AES Reinforced R-Polyurethane Foam", - "item.tfg.mli_shielding": "Multi-Layer Insulated Shielding", - "item.tfg.rocket_cone_t3": "Advanced Rocket Nose Cone", - "item.tfg.rocket_fin_t3": "Advanced Rocket Fin", - "item.tfg.elite_power_thruster": "§aElite Power Thruster", + "item.tfg.wood.lumber.aeronos": "エアロノスの板", + "item.tfg.wood.lumber.strophar": "ストロファの板", + "item.tfg.wood.lumber.glacian": "グラシアンの板", + "item.tfg.twigs.aeronos": "エアロノスの枝", + "item.tfg.twigs.strophar": "ストロファの枝", + "item.tfg.twigs.glacian": "グラシアンの枝", + "item.tfg.twigs.alphacene": "アルファキノコの枝", + "item.tfg.crimsene_gem": "深紅の樹脂", + "item.tfg.warpane_gem": "歪みの樹脂", + "item.tfg.glacian_wool": "氷塊羊毛", + "item.tfg.sniffer_wool": "ミネラル豊富な房", + "item.tfg.sniffer_egg": "スニッファーの卵", + "item.tfg.wraptor_wool": "ミネラル豊富な羽毛", + "item.tfg.wraptor_egg": "ラプターの卵", + "item.tfg.wraptor_sugar": "ラプターシュガー", + "item.tfg.aes_polyurethane": "バイオAES強化Rポリウレタンフォーム", + "item.tfg.mli_shielding": "多層断熱保護剤", + "item.tfg.rocket_cone_t3": "発展型ロケットノーズコーン", + "item.tfg.rocket_fin_t3": "発展型ロケットフィン", + "item.tfg.elite_power_thruster": "§a精鋭型パワースラスター", "item.tfg.vf": "シリカエアロゲル", "item.tfg.bftter_space_suit_fabric": "宇宙服の強化生地", - "item.tfg.universal_compost_browns": "Brown Universal Compost", - "item.tfg.universal_compost_greens": "Green Universal Compost", - "item.tfg.etching_diamond_tip": "Etching Diamond Tip", - "item.tfg.spade_head_extruder_mold": "Extruder Mold (Spade Head)", - "item.tfg.mining_hammer_head_extruder_mold": "Extruder Mold (Mining Hammer Head)", - "item.tfg.sword_head_extruder_mold": "Extruder Mold (Sword Head)", - "item.tfg.pickaxe_head_extruder_mold": "Extruder Mold (Pickaxe Head)", - "item.tfg.shovel_head_extruder_mold": "Extruder Mold (Shovel Head)", - "item.tfg.axe_head_extruder_mold": "Extruder Mold (Axe Head)", - "item.tfg.hoe_head_extruder_mold": "Extruder Mold (Hoe Head)", - "item.tfg.scythe_head_extruder_mold": "Extruder Mold (Sycthe Head)", - "item.tfg.file_head_extruder_mold": "Extruder Mold (File Head)", - "item.tfg.hammer_head_extruder_mold": "Extruder Mold (Hammer Head)", - "item.tfg.saw_head_extruder_mold": "Extruder Mold (Saw Head)", - "item.tfg.knife_head_extruder_mold": "Extruder Mold (Knife Head)", - "item.tfg.butchery_knife_head_extruder_mold": "Extruder Mold (Butchery Knife Head)", - "item.tfg.propick_head_extruder_mold": "Extruder Mold (Prospector's Pick Head)", - "item.tfg.javelin_head_extruder_mold": "Extruder Mold (Javelin Head)", - "item.tfg.chisel_head_extruder_mold": "Extruder Mold (Chisel Head)", - "item.tfg.mace_head_extruder_mold": "Extruder Mold (Mace Head)", - "item.tfg.mattock_head_extruder_mold": "Extruder Mold (Mattock Head)", - "item.tfg.fish_hook_extruder_mold": "Extruder Mold (Fish Hook)", - "item.tfg.whisk_extruder_mold": "Extruder Mold (Whisk)", - "item.tfg.screwdriver_tip_extruder_mold": "Extruder Mold (Screwdriver Tip)", - "item.tfg.wrench_tip_extruder_mold": "Extruder Mold (Wrench Tip)", - "item.tfg.wire_cutter_head_extruder_mold": "Extruder Mold (Wire Cutter Head)", - "item.tfg.small_casing_extruder_mold": "Extruder Mold (Small Bullet Casing)", - "item.tfg.shell_casing_extruder_mold": "Extruder Mold (Shell Bullet Casing)", - "item.tfg.large_casing_extruder_mold": "Extruder Mold (Large Bullet Casing)", + "item.tfg.universal_compost_browns": "茶色の堆肥源", + "item.tfg.universal_compost_greens": "緑の堆肥源", + "item.tfg.etching_diamond_tip": "エッチング用ダイアモンドの針", + "item.tfg.spade_head_extruder_mold": "押出形成用金型 (軍用シャベルの頭)", + "item.tfg.mining_hammer_head_extruder_mold": "押出形成用金型 (採掘用ハンマーの頭)", + "item.tfg.sword_head_extruder_mold": "押出形成用金型 (剣身)", + "item.tfg.pickaxe_head_extruder_mold": "押出形成用金型 (ピッケルの頭)", + "item.tfg.shovel_head_extruder_mold": "押出形成用金型 (シャベルの頭)", + "item.tfg.axe_head_extruder_mold": "押出形成用金型 (斧頭)", + "item.tfg.hoe_head_extruder_mold": "押出形成用金型 (クワの頭)", + "item.tfg.scythe_head_extruder_mold": "押出形成用金型 (鎌の刃)", + "item.tfg.file_head_extruder_mold": "押出形成用金型 (やすりの先端)", + "item.tfg.hammer_head_extruder_mold": "押出形成用金型 (ハンマーの頭)", + "item.tfg.saw_head_extruder_mold": "押出形成用金型 (のこぎりの刃)", + "item.tfg.knife_head_extruder_mold": "押出形成用金型 (ナイフの刃)", + "item.tfg.butchery_knife_head_extruder_mold": "押出形成用金型 (肉切包丁の刃)", + "item.tfg.propick_head_extruder_mold": "押出形成用金型 (探鉱槌の頭)", + "item.tfg.javelin_head_extruder_mold": "押出形成用金型 (槍の穂)", + "item.tfg.chisel_head_extruder_mold": "押出形成用金型 (ノミの頭)", + "item.tfg.mace_head_extruder_mold": "押出形成用金型 (メイスの頭)", + "item.tfg.mattock_head_extruder_mold": "押出形成用金型 (マトックの頭)", + "item.tfg.fish_hook_extruder_mold": "押出形成用金型 (釣り針)", + "item.tfg.whisk_extruder_mold": "押出形成用金型 (Whisk)", + "item.tfg.screwdriver_tip_extruder_mold": "押出形成用金型 (スクリュードライバーの先端)", + "item.tfg.wrench_tip_extruder_mold": "押出形成用金型 (レンチの先端)", + "item.tfg.wire_cutter_head_extruder_mold": "押出形成用金型 (ワイヤーカッターヘッド)", + "item.tfg.small_casing_extruder_mold": "押出形成用金型 (小型弾丸薬莢)", + "item.tfg.shell_casing_extruder_mold": "押出形成用金型 (シェル弾薬莢)", + "item.tfg.large_casing_extruder_mold": "押出形成用金型 (大型弾丸薬莢)", "item.tfg.photo_cell_t1": "基本型太陽電池", - "item.tfg.electric_extendo_grip": "Electric Extendo Grip", + "item.tfg.electric_extendo_grip": "電動マジックハンド", "item.tfg.treated_chipboard_composite": "防腐処理したおがくず", "item.tfg.high_density_treated_fiberboard": "防腐繊維板", "item.tfg.flax_seeds": "亜麻の種", @@ -937,27 +937,27 @@ "item.tfg.flax_waste": "亜麻屑", "item.tfg.linen_thread": "リネンの糸", "item.tfg.linen_cloth": "リネン", - "item.tfg.ulled": "§dUltraviolet §fLED", - "item.tfg.smd_uv_led": "§fSMD §dUltraviolet §fLED", - "item.tfg.empty_dna_syringe": "Empty Syringe", - "item.tfg.filled_dna_syringe": "Filled Syringe", - "item.tfg.dirty_dna_syringe": "Dirty Syringe", - "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.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.refrigerant_pellet": "Refrigerant Pellet", - "item.tfg.graphite_compound": "Graphite Compound", - "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", - "item.tfg.faulty_graphite_briquette": "Faulty Graphite Briquette", - "item.tfg.washed_graphite_briquette": "Washed Graphite Briquette", - "item.tfg.pure_graphite_rod": "Pure Graphite Rod", - "item.tfg.impure_graphite_rod": "Impure Graphite Rod", - "item.tfg.annealed_graphite_rod": "Annealed Graphite Rod", - "item.tfg.impure_annealed_graphite_row": "Impure Annealed Graphite Rod", + "item.tfg.ulled": "§dウルトラヴァイオレット§fLED", + "item.tfg.smd_uv_led": "§fSMD§dウルトラヴァイオレット§fLED", + "item.tfg.empty_dna_syringe": "空の注射器", + "item.tfg.filled_dna_syringe": "中身入りの注射器", + "item.tfg.dirty_dna_syringe": "汚染された注射器", + "item.tfg.clean_dna_syringe": "洗浄済み注射器", + "item.tfg.stainless_steel_needle": "ステンレスの針", + "item.tfg.empty_rod": "空の燃料棒", + "item.tfg.thorium_rod": "トリウム燃料棒", + "item.tfg.uranium_rod": "ウラン燃料棒", + "item.tfg.plutonium_rod": "プルトニウム燃料棒", + "item.tfg.tbu_232_rod": "TBU-232燃料棒", + "item.tfg.refrigerant_pellet": "冷却材ペレット", + "item.tfg.graphite_compound": "グラファイト混合物", + "item.tfg.raw_graphite_briquette": "グラファイト成形炭", + "item.tfg.faulty_graphite_briquette": "欠けたグラファイト成形炭", + "item.tfg.washed_graphite_briquette": "化学処理済みグラファイト成形炭", + "item.tfg.pure_graphite_rod": "純粋なグラファイトロッド", + "item.tfg.impure_graphite_rod": "不純なグラファイトロッド", + "item.tfg.annealed_graphite_rod": "焼成グラファイトロッド", + "item.tfg.impure_annealed_graphite_row": "不純な焼成グラファイトロッド", "item.tfg.moderate_core": "Moderate Core", "item.tfg.impure_moderate_core": "Impure Moderate Core", "item.tfg.moderate_core_frame": "Moderate Core Frame", @@ -973,27 +973,27 @@ "item.tfg.vial.filled": "Vial of %s", "item.tfg.lab_equipment": "Lab Equipment", "item.tfg.dirty_lab_equipment": "Dirty Lab Equipment", - "item.tfg.wireless_card": "Interplanetary Wireless Card", - "item.tfg.wet_magenta_chalk": "Wet Magenta Chalk", - "item.tfg.wet_pink_chalk": "Wet Pink Chalk", - "item.tfg.wet_green_chalk": "Wet Green Chalk", - "item.tfg.wet_lime_chalk": "Wet Lime Chalk", - "item.tfg.wet_light_gray_chalk": "Wet Light Gray Chalk", - "item.tfg.wet_yellow_chalk": "Wet Yellow Chalk", - "item.tfg.wet_black_chalk": "Wet Black Chalk", - "item.tfg.wet_light_blue_chalk": "Wet Light Blue Chalk", - "item.tfg.wet_brown_chalk": "Wet Brown Chalk", - "item.tfg.wet_cyan_chalk": "Wet Cyan Chalk", - "item.tfg.wet_orange_chalk": "Wet Orange Chalk", - "item.tfg.wet_red_chalk": "Wet Red Chalk", - "item.tfg.wet_gray_chalk": "Wet Gray Chalk", - "item.tfg.wet_white_chalk": "Wet White Chalk", - "item.tfg.wet_blue_chalk": "Wet Blue Chalk", - "item.tfg.wet_purple_chalk": "Wet Purple Chalk", - "item.tfg.lamp_casting_mold": "Lamp Casting Mold", - "item.tfg.trapdoor_casting_mold": "Trapdoor Casting Mold", - "item.tfg.chain_casting_mold": "Chain Casting Mold", - "item.tfg.bell_casting_mold": "Bell Casting Mold", + "item.tfg.wireless_card": "星間対応無線カード", + "item.tfg.wet_magenta_chalk": "未焼成の赤紫色のチョーク", + "item.tfg.wet_pink_chalk": "未焼成の桃色のチョーク", + "item.tfg.wet_green_chalk": "未焼成の緑色のチョーク", + "item.tfg.wet_lime_chalk": "未焼成の黄緑色のチョーク", + "item.tfg.wet_light_gray_chalk": "未焼成の薄灰色のチョーク", + "item.tfg.wet_yellow_chalk": "未焼成の黄色のチョーク", + "item.tfg.wet_black_chalk": "未焼成の黒色のチョーク", + "item.tfg.wet_light_blue_chalk": "未焼成の空色のチョーク", + "item.tfg.wet_brown_chalk": "未焼成の茶色のチョーク", + "item.tfg.wet_cyan_chalk": "未焼成の青緑色のチョーク", + "item.tfg.wet_orange_chalk": "未焼成の橙色のチョーク", + "item.tfg.wet_red_chalk": "未焼成の赤色のチョーク", + "item.tfg.wet_gray_chalk": "未焼成の灰色のチョーク", + "item.tfg.wet_white_chalk": "未焼成の白色のチョーク", + "item.tfg.wet_blue_chalk": "未焼成の青色のチョーク", + "item.tfg.wet_purple_chalk": "未焼成の紫色のチョーク", + "item.tfg.lamp_casting_mold": "金型(ランタン)", + "item.tfg.trapdoor_casting_mold": "金型(トラップドア)", + "item.tfg.chain_casting_mold": "金型(鎖)", + "item.tfg.bell_casting_mold": "金型(鐘)", "material.tfg.latex": "ラテックス", "material.tfg.vulcanized_latex": "加硫処理ラテックス", "material.tfg.fluix": "フルーシュ", @@ -1029,60 +1029,60 @@ "material.gtceu.scorchia": "スコーチア", "material.tfg.kaolinite": "カオリナイト", "material.tfg.vitrified_pearl": "ガラス化したエンダー", - "material.tfg.aes_mix": "Alkaline Earth Silicate Mixture", - "material.tfg.molten_aes": "Molten Alkaline Earth Silicate", - "material.tfg.compressed_nitrox": "Compressed Nitrox", - "material.tfg.compressed_heliox": "Compressed Heliox", - "material.tfg.compressed_heliox_3": "Compressed Heliox-3", - "material.tfg.compressed_trimix": "Compressed 50/30/20 Trimix", - "material.tfg.compressed_trimix_3": "Compressed 50/30/20 Trimix-3", - "material.tfg.chlorodifluoromethane": "Chlorodifluoromethane", + "material.tfg.aes_mix": "アルカリアースシリケート混合物", + "material.tfg.molten_aes": "溶融アルカリアースシリケート", + "material.tfg.compressed_nitrox": "圧縮ナイトロックス", + "material.tfg.compressed_heliox": "圧縮ヘリオックス", + "material.tfg.compressed_heliox_3": "圧縮ヘリオックス-3", + "material.tfg.compressed_trimix": "圧縮50/30/20トリミックス", + "material.tfg.compressed_trimix_3": "圧縮50/30/20トリミックス-3", + "material.tfg.chlorodifluoromethane": "クロロジフルオロメタン", "material.tfg.acetylene": "アセチレン", - "material.tfg.1_1_1_2_tetrafluoroethane": "1,1,1,2-Tetrafluoroethane", + "material.tfg.1_1_1_2_tetrafluoroethane": "1,1,1,2-テトラフルオロエタン", "material.tfg.isobutane": "イソブテン", - "material.tfg.chloryl_fluoride": "Chloryl Fluoride", - "material.tfg.chlorine_pentafluoride": "Chlorine Pentafluoride", + "material.tfg.chloryl_fluoride": "一フッ化クロリル", + "material.tfg.chlorine_pentafluoride": "五フッ化塩素", "material.tfg.solar_coolant": "ソーラー冷却材", "material.tfg.solar_coolant_tier2": "強化ソーラー冷却材", - "material.tfg.sodium_hydride": "Sodium Hydride", - "material.tfg.boric_acid": "Boric Acid", - "material.tfg.trimethyl_borate": "Trimethyl Borate", - "material.tfg.sodium_borohydride": "Sodium Borohydride", - "material.tfg.sodium_methoxide": "Sodium Methoxide", - "material.tfg.ammonia_borane": "Ammonia Borane", - "material.tfg.aniline": "Aniline", - "material.tfg.dimethyl_carbonate": "Dimethyl Carbonate", - "material.tfg.methyl_phenylcarbamate": "Methyl N-Phenylcarbamate", - "material.tfg.methylene_diphenyl_dicarbamate": "Methylene Diphenyl-4,4'-Dicarbamate", - "material.tfg.methylene_diphenyl_diisocyanate": "Methylene Diphenyl-4,4'-Diisocyanate", - "material.tfg.tmos": "Tetramethoxysilane", - "material.tfg.silica_gel": "Silica Gel", - "material.tfg.soaked_silica_gel": "Acetone Soaked Silica Gel", - "material.tfg.heavy_water": "Heavy Water", - "material.tfg.semiheavy_water": "Semiheavy Water", - "material.tfg.nuclear_residue": "Nuclear Residue", - "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue", - "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", + "material.tfg.sodium_hydride": "水素化ナトリウム", + "material.tfg.boric_acid": "ホウ酸", + "material.tfg.trimethyl_borate": "ホウ酸トリメチル", + "material.tfg.sodium_borohydride": "水素化ホウ素ナトリウム", + "material.tfg.sodium_methoxide": "ナトリウムメトキシド", + "material.tfg.ammonia_borane": "アンモニアボラン", + "material.tfg.aniline": "アニリン", + "material.tfg.dimethyl_carbonate": "炭酸ジメチル", + "material.tfg.methyl_phenylcarbamate": "N-フェニルカルバミン酸メチル", + "material.tfg.methylene_diphenyl_dicarbamate": "4,4'-ジカルバミン酸メチレンジフェニル", + "material.tfg.methylene_diphenyl_diisocyanate": "4,4'-ジイソシアン酸メチレンジフェニル", + "material.tfg.tmos": "テトラメトキシシラン", + "material.tfg.silica_gel": "シリカゲル", + "material.tfg.soaked_silica_gel": "アセトン吸着シリカゲル", + "material.tfg.heavy_water": "重水", + "material.tfg.semiheavy_water": "半重水", + "material.tfg.nuclear_residue": "核分裂残留物", + "material.tfg.oxidized_nuclear_residue": "酸化核分裂残留物", + "material.tfg.refined_nuclear_residue": "精製核分裂残留物", "material.tfg.mars_air": "火星の空気", "material.tfg.liquid_mars_air": "火星の液体空気", - "material.tfg.certus_regolith": "Certus Regolith", - "material.tfg.goethe_regolith": "Goethe Regolith", - "material.tfg.bright_regolith": "Bright Regolith", - "material.tfg.cassiterite_regolith": "Cassiterite Regolith", - "material.tfg.regolith_mush": "Regolith Mush", - "material.tfg.apt": "Ammonium Paratungstate", - "material.tfg.ammonium_tungstate": "Ammonium Tungstate", - "material.tfg.tungsten_bismuth_oxide_composite": "Tungsten-Bismuth Oxide Composite", - "material.tfg.tungsten_oxide": "Tungsten Oxide", - "material.tfg.sodium_tungstate": "Sodium Tungstate", - "material.tfg.tetrafluoroethane": "Tetrafluoroethane", - "material.tfg.thermally_conductive_fluid": "Thermally Conductive Fluid", - "material.tfg.crimsene": "Crimsene", - "material.tfg.warpane": "Warpane", + "material.tfg.certus_regolith": "水晶岩屑", + "material.tfg.goethe_regolith": "針鉄鉱岩屑", + "material.tfg.bright_regolith": "煌めく岩屑", + "material.tfg.cassiterite_regolith": "錫石岩屑", + "material.tfg.regolith_mush": "月面堆積物", + "material.tfg.apt": "パラタングステン酸アンモニウム", + "material.tfg.ammonium_tungstate": "タングステン酸アンモニウム", + "material.tfg.tungsten_bismuth_oxide_composite": "酸化タングステン-ビスマス混合物", + "material.tfg.tungsten_oxide": "酸化タングステン", + "material.tfg.sodium_tungstate": "タングステン酸ナトリウム", + "material.tfg.tetrafluoroethane": "テトラフルオロエタン", + "material.tfg.thermally_conductive_fluid": "熱伝導性流体", + "material.tfg.crimsene": "深紅", + "material.tfg.warpane": "歪み", "material.tfg.mycelienzene": "Mycelienzene", "material.tfg.cooked_mycelienzane": "1,3-Mycelienzane", - "material.tfg.iodomethane": "Iodomethane", - "material.tfg.trideuteroiodomethane": "Trideuteroiodomethane", + "material.tfg.iodomethane": "ヨードメタン", + "material.tfg.trideuteroiodomethane": "三重ヨードメタン", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1226,24 +1226,24 @@ "tfg.tooltip.food_trait.refrigerating": "§b冷蔵保存", "tfg.tooltip.foodtrait.freeze_dried": "フリーズドライ", "tfg.tooltip.extraterrestrial_farming": "§4Temperature:§r An oxygenated environment provides 15°C", - "entity.tfg.moon_rabbit.male": "Moon Rabbit", - "entity.tfg.moon_rabbit.female": "Moon Rabbit", + "entity.tfg.moon_rabbit.male": "月ウサギ", + "entity.tfg.moon_rabbit.female": "月ウサギ", "tfg.tooltip.moon_rabbit_variant.pink": "Pink Fur", "tfg.tooltip.moon_rabbit_variant.white": "White Fur", "tfg.tooltip.moon_rabbit_variant.grey": "Stony Fur", "tfg.tooltip.moon_rabbit_variant.cyan": "Seafoam Fur", "tfg.tooltip.moon_rabbit_variant.purple": "Lavender Fur", "tfg.tooltip.moon_rabbit_variant.sofu": "Sundae Fur", - "entity.tfg.glacian_ram.male": "Glacian Ram", - "entity.tfg.glacian_ram.female": "Glacian Ewe", + "entity.tfg.glacian_ram.male": "氷界雄ヒツジ", + "entity.tfg.glacian_ram.female": "氷界雌ヒツジ", "tfg.tooltip.attribution.glacian_ram": "§9§oCredit: Ad Astra", - "entity.tfg.sniffer.male": "Sniffer", - "entity.tfg.sniffer.female": "Sniffer", + "entity.tfg.sniffer.male": "スニッファー", + "entity.tfg.sniffer.female": "スニッファー", "tfg.tooltip.attribution.sniffer": "§9§oCredit: Minecraft", - "entity.tfg.wraptor.male": "Wraptor", - "entity.tfg.wraptor.female": "Wraptor", + "entity.tfg.wraptor.male": "ラプター", + "entity.tfg.wraptor.female": "ラプター", "tfg.tooltip.attribution.wraptor": "§9§oCredit: Species", - "entity.tfg.surfer": "Surfer", + "entity.tfg.surfer": "サーファー", "tfg.tooltip.surfer_variant.base": "Teal Hide", "tfg.tooltip.surfer_variant.bubble": "Blossom Berry Hide", "tfg.tooltip.surfer_variant.horn": "Golden Hide", @@ -2261,113 +2261,113 @@ "quests.high_voltage.nitric_acid.desc.1": "&a硝酸&rは非常に有害です!それと同時に非常に強力な酸化剤でもあります。\n\n&a硝酸&rには以下のような様々な用途があります:\n&9-&rセタン添加ディーゼル。より良いディーゼル燃料で、まもなく作れるようになります。\n&9-&rニトロベンゼン。より良いガス燃料で、まもなく作れるようになります。\n&9-&r宝石泥漿ライン処理。\n&9-&r&1IV&rにおける白金族ライン処理。\n&9-&r&1IV&rでのポリベンズイミダゾール(早口言葉じゃないですよ)。", "quests.high_voltage.nitric_acid.desc.2": "&a硝酸&rを作るには&o良い方法&fと&4悪い方法&fがあります。\nここでは、最良の方法を案内します:\n\nまず&3大型化学反応炉&rで&a二酸化窒素&rを作ってください。それを&3化学反応器&rでさらに&d酸素&rと&d水&rと反応させれば、&a硝酸&rの完成です!\n\nこれには大量の&d酸素&rを消費します。酸素を大量に確保する方法は&7LV&r章のクエストを参照してください。なお、この工程では水素が不要です!。", "quests.high_voltage.cetane_diesel.title": "セタン添加ディーゼル", - "quests.high_voltage.cetane_diesel.subtitle": "This is to go further beyond", + "quests.high_voltage.cetane_diesel.subtitle": "ディーゼルの進化形", "quests.high_voltage.cetane_diesel.desc": "&6HV&rミキサーと&e硝酸&rが揃えば、燃料価が+&e180%&rされる&aセタン添加ディーゼル&rを作れるようになります。\n大変なのは&bテトラニトロメタン&rの作成で、これは&9硝酸&rと&dエタノン&rを混ぜれば作れます。\n\nエタノンは&9硫酸&rと&c酢酸&rを反応させて作ることができ、酢酸は&3酸素&rと&5エチレン&rから合成できます。\n\n注意:酢酸をこのレシピで作るときは、&c機械の回路番号を2に設定&rするのを絶対に忘れないでください!(そうしないと&6ポリエチレン&rが出来上がってしまいます)。", - "quests.high_voltage.smd_components.title": "SMD Components", - "quests.high_voltage.smd_components.subtitle": "Alternate components!", - "quests.high_voltage.smd_components.desc": "The &eSMD&r (surface-mount device) &aComponents&r are CEu-exclusive components that are required for the next tier of circuits (&5Nano&r). They can also be used in place of their non-SMD counterparts in most Circuit recipes.\n\nOf course they're more complicated to make, this is GregTech! What did you expect?\n\nInvest in automation for these - you won't stop needing them.", - "quests.high_voltage.smd_components_2.title": "More SMD Components", - "quests.high_voltage.smd_components_2.desc": "&aPlatinum&r (needed for SMD Diodes) has its own dedicated Quest in the &5EV&r tab. But you could also get Platinium directly from Platinium vein or Chemical Washer processing.\n\n&l&3Lore:&r&o The SMD Inductors make an appearance in GTCEu for the first time. It's more consistent and convenient to have all Circuit components receive an SMD counterpart.", - "quests.high_voltage.hv_macerator.title": "Universal Macerator", - "quests.high_voltage.hv_macerator.subtitle": "Shredding your Ores with byproducts", - "quests.high_voltage.hv_macerator.desc.1": "The &3HV Macerator&r finally unlocks more of the slots shown in JEI. With this, &9all&r of the slots are now available. This also allows you to receive the &6unique ore Byproduct&r from macerating &dThermal &dCentrifuged Ore&r.\n\nMacerating Ores costs &a32 EU/t&r with &5two overclocks&r, which makes this machine able to fit in &7LV&r lines - very, very convenient.\n\nDespite the signicant improvements this machine provides, it still isn't completely worth it to set up advanced processing for every single ore. Energy and time are still things to consider!", - "quests.high_voltage.hv_macerator.desc.2": "&l&3Lore:&r&o In GregTech 5u, the &6HV&r&o Macerator only gave two slots. Urgh... we weren't planning on using that Stone Dust, anyway...", - "quests.high_voltage.ammonia.title": "Ammonia", - "quests.high_voltage.ammonia.desc": "&aAmmonia&r is &doptional&r in &6HV&r.\n\nYou may use it in the production of:\n&9-&r Nitric Acid, although we don't recommend this.\n&9-&r Rocket Fuel, required to leave this planet.\n&9-&r Polybenzimidazole (now THAT'S a tongue twister!) in &1IV&r.\n\nThe \"least painful\" recipe should be the one in the &3HV Chemical Reactor&r. Make sure your &aHydrogen&r production (mostly from &aWater electrolysis&r) is enough to support the demand.\n\nYou could also obtain &aAmmonia&r as a waste product from &dPlatinum Group Sludge&r processing.", - "quests.high_voltage.hv_mixer.title": "High Voltage Mixer", - "quests.high_voltage.hv_mixer.subtitle": "Mixing never got so good", - "quests.high_voltage.hv_mixer.desc": "You will need the &6HV&r Mixer to make the &6Rocket Alloy&r, but that's not its only useful recipe.\n\nIt also unlocks:\n- &dIndium&r\n- &eCetane Boosted Diesel&r\n- The valuable &6Ultimet Alloy&r used for &9Turbine Rotors&r\n- &dFluix Crystals&r, which is absolutely essential for &dAE2&r", - "quests.high_voltage.blue_alloy.title": "Blue Alloy", - "quests.high_voltage.blue_alloy.subtitle": "You're blue now... that's my alloy", - "quests.high_voltage.blue_alloy.desc": "&aBlue Alloy&r is an excellent Cable material for &6HV&r power.\n\nNothing is preventing you from using it for &bMV&r power too! Make sure that you don't overvolt your machines, though.\n\nSuperconductors for &6HV&r are unlocked... later.\n\n&aElectrotine&r is obtained as an ore, so don't craft it in the Mixer!\n\nFurthermore, &aElectrotine&r can be separated for &dElectrum&r and &dRedstone&r.", - "quests.high_voltage.ev_circuits.title": "First EV Circuits!", - "quests.high_voltage.ev_circuits.subtitle": "Standing out amongst the rest", - "quests.high_voltage.ev_circuits.desc": "Your first &5EV&r Circuit gets a unique texture. If you still consider yourself to be in &bMV&r, &ahold off&r on making too many of these, as they won't benefit you right now. We can't stop you from making these if you &djust wanna flex&r on us, though.", - "quests.high_voltage.hv_hull.title": "Welcome to HV!", - "quests.high_voltage.hv_hull.subtitle": "Soon to be a minestronaut", - "quests.high_voltage.hv_hull.desc.1": "&2We hope you're getting the hang of &9GregTech&r, because now it's time to push your skills a bit further.\nIn this chapter, you'll unlock &eadvanced multiblocks&r, &ecomplex processes&r, and even take your first steps onto the &fMoon&r!\n\n&6For this chapter, you have two main goals :&r\n- Craft your first &5EV&r Machine Hull\n- Begin your journey to the &fMoon&r\n\nUnlocking the Moon will also grant access to &bCertus Quartz&r, paving the way for &dApplied Energistics 2&r. You’re free to tackle these objectives in any order you prefer.", - "quests.high_voltage.hv_hull.desc.2": "To craft the &5EV&r Machine Hull:\n- Build your first &aCleanroom&r\n- Construct a &bVacuum Freezer&r to cool hot ingots\n- Process &9Rutile&r into &7Titanium&r\n\nYou'll find plenty of &9Rutile&r on the &fMoon&r, but it can also be located in &eBauxite&r veins in the &aOverworld&r.", - "quests.high_voltage.hv_hull.desc.3": "To reach the Moon:\n- Craft a generous amount of &6Rocket Alloy&r\n- Create your first &eEnder Eye&r using the &3Chemical Bath&r and the &8Implosion Compressor&r\n- Prepare all the &bequipment&r you'll need to &bbreathe in space&r\n\nGetting the &bVacuum Freezer&r and &6better coils&r will speed up &6Rocket Alloy&r production, but they’re not mandatory.\n\n&dChoose your path!&r", - "quests.high_voltage.nichrome.title": "Nichrome Ingots", - "quests.high_voltage.nichrome.subtitle": "It doesn't have much use", - "quests.high_voltage.nichrome.desc": "Your third alloy is here and it's essential for your next set of coils in the &6EBF&r.\n\nAs usual you will need &9128 ingots&r but this time you’ll notice that you can’t use a &6Chemical Washer&r. Instead, you're required to use a &6Vacuum Freezer&r.\n\nGood news: it’s actually simpler and faster.\n\nYou’ll only be using &6Nichrome&r for these coils, but don’t get too comfortable — it will return later for the next set of &5RTM Coils&r.", - "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.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.", - "quests.high_voltage.kaolinite_powder.title": "High-Temperature Refractory Fire Clay", - "quests.high_voltage.kaolinite_powder.subtitle": "You didn't miss me, right?", - "quests.high_voltage.kaolinite_powder.desc": "So the bad news is you've got an upcoming reunion with an old friend. The good news is the reunion is at your own house!\n\nIf you've got any &4kaolinite&r left over from forever ago, time to dig it out of your old forge building and put it to use. And if you don't, well, now you can just make it at home!\n\nKaolinite will be used again in some upcoming recipes for industrial ceramics and heat shielding.", - "quests.high_voltage.linked_quest_energy.title": "More information about energy", + "quests.high_voltage.smd_components.title": "SMD 電子部品", + "quests.high_voltage.smd_components.subtitle": "電子部品第二形態", + "quests.high_voltage.smd_components.desc": "&eSMD&r(surface-mount device)&a電子部品&rは、GTCEu特有の部品で、次世代の回路(&5ナノ&r)を作るために必須です。多くの回路レシピでは、通常の電子部品の代わりとしても使えます。\n\nもちろん、作るのはもっと手間がかかります。だってGregTechですから!簡単なわけがありませんよね?\n\nこれらの部品は今後もずっと必要になるので、自動化しておくとよいでしょう。", + "quests.high_voltage.smd_components_2.title": "SMDダイオード", + "quests.high_voltage.smd_components_2.desc": "SMDダイオードの素材である&aプラチナ&rの確保法は、&5EV&rの章に載っています。その方法のほかにも、単純にプラチナ鉱脈から掘り出すか、化学槽で処理することでも入手できます。\n\n&l&3余談:&r&oSMDインダクタはGTCEuで初登場したんだ。今はすべての電子部品にSMD版があるからわかりやすいね!", + "quests.high_voltage.hv_macerator.title": "HV粉砕機", + "quests.high_voltage.hv_macerator.subtitle": "嗚呼、愛しの副産物...", + "quests.high_voltage.hv_macerator.desc.1": "&3発展型粉砕機II&rでは、ついにレシピで表示されていた副産物が出てくるようになります。つまり、&9全スロット&rのアイテムが出てくるようになるということです。&d熱遠心分離済み鉱石&rの粉砕で&6特殊な副産物&rを得ることができるようにもなります。\n\n鉱石の粉砕には&a32EU/t&rを消費し、HV電力で動かす場合は&52回のオーバークロック&rを行うことになりますが、&7LV&r電力でも一応は動作可能です。とても扱いやすいですね。\n\nとはいえ、どんな鉱石にも完全な処理ラインを組むのが常に得策とは限りません。電力消費や処理時間のバランスを考えましょう。", + "quests.high_voltage.hv_macerator.desc.2": "&l&3余談:&r&o実はGT5uの&6HV&r&o粉砕機には、たった2つのスロットしかなかったんだよ。まあ...石の粉なんてどうせいらないか...", + "quests.high_voltage.ammonia.title": "アンモニア", + "quests.high_voltage.ammonia.desc": "&aアンモニア&rは&6HV&rでは必須ではありませんが、いくつかの重要な用途があります。\n\n例えば:\n&9-&r硝酸の製造(これには、あまりおすすめしません)\n&9-&rロケット燃料(月面旅行に必要)\n&9-&rポリベンズイミダゾール(発音が難しい名前ですね!)(これは&1IV&rで使います。)\n\nもっとも簡単に作れるのは、&3HV化学反応器&rを使う方法です。&a水の電解&rなどで十分な&a水素&rを確保しておきましょう。\n\nまた、&d白金族泥&rの処理中に副産物として&aアンモニア&rを入手することも可能です。", + "quests.high_voltage.hv_mixer.title": "HVミキサー", + "quests.high_voltage.hv_mixer.subtitle": "地球を混ぜる", + "quests.high_voltage.hv_mixer.desc": "&6HV&rミキサーは&6ロケット用の合金&rの製造に必要です。もちろん、それ以外の用途もあります。\n\nこの機械を使えば、次のような重要なレシピも扱えるようになります:\n-&d濃縮インジウム&rの製造\n-&eセタン添加ディーゼル&rの精製\n-&9タービンローター&rに使う&6アルティメット&rという合金の製造\n-そして、&dAE2&rに欠かせない&dフルーシュの水晶&rの作成", + "quests.high_voltage.blue_alloy.title": "青合金", + "quests.high_voltage.blue_alloy.subtitle": "ハイチュウソーダ味", + "quests.high_voltage.blue_alloy.desc": "&a青合金&rは、&6HV&rの送電ケーブルとしてとても優秀な素材です。\n\n実は、&bMV&rの送電にも使えます!ただし、機械に過電圧を送らないよう気をつけましょう。\n\n&6HV&r向けの超伝導体は...もう少し進めた段階で解禁されます。\n\n&aエレクトロチン&rは鉱石から直接手に入るので、ミキサーで作る必要はありません。\n\nまた、&aエレクトロチン&rを遠心分離すると、&dエレクトラム&rと&dレッドストーン&rになります。", + "quests.high_voltage.ev_circuits.title": "最初のEV回路", + "quests.high_voltage.ev_circuits.subtitle": "初めてのコンピューター", + "quests.high_voltage.ev_circuits.desc": "こんな見た目の回路は見たことがないでしょう。&bMV&rの時点でも作ることはできますが、&aさすがに作るには早いです&r。\n\nHVに入ってから作りましょう。", + "quests.high_voltage.hv_hull.title": "HVへようこそ!", + "quests.high_voltage.hv_hull.subtitle": "偉大な一歩を踏み出そう", + "quests.high_voltage.hv_hull.desc.1": "そろそろ&2&9GregTech&rに慣れてきましたか?ここからは、より一層できることが増えていきます。\nこの章では、&e高度なマルチブロック&rや&e複雑な工程&rを扱い、そしてついに&f月&rへと向かう準備を始めます!\n\n&6この章の主な目標は以下の2つです:&r\n-&5EV&rマシン筐体を作ること\n-&f月&rへの冒険を始めること\n\n月へ到達すると、&bケルタスクォーツ&rが採掘できるようになり、&dAE2&rの要素が解禁されます。どちら目指すのも自由です。", + "quests.high_voltage.hv_hull.desc.2": "&5EV&rマシン筐体を作るためには、次の準備が必要です:\n-&aクリーンルーム&rを建造する\n-熱いインゴットを冷やすための&b真空冷却機&rを用意する\n-&9ルチル&rを加工して&7チタン&rを精製する\n\n&f月&rでは&9ルチル&rが豊富に見つかりますが、&aオーバーワールド&rの&eボーキサイト&r鉱脈などからも多少は入手可能です。", + "quests.high_voltage.hv_hull.desc.3": "月に行くためには、以下の工程を踏みましょう:\n-大量の&6ロケット合金&rを用意する\n-&8内破圧縮機&rと&3熱分解炉&rで、&eエンダーパール&rを加工する\n- 宇宙空間で&b生存できる&rように、必要な&b宇宙服&rを揃える\n\n&b真空冷却機&rや&6上位のコイル&rを使えば&6ロケット合金&rの製造速度を上げられますが、なくても問題はありません。\n\n&dさあ、自分の進む道を選びましょう!&r", + "quests.high_voltage.nichrome.title": "ニクロムインゴット", + "quests.high_voltage.nichrome.subtitle": "使い道はそう多くないです", + "quests.high_voltage.nichrome.desc": "これは3番目の&6EBF&rコイルの素材です。\nこれまでと同じく&9128個のインゴット&rが必要です。\n冷却には&6化学槽&rではなく、&6真空冷却機&rを使わなければなりません。真空冷却機なら冷却処理をより効率的に行うことができます。\n\n今回は&6ニクロム&rのみを使ってコイルを作りますが、この素材は後の&5RTMコイル&rの製作でも再び必要になりますので覚えておきましょう。", + "quests.high_voltage.rocket_t1.title": "月面探査用ロケット", + "quests.high_voltage.rocket_t1.subtitle": "ロケットで突き抜けろ!", + "quests.high_voltage.rocket_t1.desc": "さあ、ついに念願の&6ロケット&rの完成です!\n\n機体は全て&d8ロケット合金&rで構築し、断熱材として&b2304mb&rの&b液化ケイ素&r(&b16インゴット分&r)と16個の&fガラス化した粉末&rが必要です。\n\nガラス化した粉末は2種類あります:\n&e-&r&eホウ素ケイ酸ガラスの粉&r—&6ミキサー&rで&dホウ素&rと&fガラスの粉&rを混ぜる\n\n&e-&r&5ガラス化した石綿&r—&6熱分解炉&rで石綿を加熱。\n\nどちらを選んでも構いません。作りやすい方をどうぞ。", + "quests.high_voltage.vitrified_pearl.title": "ガラス化したエンダーパール", + "quests.high_voltage.vitrified_pearl.subtitle": "死んだような目", + "quests.high_voltage.vitrified_pearl.desc": "エンダーパールといくつかの素材を&e熱分解炉&rに入れて加熱し、&3陶器&rのようにガラス化させましょう。\n\n今はまだ大量に作る必要はありません。最低限、&6ロケット&r用に1つと、&6発展型回路作成機II&r用にもう1つあれば十分です。\nただし、&5EV&r以降では需要が一気に増えていきます。", + "quests.high_voltage.kaolinite_powder.title": "カオリナイトの工業的生産", + "quests.high_voltage.kaolinite_powder.subtitle": "もう忘れちゃってた?", + "quests.high_voltage.kaolinite_powder.desc": "良いニュースと悪いニュースがあります。悪い方は、昔の「友人」と再会する時が来たこと。良い方は、その再会の場所があなたの自宅だということです!\n\n倉庫の奥の方で&4カオリナイト&rが眠っていたら、引っ張り出して再利用しましょう。もし無ければ、今なら自宅で簡単に作れます。\n\nカオリナイトは、今後登場する工業用セラミックや耐熱素材のレシピに再び使われる予定らしいです。", + "quests.high_voltage.linked_quest_energy.title": "電力に関する詳細情報", "quests.high_voltage.linked_quest_energy.subtitle": "GregTech Wiki", - "quests.high_voltage.linked_quest_energy.desc": "Still stuck using steam? Want to learn more about GregTech's energy system? Make sure you've look at the GregTech Energy quest chapter!", + "quests.high_voltage.linked_quest_energy.desc": "あなたの知能は蒸気時代のままですか?GregTechの電力システムをもっと理解したいなら、「GregTechの電力システム」の章をチェックしてみましょう!", "quests.high_voltage.linked_quest_energy.task": "Have a look at the Energy Chapter", - "quests.high_voltage.ev_machine_hull.title": "&5EV&r Machine Hull", - "quests.high_voltage.ev_machine_hull.subtitle": "That's half of the GregTech tiers done", - "quests.high_voltage.ev_machine_hull.desc": "Well, that was quite the experience! Between the &9Rutile Processing&r line, the &5Vacuum Chamber&r, and the &5Cleanroom&r, you’ve uncovered a lot of new mechanics. \n\nThat’s great — because this is probably only the halfway point of the modpack.\n\nDid you walk on the &fMoon&r yet? If not, we strongly encourage you to go. You’ll encounter &dessential mechanics&r for later stages of the modpack and unlock &bAE2&r, all while gaining access to &aricher ore veins&r.\n\nIf you’ve already made your lunar journey, then we hope your infrastructure is solid — because it’s time to enter &5EV&r. This complex chapter will introduce &7even more advanced systems&r and take your factory to the next level.", - "quests.high_voltage.250_iq.title": "250IQ", - "quests.high_voltage.250_iq.subtitle": "Stop burning your hands!", - "quests.high_voltage.250_iq.desc.1": "This is a guide on how to automatically route &lall&r your Hot Ingots to your Chemical Bath, while keeping everything automated in tip-top shape.\n\nThe cheap way would be to use filters, and manually add Hot Ingots one by one... which is so boring! Let's try the fun option.\n\nInstall an &aItem Tag Filter&r Cover on the side of your &3Chemical Bath&r, open it and set it to whitelist -&e&l*hot_ingots*&r-.\n\nFrom here, you can route with &9any logistics system&r of your choice.", - "quests.high_voltage.250_iq.desc.2": "Connect the output of your &3EBF(s)&r to the input of your &3Chemical Bath&r and the output dump (Chest or Crate). You can also have a &dRestrictive Pipe&r in front of the output dump to ensure the Chemical Bath will be prioritized.\n\n&l&9Note:&r If you wish to know more tags for more automation setups, they will display if you press Shift when hovering over an item. For instance, an item tagged with &e&o#forge:plates/copper&r would be filtered as &e&lplates/copper&r.\n\n&9&lOther Note:&r The Item Tag Filter partially supports &dregex&r. Hover over the info icon for more information.", - "quests.high_voltage.bedrock_miner.subtitle": "Unlimited ores?", - "quests.high_voltage.bedrock_miner.desc.1": "This may be the first time you encounter the &cBedrock Ore Miner&r, as it's rarely used in GregTech. \nIt functions similarly to the &bFluid Drilling Rig&r, except the veins it targets will &nnever deplete&r.\n\nIt doesn't consume much energy — running fine at &bMV&r or &6HV&r — and requires &ano input materials&r.\n\nSo, what's the catch?\nFinding the veins.", - "quests.high_voltage.bedrock_miner.desc.2": "You’ll need a &6HV&r Ore Prospector set to &oBedrock Ore Mode&r (&7Shift + Right Click&r), and a fair bit of patience. Once you find your target, you’ll also have to figure out how to bring the resources back to your outpost.\n\nOn the &fMoon&r, you can find your first bedrock ore veins, allowing you to passively obtain several essential elements completely for free, forever. Check JEI to see what's available! The higher the Weight, the more common the vein is.\n\nSince these will be so spread apart, this sounds like a great excuse to build a &7moon train&r!", - "quests.high_voltage.space_alloy.title": "R-Aluminosteel", - "quests.high_voltage.space_alloy.subtitle": "We made this one up", - "quests.high_voltage.space_alloy.desc.1": "To make your first &6Rocket Alloy&r, you will need to put &7Aluminium&r, &7Stainless Steel&r and &cLiquid Red Steel&r into your new &6HV&r Mixer.\n\nThe recipe takes some time, so expect to have your mixer fully dedicated to this step.\n\nAfter that, your dust will need to be smelted in your EBF at &bMV&r. If you already have &6Nichrome Coils&r and your EBF is running at &6HV&r, you will be able to &aPerfect Overclock&r the recipe! (check the GregTech Energy chapter if you don't understand)", - "quests.high_voltage.space_alloy.desc.2": "You can cool the ingots down with a &9Chemical Bath&r or, if you already have one, a &9Vacuum Freezer&r for a shorter processing time.\n\n&7144mb equals 1 ingot&r, so make sure not to extract too much &cRed Steel&r.\n\nYou will need &685 Rocket Alloy&r ingots total, which means:\n- &760 Aluminium&r\n- &720 Stainless Steel&r\n- &710 Red Steel&r\n\n&aNothing too bad!&r", - "quests.high_voltage.steel_engine.subtitle": "Blue Steel is back, baby", - "quests.high_voltage.steel_engine.desc": "The &6Steel Engine&r is required so your rocket can &atravel to the Moon&r.\n\nThe recipe isn't too bad — we assume you're ready to tackle each part.\n\nTo get &91152mb of Liquid Blue Steel&r, you will need &78 ingots&r.", - "quests.high_voltage.rocket_fins.subtitle": "So you reach the right destination", - "quests.high_voltage.rocket_fins.desc": "Originally, we made the &6Rocket Fins&r use an &bAlloy Smelter&r simply to remind you that you now have access to the &bMulti-Smelter&r — a wonderful small EBF that can be used both as a &eFurnace&r and an &bAlloy Smelter&r.\n\nThe quest to craft it is in the &bMV&r Chapter.\n\nWe changed this recipe to the assembler because \"rocket fins\" aren't exactly an alloy.", - "quests.high_voltage.rocket_nose_cone.subtitle": "The nose knows...", - "quests.high_voltage.rocket_nose_cone.desc": "The &6Rocket Nose Cone&r is the hardest part of your Rocket.\nYou will need a hefty amount of &aPolyethylene&r — so we hope you already have it passively produced — and a &6HV&r Emitter.\nYou should be able to get your hands on &dChromium&r by electrolyzing &cRuby Dust&r.\n\nThe &aVitrified Ender Pearl&r is trickier and requires you to follow the quest unlocked by the &6HV Chemical Reactor&r.\nGet ready to make &cTNT&r, build an &5Implosion Compressor&r, and recreate the famous Enderman drop — since you won’t find Ender Pearls natively in &2TFG&r.", - "quests.high_voltage.launch_pad.subtitle": "Ready for launch in T-10...", - "quests.high_voltage.launch_pad.desc": "The Launch Pad is &6required&r to launch your Rocket — you can't just place it on any old block!\n\n&cTriple check&r that you bring a &csecond Launch Pad&r with you, as you will need another one for the return trip!", - "quests.high_voltage.rocket_fuel.title": "Rocket Fuel", - "quests.high_voltage.rocket_fuel.subtitle": "Easier than you think", - "quests.high_voltage.rocket_fuel.desc": "For each trip in your rocket, you will need &6three buckets of Rocket Fuel&r. It may look complicated (and to be fair, it does have a lot of steps) but all you need is &bChlorine&r, &bMethane&r, &bNitrogen&r, &bOxygen&r and &bWater&r. Nothing too bad!\n\nIf you already have a &5Large Chemical Reactor&r, you could even skip some steps!\n\nIf you haven't use it yet, this is a good point to check out the &7EMI Recipe Tree&r to have an easier time. Simply click on the small icon with 4 squares on the right of the crafting recipe, then hover over the question mark at the bottom right of your screen for full instructions!", - "quests.high_voltage.space_suit.title": "Space Suit", - "quests.high_voltage.space_suit.subtitle": "This may be the hardest part", - "quests.high_voltage.space_suit.desc.1": "We know you're eager to get going, but you'll need a space suit if you want to live for more than a few seconds on the moon, loaded with a &bbreathable gas&r — and if you want to refill it without taking it off, a &eGas Tank&r.\n\nThe hardest part will definitely be the &dPolycaprolactam Fabric&r (also known as Nylon).\n\nYou will need an EBF and an &6HV&r &eChemical Reactor&r.\n\nFrom there, you'll be able to craft it using &aBenzene&r, &bHydrogen&r, &9Chlorine&r, &bOxygen&r, and &3Ammonia&r.\n\nWe won't tell you every step, but you should be able to figure it out yourself through &aEMI&r now that you're a fierce GregTech player.", - "quests.high_voltage.space_suit.desc.2": "Once everything is ready, simply &eRight-Click&r a drum or tank filled with a breathable gas like &bCompressed Nitrox&r to fill them up, just like a bucket. 1000mB will last you for 20 minutes. Once you've got your space suit on, you can \"drink\" from the Gas Tank to fill up your suit.\n\nYou may also find it helpful to take a peek at the Space Survival quest chapter, in case there's anything else you'd like to bring with you!", + "quests.high_voltage.ev_machine_hull.title": "&5EV&rマシン筐体", + "quests.high_voltage.ev_machine_hull.subtitle": "GregTechの中間地点", + "quests.high_voltage.ev_machine_hull.desc": "いやぁ、ここまで大変でしたね!&9ルチル&r処理ライン、&5真空冷却機&r、&5クリーンルーム&rなどの運用を通して、GregTechをかなり理解してきたことでしょう。\n\nいや本当に素晴らしいですね...というのも、実はここはまだModPackにおける中間地点にすぎないのです。\n\n&f月&rには行きましたか?まだなら、それを目指しましょう。今後の進行に欠かせない&d重要な仕組み&rを学べるほか、、&aより豊富な鉱脈&rを掘り出せるようになり、なにより&bAE2&rが解放されます。\n\nもしすでに月へ到達しているなら、インフラの整備にも注力しましょう。これから&5EV&r段階へと突入し、&7さらなる知識&rを学び、工場を次のレベルへ押し上げる時が来ます。", + "quests.high_voltage.250_iq.title": "IQ250", + "quests.high_voltage.250_iq.subtitle": "他のことに熱中したいでしょう", + "quests.high_voltage.250_iq.desc.1": "これは、&l全種類の&r熱いインゴットに対応した自動冷却機構を作るためのガイドです。\n\n何も考えず、フィルターにそれぞれのインゴットを1つずつ手動登録する手もありますが...そんなの面倒ですよね!もっと効率的で面白いやり方を試しましょう。\n\nまず、&3化学槽&rの側面に&aアイテムタグフィルター&rカバーを取り付けます。フィルターの設定でホワイトリストを-&e&lhot_ingots&r-に設定してください。\n\nあとは、自動運搬機構を組むだけです。", + "quests.high_voltage.250_iq.desc.2": "&3EBF&rを&3化学槽&rとそのほかのストレージ(チェストなど)の両方に搬出するようにしましょう。その際、チェストなどには&d制限パイプ&rをつなぎましょう、化学槽への搬入が優先されるようになります。\n\n&l&9補足:&r自動化で使えるアイテムタグをもっと知りたい場合は、アイテムにカーソルを合わせた状態でShiftキーを押すと表示されます。例えば、&e&o#forge:plates/copper&rと表示されているアイテムは、&e&lplates/copper&rとしてフィルター設定できます。\n\n&9&l補足2:&r アイテムタグフィルターは一部&d正規表現(regex)&rにも対応しています。詳しくは情報アイコンにカーソルを合わせて確認してください。", + "quests.high_voltage.bedrock_miner.subtitle": "無限鉱石?", + "quests.high_voltage.bedrock_miner.desc.1": "おそらく、これが初めて&c岩盤鉱石採掘機&rに出会うタイミングでしょう。GregTechでも滅多に使われないレアな装置です。\n仕組みは&b液体掘削装置&rに似ていますが、採掘する鉱脈は&n枯渇することがありません&r。\n\nエネルギー消費も少なく、&bMV&rや&6HV&rでも十分稼働可能です。さらに&a原料の投入も不要&rという優れものです。\n\nでは、唯一の難点は?\nそう、鉱脈を「見つけること」なのです。", + "quests.high_voltage.bedrock_miner.desc.2": "&6HV&rの鉱石探査機を&o岩盤鉱石モード&r(&7Shift + 右クリック&r)に設定し、気長に探していきましょう。目的の鉱脈を見つけたら、資源をどうやって前哨基地まで運ぶかも計画する必要があります。\n\n&f月&rでは、最初の基岩鉱石鉱脈を発見でき、そこから複数の重要な元素を「永続的かつ無料」で入手できるようになります。どんな鉱脈があるかはJEIで確認してみましょう。重み(Weight)が高いほど、見つかりやすい鉱脈です。\n\n鉱脈同士がかなり離れているので、&7月面列車&rを建設するいい口実にもなりますね!", + "quests.high_voltage.space_alloy.title": "R-AS ロケット合金", + "quests.high_voltage.space_alloy.subtitle": "上を目指すための合金", + "quests.high_voltage.space_alloy.desc.1": "&6R-AS(R-Aluminosteel)ロケット合金&rを作るには、&6HV&rミキサーで&7アルミニウム&r、&7ステンレス&r、そして&c液化レッドスチール&rを混合しましょう。\n\nこのレシピは処理に時間がかかるため、しばらくの間ミキサーはこの作業専用になるでしょう。\n\n完成した粉はEBFで精錬します。もし&6ニクロムコイル&rを導入済みでEBFを&6HV&rで稼働させているなら、&aPOC&rで高速処理が可能です!(POCがよく分からない場合は、「GregTechの電力システム」の章をチェックしてみましょう)", + "quests.high_voltage.space_alloy.desc.2": "この金属の冷却には&9化学槽&rを使うことができますが、&9真空冷却機&rがあれば処理時間を大幅に短縮できます。\n\n&7144mbで1インゴット&rになります。&c赤鋼&rを溶かす量には気をつけましょう。\n\n必要な&6ロケット合金&rのインゴットは合計で85個です。そのために必要なのは:\n-&760個のアルミニウム&r\n-&720個のステンレス&r\n-&710個の赤鋼&r\n\n&aそこまで大変ではありませんね!&r", + "quests.high_voltage.steel_engine.subtitle": "青鋼の帰還", + "quests.high_voltage.steel_engine.desc": "&6スチールロケットエンジン&rは、ロケットを&a月へ飛ばす&rために欠かせないパーツです。\n\nレシピはそこまで複雑ではありません。ここまで来たあなたなら、各パーツの製作も問題なく取り組めるはずです。\n\n&91152mbの液化ブルースチール&rは、&7青鋼インゴット8個分&rです。", + "quests.high_voltage.rocket_fins.subtitle": "ヒレ", + "quests.high_voltage.rocket_fins.desc": "&6ロケットフィン&rの製作で&b合金精錬炉&rを使ったのは、あなたが&bマルチスメルター&rを利用できることを思い出してもらうためです。この小型EBFは、&eかまど&rとしても、&b合金精錬炉&rとしても機能します。\n\nそのクエストは&bMV&r章にあります。まだ作っていない場合は、この機会にぜひ検討してみてください。", + "quests.high_voltage.rocket_nose_cone.subtitle": "ズコーンバコーン", + "quests.high_voltage.rocket_nose_cone.desc": "&6ロケットノーズコーン&rは、ロケット部品のなかでも特に作るのが大変です。\nまず&aポリエチレン&rがいくらか必要になります。量産体制は整えておきましょう。そして厄介なのは&6HVエミッタ&rです。\n\nHVエミッタには&aガラス化したエンダーパール&rが必要です。そのための工程が複雑なので、&6HVミキサー&rの先のクエストの手順に従いましょう。\n&cTNT&rを作り、&5内破圧縮機&rで、あの有名なエンダーマンの落とし物を作ってしまいましょう。&2TFG&rではエンダーパールはドロップしないのです。", + "quests.high_voltage.launch_pad.subtitle": "打ち上げ会場", + "quests.high_voltage.launch_pad.desc": "ロケットの発射のためには発射台が&6必須&rです。どこでも打ち上げられるわけではありません!\n\n&c帰還用の発射台&rを持って行くことを絶対に忘れないでください。&c念には念を入れて&r、何度も確認したほうがいいですよ", + "quests.high_voltage.rocket_fuel.title": "ロケット燃料", + "quests.high_voltage.rocket_fuel.subtitle": "コカ・コーラを作るよりも簡単です", + "quests.high_voltage.rocket_fuel.desc": "ロケットを一回発射するためには、&6ロケット燃料&rが3バケツ分必要になります。一見作るのが大変そうに見えますが、実際に必要なのは &b塩素&r、&bメタン&r、&b窒素&r、&b酸素&r、そして&b水&rだけなので、意外と簡単です!\n\nもし&5大型化学反応炉&rがあれば、いくつかの工程をスキップすることもできます。\n\nEMIの&7レシピツリー&rという機能を知ってますか?クラフトレシピの右下にある4つの四角いアイコンをクリックし、画面右下の「?」にカーソルを合わせると、操作方法が詳しく表示されます。", + "quests.high_voltage.space_suit.title": "宇宙服", + "quests.high_voltage.space_suit.subtitle": "宇宙のドレスコード", + "quests.high_voltage.space_suit.desc.1": "普段服装に無頓着なあなたも、宇宙に出かける際にはそのままではいられません。\n月で数秒以上生き延びるためには、&b呼吸可能な空気&rを入れた宇宙服が必要です。ただしロケットよりも作るのは大変かもしれません...\n\n最も大変なのは、おそらく&dポリカプロラクタム&r(ナイロンと呼ばれます)という素材の作成です。\n\nこれを作るにはEBFと&6HV&rの&e化学反応器&rが必要になります。\n\n素材として&aベンゼン&r、&b水素&r、&9塩素&r、&b酸素&r、そして&3アンモニア&rを使います。\n\n詳しい手順までは教えませんが、今のあなたなら&aEMI&rを活用して自力でたどり着けるはずです。あなたはもう熟練のGregTechプレイヤーですからね。", + "quests.high_voltage.space_suit.desc.2": "準備ができたら、&b圧縮ナイトロックス&rなどの人工空気が入ったドラムやタンクを宇宙服で&e右クリック&rするだけで、バケツのように簡単に空気を充填できます。1000mBのガスで約20分間呼吸できます。\n宇宙服を着ている状態なら、ガスタンクを「飲む」動作でスーツ内にガスを補充することができます。\n\n必要な装備を見落とさないように「宇宙のあるきかた」の章も一度確認しておきましょう。", "quests.high_voltage.space_suit.task": "Fill it and drink it", - "quests.high_voltage.welcome_moon.title": "I'm on the &3Moon&r!", - "quests.high_voltage.welcome_moon.subtitle": "Hope you have everything to come back", - "quests.high_voltage.welcome_moon.desc": "&2Congrats&r, you’ve successfully landed on the &7Moon&r!\nHere, you’ll find &bCertus Quartz&r veins and the meteors that allow you to begin unlocking &dAE2&r.\n\nBut that’s not all — some veins here have much higher density than those on Earth.\n\nFor instance, you can easily find &6Ilmenite&r, &7Bauxite&r, &7Aluminium&r, and &5Chromite&r veins on the Moon.\nEstablishing a small base here will be crucial to keep progressing.\n\nYour biggest challenge will be transporting resources, as there are no easy cross-dimensional tools like the &5Ender Chest&r or &dAE2 Quantum Link&r just yet.\n\nWe hope you're well prepared, unless you want to craft a second rocket and space suit just to go collect your corpse!", - "quests.high_voltage.gun.title": "Bring a gun", - "quests.high_voltage.gun.subtitle": "And if that don't work, use more gun", + "quests.high_voltage.welcome_moon.title": "&3月&rに降り立つ", + "quests.high_voltage.welcome_moon.subtitle": "帰るまでが宇宙旅行", + "quests.high_voltage.welcome_moon.desc": "&2おめでとうございます!&rあなたはついに&7月&rに到達しました!\nここでは、&bケルタスクォーツ&rの鉱脈や、&dAE2&rの開始に必要な隕石を見つけることができます。\n\nさらに、月には地球では貴重な鉱石の大規模な鉱脈が存在します。\n\n例えば、&6チタン鉄鉱&r、&7ボーキサイト&r、&7アルミニウム&r、&5クロマイト&rなどの鉱脈を比較的簡単に見つけることができます。\n今後の発展のためにも、この地に小さな拠点を設けることが非常に重要になります。\n\n最も大きな問題は資源の輸送です。残念ながら、&5エンダーチェスト&rや&dAE2クアンタムリンク&rのような次元間輸送手段は、まだ利用できません。\n\nしっかりと準備を整えてくださいね。さもないと、自分の遺体を回収するためにもう一度ロケットと宇宙服を作る羽目になるかもしれません…!", + "quests.high_voltage.gun.title": "銃の携帯", + "quests.high_voltage.gun.subtitle": "いいセンスだ", "quests.high_voltage.gun.task1": "Any gun", "quests.high_voltage.gun.task2": "Any medicine or aged alcohol", - "quests.high_voltage.gun.desc": "Getting a little too comfortable on Earth? You won't be alone on the moon, so make sure you're well prepared to defend yourself - you'll need more than just a sword or some stone javelins.\n\n%4The Moon is dangerous%r and you wouldn't want to lose your precious Rocket right?\n\nPick out a nice gun (if you're not sure, we recommend the &o\"Clockwork\" Sniper&r), craft some ammo, and maybe try out some attachments if you're feeling fancy.\n\nIt's also a good idea to bring some nutritious food to raise your max HP (try the meal bags!) as well as some alcohol and medicine for buffs and healing.", - "quests.high_voltage.space_survival.title": "Home away from home", - "quests.high_voltage.space_survival.subtitle": "More than just a mining dimension", - "quests.high_voltage.space_survival.desc": "If you haven't already, be sure to check out the &3Tips - Space Survival&r quest chapter! It contains all the information you'll need to establish a proper moon colony.", - "quests.high_voltage.hypertubes.title": "Hypertubes", - "quests.high_voltage.hypertubes.subtitle": "The future is now, old man", - "quests.high_voltage.hypertubes.desc": "Looking for a cooler way to quickly get around your base? Try &3Hypertubes&r! Just stand near one end and you'll be sucked up and transported to the other, and they can go in any direction too!\n\nThese do require Stress Units to power, but if you don't have a Create setup any more, you can turn EU into SU with a GregTech Energy Converter and an Electric Motor from &9&oCreate Crafts and Additions&r.", - "quests.high_voltage.wand.title": "Infinity Construction Wand", - "quests.high_voltage.wand.subtitle": "Ultimate skyblock tool", - "quests.high_voltage.wand.desc": "This wand does exactly the same thing as the other wands, except with &3no durability&r. Do you like building lots of tall buildings or paving over acres of pristine grassland? This is the tool for you!\n\nKeep in mind that Building Gadgets is available soon in &5EV&r, which provides even more powerful tools for avid builders.", - "quests.high_voltage.moon_harvester.title": "The Moon Harvester", - "quests.high_voltage.moon_harvester.subtitle": "Remember Bedrock miner?", - "quests.high_voltage.moon_harvester.desc": "The &7Moon&r is your first entry into &einfinite ores&r — but it’s a slow one.\nYou will need to harvest different kinds of &bRegolith Dust&r, each obtainable only in a specific biome.\nTo do this, you’ll rely on the &6Moon Harvester&r. There are two important things to remember when using it:\n\n• It requires an &9Input Bus&r so you can set the right &9circuit&r.\n• It supports &ecoils&r just like the &6Cracker&r — the higher the tier of your coils, the bigger the energy discount.\nThis is especially useful when harvesting Regolith far from your base.\n\nOf course, raw dust isn’t enough.\nYou’ll need a &asmall processing line&r to extract resources from the Regolith dust. So make sure to bring them to your &7Moon base&r for processing.", - "quests.high_voltage.regolith_vapor.title": "Regolith Vapor", - "quests.high_voltage.regolith_vapor.subtitle": "The little something to make dusts into ores", - "quests.high_voltage.regolith_vapor.desc": "To process your &bRegolith Dust&r, you’ll need &bRegolith Vapor&r — and setting it up is a bit more involved.\n\nHere’s what you’ll need:\n\n• &7Lunar Sand&r — obtainable infinitely with a &6Rock Breaker&r.\n• &eCarbon Dioxide&r — produced from &9Oxygen&r and &8Carbon Dust&r (easy, thanks to the infinite &bDiamond Dust&r you’ll be getting).\n• &9Nitrogen&r — acquired through the cultivation of &dChorus Fruits&r.\n\nTip: You can loop your &9Oxygen&r through &bSilicon Dioxide&r, which also gives you a steady bonus of &eSilicon Dust&r — a very useful side product.", + "quests.high_voltage.gun.desc": "地球での一人暮らしは快適でしたか?月では、あなたの孤独を埋めてくれる素敵な敵対MOBたちが、あなたをお出迎えしてくれます。\n迎え撃ちましょう。ただし、剣やジャベリンでは心もとないですよ。\n\nご想像の通り、&4月はとても危険な場所です&r。せっかくのロケットを失わないためには何が必要だと思いますか?\n\n&o\"Clockwork\"Sniper&rなどがおすすめです。弾薬を用意し、余裕があればアタッチメントでカスタマイズしてみても良いでしょう。\n\nさらに、活力を付けるための栄養満点な食事(フリーズドライ食品など)や、バフ・回復用のお薬やお酒も携帯していると安心できます。", + "quests.high_voltage.space_survival.title": "月面基地", + "quests.high_voltage.space_survival.subtitle": "別荘", + "quests.high_voltage.space_survival.desc": "まだ見ていないなら、ぜひ「&3宇宙のあるきかた&r」の章を確認しておきましょう!月で本格的な拠点を築くために必要なすべてがそこに掲載されています。", + "quests.high_voltage.hypertubes.title": "ハイパーチューブ", + "quests.high_voltage.hypertubes.subtitle": "マンマミーア", + "quests.high_voltage.hypertubes.desc": "拠点内のスマートな移動手段をお探しですか?でしたら&3Hypertubes&rをご紹介します!\n取り付けはとても簡単で、ご利用の際に特別な操作も必要ありません!\n\n動かすためには応力を供給する必要があります。&9&oCreate_Crafts&Additions&rの電動モーターを使えば電力で動かすこともできますので、特別にCreateの面倒な機構を組む必要もありません!", + "quests.high_voltage.wand.title": "建築家の夢", + "quests.high_voltage.wand.subtitle": "この杖は壊れない、裏切らない", + "quests.high_voltage.wand.desc": "高性能チタニウムワンドは今までのワンドとは一線を画す性能を持っています。まず、同時に設置できる数が今までとは桁違いです!そして、なにより&3耐久値が減りません&r!\n\n高層ビルをたくさん建てたい方や、広大な草原を舗装したい方にはぴったりの道具です!\n\nちなみに、さらに高機能な建築用ガジェットを提供する「Building_Gadgets」は、まもなく &5EV&rで利用可能になります。", + "quests.high_voltage.moon_harvester.title": "ムーンハーベスター", + "quests.high_voltage.moon_harvester.subtitle": "無限の彼方へ", + "quests.high_voltage.moon_harvester.desc": "&7月&rでは、いくつかの鉱石の&e無限化&rができます。\nそのためには異なる種類の鉱石の&b岩屑(がんせつ)&rを集める必要がありますが、それぞれ特定のバイオームでしか入手できません。\n岩屑の採取には&6ムーンハーベスター&rを使用します。使う際に覚えておくべき重要なポイントが2つあります:\n\n•&9回路&rを設定するために、&9搬入バス&rが必要です。\n•&6クラッカー&rと同様に、使うコイルのグレードが高いほど、エネルギー消費が軽減されます。\nこれは特に、基地から離れた場所で岩屑を採取する際に役立ちます。\n\n集めた岩屑はそのままでは使うことができません。\n岩屑から資源を抽出するために&a小規模な処理ライン&rを組む必要があります。&7月面基地&rを発展させましょう!", + "quests.high_voltage.regolith_vapor.title": "月面堆積粉塵", + "quests.high_voltage.regolith_vapor.subtitle": "宇宙塵", + "quests.high_voltage.regolith_vapor.desc": "&b岩屑&rを処理するには、&b月面堆積粉塵&rが必要になります。ただし、その準備には少し手間がかかります。\n\n必要なものは以下の通りです:\n\n• &7月の砂&r——&6破砕機&rを使えば無限に入手できます。\n• &e二酸化炭素&r——&9酸素&rと&8炭素&r(&bダイヤモンドの粉&rから入手可能)から生成できます。\n•&9窒素&r——&dコーラスフルーツ&rの栽培によって生成できます。\n\nTips:を&b二酸化ケイ素&rから&9酸素&rを取り出す過程で、安定した量の&eケイ素&rを副産物として得られます。非常に便利な副収入源ですね。", "quests.high_voltage.regolith_vapor.task": "Got it", - "quests.high_voltage.regolith_dust.title": "Regolith for each biomes", - "quests.high_voltage.regolith_dust.subtitle": "The three musketeers", - "quests.high_voltage.regolith_dust.desc": "You can obtain &b4 different types of Regolith Dust&r, each producing unique resources.\n\nEach type is tied to a specific &7deep biome&r on the &7Moon&r. Keep in mind: these biomes are not directly connected to each other, so you’ll need to explore a bit.\n\nFinding the right biome is made much easier with the &aXaero Map&r — use it to quickly locate where each dust can be harvested.", - "quests.high_voltage.dusty_ores.title": "Dusty Ores", - "quests.high_voltage.dusty_ores.subtitle": "Are you telling more Ore Processing?", - "quests.high_voltage.dusty_ores.desc": "The &7Dusty Ore&r is an exclusive &dTerraFirmaGreg&r ore type. All the &cinfinite ores&r you’ll obtain on the &7Moon&r — and later on &4Mars&r — will appear as Dusty Ores.\n\nAt this stage, the only way to process them is by using a &6Centrifuge&r to extract their dusts.\n\nPretty limiting, right? Don’t worry — you’ll unlock far &ebetter processing&r options once you reach &eVenus&r!\n\nPro tip: You can already speed things up with a &6Large Chemical Reactor&r. Thanks to &bPerfect Overcloaking&r, it can handle Dusty Ores much faster than the basic recipe suggests.", + "quests.high_voltage.regolith_dust.title": "バイオームごとの岩屑", + "quests.high_voltage.regolith_dust.subtitle": "月面スタンプラリー", + "quests.high_voltage.regolith_dust.desc": "&b4種類の岩屑&rがあり、それぞれから別の資源を抽出できます。\n\nそれぞれの岩屑は、&7月&rに存在する特定の&7バイオーム&rでのみ採取することができます。ただし、これらのバイオーム同士は隣接することがないため、ある程度の探索が必要になります。\n\n&b岩屑&rを採取できる場所を探すには、&aXaero_Map&rを使うのがおすすめです。バイオームが表示されるので、どこで採取できるのかがすぐに確認できます。", + "quests.high_voltage.dusty_ores.title": "粉っぽい鉱石", + "quests.high_voltage.dusty_ores.subtitle": "粉プンプン", + "quests.high_voltage.dusty_ores.desc": "&7粉っぽい鉱石&rなんて聞いたことがないでしょう。なにせ&dTerraFirmaGreg&r固有の鉱石です。\n&7月&rや&4火星&rで生成した&c無限鉱石&rたちは、どれも粉っぽくなります。元々が塵ですからそりゃそうですよね。\n\n現段階での唯一の活用法は、&6遠心分離機&rを使って鉱石の粉を抽出することです。\n\nずいぶんと限定的な用途だと思うかもしれません。ですが安心してください、遥か先にある&e金星&rに到達すれば、はるかに&e優れた処理方法&rが解禁されます!\n\nTips:&6大型化学反応器&rの&bPOC&rを利用すれば、かなり高速で処理できます。", "quests.high_voltage.dusty_ores.task": "All the Moon Dusty Ores", - "quests.high_voltage.final_dust.title": "Infinite Dusts", - "quests.high_voltage.final_dust.subtitle": "Finally infinite resources", - "quests.high_voltage.final_dust.desc": "This is all the &cinfinite resources&r you can obtain on the &7Moon&r before unlocking the more advanced processing available on &eVenus&r.\n\nWith these, you should have everything you need to keep progressing through &dGregTech&r — especially to secure the &amaintenance&r of your Moon Base.\n\nThese resources are essential for:\n• Crafting &dAE2 components&r\n• Producing an &cinfinite&r supply of &6Railgun Ammo&r\n\nPassive automation is now within your reach — take the step and make it happen!", + "quests.high_voltage.final_dust.title": "無限の粉製", + "quests.high_voltage.final_dust.subtitle": "アンリミテッドダストワークス", + "quests.high_voltage.final_dust.desc": "&e金星&rに到達するまでは、&7月&rで確保できる&c無限資源&rはこれだけです。\n\nこれらの資源が無限化されていれば、&dGregTech&rをかなり快適に進められるでしょう。&a月面基地&rの維持にも欠かせません。\n\n具体的な用途:\n•&dAE2コンポーネント&rの作成\n•&6レールガンの弾&rの&c無限&r生産\n\n資源が無限化されたことで、いくつかのパッシブラインを組むことができるようになったと思います。そちらに注力してもいいかもしれません。", "quests.low_voltage": "&7LV&r - 低電圧時代", "quests.low_voltage.subtitle": "どんな元素も無駄にしない優しい工業mod", "quests.low_voltage.lv_machine_hull.title": "第二のマシン筐体", @@ -2820,21 +2820,21 @@ "quests.medium_voltage.mv_multi_smelter.desc": "&dマルチスメルター&rは、最小構成(キュプロニッケルコイル+&7LV&r電気)でも、32個のアイテムをわずか12秒で精錬することができます。これは実にバニラかまどの&926.7倍&r、蒸気式オーブンの3.3倍に相当します。\n\nさらに、電圧を上げることでマルチスメルターをさらに加速できる上、上位の&3コイル&rを使えば同時加工数が増加します。", "quests.medium_voltage.hv_machine_hull.title": "HVマシン筐体", "quests.medium_voltage.hv_machine_hull.subtitle": "第四のマシン筐体", - "quests.medium_voltage.hv_machine_hull.desc": "&6HVマシン筐体&r、ついに完成!\n\nここまでに、あなたは&d化学物質&rの使い方、&d電気高炉&rの強化、&c新たな合金&rの作成、&aウェハー&rと&aレーザー刻印機&rの扱いなど、Gregtechの重要な要素をいくつも学んできました。\n\nHV以降では、ますます複雑な世界があなたを待っています。そして、それらを簡単にするための機械やシステムも次々と登場します。\n\n&6HV&rのクエストはこれで解禁となりますが、まだ1つ、HVに行くために忘れてはならないものがあります。\n\n特に、&6HV&r回路の上位品は絶対に作っておきましょう。\n\nそれらも作成したのであれば、名実ともにHV時代の始まりです!", + "quests.medium_voltage.hv_machine_hull.desc": "&6HVマシン筐体&r、ついに完成!\n\nここまでに、あなたは&d化学物質&rの使い方、&dEBF&rの強化、&c新たな合金&rの作成、&aウェハー&rと&aレーザー刻印機&rの扱いなど、Gregtechの重要な要素をいくつも学んできました。\n\nHV以降では、ますます複雑な世界があなたを待っています。そして、それらを簡単にするための機械やシステムも次々と登場します。\n\n&6HV&rのクエストはこれで解禁となりますが、まだ1つ、HVに行くために忘れてはならないものがあります。\n\n特に、&6HV&r回路の上位品は絶対に作っておきましょう。\n\nそれらも作成したのであれば、名実ともにHV時代の始まりです!", "quests.medium_voltage.mv_stainless.title": "ステンレス鋼", "quests.medium_voltage.mv_stainless.subtitle": "HVまであと一歩", "quests.medium_voltage.mv_stainless.desc.1": "実生活で見る鋼の大半は&7ステンレス鋼&rです。ステンレス鋼には、腐食にとても強いという特徴があります。\n\n&6HV&r機械の作成には、ステンレス鋼が必要となります。ちょうど&bMV&rにおけるアルミニウム、&7LV&rにおける鋼鉄のような働きをします。また、&3蒸留塔&rの作成にも大量に要求されます。\n\nステンレス鋼の作成には、&cクロム&rと&2マンガン&rが必要です。前者はルビーやクロマイト、後者は軟マンガン鉱から入手できます。", - "quests.medium_voltage.mv_stainless.desc.2": "ステンレス鋼の精錬には、&dHV電力&rが必要です。現時点ではHVの発電は不可能なので、昇圧してつくりましょう。\n\nまた、そろそろ電気高炉の2基目を作るとよいでしょう。電気高炉の筐体は共有できるため、必要なコイルは通常よりも6個少ない&a10&r個で済みます。\n\n一方を&bMV&rで精錬可能なものに使用し、もう一方に&3MVエネルギーハッチ&rを付けて&6HV&r用にするとよいでしょう。", - "quests.medium_voltage.mv_energy_hatch.title": "電気高炉の強化", + "quests.medium_voltage.mv_stainless.desc.2": "ステンレス鋼の精錬には、&dHV電力&rが必要です。現時点ではHVの発電は不可能なので、昇圧してつくりましょう。\n\nまた、そろそろEBFの2基目を作るとよいでしょう。EBFの筐体は共有できるため、必要なコイルは通常よりも6個少ない&a10&r個で済みます。\n\n一方を&bMV&rで精錬可能なものに使用し、もう一方に&3MVエネルギーハッチ&rを付けて&6HV&r用にするとよいでしょう。", + "quests.medium_voltage.mv_energy_hatch.title": "EBFの強化", "quests.medium_voltage.mv_energy_hatch.subtitle": "LV時代の終わり", "quests.medium_voltage.mv_energy_hatch.desc": "&7LV&rバッテリーバッファと&7LV&rエネルギーハッチでは、もはや全くの力不足です。\n\nそろそろ&3MVエネルギーハッチ&rに更新しましょう。これで、&3変圧器&rを使わずともMV電力を使用できます。", "quests.medium_voltage.mv_kanthal_coil.title": "カンタルコイル", "quests.medium_voltage.mv_kanthal_coil.subtitle": "熱い!熱い!", - "quests.medium_voltage.mv_kanthal_coil.desc": "&3カンタルコイル&rは重要なアイテムです。これを用いることで、&3電気高炉&rの温度を&d2700K&rまで上げられるようになります。温度が上がることで、新たなレシピが解禁されるほか、従来の精錬を&e高速&rで行うことが可能となります。詳しくは&aエネルギー&r関連のクエストを参照してください。\n\nなお、複数種類のコイルを混ぜて使うことは不可能です。", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3カンタルコイル&rは重要なアイテムです。これを用いることで、&3EBF&rの温度を&d2700K&rまで上げられるようになります。温度が上がることで、新たなレシピが解禁されるほか、従来の精錬を&e高速&rで行うことが可能となります。詳しくは&aエネルギー&r関連のクエストを参照してください。\n\nなお、複数種類のコイルを混ぜて使うことは不可能です。", "quests.medium_voltage.mv_kanthal_ingot.title": "カンタル", "quests.medium_voltage.mv_kanthal_ingot.subtitle": "今、カンタルがアツい!", "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Hot and Notが帰って来た!こないで\n\n&aTerrafirmaCraft&rをバケツまで進めた皆さんなら、きっと覚えているはず。\n\n&c熱い○○インゴット&r系のアイテムは、トングなどの対策アイテム無しに持っていると&c炎上状態&rになります。\n\nまた、今回は&aTFC&rのそれと異なり、&c温度が自然低下しません&r。機械を用意して、能動的に冷やす必要があります。", - "quests.medium_voltage.mv_kanthal_ingot.desc.2": "インゴットの冷却には、&d化学槽&rで&9水&rに晒す必要があります。この時、&9蒸留水&rを使うと、冷却に掛かる時間が&e3分の2&rになります。\n\nとはいえ、インゴットを手で持ち歩く労力はなるべく減らしたいので、&a自動化&rしましょう。&aパイプ&rを使えば、&d電気高炉&rから&d化学槽&rに直接アイテムを搬送することができます。\n\n&aアイテムタグフィルター&rに&7#forge:hot_ingots*&rと設定すれば、熱いインゴットだけを搬送することができます。", + "quests.medium_voltage.mv_kanthal_ingot.desc.2": "インゴットの冷却には、&d化学槽&rで&9水&rに晒す必要があります。この時、&9蒸留水&rを使うと、冷却に掛かる時間が&e3分の2&rになります。\n\nとはいえ、インゴットを手で持ち歩く労力はなるべく減らしたいので、&a自動化&rしましょう。&aパイプ&rを使えば、&dEBF&rから&d化学槽&rに直接アイテムを搬送することができます。\n\n&aアイテムタグフィルター&rに&7#forge:hot_ingots*&rと設定すれば、熱いインゴットだけを搬送することができます。", "quests.medium_voltage.mv_assembler.title": "発展型組立機", "quests.medium_voltage.mv_assembler.subtitle": "8時だョ!全員集合!", "quests.medium_voltage.mv_assembler.desc": "&3組立機&rはあらゆる電気時代における最重要マシンです。これを作ることで、より多くのレシピが解禁され、更なる高度なクラフトが可能となります。GTのコミュニティでは、組立機の作成をもって、真の意味でその電気時代に入ったと一般に見なされています。\n\nということで、改めて……&bMV&r時代へようこそ!\n\n&bMV&3組立機&rの作成により、&eトランジスタ&r、&eキャパシター&r、&eインダクタ&rが解禁されます。これらは、上位の回路を作成するために必要です。", @@ -2853,7 +2853,7 @@ "quests.medium_voltage.mv_laser_engraver.desc": "&3レーザー刻印機&rは、&9シリコンウェハー&rへの刻印を行う機械です。刻印の内容は、取り付けた&9レンズ&rによって決まります。刻印を行ったウェハーを&3裁断機&rで加工することにより、回路に搭載できるパーツとなります。\n\n上位の刻印機を使うことで、より高性能な回路のパーツを作成することができます。", "quests.medium_voltage.mv_silicon_boule.title": "シリコンガチャ", "quests.medium_voltage.mv_silicon_boule.subtitle": "ウェハーは代替可能", - "quests.medium_voltage.mv_silicon_boule.desc": "&9シリコン単結晶&rの作成には、&3電気高炉&rが必要です。その材料は、&aSilicon Dust&rが半スタックと、少量の&aヒ化ガリウム&rです。その主な用途は、回路の材料である&6ウェハー&rの作成です。\n\nシリコン単結晶が作成できたら、&3裁断機&rでそれを加工することにより、16個のシリコンウェハーを入手できます。\n\n&c注意:&rシリコン単結晶の精錬には、なんと&47分半&rもの時間を要します。消費電力は120EU/tで、合計すると1,080,000EUに達します。途中で電気が足りなくなった場合、精錬の&c進捗が低下&rします。\n\n電気が足りていたとしても、所要時間が猛烈に長いため、複数の電気高炉で同時に精錬を行うことをおすすめします。", + "quests.medium_voltage.mv_silicon_boule.desc": "&9シリコン単結晶&rの作成には、&3EBF&rが必要です。その材料は、&aSilicon Dust&rが半スタックと、少量の&aヒ化ガリウム&rです。その主な用途は、回路の材料である&6ウェハー&rの作成です。\n\nシリコン単結晶が作成できたら、&3裁断機&rでそれを加工することにより、16個のシリコンウェハーを入手できます。\n\n&c注意:&rシリコン単結晶の精錬には、なんと&47分半&rもの時間を要します。消費電力は120EU/tで、合計すると1,080,000EUに達します。途中で電気が足りなくなった場合、精錬の&c進捗が低下&rします。\n\n電気が足りていたとしても、所要時間が猛烈に長いため、複数のEBFで同時に精錬を行うことをおすすめします。", "quests.medium_voltage.mv_silicon.title": "ケイ素の粉", "quests.medium_voltage.mv_silicon.subtitle": "", "quests.medium_voltage.mv_silicon.desc.1": "&dGregTech&rにおいては、大抵のアイテムについて複数のレシピが存在します。&aTerrafirmaGreg&rでも、それは同じです。\n\n&5ケイ素&rの主な作成方法は2種類あります。どれが最適かは、自分の状況に合わせて考えましょう。", @@ -2917,14 +2917,14 @@ "quests.metal_age.overworld_kaolin.desc": "カオリン粘土は、標高が高く、気温は少なくとも18度以上、そして降水量300㎜以上の地域でのみ見つけることができます。\nカオリン粘土の生成条件とヒントの詳細は、フィールドガイドにあります。\n\n南東の遥か遠くまで、おそらく海を越えて移動する必要があるでしょう。鉄製水筒、大量の食料、カヌー、手漕ぎボート、カヤックなどの船、そしてできるだけ多くのカオリンを持ち帰るための運搬手段を用意してください。\n\nクエストの「Tips-移動手段」の章には、様々な運搬手段と船に関する情報があります。", "quests.metal_age.beneath_kaolin.title": "The Beneathのカオリン源", "quests.metal_age.beneath_kaolin.subtitle": "さらなる深みへ", - "quests.metal_age.beneath_kaolin.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。\n上層部には、緑豊かなオアシスであり、カオリン粘土が生成される「Lush_Hollow」というバイオームが存在します。ただし、その場所には固有のモンスターがスポーンします。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料であるAnthraciteを採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", + "quests.metal_age.beneath_kaolin.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。\n上層部には、緑豊かなオアシスであり、カオリン粘土が生成される「Lush_Hollow」というバイオームが存在します。ただし、その場所には固有のモンスターがスポーンします。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料である無煙炭を採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", "quests.metal_age.beneath_kaolin.task": "オーバーワールドの岩盤を横断してThe Beneathに到達する", "quests.metal_age.overworld_graphite.title": "地上世界のグラファイト源", "quests.metal_age.overworld_graphite.subtitle": "目印はどこ?", "quests.metal_age.overworld_graphite.desc": "グラファイト鉱脈は、地下深くに平らで広い円盤状に生成されます。\n\n見つけるためには、洞窟探索をする必要があります! グラファイト鉱脈は、あらゆる種類の岩石に生成される可能性があり、鉱脈には石炭とダイヤモンドも含まれています。ただし、鉱脈は深いところに生成されるため地上に目印が現れることはめったにないです。\n金属製の盾、Digger_Helmet、探鉱槌、望遠鏡などの道具があればきっと役に立つでしょう!", "quests.metal_age.beneath_graphite.title": "The Beneathのグラファイト源", "quests.metal_age.beneath_graphite.subtitle": "さらなる深みへ", - "quests.metal_age.beneath_graphite.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。\nBeneathでは、特大のグラファイト鉱脈を見つけることができますが、固有のモンスターがそれを守っている可能性があります。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料であるAnthraciteを採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", + "quests.metal_age.beneath_graphite.desc": "地の底深く、岩盤を越えた先には過酷な地下空間であるThe_Beneathがあります。\nBeneathでは、特大のグラファイト鉱脈を見つけることができますが、固有のモンスターがそれを守っている可能性があります。十分に注意しましょう。\n\nここでは、スチールを作るのに最適な燃料である無煙炭を採掘することもできます。\n\nBeneathでのサバイバルは過酷です。クエストの「Tips-サバイバル」とフィールドガイドで詳細を確認してください。", "quests.metal_age.beneath_graphite.task": "オーバーワールドの岩盤を横断してThe Beneathに到達する", "quests.metal_age.kaolin_clay.title": "カオリン粘土", "quests.metal_age.kaolin_clay.subtitle": "カオリン探訪記", @@ -2950,7 +2950,7 @@ "quests.metal_age.fully_stacked_blast_furnace.desc": "フルサイズの高炉は、一度に大量の鉄を溶かして処理することができます。将来、大量のスチールが必要になるため、できるだけ大きくすることをお勧めします。\n\n合金精錬機を作れたら、より安価に耐火レンガを作成できるようになります。", "quests.metal_age.blast_furnace_fuel.title": "高炉の燃料", "quests.metal_age.blast_furnace_fuel.subtitle": "より上質な燃料", - "quests.metal_age.blast_furance_fuel.desc": "木炭では、スチールの鋳造ができるほど高温にできません。コークスまたはAnthraciteのいずれかが必要です。\n\nコークスは石炭をコークス炉に入れることで作成できますが、AnthraciteであればBeneathから採掘した後、そのまま使用できます。", + "quests.metal_age.blast_furance_fuel.desc": "木炭では、スチールの鋳造ができるほど高温にできません。コークスまたは無煙炭のいずれかが必要です。\n\nコークスは石炭をコークス炉に入れることで作成できますが、無煙炭であればBeneathから採掘した後、そのまま使用できます。", "quests.metal_age.blast_furnace.title": "高炉", "quests.metal_age.blast_furnace.subtitle": "盛り上がってきた頃合いかな", "quests.metal_age.blast_furnace.desc": "高炉は、銑鉄を作成できるマルチブロック構造体です。鉄、融剤、燃料(隣接するクエストを参照)の組み合わせを高炉の上から投入して加熱すると、銑鉄が生成され、これはスチールに加工できます。\n\n高炉が必要な温度に達するためには、高炉にふいごを使うことが必要になります。この際、高炉の中にセットした羽口を通して空気が送り込まれます。\n\nフィールドガイドには、高炉の仕組みと構築方法に関する情報が載ってます。", @@ -3121,179 +3121,179 @@ "quests.ore_proc.gem_slurry.subtitle": "こんなに美しいものをドロドロに溶かすなんて正気ですか?", "quests.ore_proc.gem_slurry.desc": "宝石の&6泥漿処理&rは、ルビー・サファイア・グリーンサファイア向けの特別な処理ルートです。必須ではありませんが、ちょっとした手間でより多くの資源を回収できます。 電解処理と比べて:\n\n-&cルビー泥漿&rではアルミとクロムがほぼ3倍に!\n\n-&9サファイア泥漿&rではアルミが2倍に!\n\n-&aグリーンサファイア泥漿&rでは2倍のアルミとベリリウムのおまけ付き!\n\nそのうえ、どの泥漿処理でも少量のチタン・鉄・バナジウムを追加で得られる可能性があります。", "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", - "quests.space_survival": "Tips - Space Survival", - "quests.space_survival.subtitle": "The one place that hasn't been corrupted by capitalism... Space!", - "quests.space_survival.preparations.title": "Pre-Launch Preparations", - "quests.space_survival.preparations.subtitle": "Make sure you're ready!", - "quests.space_survival.preparations.desc": "Eager to launch into the final frontier? We totally get the enthusiasm but you can't just hurl yourself into space and hope to survive! &9Preparation&r is key to survival, or you'll just end up back in the Stone Age banging rocks together for a few seconds before suffocating to death.\n\nMake sure you have at least the following:\n- A Space Suit and a full drum of breathable gas\n- A Rocket with another full drum of spare Fuel\n- A Launch Pad so you can return\n- Plenty of food and water\n- A weapon and shield in case the Moon's haunted...", - "quests.space_survival.food.title": "Space Food", - "quests.space_survival.food.subtitle": "Long lasting food for long journeys", - "quests.space_survival.food.desc": "Consider bringing along some &dSpace Food&r for the journey ahead! It's simple to make and comes with a long shelf life. &9Freeze-Dried Fruit&r are a tasty snack, &bMeal Bags&r can hold any normal kind of food you'd have on Earth, and there's also &aCalorie Paste&r for a nutritionally complete but gross meal. You can reuse the Foil Packs when you're finished, too!", - "quests.space_survival.food.task": "Any space food", - "quests.space_survival.satellite.title": "Space Stations", - "quests.space_survival.satellite.subtitle": "For when you really want to get away from it all", - "quests.space_survival.satellite.desc": "By keeping the above items in your inventory, you'll be able to build a &9Space Station&r in orbit once you launch! There's not really much to do up there, and they're totally optional, but if you want a void dimension with no gravity for whatever reason, or just &oreally&r like sky diving, they're an option.", - "quests.space_survival.flag.title": "Flag Planter", + "quests.space_survival": "宇宙のあるきかた~無事に生還するために", + "quests.space_survival.subtitle": "人の手がまだ及んでいない、人類最後の秘境……それは宇宙!", + "quests.space_survival.preparations.title": "出発に先立って", + "quests.space_survival.preparations.subtitle": "宇宙旅行は準備がすべて!", + "quests.space_survival.preparations.desc": "そんなことより早く出発したいですって?その熱意は大事ですが、熱意だけで宇宙を生き抜くことは出来ません。何事にも&9準備&rが必要です。さもなくば、石ひとつ持ち帰ることも出来ずに死んでしまいますよ?\n\n宇宙旅行に最低限必要なものは以下の通りです。\n・宇宙服と呼吸のための空気\n・ロケットとドラム1杯の燃料\n・宇宙から帰還するためのロケット発射台\n・大量の食料と水\n・自衛のための武器や防具", + "quests.space_survival.food.title": "宇宙食", + "quests.space_survival.food.subtitle": "腹が減っては宇宙旅行はできぬ", + "quests.space_survival.food.desc": "宇宙旅行のお供、それは&d宇宙食&r!宇宙食は製造が簡単で、かつとても日持ちするという特性があります。&9フリーズドライ果物&rは、おやつに最適です。&b食料袋&rは、地上で食べるような通常の食料を携行するための袋です。&aカロリーペースト&rはいわゆる完全栄養食ですが、味には期待しないように。作成に使う袋は、食べた後に返ってきます。", + "quests.space_survival.food.task": "いずれかの宇宙食", + "quests.space_survival.satellite.title": "宇宙ステーション", + "quests.space_survival.satellite.subtitle": "家出したいあなたに", + "quests.space_survival.satellite.desc": "インベントリにこれらアイテムを持った状態で宇宙に出発すると、軌道上に&9宇宙ステーション&rを建設することができます。建設は必須でなく、また宇宙ステーションで出来ることもそう多くありません。しかしながら、文字通り何もない(重力すら)ディメンションが欲しければ、建設する価値はあるでしょう。&oスカイダイビング&rで遊ぶこともできますよ!", + "quests.space_survival.flag.title": "制覇の証", "quests.space_survival.flag.subtitle": "LunaFirmaCraft", - "quests.space_survival.flag.desc": "Introduce yourself to the Moon by planting a flag with whatever image you like on it!", - "quests.space_survival.flag.task": "Any Flag", - "quests.space_survival.chorus.title": "Chorus Fruit", - "quests.space_survival.chorus.subtitle": "Is this the End?", - "quests.space_survival.chorus.desc": "&5Chorus Fruit&r serves a pretty crucial role on the Moon - it will be your main source of Nitrogen. To get started, find some Chorus Plants, parkour up to the top, and break the &5Chorus Flowers&r. Breaking the plant from the bottom will not get you any of the Chorus Flowers! Next up, grow the Chorus Flowers in an Electric Greenhouse to get a renewable source of Chorus Fruit, and from there, you can process them into Biomass and Nitrogen with a Brewery and Fermenter respectively. You can also distill the Biomass into Carbon for more Rocket Fuel!", - "quests.space_survival.rover.title": "Space Rover", - "quests.space_survival.rover.subtitle": "Your getaway vehicle", - "quests.space_survival.rover.desc": "You had to leave your fancy jetpack at home, there's no atmosphere for airplanes, and horses can't survive, so how are you supposed to get around?\n\nThe &bRover&r is a vehicle that can hold up to two passengers, runs on combustible fuels (Diesels, Gasolines, and Rocket Fuel), and even has an inventory and radio that can play real-world radio stations!", - "quests.space_survival.solar_panels.title": "Solar Panels", - "quests.space_survival.solar_panels.subtitle": "Praise the Sun!", - "quests.space_survival.solar_panels.desc": "There are very few energy sources available on the Moon, but these &eSolar Panels&r have a lovely view of the Sun from up here!\n\nOn the moon, each Solar Panel provides the equivalent of &932 EU/t&r during the day with no fuel or upkeep needed, but they only produce an eighth of that down on the Earth's surface. Bring along a whole bunch of them!", - "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", - "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", - "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", - "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertiliser\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", - "quests.space_survival.stone_dust_centrifuging.task": "Any ", - "quests.space_survival.compressed_gases.title": "Compressed Breathable Gases", - "quests.space_survival.compressed_gases.subtitle": "Because pure Oxygen is deadly", - "quests.space_survival.compressed_gases.desc": "Find yourself a little short of breath? You'll need something to breathe up in space, so you'll want to look at producing any of these compressed gases, based off real-world ones used for deep sea diving!\n\nYou can fill your space suit with them the same way you'd fill up a bucket, or if you bring along a &bGas Tank&r you'll be able to \"drink\" from it to replenish your suit without taking it off.\n\n&2Nitrox&r is probably the easiest to produce on Earth, while you can set up &eHeliox-3&r on the Moon.\n\nA full space suit (2500mB) will last about &c45 minutes&r.", - "quests.space_survival.compressed_gases.task": "Any compressed breathable gas", - "quests.space_survival.zip_gun.title": "Zip Gun", - "quests.space_survival.zip_gun.subtitle": "Like a jetpack in the palm of your hand", - "quests.space_survival.zip_gun.desc": "A Zip Gun can be filled up with any of the below Compressed Gases to shoot out air, pushing you around in low gravity environments. They're essential if you want to build anything in orbit!", - "quests.space_survival.air_distributor.title": "Setting up a permanent base", - "quests.space_survival.air_distributor.subtitle": "A holiday home", - "quests.space_survival.air_distributor.desc.1": "So far you may be surviving, but do you want to truly &othrive&r? If you're wanting to set up a more permanent base, look no further than the &6Air Distributor&r! Feed it one of the compressed gases from earlier and it will \"oxygenate\" a large enclosed area, letting you take your helmet off, grow crops, and place a water source without it freezing.\n\nAny solid block will work to build your base out of, but you'll want a proper airlock to ensure the gas doesn't all escape in a &cvortex&r.", - "quests.space_survival.air_distributor.desc.2": "The oxygenated area will be at a constant 15C for any crops you'd like to grow (though the Electric Greenhouse doesn't mind), and the water source staying liquid will also let you easily electrolyze it for a source of &bOxygen&r. You can also use a Diode block to transfer power through the walls while keeping them sealed, just like in a cleanroom.", - "quests.space_survival.oxygen_info.title": "More Moon base machines", - "quests.space_survival.oxygen_info.subtitle": "Home comforts", - "quests.space_survival.oxygen_info.desc": "The Oxygen Detector is a simple machine that emits a redstone signal whenever it's in an oxygenated area.\n\nThe Vent is a solid block that can also let breathable air through without causing a vortex.\n\nThe Gravity Normalizer can change the gravity of an area within an enclosed space similar to how an Air Distributor works, but is a little too expensive at the moment.", - "quests.space_survival.railgun.title": "Interplanetary Logistics", - "quests.space_survival.railgun.subtitle": "Ender chest? Never heard of her!", - "quests.space_survival.railgun.desc.1": "&7In &bTerraFirmaGreg&r, transporting items across dimensions or over long distances requires you to build special &6multiblock structures&r.\n\nThis system is &apowerful and flexible&r, offering multiple settings that let you customize logistics to perfectly suit your needs.\n\nThis is the perfect system to transport all of your &apassively-produced&r resources to exactly where they're needed on other planets! And it comes with a powerful &dconfiguration system&r to let you control everything from a single place.", - "quests.space_survival.railgun.desc.2": "To set it up, you'll need three components:\n\n&6• Interplanetary Railgun&r — this is the &bsender&r that launches items across space.\n\n&6• Interplanetary Receiver&r — this is the &breceiver&r that catches and stores incoming items.\n\n&6• Interplanetary Logistics Monitor&r — this acts as the &9central control&r, where you define the rules and behavior of the entire transport system.\n\nWith these machines, you can automate large-scale transfers efficiently — even between planets!", - "quests.space_survival.railgun.task": "Let's dig into Interplanetary logistics", - "quests.space_survival.interplanetary_railgun.title": "Interplanetary Railgun", - "quests.space_survival.interplanetary_railgun.subtitle": "What we call the sender", - "quests.space_survival.raiinterplanetary_railgunlgun.desc.1": "&6The Interplanetary Railgun&r acts as your &bsender multiblock&r.\n\nIt’s the structure responsible for launching items toward distant &3receivers&r — but it can’t receive anything itself.", - "quests.space_survival.raiinterplanetary_railgunlgun.desc.2": "To function correctly, it requires several components:\n\n&9• Energy Hatch&r — provides the power needed to launch items. Without energy, nothing moves.\n&9• Railgun Ammo Loader&r — must be filled with ammo. One unit is consumed per launch.\n&9• Input Buses&r — you can add as many as you can fit, to insert the items you want to send.\n\n&cImportant:&r This multiblock can only &osend&r items. Make sure your &6Interplanetary Railgun&r is always chunkloaded!", - "quests.space_survival.ammo_railgun.title": "Railgun Ammo", - "quests.space_survival.ammo_railgun.subtitle": "You didn't think it would be free?", - "quests.space_survival.ammo_railgun.desc.1": "&7Each &6Interplanetary Railgun&r requires a special type of &eammo&r — think of it as a package used to transport items.\nEach launch consumes exactly &cone unit&r of ammo and can send &dthree stacks&r of items.\n\nTo load it, you’ll need a &6Railgun Ammo Loader&r as part of your structure.\nYou can insert ammo manually or automate the process.\n\n&9We strongly recommend&r setting up a passive production line to keep your loader filled continuously — this ensures a smooth and reliable logistics chain.", - "quests.space_survival.ammo_railgun.desc.2": "There are multiple recipes available to craft ammo:\n\n• Lower-tier recipes are simpler but produce fewer units.\n• Higher-tier recipes yield &amuch more ammo&r, but require more advanced resources and machines.&r\n• Specialized ammo that you can only craft on certain planets. Check the recipes.\n\nPlan your production based on your &3logistics scale&r — interplanetary trade waits for no one!", - "quests.space_survival.input_bus_railgun.title": "Railgun Input Bus", - "quests.space_survival.input_bus_railgun.subtitle": "Sender only", - "quests.space_survival.input_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Interplanetary Logistics Monitor&r &con the left of this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nWhen opening the &6Sender&r logistics screen on the &dInterplanetary Logistics Monitor&r, you'll notice the familiar &9Programmed Circuit&r from GregTech.\nThis circuit number is the core identifier for setting up routing rules.\n\nThe number you assign will apply a specific rule to all Input Buses in your Railgun structure that are configured with that same circuit number.\n\nThis allows you to fine-tune what items are sent where and with which rules, based on the circuit used.", - "quests.space_survival.input_bus_railgun.desc.2": "&2How to configure it:&r\n→ Open the GUI of any &9Railgun Input Bus&r\n→ Select the number you want — just like in any other GregTech machine\n\nThis lets you create powerful logic like:\n&7• Circuit 1&r → send to Moon base\n&7• Circuit 2&r → send to Mars\n&7• Circuit 3&r → send to Orbital Station\n\nWith proper circuit setup, you can automate interplanetary trade like a true industrial tycoon!\n\n&9Note&r: You cannot send anything with the &7#tfg:cannot_launch_in_railgun&r tag.", - "quests.space_survival.input_bus_railgun.task": "Any Railgun Input Bus", - "quests.space_survival.monitor_railgun.title": "Interplanetary Logistics Monitor", - "quests.space_survival.monitor_railgun.subtitle": "Super Computer", - "quests.space_survival.monitor_railgun.desc.1": "&6The Interplanetary Logistics Monitor&r is your logistics command center — the true bread and butter of interplanetary transport.\n\nIt’s a &asingle block&r, requires &ono energy&r, and will automatically detect every &6Railgun Sender&r and &3Receiver&r you’ve built.", - "quests.space_survival.monitor_railgun.desc.2": "It may look simple, but it hides powerful tools under the hood.\nLet’s go over the basics:\n\n&9• When you open the Monitor&r, you'll see a list of all your Senders and Receivers.\nYou have to &ename each one&r.\n\n&9• To create a logistic rule:&r\n → Click the right arrow to select a Sender\n → Press &a+&r to add a new rule\n → Choose the destination Receiver from your list\n\nIf your &6Railgun&r has ammo and energy, and the &3Receiver&r has space — the shipment will launch instantly!\n\nNow that you've got the basics, let’s dive into the more advanced features in the next quests...", - "quests.space_survival.redstone_railgun.title": "Redstone Control", - "quests.space_survival.redstone_railgun.subtitle": "Redstone rules in Minecraft", - "quests.space_survival.redstone_railgun.desc": "&6The Redstone Rule&r is simple — but incredibly powerful when used well.\n\nIn the &6Sender&r rules interface, enabling this rule means that a &credstone signal&r must be present on the &9Input Bus&r for it to send items.\n\nIn the &3Receiver&r rules interface, you can configure the rule so that an &9Output Bus&r will only accept items based on the redstone signal on that specific block.\n\nTime to use your redstone logic skills!\nWhether it's with an &dAE2 Level Emitter&r, from &aCreate redstone utilities&r, or good old vanilla mechanisms — this rule lets you synchronize logistics with your factory state like a pro.", - "quests.space_survival.redstone_railgun.task": "Understood", - "quests.space_survival.robot_arm_railgun.title": "Supply Exact", - "quests.space_survival.robot_arm_railgun.subtitle": "It's a Gregtech pack you know", - "quests.space_survival.robot_arm_railgun.desc": "&6The Item Rule&r works similarly to a &9GregTech Robot Arm&r set to &eSupply Exact&r.\nIt can only be configured from the &6Sender&r rules interface.\n\nWith this rule active, the &9Railgun&r will only send the &aexact quantity&r when available in the &9Input Bus&r.\n\n&2How to set it up:&r\n→ Drag items into the filter from your &dEMI&r interface\n→ Use &aleft and right clicks&r to adjust the quantity\n→ You can also bookmark items for quick access and configuration\n\nThis rule is perfect for precise automation — ideal for batch crafting or resource quotas.", - "quests.space_survival.robot_arm_railgun.task": "Understood", - "quests.space_survival.delay_railgun.title": "Delay", - "quests.space_survival.delay_railgun.subtitle": "Sometime you just want to wait", - "quests.space_survival.delay_railgun.desc": "&6The Delay Rule&r is simple, but useful for managing item flow timing.\n\n&2On the Sender side:&r\nItems will only be sent after the &9Input Bus&r hasn't received any new item for a set amount of time (in seconds).\nThis helps avoid sending items too frequently when inputs are constantly changing.\n\n&2On the Receiver side:&r\nThe rule defines a delay before an &9Output Bus&r can receive another batch of items.\nThis can be useful to prevent overflow or to pace item insertion into slower systems.\n\nIdeal for syncing with machines that need breathing room between operations, or to prevent unnecessary waste of ammo.", - "quests.space_survival.delay_railgun.task": "Understood", - "quests.space_survival.receiver_railgun.title": "Interplanetary Receiver", - "quests.space_survival.receiver_railgun.subtitle": "The Receiver", - "quests.space_survival.receiver_railgun.desc.1": "&6The Interplanetary Receiver&r, as its name suggests, is designed to &3receive items&r sent by the Railgun.\n\nIt’s a &asmall and simple multiblock&r that requires no energy or maintenance — just build it and you're ready to go!", - "quests.space_survival.receiver_railgun.desc.2": "Its flexibility lies in the number of &9Output Buses&r you can attach.\nThe more you add, the more items it can handle simultaneously.\n\n&2Setup is easy:&r\n• Build the structure\n• Add as many Output Buses as you need\n• Done — it’s ready to receive!\n\nNo fuel, no maintenance — just pure logistics power.\nMake sure it’s properly chunkloaded, and let the items rain in!", - "quests.space_survival.output_bus_railgun.title": "Railgun Output Bus", - "quests.space_survival.output_bus_railgun.subtitle": "Receiver only", - "quests.space_survival.output_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Railgun Input Bus&r &cabove this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nJust like how your &6Railgun Input Buses&r can be assigned a &9circuit number&r, you can do the same with the &3Output Buses&r on your &3Receiver&r.", - "quests.space_survival.output_bus_railgun.desc.2": "This feature serves two main purposes:&r\n\n&9• Direct item flow&r —\nYou can control which Output Bus receives items.\nTo do this, simply assign a circuit number to the Output Bus,\nthen select that number in your Sender’s rule via the &6Logistics Monitor&r.\n\n&9• Conditional rules&r —\nYou can also set rules to &cstop sending items&r if the circuit rule isn’t respected.\nThis is done not from the Sender tab, but by opening the &3Receiver&r tab in the Monitor.\nFor each circuit number, you can assign a rule that applies only to Output Buses using that number.", - "quests.space_survival.output_bus_railgun.desc.3": "To learn more about the available rule types, make sure to check the &7three quests above this one&r.\n\nThey go over each rule in detail and explain how to use them effectively.", - "quests.space_survival.output_bus_railgun.task": "Any Railgun Output Bus", - "quests.space_survival.soulbound.title": "Extraterrestrial Death", - "quests.space_survival.soulbound.subtitle": "You're a long way from spawn", - "quests.space_survival.soulbound.desc.1": "In TerraFirmaGreg, you can set your spawn on any dimension (even The Beneath!), but unless you've got a bunch of extra space suits lying around, respawning on the Moon might complicate things.\n\nFirst of all, you'll definitely want your bed to be inside an oxygenated area, so you don't immediately die as soon as you respawn (though in case of a blackout, you should have enough time to break your bed and reset your spawn).", - "quests.space_survival.soulbound.desc.2": "Secondly, you can upgrade each piece of your Space Suit with a &bSoul Pearl&r. This will make them stay equipped when you die!\n\nYou can get these from any of the tougher, hostile Endermen on the Moon.\n\nWe promise it's sci-fi and not magic.", - "quests.space_survival.mars_desert.title": "The Martian Desert", - "quests.space_survival.mars_desert.subtitle": "Sand, sand everywhere", - "quests.space_survival.mars_desert.desc": "The majority of Mars is covered in a vast desert. Not much lives here except the occasional Stackatick, and of course the giant &6Sandworms&r. If this is your first time here, you'll want to find somewhere more hospitable! Otherwise, you'll want to keep searching...", - "quests.space_survival.mars_desert.task": "Visit the Martian Deep Desert biome", - "quests.space_survival.sandworm.title": "The Sandworm", + "quests.space_survival.flag.desc": "月に着いたのなら、旗を立てるのがお決まりですね。いろいろなデザインの旗があるので、確認しておきましょう。", + "quests.space_survival.flag.task": "いずれかの旗", + "quests.space_survival.chorus.title": "コーラスフルーツ", + "quests.space_survival.chorus.subtitle": "エンド?", + "quests.space_survival.chorus.desc": "月面において得られる中で、&5コーラスフルーツ&rはかなり重要なアイテムです。コーラスフルーツからは、窒素が入手できます。コーラスプラントを見つけたら、かならず頂上の花を破壊して回収しましょう。さもなくば、コーラスフラワーは手に入りません。コーラスフラワーを電動グリーンハウスで育てることで、コーラスフルーツを手に入れることができます。これを醸造機に入れるとバイオマスが、発酵槽に入れれば窒素が得られます。バイオマスは、蒸留することで炭素になるため、ロケット燃料の材料にもなります。", + "quests.space_survival.rover.title": "スペースローバー", + "quests.space_survival.rover.subtitle": "脱出用ビークル", + "quests.space_survival.rover.desc": "宇宙にはジェットパックを持ち込めません。飛行機は大気圏外では飛びません。馬は生存できません。そんな中で、移動手段があるのでしょうか?\n\n実はあります。&b探査車&rは液体燃料で走る2人乗りのビークルです。内部にインベントリを備えており、加えてラジオも搭載。ラジオでは、現実世界のラジオをストリーミング再生することができます。", + "quests.space_survival.solar_panels.title": "ソーラーパネル", + "quests.space_survival.solar_panels.subtitle": "お天道様は見ているぞ", + "quests.space_survival.solar_panels.desc": "月面で使える発電手段はあまり多くありません。そんな中で活躍するのが&eソーラーパネル&rです。\n\n昼間限定にはなりますが、月面のソーラーパネルはノーコストで&932EU/t&r相当の電力を生み出します。地球上での発電量は、月面の8分の1になります。大量に用意して、月に並べておきましょう。", + "quests.space_survival.stone_dust_centrifuging.title": "ヘリウム3", + "quests.space_survival.stone_dust_centrifuging.subtitle": "声が高くなるやつ", + "quests.space_survival.stone_dust_centrifuging.desc.1": "月面には大量の&eヘリウム3&rが存在します。月の石の成分として含まれるヘリウム3は、重要資源のひとつです。主な入手方法は2種類あります。\n\n1.石を粉砕し、遠心分離する。砕石機では生石を無限生産することができるので、これで得られる石を使いましょう。\n\n月面で生産できるのは、斜長岩・ノーライト・響岩の3種です。これらを加工することで、ヘリウム3は無限資源になります。", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2.&9液体採掘機&rで掘る。こちらは簡単ですが、副産物は特に得られません。\n\nヘリウム3の用途はいくつか挙げられますが、特に重要なのは呼吸するための空気の確保でしょう。また、ヘリウム3は電動グリーンハウスの肥料としても使用でき、コーラスフルーツの成長を加速することができます。さらには、将来核融合炉が完成すれば、核融合発電の燃料にもなります。", + "quests.space_survival.stone_dust_centrifuging.task": "いずれかのアイテム", + "quests.space_survival.compressed_gases.title": "圧縮空気", + "quests.space_survival.compressed_gases.subtitle": "純粋酸素を吸うのはやめましょう", + "quests.space_survival.compressed_gases.desc": "息が出来ない?宇宙で息をするには、ここに挙げた気体のいずれかが必要です。これら気体は、現実世界ではダイビングにも使われています。\n\n宇宙服に気体を入れるのは、バケツと同じ要領で行えます。また、ガスタンクに空気を入れ、それを「飲む」ことでも、宇宙服への補充は行えます。\n\n地球上でもっとも製造しやすいのは、おそらく&2ナイトロックス&rです。月面で作るなら、&eヘリオックス3&rがおすすめです。\n\n宇宙服にこれらをフル充填すると、およそ&c45分間&r活動することができます。", + "quests.space_survival.compressed_gases.task": "いずれかの呼吸用ガス", + "quests.space_survival.zip_gun.title": "宇宙銃", + "quests.space_survival.zip_gun.subtitle": "手持ちのジェットパックといったところ", + "quests.space_survival.zip_gun.desc": "宇宙銃は圧縮ガスを撃ち出す銃です。低重力環境において、この銃は移動に必要な推進力を生みだします。宇宙で何か建設をするには、欠かせないアイテムです。", + "quests.space_survival.air_distributor.title": "活動拠点をつくろう", + "quests.space_survival.air_distributor.subtitle": "休日はのんびり別荘で", + "quests.space_survival.air_distributor.desc.1": "たまには贅沢がしたくありませんか?地球外で常時使える拠点を作りたいのならば、&6酸素分配機&rを作りましょう。これに空気を搬入すると、密閉空間をその気体で満たしてくれます。この中では、宇宙服がなくとも生存でき、植物も育ち、設置した水が凍ることもありません。\n\n固体ブロックであれば、いかなるブロックも拠点の材料として使用することができます。ただし、エアロックを作成しなければ、出入りの際に空気が逃げてしまいます。", + "quests.space_survival.air_distributor.desc.2": "効果範囲内の空間内部は、常時15℃に保たれるため、あらゆる植物が生育できます(電気温室があるなら無関係)。水源も凍結しないので、電気分解によりたやすく酸素を作成することができます。ダイオードのブロックを使えば、内外で電力をやり取りすることもできます。ちょうどクリーンルームと同じような挙動です。", + "quests.space_survival.oxygen_info.title": "月面拠点の設備", + "quests.space_survival.oxygen_info.subtitle": "快適な生活を求めて", + "quests.space_survival.oxygen_info.desc": "酸素センサーは、呼吸可能なエリア内ではレッドストーン信号を発生させる装置です。\n\n通気口は、酸素分配機から出た気体を安全に別の部屋にも流せる装置です。\n\n重力制御機は、密閉空間内における重力の大きさを変化させる機械です。ただし、重力制御機は現時点ではやや高コストです。", + "quests.space_survival.railgun.title": "星間物資輸送", + "quests.space_survival.railgun.subtitle": "エンダーチェスト?知らない子ですね……", + "quests.space_survival.railgun.desc.1": "&7&bTerraFirmaGreg&rでは、ディメンション間または超長距離の物資輸送に専用のマルチブロック機械が要求されます。\n\nこれらマルチブロック機械は汎用性に優れており、用途に応じて設定を切り替えることで、様々なニーズに応えることができます。\n\n必要とあらば、他の惑星に都度必要な資源を輸送できるうえ、それら機械の管理も一か所で一元管理することができます。", + "quests.space_survival.railgun.desc.2": "必要な設備は以下の3種類です。\n\n&6星間レールガン&r:アイテムの送信元となる設備。\n\n&6星間物資受取機&r:発射されたアイテムを受け取り、保管する設備。\n\n&6星間輸送モニタ&r:各設備の&9管理&rを行う設備。各種設定の変更もここから。\n\nこれら3種の設備を用いることで、大量の物資をとても効率的に輸送することができます。", + "quests.space_survival.railgun.task": "次の解説を読む", + "quests.space_survival.interplanetary_railgun.title": "星間レールガン", + "quests.space_survival.interplanetary_railgun.subtitle": "送信元の装置", + "quests.space_survival.raiinterplanetary_railgunlgun.desc.1": "&6星間レールガン&rからは、物資を&b送信&rすることができます。\n\n遠くの&3受取機&rにアイテムを射出します。受け取り機能は持ちません。", + "quests.space_survival.raiinterplanetary_railgunlgun.desc.2": "稼働には、以下の機械が必要です。:\n\n&9エネルギーハッチ&r:必要な電力を供給する装置。レールガンは電気が無いと稼働しません。\n&9弾丸装填機&r:稼働するには、ここに弾丸を入れる必要があります。1回の発射ごとに、1発消費します。\n&9搬入バス&r:射出したいアイテムはここに入れてください。何個でもマルチブロックに組み込むことができます。\n\n&c注意:&rレールガンだけでは、アイテムの射出しか行えません。また、必ずレールガンがあるチャンクをロードしておきましょう。", + "quests.space_survival.ammo_railgun.title": "レールガンの弾", + "quests.space_survival.ammo_railgun.subtitle": "残念ながらノーコストではない", + "quests.space_survival.ammo_railgun.desc.1": "レールガンの稼働には、弾丸が必要です。要するに、射出するアイテムを入れるための箱と思ってください。\n\n1回の発射ごとに、1発の弾丸を消費し、弾丸1発あたり&d3スタック&rのアイテムが輸送されます。\n\n&6弾丸装填機&rがなければ、レールガンに弾丸を装填することはできません。\n弾丸装填機への搬入は、手動でも行えますが、自動化することもできます。\n\n継続的にアイテムを輸送していきたいのであれば、弾丸の製造は出来る限り自動化しておきましょう。", + "quests.space_survival.ammo_railgun.desc.2": "弾丸のレシピは複数種存在します。\n\n低コストだが製造数が少ないもの、やや高コストだが大量生産が可能なもの、特定の惑星でしか使用できないもの。\n\nどのレシピを使うかは、輸送の規模に応じて決めましょう。", + "quests.space_survival.input_bus_railgun.title": "レールガン搬入バス", + "quests.space_survival.input_bus_railgun.subtitle": "送信元でのみ使うもの", + "quests.space_survival.input_bus_railgun.desc.1": "&c必ず先に&6星間輸送モニタ&rのクエストを確認しておいてください。以下は当該クエストの文章を読んでいる前提で書かれています。&r\n\n&d星間輸送モニタ&rの送信側画面のGUIには、Gregtechでおなじみの&9プログラム回路&rのボタンが存在します。\n輸送時の各種ルールは、このプログラム回路のボタンを使って設定します。\n\nモニタの画面でプログラム回路の番号を選ぶと、同じ番号に設定された搬入バスに対する設定を行うことができます。。\n\nすなわち、搬入バスごとにアイテムの行き先を変更できるのです。", + "quests.space_survival.input_bus_railgun.desc.2": "&2設定方法:&r\n→搬入バスのGUIを開く\n→プログラム回路を選択する(GT機械と同じ操作)\n\nこの機能を使うことで、例えば次のような設定が可能です。:\n&71番&r→月面拠点行き\n&72番&r→火星拠点行き\n&73番&r→宇宙ステーション行き\n\nというように、回路の設定をしっかり行えば、星間輸送を自由自在に行うことができます。\n\n&9注意&r:&7#tfg:cannot_launch_in_railgun&rのタグが設定されているアイテムは、レールガンで輸送することが出来ません。", + "quests.space_survival.input_bus_railgun.task": "いずれかのレールガン搬入バス", + "quests.space_survival.monitor_railgun.title": "星間輸送モニタ", + "quests.space_survival.monitor_railgun.subtitle": "スーパーコンピューター", + "quests.space_survival.monitor_railgun.desc.1": "&6星間輸送モニタ&rは、惑星間で物資輸送を行う上で最重要のマシンです。\n\n電力消費の無い1ブロックの機械で、レールガンと受取機があれば自動検知します。", + "quests.space_survival.monitor_railgun.desc.2": "一見すると大したことが無い機械に見えますが、その力は無限大。さっそく見ていきましょう。\n\nGUIを開くと、レールガンと受信機の一覧が表示されます。\n表示されている機械には、名前を設定する必要があります。\n\n輸送ルールを設定するには:\n右矢印をクリックし、レールガンを選択する。\n→&a+&rボタンを押してルールを追加する\n→一覧から輸送先の受取機を選択する\n\nレールガンにエネルギーと弾丸が供給されており、受取機のインベントリに空きがあれば、自動でアイテムが発射されます。\n\n次のクエストでは、より高度な機能についての解説を行います。", + "quests.space_survival.redstone_railgun.title": "レッドストーン制御", + "quests.space_survival.redstone_railgun.subtitle": "Minecraft流のルール制御", + "quests.space_survival.redstone_railgun.desc": "&6レッドストーン制御&rは、単純ながらとても便利な機能です。\n\n&6送信側&rルールの画面でレッドストーン制御をオンにすると、&9搬入バス&rにレッドストーン信号が送られているときのみ稼働するように設定することができます。\n\n&3受信側&rルールの画面では、&9搬出バス&rがレッドストーン信号を受け取っているときのみアイテムを受け取れるよう設定することができます。\n\nこの機能を使いこなすには、あなたのレッドストーン回路に関する知識の量が問われます。\nAE2のレベルエミッターや、CreateによるRS信号制御、あるいはバニラの回路に至るまであらゆるものと連携し、状況に応じたアイテム輸送を可能とします。", + "quests.space_survival.redstone_railgun.task": "理解した", + "quests.space_survival.robot_arm_railgun.title": "正確な輸送", + "quests.space_survival.robot_arm_railgun.subtitle": "実は……このModpackはGregtechがメインのパックなのです!", + "quests.space_survival.robot_arm_railgun.desc": "&6アイテムルール&rは、おおよそ&9GTのロボットアーム&rにおける設定と同じものです。\n&6送信側&rルールの画面でのみ設定することができます。\n\nこれをオンにしていると、レールガンは必ず設定した個数ずつアイテムを送るようになります。\n\n&2設定方法:&r\n→&dEMI&rの画面からアイテムを枠にドラッグする\n→&a左右クリック&rで個数を設定する\n→ブックマーク機能を使うことで、設定時にアイテムを探しやすくなります\n\n正確さが要求される場面で、この機能はとても有用です。たとえば、自動クラフトなど。", + "quests.space_survival.robot_arm_railgun.task": "理解した", + "quests.space_survival.delay_railgun.title": "時間差輸送", + "quests.space_survival.delay_railgun.subtitle": "ちょっと待ちたい時のために", + "quests.space_survival.delay_railgun.desc": "&6遅延ルール&rは、アイテム輸送のタイミングを制御したい時に使う機能です。\n\n&2送信側設定:&r\n&9搬入バス&rに新たなアイテムが入らなくなってから、一定時間後に輸送が行われるようにできる。\n次々アイテムが搬入される場合に、あまりにも高い頻度でアイテムが発射されないようにするための設定です。\n\n&2受信側設定:&r\n搬入バスに空きができてから、一定時間後にアイテムが送られてくるように設定できる。\n動作が遅いシステムに対する輸送を行う際に、アイテムが溢れないようにするための設定です。\n\n弾丸の消費を抑えたり、稼働が遅いシステムへのアイテム搬入を遅らせたりする際に、とても有用な機能です。", + "quests.space_survival.delay_railgun.task": "理解した", + "quests.space_survival.receiver_railgun.title": "星間物資受取機", + "quests.space_survival.receiver_railgun.subtitle": "受信機", + "quests.space_survival.receiver_railgun.desc.1": "&6星間物資受取機&rでは、レールガンから射出されたアイテムを受け取ることができます。\n\nこちらは小型のマルチブロックで、稼働にエネルギーを必要としません。", + "quests.space_survival.receiver_railgun.desc.2": "物資受取機には&9搬出バス&rを自由に取り付けることができ、その分大量のアイテムを同時に受け取り・搬出することができます。\n\n組み立ても簡単で、本体と必要な部品を設置し、搬出バスを取り付けるだけです。\n\n稼働コスト0で動きますが、必ず設置されているチャンクをロードしておきましょう。", + "quests.space_survival.output_bus_railgun.title": "レールガン搬出バス", + "quests.space_survival.output_bus_railgun.subtitle": "受信側でのみ使うもの", + "quests.space_survival.output_bus_railgun.desc.1": "&c必ず先に&6レールガン搬入バス&rのクエストを確認しておいてください。以下は当該クエストの文章を読んでいる前提で書かれています。&r\n\n&6レールガン搬入バス&rと同様に、&3搬出バス&rにも&9プログラム回路&rの番号を設定することができます。", + "quests.space_survival.output_bus_railgun.desc.2": "この機能の用途は主に2つあります。&r\n\n&9輸送先の設定:\nどの搬出バスにアイテムが送られるか設定できる。\n設定方法:\n搬出バスを開き、番号を設定する\n→&6星間輸送モニタ&rの送信側設定で、送信先を設定した番号に設定する\n\n&9状態ルール:&r\n条件を満たさないときに、アイテムの輸送を&c停止&rするよう設定できる。\nこの設定は、星間輸送モニタの受信側設定からのみ行うことができます。\n回路の番号ごとに、異なるルールを設定できます。", + "quests.space_survival.output_bus_railgun.desc.3": "3つ上のクエストでは、各種ルールの解説と、それらの用途がみられるので、確認しておきましょう。", + "quests.space_survival.output_bus_railgun.task": "いずれかのレールガン搬出バス", + "quests.space_survival.soulbound.title": "宇宙で死んでしまったら", + "quests.space_survival.soulbound.subtitle": "スポーン地点を求めて三千里", + "quests.space_survival.soulbound.desc.1": "TerraFirmaGregでは、あらゆるディメンションをリスポーン地点に設定することができます。しかし、月面にリスポーンしてしまった場合、近くに予備の宇宙服が無ければ、大変なことになります。\n\n月面をスポーン地点にする場合は、必ず酸素のある場所をリスポーン地点に設定しましょう。さもなければ、復活しても窒息でリスキルされ続けることになります。(一応、死ぬまでに多少時間があるため、ベッドを破壊して初期スポーン地点に戻ることは可能です)", + "quests.space_survival.soulbound.desc.2": "また、&bソウルパール&rで宇宙服を強化することで、死んでも宇宙服が手元に残るようにすることができます。\n\n月面にいる特殊なエンダーマンを倒すことで、ソウルパールを入手できます。\n\nTFGは工業パックなのに、魔術みたいな要素がありますね。", + "quests.space_survival.mars_desert.title": "火星の砂漠", + "quests.space_survival.mars_desert.subtitle": "砂の世界", + "quests.space_survival.mars_desert.desc": "火星の大部分は砂漠に覆われており、小虫と&6サンドワーム&rを除けば生物はほとんどいません。どこか安全な場所があればあればいいのですが……", + "quests.space_survival.mars_desert.task": "火星砂漠バイオームに行く", + "quests.space_survival.sandworm.title": "サンドワーム", "quests.space_survival.sandworm.subtitle": "SHAI-HULUD", - "quests.space_survival.sandworm.desc": "If you make too much noise in the desert, you might attract the attention of the mighty &6Sandworm&r! It's more of an environmental hazard than a boss to kill, so your best way of surviving it is to run away!\n\nIf you manage to hit its head enough times with &bexplosion damage&r, it will leave you alone... for a while.\n\nThankfully, the Sandworm can only damage entities, not buildings, and is only attracted to the &6footsteps of players&r, so wild animals, vehicles, or trains won't anger it.", - "quests.space_survival.spice.title": "Ostrum Deposits", - "quests.space_survival.spice.subtitle": "Spice Melange", - "quests.space_survival.spice.desc": "&dOstrum Deposits&r are immovable blocks that you can only find in the Martian Deep Desert, far away from any of the more lush areas. They spawn in small blobs, and can be broken to make space for your Ostrum Harvester if they're on a slope. Try using a &6Spyglass&r to find them from a distance!\n\nYou'll have to figure out some long-distance logistics to ship your Ostrum back to your base. (Try a train, Accumulators can transport power!)\n\nOstrum is a crucial resource for both &5EV&r progression as well as keeping your Fission Reactors fed.", - "quests.space_survival.spice.task": "The spice must flow", - "quests.space_survival.mars_islands.title": "The Martian Jungles", - "quests.space_survival.mars_islands.subtitle": "Is that a dinosaur?!", - "quests.space_survival.mars_islands.desc": "Dotted around the vast Martian deserts are small \"islands\" of life and vegetation, which are probably where you'll want to set up your base. Surviving here will be much easier than in the desert!", - "quests.space_survival.semiheavy_ammoniacal_water.title": "Semiheavy Ammoniacal Water", - "quests.space_survival.semiheavy_ammoniacal_water.subtitle": "Fancy a drink?", - "quests.space_survival.semiheavy_ammoniacal_water.desc": "The water on Mars is &bSemiheavy&r which means it contains one Deuterium atom, and is also full of &aAmmonia&r, a great antifreeze, which is how it can stay liquid despite the very low temperatures.\n\nIt's technically drinkable, but you'll likely want to distill it into normal Water first. You can also move source blocks of Semiheavy Ammoniacal Water around and get more of it via an Aqueous Accumulator, just like regular Water.\n\nYou can also centrifuge the Ammonium Chloride out from it and electrolyze it as a source of &3Nitrogen&r. Easy Nitrox from just one source!", - "quests.space_survival.heavy_ammoniacal_water.title": "Heavy Ammoniacal Water", - "quests.space_survival.heavy_ammoniacal_water.subtitle": "The Cooler Ammoniacal Water", - "quests.space_survival.heavy_ammoniacal_water.desc": "&2Heavy Ammoniacal Water&r is another kind of fluid that can only be found deep underground via a Fluid Drilling Rig. You can only find it in these lush areas of Mars, not the desert!\n\nYou can separate it into Heavy Water, which is important for Fission power.", - "quests.space_survival.mars_poles.title": "The Martian Poles", - "quests.space_survival.mars_poles.subtitle": "Cold enough for CO₂ to freeze!", - "quests.space_survival.mars_poles.desc": "Is Mars not cold enough for you?\n\nHead up (or down) towards one of its poles at Z=+15000/-5000. If anything's able to live there, surely it must have amazing insulative properties...", - "quests.space_survival.glacian_ram.title": "Glacian Sheep", - "quests.space_survival.glacian_ram.subtitle": "Life at -110 C", - "quests.space_survival.glacian_ram.desc": "&dGlacian Rams&r and &dEwes&r can only be found on the Martian poles. You might want to bring a breeding couple back to your base.\n\nGot a long journey? Consider using an AE2 Spatial Storage Cell to carry them around in your pocket.", - "quests.space_survival.glacian_ram.task": "Find a Glacian Ram or Ewe", - "quests.space_survival.glacian_wool.title": "Glacian Wool", - "quests.space_survival.glacian_wool.subtitle": "What an incredible insulator!", - "quests.space_survival.glacian_wool.desc": "Unlike regular Sheep on Earth, killing a Glacian one will only give you normal Wool. You'll need to build up their familiarity and shear them if you want the special &dGlacian Wool&r.\n\nYou'll need 7 of it for a full Tungstensteel Space Suit, but you can also use it as a great component for your Fission Reactor to increase its maximum heat.\n\nYou can also turn it into regular Wool Yarn and Cloth if you want more of that for some reason.", - "quests.space_survival.t2_space_suit.title": "Tungstensteel Space Suit", - "quests.space_survival.t2_space_suit.subtitle": "Extremophilia!", - "quests.space_survival.t2_space_suit.desc": "With this next space suit, you'll be able to survive both the &bcoldest&r and the &chottest&r environments that space can throw at you! It's required to stop you from immediately combusting as soon as you set foot on &6Venus&r and &5Mercury&r.\n\nAs a bonus, it also comes with some extra armor and air capacity!", - "quests.space_survival.mars_tapping.title": "Crimsene and Warpane", - "quests.space_survival.mars_tapping.subtitle": "You LOVE tree tapping!", - "quests.space_survival.mars_tapping.desc": "Crimson and Warped Mushrooms can be tree tapped for &4Crimsene&r and &3Warpane&r respectively.\n\nYou'll need both to get started on producing &9Iodine&r, but they don't often grow in the same place, so you might need to travel a bit. Crimson Mushrooms grow more on the East side of Mars, while Warped grow more on the West.\n\nDon't forget that you can tap directly into open GregTech fluid pipes!\n\n&9Tip:&r Want to show off? You can also build a canoe out of Crimson Stems, and build a Rowboat or Sloop out of Warped ones!", - "quests.space_survival.iodine.title": "The Iodine Line", - "quests.space_survival.iodine.subtitle": "Mushroom chemistry!", - "quests.space_survival.iodine.desc": "Mix together the Crimsene and Warpane, along with some Krypton from Mars Air Distillation (it's looped) and the heat from your Fission Reactor, and you'll get Iodine!\n\nThis process is slow, but you shouldn't need a lot of it for now, and there will be better methods of obtaining Iodine on further planets.", - "quests.space_survival.mars_crops.title": "Martian Crops", - "quests.space_survival.mars_crops.subtitle": "They give HOW much nutrition?!", - "quests.space_survival.mars_crops.desc": "Mars is home to six new crops - three &afruit&r, two &2vegetable&r, and one &6grain&r. They're packed full of nutrients and can be used to prepare similar food to those on Earth, such as sandwiches, soups, and meal bags.\n\nA few of them are toxic if eaten raw, however, so be sure to cook it first!\n\nCheck the Field Guide for full details on how to grow each one. You can grow them in the dirt, in a Firmalife Greenhouse, or in an Electric Greenhouse.", - "quests.space_survival.mars_crops.task": "Any Martian Seed", - "quests.space_survival.bulbkin_pie.title": "Mars Cuisine", - "quests.space_survival.bulbkin_pie.subtitle": "Even more culinary atrocities at your disposal", - "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&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.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.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.", - "quests.space_survival.sniffer_or_wraptor.task_1": "Find a Sniffer", - "quests.space_survival.sniffer_or_wraptor.task_2": "Find a Wraptor", - "quests.space_survival.mars_nest.title": "Large Thatch Nest", - "quests.space_survival.mars_nest.subtitle": "A big nest for big eggs", - "quests.space_survival.mars_nest.desc": "You remember how to gather thatch, right?\n\nWarped and Crimson Thatch can be gathered from various small plants, as well as any Warped and Crimson Lamella you happen to find.\n\nJust like birds on Earth, Sniffers and Wraptors require nests to lay their eggs. Only, y'know, much bigger.", - "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.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.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.", - "quests.space_survival.mras_shields.task": "Any Advanced Shield", - "quests.space_survival.mercury.title": "I'm on &5Mercury&r...?", - "quests.space_survival.mercury.subtitle": "Wait, what happened here?!", - "quests.space_survival.mercury.desc": "&5Mercury&r will be a secondary planet for the upcoming &1IV&r rework in TFG 0.12. Stay tuned!", - "quests.space_survival.mercury.task": "Land on Mercury", - "quests.space_survival.venus.title": "I'm on &6Venus&r!", - "quests.space_survival.venus.subtitle": "Cloudy with a chance of sulfuric acid rain", - "quests.space_survival.venus.desc": "&6Venus&r will be the primary planet for the upcoming &1IV&r rework in TFG 0.12. Stay tuned!", - "quests.space_survival.venus.task": "Land on Venus", + "quests.space_survival.sandworm.desc": "砂漠であまり大きい音を立てると、&6サンドワーム&rという強敵が現れることがあります。これはボスというよりも災害に近いものであるので、遭遇してしまったら逃げましょう。\n\n頭に一定回数&b爆発ダメージ&rを与えることができれば、しばらくの間サンドワームは大人しくなります。\n\nなお、サンドワームには地形破壊能力がなく、&6プレイヤーの足音&rにのみ反応するので、他の野生生物や、乗り物、列車などに対しては反応しません。", + "quests.space_survival.spice.title": "オストラムの堆積物", + "quests.space_survival.spice.subtitle": "とても見つけにくいアイテム", + "quests.space_survival.spice.desc": "火星砂漠バイオームには、&dオストラムの堆積物&rという回収不可ブロックが存在します。これらは小さな塊として砂漠に生成されます。破壊することは可能なので、坂などに生成されていても、オストラムハーベスターを設置するための場所は確保できます。望遠鏡があれば、探しやすくなります。\n\nまた、オストラムを利用するには、手に入れたオストラムを拠点に持ち帰るための手段も確保する必要があります。\n\nオストラムは&5EV&r時代に必要となる資源であるほか、核分裂炉の稼働にも必要です。", + "quests.space_survival.spice.task": "オストラムの堆積物を見つける", + "quests.space_survival.mars_islands.title": "火星の森", + "quests.space_survival.mars_islands.subtitle": "きょ、恐竜!?", + "quests.space_survival.mars_islands.desc": "砂漠に覆われた火星には、時折小さなオアシスが存在しており、そこには生物や木々が見られます。拠点を作るのであれば、ここに作るとよいでしょう。砂漠よりもずっと生活しやすいです。", + "quests.space_survival.semiheavy_ammoniacal_water.title": "アンモニア交じりの半重水", + "quests.space_survival.semiheavy_ammoniacal_water.subtitle": "これ、飲んでいいの?", + "quests.space_survival.semiheavy_ammoniacal_water.desc": "火星の水は&b半重水&r、すなわち重水素を含みます。また、&aアンモニア&rを多く含んでいるため、火星の低温でも液体のまま存在しています。\n\n一応飲むこともできますが、出来れば蒸留して普通の水にした方がよいでしょう。また、水源ブロックはバケツで移動でき、通常の水と同様に無限化することもできます。\n\nさらに、この水を遠心分離することで塩化アンモニウムが得られ、それをさらに電解槽に入れれば窒素が得られます。すなわち、この水さえあればニトロックスが作成できるのです。", + "quests.space_survival.heavy_ammoniacal_water.title": "アンモニア交じりの重水", + "quests.space_survival.heavy_ammoniacal_water.subtitle": "アンモニア水のすごいやつ", + "quests.space_survival.heavy_ammoniacal_water.desc": "火星で液体採掘機を使うと、&2アンモニア交じりの重水&rが得られます。この水は砂漠では採掘できず、森林地帯でのみ入手できます。\n\nこの水からは重水が入手でき、重水は核分裂炉の稼働に使用できます。", + "quests.space_survival.mars_poles.title": "火星の極点にて", + "quests.space_survival.mars_poles.subtitle": "二酸化炭素も凍る最果て", + "quests.space_survival.mars_poles.desc": "実は、火星にはもっと寒い場所があります。\n\nZ座標が15000以上、または-5000以下の場所に行ってみましょう。こんな場所に生物がいたとしたら、興味深い特徴を持っているかも……", + "quests.space_survival.glacian_ram.title": "極点のヒツジ", + "quests.space_survival.glacian_ram.subtitle": "零下110度を生きる生物", + "quests.space_survival.glacian_ram.desc": "&d氷界雄ヒツジ&r、&d雌ヒツジ&rの2種類の動物は、火星の極地方にしか生息しません。拠点に1対持ち帰りたくはありませんか?\n\nとはいえ、超長距離移動になるため、持ち帰るのも一苦労。そんな時には、AE2の空間セルを使いましょう。", + "quests.space_survival.glacian_ram.task": "氷界ヒツジを見つける", + "quests.space_survival.glacian_wool.title": "氷塊羊毛", + "quests.space_survival.glacian_wool.subtitle": "すごい断熱材", + "quests.space_survival.glacian_wool.desc": "地球のヒツジと異なり、氷界ヒツジを倒しても普通の羊毛しか得られません。友好度を上げ、毛刈りをすることでのみ、&d氷塊羊毛&rを入手することができます。\n\nタングステンスチールの宇宙服を一式作るには、合計7個の氷塊羊毛が必要です。また、核分裂炉の部品として使うことで、最高温度を大幅に引き上げることができます。\n\n一応、紡錘を使えば普通の糸も取れますが、そんな使い方をする人は恐らくいないでしょう。", + "quests.space_survival.t2_space_suit.title": "タングステンスチールの宇宙服", + "quests.space_survival.t2_space_suit.subtitle": "最強の宇宙服", + "quests.space_survival.t2_space_suit.desc": "この宇宙服があれば、&b極低温&r、&c極高温&rのいずれにも対応できます。さもなくば、&6金星&rや&5水星&rでは、足を踏み入れた途端に死んでしまうでしょう。\n\nちなみに、防御力と酸素の容量も上昇しています。", + "quests.space_survival.mars_tapping.title": "赤い樹液と歪んだ樹液", + "quests.space_survival.mars_tapping.subtitle": "樹液集めはお好き?", + "quests.space_survival.mars_tapping.desc": "真紅のキノコ、歪んだキノコからは、それぞれ専用の樹液が得られます。\n\n&9イオジン&rを作るには、両方の樹液が必要です。ただし、両者は多くの場合別々の場所に生えているため、ある程度探索も必要になるでしょう。真紅のキノコは主に東側で、歪んだキノコは西側でみられます。\n\nちなみに、樹液はGregtechのパイプでも集めることができます。\n\n&9おまけ:&r真紅のキノコからはカヌーを、歪んだキノコからはボートやスループを作成することができます。", + "quests.space_survival.iodine.title": "イオジン", + "quests.space_survival.iodine.subtitle": "キノコ化学のはじまり", + "quests.space_survival.iodine.desc": "歪んだキノコ、真紅のキノコの樹液を混ぜたものに、火星の大気を蒸留して得られるクリプトンを加え、それを核分裂炉の熱で熱することにより、イオジンを手に入れることができます。\n\nこの加工には時間がかかりますが、使用量は多くないので心配ご無用。Ad Astraをさらに進めれば、もっと簡単にイオジンを作れるようになります。", + "quests.space_survival.mars_crops.title": "火星の植物", + "quests.space_survival.mars_crops.subtitle": "こんなもので栄養を!?", + "quests.space_survival.mars_crops.desc": "火星では6種の新たな作物が手に入ります。うち3種は果物、2種は野菜、1種は穀物です。地球上の作物と同様の栄養素が含まれており、同様の料理を作ることができます。\n\n一部の作物は生で食べると毒があるため、必ず調理してから食べましょう。\n\n詳しい育て方については、ガイドを参照してください。FirmalifeやGregtechの温室でも栽培することができます。", + "quests.space_survival.mars_crops.task": "いずれかの種", + "quests.space_survival.bulbkin_pie.title": "火星の食べ物", + "quests.space_survival.bulbkin_pie.subtitle": "ハンティングの時間", + "quests.space_survival.bulbkin_pie.desc": "ラプターの卵からは、砂糖の一種が得られます。スニッファーの卵からはクリームが得られます。\n\n&eヒカリカボチャのパイ&rは、火星系食料の中では最良のものです。4種の栄養素を多く含みますが、その分クラフトも大変です。\n\n&9おまけ:&rヒカリカボチャのぶつ切りとアルファキノコのブロックを混ぜることで、グロウストーンダストが得られます。グロウストーンは食べられません。", + "quests.space_survival.soarer.title": "ソアラー", + "quests.space_survival.soarer.subtitle": "高い所に行きたい人へ", + "quests.space_survival.soarer.desc": "飛行機は火星では飛びません。宇宙服にはジェットパックは搭載できません。では、空を飛ぶにはどうすれば良いのでしょうか。\n\n火星には&4ソアラー&rという生き物が生息しています。これらは生魚を与えることで飼いならすことができ、サドルを装備させることで、空を飛ぶ乗り物として使うことができます。\n\nただし、ソアラーは長時間飛行することが出来ません。画面左上の翼型のゲージが、飛行できる残り時間を表しています。ソアラーは長距離移動に適しており、またソアラーに乗っていればサンドワームにも襲われません。\n\n&9注意&r:ソアラーは&6金星&rのような極端な高温には耐えられません。", + "quests.space_survival.soarer.task": "ソアラーを見つける", + "quests.space_survival.surfer.title": "サーファー", + "quests.space_survival.surfer.subtitle": "泳ぎたい人へ", + "quests.space_survival.surfer.desc": "&bサーファー&rは水場で見られる生物です。陸で休んでいるところに忍び寄り、生魚を与えることで、飼いならすことができます。サドルを装備させれば、水中を高速で移動する乗り物になります。\n\n火星でこの特性が活かせる場は殆どありませんが、AEの空間セルを使うことで、この生物を別ディメンションに移動することができます。いずれ、この特性が役立つ星に向かうことになるでしょう……\n\n&9注意&r:サーファーは&6金星&rのような極端な高温には耐えられません。", + "quests.space_survival.surfer.task": "サーファーを見つける", + "quests.space_survival.sniffer_or_wraptor.title": "スニッファーとラプター", + "quests.space_survival.sniffer_or_wraptor.subtitle": "ウシとニワトリ", + "quests.space_survival.sniffer_or_wraptor.desc": "&2スニッファー&rと&dラプター&rは火星の各地に生息しており、家畜化することで肉や卵が得られます。さらに、その毛皮や羽根は重要な資源となります。\n\n火星植物ならなんでもエサにすることができ、地球の生物と同様に機械で餌やりを自動化することもできます。", + "quests.space_survival.sniffer_or_wraptor.task_1": "スニッファーを見つける", + "quests.space_survival.sniffer_or_wraptor.task_2": "ラプターを見つける", + "quests.space_survival.mars_nest.title": "大きな藁の巣箱", + "quests.space_survival.mars_nest.subtitle": "巨大な卵には巨大な巣を", + "quests.space_survival.mars_nest.desc": "藁の集め方は、流石に覚えていますよね?\n\n地表の草を刈ることで、歪んだ藁・真紅の藁が手に入ります。\n\n地球上の鳥と同じように、スニッファーやラプターが卵を産むには巣箱が必要です。それも、とびきり大きな巣箱が。", + "quests.space_survival.mars_nest.task": "いずれかの巣箱", + "quests.space_survival.mineral_rich_wool.title": "資源豊富な毛皮", + "quests.space_survival.mineral_rich_wool.subtitle": "永遠の砂嵐の中で", + "quests.space_survival.mineral_rich_wool.desc": "スニッファー、ラプターの両動物は、飼いならすことで毛刈りが可能になります。いずれの動物からも、特殊な毛皮を入手することができます。\n\n電気高炉でこの毛皮を製錬すると、アルカリアースシリケートが入手できます。また、&6バイオAES強化Rポリウレタンフォーム&rの作成にも必要です。", + "quests.space_survival.aes_insulation.title": "多層断熱保護剤", + "quests.space_survival.aes_insulation.subtitle": "アイスクリームサンドイッチじゃないよ", + "quests.space_survival.aes_insulation.desc": "現時点での用途は少ないですが、&1IV&rロケットの材料になります。", + "quests.space_survival.mars_shields.title": "強力な盾", + "quests.space_survival.mars_shields.subtitle": "金属盾の時代は終わり", + "quests.space_survival.mars_shields.desc": "&3強化シールド&rは、攻撃のダメージを反射する効果を持ちます。バニラの棘の鎧エンチャントとおおよそ同じ効果です。クラッシャー、イーターの素材から作られます。\n\n&5穢れた盾&rは、攻撃者をランダムにテレポートさせる効果を持ちます。敵から距離を取れる点で有用ですが、移動先がランダムなので、たまに真後ろにテレポートする場合があります。地下にいるケイブエンダーマンから、エンダーマンの歯は入手できます。\n\n&4リコシールド&rは、攻撃のダメージを吸収し、ダメージ効果のある衝撃波として周囲に放出する盾です。材料の動力コアは、火星の地中にいるゴーレムから、低確率で入手できます。", + "quests.space_survival.mras_shields.task": "いずれかの盾", + "quests.space_survival.mercury.title": "ここが、&5水星&r……?", + "quests.space_survival.mercury.subtitle": "未完成の大地", + "quests.space_survival.mercury.desc": "&5水星&rの要素については、ver0.12の&1IV&rリワークをお待ちください。", + "quests.space_survival.mercury.task": "水星に到達する", + "quests.space_survival.venus.title": "ここが、&6金星&r……?", + "quests.space_survival.venus.subtitle": "酸降り注ぐ濃雲の世界", + "quests.space_survival.venus.desc": "&5金星&rの要素については、ver0.12の&1IV&rリワークをお待ちください。", + "quests.space_survival.venus.task": "金星に到達する", "quests.steam_age": "初期の自動化", "quests.steam_age.subtitle": "蒸気機関、始動", "quests.steam_age.basic_greate.title": "Greateの基本", @@ -3439,7 +3439,7 @@ "quests.steam_age.centrifuge.desc": "鉱石処理は常にこのModPackの重要な要素であり、このマシンはそのなかで遠心分離を行うことができます。\nCentrifugeを使用することで鉱石から副産物を得ることができます!(EMIの鉱石処理工程図を参考にしてください) \n次の鉱石処理のアップデートはLV時代の基本型熱遠心分離機まで行われないですが、この機械を使うかどうかはあなた次第です。", "quests.steam_age.steam_engine.title": "蒸気エンジン", "quests.steam_age.steam_engine.subtitle": "本格的 蒸気機関", - "quests.steam_age.steam_engine.desc": "水車や風車ではもう物足りないですか?蒸気時代を名乗るならやはり蒸気機関は欠かせないでしょう!\n各蒸気エンジンからはそれぞれ256SU出力されるため、他の方法よりも多くの応力を利用することができます。\n\nブレイズバーナーは家から出なくても作成でき、メカニカルアームを使用して固形燃料を自動的に供給したり、液体燃料(クレオソートなど)を直接パイプで送ったりできます。\n高品質な石炭やAnthracite、コークスを燃料にして過熱状態にすることもできます。", + "quests.steam_age.steam_engine.desc": "水車や風車ではもう物足りないですか?蒸気時代を名乗るならやはり蒸気機関は欠かせないでしょう!\n各蒸気エンジンからはそれぞれ256SU出力されるため、他の方法よりも多くの応力を利用することができます。\n\nブレイズバーナーは家から出なくても作成でき、メカニカルアームを使用して固形燃料を自動的に供給したり、液体燃料(クレオソートなど)を直接パイプで送ったりできます。\n高品質な石炭や無煙炭、コークスを燃料にして過熱状態にすることもできます。", "quests.steam_age.fuel_sources.title": "いろんな燃料たち", "quests.steam_age.fuel_sources.subtitle": "燃料を蒸気に!いいですとも!", "quests.steam_age.fuel_sources.desc": "蒸気機関は、液体燃料用高圧ボイラーよりも多く種類の液体燃料を受け入れることができます。現時点ではクレオソートまたは溶岩が簡単に準備できますが、ヒマワリやキャノーラから作れる&e種油&rなどの、さまざまな植物ベースのオイルを利用するのもいいかもしれません。\n\nクレオソートと溶岩は、さらに上位の段階に進んでもあまり伸びしろがありませんが、バイオ燃料はディーゼルに、次にセタン添加ディーゼルにアップグレードできるため、それが魅力的だと思ったら、今すぐ植物油用の大きな畑を作り始めてください!", @@ -3674,8 +3674,8 @@ "quests.stone_age.leather_armor.subtitle": "基本的な防護策", "quests.stone_age.leather_armor.desc": "革の鎧は、バニラのものと同様に、弱めな鎧になります。あまり効果はないかもしれませんが、ある程度は身を守ってくれ、斬撃ダメージに対して多少の耐性を提供します。", "quests.stone_age.mining_prep.title": "採掘の準備", - "quests.stone_age.mining_prep.subtitle": "鉱石の目印を見つけた場所は...もちろん覚えてるよね?", - "quests.stone_age.mining_prep.desc.1": "石器時代より先に進むには、多くの金属が必要になり、地表にある小さな鉱石を拾うだけでは不十分です。これからは、採掘を始める必要があります。\n銅を見つけた場所に&o印をつけておいた&rと仮定して、目印があった場所のおおよその中心を見つけて掘り始めましょう!\nかなり深いかもしれませんが、最終的には目的の鉱石が見つかるでしょう。\n次のページには、最初の採掘旅行に持っていきたい装備がいくつか紹介されています!", + "quests.stone_age.mining_prep.subtitle": "レッツ直下掘り!", + "quests.stone_age.mining_prep.desc.1": "石器時代より先に進むには、多くの金属が必要になり、地表にある小さな鉱石を拾うだけでは不十分です。これからは、採掘を始める必要があります。\n銅を見つけた場所に&o印をつけておいた&rと仮定して、目印があった場所のおおよその中心を見つけて掘り始めましょう!\nかなり深いかもしれませんが、最終的には目的の鉱石が見つかるでしょう。\n次のページでは、最初の採掘旅行に持っていきたい装備をいくつか紹介しています!", "quests.stone_age.mining_prep.desc.2": "&lツルハシ&r:これが何をするかは明白でしょう。石を壊して鉱石を収穫する方法が必要です。ハンマーは機能しません!\n\n&lはしごと松明&r:掘った穴から登る方法と明かりは必須です!\n\n&l梁と板材&r:TFGでの採掘は、はるかに危険です。モンスターが地下に出現するだけでなく、不注意に掘り進むと崩落が発生する可能性があります!\nこのクエストの上にあるクエストでは、採掘中の危険を軽減する方法について説明します。\n\nさあ、採掘に向かいましょう!", "quests.stone_age.hazards.title": "採掘の危険", "quests.stone_age.hazards.subtitle": "地上は危険だって?", @@ -4162,7 +4162,7 @@ "quests.tfg_tips.create_kayak.desc": "&dKayak&rがあれば、水上での快適な一人旅を楽しむことができます。\nさらに速く進むには、&bKayak_Paddle&r(Canoe_Paddleは使えません)を作ってみてください!", "quests.tfg_tips.beneathxfirmaciv.title": "BeneathとFirma:Civに関する免責事項", "quests.tfg_tips.beneathxfirmaciv.subtitle": "これを読まないと後悔するかもしれません!", - "quests.tfg_tips.beneathxfirmaciv.desc": "&dCanoe、Rowboat&r、&dSloop&rは&dCrimzonの木&rや&3Warpの木&rから作ることができますが、残念ながら、これらの耐火性木材で作られたボートは溶岩に対して&4耐性がありません!&rこれらを使用して溶岩湖を横断しようとすると、&l恐ろしい死を遂げる&rことでしょう。", + "quests.tfg_tips.beneathxfirmaciv.desc": "&dCanoe、Rowboat&r、&dSloop&rは&d真紅の木&rや&3歪んだ木&rから作ることができますが、残念ながら、これらの耐火性木材で作られたボートは溶岩に対して&4耐性がありません!&rこれらを使用して溶岩湖を横断しようとすると、&l恐ろしい死を遂げる&rことでしょう。", "quests.tfg_tips.canoe_materials.title": "カヌー", "quests.tfg_tips.canoe_materials.subtitle": "楽に作れます", "quests.tfg_tips.canoe_materials.desc": "&dCanoe&rは、クラフトするのが最も簡単な船です。特定の種類の&a剥ぎ取られた丸太&rのみを使えるということに注意してください。\n上記のタスクでは、&bどの種類の木&rが使えるかが示されています。\n&2フィールドガイド&rには、そのユニークな構造に関する詳細が記載されています。\n\nこのボートは、操縦者以外の追加のプレーヤー、エンティティ、またはチェストを運ぶことができます。", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 82f7e367a..e48e2491a 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -508,7 +508,7 @@ "block.tfg.grass.sangnum_kaolin_mycelium": "Каоліновий Міцелій Сангнум", "block.tfg.spice": "Поклад Острому", "block.tfg.saplings.crimson": "Багряний гриб", - "block.tfg.saplings.warped": "Покручений гриб", + "block.tfg.saplings.warped": "Химерний гриб", "block.tfg.saplings.alphacene": "Альфаценовий гриб", "block.tfg.saplings.aeronos": "Аеронський гриб", "block.tfg.saplings.strophar": "Строфарський гриб", @@ -643,7 +643,7 @@ "block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Різьблений жовтий флуорапатитовий пісковик", "block.tfg.large_nest_box": "Велике багряне гніздо", "tfg.block_entity.large_nest_box": "Велика гніздова скринька", - "block.tfg.large_nest_box_warped": "Велике покручене гніздо", + "block.tfg.large_nest_box_warped": "Велике химерне гніздо", "block.tfg.titanium_concrete": "Бетон з титановою арматурою", "block.tfg.polished_titanium_concrete": "Полірований бетон з титановою арматурою", "block.tfg.titanium_concrete_tile": "Бетонна плита з титановою арматурою", @@ -657,10 +657,15 @@ "block.tfg.growth_monitor": "Монітор росту", "block.tfg.sample_rack": "Стійка для зразків", "block.tfg.casings.machine_casing_sterilizing_pipes": "Стерилізаційні труби", + "block.tfg.moderate_core": "Помірне ядро", + "block.tfg.impure_moderate_core": "Нечисте помірне ядро", + "block.tfg.moderate_core_frame": "Каркас помірного ядра", + "block.tfg.impure_moderate_core_frame": "Каркас нечистого помірного ядра", "fluid.tfg.nether_slurry": "Незерський шлам", "fluid.tfg.enriched_nether_slurry": "Збагачений незерський шлам", "fluid.tfg.ender_slurry": "Ендерський шлам", "fluid.tfg.enriched_ender_slurry": "Збагачений ендерський шлам", + "fluid.tfg.heavy_ammoniacal_water": "Важка аміачна вода", "fluid.tfg.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода", "fluid.tfg.sulfur_fumes": "Сірчані випари", "fluid.tfg.super_heated_slurry": "Супернагрітий шлам", @@ -709,6 +714,7 @@ "item.tfg.conifer_rosin": "Хвойна Каніфоль", "item.tfg.hardwood_strip": "Смуга Твердого Дерева", "item.tfg.soaked_hardwood_strip": "Просочена Смуга Твердого Дерева", + "item.tfg.soaked_unrefined_paper": "Замочений нерафінований папір", "item.tfg.prepared_leather_gloves": "Підготовлені Шкіряні Рукавички", "item.tfg.latex_soaked_gloves": "Латексно-Просякнуті Рукавички", "item.tfg.unfired_chalk": "Необпалена Крейдяна Паличка", @@ -781,7 +787,6 @@ "item.tfg.food.cooked_limpet": "Приготований лімпет", "item.tfg.food.raw_moon_rabbit": "Сирий Місячний Кролик", "item.tfg.food.cooked_moon_rabbit": "Приготований Місячний Кролик", - "item.tfg.spawn_egg.moon_rabbit": "Яйце Призову Місячного Кролика", "item.tfg.food.freeze_dried.red_grapes": "Сублімований червоний виноград", "item.tfg.food.freeze_dried.white_grapes": "Сублімований білий виноград", "item.tfg.food.freeze_dried.glow_berries": "Сублімовані світлякові ягоди", @@ -819,14 +824,12 @@ "item.tfg.food.ice_soup": "Крижаний суп", "item.tfg.food.raw_glacian_mutton": "Сире гляціанське бараняче м’ясо", "item.tfg.food.cooked_glacian_mutton": "Смажене гляціанське бараняче м’ясо", - "item.tfg.spawn_egg.glacian_ram": "Яйце ghbpjde Гляціанця", "item.tfg.food.raw_sniffer_beef": "Сире м’ясо нюхача", "item.tfg.food.cooked_sniffer_beef": "Смажене м’ясо нюхача", - "item.tfg.spawn_egg.sniffer": "Яйце призову Нюхача", "item.tfg.food.raw_wraptor": "Сирий Враптор", "item.tfg.food.cooked_wraptor": "Приготований Враптор", - "item.tfg.food.raw_springling_collar": "Сирий ошийок зі спрінглінга", - "item.tfg.food.cooked_springling_collar": "Приготований ошийок зі спрінглінга", + "item.tfg.food.raw_springling_collar": "Сирий нашийник зі спрінглінга", + "item.tfg.food.cooked_springling_collar": "Приготований нашийник зі спрінглінга", "item.tfg.food.raw_walker_steak": "Сирий стейк з Вокера", "item.tfg.food.cooked_walker_steak": "Приготований стейк з Вокера", "item.tfg.food.raw_glider_wings": "Сирі крила Глайдера", @@ -853,6 +856,11 @@ "item.tfg.sunflower_product": "Соняшнткова Кепка", "item.tfg.rapeseed_seeds": "Насіння Каноли", "item.tfg.rapeseed_product": "Листя Каноли", + "item.tfg.spawn_egg.moon_rabbit": "Яйце Призову Місячного Кролика", + "item.tfg.spawn_egg.surfer": "Яйце виклику серфера", + "item.tfg.spawn_egg.wraptor": "Яйце виклику враптора", + "item.tfg.spawn_egg.glacian_ram": "Яйце ghbpjde Гляціанця", + "item.tfg.spawn_egg.sniffer": "Яйце призову Нюхача", "item.tfg.flintlock_mechanism": "Крем’яний ударний механізм", "item.tfg.advanced_clockwork_mechanism": "Вдосконалений Годинниковий Механізм", "item.tfg.certus_mechanism": "Механізм Цертус", @@ -886,6 +894,7 @@ "item.tfg.compressed_heliox_3_bucket": "Відро геліоксу-3", "item.tfg.compressed_trimix_bucket": "Відро з триміксом 50/30/20", "item.tfg.compressed_trimix_3_bucket": "Відро з триміксом-3 50/30/20", + "item.tfg.heavy_ammoniacal_water_bucket": "Відро важкої аміачної води", "item.tfg.semiheavy_ammoniacal_water_bucket": "Напівважке аміачне відро з водою", "item.tfg.harvest_basket": "Кошик для врожаю", "item.tfg.aluminium_harvest_basket": "Алюмінієвий кошик для врожаю", @@ -973,11 +982,7 @@ "item.tfg.pure_graphite_rod": "Чистий графітовий стрижень", "item.tfg.impure_graphite_rod": "Нечистий графітовий стрижень", "item.tfg.annealed_graphite_rod": "Відпалений графітовий стрижень", - "item.tfg.impure_annealed_graphite_row": "Нечистий відпалений графітовий стрижень", - "item.tfg.moderate_core": "Помірне ядро", - "item.tfg.impure_moderate_core": "Нечисте помірне ядро", - "item.tfg.moderate_core_frame": "Каркас помірного ядра", - "item.tfg.impure_moderate_core_frame": "Каркас нечистого помірного ядра", + "item.tfg.impure_annealed_graphite_rod": "Нечистий відпалений графітовий стрижень", "item.tfg.graphite_moderator": "Графітовий модератор", "item.tfg.impure_graphite_moderator": "Нечистий графітовий модератор", "item.tfg.advanced_polymer_binder": "Вдосконалений полімерний зв’язувач", @@ -1012,6 +1017,11 @@ "item.tfg.bell_casting_mold": "Форма для лиття дзвонів", "item.tfg.rnr_plow": "Візок для мощення", "item.tfg.cobalt_brass_wheel": "Колесо з кобальтової латуні", + "item.tfg.cellulose_matrix": "Целюлозна матриця", + "item.tfg.smooth_endoplasmic_reticula": "Гладка ендоплазматична сітка", + "item.tfg.rough_endoplasmic_reticula": "Шорстка ендоплазматична сітка", + "item.tfg.alpha_keratin": "α-Кератин", + "item.tfg.progenitor_cells": "Клітини попередники", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканізований Латекс", "material.tfg.fluix": "Флюс", @@ -1101,6 +1111,26 @@ "material.tfg.cooked_mycelienzane": "1,3‑Міцеліензан", "material.tfg.iodomethane": "Йодметан", "material.tfg.trideuteroiodomethane": "Тридейтеройодметан", + "material.tfg.lauryl_alcohol": "Лауриловий спирт", + "material.tfg.chlorosulfuric_acid": "Хлоросульфатна кислота", + "material.tfg.sodium_dodecyl_sulfate": "Натрій додецилсульфат", + "material.tfg.sodium_hypochlorite": "Натрій гіпохлорит", + "material.tfg.mutative_yeast": "Мутативні дріжджі", + "material.tfg.proto_growth_medium": "Протосередовище для росту", + "material.tfg.fibroblast_feeder_cells": "Фібробластні клітини годувальники", + "material.tfg.gram_stain": "Фарбування за Грамом", + "material.tfg.crystal_violet": "Кристалічний фіолетовий", + "material.tfg.n_n_dimethylaniline": "N,N-Диметиланілін", + "material.tfg.triglyceride_oil": "Тригліцеридна олія", + "material.tfg.cholesterol": "Холестерин", + "material.tfg.butyric_acid": "Масляна кислота", + "material.tfg.zircon": "Циркон", + "material.tfg.silicon_tetrachloride": "Тетрахлорид кремнію", + "material.tfg.zirconium_tetrachloride": "Тетрахлорид цирконію", + "material.tfg.zirconium_oxide": "Цирконія", + "material.tfg.zirconium_bromide": "Бромід цирконію (IV)", + "material.tfg.zirconium_diboride": "Диборид цирконію", + "material.tfg.boron_carbide": "Бор карбід", "ore_vein.tfg.deep_sheldonite": "Шелдоніт і Борніт", "ore_vein.tfg.deep_garnet_amethyst": "Аметист і Гранат", "ore_vein.tfg.deep_garnet_opal": "Опал і Гранат", @@ -1388,10 +1418,24 @@ "tfg.tooltip.cooling_foods": "§bОхолоджує вас на: 2°C", "tfg.tooltip.cooling_foods_strong": "§bОхолоджує вас на: 10°C", "tfg.tooltip.warming_foods": "§bОхолоджує вас на: 4°C", + "tfg.tooltip.machine.one_energy_hatch": "Приймає рівно §6Один§r енергетичний люк", + "tfg.tooltip.machine.two_energy_hatches": "Приймає до §6Двох§r енергетичних люків", + "tfg.tooltip.machine.subtick": "Ця машина підтримує §2Підтакт§r!", + "tfg.tooltip.machine.coil_energy_discount": "Кожна котушка після §6Мельхіору§7 зменшує споживання енергії на §r10%§7.§r", + "tfg.tooltip.machine.bioreactor_1": "§7Хімія зустрічається з Біологією§r", + "tfg.tooltip.machine.bioreactor_2": "§7Поєднує органічні та неорганічні інгредієнти для отримання синтетичних біологічних продуктів.§r", + "tfg.tooltip.machine.growth_chamber_1": "§7Вирощування нового життя§r", + "tfg.tooltip.machine.growth_chamber_2": "§7Містить усе необхідне для біоінженерії.§r", + "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", + "tfg.tooltip.machine.evaporation_tower_2": "§7Позбавляється надлишкового розчинника, щоб сконденсувати розчини.§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7Додає «Фабрику» у фабричне тваринництво§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Використовує воду для вирощування дерев, культур та інших рослин. Може бути прискорене за допомогою добрив. Швидше й простіше, ніж інші способи вирощування рослин, але потребує енергії.§r", + "tfg.tooltip.machine.cooling_tower_1": "§7Нагрівання атмосфери§r", + "tfg.tooltip.machine.cooling_tower_2": "§7Охолоджує гарячий теплоносій, розсіюючи надлишкове тепло в атмосферу.§r", "tfg.tooltip.obsolete.depreciated": "§cЗастаріле, більше не створюється", - "tfg.tooltip.dna_syringe.empty": "Порожній шприц.", - "tfg.tooltip.dna_syringe.dirty1": "Використаний шприц.", - "tfg.tooltip.dna_syringe.dirty2": "Обережно, не вколіть цим нікого...", + "tfg.tooltip.dna_syringe.empty": "§7Порожній шприц.§r", + "tfg.tooltip.dna_syringe.dirty1": "§7Використаний шприц.§r", + "tfg.tooltip.dna_syringe.dirty2": "§7Будьте обережні, щоб нікого не вколоти цим...§r", "tfg.tooltip.dna_syringe.full": "Зразок ДНК: ", "tfg.tooltip.dna_syringe.explain": "Клацніть ПКМ по мобу, щоб отримати зразок ДНК. Розмістіть у сітці крафта, щоб очистити вміст.", "tfg.tooltip.shift_hint": "[Hold-Shift]", @@ -1419,6 +1463,7 @@ "tfg.gui.rnr_plow.random_mode": "Рандомізувати матеріали", "tfg.gui.rnr_plow.width": "Ширина шляху: %d блоків", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cВідсутній шар щебеневої основи!!", + "tfg.tooltip.progenitor_cells.mob": "Тваринництво: ", "tfc.jei.flint_knapping": "Обробка Кременю", "tfc.jei.straw_knapping": "Вибивання Соломи", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Фарбування", @@ -1471,6 +1516,7 @@ "tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Фарбування", "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": "Охолоджувальна Вода", @@ -1825,7 +1871,7 @@ "quests.extreme_voltage.nuclear_turbine.desc": "Завдяки Ядерному поділу ви отримуєте доступ до абсолютно нової &6Спеціалізованої Турбіни&r! (Звичайна Велика Парова Турбіна може працювати лише зі звичайною парою.) \n\nВона працює так само, як і попередні турбіни, але, подібно до Газової Турбіни, вимагає щонайменше &5EV Тримача ротора&r для роботи. \n\nКотушки всередині цієї турбіни мають бути з &7Купронікелю&r, і вони жодним чином не впливають на продуктивність (але, треба визнати, виглядають доволі стильно). \n\nУ цьому завданні ми пропонуємо два &aРотори&r, які добре підходять для турбіни на цьому етапі, але сміливо експериментуйте й використовуйте будь‑який &bротор&r, що найкраще відповідає вашій збірці.", "quests.extreme_voltage.reactor_components.title": "Керування тепловиділенням реактора", "quests.extreme_voltage.reactor_components.subtitle": "Активні та пасивні способи охолодження реактора", - "quests.extreme_voltage.reactor_components.desc.1": "Однією з найцікавіших особливостей Ядерного реактора є можливість додавати всередину блоки, щоб змінювати його &eмаксимальну теплову ємність&r. \n\nУ кутах реактора можна розмістити певні &6Компонентні блоки&r — загалом до &e20 блоків&r. \nНаприклад, можна використати &9Тримачі предметів&r і вставити в них охолоджувальні предмети через вхідні шини, що допомагає контролювати накопичення тепла. \n\nВажливо зазначити, що Тримачі предметів — це &cєдиний спосіб&r увімкнути частину реактора, пов’язану з &bобробкою рецептів&r. \n\nРозумна внутрішня конфігурація стане вирішальною різницею між стабільним реактором і тим, що йде на охолодження, тож плануйте розташування уважно!", + "quests.extreme_voltage.reactor_components.desc.1": "Однією з найцікавіших особливостей реактора поділу є його здатність мати додаткові блоки всередині для зміни &eмаксимальної теплової місткості&r. \n\nВи можете розміщувати певні &6Компонентні блоки&r у кутах реактора, дозволяючи встановити до &e20 блоків&r загалом. Наприклад, можна використати &9Тримачі матеріалів&r та вставити охолоджувальні елементи через вхідні шини, що допомагає керувати накопиченням тепла. \n\nВажливо зазначити, що Тримачі матеріалів — це &cєдиний спосіб&r увімкнути &bобробку рецептів&r у реакторі поділу. \n\nРозумна внутрішня конфігурація стане вирішальною різницею між стабільним реактором і тим, що йде на охолодження, тож ретельно плануйте свою схему!", "quests.extreme_voltage.reactor_components.desc.2": "Як уже обговорювалося раніше, використання трьох &eТорієвих стрижнів&r підніме температуру вашого реактора приблизно до &c420&r, що трохи перевищує стандартний ліміт. Однак ви можете безпечно досягти цього порогу, покращивши &6ізоляцію реактора&r. \n\nДодавання &e10 Каркасних льодових вовняних блоків&r або &e20 Каркасних блоків ізоляції AES&r усередині конструкції підвищить максимальну температуру реактора до &e420&r, дозволяючи працювати з трьома Торієвими стрижнями без переходу в режим охолодження. \n\nМайте на увазі, що збільшення кількості активних стрижнів також прискорює їх &aзношування&r. Це означає, що кожен стрижень у середньому вироблятиме менше пари за тик, знижуючи його &aефективність&r, але водночас це &bзначно прискорить виробництво матеріалів поділу&r. \n\nЧи віддасте ви перевагу &aефективності&r чи &bпропускній здатності&r — повністю залежить від вас. Саме цей баланс і є серцевиною майстерності роботи з &6Ядерним реактором&r.", "quests.extreme_voltage.heat_exchanger.title": "Теплообмінник", "quests.extreme_voltage.heat_exchanger.subtitle": "Усе це тепло ж має кудись діватися!", @@ -1836,7 +1882,7 @@ "quests.extreme_voltage.refrigerant_pellet.desc": "&eПлутонієвий паливний стрижень&r працює при надзвичайно високих температурах — настільки високих, що вам доведеться використовувати &bОхолоджувальні пелети&r усередині реактора, аби запобігти переходу в режим охолодження. \n\nЦі пелети досить дорогі у виробництві, але ви все ж зможете налагодити їх масове виготовлення на ранньому етапі — або принаймні достатньо, щоб підтримувати роботу перших кількох плутонієвих стрижнів. Для повного циклу одного Плутонієвого стрижня потрібно приблизно &9256&r. \n\nПізніше, якщо вам не подобається постійно крафтити ці витратні матеріали, ви отримаєте доступ до &6покращених компонентів реактора&r. З ними ваш реактор зможе безпечно досягати &e600 Макс. тепла&r, що значно підвищить ефективність і стабільність. \n\nІнвестуйте в кращі внутрішні частини заздалегідь, щоб витрачати менше часу на «нянькування» вашого енергетичного ядра.", "quests.extreme_voltage.important_info.title": "Перш ніж почати", "quests.extreme_voltage.important_info.subtitle": "Не найпростіше місце для початку", - "quests.extreme_voltage.important_info.desc.1": "Перш ніж почати будувати свою базу на &cМарсі&r, ось кілька важливих порад, які допоможуть вам успішно облаштуватися.&r\n\nПід час досліджень ви можете натрапити на &6Марсіанські руїни&r, що містять &eАтомні корпуси&r та &eКорпуси для високих температур&r. Вони не замінять величезної кількості, яка знадобиться вам пізніше, але можуть дати невеликий стартовий бонус під час пошуку ідеального місця для бази.&r", + "quests.extreme_voltage.important_info.desc.1": "Перш ніж почати будувати свою базу на &cМарсі&r, ось кілька важливих порад, які допоможуть вам успішно облаштуватися.&r \n\nПід час дослідження ви можете натрапити на &6Марсіанські руїни&r, що містять &eАтомні корпуси&r та &eКорпуси для високотемпературного плавлення&r. Вони не замінять величезну кількість, яка знадобиться вам пізніше, але можуть дати невеликий старт під час пошуку ідеального місця для бази.&r", "quests.extreme_voltage.important_info.desc.2": "Коли йдеться про вашу марсіанську інфраструктуру, існує два основні підходи:&r \n\n• &aОрієнтований на підготовку&r: Збудуйте все необхідне для повної &6Лінії поділу&r ще до заснування бази. Це означає величезні матеріальні витрати, але дозволить бути самодостатнім після запуску. \n\n• &aПоступове розгортання&r: Почніть із меншого — вашої &6Фабрики ядерного палива&r, першого &6Ядерного реактора&r (на &eТорії&r) та &6Ядерної турбіни&r. Цей шлях швидший на старті, але керування енергією буде складним, доки система поділу не стабілізується. \n\nУ будь‑якому випадку ми завжди рекомендуємо провести розвідувальну місію, перш ніж оселятися!", "quests.extreme_voltage.important_info.desc.3": "Оскільки жоден вид енергії на основі згоряння не працюватиме на Марсі, вам слід привезти добрий запас &bКристалів Лапотрону&r, щоб живити перші рецепти та системи подачі кисню. \n\nМи також наполегливо рекомендуємо встановити &6Дистиляційну вежу&r. &eМарсіанське повітря&r можна переробити на придатне для дихання &bПовітря&r та кілька інших корисних газів. \nАльтернативно, усе необхідне для Стисненого Нітроксу можна отримати з місцевої Напівважкої аміачної води. \n\nВиживання на Марсі — це не питання удачі, а питання підготовки!", "quests.extreme_voltage.important_info.task": "Час Марсувати", @@ -1865,7 +1911,7 @@ "quests.extreme_voltage.uranium_line.desc": "Щоб обробляти &eУран&r та його &eІзотоп Уран‑235&r, вам потрібно налаштувати окрему невелику лінію переробки. \n\nМожете бути певні, що &aФтор&r можна &aзациклювати&r, тож єдиним вхідним ресурсом залишатиметься &eПил уранініту&r. \n\nЦю лінію можна збудувати на Землі, але зручніше буде розмістити її на Марсі, де видобувається більшість уранінітової руди.", "quests.extreme_voltage.radioactive_waste.title": "Радіоактивні відходи", "quests.extreme_voltage.radioactive_waste.subtitle": "Сміття для одного — матеріал для прогресу для іншого", - "quests.extreme_voltage.radioactive_waste.desc": "Радіоактивні відходи — це &cкритичний побічний продукт&r для створення ваших наступних паливних стрижнів, тож завжди переконуйтеся, що є достатньо місця для їх виведення. Якщо Ядерний реактор не зможе знайти доступний вихід, він просто &cутилізує відходи&r, втрачаючи цінні ресурси. \n\nМи рекомендуємо або: \n- Встановити спеціальний Вихідний люк у &blocked mode&r \n- Використати Супер‑скриню з Кришкою розширеного детектора рідин \n\nЯкщо у вас є &dME мережа&r на Марсі, ще одним варіантом стане нещодавно розблокований &6ME Вихідний люк&r.", + "quests.extreme_voltage.radioactive_waste.desc": "Радіоактивні відходи є &cкритичним побічним продуктом&r для створення ваших наступних паливних стрижнів, тому завжди переконуйтеся, що є достатньо місця для їх виводу. Якщо реактор поділу не знайде доступного виходу, він просто &cвидалить відходи&r, втративши цінні ресурси. \n\nМи рекомендуємо або: \n- Встановити спеціальний Вихідний люк у &блокованому режимі&r \n- Використати Супербак із Покриттям розширеного детектора рідини \n\nЯкщо у вас є &dME мережа&r на Марсі, іншим варіантом є нещодавно розблокований &6ME вихідний люк&r.", "quests.extreme_voltage.uranium_rod.subtitle": "Нарешті, справжня потужність!", "quests.extreme_voltage.uranium_rod.desc.1": "Це паливо другого покоління — воно має &aв 4× більшу міцність&r і виробляє &aв 5× більше пари&r у порівнянні зі стандартним &eТорієвим стрижнем&r. Проте існують важливі компроміси, які потрібно врахувати. \n\n&9Вартість виробництва та налаштування:&r \n• Виробництво цього палива постійно споживає &eТорієві стрижні&r, тому рекомендується виділяти окремий &6Ядерний реактор&r для кожного з цих удосконалених стрижнів. Хоча, якщо ви готові до виклику керування ними в одному реакторі, це також можливо.", "quests.extreme_voltage.uranium_rod.desc.2": "Варіанти тепловідведення: Один Урановий паливний стрижень генерує близько &c435 тепла&r у стандартному реакторі, що значно перевищує базовий ліміт. Щоб впоратися з цим, у вас є три основні варіанти: \n\n&7→&r &eВстановіть 20 блоків Каркасної крижаної вовни&r всередині реактора, щоб підняти &cМакс. тепло&r до &e440&r, дозволяючи одному стрижню працювати безпечно. \n\n&7→&r &6Використовуйте Тримачі матеріалів&r і закачуйте великі обсяги &bСухого льоду&r для зниження температури реактора. Це вимагає розвиненої інфраструктури та доступу до &bжил рідини CO2&r на Марсі. \n\n&7→&r &bВикористовуйте Холодоагентні гранули&r, розміщені у Тримачах матеріалів. Вони працюють подібно до Сухого льоду, але значно потужніші. Зверніть увагу, що для створення Холодоагентних гранул витрачається чимала кількість &eФтору&r, і на цьому етапі у вас немає його нескінченного запасу. \n\nЗвісно, ви також можете зробити власний мікс і поєднати всі ці варіанти.", @@ -2033,6 +2079,8 @@ "quests.extreme_voltage.martian_sludge.desc": "Центрифугуй гексафторокремнієву кислоту, щоб повернути фтор, а також отримати трохи &6Марсіанського мулу&r — необхідного для радону та ядерних залишків.", "quests.extreme_voltage.large_generators.title": "Екстремальне виробництво енергії", "quests.extreme_voltage.large_generators.desc": "Різні одноблокові генератори підтримують лише до HV, тож далі тобі доведеться використовувати багатоблоки для виробництва більшої кількості енергії. Два з найкращих варіантів на EV — це &dВелика газова турбіна&r та &dВеликий двигун внутрішнього згоряння&r, тож переходь до розділу “Енергетика GregTech”, щоб дізнатися більше про них.", + "quests.extreme_voltage.large_centrifuge.subtitle": "Карусель матеріалів", + "quests.extreme_voltage.large_centrifuge.desc": "&6Великий центрифужний блок&r є обов’язковим мультиблоком для вашої лінії поділу. \n\nВін підтримує до &52x EV енергетичних люків&r, що дозволяє обробляти &1IV-рівневі&r рецепти, використовуючи той самий механізм, що й ЕБП, тож він здаватиметься вам знайомим. \n\nЦя машина може працювати у двох режимах: &bЦентрифуга&r та &6Термічна центрифуга&r. Ви можете легко перемикати їх безпосередньо в інтерфейсі контролера, але, на жаль, вона не може керуватися через AE2 чи іншу автоматизацію. \n\nЗ цим покращенням ви нарешті зможете підняти свою &aобробку руди&r на абсолютно новий рівень швидкості.", "quests.gregtech_energy": "GregTech Енергія", "quests.gregtech_energy.subtitle": "Ото як усе це працює?", "quests.gregtech_energy.start.title": "Давай щось пояснимо", @@ -2318,7 +2366,7 @@ "quests.high_voltage.nichrome.desc": "Ваш третій сплав уже тут, і він необхідний для наступного набору котушок у &6ЕДП&r.\n\nЯк і зазвичай, вам знадобиться &9128 злитків&r, але цього разу ви помітите, що не можна використати &6Хімічну мийну машину&r. Натомість потрібно скористатися &6Вакуумною морозильною камерою&r.\n\nДобра новина: це насправді простіше й швидше.\n\nДля цих котушок ви використовуватимете лише &6ніхром&r, але не розслабляйтеся — він ще знадобиться пізніше для наступного набору &5RTM котушок&r.", "quests.high_voltage.rocket_t1.title": "Ваша перша ракета!", "quests.high_voltage.rocket_t1.subtitle": "Перший із багатьох", - "quests.high_voltage.rocket_t1.desc": "Ого, настав час будувати свій &6Ракетний Апарат&r!\n\nЗбери всі частини з &d8 Сплаву для Ракет&r. \nЩоб завершити ізоляцію, тобі знадобиться &b2304mb&r &bРідкого Силікону&r (&b16 злитків&r) і &f16 одиниць пилу&r.\n\nУ тебе є два варіанти:\n&e-&r &eПил Боросилікатного Скла&r — створюється у &6Міксері&r з &dБором&r і &fПилом Скла&r \n&e-&r &5Вітрифікована Азбестова Суміш&r — добувається через &6Піролізну Піч&r\n\nОбирай те, що тобі зручніше!", + "quests.high_voltage.rocket_t1.desc": "Вау, настав час будувати свою &6Ракету&r! \n\nЗберіть усі частини з &d8 Щільного ракетного сплаву&r. Щоб завершити ізоляцію, вам знадобиться &b2304мв&r &bРідкого кремнію&r (&b16 злитків&r) та &f16 шматків пилу&r. \n\nУ вас є два варіанти: \n&e-&r &eБоросилікатний скляний пил&r — створюється у &6Змішувачі&r з &dБор&r та &fСкляний пил&r \n\n&e-&r &5Вітрифікований азбест&r — отримується у &6Піролізній печі&r \n\nОбирайте те, що для вас простіше!", "quests.high_voltage.vitrified_pearl.title": "Вітрифікована Перлина Ендера", "quests.high_voltage.vitrified_pearl.subtitle": "Екзотична Кераміка", "quests.high_voltage.vitrified_pearl.desc": "Нагрійте Перлину Краю в &eПіролізній Печі&r разом із відповідною ізоляцією, щоб правильно її вітрифікувати — перетворити на щось, що нагадує &3кераміку&r.\n\nНаразі вам знадобиться небагато — щонайменше одна для вашої &6Ракети&r та ще одна для &6HV Складальника Схем&r.\nАле майте на увазі: починаючи з &5EV&r, попит на них швидко зростатиме.", @@ -2346,7 +2394,7 @@ "quests.high_voltage.steel_engine.subtitle": "Синя сталь повертається, бейбі", "quests.high_voltage.steel_engine.desc": "&6Сталевий двигун&r необхідний, щоб твоя ракета могла &aдістатися до Місяця&r.\n\nРецепт не надто складний — ми припускаємо, що ти готовий впоратися з кожною частиною.\n\nЩоб отримати &91152mb Рідкої синьої сталі&r, тобі знадобиться &78 злитків&r.", "quests.high_voltage.rocket_fins.subtitle": "Тож ти дістанешся до правильного пункту призначення", - "quests.high_voltage.rocket_fins.desc": "Ми зробили &6Ракетні стабілізатори&r такими, що їх потрібно створювати в &bСплавнику&r — просто щоб нагадати тобі, що тепер у тебе є доступ до &bМульти-печі&r — чудової малої ЕДП, яку можна використовувати як &eПіч&r та &bСплавник&r.\n\nКвест на її створення знаходиться в розділі &bMV&r. Ми щиро радимо замислитися над цим, якщо ти ще не брався.", + "quests.high_voltage.rocket_fins.desc": "Спочатку ми зробили так, щоб &6Ракетні стабілізатори&r виготовлялися у &bПлавильній печі сплавів&r лише для того, щоб нагадати вам, що тепер у вас є доступ до &bМультиплавильної печі&r — чудової малої ЕДП, яку можна використовувати як &eПіч&r і як &bПлавильну піч сплавів&r. \n\nЗавдання на її створення знаходиться в розділі &bMV&r. \n\nМи змінили цей рецепт на збирач, адже «ракетні стабілізатори» не зовсім є сплавом.", "quests.high_voltage.rocket_nose_cone.subtitle": "Ніс знає...", "quests.high_voltage.rocket_nose_cone.desc": "&6Носова частина ракети&r — це найскладніша частина твоєї ракети.\nТобі знадобиться чимала кількість &aПоліетилену&r — сподіваємось, ти вже налагодив його пасивне виробництво — а також &6HV&r Емітер.\n&dХром&r можна добути шляхом електролізу &cРубінового пилу&r.\n\nА от &aВітрифікована Ендер-перлина&r — це вже складніше. Щоб її отримати, потрібно пройти квест, який відкривається після створення &6HV&r Хімічного реактора.\nПриготуйся виготовляти &cТНТ&r, будувати &5Імплозійний компресор&r і відтворювати легендарний дроп Ендермена — адже Ендер-перлини не зустрічаються природно в &2TFG&r.", "quests.high_voltage.launch_pad.subtitle": "Готовність до запуску через T-10...", @@ -2667,7 +2715,7 @@ "quests.medium_voltage.mv_miner.subtitle": "Так що вам набридло добувати самому?", "quests.medium_voltage.mv_miner.desc.1": "Ця добра душа&r буде добувати руди для тебе, якщо її розмістити над жилою. \n\nВертикальний діапазон необмежений під майнером. Горизонтальний діапазон відображається у підказці. \n\nВаріант &bMV&r може не мати достатнього діапазону для видобутку всієї жили, але варіант &6HV&r має, тому можливо варто зачекати. Отримай &eбудь-який&r, щоб завершити це завдання.", "quests.medium_voltage.mv_miner.desc.2": "Тобі знадобиться &9Енергія&r. &aЗаряджені Батареї&r можуть працювати, але вони мають властивість швидко розряджатися, що трохи незручно. \n\nНайкраща рекомендація — використовувати заповнену &3Бочку&r з якимось паливом &7(якщо ти використовуєш Пар, це не спрацює!)&r та &3Генератор&r. \n\nРозмісти Бочку над Генератором і клацни по ньому &5Киянкою&r, щоб автоматично передавати паливо в Генератор.", - "quests.medium_voltage.mv_miner.desc.3": "&cПримітка:&r Не забудь &dзавантажити чанки&r всіх 9 шматків рудної жили &7(відкрий карту, захопи чанки за допомогою Ctrl + ЛКМ і увімкни примусове завантаження після їх захоплення)&r. \n\n&9Порада:&r Ти можеш використовувати або &3ME Скриню&r, або &3GT Ящик&r як вихідний інвентар, щоб зробити транспортування руд додому простішим. &3ME Скриня&r можна живити безпосередньо від EU, але це буде доступно не відразу.", + "quests.medium_voltage.mv_miner.desc.3": "&cПримітка:&r Не забудьте &dзавантажити чанки&r усіх 9 чанків руднох покладів &7(відкрийте карту, виділіть чанки за допомогою ctrl + лівий клік та увімкніть примусове завантаження після їх захоплення)&r. \n\n&9Порада:&r Ви можете використати &3ME скриню&r, &3Рюкзак&r або &3GT ящик&r як вихідний інвентар, щоб спростити транспортування руди додому. До речі, &3ME скриню&r можна живити безпосередньо від EU.", "quests.medium_voltage.mv_miner.task": "Будь-який бур", "quests.medium_voltage.mv_component.title": "Компоненти MV", "quests.medium_voltage.mv_component_.subtitle": "Ненавидів створювати це на попередньому рівні?", @@ -2702,7 +2750,7 @@ "quests.medium_voltage.mv_batteries.desc": "&bMV&r Батареї сподобаються тобі, якщо ти хочеш буферизувати Енергію, так само як &7LV&r. \n\nВартість у &aНатрії&r, &aЛітії&r або &aКадмії&r зростає до 8 пилу, тому варто використовувати те, чого у тебе найбільше. Різниця в ємності не &7ТАК&r велика, зрештою! \n\nОтримай &eбудь-яку&r Батарею, щоб завершити Завдання.", "quests.medium_voltage.mv_steel_alloy.title": "Сталеві Сплави", "quests.medium_voltage.mv_steel_alloy.subtitle": "Загартуй своє серце", - "quests.medium_voltage.mv_steel_alloy.desc": "Ванадієва сталь потрібна в невеликих кількостях у прогресії. Вона &6майже вчетверо міцніша&r за звичайну сталь, якщо використовується в інструментах GregTech. Ванадій добувається з &aВанадієвого Магнетиту&r, який ти міг зустріти у магнетитових жилах. \n\nІнші сталеві сплави включають Синю Сталь, Червону Сталь та Чорну Сталь! \n\nВізьми трохи Синьої Сталі безкоштовно — вона вдвічі міцніша за звичайну сталь.", + "quests.medium_voltage.mv_steel_alloy.desc": "Ванадієва сталь потрібна в невеликих кількостях для прогресу. Вона &6майже в чотири рази міцніша&r за сталь, якщо використовується в інструментах GregTech. Ванадій походить із &aВанадієвого магнетиту&r, який ви могли зустріти у покладах магнетиту.", "quests.medium_voltage.pyrolyse.title": "Піролізна Піч", "quests.medium_voltage.pyrolyse.subtitle": "Термічний Розклад", "quests.medium_voltage.pyrolyse.desc.1": "&3Піролізна Піч&r — це електричний аналог &3Коксової Печі&r. Вона може виробляти &9Коксове Вугілля&r та &9Деревне Вугілля&r з побічним продуктом &9Креозотом&r, як і раніше, але також має додаткові &6Органічні Побічні Продукти&r, найкориснішим з яких є &aДеревний Дьоготь&r. \n\nЩе одним продуктом є &aБіомаса&r, яка зараз є більш актуальною для твого прогресу.", @@ -3172,6 +3220,7 @@ "quests.space_survival.solar_panels.title": "Сонячні Панелі", "quests.space_survival.solar_panels.subtitle": "Слава сонцю!", "quests.space_survival.solar_panels.desc": "На Місяці доступно дуже мало джерел енергії, але ці &eСонячні Панелі&r мають чудовий вид на Сонце звідси!\n\nНа Місяці кожна Сонячна Панель забезпечує еквівалент &932 EU/t&r вдень без потреби у паливі чи обслуговуванні, але на поверхні Землі вони виробляють лише восьму частину цієї потужності. Візьми з собою якомога більше!", + "quests.space_survival.solar_panels.task": "Будь-який перетворювач FE у EU", "quests.space_survival.stone_dust_centrifuging.title": "Гелій-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Клоунський газ", "quests.space_survival.stone_dust_centrifuging.desc.1": "Місяць багатий на &eГелій-3&r — ще один важливий ресурс, але він захований у камені! Є два способи добути його:\n\n1) Якщо ти ще не налаштовував автоматизацію центрифугування кам’яного пилу, ось короткий вступ: каменедробарка може виробляти нескінченну кількість Необробленого каменю, який подрібнюється в пил за допомогою дробильника, а потім обробляється в центрифузі.\n\nТут, на Місяці, анортозит, норит і фоноліт можна переробляти в нескінченне джерело гелію-3!", @@ -3537,7 +3586,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 буде конвертувати SU з ваших парових двигунів в електрику. Кожен паровий двигун + альтернатор повинен давати 1A LV! На жаль, альтернатори конвертують напругу у відмінну від GregTech систему електрики, тому вам знадобиться Енергетичний Конвертер, щоб перетворити її у придатну для використання LV енергію.", + "quests.steam_age.alternator.desc.1": "Якщо у вас вже є велика парова установка, ви навряд чи захочете одразу все зламати, щоб повернутися до котлів та LV парової турбіни. Натомість &3Альтернатор&r перетворюватиме SU від ваших парових двигунів на електрику. Кожен паровий двигун + альтернатор дає 1A LV!\n\nНа жаль, альтернатори перетворюють навантаження в іншу систему електрики (Forge Energy), ніж та, яку використовує GregTech (Energy Units), тому вам знадобиться Energy Converter, щоб зробити LV енергію придатною для використання. Обов’язково вдарте його киянкою щоб переключити режим з FE на EU.", "quests.steam_age.alternator.desc.2": "Приклад парового двигуна, що виробляє 8 ампер LV!\n", "quests.steam_age.packager.title": "Логістика Create", "quests.steam_age.packager.subtitle": "«У нас уже є AE2 вдома»", @@ -4168,7 +4217,7 @@ "quests.tfg_tips.scarlet_biplane.title": "Червоний біплан", "quests.tfg_tips.scarlet_biplane.subtitle": "Що за видовищe", "quests.tfg_tips.scarlet_biplane.desc": "&3Червоний біплан&r — це фінальне оновлення для &bЛітаків&r, що вимагає &6HV&r компонентів. \n\nВін містить &b27 слотів інвентарю&r, &a4 слоти для покращень&r, &c2 слоти для зброї&r, а також &4слот для прискорення&r, як і звичайний біплан. \n\nХоча він дорогий, &3Червоний біплан&r компенсує це підвищеною міцністю, збільшеною максимальною швидкістю та загальним стилем.", - "quests.tfg_tips.aluminium_hopper.title": "Алюмінієва воронка", + "quests.tfg_tips.aluminium_hopper.title": "Алюмінієва лійка", "quests.tfg_tips.aluminium_hopper.subtitle": "Такий легкий, що плаває на воді!", "quests.tfg_tips.aluminium_hopper.desc": "&3Алюмінієвий Хопер&r — це одне з двох фінальних покращень для &bЛітаків&r, яке потребує компонентів &6HV&r рівня.\n\nВін має &b16 Слотів Інвентарю&r, &a4 Слоти для Покращень&r, &c2 Слоти для Зброї&r, 3 місця для сидіння, а також &4Слот для Підсилювача&r — як і стандартний біплан.\n\nПопри високу вартість, &3Алюмінієвий Хопер&r компенсує це наявністю трьох місць та можливістю приземлення на воду.", "quests.tfg_tips.firmaciv.title": "Firma: Civilization", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 9f710a0e5..54fa6a131 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1111,6 +1111,11 @@ "item.tfg.bell_casting_mold": "模具(钟)", "item.tfg.rnr_plow": "铺路车", "item.tfg.cobalt_brass_wheel": "钴黄铜车轮", + "item.tfg.cellulose_matrix": "纤维素基质", + "item.tfg.smooth_endoplasmic_reticula": "光滑内质网", + "item.tfg.rough_endoplasmic_reticula": "粗糙内质网", + "item.tfg.alpha_keratin": "α-角蛋白", + "item.tfg.progenitor_cells": "祖细胞", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1200,6 +1205,26 @@ "material.tfg.cooked_mycelienzane": "1,3-菌丝烷", "material.tfg.iodomethane": "碘甲烷", "material.tfg.trideuteroiodomethane": "三氘代碘甲烷", + "material.tfg.lauryl_alcohol": "月桂醇", + "material.tfg.chlorosulfuric_acid": "氯磺酸", + "material.tfg.sodium_dodecyl_sulfate": "十二烷基硫酸钠", + "material.tfg.sodium_hypochlorite": "次氯酸钠", + "material.tfg.mutative_yeast": "突变酵母", + "material.tfg.proto_growth_medium": "原代生长培养基", + "material.tfg.fibroblast_feeder_cells": "成纤维饲养细胞", + "material.tfg.gram_stain": "革兰氏染色液", + "material.tfg.crystal_violet": "结晶紫", + "material.tfg.n_n_dimethylaniline": "N,N-二甲基苯胺", + "material.tfg.triglyceride_oil": "甘油三酯油", + "material.tfg.cholesterol": "胆固醇", + "material.tfg.butyric_acid": "丁酸", + "material.tfg.zircon": "锆石", + "material.tfg.silicon_tetrachloride": "四氯化硅", + "material.tfg.zirconium_tetrachloride": "四氯化锆", + "material.tfg.zirconium_oxide": "氧化锆", + "material.tfg.zirconium_bromide": "溴化锆(IV)", + "material.tfg.zirconium_diboride": "二硼化锆", + "material.tfg.boron_carbide": "碳化硼", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1487,10 +1512,24 @@ "tfg.tooltip.cooling_foods": "§b使你体温降低:2°C", "tfg.tooltip.cooling_foods_strong": "§b使你体温降低:10°C", "tfg.tooltip.warming_foods": "§6使你体温升高:4°C", + "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓", + "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓", + "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", + "tfg.tooltip.machine.coil_energy_discount": "使用§6白铜§7后的每个线圈等级可以减少§f10%§7的能源消耗。", + "tfg.tooltip.machine.bioreactor_1": "§7化学与生物学的交汇§r", + "tfg.tooltip.machine.bioreactor_2": "§7通过融合有机与无机成分制造合成生物制品§r", + "tfg.tooltip.machine.growth_chamber_1": "§7孕育新生§r", + "tfg.tooltip.machine.growth_chamber_2": "§7生物工程的全套解决方案。§r", + "tfg.tooltip.machine.evaporation_tower_1": "§7请勿与蒸馏塔混淆§r", + "tfg.tooltip.machine.evaporation_tower_2": "§7通过去除多余溶剂来浓缩溶液。§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7打造工厂化农业的真正含义§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7利用水培育树木、作物及其他植物,可通过肥料加速生长。虽消耗能源,但比其他种植方式更快速高效。§r", + "tfg.tooltip.machine.cooling_tower_1": "§7给空气加热§r", + "tfg.tooltip.machine.cooling_tower_2": "§7通过向空气散逸余热来给热冷却剂制冷。§r", "tfg.tooltip.obsolete.depreciated": "§c已弃用,无法再合成", - "tfg.tooltip.dna_syringe.empty": "一支空注射器。", - "tfg.tooltip.dna_syringe.dirty1": "一支使用过的注射器。", - "tfg.tooltip.dna_syringe.dirty2": "注意不要用它刺伤任何人...", + "tfg.tooltip.dna_syringe.empty": "§7一支空注射器。§r", + "tfg.tooltip.dna_syringe.dirty1": "§7一支使用过的注射器。§r", + "tfg.tooltip.dna_syringe.dirty2": "§7注意不要用它刺伤任何人...§r", "tfg.tooltip.dna_syringe.full": "DNA样本:", "tfg.tooltip.dna_syringe.explain": "右键点击生物获取DNA样本。放入合成栏可清空其内容物。", "tfg.tooltip.shift_hint": "[按住Shift]", @@ -1518,6 +1557,7 @@ "tfg.gui.rnr_plow.random_mode": "随机材料", "tfg.gui.rnr_plow.width": "路径宽度:%d 格", "tfg.gui.rnr_plow.empty_crushed_base_course": "§c缺少碎石基层!!", + "tfg.tooltip.progenitor_cells.mob": "动物培养:", "tfc.jei.flint_knapping": "打制石器", "tfc.jei.straw_knapping": "编制干草", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", @@ -2133,6 +2173,8 @@ "quests.extreme_voltage.martian_sludge.desc": "对六氟硅酸进行离心处理可回收氟,同时获得&6火星浆液&r——这是制备氡气与核废料的必需材料。", "quests.extreme_voltage.large_generators.title": "超高压发电", "quests.extreme_voltage.large_generators.desc": "各种单方块发电机的上限只到HV,自此往后你必须采用多方块结构来产生更多能量。EV阶段两个最好的选择是&d大型燃气涡轮&r和&d大型内燃机&r,请移步格雷科技能源章节了解详细信息。", + "quests.extreme_voltage.large_centrifuge.subtitle": "材料旋转木马", + "quests.extreme_voltage.large_centrifuge.desc": "&6大型离心机&r是你裂变生产线中必备的多方块结构。\n\n它最多支持&52个EV能源仓&r,能够以与电力高炉相同的机制处理&1IV等级&r的配方,因此操作逻辑会让你感到熟悉。\n\n该设备拥有两种运行模式:&b离心&r与&6热力离心&r。你可直接在控制器界面切换模式,但暂不支持通过AE2或其他自动化系统远程控制。\n\n此次升级将使你的&a矿物处理&r速度实现质的飞跃。", "quests.gregtech_energy": "格雷科技能源", "quests.gregtech_energy.subtitle": "这一切到底是怎么工作的?", "quests.gregtech_energy.start.title": "让我们做些解释", @@ -2446,7 +2488,7 @@ "quests.high_voltage.steel_engine.subtitle": "蓝钢回来了,宝贝", "quests.high_voltage.steel_engine.desc": "&6钢引擎&r是火箭&a前往月球&r的必备组件。\n\n配方难度适中——我们相信你已准备好应对每个环节。\n\n获取&91152mB液态蓝钢&r需要&78个锭&r。", "quests.high_voltage.rocket_fins.subtitle": "这样你就能到达正确的目的地", - "quests.high_voltage.rocket_fins.desc": "我们让&6火箭尾翼&r使用&b合金炉&r制造,只是为了提醒你现在已可建造&b工业熔炉&r——这台精巧的电力熔炉既能充当&e熔炉&r,又能作为&b合金炉&r使用。\n\n其制作任务位于&bMV&r章节。若尚未建造,我们强烈建议你认真考虑这个选择。", + "quests.high_voltage.rocket_fins.desc": "最初我们让&6火箭尾翼&r使用&b合金炉&r制造,只是为了提醒你现在已可建造&b工业熔炉&r——这台精巧的电力熔炉既能充当&e熔炉&r,又能作为&b合金炉&r使用。\n\n相关制作任务位于&bMV&r章节。\n\n现在我们将该配方调整为组装机制作,毕竟\"火箭尾翼\"本质上并非合金。", "quests.high_voltage.rocket_nose_cone.subtitle": "鼻锥自有答案...", "quests.high_voltage.rocket_nose_cone.desc": "&6火箭鼻锥&r是整个火箭制造中最复杂的部件。\n你需要准备大量&a聚乙烯&r——希望已实现自动化生产——以及一个&6HV发射器&r。\n你应该能够通过电解&c红宝石粉&r获得&d铬&r。\n\n&a玻璃化末影珍珠&r的制备更为棘手,需要你先完成由&6HV化学反应釜&r解锁的任务链。\n请准备好制作&cTNT&r、搭建&5聚爆压缩机&r,并人工合成末影人掉落物——因为在&2群峦格雷&r整合包中无法自然获取末影珍珠。", "quests.high_voltage.launch_pad.subtitle": "发射准备就绪,倒计时10秒…", @@ -2767,7 +2809,7 @@ "quests.medium_voltage.mv_miner.subtitle": "所以你自己挖矿挖烦了?", "quests.medium_voltage.mv_miner.desc.1": "当这位&r好心的帮手被放置在矿脉上方时能替你采集矿石。\n\n矿机下方的垂直范围无限,水平范围显示在提示信息中。\n\n&bMV&r型号可能不足以覆盖整个矿脉范围,但&6HV&r型号可以做到,因此建议你暂时等待后续型号。本任务只需获得&e任意一种&r型号即可完成。", "quests.medium_voltage.mv_miner.desc.2": "你将需要&9电力&r。&a充电电池&r或许能应急,但容易耗尽电力,操作起来不太方便。\n\n我们首推使用装有某种燃料的&3桶&r&7(若使用蒸汽则行不通!)&r配合&3发电机&r使用。\n\n将桶放置在发电机上方,用&5软槌&r右键即可自动将燃料输入发电机。", - "quests.medium_voltage.mv_miner.desc.3": "&c注意:&r不要忘记对矿脉所有&d9个区块进行区块加载&r&7(打开地图,按住Ctrl+左键点击申领区块,申领后启用强制加载)&r。\n\n&9提示:&r可选择使用&3ME箱子&r或&3格雷机械&r作为输出容器,便于将矿石运回基地。&3ME箱子&r可直接通过EU供电,但短期内还无法实现。", + "quests.medium_voltage.mv_miner.desc.3": "&c注意:&r不要忘记对矿脉所有&d9个区块进行区块加载&r&7(打开地图,按住Ctrl+左键点击申领区块,申领后启用强制加载)&r。\n\n&9提示:&r你可以选择使用&3ME箱子&r、&3背包&r或&3格雷板条箱&r作为输出容器,便于将矿石运回基地。顺带一提,&3ME箱子&r可直接通过EU供电。", "quests.medium_voltage.mv_miner.task": "任何采矿机", "quests.medium_voltage.mv_component.title": "MV组件", "quests.medium_voltage.mv_component_.subtitle": "是不是受够了在上个阶段合成这些东西?", @@ -2802,7 +2844,7 @@ "quests.medium_voltage.mv_batteries.desc": "&bMV&r电池能满足你的电能缓存需求,其功能与&7LV&r电池相同。\n\n制作成本中的&a钠&r、&a锂&r或&a镉&r粉末用量跃升至8份,因此建议选用库存最充裕的材料——毕竟不同材料的容量差异并没有&7那么巨大&r!\n\n完成本任务只需获得&e任何一种&r电池即可。", "quests.medium_voltage.mv_steel_alloy.title": "钢合金", "quests.medium_voltage.mv_steel_alloy.subtitle": "钢铁雄心", - "quests.medium_voltage.mv_steel_alloy.desc": "钒钢在发展进程中仅需少量使用。若用于制作格雷科技工具,其耐久度&6接近钢材的四倍&r。钒元素源自&a钒磁铁矿&r,你可能在磁铁矿脉中早已遇见过。\n\n其他钢材合金还包括蓝钢、红钢与黑钢!\n\n免费领取些蓝钢吧——它的耐久度是钢材的两倍。", + "quests.medium_voltage.mv_steel_alloy.desc": "钒钢在发展进程中仅需少量使用。若用于制作格雷科技工具,其耐久度&6接近钢材的四倍&r。钒元素源自&a钒磁铁矿&r,你可能在磁铁矿脉中早已遇见过。", "quests.medium_voltage.pyrolyse.title": "热解炉", "quests.medium_voltage.pyrolyse.subtitle": "热分解", "quests.medium_voltage.pyrolyse.desc.1": "&3热解炉&r是&3焦炉&r的电力替代设备。它既能像以往一样生产&9焦炭&r和&9木炭&r并附带&9杂酚油&r副产品,还额外产出&6有机副产品&r,其中最具价值的是&a木焦油&r。\n\n另一项产物&a生物质&r则与你当前的进程更为相关。", @@ -3272,6 +3314,7 @@ "quests.space_survival.solar_panels.title": "太阳能板", "quests.space_survival.solar_panels.subtitle": "赞美太阳!", "quests.space_survival.solar_panels.desc": "月球上可用的能源非常少,但这些&e太阳能板&r在这里可是拥有观赏太阳的绝佳视角!\n\n在月球上,每个太阳能板在白天提供相当于&932EU/t&r的能量,无需燃料或维护,但若将其置于地球表面,发电效率仅剩八分之一。带上一大堆吧!", + "quests.space_survival.solar_panels.task": "任何FE->EU能量转换器", "quests.space_survival.stone_dust_centrifuging.title": "氦-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "小丑气体", "quests.space_survival.stone_dust_centrifuging.desc.1": "月球充满了&e氦-3&r,这是另一种重要资源,但它被困在石头里!有两种方法可以获取:\n\n1)如果你之前没有建设任何石粉离心自动化,这里有个快速介绍:碎岩机可以生产无限的原石,研磨机将其粉碎成粉供离心机处理。\n\n在月球上,斜长岩、苏长岩和响岩可以被加工成无限的氦-3来源!", @@ -3637,7 +3680,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电流!但需注意,交流发电机是将应力转换为了另一套电力系统,因此你需要通过能量转换器将其转化为格雷科技可用的LV电力。", + "quests.steam_age.alternator.desc.1": "若你已搭建了规模可观的蒸汽时代设备,大可不必为了改用锅炉和LV蒸汽涡轮而立即将其全部拆除。&3交流发电机&r能够将蒸汽引擎产生的应力单位转化为电力。每台蒸汽引擎配合交流发电机可输出1安LV电流!\n\n但需注意,交流发电机是将应力转换为了另一套电力系统(FE),因此你需要通过能量转换器将其转化为格雷科技可用的LV电力(EU)。记得用软槌将其切换至\"FE转EU\"模式。", "quests.steam_age.alternator.desc.2": "一个蒸汽引擎输出8安LV电流的示例!\n", "quests.steam_age.packager.title": "机械动力物流", "quests.steam_age.packager.subtitle": "“我们家有AE2”", diff --git a/kubejs/assets/vintageimprovements/lang/ja_jp.json b/kubejs/assets/vintageimprovements/lang/ja_jp.json new file mode 100644 index 000000000..80fafe676 --- /dev/null +++ b/kubejs/assets/vintageimprovements/lang/ja_jp.json @@ -0,0 +1,22 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.vintageimprovements.vacuum_chamber": "Vacuum Chamber", + "block.vintageimprovements.lathe": "&cDEPRECATED&r Lathe", + "item.vintageimprovements.aluminum_sheet": "アルミニウムプレート", + "item.vintageimprovements.calorite_sheet": "カロライトプレート", + "item.vintageimprovements.cast_iron_sheet": "鋳鉄プレート", + "item.vintageimprovements.cobalt_sheet": "コバルトプレート", + "item.vintageimprovements.desh_sheet": "デッシュプレート", + "item.vintageimprovements.invar_sheet": "インバープレート", + "item.vintageimprovements.lead_sheet": "鉛プレート", + "item.vintageimprovements.nickel_sheet": "ニッケルプレート", + "item.vintageimprovements.osmium_sheet": "オスミウムプレート", + "item.vintageimprovements.ostrum_sheet": "オストラムプレート", + "item.vintageimprovements.palladium_sheet": "パラジウムプレート", + "item.vintageimprovements.platinum_sheet": "白金プレート", + "item.vintageimprovements.rhodium_sheet": "ロジウムプレート", + "item.vintageimprovements.rose_gold_sheet": "ローズゴールドプレート", + "item.vintageimprovements.silver_sheet": "銀プレート", + "item.vintageimprovements.vanadium_sheet": "バナジウムプレート", + "item.vintageimprovements.zinc_sheet": "亜鉛プレート" +} \ No newline at end of file From b69645a263885d8239dc4a4f0bad5f9c6ac165ab Mon Sep 17 00:00:00 2001 From: Redeix Date: Sun, 16 Nov 2025 18:54:32 -0600 Subject: [PATCH 077/628] Food Update (#2223) * new food * Changelog * Removed venus requirement so players could craft cheese now * molecular diagrams --- CHANGELOG.md | 5 + .../customization/gui_loading_screen.txt | 143 ++++++- .../fancymenu/customization/gui_main_menu.txt | 4 +- kubejs/assets/tfg/lang/en_us.json | 33 ++ kubejs/assets/tfg/lang/pt_br.json | 33 ++ kubejs/assets/tfg/molecules/citric_acid.json | 195 +++++++++ .../molecules/sodium_dihydrogen_citrate.json | 227 ++++++++++ .../block/fluids/fluid.brown_gravy.png | Bin 0 -> 24426 bytes .../block/fluids/fluid.brown_gravy.png.mcmeta | 5 + .../block/fluids/fluid.light_stock.png | Bin 0 -> 26597 bytes .../block/fluids/fluid.light_stock.png.mcmeta | 5 + .../block/fluids/fluid.rich_stock.png | Bin 0 -> 29707 bytes .../block/fluids/fluid.rich_stock.png.mcmeta | 5 + .../tfg/textures/item/food/allspice.png | Bin 0 -> 406 bytes .../tfg/textures/item/food/bay_leaf.png | Bin 0 -> 339 bytes .../tfg/textures/item/food/brioche_bun.png | Bin 0 -> 444 bytes .../tfg/textures/item/food/brioche_dough.png | Bin 0 -> 347 bytes .../tfg/textures/item/food/cardamom_pods.png | Bin 0 -> 348 bytes .../tfg/textures/item/food/cheeseburger.png | Bin 0 -> 594 bytes .../textures/item/food/cilantro_leaves.png | Bin 0 -> 352 bytes .../cooked_beer_battered_cheese_curds.png | Bin 0 -> 4105 bytes ...oked_beer_battered_cheese_curds.png.mcmeta | 5 + .../item/food/cooked_burger_patty.png | Bin 0 -> 384 bytes .../tfg/textures/item/food/cooked_fries.png | Bin 0 -> 377 bytes .../textures/item/food/cooked_instant_mac.png | Bin 0 -> 3791 bytes .../item/food/cooked_instant_mac.png.mcmeta | 5 + .../tfg/textures/item/food/cumin_seeds.png | Bin 0 -> 416 bytes .../tfg/textures/item/food/hamburger.png | Bin 0 -> 515 bytes .../assets/tfg/textures/item/food/oatmeal.png | Bin 0 -> 324 bytes .../tfg/textures/item/food/oregano_leaves.png | Bin 0 -> 389 bytes .../assets/tfg/textures/item/food/poutine.png | Bin 0 -> 3970 bytes .../tfg/textures/item/food/poutine.png.mcmeta | 5 + .../food/raw_beer_battered_cheese_curds.png | Bin 0 -> 486 bytes .../textures/item/food/raw_burger_patty.png | Bin 0 -> 346 bytes .../tfg/textures/item/food/raw_fries.png | Bin 0 -> 379 bytes .../textures/item/food/raw_instant_mac.png | Bin 0 -> 361 bytes .../textures/item/food/slice_of_cheese.png | Bin 0 -> 469 bytes kubejs/client_scripts/tooltips.js | 12 +- kubejs/server_scripts/tfg/data.js | 189 ++++++++- kubejs/server_scripts/tfg/recipes.biochem.js | 1 - kubejs/server_scripts/tfg/recipes.food.js | 395 +++++++++++++++++- kubejs/server_scripts/tfg/tags.js | 176 +++++++- kubejs/startup_scripts/tfc/constants.js | 117 ++---- kubejs/startup_scripts/tfg/constants.js | 26 +- kubejs/startup_scripts/tfg/items.food.js | 151 +++++++ kubejs/startup_scripts/tfg/materials.js | 30 ++ 46 files changed, 1656 insertions(+), 111 deletions(-) create mode 100644 kubejs/assets/tfg/molecules/citric_acid.json create mode 100644 kubejs/assets/tfg/molecules/sodium_dihydrogen_citrate.json create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.brown_gravy.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.brown_gravy.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.light_stock.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.light_stock.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.rich_stock.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.rich_stock.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/food/allspice.png create mode 100644 kubejs/assets/tfg/textures/item/food/bay_leaf.png create mode 100644 kubejs/assets/tfg/textures/item/food/brioche_bun.png create mode 100644 kubejs/assets/tfg/textures/item/food/brioche_dough.png create mode 100644 kubejs/assets/tfg/textures/item/food/cardamom_pods.png create mode 100644 kubejs/assets/tfg/textures/item/food/cheeseburger.png create mode 100644 kubejs/assets/tfg/textures/item/food/cilantro_leaves.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_beer_battered_cheese_curds.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_beer_battered_cheese_curds.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_burger_patty.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_fries.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_instant_mac.png create mode 100644 kubejs/assets/tfg/textures/item/food/cooked_instant_mac.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/food/cumin_seeds.png create mode 100644 kubejs/assets/tfg/textures/item/food/hamburger.png create mode 100644 kubejs/assets/tfg/textures/item/food/oatmeal.png create mode 100644 kubejs/assets/tfg/textures/item/food/oregano_leaves.png create mode 100644 kubejs/assets/tfg/textures/item/food/poutine.png create mode 100644 kubejs/assets/tfg/textures/item/food/poutine.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/item/food/raw_beer_battered_cheese_curds.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_burger_patty.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_fries.png create mode 100644 kubejs/assets/tfg/textures/item/food/raw_instant_mac.png create mode 100644 kubejs/assets/tfg/textures/item/food/slice_of_cheese.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cd4b04af..caf5d0943 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,9 @@ - Added a little more silver to surface bismuth veins, moved apatite veins closer to the surface and with deeper indicators, increased deep sapphire veins' max Y level and added a rock type, and also added a rock type to deep magnetite's veins (all overworld only) @Pyritie - Buffed the amount of roof tiles from clay knapping (#2178) @Pyritie - Added sugar cookies, toasts, jams, pickled eggs, and butter to the meal bag tag, removed banana splits (#2129) @Pyritie +- Added lots of new food items including fries, burgers, oatmeal, mac and cheese, poutine, and more! @Redeix +- Added processed spices for firmalife spice crops (except cinnamon). @Redeix +- Reduced base food oven recipe time from 300 to 200 ticks @Redeix ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie @@ -35,6 +38,8 @@ - Fixed not being able to put Seed Oil in a Mixing Bowl (#2203) @slavek - Added missing items to the smooth stone slabs tag, cleaned up armor stand recipes (#2197) @Pyritie - Fixed milk curd recipes in food processor outputting rotten curds. (#2209) @Redeix +- Fixed missing nixtamal food processor recipes. @Redeix +- Fixed missing lang string from loading screen. @Redeix ### Translation updates - Russian @DI-GitH + @nineex + @alexart2006 - Brazilian Portuguese @Redeix diff --git a/config/fancymenu/customization/gui_loading_screen.txt b/config/fancymenu/customization/gui_loading_screen.txt index 9d21a75d8..06a59d906 100644 --- a/config/fancymenu/customization/gui_loading_screen.txt +++ b/config/fancymenu/customization/gui_loading_screen.txt @@ -3,13 +3,13 @@ type = fancymenu_layout layout-meta { identifier = drippy_loading_overlay render_custom_elements_behind_vanilla = false - last_edited_time = 1752899622608 + last_edited_time = 1763246081342 is_enabled = true randommode = false randomgroup = 1 randomonlyfirsttime = false layout_index = 0 - [loading_requirement_container_meta:5a04ea61-16dc-4ce3-b5f1-db096b50a05a-1752899545176] = [groups:][instances:] + [loading_requirement_container_meta:b25d78fb-bad6-4131-9517-ed77003190ca-1763246052248] = [groups:][instances:] } customization { @@ -55,6 +55,7 @@ element { nine_slice_texture_border_x = 5 nine_slice_texture_border_y = 5 image_tint = #FFFFFF + restart_animated_on_menu_load = false element_type = image instance_identifier = 22ec4f96-137c-48d9-ac6b-cb4f58e7a7821699231610566 appearance_delay = no_delay @@ -89,8 +90,8 @@ element { } element { - interactable = true - source = Tip: Read the Field Guide!!! + interactable = false + source = {"placeholder":"local","values":{"key":"tfg.gui.menu.field_guide_splash_text"}} source_mode = direct shadow = true scale = 1.0 @@ -155,6 +156,140 @@ element { layer_hidden_in_editor = false } +element { + interactable = false + source = {"placeholder":"local","values":{"key":"tfg.gui.menu.ram_usage"}} {"placeholder":"usedram"}MB/ {"placeholder":"maxram"}MB + source_mode = direct + shadow = true + scale = 0.8 + base_color = #b5b5b5 + text_border = 2 + line_spacing = 2 + enable_scrolling = false + auto_line_wrapping = true + remove_html_breaks = true + code_block_single_color = #737373FF + code_block_multi_color = #565656FF + headline_line_color = #A9A9A9FF + separation_line_color = #A9A9A9FF + hyperlink_color = #0771FCFF + quote_color = #818181FF + quote_indent = 8.0 + quote_italic = false + bullet_list_dot_color = #A9A9A9FF + bullet_list_indent = 8.0 + bullet_list_spacing = 3.0 + parse_markdown = true + table_show_header = true + table_alternate_row_colors = true + table_line_color = #787878FF + table_header_background_color = #323232FF + table_row_background_color = #282828FF + table_alternate_row_color = #3C3C3CFF + table_line_thickness = 1.0 + table_cell_padding = 8.0 + table_margin = 4.0 + element_type = text_v2 + instance_identifier = 86a4db70-075d-42a2-ba17-fa5d4dbaa06e-1763245386549 + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 2496 + auto_sizing_base_screen_height = 1419 + sticky_anchor = false + anchor_point = element + anchor_point_element = progress_bar + x = 264 + y = 12 + width = 192 + height = 15 + stretch_x = false + stretch_y = false + stay_on_screen = true + element_loading_requirement_container_identifier = 613c98a6-70ec-4662-9333-43a7f0ab1e14-1751008054758 + [loading_requirement_container_meta:613c98a6-70ec-4662-9333-43a7f0ab1e14-1751008054758] = [groups:][instances:] + enable_parallax = false + parallax_intensity_v2 = 0.5 + invert_parallax = false + animated_offset_x = 0 + animated_offset_y = 0 + load_once_per_session = false + in_editor_color = #FFC800FF + layer_hidden_in_editor = false +} + +element { + interactable = false + source = {"placeholder":"local","values":{"key":"tfg.gui.menu.fps_count"}} {"placeholder":"fps"} + source_mode = direct + shadow = true + scale = 0.8 + base_color = #b5b5b5 + text_border = 2 + line_spacing = 2 + enable_scrolling = false + auto_line_wrapping = true + remove_html_breaks = true + code_block_single_color = #737373FF + code_block_multi_color = #565656FF + headline_line_color = #A9A9A9FF + separation_line_color = #A9A9A9FF + hyperlink_color = #0771FCFF + quote_color = #818181FF + quote_indent = 8.0 + quote_italic = false + bullet_list_dot_color = #A9A9A9FF + bullet_list_indent = 8.0 + bullet_list_spacing = 3.0 + parse_markdown = true + table_show_header = true + table_alternate_row_colors = true + table_line_color = #787878FF + table_header_background_color = #323232FF + table_row_background_color = #282828FF + table_alternate_row_color = #3C3C3CFF + table_line_thickness = 1.0 + table_cell_padding = 8.0 + table_margin = 4.0 + element_type = text_v2 + instance_identifier = 212f299f-173f-42b0-be66-3c1cc155a7ed-1763245838831 + appearance_delay = no_delay + appearance_delay_seconds = 1.0 + fade_in_v2 = no_fading + fade_in_speed = 1.0 + fade_out = no_fading + fade_out_speed = 1.0 + base_opacity = 1.0 + auto_sizing = false + auto_sizing_base_screen_width = 2496 + auto_sizing_base_screen_height = 1419 + sticky_anchor = false + anchor_point = element + anchor_point_element = progress_bar + x = 264 + y = 22 + width = 203 + height = 15 + stretch_x = false + stretch_y = false + stay_on_screen = true + element_loading_requirement_container_identifier = 613c98a6-70ec-4662-9333-43a7f0ab1e14-1751008054758 + [loading_requirement_container_meta:613c98a6-70ec-4662-9333-43a7f0ab1e14-1751008054758] = [groups:][instances:] + enable_parallax = false + parallax_intensity_v2 = 0.5 + invert_parallax = false + animated_offset_x = 0 + animated_offset_y = 0 + load_once_per_session = false + in_editor_color = #FFC800FF + layer_hidden_in_editor = false +} + vanilla_button { button_element_executable_block_identifier = f3a70cd2-ecfc-4b6b-91cf-b88673431f32-1710837053334 [executable_block:f3a70cd2-ecfc-4b6b-91cf-b88673431f32-1710837053334][type:generic] = [executables:] diff --git a/config/fancymenu/customization/gui_main_menu.txt b/config/fancymenu/customization/gui_main_menu.txt index e61fe899b..5c9243b64 100644 --- a/config/fancymenu/customization/gui_main_menu.txt +++ b/config/fancymenu/customization/gui_main_menu.txt @@ -3,13 +3,13 @@ type = fancymenu_layout layout-meta { identifier = title_screen render_custom_elements_behind_vanilla = false - last_edited_time = 1759697550520 + last_edited_time = 1763246321798 is_enabled = true randommode = false randomgroup = 1 randomonlyfirsttime = false layout_index = 0 - [loading_requirement_container_meta:5de75902-4589-4c02-a443-487a6194d339-1759697516765] = [groups:][instances:] + [loading_requirement_container_meta:f89ba56d-3e0b-46b3-bef2-6e7ecabf2ff0-1763246081347] = [groups:][instances:] } customization { diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 6095af0f9..9b6b0b879 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -851,6 +851,27 @@ "item.tfg.food.cooked_cruncher_ribs": "Cooked Cruncher Ribs", "item.tfg.food.raw_dino_nugget": "Prepared Dinosaur Nugget", "item.tfg.food.cooked_dino_nugget": "Beer Battered Dinosaur Nugget", + "item.tfg.food.raw_beer_battered_cheese_curds": "Beer Battered Cheese Curds", + "item.tfg.food.cooked_beer_battered_cheese_curds": "Fried Beer Battered Cheese Curds", + "item.tfg.food.raw_fries": "Raw French Fries", + "item.tfg.food.cooked_fries": "French Fries", + "item.tfg.food.poutine": "Poutine", + "item.tfg.food.brioche_dough": "Brioche Dough", + "item.tfg.food.brioche_bun": "Brioche Bun", + "item.tfg.food.raw_burger_patty": "Raw Burger Patty", + "item.tfg.food.cooked_burger_patty": "Burger Patty", + "item.tfg.food.slice_of_cheese": "Slice of \"Cheese\"", + "item.tfg.food.hamburger": "Hamburger", + "item.tfg.food.cheeseburger": "Cheeseburger", + "item.tfg.food.oatmeal": "Oatmeal", + "item.tfg.food.raw_instant_mac": "Uncooked Instant Mac & Cheese", + "item.tfg.food.cooked_instant_mac": "Instant Mac & Cheese", + "item.tfg.spice.bay_leaf": "Bay Leaf", + "item.tfg.spice.cardamom_pods": "Cardamom Pods", + "item.tfg.spice.cilantro_leaves": "Cilantro Leaves", + "item.tfg.spice.cumin_seeds": "Cumin Seeds", + "item.tfg.spice.oregano_leaves": "Oregano Leaves", + "item.tfg.spice.allspice": "Allspice", "item.tfg.roasted_sunflower_seeds": "Roasted Sunflower Seeds", "item.tfg.sunflower_seeds": "Sunflower Seed", "item.tfg.sunflower_product": "Sunflower Cap", @@ -1131,6 +1152,11 @@ "material.tfg.zirconium_bromide": "Zirconium(IV) Bromide", "material.tfg.zirconium_diboride": "Zirconium Diboride", "material.tfg.boron_carbide": "Boron Carbide", + "material.tfg.citric_acid": "Citric Acid", + "material.tfg.sodium_dihydrogen_citrate": "Sodium Dihydrogen Citrate", + "material.tfg.light_stock": "Light Stock", + "material.tfg.rich_stock": "Rich Stock", + "material.tfg.brown_gravy": "Brown Gravy", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1457,6 +1483,12 @@ "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 4096 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.fake_nutrition_info_listener": "§7§oHold (Shift) for Nutrition Info", + "tfg.tooltip.fake_nutrition_info": "§7Nutrition:", + "tfg.tooltip.cheese_slice_microplastics": "§b- Microplastics: 1.9", + "tfg.gui.menu.field_guide_splash_text": "Tip: Read the field guide!!!", + "tfg.gui.menu.ram_usage": "RAM:", + "tfg.gui.menu.fps_count": "FPS:", "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", @@ -1538,6 +1570,7 @@ "tfg.food_recipe.smoking": "Smoking", "tfg.food_recipe.drying": "Drying", "tfg.food_recipe.freeze_drying": "Desiccate", + "tfg.food_recipe.deep_frying": "Deep Frying", "tfg.recipe.macerator_warning": "Only outputs first slot until HV", "tfg.grapplemod.repair": "Repair recipe, keeps your upgrades. §lNEVER combine two grapples or you'll lose ALL your upgrades!§r", "tfg.grapplemod.upgrades.maxlen": "Increases §lMax Length§r by 20, up to 200.", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 0344b0858..2881b2141 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -574,6 +574,27 @@ "item.tfg.food.cooked_stickastackatick": "Carraplato no Taco Cozido", "item.tfg.food.raw_cruncher_ribs": "Costelas de mastigador Cruas", "item.tfg.food.cooked_cruncher_ribs": "Costelas de Mastigador Cozidas", + "item.tfg.food.raw_beer_battered_cheese_curds": "Coalhos de Queijo Empanados em Cerveja Cru", + "item.tfg.food.cooked_beer_battered_cheese_curds": "Coalhos de Queijo Empanados em Cerveja Fritos", + "item.tfg.food.raw_fries": "Batatas Fritas Cruas", + "item.tfg.food.cooked_fries": "Batatas Fritas", + "item.tfg.food.poutine": "Poutine", + "item.tfg.food.brioche_dough": "Massa de Brioche", + "item.tfg.food.brioche_bun": "Pão Brioche", + "item.tfg.food.raw_burger_patty": "Hambúrguer Cru", + "item.tfg.food.cooked_burger_patty": "Hambúrguer", + "item.tfg.food.slice_of_cheese": "Fatia de \"Queijo\"", + "item.tfg.food.hamburger": "Hambúrguer", + "item.tfg.food.cheeseburger": "Hambúrguer com Queijo", + "item.tfg.food.oatmeal": "Papas de Aveia", + "item.tfg.food.raw_instant_mac": "Macarrão Instantâneo com Queijo Cru", + "item.tfg.food.cooked_instant_mac": "Macarrão Instantâneo com Queijo", + "item.tfg.spice.bay_leaf": "Folha de Louro", + "item.tfg.spice.cardamom_pods": "Vagens de Cardamomo", + "item.tfg.spice.cilantro_leaves": "Folhas de Coentro", + "item.tfg.spice.cumin_seeds": "Sementes de Cominho", + "item.tfg.spice.oregano_leaves": "Folhas de Orégano", + "item.tfg.spice.allspice": "Pimenta-da-Jamaica", "item.tfg.roasted_sunflower_seeds": "Sementes de Girassol Torradas", "item.tfg.sunflower_seeds": "Sementes de Girassol", "item.tfg.sunflower_product": "Chapéu de Girassol", @@ -763,6 +784,11 @@ "material.tfg.triglyceride_oil": "Óleo de Triglicerídeos", "material.tfg.cholesterol": "Colesterol", "material.tfg.butyric_acid": "Ácido Butírico", + "material.tfg.citric_acid": "Ácido Cítrico", + "material.tfg.sodium_dihydrogen_citrate": "Citrato de Sódio Dihidrogenado", + "material.tfg.light_stock": "Caldo Claro", + "material.tfg.rich_stock": "Caldo Rico", + "material.tfg.brown_gravy": "Molho Marrom", "ore_vein.tfg.deep_sheldonite": "Cooperita e Bornita", "ore_vein.tfg.deep_garnet_amethyst": "Ametista e Granada", "ore_vein.tfg.deep_garnet_opal": "Opala e Granada", @@ -1024,6 +1050,12 @@ "tfg.tooltip.wraptor_wool": "§7Colhido das penas de um Distráptor", "tfg.tooltip.wraptor_sugar": "§7Não pense muito a respeito disso", "tfg.tooltip.obsolete.depreciated": "§cObsoleto, não pode mais ser criado", + "tfg.tooltip.fake_nutrition_info_listener": "§7§oSegure (Shift) para informações nutricionais", + "tfg.tooltip.fake_nutrition_info": "§7Nutrição:", + "tfg.tooltip.cheese_slice_microplastics": "§b- Microplásticos: 1.9", + "tfg.gui.menu.field_guide_splash_text": "Dica: Leia o guia de campo!!!", + "tfg.gui.menu.ram_usage": "RAM:", + "tfg.gui.menu.fps_count": "FPS:", "tfg.gui.rnr_plow.random_mode": "Aleatorizar Materiais", "tfg.gui.rnr_plow.width": "Largura do Caminho: %d Blocos", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cFalta Camada Base Triturada!!", @@ -1094,6 +1126,7 @@ "tfg.food_recipe.smoking": "Defumação", "tfg.food_recipe.drying": "Secagem", "tfg.food_recipe.freeze_drying": "Liofilização", + "tfg.food_recipe.deep_frying": "Fritura Profunda", "tfg.recipe.macerator_warning": "Emite apenas o primeiro slot até HV", "tfg.grapplemod.repair": "Receita de reparo, mantém seus aprimoramentos. §lNUNCA combine dois ganchos ou você perderá TODOS os seus aprimoramentos!§r", "tfg.grapplemod.upgrades.maxlen": "Aumenta o §lComprimento Máximo§r em 20, até 200.", diff --git a/kubejs/assets/tfg/molecules/citric_acid.json b/kubejs/assets/tfg/molecules/citric_acid.json new file mode 100644 index 000000000..5e93b7e69 --- /dev/null +++ b/kubejs/assets/tfg/molecules/citric_acid.json @@ -0,0 +1,195 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "right": "H", + "index": 0, + "x": 4.3302, + "y": -1.5 + }, + { + "type": "atom", + "index": 1, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "index": 2, + "x": 2.5981, + "y": -1.5 + }, + { + "type": "atom", + "index": 3, + "x": 1.7321, + "y": -1.0 + }, + { + "type": "atom", + "index": 4, + "x": 0.8661, + "y": -1.5 + }, + { + "type": "atom", + "index": 5, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 6, + "x": -0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 2.0321, + "y": -1.916 + }, + { + "type": "atom", + "index": 8, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 12, + "x": 0.8661, + "y": 0.5 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 9, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 1, + "b": 10, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 8, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 12, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sodium_dihydrogen_citrate.json b/kubejs/assets/tfg/molecules/sodium_dihydrogen_citrate.json new file mode 100644 index 000000000..55da9e254 --- /dev/null +++ b/kubejs/assets/tfg/molecules/sodium_dihydrogen_citrate.json @@ -0,0 +1,227 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "right": "H", + "index": 0, + "x": 7.4212, + "y": -0.55 + }, + { + "type": "atom", + "index": 1, + "x": 6.5551, + "y": -0.05 + }, + { + "type": "atom", + "index": 2, + "x": 5.6891, + "y": -0.55 + }, + { + "type": "atom", + "index": 3, + "x": 4.8231, + "y": -0.05 + }, + { + "type": "atom", + "index": 4, + "x": 3.9571, + "y": -0.55 + }, + { + "type": "atom", + "index": 5, + "x": 3.091, + "y": -0.05 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 2.225, + "y": -0.55 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 5.1231, + "y": -0.966 + }, + { + "type": "atom", + "index": 8, + "x": 4.8231, + "y": 0.95 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 3.091, + "y": 0.95 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 6.5551, + "y": 0.95 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 5.6891, + "y": 1.45 + }, + { + "type": "atom", + "element": "O", + "index": 12, + "x": 3.9571, + "y": 1.45 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Na⁺", + "color": { + "color": -5546766, + "optional": true + }, + "material": "gtceu:sodium" + }, + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 9, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 1, + "b": 10, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 8, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 12, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.brown_gravy.png b/kubejs/assets/tfg/textures/block/fluids/fluid.brown_gravy.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7aebcccca240959865faa66e7ba14551d54b31 GIT binary patch literal 24426 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
{)Nx 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⋘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 W1>%a+4Hy_07(8A5T-G@yGywo!zMkL! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.light_stock.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.light_stock.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.light_stock.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.rich_stock.png b/kubejs/assets/tfg/textures/block/fluids/fluid.rich_stock.png new file mode 100644 index 0000000000000000000000000000000000000000..aab25e25f8b150f17c3a969ed46a789d37d28351 GIT binary patch literal 29707 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 Z>U7y>m-8`fDFXuogQu&X%Q~loCIEhm&Cvh= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.rich_stock.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.rich_stock.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.rich_stock.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/item/food/allspice.png b/kubejs/assets/tfg/textures/item/food/allspice.png new file mode 100644 index 0000000000000000000000000000000000000000..1ece22c99717eeb991816ecb43a9dbe652212750 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7V?A9QLo9mlPV)C=3KTh7 z@8$B}M6^xK$y1`8t9WUngzl{`l1+AT7t$w`1#vIz4V+{g)||9h)9Pn_+V`j{HX`PF zi+AsSKCk#)Z9Dt_^?IeTF|T$-OxtgCdyZDu3Gt#j?K~dk2ai8yh%m@U8(4&j6fRk1 zV{0SS+j3I8sK>_NVx9Lxhjjnj@dj}_9$0Q*J(9vgo>UM3Nv%7@*jMZ3*!t1VUA zp*KyX&|GGj{mcuiqAk{0&p&u$w%5j+c?<$KIT$bemttPf=5)l&d}qDkj@Mo{J ztq*Rgvba34q%ZgXlf-S(EcUZ+L|fmndN(H`?!&z`>d%0`Lv$wPt0d0O)B(Va)sqwiA%Y~jM=)eCwHi&iT|1Vi|xk!=@m)wPn{ST7#KWV L{an^LB{Ts5FS)2B literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/bay_leaf.png b/kubejs/assets/tfg/textures/item/food/bay_leaf.png new file mode 100644 index 0000000000000000000000000000000000000000..ded897a5c993312b4fcebda2eec31096ae857974 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7r9536Lo9liPB!#nb`)vb zKea?jh0Rn!QMn~oCA7@(rc+0&!0d(xtb3X^eqoAB@a|7Yea?6jp1xx z&tsZ<8=aeUb_B2d^zmM~v?7<&N{5EUVePLimTlYVXXM43`%Y-F!j$86uJ8F53G*_4 zX?M1**K-sLJ9ppy^PJ74Eh&2h;^vg|q&NIt9)9?4Mu5)Lr9#_h`JUSq{=+F^?pn@o z<=c1mDf!5;A8M~^>bP0l+XkKmPCs` literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/brioche_bun.png b/kubejs/assets/tfg/textures/item/food/brioche_bun.png new file mode 100644 index 0000000000000000000000000000000000000000..975b0d1b2b048a14cbeaf8e1ff4e41af9e9a7bf2 GIT binary patch literal 444 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7n>}3|Lo9l)PTK8#I6>rS zz1h_O;Uz~F{$SW>=de)0Zr6(i-L8V{M?DJ*gbrT3YrpV;k`jksso+6Jk&q3|N3SOo zehk#*+uE@-BdNpm$U>7XQggog+%Ml>t@pg{`GNiJGlLE9ERSFiH}{slU=8;cv_C}rm{iU(`|LK0`G#?Y;5&Bb4)LdUBoI{C8fV%)ohkOKR<8r*O7dr zr*=L!=QjVLzm~G{nMKQ7Y!(XoXR!PcTDX8|qI3i?9Ju_{c=^gXzB&ot zRe~?Q*W0JkAC@UKN4;{(sn567ZB3sxxa2o`tX3+RYnU0z(zo8{xxK)<^OaWJ3yv@1 zS(_6W_;AsF-?X0w&TG$4p8lVAo9<=1i?d#SRjPDdHGA)j-q?<*MmL*fuWV_1Gx>(? zNdfcUrfW zy9sEg_LPg-im`6!Jla^~leF=At4N*tKiL|_7W*j{2R66cFfcGMc)I$ztaD0e0svf? B!>#}T literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/brioche_dough.png b/kubejs/assets/tfg/textures/item/food/brioche_dough.png new file mode 100644 index 0000000000000000000000000000000000000000..030a8abca4eec38991839424959dea5015e3a6ea GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7l{{S>Lo9mFPB!#D>>$xL zzoU7k^74U_(^}^puAH8;x-K3wyRh)7 z%q;80oTV=oyf67)`2O(sz4GaA-bS5S+`9A5f2IvH!q=Ft3Yt6r$mVtSckHE%8Bayn zTQog2I?}Z7I-5gDPR(|0#<+MVUZX2wS-q>)$j__2m^87GLBwnIoHz2>9p@aj|C(sy zcZR{WSor=&h8@{=&z(>Z3s~WxGhwk@phUnXt(L~q22usZmAnUjN88IQxZ5tea)v>> z@3?`~11q`c+hTc_JlP)Xj_p~>+x6^A+`XAjZ&;?J{}WR>aBG()qu=@4CpNf>uyypU z?G-<(&7k(!vy3}a^TPSc%g65UOu1D3&$s@+xE-Uzjb<^np6!AR3=9mOu6{1-oD!M< D7b2Ja literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/cardamom_pods.png b/kubejs/assets/tfg/textures/item/food/cardamom_pods.png new file mode 100644 index 0000000000000000000000000000000000000000..12c688141a8eabfbcabbd23721dccb69580b55f6 GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7l|5Y?Lo9liPTuQ%*g@i0 zy}15@;N2OTu`F+&Tu8FAdU<1Ga=X=UcFXSSV?Db{H(zLq7FZMERN(n++CEvQzM8E| ze)zF}w>xhuKWEoYi--1$`&oH@OQe^G|XhKD0wt)FTcLWcK?Gf zIZXkt1WRst&H2a@=~wx^X3o5`*S{~D*W?#{vfzsAv|t-^#`9vY@A$11u)Y5LjmYOu ze~M41H8TaYXI+uXoU46H*Hwi3Y}=_uUdL@x9zHOO<;nm%>UNUhTJ5 z9IYSxz4mEyE|8H>S(w@TM)~5=r>mAab7j>ptKH0eL8ZFY@8XAS1_lNOPgg&ebxsLQ E03H{aEdT%j literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/cheeseburger.png b/kubejs/assets/tfg/textures/item/food/cheeseburger.png new file mode 100644 index 0000000000000000000000000000000000000000..9a559da47c966bc977e1418201bc84328593d928 GIT binary patch literal 594 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!toBt2amLo9liPWJbhTqtwQ z{&VTRv)^66?c+RrC8=IUgkx%0iyYS}gEh^vWg2W{T?%Y&;)*M}W%qEzsO zIU{3%%OcC9)qKXwH>L1pd%Y`N_w&h&tF&Dm^Nii4#*X{YdZDOex~NPyI#~42w%Q=Xl}RF^4TIG zvt6`uFTJ@H|68`G(IeIF=erlL@3d~&bKvBC&P~glEV2apq)c{;tebN+QAI6I#c0|l zv1w}am^R4WO0b)ER`7pPjb3Cx{LKB4bLEcRE$qMgGSO_?cZ=Y3R*_qMCo4)jJuV$t z?OpRDY1(;*sJMi`k2zl6l(d?^chRa~Z9il;?YNufzVWoo zw;P6Ybx&N?iVn{AP~{0}KlCGJQo$94sbyNqw{gJhY{`mE&Wm?XUAOIgN^fjmm2^hT@5ZQj@A&szwcoEY zaqr}bxoPpdHed4hmw7jWL>d|w+6GlVS-F*CdR6lrqwU_C4!oam^wDWKL9U7x@5`;; zms^7`w*+5yNjjuHXO@~1V?PJ0jnaSjs4iEAye-!X9)*b)ZS_i1cdaU8Yj8gw&hX;B zeS4^7%kK0`NsJyoKUx+iUkTD-`On6AivM!sNA~$=uJ}K7-_pUrz`)??>gTe~DWM4f DAU_m5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/cilantro_leaves.png b/kubejs/assets/tfg/textures/item/food/cilantro_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..86192f2980ff16d7e9275041b75ebe5b3761b200 GIT binary patch literal 352 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/cooked_beer_battered_cheese_curds.png.mcmeta b/kubejs/assets/tfg/textures/item/food/cooked_beer_battered_cheese_curds.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/item/food/cooked_beer_battered_cheese_curds.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/item/food/cooked_burger_patty.png b/kubejs/assets/tfg/textures/item/food/cooked_burger_patty.png new file mode 100644 index 0000000000000000000000000000000000000000..caf88a93dee333ed781effa50b0ce615991277df GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7-923#Lo9mVPTK3u#3*sB zewwS}EXmfE;M|J>rY29MT76wvb$LCby+zJ`_21&+W+rhXz}v*M<&lz;W5=}eMX7Zc z?uNRkrC%4AvHZHcz?Yo&hkx7Hyl4MYIittp{Dm1|(Z{FSFdY0H;=KQ+$Bk=257gq* zj@hz1e0np3aksF;>3w?@P6Sa^k6}{>#*sZ=4k+ zc$7t~yVP56Z@#(84j=CwGG^acTbs9*{#mG@X~@!G{$TN@&HJLwneBw?E z+nYIam`Dw7!&ELycfem#Rs zUXIWi%{j-`^$4d-Vq(zlmW$zw{(ETk%B+Rf-u2UCnPsMUswQ@8`c=|IJRWV6dOf6n>|nx|r#2K;zM+irkr}*5@!W+6SE z!~atwPfWUcbLoTG70HJ_y!c}zvz9m5@IzG8(KBBpzRb;KaCmtjO^G@2$6C#{L-LL9 zBliA3kfJ5Y$ZCJc@;{DypH=b*6 hxViL3IPCGVbifF0VHPcyYrH!tk`?mxq_J(9; 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 YW~_V4yX@g31_lNOPgg&ebxsLQ0M@YX5&!@I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/oatmeal.png b/kubejs/assets/tfg/textures/item/food/oatmeal.png new file mode 100644 index 0000000000000000000000000000000000000000..517149f32617267f9392fcbae495c05bf79a7dee GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7xjkJRLo9mVPB8R#Dik?d z?{pzdFU@SlPnRZ_s6(zFl&`2+srC7pev!N*Rds<~qsZ7@P$?^bsq=*D+lxUf^ErYl zTo2|})yLThM=dqJTm9gV#rH$|m#r!+)2Qd0o4&bdmd~l|_kk`hUmi^h;VV;}dO_{b zvpL>c3q9`}RJ4tF=|V zQ!_-?+aF1KJhObUyPhn&fb^q6rZ+pc#0RXMc33d#tJJlRs_viTPwlU-EM_({zs9&@ zU#9<`^OMfAA2?ugmqA)6{_>T)+8QPUnaEScZLti`HE(4FR34sq^ngiy$bV4-zD=fb da};ZtMMblGi=0v)GcYhPc)I$ztaD0e0s!&jh1mcA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/oregano_leaves.png b/kubejs/assets/tfg/textures/item/food/oregano_leaves.png new file mode 100644 index 0000000000000000000000000000000000000000..52bb44f27d0401bb61beee9cd33083ee0ad50aeb GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7eLP(pLo9liPTcS96ex4l zUSG~JAV5LMq{V9M4wIwKGLtx@Z_Uqp`|y(dg)35Td3jB*E0{c)@hHHVPckGx>xJt) zr!Iv{xhsBG?UUy$UH1F$z2CO?i_f*zI|a9I-K)Fu-1g()v;G(Bm!wZT>B{(`jED0> zQJwKrkMG&b&RA@n#JWuJu1en0U7KH&@ytA{zGA9Q+un;TnP*I%1Z5lyt1K&dAF6Om zjMp&XhP2^!i_@2r@5-HfCd^=R7r zem1*t*M^CHUZxxsYksz^*syuG(p1xn|0ceTd88PiS#JHlBdpbWL3|DGpL3Gm3)I9_ zH%hu~(LL3=Q7y`sk8iS3$AK^bW8Rr3U3czV;r~NN{8*I5Cozu%@8ad}zwF$%_H;qY w%+r$-w1XEil_nos|C0S;*1yW1>wmE5G<30?DD`z>U|?YIboFyt=akR{0H)!sEC2ui literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/poutine.png b/kubejs/assets/tfg/textures/item/food/poutine.png new file mode 100644 index 0000000000000000000000000000000000000000..7cea2151be0fb353ff73005790434ea03d5c4d07 GIT binary patch literal 3970 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU}fN7V_;zLlf4wnz`*b6>EaktG3V{v`ht+F zqR02^M|x$t@JQgI+#ogA<-rpk=trg9x_E2ml&(vRa~J-b z#dyo=v3yiPN>}1^k3WIxV(d9HxHM)4F6sNEy!BGcvb#EkoU`xVwx9IPz9bhEcW|I(J035?>-lNr8L zN*0P6%R+_@#sj~u zPqz3lr|sJ}l}UeVPpJ7PZul+0W|YZr;PLl$3=BSd3zU+Y|GR#AasR`|{rhcx3I4jB zpHTeHu0wm@w8OpALl@dlb*z6SBUk^{cgvk!98s-ppI04w_{dw|%~h@Q>w0xYhW|hI z#9wB35FMi+R?#(ZLgsbw|m`is@`!O+8 zRaLw5zHnoB(DnWd1B1=~)9aI7w#6|xyz;qK@yd4Z-eY%l?>F7O(35{f;{DQdOJuwH z)?Yk3L9gs6lUSJx8mAbDi|1C&o#$JM}K^H@9q)iM~!;~ zKga7A`l#)mctD7Ye@V}bN`sOYifIy_Wk!1M&U8)u{NQTu>ZZ>L7cW(D%BjR1xVF6P z!HIokj~LxI9#Fk9^F?{DHouebBgT&n6#*PVT>MTS!<3#fn#U#dn6mVVr^OX>`@MS~ z@cf{z{l2*s4mKJBC%O4sWO_C}bbK^%>cyx0?_xHKiEcf8^>1^`np+PXSq;uKXFvN? zIpG}7qmR|$3v#oy?cU~0J|i!{@72oQSU0zO2D=-VOG53zl{Sl}RHQ5w)HgUL6|rgZ z$94Kla#zkod)P31RH(Pv5Wi;6tIYbh=DoTO7fo~%17F)Ur{B+>Y{x#Qa3Uu{F=3ct=~sEo(q5}SI;_56P<@fV;MwNy zo$N=|8^iuEeROcEseGV5?_c9>k#8cPRFdv7UFj*~f&gBT%7aa@NsjNM7%gPEs%gCKHM3v( z>9X_}^CQL`T}$;|?QTER(0L_{`9{Tq6%%BH$z+6W6IyU z99j2Ec0T*v*y_2jx$nwL+swGVh38Gv>rQqBIT!uPr;X{hlRD-LINDu2$Glf>Vugdv z1C43BTEvVs)|*THmzcq>7cKNt{B~2%5oK-e3-%XY^D}*H_{4sMIg#_~+wZ&g-Kh{* zy)wV1`t#pHV}1sn&kw$C<&LQT&70$W*{AH;=Gr&)@^2Dezgl(knDp{Z|M=t6PV&d6 zMbApx^krpv#IqxLZZ-;XB0B{5JJ^pjPZC~QrLsGT@q>dx{R5K=yN%anMkQTeTzzjvSR!#U9yq>+P8ndVSe-SmuAl2rjt3bv8LVj zcg|e98frYv>Wqf zAEX;s8zmohpX2$FLEZ*}d3-|c^}#=c_H(e3}6cE(G8Y^YFBz4Ti; zbqZs?98bJ}DZh-o>zGi=Z+8A#i{)q9TLVc3IU4b^so++~8#mlx7FnesRdvElyX<>?ed}PIc zCQ#Y8>(LDz30D3Vw}tOkwj5%9_{-%HZd|7#TBXZd9;$e*C`s(gD5 zcbW4M=G7Hv+3){pd{gH7GSKDDdD9j34mJvMQv~?`)Wt0Q)YF4K z?fzxdw&-DF)}8?4{KO3v4=+ToT_I)OSi$hf@rez`8+n#<@;|<%GhN_#a@&4})$25w z%H4Or)}+SE>BN=xr~hY7l=GRtU*Nd4bq6Rz&GY|KW1zJ3xDj95g*J}Wk38%GZ`udE zJ04_Vv!J4}VuAM)n-07Bgz&IOjT@K}*4lGinZL5-n)o)mt<3J5ZY#j;(x>x4YZ@E> zmKfHL3`dw_UDPIplqM|r)A;3^%jwt@?zzn$9d^!No%z2>ir?qA_z8OjxfZ>JZ_2~g zxeNWQoE{f1AjR6x{-`VQOSxS2|Aq<&8w2kbn*%lL6-wu6z0bQ8dihyy#3dUB0l)p< zgB~5s&R_KOn(GBE6Ht}tp;C~WwBo0WIp=)#U#{P37Jc}v!6+9~a?~be^74j*n?W98 zc>VwXDNoDw*Bz#O^_cj&aWym6wWXRoD~=U;lh*UQCIn z&F__6PcYkpb7G06kDSG_t!M7)bZOZL6zjQ}*|tRYhaCAmvxEKUIp&KI2Y(v` z%`U2YJ+-oX>Y>uEy4Bn4>N@I`BW4|YVux#I^bx(LF8~knl zIMuM^ZKm;~)>GWiO~eB0mt}6wJLWH!VRX(}QBHt=PsM}R2|IdEU2h2Aci>Mx>oMlN z@w0jOb^aZkdimbwBiymow{(6s-~az&_QyXz*^e|Ydfs?uS5x_BAjeZ8IeJL;3GY$S@m zWeYz$D9)VT$*$~VBOvnV;D(NG$%XfJnp6m!`p5c+@#BHBSHq<`YeSx%Y1YYlQfV+l zHmF;?M2^KuzOy1A%%;Hf!Plsh6QWBO1h6qbsMh_*_UT~rjL5>@i={uD+PwSX)s0&7 z&OSR(bpLol+4QCNf8U<{zCXVFt;_eXt?$5nD19mrqrJJ(cz}Y3L60~iw^d~Ha~uq zi$6Rd&FTH$4OAqEIG=JmHjRB+jnc=4iUWZw7^)ir!qA^E2j~q(<(6G>;W`7YXp|aB0~*kSwuvI5^8+ z##Z0g-)%>q!?yTnXrExp@2$04D*a>>OKKy&;rRM^dw;b8_ zENa^CFRTW~u2fFw4i)BiuqhCoy27?#&w~nsI}Fj=_D;(4SYkG@!r}Ma-u?u!M~)|K z1PsMyusi*0yt~05;fNbYhJ}=D&mj1Lb*;gxWCSGrQxT=9dh8(Rw8_Yxi+-Jj^^}YO;y-q)qSB zKg}UrFYZcSH_?6gOupk|L-D>%GW>nAQyx2N{1xwDKf=8Ix=rUC_Q?!BGC$uxwsF4q z&(UA|aI1aE75R!@j}>t@|KuF`#Qri_XSP-D6aG!_|9TmL%a;>g2R|eTHQ1eQUGv5~~^);@pZ;SHfZoHlda+>BzYyOto>N`3$_!sOK zGfI$nbVd8On!*_yjw}5~yV;$7GV9AdQIAuQnRs0~xjQZA zYy63cseEurW?Mt0!{1vS?5anYX9!I`dX9POS2u3{V@u*@R!nf0`y)STm&948@0Cn<>JKhF{q_dU{Q6BNf=AuLA`|? zXHx!27MtC8sC)l*+`$<~TJHTWm8gCbx+$+Nf4}_x_s_q#%g@<9C5=`7TG~>>eU`hg zU3qLYyUNeUR{i(u)t^kiMlJGA6yNZ*-l6K9?Y%y4iJQ4i3j-HkLF~Cj@*S6Q3AIgot}N1VNR6kw@0^g zpSiQ0e7`@rCNcb@$*lLbv)L9*@mJW^I<4;L)Ypm(e*69(Sib5^KhLgf*=zf&7QR(d zJ?xUhoxgm3key?6wK>DxMun)d)R#j#y;6eMR)KJY>I)G@w&^B7l6W%?d(^Zevp&*eWpUA>+D-=U_`LulJw61Oa+1BHE&8jeX{IOVhHnGG?!JTXWetg30|BH z+AQlYYdZYfcV9R?lF`Uzb?A)P^N+7>x^O%9+P?E&E6yA*Iyp7-k~H5-M)TdW`GtSJ z%zS=cU35uM5{ILf>fMtqTi*+7xvmglzO5GW>JN{ZqeD1{nWMvw2nK@D26sm9H%ioX!Y2S@WWP z-(9hNQ3nh)&TX39a=h`DtJeO{`M>_}zaa5}b%{XE4JUJZV+IBW22WQ%mvv4FO#m?| BmQerz literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/raw_fries.png b/kubejs/assets/tfg/textures/item/food/raw_fries.png new file mode 100644 index 0000000000000000000000000000000000000000..546d78da1d52eccb53d7b11da43eb99feec553f5 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ojhF}Lo9mFPTKFyR48%G zUfjuzlb21(T!dF|mqyCPDZ$kyrlxJq7B}r5NH|uTY<;O4Hd$dNZ{yCG#zNMvzfU@J zjyG*re80oWHmYgf+uyC{4}acwp1Xdfb!~Xo&n*`Jk6c+2d+yZFdz%=3?BS7H_o_v? z@b_K4bXJF6HBJ_1hl95jWI7j5H<1oo>=`E?edo$5m1|sG>3^c^bf+fy=|uSWTK(E4 zd-u`>h30Fu?JqZ)AGx9;z!PYHBi&|N;H+5tsY&PVojo9!maKK|#MyQ851m_eMt2#* zi&^pvU*;aR%->se==5(6u@%!zrWv)HJvZ9$;C8ohPg|qEuYs}Xrs*$RV%h#aSbjQ~ z>2Mc!iR7P_udmb9)ZHR)+I(8$-MIcW)4qe!(Z}!Eem6;JY>=%^wEHD3_Tp-W2@gZi l>sdjk+mBZ6`yW5wUVGWOf9=T=85kHCJYD@<);T3K0RWCDr~Ci_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/raw_instant_mac.png b/kubejs/assets/tfg/textures/item/food/raw_instant_mac.png new file mode 100644 index 0000000000000000000000000000000000000000..efcc3c912aa8102698bf27c0966a336c58b83ad3 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74Ln^OLo9mFPO|qt93XPE zey!^k(dpa8c3E^!SgIg2VV&!XCl~Y;@@7uq@QXD4CHh9D;Dw4<)92Ue8zy*4tyx+h zbkMGS(v2^zRbjeUNXl$Gr0;MR?eFgw8@VrK*#*5N`|W1&m9>iQag8lQ;4+o)@gb0`mOEO!bZ`U zyCs#CF)3^uhYbYd<80PnDs5hy+`M@5?I(L}HkL#wzw+Ry`*BOKobTM#XaD3XH=eeU zS#<0&>&7jh@^LxHuS=GO0chtW#91P75doFG1U$eVqy|LTl zj^0EuWYTSG?{rC6z5{o19Ry{ov`RIRRe(V0qTFdFI SHy9Wg7(8A5T-G@yGywpB382FO literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/food/slice_of_cheese.png b/kubejs/assets/tfg/textures/item/food/slice_of_cheese.png new file mode 100644 index 0000000000000000000000000000000000000000..bad25d5c641a70061ff1aee55fc5a3933415f379 GIT binary patch literal 469 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7=Xkm}hFJ7&on-I96ex3i z|2)5CCNE^K2Fkc(@4f7Q!Z{R~mR@n?5R{sm{KZUj>AKggAFq5| z6TWiY>&6nss}{kI)Ey zXxS&6%^=p@YNN+#JmtCJt$$5H-V7fv=go-Jme?&Cq|+I&?2t51Tg_Pk&86$UcuY1D zndz|nBg-#he;ISNFlM6(O-|MZ$~7URA9Hnx|R@SOK;+!*~aDxfh<`o>{h3+?J1 z)dq{c{}hVNzWMX~H+|k+*EW3)(&5ycwr1m&mA5N|!WU-Fa^KFzaAK2;Y756E9rvRP zX4<`Refjp2#NJrB#Yq=@>i>A;ZLeNx6&dfu>)rj@;?~Xe+Bq|_gq=DrocNc0;eOU1 bqkP7P`{i?9pJQQQU|{fc^>bP0l+XkK@b%69 literal 0 HcmV?d00001 diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 868b42c15..7ea2a2440 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -99,7 +99,7 @@ const registerTooltips = (event) => { text.add(1, Text.translate('tfg.tooltip.armor.nanomuscle_warmth')), text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')) text.add(3, Text.translate('tfg.tooltip.armor.nanomuscle_set')) - if (item == 'gtceu:nanomuscle_leggings') { + if (item === 'gtceu:nanomuscle_leggings') { text.add(4, Text.translate('tfg.tooltip.armor.nanomuscle_legs_buff')) } }) @@ -256,6 +256,16 @@ const registerTooltips = (event) => { text.add(2, Text.translate("tfg.tooltip.component.nuclear_turbine_2")) }) + event.addAdvanced(['tfg:food/slice_of_cheese'], (item, advanced, text) => { + if (!event.isShift()) { + text.add(1, Text.translate("tfg.tooltip.fake_nutrition_info_listener")) + } else { + text.add(1, Text.translate("tfg.tooltip.fake_nutrition_info")) + text.add(2, Text.translate("tfg.tooltip.cheese_slice_microplastics")) + }; + }); + + // AE2 event.addAdvanced(['tfg:wireless_card'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.wireless_card_1')) diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index b68d3bf58..bfd3c056d 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -40,6 +40,15 @@ function registerTFGHeatData(event) { event.itemHeat('betterend:cave_pumpkin_pie_raw', 1.0, null, null); event.itemHeat('betterend:cave_pumpkin_pie', 1.0, null, null); + + event.itemHeat('tfg:food/raw_beer_battered_cheese_curds', 1.0, null, null); + event.itemHeat('tfg:food/cooked_beer_battered_cheese_curds', 1.0, null, null); + event.itemHeat('tfg:food/raw_fries', 1.0, null, null); + event.itemHeat('tfg:food/cooked_fries', 1.0, null, null); + event.itemHeat('tfg:food/brioche_dough', 1.0, null, null); + event.itemHeat('tfg:food/brioche_bun', 1.0, null, null); + event.itemHeat('tfg:food/raw_burger_patty', 1.0, null, null); + event.itemHeat('tfg:food/cooked_burger_patty', 1.0, null, null); } //#endregion @@ -324,8 +333,8 @@ function registerTFGSupportData(event) { /** @param {Internal.TFCDataEventJS} event */ function registerTFGFoodData(event) { - // meats + // Birt event.foodItem("tfg:food/raw_birt", (food) => { food.hunger(2); food.protein(1.2); @@ -339,6 +348,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Crawlermari event.foodItem("tfg:food/raw_crawlermari", (food) => { food.hunger(2); food.water(5); @@ -353,6 +363,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Limpet event.foodItem("tfg:food/raw_limpet", (food) => { food.hunger(2); food.water(5); @@ -367,6 +378,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Moon Rabbit event.foodItem("tfg:food/raw_moon_rabbit", (food) => { food.hunger(2); food.protein(1.2); @@ -380,6 +392,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Glacian Mutton event.foodItem("tfg:food/raw_glacian_mutton", (food) => { food.hunger(2); food.protein(1.5); @@ -393,6 +406,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Sniffer Beef event.foodItem("tfg:food/raw_sniffer_beef", (food) => { food.hunger(2); food.protein(1.5); @@ -406,6 +420,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Wraptor event.foodItem("tfg:food/raw_wraptor", (food) => { food.hunger(2); food.protein(1.5); @@ -419,6 +434,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Springling Collar event.foodItem("tfg:food/raw_springling_collar", (food) => { food.hunger(2); food.protein(1.5); @@ -432,6 +448,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Surfer Steak event.foodItem("tfg:food/raw_surfer_steak", (food) => { food.hunger(2); food.protein(1.5); @@ -445,6 +462,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Cruncher Ribs event.foodItem("tfg:food/raw_cruncher_ribs", (food) => { food.hunger(2); food.protein(2.0); @@ -458,6 +476,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Long Pig Filet event.foodItem("tfg:food/raw_long_pig_filet", (food) => { food.hunger(2); food.protein(1.5); @@ -471,6 +490,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Stackatick Chunks event.foodItem("tfg:food/raw_stackatick_chunks", (food) => { food.hunger(2); food.protein(1.2); @@ -490,6 +510,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Walker Steak event.foodItem("tfg:food/raw_walker_steak", (food) => { food.hunger(2); food.protein(2.0); @@ -503,6 +524,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Glider Wings event.foodItem("tfg:food/raw_glider_wings", (food) => { food.hunger(2); food.protein(1.5); @@ -516,6 +538,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Soarer event.foodItem("tfg:food/raw_whole_soarer", (food) => { food.hunger(2); food.protein(1.5); @@ -529,6 +552,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Crusher Meat event.foodItem("tfg:food/raw_crusher_meat", (food) => { food.hunger(2); food.protein(1.5); @@ -542,6 +566,7 @@ function registerTFGFoodData(event) { food.decayModifier(2.25); }); + // Goober Meat event.foodItem("tfg:food/raw_goober_meat", (food) => { food.hunger(2); food.protein(1.5); @@ -557,7 +582,6 @@ function registerTFGFoodData(event) { }); // high-tech food - global.FOOD_FRUIT.forEach((fruit) => { event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, (food) => { food.hunger(4); @@ -581,8 +605,7 @@ function registerTFGFoodData(event) { food.type("dynamic"); }); - // crops - + // Sunflower products event.foodItem("tfg:roasted_sunflower_seeds", (food) => { food.hunger(4); food.decayModifier(0.5); @@ -594,6 +617,7 @@ function registerTFGFoodData(event) { food.decayModifier(0.5); }); + // Amber Roots event.foodItem("betterend:amber_root_product", (food) => { food.hunger(4); food.decayModifier(1); @@ -601,6 +625,7 @@ function registerTFGFoodData(event) { food.grain(3); }); + // Blossom Berries event.foodItem("betterend:blossom_berry_product", (food) => { food.hunger(5); food.decayModifier(2); @@ -609,6 +634,7 @@ function registerTFGFoodData(event) { food.fruit(2.1); }); + // Cave Pumpkin event.foodItem("betterend:cave_pumpkin", (food) => { food.hunger(4); food.saturation(0); @@ -644,6 +670,7 @@ function registerTFGFoodData(event) { food.dairy(1); }); + // Chorus Mushroom event.foodItem("betterend:chorus_mushroom_product", (food) => { food.hunger(2); food.saturation(1); @@ -659,6 +686,7 @@ function registerTFGFoodData(event) { food.vegetables(2.5); }); + // Shadow Berry event.foodItem("betterend:shadow_berry_product", (food) => { food.hunger(5); food.decayModifier(2); @@ -674,6 +702,7 @@ function registerTFGFoodData(event) { food.fruit(2.2); }); + // Bolux Mushroom event.foodItem("betterend:bolux_mushroom_product", (food) => { food.hunger(2); food.saturation(1); @@ -689,6 +718,7 @@ function registerTFGFoodData(event) { food.vegetables(2.4); }); + // Dino Nuggets event.foodItem('tfg:food/raw_dino_nugget', (food) => { food.type("dynamic"); food.hunger(1); @@ -702,22 +732,89 @@ function registerTFGFoodData(event) { food.decayModifier(1.5); }); - // misc - + // Ice Soup event.foodItem("tfg:food/ice_soup", (food) => { food.hunger(1); food.water(20); food.decayModifier(0); }); - event.drinkable("tfg:semiheavy_ammoniacal_water", (data) => { - data.thirst(10); - data.effect("minecraft:nausea", (effect) => { - effect.chance(0.5); - effect.duration(200); - }); + // Fries + event.foodItem('tfg:food/raw_fries', (food) => { + food.hunger(1); + food.decayModifier(3); + food.vegetables(0.25); }); + event.foodItem('tfg:food/cooked_fries', (food) => { + food.hunger(2); + food.decayModifier(1.5); + food.vegetables(0.6); + food.saturation(2); + }); + + // Cheese Curds + event.foodItem('tfg:food/raw_beer_battered_cheese_curds', (food) => { + food.hunger(1); + food.decayModifier(1.3); + food.dairy(1); + food.saturation(1); + }); + + event.foodItem('tfg:food/cooked_beer_battered_cheese_curds', (food) => { + food.hunger(3); + food.decayModifier(0.8); + food.dairy(1.2); + food.saturation(2); + food.grain(0.5); + }); + + // Hamburgers + event.foodItem('tfg:food/raw_burger_patty', (food) => { + food.hunger(2); + food.decayModifier(2.3); + food.protein(2); + }); + + event.foodItem('tfg:food/cooked_burger_patty', (food) => { + food.hunger(4); + food.decayModifier(2); + food.protein(2.5); + food.saturation(2); + }); + + event.foodItem('tfg:food/brioche_dough', (food) => { + food.hunger(1.5); + food.decayModifier(2.3); + }); + + event.foodItem('tfg:food/brioche_bun', (food) => { + food.hunger(3.5); + food.decayModifier(1.5); + food.grain(1.5); + food.dairy(0.5); + food.saturation(1); + }); + + event.foodItem('tfg:food/hamburger', (food) => { + food.type("dynamic"); + }); + + event.foodItem('tfg:food/cheeseburger', (food) => { + food.type("dynamic"); + }); + + // Poutine + event.foodItem('tfg:food/poutine', (food) => { + food.type("dynamic_bowl"); + }); + + // Oatmeal + event.foodItem('tfg:food/oatmeal', (food) => { + food.type("dynamic_bowl"); + }); + + // Biochem Items event.foodItem("tfg:progenitor_cells", (food) => { food.decayModifier(1); }); @@ -728,6 +825,23 @@ function registerTFGFoodData(event) { food.decayModifier(0.5); }); + // Instant Mac + event.foodItem('tfg:food/raw_instant_mac', (food) => { + food.hunger(2); + food.decayModifier(0.2); + }); + + event.foodItem('tfg:food/cooked_instant_mac', (food) => { + food.hunger(3.5); + food.decayModifier(1.6); + food.grain(1.5); + food.dairy(2.5); + food.protein(0.8); + food.saturation(1.8); + }); + + //#region Drinkables + // Proto Growth Medium event.drinkable("tfg:proto_growth_medium", (data) => { data.thirst(10); data.food(food => { @@ -740,6 +854,57 @@ function registerTFGFoodData(event) { effect.duration(1200); }); }); + + // Semiheavy Ammoniacal Water + event.drinkable("tfg:semiheavy_ammoniacal_water", (data) => { + data.thirst(10); + data.effect("minecraft:nausea", (effect) => { + effect.chance(0.5); + effect.duration(200); + }); + }); + + // Dark Stock + event.drinkable('tfg:dark_stock', (data) => { + data.thirst(4); + data.effect("tfc:thirst", (effect) => { + effect.chance(0.2); + effect.duration(20*5); + }); + data.food(food => { + food.protein(0.25); + food.vegetables(0.25); + }); + }); + + // Light Stock + event.drinkable('tfg:light_stock', (data) => { + data.thirst(4); + data.effect("tfc:thirst", (effect) => { + effect.chance(0.2); + effect.duration(20*5); + }); + data.food(food => { + food.protein(0.25); + food.vegetables(0.25); + }); + }); + + // Brown Gravy + event.drinkable('tfg:brown_gravy', (data) => { + data.thirst(2); + data.effect("tfc:thirst", (effect) => { + effect.chance(0.3); + effect.duration(20*5); + }); + data.food(food => { + food.protein(0.5); + food.vegetables(0.5); + food.grain(0.25); + }); + }); + + //#endregion } //#endregion diff --git a/kubejs/server_scripts/tfg/recipes.biochem.js b/kubejs/server_scripts/tfg/recipes.biochem.js index add895ec3..734d322fb 100644 --- a/kubejs/server_scripts/tfg/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/recipes.biochem.js @@ -561,7 +561,6 @@ function registerTFGBiochemRecipes(event) { ChemicalHelper.get(TagPrefix.dust, 'tfg:cholesterol', 1) ) .duration(20*20) - .dimension('ad_astra:venus') .EUt(GTValues.VA[GTValues.IV]); // Triglycerides from cell factory. diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 03db52eff..867ffe490 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -108,7 +108,7 @@ function registerTFGFoodRecipes(event) { * @param {boolean?} isFirmaDynamic */ function cookingRecipe(id, input, out, fluid, isFirmaDynamic) { - return registerFoodRecipe("food_oven", id, 300, GTValues.VA[GTValues.LV], "", { + return registerFoodRecipe("food_oven", id, 20 * 10, GTValues.VA[GTValues.LV], "", { itemInputs: [input], itemOutputs: [out], fluidInputs: (fluid === undefined) ? [] : [fluid], @@ -763,6 +763,7 @@ function registerTFGFoodRecipes(event) { itemInputs: ['tfc:powder/salt', '#tfc:foods/flour'], fluidInputs: ['#tfg:clean_water 1000'], itemOutputs: ['4x firmalife:food/hardtack_dough'], + circuit: 3, itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyFood() }) @@ -844,7 +845,7 @@ function registerTFGFoodRecipes(event) { processorRecipe("salsa", 300, 8, { circuit: 1, - itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'firmalife:plant/cilantro'], + itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfg:spice/cilantro_leaves'], itemOutputs: ['5x firmalife:food/salsa'], itemOutputProvider: TFC.isp.of('5x firmalife:food/salsa').copyFood() }) @@ -1196,6 +1197,12 @@ function registerTFGFoodRecipes(event) { event.recipes.tfc.heating('tfg:food/raw_long_pig_filet', 200) .resultItem(TFC.isp.of('tfg:food/cooked_long_pig_filet').copyFood()) + + event.recipes.tfc.heating('tfg:food/brioche_dough', 200) + .resultItem(TFC.isp.of('tfg:food/brioche_bun').copyFood()); + + event.recipes.tfc.heating('tfg:food/raw_burger_patty', 200) + .resultItem(TFC.isp.of('tfg:food/cooked_burger_patty').copyFood()); event.recipes.tfc.advanced_shapeless_crafting( TFC.itemStackProvider.of('tfg:food/raw_stickastackatick').copyFood(), @@ -1235,7 +1242,7 @@ function registerTFGFoodRecipes(event) { TFC.ingredient.notRotten('betterend:amber_root_product'), 'tfg:wraptor_sugar'], Fluid.of('minecraft:water', 1000)) - .outputItem(TFC.isp.of('betterend:cave_pumpkin_pie_dough').copyOldestFood()) + .outputItem('betterend:cave_pumpkin_pie_dough') .id('tfg:mixing_bowl/cave_pumpkin_pie_dough') event.recipes.tfc.advanced_shapeless_crafting( @@ -1252,7 +1259,7 @@ function registerTFGFoodRecipes(event) { // Dino nugs - registerFoodRecipe("food_oven", "raw_dino_nugget", 300, GTValues.VA[GTValues.LV], "", { + registerFoodRecipe("food_oven", "raw_dino_nugget", 300, GTValues.VA[GTValues.LV], 'tfg.food_recipe.deep_frying', { itemInputs: ["tfg:food/raw_dino_nugget"], itemOutputs: ["tfg:food/cooked_dino_nugget"], fluidInputs: ['#firmalife:oils 100'], @@ -1288,6 +1295,386 @@ function registerTFGFoodRecipes(event) { ) }) + // Deep Frying + for (let i = 1; i <= 5; i++) { + // Fries + event.recipes.tfc.pot( + Array(i).fill('tfg:food/raw_fries'), + TFC.fluidStackIngredient('#firmalife:oils', 100 * i), + 20*20, + 200 + ) + .itemOutput(TFC.isp.of(`${i}x tfg:food/cooked_fries`).copyFood() + ).id(`tfg:pot/cooked_fries_${i}`); + + // Beer Battered Cheese Curds + event.recipes.tfc.pot( + Array(i).fill('tfg:food/raw_beer_battered_cheese_curds'), + TFC.fluidStackIngredient('#firmalife:oils', 100 * i), + 20*20, + 200 + ) + .itemOutput(TFC.isp.of(`${i}x tfg:food/cooked_beer_battered_cheese_curds`).copyFood() + ).id(`tfg:pot/cooked_beer_battered_cheese_curds_${i}`); + }; + + // Fries + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('4x tfg:food/raw_fries').copyFood(), + [TFC.ingredient.notRotten('tfc:food/potato'), '#tfc:knives'], + 'tfc:food/potato' + ).id(`tfg:crafting/raw_fries_knife`); + + processorRecipe('raw_fries', 20*1, 8, { + itemInputs: ['tfc:food/potato'], + itemOutputs: ['4x tfg:food/raw_fries'], + circuit: 7, + itemOutputProvider: TFC.isp.of('4x tfg:food/raw_fries').copyFood() + }); + + registerFoodRecipe('food_oven', 'cooked_fries', 20*6, GTValues.VA[GTValues.ULV], 'tfg.food_recipe.deep_frying', { + itemInputs: ['tfg:food/raw_fries'], + itemOutputs: ['tfg:food/cooked_fries'], + fluidInputs: ['#firmalife:oils 100'], + itemOutputProvider: TFC.isp.of('tfg:food/cooked_fries').copyFood().addTrait('firmalife:oven_baked') + }); + + // Beer Battered Cheese Curds + registerFoodRecipe('food_oven', 'cooked_beer_battered_cheese_curds', 20*6, GTValues.VA[GTValues.ULV], 'tfg.food_recipe.deep_frying', { + itemInputs: ['tfg:food/raw_beer_battered_cheese_curds'], + itemOutputs: ['tfg:food/cooked_beer_battered_cheese_curds'], + fluidInputs: ['#firmalife:oils 100'], + itemOutputProvider: TFC.isp.of('tfg:food/cooked_beer_battered_cheese_curds').copyFood().addTrait('firmalife:oven_baked') + }); + + /** + * @type {string[]} - Beer types for beer battered cheese curds. + */ + const beer = ['tfc:beer', 'tfcagedalcohol:aged_beer']; + beer.forEach(beerType => { + processorRecipe(`raw_beer_battered_cheese_curds/${beerType.replace(':', '_')}`, 20*5, GTValues.VA[GTValues.ULV], { + itemInputs: ['4x #tfg:foods/cheese_curds', '#tfc:foods/flour', 'tfc:powder/salt', '#forge:eggs'], + fluidInputs: [`${beerType} 100`], + itemOutputs: ['4x tfg:food/raw_beer_battered_cheese_curds'], + itemOutputProvider: TFC.isp.of('4x tfg:food/raw_beer_battered_cheese_curds').copyOldestFood() + }); + }); + + // Hamburgers + event.recipes.tfc.advanced_shaped_crafting( + TFC.isp.of('tfg:food/hamburger').meal( + (food) => food.hunger(4).decayModifier(1.3), + [(portion) => portion.nutrientModifier(1.2).saturationModifier(1.1)] + ), + [ + 'CA ', + 'BBB', + ' A ' + ], { + A: TFC.ingredient.notRotten('tfg:food/brioche_bun'), + B: TFC.ingredient.notRotten('#tfg:foods/usable_in_burgers'), + C: '#forge:tools/knives' + }, + 0, + 0 + ).id('tfg:crafting/hamburger'); + + event.recipes.tfc.advanced_shaped_crafting( + TFC.isp.of('tfg:food/cheeseburger').meal( + (food) => food.hunger(4).decayModifier(1.3), + [(portion) => portion.nutrientModifier(1.2).saturationModifier(1.1)] + ), + [ + 'CA ', + 'BBD', + ' A ' + ], { + A: TFC.ingredient.notRotten('tfg:food/brioche_bun'), + B: TFC.ingredient.notRotten('#tfg:foods/usable_in_burgers'), + C: '#forge:tools/knives', + D: TFC.ingredient.notRotten('#tfg:foods/cheeses') + }, + 0, + 0 + ).id('tfg:crafting/cheeseburger'); + + // Prosessor burgers allow extra ingredients. + for (let i = 1; i <= 5; i++) { + processorRecipe(`hamburger_${i}`, 20*1, GTValues.VA[GTValues.ULV], { + itemInputs: [`${i}x #tfg:foods/usable_in_burgers`, '2x tfg:food/brioche_bun'], + itemOutputs: ['tfg:food/hamburger'], + circuit: i, + itemOutputProvider: TFC.isp.of('tfg:food/hamburger').meal( + (food) => food.hunger(4).decayModifier(1.3), + [(portion) => portion.nutrientModifier(1.2).saturationModifier(1.1)] + ) + }); + }; + + for (let i = 1; i <= 4; i++) { + processorRecipe(`cheeseburger_${i}`, 20*1, GTValues.VA[GTValues.ULV], { + itemInputs: [`${i}x #tfg:foods/usable_in_burgers`, '2x tfg:food/brioche_bun', '#tfg:foods/cheeses'], + itemOutputs: ['tfg:food/cheeseburger'], + circuit: i, + itemOutputProvider: TFC.isp.of('tfg:food/cheeseburger').meal( + (food) => food.hunger(4).decayModifier(1.3), + [(portion) => portion.nutrientModifier(1.2).saturationModifier(1.1)] + ) + }); + }; + + // Tirage Mixture + event.recipes.gtceu.food_processor('tfg:tirage_mixture') + .itemInputs('#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) + .itemOutputs('firmalife:tirage_mixture') + .duration(10) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + // Brioche Dough + event.recipes.firmalife.mixing_bowl() + .itemIngredients([ + TFC.ingredient.notRotten('#forge:eggs'), + TFC.ingredient.notRotten('#tfc:foods/flour'), + TFC.ingredient.notRotten('#tfc:foods/flour'), + 'firmalife:tirage_mixture' + ]) + .fluidIngredient(TFC.fluidStackIngredient('#tfc:milks', 500)) + .outputItem('6x tfg:food/brioche_dough') + .id('tfg:mixing_bowl/brioche_dough'); + + processorRecipe('brioche_dough/tirage_mixture', 20*2, GTValues.VA[GTValues.ULV], { + itemInputs: ['2x #tfc:foods/flour', '#forge:eggs', 'firmalife:tirage_mixture'], + fluidInputs: ['#tfc:milks 500'], + itemOutputs: ['6x tfg:food/brioche_dough'], + circuit: 5, + itemOutputProvider: TFC.isp.of('6x tfg:food/brioche_dough').copyOldestFood() + }); + + processorRecipe('brioche_dough/yeast', 20*2, GTValues.VA[GTValues.ULV], { + itemInputs: ['2x #tfc:foods/flour', '#forge:eggs', '#tfc:sweetener'], + fluidInputs: ['#tfc:milks 500', 'firmalife:yeast_starter 100'], + itemOutputs: ['6x tfg:food/brioche_dough'], + circuit: 5, + itemOutputProvider: TFC.isp.of('6x tfg:food/brioche_dough').copyOldestFood() + }); + + cookingRecipe('brioche_bun', 'tfg:food/brioche_dough', 'tfg:food/brioche_bun'); + + // Burger Patty + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('tfg:food/raw_burger_patty').copyFood(), + [ + TFC.ingredient.notRotten('#tfg:foods/burger_meats'), + '#forge:tools/mortars' + ] + ).id('tfg:crafting/raw_burger_patty'); + + processorRecipe('raw_burger_patty', 20*1, GTValues.VA[GTValues.ULV], { + itemInputs: ['#tfg:foods/burger_meats'], + itemOutputs: ['tfg:food/raw_burger_patty'], + notConsumable: ['gtceu:wire_extruder_mold'], + itemOutputProvider: TFC.isp.of('tfg:food/raw_burger_patty').copyFood() + }); + + // Rich Stock + event.recipes.tfc.pot( + [ + '#tfg:foods/makes_rich_stock', + '#tfc:foods/vegetables', + '#forge:bones', + 'tfc:powder/salt', + 'tfg:spice/bay_leaf' + ], + TFC.fluidStackIngredient('#tfg:clean_water', 1000), + 20*15, + 200 + ) + .fluidOutput(Fluid.of('tfg:rich_stock', 1000) + ).id('tfg:pot/rich_stock'); + + processorRecipe('rich_stock', 20*5, GTValues.VA[GTValues.ULV], { + itemInputs: [ + '#tfg:foods/makes_rich_stock', + '#tfc:foods/vegetables', + '#forge:bones', + 'tfc:powder/salt', + 'tfg:spice/bay_leaf' + ], + fluidInputs: ['#tfg:clean_water 1000'], + fluidOutputs: [Fluid.of('tfg:rich_stock', 1000)] + }); + + // Light Stock + event.recipes.tfc.pot( + [ + '#tfg:foods/makes_light_stock', + '#tfc:foods/vegetables', + '#forge:bones', + 'tfc:powder/salt', + 'firmalife:spice/basil_leaves' + ], + TFC.fluidStackIngredient('#tfg:clean_water', 1000), + 20*15, + 200 + ) + .fluidOutput(Fluid.of('tfg:light_stock', 1000) + ).id('tfg:pot/light_stock'); + + processorRecipe('light_stock', 20*5, GTValues.VA[GTValues.ULV], { + itemInputs: [ + '#tfg:foods/makes_light_stock', + '#tfc:foods/vegetables', + '#forge:bones', + 'tfc:powder/salt', + 'firmalife:spice/basil_leaves' + ], + fluidInputs: ['#tfg:clean_water 1000'], + fluidOutputs: [Fluid.of('tfg:light_stock', 1000)] + }); + + // Brown Gravy + processorRecipe('brown_gravy', 20*5, GTValues.VA[GTValues.ULV], { + itemInputs: [ + '#tfc:foods/flour', + 'firmalife:food/butter', + 'tfg:spice/allspice' + ], + fluidInputs: ['tfg:light_stock 1000', 'tfg:dark_stock 1000'], + fluidOutputs: [Fluid.of('tfg:brown_gravy', 2000)] + }); + + // Poutine + processorRecipe('poutine', 20*10, GTValues.VA[GTValues.LV], { + itemInputs: [ + '4x tfg:food/cooked_fries', + '#tfg:foods/cheese_curds', + '2x #tfc:bowls' + ], + fluidInputs: ['tfg:brown_gravy 500'], + itemOutputs: ['2x tfg:food/poutine'], + itemOutputProvider: TFC.isp.of('2x tfg:food/poutine').simpleModifier('tfg:add_bowl').meal( + (food) => food.hunger(5).water(5).saturation(1).decayModifier(1).grain(1).protein(0.5).dairy(1.5), + [(portion) => portion.nutrientModifier(0.8).saturationModifier(1)] + ) + }); + + // Oatmeal + for (let i = 1; i <= 4; i++) { + processorRecipe(`oatmeal_${i}`, 20*15, GTValues.VA[GTValues.LV], { + itemInputs: [ + '4x #tfc:bowls', + 'tfc:food/oat_grain', + `${i}x #tfg:foods/usable_in_oatmeal`, + '#tfc:sweetener' + ], + fluidInputs: ['#tfc:milks 1000'], + itemOutputs: ['4x tfg:food/oatmeal'], + circuit: i, + itemOutputProvider: TFC.isp.of('4x tfg:food/oatmeal').simpleModifier('tfg:add_bowl').meal( + (food) => food.hunger(5).water(5).saturation(1).decayModifier(1.4).dairy(1.5), + [(portion) => portion.nutrientModifier(0.7).saturationModifier(0.7)] + ) + }); + }; + + // Sodium Dihydrogen Citrate + event.recipes.gtceu.chemical_reactor('tfg:sodium_dihydrogen_citrate') + .itemInputs( + ChemicalHelper.get(TagPrefix.dust, 'tfg:citric_acid', 1), + ChemicalHelper.get(TagPrefix.dust, GTMaterials.SodiumBicarbonate, 1) + ) + .itemOutputs('tfg:sodium_dihydrogen_citrate_dust') + .outputFluids( + Fluid.of('minecraft:water', 1000), + Fluid.of('gtceu:carbon_dioxide', 1000) + ) + .duration(20*10) + .EUt(GTValues.VA[GTValues.HV]); + + // Citric Acid + processorRecipe('citric_acid', 20*20, GTValues.VA[GTValues.HV], { + itemInputs: [ + '#tfg:foods/citrus_fruits', + 'gtceu:calcium_hydroxide_dust' + ], + fluidInputs: ['gtceu:sulfuric_acid 100'], + itemOutputs: ['2x tfg:citric_acid_dust' ] + }); + + // Slice of "Cheese" + event.recipes.gtceu.food_processor('tfg:slice_of_cheese') + .itemInputs( + ChemicalHelper.get(TagPrefix.dust, 'gtceu:lactose', 1), + ChemicalHelper.get(TagPrefix.dust, 'tfg:cholesterol', 1), + ChemicalHelper.get(TagPrefix.dust, 'tfg:sodium_dihydrogen_citrate', 1), + ChemicalHelper.get(TagPrefix.foil, GTMaterials.Polyethylene, 8) + ) + .inputFluids('#tfg:clean_water 1000') + .itemOutputs('8x tfg:food/slice_of_cheese') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + // Instant Mac + processorRecipe('raw_instant_mac', 20 * 10, GTValues.VA[GTValues.LV], { + itemInputs: ['firmalife:food/raw_egg_noodles', '#tfg:foods/cheeses', 'create:cardboard'], + itemOutputs: ['2x tfg:food/raw_instant_mac'], + fluidInputs: ['gtceu:polyethylene 100'], + itemOutputProvider: TFC.isp.of('2x tfg:food/raw_instant_mac').copyFood() + }); + + registerFoodRecipe('food_oven', 'cooked_instant_mac', 20 * 1, GTValues.VA[GTValues.LV], '' ,{ + itemInputs: ['tfg:food/raw_instant_mac'], + itemOutputs: ['tfg:food/cooked_instant_mac'], + fluidInputs: ['#tfc:milks 500'], + itemOutputProvider: TFC.isp.of('tfg:food/cooked_instant_mac').copyFood() + }); + + //#region Spices + + // Skips the first two spices as they are already in Firmalife + global.SPICES.slice(2).forEach(spice => { + event.recipes.tfc.advanced_shapeless_crafting( + Item.of(spice.product).withCount(2), + [ + spice.plant, + '#forge:tools/knives' + ] + ).id(`tfg:crafting/${spice.product.replace(':', '_')}`); + + event.recipes.gtceu.food_processor(`tfg:${spice.product.replace(':', '_')}`) + .itemInputs(spice.plant) + .itemOutputs(Item.of(spice.product).withCount(2)) + .duration(10) + .circuit(1) + .EUt(GTValues.VA[GTValues.ULV]); + }); + + // Replace input didnt work. + event.remove({id: 'firmalife:crafting/salsa'}); + event.replaceInput({id: 'firmalife:crafting/lasagna'},'firmalife:plant/oregano','tfg:spice/oregano_leaves'); + + event.recipes.tfc.advanced_shapeless_crafting( + TFC.itemStackProvider.of('firmalife:food/salsa').copyFood(), + [ + 'tfg:spice/cilantro_leaves', + 'tfc:food/tomato', + 'tfc:powder/salt', + '#forge:tools/knives' + ] + ).id('tfg:crafting/salsa'); + + //#endregion + + processorRecipe('nixtamal', 20*30, GTValues.VA[GTValues.ULV], { + itemInputs: ['firmalife:food/cured_maize'], + fluidInputs: ['#tfg:clean_water 100'], + itemOutputs: ['firmalife:food/nixtamal'], + circuit: 1, + itemOutputProvider: TFC.isp.of('firmalife:food/nixtamal').copyFood() + }); + //#endregion //#region Machine Recipes diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 19fd2b85c..25202c8c5 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -282,7 +282,167 @@ const registerTFGItemTags = (event) => { event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_surfer_steak') event.add('tfg:raw_dinosaur_meat', 'wan_ancient_beasts:raw_ancient_meat') - //#region Meal Bag + /** + * List of items that can make light stock. + * @type {string[]} + */ + const makesLightStock = [ + 'tfc:food/chicken', + 'tfc:food/cooked_chicken', + 'tfc:food/quail', + 'tfc:food/cooked_quail', + 'tfc:food/pheasant', + 'tfc:food/cooked_pheasant', + 'tfc:food/grouse', + 'tfc:food/cooked_grouse', + 'tfc:food/turkey', + 'tfc:food/cooked_turkey', + 'tfc:food/peafowl', + 'tfc:food/cooked_peafowl', + 'tfc:food/rabbit', + 'tfc:food/cooked_rabbit', + 'tfc:food/duck', + 'tfc:food/cooked_duck', + 'tfg:food/raw_birt', + 'tfg:food/cooked_birt', + 'tfg:food/raw_moon_rabbit', + 'tfg:food/cooked_moon_rabbit', + 'tfg:food/raw_wraptor', + 'tfg:food/cooked_wraptor', + 'tfg:food/raw_glider_wings', + 'tfg:food/cooked_glider_wings', + 'tfg:food/raw_whole_soarer', + 'tfg:food/cooked_whole_soarer' + ]; + makesLightStock.forEach(item => { + event.add('tfg:foods/makes_light_stock', item); + }); + + /** + * List of items that can make rich stock. + * @type {string[]} + */ + const makesRichStock = [ + 'tfc:food/beef', + 'tfc:food/cooked_beef', + 'tfc:food/mutton', + 'tfc:food/cooked_mutton', + 'tfc:food/bear', + 'tfc:food/cooked_bear', + 'tfc:food/horse_meat', + 'tfc:food/cooked_horse_meat', + 'tfc:food/venison', + 'tfc:food/cooked_venison', + 'tfc:food/chevon', + 'tfc:food/cooked_chevon', + 'tfc:food/gran_feline', + 'tfc:food/cooked_gran_feline', + 'tfc:food/turtle', + 'tfc:food/cooked_turtle', + 'tfc:food/camelidae', + 'tfc:food/cooked_camelidae', + 'tfg:food/raw_glacian_mutton', + 'tfg:food/cooked_glacian_mutton', + 'tfg:food/raw_sniffer_beef', + 'tfg:food/cooked_sniffer_beef', + 'tfg:food/raw_walker_steak', + 'tfg:food/cooked_walker_steak', + 'tfg:food/raw_crusher_meat', + 'tfg:food/cooked_crusher_meat', + 'wan_ancient_beasts:raw_ancient_meat', + 'wan_ancient_beasts:cooked_ancient_meat' + ]; + makesRichStock.forEach(item => { + event.add('tfg:foods/makes_rich_stock', item); + }); + + /** + * @type {string[]} - List of cheese curd item IDs. + */ + const cheeseCurds = [ + 'firmalife:food/yak_curd', + 'firmalife:food/goat_curd', + 'firmalife:food/milk_curd' + ]; + cheeseCurds.forEach(item => { + event.add('tfg:foods/cheese_curds', item); + }); + + /** + * @type {string[]} - List of item tags and item IDs that can be used on burgers. + */ + const usable_in_burgers = [ + '#tfc:foods/vegetables', + 'firmalife:food/cooked_bacon', + 'tfc:food/cooked_egg', + 'firmalife:food/tofu' + ]; + usable_in_burgers.forEach(item => { + event.add('tfg:foods/usable_in_burgers', item); + }); + + /** + * @type {string[]} - List of cheese tags and item IDs that can be used on a cheeseburger. + */ + const cheeses = [ + '#firmalife:foods/cheeses', + 'tfg:food/slice_of_cheese', + 'firmalife:food/shredded_cheese' + ]; + cheeses.forEach(item => { + event.add('tfg:foods/cheeses', item); + }); + + /** + * @type {string[]} - List of item IDs that can be used as burger meats. + */ + const burgerMeats = [ + 'tfc:food/beef', + 'tfc:food/turkey', + 'tfc:food/venison', + 'tfg:food/raw_sniffer_beef', + 'tfg:food/raw_crusher_meat', + 'wan_ancient_beasts:raw_ancient_meat' + ]; + burgerMeats.forEach(item => { + event.add('tfg:foods/burger_meats', item); + }); + + // Spice tags + global.SPICES.forEach(spice => { + event.add('tfg:foods/spices', spice.product); + event.add('tfg:foods/spice_plants', spice.plant); + }); + + /** + * @type {string[]} - List of item tags and item IDs that are allowed to be used in oatmeal. + */ + const usable_in_oatmeal = [ + '#tfc:foods/fruits', + 'tfc:food/oat_grain', + '#firmalife:foods/chocolate' + ]; + usable_in_oatmeal.forEach(item => { + event.add('tfg:foods/usable_in_oatmeal', item); + }); + + /** + * @type {string[]} - List of citrus fruit item IDs. + */ + const citrus_fruits = [ + 'tfc:food/orange', + 'tfc:jar/orange_unsealed', + 'tfg:food/freeze_dried/orange', + 'tfc:food/lemon', + 'tfc:jar/lemon_unsealed', + 'tfg:food/freeze_dried/lemon', + 'minecraft:glow_berries', + 'tfg:food/freeze_dried/glow_berries' + ]; + citrus_fruits.forEach(item => { + event.add('tfg:foods/citrus_fruits', item); + }); + /** * List of item tags and item IDs that are allowed to be used in a meal bag. * @type {string[]} @@ -328,7 +488,6 @@ const registerTFGItemTags = (event) => { event.add('tfg:solid_fats', 'firmalife:food/butter') event.add('tfg:solid_fats', 'tfc:blubber') //#endregion - //#endregion //#region Blacklisted from the railgun event.add('tfg:cannot_launch_in_railgun', '#tfc:vessels') @@ -705,6 +864,19 @@ const registerTFGFluidTags = (event) => { event.add('tfc:drinkables', 'tfg:proto_growth_medium') event.add('tfc:any_drinkables', 'tfg:proto_growth_medium') + event.add('tfc:drinkables', 'tfg:brown_gravy') + event.add('tfc:any_drinkables', 'tfg:brown_gravy') + + event.add('minecraft:water', 'tfg:dark_stock') + event.add('tfc:any_water', 'tfg:dark_stock') + event.add('tfc:drinkables', 'tfg:dark_stock') + event.add('tfc:any_drinkables', 'tfg:dark_stock') + + event.add('minecraft:water', 'tfg:light_stock') + event.add('tfc:any_water', 'tfg:light_stock') + event.add('tfc:drinkables', 'tfg:light_stock') + event.add('tfc:any_drinkables', 'tfg:light_stock') + global.BREATHABLE_COMPRESSED_AIRS.forEach(x => { event.add('tfg:breathable_compressed_air', x) }) diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 120f77dd3..5486c4949 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -573,7 +573,7 @@ global.TFC_DISABLED_ITEMS = /** @type {const} */ ([ "tfc:bucket/metal/steel", "tfc:bucket/metal/black_steel", "tfc:bucket/metal/blue_steel", - "tfc:bucket/metal/red_steel", + "tfc:bucket/metal/red_steel" ]); /** Items that need to be hidden, but you want to keep their tags.*/ @@ -600,7 +600,7 @@ global.TFC_HIDDEN_ITEMS = /** @type {const} */ ([ "tfc:wild_crop/squash", "tfc:wild_crop/sugarcane", "tfc:wild_crop/tomato", - "tfc:wild_crop/jute", + "tfc:wild_crop/jute" ]); /** @@ -626,7 +626,7 @@ global.TFC_STONE_TYPES = /** @type {const} */ ([ "basalt", // Exists in GT "diorite", // Exists in GT "andesite", // Exists in GT - "granite", // Exists in GT + "granite" // Exists in GT ]); global.TFC_WOOD_TYPES = /** @type {const} */ ([ @@ -649,7 +649,7 @@ global.TFC_WOOD_TYPES = /** @type {const} */ ([ "spruce", "sycamore", "white_cedar", - "willow", + "willow" ]); global.TFC_HARDWOOD_TYPES = /** @type {const} */ ([ @@ -663,7 +663,7 @@ global.TFC_HARDWOOD_TYPES = /** @type {const} */ ([ "maple", "oak", "rosewood", - "sycamore", + "sycamore" ]); global.TFC_SOFTWOOD_TYPES = /** @type {const} */ ([ @@ -675,7 +675,7 @@ global.TFC_SOFTWOOD_TYPES = /** @type {const} */ ([ "sequoia", "spruce", "white_cedar", - "willow", + "willow" ]); global.TFC_MUD_TYPES = /** @type {const} */ (["silt", "loam", "sandy_loam", "silty_loam"]); @@ -712,7 +712,7 @@ global.TFC_WOOD_ITEM_TYPES_TO_WOOD_DUST = /** @type {const} */ ({ "#tfcastikorcarts:animal_cart": { name: "animal_cart", output: ["2x gtceu:wood_dust"] }, "#tfcastikorcarts:supply_cart": { name: "supply_cart", output: ["2x gtceu:wood_dust"] }, "#firmalife:food_shelves": { name: "food_shelves", output: ["2x gtceu:wood_dust"] }, - "#firmalife:hangers": { name: "hangers", output: ["1x gtceu:wood_dust"] }, + "#firmalife:hangers": { name: "hangers", output: ["1x gtceu:wood_dust"] } }); /** @@ -750,7 +750,7 @@ global.TFC_SIMPLE_MATERIALS = /** @type {const} */ ([ "emerald", "lapis_lazuli", "ruby", - "sapphire", + "sapphire" ]); global.TFC_ORE_TYPES = /** @type {const} */ (["poor", "normal", "rich"]); @@ -767,40 +767,24 @@ global.TFC_ORE_MATERIALS = /** @type {const} */ ([ "native_gold", "native_silver", "sphalerite", - "tetrahedrite", + "tetrahedrite" ]); global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfc:ceramic/unfired_ingot_mold", output: "tfc:ceramic/ingot_mold", name: "ingot_mold" }, - { - input: "tfc:ceramic/unfired_pickaxe_head_mold", - output: "tfc:ceramic/pickaxe_head_mold", - name: "pickaxe_head_mold", - }, - { - input: "tfc:ceramic/unfired_propick_head_mold", - output: "tfc:ceramic/propick_head_mold", - name: "propick_head_mold", - }, + { input: "tfc:ceramic/unfired_pickaxe_head_mold", output: "tfc:ceramic/pickaxe_head_mold", name: "pickaxe_head_mold" }, + { input: "tfc:ceramic/unfired_propick_head_mold", output: "tfc:ceramic/propick_head_mold", name: "propick_head_mold" }, { input: "tfc:ceramic/unfired_axe_head_mold", output: "tfc:ceramic/axe_head_mold", name: "axe_head_mold" }, { input: "tfc:ceramic/unfired_shovel_head_mold", output: "tfc:ceramic/shovel_head_mold", name: "shovel_head_mold" }, { input: "tfc:ceramic/unfired_hoe_head_mold", output: "tfc:ceramic/hoe_head_mold", name: "hoe_head_mold" }, { input: "tfc:ceramic/unfired_chisel_head_mold", output: "tfc:ceramic/chisel_head_mold", name: "chisel_head_mold" }, { input: "tfc:ceramic/unfired_hammer_head_mold", output: "tfc:ceramic/hammer_head_mold", name: "hammer_head_mold" }, { input: "tfc:ceramic/unfired_saw_blade_mold", output: "tfc:ceramic/saw_blade_mold", name: "saw_blade_mold" }, - { - input: "tfc:ceramic/unfired_javelin_head_mold", - output: "tfc:ceramic/javelin_head_mold", - name: "javelin_head_mold", - }, + { input: "tfc:ceramic/unfired_javelin_head_mold", output: "tfc:ceramic/javelin_head_mold", name: "javelin_head_mold" }, { input: "tfc:ceramic/unfired_sword_blade_mold", output: "tfc:ceramic/sword_blade_mold", name: "sword_blade_mold" }, { input: "tfc:ceramic/unfired_mace_head_mold", output: "tfc:ceramic/mace_head_mold", name: "mace_head_mold" }, { input: "tfc:ceramic/unfired_knife_blade_mold", output: "tfc:ceramic/knife_blade_mold", name: "knife_blade_mold" }, - { - input: "tfc:ceramic/unfired_scythe_blade_mold", - output: "tfc:ceramic/scythe_blade_mold", - name: "scythe_blade_mold", - }, + { input: "tfc:ceramic/unfired_scythe_blade_mold", output: "tfc:ceramic/scythe_blade_mold", name: "scythe_blade_mold" }, { input: "tfc:ceramic/unfired_bell_mold", output: "tfc:ceramic/bell_mold", name: "bell_mold" }, { input: "tfc:ceramic/unfired_fire_ingot_mold", output: "tfc:ceramic/fire_ingot_mold", name: "fire_ingot_mold" }, { input: "tfc:ceramic/unfired_brick", output: "minecraft:brick", name: "brick" }, @@ -816,7 +800,7 @@ global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { 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: "tfcchannelcasting:unfired_channel", output: "tfcchannelcasting:channel", name: "channel" }, - { input: "tfcchannelcasting:unfired_mold_table", output: "tfcchannelcasting:mold_table", name: "mold_table" }, + { input: "tfcchannelcasting:unfired_mold_table", output: "tfcchannelcasting:mold_table", name: "mold_table" } ]); global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -849,14 +833,14 @@ global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_fire_ingot_mold", name: "fire_ingot_mold" }, { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" }, { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_channel", name: "channel" }, - { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_mold_table", name: "mold_table" }, + { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_mold_table", name: "mold_table" } ]); global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = /** @type {const} */ ([ { 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" } ]); global.TFC_MEAT_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -920,6 +904,8 @@ global.TFC_MEAT_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfg:food/raw_long_pig_filet", output: "tfg:food/cooked_long_pig_filet", name: "cooked_long_pig_filet" }, { input: "tfg:food/raw_cruncher_ribs", output: "tfg:food/cooked_cruncher_ribs", name: "cooked_cruncher_ribs" }, { input: "tfg:food/raw_stickastackatick", output: "tfg:food/cooked_stickastackatick", name: "cooked_stickastackatick" }, + { input: "tfg:food/raw_burger_patty", output: "tfg:food/cooked_burger_patty", name: "cooked_burger_patty" } + ]); global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -953,7 +939,7 @@ global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "#forge:dusts/borax", output: "4x tfc:powder/flux", name: "flux_powder" }, { input: "#forge:dusts/soda_ash", output: "4x tfc:powder/soda_ash", name: "soda_ash" }, { input: "gtceu:charcoal_dust", output: "2x tfc:powder/charcoal", name: "charcoal" }, - { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" }, + { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" } ]); global.TFC_GRAINS = /** @type {const} */ (["barley", "maize", "oat", "rye", "rice", "wheat"]); @@ -980,7 +966,7 @@ global.TFC_JAMS = /** @type {const} */ ([ "plum", "red_apple", "pumpkin_chunks", - "melon_slice", + "melon_slice" ]); global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -989,7 +975,7 @@ global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ input: "tfc:plant/green_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/green_apple", - name: "green_apple", + name: "green_apple" }, { input: "tfc:plant/lemon_sapling", fluid_amount: 8000, output: "32x tfc:food/lemon", name: "lemon" }, { input: "tfc:plant/olive_sapling", fluid_amount: 8000, output: "32x tfc:food/olive", name: "olive" }, @@ -997,7 +983,7 @@ global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfc:plant/peach_sapling", fluid_amount: 8000, output: "32x tfc:food/peach", name: "peach" }, { input: "tfc:plant/plum_sapling", fluid_amount: 8000, output: "32x tfc:food/plum", name: "plum" }, { input: "tfc:plant/red_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/red_apple", name: "red_apple" }, - { input: "tfc:plant/banana_sapling", fluid_amount: 8000, output: "32x tfc:food/banana", name: "banana" }, + { input: "tfc:plant/banana_sapling", fluid_amount: 8000, output: "32x tfc:food/banana", name: "banana" } ]); global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -1022,21 +1008,11 @@ global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "8x tfc:seeds/papyrus", fluid_amount: 4000, output: "24x tfc:papyrus", name: "papyrus" }, { input: "8x tfc:seeds/pumpkin", fluid_amount: 4000, output: "24x tfc:pumpkin", name: "pumpkin" }, { input: "8x tfc:seeds/melon", fluid_amount: 4000, output: "24x tfc:melon", name: "melon" }, - { - input: "8x tfc:seeds/red_bell_pepper", - fluid_amount: 4000, - output: "24x tfc:food/red_bell_pepper", - name: "red_bell_pepper", - }, - { - input: "8x tfc:seeds/yellow_bell_pepper", - fluid_amount: 4000, - output: "24x tfc:food/yellow_bell_pepper", - name: "yellow_bell_pepper", - }, + { input: "8x tfc:seeds/red_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/red_bell_pepper", name: "red_bell_pepper" }, + { input: "8x tfc:seeds/yellow_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/yellow_bell_pepper", name: "yellow_bell_pepper" }, { input: "8x tfg:sunflower_seeds", fluid_amount: 4000, output: "24x tfg:sunflower_product", name: "sunflower" }, { input: "8x tfg:rapeseed_seeds", fluid_amount: 4000, output: "24x tfg:rapeseed_product", name: "rapeseed" }, - { input: "8x tfg:flax_seeds", fluid_amount: 4000, output: "24x tfg:flax_product", name: "flax" }, + { input: "8x tfg:flax_seeds", fluid_amount: 4000, output: "24x tfg:flax_product", name: "flax" } ]); global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -1045,63 +1021,40 @@ global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfc:plant/gooseberry_bush", fluid_amount: 6000, output: "3x tfc:food/gooseberry", name: "gooseberry" }, { input: "tfc:plant/cloudberry_bush", fluid_amount: 6000, output: "3x tfc:food/cloudberry", name: "cloudberry" }, { input: "tfc:plant/strawberry_bush", fluid_amount: 6000, output: "3x tfc:food/strawberry", name: "strawberry" }, - { - input: "tfc:plant/wintergreen_berry_bush", - fluid_amount: 6000, - output: "3x tfc:food/wintergreen_berry", - name: "wintergreen_berry", - }, + { input: "tfc:plant/wintergreen_berry_bush", fluid_amount: 6000, output: "3x tfc:food/wintergreen_berry", name: "wintergreen_berry" }, { input: "tfc:plant/blackberry_bush", fluid_amount: 6000, output: "3x tfc:food/blackberry", name: "blackberry" }, { input: "tfc:plant/raspberry_bush", fluid_amount: 6000, output: "3x tfc:food/raspberry", name: "raspberry" }, { input: "tfc:plant/blueberry_bush", fluid_amount: 6000, output: "3x tfc:food/blueberry", name: "blueberry" }, { input: "tfc:plant/elderberry_bush", fluid_amount: 6000, output: "3x tfc:food/elderberry", name: "elderberry" }, - { input: "tfc:plant/cranberry_bush", fluid_amount: 6000, output: "3x tfc:food/cranberry", name: "cranberry" }, + { input: "tfc:plant/cranberry_bush", fluid_amount: 6000, output: "3x tfc:food/cranberry", name: "cranberry" } ]); global.TFC_MILKS = /** @type {const} */ ([ { id: "minecraft:milk" }, { id: "firmalife:yak_milk" }, - { id: "firmalife:goat_milk" }, + { id: "firmalife:goat_milk" } // Uncomment this if firmalife ever makes this obtainable //{id: 'firmalife:coconut_milk'}, ]); global.TFC_CURDS_AND_CHEESES = /** @type {const} */ ([ - { - id: "milk", - input_fluid: "tfc:curdled_milk", - curd: "firmalife:food/milk_curd", - cheese1: "gouda", - cheese2: "cheddar", - }, - { - id: "yak", - input_fluid: "firmalife:curdled_yak_milk", - curd: "firmalife:food/yak_curd", - cheese1: "shosha", - cheese2: "rajya_metok", - }, - { - id: "goat", - input_fluid: "firmalife:curdled_goat_milk", - curd: "firmalife:food/goat_curd", - cheese1: "feta", - cheese2: "chevre", - }, + { id: "milk", input_fluid: "tfc:curdled_milk", curd: "firmalife:food/milk_curd", cheese1: "gouda", cheese2: "cheddar"}, + { id: "yak", input_fluid: "firmalife:curdled_yak_milk", curd: "firmalife:food/yak_curd", cheese1: "shosha", cheese2: "rajya_metok"}, + { id: "goat", input_fluid: "firmalife:curdled_goat_milk", curd: "firmalife:food/goat_curd", cheese1: "feta", cheese2: "chevre"} ]); global.TFC_DRY_MUD_BRICKS = /** @type {const} */ ([ "tfc:mud_brick/loam", "tfc:mud_brick/sandy_loam", "tfc:mud_brick/silt", - "tfc:mud_brick/silty_loam", + "tfc:mud_brick/silty_loam" ]); global.TFC_WET_MUD_BRICKS = /** @type {const} */ ([ "tfc:drying_bricks/loam", "tfc:drying_bricks/sandy_loam", "tfc:drying_bricks/silt", - "tfc:drying_bricks/silty_loam", + "tfc:drying_bricks/silty_loam" ]); global.TFC_ALCOHOL = /** @type {const} */ ([ @@ -1113,7 +1066,7 @@ global.TFC_ALCOHOL = /** @type {const} */ ([ { id: "tfc:whiskey", ingredient: "tfc:food/wheat_flour" }, { id: "tfc:corn_whiskey", ingredient: "tfc:food/maize_flour" }, { id: "tfc:rye_whiskey", ingredient: "tfc:food/rye_flour" }, - { id: "firmalife:mead", ingredient: "firmalife:raw_honey" }, + { id: "firmalife:mead", ingredient: "firmalife:raw_honey" } ]); global.TFC_MAGMA_BLOCKS = /** @type {const} */ ([ @@ -1123,7 +1076,7 @@ global.TFC_MAGMA_BLOCKS = /** @type {const} */ ([ "tfc:rock/magma/rhyolite", "tfc:rock/magma/basalt", "tfc:rock/magma/andesite", - "tfc:rock/magma/dacite", + "tfc:rock/magma/dacite" ]); /** diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index c48f0d4cf..7964bc271 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -113,7 +113,7 @@ global.VENUS_BIOMES = [ 'tfg:venus/salt_flats', 'tfg:venus/stromatolite_beach', 'tfg:venus/sulfuric_ravine', - 'tfg:venus/volcanic_mountains', + 'tfg:venus/volcanic_mountains' ] /** @@ -311,7 +311,8 @@ global.WARMING_FOODS = [ 'tfc:food/fruit_soup', 'tfc:food/vegetables_soup', 'tfc:food/protein_soup', - 'tfc:food/dairy_soup' + 'tfc:food/dairy_soup', + 'tfg:food/poutine' ]; /** @@ -325,4 +326,23 @@ global.LAB_EQUIPMENT_CONTAINERS = [ {type: 'beaker', capacity: 1296}, {type: 'flask', capacity: 144}, {type: 'vial', capacity: 16} -]; \ No newline at end of file +]; + +/** + * @typedef {Object} spices + * @property {string} plant - Spice Plant + * @property {string} product - Spice Product + */ +/** @type {spices[]} - Item IDs */ +global.SPICES = [ + // Cinnamon is not obtainable so im not including it yet. + { plant: 'firmalife:plant/basil', product: 'firmalife:spice/basil_leaves' }, + { plant: 'firmalife:plant/vanilla', product: 'firmalife:spice/vanilla' }, + // New spices V + { plant: 'firmalife:plant/bay_laurel', product: 'tfg:spice/bay_leaf' }, + { plant: 'firmalife:plant/cardamom', product: 'tfg:spice/cardamom_pods' }, + { plant: 'firmalife:plant/cilantro', product: 'tfg:spice/cilantro_leaves' }, + { plant: 'firmalife:plant/cumin', product: 'tfg:spice/cumin_seeds' }, + { plant: 'firmalife:plant/oregano', product: 'tfg:spice/oregano_leaves' }, + { plant: 'firmalife:plant/pimento', product: 'tfg:spice/allspice' } +]; diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index 4fa8ff488..5a6b9888d 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -335,4 +335,155 @@ function registerTFGFoodItems(event) { ctx.player.give('tfc:ceramic/bowl') }) }) + + // Fried Cheese Curds + event.create('tfg:food/raw_beer_battered_cheese_curds') + .translationKey('item.tfg.food.raw_beer_battered_cheese_curds') + .texture('tfg:item/food/raw_beer_battered_cheese_curds') + .food(food => food.hunger(1).saturation(1)) + .tag('tfc:foods'); + + event.create('tfg:food/cooked_beer_battered_cheese_curds') + .translationKey('item.tfg.food.cooked_beer_battered_cheese_curds') + .texture('tfg:item/food/cooked_beer_battered_cheese_curds') + .food(food => food.hunger(3).saturation(2)) + .tag('tfc:foods') + .tag('tfc:foods/usable_in_burgers'); + + // French Fries + event.create('tfg:food/raw_fries') + .translationKey('item.tfg.food.raw_fries') + .texture('tfg:item/food/raw_fries') + .food(food => food.hunger(1).saturation(1)) + .tag('tfc:foods'); + + event.create('tfg:food/cooked_fries') + .translationKey('item.tfg.food.cooked_fries') + .texture('tfg:item/food/cooked_fries') + .food(food => food.hunger(3).saturation(2)) + .tag('tfc:foods') + .tag('tfc:foods/usable_in_burgers'); + + // Poutine + event.create('tfg:food/poutine') + .translationKey('item.tfg.food.poutine') + .texture('tfg:item/food/poutine') + .food(food => food.hunger(8).saturation(6)) + .tag('tfc:foods'); + + // Brioche Bun + event.create('tfg:food/brioche_dough') + .translationKey('item.tfg.food.brioche_dough') + .texture('tfg:item/food/brioche_dough') + .food(food => food.hunger(2).saturation(1)) + .tag('tfc:foods'); + + event.create('tfg:food/brioche_bun') + .translationKey('item.tfg.food.brioche_bun') + .texture('tfg:item/food/brioche_bun') + .food(food => food.hunger(4).saturation(2)) + .tag('tfc:foods'); + + // Burgers + event.create('tfg:food/raw_burger_patty') + .translationKey('item.tfg.food.raw_burger_patty') + .texture('tfg:item/food/raw_burger_patty') + .food(food => food.hunger(2).saturation(1) + .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') + .tag('tfc:foods/meats') + .tag('tfc:foods/raw_meats') + .tag('tfc:foods/can_be_salted'); + + event.create('tfg:food/cooked_burger_patty') + .translationKey('item.tfg.food.cooked_burger_patty') + .texture('tfg:item/food/cooked_burger_patty') + .food(food => food.hunger(5).saturation(4)) + .tag('tfc:foods') + .tag('tfc:foods/meats') + .tag('tfc:foods/cooked_meats') + .tag('tfg:foods/usable_in_burgers'); + + event.create('tfg:food/hamburger') + .translationKey('item.tfg.food.hamburger') + .texture('tfg:item/food/hamburger') + .food(food => food.hunger(12).saturation(10)) + .tag('tfc:foods'); + + event.create('tfg:food/cheeseburger') + .translationKey('item.tfg.food.cheeseburger') + .texture('tfg:item/food/cheeseburger') + .food(food => food.hunger(12).saturation(10)) + .tag('tfc:foods'); + + // Slice of "Cheese" (intentionally not tagged as food) + event.create('tfg:food/slice_of_cheese') + .translationKey('item.tfg.food.slice_of_cheese') + .texture('tfg:item/food/slice_of_cheese') + .food(food => food.hunger(4).saturation(2) + .eaten(ctx => { + ctx.player.give(ChemicalHelper.get(TagPrefix.foil, GTMaterials.Polyethylene, 1)) + })) + .tag('tfc:foods/usable_in_jam_sandwich') + .tag('tfc:foods/usable_in_jam_sandwich_2') + .tag('tfc:foods/usable_in_sandwich') + .tag('tfg:foods/usable_in_meal_bag') + .tag('tfc:foods/dairy'); + + // Oatmeal + event.create('tfg:food/oatmeal') + .translationKey('item.tfg.food.oatmeal') + .texture('tfg:item/food/oatmeal') + .food(food => food.hunger(8).saturation(8)); + + // Instant Mac + event.create('tfg:food/raw_instant_mac') + .translationKey('item.tfg.food.raw_instant_mac') + .texture('tfg:item/food/raw_instant_mac') + .food(food => food.hunger(2).saturation(2) + .eaten(ctx => { + ctx.player.give('create:cardboard') + })); + + event.create('tfg:food/cooked_instant_mac') + .translationKey('item.tfg.food.cooked_instant_mac') + .texture('tfg:item/food/cooked_instant_mac') + .food(food => food.hunger(4).saturation(4) + .eaten(ctx => { + ctx.player.give('create:cardboard') + })); + + //#region Spices + + // Bay + event.create('tfg:spice/bay_leaf') + .translationKey('item.tfg.food.bay_leaf') + .texture('tfg:item/food/bay_leaf'); + + // Cardamom + event.create('tfg:spice/cardamom_pods') + .translationKey('item.tfg.food.cardamom_pods') + .texture('tfg:item/food/cardamom_pods'); + + // Cilantro + event.create('tfg:spice/cilantro_leaves') + .translationKey('item.tfg.food.cilantro_leaves') + .texture('tfg:item/food/cilantro_leaves'); + + // Cumin + event.create('tfg:spice/cumin_seeds') + .translationKey('item.tfg.food.cumin_seeds') + .texture('tfg:item/food/cumin_seeds'); + + // Oregano + event.create('tfg:spice/oregano_leaves') + .translationKey('item.tfg.food.oregano_leaves') + .texture('tfg:item/food/oregano_leaves'); + + // Allspice + event.create('tfg:spice/allspice') + .translationKey('item.tfg.food.allspice') + .texture('tfg:item/food/allspice'); + + //#endregion } diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index ac1d7c902..76fdb3038 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -553,4 +553,34 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.EXPLOSIVE) .macerateInto('gtceu:polycaprolactam') .color(0x000000) + + //#endregion + //#region Food Materials(?) + + event.create('tfg:sodium_dihydrogen_citrate') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.BRIGHT) + .components('6x carbon', '7x hydrogen', '1x sodium', '7x oxygen') + .color('0xE38818') + + event.create('tfg:citric_acid') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.SHINY) + .components('6x carbon', '8x hydrogen', '7x oxygen') + .color('0xE3AD18') + + // I decided to make these materials because why not? + event.create('tfg:rich_stock') + .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); + + event.create('tfg:light_stock') + .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); + + event.create('tfg:brown_gravy') + .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); + + //#endregion + } From 8e9c1d0d8cd9f1e1111bfb4932322b0224efdc40 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 17 Nov 2025 10:47:18 -0600 Subject: [PATCH 078/628] disable cooling tower controller for now Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/tfg/recipes.nuclear.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.nuclear.js b/kubejs/server_scripts/tfg/recipes.nuclear.js index 492920b91..4a60059ab 100644 --- a/kubejs/server_scripts/tfg/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/recipes.nuclear.js @@ -483,7 +483,7 @@ function registerTFGNuclearRecipes(event) { .circuit(6) .EUt(GTValues.VA[GTValues.IV] * 2) .duration(20*4) - + /* event.shaped('tfg:cooling_tower', [ 'ABA', 'CDC', @@ -495,7 +495,7 @@ function registerTFGNuclearRecipes(event) { D: 'gtceu:iv_machine_hull', E: 'gtceu:iv_fluid_regulator' }).id('tfg:shaped/cooling_tower') - + */ //#endregion //#region FLiBe Line - SCRAP FROM MARS TO VENUS From 54df5e7dba4af2f10a02aa827fb9c119b9cd4b20 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 17 Nov 2025 11:02:04 -0600 Subject: [PATCH 079/628] make nitrocellulose a little less annoying to make Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/tacz/recipes.ammo.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tacz/recipes.ammo.js b/kubejs/server_scripts/tacz/recipes.ammo.js index 5810126d2..f0aebe5fe 100644 --- a/kubejs/server_scripts/tacz/recipes.ammo.js +++ b/kubejs/server_scripts/tacz/recipes.ammo.js @@ -54,15 +54,15 @@ function registerTACZAmmoRecipes(event){ //Additives event.recipes.gtceu.chemical_reactor('tfg_tacz:nitrocellulose_from_wood') .itemInputs('gtceu:thermochemically_treated_hardwood_dust') - .inputFluids(Fluid.of('gtceu:nitric_acid', 200), Fluid.of('gtceu:sulfuric_acid', 400), Fluid.of('minecraft:water', 600)) + .inputFluids(Fluid.of('gtceu:nitration_mixture', 800), Fluid.of('minecraft:water', 600)) .itemOutputs('2x tfg:nitrocellulose') .EUt(GTValues.VA[GTValues.EV]) .duration(20) event.recipes.gtceu.chemical_reactor('tfg_tacz:nitrocellulose_from_wood_dih20') .itemInputs('gtceu:thermochemically_treated_hardwood_dust') - .inputFluids(Fluid.of('gtceu:nitric_acid', 200), Fluid.of('gtceu:sulfuric_acid', 400), Fluid.of('gtceu:distilled_water', 600)) + .inputFluids(Fluid.of('gtceu:nitration_mixture', 800), Fluid.of('gtceu:distilled_water', 600)) .itemOutputs('4x tfg:nitrocellulose') - .outputFluids(Fluid.of('gtceu:nitration_mixture', 100)) + .outputFluids(Fluid.of('gtceu:sulfuric_acid', 200)) .EUt(GTValues.VA[GTValues.EV]) .duration(40) From f01cc470f23ba8132055e9a64afd7e01e1f3c06f Mon Sep 17 00:00:00 2001 From: Mqrius Date: Mon, 17 Nov 2025 18:26:03 +0100 Subject: [PATCH 080/628] Add platinum group ore and fluid tags (#2230) Allow easy filtering of platinum-containing ores Signed-off-by: Mqrius Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/tfg/tags.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 25202c8c5..c00e49499 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -69,6 +69,14 @@ const registerTFGItemTags = (event) => { event.add('deafission:fuels', 'tfg:plutonium_rod') event.add('tfg:fission_rods', '#deafission:fuels') + // Platline + event.add('tfg:platinum_ore_group', 'gtceu:purified_pentlandite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcopyrite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_tetrahedrite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_bornite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_cooperite_ore') + event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcocite_ore') + //#region Tools & Armor event.add('forge:tools/fishing_nets', 'tfg:fishing_net/wood') event.add('forge:tools/fishing_nets', 'tfg:fishing_net/brass') @@ -880,6 +888,10 @@ const registerTFGFluidTags = (event) => { global.BREATHABLE_COMPRESSED_AIRS.forEach(x => { event.add('tfg:breathable_compressed_air', x) }) + + // Platline tags + event.add('tfg:sulfuric_metal_solution', 'gtceu:sulfuric_copper_solution') + event.add('tfg:sulfuric_metal_solution', 'gtceu:sulfuric_nickel_solution') } //#endregion @@ -972,4 +984,4 @@ const registerTFGPlacedFeatures = (event) => { // #endregion -} \ No newline at end of file +} From 9e97f3f25bc3fa679cc9c2e48d3816c2a61dd218 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 17 Nov 2025 11:30:16 -0600 Subject: [PATCH 081/628] Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index caf5d0943..45276d97c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,8 @@ - Added lots of new food items including fries, burgers, oatmeal, mac and cheese, poutine, and more! @Redeix - Added processed spices for firmalife spice crops (except cinnamon). @Redeix - Reduced base food oven recipe time from 300 to 200 ticks @Redeix +- Made Nitrocellulose less annoying to craft @BlueBoat29 +- Added tags to platinum group ores @Mqrius ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie From b2f70d3f99d03ec072b8ed759f736c1866e48866 Mon Sep 17 00:00:00 2001 From: Nebby <78170922+Nebby1999@users.noreply.github.com> Date: Mon, 17 Nov 2025 15:53:16 -0300 Subject: [PATCH 082/628] Support Recycling (#2211) Co-authored-by: Redeix --- kubejs/server_scripts/afc/tags.js | 2 + kubejs/server_scripts/gregtech/recipes.js | 16 +++++ kubejs/server_scripts/tfc/recipes.stone.js | 15 ++++ kubejs/server_scripts/tfc/tags.js | 20 +++--- kubejs/server_scripts/tfg/recipes.supports.js | 71 +++++++++++++++---- 5 files changed, 99 insertions(+), 25 deletions(-) diff --git a/kubejs/server_scripts/afc/tags.js b/kubejs/server_scripts/afc/tags.js index f56819634..771ed2740 100644 --- a/kubejs/server_scripts/afc/tags.js +++ b/kubejs/server_scripts/afc/tags.js @@ -30,6 +30,7 @@ const registerAFCItemTags = (event) => { event.add('tfg:hardwood', `#afc:${woodType}_logs`) event.add('tfg:stripped_hardwood', `afc:wood/stripped_log/${woodType}`) event.add('tfg:stripped_hardwood', `afc:wood/stripped_wood/${woodType}`) + event.add('tfg:hardwood_supports', `afc:wood/support/${woodType}`); }); //Softwood Tags @@ -37,6 +38,7 @@ const registerAFCItemTags = (event) => { event.add('tfg:softwood', `#afc:${woodType}_logs`) event.add('tfg:stripped_softwood', `afc:wood/stripped_log/${woodType}`) event.add('tfg:stripped_softwood', `afc:wood/stripped_wood/${woodType}`) + event.add('tfg:softwood_supports', `afc:wood/support/${woodType}`); }) // AFC saplings are missing the item tag for whatever reason diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 52694c1f4..b76dc2ea4 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -938,6 +938,22 @@ const registerGTCEURecipes = (event) => { }) // #endregion + //#region support recycling + event.recipes.gtceu.macerator(`hardwood_support_to_dust`) + .itemInputs('#tfg:hardwood_supports') + .itemOutputs('gtceu:hardwood_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); + + event.recipes.gtceu.macerator(`softwood_support_to_dust`) + .itemInputs('#tfg:softwood_supports') + .itemOutputs('gtceu:wood_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); + //#endregion + //#region Voiding covers event.replaceInput({ id: 'gtceu:shaped/cover_fluid_voiding' }, diff --git a/kubejs/server_scripts/tfc/recipes.stone.js b/kubejs/server_scripts/tfc/recipes.stone.js index 41cc3e426..28df78c39 100644 --- a/kubejs/server_scripts/tfc/recipes.stone.js +++ b/kubejs/server_scripts/tfc/recipes.stone.js @@ -1,6 +1,10 @@ // priority: 0 "use strict"; +/** + * + * @param {Internal.RecipesEventJS} event + */ function registerTFCStoneRecipes(event) { global.TFC_STONE_TYPES.forEach(stone => { @@ -561,6 +565,17 @@ function registerTFCStoneRecipes(event) { .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) + //#endregion + + //#region Recycle beam + let dustSmall = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1); + event.recipes.gtceu.macerator(`${stone}_support_to_dust`) + .itemInputs(`tfg:${stone}_support`) + .itemOutputs(dustSmall) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); + //#endregion //#endregion diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 259a8fe0b..ec4deede5 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -151,6 +151,7 @@ function registerTFCItemTags(event) { event.add("tfg:hardwood", `#tfc:${woodType}_logs`); event.add("tfg:stripped_hardwood", `tfc:wood/stripped_log/${woodType}`); event.add("tfg:stripped_hardwood", `tfc:wood/stripped_wood/${woodType}`); + event.add("tfg:hardwood_supports", `tfc:wood/support/${woodType}`); }); //Softwood Tags @@ -158,6 +159,7 @@ function registerTFCItemTags(event) { event.add("tfg:softwood", `#tfc:${woodType}_logs`); event.add("tfg:stripped_softwood", `tfc:wood/stripped_log/${woodType}`); event.add("tfg:stripped_softwood", `tfc:wood/stripped_wood/${woodType}`); + event.add("tfg:softwood_supports", `tfc:wood/support/${woodType}`); }); // Теги для сосудов по цветам @@ -260,15 +262,19 @@ function registerTFCItemTags(event) { // Теги для каменных ступенек тфк global.TFC_STONE_TYPES.forEach((stoneTypeName) => { + + //Add to buttons + event.add("minecraft:stone_buttons", `tfc:rock/button/${stoneTypeName}`); + event.add("minecraft:buttons", `tfc:rock/button/${stoneTypeName}`); + + //Add to rock slabs global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach((slabType) => { event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`); event.add(`tfg:rock_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`); event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`); }); - }); - - // Теги для кирпичных ступенек тфк - global.TFC_STONE_TYPES.forEach((stoneTypeName) => { + + //Add to brick slabs global.TFC_BRICK_SLAB_BLOCK_TYPES.forEach((slabType) => { event.add(`tfg:brick_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`); event.add(`tfg:brick_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`); @@ -329,12 +335,6 @@ function registerTFCItemTags(event) { event.add("forge:mushrooms", "tfc:plant/artists_conk"); event.add("forge:raw_materials/sylvite", "tfc:ore/sylvite"); - - global.TFC_STONE_TYPES.forEach((stone) => { - event.add("minecraft:stone_buttons", `tfc:rock/button/${stone}`); - event.add("minecraft:buttons", `tfc:rock/button/${stone}`); - }); - event.add("tfc:any_knapping", "#tfc:pit_kiln_straw"); event.add("tfg:burlap_fiber", "tfc:jute_fiber"); diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/recipes.supports.js index ddb1e88c4..741a821e9 100644 --- a/kubejs/server_scripts/tfg/recipes.supports.js +++ b/kubejs/server_scripts/tfg/recipes.supports.js @@ -13,14 +13,21 @@ function registerTFGSupportRecipes(event) { .itemInputs('1x tfg:rebar_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') .inputFluids(Fluid.of('gtceu:concrete', 96)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(120) .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`) + .itemInputs('tfg:reinforced_light_concrete_support') + .itemOutputs('gtceu:tiny_steel_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); + event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support') .inputFluids(Fluid.of('tfc:black_dye', 10)) .itemOutputs('1x tfg:reinforced_dark_concrete_support') @@ -35,6 +42,13 @@ function registerTFGSupportRecipes(event) { .duration(60) .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.macerator(`reinforced_dark_concrete_support_to_dust`) + .itemInputs('tfg:reinforced_dark_concrete_support') + .itemOutputs('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', [ 'AB ', @@ -116,19 +130,19 @@ function registerTFGSupportRecipes(event) { // REDO w/ table and loop const EXO_STONE_SUPPORTS = [ - { loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support' }, - { loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support' }, - { loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support' }, - { loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support' }, - { loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support' }, - { loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support' }, - { loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support' }, - { loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support' }, - { loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support' }, - { loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support' }, - { loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support' }, - { loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support' }, - { loose: 'gtceu:stone_ingot', support: 'tfg:stone_support' } + { loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support', material: 'deepslate' }, + { loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support', material: 'blackstone', }, + { loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support', material: 'dripstone' }, + { loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support', material: 'netherrack'}, + { loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support', material: 'moon_stone' }, + { loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support', material: 'moon_deepslate' }, + { loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support', material: 'mars_stone' }, + { loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support', material: 'venus_stone', }, + { loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support', material: 'mercury_stone' }, + { loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support', material: 'glacio_stone' }, + { loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support', material: 'ice' }, + { loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support', material: 'granite_red' }, + { loose: 'gtceu:stone_ingot', support: 'tfg:stone_support', material: 'stone' } ] EXO_STONE_SUPPORTS.forEach(s => { @@ -151,6 +165,19 @@ function registerTFGSupportRecipes(event) { .itemInputs(`3x ${s.loose}`) .duration(40) .EUt(GTValues.VA[GTValues.ULV]) + + console.log(s.material); + let regexMatch = s.support.match(/tfg:(.*?)_support/); + let supportName = regexMatch[1]; + let stoneMaterial = TFGHelpers.getMaterial(s.material); + let dustSmall = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1) + + event.recipes.gtceu.macerator(`${supportName}_support_to_dust`) + .itemInputs(s.support) + .itemOutputs(dustSmall) + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); }) // Metal Supports @@ -170,6 +197,13 @@ function registerTFGSupportRecipes(event) { .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', @@ -186,4 +220,11 @@ function registerTFGSupportRecipes(event) { .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); } From 6945751ac452bb3dd073cc51bb2a095a902c03b3 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:22:21 -0600 Subject: [PATCH 083/628] bunch of misc things before the update (#2236) * update pakku for core * Update moldraw.yaml * kaolinite moment * adjust flintlock to wrought iron to see how it goes * tweak flintlock damage * Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 1 + config/moldraw.yaml | 2 +- kubejs/assets/tfg/molecules/kaolinite.json | 707 ++++++++++++++++++ kubejs/server_scripts/tacz/index_modifiers.js | 11 + kubejs/server_scripts/tacz/recipes.guns.js | 6 +- kubejs/server_scripts/tacz/recipes.misc.js | 18 +- pakku-lock.json | 36 +- 7 files changed, 758 insertions(+), 23 deletions(-) create mode 100644 kubejs/assets/tfg/molecules/kaolinite.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 45276d97c..b3d9162c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - Reduced base food oven recipe time from 300 to 200 ticks @Redeix - Made Nitrocellulose less annoying to craft @BlueBoat29 - Added tags to platinum group ores @Mqrius +- Moved the Flintlock from Steel --> Wrought Iron @BlueBoat29 ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie diff --git a/config/moldraw.yaml b/config/moldraw.yaml index 412541969..85f917542 100644 --- a/config/moldraw.yaml +++ b/config/moldraw.yaml @@ -4,7 +4,7 @@ debugMode: false coloredAtoms: true -useMaterialColors: true +useMaterialColors: false onlyShowOnShift: true diff --git a/kubejs/assets/tfg/molecules/kaolinite.json b/kubejs/assets/tfg/molecules/kaolinite.json new file mode 100644 index 000000000..991af7e08 --- /dev/null +++ b/kubejs/assets/tfg/molecules/kaolinite.json @@ -0,0 +1,707 @@ +{ + "contents": [ + { + "type": "atom", + "element": "Si", + "index": 0, + "x": 1.6063, + "y": -0.595 + }, + { + "type": "atom", + "element": "Si", + "index": 1, + "x": 2.5813, + "y": -0.2263 + }, + { + "type": "atom", + "element": "Si", + "index": 2, + "x": 4.5, + "y": -0.9388 + }, + { + "type": "atom", + "element": "Si", + "index": 3, + "x": 5.8438, + "y": -0.0013 + }, + { + "type": "atom", + "element": "Si", + "index": 4, + "x": 7.95, + "y": -0.57 + }, + { + "type": "atom", + "element": "Si", + "index": 5, + "x": 8.5688, + "y": -0.1688 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 3.125, + "y": -0.0438 + }, + { + "type": "atom", + "element": "O", + "index": 8, + "x": 2.1, + "y": 0.2437 + }, + { + "type": "atom", + "element": "O", + "index": 9, + "x": 1.1813, + "y": 0.6937 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 4.1438, + "y": 0.5437 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 4.4625, + "y": -0.5113 + }, + { + "type": "atom", + "element": "O", + "index": 12, + "x": 6.2813, + "y": 0.0387 + }, + { + "type": "atom", + "element": "O", + "index": 13, + "x": 6.3125, + "y": 0.9012 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": 7.325, + "y": 0.5325 + }, + { + "type": "atom", + "element": "O", + "index": 15, + "x": 8.3625, + "y": 0.2825 + }, + { + "type": "atom", + "element": "O", + "index": 16, + "x": 9.4188, + "y": -0.1113 + }, + { + "type": "atom", + "element": "O", + "index": 17, + "x": 9.8125, + "y": 0.5262 + }, + { + "type": "atom", + "element": "O", + "index": 18, + "x": 4.4563, + "y": -2.4988 + }, + { + "type": "atom", + "element": "O", + "index": 19, + "x": 5.9938, + "y": -1.7263 + }, + { + "type": "atom", + "element": "O", + "index": 20, + "x": 2.625, + "y": -1.945 + }, + { + "type": "atom", + "element": "O", + "index": 21, + "x": 1.775, + "y": -2.3388 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 22, + "x": 5.095, + "y": -2.0925 + }, + { + "type": "atom", + "element": "O", + "index": 23, + "x": 8.4925, + "y": -1.8438 + }, + { + "type": "atom", + "element": "O", + "below": "H", + "index": 24, + "x": 0.833, + "y": -4.4747 + }, + { + "type": "atom", + "element": "O", + "below": "H", + "index": 25, + "x": 3.503, + "y": -4.6247 + }, + { + "type": "atom", + "element": "O", + "below": "H", + "index": 26, + "x": 4.253, + "y": -4.2047 + }, + { + "type": "atom", + "element": "O", + "below": "H", + "index": 27, + "x": 6.883, + "y": -4.3747 + }, + { + "type": "atom", + "element": "O", + "below": "H", + "index": 28, + "x": 7.593, + "y": -4.0047 + }, + { + "type": "atom", + "element": "Al", + "index": 29, + "x": 6.393, + "y": -3.0147 + }, + { + "type": "atom", + "element": "Al", + "index": 30, + "x": 3.013, + "y": -3.2547 + }, + { + "type": "atom", + "element": "O", + "index": 31, + "x": 8.0671, + "y": -2.3257 + }, + { + "type": "bond", + "a": 6, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 20, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 8, + "b": 21, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 8, + "b": 20, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 13, + "b": 19, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 10, + "b": 19, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 14, + "b": 19, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 14, + "b": 23, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 15, + "b": 23, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 20, + "b": 24, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 26, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 26, + "b": 20, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 19, + "b": 26, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 26, + "b": 28, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 28, + "b": 19, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 10, + "b": 20, + "lines": [ + "dotted" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 31, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 31, + "lines": [ + "dotted" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tacz/index_modifiers.js b/kubejs/server_scripts/tacz/index_modifiers.js index 01946e5b8..3f7cc5d57 100644 --- a/kubejs/server_scripts/tacz/index_modifiers.js +++ b/kubejs/server_scripts/tacz/index_modifiers.js @@ -109,6 +109,17 @@ const gunDataLogic = (event) => { const id = event.getId().toString(); const json = JSON.parse(event.getStdJson()); + if (id === "ulv_guns:flintlock_data"){ + json.bullet.damage = 14; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 15, "damage": 14}, + {"distance": 35, "damage": 12}, + {"distance": 45, "damage": 10}, + {"distance": "infinite", "damage": 8} + ] + } + if(id === "create_armorer:pistol_revolver_torque_data"){ json.bullet.extra_damage.armor_ignore = 0.25; } diff --git a/kubejs/server_scripts/tacz/recipes.guns.js b/kubejs/server_scripts/tacz/recipes.guns.js index 2ec61fc5b..40d6dda8f 100644 --- a/kubejs/server_scripts/tacz/recipes.guns.js +++ b/kubejs/server_scripts/tacz/recipes.guns.js @@ -10,13 +10,13 @@ function registerTACZGunRecipes(event){ ], { A: '#forge:tools/files', B: 'tfg:flintlock_mechanism', - C: 'gtceu:steel_small_fluid_pipe', + C: 'gtceu:lead_small_fluid_pipe', D: '#firmaciv:hard_wood', E: '#forge:tools/saws', F: '#forge:ingots/brass', G: '#forge:tools/screwdrivers' - }).id('tacz:flintlock_pistol'); + }).id('tfg_tacz:flintlock_pistol'); /* NYI event.shaped(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"ulv_guns:blunderbuss",HasBulletInBarrel:1b}'), [ 'ABC', @@ -46,7 +46,7 @@ function registerTACZGunRecipes(event){ F: '#forge:ingots/black_steel', G: '#forge:tools/screwdrivers' - }).id('tacz:trapdoor_rifle'); + }).id('tfg_tacz:trapdoor_rifle'); //DB shotguns event.recipes.gtceu.assembler('tfg_tacz:db_short') diff --git a/kubejs/server_scripts/tacz/recipes.misc.js b/kubejs/server_scripts/tacz/recipes.misc.js index 90901ff94..c37803055 100644 --- a/kubejs/server_scripts/tacz/recipes.misc.js +++ b/kubejs/server_scripts/tacz/recipes.misc.js @@ -59,6 +59,22 @@ function registerTACZMiscRecipes(event) { }).id('tfg:shell_casing_extruder_mold'); //Mechanisms + event.shaped('tfg:flintlock_mechanism', [ + 'ABC', + 'DEF', + 'GHI' + ], { + A: '#forge:tools/screwdrivers', + B: '#forge:gems/flint', + C: '#forge:tools/files', + D: '#forge:springs', + E: '#forge:bolts/wrought_iron', + F: '#forge:double_plates/wrought_iron', + G: '#forge:tools/wire_cutters', + H: '#forge:gears/wrought_iron', + I: '#forge:tools/hammers' + }).id('tfg:shaped/flintlock_mechanism_iron'); + event.shaped('tfg:flintlock_mechanism', [ 'ABC', 'DEF', @@ -73,7 +89,7 @@ function registerTACZMiscRecipes(event) { G: '#forge:tools/wire_cutters', H: '#forge:small_gears/steel', I: '#forge:tools/hammers' - }).id('tfg:shaped/flintlock_mechanism'); + }).id('tfg:shaped/flintlock_mechanism_steel'); event.recipes.gtceu.assembler('tfg:advanced_clockwork_mechanism') .itemInputs('2x greate:aluminium_cogwheel', 'greate:silicone_rubber_belt_connector', '2x #forge:springs/aluminium', diff --git a/pakku-lock.json b/pakku-lock.json index fc79be611..26a1b0f0a 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -13809,7 +13809,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.5.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.6.jar", "mc_versions": [ "1.20.1" ], @@ -13818,44 +13818,44 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/f95K1jmA/TerraFirmaGreg-Core-Modern-0.8.5.jar", - "id": "f95K1jmA", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/w34zm4Xq/TerraFirmaGreg-Core-Modern-0.8.6.jar", + "id": "w34zm4Xq", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "222d5b1f39261ea051316a7ac68acf9761f41d815b84a0325887957784cb52ec9388146f9435cdbec6fc42f236cc4b6f3bfb6b7da1b59102f90f414ad7aa62fb", - "sha1": "d4d7f1a4fa9690d45b09b17ca2d6f00097ac4d25" + "sha512": "677785f7b14208293f9a4ec2d1605339b47f3bd76e81daf5709fb9a19851f4a5149b590e9e2ad4a423839352946d3f976897089386da6508cfad5bd0f82e6499", + "sha1": "8c37ab2de9e8a646395b49088d21abb692e54909" }, "required_dependencies": [ - "7tG215v7", - "JaCEZUhg" + "JaCEZUhg", + "7tG215v7" ], - "size": 9246856, - "date_published": "2025-10-29T13:26:55.488427Z" + "size": 9283735, + "date_published": "2025-11-17T08:16:44.842196Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.5.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.6.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7163/303/TerraFirmaGreg-Core-Modern-0.8.5.jar", - "id": "7163303", + "url": "https://edge.forgecdn.net/files/7231/807/TerraFirmaGreg-Core-Modern-0.8.6.jar", + "id": "7231807", "parent_id": "513402", "hashes": { - "sha1": "d4d7f1a4fa9690d45b09b17ca2d6f00097ac4d25", - "md5": "dd221274e0df33e3312defa69f416350" + "sha1": "8c37ab2de9e8a646395b49088d21abb692e54909", + "md5": "0fba8bdf94413edb751a97ed05943ca8" }, "required_dependencies": [ "302973", "890405" ], - "size": 9246856, - "date_published": "2025-10-29T13:26:50.930Z" + "size": 9283735, + "date_published": "2025-11-17T08:16:39.213Z" } ] }, From 9dd6f60527bf03adaec78fa626968a7abc321716 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:28:22 -0600 Subject: [PATCH 084/628] the scope costs 3x more black steel than the gun??????? Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/tacz/recipes.attach.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tacz/recipes.attach.js b/kubejs/server_scripts/tacz/recipes.attach.js index 18164e679..4ffab3aa5 100644 --- a/kubejs/server_scripts/tacz/recipes.attach.js +++ b/kubejs/server_scripts/tacz/recipes.attach.js @@ -12,7 +12,7 @@ function registerTACZAttachRecipes(event){ B: 'tfc:lens', C: 'gtceu:brass_small_item_pipe', D: '#forge:tools/screwdrivers', - E: '#forge:screws/black_steel', + E: '#forge:screws', F: '#forge:tools/files' }).id('tfg_tacz:trapdoor_scope'); From 533191318cc568090af5b25add75784b64b80470 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Tue, 18 Nov 2025 22:18:28 -0600 Subject: [PATCH 085/628] I think I got language merger to work (#2243) * update pakku for core * Update moldraw.yaml * kaolinite moment * adjust flintlock to wrought iron to see how it goes * tweak flintlock damage * Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> * I think I did the language merger right * fix ja_jp * fixes betterend block in enderman overhaul --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- .../assets/endermanoverhaul/lang/en_us.json | 80 ------------------- .../assets/endermanoverhaul/lang/ja_jp.json | 80 ------------------- .../primitive_creatures/lang/en_us.json | 16 ++-- .../primitive_creatures/lang/ja_jp.json | 16 ++-- kubejs/assets/tfg/lang/en_us.json | 22 ++--- kubejs/assets/tfg/lang/pt_br.json | 8 +- 6 files changed, 31 insertions(+), 191 deletions(-) diff --git a/kubejs/assets/endermanoverhaul/lang/en_us.json b/kubejs/assets/endermanoverhaul/lang/en_us.json index 72a21903a..9f8aee6e7 100644 --- a/kubejs/assets/endermanoverhaul/lang/en_us.json +++ b/kubejs/assets/endermanoverhaul/lang/en_us.json @@ -1,85 +1,5 @@ { "__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": "Aeridium", - "block.betterend.amaranita_stem": "Amaranita Stem", - "block.betterend.amber_grass": "Amber Grass", - "block.betterend.amber_root_wild": "Wild Amber Shoots", - "block.betterend.amber_root_dead": "Dead Amber Shoots", - "block.betterend.amber_root": "Amber Shoots", - "block.betterend.aurant_polypore": "Aurant Polypore", - "block.betterend.blooming_cooksonia": "Blooming Cooksonia", - "block.betterend.blossom_berry": "Blossom Berry", - "block.betterend.blossom_berry_wild": "Wild Blossom Berry", - "block.betterend.blossom_berry_dead": "Dead Blossom Berry", - "block.betterend.bolux_mushroom": "Bolux Mushroom Colony", - "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony", - "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony", - "block.betterend.bushy_grass": "Novagrass", - "block.betterend.bulb_moss": "Bulb Moss", - "block.betterend.cave_bush": "Carmine Lamella", - "block.betterend.cave_bush_fallen": "Small Carmine Lamella", - "block.betterend.cave_grass": "Vermilligma", - "block.betterend.cave_pumpkin": "Bulbkin", - "block.betterend.cave_pumpkin_wild": "Wild Bulbkin Stem", - "block.betterend.cave_pumpkin_dead": "Dead Bulbkin Stem", - "block.betterend.cave_pumpkin_plant": "Bulbkin Stem", - "block.betterend.charnia_cyan": "Cyan Charnia", - "block.betterend.charnia_green": "Green Charnia", - "block.betterend.charnia_light_blue": "Teal Charnia", - "block.betterend.charnia_orange": "Orange Charnia", - "block.betterend.charnia_purple": "Purple Charnia", - "block.betterend.charnia_red": "Red Charnia", - "block.betterend.chorus_grass": "Chorus Grass", - "block.betterend.chorus_lily": "Chorus Lily", - "block.betterend.chorus_mushroom": "Chalmie Mushroom Colony", - "block.betterend.chorus_mushroom_wild": "Wild Chalmie Mushroom Colony", - "block.betterend.chorus_mushroom_dead": "Dead Chalmie Mushroom Colony", - "block.betterend.clawfern": "Clawfern", - "block.betterend.crystal_grass": "Crystal Grass", - "block.betterend.end_lily": "Deimos Lily", - "block.betterend.end_lily_seed": "Deimos Lily Sprout", - "block.betterend.end_lotus_flower": "Phobos Lotus Flower", - "block.betterend.end_lotus_leaf": "Phobos Lotus Leaf", - "block.betterend.end_lotus_stem": "Phobos Lotus Stem", - "block.betterend.end_lotus_seed": "Phobos Lotus Sprout", - "block.betterend.filalux_wings": "Filalux Wings", - "block.betterend.flamaea": "Flamaea Mushroom", - "block.betterend.flammalix": "Flammalix Mushroom", - "block.betterend.fracturn": "Fracturn", - "block.betterend.glacian_hymenophore": "Glacian Hymenophore", - "block.betterend.globulagus": "Globulagus", - "block.betterend.hydralux": "Hydralux", - "block.betterend.hydralux_sapling": "Hydralux Sprout", - "block.betterend.inflexia": "Inflexia", - "block.betterend.lacugrove": "Lacugrove Algae", - "block.betterend.lamellarium": "Lamellarium", - "block.betterend.lanceleaf": "Lanceleaf", - "block.betterend.lanceleaf_small": "Lanceleaf Dagger", - "block.betterend.large_amaranita_mushroom": "Large Amaranita Mushroom", - "block.betterend.lucernia_leaves": "Lucernia Lamella", - "block.betterend.lucernia_leaves_fallen": "Small Lucernia Lamella", - "block.betterend.lucernia_outer_leaves": "Lucernia Hyphae", - "block.betterend.lutebus": "Lutebus", - "block.betterend.magnula": "Magnula", - "block.betterend.nightshade_moss": "Nox Moss", - "block.betterend.orango": "Orango", - "block.betterend.pond_anemone": "Anemone", - "block.betterend.purple_polypore": "Purple Polypore", - "block.betterend.rubinea": "Rubinea", - "block.betterend.ruscus": "Ruscus Grass", - "block.betterend.salteago": "Salteago", - "block.betterend.selagine": "Selagine", - "block.betterend.shadow_berry": "Nox Berries", - "block.betterend.shadow_berry_wild": "Wild Nox Berries", - "block.betterend.shadow_berry_dead": "Dead Nox Berries", - "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", - "block.betterend.twisted_moss": "Twisted Moss", - "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", - "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", - "block.betterend.twisted_vine": "Twisted Vine", - "block.betterend.umbrella_moss": "Umbrella Moss", - "block.betterend.umbrella_moss_tall": "Umbrella Moss", - "block.betterend.vaiolush_fern": "Vaiolush Fern", "entity.endermanoverhaul.nether_wastes_enderman": "Deep Cave Enderman", "entity.endermanoverhaul.dark_oak_enderman": "Ashen Enderman", "entity.endermanoverhaul.mushroom_fields_enderman": "Mushroom Enderman", diff --git a/kubejs/assets/endermanoverhaul/lang/ja_jp.json b/kubejs/assets/endermanoverhaul/lang/ja_jp.json index 72a21903a..9f8aee6e7 100644 --- a/kubejs/assets/endermanoverhaul/lang/ja_jp.json +++ b/kubejs/assets/endermanoverhaul/lang/ja_jp.json @@ -1,85 +1,5 @@ { "__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": "Aeridium", - "block.betterend.amaranita_stem": "Amaranita Stem", - "block.betterend.amber_grass": "Amber Grass", - "block.betterend.amber_root_wild": "Wild Amber Shoots", - "block.betterend.amber_root_dead": "Dead Amber Shoots", - "block.betterend.amber_root": "Amber Shoots", - "block.betterend.aurant_polypore": "Aurant Polypore", - "block.betterend.blooming_cooksonia": "Blooming Cooksonia", - "block.betterend.blossom_berry": "Blossom Berry", - "block.betterend.blossom_berry_wild": "Wild Blossom Berry", - "block.betterend.blossom_berry_dead": "Dead Blossom Berry", - "block.betterend.bolux_mushroom": "Bolux Mushroom Colony", - "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony", - "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony", - "block.betterend.bushy_grass": "Novagrass", - "block.betterend.bulb_moss": "Bulb Moss", - "block.betterend.cave_bush": "Carmine Lamella", - "block.betterend.cave_bush_fallen": "Small Carmine Lamella", - "block.betterend.cave_grass": "Vermilligma", - "block.betterend.cave_pumpkin": "Bulbkin", - "block.betterend.cave_pumpkin_wild": "Wild Bulbkin Stem", - "block.betterend.cave_pumpkin_dead": "Dead Bulbkin Stem", - "block.betterend.cave_pumpkin_plant": "Bulbkin Stem", - "block.betterend.charnia_cyan": "Cyan Charnia", - "block.betterend.charnia_green": "Green Charnia", - "block.betterend.charnia_light_blue": "Teal Charnia", - "block.betterend.charnia_orange": "Orange Charnia", - "block.betterend.charnia_purple": "Purple Charnia", - "block.betterend.charnia_red": "Red Charnia", - "block.betterend.chorus_grass": "Chorus Grass", - "block.betterend.chorus_lily": "Chorus Lily", - "block.betterend.chorus_mushroom": "Chalmie Mushroom Colony", - "block.betterend.chorus_mushroom_wild": "Wild Chalmie Mushroom Colony", - "block.betterend.chorus_mushroom_dead": "Dead Chalmie Mushroom Colony", - "block.betterend.clawfern": "Clawfern", - "block.betterend.crystal_grass": "Crystal Grass", - "block.betterend.end_lily": "Deimos Lily", - "block.betterend.end_lily_seed": "Deimos Lily Sprout", - "block.betterend.end_lotus_flower": "Phobos Lotus Flower", - "block.betterend.end_lotus_leaf": "Phobos Lotus Leaf", - "block.betterend.end_lotus_stem": "Phobos Lotus Stem", - "block.betterend.end_lotus_seed": "Phobos Lotus Sprout", - "block.betterend.filalux_wings": "Filalux Wings", - "block.betterend.flamaea": "Flamaea Mushroom", - "block.betterend.flammalix": "Flammalix Mushroom", - "block.betterend.fracturn": "Fracturn", - "block.betterend.glacian_hymenophore": "Glacian Hymenophore", - "block.betterend.globulagus": "Globulagus", - "block.betterend.hydralux": "Hydralux", - "block.betterend.hydralux_sapling": "Hydralux Sprout", - "block.betterend.inflexia": "Inflexia", - "block.betterend.lacugrove": "Lacugrove Algae", - "block.betterend.lamellarium": "Lamellarium", - "block.betterend.lanceleaf": "Lanceleaf", - "block.betterend.lanceleaf_small": "Lanceleaf Dagger", - "block.betterend.large_amaranita_mushroom": "Large Amaranita Mushroom", - "block.betterend.lucernia_leaves": "Lucernia Lamella", - "block.betterend.lucernia_leaves_fallen": "Small Lucernia Lamella", - "block.betterend.lucernia_outer_leaves": "Lucernia Hyphae", - "block.betterend.lutebus": "Lutebus", - "block.betterend.magnula": "Magnula", - "block.betterend.nightshade_moss": "Nox Moss", - "block.betterend.orango": "Orango", - "block.betterend.pond_anemone": "Anemone", - "block.betterend.purple_polypore": "Purple Polypore", - "block.betterend.rubinea": "Rubinea", - "block.betterend.ruscus": "Ruscus Grass", - "block.betterend.salteago": "Salteago", - "block.betterend.selagine": "Selagine", - "block.betterend.shadow_berry": "Nox Berries", - "block.betterend.shadow_berry_wild": "Wild Nox Berries", - "block.betterend.shadow_berry_dead": "Dead Nox Berries", - "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", - "block.betterend.twisted_moss": "Twisted Moss", - "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", - "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", - "block.betterend.twisted_vine": "Twisted Vine", - "block.betterend.umbrella_moss": "Umbrella Moss", - "block.betterend.umbrella_moss_tall": "Umbrella Moss", - "block.betterend.vaiolush_fern": "Vaiolush Fern", "entity.endermanoverhaul.nether_wastes_enderman": "Deep Cave Enderman", "entity.endermanoverhaul.dark_oak_enderman": "Ashen Enderman", "entity.endermanoverhaul.mushroom_fields_enderman": "Mushroom Enderman", diff --git a/kubejs/assets/primitive_creatures/lang/en_us.json b/kubejs/assets/primitive_creatures/lang/en_us.json index bafcb300e..94560f1fa 100644 --- a/kubejs/assets/primitive_creatures/lang/en_us.json +++ b/kubejs/assets/primitive_creatures/lang/en_us.json @@ -1,13 +1,13 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.primitive_creatures.tfc": "カオリンクレイズ", - "entity.primitive_creatures.golem_2": "グラファイトグレイズ", - "entity.primitive_creatures.iloger_4": "伏兵", - "entity.primitive_creatures.wiloger": "猛獣使い", - "entity.primitive_creatures.iloger_2": "薬草師", - "entity.primitive_creatures.iloger_1": "野人", - "entity.primitive_creatures.piloger_9": "蛮族", - "entity.primitive_creatures.nahida": "ハントマスター", + "entity.primitive_creatures.tfc": "Kaolin Klayze", + "entity.primitive_creatures.golem_2": "Graphite Glayze", + "entity.primitive_creatures.iloger_4": "Ambusher", + "entity.primitive_creatures.wiloger": "Beast Tamer", + "entity.primitive_creatures.iloger_2": "Herbalist", + "entity.primitive_creatures.iloger_1": "Forager", + "entity.primitive_creatures.piloger_9": "Warrior", + "entity.primitive_creatures.nahida": "Huntmaster", "item.primitive_creatures.tfc_spawn_egg": "Kaolin Klayze Spawn Egg", "item.primitive_creatures.golem_2_spawn_egg": "Graphite Glayze Spawn Egg", "item.primitive_creatures.iloger_4_spawn_egg": "Ambusher Spawn Egg", diff --git a/kubejs/assets/primitive_creatures/lang/ja_jp.json b/kubejs/assets/primitive_creatures/lang/ja_jp.json index 305f427c4..f690ee3a5 100644 --- a/kubejs/assets/primitive_creatures/lang/ja_jp.json +++ b/kubejs/assets/primitive_creatures/lang/ja_jp.json @@ -1,13 +1,13 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.primitive_creatures.tfc": "Kaolin Klayze", - "entity.primitive_creatures.golem_2": "Graphite Glayze", - "entity.primitive_creatures.iloger_4": "Ambusher", - "entity.primitive_creatures.wiloger": "Beast Tamer", - "entity.primitive_creatures.iloger_2": "Herbalist", - "entity.primitive_creatures.iloger_1": "Forager", - "entity.primitive_creatures.piloger_9": "Warrior", - "entity.primitive_creatures.nahida": "Huntmaster", + "entity.primitive_creatures.tfc": "カオリンクレイズ", + "entity.primitive_creatures.golem_2": "グラファイトグレイズ", + "entity.primitive_creatures.iloger_4": "伏兵", + "entity.primitive_creatures.wiloger": "猛獣使い", + "entity.primitive_creatures.iloger_2": "薬草師", + "entity.primitive_creatures.iloger_1": "野人", + "entity.primitive_creatures.piloger_9": "蛮族", + "entity.primitive_creatures.nahida": "ハントマスター", "item.primitive_creatures.tfc_spawn_egg": "カオリンクレイズのスポーンエッグ", "item.primitive_creatures.golem_2_spawn_egg": "グラファイトグレイズのスポーンエッグ", "item.primitive_creatures.iloger_4_spawn_egg": "伏兵のスポーンエッグ", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 9b6b0b879..1feebba8c 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1145,6 +1145,11 @@ "material.tfg.triglyceride_oil": "Triglyceride Oil", "material.tfg.cholesterol": "Cholesterol", "material.tfg.butyric_acid": "Butyric Acid", + "material.tfg.citric_acid": "Citric Acid", + "material.tfg.sodium_dihydrogen_citrate": "Sodium Dihydrogen Citrate", + "material.tfg.light_stock": "Light Stock", + "material.tfg.rich_stock": "Rich Stock", + "material.tfg.brown_gravy": "Brown Gravy", "material.tfg.zircon": "Zircon", "material.tfg.silicon_tetrachloride": "Silicon Tetrachloride", "material.tfg.zirconium_tetrachloride": "Zirconium Tetrachloride", @@ -1152,11 +1157,6 @@ "material.tfg.zirconium_bromide": "Zirconium(IV) Bromide", "material.tfg.zirconium_diboride": "Zirconium Diboride", "material.tfg.boron_carbide": "Boron Carbide", - "material.tfg.citric_acid": "Citric Acid", - "material.tfg.sodium_dihydrogen_citrate": "Sodium Dihydrogen Citrate", - "material.tfg.light_stock": "Light Stock", - "material.tfg.rich_stock": "Rich Stock", - "material.tfg.brown_gravy": "Brown Gravy", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1483,12 +1483,6 @@ "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 4096 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.fake_nutrition_info_listener": "§7§oHold (Shift) for Nutrition Info", - "tfg.tooltip.fake_nutrition_info": "§7Nutrition:", - "tfg.tooltip.cheese_slice_microplastics": "§b- Microplastics: 1.9", - "tfg.gui.menu.field_guide_splash_text": "Tip: Read the field guide!!!", - "tfg.gui.menu.ram_usage": "RAM:", - "tfg.gui.menu.fps_count": "FPS:", "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", @@ -1496,6 +1490,12 @@ "tfg.gui.rnr_plow.width": "Path Width: %d Blocks", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cMissing Crushed Base Course!!", "tfg.tooltip.progenitor_cells.mob": "Animal culture: ", + "tfg.tooltip.fake_nutrition_info_listener": "§7§oHold (Shift) for Nutrition Info", + "tfg.tooltip.fake_nutrition_info": "§7Nutrition:", + "tfg.tooltip.cheese_slice_microplastics": "§b- Microplastics: 1.9", + "tfg.gui.menu.field_guide_splash_text": "Tip: Read the field guide!!!", + "tfg.gui.menu.ram_usage": "RAM:", + "tfg.gui.menu.fps_count": "FPS:", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 2881b2141..a7043fe14 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -1050,16 +1050,16 @@ "tfg.tooltip.wraptor_wool": "§7Colhido das penas de um Distráptor", "tfg.tooltip.wraptor_sugar": "§7Não pense muito a respeito disso", "tfg.tooltip.obsolete.depreciated": "§cObsoleto, não pode mais ser criado", + "tfg.gui.rnr_plow.random_mode": "Aleatorizar Materiais", + "tfg.gui.rnr_plow.width": "Largura do Caminho: %d Blocos", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cFalta Camada Base Triturada!!", + "tfg.tooltip.progenitor_cells.mob": "Cultura animal: ", "tfg.tooltip.fake_nutrition_info_listener": "§7§oSegure (Shift) para informações nutricionais", "tfg.tooltip.fake_nutrition_info": "§7Nutrição:", "tfg.tooltip.cheese_slice_microplastics": "§b- Microplásticos: 1.9", "tfg.gui.menu.field_guide_splash_text": "Dica: Leia o guia de campo!!!", "tfg.gui.menu.ram_usage": "RAM:", "tfg.gui.menu.fps_count": "FPS:", - "tfg.gui.rnr_plow.random_mode": "Aleatorizar Materiais", - "tfg.gui.rnr_plow.width": "Largura do Caminho: %d Blocos", - "tfg.gui.rnr_plow.empty_crushed_base_course": "§cFalta Camada Base Triturada!!", - "tfg.tooltip.progenitor_cells.mob": "Cultura animal: ", "tfc.jei.flint_knapping": "Talhar Sílex", "tfc.jei.straw_knapping": "Trançar Palha", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Tingindo", From 4b5499e956c574472b5fdeb942cbc2bd517f17e1 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Tue, 18 Nov 2025 22:27:22 -0600 Subject: [PATCH 086/628] Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3d9162c8..9062492af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ - Fixed milk curd recipes in food processor outputting rotten curds. (#2209) @Redeix - Fixed missing nixtamal food processor recipes. @Redeix - Fixed missing lang string from loading screen. @Redeix +- Fixed some mismatched lang strings between ja_jp and en_us @BlueBoat29 @jmecn ### Translation updates - Russian @DI-GitH + @nineex + @alexart2006 - Brazilian Portuguese @Redeix From ca0aba82e1e3f8c7e1d0dc79fa15bd465f497bf9 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Wed, 19 Nov 2025 12:16:04 -0600 Subject: [PATCH 087/628] langs (#2245) --- .../primitive_creatures/lang/uk_ua.json | 2 + kubejs/assets/tfg/lang/ru_ru.json | 1895 ++++++++--------- kubejs/assets/tfg/lang/uk_ua.json | 26 + kubejs/assets/tfg/lang/zh_cn.json | 33 + 4 files changed, 998 insertions(+), 958 deletions(-) diff --git a/kubejs/assets/primitive_creatures/lang/uk_ua.json b/kubejs/assets/primitive_creatures/lang/uk_ua.json index 9bc4a5fcb..59e7b8327 100644 --- a/kubejs/assets/primitive_creatures/lang/uk_ua.json +++ b/kubejs/assets/primitive_creatures/lang/uk_ua.json @@ -6,6 +6,8 @@ "entity.primitive_creatures.wiloger": "Приборковач звірів", "entity.primitive_creatures.iloger_2": "Травник", "entity.primitive_creatures.iloger_1": "Фуражир", + "entity.primitive_creatures.piloger_9": "Воїн", + "entity.primitive_creatures.nahida": "Майстер полювання", "item.primitive_creatures.tfc_spawn_egg": "Яйце виклику Каолінового Клейза", "item.primitive_creatures.golem_2_spawn_egg": "Яйце виклику Графітового Глейза", "item.primitive_creatures.iloger_4_spawn_egg": "Яйце виклику Засідника", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 7013245ed..7bd2b17cf 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -2648,250 +2648,249 @@ "quests.low_voltage.mv_hull.subtitle": "Пока всё идёт хорошо, осталось ещё 7!", "quests.low_voltage.mv_hull.desc1": "Хорошая работа, Теперь у вас есть &bMV Корпус Машины&r, ваша первая &bMV Микросхема&r и ваш первый &6Сборщик Микросхем&r.\n\nЭто и есть суть &6GregTech&r. Каждую новую эпоху вы будете создавать новые &6машины&r используя новые &6материалы&r and &6химикаты&r. Вам будет &5Тааак Весело&r, мы даже завидуем вам!", "quests.low_voltage.mv_hull.desc2": "Перед тем как продвигаться дальше в &bMV&r, помните что &6TFG&r вы можете использовать &6Create&r чтобы закрепить свою инфраструктуру особо не полагаясь на GregTech. Алюминиевые валы и шестерёнки выдерживают нагрузку в 4 раза больше чем их стальные предшественники, так что с ними вы можете ускорить свои машины!", - "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!", - "quests.medium_voltage.mv_machine_hull.subtitle": "More technology, more problems", - "quests.medium_voltage.mv_machine_hull.desc.1": "Every time you enter a new tier, things can get a bit overwhelming. You’ll be faced with lots of &enew machines&r to build and &echemicals&r to produce.\n\nAs you’ve probably seen in the quests, you have &2three main objectives&r to complete before progressing into &6HV&r. Let's break them down one by one.", - "quests.medium_voltage.mv_machine_hull.desc.2": "First, you'll need to upgrade your &dEBF&r with two new &bMV Energy Hatches&r. This will allow it to overclock and run &6HV recipes&r. That upgrade is key for producing &estainless steel&r, the main material for &6HV&r, and also &eKanthal&r, which you’ll need to upgrade your &dEBF coils&r.", - "quests.medium_voltage.mv_machine_hull.desc.3": "Your second objective—although you can tackle it first if you prefer—involves diving into chemistry. Your first plastic, &ePolyethylene&r, is essential for future progress. There are two possible paths you can follow, and the quests will help guide you:\n\n- &ePetrochem route&r: extract oil from the ground or oilsands. This path also unlocks &eDiesel&r production for fuel combustion.\n\n- &eBiochem route&r: use a &6Pyrolyse Oven&r and wood (a Create-powered tree farm works great). This method gives you more &eBenzene&r and opens the door to using a &eGas Generator&r.\n\nEach path has its pros and cons, but eventually, you’ll need both anyway.", - "quests.medium_voltage.mv_machine_hull.desc.4": "The final step here is unlocking the &6second HV Circuit&r. It only requires &atwo steps&r, making it faster than crafting the &6first HV Circuit&r, which needs &cthree steps&r.\n\nTo achieve this, you'll need to get your hands on a &dLaser Engraver&r, which allows you to produce your first &dWafers&r. With those, you can craft an &6HV Circuit&r that you'll use to build the &bMV Circuit Assembler&r.\n\nIt's not strictly necessary to do this now—you can continue using the first HV Circuit for progression—but &ait will make your life much easier&r if you take care of it now. Trust us.", - "quests.medium_voltage.mv_miner.title": "Automatic Mining", - "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", - "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", - "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", - "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r, a &3Backpack&r, or a &3GT Crate&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly, by the way.", - "quests.medium_voltage.mv_miner.task": "Any miner", - "quests.medium_voltage.mv_component.title": "The MV Components", - "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in previous tier?", - "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.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&8We’re not sorry.&r", - "quests.medium_voltage.mv_extruder.title": "Advanced Extruder", - "quests.medium_voltage.mv_extruder.subtitle": "The biggest upgrade you'll make", - "quests.medium_voltage.mv_extruder.desc": "We &lSINCERELY&r hope at &cno&r point you made the &7LV&r Extruder, because only the &bMV&r Extruder is actually useful. If you did, immediately &arecycle it&r through the Arc Furnace.\n\nThe Extruder shapes solid materials into (almost!) any form using &aIngots&r. This is a great way to reduce the amount of microcrafting, as well as keeping a high conversion ratio.\n\nThe Extruder can make &6Bolts&r, &6&6Small Gears&r, &6Gears&r, and &6&6Rings&r at the highest efficiency in a single step!\n\nYou may also like to use it for &dPipes&r, &dScrews&r, and &dRotors&r.", - "quests.medium_voltage.mv_chemical_reactor.title": "Advanced Chemical Reactor", - "quests.medium_voltage.mv_chemical_reactor.subtitle": "Stronger, better, faster", - "quests.medium_voltage.mv_chemical_reactor.desc": "You already know about the &dChemical Reactor&r from the &7LV Chapter&r—but here’s a refresher.\n\nAt &bMV&r, you unlock &anew recipes&r and also gain the ability to &aoverclock your LV recipes&r. That means they can run &atwice as fast&r, but will consume &e4x the energy&r. It’s up to you to decide whether the trade-off is worth it.\n\nBut that’s not the only reason to build the &bMV Chemical Reactor&r. If you’re taking the &dorganic chemistry path&r, you’ll need it to run the &dEthylene&r recipe, which uses &dSulfuric Acid&r and &dEthanol&r—this one requires &bMV power&r.\n\nIn any case, it’s a solid machine, and not too expensive. Go ahead and build it when you have a bit of spare time.", - "quests.medium_voltage.mv_mixer.title": "Advanced Mixer", - "quests.medium_voltage.mv_mixer.subtitle": "Mixing more complex alloys", - "quests.medium_voltage.mv_mixer.desc": "If you're wanting to dive into &bMV&r, start here.\n\nThe dusts created in an &3MV Mixer&r have great utility.", - "quests.medium_voltage.mv_energy.title": "Electricity Generation in MV", - "quests.medium_voltage.mv_energy.subtitle": "Things are 'boutta get rough", - "quests.medium_voltage.mv_energy.desc.1": "Hello there, and welcome to &bMV Energy Production&r.\n\nIn this quest, we’ll go over the different options available to keep your &bMV machines&r powered and running smoothly.\n\nWe won’t cover this in every chapter, so we highly recommend that you &aread the dedicated chapter on GregTech Energy&r for a deeper understanding of how everything works.\n\nFor now, here are your &athree main options&r:\n\n&8- &bUse an MV Generator&r to directly produce &bMV-level energy&r.\n\n&8- &bStep up your &7LV&r power by using transformers&r, with a &e4:1 ratio&r between &7LV&r and &bMV&r.\n\n&8- &bConvert RF&r using your &dAlternator&r to get &bMV energy&r directly.\n\n", - "quests.medium_voltage.mv_energy.desc.2": "Higher-tier Generators will increase their fuel consumption proportionally to their Generation rate, keeping the duration of fuels and the specific amount of energy from fuels the same. The &3Advanced Steam Turbine&r will use &d5,120 mB Steam&r per second, equivalent to &d256 mB/t&r.\n\nGet &eany&r of the generators to complete this quest, but you may prefer starting off with the &3Advanced Steam Turbine&r.", - "quests.medium_voltage.mv_energy.desc.3": "There are a few new power options available for &bMV&r. Selecting the Generators and pressing &4U&r will let you see which fuels count as &aCombustion&r or &aGas&r.\n\nQuests in the top left corner of this Chapter are for the valuable Power options.\n\nIf you stick to &9Steam&r for your Power generation, you'll probably need a &3Large Boiler&r.", - "quests.medium_voltage.mv_energy.desc.4": "&3Transformers&r allow you to step up and down safely between Voltage tiers. They convert the power they receive into an equivalent amount of power 1 voltage tier above or below the input voltage.\n\nApart from running machines on different voltage tiers, Transformers come in handy for transporting power across longer distances, as cable loss has less of an effect at higher voltages. Just like real life!", - "quests.medium_voltage.mv_energy.desc.5": "Transformers have 5 low voltage sides, and 1 high voltage side.\n\nThe &9normal&r Transformer can only do 1A <-> 4A conversion, but &9Adjustable&r Transformers can be changed between 1A <-> 4A, 2A <-> 8A, 4A <-> 16A, and 16A <-> 64A conversions.\n\nUse a &aSoft Hammer&r to change between transforming up and down, and a &aScrewdriver&r on Adjustable Transformers to change the amperage.\n\nHigher tier Transformers will require &9Coils&r.", - "quests.medium_voltage.mv_energy.desc.6": "Lastly, as you already know from the &7LV Chapter&r, you can use a &dConverter&r to, well... convert your &cRF&r directly into &bMV energy&r.", - "quests.medium_voltage.mv_battery.title": "MV Battery Buffer", - "quests.medium_voltage.mv_battery.subtitle": "Energy management", - "quests.medium_voltage.mv_battery.desc": "As always, we highly encourage you to use a &bBattery Buffer&r, so even if you use more &6energy&r than you produce, you won't run out of it right away, and you will be able to get the energy back while your machines aren't running.", - "quests.medium_voltage.mv_battery.task": "Any MV Battery Buffer", - "quests.medium_voltage.mv_batteries.title": "Better Batteries", - "quests.medium_voltage.mv_batteries.subtitle": "Baby Got Battery", - "quests.medium_voltage.mv_batteries.desc": "&bMV&r Batteries will appeal to you if you want to buffer Energy, just like &7LV&r.\n\nThe cost in &aSodium&r, &aLithium&r or &aCadmium&r jumps up to 8 dusts, so you should use whatever you have the most of. The difference in capacity isn't &7THAT&r huge, after all!\n\nGet &eeither&r Battery to complete the Quest.", - "quests.medium_voltage.mv_steel_alloy.title": "Steel Alloys", - "quests.medium_voltage.mv_steel_alloy.subtitle": "Steel Your Heart", - "quests.medium_voltage.mv_steel_alloy.desc": "Vanadium steel is required in small quantities in progression. It's &6nearly four times as durable&r as Steel if used in GregTech tools. The Vanadium comes from &aVanadium Magnetite&r, which you may have encountered in Magnetite veins.", - "quests.medium_voltage.pyrolyse.title": "Pyrolyse Oven", - "quests.medium_voltage.pyrolyse.subtitle": "Thermal Decomposition", - "quests.medium_voltage.pyrolyse.desc.1": "The &3Pyrolyse Oven&r is an electric equivalent to the &3Coke Oven&r. It can produce &9Coal Coke&r and &9Charcoal&r with a &9Creosote&r byproduct just as before, but also has additional &6Organic Byproducts&r, the most beneficial of these being &aWood Tar&r.\n\nAnother product is &aBiomass&r, which is more pertinent for your progression as of this moment.", - "quests.medium_voltage.pyrolyse.desc.2": "The byproducts can be Distilled for an array of organic resources, with &odifferent&r byproducts giving &odifferent&r ratios of &odifferent&r chemicals.\n\nYou will need to take a peek at the &9Distillation&r Quest to get to grips with the power of distillation...", - "quests.medium_voltage.pyrolyse.desc.3": "There are recipes that can accept &bNitrogen&r to double the speed. This isn't quite worth pursuing right now, but Nitrogen will eventually be free and infinite.\n\nYou should be more than fine with a single &3LV Energy Hatch&r, and Superconductors to supply a steady &d64 EU/t&r. Additionally, &3Cupronickel Coils&r are perfect when you're getting used to the Pyrolyse Oven, but you may want to upgrade to &bKanthal&r eventually.", - "quests.medium_voltage.pyrolyse.desc.4": "&9&lNote:&r&l The Plant path is one path you can take towards &9&lEthylene&r&l, which is a necessary chemical in progressing to &6HV&r&l. The other path involves Oil.&r\n\nThe Pyrolyse Oven remains &doptional&r. However, it is very rewarding to construct one either for Power, or for the various Byproducts, and we highly recommend you give it a look.\n\n&l&3Lore:&r&o In GT5u, the structure for the Pyrolyse Oven was infamously a giant box with only 9 coils inside. Players usually spent several minutes debugging what is wrong due to a lack of a EMI preview.", - "quests.medium_voltage.mv_fluid_rig.title": "Fluid Drilling Rigs", - "quests.medium_voltage.mv_fluid_rig.subtitle": "Fluid Drilling Rigs in CEu!", - "quests.medium_voltage.mv_fluid_rig.desc.1": "It's quite the investment to own a &3Fluid Drilling Rig&r, but it is &oby far&r the most prominent &6source of Oil&r.\n\nIt pumps fluids from underneath Bedrock itself. Note that the fluids aren't actually there, instead being simulated.\n\nFluid veins are stored within &cchunk-sized regions&r. Each vein has a different fluid, but they are mostly types of Oil.\n\nYou can't carry out prospecting for fluid veins &oyet&r - this will come at &6HV&r.", - "quests.medium_voltage.mv_fluid_rig.desc.2": "Each vein generates with a different base yield. This is typically between &d150L&r to &d300L per second&r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time until it reaches its depletion yield. At that point, you should move the Rig to a different vein.\n\nA &3Basic Fluid Drilling Rig&r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for &6well over 10,000&r buckets of Oil. Higher tier Rigs will massively increase the yield, while also decreasing the depletion rate.", - "quests.medium_voltage.mv_fluid_rig.desc.3": "&lWhat you can find in the &2Overworld&r&l:&r\n\n&9Oil:&r richer in &aLight Fuel&r, the most appreciated variant.\n&9Light Oil:&r richer in &aRefinery Gas&r, usable for power.\n&9Heavy Oil:&r richer in &aHeavy Fuel&r, which has uses that are more niche but notably Toluene.\n&9Raw Oil:&r richer in &aNaphtha&r, the best source of the early-game oil products.\n&9Natural Gas:&r grants &aRefinery Gas&r with no distillation required.\n&9Sea Water:&r grants &aSodium&r and &aChlorine&r, useful later.", - "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cNether&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", - "quests.medium_voltage.mv_oilsands.title": "America Simulator", - "quests.medium_voltage.mv_oilsands.subtitle": "This quest was sponsored by the US Military", - "quests.medium_voltage.mv_oilsands.desc": "Underground, you may come across pure Oilsands ore veins. You can &3centrifuge&r the Dust to get &aOil&r.\n\n&9&lNote:&r&l The Oil path is one path towards &9&lEthylene&r&l. The other paths involve getting natural with some Ethanol.&r\n\nFor now, Oil is &doptional&r. It becomes mandatory much later when you get to &5EV&r.\n\nOil can also be refined in the form of &aLight Fuel&r, &aDiesel&r or even &aGasoline&r, which are excellent power options.\n\nIf you chose this path, you should use it for both Power and Ethylene.\n\nOilsands are a &6great starting point&r - they'll tide you over until you unlock Fluid Drilling Rigs.", - "quests.medium_voltage.mv_lpg.title": "The Church of Natural Farts", - "quests.medium_voltage.mv_lpg.subtitle": "Whoever smelt it...", - "quests.medium_voltage.mv_lpg.desc.1": "&aRefinery Gas&r, &aLPG&r and &aMethane&r are &9Gas Fuels&r. LPG (Liquid Petroleum Gas) is a mix of hydrocarbons typically used in heating appliances.\n\nRefinery Gas is obtained either through &dNatural Gas&r or &dLight Oil&r, the latter yielding more, yet requiring an extra step of distillation.\n\nUse of a &3Centrifuge&r to separate into &aLPG&r and &aMethane&r should always be done, as it's practically free.", - "quests.medium_voltage.mv_lpg.desc.2": "&a&aLPG&r and &aMethane&r are burned in a &3Gas Turbine&r. Among the other fuel options, they are the easier to set up which makes them excellent to get started. Their drawback is that they cannot be refined further, so upgrading the &3Fluid Drilling Rig&r may be a top priority if you stick to this fuel source.\n\n&aMethane&r can also be obtained from a few &anatural sources&r. &eBetween us&r, they're memes, but you can explore them if you wish. Ultimately, your power source is your choice.", - "quests.medium_voltage.mv_brewery.title": "Local Brewery selling Booze", - "quests.medium_voltage.mv_brewery.subtitle": "*hic*... *hic*", - "quests.medium_voltage.mv_brewery.desc.1": "The Brewery can be used to make &aLubricant&r from &aRedstone&r and &aCreosote&r/&aOil&r. Lubricant has some niche uses, namely being used in the &3Cutter&r to significantly reduce the duration of its recipes.\n\nThe Brewery is a very, very slow machine, but it requires almost no power to run its recipes. Building &2many Breweries&r will help you obtain enough Biomass on your quest for plastic.\n\n&9Note:&r The Brewery unlocks the Biomass path towards &9Ethylene&r. The same can be done in the &3Pyrolyse Oven&r. The other path involves Oil.&r", - "quests.medium_voltage.mv_brewery.desc.2": "&l&3Lore:&r&o You could make your own Brewery if you want to build up a company and start selling Booze... in GregTech 6.&r", - "quests.medium_voltage.mv_biomass.title": "Biomass", - "quests.medium_voltage.mv_biomass.subtitle": "Plants aren't industrial enough!", - "quests.medium_voltage.mv_biomass.desc.1": "Welcome to the organic &dEthylene&r path! The goal here is to produce &dEthanol&r and mix it with &dSulfuric Acid&r to make &dEthylene&r.\n\nTo get &dEthanol&r, you'll need to distill it from &aBiomass&r—so let's look at the different ways to produce that biomass.\n\nThe first method is simple: put &asaplings&r into a &dBrewery&r with water. The downside? &eIt's slow&r.", - "quests.medium_voltage.mv_biomass.desc.2": "The second method is more complex, but yields much better results. You’ll need to get &aBio Chaff&r, which comes from &amacerating Plant Balls&r. Note that you won't get any &aextra chance&r until you unlock &6HV Crushing&r.\n\n&bPlant Balls&r can be obtained by:\n-Centrifuging &9Sugarcane&r or &9Beets&r\n-Centrifuging every &awood&r that you can tap &9#afc:tappable_logs&r\n-Compressing &asaplings&r directly\n\nFinally, process your &aBio Chaff&r with water in a &dBrewery&r or go for a &dPyrolyse Oven&r for a &e66 percent boost&r in output.", - "quests.medium_voltage.mv_biomass.desc.3": "&l&3Lore:&r&o You may recognise Plantballs from IndustrialCraft2! In IC2 Experimental, there was this rather... obscure way to turn Biomass into Biogas for power, which sadly required too much investment to be really worth it.", - "quests.medium_voltage.mv_distillery.title": "Distillery", - "quests.medium_voltage.mv_distillery.subtitle": "The Illusion of Free Choice", - "quests.medium_voltage.mv_distillery.desc.1": "Before we start, here's some important information if you're aiming to make Ethylene:\n\nTaking the &aOil&r route will require &oat least&r a &3LV Distillery&r.\n\nWith the &aBiomass&r route, you will &lneed&r a &3MV Distillery&r.\n\nGet &eeither&r to complete this quest.", - "quests.medium_voltage.mv_distillery.desc.2": "Got all that? &6Alright&r! Let's discuss a complex topic: &9Distillation&r. We'll try to help you understand how and why the &aEMI&r recipes are the way they are, so stick with us.\n\nNearly all the &3Distillery&r recipes are duplicates from the &3Distillation Tower&r, except that they only have one Fluid output, and void everything else.\n\nIn other words, you could argue the &3Distillery&r is an &dinferior&r &3Distillation Tower&r.", - "quests.medium_voltage.mv_distillery.desc.3": "This doesn't mean that the &3Distillery&r is the worse of the two. It is unlocked earlier, and it is &dsmaller&r, &dcheaper&r, and &dmore energy efficient&r per recipe.\n\nHell, in many cases, you won't even mind losing the other Fluids.\n\n&3Distilleries&r are an essential component for power generation, whether you pick &aDiesel&r or &aBenzene&r.\n\nYou'll probably want many of them at as low-tier as possible to avoid the energy losses from Overclocking.", - "quests.medium_voltage.mv_distillery.task": "Either an LV or MV Distillery", - "quests.medium_voltage.mv_benzene.title": "The Church of Benzene", - "quests.medium_voltage.mv_benzene.subtitle": "In the end, it's always Benzene", - "quests.medium_voltage.mv_benzene.desc.1": "&aBenzene&r is a &9Gas Fuel&r. To skip some frustration, let's check out the two best ways to obtain it.\n\nThe first option is typically &dWood based&r. Put Logs in the &3Pyrolyse Oven&r for &9Wood Tar&r. The Charcoal you obtain can then be processed in &3Extractors&r for even more &9Wood Tar&r, which you &3distill&r for &aBenzene&r.\n\nYour second option is &dHeavy Oil based&r. Put Heavy Oil in a &3Distillery&r for &9Heavy Fuel&r, which you &aseverely steam-crack&r and &3distill&r again for &aBenzene&r.", - "quests.medium_voltage.mv_benzene.desc.2": "For information on how to process Oil, check the Light Fuel and Naphtha Quests.\n\nIn general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aBenzene&r is burned in a &3Gas Turbine&r. This power source starts weaker than its &eDiesel&r cousin, but gets a big boost when refined to &6Nitrobenzene&r in &6HV&r. Ultimately, your power source is your choice.", - "quests.medium_voltage.mv_light_fuel.title": "Light Fuel", - "quests.medium_voltage.mv_light_fuel.subtitle": "Turn up the Lights in here, baby", - "quests.medium_voltage.mv_light_fuel.desc": "Distillating &aOil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aLight Fuel&r is a good &9Power&r option, but there's something even greater... check the Quest to the left.", - "quests.medium_voltage.mv_diesel.title": "The Church of Diesel", - "quests.medium_voltage.mv_diesel.subtitle": "Mother, how is diesel made?", - "quests.medium_voltage.mv_diesel.desc.1": "&aDiesel&r is a &dOil-based &9Combustion Fuel&r.\n\nTo mix &aLight Fuel&r and &aHeavy Fuel&r, the right ratio for &3Distilleries&r is &63:2&r from &dOil&r or &dRaw Oil&r.\n\nThis would necessitate 3 Distilleries for Light Fuel, or 2 Distilleries for Heavy Fuel.", - "quests.medium_voltage.mv_diesel.desc.2": "You can cut the amount of &dOil&r required &6drastically&r by using &dHeavy Oil&r for &aHeavy Fuel&r specifically. &dOilsands&r is a great option if you wish to go down this route!\n\n&o(For the math nerds, you go from 8.33 Oil -> 6 Diesel, to 5 Oil + 0.4 Heavy Oil -> 6 Diesel)&r\n\n&eNote:&r Do &cnot attempt&r to put Oil in the &3Distillation Tower&r You might think it's a good idea because it gives both Light Fuel and Heavy Fuel. However, this process requires a lot of overclocking to be worth your time, and you will lose more energy than what the byproducts are worth.", - "quests.medium_voltage.mv_diesel.desc.3": "In general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aDiesel&r is burned in a &3Combustion Generator&r. It can be further refined to &6Cetane-Boosted Diesel&r in &6HV&r. Compared to the other power sources, it is generally more efficient, but a more demanding processing line. If you take the &eOil&r route for &aPolyethylene&r, this can work great with existing infrastructure. Ultimately, the power source you want to use is your choice.", - "quests.medium_voltage.mv_jetpack.title": "I Believe I Can Fly", - "quests.medium_voltage.mv_jetpack.subtitle": "...well, almost Fly", - "quests.medium_voltage.mv_jetpack.desc": "This Jetpack takes most &aCombustion Fuels&r (excluding oils) to enable a primitive form of flight.\n\nFill it like you would fill a Drum, or with a &3Canning Machine&r.\n\nPress &4H&r (default) to enable Hover Mode.", - "quests.medium_voltage.mv_ethanol.title": "Ethanol", - "quests.medium_voltage.mv_ethanol.subtitle": "Yo, wait - that's alcohol!", - "quests.medium_voltage.mv_ethanol.desc": "Put your previously made &aBiomass&r into a &3MV Distillery&r to make &aEthanol&r.\n\nYou will need this for &dEthylene&r by reacting it with &aSulfuric Acid&r in a &3MV Chemical Reactor&r... unless you chose to go down the Oil path.\n\nOnce you have a hefty starting stock of Ethanol, consider making and distilling &9Fermented Biomass&r in a &3Distillation Tower&r (when you get there!) for extra chemicals.\n\n&cDo not try&r to use Ethanol as a Power source... it's quite possibly its worst use. If it's organic &9Power&r that you want, we suggest taking a look at &dBenzene&r instead!", - "quests.medium_voltage.mv_bio_diesel.title": "The Church of Bio Diesel", - "quests.medium_voltage.mv_bio_diesel.subtitle": "Flower Power", - "quests.medium_voltage.mv_bio_diesel.desc": "Want to try something plant-based but without a tree farm? Give &3Bio Diesel&r a shot! The best route for it is through &dSeed Oil&r from either Sunflowers or Canola. Just mix it with a little Ethanol and Sodium Hydroxide (from Sea Water!) in a Chemical Reactor and you're done! As a bonus, this route also outputs Glycerol which you can turn into &dEthylene&r!", - "quests.medium_voltage.mv_mutli_channel.title": "Multiple Channel Pipes", - "quests.medium_voltage.mv_mutli_channel.subtitle": "Is it already AE2?", - "quests.medium_voltage.mv_mutli_channel.desc": "Regular &o&dGregTech&r Fluid Pipes can only transport one fluid type at a time.\n\n&3Quadruple Fluid Pipes&r can transfer four different types of fluids. &3Nonuple Fluid Pipes&r can transfer nine different types! Useful for compact setups.\n\n&3Nonuple Fluid Pipes&r will be useful in &5EV&r for handling the many outputs of the &3Distillation Tower&r.\n\nGet &eeither&r to finish this quest.", - "quests.medium_voltage.mv_naphtha.title": "Naphtha or Light Fuel", - "quests.medium_voltage.mv_naphtha.subtitle": "We're still confused on how Naphtha is pronounced", - "quests.medium_voltage.mv_naphtha.desc": "Distillating &aOil&r or &aRaw Oil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aNaphtha&r is a good &9Product&r source, surprsingly it's also a really good fuel (we heard nerf is coming) but if you are sitting on Oil sand or you don't have Raw Oil then Light Oil may be better. Keep following the quests to the right for more details.", - "quests.medium_voltage.mv_fuel_cracking.title": "Fuel Cracking", - "quests.medium_voltage.mv_fuel_cracking.subtitle": "Fuel and oil cracking can get complicated...", - "quests.medium_voltage.mv_fuel_cracking.desc.1": "Don't panic! We'll mostly be doing this to get hydrocarbons.\n\nThere are many ways to acquire &dEthylene&r from Oil processing. It's easy to get lost in all the options and recipes!\n\nThe best way is to steam-crack &aNaphtha&r in a &3Chemical Reactor&r. Be sure to make the &aSeverely Steam-Cracked&r version for a higher yield of Ethylene.", - "quests.medium_voltage.mv_fuel_cracking.desc.2": "Once in &6HV&r, you'll have the option to do this recipe in the &3Cracking Unit&r at 100 percent efficiency. Unfortunately, the recipes you are doing with the Chemical Reactor have a loss of &450 percent&r.\n\n&9Note:&r All of this looks and feels terribly inefficient - we hope that's strong motivation to tier up! The &3Distillation Tower&r will be a huge upgrade for petrochem, but you're not quite there... yet. Right now, you'll have to use a &3Distillery&r to get &dEthylene&r.", - "quests.medium_voltage.mv_ethylene.title": "Ethylene", - "quests.medium_voltage.mv_ethylene.subtitle": "One of many hydrocarbons", - "quests.medium_voltage.mv_ethylene.desc": "Our warmest congratulations on making it here.\n\nThe way you should obtain &aEthylene&r was described in the previous Quest, depending on the route you chose.\n\n&aEthylene&r will shortly be used in polymer production. It's also useful in a few other reactions.", - "quests.medium_voltage.mv_sulfuric_acid.title": "Sulfuric Acid", - "quests.medium_voltage.mv_sulfuric_acid.subtitle": "...what he thought was H2O was H2SO4!", - "quests.medium_voltage.mv_sulfuric_acid.desc.1": "EMI might look a little overwhelming here, so we'll go through the best path for Sulfuric Acid here.\n\nMaking &eSulfuric Acid&r is a three step process. It is used in many important reactions, so you should automate its production ASAP.", - "quests.medium_voltage.mv_sulfuric_acid.desc.2": "To automate it, you will need &3three LV Chemical Reactors&r. We would recommend building a dedicated setup somewhere with &3a single LV Generator&r to power all three machines. You can then spaghetti your pipes to handle input and output.\n\n&9-&r Step 1: React &aSulfur&r with &bOxygen&r to form &aSulfur Dioxide&r.\n&9-&r Step 2: React &aSulfur Dioxide&r with more &bOxygen&r to form &aSulfur Trioxide&r.\n&9-&r Step 3: React &aSulfur Trioxide&r with &bWater&r to form &eSulfuric Acid&r.", - "quests.medium_voltage.mv_sulfuric_acid.desc.3": "&l&3Lore:&r&o GregTech 5's Chemical Reactor only had one Fluid slot. To circumvent that, they would do &dcell chemistry&f. The way you would automate Sulfuric Acid was by having one cell travel from machine to machine and then loop back to its starting position. A somewhat fun and interesting automation challenge, but also a chore!", - "quests.medium_voltage.mv_aciditic.title": "It will Melt Your Flesh", - "quests.medium_voltage.mv_aciditic.subtitle": "...if you don't read this quest.", - "quests.medium_voltage.mv_aciditic.desc.1": "You may notice that some fluids say they are &aAcidic&r, with &9Sulfuric Acid&r being one of them.\n\nThis means that many fluid pipes will not be able to transport them safely!\n\nAt &bMV&r, the cheapest pipes for acid transportation are probably &aGold&r, with the more expensive &aVanadium Steel&r or &aChrome&r pipes taking second and third place.\n\n&aStainless Steel&r or &aPolytetrafluoroethylene&r (try saying that fast) will be valid options once you are in &6HV&r.", - "quests.medium_voltage.mv_aciditic.desc.2": "You have three options for acid storage at around this point: &dGlass Vials&r, &dGold Drums&r, or &dSuper Tanks&r. Glass Vials are like &9Fluid Cells&r, and are made to store acids. Gold Drums are self-explanatory. Super Tanks will be unlocked after &9Polyethylene&r, and can store any fluid without restriction.\n\n&cWARNING:&r Acids in the wrong pipes will cause &cvoiding&r, &cpipe burning&r, and high chance of &cdeath&r! Be careful!\n\n&l&3Lore:&r&o The acid transportation and storage mechanics originate from GregTech 6.", - "quests.medium_voltage.mv_aciditic.task": "I'm an acid professional, don't worry", - "quests.medium_voltage.mv_hydrochloric.title": "Hydrochloric Acid", - "quests.medium_voltage.mv_hydrochloric.subtitle": "You'll need a lot of this!", - "quests.medium_voltage.mv_hydrochloric.desc": "Obtain &9Hydrochloric Acid&r by mixing &aHydrogen&r and &aChlorine&r.\n\nThis acid is also obtained as waste from a lot of reactions involving &aChlorine&r. Depending on your setups, you may never need to produce it directly.", - "quests.medium_voltage.mv_hydrogen.title": "Hydrogen Gas", - "quests.medium_voltage.mv_hydrogen.subtitle": "You know about Hydrogen right?", - "quests.medium_voltage.mv_hydrogen.desc": "There are &amany ways&r to get your hands on &dHydrogen&r—and it will often be a &abyproduct&r of other chemical reactions.\n\nIn &dPetrochem&r, you’ll produce a lot of &dMethane&r, which can be &aelectrolyzed&r into &dHydrogen&r. You could also electrolyze &9Water&r, but we recommend going for &9Seawater&r instead, as it gives more useful byproducts.\n\nLater on, the &ebest method&r will be reacting &9Water&r with &dMethane&r directly—but that’s &6HV-gated&r and will start off &erather slow&r.", - "quests.medium_voltage.mv_chlorine.title": "Chlorine Gas", - "quests.medium_voltage.mv_chlorine.subtitle": "Salty Gas", - "quests.medium_voltage.mv_chlorine.desc": "&dChlorine&r is a core component of your chemical toolkit. You’ll need &da lot of it&r for various reactions and crafting steps—the first one being &dHydrochloric Acid&r.\n\nThere are many ways to obtain &dChlorine&r, but the main source is &dsalt&r. It’s basically everywhere, so you won’t struggle to find it.\n\nWe recommend &aelectrolyzing seawater&r as an early method, but keep in mind—it’s &eslow&r.", - "quests.medium_voltage.mv_seawater.title": "Sea Water", - "quests.medium_voltage.mv_seawater.subtitle": "As wide as an ocean...", - "quests.medium_voltage.mv_seawater.desc": "This quest is here to emphasize the presence of &9Sea Water&r in &aTerrafirmaCraft&r.\n\nYou can easily get an &ainfinite source&r with just two source blocks and either a Mechanical Pump or an Aqueous Accumulator. From there, you can &aelectrolyze it&r to get both &dChlorine&r and &dHydrogen&r.", - "quests.medium_voltage.mv_long_pipe.title": "Long-Distance Pipeline", - "quests.medium_voltage.mv_long_pipe.subtitle": "Wondering how to move these liquids around?", - "quests.medium_voltage.mv_long_pipe.desc.1": "&3Long-Distance Fluid Pipes&r can be used to send fluids across great distances. Place one endpoint at each end, and connect them with pipeline blocks.\n\nThese pipes instantly transfer from the input side to the output side.\n\nThey also have a minimum distance between pipe endpoints, so you can't use these for short-range operations.", - "quests.medium_voltage.mv_long_pipe.desc.2": "These pipes have a reputation of being &4buggy&r to set up. If they don't seem to work at first, try rotating the endpoints with a &eWrench&r.", - "quests.medium_voltage.mv_polyethylene.title": "Polyethylene", - "quests.medium_voltage.mv_polyethylene.subtitle": "Baby's first polymer!", - "quests.medium_voltage.mv_polyethylene.desc": "If you want to be less fancy, just call it plastic.\n\nFor the polymerization process, add &aOxygen&r, which gives better returns than Air, then solidify like you would with Rubber.\n\n&aPolyethylene (PE)&r is the key to unlocking &6many new things&r. It's commonly used as &dSheets&r, or in &dFluid&r form.\n\n&l&3Lore:&r&o The OreDict and fluid name for Polyethylene in 1.12.2 GTCEu was &bplastic&f, for cross-mod compatibility.", - "quests.medium_voltage.mv_tank.title": "Super Tank", - "quests.medium_voltage.mv_tank.subtitle": "Super Tanks are OP!", - "quests.medium_voltage.mv_tank.desc": "No, but seriously.\n\nThis is the &cu&6l&et&ai&bm&9a&5t&4e&r portable Fluid storage solution. &64,000 buckets of storage&r - in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks &6keep their fluids when broken&r, and can be cleared in the crafting grid.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Super Tanks or AE2 Fluid Storage Cells.", - "quests.medium_voltage.mv_pvc.title": "Polyvinyl Chloride", - "quests.medium_voltage.mv_pvc.subtitle": "You've already made one polymer, what's two?", - "quests.medium_voltage.mv_pvc.desc": "&aPolyvinyl Chloride (PVC)&r is the 3rd-most produced plastic in real life. Here in CEu, it can be substituted for Polyethylene in the production of &aPlastic Circuit Boards&r and other items to increase the yield. It is required from &5EV&r onwards to wrap Cables.\n\nPVC item pipes also have the &6highest throughput&r available for a while, but most of your setups right now won't need such speed. Still, it's good to keep this knowledge in your pocket.\n\n&9Pro tip:&r The fluid form of PVC is never used in base GTCEu, so feel free to solidify all of it into sheets.", - "quests.medium_voltage.mv_boards.title": "Plastic Boards", - "quests.medium_voltage.mv_boards.subtitle": "It's a Casio on a Plastic Board", - "quests.medium_voltage.mv_boards.desc": "At this point, you have all the tools available to start making Plastic Boards. Higher-tier polymers in future will increase your PCB yields substantially.\n\nThe recipe chains are starting to get pretty long, so we recommend processing large batches in two dedicated &3Chemical Reactors&r.", - "quests.medium_voltage.mv_sodium_iron.title": "Sodium Persulfate / Iron III Chloride", - "quests.medium_voltage.mv_sodium_iron.subtitle": "Let's etch some Copper off Circuit Boards!", - "quests.medium_voltage.mv_sodium_iron.desc.1": "&aSodium Persulfate&r can be used in &9Ore Processing&r in the &3Chemical Bath&r to get various bonus outputs you would not normally obtain. It's completely optional, but pretty rewarding.\n\n&lWait, stop! That's only a distraction&r - the real topic of this Quest is...\n\n&aSodium Persulfate&r and &aIron III Chloride&r are used to make cheaper &9Good Circuit Boards&r, as their inclusion cuts Silver usage by a factor of four.\n\nThey're also &drequired&r to make &9Plastic Circuit Boards&r.", - "quests.medium_voltage.mv_sodium_iron.desc.2": "Making &aSodium Persulfate&r will yield &aHydrochloric Acid&r as a coproduct, which you may re-use to make &aIron III Chloride&r. This should the best approach right now, but the decision is entirely yours.\n\nThough if you are able to bring back Sea Water passively, Iron III Chloride will be the cheaper and more straight forward path.", - "quests.medium_voltage.mv_inductor.title": "Inductors", + "quests.medium_voltage": "&bMV&r - Среднее Напряжение", + "quests.medium_voltage.subtitle": "Изучите нефтянную отрасль, а так же прикоснитесь к новой электроннике!", + "quests.medium_voltage.mv_machine_hull.title": "Добро Пожаловать в MV!", + "quests.medium_voltage.mv_machine_hull.subtitle": "Больше технологий — больше заморочек", + "quests.medium_voltage.mv_machine_hull.desc.1": "Каждый раз, когда вы переходите на новый уровень, всё может показаться немного запутанным. Вас ждёт множество &eновых машин&r для сборки и &eхимических веществ&r для производства.\n\nКак вы, вероятно, уже заметили в квестах, перед переходом на &6HV&r у вас есть &2три основных задачи&r. Давайте разберём их по очереди.", + "quests.medium_voltage.mv_machine_hull.desc.2": "Сначала вам нужно модернизировать вашу &dЭлектрическую Доменную Печь&r, установив два новых &bMV Энергетических люка&r. Это позволит ей разогнаться и выполнять &6HV&r-рецепты. Это улучшение крайне важно для производства &eНержавеющей стали&r — основного материала для &6HV&r, а также &eКантала&r, который понадобится для апгрейда &dКатушек доменной печи&r.", + "quests.medium_voltage.mv_machine_hull.desc.3": "Вторая задача — хотя при желании можно начать и с неё — связана с углублением в химию. Ваш первый пластик, &eПолиэтилен&r, является ключевым материалом для дальнейшего прогресса. Существует два возможных пути, и квесты помогут вам с выбором:\n\n- &eНефтехимический путь&r: извлекайте нефть из недр или из битумных песков. Этот путь также откроет производство &eДизельного топлива&r для генерации энергии.\n\n- &eБиохимический путь&r: используйте &6Пиролизную печь&r и древесину (Create ферма деревьев будет кстати). Этот метод даёт больше &eБензола&r и открывает возможность использовать &eГазовые турбины&r.\n\nУ каждого пути есть свои плюсы и минусы, но в итоге вам всё равно понадобится освоить оба.", + "quests.medium_voltage.mv_machine_hull.desc.4": "Последния запара на этом этапе — открыть &6вторую HV-схему&r. Для её создания требуется всего &aдва шага&r, что значительно проще, чем у &6первой HV-схемы&r, которая состоит из &cтрёх шагов&r.\n\nДля этого вам понадобится &dЛазерный гравировщик&r, с помощью которого можно изготавливать первые &dПластины&r. С их помощью вы сможете создать &6HV-схему&r, необходимую для сборки &bMV Сборщика схем&r.\n\nДелать это прямо сейчас не обязательно — можно продолжить развитие с первой HV-схемой — но &aесли займётесь этим сейчас, жизнь станет гораздо проще (и слаще)&r. Поверьте на слово.", + "quests.medium_voltage.mv_miner.title": "Шахтёр", + "quests.medium_voltage.mv_miner.subtitle": "Шош, вам так скучно копаться самостоятельно?", + "quests.medium_voltage.mv_miner.desc.1": "Эта добродушная лалка&r будет добывать руду для вас за вас, если установить её над жилой.\n\nВ глубину шахтёр не ограничен. Радиус работы отображается во всплывающей подсказке.\n\nВариант &bMV&r может не иметь достаточного радиуса, чтобы добыть всю жилу целиком, но вариант &6HV&r имеет, так что, возможно, стоит подождать. Получите &eлюбой&r, чтобы завершить это задание.", + "quests.medium_voltage.mv_miner.desc.2": "Вам потребуется &9Энергия&r. &aЗаряженные батареи&r могут подойти, но они быстро разряжаются, что немножко неудобно.\n\nНаш главный совет — использовать заполненную &3Бочку&r с каким-либо топливом &7(если вы используете пар — не сработает!)&r и &3Генератор&r.\n\nПоместите Бочку над Генератором и щёлкните по ней ПКМ &5Киянкой&r, чтобы автоматически сливать топливо в Генератор.", + "quests.medium_voltage.mv_miner.desc.3": "&cАХТУНГ!:&r Не забудьте &dпрогружать чанки&r все 9 чанков рудной жилы &7(откройте FTB карту, выделите чанки, удерживая Ctrl и щёлкая ЛКМ, затем включите принудительную загрузку, после привата этих чанков)&r.\n\n&9Совет:&r В качестве выходного инвентаря можно использовать &3ME-Сундук&r или &3Ящик&r, чтобы упростить транспортировку руды домой. &3ME-Сундук&r можно запитывать напрямую от EU, но это станет возможно не сразу. или обмотать простой лентой ящик", + "quests.medium_voltage.mv_miner.task": "Любой шахтёр", + "quests.medium_voltage.mv_component.title": "MV Комплектующие", + "quests.medium_voltage.mv_component_.subtitle": "Ненавидешь крафтить их на предыдущем уровне?", + "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": "Улучшенный Электролизёр", + "quests.medium_voltage.electrolyzer.subtitle": "Мы доползли до MV, Яре-яре...", + "quests.medium_voltage.electrolyzer.desc.1": "&bЭтот механизм должен показаться знакомым&r — вы уже видели его раньше.\n&2Мы настоятельно рекомендуем скрафтить его как можно скорее,&r так как он откроет кучу новых источников &7Алюминия&r.\n\nДо этого единственным способом было &9электролиз Сапфира&r для получения &7Алюминиевой пыли&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&8И нам совсем не жаль.&r", + "quests.medium_voltage.mv_extruder.title": "Улучшенный Экструдер", + "quests.medium_voltage.mv_extruder.subtitle": "Самое большая обновка, которую вы запилите", + "quests.medium_voltage.mv_extruder.desc": "Мы &lИСКРЕННЕ&r надеемся, что вы &cНИКОГДА&r не делали &7LV&r Экструдер, потому что только &bMV&r Экструдер действительно полезен. Если всё же сделали — сразу &aпереработайте его&r в Дуговой печи.\n\nЭкструдер формирует твёрдые материалы в (почти!) любые формы из &aСлитков&r. Это отличный способ сократить количество микрокрафта и сохранить высокий коэффициент конверсии.\n\nЭкструдер может изготавливать &6Болты&r, &6&6Малые шестерни&r, &6Шестерни&r и &6&6Кольца&r с максимальной эффективностью за один шаг!\n\nТакже можно использовать его для &dТруб&r, &dВинтов&r и &dРоторв&r.", + "quests.medium_voltage.mv_chemical_reactor.title": "Улучшенный химический реактор", + "quests.medium_voltage.mv_chemical_reactor.subtitle": "Быстрее, выше и сильнее", + "quests.medium_voltage.mv_chemical_reactor.desc": "Вы уже знаете про &dХимический реактор&r &7LV Уровня&r — но вот небольшое напоминание.\n\nНа &bMV&r вы открываете &aновые рецепты&r и получаете возможность &aразгонять свои рецепты LV&r. Это значит, что они могут работать &avдвое быстрее&r, но будут потреблять &eв 4 раза больше энергии&r. Решать вам, стоит ли такая жертва.\n\nНо это не единственная причина строить &bMV Химический реактор&r. Если вы выбрали путь &dорганической химии&r, вам понадобится он для получения &dЭтилена&r, который использует &dСерную кислоту&r и &dЭтанол&r — для этого требуется &bMV напряжение&r.\n\nВ любом случае, это надёжная машина и не слишком дорогая. Делайте, когда будет немного свободного времени.", + "quests.medium_voltage.mv_mixer.title": "Улучшенный Смеситель", + "quests.medium_voltage.mv_mixer.subtitle": "Замешивание более комплексных сплавов", + "quests.medium_voltage.mv_mixer.desc": "Если хотите погрузиться в &bMV&r, начните от суда.\n\nСмеси, создаваемые в &3MV Смесителе&r, очень полезны.", + "quests.medium_voltage.mv_energy.title": "Электрогенерация в MV", + "quests.medium_voltage.mv_energy.subtitle": "Ща буит жеска...", + "quests.medium_voltage.mv_energy.desc.1": "Приветствуем вас в разделе &bПроизводство энергии MV&r.\n\nВ этом квесте мы рассмотрим разные варианты, которые помогут поддерживать работу ваших &bMV механизмов&r в бесперебойном режиме.\n\nМы не будем затрагивать эту тему в каждом разделе, поэтому настоятельно рекомендуем &aпрочитать отдельный раздел о энергии GregTech&r для более глубокого понимания всех процессов.\n\nА пока у вас есть &aтри основных варианта&r:\n\n&8- &bИспользовать MV Генератор&r для прямого производства &bэнергии уровня MV&r.\n\n&8- &bПоднять мощность &7LV&r с помощью трансформаторов&r, с коэффициентом &e4:1&r между &7LV&r и &bMV&r.\n\n&8- &bПреобразовывать RF&r при помощи &dАльтернативого генератора&r для получения &bэнергии MV&r напрямую.\n\n", + "quests.medium_voltage.mv_energy.desc.2": "Генераторы более высокого уровня будут пропорционально увеличивать расход топлива в зависимости от своей мощности, сохраняя при этом продолжительность работы топлива и удельное количество энергии от топлива неизменными. &3Улучшенная Паровая Турбина&r будет использовать &d5120 mB пара&r в секунду, что эквивалентно &d256 mB/t&r.\n\nДля выполнения задания получите &eлюбой&r из генераторов, но для начала вы можете предпочесть &3Улучшенную Паровую Турбину&r.", + "quests.medium_voltage.mv_energy.desc.3": "Для &bMV&r доступно несколько новых вариантов генерации энергии. Выбрав Генераторы и нажав &4U&r, вы сможете увидеть, какие виды &aГорючего&r или &aГаза&r подходят для нужного типа генератора.\n\nЗадания в верхнем левом углу этого раздела посвящены крутым вариантам генерации энергии.\n\nЕсли вы продолжите использовать &9Пар&r для производства энергии, вам, скорее всего, понадобится &3Большой Паровой Котёл&r.", + "quests.medium_voltage.mv_energy.desc.4": "&3Трансформаторы&r позволяют безопасно повышать и понижать напряжение между уровнями. Они преобразуют получаемую энергию в эквивалентное количество энергии на 1 уровень напряжения выше или ниже входного.\n\nПомимо возможности запускать машины на разных уровнях напряжения, трансформаторы полезны для передачи энергии на большие расстояния, так как потери в кабелях меньше при высоком напряжении. Как и в реальной жизни!", + "quests.medium_voltage.mv_energy.desc.5": "У трансформаторов 5 низковольтных сторон и 1 высоковольтная сторона.\n\n&9Обычный&r трансформатор может трансформировать 1А <-> 4А, а &aВысокотоковые&r трансформаторы между 1А <-> 4А, 2А <-> 8А, 4А <-> 16А и 16А <-> 64А.\n\nИспользуйте &aОтвёртку&r, чтобы переключаться между режимами повышения и понижения напряжения.\n\nТрансформаторы более высокого уровня потребуют &9Катушки&r.", + "quests.medium_voltage.mv_energy.desc.6": "Итак, как вы уже знаете из &7LV уровня&r, что вы можете использовать &dПреобразователь&r, чтобы, собственно, конвертировать &cRF&r напрямую в &bэнергию MV&r.", + "quests.medium_voltage.mv_battery.title": "MV Батарейный Буфер", + "quests.medium_voltage.mv_battery.subtitle": "Энергоменеджмент", + "quests.medium_voltage.mv_battery.desc": "Как обычно, мы настоятельно рекомендуем использовать &bБатарейный буфер&r — даже если вы расходуете больше &6энергии&r, чем генерируете, она не закончится мгновенно, и вы сможете восстановить запас, пока ваши механизмы простаивают.", + "quests.medium_voltage.mv_battery.task": "Любой MV Батарейный буфер", + "quests.medium_voltage.mv_batteries.title": "Улучшенные Батареи", + "quests.medium_voltage.mv_batteries.subtitle": "Бэйба с батарейкой ", + "quests.medium_voltage.mv_batteries.desc": "Батареи &bMV&r подойдут вам, если вы хотите накапливать энергию, как и на уровне &7LV&r.\n\nСтоимость в &aНатрия&r, &aЛития&r или &aКадмия&r увеличивается до 8 кучек пыли, поэтому используйте тот материал, которого у вас больше. Разница в ёмкости, в конце концов, не &7ТАК&r велика!\n\nПолучите &eлюбую&r батарею, чтобы завершить задание.", + "quests.medium_voltage.mv_steel_alloy.title": "Стальные Сплавы", + "quests.medium_voltage.mv_steel_alloy.subtitle": "Закалите свое сердце", + "quests.medium_voltage.mv_steel_alloy.desc": "Ванадиевая сталь требуется в небольших количествах по ходу прогрессии. Она &6почти в четыре раза прочнее&r обычной стали, если используется в инструментах GregTech. Ванадий добывается из &aВанадиевого магнетита&r, который вы могли встретить в жилах Магнетита.\n\nДругие стальные сплавы включают Синюю сталь, Красную сталь и Чёрную сталь!\n\nВозьмите немного Синей стали бесплатно — она вдвое прочнее обычной стали.", + "quests.medium_voltage.pyrolyse.title": "Пиролизная Печь", + "quests.medium_voltage.pyrolyse.subtitle": "Термальное разложение", + "quests.medium_voltage.pyrolyse.desc.1": "&3Пиролизная печь&r — это электрический аналог &3Коксовой печи&r. Она может производить &9Кокс&r и &9Древесный уголь&r с побочным продуктом &9Креозотом&r, как и раньше, но также даёт дополнительные &6Органические побочные продукты&r, самым полезным из которых является &aДревесная смола&r.\n\nДругим продуктом является &aБиомасса&r, которая на данный момент более важна для вашего прогресса.", + "quests.medium_voltage.pyrolyse.desc.2": "Побочные продукты можно перегонять, получая множество органических ресурсов, при этом &oразные&r побочные продукты дают &oразные&r соотношения &oразных&r химикатов.\n\nВам стоит заглянуть в задание по &9Перегонке&r, чтобы лучше понять всю мощь этого процесса…", + "quests.medium_voltage.pyrolyse.desc.3": "Существуют рецепты, в которых можно использовать &bАзот&r, чтобы удвоить скорость работы. Сейчас это не особо стоит того, но со временем Азот станет бесплатным и бесконечным.\n\nОдного &3LV Энергетического разъема&r будет более чем достаточно, а Сверхпроводники обеспечат стабильные &d64 EU/t&r. Кроме того, &3Купроникилевые катушки&r идеально подойдут на первоначальном этапе использования пиролизной печи, но со временем вы, возможно, захотите перейти на &bКантал&r.", + "quests.medium_voltage.pyrolyse.desc.4": "&9&lПримечание:&r&l Путь через растения — это один из способов получения &9&lЭтилена&r&l, который является необходимым химикатом для перехода на уровень &6HV&r&l. Другой путь связан с нефтью.&r\n\nПиролизная печь остаётся &dнеобязательной&r. Однако её строительство приносит отличные результаты — как для производства энергии, так и для получения разнообразных побочных продуктов, поэтому мы настоятельно рекомендуем обратить на неё внимание.\n\n&l&3Предистория:&r&o В GT5u структура Пиролизной печи печально прославилась как гигантская коробка с девятью катушками внутри. Игроки часто тратили по нескольку минут, пытаясь понять, что не так, из-за отсутствия предпросмотра в EMI.", + "quests.medium_voltage.mv_fluid_rig.title": "Жидкостная Буровая Установка", + "quests.medium_voltage.mv_fluid_rig.subtitle": "Вова, включай насос...", + "quests.medium_voltage.mv_fluid_rig.desc.1": "Возведение &3Жидкостной буровой установки&r — это серьёзная инвестиция, но она &oоднозначно&r является самым важным &6источником нефти&r.\n\nОна качает жидкости прямо из-под самого бедрока. Обратите внимание, что жидкости там фактически нет — она лишь имитируется.\n\nЖидкостные жилы хранятся в пределах &cобластей размером с чанк&r. Каждая жила содержит разный тип жидкости, но в основном это виды нефти.\n\nПока нельзя заниматься разведкой жидкостных жил, &oещё&r эта возможность появится на уровне &6HV&r.", + "quests.medium_voltage.mv_fluid_rig.desc.2": "Каждая жила генерируется с разной базовой добычей, обычно от &d150L&r до &d300L в секунду&r.\n\nПри добыче жилы постепенно истощаются. Это приводит к снижению добычи со временем до достижения минимального уровня. В этот момент следует переместить буровую установку на другую жилу.\n\n&3Базовая буровая установка для жидкостей&r прослужит около 100 000 циклов работы (по 1 секунде на цикл) до полного истощения. Этого достаточно для добычи более &610 000&r ведер нефти. Установки более высокого уровня значительно увеличивают добычу и замедляют скорость истощения.", + "quests.medium_voltage.mv_fluid_rig.desc.3": "&lЧто можно найти в &2Верхнем мире&r&l:&r\n\n&9Нефть:&r богаче &aЛёгким топливом&r, самый ценный вариант.\n&9Лёгкая нефть:&r богаче &aсерным газом&r, пригодным для производства энергии.\n&9Тяжёлая нефть:&r богаче &aТяжёлым топливом&r, которое используется в более узких областях, в частности для Толуола.\n&9Средняя нефть:&r богаче &aНафтой&r, лучшим источником продуктов ранней стадии игры.\n&9Серный газ:&r даёт &aНефтянной газ&r без необходимости перегонки.\n&9Морская вода:&r даёт &aНатрий&r и &aХлор&r, полезные на поздних этапах.", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&lЧто можно найти в &cБездне&r&l:&r\n\n&9Природный газ:&r даёт &aНефтянной газ&r, причём с большим выходом, чем жилы в Надземном мире.\n&9Лава:&r надеемся, вы знаете, что это такое.\n\nВ начале придётся пробовать наудачу, пока не найдёте что-то подходящее. Помните, что всё, что вы качаете, можно использовать для заправки вашей буровой установки.", + "quests.medium_voltage.mv_oilsands.title": "Симулятор Америки", + "quests.medium_voltage.mv_oilsands.subtitle": "Этот квест спонсируется Армией США.", + "quests.medium_voltage.mv_oilsands.desc": "Под землёй вы можете наткнуться на жилы нефтеносного песка. Пыль из его можно &3центрифугировать&r, чтобы получить &aНефть&r.\n\n&9&lПримечание:&r&l Путь через нефть — один из способов получения &9&lЭтилена&r&l. Другие пути связаны с естественным получением через этанол.&r\n\nПока нефть &dнеобязательна&r. Она становится обязательной гораздо позже, на уровне &5EV&r.\n\nНефть также можно перерабатывать в виде &aЛёгкого топлива&r, &aДизеля&r или даже &aБензина&r — отличные варианты для производства энергии.\n\nЕсли вы выбрали этот путь, используйте нефть как для энергии, так и для получения этилена.\n\nНефтеносный песок — &6отличная отправная точка&r, которая поможет вам продержаться до разблокировки буровых установок для жидкостей.", + "quests.medium_voltage.mv_lpg.title": "Культ Реального Пердуна", + "quests.medium_voltage.mv_lpg.subtitle": "Тот, кто это унюхал...", + "quests.medium_voltage.mv_lpg.desc.1": "&aНефтянной газ&r, &aСжиженный углеводородный газ (LPG)&r и &aМетан&r — это &9Газовое горючее&r. СНГ (сжиженный нефтяной газ) — смесь углеводородов, обычно используемая для отопления.\n\nНефтянной газ получают либо из &dПриродного газа&r, либо из &dЛёгкой нефти&r, при этом второй вариант даёт больше газа, но требует дополнительной перегонки.\n\nИспользование &3Центрифуги&r для разделения на &aСНГ&r и &aМетан&r рекомендуется всегда, так как это практически бесплатно.", + "quests.medium_voltage.mv_lpg.desc.2": "&a&aСНГ&r и &aМетан&r сжигаются в &3Газовой турбине&r. Среди прочих видов топлива они самые простые в использовании, что делает их отличным выбором для начала. Их недостаток в том, что их нельзя перерабатывать дальше, поэтому улучшение &3Буровой установки для жидкостей&r может стать приоритетом, если вы выберете этот источник топлива.\n\n&aМетан&r также можно получить из нескольких &aестественных источников&r. &eМежду нами&r, это в некотором смысле мемы), но вы можете исследовать их, если хотите. В конечном счёте, выбор источника энергии остаётся за вами.", + "quests.medium_voltage.mv_brewery.title": "Местная Пивоварня Варит Бражку", + "quests.medium_voltage.mv_brewery.subtitle": "*Ик*... *Ик*", + "quests.medium_voltage.mv_brewery.desc.1": "Варочная машина используется для производства &aСмазки&r из &aРедстоуна&r и &aКреозота&r/&aНефти&r. Смазка имеет узкое применение, в частности, используется в &3Резочной машине&r для значительного сокращения времени выполнения рецептов.\n\nВарочная машина — очень, очень медленная машина, но для работы ей почти не требуется энергия. Постройка &2множества Варочных машин&r поможет получить достаточно Биомассы для вашего квеста по пластмассам.\n\n&9Примечание:&r Варочная машина открывает путь Биомассы к получению &9Этилена&r. То же можно сделать и в &3Пиролизной печи&r. Другой путь связан с нефтью.&r", + "quests.medium_voltage.mv_brewery.desc.2": "&l&3Предистория:&r&o Вы могли бы построить собственную Варочную машину, если хотите создать компанию и начать продавать алкоголь... в GregTech 6.&r", + "quests.medium_voltage.mv_biomass.title": "Биомасса", + "quests.medium_voltage.mv_biomass.subtitle": "Растения недостаточно промышленны!", + "quests.medium_voltage.mv_biomass.desc.1": "Добро пожаловать на органический путь получения &dЭтилена&r! Цель — производить &dЭтанол&r и смешивать его с &dСерной кислотой&r для получения &dЭтилена&r.\n\nЧтобы получить &dЭтанол&r, его нужно дистиллировать из &aБиомассы&r — давайте рассмотрим разные способы её производства.\n\nПервый метод простой: поместите &aсаженцы&r в &dВарочную машину&r с водой. Минус в том, что &eэто медленно&r.", + "quests.medium_voltage.mv_biomass.desc.2": "Второй путь сложнее, но даёт гораздо лучшие результаты. Вам понадобится &aМякина&r, которую получают путём &aИзмельчения комков биомассы&r. Обратите внимание, что &aдополнительных шансов&r не будет, пока вы не разблокируете &6HV Измельчитель&r.\n\n&bКомки биомассы&r можно получить:\n- Центрифугированием &9Сахарного тростника&r или &9Свёклы&r\n- Центрифугированием любой &aдревесины&r, которую можно собрать с помощью &9#afc:tappable_logs&r\n- Прямым пресованием &aсаженцев&r\n\nНаконец, Обработайте &aМякину&r с водой в &dВарочной машине&r или используйте &dПиролизную печь&r для &eувеличения выхода на 66 процентов&r.", + "quests.medium_voltage.mv_biomass.desc.3": "&l&3Предистория:&r&o Вы, возможно, узнаете Биомассу из IndustrialCraft2! В IC2 Experimental существовал довольно... загадочный способ превращения Биомассы в Биогаз для производства энергии, который, к сожалению, требовал слишком больших вложений, чтобы быть действительно выгодным.", + "quests.medium_voltage.mv_distillery.title": "Дистилятор", + "quests.medium_voltage.mv_distillery.subtitle": "Иллюзия свободного выбора", + "quests.medium_voltage.mv_distillery.desc.1": "Прежде чем начать, вот важная информация, если вы планируете производить Этилен:\n\nПутем через &aНефть&r потребуется &oкак минимум&r &3LV Дистиллятор&r.\n\nДля пути через &aБиомассу&r вам &lпонадобится&r &3MV Дистиллятор&r.\n\nПолучите &eлюбой&r из них, чтобы завершить задание.", + "quests.medium_voltage.mv_distillery.desc.2": "Поняли? &6Отлично&r! Теперь обсудим сложную тему: &9Перегонку&r. Мы постараемся помочь вам понять, как и почему рецепты &aEMI&r устроены именно так, что ж, оставайтесь с нами.\n\nПрактически все рецепты &3Дистиллятора&r — это копии рецептов из &3Ректификационной колонны&r, но при этом у них только один жидкостный выход, а всё остальное теряется.\n\nДругими словами, можно сказать, что &3Дистиллятор&r — это &oупрощённая&r версия &3Ректификационной колонны&r.", + "quests.medium_voltage.mv_distillery.desc.3": "Это не значит, что &3Дистиллятор&r хуже из этих двух вариантов. Он разблокируется раньше, и при этом он &dменьше&r, &dдешевле&r и &dэнергоэффективнее&r на один рецепт.\n\nЁлки-палки, во многих случаях вас даже не будет волновать потеря остальных жидкостей.\n\n&3Дистилляторы&r — необходимый компонент для производства энергии, будь то &aДизель&r или &aБензол&r.\n\nВам, скорее всего, понадобится много таких механизмов самого низкого уровня, чтобы избежать потерь энергии из-за ускорения работы (Оверклокинга).", + "quests.medium_voltage.mv_distillery.task": "Сделайте либо LV, либо MV Дистиллятор.", + "quests.medium_voltage.mv_benzene.title": "Культ Бензола", + "quests.medium_voltage.mv_benzene.subtitle": "В конце концов, это всегда бензол", + "quests.medium_voltage.mv_benzene.desc.1": "&aБензол&r — это &9Газовое топливо&r. Чтобы избежать лишних сложностей, рассмотрим два лучших способа его получения.\n\nПервый вариант обычно &dна основе древесины&r. Поместите бревна в &3Пиролизную печь&r для получения &9Древесной смолы&r. Полученный древесный уголь можно переработвать в &3Экстракторах&r для получения ещё большего количества &9Древесной смолы&r, которую затем &3перегоняют&r для получения &aБензола&r.\n\nВторой вариант &dна основе тяжёлой нефти&r. Поместите тяжёлую нефть в &3Дистиллятор&r для получения &9Тяжёлого топлива&r, которое затем &aЖестко крекингуют паром&r и снова &3перегоняют&r для получения &aБензола&r.", + "quests.medium_voltage.mv_benzene.desc.2": "Для информации о переработке нефти ознакомьтесь с заданиями по Лёгкому топливу и Нафте.\n\nВ целом лучше отдавать приоритет установке бОльшего количества машин (&dРаспараллеливание&r), а не ускорению рецептов (оверклоку). Так вы потеряете меньше энергии при переработке ресурсов.\n\n&aБензол&r сжигается в &3Газовой турбине&r. Этот источник энергии изначально слабее своего &eДизельного&r аналога, но получает значительный прирост при переработке в &6Нитробензол&r на уровне &6HV&r. В конечном итоге выбор источника энергии остаётся за вами.", + "quests.medium_voltage.mv_light_fuel.title": "Легкое Топливо", + "quests.medium_voltage.mv_light_fuel.subtitle": "Легкая закуска", + "quests.medium_voltage.mv_light_fuel.desc": "Перегонка &aнефти&r дарует вам топливо, которое нужно десульфуризировать.\n\n&aСероводород&r полностью &dперерабатывается&r в &3Электролизере&r.\n\nДля автоматизации этого процесса просто разместите &3Химический реактор&r и &3Электролизер&r рядом друг с другом. Обязательно используйте &5Отвёртку&r, чтобы &4включить подачу с выходной стороны&r.\n\n&aЛёгкое топливо&r — хороший вариант для &9энергии&r, но есть и нечто лучшее... смотрите квест левее.", + "quests.medium_voltage.mv_diesel.title": "Культ Дизеля", + "quests.medium_voltage.mv_diesel.subtitle": "Мама? Как делают Солярку?", + "quests.medium_voltage.mv_diesel.desc.1": "&aДизель&r — это &dНефтяное &9Горючее топливо&r.\n\nДля смешивания &aЛёгкого топлива&r и &aТяжёлого топлива&r правильное соотношение для &3Дистилляторов&r — &63:2&r из &dНефти&r или &dСырой нефти&r.\n\nЭто означает необходимость 3 Дистилляторов для Лёгкого топлива и 2 Дистилляторов для Тяжёлого топлива.", + "quests.medium_voltage.mv_diesel.desc.2": "Вы можете &6значительно&r сократить количество требуемой &dнефти&r, используя &dтяжёлую нефть&r именно для производства &aтяжёлого топлива&r. &dНефтеносный песок&r — отличный вариант, если вы выбрали этот путь!\n\n&o(Для любителей математики: вы переходите от 8.33 нефти -> 6 дизеля к 5 нефти + 0.4 тяжёлой нефти -> 6 дизеля)&r\n\n&eАХТУНГ:&r &cНЕ пытайтесь&r заливать нефть в &3Ректификационную колонну&r. Может показаться хорошей идеей, так как она даёт и лёгкое, и тяжёлое топливо. Однако этот процесс требует большого разгона, чтобы оправдать затраты времени, и вы потеряете больше энергии, чем стоит ценность побочных продуктов.", + "quests.medium_voltage.mv_diesel.desc.3": "В целом лучше отдавать приоритет установке бОльшего количества машин (&dРаспараллеливание&r), а не ускорению рецептов (оверклоку). Так вы потеряете меньше энергии при переработке ресурсов.\n\n&aДизель&r сжигается в &3Дизельном генераторе&r. Его можно дополнительно переработать в &6Нитро-дизель&r на уровне &6HV&r. По сравнению с другими источниками энергии, он обычно более эффективен, но требует более сложной линии переработки. Если вы выбрали &eнефтяной&r путь для производства &aПолиэтилена&r, это отлично сочетается с существующей инфраструктурой. В конечном итоге выбор источника энергии остаётся за вами.", + "quests.medium_voltage.mv_jetpack.title": "Я Верю, Что Умею Летать", + "quests.medium_voltage.mv_jetpack.subtitle": "...Ну, Почти полёт", + "quests.medium_voltage.mv_jetpack.desc": "Этот реактивный ранец использует большинство видов &aГорючего топлива&r (исключая масла) для обеспечения примитивной формы полёта.\n\nЗаправляйте его так же, как &3Бочку&r, или с помощью &3Наполнителя&r.\n\nНажмите &4H&r (по умолчанию), чтобы включить режим парения.", + "quests.medium_voltage.mv_ethanol.title": "Этанол", + "quests.medium_voltage.mv_ethanol.subtitle": "ВООУ! Падажжи — да этоже Алкоголь!", + "quests.medium_voltage.mv_ethanol.desc": "Поместите ранее созданную &aБиомассу&r в &3MV Дистиллятор&r, чтобы получить &aЭтанол&r.\n\nОн понадобится вам для производства &dЭтилена&r путём реакции с &aСерной кислотой&r в &3MV Химическом реакторе&r... если, конечно, вы не выбрали нефтяной путь.\n\nКогда у вас накопится достаточный запас этанола, рассмотрите возможность создания и перегонки &9Ферментированной биомассы&r в &3Ректификационной колонне&r (когда доберётесь до её!) для получения сопутствующих химических веществ.\n\n&cНе пытайтесь&r использовать этанол как источник энергии... пожалуй, это худшее его применение. Если вы хотите органическое &9топливо&r, советуем обратить внимание на &dБензол&r!", + "quests.medium_voltage.mv_bio_diesel.title": "Культ БиоДизеля", + "quests.medium_voltage.mv_bio_diesel.subtitle": "Мощщ одиннадцати подсолнухов", + "quests.medium_voltage.mv_bio_diesel.desc": "Хотите попробовать что-то растительного происхождения, но без фермы дерева? Попробуйте &3Биодизель&r! Лучший способ его получения — через &dМасло семян&r, получаемое из подсолнухов или канолы. Просто смешайте его с небольшим количеством этанола и гидроксида натрия (из морской воды!) в Химическом реакторе — и Вуа-ля! Вдовесок этот процесс даёт глицерин, который можно переработать в &dЭтилен&r!", + "quests.medium_voltage.mv_mutli_channel.title": "Мультитрубы", + "quests.medium_voltage.mv_mutli_channel.subtitle": "Это уже AE2?", + "quests.medium_voltage.mv_mutli_channel.desc": "Обычные &o&dЖидкостные трубы&r из GregTech могут транспортировать только один тип жидкости одновременно. &3Четверные трубы&r способны передавать до четырёх разных видов жидкостей, а &3девятерные трубы&r — целых девять! Очень удобно для компактных установок. &3Девятерные трубы&r особенно пригодятся на уровне &5EV&r для обслуживания множества выходных люков из &3Ректификационной колонны&r. Получите &eлюбую&r из них, чтобы завершить это задание.", + "quests.medium_voltage.mv_naphtha.title": "Нафта или Легкое топливо", + "quests.medium_voltage.mv_naphtha.subtitle": "Мы до сих пор не знаем, как произносится нафта.", + "quests.medium_voltage.mv_naphtha.desc": "Перегонка &aНефти&r или &aСырой нефти&r даст вам топливо, которое потребуется &dОбессерить&r. &aСероводород&r можно полностью &dпереработать&r в &3электролизёре&r. Чтобы автоматизировать процесс, просто разместите &3химический реактор&r и &3электролизёр&r рядом друг с другом. Не забудьте использовать &5отвёртку&r, чтобы &4включить ввод со стороны выхода&r. &aНафта&r — отличный &9продукт&r, и что удивительно, она также является очень хорошим топливом (ходят слухи, что её скоро понерфят). Однако если у вас есть нефтеносный песок или нет нефти, то лёгкая нефть может оказаться лучшим вариантом. Продолжайте выполнять квесты правее, чтобы узнать больше.", + "quests.medium_voltage.mv_fuel_cracking.title": "Крекинг Топлива", + "quests.medium_voltage.mv_fuel_cracking.subtitle": "Крекинг горючего может показаться сложным...", + "quests.medium_voltage.mv_fuel_cracking.desc.1": "Отставить паннику! Мы будем делать это в основном для получения углеводородов. Существует множество способов получить &dэтилен&r из переработки нефти — легко запутаться во всех этих вариантах и рецептах! Лучший способ — подвергнуть &aнафту&r крекингу паром в &3химическом реакторе&r. Обязательно сделайте нафту прошедший &aЖЕСТКИЙ&r крегинг паром, чтобы получить больше этилена.", + "quests.medium_voltage.mv_fuel_cracking.desc.2": "Достигнув уровня &6HV&r, вы сможете выполнять данный рецепт в &3Крекинговом заводе&r с эффективностью 100%%. В текущем же варианте, при использовании &3Химического реактора&r, потери составляют около &450%%&r. &9Примечание:&r Да, на данном этапе процесс выглядит крайне неэффективным — однако это хороший стимул для перехода на более высокий технологический уровень. &3Ректификационная колонна&r станет значительным улучшением для нефтехимического производства, но пока до неё далеко. На данный момент для получения &dэтилена&r придётся использовать &3Дистиллятор&r.", + "quests.medium_voltage.mv_ethylene.title": "Этилнен", + "quests.medium_voltage.mv_ethylene.subtitle": "Один из многих углеводородов", + "quests.medium_voltage.mv_ethylene.desc": "Наши искренние поздравления с достижением этого этапа! Способ получения &aЭтилена&r был описан в предыдущем задании — в зависимости от выбранного вами пути. Совсем скоро &aЭтилен&r понадобится для производства полимеров, а также он используется и в нескольких других химических реакциях.", + "quests.medium_voltage.mv_sulfuric_acid.title": "Серная Кислота", + "quests.medium_voltage.mv_sulfuric_acid.subtitle": "...то, что он считал H2O, оказалось H2SO4!", + "quests.medium_voltage.mv_sulfuric_acid.desc.1": "Интерфейс EMI может показаться немного перегруженным, поэтому давайте разберём оптимальный способ получения &eСерной кислоты&r. Процесс её производства состоит из трёх этапов. Этот химмикат используется во многих важных рецептах, поэтому стоит как можно скорее автоматизировать его получение.", + "quests.medium_voltage.mv_sulfuric_acid.desc.2": "Для автоматизации процесса вам потребуется &3ТРИ химических реактора LV&r. Рекомендуется собрать отдельную линию производства с &3одним LV генератором&r, который будет питать все три машины. Затем можно аккуратно соединить трубы для подачи реагентов и вывода продукта. &9-&r Шаг 1: Прореагируйте &aСеру&r с &bКислородом&r, чтобы получить &aДиоксид серы&r. &9-&r Шаг 2: Прореагируйте &aДиоксид серы&r с дополнительным &bКислородом&r, чтобы получить &aТриоксид серы&r. &9-&r Шаг 3: Прореагируйте &aТриоксид серы&r с &bВодой&r, чтобы получить &eСерную кислоту&r.", + "quests.medium_voltage.mv_sulfuric_acid.desc.3": "&l&3Предистория:&r&o У Химмического Реактора в GregTech 5 был только один слот для жидкости. Чтобы обойти это ограничение, использовали &dхимию в капсулах&f. Автоматизация производства серной кислоты заключалась в том, что одна ячейка перемещалась от машины к машине и затем возвращалась в исходное положение. Это был довольно забавный и интересный вызов для автоматизации, но вместе с тем и запарное дело!", + "quests.medium_voltage.mv_aciditic.title": "Это Расплавит Вашу Плоть", + "quests.medium_voltage.mv_aciditic.subtitle": "...если ты не прочитаешь этот квест.", + "quests.medium_voltage.mv_aciditic.desc.1": "Вы можете заметить, что некоторые жидкости обозначены как &aКислоты&r, и &9Серная кислота&r — одна из них. Это значит, что многие трубы не смогут безопасно их транспортировать! На уровне &bMV&r самыми доступными трубами для кислот, скорее всего, будут &aЗолотые&r, а более дорогие из &aВанадиевой стали&r и &aХрома&r займут второе и третье место. &aНержавеющая сталь&r или &aПолитетрафторэтилен&r (попробуйте сказать это быстро) станут подходящими вариантами, когда вы достигнете уровня &6HV&r.", + "quests.medium_voltage.mv_aciditic.desc.2": "У вас есть три варианта хранения кислот на этом этапе: &dСтеклянные пробирки&r, &dЗолотые бочки&r или &dСупер-резервуары&r. Стеклянные пробирки похожи на &9жидкостные капсулы&r и предназначены специально для кислот. Золотые бочки — всё понятно из названия. Супер-резервуары разблокируются после получения &9полиэтилена&r и могут хранить любые жидкости без ограничений. &cАХТУНГ!:&r Кислоты в неподходящих трубах вызывают &cУтечкУ&r, &cРазрушение труб&r и высокую вероятность &cсмерти&r! Будьте осторожны! &l&3Предистория:&r&o Механика транспортировки и хранения кислот взята из GregTech 6.", + "quests.medium_voltage.mv_aciditic.task": "Не волнуйтесь, я шарю за кислоты...", + "quests.medium_voltage.mv_hydrochloric.title": "Соляная Кислота", + "quests.medium_voltage.mv_hydrochloric.subtitle": "Вам понадобится КилоЛитры этого!", + "quests.medium_voltage.mv_hydrochloric.desc": "Получите &9соляную кислоту&r, смешав &aводород&r и &aхлор&r. Эта кислота также образуется как побочный продукт во многих реакциях с участием &aхлора&r. В зависимости от вашей схемы производства, возможно, вам никогда не потребуется производить её напрямую.", + "quests.medium_voltage.mv_hydrogen.title": "Водород", + "quests.medium_voltage.mv_hydrogen.subtitle": "Вы знаете о водороде, верно?", + "quests.medium_voltage.mv_hydrogen.desc": "Существует &aкуча способов&r получить &dводород&r — часто он появляется как &aпобочный продукт&r в других химических реакциях. В &dнефтехимии&r вы будете получать много &dметана&r, который можно &aэлектролизовать&r для получения &dводорода&r. Также можно электролизовать &9воду&r, но мы рекомендуем использовать &9морскую воду&r — она даёт более полезные побочные продукты. &eБыстрый способ&r — это прямая реакция &9воды&r с &dметаном&r, но этот метод доступен только на уровне &6HV&r и изначально &eработает довольно медленно&r.", + "quests.medium_voltage.mv_chlorine.title": "Хлор", + "quests.medium_voltage.mv_chlorine.subtitle": "Соленый газ", + "quests.medium_voltage.mv_chlorine.desc": "&dХлор&r — ключевой компонент вашего химического арсенала. Его понадобится &dмного&r для различных реакций и этапов крафта, первая из которых — &dсоляная кислота&r. Существует множество способов получить &dхлор&r, но основным источником является &dсоль&r. Она практически везде, так что проблем с поиском не возникнет. Мы рекомендуем &aэлектролизировать морскую воду&r на раннем этапе, но имейте в виду — этот процесс &eмедленный&r.", + "quests.medium_voltage.mv_seawater.title": "Морская вода", + "quests.medium_voltage.mv_seawater.subtitle": "Широкий, как океан...", + "quests.medium_voltage.mv_seawater.desc": "Этот квест создан, чтобы подчеркнуть наличие &9морской воды&r в &aTerrafirmaCraft&r. Вы легко можете получить &aБесконечный источник&r всего из двух ведер и механической помпы или Жидкостного коллектора. Затем вы сможете &aэлектролизовать её&r, получая как &dхлор&r, так и &dводород&r.", + "quests.medium_voltage.mv_long_pipe.title": "Магистральные Трубопроводы", + "quests.medium_voltage.mv_long_pipe.subtitle": "Хотите знать, как перемещать эти жидкости?", + "quests.medium_voltage.mv_long_pipe.desc.1": "&3Эти Жидкостные Трубопроводы&r позволяют транспортировать жидкости на большие расстояния. Установите по одному концу трубы на каждой из концов вашего маршрута и соедините их трубопроводными блоками. Эти трубы мгновенно передают жидкость с входной стороны на выходную. При этом у них есть минимальное расстояние между концами трубы, поэтому они не подходят для коротких дистанций.", + "quests.medium_voltage.mv_long_pipe.desc.2": "Эти трубы имеют репутацию &4проблемных&r при настройке. Если они сначала не работают, попробуйте повернуть концы с помощью &eКлюча&r.", + "quests.medium_voltage.mv_polyethylene.title": "Полиэтилен", + "quests.medium_voltage.mv_polyethylene.subtitle": "Корешь! это наш первый полимер!", + "quests.medium_voltage.mv_polyethylene.desc": "Если хотите проще, просто называйте это пластиком. Для процесса полимеризации добавьте &aкислород&r — он даёт лучший выход, чем воздух, затем отвердите так же, как с резиной в отвердителе. &aПолиэтилен (ПЭ)&r — ключ к открытию &6множества новых возможностей&r. Его обычно используют в виде &dлистов&r или &dжидкости&r. &l&3Предистория:&r&o В OreDict и названии жидкости для полиэтилена в версии 1.12.2 GTCEu использовалось &bplastic&f для совместимости между модами.", + "quests.medium_voltage.mv_tank.title": "Супер Резервуар", + "quests.medium_voltage.mv_tank.subtitle": "Эти резвуары просто сверх имба", + "quests.medium_voltage.mv_tank.desc": "Нет, а если серьёзно. Это — &cТ&6О&eП&aО&bВ&9О&5Е&r переносное решение для хранения жидкостей. &64 000 вёдер вместимости&r — в одном единственном блоке, без каких-либо ограничений по температуре или кислотности! Как и бочки, Супер резервуары &6сохраняют содержимое при разрушении&r и могут быть очищены в сетке крафта. Если тебе нужно &9ещё больше&r места, обрати внимание на Супер резвуары более высокого уровня или ячейки хранения жидкостей из AE2.", + "quests.medium_voltage.mv_pvc.title": "Поливинилхлорид", + "quests.medium_voltage.mv_pvc.subtitle": "У вас один полимер, скоро будет два!", + "quests.medium_voltage.mv_pvc.desc": "&aПоливинилхлорид (ПВХ)&r — третий по объёму производства пластик в реальном мире. В CEu он может заменять полиэтилен при создании &aпластиковых электросхем&r и других предметов для увеличения выхода. Начиная с &5EV&r, ПВХ требуется для изоляции кабелей. Трубы из ПВХ обладают &6высочайшей пропускной способностью&r, хотя большинству текущих сборок такая скорость не нужна. Всё же полезно знать об этом. &9Совет:&r жидкая форма ПВХ не используется в базовом GTCEu, так что можешь спокойно переабатывать ПВХ в листы.", + "quests.medium_voltage.mv_boards.title": "Пластиковые Схемы", + "quests.medium_voltage.mv_boards.subtitle": "Настоящий Casio на пластмаске!", + "quests.medium_voltage.mv_boards.desc": "На этом этапе у вас есть все инструменты, чтобы начать производить &aПластиковые электросхемы&r. Полимеры более высокого уровня в будущем значительно увеличат выход &aэлектросхем&r. Цепочки рецептов становятся довольно длинными, поэтому рекомендуется обрабатывать большие партии в двух отдельных &3Химических реакторах&r.", + "quests.medium_voltage.mv_sodium_iron.title": "Персульфат натрия / Хлорид железа III", + "quests.medium_voltage.mv_sodium_iron.subtitle": "Давайте вытравим медь с платы!", + "quests.medium_voltage.mv_sodium_iron.desc.1": "&aПерсульфат натрия&r можно использовать в &9переработке руд&r в &3Химической ванне&r, чтобы получать различные дополнительные продукты, которые обычно недоступны. Это полностью необязательно, но довольно выгодно. &lСтоять, подождите! Это не главное&r — настоящая тема этого задания... &aПерсульфат натрия&r и &aХлорид железа III&r используются для создания более дешёвых &9Хороших электросхем&r, так как их использование снижает расход серебра в четыре раза. Они также &dнеобходимы&r для производства &9Пластиковых электросхем&r.", + "quests.medium_voltage.mv_sodium_iron.desc.2": "Производство &aПерсульфата натрия&r даёт &aСоляную кислоту&r в качестве побочного продукта, которую можно повторно использовать для получения &aХлорида железа III&r. Сейчас это, пожалуй, лучший подход, но выбор остаётся за вами. Однако, если вы можете пассивно добывать морскую воду, путь через Хлорид железа III будет дешевле и проще.", + "quests.medium_voltage.mv_inductor.title": "Индукторы", "quests.medium_voltage.mv_inductor.subtitle": "Z = jwL", - "quests.medium_voltage.mv_inductor.desc": "A Circuit Component that you can now make thanks to the &3MV Assembler&r and &3Polyethylene&r.\n\nIf you want the cheapest recipe, &aNickel-Zinc Ferrite&r is the way to go.", - "quests.medium_voltage.mv_electronic_components.title": "Electronic Components", - "quests.medium_voltage.mv_electronic_components.subtitle": "A core piece of GT progression system", - "quests.medium_voltage.mv_electronic_components.desc": "Let's talk about the &dElectronic Components&r from &dGregTech&r. They are a &ccore part&r of the mod's progression and are used to make &aall circuits&r in the game.\n\nMost components have &amultiple recipes&r. Depending on the &9materials&r you choose, you can achieve &ebetter yields&r. We encourage you to browse through &aEMI&r and decide which ones fit your situation best.\n\nThese components can be crafted in &clarge stacks&r—you'll need &ea lot&r of them for your future circuits!\n\nFor the &dTransistor&r, you’ll specifically need &5Silicon Ingots&r... but by now, you should be &cvery familiar&r with &chandling hot stuff&r, right?", - "quests.medium_voltage.mv_best_lv.title": "Best LV Circuits", - "quests.medium_voltage.mv_best_lv.subtitle": "It Feels Good to be the Best", - "quests.medium_voltage.mv_best_lv.desc": "&6The best LV Circuits&r! You can start to churn these guys out, as you'll be making them for the rest of the game.\n\nTry to keep a stockpile of these crafted at all times - making these on-demand can take a while.\n\nReaching &5EV&r will unlock methods to make them even cheaper.", - "quests.medium_voltage.mv_best_mv.title": "Best MV Circuits", - "quests.medium_voltage.mv_best_mv.subtitle": "MV has peaked", - "quests.medium_voltage.mv_best_mv.desc": "&6The best MV Circuits&r! You will be making these for the remainder of the game.\n\nEventually (in &9IV&r), they will become even cheaper.", - "quests.medium_voltage.mv_second_hv.title": "More HV Circuits", - "quests.medium_voltage.mv_second_hv.subtitle": "On that HV grind", - "quests.medium_voltage.mv_second_hv.desc": "Congrats finishing a major milestone of the &bMV Chapter&r.\n\nBetter &6HV&r Circuits - much &dcheaper&r and easier to make than before.\n\nYou should now be &aready to move on&r to the HV Chapter, unless you're yet to scale up your Power Production.", - "quests.medium_voltage.mv_circuit_assembler.title": "Your Second Circuit Assembler", - "quests.medium_voltage.mv_circuit_assembler.subtitle": "Yippee, yahoo", - "quests.medium_voltage.mv_circuit_assembler.desc": "As is common for every tier, the &3Circuit Assembler&r is an essential part of progression, always opening up a new Tier of circuits.\n\nAt this point you should be placing an &3Extractor&r next to your Circuit Assembler. Send off dozens of stacks of &aSoldering Alloy&r Ingots, and you won't have to worry about refilling again.", - "quests.medium_voltage.mv_more_lv.title": "More LV Circuits", - "quests.medium_voltage.mv_more_lv.subtitle": "You have unlocked a new tier of Circuits!", - "quests.medium_voltage.mv_more_lv.desc.1": "The Integrated Logic Circuit is an alternate &7LV &aCircuit&r, which is easier to mass-produce, and can be upgraded to &bMV&r (and then &6HV&r).\n\n&9Note:&r This is not a strict upgrade to the cost of Circuits - you would need to get to the next Tier for that. It is still an important upgrade, and is required to get to &6HV circuits&r.", - "quests.medium_voltage.mv_more_lv.desc.2": "&l&3Lore:&r&o The circuit progression in GTCEu is mostly based on GT5u's progression. It has been rebalanced to not be as painful. &lSpecifically&r&o this circuit tier, which was a trap!", - "quests.medium_voltage.mv_more_mv.title": "More MV Circuits", - "quests.medium_voltage.mv_more_mv.subtitle": "More... I demand more!", - "quests.medium_voltage.mv_more_mv.desc": "The &bMV&r Circuit for the Integrated Tier, this is one is kinda bad. Use it only to make your first HV Circuit", - "quests.medium_voltage.mv_first_hv.title": "First HV Circuits!", - "quests.medium_voltage.mv_first_hv.subtitle": "...but hold on before getting too giddy", - "quests.medium_voltage.mv_first_hv.desc": "Alright... technically, obtaining &6HV&r Circuits and Stainless Steel lets you progress to &6HV&r - but let's not rush things.\n\nThe first thing you should make with these is a &3MV Circuit Assembler&r to unlock the new tier of Circuits right away; cheaper recipes is the &dreal payoff&r here.", - "quests.medium_voltage.mv_multi_smelter.title": "Ultimate Smelter", - "quests.medium_voltage.mv_multi_smelter.subtitle": "Possibly the most powerful furnace you've seen", - "quests.medium_voltage.mv_multi_smelter.desc": "At its lowest power (Cupronickel coils and &7LV&r Voltage), the &dMulti Smelter&r smelts 32 items in just 12 seconds - equivalent to &926.7 Furnaces&r, or 3.3 Steam Ovens!\n\nIf that wasn't already enough to convince you, standard &aoverclocks&r can be applied with sufficient voltage.\n\nAnd even better - higher tier &3Coils&r increase the amount of items it can smelt in &dparallel&r!", - "quests.medium_voltage.hv_machine_hull.title": "The HV Machine Hull", - "quests.medium_voltage.hv_machine_hull.subtitle": "That's your fourth machine hull! This is progression", - "quests.medium_voltage.hv_machine_hull.desc": "This is it—the &6HV Machine Hull&r! Congratulations on reaching this major milestone.\n\nYou had to manage &dchemicals&r, upgrade your &dEBF&r, mix a &cnew alloy&r, and learn about &aWafers&r and the &aLaser Engraver&r. We hope your &aunderstanding of GregTech&r is growing stronger every day.\n\nFrom now on, &ecomplexity will increase&r at each tier, but you’ll also gain access to &anew machines&r that will ease earlier processes and introduce &9interesting new mechanics&r.\n\nEven though you’ve just unlocked the &6HV Chapter&r, remember that this marks only &atwo&r of the &bMV Chapter&r’s main milestones.\n\nIf you haven’t unlocked the &6Second HV Circuit&r yet, we highly encourage you to do so before moving forward.\n\nOtherwise, &aWelcome to HV!&r", - "quests.medium_voltage.mv_stainless.title": "Stainless Steel", - "quests.medium_voltage.mv_stainless.subtitle": "HV is in your grasp", - "quests.medium_voltage.mv_stainless.desc.1": "Any Steel you encounter in day-to-day life is most likely &7Stainless Steel&r. It is extremely resilient against corrosion.&r\n\nStainless Steel is the material for &6HV&r components, like Aluminium for &bMV&r and Steel for &7LV&r. It is also used in high quantities for the &3Distillation Tower&r.\n\nIt requires &cChromium&r, obtained mainly from &cRuby&r or &cChromite&r, and &2Manganese&r, obtained from &2Pyrolusite&r and others in its vein.", - "quests.medium_voltage.mv_stainless.desc.2": "Smelting Stainless Steel requires &dHV Power&r, which you likely do not have at this point. Scaling Power Production is crucial.\n\nIf you &9haven't already&r, it would be a good idea to get a second EBF going. They can share blocks, so that means your second EBF only requires &a10 Cupronickel Coils&r instead of 16.\n\nHave one EBF run off &bMV&r for Aluminium and any other recipes requiring &bMV&r Power, and one running off &6HV&r with &32 MV Energy Hatches&r.", - "quests.medium_voltage.mv_energy_hatch.title": "Upgrade your EBF!", - "quests.medium_voltage.mv_energy_hatch.subtitle": "LV is so old-school!", - "quests.medium_voltage.mv_energy_hatch.desc": "A &7LV&r Battery Buffer and two &7LV&r Energy Hatches likely won't cut it anymore. Let's remedy that!\n\nUpgrade your Electric Blast Furnace with a &3MV Energy Hatch&r. Now, you can run it with &bMV&r Generators without having to mess around with &3Transformers&r.", - "quests.medium_voltage.mv_kanthal_coil.title": "Kanthal Coils", - "quests.medium_voltage.mv_kanthal_coil.subtitle": "Is it getting hot in here?", - "quests.medium_voltage.mv_kanthal_coil.desc": "&3Kanthal Heating Coils&r are the next major step in progression. They increase the temperature of your &3Blast Furnace&r to &d2,700K&r, allowing you to process new materials. They may also &eaccelerate&r less hot recipes - check the &aEnergy&r chapter to the top-left for details.\n\nRemember that you &ccannot&r mix coils in an EBF.", - "quests.medium_voltage.mv_kanthal_ingot.title": "Kanthal", - "quests.medium_voltage.mv_kanthal_ingot.subtitle": "This one is hot", - "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Oh good lord 128 ingots, that’s a lot of &cKanthal&r needed here... And what the heck is this &chot ingot&r thing again? &cYes, again!&r\n\nHere we are with a mechanic you should remember from &aTerrafirmaCraft&r—it hasn't been that long, right?\n\n&cHot ingots&r will &cburn you&r if you carry them around and you don't have &cany way&r to counter it using Tongs...\n\nAlso unlike &aTFC&r, &cthey don’t cool down naturally&r! You’ll need to actively &acool them&r down.", - "quests.medium_voltage.mv_kanthal_ingot.desc.2": "To do that, place them into a &dChemical Bath&r with &9Water&r—or even better, &9Distilled Water&r for a &e50 percent faster&r cooling time.\n\nWe highly recommend you &aautomate&r this process to avoid carrying those hot ingots yourself. Use &apipes&r to send them directly from your &dEBF&r to your &dChem Bath&r.\n\nYou can also set up an &aItem Tag Filter&r to help with sorting the hot ingots &7#forge:hot_ingots*&r.", - "quests.medium_voltage.mv_assembler.title": "Advanced Assembler", - "quests.medium_voltage.mv_assembler.subtitle": "Assengers, Avemble", - "quests.medium_voltage.mv_assembler.desc": "The &3Assembler&r is a staple for every Tier; an important goal to unlock more recipes and progress further into the Age. Many in the community see crafting a voltage tier's Assembler as a sign of &oproperly&r reaching said voltage.\n\nThat being said, welcome to &bMV&r!\n\nThe &bMV &3Assembler&r unlocks &eTransistors&r, &eCapacitors&r and &eInductors&r, used for the next tiers of Circuits.", - "quests.medium_voltage.mv_cells.title": "Large Cells", - "quests.medium_voltage.mv_cells.subtitle": "Like cells... only larger!", - "quests.medium_voltage.mv_cells.desc": "Aluminium Cells are a big upgrade over the Steel Cells or Universal Fluid Cells.\n\nThey can hold any fraction of Fluid - up to &d32 buckets&r!", - "quests.medium_voltage.mv_jetpack_2.title": "I Believe I Can Fly II", - "quests.medium_voltage.mv_jetpack_2.subtitle": "...still not quite there.", - "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&8(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", - "quests.medium_voltage.mv_cutter.title": "Advanced Cutter", - "quests.medium_voltage.mv_cutter.subtitle": "Upgrades, people, upgrades!", - "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note : You could use the &6Greate&r &7version, it has now a tank to fill with it fluid&r&r", - "quests.medium_voltage.mv_cutter.task": "Any Brewery", - "quests.medium_voltage.mv_laser_engraver.title": "Laser Engraving", - "quests.medium_voltage.mv_laser_engraver.subtitle": "This is peak technology, this is slow also", - "quests.medium_voltage.mv_laser_engraver.desc": "The &3Laser Engraver&r engraves patterns into &9Silicon Wafers&r based on the type of &9Lens&r it is given. After the wafers are engraved, they must be passed through a &3Cutting Machine&r to turn them into components ready to be put into Circuits.\n\nHigher tier Engravers can etch more complex wafers for more efficient Circuits.", - "quests.medium_voltage.mv_silicon_boule.title": "Silicon Lottery", - "quests.medium_voltage.mv_silicon_boule.subtitle": "These wafers are fully fungible", - "quests.medium_voltage.mv_silicon_boule.desc": "&9Silicon Boules&r are made in the &3EBF&r with half a stack of &aSilicon Dust&r and a pinch of &aGallium Arsenide&r. Their primary purpose is engraving &6Circuit Wafers&r.\n\nAfter making the Boule, process it in the &3Cutter&r to get 16 Silicon Wafers ready for engraving.\n\n&cWarning:&r Each Silicon Boule takes &47.5 minutes&r to make at 120 EU/t, or 1,080,000 EU! If the EBF loses power midway, the recipe will start to &close progress&r.\n\nWith that being said, Silicon Boules take an absolute age to craft, so consider parallelizing the recipe in multiple &3EBF&rs and stockpiling them.", - "quests.medium_voltage.mv_silicon.title": "Silicon Dust", - "quests.medium_voltage.mv_silicon.subtitle": "", - "quests.medium_voltage.mv_silicon.desc.1": "You’ll need to get used to it: in &dGregTech&r, there are always &amultiple ways&r to reach what you want—a philosophy we made sure to preserve in &aTerrafirmaGreg&r.\n\nTo obtain &5Silicon&r, we’ll suggest &ctwo main methods&r so you have clear directions. As always, it’s up to you to figure out what’s &abest for your situation&r.", - "quests.medium_voltage.mv_silicon.desc.2": "First method: &amining silicon-rich ores&r. Look for &9Mica&r or &9Kyanite&r veins—they also contain &dAluminium&r. Alternatively, you can &aElectrolyze Zeolite Dust&r, found in &9Chalcopyrite&r and &dRealgar&r veins.\n\nSecond method: &eAdvanced but powerful&r. Although more expensive to set up and slower early on, it becomes the &ebest method&r at &6HV&r and beyond. Plus, it generates &9Oxygen&r as a bonus! The idea is simple: &aElectrolyze Silicon Dioxide Dust&r into &9Oxygen&r and &5Silicon&r. You can get &aSilicon Dioxide Dust&r by &9centrifuging Flint Dust&r, which itself comes from &9Flint&r collected by &asifting Gravel&r.\n\nThis setup can become &afully passive&r easily. Try using the &aEMI Recipe Tree&r tool (bottom left of your screen) to plan your builds—it really helps!", - "quests.medium_voltage.mv_ulpic.title": "ULPIC Chips", - "quests.medium_voltage.mv_ulpic.subtitle": "Pickin' up Chips", - "quests.medium_voltage.mv_ulpic.desc": "Using a Sapphire Lens, engrave a Silicon Wafer into an ULPIC Wafer.\n\nThis can be processed in a Cutter for ULPIC Chips, which are important for some multiblock components!\n\nMore specificaly the MV Energy Hatch that you will need to bring your EBF to HV energy tier.", - "quests.medium_voltage.mv_ic.title": "IC Chips", + "quests.medium_voltage.mv_inductor.desc": "Компонент схемы, который теперь можно изготовить благодаря &3Улучшенной сборочной машине&r и &3Полиэтилену&r. Если хотите самый дешёвый рецепт, выбирайте &aНикель-цинковый феррит&r.", + "quests.medium_voltage.mv_electronic_components.title": "Электрокомпоненты", + "quests.medium_voltage.mv_electronic_components.subtitle": "база системы развития GT.", + "quests.medium_voltage.mv_electronic_components.desc": "Давайте поговорим об &dЭлектронных компонентах&r из &dGregTech&r. Они являются &cключевой частью&r прогрессии мода и используются для создания &aвсех схем&r в игре. Большинство компонентов имеют &aнесколько рецептов&r. В зависимости от выбранных &9материалов&r вы можете получить &eлучший выход&r. Рекомендуем ознакомиться с &aEMI&r и выбрать те, которые подходят именно вам. Эти компоненты можно создавать &cбольшими партиями&r — для ваших будущих схем потребуется &eочень много&r. Для &dТранзисторов&r вам понадобятся &5Кремниевые слитки&r... но к этому моменту вы должны уже &cхорошо разбираться&r в &cработе с горячими материалами&r, верно?", + "quests.medium_voltage.mv_best_lv.title": "Хорошие LV электросхемы", + "quests.medium_voltage.mv_best_lv.subtitle": "Приятно быть лучшим", + "quests.medium_voltage.mv_best_lv.desc": "&6Лучшие схемы LV уровня&r! Вы можете начать массовое производство этих компонентов, так как они понадобятся вам на протяжении всей игры. Старайтесь всегда иметь запас — их изготовление съедает много времени. По достижению &5EV&r ступени, откроет способы сделать их ещё дешевле.", + "quests.medium_voltage.mv_best_mv.title": "Хорошие MV электросхемы", + "quests.medium_voltage.mv_best_mv.subtitle": "MV на высоте", + "quests.medium_voltage.mv_best_mv.desc": "&6Лучшие схемы уровня MV&r! Вы будете создавать их на протяжении всей игры. Со временем (на уровне &9IV&r) они станут ещё дешевле.", + "quests.medium_voltage.mv_second_hv.title": "Больше HV электросхем", + "quests.medium_voltage.mv_second_hv.subtitle": "да будет HV гринд", + "quests.medium_voltage.mv_second_hv.desc": "Поздравляем с важным этапом &bMV главы&r. Улучшенные &6HV&r схемы — теперь гораздо &dдешевле&r и проще в изготовлении. Вы должны быть &aготовы перейти&r к HV главе, если только не собираетесь ещё увеличить производство энергии.", + "quests.medium_voltage.mv_circuit_assembler.title": "Ваш второй Сборщик микросхем", + "quests.medium_voltage.mv_circuit_assembler.subtitle": "Япиииии! Уяхууу...", + "quests.medium_voltage.mv_circuit_assembler.desc": "Как и для каждого уровня, &3Сборщик микросхем&r — важная часть прогрессии, открывающая новый уровень схем. На этом этапе следует разместить &3Экстрактор&r рядом с вашим Сборщиком. Отправляйте десятки стаков &aПрипоя&r в виде слитков, и вам не придется беспокоиться о дозаправке.", + "quests.medium_voltage.mv_more_lv.title": "Больше LV электросхем", + "quests.medium_voltage.mv_more_lv.subtitle": "Вы апнули новый лвл электросхем!", + "quests.medium_voltage.mv_more_lv.desc.1": "Интегральная схема — это альтернативная &7LV &aсхема&r, которую проще производить в больших количествах и которую можно улучшить до &bMV&r (а затем и до &6HV&r). &9Примечание:&r Это не прямое улучшение по стоимости схем — для этого нужно перейти на следующий уровень. Тем не менее, это важное улучшение и оно необходимо для доступа к &6HV схемам&r.", + "quests.medium_voltage.mv_more_lv.desc.2": "&l&3Предистория:&r&o Прогрессия схем в GTCEu в основном основана на прогрессии из GT5u. Она была сбалансирована, чтобы быть менее мучительной. &lВ частности&r&o этот уровень схем, который был настоящей... ловушкой!", + "quests.medium_voltage.mv_more_mv.title": "Больше MV электросхем", + "quests.medium_voltage.mv_more_mv.subtitle": "БОЛЬШЕ... мне нужно БОЛЬШЕ!", + "quests.medium_voltage.mv_more_mv.desc": "&bMV&r схема для переходного уровня, она достаточно бесполезная. Используйте её только для создания первой &6HV&r схемы.", + "quests.medium_voltage.mv_first_hv.title": "Первые HV электросхемы!", + "quests.medium_voltage.mv_first_hv.subtitle": "...ну погоди, рано радоваться", + "quests.medium_voltage.mv_first_hv.desc": "Ну-с... технически, получив &6HV&r схемы и нержавеющую сталь, вы можете перейти на &6HV&r уровень — но не стоит спешить. Первым делом сделайте &3Улучшенный Сборщик Микросхем&r, чтобы сразу разблокировать новый уровень схем; здесь настоящая выгода — в более дешёвых рецептах.", + "quests.medium_voltage.mv_multi_smelter.title": "Мультиплавильня", + "quests.medium_voltage.mv_multi_smelter.subtitle": "Вероятно, самая лютая печка которую вы видели", + "quests.medium_voltage.mv_multi_smelter.desc": "При минимальной мощности (Купроникелевые катушки и &7LV&r напряжение) &dМультиплавильня&r переплавляет 32 предмета всего за 12 секунд — это эквивалентно &926.7 Печам&r или 3.3 Паровым печам! Если этого недостаточно, &aРАЗГОН&r применим при достаточном напряжении. И ещё лучше — катушки более высокого уровня &3увеличивают количество предметов, которые она может переплавлять &dпараллельно&r!", + "quests.medium_voltage.hv_machine_hull.title": "HV Оболочка машины", + "quests.medium_voltage.hv_machine_hull.subtitle": "Это уже ваша четвертая оболочка! Это прогресс бро!", + "quests.medium_voltage.hv_machine_hull.desc": "Вот она — &6Оболочка машины HV&r! Поздравляем с достижением этого важного этапа. Вам пришлось управлять &dхимикатами&r, улучшать &dЭДП&r, замешивать &cновый сплав&r и знакомиться с &aПодложками&r и &aЛазерным гравером&r. Надеемся, ваше &aпонимание GregTech&r с каждым днём становится всё глубже. Отныне &eсложность будет расти&r на каждом уровне, но вы также получите доступ к &aновым машинам&r, которые упростят ранние процессы производства и представят &9интересные новые механики&r. Хотя вы только что открыли &6главу HV&r, помните, что это всего лишь &aглава&r из основных этапов &bглавы MV&r. Если вы ещё не открыли &6Вторую HV-схему&r, настоятельно рекомендуем сделать это прежде, чем двигаться дальше. В противном случае — &aДобро пожаловать в HV!&r", + "quests.medium_voltage.mv_stainless.title": "Нержавеющая сталь", + "quests.medium_voltage.mv_stainless.subtitle": "HV этап в твоих руках", + "quests.medium_voltage.mv_stainless.desc.1": "Любая сталь, с которой вы сталкиваетесь в повседневной жизни, скорее всего — &7нержавеющая&r. Она чрезвычайно устойчива к коррозии.&r\n\nНержавеющая сталь — это материал для компонентов &6HV&r, как алюминий для &bMV&r и сталь для &7LV&r. Она также широко используется в &3Ректификационной колонне&r.\n\nДля её производства требуется &cхром&r, который получают преимущественно из &cрубина&r или &cхромита&r, и &2марганеца&r, добываемого из &2пиролюзита&r и других рудных жил.", + "quests.medium_voltage.mv_stainless.desc.2": "Выплавка нержавеющей стали требует &dHV напряжения&r, которого у вас, скорее всего, пока нет. Масштабирование производства электроэнергии — ключевой момент. Если вы &9ещё этого не сделали&r, тр стоит запустить вторую Электрическую Доменную Печь (ЭДП). Они могут делить общие блоки структур, поэтому второй ЭДП требуется всего &a10 купроникелевых катушек&r вместо 16. Одну ЭДП запускайте от &bMV&r напряжения для алюминия и других рецептов, требующих &bMV&r электроэнергии, а другой — от &6HV&r с &32 MV энергетическими разъемами&r.", + "quests.medium_voltage.mv_energy_hatch.title": "Прокачайте свою ЭДП!", + "quests.medium_voltage.mv_energy_hatch.subtitle": "LV уже совсем старьё", + "quests.medium_voltage.mv_energy_hatch.desc": "&7LV Батарейный буфер&r и две &7LV&r энергетических разъема, скорее всего, уже не вывозят. Давайте это исправим! Улучшите вашу Электрическую Доменную Печь, добавив &3MV энергетический разъем&r. Теперь вы можете запускать его с помощью &bMV&r напряжения без возни с &3трансформаторами&r.", + "quests.medium_voltage.mv_kanthal_coil.title": "Канталовые катушки", + "quests.medium_voltage.mv_kanthal_coil.subtitle": "Здесь будет жарко?", + "quests.medium_voltage.mv_kanthal_coil.desc": "&3Канталовые катушки&r — следующий важный шаг в развитии. Они повышают температуру вашей &3Электрической Доменной Печи&r до &d2700K&r, позволяя плавить новые материалы. Также они могут &eускорять&r менее горячие рецепты — подробности смотрите в разделе &aЭнергетика GregTech&r в левом верхнем углу. Помните, что в ЭДП &cнельзя&r смешивать катушки разных типов.", + "quests.medium_voltage.mv_kanthal_ingot.title": "Кантал", + "quests.medium_voltage.mv_kanthal_ingot.subtitle": "Он такой горячий...", + "quests.medium_voltage.mv_kanthal_ingot.desc.1": "Ооо Господи, 128 слитков — этого &cКантала&r... И что это за &cгорячий слиток&r такой? &cДа, опять!&r Вот вам механика, которую вы должны помнить из &aTerrafirmaCraft&r — это было не так давно, правда? &cГорячие слитки&r &cобожгут вас&r, если вы будете носить их без &cкаких-либо приспособлений&r, например, щипцов... И в отличие от &aTFC&r, &cони не остывают сами&r! Вам нужно будет активно &aохлаждать&r их.", + "quests.medium_voltage.mv_kanthal_ingot.desc.2": "Для этого поместите их в &dХимическую ванну&r с &9водой&r — или еще лучше, с &9дистиллированной водой&r, что сократит время охлаждения на &e50%%&r. Настоятельно рекомендуем &aавтоматизировать&r этот процесс, чтобы не носить горячие слитки вручную. Используйте &aпредметные трубы&r для прямой подачи слитков из вашей &dЭДП&r в &dХимическую ванну&r. Также можно настроить теги для &aПредметного фильтра&r для сортировки горячих слитков &7#forge:hot_ingots*&r.", + "quests.medium_voltage.mv_assembler.title": "Улучшенная Сборочная Машина", + "quests.medium_voltage.mv_assembler.subtitle": "Балбесы! общий сбор!", + "quests.medium_voltage.mv_assembler.desc": "&3Улучшенная Сборочная Машина&r — это база для каждого уровня; важная цель для открытия новых рецептов и дальнейшего прогресса в Эпохе. Многие в комьюнити считают создание сборочной машины определенного уровня напряжения признаком &oнастоящего&r достижения этого уровня.\n\nИ всё же теперь добро пожаловать в &bMV&r!\n\n&bMV &3Улучшенная Сборочная Машина&r открывает новые рецепты &eТранзисторов&r, &eКонденсаторов&r и &eКатушек индуктивности&r, необходимых для следующих уровней электросхем.", + "quests.medium_voltage.mv_cells.title": "Вместительные Капсулы", + "quests.medium_voltage.mv_cells.subtitle": "Люблю капсулы... только вместительнее!", + "quests.medium_voltage.mv_cells.desc": "Алюминиевые капсулы — крутое улучшение по сравнению со стальными или универсальными капсулами для жидкостей.\n\nОни могут хранить любое нецелое количество ведер жидкости — вплоть до &d32 ведер&r!", + "quests.medium_voltage.mv_jetpack_2.title": "Я Верю, Что Умею Летать II", + "quests.medium_voltage.mv_jetpack_2.subtitle": "...пока не совсем там.", + "quests.medium_voltage.mv_jetpack_2.desc": "Вот этот Реактивный ранец позволяет летать на Электроэнергии.\n\nЗаряжайте его так же, как батареи.\n\nНажмите &4H&r (по умолчанию), чтобы включить режим парения.\n\n&o&8(Да-да, реактивный ранец должен работать на реактивном топливе... да не придирайтесь.))0)0)&r", + "quests.medium_voltage.mv_cutter.title": "Улучшенная Резочная Машина", + "quests.medium_voltage.mv_cutter.subtitle": "Апгрейд, Господа, Апгрейд", + "quests.medium_voltage.mv_cutter.desc": "&3Улучшенная Резочная Машина&r нужена для резки &7кремниевых монокристаллов&r, чтобы подготовить их к &aлазерной гравировке&r. Рекомендуется постоянно подавать &dсмазку&r, чтобы сократить время работы. Смазку можно приготовить из &eнефти&r и &aталька&r, &2мыльного камня&r или &cкрасного камня&r. &7Примечание: можно использовать улучшенную версию &6Greate&r, у которой есть встроенный бак для жидкости.", + "quests.medium_voltage.mv_laser_engraver.title": "Лазерная Гравировка", + "quests.medium_voltage.mv_laser_engraver.subtitle": "Пик технологий, но только медленный...", + "quests.medium_voltage.mv_laser_engraver.desc": "&3Улучшенный лазерный гравировщик&r выжигает узоры на &9кремниевых пластинах&r в зависимости от цвета &9линзы&r, которая в нем установлена. После гравировки пластины нужно пропустить через &3Резочную машину&r, чтобы превратить их в чипы, готовые к инеграции в электросхемы. Гравировщики более высокого уровня могут создавать более сложные пластины для уведичения количества выхода схем.", + "quests.medium_voltage.mv_silicon_boule.title": "Кремниевая лотерея", + "quests.medium_voltage.mv_silicon_boule.subtitle": "Эти пластины полностью взаимозаменяемы.", + "quests.medium_voltage.mv_silicon_boule.desc": "&9Монокристалический кремний&r изготавливаются в &3Электрической доменной печи (ЭДП)&r из 32 &aКремниевой пыли&r и щепотки &aАрсенида галлия&r. Их основное назначение — легирование &6кремниевых пластин&r.\n\nПосле создания монокристалла нарежте его в &3Резочной Машине&r, чтобы получить 16 кремниевых пластин, готовых к гравировке.\n\n&cВнимание:&r Каждый кремниевый монокристалл требует &47.5 минут&r при 120 EU/t или 1,080,000 EU! Если ЭДП потеряет питание в процессе, прогресс рецепта будет &cсбрасываться&r.\n\nУчитывая это, изготовление кремниевых монокристаллов занимает очень много времени, поэтому рекомендуется запускать рецепт параллельно на нескольких &3Электрических доменных печах&r и делать запас.", + "quests.medium_voltage.mv_silicon.title": "Кремниевая пыль", + "quests.medium_voltage.mv_silicon.subtitle": "она не воскресит вашь фуфыкс", + "quests.medium_voltage.mv_silicon.desc.1": "К этому надо привыкнуть: в &dGregTech&r всегда есть &aнесколько способов&r достичь цели — философия, которую мы обязательно сохранили в &aTerrafirmaGreg&r. Чтобы получить &5Кремний&r, мы предлагаем &cдва основных метода&r, чтобы у тебя были чёткие направления. Как всегда, выбирать &aлучший вариант&r — только тебе.", + "quests.medium_voltage.mv_silicon.desc.2": "Первый метод: &aдобыча руд, богатых кремнием&r. Ищи жилы &9Слюды&r или &9Ционита&r — они также содержат &dАлюминий&r. Или &aэлектролизируй порошок цеолита&r, который встречается в жилах &9Халькопирита&r и &dРеальгара&r.\n\nВторой метод: &eсложный, но эффективный&r. Хотя отладка процесса дороже и первые шаги идут медленно, этот способ становится &aлучшим&r на &6HV&r и уровнях выше. К тому же он даёт бонус — &9кислород&r! Суть проста: &aэлектролизируй порошок диоксида кремния&r в &9кислород&r и &5кремний&r. &aПорошок диоксида кремния&r получают центрифугированием &9кремниевой пыли&r. Кремний добывается &aпросеиванием гравия&r.\n\nЭту схему легко сделать &aполностью пассивной&r. Попробуй использовать инструмент &aEMI Дерево рецептов&r (внизу слева на экране) для планирования производства — это очень помогает!", + "quests.medium_voltage.mv_ulpic.title": "ULPIC Чипы", + "quests.medium_voltage.mv_ulpic.subtitle": "Собирам чипы", + "quests.medium_voltage.mv_ulpic.desc": "Используя сапфировую линзу, выгравируйте кремниевую пластину в пластину ULPIC.\n\nДалее нарежте её в резочной машине для получения ULPIC чипов, которые нужны для некоторых много блочных компонентов!\n\nА именно для MV энергетический входной разъем, который понадобится, чтобы улучшить вашу ЭДП до HV напряжения.", + "quests.medium_voltage.mv_ic.title": "IC Чип", "quests.medium_voltage.mv_ic.subtitle": "I C U", - "quests.medium_voltage.mv_ic.desc": "Using a Ruby Lens, engrave a Silicon Wafer into an ILC Wafer.\n\nThis can be processed in a Cutter for IC Chips, which are important components that will be precious when improving upon your circuit crafting capabilities.", - "quests.medium_voltage.mv_ram.title": "Download more RAM", - "quests.medium_voltage.mv_ram.subtitle": "That's from the Daft Punk you know?", - "quests.medium_voltage.mv_ram.desc": "&aRandom Access Memory&r is required for many Circuits.", - "quests.medium_voltage.mv_cpu.title": "Get a better CPU", - "quests.medium_voltage.mv_cpu.subtitle": "Gamers usually prefer GPU", - "quests.medium_voltage.mv_cpu.desc": "&aThe &eCPU&r is one of the most important pieces of technology in your factory.\n\nThe &eCPU Wafer&r is a special one—it can be upgraded later through a &2Chemical Reaction&r.\n\nBut for now, you’ll need the &eCPU Chip&r to craft the best &bMV&r circuits available at this stage.\n\nMake sure to produce a few extra, as they’ll be essential for future upgrades.", - "quests.medium_voltage.lsb.title": "Getting very steamy", - "quests.medium_voltage.lsb.subtitle": "If you have unlimited fuel, it can still be good", - "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d1800 mB/t of Steam&r.\n\nWe'd recommend you try other power options at this point.", + "quests.medium_voltage.mv_ic.desc": "Используя рубиновую линзу, выгравируйте кремниевую пластину в пластину ILC.\n\nДалее нарежте её в резочной машине для получения IC чипов — важных компонентов, которые будут незаменимы при создании ваших более крутых электросхем.", + "quests.medium_voltage.mv_ram.title": "Скачать ОЗУ бесплатно", + "quests.medium_voltage.mv_ram.subtitle": "Это из Daft Punk, в курсе?", + "quests.medium_voltage.mv_ram.desc": "&aОперативное Запоминающее Устройтсво&r пригодиться вам для электросхем.", + "quests.medium_voltage.mv_cpu.title": "Купи нормальный CPU", + "quests.medium_voltage.mv_cpu.subtitle": "Игроманы больше любят GPU", + "quests.medium_voltage.mv_cpu.desc": "&aЦентральный процессор&r — один из важнейших компонентов вашей фабрики.\n\n&eПластина процессора&r — особый элемент, который можно улучшить позже с помощью &2Химической Реакции&r.\n\nНо пока вам понадобится &eЦентральный процессор&r для создания лучших &bMV&r схем на данном этапе.\n\nОбязательно сделайте несколько запасных, они будут необходимы для будущих улучшений.", + "quests.medium_voltage.lsb.title": "Новый Бочек", + "quests.medium_voltage.lsb.subtitle": "Если у вас есть много топлива, то это сгодится", + "quests.medium_voltage.lsb.desc": "Если вы &lвсё ещё&r используете &3Большой Бронзовый Котёл&r, возможно, стоит перейти на &3Большой Стальной Котёл&r.\n\nОн немного эффективнее &3Большого Бронзового Котла&r и вырабатывает &d1800 mB/t пара&r.\n\nРекомендуем вам попробовать другие варианты генерации энергии на этом этапе.", "parts.lang.quests.7": "metal_age ", "quests.metal_age": "Век металлургии", "quests.metal_age.subtitle": "Ваши первые технологические достижения.", @@ -3543,111 +3542,110 @@ "quests.steam_age.steel_mech_press.subtitle": "Почти как Кузнечный Молот", "quests.steam_age.steel_mech_press.desc.1": "Кузнечный Молот Высокого Давления совсем рядом и может делать почти всё, что умеет эта машина, но если вам срочно нужны рецепты более высокого уровня для автоматической сварки, это ваш шанс.\n\nЕсли вы не знакомы с Кузнечным Молотом, он и Стальной Механический Пресс могут дробить руды (без побочных продуктов), превращать камень в булыжник, затем в гравий и песок, а также ломать кирпичи. Однако только Кузнечный Молот предлагает &3дешевый рецепт металлических пластин&r...", "quests.steam_age.steel_mech_press.desc.2": "&l&3История:&r&o Механический Пресс Create раньше был ключевым элементом прогрессии поздней Паровой Эпохи до версии 0.9 TerraFirmaGreg, потому что производил пластины по ещё лучшему соотношению 5 к 4. Однако его реализация была фактически «20 процентов времени вы ничего не получаете», что заставляло многих утверждать, как им нравится азарт при его использовании.", - "parts.lang.quests.4": "stone_age", "quests.stone_age": "Каменный век", "quests.stone_age.subtitle": "Скромные истоки", "quests.stone_age.foods.title": "Голодный?", - "quests.stone_age.foods.subtitle": "Где моя легкая еда?", - "quests.stone_age.foods.desc": "В TerraFirmaGreg, мир — жесткое место, и один из ключевых аспектов выживания — способность добывать еду. Большинство еды само по себе дает мало насыщения, а другая может быть смертельно опасна, если не приготовлена. Твой голод изображен зеленой шкалой рядом с твоим здоровьем.\n\n Приступи к добыче любой еды.", + "quests.stone_age.foods.subtitle": "Где моя лёгкая еда?", + "quests.stone_age.foods.desc": "В TerraFirmaGreg мир — жесткое место, и один из ключевых аспектов выживания — способность добывать еду. Большая часть пищи сама по себе даёт мало питательности, а другая может быть смертельно опасна, если не приготовлена. Ваш голод изображён зелёной шкалой рядом со здоровьем.\n\nПриступите к добыче любой еды.", "quests.stone_age.nutrition.title": "Механика: Рацион", "quests.stone_age.nutrition.subtitle": "Что значит, что я не могу питаться только одним стейком?", - "quests.stone_age.nutrition.desc": "Каждый продукт в TerraFirmaGreg содержит питательность, и эта питательность делиться на 5 различных категорий: &lЗерновые&r, &lФрукты&r, &lОвощи&r, &lБелки&r и &lМолочные&r.\n\nХотя вы можете питаться только одним типом пищи, например Белками, ваше общее здоровье будет уменьшаться, в то время сбалансированная диета позволяет увеличивать общее здоровье. Каждые 100 HP соответствуют одному сердцу.\n\nПосмотрите раздел Полевого руководства \"Еда и вода\" для всех деталей.", - "quests.stone_age.cook_meat.title": "Основы приготовления", - "quests.stone_age.cook_meat.subtitle": "Ты же не хочешь умереть от сырого мяса, не так ли?", - "quests.stone_age.cook_meat.desc": "Приготовление сырого мяса - важный шаг получения Белков - это не только увеличит срок хранения мяса, но и высвободит больше питательности для твоего требовательного тела.\n\nНаипростейший способ готовки мяса - использование костра. Ознакомьтесь с квестом снизу, чтобы узнать как его делать.", + "quests.stone_age.nutrition.desc": "Каждый продукт в TerraFirmaGreg содержит питательную ценность, которая делится на 5 категорий: &lЗерновые&r, &lФрукты&r, &lОвощи&r, &lБелки&r и &lМолочные&r.\n\nХотя вы и можете питаться только одним типом пищи, например белковыми, ваше общее здоровье будет уменьшаться, тогда как сбалансированная диета позволяет увеличивать ваше общее здоровье. Каждые 100 HP соответствуют одному сердцу.\n\nПосмотрите главу \"Еда и вода\" Полевого руководства для всех деталей.", + "quests.stone_age.cook_meat.title": "Основы готовки", + "quests.stone_age.cook_meat.subtitle": "Вы же не желаете умереть от сырого мяса, не так ли?", + "quests.stone_age.cook_meat.desc": "Приготовление сырого мяса — это не только важный шаг для получения белка и увеличения срока хранения, но и способ высвобождения ещё большего количества питательных веществ для вашего требовательного тела.\n\nПростейший способ приготовления мяса — использование костра. Ознакомьтесь с квестом ниже, чтобы узнать, как его сделать.", "quests.stone_age.soup_time.title": "Супы", - "quests.stone_age.soup_time.subtitle": "В какой магазин ходил?", - "quests.stone_age.soup_time.desc": "Создав глиняный горшок и миски, вы можете готовить супы!\n\nСупы - один из первых и самых простых способов готовки сложных блюд. В отличии от поедания сырых ингредиентов, они {супы} гораздо больше насыщают и позволяют совмещать несколько питательных веществ сразу!", + "quests.stone_age.soup_time.subtitle": "Откуда брать красную воду для борща?", + "quests.stone_age.soup_time.desc": "Создав горшок и миски из глины, вам станет доступна варка супов!\n\nСупы — одни из первых и самых простых способов готовки комплексных блюд. В отличие от поедания сырых ингредиентов, они насыщают гораздо больше и позволяют совмещать несколько питательных веществ в одном блюде!", "quests.stone_age.meals.title": "Блюда", "quests.stone_age.meals.subtitle": "А НУ ПОЛЕЗАЙ КО МНЕ В БРЮХО!", - "quests.stone_age.meals.desc": "Есть лишь немного базовых блюд, которые вы можете приготовить. Супы, салаты и бутерброды - основной выбор для простых, высоконасыщенных, комбинированных блюд, тогда как пицца - единственная пища, содержащая каждый вид питательных веществ.", + "quests.stone_age.meals.desc": "Вот лишь некоторые базовые блюда, которые вы можете приготовить. Супы, салаты и бутерброды — это простые, насыщенные и комплексные блюда на все случаи жизни, а пицца — единственное блюдо, содержащее каждый тип питательных веществ.", "quests.stone_age.meals.tasks.1": "Любой бутерброд", "quests.stone_age.meals.tasks.2": "Любой бутерброд с вареньем", "quests.stone_age.garlic_bread.title": "Чесночный хлеб...?", - "quests.stone_age.garlic_bread.subtitle": "Ты вампиров отгоняешь или что?", + "quests.stone_age.garlic_bread.subtitle": "Вы вампиров отгоняете или что?", "quests.stone_age.garlic_bread.desc": "Важно: Квест принимает ЛЮБОЙ чесночный хлеб, ему не обязательно быть свежим.", - "quests.stone_age.garlic_bread.task": "1024 кусочков ченсночного хлеба", - "quests.stone_age.find_potable_water.title": "Жаждующий?", + "quests.stone_age.garlic_bread.task": "1024 кусочков чесночного хлеба", + "quests.stone_age.find_potable_water.title": "Хочешь пить?", "quests.stone_age.find_potable_water.subtitle": "Помни пить воду!", - "quests.stone_age.find_potable_water.desc": "Жажда представлена в виде синей шкалы снизу твоего голода. Вы можете умереть от обезвоживания, если не будете поддерживать свой уровень жажды полным! Самый простой способ попить - использовать природные водоемы, нажмите ПКМ по воде с пустой рукой.\nЧтобы завершить этот квест, вам нужно выпить из годного для питья источника, подойдет обычная или речная вода. Возможно, придется сделать несколько глотков для выполнения квеста\n\nНе нужно беспокоиться об очистке воды здесь, однако соленая вода только усилит жажду.", - "quests.stone_age.find_potable_water.task": "Попейте из источника воды с помощью твоей руки. (Не соленой или горячей)", + "quests.stone_age.find_potable_water.desc": "Ваша жажда представлена в виде синей шкалы сверху голода. Вы можете умереть от обезвоживания, если не будете поддерживать шкалу жажды полной! Самый простой способ попить — использование природных водоёмов, нажав ПКМ по воде с пустой рукой.\nЧтобы выполнить этот квест, вам нужно выпить из любого пригодного источника. Возможно, придётся сделать несколько глотков для выполнения квеста.\n\nВам не нужно беспокоиться об очищении воды, однако питьё солёной воды только усилит жажду.", + "quests.stone_age.find_potable_water.task": "Выпейте из источника воды. (Не солёную или горячую воду)", "quests.stone_age.hydration.title": "Механика: Гидратация", "quests.stone_age.hydration.subtitle": "Еще одна шкала, за которой нужно следить...", "quests.stone_age.hydration.desc": "Вода - важный ресурс не только для утоления жажды! Рекомендуется построить базу рядом с пресным озером или рекой, чтобы иметь к ней легкий доступ. Некоторые виды еды и напитков могуть утолять жажду.\n\nВода не всегда будет под рукой во время исследования, однако, есть нескольно способов носить воду с собой. Употребления напитка использует 100mB из контейнера.", "quests.stone_age.leather_flask.title": "Бурдюк", "quests.stone_age.leather_flask.subtitle": "Старый служак", - "quests.stone_age.leather_flask.desc": "Бурдюк - вероятно, является вторым по простоте способом переноски воды после керамического кувшина. Он вмещает 500mb, или достаточно для пяти глотков.\n\nБурдюк изнашивается по мере использования, но когда он ломается, его можно починить, если у вас есть мочевой пузырь. Мочевые пузыри могут быть добыты от крупных диких животных.", - "quests.stone_age.iron_flask.title": "Фляга", - "quests.stone_age.iron_flask.subtitle": "Теперь это будет полезно на еще долгое время", - "quests.stone_age.iron_flask.desc": "Фляга - улучшенная версия бурдюка. Она гораздо прочнее бурдюка и может вместить жидкости аж на 20 глотков ", + "quests.stone_age.leather_flask.desc": "Бурдюк, вероятно, является вторым по удобству переносным резервуаром для воды после кувшина. Он вмещает до 500mb, что соответствует пяти глоткам.\n\nБурдюк изнашивается по мере использования, но когда он сломается, его можно починить, если у вас есть мочевой пузырь. Мочевые пузыри могут быть добыты из крупных диких животных.", + "quests.stone_age.iron_flask.title": "Железная фляга", + "quests.stone_age.iron_flask.subtitle": "Этот будет полезен надолго", + "quests.stone_age.iron_flask.desc": "Фляга — улучшенная версия бурдюка. Она гораздо прочнее бурдюка и может вместить жидкости аж на 20 глотков.", "quests.stone_age.water_bucket.title": "Ведро воды", - "quests.stone_age.water_bucket.subtitle": "Не так легко, как кажется", - "quests.stone_age.water_bucket.desc": "Носить с собой источник воды это простой способ не остаться без жидкости, но это немного громоздко.\n\nК несчастью, деревянные ведра не могуть быть использованы для питья - они не переносят блоки воды, при попытке вылить воду вы лишь получите маленькую лужу.", - "quests.stone_age.glass_bottles.title": "Пузырек", - "quests.stone_age.glass_bottles.subtitle": "Не так круто, как бурдюк", - "quests.stone_age.glass_bottles.desc": "Пузырек так же эффективны, как и бурдюки, вмещая 500 mb. Однако, изготовления пузырька станет возможным позже, когда у вас появится возможность обрабатывать латунь.", - "quests.stone_age.water_jug.title": "Керамический кувшин", - "quests.stone_age.water_jug.subtitle": "Относительно удобная вода", - "quests.stone_age.water_jug.desc": "Керамический кувшин - это самый ранний контейнер для жидкости, который вы можете создать, но он вмещает всего 100 mb, поэтому вам придется наполнять его после каждого глотка.\n\nКувшин относительно хрупкий и имеет случайный шанс разбиться, когда вы из него пьете!", + "quests.stone_age.water_bucket.subtitle": "Не так легко получить, как кажется", + "quests.stone_age.water_bucket.desc": "Носить с собой источник воды — это простой способ не остаться без жидкости, но это слегка неудобно.\n\nК несчастью, деревянные вёдра не могут быть использованы для питья — они не переносят блоки воды, при попытке вылить воду вы лишь получите маленькую лужу.", + "quests.stone_age.glass_bottles.title": "Пузырьки", + "quests.stone_age.glass_bottles.subtitle": "Не так круты, как бурдюк", + "quests.stone_age.glass_bottles.desc": "Пузырьки так же эффективны, как и бурдюк, вмещая 500 mb. Однако изготовление пузырька станет возможным позже, когда у вас появится возможность обрабатывать латунь.", + "quests.stone_age.water_jug.title": "Кувшин", + "quests.stone_age.water_jug.subtitle": "Относительно легкодоступная вода", + "quests.stone_age.water_jug.desc": "Кувшин — самая ранняя ёмкость для жидкости, которую вы можете создать. Однако он вмещает всего 100 mb, поэтому придётся наполнять его после каждого глотка.\n\nКувшин относительно хрупок и имеет случайный шанс разбиться, когда вы из него пьёте!", "quests.stone_age.temperature.title": "Погода", - "quests.stone_age.temperature.subtitle": "Погода на сегодня? Боль.", - "quests.stone_age.temperature.desc": "Новый мир начинается в начале лета, где каждый месяц длится 8 дней. Времена года будут сменяться, а вместе с ними и температура, что повлияет на урожай, фруктовые деревья, кустарники... и на вас!\n\nТемпературу тела необходимо контролировать и поддерживать на стабильном уровне. Маленький треугольник между показателями здоровья и голода отображает вашу текущую температуру и тенденцию ее изменения. Удерживайте кнопку \"Пригнуться\", чтобы увидеть точные цифры: левое число показывает уровень вашей влажности, а правое - температуру.", + "quests.stone_age.temperature.subtitle": "Прогноз погоды на сегодня? Боль.", + "quests.stone_age.temperature.desc": "Новый мир начинается в начале лета, где каждый месяц длится 8 дней. Времена года будут сменяться, а вместе с ними и температура, что повлияет на культуры, фруктовые деревья, кустарники... и на вас!\n\nТемпературу тела необходимо контролировать и поддерживать на стабильном уровне. Маленький треугольник между показателями здоровья и голода отображает вашу текущую температуру и тенденцию её изменения. Пригнитесь, чтобы увидеть точные цифры: левое число показывает уровень влажности, а правое — температуру.", "quests.stone_age.temperature.task": "Существовать", "quests.stone_age.insulation.title": "Механика: Температура тела", - "quests.stone_age.insulation.subtitle": "Будьте осторожнее с Гипо- и Гипер-термия.", - "quests.stone_age.insulation.desc": "Множество факторов в мире могут повлиять на температуру вашего тела: от прямых солнечных лучей до нахождения в мокром состоянии или стоять рядом с огнем. Вы должны поддерживать свою температуру в диапазоне от 0 до 30°C, иначе рискуете получить урон, о котором будет сигнализировать цветной визуальный эффект.\n\nСуществует множество способов уменьшить влияние температуры окружающей среды и поддерживать стабильный уровень температуры тела, и ношение &lОдежды&r — один из самых эффективных. Вы можете носить одежду как в обычных слотах снаряжения, так и в косметических слотах.", - "quests.stone_age.primitive_insulation.title": "Примитивная изоляция", + "quests.stone_age.insulation.subtitle": "Будьте осторожнее с гипо- и гипер- термией.", + "quests.stone_age.insulation.desc": "На температуру тела влияет множество факторов: от прямых солнечных лучей и влаги до близости к огню. Вы должны поддерживать температуру в диапазоне от 0 до 30°C, иначе рискуете получить урон, о котором будет сигнализировать цветной визуальный эффект.\n\nСуществует множество способов снижения воздействия окружающей температуры и сохранения стабильной температуры тела, и ношение &lодежды&r — один из самых эффективных. Вы можете носить одежду как в обычных слотах снаряжения, так и в косметических слотах.", + "quests.stone_age.primitive_insulation.title": "Примитивное утепление", "quests.stone_age.primitive_insulation.subtitle": "Шик пещерного человека", - "quests.stone_age.primitive_insulation.desc": "Раздетый и замерзаешь? Это самая простая одежда, которую вы можете скрафтить, и хотя у нее очень низкая прочность, ее должно хватить, пока вы не добудете что-нибудь получше.", + "quests.stone_age.primitive_insulation.desc": "Голенький и замерзаешь? Вот самая простая одежда, которую вы можете изготовить. И хоть у неё очень низкая прочность, её должно хватить, пока вы не раздобудете чего-нибудь получше.", "quests.stone_age.furs.title": "Шкуры хищников", "quests.stone_age.furs.subtitle": "Хардкорный фурсьютинг", - "quests.stone_age.furs.desc": "Крупные хищные животные сбрасывают свою шерсть вместо обычной шкуры, из которой вы можете либо сшить утепляющую одежду, либо соскоблить ее, чтобы получить обычную шкуру и затем, как обычно, превратить ее в кожу.", + "quests.stone_age.furs.desc": "Из крупных хищных животных выпадают шерстяные шкуры, из которых можно либо сшить утеплённую одежду, либо соскоблить, чтобы получить обычную шкуру и затем, как обычно, превратить в кожу.", "quests.stone_age.wool_clothes.title": "Шерстяная одежда", - "quests.stone_age.wool_clothes.subtitle": "Для сильного холода", - "quests.stone_age.wool_clothes.desc": "Шерстяная одежда идеально подходит для холодного климата и суровых зим. Полный комплект шерстяной одежды - отличный способ пережить большинство зим.\n\nВам придется подружиться (или убить) какое-нибудь шерстепроизводящее млекопитающее, например, овцу, альпаку или овцебыка (Мускусный бык). В разделе \"Дикие животные\" Полевого руководства указано, где найти каждое животное, а в разделе \"Животноводство\" объясняется, как их стричь.", - "quests.stone_age.insulated_leather_clothes.title": "Утепленная кожаная одежда", - "quests.stone_age.insulated_leather_clothes.subtitle": "Когда на улице становится холодно", - "quests.stone_age.insulated_leather_clothes.desc": "Утепленная кожаная одежда проще в изготовлении, чем полный комплект шерстяной одежды, но обеспечивает меньшую изоляцию и тепло. Тем не менее, она вполне эффективна для проживания в более умеренных регионах.\n\nЧтобы получить шкуру, вам потребуется убивать животных, а также подружиться (или убить) с каким-нибудь шерстепроизводящим млекопитающим, чтобы изготовить шерстяную нить, например, с овцой, альпакой или овцебыком (Мускусный бык). В разделе \"Дикие животные\" Полевого руководства указано, где найти каждое животное, а в разделе \"Животноводство\" объясняется, как их стричь.", - "quests.stone_age.burlap_clothes.title": "Одежда из джутовой ткани", + "quests.stone_age.wool_clothes.subtitle": "Во время сильного холода", + "quests.stone_age.wool_clothes.desc": "Шерстяная одежда идеально подходит для холодного климата и суровых зим. Полный комплект шерстяной одежды поможет пережить большинство зим.\n\nВам придётся приручить (или убить) какое-либо шерстяное млекопитающее, например овцу, альпаку или овцебыка (мускусного быка). В главе \"Дикие животные\" Полевого руководства указано, где найти каждое животное, а в главе \"Животноводство\" объясняется, как их стричь.", + "quests.stone_age.insulated_leather_clothes.title": "Утеплённая кожаная одежда", + "quests.stone_age.insulated_leather_clothes.subtitle": "Когда на улице становится прохладно", + "quests.stone_age.insulated_leather_clothes.desc": "Утеплённая кожаная одежда проще в изготовлении, чем полный комплект шерстяной одежды, но обеспечивает меньшую теплоизоляцию и терморегуляцию. Тем не менее, она вполне эффективна для проживания в более умеренных регионах.\n\nЧтобы получить шкуру, вам потребуется убивать животных, а также приручить (или убить) какое-либо шерстяное млекопитающее, например овцу, альпаку или овцебыка (мускусного быка), чтобы изготовить шерстяную нить. В разделе \"Дикие животные\" Полевого руководства указано, где найти каждое животное, а в разделе \"Животноводство\" объясняется, как их стричь.", + "quests.stone_age.burlap_clothes.title": "Джутовая одежда", "quests.stone_age.burlap_clothes.subtitle": "Когда жара донимает вас", - "quests.stone_age.burlap_clothes.desc": "Джутовая ткань изготавливается из джутового волокна. Джут может расти в большинстве мест с теплым климатом при условии, что его потребности в температуре и увлажнении удовлетворены.\n\nОдежда из джутовой ткани отлично подходит для жаркого лета или других жарких условий, но об этом мы поговорим позже.", - "quests.stone_age.silk_clothes.title": "Шелковая одежда", + "quests.stone_age.burlap_clothes.desc": "Джутовая ткань изготавливается из джутового волокна. Джут может расти в большинстве мест с тёплым климатом при условии, что его потребности в температуре и увлажнении удовлетворены.\n\nОдежда из джутовой ткани отлично подходит для жаркого лета или других жарких условий, но об этом мы поговорим позже.", + "quests.stone_age.silk_clothes.title": "Шёлковая одежда", "quests.stone_age.silk_clothes.subtitle": "Шелкопрядов нет, извините!", - "quests.stone_age.silk_clothes.desc": "Шелк изготавливается из паучьей нити, которую трудно добыть в больших количествах, не забираясь особенно глубоко.\n\nШелковая одежда отлично подходит для невероятно жарких мест, таких как пустыни или нижние части Бездны.", + "quests.stone_age.silk_clothes.desc": "Шёлк изготавливается из паучьей нити, которую трудно добыть в больших количествах, не забираясь особо глубоко.\n\nШёлковая одежда отлично подходит для невероятно жарких мест, таких как пустыни или нижние части Бездны.", "quests.stone_age.clothes.title": "Одежда", "quests.stone_age.clothes.subtitle": "Модно!", - "quests.stone_age.clothes.desc": "Ношение одежды - простой способ переносить экстремальные температуры. Теплая одежда, такая как шерсть или утепленная кожа, отлично подходит для холодных условий, а шелк или рогожа - для теплых.", - "quests.stone_age.find_rock.title": "Найди немного камней", + "quests.stone_age.clothes.desc": "Ношение одежды — простой способ переносить экстремальные температуры. Тёплая одежда, такая как шерсть или утеплённая кожа, отлично подходит для холодных условий, а шёлк или джут — для теплых.", + "quests.stone_age.find_rock.title": "Найдите немного камней", "quests.stone_age.find_rock.subtitle": "Груг крушить камень", - "quests.stone_age.find_rock.desc": "Когда вы начнете свое путешествие, первую вещь, которую вы заметите, - это полностью изменившийся мир. Вы больше не можете ломать деревья голыми руками, но не волнуйтесь, ведь любой пещерный человек не настоящий пещерный человек без своих каменных инструментов.\n\nИ вместо того, чтобы мастерить деревянную кирку, вы можете просто подбирать камни с земли. Для начала соберите не менее 4 камней. Вы можете собирать камни, разбивая их или нажимая на них правой кнопкой мыши пустой рукой.", + "quests.stone_age.find_rock.desc": "Когда вы начнёте своё приключение, первое, что вы заметите, — это полностью изменившийся мир. Больше нельзя ломать деревья голыми руками, но не волнуйтесь, ведь любой пещерный человек — не настоящий пещерный человек без своих каменных инструментов!\n\nВместо того чтобы начать делать деревянную кирку, лучше начните собирать камни с земли. Для начала соберите не менее четырёх камней. Можно собирать камни, ломая их или нажимая по ним ПКМ пустой рукой.", "quests.stone_age.rock_knapping.title": "Высекание", "quests.stone_age.rock_knapping.subtitle": "Прямо как в старые добрые палеолитические времена", - "quests.stone_age.rock_knapping.desc": "Камни можно \"высекать\" - это процесс превращения основного материала в пригодную для использования форму путем ударов друг о друга. Для высекания камней требуется как минимум два камня, и, удерживая их и щелкая правой кнопкой мыши в воздухе, вы откроете интерфейс высекания. Затем вы можете \"отколоть\" один из камней, чтобы создать головку каменного инструмента. Все формы для различных инструментов можно найти в EMI и Полевом руководвстве.\n\nДва самых важных инструмента для начала вашего путешествия - это каменный нож и каменный топор, поэтому попробуйте выбить головки этих инструментов.", - "quests.stone_age.find_stick.title": "Найди немного палок", - "quests.stone_age.find_stick.subtitle": "Тебе понадобится какая-нибудь рукоятка для инструментов", - "quests.stone_age.find_stick.desc": "Еще один распространенный предмет на земле - палки, которым можно найти множество применений! Из них можно сделать инструменты, факелы, огниво и многое другое.\n\nЧтобы не засорять инвентарь разными видами палок, вы можете превратить их в 'обычные' палки и сложить их вместе. Позже вы сможете связать девять палок в пучок, а пучок - в связку, которую можно использовать вместо бревен.", - "quests.stone_age.first_stone_tools.title": "Твои первые инструменты", + "quests.stone_age.rock_knapping.desc": "Камни можно \"высекать\" — это процесс придания главному материалу нужной формы путём ударов твёрдых материалов друг о друга. Для высекания требуется как минимум два камня, и, взяв их в руки, щёлкните ПКМ по воздуху, чтобы открыть интерфейс высекания. Затем начните \"откалывать\" части камня, чтобы придать нужную форму головки инструмента. Все формы различных инструментов можно найти в EMI и Полевом руководстве.\n\nДвумя самыми важными инструментами для начала вашего пути являются нож и топор, поэтому попробуйте сначала высечь головки этих инструментов.", + "quests.stone_age.find_stick.title": "Найдите немного палок", + "quests.stone_age.find_stick.subtitle": "На чём-то же нужно закрепить инструмент", + "quests.stone_age.find_stick.desc": "Ещё один распространенный предмет на земле — палки, которым можно найти множество применений! Из них можно сделать инструменты, факелы, примитивное огниво и многое другое.\n\nЧтобы не засорять инвентарь различными видами палок, вы можете крафтить их в \"обычные\" и сложить вместе. Позже вы сможете связать девять палок в пучок, а пучок - в связку, которую можно использовать как замену брёвен.", + "quests.stone_age.first_stone_tools.title": "Ваши первые инструменты", "quests.stone_age.first_stone_tools.subtitle": "Теперь ты умная обезьянка", - "quests.stone_age.first_stone_tools.desc": "Обтесав камни, вы сможете соединить их с палкой и создать свои первые базовые инструменты. Вы официально вступили в каменный век!\n\nКамней достаточно для базового выживания, но со временем вы захотите создать металлические инструменты, чтобы повысить скорость, прочность и параметры инструментов. Следующие два квеста помогут вам собрать необходимые предметы.", + "quests.stone_age.first_stone_tools.desc": "Обтесав камни в нужную форму, соедините их с палкой и создайте свои первые инструменты. Вы официально вступили в каменный век!\n\nКамней будет достаточно для обычного выживания, но со временем вы захотите создать металлические инструменты, чтобы повысить скорость, прочность и параметры инструментов. Следующие два квеста помогут собрать необходимые предметы.", "quests.stone_age.stone_tools.title": "Каменные инструменты", - "quests.stone_age.stone_tools.subtitle": "Оказывается, бить камни друг с другом полезно.", - "quests.stone_age.stone_tools.desc": "Хотя камень - относительно простой и примитивный материал, с ним придется повозиться, пока вы не научитесь работать с металлами. Среди других полезных инструментов - копье, которое можно метать, как ванильный трезубец, и мотыга, позволяющая заниматься сельским хозяйством.", - "quests.stone_age.gather_straw.title": "Собери солому", - "quests.stone_age.gather_straw.subtitle": "Ты также можешь использовать мотыгу, если хочешь", - "quests.stone_age.gather_straw.desc": "Большинство травы, которые вы найдете в мире, можно собрать для получения соломы, если сломать их ножом или мотыгой. Солому можно использовать в различных крафтах, но для создания печи вам нужно не менее 8 штук.\n\nСолома также может быть использована для создания соломенной шляпы для защиты от солнца или блока соломы, который может быть использован как относительно простой строительный блок без столкновений.", - "quests.stone_age.gather_logs.title": "Собирайте бревна", + "quests.stone_age.stone_tools.subtitle": "Оказывается, бить камни друг об друга полезно.", + "quests.stone_age.stone_tools.desc": "Хотя камень — относительно простой и примитивный материал, с ним придется повозиться, пока вы не научитесь работать с металлами. Среди других полезных инструментов — копьё, которое можно метать, как ванильный трезубец, и мотыга, позволяющая заниматься сельским хозяйством.", + "quests.stone_age.gather_straw.title": "Сбор соломы", + "quests.stone_age.gather_straw.subtitle": "При желании можно также использовать мотыгу", + "quests.stone_age.gather_straw.desc": "Большинство трав, встречающихся в мире, собираются в виде соломы, если ломать их ножом или мотыгой. Солома имеет множество применений, но вам понадобится как минимум 8 штук для создания земляной печи.\n\nИз соломы также можно сделать шляпу для базовой защиты от солнца или сноп соломы, который можно использовать как простой строительный блок без коллизии.", + "quests.stone_age.gather_logs.title": "Сбор брёвен", "quests.stone_age.gather_logs.subtitle": "Лесоматериал!", - "quests.stone_age.gather_logs.desc": "С помощью вашего нового каменного топора вы сможете рубить деревья. Разрубив основание дерева, вы повалите все дерево, в результате чего появятся бревна, палки и саженцы.\n\nСоберите как минимум 10 бревен - 8 из них будут использованы для Земляной Печи, а два других - для Костра.", - "quests.stone_age.firepit.title": "Костер", + "quests.stone_age.gather_logs.desc": "С новым каменным топором станет доступна рубка деревьев. Если срубить основание дерева, то оно повалится целиком, принеся брёвна, палки и саженцы.\n\nСоберите не менее 10 брёвен: 8 из них будут использованы для земляной печи, а 2 других — для костра.", + "quests.stone_age.firepit.title": "Костёр", "quests.stone_age.firepit.subtitle": "Наступает ночь", - "quests.stone_age.firepit.desc.1": "Теперь, когда у вас есть бревна, пришло время построить свой первый костер! Хотя монстры не появляются на поверхности ночью, но ночные хищники будут бодрствовать и рыскать вокруг.\n\nСперва вам нужно создать примитивное огниво, инструмент, который позволит вам разжигать костры.", - "quests.stone_age.firepit.desc.2": "Чтобы создать костер, бросьте на землю хотябы одно бревно и до трех палок, а затем подожгите блок, зажав правую кнопку мыши с помощью примитивного огнива. Вы также можете добавить немного соломы, чтобы облегчить задачу.\n\nКостер - это не только источник света и тепла, но и позволяет создавать факела, а также для приготовления сырого мяса. Вы можете поддерживать огонь в костре, взаимодействуя с ним и добавляя поленья в пользовательский интерфейс. Если огонь потухнет, просто добавьте еще поленьев и зажгите его снова с помощью примитивного огнива.", + "quests.stone_age.firepit.desc.1": "Теперь, когда у вас есть брёвна, пора построить свой первый костёр! Между тем монстры больше не появляются на поверхности ночью, однако ночные хищники станут бодрствовать и рыскать вокруг.\n\nДля начала создайте примитивное огниво — инструмент, позволяющий разжечь огонь.", + "quests.stone_age.firepit.desc.2": "Чтобы создать костёр, бросьте на землю хотя бы одно бревно и до трёх палок, а затем подожгите блок, зажав ПКМ с примитивным огнивом в руке. Для облегчения задачи можно добавить немного соломы.\n\nКостёр служит не только источником света и тепла, но и позволяет зажигать факелы и готовить сырое мясо. Поддерживать огонь можно, взаимодействуя с костром и добавляя брёвна через интерфейс. Если огонь погаснет, просто добавьте ещё брёвен и подожгите снова.", "quests.stone_age.find_clay.title": "Источники глины", - "quests.stone_age.find_clay.subtitle": "Тебе ее много понадобится", - "quests.stone_age.find_clay.desc": "Глина - неотъемлемая часть технологий каменного века! Как и при обсекании камней, из глины можно лепить различные формы, а затем обжигать их в земляной печи, создавая самые разнообразные предметы. Каменные инструменты и глиняная керамика будут основой вашего выживания, пока вы не научитесь работать с металлами.\n\nГлина встречается в виде пятен в земле, обычно покрытых травой. Однако некоторые виды растений, известные как \"Индикаторы глины\", растут исключительно на глине. Узнайте в Полевом руководстве, какие виды индикаторов могут расти в вашем климате.", + "quests.stone_age.find_clay.subtitle": "Вам её много понадобится", + "quests.stone_age.find_clay.desc": "Глина — неотъемлемая часть технологий каменного века! Подобно высеканию камня, глине можно придавать различные формы, а затем обжигать в земляной печи, создавая разнообразные предметы. Каменные инструменты и керамика — основа вашего выживания, пока вы не научитесь работать с металлами.\n\nГлина встречается в виде пятен в земле, обычно покрытых травой. Однако некоторые виды растений, известные как \"Индикаторы глины\", растут исключительно на глине. Узнайте в Полевом руководстве, какие виды индикаторов могут расти в вашем климате.", "quests.stone_age.clay.title": "Глина", - "quests.stone_age.clay.subtitle": "Это глина!", - "quests.stone_age.clay.desc": "Соберите не менее 25 комков глины. Вам нужно сделать не менее 5 различных предметов для продвижения вперед (см. следующий квест). После того как вы вылепите глину, поместите ее в земляную печь, чтобы превратить в керамику. Вы можете лепить из глины так же, как при обсекании камня, однако, для каждого предмета требуется 5 кусков глины, и она не пропадет, если вы ошибетесь во время вылепливания.", + "quests.stone_age.clay.subtitle": "Это ж глина!", + "quests.stone_age.clay.desc": "Соберите как минимум 25 комков глины. Вам потребуется создать не менее 5 различных предметов, чтобы продвинуться дальше (см. следующий квест). После того как вы слепите глиняные изделия, поместите их в земляную печь, чтобы обжечь глину и получить керамику. Процесс лепки аналогичен обтёсыванию камня, однако на каждый предмет требуется 5 кусков глины, и глина не пропадёт, если вы ошиблись, нажав туда, куда не надо.", "quests.stone_age.pit_kiln.title": "Земляная печь", "quests.stone_age.pit_kiln.subtitle": "Ситуация накаляется", "quests.stone_age.pit_kiln.desc": "Земляная печь - это способ нагрева предметов в ранней стадии игры. С ее помощью мы будем обжигать глиняные предметы, а главное - плавить базовые руды и создавать наш первый металлический инструмент - пилу.\n\nДля создания печи вам понадобится восемь кусков соломы, восемь поленьев, то, что вы хотите нагреть, и примитивное огниво. Прочитайте раздел \"Земляные печи\" в Полевом руководстве о том, как их создавать - это не то же самое, что костер!", @@ -3756,674 +3754,655 @@ "quests.tfg_tips.beginning.title": "Tips and Tricks be here!", "quests.tfg_tips.beginning.subtitle": "Dear God that's a lot of branches...", "quests.tfg_tips.beginning.desc": "This quest chapter gives you a lot, &o(and we do mean a lot)&r of tips on how to survive and thrive.\n\nEach quest branch representing major mods in &2TerraFirmaGreg&r, with tips to make the most out of them. None of these quests are necessary for progression, although some &omay&r be locked behind main questline tasks.", - "quests.tfg_tips.portable_storage.title": "Portable Storage Solutions", - "quests.tfg_tips.portable_storage.subtitle": "Turns out your inventory is quite small.", - "quests.tfg_tips.portable_storage.desc": "In your travels, you may explore a whole &olot&r and end up picking up a lot of junk. This quest branch provides several options for expanding your on-the-go inventory.", - "quests.tfg_tips.toolbelt.title": "Toolbelt and Pouches", - "quests.tfg_tips.toolbelt.subtitle": "Those tools sure take up a lot of space, let's fix that!", - "quests.tfg_tips.toolbelt.desc": "With a &dToolbelt&r, you'll be able to manage multiple tools without wasting inventory slots! This handy item can go into a special &3Toolbelt Slot&r in your &4Curios menu&r. You can insert and retrieve tools with a &ckeybind.&r It starts with only two slots, but more can be added by adding &aBelt Pouches&r.", - "quests.tfg_tips.maxed_out_toolbelt.title": "ALL THE TOOLS", - "quests.tfg_tips.maxed_out_toolbelt.subtitle": "That belt must be very heavy at this point...", - "quests.tfg_tips.maxed_out_toolbelt.desc": "A &dToolbelt&r can hold 7 extra Pouches, that's 9 tools in one belt!", - "quests.tfg_tips.maxed_out_toolbelt.task": "Obtain a maxed out toolbelt.", - "quests.tfg_tips.straw_basket.title": "Straw Basket", - "quests.tfg_tips.straw_basket.subtitle": "As simple as it gets", - "quests.tfg_tips.straw_basket.desc": "The &6Straw Basket&r is a simple basket that can be incredibly useful for managing your inventory before better options are available.\n\nSimply knap some straw to get your very own &6Straw Basket&r!", - "quests.tfg_tips.toolbox.title": "Toolboxes", - "quests.tfg_tips.toolbox.subtitle": "A builders dream", - "quests.tfg_tips.toolbox.desc": "The &dToolbox&r has 8 inventory slots which can each hold 4 stacks of items. Additionally, you can use a &ckeybind&r to access your placed &dToolbox&r from a few blocks away. You can even &bdye&r your &dToolbox&r to personalize it!", - "quests.tfg_tips.first_sacks.title": "Storage Sacks", - "quests.tfg_tips.first_sacks.subtitle": "A step up from vessels", - "quests.tfg_tips.first_sacks.desc": "The &6Leather Sack&r and &3Burlap Sack&r are two options for portable storage with their own pros and cons. It is a good idea to view the container info for each one to know how many &ditem slots&r, the &dstack size&r, and the max &ditem size&r for each sack.\n\n&l&3Tip:&r The &4&oField Guide&r has more specific info on some of the special features of the sacks.", - "quests.tfg_tips.special_sacks.title": "Specialized Sacks", - "quests.tfg_tips.special_sacks.subtitle": "Wait, it can hold how much?", - "quests.tfg_tips.special_sacks.desc": "The &2Seed Pouch&r and &9Ore Sack&r are two sacks that can only hold specific types of items, but make up for it with much larger &dstack sizes&r.\n\nThe &2Seed Pouch&r can hold up to &c128&r of &327&r different types of seeds.\n\nThe &9Ore Sack&r can hold up to &c512&r of &39&r different mined resources. That means it can hold items like ores, rocks, powders, and clays!", - "quests.tfg_tips.frame_pack.title": "Frame Pack", - "quests.tfg_tips.frame_pack.subtitle": "Options can be good!", - "quests.tfg_tips.frame_pack.desc": "The &5Frame Pack&r gives you &318&r slots that can each hold up to &c64&r items. The benefit of the &5Frame Pack&r is that it ignores the default stack size of the items you put into it. That means you can hold up to &c1152&r items in total!", - "quests.tfg_tips.vessels.title": "Large and Small Vessels", - "quests.tfg_tips.vessels.subtitle": "Clay can be quite useful", - "quests.tfg_tips.vessels.desc": "&dSmall Vessels&r have 4 inventory slots while &6Large Vessels&r have 9! The &dSmall Vessel&r is not just for item storage, but is also necessary for smelting and alloying basic metals.\nThe &6Large Vessel&r is heavier to carry, but is great for preserving food.\n\n&l&3Tip:&r&o Large Vessels double as early backpacks!", - "quests.tfg_tips.portable_cells.title": "Portable Item and Fluid Cells", - "quests.tfg_tips.portable_cells.subtitle": "Isn't this too advanced?", - "quests.tfg_tips.portable_cells.desc": "With &dApplied Energistics 2&r, you can create &aPortable Item&r and &bFluid Cells&r, which allow you to store large amounts of items and fluids as pure, raw data. Sadly, &dApplied Energistics 2&r is locked behind &6HV&r, so it might be a while until you can create these.", - "quests.tfg_tips.256m_portable_cells.title": "MEGA Portable Item and Fluid Cells", - "quests.tfg_tips.256m_portable_cells.subtitle": "When Kilobytes aren't enough", - "quests.tfg_tips.256m_portable_cells.desc": "With &dMEGA Cells&r, you can create cells with &lLudicrous&r data storage!\n\n&l&3Fun Fact:&r&o A single 256M Portable Item Cell can store up to one billion of a single item type! That's enough to fill over 58 thousand chests!", - "quests.tfg_tips.backpack_materials.title": "Materials for a Backpack", - "quests.tfg_tips.backpack_materials.subtitle": "Sleeping bag not included", - "quests.tfg_tips.backpack_materials.desc": "There are two options for backpacks: the &5Frame Pack&r or the &3Sophisticated Backpack&r\n\nA &5Frame Pack&r is a dense backpack allowing you to store up to &c64&r items in each slot no &omatter their standard stack size&r.\n\nA &3Sophisticated Backpack&r is the primary way to expand your portable inventory size going forward. The first tier will more than double your normal inventory, and further tiers increase it even more! It also comes with a wide variety of &afunctional upgrades&r, and different parts of it can be dyed different colors!", - "quests.tfg_tips.first_backpack.title": "Your First Backpack", - "quests.tfg_tips.first_backpack.subtitle": "No, the map won't magically appear.", - "quests.tfg_tips.first_backpack.desc": "This is your first &3Sophisticated Backpack.&r It has a total of &c36&r inventory slots and can hold &aone upgrade.&r Check the two branches after this to learn about inventory and backpack upgrades.", - "quests.tfg_tips.red_steel_backpack.title": "Red Steel Backpack", - "quests.tfg_tips.red_steel_backpack.subtitle": "Cooler than a Blue Steel Backpack", - "quests.tfg_tips.red_steel_backpack.desc": "A &4Red Steel Backpack&r is your first proper backpack inventory upgrade. It has a total slot count of &c54&r and can hold &atwo upgrades.&r", - "quests.tfg_tips.aluminium_backpack.title": "Aluminium Steel Backpack", - "quests.tfg_tips.aluminium_backpack.subtitle": "Is it Aluminum or Aluminium?", - "quests.tfg_tips.aluminium_backpack.desc": "An &bAluminium Backpack&r is your second proper backpack inventory upgrade. It has a total slot count of &c81&r and can hold &athree upgrades.&r", - "quests.tfg_tips.titanium_backpack.title": "Titanium Backpack", - "quests.tfg_tips.titanium_backpack.subtitle": "Almost Titanic.", - "quests.tfg_tips.titanium_backpack.desc": "A &5Titanium Backpack&r is your third proper backpack inventory upgrade. It has a total slot count of &c108&r and can hold &afive upgrades.&r", - "quests.tfg_tips.tungstensteel_backpack.title": "Tungstensteel Backpack", - "quests.tfg_tips.tungstensteel_backpack.subtitle": "The ultimate backpack.", - "quests.tfg_tips.tungstensteel_backpack.desc": "The &9Tungstensteel Backpack&r is the final backpack inventory upgrade. It has a whopping slot count of &c120&r and can hold &aseven upgrades!&r", - "quests.tfg_tips.backpack_upgrades.title": "Backpack Upgrades", - "quests.tfg_tips.backpack_upgrades.subtitle": "More than just a backpack", - "quests.tfg_tips.backpack_upgrades.desc": "&aBackpack Upgrades&r can be installed in your &3Sophisticated Backpacks&r, giving your backpack new abilities and utilities.\n\nYou'll need access to &bSteel&r to be able to craft these upgrade bases.", - "quests.tfg_tips.crafting_upgrade.title": "Crafting Upgrade", - "quests.tfg_tips.crafting_upgrade.subtitle": "A Workbench on the go!", - "quests.tfg_tips.crafting_upgrade.desc": "The &aCrafting Upgrade&r lets you carry a &3Workbench&r in your backpack wherever you go. You'll wonder how you lived without it!", - "quests.tfg_tips.advanced_upgrades.title": "Advanced Upgrades", - "quests.tfg_tips.advanced_upgrades.subtitle": "Upgrades but yellow", - "quests.tfg_tips.advanced_upgrades.desc": "Certain backpack upgrades have &eAdvanced Upgrade&r versions. They have more functionality, such as allowing extra filter types or being more configurable.\nTry crafting a &aFilter&r and &eAdvanced Filter&r upgrade to complete this quest.", - "quests.tfg_tips.all_backpack_upgrades.title": "ALL THE UPGRADES", - "quests.tfg_tips.all_backpack_upgrades.subtitle": "You can't even fit all of these in a single backpack...", - "quests.tfg_tips.all_backpack_upgrades.desc": "These are all the backpack upgrades &3Sophisticated Backpacks&r has to offer. Can you craft them all?", + "quests.tfg_tips.portable_storage.title": "Переносимые хранилища", + "quests.tfg_tips.portable_storage.subtitle": "Оказывается, ваш инвентарь довольно мал.", + "quests.tfg_tips.portable_storage.desc": "Во время путешествий вы можете исследовать &oмногое&r и в итоге собрать кучу хлама. Эта ветка квестов предлагает несколько вариантов расширения вашего инвентаря для похода.", + "quests.tfg_tips.toolbelt.title": "Пояс с инструментами и Поясная сумка", + "quests.tfg_tips.toolbelt.subtitle": "Эти инструменты занимают слишком много места, пора это исправить!", + "quests.tfg_tips.toolbelt.desc": "С помощью &dПояса с инструментами&r вы сможете управлять сразу несколькими инструментами, не занимая при этом место в инвентаре! Этот полезный предмет размещается в специальный слот &3пояса&r в &4меню Curios&r. Доставать и убирать инструменты можно с помощью &cгорячей клавиши.&r Изначально доступно всего два слота, но их количество можно увеличить, добавляя &aПоясную сумку&r.\n\n&lИз-за бага в моде невозможно улучшить &dПояс с инструментами&f, если он был окрашен или содержит инструменты. Обязательно опустошите его перед улучшением!", + "quests.tfg_tips.maxed_out_toolbelt.title": "ВСЕ ИНСТРУМЕНТЫ", + "quests.tfg_tips.maxed_out_toolbelt.subtitle": "Похоже, этот пояс теперь весит очень много...", + "quests.tfg_tips.maxed_out_toolbelt.desc": "&dПояс с инструментами&r может вместить 7 дополнительных сумок, целых 9 инструментов в одном поясе!", + "quests.tfg_tips.maxed_out_toolbelt.task": "Получите полностью улучшенный пояс.", + "quests.tfg_tips.vessels.title": "Большие и маленькие сосуды", + "quests.tfg_tips.vessels.subtitle": "Глина может быть вполне полезной", + "quests.tfg_tips.vessels.desc": "&dМаленькие сосуды&r имеют 4 слота под хранение, в то время как &6Большой сосуд&r обладает целыми 9! &dМаленький сосуд&r нужен не только для хранения вещей, но также необходим для плавки и создания сплавов основных металлов.\n&6Большой сосуд&r тяжелее для переноски, но отлично подходит для сохранения еды.\n\n&l&3Совет:&r&o Большие сосуды можно использовать как рюкзаки на ранних этапах!", + "quests.tfg_tips.portable_cells.title": "Переносные Предметные и Жидкостные ячейки", + "quests.tfg_tips.portable_cells.subtitle": "Разве это не слишком продвинуто?", + "quests.tfg_tips.portable_cells.desc": "С помощью &dApplied Energistics 2&r вы сможете создавать &aПортативные Предметные&r и &bЖидкостные ячейки&r, позволяющие хранить огромное количество ресурсов в виде чистых данных. К сожалению, &dApplied Energistics 2&r доступен только после достижения уровня &6HV&r, так что до этого момента пройдет немало времени.", + "quests.tfg_tips.256m_portable_cells.title": "МЕГА Переносные Предметные и Жидкостные ячейки", + "quests.tfg_tips.256m_portable_cells.subtitle": "Когда килобайтов недостаточно", + "quests.tfg_tips.256m_portable_cells.desc": "С помощью &dМЕГА Ячеек&r вы сможете создавать носители с &lбезумной&r емкостью хранения данных!\n\n&l&3Интересный факт:&r&o Одна портативная ячейка 256M способна хранить до миллиарда предметов одного типа! Этого хватит, чтобы заполнить более 58 тысяч сундуков!", + "quests.tfg_tips.backpack_materials.title": "Материалы для рюкзака", + "quests.tfg_tips.backpack_materials.subtitle": "Спальный мешок не прилагается", + "quests.tfg_tips.backpack_materials.desc": "&3Продвинутый рюкзак&r — основной способ расширить объем переносимого инвентаря. Рюкзак первого уровня удваивает ваш обычный инвентарь, а более высокие уровни увеличивают его еще сильнее! Кроме того, он поддерживает множество &aфункциональных улучшений&r, а отдельные его части можно красить в разные цвета!", + "quests.tfg_tips.first_backpack.title": "Ваш первый рюкзак", + "quests.tfg_tips.first_backpack.subtitle": "Нет, карта не появится волшебным образом.", + "quests.tfg_tips.first_backpack.desc": "Это ваш первый &3Продвинутый Рюкзак.&r Он имеет всего &c27&r слотов инвентаря и может содержать &aодно улучшение.&r Изучите две ветки после этой, чтобы узнать больше об улучшениях инвентаря и рюкзака.", + "quests.tfg_tips.red_steel_backpack.title": "Рюкзак из красной стали", + "quests.tfg_tips.red_steel_backpack.subtitle": "Круче, чем рюкзак из синей стали", + "quests.tfg_tips.red_steel_backpack.desc": "&4Рюкзак из красной стали&r является вашим первым полноценным улучшением рюкзака. Он вмещает &c54&r слота и может содержать &aдва улучшения.&r", + "quests.tfg_tips.aluminium_backpack.title": "Рюкзак из алюминия", + "quests.tfg_tips.aluminium_backpack.subtitle": "Так алюминий или алюминь?", + "quests.tfg_tips.aluminium_backpack.desc": "&bРюкзак из алюминия&r является вашим вторым полноценным улучшением рюкзака. Он вмещает &c81&r слот и может содержать &aтри улучшения.&r", + "quests.tfg_tips.titanium_backpack.title": "Рюкзак из титана", + "quests.tfg_tips.titanium_backpack.subtitle": "Почти Титаник.", + "quests.tfg_tips.titanium_backpack.desc": "&bРюкзак из титана&r является вашим третьим полноценным улучшением рюкзака. Он вмещает &c108&r слотов и может содержать &aпять улучшений.&r", + "quests.tfg_tips.tungstensteel_backpack.title": "Рюкзак из вольфрамовой стали", + "quests.tfg_tips.tungstensteel_backpack.subtitle": "Лучший рюкзак.", + "quests.tfg_tips.tungstensteel_backpack.desc": "&9Рюкзак из вольфрамовой стали&r это последнее улучшение рюкзака. Он вмещает &c120&r слотов и может содержать &aсемь улучшений!&r", + "quests.tfg_tips.backpack_upgrades.title": "Улучшения для рюкзака", + "quests.tfg_tips.backpack_upgrades.subtitle": "Нечто больше, чем просто рюкзак", + "quests.tfg_tips.backpack_upgrades.desc": "&aУлучшения для рюкзака&r можно устанавливать в ваши &3Продвинутые рюкзаки&r, наделяя их новыми функциями и возможностями. Для создания базовых улучшений потребуется доступ к &bСтали&r.", + "quests.tfg_tips.crafting_upgrade.title": "Создание улучшений", + "quests.tfg_tips.crafting_upgrade.subtitle": "Портативный верстак!", + "quests.tfg_tips.crafting_upgrade.desc": "&aУлучшение: \"Верстак\"&r позволяет носить &3Верстак&r прямо в рюкзаке. Вы удивитесь, как раньше обходились без него!", + "quests.tfg_tips.advanced_upgrades.title": "Продвинутые улучшения", + "quests.tfg_tips.advanced_upgrades.subtitle": "Улучшение, но желтое", + "quests.tfg_tips.advanced_upgrades.desc": "Некоторые улучшения рюкзака имеют версии &eПродвинутое улучшение&r. Они обладают большей функциональностью, например, позволяют использовать дополнительные типы фильтров или имеют больше настроек.\nПопытайтесь создать &aФильтр&r и &eПродвинутый фильтр&r, чтобы выполнить этот квест.", + "quests.tfg_tips.all_backpack_upgrades.title": "ВСЕ УЛУЧШЕНИЯ", + "quests.tfg_tips.all_backpack_upgrades.subtitle": "Ты не сможешь набить ими только один рюкзак...", + "quests.tfg_tips.all_backpack_upgrades.desc": "Вот все улучшения для &3Продвинутого рюкзака&r. Сможете создать каждое из них?", "quests.tfg_tips.gt.title": "GregTech", - "quests.tfg_tips.gt.subtitle": "One third of the modpack's name, after all.", - "quests.tfg_tips.gt.desc": "&3GregTech&r can be quite intimidating, this quest branch should help you out.", - "quests.tfg_tips.nano_saber.title": "Nano Saber", - "quests.tfg_tips.nano_saber.subtitle": "26 Attack Damage when active!", - "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", - "quests.tfg_tips.gt_tools.title": "GregTech Tools", - "quests.tfg_tips.gt_tools.subtitle": "", - "quests.tfg_tips.gt_tools.desc": "Most &5GregTech&r tools are crafted from a &6Tool Head&r. Try using &aEMI&r to explore what you can do with them — just remember two important things:\n\n- The &ehigher the Tool Head tier&r, the more &cpowerful&r the tool will be, and the &6larger the battery&r it will use.\n- Not every tool supports every Tool Head tier. For example, the &6Chainsaw&r can only be crafted with a &7LV Tool Head&r.", - "quests.tfg_tips.magnets.title": "Item Magnets", - "quests.tfg_tips.magnets.subtitle": "", - "quests.tfg_tips.magnets.desc": "The &6Item Magnet&r is exactly what you'd expect — a magnet that pulls nearby &6items&r straight to you. &aVery useful&r. What more could you ask for?", - "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraft Addons", - "quests.tfg_tips.terrafirmacraft.subtitle": "The other two thirds of the modpack's name", - "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&r is one of the main mods in &2TerraFirmaGreg.&r This branch mostly focuses on some of its survival features and other &dAdd-Ons&r the modpack has, such as &4Aged Alcohol&r and &bCanes.&r", - "quests.tfg_tips.cane.title": "Walking Canes", - "quests.tfg_tips.cane.subtitle": "You can even whack people with them!", - "quests.tfg_tips.cane.desc": "A &dWalking Cane&r allows you to completely ignore any block that slows your movement, such as &asnow&r, as long as you're carrying it in your &cmain&r or &coff-hand.&r\n\nAs a bonus, it &bincreases step height&r, which allows you to walk up one block without jumping. The &dIron Cane&r has extra step height that allows you to easily step over fences!", - "quests.tfg_tips.cane.task": "Any Cane", - "quests.tfg_tips.hiking.title": "Hiking Boots", - "quests.tfg_tips.hiking.subtitle": "&oThese boots are made for walking", - "quests.tfg_tips.hiking.desc": "&dHiking Boots&r allow you to more easily explore your world! All &dHiking Boots&r allow you to pass through tall grass without resistance. Additionally, each tier of &dHiking Boots&r have progressively more &9armor&r, &9walk speed&r, and &9fall resistance&r along with other boosts.", - "quests.tfg_tips.hiking.task": "Any Hiking Boots", - "quests.tfg_tips.glassblowing.title": "Glassblowing", - "quests.tfg_tips.glassblowing.subtitle": "Realistic Glassworking!", - "quests.tfg_tips.glassblowing.desc": "To make any sort of &dGlass Pane&r or &dBlock&r, you'll need a &3glassblowing&r setup.\n\n&3Glassblowing&r will require some sort of &aBlowpipe&r, and a platform made out of glassblowing blocks to pour the molten glass. Check out the &2Field Guide&r for more information on the shape of the platform and what blocks are valid. You'll have access to glassblowing as soon as you can shape &aBrass!&r", - "quests.tfg_tips.glassblowing.task.1": "Any glassblowing blocks.", - "quests.tfg_tips.glassblowing_tools.title": "Glassblowing Tools", - "quests.tfg_tips.glassblowing_tools.subtitle": "Tools of the Trade", - "quests.tfg_tips.glassblowing_tools.desc": "To work &dGlass&r you'll need a variety of tools.\n\n&3Paddle&r: Performs flatten, mainly used for creating &dGlass Panes&r and &dLamp Glass.&r\n&3Gem Saw&r: Besides being mandatory for making glass products, it can be used to pick up &dGlass&r and &cGem Buds&r in-world as well, like a &bSilk Touch&r effect!\n&3Jacks&r: Used to pinch glass, mostly used for containers such as &dGlass Bottles.&r\n&3Wool Cloth&r: Used for rolling glass, needed for &dLenses&r and &dJars.&r", - "quests.tfg_tips.glass_blocks.title": "Glass Blocks", - "quests.tfg_tips.glass_blocks.subtitle": "Get yourself some windows.", - "quests.tfg_tips.glass_blocks.desc": "Depending on the type of sand used for the &aGlass Batch&r, your final &dGlass&r will have different colors. Check out the &2Field Guide&r section on &3Glassblowing&r to learn other ways to make specific colors. Later on, you'll be able to use &3GregTech&r chemicals to dye glass more easily.\n\n&3&lTip:&r&o If you're looking to make a lot of Glass Blocks and have access to an &bAlloy Smelter&f, it's more efficient to make &dGlass Panes&f, &bmacerating&f them, crafting into &dDust&f and then using the &aBlock Mold&f, since one batch can make up to 16 Small Dusts at a time!", - "quests.tfg_tips.lamps.title": "Lamps", - "quests.tfg_tips.lamps.subtitle": "These are pretty.", - "quests.tfg_tips.lamps.desc": "Just like in regular Minecraft, &dLamps&r can be hung from the ceiling with the help of chains or placed on top of blocks. &dLamps&r consume different kinds of fuels to keep themselves lit. Some fuels can last &4indefinitely.&r\n\n &3&lTip:&r&o Filled lamps can be placed in the &6Back&f slot of the &cCurios Menu&f to provide hands free dynamic lighting. This may not work if you have shaders on.", - "quests.tfg_tips.creosote.title": "Lamp Fuel: Creosote", - "quests.tfg_tips.creosote.subtitle": "If you have a bunch of it lying around...", - "quests.tfg_tips.creosote.desc": "&dCreosote&r can be used as a lamp fuel, but a full lamp of the stuff only lasts for &c10&r days.", - "quests.tfg_tips.creosote.task": "A Bucket of Creosote", - "quests.tfg_tips.tallow.title": "Lamp Fuel: Tallow", - "quests.tfg_tips.tallow.subtitle": "Animal Fat", - "quests.tfg_tips.tallow.desc": "&dTallow&r can be used as lamp fuel. A full lamp of it will last &c18&r days.", - "quests.tfg_tips.tallow.task": "A Bucket of Tallow", - "quests.tfg_tips.olive_oil.title": "Lamp Fuel: Olive Oil", - "quests.tfg_tips.olive_oil.subtitle": "Lilbito'liveoil", - "quests.tfg_tips.olive_oil.desc": "&dOlive Oil&r can be used as lamp fuel, and while it is more difficult to craft than other fuels, a full lamp of it lasts for a whopping &c83&r days!\n\n&3&lTip:&r&o Access to electric machines even at &7LV&f will make the processing less painful.", - "quests.tfg_tips.olive_oil.task": "A Bucket of Olive Oil", - "quests.tfg_tips.lava_lamp.title": "Lamp Fuel: Lava?", - "quests.tfg_tips.lava_lamp.subtitle": "Not as mesmerizing as the real deal", - "quests.tfg_tips.lava_lamp.desc": "With the very heat resistant metal &9Blue Steel&r, you can create a &dBlue Steel Lamp.&r It can be filled with &cLava&r, giving you an indefinite source of light at the cost of being limited to a single lamp metal.\n\nCareful handling a filled lava lamp, it's very &chot...&r", - "quests.tfg_tips.glowstone_lamp.title": "Lamp Fuel: Glowstone", - "quests.tfg_tips.glowstone_lamp.subtitle": "The best lamp fuel", - "quests.tfg_tips.glowstone_lamp.desc": "You'll need access to at least &7LV&r electricity in order to liquefy &dGlowstone&r, but if you like the look of &lany&r lamp, you can use &6Liquid Glowstone&r to fuel them indefinitely. Unlike &cLava&r, this isn't hot!", - "quests.tfg_tips.charcoal_pile.title": "Charcoal Pile", - "quests.tfg_tips.charcoal_pile.subtitle": "You're going to need this", - "quests.tfg_tips.charcoal_pile.desc.1": "&aCharcoal Piles&r are the early game source for &dCharcoal.&r You're going to need &oa lot&r of it if you want to succeed in &2TFG&r, as charcoal is key for &3Metalworking&r and smelting &3Blooms&r for &bWrought Iron&r.\n\nBegin by digging down a pit.", - "quests.tfg_tips.charcoal_pile.desc.2": "After creating your pit, place logs of your choice while &csneaking&r, this will place &2log piles&r in your pit. The more logs you place in a log pile the more &dCharcoal&r is created.", - "quests.tfg_tips.charcoal_pile.desc.3": "After placing your &2log piles&r, cover them with blocks, leaving &oone uncovered.&r Set fire to this uncovered one using a &dFire Starter&r, dropped &eTorch&r or &4Flint and Steel.&r Wait for large smoke particles to appear from the covering blocks and &cseal&r the uncovered one. Once the smoke particles cease to emit, remove the covering and harvest your &dCharcoal&r, preferably with a &aShovel&r or &aSpade.&r", - "quests.tfg_tips.charcoal_pile.desc.4": "&3&lPro Tip:&r&o You may want to invest in a &3Coke Oven&f early on. Not only can it produce &aCharcoal&f from logs at a &cbetter ratio&f, it makes &aCreosote&f as a byproduct, a useful fuel for lamps and steam power, and &aCoke&f for &dSteel&f production.", - "quests.tfg_tips.thatch_bed.title": "Thatch Bed", - "quests.tfg_tips.thatch_bed.subtitle": "A place to rest... somewhat", - "quests.tfg_tips.thatch_bed.desc": "Utilizing some &bThatch&r and a &aLarge Raw Hide&r, you can create a &dThatch Bed.&r It cannot be used to sleep in, but it'll &cset your spawn point.&r\n\nTo create a Thatch Bed, place &btwo thatch blocks&r side by side, then interact with the blocks while holding the &aLarge Raw Hide.&r", - "quests.tasktype.looktat": "Look at a completed Thatch Bed", - "quests.tfg_tips.loom.title": "Loom", - "quests.tfg_tips.loom.subtitle": "You'll need to work harder if you want to sleep...", - "quests.tfg_tips.loom.desc": "To make a better bed, you'll need to create some textiles. The &3Loom&r is the work-station of choice for doing this, as it allows you to create different textiles that each have different uses.", - "quests.tfg_tips.burlap_cloth.title": "Burlap Cloth", - "quests.tfg_tips.burlap_cloth.subtitle": "Made out of Jute!", - "quests.tfg_tips.burlap_cloth.desc": "By soaking some &aJute&r in a barrel, and working the resulting &aJute Fibers&r in the &3Loom&r, you can create &dBurlap Cloth.&r\n\nBurlap Cloth has a number of uses, such as creating &bBurlap Clothes&r that protect against &chot environments&r, &eBeekeeper Armor&r that protects from angry bees, and a number of other utility items.", - "quests.tfg_tips.pineapple_leather.title": "Pineapple Leather", - "quests.tfg_tips.pineapple_leather.subtitle": "Who lives in a Pineapple Under the Sea?", - "quests.tfg_tips.pineapple_leather.desc": "By obtaining some &aPineapple Fibers&r, &bspindling&r them into &aPineapple Yarn&r, and working the yarn in the &3Loom&r, you get &dPineapple Leather&r, an eco-friendly alternative for &bleather knapping recipes.&r", - "quests.tfg_tips.wool_cloth.title": "Wool Cloth", - "quests.tfg_tips.wool_cloth.subtitle": "Baaa...", - "quests.tfg_tips.wool_cloth.desc": "By shearing some friendly &2wool-producing&r livestock, you can spindle the resulting wool into &dWool Yarn.&r Working the yarn in a &3Loom&r gives you &dWool Cloth.&r\n\nBesides uses in &bGlassworking&r, it can be used to create &aWool Clothes&r, perfect for &bcold&r, bitter environments.\n\nWool is considered a &bHigh Quality Cloth.&r", - "quests.tfg_tips.silk_cloth.title": "Silk Cloth", - "quests.tfg_tips.silk_cloth.subtitle": "Very, Very Smooth.", - "quests.tfg_tips.silk_cloth.desc": "&dSilk Cloth&r can be created using &aString&r from killing &bSpiders&r or via &bPolycaprolactam (aka Nylon) Ingots&r. No silkworms exist yet, sorry! The dangerous &cWebbed Lair&r biome in &4The Beneath&r is another, albeit dangerous, source.\n\nSilk Cloth can be used to create &aSilk Clothes&r, which are the best at protecting you against &chot&r environments.\n\nSilk Cloth is considered a &bHigh Quality Cloth.&r", - "quests.tfg_tips.phantom_silk.title": "Phantom Silk", - "quests.tfg_tips.phantom_silk.subtitle": "Everyone's favourite mob vote winner", - "quests.tfg_tips.phantom_silk.desc": "&dPhantom Silk&r is weaved from Phantom Thread, which itself is crafted from Phantom Membrane. You can find &aPhantoms&r in the &4Beneath&r.", - "quests.tfg_tips.unrefined_paper.title": "Unrefined Paper", - "quests.tfg_tips.unrefined_paper.subtitle": "Time to make some history.", - "quests.tfg_tips.unrefined_paper.desc": "&aUnrefined Paper&r is one step away from becoming real, usable &dPaper.&r There are a lot of ways to go about crafting paper, some could be easier to do while others can be considerably more difficult depending on resource availability. Check the &bPapermaking&r entry on your &2Field Guide!&r", - "quests.tfg_tips.bed.title": "Beds", - "quests.tfg_tips.bed.subtitle": "Rest your weary soul.", - "quests.tfg_tips.bed.desc": "Utilizing a &bHigh Quality Cloth&r, such as &aWool&r or &aSilk Cloth&r, you can create your very own &dBed.&r Unlike the &2Thatch Bed&r, a real &dBed&r is comfortable enough to sleep through the night. Sweet Dreams!", - "quests.tfg_tips.sleeping_bags.title": "Sleeping Bags", - "quests.tfg_tips.sleeping_bags.subtitle": "Slumber Party!", - "quests.tfg_tips.sleeping_bags.desc": "A &dSleeping Bag&r is an item you can use to &bsleep through a night.&r Unlike beds, a sleeping bag &owon't&r set your &cSpawn Point.&r", - "quests.tfg_tips.hammocks.title": "Hammocks", - "quests.tfg_tips.hammocks.subtitle": "Perfect for Night Owls", - "quests.tfg_tips.hammocks.desc": "A &dHammock&r does the exact opposite as a &2Sleeping Bag.&r It allows you to sleep your way through daytime. Perfect for those long barrel recipes or charcoal piles.\nMuch like &2Sleeping Bags&r, they &owon't&r set your &cSpawn Point.&r", - "quests.tfg_tips.panning.title": "Panning", - "quests.tfg_tips.panning.subtitle": "Re-experience the gold rush!", - "quests.tfg_tips.panning.desc": "Along riverbeds, you may notice gravel with slight specks of minerals, known as &aNative Ore Deposits.&r By right-clicking one with a &bPan&r, you'll be able to process this ore deposit into &dsmall pieces of native ores.&r These can come in pinch when you're missing a few millibuckets to fill a mold.", - "quests.tfg_tips.sluice.title": "Sluices", - "quests.tfg_tips.sluice.subtitle": "Panning on Steroids", - "quests.tfg_tips.sluice.desc": "A &3Sluice&r can be used to process those àl deposits&r in a faster, slightly automated way. In addition, sluices can produce additional &drare outputs&r, check the &2Field Guide&r entry for more information!", - "quests.tfg_tips.status_effects.title": "Status Effects", - "quests.tfg_tips.status_effects.subtitle": "No more drinking weird potions.", - "quests.tfg_tips.status_effects.desc": "While potion brewing is not accessible, you can make other consumable items to obtain status effects.", - "quests.tfg_tips.aged_alcohol.title": "Aged Alcohols", - "quests.tfg_tips.aged_alcohol.subtitle": "Drink in moderation...", - "quests.tfg_tips.aged_alcohol.desc": "&3Aging alcoholic beverages&r in &abarrels&r for long periods of time increases potency, resulting in &dAged Alcohols&r. Drinking them via bottles or flasks will grant useful status effects depending on which alcohol was used, such as &bRegeneration&r, &bResistance&r or &bAbsorption.&r These effects are especially useful for exploration", - "quests.tfg_tips.aged_alcohol.task": "Any Aged Alcohol", - "quests.tfg_tips.pills.title": "Medicine: Pills", - "quests.tfg_tips.pills.subtitle": "Pills here!", - "quests.tfg_tips.pills.desc": "Mixing &aWax&r, some &bSpring Water&r and some unique ingredients will grant you &dPills!&r Pills give a myriad of different status effects, some good, some bad.\n\n&3&lTip:&r&o Using a &bMechanical Mixer&f or &bGT Mixer&f will double yield!", - "quests.tfg_tips.pills.task": "Any Effect Pill", - "quests.tfg_tips.tablets.title": "Medicine: Tablets", - "quests.tfg_tips.tablets.subtitle": "Tablets here...?", - "quests.tfg_tips.tablets.desc": "While more difficult to craft than regular pills, requiring either the &3Greate Mechanical Mixer&r or the &3GT Mixer&r, &dTablets&r last considerably longer.", - "quests.tfg_tips.tablets.task": "Any Tablet", - "quests.tfg_tips.salvo.title": "Medicine: Salves", - "quests.tfg_tips.salvo.subtitle": "Apply directly to the forehead", - "quests.tfg_tips.salvo.desc": "A &dSalve&r is another type of medicine, usually applied on the skin. These provide a different set of effects compared to &aPills&r and &aTablets&r, such as &cFire Resistance&r and &4Instant Health&r, but require relatively complex chemistry.", - "quests.tfg_tips.salvo.task": "Any Salve", - "quests.tfg_tips.misc.title": "Misc Tips", - "quests.tfg_tips.misc.subtitle": "Even more tips!", - "quests.tfg_tips.misc.desc": "These are miscellaneous tips, they don't fit in the other categories but are still useful to know about.", - "quests.tfg_tips.digger_helmet.title": "Digger Helmet", - "quests.tfg_tips.digger_helmet.subtitle": "For when you mine all day long", - "quests.tfg_tips.digger_helmet.desc.1": "The &dDigger Helmet&r is a helmet you can wear that will automatically light up your surroundings, hands-free! Useful if your main hand is occupied and your off-hand is equipped with a shield. It will require a bit of &6Glowstone&r to craft. Maybe you can reach to &4The Beneath&r for some early game access...", - "quests.tfg_tips.digger_helmet.desc.2": "&l&3Important:&r&l The &dDigger Helmet&f itself works thanks to a specific setting of &cSodium Dynamic Lights&f, you'll have to toggle on &b\"Dynamic Entity Lighting\"&f for it to work properly", - "quests.tfg_tips.grappling_hook.title": "Grappling Hook", - "quests.tfg_tips.grappling_hook.subtitle": "This is going to end poorly", - "quests.tfg_tips.grappling_hook.desc": "By combining 2 pieces of &aRope Coil&r and a &bWrought Iron Pickaxe Head&r, you can create a &dGrappling Hook!&r An ideal tool for scaling big mountains, exploring large caves and traversing the world. It contains an &eupgrade system&r that allows you to combine and modify your &dHook&r to your leisure.", - "quests.tfg_tips.grapple_repair.title": "Grappling Hook Warnings", - "quests.tfg_tips.grapple_repair.subtitle": "READ ME, OR YOU MAY REGRET IT LATER!", - "quests.tfg_tips.grapple_repair.desc": "All your &dGrappling Hook&r &aupgrades&r are stored as NBT Data inside the item. This means trying to repair your hook using &canother&r Grappling Hook &l&cWILL destroy all your upgrades!&r\n\nInstead, you should place your &dGrappling Hook&r and some &bWrought Iron Dust&r in a &3Workbench&r to repair it.\n\nAlso, don't use your Grappling Hook when traveling between the Overworld and Beneath, it's rather deadly.", - "quests.tfg_tips.grapple_upgrades.title": "Upgrading your Grappling Hook", - "quests.tfg_tips.grapple_upgrades.subtitle": "Balanced around TFG, of course!", - "quests.tfg_tips.grapple_upgrades.desc.1": "Upgrading your &dGrappling Hook&r consists of adding or removing items to it via the &3Workbench&r.&r\n\nTo see all the upgrades you can apply to your &dGrappling Hook&r, you can press the \"Usage\" key in &2EMI.&r\nEach of the custom recipes will contain text describing what changes are being applied.", - "quests.tfg_tips.grapple_upgrades.desc.2": "Upgrades can be removed by crafting the &dGrappling Hook&r with a &bHammer&r and the &aitem you used to upgrade&r it with (it won't be consumed). The craft will return the &dHook&r with the upgrade removed and the item used to upgrade it in the first place, therefore you get two items back! This process of downgrading is default behaviour for all upgrades unless stated otherwise in the respective upgrade quest.\n\n&lUpgrades cannot be overriden, if you want to upgrade from an &7LV&f motor to an &bMV&f motor, you need to remove the &7LV&f motor upgrade first.", - "quests.tfg_tips.grapple_length.title": "Grappling Hook Upgrade: Length", - "quests.tfg_tips.grapple_length.subtitle": "Long Boy", - "quests.tfg_tips.grapple_length.desc": "By default, your &dGrappling Hook&r has &b80 blocks in length&r, you can add &c20 more&r by adding more &aRope Coils.&r 200 blocks is the maximum.\n\nLength can be &3decreased&r by crafting with a &aKnife&r, &2reducing it by 20&r, down to a minimum of 20.", - "quests.tfg_tips.grapple_motor.title": "Grappling Hook Upgrade: Motor", - "quests.tfg_tips.grapple_motor.subtitle": "That lazy, huh?", - "quests.tfg_tips.grapple_motor.desc": "The &aMotor Upgrade&r enables automatic reeling in with your &dHook.&r Caution should be taken as &chigh level motors&r may cause you to take &4fall damage&r from the reeling force.\n\nMotors are tiered according to &2GregTech&r voltage tiers. The crafting recipes tells you exactly what stats were modified and by how much.", - "quests.tfg_tips.grapple_smart_motor.title": "Grappling Hook Upgrade: Smart Motor", - "quests.tfg_tips.grapple_smart_motor.subtitle": "Does anyone even know what this does?", - "quests.tfg_tips.grapple_smart_motor.desc": "The &aSmart Motor Upgrade&r enables the &3Smart Motor system&r. It requires a &bMotor Upgrade&r to be installed first.", - "quests.tfg_tips.grapple_field.title": "Grappling Hook Upgrade: Repulsion Field", - "quests.tfg_tips.grapple_field.subtitle": "Look ma! I'm levitating!", - "quests.tfg_tips.grapple_field.desc": "The &aRepulsion Field Upgrade&r causes you to be repelled from nearby blocks. Caution should be taken as &chigh level repulsion strength&r may cause you to take &4fall damage.&r\n\nRepulsion Fields are tiered according &2GregTech&r voltage tiers. The crafting recipe tells you exactly what stats were modified and by how much.", - "quests.tfg_tips.grapple_magnet.title": "Grappling Hook Upgrade: Hook Magnet", - "quests.tfg_tips.grapple_magnet.subtitle": "Intense Attraction", - "quests.tfg_tips.grapple_magnet.desc": "The &aMagnet Upgrade&r causes your &dHook&r to be attracted to any nearby blocks, latching onto them.\n\nMagnet Upgrades are tiered using &2GregTech's&r Magnetic Ingots, with the worst one being &bMagnetic Iron&r and the best being &bMagnetic Samarium.&r", - "quests.tfg_tips.grapple_magnet.task": "Any Magnetic Ingot", - "quests.tfg_tips.grapple_sticky.title": "Grappling Hook Upgrade: Sticky Rope", - "quests.tfg_tips.grapple_sticky.subtitle": "Sticky!", - "quests.tfg_tips.grapple_sticky.desc": "The &aSticky Upgrade&r causes your &dHook&r to be attached to any rope piece touching a block.", - "quests.tfg_tips.grapple_throw_speed.title": "Grappling Hook Upgrade: Throw Speed", - "quests.tfg_tips.grapple_throw_speed.subtitle": "Yeet!", - "quests.tfg_tips.grapple_throw_speed.desc": "The &aThrow Speed Upgrade&r causes your &dHook&r to launch faster.\n\nThrow Speed upgrades are tiered according &2GregTech&r voltage tiers. The crafting recipe tells you exactly what stats were modified and by how much.", - "quests.tfg_tips.grapple_double.title": "Grappling Hook Upgrade: Double Hook", - "quests.tfg_tips.grapple_double.subtitle": "Double the Fun!", - "quests.tfg_tips.grapple_double.desc": "The &aDouble Hook Upgrade&r causes you to throw &dtwo Grappling Hooks&r at an angle. You can specify key binds to throw each hook separately.", - "quests.tfg_tips.grapple_gravity_50.title": "Grappling Hook Upgrade: 0.5 Gravity", - "quests.tfg_tips.grapple_gravity_50.subtitle": "Does this even make sense?", - "quests.tfg_tips.grapple_gravity_50.desc": "The &a0.5 Gravity Upgrade&r causes your hook to halve how much it's affected by gravity!\n\nInstead of using another &dHelium Bucket&r to remove the upgrade, use an &cEmpty Bucket instead.&r It will fill with the &eHelium&r you initially used.", - "quests.tfg_tips.grapple_gravity_0.title": "Grappling Hook Upgrade: ZERO gravity", - "quests.tfg_tips.grapple_gravity_0.subtitle": "Kinda Expensive", - "quests.tfg_tips.grapple_gravity_0.desc": "The &aZERO Gravity Upgrade&r, as the name implies, causes your hook to have NO gravity.\n\nInstead of using another Gravitation Engine Module &cto remove the upgrade&r, use a &dTungsten Block instead.&r", - "quests.tfg_tips.grapple_tweaks.title": "Grappling Hook Upgrade: Tweaks", - "quests.tfg_tips.grapple_tweaks.subtitle": "Tweaking your Angles", - "quests.tfg_tips.grapple_tweaks.desc": "Using a &aWrench&r, you can tweak the &bUpwards Angle&r when you throw the &dHook&r, while the &aScrewdriver&r is used to tweak the &bHorizontal Angle&r of the &aDouble Hook Upgrade.&r", - "quests.tfg_tips.chalk.title": "Chalk", - "quests.tfg_tips.chalk.subtitle": "You don't want to get lost, do you?", - "quests.tfg_tips.chalk.desc": "&dChalk&r can be used to draw different symbols on blocks. They are very useful to mark important locations while &bcave exploring.&r\n\nA &3Chalk Box&r can store multiple chalk pieces in a single inventory slot. Not only that, you can add some sort of glowing item (such as &6Glowstone&r) to make your chalk doodles glow in the dark!", - "quests.tfg_tips.tape_measure.title": "Tape Measure", - "quests.tfg_tips.tape_measure.subtitle": "Stop manually counting your block spaces", - "quests.tfg_tips.tape_measure.desc": "You can use a &dTape Measure&r to measure a perimeter or length, especially useful when building large projects. Simply interact with a block while holding the &dTape Measure&r to begin measuring. To stop, right-click another block while holding the Tape Measure.", - "quests.tfg_tips.blank_disc.title": "Etched: Listen to Music", - "quests.tfg_tips.blank_disc.subtitle": "Listen to your tunes while Gregging all over the place.", - "quests.tfg_tips.blank_disc.desc": "&2Etched&r is a music player mod that allows you to play music discs in new ways, including &dcustom discs&r that play any song you want (as long as it's in Bandcamp, Soundcloud) as well as &ain-game sounds&r via sound events.\n\nTo begin your journey with &2Etched&r, craft a &bBlank Music Disc.&r", - "quests.tfg_tips.radio.title": "Radio", - "quests.tfg_tips.radio.subtitle": "Stream your music without discs", - "quests.tfg_tips.radio.desc": "The &dRadio&r allows you to query up any song you want. Right-click it and then type out your desired song, such as a URL or a Minecraft sound event.", - "quests.tfg_tips.dye_discs.title": "The Classics", - "quests.tfg_tips.dye_discs.subtitle": "These will never go old...", - "quests.tfg_tips.dye_discs.desc": "By dipping a &bBlank Disc&r in a &aBarrel&r filled with dye, you can create the vanilla in-game discs. Enjoy classics such as &dWait, 13&r and &dBlocks!&r", - "quests.tfg_tips.dye_discs.task": "Any Classic Disc", - "quests.tfg_tips.special_discs.title": "The Uniques", - "quests.tfg_tips.special_discs.subtitle": "These are unique... Or they where, at least", - "quests.tfg_tips.special_discs.desc": "You can also craft &dUnique Discs&r if you want...", - "quests.tfg_tips.disc_collector.title": "Disc Collector", - "quests.tfg_tips.disc_collector.subtitle": "A full collection", - "quests.tfg_tips.disc_collector.desc": "Can you craft all the music discs?\n\nSince you're here, there are 2 hidden quests related to music discs. One is quite &csuspicious&r and the other might require you to channel your inner dwarf, good luck!", - "quests.tfg_tips.amogus.title": "AMONGUS", - "quests.tfg_tips.amogus.subtitle": "SUSSY BAKA!", - "quests.tfg_tips.amogus.desc": "Congratulations for unlocking this hidden, abhorrent quest. May your venting never be spotted.", - "quests.tfg_tips.label_album.title": "Labels and Albums", - "quests.tfg_tips.label_album.subtitle": "Labels for your Discs, and Album Covers to protect them", - "quests.tfg_tips.label_album.desc": "To &betch&r your first disc, you'll need a &dLabel.&r These, much like blank discs, can be dyed.\n\n&dAlbum Covers&r are used to cover your etched discs. If your etched disc pulls data from a site like &cSoundcloud&r, the song's icon will be compressed into a 16x16 texture! To store a disc, open your inventory, select your album cover, and right-click the music disc you want to store. You can also store regular discs.", - "quests.tfg_tips.etching_disc.title": "Etching your first disc", - "quests.tfg_tips.etching_disc.subtitle": "Time for your first tunes", - "quests.tfg_tips.etching_disc.desc": "You're going to need the &3Etching Table&r to start &betching.&r Right-clicking the table will open the etching interface and by providing a &aBlank Disc&r with a &aMusic Label&r, and a valid sound source on the top bar, your disc will be ready.\n\nSound sources include things like &bBandcamp/Soundcloud URLs&r (which can point to a single or an album), &din-game sound events&r, and file paths to &c.ogg/.wav/.mp3 files&r on your drive.\n\nTo complete this quest, etch any disc.", - "quests.tfg_tips.disc_players.title": "Disc Players", - "quests.tfg_tips.disc_players.subtitle": "To play your discs of course!", - "quests.tfg_tips.disc_players.desc": "You can use a regular &3JukeBox&r to play music, however you can also craft these following two items:\n\n&dAlbum Jukebox&r: allows you to put multiple discs inside and &bcycle across them&r, perfect to have in your base.\n\n&dBoombox&r: lets you carry your music on the go.", - "quests.tfg_tips.disc_players.task": "Obtain an Album Jukebox or a Boombox", + "quests.tfg_tips.gt.subtitle": "В конце концов, этоже название модпака", + "quests.tfg_tips.gt.desc": "&3GregTech&r может показаться сложным, но эта ветка заданий поможет тебе разобраться.", + "quests.tfg_tips.nano_saber.title": "Нано-Сабля", + "quests.tfg_tips.nano_saber.subtitle": "Режим 26 Урона, Активированн!", + "quests.tfg_tips.nano_saber.desc": "&6Нано-Сабля&r — Мощное оружие, которое ты сможешь разблокировать, достигнув &5EV&r. Просто нажми &dShift + ПКМ&r, чтобы включить режим &cБзЗзЗз&r.", + "quests.tfg_tips.gt_tools.title": "GregTech Инструменты", + "quests.tfg_tips.gt_tools.subtitle": "Пользуйтесь на сдоровье", + "quests.tfg_tips.gt_tools.desc": "Большинство инструментов в &5GregTech&r делаются из &6головок&r. Советуем заглянуть в &aEMI&r, чтобы понять, что с ними можно сделать, но учтите два важных момента:\n\n- Чем &eвыше уровень головки&r, тем &cмощнее&r инструмент и &6быстрее расход батареи&r.\n- Не все инструменты подходят под все уровни головок. Например, &6Бензопила&r работает только с &7головкой LV уровня&r.", + "quests.tfg_tips.magnets.title": "Предметный Магнит", + "quests.tfg_tips.magnets.subtitle": "Притянет ваше барахло", + "quests.tfg_tips.magnets.desc": "&6Предметный Магнит&r — это именно то о чем думаешь: магнит, который притягивает рядом лежащие &6предметы&r прямо к тебе. &aОчень полезно&r. Что ещё нужно?", + "quests.tfg_tips.terrafirmacraft.title": "Аддоны TerraFirmaCraft", + "quests.tfg_tips.terrafirmacraft.subtitle": "Остальные две трети названия сборки", + "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&r — один из основных модов в составе &2TerraFirmaGreg.&r Эта ветвь в основном сосредоточена на некоторых функциях выживания и других &dАддонах&r, присутствующих в сборке, таких как &4Aged Alcohol&r и &bCanes&r.", + "quests.tfg_tips.cane.title": "Трости", + "quests.tfg_tips.cane.subtitle": "Ими даже можно стукнуть кого-нибудь!", + "quests.tfg_tips.cane.desc": "&dТрость&r позволяет полностью игнорировать любые блоки, замедляющие движение, такие как &aснег&r, если вы держите ее в &cосновной&r или &cвторостепенной руке&r. Вдобавок она &bповышает высоту шага&r — другими словами, вы сможете подниматься на один блок без прыжка. А &dЖелезная трость&r даже позволяет перешагивать через заборы!", + "quests.tfg_tips.cane.task": "Любая Трость", + "quests.tfg_tips.glassblowing.title": "Выдув стекла", + "quests.tfg_tips.glassblowing.subtitle": "Реалистичное стеклоделие!", + "quests.tfg_tips.glassblowing.desc": "Для создания любого вида &dстеклянной панели&r или &dблока&r, вам потребуется оборудование для &3выдувания стекла.&r\n\n&3Выдувание стекла&r требует &aТрубку стеклодува&r и платформы, сделанной из специальных блоков для стеклодувного дела, чтобы заливать расплавленное стекло. Обратитесь к &2Полевому руководству&r для получения информации о форме платформы и допустимых блоках. Вы сможете заниматься стеклодувным делом, как только научитесь обрабатывать &aлатунь!&r", + "quests.tfg_tips.glassblowing.task.1": "Любые блоки для стеклодувного дела.", + "quests.tfg_tips.glassblowing_tools.title": "Инструменты для стеклоделия", + "quests.tfg_tips.glassblowing_tools.subtitle": "Инструменты для изготовления стекла", + "quests.tfg_tips.glassblowing_tools.desc": "Чтобы работать со &dСтеклом&r, вам понадобится разнообразный набор инструментов:\n\n&3Лопатка&r: используется для выпрямлния, в основном при создании &dстеклянных панелей&r и &dстекла для ламп&r.\n&3Пилка с напылением&r: обязательна для изготовления стеклянных изделий. Также позволяет забирать &dСтекло&r и &cКристаллы&r прямо из мира — работает как эффект &bШелковое касание&r!\n&3Щипцы&r: применяются для зажатия стекла, в основном при защемления емкостей, таких как &dБутылочка.&r\n&3Шерстяная ткань&r: используется для прокатывания стекла, необходима при создании &dЛинз&r и &dБанок.&r", + "quests.tfg_tips.glass_blocks.title": "Блок стекла", + "quests.tfg_tips.glass_blocks.subtitle": "Приобретите себе окна.", + "quests.tfg_tips.glass_blocks.desc": "В зависимости от типа песка, использованного для &aСмеси&r, ваше итоговое &dСтекло&r будет иметь разный цвет. Подробнее о способах получения конкретных цветов читайте в разделе &3Стеклоделие&r и &3Стеклянные изделия&r &2Полевого руководства&r. Позже вы сможете использовать химикаты из &3GregTech&r для более простой покраски стекла.\n\n&3&lСовет:&r&o Если вы хотите создать много блоков стекла и у вас есть доступ к &bПечи для сплавов&r, будет эффективнее изготовить &dСтеклянные панели&r, &bизмельчить&r их , затем превратить в &dСтеклянную пыль&r и использовать &aОтливную форму&r — одна смесь может дать до 16 маленьких кучек пыли за раз!", + "quests.tfg_tips.lamps.title": "Фонари", + "quests.tfg_tips.lamps.subtitle": "Они очень приятные.", + "quests.tfg_tips.lamps.desc": "Как и в обычном Майнкрафте, &dФонари&r можно подвешивать к потолку с помощью цепей или размещать на верхней части блоков. &dФонари&r потребляют разные виды топлива, чтобы оставаться зажженными. Некоторые виды топлива горят &4бесконечно.&r\n\n&3&lСовет:&r&o Заполненные фонари можно поместить в слот &6спины&r в &cменю Curios&r, чтобы получать динамическое освещение без занятых рук. Это может не работать при использовании шейдеров.", + "quests.tfg_tips.creosote.title": "Топливо для фонаря: Креозот", + "quests.tfg_tips.creosote.subtitle": "Если у вас его много скопилось...", + "quests.tfg_tips.creosote.desc": "&dКреозот&r можно использовать в качестве топлива для фонаря, но полностью заправленного фонаря хватит всего на &c10&r дней.", + "quests.tfg_tips.creosote.task": "Ведро (Креозот)", + "quests.tfg_tips.tallow.title": "Топливо для фонаря: Жир", + "quests.tfg_tips.tallow.subtitle": "Животный жир", + "quests.tfg_tips.tallow.desc": "&dЖир&r можно использовать в качестве топлива для фонаря. Полного фонаря хватит на &c18&r дней.", + "quests.tfg_tips.tallow.task": "Ведро жира", + "quests.tfg_tips.olive_oil.title": "Топливо для фонаря: Оливковое масло", + "quests.tfg_tips.olive_oil.subtitle": "Чуточкуо'ливковогомасла", + "quests.tfg_tips.olive_oil.desc": "&dОливковое масло&r можно использовать в качестве топлива. Хотя его и сложнее получить по сравнению с другими, но полного фонаря хватает на целых &c83&r дня!\n\n&3&lСовет:&r&o Доступ к электрическим механизмам уже на уровне &7LV&r значительно упростит обработку.", + "quests.tfg_tips.olive_oil.task": "Ведро оливкового масла", + "quests.tfg_tips.lava_lamp.title": "Топливо для фонаря: Лава?", + "quests.tfg_tips.lava_lamp.subtitle": "Не так завораживает, как настоящая", + "quests.tfg_tips.lava_lamp.desc": "Из очень термостойкого металла, &9Синей стали&r, вы можете создать &dФонарь из синей стали.&r Его можно заправить &cлавой&r, получив бесконечный источник света, — но только для этого типа фонаря.\n\nБудь осторожен с фонарем, наполненным лавой — он очень &cгорячий...&r", + "quests.tfg_tips.glowstone_lamp.title": "Топливо для фонаря: Светокамень", + "quests.tfg_tips.glowstone_lamp.subtitle": "Лучшее топливо для ламп", + "quests.tfg_tips.glowstone_lamp.desc": "Тебе понадобится доступ минимум к &7LV&r электричеству, чтобы расплавить &dСветокамень&r, но если тебе нравятся любые &aлампы&r, ты можешь использовать &6Жидкий Светокамень&r для их бесконечного питания. В отличие от &cЛавы&r, он не горячий!", + "quests.tfg_tips.charcoal_pile.title": "Угольная яма", + "quests.tfg_tips.charcoal_pile.subtitle": "Это вам пригодится", + "quests.tfg_tips.charcoal_pile.desc.1": "&aУгольная яма&r — это ранний источник получения &dДревесного угля&r. Вам понадобится &oмного&r угля, если вы хотите преуспеть в &2TFG&r, ведь древесный уголь — ключевой ресурс для &3металлообработки&r и выплавки &3Крицы&r в &bКованое железо&r.\n\nНачните с того, что выкопайте яму.", + "quests.tfg_tips.charcoal_pile.desc.2": "После этого, удерживая клавишу &cКрасться&r, размещайте в яме бревна — так вы создадите &2Поленницу&r. Чем больше бревен в Поленнице, тем больше &dДревесного угля&r вы получите.", + "quests.tfg_tips.charcoal_pile.desc.3": "После размещения &2Поленницы&r накройте их блоками, оставив &oодну открытую.&r Подожгите открытую часть с помощью &dПримитивного огнива&r, брошенного &eФакела&r или &4Огнива.&r Дождитесь появления крупных частиц дыма из покрытых блоков и &cзапечатайте&r открытую часть. Когда дым перестанет выходить, уберите блоки и соберите &dДревесный уголь&r — желательно с помощью &aЛопаты&r или &aЗаступа.&r", + "quests.tfg_tips.charcoal_pile.desc.4": "&3&lСовет:&r&o Постарайтесь как можно раньше сделать &3Коксовую печь.&f Она не только перерабатывает бревна в &aДревесный уголь&f с &cлучшим соотношением&f, но также производит &aКреозот&f — полезное топливо для фонарей и паровых механизмов, а также &aКоксовый уголь&f для выплавки &dСтали&r.", + "quests.tfg_tips.thatch_bed.title": "Соломенная кровать", + "quests.tfg_tips.thatch_bed.subtitle": "Место, чтобы отдохнуть… в каком-то смысле", + "quests.tfg_tips.thatch_bed.desc": "Используя немного &bСоломы&r и &aКрупную свежую шкуру&r, вы можете создать &dСоломенную кровать.&r Спать на ней нельзя, но она &cустанавливает точку спавна.&r\n\nЧтобы создать соломенную кровать, разместите &bдва снопа соломы&r рядом, а затем взаимодействуйте с ними, удерживая в руке &aКрупную свежую шкуру&r.", + "quests.tasktype.looktat": "Посмотреть на законченную соломенную кровать", + "quests.tfg_tips.loom.title": "Ткацкий станок", + "quests.tfg_tips.loom.subtitle": "Тебе нужно будет поработать усердно, если хочешь спать...", + "quests.tfg_tips.loom.desc": "Чтобы сделать кровать получше, вам нужно заняться изготовлением тканей. Для этого идеально подойдет &3Ткацкий станок&r — рабочая станция, с помощью которой можно создавать различные виды текстиля, каждый из которых имеет свое применение.", + "quests.tfg_tips.burlap_cloth.title": "Джутовая ткань", + "quests.tfg_tips.burlap_cloth.subtitle": "Изготовлено из Джута!", + "quests.tfg_tips.burlap_cloth.desc": "Если замочить немного &aДжута&r в бочке, а затем обработать полученные &aДжутовые волокна&r на &3Ткацком станке&r, то вы сможете создать &dДжутовую ткань&r.&r\n\nДжутовая ткань имеет множество применений: из нее можно изготовить &bОдежду из джутовой ткани&r, которая защищает от &cжаркого климата&r, &eкостюм пасечника&r, оберегающий от злых пчел, а также ряд других полезных предметов.", + "quests.tfg_tips.pineapple_leather.title": "Ананасовая кожа", + "quests.tfg_tips.pineapple_leather.subtitle": "Кто проживает на дне океана?", + "quests.tfg_tips.pineapple_leather.desc": "Получив немного &aАнанасовых волокон&r, &bзапрядя&r их в &aАнанасовую нить&r и обработав ее на &3Ткацком станке&r, вы получите &dАнанасовую кожу&r — экологичную альтернативу для &bрецептов кожей.&r", + "quests.tfg_tips.wool_cloth.title": "Шерстяная ткань", + "quests.tfg_tips.wool_cloth.subtitle": "Бееее...", + "quests.tfg_tips.wool_cloth.desc": "Постригите дружелюбных &2Шерстяных&r животных, затем с помощью веретена превратите полученную шерсть в &dШерстяную нить.&r Обработав нити на &3Ткацком станке&r, вы получите &dШерстяную ткань.&r\n\nПомимо применения в &bСтеклоделии&r, ее можно использовать для создания &aШерстяной одежды&r, идеально подходящей для &bхолодных&r и суровых условий.\n\nШерсть считается &bтканью высокого качества.&r", + "quests.tfg_tips.silk_cloth.title": "Шелковая ткань", + "quests.tfg_tips.silk_cloth.subtitle": "Очень, очень гладкая.", + "quests.tfg_tips.silk_cloth.desc": "&dШелковую ткань&r можно создать из &aНити&r, получаемой при убийстве &bПауков&r, или с помощью &bСлитков поликапролактама (известен как нейлон)&r. Шелкопрядов нет, извините! Еще один, хоть и опасный источник, — биом &cПаучье логово&r в &4Бездне&r.\n\nШелковая ткань используется для создания &aШелковой одежды&r, которая лучше всего защищает от &cжаркого&r климата.\n\nШелк считается &bтканью высокого качества.&r", + "quests.tfg_tips.phantom_silk.title": "Фантомная ткань", + "quests.tfg_tips.phantom_silk.subtitle": "Всеобщий победитель голосования за любимого моба", + "quests.tfg_tips.phantom_silk.desc": "&dФантомная ткань&r плетётся из фантомных нитей, которые изготавливаются из мембран фантомов. (&aФантомов&r) можно встретить в измерении &4Бездны&r.", + "quests.tfg_tips.unrefined_paper.title": "Грубая бумага", + "quests.tfg_tips.unrefined_paper.subtitle": "Пора делать историю.", + "quests.tfg_tips.unrefined_paper.desc": "&aГрубая бумага&r — всего в одном шаге от превращения в настоящую, пригодную к использованию &dбумагу.&r Существует множество способов создания бумаги: одни проще, другие могут оказаться значительно труднее в зависимости от доступных ресурсов. Ознакомьтесь с разделом &bПроизводство бумаги&r в вашем &2Полевом руководвстве!&r", + "quests.tfg_tips.bed.title": "Кровати", + "quests.tfg_tips.bed.subtitle": "Дай отдых своей усталой душе.", + "quests.tfg_tips.bed.desc": "Используя &bткань высокого качества&r, такую как &aШерсть&r или &aШелковая ткань&r, вы можете создать свою собственную &dКровать.&r В отличие от &2Соломенной кровати&r, настоящая &dКровать&r достаточно удобна, чтобы проспать всю ночь. Сладких снов!", + "quests.tfg_tips.sleeping_bags.title": "Спальный мешок", + "quests.tfg_tips.sleeping_bags.subtitle": "Пижамная вечеринка!", + "quests.tfg_tips.sleeping_bags.desc": "&dСпальный мешок&r — это предмет, который позволяет вам &bпроспать всю ночь.&r В отличие от кроватей, спальный мешок &oне устанавливает&r вам &cточку спавна.&r", + "quests.tfg_tips.hammocks.title": "Гамаки", + "quests.tfg_tips.hammocks.subtitle": "Идеально для ночных сов", + "quests.tfg_tips.hammocks.desc": "&dГамак&r делает прямо противоположное тому, что делает &2Спальный мешок.&r Он позволяет вам проспать дневное время. Идеально подходит для ожидания завершения рецептов в бочках или обжига угольной ямы.\nКак и &2Спальные мешки&r, гамаки &oне устанавливают&r вам &cточку спавна.&r", + "quests.tfg_tips.panning.title": "Промывка в лотке", + "quests.tfg_tips.panning.subtitle": "Словно в золотую лихорадку, снова в дело!", + "quests.tfg_tips.panning.desc": "Вдоль русел рек вы можете заметить гравий с легкими вкраплениями минералов — это так называемые &aместорождения самородной руды.&r Щелкнув по такому блоку с помощью &bРудопромывочного лотка&r, вы сможете переработать его в &dмелкие кусочки самородной руды.&r Такие кусочки могут пригодиться, когда вам не хватает буквально пары миллибакетов, чтобы заполнить форму.", + "quests.tfg_tips.sluice.title": "Рудопромывочный желоб", + "quests.tfg_tips.sluice.subtitle": "Промывка в лотке на стероидах", + "quests.tfg_tips.sluice.desc": "&3Рудопромывочный желоб&r можно использовать для более быстрой и частично автоматизированной переработки &aгравийных отложений&r. Кроме того, он может давать &dредкие продукты промывки.&r Для получения дополнительной информации смотрите &2Полевое руководство!&r", + "quests.tfg_tips.status_effects.title": "Эффекты", + "quests.tfg_tips.status_effects.subtitle": "Больше никаких странных зелий.", + "quests.tfg_tips.status_effects.desc": "Хотя варка зелий недоступна, но вы можете создавать другие потребляемые предметы, чтобы получать эффекты.", + "quests.tfg_tips.aged_alcohol.title": "Выдержанный алкоголь", + "quests.tfg_tips.aged_alcohol.subtitle": "Употребляйте умеренно...", + "quests.tfg_tips.aged_alcohol.desc": "&3Выдержка алкогольных напитков&r в &aбочках&r со временем увеличивает их крепость, превращая их в &dВыдержанный алкоголь&r. Употребление из бутылок или фляг дает полезные эффекты в зависимости от типа напитка: &bРегенерация&r, &bСопротивление&r или &bПоглощение.&r Эти эффекты особенно полезны при исследовании новых территорий.", + "quests.tfg_tips.aged_alcohol.task": "Любой выдержанный алкоголь", + "quests.tfg_tips.pills.title": "Медицина: Пилюли", + "quests.tfg_tips.pills.subtitle": "А вот и колеса!", + "quests.tfg_tips.pills.desc": "Смешав &aВоск&r, &bРодниковую воду&r и уникальные ингредиенты, вы получите &dПилюли!&r Они могут давать различные эффекты — как полезные, так и вредные.\n\n&3&lСовет:&r&o Использование &bМеханического смешивателя&f или &bСмесителя&f удваивает выход продукта!", + "quests.tfg_tips.pills.task": "Любая пилюля с эффектом", + "quests.tfg_tips.tablets.title": "Медицина: Таблетки", + "quests.tfg_tips.tablets.subtitle": "А вот и колеса...?", + "quests.tfg_tips.tablets.desc": "Хотя создание сложнее, чем обычных пилюль, и требует либо &3Механического смешивателя&r, либо &3Смешиватель&r, &dТаблетки&r действуют значительно дольше.", + "quests.tfg_tips.tablets.task": "Любая таблетка", + "quests.tfg_tips.salvo.title": "Медицина: Мазь", + "quests.tfg_tips.salvo.subtitle": "Наносить непосредственно на лоб", + "quests.tfg_tips.salvo.desc": "&dМазь&r — еще один вид лекарства, обычно применяемый наружно. По сравнению с &aПилюлями&r и &aТаблетками&r, мази дают другие эффекты, такие как &cОгнестойкость&r и &4Исцеление&r, но требуют сложных химических процессов.", + "quests.tfg_tips.salvo.task": "Любая мазь", + "quests.tfg_tips.misc.title": "Прочие советы", + "quests.tfg_tips.misc.subtitle": "Еще больше советов!", + "quests.tfg_tips.misc.desc": "Вот разные советы, они не подходят ни к одной из других категорий, но все равно полезно о них знать.", + "quests.tfg_tips.digger_helmet.title": "Шахтерская каска", + "quests.tfg_tips.digger_helmet.subtitle": "Для тех, кто копает весь день напролет", + "quests.tfg_tips.digger_helmet.desc.1": "&dШахтерская каска&r — это шлем, который можно надеть и который автоматически освещает окружающее пространство, не занимая рук! Он полезен, если ваша основная рука занята, а в другой руке вы держите щит. Для его изготовления потребуется немного &6Светокаменной пыли&r. Возможно, вы сможете добраться до &4Бездны&r, чтобы получить доступ к ней в начале игры...", + "quests.tfg_tips.digger_helmet.desc.2": "&l&3Важно:&r&l &dШахтерская каска&f работает благодаря специальной настройке &cSodium Dynamic Lights&f. Чтобы она работала правильно, необходимо включить &b\"Dynamic Entity Lighting\"&f.", + "quests.tfg_tips.grappling_hook.title": "Крюк-кошка", + "quests.tfg_tips.grappling_hook.subtitle": "Это плохо кончится", + "quests.tfg_tips.grappling_hook.desc": "Объединив 4 штуки &aВитой веревки&r и &bОголовье кирки из кованого железа&r, вы сможете создать &dКрюк-кошку!&r Отличный инструмент для восхождения на горы, исследования пещер и перемещения по миру. Он поддерживает &eсистему улучшений&r, позволяющую комбинировать и настраивать &dКрюк&r по своему вкусу.", + "quests.tfg_tips.grapple_repair.title": "Ремонт вашего крюка", + "quests.tfg_tips.grapple_repair.subtitle": "ПРОЧТИ МЕНЯ, ИНАЧЕ ПОЖАЛЕЕШЬ ПОЗЖЕ!", + "quests.tfg_tips.grapple_repair.desc": "Все ваши &aулучшения&r &dКрюк-кошки&r хранятся в виде NBT-данных внутри предмета. Это означает, что попытка отремонтировать Крюк с помощью &cдругой&r Крюк-кошки &l&cУНИЧТОЖИТ все ваши улучшения!&r\n\nВместо этого вам следует поместить вашу &dКрюк-кошку&r и &bПыль кованого железа&r в &3верстак&r, чтобы отремонтировать ее.", + "quests.tfg_tips.grapple_upgrades.title": "Улучшение вашей Крюк-кошки", + "quests.tfg_tips.grapple_upgrades.subtitle": "Сбалансировано под TFG, разумеется!", + "quests.tfg_tips.grapple_upgrades.desc.1": "Улучшение вашей &dКрюк-кошки&r состоит в добавлении или удалении предметов с помощью &3Верстака&r.&r\n\nЧтобы посмотреть все улучшения, которые вы можете применить к своей &dКрюк-кошки&r, нажмите клавишу \"Посмотреть применения\" в &2EMI.&r\nКаждый из кастомных рецептов будет содержать текст с описанием применяемых изменений.", + "quests.tfg_tips.grapple_upgrades.desc.2": "Улучшения можно снять, скрафтив &dКрюк-кошку&r с &bКувалдой&r и &aпредметом, который вы использовали для улучшения&r (он не будет израсходован). В результате вы получите &dКрюк&r вместе с предметом, который использовался для снятия улучшения и предмет, который использовался для улучшения, то есть вы получите два предмета назад! Этот процесс отката улучшения работает по умолчанию для всех улучшений, если в соответствующем квесте по улучшению не указано иное.\n\n&lУлучшения не могут быть перезаписаны, если вы хотите улучшить электрический мотор &7LV&f до электрического мотора &bMV&f, вам необходимо сначала снять улучшение электрический мотор &7LV&f.", + "quests.tfg_tips.grapple_length.title": "Улучшение Крюк-кошки: Длина веревки", + "quests.tfg_tips.grapple_length.subtitle": "Длинный мальчик", + "quests.tfg_tips.grapple_length.desc": "По умолчанию ваша &dКрюк-кошка&r имеет &bдлину 80 блоков&r, вы можете добавить &cеще 20&r, добавив больше &aВитков веревки.&r Максимальная длина составляет 200 блоков.\n\nДлину можно &3уменьшить&r, скрафтив Крюк с &aножом&r, &2уменьшая ее на 20&r, до минимума в 20.", + "quests.tfg_tips.grapple_motor.title": "Улучшение Крюк-кошки: Электрический мотор", + "quests.tfg_tips.grapple_motor.subtitle": "На столько ленивый, да?", + "quests.tfg_tips.grapple_motor.desc": "Улучшение &aЭлектрический мотор&r позволяет автоматически подтягиваться с помощью вашего &dКрюка.&r Будьте осторожны, так как &cмоторы высокого уровня&r могут причинить вам &4урон от падения&r из-за силы подтягивания.\n\nМоторы разделены на уровни напряжения &2Gregtech&r. В рецептах крафта точно указано, какие характеристики были изменены и насколько.", + "quests.tfg_tips.grapple_smart_motor.title": "Улучшение Крюк-кошки: Умный мотор", + "quests.tfg_tips.grapple_smart_motor.subtitle": "Кто-нибудь вообще знает, что эта штука делает?", + "quests.tfg_tips.grapple_smart_motor.desc": "Улучшение &aУмный мотор&r активирует систему &3Умного мотора&r. Для его установки требуется предварительно установить улучшение &bЭлектрический мотор&r.", + "quests.tfg_tips.grapple_field.title": "Улучшение Крюк-кошки: Отталкивающие поле", + "quests.tfg_tips.grapple_field.subtitle": "Смотри, мам, я левитирую!", + "quests.tfg_tips.grapple_field.desc": "Улучшение &aОтталкивающие поле&r отталкивает вас от ближайших блоков. Будьте осторожны — &cвысокий уровень силы отталкивания&r может нанести вам &4урон от падения.&r\n\nОтталкивающия поля разделены на уровни напряжения &2Gregtech&r. В рецептах крафта точно указано, какие характеристики были изменены и насколько.", + "quests.tfg_tips.grapple_magnet.title": "Улучшение Крюк-кошки: Магнит", + "quests.tfg_tips.grapple_magnet.subtitle": "Интенсивное тяготение", + "quests.tfg_tips.grapple_magnet.desc": "Улучшение &aМагнит&r притягивает ваш &dКрюк&r к любым ближайшим блокам, цепляясь за них.\n\nУровни магнитного улучшения зависит от магнитных слитков &2GregTech&r, причем худшим из них является &bМагнитное железо&r, а лучшим — &bМагнитный самарий.&r", + "quests.tfg_tips.grapple_magnet.task": "Любой Магнитный слиток", + "quests.tfg_tips.grapple_sticky.title": "Улучшение Крюк-кошки: Липкая веревка", + "quests.tfg_tips.grapple_sticky.subtitle": "Липучий!", + "quests.tfg_tips.grapple_sticky.desc": "Улучшение &aЛипкая веревка&r приводит к тому, что ваш &dКрюк&r прикрепляется к любому участку веревки, соприкасающемуся с блоком.", + "quests.tfg_tips.grapple_throw_speed.title": "Улучшение Крюк-кошки: Скорость броска", + "quests.tfg_tips.grapple_throw_speed.subtitle": "Полетело!", + "quests.tfg_tips.grapple_throw_speed.desc": "Улучшение &aСкорость броска&r заставляет ваш &dКрюк&r запускаться быстрее.\n\nУлучшение скорости броска разделено на уровни напряжения &2Gregtech&r. Рецепт крафта точно показывает, какие характеристики были изменены и на сколько.", + "quests.tfg_tips.grapple_double.title": "Улучшение Крюк-кошки: Двойная Кошка", + "quests.tfg_tips.grapple_double.subtitle": "Двойное удовольствие!", + "quests.tfg_tips.grapple_double.desc": "Улучшение &aДвойная Кошка&r позволяет бросать &dдве Крюк-кошки&r под углом. Ты можешь назначить отдельные клавиши для метания каждого крюка отдельно.", + "quests.tfg_tips.grapple_gravity_50.title": "Улучшение Крюк-кошки: 0.5 Гравитация", + "quests.tfg_tips.grapple_gravity_50.subtitle": "Разве это вообще имеет смысл?", + "quests.tfg_tips.grapple_gravity_50.desc": "Улучшение &a0.5 Гравитация&r придает вашему крюку &bгравитационный коэффициент 0.5.&r Это значит, что на него будет действовать гравитация с силой в половину!\n\nВместо того чтобы использовать еще одно &dведро с гелием&r для снятия улучшения, используйте &cпустое ведро&r — оно заполнится тем самым &eгелием&r, который вы изначально использовали.", + "quests.tfg_tips.grapple_gravity_0.title": "Улучшение Крюк-кошки: НУЛЕВАЯ гравитация", + "quests.tfg_tips.grapple_gravity_0.subtitle": "Весьма дорого", + "quests.tfg_tips.grapple_gravity_0.desc": "Улучшение &aНУЛЕВАЯ гравитация&r, как следует из названия, убирает гравитацию у вашего крюка.\n\nВместо того чтобы использовать еще один гравитационный двигатель &cдля снятия улучшения&r, используйте &dвольфрамовый блок&r.", + "quests.tfg_tips.grapple_tweaks.title": "Улучшение Крюк-кошки: Настройка", + "quests.tfg_tips.grapple_tweaks.subtitle": "Настройте свои углы", + "quests.tfg_tips.grapple_tweaks.desc": "С помощью &aКлюча&r вы можете настроить &bВертикальный угол наклона&r при броске &dКрюка&r, а &aОтвертка&r используется для настройки &bГоризонтального угла&r для улучшения &aДвойная Кошка.&r", + "quests.tfg_tips.chalk.title": "Мелок", + "quests.tfg_tips.chalk.subtitle": "Ты же не хочешь потеряться, не так ли?", + "quests.tfg_tips.chalk.desc": "&dМелок&r можно использовать для рисования различных символов на блоках. Это очень полезно для пометки важных мест во время &bисследования пещер.&r\n\n&3Коробок для мела&r позволяет хранить несколько кусочков мела в одном слоте инвентаря. Более того, вы можете добавить светящийся предмет (например, &6светокаменную пыль&r), чтобы твои мелкие каракули светились в темноте!", + "quests.tfg_tips.tape_measure.title": "Рулетка", + "quests.tfg_tips.tape_measure.subtitle": "Хватит считать блоки вручную", + "quests.tfg_tips.tape_measure.desc": "Вы можете использовать &dРулетку&r для измерения длины или периметра — особенно полезно при строительстве крупных проектов. Просто взаимодействуйте с блоком, держа &dРулетку&r в руках, чтобы начать измерение. Чтобы завершить, щелкните ПКМ по другому блоку, все так же держа рулетку.", + "quests.tfg_tips.blank_disc.title": "Etched: Слушайте музыку", + "quests.tfg_tips.blank_disc.subtitle": "Музыкальное сопровождение для ваших приключений", + "quests.tfg_tips.blank_disc.desc": "&2Etched&r — это мод, который позволяет слушать музыку в Minecraft новыми способами, включая &dпользовательские диски&r, которые могут проигрывать любую желаемую песню (если она доступна на Bandcamp или Soundcloud), а также &aзвуки из игры&r через звуковые ивенты.\n\nЧтобы начать знакомство с &2Etched&r, создайте &bпустую пластинку.&r", + "quests.tfg_tips.radio.title": "Радио", + "quests.tfg_tips.radio.subtitle": "Слушайте музыку без использования пластинок", + "quests.tfg_tips.radio.desc": "&dРадио&r позволяет воспроизводить любую желаемую композицию. Щелкните по нему ПКМ, а затем введите нужную песню — это может быть ссылка или звуковой ивент из Minecraft.", + "quests.tfg_tips.dye_discs.title": "Классика", + "quests.tfg_tips.dye_discs.subtitle": "Эти никогда не выйдут из моды...", + "quests.tfg_tips.dye_discs.desc": "Если опустить &bпустую пластинку&r в &aбочку&r, наполненную красителем, можно создать ванильные музыкальные пластинки. Наслаждайтесь классикой, такой как &dWait, 13&r и &dBlocks!&r", + "quests.tfg_tips.dye_discs.task": "Любая классическая пластинка", + "quests.tfg_tips.special_discs.title": "Уникальные", + "quests.tfg_tips.special_discs.subtitle": "Они действительно уникальны... ну, по крайней мере, были", + "quests.tfg_tips.special_discs.desc": "Вы также можете создать &dуникальные пластинки&r, если захотите...", + "quests.tfg_tips.disc_collector.title": "Коллекционер пластинок", + "quests.tfg_tips.disc_collector.subtitle": "Полная коллекция", + "quests.tfg_tips.disc_collector.desc": "Сможете ли вы создать все музыкальные пластинки?\n\nРаз уж вы здесь, знайте: есть 2 скрытых квеста, связанных с музыкальными пластинками. Один из них довольно &cподозрительный&r, а другой может потребовать от вас пробудить своего внутреннего дворфа. Удачи!", + "quests.tfg_tips.amogus.title": "АМОНГУС", + "quests.tfg_tips.amogus.subtitle": "САССИ БАКА!", + "quests.tfg_tips.amogus.desc": "Поздравляем с разблокировкой этого скрытого, отвратительного квеста. Пусть ваш вентиляционный саботаж останется незамеченным.", + "quests.tfg_tips.label_album.title": "Ярлыки и Альбомы", + "quests.tfg_tips.label_album.subtitle": "Ярлыки для ваших дисков и обложки альбомов, чтобы их защитить", + "quests.tfg_tips.label_album.desc": "Чтобы &bнанести гравировку&r на вашу первую пластинку, вам понадобится &dЯрлык&r. Ярлыки, как и пустые пластинки, можно окрашивать.\n\n&dОбложки альбомов&r используются для оформления ваших гравированных пластинок. Если гравированный диск получает данные с сайта вроде &cSoundcloud&r, иконка песни будет сжата до текстуры 16×16! Чтобы сохранить диск, откройте инвентарь, выберите обложку альбома и щелкните ПКМ по музыкальной пластинке, которую вы хотите сохранить. Вы также можете сохранять обычные диски.", + "quests.tfg_tips.etching_disc.title": "Гравирование вашего первой пластинки", + "quests.tfg_tips.etching_disc.subtitle": "Время для вашей первой мелодии", + "quests.tfg_tips.etching_disc.desc": "Для начала вам понадобится &3стол для гравировки&r, чтобы приступить к &bнанесению гравировки&r. Щелкните по столу ПКМ, чтобы открыть интерфейс и поместите &aпустую пластинку&r вместе с &aЯрлыком&r, также укажите допустимый источник звука в верхней строке, затем ваш диск будет готов.\n\nИсточниками звука могут быть такие вещи, как &bссылки на Bandcamp/Soundcloud&r (одиночные треки или альбомы), &dвнутриигровые звуковые ивенты&r или пути к &c.ogg/.wav/.mp3 файлам&r на вашем компьютере.\n\nЧтобы завершить этот квест, нанесите гравировку на любую пластинку.", + "quests.tfg_tips.disc_players.title": "Плееры для дисков", + "quests.tfg_tips.disc_players.subtitle": "Ну куда же без них!", + "quests.tfg_tips.disc_players.desc": "Вы можете использовать обычный &3Проигрыватель&r, однако есть и более крутые варианты:\n\n&dАльбомный проигрыватель&r – позволяет загрузить несколько дисков и &bпереключаться между ними&r. Идеально для вашей базы.\n\n&dБумбокс&r – слушайте музыку в пути.", + "quests.tfg_tips.disc_players.task": "Получите Альбомный проигрыватель или Бумбокс", "quests.tfg_tips.DIGGY_DIGGY_HOLE.title": "I AM A DWARF AND I'M DIGGING A HOLE", "quests.tfg_tips.DIGGY_DIGGY_HOLE.subtitle": "DIGGY DIGGY HOLE, DIGGY DIGGY HOLE!", - "quests.tfg_tips.DIGGY_DIGGY_HOLE.desc": "Congratulations for unlocking this hidden, awesome quest. May your mines never collapse and great loot be underground!", - "quests.tfg_tips.DIGGY_DIGGY_HOLE.task": "A Diggy Diggy Hole Disc", - "quests.tfg_tips.camera.title": "Exposure: Capture your Memories", - "quests.tfg_tips.camera.subtitle": "Take pictures of your world", - "quests.tfg_tips.camera.desc": "&2Exposure&r is a mod that adds realistic picture processing into the game. Start by creating your &bCamera&r and &aFilm Rolls&r, and then develop your pictures!. It has complex systems such as color correction, filters and more.", - "quests.tfg_tips.selfie.title": "Selfies", - "quests.tfg_tips.selfie.subtitle": "For the 'gram!", - "quests.tfg_tips.selfie.desc": "With your &bCamera&r open, you can press F5 to enable &bSelfie Mode&r, which as the name suggests, allows you to take selfies.", - "quests.tfg_tips.camera_attachments.title": "Camera Attachments", - "quests.tfg_tips.camera_attachments.subtitle": "Improve your Camera", - "quests.tfg_tips.camera_attachments.desc": "By interacting with the &dCamera&r while sneaking, you'll open the camera GUI. This not only allows you to place your desired &aFilm Roll&r, it allows you to attach addons to your camera with new functionalities.\n\n&dRedstone Lamp&r: Works as a flashlight, illuminating dark environments.\n&dSpyglass&r: Enables zooming, letting you take pictures of objects far away.", - "quests.tfg_tips.camera_attachments.task": "A Redstone Lamp or a Spyglass", - "quests.tfg_tips.filters.title": "Color Filters", - "quests.tfg_tips.filters.subtitle": "Changing the look of your photos.", - "quests.tfg_tips.filters.desc": "Using a &aGlass Pane&r, you can apply a &dFilter&r to a picture. Simply open your camera GUI and assign it to the camera filter slot. With &dFilters&r you can change the overall color composition of your pictures. For instance, you can make a picture look extra cold by applying a &3Cyan&r or &bLight Blue&r filter to it.", - "quests.tfg_tips.filter.task": "Any Glass Pane", - "quests.tfg_tips.interplanar_projector.title": "Interplanar Projector", - "quests.tfg_tips.interplanar_projector.subtitle": "This doesn't look realistic...?", - "quests.tfg_tips.interplanar_projector.desc": "The &dInterplanar Projector&r is a special filter that allows you to take pictures of things &coutside&r of the Minecraft world\n\nYou can rename the &aLens&r in a &3Scribing Table&r with a name that points either to an image on your &bDrive&r or a &bWeb Image.&r Placing the lens on your &aCamera&r and taking a picture should give you that external image.", - "quests.tfg_tips.film_rolls.title": "Film Rolls", - "quests.tfg_tips.film_rolls.subtitle": "It's not Digital", - "quests.tfg_tips.film_rolls.desc": "To begin taking pictures you'll need to craft one of two kinds of film roll: &0Black and White Film&r, and &dColored Film.&r", - "quests.tfg_tips.developing_film.title": "Developing Films", - "quests.tfg_tips.developing_film.subtitle": "Pretend you're a printer", - "quests.tfg_tips.developing_film.desc": "Once you've taken your pictures you can begin &adevelopment&r by soaking the films in &bWater.&r Afterwards, you'll need to craft a &dLightroom&r.\n\nThe lightroom is used to develop film, needing a strong light source above the block, and the following four dyes: &3Cyan&r, &5Magenta&r, &eYellow&r and &0Black&r, known as CMYK.\n&0Black and White Film&r will only need &0Black Dye&r while &dColored Film&r will need the entire &3C&5M&eY&0K&r set.\n\nIf you fancy more interesting processing, you can work with the &cChromatic Process...&r", - "quests.tfg_tips.photo.title": "Your first Photo", - "quests.tfg_tips.photo.subtitle": "Congratulations!", - "quests.tfg_tips.photo.desc": "You can do multiple things with it with your &dPhotograph.&r\n\nYou can &bCopy&r it by utilizing a blank sheet of &aPaper&r and the required &aDyes&r used to develop the original.\n\nYou can also &bStack&r pictures to keep them neatly organized in your inventory, check EMI to know how to.\n\nYou can also artificially &cage&r a picture by applying &6Brown Dye&r to it, making it look like it has gone through the years.", - "quests.tfg_tips.photo_album.title": "Photo Album", - "quests.tfg_tips.photo_album.subtitle": "Turns out memories are forever...", - "quests.tfg_tips.photo_album.desc": "If you want a place to &bstore photos&r, make a &dPhoto Album.&r In addition, you can also write small descriptions for each photo in an album. Write out the place where you took them, some notes, and more!", - "quests.tfg_tips.photo_frame.title": "Photo Frame", - "quests.tfg_tips.photo_frame.subtitle": "For the most astonishing pictures", - "quests.tfg_tips.photo_frame.desc": "A &dPhoto Frame&r can be used to display pictures. Unlike Item Frames, Photo Frames can be 1x1, 2x2 or 3x3 in size, allowing you to display particularly beautiful photos at your base!", - "quests.tfg_tips.harpoon.title": "Harpoon", - "quests.tfg_tips.harpoon.subtitle": "Emergency escape", - "quests.tfg_tips.harpoon.desc": "The &dHarpoon&r is similar to the grappling hook, except it always flies straight upwards and can't be upgraded. You can still swing with it though!", - "quests.tfg_tips.coil.title": "Ziplines", - "quests.tfg_tips.coil.subtitle": "Wheeeeee!", - "quests.tfg_tips.coil.desc": "If you right-click two &dFences&r with a &3Coil&r, you'll create a zipline! Build one above you, then shoot your Harpoon into the fence to start schmooving.\n\nRight-click the Coil with an empty hand to change the slack of the line. Each Coil is one-way, indicated by the \"arrows\" on the line itself, so if you want a two-way line you'll need two coils.\n\nYou can also place Coils on other blocks too for decoration, but they must be on fences to work as a zipline.", - "quests.tfg_tips.self_defense.title": "Self-defense", - "quests.tfg_tips.self_defense.subtitle": "Got zombies on your lawn?", - "quests.tfg_tips.self_defense.desc": "Place a &3Cranktrap&r next to a pressure plate, and they'll completely immobilize whatever animal (or monster!) steps on it. Great for catching that elusive animal in the forest, or for defending your home.\n\n&3Barbed Wire&r is completely passive and just inflicts damage to anything that walks through it.", - "quests.tfg_tips.lightning_rod.title": "Lightning Rod", - "quests.tfg_tips.lightning_rod.subtitle": "Undesirable voltage", - "quests.tfg_tips.lightning_rod.desc": "As thunderstorms are way more active and violent in TerraFirmaCraft, you might find the frequency of lightning to be rather annoying. To solve that problem completely, you can use a &dLightning Rod&r for the cheap price of 3 copper rods.\n\nThe &dLightning Rod&r can redirect all lightning onto itself in a spherical radius of &3128 blocks&r.\nBeware: It &oredirects&r lightning and doesn't nullify it, so it will still create fires within &33 blocks&r around itself, so place it far away from any flammables.", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.desc": "Поздравляем с открытием этого секретного и прекрасного квеста! Пусть ваши шахты никогда не обрушатся, а под землей вас ждет богатая добыча!", + "quests.tfg_tips.DIGGY_DIGGY_HOLE.task": "Пластинка c Diggy Diggy Hole", + "quests.tfg_tips.camera.title": "Exposure: Запечатли свои воспоминания", + "quests.tfg_tips.camera.subtitle": "Сфотографируй свой мир", + "quests.tfg_tips.camera.desc": "&2Exposure&r — это модификация, которая добавляет в игру реалистичную обработку изображений. Начните с создания &bФотоаппарата&r и &aПленки&r, а затем проявите свои фотографии! Модификация имеет сложные системы, такие как цветовая коррекция, фильтры и многое другое.", + "quests.tfg_tips.selfie.title": "Селфи", + "quests.tfg_tips.selfie.subtitle": "Для сториса!", + "quests.tfg_tips.selfie.desc": "С помощью вашего &bФотоаппарата&r, вы можете нажать F5, чтобы включить &bРежим селфи&r, который, как следует из названия, позволяет делать селфи.", + "quests.tfg_tips.camera_attachments.title": "Аксессуары для камеры", + "quests.tfg_tips.camera_attachments.subtitle": "Улучшаем ваш фотоаппарат", + "quests.tfg_tips.camera_attachments.desc": "Взаимодействуя с &dФотоаппаратом&r, когда вы крадетесь, вы откроете графический интерфейс камеры. Это позволит вам не только поместить туда желаемую &aПленку&r, но и прикрепить к камере дополнения, которые добавят новые функции.\n\n&dРедстоуновый фонарь&r: Работает как фонарик, освещая темные места.\n&dПодзорная труба&r: Позволяет приближать изображение, давая возможность фотографировать объекты, находящиеся далеко.", + "quests.tfg_tips.camera_attachments.task": "Редстоуновый фонарь или Подзорная труба", + "quests.tfg_tips.filters.title": "Цветной фильтр", + "quests.tfg_tips.filters.subtitle": "Изменение стиля фотографий.", + "quests.tfg_tips.filters.desc": "С помощью &aСтеклянной панели&r вы можете наложить &dФильтр&r на снимок. Просто откройте интерфейс камеры и поместите ее в соответствующий слот. &dФильтры&r изменяют цветовую гамму фотографии. Например: &3Голубой&r или &bСветло-синий&r фильтр придаст снимку холодные тона.", + "quests.tfg_tips.filter.task": "Любая стеклянная панель", + "quests.tfg_tips.interplanar_projector.title": "Межплоскостной проектор", + "quests.tfg_tips.interplanar_projector.subtitle": "Это не выглядит реалистично...?", + "quests.tfg_tips.interplanar_projector.desc": "&dМежплоскостной проектор&r — это особый фильтр, позволяющий делать снимки объектов, находящихся &cза пределами&r мира Minecraft.\n\nВы можете переименовать &aЛинзу&r на &3Столе Писаря&r, указав на, либо на путь к изображению на вашем &bДиске,&r либо &bссылку на интернет-изображение.&r Установив линзу в &aФотоаппарат&r и сделав снимок, вы должны получить это внешнее изображение.", + "quests.tfg_tips.film_rolls.title": "Пленка", + "quests.tfg_tips.film_rolls.subtitle": "Это не цифровая технология", + "quests.tfg_tips.film_rolls.desc": "Чтобы начать делать фотографии, вам нужно создать одну из двух пленок: &0Черно-белую пленку&r или &dЦветную пленку.&r", + "quests.tfg_tips.developing_film.title": "Проявка пленки", + "quests.tfg_tips.developing_film.subtitle": "Представьте, что вы — принтер", + "quests.tfg_tips.developing_film.desc": "После того как вы сделали снимки, можно начать &aпроявку&r, замочив пленку в &bВоде.&r Затем потребуется создать &dФотолабораторию&r.\n\nФотолаборатория используется для проявки пленки на бумагу, и для ее работы необходим сильный источник света над блоком, а также четыре красителя: &3Бирюзовый&r, &5Пурпурный&r, &eЖелтый&r и &0Черный&r — так называемая модель CMYK.\n&0Черно-белая пленка&r требует только &0черный краситель&r, а &dцветная пленка&r — весь набор &3C&5M&eY&0K&r.\n\nЕсли вам по душе более необычная обработка, вы можете попробовать &cХроматический процесс...&r", + "quests.tfg_tips.photo.title": "Ваше первое фото", + "quests.tfg_tips.photo.subtitle": "Поздравляем!", + "quests.tfg_tips.photo.desc": "С вашей &dфотографией&r можно сделать несколько вещей.\n\nВы можете ее &bСкопировать&r, используя чистый лист &aбумаги&r и нужные &aКрасители&r, использованные при проявке оригинала.\n\nТакже можно &bСкладывать&r фотографии в стопку, чтобы удобно хранить их в инвентаре — посмотрите в EMI, как это сделать.\n\nНаконец, вы можете искусственно &cСостарить&r снимок, применив к нему &6коричневый краситель&r — фотография будет выглядеть так, будто прошла сквозь годы.", + "quests.tfg_tips.photo_album.title": "Фотоальбом", + "quests.tfg_tips.photo_album.subtitle": "Оказывается, воспоминания — навсегда...", + "quests.tfg_tips.photo_album.desc": "Если вы хотите &bхранить фотографии&r, то создайте &dФотоальбом&r. Кроме того, вы можете добавлять короткие описания к каждому снимку в альбоме — указывайте, где была сделана фотография, добавляйте заметки и другие детали!", + "quests.tfg_tips.photo_frame.title": "Рамка для фотографии", + "quests.tfg_tips.photo_frame.subtitle": "Для самых впечатляющих снимков", + "quests.tfg_tips.photo_frame.desc": "&dРамка для фотографии&r позволяет отображать фотографии. В отличие от рамок для предметов, фоторамки могут иметь размеры 1×1, 2×2 или 3×3, что дает возможность выставлять особенно красивые фотографии у себя на базе!", + "quests.tfg_tips.harpoon.title": "Подвес", + "quests.tfg_tips.harpoon.subtitle": "Запасной план побега", + "quests.tfg_tips.harpoon.desc": "&dГарпун&r похож на крюк-кошку, но он всегда летит вертикально вверх и не подлежит улучшению. Зато на нём всё ещё можно раскачиваться!", + "quests.tfg_tips.coil.title": "Зиплайн", + "quests.tfg_tips.coil.subtitle": "Уииии!", + "quests.tfg_tips.coil.desc": "Если кликнуть ПКМ по двум &dЗаборам&r с помощью &3Троса&r, вы создадите зиплайн! (Навесная переправа) Над собой выстрелите гарпуном в забор с привязанным тросом, чтобы начать скольжение. Чтобы изменить натяжение троса, кликните ПКМ по тросу пустой рукой. Каждый трос — одностороний, что видно по «стрелкам» на тросе, поэтому для двунаправленного зиплайна нужны два троса. Тросы можно ставить и на другие блоки для декора, но чтобы они работали как зиплайн, должны быть именно на заборах.", + "quests.tfg_tips.self_defense.title": "Самооборона", + "quests.tfg_tips.self_defense.subtitle": "Зомби на вашем газоне", + "quests.tfg_tips.self_defense.desc": "Поставьте &3Капкан&r рядом с нажимной плитой — он полностью обездвижит любое животное (или монстра!), которое на неё наступит. Отлично подходит для ловли редких зверей в лесу или защиты дома.\n\n&3Колючая проволка&r действует пассивно и просто наносит урон всему, кто через неё проходит.", + "quests.tfg_tips.lightning_rod.title": "Громоотвод", + "quests.tfg_tips.lightning_rod.subtitle": "Лишнее напряжение", + "quests.tfg_tips.lightning_rod.desc": "Так как в TerraFirmaCraft грозы проходят куда чаще и яростнее, частые удары молний могут начать раздражать. Решить эту проблему можно с помощью &dгромоотвода&r — всего за 3 медных стержня. \n\n&dГромоотвод&r перенаправляет все молнии на себя в сферическом радиусе &3128 блоков&r. \nУчтите: он лишь &oперенаправляет&r молнии, а не нейтрализует их, поэтому пожары всё ещё могут возникать в радиусе &33 блоков&r вокруг него — ставьте его подальше от всего горючего.", "quests.tfg_tips.arborfirmacraft.title": "ArborFirmaCraft", - "quests.tfg_tips.arborfirmacraft.subtitle": "Harvesting the Life-blood of Trees", - "quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&r is a mod that adds multiple new trees to &3TFG&r: some are variants of existing TFC trees, such as &dAncient Kapok&r, while others are completely new, such as the &aBaobab&r and &aHevea.&r Some of the plank and log textures of these trees may remind you of vanilla tree colors...\n\nThis section will go over &bTree Tapping.&r\nAs a bonus, all &2ArborFirmaCraft&r woods are compatible with &3FirmaLife&r, and &3Firma:Civ&r, we made sure of it!", - "quests.tfg_tips.treetap.title": "Treetap", - "quests.tfg_tips.treetap.subtitle": "Now with less jank!", - "quests.tfg_tips.treetap.desc": "To begin &btapping&r trees, you'll need to forge a &dTree Tap&r from working &aCopper Ingots&r on an &3Anvil.&r\n\nThe process of tapping requires finding a suitable tree, a dedicated &bTapping Index&r in the &3ArborFirmaCraft&r &2Field Guide&r section will tell you how to find these trees. There's also the &bTapping Trees&r entry, which can be used to learn how to actually tap them.", - "quests.tfg_tips.find_rosin_tree.title": "Rosin Trees", - "quests.tfg_tips.find_rosin_tree.subtitle": "It's going to be chilly...", - "quests.tfg_tips.find_rosin_tree.desc": "&aRosin Trees&r can be found in &9cold&r areas of the world that receive moderate to large amounts of rainfall. It can be tapped to obtain &bPitch.&r This can be used to create both &dSticky Resin&r and &dConifer Rosin.&r\n\nTo complete this quest, you need to &clook&r at a block that has the tag &o#tfg:rosin_logs&r. You can use EMI to learn which blocks have this tag by searching with that hashtag.", - "quests.tfg_tips.find_latex_tree.title": "Latex Trees", - "quests.tfg_tips.find_latex_tree.subtitle": "Seek for the Tropics", - "quests.tfg_tips.find_latex_tree.desc": "&aLatex Trees&r can be found in &2temperate&r areas of the world that receive large amounts of rainfall. It can be tapped to obtain &bLatex&r, used to create both &dSticky Resin&r, and &dVulcanized Latex.&r The latter is used to produce &3Rubber&r and &aRubber Gloves&r, which protect you from &4poisonous materials&r on contact.\n\nTo complete this quest, you need to &clook&r at a block that has the tag &o#tfg:latex_logs&r. You can use EMI to learn which blocks have this tag by searching with that hashtag.", - "quests.tfg_tips.find_syrup_tree.title": "Syrup Trees", - "quests.tfg_tips.find_syrup_tree.subtitle": "Diabetes is Skyrocketing", - "quests.tfg_tips.find_syrup_tree.desc": "&aSyrup Trees&r can be found in &2temperate&r areas of the world that receive moderate amounts of rainfall. It can be tapped to obtain &bSyrup.&r Syrup can be used to create &dTree Sugars&r, an alternative sugar among other uses.\n\nTo complete this quest, you need to &clook&r at a block that has the tag &o#tfg:syrup_logs&r. You can use EMI to learn which blocks have this tag.", - "quests.tfg_tips.create_conifer_rosin.title": "Conifer Rosin", - "quests.tfg_tips.create_conifer_rosin.subtitle": "No, it's not Resin", - "quests.tfg_tips.create_conifer_rosin.desc": "&dConifer Rosin&r can be utilized as a &bWax&r, letting you create candles and other items.\n\nTo obtain conifer rosin, you need to boil &aConifer Pitch&r in a &3Vat&r mixed with &aCharcoal Powder.&r", - "quests.tfg_tips.create_sticky_resin.title": "Sticky Resin", - "quests.tfg_tips.create_sticky_resin.subtitle": "No, it's not Rosin", - "quests.tfg_tips.create_sticky_resin.desc": "&dSticky Resin&r can be utilized as slime balls in some recipes. It is also key in the production of &aResin Circuits&r and &aResistors&r, which you'll need a fair bit of to advance into the &7Low Voltage&r age.\n\nTo make sticky resin, you need to boil either &aLatex&r or &aConifer Pitch&r in a &3Vat&r mixed with &aWood Ash.&r", - "quests.tfg_tips.create_tree_sugar.title": "Tree Sugar", - "quests.tfg_tips.create_tree_sugar.subtitle": "Sweet!", - "quests.tfg_tips.create_tree_sugar.desc": "&dTree Sugar&r is a sugar substitute, mostly used as a food ingredient.\n\nTo make it, you'll need to boil &aTree Sap&r to get &bConcentrated Sap&r, then boil it again to get &dSyrup.&r Finally, use a workbench to turn a &bBucket of Syrup&r into &dTree sugar.&r\nKeep in mind that all these &cboiling processes require a stick&r in the &3Vat&r or &3pot.&r", + "quests.tfg_tips.arborfirmacraft.subtitle": "Cбор древесного сока", + "quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&r — мод который добавляет кучу новых видов деревьев в &3TFG&r. Некоторые из них — это вариации уже существующих деревьев из TFC, например &dСейба&r, а другие — совершенно новые, такие как &aБаобаб&r и &aГевея&r. Некоторые текстуры брёвен и досок могут показаться тебе знакомыми — они вдохновлены ванильными деревьями!\n\nВ этом разделе рассказывается о &bсборе древестного сока&r.\nКстати, вся древесина из &2ArborFirmaCraft&r полностью совместима с &3FirmaLife&r и &3Firma:Civ&r — мы специально это предусмотрели!", + "quests.tfg_tips.treetap.title": "Краник для подсочки", + "quests.tfg_tips.treetap.subtitle": "Теперь багов меньше!", + "quests.tfg_tips.treetap.desc": "Чтобы начать &bсбор сока&r с деревьев, тебе понадобится выковать &dКраник для подсочки&r («Сокосборник») из &aмедных слитков&r на &3наковальне&r. Процесс сбора требует подходящего дерева — специальный &bИндекс деревьев&r в разделе &3ArborFirmaCraft&r -> &2Полевой справочник&r подскажет, какие деревья можно использовать. Там же ты найдёшь запись &b«Сбор сока»&r, где подробно описано, как правильно устанавливать сокосборник.", + "quests.tfg_tips.find_rosin_tree.title": "Смолистые деревья", + "quests.tfg_tips.find_rosin_tree.subtitle": "", + "quests.tfg_tips.find_rosin_tree.desc": "&aСмолистые деревья&r растут в &9холодных&r районах с умеренными или обильными осадками. C них можно собирать &bХвойную смолу&r, которая используется для создания &dЛипкой резины&r и &dХвойной канифоли&r. Чтобы выполнить это задание, нужно &cпосмотреть&r на блок, имеющий тег &o#tfg:rosin_logs&r. Узнать, какие блоки обладают этим тегом, можно в EMI — просто введи этот хэштег в поиск.", + "quests.tfg_tips.find_latex_tree.title": "Каучуковые деревья", + "quests.tfg_tips.find_latex_tree.subtitle": "В поисках тропиков", + "quests.tfg_tips.find_latex_tree.desc": "&aКаучуковые&r деревья произрастают преимущественно в &2умеренных климатических зонах&r с высоким уровнем осадков. С их стволов можно собирать &bлатекс&r — ценное сырьё, применяемое для производства &dЛипкой резины&r и &dВулканизированного латекса&r. Последний служит основным материалом для изготовления &3резины&r и &aрезиновых перчаток&r, обеспечивающих защиту от &4токсичных веществ&r при непосредственном контакте. Для завершения данного задания необходимо &cвзглянуть&r на блок, обладающий тегом &o#tfg:latex_logs&r. Список соответствующих блоков можно просмотреть в интерфейсе EMI, введя данный хештег в строку поиска.", + "quests.tfg_tips.find_syrup_tree.title": "Сладкие палочки", + "quests.tfg_tips.find_syrup_tree.subtitle": "Диабет ракетит в небо", + "quests.tfg_tips.find_syrup_tree.desc": "&aСиропонесущие деревья&r встречаются в &2умеренных&r климатических зонах мира с умеренными осадками. В их можно всавить &bКраник для подсочки&r для сбора &bСиропа&r. Сироп используется для производства &dДерестных Сахаров&r — альтернативного вида сахара и других продуктов.\n\nЧтобы выполнить этот квест, необходимо &cпосмотреть&r на блок с тегом &o#tfg:syrup_logs&r. Для поиска таких блоков можно использовать EMI.", + "quests.tfg_tips.create_conifer_rosin.title": "Хвойная канифоль", + "quests.tfg_tips.create_conifer_rosin.subtitle": "Нетушки, це не разикна", + "quests.tfg_tips.create_conifer_rosin.desc": "&dХвойная канифоль&r может использоваться вместо &bвоска&r, позволяя создавать свечи и другие подобные изделия. Чтобы получить хвойную канифоль, необходимо прокипятить &aХвойную смолу&r в &3Горшке&r вместе с &aпорошком древесного угля.&r", + "quests.tfg_tips.create_sticky_resin.title": "Липкая резина", + "quests.tfg_tips.create_sticky_resin.subtitle": "И тут мимо, это не канифоль", + "quests.tfg_tips.create_sticky_resin.desc": "&dЛипкая резина&r может использоваться как сгустки слизи в некоторых рецептах. Она также является ключевым компонентом для производства &aПрорезиненных подложек&r и &aрезисторов&r, которые понадобятся вам в значительном количестве для перехода в эпоху &7низкого напряжения&r. Для получения липкой смолы необходимо кипятить: либо &aлатекс&r, либо &aхвойную смолу&r в &3Горшке&r с добавлением &aдревесной золы.&r", + "quests.tfg_tips.create_tree_sugar.title": "Древесный сахар", + "quests.tfg_tips.create_tree_sugar.subtitle": "Конфеткиии!", + "quests.tfg_tips.create_tree_sugar.desc": "&dДересный сахар&r — это заменитель сахара, который в основном используется как пищевой ингредиент. Для его приготовления необходимо прокипятить &aдревесный сок&r, чтобы получить &bконцентрированный сок&r, затем прокипятить его снова, чтобы получить &dсироп.&r Наконец, на верстаке превратите &bведро сиропа&r в &dдересный сахар.&r Имейте в виду, что все эти &cпроцессы кипячения требуют использования палочки&r в &3Горшке&r или &3Чане.&r", "quests.tfg_tips.create_tree_sugar.task": "Maple or Birch Sugar", - "quests.tfg_tips.create_rubber_ingot.title": "Rubber Ingot", - "quests.tfg_tips.create_rubber_ingot.subtitle": "Insulate them cables", - "quests.tfg_tips.create_rubber_ingot.desc": "Utilizing the &bVacuum Chamber&r and some additional heating, you can process &aLatex&r from various trees into &dRaw Rubber Pulp&r through a specific process. You can then smelt together 3 &dRaw Rubber Pulp&r with a bit of &eSulfur Dust&r in an &bAlloy Smelter&r to create &dRubber Ingots&r, perfect for insulating cables and very much necessary to advance in the &2Voltaic Age&r and beyond...", - "quests.tfg_tips.transportation.title": "Transportation", - "quests.tfg_tips.transportation.subtitle": "For travelling this vast world", - "quests.tfg_tips.transportation.desc": "The world is a very big place, you may end up travelling great distances to find specific resources for survival and advancement. The mods in this section will provide with a variety of transportation options.", - "quests.tfg_tips.glider.title": "Hang Glider", - "quests.tfg_tips.glider.subtitle": "This is not Breath of the Wild", - "quests.tfg_tips.glider.desc": "A &dHang Glider&r can be used to glide along the air. You &ccannot gain altitude&r with this but it can be useful to traverse long distances if you jump from high up.\nGreat synergy with &bJetpacks&r though!", - "quests.tfg_tips.reinforced_glider.title": "Reinforced Glider", - "quests.tfg_tips.reinforced_glider.subtitle": "Elytra well spent...?", - "quests.tfg_tips.reinforced_glider.desc": "If you combine an &aElytra&r, made in &6HV&r, with a &aHang Glider&r, you'll obtain a &dReinforced Glider.&r It has greater durability and a higher velocity ceiling.", + "quests.tfg_tips.create_rubber_ingot.title": "Слиток Резины", + "quests.tfg_tips.create_rubber_ingot.subtitle": "Изоляция кабелей", + "quests.tfg_tips.create_rubber_ingot.desc": "Используя &bВакуумную камеру&r и дополнительный нагрев, можно переработать &aлатекс&r из различных деревьев в &dнеобработанную резину&r. Затем 3 штуки &dнеобработанной резины&r вместе с небольшим количеством &eсеры&r можно выплавить в &bПечи для сплавов&r, чтобы получить &dрезиновые слитки&r — идеальные для изоляции кабелей и крайне необходимые для продвижения в &2Вольтовую эру&r и далее...", + "quests.tfg_tips.transportation.title": "Транспорт", + "quests.tfg_tips.transportation.subtitle": "Для путешествий по огромному миру", + "quests.tfg_tips.transportation.desc": "Мир очень велик, и вам, возможно, придется преодолевать огромные расстояния в поисках ресурсов для выживания и прогресса. Моды в этом разделе предлагают различные варианты транспорта.", + "quests.tfg_tips.glider.title": "Дельтаплан", + "quests.tfg_tips.glider.subtitle": "Это не Breath of the Wild", + "quests.tfg_tips.glider.desc": "&dДельтаплан&r позволяет планировать в воздухе. С ним &cнельзя набрать высоту&r, но он полезен для преодоления больших расстояний, если прыгнуть с возвышенности.\nОтлично сочетается с &bреактивными ранцами&r!", + "quests.tfg_tips.reinforced_glider.title": "Усиленный дельтаплан", + "quests.tfg_tips.reinforced_glider.subtitle": "Разумная трата элитр...?", + "quests.tfg_tips.reinforced_glider.desc": "Если объединить &aЭлитры&r (созданную в &5EV&r) с &aДельтапланом&r, вы получите &dУсиленный дельтаплан.&r Он обладает повышенной прочностью и увеличенной максимальной скоростью.", "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", - "quests.tfg_tips.immersive_aircraft.subtitle": "Fly across the skies, with style.", - "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive Aircraft&r is a mod all about aircrafts, allowing traversing large distances in the skies.", - "quests.tfg_tips.aircraft_upgrades.title": "Aircraft Upgrades", - "quests.tfg_tips.aircraft_upgrades.subtitle": "Pimp up my ride", - "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&r comes with &aAircraft Upgrades&r, which you can install in your to improve your aircraft stats, such as velocity, takeoff speed, fuel consumption, etc. There are two types of upgrades: &bregular&r and &dtiered.&r\n\nThe ones in this quest are the &bregular&r upgrades, think you can get them all?", - "quests.tfg_tips.steam_upgrades.title": "Aircraft Upgrades: Steam", - "quests.tfg_tips.steam_upgrades.subtitle": "Immersive Aircraft meets GregTech Tiering!", - "quests.tfg_tips.steam_upgrades.desc": "The second kind of aircraft upgrades are the &dTiered Upgrades.&r These are made to match the &3GregTech&r tiering system, going from &8Steam&r up to &5EV.&r\n\nSteam upgrades are the easiest and earliest to craft, requiring at the very least knowledge of &bBlack Steel.&r\n\n&dSteam-powered Aircraft Engines&r are used in the creation of more sophisticated aircrafts such as the &eBiplane&r and the &cWarship.&r", - "quests.tfg_tips.steam_upgrades.task": "Any steam tier aircraft upgrade", - "quests.tfg_tips.lv_upgrades.title": "Aircraft Upgrades: LV", - "quests.tfg_tips.lv_upgrades.subtitle": "Red and Blue, certainly not clashing.", - "quests.tfg_tips.lv_upgrades.desc": "&7LV&r upgrades are slightly better than their steam counterparts, requiring &4Red&r and &9Blue Steel&r, with the &dLV Engine&r itself requiring actual &7LV&r components.\n\n&3&lTip:&r&o You can recycle the old upgrades using &bCrushing Wheels&f, returning some of your spent materials.", - "quests.tfg_tips.lv_upgrades.task": "Any Low Voltage Tier Aircraft Upgrade", - "quests.tfg_tips.mv_upgrades.title": "Aircraft Upgrades: MV", - "quests.tfg_tips.mv_upgrades.subtitle": "Halfway there", - "quests.tfg_tips.mv_upgrades.desc": "&bMV&r upgrades are the mid-point of this progression, requiring &aAluminium&r as their main material.\n\n&aAluminium Rotors&r are used in most tier 2 aircrafts, such as the &dGyrodyne, Warship&r and the &dScarlet Biplane&r, while the &aMV Engine&r is only used in the &dScarlet Biplane.&r", - "quests.tfg_tips.mv_upgrades.task": "Any Medium Voltage Tier Aircraft Upgrade", - "quests.tfg_tips.hv_upgrades.title": "Aircraft Upgrades: HV", - "quests.tfg_tips.hv_upgrades.subtitle": "Almost there", - "quests.tfg_tips.hv_upgrades.desc": "&6HV&r upgrades are the penultimate tier of aircraft upgrades, requiring &aStainless Steel&r as their main material.", - "quests.tfg_tips.hv_upgrades.task": "Any High Voltage Tier Aircraft Upgrade", - "quests.tfg_tips.ev_upgrades.title": "Aircraft Upgrades: EV", - "quests.tfg_tips.ev_upgrades.subtitle": "Are these components even legal?", - "quests.tfg_tips.ev_upgrades.desc": "&5EV&r upgrades are the last tier of aircraft upgrades, requiring &aTitanium&r as their main material.", - "quests.tfg_tips.ev_upgrades.task": "Any Extreme Voltage Tier Aircraft Upgrade", - "quests.tfg_tips.aircraft_weapons.title": "Aircraft Weapons", - "quests.tfg_tips.aircraft_weapons.subtitle": "For the great WAAAGH, of course", - "quests.tfg_tips.aircraft_weapons.desc": "In case you want to kill something very menacing, or just conquer your enemies, you can create &dWeapons&r which can be used for destroying or maiming mobs.\n\nEach weapon can be fired by using the &cInteract&r button while riding the &bAircraft.&r Most of them (except for the &aTelescope&r) consume some sort of &aAmmo.&r", - "quests.tfg_tips.airship.title": "Airship", - "quests.tfg_tips.airship.subtitle": "Baby's first Airship", - "quests.tfg_tips.airship.desc": "The &3Airship&r is an aircraft that's relatively decent for travelling. It's main purpose however is to carry items around.\nThe Airship has a total of &b16 Inventory Slots&r, &a3 Upgrade Slots&r and &c1 Weapon Slot.&r", - "quests.tfg_tips.cargo_airship.title": "Cargo Airship", - "quests.tfg_tips.cargo_airship.subtitle": "When you need to carry your entire base into the distance", - "quests.tfg_tips.cargo_airship.desc": "Attach some extra &dEngines, Rotors&r and &d2 Wooden Crates&r, and you'll upgrade your &aAirship&r into a &3Cargo Airship.&r\n\nIt is &4more fuel hungry&r than its ordinary counterpart.\nThe Cargo Airship has a total of &b80 Inventory Slots&r, and &a4 Upgrade Slots.&r", - "quests.tfg_tips.waghship.title": "Warship", - "quests.tfg_tips.waghship.subtitle": "Otherwise known as a WAAAAGH-Ship", - "quests.tfg_tips.waghship.desc": "The &3Warship&r is the last upgrade for the &aAirship&r, containing a total of &b66 Inventory Slots&r, &a6 Upgrade Slots&r and &c2 Weapon Slots.&r", - "quests.tfg_tips.quadrocopter.title": "Quadrocopter", - "quests.tfg_tips.quadrocopter.subtitle": "Not a Quadcopter", - "quests.tfg_tips.quadrocopter.desc": "The &3Quadrocopter&r is a very basic &aHovercraft&r, containing &b6 Inventory Slots&r, a &asingle Upgrade Slot&r and a &csingle Weapon Slot.&r\n\nIt excels in simple controls, making it ideal for &ebuilding.&r", - "quests.tfg_tips.gyrodyne.title": "Gyrodyne", - "quests.tfg_tips.gyrodyne.subtitle": "Muscle-powered Copter", - "quests.tfg_tips.gyrodyne.desc": "The &3Gyrodyne&r is a unique aircraft, consuming &dno fuel&r, instead being powered exclusively by muscle. As such, it drains your &4Hunger&r.\n\nIt contains &b18 Inventory Slots&r, &a3 Upgrade Slots&r and &c1 Weapon Slot.&r", - "quests.tfg_tips.economy_plane.title": "Economy Plane", - "quests.tfg_tips.economy_plane.subtitle": "Your first Plane... Not that great though.", - "quests.tfg_tips.economy_plane.desc": "The &3Economy Plane&r is the most basic &bPlane.&r It's controlled using &opitch&r and &oyaw&r, unlike Airships, Hovercrafts and Copters.\n\nIt has &b4 Inventory Slots&r and &a4 Upgrade Slots.&r\nWhile slow, the &dEconomy Plane&r, just like the Airship, can be &2upgraded into better planes.&r", - "quests.tfg_tips.biplane.title": "Biplane", - "quests.tfg_tips.biplane.subtitle": "How come this is smaller than the Economy Plane?", - "quests.tfg_tips.biplane.desc": "The &3Biplane&r is a direct upgrade to the &bEconomy Plane&r, crafted using &aHulls, Steam-powered Aircraft Engines&r and an &aAluminium Plated Airplane Propeller.&r\n\nIt contains &b16 Inventory Slots&r, &a4 Upgrade Slots&r and &c1 Weapon Slot.&r Unlike the &dEconomy Plane&r, the &3Biplane&r can be &4boosted using rockets via a dedicated slot.&r", - "quests.tfg_tips.scarlet_biplane.title": "Scarlet Biplane", - "quests.tfg_tips.scarlet_biplane.subtitle": "What a sight to behold", - "quests.tfg_tips.scarlet_biplane.desc": "The &3Scarlet Biplane&r is one of the two final upgrades for &bPlanes&r, requiring &6HV&r components.\n\nIt contains &b27 Inventory Slots&r, &a4 Upgrade Slots&r, &c2 Weapon Slots&r, and also a &4Booster Slot&r, just like the regular biplane.\n\nWhile expensive, the &3Scarlet Biplane&r makes up for it with increased durability, increased max speed, and overall swag.", - "quests.tfg_tips.aluminium_hopper.title": "Aluminium Hopper", - "quests.tfg_tips.aluminium_hopper.subtitle": "So light it floats on water!", - "quests.tfg_tips.aluminium_hopper.desc": "The &3Aluminium Hopper&r is one of the two final upgrades for &bPlanes&r, requiring &6HV&r components.\n\nIt contains &b16 Inventory Slots&r, &a4 Upgrade Slots&r, &c2 Weapon Slots&r, 3 Seats, and also a &4Booster Slot&r, just like the regular biplane.\n\nWhile expensive, the &3Aluminium Hopper&r makes up for it with 3 total seats, and the ability to land on Water.", + "quests.tfg_tips.immersive_aircraft.subtitle": "Парите в воздухе со стилем", + "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive Aircraft&r — это мод, посвященный авиации, который позволяет преодолевать большие расстояния по воздуху.", + "quests.tfg_tips.aircraft_upgrades.title": "Улучшения для авиации", + "quests.tfg_tips.aircraft_upgrades.subtitle": "Тюнинг моей ласточки", + "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&r включает систему &aУлучшений авиации&r, которые можно установить для повышения характеристик: скорости, взлетной тяги, расхода топлива и т.д. Существует два типа улучшений: &bобычные&r и &dуровневые.&r\n\nВ этом квесте — &bобычные&r улучшения. Думаете, соберете их все?", + "quests.tfg_tips.steam_upgrades.title": "Улучшения для авиации: Паровые", + "quests.tfg_tips.steam_upgrades.subtitle": "Immersive Aircraft встречает систему уровней GregTech!", + "quests.tfg_tips.steam_upgrades.desc": "Второй тип улучшений авиации — &dуровневые улучшения.&r Они соответствуют системе уровней &3GregTech,&r начиная с &8Паровых&r и заканчивая &5EV.&r\n\nПаровые улучшения — самые простые и доступные в кратчайший срок. Для их создания потребуются минимум знаний о &bЧерной стали.&r\n\n&dСтальные бойлеры&r используются при постройке более сложных летательных аппаратов, таких как &eБиплан&r и &cВоенный дирижабль.&r", + "quests.tfg_tips.steam_upgrades.task": "Любое улучшение парового уровня для авиации", + "quests.tfg_tips.lv_upgrades.title": "Улучшения для авиации: LV", + "quests.tfg_tips.lv_upgrades.subtitle": "Красный и синий, безусловно не конфликтующие.", + "quests.tfg_tips.lv_upgrades.desc": "Улучшения уровня &7LV&r немного совершеннее своих паровых аналогов. Для их создания потребуются &4Красная&r и &9Синяя сталь&r, а также понадобятся компоненты &7LV&r для изготовления самого &dдвигателя LV&r.\n\n&3&lСовет:&r&o Старые улучшения можно переработать с помощью &bДробильных колес&f, вернув часть потраченных материалов.", + "quests.tfg_tips.lv_upgrades.task": "Любое улучшение уровня LV для авиации", + "quests.tfg_tips.mv_upgrades.title": "Улучшения для авиации: MV", + "quests.tfg_tips.mv_upgrades.subtitle": "На полпути", + "quests.tfg_tips.mv_upgrades.desc": "Улучшения &bMV&r представляют собой среднюю ступень в этой линейке, где основным материалом выступает &aАлюминий&r.\n\n&aАлюминиевые роторы&r используются в большинстве авиации второго уровня, таких как &dВинтокрыл, Военный дирижабль&r и &dАлый биплан&r. При этом &aДвигатель MV&r применяется исключительно в &dАлом биплане.&r", + "quests.tfg_tips.mv_upgrades.task": "Любое улучшение уровня MV для авиации", + "quests.tfg_tips.hv_upgrades.title": "Улучшения для авиации: HV", + "quests.tfg_tips.hv_upgrades.subtitle": "Почти у цели", + "quests.tfg_tips.hv_upgrades.desc": "Улучшения &6HV&r — предпоследний уровень улучшений для авиации, где основным материалом выступает &aНержавеющая сталь&r.", + "quests.tfg_tips.hv_upgrades.task": "Любое улучшение уровня HV для авиации", + "quests.tfg_tips.ev_upgrades.title": "Улучшения для авиации: EV", + "quests.tfg_tips.ev_upgrades.subtitle": "Разве эти компоненты вообще законны?", + "quests.tfg_tips.ev_upgrades.desc": "Улучшения &5EV&r — высший уровень авиационных улучшений, для которых требуется &aТитан&r в качестве основного материала.", + "quests.tfg_tips.ev_upgrades.task": "Любое улучшение уровня EV для авиации", + "quests.tfg_tips.aircraft_weapons.title": "Авиационное вооружение", + "quests.tfg_tips.aircraft_weapons.subtitle": "За великий ВАААГХ! конечно же", + "quests.tfg_tips.aircraft_weapons.desc": "Если вам нужно уничтожить что-то очень угрожающее или просто покорить врагов, вы можете создать &dоружие&r для уничтожения или увечья мобов.\n\nКаждое оружие можно активировать кнопкой &cВзаимодействия&r во время управления &bавиацей.&r Большинство из них (кроме &aТелескопа&r) расходуют &aбоеприпасы.&r", + "quests.tfg_tips.airship.title": "Дирижабль", + "quests.tfg_tips.airship.subtitle": "Первый дирижабль для малышей", + "quests.tfg_tips.airship.desc": "&3Дирижабль&r — достаточно удобное воздушное судно для путешествий. Однако его основное назначение — транспортировка грузов.\nДирижабль имеет &b16 слотов инвентаря&r, &a3 слота для улучшений&r и &c1 слот для оружия.&r", + "quests.tfg_tips.cargo_airship.title": "Грузовой дирижабль", + "quests.tfg_tips.cargo_airship.subtitle": "Когда нужно перевезти всю базу за тридевять земель", + "quests.tfg_tips.cargo_airship.desc": "Добавьте дополнительные &dДвигатели, Роторы&r и &d2 Деревянных ящика&r, чтобы превратить ваш &aДирижабль&r в &3Грузовой дирижабль.&r\n\nОн &4потребляет больше топлива&r, чем обычная модель.\nГрузовой дирижабль имеет &b80 слотов инвентаря&r и &a4 слота для улучшений.&r", + "quests.tfg_tips.waghship.title": "Военный дирижабль", + "quests.tfg_tips.waghship.subtitle": "Также известен как ВААААГХ-дирижабль", + "quests.tfg_tips.waghship.desc": "&3Военный дирижабль&r — это последняя модернизация &aДирижабля&r, имеющая &b66 слотов инвентаря&r, &a6 слотов для улучшений&r и &c2 слота для оружия.&r", + "quests.tfg_tips.quadrocopter.title": "Квадрокоптер", + "quests.tfg_tips.quadrocopter.subtitle": "Не кроптель", + "quests.tfg_tips.quadrocopter.desc": "&3Квадрокоптер&r — это простейший &aтранспорт на воздушной подушке&r с &b6 слотами инвентаря&r, &aодним слотом для улучшений&r и &cодним слотом для оружия.&r\n\nБлагодаря простому управлению идеально подходит для &eстроительных работ.&r", + "quests.tfg_tips.gyrodyne.title": "Винтокрыл", + "quests.tfg_tips.gyrodyne.subtitle": "Мускулистый коптер", + "quests.tfg_tips.gyrodyne.desc": "&3Вентокрыл&r — уникальный летательный аппарат, не требующий &dтоплива&r и работающий исключительно на мускульной силе, что истощает вашу &4Сытость&r.\n\nОн имеет &b18 слотов инвентаря&r, &a3 слота для улучшений&r и &c1 слот для оружия&r.", + "quests.tfg_tips.economy_plane.title": "Экономичный самолет", + "quests.tfg_tips.economy_plane.subtitle": "Твой первый самолет... Хотя не так уж хорош.", + "quests.tfg_tips.economy_plane.desc": "&3Экономичный самолет&r — это самый базовый &bсамолет.&r В отличие от дирижаблей, судна на воздушной подушке и коптеров, он управляется с помощью &oтангажа&r и &oрыскания.&r\n\nУ него есть &b4 слота инвентаря&r и &a4 слота для улучшений.&r\nХотя &dэкономичный самолет&r медленный, его, как и дирижабль, можно &2улучшить в более продвинутые модели.&r", + "quests.tfg_tips.biplane.title": "Биплан", + "quests.tfg_tips.biplane.subtitle": "Как он стал меньше Экономичного самолета?", + "quests.tfg_tips.biplane.desc": "&3Биплан&r — это прямая улучшенная версия &bЭкономичного самолета&r, создаваемая с использованием &aКорпусов, паровых бойлеров&r и &aусовершенственого пропеллера.&r\n\nОн содержит &b16 слотов инвентаря&r, &a4 слота для улучшений&r и &c1 слот для оружия.&r В отличие от &dЭкономичног самолёта&r, &3Биплан&r можно &4ускорить с помощью ракет через специальный слот.&r", + "quests.tfg_tips.scarlet_biplane.title": "Алый биплан", + "quests.tfg_tips.scarlet_biplane.subtitle": "Великолепное зрелище", + "quests.tfg_tips.scarlet_biplane.desc": "&3Алый биплан&r — это один из двух финальных улучшений для &bсамолетов&r, требующий компоненты &6HV&r уровня.\n\nОн оснащен: &b27 слотами инвентаря,&r &a4 слотами для улучшений,&r &c2 слотами для оружия,&r &4слотом для ускорителей&r (как у обычного биплана).\n\nНесмотря на высокую стоимость, &3Алый биплан&r компенсирует это: повышенной прочностью, увеличенной максимальной скоростью, непревзойдённым стилем.", + "quests.tfg_tips.aluminium_hopper.title": "Алюминиевая воронка", + "quests.tfg_tips.aluminium_hopper.subtitle": "Настолько легкая, что не тонет!", + "quests.tfg_tips.aluminium_hopper.desc": "&3Алюминиевая воронка&r — одна из двух финальных модернизаций для &bСамолётов&r, требующая &6HV&r компонентов. Вмещает &b16 слотов для инвентаря&r, &a4 слота для улучшений&r, &c2 слота для оружия&r, 3 посадочных места и &4 слот для ускорителя&r, как и обычный биплан. Несмотря на высокую цену, &3Алюминиевая воронка&r компенсирует это тремя посадочными местами и возможностью приземляться на воду.", "quests.tfg_tips.firmaciv.title": "Firma: Civilization", - "quests.tfg_tips.firmaciv.subtitle": "Sail across the seas, with style.", - "quests.tfg_tips.firmaciv.desc": "&2Firma: Civilization&r is a mod all about boats and traversing large bodies of water. It can also be used for creating tools that help you position yourself in the world.\nAs always, the &2Field Guide&r contains deeper details than the following quests.\n\n&3&lTip:&r&o Rowing down river is much faster... Consider settling near a river if you haven't already.", + "quests.tfg_tips.firmaciv.subtitle": "Рассекай моря со стилем.", + "quests.tfg_tips.firmaciv.desc": "Мод &2Firma: Civilization&r посвящен лодкам и преодолению больших водных пространств. Он также позволяет создавать инструменты для ориентации в мире.\nКак всегда, &2Полевое руководство&r содержит более подробную информацию, чем эти квесты.\n\n&3&lСовет:&r&o Гребля вниз по течению значительно быстрее... Подумайте о поселении у реки, если еще этого не сделали.", "quests.tfg_tips.firmaciv_info.title": "Voyage Gadgets", - "quests.tfg_tips.firmaciv_info.subtitle": "In case you care for realism", - "quests.tfg_tips.firmaciv_info.desc": "&3Firma:Civ&r comes with 4 different navigational tools, each giving you important information about your position in the world.\nIncludes the &dSextant&r, &dNavigator's Timepiece&r, &dBarometer&r, and &dCompass&r; more information about the tools in the &2Field Guide.&r\n\n&3&lLore:&r&o: Firma:Civ by default removes coordinates to make you use its navigational tools. We can't do that here, so uh, use them if you want to LARP.", - "quests.tfg_tips.warfare.title": "Sea Warfare", - "quests.tfg_tips.warfare.subtitle": "FIRE ALL CANNONS!", - "quests.tfg_tips.warfare.desc": "You can outfit your &bSloop&r with firepower via the &dCannon&r and cannon balls, in case you want to blow something to smithereens.\nTo fire a cannon, you'll need to load it with some &aGunpowder, Unrefined Paper&r and your &aCannon Ball&r. Then light the wick with &cFlint and Steel.&r", - "quests.tfg_tips.kayak_materials.title": "The Kayak", - "quests.tfg_tips.kayak_materials.subtitle": "Get yourself that Kayak.", - "quests.tfg_tips.kayak_materials.desc": "The &dKayak&r is the second most simple boat you can craft, requiring &bWaxes&r for the &aWaterproof Hides&r. It is also the &conly&r boat that can be picked up as an item. Despite having a &dsingle passenger&r slot, it is the fastest boat in the game until the steel age &dSloop!&r", - "quests.tfg_tips.create_kayak.title": "Complete the Kayak", - "quests.tfg_tips.create_kayak.subtitle": "Happy Kayak-ing!", - "quests.tfg_tips.create_kayak.desc": "With the &dKayak&r in hand, you can now enjoy your quick solo journeys on water. Make sure you craft a &bKayak Paddle&r (the canoe one won't work!) to go even faster!", - "quests.tfg_tips.beneathxfirmaciv.title": "Disclaimer regarding Beneath and Firma:Civ", - "quests.tfg_tips.beneathxfirmaciv.subtitle": "Read this, otherwise you may regret it", - "quests.tfg_tips.beneathxfirmaciv.desc": "While you can make &dCanoes, Rowboats&r and &dSloops&r out of &dCrimson&r and &3Warped Stems&r, boats made out of these fireproof logs &4ARE NOT&r resistant to lava! If you try to traverse a lava lake with these you &lwill&r sink and die a horrible death!", - "quests.tfg_tips.canoe_materials.title": "The Canoe", - "quests.tfg_tips.canoe_materials.subtitle": "It doesn't get simpler than this", - "quests.tfg_tips.canoe_materials.desc": "The &dCanoe&r is the easiest boat to craft. Note that only certain kinds of &aStripped Logs&r work, the task above tells you which are eligible &bSoftwood&r.\nThe &2Field Guide&r provides details about its unique construction.\n\nThis boat can carry one extra player/entity other than the navigator, or a chest.", - "quests.tfg_tips.canoe_materials.task": "Some sort of Fire Starter", - "quests.tfg_tips.create_canoe.title": "Complete the Canoe", - "quests.tfg_tips.create_canoe.subtitle": "Happy Canoe-ing!", - "quests.tfg_tips.create_canoe.desc": "With the &dCanoe&r, traversing bodies of water in the early game will now be possible. Make sure you create a &bCanoe Paddle&r so you can go faster!\n\nTo complete the first task of this quest, you need to look at the finished &dCanoe.&r\n\n&3&lTip:&r&o Two players, both equipped with paddles, can achieve a higher top speed together in the same canoe. Multiplayer only of course!", - "quests.tfg_tips.rowboat_materials.title": "The Rowboat", - "quests.tfg_tips.rowboat_materials.subtitle": "Get ready for some work now.", - "quests.tfg_tips.rowboat_materials.desc": "Requiring more complex materials, locking it to the iron age, the &dRowboat&r has capacity for &b2 passengers and 2 storage&r, or &c4 storage with no passengers.&r\nYou'll need to find some sort of &aHardwood&r, detailed in the &2Field Guide&r, which also includes the construction process.\n\nKeep in mind the boat must be constructed with the same wood! Do not mix different kinds of hardwoods.", - "quests.tfg_tips.create_rowboat.title": "Complete the Rowboat", - "quests.tfg_tips.create_rowboat.subtitle": "Happy Rowboat-ing!", - "quests.tfg_tips.create_rowboat.desc": "With the &dRowboat&r, you can now transport a decent amount of items across the oceans, perfect for overseas exploration, perhaps to the tropics! Make sure you create two &bOars&r so you can go faster!\nYou can also dye it!\n\nTo complete the first task of this quest, you need to look at any finished &dRowboat.&r\n\n&3&lTips:&r&o Two passenger slots? Perfect for bringing home pairs of breeding animals for your farm through a river system or across lakes and oceans.", - "quests.tfg_tips.sloop_under_construction_materials.title": "The Sloop", - "quests.tfg_tips.sloop_under_construction_materials.subtitle": "The Great Pirate Era has begun", - "quests.tfg_tips.sloop_under_construction_materials.desc": "The &dSloop&r is the most advanced seaworthy vessel, requiring &aSteel.&r It has ample space for storage, anvils and workbenches! It is incredibly expensive and requires practice to sail. The &2Field Guide&r has all the details for construction and on how to sail.\n\nAgain, do not attempt to mix up different kinds of hardwoods in the same vessel.", - "quests.tfg_tips.sloop_under_construction_materials.task": "16x of any Hardwood Lumber", - "quests.tfg_tips.create_sloop.title": "Complete the Sloop", - "quests.tfg_tips.create_sloop.subtitle": "Where's the Wind Waker when you need it?", - "quests.tfg_tips.create_sloop.desc": "With the &dSloop&r, traversing large sized bodies of water should be relatively easy. To make sure you dont end up at the mercy of the wind you can lower your Anchor to stop in place.\nYou can also dye your sails with dye of your choice!\n\nTo complete the task of this quest, you need to look at any finished &dSloop.&r\n\n&3&lTip:&r&o Try not to sail through rivers with a sloop, it will likely NOT work as expected!", - "quests.tfg_tips.fishing_net.title": "Fishing Nets", - "quests.tfg_tips.fishing_net.subtitle": "Not the socks, sorry.", - "quests.tfg_tips.fishing_net.desc": "Fish have never been so easy to catch. A right-click away from a hearty meal.", - "quests.tfg_tips.fishing_net.task": "Any #forge:tools/fishing_nets", + "quests.tfg_tips.firmaciv_info.subtitle": "Для ценителей реализма", + "quests.tfg_tips.firmaciv_info.desc": "Мод &3Firma:Civ&r включает 4 навигационных инструмента, каждый из которых предоставляет важную информацию о вашем местоположении в мире.\nВключая: &dСекстант&r, &dМорской хронометр&r, &dБарометр&r и &dКомпас&r; Подробнее об инструментах описано в &2Полевом руководстве.&r\n\n&3&lЗаметка:&r&o: Firma:Civ по умолчанию убирает координаты, чтобы вы использовали ее навигационные инструменты. Здесь мы так не делаем, так что... используйте их, если хотите по-настоящему погрузиться в ролевые игры.", + "quests.tfg_tips.warfare.title": "Морские баталии", + "quests.tfg_tips.warfare.subtitle": "ОГОНЬ ИЗ ВСЕХ ОРУДИЙ!", + "quests.tfg_tips.warfare.desc": "Вы можете оснастить свой &bШлюп&r огневой мощью, установив &dПушку&r и запас ядер — если хотите разнести что-нибудь в щепки.\nДля выстрела потребуется: &aПорох, Грубая бумага&r, &aПушечное ядро&r. После зарядки подожгите фитиль с помощью &cОгнива.&r", + "quests.tfg_tips.kayak_materials.title": "Каяк", + "quests.tfg_tips.kayak_materials.subtitle": "Раздобудь себе этот Каяк.", + "quests.tfg_tips.kayak_materials.desc": "&dКаяк&r — вторая по простоте лодка в игре. Для его создания потребуются &bВоски&r для изготовления &aВодонепроницаемых шкур&r. Это &cединственная&r лодка, которую можно подобрать как предмет. Несмотря на &dодно пассажирское место&r, это самая быстрая лодка в игре до появления &dШлюпа&r стальной эпохи!", + "quests.tfg_tips.create_kayak.title": "Завершение создания Каяка", + "quests.tfg_tips.create_kayak.subtitle": "Счастливого каякинга!", + "quests.tfg_tips.create_kayak.desc": "Теперь с &dКаяком&r в руках ты можешь наслаждаться быстрыми одиночными путешествиями по воде. Не забудь создать &bВесло для каяка&r (обычное весло для каноэ не подойдет!), чтобы плыть еще быстрее!", + "quests.tfg_tips.beneathxfirmaciv.title": "Важное предупреждение о Бездне и Firma:Civ", + "quests.tfg_tips.beneathxfirmaciv.subtitle": "Прочти, чтобы не пожалеть", + "quests.tfg_tips.beneathxfirmaciv.desc": "Хотя вы можете сделать &dКаноэ, Каяк&r и &dГребную лодку&r из &dБагровой&r и &3Искаженной древесины&r, лодки из этих огнестойких бревен &4НЕ&r устойчивы к лаве! Если вы попытаетесь переплыть лавовое озеро на такой лодке, вы &lутонете&r и умрёте ужасной смертью!", + "quests.tfg_tips.canoe_materials.title": "Каноэ", + "quests.tfg_tips.canoe_materials.subtitle": "Проще некуда", + "quests.tfg_tips.canoe_materials.desc": "&dКаноэ&r — самая простая в изготовлении лодка. Обратите внимание, что подходят только определенные виды &aОбтесанных бревен&r; в задачах выше указано, какую именно &bдревесину&r можно использовать.\nПодробности об уникальной конструкции смотрите в &2Полевом руководстве&r.\n\nЭта лодка может перевозить одного дополнительного игрока/сущность.", + "quests.tfg_tips.canoe_materials.task": "Какое либо огниво", + "quests.tfg_tips.create_canoe.title": "Завершение создания Каноэ", + "quests.tfg_tips.create_canoe.subtitle": "Счастливого каноэнга!", + "quests.tfg_tips.create_canoe.desc": "С помощью &dКаноэ&r путешествия по водным просторам на ранних этапах игры станут возможны. Не забудьте создать &bВесло для каноэ&r, чтобы двигаться быстрее!\n\nДля выполнения первого задания этого квеста необходимо посмотреть на готовое &dКаноэ.&r\n\n&3&lСовет:&r&o Два игрока с веслами в одном каноэ могут достичь большей скорости. Работает только в мультиплеере, конечно же!", + "quests.tfg_tips.rowboat_materials.title": "Гребная лодка", + "quests.tfg_tips.rowboat_materials.subtitle": "Приготовься поработать.", + "quests.tfg_tips.rowboat_materials.desc": "&dГребная лодка&r требует более сложных материалов и доступна только в Железном веке. &dГребная лодка&r вмещает: &b2 пассажира и 2 слота под хранилище&r или &c4 слота под хранилище без пассажиров.&r\nВам также понадобится определенная &aдревесина&r. Подробности в &2Полевом руководстве&r, где также описан процесс постройки.\n\nВажно: лодка должна быть полностью построена из одного вида древесины! Не смешивайте разные типы дерева.", + "quests.tfg_tips.create_rowboat.title": "Завершение создания Гребной лодки", + "quests.tfg_tips.create_rowboat.subtitle": "Счастливого гребевства!", + "quests.tfg_tips.create_rowboat.desc": "С помощью &dГребной лодкой&r вы можете перевозить приличное количество предметов через океаны, идеально подходит для заморских исследований, возможно, для путешествий в тропики! Не забудьте создать два &bВесла&r для большей скорости!\nЛодку можно покрасить!\n\nДля выполнения первого задания этого квеста нужно посмотреть на готовую &dГребную лодку.&r\n\n&3&lСовет:&r&o Два пассажирских места? Отлично подходят для перевозки пар животных на ферму через реки, озера или океаны.", + "quests.tfg_tips.sloop_under_construction_materials.title": "Шлюп", + "quests.tfg_tips.sloop_under_construction_materials.subtitle": "Началась Великая Пиратская эра", + "quests.tfg_tips.sloop_under_construction_materials.desc": "&dШлюп&r — самое продвинутое морское судно, для которого требуется &aСталь.&r У него много места для под хранилища, наковален и верстаков! Оно невероятно дорогое и требует практики для управления. Все детали постройки и управления есть в &2Полевом руководвстве&r.\n\nИ снова: не пытайтесь использовать разные виды древесины для одного судна.", + "quests.tfg_tips.sloop_under_construction_materials.task": "16x любых досок", + "quests.tfg_tips.create_sloop.title": "Завершение создания Шлюпа", + "quests.tfg_tips.create_sloop.subtitle": "Где же Wind Waker, когда он так нужен?", + "quests.tfg_tips.create_sloop.desc": "С помощью &dШлюпа&r путешествие по крупным водоемам должно быть относительно простым. Чтобы не оказаться во власти ветра, вы можете опустить якорь и остановиться на месте.\nПаруса можно покрасить в любой цвет на ваш выбор!\n\nДля выполнения задания этого квеста необходимо посмотреть на любой готовый &dШлюп.&r\n\n&3&lСовет:&r&o Не пытайтесь проплыть на Шлюпе по рекам — скорее всего, это НЕ сработает как ожидалось!", + "quests.tfg_tips.fishing_net.title": "Рыболовная сеть", + "quests.tfg_tips.fishing_net.subtitle": "Не носки, извините.", + "quests.tfg_tips.fishing_net.desc": "Ловить рыбу еще никогда не было так просто. Всего лишь ПКМ — и сытная еда у вас в руках.", + "quests.tfg_tips.fishing_net.task": "Любой #forge:tools/fishing_nets", "quests.tfg_tips.astikorcarts.title": "TFC Astikor Carts", - "quests.tfg_tips.astikorcarts.subtitle": "Overland routes", - "quests.tfg_tips.astikorcarts.desc": "&2TFC Astikor Carts&r provide early game transport options for land travel for both mobs and items.\nCarts can be manually pulled by &cplayers&r (very slow if they are full!) or by &bequine animals&r, such as horses.\n\nRemember to use the &4\"Action Key\" keybind (default R)&r to attach or de-attach yourself or the animal you are riding to the cart.", - "quests.tfg_tips.equines.title": "Horse Riding", - "quests.tfg_tips.equines.subtitle": "Stallion of the Cimarron", - "quests.tfg_tips.equines.desc": "Find yourself either a &bHorse, Donkey&r or &bMule&r and build up enough &afamiliarity&r to let them ride you with your trusty &aSaddle&r, knapped from leather.\nIn addition, they can pull &dCarts&r without speed penalties!\n\n&bHorses&r are great for exploring the interior of continents effortlessly in the early game, and can be bred for better stats.\n\n&bDonkeys and Mules&r can carry an extra chest or even a barrel without a &2Supply Cart.&r\n\nAs always, more information (such as spawning conditions) in the &2Field Guide.&r\n\n&3&lTip:&r&o Want to horse-ride on a different continent across the ocean? Don't worry, you can bring along your trusty ride on certain boats!", - "quests.tfg_tips.supply_cart.title": "Supply Cart", - "quests.tfg_tips.supply_cart.subtitle": "Carry All", - "quests.tfg_tips.supply_cart.desc": "With a whopping &c54&r slots, &dSupply Carts&r can carry a large amount of items &aregardless of their weight&r, even anvils!\nPerfect for exploration, mining and logging trips, or for moving bases!", - "quests.tfg_tips.animal_cart.title": "Animal Cart", - "quests.tfg_tips.animal_cart.subtitle": "Animal Kidnapper Machine", - "quests.tfg_tips.animal_cart.desc": "The &dAnimal Cart&r allows you transport up to 3 animals across land.\nPerfect for collecting breeding pairs for your livestock farms! Simply run over an animal with the cart. &cShift-right click&r to dismount all animals.", - "quests.tfg_tips.plow.title": "Plow", - "quests.tfg_tips.plow.subtitle": "Large Scale Farming", - "quests.tfg_tips.plow.desc": "If there ever comes the need to till large sections of land for some megafarms, the &dPlow&r can come in clutch.", - "quests.tfg_tips.horseshoes.title": "Horseshoes", - "quests.tfg_tips.horseshoes.subtitle": "Fashionable Equine Footwear", - "quests.tfg_tips.horseshoes.desc": "&aHorseshoes&r are an accessory for your equine companions that boost their &9speed&r, &dfall resistance&r, and &cstep height&r at higher tiers.", - "quests.tfg_tips.horseshoes.task": "Any Horseshoes", - "quests.tfg_tips.hiking_boots.title": "Hiking Boots", - "quests.tfg_tips.hiking_boots.subtitle": "\uD83C\uDFB5 and I would walk five hundred miles", - "quests.tfg_tips.hiking_boots.desc": "&aHiking Boots&r prevent tall grass from slowing you down, increase your safe fall height, and can even give you some extra step height and walking speed. They don't provide as much protection as proper metal armor, but if you're not actually fighting something, these are well worth the trade-off!", - "quests.tfg_tips.hiking_boots.task": "Any Hiking Boots", + "quests.tfg_tips.astikorcarts.subtitle": "Сухопутные маршруты", + "quests.tfg_tips.astikorcarts.desc": "&2TFC Astikor Carts&r предоставляет возможности транспортировки по суше в начале игры как для мобов, так и для предметов.\nТележки могут тянуться вручную &cигроками&r (очень медленно при полной загрузке!) или &bоднокопытными животными&r, такими как лошади.\n\nНе забудьте использовать &4\"Клавиша действия\" (по умолчанию R)&r, чтобы прикрепить или открепить себя или животное, на котором вы едете, к телеге.", + "quests.tfg_tips.equines.title": "Езда на лошадях", + "quests.tfg_tips.equines.subtitle": "Душа прерий", + "quests.tfg_tips.equines.desc": "Найдите себе &bЛошадь, Осла&r или &bМула&r и повысьте &aПрирученность&r, чтобы оседлать их с помощью &aСедла&r, изготовленного из кожи.\nКроме того, они могут тянуть &dТелеги&r без штрафа к скорости!\n\n&bЛошади&r идеальны для исследования континентов на ранних этапах игры, а их характеристики можно улучшать через разведение.\n\n&bОслы и мулы&r могут перевозить дополнительный сундук или даже бочку без необходимости в &2Грузовой тележке.&r\n\nКак всегда, подробности (включая условия появления) в &2Полевом руководстве.&r\n\n&3&lСовет:&r&o Хотите покататься на лошади по другому континенту за океаном? Не волнуйтесь, вы можете взять с собой своего верного скакуна на определенных лодках!", + "quests.tfg_tips.supply_cart.title": "Грузовая тележка", + "quests.tfg_tips.supply_cart.subtitle": "Уноси все", + "quests.tfg_tips.supply_cart.desc": "Имея целых &c54&r слотов, &dГрузовые тележки&r могут перевозить большое количество предметов &aнезависимо от их веса&r, даже наковальни!\nИдеально подходят для исследований, шахтерства и заготовки бревен, или для переезда баз!", + "quests.tfg_tips.animal_cart.title": "Скотовоз", + "quests.tfg_tips.animal_cart.subtitle": "Киднеппинг животных", + "quests.tfg_tips.animal_cart.desc": "&dСкотовоз&r позволяет перевозить до 3 животных по суше.\nИдеально подходит для доставки пар животных на ваши фермы! Просто наезжайте на животное тележкой. &cShift + ПКМ&r, чтобы выгрузить всех животных.", + "quests.tfg_tips.plow.title": "Плуг", + "quests.tfg_tips.plow.subtitle": "Крупномасштабное земледелие", + "quests.tfg_tips.plow.desc": "Если вам когда-нибудь понадобится вспахать большие участки земли для мегаферм, &dПлуг&r может выручить.", + "quests.tfg_tips.horseshoes.title": "Подковы", + "quests.tfg_tips.horseshoes.subtitle": "Хайповые землетрясы для скакуна", + "quests.tfg_tips.horseshoes.desc": "&aПодковы&r — аксессуар для вашего скакуна, который повышает их &9скорость&r, &dустойчивость к падениям&r и &cвысоту прыжка&r на более высоких уровнях.", + "quests.tfg_tips.horseshoes.task": "Любые подковы", + "quests.tfg_tips.hiking_boots.title": "Походные ботинки", + "quests.tfg_tips.hiking_boots.subtitle": "\uD83C\uDFB5 и я бы прошел тысячу километров", + "quests.tfg_tips.hiking_boots.desc": "&aПоходные ботинки&r предотвращают замедление при ходьбе по высокой траве, увеличивают безопасную высоту падения и могут даже добавить немного высоты шага и скорости передвижения. Они не дают такой же защиты, как настоящие металлические доспехи, но если вы не сражаетесь, это отличный компромисс!", + "quests.tfg_tips.hiking_boots.task": "Любые походные ботинки", "quests.tfg_tips.firmalife.title": "Firmalife", - "quests.tfg_tips.firmalife.subtitle": "Thrive in TerraFirmaCraft", - "quests.tfg_tips.firmalife.desc": "&2Firmalife&r is a mod all about extending the agricultural and gastronomic experience in TerraFirmaCraft, with touches of miscellaneous features. Includes things such as decorations, more preservation methods, new foods, bees and a plethora of useful gadgets!", - "quests.tfg_tips.greenhouse.title": "Greenhouse", - "quests.tfg_tips.greenhouse.subtitle": "Grow your crops 24/7!", - "quests.tfg_tips.greenhouse.desc": "The &dGreenhouse&r is a complex multiblock structure with multiple tiers, used to grow crops all year round at the expense of yield. Check out its entry in the &2Field Guide&r for more information!", + "quests.tfg_tips.firmalife.subtitle": "Разраститесь в TerraFirmaCraft", + "quests.tfg_tips.firmalife.desc": "&2Firmalife&r — это мод, полностью посвященный расширению аграрного и гастрономического опыта в TerraFirmaCraft, с добавлением различных особенностей. Он включает в себя такие элементы, как декорации, больше способов консервирования, новая еда, пчелы и множество полезных приспособлений!", + "quests.tfg_tips.greenhouse.title": "Теплица", + "quests.tfg_tips.greenhouse.subtitle": "Выращивай свои культуры 24/7!", + "quests.tfg_tips.greenhouse.desc": "&dТеплица&r — сложная многоблочная структура с несколькими уровнями, позволяющая выращивать урожай круглый год ценой снижения продуктивности. Подробности смотрите в &2Полевом руководстве&r!", "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.beekeeping.title": "Beekeeping", - "quests.tfg_tips.beekeeping.subtitle": "They're so small now...", + "quests.tfg_tips.beekeeping.title": "Пчеловодство", + "quests.tfg_tips.beekeeping.subtitle": "Теперь они такие маленькие...", "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.", - "quests.tfg_tips.beehive.title": "Beehive", - "quests.tfg_tips.beehive.subtitle": "Time for some rng...", - "quests.tfg_tips.beehive.desc": "To begin your journey as a beekeeper, you'll need both a &bBeehive&r and a &aBeehive Frame.&r\nUnlike regular Minecraft, hives do not spawn naturally, instead bees only spawn in player-made &bBeehives&r with frames populated by &eQueens.&r The chance for a queen to populate your frame is tied to RNG, but you can increase your odds by placing &dflowers&r around the hive.\n\nOnce your frames is populated, it'll begin spawning bees which will produce honey.", - "quests.tfg_tips.not_the_bees.title": "Beekeeper Armor", - "quests.tfg_tips.not_the_bees.subtitle": "NOT THE BEES!", - "quests.tfg_tips.not_the_bees.desc": "Bees don't like it when people disrupt them and harvest their precious honey and wax. There are three ways to do it safely:\n\n* &dHarvesting at night time&r\n* &dUsing a campfire&r\n* &dUsing Beekeeper Armor&r", - "quests.tfg_tips.not_the_bees.task": "I'll use either the Campfire or wait for Nightfall.", - "quests.tfg_tips.honey.title": "Honey", - "quests.tfg_tips.honey.subtitle": "Oh bother...", - "quests.tfg_tips.honey.desc": "With an &aEmpty Jar&r made from &bglassblowing&r, you can right-click a hive filled with honey to obtain a &dHoney Jar.&r Honey is an excellent sugar substitute.", - "quests.tfg_tips.beeswax.title": "Beeswax", - "quests.tfg_tips.beeswax.subtitle": "A worthy sacrifice", - "quests.tfg_tips.beeswax.desc": "If you right-click a &aFrame&r that houses a &bQueen Bee&r with a &cKnife&r, you will clear out the frame, killing the queen, and obtaining &dWax.&r\n\n&3&lTip:&r&o You can sacrifice &bQueens&f with bad or lower traits to encourage breeding better traits over time, as the other frames will fill out the missing one using their own traits.", - "quests.tfg_tips.candles.title": "Candles", - "quests.tfg_tips.candles.subtitle": "Cozy...", - "quests.tfg_tips.candles.desc": "Candles can be crafted using &aParaffix Wax, Beeswax&r or &aRosin.&r\nCandles are the better light source compared to torches, staying lit for 1 month and 2 days.", - "quests.tfg_tips.oven.title": "Oven", - "quests.tfg_tips.oven.subtitle": "Caution, it's hot", - "quests.tfg_tips.oven.desc": "The &3Oven&r is a multiblock structure that can be used to easily cook foods as well as perform exclusive recipes. The &aBottom Oven, Top Oven&r and the &aChimney&r are mandatory components. And don't forget to use &dTongs&r to pick up food from the &aTop Oven.&r\nMore information on how to build an &3Oven&r can be found in the &2Field Guide.&r\n\n&3&lTip:&r&o: The only food that can satisfy all 5 nutrient groups, &cPizza&f, must be cooked in an oven.", - "quests.tfg_tips.oven_appliances.title": "Oven Appliances", - "quests.tfg_tips.oven_appliances.subtitle": "Get more out of your Ovens", - "quests.tfg_tips.oven_appliances.desc": "&3Oven Appliances&r are optional components that must be placed on top of &aBottom Ovens&r to receive heat. Remember you can have &cmultiple&r &aBottom Ovens&r in a single multiblock.\n\n&dWrought Iron Grill&r: Allows you to cook food at a much faster rate and provides a &cbonus&r to shelf life.\n&dVat&r: can process pot recipes in bulk! Extremely useful for making &eLatex&r and &aJam.&r\n&dJarring Station&r: must be place next to a &bVat&r, fills up jars with &aJam.&r\n&dPot&r: if you need to cook soups.", - "quests.tfg_tips.oven_finish.title": "Oven Finishes", - "quests.tfg_tips.oven_finish.subtitle": "Fancy", - "quests.tfg_tips.oven_finish.desc": "In case the look of clay bricks don't suit you, you can apply &bFinishes&r to most oven components to change the look of your multiblock.", - "quests.tfg_tips.oven_finish.task": "Any Oven Finish", - "quests.tfg_tips.oven_utils.title": "Oven Utilities", - "quests.tfg_tips.oven_utils.subtitle": "You may want these", - "quests.tfg_tips.oven_utils.desc": "The &dAsh Tray&r, placed below a &aBottom Oven&r, has a chance to collect &cWood Ash&r from burning logs. Right-click to get out the ash.\n\nThe &dOven Hopper&r inserts logs into a &bBottom Oven&r facing it, useful for automation.", - "quests.tfg_tips.jam.title": "Jam", - "quests.tfg_tips.jam.subtitle": "Not Jelly", - "quests.tfg_tips.jam.desc": "&dJam&r is an excellent way to preserve fruit: a &bSealed Jar of Jam&r can last up to &ctwo years&r without being opened.\n\nTo properly bottle the jam you will need a &aJar with Lid&r, requiring &bGlassblowing&r for the jar itself and &bSmithing&r for the lids.\n\n&3&lTip:&r&l &aGT machines&f will provide easier recipes for both components down the line.", - "quests.tfg_tips.preservation.title": "The Preservation Tree", - "quests.tfg_tips.preservation.subtitle": "Making food last longer", - "quests.tfg_tips.preservation.desc": "Rotten food is not fit for consumption (you can feed it to pigs though!). Thriving in &2TFG&r will require finding ways to stretch the shelf life of food as much as possible.\n\nThe quest tree above goes into detail on several preservation methods for different foods. Note that while some icons may display rotten food, it is a purely cosmetic bug.\n\n&3&lTip:&r&o All preservation modifiers &dstack&f on top of each other, allowing you to achieve very long shelf life.", - "quests.tfg_tips.brine_something.title": "Brining", - "quests.tfg_tips.brine_something.subtitle": "A preliminary step for other preservation methods", - "quests.tfg_tips.brine_something.desc": "Brining &araw meat, vegetables&r or &afruit&r, requiring &dBrine&r made from &bSea Water&r and &bVinegar.&r This is a precursor step for &3pickling&r and &3smoking.&r", - "quests.tfg_tips.brine_something.task.1": "Meat, vegetable or fruit that has been brined.", - "quests.tfg_tips.brine_something.task.2": "A Bucket of Brine", - "quests.tfg_tips.pickle_something.title": "General Preservation: Pickling", - "quests.tfg_tips.pickle_something.subtitle": "General Preservation N°3", - "quests.tfg_tips.pickle_something.desc": "Pickling &araw meat, vegetables&r or &afruit&r. After &3brining&r, the food item is pickled in a barrel full of &aVinegar.&r It can be left there, giving it the &dpickled&r preservation trait for as long as the barrel is sealed, significantly increasing shelf life.", - "quests.tfg_tips.pickle_something.task.1": "A Bucket of Vinegar", - "quests.tfg_tips.pickle_something.task.2": "Meat, vegetable or fruit that has been pickled.", - "quests.tfg_tips.get_milk.title": "Milk Preservation", - "quests.tfg_tips.get_milk.subtitle": "Got milk?", - "quests.tfg_tips.get_milk.desc": "&dMilk&r can be obtained from 3 different animals: &aCows, Goats&r and &aYaks.&r\nWhile milk can be drank as is to satisfy &bDairy&r requirements, it can also be processed into delicious cheese.\n\nTo complete this quest, get a bucket filled with any milk of your choosing.", - "quests.tfg_tips.get_milk.task": "Any Bucket of Milk", - "quests.tfg_tips.create_cheese.title": "Milk Preservation: Cheese", - "quests.tfg_tips.create_cheese.subtitle": "Cheesy", - "quests.tfg_tips.create_cheese.desc": "&aMilk&r can be processed into &dCheese Wheels&r, which can be placed in world for storage or cut with a &aKnife&r to obtain &dCheese Slices.&r\n\nInformation on how to make cheeses can be found in the &2Field Guide.&r", - "quests.tfg_tips.cheese_aging.title": "Milk Preservation: Cheese Aging", - "quests.tfg_tips.cheese_aging.subtitle": "Stinky", - "quests.tfg_tips.cheese_aging.desc": "If you built a &3Cellar&r, you can place down &aCheese Wheels&r to age inside. Aging takes time but dramatically increases the shelf life. &lDo not break the cheese with your hands, otherwise all the aging will be lost!&r", - "quests.tfg_tips.smoke_cheese.title": "Milk Preservation: Smoke the Cheese", - "quests.tfg_tips.smoke_cheese.subtitle": "Improved flavour profile", - "quests.tfg_tips.smoke_cheese.desc": "You can hang a &aCheese Slice&r on a &bString&r that's placed over a &cLit Campfire&r to smoke it.", - "quests.tfg_tips.smoke_cheese.task": "A slice of Smoked Cheese", - "quests.tfg_tips.get_meat.title": "Meat Preservation", - "quests.tfg_tips.get_meat.subtitle": "Don't beat it", - "quests.tfg_tips.get_meat.desc": "Most animals drop &aMeat&r which is an excellent source of protein, although its shelf life is extremely short when left raw.\n\n&bRaw Meat&r can be &3salted, pickled&r and &3smoked&r for maximum preservation, but these steps must happen &cbefore&r cooking.", - "quests.tfg_tips.salt_meat.title": "Meat Preservation: Salt", - "quests.tfg_tips.salt_meat.subtitle": "Not quite a jerky", - "quests.tfg_tips.salt_meat.desc": "&bSalting&r meat is a quick and relatively easy way to preserve it. &dSalt&r can be obtained from &aSalt Licks&r, from &aindicators&r above salt veins, from &aSalt Veins&r themselves and alternatively, you can &aboil&r salt water in a &3Pot.&r", - "quests.tfg_tips.salt_meat.task": "A hunk of Salted Meat", - "quests.tfg_tips.smoke_meat.title": "Meat Preservation: Smoking", - "quests.tfg_tips.smoke_meat.subtitle": "Smokey", - "quests.tfg_tips.smoke_meat.desc": "You can hang up to 8 slices of &aRaw Meat&r on a &bString&r that's placed over a &cLit Campfire&r to smoke it. Keep in mind that the meat &lmust be brined first.&r \nIt may also be &dsalted&r before smoking.", - "quests.tfg_tips.smoke_meat.task": "A hunk of Smoked Meat", - "quests.tfg_tips.bacon.title": "Bacon", - "quests.tfg_tips.bacon.subtitle": "Crispy", - "quests.tfg_tips.bacon.desc": "&aBacon&r can be made from &bSmoked Pork&r and a pinch of salt giving &d4 times&r the amount of meat!\n\nNote that the pork &lhas to be smoked&r before it can be turned into bacon.", - "quests.tfg_tips.bacon.task": "A hunk of Smoked Pork", - "quests.tfg_tips.cook_meat.title": "Meat Preservation: Cooking", - "quests.tfg_tips.cook_meat.subtitle": "Pretty obvious in hindsight.", - "quests.tfg_tips.cook_meat.desc": "Cooking can potentially provide its own preservation traits. You should cook &aMeat&r either in a &bWrought Iron Grill&r or a &bTop Oven!&r\nOther cooking methods may not provide any trait at all or may even give negative traits that lower shelf life.\n\n&3&lTip:&r&o &bWrought Iron Grills&f can be part of the &dOven&f structure.", - "quests.tfg_tips.cook_meat.task.1": "A hunk of either Grilled or Oven Baked Cooked Meat.", - "quests.tfg_tips.cook_meat.task.2": "A Wrought Iron Grill or a Top Oven", - "quests.tfg_tips.get_veggie.title": "Vegetable Preservation", - "quests.tfg_tips.get_veggie.subtitle": "They're good for you", - "quests.tfg_tips.get_veggie.desc": "&aVegetables&r are mostly found in the wild or grown locally in farms. They can only be &bpickled.&r", - "quests.tfg_tips.get_fruit.title": "Fruit Preservation", - "quests.tfg_tips.get_fruit.subtitle": "Tasty!", - "quests.tfg_tips.get_fruit.desc": "&aFruits&r are mostly found in the wild, harvested from &bTrees, Bushes&r and from slicing &bMelons&r and &bPumpkins.&r Unlike vegetables, fruits have a unique preservation modifier: &ddrying&r, in addition to &bpickling.&r\n&cDried fruits are necessary&r for making your first bit of &dYeast.&r", - "quests.tfg_tips.dry_fruit.title": "Fruit Preservation: Drying", - "quests.tfg_tips.dry_fruit.subtitle": "Water content basically zero", - "quests.tfg_tips.dry_fruit.desc": "Using a &3Drying Mat&r, you can dry fuits, increasing their shelf life. The &3Solar Drier&r is the more advanced option.", - "quests.tfg_tips.dry_fruit.task.1": "A piece of Fruit that has been Dried", - "quests.tfg_tips.dry_fruit.task.2": "A Drying Mat or a Solar Drier", - "quests.tfg_tips.get_grain.title": "Grain Preservation", - "quests.tfg_tips.get_grain.subtitle": "Carbohydrates", - "quests.tfg_tips.get_grain.desc": "&aGrains&r are relatively abundant and easy to grow locally. While the regular unprocessed grain may not last long, there are ways of increasing its shelf life dramatically.", - "quests.tfg_tips.get_grain.task": "Any Grain", - "quests.tfg_tips.process_grain.title": "Grain Preservation: Knife Processing", - "quests.tfg_tips.process_grain.subtitle": "That was easy.", - "quests.tfg_tips.process_grain.desc": "By crafting &aGrain Crops&r with a Knife in a Workbench, you will get the actual &dGrain&r, which is long lasting, and some straw.", - "quests.tfg_tips.passive_preservation.title": "Passive Preservation", - "quests.tfg_tips.passive_preservation.subtitle": "Turns out storing food on the floor is not ideal", - "quests.tfg_tips.passive_preservation.desc": "There are different ways to further preserve your food while storing it, above are three very good choices.", - "quests.tfg_tips.vessel_preservation.title": "General Preservation: Vessels", - "quests.tfg_tips.vessel_preservation.subtitle": "Better than just glorified backpacks.", - "quests.tfg_tips.vessel_preservation.desc": "Placing food in either a &aVessel&r or a &aLarge Vessel&r, remembering to seal the latter, provides the &dSealed&r preservation trait, increasing shelf life on the go. Perfect for exploration trips!", - "quests.tfg_tips.cellar.title": "Cellar", - "quests.tfg_tips.cellar.subtitle": "Mom's Basement", - "quests.tfg_tips.cellar.desc": "The &3Cellar&r is a multiblock structure that can be used to preserve food for long periods of time. Food here must be stored in &aFood Shelves&r and &aHanging Racks.&r You can also &bage cheese&r in here.\nCheck out the &2Field Guide&r for how to build the &3Cellar.&r", - "quests.tfg_tips.cellar.task": "Any form of sealed entry.", - "quests.tfg_tips.refrigerator.title": "Refrigerator", - "quests.tfg_tips.refrigerator.subtitle": "This thing may be overpowered", - "quests.tfg_tips.refrigerator.desc": "If you have advanced to the &bMV&r age, you can make a &dRefrigerator&r, consuming power in exchange for the &obest&r universal food preservation trait for all food items. This includes raw and cooked food, and combined foods like sandwiches.", - "quests.tfg_tips.cellar_blocks.title": "Cellar Storage", - "quests.tfg_tips.cellar_blocks.subtitle": "Stuff to put your food in", - "quests.tfg_tips.cellar_blocks.desc": "&bFood Shelves&r can be used to store virtually any kind of food. &bHangers&r can be used to store &aMeat&r and &aGarlic.&r Food stored in these receive a powerful preservation trait greater than that of &dVessels.&r", - "quests.tfg_tips.beneath.title": "The Beneath", - "quests.tfg_tips.beneath.subtitle": "Journey to the Center of the Earth", - "quests.tfg_tips.beneath.desc": "Deep, DEEP underground, past the &dBedrock&r, you'll find &4The Beneath&r, a complex network of huge caves filled with dangers and strange flora and fauna. While &4The Beneath&r is completely optional, it contains a lot of resources as well as some quality of life improvements.", - "quests.tfg_tips.beneath_prep.title": "Preparations", - "quests.tfg_tips.beneath_prep.subtitle": "The Beneath is hostile, be prepared", - "quests.tfg_tips.beneath_prep.desc": "&4The Beneath&r is a very hostile environment. Due to it being very deep underground, the average temperature is always &cabove 15°C&r, going higher the deeper you go. This is not to mention the amount of hostile creatures crawling these caves.\nThe quests linked with this one provide some basic preparations for your adventure.", - "quests.tfg_tips.beneath_temp_management.title": "Temperature Management: Active", - "quests.tfg_tips.beneath_temp_management.subtitle": "Things to cool off quickly", - "quests.tfg_tips.beneath_temp_management.desc": "In &4The Beneath&r, with the temperature being relatively high, you should bring some &aWater&r to cool off on demand, or some &bPacked Ice&r mined from polar regions if you plan to make a temporary base.", - "quests.tfg_tips.beneath_clothes.title": "Temperature Management: Passive", - "quests.tfg_tips.beneath_clothes.subtitle": "Things to passively cool off", - "quests.tfg_tips.beneath_clothes.desc": "&bClothes&r also play an important role in cooling off. The easiest to craft before going to &4The Beneath&r are &dBurlap Clothes.&r\n\n&dSilk Clothes&r require &aString&r, which can be found in large quantities inside the beneath biome called the &cWebbed Lair.&r\n\nThere is a better alternative if you have access to &9Blue Steel&r however...", - "quests.tfg_tips.blue_steel_diving.title": "Blue Steel Diving Gear", - "quests.tfg_tips.blue_steel_diving.subtitle": "Perfect for taking a warm, lava bath", - "quests.tfg_tips.blue_steel_diving.desc": "The &9Blue Steel Diving Gear&r is a special set of armor that makes you completely impervious to &cLava&r while you're wearing it. The reduced &aWarmth&r but high &bInsulation&r means you'll be able to keep a very stable core temperature while in &4The Beneath.&r", - "quests.tfg_tips.juicer.title": "Juicer", - "quests.tfg_tips.juicer.subtitle": "Hydration on a Pinch", - "quests.tfg_tips.juicer.desc": "The &3Juicer&r is a special item that can extract the latent humidity of &aFruits&r and &aMushrooms&r into drinkable &dWater.&r\n\nWater is only common in the upper layers of &4The Beneath&r. As you go lower, it will be increasingly scarce. However, &aMushrooms&r are very common in &4The Beneath&r, so you won't die of thirst, hopefully!", - "quests.tfg_tips.how_to_go_beneath.title": "How to go to The Beneath", - "quests.tfg_tips.how_to_go_beneath.subtitle": "No Obsidian Required", - "quests.tfg_tips.how_to_go_beneath.desc": "To reach &4The Beneath&r, you will have to stand on &bOverworld Bedrock&r for a couple of seconds, after which you will be &oteleported&r down under.\n\n&3&lTip:&r&o You'll keep exactly the same X and Z coordinates, so it may teleport you inside some rock. It'll give you a 3x3x3 space to work with though, so be sure to bring some supports for tunneling your way out!", - "quests.tfg_tips.how_to_go_beneath.task.1": "Reach and Stand on top of Bedrock", - "quests.tfg_tips.how_to_go_beneath.task.2": "Visit the Beneath", - "quests.tfg_tips.reach_the_beneath.title": "Welcome, to The Depths", - "quests.tfg_tips.reach_the_beneath.subtitle": "Otherwise known as The Beneath", - "quests.tfg_tips.reach_the_beneath.desc": "As soon as you reach &4The Beneath&r, you should make a &cwaypoint&r using your map so you don't lose your way back.\n\nUnlike the vanilla Nether, there is no 8x distance multiplier, don't be using it for fast Overworld travel!", - "quests.tfg_tips.reach_the_beneath.task": "Be in the Beneath", - "quests.tfg_tips.fuck_go_back.title": "How to escape The Beneath", - "quests.tfg_tips.fuck_go_back.subtitle": "Mom come pick me up, I'm scared.", - "quests.tfg_tips.fuck_go_back.desc": "To escape &4The Beneath&r, you need to reach the upper levels of the cave system, near the &dBedrock Ceiling.&r Staying still for a couple of seconds near the roof will transport you back to the &bOverworld&r, right where you stood on to get in.", - "quests.tfg_tips.piglin_bartering.title": "Piglin Bartering", - "quests.tfg_tips.piglin_bartering.subtitle": "We are not alone apparently", - "quests.tfg_tips.piglin_bartering.desc": "The curious inhabitants of &4The Beneath&r have items to offer... Trade gold with them to get some useful resource, such as small amounts of &aMetals&r or &aLeather.&r\nCheck out the &2Field Guide&r for details about barter trades.", - "quests.tfg_tips.piglin_disguise.subtitle": "They'll never know...", - "quests.tfg_tips.piglin_disguise.desc": "Do you feel like you don't belong?\nDo the &4Piglin&r attack you at your school because of your appearance?\nTry wearing a &aPiglin Disguise&r to ward off unwanted attention and blend right in.", - "quests.tfg_tips.trowel.title": "Trowel", - "quests.tfg_tips.trowel.subtitle": "Inspired by Quark!", + "quests.tfg_tips.beehive.title": "Улей", + "quests.tfg_tips.beehive.subtitle": "Пора испытать удачу...", + "quests.tfg_tips.beehive.desc": "Чтобы начать заниматься пчеловодством, вам понадобятся: &bУлей&r и &aРамка для улья.&r\nВ отличие от ванильного Майнкрафта, ульи не генерируются в мире — пчелы появляются только в созданных игроком &bУльях&r с рамками, заселенными &eКоролевами.&r Шанс заселения рамки королевой случаен, но шанс можно увеличить, разместив вокруг улья &dЦветы&r.\n\nПосле заселения рамки в улье начнут появляться рабочие пчелы, производящие мед.", + "quests.tfg_tips.not_the_bees.title": "Костюм пасечника", + "quests.tfg_tips.not_the_bees.subtitle": "ТОЛЬКО НЕ ПЧЕЛЫ!", + "quests.tfg_tips.not_the_bees.desc": "Пчелы не любят, когда их беспокоят и собирают их мед и воск. Есть три безопасных способа, чтобы сделать это:\n\n* &dСбор ночью&r\n* &dИспользование костра&r\n* &dКостюм пасечника&r", + "quests.tfg_tips.not_the_bees.task": "Я выберу костер или буду ждать ночи.", + "quests.tfg_tips.honey.title": "Мед", + "quests.tfg_tips.honey.subtitle": "Ох, ну и ну...", + "quests.tfg_tips.honey.desc": "С &aПустой банкой&r, сделанную при помощи &bвыдувании стекла&r, вы можете нажать ПКМ по улью с медом, чтобы получить &dБанку меда.&r Мед — отличный заменитель сахара.", + "quests.tfg_tips.beeswax.title": "Воск", + "quests.tfg_tips.beeswax.subtitle": "Достойная жертва", + "quests.tfg_tips.beeswax.desc": "Если кликнуть ПКМ по &aрамке&r с &bпчелинной маткой&r, используя &cнож&r, вы очистите рамку, убив матку и получив &dвоск.&r\n\n&3&lСовет:&r&o Можно жертвовать &bматками&f с плохими генами, чтобы со временем улучшать качество потомства — остальные рамки компенсируют недостающие характеристики своими характеристиками.", + "quests.tfg_tips.candles.title": "Свечи", + "quests.tfg_tips.candles.subtitle": "Уютненько...", + "quests.tfg_tips.candles.desc": "Свечи можно создать из &aПарафина, Воска&r или &aХвойной канифоли.&r\nПо сравнению с факелами, свечи — лучший источник света, так как горят 1 месяц и 2 дня.", + "quests.tfg_tips.oven.title": "Печь", + "quests.tfg_tips.oven.subtitle": "Осторожно, горячо", + "quests.tfg_tips.oven.desc": "&3Печь&r — это многоблочная структура, предназначенная для удобного приготовления пищи, а также выполнения эксклюзивных рецептов. &aНижняя и Верхняя часть печи&r, &aДымоход&r являются обязательной составляющей. Также не забудьте про &dЛопатку пекаря&r, которая нужна для извлечения еды из &aВерхней части печи.&r\nПодробную информацию по постройке &3Печи&r можно найти в &2Полевом руководстве.&r\n\n&3&lСовет:&r&o Единственное блюдо, заполняющее все 5 групп питательности — &cПицца&f, — может быть приготовлена только в печи.", + "quests.tfg_tips.oven_appliances.title": "Устройства для печи", + "quests.tfg_tips.oven_appliances.subtitle": "Расширьте возможности ваших печей", + "quests.tfg_tips.oven_appliances.desc": "&3Устройства для печи&r — это дополнительные элементы, которые устанавливаются поверх &aНижней части печи&r для получения тепла. Помните, что в одной многоблочной структуре может быть &cнесколько&r &aНижних частей печи.&r\n\n&dГриль из кованого железа&r: Позволяет готовить пищу быстрее и дает &cбонус&r к сроку хранения.\n&dЧан&r: Производит некоторые рецепты кипячения оптом! Особенно полезен для создания &eЛатекса&r и &aВаренья.&r\n&dРазливочная станция&r: Должна быть размещена рядом с &bЧаном&r, наполняет банки &aВареньем.&r\n&dГоршок&r: если вам нужно приготовить супы.", + "quests.tfg_tips.oven_finish.title": "Отделка для печи", + "quests.tfg_tips.oven_finish.subtitle": "Шикарно", + "quests.tfg_tips.oven_finish.desc": "Если внешний вид глиняных кирпичей вам не нравится, то вы можете применить &bОтделку&r к большинству компонентов печи, чтобы изменить внешний вид многоблочной конструкции.", + "quests.tfg_tips.oven_finish.task": "Любая Отделка", + "quests.tfg_tips.oven_utils.title": "Полезные приспособления для печи", + "quests.tfg_tips.oven_utils.subtitle": "Возможно, вам пригодятся", + "quests.tfg_tips.oven_utils.desc": "&dЗольник&r, установленный под &aНижней частью печи&r, имеет шанс собирать &cДревесную золу&r при сжигании бревен. Нажмите ПКМ, чтобы извлечь золу.\n\n&dБункер печи&r автоматически загружает бревна в &bНижнюю часть печи&r, находящуюся напротив нее — полезно для автоматизации.", + "quests.tfg_tips.jam.title": "Варенье", + "quests.tfg_tips.jam.subtitle": "Не Джем", + "quests.tfg_tips.jam.desc": "&dВаренье&r — отличный способ сохранить фрукты. &bГерметичная банка варенья&r может храниться до &cдвух лет&r, если ее не открывать.\n\nДля приготовления Варенья потребуется &aБанка с крышкой&r, создаваемая с помощью &bвыдувания стекла&r и &bобработки на наковальне&r.\n\n&3&lСовет:&r&l &aмеханизмы из GT&f позже предоставят упрощенные рецепты для этих компонентов.", + "quests.tfg_tips.preservation.title": "Древо консервации", + "quests.tfg_tips.preservation.subtitle": "Продление срока годности продуктов", + "quests.tfg_tips.preservation.desc": "Испорченная еда непригодна для употребления (хотя ее можно скармливать свиньям!). Для успешного выживания в &2TFG&r потребуется находить способы максимально продлевать срок годности продуктов.\n\nДрево квестов выше подробно описывает различные методы консервации для разных типов продуктов. Обратите внимание, что некоторые иконки могут отображать испорченную еду — это чисто визуальный баг.\n\n&3&lСовет:&r&o Все модификаторы консервации &dскладываются&f, позволяя достичь очень долгого срока хранения.", + "quests.tfg_tips.brine_something.title": "Засаливание", + "quests.tfg_tips.brine_something.subtitle": "Подготовительный этап для других методов консервации", + "quests.tfg_tips.brine_something.desc": "Замачивание в рассоле &aсырого мяса, овощей&r или &aфруктов&r, требуют &dРассола&r, который готовится из &bСоленой воды&r и &bУксуса&r. Это предварительный этап перед &3маринованием&r и &3копчением.&r", + "quests.tfg_tips.brine_something.task.1": "Мясо, овощ или фрукт, который был засолен.", + "quests.tfg_tips.brine_something.task.2": "Ведро рассола", + "quests.tfg_tips.pickle_something.title": "Основная консервация: Маринование", + "quests.tfg_tips.pickle_something.subtitle": "Основная консервация N°3", + "quests.tfg_tips.pickle_something.desc": "Маринование &aсырого мяса, овощей&r или &aфруктов&r. После &3засолки&r продукт помещается в бочку с &aуксусом&r. Он может быть оставлен там, получая свойство &dконсервирование в уксусе&r (пока бочка запечатана), что значительно увеличивает срок годности.", + "quests.tfg_tips.pickle_something.task.1": "Ведро уксуса", + "quests.tfg_tips.pickle_something.task.2": "Мясо, овощ или фрукт, который был замаринован.", + "quests.tfg_tips.get_milk.title": "Консервация молока", + "quests.tfg_tips.get_milk.subtitle": "Есть молоко?", + "quests.tfg_tips.get_milk.desc": "&dМолоко&r можно получить от 3 разных животных: &aКоров&r, &aКоз&r и &aЯков.&r\nХотя молоко можно пить в сыром виде для удовлетворения &bрациона&r в молочных продуктах, его также можно перерабатывать в вкусный сыр.\n\nЧтобы завершить этот квест, добудьте ведро с любым видом молока по вашему выбору.", + "quests.tfg_tips.get_milk.task": "Любое ведро с молоком", + "quests.tfg_tips.create_cheese.title": "Консервация молока: Сыр", + "quests.tfg_tips.create_cheese.subtitle": "Сырный", + "quests.tfg_tips.create_cheese.desc": "&aМолоко&r можно переработать в &dголовки сыра&r, которые можно разместить в мире для хранения или разрезать &aНожом&r, чтобы получить &dкуски сыра.&r\n\nПодробная информация о приготовлении сыров содержится в &2Полевом руководстве.&r", + "quests.tfg_tips.cheese_aging.title": "Консервация молока: Выдержка сыра", + "quests.tfg_tips.cheese_aging.subtitle": "Вонючка", + "quests.tfg_tips.cheese_aging.desc": "Если вы построили &3Погреб&r, то вы можете разместить в нем &aголовки сыра&r для выдержки. Этот процесс требует времени, но значительно увеличивает срок хранения. &lНе разбивайте сыр руками, иначе весь процесс созревания будет потерян!&r", + "quests.tfg_tips.smoke_cheese.title": "Консервация молока: Копчение сыра", + "quests.tfg_tips.smoke_cheese.subtitle": "Улучшенный вкусовой профиль", + "quests.tfg_tips.smoke_cheese.desc": "Вы можете подвесить &aКусок сыра&r на &bНитку&r, размещенной над &cзажженным костром&r, чтобы закоптить его.", + "quests.tfg_tips.smoke_cheese.task": "Кусок копченого сыра", + "quests.tfg_tips.get_meat.title": "Консервация мяса", + "quests.tfg_tips.get_meat.subtitle": "Не забывай про это", + "quests.tfg_tips.get_meat.desc": "С большинства животных выпадает &aмясо&r — отличный источник белка, но с крайне малым сроком хранения в сыром виде.\n\n&bСырое мясо&r можно &3солить&r, &3мариновать&r и &3коптить&r для максимального сохранения, но эти процессы должны происходить &cдо&r приготовления.", + "quests.tfg_tips.salt_meat.title": "Консервация мяса: Соль", + "quests.tfg_tips.salt_meat.subtitle": "Еще не Джерки", + "quests.tfg_tips.salt_meat.desc": "&bСоление&r мяса — быстрый и относительно простой способ его сохранения. &dСоль&r можно добыть: из &aлизунцов&r, по &aиндикаторам&r над соляными жилами, непосредственно из &aсоляных жил&r или выпариванием &aсоленой воды&r в &3котле.&r", + "quests.tfg_tips.salt_meat.task": "Соленое мясо", + "quests.tfg_tips.smoke_meat.title": "Консервация мяса: Копчение", + "quests.tfg_tips.smoke_meat.subtitle": "Копчененький", + "quests.tfg_tips.smoke_meat.desc": "Можно повесить до 8 кусков &aСырого мяса&r на &bНитку&r над &cзажженным костром&r для копчения. &lМясо должно предварительно пройти этап засаливания.&r \nТакже можно &dпосолить&r его перед копчением.", + "quests.tfg_tips.smoke_meat.task": "Копченое мясо", + "quests.tfg_tips.bacon.title": "Бекон", + "quests.tfg_tips.bacon.subtitle": "Хрустящий", + "quests.tfg_tips.bacon.desc": "&aБекон&r можно приготовить из &bкопченой свинины&r с добавлением соли, что дает &dв 4 раза больше&r мяса!\n\nПримечание: свинина &lдолжна быть прокопченной&r, прежде чем ее можно превратить в бекон.", + "quests.tfg_tips.bacon.task": "Копченое мясо", + "quests.tfg_tips.cook_meat.title": "Консервация мяса: Приготовление", + "quests.tfg_tips.cook_meat.subtitle": "Капитан очевидность в двойне.", + "quests.tfg_tips.cook_meat.desc": "Приготовление может потенциально обеспечить собственные свойства консервации. Вам следует готовить &aМясо&r либо на &bГриле из кованого железа&r, либо на &bВерхней части печи!&r\nДругие методы приготовления могут не дать никаких свойств или даже добавить отрицательные, сокращающие срок хранения.\n\n&3&lСовет:&r&o &bГриль из кованого железа&f может быть частью структуры &dПечи&f.", + "quests.tfg_tips.cook_meat.task.1": "Кусок жареного на гриле или запеченного в печи мяса.", + "quests.tfg_tips.cook_meat.task.2": "Гриль из кованого железа или Верхняя часть печи", + "quests.tfg_tips.get_veggie.title": "Консервация овощей", + "quests.tfg_tips.get_veggie.subtitle": "Они полезны для тебя", + "quests.tfg_tips.get_veggie.desc": "&&aОвощи&r в основном встречаются в дикой природе или выращиваются на фермах. Их можно только &bзамариновать.&r", + "quests.tfg_tips.get_fruit.title": "Консервация фруктов", + "quests.tfg_tips.get_fruit.subtitle": "Вкусняшка!", + "quests.tfg_tips.get_fruit.desc": "&aФрукты&r в основном встречаются в дикой природе: их можно собрать с &bдеревьев, кустов&r, а также при разрезании &bарбузов&r и &bтыкв.&r В отличие от овощей, фрукты имеют уникальный способ консервации — &dсушку&r, вдобавок к &bмаринованию.&r\n&cСушеные фрукты необходимы&r для создания ваших первых &dДрожжей.&r", + "quests.tfg_tips.dry_fruit.title": "Консервация фруктов: Сушка", + "quests.tfg_tips.dry_fruit.subtitle": "Содержание воды сведено к нулю", + "quests.tfg_tips.dry_fruit.desc": "Используя &3Настил для сушки&r, вы можете сушить фрукты, увеличивая их срок хранения. &3Солнечная сушилка&r — более продвинутый вариант.", + "quests.tfg_tips.dry_fruit.task.1": "Высушенный фрукт", + "quests.tfg_tips.dry_fruit.task.2": "Настил для сушки или Солнечная сушилка", + "quests.tfg_tips.get_grain.title": "Консервация зерновых культур", + "quests.tfg_tips.get_grain.subtitle": "Углеводы", + "quests.tfg_tips.get_grain.desc": "&aЗерновые культуры&r относительно распространены и легко выращивается. Хотя необработанная культура хранится недолго, существуют способы значительно увеличить его срок хранения.", + "quests.tfg_tips.get_grain.task": "Любая зерновая культура", + "quests.tfg_tips.process_grain.title": "Консервация зерновых культур: Обработка ножом", + "quests.tfg_tips.process_grain.subtitle": "Это было легко.", + "quests.tfg_tips.process_grain.desc": "Если скрафтить &aзерновые культуры&r с ножом на верстаке, то вы получите &dКрупу&r, которая хранится дольше, и немного соломы.", + "quests.tfg_tips.passive_preservation.title": "Пассивная консервация", + "quests.tfg_tips.passive_preservation.subtitle": "Оказывается, хранить еду на полу — не лучшая идея", + "quests.tfg_tips.passive_preservation.desc": "Существуют различные способы дополнительной сохранности продуктов при хранении. Рядом с квестом представлены три отличных варианта.", + "quests.tfg_tips.vessel_preservation.title": "Основная консервация: Сосуды", + "quests.tfg_tips.vessel_preservation.subtitle": "Лучше, чем просто расхваленные рюкзаки.", + "quests.tfg_tips.vessel_preservation.desc": "Хранение еды в &aСосуде&r или &aБольшом сосуде&r (правда, не забывайте его запечатывать), дает свойство &dГерметичности&r, увеличивая срок хранения продуктов в походных условиях. Идеально для экспедиций!", + "quests.tfg_tips.cellar.title": "Погреб", + "quests.tfg_tips.cellar.subtitle": "Подвал мамы", + "quests.tfg_tips.cellar.desc": "&3Погреб&r — это многоблочная структура для длительного хранения продуктов. Продукты должны размещаться на &aПолках для еды&r и &aВешалках.&r Здесь также можно &bвыдерживать сыр.&r\nИнструкцию по постройке &3погреба&r смотрите в &2Полевом руководстве.&r", + "quests.tfg_tips.cellar.task": "Любой вход для погреба.", + "quests.tfg_tips.refrigerator.title": "Холодильник", + "quests.tfg_tips.refrigerator.subtitle": "Эта штука может быть очень мощной", + "quests.tfg_tips.refrigerator.desc": "Если вы достигли эпохи &bMV&r, вы можете создать &dХолодильник&r, который потребляет энергию, но обеспечивает &oлучший&r универсальный эффект сохранности для всех типов еды: сырой, приготовленной и комбинированной (например, бутербродов)", + "quests.tfg_tips.cellar_blocks.title": "Хранилища для подвала", + "quests.tfg_tips.cellar_blocks.subtitle": "Вещи, в которые можно складывать еду", + "quests.tfg_tips.cellar_blocks.desc": "&bПолки для еды&r подходят для хранения практически любых видов пищи. &bВешалки&r можно использовать для &aМяса&r и &aЧеснока.&r Еда, хранящаяся таким образом, получает мощный эффект сохранности, превосходящий свойства &dсосудов.&r", + "quests.tfg_tips.beneath.title": "Бездна", + "quests.tfg_tips.beneath.subtitle": "Путешествие к центру Земли", + "quests.tfg_tips.beneath.desc": "Очень глубоко под землей, за &dбедроком&r, вы найдете &4Бездну&r — запутанную сеть пещер, наполненную опасностями, странной флорой и фауной. Хотя посещение &4Бездны&r совершенно необязательно, но оно содержит множество ресурсов и того, что упростит вашу жизнь.", + "quests.tfg_tips.beneath_prep.title": "Подготовка", + "quests.tfg_tips.beneath_prep.subtitle": "Бездна враждебна, будь готов", + "quests.tfg_tips.beneath_prep.desc": "&4Бездна&r — крайне враждебная среда. Из-за огромной глубины средняя температура здесь всегда &cвыше 15°C&r и повышается по мере погружения. Не говоря уже о количестве враждебных существ, населяющих эти пещеры.\nСвязанные с этим квесты обеспечивают базовую подготовку к вашему приключению.", + "quests.tfg_tips.beneath_temp_management.title": "Активный контроль температуры", + "quests.tfg_tips.beneath_temp_management.subtitle": "Как быстро охладиться", + "quests.tfg_tips.beneath_temp_management.desc": "В &4Бездне&r, где температура довольно высокая, стоит взять с собой &aВоду&r для экстренного охлаждения или &bПлотный лед&r, добываемый в полярных биомах, если планируете создать временную базу.\n\n&bПлотный лед&r так же можно сделать если уже достаточно холодно для выпадения снега и образования льда на водоемах.", + "quests.tfg_tips.beneath_clothes.title": "Пассивный контроль температуры", + "quests.tfg_tips.beneath_clothes.subtitle": "Пассивное охлаждение", + "quests.tfg_tips.beneath_clothes.desc": "&bОдежда&r также помогает регулировать температуру. Перед походом в &4Бездну&r проще всего скрафтить &dОдежду из джутовой ткани.&r\n\n&dШелковая одежда&r требует &aНитей&r, которые в большом количестве можно найти в биоме &cПаучье логово.&r\n\nЕсли у вас есть доступ к &9Синей стали&r, то существует более эффективный вариант...", + "quests.tfg_tips.blue_steel_diving.title": "Лаволазное снаряжение из Синей стали", + "quests.tfg_tips.blue_steel_diving.subtitle": "Идеально для принятия теплых, лавовых ванн", + "quests.tfg_tips.blue_steel_diving.desc": "&9Лаволазное снаряжение из Синей стали&r — это особый набор брони, который делает вас полностью неуязвимым к &cлаве&r при ношении. Пониженная &aтеплопередача&r, но высокая &bтеплоизоляция&r позволяют поддерживать стабильную температуру тела в &4Бездне.&r", + "quests.tfg_tips.juicer.title": "Соковыжималка", + "quests.tfg_tips.juicer.subtitle": "Утоляем жажду по немногу.", + "quests.tfg_tips.juicer.desc": "&3Соковыжималка&r — это специальный предмет, который может извлекать скрытую влагу из &aФруктов&r и &aГрибов&r, превращая ее в пригодную для питья &dводу.&r\n\nВода встречается в основном на верхних уровнях &4Бездны&r. Чем глубже вы спускаетесь, тем ее меньше. Однако &aГрибы&r в &4Бездне&r очень распространены, так что, надеюсь, вы не умрете от жажды!", + "quests.tfg_tips.how_to_go_beneath.title": "Как попасть в Бездну", + "quests.tfg_tips.how_to_go_beneath.subtitle": "Обсидиан не требуется", + "quests.tfg_tips.how_to_go_beneath.desc": "Для достижения &4Бездны&r Вам нужно простоять на &bБедроке Верхнего мира&r несколько секунд, после чего вы &oтелепортируетесь&r вниз.\n\n&3&lСовет:&r&o Вы сохраните те же координаты X и Z, так что вас может телепортировать в блоки. Однако около вас появится пустое пространство 3x3x3, так что не забудьте взять с собой опоры для прокладки пути наружу!", + "quests.tfg_tips.how_to_go_beneath.task.1": "Доберитесь до бедрока и постойте на нём", + "quests.tfg_tips.how_to_go_beneath.task.2": "Посетите Бездну", + "quests.tfg_tips.reach_the_beneath.title": "Добро пожаловать, в глубины", + "quests.tfg_tips.reach_the_beneath.subtitle": "Именуемая в преданиях как Бездна", + "quests.tfg_tips.reach_the_beneath.desc": "Как только вы попадете в &4Безду&r, сразу создайте &cметку&r на карте, чтобы не потерять дорогу назад.\n\nВ отличие от ванильного Ада, здесь нет 8-кратного множителя расстояния, так что не рассчитывайте на быстрые перемещения по Верхнему миру!", + "quests.tfg_tips.reach_the_beneath.task": "Оказаться в Бездне", + "quests.tfg_tips.fuck_go_back.title": "Как сбежать из Бездны", + "quests.tfg_tips.fuck_go_back.subtitle": "Мам, забери меня, мне страшно.", + "quests.tfg_tips.fuck_go_back.desc": "Чтобы покинуть &4Бездну&r, доберитесь до верхних уровней пещерной системы рядом с &dпотолком из бедрока.&r Задержитесь там на несколько секунд, и вас телепортирует обратно в &bВерхний мир&r, точно в то место, откуда вы попали вниз.", + "quests.tfg_tips.piglin_bartering.title": "Товарообмен с Пиглинами", + "quests.tfg_tips.piglin_bartering.subtitle": "Видимо мы здесь не одни", + "quests.tfg_tips.piglin_bartering.desc": "Любопытные обитатели &4Бездны&r готовы предложить вам товары. Обменивайте золото на полезные ресурсы, такие как: небольшое количество различных &aМеталлов&r или разнообразные материалы, как например &aКожа.&r\nПодробности о торговле смотрите в &2Полевом руководстве&r.", + "quests.tfg_tips.piglin_disguise.subtitle": "Они никогда не узнают...", + "quests.tfg_tips.piglin_disguise.desc": "Чувствуете себя чужаком?\n &4Пиглины&r задирают вас в школе из-за внешности?\n Попробуйте надеть &aМаскировку пиглина&r — это отведет от вас лишнее внимание и поможет слиться с толпой.", + "quests.tfg_tips.trowel.title": "Мастерок", + "quests.tfg_tips.trowel.subtitle": "Вдохновлено Quark!", "quests.tfg_tips.trowel.desc": "A &4Trowel&r is a tool for builders that can &brandomly place blocks&r located in the hotbar. Trowels can also use bricks and other useable items to randomize tiles for &5RNR Roads&r.", - "quests.tfg_tips.lunchbox.title": "Lunch Box", - "quests.tfg_tips.lunchbox.subtitle": "A refrigerator in your pocket!", - "quests.tfg_tips.lunchbox.desc": "Lunch boxes have 9 slots for food, keeping it cold and longer lasting.\nThe Cooling Lunchbox has a stronger effect than the regular one, but needs to be provided with ice or cells that will thaw over time.", - "quests.tfg_tips.lunchbox.task.1": "Any Lunch Box", - "quests.tfg_tips.lunchbox.task.2": "Any Ice Block", + "quests.tfg_tips.lunchbox.title": "Ланчбокс", + "quests.tfg_tips.lunchbox.subtitle": "Карманный холодильник!", + "quests.tfg_tips.lunchbox.desc": "Ланчбоксы имеют 9 слотов для еды, сохраняя ее свежей дольше.\nОхлаждающий ланчбокс обладает усиленным эффектом, но регулярно требуют лед или ледяную капсулу, которые со временем тают.", + "quests.tfg_tips.lunchbox.task.1": "Любой ланчбокс", + "quests.tfg_tips.lunchbox.task.2": "Любой блок льда", "quests.tfg_tips.lunchbox.task.3": "Any Cell containing Liquid Ice Slush", "quests.tfg_tips.transportation_tips.title": "Советы - Транспорт", "quests.tfg_tips.transportation_tips.subtitle": "Куда же делась ходьба на своих двоих?", "quests.tfg_tips.tools_tips.title": "Советы - Инструменты", "quests.tfg_tips.tools_tips.subtitle": "Как затягивать и ослаблять 101.", - "quests.tfg_tips.tools_tips.tools.title": "Tools", - "quests.tfg_tips.tools_tips.tools.subtitle": "It's all a hammer anyways.", - "quests.tfg_tips.tools_tips.tools.desc": "The only thing seperating man from animal is our use of &l&bTools&r&r. &8&oExcept for apes, monkeys, dolphins, crows, otters, octo.......&r&r Use your skills and tools to make the most of this world, and &5save yourself&r some effort.", - "quests.tfg_tips.tools_tips.seed_oil.title": "Lamp Fuel: Seed Oil", - "quests.tfg_tips.tools_tips.seed_oil.subtitle": "Smells good when it burns.", - "quests.tfg_tips.tools_tips.seed_oil.desc": "&dSeed Oil&r will last you an impressive &c72&r days.", - "quests.tfg_tips.tools_tips.seed_oil.task": "A Bucket of Seed Oil", - "quests.tfg_tips.tools_tips.soybean_oil.title": "Lamp Fuel: Soybean Oil", - "quests.tfg_tips.tools_tips.soybean_oil.subtitle": "Lamp on a high protein diet.", - "quests.tfg_tips.tools_tips.soybean_oil.desc": "&dSoybean Oil&r lasts just as long as seed oil--&c72&r days. ", - "quests.tfg_tips.tools_tips.soybean_oil.task": "A Bucket of Soybean Oil", - "quests.tfg_tips.tools_tips.markings.title": "Markings", - "quests.tfg_tips.tools_tips.markings.subtitle": "Comply with OSHA standard 1910.303", - "quests.tfg_tips.tools_tips.markings.desc": "Similar to &2chalk&r--&d&lMarkings&r&r can be used to decorate your surfaces for a more immersive base. You can craft markings by first making a &bHazard Diamond Wall Marking&r and using a stonecutter to get the rest.", - "quests.tfg_tips.tools_tips.markings.task": "Any #ags_modernmarkings:markings", - "quests.tfg_tips.tools_tips.cryodesiccation.title": "Cryodesiccation", - "quests.tfg_tips.tools_tips.cryodesiccation.subtitle": "The factory has no time for \"flavor\".", - "quests.tfg_tips.tools_tips.cryodesiccation.desc": "&l&bCryodesiccation&r&r is the process of dehydrating food at very low temperatures. Food with the trait \"Cryodesiccated\" lasts considerably longer than other food preservation methods.", - "quests.tfg_tips.tools_tips.harvest_basket.title": "Harvest Baskets", - "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "For competitive pie bakers.", - "quests.tfg_tips.tools_tips.harvest_basket.task": "Any #tfg:harvester", - "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Harvest Baskets&r&r are a new tool made just for &5TFG&r! These baskets can be used to harvest whole trees and bushes of fruit in one right-click! A regular &6Harvest Basket&r has a base durability of &n128&r. But an &3Aluminium Harvest Basket&r takes no damage on use." + "quests.tfg_tips.tools_tips.tools.title": "Инструменты", + "quests.tfg_tips.tools_tips.tools.subtitle": "В любом случае это всего лишь молоток.", + "quests.tfg_tips.tools_tips.tools.desc": "Единственное, что отличает человека от животного — это наше использование &l&bинструментов&r&r. &8&oЗа исключением обезьян, дельфинов, ворон, выдр, осьминогов и других...&r&r Используй свои умения и инструменты, чтобы извлечь максимум из этого мира и &5сэкономить себе&r усилия.", + "quests.tfg_tips.tools_tips.seed_oil.title": "Топливо для фонаря: Растительное масло", + "quests.tfg_tips.tools_tips.seed_oil.subtitle": "Когда горит, пахнет приятно.", + "quests.tfg_tips.tools_tips.seed_oil.desc": "&dРастительное масло&r будет гореть на протяжении &c72&r дней.", + "quests.tfg_tips.tools_tips.seed_oil.task": "Любое ведро растительного масла", + "quests.tfg_tips.tools_tips.soybean_oil.title": "Топливо для фонаря: Соевое масло", + "quests.tfg_tips.tools_tips.soybean_oil.subtitle": "фонарь на белковой диете", + "quests.tfg_tips.tools_tips.soybean_oil.desc": "&dСоевое масло&r горит так же долго как и растительон масло — &c72&r дня. ", + "quests.tfg_tips.tools_tips.soybean_oil.task": "Любое ведро соевого масла", + "quests.tfg_tips.tools_tips.markings.title": "Метки", + "quests.tfg_tips.tools_tips.markings.subtitle": "Соответствуйте стандарту OSHA 1910.303", + "quests.tfg_tips.tools_tips.markings.desc": "Похоже на &2мел&r — &d&lМетки&r&r можно использовать для декора ваших поверхностей и создания более атмосферной базы. Метки изготавливаются, сначала создав &bHazard Diamond Wall Marking&r, а затем с помощью камнереза получить остальные.", + "quests.tfg_tips.tools_tips.markings.task": "Любой #ags_modernmarkings:markings", + "quests.tfg_tips.tools_tips.cryodesiccation.title": "Сублимация", + "quests.tfg_tips.tools_tips.cryodesiccation.subtitle": "Фабрика не терпит пустой\"болтовни\".", + "quests.tfg_tips.tools_tips.cryodesiccation.desc": "&l&bСублимация&r&r — это процесс обезвоживания пищи при очень низких температурах. Продукты с характеристикой «Сублимированная» хранятся значительно дольше по сравнению с другими методами консервации.", + "quests.tfg_tips.tools_tips.harvest_basket.title": "Лукошко", + "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "Для пекарей-кондитеров.", + "quests.tfg_tips.tools_tips.harvest_basket.task": "Любое #tfg:harvester", + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Лукошки (корзинки)&r&r — новый инструмент, созданный специально для &5TFG&r! Эти корзины позволяют собирать целые деревья и кусты с плодами одним кликом ПКМ! Обычное &6Лукошко&r имеет базовую прочность &n128&r. Но &3Алюминиевое лукошко&r не теряет прочности при использовании." } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index e48e2491a..7c9cdbe18 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -851,6 +851,27 @@ "item.tfg.food.cooked_cruncher_ribs": "Приготовані ребра кранчера", "item.tfg.food.raw_dino_nugget": "Приготований динозавровий нагетс", "item.tfg.food.cooked_dino_nugget": "Динозавровий нагетс у пивному клярі", + "item.tfg.food.raw_beer_battered_cheese_curds": "Сирні шматочки в пивному клярі", + "item.tfg.food.cooked_beer_battered_cheese_curds": "Смажені сирні шматочки в пивному клярі", + "item.tfg.food.raw_fries": "Сира картопля фрі", + "item.tfg.food.cooked_fries": "Картопля фрі", + "item.tfg.food.poutine": "Пут'ін", + "item.tfg.food.brioche_dough": "Тісто бріош", + "item.tfg.food.brioche_bun": "Булочка бріош", + "item.tfg.food.raw_burger_patty": "Сира котлета для бургера", + "item.tfg.food.cooked_burger_patty": "Котлета для бургера", + "item.tfg.food.slice_of_cheese": "Скибка «сиру»", + "item.tfg.food.hamburger": "Гамбургер", + "item.tfg.food.cheeseburger": "Чізбургер", + "item.tfg.food.oatmeal": "Вівсянка", + "item.tfg.food.raw_instant_mac": "Сире швидке мак‑н‑чіз", + "item.tfg.food.cooked_instant_mac": "Швидке мак‑н‑чіз", + "item.tfg.spice.bay_leaf": "Лавровий лист", + "item.tfg.spice.cardamom_pods": "Стручки кардамону", + "item.tfg.spice.cilantro_leaves": "Листя кінзи", + "item.tfg.spice.cumin_seeds": "Насіння кмину", + "item.tfg.spice.oregano_leaves": "Листя орегано", + "item.tfg.spice.allspice": "Запашний перець", "item.tfg.roasted_sunflower_seeds": "Смажене насіння соняшника", "item.tfg.sunflower_seeds": "Насіння соняшника", "item.tfg.sunflower_product": "Соняшнткова Кепка", @@ -1124,6 +1145,11 @@ "material.tfg.triglyceride_oil": "Тригліцеридна олія", "material.tfg.cholesterol": "Холестерин", "material.tfg.butyric_acid": "Масляна кислота", + "material.tfg.citric_acid": "Лимонна кислота", + "material.tfg.sodium_dihydrogen_citrate": "Натрій дигідрогенцитрат", + "material.tfg.light_stock": "Легкий бульйон", + "material.tfg.rich_stock": "Насичений бульйон", + "material.tfg.brown_gravy": "Коричневий соус", "material.tfg.zircon": "Циркон", "material.tfg.silicon_tetrachloride": "Тетрахлорид кремнію", "material.tfg.zirconium_tetrachloride": "Тетрахлорид цирконію", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 54fa6a131..c4296a2aa 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -945,6 +945,27 @@ "item.tfg.food.cooked_cruncher_ribs": "熟贪咀兽排", "item.tfg.food.raw_dino_nugget": "精制恐龙块", "item.tfg.food.cooked_dino_nugget": "啤酒裹炸恐龙块", + "item.tfg.food.raw_beer_battered_cheese_curds": "生啤酒面糊芝士凝块", + "item.tfg.food.cooked_beer_battered_cheese_curds": "油炸啤酒面糊芝士凝块", + "item.tfg.food.raw_fries": "生法式薯条", + "item.tfg.food.cooked_fries": "法式薯条", + "item.tfg.food.poutine": "肉汁奶酪薯条", + "item.tfg.food.brioche_dough": "布里欧修面团", + "item.tfg.food.brioche_bun": "布里欧修面包", + "item.tfg.food.raw_burger_patty": "生汉堡肉饼", + "item.tfg.food.cooked_burger_patty": "汉堡肉饼", + "item.tfg.food.slice_of_cheese": "一片“芝士”", + "item.tfg.food.hamburger": "汉堡包", + "item.tfg.food.cheeseburger": "芝士汉堡", + "item.tfg.food.oatmeal": "燕麦粥", + "item.tfg.food.raw_instant_mac": "生速食通心粉和芝士", + "item.tfg.food.cooked_instant_mac": "速食通心粉和芝士", + "item.tfg.spice.bay_leaf": "月桂叶", + "item.tfg.spice.cardamom_pods": "小豆蔻荚", + "item.tfg.spice.cilantro_leaves": "香菜叶", + "item.tfg.spice.cumin_seeds": "孜然籽", + "item.tfg.spice.oregano_leaves": "牛至叶", + "item.tfg.spice.allspice": "多香果", "item.tfg.roasted_sunflower_seeds": "烤向日葵籽", "item.tfg.sunflower_seeds": "向日葵种子", "item.tfg.sunflower_product": "向日葵花盘", @@ -1218,6 +1239,11 @@ "material.tfg.triglyceride_oil": "甘油三酯油", "material.tfg.cholesterol": "胆固醇", "material.tfg.butyric_acid": "丁酸", + "material.tfg.citric_acid": "柠檬酸", + "material.tfg.sodium_dihydrogen_citrate": "柠檬酸二氢钠", + "material.tfg.light_stock": "清高汤", + "material.tfg.rich_stock": "浓高汤", + "material.tfg.brown_gravy": "棕色肉汁", "material.tfg.zircon": "锆石", "material.tfg.silicon_tetrachloride": "四氯化硅", "material.tfg.zirconium_tetrachloride": "四氯化锆", @@ -1558,6 +1584,12 @@ "tfg.gui.rnr_plow.width": "路径宽度:%d 格", "tfg.gui.rnr_plow.empty_crushed_base_course": "§c缺少碎石基层!!", "tfg.tooltip.progenitor_cells.mob": "动物培养:", + "tfg.tooltip.fake_nutrition_info_listener": "§7§o按住(Shift)查看营养信息", + "tfg.tooltip.fake_nutrition_info": "§7营养:", + "tfg.tooltip.cheese_slice_microplastics": "§b- 微塑料: 1.9", + "tfg.gui.menu.field_guide_splash_text": "提示:阅读野外指南!!!", + "tfg.gui.menu.ram_usage": "内存:", + "tfg.gui.menu.fps_count": "帧率:", "tfc.jei.flint_knapping": "打制石器", "tfc.jei.straw_knapping": "编制干草", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", @@ -1632,6 +1664,7 @@ "tfg.food_recipe.smoking": "熏制", "tfg.food_recipe.drying": "干燥", "tfg.food_recipe.freeze_drying": "冷冻干燥", + "tfg.food_recipe.deep_frying": "油炸", "tfg.recipe.macerator_warning": "高压阶段前仅输出第一格物品", "tfg.grapplemod.repair": "修复配方,保留所有升级模块。§l切勿合并两个抓钩,否则将丢失全部升级!§r", "tfg.grapplemod.upgrades.maxlen": "将§l最大长度§r提升20,最高可达200。", From 67cc06c9ad4198c918cd34153d0ca9a9d81174e6 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Wed, 19 Nov 2025 12:47:01 -0600 Subject: [PATCH 088/628] fix drinking all blocks (#2246) * langs * fix drinking dirt * Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 3 +++ kubejs/server_scripts/tfg/data.js | 4 ++-- kubejs/server_scripts/tfg/tags.js | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9062492af..6e736cb23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - Made Nitrocellulose less annoying to craft @BlueBoat29 - Added tags to platinum group ores @Mqrius - Moved the Flintlock from Steel --> Wrought Iron @BlueBoat29 +- Added better tooltips for custom machines @Xtrial-01 ### Bug fixes - Fixed TFC bug where paths and roads can collapse on themselves when creating a staircase shape. (#2144) @Redeix - Fixed the HV aqueous accumulator water recipe so the amount of water can actually fit in the HV machine @Pyritie @@ -44,6 +45,8 @@ - Fixed missing nixtamal food processor recipes. @Redeix - Fixed missing lang string from loading screen. @Redeix - Fixed some mismatched lang strings between ja_jp and en_us @BlueBoat29 @jmecn +- Fixed Railgun Ammo size @TomPlop +- Fixed bread and cheese ignoring being rotten @theMegaTech ### Translation updates - Russian @DI-GitH + @nineex + @alexart2006 - Brazilian Portuguese @Redeix diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index bfd3c056d..07e49af45 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -864,8 +864,8 @@ function registerTFGFoodData(event) { }); }); - // Dark Stock - event.drinkable('tfg:dark_stock', (data) => { + // Rich Stock + event.drinkable('tfg:rich_stock', (data) => { data.thirst(4); data.effect("tfc:thirst", (effect) => { effect.chance(0.2); diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index c00e49499..9d8564b5b 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -875,10 +875,10 @@ const registerTFGFluidTags = (event) => { event.add('tfc:drinkables', 'tfg:brown_gravy') event.add('tfc:any_drinkables', 'tfg:brown_gravy') - event.add('minecraft:water', 'tfg:dark_stock') - event.add('tfc:any_water', 'tfg:dark_stock') - event.add('tfc:drinkables', 'tfg:dark_stock') - event.add('tfc:any_drinkables', 'tfg:dark_stock') + event.add('minecraft:water', 'tfg:rich_stock') + event.add('tfc:any_water', 'tfg:rich_stock') + event.add('tfc:drinkables', 'tfg:rich_stock') + event.add('tfc:any_drinkables', 'tfg:rich_stock') event.add('minecraft:water', 'tfg:light_stock') event.add('tfc:any_water', 'tfg:light_stock') From 6413c7e63f382b34e16f7deba3aaff8a13e12122 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Wed, 19 Nov 2025 18:15:20 -0600 Subject: [PATCH 089/628] 0.11.8 Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e736cb23..63b30b805 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,11 @@ # Changelog - ## [Unreleased] ### Changes +### Bug fixes +### Translation updates + +## [0.11.8] - 19-11-2025 +### Changes - Added a paving cart for automating RNR roads. (#2144) @Redeix - Non-TFC armors now have TFC resistances (#2157) @theMegaTech - Regular Blue Steel Boots now also count towards the lavaproof diving set (#2155) @theMegaTech From 4deb1ab0c0e93a9481913ee2f16e4628aa0764a7 Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 20 Nov 2025 16:52:13 -0600 Subject: [PATCH 090/628] Change dark stock to rich stock in recipe Signed-off-by: Redeix --- kubejs/server_scripts/tfg/recipes.food.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 867ffe490..aa9e42dbb 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -1541,7 +1541,7 @@ function registerTFGFoodRecipes(event) { 'firmalife:food/butter', 'tfg:spice/allspice' ], - fluidInputs: ['tfg:light_stock 1000', 'tfg:dark_stock 1000'], + fluidInputs: ['tfg:light_stock 1000', 'tfg:rich_stock 1000'], fluidOutputs: [Fluid.of('tfg:brown_gravy', 2000)] }); From 4bb2212273ae530334df1086c5a4a58729d35c94 Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 20 Nov 2025 16:52:59 -0600 Subject: [PATCH 091/628] changelog Signed-off-by: Redeix --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 63b30b805..5c04f7c74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## [Unreleased] ### Changes ### Bug fixes +- Fixed brown gravy recipe @Redeix ### Translation updates ## [0.11.8] - 19-11-2025 From 1a3ae0f4e76d2f0c96f5c02a00afe3899e2e3a7e Mon Sep 17 00:00:00 2001 From: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> Date: Fri, 21 Nov 2025 05:27:18 +0000 Subject: [PATCH 092/628] Add shapeless p2p recipes (#2234) --- kubejs/server_scripts/ae2/recipes.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 1c5087d56..117d1425b 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -327,6 +327,17 @@ const registerAE2Recipes = (event) => { D: '#forge:gems/fluix', }).addMaterialInfo().id('tfg:crafting/me_p2p_tunnel') + event.shapeless('ae2:me_p2p_tunnel', ['ae2:me_p2p_tunnel']) + .id('tfg:shapeless/me_p2p_tunnel') + event.shapeless('ae2:redstone_p2p_tunnel', ['ae2:redstone_p2p_tunnel']) + .id('tfg:shapeless/redstone_p2p_tunnel') + event.shapeless('ae2:item_p2p_tunnel', ['ae2:item_p2p_tunnel']) + .id('tfg:shapeless/item_p2p_tunnel') + event.shapeless('ae2:fluid_p2p_tunnel', ['ae2:fluid_p2p_tunnel']) + .id('tfg:shapeless/fluid_p2p_tunnel') + event.shapeless('ae2:light_p2p_tunnel', ['ae2:light_p2p_tunnel']) + .id('tfg:shapeless/light_p2p_tunnel') + // ME Chest event.recipes.gtceu.shaped('ae2:chest', [ 'AEA', From 0abf0c33578d7dacf0abac026051b25b7e734ea2 Mon Sep 17 00:00:00 2001 From: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> Date: Fri, 21 Nov 2025 05:29:31 +0000 Subject: [PATCH 093/628] Add assembler and smelting recipes for firmalife ovens (#2220) * Add assembler and smelting recipes for firmalife ovens * Add oven heating recipes * Update ids and changelog --------- Signed-off-by: Redeix Co-authored-by: Redeix --- kubejs/server_scripts/firmalife/recipes.js | 17 +++++++++++++++++ kubejs/server_scripts/tfc/recipes.machines.js | 11 +++++++++++ kubejs/startup_scripts/tfc/constants.js | 11 +++++++++++ 3 files changed, 39 insertions(+) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index bffd93485..de40b9c9a 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -1015,4 +1015,21 @@ const registerFirmaLifeRecipes = (event) => { }, "duration": 16000 }).id('tfg:barrel/shosha_wheel') + + // #region Oven heating recipes + + event.recipes.tfc.heating(`firmalife:oven_top`, 1399) + .resultItem(`firmalife:cured_oven_top`) + .id(`tfg:heating/oven_top`) + event.recipes.tfc.heating(`firmalife:oven_chimney`, 1399) + .resultItem(`firmalife:cured_oven_chimney`) + .id(`tfg:heating/oven_chimney`) + event.recipes.tfc.heating(`firmalife:oven_bottom`, 1399) + .resultItem(`firmalife:cured_oven_bottom`) + .id(`tfg:heating/oven_bottom`) + event.recipes.tfc.heating(`firmalife:oven_hopper`, 1399) + .resultItem(`firmalife:cured_oven_hopper`) + .id(`tfg:heating/oven_hopper`) + + // #endregion } diff --git a/kubejs/server_scripts/tfc/recipes.machines.js b/kubejs/server_scripts/tfc/recipes.machines.js index d2f419575..319bbe004 100644 --- a/kubejs/server_scripts/tfc/recipes.machines.js +++ b/kubejs/server_scripts/tfc/recipes.machines.js @@ -131,6 +131,17 @@ function registerTFCMachineRecipes(event) { .EUt(2) } + for (let i = 0; i < global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { + let element = global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; + + event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) + .itemInputs(element.input) + .circuit(i) + .itemOutputs(element.output) + .duration(450) + .EUt(2) + } + event.recipes.gtceu.extruder('tfg:unfired_clay_brick') .itemInputs('minecraft:clay_ball') .notConsumable('gtceu:ingot_extruder_mold') diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 5486c4949..76cd2e962 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -800,6 +800,11 @@ global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { 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: "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" }, + { input: "firmalife:oven_chimney", output: "firmalife:cured_oven_chimney", name: "oven_chimney" }, + { input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" }, + { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, { input: "tfcchannelcasting:unfired_mold_table", output: "tfcchannelcasting:mold_table", name: "mold_table" } ]); @@ -830,6 +835,12 @@ global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_large_vessel", name: "large_vessel" }, { input: "5x minecraft:clay_ball", output: "tfcchannelcasting:unfired_heart_mold", name: "heart_mold" }, { input: "5x minecraft:clay_ball", output: "10x rnr:unfired_roof_tile", name: "roof_tile" }, + { input: "5x minecraft:clay_ball", output: "firmalife:oven_top", name: "oven_top" }, + { input: "5x minecraft:clay_ball", output: "firmalife:oven_chimney", name: "oven_chimney" }, + { input: "5x minecraft:clay_ball", output: "firmalife:oven_bottom", name: "oven_bottom" }, +]); + +global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_fire_ingot_mold", name: "fire_ingot_mold" }, { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" }, { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_channel", name: "channel" }, From ddd4fad8245d4946b1da988c442aea5aa813cda9 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 21 Nov 2025 00:10:06 -0600 Subject: [PATCH 094/628] Balancing (#2254) * moon cheese nutrition * carboard * tool rack and fluid heat * wax * wax 2 * tool rack 2 * broken * changelog --- CHANGELOG.md | 6 + kubejs/server_scripts/ad_astra/data.js | 8 +- .../gregtech/recipes.removes.js | 2 + kubejs/server_scripts/gregtech/tags.js | 2 + kubejs/server_scripts/tfc/tags.js | 111 ++++++++++-------- kubejs/server_scripts/tfg/recipes.food.js | 2 +- .../tfg/recipes.miscellaneous.js | 37 +++++- kubejs/server_scripts/tfg/tags.js | 1 - kubejs/startup_scripts/gtceu/constants.js | 5 - 9 files changed, 114 insertions(+), 60 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c04f7c74..3b405d9bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,14 @@ # Changelog ## [Unreleased] ### Changes +- Add shapeless p2p recipes (#2234) @SpicyNoodle5 +- Added assembler, smelting and heating recipes for firmalife ovens (#2220) @SpicyNoodle5 +- Raised burning fluid threshold from 370K to 1300K @Redeix +- Added partial unification to the gtceu wax material @Redeix ### Bug fixes - Fixed brown gravy recipe @Redeix +- Fixed instant mac recipe requiring less cardboard than it gives back @Redeix +- Fixed Ad Astra moon cheese nutrition values being inconsistent @Redeix ### Translation updates ## [0.11.8] - 19-11-2025 diff --git a/kubejs/server_scripts/ad_astra/data.js b/kubejs/server_scripts/ad_astra/data.js index 2ed5e30c5..ac8b03a0b 100644 --- a/kubejs/server_scripts/ad_astra/data.js +++ b/kubejs/server_scripts/ad_astra/data.js @@ -13,10 +13,10 @@ function registerTFCDataForAdAstra(event) { event.itemSize('ad_astra:launch_pad', 'very_large', 'very_heavy') event.foodItem('ad_astra:cheese', food => { - food.hunger(4) - food.saturation(12) - food.dairy(5) - food.decayModifier(10) + food.hunger(3) + food.saturation(3) + food.dairy(1.2) + food.decayModifier(0.9) }) global.AD_ASTRA_WOOD.forEach(wood => { diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 807c26883..c84170b41 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -659,6 +659,8 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:assembler/assemble_purpur_into_stair' }) event.remove({ id: 'gtceu:assembler/stonecutter' }) + event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__blaze' }) + event.remove({ id: 'gtceu:chemical_reactor/ghast_tear_separation' }) event.remove({ id: 'gtceu:assembler/assemble_brick_into_stair' }) diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 41fc339d0..092e04a86 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -57,6 +57,8 @@ function registerGTCEUItemTags(event) { // @ts-expect-error According to KJS docs adding tags to tags is supported. event.add("gtceu:molds", "#gtceu:casting_molds", "#gtceu:extruder_molds", "gtceu:empty_mold"); + + event.add('forge:wax', 'gtceu:wax_dust'); } /** @param {TagEvent.Block} event */ diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index ec4deede5..c2b68f7d8 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -18,51 +18,70 @@ function registerTFCItemTags(event) { } }); - event.add("tfc:usable_on_tool_rack", "#forge:tools/mining_hammers"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/spades"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/wrenches"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/files"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/crowbars"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/screwdrivers"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/wire_cutters"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/butchery_knives"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/plungers"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/mortars"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/mallets"); - - event.add("tfc:usable_on_tool_rack", "#forge:tools/chainsaws"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/buzzsaws"); - event.add("tfc:usable_on_tool_rack", "#forge:tools/drills"); - - event.add("tfc:usable_on_tool_rack", "#forge:tools/fishing_nets"); - - event.add("tfc:usable_on_tool_rack", "#tfc:buckets"); - - event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_building"); - event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_exchanging"); - event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_copy_paste"); - event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_cut_paste"); - event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_destruction"); - event.add("tfc:usable_on_tool_rack", "create:super_glue"); - event.add("tfc:usable_on_tool_rack", "exposure:camera"); - event.add("tfc:usable_on_tool_rack", "measurements:tape_measure"); - event.add("tfc:usable_on_tool_rack", "#chalk:chalks"); - event.add("tfc:usable_on_tool_rack", "chalk:chalk_box"); - event.add("tfc:usable_on_tool_rack", "computercraft:pocket_computer_normal"); - event.add("tfc:usable_on_tool_rack", "computercraft:pocket_computer_advanced"); - event.add("tfc:usable_on_tool_rack", "grapplemod:grapplinghook"); - event.add("tfc:usable_on_tool_rack", "grapplemod:launcheritem"); - event.add("tfc:usable_on_tool_rack", "ae2:color_applicator"); - event.add("tfc:usable_on_tool_rack", "ae2:matter_cannon"); - event.add("tfc:usable_on_tool_rack", "ae2:network_tool"); - event.add("tfc:usable_on_tool_rack", "ae2:wireless_terminal"); - event.add("tfc:usable_on_tool_rack", "ae2:wireless_crafting_terminal"); - event.add("tfc:usable_on_tool_rack", "waterflasks:leather_flask"); - event.add("tfc:usable_on_tool_rack", "waterflasks:iron_flask"); - event.add("tfc:usable_on_tool_rack", "waterflasks:red_steel_flask"); - event.add("tfc:usable_on_tool_rack", "tfc:wool_cloth"); - event.add("tfc:usable_on_tool_rack", "firmalife:mixing_bowl"); - event.add("tfc:usable_on_tool_rack", "#gtceu:molds"); + /** + * @type {string[]} - Item IDs and tags usable on tfc tool racks. + */ + const usableOnToolRack = [ + "#forge:tools/mining_hammers", + "#forge:tools/spades", + "#forge:tools/wrenches", + "#forge:tools/files", + "#forge:tools/crowbars", + "#forge:tools/screwdrivers", + "#forge:tools/wire_cutters", + "#forge:tools/butchery_knives", + "#forge:tools/plungers", + "#forge:tools/mortars", + "#forge:tools/mallets", + "#forge:tools/chainsaws", + "#forge:tools/buzzsaws", + "#forge:tools/drills", + "#forge:tools/fishing_nets", + "#tfc:buckets", + "buildinggadgets2:gadget_building", + "buildinggadgets2:gadget_exchanging", + "buildinggadgets2:gadget_copy_paste", + "buildinggadgets2:gadget_cut_paste", + "buildinggadgets2:gadget_destruction", + "create:super_glue", + "exposure:camera", + "measurements:tape_measure", + "#chalk:chalks", + "chalk:chalk_box", + "computercraft:pocket_computer_normal", + "computercraft:pocket_computer_advanced", + "grapplemod:grapplinghook", + "grapplemod:launcheritem", + "ae2:color_applicator", + "ae2:matter_cannon", + "ae2:network_tool", + "ae2:wireless_terminal", + "ae2:wireless_crafting_terminal", + "waterflasks:leather_flask", + "waterflasks:iron_flask", + "waterflasks:red_steel_flask", + "tfc:wool_cloth", + "firmalife:mixing_bowl", + "#gtceu:molds", + "#gtceu:molds", + "create:wrench", + "framedblocks:framed_screwdriver", + "framedblocks:framed_wrench", + "framedblocks:framed_hammer", + "framedblocks:framed_key", + "mcw_tfc_aio:roofing_hammer", + "tfclunchbox:lunchbox", + "tfclunchbox:cooling_lunchbox", + "tfclunchbox:electric_lunchbox", + "primitive_creatures:yhgi", + "primitive_creatures:reh", + "species:harpoon", + "species:crankbow", + "tfg:trowel" + ]; + usableOnToolRack.forEach((entry) => { + event.add("tfc:usable_on_tool_rack", entry); + }); // Ингредиенты для закваски event.add("tfg:ferments_to_rennet", "tfc:food/soybean"); @@ -611,7 +630,7 @@ function registerTFCFluidTags(event) { event.add("tfc:usable_in_red_steel_bucket", idStr); } // Burns ya. - if (temp >= 370) { + if (temp >= 1300) { event.add("tfchotornot:hot_whitelist", idStr); } // Blue steel: can do heat, can't do cryo. diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index aa9e42dbb..483029be9 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -1618,7 +1618,7 @@ function registerTFGFoodRecipes(event) { // Instant Mac processorRecipe('raw_instant_mac', 20 * 10, GTValues.VA[GTValues.LV], { - itemInputs: ['firmalife:food/raw_egg_noodles', '#tfg:foods/cheeses', 'create:cardboard'], + itemInputs: ['firmalife:food/raw_egg_noodles', '#tfg:foods/cheeses', '2x create:cardboard'], itemOutputs: ['2x tfg:food/raw_instant_mac'], fluidInputs: ['gtceu:polyethylene 100'], itemOutputProvider: TFC.isp.of('2x tfg:food/raw_instant_mac').copyFood() diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 2d3ec7645..23a1d2bef 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -759,7 +759,7 @@ function registerTFGMiscellaneousRecipes(event) { A: 'tfg:soaked_hardwood_strip', B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1), C: 'tfc:glue', - D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1), + D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) }).id('tfg:shaped/harvest_basket_from_wood') event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_wood') @@ -781,7 +781,7 @@ function registerTFGMiscellaneousRecipes(event) { A: 'tfc:soaked_papyrus_strip', B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1), C: 'tfc:glue', - D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1), + D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) }).id('tfg:shaped/harvest_basket_from_papyrus') event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_papyrus') @@ -877,7 +877,7 @@ function registerTFGMiscellaneousRecipes(event) { 'AAA', 'AAA' ], { - A: 'tfg:aes_insulation_sheet', + A: 'tfg:aes_insulation_sheet' }).id('tfg:shaped/aes_insulation_roll') event.recipes.gtceu.assembler('tfg:aes_insulation_sheet') @@ -1553,5 +1553,36 @@ function registerTFGMiscellaneousRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) }); TFGHelpers.registerMaterialInfo('tfg:rnr_plow', {'cobalt_brass': 5, 'invar': 2, 'steel': 2, 'wrought_iron': 2, 'rubber': 1, 'treated_wood': 1}); + + //#endregion + //#region Wax Unification + + // Recipe Removals + event.remove({id: 'gtceu:extractor/extract_honeycomb_block'}); + event.remove({id: 'gtceu:extractor/extract_honeycomb'}); + event.remove({id: 'gtceu:extractor/extract_wax_dust'}); + + // Extractor Recipe + event.recipes.gtceu.extractor('tfg:wax_melting') + .itemInputs(Ingredient.of('#forge:wax')) + .outputFluids(Fluid.of('gtceu:wax', 144)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING); + + event.recipes.gtceu.extractor('tfg:tiny_wax_dust_melting') + .itemInputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Wax, 1)) + .outputFluids(Fluid.of('gtceu:wax', 16)) + .duration(10) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING); + + event.recipes.gtceu.extractor('tfg:small_wax_dust_melting') + .itemInputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Wax, 1)) + .outputFluids(Fluid.of('gtceu:wax', 36)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING); + //#endregion } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 9d8564b5b..b3ca69a4c 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -90,7 +90,6 @@ const registerTFGItemTags = (event) => { event.add('minecraft:piglin_loved', 'tfg:piglin_disguise') event.add('forge:tools/trowels', 'tfg:trowel') - event.add('tfc:usable_on_tool_rack', 'tfg:trowel') event.add('tfg:harvester', 'tfg:harvest_basket') event.add('tfg:harvester', 'tfg:aluminium_harvest_basket') diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 85c03441a..4666d23a6 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -156,11 +156,6 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:titanium_leggings", "gtceu:titanium_boots", - // Huh - "gtceu:wax_dust", - "gtceu:small_wax_dust", - "gtceu:tiny_wax_dust", - // Sculk "gtceu:tiny_echo_shard_dust", "gtceu:small_echo_shard_dust", From e023212a706f25641761f38306569f57171a19e8 Mon Sep 17 00:00:00 2001 From: Redeix Date: Fri, 21 Nov 2025 01:27:07 -0600 Subject: [PATCH 095/628] oops (#2255) --- kubejs/startup_scripts/tfc/constants.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 76cd2e962..b249a5a56 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -804,8 +804,7 @@ global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "firmalife:oven_top", output: "firmalife:cured_oven_top", name: "oven_top" }, { input: "firmalife:oven_chimney", output: "firmalife:cured_oven_chimney", name: "oven_chimney" }, { input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" }, - { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, - { input: "tfcchannelcasting:unfired_mold_table", output: "tfcchannelcasting:mold_table", name: "mold_table" } + { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" } ]); global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ From 73f09834bbc3fa611433192a8dbe451b036c83df Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Sun, 23 Nov 2025 04:08:26 +0800 Subject: [PATCH 096/628] Add zh_cn translation for patchouli book (#2266) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc: Add zh_cn translation for patchouli_books * feat: Add quest/gregtech_energy/Large Boilers to language files * feat: remove unreviewed contents * feat: remove unreviewed contents * fix: fix typo * fix: fix Large Boilers * fix: update task for Large Boilers * fix: fix bronze ratio in patchouli book * feat: add zh_cn for patchouli book --------- Co-authored-by: 闫茂源 --- .../getting_started/primitive_alloys.json | 2 +- .../field_guide/zh_cn/categories/beneath.json | 6 + .../zh_cn/categories/roadsandroofs.json | 6 + .../zh_cn/categories/tfg_ores.json | 6 + .../zh_cn/categories/tfg_tips.json | 6 + .../arborfirmacraft/making_rubber.json | 49 ++++ .../arborfirmacraft/tapping_index.json | 160 ++++++++++++ .../entries/arborfirmacraft/tree_tapping.json | 36 +++ .../zh_cn/entries/firmalife/irrigation.json | 28 +++ .../entries/getting_started/finding_ores.json | 109 ++++++++ .../entries/getting_started/introduction.json | 168 +++++++++++++ .../getting_started/primitive_alloys.json | 76 ++++++ .../getting_started/primitive_anvils.json | 237 ++++++++++++++++++ .../entries/roadsandroofs/concrete_roads.json | 71 ++++++ .../entries/roadsandroofs/gravel_roads.json | 24 ++ .../zh_cn/entries/roadsandroofs/hoggin.json | 20 ++ .../entries/roadsandroofs/making_a_road.json | 34 +++ .../entries/roadsandroofs/making_a_roof.json | 32 +++ .../entries/roadsandroofs/paving_cart.json | 48 ++++ .../entries/roadsandroofs/stone_roads.json | 35 +++ .../zh_cn/entries/tfg_ores/hazards.json | 95 +++++++ .../zh_cn/entries/tfg_ores/ore_basics.json | 47 ++++ 22 files changed, 1294 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/beneath.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/roadsandroofs.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_ores.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_tips.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/making_rubber.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tree_tapping.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmalife/irrigation.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/finding_ores.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/introduction.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_anvils.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/gravel_roads.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/hoggin.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_road.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_roof.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/stone_roads.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json index 02f4a4702..a76be7b4e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json @@ -14,7 +14,7 @@ }, { "type": "patchouli:text", - "text": "For example, to create 1000 mB of $(thing)Bronze$() (shown to the right), you would need between 880 and 920 mB of $(thing)Copper$(), and between 80 and 120 mB of $(thing)Tin$().$(br2)The next three pages show the recipes of the three bronzes. Each type of bronze can be used to make tools, $(l:mechanics/armor)Armor$(), and other metal items. They are slightly different so resulting tools will have different durability, efficiency, and attack damage." + "text": "For example, to create 1000 mB of $(thing)Bronze$() (shown to the right), you would need between 700 and 800 mB of $(thing)Copper$(), and between 200 and 300 mB of $(thing)Tin$().$(br2)The next three pages show the recipes of the three bronzes. Each type of bronze can be used to make tools, $(l:mechanics/armor)Armor$(), and other metal items. They are slightly different so resulting tools will have different durability, efficiency, and attack damage." }, { "type": "patchouli:spotlight", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/beneath.json new file mode 100644 index 000000000..7a8d7f1ed --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/beneath.json @@ -0,0 +1,6 @@ +{ + "name": "下界……?", + "description": "关于幽冥之地的一切", + "icon": "minecraft:netherrack", + "sortnum": 10 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/roadsandroofs.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/roadsandroofs.json new file mode 100644 index 000000000..ed6658a28 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/roadsandroofs.json @@ -0,0 +1,6 @@ +{ + "name": "道路与屋顶", + "description": "道路与屋顶扩展模组使用指南", + "icon": "rnr:metal/mattock/bismuth_bronze", + "sortnum": 19 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_ores.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_ores.json new file mode 100644 index 000000000..bb93a1095 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_ores.json @@ -0,0 +1,6 @@ +{ + "name": "TFG矿物", + "description": "TFG整合包采用独特的矿脉生成系统,类似群峦传说的矿脉生成机制——大而稀有的矿脉,但每个矿脉会产出多种矿物。本章将列出所有矿脉类型及其分布区域。$(br2)矿脉以其最主要的矿石命名,但大多数矿脉包含3-5种矿物。$(br2)另请参阅:$(l:the_world/geology)地质学$(),$(l:getting_started/finding_ores)矿石、金属和铸造$()", + "icon": "tfc:ore/pyrite", + "sortnum": 60 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_tips.json new file mode 100644 index 000000000..ce07b0c0f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfg_tips.json @@ -0,0 +1,6 @@ +{ + "name": "TFG提示与说明", + "description": "介绍TerraFirmaGreg整合包与原版群峦传说和格雷科技的不同之处。", + "icon": "tfg:terra_firma_greg", + "sortnum": 200 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/making_rubber.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/making_rubber.json new file mode 100644 index 000000000..1fee277bb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/making_rubber.json @@ -0,0 +1,49 @@ +{ + "name": "处理乳胶", + "category": "tfc:arborfirmacraft", + "icon": "gtceu:sticky_resin", + "pages": [ + { + "type": "patchouli:text", + "text": "看来你已经通过采集特定的热带树木获得了些$(thing)乳胶$()……恭喜!乳胶本身用途有限,但通过加工处理我们可以得到许多非常有用的副产品!$(br2)如果你还没找到能产出乳胶的树木,可以查看$(l:arborfirmacraft/tapping_index)采集指南$()条目获取更多信息!" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:sticky_resin", + "title": "一种黏稠物质", + "link_recipe": true, + "text": "$(thing)乳胶$()的一种用途是生产$(item)黏性树脂$()。黏性树脂需要在$(l:firmalife/oven_appliances#vat)不锈钢锅$()或$(l:mechanics/pot)陶锅$()中加入$(thing)草木灰$()来凝固乳胶制成。" + }, + { + "type": "patchouli:spotlight", + "title": "黏性生意", + "item": "gtceu:resin_circuit_board,gtceu:resistor,gtceu:basic_tape", + "text": "$(thing)黏性树脂$()用途多样,因为它非常黏腻。它可以用来制作多个物品,比如$(item)胶带$()可以移动箱子而不会掉落内容物;更重要的是,它还能做成$(item)覆膜电路基板$()和$(item)电阻$()——这些是你最早期的电子元件。" + }, + { + "type": "patchouli:spotlight", + "item": "tfg:vulcanized_latex_bucket", + "title": "我是橡胶……", + "text": "$(thing)乳胶$()的另一主要用途是制造橡胶。为了让乳胶更强韧、适合工业用途,需将其加热(使用 $(l:firmalife/oven_appliances#vat)不锈钢锅$()或$(l:mechanics/pot)陶锅$()),并加入$(thing)硫磺粉$()制成$(thing)硫化乳胶$()。这个过程本身叫做“硫化”!" + }, + { + "type": "patchouli:spotlight", + "title": "提取", + "item": "gtceu:raw_rubber_dust", + "text": "使用$(thing)提取机$()或$(thing)真空腔室$(),可以将$(thing)硫化乳胶$()干燥为$(item)生橡胶末$()。这种粉末还需在$(thing)合金炉$()中与$(thing)硫磺粉$()一起处理,才能制成$(thing)橡胶条$()。" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:rubber_ingot", + "text": "$(thing)橡胶条$()应用广泛,例如用于制作工厂用的$(thing)传送带$(),以及最重要的:用于$(bold)绝缘$()$(thing)电线$()。绝缘电线可安全触碰且减少电压损耗。" + }, + { + "type": "patchouli:spotlight", + "title": "松脂", + "item": "tfg:conifer_pitch_bucket", + "text": "黏性树脂也可以从特定的$(thing)针叶松树$()中获取,不过这些树无法用来做橡胶。" + } + ], + "read_by_default": true, + "sortnum": 3 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json new file mode 100644 index 000000000..8347630a5 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json @@ -0,0 +1,160 @@ +{ + "name": "采集指南", + "category": "tfc:arborfirmacraft", + "icon": "afc:wood/sapling/weeping_maple", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "text": "这是世界中所有可采集树木的列表,按字母顺序排列。$(br)$(thing)气候数据$() 会显示该树适合生长的温度和降雨范围,$(thing)采集数据$() 则说明其产量、流速及是否仅春天产出。" + }, + { + "type": "patchouli:text", + "text": "$(l:arborfirmacraft/tapping_index#maple)$(li)枫树$()$(l:arborfirmacraft/tapping_index#birch)$(li)桦树$()$(l:arborfirmacraft/tapping_index#hevea)$(li)橡胶树$()$(l:arborfirmacraft/tapping_index#rubber_fig)$(li)橡胶榕$()$(l:arborfirmacraft/tapping_index#kapok)$(li)木棉树$()$(l:arborfirmacraft/tapping_index#aspen)$(li)白杨树$()$(l:arborfirmacraft/tapping_index#spruce)$(li)云杉$()$(l:arborfirmacraft/tapping_index#white_cedar)$(li)雪松$()$(l:arborfirmacraft/tapping_index#douglas_fir)$(li)花旗松$()" + }, + { + "type": "patchouli:spotlight", + "anchor": "maple", + "title": "枫树", + "item": "tfc:wood/log/maple,tfc:wood/wood/maple,tfc:wood/leaves/maple,tfc:wood/sapling/maple", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -8.4°C$(br)$(thing)最高温度$(): 8°C$(br)$(thing)最低降雨量$(): 240$(br)$(thing)最高降雨量$(): 470$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -15°C$(br)$(thing)最高产出温度$(): 5°C$(br)$(thing)春季特有$(): 不是$(br)$(thing)流速$(): 5mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/maple_tree.png" + ], + "text": "$(thing)产出物$(): 枫树汁$(br)$(thing)加工产物$(): 枫糖", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "birch", + "title": "白桦树", + "item": "tfc:wood/log/birch,tfc:wood/wood/birch,tfc:wood/leaves/birch,tfc:wood/sapling/birch", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -12.1°C$(br)$(thing)最高温度$(): 6.1°C$(br)$(thing)最低降雨量$(): 125$(br)$(thing)最高降雨量$(): 310$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -15°C$(br)$(thing)最高产出温度$(): 5°C$(br)$(thing)春季特有$(): 不是$(br)$(thing)流速$(): 5mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/birch_tree.png" + ], + "text": "$(thing)产出物$(): 桦树汁$(br)$(thing)加工产物$(): 桦糖", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "hevea", + "title": "三叶胶树", + "item": "afc:wood/log/hevea,afc:wood/wood/hevea,afc:wood/leaves/hevea,afc:wood/sapling/hevea", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): 17.1°C$(br)$(thing)最高温度$(): 26.2°C$(br)$(thing)最低降雨量$(): 390$(br)$(thing)最高降雨量$(): 500$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): 8°C$(br)$(thing)最高产出温度$(): N/A$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 3mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/hevea_tree.png" + ], + "text": "$(thing)产出物$(): 乳胶$(br)$(thing)加工产物$(): 黏性树脂 & 橡胶", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "rubber_fig", + "title": "橡胶无花果树", + "item": "afc:wood/log/rubber_fig,afc:wood/wood/rubber_fig,afc:wood/leaves/rubber_fig,afc:wood/sapling/rubber_fig", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): 9.8°C$(br)$(thing)最高温度$(): 20.7°C$(br)$(thing)最低降雨量$(): 290$(br)$(thing)最高降雨量$(): 400$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): 4°C$(br)$(thing)最高产出温度$(): N/A$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/rubber_fig_tree.png" + ], + "text": "$(thing)产出物$(): 乳胶$(br)$(thing)加工产物$(): 黏性树脂 & 橡胶", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "kapok", + "title": "木棉树", + "item": "tfc:wood/log/kapok,tfc:wood/wood/kapok,tfc:wood/leaves/kapok,tfc:wood/sapling/kapok", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): 17.1°C$(br)$(thing)最高温度$(): 38°C$(br)$(thing)最低降雨量$(): 320$(br)$(thing)最高降雨量$(): 500$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): 12°C$(br)$(thing)最高产出温度$(): N/A$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 4mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/kapok_tree.png" + ], + "text": "$(thing)产出物$(): 乳胶$(br)$(thing)加工产物$(): 黏性树脂 & 橡胶", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "aspen", + "title": "山杨树", + "item": "tfc:wood/log/aspen,tfc:wood/wood/aspen,tfc:wood/leaves/aspen,tfc:wood/sapling/aspen", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -15.7°C$(br)$(thing)最高温度$(): -1.1°C$(br)$(thing)最低降雨量$(): 350$(br)$(thing)最高降雨量$(): 500$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -10°C$(br)$(thing)最高产出温度$(): N/A$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/aspen_tree.png" + ], + "text": "$(thing)产出物$(): 松脂$(br)$(thing)加工产物$(): 黏性树脂 & 松香", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "spruce", + "title": "云杉树", + "item": "tfc:wood/log/spruce,tfc:wood/wood/spruce,tfc:wood/leaves/spruce,tfc:wood/sapling/spruce", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -17.5°C$(br)$(thing)最高温度$(): -6.6°C$(br)$(thing)最低降雨量$(): 220$(br)$(thing)最高降雨量$(): 470$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -10°C$(br)$(thing)最高产出温度$(): N/A$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 4mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/spruce_tree.png" + ], + "text": "$(thing)产出物$(): 松脂$(br)$(thing)加工产物$(): 黏性树脂 & 松香", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "white_cedar", + "title": "白雪松树", + "item": "tfc:wood/log/white_cedar,tfc:wood/wood/white_cedar,tfc:wood/leaves/white_cedar,tfc:wood/sapling/white_cedar", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -15.7°C$(br)$(thing)最高温度$(): 0.7°C$(br)$(thing)最低降雨量$(): 100$(br)$(thing)最高降雨量$(): 285$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -8°C$(br)$(thing)最高产出温度$(): N/A$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 3mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/white_cedar_tree.png" + ], + "text": "$(thing)产出物$(): 松脂$(br)$(thing)加工产物$(): 黏性树脂 & 松香", + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "douglas_fir", + "title": "花旗松树", + "item": "tfc:wood/log/douglas_fir,tfc:wood/wood/douglas_fir,tfc:wood/leaves/douglas_fir,tfc:wood/sapling/douglas_fir", + "link_recipe": false, + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -15.7°C$(br)$(thing)最高温度$(): 6.1°C$(br)$(thing)最低降雨量$(): 305$(br)$(thing)最高降雨量$(): 500$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -8°C$(br)$(thing)最高产出温度$()): N/A$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 2mb" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tapping_index/douglas_fir_tree.png" + ], + "text": "$(thing)产出物$(): 松脂$(br)$(thing)加工产物$(): 黏性树脂 & 松香", + "border": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tree_tapping.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tree_tapping.json new file mode 100644 index 000000000..471273ea0 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tree_tapping.json @@ -0,0 +1,36 @@ +{ + "name": "树汁采集", + "category": "tfc:arborfirmacraft", + "icon": "afc:tree_tap", + "pages": [ + { + "type": "patchouli:text", + "text": "某些树木可以被采集以获取有用的流体。这些树木可产出含糖树液(可浓缩为糖浆用作甜味剂)、乳胶(可加工成橡胶)或树脂(可加工成松香作为蜡替代品)。" + }, + { + "type": "patchouli:image", + "title": "获取枫树树汁", + "images": [ + "afc:textures/gui/book/maple_tapping.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "采集树汁需要三样东西:树木本身、一只树汁导管(需用铜锭打造并安装在至少三格高树干的中部),以及一个桶(必须正对导管下方、朝上放置)。若条件合适,桶会立刻开始注满树汁。" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/tree_tapping/tapping_kapok.png" + ], + "text": "一个有效的配置:用于从木棉树中提取乳胶", + "border": true + } + ], + "read_by_default": true, + "sortnum": 1, + "extra_recipe_mappings": { + "afc:tree_tap": 0 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmalife/irrigation.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmalife/irrigation.json new file mode 100644 index 000000000..b6ff7aa0f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmalife/irrigation.json @@ -0,0 +1,28 @@ +{ + "name": "灌溉", + "category": "tfc:firmalife", + "icon": "firmalife:sprinkler", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)喷洒器$() 是一种可向其下方 5×6×5 范围内均匀喷水的装置。当它开始滴落水粒子时,说明正在工作。朝上的喷洒器会灌溉其上方同样大小的区域。" + }, + { + "type": "tfc:anvil_recipe", + "recipe": "firmalife:anvil/sprinkler", + "text": "喷洒器由一块 $(thing)铜板$() 制成。" + }, + { + "title": "管道系统", + "item": "gtceu:copper_tiny_fluid_pipe", + "type": "patchouli:spotlight", + "text": "喷洒器必须连接到一套供水管道才能工作。这通过将一系列 $(thing)流体管道$() 连接到喷洒器实现。你可以用 $(thing)动力泵$() 向其中加水。" + }, + { + "type": "patchouli:text", + "text": "你可以右键点击管道并使用格雷科技的框架(如 $(thing)铜框架$())使其与墙面齐平,或使用温室接口。之后即可直接将喷洒器接在管道上!用扳手右键管道可调整方向,按住 Shift 并$(thing)空手$()右键可设置为单向流动。" + } + ], + "read_by_default": true, + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/finding_ores.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/finding_ores.json new file mode 100644 index 000000000..880cc04ff --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/finding_ores.json @@ -0,0 +1,109 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "矿石、金属和铸造", + "category": "tfc:getting_started", + "icon": "tfc:ore/normal_native_copper", + "pages": [ + { + "type": "patchouli:text", + "text": "除了地上的那些木棍、树枝和小石子,你可能还遇到过散落在地表的小矿粒。多收集一点吧,在你获得镐之前,这是你获得矿石和金属为数不多的方法之一。" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + " ", + " 0 ", + " " + ], + [ + "ABCD", + "EFGH", + "IJKL" + ], + [ + "XXXX", + "XXXX", + "XXXX" + ] + ], + "mapping": { + "X": "tfc:grass/loam", + "A": "tfc:ore/small_native_copper", + "B": "tfc:ore/small_native_gold", + "C": "tfc:ore/small_hematite", + "D": "tfc:ore/small_native_silver", + "E": "tfc:ore/small_cassiterite", + "F": "tfc:ore/small_bismuthinite", + "G": "tfc:ore/small_garnierite", + "H": "tfc:ore/small_malachite", + "I": "tfc:ore/small_magnetite", + "J": "tfc:ore/small_limonite", + "K": "tfc:ore/small_sphalerite", + "L": "tfc:ore/small_tetrahedrite" + } + }, + "name": "", + "text": "每种不同的小矿粒", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "这些小矿粒不仅为你提供了早期生存至关重要的金属素材,它们还提示你它们附近的浅表层岩石中可能存在大型矿脉。留心标记你发现这些小矿粒的位置,这些信息等你以后有了$(l:mechanics/prospecting)勘矿镐$()之后会很有用的。$(br2)下一页会介绍这个世界中的的十二种矿粒和他们所对应的金属。" + }, + { + "type": "patchouli:text", + "text": "$(li)原生铜粒($(thing)铜$())$(li)原生金粒($(thing)金$())$(li)赤铁矿粒($(thing)铸铁$())$(li)原生银粒($(thing)银$())$(li)锡石粒($(thing)锡$())$(li)辉铋矿粒($(thing)铋$())$(li)绿镍矿粒($(thing)镍$())$(li)孔雀石粒($(thing)铜$())$(li)磁铁矿粒($(thing)铸铁$())$(li)褐铁矿粒($(thing)铸铁$())$(li)闪锌矿粒($(thing)锌$())$(li)黝铜矿粒($(thing)铜$())", + "title": "小矿石粒" + }, + { + "type": "patchouli:text", + "anchor": "casting", + "text": "在群峦传说中,每个矿石包含的实际金属的$(thing)单位$()($(thing)mB(也就是毫桶)$())是不同的。像这样在地表发现的小矿粒质量最低,只能提供 $(thing)10 mB$() 的金属。为了提取这种金属,需要将其熔化,并使用称为$(thing)铸造$()的工艺制成工具。", + "title": "铸造" + }, + { + "type": "patchouli:text", + "text": "开始之前,你需要准备:$(br)$(li)一只$(l:getting_started/pottery#vessel)小缸$()$(li)足够搭建一个$(l:getting_started/pit_kiln)坑窑$()的材料。$(li)若干个用来浇铸金属的$(l:getting_started/pottery#mold)模具$()。$(li)最后,也是最重要的,至少价值 100 mB 的可以用来铸造的金属矿石。早期的话就只有$(thing)铜$()了(三种铜矿石中的任意一种,或者混搭都行)。$(br2)$(italic)备注:如果材料足够,也可以直接铸造某些$(l:getting_started/primitive_alloys)合金$()。" + }, + { + "type": "patchouli:text", + "text": "首先,打开并将想要熔化的矿粒放进$(thing)小缸$()中。记得一定要数好金属的数量!小缸最多容纳 3024 mB 液态金属,超出部分会损失。然后,把装有矿粒的小缸放进$(l:getting_started/pit_kiln)坑窑$()中并点燃。矿石会随着小缸的升温而熔化,然后你就得到了一缸液态金属。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfchotornot:crafting/tongs/wood", + "text": "小心,小缸现在非常烫!用两根木棍和一把刀制作$(thing)木钳子$(),装备在副手中,才能安全处理高温的小缸。" + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/casting.png" + ], + "text": "手持小缸并按下$(item)$(k:key.use)$()来打开$(thing)铸造$()界面。", + "border": false + }, + { + "type": "patchouli:text", + "text": "接下来,只要将烧制好的模具放在屏幕中间的空格内就可以将液态金属浇铸进模具了。一定要趁金属还没凝固时浇铸。如果金属变冷了的话就只能再造一个坑窑把它熔化了!模具注满之后就可以从小缸中拿出来冷却了。等待模具中的金属凝固之后,手持模具$(item)$(k:key.use)$()点击,或将模具放入合成格中就可以将成品取出。" + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/pickaxe_copper", + "text": "现在你学会如何铸造金属工具了,来尝试做一把镐吧!去收集矿粒,做一个镐头模具,再在坑窑里熔化矿粒并浇铸到模具里,最后加上一根木棍就好了!现在你可以去挖$(l:tfg_ores/index)矿石$()了。" + }, + { + "type": "patchouli:spotlight", + "item": "tfc:metal/chisel/copper", + "text": "还有其他重要的金属工具可供进展使用。$(l:mechanics/chisel)凿子$()可用于石材加工,以满足建筑需求及其他配方需求。" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:copper_saw", + "text": "锯子可用于将原木加工为$(l:mechanics/support_beams)支撑梁$()和$(thing)木材$(),进一步可制成木板、工作台、箱子等。也可用来建造$(l:firmaciv/canoe)独木舟$()。" + } + ], + "read_by_default": true, + "sortnum": 4 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/introduction.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/introduction.json new file mode 100644 index 000000000..bb5915fbf --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/introduction.json @@ -0,0 +1,168 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "第一天", + "category": "tfc:getting_started", + "icon": "tfc:rock/loose/granite", + "pages": [ + { + "type": "patchouli:text", + "text": "在群峦传说中,你最初能获得的资源只有那些散落在地上的木棍、树枝、和小石子。几乎所有气候中都会有这些资源。你可以按$(item)$(k:key.use)$(),或打破它们来把它们捡起来。" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "1 ", + " 2 4", + " 03 ", + " 4 ", + " 5" + ], + [ + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG", + "GGGGG" + ] + ], + "mapping": { + "G": "tfc:grass/sandy_loam", + "1": "tfc:rock/loose/granite[count=1]", + "2": "tfc:rock/loose/granite[count=2]", + "3": "tfc:rock/loose/granite[count=3]", + "4": "tfc:groundcover/stick", + "5": "tfc:wood/twig/ash" + } + }, + "name": "示例", + "text": "一些散落的木棍和石头。", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "除了在地上收集木棍和小树枝外,还可以空手打碎树叶来获得木棍。在你收集了一些石头和木棍后,你就可以开始尝试$(thing)打制石器$()了。打制石器是将两块石子互相敲击以将其中一块凿成特定形状的过程。首先你的手中应至少握住两块石子,然后对着空气按下$(item)$(k:key.use)$()就能打开$(thing)打制界面$()。" + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/rock_knapping.png" + ], + "text": "打制界面。", + "border": false + }, + { + "type": "patchouli:text", + "text": "想要打制特定的物品,就必须通过点击$(thing)打制界面$()上的正方形石片来凿去不要的部分,直到形成所需的图案。例如将石片凿成右侧显示的图案就能做成石刀刃。$(br2)与合成配方一样,所需图案的位置对输出并不重要,并且一些配方具有多个有效的图案。" + }, + { + "type": "tfc:rock_knapping_recipe", + "anchor": "knife", + "recipes": [ + "tfg:rock_knapping/stone_knife_head", + "tfg:rock_knapping/stone_knife_head_1", + "tfg:rock_knapping/stone_knife_head_2", + "tfg:rock_knapping/stone_knife_head_3" + ], + "text": "一把石刀刃,用各种不同的岩石都可以制作。" + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/knife_stone", + "text": "使用木棍或小树枝可以把任意的石制工具头组装成完整的工具。$(br2)石刀可以破坏植物来收获$(thing)干草$()。" + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_axe_head" + ], + "text": "$(thing)斧$()可以砍倒整棵树,包括树干和树叶。但只有单独打碎树叶才能获得树苗和木棍。" + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_shovel_head" + ], + "text": "$(thing)铲$()可以用来挖类似土壤材质的方块。对$(thing)草方块$()或$(thing)泥土$(item)使用$()铲子也可以制造$(thing)土径$()。" + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hoe_head", + "tfg:rock_knapping/stone_hoe_head_1", + "tfg:rock_knapping/stone_hoe_head_2" + ], + "text": "$(thing)锄$()是$(l:mechanics/crops)农耕$()不可或缺的工具。它也可以清理树叶或其他植物。" + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hammer_head" + ], + "text": "$(thing)锤$()可以当作武器使用(造成$(l:mechanics/damage_types)打击伤害$()),但它最主要的用途还是在$(l:getting_started/primitive_anvils)冶金业$()中。" + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfc:rock_knapping/javelin_head_sedimentary", + "tfc:rock_knapping/javelin_head_metamorphic", + "tfc:rock_knapping/javelin_head_igneous_extrusive", + "tfc:rock_knapping/javelin_head_igneous_intrusive" + ], + "text": "最后,$(thing)标枪$()是一种原始的一次性远程武器,也可以当作近战武器使用(造成$(l:mechanics/damage_types)突刺伤害$())。" + } + ], + "read_by_default": true, + "sortnum": 0, + "extra_recipe_mappings": { + "tfc:stone/knife_head/sedimentary": 5, + "tfc:stone/knife_head/metamorphic": 5, + "tfc:stone/knife_head/igneous_extrusive": 5, + "tfc:stone/knife_head/igneous_intrusive": 5, + "tfc:stone/knife/sedimentary": 5, + "tfc:stone/knife/metamorphic": 5, + "tfc:stone/knife/igneous_extrusive": 5, + "tfc:stone/knife/igneous_intrusive": 5, + "tfc:stone/axe_head/sedimentary": 7, + "tfc:stone/axe_head/metamorphic": 7, + "tfc:stone/axe_head/igneous_extrusive": 7, + "tfc:stone/axe_head/igneous_intrusive": 7, + "tfc:stone/axe/sedimentary": 7, + "tfc:stone/axe/metamorphic": 7, + "tfc:stone/axe/igneous_extrusive": 7, + "tfc:stone/axe/igneous_intrusive": 7, + "tfc:stone/shovel_head/sedimentary": 8, + "tfc:stone/shovel_head/metamorphic": 8, + "tfc:stone/shovel_head/igneous_extrusive": 8, + "tfc:stone/shovel_head/igneous_intrusive": 8, + "tfc:stone/shovel/sedimentary": 8, + "tfc:stone/shovel/metamorphic": 8, + "tfc:stone/shovel/igneous_extrusive": 8, + "tfc:stone/shovel/igneous_intrusive": 8, + "tfc:stone/hoe_head/sedimentary": 9, + "tfc:stone/hoe_head/metamorphic": 9, + "tfc:stone/hoe_head/igneous_extrusive": 9, + "tfc:stone/hoe_head/igneous_intrusive": 9, + "tfc:stone/hoe/sedimentary": 9, + "tfc:stone/hoe/metamorphic": 9, + "tfc:stone/hoe/igneous_extrusive": 9, + "tfc:stone/hoe/igneous_intrusive": 9, + "tfc:stone/hammer_head/sedimentary": 10, + "tfc:stone/hammer_head/metamorphic": 10, + "tfc:stone/hammer_head/igneous_extrusive": 10, + "tfc:stone/hammer_head/igneous_intrusive": 10, + "tfc:stone/hammer/sedimentary": 10, + "tfc:stone/hammer/metamorphic": 10, + "tfc:stone/hammer/igneous_extrusive": 10, + "tfc:stone/hammer/igneous_intrusive": 10, + "tfc:stone/javelin_head/sedimentary": 11, + "tfc:stone/javelin_head/metamorphic": 11, + "tfc:stone/javelin_head/igneous_extrusive": 11, + "tfc:stone/javelin_head/igneous_intrusive": 11, + "tfc:stone/javelin/sedimentary": 11, + "tfc:stone/javelin/metamorphic": 11, + "tfc:stone/javelin/igneous_extrusive": 11, + "tfc:stone/javelin/igneous_intrusive": 11 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json new file mode 100644 index 000000000..627d4d5fa --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json @@ -0,0 +1,76 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "原始合金", + "category": "tfc:getting_started", + "icon": "tfc:ceramic/ingot_mold{tank:{\"Amount\":100,\"FluidName\":\"tfc:metal/bronze\"}}", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)合金$()是指由两种或更多种不同金属混合而成的更强的金属。铜在游戏早期很实用,但想要发展到下一级文明,就必须想办法做出$(thing)青铜$()。将不同金属混合在一起熔化,只要所有成分都处于特定区间内就能做出对应的合金了!" + }, + { + "type": "patchouli:text", + "text": "$(thing)小缸$()是游戏早期唯一可以制作合金的手段。制作合金的步骤和$(l:getting_started/finding_ores#casting)铸造$()很相似,唯一的区别是要在小缸中混合放置多种不同的金属而不仅仅是铜。只要小缸中的几种金属比例都位于可接受范围内,熔化所得的金属就会自动转化为合金。" + }, + { + "type": "patchouli:text", + "text": "例如,要合成 1000 mB 的$(thing)青铜$()(右侧所示),你需要加入 700~800 mB 的$(thing)铜$()以及 200~300 mB 的$(thing)锡$()。$(br2)接下来的几页展示了三种不同的铜合金。每种铜合金都可以做成工具、$(l:mechanics/armor)盔甲$()、和其他金属物品,但它们的耐久度、效率、和伤害有些微小的差异。" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:bronze_ingot", + "title": "青铜", + "link_recipes": false, + "text": "$(br)$(bold)条件:$()$(br)$(li)70 - 80 %:$(thing)铜$()$(li)20 - 30 %:$(thing)锡$()$(br2)" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:bismuth_bronze_ingot", + "title": "铋青铜", + "link_recipes": false, + "text": "$(br)$(bold)条件:$()$(br)$(li)20 - 30 %:$(thing)锌$()$(li)50 - 65 %:$(thing)铜$()$(li)10 - 20 %:$(thing)铋$()$(br2)" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:black_bronze_ingot", + "title": "黑青铜", + "link_recipes": false, + "text": "$(br)$(bold)条件:$()$(br)$(li)50 - 70 %:$(thing)铜$()$(li)10 - 25 %:$(thing)银$()$(li)10 - 25 %:$(thing)金$()$(br2)" + }, + { + "type": "patchouli:text", + "text": "还有一些其他不适合制成工具的合金,比如$(thing)黄铜$()、$(thing)玫瑰金$()和$(thing)纯银$()。$(br2)$(thing)黄铜$()的主要作用是制作各种小装置,如$(l:mechanics/mechanical_power)机械动力$()。$(br2)$(thing)玫瑰金$()和$(thing)纯银$()则是熔炼$(l:mechanics/steel#red_steel)红钢$()和$(l:mechanics/steel#blue_steel)蓝钢$()时必须的原料。", + "title": "功能性合金" + }, + { + "type": "patchouli:spotlight", + "anchor": "brass", + "item": "create:brass_ingot", + "title": "黄铜", + "link_recipes": false, + "text": "$(br)$(bold)配方要求:$()$(br)$(li)70 - 80 %:$(thing)铜$()$(li)20 - 30 %:$(thing)锌$()$(br2)" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:rose_gold_ingot", + "title": "玫瑰金", + "link_recipes": false, + "text": "$(br)$(bold)条件:$()$(br)$(li)15 - 30 % : $(thing)铜$()$(li)70 - 85 % : $(thing)金$()$(br2)" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:sterling_silver_ingot", + "title": "纯银", + "link_recipes": false, + "text": "$(br)$(bold)条件:$()$(br)$(li)20 - 40 % : $(thing)铜$()$(li)60 - 80 % : $(thing)银$()$(br2)" + } + ], + "read_by_default": true, + "sortnum": 5, + "extra_recipe_mappings": { + "gtceu:bronze_ingot": 3, + "gtceu:bismuth_bronze_ingot": 4, + "gtceu:black_bronze_ingot": 5, + "gtceu:brass_ingot": 7 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_anvils.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_anvils.json new file mode 100644 index 000000000..3d09b9f8a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_anvils.json @@ -0,0 +1,237 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "原始砧", + "category": "tfc:getting_started", + "icon": "tfc:rock/anvil/granite", + "pages": [ + { + "type": "patchouli:text", + "text": "除了在游戏初期直接浇铸工具外,使用$(thing)砧$()锻造金属也是另一种选择,同时更是加工高级金属的必要条件。砧能用于两种不同工艺:$(l:mechanics/anvils#working)锻造$()和$(l:mechanics/anvils#welding)焊接$()。砧可将所需金属的双锭焊接成更高一级的砧,这是处理该金属其他物品的必要步骤。" + }, + { + "type": "patchouli:text", + "text": "首先,你得找到一块$(thing)天然的$()$(thing)喷出岩$() (流纹岩、玄武岩、安山岩、或英安岩)或$(thing)侵入岩$()(花岗岩、闪长岩、或辉长岩)。你可以直接使用暴露在地表的那些,或者也可以把它们从岩壁上$(l:getting_started/primitive_anvils#raw_rock)采下来$()。" + }, + { + "type": "patchouli:text", + "anchor": "stone_anvils", + "text": "你还需要一把任意材料制成的$(thing)锤$()。要把岩石变成砧,手持$(thing)锤$()右键点击其$(thing)顶面$()即可。$(br2)砧是有不同$(l:mechanics/anvils#tiers)等级$()的。石砧的等级是 0 - 也就是最低等级。它只能用来$(l:mechanics/anvils#welding)焊接$() 1 级的金属锭。", + "title": "石砧" + }, + { + "type": "tfc:multimultiblock", + "text": "将中间那块岩石作为石砧。", + "multiblocks": [ + { + "pattern": [ + [ + " 0 " + ], + [ + "RRR" + ] + ], + "mapping": { + "0": "AIR", + "R": "tfc:rock/raw/gabbro" + } + }, + "tfc:rock_anvil" + ] + }, + { + "type": "patchouli:text", + "anchor": "raw_rock", + "text": "想要获得一块天然的岩石,直接用镐挖是不行的。唯一的方法是将其六面所相邻的方块都挖掉, $(thing)悬空$()的岩石就会掉落其本体了。", + "title": "获得天然岩石" + }, + { + "type": "tfc:multimultiblock", + "text": "挖掉一块天然岩石的所有六个邻面——完成后,中心块将作为物品掉落。", + "multiblocks": [ + { + "pattern": [ + [ + " ", + " R ", + " " + ], + [ + " R ", + "RRR", + " R " + ], + [ + " ", + " 0 ", + " " + ] + ], + "mapping": { + "0": "tfc:rock/raw/gabbro", + "R": "tfc:rock/raw/gabbro" + } + }, + { + "pattern": [ + [ + " ", + " ", + " " + ], + [ + " R ", + "RRR", + " R " + ], + [ + " ", + " 0 ", + " " + ] + ], + "mapping": { + "0": "tfc:rock/raw/gabbro", + "R": "tfc:rock/raw/gabbro" + } + }, + { + "pattern": [ + [ + " ", + " ", + " " + ], + [ + " ", + "RRR", + " R " + ], + [ + " ", + " 0 ", + " " + ] + ], + "mapping": { + "0": "tfc:rock/raw/gabbro", + "R": "tfc:rock/raw/gabbro" + } + }, + { + "pattern": [ + [ + " ", + " ", + " " + ], + [ + " ", + " RR", + " R " + ], + [ + " ", + " 0 ", + " " + ] + ], + "mapping": { + "0": "tfc:rock/raw/gabbro", + "R": "tfc:rock/raw/gabbro" + } + }, + { + "pattern": [ + [ + " ", + " ", + " " + ], + [ + " ", + " RR", + " " + ], + [ + " ", + " 0 ", + " " + ] + ], + "mapping": { + "0": "tfc:rock/raw/gabbro", + "R": "tfc:rock/raw/gabbro" + } + }, + { + "pattern": [ + [ + " ", + " ", + " " + ], + [ + " ", + " R ", + " " + ], + [ + " ", + " 0 ", + " " + ] + ], + "mapping": { + "0": "tfc:rock/raw/gabbro", + "R": "tfc:rock/raw/gabbro" + } + }, + { + "pattern": [ + [ + " ", + " ", + " " + ], + [ + " ", + " R ", + " " + ], + [ + " ", + " 0 ", + " " + ] + ], + "mapping": { + "0": "AIR", + "R": "tfc:rock/raw/gabbro" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "welding", + "text": "焊接是一种将两个物品熔合为新物品的过程。无论是在$(l:getting_started/primitive_anvils)石砧$()还是$(l:mechanics/anvils)金属砧$()上都一样。$(br2)首先,你必须将待焊接的两个物品放置在砧上。可通过手持物品对砧点击使用,或打开砧的操作界面将其放入最左侧的两个槽位中完成放置。", + "title": "焊接" + }, + { + "type": "patchouli:text", + "text": "此外,砧内需至少存放一份$(l:mechanics/flux)助焊剂$()以辅助焊接过程。当两个物品均达到$(l:mechanics/heating)可焊接温度$()(提示信息将显示“可焊接”)时,用任意$(thing)锤$()击打砧,或点击砧操作界面中的焊接按钮即可。此时将传出锻打声效,物品也随之熔合为一体。" + } + ], + "read_by_default": true, + "sortnum": 6, + "extra_recipe_mappings": { + "tfc:rock/anvil/granite": 0, + "tfc:rock/anvil/diorite": 0, + "tfc:rock/anvil/gabbro": 0, + "tfc:rock/anvil/rhyolite": 0, + "tfc:rock/anvil/basalt": 0, + "tfc:rock/anvil/andesite": 0, + "tfc:rock/anvil/dacite": 0 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json new file mode 100644 index 000000000..1e4c51ae4 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json @@ -0,0 +1,71 @@ +{ + "name": "混凝土道路", + "category": "tfc:roadsandroofs", + "icon": "rnr:concrete_road_panel", + "pages": [ + { + "type": "patchouli:text", + "text": "混凝土道路是可建造的速度最快的道路类型,正确建造时可提供30%移动速度加成。但施工时需确保混凝土在凝固前不被踩踏或开裂,否则将失去速度增益。" + }, + { + "type": "patchouli:image", + "title": "混凝土道路", + "images": [ + "rnr:textures/gui/book/concrete_road.png" + ], + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "liquid_concrete", + "item": "gtceu:concrete_bucket", + "title": "制备混凝土", + "text": "建造混凝土路的第一步是配制湿混凝土。使用$(thing)搅拌机$()将水与任意两种石粉(方解石或大理石粉),以及石膏粉混合;或者用三种石粉加黏土粉,来制作$(thing)液态混凝土$()。" + }, + { + "type": "patchouli:spotlight", + "anchor": "wet_concrete", + "item": "rnr:bucket/concrete", + "title": "制备混凝土", + "text": "然后把$(thing)搅拌机$()设置为$(thing)编程电路 #7$(),加入更多水稀释液态混凝土,得到$(thing)湿混凝土混合物$()。" + }, + { + "type": "patchouli:text", + "text": "一旦获得$(thing)湿混凝土$(),即可用桶舀取并倾倒在基层方块上,它会自动向相邻方块蔓延。混凝土需一天时间硬化,在此期间需防止生物踩踏未凝固的混凝土,否则会形成不平整表面导致速度加成失效。可用鹤嘴锄抹平脚印痕迹。" + }, + { + "type": "patchouli:image", + "title": "浇筑混凝土道路", + "images": [ + "rnr:textures/gui/book/wet_concrete.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "混凝土干燥过程中还会发生收缩开裂问题。当浇筑区域任意方向宽度超过4格时,距离混凝土$(thing)边缘$()、$(thing)控制缝$()或$(thing)纹理饰面$()超过两格的方块会产生裂缝。可通过分区域浇筑、每隔5格用$(thing)鹤嘴锄$()添加$(thing)控制接缝$()或采用$(thing)纹理饰面$()来预防开裂。" + }, + { + "type": "patchouli:image", + "title": "控制缝", + "images": [ + "rnr:textures/gui/book/control_joints.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "$(thing)纹理饰面$()通过将$(thing)砖块$()、$(thing)铺路砖$()或$(thing)平滑石方块$()压入正在凝固的混凝土中形成装饰性表面,这些方块同时兼具防止开裂的$(thing)控制缝$()功能。混凝土完全干燥后可用$(thing)凿子$()制作台阶和楼梯。" + }, + { + "type": "patchouli:image", + "title": "仿石板路", + "images": [ + "rnr:textures/gui/book/faux_sett.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 20 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/gravel_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/gravel_roads.json new file mode 100644 index 000000000..4f086b128 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/gravel_roads.json @@ -0,0 +1,24 @@ +{ + "name": "砾石路与碎石路", + "category": "tfc:roadsandroofs", + "icon": "rnr:rock/gravel_road/chert", + "pages": [ + { + "type": "patchouli:crafting", + "anchor": "gravel_fill", + "recipe": "rnr:crafting/gravel_fill/chert", + "title": "碎石混合物", + "text": "在基层铺设少量砾石可形成简易小道,提供10%步行速度加成。追加砾石填料并用鹤嘴锄夯实后,可升级为碎石路,获得20%速度增益。" + }, + { + "type": "patchouli:image", + "title": "建设碎石路", + "images": [ + "rnr:textures/gui/book/macadam.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 8 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/hoggin.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/hoggin.json new file mode 100644 index 000000000..928d9ea8f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/hoggin.json @@ -0,0 +1,20 @@ +{ + "name": "碎石小道", + "category": "tfc:roadsandroofs", + "icon": "rnr:hoggin", + "pages": [ + { + "type": "patchouli:crafting", + "anchor": "hoggin_mix", + "recipe": "rnr:crafting/hoggin_mix", + "title": "碎石混合物", + "text": "碎石料是一种由黏土、沙砾和沙子混合制成的压实型地面覆盖材料。铺设于基层上可形成简易路径,提供10%的行走速度加成。" + }, + { + "type": "patchouli:text", + "text": "" + } + ], + "read_by_default": true, + "sortnum": 4 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_road.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_road.json new file mode 100644 index 000000000..f982c7039 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_road.json @@ -0,0 +1,34 @@ +{ + "name": "修筑道路", + "category": "tfc:roadsandroofs", + "icon": "rnr:metal/mattock/bismuth_bronze", + "pages": [ + { + "type": "patchouli:text", + "text": "建设道路包含三个基本步骤:用鹤嘴锄夯实原生土壤、铺设基层、铺设面层材料。不同种类的道路需使用不同原料,具体配比详见本手册各对应页面。" + }, + { + "type": "patchouli:image", + "title": "建造小径", + "images": [ + "rnr:textures/gui/book/path_building.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "鹤嘴锄可像凿子那样作用于泥土类方块。默认模式下使用鹤嘴锄会夯实这些方块。若用于夯实淤泥或缠根淤泥,产生的夯实淤泥必须通过铺设碎石基层进行修复。" + }, + { + "type": "patchouli:text", + "text": "夯实土壤后,下一步是铺设道路基层。碎石基层可由沙砾、石子和锤子合成,通过右键点击铺设于压实方块上。这种碎石基层能为最终行走面提供坚固地基。" + }, + { + "type": "patchouli:text", + "text": "修筑道路的最后一步是铺设路面。通过在基层上右键点击不同物品(包括砖块、碎石料、石子等)可形成可行走道路。不同材料会形成不同种类的道路,各类道路提供的行走速度也不同。具体类型请参阅本手册各对应页面。" + } + + ], + "read_by_default": true, + "sortnum": 1 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_roof.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_roof.json new file mode 100644 index 000000000..eee5b2a6d --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/making_a_roof.json @@ -0,0 +1,32 @@ +{ + "name": "制作屋顶", + "category": "tfc:roadsandroofs", + "icon": "rnr:terracotta_roof_stairs", + "pages": [ + { + "type": "patchouli:text", + "text": "建造屋顶从框架开始。屋顶框架方块可用木材和木棍制作,并可制成楼梯与台阶变体。这些方块可用于勾勒屋顶轮廓。" + }, + { + "type": "patchouli:crafting", + "anchor": "roof_frame", + "recipe": "rnr:crafting/roof_framing", + "title": "屋顶框架", + "text": "屋顶框架是建造所有屋顶的起点。" + }, + { + "type": "patchouli:text", + "text": "架设屋顶框架后,用任何屋顶材料右键点击即可生成对应屋顶。屋顶类型包括通过添加稻草制作的茅草顶,还有陶瓦片、木瓦片等多种选择。" + }, + { + "type": "patchouli:image", + "title": "铺设茅草屋顶", + "images": [ + "rnr:textures/gui/book/thatching.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 30 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json new file mode 100644 index 000000000..5b586db04 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json @@ -0,0 +1,48 @@ +{ + "name": "铺路车", + "category": "tfc:道路与屋顶", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)铺路车$()是一种用于快速高效铺设路面的专用推车。可填入路面材料与$(thing)碎石基层$()来修筑道路。该推车还能为现有基层方块完成填料作业" + }, + { + "type": "patchouli:image", + "title": "铺路车", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "宽度调节滑块", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], + "border": true, + "text": "通过操作界面中的滑块可调整铺设路径的宽度" + }, + { + "type": "patchouli:image", + "title": "可变宽度路径", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], + "border": true + }, + { + "type": "patchouli:image", + "title": "随机模式按钮", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], + "border": true, + "text": "这辆推车有一种模式,可以以随机模式铺设材料。" + }, + { + "type": "patchouli:image", + "title": "随机材料路径", + "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 + }, + "sortnum": 20 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/stone_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/stone_roads.json new file mode 100644 index 000000000..05c13ec76 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/stone_roads.json @@ -0,0 +1,35 @@ +{ + "name": "石质道路", + "category": "tfc:roadsandroofs", + "icon": "rnr:rock/flagstones/basalt", + "pages": [ + { + "type": "patchouli:text", + "text": "基层之上可铺设多种石质路面,均提供20%速度加成。圆石路通过在基层上铺设石子而成;方石路可用石砖或陶砖建造。" + }, + { + "type": "patchouli:crafting", + "anchor": "gneiss_flagstones", + "recipe": "rnr:crafting/flagstone/gneiss", + "title": "制作铺路砖", + "text": "铺路砖可由平滑石头或砂岩方块制作。" + }, + { + "type": "patchouli:crafting", + "anchor": "pink_sandstone_flagstones", + "recipe": "rnr:crafting/flagstone/pink_sandstone", + "title": "制作铺路砖", + "text": "铺路砖可由平滑石头或砂岩方块制作。" + }, + { + "type": "patchouli:image", + "title": "玄武岩方石路", + "images": [ + "rnr:textures/gui/book/sett_road.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 12 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json new file mode 100644 index 000000000..b1acd8911 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/hazards.json @@ -0,0 +1,95 @@ +{ + "name": "危险材料", + "icon": "createdeco:decal_skull", + "category": "tfc:tfg_ores", + "priority": true, + "sortnum": 1, + "read_by_default": true, + "pages": [ + { + "type": "patchouli:spotlight", + "title": "危险材料", + "item": "gtceu:cobaltite_dust", + "text": "某些矿石和粉尘具有危险性,若存放在物品栏中可能会对你造成负面效果甚至致命伤害。$(br2)特定装备如$(thing)口罩$()、$(thing)手套$()以及后续的$(thing)防化服$()可用于抵御这些效果。" + }, + { + "type": "patchouli:crafting", + "title": "口罩", + "recipe": "gtceu:shaped/face_mask", + "text": "$(thing)口罩$()能抵御所有$(item)吸入性$()危害,例如砷中毒。" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:rubber_gloves", + "title": "橡胶手套", + "link_recipes": true, + "text": "橡胶手套可由$(l:mechanics/leather_making)皮革$()与$(l:arborfirmacraft/making_rubber)乳胶$()制作,或直接使用橡胶片合成。它们能防护所有$(item)皮肤接触$()类危害,例如铍中毒。" + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfchotornot:leather_knapping/mittens", + "text": "首先,把皮革剥制成连指手套。" + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfg:sealed_barrel/prepared_leather_gloves", + "text": "将连指手套浸入由水果与酒精混合而成的$(thing)醋$()中。" + }, + { + "type": "patchouli:spotlight", + "item": "tfg:latex_soaked_gloves", + "text": "将处理过的皮革手套与$(thing)硫化乳胶$()一同在$(thing)锅$()中加热,此时距制成橡胶手套仅一步之遥。" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:rubber_gloves", + "text": "最后,将浸胶手套放入$(l:firmalife/oven)烤炉$()中加热定型。" + }, + { + "type": "patchouli:spotlight", + "title": "岩石策略", + "item": { + "tag": "tfc:rock_knapping" + }, + "text": "避免危险物品进入物品栏的最简单方法就是根本不拾取它们。$(br)例如,用$(thing)石头$()填满物品栏后,你可以选择性拾取所需物品,留待之后统一处理危险物资。" + }, + { + "type": "patchouli:spotlight", + "title": "容器隔离", + "text": "危险材料仅当存放在$(thing)物品栏$()时才会造成伤害,其他容器则不受此影响!$(br)当危险材料存放在$(l:tfg_tips/inventory_management)背包$()或$(l:getting_started/pottery#vessel)大缸$()等容器中时不会造成伤害。手持大缸时$(thing)右键点击$()可直接与容器进行物品转移。", + "item": "sophisticatedbackpacks:backpack,tfc:ceramic/vessel,tfc:ceramic/large_vessel" + }, + { + "type": "patchouli:spotlight", + "title": "温泉疗愈", + "item": "tfc:bucket/spring_water", + "text": "站立于$(thing)温泉$()中可获得缓慢的$(thing)生命恢复$()效果。" + }, + { + "type": "patchouli:spotlight", + "title": "陈酿酒", + "text": "$(thing)陈酿酒$()会提供药水增益效果,其中部分可能对你大有裨益。$(br2)你可以使用$(l:getting_started/pottery#jug)陶壶$()或$(l:waterflasks/recipes)水壶$()饮用它们。", + "item": "tfcagedalcohol:bucket/aged_beer,tfcagedalcohol:bucket/aged_cider,tfcagedalcohol:bucket/aged_rum,tfcagedalcohol:bucket/aged_sake,tfcagedalcohol:bucket/aged_vodka,tfcagedalcohol:bucket/aged_whiskey,tfcagedalcohol:bucket/aged_corn_whiskey,tfcagedalcohol:bucket/aged_rye_whiskey" + }, + { + "type": "patchouli:text", + "text": "陈酿啤酒:伤害吸收 II (20:00)$(br2)陈酿苹果酒:速度 (5:20)$(br2)陈酿朗姆酒:速度 II (2:40)$(br2)陈酿清酒:抗性提升 (5:20)$(br2)陈酿伏特加:抗性提升 II (2:40)$(br2)陈酿玉米威士忌:急迫 (5:20)$(br2)陈酿黑麦威士忌:急迫 (5:20)$(br2)陈酿威士忌:急迫 II (2:40)" + }, + { + "type": "patchouli:spotlight", + "item": { + "tag": "tfc:foods" + }, + "title": "营养均衡", + "text": "食用更高$(l:getting_started/food_and_water#nutrients)营养价值$()的优质食物可显著提升生命值上限。$(br2)$(l:mechanics/pot#soup)汤$()、$(l:mechanics/sandwiches)三明治$()与$(l:mechanics/salad)沙拉$()是绝佳选择。" + }, + { + "type": "patchouli:spotlight", + "title": "随身床铺", + "item": { + "tag": "minecraft:beds" + }, + "text": "若所有防护措施均失效,随身携带床铺用于重生是个明智之举。$(br2)若无法获取$(thing)羊毛$()或$(thing)线$(),你也可以制作$(l:getting_started/a_place_to_sleep)茅草床$()。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json new file mode 100644 index 000000000..e57b38e59 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/ore_basics.json @@ -0,0 +1,47 @@ +{ + "name": "在TFG中采矿", + "icon": "minecraft:diamond_pickaxe", + "category": "tfc:tfg_ores", + "priority": true, + "sortnum": 0, + "pages": [ + { + "type": "patchouli:text", + "text": "开采矿石需要$(thing)镐子$()或$(thing)采矿锤$()。$(br2)普通$(thing)锤子$()也能快速破坏石质方块,但不会掉落矿石。不过它在$(l:getting_started/primitive_anvils#raw_rock)提取$()石材方面仍有实用价值。" + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/pickaxe_copper", + "recipe2": "gtceu:shaped/mining_hammer_copper" + }, + { + "type": "patchouli:spotlight", + "title": "镐子", + "text": "用镐破坏矿石会掉落$(thing)粗矿石$()(贫瘠、普通或富集)以及少量石粉。单次产出虽不值多少mB,且需要多份原料才能制成一块锭,但$(thing)煤炭$()等矿物仅能以此形态直接使用。", + "item": { + "tag": "minecraft:pickaxes" + } + }, + { + "type": "patchouli:spotlight", + "title": "采矿锤", + "text": "这本质上是具备3x3范围采集的镐,同样会产出$(thing)粗矿石$()。在敲落矿石后清理岩层时尤其高效!$(br2)按住$(thing)潜行$()可切换为单格采集模式。", + "item": { + "tag": "forge:tools/mining_hammers" + } + }, + { + "type": "patchouli:spotlight", + "title": "基础矿石处理", + "anchor": "processing", + "item": "gtceu:crushed_copper_ore", + "text": "对矿石进行加工能大幅提升可用金属产量。首要步骤是使用$(l:mechanics/quern)手推磨$()粉碎粗矿石。后续可通过升级设备实现自动化处理,例如$(thing)石磨$()、$(thing)粉碎轮$()、$(thing)研磨机$()及$(thing)锻造锤$()。" + }, + { + "type": "patchouli:crafting", + "title": "粉尘提纯", + "recipe": "gtceu:shapeless/crushed_ore_to_dust_copper", + "text": "欲使粉碎后的矿石熔炼产出更多mB,需先将其与$(thing)锤$()在合成格内组合,制得$(thing)不纯粉尘$()。随后将粉尘投入水中,或对盛水$(thing)大锅$()按下$(item)$(k:key.use)$()即可完成提纯。" + } + ] +} \ No newline at end of file From 00a61f8f0d43ad408bc2d33097cd2a8048b765ca Mon Sep 17 00:00:00 2001 From: Ujhik Date: Sat, 22 Nov 2025 21:09:58 +0100 Subject: [PATCH 097/628] feature: Add create casings, shadow and radiance (#2256) * feature: Add create casings, shadow and radiance Added recipes for create: - shadow steel casing - refined radiance casing closes #2224 * fix: radiant casing recipe - Fixed and changed radiant casing recipe - Moved adding to create tab logic to a dedicated file for organization - Added constants.js for tab names to prevent typos and improve maintainability * Changed radiant casing recipe to glowstone plate --------- Co-authored-by: Redeix --- kubejs/server_scripts/create/recipes.js | 24 +++++++++++++++++++ kubejs/startup_scripts/constants.js | 6 +++++ kubejs/startup_scripts/create/constants.js | 2 -- kubejs/startup_scripts/create/creative_tab.js | 7 ++++++ kubejs/startup_scripts/main_startup_script.js | 4 ++++ 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 kubejs/startup_scripts/constants.js create mode 100644 kubejs/startup_scripts/create/creative_tab.js diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 4637747d2..6d81bade7 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -680,6 +680,30 @@ const registerCreateRecipes = (event) => { .EUt(4) .addMaterialInfo(true) + // Shadow steel casing + event.recipes.createItemApplication(['create:shadow_steel_casing'], ['#forge:stripped_logs', '#forge:plates/black_steel']) + .id('tfg:create/item_application/shadow_steel_casing') + + event.recipes.gtceu.assembler('tfg:create/shadow_steel_casing') + .itemInputs('#forge:stripped_logs', '#forge:plates/black_steel') + .circuit(11) + .itemOutputs('create:shadow_steel_casing') + .duration(50) + .EUt(4) + .addMaterialInfo(true) + + // Refined radiance casing + event.recipes.createItemApplication(['create:refined_radiance_casing'], ['#forge:stripped_logs', 'gtceu:glowstone_plate']) + .id('tfg:create/item_application/refined_radiance_casing') + + event.recipes.gtceu.assembler('tfg:create/refined_radiance_casing') + .itemInputs('#forge:stripped_logs', 'gtceu:glowstone_plate') + .circuit(11) + .itemOutputs('create:refined_radiance_casing') + .duration(50) + .EUt(4) + .addMaterialInfo(true) + // Корпус поезда event.recipes.createItemApplication(['create:railway_casing'], ['create:brass_casing', '#forge:plates/black_steel']) .id('tfg:create/item_application/railway_casing') diff --git a/kubejs/startup_scripts/constants.js b/kubejs/startup_scripts/constants.js new file mode 100644 index 000000000..f23433066 --- /dev/null +++ b/kubejs/startup_scripts/constants.js @@ -0,0 +1,6 @@ +// priority: 0 +"use strict"; + +global.TAB_IDS = Object.freeze({ + CREATE_BASE: 'create:base' +}) \ No newline at end of file diff --git a/kubejs/startup_scripts/create/constants.js b/kubejs/startup_scripts/create/constants.js index 65e50e6e2..7d2b4c4b0 100644 --- a/kubejs/startup_scripts/create/constants.js +++ b/kubejs/startup_scripts/create/constants.js @@ -68,8 +68,6 @@ global.CREATE_DISABLED_ITEMS = [ 'create:creative_fluid_tank', 'create:unprocessed_obsidian_sheet', 'create:creative_motor', - 'create:refined_radiance_casing', - 'create:shadow_steel_casing', 'create:wooden_bracket', 'create:red_sand_paper', 'create:empty_blaze_burner', diff --git a/kubejs/startup_scripts/create/creative_tab.js b/kubejs/startup_scripts/create/creative_tab.js new file mode 100644 index 000000000..61c769984 --- /dev/null +++ b/kubejs/startup_scripts/create/creative_tab.js @@ -0,0 +1,7 @@ +// priority: 0 +"use strict"; + +function modifyCreateCreativeTab(event) { + event.add('create:shadow_steel_casing') + event.add('create:refined_radiance_casing') +} diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index e49d025ee..8cbdb2757 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -84,6 +84,10 @@ GTCEuStartupEvents.craftingComponents(event => { registerTFGCraftingComponents(event) }) +StartupEvents.modifyCreativeTab(global.TAB_IDS.CREATE_BASE, event => { + modifyCreateCreativeTab(event) +}) + Platform.mods.primitive_creatures.name = "Primitive Creatures"; Platform.mods.tfg.name = "TerraFirmaGreg"; Platform.mods.kubejs.name = "TerraFirmaGreg"; From 43242e652ff73ea7d02bc0c473a1c4fca4f3fdab Mon Sep 17 00:00:00 2001 From: Xtrial-01 Date: Sat, 22 Nov 2025 21:21:08 +0100 Subject: [PATCH 098/628] Missing food recipes (#2257) * Food processor and extractor chocolate recipes * food processor cheese smoking * switch chocolate melting to food processor i thought fast but ISPs thought faster --------- Co-authored-by: Redeix --- kubejs/server_scripts/tfg/recipes.food.js | 39 +++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 483029be9..3baf0f3f6 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -346,9 +346,38 @@ function registerTFGFoodRecipes(event) { //#endregion + //#region Chocolate + const chocolateType = ["white_chocolate", "milk_chocolate", "dark_chocolate"] + const chocolateShape = ["", "_heart", "_bell", "_knife"] //"" is firmalife chocolate bar + const chocolatemolds = ["tfc:ceramic/ingot_mold", "tfcchannelcasting:heart_mold", "tfc:ceramic/bell_mold", "tfc:ceramic/knife_blade_mold"] + + for (const ctype of chocolateType) { + for (const cshape of chocolateShape) { + processorRecipe(`${ctype}_${cshape}_melting`, 100, 16, { + circuit: 1, + itemInputs:[cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], + fluidOutputs:[cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], + }) + } + } + + for (const ctype of chocolateType) { + for (const cshape of chocolateShape) { + processorRecipe(`${ctype}_${cshape}_casting`, 100, 16, { + fluidInputs: [cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], + itemOutputs: [cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], + itemOutputProvider: TFC.isp.of(cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`).resetFood(), + notConsumable: [chocolatemolds[chocolateShape.indexOf(cshape)]] + }) + } + } + + //#endregion + //#region Food preservation const smoking_meats = Ingredient.of('#tfc:foods/raw_meats').itemIds; + const smoking_cheese = Ingredient.of('#firmalife:foods/cheeses').itemIds; const brining_veg = Ingredient.of('#firmalife:foods/pizza_ingredients').itemIds; const drying_fruits = Ingredient.of('#tfc:foods/fruits').itemIds; const drying_recipes = [ @@ -383,6 +412,16 @@ function registerTFGFoodRecipes(event) { }) }) + smoking_cheese.forEach(item => { + processorRecipeText(`${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", { + circuit: 6, + itemInputs: [item], + itemOutputs: [item], + fluidInputs: [Fluid.of('gtceu:wood_gas', 5)], + itemOutputProvider: TFC.isp.copyInput().addTrait("firmalife:smoked") + }) + }) + drying_fruits.forEach(item => { processorRecipeText(`${item.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", { circuit: 6, From d7a0fb28bfad26c63813c9446677e88ef0f69068 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:20:19 +0000 Subject: [PATCH 099/628] fix #2221 Related Work Items: #22 --- kubejs/server_scripts/tfg/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index b3ca69a4c..d17fbe6ff 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -639,6 +639,7 @@ const registerTFGItemTags = (event) => { const registerTFGBlockTags = (event) => { event.add('minecraft:mineable/shovel', 'tfg:ash_pile') + event.add('gtceu:ulv_hermetic_casing', 'gtceu:mineable/pickaxe_or_wrench'); //crop stuff event.add('tfc:crops', 'tfg:rapeseed') event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed') From 255ca1a69e0d4cb1aed2b000e10b40f671953e9f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:20:27 +0000 Subject: [PATCH 100/628] #2240 --- CHANGELOG.md | 6 +++++- .../loot_tables/entities/crimson_enderman.json | 10 ++++++++++ .../loot_tables/entities/warped_enderman.json | 10 ++++++++++ kubejs/server_scripts/minecraft/tags.js | 5 ++++- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b405d9bc..388b1feda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,16 @@ ### Changes - Add shapeless p2p recipes (#2234) @SpicyNoodle5 - Added assembler, smelting and heating recipes for firmalife ovens (#2220) @SpicyNoodle5 -- Raised burning fluid threshold from 370K to 1300K @Redeix +- Raised player-burning fluid threshold from 370K to 1300K @Redeix - Added partial unification to the gtceu wax material @Redeix +- Mars endermen can no longer pick up the wrong kind of warped/crimson sapling, and the correct kind has been added to their loot tables (#2240) ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix - Fixed Ad Astra moon cheese nutrition values being inconsistent @Redeix +- Fixed some quest typos @Pyritie +- Fixed duplicate bed dyeing recipe (#2229) @Pyritie +- Fixed Basic Hermetic Casing missing a mineable tag and loot table (#2221) @Pyritie ### Translation updates ## [0.11.8] - 19-11-2025 diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/crimson_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/crimson_enderman.json index dd94d9a88..22fd9ab62 100644 --- a/kubejs/data/endermanoverhaul/loot_tables/entities/crimson_enderman.json +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/crimson_enderman.json @@ -11,6 +11,16 @@ ], "rolls": 1.0 }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/crimson" + } + ], + "rolls": 1.0 + }, { "bonus_rolls": 0.0, "entries": [ diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/warped_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/warped_enderman.json index 14b5db23c..373c8bdf1 100644 --- a/kubejs/data/endermanoverhaul/loot_tables/entities/warped_enderman.json +++ b/kubejs/data/endermanoverhaul/loot_tables/entities/warped_enderman.json @@ -11,6 +11,16 @@ ], "rolls": 1.0 }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:saplings/warped" + } + ], + "rolls": 1.0 + }, { "bonus_rolls": 0.0, "entries": [ diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index c9b1f4a86..fb4f5c00f 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -205,5 +205,8 @@ const registerMinecraftBlockTags = (event) => { event.add('tfc:can_be_snow_piled', 'minecraft:crimson_fungus') event.add('tfc:can_be_snow_piled', 'minecraft:warped_fungus') event.add('tfc:can_be_snow_piled', 'minecraft:torchflower') - event.add('tfc:can_be_snow_piled', 'minecraft:pitcher_plant') + event.add('tfc:can_be_snow_piled', 'minecraft:pitcher_plant') + + event.remove('minecraft:enderman_holdable', 'minecraft:crimson_fungus') + event.remove('minecraft:enderman_holdable', 'minecraft:warped_fungus') } \ No newline at end of file From 5a3ac7ab76223fc1685d88ef0ba9ba09370e6b1e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:42:00 +0000 Subject: [PATCH 101/628] fix https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues/2229 --- kubejs/server_scripts/minecraft/recipes.dyes.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.dyes.js b/kubejs/server_scripts/minecraft/recipes.dyes.js index 4a7c41962..0bc7e9350 100644 --- a/kubejs/server_scripts/minecraft/recipes.dyes.js +++ b/kubejs/server_scripts/minecraft/recipes.dyes.js @@ -25,14 +25,6 @@ function registerMinecraftDyeRecipes(event) { .duration(300) .EUt(4) .category(GTRecipeCategories.CHEM_DYES) - - event.recipes.gtceu.chemical_bath(`${dye}_bed`) - .itemInputs(`minecraft:white_bed`) - .inputFluids(Fluid.of(`tfc:${dye}_dye`, 216)) - .itemOutputs(`minecraft:${dye}_bed`) - .duration(300) - .EUt(4) - .category(GTRecipeCategories.CHEM_DYES) } //#endregion From 6a8631defd1163135f8243ca56bf52deba2ea685 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:42:23 +0000 Subject: [PATCH 102/628] rename for #2240 --- .../{crimson_enderman.json => crimson_forest_enderman.json} | 0 .../{warped_enderman.json => warped_forest_enderman.json} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename kubejs/data/endermanoverhaul/loot_tables/entities/{crimson_enderman.json => crimson_forest_enderman.json} (100%) rename kubejs/data/endermanoverhaul/loot_tables/entities/{warped_enderman.json => warped_forest_enderman.json} (100%) diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/crimson_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/crimson_forest_enderman.json similarity index 100% rename from kubejs/data/endermanoverhaul/loot_tables/entities/crimson_enderman.json rename to kubejs/data/endermanoverhaul/loot_tables/entities/crimson_forest_enderman.json diff --git a/kubejs/data/endermanoverhaul/loot_tables/entities/warped_enderman.json b/kubejs/data/endermanoverhaul/loot_tables/entities/warped_forest_enderman.json similarity index 100% rename from kubejs/data/endermanoverhaul/loot_tables/entities/warped_enderman.json rename to kubejs/data/endermanoverhaul/loot_tables/entities/warped_forest_enderman.json From 444ccbbbdefb5cd31f37de8ed25bda949bbfe16e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:48:28 +0000 Subject: [PATCH 103/628] I may be stupid #2221 --- .../blocks/ulv_hermetic_casing.json | 20 +++++++++++++++++++ kubejs/server_scripts/gregtech/tags.js | 2 ++ kubejs/server_scripts/tfg/tags.js | 1 - 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 kubejs/data/gtceu/loot_tables/blocks/ulv_hermetic_casing.json diff --git a/kubejs/data/gtceu/loot_tables/blocks/ulv_hermetic_casing.json b/kubejs/data/gtceu/loot_tables/blocks/ulv_hermetic_casing.json new file mode 100644 index 000000000..428a7f64b --- /dev/null +++ b/kubejs/data/gtceu/loot_tables/blocks/ulv_hermetic_casing.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:ulv_hermetic_casing" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 092e04a86..ba672d2b7 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -71,6 +71,8 @@ function registerGTCEUBlockTags(event) { event.add("minecraft:mineable/pickaxe", "#forge:ores"); event.add("minecraft:needs_iron_tool", "#forge:ores"); + event.add('gtceu:mineable/pickaxe_or_wrench', 'gtceu:ulv_hermetic_casing'); + // Collapse tags event.add("tfc:can_collapse", "#forge:ores"); event.add("tfc:can_start_collapse", "#forge:ores"); diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index d17fbe6ff..b3ca69a4c 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -639,7 +639,6 @@ const registerTFGItemTags = (event) => { const registerTFGBlockTags = (event) => { event.add('minecraft:mineable/shovel', 'tfg:ash_pile') - event.add('gtceu:ulv_hermetic_casing', 'gtceu:mineable/pickaxe_or_wrench'); //crop stuff event.add('tfc:crops', 'tfg:rapeseed') event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed') From 680d6311c4df387d64207a9670b9e6a9802383fb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:54:08 +0000 Subject: [PATCH 104/628] fixes #2259 --- kubejs/startup_scripts/gtceu/materials.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 9684071d5..9a9716009 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -211,6 +211,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Malachite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Sphalerite.addFlags(HAS_SMALL_TFC_ORE); GTMaterials.Tetrahedrite.addFlags(HAS_SMALL_TFC_ORE); + GTMaterials.Chromite.addFlags(HAS_SMALL_TFC_ORE); // // /* Имеют маленькие чистые куски руды TFC */ GTMaterials.Copper.addFlags(HAS_SMALL_NATIVE_TFC_ORE); From 63b8495273fe0f1c4b95e985595344b808d91d37 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:54:14 +0000 Subject: [PATCH 105/628] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 388b1feda..4df6bb63d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Raised player-burning fluid threshold from 370K to 1300K @Redeix - Added partial unification to the gtceu wax material @Redeix - Mars endermen can no longer pick up the wrong kind of warped/crimson sapling, and the correct kind has been added to their loot tables (#2240) +- Cleanrooms now allow 9 door "blocks", so you can use the 3x3 Ad Astra doors (#2074) @ko-lja ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix From 46ecc1e59d7b32d50f8da8fe004f936c7a19fe01 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 17:57:15 +0000 Subject: [PATCH 106/628] langs --- kubejs/assets/tfg/lang/en_us.json | 8 ++++---- kubejs/assets/tfg/lang/fr_fr.json | 4 ++-- kubejs/assets/tfg/lang/ru_ru.json | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 1feebba8c..f75abae03 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1455,7 +1455,7 @@ "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", "tfg.tooltip.machine.evaporation_tower_2": "§7Gets rid of excess solvent to condense solutions.§r", "tfg.tooltip.machine.electric_greenhouse_1": "§7Putting the Factory in Factory Farming§r", - "tfg.tooltip.machine.electric_greenhouse_2": "§7Uses water to grow trees, crops, and other plants. Can be sped up with fertiliser. Faster and easier than other ways of growing plants, at the cost of energy.§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Uses water to grow trees, crops, and other plants. Can be sped up with fertilizer. Faster and easier than other ways of growing plants, at the cost of energy.§r", "tfg.tooltip.machine.cooling_tower_1": "§7Heating up the Atmosphere§r", "tfg.tooltip.machine.cooling_tower_2": "§7Cools the hot coolant by dissipitating excess heat to the atmosphere.§r", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", @@ -3257,7 +3257,7 @@ "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", - "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertiliser\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertilizer\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", "quests.space_survival.stone_dust_centrifuging.task": "Any ", "quests.space_survival.compressed_gases.title": "Compressed Breathable Gases", "quests.space_survival.compressed_gases.subtitle": "Because pure Oxygen is deadly", @@ -3356,7 +3356,7 @@ "quests.space_survival.t2_space_suit.desc": "With this next space suit, you'll be able to survive both the &bcoldest&r and the &chottest&r environments that space can throw at you! It's required to stop you from immediately combusting as soon as you set foot on &6Venus&r and &5Mercury&r.\n\nAs a bonus, it also comes with some extra armor and air capacity!", "quests.space_survival.mars_tapping.title": "Crimsene and Warpane", "quests.space_survival.mars_tapping.subtitle": "You LOVE tree tapping!", - "quests.space_survival.mars_tapping.desc": "Crimson and Warped Mushrooms can be tree tapped for &4Crimsene&r and &3Warpane&r respectively.\n\nYou'll need both to get started on producing &9Iodine&r, but they don't often grow in the same place, so you might need to travel a bit. Crimson Mushrooms grow more on the East side of Mars, while Warped grow more on the West.\n\nDon't forget that you can tap directly into open GregTech fluid pipes!\n\n&9Tip:&r Want to show off? You can also build a canoe out of Crimson Stems, and build a Rowboat or Sloop out of Warped ones!", + "quests.space_survival.mars_tapping.desc": "Crimson and Warped Mushrooms can be tree tapped for &4Crimsene&r and &3Warpane&r respectively.\n\nYou'll need both to get started on producing &9Iodine&r, but they don't often grow in the same place, so you might need to travel a bit. Crimson Mushrooms grow more on the East side of Mars, while Warped grow more on the West. You can also obtain the saplings from the corresponding Endermen.\n\nDon't forget that you can tap directly into open GregTech fluid pipes!\n\n&9Tip:&r Want to show off? You can also build a canoe out of Crimson Stems, and build a Rowboat or Sloop out of Warped ones!", "quests.space_survival.iodine.title": "The Iodine Line", "quests.space_survival.iodine.subtitle": "Mushroom chemistry!", "quests.space_survival.iodine.desc": "Mix together the Crimsene and Warpane, along with some Krypton from Mars Air Distillation (it's looped) and the heat from your Fission Reactor, and you'll get Iodine!\n\nThis process is slow, but you shouldn't need a lot of it for now, and there will be better methods of obtaining Iodine on further planets.", @@ -3912,7 +3912,7 @@ "quests.tfg_tips.gt.desc": "&3GregTech&r can be quite intimidating, this quest branch should help you out.", "quests.tfg_tips.nano_saber.title": "Nano Saber", "quests.tfg_tips.nano_saber.subtitle": "26 Attack Damage when active!", - "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", + "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach late &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", "quests.tfg_tips.gt_tools.title": "GregTech Tools", "quests.tfg_tips.gt_tools.subtitle": "", "quests.tfg_tips.gt_tools.desc": "Most &5GregTech&r tools are crafted from a &6Tool Head&r. Try using &aEMI&r to explore what you can do with them — just remember two important things:\n\n- The &ehigher the Tool Head tier&r, the more &cpowerful&r the tool will be, and the &6larger the battery&r it will use.\n- Not every tool supports every Tool Head tier. For example, the &6Chainsaw&r can only be crafted with a &7LV Tool Head&r.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 2579ad75f..4281596ba 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2807,7 +2807,7 @@ "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", - "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertiliser\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertilizer\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", "quests.space_survival.stone_dust_centrifuging.task": "Any ", "quests.space_survival.compressed_gases.title": "Compressed Breathable Gases", "quests.space_survival.compressed_gases.subtitle": "Because pure Oxygen is deadly", @@ -3378,7 +3378,7 @@ "quests.tfg_tips.gt.desc": "&3GregTech&r can be quite intimidating, this quest branch should help you out.", "quests.tfg_tips.nano_saber.title": "Nano Saber", "quests.tfg_tips.nano_saber.subtitle": "26 Attack Damage when active!", - "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", + "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach late &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", "quests.tfg_tips.gt_tools.title": "GregTech Tools", "quests.tfg_tips.gt_tools.subtitle": "", "quests.tfg_tips.gt_tools.desc": "Most &5GregTech&r tools are crafted from a &6Tool Head&r. Try using &aEMI&r to explore what you can do with them — just remember two important things:\n\n- The &ehigher the Tool Head tier&r, the more &cpowerful&r the tool will be, and the &6larger the battery&r it will use.\n- Not every tool supports every Tool Head tier. For example, the &6Chainsaw&r can only be crafted with a &7LV Tool Head&r.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 7bd2b17cf..cb21636a4 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -3168,7 +3168,7 @@ "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", - "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertiliser\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertilizer\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", "quests.space_survival.stone_dust_centrifuging.task": "Any ", "quests.space_survival.compressed_gases.title": "Compressed Breathable Gases", "quests.space_survival.compressed_gases.subtitle": "Because pure Oxygen is deadly", @@ -3267,7 +3267,7 @@ "quests.space_survival.t2_space_suit.desc": "With this next space suit, you'll be able to survive both the &bcoldest&r and the &chottest&r environments that space can throw at you! It's required to stop you from immediately combusting as soon as you set foot on &6Venus&r and &5Mercury&r.\n\nAs a bonus, it also comes with some extra armor and air capacity!", "quests.space_survival.mars_tapping.title": "Crimsene and Warpane", "quests.space_survival.mars_tapping.subtitle": "You LOVE tree tapping!", - "quests.space_survival.mars_tapping.desc": "Crimson and Warped Mushrooms can be tree tapped for &4Crimsene&r and &3Warpane&r respectively.\n\nYou'll need both to get started on producing &9Iodine&r, but they don't often grow in the same place, so you might need to travel a bit. Crimson Mushrooms grow more on the East side of Mars, while Warped grow more on the West.\n\nDon't forget that you can tap directly into open GregTech fluid pipes!\n\n&9Tip:&r Want to show off? You can also build a canoe out of Crimson Stems, and build a Rowboat or Sloop out of Warped ones!", + "quests.space_survival.mars_tapping.desc": "Crimson and Warped Mushrooms can be tree tapped for &4Crimsene&r and &3Warpane&r respectively.\n\nYou'll need both to get started on producing &9Iodine&r, but they don't often grow in the same place, so you might need to travel a bit. Crimson Mushrooms grow more on the East side of Mars, while Warped grow more on the West. You can also obtain the saplings from the corresponding Endermen.\n\nDon't forget that you can tap directly into open GregTech fluid pipes!\n\n&9Tip:&r Want to show off? You can also build a canoe out of Crimson Stems, and build a Rowboat or Sloop out of Warped ones!", "quests.space_survival.iodine.title": "The Iodine Line", "quests.space_survival.iodine.subtitle": "Mushroom chemistry!", "quests.space_survival.iodine.desc": "Mix together the Crimsene and Warpane, along with some Krypton from Mars Air Distillation (it's looped) and the heat from your Fission Reactor, and you'll get Iodine!\n\nThis process is slow, but you shouldn't need a lot of it for now, and there will be better methods of obtaining Iodine on further planets.", From 02eabff664556374e133cdaefecc8ca76b59549e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 18:00:49 +0000 Subject: [PATCH 107/628] Zirconium stuff (#2210) * zirconium stuff * Adjust Zirconium for IV Tiering (#2261) * Adjust Zirconium for IV Tiering Signed-off-by: TomPlop * more balance change --------- Signed-off-by: TomPlop --------- Signed-off-by: Pyritie Signed-off-by: TomPlop Co-authored-by: TomPlop Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- .../server_scripts/tfg/recipes.space_ores.js | 56 +++++++++++++++++++ kubejs/startup_scripts/gtceu/materials.js | 9 +++ kubejs/startup_scripts/tfc/materials.js | 1 + kubejs/startup_scripts/tfg/materials.js | 53 +++++++++++++++++- 4 files changed, 118 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/recipes.space_ores.js b/kubejs/server_scripts/tfg/recipes.space_ores.js index 5e6aa6393..d0df8d677 100644 --- a/kubejs/server_scripts/tfg/recipes.space_ores.js +++ b/kubejs/server_scripts/tfg/recipes.space_ores.js @@ -202,4 +202,60 @@ function registerTFGSpaceOres(event) { //#endregion + // #region Zirconium + + event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride') + .itemInputs('#forge:dusts/silicon') + .inputFluids('gtceu:chlorine 4000') + .outputFluids('tfg:silicon_tetrachloride 1000') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_decomp') + .inputFluids('tfg:silicon_tetrachloride 1000', 'minecraft:water 2000') + .itemOutputs('#forge:dusts/silicon') + .outputFluids('gtceu:hydrochloric_acid 4000', 'gtceu:oxygen 2000') + .duration(5 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:zirconium_tetrachloride') + .itemInputs('2x #forge:dusts/carbon', '1x #forge:dusts/zircon') + .inputFluids('gtceu:chlorine 8000') + .outputFluids('gtceu:carbon_monoxide 2000', 'tfg:silicon_tetrachloride 1000') + .itemOutputs('5x #forge:dusts/zirconium_tetrachloride') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:zirconium') + .itemInputs('2x #forge:dusts/magnesium', '5x #forge:dusts/zirconium_tetrachloride') + .itemOutputs('#forge:hot_ingots/zirconium', '6x #forge:dusts/magnesium_chloride') + .duration(55 * 20) + .blastFurnaceTemp(4241) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:zirconium_bromide') + .itemInputs('#forge:dusts/zirconium', '2x #forge:dusts/carbon') + .inputFluids('gtceu:bromine 4000', 'gtceu:oxygen 2000') + .itemOutputs('5x #forge:dusts/zirconium_bromide') + .outputFluids('gtceu:carbon_monoxide 2000') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:zirconium_diboride') + .itemInputs('5x #forge:dusts/zirconium_bromide', '5x #forge:dusts/boron_carbide') + .notConsumable('#forge:dusts/carbon') + .itemOutputs('6x #forge:dusts/zirconium_diboride') + .outputFluids('gtceu:bromine 4000') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_carbide') + .itemInputs('2x #forge:dusts/boron', '7x #forge:dusts/carbon') + .inputFluids('gtceu:oxygen 3000') + .itemOutputs('5x #forge:dusts/boron_carbide') + .outputFluids('gtceu:carbon_monoxide 6000') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + // #endregion } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 9a9716009..60990863c 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -10,6 +10,8 @@ const registerGTCEuMaterialModification = (event) => { //const TFGPropertyKey = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.TFGPropertyKeys') const $TFC_PROPERTY = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.properties.TFCProperty') const $ORE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.OreProperty') + const $INGOT_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty') + const $BLAST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty') const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties') const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty') @@ -296,6 +298,10 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Plutonium239.addFlags(GENERATE_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) + GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, NO_ORE_SMELTING); + 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.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ GTToolType.AXE, GTToolType.HARD_HAMMER, @@ -422,6 +428,9 @@ const registerGTCEuMaterialModification = (event) => { rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) + + let zirconium_diboride = TFGHelpers.getMaterial('zirconium_diboride'); + zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20)); GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') GTMaterials.GraniteRed.setComponents([]) diff --git a/kubejs/startup_scripts/tfc/materials.js b/kubejs/startup_scripts/tfc/materials.js index 5883dc369..16e9dc540 100644 --- a/kubejs/startup_scripts/tfc/materials.js +++ b/kubejs/startup_scripts/tfc/materials.js @@ -88,6 +88,7 @@ const registerTFCMaterials = (event) => { GTMaterials.BlackBronze.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Potin.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Cupronickel.setMaterialIconSet(GTMaterialIconSet.SHINY) + GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Aluminium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) GTMaterials.Asbestos.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 76fdb3038..2ee953cdf 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -534,6 +534,7 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) .components('7x gallium', '2x tin', '1x zinc') .color('0x34cfeb') + // #endregion // #region holder materials // These allow us to give material components to non-material items @@ -553,8 +554,58 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.EXPLOSIVE) .macerateInto('gtceu:polycaprolactam') .color(0x000000) + // #endregion + + // #region Zirconium + event.create('tfg:zircon') + .gem() + .color(0xF1B6B0) + .secondaryColor(0x4BABC6) + .iconSet('gem_horizontal') + .components('1x zirconium', '1x silicon', '4x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:zirconium_tetrachloride') + .dust() + .color(0xF1B6B0) + .secondaryColor(0x146946) + .iconSet('rough') + .components('1x zirconium', '4x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:silicon_tetrachloride') + .liquid() + .color(0x707078) + .secondaryColor(0x146946) + .components('1x silicon', '4x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:zirconium_bromide') + .dust() + .color(0xBA776F) + .secondaryColor(0x146985) + .iconSet('shiny') + .components('1x zirconium', '4x bromine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('tfg:zirconium_diboride') + .ingot() + .color(0xFADED2) + .secondaryColor(0x4FA883) + .iconSet('shiny') + .components('1x zirconium', '2x boron') + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_FOIL) + + event.create('tfg:boron_carbide') + .ingot() + .iconSet('dull') + .color(0x42705D) + .components('4x boron', '1x carbon') + .blastTemp(3041, "mid", GTValues.VA[GTValues.HV], 1500) + .flags(GTMaterialFlags.GENERATE_PLATE) + + // #endregion - //#endregion //#region Food Materials(?) event.create('tfg:sodium_dihydrogen_citrate') From 14f90277dbe6d6690903110c25c3582e5a24cea4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 18:30:04 +0000 Subject: [PATCH 108/628] remove unused molten bis/black bronze, remove firmalife chromium/stainless fluids and buckets #2271 --- kubejs/server_scripts/firmalife/tags.js | 2 ++ kubejs/server_scripts/gregtech/tags.js | 2 ++ kubejs/startup_scripts/firmalife/constants.js | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 100c1380d..e33989e16 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -74,7 +74,9 @@ const registerFirmaLifeFluidTags = (event) => { // Добавляем тег для скрытия в EMI event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') + event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/stainless_steel') event.add('c:hidden_from_recipe_viewers', 'firmalife:chocolate') + event.add('c:hidden_from_recipe_viewers', 'firmalife:fruity_fluid') // Im going to leave these, but I dont think this tag does anything(?). event.add('firmalife:mixable', 'tfc:spring_water') diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index ba672d2b7..c121d87d8 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -135,6 +135,8 @@ function registerGTCEUFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "gtceu:molten_black_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:molten_red_steel"); 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:damascus_steel"); event.add("c:hidden_from_recipe_viewers", "gtceu:blaze"); event.add("c:hidden_from_recipe_viewers", "gtceu:thorium"); diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 83747ad96..4a04d2c2c 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -35,7 +35,10 @@ global.FIRMALIFE_DISABLED_ITEMS = [ // disabled so people use tongs instead 'firmalife:peel', - 'firmalife:bucket/chocolate' + 'firmalife:bucket/chocolate', + 'firmalife:bucket/fruity_fluid', + 'firmalife:bucket/metal/chromium', + 'firmalife:bucket/metal/stainless_steel' ]; global.FIRMALIFE_HIDED_ITEMS = [ From 848fe46ec0e0fece52290e26323394c8e30f35b3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 18:41:57 +0000 Subject: [PATCH 109/628] added recycling recipes for akistor carts, hid the postilion since it doesn't seem to summon any entity? the recycling is just brass but who cares about wood dust really #2227 --- CHANGELOG.md | 1 + .../server_scripts/asticor_carts/recipes.js | 21 +++++++++++++++++++ kubejs/server_scripts/asticor_carts/tags.js | 4 ++++ 3 files changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4df6bb63d..24d06f079 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Added partial unification to the gtceu wax material @Redeix - Mars endermen can no longer pick up the wrong kind of warped/crimson sapling, and the correct kind has been added to their loot tables (#2240) - Cleanrooms now allow 9 door "blocks", so you can use the 3x3 Ad Astra doors (#2074) @ko-lja +- Added recycling for astikor carts (#2227) @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix diff --git a/kubejs/server_scripts/asticor_carts/recipes.js b/kubejs/server_scripts/asticor_carts/recipes.js index 12d70352b..f68341ca5 100644 --- a/kubejs/server_scripts/asticor_carts/recipes.js +++ b/kubejs/server_scripts/asticor_carts/recipes.js @@ -6,4 +6,25 @@ const registerAsticorCartsRecipes = (event) => { event.remove({ id: 'astikorcarts:supply_cart' }) event.remove({ id: 'astikorcarts:plow' }) event.remove({ id: 'astikorcarts:wheel' }) + + event.recipes.gtceu.macerator(`tfg:recycle_astikor_animal_cart`) + .itemInputs('#tfcastikorcarts:animal_cart') + .itemOutputs('#forge:dusts/brass') + .duration(100) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator(`tfg:recycle_astikor_supply_cart`) + .itemInputs('#tfcastikorcarts:supply_cart') + .itemOutputs('#forge:dusts/brass') + .duration(100) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator(`tfg:recycle_astikor_plow`) + .itemInputs('#tfcastikorcarts:plow') + .itemOutputs('#forge:dusts/brass') + .duration(100) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/asticor_carts/tags.js b/kubejs/server_scripts/asticor_carts/tags.js index 4c25eb160..0c5d83cec 100644 --- a/kubejs/server_scripts/asticor_carts/tags.js +++ b/kubejs/server_scripts/asticor_carts/tags.js @@ -7,6 +7,10 @@ const registerAsticorCartsItemTags = (event) => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) + + global.TFC_WOOD_TYPES.forEach(wood => { + event.add('c:hidden_from_recipe_viewers', `tfcastikorcarts:postilion/${wood}`) + }) } const registerAsticorCartsBlockTags = (event) => { From 0c2c7f7d251e36df605b8947fb831a3e66627128 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sun, 23 Nov 2025 15:39:23 -0600 Subject: [PATCH 110/628] update dea fission (#2280) --- pakku-lock.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 26a1b0f0a..38f76b809 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4340,27 +4340,27 @@ "files": [ { "type": "curseforge", - "file_name": "deafission-1.20.1-0.14.0.jar", + "file_name": "deafission-1.20.1-0.15.0.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7183/3/deafission-1.20.1-0.14.0.jar", - "id": "7183003", + "release_type": "alpha", + "url": "https://edge.forgecdn.net/files/7249/402/deafission-1.20.1-0.15.0.jar", + "id": "7249402", "parent_id": "1354541", "hashes": { - "sha1": "be825bbade05cbb92d4036018ac2ed2afdd0c60e", - "md5": "5c75e50c6375e902b55d1d5e8443d6b8" + "sha1": "d5006dec153b97fb575562579d67facaa49bd7c1", + "md5": "ee23ef29043242633e6966ce991e4bd1" }, "required_dependencies": [ "890405", "238086" ], - "size": 291509, - "date_published": "2025-11-03T18:53:38.453Z" + "size": 410648, + "date_published": "2025-11-22T14:10:43.543Z" } ] }, From 5491daa32f8f7b09040e8967ef5e26da2c426082 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sun, 23 Nov 2025 17:34:37 -0500 Subject: [PATCH 111/628] Fission update (#2281) * Change structure of kubejs files * Fix some stuffs --- kubejs/server_scripts/deafission/recipes.js | 18 ----- kubejs/server_scripts/main_server_script.js | 3 + .../tfg/nuclear/recipes.components.js | 41 +++++++++++ .../tfg/{ => nuclear}/recipes.nuclear.js | 70 ++++++++----------- .../tfg/nuclear/tags.nuclear.js | 52 ++++++++++++++ kubejs/server_scripts/tfg/recipes.js | 1 + kubejs/server_scripts/tfg/tags.js | 27 ------- .../tfg/{ => nuclear}/materials.nuclear.js | 62 ++++++++-------- 8 files changed, 159 insertions(+), 115 deletions(-) create mode 100644 kubejs/server_scripts/tfg/nuclear/recipes.components.js rename kubejs/server_scripts/tfg/{ => nuclear}/recipes.nuclear.js (94%) create mode 100644 kubejs/server_scripts/tfg/nuclear/tags.nuclear.js rename kubejs/startup_scripts/tfg/{ => nuclear}/materials.nuclear.js (88%) diff --git a/kubejs/server_scripts/deafission/recipes.js b/kubejs/server_scripts/deafission/recipes.js index 99da8fd26..014ea9ab3 100644 --- a/kubejs/server_scripts/deafission/recipes.js +++ b/kubejs/server_scripts/deafission/recipes.js @@ -7,22 +7,4 @@ function registerDeaFissionRecipes(event) { event.remove({ id: 'deafission:fission_reactor_coolant/thorium/nak_to_plasma' }) event.remove({ id: 'deafission:fission_reactor_coolant/uranium/water_to_steam' }) - let component = function (type, block, value) { - event.custom({ - type: 'deafission:fission_component', - componentType: type, - block: block, - data: { - value: value - } - }); - }; - - // Examples: https://bitbucket.org/Vazde/minecraft-fission/src/master/mod/settings-run/kubejs/server_scripts/recipes.js - - component("HEAT", "minecraft:blue_ice", 0.5) - component("HEAT", "tfg:glacian_wool_frame", 2); - component("HEAT", "tfg:aes_insulation_frame", 1); - component("HEAT", "tfg:moderate_core_frame", 10); - component("HEAT", "tfg:impure_moderate_core_frame", 5); } \ 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 d6a40181a..5a544affb 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -54,6 +54,7 @@ ServerEvents.tags('item', event => { registerTFCItemTags(event) registerTFCTextileItemTags(event) registerTFGItemTags(event) + registerTFGItemTagsNuclear(event) registerTFCLunchboxItemTags(event) registerVintageImprovementsItemTags(event) registerWABItemTags(event) @@ -91,6 +92,7 @@ ServerEvents.tags('block', event => { registerTACZBlockTags(event) registerTFCBlockTags(event) registerTFGBlockTags(event) + registerTFGBlockTagsNuclear(event) registerVintageImprovementsBlockTags(event) registerWABBlockTags(event) }) @@ -108,6 +110,7 @@ ServerEvents.tags('fluid', event => { registerFirmaLifeFluidTags(event) registerTFCFluidTags(event) registerTFGFluidTags(event) + registerTFGFluidTagsNuclear(event) registerVintageImprovementsFluidTags(event) }) diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.components.js b/kubejs/server_scripts/tfg/nuclear/recipes.components.js new file mode 100644 index 000000000..46cf556da --- /dev/null +++ b/kubejs/server_scripts/tfg/nuclear/recipes.components.js @@ -0,0 +1,41 @@ +// priority: 0 +"use strict"; + +function registerTFGNuclearComponentsRecipes(event) { + + let component = function (type, block, value) { + event.custom({ + type: 'deafission:component_fr', + componentType: type, + block: block, + data: { + value: value + } + }); + }; + + let componentThermal = function(type, block, temp, cap) { + event.custom({ + type: 'deafission:component_hb', + componentType: type, + block: block, + data: { + temperature: temp, + capacity: cap + } + }); + }; + + // Examples: https://bitbucket.org/Vazde/minecraft-fission/src/master/mod/settings-run/kubejs/server_scripts/recipes.js + + component("HEAT", "minecraft:blue_ice", 0.5) + component("HEAT", "tfg:glacian_wool_frame", 2); + 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); +*/ +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.nuclear.js b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js similarity index 94% rename from kubejs/server_scripts/tfg/recipes.nuclear.js rename to kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js index 4a60059ab..1bc93f877 100644 --- a/kubejs/server_scripts/tfg/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js @@ -57,14 +57,13 @@ function registerTFGNuclearRecipes(event) { .EUt(GTValues.VA[GTValues.EV]) .dimension('ad_astra:mars') - /* REMOVE FOR VENUS COMMENTED OUT event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_232_rod') .inputFluids(Fluid.of('gtceu:nuclear_waste', 32000)) .itemInputs('#forge:ingots/thorium_232', 'tfg:empty_rod') .itemOutputs('tfg:tbu-232_rod') .duration(20*300) .EUt(GTValues.V[GTValues.IV]) - */ + event.recipes.gtceu.lathe('tfg:empty_rod') .itemInputs('gtceu:cobalt_large_restrictive_item_pipe') .itemOutputs('tfg:empty_rod') @@ -215,15 +214,6 @@ function registerTFGNuclearRecipes(event) { //#region Fission Reactor - // Recipe for Thorium Reactor Just keeping it in case we got mod issues -/* event.recipes.gtceu.fission_reactor('thorium_uranium_waste') - .itemInputs('#forge:bolts/thorium_rod') - .inputFluids(Fluid.of('minecraft:water', 100)) - .outputFluids(Fluid.of('gtceu:dense_steam', 100)) - .outputFluids(Fluid.of('gtceu:uranium_waste', 20)) - .duration(20*50) - .EUt(32)*/ - // Thorium Fission event.recipes.deafission.fission_reactor_fuel('tfg:thorium') @@ -244,15 +234,6 @@ function registerTFGNuclearRecipes(event) { .addData("coolant_heat_per_tick", 1) .duration(1); - // Recipe for Uranium Reactor Just keeping it in case we got mod issues -/* event.recipes.gtceu.fission_reactor('uranium_radioactive') - .itemInputs('#forge:bolts/uranium_rod') - .inputFluids(Fluid.of('tfg:heavy_water', 75)) - .outputFluids(Fluid.of('gtceu:radioactive_steam', 75)) - .outputFluids(Fluid.of('gtceu:radioactive_waste', 50)) - .duration(20*100) - .EUt(32)*/ - // Uranium Fission event.recipes.deafission.fission_reactor_fuel('tfg:uranium') @@ -272,15 +253,6 @@ function registerTFGNuclearRecipes(event) { .duration(1) .dimension('ad_astra:mars') - // Recipe for Plutonium Reactor Just keeping it in case we got mod issues -/* event.recipes.gtceu.fission_reactor('plutonium_irradiated') - .itemInputs('#forge:bolts/plutonium_rod') - .inputFluids(Fluid.of('tfg:heavy_water', 2000)) - .outputFluids(Fluid.of('gtceu:irradiated_steam', 2000)) - .outputFluids(Fluid.of('gtceu:tritiated_water', 50)) - .duration(20*100) - .EUt(32)*/ - // Plutonium Fission event.recipes.deafission.fission_reactor_fuel('tfg:plutonium') @@ -300,15 +272,23 @@ function registerTFGNuclearRecipes(event) { .duration(1) .dimension('ad_astra:mars') - // Fission Reactor for Energy Just keeping it in case we got mod issues + // TBU Fission /* - event.recipes.gtceu.fission_reactor('tbu_reactor') - .itemInputs('tfg:tbu_232_rod') - .inputFluids(Fluid.of('gtceu:flibe', 1000)) - .outputFluids(Fluid.of('gtceu:hot_flibe', 1000)) - .outputFluids(Fluid.of('gtceu:nuclear_waste', 500)) - .duration(20*100) - .EUt(32) + event.recipes.deafission.fission_reactor_fuel('kubejs:fuelcell_custom_x1') + .itemInputs('tfg:tbu_232_rod') + .itemOutputs('minecraft:dirt') + // 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); */ //#endregion @@ -346,7 +326,7 @@ function registerTFGNuclearRecipes(event) { .EUt(GTValues.VA[GTValues.EV]) .duration(20*9) - // Graphite Moderator Line + //#region Graphite Moderator Line const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') @@ -461,6 +441,7 @@ function registerTFGNuclearRecipes(event) { //#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') @@ -483,6 +464,8 @@ function registerTFGNuclearRecipes(event) { .circuit(6) .EUt(GTValues.VA[GTValues.IV] * 2) .duration(20*4) + */ + /* event.shaped('tfg:cooling_tower', [ 'ABA', @@ -496,8 +479,15 @@ function registerTFGNuclearRecipes(event) { E: 'gtceu:iv_fluid_regulator' }).id('tfg:shaped/cooling_tower') */ - //#endregion + //#endregion + /* + 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) + */ //#region FLiBe Line - SCRAP FROM MARS TO VENUS /* @@ -710,4 +700,6 @@ function registerTFGNuclearRecipes(event) { */ + + } diff --git a/kubejs/server_scripts/tfg/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/nuclear/tags.nuclear.js new file mode 100644 index 000000000..97fe73b6c --- /dev/null +++ b/kubejs/server_scripts/tfg/nuclear/tags.nuclear.js @@ -0,0 +1,52 @@ +"use strict"; + +const registerTFGItemTagsNuclear = (event) => { + + //Fission Nucleat Fuel + event.add('deafission:fuels', 'tfg:thorium_rod') + event.add('deafission:fuels', 'tfg:uranium_rod') + event.add('deafission:fuels', 'tfg:plutonium_rod') + event.add('tfg:fission_rods', '#deafission:fuels') + +} + +const registerTFGBlockTagsNuclear = (event) => { + + //#region Fision Components + let COMPONENTS_FR = 'deafission:components_fr'; + + // Max Heating + event.add(COMPONENTS_FR, 'tfg:glacian_wool_frame'); // Max Heat 2 + event.add(COMPONENTS_FR, 'minecraft:blue_ice'); // Max Heat 0.5 + event.add(COMPONENTS_FR, 'tfg:aes_insulation_frame'); // Max Heat 1 + event.add(COMPONENTS_FR, 'tfg:moderate_core_frame'); // Max Heat 10 + 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 + + // Increase Throttle + //event.add(COMPONENTS_FR, 'minecraft:iron_block'); + + // Increase Effiency + //event.add(COMPONENTS_FR, 'minecraft:packed_ice'); + + event.add('tfg:fission_coolant','deafission:components') + + // Heat Battery Components + + 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, 'minecraft:bedrock'); // For Creative usage only + + //#endregion +} +//#endregion + +//#region Fluids +const registerTFGFluidTagsNuclear = (event) => { + +} diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 781873af8..7f37614ce 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -19,6 +19,7 @@ const registerTFGRecipes = (event) => { registerTFGSpaceRecipes(event) registerTFGStoneDustRecipes(event) registerTFGNuclearRecipes(event) + registerTFGNuclearComponentsRecipes(event) registerTFGBiochemRecipes(event) registerTFGSpaceOres(event) } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index b3ca69a4c..8855d5292 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -63,12 +63,6 @@ const registerTFGItemTags = (event) => { event.add('tfg:components/uv_leds', 'tfg:uv_led') event.add('tfg:components/uv_leds', 'tfg:smd_uv_led') - //Fission Nucleat Fuel - event.add('deafission:fuels', 'tfg:thorium_rod') - event.add('deafission:fuels', 'tfg:uranium_rod') - event.add('deafission:fuels', 'tfg:plutonium_rod') - event.add('tfg:fission_rods', '#deafission:fuels') - // Platline event.add('tfg:platinum_ore_group', 'gtceu:purified_pentlandite_ore') event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcopyrite_ore') @@ -671,27 +665,6 @@ const registerTFGBlockTags = (event) => { event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') - //#region Fision Components - let COMPONENTS = 'deafission:components'; - - // Max Heating - event.add(COMPONENTS, 'tfg:glacian_wool_frame'); // Max Heat 2 - event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5 - event.add(COMPONENTS, 'tfg:aes_insulation_frame'); // Max Heat 1 - event.add(COMPONENTS, 'tfg:moderate_core_frame'); // Max Heat 10 - event.add(COMPONENTS, 'tfg:impure_moderate_core_frame'); // Max Heat 5 - //event.add(COMPONENTS, 'minecraft:blue_ice'); // Max Heat 0.5 - - event.add(COMPONENTS, 'minecraft:bedrock'); // Max Heat 10000 CREATIVE BLOCK - - // Increase Throttle - //event.add(COMPONENTS, 'minecraft:iron_block'); - - // Increase Effiency - //event.add(COMPONENTS, 'minecraft:packed_ice'); - - event.add('tfg:fission_coolant','deafission:components') - //#endregion // #region Nether blocks diff --git a/kubejs/startup_scripts/tfg/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js similarity index 88% rename from kubejs/startup_scripts/tfg/materials.nuclear.js rename to kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index cb92092db..ac65b1ab0 100644 --- a/kubejs/startup_scripts/tfg/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -216,6 +216,8 @@ const registerTFGNuclearMaterials = (event) => { //#endregion +}; + //#region Fuel Pellet /* @@ -230,38 +232,36 @@ const registerTFGNuclearMaterials = (event) => { So purely passively it reaches 20000.0 heat. */ -} - const $FuelCellItem = Java.loadClass("fi.dea.mc.deafission.common.data.items.FuelCellItem"); +const $DepletedFuelCellItem = Java.loadClass("fi.dea.mc.deafission.common.data.items.DepletedFuelCellItem"); + +//const $ComponentTotals = Java.loadClass("fi.dea.mc.deafission.core.components.ComponentTotals"); +//const $ReactorBaseStats = Java.loadClass("fi.dea.mc.deafission.core.ReactorBaseStats"); +//$ReactorBaseStats.Smr1 = new $ComponentTotals(200, 0, 0); StartupEvents.registry("item", (event) => { - event.createCustom("tfg:thorium_rod", () => { - return new $FuelCellItem( - 5000, - 1, - 0.7 // Max Heat 139 - 1 Fuel - ); - }) - event.createCustom("tfg:uranium_rod", () => { - return new $FuelCellItem( - 20000, - 1, - 2.2 // Max Heat 435 - 1 Fuel - ); - }) - event.createCustom("tfg:plutonium_rod", () => { - return new $FuelCellItem( - 30000, - 1, - 3.0 // Max Heat 595 - 1 Fuel - ); - }) + const fuel = function(id, durability, rods, heat, createDepleted) { - event.createCustom("tfg:tbu_232_rod", () => { - return new $FuelCellItem( - 20000, - 1, - 2.0 - ); - }) -}); + if (createDepleted === undefined) createDepleted = true; + + event.createCustom("tfg:" + id, () => { + return new $FuelCellItem( + durability, + rods, + heat + ); + }); + + if (createDepleted) { + event.createCustom("tfg:depleted_" + id, () => { + return new $DepletedFuelCellItem(); + }); + } + }; + + 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); + +}); \ No newline at end of file From 580f49b8beb99c4c2baac8e69f6d444d285445af Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 22:40:14 +0000 Subject: [PATCH 112/628] pakku --- pakku-lock.json | 677 ++++++++++++++++++++++++------------------------ 1 file changed, 339 insertions(+), 338 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 26a1b0f0a..9b4ddb644 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -852,7 +852,7 @@ "files": [ { "type": "curseforge", - "file_name": "alltheleaks-1.1.0+1.20.1-forge.jar", + "file_name": "alltheleaks-1.1.1+1.20.1-forge.jar", "mc_versions": [ "1.20.1" ], @@ -860,16 +860,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7189/127/alltheleaks-1.1.0+1.20.1-forge.jar", - "id": "7189127", + "url": "https://edge.forgecdn.net/files/7235/989/alltheleaks-1.1.1+1.20.1-forge.jar", + "id": "7235989", "parent_id": "1091339", "hashes": { - "sha1": "d38ae474a0d8d9c6671fe7419e36c1ac859c9e68", - "md5": "a1284d5c8ee99ba6de078db3b22709c6" + "sha1": "3c43c2e76093dc7ef5ad6e456d20da9674c653aa", + "md5": "df84fbdadaf7947dc530872fa60fbc56" }, "required_dependencies": [], - "size": 1186965, - "date_published": "2025-11-05T14:35:56.437Z" + "size": 1187126, + "date_published": "2025-11-18T17:28:45.610Z" } ] }, @@ -1035,7 +1035,7 @@ "files": [ { "type": "modrinth", - "file_name": "ae2wtlib-15.3.1-forge.jar", + "file_name": "ae2wtlib-15.3.3-forge.jar", "mc_versions": [ "1.20.1" ], @@ -1043,25 +1043,25 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/pNabrMMw/versions/BLQZoB0F/ae2wtlib-15.3.1-forge.jar", - "id": "BLQZoB0F", + "url": "https://cdn.modrinth.com/data/pNabrMMw/versions/z8QXeyI0/ae2wtlib-15.3.3-forge.jar", + "id": "z8QXeyI0", "parent_id": "pNabrMMw", "hashes": { - "sha512": "57603754e9b51858678d0bbabea8c47050f56b810cdf06d528fdf97262cda4c26fa758830c997d2f0cdf7772142d70d99ea8e4be33fc9d20e54b7c43803ea109", - "sha1": "2df257a66c16c30f4fcae2de0d6b387251b7f114" + "sha512": "f036f278e6d1360147b04f2090829154e75e456f3b2c0af7571b537bf0fd13e97f29211f7a044f9437a171a1c525195737860895118eab70b2b4af54485367d4", + "sha1": "1a546af04844677542b6914191783c7de15364fc" }, "required_dependencies": [ - "vvuO3ImH", - "lhGA9TYQ", + "9s6osm5g", "XxWD5pD3", - "9s6osm5g" + "lhGA9TYQ", + "vvuO3ImH" ], - "size": 228960, - "date_published": "2025-10-26T23:02:08.228212Z" + "size": 229518, + "date_published": "2025-11-23T00:02:50.212750Z" }, { "type": "curseforge", - "file_name": "ae2wtlib-15.3.1-forge.jar", + "file_name": "ae2wtlib-15.3.3-forge.jar", "mc_versions": [ "1.20.1" ], @@ -1069,21 +1069,21 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7154/316/ae2wtlib-15.3.1-forge.jar", - "id": "7154316", + "url": "https://edge.forgecdn.net/files/7251/206/ae2wtlib-15.3.3-forge.jar", + "id": "7251206", "parent_id": "459929", "hashes": { - "sha1": "2df257a66c16c30f4fcae2de0d6b387251b7f114", - "md5": "91c10c49ecea8f771aef27de03da0dec" + "sha1": "1a546af04844677542b6914191783c7de15364fc", + "md5": "9e60a31acb384e832f03bcb16e092ec9" }, "required_dependencies": [ + "309927", "223794", "348521", - "309927", "419699" ], - "size": 228960, - "date_published": "2025-10-26T23:02:05.480Z" + "size": 229518, + "date_published": "2025-11-23T00:02:48.137Z" } ] }, @@ -1499,7 +1499,7 @@ "files": [ { "type": "modrinth", - "file_name": "balm-forge-1.20.1-7.3.33-all.jar", + "file_name": "balm-forge-1.20.1-7.3.37-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -1508,20 +1508,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/MBAkmtvl/versions/Et3eoKPd/balm-forge-1.20.1-7.3.33-all.jar", - "id": "Et3eoKPd", + "url": "https://cdn.modrinth.com/data/MBAkmtvl/versions/Ue8C6cKq/balm-forge-1.20.1-7.3.37-all.jar", + "id": "Ue8C6cKq", "parent_id": "MBAkmtvl", "hashes": { - "sha512": "d2ae5b6da42930735fd7132a67c4bd8a81cc44f686d680f73e7ffb686d0f873d408bff16153a9bff0651d888d0fe5473574c0d0d4f33ce564fbf3561beb4bbb5", - "sha1": "991d476a261027f2c3fef6545b6e24bcfee47de2" + "sha512": "3f01038d48f068ebc9941ad9ea23266e7f25a8851bb8f4ac4dd150bb2eddf10f6b2c0dac6e2a8d2cf4af2febfb884766f5ca000cf460d53ccde87cead2b0b5a8", + "sha1": "8ed877e61adf550c68aa4fc75d163ff97c0c5006" }, "required_dependencies": [], - "size": 596328, - "date_published": "2025-07-18T16:27:58.574138Z" + "size": 590487, + "date_published": "2025-10-09T16:46:34.849157Z" }, { "type": "curseforge", - "file_name": "balm-forge-1.20.1-7.3.33-all.jar", + "file_name": "balm-forge-1.20.1-7.3.37-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -1530,16 +1530,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6784/115/balm-forge-1.20.1-7.3.33-all.jar", - "id": "6784115", + "url": "https://edge.forgecdn.net/files/7087/245/balm-forge-1.20.1-7.3.37-all.jar", + "id": "7087245", "parent_id": "531761", "hashes": { - "sha1": "190bb6d7e3b51f786fc3968bd142ca8705cd85ac", - "md5": "2ff37a0442953ee751f788bea5658473" + "sha1": "bb7af11fd4bc2e76fce98f90c752279ae381b934", + "md5": "e4d3fb7b0d8e9271aca89f7964367b1a" }, "required_dependencies": [], - "size": 596329, - "date_published": "2025-07-18T16:27:33.377Z" + "size": 590486, + "date_published": "2025-10-09T16:46:44.680Z" } ] }, @@ -2294,7 +2294,7 @@ "files": [ { "type": "modrinth", - "file_name": "chat_heads-0.14.0-forge-1.20.jar", + "file_name": "chat_heads-0.14.2-forge-1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -2303,20 +2303,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/2OV95AUL/chat_heads-0.14.0-forge-1.20.jar", - "id": "2OV95AUL", + "url": "https://cdn.modrinth.com/data/Wb5oqrBJ/versions/kHywXsX0/chat_heads-0.14.2-forge-1.20.jar", + "id": "kHywXsX0", "parent_id": "Wb5oqrBJ", "hashes": { - "sha512": "9d1f0ff0daa940869b5b6af45f75e73d6fda8c6ee38fd0534b6d121c5e26aaeb8c87b856ecef1fc64b4c3d09f34c69ce8f27213837856637e4637c0970a22909", - "sha1": "567ee6f6d2b72a8203b73887e38344ffa2834b12" + "sha512": "44970e9d913c19b0c36990dcf6f4cf757b032f3bec596cc9b85ff0ac7fe5fcab3d20cd590e31825e649f5393189fc2bb89386f95cca36013e9c0195eb62e10e2", + "sha1": "0410ab9636c69324e3671012af64c7743f6d6079" }, "required_dependencies": [], - "size": 718407, - "date_published": "2025-10-02T14:11:45.140239Z" + "size": 718678, + "date_published": "2025-11-11T19:30:49.532052Z" }, { "type": "curseforge", - "file_name": "chat_heads-0.14.0-forge-1.20.jar", + "file_name": "chat_heads-0.14.2-forge-1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -2325,16 +2325,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7057/824/chat_heads-0.14.0-forge-1.20.jar", - "id": "7057824", + "url": "https://edge.forgecdn.net/files/7211/700/chat_heads-0.14.2-forge-1.20.jar", + "id": "7211700", "parent_id": "407206", "hashes": { - "sha1": "567ee6f6d2b72a8203b73887e38344ffa2834b12", - "md5": "b0d253116c8e585f087b481ec46a5c55" + "sha1": "0410ab9636c69324e3671012af64c7743f6d6079", + "md5": "90c7b2c8dd6b9001528c5d741152b784" }, "required_dependencies": [], - "size": 718407, - "date_published": "2025-10-02T14:11:48.900Z" + "size": 718678, + "date_published": "2025-11-11T19:30:55.800Z" } ] }, @@ -2529,7 +2529,7 @@ "files": [ { "type": "modrinth", - "file_name": "clienttweaks-forge-1.20.1-11.1.4.jar", + "file_name": "clienttweaks-forge-1.20.1-11.1.5.jar", "mc_versions": [ "1.20", "1.20.1" @@ -2538,22 +2538,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/vPNqo58Q/versions/CgYDErri/clienttweaks-forge-1.20.1-11.1.4.jar", - "id": "CgYDErri", + "url": "https://cdn.modrinth.com/data/vPNqo58Q/versions/H8SeAE8l/clienttweaks-forge-1.20.1-11.1.5.jar", + "id": "H8SeAE8l", "parent_id": "vPNqo58Q", "hashes": { - "sha512": "5ebce9bc1517f588bf5627c236fd45a7d1e852f05791574d2f5dab4e53549247f401e0c0d39dc904c110392f9c320d4685c5a864fb73f1719c7febe5c159de24", - "sha1": "35a27c237edc88ce5a48b271a83ad3cf577fe8e4" + "sha512": "83b3fd505453298e1b29483e4f30c096988479c909d0d6e79cda40bd310db6d3ba658d5a5a18c2625e74c4c71ea563646e75e7135e334cf51c14b5f925b4c19e", + "sha1": "14a951b96c22ed76057c1da4415f8234bcbc8dbc" }, "required_dependencies": [ "MBAkmtvl" ], - "size": 137803, - "date_published": "2025-07-17T13:16:41.315425Z" + "size": 137930, + "date_published": "2025-09-30T07:22:37.019245Z" }, { "type": "curseforge", - "file_name": "clienttweaks-forge-1.20.1-11.1.4.jar", + "file_name": "clienttweaks-forge-1.20.1-11.1.5.jar", "mc_versions": [ "1.20.1", "1.20" @@ -2562,18 +2562,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6778/900/clienttweaks-forge-1.20.1-11.1.4.jar", - "id": "6778900", + "url": "https://edge.forgecdn.net/files/7047/908/clienttweaks-forge-1.20.1-11.1.5.jar", + "id": "7047908", "parent_id": "251407", "hashes": { - "sha1": "6389f338e671a149138175fd5ef9fe096d276970", - "md5": "24d4ad737448d3d2243042d33bfe084d" + "sha1": "dd42a485ccb028b04425ed6bac050d547266dfd7", + "md5": "c2f2bfe44ae97b97dfd9751f3b771820" }, "required_dependencies": [ "531761" ], - "size": 137803, - "date_published": "2025-07-17T13:16:38.110Z" + "size": 137930, + "date_published": "2025-09-30T07:22:41.783Z" } ] }, @@ -2682,7 +2682,7 @@ }, { "type": "curseforge", - "file_name": "Waves-1.20.1-1.6a.jar", + "file_name": "Waves-1.20.1-1.6.1.jar", "mc_versions": [ "1.20.1" ], @@ -2691,16 +2691,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7046/424/Waves-1.20.1-1.6a.jar", - "id": "7046424", + "url": "https://edge.forgecdn.net/files/7208/600/Waves-1.20.1-1.6.1.jar", + "id": "7208600", "parent_id": "1155936", "hashes": { - "sha1": "cd2242b9102cebbdb117591be1b7c0b3465e3122", - "md5": "b510f00117054c6c06a0369edb44d4e0" + "sha1": "9704c7049b49ba6f5969ba2a1442490385764d03", + "md5": "9012ca8827fef15f7fa78179ce2fbf86" }, "required_dependencies": [], - "size": 1337728, - "date_published": "2025-09-29T18:42:51.277Z" + "size": 1337928, + "date_published": "2025-11-10T23:43:44.807Z" } ] }, @@ -3578,32 +3578,9 @@ "modrinth": "kU1G12Nn" }, "files": [ - { - "type": "curseforge", - "file_name": "createaddition-1.20.1-1.3.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6901/922/createaddition-1.20.1-1.3.2.jar", - "id": "6901922", - "parent_id": "439890", - "hashes": { - "sha1": "41ea564e270effea8bad04b937fb30d2a3bb5053", - "md5": "0a70304b24fed06ef44470b613cdb251" - }, - "required_dependencies": [ - "328085" - ], - "size": 1583476, - "date_published": "2025-08-18T21:47:44.397Z" - }, { "type": "modrinth", - "file_name": "createaddition-1.20.1-1.3.1.jar", + "file_name": "createaddition-1.20.1-1.3.3.jar", "mc_versions": [ "1.20.1" ], @@ -3611,18 +3588,41 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kU1G12Nn/versions/SecVSw22/createaddition-1.20.1-1.3.1.jar", - "id": "SecVSw22", + "url": "https://cdn.modrinth.com/data/kU1G12Nn/versions/9LgyB6Yb/createaddition-1.20.1-1.3.3.jar", + "id": "9LgyB6Yb", "parent_id": "kU1G12Nn", "hashes": { - "sha512": "d9fd62d5041670e3194848624672674b2ef23a88348f30968574803786da0a56b3d34a1ab7e542d6666cd3983d88fbedce08b2c56165a464fee7e3c383c07ad5", - "sha1": "0c408317b7c3bc3c7f7d5f6dbbb3ee106fa5f4fc" + "sha512": "a34f5c3b0226069d2882a3e23ba0e364a78bc5d26983b0cecea8d998718f454d3238ab7c5b4b3ef1749b6f2b26a4e427839c7c32468558fa7a8edb0edc727d10", + "sha1": "c7d464c451fdc2979bc29a67d7eec2a30858af12" }, "required_dependencies": [ "LNytGWDc" ], - "size": 1547196, - "date_published": "2025-03-22T16:14:26.357192Z" + "size": 1577313, + "date_published": "2025-11-10T23:46:17.426080Z" + }, + { + "type": "curseforge", + "file_name": "createaddition-1.20.1-1.3.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7208/610/createaddition-1.20.1-1.3.3.jar", + "id": "7208610", + "parent_id": "439890", + "hashes": { + "sha1": "c7d464c451fdc2979bc29a67d7eec2a30858af12", + "md5": "1c0d2275ead3e4756d77ac5a86f135ab" + }, + "required_dependencies": [ + "328085" + ], + "size": 1577313, + "date_published": "2025-11-10T23:45:16.187Z" } ] }, @@ -3874,7 +3874,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_connected-1.1.9-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.10-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], @@ -3883,42 +3883,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/j8VEpPsE/create_connected-1.1.9-mc1.20.1-all.jar", - "id": "j8VEpPsE", + "url": "https://cdn.modrinth.com/data/Vg5TIO6d/versions/saiZ8AwJ/create_connected-1.1.10-mc1.20.1-all.jar", + "id": "saiZ8AwJ", "parent_id": "Vg5TIO6d", "hashes": { - "sha512": "008704b7f5aba95ad9f83d53494c45d660c6e112abc116c54f4fd6c33bcd3b94b87beceae729dbccd28fba331722e80b2cddc5171e03e2f2159a2ece23ae074d", - "sha1": "8ecff58c8516e5c624ac060cd06b2200deb342a9" + "sha512": "0b885e09e0f074051120669337e0f53f42ca43a244cfde02f90b43da5a09853f92715371a9377c542886a673aefeda6f01becd3cb4b1e012d300618f1e33dce8", + "sha1": "329b9417c0fd52f0a5a153de31d7d075c521e900" }, "required_dependencies": [ "LNytGWDc" ], - "size": 6566808, - "date_published": "2025-11-09T08:44:57.079900Z" + "size": 6567116, + "date_published": "2025-11-23T02:14:34.172787Z" }, { "type": "curseforge", - "file_name": "create_connected-1.1.9-mc1.20.1-all.jar", + "file_name": "create_connected-1.1.10-mc1.20.1-all.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7201/963/create_connected-1.1.9-mc1.20.1-all.jar", - "id": "7201963", + "url": "https://edge.forgecdn.net/files/7251/637/create_connected-1.1.10-mc1.20.1-all.jar", + "id": "7251637", "parent_id": "947914", "hashes": { - "sha1": "8ecff58c8516e5c624ac060cd06b2200deb342a9", - "md5": "a272e0f472171f9f47c296d3d4045b20" + "sha1": "eea1d04aee638689a99acf66457327b13a4b3f96", + "md5": "b119043b5504991e86a5d7d06734f49b" }, "required_dependencies": [ "328085" ], - "size": 6566808, - "date_published": "2025-11-09T08:44:56.310Z" + "size": 6567117, + "date_published": "2025-11-23T02:14:45.303Z" } ] }, @@ -3944,7 +3944,7 @@ "files": [ { "type": "modrinth", - "file_name": "create_hypertube-0.2.6-hotfix-FORGE.jar", + "file_name": "create_hypertube-0.3.0-FORGE.jar", "mc_versions": [ "1.20.1", "1.20.2", @@ -3954,45 +3954,46 @@ "1.20.6" ], "loaders": [ - "forge" + "forge", + "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/ATDdrG1y/versions/iRjDdZIt/create_hypertube-0.2.6-hotfix-FORGE.jar", - "id": "iRjDdZIt", + "url": "https://cdn.modrinth.com/data/ATDdrG1y/versions/pX1oNdBc/create_hypertube-0.3.0-FORGE.jar", + "id": "pX1oNdBc", "parent_id": "ATDdrG1y", "hashes": { - "sha512": "3883609379fed3cde7a046667cb1d04af5816d007bb9c875603d7fb4f3292926663dd22ecc660faa733743fb1adae52cde8dbf2667655846f6bb00af4825e748", - "sha1": "83c1728344eef7669b933e36a42a1d0e4f529ea8" + "sha512": "4ffaff34cdd31c6ff11364809992cb4f15e1e00fd3d87a5be6a9006e95ad9c4636ffbe6845ee2d59b55d20e9896bedb1e5ada699202e9b71a90195833161a140", + "sha1": "476ae93802024b766badb15e538e0cf65a2e3fbd" }, "required_dependencies": [ "LNytGWDc" ], - "size": 351225, - "date_published": "2025-10-09T14:05:53.834301Z" + "size": 390634, + "date_published": "2025-11-21T17:40:28.963108Z" }, { "type": "curseforge", - "file_name": "create_hypertube-0.2.6-hotfix-FORGE.jar", + "file_name": "create_hypertube-0.3.0-FORGE.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7086/642/create_hypertube-0.2.6-hotfix-FORGE.jar", - "id": "7086642", + "url": "https://edge.forgecdn.net/files/7246/344/create_hypertube-0.3.0-FORGE.jar", + "id": "7246344", "parent_id": "1281336", "hashes": { - "sha1": "83c1728344eef7669b933e36a42a1d0e4f529ea8", - "md5": "3863248ebd60a41ebf7dac874cf6e0c0" + "sha1": "476ae93802024b766badb15e538e0cf65a2e3fbd", + "md5": "7cab909e9c8de12b8c97518ca0042c1b" }, "required_dependencies": [ "328085" ], - "size": 351225, - "date_published": "2025-10-09T14:00:11.063Z" + "size": 390634, + "date_published": "2025-11-21T17:32:38.960Z" } ] }, @@ -4340,27 +4341,27 @@ "files": [ { "type": "curseforge", - "file_name": "deafission-1.20.1-0.14.0.jar", + "file_name": "deafission-1.20.1-0.15.0.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7183/3/deafission-1.20.1-0.14.0.jar", - "id": "7183003", + "release_type": "alpha", + "url": "https://edge.forgecdn.net/files/7249/402/deafission-1.20.1-0.15.0.jar", + "id": "7249402", "parent_id": "1354541", "hashes": { - "sha1": "be825bbade05cbb92d4036018ac2ed2afdd0c60e", - "md5": "5c75e50c6375e902b55d1d5e8443d6b8" + "sha1": "d5006dec153b97fb575562579d67facaa49bd7c1", + "md5": "ee23ef29043242633e6966ce991e4bd1" }, "required_dependencies": [ "890405", "238086" ], - "size": 291509, - "date_published": "2025-11-03T18:53:38.453Z" + "size": 410648, + "date_published": "2025-11-22T14:10:43.543Z" } ] }, @@ -4808,33 +4809,9 @@ "modrinth": "v3CYg2V9" }, "files": [ - { - "type": "curseforge", - "file_name": "drippyloadingscreen_forge_3.0.12_MC_1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6412/211/drippyloadingscreen_forge_3.0.12_MC_1.20.1.jar", - "id": "6412211", - "parent_id": "511770", - "hashes": { - "sha1": "ea21436917b84780835b041cd27b7f86679dc6a1", - "md5": "a8cbcca4541cb6eb794ded4a10c57ac9" - }, - "required_dependencies": [ - "410295", - "367706" - ], - "size": 239365, - "date_published": "2025-04-11T20:29:43.010Z" - }, { "type": "modrinth", - "file_name": "drippyloadingscreen_forge_3.0.12_MC_1.20.1.jar", + "file_name": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -4842,19 +4819,43 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/v3CYg2V9/versions/SCbkqLQR/drippyloadingscreen_forge_3.0.12_MC_1.20.1.jar", - "id": "SCbkqLQR", + "url": "https://cdn.modrinth.com/data/v3CYg2V9/versions/68GEZSYA/drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", + "id": "68GEZSYA", "parent_id": "v3CYg2V9", "hashes": { - "sha512": "b253926f9faab8ae069bb6cf4a5380ff3cc04071d44216ebc8cd032f68a4ae760320a03059fe5fa2daf6563f6fa39e90fc659b6e64bae94079ae8e74ae8342d5", - "sha1": "ea21436917b84780835b041cd27b7f86679dc6a1" + "sha512": "a40bc04b995c5ff5ec5ab6e999925296c613213de0db301b5171d7379672b28050d961556d6e5d41396d5493bdcd20a74fbeefe40b29bf61d74a465f6c71d13d", + "sha1": "5c5e9dd39881b9b65dba7d7124690c51430a3ff1" }, "required_dependencies": [ - "J81TRJWm", - "Wq5SjeWM" + "Wq5SjeWM", + "J81TRJWm" ], - "size": 239365, - "date_published": "2025-04-11T20:29:48.819686Z" + "size": 285003, + "date_published": "2025-11-22T07:39:16.928909Z" + }, + { + "type": "curseforge", + "file_name": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7248/426/drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", + "id": "7248426", + "parent_id": "511770", + "hashes": { + "sha1": "5c5e9dd39881b9b65dba7d7124690c51430a3ff1", + "md5": "029b16e576071b67f3de0df7215a1062" + }, + "required_dependencies": [ + "367706", + "410295" + ], + "size": 285003, + "date_published": "2025-11-22T07:39:11.367Z" } ] }, @@ -5273,7 +5274,7 @@ "files": [ { "type": "modrinth", - "file_name": "everycomp-1.20-2.9.9-forge.jar", + "file_name": "everycomp-1.20-2.9.12-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5281,22 +5282,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/S6PhzmO8/everycomp-1.20-2.9.9-forge.jar", - "id": "S6PhzmO8", + "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/Wa7DK8Yb/everycomp-1.20-2.9.12-forge.jar", + "id": "Wa7DK8Yb", "parent_id": "eiktJyw1", "hashes": { - "sha512": "cc4b0ddd47f421b1d045e755912c1118f5db60f2c699266576c4302162e753bc11537d8c5c31416f95566d5df42de3edfd781704df1108ba286dc6e3e40d856c", - "sha1": "666eb792088684bf576a71c20eb24f654abb51fa" + "sha512": "db03a2c4724a347428ba15c7a8979838aea8e92d221db16baba0b2a05a59d774b9da24791063060000244de9a2eaa9b4ea3e208cbbea91a7eed044b3b3a763db", + "sha1": "1a9fab9e9273ab45f0a312b7a71aeade41716a4a" }, "required_dependencies": [ "twkfQtEc" ], - "size": 2792770, - "date_published": "2025-10-26T21:32:31.262632Z" + "size": 2807757, + "date_published": "2025-11-21T09:08:18.503085Z" }, { "type": "curseforge", - "file_name": "everycomp-1.20-2.9.9-forge.jar", + "file_name": "everycomp-1.20-2.9.12-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5304,18 +5305,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7153/995/everycomp-1.20-2.9.9-forge.jar", - "id": "7153995", + "url": "https://edge.forgecdn.net/files/7245/151/everycomp-1.20-2.9.12-forge.jar", + "id": "7245151", "parent_id": "628539", "hashes": { - "sha1": "666eb792088684bf576a71c20eb24f654abb51fa", - "md5": "39370d9743ad8a57f7d6121efaa9d769" + "sha1": "1a9fab9e9273ab45f0a312b7a71aeade41716a4a", + "md5": "85cf20ae4cbe5ac2f13b489258cb15f8" }, "required_dependencies": [ "499980" ], - "size": 2792770, - "date_published": "2025-10-26T21:32:18.910Z" + "size": 2807757, + "date_published": "2025-11-21T09:08:07.257Z" } ] }, @@ -5405,29 +5406,29 @@ "files": [ { "type": "curseforge", - "file_name": "ExtendedAE-1.20-1.4.8-forge.jar", + "file_name": "ExtendedAE-1.20-1.4.9-forge.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7144/417/ExtendedAE-1.20-1.4.8-forge.jar", - "id": "7144417", + "url": "https://edge.forgecdn.net/files/7248/944/ExtendedAE-1.20-1.4.9-forge.jar", + "id": "7248944", "parent_id": "892005", "hashes": { - "sha1": "a21a3d004276fac47a7d0c18424f3583e7fab3c4", - "md5": "c8017c9e6e53c98c337cfc45d9a5153d" + "sha1": "55a8c773659036176142242ded460a4b88ee6fb0", + "md5": "25b69893094daf52bd8b77964404bfdc" }, "required_dependencies": [ + "957920", "223794", - "1173950", - "957920" + "1173950" ], - "size": 2667284, - "date_published": "2025-10-24T14:19:14.703Z" + "size": 2672648, + "date_published": "2025-11-22T11:56:02.143Z" } ] }, @@ -5791,7 +5792,7 @@ "curseforge": "ftb-quests-forge" }, "name": { - "curseforge": "FTB Quests (Forge)" + "curseforge": "FTB Quests (NeoForge)" }, "id": { "curseforge": "289412" @@ -5800,7 +5801,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-quests-forge-2001.4.14.jar", + "file_name": "ftb-quests-forge-2001.4.16.jar", "mc_versions": [ "1.20.1" ], @@ -5808,20 +5809,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6829/212/ftb-quests-forge-2001.4.14.jar", - "id": "6829212", + "url": "https://edge.forgecdn.net/files/7232/23/ftb-quests-forge-2001.4.16.jar", + "id": "7232023", "parent_id": "289412", "hashes": { - "sha1": "479d9ad654984f5cedf23c14a311f3cff4efbcb7", - "md5": "a02b8885bc618a54f41885ddb24e2d8f" + "sha1": "ce4d88a10a5d601ff56553c1c717c3959ef696aa", + "md5": "c5ecfb32eaa0d8b53c5a05140b30d366" }, "required_dependencies": [ + "404468", "419699", - "404465", - "404468" + "404465" ], - "size": 1222711, - "date_published": "2025-07-30T15:39:30.857Z" + "size": 1227148, + "date_published": "2025-11-17T10:04:04.753Z" } ] }, @@ -5980,33 +5981,9 @@ "modrinth": "Wq5SjeWM" }, "files": [ - { - "type": "curseforge", - "file_name": "fancymenu_forge_3.7.0_MC_1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6918/987/fancymenu_forge_3.7.0_MC_1.20.1.jar", - "id": "6918987", - "parent_id": "367706", - "hashes": { - "sha1": "f33a40f7d33585e781d90d00d156178e369ae8ed", - "md5": "365e76a8d99085a1ac942c2b46125508" - }, - "required_dependencies": [ - "410295", - "938643" - ], - "size": 3628603, - "date_published": "2025-08-23T14:52:56.903Z" - }, { "type": "modrinth", - "file_name": "fancymenu_forge_3.7.0_MC_1.20.1.jar", + "file_name": "fancymenu_forge_3.8.0_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -6014,19 +5991,43 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/MbyfTTsz/fancymenu_forge_3.7.0_MC_1.20.1.jar", - "id": "MbyfTTsz", + "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/vBtamEim/fancymenu_forge_3.8.0_MC_1.20.1.jar", + "id": "vBtamEim", "parent_id": "Wq5SjeWM", "hashes": { - "sha512": "00579685f38e30eaeaf2ab01c23ea72b53ef03245e46be35297e0955383e070a92983ec5ca2043592fcf34213d3cf9ae8e82165187da7d3b32d84b65c9d054fa", - "sha1": "f33a40f7d33585e781d90d00d156178e369ae8ed" + "sha512": "05c7a61ba88fda95ee37701ef56cedca0bfc097e1aad670c73a5c0a0500e700092fb32c7ab9ecfea859d332dec5740fe17aee22bf7ad896ca4a08b2a484e9ecc", + "sha1": "2656fc419fc5d29d90266104c19f98db42b76471" }, "required_dependencies": [ "CVT4pFB2", "J81TRJWm" ], - "size": 3628603, - "date_published": "2025-08-23T14:53:05.096476Z" + "size": 4470626, + "date_published": "2025-11-22T06:57:21.261963Z" + }, + { + "type": "curseforge", + "file_name": "fancymenu_forge_3.8.0_MC_1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7248/355/fancymenu_forge_3.8.0_MC_1.20.1.jar", + "id": "7248355", + "parent_id": "367706", + "hashes": { + "sha1": "2656fc419fc5d29d90266104c19f98db42b76471", + "md5": "f66a301126496f63b20f586cf0503aff" + }, + "required_dependencies": [ + "410295", + "938643" + ], + "size": 4470626, + "date_published": "2025-11-22T06:57:13.317Z" } ] }, @@ -6741,6 +6742,27 @@ "modrinth": "8BmcQJ2H" }, "files": [ + { + "type": "modrinth", + "file_name": "geckolib-forge-1.20.1-4.8.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/aVW7Z5da/geckolib-forge-1.20.1-4.8.2.jar", + "id": "aVW7Z5da", + "parent_id": "8BmcQJ2H", + "hashes": { + "sha512": "8d8cb1f2d60c885b3b312aca63b94e3942e50ca40e96514f35fb74a39367afa07e4986640a66c66b035da9ea60cb6d8ff602e9c0b6b298e5ce584ad9f46a2f45", + "sha1": "395a9f21a36dc8466d67c2af67a904e7013460d1" + }, + "required_dependencies": [], + "size": 1038979, + "date_published": "2025-09-23T10:09:01.034935Z" + }, { "type": "curseforge", "file_name": "geckolib-forge-1.20.1-4.7.jar", @@ -6762,27 +6784,6 @@ "required_dependencies": [], "size": 1004042, "date_published": "2024-12-27T16:27:17.200Z" - }, - { - "type": "modrinth", - "file_name": "geckolib-forge-1.20.1-4.7.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/8BmcQJ2H/versions/LwI6czff/geckolib-forge-1.20.1-4.7.jar", - "id": "LwI6czff", - "parent_id": "8BmcQJ2H", - "hashes": { - "sha512": "4efd2d70533d73fc70012b0969bac9fb6035a4ebcc8b6ccb692321456bcc044da93a12b44392fca3c607889c134acd41db9e0fed376151a46d5391c56881a149", - "sha1": "451226923e02ac708b8fe59d75a2f9a28cc7e467" - }, - "required_dependencies": [], - "size": 1004043, - "date_published": "2024-12-27T16:27:02.907556Z" } ] }, @@ -10148,7 +10149,7 @@ "files": [ { "type": "modrinth", - "file_name": "packetfixer-3.3.0-1.18-1.20.4-merged.jar", + "file_name": "packetfixer-3.3.1-1.18-1.20.4-merged.jar", "mc_versions": [ "1.18", "1.18.1", @@ -10171,44 +10172,44 @@ "quilt" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/c7m1mi73/versions/Jt7R7s5s/packetfixer-3.3.0-1.18-1.20.4-merged.jar", - "id": "Jt7R7s5s", + "url": "https://cdn.modrinth.com/data/c7m1mi73/versions/96y8nmkX/packetfixer-3.3.1-1.18-1.20.4-merged.jar", + "id": "96y8nmkX", "parent_id": "c7m1mi73", "hashes": { - "sha512": "0f86b9b03672e67e5eac23146bfc56a536f8985daecaec3bf089ee489240b5afec1571c733fc058c335fdd9e8ace94796c257e4c59a33be7cf1dcba32009c2a1", - "sha1": "e07b58008aeae90d61c5324c740cbbd66bbb34e3" + "sha512": "e098addf143dafa9e516ad07cb0ddaa489035e19c306e6f78b0afef6f776ce27d2386f2ede1879bb477e420ca8a00831f099f1a92a508e3085a45fbb87103405", + "sha1": "0bef29023c8cadb2934d78a8b0066b49d4460974" }, "required_dependencies": [], - "size": 190422, - "date_published": "2025-08-29T08:29:49.302535Z" + "size": 188673, + "date_published": "2025-11-14T17:34:13.517155Z" }, { "type": "curseforge", - "file_name": "packetfixer-3.3.0-1.18-1.20.4-merged.jar", + "file_name": "packetfixer-3.3.1-1.18-1.20.4-merged.jar", "mc_versions": [ "1.20.2", - "1.20.3", "1.20.1", "1.20", - "1.20.4" + "1.20.4", + "1.20.3" ], "loaders": [ "fabric", - "neoforge", "forge", + "neoforge", "quilt" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6940/439/packetfixer-3.3.0-1.18-1.20.4-merged.jar", - "id": "6940439", + "url": "https://edge.forgecdn.net/files/7221/527/packetfixer-3.3.1-1.18-1.20.4-merged.jar", + "id": "7221527", "parent_id": "689467", "hashes": { - "sha1": "e07b58008aeae90d61c5324c740cbbd66bbb34e3", - "md5": "75045a749fde88dc20972e34bb815f29" + "sha1": "0bef29023c8cadb2934d78a8b0066b49d4460974", + "md5": "da8492dc74813d847ba128c23253c376" }, "required_dependencies": [], - "size": 190422, - "date_published": "2025-08-29T08:31:50.963Z" + "size": 188673, + "date_published": "2025-11-14T17:30:18.777Z" } ] }, @@ -11473,7 +11474,7 @@ "files": [ { "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.15.0.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.0.jar", "mc_versions": [ "1.20", "1.20.1" @@ -11482,20 +11483,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/6okOewio/ShoulderSurfing-Forge-1.20.1-4.15.0.jar", - "id": "6okOewio", + "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/F0YaeEhe/ShoulderSurfing-Forge-1.20.1-4.16.0.jar", + "id": "F0YaeEhe", "parent_id": "kepjj2sy", "hashes": { - "sha512": "02ea515a4fa94ad38e9a2fec54999998def07fa7317d602dc3fd3dedd56c94402c59d456f1d0841a6579e49b74ec907ca040eb2500f65d80b8db27bef840beb7", - "sha1": "2a95a27723ddaeb28c0e3edb139bd8980ce252b7" + "sha512": "3d0a7b71d93d180b3f5431f1580b5c6270727ea2186b1881cb3ff0b9cbf0eeaa6393b94c2d4b47223d5529aca025d7840ad9f97586ea5deb6b744b8e7d70a2a7", + "sha1": "845ce7b7a62749d8fef35afa8b01fa9bab2ace67" }, "required_dependencies": [], - "size": 251309, - "date_published": "2025-11-06T20:49:38.589392Z" + "size": 253861, + "date_published": "2025-11-22T13:58:12.266150Z" }, { "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.15.0.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.0.jar", "mc_versions": [ "1.20.1", "1.20" @@ -11504,16 +11505,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7193/397/ShoulderSurfing-Forge-1.20.1-4.15.0.jar", - "id": "7193397", + "url": "https://edge.forgecdn.net/files/7249/331/ShoulderSurfing-Forge-1.20.1-4.16.0.jar", + "id": "7249331", "parent_id": "243190", "hashes": { - "sha1": "2a95a27723ddaeb28c0e3edb139bd8980ce252b7", - "md5": "311850730a11614852a4f253c0d20f97" + "sha1": "845ce7b7a62749d8fef35afa8b01fa9bab2ace67", + "md5": "e30a5b3ba918ccc723b3cecc6fcdb516" }, "required_dependencies": [], - "size": 251309, - "date_published": "2025-11-06T20:49:32.400Z" + "size": 253861, + "date_published": "2025-11-22T13:58:10.293Z" } ] }, @@ -11944,7 +11945,7 @@ "files": [ { "type": "modrinth", - "file_name": "sophisticatedbackpacks-1.20.1-3.23.23.1285.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", "mc_versions": [ "1.20.1" ], @@ -11953,22 +11954,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/pHEQ4KzD/sophisticatedbackpacks-1.20.1-3.23.23.1285.jar", - "id": "pHEQ4KzD", + "url": "https://cdn.modrinth.com/data/TyCTlI4b/versions/ePNVFnS7/sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", + "id": "ePNVFnS7", "parent_id": "TyCTlI4b", "hashes": { - "sha512": "c49b904fe0db57924df2e53f99115899ac0f6768725f654e758c8481cd695db55a44c7a71a2c79a0448a39067de5b19986377749d86a89bdaaebb79fea1e658f", - "sha1": "f3b47c5ce13cca89cab9f937a07e1a9502e27fdb" + "sha512": "880d192072c5ef2683fcdd65cfaa0ab1c53c2dacf2194f5d1f4f616bc482ac554bc8968e8fae016234a021c25831915d8b5f6bf17af4a670a3611ca43bcd2f31", + "sha1": "c6624f4719cfa8c15ef87860570a2748afd715da" }, "required_dependencies": [ "nmoqTijg" ], - "size": 930758, - "date_published": "2025-07-19T19:19:00.802910Z" + "size": 973366, + "date_published": "2025-10-31T10:20:39.100246Z" }, { "type": "curseforge", - "file_name": "sophisticatedbackpacks-1.20.1-3.23.23.1285.jar", + "file_name": "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", "mc_versions": [ "1.20.1" ], @@ -11977,18 +11978,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6788/668/sophisticatedbackpacks-1.20.1-3.23.23.1285.jar", - "id": "6788668", + "url": "https://edge.forgecdn.net/files/7169/843/sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", + "id": "7169843", "parent_id": "422301", "hashes": { - "sha1": "e0fa977420774eb50ad4ab3e9dee16bf5d79b627", - "md5": "0bb94b3bb5d4df97bca7c593cbc2abb8" + "sha1": "6fcdb6e2fc18e24cd0e65fe57961310dd2443bd9", + "md5": "a2d81606c31421d45aa3518e5471f154" }, "required_dependencies": [ "618298" ], - "size": 930758, - "date_published": "2025-07-19T19:18:44.143Z" + "size": 973366, + "date_published": "2025-10-31T10:20:22.040Z" } ] }, @@ -12011,7 +12012,7 @@ "files": [ { "type": "modrinth", - "file_name": "sophisticatedcore-1.20.1-1.2.78.1052.jar", + "file_name": "sophisticatedcore-1.20.1-1.2.107.1240.jar", "mc_versions": [ "1.20.1" ], @@ -12020,20 +12021,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/hvAbUDQp/sophisticatedcore-1.20.1-1.2.78.1052.jar", - "id": "hvAbUDQp", + "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/qpP3IdRu/sophisticatedcore-1.20.1-1.2.107.1240.jar", + "id": "qpP3IdRu", "parent_id": "nmoqTijg", "hashes": { - "sha512": "f5661cb0db3013cb970c3287d8d628de98d8cca21d46356c5198cb88af903a68aab6041cf8c8460c0a501ed523d7186869106a8a9c669a96d51c8fd1db0bb3d0", - "sha1": "fbfebafec1de249a2e8c02f9d2d289a0c4df6690" + "sha512": "64402513db4d8285732795c72712aff2944b14e91f0cce866472702622e20a65d7e9cb67988dab77383dd6a9639ae693ee43916cb5380ca5c74d309b3e50c1d8", + "sha1": "a0a8e69b482e18bc82404c57f868db06d827ffca" }, "required_dependencies": [], - "size": 1334327, - "date_published": "2025-07-27T13:23:22.968294Z" + "size": 1438965, + "date_published": "2025-10-31T05:57:49.898960Z" }, { "type": "curseforge", - "file_name": "sophisticatedcore-1.20.1-1.2.78.1052.jar", + "file_name": "sophisticatedcore-1.20.1-1.2.107.1240.jar", "mc_versions": [ "1.20.1" ], @@ -12042,16 +12043,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6817/409/sophisticatedcore-1.20.1-1.2.78.1052.jar", - "id": "6817409", + "url": "https://edge.forgecdn.net/files/7169/400/sophisticatedcore-1.20.1-1.2.107.1240.jar", + "id": "7169400", "parent_id": "618298", "hashes": { - "sha1": "a854d7bb990f2ed960cc39e74f0a5e92e4f03747", - "md5": "2e44d4484ab623276362e076c6dec66b" + "sha1": "bd25a3a9d1b4a6e25b4087b58c0cd3a9564a78a7", + "md5": "fbc7db24a060b7cbe715013b071d604f" }, "required_dependencies": [], - "size": 1334328, - "date_published": "2025-07-27T13:23:07.270Z" + "size": 1438965, + "date_published": "2025-10-31T05:57:33.977Z" } ] }, @@ -12110,7 +12111,7 @@ "files": [ { "type": "modrinth", - "file_name": "sound-physics-remastered-forge-1.20.1-1.4.15.jar", + "file_name": "sound-physics-remastered-forge-1.20.1-1.5.1.jar", "mc_versions": [ "1.20.1" ], @@ -12118,20 +12119,20 @@ "forge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/qyVF9oeo/versions/o4QlRA76/sound-physics-remastered-forge-1.20.1-1.4.15.jar", - "id": "o4QlRA76", + "url": "https://cdn.modrinth.com/data/qyVF9oeo/versions/x0sJ9PeR/sound-physics-remastered-forge-1.20.1-1.5.1.jar", + "id": "x0sJ9PeR", "parent_id": "qyVF9oeo", "hashes": { - "sha512": "bf13d3ab4df46d446067b8bf648a84c57a5c0aa134118967a85397fc732df4689e6fa15db1728995ae06c39e0bdbd54bbdff7ee044b67a1f3f513a289e47fe60", - "sha1": "990bd9caa7c4394e66d379263139495a27147a67" + "sha512": "5509a7b51ec1d57aae2af0a0200bda474539fcfe28303f3ff0158ba95b8e7a88ae023d8a9bd97d4626a6a8ce809506e19cdcb05b76e8be5bf8a0450c5d6a46b1", + "sha1": "944b4673bcab118f411d050b2cd6b693262bb664" }, "required_dependencies": [], - "size": 204487, - "date_published": "2025-07-25T07:23:13.030771Z" + "size": 206984, + "date_published": "2025-09-25T14:25:25.304739Z" }, { "type": "curseforge", - "file_name": "sound-physics-remastered-forge-1.20.1-1.4.15.jar", + "file_name": "sound-physics-remastered-forge-1.20.1-1.5.1.jar", "mc_versions": [ "1.20.1" ], @@ -12139,16 +12140,16 @@ "forge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/6809/408/sound-physics-remastered-forge-1.20.1-1.4.15.jar", - "id": "6809408", + "url": "https://edge.forgecdn.net/files/7032/235/sound-physics-remastered-forge-1.20.1-1.5.1.jar", + "id": "7032235", "parent_id": "535489", "hashes": { - "sha1": "a1678721a328eb2e68c259b208e8043cca606dd5", - "md5": "bf2e072b924a55422849f6c126bd2455" + "sha1": "aef2c02392624f0a12475ada809366b12ac9ec52", + "md5": "d70031b5058fb81d2670a4039440b00f" }, "required_dependencies": [], - "size": 204486, - "date_published": "2025-07-25T07:22:50.880Z" + "size": 206984, + "date_published": "2025-09-25T14:25:13.323Z" } ] }, From 1ea9ac623de83334f0dc37346424b8a3c582c847 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 23 Nov 2025 23:24:47 +0000 Subject: [PATCH 113/628] removed material info from redwire post because it's so small that it's less than a tiny dust/nugget --- kubejs/server_scripts/more_red/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/more_red/recipes.js b/kubejs/server_scripts/more_red/recipes.js index e4ac1eacf..b1a1a4a15 100644 --- a/kubejs/server_scripts/more_red/recipes.js +++ b/kubejs/server_scripts/more_red/recipes.js @@ -46,10 +46,10 @@ const registerMoreRedRecipes = (event) => { .addMaterialInfo(true) // Red Wire Post - event.recipes.gtceu.shaped('2x morered:redwire_post', ['A', 'B'], { + event.shaped('2x morered:redwire_post', ['A', 'B'], { A: '#forge:rods/wrought_iron', B: '#forge:fine_wires/red_alloy' - }).addMaterialInfo().id('tfg:crafting/red_wire_post') + }).id('tfg:crafting/red_wire_post') // Red Wire Post Plate event.recipes.gtceu.assembler('tfg/morered/red_wire_post_plate') From 8add3f93f532534a1b815abcaf83b7eab63b4b9e Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 24 Nov 2025 14:06:12 -0600 Subject: [PATCH 114/628] Gun Balancing (#2279) * some things * I'm tiredxs * yea * gun * retexture i think * soresm ore * op * Create TACZ_CHANGELOG.md * surely final stuff * iuh --- kubejs/assets/tacz/lang/en_us.json | 4 + kubejs/assets/tacz/textures/gun/slot/m700.png | Bin 0 -> 2390 bytes kubejs/assets/tacz/textures/gun/uv/m700.png | Bin 0 -> 13988 bytes kubejs/assets/tacz/textures/gun/uv/m700_n.png | Bin 0 -> 5473 bytes kubejs/assets/tacz/textures/gun/uv/m700_s.png | Bin 0 -> 4853 bytes kubejs/server_scripts/gregtech/recipes.js | 2 + kubejs/server_scripts/tacz/index_modifiers.js | 214 +++++++++++++++++- kubejs/server_scripts/tacz/recipes.ammo.js | 27 ++- kubejs/server_scripts/tacz/recipes.guns.js | 98 +++++--- kubejs/startup_scripts/tacz/constants.js | 8 +- tacz/TACZ_CHANGELOG.md | 133 +++++++++++ tacz/ulv_guns.zip | Bin 114255 -> 108945 bytes 12 files changed, 449 insertions(+), 37 deletions(-) create mode 100644 kubejs/assets/tacz/textures/gun/slot/m700.png create mode 100644 kubejs/assets/tacz/textures/gun/uv/m700.png create mode 100644 kubejs/assets/tacz/textures/gun/uv/m700_n.png create mode 100644 kubejs/assets/tacz/textures/gun/uv/m700_s.png create mode 100644 tacz/TACZ_CHANGELOG.md diff --git a/kubejs/assets/tacz/lang/en_us.json b/kubejs/assets/tacz/lang/en_us.json index 7e1a52660..dd65ee5de 100644 --- a/kubejs/assets/tacz/lang/en_us.json +++ b/kubejs/assets/tacz/lang/en_us.json @@ -25,8 +25,12 @@ "create_armorer.attachment.extended_mag_ca_2.name": "Copper Plated Magazine", "create_armorer.attachment.extended_mag_ca_3.name": "Brass Plated Magazine", "create_armorer.ammo.rbapb.name": "Rimmed Blunt Ammo", + "create_armorer.gun.pistol_auto_stress": "\"Stress\" Semi Pistol", "create_armorer.gun.mg_platemag_flywheel": "\"Flywheel\" Machine Gun", + "create_armorer.gun.sniper_semi_clockwork": "\"Clockwork\" Rifle", "create_armorer.gun.rifle_assult_crane": "\"Crane\" Assault Rifle", + "tacz.ammo.30_06.name": ".30-06 SLAP Ammo", + "tacz.gun.m700.name": "\"Clutch\" Sniper Rifle", "item.tacz.ammo_box.iron": "Steel Ammo Box", "item.tacz.ammo_box.gold": "§9Magnalium Ammo Box", "item.tacz.ammo_box.diamond": "§6Desh Ammo Box" diff --git a/kubejs/assets/tacz/textures/gun/slot/m700.png b/kubejs/assets/tacz/textures/gun/slot/m700.png new file mode 100644 index 0000000000000000000000000000000000000000..35b6afacfd1192e10587cbcaf35b548f675321ff GIT binary patch literal 2390 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tacz/textures/gun/uv/m700_s.png b/kubejs/assets/tacz/textures/gun/uv/m700_s.png new file mode 100644 index 0000000000000000000000000000000000000000..f37bef343d8afc57bb736bd293cdee5bdaf3a347 GIT binary patch literal 4853 zcmeAS@N?(olHy`uVBq!ia0y~yU}OMc4mJh`hM1xiX$%ZPdpunnLn`LHoohSkj)joh z#V)(UQn@dDl6x<@PcXbDvFX?ZRp(=Q(pHBgHl@5TOqsIK`-+rpPwH|GHKBSJruVKT zF3qk&8e$U}>{NvK_uoBa`{u_#5jiK0g;xu;Z`a!0J@j{d{Xg};*;d~z^Ur_pzx!4H zRPFxxHT!D6#mW3ntdQ?}S08e&HgfBy)32YF>hJ#a_VfS8V(;|TU-oY=_+RsBcgiL$`#QXO9=70NkN;Uk+sgLQq zx&8mvjny|wA3nVi-}iRw#{EA1cHizhFgL7=;B|ZR=f=kwVhR(J%PZ}F?lk*0J(GW` z{TBmlsRtPx!q;74_;&mPL)<|IpQh;x zFNI1qn6rTVRL!7I0M7F#lLkN*5%vJDSmSKp4Iuy8>`;_ezJ~r zLh{Gl-b2q;sBCR`9=+rL*(in&e(x8Cul=*-cf@rjk0tGkWOn~w+w(U)n)`qNLqehf zgMsPd?FYgS3nT^6v}^;^LHN$?*m>|Sf z)(nRA8QDxGybjCuW->@HNC>^WIiu)b;F0+O2Y;O5VPja<;x(U*Eg^7ECc~!I>B(P1 zE->8tlo6YsYs;5xw2Lhv)-NVo_du2uLmh*GX?*=7<^nc0h8U;*&3yf9zpr`RE;U*3 zF{{kcZ?|{d*twZe$fRMr0+U|X^$NzYl&8+j72cl}52*jyu=~R&5xKO!!|KY6xpx14 z{G9H{&(P*#oW`QOmYFRjPtTQ&+r9`~DHGDVD_u}x!0>=;wR=L| zmj|H-7#g(Q!msXaWSk+AFV&E9^ZSyJs&2LqKT~}A*%*Q!_%dtc-pu~WbAjQ2>gv+o z;N#yeUG^7d3}gMe-4p{SC@$|>1V(;Sps#xXu-&KFx=~I1ksswL>(4Gv2tr~YFU-&=W6KcX>Zp-lD z?A6zwZn}Sv043b5vL#`!6_++K&S25q_cw4?>CAIlbGJ5SKhOUBWs?5(g8!eN{CvR9 z5bWIjL+qzb*hK~dh62u8dB+U-4}5=A@hYy~$ljMFhLwkbr}4{??ymt!qH);^!{fgQ zGc#|{2+w9%9AK^X;KgqS4+DnoM+=L-EhzJG@SkcQlgW_sfJK+LSW(+6%SB=5=KgC= zrz;qWL?67mz}%phVcQp`yL{QZ^?v2d3dzedGc%gQc@;vxZV!6Ju3&$hpP?;HjMqVW z@p3T#d%#a-HioLiUKW+Bm9Og3I>MmiwSJnu`TR?truuz6dA0M}#{KQ5 zPEW#7IuyPdJsk$P|KG8h;{ zcX%;Rh^XdTox#w5t@P)b$Mc!r$HwinzWA;FmEOTktkdNhRy*)B#02d!4tVu9?fJ!B zcK2s3b2m`inOvOhdNJzO6%U7{cHchz3ej!c%J4uaGSEHuq1$?$&Ffh+@)$Zk7^^Lo zY6(e_ayY|m5N5bNw$uD#zNv1597D*`aBhj!ORi-ey7HGJjg{GebEA0qm(u?$r5tn* zC-t(luraKY-0Ld6chdsK25uAny>S`U|DJx**?0e1Y5&>Z%h$2FFf$Z1$gIvk!sDA| zF3-!bEKQ7efmjAZ{y_$xa~Zm`#ESDxE-)}~t&pvbfA_YXEdW$_HG`;xqIK68g03;i zynQBpdhr(bz*UTU_P74#H(`+IjZl4achOm~rQvn*J1sS(7#!TQvKgZLA6rW?G}wEY zGU%^Xi*96`(K16lA)nV_+lsI~*$nrp1SA?xe*9w8#&|mWDubK$ezxCC4cdL*SZ~z- zi|hPezl8D4`N-UQhAM^v&G6OFG8ha@!+$eItX#`@V$;b;7G4vEg0mU=i^JryE4Lc% zI+EpZfq{Xirk;!cw^u;5ZbK=*1Fs3g45obD^BM~n8A29Zo!9W`bHqN!lIy1YjwTJ^ z1`HQk;;NaBr3rf3vLt_>>C0S@%n^uhoCzW3>!9H z@{VDWI`Cl2z1A%lG~Azaajn#WHZksiXP>{O@2D@> z;QHeO8$-<{FJ_Iqq88;*LEWqxr=KqT#LjbI&zV(>5uUn_1N|3n<3HS?lh2T~|H$GH zuKbA&>)h#nc+ieqHb|f$)a0I0b7FC-ql{(P2P3%DM zQ~q!XhSmMm`CAMt-`NK1{!C_#hcFwKF?nU97n_AC4zxzB#)7+$Cdji7( z&850ob4x#Iecrq9&HyBSauCr-v|2w~I&y?Kd^P@zo zZ+E)CJE8oS;mPy!?DL;L(Kqc3`~LIW<>P$L5)2WuVh+36FzjH-U9)@R-U-)wjn943 zPCTu@^-!etvzhx3+s)PTs)~O)or{gZPqLKfPSu)swNvA@4ofy%yz+FlX06<{8C7dN zzbZ_5Rh!4!BiR=9`TM=U3>O#}q_P+nf4)(5-b(wPPDXZ>J^#$>8d42&SZ`FZtW2(# z6kHKzlJK6#oTb4gO0qLfs$rUc4#$M3eRtjmYM(o>!e&{Ipm$%q>_hekJyC+QZ-_JO zO2|DKChPa~nD~mV%NMqvlCP3ru>96!7NPt!VYoqle`<-Lg=f7%RGThxx{vjS^eS z*gk!;nf{*ffXoT6xK&fHbZOaG?LWg5F=L_X&RuuhU!OnRnlyiFyZY(fN7e3xsbuYD zj$X_(-HqkeiK|RoIvnnG@G*wDN>9G-cUXI`Nki`)uhp(BpV*uk(wA&IvNPki$qBK0 zUi!={Dw&RH^m3Gx_FwWUXLji32%qp;++g?pqseP4J{j&g`#;)r;+>x#?uZ|a=2o6) z+jV8*ew+8MmHxUr7M1*6x|Ksruthxk~q# zhx&oq@|FB+4_^4R^@y}Z^nLly^DnHM9Q!S5VuRh?Lw6say8h6FAwT)$wWq#&_lF;j zS$${c_m!fYCz7A?ubkIlT=Azeam(}7Un{n3I@NWlx^%@E_0X;MpOimjrJO$?ED&?) z*IwP&=m)KdZ47ab*<{vk<4!WaE%ZHf?bDZcjh-HPZLdAQ=j-ft1e$kb;=5KxAe&v(5##iNwe;Cc4 zeD~dZj{7Q4!*+4WzK_4Gw@I;`mEz1uo+0Ou-@mo@(vI(&?p&K&vi9fmuz;EVYb*XQ zeQNPZ;I4f4TeUfp-`l-6)>U}^Z~mNjd_8Om8GGmL59h89^^UW?AEo#rYAx@L33Uu{ zHjMX|Mm@N}n>0UCd(!o-jGJ1ua#sd@`do7VUd^7?-`}Pe)xG*YFO=KhJHwtn!RUpy z{Hsspes#^a&C&Y1w|f2Z?R^)EZFSQxGOglge6nZ9v}-T+mM7-K)i3_SnrrJHvwP3Z zpV!ZQ*O6;Ddg4hH)3QhR_!G8NK3e_p+u!Qy6I*8;zy3+q)IR_H=?zK=uWh-jr?3CA zFa7!UikC(Ek5Al|tQr6E^JLvU+oUc;ox7>TB-(Ai^~mB#7meOq=c~UwzyG^@>Z3cM zm*>X)SjwJ|do$|z;{CI3?fbTNx!}_DxGZtotuaNp&N(@8v+vX-J>PnXX-_7@0)r~< zOS@aQ?)ukvYxC?>srN-D{F{~UfBYMNs<3kZ-}_~M{_5WOUcdBs^3&D$z zdfK<3kL%U8O0VbTPV45HBeM7VncZh^F>eUE^{B$Vy6)P2?WtFu%bnJrwtp-8f~Co} zTcYMQY<6eW3!7@lkh@W;Auz+#+VIu)Qt$WdF}ISI#>KzharJ=gOJU37$r-C(o?F-b zbpGV^$5yZ%usY^%>%Wezg=6s#*(H~DwFgJdi~BBJYo;Rleo<`hl?sNHy6%~$%ckU? zE8SdhwRrQYS3B93Y;m7dG=K49_uouUrqowPZEsm^|KTF9!|LDb{_Xz$EH=|S)~k1( z(^)yMw_Gaa@z*Yexy|0buC{*ls`*9xr+f~&&s=Hma?0_AYFXy>WQJo&Up{?RTg5nK zpN0GN=@Fk+*IB%^{Gt`Ux@ODoYqR!x>|Ou#*Oj7omzQp2m~N=BmDl0zr!PsR%m!K+ zT%{G$e>d#o@>iefr&>O5dr94n(l`5JyiS*X{W?h|bpMm8lQ**th&*0yxoGEghA>lx z3+=0U88p5aG3-s3>a%%vuE%BVr<1=kR{t#e?7MfJiT&HE*MGBX|6eLPw&JNKhq$rV zX+tkdhDj?@7e3wfYw`K5U;f>=xa;TNpIco|-TL`-ns(`$S=NUa)t(Pp^YoSOuB_ym zw|C3eGsd{Stf_b(*|nO-A>ZwE{Wb=f!xNJio>#hY<OvzF+;cGIn9HlFr<%uQC|AgKjgNamudmi=00@dP%F!Tg4^w)IZxs zO^^>scc{q+x6w&))%t- zZrv)HYWMw4(UWK4uYX_3yO=#)n3sX!nyRT?&8x3MXO*VAb^0E?Rh(%n_V(&#snR#{ zyVsRg28TIEt#fB)V6fj(*74Fd?bO^fE#2jBc3vsV*l71Ws!%+uwm+=9rbx*#@}0UP zGebkA=GH4=+|kytQTxJvPJ6a|Zv5|mJFoP72!6cpTFu(|iy0Xj;-j{!?3K-1r*;3T z?etsU*N4{WC;z|l`2qt&LfpE%m2UZ-(O)yxoL*e5KY!aj`|rChPK%9BkH5gcaDadH zZ^kPT{c)4dojo4K_xkVFE!%2#g?it6Rr&psI3t6^^lNh2TaW+QYx~NLbAn-%$L4Fc zeNkK92`*q{Xpj%P&fpdLH-7#9@AWyEy<0wKAD6yxY5tVor_XQwY`W$5(`VtoZ5SB# zPlZapm>%Xjc`zdCI7wuOsMSW*^lgn8> z{r&76ao*9NH&2UyHofa>b;i$#^ZL5+tMAX9Cc|)TVae_M)laWp+FSDxH2B0oHITsh ZkKM3!ITx$gy3-&-Jzf1=);T3K0RYD?86*Gz literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index b76dc2ea4..1d57dc612 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1842,6 +1842,8 @@ const registerGTCEURecipes = (event) => { .duration(20 * 5) .category(GTRecipeCategories.INGOT_MOLDING) + event.replaceInput( {output: 'gtceu:nano_saber'}, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide' ) + // Change // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead diff --git a/kubejs/server_scripts/tacz/index_modifiers.js b/kubejs/server_scripts/tacz/index_modifiers.js index 3f7cc5d57..c157e27de 100644 --- a/kubejs/server_scripts/tacz/index_modifiers.js +++ b/kubejs/server_scripts/tacz/index_modifiers.js @@ -18,6 +18,7 @@ const ammoIndexLogic = (event) => { switch(id) { case "tacz:45_70": json.stack_size = 64; break; case "tacz:12g": json.stack_size = 64; break; + case "tacz:30_06": json.stack_size = 64; break; case "create_armorer:40mmhe": json.stack_size = 16; break; case "create_armorer:rbapb": json.stack_size = 64; break; @@ -99,6 +100,12 @@ const gunIndexLogic = (event) => { return event.removeGun(); } + + if (id === "create_armorer:sniper_semi_clockwork"){ + const json = JSON.parse(event.getStdJson()); + json.type = "rifle"; + return event.setJson(JSON.stringify(json)); + } } const attachmentDataLogic = (event) => { @@ -109,6 +116,7 @@ const gunDataLogic = (event) => { const id = event.getId().toString(); const json = JSON.parse(event.getStdJson()); + //Pistols if (id === "ulv_guns:flintlock_data"){ json.bullet.damage = 14; json.bullet.extra_damage.damage_adjust = @@ -121,36 +129,168 @@ const gunDataLogic = (event) => { } if(id === "create_armorer:pistol_revolver_torque_data"){ + json.ammo = "create_armorer:rbapb"; + + json.bullet.pierce = 2; + json.bullet.damage = 12; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.head_shot_multiplier = 1.5; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 25, "damage": 12}, + {"distance": 50, "damage": 11}, + {"distance": 75, "damage": 9}, + {"distance": "infinite", "damage": 7} + ] + + } + + if(id === "create_armorer:pistol_auto_stress_data"){ + json.ammo = "create_armorer:rbapb"; + json.ammo_amount = 10; + json.extended_mag_ammo_amount = + [ + 14, + 18, + 22 + ] + + json.fire_mode = + [ + "semi" + ] + + json.bullet.damage = 8; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 32, "damage": 8}, + {"distance": 64, "damage": 7}, + {"distance": "infinite", "damage": 6} + ] + } + + if(id === "applied_armorer:niklas_pistol_semi_pride_data"){ json.bullet.extra_damage.armor_ignore = 0.25; } + if(id === "applied_armorer:niklas_pistol_double_win_win_data"){ + json.bullet.damage = 10; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.head_shot_multiplier = 1.5; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 15, "damage": 10}, + {"distance": 35, "damage": 9}, + {"distance": "infinite", "damage": 8} + ] + } + + //Snipers + if(id === "tacz:springfield1873_data") { + json.bullet.damage = 25; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 40, "damage": 25}, + {"distance": 70, "damage": 21}, + {"distance": 100, "damage": 17}, + {"distance": "infinite", "damage": 12} + ] + } + + if(id === "tacz:m700_data"){ + json.ammo_amount = 2; + json.extended_mag_ammo_amount = + [ + 4, + 6, + 9 + ] + + json.bullet.damage = 32; + json.bullet.extra_damage.head_shot_multiplier = 1.75; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 48, "damage": 32}, + {"distance": 96, "damage": 28}, + {"distance": 128, "damage": 23}, + {"distance": "infinite", "damage": 18} + ] + } + + if(id === "applied_armorer:moritz_sniper_semi_k30_data") { + json.bullet.pierce = 4; + json.bullet.damage = 40; + json.bullet.extra_damage.armor_ignore = 0.55; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 100, "damage": 40}, + {"distance": 200, "damage": 35}, + {"distance": "infinite", "damage": 30} + ] + } + + + //Rifles if(id === "create_armorer:sniper_semi_clockwork_data"){ + json.ammo = "create_armorer:slap"; + json.ammo_amount = 10; + json.extended_mag_ammo_amount = + [ + 13, + 16, + 20 + ] + + json.bullet.extra_damage.armor_ignore = 0.30; json.bullet.damage = 22; + json.bullet.extra_damage.head_shot_multiplier = 1.50; json.bullet.extra_damage.damage_adjust = [ {"distance": 60, "damage": 22}, {"distance": 120, "damage": 19}, {"distance": "infinite", "damage": 17} ] + json.builtin_attachments = {}; json.builtin_attachments.scope = "create_armorer:sight_simple"; } + if(id === "create_armorer:rifle_assult_crane_data"){ + json.ammo_amount = 20; + json.extended_mag_ammo_amount = + [ + 28, + 36, + 44 + ] + } + if(id === "applied_armorer:moritz_rifle_ar77_data") { json.ammo = "applied_armorer:hard_core_quartz_bullet"; - json.bullet.damage = 13; + json.ammo_amount = 25; + json.extended_mag_ammo_amount = + [ + 36, + 45, + 52 + ] + + + json.bullet.damage = 14; json.bullet.extra_damage.armor_ignore = 0.35; json.bullet.extra_damage.head_shot_multiplier = 1.75; json.bullet.extra_damage.damage_adjust = [ - {"distance": 80, "damage": 13}, - {"distance": 120, "damage": 11}, - {"distance": "infinite", "damage": 9} + {"distance": 80, "damage": 14}, + {"distance": 120, "damage": 12}, + {"distance": "infinite", "damage": 10} ] } + //Shotguns if(id === "tacz:db_long_data"){ json.bullet.extra_damage.armor_ignore = 0.22; } @@ -159,6 +299,71 @@ const gunDataLogic = (event) => { json.bullet.extra_damage.armor_ignore = 0.22; } + //SMGs + if(id === "create_armorer:smg_auto_crank_data"){ + json.ammo = "create_armorer:rbapb"; + + json.ammo_amount = 25; + json.extended_mag_ammo_amount = + [ + 35, + 45, + 55 + ] + + json.bullet.damage = 8; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.head_shot_multiplier = 1.2; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 24, "damage": 8}, + {"distance": 48, "damage": 7}, + {"distance": 72, "damage": 6}, + {"distance": "infinite", "damage": 5} + ] + } + + if(id === "applied_armorer:niklas_smg_freedom_data"){ + json.ammo_amount = 35; + json.extended_mag_ammo_amount = + [ + 45, + 55, + 65 + ] + + json.bullet.damage = 10; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 24, "damage": 10}, + {"distance": 48, "damage": 9}, + {"distance": 72, "damage": 8}, + {"distance": "infinite", "damage": 7} + ] + } + + //Heavy + if(id === "create_armorer:mg_platemag_flywheel_data") { + json.ammo_amount = 40; + json.extended_mag_ammo_amount = + [ + 55, + 80, + 115 + ] + + json.rpm = 640; + + json.bullet.damage = 12; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 32, "damage": 12}, + {"distance": 64, "damage": 11}, + {"distance": "infinite", "damage": 10} + ] + } + if(id === "create_armorer:cannon_40mm_salamander_data"){ json.bullet.damage = 50; json.bullet.extra_damage.damage_adjust = @@ -166,6 +371,7 @@ const gunDataLogic = (event) => { {"distance": 200, "damage": 50}, {"distance": "infinite", "damage": 45} ] + json.builtin_attachments = {}; json.builtin_attachments.scope = "create_armorer:sight_simple"; } diff --git a/kubejs/server_scripts/tacz/recipes.ammo.js b/kubejs/server_scripts/tacz/recipes.ammo.js index f0aebe5fe..2fbc8f20f 100644 --- a/kubejs/server_scripts/tacz/recipes.ammo.js +++ b/kubejs/server_scripts/tacz/recipes.ammo.js @@ -93,6 +93,13 @@ function registerTACZAmmoRecipes(event){ .duration(20) //Clockwork era + event.recipes.gtceu.assembler('tfg_tacz:rb_small_lv') + .itemInputs('4x #forge:nuggets/lead','2x #forge:foils/copper', '#forge:ingots/brass', + '#forge:dusts/gunpowder') + .itemOutputs(Item.of('tacz:ammo', 4, + '{AmmoId:"create_armorer:rbapb"}')) + .EUt(GTValues.VA[GTValues.LV]) + .duration(20) event.recipes.gtceu.assembler('tfg_tacz:rb_small') .itemInputs('4x #forge:nuggets/lead','2x #forge:foils/copper', '4x tfg:small_bullet_casing', '#forge:dusts/gunpowder') @@ -107,20 +114,36 @@ function registerTACZAmmoRecipes(event){ '{AmmoId:"create_armorer:rbapb"}')) .EUt(GTValues.VA[GTValues.EV]) .duration(20) + event.recipes.gtceu.assembler('tfg_tacz:slap_large') - .itemInputs('4x #forge:nuggets/lead','4x #forge:foils/copper', '4x tfg:large_bullet_casing', + .itemInputs('4x #forge:bolts/lead','4x #forge:foils/copper', '4x tfg:large_bullet_casing', '#forge:dusts/gunpowder') .itemOutputs(Item.of('tacz:ammo', 4, '{AmmoId:"create_armorer:slap"}')) .EUt(GTValues.VA[GTValues.MV]) .duration(20) event.recipes.gtceu.assembler('tfg_tacz:slap_large_nc') - .itemInputs('8x #forge:nuggets/lead','8x #forge:foils/copper', '8x tfg:large_bullet_casing', + .itemInputs('8x #forge:bolts/lead','8x #forge:foils/copper', '8x tfg:large_bullet_casing', 'tfg:nitrocellulose') .itemOutputs(Item.of('tacz:ammo', 8, '{AmmoId:"create_armorer:slap"}')) .EUt(GTValues.VA[GTValues.EV]) .duration(20) + + event.recipes.gtceu.assembler('tfg_tacz:3006_large') + .itemInputs('4x #forge:rods/annealed_copper','4x #forge:foils/copper', '4x tfg:large_bullet_casing', + '#forge:dusts/gunpowder') + .itemOutputs(Item.of('tacz:ammo', 4, + '{AmmoId:"tacz:30_06"}')) + .EUt(GTValues.VA[GTValues.MV]) + .duration(20) + event.recipes.gtceu.assembler('tfg_tacz:3006_large_nc') + .itemInputs('8x #forge:rods/annealed_copper','8x #forge:foils/copper', '8x tfg:large_bullet_casing', + 'tfg:nitrocellulose') + .itemOutputs(Item.of('tacz:ammo', 8, + '{AmmoId:"tacz:30_06"}')) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20) //Certus era diff --git a/kubejs/server_scripts/tacz/recipes.guns.js b/kubejs/server_scripts/tacz/recipes.guns.js index 40d6dda8f..93a60512b 100644 --- a/kubejs/server_scripts/tacz/recipes.guns.js +++ b/kubejs/server_scripts/tacz/recipes.guns.js @@ -70,66 +70,85 @@ function registerTACZGunRecipes(event){ //Region clockwork era event.recipes.gtceu.assembler('tfg_tacz:ca_torque_revo') - .itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/aluminium', '2x #forge:plates/brass', + .itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '2x #forge:plates/brass', '6x #forge:rings/brass', '2x gtceu:treated_wood_planks', '8x #forge:screws/black_steel', - 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + '3x greate:steel_cogwheel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 256)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:pistol_revolver_torque",HasBulletInBarrel:1b}')) .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + .duration(80) + event.recipes.gtceu.assembler('tfg_tacz:ca_stress_pistol') + .itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '2x #forge:ingots/aluminium', + '3x #forge:plates/brass', 'gtceu:treated_wood_planks', '12x #forge:screws/black_steel', + '4x #forge:screws/brass', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 468)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:pistol_auto_stress",HasBulletInBarrel:1b}')) + .circuit(2) .EUt(GTValues.VA[GTValues.MV]) .duration(80) event.recipes.gtceu.assembler('tfg_tacz:ca_crane') .itemInputs('gtceu:steel_small_fluid_pipe', '7x #forge:ingots/aluminium', '2x #forge:ingots/black_steel', '4x #forge:plates/brass','2x gtceu:copper_tiny_fluid_pipe', '2x gtceu:treated_wood_planks', '2x #forge:small_gears/steel', '14x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 540)) + .inputFluids(Fluid.of('gtceu:soldering_alloy', 684)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"create_armorer:rifle_assult_crane",HasBulletInBarrel:1b}')) .EUt(GTValues.VA[GTValues.MV]) .duration(100) + event.recipes.gtceu.assembler('tfg_tacz:ca_crank_smg') + .itemInputs('gtceu:steel_small_fluid_pipe', '5x #forge:ingots/aluminium', '5x #forge:plates/brass', + '6x gtceu:steel_tiny_fluid_pipe', '2x gtceu:treated_wood_planks', '2x #forge:small_gears/steel', + '16x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 612)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"create_armorer:smg_auto_crank",HasBulletInBarrel:1b}')) + .circuit(3) + .EUt(GTValues.VA[GTValues.MV]) + .duration(100) event.recipes.gtceu.assembler('tfg_tacz:ca_pump_bearing') .itemInputs('2x gtceu:steel_small_fluid_pipe', '4x #forge:ingots/aluminium', '4x #forge:plates/brass', '8x gtceu:treated_wood_planks', '#forge:small_gears/steel', '#forge:gears/steel', '16x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 432)) + .inputFluids(Fluid.of('gtceu:soldering_alloy', 504)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:shotgun_pump_bearing",HasBulletInBarrel:0b}')) .EUt(GTValues.VA[GTValues.MV]) - .circuit(3) + .circuit(4) .duration(100) event.recipes.gtceu.assembler('tfg_tacz:ca_clockwork_sniper') - .itemInputs('gtceu:steel_normal_fluid_pipe', '7x #forge:ingots/aluminium', '7x #forge:ingots/black_steel', + .itemInputs('gtceu:steel_normal_fluid_pipe', '6x #forge:ingots/aluminium', '3x #forge:ingots/black_steel', '4x #forge:plates/brass','6x gtceu:copper_tiny_fluid_pipe', '2x gtceu:treated_wood_planks', - '14x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 792)) + '12x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 684)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:sniper_semi_clockwork",HasBulletInBarrel:1b}')) .EUt(GTValues.VA[GTValues.MV]) - .circuit(4) + .circuit(5) .duration(120) event.recipes.gtceu.assembler('tfg_tacz:ca_flywheel_mg') .itemInputs('gtceu:steel_normal_fluid_pipe', '10x #forge:ingots/aluminium', '6x #forge:ingots/black_steel', '6x #forge:plates/brass', 'create:steam_engine', '3x gtceu:steel_tiny_fluid_pipe', '2x gtceu:treated_wood_planks','20x #forge:screws/black_steel', '2x tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 936)) + .inputFluids(Fluid.of('gtceu:soldering_alloy', 1008)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"create_armorer:mg_platemag_flywheel",HasBulletInBarrel:1b}')) .EUt(GTValues.VA[GTValues.MV]) .duration(160) + event.recipes.gtceu.assembler('tfg_tacz:tacz_m700') + .itemInputs('3x gtceu:steel_small_fluid_pipe', '5x #forge:ingots/aluminium', '4x #forge:plates/black_steel', + '16x gtceu:treated_wood_planks', '16x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 768)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"tacz:m700",HasBulletInBarrel:0b}')) + .EUt(GTValues.VA[GTValues.MV]) + .circuit(6) + .duration(120) //Region certus era - event.recipes.gtceu.assembler('tfg_tacz:aa_pride') - .itemInputs('gtceu:titanium_small_fluid_pipe', '4x #forge:ingots/titanium', '2x #forge:plates/stainless_steel', - '2x #forge:rods/long/titanium', '8x #forge:screws/hsla_steel', 'tfg:certus_mechanism') - .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1152)) - .itemOutputs(Item.of('tacz:modern_kinetic_gun', - '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:niklas_pistol_semi_pride",HasBulletInBarrel:0b}')) - .circuit(2) - .EUt(GTValues.VA[GTValues.EV]) - .duration(80) - event.recipes.gtceu.assembler('tfg_tacz:aa_right') .itemInputs('gtceu:titanium_small_fluid_pipe', '5x #forge:ingots/titanium', '3x #forge:plates/stainless_steel', '#forge:rods/long/titanium', '10x #forge:screws/hsla_steel', 'tfg:certus_mechanism') @@ -139,6 +158,16 @@ function registerTACZGunRecipes(event){ .circuit(1) .EUt(GTValues.VA[GTValues.EV]) .duration(80) + + event.recipes.gtceu.assembler('tfg_tacz:aa_pride') + .itemInputs('gtceu:titanium_small_fluid_pipe', '4x #forge:ingots/titanium', '2x #forge:plates/stainless_steel', + '2x #forge:rods/long/titanium', '8x #forge:screws/hsla_steel', 'tfg:certus_mechanism') + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1152)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:niklas_pistol_semi_pride",HasBulletInBarrel:0b}')) + .circuit(2) + .EUt(GTValues.VA[GTValues.EV]) + .duration(80) event.recipes.gtceu.assembler('tfg_tacz:aa_win_win') .itemInputs('2x gtceu:titanium_small_fluid_pipe', '10x #forge:ingots/titanium', '6x #forge:plates/stainless_steel', @@ -150,6 +179,17 @@ function registerTACZGunRecipes(event){ .EUt(GTValues.VA[GTValues.EV]) .duration(120) + event.recipes.gtceu.assembler('tfg_tacz:aa_k30') + .itemInputs('2x gtceu:titanium_small_fluid_pipe', '8x #forge:ingots/titanium', '2x #forge:ingots/magnalium', + '8x #forge:plates/stainless_steel', '3x #forge:rods/long/hsla_steel', '2x tfc:lens', + '24x #forge:screws/hsla_steel', 'tfg:certus_mechanism') + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1728)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:moritz_sniper_semi_k30",HasBulletInBarrel:0b}')) + .circuit(4) + .EUt(GTValues.VA[GTValues.EV]) + .duration(220) + event.recipes.gtceu.assembler('tfg_tacz:aa_ar') .itemInputs('gtceu:titanium_small_fluid_pipe', '10x #forge:ingots/titanium', '5x #forge:plates/stainless_steel', '2x #forge:rods/long/hsla_steel', '2x tfc:lens', '20x #forge:screws/hsla_steel', @@ -172,16 +212,16 @@ function registerTACZGunRecipes(event){ .EUt(GTValues.VA[GTValues.EV]) .duration(180) - event.recipes.gtceu.assembler('tfg_tacz:aa_k30') - .itemInputs('2x gtceu:titanium_small_fluid_pipe', '8x #forge:ingots/titanium', '2x #forge:ingots/magnalium', - '8x #forge:plates/stainless_steel', '3x #forge:rods/long/hsla_steel', '2x tfc:lens', - '24x #forge:screws/hsla_steel', 'tfg:certus_mechanism') - .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1728)) + event.recipes.gtceu.assembler('tfg_tacz:aa_freedom') + .itemInputs('gtceu:titanium_small_fluid_pipe', '7x #forge:ingots/titanium', '4x #forge:plates/stainless_steel', + '2x #forge:rods/long/hsla_steel', '2x tfc:lens', '16x #forge:screws/hsla_steel', + 'tfg:certus_mechanism') + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 2160)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', - '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:moritz_sniper_semi_k30",HasBulletInBarrel:0b}')) - .circuit(4) + '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"applied_armorer:niklas_smg_freedom",HasBulletInBarrel:1b}')) + .circuit(7) .EUt(GTValues.VA[GTValues.EV]) - .duration(220) + .duration(160) event.recipes.gtceu.assembler('tfg_tacz:aa_gl') .itemInputs('gtceu:tungsten_steel_normal_fluid_pipe', '12x #forge:ingots/titanium', '6x #forge:plates/stainless_steel', diff --git a/kubejs/startup_scripts/tacz/constants.js b/kubejs/startup_scripts/tacz/constants.js index 319b52e24..ae2892684 100644 --- a/kubejs/startup_scripts/tacz/constants.js +++ b/kubejs/startup_scripts/tacz/constants.js @@ -134,7 +134,7 @@ global.TACZ_AMMO_INDEX = [ 'tacz:357mag', 'tacz:46x30', 'tacz:57x28', - 'tacz:30x06', + 'tacz:30_06', 'tacz:50ae', 'tacz:45_70', 'tacz:762x25', @@ -346,12 +346,14 @@ global.TACZ_ENABLED_GUNS = [ //Pistol 'ulv_guns:flintlock', 'create_armorer:pistol_revolver_torque', + 'create_armorer:pistol_auto_stress', 'applied_armorer:niklas_pistol_semi_right', 'applied_armorer:niklas_pistol_semi_pride', 'applied_armorer:niklas_pistol_double_win_win', //Sniper 'tacz:springfield1873', + 'tacz:m700', 'create_armorer:sniper_semi_clockwork', 'applied_armorer:moritz_sniper_semi_k30', @@ -367,7 +369,8 @@ global.TACZ_ENABLED_GUNS = [ 'tacz:db_long', //SMG - + 'create_armorer:smg_auto_crank', + 'applied_armorer:niklas_smg_freedom', //Heavy 'create_armorer:mg_platemag_flywheel', @@ -380,6 +383,7 @@ global.TACZ_ENABLED_GUNS = [ global.TACZ_ENABLED_AMMO = [ 'tacz:12g', 'tacz:45_70', + 'tacz:30_06', 'create_armorer:slap', 'create_armorer:rbapb', 'create_armorer:40mmhe', diff --git a/tacz/TACZ_CHANGELOG.md b/tacz/TACZ_CHANGELOG.md new file mode 100644 index 000000000..49e0d5b08 --- /dev/null +++ b/tacz/TACZ_CHANGELOG.md @@ -0,0 +1,133 @@ +# TACZ CHANGELOG +## TFG Version 0.11.9 +## Additions + +### "Clutch" Sniper Rifle +- True MV tier marksman Rifle +- Uses new .30-06 SLAP Ammo +- Stats + - Damage: 32 + - Ammo Capacity: 3 + - Armor Piercing: 50% + - Headshot Multi: 175% + +### "Stress" Semi Pistol +- MV tier Pistol +- Uses Rimmed Blunt Ammo +- Stats + - Damage: 8 + - Ammo Capacity: 26 + - Armor Piercing: 25% + - Headshot Multi: 120% + +### "Crank" SMG +- MV tier SMG +- Uses Rimmed Blunt Ammo +- Stats + - Damage: 8 + - Ammo Capacity: 26 + - Armor Piercing: 25% + - Headshot Multi: 120% + +### Freedom SMG +- EV tier SMG +- Uses Etched Quartz Bullets +- Stats + - Damage: 10 + - Ammo Capacity: 36 + - Armor Piercing: 25% + - Headshot Multi: 150% +## Balance Changes +## Pistols +### "Torque" Revolver +- Tier: MV -> LV +- Damage: 18 -> 12 +- Damage Falloff: + - 0-25: 18 -> 12 + - 25-50: 17 -> 11 + - 50-75: 16 -> 9 + - 75+: 16 -> 7 +- Armor Pierce: 40% -> 25% +- Headshot Multi: 200% -> 150% + +### Pride Pistol +- Armor Pierce: 20% -> 25% + +### Win-Win Pistols +- Damage: 9 -> 10 +- Damage Falloff: + - 0-15: 9 -> 10 + - 15-35: 8 -> 9 + - 35+: 7 -> 8 +- Armor Pierce: 10% -> 25% +- Headshot Multi: 125% -> 150% + +## Snipers + +### Springfield Sniper +- Damage: 35 -> 25 +- Damage Falloff: + - 0-40: 35 -> 25 + - 40-70: 28 -> 21 + - 70-100: 19 -> 17 + - 100+: 16 -> 12 + +### K30 Sniper +- Damage: 45 -> 40 +- Damage Falloff: + - 0-100: 45 -> 40 + - 100-200: 43 -> 35 + - 200+: 38 -> 30 +- Armor Pierce: 50% -> 55% +- Pierce: 3 -> 4 + +## Rifles + +### "Clockwork" Rifle +- Designation: Sniper -> Rifle +- Ammo: Rimmed Blunt -> SLAP +- Ammo Count: + - Base: 8 -> 10 + - Extend 1: 10 -> 13 + - Extend 2: 12 -> 16 + - Extend 3: 14 -> 20 +- Headshot Multi: 200% -> 150% + +### "Crane" Assault Rifle +- Ammo Count: + - Base: 10 -> 20 + - Extend 1: 20 -> 28 + - Extend 2: 30 -> 36 + - Extend 3: 40 -> 44 + +### AR77 Rifle +- Ammo Count: + - Base: 20 -> 25 + - Extend 1: 27 -> 36 + - Extend 2: 34 -> 45 + - Extend 3: 40 -> 52 +- Damage: 13 -> 14 +- Damage Falloff: + - 0-80: 13 -> 14 + - 80-160: 11 -> 12 + - 160+: 9 -> 10 + +## Machine Guns + +### "Flywheel" Machine Gun +- Ammo Count: + - Base: 50 -> 40 + - Extend 1: 65 -> 55 + - Extend 2: 80 -> 80 + - Extend 3: 100 -> 115 +- Fire Rate: 600 -> 650 +- Damage: 13 -> 12 +- Damage Falloff: + - 0-32: 13 -> 12 + - 32-64: 12 -> 11 + - 64+: 10 -> 10 + +## Ammo + +### SLAP Ammo +- Lead Nuggets -> Lead Bolts \ No newline at end of file diff --git a/tacz/ulv_guns.zip b/tacz/ulv_guns.zip index 074c170d96e907e7a2900d34c43cf565c656e97c..c58813fc3e9a61b17f15f0e9fc7bf71e6c3d8e34 100644 GIT binary patch delta 7396 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 delta 13003 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 E0F#akuK)l5 From 849b1ac1c807bc1b05613822199a5248f836fbb9 Mon Sep 17 00:00:00 2001 From: Morgan Arnold <62062835+CrashAndSideburns@users.noreply.github.com> Date: Mon, 24 Nov 2025 22:14:17 +0100 Subject: [PATCH 115/628] Update gating of Sophisticated Backpacks upgrades (#2282) * Update gating of Sophisticated Backpacks upgrades This commit makes the pickup upgrade and the advanced pickup upgrade from Sophisticated Backpacks accessible at LV. It also makes the magnet upgrade and the advanced magnet upgrade harder to obtain, requiring MV. Signed-off-by: Morgan Arnold <62062835+CrashAndSideburns@users.noreply.github.com> * Move pickup upgrade to ULV, magnet upgrade to LV Signed-off-by: Morgan Arnold <62062835+CrashAndSideburns@users.noreply.github.com> --------- Signed-off-by: Morgan Arnold <62062835+CrashAndSideburns@users.noreply.github.com> Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- .../sophisticated_backpacks/recipes.js | 52 ++++++++++++------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index 6a844e21a..df5379fec 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -179,18 +179,18 @@ const registerSophisticatedBackpacksRecipes = (event) => { 'CDE', 'FGF' ], { - A: 'gtceu:hv_electric_motor', - B: 'gtceu:mercury_barium_calcium_cuprate_single_wire', - C: 'gtceu:hv_conveyor_module', + A: '#forge:cogwheels', + B: 'gtceu:item_filter', + C: '#greate:belts', D: 'sophisticatedbackpacks:upgrade_base', - E: 'gtceu:hv_robot_arm', - F: '#gtceu:circuits/hv', - G: '#gtceu:batteries/hv' + E: 'create:mechanical_arm', + F: '#gtceu:circuits/ulv', + G: 'create:electron_tube' }).id('tfg:sophisticated_backpacks/shaped/pickup_upgrade') event.shapeless('sophisticatedbackpacks:advanced_pickup_upgrade', [ 'sophisticatedbackpacks:pickup_upgrade', - '#gtceu:circuits/ev' + 'gtceu:smart_item_filter' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_pickup_upgrade') event.shaped('sophisticatedbackpacks:filter_upgrade', [ @@ -213,23 +213,37 @@ const registerSophisticatedBackpacksRecipes = (event) => { '#gtceu:circuits/mv' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_filter_upgrade') - event.shaped('sophisticatedbackpacks:magnet_upgrade', [ + event.shaped('sophisticatedbackpacks:magnet_upgrade', [ 'ABA', - 'CDC', - 'FEG' + 'CDE', + 'FGF' ], { - A: 'gtceu:lv_robot_arm', - B: 'gtceu:item_filter', - C: '#gtceu:circuits/lv', - D: 'sophisticatedbackpacks:upgrade_base', - E: 'gtceu:lv_item_magnet', - F: '#forge:tools/wrenches', - G: '#forge:tools/screwdrivers' + A: 'gtceu:lv_electric_motor', + B: 'gtceu:lv_item_magnet', + C: 'gtceu:lv_conveyor_module', + D: 'sophisticatedbackpacks:pickup_upgrade', + E: 'gtceu:lv_robot_arm', + F: '#gtceu:circuits/lv', + G: '#gtceu:batteries/lv' }).id('tfg:sophisticated_backpacks/shaped/magnet_upgrade') + event.shaped('sophisticatedbackpacks:advanced_magnet_upgrade', [ + 'ABA', + 'CDE', + 'FGF' + ], { + A: 'gtceu:lv_electric_motor', + B: 'gtceu:lv_item_magnet', + C: 'gtceu:lv_conveyor_module', + D: 'sophisticatedbackpacks:advanced_pickup_upgrade', + E: 'gtceu:lv_robot_arm', + F: '#gtceu:circuits/lv', + G: '#gtceu:batteries/lv' + }).id('tfg:sophisticated_backpacks/shaped/advanced_magnet_upgrade') + event.shapeless('sophisticatedbackpacks:advanced_magnet_upgrade', [ 'sophisticatedbackpacks:magnet_upgrade', - 'gtceu:hv_item_magnet' + 'gtceu:smart_item_filter' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_magnet_upgrade') event.shaped('sophisticatedbackpacks:void_upgrade', [ @@ -430,4 +444,4 @@ const registerSophisticatedBackpacksRecipes = (event) => { 'sophisticatedbackpacks:feeding_upgrade', '#gtceu:circuits/mv' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_feeding_upgrade') -} \ No newline at end of file +} From 36135e8bbb3651ecb9f5a9bf39ec4d33e7c63a05 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 24 Nov 2025 15:18:42 -0600 Subject: [PATCH 116/628] Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24d06f079..8b12822a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Mars endermen can no longer pick up the wrong kind of warped/crimson sapling, and the correct kind has been added to their loot tables (#2240) - Cleanrooms now allow 9 door "blocks", so you can use the 3x3 Ad Astra doors (#2074) @ko-lja - Added recycling for astikor carts (#2227) @Pyritie +- Moved Soph Backpack pickup to ULV, adv pickup to MV and magnet to MV @CrashAndSideburns ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix From 30cb9228bad002d679a3be69f1eb9b71381ea066 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 24 Nov 2025 15:26:12 -0600 Subject: [PATCH 117/628] I love the changelog :heart: Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b12822a3..11f26d331 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Cleanrooms now allow 9 door "blocks", so you can use the 3x3 Ad Astra doors (#2074) @ko-lja - Added recycling for astikor carts (#2227) @Pyritie - Moved Soph Backpack pickup to ULV, adv pickup to MV and magnet to MV @CrashAndSideburns +- Many TACZ balance changes, found here https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/tacz/TACZ_CHANGELOG.md @BlueBoat29 ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix From f97785db32d9fb57be74e27354a804f53b19c571 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Thu, 27 Nov 2025 01:32:53 +0800 Subject: [PATCH 118/628] Add zh_cn translation for patchouli books (#2288) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc: Add zh_cn translation for patchouli_books * feat: Add quest/gregtech_energy/Large Boilers to language files * feat: remove unreviewed contents * feat: remove unreviewed contents * fix: fix typo * fix: fix Large Boilers * fix: update task for Large Boilers * fix: fix bronze ratio in patchouli book * feat: add zh_cn for patchouli book * fix: fix paving_cart category in zh_cn * feat: add zh_cn for sacks_n_such and tfcchannelcasting * fix: rename channel_casting.json * fix: fix contents in tfcchannelcusting * fix: update tapping index * fix: fix math mistake in anvil_working_guide * feat: update zh_cn translation * feat: update tfc mechanics * feat: update zh_cn translation for glassworking and papermaking * fix: fix link to TFC Anvil Helper --------- Co-authored-by: 闫茂源 --- .../en_us/entries/mechanics/anvils.json | 10 + .../entries/mechanics/blast_furnace.json | 10 +- .../en_us/entries/mechanics/bloomery.json | 2 +- .../entries/tfg_tips/anvil_working_guide.json | 2 +- .../zh_cn/categories/sacks_n_such.json | 6 + .../zh_cn/categories/tfcchannelcasting.json | 6 + .../arborfirmacraft/tapping_index.json | 6 +- .../zh_cn/entries/beneath/beneath.json | 23 + .../zh_cn/entries/beneath/biomes.json | 75 + .../zh_cn/entries/beneath/cooling.json | 49 + .../zh_cn/entries/beneath/curious_blocks.json | 23 + .../zh_cn/entries/beneath/hellforge.json | 50 + .../entries/beneath/ores_and_minerals.json | 76 + .../zh_cn/entries/beneath/piglins.json | 40 + .../zh_cn/entries/beneath/unposter.json | 16 + .../zh_cn/entries/beneath/water.json | 21 + .../zh_cn/entries/mechanics/anvils.json | 111 + .../entries/mechanics/blast_furnace.json | 68 + .../zh_cn/entries/mechanics/bloomery.json | 80 + .../zh_cn/entries/mechanics/crops.json | 3826 +++++++++++++++++ .../zh_cn/entries/mechanics/fire_clay.json | 40 + .../zh_cn/entries/mechanics/fishing_nets.json | 22 + .../zh_cn/entries/mechanics/glassworking.json | 82 + .../mechanics/glassworking_applications.json | 434 ++ .../entries/mechanics/harvest_baskets.json | 26 + .../zh_cn/entries/mechanics/papermaking.json | 161 + .../zh_cn/entries/mechanics/prospecting.json | 92 + .../zh_cn/entries/mechanics/quern.json | 80 + .../entries/mechanics/support_beams.json | 244 ++ .../entries/mechanics/surface_kaolin.json | 93 + .../zh_cn/entries/mechanics/trowel.json | 18 + .../entries/roadsandroofs/concrete_roads.json | 138 +- .../entries/roadsandroofs/paving_cart.json | 100 +- .../zh_cn/entries/sns/burlap_sack.json | 18 + .../zh_cn/entries/sns/frame_pack.json | 18 + .../zh_cn/entries/sns/hiking_boots.json | 17 + .../zh_cn/entries/sns/horseshoes.json | 30 + .../zh_cn/entries/sns/item_containers.json | 21 + .../zh_cn/entries/sns/leather_sack.json | 17 + .../zh_cn/entries/sns/lunchbox.json | 18 + .../zh_cn/entries/sns/mob_net.json | 17 + .../zh_cn/entries/sns/ore_sack.json | 18 + .../field_guide/zh_cn/entries/sns/quiver.json | 18 + .../entries/sns/safety_toe_hiking_boots.json | 22 + .../zh_cn/entries/sns/seed_pouch.json | 18 + .../zh_cn/entries/sns/straw_basket.json | 17 + .../tfcchannelcasting/casting_chocolate.json | 40 + .../tfcchannelcasting/channel_casting.json | 39 + .../entries/tfg_tips/anvil_working_guide.json | 174 + .../entries/tfg_tips/blast_furnace_tips.json | 42 + .../zh_cn/entries/tfg_tips/faqs.json | 47 + .../tfg_tips/inventory_management.json | 52 + .../zh_cn/entries/tfg_tips/space_crops.json | 574 +++ .../zh_cn/entries/tfg_tips/space_fauna.json | 194 + 54 files changed, 7317 insertions(+), 124 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/sacks_n_such.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfcchannelcasting.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/beneath.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/biomes.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/hellforge.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/unposter.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/water.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/anvils.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/blast_furnace.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fire_clay.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fishing_nets.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking_applications.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/harvest_baskets.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/papermaking.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/prospecting.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/quern.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/support_beams.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/surface_kaolin.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/trowel.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/burlap_sack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/frame_pack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/hiking_boots.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/horseshoes.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/item_containers.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/leather_sack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/lunchbox.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/mob_net.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/ore_sack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/quiver.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/safety_toe_hiking_boots.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/seed_pouch.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/straw_basket.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/casting_chocolate.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/channel_casting.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/anvil_working_guide.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/anvils.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/anvils.json index 02998bb6f..0c7efe50a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/anvils.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/anvils.json @@ -76,6 +76,16 @@ "title": "Perfectly Forged", "link_recipes": false, "text": "There are four tiers of forging bonus:$(li)Poorly Forged$(li)Well Forged$(li)Expertly Forged$(li)Perfectly Forged$(br2)These bonuses increase the power of your tool - making it break less often, mine faster, and/or do more damage in combat, depending on the tool." + }, + { + "type": "patchouli:text", + "anchor": "welding", + "text": "Welding is a process through which two items are fused together to create a new item. Welding works the same whether on a $(l:getting_started/primitive_anvils)Stone Anvil$() or a metal anvil.$(br2)First, you must place the two items you want to weld on the anvil. You can do this either by using the items on the anvil, or by opening the anvil interface and inserting them in the two leftmost slots.", + "title": "Welding" + }, + { + "type": "patchouli:text", + "text": "You also need to have at least one $(l:mechanics/flux)Flux$() in the anvil to aid the welding process. Then, while both items are $(l:mechanics/heating)hot enough$() to weld - the tooltip will say \"Can Weld\" - you must use any $(thing)Hammer$() on the anvil. You will hear a hammering sound and the items will be welded together. They can then be extracted by using $(item)$(k:key.use)$() on the anvil with an empty hand." } ], "read_by_default": true, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/blast_furnace.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/blast_furnace.json index 29557a767..effad226e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/blast_furnace.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/blast_furnace.json @@ -6,16 +6,16 @@ "pages": [ { "type": "patchouli:text", - "text": "A $(thing)Blast Furnace$() is an advanced device which is used in the creation of $(thing)Steel$(). By mixing $(l:getting_started/finding_ores)Iron Ores$(), $(l:tfg_tips/basic_automation)Coke$() or $(l:beneath/ores_and_minerals#cursecoal)Anthacite$(), and $(l:mechanics/flux)Flux$() in a controlled, hot environment, you can create a stronger metal than cast or wrought iron.$(br2)To obtain a blast furnace, you will first need a $(l:mechanics/crucible)Crucible$() and a lot of $(thing)Wrought Iron Sheets$()." + "text": "A $(thing)Blast Furnace$() is an advanced device which is used in the creation of $(thing)Steel$(). By mixing $(l:getting_started/finding_ores)Iron Ores$(), $(l:tfg_tips/basic_automation)Coke$() or $(l:beneath/ores_and_minerals#cursecoal)Anthacite$(), and $(l:mechanics/flux)Flux$() in a controlled, hot environment, you can create a stronger metal than cast or wrought iron.$(br2)To obtain a blast furnace, you will first need a $(l:mechanics/crucible)Crucible$() and a lot of $(thing)Wrought Iron Plates$()." }, { "type": "patchouli:crafting", "recipe": "tfc:crafting/blast_furnace", - "text": "Crafting a blast furnace itself requires a $(thing)Crucible$(), along with some of the $(thing)Wrought Iron Sheets$() you will need." + "text": "Crafting a blast furnace itself requires a $(thing)Crucible$(), along with some of the $(thing)Double Wrought Iron Plates$() you will need." }, { "type": "patchouli:text", - "text": "You will then need to construct the blast furnace, along with its $(thing)Chimney$(). The chimney must be composed out of $(l:mechanics/fire_clay#fire_bricks)Reinforced Fire Bricks$(), as they are strong enough to withstand the intense heat. These can be crafted from fire brick blocks, and either cast iron or wrought iron sheets. The sheets can be applied to each exposed face of the bricks by $(item)$(k:key.use)$() with the sheet in hand, or crafted into $(l:mechanics/blast_furnace_insulation)Blast Furnace Insulation$()." + "text": "You will then need to construct the blast furnace, along with its $(thing)Chimney$(). The chimney must be composed out of $(l:mechanics/fire_clay#fire_bricks)Reinforced Fire Bricks$(), as they are strong enough to withstand the intense heat. These can be crafted from fire brick blocks, and either cast iron or wrought iron plates. The plates can be applied to each exposed face of the bricks by $(item)$(k:key.sneak)$() + $(item)$(k:key.use)$() with the plate in hand, or crafted into $(l:mechanics/blast_furnace_insulation)Blast Furnace Insulation$()." }, { "type": "patchouli:multiblock", @@ -26,7 +26,7 @@ }, { "type": "patchouli:text", - "text": "The blast furnace's chimney can be up to five layers - each layer requiring four $(thing)Fire Bricks$() and twelve $(thing)Wrought Iron Sheets$() to complete. Having more layers increases the total capacity of the blast furnace, allowing it to smelt more steel at once. Each chimney layer, up to a maximum of five, allows the blast furnace to hold four additional ore items." + "text": "The blast furnace's chimney can be up to five layers - each layer requiring four $(thing)Fire Bricks$() and twelve $(thing)Wrought Iron Plates$() to complete. Having more layers increases the total capacity of the blast furnace, allowing it to smelt more steel at once. Each chimney layer, up to a maximum of five, allows the blast furnace to hold four additional ore items." }, { "type": "patchouli:text", @@ -55,7 +55,7 @@ }, { "type": "patchouli:text", - "text": "Finally, to get started, light the blast furnace with a $(l:getting_started/firepit#firestarter)Fire Starter$(), a $(thing)Flint and Pyrite$(), or a $(thing)Flint and Steel$(). It will begin to heat the ores inside. Make sure that the blast furnace continues to have fuel, and use the bellows to add air to the blast furnace after its internal temperature has reached the maximum for charcoal. After the ores inside heat up, they will melt and convert into $(l:mechanics/steel)Pig Iron$()." + "text": "Finally, to get started, light the blast furnace with a $(l:getting_started/firepit#firestarter)Fire Starter$() or a $(thing)Flint and Steel$(). It will begin to heat the ores inside. Make sure that the blast furnace continues to have fuel, and use the bellows to add air to the blast furnace after its internal temperature has reached the maximum for charcoal. After the ores inside heat up, they will melt and convert into $(l:mechanics/steel)Pig Iron$()." }, { "type": "patchouli:text", 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 86959d363..7a8671585 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 @@ -11,7 +11,7 @@ { "type": "patchouli:crafting", "recipe": "tfc:crafting/bloomery", - "text": "The bloomery is made from 8 $(thing)Bronze Double Sheets$()." + "text": "The bloomery is made from 8 $(thing)Bronze Double Plates$()." }, { "type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json index 118aad884..b210c5cac 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/anvil_working_guide.json @@ -131,7 +131,7 @@ }, { "type": "patchouli:text", - "text": "Rod Target Value: $(bold)78$()$(br)Required Steps: Draw->Draw->Bend$(br)\"requiredWork\": (-15 x 2) + 7 = -23$(br)Derived Value: 78 + 23 = 101.$(br)Reaching the Value: (Shrink x 5)->(Bend x 3)$(br)Getting the Item: 101 - 15 - 15 + 7 = 101." + "text": "Rod Target Value: $(bold)78$()$(br)Required Steps: Draw->Draw->Bend$(br)\"requiredWork\": (-15 x 2) + 7 = -23$(br)Derived Value: 78 + 23 = 101.$(br)Reaching the Value: (Shrink x 5)->(Bend x 3)$(br)Getting the Item: 101 - 15 - 15 + 7 = 78." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/sacks_n_such.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/sacks_n_such.json new file mode 100644 index 000000000..23baf34b0 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/sacks_n_such.json @@ -0,0 +1,6 @@ +{ + "name": "袋纳百物", + "description": "关于袋纳百物(Sacks 'N Such)你需要知道的一切。", + "icon": "sns:textures/item/icon/leather_sack.png", + "sortnum": 3 +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfcchannelcasting.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfcchannelcasting.json new file mode 100644 index 000000000..69ee29aa8 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/categories/tfcchannelcasting.json @@ -0,0 +1,6 @@ +{ + "name": "浇注道铸造", + "description": "关于浇注道铸造附加内容,允许你将坩埚中的金属同时浇注到多个模具。", + "icon": "tfcchannelcasting:channel", + "sortnum": 60 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json index 8347630a5..5c381ef5d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/arborfirmacraft/tapping_index.json @@ -10,7 +10,7 @@ }, { "type": "patchouli:text", - "text": "$(l:arborfirmacraft/tapping_index#maple)$(li)枫树$()$(l:arborfirmacraft/tapping_index#birch)$(li)桦树$()$(l:arborfirmacraft/tapping_index#hevea)$(li)橡胶树$()$(l:arborfirmacraft/tapping_index#rubber_fig)$(li)橡胶榕$()$(l:arborfirmacraft/tapping_index#kapok)$(li)木棉树$()$(l:arborfirmacraft/tapping_index#aspen)$(li)白杨树$()$(l:arborfirmacraft/tapping_index#spruce)$(li)云杉$()$(l:arborfirmacraft/tapping_index#white_cedar)$(li)雪松$()$(l:arborfirmacraft/tapping_index#douglas_fir)$(li)花旗松$()" + "text": "$(l:arborfirmacraft/tapping_index#maple)$(li)枫树$()$(l:arborfirmacraft/tapping_index#birch)$(li)白桦树$()$(l:arborfirmacraft/tapping_index#hevea)$(li)三叶胶树$()$(l:arborfirmacraft/tapping_index#rubber_fig)$(li)橡胶无花果树$()$(l:arborfirmacraft/tapping_index#kapok)$(li)木棉树$()$(l:arborfirmacraft/tapping_index#aspen)$(li)山杨树$()$(l:arborfirmacraft/tapping_index#spruce)$(li)云杉树$()$(l:arborfirmacraft/tapping_index#white_cedar)$(li)白雪松树$()$(l:arborfirmacraft/tapping_index#douglas_fir)$(li)花旗松树$()" }, { "type": "patchouli:spotlight", @@ -18,7 +18,7 @@ "title": "枫树", "item": "tfc:wood/log/maple,tfc:wood/wood/maple,tfc:wood/leaves/maple,tfc:wood/sapling/maple", "link_recipe": false, - "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -8.4°C$(br)$(thing)最高温度$(): 8°C$(br)$(thing)最低降雨量$(): 240$(br)$(thing)最高降雨量$(): 470$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -15°C$(br)$(thing)最高产出温度$(): 5°C$(br)$(thing)春季特有$(): 不是$(br)$(thing)流速$(): 5mb" + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -8.4°C$(br)$(thing)最高温度$(): 8°C$(br)$(thing)最低降雨量$(): 240$(br)$(thing)最高降雨量$(): 470$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -15°C$(br)$(thing)最高产出温度$(): 5°C$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 5mb" }, { "type": "patchouli:image", @@ -34,7 +34,7 @@ "title": "白桦树", "item": "tfc:wood/log/birch,tfc:wood/wood/birch,tfc:wood/leaves/birch,tfc:wood/sapling/birch", "link_recipe": false, - "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -12.1°C$(br)$(thing)最高温度$(): 6.1°C$(br)$(thing)最低降雨量$(): 125$(br)$(thing)最高降雨量$(): 310$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -15°C$(br)$(thing)最高产出温度$(): 5°C$(br)$(thing)春季特有$(): 不是$(br)$(thing)流速$(): 5mb" + "text": "$(bold)气候数据$()$(br)$(thing)最低温度$(): -12.1°C$(br)$(thing)最高温度$(): 6.1°C$(br)$(thing)最低降雨量$(): 125$(br)$(thing)最高降雨量$(): 310$(br2)$(bold)采集数据$()$(br)$(thing)最低产出温度$(): -15°C$(br)$(thing)最高产出温度$(): 5°C$(br)$(thing)春季特有$(): 否$(br)$(thing)流速$(): 5mb" }, { "type": "patchouli:image", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/beneath.json new file mode 100644 index 000000000..c73a6b953 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/beneath.json @@ -0,0 +1,23 @@ +{ + "name": "什么是幽冥之地?", + "category": "tfc:beneath", + "icon": "minecraft:deepslate", + "priority": true, + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)幽冥之地$() 是一个非常深的洞穴网络,位于主世界下方。$(br)这个维度处于中晚期 $(thing)原始时代$() 的平衡状态。它比地表更危险,因此我们建议至少配备一套青铜盔甲和金属盾牌,并携带充足的食物、水和其他工具。" + }, + { + "type": "patchouli:text", + "text": "它与普通下界体验有几个不同之处:$(li)进入方式 $(l:beneath/beneath#entering)不同$()$(li)水不会立即蒸发$(li)床仍像平常一样使用$(li)在底层移动速度不快于主世界$(br2)作为回报,你可以找到诸如 $(thing)高岭土$()、$(thing)石墨$()、更丰富且暴露的 $(thing)矿脉$(),以及其他珍宝。" + }, + { + "type": "patchouli:text", + "anchor": "entering", + "title": "进入幽冥之地", + "text": "要前往幽冥之地,只需站在主世界基岩块上一段时间即可。$(br)要返回,直接站在同一位置下方的基岩块上即可。$(br2)建议 $(thing)做个标记$(),记录你进入的位置,这样随时都能回到主世界的对应地点。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/biomes.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/biomes.json new file mode 100644 index 000000000..7d8cf133c --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/biomes.json @@ -0,0 +1,75 @@ +{ + "name": "生物群系", + "category": "tfc:beneath", + "icon": "minecraft:spyglass", + "pages": [ + { + "type": "patchouli:text", + "text": "幽冥之地有全新的生物群系等待探索!大多数分为两类:$(thing)上层$() 和 $(thing)下层$()。上层地形只出现在较高处,而下层则靠近岩浆区域。" + }, + { + "type": "patchouli:image", + "title": "繁茂空谷", + "images": [ + "tfg:textures/gui/field_guide/nether/lush_hollow.png" + ], + "border": true, + "text": "湿润且植被茂盛!是地下基地最宜居的区域。" + }, + { + "type": "patchouli:image", + "title": "腐化洞窟", + "images": [ + "tfg:textures/gui/field_guide/nether/decaying_caverns.png" + ], + "border": true, + "text": "大自然在此努力分解腐烂物质——这里是潮湿且充满腐殖质的地方。" + }, + { + "type": "patchouli:image", + "title": "蛛网巢穴", + "images": [ + "tfg:textures/gui/field_guide/nether/webbed_lair.png" + ], + "border": true, + "text": "不用猜也知道住在这里的是什么生物!也包含巨大的 $(thing)石灰华$() 柱。" + }, + { + "type": "patchouli:image", + "title": "灰烬森林", + "images": [ + "tfg:textures/gui/field_guide/nether/ash_forest.png" + ], + "border": true, + "text": "因高温引发频繁火灾后,茂密深渊残留下来的地貌。" + }, + { + "type": "patchouli:image", + "title": "熔岩浮岛", + "images": [ + "tfg:textures/gui/field_guide/nether/lava_floes.png" + ], + "border": true, + "text": "富含矿产的 $(thing)辉长岩$() 地区,被岩浆河流分割。" + }, + { + "type": "patchouli:image", + "title": "玄武岩三角洲", + "images": [ + "tfg:textures/gui/field_guide/nether/basalt_deltas.png" + ], + "border": true, + "text": "大家熟悉的下界地形回归了,仍然和以前一样危险。" + }, + { + "type": "patchouli:image", + "title": "深层岩窟", + "images": [ + "tfg:textures/gui/field_guide/nether/deep_caves.png" + ], + "border": true, + "text": "在其他地形之间,是更多平淡的区域,包括辉长岩、片岩、花岗岩、闪长岩和片麻岩。$(br)" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json new file mode 100644 index 000000000..119603107 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/cooling.json @@ -0,0 +1,49 @@ +{ + "name": "温度管理", + "category": "tfc:beneath", + "icon": "minecraft:ice", + "pages": [ + { + "type": "patchouli:text", + "text": "幽冥之地很热!温度从最上层的 15°C 开始,随着下降越来越热。$(br2)$(item)粗麻布$()和$(item)丝绸$()衣服有助于降温,但还有以下方式可以让你凉快下来!" + }, + { + "type": "patchouli:spotlight", + "item": "minecraft:water_bucket", + "title": "水", + "text": "在上层区域可以找到水。快速泡个澡能迅速降温!" + }, + { + "type": "patchouli:spotlight", + "title": "冰", + "item": "minecraft:packed_ice", + "text": "带上一些 $(thing)冰$()!站在附近可以降低周围温度。冰可以通过 $(item)锯子$() 从地表采集,$(thing)浮冰$()和$(thing)蓝冰$()不会融化。" + }, + { + "type": "patchouli:spotlight", + "title": "蓝钢装备", + "item": "create:netherite_diving_helmet,create:netherite_backtank,minecraft:netherite_leggings,create:netherite_diving_boots", + "text": "想要更持久的方案吗?$(thing)蓝钢潜水套装$()可将体温稳定在28°C,还能让你在岩浆里游泳!$(br2)$(item)耐火皮革$()来自本地的$(thing)红麋鹿$(),或从堡垒遗迹战利品箱内获取。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:create/shaped/netherite_diving_helmet", + "recipe2": "tfg:create/shaped/netherite_diving_helmet_upgrade" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:create/shaped/netherite_backtank", + "recipe2": "tfg:create/shaped/netherite_backtank_upgrade" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:minecraft/shaped/netherite_leggings" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:create/shaped/netherite_diving_boots", + "recipe2": "tfg:create/shaped/netherite_diving_boots_upgrade" + } + ], + "read_by_default": true +} \ No newline at end of file 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 new file mode 100644 index 000000000..73f70cb95 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/curious_blocks.json @@ -0,0 +1,23 @@ +{ + "name": "独特方块", + "category": "tfc:beneath", + "icon": "beneath:blackstone_aqueduct", + "pages": [ + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/blackstone_aqueduct", + "text": "辉石岩引水桥可用于远距离输送岩浆。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:shapeless/hellbricks_from_soot", + "text": "地狱砖是一种建筑方块,也用于地狱熔炉建造。" + }, + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/blackstone_brick", + "text": "混合岩和辉石岩砖块如普通砖块一样制作,也需要先制作石砖物品。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/hellforge.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/hellforge.json new file mode 100644 index 000000000..07f3d8f10 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/hellforge.json @@ -0,0 +1,50 @@ +{ + "name": "地狱熔炉", + "category": "tfc:beneath", + "icon": "beneath:cursecoal", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)地狱熔炉$() 是一个超大规模的炉子,具备高燃料容量、产物产能和加热效率。它由地狱砖、$(l:beneath/ores_and_minerals#cursecoal)无烟煤$() 和辉石岩引水桥构成。" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "ZXXXZ", + "XYYYX", + "XY0YX", + "XYYYX", + "ZXXXZ" + ], + [ + " ", + " XXX ", + " XXX ", + " XXX ", + " " + ] + ], + "mapping": { + "Z": "beneath:blackstone_aqueduct[fluid=lava]", + "Y": "beneath:hellforge_side", + "0": "beneath:hellforge", + "X": "beneath:hellbricks" + } + }, + "name": "地狱熔炉", + "text": "", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "地狱熔炉需要在四个角的引水桥中流入岩浆,以及 21 块地狱砖。中间的 3x3 区域必须填满 $(l:beneath/ores_and_minerals#cursecoal)无烟煤堆$(),点火后即可启动熔炉。" + }, + { + "type": "patchouli:text", + "text": "地狱熔炉的物品槽位可放置燃料或待冶炼的物品;没有区别。小心放错东西!还有熔炼槽,如同木炭炉一般使用。屏幕上的岩浆计量表表示温度(同时可通过物品在世界中的移动可视化)。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json new file mode 100644 index 000000000..94983723f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/ores_and_minerals.json @@ -0,0 +1,76 @@ +{ + "name": "矿石与矿物", + "category": "tfc:beneath", + "icon": "beneath:ore/normal_nether_gold", + "pages": [ + { + "type": "patchouli:text", + "text": "你在幽冥之地能找到的矿石大多与地表相似,但有一些改动。请参考$(l:tfg_ores)TFG矿物$()获取详细信息。" + }, + { + "type": "patchouli:spotlight", + "title": "混合岩", + "item": { + "tag": "forge:ores_in_ground/deepslate" + }, + "text": "最常见的岩石类型是混合岩。这种深层变质岩包含了你在地表其他岩石中常见的多种矿产。" + }, + { + "type": "patchouli:spotlight", + "title": "石灰华", + "item": { + "tag": "forge:ores_in_ground/dripstone" + }, + "text": "在较湿地区,你可能发现 $(thing)石灰华$()。这是一种沉积岩,可含有与混合岩相似类型的矿藏。" + }, + { + "type": "patchouli:spotlight", + "title": "辉石岩", + "item": { + "tag": "forge:ores_in_ground/pyroxenite" + }, + "text": "在幽冥之地最深处,不同岩性逐渐变为 $(thing)辉石岩$()。这种超镁铁质火成岩富含矿石,但也伴随着极端高温,做好准备再深入!" + }, + { + "type": "patchouli:multiblock", + "anchor": "cursecoal", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "beneath:ore/nether_cursecoal" + } + }, + "name": "无烟煤", + "text": "无烟煤是一种强大的 $(l:beneath/hellforge)燃料$()。可在幽冥之地上层区的混合岩中找到。", + "enable_visualize": false + }, + { + "type": "patchouli:multiblock", + "anchor": "sylvite", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "beneath:ore/blackstone_sylvite" + } + }, + "name": "钾石盐", + "text": "钾石盐是一种肥料,可在幽冥之地下层区的辉石岩中找到。", + "enable_visualize": false + } + ], + "read_by_default": true +} \ No newline at end of file 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 new file mode 100644 index 000000000..1e117dc9a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/piglins.json @@ -0,0 +1,40 @@ +{ + "name": "猪灵", + "category": "tfc:beneath", + "icon": "minecraft:gold_ingot", + "pages": [ + { + "type": "patchouli:text", + "title": "猪灵交易", + "text": "像你预期那样,你可以用 $(item)金锭$() 与 $(thing)猪灵$() 进行交易,方式与原版相同。" + }, + { + "type": "patchouli:entity", + "entity": "minecraft:piglin", + "scale": 0.9, + "name": "猪灵", + "text": "你可以在幽冥之地几乎所有生物群系中找到猪灵。" + }, + { + "type": "patchouli:text", + "title": "交易产物", + "text": "$(li)1 铜锭$(li)1 锡锭$(li)1 银锭$(li)1 青铜锭$(li)1 铋青铜锭$(li)1 铸铁锭$(li)1 锌锭$(li)1 黄铜锭$(li)1 铋锭$(li)1 镍锭$(li)1 朱砂宝石" + }, + { + "type": "patchouli:text", + "text": "$(li)4-6 硫磺粉$(li)1-2 皮革$(li)6-12 线$(li)6-12 下界石英$(li)12-18 桃花心木材$(li)6-8 桃花心木原木$(li)4-6 熟鹿肉$(li)4-6 鬼椒$(li)4-6 火药$(li)4-8 木炭$(li)6-12 箭矢$(li)6-12 助焊剂$(li)8-12 辉石岩砖$(li)8-12 混合岩砖$(li)8-16 木棍" + }, + { + "type": "patchouli:text", + "title": "堡垒遗迹", + "text": "掠夺一个 $(thing)堡垒遗迹$() 可能危险,但回报也很丰厚!你能获得如下物品:$(li)金、玫瑰金、生铁、黑青铜和银锭$(li)黑青铜武器、工具和护甲$(li)高岭土和石墨$(li)永久光源$(li)布料、皮革、种子和食物$(li)以及其他宝藏!" + }, + { + "type": "patchouli:spotlight", + "item": "tfg:piglin_disguise", + "title": "猪灵伪装", + "text": "如果你希望顺利交易,或者单纯想融入当地……戴上 $(thing)猪灵伪装$() 可避免猪灵一开始对你敌对。但注意!它们容忍有限……" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/unposter.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/unposter.json new file mode 100644 index 000000000..6f149ccdb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/unposter.json @@ -0,0 +1,16 @@ +{ + "name": "蘑菇培育桶", + "category": "tfc:beneath", + "icon": "beneath:unposter", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)蘑菇培育桶$()用于培育蘑菇。可将蘑菇及下界作物放入其中。当其放置在蘑菇旁时,将消耗内部储存的物品,使周边的该种蘑菇每日增殖一次。" + }, + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/unposter" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/water.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/water.json new file mode 100644 index 000000000..59bb3b763 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/beneath/water.json @@ -0,0 +1,21 @@ +{ + "name": "保持水分", + "category": "tfc:beneath", + "icon": "beneath:juicer", + "pages": [ + { + "type": "patchouli:text", + "text": "与下界不同,水不会在幽冥之地立刻蒸发。不过你也可以制作一个 $(thing)榨汁器$()。" + }, + { + "type": "patchouli:crafting", + "recipe": "beneath:crafting/juicer", + "text": "榨汁器是一个饮水容器,可将 $(thing)蘑菇$() 和 $(thing)水果$() 压榨成水。单槽界面会自动把输入的蘑菇加工为水。" + }, + { + "type": "patchouli:text", + "text": "这些蘑菇遍布整个幽冥之地。新鲜水果(比如 $(thing)发光浆果$())也可以挤成水。$(br2)你还可以在幽冥之地上层区域找到水源和 $(thing)温泉$()。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/anvils.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/anvils.json new file mode 100644 index 000000000..afa952385 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/anvils.json @@ -0,0 +1,111 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "砧", + "category": "tfc:mechanics", + "icon": "tfc:metal/anvil/copper", + "pages": [ + { + "type": "patchouli:text", + "text": "砧是开展冶金大业必不可少的工具。砧的主要作用是焊接金属锭,或将它们锻造成各种不同的工具和装备。$(br2)$(l:mechanics/anvils#working)锻造$()是指将一块金属锭打造成其他形状,以便于将其制成某些工具或装备的工艺。而$(l:mechanics/anvils#welding)焊接$()则是指将两块金属锭或其他金属部件粘连在一起物品的工艺。" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "#tfc:anvils" + } + }, + "name": "", + "text": "各式各样的金属砧", + "enable_visualize": false + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/metal/anvil/copper", + "text": "砧是由它们对应的金属$(thing)双锭$()制作的。在获得你的第一个砧前,你只能使用最原始的$(l:getting_started/primitive_anvils)石砧$()。有了石砧,你就可以用它来$(l:mechanics/anvils#welding)焊接$()出$(thing)铜双锭$()了。" + }, + { + "type": "patchouli:text", + "anchor": "tiers", + "text": "砧是分$(thing)等级$()的。等级决定了什么样的金属和材料可以在这个砧上加工。只有等级和砧相同或比砧低的材料才可以在砧上锻造,而能在砧上焊接的金属的最大等级为砧的等级 +1。$(br)$(li)$(bold)第零级$():石砧$(li)$(bold)第一级$():铜$(li)$(bold)第二级$():铋铜、黑铜、青铜$(li)$(bold)第三级$():锻铁$(li)$(bold)第四级$():钢$(li)$(bold)第五级$():黑钢$(li)$(bold)第六级$();红钢、蓝钢" + }, + { + "type": "patchouli:text", + "anchor": "working", + "text": "与砧互动就能打开砧界面,如右图所示。屏幕左侧的两个空格是用来放置需要加工的物品的。锻造素材必须放在右边那格——左边那格只有焊接时才会用到。锻造时,必须手持、或在右侧空格内放置一柄$(thing)锤$()。每次加工时,锤都会略微磨损。", + "title": "如何锻造" + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/anvil_empty.png" + ], + "text": "砧界面", + "border": false + }, + { + "type": "patchouli:text", + "text": "开工前,你必须先选择锻造$(thing)目标$()。$(item)$(k:key.attack)$()点击卷轴图标打开目标一览,选择完后会自动返回砧界面,且卷轴图标会转变为你刚刚选择的物品,同时屏幕上方的三个空格会显示当前目标所需的$(thing)锻造规则$()。" + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/gui/anvil_in_use.png" + ], + "text": "案例:选择镐头作为目标", + "border": false + }, + { + "type": "patchouli:text", + "text": "屏幕的最中间有一根长条和一红一绿两个指针。$(2)绿色指针$()表示了目前的锻造进度。$(4)红色指针$()表示了锻造目标。你需要做的,就是将绿色指针与红色指针对齐。", + "title": "完成锻造目标" + }, + { + "type": "patchouli:text", + "text": "$(br2)屏幕正中的$(4)红色$()与$(2)绿色$()按钮代表了不同的$(thing)锻造手法$()。使用$(2)绿色$()手法会将绿色指针向$(bold)右$()移动,而使用$(4)红色$()手法则会将绿色指针向$(bold)左$()移动。注意!如果你把绿色指针打出了屏幕,锻造素材就作废了!然而,单单将两个指针对齐是不够的。你还必须遵守额外的$(thing)锻造规则$()……" + }, + { + "type": "patchouli:text", + "text": "每个目标都会有两到三个$(thing)锻造规则$(),标注在屏幕顶部。锻造规则要求你按照特定的顺序使用特定的锻造手法来完成目标。比如,如果一个锻造规则要求“$(2)弯曲 倒数第二$()”,则你将指针对齐前的倒数第二个手法必须是“$(2)弯曲$()”", + "title": "锻造规则" + }, + { + "type": "patchouli:text", + "text": "锻造规则下方会显示你最后使用的三个锻造手法。被满足的锻造规则的轮廓会变为绿色。只有当所有锻造规则都被满足,且两个指针也对齐时才算锻造成功。$(br2)最后,别忘了留意锻造素材的$(l:mechanics/heating)温度$()。金属锭只有在温度足够高时(其工具提示会显示“可加工”)才可以用来锻造。锻造到一半的物品可以从砧上取出再加热,其锻造进度会保留。" + }, + { + "type": "patchouli:text", + "text": "锻造可不是件容易活儿。新手往往需要将素材来回敲打多次才能做好,而老手便能一气呵成。对于某些锻造目标(比如工具头)来说,如果能在几步内就做成,锻造出来的成品的$(thing)锻造评价$()会提升。用评价高的工具头做出来的工具会有一定的属性加成。", + "title": "锻造评价" + }, + { + "type": "patchouli:spotlight", + "item": "tfc:metal/pickaxe/wrought_iron{\"tfc:forging_bonus\":4}", + "title": "完美!", + "link_recipes": false, + "text": "有四种不同的锻造评价:$(li)粗糙$(li)合格$(li)精良$(li)完美!$(br2)根据工具类型的不同,这些词条会改变工具的耐久度、挖掘速度、和伤害等属性。" + }, + { + "type": "patchouli:text", + "anchor": "welding", + "text": "焊接是一种将两个物品熔合为新物品的工艺。无论是在$(l:getting_started/primitive_anvils)石砧$()还是金属砧上操作,焊接流程都完全一致。$(br2)首先,必须将待焊接的两个物品放置在砧上。可通过手持物品对砧点击使用,或打开砧的操作界面将其放入最左侧的两个槽位中完成放置。", + "title": "焊接" + }, + { + "type": "patchouli:text", + "text": "此外,砧内需至少存放一份$(l:mechanics/flux)助焊剂$()以辅助焊接过程。当两个物品均达到$(l:mechanics/heating)可焊接温度$()(提示信息将显示“可焊接”)时,用任意$(thing)锤$()击打砧,或点击砧操作界面中的焊接按钮即可。此时将传出锻打声效,物品也随之熔合为一体。完成后,空手对砧使用$(item)$(k:key.use)$()即可取出成品。" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tag:tfc:anvils": 0 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/blast_furnace.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/blast_furnace.json new file mode 100644 index 000000000..6bcb88bac --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/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)钢$()的高级设备。将$(thing)铁矿石$()、$(thing)焦煤$()或$(l:beneath/ores_and_minerals#cursecoal)无烟煤$(),和$(thing)助焊剂$()在高热环境中混合就能制造出一种比锻铁更强的金属。$(br2)要搭建高炉,你必须先制作两个$(l:mechanics/crucible)坩埚$()、一根$(thing)鼓风口$()、和一个风箱。此外,你还会需要很多$(thing)锻铁板$()和$(thing)耐火砖块$()。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/blast_furnace", + "text": "制作高炉方块本体就需要一个$(thing)坩埚$(),以及一些$(thing)双层锻铁板$()。" + }, + { + "type": "patchouli:text", + "text": "接下来就可以开始搭建高炉的$(thing)烟囱$()了。烟囱必须用足以承受炼钢高温的$(l:mechanics/fire_clay#fire_bricks)强化耐火砖$()搭建。强化砖可通过手持铸铁板或锻铁板,对耐火砖块用$(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": "高炉的烟囱最多可以搭建 5 层,每层烟囱需要额外 4 块$(thing)耐火砖块$()和 12 张$(thing)锻铁板$()。每额外搭建一层烟囱,高炉就可以同时多烧炼 4 个物品,从而提升工作效率。" + }, + { + "type": "patchouli:text", + "text": "必须从高炉的烟囱顶投入炼钢所需的素材。要炼钢,首先将等量的$(thing)铁矿石$()和$(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/zh_cn/entries/mechanics/bloomery.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json new file mode 100644 index 000000000..7d6c41d3c --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/bloomery.json @@ -0,0 +1,80 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "锻铁炉", + "category": "tfc:mechanics", + "icon": "tfc:bloomery", + "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)锻铁$()。另外,所有含铁物品熔化时都只会变成铸铁。锻铁炉是把铸铁变为锻铁的唯一方法。锻铁炉接受任何含铁物品,包括铁矿石或铸铁锭。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/bloomery", + "text": "锻铁炉由 8 块 $(thing)双层青铜板$() 制作而成。" + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfc:bloomery", + "name": "一座锻铁炉", + "text": "最基础的锻铁炉结构。锻铁炉方块可以用$(item)$(k:key.use)$()打开或关闭。", + "enable_visualize": true + }, + { + "type": "patchouli:text", + "text": "锻铁炉最多可容纳 48 个 $(thing)输入项$(),每层烟囱最多放16件物品。可通过堆叠额外的石头来加高至多两层烟囱,每层额外的烟囱可以多容纳16件物品。$(br2)要向锻铁炉中加入物品,只需将物品从烟囱顶部投入烟囱中即可。如果烟囱中出现灰色物质就说明成功了。" + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/tutorial/bloomery_hole.png" + ], + "text": "将物品添加到锻铁炉中。", + "border": true + }, + { + "type": "patchouli:text", + "text": "锻铁炉会将每$(thing)1份木炭$()和$(thing)144mB铸铁$()转化成一块$(thing)方坯$()。在投入所需的$(thing)木炭$()和$(thing)矿石$()后,点燃锻铁炉方块并等上 15 小时。锻铁炉熄灭后会留下许多方坯方块。用镐反复挖掘$(thing)方坯$()便能得到$(thing)生铁方坯$()。" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:bloom[layers=8]" + } + }, + "name": "方坯", + "text": "一大块$(thing)方坯$()。", + "enable_visualize": false + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfc:anvil/refined_iron_bloom", + "text": "$(thing)生铁方坯$()还必须在$(l:mechanics/anvils)砧$()上打造成$(thing)精铁方坯$()。" + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfc:anvil/wrought_iron_from_bloom", + "text": "在$(l:mechanics/anvils)砧$()上进一步打造$(thing)精铁方坯$()就能获得$(thing)锻铁锭$()了。" + }, + { + "type": "patchouli:text", + "text": "$(li)如果投入锻铁炉的物品超出了它的所能处理的数量,它就会从锻铁炉门口吐出来。$()$(li)如果要取回投入锻铁炉中的物品,不要试图挖掘塔中的熔融物,直接把锻铁炉方块挖掉即可。$()$(li)方坯只会熔化成铸铁,而不是锻铁。方坯必须经过锤炼才能变成锻铁!$()", + "title": "铁匠的笔记" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfc:bloom": 6, + "tfc:raw_iron_bloom": 7, + "tfc:refined_iron_bloom": 8 + } +} \ No newline at end of file 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 new file mode 100644 index 000000000..3d67d0e77 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/crops.json @@ -0,0 +1,3826 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "农作物", + "category": "tfc:mechanics", + "icon": "tfc:textures/item/food/wheat.png", + "pages": [ + { + "type": "patchouli:text", + "text": "农作物是食物和其他一些材料的来源。虽然每种作物都略有不同,但其实都大同小异。要种植农作物,你需要先找一些$(thing)种子$(),破坏$(l:the_world/wild_crops)野生作物$()可以就得到一点。$(br2)有了种子,你还需要一把$(thing)锄$()。种子也可以作为$(l:mechanics/fishing)鱼饵$()。" + }, + { + "type": "patchouli:text", + "text": "除了从野生作物获取种子,栽培作物也会产出种子。当一株完全成熟的作物不论是因为天气原因,或是过了收获时节而枯萎时就会转变为种子,为下一季种植更多作物提供了保障。" + }, + { + "type": "tfc:rock_knapping_recipe", + "recipes": [ + "tfg:rock_knapping/stone_hoe_head_1" + ], + "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": "种植作物" + }, + { + "type": "patchouli:text", + "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" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "oat", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():3 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():35 - 100 %$(br)$(bold)营养物质$():磷$(br2)燕麦是一种一格高的农作物。种植燕麦会产出$(thing)燕麦$()和$(thing)燕麦种子$()。", + "title": "燕麦" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=6]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/oat[age=7]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "rye", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-11 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 85 %$(br)$(bold)营养物质$():磷$(br2)黑麦是一种一格高的农作物。种植黑麦会产出$(thing)黑麦$()和$(thing)黑麦种子$()。", + "title": "黑麦" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rye[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "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" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "maize", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():13 - 40 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():75 - 100 %$(br)$(bold)营养物质$():磷$(br2)玉米是一种两格高的农作物。种植玉米会产出$(thing)玉米$()和$(thing)玉米种子$()。", + "title": "玉米" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/maize[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/maize[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/maize[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/maize[age=3,part=top]", + "Y": "tfc:crop/maize[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/maize[age=4,part=top]", + "Y": "tfc:crop/maize[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/maize[age=5,part=top]", + "Y": "tfc:crop/maize[age=5,part=bottom]", + "Z": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "wheat", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-4 - 35 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():磷$(br2)小麦是一种一格高的农作物。种植小麦会产出$(thing)小麦$()和$(thing)小麦种子$()。", + "title": "小麦" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/wheat[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/wheat[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/wheat[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/wheat[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/wheat[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "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" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "rice", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():15 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():磷$(br2)水稻是一种一格高的农作物。水稻必须种植在一格淡水深的耕地上。种植水稻会产出$(thing)水稻$()和$(thing)水稻种子$()。", + "title": "水稻" + }, + { + "type": "tfc:multimultiblock", + "text": "种植水稻种子的方块必须$(thing)含水$()。", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=0,fluid=water]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=1,fluid=water]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=2,fluid=water]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=3,fluid=water]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=4,fluid=water]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/rice[age=5,fluid=water]", + "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" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "beet", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-5 - 20 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():18 - 85 %$(br)$(bold)营养物质$():钾$(br2)甜菜是一种一格高的农作物。种植甜菜会产出$(thing)甜菜$()和$(thing)甜菜种子$()。", + "title": "甜菜" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/beet[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/beet[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/beet[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/beet[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/beet[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/beet[age=5]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "cabbage", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-10 - 27 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():15 - 65 %$(br)$(bold)营养物质$():氮$(br2)卷心菜是一种一格高的农作物。种植卷心菜会产出$(thing)卷心菜$()和$(thing)卷心菜种子$()。", + "title": "卷心菜" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/cabbage[age=5]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "carrot", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():3 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():钾$(br2)胡萝卜是一种一格高的农作物。种植胡萝卜会产出$(thing)胡萝卜$()和$(thing)胡萝卜种子$()。", + "title": "胡萝卜" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/carrot[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/carrot[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/carrot[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/carrot[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/carrot[age=4]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "garlic", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():-20 - 18 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():15 - 75 %$(br)$(bold)营养物质$():氮$(br2)大蒜是一种一格高的农作物。种植大蒜会产出$(thing)大蒜$()和$(thing)大蒜种子$()。", + "title": "大蒜" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/garlic[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/garlic[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/garlic[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/garlic[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/garlic[age=4]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "green_bean", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():2 - 35 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():38 - 100 %$(br)$(bold)营养物质$():氮$(br2)青豆是一种攀爬作物。如果耕地上插有木棍,青豆能长到两格高。种植青豆会产出$(thing)青豆$()和$(thing)青豆种子$()。", + "title": "青豆" + }, + { + "type": "tfc:multimultiblock", + "text": "需要插木棍才能使作物充分生长。", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "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" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "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" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "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" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "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" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "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]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/green_bean[age=5,part=top,stick=true]", + "Y": "tfc:crop/green_bean[age=5,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/green_bean[age=6,part=top,stick=true]", + "Y": "tfc:crop/green_bean[age=6,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/green_bean[age=7,part=top,stick=true]", + "Y": "tfc:crop/green_bean[age=7,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + } + ] + }, + { + "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" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/potato[age=6]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "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", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():75 - 100 %$(br)$(bold)营养物质$():磷$(br2)西瓜是一种爬行作物。种植在耕地上时,西瓜梗会在成熟后在相邻位置放置最多两颗$(thing)西瓜$()。西瓜梗在入冬前可结果多次。", + "title": "西瓜" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=0]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=1]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=2]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=3]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=4]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfc:farmland/loam", + "0": "tfc:farmland/loam", + "C": "tfc:crop/melon[age=5]", + "P": "minecraft:air" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "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" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "red_bell_pepper", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():16 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 60 %$(br)$(bold)营养物质$():钾$(br2)红甜椒是一种可采摘作物。在接近成熟时,可以使用$(item)$(k:key.use)$()采摘青甜椒。采摘时不破坏植株,允许植物在未来长出更多的甜椒。", + "title": "红甜椒" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/red_bell_pepper[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/red_bell_pepper[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/red_bell_pepper[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/red_bell_pepper[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/red_bell_pepper[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/red_bell_pepper[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/red_bell_pepper[age=6]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "yellow_bell_pepper", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():16 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 60 %$(br)$(bold)营养物质$():钾$(br2)黄甜椒是一种可采摘作物。在接近成熟时,可以使用$(item)$(k:key.use)$()采摘青甜椒。采摘时不破坏植株,允许植物在未来长出更多的甜椒。", + "title": "黄甜椒" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/yellow_bell_pepper[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/yellow_bell_pepper[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/yellow_bell_pepper[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/yellow_bell_pepper[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/yellow_bell_pepper[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/yellow_bell_pepper[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/yellow_bell_pepper[age=6]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "onion", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 90 %$(br)$(bold)营养物质$():氮$(br2)洋葱是一种一格高的农作物。种植洋葱会产出$(thing)洋葱$()和$(thing)洋葱种子$()。", + "title": "洋葱" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/onion[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/onion[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/onion[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/onion[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/onion[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/onion[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/onion[age=6]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "soybean", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():8 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():40 - 100 %$(br)$(bold)营养物质$():氮$(br2)大豆是一种一格高的农作物。种植大豆会产出$(thing)大豆$()和$(thing)大豆种子$()。", + "title": "大豆" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/soybean[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/soybean[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/soybean[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/soybean[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/soybean[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/soybean[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/soybean[age=6]", + "Y": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "squash", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 33 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():23 - 95 %$(br)$(bold)营养物质$():钾$(br2)西葫芦是一种一格高的农作物。种植西葫芦会产出$(thing)西葫芦$()和$(thing)西葫芦种子$()。", + "title": "西葫芦" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/squash[age=0]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/squash[age=1]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/squash[age=2]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/squash[age=3]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/squash[age=4]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/squash[age=5]", + "Y": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "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" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "sugarcane", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():12 - 38 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():40 - 100 %$(br)$(bold)营养物质$():钾$(br2)甘蔗是一种两格高的农作物。种植甘蔗会产出$(thing)甘蔗$()和$(thing)甘蔗种子$()。甘蔗可以制成$(thing)糖$()。", + "title": "甘蔗" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/sugarcane[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/sugarcane[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/sugarcane[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/sugarcane[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/sugarcane[age=4,part=top]", + "Y": "tfc:crop/sugarcane[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/sugarcane[age=5,part=top]", + "Y": "tfc:crop/sugarcane[age=5,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/sugarcane[age=6,part=top]", + "Y": "tfc:crop/sugarcane[age=6,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/sugarcane[age=7,part=top]", + "Y": "tfc:crop/sugarcane[age=7,part=bottom]", + "Z": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "tomatoes", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():0 - 36 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():30 - 95 %$(br)$(bold)营养物质$():钾$(br2)西红柿是一种攀爬作物。如果耕地上插有木棍,西红柿能长到两格高。种植西红柿会产出$(thing)西红柿$()和$(thing)西红柿种子$()。", + "title": "西红柿" + }, + { + "type": "tfc:multimultiblock", + "text": "需要插木棍才能使作物充分生长。", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=0,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=0,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=1,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=1,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=2,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=2,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=3,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=3,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=4,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=4,part=bottom,stick=true]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/tomato[age=5,part=top,stick=true]", + "Y": "tfc:crop/tomato[age=5,part=bottom,stick=true]", + "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" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "jute", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():5 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():25 - 100 %$(br)$(bold)营养物质$():钾$(br2)黄麻是一种两格高的农作物。种植黄麻会产出$(thing)黄麻$()和$(thing)黄麻种子$()。", + "title": "黄麻" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/jute[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/jute[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/jute[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/jute[age=3,part=top]", + "Y": "tfc:crop/jute[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/jute[age=4,part=top]", + "Y": "tfc:crop/jute[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/jute[age=5,part=top]", + "Y": "tfc:crop/jute[age=5,part=bottom]", + "Z": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "anchor": "papyrus", + "text": "$(bold)$(l:the_world/climate#temperature)温度$():19 - 37 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():70 - 100 %$(br)$(bold)营养物质$():钾$(br2)纸莎草是一种两格高的作物。纸莎草种子可以种植在耕地上,生长到两格高,并生产$(l:mechanics/papermaking)纸莎草$()和$(thing)纸莎草种子$()作为产物。", + "title": "纸莎草" + }, + { + "type": "tfc:multimultiblock", + "text": "", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/papyrus[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/papyrus[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfc:crop/papyrus[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/papyrus[age=3,part=top]", + "Y": "tfc:crop/papyrus[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/papyrus[age=4,part=top]", + "Y": "tfc:crop/papyrus[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:crop/papyrus[age=5,part=top]", + "Y": "tfc:crop/papyrus[age=5,part=bottom]", + "Z": "tfc:farmland/loam" + } + } + ] + }, + { + "type": "patchouli:text", + "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", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:sunflower[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:sunflower[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:sunflower[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:sunflower[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:sunflower[age=4,part=top]", + "Y": "tfg:sunflower[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:sunflower[age=5,part=top]", + "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", + "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", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:rapeseed[age=0,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:rapeseed[age=1,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "minecraft:air", + "Y": "tfg:rapeseed[age=2,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:rapeseed[age=3,part=top]", + "Y": "tfg:rapeseed[age=3,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:rapeseed[age=4,part=top]", + "Y": "tfg:rapeseed[age=4,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:rapeseed[age=5,part=top]", + "Y": "tfg:rapeseed[age=5,part=bottom]", + "Z": "tfc:farmland/loam" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfg:rapeseed[age=6,part=top]", + "Y": "tfg:rapeseed[age=6,part=bottom]", + "Z": "tfc:farmland/loam" + } + } + ], + "text": "$(thing)野生油菜$()(亦称$(thing)芸苔$())生长于-7°C至25°C的温度区间及50至350毫米的降雨环境。", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "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", + "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)野生亚麻$()生长于-5°C至23°C的温度区间及175至475毫米的降雨环境。" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfc:seeds/barley": 6, + "tfc:food/barley": 6, + "tfc:seeds/oat": 8, + "tfc:food/oat": 8, + "tfc:seeds/rye": 10, + "tfc:food/rye": 10, + "tfc:seeds/maize": 12, + "tfc:food/maize": 12, + "tfc:seeds/wheat": 14, + "tfc:food/wheat": 14, + "tfc:seeds/rice": 16, + "tfc:food/rice": 16, + "tfc:seeds/beet": 18, + "tfc:food/beet": 18, + "tfc:seeds/cabbage": 20, + "tfc:food/cabbage": 20, + "tfc:seeds/carrot": 22, + "tfc:food/carrot": 22, + "tfc:seeds/garlic": 24, + "tfc:food/garlic": 24, + "tfc:seeds/green_bean": 26, + "tfc:food/green_bean": 26, + "tfc:seeds/potato": 28, + "tfc:food/potato": 28, + "tfc:seeds/pumpkin": 30, + "tfc:seeds/melon": 32, + "tfc:seeds/red_bell_pepper": 34, + "tfc:seeds/yellow_bell_pepper": 36, + "tfc:seeds/onion": 38, + "tfc:food/onion": 38, + "tfc:seeds/soybean": 40, + "tfc:food/soybean": 40, + "tfc:seeds/squash": 42, + "tfc:food/squash": 42, + "tfc:seeds/sugarcane": 44, + "tfc:food/sugarcane": 44, + "tfc:seeds/tomato": 46, + "tfc:food/tomato": 46, + "tfc:seeds/jute": 48, + "tfc:jute": 48, + "tfc:seeds/papyrus": 50, + "tfc:papyrus": 50, + "tfg:sunflower_seeds": 52, + "tfg:sunflower_product": 52, + "tfg:rapeseed_seeds": 54, + "tfg:rapeseed_product": 54, + "tfg:flax_seeds": 56, + "tfg:flax_product": 56 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fire_clay.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fire_clay.json new file mode 100644 index 000000000..4fb72d970 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fire_clay.json @@ -0,0 +1,40 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "耐火黏土", + "category": "tfc:mechanics", + "icon": "tfc:fire_clay", + "pages": [ + { + "type": "patchouli:text", + "text": "耐火黏土能做成的东西不多,但每个都是科技进步上不可或缺的要素!耐火黏土比普通黏土能承受更高的高温,因此某些高级设备只能用耐火黏土建造。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/fire_clay", + "text": "耐火黏土是通过$(l:the_world/ores_and_minerals#graphite)石墨粉$()和$(l:the_world/ores_and_minerals#kaolinite)高岭石粉$()合成得到的,前者需用 $(l:mechanics/quern)手推磨$() 研磨。" + }, + { + "type": "tfc:heat_recipe", + "recipe": "tfc:heating/kaolin_clay", + "text": "高岭石粉是通过加热$(l:the_world/ores_and_minerals#kaolinite)高岭土$()得到的。然而现在这种工艺并不成熟,导致其产率只有20%左右。" + }, + { + "type": "tfc:knapping_recipe", + "anchor": "crucible", + "recipe": "tfc:fire_clay_knapping/crucible", + "text": "用耐火黏土塑形成未烧制的$(l:mechanics/crucible)坩埚$()。" + }, + { + "type": "tfc:knapping_recipe", + "anchor": "fire_bricks", + "recipe": "tfc:fire_clay_knapping/brick", + "text": "作为理想的隔热材料,耐火砖是建造$(l:mechanics/blast_furnace)高炉$()的必需品。" + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfc:fire_clay_knapping/fire_ingot_mold", + "text": "$(thing)耐火铸锭模具$()是一种更强版本的$(l:getting_started/pottery#mold)铸锭模具$()。相比普通的铸锭模具,耐火铸锭模具仅有1%的概率会在使用时破碎,普通模具则是10%。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fishing_nets.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fishing_nets.json new file mode 100644 index 000000000..0fa2d2fb7 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/fishing_nets.json @@ -0,0 +1,22 @@ +{ + "name": "渔网", + "icon": "tfg:fishing_net/brass", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:spotlight", + "title": "渔网", + "item": { + "tag": "forge:tools/fishing_nets" + }, + "text": "厌倦了用鱼叉捕鱼?或者在 $(l:mechanics/fishing)钓鱼$() 时总是丢了鱼?制作一个 $(thing)渔网$() 来轻松捞起你的晚餐。$(br)使用渔网时,右键点击鱼即可将其收入背包。不同等级的渔网效果相同,但耐久不同。" + }, + { + "type": "patchouli:crafting", + "title": "木制渔网", + "recipe": "tfc:kjs/damage/shaped/fishing_net/wood", + "text": "一款基础的 $(item)木制渔网$()。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking.json new file mode 100644 index 000000000..860e06d6d --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking.json @@ -0,0 +1,82 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "玻璃工艺", + "category": "tfc:mechanics", + "icon": "tfc:silica_glass_bottle", + "pages": [ + { + "type": "patchouli:text", + "text": "玻璃工艺是把沙子变为玻璃的艺术。首先,你必须决定制作哪一种$(thing)玻璃原料$():$(br)$(br) 1、$(thing)二氧化硅玻璃$():由白沙制成。$(br) 2、$(thing)赤铁矿玻璃$():由黄沙、红沙或粉红沙制成。$(br) 3、$(thing)橄榄岩玻璃$():由绿沙或棕沙制成。$(br) 4、$(thing)火山岩玻璃$():由黑沙制成。" + }, + { + "type": "patchouli:crafting", + "title": "二氧化硅玻璃原料", + "recipe": "tfc:crafting/silica_glass_batch", + "text": "玻璃原料除了需要对应颜色的沙子以外,还需要准备$(l:mechanics/glassworking#lime)石灰粉$()和任意一种$(l:mechanics/glassworking#potash)钾盐添加物$()。" + }, + { + "type": "patchouli:smelting", + "anchor": "lime", + "recipe": "tfg:smelting/lime", + "text": "$(thing)石灰粉$()是制作玻璃原料的必要原料之一,可以通过$(l:mechanics/heating)加热$()$(l:mechanics/flux)助焊剂$()获得。" + }, + { + "type": "patchouli:smelting", + "anchor": "potash", + "recipe": "tfg:smelting/dried_seaweed_to_soda", + "recipe2": "tfg:smelting/dried_kelp_to_soda", + "text": "制作玻璃原料还需要加入一些$(thing)钾盐$(),可以选用$(thing)海草灰$()(通过加热$(thing)干海草$()或$(thing)海带$()获得)或$(l:the_world/ores_and_minerals#saltpeter)硝石$()。" + }, + { + "type": "patchouli:text", + "text": "进行玻璃加工前,还需要准备多种工具:$(br)$(li)一支用来$(thing)吹气$()和$(thing)拉伸$()的$(l:mechanics/glassworking#blowpipe)吹风管$();$(li)一支用来$(thing)平整$()的$(l:mechanics/glassworking#paddle)玻璃压板$();$(li)一对用来$(thing)挤压$()的$(l:mechanics/glassworking#jacks)夹钳$();$(li)和一把用来$(thing)锯割$()的$(l:mechanics/glassworking#saw)宝石锯$()。", + "title": "加工工具" + }, + { + "type": "tfc:knapping_recipe", + "anchor": "blowpipe", + "recipe": "tfc:clay_knapping/blowpipe", + "text": "最重要的工具是$(thing)吹风管$()。通过黏土$(thing)捏制$()制作出模具后在烧制成$(thing)陶瓷吹风管$()即可。" + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfc:anvil/blowpipe", + "text": "陶瓷吹风管易碎,使用时有概率破损。更可靠的选择是用$(thing)黄铜杆$()在砧上$(l:mechanics/anvils#working)锻造$()一支吹风管。" + }, + { + "type": "patchouli:crafting", + "anchor": "paddle", + "recipe": "tfc:crafting/paddle", + "text": "$(thing)玻璃压板$()可以用来将玻璃$(thing)压平$(),可用木材制作。" + }, + { + "type": "tfc:welding_recipe", + "anchor": "jacks", + "recipe": "tfc:welding/jacks", + "text": "$(thing)玻璃夹钳$()可进行$(thing)挤压$(),需要将两根黄铜杆焊接在一起。" + }, + { + "type": "patchouli:crafting", + "anchor": "saw", + "recipe": "tfc:crafting/gem_saw", + "text": "$(thing)宝石锯$()是用来执行$(thing)锯割$()操作的。宝石锯还可以用来挖掘$(thing)玻璃块$()和$(thing)玻璃板$()而不使其损坏。" + }, + { + "type": "patchouli:text", + "text": "首先,将装有玻璃原料的吹风管加热到至少$(4)$(bold)淡红$()。随后将吹管置于$(thing)副手$(),持续按住$(item)$(k:key.use)$()以执行每个步骤$()。$(br)使用$(item)$(k:key.swapOffhand)$()可将炽热吹管快速移至副手。$(br2)$(bold)吹气$()$(br)手持$(thing)吹管$()时保持正对前方视角使用。$(br2)$(bold)拉伸$()$(br)手持$(thing)吹管$()时保持朝向正下方视角使用。", + "title": "如何制作玻璃" + }, + { + "type": "patchouli:text", + "text": "$(bold)平整$()$(br)副手持有$(l:mechanics/glassworking#paddle)玻璃压板$()时使用$(thing)吹风管$()。$(br2)$(bold)挤压$()$(br)副手持有$(l:mechanics/glassworking#jacks)玻璃夹钳$()时使用$(thing)吹风管$()。$(br2)$(bold)锯割$()$(br)副手持有$(l:mechanics/glassworking#saw)宝石锯$()时使用$(thing)吹风管$()。$(br2)$(bold)翻转$()$(br)副手持有$(l:mechanics/weaving#wool_cloth)羊毛布$()时使用$(thing)吹风管$()。" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfc:powder/lime": 2, + "tfc:powder/soda_ash": 3, + "tfc:paddle": 7, + "tfc:jacks": 8, + "tfc:gem_saw": 9 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking_applications.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking_applications.json new file mode 100644 index 000000000..f3c2af60f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/glassworking_applications.json @@ -0,0 +1,434 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "玻璃制品", + "category": "tfc:mechanics", + "icon": "minecraft:glass", + "pages": [ + { + "type": "patchouli:text", + "text": "最基础的玻璃制品是$(thing)玻璃板$()和$(thing)玻璃块$()。将$(thing)玻璃原料$()装在$(l:mechanics/glassworking#blowpipe)吹风管$()上,就可以进行$(thing)浇筑$()了。$(br)$(li)$(bold)台式浇筑$()法可制作$(thing)玻璃板$()$(li)$(bold)盆式浇筑$()法可制作$(thing)玻璃块$()" + }, + { + "type": "patchouli:text", + "text": "在进行浇筑之前,可以先对玻璃进行$(thing)染色$()。玻璃的颜色是由所用玻璃原料的类型,以及加工时加入的添加剂粉末决定的。$(br2)每种类型的$(thing)玻璃原料$()都拥有自己的自然颜色,且只能染成某些特定的颜色。$(thing)二氧化硅$()和$(thing)赤铁矿$()玻璃可以被染成许多颜色,而$(thing)橄榄岩$()和$(thing)火山岩$()玻璃则只能被染成较少的几种颜色。" + }, + { + "type": "patchouli:text", + "text": "$(thing)玻璃板$()是用$(thing)台式浇筑$()法制成的。将最多16块$(thing)镀黄铜块$()放置在统一平面以形成一块浇筑平台后:$(br) 1、将$(l:mechanics/glassworking)玻璃原料$()装入$(thing)吹风管$();$(br) 2、将吹风管加热至至少$(4)$(bold)淡红$();$(br) 3、$()对准浇筑平台$(item)$(k:key.use)$()点击$(thing)吹风管$();$(br) 4、手持$(l:mechanics/glassworking#paddle)玻璃压板$()$(item)$(k:key.use)$()点击平台上的玻璃原料以将玻璃平铺在整个平台表面。", + "title": "台式浇筑" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "mapping": { + "C": "#tfc:glass_pouring_table", + "0": "#tfc:glass_pouring_table" + }, + "pattern": [ + [ + "CCCC", + "CCC0", + "CCCC", + "CCCC" + ] + ] + }, + "text": "待玻璃冷却之后,用$(l:mechanics/glassworking#saw)宝石锯$()就能将其从平台上收集下来了。", + "border": true + }, + { + "type": "patchouli:text", + "text": "$(thing)玻璃块$()则需要用$(thing)盆式浇筑$()法制作。用5块$(thing)镀黄铜块$()将一块空气围起来后:$(br) 1、将$(l:mechanics/glassworking)玻璃原料$()装入$(thing)吹风管$();$(br) 2、将吹风管加热至至少$(4)$(bold)淡红$();$(br) 3、对准盆内部$(item)$(k:key.use)$()点击$(thing)吹风管$()。", + "title": "盆式浇筑" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "mapping": { + "C": "#tfc:glass_basin_blocks", + "0": "#tfc:glass_basin_blocks" + }, + "pattern": [ + [ + " C ", + "C C", + " C " + ], + [ + " ", + " 0 ", + " " + ] + ] + }, + "text": "待玻璃冷却之后,用$(l:mechanics/glassworking#saw)宝石锯$()就能将其从平台上收集下来了。", + "border": true + }, + { + "type": "patchouli:crafting", + "title": "玻璃加工方块", + "recipe": "tfc:crafting/white_kaolin_clay", + "text": "$(thing)镀黄铜块$() 可通过手持 $(thing)黄铜板$() 并 $(item)$(k:key.use)$() 在任意 $(thing)石砖$() 上合成。" + }, + { + "type": "patchouli:text", + "anchor": "coloring", + "text": "根据所选$(l:mechanics/glassworking)玻璃原料$()性质,玻璃会拥有一种自然的颜色。要将玻璃染成其他颜色,需要准备一只$(l:mechanics/bowls)碗$()。$(br2)将$(l:mechanics/bowls)碗$()放在地上,加入所需的$(thing)粉末$(),随后用装在$(thing)吹风管$()上的玻璃原料蘸取一些粉末。", + "title": "玻璃染色" + }, + { + "type": "patchouli:text", + "text": "$(li)$(bold)$(7)白色$():二氧化硅/赤铁矿玻璃+$(thing)海草粉$()$(li)$(bold)$(0)黑色$():任何玻璃+$(thing)石墨粉$()$(li)$(bold)$(8)灰色$():任何玻璃+$(thing)石墨$()+$(thing)海草粉$()$(li)$(bold)$(7)淡灰色$():任何玻璃+$(thing)石墨粉$()+2x$(thing)海草粉$()$(li)$(bold)$(5)紫色$():任何玻璃+$(thing)铁粉$()+$(thing)铜粉$()$(li)$(bold)$(#964b00)棕色$():任何玻璃+$(thing)镍粉$()$(li)$(bold)$(3)青色$():非火山岩玻璃+$(thing)铜粉$()+$(thing)蓝宝石粉$()$(li)$(bold)$(2)绿色$():二氧化硅/赤铁矿玻璃+$(thing)铁粉$()", + "title": "染色配方" + }, + { + "type": "patchouli:text", + "text": "$(li)$(bold)$(a)黄绿色$():二氧化硅/赤铁矿玻璃+$(thing)铁粉$()+$(thing)海草粉$()$(li)$(bold)$(b)淡蓝色$():二氧化硅玻璃+$(thing)青金石粉$()$(li)$(bold)$(1)蓝色$():二氧化硅玻璃+$(thing)铜粉$()$(li)$(bold)$(4)红色$():二氧化硅/赤铁矿玻璃+$(thing)锡粉$()$(li)$(bold)$(6)黄色$():二氧化硅/赤铁矿玻璃+$(thing)银粉$()$(li)$(bold)$(#ef8e38)橙色$():二氧化硅玻璃+$(thing)黄铁矿粉$()$(li)$(bold)$(5)品红色$():二氧化硅/赤铁矿玻璃+$(thing)红宝石粉$()$(li)$(bold)$(d)粉红色$():二氧化硅玻璃+$(thing)金粉$()$(li)$(bold)$(0)遮光$():非二氧化硅玻璃+$(thing)紫水晶粉$()" + }, + { + "type": "tfc:table_small", + "strings": [ + { + "text": "" + }, + { + "text": "C" + }, + { + "text": "T" + }, + { + "fill": "0xff42f2" + }, + { + "fill": "0x8af3ff" + }, + { + "fill": "0x526cff" + }, + { + "fill": "0xe3e3e3" + }, + { + "fill": "0xe69407" + }, + { + "fill": "0xc738c9" + }, + { + "fill": "0xffe81c" + }, + { + "fill": "0x48ff1f" + }, + { + "fill": "0xe01414" + }, + { + "fill": "0x0c9400" + }, + { + "fill": "0x188a9e" + }, + { + "fill": "0x7d4f00" + }, + { + "fill": "0x6e059c" + }, + { + "fill": "0x7d7d7d" + }, + { + "fill": "0xbdbdbd" + }, + { + "fill": "0x000000" + }, + { + "text": "二氧化硅" + }, + { + "fill": "0x3d42a8" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "text": "赤铁矿" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3d42a8" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "text": "橄榄石" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3d42a8" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "text": "火山岩" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3d42a8" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0xb33e3e" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + }, + { + "fill": "0x3eb340" + } + ], + "text": "每种原料可制成的所有玻璃颜色。C表示透明玻璃,T表示遮光玻璃。", + "title": "可制成的玻璃颜色", + "legend": [ + { + "text": "可制作", + "color": "0x3eb340" + }, + { + "text": "不可制作", + "color": "0xb33e3e" + }, + { + "text": "默认颜色", + "color": "0x3d42a8" + } + ], + "columns": 18, + "first_column_width": 35, + "column_width": 10, + "row_height": 10, + "left_buffer": 5, + "top_buffer": 15, + "draw_background": true + }, + { + "type": "patchouli:empty", + "draw_filler": false + }, + { + "type": "tfc:glassworking_recipe", + "anchor": "lamp_glass", + "recipe": "tfc:glassworking/lamp_glass", + "text": "$(thing)灯罩$()是$(l:mechanics/lamps)灯$()的必要部件。" + }, + { + "type": "tfc:glassworking_recipe", + "anchor": "jar", + "recipe": "tfc:glassworking/jar", + "text": "$(l:mechanics/jarring)玻璃罐$()只能使用二氧化硅玻璃或赤铁矿玻璃制成。" + }, + { + "type": "tfc:glassworking_recipe", + "anchor": "glass_bottle", + "recipe": "tfc:glassworking/silica_bottle", + "text": "$(thing)玻璃瓶$()的强度取决于制作玻璃瓶所用的玻璃种类。" + }, + { + "type": "tfc:glassworking_recipe", + "recipe": "tfc:glassworking/lens", + "text": "$(thing)透镜$()可用于制作$(thing)望远镜$()和$(thing)指南针$()等物品。" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tag:tfc:glass_batches": 1, + "tag:forge:glass": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/harvest_baskets.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/harvest_baskets.json new file mode 100644 index 000000000..5e5ba2164 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/harvest_baskets.json @@ -0,0 +1,26 @@ +{ + "name": "收获篮", + "icon": "tfg:harvest_basket", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:spotlight", + "title": "收获篮", + "item": { + "tag": "tfg:harvester" + }, + "text": "专为身材矮小者设计——$(thing)收获篮$()正是从树木和灌木上采摘果实的理想工具。$(br)使用时右键点击果树或灌木,$(thing)半径7格$()内的所有果实都将被采摘。" + }, + { + "type": "patchouli:text", + "text": "普通收获篮具有$(thing)128$()点耐久度,而铝制收获篮使用时不会损耗耐久。收获篮也可被$(thing)机械手$()等设备使用以实现自动化采收,此过程会正常消耗耐久度。" + }, + { + "type": "patchouli:crafting", + "title": "收获篮", + "recipe": "tfg:shaped/harvest_basket_from_papyrus", + "text": "基础款的$(item)收获篮$()可使用浸泡后的纸莎草或硬木制作。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/papermaking.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/papermaking.json new file mode 100644 index 000000000..144dabd32 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/papermaking.json @@ -0,0 +1,161 @@ +{ + "name": "造纸术", + "category": "tfc:mechanics", + "icon": "tfc:unrefined_paper", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)纸$()有三种获取方式:通过加工$(l:mechanics/crops#papyrus)纸莎草$()的茎来制作莎草纸,通过加工$(l:mechanics/papermaking#parchment)兽皮$()来制作羊皮纸,或经过$(l:mechanics/papermaking#paperfromwood)特定木材的复杂工序$()制成。纸可用于制作$(thing)书$()和$(thing)地图$()等书写材料。。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/papyrus_strips", + "text": "先用$(thing)刀$()将纸莎草切成条。" + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfc:barrel/soaked_papyrus_strip", + "text": "然后,将纸莎草条浸入装有$(thing)淡水$()$(l:mechanics/barrels)大桶$()中。" + }, + { + "type": "tfc:loom_recipe", + "recipe": "tfc:loom/unrefined_paper", + "text": "将浸泡好的纸莎草条用织布机编织成$(thing)粗制纸$()。最后,将粗制纸在一根原木上展开,用小刀$(l:mechanics/leather_making#scraping)刮去$()其表层进行剖光,就能得到可以使用的$(thing)纸$()了。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/vanilla/map", + "recipe2": "tfc:crafting/vanilla/name_tag" + }, + { + "type": "patchouli:crafting", + "recipe": "minecraft:writable_book", + "recipe2": "minecraft:book" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/wood/pine_lectern", + "recipe2": "tfc:crafting/wood/kapok_bookshelf" + }, + { + "type": "patchouli:text", + "text": "下一页会讲述如何制作羊皮纸。" + }, + { + "type": "patchouli:text", + "anchor": "parchment", + "text": "$(thing)羊皮纸$()是以$(l:mechanics/leather_making)刮制兽皮$()为主要原料,以及几种其他材料制成的纸。首先,需要先收集$(thing)浮石$()以便软化兽皮。浮石会生成在$(l:the_world/geology)火山$()四周,也可以通过在安山岩、流纹岩或英安岩地区的河流中收集矿物沉积物,并用$(l:mechanics/sluices)洗矿槽$()或$(l:mechanics/panning)淘金盘$()处理获得。", + "title": "羊皮纸" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "X" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:groundcover/pumice" + } + }, + "name": "浮石", + "text": "地上的浮石", + "enable_visualize": false + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/large_treated_hide", + "text": "将浮石、刮制兽皮与一把锤合成就能得到$(thing)糊化兽皮$()。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/parchment", + "text": "最后,将糊化兽皮、$(l:mechanics/glassworking#lime)石灰粉$()、面粉和一只新鲜鸡蛋打在一起就能生产出可用的羊皮纸了。" + }, + { + "type": "patchouli:text", + "anchor": "paperfromwood", + "text": "$(thing)木材造纸$()是一种古老工艺,需将坚实木材加工成薄片,分解为纸浆后经压制、干燥与刮制而成。$(br2)注意较软的木材不适用于造纸。", + "title": "木材造纸" + }, + { + "type": "patchouli:text", + "text": "首先你需要找到硬木:$(br2)金合欢木$(br)黑梣木$(br)山杨木$(br)白桦木$(br)黑檀木$(br)栗木$(br)山核桃木$(br)枫木$(br)橡木$(br)蔷薇木$(br)悬铃木" + }, + { + "type": "patchouli:spotlight", + "title": "去皮硬木", + "item": { + "tag": "tfg:stripped_hardwood" + }, + "text": "第一步是去除 $(thing)硬木$() 的外皮以显露内部纤维。你可以通过放置原木后手持斧头右键点击完成去皮。" + }, + { + "type": "patchouli:crafting", + "title": "硬木条", + "recipe": "tfg:crafting/strip_hardwood", + "text": "接着,用斧头切削已去皮的木材得到 $(item)硬木条$()。这也可以使用斧具或更精密的方法完成。" + }, + { + "type": "tfc:sealed_barrel_recipe", + "title": "浸泡硬木条", + "recipe": "tfg:barrel/soak_hardwood_strip", + "text": "将硬木条放入盛有$(thing)淡水$()的$(l:mechanics/barrels)大木桶$()中浸泡,此步骤将$(thing)削弱木材结构强度$()以便$(thing)进一步分解$()。" + }, + { + "type": "tfc:quern_recipe", + "recipe": "tfg:quern/soaked_hardwood_strip", + "title": "硬木浆", + "text": "随后使用$(l:mechanics/quern)手推磨$()将浸水硬木条磨碎成$(item)硬木浆$()" + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/small_dust_assembling_hardwood", + "title": "纸浆堆叠", + "text": "手推磨只产出小堆纸浆,需要在$(thing)工作台$()上将其合并。更精密的粉碎工艺能提升纸浆的产量。" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:thermochemically_treated_hardwood_dust", + "title": "纸浆分解", + "text": "在继续加工成纸张前,必须用$(thing)碱液$()在$(l:firmalife/oven_appliances#vat)不锈钢锅$()或$(l:mechanics/pot)陶锅$()中沸煮浆料以进一步分解。" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:spotlight", + "item": "tfg:soaked_unrefined_paper", + "title": "纸浆压制", + "text": "经过碱液沸煮分解后,$(item)热化学处理硬木浆$()可被压制成一张$(item)浸泡粗制纸$()" + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfg:anvil/soaked_unrefined_paper", + "text": "你可以使用$(l:mechanics/anvils)砧$()将纸浆捶打成薄片。" + }, + { + "type": "patchouli:spotlight", + "title": "桶内踩压", + "item": { + "tag": "firmalife:stomping_barrels" + }, + "text": "替代方案是在 $(l:firmalife/wine)踩踏桶$()中踩踏热化学处理硬木浆。" + }, + { + "type": "tfc:drying_recipe", + "recipe": "tfg:drying/unrefined_paper", + "text": "最后通过$(l:firmalife/drying)晾晒$()将$(item)浸泡粗制纸$()转化为$(item)粗制纸$(),再按前述方法刮制为$(item)纸$()" + }, + { + "type": "patchouli:text", + "title": "简化步骤...?", + "text": "随着科技树升级,你能以更少的步骤实现木材造纸,请查阅 $(thing)EMI$()了解不同木材造纸方案。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/prospecting.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/prospecting.json new file mode 100644 index 000000000..1951c0d5a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/prospecting.json @@ -0,0 +1,92 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "勘探", + "category": "tfc:mechanics", + "icon": "tfc:metal/propick/wrought_iron", + "pages": [ + { + "type": "patchouli:text", + "text": "你还记得你是在哪里捡到那些$(l:getting_started/finding_ores)小矿粒$()的,对吧?寻找更多矿石需要花费大量精力来勘探和开采。现在,你应该已经通读$(l:tfg_ores/earth_ore_index)地球矿物索引$()这一章节。你应该明白,如果你在寻找特定的矿石,则必须先找到它生成的岩石类型——不论是就在你家门口,或是千里之外。" + }, + { + "type": "patchouli:text", + "text": "当仅靠捡拾小矿粒不能满足你的发展需要时就应考虑开始勘矿了。$(br)$(li)小矿粒、表面芽、地表岩石只会在下方有矿脉时才会出现。当地表上有一片矿粒时,它们的几何中心的正下方很可能就有一支矿脉。$(li)有些时候,矿石也会暴露在断崖或水底,这种矿脉就很好发现了。" + }, + { + "type": "patchouli:spotlight", + "anchor": "propick", + "item": "tfc:metal/propick/copper", + "title": "勘矿镐", + "link_recipes": false, + "text": "若你正在寻找矿脉,且无法通过推测定位时,便是取出$(item)勘矿镐$()的时候了。若你熟悉原版$(thing)群峦传说$()中的基础勘矿镐,可能会惊讶地发现它们在$(thing)TFG$()整合包中的运作机制已彻底重构。" + }, + { + "type": "patchouli:text", + "text": "在$(thing)TFG$()中右键使用勘矿镐时,会沿你视线方向投射一道探测射线。射线的宽度与深度取决于镐的等级(详见其工具提示)。不同等级的勘矿镐还能提供矿石数量统计,甚至可显示矿脉的$(thing)X射线$()透视指示器。" + }, + { + "type": "patchouli:text", + "text": "使用勘矿镐时可能显示以下信息:$(br)$(li)在聊天框中显示矿脉的$(thing)总储量$()、$(thing)矿石成分$()及各类矿石的$(thing)具体数量$()$(li)$(thing)彩钢$()探矿镐还能在矿脉$(thing)中心$()显示大型X射线透视粒子,或为每个矿石方块生成$(thing)定位粒子$()" + }, + { + "type": "patchouli:image", + "title": "勘探者视角", + "images": [ + "tfg:textures/gui/field_guide/prospecting/tfg_prospectors_pick_xray.png" + ], + "border": true, + "text": "使用勘矿镐时的效果如图所示。大型$(bold)\"!\"$()标识粒子为整矿脉透视模式,较小的粒子则为逐方块透视模式。" + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfc:clay_knapping/propick_head_mold", + "text": "要制作勘矿镐,你可以用黏土按上图$(l:getting_started/pottery)捏制$()成一个未烧制的勘矿镐头模具。" + }, + { + "type": "tfc:heat_recipe", + "recipe": "tfc:heating/propick_head_mold", + "text": "模具$(l:getting_started/pottery)捏制$()完之后还需要$(l:mechanics/heating)烧制$()。$(br2)将液态金属倒入到烧制好的模具中就能$(l:getting_started/finding_ores#casting)铸造$()出勘矿镐了。" + }, + { + "type": "tfc:anvil_recipe", + "recipe": "tfc:anvil/copper_propick_head", + "text": "勘矿镐头也可以在$(l:mechanics/anvils)砧$()上使用任何可以制造工具的金属$(thing)锭$()$(l:mechanics/anvils#working)锻造$()而成。$(br2)最后用木棍和工具头在合成栏合成就能做出勘矿镐了。" + }, + { + "type": "patchouli:text", + "text": "勘矿镐的大部分数据和特性都可以在你的服务器配置文件中进行调整。" + }, + { + "type": "patchouli:spotlight", + "anchor": "prospector", + "item": "gtceu:prospector.lv", + "title": "数字勘矿者的…", + "link_recipes": false, + "text": "科技时代已然来临!随之而来的是探寻矿脉的全新方式!$(br)$(item)探矿仪$()是$(thing)格雷科技$()提供的矿脉与流体矿藏勘探方案。其探测范围与功能由$(#ff1100)电压等级$()决定。" + }, + { + "type": "patchouli:image", + "title": "探矿仪", + "images": [ + "tfg:textures/gui/field_guide/prospecting/tfg_luv_ore_prospector.png" + ], + "border": true, + "text": "这是你使用$(#e373ff)LuV 探矿仪$()时可能会看到的一个例子。" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfc:metal/propick/bismuth_bronze": 2, + "tfc:metal/propick/black_bronze": 2, + "tfc:metal/propick/bronze": 2, + "tfc:metal/propick/copper": 2, + "tfc:metal/propick/wrought_iron": 2, + "tfc:metal/propick/steel": 2, + "tfc:metal/propick/black_steel": 2, + "tfc:metal/propick/blue_steel": 2, + "tfc:metal/propick/red_steel": 2, + "gtceu:prospector.lv": 10, + "gtceu:prospector.hv": 10, + "gtceu:prospector.luv": 10 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/quern.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/quern.json new file mode 100644 index 000000000..0c0deddeb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/quern.json @@ -0,0 +1,80 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "手推磨", + "category": "tfc:mechanics", + "icon": "tfc:quern", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)手推磨$()是一种用于研磨物品的装置。它可以粉碎粗矿以用于$(l:tfg_ores/ore_basics#processing)加工$(),还能制作粉末、$(l:mechanics/dye)染料$() 以及其他物品。它是由$(thing)底座$()部分和$(thing)磨盘$()部分组合而成的。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/quern", + "text": "合成底座需要三个$(thing)平滑岩石$()以及任意三个$(thing)岩石$()方块。$(br2)石头可通过 $(l:getting_started/primitive_anvils#raw_rock)采集$() 获得,而平滑岩石则需要用 $(l:mechanics/chisel)凿子$() 加工。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/handstone", + "text": "手推磨还需要一个$(thing)磨盘$()才能使用。" + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/tutorial/quern_empty.png" + ], + "text": "对准手推磨底座的顶面按$(item)$(k:key.use)$()放上磨盘。", + "border": true + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/tutorial/quern_add_item.png" + ], + "text": "手持需要研磨的物品对准磨盘顶部的小孔按$(item)$(k:key.use)$()放入。", + "border": true + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/tutorial/quern_handle.png" + ], + "text": "对准磨盘的把手按$(item)$(k:key.use)$()旋转。", + "border": true + }, + { + "type": "patchouli:image", + "images": [ + "tfc:textures/gui/book/tutorial/quern_result.png" + ], + "text": "产品会在手推磨底座周围一圈出现。$(item)$(k:key.use)$()点击底座就能取出。", + "border": true + }, + { + "type": "tfc:quern_recipe", + "title": "粉碎矿石", + "recipe": "tfg:quern/copper_crushed_ore_from_normal_raw_ore", + "text": "$(l:tfg_ores/ore_basics#processing)矿石$() 可被粉碎以获取更多的金属。" + }, + { + "type": "tfc:quern_recipe", + "title": "粉末", + "recipe": "tfg:quern/sulfur_powder", + "text": "手推磨可用于将矿粉(如 $(thing)硫磺$())制成各种 $(thing)粉末$()。$(thing)宝石$() 也可被研磨成粉末。" + }, + { + "type": "tfc:quern_recipe", + "title": "染料", + "recipe": "tfc:quern/red_dye", + "text": "$(l:mechanics/dye)染料$()可以从花中提取得到。" + }, + { + "type": "patchouli:spotlight", + "item": { + "tag": "tfc:foods/flour" + }, + "text": "$(thing)农作物$() 可用刀具或手推磨加工成 $(thing)谷物$(),进一步研磨可得到 $(thing)面粉$()。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/support_beams.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/support_beams.json new file mode 100644 index 000000000..ff85b5d33 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/support_beams.json @@ -0,0 +1,244 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "name": "支撑梁及塌方", + "category": "tfc:mechanics", + "icon": "tfc:wood/support/oak", + "pages": [ + { + "type": "patchouli:text", + "text": "群峦传说中,天然岩石并不稳定,有发生$(thing)塌方$()的危险。如果不加防范,$(thing)天然岩石$()、$(thing)矿石$()、$(thing)平滑岩石$()、和钟乳$(thing)石锥$()等方块都可能从天而降,把你砸成肉饼!$(br2)为了防止发生这等惨剧,你必须确保周围的方块都$(thing)受到支撑$()。", + "title": "支撑梁" + }, + { + "type": "patchouli:text", + "text": "每次玩家挖掘任何$(thing)天然岩石$()时,若附近存在$(thing)未被支撑的$()天然岩石,就有可能发生塌方。一旦塌方开始,即便是已经$(thing)有支撑的$()岩石也可能开始塌方。$(br2)自然生成的洞穴顶部的岩石$(thing)自然承重$(),无需人工支撑。若天然岩石的正下方存在无法发生塌方的固体方块,那么这个方块也被算作是$(thing)被支撑的$()。此外,使用$(thing)支撑梁$()可以一次支撑一大片区域。" + }, + { + "type": "patchouli:text", + "text": "有等级的$(l:the_world/ores_and_minerals)矿石$()发生塌方时,其品质会降低一级——富集矿会变为普通矿,普通矿会变为贫瘠矿,而贫瘠矿会变为圆石。矿物则会直接转变为圆石。" + }, + { + "type": "patchouli:text", + "text": "泥土、草方块、黏土、沙砾、圆石、沙子等方块会受到重力影响。和原版不同,这些方块不仅会垂直下落,还会从过陡的坡上滑落,除非周围有支撑方块。$(l:mechanics/sluices)矿石沉积物$()也会发生滑坡,不过不会因此损失品质。" + }, + { + "type": "patchouli:crafting", + "recipe": "tfc:crafting/wood/oak_support", + "title": "支撑梁", + "text": "$(thing)支撑梁$()可以用$(thing)锯$()和任意类型的$(thing)原木$()合成。$(br2)在其他方块上放置$(thing)支撑梁$()就可以产生三格高的垂直支撑梁,在梁的下方必须有固体方块作为支撑。" + }, + { + "type": "tfc:multimultiblock", + "text": "放置$(thing)水平$()支撑梁可以连接距离不超过 5 个方块的两个$(thing)垂直$()支撑梁(如上图所示)。", + "multiblocks": [ + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "air", + "C": "air", + "D": "air", + "V": "air", + "W": "air", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "air", + "C": "tfc:wood/vertical_support/oak", + "D": "air", + "V": "tfc:wood/vertical_support/oak", + "W": "air", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "air", + "C": "tfc:wood/vertical_support/oak", + "D": "tfc:wood/vertical_support/oak", + "V": "tfc:wood/vertical_support/oak", + "W": "tfc:wood/vertical_support/oak", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "tfc:wood/horizontal_support/oak[north=true,south=true]", + "C": "tfc:wood/vertical_support/oak[south=true]", + "D": "tfc:wood/vertical_support/oak[north=true]", + "V": "tfc:wood/vertical_support/oak", + "W": "tfc:wood/vertical_support/oak", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + }, + { + "pattern": [ + [ + " ", + "CRD", + " " + ], + [ + " ", + "V W", + " " + ], + [ + " ", + "V W", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ], + [ + " ", + " ", + " " + ] + ], + "mapping": { + "R": "tfc:wood/horizontal_support/oak[north=true,south=true]", + "C": "tfc:wood/vertical_support/oak[south=true]", + "D": "tfc:wood/vertical_support/oak[north=true]", + "V": "tfc:wood/vertical_support/oak", + "W": "tfc:wood/vertical_support/oak", + "0": "tfc:rock/raw/andesite", + "G": "tfc:rock/raw/andesite" + } + } + ] + }, + { + "type": "patchouli:text", + "text": "只有$(thing)水平支撑梁$()才能起到$(thing)支撑$()效果,垂直的和转角的都不行。每一根水平支撑梁可以支撑以自身为中心,$(bold)9 x 5 x 9$()范围内的任何方块。$(br2)除了可以用支撑梁作为支撑,岩石下面的其他固体方块(例如其他有支撑的岩石)也会提供支撑。但是需要注意的是,$(thing)楼梯$()和$(thing)台阶$()等$(thing)非固体方块$(),以及$(thing)平滑岩石$(),是$(bold)无法$()提供支撑的。" + }, + { + "type": "patchouli:text", + "text": "除$(thing)木质支撑梁$()外,$(bold)TFG$()还新增了更高阶的支撑梁类型,包括$(thing)石质支撑梁$()、$(thing)混凝土支撑梁$()与$(thing)钢质支撑梁$()。最高阶的支撑梁可支撑以水平梁为中心、范围高达$(bold)33 x 13 x 33$()方块的区域!" + }, + { + "type": "patchouli:text", + "text": "最后请特别注意:$(l:mechanics/chisel)凿刻$()岩石和挖掘岩石一样可能导致塌方,尤其是在对任何可能引发坍塌的$(thing)天然岩石$()进行凿刻时。$(br2)$(br2)孩子们请牢记:遵守安全采矿准则!", + "title": "凿制" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tag:tfc:support_beams": 0 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/surface_kaolin.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/surface_kaolin.json new file mode 100644 index 000000000..e7199957e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/surface_kaolin.json @@ -0,0 +1,93 @@ +{ + "name": "高岭土", + "icon": "tfc:kaolin_clay", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "anchor": "kaolinite", + "text": "制作$(l:mechanics/fire_clay)耐火黏土$()需要高岭土。它生成于Y=75-110之间的高原、古老山脉、丘陵与高地,要求$(l:the_world/climate#temperature)温度$()不低于18°C,$(l:the_world/climate#rainfall)降雨量$()不低于300mm。$(thing)火球花$()会生长在高岭土上,其位置可能低至下方 35 格。" + }, + { + "type": "tfc:multimultiblock", + "text": "通常,向$(thing)东南方向$()行进可找到更温暖湿润的区域。", + "multiblocks": [ + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:kaolin_clay_grass" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:red_kaolin_clay" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:white_kaolin_clay" + } + }, + { + "pattern": [ + [ + "X" + ], + [ + "Y" + ], + [ + "0" + ] + ], + "mapping": { + "X": "tfc:plant/blood_lily", + "Y": "tfc:pink_kaolin_clay" + } + } + ] + }, + { + "type": "patchouli:spotlight", + "item": "tfc:powder/kaolinite", + "anchor": "powder", + "text": "只有$(thing)20%$()的高岭土能转化为$(thing)高岭石粉$(),建议使用$(l:getting_started/pit_kiln)坑窑$()就地烧制以节省物品栏空间。$(br2)同时请带回约20$(thing)块$()高岭土,以供后续$(l:mechanics/glassworking_applications)玻璃制品$()使用。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/trowel.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/trowel.json new file mode 100644 index 000000000..91ec2fe9e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/trowel.json @@ -0,0 +1,18 @@ +{ + "name": "抹刀", + "icon": "tfg:trowel", + "category": "tfc:mechanics", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:crafting", + "title": "抹刀", + "recipe": "tfg:shaped/trowel", + "text": "$(item)抹刀$()允许建筑者右键点击表面时,从其快捷栏中随机放置方块。$(br2)抹刀还内置了对$(item)道路与屋顶$()模组的功能支持——意味着它同样可以随机放置如砖块或板岩之类的填充物。" + }, + { + "type": "patchouli:text", + "text": "灵感来源于$(item)Quark$()模组中的抹刀工具——由Vazkii制作" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json index 1e4c51ae4..83f85ba76 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/concrete_roads.json @@ -1,71 +1,71 @@ { - "name": "混凝土道路", - "category": "tfc:roadsandroofs", - "icon": "rnr:concrete_road_panel", - "pages": [ - { - "type": "patchouli:text", - "text": "混凝土道路是可建造的速度最快的道路类型,正确建造时可提供30%移动速度加成。但施工时需确保混凝土在凝固前不被踩踏或开裂,否则将失去速度增益。" - }, - { - "type": "patchouli:image", - "title": "混凝土道路", - "images": [ - "rnr:textures/gui/book/concrete_road.png" - ], - "border": true - }, - { - "type": "patchouli:spotlight", - "anchor": "liquid_concrete", - "item": "gtceu:concrete_bucket", - "title": "制备混凝土", - "text": "建造混凝土路的第一步是配制湿混凝土。使用$(thing)搅拌机$()将水与任意两种石粉(方解石或大理石粉),以及石膏粉混合;或者用三种石粉加黏土粉,来制作$(thing)液态混凝土$()。" - }, - { - "type": "patchouli:spotlight", - "anchor": "wet_concrete", - "item": "rnr:bucket/concrete", - "title": "制备混凝土", - "text": "然后把$(thing)搅拌机$()设置为$(thing)编程电路 #7$(),加入更多水稀释液态混凝土,得到$(thing)湿混凝土混合物$()。" - }, - { - "type": "patchouli:text", - "text": "一旦获得$(thing)湿混凝土$(),即可用桶舀取并倾倒在基层方块上,它会自动向相邻方块蔓延。混凝土需一天时间硬化,在此期间需防止生物踩踏未凝固的混凝土,否则会形成不平整表面导致速度加成失效。可用鹤嘴锄抹平脚印痕迹。" - }, - { - "type": "patchouli:image", - "title": "浇筑混凝土道路", - "images": [ - "rnr:textures/gui/book/wet_concrete.png" - ], - "border": true - }, - { - "type": "patchouli:text", - "text": "混凝土干燥过程中还会发生收缩开裂问题。当浇筑区域任意方向宽度超过4格时,距离混凝土$(thing)边缘$()、$(thing)控制缝$()或$(thing)纹理饰面$()超过两格的方块会产生裂缝。可通过分区域浇筑、每隔5格用$(thing)鹤嘴锄$()添加$(thing)控制接缝$()或采用$(thing)纹理饰面$()来预防开裂。" - }, - { - "type": "patchouli:image", - "title": "控制缝", - "images": [ - "rnr:textures/gui/book/control_joints.png" - ], - "border": true - }, - { - "type": "patchouli:text", - "text": "$(thing)纹理饰面$()通过将$(thing)砖块$()、$(thing)铺路砖$()或$(thing)平滑石方块$()压入正在凝固的混凝土中形成装饰性表面,这些方块同时兼具防止开裂的$(thing)控制缝$()功能。混凝土完全干燥后可用$(thing)凿子$()制作台阶和楼梯。" - }, - { - "type": "patchouli:image", - "title": "仿石板路", - "images": [ - "rnr:textures/gui/book/faux_sett.png" - ], - "border": true - } - ], - "read_by_default": true, - "sortnum": 20 + "name": "混凝土道路", + "category": "tfc:roadsandroofs", + "icon": "rnr:concrete_road_panel", + "pages": [ + { + "type": "patchouli:text", + "text": "混凝土道路是可建造的速度最快的道路类型,正确建造时可提供30%移动速度加成。但施工时需确保混凝土在凝固前不被踩踏或开裂,否则将失去速度增益。" + }, + { + "type": "patchouli:image", + "title": "混凝土道路", + "images": [ + "rnr:textures/gui/book/concrete_road.png" + ], + "border": true + }, + { + "type": "patchouli:spotlight", + "anchor": "liquid_concrete", + "item": "gtceu:concrete_bucket", + "title": "制备混凝土", + "text": "建造混凝土路的第一步是配制湿混凝土。使用$(thing)搅拌机$()将水与任意两种石粉(方解石或大理石粉),以及石膏粉混合;或者用三种石粉加黏土粉,来制作$(thing)液态混凝土$()。" + }, + { + "type": "patchouli:spotlight", + "anchor": "wet_concrete", + "item": "rnr:bucket/concrete", + "title": "制备混凝土", + "text": "然后把$(thing)搅拌机$()设置为$(thing)编程电路 #7$(),加入更多水稀释液态混凝土,得到$(thing)湿混凝土混合物$()。" + }, + { + "type": "patchouli:text", + "text": "一旦获得$(thing)湿混凝土$(),即可用桶舀取并倾倒在基层方块上,它会自动向相邻方块蔓延。混凝土需一天时间硬化,在此期间需防止生物踩踏未凝固的混凝土,否则会形成不平整表面导致速度加成失效。可用鹤嘴锄抹平脚印痕迹。" + }, + { + "type": "patchouli:image", + "title": "浇筑混凝土道路", + "images": [ + "rnr:textures/gui/book/wet_concrete.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "混凝土干燥过程中还会发生收缩开裂问题。当浇筑区域任意方向宽度超过4格时,距离混凝土$(thing)边缘$()、$(thing)控制缝$()或$(thing)纹理饰面$()超过两格的方块会产生裂缝。可通过分区域浇筑、每隔5格用$(thing)鹤嘴锄$()添加$(thing)控制接缝$()或采用$(thing)纹理饰面$()来预防开裂。" + }, + { + "type": "patchouli:image", + "title": "控制缝", + "images": [ + "rnr:textures/gui/book/control_joints.png" + ], + "border": true + }, + { + "type": "patchouli:text", + "text": "$(thing)纹理饰面$()通过将$(thing)砖块$()、$(thing)铺路砖$()或$(thing)平滑石方块$()压入正在凝固的混凝土中形成装饰性表面,这些方块同时兼具防止开裂的$(thing)控制缝$()功能。混凝土完全干燥后可用$(thing)凿子$()制作台阶和楼梯。" + }, + { + "type": "patchouli:image", + "title": "仿石砖路", + "images": [ + "rnr:textures/gui/book/faux_sett.png" + ], + "border": true + } + ], + "read_by_default": true, + "sortnum": 20 } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json index 5b586db04..03352247b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/roadsandroofs/paving_cart.json @@ -1,48 +1,58 @@ { - "name": "铺路车", - "category": "tfc:道路与屋顶", - "icon": "tfg:rnr_plow", - "pages": [ - { - "type": "patchouli:text", - "text": "$(thing)铺路车$()是一种用于快速高效铺设路面的专用推车。可填入路面材料与$(thing)碎石基层$()来修筑道路。该推车还能为现有基层方块完成填料作业" + "name": "铺路车", + "category": "tfc:roadsandroofs", + "icon": "tfg:rnr_plow", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)铺路车$()是一种用于快速高效铺设路面的专用推车。可填入路面材料与$(thing)碎石基层$()来修筑道路。该推车还能为现有基层方块完成填料作业。" + }, + { + "type": "patchouli:image", + "title": "铺路车", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" + ], + "border": true + }, + { + "type": "patchouli:image", + "title": "宽度调节滑块", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" + ], + "border": true, + "text": "通过操作界面中的滑块可调整铺设路径的宽度" + }, + { + "type": "patchouli:image", + "title": "可变宽度路径", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" + ], + "border": true + }, + { + "type": "patchouli:image", + "title": "随机模式按钮", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" + ], + "border": true, + "text": "这辆推车有一种模式,可以以随机模式铺设材料。" + }, + { + "type": "patchouli:image", + "title": "随机材料路径", + "images": [ + "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" + ], + "border": true + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:rnr_plow": 0 }, - { - "type": "patchouli:image", - "title": "铺路车", - "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart.png" ], - "border": true - }, - { - "type": "patchouli:image", - "title": "宽度调节滑块", - "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_width.png" ], - "border": true, - "text": "通过操作界面中的滑块可调整铺设路径的宽度" - }, - { - "type": "patchouli:image", - "title": "可变宽度路径", - "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_width.png" ], - "border": true - }, - { - "type": "patchouli:image", - "title": "随机模式按钮", - "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_gui_random.png" ], - "border": true, - "text": "这辆推车有一种模式,可以以随机模式铺设材料。" - }, - { - "type": "patchouli:image", - "title": "随机材料路径", - "images": [ "tfg:textures/gui/field_guide/paving_cart/tfg_paving_cart_path_random.png" ], - "border": true - } - ], - "read_by_default": true, - "extra_recipe_mappings": { - "tfg:rnr_plow": 0 - }, - "sortnum": 20 + "sortnum": 20 } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/burlap_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/burlap_sack.json new file mode 100644 index 000000000..38147738a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/burlap_sack.json @@ -0,0 +1,18 @@ +{ + "name": "麻袋", + "category": "tfc:sacks_n_such", + "icon": "sns:burlap_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:burlap_sack", + "text": "$(item)麻袋$()是一种$(l:sns/item_containers)物品容器$(),可比$(item)皮革袋$()多装一些物品。" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/burlap_sack", + "text": "默认可容纳至多$(thing)小型$()物品" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/frame_pack.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/frame_pack.json new file mode 100644 index 000000000..ffa012f16 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/frame_pack.json @@ -0,0 +1,18 @@ +{ + "name": "大背包", + "category": "tfc:sacks_n_such", + "icon": "sns:frame_pack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:frame_pack", + "text": "$(item)大背包$()是一种$(l:sns/item_containers)物品容器$(),实质上就像把群峦传说的箱子背在背上。与箱子相同,它遵循群峦传说的$(l:getting_started/size_and_weight)尺寸与重量$()。" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/frame_pack", + "text": "默认可容纳至多$(thing)大型$()物品" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/hiking_boots.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/hiking_boots.json new file mode 100644 index 000000000..7fdb34706 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/hiking_boots.json @@ -0,0 +1,17 @@ +{ + "name": "登山靴", + "category": "tfc:sacks_n_such", + "icon": "sns:hiking_boots", + "pages": [ + { + "type": "patchouli:text", + "text": "每位探索者都需要一双好靴子。它能让你快速穿过灌木,并提供些许移速提升,同时略微提高安全坠落高度。" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/hiking_boots", + "text": "这双靴子就是为行走而生。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/horseshoes.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/horseshoes.json new file mode 100644 index 000000000..d90416c5e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/horseshoes.json @@ -0,0 +1,30 @@ +{ + "name": "马蹄铁", + "category": "tfc:sacks_n_such", + "icon": "sns:metal/horseshoe/steel", + "pages": [ + { + "type": "patchouli:text", + "text": "$(item)马蹄铁$()需先单独锻造,再在工作台中组合。你难道不知道马有四只脚吗?$(br)$(br)顺带一提,给马穿高级马蹄铁时,最好把马拴好,普通的安全坑已经不管用了!" + }, + { + "type": "tfc:sns/better_anvil_recipe", + "recipe": "sns:anvil/metal/horseshoe/steel", + "recipe2": "sns:anvil/metal/horseshoe/black_steel", + "recipe3": "sns:anvil/metal/horseshoe/blue_steel", + "recipe4": "sns:anvil/metal/horseshoe/red_steel", + "text4": "每匹马都该有双好鞋" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/metal/horseshoes/steel", + "recipe2": "sns:crafting/metal/horseshoes/black_steel" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/metal/horseshoes/blue_steel", + "recipe2": "sns:crafting/metal/horseshoes/red_steel" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/item_containers.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/item_containers.json new file mode 100644 index 000000000..82c03d753 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/item_containers.json @@ -0,0 +1,21 @@ +{ + "name": "物品容器", + "category": "tfc:sacks_n_such", + "icon": "sns:straw_basket", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)物品容器$()是本模组新增的主要物品。它们有6个主要属性,可在鼠标悬停于物品堆并按住$(3)Shift$(clear)时查看。$(li)$(thing)容量格数$():拥有的格子数量。$(li)$(thing)每格容量$():每格可容纳的物品数量。$(li)$(thing)允许尺寸$():格子中允许的最大$(l:getting_started/size_and_weight)尺寸与重量$()。" + }, + { + "type": "patchouli:text", + "text": "$(li)$(thing)物品拾取$():能否从世界中拾取物品实体。按住Shift右键或使用$(k:sns.key.pickup)切换。$(li)$(thing)物品清除$():能否清除从世界中拾取的多余物品。切换方式为 Ctrl + 左键点击格子。$(li)$(thing)库存交互$():是否可像群峦传说的小缸或原版收纳袋那样,通过点击物品堆来插入与取出。$(br)所有$(thing)物品容器$()均支持通过$(k:pickItem)使用原版点选复制。" + }, + { + "type": "patchouli:text", + "text": "供整合包作者或需要配置的玩家参考:所有$(thing)物品容器$()都有一个“黑名单”标签,包含$(bold)sns:prevented_in_item_containers$()。命名规则为$(bold)prevented_in_$(),例如草篮使用$(bold)sns:prevented_in_straw_basket$()。带有特殊“白名单”标签的$(thing)物品容器$()会在其书页中列出。" + } + ], + "read_by_default": true +} + diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/leather_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/leather_sack.json new file mode 100644 index 000000000..33aaf7edb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/leather_sack.json @@ -0,0 +1,17 @@ +{ + "name": "皮革袋", + "category": "tfc:sacks_n_such", + "icon": "sns:leather_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:leather_sack", + "text": "$(item)皮革袋$()是一种$(l:sns/item_containers)物品容器$(),与小缸相似但容量稍高。默认可容纳至多$(thing)普通$()物品" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/leather_sack" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/lunchbox.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/lunchbox.json new file mode 100644 index 000000000..098660e42 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/lunchbox.json @@ -0,0 +1,18 @@ +{ + "name": "午餐盒", + "category": "tfc:sacks_n_such", + "icon": "sns:lunchbox", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:lunchbox", + "text": "$(item)午餐盒$()是一种颇为实用的$(l:sns/item_containers)物品容器$()。顾名思义,它专用于盛装各类食物,甚至允许你直接从中取用。按下$(k:sneak)键+$(k:use)键开启午餐盒,按住$(k:sneak)键+滚动鼠标滑轮选择要食用的堆叠物品,按下$(k:use)键即可食用选中的食物。" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/lunchbox", + "text": "对于模组包作者,或希望添加额外食物的玩家,请参阅物品标签$(bold)sns:lunchbox_food$()——大多数附加内容都应会自动获得支持。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/mob_net.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/mob_net.json new file mode 100644 index 000000000..6872bff82 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/mob_net.json @@ -0,0 +1,17 @@ +{ + "name": "捕捉网", + "category": "tfc:sacks_n_such", + "icon": "sns:mob_net", + "pages": [ + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/mob_net", + "text": "捕捉网在捕获小型生物方面极为实用。它们最常见的用途是运输诸如鸟类,或是较大型生物(如牛)的幼崽等生物。" + }, + { + "type": "patchouli:text", + "text": "对于模组包作者,或仅是希望添加额外生物的玩家,请参阅实体标签 $(bold)sns:netable_mobs" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/ore_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/ore_sack.json new file mode 100644 index 000000000..0fbb20f0e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/ore_sack.json @@ -0,0 +1,18 @@ +{ + "name": "矿石袋", + "category": "tfc:sacks_n_such", + "icon": "sns:ore_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:ore_sack", + "text": "$(item)矿石袋$()是一种$(l:sns/item_containers)物品容器$(),旨在容纳大量某单一矿石类物品,在采矿中极其实用。$(br2)默认每格可堆叠高达 512 个矿石" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/ore_sack", + "text": "供整合包作者或希望添加更多矿石的玩家参考,请查看物品标签 $(bold)sns:allowed_in_ore_sack$(),大多数附加内容应会被自动支持" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/quiver.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/quiver.json new file mode 100644 index 000000000..cbbb3c366 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/quiver.json @@ -0,0 +1,18 @@ +{ + "name": "箭筒", + "category": "tfc:sacks_n_such", + "icon": "sns:quiver", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:quiver", + "text": "$(item)箭筒$() 是每位射手的伙伴,无论你钟情 $(item)标枪$() 还是喜欢弓。$(br)使用弓时会优先从箭筒中消耗“弹药”,投掷标枪时也会补回。" + }, + { + "type": "tfc:knapping_recipe", + "recipe": "sns:leather_knapping/quiver", + "text": "供整合包作者或希望支持额外“弹药”的玩家参考:请查看物品标签 $(bold)sns:allowed_in_quiver$()。请注意,标枪的补回仅对 TFC(或其附加)标枪有效。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/safety_toe_hiking_boots.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/safety_toe_hiking_boots.json new file mode 100644 index 000000000..e237d1b72 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/safety_toe_hiking_boots.json @@ -0,0 +1,22 @@ +{ + "name": "钢头登山靴", + "category": "tfc:sacks_n_such", + "icon": "sns:steel_toe_hiking_boots", + "pages": [ + { + "type": "patchouli:text", + "text": "和$(l:sns/hiking_boots)登山靴$()一样,不过因为拥有钢头而更安全。可惜还没有人发明安全帽。" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/steel_toe_hiking_boots", + "recipe2": "sns:crafting/black_steel_toe_hiking_boots" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/blue_steel_toe_hiking_boots", + "recipe2": "sns:crafting/red_steel_toe_hiking_boots" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/seed_pouch.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/seed_pouch.json new file mode 100644 index 000000000..e52219431 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/seed_pouch.json @@ -0,0 +1,18 @@ +{ + "name": "种子袋", + "category": "tfc:sacks_n_such", + "icon": "sns:seed_pouch", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:seed_pouch", + "text": "$(item)种子袋$()是一种$(l:sns/item_containers)物品容器$(),用于容纳多种种子,在务农时非常实用。$(br2)默认拥有 27 个格子,每格可容纳 64 颗种子" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/seed_pouch", + "text": "供整合包作者或希望添加更多种子的玩家参考,请查看物品标签$(bold)sns:allowed_in_seed_pouch$(),大多数附加内容应会被自动支持" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/straw_basket.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/straw_basket.json new file mode 100644 index 000000000..68ac2f945 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/sns/straw_basket.json @@ -0,0 +1,17 @@ +{ + "name": "草篮", + "category": "tfc:sacks_n_such", + "icon": "sns:straw_basket", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:straw_basket", + "text": "$(item)草篮$()是一种$(l:sns/item_containers)物品容器$(),基本上就是更便宜的容器。默认可容纳至多$(thing)小型$()物品" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/straw_basket" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/casting_chocolate.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/casting_chocolate.json new file mode 100644 index 000000000..3bae3cad0 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/casting_chocolate.json @@ -0,0 +1,40 @@ +{ + "name": "巧克力浇注", + "category": "tfc:tfcchannelcasting", + "icon": "tfcchannelcasting:food/milk_chocolate_heart", + "pages": [ + { + "type": "patchouli:text", + "text": "下述内容仅在安装 Firmalife 时可用。$(thing)巧克力$()不必只是无聊的巧克力棒!将$(thing)白巧克力$()、$(thing)牛奶巧克力$()或$(thing)黑巧克力$()在$(thing)小缸$()或$(thing)坩埚$()中熔化后,浇注进模具即可得到巧克力点心。点心共有三种:$(thing)心型$()、$(thing)钟$()与$(thing)刀$(),分别由不同模具浇注获得。" + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfcchannelcasting:clay_knapping/unfired_heart_mold", + "text": "捏制一个$(thing)心型模具$(),用来制作$(thing)心型$()巧克力。" + }, + { + "type": "patchouli:text", + "text": "巧克力点心提供与巧克力棒相同的营养,但食用更快。若在特定月份制作,还会获得使营养翻倍的特质:$(thing)巧克力心型$()在二月获得$(thing)浪漫$(),$(thing)黑巧克力冬铃$()在十二月获得$(thing)节庆$(),$(thing)黑巧克力刀$()在十月获得$(thing)惊悚$()。" + }, + { + "type": "patchouli:text", + "text": "此外,点心可以做成$(thing)夹心$()以获得额外收益:夹心$(thing)果酱$()会额外提供$(thing)水果$()营养,夹心$(thing)酒精$()会给予正面药水效果。" + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfcchannelcasting:barrel/fill_with_sweet_liquor", + "text": "食用$(thing)甜酒夹心$()巧克力会获得速度提升。" + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfcchannelcasting:barrel/fill_with_strong_liquor", + "text": "食用$(thing)烈酒夹心$()巧克力会获得伤害抗性。" + }, + { + "type": "tfc:sealed_barrel_recipe", + "recipe": "tfcchannelcasting:barrel/fill_with_whiskey", + "text": "食用$(thing)威士忌夹心$()巧克力会获得急迫效果。" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/channel_casting.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/channel_casting.json new file mode 100644 index 000000000..3ec0c98b1 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfcchannelcasting/channel_casting.json @@ -0,0 +1,39 @@ +{ + "name": "浇注道铸造", + "category": "tfc:tfcchannelcasting", + "icon": "tfcchannelcasting:channel", + "pages": [ + { + "type": "patchouli:text", + "text": "你可以使用$(thing)浇注道$()与$(thing)模具台$(),从$(thing)坩埚$()同时向多个模具浇注金属。只需用$(thing)浇注道$()把$(thing)模具台$()与$(thing)坩埚$()连接,然后右键点击$(thing)坩埚$()旁边的$(thing)浇注道$()。手持$(l:getting_started/pottery#mold)模具$()对$(thing)模具台$()按住潜行并右键以放置或移除。" + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfcchannelcasting:fire_clay_knapping/unfired_channel_4", + "text": "捏制数个$(thing)未烧制的浇注道$()。" + }, + { + "type": "tfc:knapping_recipe", + "recipe": "tfcchannelcasting:fire_clay_knapping/unfired_mold_table", + "text": "捏制一个$(thing)未烧制的模具台$()。" + }, + { + "type": "tfc:heat_recipe", + "recipe": "tfcchannelcasting:heating/channel", + "text": "浇注道与模具台捏制完成后,需要像任意陶器一样进行$(thing)烧制$()。" + }, + { + "type": "patchouli:multiblock", + "multiblock_id": "tfcchannelcasting:example", + "name": "浇注铸造示例", + "text": "", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "$(li)对$(thing)模具台$()使用风箱可更快冷却金属。$()$(li)用红石脉冲激活$(thing)浇注道$()会开始倾倒金属。$()$(li)$(thing)模具台$()会输出比较器信号。", + "title": "自动化" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/anvil_working_guide.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/anvil_working_guide.json new file mode 100644 index 000000000..dd70611b6 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/anvil_working_guide.json @@ -0,0 +1,174 @@ +{ + "name": "砧具锻造指南", + "icon": "gtceu:red_steel_hammer", + "category": "tfc:tfg_tips", + "read_by_default": true, + "priority": false, + "pages": [ + { + "type": "patchouli:text", + "title": "砧具锻造", + "text": "在$(l:mechanics/anvils)砧具$()中$(l:mechanics/anvils#working)锻造$()是$(thing)群峦格雷$()整合包中的一个核心流程,你在迈向$(thing)蒸汽与机械时代$()过程中的大部分工作都需在$(l:mechanics/anvils)砧具$()上完成。$(br)本指南分为两部分:$(l:tfg_tips/anvil_working_guide#ui_explained)理解界面$()与$(l:tfg_tips/anvil_working_guide#how_to_perfectly_forge)如何完美锻造$()。$(br2)整合包配有名为$(l:https://www.curseforge.com/minecraft/texture-packs/tfc-anvil-helper)TFC Anvil Helper$()的自定义$(thing)资源包$(),请务必启用以确保本指南内容正常显示。$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui.png" + ], + "border": false, + "text": "启用TFC Anvil Helper后的砧具界面" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false, + "anchor": "ui_explained", + "tile": "界面详解", + "text": "启用TFC Anvil Helper后的砧具界面(颜色标识版)。" + }, + { + "type": "patchouli:text", + "text": "$(#ff0000)1.$() 你在砧上选择制作的物品。每个物品都有特定的$(#be00ff)步骤序列$()和$(#ff6b00)目标加工量$()要求。$(br)$(#ff00c6)2.$() 你正在加工的输入物品。$(br)$(#be00ff)3.$() 物品完成前必须按顺序执行的步骤序列。共有4种序列类型(详见下页):" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false + }, + { + "type": "patchouli:text", + "text": "(注意:X 是任意步骤的通配符)$(br)$(li)x_任意: 步骤可以在最后3个动作中的任意一个发生。$()$(li)x_末尾: 必须是最后一个执行的步骤。$()$(li)x_非最末: 步骤不能是最后一个执行的步骤。$()$(li)x_倒数第二: 必须是倒数第二个步骤。$()$(li)x_倒数第三: 必须是倒数第三个步骤$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false + }, + { + "type": "patchouli:text", + "text": "$(#2e00ff)4.$()步骤类型。每种类型都会增加或减少当前加工值。从左至右、从上到下依次为:$(li)轻击:-3$()$(li)中击:-6$()$(li)冲压:+2$()$(li)弯曲:+7$()$(li)重击:-9$()$(li)牵拉:-15$()$(li)镦锻:+13$()$(li)收缩:+16$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/anvil_ui_marked.png" + ], + "border": false + }, + { + "type": "patchouli:text", + "text": "$(#00a7ff)5.$() 放置锤子和助焊剂(焊接时使用)的槽位。$(br)$(#00ff26)6. $()物品当前的加工量。执行不同步骤会增加或减少此值。$(br)$(#fff400)7. $()目标加工值。$(#00ff26)当前加工量$()必须$(bold)精确$()等于目标值,且完成所有$(#ff00c6)必需步骤$(),物品才算制作完成。$(br)$(#ff6b00)8. $()加工量进度条,用于比对当前加工量与目标加工量。" + }, + { + "type": "patchouli:text", + "anchor": "how_to_perfectly_forge", + "title": "如何完美锻造", + "text": "$(thing)完美锻造$()一个会损耗的物品,比如$(thing)工具头$()、$(thing)武器$()和$(thing)护甲$(),若以更少的步骤完成,成品将获得耐久度和效率上的加成。在极少步骤内完成锻造的物品会成为完美锻造成品,不仅提升最终品质,还能减少锤子本身的磨损。" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/perfectly_forged_item.png" + ], + "border": false, + "text": "一个完美锻造的锻铁镐头" + }, + { + "type": "patchouli:spotlight", + "title": "锻造指南", + "item": "gtceu:wrought_iron_pickaxe_head", + "text": "这部分指南将以锻铁镐头为例,介绍如何达成完美锻造。$(br2)$(bold)$(italic)免责声明:$()$(br)虽然在群峦格雷所有世界中,物品的必需步骤和序列是固定的,但$(bold)目标加工值$()因世界种子而异。因此本指南假设锻铁镐头的目标加工值是$(bold)83$()。" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:text", + "title": "第一步", + "text": "首先,将所有必需步骤的数值相加,得到我们称之为\"必需加工量\"的值。镐头需要以下步骤:$(li)$(bold)冲压$() 末尾$()$(li)$(bold)弯曲$() 非最末$()$(li)$(bold)牵拉$() 非最末$()。$(br)将这些步骤的数值相加:$(br)$(bold)2 (冲压) + 7 (弯曲) + (-15) (牵拉) = -6$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/steps.png" + ], + "text": "制作镐头所需的步骤" + }, + { + "type": "patchouli:text", + "title": "第二步", + "text": "我们的主要目标是将加工量对齐目标值,但同时必须满足步骤序列的要求。因此,直接对齐加工量与目标值并不可行。我们需要根据目标加工值和\"必需加工量\"计算出一个中间值。" + }, + { + "type": "patchouli:text", + "text": "此值的计算方法取决于\"必需加工量\"的正负:$(li)若\"必需加工量\"为正值$()$(li2)从\"目标加工值\"中减去\"必需加工量\"的绝对值$()$(li3)83 - 6 == $(bold)77$()$()$(li)若\"必需加工量\"为负值$()$(li2)将\"必需加工量\"的绝对值加到\"目标加工值\"上$()$(li3)83 + 6 = $(bold)89$()$()" + }, + { + "type": "patchouli:text", + "text": "本例中\"必需加工值\"为 -6,故中间值为 $(bold)89$()。$(br)你可能会问,如何获知精确的目标加工值?砧具界面的进度条会显示。刻度线虽只显示20的倍数,但可通过颜色判断:$(li)浅灰色:代表5的倍数$()$(li)灰色:代表奇数$()$(li)深灰色:代表偶数$()" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/work_bar_numbers.png", + "tfg:textures/gui/field_guide/anvil_working_guide/target_work_for_wrought_iron_pickaxe_head.png" + ] + }, + { + "type": "patchouli:text", + "title": "第三步", + "text": "有了从\"目标加工值\"和\"必需加工值\"推导出的中间值后,我们需要通过锻造使加工量达到这个值。你可以通过手动累加各步骤的数值来完成,或直接参考界面进度条上的\"速查表\"(每种颜色对应一种步骤类型)。$(br)例如:红色 = 收缩 (+16)" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/work_bar_cheat_sheet.png" + ], + "text": "16 + 16 + 16 + 16 + 16 + 7 + 2 = 89" + }, + { + "type": "patchouli:text", + "title": "第四步", + "text": "了解步骤组合后,开始将加工值推进到中间值。对于目标值为83的镐头,需先达到89。因此,我们执行:(收缩 x 5) -> 弯曲 -> 冲压。$(br2)当加工值达到中间值后,严格按必需步骤序列执行:牵拉 -> 弯曲 -> 冲压。搞定!我们成功获得了完美锻造的物品!" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_no_work.png", + "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_some_work.png", + "tfg:textures/gui/field_guide/anvil_working_guide/wrought_iron_pickaxe_head_complete.png" + ], + "text": "未加工的锭 -> 达到目标中间值 -> 执行物品必需步骤后的效果" + }, + { + "type": "patchouli:text", + "title": "其他示例", + "text": "我们再看板材和杆的例子。请注意,目标加工值因世界种子而异,你在游戏中的数值会有所不同。$(br)板材目标值:$(bold)111$()$(br)必需步骤:轻击 x 3(任意顺序)。$(br)\"必须加工值\": -3 x 3 = -9$(br)中间值:111 + 9 = 120。$(br)达成中间值:(收缩 x 5)->(镦锻 x 2)->(冲压 x 2)$(br)完成物品:120 - (轻击 x 3) = $(bold)111$()。两项要求均已满足。" + }, + { + "type": "patchouli:text", + "text": "杆目标值:$(bold)78$()$(br)必需步骤:延展->延展->弯曲$(br)\"必需加工值\": (-15 x 2) + 7 = -23$(br)中间值:78 + 23 = 101。$(br)达成中间值:(收缩 x 5)->(弯曲 x 3)$(br)完成物品:101 - 15 - 15 + 7 = 78。" + }, + { + "type": "patchouli:text", + "title": "其他提示", + "text": "如果某个必需步骤显示为空,则表示这是一个通配符,可以使用任何步骤。$(br2)如果计算失误,你可以随时将物品熔化成锭,这将移除物品的\"已加工\"标签,让你可以重新尝试完美锻造。" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:text", + "text": "恭喜你阅读完本指南!如果你是贡献者并想重新截取本指南的图片,编写时使用的种子是:$(bold)-7291708953208913102$()。你也可以创建一个创造模式世界来亲自测试算法!$(br2)$(br)另外……既然你都读到这里了,如果不想手动计算,可以随时使用这个$(l:https://adrianmiller99.github.io/tfg-anvil-calculator/src/index.html)群峦传说砧计算器$()……" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json new file mode 100644 index 000000000..c4fcfc9da --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json @@ -0,0 +1,42 @@ +{ + "name": "高炉使用技巧", + "icon": "tfc:blast_furnace", + "category": "tfc:tfg_tips", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "title": "群峦传说高炉技巧", + "text": "你终于找到$(item)高岭土$()了,是不是正在激动地准备建造一座五层$(thing)高炉$()了?在你大展身手前,这里有些实用建议!" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:compressed_fireclay", + "text": "在将耐火黏土全部用于制作20块耐火砖前,请注意:进入蒸汽时代后,你可通过$(item)压缩耐火黏土$()(需要蒸汽机器制备黏土粉)仅用黏土制作耐火砖。这能让你节省$(item)高岭土$()与$(item)石墨$()用于制作$(thing)铸造台$()。" + }, + { + "type": "patchouli:spotlight", + "title": "预热金属", + "item": "tfc:firepit", + "text": "要把铁转化为钢,高炉需将内部铁料加热至$(thing)亮白$()。首次运行时,金属会随高炉一同升温。但后续操作即使炉温已达标,仍需重新从冷态加热金属,因此耗时基本不变。" + }, + { + "type": "patchouli:text", + "text": "若金属在加入高炉时已预热,则达到亮白色所需时间将缩短。建议将金属先在$(l:tfc:mechanics/charcoal_forge)木炭炉$()中加热,再投入已预热的高炉以节省时间——对于每次处理量较小的小型高炉尤为有效。" + }, + { + "type": "patchouli:spotlight", + "title": "自动化生产", + "item": "greate:steel_mechanical_pump", + "text": "你在$(thing)蒸汽时代$()与$(thing)低压时代$()将需要大量$(item)钢$()——非常大量的钢。$(thing)电力高炉$()尚遥遥无期,不妨考虑优化当前的炼钢产线。" + }, + { + "type": "patchouli:text", + "text": "你可以使用机械动力的$(item)动力泵$()直接从高炉泵出液态金属。将其导入$(l:tfc:tfcchannelcasting/channel_casting)铸造台$()后,用漏斗或溜槽提取锭——轻松实现自动化!$(br2)还可使用$(item)机械手$()自动拉动风箱!但需注意:过度使用风箱会加速燃料消耗并加快$(thing)吹风管$()的损坏速度。$(br2)产出的$(item)生铁$()与$(item)高碳钢$()可通过$(thing)锻造锤$()进行加工。" + }, + { + "type": "patchouli:text", + "text": "你可以用朝向高炉的漏斗自动替换破损的风管。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json new file mode 100644 index 000000000..5cdd2e8af --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json @@ -0,0 +1,47 @@ +{ + "name": "常见问题解答", + "icon": "minecraft:spyglass", + "category": "tfc:tfg_tips", + "read_by_default": true, + "priority": true, + "pages": [ + { + "type": "patchouli:text", + "title": "FAQs", + "text": "卡住了?请先查阅本书与任务说明,若仍未解决,欢迎在我们的$(l:https://discord.com/invite/AEaCzCTUwQ)Discord$()或$(l:https://www.reddit.com/r/TerraFirmaGreg)Subreddit$()提问!" + }, + { + "type": "patchouli:text", + "text": "$(li)$(l:tfg_tips/faqs#boats)我的船为什么会沉?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作酵母起子?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作菠萝纤维?$()$(li)$(l:tfg_tips/faqs#jam)如何制作果酱?$()$(li)$(l:tfg_tips/faqs#resin)如何制作橡胶?$()$(li)$(l:tfg_tips/faqs#chunks)如何强制加载区块或提升加载上限?$()" + }, + { + "type": "patchouli:text", + "anchor": "boats", + "text": "$(italic)我的船为什么会沉?$()$(br2)请在陆地上建造船只,随后推动或使用$(item)拴绳$()将其送入水域。若船只已沉没,节哀顺变——重造一艘吧。" + }, + { + "type": "patchouli:text", + "anchor": "dried_fruit", + "text": "$(italic)如何制作酵母起子或菠萝纤维?$()$(br2)请先使用$(item)干燥垫$()将水果晒干,随后按照$(l:firmalife/bread)面包$()或$(l:firmalife/berry_bushes)菠萝布$()章节的步骤操作。" + }, + { + "type": "patchouli:text", + "anchor": "jam", + "text": "$(italic)如何制作果酱?$()$(br2)使用$(l:firmalife/oven_appliances#vat)锅$()最为便捷。参照该章节流程操作时请注意:除非需要自动化生产,否则无需制作$(thing)装罐台$()或$(thing)罐盖$()。直接手持空罐右键点击盛有$(thing)果汁液体$()的锅,再次右键即可取得封装完成的果酱。$(br2)务必使用$(item)$(k:sneak)$() + $(item)$(k:use)$()为锅$(bold)盖上盖子$()!" + }, + { + "type": "patchouli:text", + "anchor": "chunks", + "text": "$(italic)如何强制加载区块?$()$(br2)按下$(item)$(k:key.ftbchunks.claim_manager)$()打开地图,按住Shift左键点击区块即可申领。Shift右键点击取消申领。$(br2)若需提升强制加载上限,使用指令$(item)/ftbchunks admin extra_force_load_chunks @p set X$(),其中X为新上限值。" + }, + { + "type": "patchouli:text", + "anchor": "resin", + "text": "$(italic)如何制作橡胶?$()$(br2)黏性树脂不再是你的目标!请先种植若干产$(thing)乳胶$()的树木并制作$(thing)树汁导管$()。将树汁导管安装在树干上(单棵树安装多个树汁导管只会分流产量)。通过$(tfc:mechanics/barrels)木桶$()收集渗出的乳胶。" + }, + { + "type": "patchouli:text", + "text": "最快的方式是在$(l:firmalife/oven_appliances#vat)锅$()中烹炼乳胶:将乳胶与$(item)硫磺粉$()(将格雷科技硫粉放入手推磨获取)放入锅中,加热后使用$(item)$(k:sneak)$() + $(item)$(k:use)$()$(bold)盖上锅盖$()。得到$(thing)硫化乳胶$()后,放入$(thing)真空腔室$()处理即可获得期盼已久的橡胶!$(br2)后续阶段,$(thing)LV离心机$()可直接从产乳胶树木的原木中提取$(thing)生橡胶末$()。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json new file mode 100644 index 000000000..45bee264f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json @@ -0,0 +1,52 @@ +{ + "name": "物品管理", + "category": "tfc:tfg_tips", + "icon": "minecraft:chest", + "read_by_default": true, + "pages": [ + { + "type": "patchouli:text", + "title": "物品管理", + "text": "你已经有几个 $(l:getting_started/pottery#vessel)小缸$() 和一些 $(item)木制箱子$(),但还是堆满了不知该怎么处理的物品。下一步该做什么?$(br2)一个 $(thing)背包$() 可以在基础等级时让你的随身物品栏翻倍,而后续升级还能进一步增加容量!" + }, + { + "type": "patchouli:crafting", + "recipe": "tfg:sophisticated_backpacks/shaped/backpack", + "text": "背包可以携带多个重型物品,也包括像原木堆这样大的物品,而不会让你被限制移动速度。$(br2)你甚至可以用 $(thing)合成升级模块$() 将一个工作台随身携带,走到哪用到哪。" + }, + { + "type": "patchouli:text", + "title": "板条箱", + "anchor": "crates", + "text": "在存储方面,格雷科技提供了$(item)板条箱$(),可容纳背包能存放的所有大型物品,且不同等级的板条箱容量逐级提升。$(br2)若需搭建基础分类系统,可为板条箱安装$(thing)物品过滤卡$()与$(thing)标签过滤卡$()。$(br2)需注意$(thing)物品管道$()不会主动抽取物品,需配合$(thing)溜槽$()或$(thing)漏斗$()将物品推入管道。" + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/wooden_crate", + "recipe2": "gtceu:shaped/bronze_crate" + }, + { + "type": "patchouli:text", + "title": "桶", + "anchor": "drums", + "text": "在流体存储方面,格雷科技提供了$(item)桶$()。与板条箱类似,不同等级的桶可容纳单一流体的容量逐级提升。$(br2)与板条箱不同的是,桶被破坏时将保留内部流体,非常适合转移流体物资。$(br2)使用$(thing)软木槌$()右键点击桶可使其自动从底部面输出流体。" + }, + { + "type": "patchouli:crafting", + "recipe": "gtceu:shaped/bronze_drum", + "text": "把桶放在合成格中可清空其内容物。" + }, + { + "type": "patchouli:spotlight", + "item": "gtceu:lv_super_chest,gtceu:lv_super_tank", + "title": "超级存储", + "text": "你是否正在以工业规模生产某种物品?格雷科技的$(thing)超级箱$()与$(thing)超级缸$()可存储海量的单类物品,并能自动清除溢出部分。" + }, + { + "type": "patchouli:spotlight", + "title": "应用能源 2", + "item": "ae2:drive", + "text": "在 $(thing)HV$() 阶段后解锁,AE2 能提供你想要的所有存储和物流解决方案。" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json new file mode 100644 index 000000000..18893bb4a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json @@ -0,0 +1,574 @@ +{ + "name": "外星作物", + "category": "tfc:tfg_tips", + "icon": "betterend:textures/item/blossom_berry.png", + "pages": [ + { + "type": "patchouli:text", + "title": "外星作物", + "text": "事实证明,地球并不是唯一有生命的天体。在你的旅途中,你可能会遇到其他可以食用的生物。在地球上,它们都有你所熟悉的相同机制(有一些例外),可以根据你的需要在普通农田、$(thing)Firmalife$() $(l:firmalife/greenhouse)温室$()或$(thing)格雷科技$()电力温室中种植。" + }, + { + "type": "patchouli:text", + "text": "$(thing)空气分配器$()也会使一个封闭区域保持稳定的15°C。由于技术原因,在其他行星上无法在Jade信息提示中显示此温度,因此你只能使用物品栏的气候标签来查看温度。$(br2)另一个选择是使用$(thing)Firmalife$()的温室,它没有那么多产出,但也无视所有的气候条件。" + }, + { + "type": "patchouli:text", + "title": "紫颂果", + "text": "$(bold)位置$():月球$(br)$(bold)生物群系$():紫颂森林, 紫颂灌木丛$(br2)紫颂植株以高大的形态生长。破坏茎部不会产生任何东西,而破坏顶部的花朵会产生紫颂果或紫颂花。$(br)紫颂果可以作为$(thing)水果$()食用,烹饪后作为$(item)爆裂紫颂果$()食用,或者可以蒸馏成$(thing)氮气$()。$(br)" + }, + { + "type": "patchouli:multiblock", + "multiblock": { + "pattern": [ + [ + "Z " + ], + [ + "V D" + ], + [ + "EXB" + ], + [ + " V " + ], + [ + " 0 " + ] + ], + "mapping": { + "0": "ad_astra:moon_sand", + "V": "tfg:lunar_chorus_plant[down=true,up=true]", + "E": "tfg:lunar_chorus_plant[south=true,up=true]", + "X": "tfg:lunar_chorus_plant[north=true,down=true,south=true]", + "B": "tfg:lunar_chorus_plant[north=true,up=true]", + "D": "tfg:lunar_chorus_flower[age=5]", + "Z": "tfg:lunar_chorus_flower[age=0]" + } + }, + "text": "$(thing)紫颂花$() 也可以通过手动种在沙砾或沙子上生长", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "title": "琥珀根", + "text": "$(bold)位置$():火星$(br)$(bold)$(l:the_world/climate#temperature)温度$():-150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():0 - 40 %$(br)$(bold)营养物质$():磷$(br2)琥珀根是单方块作物。琥珀新芽种子可以种植在农田上,会产生$(item)琥珀新芽$(),可以作为$(thing)谷物$()食用。" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:amber_root[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)野生琥珀根$() 会在所有气候中,在琥珀菌丝和红锈菌丝上生长。", + "enable_visualize": false + }, + { + "type": "patchouli:text", + "text": "$(bold)位置$():火星$(br)$(bold)$(l:the_world/climate#temperature)温度$():-150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$():0 - 40 %$(br)$(bold)营养物质$():磷$(br2)百花果是单方块作物。百花果树种可以种植在农田上,会产出$(item)百花果$(),可以作为$(thing)水果$()食用。", + "title": "百花果" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:blossom_berry[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)野生百花果$() 会在所有气候中,在琥珀菌丝、红锈菌丝或赤血菌丝上生长。" + }, + { + "type": "patchouli:text", + "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 40 %$(br)$(bold)营养物质$(): 磷$(br2)波鲁克斯菌 是单方块作物。波鲁克斯菌孢子可以种植在农田上,会产出$(item)波鲁克斯菌$(),可以作为$(thing)蔬菜$()食用。$(br2)建议在食用前$(item)烹饪$() 波鲁克斯菌。", + "title": "波鲁克斯菌" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:bolux_mushroom[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)野生波鲁克斯菌丛$() 会在所有气候中,在琥珀菌丝、红锈菌丝或赤血菌丝上生长。" + }, + { + "type": "patchouli:text", + "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -100 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 60 %$(br)$(bold)营养物质$(): 氮$(br2)球茎南瓜 是会伸展的作物。球茎南瓜种子可以种植在农田上,并且当它成熟时,会在它旁边的地上放置最多两个$(item)球茎南瓜方块$()。如果球茎南瓜方块被收获,并且球茎藤重新成熟,它可以长出更多球茎南瓜。球茎南瓜可以作为$(thing)水果$()食用,或者用来生产萤石粉。", + "title": "球茎南瓜" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=0]" + } + }, + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=1]" + } + }, + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=2]" + } + }, + { + "pattern": [ + [ + " ", + " C ", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=3]" + } + }, + { + "pattern": [ + [ + " ", + " CP", + " " + ], + [ + "GGG", + "G0G", + "GGG" + ] + ], + "mapping": { + "G": "tfg:grass/mars_farmland", + "0": "tfg:grass/mars_farmland", + "C": "betterend:cave_pumpkin_plant[age=3,south=true]", + "P": "betterend:cave_pumpkin" + } + } + ], + "text": "$(thing)野生球茎南瓜$() 会在所有气候中,在琥珀菌丝或赤血菌丝上生长。" + }, + { + "type": "patchouli:text", + "title": "查尔米菌丛", + "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 40 %$(br)$(bold)营养物质$(): 磷$(br2)查尔米菌丛是单方块作物。查尔米菌孢子可以种植在农田上,会产出$(item)查尔米菌$(),可以作为$(thing)蔬菜$()食用。$(br2)建议在食用前$(item)烹饪$() 波鲁克斯菌。" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:chorus_mushroom[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)野生查尔米菌丛$() 会在所有气候中,在琥珀菌丝、红锈菌丝和赤血菌丝上生长。" + }, + { + "type": "patchouli:text", + "title": "夜影浆果", + "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -80 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 50 - 100 %$(br)$(bold)营养物质$(): 磷$(br2)夜影浆果是单方块作物。夜影浆果种子可以种植在农田上,会产出$(item)夜影浆果$(),可以作为$(thing)水果$()食用。$(br2)建议在食用前$(item)烹饪$() 夜影浆果。" + }, + { + "type": "tfc:multimultiblock", + "multiblocks": [ + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=0]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=1]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=2]", + "Z": "tfg:grass/mars_farmland" + } + }, + { + "pattern": [ + [ + "Y" + ], + [ + "Z" + ], + [ + "0" + ] + ], + "mapping": { + "Y": "betterend:shadow_berry[age=3]", + "Z": "tfg:grass/mars_farmland" + } + } + ], + "text": "$(thing)野生夜影浆果$() 会在所有气候中,在红锈菌丝和赤血菌丝上生长。" + } + ], + "read_by_default": true, + "extra_recipe_mappings": { + "tfg:lunar_chorus_flower": 2, + "minecraft:chorus_fruit": 2, + "betterend:amber_root_seeds": 4, + "betterend:amber_root_product": 4, + "betterend:blossom_berry_seeds": 6, + "betterend:blossom_berry_product": 6, + "betterend:bolux_mushroom_seeds": 8, + "betterend:bolux_mushroom_product": 8, + "betterend:cave_pumpkin_seeds": 10, + "betterend:cave_pumpkin": 10, + "betterend:chorus_mushroom_seeds": 12, + "betterend:chorus_mushroom_product": 12, + "betterend:shadow_berry_seeds": 14, + "betterend:shadow_berry_product": 14 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json new file mode 100644 index 000000000..8bbbb6f6a --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_fauna.json @@ -0,0 +1,194 @@ +{ + "name": "外星动物", + "category": "tfc:tfg_tips", + "icon": "minecraft:sniffer_egg", + "pages": [ + { + "type": "patchouli:text", + "title": "外星动物", + "text": "太空是许多其他动物的家园,你不会在地球上找到它们。少数动物是敌对的,会攻击玩家,但大多数是友好的。它们只有一小部分可以像地球上的牲畜一样$(l:mechanics/animal_husbandry)驯化$()。$(br)你在其他星球上发现的动物可以分为两类:$(item)热栖$()和$(item)冷栖$()。动物只能在气候与其母行星相似的行星上生存,或者在像地球这样的$(thing)温和$()的行星上生存。" + }, + { + "type": "patchouli:text", + "text": "太空动物不需要含氧环境,但它们会将该区域视为对于其生存\"温和\"的。例如,如果你将冷栖动物(如嗅探兽)带到热行星(如金星),它会着火,除非它在含氧环境中。$(br)这使地球成为建造动物园的理想场所,如果你愿意的话。$(br)你可以使用$(thing)AE2$()的空间存储系统在行星之间运输动物。" + }, + { + "type": "patchouli:spotlight", + "item": "tfg:marker/moon", + "title": "月球动物", + "text": "$(item)月球$()可能相当荒凉,但它仍然有一些动物称其为家。$(br2)尽管温度波动相当极端,它被认为是$(thing)寒冷$()的星球。", + "anchor": "moon" + }, + { + "type": "patchouli:entity", + "entity": "tfg:moon_rabbit{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16,MoonRabbitType:5}", + "scale": 1.3, + "offset": -0.3, + "name": "月兔", + "text": "除了它们的颜色,$(thing)月兔$()与地球兔子有相同的属性。它们也吃紫颂果。" + }, + { + "type": "patchouli:entity", + "entity": "species:limpet", + "scale": 0.8, + "name": "矿壳贝", + "text": "$(thing)矿壳贝$()是一种壳上有矿石的蜗牛。你可以用任何采矿工具获得矿石。它们是友好的,可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "ad_astra:star_crawler", + "scale": 0.4, + "name": "星际爬行者", + "text": "$(thing)星际爬行者$()是一种海星。它们是敌对的,可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "species:birt", + "scale": 0.9, + "name": "哔特", + "text": "$(thing)哔特$()是一种鸟类?它们在巢中产卵,除非被攻击否则是中立的,可以食用。它们的蛋可以投掷来使目标眩晕。" + }, + { + "type": "patchouli:empty", + "draw_filler": true + }, + { + "type": "patchouli:spotlight", + "item": "tfg:marker/mars", + "title": "火星动物", + "text": "$(item)火星$()是环境最接近地球的行星,拥有各种各样的动物可以互动,以及可以喂养它们(和你自己)的作物……除了巨大的沙漠,那里几乎没有任何生命。$(br2)火星是一个$(thing)寒冷$()的行星。", + "anchor": "mars" + }, + { + "type": "patchouli:image", + "images": [ + "tfg:textures/gui/field_guide/sandworm.png" + ], + "border": true, + "title": "沙虫", + "text": "$(thing)沙虫$()会被玩家脚步声惊醒。它们是沙漠中几乎没有其他生命的原因。$(br)" + }, + { + "type": "patchouli:text", + "title": "嗅探兽", + "text": "$(thing)嗅探兽$()是在-30到-102°C之间发现的可驯化动物。它们需要大型巢穴来产卵,可以剪毛获得$(item)矿物富集绒毛$()。它们的蛋可以烹饪或提取奶油。它们吃任何火星作物。", + "anchor": "sniffer" + }, + { + "type": "patchouli:entity", + "entity": "tfg:sniffer{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16}", + "scale": 0.45, + "name": " ", + "text": "一头嗅探兽。" + }, + { + "type": "patchouli:text", + "title": "诡恐鸟", + "text": "$(thing)诡恐鸟$()是在-15到-100°C之间发现的可驯化动物。它们需要大型巢穴来产卵,可以剪毛获得$(item)诡恐鸟羽毛$()。它们的蛋可以烹饪或提取诡恐鸟糖。它们吃任何火星作物。", + "anchor": "wraptor" + }, + { + "type": "patchouli:entity", + "entity": "tfg:wraptor{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16}", + "scale": 0.8, + "name": " ", + "text": "一只诡恐鸟。" + }, + { + "type": "patchouli:text", + "title": "霜原羊", + "text": "偏好低于-108°C的极冷环境,$(thing)霜原羊$()是可驯化动物。它们可以剪毛获得$(item)霜原羊毛$(),一种绝佳的绝缘体。它们吃任何火星作物。", + "anchor": "glacian_sheep" + }, + { + "type": "patchouli:entity", + "entity": "tfg:glacian_ram{NoAI:1b,birth:-100000000L,oldDay:9223372036854775807L,geneticSize:16}", + "scale": 0.7, + "name": " ", + "text": "一只霜原公羊/母羊" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:surfer", + "scale": 0.35, + "offset": 0.2, + "name": "破浪兽", + "text": "$(thing)破浪兽$()是半水生友好动物。你可以用$(item)生鱼$()驯服它们来在水下骑乘。它们也可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:eater", + "scale": 0.5, + "name": "噬颚兽", + "text": "顶级捕食者,$(thing)噬颚兽$()是在-109°C以上发现的敌对动物。如果你能设法击败一只,它们可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "species:cruncher", + "scale": 0.7, + "name": "贪咀兽", + "text": "$(thing)贪咀兽$()是有领地范围的$(item)小boss$()捕食者。喂它们肉来阻止它们的回血。它们也可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:soarer", + "scale": 0.4, + "offset": 1.0, + "name": "翱翔鸟", + "text": "$(thing)翱翔鸟$()是在-106°C以上发现的友好动物。你可以用$(item)生鱼$()驯服它们作为飞行坐骑。它们也可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:glider", + "scale": 0.4, + "offset": 0.2, + "name": "滑翔鸟", + "text": "与它们的名字不同,$(thing)滑翔鸟$()不能被驯服或骑乘。它们是友好的,生活在-105°C以上的区域。它们喜欢音乐,可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:crusher", + "scale": 0.5, + "offset": 0.5, + "name": "碎岩兽", + "text": "$(thing)碎岩兽$()是在-100°C以上区域成群生成的半敌对动物。它们可以被杀死获得肉和硬刺。" + }, + { + "type": "patchouli:entity", + "entity": "species:springling", + "scale": 0.9, + "name": "簧颈兽", + "text": "$(thing)簧颈兽$()是在-108°C以上发现的野生动物。喂它们$(item)树苗$()可以让你骑乘它们并伸展它们极长的脖子。它们也可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "species:goober", + "scale": 0.6, + "name": "黏涕兽", + "text": "$(thing)黏涕兽$()是在-109°C以上发现的懒惰野生动物。它们是友好的,可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:walker", + "scale": 0.6, + "offset": 2.2, + "name": "巨行兽", + "text": "巨大的$(thing)巨行兽$()栖息在-97°C以上的区域。它们是友好的,可以食用。" + }, + { + "type": "patchouli:entity", + "entity": "wan_ancient_beasts:toxlacanth", + "scale": 0.35, + "name": "毒棘鱼", + "text": "$(thing)毒棘鱼$()是水生猎食者。建议从远处杀死它们,并在食用前烹饪它们的肉。" + }, + { + "type": "patchouli:entity", + "entity": "species:stackatick", + "scale": 0.4, + "name": "叠行虫", + "text": "少数能在火星沙漠中生存的动物之一,$(thing)叠行虫$()是中立猎食者。它们也可以食用。" + } + ], + "read_by_default": true +} \ No newline at end of file From 67a2e9355f4bde91061d7b18cc373d9158d47847 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 00:00:53 +0000 Subject: [PATCH 119/628] remove dangling greate wax recipes for vanilla honey + blocks --- kubejs/server_scripts/greate/recipes.removes.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 1adb5d2e5..0f2e9295d 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -111,4 +111,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: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb' }) + event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) } From 7cb10400e2f98970e9198abd8c731cd3ad0b3cd3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 00:26:18 +0000 Subject: [PATCH 120/628] fix some gravel to sand recipes being ulv #2292 --- kubejs/startup_scripts/tfg/constants.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 7964bc271..3695376f9 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -211,24 +211,24 @@ global.HAMMERING = [ // Crushing relationships for manual block hammering, creat { raw: 'tfg:rock/hardened_deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, { raw: 'minecraft:cobbled_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_deepslate', hammered: 'tfc:sand/black', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_deepslate', hammered: 'tfc:sand/black', duration: 70, eu: 16 }, { raw: 'minecraft:blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, { raw: 'tfg:rock/hardened_blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, { raw: 'tfg:rock/cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_blackstone', hammered: 'tfc:sand/black', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_blackstone', hammered: 'tfc:sand/black', duration: 70, eu: 16 }, { raw: 'minecraft:dripstone_block', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, { raw: 'tfg:rock/hardened_dripstone', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, { raw: 'tfg:rock/cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_dripstone', hammered: 'tfc:sand/brown', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_dripstone', hammered: 'tfc:sand/brown', duration: 70, eu: 16 }, { raw: 'beneath:crackrack', hammered: 'tfg:rock/cobble_crackrack', duration: 10, eu: 16 }, { raw: 'tfg:rock/cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_crackrack', hammered: 'tfc:sand/pink', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_crackrack', hammered: 'tfc:sand/pink', duration: 70, eu: 16 }, { raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 16 }, @@ -237,7 +237,7 @@ global.HAMMERING = [ // Crushing relationships for manual block hammering, creat { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, { raw: 'ad_astra:moon_cobblestone', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_moon', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_moon', hammered: 'ad_astra:moon_sand', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_moon', hammered: 'ad_astra:moon_sand', duration: 70, eu: 16 }, { raw: 'ad_astra:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, { raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, @@ -249,14 +249,14 @@ global.HAMMERING = [ // Crushing relationships for manual block hammering, creat { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_glacio', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_glacio', hammered: 'tfc:sand/white', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_glacio', hammered: 'tfc:sand/white', duration: 70, eu: 16 }, // Mars { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, { raw: 'ad_astra:mars_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_mars', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:mars_sand', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:mars_sand', duration: 70, eu: 16 }, { raw: 'minecraft:red_sandstone', hammered: '4x minecraft:red_sand', duration: 10, eu: 16 }, @@ -264,29 +264,29 @@ global.HAMMERING = [ // Crushing relationships for manual block hammering, creat { raw: 'tfg:rock/hardened_red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 16 }, { raw: 'gtceu:red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 16 }, { raw: 'gtceu:mossy_red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_red_granite', hammered: 'minecraft:red_sand', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_red_granite', hammered: 'minecraft:red_sand', duration: 70, eu: 16 }, // Venus { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, { raw: 'ad_astra:venus_cobblestone', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_venus', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_venus', hammered: 'ad_astra:venus_sand', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_venus', hammered: 'ad_astra:venus_sand', duration: 70, eu: 16 }, - { raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 2 }, + { raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 16 }, // Mercury { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_mercury', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_mercury', hammered: 'tfc:sand/red', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_mercury', hammered: 'tfc:sand/red', duration: 70, eu: 16 }, // Europa { raw: 'ad_astra:permafrost', hammered: 'tfg:rock/cobble_permafrost', duration: 10, eu: 16 }, { raw: 'tfg:rock/cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 16 }, { raw: 'tfg:rock/mossy_cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 16 }, - { raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 2 }, + { raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 16 }, // Misc { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 16 }, From f4a4cfc94da2eca6544ff5cc1a267281b22fcb53 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 00:26:40 +0000 Subject: [PATCH 121/628] fixed some norite items crushing into nothing --- kubejs/server_scripts/tfg/recipes.rocks.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index c69181515..6a657eb6e 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -573,19 +573,19 @@ function registerTFGRockRecipes(event) { dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy { raw: 'tfg:rock/polished_moon_deepslate', stair: 'tfg:rock/polished_moon_deepslate_stairs', slab: 'tfg:rock/polished_moon_deepslate_slab', wall: 'tfg:rock/polished_moon_deepslate_wall', - dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Smooth + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Smooth { raw: 'tfg:rock/bricks_moon_deepslate', stair: 'tfg:rock/bricks_moon_deepslate_stairs', slab: 'tfg:rock/bricks_moon_deepslate_slab', wall: 'tfg:rock/bricks_moon_deepslate_wall', - dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks { raw: 'tfg:rock/cracked_bricks_moon_deepslate', stair: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', slab: 'tfg:rock/cracked_bricks_moon_deepslate_slab', wall: 'tfg:rock/cracked_bricks_moon_deepslate_wall', - dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked { raw: 'tfg:rock/mossy_bricks_moon_deepslate', stair: 'tfg:rock/mossy_bricks_moon_deepslate_stairs' , slab: 'tfg:rock/mossy_bricks_moon_deepslate_slab', wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', - dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy { raw: 'tfg:rock/chiseled_bricks_moon_deepslate', stair: 'tfg:rock/chiseled_bricks_moon_deepslate_stairs', slab: 'tfg:rock/chiseled_bricks_moon_deepslate_slab', wall: 'tfg:rock/chiseled_bricks_moon_deepslate_wall', - dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Extra + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Extra // Permafrost { raw: 'ad_astra:permafrost', stair: 'tfg:rock/permafrost_stairs', slab: 'tfg:rock/permafrost_slab', wall: 'tfg:rock/permafrost_wall', From 0403d07877340bdf8acae18af071d7b1efc39c27 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 00:34:38 +0000 Subject: [PATCH 122/628] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11f26d331..4c9858170 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Fixed some quest typos @Pyritie - Fixed duplicate bed dyeing recipe (#2229) @Pyritie - Fixed Basic Hermetic Casing missing a mineable tag and loot table (#2221) @Pyritie +- Fixed some inconsistencies with gravel to sand recipe tiers (#2292) @Pyritie ### Translation updates ## [0.11.8] - 19-11-2025 From fd666777c89716dd41663f7a2fcd18f068b1cd50 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 00:35:25 +0000 Subject: [PATCH 123/628] langs --- kubejs/assets/ad_astra/lang/ja_jp.json | 6 +- kubejs/assets/beneath/lang/zh_cn.json | 260 ++++++++- kubejs/assets/create/lang/ja_jp.json | 24 +- kubejs/assets/createdeco/lang/ja_jp.json | 140 ++--- kubejs/assets/deafission/lang/ja_jp.json | 32 ++ kubejs/assets/gtceu/lang/ja_jp.json | 44 +- kubejs/assets/tacz/lang/en_us.json | 2 +- kubejs/assets/tacz/lang/zh_cn.json | 4 + kubejs/assets/tfclunchbox/lang/ja_jp.json | 32 ++ kubejs/assets/tfg/lang/ja_jp.json | 664 ++++++++++++---------- kubejs/assets/tfg/lang/zh_cn.json | 62 +- 11 files changed, 834 insertions(+), 436 deletions(-) create mode 100644 kubejs/assets/deafission/lang/ja_jp.json create mode 100644 kubejs/assets/tfclunchbox/lang/ja_jp.json diff --git a/kubejs/assets/ad_astra/lang/ja_jp.json b/kubejs/assets/ad_astra/lang/ja_jp.json index b858835ca..154e7095d 100644 --- a/kubejs/assets/ad_astra/lang/ja_jp.json +++ b/kubejs/assets/ad_astra/lang/ja_jp.json @@ -112,14 +112,14 @@ "entity.ad_astra.corrupted_lunarian": "月面ゾンビ", "entity.ad_astra.martian_raptor": "スケルタルラプター", "entity.ad_astra.tier_1_rocket": "R-AS製ロケット", - "entity.ad_astra.tier_2_rocket": "ASM 4914 チタニウム製ロケット", + "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": "R-AS製ロケット", - "item.ad_astra.tier_2_rocket": "ASM 4914 チタニウム製ロケット", + "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": "探査車", @@ -145,7 +145,7 @@ "tagprefix.venus_stone": "%s鉱石(粗面岩)", "tagprefix.mercury_stone": "%s鉱石(コマチアイト)", "tagprefix.glacio_stone": "%s鉱石(響岩)", - "info.ad_astra.solar_panel": "Generates energy from the sun during the day. Note that the energy generated is dependent on the planet.", + "info.ad_astra.solar_panel": "日中に太陽光から発電します。発電量は惑星によって異なることに注意してください。", "tooltip.ad_astra.energy": "%s FE / %s FE", "tooltip.ad_astra.energy_generation_per_tick": "Generates %s FE per tick", "tooltip.ad_astra.energy_in": "In: %s FE/t", diff --git a/kubejs/assets/beneath/lang/zh_cn.json b/kubejs/assets/beneath/lang/zh_cn.json index 94c67e3f6..693b8d42b 100644 --- a/kubejs/assets/beneath/lang/zh_cn.json +++ b/kubejs/assets/beneath/lang/zh_cn.json @@ -9,19 +9,261 @@ "block.beneath.ore.blackstone_sylvite": "钾石盐矿石", "block.beneath.crackrack": "角斑岩", "block.beneath.soul_clay": "泥泞黏土", - "block.beneath.wood.log.crimson": "绯红菌柄", - "block.beneath.wood.stripped_log.crimson": "去皮绯红菌柄", - "block.beneath.wood.wood.crimson": "绯红菌核", - "block.beneath.wood.stripped_wood.crimson": "去皮绯红菌核", + "block.beneath.wood.log.crimson": "绯红木原木", + "block.beneath.wood.stripped_log.crimson": "去皮绯红木原木", + "block.beneath.wood.wood.crimson": "绯红木", + "block.beneath.wood.stripped_wood.crimson": "去皮绯红木", "block.beneath.wood.fallen_leaves.crimson": "绯红瓣叶落叶", "block.beneath.wood.leaves.crimson": "绯红瓣叶", - "block.beneath.wood.log.warped": "诡异菌柄", - "block.beneath.wood.stripped_log.warped": "去皮诡异菌柄", - "block.beneath.wood.wood.warped": "诡异菌核", - "block.beneath.wood.stripped_wood.warped": "去皮诡异菌核", + "block.beneath.wood.log.warped": "诡异木原木", + "block.beneath.wood.stripped_log.warped": "去皮诡异木原木", + "block.beneath.wood.wood.warped": "诡异木", + "block.beneath.wood.stripped_wood.warped": "去皮诡异木", "block.beneath.wood.fallen_leaves.warped": "诡异瓣叶落叶", "block.beneath.wood.leaves.warped": "诡异瓣叶", - "block.beneath.ancient_altar": "辉石岩基座", + "block.beneath.ancient_altar": "远古祭坛", + "item.beneath.wood.lumber.crimson": "绯红木材", + "item.beneath.wood.sign.crimson": "绯红木告示牌", + "item.beneath.wood.boat.crimson": "绯红木船", + "block.beneath.wood.twig.crimson": "绯红树枝", + "item.beneath.wood.chest_minecart.crimson": "绯红木运输矿车", + "block.beneath.wood.potted_sapling.crimson": "绯红树幼苗盆栽", + "block.beneath.wood.planks.crimson": "绯红木板", + "block.beneath.wood.planks.crimson_tool_rack": "绯红木工具架", + "block.beneath.wood.planks.crimson_loom": "绯红木织机", + "block.beneath.wood.planks.crimson_bookshelf": "绯红木书架", + "block.beneath.wood.planks.crimson_workbench": "绯红木工作台", + "block.beneath.wood.vertical_support.crimson": "绯红木支撑梁", + "block.beneath.wood.horizontal_support.crimson": "绯红木支撑梁", + "item.beneath.wood.support.crimson": "绯红木支撑梁", + "block.beneath.wood.chest.crimson": "绯红木箱子", + "block.beneath.wood.trapped_chest.crimson": "绯红木陷阱箱", + "block.beneath.wood.sluice.crimson": "绯红木洗矿槽", + "block.beneath.wood.planks.crimson_sign": "绯红木告示牌", + "block.beneath.wood.planks.crimson_wall_sign": "绯红木告示牌", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.crimson": "铋青铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.crimson": "墙上的铋青铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.black_bronze.crimson": "黑青铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.crimson": "墙上的黑青铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.bronze.crimson": "青铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bronze.crimson": "墙上的青铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.copper.crimson": "铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.copper.crimson": "墙上的铜绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.wrought_iron.crimson": "锻铁绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.crimson": "墙上的锻铁绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.steel.crimson": "钢绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.steel.crimson": "墙上的钢绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.black_steel.crimson": "黑钢绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.crimson": "墙上的黑钢绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.blue_steel.crimson": "蓝钢绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.crimson": "墙上的蓝钢绯红木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.red_steel.crimson": "红钢绯红木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.crimson": "墙上的红钢绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.bismuth_bronze.crimson": "铋青铜绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.black_bronze.crimson": "黑青铜绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.bronze.crimson": "青铜绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.copper.crimson": "铜绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.wrought_iron.crimson": "锻铁绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.steel.crimson": "钢绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.black_steel.crimson": "黑钢绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.blue_steel.crimson": "蓝钢绯红木悬挂式告示牌", + "item.beneath.wood.hanging_sign.red_steel.crimson": "红钢绯红木悬挂式告示牌", + "block.beneath.wood.barrel.crimson": "绯红木大桶", + "block.beneath.wood.lectern.crimson": "绯红木讲台", + "block.beneath.wood.scribing_table.crimson": "绯红木书写桌", + "block.beneath.wood.sewing_table.crimson": "绯红木缝纫桌", + "block.beneath.wood.jar_shelf.crimson": "绯红木橱柜", + "block.beneath.wood.axle.crimson": "绯红木传动轴", + "block.beneath.wood.bladed_axle.crimson": "绯红木叶片传动轴", + "block.beneath.wood.encased_axle.crimson": "绯红木封闭传动轴", + "block.beneath.wood.clutch.crimson": "绯红木离合器", + "block.beneath.wood.gear_box.crimson": "绯红木齿轮箱", + "block.beneath.wood.windmill.crimson": "绯红木风车", + "block.beneath.wood.water_wheel.crimson": "绯红木水车", + "block.beneath.wood.planks.crimson_door": "绯红木门", + "block.beneath.wood.planks.crimson_trapdoor": "绯红木活板门", + "block.beneath.wood.planks.crimson_fence": "绯红木栅栏", + "block.beneath.wood.planks.crimson_log_fence": "绯红木原木栅栏", + "block.beneath.wood.planks.crimson_fence_gate": "绯红木栅栏门", + "block.beneath.wood.planks.crimson_button": "绯红木按钮", + "block.beneath.wood.planks.crimson_pressure_plate": "绯红木压力板", + "block.beneath.wood.planks.crimson_slab": "绯红木台阶", + "block.beneath.wood.planks.crimson_stairs": "绯红木楼梯", + "block.beneath.wood.sapling.crimson": "绯红树苗", + "item.beneath.wood.lumber.warped": "诡异木材", + "item.beneath.wood.sign.warped": "诡异木告示牌", + "item.beneath.wood.boat.warped": "诡异木船", + "block.beneath.wood.twig.warped": "诡异树枝", + "item.beneath.wood.chest_minecart.warped": "诡异木运输矿车", + "block.beneath.wood.potted_sapling.warped": "诡异树幼苗盆栽", + "block.beneath.wood.planks.warped": "诡异木板", + "block.beneath.wood.planks.warped_tool_rack": "诡异木工具架", + "block.beneath.wood.planks.warped_loom": "诡异木织机", + "block.beneath.wood.planks.warped_bookshelf": "诡异木书架", + "block.beneath.wood.planks.warped_workbench": "诡异木工作台", + "block.beneath.wood.vertical_support.warped": "诡异木支撑梁", + "block.beneath.wood.horizontal_support.warped": "诡异木支撑梁", + "item.beneath.wood.support.warped": "诡异木支撑梁", + "block.beneath.wood.chest.warped": "诡异木箱子", + "block.beneath.wood.trapped_chest.warped": "诡异木陷阱箱", + "block.beneath.wood.sluice.warped": "诡异木洗矿槽", + "block.beneath.wood.planks.warped_sign": "诡异木告示牌", + "block.beneath.wood.planks.warped_wall_sign": "诡异木告示牌", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.warped": "铋青铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.warped": "墙上的铋青铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.black_bronze.warped": "黑青铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.warped": "墙上的黑青铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.bronze.warped": "青铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bronze.warped": "墙上的青铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.copper.warped": "铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.copper.warped": "墙上的铜诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.wrought_iron.warped": "锻铁诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.warped": "墙上的锻铁诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.steel.warped": "钢诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.steel.warped": "墙上的钢诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.black_steel.warped": "黑钢诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.warped": "墙上的黑钢诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.blue_steel.warped": "蓝钢诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.warped": "墙上的蓝钢诡异木悬挂式告示牌", + "block.beneath.wood.planks.hanging_sign.red_steel.warped": "红钢诡异木悬挂式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.warped": "墙上的红钢诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.bismuth_bronze.warped": "铋青铜诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.black_bronze.warped": "黑青铜诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.bronze.warped": "青铜诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.copper.warped": "铜诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.wrought_iron.warped": "锻铁诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.steel.warped": "钢诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.black_steel.warped": "黑钢诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.blue_steel.warped": "蓝钢诡异木悬挂式告示牌", + "item.beneath.wood.hanging_sign.red_steel.warped": "红钢诡异木悬挂式告示牌", + "block.beneath.wood.barrel.warped": "诡异木大桶", + "block.beneath.wood.lectern.warped": "诡异木讲台", + "block.beneath.wood.scribing_table.warped": "诡异木书写桌", + "block.beneath.wood.sewing_table.warped": "诡异木缝纫桌", + "block.beneath.wood.jar_shelf.warped": "诡异木橱柜", + "block.beneath.wood.axle.warped": "诡异木传动轴", + "block.beneath.wood.bladed_axle.warped": "诡异木叶片传动轴", + "block.beneath.wood.encased_axle.warped": "诡异木封闭传动轴", + "block.beneath.wood.clutch.warped": "诡异木离合器", + "block.beneath.wood.gear_box.warped": "诡异木齿轮箱", + "block.beneath.wood.windmill.warped": "诡异木风车", + "block.beneath.wood.water_wheel.warped": "诡异木水车", + "block.beneath.wood.planks.warped_door": "诡异木门", + "block.beneath.wood.planks.warped_trapdoor": "诡异木活板门", + "block.beneath.wood.planks.warped_fence": "诡异木栅栏", + "block.beneath.wood.planks.warped_log_fence": "诡异木原木栅栏", + "block.beneath.wood.planks.warped_fence_gate": "诡异木栅栏门", + "block.beneath.wood.planks.warped_button": "诡异木按钮", + "block.beneath.wood.planks.warped_pressure_plate": "诡异木压力板", + "block.beneath.wood.planks.warped_slab": "诡异木台阶", + "block.beneath.wood.planks.warped_stairs": "诡异木楼梯", + "block.beneath.wood.sapling.warped": "诡异树苗", + "beneath.creative_tab.beneath": "幽冥之地道具", + "entity.beneath.leviathan_fireball": "烈焰海怪火球", + "entity.beneath.blaze_leviathan": "烈焰海怪", + "entity.beneath.red_elk": "红麋鹿", + "beneath.nutrient.decay": "腐化: §e%s%%", + "beneath.nutrient.death": "死亡: §7%s%%", + "beneath.nutrient.destruction": "毁灭: §6%s%%", + "beneath.nutrient.flame": "烈焰: §c%s%%", + "beneath.nutrient.sorrow": "悲伤: §9%s%%", + "beneath.block_entity.hellforge": "地狱熔炉", + "beneath.screen.juicer": "榨汁器", + "beneath.screen.juicer.mushrooms": "喂我一些蘑菇!", + "beneath.screen.lost_page": "失落书页", + "beneath.screen.lost_page.cost": "代价", + "beneath.screen.lost_page.reward": "奖励", + "beneath.screen.lost_page.punishment": "惩罚", + "beneath.lost_page.cobble": "任何圆石", + "beneath.punishment": "你受到了... %s的惩罚", + "beneath.enum.punishment.none": "没有任何惩罚!", + "beneath.enum.punishment.levitation": "飘浮!", + "beneath.enum.punishment.drunkenness": "酩酊大醉一整天!", + "beneath.enum.punishment.blaze_inferno": "烈焰人炼狱!", + "beneath.enum.punishment.infestation": "蠹虫侵扰!", + "beneath.enum.punishment.withering": "凋零!", + "beneath.enum.punishment.slime": "史莱姆!", + "beneath.enum.punishment.unknown": "§k未知", + "beneath.sacrifice.error": "献祭错误:未找到材料。", + "item.beneath.juicer.filled": "榨汁器 (%s)", + "death.attack.beneath.sulfur": "%1$s 使用铁制工具开采硫磺,把自己炸飞了。", + "death.attack.beneath.sulfur.player": "%1$s 在试图逃离 %2$s 时使用铁制工具开采硫磺,把自己炸飞了。", + "entity.beneath.boat.crimson": "绯红木船", + "entity.beneath.boat.warped": "诡异木船", + "entity.beneath.chest_boat.crimson": "绯红木运输船", + "entity.beneath.chest_boat.warped": "诡异木运输船", + "item.beneath.gold_chunk": "金块", + "item.beneath.pure_death": "纯净死亡", + "item.beneath.pure_decay": "纯净腐化", + "item.beneath.pure_destruction": "纯净毁灭", + "item.beneath.pure_sorrow": "纯净悲伤", + "item.beneath.pure_flame": "纯净烈焰", + "item.beneath.agonizing_fertilizer": "痛苦肥料", + "item.beneath.crimson_straw": "绯红干草", + "item.beneath.warped_straw": "诡异干草", + "item.beneath.ghost_pepper": "幽灵椒", + "item.beneath.juicer": "榨汁器", + "item.beneath.raw_slime": "生史莱姆", + "item.beneath.lost_page": "失落书页", + "item.beneath.spawn_egg.red_elk": "红麋鹿刷怪蛋", + "block.beneath.ore.poor_nether_gold": "贫瘠下界金矿石", + "block.beneath.ore.poor_nether_gold.prospected": "下界金", + "block.beneath.ore.normal_nether_gold": "普通下界金矿石", + "block.beneath.ore.normal_nether_gold.prospected": "下界金", + "block.beneath.ore.rich_nether_gold": "富集下界金矿石", + "block.beneath.ore.rich_nether_gold.prospected": "下界金", + "block.beneath.ore.nether_pyrite": "下界黄铁矿矿石", + "block.beneath.ore.nether_pyrite.prospected": "下界黄铁矿", + "block.beneath.ore.blackstone_sylvite.prospected": "黑石钾石盐", + "block.beneath.ore.slimed_netherrack": "史莱姆下界岩矿石", + "block.beneath.ore.slimed_netherrack.prospected": "史莱姆下界岩", + "block.minecraft.nether_quartz_ore.prospected": "下界石英", + "block.beneath.haunted_spike": "幽魂尖刺", + "block.beneath.glowstone_spike": "荧石尖刺", + "block.beneath.nether_pebble": "下界岩卵石", + "block.beneath.sulfur": "硫磺", + "block.beneath.crop.crimson_roots": "绯红菌索", + "item.beneath.seeds.crimson_roots": "绯红菌索种子", + "block.beneath.crop.ghost_pepper": "幽灵椒", + "item.beneath.seeds.ghost_pepper": "幽灵椒种子", + "block.beneath.crop.gleamflower": "莹光花", + "item.beneath.seeds.gleamflower": "莹光花种子", + "block.beneath.crop.nether_wart": "下界疣", + "item.beneath.seeds.nether_wart": "下界疣种子", + "block.beneath.crop.warped_roots": "诡异菌索", + "item.beneath.seeds.warped_roots": "诡异菌索种子", + "block.beneath.gleamflower": "莹光花", + "block.beneath.burpflower": "嗝嗝花", + "block.beneath.unposter": "蘑菇培育桶", + "block.beneath.hellforge": "地狱熔炉", + "block.beneath.hellforge_side": "地狱熔炉", + "block.beneath.soul_farmland": "灵魂耕地", + "block.beneath.mushroom.button": "按钮菇", + "item.beneath.food.button": "按钮菇", + "block.beneath.mushroom.chantrelle": "鸡油菌", + "item.beneath.food.chantrelle": "鸡油菌", + "block.beneath.mushroom.death_cap": "毒鹅膏", + "item.beneath.food.death_cap": "毒鹅膏", + "block.beneath.mushroom.destroying_angels": "毁灭天使菇", + "item.beneath.food.destroying_angels": "毁灭天使菇", + "block.beneath.mushroom.fools_funnel": "愚者漏斗菇", + "item.beneath.food.fools_funnel": "愚者漏斗菇", + "block.beneath.mushroom.oyster": "牡蛎菇", + "item.beneath.food.oyster": "牡蛎菇", + "block.beneath.mushroom.parasol": "伞菇", + "item.beneath.food.parasol": "伞菇", + "block.beneath.mushroom.portobello": "双孢蘑菇", + "item.beneath.food.portobello": "双孢蘑菇", + "block.beneath.mushroom.shittake": "香菇", + "item.beneath.food.shittake": "香菇", + "block.beneath.mushroom.sulfur_tuft": "硫磺簇菇", + "item.beneath.food.sulfur_tuft": "硫磺簇菇", + "block.beneath.cobblerack": "卵石岩", + "block.beneath.fungal_cobblerack": "菌丝卵石岩", + "block.beneath.warped_thatch": "诡异干草块", + "block.beneath.crimson_thatch": "绯红干草块", + "block.beneath.hellbricks": "地狱砖", + "tfc.recipe.barrel.tfc.barrel.mortar": "灰泥", "item.beneath.cursed_hide": "耐火皮革", "item.beneath.blackstone_brick": "辉石岩砖", "item.beneath.cursecoal": "无烟煤", diff --git a/kubejs/assets/create/lang/ja_jp.json b/kubejs/assets/create/lang/ja_jp.json index 65b8ba854..eb69abbfb 100644 --- a/kubejs/assets/create/lang/ja_jp.json +++ b/kubejs/assets/create/lang/ja_jp.json @@ -7,18 +7,18 @@ "block.create.weathered_iron_window": "錆びた鋼材の窓", "block.create.industrial_iron_window_pane": "鋼材の板窓", "block.create.weathered_iron_window_pane": "錆びた鋼材の板窓", - "block.create.dark_oak_window": "Hickory Window", - "block.create.dark_oak_window_pane": "Hickory Window Pane", - "block.create.cherry_window": "Fig Window", - "block.create.cherry_window_pane": "Fig Window Pane", - "block.create.spruce_window": "Cypress Window", - "block.create.spruce_window_pane": "Cypress Window Pane", - "block.create.jungle_window": "Teak Window", - "block.create.jungle_window_pane": "Teak Window Pane", - "block.create.birch_window": "Eucalyptus Window", - "block.create.birch_window_pane": "Eucalyptus Window Pane", - "block.create.acacia_window": "Baobab Window", - "block.create.acacia_window_pane": "Baobab Window Pane", + "block.create.dark_oak_window": "ヒッコリーの窓", + "block.create.dark_oak_window_pane": "ヒッコリーの板窓", + "block.create.cherry_window": "ガジュマルの窓", + "block.create.cherry_window_pane": "ガジュマルの板窓", + "block.create.spruce_window": "イトスギの窓", + "block.create.spruce_window_pane": "イトスギの板窓", + "block.create.jungle_window": "チークの窓", + "block.create.jungle_window_pane": "チークの板窓", + "block.create.birch_window": "ユーカリの窓", + "block.create.birch_window_pane": "ユーカリの板窓", + "block.create.acacia_window": "バオバブの窓", + "block.create.acacia_window_pane": "バオバブの板窓", "block.create.andesite_bars": "錫合金格子", "block.create.andesite_belt_funnel": "錬鉄ベルトファンネル", "block.create.andesite_casing": "錬鉄ケーシング", diff --git a/kubejs/assets/createdeco/lang/ja_jp.json b/kubejs/assets/createdeco/lang/ja_jp.json index 9891ebfd7..1dec76260 100644 --- a/kubejs/assets/createdeco/lang/ja_jp.json +++ b/kubejs/assets/createdeco/lang/ja_jp.json @@ -1,73 +1,73 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "block.createdeco.andesite_bars": "Tin Alloy Bars", - "block.createdeco.andesite_bars_overlay": "Tin Alloy Bars Overlay", - "block.createdeco.andesite_window": "Tin Alloy Window", - "block.createdeco.andesite_window_pane": "Tin Alloy Window Pane", - "block.createdeco.andesite_mesh_fence": "Tin Alloy Mesh Fence", - "block.createdeco.andesite_catwalk": "Tin Alloy Catwalk", - "block.createdeco.andesite_catwalk_stairs": "Tin Alloy Catwalk Stairs", - "block.createdeco.andesite_catwalk_railing": "Tin Alloy Catwalk Railing", - "block.createdeco.andesite_support_wedge": "Tin Alloy Support Wedge", - "block.createdeco.andesite_hull": "Tin Alloy Train Hull", - "block.createdeco.andesite_support": "Tin Alloy Support", - "block.createdeco.yellow_andesite_lamp": "Yellow Tin Alloy Cage Lamp", - "block.createdeco.red_andesite_lamp": "Red Tin Alloy Cage Lamp", - "block.createdeco.blue_andesite_lamp": "Blue Tin Alloy Cage Lamp", - "block.createdeco.green_andesite_lamp": "Green Tin Alloy Cage Lamp", - "block.createdeco.andesite_sheet_metal": "Tin Alloy Sheet Metal", - "block.createdeco.andesite_door": "Tin Alloy Door", - "block.createdeco.locked_andesite_door": "Locked Tin Alloy Door", - "block.createdeco.andesite_trapdoor": "Tin Alloy Trapdoor", - "block.createdeco.andesite_facade": "Tin Alloy Facade", - "block.createdeco.iron_bars": "Wrought Iron Bars", - "block.createdeco.iron_bars_overlay": "Wrought Iron Bars Overlay", - "block.createdeco.iron_window": "Wrought Iron Window", - "block.createdeco.iron_window_pane": "Wrought Iron Window Pane", - "block.createdeco.iron_mesh_fence": "Wrought Iron Mesh Fence", - "block.createdeco.iron_catwalk": "Wrought Iron Catwalk", - "block.createdeco.iron_catwalk_stairs": "Wrought Iron Catwalk Stairs", - "block.createdeco.iron_catwalk_railing": "Wrought Iron Catwalk Railing", - "block.createdeco.iron_support_wedge": "Wrought Iron Support Wedge", - "block.createdeco.iron_hull": "Wrought Iron Train Hull", - "block.createdeco.iron_support": "Wrought Iron Support", - "block.createdeco.yellow_iron_lamp": "Yellow Wrought Iron Cage Lamp", - "block.createdeco.red_iron_lamp": "Red Wrought Iron Cage Lamp", - "block.createdeco.blue_iron_lamp": "Blue Wrought Iron Cage Lamp", - "block.createdeco.green_iron_lamp": "Green Wrought Iron Cage Lamp", - "block.createdeco.iron_sheet_metal": "Wrought Iron Sheet Metal", - "block.createdeco.iron_door": "Wrought Iron Door", - "block.createdeco.locked_iron_door": "Locked Wrought Iron Door", - "block.createdeco.iron_trapdoor": "Wrought Iron Trapdoor", - "block.createdeco.iron_facade": "Wrought Iron Facade", - "block.createdeco.iron_coinstack": "Wrought Iron Coinstack", - "block.createdeco.netherite_coinstack": "Blue Steel Coinstack", - "block.createdeco.industrial_iron_coinstack": "Steel Coinstack", - "block.createdeco.industrial_iron_bars": "Steel Bars", - "block.createdeco.industrial_iron_bars_overlay": "Steel Bars Overlay", - "block.createdeco.industrial_iron_window": "Steel Window", - "block.createdeco.industrial_iron_window_pane": "Steel Window Pane", - "block.createdeco.industrial_iron_mesh_fence": "Steel Mesh Fence", - "block.createdeco.industrial_iron_catwalk": "Steel Catwalk", - "block.createdeco.industrial_iron_catwalk_stairs": "Steel Catwalk Stairs", - "block.createdeco.industrial_iron_catwalk_railing": "Steel Catwalk Railing", - "block.createdeco.industrial_iron_support_wedge": "Steel Support Wedge", - "block.createdeco.industrial_iron_hull": "Steel Train Hull", - "block.createdeco.industrial_iron_support": "Steel Support", - "block.createdeco.yellow_industrial_iron_lamp": "Yellow Steel Cage Lamp", - "block.createdeco.red_industrial_iron_lamp": "Red Steel Cage Lamp", - "block.createdeco.blue_industrial_iron_lamp": "Blue Steel Cage Lamp", - "block.createdeco.green_industrial_iron_lamp": "Green Steel Cage Lamp", - "block.createdeco.industrial_iron_sheet_metal": "Steel Sheet Metal", - "block.createdeco.industrial_iron_door": "Steel Door", - "block.createdeco.locked_industrial_iron_door": "Locked Steel Door", - "block.createdeco.industrial_iron_trapdoor": "Steel Trapdoor", - "block.createdeco.industrial_iron_ladder": "Steel Ladder", - "block.createdeco.industrial_iron_facade": "Steel Facade", - "item.createdeco.iron_coin": "Wrought Iron Coin", - "item.createdeco.netherite_coin": "Blue Steel Coin", - "item.createdeco.industrial_iron_coin": "Steel Coin", - "item.createdeco.iron_coinstack": "Wrought Iron Coinstack", - "item.createdeco.netherite_coinstack": "Blue Steel Coinstack", - "item.createdeco.industrial_iron_coinstack": "Steel Coinstack" + "block.createdeco.andesite_bars": "錫合金の格子", + "block.createdeco.andesite_bars_overlay": "錫合金の格子パネル", + "block.createdeco.andesite_window": "錫合金の窓", + "block.createdeco.andesite_window_pane": "錫合金の板窓", + "block.createdeco.andesite_mesh_fence": "錫合金のメッシュフェンス", + "block.createdeco.andesite_catwalk": "錫合金の通路", + "block.createdeco.andesite_catwalk_stairs": "錫合金の通路の階段", + "block.createdeco.andesite_catwalk_railing": "錫合金の通路の手すり", + "block.createdeco.andesite_support_wedge": "錫合金の金具", + "block.createdeco.andesite_hull": "錫合金のトレインハル", + "block.createdeco.andesite_support": "錫合金の支え", + "block.createdeco.yellow_andesite_lamp": "黄色の錫合金のケージランプ", + "block.createdeco.red_andesite_lamp": "赤色の錫合金のケージランプ", + "block.createdeco.blue_andesite_lamp": "青色の錫合金のケージランプ", + "block.createdeco.green_andesite_lamp": "緑色の錫合金のケージランプ", + "block.createdeco.andesite_sheet_metal": "錫合金の板金", + "block.createdeco.andesite_door": "錫合金のドア", + "block.createdeco.locked_andesite_door": "ロックした錫合金のドア", + "block.createdeco.andesite_trapdoor": "錫合金のトラップドア", + "block.createdeco.andesite_facade": "錫合金の外装", + "block.createdeco.iron_bars": "錬鉄の格子", + "block.createdeco.iron_bars_overlay": "錬鉄の格子パネル", + "block.createdeco.iron_window": "錬鉄の窓", + "block.createdeco.iron_window_pane": "錬鉄の板窓", + "block.createdeco.iron_mesh_fence": "錬鉄のメッシュフェンス", + "block.createdeco.iron_catwalk": "錬鉄の通路", + "block.createdeco.iron_catwalk_stairs": "錬鉄の通路の階段", + "block.createdeco.iron_catwalk_railing": "錬鉄の通路の手すり", + "block.createdeco.iron_support_wedge": "錬鉄の金具", + "block.createdeco.iron_hull": "錬鉄のトレインハル", + "block.createdeco.iron_support": "錬鉄の支え", + "block.createdeco.yellow_iron_lamp": "黄色の錬鉄のケージランプ", + "block.createdeco.red_iron_lamp": "赤色の錬鉄のケージランプ", + "block.createdeco.blue_iron_lamp": "青色の錬鉄のケージランプ", + "block.createdeco.green_iron_lamp": "緑色の錬鉄のケージランプ", + "block.createdeco.iron_sheet_metal": "錬鉄の板金", + "block.createdeco.iron_door": "錬鉄のドア", + "block.createdeco.locked_iron_door": "ロックした錬鉄のドア", + "block.createdeco.iron_trapdoor": "錬鉄のトラップドア", + "block.createdeco.iron_facade": "錬鉄の外装", + "block.createdeco.iron_coinstack": "錬鉄のコインの束", + "block.createdeco.netherite_coinstack": "青鋼のコインの束", + "block.createdeco.industrial_iron_coinstack": "鋼鉄のコインの束", + "block.createdeco.industrial_iron_bars": "鋼鉄の格子", + "block.createdeco.industrial_iron_bars_overlay": "鋼鉄のの格子パネル", + "block.createdeco.industrial_iron_window": "鋼鉄の窓", + "block.createdeco.industrial_iron_window_pane": "鋼鉄の板窓", + "block.createdeco.industrial_iron_mesh_fence": "鋼鉄のメッシュフェンス", + "block.createdeco.industrial_iron_catwalk": "鋼鉄の通路", + "block.createdeco.industrial_iron_catwalk_stairs": "鋼鉄の通路の階段", + "block.createdeco.industrial_iron_catwalk_railing": "鋼鉄の通路の手すり", + "block.createdeco.industrial_iron_support_wedge": "鋼鉄の金具", + "block.createdeco.industrial_iron_hull": "鋼鉄のトレインハル", + "block.createdeco.industrial_iron_support": "鋼鉄の支え", + "block.createdeco.yellow_industrial_iron_lamp": "黄色の鋼鉄のケージランプ", + "block.createdeco.red_industrial_iron_lamp": "赤色の鋼鉄のケージランプ", + "block.createdeco.blue_industrial_iron_lamp": "青色の鋼鉄のケージランプ", + "block.createdeco.green_industrial_iron_lamp": "緑色の鋼鉄のケージランプ", + "block.createdeco.industrial_iron_sheet_metal": "鋼鉄の板金", + "block.createdeco.industrial_iron_door": "鋼鉄のドア", + "block.createdeco.locked_industrial_iron_door": "ロックした鋼鉄のドア", + "block.createdeco.industrial_iron_trapdoor": "鋼鉄のトラップドア", + "block.createdeco.industrial_iron_ladder": "鋼鉄のはしご", + "block.createdeco.industrial_iron_facade": "鋼鉄の外装", + "item.createdeco.iron_coin": "錬鉄のコイン", + "item.createdeco.netherite_coin": "青鋼のコイン", + "item.createdeco.industrial_iron_coin": "鋼鉄のコイン", + "item.createdeco.iron_coinstack": "錬鉄のコインの束", + "item.createdeco.netherite_coinstack": "青鋼のコインの束", + "item.createdeco.industrial_iron_coinstack": "鋼鉄のコインの束" } \ No newline at end of file diff --git a/kubejs/assets/deafission/lang/ja_jp.json b/kubejs/assets/deafission/lang/ja_jp.json new file mode 100644 index 000000000..694662cbe --- /dev/null +++ b/kubejs/assets/deafission/lang/ja_jp.json @@ -0,0 +1,32 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.deafission.fission_reactor_mk1": "核分裂炉MK I", + "block.deafission.fission_reactor_mk2": "核分裂炉MK II", + "block.deafission.fuel_holder": "燃料棒格納部", + "deafission.machine.fuel_holder.tooltip": "核分裂反応を安全に行うために、燃料棒を格納するブロックです。", + "block.deafission.material_holder": "マテリアルホルダー", + "deafission.machine.material_holder.tooltip": "熱や放射線を使う核分裂炉のレシピで使用するアイテムを入れるためのコンポーネントブロックです。", + "block.deafission.redstone_port": "レッドストーンポート", + "deafission.machine.redstone_port.tooltip": "レンチでモードを切り替えられます。", + "deafission.redstone_port.mode.heat": "熱", + "deafission.redstone_port.mode.fuels": "燃料", + "deafission.fission_reactor.gui.mode.default": "正常", + "deafission.fission_reactor.gui.mode.cooldown": "クールダウン", + "deafission.fission_reactor.gui.stats": "%s H %s Th %s Eff", + "deafission.fission_reactor.gui.recipe": "レシピ: %s", + "deafission.fission_reactor.gui.recipe_none": "レシピ: 空", + "deafission.fission_reactor.gui.coolant": "冷却材: %s mB/t", + "deafission.fission_reactor.gui.coolant_missing": "冷却材: %s (had %s%%)", + "deafission.fission_reactor.gui.fuel": "燃料: %s 損傷値", + "deafission.fission_reactor.gui.fuel_throttle": "燃料: %s 損傷値 @ %s%%", + "deafission.fission_reactor.gui.cooling": "冷却: %s HU/t", + "deafission.fission_reactor.gui.heating": "加熱: %s HU/t", + "deafission.fission_reactor.gui.processing": "処理: %s HU/t", + "deafission.fission_reactor.gui.mass": "質量: %s HU/°", + "deafission.fission_reactor.gui.heat": "熱量: %s / %s", + "item.deafission.fuelcell_plutonium_x1": "Plutonium Fuel Cell", + "item.deafission.fuelcell_thorium_x1": "Thorium Fuel Cell", + "item.deafission.fuelcell_uranium_x1": "Uranium Fuel Cell", + "material.deafission.flibe": "FLiBe Coolant", + "material.deafission.flibe_hot": "FLiBe Coolant(Hot)" +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 509abe61a..f9f11dabd 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -7,13 +7,13 @@ "block.gtceu.large_solar_panel_tier2": "§b大型ソーラーアレイMK II", "block.gtceu.large_solar_panel_tier3": "§c大型ソーラーアレイMK III", "block.gtceu.gas_pressurizer": "ガス圧縮機", - "block.gtceu.nuclear_fuel_factory": "核分裂燃料形成機", + "block.gtceu.nuclear_fuel_factory": "核燃料形成機", "block.gtceu.heat_exchanger": "熱交換機", "block.gtceu.fission_reactor": "核分裂炉", "block.gtceu.evaporation_tower": "蒸発塔", "block.gtceu.ostrum_harvester": "オストラムハーベスター", "block.gtceu.moon_dust_harvester": "ムーンハーベスター", - "block.gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "block.gtceu.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", "block.gtceu.ulv_super_tank": "基本型スーパータンク", "block.gtceu.ulv_super_chest": "基本型スーパーチェスト", "block.gtceu.ulv_hermetic_casing": "基本気密外装", @@ -39,15 +39,28 @@ "gtceu.large_solar_panel_tier2": "大型ソーラーアレイMK II", "gtceu.large_solar_panel_tier3": "大型ソーラーアレイMK III", "gtceu.gas_pressurizer": "ガス圧縮機", - "gtceu.nuclear_fuel_factory": "核分裂燃料形成機", + "gtceu.nuclear_fuel_factory": "核燃料形成機", + "gtceu.nuclear_turbine": "原子力蒸気タービン", "gtceu.heat_exchanger": "熱交換機", "gtceu.fission_reactor": "核分裂炉", "gtceu.evaporation_tower": "蒸発塔", "gtceu.ostrum_harvester": "オストラムハーベスター", "gtceu.moon_dust_harvester": "ムーンハーベスター", - "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "gtceu.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", + "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", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.\nRequires 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.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", + "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", + "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.\nFueling it with Coke or Anthracite will double the output.\nCan process up to 8 recipes at once, which changes how much Steam is required.§r", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", "item.gtceu.small_wood_dust": "小さな木のパルプ", "item.gtceu.wood_dust": "木のパルプ", @@ -123,15 +136,15 @@ "material.gtceu.etrium": "エトリウム", "material.gtceu.aluminium_silicate": "ケイ酸アルミニウム", "material.gtceu.rocket_alloy_t1": "R-AS ロケット合金", - "material.gtceu.rocket_alloy_t2": "ASM 4914 チタニウム ロケット合金", - "material.gtceu.rocket_alloy_t3": "45-Ti タングステンスチール ロケット合金", + "material.gtceu.rocket_alloy_t2": "ASM-4914 チタニウムロケット合金", + "material.gtceu.rocket_alloy_t3": "45-Ti タングステンスチールロケット合金", "material.gtceu.vitrified_asbestos": "ガラス化した石綿", "material.gtceu.liquid_carbon_dioxide": "液化二酸化炭素", "material.gtceu.hot_debrominated_brine": "Hot Debrominated Brine", "material.gtceu.hydrogen_iodide": "ヨウ化水素 ", - "material.gtceu.dense_steam": "原子力蒸気", + "material.gtceu.dense_steam": "高圧蒸気", "material.gtceu.radioactive_steam": "放射性蒸気", - "material.gtceu.radioactive_waste": "放射性残留物", + "material.gtceu.radioactive_waste": "放射性廃棄物", "material.gtceu.irradiated_steam": "高濃度放射性蒸気", "material.gtceu.heavy_water": "重水", "material.gtceu.uranium_waste": "ウラニウム残留物", @@ -177,13 +190,14 @@ "item.gtceu.tool.butchery_knife.tooltip": "§cButcher:§r Butchers animals for more meat", "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", - "gtceu.jei.bedrock_fluid.moon_helium": "Lunar Helium", - "gtceu.jei.bedrock_fluid.moon_helium_3": "Lunar Helium-3", - "gtceu.jei.bedrock_fluid.moon_argon": "Lunar Argon", - "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "Martian Semiheavy Ammoniacal Water", - "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Martian Liquid Carbon Dioxide", - "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water", - "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice", + "gtceu.jei.bedrock_fluid.moon_helium": "ヘリウム", + "gtceu.jei.bedrock_fluid.moon_helium_3": "ヘリウム3", + "gtceu.jei.bedrock_fluid.moon_argon": "アルゴン", + "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", + "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "液化二酸化炭素", + "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "アンモニア交じりの重水", + "gtceu.jei.bedrock_fluid.liquid_ice": "氷", + "gtceu.recipe.category.ingot_molding": "Material Molding", "tagprefix.sword_head": "%s製剣身", "tagprefix.pickaxe_head": "%s製ピッケルの頭", "tagprefix.shovel_head": "%s製シャベルの頭", diff --git a/kubejs/assets/tacz/lang/en_us.json b/kubejs/assets/tacz/lang/en_us.json index dd65ee5de..396fff866 100644 --- a/kubejs/assets/tacz/lang/en_us.json +++ b/kubejs/assets/tacz/lang/en_us.json @@ -27,8 +27,8 @@ "create_armorer.ammo.rbapb.name": "Rimmed Blunt Ammo", "create_armorer.gun.pistol_auto_stress": "\"Stress\" Semi Pistol", "create_armorer.gun.mg_platemag_flywheel": "\"Flywheel\" Machine Gun", - "create_armorer.gun.sniper_semi_clockwork": "\"Clockwork\" Rifle", "create_armorer.gun.rifle_assult_crane": "\"Crane\" Assault Rifle", + "create_armorer.gun.sniper_semi_clockwork": "\"Clockwork\" Rifle", "tacz.ammo.30_06.name": ".30-06 SLAP Ammo", "tacz.gun.m700.name": "\"Clutch\" Sniper Rifle", "item.tacz.ammo_box.iron": "Steel Ammo Box", diff --git a/kubejs/assets/tacz/lang/zh_cn.json b/kubejs/assets/tacz/lang/zh_cn.json index f3f3d4dc9..d152e2b2b 100644 --- a/kubejs/assets/tacz/lang/zh_cn.json +++ b/kubejs/assets/tacz/lang/zh_cn.json @@ -25,8 +25,12 @@ "create_armorer.attachment.extended_mag_ca_2.name": "镀铜弹匣", "create_armorer.attachment.extended_mag_ca_3.name": "镀黄铜弹匣", "create_armorer.ammo.rbapb.name": "凸缘式钝头弹", + "create_armorer.gun.pistol_auto_stress": "“重压”半自动手枪", "create_armorer.gun.mg_platemag_flywheel": "“飞轮”机枪", "create_armorer.gun.rifle_assult_crane": "“鹤式”突击步枪", + "create_armorer.gun.sniper_semi_clockwork": "“发条”步枪", + "tacz.ammo.30_06.name": ".30-06脱壳穿甲弹", + "tacz.gun.m700.name": "“擒纵”狙击步枪", "item.tacz.ammo_box.iron": "钢弹药盒", "item.tacz.ammo_box.gold": "§9镁铝合金弹药盒", "item.tacz.ammo_box.diamond": "§6戴斯弹药盒" diff --git a/kubejs/assets/tfclunchbox/lang/ja_jp.json b/kubejs/assets/tfclunchbox/lang/ja_jp.json new file mode 100644 index 000000000..928c0fb96 --- /dev/null +++ b/kubejs/assets/tfclunchbox/lang/ja_jp.json @@ -0,0 +1,32 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.tfclunchbox.cooling_lunchbox": "保冷ランチボックス", + "item.tfclunchbox.lunchbox": "ランチボックス", + "item.tfclunchbox.electric_lunchbox": "電気ランチボックス", + "gui.tfclunchbox.cooling_lunchbox": "保冷ランチボックス", + "gui.tfclunchbox.lunchbox": "ランチボックス", + "gui.tfclunchbox.electric_lunchbox": "電気ランチボックス", + "container.tfclunchbox.cooling_lunchbox": "保冷ランチボックス", + "container.tfclunchbox.lunchbox": "ランチボックス", + "container.tfclunchbox.electric_lunchbox": "電気ランチボックス", + "item.tfclunchbox.cooling_lunchbox.main": "中身を新鮮に保ってくれる、冒険のお供", + "item.tfclunchbox.electric_lunchbox.main": "電気の力で食品を冷蔵保存する最先端の弁当箱", + "tooltip.tfclunchbox.cooling_lunchbox.hold_shift": "§eShift§7で詳細を表示", + "tooltip.tfclunchbox.cooling_lunchbox.shift_info": "Ctrl+マウススクロールで中身を選択", + "item.tfclunchbox.simple_lunchbox.main": "シンプルなお弁当箱", + "tooltip.tfclunchbox.simple_lunchbox.hold_shift": "§eShift§7で詳細を表示", + "tooltip.tfclunchbox.simple_lunchbox.shift_info": "Ctrl+マウススクロールで中身を選択", + "tooltip.tfclunchbox.lunchbox.shift": "§eShift§7で詳細を表示", + "tooltip.tfclunchbox.lunchbox.contents": "中身:", + "tooltip.tfclunchbox.ice_slots_help": "保冷材スロット", + "tooltip.tfclunchbox.ice_slots_help.line1": "§7使用可能:", + "tooltip.tfclunchbox.ice_slots_help.line2": "§b•氷ブロック類", + "tooltip.tfclunchbox.ice_slots_help.line3": "§b•ドライアイス", + "tooltip.tfclunchbox.ice_slots_help.line4": "§b•氷泥入りセル", + "tooltip.tfclunchbox.ice_slots_help.line5": "§7入れるとランチボックス内食物を保冷してくれます", + "tooltip.tfclunchbox.battery_slot_help": "バッテリースロット", + "tooltip.tfclunchbox.battery_slot_help.line1": "§7使用可能:", + "tooltip.tfclunchbox.battery_slot_help.line2": "§e•Gregtechのバッテリー", + "tooltip.tfclunchbox.battery_slot_help.line3": "§7バッテリーは放電し、", + "tooltip.tfclunchbox.battery_slot_help.line4": "§7内部の電源を充電する" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index d6fed9bac..19b9dbe61 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -172,6 +172,7 @@ "block.tfg.rock.gravel_deepslate": "混成岩の砂利", "block.tfg.spike.deepslate_spike": "混成岩のつらら石", "block.tfg.loose.deepslate": "混成岩の小石", + "block.tfg.rock.aqueduct_deepslate": "混成岩の用水路", "block.tfg.rock.hardened_blackstone": "硬い輝岩", "block.tfg.rock.cobble_blackstone_stairs": "輝岩の丸石の階段", "block.tfg.rock.cobble_blackstone_slab": "輝岩の丸石のハーフブロック", @@ -213,6 +214,7 @@ "block.tfg.rock.gravel_dripstone": "鍾乳石の砂利", "block.tfg.spike.dripstone_spike": "鍾乳石のつらら石", "block.tfg.loose.dripstone": "鍾乳石の小石", + "block.tfg.rock.aqueduct_dripstone": "鍾乳石の用水路", "block.tfg.rock.crackrack_stairs": "角斑岩の階段", "block.tfg.rock.crackrack_slab": "角斑岩のハーフブロック", "block.tfg.rock.crackrack_wall": "角斑岩の塀", @@ -237,6 +239,7 @@ "block.tfg.rock.mossy_bricks_nether_wall": "苔むした角斑岩のレンガの塀", "block.tfg.rock.gravel_crackrack": "角斑岩の砂利", "block.tfg.loose.crackrack": "角斑岩の小石", + "block.tfg.rock.aqueduct_nether": "角斑岩の用水路", "block.tfg.rock.hardened_moon_stone": "硬い斜長岩", "block.tfg.rock.moon_stone_wall": "斜長岩の塀", "block.tfg.rock.cobble_moon_stone_wall": "斜長岩の丸石の塀", @@ -252,6 +255,7 @@ "block.tfg.rock.gravel_moon": "斜長岩の砂利", "block.tfg.spike.moon_stone_spike": "斜長岩のつらら石", "block.tfg.loose.moon_stone": "斜長岩の小石", + "block.tfg.rock.aqueduct_moon_stone": "斜長岩の用水路", "block.tfg.rock.hardened_moon_deepslate": "硬いノーライト", "block.tfg.rock.moon_deepslate_stairs": "ノーライトの階段", "block.tfg.rock.moon_deepslate_slab": "ノーライトのハーフブロック", @@ -284,6 +288,7 @@ "block.tfg.rock.gravel_moon_deepslate": "ノーライトの砂利", "block.tfg.spike.moon_deepslate_spike": "ノーライトのつらら石", "block.tfg.loose.moon_deepslate": "ノーライトの小石", + "block.tfg.rock.aqueduct_moon_deepslate": "ノーライトの用水路", "block.tfg.rock.hardened_mars_stone": "硬い粘土質岩の", "block.tfg.rock.mars_stone_wall": "粘土質岩の塀", "block.tfg.rock.cobble_mars_stone_wall": "粘土質岩の丸石の塀", @@ -301,6 +306,7 @@ "block.tfg.rock.gravel_mars": "粘土質岩の砂利", "block.tfg.spike.mars_stone_spike": "粘土質岩のつらら石", "block.tfg.loose.mars_stone": "粘土質岩の小石", + "block.tfg.rock.aqueduct_mars_stone": "粘土質岩の用水路", "block.tfg.rock.hardened_venus_stone": "硬い粗面岩", "block.tfg.rock.venus_stone_wall": "粗面岩の塀", "block.tfg.rock.cobble_venus_stone_wall": "粗面岩の丸石の塀", @@ -318,6 +324,7 @@ "block.tfg.rock.gravel_venus": "粗面岩の砂利", "block.tfg.spike.venus_stone_spike": "粗面岩のつらら石", "block.tfg.loose.venus_stone": "粗面岩の小石", + "block.tfg.rock.aqueduct_venus_stone": "粗面岩の用水路", "block.tfg.rock.hardened_mercury_stone": "硬いコマチアイト", "block.tfg.rock.mercury_stone_wall": "コマチアイトの塀", "block.tfg.rock.cobble_mercury_stone_wall": "コマチアイトの丸石の塀", @@ -335,6 +342,7 @@ "block.tfg.rock.gravel_mercury": "コマチアイトの砂利", "block.tfg.spike.mercury_stone_spike": "コマチアイトのつらら石", "block.tfg.loose.mercury_stone": "コマチアイトの小石", + "block.tfg.rock.aqueduct_mercury_stone": "コマチアイトの用水路", "block.tfg.rock.hardened_glacio_stone": "硬い響岩の", "block.tfg.rock.glacio_stone_wall": "響岩の塀", "block.tfg.rock.cobble_glacio_stone_wall": "響岩の丸石の塀", @@ -352,6 +360,7 @@ "block.tfg.rock.gravel_glacio": "響岩の砂利", "block.tfg.spike.glacio_stone_spike": "響岩のつらら石", "block.tfg.loose.glacio_stone": "響岩の小石", + "block.tfg.rock.aqueduct_glacio_stone": "響岩の用水路", "block.tfg.rock.hardened_permafrost": "硬い永久凍土", "block.tfg.rock.permafrost_stairs": "永久凍土の階段", "block.tfg.rock.permafrost_slab": "永久凍土のハーフブロック", @@ -372,6 +381,7 @@ "block.tfg.rock.gravel_permafrost": "永久凍土の砂利", "block.tfg.spike.permafrost_spike": "永久凍土のつらら石", "block.tfg.loose.permafrost": "永久凍土の小石", + "block.tfg.rock.aqueduct_permafrost": "永久凍土の用水路", "block.tfg.rock.hardened_red_granite": "硬い赤色花崗岩", "block.tfg.rock.red_granite_stairs": "赤色花崗岩の階段", "block.tfg.rock.red_granite_slab": "赤色花崗岩のハーフブロック", @@ -397,12 +407,14 @@ "block.tfg.rock.gravel_red_granite": "赤色花崗岩の砂利", "block.tfg.loose.red_granite": "赤色花崗岩の小石", "block.tfg.spike.red_granite_spike": "赤色花崗岩のつらら石", + "block.tfg.rock.aqueduct_red_granite": "赤色花崗岩の用水路", "block.tfg.rock.stone_wall": "石の塀", "block.tfg.rock.smooth_stone_stairs": "磨かれた石の階段", "block.tfg.rock.smooth_stone_wall": "磨かれた石の塀", "block.tfg.rock.cracked_bricks_stone_stairs": "ひび割れた石のレンガの階段", "block.tfg.rock.cracked_bricks_stone_slab": "ひび割れた石のレンガのハーフブロック", "block.tfg.rock.cracked_bricks_stone_wall": "ひび割れた石のレンガの塀", + "block.tfg.rock.aqueduct_stone": "石レンガの用水路", "block.tfg.rock.smooth_red_sandstone_wall": "滑らかな赤鉄質の砂岩の塀", "block.tfg.rock.cut_red_sandstone_wall": "研がれた赤鉄質の砂岩の塀", "block.tfg.rock.raw.stromatolite": "ストロマトライト", @@ -560,9 +572,9 @@ "block.tfg.casings.bioculture_rotor_primary": "Primary Bioculture Rotor", "block.tfg.casings.bioculture_rotor_secondary": "Secondary Bioculture Rotor", "block.tfg.casings.machine_casing_ostrum_carbon": "オストラム製マシン外装", - "block.tfg.casings.heat_pipe_casing": "熱伝導パイプ外装", - "block.tfg.glacian_wool_frame": "氷塊羊毛の枠組み", - "block.tfg.aes_insulation_frame": "AES断熱材の枠組み", + "block.tfg.casings.heat_pipe_casing": "ヒートパイプ外装", + "block.tfg.glacian_wool_frame": "氷塊羊毛の耐熱フレーム", + "block.tfg.aes_insulation_frame": "AES断熱材の耐熱フレーム", "block.tfg.sand.fluorapatite.blue": "青いフッ素燐灰石の砂", "block.tfg.sandstone.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩の塀", @@ -645,11 +657,16 @@ "block.tfg.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Sample Rack", "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizing Pipes", + "block.tfg.moderate_core": "モデレートコア", + "block.tfg.impure_moderate_core": "不純なモデレートコア", + "block.tfg.moderate_core_frame": "モデレートコアフレーム", + "block.tfg.impure_moderate_core_frame": "不純なモデレートコアフレーム", "fluid.tfg.nether_slurry": "ネザー泥漿", "fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry", "fluid.tfg.ender_slurry": "エンダー泥漿", "fluid.tfg.enriched_ender_slurry": "Enriched Ender Slurry", "fluid.tfg.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", + "fluid.tfg.heavy_ammoniacal_water": "アンモニア交じりの重水", "fluid.tfg.sulfur_fumes": "Sulfur Fumes", "fluid.tfg.super_heated_slurry": "Super Heated Slurry", "fluid.tfg.cryogenized_fluix": "超低温液化フルーシュ", @@ -659,16 +676,16 @@ "item.tfg.poison_pill": "毒の丸薬", "item.tfg.regeneration_pill": "再生の丸薬", "item.tfg.slowness_pill": "鈍足の丸薬", - "item.tfg.speed_pill": "疾走の丸薬", + "item.tfg.speed_pill": "俊敏の丸薬", "item.tfg.water_breathing_pill": "水中呼吸の丸薬", "item.tfg.weakness_pill": "弱体化の丸薬", - "item.tfg.antipoison_tablet": "解毒の錠剤", + "item.tfg.antipoison_tablet": "万能薬", "item.tfg.haste_tablet": "採掘の錠剤", "item.tfg.night_vision_tablet": "暗視の錠剤", "item.tfg.poison_tablet": "毒の錠剤", "item.tfg.regeneration_tablet": "再生の錠剤", "item.tfg.slowness_tablet": "鈍足の錠剤", - "item.tfg.speed_tablet": "疾走の錠剤", + "item.tfg.speed_tablet": "俊敏の錠剤", "item.tfg.water_breathing_tablet": "水中呼吸の錠剤", "item.tfg.weakness_tablet": "弱体化の錠剤", "item.tfg.absorption_salvo": "衝撃吸収の軟膏", @@ -697,6 +714,7 @@ "item.tfg.conifer_rosin": "針葉樹脂", "item.tfg.hardwood_strip": "剥いだ堅木", "item.tfg.soaked_hardwood_strip": "剥いで浸した堅木", + "item.tfg.soaked_unrefined_paper": "濡れた未精製の紙", "item.tfg.prepared_leather_gloves": "準備された革のグローブ", "item.tfg.latex_soaked_gloves": "ラテックスに浸されたグローブ", "item.tfg.unfired_chalk": "チョークの素体", @@ -769,7 +787,6 @@ "item.tfg.food.cooked_limpet": "焼いたLimpet", "item.tfg.food.raw_moon_rabbit": "生の月ウサギ肉", "item.tfg.food.cooked_moon_rabbit": "焼いた月ウサギ肉", - "item.tfg.spawn_egg.moon_rabbit": "月ウサギのスポーンエッグ", "item.tfg.food.freeze_dried.red_grapes": "赤ブドウのフリーズドライ", "item.tfg.food.freeze_dried.white_grapes": "白ブドウのフリーズドライ", "item.tfg.food.freeze_dried.glow_berries": "グロウベリーのフリーズドライ", @@ -807,10 +824,8 @@ "item.tfg.food.ice_soup": "アイススープ", "item.tfg.food.raw_glacian_mutton": "生の氷界ヒツジ肉", "item.tfg.food.cooked_glacian_mutton": "焼き氷界ヒツジ肉", - "item.tfg.spawn_egg.glacian_ram": "氷界ヒツジのスポーンエッグ", "item.tfg.food.raw_sniffer_beef": "生のスニッファー肉", "item.tfg.food.cooked_sniffer_beef": "焼きスニッファー肉", - "item.tfg.spawn_egg.sniffer": "スニッファーのスポーンエッグ", "item.tfg.food.raw_wraptor": "生のラプター肉", "item.tfg.food.cooked_wraptor": "焼きラプター肉", "item.tfg.food.raw_springling_collar": "生のSpringling Collar", @@ -825,8 +840,8 @@ "item.tfg.food.cooked_crusher_meat": "焼いたクラッシャー肉", "item.tfg.food.raw_goober_meat": "生のグーバー肉", "item.tfg.food.cooked_goober_meat": "焼いたグーバー肉", - "item.tfg.food.raw_long_pig_filet": "Raw Long Pig Filet", - "item.tfg.food.cooked_long_pig_filet": "Cooked Long Pig Filet", + "item.tfg.food.raw_long_pig_filet": "生の奇妙な肉", + "item.tfg.food.cooked_long_pig_filet": "焼き奇妙な肉", "item.tfg.food.raw_surfer_steak": "生のサーファー肉", "item.tfg.food.cooked_surfer_steak": "サーファーステーキ", "item.tfg.food.raw_stackatick_chunks": "Raw Stackatick Chunks", @@ -834,11 +849,39 @@ "item.tfg.food.cooked_stickastackatick": "Cooked Stick'a'Stackatick", "item.tfg.food.raw_cruncher_ribs": "Raw Cruncher Ribs", "item.tfg.food.cooked_cruncher_ribs": "Cooked Cruncher Ribs", + "item.tfg.food.raw_dino_nugget": "Prepared Dinosaur Nugget", + "item.tfg.food.cooked_dino_nugget": "Beer Battered Dinosaur Nugget", + "item.tfg.food.raw_beer_battered_cheese_curds": "Beer Battered Cheese Curds", + "item.tfg.food.cooked_beer_battered_cheese_curds": "Fried Beer Battered Cheese Curds", + "item.tfg.food.raw_fries": "刻んだジャガイモ", + "item.tfg.food.cooked_fries": "フライドポテト", + "item.tfg.food.poutine": "プーティン", + "item.tfg.food.brioche_dough": "ブリオッシュの生地", + "item.tfg.food.brioche_bun": "ブリオッシュのバンズ", + "item.tfg.food.raw_burger_patty": "生のパティ", + "item.tfg.food.cooked_burger_patty": "バーガーパティ", + "item.tfg.food.slice_of_cheese": "スライス「チーズ」", + "item.tfg.food.hamburger": "ハンバーガー", + "item.tfg.food.cheeseburger": "チーズバーガー", + "item.tfg.food.oatmeal": "オートミール", + "item.tfg.food.raw_instant_mac": "インスタントのマカロニ&チーズ", + "item.tfg.food.cooked_instant_mac": "マカロニ&チーズ", + "item.tfg.spice.bay_leaf": "ローリエの葉", + "item.tfg.spice.cardamom_pods": "カルダモンの種子", + "item.tfg.spice.cilantro_leaves": "コリアンダーの葉", + "item.tfg.spice.cumin_seeds": "クミンシード", + "item.tfg.spice.oregano_leaves": "オレガノの葉", + "item.tfg.spice.allspice": "オールスパイス", "item.tfg.roasted_sunflower_seeds": "ヒマワリの種のロースト", "item.tfg.sunflower_seeds": "ヒマワリの種", "item.tfg.sunflower_product": "ヒマワリの花冠", "item.tfg.rapeseed_seeds": "キャノーラの種", "item.tfg.rapeseed_product": "キャノーラの胚", + "item.tfg.spawn_egg.moon_rabbit": "月ウサギのスポーンエッグ", + "item.tfg.spawn_egg.surfer": "サーファーのスポーンエッグ", + "item.tfg.spawn_egg.wraptor": "ラプターのスポーンエッグ", + "item.tfg.spawn_egg.glacian_ram": "氷界ヒツジのスポーンエッグ", + "item.tfg.spawn_egg.sniffer": "スニッファーのスポーンエッグ", "item.tfg.flintlock_mechanism": "フリントロック機構", "item.tfg.advanced_clockwork_mechanism": "精密歯車仕掛け機構", "item.tfg.certus_mechanism": "高精度ケルタス機構", @@ -872,6 +915,7 @@ "item.tfg.compressed_heliox_3_bucket": "ヘリオックス3 バケツ", "item.tfg.compressed_trimix_bucket": "50/30/20 トリミックス バケツ", "item.tfg.compressed_trimix_3_bucket": "50/30/20 トリミックス3 バケツ", + "item.tfg.heavy_ammoniacal_water_bucket": "アンモニア交じりの重水 バケツ", "item.tfg.semiheavy_ammoniacal_water_bucket": "アンモニア交じりの半重水 バケツ", "item.tfg.harvest_basket": "収穫かご", "item.tfg.aluminium_harvest_basket": "アルミニウム製収穫かご", @@ -932,9 +976,11 @@ "item.tfg.high_density_treated_fiberboard": "防腐繊維板", "item.tfg.flax_seeds": "亜麻の種", "item.tfg.flax_product": "亜麻の茎", + "item.tfg.flax_bundle": "束ねた亜麻", "item.tfg.flax_line": "亜麻の繊維", "item.tfg.flax_tow": "亜麻の短繊維", "item.tfg.flax_waste": "亜麻屑", + "item.tfg.bundled_scraped_flax": "束ねた亜麻屑", "item.tfg.linen_thread": "リネンの糸", "item.tfg.linen_cloth": "リネン", "item.tfg.ulled": "§dウルトラヴァイオレット§fLED", @@ -949,7 +995,7 @@ "item.tfg.uranium_rod": "ウラン燃料棒", "item.tfg.plutonium_rod": "プルトニウム燃料棒", "item.tfg.tbu_232_rod": "TBU-232燃料棒", - "item.tfg.refrigerant_pellet": "冷却材ペレット", + "item.tfg.refrigerant_pellet": "冷媒ペレット", "item.tfg.graphite_compound": "グラファイト混合物", "item.tfg.raw_graphite_briquette": "グラファイト成形炭", "item.tfg.faulty_graphite_briquette": "欠けたグラファイト成形炭", @@ -957,14 +1003,10 @@ "item.tfg.pure_graphite_rod": "純粋なグラファイトロッド", "item.tfg.impure_graphite_rod": "不純なグラファイトロッド", "item.tfg.annealed_graphite_rod": "焼成グラファイトロッド", - "item.tfg.impure_annealed_graphite_row": "不純な焼成グラファイトロッド", - "item.tfg.moderate_core": "Moderate Core", - "item.tfg.impure_moderate_core": "Impure Moderate Core", - "item.tfg.moderate_core_frame": "Moderate Core Frame", - "item.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", - "item.tfg.graphite_moderator": "Graphite Moderator", - "item.tfg.impure_graphite_moderator": "Impure Graphite Moderator", - "item.tfg.advanced_polymer_binder": "Advanced Polymer Binder", + "item.tfg.impure_annealed_graphite_rod": "不純な焼成グラファイトロッド", + "item.tfg.graphite_moderator": "グラファイトモデレーター", + "item.tfg.impure_graphite_moderator": "不純なグラファイトモデレーター", + "item.tfg.advanced_polymer_binder": "発展型ポリマーバインダー", "item.tfg.beaker": "Beaker", "item.tfg.beaker.filled": "Beaker of %s", "item.tfg.flask": "Flask", @@ -994,6 +1036,13 @@ "item.tfg.trapdoor_casting_mold": "金型(トラップドア)", "item.tfg.chain_casting_mold": "金型(鎖)", "item.tfg.bell_casting_mold": "金型(鐘)", + "item.tfg.rnr_plow": "Paving Cart", + "item.tfg.cobalt_brass_wheel": "Cobalt Brass Wheel", + "item.tfg.cellulose_matrix": "セルロースマトリックス", + "item.tfg.smooth_endoplasmic_reticula": "滑面小胞体", + "item.tfg.rough_endoplasmic_reticula": "粗面小胞体", + "item.tfg.alpha_keratin": "α-ケラチン", + "item.tfg.progenitor_cells": "前駆細胞", "material.tfg.latex": "ラテックス", "material.tfg.vulcanized_latex": "加硫処理ラテックス", "material.tfg.fluix": "フルーシュ", @@ -1030,7 +1079,7 @@ "material.tfg.kaolinite": "カオリナイト", "material.tfg.vitrified_pearl": "ガラス化したエンダー", "material.tfg.aes_mix": "アルカリアースシリケート混合物", - "material.tfg.molten_aes": "溶融アルカリアースシリケート", + "material.tfg.molten_aes": "熔融アルカリアースシリケート", "material.tfg.compressed_nitrox": "圧縮ナイトロックス", "material.tfg.compressed_heliox": "圧縮ヘリオックス", "material.tfg.compressed_heliox_3": "圧縮ヘリオックス-3", @@ -1083,6 +1132,31 @@ "material.tfg.cooked_mycelienzane": "1,3-Mycelienzane", "material.tfg.iodomethane": "ヨードメタン", "material.tfg.trideuteroiodomethane": "三重ヨードメタン", + "material.tfg.lauryl_alcohol": "ラウリルアルコール", + "material.tfg.chlorosulfuric_acid": "塩化スルホン酸", + "material.tfg.sodium_dodecyl_sulfate": "ドデシル硫酸ナトリウム", + "material.tfg.sodium_hypochlorite": "次亜塩素酸ナトリウム", + "material.tfg.mutative_yeast": "変異酵母", + "material.tfg.proto_growth_medium": "プロト生育培地", + "material.tfg.fibroblast_feeder_cells": "線維芽フィーダー細胞", + "material.tfg.gram_stain": "グラム染色液", + "material.tfg.crystal_violet": "クリスタルバイオレット", + "material.tfg.n_n_dimethylaniline": "N,N-ジメチルアニリン", + "material.tfg.triglyceride_oil": "トリグリセリドオイル", + "material.tfg.cholesterol": "コレステロール", + "material.tfg.butyric_acid": "酪酸", + "material.tfg.citric_acid": "クエン酸", + "material.tfg.sodium_dihydrogen_citrate": "クエン酸二水素ナトリウム", + "material.tfg.light_stock": "スープストック", + "material.tfg.rich_stock": "高級なスープストック", + "material.tfg.brown_gravy": "グレービーソース", + "material.tfg.zircon": "ジルコン", + "material.tfg.silicon_tetrachloride": "四塩化ケイ素", + "material.tfg.zirconium_tetrachloride": "塩化ジルコニウム(IV)", + "material.tfg.zirconium_oxide": "ジルコニア", + "material.tfg.zirconium_bromide": "臭化ジルコニウム(IV)", + "material.tfg.zirconium_diboride": "二ホウ化ジルコニウム", + "material.tfg.boron_carbide": "炭化ホウ素", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1537,7 +1611,7 @@ "quests.ae2.extractor.subtitle": "生搾りフルーシュ", "quests.ae2.extractor.desc": "フルーシュの水晶は、&5液化フルーシュ&rに加工してから使うことが多いです。\nもちろん水晶のまま必要になることもあるので、少しは残しておきましょう。\n\n&e抽出機&rがあれば液化することができます。特別な装置を使う必要はありません。", "quests.ae2.extractor.task": "Any Extractor", - "quests.ae2.fluix_liquid.title": "Liquid Fluix", + "quests.ae2.fluix_liquid.title": "液化フルーシュ", "quests.ae2.fluix_liquid.subtitle": "月に住んでる方限定!大特価セール!", "quests.ae2.fluix_liquid.desc": "液体フルーシュが大量に必要になると言いましたが、実はその生成効率を大幅に上げる方法があります。\n\nそれが「&b超低温液化フルーシュ&r」です。これは月面でのみ作れる超低温の液体で、&b真空冷却機&rで、液化フルーシュとヘリウム3を組み合わせて冷却することで生成できます。\n\n超低温フルーシュは、液化フルーシュを使うほとんどのレシピで代わりに使うことができます。ただし、月面でのクラフト限定です。\n\nAE2のレシピを月面で行うことには多くのメリットがあります。電力消費が減ったり、必要素材が少なくなったり、あるいはその両方の場合もあります。\nAE2専用の月面拠点を整えることは大規模な事業になりますが、宇宙時代の初期では確実に役に立ってくれるでしょう。\n\n現時点では必須ではありませんが、将来的に惑星規模の施設が重要になるため、早めに第2拠点を作っておくと後が楽になります。――先取りしておくのも悪くないでしょう?", "quests.ae2.ae_processor.title": "プロセッサ", @@ -1765,250 +1839,250 @@ "quests.development.hull_zpm.title": "&cZPM&rで作成可能", "quests.development.hull_zpm.subtitle": "ウィットに富んだ", "quests.development.hull_zpm.desc": "これは&9ウェットウェア&r回路ラインです。\n\nこのmodpackで直面する最大の自動化の課題になります。頑張ってください。", - "quests.extreme_voltage": "&5EV&r - Extreme Voltage", - "quests.extreme_voltage.subtitle": "Reach Mars, discover Nuclear Fission, and build new massive multiblocks", - "quests.extreme_voltage.welcome_to_ev.title": "This is Extreme Voltage", - "quests.extreme_voltage.welcome_to_ev.subtitle": "Let's go Nuclear on Mars", - "quests.extreme_voltage.welcome_to_ev.desc.1": "You’ve built new &6chemistry lines&r, manufactured advanced &balloys&r, and even launched a &dRocket&r to reach the Moon. We hope you enjoyed the ride, because now things get even more complex, with powerful new machines and demanding processes ahead.\n\nIn the &5EV Chapter&r, your main objective will be to craft your very first &1IV&r and &dLuV&r Circuits.", - "quests.extreme_voltage.welcome_to_ev.desc.2": "Along the way, several key challenges await you:\n\n• Build your first &6Alloy Blast Smelter&r, a faster version of the EBF, specialized for alloys. With it, you’ll be able to construct your first Large Machine: the &6Large Centrifuge&r, essential for the Nuclear Fission Line. It also lets you upgrade ore processing with a faster Thermal Centrifuge.\n\n• Master our original &eTungsten Line&r - looping all the required materials will test both your knowledge and your patience.\n\n• Prepare to fly to &4Mars&r where you’ll become an &aextraterrestrial farmer&r while also learning to harness the &cpower of the atom&r.\n\nGood luck, this is where GregTech begins to show its true depth!", - "quests.extreme_voltage.distillation_tower.title": "The Distillation Tower", - "quests.extreme_voltage.distillation_tower.subtitle": "Mr. President, another Distillation Tower has hit the factory floor", - "quests.extreme_voltage.distillation_tower.desc.1": "&6The Distillation Tower&r (DT) is a direct multiblock upgrade of the &6Distillery&r. You won't have to choose outputs any more as the DT will handle them all automatically, at an increased power cost.\n\nThis machine will be your future bread and butter for anything involving &ePetrochem&r or &eOrganic distillation.", - "quests.extreme_voltage.distillation_tower.desc.2": "Like the &6Cleanroom&r, the DT can be made taller, though not wider. Starting from the second layer, each added level requires an &9Output Hatch&r and grants one additional fluid output slot; if a level lacks its output hatch, the corresponding fluid will be voided. Count the number of outputs with &dEMI&r so you know how many layers you need. As always, use the Multiblock Preview tab in &dEMI&r and click the multiblock to see where you can place each part.", - "quests.extreme_voltage.distillation_tower.desc.3": "&cNote:&r Be careful not to over-overclock the DT when producing fuels! Excessive overclocking can reduce the overall power yield, especially for Diesel. Do the math and double-check your calculations.", - "quests.extreme_voltage.cracker.subtitle": "You Crack Me Up", - "quests.extreme_voltage.cracker.desc": "The &3Cracker&r is a multiblock built with the sole purpose of cracking fluids. It comes with all the recipes of &3Chemical Reactor&r Cracking, but it is &6lossless&r.\n\nThis is a great way to save a lot of Fuel in the long term!\n\nHigher Coil tiers provide a small energy discount - up to 70%% with the best Coils available.", - "quests.extreme_voltage.ev_components.title": "Extreme Voltage Components", - "quests.extreme_voltage.ev_components.subtitle": "The \"Fun\" will never stop", - "quests.extreme_voltage.ev_components.desc": "&7By now, you should be getting used to the pattern with every new Energy Tier comes a fresh batch of components.&r\n\nThe &5EV&r tier comes with a few twists - first, &eNeodymium&r. You might already have some stored from your earlier mining trips, but you’ll also find it in large quantities when processing &eMonazite Ore&r.\n\nSecondly, Sensors and Emitters require &bCryogenized Fluix Pearls&r. Hopefully your &dMoon&r infrastructure is up and running to supply them efficiently.\n\nLastly, Motors require Kanthal wire. If you've been diligently upgrading your EBF, these should be significantly faster to craft than when you made them in MV (and you can recycle your old coils too!), but the Alloy Blast Smelter will be able to make this even faster.", - "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.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!", - "quests.extreme_voltage.mars.desc.2": "All &bfluid veins&r are spread across Mars, except for &eHeavy Ammoniacial Water&r which can only be found outside of the desert. That’s another good reason to set up your base there.\n\nEnergy-wise, &4Mars&r will not be kind to you at first.\n\nNearly every common &6energy generation method&r is disabled or worthless on the planet, which means you’ll have to rely almost entirely on &cFission&r to power your base.\n\nAt the very beginning, we recommend bringing along some &bfilled batteries&r such as &bLapotron Crystals&r to get started, and then look towards setting up Thorium Fuel Rods.\n\nAchieving energy stability on Mars will take time and effort, but once your systems are running smoothly, you’ll feel like &9unlimited power&r is right in the palm of your hand.", - "quests.extreme_voltage.mars.desc.3": "And one last tip: don’t kill everything you see. Some &aanimals&r can be &franched&r, and you’ll definitely need them later in your progression.\n\nBe sure to check out the &aSpace Survival&r chapter for more Mars-related tips too!\n\nStay alert, plan ahead, and Mars will reward your courage.", + "quests.extreme_voltage": "&5EV&r - 超高電圧時代 ", + "quests.extreme_voltage.subtitle": "人は過ちを繰り返す", + "quests.extreme_voltage.welcome_to_ev.title": "EV時代が始まる", + "quests.extreme_voltage.welcome_to_ev.subtitle": "火星に行き、原子力を掌握せよ", + "quests.extreme_voltage.welcome_to_ev.desc.1": "あなたは高度な&b合金&rを製造し、先進的な&6科学技術&rを発達させ、さらには&dロケット&rを打ち上げてついには月にまで到達しました。ここまでの旅路を楽しんでいただけたなら幸いです。\n\nこれからはさらに複雑さが増し、より強力な機械や要求の厳しい加工が待ち受けています。&5EV&rでは、&1IV&r回路と&dLuV&r回路を作ることが主な目標となります。", + "quests.extreme_voltage.welcome_to_ev.desc.2": "EVを進めていくには、いくつもの重要な課題が待ち受けています。\n\n•&6合金高炉&rを作りましょう。これは高速な合金精錬に特化した大型機械です。そして&6大型遠心分離機&rに必要な合金が作れるようになります。\n大型遠心分離機は熱遠心分離と遠心分離の両方に対応しており、並列制御ユニットやエネハッチでの昇圧を利用して高速で処理できるようになります。EVを進める上では核分裂炉ラインに必須です。\n\n•TFG独自の&eタングステンライン&rを構築しましょう。完全な循環型ラインを組むにはかなりの知識と資源が要求されます。\n\n•&4火星&rへ向かう準備を整えましょう。火星では&a固有の生態系&rの理解を深めつつ、&c原子力&rを扱う技術も身につけることになります。\n\n幸運を祈ります。ここから先、GregTechの本領が発揮されていきます!", + "quests.extreme_voltage.distillation_tower.title": "蒸留塔", + "quests.extreme_voltage.distillation_tower.subtitle": "蒸留豆腐", + "quests.extreme_voltage.distillation_tower.desc.1": "&6蒸留塔&rは、&6蒸留機&rの大型版です。蒸留塔の何よりの利点は、複数の蒸留先のすべてを同時に生産することができる点です。もっとも、その分消費電力は増加してしまいますが。\n\nこの装置は、&e石油化学&rや&e有機蒸留&rに関するあらゆる工程の中核を担います。", + "quests.extreme_voltage.distillation_tower.desc.2": "&6クリーンルーム&rのように、蒸留塔はサイズの拡張性があります。ただし、変えられるのは高さだけです。\n\n蒸留塔の高さを1段重ねるたびに、&9搬出ハッチ&rを1つ追加することができ、液体の出力スロットが1つずつ増えていきます。搬出ハッチが設置されていない層があると、その層に対応する液体は生産されません。\n\n&dEMI&rでレシピの出力スロットの数を確認し、必要な階層数を把握しましょう。いつものように、&dEMI&rのマルチブロック情報で、構造を確認できます。その際、右上のP:0の表示をクリックすると、高さを変えた際の構造と必要な資材数を確認できます", + "quests.extreme_voltage.distillation_tower.desc.3": "&cメモ:&r燃料の生産に利用する際、過度にオーバークロックしないようにしましょう。オーバークロックで総消費電力が増えてしまうため、発電の収支が減少してしまいます。赤字にならないように発電量と消費電力のバランスを計算してみましょう。", + "quests.extreme_voltage.cracker.subtitle": "燃料生産もらっくらく", + "quests.extreme_voltage.cracker.desc": "&3クラッカー&rは、液体の分解(クラッキング)に特化した大型機械です。&3化学反応器&rで行うクラッキングを&6損失なし&rで処理することができます。\n長期的に見れば、燃料を大幅に節約できます。\n\n高品質なコイルを使用することで、エネルギー消費を抑えることができ、最上位のコイルでは最大70%お得になります。", + "quests.extreme_voltage.ev_components.title": "EVコンポーネント", + "quests.extreme_voltage.ev_components.subtitle": "新たな刺客たち", + "quests.extreme_voltage.ev_components.desc": "&7ここまで来れば、電圧が上がるたびに新しいコンポーネントが登場する流れにも慣れてきたことでしょう。&r\n\n&5EV&rティアでは新しい素材が要求されます。\nまずは&eネオジム&rです。鉱脈から掘り出すこともできますし、&eモナザイト&rを処理することでも大量に入手できます。\nセンサーとエミッターには&b超低温フルーシュパール&rが必要になります。&d月面&r基地の建造が完了していれば、困ることはないと思います。\nモーターの製作にはカンタルワイヤーが必要です。EBFをしっかりとアップグレードしてきたなら、MVのときよりもずっと早く作れるでしょう。合金高炉があれば、合金精錬を高速で処理できます。", + "quests.extreme_voltage.t2_rocket.title": "2等級ロケット", + "quests.extreme_voltage.t2_rocket.subtitle": "宇宙船火星号", + "quests.extreme_voltage.t2_rocket.desc": "この新型ロケットは、前のモデルと比べて作成コストが大幅に跳ね上がります。\n\n新たな&6ロケット合金&rは、冷却のために&b蒸留水&rと&b超低温液化フルーシュ&rの両方を必要とします。\n\n今後は&eチタン&rを大量に使うことになるため、生産ラインの自動化などに注力するのもいいでしょう。", + "quests.extreme_voltage.mars.title": "&4火星&r上陸", + "quests.extreme_voltage.mars.subtitle": "テラフォーマークラフト", + "quests.extreme_voltage.mars.desc.1": "&4火星&rに降り立つ前に、いくつか重要な注意点があります。\n\nまず、月と同じように&4火星&rでも敵対的なモブが出現します。宇宙服を死亡後も保持できるようにしていなかったり、EVティア相当の新しい武器を用意していない場合は、かなり苦戦するでしょう。\n\n火星は基本的に&e砂地の惑星&rですが、その中に&aオアシス&rとも呼べるような&b水&rと豊かな動植物が存在する安全な地域が点在しています。基地を建てるには最適です。\n\n一方で、砂漠地帯は非常に危険で、足元に注意しなければ命取りになることもありますが、そこには重要な資源も眠っています!", + "quests.extreme_voltage.mars.desc.2": "&b液体鉱脈&rは火星全体に分布していますが、&eアンモニア交じりの重水&rだけは砂漠地帯の外でしか見つかりません。これもまた、基地を砂漠の外に建てるべき理由の一つです。\n\n&4火星&rではエネルギー面において最初はかなり苦労するでしょう。一般的な&6発電方法&rのほとんどがこの惑星では使えない、もしくはまったく役に立たないため、火星での発電はほぼ完全に&c核分裂炉&rに頼ることになります。\n&bラポトロンクリスタル&rなどの&b充電済みバッテリー&rを初動の電源として持っていき、トリウム燃料棒での核分裂炉の運用を目指すのがおすすめです。\n\n火星で電力を安定供給できるようにするには時間と手間がかかりますが、すべてのシステムが順調に稼働し始めたとき、あなたはまるで&9無限の力&rを手にしたように感じるでしょう。", + "quests.extreme_voltage.mars.desc.3": "最後にもう一つのアドバイスです。動物は大事にしましょう。中には&a家畜&rとして&f飼いならす&rことができる動物もおり、後の進行で必ず必要になります。\n\nまた、「&a宇宙のあるきかた&r」の章にも火星での生活に関する情報があるので、ぜひ確認してみてください。\n\n常に警戒を怠らず、計画的に行動すれば、火星はあなたの勇気に必ず報いてくれるでしょう。", "quests.extreme_voltage.mars.task": "Land on Mars", - "quests.extreme_voltage.nuclear_fuel_factory.title": "Nuclear Fuel Factory", - "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "Hot Rod", - "quests.extreme_voltage.nuclear_fuel_factory.desc": "The &6Nuclear Fuel Factory&r has one purpose: producing fuel rods for your &cFission Reactor&r.\n\nIt supports &9Parallel Hatches&r which you’ll unlock soon but they aren’t mandatory yet. Functionally, it works much like the Pyrolyse Oven: the &ebetter the coils&r you install, the faster the recipes will run.\n\nSince fuel rod production is both &cslow&r and &cexpensive&r, we strongly recommend using the &ahighest tier coils&r available. Don’t waste your time with Cupronickel, you’ll only be nerfing yourself.", - "quests.extreme_voltage.heavy_water.title": "Heavy Water", - "quests.extreme_voltage.heavy_water.subtitle": "Water for the Hardcore", - "quests.extreme_voltage.heavy_water.desc": "To run your Fission Reactor, you’ll need a steady supply of &bHeavy Water&r, and there’s only one place to find it.\n\nIt’s located in &adeep fluid veins&r found exclusively beneath the &alush islands&r of Mars. Grab your &6Ore Prospector&r, switch it to &bFluid Mode&r, and start scanning.\n\nBecause the amount of &bHeavy Water&r required to keep your reactor running is enormous, you should seriously consider investing in a &6Large Centrifuge&r to produce it yourself.\n\nInstall a &516A EV Energy Hatch&r, and you’ll be ready for true mass production ensuring your reactor never runs dry.\n\nReliable cooling means reliable power - build smart!", - "quests.extreme_voltage.nuclear_turbine.title": "Nuclear Steam Turbine", - "quests.extreme_voltage.nuclear_turbine.subtitle": "Steam power's back, baby", - "quests.extreme_voltage.nuclear_turbine.desc": "With Fission, you gain access to a brand new &6Dedicated Turbine&r! (The normal Large Steam Turbine can only handle regular Steam.)\n\nIt works just like the previous turbines, but similar to the Gas Turbine, it requires at least an &5EV Rotor Holder&r to operate.\n\nThe coils inside this turbine must be &7Cupronickel&r, and they don’t affect performance in any way (but we have to admit, they look pretty good).\n\nIn this quest, we suggest two &aRotors&r that fit nicely for the turbine at this stage, but feel free to experiment and use any &brotor&r that suits your setup best.", - "quests.extreme_voltage.reactor_components.title": "Reactor Heat Management", - "quests.extreme_voltage.reactor_components.subtitle": "Active and Passive ways to cool your reactor", - "quests.extreme_voltage.reactor_components.desc.1": "One of the most interesting features of the Fission Reactor is its ability to have blocks added inside to modify its &emaximum heat capacity&r.\n\nYou can place certain &6Component Blocks&r within the corners of the reactor, allowing for up to &e20 blocks&r in total. As an example, you can use &9Material Holders&r and insert cooling items with input buses, which help manage heat buildup.\n\nIt’s also important to note that Material Holders are the &conly way&r to enable the &brecipe processing&r part of the Fission Reactor.\n\nSmart internal configuration will make the difference between a stable reactor and one on cooldown, so plan your layout carefully!", - "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.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.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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Smelting Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", - "quests.extreme_voltage.important_info.desc.2": "When it comes to your Martian infrastructure, there are two main approaches:&r\n\n• &aPreparation-focused&r: Build everything required for your full &6Fission Line&r before establishing your base. This means an enormous material investment, but allows you to be self-sufficient once operational.\n\n• &aProgressive setup&r: Start smaller with your &6Nuclear Fuel Factory&r, your first &6Fission Reactor&r (running on &eThorium&r), and a &6Nuclear Turbine&r. This route is faster to start, but managing energy will be rough until your fission system stabilizes.\n\nEither way, we always recommend having an exploration mission before you start settling down!", - "quests.extreme_voltage.important_info.desc.3": "Because every kind of combustion-based energy won't work on Mars, you’ll want to bring a good stock of &bLapotron Crystals&r to power your first recipes and oxygen systems.\n\nWe also strongly recommend setting up a &6Distillation Tower&r. &eMartian Air&r can be processed into breathable &bAir&r and several other useful gases. Alternatively, everything for Compressed Nitrox can come from the local Semiheavy Ammoniacal Water.\n\nSurvival on Mars isn’t about luck, it’s about preparation!", + "quests.extreme_voltage.nuclear_fuel_factory.title": "核燃料形成機", + "quests.extreme_voltage.nuclear_fuel_factory.subtitle": "危険な熱い棒", + "quests.extreme_voltage.nuclear_fuel_factory.desc": "&6核燃料形成機&rは、&c核分裂炉&r用の燃料棒を作るための機械です。\n\n動作の仕組みは熱分解炉とほぼ同じで、&eより高性能なコイル&rを使うほど処理速度が速くなります。燃料棒の製造は&c非常に遅く&r、&c消費電力も多い&rため、可能な限り&a上位のコイル&rを使うことを強くおすすめします。\n\nもうすぐ解禁される&9並列制御ユニット&rにも対応していますが、現時点では使う必要がありません。", + "quests.extreme_voltage.heavy_water.title": "重水", + "quests.extreme_voltage.heavy_water.subtitle": "重たいお水", + "quests.extreme_voltage.heavy_water.desc": "核分裂炉を動かすには、&b重水&rを安定して供給する必要があります。しかし、重水を直接採取できるのは火星の&alush_islands&rの液体鉱脈だけです。&6発展型電動探査機&rの&b液体探知モード&rで見つけられます。\n\n原子炉を稼働させ続けるためには膨大な量の&b重水&rが必要なので、&6遠心分離&rでの確保のために大型遠心分離機を導入することも検討しましょう。&5EV16Aエネルギーハッチ&rで稼働させれば、本格的な大量生産ができ、核分裂炉の冷却が途切れる心配もなくなります。\n\n冷却が安定すれば、電力も安定します。計画的に設備を整えましょう!", + "quests.extreme_voltage.nuclear_turbine.title": "原子力蒸気タービン", + "quests.extreme_voltage.nuclear_turbine.subtitle": "蒸気時代が帰ってきたぜ", + "quests.extreme_voltage.nuclear_turbine.desc": "核分裂ラインでの発電では&6専用のタービン&rを使います。(普通の大型蒸気タービンでは通常の蒸気しか扱えません。)\n\n動作自体はこれまでのタービンと同じですが、ガスタービン同様、最低でも&5EVローターホルダー&rが必要になります。内部のコイルは&7キュプロニッケル&rでなければならず、性能には影響しません(見た目がいいというだけですね)。\n\nこのクエストでは、この段階で使いやすい&aローター&rを2種類紹介していますが、もちろん他の自分が使いたい&bローター&rを使って構いません。", + "quests.extreme_voltage.reactor_components.title": "核分裂炉の熱管理", + "quests.extreme_voltage.reactor_components.subtitle": "冷却手段のいろは", + "quests.extreme_voltage.reactor_components.desc.1": "核分裂炉には、内部に特定のブロックを組み込んで&e耐熱許容量&rを調整できるという独特な仕組みがあります。\n\n炉内の四隅の部分には最大&e20ブロック&rまで&6コンポーネントブロック&rを設置でき、たとえば&9Material_Holders&rに冷却材を投入して冷却する、といったことができます。Material_Holdersは、核分裂炉での&bレシピ処理&rを行うための&c唯一の手段&rでもあります。\n\n安定稼働ができるかどうかは内部の構成次第です。配置はよく考えて行うことをおすすめします。", + "quests.extreme_voltage.reactor_components.desc.2": "&eトリウム燃料棒&rを3本同時に使うと、熱量は約&c420&rに達し、デフォルトの上限を少し超えてしまいます。しかし、&6耐熱フレーム&rを組み込むことで、高温でも安全に動かせます。\n\n内部に&e10個の氷塊羊毛の耐熱フレーム&r、または&e20個のAESの耐熱フレーム&rを組み込むことで最大熱上限が&e420&rに引き上がり、3本での稼働でもクールダウンによる稼働停止しなくなります。\n\nただし、燃料棒の本数が増えると&a耐久消耗&rが早く進むため、1本あたりからの蒸気生産量は減り、&a効率&rは落ちてしまいます。その代わり、&b核分裂素材の生成速度&rは大幅に向上するため、どちらを重視するかはプレイスタイル次第です。\n\n効率か速度か...この調整の妙こそが、&6核分裂炉&rを使いこなすうえで重要な点です。", + "quests.extreme_voltage.heat_exchanger.title": "熱交換機", + "quests.extreme_voltage.heat_exchanger.subtitle": "熱エネルギーの移動", + "quests.extreme_voltage.heat_exchanger.desc.1": "&6熱交換機&rは、核分裂炉運用を次の段階へ進めるうえで非常に重要な機械です。冷却に使えるだけでなく、原子力蒸気タービンを動かすための&e高圧蒸気&rを作り出すことができます。\n\nまた、この機械は&bPOC&rと&bサブティック&rに対応しており、仕組みを理解しておくことで性能を最大限活かせます。\n\nもしこれらの概念に覚えがなければ、「&dGregTechの電力システム&r」の章を読み返して理解を深めることをおすすめします。", + "quests.extreme_voltage.heat_exchanger.desc.2": "ここは思い切って、&5EV16Aエネルギーハッチ&rを付けておくのがおすすめです。こうしておけば、処理速度や処理量の上限を気にせず運用できます。\n\n熱交換機用に&9マシンコントローラ&rを配布しておきます。この機械はまれに勝手に停止することがあるため、マシンコントローラで&ePrevent_Power_Failing&rをオンにしておくと安心です。これは、瞬間的な電力切れで機械が止まってしまうGregTech特有の挙動を防いでくれます。", + "quests.extreme_voltage.refrigerant_pellet.title": "冷媒ペレット", + "quests.extreme_voltage.refrigerant_pellet.subtitle": "超高温の対処法", + "quests.extreme_voltage.refrigerant_pellet.desc": "&dプルトニウム燃料棒&rは非常に高温で動作するため、そのままではすぐにクールダウンモードに入ってしまいます。そこで、炉内に&b冷媒ペレット&rを投入して温度を抑える必要があります。\n\nペレットはやや高価ですが、序盤でも十分量産でき、数本のプルトニウムロッドを動かす分は問題なく確保できます。プルトニウムロッド1本を使い切るには、だいたい&9256個&rほど必要です。\n\n後々、こうした消耗品を作り続けるのが煩わしいと感じるようになったら、&6上位の耐熱フレーム&rを作りましょう。これらを組み込めば、原子炉は最大&e600Heat&rまで安全に耐えられるようになり、効率も安定性も大きく向上します。\n\n早いうちからコンポーネントを改善して、より楽な核分裂ライフを送りましょう!", + "quests.extreme_voltage.important_info.title": "火星での暮らし方", + "quests.extreme_voltage.important_info.subtitle": "火星移住プロジェクト", + "quests.extreme_voltage.important_info.desc.1": "ここでは&c火星&rでの拠点づくりに役立つ情報をお教えします。\n\n探索中に見つけた&6火星の遺跡&rの中から、&e原子マシン外装&rや&e高温精錬用マシン外装&rなどを入手できることがあります。これだけで十分に確保するのは厳しいですが、資源が足りない時のちょっとした助けになるでしょう。&r", + "quests.extreme_voltage.important_info.desc.2": "火星でインフラをどう整えるかについては、大きく二つの方針があります。\n\n&r•&aすべてを用意する&r:拠点を構える前に、&6核分裂ライン&rを完全に動かすために必要な設備をすべて揃えておく方法です。膨大な素材を必要としますが、稼働後は自給自足が可能になります。\n\n•&a段階的に進める&r:最初は、最低限核分裂ラインを動かすための、&6核燃料形成機&r、&eトリウム&r、&6核分裂炉&rそして&6原子力蒸気タービン&rのみを用意する方法です。\nこのやり方は早く始められますが、核分裂システムが安定するまではエネルギー管理がかなり大変です。\n\nどちらを選ぶにしても、拠点建造前に必ず火星の探索を行うことを強くおすすめします!", + "quests.extreme_voltage.important_info.desc.3": "火星ではどの種類の燃焼系発電も一切使えないため、最初に機械を稼働させるときや酸素供給システムの稼働のために、&bラポトロンクリスタル&rをいくつか持ち込む必要があります。\n\nまた、&6蒸留塔&rの運用も強くおすすめします。&e火星の空気&rは処理することで、呼吸可能な&b空気&rや、ほかにもさまざまな有用ガスに変換できます。\n\n別の方法としては、圧縮ナイトロックスに必要な材料をすべて、現地で採取できるアンモニア交じりの半重水から調達することも可能です。\n\n火星で生き残るのに必要なのは運ではなく、準備です!", "quests.extreme_voltage.important_info.task": "It's Marsing Time", - "quests.extreme_voltage.dense_lead.title": "Faster Dense Lead Plates", - "quests.extreme_voltage.dense_lead.subtitle": "Don't expect it for other dense plates", - "quests.extreme_voltage.dense_lead.desc": "Because of the tremendous amount of Dense Lead Plates you will need for Atomic Casings, we offer a new, albeit less efficient, recipe with the help of the Implosion Compressor. Feel free to use it if you don't want to wait forever for your benders.", - "quests.extreme_voltage.thorium_rod.title": "Fuel Rods", - "quests.extreme_voltage.thorium_rod.subtitle": "Handle with care", - "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.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.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.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", - "quests.extreme_voltage.uranium_line.subtitle": "That's one more new processing line", - "quests.extreme_voltage.uranium_line.desc": "To process &eUranium&r and its &eUranium 235&r &eIsotope&r, you’ll need to set up a dedicated small processing line. \n\nRest assured, you can &aloop the Fluorine&r, so the only input you’ll need is &eUraninite Dusts&r.\n\nYou can build this line on Earth, but it may be more convenient to operate it on Mars, where the majority of Uraninite Ore should be harvested.", - "quests.extreme_voltage.radioactive_waste.title": "Radioactive Waste", - "quests.extreme_voltage.radioactive_waste.subtitle": "One man's trash is another man's progression material", - "quests.extreme_voltage.radioactive_waste.desc": "Radioactive Waste is a &ccritical byproduct&r for crafting your next fuel rods, so always ensure there’s enough space to output it. If the Fission Reactor cannot find an available output, it will simply &cvoid the waste&r, losing valuable resources.\n\nWe recommend either:\n- Installing a dedicated Output Hatch in &blocked mode&r\n- Using a Super Tank with an Advanced Fluid Detector Cover\n\nIf you have an &dME Network&r on Mars, another option is the recently unlocked &6ME Output Hatch&r.", - "quests.extreme_voltage.uranium_rod.subtitle": "Finally, some real power!", - "quests.extreme_voltage.uranium_rod.desc.1": "This is the second-generation reactor fuel - it offers &a4× more durability&r and produces &a5× more steam&r compared to a standard &eThorium Rod&r. However, there are important trade-offs you must plan for.\n\n&9Production cost and setup:&r\n• Producing this fuel consumes &eThorium Rods&r continuously, so it’s recommended to dedicate a separate &6Fission Reactor&r for each of these advanced rods, although if you're up for the challenge of juggling them in one reactor, that's an option too.", - "quests.extreme_voltage.uranium_rod.desc.2": "Heat and mitigation options: A single Uranium Fuel Rod generates about &c435 Heat&r inside a standard reactor, far above the default limit. To handle this you have three main options:\n\n&7→&r &eInstall 20 Framed Glacial Wool&r blocks inside the reactor to raise &cMax Heat&r to &e440&r, allowing one rod to run safely.\n\n&7→&r &6Use Material Holders&r and pump large quantities of &bDry Ice&r to drop the reactor temperature. This requires a robust infrastructure and access to a &bLiquid CO2 fluid vein&r on Mars.\n\n&7→&r &bUse Refrigerant Pellets&r placed in Material Holders. They behave like Dry Ice but are far more potent. Note that Refrigerant Pellets consume a decent amount of &eFluorine&r to craft, and you do not have infinite Fluorine at this point.\n\nObviously, you can also make your own sauce and mix all of these options together.", - "quests.extreme_voltage.uranium_rod.desc.3": "&cImportant note for Uranium Fuel Rods:&r Reactors running &eUranium Rods&r require a drastically larger supply of &bHeavy Water&r for cooling. Ensure you have abundant Heavy Water production or storage before attempting to run these rods, or your reactor will quickly hit critical cooling limits.\n\nPlan your supply lines and cooling strategy carefully - these fuels are powerful, but they demand serious infrastructure.", - "quests.extreme_voltage.uranium_waste.title": "Uranium Waste and Radioactive Steam", - "quests.extreme_voltage.uranium_waste.subtitle": "You guessed it, more processing", - "quests.extreme_voltage.uranium_waste.desc.1": "The products from &eUranium Fuel Rods&r are a bit more involved than thorium.\n\n&6• Uranium Waste&r is the feedstock that starts the &dPlutonium Line&r. It can be processed immediately.\n\n&6• Radioactive Steam&r, unlike normal steam, will need to be handled by a &6Heat Exchanger&r. Send the radioactive steam through a Heat Exchanger to recover High Pressure Steam.", - "quests.extreme_voltage.uranium_waste.desc.2": "Additionally, your Radioactive Steam should heat &eAmmonium Formate&r into &eFormamide&r, a core precursor for producing plutonium fuels. This means that before you can reliably obtain High Pressure Steam from a Uranium Reactor for energy use, you must ensure a continuous supply of &eAmmonium Formate&r for the conversion chain.\n\n&cPractical note:&r Set up a dedicated, continuous line to produce &eAmmonium Formate&r. Without steady Ammonium Formate production, your plutonium workflow and your High Pressure Steam production will stall.", - "quests.extreme_voltage.ammonium_formate.title": "Ammonium Formate", - "quests.extreme_voltage.ammonium_formate.subtitle": "Always keep a backlog!", - "quests.extreme_voltage.ammonium_formate.desc": "Being able to make infinite &eAmmonium Formate&r is mandatory to ensure a constant energy production, as you won’t be able to process &bRadioactive Steam&r into High Pressure Steam without it. It's not very hard, though!\n\nFirst, to make &eFormic Acid&r, simply combine CO₂ that you can get from Mars Air with Water from an Aqueous Accumulator.\n\nThen, for &eAmmonia&r, you can simply electrolyze the &eAmmonium Chloride Dust&r you got from centrifuging (Semi) Heavy Ammoniacal Water.\n\nAs you will get a surplus of &bOxygen&r and &bHydrochloric Acid&r, make sure to void these fluids above a threshold so they don’t clog your &eAmmonium Formate&r production.", - "quests.extreme_voltage.nuclear_residue_dust.title": "Nuclear Residue Dust", - "quests.extreme_voltage.nuclear_residue_dust.subtitle": "Oh, this is where Radon comes from", - "quests.extreme_voltage.nuclear_residue_dust.desc": "Obtaining &eNuclear Residue Dust&r is the first step in the &dPlutonium Line&r.\nIt requires a &5EV Gas Pressurizer&r on Mars to produce.\n\nThe process will also generate &bRadon&r as a byproduct, and even though you will need Radon for later steps, the surplus from this line will be significant. It will be your only reliable source of Radon for now.\n\nLuckily for you, &eNuclear Residue&r requires no complex loop: simply feed in the outputs from your Uranium Reactor and Heat Exchanger, add &eMartian Sludge&r, and the &6Gas Pressurizer&r will produce Nuclear Residue Dust. You’ll be ready to continue the Plutonium chain immediately.", - "quests.extreme_voltage.oxidized_nuclear_residue_dust.subtitle": "What is this weird concoction?", - "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.1": "This next step is the start of the many loops surrounding the &dPlutonium Line&r.\n\nTo make &bOxidized Nuclear Residue Dust&r you will require &bDioxygen Difluoride&r. Thankfully, we do not ask you to have an infinite amount of Fluorine, so for this recipe to run continuously you will recover Fluorine later as &bHydrofluoric Acid&r that you can electrolyze.", - "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.2": "Because the recipes take a long time, we still advise adding a good starter stock of Fluorine to kickstart the loop.\n\nAs always, during this loop, be wary of storage: a full tank or a blocked buffer can stop your entire line, and flying to Mars to fix it would be a bother. &aSuper Tanks&r or whitelisted &aAE2 disks&r with void upgrades are helpful solutions.\n\nNote that the recipe also produces &eResidual Radioactive Concoction&r. Try not to void this one, it will be a useful material for future systems such as the &6Ostrum Linear Accelerator&r (infinite ores from Mars), the &6Growth Chamber&r (first steps into Bioengineering) and even &6Fission Reactors&r outside of Mars.", - "quests.extreme_voltage.refined_nuclear_dust.subtitle": "Ah, this where my Fluorine went", - "quests.extreme_voltage.refined_nuclear_dust.desc": "The &eRefined Nuclear Residue Dust&r lets you recover Fluorine as Hydrofluoric Acid so you can loop it back into &bDioxygen Difluoride&r.\n\nYou should already know how to make Distilled Water, and don’t forget to void any surplus Oxygen if you have nowhere to store it.\n\nThis recipe is very slow. If you feel confident energy-wise, consider running it in a &6Large Centrifuge&r to speed things up. Be cautious, though, you don’t want to drain too much power early in your progression.", - "quests.extreme_voltage.plutonium.title": "Plutonium", - "quests.extreme_voltage.plutonium.subtitle": "Look at this massive atomic mass", - "quests.extreme_voltage.plutonium.desc": "You’ve finally reached Plutonium! Its only practical use right now is to craft &dPlutonium Fuel Rods&r, so don’t bother hoarding it.\n\nAny extra steam produced can be voided or used in a regular steam turbine, but the &6Nuclear Steam Turbine&r will not accept this steam&r.\n\nIf you want to recover energy, route the surplus to conventional steam turbines; otherwise safely void the excess to prevent backups.", - "quests.extreme_voltage.plutonium_rod.subtitle": "Once upon a time, I had power issues", - "quests.extreme_voltage.plutonium_rod.desc.1": "Let’s be clear: the &dPlutonium Fuel Rod&r may be a real bother to craft, but it’s an absolute &abeast of energy&r. It outputs nearly &e4× more High Pressure Steam&r than the Uranium Rod, making it perfect for scaling your Martian infrastructure, even if you run it less frequently.", - "quests.extreme_voltage.plutonium_rod.desc.2": "However, its &cmassive heat&r poses a serious challenge. Reaching up to &6595 Heat&r, it’s impossible to run it safely for the time being without &bRefrigerant Pellets&r. Check the quest on the right for more details about this material, which you can insert into a &6Material Holder&r.\n\nThe good news? You can stabilize the reactor with just &61 Material Holder&r, bringing the temperature down to around &e430 Heat&r manageable with some &fFramed Glacial Wool&r. Otherwise, &62 Material Holders&r should keep it perfectly under control.", - "quests.extreme_voltage.tritiated_water.title": "Tritiated Water", - "quests.extreme_voltage.tritiated_water.subtitle": "Radioactive Water? Is everything radioactive?", - "quests.extreme_voltage.tritiated_water.desc": "This &bRadioactive Water&r is a key component for producing &eNano CPU Wafers&r and ultimately, your &6first IV Circuits&r.\n\nIt’s also used in the Ostrum Linear Accelerator and can be electrolyzed into &6Tritium&r, though you won’t need that for quite some time.\n\n&cBe extremely careful&r: &bTritiated Water&r is incredibly precious, so don’t lose a single drop of it!", - "quests.extreme_voltage.nano_cpu_wafer.subtitle": "That sounds like marketing", - "quests.extreme_voltage.nano_cpu_wafer.desc": "The &dNano CPU Wafer&r is your gateway to IV Circuits and also to the &bAE2 64k Storage Cells&r.\n\nYou’ll need a huge amount of these circuits, as they’re used in nearly every advanced circuit tier from now on, whether by &eupgrading the Wafer&r itself or crafting the &ahighest-end circuit versions&r.\n\nThey’re also required for your &6IV Batteries&r, the &dLapotronic Energy Orbs&r.\n\nFor reference, &b1 Plutonium Fuel Rod&r will produce enough Tritiated Water for &eexactly 9 Nano CPU Wafers&r.", - "quests.extreme_voltage.first_iv_circuit.title": "Mainframes - First IV Circuits!", - "quests.extreme_voltage.first_iv_circuit.subtitle": "Are we done with EV yet?", - "quests.extreme_voltage.first_iv_circuit.desc": "Finally, after all this time, you’ve obtained a new circuit and unlocked an entirely new tier. Many possibilities are now open to you, but your main focus should be the &6IV Assembler&r first, as it will allow you to craft the &eFramed Moderate Core&r which greatly increases your reactor’s &cMax Heat&r, eliminating the need for Refrigerant Pellets.\n\nYou can also build the &5EV Circuit Assembler&r to unlock &bNanoprocessor Circuits&r. Keep in mind, though, that these will require Nano CPU Chips, so you’ll need a well-established fission setup to support them.\n\nMore details will be provided in the &6IV Chapter&r, so you can finally feel fully comfortable progressing into this new tier.", - "quests.extreme_voltage.moderate_core.subtitle": "That's a big upgrade", - "quests.extreme_voltage.moderate_core.desc": "It’s time for a major upgrade to your &6Fission Reactor&r. The &eFramed Moderate Cores&r come in two versions, depending on your luck. The better version allows your &dPlutonium Reactor&r to run &aone rod fully passively&r, so you can say goodbye to constantly making &bRefrigerant Pellets&r! You could also experiment by combining them with the new framed components, potentially running &atwo Plutonium Rods&r simultaneously.\n\nAlso known as the &6Graphite Line&r, the processing line to craft these new blocks is somewhat random: you might fail the craft or get a lower-tier version. This can make full automation with &dAE2&r slightly trickier, though it’s still possible with careful setup.\n\nWe’ll leave it to you to experiment and figure out the most efficient way to produce these cores.", - "quests.extreme_voltage.abs.subtitle": "We love this heater", - "quests.extreme_voltage.abs.desc": "The &6Alloy Blast Smelter&r is a very special multiblock. It works similarly to the &6EBF&r, with better coils allowing for Perfect Overclocking (see the Energy Chapter), and it can process most EBF recipes &a25%% faster&r. Note that it outputs molten fluids instead of hot ingots!\n\nOne key feature of the &6ABS&r is its ability to craft the alloys needed for &6Large Multiblock Machines&r. Essentially, every basic machine like the Macerator or the Distillery has its own multiblock, offering extensive customization options such as multiple Input/Output Buses/Hatches or even adding a Parallel Hatch.\n\nFor more details about these multiblocks, refer to the &6Gregtech Energy Chapter&r.", - "quests.extreme_voltage.ev_mixer.title": "&5EV Mixer&r", - "quests.extreme_voltage.ev_mixer.subtitle": "Faster than your local bartender", - "quests.extreme_voltage.ev_mixer.desc": "Some machines are critical for progression, and the &6Mixer&r is one of them.\n\nIt unlocks several essential alloys required to move forward, notably the &6RTM Alloy&r, which you’ll need to upgrade the coils of your &6EBF&r. This alloy is gated behind both the Tungsten Line and part of the Platline, so don’t expect it to be an easy one.\n\nSoon, you’ll also unlock the &5Large Mixer&r, which allows you to install two Energy Hatches. This could be the last time you’ll need to build a single-block Mixer, though as always, the choice is yours.", - "quests.extreme_voltage.rtm.title": "RTM Alloy", - "quests.extreme_voltage.rtm.subtitle": "Ruthenium-Tungsten-Molybdenum Alloy", - "quests.extreme_voltage.rtm.desc": "To craft &6RTM Alloy&r, you’ll need both &dRuthenium&r, a product of the infamous &dPlatline&r and &aTungsten&r, which has been made a bit harder to obtain in TFG.\n\nBefore rushing into RTM production, make sure both of these lines are running smoothly.\n\nIn regular GregTech, RTM Alloy is often just a short stepping stone, but not here. In &bTerraFirmaGreg&r, you’ll require RTM Alloy for several parts of your upcoming Fission multiblocks. Since HSS-G Coils are still far down the line, we strongly recommend using &6RTM Coils&r as a powerful upgrade for many of your existing multiblocks.", - "quests.extreme_voltage.rtm_coil.subtitle": "How hot can it get?", - "quests.extreme_voltage.rtm_coil.desc": "The &6RTM Coils&r can reach an impressive &e4500 K&r, unlocking access to Tantalum Carbide, a key material for your progression. You’ll need it to craft the &5Alloy Blast Smelter&r, and it will also greatly speed up recipes in your EBF or Nuclear Fuel Factory.\n\nThese coils can even help reduce the cost of extracting &aLunar Regolith&r and &dOstrum&r, making them valuable beyond their primary purpose.\n\nNormally, you’d move on to HSS-G rather quickly, but in &bTFG&r you won’t be able to craft your &1IV Assembler&r until you’ve completed the &5Fission Progression&r, making &6RTM Coils&r a far more important and long-lasting upgrade.", - "quests.extreme_voltage.ruthenium.title": "Ruthenium", - "quests.extreme_voltage.ruthenium.subtitle": "A rare material", - "quests.extreme_voltage.ruthenium.desc": "To help you along, here’s an overview of all the steps required to obtain &dRuthenium&r through the Platline. Don’t worry, you don’t need to complete the entire &dPlatline&r yet.\n\n(Note that &7the platline may change with &4Venus&r later.)", - "quests.extreme_voltage.gcym_alloys.title": "Large Multiblock Alloys", - "quests.extreme_voltage.gcym_alloys.subtitle": "More alloys means more fun!", - "quests.extreme_voltage.gcym_alloys.desc": "Welcome to the world of &dLarge Multiblocks&r. All these alloys will be required for a lot of upcoming multiblocks, and they all start with the &eAlloy Blast Smelter&r. Some will also be required for the &eHigh Temperature Smelting Casings&r, which are essential components for the Nuclear Multiblocks.\n\n&o&6&lLore&r:&r &oGregicality Multiblocks originally began as a mod for GTCEu on Minecraft 1.12, adding the large versions of GregTech machines and the &6Parallel Hatch&r. &oWhen GTCEu was ported to 1.20, this mod was fully integrated into &dGTm&r - &osomething no one ever complained about&r. For the 1.12 enjoyers out there, you might remember them as the &dGCYM multis&r.", - "quests.extreme_voltage.tungsten_steel.title": "Tungstensteel", - "quests.extreme_voltage.tungsten_steel.subtitle": "The main material of IV", - "quests.extreme_voltage.tungsten_steel.desc": "You know the drill at this point. &6Tungstensteel&r will be your main material for &1IV&r, and you can expect to need a very large quantity of it. Make sure you have a dedicated &6Tungsten line&r running to sustain your production before moving further.\n\nIf you ever need more &aScheelite&r or &aTungstate&r, remember that Mars has some incredibly large veins you can mine. If you are concerned about the sand worm, investing in a &bLarge Miner&r could be very helpful, as it won’t attract the sandworm.\n\nMaybe it’s because of the drilling fluid?", - "quests.extreme_voltage.tungsten.title": "Tungsten", - "quests.extreme_voltage.tungsten.subtitle": "Fully self-sustaining, just like Titanium", - "quests.extreme_voltage.tungsten.desc": "Congrats on making your first &6Tungsten&r! We hope you enjoy this small increase in complexity. Remember that, at first, the small amount of &6Tungsten&r you require can be achieved by simply inputting the &aSoda Ash&r you mined. This may inspire you to fully loop the process so you can automate it peacefully.\n\nAlso remember that the further you progress, the more important it will be to build dedicated and passive lines for all these complex processes that will be required until the end of the pack. Don’t be afraid of lacking resources, be afraid of lacking time.", - "quests.extreme_voltage.iv_hull.subtitle": "IV Already?", - "quests.extreme_voltage.iv_hull.desc": "Even though you have already unlocked the &1IV&r Machine Hull, it may not be very useful until you complete the Fission line, as &1IV&r Circuits are gated behind the processing of &dPlutonium Rods&r. Still, you may find one or two uses for it, and at least you will be ready to build the &1IV Assembler&r as soon as you unlock your first &1IV&r Circuits.", - "quests.extreme_voltage.large_miner.title": "The Large Miner MK I", - "quests.extreme_voltage.large_miner.subtitle": "Your first actually good miner", - "quests.extreme_voltage.large_miner.desc": "The &bLarge Miner&r is a very impressive multiblock for mining the formidable veins you can encounter. It will output ores in their &acrushed forms&r, and rewarding an average of 50%% more resources! It does have some limitations, as you will need to keep it chunkloaded and provide it with a constant supply of drilling fluid.\n\nWe strongly advise moving it around using the &bCopy Paste Tool&r from Building Gadgets once you unlock it. You can add a battery buffer, a large reserve of drilling fluid, and adequate storage (such as a well-upgraded Backpack or ME Chest) to ensure it runs smoothly for a long time.", - "quests.extreme_voltage.ostrum_harvester.title": "Ostrum Harvester", - "quests.extreme_voltage.ostrum_harvester.subtitle": "Better coils means less energy usage", - "quests.extreme_voltage.ostrum_harvester.desc": "The &bOstrum Harvester&r is a close cousin of the &6Lunar Regolith Harvester&r. It can also be upgraded with better coils to reduce energy costs, but it does not require a specific biome. You will need to build it over an &aOstrum Deposit&r for the multiblock to form.\n\nOne more thing: unlike the moon version, this one requires drilling fluid to operate, so you'll want to set up some two-way automation to keep it running.", - "quests.extreme_voltage.ostrum_dust.title": "Ostrum Iodide", - "quests.extreme_voltage.ostrum_dust.subtitle": "I have to do what again?!", - "quests.extreme_voltage.ostrum_dust.desc": "There are many uses for &aOstrum&r, but right now there is one you should be especially concerned about: making &aOstrum Iodide&r, as it will be required to craft your Heat Exchanger.\n\nThere is nothing too complicated about it, except maybe obtaining the &eIodine&r you need. We will let you refer to the quest on the left to make the &l6&r Iodine required to complete the Fission Line.", - "quests.extreme_voltage.formamide.title": "Formamide", - "quests.extreme_voltage.formamide.subtitle": "Also a solvent with many IRL uses", - "quests.extreme_voltage.formamide.desc": "Get ready to void any surplus you produce if you don’t want your steam production to stop.", - "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.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", - "quests.extreme_voltage.liquid_air.subtitle": "So many gases", - "quests.extreme_voltage.liquid_air.desc": "Distilling &bLiquid Air&r is a core mechanic in &6GregTech&r to obtain an &oinfinite supply&r of certain rare gases.\n\nEarth Air Distillation is a good way to get your hands on &bArgon&r, &6Oxygen&r, &eHelium&r, &3Nitrogen&r and &aCarbon Dioxide&r.", - "quests.extreme_voltage.liquid_mars_air.title": "Martian Air", - "quests.extreme_voltage.liquid_mars_air.subtitle": "Even more gases", - "quests.extreme_voltage.liquid_mars_air.desc": "Distilling &bLiquid Air&r is a core mechanic in &6GregTech&r to obtain an &linfinite supply&r of certain rare materials. Since you can’t obtain Nether Air or Ender Air in TFG, we provide an alternative with &cMartian Air&r.\n\nIt’s highly rich in &bArgon&r and &aCarbon Dioxide&r, but it can also yield rare gases such as &eNeon&r, &3Krypton&r, and &9Xenon&r, all unavailable elsewhere.\n\nNote that future updates may move around some of these Noble Gases as we finish more planets. Always remember to check the &6changelogs&r for updates!", - "quests.extreme_voltage.epoxy.title": "Epoxy", - "quests.extreme_voltage.epoxy.subtitle": "Artificial Resin", - "quests.extreme_voltage.epoxy.desc.1": "&aEpoxy&r is the foundation for all future Circuit Boards in the game!\n\n&9&lNote:&r This Quest is quite complicated, so tackle everything else before trying to make Epoxy. You'll need all the help you can get!", - "quests.extreme_voltage.epoxy.desc.2": "There are several ways to obtain the ingredients for &aEpoxy&r.\n\nWe will ignore recipes related to Glycerol, as they're never worth it.\n\nTry and use &3Large Chemical Reactors&r to shortcut recipes.", - "quests.extreme_voltage.epoxy.desc.3": "&dChlorine&r is only partially recycled, so you'll need a constant supply. Feeding it manually will be sufficient at first.\n\nRecipes involving &dSodium Hydroxide&r could be looped by electrolyzing the &9Salt Water&r co-product.\n\nDoing this will probably require you to make some Quadruple Pipes, Pump Covers, Fluid Filters... or route everything using AE2.\n\nIn general, closed loop setups are nice to prevent overproduction or overconsumption, but go for whatever's more fun for you.", - "quests.extreme_voltage.epichlorohydrin.title": "Epichlorohydrin", - "quests.extreme_voltage.epichlorohydrin.desc": "You're going to want to use the &3LCR&r recipe for your first &aEpichlorohydrin&r.\n\nThis recipe requires &aPropene&r, which means that &dOil Processing&r and &dFuel Cracking&r are now necessary ventures. We're truly sorry if you've been dragging your heels!\n\nIt's quite important that you make your first &3Distillation Tower&r before progressing to the right.\n\nLast of all, if you haven't noticed, you can loop the &dSalt Water&r byproduct to bootstrap the &dSodium Hydroxide&r.", - "quests.extreme_voltage.phenol.title": "Phenol", - "quests.extreme_voltage.phenol.desc.1": "Obtain &aPhenol&r from:\n\n&91 -&r &aWood Tar&r distillation.\n\n&92 -&r Reacting &aBenzene&r with &dChlorine&r and &dSodium Hydroxide&r This should be performed in an &3LCR&r, and the Chlorine is perfectly looped.\n\n&93 -&r Shortcutting the above recipe by ignoring the &dSodium Hydroxide&r. This is net negative on &dChlorine&r.\n\n&94 -&r Reacting &aBenzene&r, &dPropene&r and &dOxygen&r using a small amount of &4Phosphoric Acid&r - normally a catalyst, but consumed here in small quantities. This is called the Cumene process.", - "quests.extreme_voltage.phenol.desc.2": "If you're having trouble deciding between the options presented, here's the appeal of each route:\n\n&91 -&r Great if you're willing to set up a &3Pyrolyse Oven&r + &3Distillation Tower&r combo.\n\n&92 -&r This one's our preference! You can use the &dSalt&r to make more &dSalt Water&r, then electrolyze to create a loop.\n\n&93 -&r Very appealing if you have an infinite supply of &dChlorine&r. You could achieve this by setting up a &3Fluid Drilling Rig&r on a Salt Water vein.\n\n&94 -&r ...&4Phosphoric Acid&r is a pain to produce. You'd be mad to consider this.", - "quests.extreme_voltage.phenol.desc.3": "&l&3Lore:&r&o The Benzene + Oxygen recipe was added in GTCE with the intent of fixing missing chemical recipes, as the Large Chemical Reactor didn't exist. Now that CEu provides more realistic options, we may remove the recipe in future.", - "quests.extreme_voltage.acetone.title": "Acetone", - "quests.extreme_voltage.acetone.desc.1": "While distilling &aWood Vinegar&r gives &aAcetone&r, the yield is low and might not meet your needs.\n\nYou might want to use the direct &3LCR&r recipe from &aAcetic Acid&r to obtain &aAcetone&r.\n\nIf you want to be fancy, you can also the good old &aAcetic Acid&r -> &dDissolved Calcium Acetate&r -> &aAcetone&r loop, which does not require a &3LCR&r, but still recycles the Calcium compound perfectly.", - "quests.extreme_voltage.acetone.desc.2": "We've been talking about Acetic Acid, but we're yet to tell you how to obtain it. Wouldn't that be great?\n\n&aAcetic Acid&r can be synthesized in the &3Chemical Reactor&r. Our favorite recipe is from &dEthylene&r.", - "quests.extreme_voltage.aes_insulation.title": "Alkaline Earth Silicate Insulation", - "quests.extreme_voltage.aes_insulation.subtitle": "Also known as Rockwool", - "quests.extreme_voltage.aes_insulation.desc": "A new tier means a new kind of insulation!\n\nTo get started with this one, you'll want to look at the mixer recipe for &dAlkaline Earth Silicate Mixture Dust&r. Eventually, you'll be able to make an infinite supply of this on Mars through Sniffer and Wraptor shearing, as it's used for more than just your next Rocket.", - "quests.extreme_voltage.epoxy_board.subtitle": "A new board, there is more to come", - "quests.extreme_voltage.epoxy_board.desc": "Epoxy Circuit Boards are a key component required to craft your &bNano Circuits&r, but they won’t have much use outside of that purpose.", - "quests.extreme_voltage.ev_circuit_assembler.title": "The &5EV&r Circuit Assembler", - "quests.extreme_voltage.ev_circuit_assembler.subtitle": "Less useful than the Assembler for now", - "quests.extreme_voltage.ev_circuit_assembler.desc": "The &5EV Circuit Assembler&r won’t be of much use until you have a steady supply of &bNano CPU Wafers&r. Still, it will allow you to craft microprocessor circuits much faster and eventually give you access to your first &dLuV Circuits&r, which will be useful once you have an &1IV Assembler&r.", - "quests.extreme_voltage.nano_hv_circuit.subtitle": "It doesn't &olook&r that much smaller...", - "quests.extreme_voltage.nano_hv_circuit.desc": "Your first &eNano Circuits&r! They will require &bNano CPUs&r and therefore a continuous line of &cFission Reactors&r burning Plutonium Rods to produce the necessary &dTritiated Water&r.\n\nAt first, &eNano Circuits&r will feel quite expensive, but once your &dFission Line&r becomes fully passive, they will turn into one of your cheapest ones!", - "quests.extreme_voltage.nano_ev.subtitle": "Back to the usual circuit progression", - "quests.extreme_voltage.nano_ev.desc": "These could actually be cheaper to make than the &bMicroprocessor&r equivalent if you manage to mass-produce &bNano CPU&r efficiently. Once your &cFission Line&r is fully automated, these circuits will become an extremely cost-effective option for your high-end builds.\n\nAlso, note that you can use advanced SMD components from now on!", - "quests.extreme_voltage.nano_iv.subtitle": "Getting closer to LuV technology", - "quests.extreme_voltage.nano_iv.desc": "These &1IV&r Circuits still require one &bNano CPU Chip&r, so in that regard they aren’t actually cheaper than the &bMicroprocessors&r.\n\nHowever, they will be essential for progressing toward the next tier of technology.", - "quests.extreme_voltage.nano_luv.subtitle": "Your first IV circuits", - "quests.extreme_voltage.nano_luv.desc": "Congrats on successfully reaching a new tier of circuits! These &dLuV&r Circuits won’t have much use just yet, as you can’t craft any &dLuV&r machines before completing the &bPlatline&r, but they’ll still be valuable for crafting new &dAE2&r tools and components.\n\nMost of these recipes will require an &1IV&r Assembler, so be sure you have one ready.", - "quests.extreme_voltage.me_part.title": "ME Multiblock Parts", - "quests.extreme_voltage.me_part.subtitle": "Connect GregTech directly to your AE2 network", + "quests.extreme_voltage.dense_lead.title": "高密度な鉛プレートの高速化", + "quests.extreme_voltage.dense_lead.subtitle": "鉛プレート限定特別サービス", + "quests.extreme_voltage.dense_lead.desc": "原子マシン外装を作るには大量の高密度な鉛プレートが必要になるため、収量はやや減りますが、&6内破圧縮機&rを使った新しいレシピを用意しました。金属加工機の作業を永遠に待ち続けたくない場合は、ぜひこちらを活用してください。", + "quests.extreme_voltage.thorium_rod.title": "燃料棒", + "quests.extreme_voltage.thorium_rod.subtitle": "取り扱い注意", + "quests.extreme_voltage.thorium_rod.desc.1": "それぞれの&6燃料棒&rには固有の特性があり、&a耐久値&r(炉内でどれだけ長く持つか)、&c発熱量&r(どれだけ熱を生み出すか)、さらには&e生成物&rや&b蒸気の発生量&rまで異なります。\n\nこれらの情報は、各燃料棒の&aEMI&rタブからすべて確認できます。\n\nここでは、核分裂炉を運用する上で、まず理解しておくべき重要なポイントを紹介していきます。", + "quests.extreme_voltage.thorium_rod.desc.2": "・燃料棒に表示されている&eHeat:%&rは、炉内ではその値のおよそ2倍弱として扱われます。たとえば、&eトリウム燃料棒&rの&c熱量&rは70%なので、炉に十分な&b重水&rが供給されているときは、炉内の熱量は140弱になります。\n\nさらにこの熱量は&a加算式&rで積み上がるため、トリウム燃料棒を2本入れれば、炉内の総熱量はおよそ280まで上昇します。", + "quests.extreme_voltage.thorium_rod.desc.3": "・&a耐久値&rはどの燃料棒でも基本的には同じ速度で減っていきます。しかし炉の温度が高いほど早く耐久が減ります。そのため、ある燃料棒が別の燃料棒の4倍の耐久値を持っていたとしても、必ずしも4倍長持ちするとは限りません。&c温度が寿命に直接影響する&rためです。\n\n核分裂炉では、炉内に入れる燃料棒の本数や組み合わせをどう調整するかが、最初の大きな課題となります。", + "quests.extreme_voltage.fission_reactor.title": "核分裂炉", + "quests.extreme_voltage.fission_reactor.subtitle": "世界一安全な原子炉", + "quests.extreme_voltage.fission_reactor.desc.1": "まず、&6核分裂炉&rの仕組みをより深く理解したい場合――熱量計算や詳細な挙動、効率に関する数学的な部分まで知りたいなら、「&aGregTechの電力システム&r」の章にあるクエストを確認してみてください。熱システムと効率システムを理解するために必要な情報がすべて載っています。\n\nここでは、とりあえず&6トリウムでの核分裂&rに話を絞りましょう。この炉の&c基礎耐熱上限&rは&e400&rです。前のクエストでも説明したとおり、トリウム燃料棒2本で運転すると内部熱量はおよそ&e280&rとなり、安全圏に収まります。しかし3本目を追加すると、総熱量はおよそ&c420&rに達し、上限を超えるため、&cクールダウンモード&rが発動します。", + "quests.extreme_voltage.fission_reactor.desc.2": "心配はいりません。熱が上限を超えても炉心融解で爆発することなどはありません。その代わりに炉は停止し、完全に冷えるまで再起動できなくなります。その間は&a電力の生産&rも&a核分裂生成物&rの生産もすべて止まってしまい、大きなロスになります。\n\nそのため、「何本の燃料棒を稼働させるか」を調整することが、核分裂炉における最初の&6課題&rであり、いわばこのミニゲームのメインの部分です。\n\nやり方はいくつもあります。試行錯誤を楽しみましょう。\n\n一つの例として、炉に&6レッドストーンポート&rを取り付けて、&aレンチ&rで、監視モードを&e燃料棒の数&rか&c熱量&rに切り替えられます。\n\n最後に重要な点として、すべての燃料棒は&6燃料棒格納部&r内に格納されます。つまり、稼働中の燃料棒の本数を制限することは、搬入バス内に燃料棒を2本入れるというだけの単純な話ではなく、&c搬入バスに何が入るかを制御する必要がある&rということです。これによって炉の動作を精密に調整できます。", + "quests.extreme_voltage.high_pressure_steam.title": "高圧蒸気", + "quests.extreme_voltage.high_pressure_steam.subtitle": "ULVの再来", + "quests.extreme_voltage.high_pressure_steam.desc": "&4重要事項&r:高圧蒸気を排出するための搬出ハッチが埋まっている場合、その蒸気はそのまま消えてしまいます。\n\nバランス調整(およびパイプの処理能力)を理由に、&6核分裂炉&rは通常の蒸気を生み出しません。その代わり、&b高圧蒸気&rを生成し、これは&6原子力蒸気タービン&rでしか利用できません。&r\n\n標準の蒸気タービンに流そうとしても、&c動作しません&r。", + "quests.extreme_voltage.ev_superconductor.title": "EVの超伝導体", + "quests.extreme_voltage.ev_superconductor.subtitle": "超高電圧・高電流両対応", + "quests.extreme_voltage.ev_superconductor.desc": "&eウラン&rの処理を進めたら、&5三白金ウランワイヤー&rを作ってみてもいいでしょう。\n\nこの超伝導ケーブルはより多くのアンペアを流せるため、基地全体でエネルギーを効率よく送電でき、&6原子力蒸気タービン&rからの出力を損失なく各機械へ届けることができます。", + "quests.extreme_voltage.uraninite_dust.subtitle": "膨大な数の棒", + "quests.extreme_voltage.uraninite_dust.desc": "&eウラン燃料棒&rを作るには大量の&e閃ウラン鉱&rを掘り出すことが必要で、1本あたりおよそ&c240個&rほど使います。そのため、後で不足しないよう早めに採掘を始めておくことをおすすめします。\n\n火星には最大規模の鉱脈が存在するため、一つの鉱脈から大量に確保することができます。\n\nゲームを進めると、&6Ostrum_Linear_Accelerator&rを使って瀝青ウラン鉱や閃ウラン鉱を&無限&rに生産できるようになります。詳しい説明は先のクエストで確認できます。", + "quests.extreme_voltage.uranium_line.title": "ウランライン", + "quests.extreme_voltage.uranium_line.subtitle": "新しい処理ライン", + "quests.extreme_voltage.uranium_line.desc": "&eウラン&rと、その同位体である&eウラン235&rを処理するには、専用の小規模な処理ラインを用意する必要があります。\n\n安心して下さい、フッ素は&ループ可能&rなので、必要なものは&e閃ウラン鉱の粉&rだけです。\n\nこのラインは地球でも組めますが、閃ウラン鉱の大半は火星で採掘することになるため、火星で稼働させた方が便利な場合もあります。", + "quests.extreme_voltage.radioactive_waste.title": "放射性廃棄物", + "quests.extreme_voltage.radioactive_waste.subtitle": "ガラクタだっていう人もいるけど、俺は宝物って呼んでる", + "quests.extreme_voltage.radioactive_waste.desc": "放射性廃棄物は次の燃料棒づくりに欠かせない&c重要資源&rです。必ず搬出ハッチに十分な空き容量を確保しておいて下さい。搬出先がないと、&c放射性廃棄物は消滅してしまい&r、大切な資源を失うことになります。\n\n対策としては以下がおすすめです:\n-&b液体ロックを有効&rに設定した専用の搬出ハッチを使う\n-スーパータンクと発展型液体検出器の組み合わせで管理する\n\n火星で&dMEネットワーク&rを構築済みなら、新たに解禁された&6ME搬出ハッチ&rを使ってみるのもいいかもしれません。", + "quests.extreme_voltage.uranium_rod.subtitle": "念願のウラン燃料", + "quests.extreme_voltage.uranium_rod.desc.1": "これはこれは核分裂燃料の第二世代で、&eトリウム燃料棒&rと比べて耐久は&a4倍&r、発生させる蒸気量は&a5倍&rと大幅に強化されています。ただし、その分、事前に考慮すべき注意点もあります。\n\n&9生産コストと運用準備:&r\n•この燃料の製造には&eトリウム燃料棒&rを消費するため、基本的には高性能燃料棒1本につき1基の&6核分裂炉&rを割り当てるのがおすすめです。もちろん、1基の核分裂炉で複数本をうまく切り替えながら運用するという方法もあります。", + "quests.extreme_voltage.uranium_rod.desc.2": "ウラン燃料棒は1本で約&c435&rの熱を生み出すため、初期状態の許容範囲を大きく超えてしまいます。そこで、温度管理のために次の3つの主要な方法があります。\n\n&7→&r原子炉の中に&e20個の氷塊羊毛の耐熱フレーム&rを入れて&c耐熱上限&rを&e440&rまで引き上げれば、1本の燃料棒を安全に運用できます。\n\n&7→&r&6マテリアルホルダー&rに大量の&bドライアイス&rを送り込み、強制的に温度を下げることができます。ただし、この方法のためには、火星の&b液化CO2鉱脈&rを確保して、ドライアイスの供給ラインを組む必要があります。\n\n&7→&r&b冷媒ペレット&rをマテリアルホルダーに入れて冷却する方法もあります。ドライアイスとやり方はあまり変わりませんが、冷却能力はこちらの方がはるかに高いです。ただし作成にはかなりの量の&eフッ素&rを使うため、現時点では乱用できません。\n\nもちろん、これらを状況に応じて組み合わせるなど、独自の方法で解決するのもいいでしょう。", + "quests.extreme_voltage.uranium_rod.desc.3": "&eウラン燃料棒&rで核分裂炉を稼働されるには、冷却のために膨大な量の&b重水&rを消費します。稼働前に、重水を十分に生産・確保できる体制が整っていなければ、原子炉はすぐにクールダウンモードになるでしょう。\n\n供給網や冷却方法は入念に計画して下さい。これらの燃料は非常に強力ですが、そのぶん相応のインフラ整備が必須となります。", + "quests.extreme_voltage.uranium_waste.title": "ウラニウム残留物と放射性蒸気", + "quests.extreme_voltage.uranium_waste.subtitle": "残り物には福がある", + "quests.extreme_voltage.uranium_waste.desc.1": "&eウラン燃料棒&rを使った場合に出る副産物は、トリウムのときより少し複雑です。\n\n&6•ウラニウム残留物&rは&dプルトニウムライン&rの起点となる重要な素材で、そのまま即座に加工に回せます。\n\n&6•放射性蒸気&rは普通の蒸気とは違い、そのままでは扱えません。&6熱交換機&rに通すことで安全に処理され、高圧蒸気として利用できるようになります。", + "quests.extreme_voltage.uranium_waste.desc.2": "さらに、放射性蒸気は &eギ酸アンモニウム&rを加熱して&eホルムアミド&rに変換する役割も担います。ホルムアミドはプルトニウム燃料づくりの要となる中間素材です。そのため、ウラン燃料棒で高圧蒸気をエネルギー源として安定利用したい場合、まずはこの工程のために&eギ酸アンモニウム&rの供給体制を整える必要があります。\n\n&cまとめ:&rウラン燃料棒を運用する際には&eギ酸アンモニウム&rを生産し続ける専用ラインを必ず用意して下さい。ここが止まると、プルトニウム関連の工程も高圧蒸気の供給も完全にストップしてしまいます。", + "quests.extreme_voltage.ammonium_formate.title": "ギ酸アンモニウム", + "quests.extreme_voltage.ammonium_formate.subtitle": "必須栄養素", + "quests.extreme_voltage.ammonium_formate.desc": "安定して高圧蒸気を生産するためには、&eギ酸アンモニウム&rを無限に生産できる体制が必須です。これがないと&b放射性蒸気&rを高圧蒸気に変換できず、発電が止まってしまいます。ただし、生産体制の構築自体はそこまで難しくありません。\n\nまず&eギ酸&rは、火星の空気から取り出したCO₂と、水を合わせるだけで簡単に作れます。\n\nそして&eアンモニア&rは、アンモニア交じりの半重水を遠心分離して出た&e塩化アンモニウムの粉&rを電解すれば生成できます。\n\nこの工程では &b酸素&rや&b塩酸&rが余るため、余剰を破棄してラインが詰まらないようにし、&eギ酸アンモニウム&rの生産が滞らないようにして下さい。", + "quests.extreme_voltage.nuclear_residue_dust.title": "核分裂残留物の粉", + "quests.extreme_voltage.nuclear_residue_dust.subtitle": "空の大怪獣の卵", + "quests.extreme_voltage.nuclear_residue_dust.desc": "&e核分裂残留物の粉&rは、&dプルトニウムライン&rのための重要な素材です。火星で&5EVガス圧縮機&rを使うことで生産できます。\n\nこの処理では副産物として&bラドン&rも生成されます。後の工程でラドンを使う場面はあるものの、当面の間はここが唯一の安定供給源になります。\n\n&e核分裂残留物&rの生産には複雑な循環工程を組む必要がありません。核分裂炉と熱交換機からの生産物に&e火星の泥漿&rを混ぜて&6ガス圧縮機&rで加工するだけで核分裂残留物の粉が生成され、そのまま次のプルトニウムラインに利用できます。", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.subtitle": "悪魔の卵", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.1": "ここから先は、&dプルトニウムライン&rのための複雑な循環工程を組む必要があります。\n\n&b酸化核分裂残留物の粉&rを作るには&b二フッ化二酸素&rが必要です。\nその際、フッ素は&bフッ化水素酸&rを電解して回収することで、ループさせることができます。", + "quests.extreme_voltage.oxidized_nuclear_residue_dust.desc.2": "この工程は処理時間が長いため、ループを安定して回すために、ある程度まとまった量のフッ素を確保してから始めることを強くおすすめします。\n\nタンクが一杯になったりバッファが詰まったりすると、ライン全体が止まってしまい、わざわざ火星まで飛んでいって対処する羽目になります。&aスーパータンク&rや、必要な液体だけ受け入れるようフィルタリングと余剰を廃棄するよう設定した&aストレージセル&rなどで管理すると安全です。\n\nさらに、このレシピでは&e残留放射性混合物&rが副産物として生産されます。これは将来的に&6オストラムリニアアクセラレーター&r(火星での無限鉱石生成)や&6Growth Chamber&r(バイオエンジニアリング導入)、さらに火星外の &6Fission Reactors&rでも利用する重要資源になるため、極力捨てずに確保しておくことをおすすめします。", + "quests.extreme_voltage.refined_nuclear_dust.subtitle": "フッ素を大切に", + "quests.extreme_voltage.refined_nuclear_dust.desc": "&e精製核分裂残留物の粉&rを作る工程で発生するフッ化水素酸からフッ素を取り出し、それを再び&b二フッ化二酸素&rの生成に回すことで、フッ素をループさせられます。\n\n蒸留水については問題ないでしょう。酸素が余った場合は、必要に応じて自動で破棄するようにしましょう。\n\nこのレシピは処理速度が非常に遅いので、電力に余裕があるなら &6大型遠心分離機&rで高速化してもいいかもしれません。ただし、序盤で電力を浪費しすぎると全体の進行に差支えが出るため、運用には慎重さが求められます。", + "quests.extreme_voltage.plutonium.title": "プルトニウム", + "quests.extreme_voltage.plutonium.subtitle": "デーモンコア", + "quests.extreme_voltage.plutonium.desc": "ついにプルトニウムに辿りつきました!今のところ用途は&dプルトニウム燃料棒&rの作成だけなので、大量に貯蔵しておく必要はありません。\n\nプルトニウム精製時に発生した蒸気はそのまま捨てるか通常の蒸気タービンで使えます。通常の蒸気は&6原子力蒸気タービン&rで使えないので気を付けてください&r。", + "quests.extreme_voltage.plutonium_rod.subtitle": "エネルギー問題に終止符を打つ", + "quests.extreme_voltage.plutonium_rod.desc.1": "はっきりと申し上げます。&dプルトニウム燃料棒&rは作成に手間こそかかりますが、その性能はまさに&a悪魔級&rです。\nウラン燃料棒と比べて約&e4倍の高圧蒸気&rを生み出すため、常時稼働していなくとも火星基地の設備増強が可能になるほどの強力な燃料です。", + "quests.extreme_voltage.plutonium_rod.desc.2": "ただし、この燃料棒は&cとてつもない熱&rを生み出すため注意が必要です。熱量は最高で&6595&rにもなるため、現状では&b冷媒ペレット&rを使わない限り安全運転はできません。\n右側のクエストに、この材料の詳しい説明があります。冷媒ペレットは&6マテリアルホルダー&rに投入して使います。\n\nとはいえ、&6マテリアルホルダー1つ&rで、炉内の熱を&e430&rまで下げられるため、&f氷塊羊毛の耐熱フレーム&rで十分なレベルになります。\n&6マテリアルホルダー&rを2つ使えば、炉を完全な安定状態に保つことができます。", + "quests.extreme_voltage.tritiated_water.title": "トリチウム水", + "quests.extreme_voltage.tritiated_water.subtitle": "水素水の3倍の効能!", + "quests.extreme_voltage.tritiated_water.desc": "&bトリチウム水&rは、&eNanoCPUウェハー&rの作成、そして最終的に&6IV回路&rを作るために欠かせない重要素材です。\n\nさらに、オストラムリニアアクセラレーターでも必要になったり、電解して&6三重水素ガス&rに変換することもできますが、それが必要になるのはまだまだ先です。\n\n&cマジ&rの注意——&bトリチウム水&rは極めて貴重なので、一滴たりとも無駄にしないよう細心の注意を払って扱ってください!", + "quests.extreme_voltage.nano_cpu_wafer.subtitle": "こちらお高くなっております!", + "quests.extreme_voltage.nano_cpu_wafer.desc": "&dNanoCPUウェハー&rは、IV回路を作るための最初の関門であり、&b64kストレージコンポーネント&rを作るためにも必須となる重要素材です。\n\nこれから先の上位回路は、&eいかなる方法で作る場合でも&r、このウェハーを大量に消費するため、本当に大量の確保が必要になります。\n\nさらに、IV時代のバッテリーである&dラポラトニックエネルギーオーブ&rの製造にも要求されます。\n\n目安として、&bプルトニウム燃料棒1本&rから生成される量のトリチウム水から、&eちょうど9枚のNanoCPUウェハー&rを作ることができます。", + "quests.extreme_voltage.first_iv_circuit.title": "メインフレーム - 初のIV回路", + "quests.extreme_voltage.first_iv_circuit.subtitle": "EVはもう終わりか?", + "quests.extreme_voltage.first_iv_circuit.desc": "ようやく新しい回路を手に入れ、新たなステージへと進むことができます。選択肢は一気に広がりますが、まず最初に目指すべきは &6IV組立機&r です。これを作れるようになると、炉のコンポーネントである&eモデレートコアの耐熱フレーム&rを作成でき、炉の&c耐熱上限&rが大幅に向上し、冷媒ペレットに頼らずに安定稼働できるようになります。\n\nさらに、&5EV回路作成機&rを作れば&bナノプロセッサー系統の回路&rが解禁されます。もちろん、これらの回路にはNanoCPUチップが必要になるため、安定した核分裂システムが整っていることが前提になります。\n\n詳細は&6IV&rの章でしっかり説明されているので、新しいティアへ進むにあたり安心して準備を進められるはずです。", + "quests.extreme_voltage.moderate_core.subtitle": "素晴らしいアップグレード", + "quests.extreme_voltage.moderate_core.desc": "ここまでくれば&6核分裂炉&rを本格的に強化することができます。&eモデレートコア耐熱フレーム&rは2種類あり、どちらを作れるかは運次第です。\n\n性能の良い方なら、&dプルトニウム燃料棒1本&rの核分裂炉を&a冷却材の供給なしで&r稼働できるようになります。これで、面倒な&bR冷媒ペレット&r作りから解放されます。もちろん、冷却材と組み合わせれば、&a2プルトニウム燃料棒2本&rで稼働できる可能性もあります。\n\nこのコアを作る工程は「&6グラファイトライン&r」と呼ばれます。失敗したり性能が低いコアができてしまうなど、ランダム要素を楽しむことができます。そのため&dAE2&rによる全自動化は少し工夫が要りますが、不可能ではありません。\n\n最適なやり方というのは環境によっても変わるため、ぜひ実際に構築しながら効率の良い方法を見つけてみてください。", + "quests.extreme_voltage.abs.subtitle": "溶かして混ぜちゃえ", + "quests.extreme_voltage.abs.desc": "&6合金高炉&r(通称:ABS)は、かなり特別なマルチブロックです。&6EBF&rに似た仕組みをしており、高性能なコイルを使えば「POC」が可能になります。また、EBFのほとんどのレシピを&a通常より25%速く&r処理できるのも大きな強みです。なお、インゴットではなく「熔融液体」になる点はご注意ください。\n\nABSの最大の利点は、&6大型機械&rの構築に必要となる合金を作れることです。粉砕機や蒸留機のような基本機械には、それぞれ大型版(マルチブロック版)が存在し、搬入・搬出ハッチの増設や並列制御ユニットの追加など、柔軟にカスタマイズできます。\n\n大型機械の詳しい仕組みについては、「&6Gregtechの電力システム&r」の章をご覧ください。", + "quests.extreme_voltage.ev_mixer.title": "&5EVミキサー&r", + "quests.extreme_voltage.ev_mixer.subtitle": "バーテンダーより混ぜ上手", + "quests.extreme_voltage.ev_mixer.desc": "&6ミキサー&rは進行において非常に重要です。新しい合金をいくつも扱えるようになり、その中でも&6RTM合金&rは必須です。これは&6EBF&rの新しいコイルに使う合金ですが、タングステンラインと白金族ラインの両方をある程度進めないと作れないため、やや作るのが難しいです。\n\nいずれは&5大型混合機&rも開放され、エネルギーハッチを2基搭載できるようになります。小型のミキサーを作るのはこれが最後になるかもしれません。", + "quests.extreme_voltage.rtm.title": "RTM合金", + "quests.extreme_voltage.rtm.subtitle": "Ruthenium-Tungsten-Molybdenum合金", + "quests.extreme_voltage.rtm.desc": "&6RTM合金&rを作るには、白金族ラインで確保できる&dルテニウム&rと、TFGでは入手難度が上がっている&aタングステン&rの両方が必要になります。\n\nRTMを量産したい場合は、まずこの二つのラインの安定稼働を目指しましょう。\n\n通常のGregTechではRTM合金はそれほど重要ではない中間素材ですが、TFGでは事情が異なります。これから作る核分裂関連のマルチブロックでRTM合金を多用することになるのです。\n\nまた、HSS-Gコイルを作れるのはさらに先になるので、今は&6RTMコイル&rを使うのがおすすめです。", + "quests.extreme_voltage.rtm_coil.subtitle": "RealTrainModじゃないですよ", + "quests.extreme_voltage.rtm_coil.desc": "&6RTMコイル&rは最大&e4500K&rの高温を扱えるため、ゲーム進行にとても重要な炭化タンタルの製造が可能になります。&5合金高炉&rの作成に必須で、EBFや核燃料成形機の処理速度も大きく向上します。\n\nさらに、このコイルは&a月面堆積粉塵&rや&dオストラム&rの抽出コストを下げることにも役立ってくれます\n\n通常のGregTechならすぐ次のHSS-Gを作る流れですが、TFGでは&5核分裂関連の進行&rを終えるまで&1IV組立機&rを作れないため、&6RTMコイル&rが長い間活躍してくれるでしょう。", + "quests.extreme_voltage.ruthenium.title": "ルテニウム", + "quests.extreme_voltage.ruthenium.subtitle": "レアメタル", + "quests.extreme_voltage.ruthenium.desc": "白金族ラインで&dルテニウム&rを手に入れるまでの全体的な流れをまとめておきました。\n\nただし、今の段階ですべての&d白金族ライン&rを完成させる必要はないのでご安心ください。\n\n(なお、&7白金族ラインは今後予定されている&4金星&rアップグレードの際に変更される可能性があります&7。)", + "quests.extreme_voltage.gcym_alloys.title": "大型機械用合金", + "quests.extreme_voltage.gcym_alloys.subtitle": "また合金か...?また合金なのか...!?", + "quests.extreme_voltage.gcym_alloys.desc": "&d大型機械&rの運用がついに始まります!これから作る多くの大型機械には大量の合金が必要になり、その入口となるのが&e合金高炉&rです。核分裂炉系の機械に用いる&e高温製錬用マシン外装&rの素材のためにも必要になります。\n\n&o&6&l余談&r:&r &o「Gregicality Multiblocks」はMinecraft1.12のGTCEuのためのModで、大型版のGT機械と&6並列制御ユニット&rを追加したんだ。それで、後にGTCEuが1.20へと移植された際に、このModは&dGTm&rにそのまま組み込まれたんだ。もちろん、誰も文句を言ったりしなかったよ。1.12時代を遊んでいた人だったら、当時は&dGCYMマルチ&rと呼ばれていたのを覚えているかもね。", + "quests.extreme_voltage.tungsten_steel.title": "タングステンスチール", + "quests.extreme_voltage.tungsten_steel.subtitle": "IVのメイン金属", + "quests.extreme_voltage.tungsten_steel.desc": "あなたの想像通り、&6タングステンスチール&rは&1IV&rの進行の核となる素材で、とにかく大量に使います。先に進む前に、安定生産するための&6タングステンライン&rを必ず整えておきましょう。\n\nもし&a灰重石&rや&aタングステン酸塩&rが不足していても、火星にはとても巨大な鉱脈が眠っているので心配ありません。サンドワームが怖い場合は、&b大型採掘機&rを使うのがおすすめです。大型採掘機はサンドワームを呼び寄せないので安全に採掘できます。\n...掘削油に虫除け効果があるんですかね?", + "quests.extreme_voltage.tungsten.title": "タングステン", + "quests.extreme_voltage.tungsten.subtitle": "チタンより上位の金属。テラリアは忘れてください", + "quests.extreme_voltage.tungsten.desc": "まずは大変な工程を超えて&6タングステン&rを製造したことを称えましょう。元の工程から少しだけ変化していますが、きっとそれも楽しんでいただけたでしょう。タングステンを少しだけ使いたいというときは、&a炭酸ナトリウム&rを無理にループさせず、そのまま使うだけでも構いません。これをきっかけに、工程を完全にループさせて自動化したくなるかもしれません。\n\n先に進むほどに、終盤の複雑な工程の基礎を支えるための、パッシブラインを整える重要性が増していきます。そのうち、資源よりも時間が足りなくなってきますからね...", + "quests.extreme_voltage.iv_hull.subtitle": "IV到達?", + "quests.extreme_voltage.iv_hull.desc": "すでに&1IV&rマシン筐体は作れたかもしれませんが、&1IV&r回路は&dプルトニウム燃料棒&rの加工を進めるまで入手できないため、核分裂ラインが完成するまではあまり使い道はないかもしれません。\nとはいえ、いくらかの使い道はありますし、&1IV&r回路さえ手に入れれば、そのまま&1IV組立機&rをすぐに作ることができるはずです。", + "quests.extreme_voltage.large_miner.title": "大型採掘機MK I", + "quests.extreme_voltage.large_miner.subtitle": "今日からはこいつに任せよう", + "quests.extreme_voltage.large_miner.desc": "&b大型採掘機&rは、巨大な鉱脈を自動で掘り尽くしてくれる、とても頼もしい大型機械です。鉱石は&a粉砕された状態&rで出力され、産出量は通常の50%増です!ただし、チャンクが読み込まれていること、そして掘削油を絶えず供給し続けることが必要です。\n\n運用の際は、「Building Gadgets」の「&bCopy Paste Gadget&r」を使えば移設も簡単です。蓄電器、十分な量の掘削油、さらに強化バックパックやMEチェストといった大容量ストレージを組み合わせれば、安定して稼働させられます。", + "quests.extreme_voltage.ostrum_harvester.title": "オストラムハーベスター", + "quests.extreme_voltage.ostrum_harvester.subtitle": "良いコイルを使って節電しよう", + "quests.extreme_voltage.ostrum_harvester.desc": "&bオストラムハーベスター&rは、&6ムーンハーベスター&rに非常によく似た装置です。良いコイルに交換して省エネ化できる点は共通しています。こちらは特定バイオームでなくても機能しますが、その代わり、&aオストラムが混じった砂&rの真上に建てる必要があります。\n\nまた、ムーンハーベスターと違って、こちらは稼働に掘削油が必要です。そのため、掘削液の供給ラインも組んだ方が良いでしょう。", + "quests.extreme_voltage.ostrum_dust.title": "ヨウ化オストラム", + "quests.extreme_voltage.ostrum_dust.subtitle": "何をどうすればいいの?", + "quests.extreme_voltage.ostrum_dust.desc": "&aオストラム&rにはさまざまな使い道がありますが、今の段階で最も重要なのは&aヨウ化オストラム&rの製造です。これは熱交換機を作るために必要な素材です。\n\n基本的に難しい工程はありませんが、&eヨウ素&rの確保だけは少し苦労するかもしれません。核分裂ラインを進めるには&l6&r個のヨウ素が必要です。作り方については、左のクエストを参照しましょう。", + "quests.extreme_voltage.formamide.title": "ホルムアミド", + "quests.extreme_voltage.formamide.subtitle": "現実でもよく使われています", + "quests.extreme_voltage.formamide.desc": "バッファーが詰まって蒸気生産が停止しないよう、余剰は破棄するように設定しておくことをおすすめします。", + "quests.extreme_voltage.radioactive_concoction.title": "残留放射性混合物", + "quests.extreme_voltage.radioactive_concoction.subtitle": "これを捨てるなんてとんでもない!", + "quests.extreme_voltage.radioactive_concoction.desc": "&d残留放射性混合物&rは、核分裂ラインで発生するとても重要な副産物です。主な役割は、&bオストラムリニアアクセラレーター&rを使って無限鉱石を作り出すことです。&bGrowth_Chamber&rの解放にも必須です。\n\n火星以外で核分裂炉を運用したい場合、この液体を途切れず供給し続ける仕組みが欠かせません。", + "quests.extreme_voltage.ostrum_linear.subtitle": "さらなる無限化", + "quests.extreme_voltage.ostrum_linear.desc": "&bオストラムリニアアクセラレーター&rは、核分裂ラインで作られるさまざまな素材を利用して、資源を生産することができる便利な装置です。&b搬入バス&rや&b搬入ハッチ&rを多く取り付けることができ、処理速度も非常に速いので、基本的には1台で全レシピをまかなえる性能があります。\n\n入力・出力の混雑を防ぐために、色分け用の&eスプレー缶&rをいくつか作っておくのがおすすめです。例えば、搬入バスと搬入ハッチを同じ&9青色&rに染めれば、そのペアだけがつながり、レシピの取り違えや詰まりを防ぐことができます。", + "quests.extreme_voltage.pss.subtitle": "圧倒的蓄電量", + "quests.extreme_voltage.pss.desc": "&e大型蓄電器&rは、以前までは&1IV&rで解放されましたが、現在は&5EV&rから使えるようになりました。そのため、火星に築き上げた拠点で利用するということもできます。核分裂発電は安定させるのが難しいため、かなり役立つと思います。もちろん、必須ではありませんが。\n\n詳しい動作や仕組みを知りたい場合は、「&aGregTechの電力システム&r」の章にある解説を参照しましょう。", + "quests.extreme_voltage.liquid_air.title": "地球の空気", + "quests.extreme_voltage.liquid_air.subtitle": "あなたの大好物", + "quests.extreme_voltage.liquid_air.desc": "&b液体空気&rの蒸留によって、希ガスを&o無限に&r安定生産することができます。これは&6GregTech&rを進めるうえで非常に重要な工程です。\n\n空気(地球産のものですよ)を蒸留すれば、&bアルゴン&r、&6酸素&r、&eヘリウム&r、&3窒素&r、そして&a二酸化炭素&rといった主要ガスをまとめて確保できるので、とても便利です。", + "quests.extreme_voltage.liquid_mars_air.title": "火星の空気", + "quests.extreme_voltage.liquid_mars_air.subtitle": "あなたの隣人の大好物", + "quests.extreme_voltage.liquid_mars_air.desc": "&b液体空気&rの蒸留は、特定の希少資源を&l無限に&r安定生産するための、&6GregTech&rでも特に重要な基本システムです。TFGではネザーの空気やエンダーの空気が手に入らないため、その代わりとして&c火星空気&rが用意されています。\n\n火星の空気には&bアルゴン&rと&a二酸化炭素&rが豊富に含まれているほか、&eネオン&r、&3クリプトン&r、&9キセノン&rといった他の場所では確保できない希ガスも抽出できます。\n\n注意:今後のアップデートで、これら希ガスの入手経路が新しい惑星の追加に合わせて変更される可能性があります。アプデの際は&6変更履歴&rのチェックをお忘れなく!", + "quests.extreme_voltage.epoxy.title": "エポキシ", + "quests.extreme_voltage.epoxy.subtitle": "人工樹脂", + "quests.extreme_voltage.epoxy.desc.1": "&aエポキシ&rは、これから先に登場するあらゆる回路基板の土台となる、とても重要な素材です!\n\n&9&l注意:&rこのクエストはやや手間がかかるため、まずはほかの作業を進めて様々な資源を揃えてから挑んだ方がいいです。資源や設備が整っているほどスムーズに進められます。", + "quests.extreme_voltage.epoxy.desc.2": "&aエポキシ&rを作るための素材には複数の入手経路があります。\n\nグリセロールを使う経路のレシピはコスパが悪いので完全に除外して構いません。\n\n&3大型化学反応炉&rを使うことで、いくつかのレシピをショートカットすることができます。", + "quests.extreme_voltage.epoxy.desc.3": "&d塩素&rは完全にループされることができないので、外部からの供給が必要です。最初は手動でつぎ足すのでも十分でしょう。\n\n&d水酸化ナトリウム&rを使うレシピは、副産物の&9塩水&rを電解することでループできます。\n\n最善を尽くすなら、四重パイプやポンプカバー、液体フィルターなどを用意したり、思い切ってAE2で全ラインを制御する必要があるでしょう。\n\n閉鎖ループ構成は生産過多・消費過多の防止に便利です。最終的にどの方法を選ぶかは自分で選びましょう。", + "quests.extreme_voltage.epichlorohydrin.title": "エピクロロヒドリン", + "quests.extreme_voltage.epichlorohydrin.desc": "最初の&aエピクロロヒドリン&rは、&3LCR&rレシピでスムーズにつくることができます。\n\nただしこのレシピには&aプロペン&rが必要です。そのためには本格的に&d原油処理&rや&dクラッキング&rに手を出す必要があります。もしあなたが原油処理を後回しにし続けていたのだとしたら、ついに向き合う時が来たということですよ。\n\nまた、&3蒸留塔&rは絶対に建てておきましょう。原油処理において非常に重要な機械です。\n\nそして副産物の&d塩水&rはループさせることで&d水酸化ナトリウム&rを自給できるので、気づいていなかった場合はぜひ活用してください。", + "quests.extreme_voltage.phenol.title": "フェノール", + "quests.extreme_voltage.phenol.desc.1": "&aフェノール&rの製作経路は多岐に渡るため、ここでは特に主流な4つの方法を紹介します:\n\n&9(1)&r&a木質タール&rを蒸留する。もっともシンプルな方法です。\n\n&9(2)&r&aベンゼン&r、&d塩素&r、&d水酸化ナトリウム&rの化学反応。&3LCR&rで行えば塩素を完全に循環できるため、とても安定した作り方です。\n\n&9(3)&r上のレシピから&d水酸化ナトリウム&rを抜いて時短する方法。ただし&d塩素&rが減っていくのでコストは悪めです。\n\n&9(4)&r &aベンゼン&r、&dプロペン&r、&d酸素&rを少量の&4リン酸&rと反応させる「クメン法」。リン酸は本来触媒ですが、このレシピでは少しずつ消費されます。", + "quests.extreme_voltage.phenol.desc.2": "どの選択肢にするか悩んでいる方に向けて、それぞれの魅力を紹介します。\n\n&9(1)&rは&3熱分解炉&rと&3蒸留塔&rをセットで稼働させる余裕があれば、とても良い方法です。\n\n&9(2)&rは私たちがおすすめする方法です!副産物の&d塩&rから&d塩水&rを作り、それを電解することでベンゼン以外を循環させられるので扱いやすいです。\n\n&9(3)&rは&d塩素&rを無限に確保できていれば優秀な方法です。たとえば塩水の鉱脈に&3大型液体採掘機&rを設置するなどの方法があります。\n\n&9(4)&rは...&4リン酸&rの製造には本当に手間がかかるので...このルートはかなり厳しいですよ。", + "quests.extreme_voltage.phenol.desc.3": "&l&3余談:&r&o昔は大型化学反応炉がなかったから、足りない化学レシピを補う目的でベンゼン+酸素のレシピがGTCEに追加されてたんだ。でも今はCEuで現実的な処理方法が用意されたから、このレシピは将来削除されるかも。", + "quests.extreme_voltage.acetone.title": "アセトン", + "quests.extreme_voltage.acetone.desc.1": "&a木酢&rを蒸留すれば&aアセトン&rは作れますが、収率が低くて必要量には届かないことがあります。\n\nしっかり量を確保したいなら、&a酢酸&rから直接&3LCR&rで合成するレシピを使うのがおすすめです。\n\nさらにこだわるなら、&a酢酸&r→&d酢酸カルシウム溶液&r→&aアセトン&rという循環レシピも利用できます。&3LCR&r不要で、無駄なく循環できる優秀な方法です。", + "quests.extreme_voltage.acetone.desc.2": "ここまで&a酢酸&rの話をしてきましたが、肝心の作り方をまだ説明していませんでしたね。そろそろ知りたいところではないでしょうか。\n\n&a酢酸&rは&3化学反応器&rで精製できます。私たちとしては&dエチレン&rを使うレシピが最もおすすめです。", + "quests.extreme_voltage.aes_insulation.title": "アルカリアースシリケート断熱材", + "quests.extreme_voltage.aes_insulation.subtitle": "またの名をロックウール", + "quests.extreme_voltage.aes_insulation.desc": "ティアが上がると、新しいタイプの断熱材が必要になります!\n\nまずはミキサーで&dアルカリアースシリケート混合物の粉&rのレシピを確認してみましょう。\n\n進めていけば、スニッファーやラプターの毛を刈ることで火星にてこの粉末を無限に生産できるようになります。これは次のロケットだけでなく、さまざまな用途で使う重要な素材です。", + "quests.extreme_voltage.epoxy_board.subtitle": "将来性のある回路基板", + "quests.extreme_voltage.epoxy_board.desc": "エポキシ樹脂回路基板は&bナノ回路&rを作成するための重要素材ですが、それ以外で使う場面はほとんどありません。", + "quests.extreme_voltage.ev_circuit_assembler.title": "&5EV&r回路作成機", + "quests.extreme_voltage.ev_circuit_assembler.subtitle": "将来性のある回路作成機", + "quests.extreme_voltage.ev_circuit_assembler.desc": "&5EV回路作成機&rは、&bNanoCPUウェハー&rを十分に確保できるようになるまでは大きな活躍はしません。とはいえ、これを使えばマイクロプロセッサー系の回路を高速で作成できるようになり、やがては&dLuV回路&rを作れるようにもなります。&1IV組立機&rを入手したあとからはとても役立つようになります。", + "quests.extreme_voltage.nano_hv_circuit.subtitle": "こんなの作れないよ!", + "quests.extreme_voltage.nano_hv_circuit.desc": "ついに&eナノ回路&rの制作段階に入りました!これを作るには&bNanoCPUチップ&rが必要で、そのためにはプルトニウムロッドから&dトリチウム水&rを生産するための&c核分裂炉&rの常時稼働ラインが必須です。\n\n作り始めの頃は&eNano回路&rがどうしようもないほど高コストに思うかもしれませんが、&d核分裂ライン&rを完全自動化してしまえば、一気に最安クラスの回路へと変貌します!", + "quests.extreme_voltage.nano_ev.subtitle": "回路が小さすぎる", + "quests.extreme_voltage.nano_ev.desc": "&bNanoCPU&rの量産体制さえ整えば、これらの回路は&bマイクロプロセッサー&r系より簡単に作れるようになってしまうかもしれません。&c核分裂ライン&rの完全自動化さえ済ませれば、上位の機械を作るのもかなり楽になります。\n\nまた、ここから先は上位のSMD部品も使えるようになることも覚えておいてください!", + "quests.extreme_voltage.nano_iv.subtitle": "LuVの技術力に接近しつつある", + "quests.extreme_voltage.nano_iv.desc": "こちらの&1IV&r回路も&bNanoCPUチップ&rを1つ使うという点では&bマイクロプロセッサーメインフレーム&rと同等のコストと言えます。とはいえ、こちらは次の段階へ進むために欠かせない重要な回路でもあります。", + "quests.extreme_voltage.nano_luv.subtitle": "初めてのIV回路", + "quests.extreme_voltage.nano_luv.desc": "&dLuV&r回路の作成、おめでとうございます!&b白金族ライン&rを完遂するまでは&dLuV&r機械を作ることができませんが、それまでは&dAE2&rの新しい強力な装置たちを作るのに使えます。\n\n多くのレシピで&1IV&r組立機が必要になるので、事前に用意しておくことをおすすめします。", + "quests.extreme_voltage.me_part.title": "MEマルチブロックパーツ", + "quests.extreme_voltage.me_part.subtitle": "GregTechとAE2を直接接続", "quests.extreme_voltage.me_part.task": "Any ME Bus or Hatch", - "quests.extreme_voltage.me_part.desc": "These blocks can replace your usual Input and Output Buses/Hatches in multiblocks. The &bOutput&r versions are particularly useful as they can store a massive amount of items or fluids, more than enough to handle most setups. This makes them perfect for sharing resources between multiblocks, or avoiding output clogging.\n\nThey connect directly to &dAE2&r cables, letting you skip the use of Storage Buses or Interfaces. However, be careful because they behave like Interfaces, not as actual storage. This means you can’t access their contents through another Interface.", - "quests.extreme_voltage.tunsgten_line_step.title": "Looping Soda Ash", - "quests.extreme_voltage.tunsgten_line_step.subtitle": "You may not want to mine it forever", - "quests.extreme_voltage.tunsgten_line_step.desc.1": "Looping the &5Tungsten Line&r perfectly isn’t the easiest task, so we’ll use this quest to guide you in the right direction.\n\nThe &bSalt&r you obtain should be combined with &aCarbon Dioxide&r and &6Ammonia&r to produce &3Ammonium Chloride&r, which you can then electrolyze to recycle your &6Ammonia&r and obtain the &9Hydrochloric Acid&r needed for &eSodium Tungstate&r.\n\nThis process also produces &bSodium Bicarbonate&r, which you should electrolyze to recover your &dSoda Ash&r.", - "quests.extreme_voltage.tunsgten_line_step.desc.2": "Finally, to close the loop, you need to manage your &aCarbon Dioxide&r. You can either split a portion of your &dSoda Ash&r and electrolyze it to recover &aCarbon&r and &9Oxygen&r, allowing you to get back some &aCarbon Dioxide&r, or brute force it by using &bLiquid Air&r distillation to produce an infinite supply of &aCarbon Dioxide&r.", - "quests.extreme_voltage.tunsgten_line_step_1.title": "The new Tungsten Line", - "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "Why? Just why?", - "quests.extreme_voltage.tunsgten_line_step_1.desc": "The &eTungsten Line&r in TerraFirmaGreg has been completely reworked and you’ll be happy (or not) to know that it’s now &cmuch harder&r.\n\nIt’s possible to &afully loop&r every material in the Tungsten Line, but doing so requires a lot of engineering. Alternatively, you can brute-force your way through by &cmass-producing&r the resources you need.\n\nA little tip: &4Mars&r has several &agood ore veins&r for &eSoda Ash&r and &eTungsten&r.\n\nTake your time, optimize, and the Tungsten Line will become the foundation of your mid-to-late game progress.", - "quests.extreme_voltage.tunsgten_line_step_2.title": "Last part of the Tungsten Line", - "quests.extreme_voltage.tunsgten_line_step_2.subtitle": "This part loops itself", - "quests.extreme_voltage.tunsgten_line_step_2.desc": "Once you’ve obtained the &bTungstic Acid&r and looped the &cSoda Ash&r, you’ve completed the hardest part. From here, you’ll only need an &6Evaporation Tower&r to fully loop the &aHydrogen&r required for the &6Arc Furnace&r, and a &6Pyrolyse Oven&r to recover the &3Ammonia&r you used at the start.\n\nNothing too difficult, so enjoy your &5Tungsten&r!", - "quests.extreme_voltage.advanced_fluid_rig.title": "Extreme Fluid Drilling", - "quests.extreme_voltage.advanced_fluid_rig.subtitle": "Extreme is an apt descriptor", - "quests.extreme_voltage.advanced_fluid_rig.desc.1": "At the cost of 4x the drilling Power, the &3Advanced Fluid Drilling Rig&r gains &616x the output&r in Fluid.\n\nThe depletion of veins is also halved. This means you will get a total of &632x&r as much Oil (or whatever fluid) from a bedrock fluid vein until depletion!\n\nEven when depleted, you can still use this and be firmly power positive.\n\nOne single &3Advanced Fluid Drilling Rig&r should be enough to supply Power for a base up to &dLuV&r... and possibly beyond!", - "quests.extreme_voltage.advanced_fluid_rig.desc.2": "As a &9reminder&r, since this last appeared in &bMV&r:\n\n&9-&r &aLight Oil&r can be used for &dLPG&r and &dMethane&r to run in &3Large Gas Turbines&r.\n\n&9-&r &aOil&r can be used for &dDiesel&r and &dCetane-Boosted Diesel&r to run in &3Large Combustion Engines&r.\n\n&9-&r &aHeavy Oil&r can be used for &dNitrobenzene&r to run in &3Large Gas Turbines&r.", + "quests.extreme_voltage.me_part.desc": "これらのブロックは、マルチブロックを組み立てる際に普段使っている搬入・搬出バス/ハッチの代わりとして使用できます。特に&b搬出&r版は非常に便利で、大量のアイテムや液体を保管でき、ほとんどのレシピを処理するのに十分すぎるほどの容量があります。そのため、マルチブロックの共有や、排出詰まりを防いだりするのに最適です。\n\nさらに、これらは&dAE2&rケーブルに直接接続できるため、ストレージバスやインターフェースを挟む必要がありません。ただし注意点として、実際のストレージとしての容量は存在しないため、パターンプロパイダーや手動での搬出入などで内容物へアクセスすることはできません。", + "quests.extreme_voltage.tunsgten_line_step.title": "炭酸ナトリウムの循環構成", + "quests.extreme_voltage.tunsgten_line_step.subtitle": "もう採掘は必要なし!", + "quests.extreme_voltage.tunsgten_line_step.desc.1": "&5タングステンライン&rを完全に循環させるのは簡単ではないため、このクエストでは正しい進め方を案内します。\n\nまず&b塩&r、&a二酸化炭素&r、&6アンモニア&rを組み合わせて&3塩化アンモニウム&rを作ります。その後、これを電解することで&6アンモニア&rを再利用でき、さらに&eタングステン酸ナトリウム&rの作成に必要な&9塩酸&rを得られます。また、この工程では &b炭酸水素ナトリウム&rも生成されるため、電解して&d炭酸ナトリウム&rを回収しましょう。", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "完全な閉鎖ループを作るには、&a二酸化炭素&rの管理が必要になります。これには&d炭酸ナトリウム&r の一部を分解して電解し、&a炭素&rと&9酸素&rを回収して、そこから&a二酸化炭素&rを回収する方法があります。\n\n力技ですが、&b液体空気&rの蒸留で無限生産した&a二酸化炭素&rを供給し続けるという方法もあります。", + "quests.extreme_voltage.tunsgten_line_step_1.title": "新しいタングステンライン", + "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "どうしてそんなことするの?", + "quests.extreme_voltage.tunsgten_line_step_1.desc": "TerraFirmaGregの&eタングステンライン&rは全面的に改修されており、以前より&cかなり難解&rになっています。嬉しいですね!(嬉しいですよね?)\n\nタングステンラインに含まれる全ての素材は&a完全にループ&rさせることが可能ですが、そのためには高度なライン構築の技術が必要です。一方で、必要な資源を&c大量生産&rしてゴリ押しで進めることもできます。\n\nちょっとしたヒントですが、&4火星&rには&e炭酸ナトリウム&rと&eタングステン&rのための&a大きい鉱脈&rがいくつか存在しています。\n\nタングステンラインは中盤から終盤にかけての進行の土台となるため、時間をかけてでも最適化しておきましょう。", + "quests.extreme_voltage.tunsgten_line_step_2.title": "タングステンライン最終工程", + "quests.extreme_voltage.tunsgten_line_step_2.subtitle": "お膳立てされたループ構造", + "quests.extreme_voltage.tunsgten_line_step_2.desc": "&bタングステン酸の粉&rを作成し、&c炭酸ナトリウム&rの循環機構が完成すれば、最も大変な部分はもう終わりです。ここから先は、&6アーク炉&rで必要となる&a水素&rを完全に循環させるための&6蒸発塔&rと、最初に使用した&3アンモニア&rを回収するための&6熱分解炉&rを用意するだけです。\n\nあとはもう、夢の&5タングステン&rに向けて一直線です!", + "quests.extreme_voltage.advanced_fluid_rig.title": "超高性能液体採掘機", + "quests.extreme_voltage.advanced_fluid_rig.subtitle": "超高性能と言っても過言じゃない", + "quests.extreme_voltage.advanced_fluid_rig.desc.1": "&3発展型液体採掘機II&rは1つ前のモデルと比べて消費電力が4倍増加しますが、液体の産出量が&616倍&rも増加してしまいます。\n\nさらに、鉱脈の枯渇速度も半分になるため、枯渇するまでに得られる最終的な採取量はなんと&632倍&rにもなります!\n\n前世代と比べて消費電力に対する産出量の比率が圧倒的に改善されているため、枯渇後に稼働させ続けても、電力収支はしっかりプラスになります。\n\n&3発展型液体採掘機II&r1基だけで、&dLuV&rどころか、それ以上の規模の拠点に必要な電力をまかなうこともできます!", + "quests.extreme_voltage.advanced_fluid_rig.desc.2": "&bMV&rの&9復習&r:\n\n&9-&r&a軽油&rは、&dLPG&rや&dメタン&rに加工して、&3大型ガスタービン&rの燃料として使えます。\n\n&9-&r&a原油(原料油)&rは、&dディーゼル&rや&dセタン添加ディーゼル&rに加工して、&3大型燃焼エンジン&rの燃料として使えます。\n\n&9-&r&a重油&rは、&dニトロベンゼン&rに加工して、&3大型ガスタービン&rの燃料として使えます。", "quests.extreme_voltage.mpic_chip.title": "Power Integrated Circuit", - "quests.extreme_voltage.mpic_chip.desc": "New Cutting Machine? &a✓&r\n\nNew Lens? &a✓&r\n\nNew Power Circuit? &a✓&r\n\nNew EBF Metal required? &a✓&r\n\nNew Coil for Energy Hatch? &a✓&r", - "quests.extreme_voltage.ev_energy_hatch.desc": "Another tier, another energy hatch. You know what to do with this!", - "quests.extreme_voltage.ev_dynamo_hatch.title": "EV Dynamo Hatch", - "quests.extreme_voltage.ev_dynamo_hatch.desc": "If you haven't encountered them yet, Dynamo Hatches are essentially the Output equivalent of Energy Hatches. You'll want to use these on your new Large Generators for some proper EV power, covered in the next quests.", + "quests.extreme_voltage.mpic_chip.desc": "新裁断機?&a✓&r\n\n新レンズ?&a✓&r\n\n新PICチップ?&a✓&r\n\nEBF製新金属?&a✓&r\n\nエネルギーハッチのための新コイル?&a✓&r", + "quests.extreme_voltage.ev_energy_hatch.desc": "新しい電圧に到達するということは新しいエネルギーハッチを作るということです。今更言うまでもないですね。", + "quests.extreme_voltage.ev_dynamo_hatch.title": "EVダイナモハッチ", + "quests.extreme_voltage.ev_dynamo_hatch.desc": "ご存知ない方のために説明すると、ダイナモハッチはエネルギーハッチの「出力版」のようなものです。次のクエストで扱う新しい大型発電機で、相当の電力を出力するために、これらを使用することになるでしょう。", "quests.extreme_voltage.ev_dynamo_hatch.task": "Any EV Dynamo Hatch", - "quests.extreme_voltage.oil_distillation.title": "True Oil Distillation", - "quests.extreme_voltage.oil_distillation.desc": "Here are the four most relevant &dHydrocarbons&r you will be obtaining from distilling Steam-Cracked Fuels.\n\nYou will want to set this up &lbefore&r moving to &1IV&r.\n\n&aSteam-Cracked Light Fuel&r as input is probably the most favorable, but you are free to experiment.\n\nIf you don't want the Carbon output, feel free to slap a Voiding Cover on it.", + "quests.extreme_voltage.oil_distillation.title": "真の石油蒸留", + "quests.extreme_voltage.oil_distillation.desc": "こちらが、蒸気分解(クラック)をよく利用する、主要な4種の&d炭化水素&r類です。\n\nこれらの処理ライン&1IV&rに進む&l前&rに整えておくことを強くおすすめします。\n\n&a蒸気で分解された軽質燃料&rを使うのが最も扱いやすいと思われますが、もちろん自由に試して問題ありません。\n\n副産物の炭素が不要であれば、消去カバーなどで廃棄してしまってもいいんじゃないでしょうか。", "quests.extreme_voltage.oil_distillation.task": "Any oil", - "quests.extreme_voltage.wood_distillation.title": "True Organic Distillation", - "quests.extreme_voltage.wood_distillation.desc.1": "This Quest requires the &3Pyrolyse Oven&r and is &doptional&r, yet convenient.\n\nThese four fluids are the important products of &aWood Tar&r Distillation:\n\n&9-&r Phenol: useful for Epoxy and PBI\n&9-&r Benzene: an important hydrocarbon\n&9-&r Toluene: useful for TNT\n&9-&r Dimethylbenzene: useful for PBI\n\nUnlike Oil, putting &aWood Tar&r in the &3Distillation Tower&r for the byproducts, and using &dNitrobenzene&r for power is arguably worth it.", - "quests.extreme_voltage.wood_distillation.desc.2": "These three are the important products from &aWood Vinegar&r Distillation:\n\n&9-&r Acetic Acid: useful to make more Acetone\n\n&9-&r Methanol: a moderately important hydrocarbon\n\n&9-&r Acetone: useful for Epoxy and Gasoline", - "quests.extreme_voltage.wood_distillation.desc.3": "It's also possible to use a \"full combo\" of 4 &3DTs&r - input &aCharcoal Byproducts&r into a first tower, splitting into &aWood Tar&r, &aWood Gas&r and &aWood Vinegar&r.\n\nThis isn't the most efficient cost-to-production ratio, but the option is there if you get bored.", + "quests.extreme_voltage.wood_distillation.title": "真の有機蒸留", + "quests.extreme_voltage.wood_distillation.desc.1": "有機蒸留では&3熱分解炉&rを使用します。基本的に必須の工程ではありませんが、様々なところで役立ってくれます。\n\n以下の4種類の液体は、&a木質タール&rの蒸留で得られる重要な生成物です:\n\n&9-&rフェノール:エポキシやPBIの材料\n&9-&rベンゼン:重要な炭化水素\n&9-&rトルエン:TNTの材料\n&9-&rジメチルベンゼン:PBIに使用\n\n石油とは違い、&a木質タール&rを&3蒸留塔&rで処理し副産物を得つつ、&dニトロベンゼン&rを発電に利用するという、素敵な選択肢があります。", + "quests.extreme_voltage.wood_distillation.desc.2": "こちらの3つは、&a木酢&rの蒸留で得られる重要な生成物です:\n\n&9-&r酢酸:アセトンの追加生産\n\n&9-&rメタノール:そこそこ重要な炭化水素\n\n&9-&rアセトン:エポキシやガソリンの材料。", + "quests.extreme_voltage.wood_distillation.desc.3": "4基の&3蒸留塔&rを使った「フルコンボ」構成も可能です。&a木炭副生成物&rを一つ目の塔に投入し、&a木質タール&r、&a木質ガス&r、&a木酢&rに分離する方式です。\n\nコストに対する生産効率は最適とは言えませんが、暇つぶしとしていかがでしょうか。", "quests.extreme_voltage.wood_distillation.task": "Any of these", - "quests.extreme_voltage.new_qol.title": "New QoL?", - "quests.extreme_voltage.new_qol.desc": "Here's some useful tools that you've unlocked with the EV Assembler.", + "quests.extreme_voltage.new_qol.title": "新しいQoL?", + "quests.extreme_voltage.new_qol.desc": "EV組立機を解禁したことで、新たに利用できる便利なツールがいくつかあります。", "quests.extreme_voltage.building_gadgets.title": "Building Gadgets", - "quests.extreme_voltage.building_gadgets.subtitle": "Paving over beautiful landscapes with just one press of a button!", - "quests.extreme_voltage.building_gadgets.desc": "Looking to expand your factory building even further? Want to just paste down another multiblock? Or is that mountain blocking your view?\n\nLook no further than Building Gadgets, a collection of tools that can do all that and more. These are your perfect building tools going forward, and they come with a manual too!", - "quests.extreme_voltage.gasoline.title": "Gasoline", - "quests.extreme_voltage.gasoline.desc": "&aGasoline&r is an extremely powerful Combustion Fuel. It's over &63 times&r as energy dense as &dDiesel&r!\n\n&9Note:&r This Combustion Fuel exists solely as a &echallenge&r for you to overcome if you desire to take on it.\n\nIt's completely &doptional&r, so we'll let you figure out how to obtain it, without any further tips.", - "quests.extreme_voltage.radiation.title": "Dealing with Radiation", - "quests.extreme_voltage.radiation.subtitle": "Extra Spicy Materials", - "quests.extreme_voltage.radiation.desc.1": "While GregTech doesn't have any sort of \"ambient radiation\" like some other mods do, &aradioactive materials&r are still dangerous to the player when held! This applies to any item that says it's &eCarcinogenic&r and is caused by &eAny Contact&r.\n\nThere's a few ways to mitigate this, and the easiest is to just avoid contact with the items in the first place - move them around with pipes, backpacks, or even Small Vessels. The less time you have them in your inventory, the better!", - "quests.extreme_voltage.radiation.desc.2": "Besides this, you'll want some other ways to protect yourself. Wearing equipment tagged as &e#ppe_armor&r in all four slots will protect you from radiation. However, this will still damage the equipment over time (at a rate equivalent to how much the radiation would affect you), &oexcept&r for the &6Hazardous Material Suit&r, which will never take damage from it.\n\nThe downside is that the hazmat suit isn't a space suit, so on Mars it's up to you whether you want to set up an enclosed Oxygenated base for the hazmat suit, or just take the durability damage on your space suit.", - "quests.extreme_voltage.radiation.desc.3": "Lastly, you can check your radiation poisoning at any time with the &a/medical_condition query&r command. If it gets too high, you will start taking occasional damage or just suddenly die, so you want to prevent it.\n\nThe only other way to treat it is to craft and eat &bRad Away&r pills, which will each remove 50%% of the build-up.", + "quests.extreme_voltage.building_gadgets.subtitle": "ジャングルがボタン一つでコンクリートジャングルに!", + "quests.extreme_voltage.building_gadgets.desc": "工場をもっと拡張したい?マルチブロックをそのままコピーして設置したい?それとも目の前の山が邪魔で景色が見えない?\n\nそんな悩みは「Building Gadgets」で全部解決!建築を便利にしてくれる優秀なガジェットが一式そろっていて、使い方のマニュアルまで付いています。これからの建築作業が一気に楽になります!", + "quests.extreme_voltage.gasoline.title": "ガソリン", + "quests.extreme_voltage.gasoline.desc": "&aガソリン&rはとんでもなく強力な燃焼燃料で、なんと&dディーゼル&rの3倍以上の燃料価を誇ります!\n\n&9補足:&rガソリンの精製は、石油処理の愛好家や強力な燃料を欲する挑戦者に向けた高難易度チャレンジです。\n\n完全に任意の要素なので、作成工程はあえてノーヒントです。あなたはいったいどう攻略するのでしょうか!?", + "quests.extreme_voltage.radiation.title": "放射性物質の取り扱い方", + "quests.extreme_voltage.radiation.subtitle": "なかなか刺激的な物質", + "quests.extreme_voltage.radiation.desc.1": "GregTechでは、他のMODのように「放射線が周囲に漂う」といったことはありませんが、&a放射性のアイテム&rは危険です!\n\n説明欄に&e「発がん性」&rと書かれていて、&e「接続先」&rとあるものはすべて対象になります。\n\n対策はいくつかありますが、一番手っ取り早く確実なのは持ち歩かないことです。パイプで流したり、バックパックや小型容器に入れて運んだりして、自身のインベントリ内に入っている時間を極力減らしましょう!", + "quests.extreme_voltage.radiation.desc.2": "どうしても持ち歩かなくてはならないという時もあるでしょう、そのための方法も説明します。\n\n4つのスロットすべてに&e#ppe_armor&rとタグ付けされた装備を着用すると、放射線から身を守ることができます。しかし、これは時間とともに装備の耐久値にダメージが入ってしまいます(放射線があなたに与える影響量と同等の速度で)。ただし、&6危険物用スーツ&r(ハズマットスーツとも呼ばれます)だけは例外で、危険物からの影響を一切受けなくなります。\n\nただし、ハザマットスーツは宇宙服ではないため、火星ではハザマットスーツの着用が可能な密閉された酸素供給基地を設置するか、宇宙服の耐久値をすり減らすかを選びましょう。", + "quests.extreme_voltage.radiation.desc.3": "最後に、&a/medical_condition query&rコマンドを使えば、いつでも自分の放射能汚染度を確認できます。数値が高くなりすぎると、一定間隔でダメージを受けたり、いきなり死亡してしまうこともあるため、事前に対策しておくことが大切です。\n\nもう1つの対処方法として、&bRadAway&r錠を製作し摂取する手段があります。これを1つ使用すると、蓄積している放射能汚染が50%ずつ減少します。", "quests.extreme_voltage.radiation.task": "Safety First!", - "quests.extreme_voltage.hexafluorosilic_acid.title": "Hexafluorosilic Acid", - "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "There's something in the water...", - "quests.extreme_voltage.hexafluorosilic_acid.desc": "Hexafluorosilic Acid is obtained by bathing Red Granite, Trachyte, or Argillite Dust in Hydrofluoric acid. You can get an infinite amount of this dust from a Rock Crusher.", - "quests.extreme_voltage.martian_sludge.title": "Martian Sludge", - "quests.extreme_voltage.martian_sludge.subtitle": "The Slop Line", - "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.hexafluorosilic_acid.title": "六フッ化ケイ酸", + "quests.extreme_voltage.hexafluorosilic_acid.subtitle": "フッ酸の中に、石が、ある!", + "quests.extreme_voltage.hexafluorosilic_acid.desc": "六フッ化ケイ酸は、赤色花崗岩、粗面岩、または粘土質岩の粉末を化学槽でフッ化水素酸に浸すことで作れます。これらの粉末は、破砕機を使えば無限に入手可能です。", + "quests.extreme_voltage.martian_sludge.title": "火星の泥漿", + "quests.extreme_voltage.martian_sludge.subtitle": "べちゃべちゃな工程", + "quests.extreme_voltage.martian_sludge.desc": "六フッ化ケイ酸を遠心分離すると、フッ素を回収できるほか、&6火星の泥漿&rも得られます。これはラドンや核分裂残留物の生成に必要な素材です。", + "quests.extreme_voltage.large_generators.title": "大型発電機", + "quests.extreme_voltage.large_generators.desc": "シングルブロックの発電機はHVまでしか対応していないため、これ以降はより大きな発電量を確保するには大型の発電機を使う必要があります。EV帯で特に優秀なのは、&d大型ガスタービン&rと&d大型燃焼エンジン&rの2つです。\n\n詳しく知りたい場合は、「GregTechの電力システム」の章をご覧ください。", "quests.gregtech_energy": "GregTechの電力システム", "quests.gregtech_energy.subtitle": "第一種電気主任技術者を目指して", "quests.gregtech_energy.start.title": "説明しよう", @@ -2029,7 +2103,7 @@ "quests.gregtech_energy.moving_amp.title": "アンペアの扱い", "quests.gregtech_energy.moving_amp.subtitle": "うわっ!燃えた!?", "quests.gregtech_energy.moving_amp.desc.1": "それぞれのワイヤーには&e最大アンペア数&rが設定されています。これは、そのケーブルが焼き切れずに安全に流せる電流量(アンペア)の上限です。\n実際にケーブルをどれだけのアンペアが流れるかを知るには、次の2点を考慮する必要があります。\n\n- 発電機やバッテリーの出力アンペア数:\n蓄電器は、中に入っているバッテリーの数だけアンペアを出力します。\n1ブロックの発電機は、どれも出力が&e1A&rです。\nマルチブロックの発電機の場合は、&aダイナモエネルギーハッチ&rによって出力が決まり、その値はツールチップに表示されています。\n\nまた、出力されるアンペア数は「機械からの要求」にも左右されます。電線につながっている各機械は、自分の内部容量を満たすために必要な分のアンペアを要求します。", - "quests.gregtech_energy.moving_amp.desc.2": "具体的な例を見てみましょう。\nあなたは&e8個のバッテリー&rを入れた&e8スロット蓄電器&rに、&e6台の機械&rを接続しています。\nこの蓄電器は各機械に&e1A&rずつ送るので、合計で&e6A&rの電流を流そうとします。\n電力は、最も近い機械から順番に送られ、最後の機械が一番遅く受け取ります。\nこの場合、もしケーブルが&c4A&rまでしか対応していなければ、ケーブルは&c焼き切れてしまいます&r。この場合は&a8A対応ケーブル&rを使う必要があります。\n\n&bヒント:&r一番最初の機械に接続するケーブルは&e8A&rを扱えるものが必要ですが、最後の機械の部分では&e1A&rしか流れないので、細いケーブルでも問題なかったりします。\n&c⚠ 注意:&rただし、あとから機械を追加すると、ケーブルが許容量を超えて焼損するおそれがあります。", + "quests.gregtech_energy.moving_amp.desc.2": "具体的な例を見てみましょう。\nあなたは&e8個のバッテリー&rを入れた&e8スロット蓄電器&rに、&e6台の機械&rを接続しています。\nこの蓄電器は各機械に&e1A&rずつ送るので、合計で&e6A&rの電流を流そうとします。\n電力は、最も近い機械から順番に送られ、最後の機械が一番遅く受け取ります。\nこの場合、もしケーブルが&c4A&rまでしか対応していなければ、ケーブルは&c焼き切れてしまいます&r。この場合は&a8A対応ケーブル&rを使う必要があります。\n\n&bヒント:&r一番最初の機械に接続するケーブルは&e8A&rを扱えるものが必要ですが、最後の機械の部分では&e1A&rしか流れないので、細いケーブルでも問題なかったりします。\n&c⚠注意:&rただし、あとから機械を追加すると、ケーブルが許容量を超えて焼損するおそれがあります。", "quests.gregtech_energy.moving_amp.task": "I got it", "quests.gregtech_energy.produce_energy.title": "発電について", "quests.gregtech_energy.produce_energy.subtitle": "電力の生産", @@ -2120,8 +2194,8 @@ "quests.gregtech_energy.battery_buffer.task.2": "Another one", "quests.gregtech_energy.pss.title": "大型蓄電器", "quests.gregtech_energy.pss.subtitle": "ところがどっこい...夢じゃありません!", - "quests.gregtech_energy.pss.desc.1": "&d大型蓄電器&r(通称:&dPSS&r)は、&6超強力な蓄電用のマルチブロック&rです。\n&1EV&rから使えるようになります。もし、電力に不安を抱えていたらすぐにでも作りましょう。あなたの不安を消し飛ばすほどの莫大な蓄電量を誇ります。\n\n桁外れの蓄電容量だけでなく、そのほかにも電力の管理を非常に楽にしてくれる要素を持っています。", - "quests.gregtech_energy.pss.desc.2": "&e扱い方&r:\n-まず&aパラジウム製大型蓄電器用外装&rで本体を組み立てましょう。\n-入力用に&bエネルギーハッチ&rを1つ、出力用に&bダイナモハッチ&rを1つ以上設置します。\n-対応ハッチは自由で、&8アンペア型&rでも&6レーザー型&rでもOK。\n-&c爆発の心配は不要&rです——使った蓄電ブロックにかかわらず&aどんな電圧でも&r受け入れます。\n\n&e蓄電層について&r:\n-上部には最大&d17層&rまでの&9蓄電ブロック&rを積み重ねられます。\n-各層は&c隙間なく&r設置する必要があります。\n- &f空&rのものと&6バッテリーが入っている&rものが混ざっていても構いません。\n\nそして蓄電層を&b合わせガラス&rで囲めば完成です。\n\n正直言って、&c17層も積む必要なんてまずありません&r...ロマンを追い求めるなら別ですが。\nもし本当に17層フルのPSSを作ったなら、&lSNSで自慢しましょう&r。", + "quests.gregtech_energy.pss.desc.1": "&d大型蓄電器&r(通称:&dPSS&r)は、&6超強力な蓄電用のマルチブロック&rです。\n\nEVから使えるようになるので、もし、電力に不安を抱えていたらすぐにでも作りましょう。あなたの不安を消し飛ばすほどの莫大な蓄電量を誇ります。\n\n桁外れの蓄電容量だけでなく、そのほかにも電力の管理を非常に楽にしてくれる要素を持っています。", + "quests.gregtech_energy.pss.desc.2": "&e扱い方&r:\n-まず&aパラジウム製大型蓄電器用外装&rで本体を組み立てましょう。\n-入力用に&bエネルギーハッチ&rを1つ、出力用に&bダイナモハッチ&rを1つ以上設置します。\n-対応ハッチは自由で、&8アンペア型&rでも&6レーザー型&rでもOK。\n-&c爆発の心配は不要&rです——使った蓄電ブロックにかかわらず&aどんな電圧でも&r受け入れます。\n\n&e蓄電層について&r:\n-上部には最大&d17層&rまでの&9蓄電ブロック&rを積み重ねられます。\n-各層は&c隙間なく&r設置する必要があります。\n-&f空&rのものと&6バッテリーが入っている&rものが混ざっていても構いません。\n\nそして蓄電層を&b合わせガラス&rで囲めば完成です。\n\n正直言って、&c17層も積む必要なんてまずありません&r...ロマンを追い求めるなら別ですが。\nもし本当に17層フルのPSSを作ったなら、&lSNSで自慢しましょう&r。", "quests.gregtech_energy.batteries.title": "強力なバッテリー", "quests.gregtech_energy.batteries.subtitle": "IC2のその先へ", "quests.gregtech_energy.batteries.desc": "&7LV&rや&bMV&rの頃に、ナトリウム電池やリチウム電池を初めて作ったと思います。\n\nその頃は、バッテリーの性能に満足できないこともあったと思います。\n\nこのクエストでは、そのようなバッテリーとは比べ物にならないほど強力な「&aクリスタルバッテリー&r」系統を紹介します。\nエネルギー容量も出力も段違いで、きっとバッテリーで不満を感じることはなくなるでしょう。\n\nもちろんコストはやや高めです。ですが、そんなの問題じゃありません。\n電力は正義。細かいことを気にする必要はないのです", @@ -2143,7 +2217,7 @@ "quests.gregtech_energy.blast_oc.subtitle": "完全に理解しろとは言いません", "quests.gregtech_energy.blast_oc.desc.1": "まだPOCについて学んでいない場合は、1つ上のクエストを先に読んでください。\n\nこれら3つの大型機械には共通の特別な仕様があります。それは、&c機械の温度&rに応じて&ePOC&rになるというものです。現在の温度はコントローラーをクリックすることで確認できます。\n\n温度を上げる方法は2つあります:\n1)高電圧の電力を使用する\n2)コイルをアップグレードする", "quests.gregtech_energy.blast_oc.desc.2": "コイルの性能は、カーソルを合わせて&3Shiftキー&rを押すと確認できます。\n\n機械の温度が分かったら、次はレシピの要求温度を確認しましょう。これはEMIから確認できます。\n\n両方の値が分かれば、POCが適用されるかどうかを簡単に計算できます:\n&b機械の温度は、レシピが要求する温度よりもオーバークロックティアごとに少なくとも1800K高くなければなりません。", - "quests.gregtech_energy.blast_oc.desc.3": "例:\n-ステンレスの要求温度&c1700K&rで、&aHV&rティアです。\n-EBFは&bLuV&rティアで、温度は&c5900K&rだとします。\n-HVからLuVまでは&a3段階のオーバークロック&rです。\n- 1800x3=&c5400K&r→レシピ基準の温度を加えると...5400+1700=&c7100K&rがPOCに必要な温度です。\n-しかし、機械の温度は&c5900K&rしかないので、HV→EVおよびEV→IVのときはPOCになりますが、IV→LuVは通常のオーバークロックになります。\n\nその結果、レシピの処理時間は、完全にPOCの場合は0.85秒ですが、今回の事例では1.7秒かかります。\n\n覚えにくいですか? とにかくこれだけ覚えておけばOK:コイルをアップグレードすれば、レシピはより速く、より省エネで作れます。", + "quests.gregtech_energy.blast_oc.desc.3": "例:\n-ステンレスの要求温度&c1700K&rで、&aHV&rティアです。\n-EBFは&bLuV&rティアで、温度は&c5900K&rだとします。\n-HVからLuVまでは&a3段階のオーバークロック&rです。\n- 1800x3=&c5400K&r→レシピ基準の温度を加えると...5400+1700=&c7100K&rがPOCに必要な温度です。\n-しかし、機械の温度は&c5900K&rしかないので、HV→EVおよびEV→IVのときはPOCになりますが、IV→LuVは通常のオーバークロックになります。\n\nその結果、レシピの処理時間は、完全にPOCの場合は0.85秒ですが、今回の事例では1.7秒かかります。\n\n覚えにくいですか?とにかくこれだけ覚えておけばOKです:コイルをアップグレードすれば、レシピはより速く、より省エネで作れます。", "quests.gregtech_energy.blast_oc.task": "Better coils more gooder, got it", "quests.gregtech_energy.subtick.title": "サブティック", "quests.gregtech_energy.subtick.subtitle": "並列処理?", @@ -2160,14 +2234,14 @@ "quests.gregtech_energy.rotor.desc.2": "もちろん、効率・パワー・耐久値の3つをすべてが高い方がいいですが、現実的には「燃料生産量」「タービンの数」「ローター交換の手間」などによって最適解は変わります。つまり、これといった正解はないのです。&8(まあ、ニュートロニウムを除けばですが...)&r\n\n迷った場合は、&6HV&r帯ではバナジウム鋼、&5EV&rではアルティメット、&9IV&rではHSS-Sを使うのがおすすめです。\n\n\n\nなお、ローターホルダーは正面が塞がっていると動作しないため、新しいローターをパイプなどで自動補充することはできませんが、&aメカニカルアーム&rであれば問題なく交換できます!", "quests.gregtech_energy.rotor.task": "Any Turbine Rotor", "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のようなもの」だということです。\n適切な燃料を投入すると、&cHeat&r(&6EU/t&rのようなもの)というエネルギーを発生させ、それを炉内に&crising_temperature&rとして蓄積します(つまり、&6EU&rを貯めているのです)。\n\nその熱を&9冷却液&rに移してタービンを回したり、熱が余っていたら熱を利用したクラフトに使うことなどもできます。\n\n副産物として新しい元素を入手し、新しい核燃料や上位の回路などを作ることもできます。ついでに太陽系の探検でもしてみますか?まあそんなことに興味はないですよね。", - "quests.gregtech_energy.fission_reactor.desc.2": "まずは&dトリウム&rを用意してください。取扱いは危険ですので必ず保護具を着用してください。(&eディーテック宇宙技術社&rは不慮の事故の責任を負いません。危険防止クエストで安全な手順を確認してください。)\n\n次に、空の&dFuel_Rods&r(燃料棒)を作って&d核分裂燃料形成機&rで燃料を注入してください。燃料棒は再利用できますから大量に作る必要はなく、最初は1本だけ作れば十分です。\n\n次に、核分裂炉を完成させてください。構造はEMIで確認できます。\n中央には燃料を入れるための「Fuel_Holder」を立てて、周囲にコンポーネントやMaterial_Holderを追加できる構成になっています(詳しくは後ほど)。\n\n「なぜ1本だけ?」と疑問に思いましたか。良い疑問です。次のページで核分裂炉の仕組みをじっくり解説いたします。", - "quests.gregtech_energy.fission_reactor.desc.3": "炉内に入れる&d燃料棒&rが多いほど、&c温度は上昇しやすく&rなります。そして温度が高いほど、より多くの熱を冷却液などへと移すことができます。しかし耐えられる熱には限界があり、炉は&c一定の温度&rまでにしか達しないため、あまり多くの燃料棒を入れすぎないようにしてください。\n\nとはいえご安心ください!&0Mek至上主義者&rの喧伝は誤りであり、核分裂というのは&a完璧に安全&rです!\n炉内の温度が危険域に近づくと、炉は&9自動的にクールダウン期間&rに入り、すべての熱が&a安全域まで発散&rされるまで再稼働しません。ただしクールダウン期間はかなり長いです。\n\nもっと高温かつ高速にする方法はあるのか、気になってきましたか?&e我々が誇る素晴らしき部隊&rがあなたのための解決策を用意しています。", - "quests.gregtech_energy.fission_reactor.desc.4": "5つの&dFuel_Holder&rのほかに、最大で&o20個&rの&dコンポーネント&rを組み込むことができます。他社の核分裂炉は厄介な構造なものも多くありますが、当社製の核分裂炉はとてもスマートです。設置したコンポーネントの&6ステータス&rは単純に&6合算&rされ、その結果が反映されます。\n\n現時点の核分裂炉で利用できるコンポーネントの効果は次の3種類です:\n&e1)&r最大温度上昇&7(耐熱性強化)&r\n&e2)&r効率向上&7(燃料の消費を抑える)&r\n&e3)&rスロットル調整&7(反応速度を制御)&r\n\n&8*)&rただし、あなたの手の届く場所にある素材では、まだすべてのコンポーネントを作ることはできないかもしれません。現在のところ、初歩的なコンポーネント用の素材しか確認されていないようです。\n\nそれから注意点として&c温度&rを上げることには&cデメリット&rも伴います。", + "quests.gregtech_energy.fission_reactor.subtitle": "ここで一発ドカンと理解してしまいましょう!", + "quests.gregtech_energy.fission_reactor.desc.1": "&d核分裂炉&rは、GregTechの中でも珍しい存在で、そのコンセプトも仕組みも少し特殊です。でも心配はいりません。この重要で多用途な大型機械の使い方について、しっかりと説明します!\n\n難解な物理学の話はさておき、&eエンジニア&rとしてまず知っておくべきことは、「この炉は巨大な熱エネルギーを利用した&d蓄電・発電装置&rのようなもの」だということです。\n適切な燃料を投入すると、&c熱量&r(&6EU/t&rのようなもの)というエネルギーを発生させ、それを炉内に&c熱&rとして蓄積します(つまり、&6EU&rを貯めているのです)。\n\nその熱を&9冷却液&rに移してタービンを回したり、熱が余っていたら熱を利用したクラフトに使うことなどもできます。\n\n副産物として新しい元素を入手し、新しい核燃料や上位の回路などを作ることもできます。ついでに太陽系の探検でもしてみますか?まあそんなことに興味はないですよね。", + "quests.gregtech_energy.fission_reactor.desc.2": "まずは&dトリウム&rを用意してください。取扱いは危険ですので必ず保護具を着用してください。(&eディーテック宇宙技術社&rは一切の事故の責任を負いません。危険防止クエストで安全な手順を確認してください。)\n\n次に、空の&d燃料棒&rを作って&d核燃料形成機&rで燃料を注入してください。燃料棒は再利用できますから大量に作る必要はなく、最初は1本だけ作れば十分です。\n\n次に、核分裂炉を完成させてください。構造はEMIで確認できます。\n中央には燃料を入れるための「燃料棒格納部」を立てて、周囲に耐熱フレームやマテリアルホルダーなどの「コンポーネント」を追加できる構成になっています(詳しくは後ほど)。\n\n「なぜ1本だけ?」と疑問に思いましたか。良い疑問です。次のページで核分裂炉の仕組みをじっくり解説いたします。", + "quests.gregtech_energy.fission_reactor.desc.3": "炉内に入れる&d燃料棒&rが多いほど、&c温度は上昇しやすく&rなります。そして温度が高いほど、より多くの熱を冷却液などへと移すことができます。しかし耐えられる熱には限界があり、炉は&c一定の温度&rまでにしか達しないため、あまり多くの燃料棒を入れすぎないようにしてください。\n\nとはいえご安心ください!&0Mek至上主義者&rの喧伝は誤りであり、核分裂というのは&a完璧に安全&rです!\n炉内の温度が危険域に近づくと、炉は&9自動的にクールダウンモード&rに入り、すべての熱が&a安全域まで発散&rされるまで再稼働しません。ただしクールダウン期間はかなり長いです。\n\nもっと高温かつ高速にする方法はあるのか、気になってきましたか?&e我々が誇る素晴らしき部隊&rがあなたのための解決策を用意しています。", + "quests.gregtech_energy.fission_reactor.desc.4": "5つの&d燃料棒格納部&rのほかに、最大で&o20個&rの「&dコンポーネント&r」を組み込むことができます。他社の核分裂炉は厄介な構造なものも多くありますが、当社製の核分裂炉はとてもスマートです。設置したコンポーネントの&6ステータス&rは単純に&6合算&rされ、その結果が反映されます。\n\n現時点の核分裂炉で利用できるコンポーネントの効果は次の3種類です:\n&e1)&r最大温度上昇&7(耐熱性強化)&r\n&e2)&r効率向上&7(燃料の消費を抑える)&r\n&e3)&rスロットル調整&7(反応速度を制御)&r\n\n&8*)&rただし、あなたの手の届く場所にある素材では、まだすべてのコンポーネントを作ることはできないかもしれません。現在のところ、初歩的なコンポーネント用の素材しか確認されていないようです。\n\nそれから注意点として&c温度&rを上げることには&cデメリット&rも伴います。", "quests.gregtech_energy.fission_reactor.desc.5": "炉内の&c温度が上昇&rするほど冷却液の加熱などの処理速度は&c向上&rしますが、&d燃料棒&rの消耗が激しくなります。各燃料棒の耐久は温度に比例して減少し、また高温にするためには、必要本数も増えるため、全体の損耗は&n二次的&rに増加します。\n\n燃料効率を考えるならば低温運転が有利ですし、燃料をより早く消費し、副産物に変換したいなら耐熱性能が許す限り高温にするのがよいでしょう。", "quests.gregtech_energy.fission_reactor.desc.6": "これで核分裂炉を運用する際の事前知識は揃いました。それでは、具体的にどのようなレシピを実行できるのか確認しましょう。&d核分裂炉MK_I&rを&eEMI&rで調べると、3つのレシピが表示されます:\n\n&e1)&rFission_Reactor&7(対応している燃料と冷却液の一覧)&r\n&e2)&rFission_Heat_Processing&7(例:EBFのような高温処理)&r\n&e3)&rFission_Products&7(燃料が使い切られたときの副産物)&r\n&e4)&rマルチブロック情報\n\nそれぞれの&a燃料&rは特定の&9冷却液&rとしか組み合わせられないため、対応関係をよく確認してください。\nまた燃料棒が寿命を迎えると、新たな元素へと遷移します。\n\n一方で、処理レシピは十分な温度があれば燃料の種類に関係なく動作します。", - "quests.gregtech_energy.fission_reactor.desc.7": "簡略化した計算は次の通りです。十分な量の冷却液と&cHeat:100%&rの燃料棒を使用すると、炉内は約&c200&rの温度に達します。これはHeatレベル、または単に「Heat」とも呼ばれます。&d2&r本の&c100%&r燃料棒を使用することは、&d1&r本の&c200%&r燃料棒を使用するのと同じで、どちらも約&c400&rのHeatを生み出します。\n\nこれは燃料棒が1本あたり&6200HU/t&r(Heat_Units)を生成するためです。冷却液は&c1&r度あたり&61HU/t&rの熱を吸収できます。\n\n炉の耐熱上限が&c190&rの場合、&c100%&rの燃料棒でも過熱状態になってしまいます。これを回避するには、コンポーネントを追加して耐熱上限を上げるか、あるいは&d冷却材&rを使用します。使う冷却材によって冷却性能は異なります。", + "quests.gregtech_energy.fission_reactor.desc.7": "簡略化した計算は次の通りです。十分な量の冷却液と&cHeat:100%&rの燃料棒を使用すると、炉内は約&c200&rの温度に達します。これは熱量レベル、または単に「熱」とも呼ばれます。&d2&r本の&c100%&r燃料棒を使用することは、&d1&r本の&c200%&r燃料棒を使用するのと同じで、どちらも約&c400&rのHeatを生み出します。\n\nこれは燃料棒が1本あたり&6200HU/t&r(Heat_Units)を生成するためです。冷却液は&c1&r度あたり&61HU/t&rの熱を吸収できます。\n\n炉の耐熱許容量が&c190&rの場合、&c100%&rの燃料棒でも過熱状態になってしまいます。これを回避するには、コンポーネントを追加して耐熱許容量を上げるか、あるいは&d冷却材&rを使用します。使う冷却材によって冷却性能は異なります。", "quests.gregtech_energy.fission_reactor.desc.8": "たとえば、レシピの温度が&c100K&rで、影響が&6Heat:-10HU/t&rの場合、炉の温度が&c190&rのときに&619HU/t&r分だけ冷却することができます。\n\nこれにより、炉をより低い最大温度で稼働させ、過熱を防ぐことが可能になります。温度が&c100&r未満の場合、EBFのレシピと同様に稼働しません。\n\n今お教えできるのはここまでです。さらなる研究や改良が進んだら、ぜひまた戻ってきてください。&e核エンジニアの同胞より&r", "quests.high_voltage": "&6HV&r - 高電圧時代", "quests.high_voltage.subtitle": "さぁ、月へ出かけよう", @@ -2182,11 +2256,11 @@ "quests.high_voltage.chem_bath.desc": "&3発展型化学槽II&rは、&a化学染料&rを使ってレンズを&d着色する&rことができます。これによって、扱えるウェハーの種類が増えます。そのほかの用途として、熱いインゴットの冷却にも利用できます。", "quests.high_voltage.maintenance_hatches.title": "上位版メンテナスハッチ", "quests.high_voltage.maintenance_hatches.subtitle": "放任か過保護か", - "quests.high_voltage.maintenance_hatches.desc.1": "新たに2種類の&3メンテナンスハッチ&rが使えるようになりました。どちらも設置直後は&6メンテナンス不要&rなのが特徴です。\n\nまず、&3自動メンテナンスハッチ&rはとてもシンプルで、一度設置すれば&6永遠にメンテナンスが不要&rになります。\n\nもう一方の&3制御可能なメンテナンスハッチ&rは少し特殊で、設定によってレシピの処理時間を&a10%短縮&rできますが、その代償としてメンテナンスの発生が3倍の速度になります(現実時間で約&d16時間&r稼働します)。さらに、マルチブロック発電機に使うことで、レシピの動作時間を延ばして燃料効率を10%向上させることもできます。\n\n&9補足:&rメンテナンスハッチにテープを入れておくと、問題が発生しても自動で修理してくれます。", - "quests.high_voltage.maintenance_hatches.desc.2": "&l&3余談:&r&o 自動メンテナンスハッチの見た目と機能は、GregTech:New_Horizons用のアドオンMod「TecTech」から取り入れたものです。\n\n&o終盤に入ると、TecTechの要素がさらに登場しますのでお楽しみに。", - "quests.high_voltage.hv_components.title": "HV機械部品", + "quests.high_voltage.maintenance_hatches.desc.1": "新たに2種類の&3メンテナンスハッチ&rが使えるようになりました。どちらも設置直後は&6メンテナンス不要&rなのが特徴です。\n\nまず、&3自動メンテナンスハッチ&rはとてもシンプルで、一度設置すれば&6永遠にメンテナンスが不要&rになります。\n\nもう一方の&3制御可能なメンテナンスハッチ&rは少し特殊で、設定によってレシピの処理時間を&a10%短縮&rできますが、その代償としてメンテナンスの発生が3倍の速度になります(現実時間で約&d16時間&r稼働します)。さらに、マルチブロック発電機に使うことで、レシピの動作時間を延ばして燃料効率を10%向上させることもできます。\n\n&9補足:&rメンテナンスハッチにテープを入れておくと、問題が発生しても自動で修理してくれます。", + "quests.high_voltage.maintenance_hatches.desc.2": "&l&3余談:&r&o 自動メンテナンスハッチの見た目と機能は、GregTech:New_Horizons用のアドオンMod「TecTech」から取り入れたんだ。\n\n&o終盤に入ると、TecTechの要素がさらに登場するから楽しみにしておいてね。", + "quests.high_voltage.hv_components.title": "HVコンポーネント", "quests.high_voltage.hv_components.subtitle": "ただの中間素材だと油断できなくなってきました", - "quests.high_voltage.hv_components.desc.1": "&bMV&rのときと同じように、また上位の機械部品を作る必要があります。\n\nこれまでは&d傷のない宝石&rを使っていましたが、今度は&dガラス化したエンダーパール&rを使います。&aモーター&rには&d2倍銀ケーブルが2本&r必要になります。\n&aマシン筐体&rや&a各種機械&rなどには&d金ケーブル&rが必要になります。\n\nようやく、貯め込んでいた金の使い道ができましたね!", + "quests.high_voltage.hv_components.desc.1": "&bMV&rのときと同じように、また上位のコンポーネントを作る必要があります。\n\nこれまでは&d傷のない宝石&rを使っていましたが、今度は&dガラス化したエンダーパール&rを使います。&aモーター&rには&d2倍銀ケーブルが2本&r必要になります。\n&aマシン筐体&rや&a各種機械&rなどには&d金ケーブル&rが必要になります。\n\nようやく、貯め込んでいた金の使い道ができましたね!", "quests.high_voltage.hv_components.desc.2": "&9&l暮らしの知恵:&r\n\n-&dエレクトロチン&rを分解したり、&d鉱石処理&rを行うことで&eエレクトラム&rを効率よく入手できます。\n-&3化学槽&rで&d水銀&rを使えば、さまざまな鉱石から&e金&rや&e銀&rを抽出できるのでとても便利です。", "quests.high_voltage.assembler.title": "HV組立機", "quests.high_voltage.assembler.desc": "&3発展型組立機II&rは、技術の発展のために欠かせない重要な機械です。いくつかの便利な装置や機能もアンロックされるので、このクエスト周辺もチェックしてみてください。\n\n&dロケット&rの製作にも、&6HV組立機&rが必須になります。", @@ -2227,7 +2301,7 @@ "quests.high_voltage.cleanroom.title": "クリーンルーム", "quests.high_voltage.cleanroom.subtitle": "あなたは白い部屋が好きですか?", "quests.high_voltage.cleanroom.desc.1": "&3クリーンルーム&rは、内部の空間を清潔に保つマルチブロックです。これから先、ほとんどの&a回路関連レシピ&rや、&3核融合炉マシン外装&rなどの特殊なブロックは、クリーンルームの中でしか作れなくなります。\n\n建設には大量の&dプラスクリート&rや&dクリーンルームガラス&rが必要になるため、&aポリエチレン&rの量産体制を整える必要があります。\n\n最初は5x5x5の基本的なクリーンルームから始めましょう。窮屈に感じ始めたら、どんどん拡張していけばいいのです。", - "quests.high_voltage.cleanroom.desc.2": "&l&3設定資料:&r&oクリーンルームの仕組みはGT5から引き継がれたものなんだけど、その頃は今よりもずっと大変な仕様だったんだ。清潔度に関係なくクラフトはできたんだけど、クリーンルームの清浄度に比例して完成確率が変わってたから、ちゃんとしてないとアイテムが消えたりしたんだよ!\n\n&oあと、クリーンルームにメンテナンスされてないと清潔度の上限が90%に制限されるから、いつのまにか10%の確率で成果物が消えるようになったりしてたんだ。理不尽だね。\n\n&oGTCEu版のクリーンルームなら、アイテムが&6消失&fすることはまずないから安心してね。", + "quests.high_voltage.cleanroom.desc.2": "&l&3余談:&r&oクリーンルームの仕組みはGT5から引き継がれたものなんだけど、その頃は今よりもずっと大変な仕様だったんだ。清潔度に関係なくクラフトはできたんだけど、クリーンルームの清浄度に比例して完成確率が変わってたから、ちゃんとしてないとアイテムが消えたりしたんだよ!\n\n&oあと、クリーンルームにメンテナンスされてないと清潔度の上限が90%に制限されるから、いつのまにか10%の確率で成果物が消えるようになったりしてたんだ。理不尽だね。\n\n&oGTCEu版のクリーンルームなら、アイテムが&6消失&fすることはまずないから安心してね。", "quests.high_voltage.prospector.title": "発展型電動探知機", "quests.high_voltage.prospector.desc.1": "この探知機は、&7LV&r版よりも&6探知範囲が広がっています&r。さらに、新しい機能も追加されています。\n\n探知機を手に持った状態でスニーク右クリックすると、モードが&6液体鉱脈モード&rに変わります。このモードでは液体鉱脈の&d埋蔵量&rが表示されます。\n\n月で&9ヘリウム3&rや&9岩盤鉱脈&rを見つけるときなどにも非常に役立ってくれるでしょう。", "quests.high_voltage.prospector.desc.2": "&9注意:&r &3液体採掘機&rの出力量は鉱脈の「埋蔵量」に比例します。最終的に、出力はCEuコンフィグのデフォルトの量になります。\n\n&9Tips:&r埋蔵量が30%以下になった場合、電力効率を考えて採取場所を移した方が良いですよ。また&5EV&rから使うことができる&3発展型液体採掘機&rを目標にするのも良いでしょう。これにより出力が超大幅に増加し、鉱脈の消耗速度も低下します。\n\n&c注意:&rバグにより、探鉱機の表示が1チャンクずれることがあります。液体鉱脈の端で液体採掘機を稼働するのは避けてください。狙っていない液体を汲み上げてしまうかもしれません!", @@ -2238,7 +2312,7 @@ "quests.high_voltage.ptfe.subtitle": "またの名をテフロン", "quests.high_voltage.ptfe.desc": "&aポリテトラフルオロエチレン(通称:PTFE)&rは、&7炭素&rと&bフッ素&rからなる高分子化合物です。PVCと同様に、PTFEはプラスチック製回路基板などの製作効率を向上させる用途に使えます。現在では、&3大型化学反応炉&rの素材としても使用されています。\n\nこの生成過程では&3塩素&rも要求されていますが、生成される&a塩化水素&rを電解すれば、&6完全にループ&rさせることができます。\n\n&bフッ素&rは、今後&aウラン&rや&7ナクアダ&rの精製にも使います。\n\n&9Tips:&rこれ以降は、ポリマー類は&dインゴット&rの形で保管しておくのがおすすめです。&3押出機&rを使って、簡単に成形できます。", "quests.high_voltage.nitrobenzene.title": "ニトロベンゼン", - "quests.high_voltage.nitrobenzene.desc": "&aニトロベンゼン&rを作ると、&aベンゼン&rの燃料価が約&64倍&rに向上します。素晴らしいですね。\n\nただし、作るのには&d蒸留水&rが必要で、&d硫黄&rを消費します。", + "quests.high_voltage.nitrobenzene.desc": "&aニトロベンゼン&rを作ると、&aベンゼン&rの燃料価が約&64倍&rに向上します。素晴らしいですね。\n\nただし、作るには&d蒸留水&rが必要で、&d硫黄&rを消費します。", "quests.high_voltage.lcr.title": "大型化学反応炉", "quests.high_voltage.lcr.desc.1": "&3大型化学反応炉(通称:LCR)&rは、通常の&3化学反応器&rの大型機械であり、より多くの搬入・搬出スロットを備えています。外装にはPTFE(テフロン)が使われており、これによって通常の化学反応器では扱えないレシピも処理できます。\n\n&3LCR&rでは、一部の&3化学反応器&rのレシピを&6一気に処理することができます&r。以下がその例です:\n\n&9-&r&a二酸化窒素&r(硝酸や四酸化二窒素の製造用)\n&9-&r&a硫酸&r\n&9-&r&aフェノール&r\n&9-&r&aエピクロロヒドリン&r(エポキシ樹脂の製造に必要)\n&9-&r&aエポキシ&r", "quests.high_voltage.lcr.desc.2": "&3LCR&rには専用レシピも存在します。たとえば、&d直留ガソリン&rはLCRでしか作ることができません。\n\nLCRの&dオーバークロック&rは完全に&6100%効率&r、いわゆる「パーフェクトオーバークロック」(POC)です。つまり、各段階で処理速度が&54倍&rずつ向上していきます(通常は2倍です)。\n\nさらにもう一つの&6利点&rとして、&32基のエネルギーハッチ&rを取り付けることで、&5上位電圧&rのレシピを利用できるようになります。これは&3EBF&rと同様の仕組みです。", @@ -2285,7 +2359,7 @@ "quests.high_voltage.ev_circuits.desc": "こんな見た目の回路は見たことがないでしょう。&bMV&rの時点でも作ることはできますが、&aさすがに作るには早いです&r。\n\nHVに入ってから作りましょう。", "quests.high_voltage.hv_hull.title": "HVへようこそ!", "quests.high_voltage.hv_hull.subtitle": "偉大な一歩を踏み出そう", - "quests.high_voltage.hv_hull.desc.1": "そろそろ&2&9GregTech&rに慣れてきましたか?ここからは、より一層できることが増えていきます。\nこの章では、&e高度なマルチブロック&rや&e複雑な工程&rを扱い、そしてついに&f月&rへと向かう準備を始めます!\n\n&6この章の主な目標は以下の2つです:&r\n-&5EV&rマシン筐体を作ること\n-&f月&rへの冒険を始めること\n\n月へ到達すると、&bケルタスクォーツ&rが採掘できるようになり、&dAE2&rの要素が解禁されます。どちら目指すのも自由です。", + "quests.high_voltage.hv_hull.desc.1": "そろそろ&2&9GregTech&rに慣れてきましたか?ここからは、より一層できることが増えていきます。\nこの章では、&e高度なマルチブロック&rや&e複雑な工程&rを扱い、そしてついに&f月&rへと向かう準備を始めます!\n\n&6この章の主な目標は以下の2つです:&r\n-&5EV&rマシン筐体を作ること\n-&f月&rへの冒険を始めること\n\n月へ到達すると、&bケルタスクォーツ&rが採掘できるようになり、&dAE2&rの要素が解禁されます。どちらを目指すのも自由です。", "quests.high_voltage.hv_hull.desc.2": "&5EV&rマシン筐体を作るためには、次の準備が必要です:\n-&aクリーンルーム&rを建造する\n-熱いインゴットを冷やすための&b真空冷却機&rを用意する\n-&9ルチル&rを加工して&7チタン&rを精製する\n\n&f月&rでは&9ルチル&rが豊富に見つかりますが、&aオーバーワールド&rの&eボーキサイト&r鉱脈などからも多少は入手可能です。", "quests.high_voltage.hv_hull.desc.3": "月に行くためには、以下の工程を踏みましょう:\n-大量の&6ロケット合金&rを用意する\n-&8内破圧縮機&rと&3熱分解炉&rで、&eエンダーパール&rを加工する\n- 宇宙空間で&b生存できる&rように、必要な&b宇宙服&rを揃える\n\n&b真空冷却機&rや&6上位のコイル&rを使えば&6ロケット合金&rの製造速度を上げられますが、なくても問題はありません。\n\n&dさあ、自分の進む道を選びましょう!&r", "quests.high_voltage.nichrome.title": "ニクロムインゴット", @@ -2293,7 +2367,7 @@ "quests.high_voltage.nichrome.desc": "これは3番目の&6EBF&rコイルの素材です。\nこれまでと同じく&9128個のインゴット&rが必要です。\n冷却には&6化学槽&rではなく、&6真空冷却機&rを使わなければなりません。真空冷却機なら冷却処理をより効率的に行うことができます。\n\n今回は&6ニクロム&rのみを使ってコイルを作りますが、この素材は後の&5RTMコイル&rの製作でも再び必要になりますので覚えておきましょう。", "quests.high_voltage.rocket_t1.title": "月面探査用ロケット", "quests.high_voltage.rocket_t1.subtitle": "ロケットで突き抜けろ!", - "quests.high_voltage.rocket_t1.desc": "さあ、ついに念願の&6ロケット&rの完成です!\n\n機体は全て&d8ロケット合金&rで構築し、断熱材として&b2304mb&rの&b液化ケイ素&r(&b16インゴット分&r)と16個の&fガラス化した粉末&rが必要です。\n\nガラス化した粉末は2種類あります:\n&e-&r&eホウ素ケイ酸ガラスの粉&r—&6ミキサー&rで&dホウ素&rと&fガラスの粉&rを混ぜる\n\n&e-&r&5ガラス化した石綿&r—&6熱分解炉&rで石綿を加熱。\n\nどちらを選んでも構いません。作りやすい方をどうぞ。", + "quests.high_voltage.rocket_t1.desc": "さあ、ついに念願の&6ロケット&rの完成です!\n\n機体は全て&dロケット合金&rで構築し、断熱材として&b2304mb&rの&b液化ケイ素&r(&b16インゴット分&r)と16個の&fガラス化した粉末&rが必要です。\n\nガラス化した粉末は2種類あります:\n&e-&r&eホウ素ケイ酸ガラスの粉&r—&6ミキサー&rで&dホウ素&rと&fガラスの粉&rを混ぜる\n\n&e-&r&5ガラス化した石綿&r—&6熱分解炉&rで石綿を加熱。\n\nどちらを選んでも構いません。作りやすい方をどうぞ。", "quests.high_voltage.vitrified_pearl.title": "ガラス化したエンダーパール", "quests.high_voltage.vitrified_pearl.subtitle": "死んだような目", "quests.high_voltage.vitrified_pearl.desc": "エンダーパールといくつかの素材を&e熱分解炉&rに入れて加熱し、&3陶器&rのようにガラス化させましょう。\n\n今はまだ大量に作る必要はありません。最低限、&6ロケット&r用に1つと、&6発展型回路作成機II&r用にもう1つあれば十分です。\nただし、&5EV&r以降では需要が一気に増えていきます。", @@ -2306,7 +2380,7 @@ "quests.high_voltage.linked_quest_energy.task": "Have a look at the Energy Chapter", "quests.high_voltage.ev_machine_hull.title": "&5EV&rマシン筐体", "quests.high_voltage.ev_machine_hull.subtitle": "GregTechの中間地点", - "quests.high_voltage.ev_machine_hull.desc": "いやぁ、ここまで大変でしたね!&9ルチル&r処理ライン、&5真空冷却機&r、&5クリーンルーム&rなどの運用を通して、GregTechをかなり理解してきたことでしょう。\n\nいや本当に素晴らしいですね...というのも、実はここはまだModPackにおける中間地点にすぎないのです。\n\n&f月&rには行きましたか?まだなら、それを目指しましょう。今後の進行に欠かせない&d重要な仕組み&rを学べるほか、、&aより豊富な鉱脈&rを掘り出せるようになり、なにより&bAE2&rが解放されます。\n\nもしすでに月へ到達しているなら、インフラの整備にも注力しましょう。これから&5EV&r段階へと突入し、&7さらなる知識&rを学び、工場を次のレベルへ押し上げる時が来ます。", + "quests.high_voltage.ev_machine_hull.desc": "いやぁ、ここまで大変でしたね!&9ルチル&r処理ライン、&5真空冷却機&r、&5クリーンルーム&rなどの運用を通して、GregTechをかなり理解してきたことでしょう。\n\nいや本当に素晴らしいですね...というのも、実はここはまだModPackにおける中間地点にすぎないのです。\n\n&f月&rには行きましたか?まだなら、それを目指しましょう。今後の進行に欠かせない&d重要な仕組み&rを学べるほか、&aより豊富な鉱脈&rを掘り出せるようになり、なにより&bAE2&rが解放されます。\n\nもしすでに月へ到達しているなら、インフラの整備にも注力しましょう。これから&5EV&r段階へと突入し、&7さらなる知識&rを学び、工場を次のレベルへ押し上げる時が来ます。", "quests.high_voltage.250_iq.title": "IQ250", "quests.high_voltage.250_iq.subtitle": "他のことに熱中したいでしょう", "quests.high_voltage.250_iq.desc.1": "これは、&l全種類の&r熱いインゴットに対応した自動冷却機構を作るためのガイドです。\n\n何も考えず、フィルターにそれぞれのインゴットを1つずつ手動登録する手もありますが...そんなの面倒ですよね!もっと効率的で面白いやり方を試しましょう。\n\nまず、&3化学槽&rの側面に&aアイテムタグフィルター&rカバーを取り付けます。フィルターの設定でホワイトリストを-&e&lhot_ingots&r-に設定してください。\n\nあとは、自動運搬機構を組むだけです。", @@ -2341,7 +2415,7 @@ "quests.high_voltage.gun.subtitle": "いいセンスだ", "quests.high_voltage.gun.task1": "Any gun", "quests.high_voltage.gun.task2": "Any medicine or aged alcohol", - "quests.high_voltage.gun.desc": "地球での一人暮らしは快適でしたか?月では、あなたの孤独を埋めてくれる素敵な敵対MOBたちが、あなたをお出迎えしてくれます。\n迎え撃ちましょう。ただし、剣やジャベリンでは心もとないですよ。\n\nご想像の通り、&4月はとても危険な場所です&r。せっかくのロケットを失わないためには何が必要だと思いますか?\n\n&o\"Clockwork\"Sniper&rなどがおすすめです。弾薬を用意し、余裕があればアタッチメントでカスタマイズしてみても良いでしょう。\n\nさらに、活力を付けるための栄養満点な食事(フリーズドライ食品など)や、バフ・回復用のお薬やお酒も携帯していると安心できます。", + "quests.high_voltage.gun.desc": "地球での一人暮らしは快適でしたか?月では、あなたの孤独を埋めてくれる素敵な敵対モブたちが、あなたをお出迎えしてくれます。\n迎え撃ちましょう。ただし、剣やジャベリンでは心もとないですよ。\n\nご想像の通り、&4月はとても危険な場所です&r。せっかくのロケットを失わないためには何が必要だと思いますか?\n\n&o\"Clockwork\"Sniper&rなどがおすすめです。弾薬を用意し、余裕があればアタッチメントでカスタマイズしてみても良いでしょう。\n\nさらに、活力を付けるための栄養満点な食事(フリーズドライ食品など)や、バフ・回復用のお薬やお酒も携帯していると安心できます。", "quests.high_voltage.space_survival.title": "月面基地", "quests.high_voltage.space_survival.subtitle": "別荘", "quests.high_voltage.space_survival.desc": "まだ見ていないなら、ぜひ「&3宇宙のあるきかた&r」の章を確認しておきましょう!月で本格的な拠点を築くために必要なすべてがそこに掲載されています。", @@ -2386,7 +2460,7 @@ "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", "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では数少ない実用的な発電機の一つです。\n&2将来的には&r、天然ガスや石油を利用した、より高度な発電方法も使えるようになります。\n\nスチームを供給すると、この発電機は&d蒸気2mbにつき1EU&rの比率で発電してくれます。", + "quests.low_voltage.lv_steam_turbine.desc.1": "&3蒸気タービン発電機&rは、&7LV&rでは数少ない実用的な発電機の一つです。\n&2将来的には&r、天然ガスや石油を利用した、より高度な発電方法も使えるようになります。\n\n蒸気を供給すると、この発電機は&d蒸気2mbにつき1EU&rの比率で発電してくれます。", "quests.low_voltage.lv_steam_turbine.desc.2": "&3蒸気タービン&rを1基だけ使う場合は、電力の輸送は&a1倍錫ケーブル&rを使えば問題ありません。\nただし、&32基の蒸気タービン&rに増設したときは、&a2倍錫ケーブル&rを使う必要があります。そうしないと、ケーブルが&c過電流により焼けてしまう&rかもしれません\n\nこれは&9アンペア(電流量)&rという仕組みが関係していますが、そのあたりの詳しい説明はもう少し後で行います。\nまずは安心してプレイを楽しんでください!", "quests.low_voltage.lbb.title": "ブロンズ製大型ボイラー", "quests.low_voltage.lbb.subtitle": "蒸気時代が終わるとどうなる? 知らんのか 蒸気時代が始まる", @@ -2418,7 +2492,7 @@ "quests.low_voltage.lv_turbo_charge.desc": "&oこのクエストは進行に必須ではありません。快適な充電に興味のある人は参考にしてください。&r\n\n&3高速充電器&rは、&9ドリル&rなどの&6電力(RFやEU)&rを使うツールを非常に高速で充電できる装置です。\n\n1つのアイテムにつき最大4アンペアで充電することができるため、&3蓄電器&rなどの&6約2倍のスピード&rで充電できます。\nただし、蓄めた電力は、他の機械を動かすためには使えません!\n\n&eどの充電器でも&rこのクエストは達成できます。", "quests.low_voltage.lv_turbo_charge.task": "Any Turbo Charger will do", "quests.low_voltage.lv_fisher.title": "魚釣り機", - "quests.low_voltage.lv_fisher.subtitle": "TFC対応も抜群!", + "quests.low_voltage.lv_fisher.subtitle": "魚と糸の等価交換", "quests.low_voltage.lv_fisher.desc": "&oこのクエストは進行に必須ではありません。快適な食料供給に興味のある人は参考にしてください。&r\n\n&3魚釣り機&rは、水の上で稼働させると自動的に魚を釣ってくれる機械です。具体的には真下に5×5の水域がないと動作しません。\n出てくる内容は通常の釣りと同じで、1回の動作ごとに糸を1本と、そのTierに応じたEU(&7LV&rなら32EU)を消費します。使い道としてはそれくらいです。\n\n魚からは&e魚油&rを抽出することができるため、&6バイオディーゼル&rの原料としても利用できます。", "quests.low_voltage.lv_fisher.task": "Any Fisher will do", "quests.low_voltage.lv_rock_crusher.title": "破砕機", @@ -2518,7 +2592,7 @@ "quests.low_voltage.lv_electroliser.desc.2": "&l鉱石処理の用途:&r\n\nさて、これは厳密には鉱石処理に使用されるわけではなく、実際には&a粉の分解&rに使用されます。ただし、有用な電解レシピのほとんどは&bMV&rで解禁されます。\nアイテムのツールチップにある&e分子式&rを見れば、電解によって何が得られるかがわかります。", "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.subtitle": "混合、撹拌", "quests.low_voltage.lv_mixer.desc": "ミキサーを使うと、赤鋼・青鋼の製造が&6格段に速く&rなります。特に、&4赤鋼&rは機械の筐体に使うので、かなり有用な生産手段になるでしょう。\nもし、今は必要ないと思っていても、後々&6必須&rになってきます。", "quests.low_voltage.lv_mixer.task": "From Create or GregTech", "quests.low_voltage.soldering_alloy.title": "はんだ合金", @@ -2526,10 +2600,10 @@ "quests.low_voltage.soldering_alloy.desc": "&aはんだ合金&rは、基本的に&9液体&rの状態で使います。回路を作るレシピで、錫の&d代用品&rとして使うことが多いです。\n\nどちらを選ぶかはあなた次第です。材料を節約したいならはんだ合金を作り、作る手間を減らしたいなら錫を使うのがオススメです。", "quests.low_voltage.gallium_arsenide.title": "ヒ化ガリウム", "quests.low_voltage.gallium_arsenide.subtitle": "副産物の産物", - "quests.low_voltage.gallium_arsenide.desc": "今後、多くの素材は鉱石から直接精錬して取得することができなくなります。代わりに、他の鉱石を処理したときの副産物として手に入ります。ガリウムやヒ素はその&4代表例&rです。\n\n&dガリウム&rを入手する手段は、難易度と収量から考えて、低効率なものから順に以下の通りです:\n\n&9-&3最も効率が悪い手段は、&a閃亜鉛鉱&rを&3電解&rして、低確率で粉を入手する方法です。この方法は亜鉛の収量を減らしてしまいます。\n\n&9-&r次に&a砕いたボーキサイト&rを&3化学槽&rで処理するという手段があります。この方法には&9過硫酸ナトリウム&rが必要になります。\n\n&9-&r最適な手段として&a閃亜鉛鉱&rの鉱石処理の中で&3熱遠心分離機&rまたは&3遠心分離機&rを使い、副産物として入手するという方法があります。\n\n&dヒ素&rについては、&a鶏冠石の粉&rを&3遠心分離&rするか、&a輝コバルト鉱&rをEBFにかける方法があります。", + "quests.low_voltage.gallium_arsenide.desc": "今後、多くの素材は鉱石を精錬するだけでは取得できなくなります。代わりに、他の鉱石を処理したときの副産物として手に入ります。ガリウムやヒ素はその&4代表例&rです。\n\n&dガリウム&rを入手する手段は、難易度と収量から考えて、低効率なものから順に以下の通りです:\n\n&9-&3最も効率が悪い手段は、&a閃亜鉛鉱&rを&3電解&rして、低確率で粉を入手する方法です。この方法は亜鉛の収量を減らしてしまいます。\n\n&9-&r次に&a砕いたボーキサイト&rを&3化学槽&rで処理するという手段があります。この方法には&9過硫酸ナトリウム&rが必要になります。\n\n&9-&r最適な手段として&a閃亜鉛鉱&rの鉱石処理の中で&3熱遠心分離機&rまたは&3遠心分離機&rを使い、副産物として入手するという方法があります。\n\n&dヒ素&rについては、&a鶏冠石の粉&rを&3遠心分離&rするか、&a輝コバルト鉱&rをEBFにかける方法があります。", "quests.low_voltage.lv_assembler.title": "基本型組立機", "quests.low_voltage.lv_assembler.subtitle": "真のクラフター", - "quests.low_voltage.lv_assembler.desc.1": "この機械は進行においてとても重要なものですが、他の機械と比べて&c作成コストが高いです&r。\n組立機を使ったほとんどのレシピでは&c液体&rを扱います。、要求される液体や素材がそろってから運用するのがよいでしょう。\n\nともあれ、&3組立機&rはGregを進めるにおいて極めて重要な機械です。マイクラにおける作業台と同じくらい重要な存在だと考えてください。ただし、必要なのは木材4つではなく回路4つですがね。", + "quests.low_voltage.lv_assembler.desc.1": "この機械は進行においてとても重要なものですが、他の機械と比べて&c作成コストが高いです&r。\n組立機を使ったほとんどのレシピでは&c液体&rを扱います。要求される液体や素材がそろってから運用するのがよいでしょう。\n\nともあれ、&3組立機&rはGregを進めるにおいて極めて重要な機械です。マイクラにおける作業台と同じくらい重要な存在だと考えてください。ただし、必要なのは木材4つではなく回路4つですがね。", "quests.low_voltage.lv_assembler.desc.2": "十分に資材や設備が整っていれば、次のようなアイテムをより効率よく作れるようになります:\n\n-&6真空管&r:以前の2倍以上の効率で製作できます。\n\n&9-&r抵抗器:1回のクラフトで4個も作れます。\n\n-&6樹脂プリント基板&r:使用する銅の量を大幅に削減できます。\n\nたまりませんね!\n\n&l&3余談:&r&o昔のGregTech2の時代だと、組立機はスロットがたった2つしかなくて、主に回路の代替品や筐体のレシピにしか使われなかったんだよ。ずいぶんと成長したね。", "quests.low_voltage.lv_assembler.task": "Basic Assembler", "quests.low_voltage.t2_circuit_board.subtitle": "素敵な木の基板", @@ -2543,7 +2617,7 @@ "quests.low_voltage.1_mv_circuit.desc": "さて、アルミニウムインゴットは持っていますか?\n\nGregTechには、それぞれの段階に対応する回路があります。\n「改良型電子回路」は、3種類ある&bMV&r回路のうち、&d最初に作れるMV回路&rです。\n\n回路をもっと安く作るために、新しいティアの&2回路作成機&rを作り、新たなレシピを解禁しましょう。MV回路があれば初めての回路作成機を作ることができます!デプロイヤーよりもよっぽど優秀ですよ。\n\n&6この回路とアルミニウムがあれば、ついにMV機械をつくることができます。&r\n\nもしGregTechの回路システムが複雑すぎて混乱しているなら、「&6進捗表&r」の章を参考にすると良いでしょう。", "quests.low_voltage.lv_circuit_assembler.title": "回路作成機", "quests.low_voltage.lv_circuit_assembler.subtitle": "LVからの出口", - "quests.low_voltage.lv_circuit_assembler.desc.1": "これからは、すべての回路を&3回路作成機&rで作るようにしましょう。&6LVやMV回路を簡単に&r作れるようになります。\n\n&3回路作成機&rを新しいティアにアップグレードするたびに、より&d高性能な種類の回路&rを作れるようになります。必要な素材は&c複雑な&rものや&m少し貴重な&rものもありますが、全体的に制作効率が良くなります。", + "quests.low_voltage.lv_circuit_assembler.desc.1": "これからは、すべての回路を&3回路作成機&rで作るようにしましょう。&6LVやMV回路を簡単に&r作れるようになります。\n\n&3回路作成機&rを新しいティアにアップグレードするたびに、より&d高性能な種類の回路&rを作れるようになります。必要な素材は&c複雑な&rものや&m少し&r珍しいものもありますが、全体的に制作効率が良くなります。", "quests.low_voltage.lv_circuit_assembler.desc.2": "&l&3余談:&r&o回路作成機は、歴代のGregTechで登場したり姿を消したりしてたんだ。GT5では登場せず、GT5Unofficialで再び追加された。GTCEでは見送られて、GTCEuではまた登場して...神出鬼没だね。", "quests.low_voltage.lv_greenhouse.title": "電気温室", "quests.low_voltage.lv_greenhouse.subtitle": "KubeJSは全てを解決する", @@ -2570,7 +2644,7 @@ "quests.low_voltage.lv_oxygen.title": "酸素の入手経路", "quests.low_voltage.lv_oxygen.subtitle": "酸素が足りてない方へ", "quests.low_voltage.lv_oxygen.desc.1": "酸素の入手経路は非常に多岐にわたり、効率の良いレシピを探そうとEMIを延々と眺めているうちに、&o&e天寿を全うしてしまうかもしれません。&r実際、さまざまな鉱石から電解によって酸素を得ることができます。\n\nクエストブックになにか情報が載っていればいいんですけどねえ...", - "quests.low_voltage.lv_oxygen.desc.2": "というわけで、用意しておいたのがこちらになります。\n\n私たちが最もおすすめする方法は、&dガス収集機&rで集めた&ac空気を遠心分離&rすることです。\nこの方法では同時に&a窒素&rも得られるため、&3EBF&rでのいくつかのレシピの高速化に使えます。ただし、まだガス収集機を作れない場合もあるかもしれません。\n\n次に効率が良い方法は&a二酸化ケイ素を電解&rすることです。二酸化ケイ素は、ガラス粉末や様々な石の粉末から入手できます。\nこの方法については後ほど&6詳しく紹介&rします。&6神&rといっても差し支えないほど素晴らしい方法ですよ!", + "quests.low_voltage.lv_oxygen.desc.2": "というわけで、用意しておいたのがこちらになります。\n\n私たちが最もおすすめする方法は、&dガス収集機&rで集めた&a空気を遠心分離&rすることです。\nこの方法では同時に&a窒素&rも得られるため、&3EBF&rでのいくつかのレシピの高速化に使えます。ただし、まだガス収集機を作れない場合もあるかもしれません。\n\n次に効率が良い方法は&a二酸化ケイ素を電解&rすることです。二酸化ケイ素は、ガラス粉末や様々な石の粉末から入手できます。\nこの方法については後ほど&6詳しく紹介&rします。&6神&rといっても差し支えないほど素晴らしい方法ですよ!", "quests.low_voltage.lv_oxygen.desc.3": "3番目に良い方法は&a水を電解&rすることです。水の電解は電力コストが高いため、&a水素の生成&rに適しています。\n&4この方法は酸素の主要な供給源にはなりません&r、あくまで&1水素&rの確保がメインです。水素の作り方については後ほど詳しく説明します。\n\n4番目に良い方法は&aコツコツ貯めておく&rことです!酸素は様々なクラフトで副産物としてでてくるので、タンクに保管しておきましょう。\n\n&e補足:&rクエストをクリアするには、この液体が入った&l任意の&rタンクをインベントリに入れます。バケツでも構いません。", "quests.low_voltage.lv_oxygen.task": "Oxygen", "quests.low_voltage.lv_nitrogen.title": "窒素", @@ -3220,10 +3294,10 @@ "quests.space_survival.sandworm.title": "サンドワーム", "quests.space_survival.sandworm.subtitle": "SHAI-HULUD", "quests.space_survival.sandworm.desc": "砂漠であまり大きい音を立てると、&6サンドワーム&rという強敵が現れることがあります。これはボスというよりも災害に近いものであるので、遭遇してしまったら逃げましょう。\n\n頭に一定回数&b爆発ダメージ&rを与えることができれば、しばらくの間サンドワームは大人しくなります。\n\nなお、サンドワームには地形破壊能力がなく、&6プレイヤーの足音&rにのみ反応するので、他の野生生物や、乗り物、列車などに対しては反応しません。", - "quests.space_survival.spice.title": "オストラムの堆積物", + "quests.space_survival.spice.title": "オストラムが混じった砂", "quests.space_survival.spice.subtitle": "とても見つけにくいアイテム", - "quests.space_survival.spice.desc": "火星砂漠バイオームには、&dオストラムの堆積物&rという回収不可ブロックが存在します。これらは小さな塊として砂漠に生成されます。破壊することは可能なので、坂などに生成されていても、オストラムハーベスターを設置するための場所は確保できます。望遠鏡があれば、探しやすくなります。\n\nまた、オストラムを利用するには、手に入れたオストラムを拠点に持ち帰るための手段も確保する必要があります。\n\nオストラムは&5EV&r時代に必要となる資源であるほか、核分裂炉の稼働にも必要です。", - "quests.space_survival.spice.task": "オストラムの堆積物を見つける", + "quests.space_survival.spice.desc": "火星砂漠バイオームには、&dオストラムが混じった砂&rという回収不可ブロックが存在します。これらは小さな塊として砂漠に生成されます。破壊することは可能なので、坂などに生成されていても、オストラムハーベスターを設置するための場所は確保できます。望遠鏡があれば、探しやすくなります。\n\nまた、オストラムを利用するには、手に入れたオストラムを拠点に持ち帰るための手段も確保する必要があります。\n\nオストラムは&5EV&r時代に必要となる資源であるほか、核分裂炉の稼働にも必要です。", + "quests.space_survival.spice.task": "オストラムが混じった砂を見つける", "quests.space_survival.mars_islands.title": "火星の森", "quests.space_survival.mars_islands.subtitle": "きょ、恐竜!?", "quests.space_survival.mars_islands.desc": "砂漠に覆われた火星には、時折小さなオアシスが存在しており、そこには生物や木々が見られます。拠点を作るのであれば、ここに作るとよいでしょう。砂漠よりもずっと生活しやすいです。", @@ -3248,10 +3322,10 @@ "quests.space_survival.t2_space_suit.desc": "この宇宙服があれば、&b極低温&r、&c極高温&rのいずれにも対応できます。さもなくば、&6金星&rや&5水星&rでは、足を踏み入れた途端に死んでしまうでしょう。\n\nちなみに、防御力と酸素の容量も上昇しています。", "quests.space_survival.mars_tapping.title": "赤い樹液と歪んだ樹液", "quests.space_survival.mars_tapping.subtitle": "樹液集めはお好き?", - "quests.space_survival.mars_tapping.desc": "真紅のキノコ、歪んだキノコからは、それぞれ専用の樹液が得られます。\n\n&9イオジン&rを作るには、両方の樹液が必要です。ただし、両者は多くの場合別々の場所に生えているため、ある程度探索も必要になるでしょう。真紅のキノコは主に東側で、歪んだキノコは西側でみられます。\n\nちなみに、樹液はGregtechのパイプでも集めることができます。\n\n&9おまけ:&r真紅のキノコからはカヌーを、歪んだキノコからはボートやスループを作成することができます。", - "quests.space_survival.iodine.title": "イオジン", + "quests.space_survival.mars_tapping.desc": "真紅のキノコ、歪んだキノコからは、それぞれ専用の樹液が得られます。\n\n&9ヨウ素&rを作るには、両方の樹液が必要です。ただし、両者は多くの場合別々の場所に生えているため、ある程度探索も必要になるでしょう。真紅のキノコは主に東側で、歪んだキノコは西側でみられます。\n\nちなみに、樹液はGregtechのパイプでも集めることができます。\n\n&9おまけ:&r真紅のキノコからはカヌーを、歪んだキノコからはボートやスループを作成することができます。", + "quests.space_survival.iodine.title": "ヨウ素", "quests.space_survival.iodine.subtitle": "キノコ化学のはじまり", - "quests.space_survival.iodine.desc": "歪んだキノコ、真紅のキノコの樹液を混ぜたものに、火星の大気を蒸留して得られるクリプトンを加え、それを核分裂炉の熱で熱することにより、イオジンを手に入れることができます。\n\nこの加工には時間がかかりますが、使用量は多くないので心配ご無用。Ad Astraをさらに進めれば、もっと簡単にイオジンを作れるようになります。", + "quests.space_survival.iodine.desc": "歪んだキノコ、真紅のキノコの樹液を混ぜたものに、火星の大気を蒸留して得られるクリプトンを加え、それを核分裂炉の熱で熱することにより、ヨウ素を手に入れることができます。\n\nこの加工には時間がかかりますが、使用量は多くないので心配ご無用。Ad Astraをさらに進めれば、もっと簡単にヨウ素を作れるようになります。", "quests.space_survival.mars_crops.title": "火星の植物", "quests.space_survival.mars_crops.subtitle": "こんなもので栄養を!?", "quests.space_survival.mars_crops.desc": "火星では6種の新たな作物が手に入ります。うち3種は果物、2種は野菜、1種は穀物です。地球上の作物と同様の栄養素が含まれており、同様の料理を作ることができます。\n\n一部の作物は生で食べると毒があるため、必ず調理してから食べましょう。\n\n詳しい育て方については、ガイドを参照してください。FirmalifeやGregtechの温室でも栽培することができます。", @@ -3400,7 +3474,7 @@ "quests.steam_age.rock_crusher.desc": "高圧蒸気式破砕機は一ブロックの丸石生産機です。岩または丸石を入れれば、わずかな蒸気のコストで多くの石を生成できます。\n進行には必要ないですが、レンガをたくさん作りたい場合などは、この機械が最適です。", "quests.steam_age.forge_hammer.title": "高圧蒸気式鍛造機", "quests.steam_age.forge_hammer.subtitle": "高圧蒸気式鍛造機は、鍛造をします", - "quests.steam_age.forge_hammer.desc": "この機械により、これまで鍛造が必要だった多くのレシピを任せられるようになりました!\n\n&b丸石を砂利に&r、&d砂利を砂に&r粉砕処理することもできます。それも、非常に高速に。\n\nなにより重要なこととして、&aプレート&rをより低コストに作成します:&63つのインゴットで2枚のプレートが!&rお得ですね!\n\nそれに加えて、Helve_Hammerのように、時間をかけて塊鉄を錬鉄に、銑鉄をスチールにすることができます!", + "quests.steam_age.forge_hammer.desc": "この機械により、これまで鍛造が必要だった多くのレシピを任せられるようになりました!\n\n&b丸石を砂利に&r、&d砂利を砂に&r粉砕処理することもできます。それも、非常に高速に。\n\nなにより重要なこととして、&aプレート&rをより低コストに作成できます。なんと&63つのインゴットで2枚のプレートが!&rお得ですね!\n\nそれに加えて、Helve_Hammerのように、時間をかけて塊鉄を錬鉄に、銑鉄をスチールにすることができます!", "quests.steam_age.alloy_smelter.title": "高圧蒸気式合金製錬機", "quests.steam_age.alloy_smelter.subtitle": "高圧蒸気式合金製錬機は、合金精錬をします", "quests.steam_age.alloy_smelter.desc": "&b高圧蒸気式合金製錬機&rは、まあ、合金精錬に使用されます。効率的な&6ブロンズ&r作成レシピと、近い将来、&4赤合金&rの作成に必要になります。\n\nまた、高炭素系インゴットをより効率的に作ることもできます!\n\nすべての&6蒸気時代の&r機械の中で、これは最も蒸気を消費します。蒸気がなくなった場合は、機械を&a優しく、愛をこめて&r&dソフトマレットでぶっ叩いて&rあげると、一時停止します。", @@ -3727,7 +3801,7 @@ "quests.tfg.capture_territory.desc": "マルチプレイをしているとき、他のプレイヤーに邪魔されないように自分の領地を確保したいと思うことがあるかもしれません。そんな時はOpen_Claimキー(デフォルトだとCtrl+M)を使ってウィンドウを開き、左クリックでチャンクを確保、右クリックで解放することができます。 ただし、これには制限があります。世界のすべてを領地にすることはできないですよ。また、Shift+左クリックでチャンクロード状態にすることもできます。Shift+右クリックで解除することができます。そして、これらは同じチーム内で共有されます。", "quests.tfg.field_guide.title": "クエストに関する重要な情報!", "quests.tfg.field_guide.subtitle": "もっといろいろ知りたいですか?", - "quests.tfg.field_guide.desc": "クエストはまだ開発中で、常に改善に努めています!特定のゲーム内の仕様に関する多くの情報は、インベントリの「本」タブからアクセスできるフィールドガイドにも記載されています。\n\nクエストですべてが説明されるわけではないので、EMIとフィールドガイドはあなたの強い味方になることを覚えておいてください。\n\n追記:この文章は日本語の時のみ表示されます。クエストの文章がおかしなところで改行されることなどで悩んでいる場合は「Better Line Break」というModを導入することをお勧めします。このModは日本語でのクエストの表示を改善してくれます", + "quests.tfg.field_guide.desc": "クエストはまだ開発中で、常に改善に努めています!特定のゲーム内の仕様に関する多くの情報は、インベントリの「本」タブからアクセスできるフィールドガイドにも記載されています。\n\nクエストですべてが説明されるわけではないので、EMIとフィールドガイドはあなたの強い味方になることを覚えておいてください。\n\n追記:この文章は日本語の時のみ表示されます。クエストの文章がおかしなところで改行されることなどで悩んでいる場合は「Better Line Break」というModを導入することをお勧めします。このModは日本語でのクエストの表示を改善してくれます。\nまた、クエストは日本語で読みたいけれど、アイテムは英語で検索したいという場合は「Untranslated Items」というModの導入をお勧めします。ツールチップに日本語名と英語名の両方が表示されるようにしてくれます。", "quests.tfg.books_again.title": "本をなくした方へ", "quests.tfg.books_again.desc": "クエストブックとフィールドガイドの本がまた欲しいですか?コピーはこのクエストで何度でももらえるので安心してください。", "quests.tfg_tips": "Tips - サバイバル", @@ -4375,10 +4449,10 @@ "quests.tfg_tips.trowel.desc": "&4こて&rは、ホットバーにあるブロックを&bランダムに&r設置できる建築家向けのツールです。\nこては、レンガやその他の使用可能なアイテムを使用して、&5RNR_Roads&rのタイルをランダムに設置することなどに使えます。", "quests.tfg_tips.lunchbox.title": "ランチボックス", "quests.tfg_tips.lunchbox.subtitle": "ポケットの中の冷蔵庫!", - "quests.tfg_tips.lunchbox.desc": "ランチボックスには9つの食品スロットがあり、食品を保冷し、長持ちさせます。\nCooling_Lunch_Boxは通常のものよりも保存効果が強いですが、氷または冷却セルを入れておく必要があります。", + "quests.tfg_tips.lunchbox.desc": "ランチボックスには9つの食品スロットがあり、食品を保冷し、長持ちさせます。\n保冷ランチボックスは通常のものよりも保存効果が強いですが、氷または冷却用のセルを入れておく必要があります。", "quests.tfg_tips.lunchbox.task.1": "任意のランチボックス", "quests.tfg_tips.lunchbox.task.2": "任意の氷のブロック", - "quests.tfg_tips.lunchbox.task.3": "液体氷を含む任意のセル", + "quests.tfg_tips.lunchbox.task.3": "液体氷泥を含む任意のセル", "quests.tfg_tips.transportation_tips.title": "Tips - 移動手段", "quests.tfg_tips.transportation_tips.subtitle": "この世界の歩き方", "quests.tfg_tips.tools_tips.title": "Tips - ツール", @@ -4417,7 +4491,7 @@ "quests.tfg_tips.tools_tips.base_course.subtitle": "すべての道の基礎", "quests.tfg_tips.tools_tips.base_course.task": "Look at Base Course", "quests.tfg_tips.tools_tips.gravel_roads.title": "砂利道", - "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "ナマステ", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "ありきたりな道", "quests.tfg_tips.tools_tips.gravel_roads.task": "Any Gravel Road Material", "quests.tfg_tips.tools_tips.gravel_roads.desc": "これらの材料をbase_courseに使用すると、歩行速度が&b&l10%%&r&rアップする道路を作ることができます。", "quests.tfg_tips.tools_tips.brick_roads.title": "レンガ歩道", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index c4296a2aa..5fccaf8c0 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -103,8 +103,8 @@ "block.tfg.gabbro_support": "辉长岩支撑梁", "block.tfg.shale_support_horizontal": "页岩水平支撑梁", "block.tfg.shale_support": "页岩支撑梁", - "block.tfg.claystone_support_horizontal": "粘土岩水平支撑梁", - "block.tfg.claystone_support": "粘土岩支撑梁", + "block.tfg.claystone_support_horizontal": "黏土岩水平支撑梁", + "block.tfg.claystone_support": "黏土岩支撑梁", "block.tfg.limestone_support_horizontal": "石灰岩水平支撑梁", "block.tfg.limestone_support": "石灰岩支撑梁", "block.tfg.conglomerate_support_horizontal": "砾岩水平支撑梁", @@ -494,14 +494,14 @@ "block.tfg.uv_gas_pressurizer": "§3终极气体加压器§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "半重氨水", "block.tfg.grass.mars_dirt": "火星土壤", - "block.tfg.grass.mars_clay_dirt": "火星粘土质土壤", + "block.tfg.grass.mars_clay_dirt": "火星黏土质土壤", "block.tfg.grass.mars_farmland": "火星农田", "block.tfg.grass.mars_path": "火星路径", "block.tfg.grass.amber_mycelium": "琥珀菌丝", "block.tfg.grass.amber_clay_mycelium": "琥珀黏土菌丝", "block.tfg.grass.amber_kaolin_mycelium": "琥珀高岭土菌丝", "block.tfg.grass.rusticus_mycelium": "红锈菌丝", - "block.tfg.grass.rusticus_clay_mycelium": "红锈粘土菌丝", + "block.tfg.grass.rusticus_clay_mycelium": "红锈黏土菌丝", "block.tfg.grass.rusticus_kaolin_mycelium": "红锈高岭土菌丝", "block.tfg.grass.sangnum_mycelium": "赤血菌丝", "block.tfg.grass.sangnum_clay_mycelium": "赤血黏土菌丝", @@ -1144,7 +1144,7 @@ "material.gtceu.lactose": "乳糖", "material.tfg.gabbro": "辉长岩", "material.tfg.shale": "页岩", - "material.tfg.claystone": "粘土岩", + "material.tfg.claystone": "黏土岩", "material.tfg.limestone": "石灰岩", "material.tfg.conglomerate": "砾岩", "material.tfg.dolomite": "白云岩", @@ -2850,7 +2850,7 @@ "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.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&8我们并不抱歉。&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&8我们并不抱歉。&r", "quests.medium_voltage.mv_extruder.title": "高级压模器", "quests.medium_voltage.mv_extruder.subtitle": "你将进行最重大的升级", "quests.medium_voltage.mv_extruder.desc": "我们&l真诚地&r希望你&c从未&r制作过&7LV&r压模器,因为只有&bMV&r压模器才真正实用。如果已经制作了,请立即通过电弧炉将其&a回收&r。\n\n压模器能使用&a锭&r将固体材料塑造成(几乎!)任何形状。这是减少微合成步骤并保持高转化效率的绝佳方式。\n\n压模器可以单步最高效地制作&6螺栓&r、&6小型齿轮&r、&6齿轮&r和&6环&r!\n\n你还可以用它来制造&d管道&r、&d螺丝&r和&d转子&r。", @@ -3110,9 +3110,9 @@ "quests.metal_age.wrought_iron_goodies.title": "锻铁级机械动力", "quests.metal_age.wrought_iron_goodies.subtitle": "你说的这个“安山合金”是什么?", "quests.metal_age.wrought_iron_goodies.desc": "有了锻铁,你已解锁了对金属外壳的访问,这是机械动力中许多机械方块(如齿轮箱)的基础。更高级的一些将需要钢,但此时建造一个全自动的树场和农场是可行的。\n\n杂酚油用于制造防腐木板,这些木板可以制成水轮和风车,这是对动物动力的显著改进。", - "quests.metal_age.fire_clay_ingredients.title": "耐火粘土原料", + "quests.metal_age.fire_clay_ingredients.title": "耐火黏土原料", "quests.metal_age.fire_clay_ingredients.subtitle": "群峦传说的成人礼。", - "quests.metal_age.fire_clay_ingredients.desc": "耐火粘土是一种由高岭石、石墨和普通粘土制成的特殊粘土,特别耐高温。它的两个主要用途是坩埚(作为用于金属熔炼和合金化的容器的改进版本)和高炉(这是制作下一级砧和金属等级——钢——所必需的)。\n\n你可能需要长途跋涉,远离你的基地才能获得石墨和高岭土,所以准备是关键!", + "quests.metal_age.fire_clay_ingredients.desc": "耐火黏土是一种由高岭土、石墨和普通黏土制成的特殊黏土,特别耐高温。它的两个主要用途是坩埚(作为用于金属熔炼和合金化的容器的改进版本)和高炉(这是制作下一级砧和金属等级——钢——所必需的)。\n\n你可能需要长途跋涉,远离你的基地才能获得石墨和高岭土,所以准备是关键!", "quests.metal_age.overworld_kaolin.title": "高岭土来源:主世界", "quests.metal_age.overworld_kaolin.subtitle": "欢迎来到丛林", "quests.metal_age.overworld_kaolin.desc": "高岭土只能在具有高海拔、温度(至少18°C)和湿度(至少300mm降雨量)组合的地区找到。高岭土生成要求的完整列表和提示可以在《野外指南》中找到。\n\n你很可能需要向东南方向旅行非常、非常远,很可能要穿越海洋。用铁制水壶、大量食物、某种水上交通工具(如独木舟、划艇或皮划艇)以及额外的便携式存储设备来装备自己,以便尽可能多地带回家高岭土。\n\nTerraFirmaGreg任务的“提示与技巧”章节中有关于便携式存储和水上交通工具的任务。", @@ -3129,17 +3129,17 @@ "quests.metal_age.beneath_graphite.task": "穿越主世界基岩并到达幽冥之地", "quests.metal_age.kaolin_clay.title": "高岭土", "quests.metal_age.kaolin_clay.subtitle": "高岭土之旅:次时代", - "quests.metal_age.kaolin_clay.desc": "一旦你找到高岭土,你应该尽可能多地带回来!不幸的是,只有20%%的高岭土能成功烧制成高岭石粉,所以建议在现场用坑窑烘烤,以节省库存空间。\n\n在你制作了坩埚和高炉之后,你就不再需要太多高岭土了,但多带一些你认为需要的量仍然是一个好主意,以避免重复旅程。\n\n附注:如果你找到了火球花但没有找到粘土,试着再往下挖一点!有时它生成在地下一点的地方。", + "quests.metal_age.kaolin_clay.desc": "一旦你找到高岭土,你应该尽可能多地带回来!不幸的是,只有20%%的高岭土能成功烧制成高岭石粉,所以建议在现场用坑窑烘烤,以节省库存空间。\n\n在你制作了坩埚和高炉之后,你就不再需要太多高岭土了,但多带一些你认为需要的量仍然是一个好主意,以避免重复旅程。\n\n附注:如果你找到了火球花但没有找到黏土,试着再往下挖一点!有时它生成在地下一点的地方。", "quests.metal_age.graphite.title": "石墨", "quests.metal_age.graphite.subtitle": "铅笔不存在", "quests.metal_age.graphite.desc": "一旦你找到石墨,你应该尽可能多地带回来!虽然你不需要像高岭土那么多。\n石墨矿脉也富含煤和钻石,而你很快就会需要煤来制造钢。", "quests.metal_age.graphite.task": "任何形式的石墨", - "quests.metal_age.fire_clay.title": "耐火粘土", + "quests.metal_age.fire_clay.title": "耐火黏土", "quests.metal_age.fire_clay.subtitle": "终于", - "quests.metal_age.fire_clay.desc": "加热高岭土以获得高岭石粉。你可以使用木炭炉单独加热它们,但在坑窑中用小缸大批量烘烤可能更快。\n\n对于石墨,正常处理矿石,然后再次粉碎石墨粉尘以获得石墨粉。\n\n最后,将4份石墨粉、4份高岭石粉和1份粘土组合来合成耐火粘土。", - "quests.metal_age.fire_clay_products.title": "耐火粘土产品", - "quests.metal_age.fire_clay_products.subtitle": "极度耐热的粘土", - "quests.metal_age.fire_clay_products.desc": "就像普通粘土一样,耐火粘土可以通过塑性来制造你需要烧制的东西。最重要的是,耐火粘土用于制造坩埚和耐火砖,这两者都是高炉所必需的。\n\n你还将能够创建一个铸模台和浇注通道,让你可以一次将金属从坩埚铸入多个模具。\n\n最后,还有耐火锭模具,它只有1%%的几率破裂,而不是普通粘土的10%%。", + "quests.metal_age.fire_clay.desc": "加热高岭土以获得高岭石粉。你可以使用木炭炉单独加热它们,但在坑窑中用小缸大批量烘烤可能更快。\n\n对于石墨,正常处理矿石,然后再次粉碎石墨粉尘以获得石墨粉。\n\n最后,将4份石墨粉、4份高岭石粉和1份黏土组合来合成耐火黏土。", + "quests.metal_age.fire_clay_products.title": "耐火黏土产品", + "quests.metal_age.fire_clay_products.subtitle": "极度耐热的黏土", + "quests.metal_age.fire_clay_products.desc": "就像普通黏土一样,耐火黏土可以通过捏制来制造你需要烧制的东西。最重要的是,耐火黏土用于制造坩埚和耐火砖,这两者都是高炉所必需的。\n\n你还将能够创建一个铸模台和浇注道,让你可以一次将金属从坩埚铸入多个模具。\n\n最后,还有耐火锭模具,它只有1%%的几率破裂,而不是普通黏土的10%%。", "quests.metal_age.crucible.title": "坩埚", "quests.metal_age.crucible.subtitle": "像专业人士一样熔化金属", "quests.metal_age.crucible.desc": "将坩埚放置在木炭炉上方。它带有9个物品栏槽位,可容纳4032mB的流体,包括一个检查你合金化比例的界面。它们在破碎时也会保留其内容物。当放置在高炉下方时,它们也可以收集生铁。\n\n请记住,坩埚会尝试合金化里面的所有东西——它不像匠魂冶炼炉那样将金属分开保存——所以当你不使用它时,保持清洁是一个好主意。", @@ -3450,7 +3450,7 @@ "quests.space_survival.t2_space_suit.desc": "穿上这套新一代太空服,你将能抵御宇宙中的&b极寒&r与&c酷热&r环境!它是你踏上&6金星&r和&5水星&r时,防止自身因高温而瞬间自燃的必备装备。\n\n此外,它还额外提供了一定的护甲值和氧气容量!", "quests.space_survival.mars_tapping.title": "绯红液与诡异液", "quests.space_survival.mars_tapping.subtitle": "你可真是钟情于采集树液啊!", - "quests.space_survival.mars_tapping.desc": "绯红菌和诡异菌可通过树液采集器分别获取&4绯红液&r与&3诡异液&r。\n\n这两种液体是生产&9碘&r的必备原料,但由于它们通常不生长在同一区域,你可能需要长途跋涉。绯红菌多分布于火星东半球,而诡异菌则更常见于西半球。\n\n请注意:你可以直接将采集器接入格雷科技的开放式流体管道!\n\n&9提示:&r想要展示创意?你还可以用绯红菌柄制作独木舟,用诡异菌柄建造划艇或单桅纵帆船!", + "quests.space_survival.mars_tapping.desc": "绯红菌和诡异菌可通过树液采集器分别获取&4绯红液&r与&3诡异液&r。\n\n这两种液体是生产&9碘&r的必备原料,但由于它们通常不生长在同一区域,你可能需要长途跋涉。绯红菌多分布于火星东半球,而诡异菌则更常见于西半球。你也可以从对应的末影人那里获取树苗。\n\n请注意:你可以直接将采集器接入格雷科技的开放式流体管道!\n\n&9提示:&r想要展示创意?你还可以用绯红菌柄制作独木舟,用诡异菌柄建造划艇或单桅纵帆船!", "quests.space_survival.iodine.title": "碘生产线", "quests.space_survival.iodine.subtitle": "蘑菇化学!", "quests.space_survival.iodine.desc": "将绯红液与诡异液混合,同时注入来自火星空气蒸馏系统(该流程可循环运作)的氪气,再借助裂变反应堆提供的高温环境,便可制得碘!\n\n此过程较为缓慢,但现阶段需求量不大,且后续在其它行星上还将解锁更高效的碘获取方法。", @@ -3738,7 +3738,7 @@ "quests.stone_age.cook_meat.desc": "烹饪生肉是获取蛋白质的重要一步——它不仅会增加肉的整体保质期,还会为你需求旺盛的身体释放更多的营养物质。\n\n最简单的烹饪肉类的方法是使用篝火坑。查看下方的任务学习制作方法。", "quests.stone_age.soup_time.title": "汤", "quests.stone_age.soup_time.subtitle": "你刚才在哪家店里?", - "quests.stone_age.soup_time.desc": "用粘土烧纸一个陶锅和一些碗,你就能做出汤了!\n\n汤是制作更复杂餐点的最初也是最简单的方法之一。与食用普通食材不同,汤能提供更多的饱食度,并让你一次性摄入多种营养素!", + "quests.stone_age.soup_time.desc": "用黏土烧制一个陶锅和一些碗,你就能做出汤了!\n\n汤是制作更复杂餐点的最初也是最简单的方法之一。与食用普通食材不同,汤能提供更多的饱食度,并让你一次性摄入多种营养素!", "quests.stone_age.meals.title": "餐点", "quests.stone_age.meals.subtitle": "快到碗里来!", "quests.stone_age.meals.desc": "这些只是你可以制作的一些基本餐点。汤、沙拉和三明治是你制作高饱食度混合餐点的首选,而披萨是唯一能同时包含所有营养类型的食物。", @@ -3823,24 +3823,24 @@ "quests.stone_age.firepit.subtitle": "夜晚即将来临", "quests.stone_age.firepit.desc.1": "既然你有一些原木,是时候建造你的第一个篝火坑了!虽然怪物不会在夜晚的地表生成,但夜行掠食者会醒来并四处徘徊。\n\n你首先需要制造一个起火器,一种可以让你生火的工具。", "quests.stone_age.firepit.desc.2": "要创建你的篝火坑,将至少一根原木和最多3根木棍扔到地上,然后右键单击并按住起火器点燃下面的方块。你也可以添加一些稻草使其更容易点燃。\n\n篝火坑不仅是光和热的来源,还可以用来点燃火把和烹饪生肉。你可以通过与它互动并向UI中添加原木来保持篝火坑燃烧。如果火熄灭了,只需添加更多原木并用你的起火器再次点燃即可。", - "quests.stone_age.find_clay.title": "粘土来源", + "quests.stone_age.find_clay.title": "黏土来源", "quests.stone_age.find_clay.subtitle": "你需要很多这个", - "quests.stone_age.find_clay.desc": "粘土是石器时代技术的核心要素!与打制石器类似,粘土可以捏制成不同形状后放入坑窑烧制,从而创造出各式物品。在掌握金属加工技术前,石器与陶器将是你生存发展的基石。\n\n黏土以小块形态埋藏于地下,通常被草覆盖。不过有一种名为\"粘土标识植物\"的特殊植被会生长在黏土上方。请查阅野外指南了解你所在气候区可能生长的标识植物种类。", - "quests.stone_age.clay.title": "粘土", - "quests.stone_age.clay.subtitle": "是粘土!", - "quests.stone_age.clay.desc": "收集至少25块粘土。你需要制作至少5种不同物品才能进展(详见后续任务)。塑形完成后,将它们放入坑窑中烧制成陶瓷。虽然粘土捏制方式与打制石器类似(每件物品需消耗5块黏土),但即使误操作并不会损失黏土。", + "quests.stone_age.find_clay.desc": "黏土是石器时代技术的核心要素!与打制石器类似,黏土可以捏制成不同形状后放入坑窑烧制,从而创造出各式物品。在掌握金属加工技术前,石器与陶器将是你生存发展的基石。\n\n黏土以小块形态埋藏于地下,通常被草覆盖。不过有一种名为\"黏土标识植物\"的特殊植被会生长在黏土上方。请查阅野外指南了解你所在气候区可能生长的标识植物种类。", + "quests.stone_age.clay.title": "黏土", + "quests.stone_age.clay.subtitle": "是黏土!", + "quests.stone_age.clay.desc": "收集至少25块黏土。你需要制作至少5种不同物品才能进展(详见后续任务)。塑形完成后,将它们放入坑窑中烧制成陶瓷。虽然黏土捏制方式与打制石器类似(每件物品需消耗5块黏土),但即使误操作并不会损失黏土。", "quests.stone_age.pit_kiln.title": "坑窑", "quests.stone_age.pit_kiln.subtitle": "现在事情变得火热了", - "quests.stone_age.pit_kiln.desc": "坑窑是游戏前期用于加热物品的装置。我们不仅可以用它烧制粘土制品,更重要的是还能熔炼最基础的矿石,制作出第一件金属工具——锯子。\n\n制作坑窑需要八捆稻草、八根原木、待加热物品以及一个起火器。具体制作方法请查阅《野外指南》的\"坑窑\"章节——注意它不同于篝火坑!", - "quests.stone_age.clay_products.title": "粘土制品", - "quests.stone_age.clay_products.subtitle": "我告诉过你粘土用途广泛。", - "quests.stone_age.clay_products.desc": "这些是你可以用粘土制作的所有产品。模具用于金属加工,容器用于存放物品,其他物品的用途在野外指南中有说明。你觉得你能把它们都捏出来吗?", + "quests.stone_age.pit_kiln.desc": "坑窑是游戏前期用于加热物品的装置。我们不仅可以用它烧制黏土制品,更重要的是还能熔炼最基础的矿石,制作出第一件金属工具——锯子。\n\n制作坑窑需要八捆稻草、八根原木、待加热物品以及一个起火器。具体制作方法请查阅《野外指南》的\"坑窑\"章节——注意它不同于篝火坑!", + "quests.stone_age.clay_products.title": "黏土制品", + "quests.stone_age.clay_products.subtitle": "我告诉过你黏土用途广泛。", + "quests.stone_age.clay_products.desc": "这些是你可以用黏土制作的所有产品。模具用于金属加工,容器用于存放物品,其他物品的用途在野外指南中有说明。你觉得你能把它们都捏出来吗?", "quests.stone_age.make_jug.title": "陶壶", "quests.stone_age.make_jug.subtitle": "早期游戏流体容器", "quests.stone_age.make_jug.desc": "陶壶是最容易制作的流体容器,但它只能容纳100mB。你也可以用它喝水,并向它吹气来发出噪音!", "quests.stone_age.make_saw_mold.title": "锯子模具", "quests.stone_age.make_saw_mold.subtitle": "是时候制作你的第一个金属工具了", - "quests.stone_age.make_saw_mold.desc": "你需要用粘土制作的第一个模具是锯子模具。通过它和少量金属,你就能制作出锯子。锯子作为重要工具,不仅是制作&l木材&r的必要工具,更重要的是,你将借助它打造属于自己的第一个&l&o工作台&r。", + "quests.stone_age.make_saw_mold.desc": "你需要用黏土制作的第一个模具是锯子模具。通过它和少量金属,你就能制作出锯子。锯子作为重要工具,不仅是制作&l木材&r的必要工具,更重要的是,你将借助它打造属于自己的第一个&l&o工作台&r。", "quests.stone_age.make_vessel.title": "小缸", "quests.stone_age.make_vessel.subtitle": "有用的小罐子。", "quests.stone_age.make_vessel.desc": "小缸的作用类似于收纳袋,可将多个物品收纳于单个格子中,但更重要的是,这是你初步接触金属加工的首件工具。\n\n右键点击小缸即可打开其小型物品栏,用于存放矿石。小缸的工具栏还会显示矿石可熔炼产出的金属类型,这在制作合金时尤为实用!\n\n将小缸置于坑窑中加热,即可熔炼其中的金属。\n\n若敢于尝试,你可在其中混合不同金属来制作合金。合金需要特定的金属配比比例。虽然铜能直接使用,但你也可以选择用青铜来打造你的第一套金属工具。", @@ -3862,7 +3862,7 @@ "quests.stone_age.workbench.desc": "恭喜!工作台的制成标志着你已正式迈入石器时代的巅峰。通过它,你将能用目前收集的材料制作众多新物品。\n\n现在,你将迎来原始时代的主要目标:使用铜砧进行规范的金属加工。\n\n温馨提示:虽然当前已可收集足够材料制作14块青铜锭,但若未先锻造铜砧则无法将其制成青铜砧。所幸砧具可回收利用,你的所有投入皆不会浪费。", "quests.stone_age.inventory.title": "早期存储选项", "quests.stone_age.inventory.subtitle": "是时候停止把所有垃圾都放在容器里了", - "quests.stone_age.inventory.desc": "在早期游戏中,你有4个简单的存储解决方案可用:\n\n&l箱子&r:箱子便宜且易于制作,但只有18个槽位,不能容纳任何大型或更大的物品。\n\n&l板条箱&r:板条箱是单方块库存,最便宜的有27个槽位,但制作起来更昂贵。\n\n&l马车&r:马车有巨大的54个槽位,可以随身携带,但占用大量空间。\n\n&l大缸&r:制作最便宜,只需要粘土,是食物保存的理想选择。还有多种颜色可供选择!", + "quests.stone_age.inventory.desc": "在早期游戏中,你有4个简单的存储解决方案可用:\n\n&l箱子&r:箱子便宜且易于制作,但只有18个槽位,不能容纳任何大型或更大的物品。\n\n&l板条箱&r:板条箱是单方块库存,最便宜的有27个槽位,但制作起来更昂贵。\n\n&l马车&r:马车有巨大的54个槽位,可以随身携带,但占用大量空间。\n\n&l大缸&r:制作最便宜,只需要黏土,是食物保存的理想选择。还有多种颜色可供选择!", "quests.stone_age.portable_storage.title": "便携式存储?", "quests.stone_age.portable_storage.subtitle": "因为你的库存被垃圾填满很糟糕", "quests.stone_age.portable_storage.desc": "在&lTerraFirmaGreg提示与技巧&r章节中,有一个部分涵盖了你的所有不同便携式存储选项,用于扩展你在世界各地旅行时可以携带的物品数量。如果你很难找到这些任务,它们位于任务树最右边的分支上。", @@ -3963,7 +3963,7 @@ "quests.tfg_tips.frame_pack.subtitle": "多些选择总不是坏事!", "quests.tfg_tips.frame_pack.desc": "&5大背包&r提供&318&r个物品栏位,每个栏位最多可容纳&c64&r个物品。其优势在于能够&b突破原版物品的默认堆叠上限&r,这意味着你总共可携带多达&c1152&r个物品!", "quests.tfg_tips.vessels.title": "小罐和大缸", - "quests.tfg_tips.vessels.subtitle": "粘土大有用处", + "quests.tfg_tips.vessels.subtitle": "黏土大有用处", "quests.tfg_tips.vessels.desc": "&d小罐&r有4格物品栏,而&6大缸&r有9格!&d小罐&r不仅存物,更是熔炼基础金属的必要设备。\n&6大缸&r更重但能更好保存食物。\n\n&l&3技巧:&r&o大缸可兼作早期背包!", "quests.tfg_tips.portable_cells.title": "便携式物品与流体存储元件", "quests.tfg_tips.portable_cells.subtitle": "这会不会太超前了?", @@ -4006,7 +4006,7 @@ "quests.tfg_tips.gt.desc": "&3格雷科技&r令人望而生畏,此分支任务将提供帮助。", "quests.tfg_tips.nano_saber.title": "纳米剑", "quests.tfg_tips.nano_saber.subtitle": "激活时26点攻击伤害!", - "quests.tfg_tips.nano_saber.desc": "&6纳米剑&r是&5EV&r阶段的强力武器。&dShift+右击&r激活&c嗡嗡模式&r。", + "quests.tfg_tips.nano_saber.desc": "&6纳米剑&r是&5EV&r阶段后期的强力武器。&dShift+右击&r激活&c嗡嗡模式&r。", "quests.tfg_tips.gt_tools.title": "格雷科技工具", "quests.tfg_tips.gt_tools.subtitle": "", "quests.tfg_tips.gt_tools.desc": "多数&5格雷科技&r工具由&6工具头&r打造。用&aEMI&r查看配方——记住两点:\n\n-&e工具头等级越高&r,工具越&c强力&r,所需&6电池越大&r\n-非所有工具支持所有工具头等级。如&6链锯&r仅能用&7LV工具头&r制作", @@ -4552,9 +4552,9 @@ "quests.tfg_tips.blue_steel_diving.title": "蓝钢潜水装备", "quests.tfg_tips.blue_steel_diving.subtitle": "完美用于洗个温暖的岩浆浴", "quests.tfg_tips.blue_steel_diving.desc": "&9蓝钢潜水装备&r是特殊护甲套装,让你在穿着时完全不受&c岩浆&r影响。降低的&a温暖值&r但高&b隔热值&r意味着你在&4幽冥之地&r能保持非常稳定的核心体温。", - "quests.tfg_tips.juicer.title": "榨汁机", + "quests.tfg_tips.juicer.title": "榨汁器", "quests.tfg_tips.juicer.subtitle": "应急饮水", - "quests.tfg_tips.juicer.desc": "&3榨汁机&r是一种特殊工具,能提取&a水果&r与&a蘑菇&r中蕴含的水分,转化为可饮用的&d水&r。\n\n在&4幽冥之地&r,水源仅常见于上层区域。随着不断深入,水资源将愈发稀缺。不过,&a蘑菇&r在&4幽冥之地&r中随处可见,有了它,你应该不至于渴死!", + "quests.tfg_tips.juicer.desc": "&3榨汁器&r是一种特殊工具,能提取&a水果&r与&a蘑菇&r中蕴含的水分,转化为可饮用的&d水&r。\n\n在&4幽冥之地&r,水源仅常见于上层区域。随着不断深入,水资源将愈发稀缺。不过,&a蘑菇&r在&4幽冥之地&r中随处可见,有了它,你应该不至于渴死!", "quests.tfg_tips.how_to_go_beneath.title": "如何前往幽冥之地", "quests.tfg_tips.how_to_go_beneath.subtitle": "无需黑曜石", "quests.tfg_tips.how_to_go_beneath.desc": "到达&4幽冥之地&r,你必须在&b主世界基岩&r站上几秒钟,之后你将&o传送&r到下界。\n\n&3&l提示:&r&o你将保持完全相同的X和Z坐标,所以它可能传送你进一些岩石。不过它会给你3x3x3空间工作,所以确保带一些支撑物挖隧道出去!", From b83fac89b70d8ae1316ec82c1a076063f9341353 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 00:53:09 +0000 Subject: [PATCH 124/628] remove old boiler balancing --- kubejs/server_scripts/gregtech/recipes.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1d57dc612..af1eae13c 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1243,13 +1243,13 @@ const registerGTCEURecipes = (event) => { // This is a factor of 9x for solids, 8.64x for liquids // Large boiler fuel burn time is multiplied by 9, resulting in less fuel used over time for the same amount of steam produced per tick - event.findRecipes({ id: /^gtceu:large_boiler\/.*/, type: "gtceu:large_boiler" }).forEach(large_boiler_recipe => { + //event.findRecipes({ id: /^gtceu:large_boiler\/.*/, type: "gtceu:large_boiler" }).forEach(large_boiler_recipe => { - let recipe_duration = large_boiler_recipe.json.getAsJsonPrimitive("duration").asInt + // let recipe_duration = large_boiler_recipe.json.getAsJsonPrimitive("duration").asInt - large_boiler_recipe.json.remove("duration") - large_boiler_recipe.json.add("duration", recipe_duration * 9) - }) + // large_boiler_recipe.json.remove("duration") + // large_boiler_recipe.json.add("duration", recipe_duration * 9) + //}) //#endregion From 876a880071f6d6d34d5ff418e96369eeb4164de8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 01:00:08 +0000 Subject: [PATCH 125/628] pakku --- pakku-lock.json | 279 ++++++++++++++++++++++++------------------------ 1 file changed, 140 insertions(+), 139 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 9b4ddb644..c4e08fa2b 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3767,30 +3767,9 @@ "modrinth": "9Qm19XSM" }, "files": [ - { - "type": "curseforge", - "file_name": "createhorsepower-1.0.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6514/772/createhorsepower-1.0.1.jar", - "id": "6514772", - "parent_id": "1121632", - "hashes": { - "sha1": "8ff20e3a91d86f5b188ff11a0aca979c62f21a53", - "md5": "1808ba5a8e918ade9fa41a9bcd490ce7" - }, - "required_dependencies": [], - "size": 258705, - "date_published": "2025-05-10T04:44:32.127Z" - }, { "type": "modrinth", - "file_name": "createhorsepower-1.0.1.jar", + "file_name": "createhorsepower-1.20.1-1.1.0.jar", "mc_versions": [ "1.20.1" ], @@ -3798,18 +3777,40 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/9Qm19XSM/versions/U0KKv9fU/createhorsepower-1.0.1.jar", - "id": "U0KKv9fU", + "url": "https://cdn.modrinth.com/data/9Qm19XSM/versions/bHSeI5kR/createhorsepower-1.20.1-1.1.0.jar", + "id": "bHSeI5kR", "parent_id": "9Qm19XSM", "hashes": { - "sha512": "4a8a30e5601783d214e96310cd71447054f0d2ac7545e7996b15161184ae4cace8fa556e84728aee3d37b639de029ca6c5d6cca3d12f637eb26c6aa77a9c819c", - "sha1": "8ff20e3a91d86f5b188ff11a0aca979c62f21a53" + "sha512": "8bb9e3d2b9e327709e26e247210efc10db6ade1a13156175d39729fe8bafae5e75f7c9104b03ce7c358bad40dcee767c1181bd8340f2e5ec314a36fc2822abdb", + "sha1": "b4a5802ec8e5c1eef4fe69b9ca973eb7fe02ace9" }, "required_dependencies": [ - "LNytGWDc" + "LNytGWDc", + "u6dRKJwZ" ], - "size": 258705, - "date_published": "2025-05-10T04:41:21.145727Z" + "size": 259693, + "date_published": "2025-11-25T04:46:17.404117Z" + }, + { + "type": "curseforge", + "file_name": "createhorsepower-1.20.1-1.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7259/899/createhorsepower-1.20.1-1.1.0.jar", + "id": "7259899", + "parent_id": "1121632", + "hashes": { + "sha1": "b4a5802ec8e5c1eef4fe69b9ca973eb7fe02ace9", + "md5": "4d2d9e1f33a934e7c60f734b9d848dc3" + }, + "required_dependencies": [], + "size": 259693, + "date_published": "2025-11-25T04:44:48.007Z" } ] }, @@ -4341,7 +4342,7 @@ "files": [ { "type": "curseforge", - "file_name": "deafission-1.20.1-0.15.0.jar", + "file_name": "deafission-1.20.1-0.15.2.jar", "mc_versions": [ "1.20.1" ], @@ -4349,19 +4350,19 @@ "forge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7249/402/deafission-1.20.1-0.15.0.jar", - "id": "7249402", + "url": "https://edge.forgecdn.net/files/7258/440/deafission-1.20.1-0.15.2.jar", + "id": "7258440", "parent_id": "1354541", "hashes": { - "sha1": "d5006dec153b97fb575562579d67facaa49bd7c1", - "md5": "ee23ef29043242633e6966ce991e4bd1" + "sha1": "4e49e3f128148964188983d7819d9e84c1778ff6", + "md5": "1517307eacc842d3302fa2afc3aabfbe" }, "required_dependencies": [ "890405", "238086" ], - "size": 410648, - "date_published": "2025-11-22T14:10:43.543Z" + "size": 413422, + "date_published": "2025-11-24T19:13:06.897Z" } ] }, @@ -5801,7 +5802,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-quests-forge-2001.4.16.jar", + "file_name": "ftb-quests-forge-2001.4.17.jar", "mc_versions": [ "1.20.1" ], @@ -5809,20 +5810,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7232/23/ftb-quests-forge-2001.4.16.jar", - "id": "7232023", + "url": "https://edge.forgecdn.net/files/7260/736/ftb-quests-forge-2001.4.17.jar", + "id": "7260736", "parent_id": "289412", "hashes": { - "sha1": "ce4d88a10a5d601ff56553c1c717c3959ef696aa", - "md5": "c5ecfb32eaa0d8b53c5a05140b30d366" + "sha1": "f7e4fec8991ce2b036ed4628e01fb48446a25ec7", + "md5": "35f79e8e8b0849d6038cd4cd9c86b08a" }, "required_dependencies": [ "404468", - "419699", - "404465" + "404465", + "419699" ], - "size": 1227148, - "date_published": "2025-11-17T10:04:04.753Z" + "size": 1227820, + "date_published": "2025-11-25T11:37:06.847Z" } ] }, @@ -5983,7 +5984,7 @@ "files": [ { "type": "modrinth", - "file_name": "fancymenu_forge_3.8.0_MC_1.20.1.jar", + "file_name": "fancymenu_forge_3.8.1_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5991,23 +5992,23 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/vBtamEim/fancymenu_forge_3.8.0_MC_1.20.1.jar", - "id": "vBtamEim", + "url": "https://cdn.modrinth.com/data/Wq5SjeWM/versions/MywA2BxT/fancymenu_forge_3.8.1_MC_1.20.1.jar", + "id": "MywA2BxT", "parent_id": "Wq5SjeWM", "hashes": { - "sha512": "05c7a61ba88fda95ee37701ef56cedca0bfc097e1aad670c73a5c0a0500e700092fb32c7ab9ecfea859d332dec5740fe17aee22bf7ad896ca4a08b2a484e9ecc", - "sha1": "2656fc419fc5d29d90266104c19f98db42b76471" + "sha512": "71aca039cd5eb81f7a169df32473465e6bbd13f88b703de68475298f5dbf76bc85787ecd6b786a049cb7e6bf2426dac254424abd15c1900d9d520276f7d63ad9", + "sha1": "1fef1d8ab0dc2dec116bc6d6cb6f789fd33b23b0" }, "required_dependencies": [ - "CVT4pFB2", - "J81TRJWm" + "J81TRJWm", + "CVT4pFB2" ], - "size": 4470626, - "date_published": "2025-11-22T06:57:21.261963Z" + "size": 4472193, + "date_published": "2025-11-24T08:24:19.760480Z" }, { "type": "curseforge", - "file_name": "fancymenu_forge_3.8.0_MC_1.20.1.jar", + "file_name": "fancymenu_forge_3.8.1_MC_1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -6015,19 +6016,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7248/355/fancymenu_forge_3.8.0_MC_1.20.1.jar", - "id": "7248355", + "url": "https://edge.forgecdn.net/files/7256/735/fancymenu_forge_3.8.1_MC_1.20.1.jar", + "id": "7256735", "parent_id": "367706", "hashes": { - "sha1": "2656fc419fc5d29d90266104c19f98db42b76471", - "md5": "f66a301126496f63b20f586cf0503aff" + "sha1": "1fef1d8ab0dc2dec116bc6d6cb6f789fd33b23b0", + "md5": "bf41a4251d431d92b89b6c91f84d5546" }, "required_dependencies": [ - "410295", - "938643" + "938643", + "410295" ], - "size": 4470626, - "date_published": "2025-11-22T06:57:13.317Z" + "size": 4472193, + "date_published": "2025-11-24T08:24:12.380Z" } ] }, @@ -6945,7 +6946,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.54.jar", + "file_name": "greate-0.0.57.jar", "mc_versions": [ "1.20.1" ], @@ -6954,44 +6955,44 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/wqUKZ5yH/greate-0.0.54.jar", - "id": "wqUKZ5yH", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/D1FDmRDa/greate-0.0.57.jar", + "id": "D1FDmRDa", "parent_id": "8wDcQuht", "hashes": { - "sha512": "5c98f96e0b442ffd97434337dd2c9b8bd6c84d4de179ddf1c38d3346521ca7fe11e12f813c438e1348c1b0e6000f0d0c1b498ae9c46c955b112858f291ab1156", - "sha1": "09c0d610b6989fe68f6ab98cc97ff2bb3894032f" + "sha512": "47b814782e431dc9dc8f17cc6591c6fc8874f094d80b311065e3b6bebed8d8559313d7de3b8613b17c66bf6f2c1311141995e65a34bced89ff862d0d2a0696c6", + "sha1": "de882a9d6be660e27834823ce33caaaca834d24c" }, "required_dependencies": [ - "7tG215v7", - "LNytGWDc" + "LNytGWDc", + "7tG215v7" ], - "size": 1518975, - "date_published": "2025-11-04T01:46:16.009732Z" + "size": 1518380, + "date_published": "2025-11-25T19:56:33.474491Z" }, { "type": "curseforge", - "file_name": "greate-0.0.54.jar", + "file_name": "greate-0.0.57.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7184/105/greate-0.0.54.jar", - "id": "7184105", + "url": "https://edge.forgecdn.net/files/7262/33/greate-0.0.57.jar", + "id": "7262033", "parent_id": "901996", "hashes": { - "sha1": "09c0d610b6989fe68f6ab98cc97ff2bb3894032f", - "md5": "7685e598a57e31266428cecad9affc7b" + "sha1": "de882a9d6be660e27834823ce33caaaca834d24c", + "md5": "2a74c594a5e559ca63ef375f1286afda" }, "required_dependencies": [ "328085", "890405" ], - "size": 1518975, - "date_published": "2025-11-04T01:46:13.693Z" + "size": 1518380, + "date_published": "2025-11-25T19:56:30.993Z" } ] }, @@ -7014,7 +7015,7 @@ "files": [ { "type": "modrinth", - "file_name": "gtceu-1.20.1-7.2.1.jar", + "file_name": "gtceu-1.20.1-7.4.0.jar", "mc_versions": [ "1.20.1" ], @@ -7022,20 +7023,20 @@ "forge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/7tG215v7/versions/bf5ztbzI/gtceu-1.20.1-7.2.1.jar", - "id": "bf5ztbzI", + "url": "https://cdn.modrinth.com/data/7tG215v7/versions/Wt20eol8/gtceu-1.20.1-7.4.0.jar", + "id": "Wt20eol8", "parent_id": "7tG215v7", "hashes": { - "sha512": "2a5c670d0a581035aac0d1abdcaeef275567bed1a85d72fda260ed46c76d6f7bdc4f18f2a763839d33a710583fb15c8701000500b5cf201470832a2ffc78c01d", - "sha1": "7f99b2e1f64696da30c829d38c0bab6f5f471c24" + "sha512": "2e850a957f6f5cdb350f07cfea64906d6731a74ec7655263c4588dd7b16ee582d6479dbd73733ffcb5388df3cf4d60a91285d7fb065c9021c6e02a22c4c59cf1", + "sha1": "19c638cb4913b0581da1e518771f41965f96932f" }, "required_dependencies": [], - "size": 17992116, - "date_published": "2025-10-26T06:03:09.219616Z" + "size": 18054871, + "date_published": "2025-11-25T20:33:56.058299Z" }, { "type": "curseforge", - "file_name": "gtceu-1.20.1-7.2.1.jar", + "file_name": "gtceu-1.20.1-7.4.0.jar", "mc_versions": [ "1.20.1" ], @@ -7043,16 +7044,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7150/919/gtceu-1.20.1-7.2.1.jar", - "id": "7150919", + "url": "https://edge.forgecdn.net/files/7262/157/gtceu-1.20.1-7.4.0.jar", + "id": "7262157", "parent_id": "890405", "hashes": { - "sha1": "7f99b2e1f64696da30c829d38c0bab6f5f471c24", - "md5": "7e0d9355ef6281a2ed6603b8ead98588" + "sha1": "19c638cb4913b0581da1e518771f41965f96932f", + "md5": "a5e09409a38ef3ee43702b1aad20da9d" }, "required_dependencies": [], - "size": 17992116, - "date_published": "2025-10-26T06:02:29.950Z" + "size": 18054871, + "date_published": "2025-11-25T20:33:46.053Z" } ] }, @@ -8814,7 +8815,7 @@ "files": [ { "type": "modrinth", - "file_name": "lootr-forge-1.20-0.7.35.93.jar", + "file_name": "lootr-forge-1.20-0.7.35.94.jar", "mc_versions": [ "1.20", "1.20.1" @@ -8823,20 +8824,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/EltpO5cN/versions/pvIQeqjt/lootr-forge-1.20-0.7.35.93.jar", - "id": "pvIQeqjt", + "url": "https://cdn.modrinth.com/data/EltpO5cN/versions/mWTXC1ZX/lootr-forge-1.20-0.7.35.94.jar", + "id": "mWTXC1ZX", "parent_id": "EltpO5cN", "hashes": { - "sha512": "5080f9a48e4dfa9854de5f21584dba62e75bdb064bab3974c7a427072435740d04e63c548ff27eda0fc30d163c26595034833e6703edb8ca54a3994c06ae53fb", - "sha1": "a109f9d34f39af38a394a58fc506583eb078704d" + "sha512": "a04c6371376bfdac2b10cbb2bb9af7ded10ac26faaeb252b59aab2f02c2b2064c2c4ab665fb6ea218243e89d6f237d878c6951638bb948edead2c0a604dd023a", + "sha1": "1ec77a7df8adbf3290a296bf25b8f99f37a60020" }, "required_dependencies": [], - "size": 460882, - "date_published": "2025-09-04T02:32:15.399196Z" + "size": 463485, + "date_published": "2025-11-26T03:16:17.725541Z" }, { "type": "curseforge", - "file_name": "lootr-forge-1.20-0.7.35.93.jar", + "file_name": "lootr-forge-1.20-0.7.35.94.jar", "mc_versions": [ "1.20.1", "1.20" @@ -8845,16 +8846,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6961/345/lootr-forge-1.20-0.7.35.93.jar", - "id": "6961345", + "url": "https://edge.forgecdn.net/files/7263/76/lootr-forge-1.20-0.7.35.94.jar", + "id": "7263076", "parent_id": "361276", "hashes": { - "sha1": "a109f9d34f39af38a394a58fc506583eb078704d", - "md5": "2d5374b809d9ec1d7700a194b2fd0dd5" + "sha1": "1ec77a7df8adbf3290a296bf25b8f99f37a60020", + "md5": "56dd6966de4ba641cf00ef5b9ce8d2d7" }, "required_dependencies": [], - "size": 460882, - "date_published": "2025-09-04T02:28:45.837Z" + "size": 463485, + "date_published": "2025-11-26T03:14:51.900Z" } ] }, @@ -14078,32 +14079,9 @@ "modrinth": "yFypjcfd" }, "files": [ - { - "type": "curseforge", - "file_name": "toomanyrecipeviewers-0.6.4+mc.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7093/9/toomanyrecipeviewers-0.6.4+mc.20.1.jar", - "id": "7093009", - "parent_id": "1194921", - "hashes": { - "sha1": "4209411389ebc078bdfcc0b54fe33163fc511ce5", - "md5": "abc53ecc7c9ead751c757bb7e3a90d26" - }, - "required_dependencies": [ - "580555" - ], - "size": 1215706, - "date_published": "2025-10-11T01:34:51.447Z" - }, { "type": "modrinth", - "file_name": "toomanyrecipeviewers-0.6.4+mc.20.1.jar", + "file_name": "toomanyrecipeviewers-0.7.0+mc.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -14111,18 +14089,41 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/yFypjcfd/versions/8nQIjuFd/toomanyrecipeviewers-0.6.4+mc.20.1.jar", - "id": "8nQIjuFd", + "url": "https://cdn.modrinth.com/data/yFypjcfd/versions/KfDtkeCS/toomanyrecipeviewers-0.7.0+mc.20.1.jar", + "id": "KfDtkeCS", "parent_id": "yFypjcfd", "hashes": { - "sha512": "84bf6f926534687ccde30f926f687c1c9b9dd8608355d8ec8e5e90a217d49bf7141ca5969256ff091ccedadf4bb8f2d00e4810ca24431f467efc06b4643ab193", - "sha1": "4209411389ebc078bdfcc0b54fe33163fc511ce5" + "sha512": "db2d525c3d6f5b1771dc8348e74cbf60bb6406a340af043690c3800be495230b6defcad38e35a61aede43eb03eb65e599570a1b212a394b51c726db687de58f8", + "sha1": "24973cc8530188fef712d34767a27d2f001c50e6" }, "required_dependencies": [ "fRiHVvU7" ], - "size": 1215706, - "date_published": "2025-10-11T01:34:54.514399Z" + "size": 1666127, + "date_published": "2025-11-25T00:22:16.932262Z" + }, + { + "type": "curseforge", + "file_name": "toomanyrecipeviewers-0.7.0+mc.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7259/315/toomanyrecipeviewers-0.7.0+mc.20.1.jar", + "id": "7259315", + "parent_id": "1194921", + "hashes": { + "sha1": "24973cc8530188fef712d34767a27d2f001c50e6", + "md5": "f9d556546061c90499fa6fc0c462c00e" + }, + "required_dependencies": [ + "580555" + ], + "size": 1666127, + "date_published": "2025-11-25T00:22:12.340Z" } ] }, From acd28dc04d8b3fae73b7e21b05149fa02bde413d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 12:03:39 +0000 Subject: [PATCH 126/628] fix #2294 and #2295 --- kubejs/server_scripts/minecraft/recipes.js | 2 +- kubejs/server_scripts/tfg/recipes.food.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 6f8b34cb3..d137c331b 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1091,7 +1091,7 @@ const registerMinecraftRecipes = (event) => { //#region Glowing Ink Sacs event.recipes.gtceu.chemical_bath('minecraft:glow_inc_sac4') - .itemInputs("gtceu:thorium_dust", "4x #forge:dyes/black") + .itemInputs("gtceu:thorium_dust") .inputFluids(Fluid.of('gtceu:glowstone', 512)) .itemOutputs('16x minecraft:glow_ink_sac') .duration(20) diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 3baf0f3f6..d67ea70c2 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -1695,7 +1695,7 @@ function registerTFGFoodRecipes(event) { event.replaceInput({id: 'firmalife:crafting/lasagna'},'firmalife:plant/oregano','tfg:spice/oregano_leaves'); event.recipes.tfc.advanced_shapeless_crafting( - TFC.itemStackProvider.of('firmalife:food/salsa').copyFood(), + TFC.itemStackProvider.of('5x firmalife:food/salsa').copyFood(), [ 'tfg:spice/cilantro_leaves', 'tfc:food/tomato', From 245ed94c8a56c556676cd51d0120b9dd5364ce05 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 12:17:00 +0000 Subject: [PATCH 127/628] fix empty outputs for macerating andesite stairs --- kubejs/server_scripts/tfg/recipes.rocks.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 6a657eb6e..1b5b5ddc3 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -721,16 +721,16 @@ function registerTFGRockRecipes(event) { // #region @Create Stones // @Create Andesite { raw: 'create:cut_andesite', stair: 'create:cut_andesite_stairs', slab: 'create:cut_andesite_slab', wall: 'create:cut_andesite_wall', - dust: 'tfg:andesite_dust', loose: null, stonecutting: false }, // Raw + dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Raw { raw: 'create:polished_cut_andesite', stair: 'create:polished_cut_andesite_stairs', slab: 'create:polished_cut_andesite_slab', wall: 'create:polished_cut_andesite_wall', - dust: 'tfg:andesite_dust', loose: null, stonecutting: false }, // Smooth + dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Smooth { raw: 'create:cut_andesite_bricks', stair: 'create:cut_andesite_brick_stairs', slab: 'create:cut_andesite_brick_slab', wall: 'create:cut_andesite_brick_wall', - dust: 'tfg:andesite_dust', loose: null, stonecutting: false }, // Bricks + dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Bricks { raw: 'create:small_andesite_bricks', stair: 'create:small_andesite_brick_stairs', slab: 'create:small_andesite_brick_slab', wall: 'create:small_andesite_brick_wall', - dust: 'tfg:andesite_dust', loose: null, stonecutting: false }, // Bricks - Extra + dust: 'gtceu:andesite_dust', loose: null, stonecutting: false }, // Bricks - Extra // @Create Calcite { raw: 'create:cut_calcite', stair: 'create:cut_calcite_stairs', slab: 'create:cut_calcite_slab', wall: 'create:cut_calcite_wall', From 00582deaecaa95b9010278886378a7466dbeb54d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 12:48:18 +0000 Subject: [PATCH 128/628] fix typos with new backpack upgrade changes --- kubejs/server_scripts/sophisticated_backpacks/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index df5379fec..4c0611e36 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -190,7 +190,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { event.shapeless('sophisticatedbackpacks:advanced_pickup_upgrade', [ 'sophisticatedbackpacks:pickup_upgrade', - 'gtceu:smart_item_filter' + 'gtceu:item_smart_filter' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_pickup_upgrade') event.shaped('sophisticatedbackpacks:filter_upgrade', [ @@ -243,7 +243,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { event.shapeless('sophisticatedbackpacks:advanced_magnet_upgrade', [ 'sophisticatedbackpacks:magnet_upgrade', - 'gtceu:smart_item_filter' + 'gtceu:item_smart_filter' ]).id('tfg:sophisticated_backpacks/shapeless/advanced_magnet_upgrade') event.shaped('sophisticatedbackpacks:void_upgrade', [ From 95a624c587cf6aabc781f2227d2089ff0e515f04 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 12:53:33 +0000 Subject: [PATCH 129/628] add tfc gurman to pakku --- pakku-lock.json | 71 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/pakku-lock.json b/pakku-lock.json index c4e08fa2b..a9a399ee7 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12727,6 +12727,77 @@ } ] }, + { + "pakku_id": "zjKgkuN1c64ZMrfV", + "pakku_links": [ + "AqNG8HNM9pfy1ges", + "64uacGcEw697jVGs" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "tfcgurman", + "modrinth": "tfc_gurman" + }, + "name": { + "curseforge": "TFC Gurman", + "modrinth": "TFC Gurman" + }, + "id": { + "curseforge": "1363944", + "modrinth": "ERme2o65" + }, + "files": [ + { + "type": "curseforge", + "file_name": "tfc_gurman-1.2.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7266/294/tfc_gurman-1.2.0.jar", + "id": "7266294", + "parent_id": "1363944", + "hashes": { + "sha1": "04112408529fcb54acc0c95b0bce5533937d5055", + "md5": "4df0ca72bbb1b0371fc50615cd561c61" + }, + "required_dependencies": [ + "453394", + "302973" + ], + "size": 522984, + "date_published": "2025-11-27T00:01:26.557Z" + }, + { + "type": "modrinth", + "file_name": "tfc_gurman-1.2.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/QQxMFvKv/tfc_gurman-1.2.0.jar", + "id": "QQxMFvKv", + "parent_id": "ERme2o65", + "hashes": { + "sha512": "721929eca0ee52ba501c09d7737739156a9cf2dfd5c6834fba51d49f27fd9cceb73944bec7e5593a8fd40a62f4eef8e8e85dea9967115605470eec53ecb6addd", + "sha1": "04112408529fcb54acc0c95b0bce5533937d5055" + }, + "required_dependencies": [ + "5bKeBHw2", + "JaCEZUhg" + ], + "size": 522984, + "date_published": "2025-11-27T00:00:10.797821Z" + } + ] + }, { "pakku_id": "qsPtzQR6kvGPEfHU", "pakku_links": [ From 6ed87ec56609fb4cfb3487467d63309c9d4eb25a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 12:54:32 +0000 Subject: [PATCH 130/628] categories --- 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 | 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 | 1 + 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 +- 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_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 +- .../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 +- 107 files changed, 107 insertions(+), 105 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/deafission_component_fr.json create mode 100644 kubejs/assets/emi/category/properties/gtceu_bioreactor.json diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index 5df4edbed..b17f1447b 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":153}} \ No newline at end of file +{"ae2:condenser":{"order":155}} \ 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 ab8290e0a..43e5f7899 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":167}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":169}} \ 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 6c92a226d..e19af12d3 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":168}} \ No newline at end of file +{"create:draining":{"order":170}} \ 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 af210aabf..7612fa34a 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":169}} \ No newline at end of file +{"create:spout_filling":{"order":171}} \ 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 97a7e68f7..3524eee33 100644 --- a/kubejs/assets/emi/category/properties/createaddition_rolling.json +++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json @@ -1 +1 @@ -{"createaddition:rolling":{"order":80}} \ No newline at end of file +{"createaddition:rolling":{"order":81}} \ 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 new file mode 100644 index 000000000..23ab63472 --- /dev/null +++ b/kubejs/assets/emi/category/properties/deafission_component_fr.json @@ -0,0 +1 @@ +{"deafission:component_fr":{"order":71}} \ 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 0ab292e76..40b765696 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":162}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":164}} \ 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 30a086a71..2e8a327eb 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":166}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":168}} \ 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 0510a85d0..363b89220 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":174}} \ No newline at end of file +{"emi:info":{"order":176}} \ 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 273fa60ac..9cd71379e 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":175}} \ No newline at end of file +{"emi:tag":{"order":177}} \ 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 77156f055..d08557db7 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":161}} \ No newline at end of file +{"exposure:photograph_printing":{"order":163}} \ 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..3f27036cb 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":172}} \ 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 3859fedcb..5b9322332 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":165}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":167}} \ 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 0019df577..e7f06ec0d 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":159}} \ No newline at end of file +{"greate:automatic_packing":{"order":161}} \ 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 ef6ec86c9..9a36d1d00 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":157}} \ No newline at end of file +{"greate:automatic_shaped":{"order":159}} \ 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 6f4fb3f60..0e4bfe0a8 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":158}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":160}} \ 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 16d53180a..51e3a6db3 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":164}} \ No newline at end of file +{"greate:block_cutting":{"order":166}} \ 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 26d59929d..3e8026cb5 100644 --- a/kubejs/assets/emi/category/properties/greate_crushing.json +++ b/kubejs/assets/emi/category/properties/greate_crushing.json @@ -1 +1 @@ -{"greate:crushing":{"order":118}} \ No newline at end of file +{"greate:crushing":{"order":119}} \ 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 0af2ce4ea..1215ae3dc 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":124}} \ No newline at end of file +{"greate:fan_washing":{"order":125}} \ 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 98bcadf2f..01f14ecb5 100644 --- a/kubejs/assets/emi/category/properties/greate_milling.json +++ b/kubejs/assets/emi/category/properties/greate_milling.json @@ -1 +1 @@ -{"greate:milling":{"order":117}} \ No newline at end of file +{"greate:milling":{"order":118}} \ 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 befd5bfe1..67983151f 100644 --- a/kubejs/assets/emi/category/properties/greate_mixing.json +++ b/kubejs/assets/emi/category/properties/greate_mixing.json @@ -1 +1 @@ -{"greate:mixing":{"order":122}} \ No newline at end of file +{"greate:mixing":{"order":123}} \ 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 ccd9f8670..915a21b25 100644 --- a/kubejs/assets/emi/category/properties/greate_pressing.json +++ b/kubejs/assets/emi/category/properties/greate_pressing.json @@ -1 +1 @@ -{"greate:pressing":{"order":107}} \ No newline at end of file +{"greate:pressing":{"order":108}} \ 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 7687b9ac1..b14496925 100644 --- a/kubejs/assets/emi/category/properties/greate_sawing.json +++ b/kubejs/assets/emi/category/properties/greate_sawing.json @@ -1 +1 @@ -{"greate:sawing":{"order":94}} \ No newline at end of file +{"greate:sawing":{"order":95}} \ 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 1a58b9ce5..f41aab06a 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":73}} \ No newline at end of file +{"gtceu:air_scrubber":{"order":74}} \ 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 1e49a178d..f8fc50a7d 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":134}} \ No newline at end of file +{"gtceu:alloy_blast_smelter":{"order":135}} \ 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 65ee0f085..176573172 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":74}} \ No newline at end of file +{"gtceu:alloy_smelter":{"order":75}} \ 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 6ab5d69fa..f14c7de77 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":76}} \ No newline at end of file +{"gtceu:aqueous_accumulator":{"order":77}} \ 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 730bed18b..169b35cfb 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":77}} \ No newline at end of file +{"gtceu:arc_furnace":{"order":78}} \ 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 adce2f210..975ed9d6f 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":154}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":156}} \ 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 0affbce12..e547ae894 100644 --- a/kubejs/assets/emi/category/properties/gtceu_assembler.json +++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json @@ -1 +1 @@ -{"gtceu:assembler":{"order":78}} \ No newline at end of file +{"gtceu:assembler":{"order":79}} \ 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 6efbfdccf..dbce179a4 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":135}} \ No newline at end of file +{"gtceu:assembly_line":{"order":136}} \ 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 a3c73e364..37a92f362 100644 --- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json +++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json @@ -1 +1 @@ -{"gtceu:autoclave":{"order":79}} \ No newline at end of file +{"gtceu:autoclave":{"order":80}} \ 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 dff633620..ac1b79c9b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_bender.json +++ b/kubejs/assets/emi/category/properties/gtceu_bender.json @@ -1 +1 @@ -{"gtceu:bender":{"order":82}} \ No newline at end of file +{"gtceu:bender":{"order":83}} \ 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 new file mode 100644 index 000000000..df5863ec1 --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_bioreactor.json @@ -0,0 +1 @@ +{"gtceu:bioreactor":{"order":137}} \ 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 392b008ef..8cc06a1e4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_brewery.json +++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json @@ -1 +1 @@ -{"gtceu:brewery":{"order":83}} \ No newline at end of file +{"gtceu:brewery":{"order":84}} \ 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 379f56289..9ac566d07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_canner.json +++ b/kubejs/assets/emi/category/properties/gtceu_canner.json @@ -1 +1 @@ -{"gtceu:canner":{"order":84}} \ No newline at end of file +{"gtceu:canner":{"order":85}} \ 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 667b6b9ce..849e253b1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json +++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json @@ -1 +1 @@ -{"gtceu:centrifuge":{"order":86}} \ No newline at end of file +{"gtceu:centrifuge":{"order":87}} \ 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 d99d72732..0ac44f86d 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":88}} \ No newline at end of file +{"gtceu:chem_dyes":{"order":89}} \ 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 aaa187737..14bbcd091 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":87}} \ No newline at end of file +{"gtceu:chemical_bath":{"order":88}} \ 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 f25393d78..0b579ef62 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":90}} \ No newline at end of file +{"gtceu:chemical_reactor":{"order":91}} \ 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 9927cc9aa..3c50acf2a 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":92}} \ No newline at end of file +{"gtceu:circuit_assembler":{"order":93}} \ 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 5ebf706f8..b4608cf12 100644 --- a/kubejs/assets/emi/category/properties/gtceu_compressor.json +++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json @@ -1 +1 @@ -{"gtceu:compressor":{"order":93}} \ No newline at end of file +{"gtceu:compressor":{"order":94}} \ 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 5f8c600b7..90b331296 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":136}} \ No newline at end of file +{"gtceu:cracker":{"order":138}} \ 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 ee0682e04..1af20f965 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cutter.json +++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json @@ -1 +1 @@ -{"gtceu:cutter":{"order":95}} \ No newline at end of file +{"gtceu:cutter":{"order":96}} \ 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 3bad58595..72a980557 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":97}} \ No newline at end of file +{"gtceu:distillation_tower":{"order":98}} \ 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 d5d5d1013..88cdd2fe7 100644 --- a/kubejs/assets/emi/category/properties/gtceu_distillery.json +++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json @@ -1 +1 @@ -{"gtceu:distillery":{"order":96}} \ No newline at end of file +{"gtceu:distillery":{"order":97}} \ 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 062012998..dcc94aa76 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":137}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":139}} \ 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 9884745b4..64bd5759c 100644 --- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json +++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json @@ -1 +1 @@ -{"gtceu:electrolyzer":{"order":98}} \ No newline at end of file +{"gtceu:electrolyzer":{"order":99}} \ 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 dca38b2a9..5f99ad041 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":99}} \ No newline at end of file +{"gtceu:electromagnetic_separator":{"order":100}} \ 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 ec153faa0..42f96a464 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":138}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":140}} \ 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 924619c65..a31e5a37e 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extractor.json +++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json @@ -1 +1 @@ -{"gtceu:extractor":{"order":101}} \ No newline at end of file +{"gtceu:extractor":{"order":102}} \ 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 debbf7bca..982bf12a9 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":156}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":158}} \ 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 4f8a510c6..4d76a1d27 100644 --- a/kubejs/assets/emi/category/properties/gtceu_extruder.json +++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json @@ -1 +1 @@ -{"gtceu:extruder":{"order":103}} \ No newline at end of file +{"gtceu:extruder":{"order":104}} \ 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 270167191..222919a16 100644 --- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json +++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json @@ -1 +1 @@ -{"gtceu:fermenter":{"order":104}} \ No newline at end of file +{"gtceu:fermenter":{"order":105}} \ 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 4ac004e90..fad7a9f11 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":140}} \ No newline at end of file +{"gtceu:fission_reactor":{"order":142}} \ 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 f56150678..511826e95 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":105}} \ No newline at end of file +{"gtceu:fluid_heater":{"order":106}} \ 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 a8a03ccc1..c27aac3b2 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":106}} \ No newline at end of file +{"gtceu:fluid_solidifier":{"order":107}} \ 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 449e57e89..5c7caff41 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":108}} \ No newline at end of file +{"gtceu:forge_hammer":{"order":109}} \ 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 de6cb2009..ac1ab08a5 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":110}} \ No newline at end of file +{"gtceu:forming_press":{"order":111}} \ 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 57187fa8d..696302445 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":141}} \ No newline at end of file +{"gtceu:fusion_reactor":{"order":143}} \ 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 38c64d5d7..0855a78a8 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":111}} \ No newline at end of file +{"gtceu:gas_collector":{"order":112}} \ 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 48ea2ef0d..c55dcefef 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":112}} \ No newline at end of file +{"gtceu:gas_pressurizer":{"order":113}} \ 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 93d41ddd4..20d1e3946 100644 --- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json +++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json @@ -1 +1 @@ -{"gtceu:greenhouse":{"order":142}} \ No newline at end of file +{"gtceu:greenhouse":{"order":144}} \ 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 367d2f2b1..11bb3eba1 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":143}} \ No newline at end of file +{"gtceu:heat_exchanger":{"order":145}} \ 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 674f533cd..5b7aef975 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":144}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":146}} \ 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 30f0d1904..971a52dbe 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":75}} \ No newline at end of file +{"gtceu:ingot_molding":{"order":76}} \ 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 e93d90cc0..8d9aefd8f 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":91}} \ No newline at end of file +{"gtceu:large_chemical_reactor":{"order":92}} \ 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 cb239bb30..9f146f15f 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":114}} \ No newline at end of file +{"gtceu:laser_engraver":{"order":115}} \ 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 6caa98dea..7659c2ad4 100644 --- a/kubejs/assets/emi/category/properties/gtceu_lathe.json +++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json @@ -1 +1 @@ -{"gtceu:lathe":{"order":116}} \ No newline at end of file +{"gtceu:lathe":{"order":117}} \ 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 2a96e473a..35d939495 100644 --- a/kubejs/assets/emi/category/properties/gtceu_macerator.json +++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json @@ -1 +1 @@ -{"gtceu:macerator":{"order":119}} \ No newline at end of file +{"gtceu:macerator":{"order":120}} \ 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 b199a2617..a472a647f 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":155}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":157}} \ 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 be059f5cc..ca10c1c19 100644 --- a/kubejs/assets/emi/category/properties/gtceu_mixer.json +++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json @@ -1 +1 @@ -{"gtceu:mixer":{"order":121}} \ No newline at end of file +{"gtceu:mixer":{"order":122}} \ 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 aadabe135..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":147}} \ 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 ca907e4a2..51a008a43 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":145}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":147}} \ 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 d16a0b05a..da316554a 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":89}} \ No newline at end of file +{"gtceu:ore_bathing":{"order":90}} \ 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 ed0ca8cd7..e3e09a0f7 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":120}} \ No newline at end of file +{"gtceu:ore_crushing":{"order":121}} \ 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 06afe8c95..2be9b523a 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":109}} \ No newline at end of file +{"gtceu:ore_forging":{"order":110}} \ 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 a8f895338..99fc46d2e 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":123}} \ No newline at end of file +{"gtceu:ore_washer":{"order":124}} \ 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 a854e8a01..378a9ae96 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":146}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":148}} \ 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 d8cb9b522..d79f9c1c2 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":139}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":141}} \ 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 882b8b827..2f428dab9 100644 --- a/kubejs/assets/emi/category/properties/gtceu_packer.json +++ b/kubejs/assets/emi/category/properties/gtceu_packer.json @@ -1 +1 @@ -{"gtceu:packer":{"order":125}} \ No newline at end of file +{"gtceu:packer":{"order":126}} \ 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 d6684f924..66f62c6f5 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":71}} \ No newline at end of file +{"gtceu:plasma_generator":{"order":72}} \ 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 8bad12318..f77e2a7b1 100644 --- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json +++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json @@ -1 +1 @@ -{"gtceu:polarizer":{"order":126}} \ No newline at end of file +{"gtceu:polarizer":{"order":127}} \ 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 ca91b4326..09f1e4aab 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":173}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":175}} \ 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 b34ef7400..06e73dd54 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":148}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":150}} \ 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 0726dce16..101cd325b 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":149}} \ No newline at end of file +{"gtceu:research_station":{"order":151}} \ 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 940c36635..d43366b28 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":127}} \ No newline at end of file +{"gtceu:rock_breaker":{"order":128}} \ 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 babb9f556..bc3c9eb07 100644 --- a/kubejs/assets/emi/category/properties/gtceu_scanner.json +++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json @@ -1 +1 @@ -{"gtceu:scanner":{"order":128}} \ No newline at end of file +{"gtceu:scanner":{"order":129}} \ 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 3a6f1b575..91729a678 100644 --- a/kubejs/assets/emi/category/properties/gtceu_sifter.json +++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json @@ -1 +1 @@ -{"gtceu:sifter":{"order":130}} \ No newline at end of file +{"gtceu:sifter":{"order":131}} \ 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 8a24941ba..6b9b3280b 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":150}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":152}} \ 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 a046fc4d6..e2c701368 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":131}} \ No newline at end of file +{"gtceu:thermal_centrifuge":{"order":132}} \ 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 5c3e9d6ad..a0b6f9420 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":151}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":153}} \ 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 609afe478..48e295b37 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":152}} \ No newline at end of file +{"gtceu:wire_coating":{"order":154}} \ 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 7c48917f3..d6768e6e3 100644 --- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json +++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json @@ -1 +1 @@ -{"gtceu:wiremill":{"order":133}} \ No newline at end of file +{"gtceu:wiremill":{"order":134}} \ 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 70e40f59c..40e3a7239 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smelting.json +++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json @@ -1 +1 @@ -{"minecraft:smelting":{"order":72}} \ No newline at end of file +{"minecraft:smelting":{"order":73}} \ 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 91b6e6c98..0884f8637 100644 --- a/kubejs/assets/emi/category/properties/minecraft_smithing.json +++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json @@ -1 +1 @@ -{"minecraft:smithing":{"order":160}} \ No newline at end of file +{"minecraft:smithing":{"order":162}} \ 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 282a1568b..f7b371f7c 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":163}} \ No newline at end of file +{"minecraft:stonecutting":{"order":165}} \ 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..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":171}} \ 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 df66f83aa..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":172}} \ 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 aef0cc89d..05eea7f7b 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json @@ -1 +1 @@ -{"vintageimprovements:centrifugation":{"order":85}} \ No newline at end of file +{"vintageimprovements:centrifugation":{"order":86}} \ 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 e290901bb..185fc7f00 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json @@ -1 +1 @@ -{"vintageimprovements:coiling":{"order":132}} \ No newline at end of file +{"vintageimprovements:coiling":{"order":133}} \ 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 0271a9c1e..d08896541 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json @@ -1 +1 @@ -{"vintageimprovements:curving":{"order":102}} \ No newline at end of file +{"vintageimprovements:curving":{"order":103}} \ 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 d754a9de8..c014d6a25 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":113}} \ No newline at end of file +{"vintageimprovements:laser_cutting":{"order":114}} \ 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 559212aaa..760cee391 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_polishing.json @@ -1 +1 @@ -{"vintageimprovements:polishing":{"order":115}} \ No newline at end of file +{"vintageimprovements:polishing":{"order":116}} \ 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 5cfc68b4c..f6bb70239 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json @@ -1 +1 @@ -{"vintageimprovements:pressurizing":{"order":81}} \ No newline at end of file +{"vintageimprovements:pressurizing":{"order":82}} \ 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 7aa7ca174..8e01ce0e6 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json @@ -1 +1 @@ -{"vintageimprovements:vacuumizing":{"order":100}} \ No newline at end of file +{"vintageimprovements:vacuumizing":{"order":101}} \ 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 e37758911..9cc5cbe70 100644 --- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json +++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json @@ -1 +1 @@ -{"vintageimprovements:vibrating":{"order":129}} \ No newline at end of file +{"vintageimprovements:vibrating":{"order":130}} \ No newline at end of file From 655a2010a589f63d030d9ef9cf5e415b93c5dc7e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 13:02:42 +0000 Subject: [PATCH 131/628] and for diorite... --- kubejs/server_scripts/tfg/recipes.rocks.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 1b5b5ddc3..b19bc292c 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -712,10 +712,10 @@ function registerTFGRockRecipes(event) { // Quartz { raw: 'minecraft:quartz_block', stair: 'minecraft:quartz_stairs', slab: 'minecraft:quartz_slab', wall: 'tfg:rock/quartz_wall', - dust: null, loose: null, stonecutting: false }, // Raw + dust: 'gtceu:nether_quartz_dust', loose: null, stonecutting: false }, // Raw { raw: 'minecraft:smooth_quartz', stair: 'minecraft:smooth_quartz_stairs', slab: 'minecraft:quartz_slab', wall: 'tfg:rock/smooth_quartz_wall', - dust: null, loose: null, stonecutting: false }, // Smooth + dust: 'gtceu:nether_quartz_dust', loose: null, stonecutting: false }, // Smooth // #endregion Vanilla Blocks // #region @Create Stones @@ -760,16 +760,16 @@ function registerTFGRockRecipes(event) { // @Create Diorite { raw: 'create:cut_diorite', stair: 'create:cut_diorite_stairs', slab: 'create:cut_diorite_slab', wall: 'create:cut_diorite_wall', - dust: 'tfg:diorite_dust', loose: null, stonecutting: false }, // Raw + dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Raw { raw: 'create:polished_cut_diorite', stair: 'create:polished_cut_diorite_stairs', slab: 'create:polished_cut_diorite_slab', wall: 'create:polished_cut_diorite_wall', - dust: 'tfg:diorite_dust', loose: null, stonecutting: false }, // Smooth + dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Smooth { raw: 'create:cut_diorite_bricks', stair: 'create:cut_diorite_brick_stairs', slab: 'create:cut_diorite_brick_slab', wall: 'create:cut_diorite_brick_wall', - dust: 'tfg:diorite_dust', loose: null, stonecutting: false }, // Bricks + dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Bricks { raw: 'create:small_diorite_bricks', stair: 'create:small_diorite_brick_stairs', slab: 'create:small_diorite_brick_slab', wall: 'create:small_diorite_brick_wall', - dust: 'tfg:diorite_dust', loose: null, stonecutting: false }, // Bricks - Extra + dust: 'gtceu:diorite_dust', loose: null, stonecutting: false }, // Bricks - Extra // @Create Limestone { raw: 'create:cut_limestone', stair: 'create:cut_limestone_stairs', slab: 'create:cut_limestone_slab', wall: 'create:cut_limestone_wall', From 7a0b734411bf6c2d04bc7c592983a2ad88952847 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 13:24:50 +0000 Subject: [PATCH 132/628] ok so those were null for a reason --- kubejs/server_scripts/tfg/recipes.rocks.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index b19bc292c..7851c6e91 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -712,10 +712,10 @@ function registerTFGRockRecipes(event) { // Quartz { raw: 'minecraft:quartz_block', stair: 'minecraft:quartz_stairs', slab: 'minecraft:quartz_slab', wall: 'tfg:rock/quartz_wall', - dust: 'gtceu:nether_quartz_dust', loose: null, stonecutting: false }, // Raw + dust: null, loose: null, stonecutting: false }, // Raw { raw: 'minecraft:smooth_quartz', stair: 'minecraft:smooth_quartz_stairs', slab: 'minecraft:quartz_slab', wall: 'tfg:rock/smooth_quartz_wall', - dust: 'gtceu:nether_quartz_dust', loose: null, stonecutting: false }, // Smooth + dust: null, loose: null, stonecutting: false }, // Smooth // #endregion Vanilla Blocks // #region @Create Stones From 59ed35184862f2d880a057057e7734ed09c579e8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 16:08:47 +0000 Subject: [PATCH 133/628] adjusted blaze burner liquid fuels for the new gt amounts --- kubejs/data/create_liquid_fuel/blaze_burner_fuel/biomass.json | 2 +- kubejs/data/create_liquid_fuel/blaze_burner_fuel/creosote.json | 2 +- kubejs/data/create_liquid_fuel/blaze_burner_fuel/fish_oil.json | 2 +- .../data/create_liquid_fuel/blaze_burner_fuel/heavy_fuel.json | 2 +- kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_oil.json | 2 +- kubejs/data/create_liquid_fuel/blaze_burner_fuel/oil.json | 2 +- kubejs/data/create_liquid_fuel/blaze_burner_fuel/olive_oil.json | 2 +- kubejs/data/create_liquid_fuel/blaze_burner_fuel/seed_oil.json | 2 +- .../data/create_liquid_fuel/blaze_burner_fuel/soybean_oil.json | 2 +- .../create_liquid_fuel/blaze_burner_fuel/sulfuric_heavy.json | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/biomass.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/biomass.json index 199fbd6c1..52fb82baf 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/biomass.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/biomass.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:biomass", - "burnTime": 70, + "burnTime": 66, "superHeat": false, "amountConsumedPerTick" : 5 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/creosote.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/creosote.json index f97604eb6..48345d7d4 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/creosote.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/creosote.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:creosote", - "burnTime": 88, + "burnTime": 22, "superHeat": false, "amountConsumedPerTick" : 25 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/fish_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/fish_oil.json index 43a493b0c..b8c9f6c54 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/fish_oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/fish_oil.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:fish_oil", - "burnTime": 88, + "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 25 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_fuel.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_fuel.json index 6c232dfc3..20b4e071c 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_fuel.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_fuel.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:heavy_fuel", - "burnTime": 210, + "burnTime": 70, "superHeat": false, "amountConsumedPerTick" : 2 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_oil.json index 35c685f71..358f02c42 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/heavy_oil.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:oil_heavy", - "burnTime": 88, + "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 5 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/oil.json index 9dc65463a..bbad0fe66 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/oil.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:oil", - "burnTime": 90, + "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 32 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/olive_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/olive_oil.json index d778bf834..ba8eabec4 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/olive_oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/olive_oil.json @@ -1,6 +1,6 @@ { "fluid": "tfc:olive_oil", - "burnTime": 88, + "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 25 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/seed_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/seed_oil.json index ad5d2eebd..252f8a3e9 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/seed_oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/seed_oil.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:seed_oil", - "burnTime": 88, + "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 25 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/soybean_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/soybean_oil.json index 52c8e1f85..99cf8b56e 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/soybean_oil.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/soybean_oil.json @@ -1,6 +1,6 @@ { "fluid": "firmalife:soybean_oil", - "burnTime": 88, + "burnTime": 50, "superHeat": false, "amountConsumedPerTick" : 25 } diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/sulfuric_heavy.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/sulfuric_heavy.json index 92a70c3aa..88329eb8b 100644 --- a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/sulfuric_heavy.json +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/sulfuric_heavy.json @@ -1,6 +1,6 @@ { "fluid": "gtceu:sulfuric_heavy_fuel", - "burnTime": 80, + "burnTime": 45, "superHeat": false, "amountConsumedPerTick" : 5 } From 5cebe94c03f3965762f434f4db08a235aa7efb6c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 16:37:34 +0000 Subject: [PATCH 134/628] fix typo --- kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js index 1bc93f877..96f4ff9f0 100644 --- a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js @@ -59,8 +59,8 @@ function registerTFGNuclearRecipes(event) { event.recipes.gtceu.nuclear_fuel_factory('tfg:tbu_232_rod') .inputFluids(Fluid.of('gtceu:nuclear_waste', 32000)) - .itemInputs('#forge:ingots/thorium_232', 'tfg:empty_rod') - .itemOutputs('tfg:tbu-232_rod') + .itemInputs('2x #forge:rods/thorium_232', 'tfg:empty_rod') + .itemOutputs('tfg:tbu_232_rod') .duration(20*300) .EUt(GTValues.V[GTValues.IV]) From 662bc0a08798c10b09ef78f7c4141b14b8743deb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 23:56:15 +0000 Subject: [PATCH 135/628] oil in a small boiler! --- CHANGELOG.md | 18 ++++++-- kubejs/server_scripts/gregtech/recipes.js | 41 +++++++------------ .../vintage_improvements/recipes.js | 14 +++++++ 3 files changed, 44 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c9858170..73cb3950a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,23 @@ # Changelog + ## [Unreleased] +### Mod updates +New GregTech updates, both [7.3.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.3.0-1.20.1) and [7.4.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.4.0-1.20.1). TL;DR: +- You can use screwdrivers on drums again +- Diluted hydrochloric acid distillation circuits have been swapped, so now it's consistent with diluted sulfuric acid +- Large rebalancing of small and large boiler fuel. Generally speaking, small boilers are worse while large ones are better, and solid fuels are now better and liquids are worse, but if you're putting all your coke oven output into a large bronze boiler, your rates should be mostly the same as before. Blaze burner liquid fuels have been adjusted to these new values as well. +Added TFC Gurman, which adds even more food and drink ### Changes +- Many TACZ balance changes, found [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/tacz/TACZ_CHANGELOG.md) @BlueBoat29 - Add shapeless p2p recipes (#2234) @SpicyNoodle5 - Added assembler, smelting and heating recipes for firmalife ovens (#2220) @SpicyNoodle5 - Raised player-burning fluid threshold from 370K to 1300K @Redeix -- Added partial unification to the gtceu wax material @Redeix +- Added partial unification to the gtceu Wax material @Redeix - Mars endermen can no longer pick up the wrong kind of warped/crimson sapling, and the correct kind has been added to their loot tables (#2240) -- Cleanrooms now allow 9 door "blocks", so you can use the 3x3 Ad Astra doors (#2074) @ko-lja +- Cleanrooms now allow 9 door "blocks", so you can use a 3x3 Ad Astra door (#2074) @ko-lja - Added recycling for astikor carts (#2227) @Pyritie - Moved Soph Backpack pickup to ULV, adv pickup to MV and magnet to MV @CrashAndSideburns -- Many TACZ balance changes, found here https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/tacz/TACZ_CHANGELOG.md @BlueBoat29 +- Oilsands dust can now be centrifuged in the mechanical centrifuge, and oil can now be used to fuel small boilers as well @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix @@ -18,7 +26,11 @@ - Fixed duplicate bed dyeing recipe (#2229) @Pyritie - Fixed Basic Hermetic Casing missing a mineable tag and loot table (#2221) @Pyritie - Fixed some inconsistencies with gravel to sand recipe tiers (#2292) @Pyritie +- Fixed the thorium-based glowing ink recipe (#2294) @Pyritie +- Fixes crafting table output amount for salsa compared to the food processor (#2295) @Pyritie ### Translation updates +- Chinese (simplified) @jmecn +- Japanese @sakura-gondra ## [0.11.8] - 19-11-2025 ### Changes diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index af1eae13c..768053040 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1234,26 +1234,6 @@ const registerGTCEURecipes = (event) => { //#endregion - //#region Large boilers fuel rebalance - - // Balance is based on adjusting to match singeblock boiler efficiency - // High Pressure Steam Solid Boiler produces 288,000 mB steam/coke - // High Pressure Steam Liquid Boiler produces 432 mB steam/creosote - // By Defualt: Large Bronze Boiler produces 50mB steam/creosote, 32000mB steam/coke - // This is a factor of 9x for solids, 8.64x for liquids - // Large boiler fuel burn time is multiplied by 9, resulting in less fuel used over time for the same amount of steam produced per tick - - //event.findRecipes({ id: /^gtceu:large_boiler\/.*/, type: "gtceu:large_boiler" }).forEach(large_boiler_recipe => { - - // let recipe_duration = large_boiler_recipe.json.getAsJsonPrimitive("duration").asInt - - // large_boiler_recipe.json.remove("duration") - // large_boiler_recipe.json.add("duration", recipe_duration * 9) - //}) - - //#endregion - - //#region GT Facades event.remove({ id: 'gtceu:crafting/facade_cover' }) @@ -1849,12 +1829,21 @@ const registerGTCEURecipes = (event) => { // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration*3) - }) + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration*3) + }) event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration/3) - }) + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration/3) + }) + + // Allow oil in small boilers + + event.remove({ id: "gtceu:large_boiler/gtceu_oil" }) + // This generates both a small boiler and large boiler recipe. Remove it above to avoid a duplicate + event.recipes.gtceu.steam_boiler('tfg:oil') + .inputFluids(Fluid.of('gtceu:oil', 200)) + .duration(200) + .dimension('minecraft:overworld') } diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 9e0d8d7d3..ad2c37ce2 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -755,6 +755,20 @@ function registerVintageImprovementsRecipes(event) { }).id(`tfg:vi/curving/wrought_iron_grill`) // #endregion + + // #region Centrifuging + + event.custom({ + type: 'vintageimprovements:centrifugation', + ingredients: [{ tag: 'forge:dusts/oilsands' }], + results: [ + { item: "tfc:sand/yellow", chance: 0.5 }, + { fluid: "gtceu:oil", amount: 2000 } + ], + processingTime: 10 * 20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/centrifuge/oilsands`) + + // #endregion } function generateHammeringRecipe(event, material, blows, anvil) { From b4e779113e0360e53f23fcecb9269c6cc9fb8360 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 27 Nov 2025 23:56:23 +0000 Subject: [PATCH 136/628] fix some typos --- kubejs/server_scripts/tfg/recipes.biochem.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.biochem.js b/kubejs/server_scripts/tfg/recipes.biochem.js index 734d322fb..6dbe31df1 100644 --- a/kubejs/server_scripts/tfg/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/recipes.biochem.js @@ -403,7 +403,7 @@ function registerTFGBiochemRecipes(event) { Fluid.of('tfg:sodium_hypochlorite', 1000), Fluid.of('minecraft:water', 1000) ) - .itemOutputs(Item.of('gtceu:salt')) + .itemOutputs(Item.of('gtceu:salt_dust')) .duration(10*20) .EUt(GTValues.VA[GTValues.HV]); @@ -488,7 +488,7 @@ function registerTFGBiochemRecipes(event) { ) .outputFluids( Fluid.of('tfg:crystal_violet', 1000), - Fluid.of('gtceu:water', 3000) + Fluid.of('gtceu:distilled_water', 3000) ) .duration(20*20) .EUt(GTValues.VA[GTValues.IV]); From 83cd850c5ec938814396b7533e29e031c5b65341 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 00:30:43 +0000 Subject: [PATCH 137/628] changed the oreproc chapter water icons to something actually usable --- config/ftbquests/quests/chapters/ore_processing.snbt | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index 5a65dc750..ecf402cfc 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -178,8 +178,6 @@ { id: "138C7D4A61E2A77D" linked_quest: "6B10099F3F0931B9" - shape: "none" - size: 1.5d x: 9.0d y: -15.0d } @@ -947,15 +945,13 @@ { dependencies: ["186CFAA5A444ECB3"] description: ["{quests.stone_age.clean_dust.desc}"] + icon: "minecraft:water_bucket" id: "6B10099F3F0931B9" - shape: "none" - size: 1.5d + size: 1.0d subtitle: "{quests.stone_age.clean_dust.subtitle}" tasks: [{ - amount: 1000L - fluid: "minecraft:water" - id: "0944FE2841D789D8" - type: "fluid" + id: "62EF9D1895CA3811" + type: "checkmark" }] title: "{quests.stone_age.clean_dust.title}" x: 6.0d From c522c232141b5e020d984bee00e7cc5f28d84530 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 10:35:11 +0000 Subject: [PATCH 138/628] swap boiler emi tab order --- kubejs/assets/emi/category/properties/gtceu_large_boiler.json | 2 +- kubejs/assets/emi/category/properties/gtceu_steam_boiler.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/emi/category/properties/gtceu_large_boiler.json b/kubejs/assets/emi/category/properties/gtceu_large_boiler.json index 006b70dd7..767c4742a 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":56}} \ No newline at end of file +{"gtceu:large_boiler":{"order":57}} \ 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 1344362df..aa5444e77 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":57}} \ No newline at end of file +{"gtceu:steam_boiler":{"order":56}} \ No newline at end of file From 657f626a121d138166fceed204d35ebc2bc8ae0d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 10:35:29 +0000 Subject: [PATCH 139/628] add raw and light oil to blaze burners, add them both + cooking oils to gt boilers --- CHANGELOG.md | 3 +- .../blaze_burner_fuel/light_oil.json | 6 +++ .../blaze_burner_fuel/raw_oil.json | 6 +++ kubejs/server_scripts/gregtech/recipes.js | 39 +++++++++++++++++++ 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json create mode 100644 kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 73cb3950a..5d808d962 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,8 @@ Added TFC Gurman, which adds even more food and drink - Cleanrooms now allow 9 door "blocks", so you can use a 3x3 Ad Astra door (#2074) @ko-lja - Added recycling for astikor carts (#2227) @Pyritie - Moved Soph Backpack pickup to ULV, adv pickup to MV and magnet to MV @CrashAndSideburns -- Oilsands dust can now be centrifuged in the mechanical centrifuge, and oil can now be used to fuel small boilers as well @Pyritie +- Oilsands dust can now be centrifuged in the mechanical centrifuge @Pyritie +- All oils (both the petrochem kind and the cooking kind) can now be used to fuel small boilers as well @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json new file mode 100644 index 000000000..6956a6e5f --- /dev/null +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/light_oil.json @@ -0,0 +1,6 @@ +{ + "fluid": "gtceu:light_oil", + "burnTime": 50, + "superHeat": false, + "amountConsumedPerTick" : 32 +} diff --git a/kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json new file mode 100644 index 000000000..8ba4d1621 --- /dev/null +++ b/kubejs/data/create_liquid_fuel/blaze_burner_fuel/raw_oil.json @@ -0,0 +1,6 @@ +{ + "fluid": "gtceu:raw_oil", + "burnTime": 50, + "superHeat": false, + "amountConsumedPerTick" : 32 +} diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 768053040..14f38307d 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1841,9 +1841,48 @@ const registerGTCEURecipes = (event) => { // Allow oil in small boilers event.remove({ id: "gtceu:large_boiler/gtceu_oil" }) + event.remove({ id: "gtceu:large_boiler/gtceu_oil_heavy" }) + event.remove({ id: "gtceu:large_boiler/gtceu_fish_oil" }) // This generates both a small boiler and large boiler recipe. Remove it above to avoid a duplicate event.recipes.gtceu.steam_boiler('tfg:oil') .inputFluids(Fluid.of('gtceu:oil', 200)) .duration(200) .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:heavy_oil') + .inputFluids(Fluid.of('gtceu:oil_heavy', 32)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:fish_oil') + .inputFluids(Fluid.of('gtceu:fish_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + // These aren't in base GT, but they have the same stats as oil + event.recipes.gtceu.steam_boiler('tfg:raw_oil') + .inputFluids(Fluid.of('gtceu:oil_medium', 200)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:light_oil') + .inputFluids(Fluid.of('gtceu:oil_light', 200)) + .duration(200) + .dimension('minecraft:overworld') + + // Same stats as fish oil + event.recipes.gtceu.steam_boiler('tfg:olive_oil') + .inputFluids(Fluid.of('tfc:olive_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:seed_oil') + .inputFluids(Fluid.of('gtceu:seed_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:soybean_oil') + .inputFluids(Fluid.of('firmalife:soybean_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') } From a09aa72fa7b28e11b2652ecb36988552203ad9be Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 10:56:36 +0000 Subject: [PATCH 140/628] add food proc recipe for cocoa butter, fix #2287 --- CHANGELOG.md | 2 ++ kubejs/server_scripts/greate/recipes.removes.js | 2 +- kubejs/server_scripts/tfg/recipes.biochem.js | 1 + kubejs/server_scripts/tfg/recipes.food.js | 8 ++++++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d808d962..13a8c3cad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ Added TFC Gurman, which adds even more food and drink - Fixed some inconsistencies with gravel to sand recipe tiers (#2292) @Pyritie - Fixed the thorium-based glowing ink recipe (#2294) @Pyritie - Fixes crafting table output amount for salsa compared to the food processor (#2295) @Pyritie +- Added missing food processor recipe for cocoa butter @Pyritie +- Fixed recipe conflict with Epichlorohydrin and Sodium Hypochlorite (#2287) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 0f2e9295d..31570b8db 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -111,7 +111,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_honeycomb' }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_honeycomb_block'}) } diff --git a/kubejs/server_scripts/tfg/recipes.biochem.js b/kubejs/server_scripts/tfg/recipes.biochem.js index 6dbe31df1..c43cd7182 100644 --- a/kubejs/server_scripts/tfg/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/recipes.biochem.js @@ -404,6 +404,7 @@ function registerTFGBiochemRecipes(event) { Fluid.of('minecraft:water', 1000) ) .itemOutputs(Item.of('gtceu:salt_dust')) + .circuit(1) .duration(10*20) .EUt(GTValues.VA[GTValues.HV]); diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index d67ea70c2..2b3753804 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -821,11 +821,19 @@ function registerTFGFoodRecipes(event) { }) processorRecipe("cocoa_dust", 100, 4, { + circuit: 1, itemInputs: ["firmalife:food/roasted_cocoa_beans"], itemOutputs: ["gtceu:cocoa_dust"], itemOutputProvider: TFC.isp.of("gtceu:cocoa_dust") }) + processorRecipe("cocoa_butter", 100, 4, { + circuit: 2, + itemInputs: ["firmalife:food/roasted_cocoa_beans"], + itemOutputs: ["firmalife:food/cocoa_butter"], + itemOutputProvider: TFC.isp.of("firmalife:food/cocoa_butter") + }) + processorRecipe("red_grapes", 50, 8, { itemInputs: ["firmalife:food/red_grapes"], itemOutputs: ["firmalife:food/smashed_red_grapes"], From 860cbcb155145590c354fb611b833b1d4c8a5c09 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 11:13:13 +0000 Subject: [PATCH 141/628] update primitive creatures pakku --- pakku-lock.json | 58 ++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index a9a399ee7..7d77c5ad1 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -10821,8 +10821,8 @@ }, "files": [ { - "type": "curseforge", - "file_name": "primitive creatures V2.2 1.20.1 .jar", + "type": "modrinth", + "file_name": "Primitive creatures 2.6.jar", "mc_versions": [ "1.20.1" ], @@ -10830,39 +10830,39 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7000/784/primitive creatures V2.2 1.20.1 .jar", - "id": "7000784", + "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/eqfW2BOb/Primitive creatures 2.6.jar", + "id": "eqfW2BOb", + "parent_id": "GfUwaZEm", + "hashes": { + "sha512": "9f72b7053820e30c2b932f1587417e5d023cc0f019f938e0870d6f4284925e58698e6c624cf999acf95757819294cb4398c6937bb373d7efbc355e7687a97dee", + "sha1": "9a6f9e9c75363c7b14ec8d71e5641bbfd377f137" + }, + "required_dependencies": [], + "size": 529007, + "date_published": "2025-11-28T00:42:21.156775Z" + }, + { + "type": "curseforge", + "file_name": "Primitive creatures 2.6forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7269/624/Primitive creatures 2.6forge.jar", + "id": "7269624", "parent_id": "1218288", "hashes": { - "sha1": "f76bde1ecf37c7111859ebb02cdef978ec370191", - "md5": "9cc3392503d06d05fe2d5fe22a64e6cf" + "sha1": "9a6f9e9c75363c7b14ec8d71e5641bbfd377f137", + "md5": "3db0bd5100d722b6d959b7b37b07c725" }, "required_dependencies": [ "388172" ], - "size": 525102, - "date_published": "2025-09-15T19:44:19.663Z" - }, - { - "type": "modrinth", - "file_name": "primitive creatures V2.0.4 1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/WS4cl75O/primitive creatures V2.0.4 1.20.1.jar", - "id": "WS4cl75O", - "parent_id": "GfUwaZEm", - "hashes": { - "sha512": "24066d5ac2ce72e86a8bbf11d4e860d681cc67faec01621bb368160d636c1e2121803530c3f46e829a85b4419d16fc0a4715896d11c6101f5e8ffad5a664cd6a", - "sha1": "939d37037cc19b15aa8581afa513a724268858b1" - }, - "required_dependencies": [], - "size": 501549, - "date_published": "2025-08-22T19:33:48.426929Z" + "size": 529007, + "date_published": "2025-11-28T00:43:45.163Z" } ] }, From 1372a3e17baa8ac4c3d2fdde5cb7dc8c4b56c8e3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 13:02:22 +0000 Subject: [PATCH 142/628] add rhenium --- kubejs/startup_scripts/gtceu/materials.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 60990863c..21249613c 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -11,6 +11,7 @@ const registerGTCEuMaterialModification = (event) => { const $TFC_PROPERTY = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.properties.TFCProperty') const $ORE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.OreProperty') const $INGOT_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty') + const $DustProperty = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.DustProperty'); const $BLAST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty') const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties') const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') @@ -298,10 +299,14 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Plutonium239.addFlags(GENERATE_ROD, NO_ORE_PROCESSING_TAB, NO_ORE_SMELTING) GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) + // Unhiding elements GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, NO_ORE_SMELTING); 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.Rhenium.setProperty(PropertyKey.DUST, new $DustProperty()); + + // Tools GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ GTToolType.AXE, GTToolType.HARD_HAMMER, @@ -415,6 +420,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.GraniteRed.setMaterialARGB(0x974B3C) GTMaterials.GraniteRed.setMaterialSecondaryARGB(0x632117) GTMaterials.RhodiumPlatedPalladium.setMaterialARGB(0xFFC2EC) + GTMaterials.Rhenium.setMaterialARGB(0x9ccbd6) global.MINECRAFT_DYE_NAMES.forEach(colorName => { From 771ff374a31c0ad238b413629d9bf8689f2e6adc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 13:40:13 +0000 Subject: [PATCH 143/628] added rhenium --- kubejs/startup_scripts/gtceu/materials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 21249613c..00ad2416a 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -420,7 +420,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.GraniteRed.setMaterialARGB(0x974B3C) GTMaterials.GraniteRed.setMaterialSecondaryARGB(0x632117) GTMaterials.RhodiumPlatedPalladium.setMaterialARGB(0xFFC2EC) - GTMaterials.Rhenium.setMaterialARGB(0x9ccbd6) + GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6) global.MINECRAFT_DYE_NAMES.forEach(colorName => { From 4cac603d75b9eb43f4618919c86b5dbb6df2f12e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 16:56:59 +0000 Subject: [PATCH 144/628] remove oilsands VI centrifuging --- .../vintage_improvements/recipes.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index ad2c37ce2..d2099231b 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -758,15 +758,15 @@ function registerVintageImprovementsRecipes(event) { // #region Centrifuging - event.custom({ - type: 'vintageimprovements:centrifugation', - ingredients: [{ tag: 'forge:dusts/oilsands' }], - results: [ - { item: "tfc:sand/yellow", chance: 0.5 }, - { fluid: "gtceu:oil", amount: 2000 } - ], - processingTime: 10 * 20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/centrifuge/oilsands`) + //event.custom({ + // type: 'vintageimprovements:centrifugation', + // ingredients: [{ tag: 'forge:dusts/oilsands' }], + // results: [ + // { item: "tfc:sand/yellow", chance: 0.5 }, + // { fluid: "gtceu:oil", amount: 2000 } + // ], + // processingTime: 10 * 20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + //}).id(`tfg:vi/centrifuge/oilsands`) // #endregion } From 930082492f204f020f6772fcdedb3fd8c0095183 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 28 Nov 2025 17:06:18 +0000 Subject: [PATCH 145/628] removed duplicate analog lever recipe --- kubejs/server_scripts/create/recipes.js | 1 - 1 file changed, 1 deletion(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 6d81bade7..2cf69d560 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -23,7 +23,6 @@ const registerCreateRecipes = (event) => { { id: 'create:crafting/logistics/content_observer' }, { id: 'create:crafting/logistics/stockpile_switch' }, { id: 'create:crafting/kinetics/nixie_tube' }, - { id: 'create:crafting/kinetics/analog_lever' }, { id: 'create:crafting/kinetics/placard' }, { id: 'create:crafting/logistics/pulse_repeater' }, { id: 'create:crafting/logistics/pulse_extender' }, From d779c5c92ea5dc9fcb57b585c815f201a3197d99 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 01:01:38 +0000 Subject: [PATCH 146/628] tarkianite vein --- kubejs/assets/beneath/lang/zh_cn.json | 18 +- kubejs/assets/gtceu/lang/en_us.json | 1 + .../entries/tfg_ores/earth_ore_index.json | 8 +- .../entries/tfg_ores/earth_vein_index.json | 94 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 8 +- .../entries/tfg_ores/earth_vein_index.json | 94 +++- .../entries/tfg_ores/nether_vein_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 8 +- .../entries/tfg_ores/earth_vein_index.json | 94 +++- .../entries/tfg_ores/earth_ore_index.json | 8 +- .../entries/tfg_ores/earth_vein_index.json | 96 +++- .../entries/tfg_ores/earth_ore_index.json | 8 +- .../entries/tfg_ores/earth_vein_index.json | 96 +++- .../entries/tfg_ores/earth_ore_index.json | 16 +- .../entries/tfg_ores/earth_vein_index.json | 100 +++- kubejs/assets/tfg/lang/en_us.json | 5 +- kubejs/assets/tfg/lang/fr_fr.json | 5 +- kubejs/assets/tfg/lang/pt_br.json | 1 + kubejs/assets/tfg/lang/ru_ru.json | 1 + kubejs/assets/tfg/lang/uk_ua.json | 1 + kubejs/assets/tfg/lang/zh_cn.json | 1 + .../earth/vein/normal_tarkianite.json | 505 ++++++++++++++++++ .../earth/vein/normal_tarkianite.json | 12 + kubejs/server_scripts/tfg/tags.veins.js | 1 + kubejs/startup_scripts/gtceu/materials.js | 3 +- kubejs/startup_scripts/tfg/materials.js | 12 +- 27 files changed, 1143 insertions(+), 57 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json diff --git a/kubejs/assets/beneath/lang/zh_cn.json b/kubejs/assets/beneath/lang/zh_cn.json index 693b8d42b..bc9cabffb 100644 --- a/kubejs/assets/beneath/lang/zh_cn.json +++ b/kubejs/assets/beneath/lang/zh_cn.json @@ -9,19 +9,19 @@ "block.beneath.ore.blackstone_sylvite": "钾石盐矿石", "block.beneath.crackrack": "角斑岩", "block.beneath.soul_clay": "泥泞黏土", - "block.beneath.wood.log.crimson": "绯红木原木", - "block.beneath.wood.stripped_log.crimson": "去皮绯红木原木", - "block.beneath.wood.wood.crimson": "绯红木", - "block.beneath.wood.stripped_wood.crimson": "去皮绯红木", + "block.beneath.wood.log.crimson": "绯红菌柄", + "block.beneath.wood.stripped_log.crimson": "去皮绯红菌柄", + "block.beneath.wood.wood.crimson": "绯红菌核", + "block.beneath.wood.stripped_wood.crimson": "去皮绯红菌核", "block.beneath.wood.fallen_leaves.crimson": "绯红瓣叶落叶", "block.beneath.wood.leaves.crimson": "绯红瓣叶", - "block.beneath.wood.log.warped": "诡异木原木", - "block.beneath.wood.stripped_log.warped": "去皮诡异木原木", - "block.beneath.wood.wood.warped": "诡异木", - "block.beneath.wood.stripped_wood.warped": "去皮诡异木", + "block.beneath.wood.log.warped": "诡异菌柄", + "block.beneath.wood.stripped_log.warped": "去皮诡异菌柄", + "block.beneath.wood.wood.warped": "诡异菌核", + "block.beneath.wood.stripped_wood.warped": "去皮诡异菌核", "block.beneath.wood.fallen_leaves.warped": "诡异瓣叶落叶", "block.beneath.wood.leaves.warped": "诡异瓣叶", - "block.beneath.ancient_altar": "远古祭坛", + "block.beneath.ancient_altar": "辉石岩基座", "item.beneath.wood.lumber.crimson": "绯红木材", "item.beneath.wood.sign.crimson": "绯红木告示牌", "item.beneath.wood.boat.crimson": "绯红木船", diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 93d73a47c..a43f843e2 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -134,6 +134,7 @@ "material.gtceu.ostrum": "Ostrum", "material.gtceu.calorite": "Calorite", "material.gtceu.etrium": "Etrium", + "material.gtceu.tarkianite": "Tarkianite", "material.gtceu.aluminium_silicate": "Aluminium Silicate", "material.gtceu.rocket_alloy_t1": "R-Aluminosteel Rocket Alloy", "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", 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 c58119369..89c3c42d0 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(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)$()$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { @@ -44,12 +44,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/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 d3d701b13..f03e1bbb7 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(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_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" }, { @@ -3543,6 +3543,98 @@ "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 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$(br2)Only appears in hot deserts to the South-West.", + "title": "Tarkianite & Oilsands", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tarkianite", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Rhenium, Molybdenum$(br)$(thing)Formula$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Sodium, Boron$(br)$(thing)Formula$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Sodium$(br)$(thing)Formula$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", 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 1146e818f..58f18ab04 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 @@ -2543,7 +2543,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 100%$(br)$(thing)Used for$(): Fertiliser$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Used for$(): Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { 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 c58119369..89c3c42d0 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Alunite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Amethyst: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Apatite: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Asbestos: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Barite: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Basaltic Mineral Sands: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Bauxite: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Bentonite: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Beryllium: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Blue Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Borax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(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)$()$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(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)$()$(li)Pyrolusite: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { @@ -44,12 +44,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Uraninite: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Zeolite: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/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 d3d701b13..f03e1bbb7 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#normal_sulfur)Sulfur & Pyrite$()$()$(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_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" }, { @@ -3543,6 +3543,98 @@ "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 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$(br2)Only appears in hot deserts to the South-West.", + "title": "Tarkianite & Oilsands", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tarkianite", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Rhenium, Molybdenum$(br)$(thing)Formula$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Borax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Sodium, Boron$(br)$(thing)Formula$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Sodium$(br)$(thing)Formula$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 170$(br)$(thing)Density$(): 0.4$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Size$(): 40$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Gneiss, Marble, Phyllite, Quartzite, Schist, Slate", 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 1146e818f..58f18ab04 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 @@ -2543,7 +2543,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 100%$(br)$(thing)Used for$(): Fertiliser$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 100%$(br)$(thing)Used for$(): Fertilizer$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { 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 28b41de65..eb4d0a765 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,12 +14,12 @@ }, { "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)$()$(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#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" }, { "Type": "patchouli:text", - "text": "$(li)Bentonita: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Berílio: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Bórax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Chumbo: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Cianita: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()", + "text": "$(li)Bentonita: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Berílio: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Bórax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Chumbo: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Cianita: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()", "type": "patchouli:text" }, { @@ -44,12 +44,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Safira: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Sal: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Sheelita: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Sodalita: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Tório: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()", + "text": "$(li)Safira: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Sal: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Sheelita: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Sodalita: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarcianita: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeólita: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Tório: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeólita: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/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 29168021b..fe40cd188 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 @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/earth_vein_index#deep_scheelite)Sheelita e Tungstato$()$()$(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#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" }, { @@ -3543,6 +3543,98 @@ "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Lítio$(br)$(thing)Fórmula$(): Li", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:text", + "text": "$(thing)Raridade$(): 150$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(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", + "title": "Tarcianita e Areias Petrolíferas", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "Areias Petrolíferas", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Fonte de$(): Liberdade \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Tarcianita", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Fonte de$(): Rênio, Molibdênio$(br)$(thing)Fórmula$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Bórax", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Sódio, Boro$(br)$(thing)Fórmula$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Trona", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Fonte de$(): Sódio$(br)$(thing)Fórmula$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Raridade$(): 170$(br)$(thing)Densidade$(): 0.4$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Tamanho$(): 40$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Filito, Gnaisse, Mármore, Quartzito, Xisto", 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 7be16b3ef..abf597413 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Алмаз: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Алунит: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Альмандин: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Аметист: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Апатит: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Асбест: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Базальтовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Барит: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Бентонит: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Бериллий: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Борнит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Бура: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)Алмаз: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Алунит: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Альмандин: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Аметист: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Апатит: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Асбест: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Базальтовый минеральный песок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Барит: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Бентонит: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Бериллий: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Борнит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Бура: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { @@ -29,7 +29,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазурит 2: $(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)$()$(li)Никель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Оливин: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()", + "text": "$(li)Лазурит: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)Лазурит 2: $(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)$()$(li)Оливин: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()", "type": "patchouli:text" }, { @@ -44,12 +44,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торий: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/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#deep_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()", + "text": "$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркианит: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торий: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#deep_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Цеолит: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Ционит: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Шеелит: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Электротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", + "text": "$(li)Хромит: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Цеолит: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Ционит: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Шеелит: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Электротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/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 d6c34a39a..0d294b17a 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#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_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#normal_coal)Уголь$()$()", + "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_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)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_topaz)Топаз и Халькозин$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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)Шеелит и Вольфрамат$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Шелдонит и Борнит$()$()", + "text": "$(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)Шеелит и Вольфрамат$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_sheldonite)Шелдонит и Борнит$()$()", "type": "patchouli:text" }, { @@ -3158,6 +3158,98 @@ "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeS₂", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "title": "Таркианит и Нефтеносный песок", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "Нефтеносный песок", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): топливо", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Таркианит", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Рений, Молибден$(br)$(thing)Формула$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Бура", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Натрий, Бор$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Трона", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Натрий$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Редкость$(): 170$(br)$(thing)Плотность$(): 0.4$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -32 — 75$(br)$(thing)Размер$(): 40$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Гнейс, Кварцит, Мрамор, Филлит, Шиферный сланец", 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 af161bcd8..1d37495c6 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Азбест: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Алмандін: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Алуніт: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Аметист: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Апатит: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Базальтовий мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Барит: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Бентоніт: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Берилій: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Блакитний топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Борніт: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Бура: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", + "text": "$(li)Азбест: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)Алмандін: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)Алуніт: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)Аметист: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)Апатит: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)Базальтовий мінеральний пісок: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)35%$(/l)$()$(li)Барит: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)Бастнезит: $(l:tfg_ores/earth_vein_index#normal_monazite)62%$(/l)$()$(li)Бентоніт: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Берилій: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Блакитний топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Боксит: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)Борніт: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Бура: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { @@ -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)$()$(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#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" }, { @@ -44,12 +44,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталіт: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торій: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Халькоцит: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()", + "text": "$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталіт: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркіаніт: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торій: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Хроміт: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Цеоліт: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()", + "text": "$(li)Халькоцит: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Цеоліт: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/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 dfc4e3486..8618d2f0c 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 @@ -24,12 +24,12 @@ }, { "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_tetrahedrite)Тетраедрит (Звичайний)$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_tetrahedrite)Тетраедрит (Поверхня)$()$()", + "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)Тетраедрит (Звичайний)$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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#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" }, { @@ -3277,6 +3277,98 @@ "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Розплавляється в$(): Чавун$(br)$(thing)Формула$(): FeS₂", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:text", + "text": "$(thing)Рідкість$(): 150$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "title": "Таркіаніт та Нафтові піски", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "Нафтові піски", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Джерело$(): Свободи \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Таркіаніт", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Джерело$(): Реній, Молібденум$(br)$(thing)Формула$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Бура", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 20%$(br)$(thing)Джерело$(): Натрію, Бору$(br)$(thing)Формула$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Трона", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Джерело$(): Натрію$(br)$(thing)Формула$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Рідкість$(): 170$(br)$(thing)Щільність$(): 0.4$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -32 — 75$(br)$(thing)Розмір$(): 40$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Гнейс, Кварцит, Мармур, Філіт, Шиферний сланець", 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 bee5632bc..4c1265136 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 @@ -14,42 +14,42 @@ }, { "Type": "patchouli:text", - "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(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)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()", + "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(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)塔基安石: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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)$()$(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)$()$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/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#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" }, { "Type": "patchouli:text", - "text": "$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/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#normal_apatite)50%$(/l)$()", + "text": "$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)蓝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()", + "text": "$(li)磷灰石: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)蓝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()", + "text": "$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)铯榴石: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()", + "text": "$(li)钕矿: $(l:tfg_ores/earth_vein_index#normal_monazite)6%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)钻石: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)钼钨钙矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)钼铅矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)38%$(/l)$()$(li)铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)铍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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_spodumene)35%$(/l)$()$(li)锡石矿: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)锡石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)锡矿: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)雄黄: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)青金石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()", + "text": "$(li)铯榴石: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/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_spodumene)35%$(/l)$()$(li)锡石矿: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)锡石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)锡矿: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)雄黄: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)青金石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)黄色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)黄褐铁矿: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)黄铁矿: $(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)黄铜矿: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)黝铜矿: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()", + "text": "$(li)黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)黄色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)黄褐铁矿: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)黄铁矿: $(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)黄铜矿: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)黝铜矿: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/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 92c47d1b9..10ec4c230 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#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)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/earth_vein_index#normal_saltpeter)硝石, 蓝石$()$()", + "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)硅镁镍矿, 辉钴矿$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/earth_vein_index#deep_hematite)赤铁矿, 针铁矿, 红宝石$()$()", + "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)赤铁矿, 褐铁矿$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/earth_vein_index#surface_sphalerite)闪锌矿, 硫$()$()", + "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)锰矿, 钽矿$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(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#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" }, { @@ -37,6 +37,98 @@ "draw_filler": true, "type": "patchouli:empty" }, + { + "Type": "patchouli:text", + "text": "$(thing)稀有度$(): 150$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "title": "塔基安石, 油砂", + "type": "patchouli:text", + "anchor": "normal_tarkianite" + }, + { + "Type": "patchouli:multiblock", + "name": "油砂", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 35%$(br)$(thing)来源$(): 自由 \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "塔基安石", + "multiblock": { + "mapping": { + "0": "#forge:ores/tarkianite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 35%$(br)$(thing)来源$(): 铼, 钼$(br)$(thing)化学式$(): CuFeRe₄Mo₄S₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "硼砂", + "multiblock": { + "mapping": { + "0": "#forge:ores/borax" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 20%$(br)$(thing)来源$(): 钠, 硼$(br)$(thing)化学式$(): Na₂B₄(H₂O)₁₀O₇", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "天然碱", + "multiblock": { + "mapping": { + "0": "#forge:ores/trona" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 10%$(br)$(thing)来源$(): 钠$(br)$(thing)化学式$(): Na₃C₂H(H₂O)₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 240$(br)$(thing)密度$(): 0.45$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -64 — -20$(br)$(thing)尺寸$(): 19$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f75abae03..ea3c3a469 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1199,6 +1199,7 @@ "ore_vein.tfg.normal_sphalerite": "Sphalerite & Pyrite", "ore_vein.tfg.normal_spodumene": "Spodumene & Lepidolite", "ore_vein.tfg.normal_sulfur": "Sulfur & Pyrite", + "ore_vein.tfg.normal_tarkianite": "Tarkianite & Oilsands", "ore_vein.tfg.normal_tetrahedrite": "Tetrahedrite (Normal)", "ore_vein.tfg.surface_bismuthinite": "Bismuth (Surface)", "ore_vein.tfg.surface_cassiterite": "Cassiterite (Surface)", @@ -2747,7 +2748,7 @@ "quests.medium_voltage.mv_miner.title": "Automatic Mining", "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", - "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", + "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r or &5Screwdriver&r to auto-output into the Generator.", "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r, a &3Backpack&r, or a &3GT Crate&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly, by the way.", "quests.medium_voltage.mv_miner.task": "Any miner", "quests.medium_voltage.mv_component.title": "The MV Components", @@ -3480,7 +3481,7 @@ "quests.steam_age.fluid_pipes.desc.2": "&aReminder:&r 1 second = 20 ticks... assuming the server isn't lagging.\n\n&dNote:&r GT6-style Pipes are enabled. It means that placing Pipes connects them only to the block they were placed against. To open more connections, use your Wrench on the pipe.\n\nYou can also shift-right click with your Wrench to disable input from a side. This can help counteract sloshing (liquids travelling in an undesired direction).", "quests.steam_age.fluid_drums.title": "Efficient Fluid Storage", "quests.steam_age.fluid_drums.subtitle": "I don't think a wooden barrel can hold molten steel", - "quests.steam_age.fluid_drums.desc.1": "&6TFG&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them.\n\nIntroducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside. A right-click with a Soft Mallet allows a Drum to drain its content into another container placed below it.", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them.\n\nIntroducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside. A right-click with a Soft Mallet or Screwdriver allows a Drum to drain its content into another container placed below it.", "quests.steam_age.fluid_drums.desc.2": "&l&3Lore:&r&o These drums are actually ported from GregTech 6.", "quests.steam_age.boilers.title": "Steam Boilers", "quests.steam_age.boilers.subtitle": "Portable Steamroom", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 4281596ba..9794c241a 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1060,6 +1060,7 @@ "ore_vein.tfg.normal_sphalerite": "Sphalerite & Pyrite", "ore_vein.tfg.normal_spodumene": "Spodumene & Lepidolite", "ore_vein.tfg.normal_sulfur": "Sulfur & Pyrite", + "ore_vein.tfg.normal_tarkianite": "Tarkianite & Oilsands", "ore_vein.tfg.normal_tetrahedrite": "Tetrahedrite (Normal)", "ore_vein.tfg.surface_bismuthinite": "Bismuth (Surface)", "ore_vein.tfg.surface_cassiterite": "Cassiterite (Surface)", @@ -2298,7 +2299,7 @@ "quests.medium_voltage.mv_miner.title": "Automatic Mining", "quests.medium_voltage.mv_miner.subtitle": "So are you bored of mining yourself?", "quests.medium_voltage.mv_miner.desc.1": "This kind soul&r will mine ores for you when placed above a vein.\n\nVertical range is unlimited below the miner. Horizontal range is displayed in the tooltip.\n\nThe &bMV&r variant may not have the range to mine a full vein, but the &6HV&r variant does, so you may wish hold off for now. Get &eeither&r to complete this Quest.", - "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r to auto-output into the Generator.", + "quests.medium_voltage.mv_miner.desc.2": "You will need &9Power&r. &aCharged Batteries&r may work, but they tend to run out of power, which is a bit inconvenient.\n\nOur top suggestion is to use a filled &3Drum&r of some kind of fuel &7(if you're using Steam, no dice!)&r and a &3Generator&r.\n\nPlace the Drum above your Generator and right-click it with a &5Soft Mallet&r or &5Screwdriver&r to auto-output into the Generator.", "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r, a &3Backpack&r, or a &3GT Crate&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly, by the way.", "quests.medium_voltage.mv_miner.task": "Any miner", "quests.medium_voltage.mv_component.title": "The MV Components", @@ -2946,7 +2947,7 @@ "quests.steam_age.fluid_pipes.desc.2": "&aReminder:&r 1 second = 20 ticks... assuming the server isn't lagging.\n\n&dNote:&r GT6-style Pipes are enabled. It means that placing Pipes connects them only to the block they were placed against. To open more connections, use your Wrench on the pipe.\n\nYou can also shift-right click with your Wrench to disable input from a side. This can help counteract sloshing (liquids travelling in an undesired direction).", "quests.steam_age.fluid_drums.title": "Efficient Fluid Storage", "quests.steam_age.fluid_drums.subtitle": "I don't think a wooden barrel can hold molten steel", - "quests.steam_age.fluid_drums.desc.1": "&6TFG&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them.\n\nIntroducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside. A right-click with a Soft Mallet allows a Drum to drain its content into another container placed below it.", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r can quickly get &4overwhelming&r with the plethora of fluids it introduces, so you may be looking for a way to store them.\n\nIntroducing... &aDrums&r! They have large internal buffers, and any &aDrum&r can be broken and picked up and will &dkeep the fluid&r inside. A right-click with a Soft Mallet or Screwdriver allows a Drum to drain its content into another container placed below it.", "quests.steam_age.fluid_drums.desc.2": "&l&3Lore:&r&o These drums are actually ported from GregTech 6.", "quests.steam_age.boilers.title": "Steam Boilers", "quests.steam_age.boilers.subtitle": "Portable Steamroom", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index a7043fe14..4abc6f8dd 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -831,6 +831,7 @@ "ore_vein.tfg.normal_sphalerite": "Esfalerita e Pirita", "ore_vein.tfg.normal_spodumene": "Espodumena e Lepidolita", "ore_vein.tfg.normal_sulfur": "Enxofre e Pirita", + "ore_vein.tfg.normal_tarkianite": "Tarcianita e Areias Petrolíferas", "ore_vein.tfg.normal_tetrahedrite": "Tetraedrita (Normal)", "ore_vein.tfg.surface_bismuthinite": "Bismuto (Superfície)", "ore_vein.tfg.surface_cassiterite": "Cassiterita (Superfície)", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index cb21636a4..5a600e929 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1140,6 +1140,7 @@ "ore_vein.tfg.normal_sphalerite": "Сфалерит & Пирит", "ore_vein.tfg.normal_spodumene": "Сподумен и Лепидолит", "ore_vein.tfg.normal_sulfur": "Сера и Пирит", + "ore_vein.tfg.normal_tarkianite": "Таркианит и Нефтеносный песок", "ore_vein.tfg.normal_tetrahedrite": "Тетраэдрит (обычный)", "ore_vein.tfg.surface_bismuthinite": "Висмут (Поверхностный)", "ore_vein.tfg.surface_cassiterite": "Касситерит (Поверхностный)", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 7c9cdbe18..b02a48f09 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1199,6 +1199,7 @@ "ore_vein.tfg.normal_sphalerite": "Сфалерит і Пірит", "ore_vein.tfg.normal_spodumene": "Сподумен та Лепідоліт", "ore_vein.tfg.normal_sulfur": "Сірка та Пірит", + "ore_vein.tfg.normal_tarkianite": "Таркіаніт та Нафтові піски", "ore_vein.tfg.normal_tetrahedrite": "Тетраедрит (Звичайний)", "ore_vein.tfg.surface_bismuthinite": "Вісмут (Поверхня)", "ore_vein.tfg.surface_cassiterite": "Каситерит (Поверхнивий)", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 5fccaf8c0..f21defd70 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1293,6 +1293,7 @@ "ore_vein.tfg.normal_sphalerite": "闪锌矿, 黄铁矿", "ore_vein.tfg.normal_spodumene": "锂辉石, 锂云母", "ore_vein.tfg.normal_sulfur": "硫, 黄铁矿", + "ore_vein.tfg.normal_tarkianite": "塔基安石, 油砂", "ore_vein.tfg.normal_tetrahedrite": "黝铜矿 (普通)", "ore_vein.tfg.surface_bismuthinite": "辉铋矿 (地表)", "ore_vein.tfg.surface_cassiterite": "锡石矿 (地表)", diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json new file mode 100644 index 000000000..52b9da6ca --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json @@ -0,0 +1,505 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:pipe_vein", + "config": { + "height": 60, + "radius": 10, + "min_skew": 6, + "max_skew": 18, + "min_slant": 0, + "max_slant": 4, + "sign": 0, + "rarity": 150, + "density": 0.35, + "min_y": 20, + "max_y": 120, + "random_name": "normal_tarkianite", + "blocks": [ + { + "replace": [ + "tfc:rock/raw/gabbro" + ], + "with": [ + { + "block": "gtceu:gabbro_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:gabbro_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:gabbro_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/granite" + ], + "with": [ + { + "block": "gtceu:granite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:granite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:granite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/diorite" + ], + "with": [ + { + "block": "gtceu:diorite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:diorite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:diorite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/schist" + ], + "with": [ + { + "block": "gtceu:schist_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:schist_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:schist_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/gneiss" + ], + "with": [ + { + "block": "gtceu:gneiss_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:gneiss_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:gneiss_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/quartzite" + ], + "with": [ + { + "block": "gtceu:quartzite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:quartzite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:quartzite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/phyllite" + ], + "with": [ + { + "block": "gtceu:phyllite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:phyllite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:phyllite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/slate" + ], + "with": [ + { + "block": "gtceu:slate_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:slate_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:slate_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/marble" + ], + "with": [ + { + "block": "gtceu:marble_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:marble_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:marble_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:dacite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:dacite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:rhyolite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:rhyolite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:andesite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:andesite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "minecraft:basalt" + ], + "with": [ + { + "block": "gtceu:basalt_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:basalt_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:basalt_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:shale_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:shale_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:shale_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/claystone" + ], + "with": [ + { + "block": "gtceu:claystone_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:claystone_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:claystone_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:claystone_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:limestone_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:limestone_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:limestone_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/conglomerate" + ], + "with": [ + { + "block": "gtceu:conglomerate_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:conglomerate_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:conglomerate_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:conglomerate_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:dolomite_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:dolomite_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:dolomite_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:chert_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:chert_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:chert_trona_ore", + "weight": 10 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_oilsands_ore", + "weight": 35 + }, + { + "block": "gtceu:chalk_tarkianite_ore", + "weight": 35 + }, + { + "block": "gtceu:chalk_borax_ore", + "weight": 20 + }, + { + "block": "gtceu:chalk_trona_ore", + "weight": 10 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:oilsands_indicator", + "weight": 35 + }, + { + "block": "gtceu:tarkianite_indicator", + "weight": 35 + }, + { + "block": "gtceu:borax_indicator", + "weight": 20 + }, + { + "block": "gtceu:trona_indicator", + "weight": 10 + } + ] + } + } +} \ 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 new file mode 100644 index 000000000..573a0dac8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/vein/normal_tarkianite.json @@ -0,0 +1,12 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "feature": "tfg:earth/vein/normal_tarkianite", + "placement": [ + { + "type": "tfc:climate", + "min_temperature": 17, + "min_rainfall": 0, + "max_rainfall": 100 + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.veins.js b/kubejs/server_scripts/tfg/tags.veins.js index 75fd2d810..6b1420420 100644 --- a/kubejs/server_scripts/tfg/tags.veins.js +++ b/kubejs/server_scripts/tfg/tags.veins.js @@ -48,6 +48,7 @@ const registerTFGOreVeinFeatures = (event) => { event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sphalerite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_spodumene') event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sulfur') + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tarkianite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tetrahedrite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_bismuthinite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_cassiterite') diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 00ad2416a..3bdcf75d5 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -304,8 +304,6 @@ const registerGTCEuMaterialModification = (event) => { 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.Rhenium.setProperty(PropertyKey.DUST, new $DustProperty()); - // Tools GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ GTToolType.AXE, @@ -420,6 +418,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.GraniteRed.setMaterialARGB(0x974B3C) GTMaterials.GraniteRed.setMaterialSecondaryARGB(0x632117) GTMaterials.RhodiumPlatedPalladium.setMaterialARGB(0xFFC2EC) + GTMaterials.Rhenium.setMaterialARGB(0x8cb07f) GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6) diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 2ee953cdf..27a1e6339 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -38,6 +38,16 @@ const registerTFGMaterials = (event) => { .color(0xfbdf82) .secondaryColor(0xff9d2e) + // Ores + + event.create('tarkianite') + .ore() + .components('1x copper', '1x iron', '4x rhenium', '4x molybdenum', '8x sulfur') + .color(0x8bb054) + .secondaryColor(0x3d8021) + .iconSet(GTMaterialIconSet.getByName('tfc_emerald')) + .addOreByproducts('sulfur', 'rhenium', 'molybdenum') + // Cooking event.create('lactose') @@ -192,7 +202,7 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xfeff5d) - //#endregion + event.create('liquid_carbon_dioxide') .liquid(100) //Not realistic but I want it to be cryogenic .components('1x carbon', '2x oxygen') From 34866230ba925f41629844911ac34bf2f1d57f28 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 10:44:43 +0000 Subject: [PATCH 147/628] remove tfc-gurman field guide pages --- kubejs/assets/tfg_excludes.zip | Bin 32922 -> 32940 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/kubejs/assets/tfg_excludes.zip b/kubejs/assets/tfg_excludes.zip index 3a91c31059f702edc1d9606dbeaacce18c5feeba..bf2b199b06d9a9659b7f83780d0c1846b89b3d81 100644 GIT binary patch delta 487 zcmbQ$$h4-BsXoA)nMH(wfq{eJPjGGYjh|Brvltl|Y&jShxEUB23KEmE^>UMQQ%e%} zPTkvg#ewJe>$}S>mb$!9;*yeMsB&qa@YKhq^X5s5O|ow}OWyYhcW78H@t$?&iT$?v zZ#Dn+#Lbety!Ph@fxF(9C#yca8JXpARy^ov{~F=CASpS!$tUXYRbdE>JaTPH})5T2U6Q8tvT zUo8941%~d&2dBO}vBc=M<%;@4&lDtilI7FvbEWT#zrS(G zJaXz}lJ3TPIY-{43$oARi#sy+>-KimXU6HJkGwdq`fHcOEnD2bq@Shy;-&3{yQLD| zCh7)nl;PQyl^dBQWnF1C&%~2`YFvrb26mJ1KjOKjljb4A^33^7DFaiEp2a6QvXHFfyQl$yyCs QjFTsaHrTV>uLsEi0LJ>(uK)l5 delta 469 zcmZ3}$TX{wsXoA)nMH(wfq{d;GeYUT$)3YDwbW zskZrd40zho-z~neg*h^4-rS{aSN2WNs!N~y!SiLwf1i4_ZnaI{K3=F{ahjI# z^~Im3uNUrYyO*Zt_v_^i@trsScX(~qS{OR#gwm|Aw&x|AcT4`-;Wcr2;Iu;*y63Dt z?UUMY`4DsI@%Fw|+LyK1cNHwl6H+~~}%Nvprz8G1uTr8#lV(KDU@*zym_K4sD?5c;wBP4ipvxy2Jt zKYL!b$Rz1$%Es9d=gpG7-JPI5E64msIw$v;-Fk11Och%7-u!CiOtbwn?1W-mPG2}` zo!wB{P`aoq_3`Y?tGhN`G5Pjsn{DPKIjx`n8wwaq!vBcpzEwH=No)oGagVxV_AHe< z{;_SI%otE7CeMH^9wz^+*Or)YDM_GB@eU)5&KCd8*6{8&<7Ar#Eyl*l=?(U5XX_al G7#ILdV%I+a From 929262415a1bbfa30708acf3f716485070814b57 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 10:54:00 +0000 Subject: [PATCH 148/628] fix summoned endermen dying in space --- CHANGELOG.md | 1 + kubejs/server_scripts/ad_astra/tags.js | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13a8c3cad..fa2530371 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ Added TFC Gurman, which adds even more food and drink - Fixes crafting table output amount for salsa compared to the food processor (#2295) @Pyritie - Added missing food processor recipe for cocoa butter @Pyritie - Fixed recipe conflict with Epichlorohydrin and Sodium Hypochlorite (#2287) @Pyritie +- Fixed summoned pet endermen not being able to survive in space or other planets @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index f29b93dc4..1531118a3 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -576,6 +576,9 @@ const registerAdAstraEntityTypeTags = (event) => { }) event.add('ad_astra:can_survive_in_space', 'railways:conductor') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:hammerhead_pet_enderman') event.add('tfc:deals_crushing_damage', 'minecraft:enderman') event.add('tfc:deals_crushing_damage', 'minecraft:stray') From 1ef4d4ae72f28edeaab4c2cdfecb4ea56969e39d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 10:57:41 +0000 Subject: [PATCH 149/628] tweak empty fuel rod recipe --- kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js index 96f4ff9f0..7791089f8 100644 --- a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js @@ -64,11 +64,12 @@ function registerTFGNuclearRecipes(event) { .duration(20*300) .EUt(GTValues.V[GTValues.IV]) - event.recipes.gtceu.lathe('tfg:empty_rod') - .itemInputs('gtceu:cobalt_large_restrictive_item_pipe') + 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 From 24bb4ba26653f4f8a2e6626626a896c6defc0818 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 11:14:29 +0000 Subject: [PATCH 150/628] why is the ae2 ingredient buffer so expensive? --- kubejs/server_scripts/extended_ae2/recipes.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/kubejs/server_scripts/extended_ae2/recipes.js b/kubejs/server_scripts/extended_ae2/recipes.js index 6cafbed10..7160e76cb 100644 --- a/kubejs/server_scripts/extended_ae2/recipes.js +++ b/kubejs/server_scripts/extended_ae2/recipes.js @@ -693,13 +693,7 @@ const registerExtendedAE2Recipes = (event) => { .EUt(1920) event.recipes.gtceu.assembler('expatternprovider:ingredient_buffer') - .itemInputs( - 'gtceu:hv_machine_casing', - '2x ae2:quartz_vibrant_glass', - 'gtceu:stainless_steel_drum', - '2x ae2:cell_component_1k', - 'gtceu:hv_robot_arm', - 'gtceu:hv_electric_pump') + .itemInputs('gtceu:hv_buffer', 'ae2:cell_component_1k') .itemOutputs('expatternprovider:ingredient_buffer') .duration(200) .EUt(1920) From 61fc83a22146f15b202542376faba7165155a364 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 11:14:48 +0000 Subject: [PATCH 151/628] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa2530371..ffeaa2e5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Added TFC Gurman, which adds even more food and drink - Moved Soph Backpack pickup to ULV, adv pickup to MV and magnet to MV @CrashAndSideburns - Oilsands dust can now be centrifuged in the mechanical centrifuge @Pyritie - All oils (both the petrochem kind and the cooking kind) can now be used to fuel small boilers as well @Pyritie +- Reduced the cost of the ME Ingredient Buffer @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix From 9a119a66926a44d4ecad1f68cdc5a90205c13ff7 Mon Sep 17 00:00:00 2001 From: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> Date: Sat, 29 Nov 2025 19:41:52 +0000 Subject: [PATCH 152/628] Zirconium balancing (#2307) --- kubejs/server_scripts/tfg/recipes.space_ores.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.space_ores.js b/kubejs/server_scripts/tfg/recipes.space_ores.js index d0df8d677..80a2a5ffe 100644 --- a/kubejs/server_scripts/tfg/recipes.space_ores.js +++ b/kubejs/server_scripts/tfg/recipes.space_ores.js @@ -219,9 +219,9 @@ function registerTFGSpaceOres(event) { .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.chemical_reactor('tfg:zirconium_tetrachloride') - .itemInputs('2x #forge:dusts/carbon', '1x #forge:dusts/zircon') + .itemInputs('4x #forge:dusts/carbon', '6x #forge:dusts/zircon') .inputFluids('gtceu:chlorine 8000') - .outputFluids('gtceu:carbon_monoxide 2000', 'tfg:silicon_tetrachloride 1000') + .outputFluids('gtceu:carbon_monoxide 4000', 'tfg:silicon_tetrachloride 1000') .itemOutputs('5x #forge:dusts/zirconium_tetrachloride') .duration(20 * 20) .EUt(GTValues.VA[GTValues.EV]) @@ -242,16 +242,16 @@ function registerTFGSpaceOres(event) { .EUt(GTValues.VA[GTValues.IV]) event.recipes.gtceu.chemical_reactor('tfg:zirconium_diboride') - .itemInputs('5x #forge:dusts/zirconium_bromide', '5x #forge:dusts/boron_carbide') + .itemInputs('10x #forge:dusts/zirconium_bromide', '5x #forge:dusts/boron_carbide') .notConsumable('#forge:dusts/carbon') - .itemOutputs('6x #forge:dusts/zirconium_diboride') - .outputFluids('gtceu:bromine 4000') + .itemOutputs('6x #forge:dusts/zirconium_diboride', '#forge:dusts/carbon') + .outputFluids('gtceu:bromine 8000') .duration(10 * 20) .EUt(GTValues.VA[GTValues.IV]) event.recipes.gtceu.chemical_reactor('tfg:boron_carbide') - .itemInputs('2x #forge:dusts/boron', '7x #forge:dusts/carbon') - .inputFluids('gtceu:oxygen 3000') + .itemInputs('4x #forge:dusts/boron', '7x #forge:dusts/carbon') + .inputFluids('gtceu:oxygen 6000') .itemOutputs('5x #forge:dusts/boron_carbide') .outputFluids('gtceu:carbon_monoxide 6000') .duration(10 * 20) From 2788f9bbc9a6032351f939dfb096261390276d15 Mon Sep 17 00:00:00 2001 From: applenper Date: Sat, 29 Nov 2025 15:43:52 -0400 Subject: [PATCH 153/628] changed coloured blast steel recipes to be mv (#2306) --- .../gregtech/recipes.tfcmetals.js | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js index 8d78aad7f..d0ab72cf7 100644 --- a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js +++ b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js @@ -34,6 +34,45 @@ function registerGTCEuTFCMetalsRecipes(event) { .duration(700) .EUt(GTValues.VA[GTValues.LV]) + event.remove({id:'gtceu:electric_blast_furnace/blast_red_steel_gas'}) + event.remove({id:'gtceu:electric_blast_furnace/blast_red_steel'}) + event.remove({id:'gtceu:electric_blast_furnace/blast_blue_steel_gas'}) + event.remove({id:'gtceu:electric_blast_furnace/blast_blue_steel'}) + + event.recipes.gtceu.electric_blast_furnace('blast_red_steel_gas_mv') + .itemInputs('gtceu:red_steel_dust') + .itemOutputs('tfc:metal/ingot/red_steel') + .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .duration(670) + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + .blastFurnaceTemp(1000) + + event.recipes.gtceu.electric_blast_furnace('blast_red_steel_mv') + .itemInputs('gtceu:red_steel_dust') + .itemOutputs('tfc:metal/ingot/red_steel') + .duration(1000) + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + .blastFurnaceTemp(1000) + + event.recipes.gtceu.electric_blast_furnace('blast_blue_steel_gas_mv') + .itemInputs('gtceu:blue_steel_dust') + .itemOutputs('tfc:metal/ingot/blue_steel') + .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .duration(670) + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + .blastFurnaceTemp(1000) + + event.recipes.gtceu.electric_blast_furnace('blast_blue_steel_mv') + .itemInputs('gtceu:blue_steel_dust') + .itemOutputs('tfc:metal/ingot/blue_steel') + .duration(1000) + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + .blastFurnaceTemp(1000) + //#endregion //#region add regular furnace recipes for other tfc alloys From 57ee808716c55659d6fc07f8146958cd49409e07 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 23:27:55 +0000 Subject: [PATCH 154/628] increased the amount of fat in the world --- CHANGELOG.md | 1 + kubejs/server_scripts/gregtech/recipes.js | 6 ++-- kubejs/server_scripts/tfc/loot.js | 36 +++++++++++++++++++++-- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffeaa2e5d..1791e5edc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Added TFC Gurman, which adds even more food and drink - Oilsands dust can now be centrifuged in the mechanical centrifuge @Pyritie - All oils (both the petrochem kind and the cooking kind) can now be used to fuel small boilers as well @Pyritie - Reduced the cost of the ME Ingredient Buffer @Pyritie +- Renamed Blubber to Animal Fat and added it to the drop tables of more animals (pigs drop a fair bit, orcas drop a ton). Renamed Fish Oil to Tallowate since you can turn animal fat into tallow into fish oil (now tallowate). From there you can turn it into biodiesel! @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 14f38307d..816f01032 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -302,13 +302,13 @@ const registerGTCEURecipes = (event) => { //#region Выход: Рыбье масло - event.recipes.gtceu.extractor(`tfg/fish_oil`) + event.recipes.gtceu.extractor(`tfg:fish_oil`) .itemInputs('#minecraft:fishes') .outputFluids(Fluid.of('gtceu:fish_oil', 200)) .duration(40) .EUt(4) - event.recipes.gtceu.extractor(`tfg/tallow`) + event.recipes.gtceu.extractor(`tfg:tallow`) .itemInputs('tfc:blubber') .outputFluids(Fluid.of('tfc:tallow', 200)) .duration(40) @@ -325,7 +325,7 @@ const registerGTCEURecipes = (event) => { //#region Выход: Семянное масло - event.recipes.gtceu.extractor(`tfg/seed_oil`) + event.recipes.gtceu.extractor(`tfg:seed_oil`) .itemInputs('#tfc:seeds') .outputFluids(Fluid.of('gtceu:seed_oil', 50)) .duration(32) diff --git a/kubejs/server_scripts/tfc/loot.js b/kubejs/server_scripts/tfc/loot.js index 044f9b757..62e9e1909 100644 --- a/kubejs/server_scripts/tfc/loot.js +++ b/kubejs/server_scripts/tfc/loot.js @@ -153,7 +153,9 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:bongo') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) - + + event.addEntityLootModifier('tfc:caribou') + .addWeightedLoot([1, 3], ['tfc:blubber']) event.addEntityLootModifier('tfc:caribou') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([3, 5], ['tfc:food/venison']) @@ -169,6 +171,14 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:deer') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) + + event.addEntityLootModifier('tfc:dolphin') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 12], ['tfc:blubber']) + .addWeightedLoot([1, 5], ['minecraft:bone']) + event.addEntityLootModifier('tfc:dolphin') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 6], ['tfc:blubber']) event.addEntityLootModifier('tfc:donkey') .matchMainHand('#forge:tools/butchery_knives') @@ -198,14 +208,25 @@ function registerTFCLoots(event) { .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) + event.addEntityLootModifier('tfc:manatee') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([5, 12], ['tfc:blubber']) + .addWeightedLoot([1, 5], ['minecraft:bone']) + event.addEntityLootModifier('tfc:manatee') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 6], ['tfc:blubber']) + event.addEntityLootModifier('tfc:moose') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 10], ['tfc:food/venison']) + .addWeightedLoot([1, 2], ['tfc:blubber']) event.addEntityLootModifier('tfc:mule') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) - + + event.addEntityLootModifier('tfc:musk_ox') + .addWeightedLoot([1, 2], ['tfc:blubber']) event.addEntityLootModifier('tfc:musk_ox') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/mutton']) @@ -218,9 +239,20 @@ function registerTFCLoots(event) { .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/pheasant']) + event.addEntityLootModifier('tfc:pig') + .addWeightedLoot([3, 6], ['tfc:blubber']) event.addEntityLootModifier('tfc:pig') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 7], ['tfc:food/pork']) + .addWeightedLoot([1, 3], ['tfc:blubber']) + + event.addEntityLootModifier('tfc:orca') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([8, 20], ['tfc:blubber']) + .addWeightedLoot([3, 7], ['minecraft:bone']) + event.addEntityLootModifier('tfc:orca') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([4, 10], ['tfc:blubber']) event.addEntityLootModifier('tfc:quail') .matchMainHand('#forge:tools/butchery_knives') From f9626427b6f37286fbbad7f6a02a4afc09eae55e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 29 Nov 2025 23:36:11 +0000 Subject: [PATCH 155/628] langs --- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/assets/tfc/lang/en_us.json | 1 + 2 files changed, 2 insertions(+) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index a43f843e2..3e0db12ec 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -128,6 +128,7 @@ "material.gtceu.damascus_steel": "Swine-steel", "material.gtceu.air": "Earth Air", "material.gtceu.liquid_air": "Liquid Earth Air", + "material.gtceu.fish_oil": "Tallowate", "material.gtceu.cooperite": "Cooperite", "material.gtceu.armalcolite": "Armalcolite", "material.gtceu.desh": "Desh", diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json index 09c2b29bb..b06749ae8 100644 --- a/kubejs/assets/tfc/lang/en_us.json +++ b/kubejs/assets/tfc/lang/en_us.json @@ -12,6 +12,7 @@ "item.tfc.jute_net": "Burlap Net", "item.tfc.dirty_jute_net": "Dirty Burlap Net", "item.tfc.powder.salt": "Table Salt", + "item.tfc.blubber": "Animal Fat", "tfc.jei.raw_hide_knapping": "Raw Hide Knapping", "metal.tfg.redstone": "Redstone", "metal.tfg.red_alloy": "Red Alloy", From 7b2d0c827b06f8bb0f0ffc15241712e92bf80e6f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 11:59:17 +0000 Subject: [PATCH 156/628] update tfc ambiental --- kubejs/server_scripts/tfc/tags.js | 3 -- pakku-lock.json | 61 ++++++++++++++++--------------- 2 files changed, 31 insertions(+), 33 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index c2b68f7d8..36d3752fd 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -485,9 +485,6 @@ function registerTFCBlockTags(event) { }); event.add('tfc:can_be_snow_piled', 'tfc:groundcover/feather'); - - event.add('tfcambiental:hot_stuff', 'tfc:pot'); - event.add('tfcambiental:hot_stuff', 'tfc:grill'); } /** @param {TagEvent.Fluid} event */ diff --git a/pakku-lock.json b/pakku-lock.json index 7d77c5ad1..6ac461a51 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12402,48 +12402,49 @@ "modrinth": "K7eNiRnX" }, "files": [ - { - "type": "curseforge", - "file_name": "tfcambiental-1.20.1-3.3.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5655/440/tfcambiental-1.20.1-3.3.1.jar", - "id": "5655440", - "parent_id": "940350", - "hashes": { - "sha1": "0837547febfc05c18e224fd8b3f9ed4eef8eb9de", - "md5": "f057f8e13adacf35c50ae52cf312ee38" - }, - "required_dependencies": [], - "size": 640068, - "date_published": "2024-08-23T09:41:25.543Z" - }, { "type": "modrinth", - "file_name": "tfcambiental-1.20.1-3.3.1.jar", + "file_name": "tfcambiental-1.20.1-3.4.0.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/K7eNiRnX/versions/to7EBq2d/tfcambiental-1.20.1-3.3.1.jar", - "id": "to7EBq2d", + "url": "https://cdn.modrinth.com/data/K7eNiRnX/versions/dSotPtx8/tfcambiental-1.20.1-3.4.0.jar", + "id": "dSotPtx8", "parent_id": "K7eNiRnX", "hashes": { - "sha512": "ad600d3731080320a4d0a3134fbdbe8041f2671c395fef73d316e8d39d1bc2672f75f583817f6389aa11c456c0508e031ad5e3b9c876ca19b605c1e107a693cb", - "sha1": "0837547febfc05c18e224fd8b3f9ed4eef8eb9de" + "sha512": "1ac37c9c4777a596a2418ff31254e59e8421793329235a6f596271d0f634858d4ba11f2e062d8e6f3dd87388b9ce7c197f4eea438eed1a0afad7f51805c22c7a", + "sha1": "4f506dcf9acd95c274225b6ea3dd7dd5cac996ab" }, "required_dependencies": [], - "size": 640068, - "date_published": "2025-07-20T08:59:11.860074Z" + "size": 646197, + "date_published": "2025-11-30T08:26:10.111188Z" + }, + { + "type": "curseforge", + "file_name": "tfcambiental-1.20.1-3.4.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7277/343/tfcambiental-1.20.1-3.4.0.jar", + "id": "7277343", + "parent_id": "940350", + "hashes": { + "sha1": "4f506dcf9acd95c274225b6ea3dd7dd5cac996ab", + "md5": "5dd04665c5c5c5386e5edc0159514bb2" + }, + "required_dependencies": [], + "size": 646197, + "date_published": "2025-11-30T08:24:10.973Z" } ] }, From 524323c77379041d783f584440850cc559a40573 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 12:00:56 +0000 Subject: [PATCH 157/628] update tfc gurman --- pakku-lock.json | 61 +++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 6ac461a51..73f9d56c5 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12749,30 +12749,6 @@ "modrinth": "ERme2o65" }, "files": [ - { - "type": "curseforge", - "file_name": "tfc_gurman-1.2.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7266/294/tfc_gurman-1.2.0.jar", - "id": "7266294", - "parent_id": "1363944", - "hashes": { - "sha1": "04112408529fcb54acc0c95b0bce5533937d5055", - "md5": "4df0ca72bbb1b0371fc50615cd561c61" - }, - "required_dependencies": [ - "453394", - "302973" - ], - "size": 522984, - "date_published": "2025-11-27T00:01:26.557Z" - }, { "type": "modrinth", "file_name": "tfc_gurman-1.2.0.jar", @@ -12783,19 +12759,40 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/QQxMFvKv/tfc_gurman-1.2.0.jar", - "id": "QQxMFvKv", + "url": "https://cdn.modrinth.com/data/ERme2o65/versions/Cz4jYtUl/tfc_gurman-1.2.0.jar", + "id": "Cz4jYtUl", "parent_id": "ERme2o65", "hashes": { - "sha512": "721929eca0ee52ba501c09d7737739156a9cf2dfd5c6834fba51d49f27fd9cceb73944bec7e5593a8fd40a62f4eef8e8e85dea9967115605470eec53ecb6addd", - "sha1": "04112408529fcb54acc0c95b0bce5533937d5055" + "sha512": "ad839d5f2b963d433fd9a9ff965953c7dcbebf5a7b1f660ed5d84b440a2af047a0684b01d0391c012ca69ea8e49a9973f1d7400f40c1e16b0877c8c08f942b7e", + "sha1": "4e219504c5ca011c2ea7036d6002d30ce14085c0" + }, + "required_dependencies": [], + "size": 518871, + "date_published": "2025-11-28T21:26:28.110692Z" + }, + { + "type": "curseforge", + "file_name": "tfc_gurman-1.2.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7272/449/tfc_gurman-1.2.0.jar", + "id": "7272449", + "parent_id": "1363944", + "hashes": { + "sha1": "4e219504c5ca011c2ea7036d6002d30ce14085c0", + "md5": "a10ca1fd4dd5f98f9f646d713995e95e" }, "required_dependencies": [ - "5bKeBHw2", - "JaCEZUhg" + "453394", + "302973" ], - "size": 522984, - "date_published": "2025-11-27T00:00:10.797821Z" + "size": 518871, + "date_published": "2025-11-28T21:24:49.587Z" } ] }, From 2051750257110d5a1dfbcdb1d5f5d528cf728fc4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 12:07:05 +0000 Subject: [PATCH 158/628] made tarkianite more lenient --- .../worldgen/placed_feature/earth/vein/normal_tarkianite.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 573a0dac8..9c054a1b2 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 @@ -4,9 +4,9 @@ "placement": [ { "type": "tfc:climate", - "min_temperature": 17, + "min_temperature": 7, "min_rainfall": 0, - "max_rainfall": 100 + "max_rainfall": 70 } ] } \ No newline at end of file From 4ac7a45e92a1ef7b40ad4a14cacd1ff9f6eb9e9a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 13:40:42 +0000 Subject: [PATCH 159/628] remove arc furnace recipes of colored steels, fix some chemistry mistakes --- CHANGELOG.md | 2 + .../gregtech/recipes.tfcmetals.js | 47 +++++++++---------- .../tfg/recipes.miscellaneous.js | 22 ++++----- 3 files changed, 34 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1791e5edc..5081a4e74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Added TFC Gurman, which adds even more food and drink - All oils (both the petrochem kind and the cooking kind) can now be used to fuel small boilers as well @Pyritie - Reduced the cost of the ME Ingredient Buffer @Pyritie - Renamed Blubber to Animal Fat and added it to the drop tables of more animals (pigs drop a fair bit, orcas drop a ton). Renamed Fish Oil to Tallowate since you can turn animal fat into tallow into fish oil (now tallowate). From there you can turn it into biodiesel! @Pyritie +- Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix @@ -34,6 +35,7 @@ Added TFC Gurman, which adds even more food and drink - Added missing food processor recipe for cocoa butter @Pyritie - Fixed recipe conflict with Epichlorohydrin and Sodium Hypochlorite (#2287) @Pyritie - Fixed summoned pet endermen not being able to survive in space or other planets @Pyritie +- Fixed some recipe imbalances with trimethyl borate and related recipes @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js index d0ab72cf7..dc88c4a57 100644 --- a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js +++ b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js @@ -5,40 +5,35 @@ * @param {Internal.RecipesEventJS} event */ function registerGTCEuTFCMetalsRecipes(event) { - //#region LV hull + + // #region Colored steels event.replaceInput('gtceu:shaped/lv_machine_hull', '#forge:plates/wrought_iron', '#forge:plates/red_steel') - //#endregion - - //#region make colored steel a bit easier to compensate - - event.recipes.gtceu.arc_furnace('tfg:black_steel_dust_to_ingot') - .itemInputs('gtceu:black_steel_dust') - .itemOutputs('tfc:metal/ingot/black_steel') - .inputFluids(Fluid.of('gtceu:oxygen', 72)) - .duration(500) - .EUt(24) - - event.recipes.gtceu.arc_furnace('tfg:red_steel_dust_to_ingot') - .itemInputs('gtceu:red_steel_dust') - .itemOutputs('tfc:metal/ingot/red_steel') - .inputFluids(Fluid.of('gtceu:oxygen', 72)) - .duration(700) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.arc_furnace('tfg:blue_steel_dust_to_ingot') - .itemInputs('gtceu:blue_steel_dust') - .itemOutputs('tfc:metal/ingot/blue_steel') - .inputFluids(Fluid.of('gtceu:oxygen', 72)) - .duration(700) - .EUt(GTValues.VA[GTValues.LV]) - + event.remove({id:'gtceu:electric_blast_furnace/blast_black_steel_gas'}) + event.remove({id:'gtceu:electric_blast_furnace/blast_black_steel'}) event.remove({id:'gtceu:electric_blast_furnace/blast_red_steel_gas'}) event.remove({id:'gtceu:electric_blast_furnace/blast_red_steel'}) event.remove({id:'gtceu:electric_blast_furnace/blast_blue_steel_gas'}) event.remove({id:'gtceu:electric_blast_furnace/blast_blue_steel'}) + event.recipes.gtceu.electric_blast_furnace('blast_black_steel_gas_mv') + .itemInputs('gtceu:black_steel_dust') + .itemOutputs('tfc:metal/ingot/black_steel') + .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .duration(469) + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + .blastFurnaceTemp(1000) + + event.recipes.gtceu.electric_blast_furnace('blast_black_steel_mv') + .itemInputs('gtceu:black_steel_dust') + .itemOutputs('tfc:metal/ingot/black_steel') + .duration(700) + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + .blastFurnaceTemp(1000) + event.recipes.gtceu.electric_blast_furnace('blast_red_steel_gas_mv') .itemInputs('gtceu:red_steel_dust') .itemOutputs('tfc:metal/ingot/red_steel') diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 23a1d2bef..7684b5210 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -1052,14 +1052,14 @@ function registerTFGMiscellaneousRecipes(event) { .duration(400) .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.chemical_reactor('tfg:boric_acid_synthesis') - .itemInputs('#forge:dusts/borax') + .itemInputs('23x #forge:dusts/borax') .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000)) - .itemOutputs('4x #forge:dusts/boric_acid', '2x #forge:dusts/salt') + .itemOutputs('28x #forge:dusts/boric_acid', '2x #forge:dusts/salt') .outputFluids(Fluid.of('minecraft:water', 5000)) .duration(400) .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.chemical_reactor('tfg:trimethyl_borate_synthesis') - .itemInputs('#forge:dusts/boric_acid') + .itemInputs('7x #forge:dusts/boric_acid') .inputFluids(Fluid.of('gtceu:methanol', 3000), Fluid.of('gtceu:sulfuric_acid', 100)) .outputFluids(Fluid.of('tfg:trimethyl_borate', 1000), Fluid.of('minecraft:water', 3000)) .duration(300) @@ -1067,12 +1067,12 @@ function registerTFGMiscellaneousRecipes(event) { event.recipes.gtceu.chemical_reactor('tfg:sodium_borohydride_synthesis') .itemInputs('4x #forge:dusts/sodium_hydride') .inputFluids(Fluid.of('tfg:trimethyl_borate', 1000)) - .itemOutputs('#forge:dusts/sodium_borohydride', '3x #forge:dusts/sodium_methoxide') + .itemOutputs('6x #forge:dusts/sodium_borohydride', '18x #forge:dusts/sodium_methoxide') .duration(160) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_reactor('tfg:ammonia_borane_synthesis') - .itemInputs('#forge:dusts/sodium_borohydride', '#forge:dusts/ammonium_chloride') - .itemOutputs('#forge:dusts/ammonia_borane', '#forge:dusts/salt') + .itemInputs('6x #forge:dusts/sodium_borohydride', '6x #forge:dusts/ammonium_chloride') + .itemOutputs('8x #forge:dusts/ammonia_borane', '2x #forge:dusts/salt') .outputFluids(Fluid.of('gtceu:hydrogen', 2000)) .duration(100) .EUt(GTValues.VA[GTValues.IV]) @@ -1086,7 +1086,7 @@ function registerTFGMiscellaneousRecipes(event) { .duration(140) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_reactor('tfg:dimethyl_carbonate_synthesis') - .inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000), Fluid.of('gtceu:oxygen', 500), Fluid.of('gtceu:methanol', 2000)) + .inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000), Fluid.of('gtceu:oxygen', 1000), Fluid.of('gtceu:methanol', 2000)) .outputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000), Fluid.of('minecraft:water', 1000)) .duration(120) .circuit(2) @@ -1103,12 +1103,12 @@ function registerTFGMiscellaneousRecipes(event) { .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_reactor('tfg:mpi_synthesis') .inputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000)) - .itemOutputs('#forge:dusts/methylene_diphenyl_diisocyanate') + .itemOutputs('27x #forge:dusts/methylene_diphenyl_diisocyanate') .outputFluids(Fluid.of('gtceu:methanol', 2000)) .duration(80) .EUt(GTValues.VA[GTValues.IV]) event.recipes.gtceu.mixer('tfg:aes_polyurethane_electric_only') - .itemInputs('2x #tfg:mineral_rich_wool', 'tfg:aes_compressed_wool', '#forge:dusts/methylene_diphenyl_diisocyanate') + .itemInputs('2x #tfg:mineral_rich_wool', 'tfg:aes_compressed_wool', '27x #forge:dusts/methylene_diphenyl_diisocyanate') .inputFluids(Fluid.of('gtceu:diethylenetriamine', 250), Fluid.of('gtceu:acetone', 1000)) .itemOutputs('tfg:aes_polyurethane') .duration(80) @@ -1119,7 +1119,7 @@ function registerTFGMiscellaneousRecipes(event) { //Aerogel event.recipes.gtceu.chemical_reactor('tfg:tmos_synthesis') .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 2000)) - .itemInputs('#forge:dusts/silicon_dioxide') + .itemInputs('3x #forge:dusts/silicon_dioxide') .notConsumable('#forge:small_dusts/potassium_hydroxide') .outputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:carbon_dioxide', 2000)) .duration(100) @@ -1127,7 +1127,7 @@ function registerTFGMiscellaneousRecipes(event) { event.recipes.gtceu.chemical_reactor('tfg:tmos_hydrolysis') .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:distilled_water', 2000)) .outputFluids(Fluid.of('gtceu:methanol', 4000)) - .itemOutputs('#forge:dusts/silicon_dioxide') + .itemOutputs('3x #forge:dusts/silicon_dioxide') .duration(100) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.large_chemical_reactor('tfg:silica_gel_synthesis') From ed6365bc3cf2724615a3715d0374025ec7df4353 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 13:40:49 +0000 Subject: [PATCH 160/628] quests and langs --- .../chapters/applied_energistics_2.snbt | 19 ++- .../quests/chapters/ev__extreme_voltage.snbt | 6 + .../quests/chapters/hv__high_voltage.snbt | 69 +++++++- .../quests/chapters/lv__low_voltage.snbt | 156 ++++++++++++------ .../quests/chapters/mv__medium_voltage.snbt | 70 ++++---- .../quests/chapters/questsmetallurgy.snbt | 6 + .../quests/chapters/tips__tools.snbt | 2 +- .../quests/chapters/tips__transportation.snbt | 18 +- config/ftbquests/quests/data.snbt | 1 + kubejs/assets/greate/lang/ja_jp.json | 48 +++--- kubejs/assets/tfg/lang/en_us.json | 21 ++- kubejs/assets/tfg/lang/fr_fr.json | 4 +- kubejs/assets/tfg/lang/ja_jp.json | 10 +- kubejs/assets/tfg/lang/pt_br.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 2 +- kubejs/assets/tfg/lang/uk_ua.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 2 +- 17 files changed, 285 insertions(+), 153 deletions(-) diff --git a/config/ftbquests/quests/chapters/applied_energistics_2.snbt b/config/ftbquests/quests/chapters/applied_energistics_2.snbt index abf33fc22..cbf9211a4 100644 --- a/config/ftbquests/quests/chapters/applied_energistics_2.snbt +++ b/config/ftbquests/quests/chapters/applied_energistics_2.snbt @@ -234,6 +234,7 @@ can_repeat: true dependencies: ["0C0B09D66D0CFFBA"] description: ["{quests.ae2.ae_guide.desc}"] + icon: "ae2:guide" id: "6CF08AFB924905F0" rewards: [{ id: "34825A998EA88DB4" @@ -538,13 +539,13 @@ { dependencies: ["6CF08AFB924905F0"] description: ["{quests.ae2.iv.desc}"] + icon: "tfg:iv_universal_circuit" icon_scale: 2.0d id: "0F1104DEEB22EF86" size: 1.0d tasks: [{ - id: "0D58947010553DE2" - item: "tfg:iv_universal_circuit" - type: "item" + id: "6D9B9EAFE680B768" + type: "checkmark" }] title: "{quests.ae2.iv.title}" x: 3.0d @@ -638,13 +639,13 @@ { dependencies: ["6CF08AFB924905F0"] description: ["{quests.ae2.luv.desc}"] + icon: "tfg:luv_universal_circuit" icon_scale: 2.0d id: "1F3621FABA32DC6B" size: 1.0d tasks: [{ - id: "54E60091BA319CB6" - item: "tfg:luv_universal_circuit" - type: "item" + id: "4CE3EF0D1FAC1B6C" + type: "checkmark" }] title: "{quests.ae2.luv.title}" x: 0.5d @@ -705,13 +706,13 @@ { dependencies: ["6CF08AFB924905F0"] description: ["{quests.ae2.hv.desc}"] + icon: "tfg:hv_universal_circuit" icon_scale: 2.0d id: "3C3C21482E31267B" size: 1.0d tasks: [{ - id: "59184C16CD8F51C6" - item: "tfg:hv_universal_circuit" - type: "item" + id: "1D4A01B75676146B" + type: "checkmark" }] title: "{quests.ae2.hv.title}" x: 0.5d diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index c0da537f7..383cb978e 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -55,6 +55,12 @@ x: 4.5d y: 5.5d } + { + id: "7B380A243C2C39FA" + linked_quest: "13F2929C1C303A0B" + x: 0.5d + y: -3.0d + } ] quests: [ { diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 2c623efdf..adf6bbf82 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -33,6 +33,12 @@ x: 13.0d y: -6.0d } + { + id: "4A902B3F8AE331AC" + linked_quest: "5D188F6C46EA9ED0" + x: -6.0d + y: -3.0d + } ] quests: [ { @@ -835,7 +841,6 @@ "{@pagebreak}" "{quests.high_voltage.hv_macerator.desc.2}" ] - icon: "gtceu:hv_macerator" id: "6B7762F672BAE76F" shape: "octagon" size: 1.5d @@ -1529,14 +1534,15 @@ type: "item" }] title: "{quests.high_voltage.wand.title}" - x: 13.0d - y: -8.0d + x: 14.5d + y: -7.5d } { dependencies: ["396E85A39FF414CF"] description: ["{quests.high_voltage.hypertubes.desc}"] id: "159A0DAEE55DCAC0" optional: true + shape: "heart" subtitle: "{quests.high_voltage.hypertubes.subtitle}" tasks: [ { @@ -1554,6 +1560,63 @@ x: 11.5d y: -7.5d } + { + dependencies: ["16B735F9C391D260"] + description: [ + "{quests.medium_voltage.mv_long_pipe.desc.1}" + "{@pagebreak}" + "{quests.medium_voltage.mv_long_pipe.desc.2}" + ] + icon: "gtceu:long_distance_fluid_pipeline_endpoint" + id: "0015BD8AA5A517D1" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.medium_voltage.mv_long_pipe.subtitle}" + tasks: [ + { + count: 2L + id: "7C8964FAF91C1529" + item: "gtceu:long_distance_fluid_pipeline_endpoint" + type: "item" + } + { + id: "48937E331D0184E7" + item: "gtceu:long_distance_fluid_pipeline" + type: "item" + } + ] + title: "{quests.medium_voltage.mv_long_pipe.title}" + x: 5.0d + y: -8.0d + } + { + dependencies: ["7FA0ACB7F161F378"] + description: ["{quests.high_voltage.titanium_greate.desc}"] + id: "04799A40C5910B3F" + optional: true + shape: "heart" + tasks: [ + { + id: "5B94BB35A8480214" + item: "greate:titanium_cogwheel" + type: "item" + } + { + id: "0C95EDF964B17ED6" + item: "greate:large_titanium_cogwheel" + type: "item" + } + { + id: "2E602B31550041B9" + item: "greate:titanium_shaft" + type: "item" + } + ] + title: "{quests.high_voltage.titanium_greate.title}" + x: -6.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 1cfca348e..f39df25dc 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -14,14 +14,22 @@ y: 7.0d }] order_index: 0 - quest_links: [{ - id: "13EDC87034A162DE" - linked_quest: "2CDB9778C7A30044" - shape: "octagon" - size: 2.0d - x: 4.0d - y: 7.0d - }] + quest_links: [ + { + id: "13EDC87034A162DE" + linked_quest: "2CDB9778C7A30044" + shape: "octagon" + size: 2.0d + x: 4.0d + y: 7.0d + } + { + id: "0EA7766FE6845121" + linked_quest: "0FFBB6177DEB0A23" + x: -8.5d + y: 10.5d + } + ] quests: [ { dependencies: ["2F7617C0C4B330DE"] @@ -160,7 +168,7 @@ }] title: "{quests.low_voltage.aluminium_ingot.title}" x: -10.0d - y: 9.75d + y: 10.5d } { dependencies: [ @@ -242,7 +250,7 @@ type: "checkmark" }] title: "{quests.low_voltage.machine_auto_output_behaviour.title}" - x: -4.0d + x: -3.5d y: 1.5d } { @@ -271,7 +279,7 @@ type: "item" }] title: "{quests.low_voltage.lv_wiremill.title}" - x: -3.0d + x: -2.5d y: 0.5d } { @@ -296,7 +304,7 @@ type: "item" }] title: "{quests.low_voltage.lv_bender.title}" - x: -3.0d + x: -2.5d y: 2.5d } { @@ -322,7 +330,7 @@ type: "item" }] title: "{quests.low_voltage.lv_lathe.title}" - x: -3.0d + x: -2.5d y: 1.5d } { @@ -338,7 +346,7 @@ }] title: "{quests.low_voltage.lv_polariser.title}" x: 4.5d - y: 1.5d + y: -0.5d } { dependencies: ["6E186F9C57155BFA"] @@ -381,8 +389,8 @@ type: "item" }] title: "{quests.low_voltage.lv_superconductor.title}" - x: -12.0d - y: 6.5d + x: -11.5d + y: 7.5d } { dependencies: ["701BCADAE5CF6CA5"] @@ -428,7 +436,7 @@ type: "checkmark" }] title: "{quests.low_voltage.programmed_circuits.title}" - x: -5.0d + x: -4.5d y: 1.5d } { @@ -532,7 +540,7 @@ }] title: "{quests.low_voltage.lv_ebf.title}" x: -10.0d - y: 6.5d + y: 7.5d } { dependencies: ["22510C5F2386B453"] @@ -583,8 +591,8 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_solidifier.title}" - x: -8.0d - y: 4.0d + x: -7.5d + y: 3.5d } { dependencies: [ @@ -636,7 +644,7 @@ }] title: "{quests.low_voltage.cupronickel_coil.title}" x: -8.5d - y: 6.5d + y: 7.5d } { dependencies: ["22510C5F2386B453"] @@ -663,8 +671,7 @@ ] icon: "gtceu:lv_chemical_reactor" id: "3D98819A799D2E64" - shape: "octagon" - size: 2.0d + size: 1.0d subtitle: "{quests.low_voltage.lv_chemical_reactor.subtitle}" tasks: [ { @@ -686,8 +693,8 @@ } ] title: "{quests.low_voltage.lv_chemical_reactor.title}" - x: -8.0d - y: 2.0d + x: -6.5d + y: 3.5d } { dependencies: ["10ECB471A77F5136"] @@ -708,7 +715,7 @@ type: "item" }] title: "{quests.low_voltage.universal_cell.title}" - x: -4.0d + x: -3.5d y: 2.5d } { @@ -733,14 +740,14 @@ } ] title: "{quests.low_voltage.mold_rotor.title}" - x: -9.0d - y: 4.0d + x: -8.5d + y: 3.5d } { dependencies: ["5B891BA4897FD73C"] dependency_requirement: "one_completed" description: ["{quests.low_voltage.soldering_alloy.desc}"] - icon: "gtceu:soldering_alloy_ingot" + icon: "gtceu:soldering_alloy_dust" id: "713C8D6A20BF3A0E" shape: "square" size: 1.0d @@ -799,7 +806,7 @@ type: "item" }] title: "{quests.low_voltage.lv_cutter.title}" - x: -3.0d + x: -2.5d y: -0.5d } { @@ -839,8 +846,8 @@ type: "item" }] title: "{quests.low_voltage.lv_sprayer.title}" - x: 5.75d - y: -0.5d + x: 5.5d + y: 1.5d } { dependencies: ["22510C5F2386B453"] @@ -870,8 +877,7 @@ "{quests.low_voltage.lv_extractor.desc.2}" ] id: "5B2696206205CB2E" - shape: "octagon" - size: 2.0d + size: 1.0d subtitle: "{quests.low_voltage.lv_extractor.subtitle}" tasks: [{ id: "5CD363C839475426" @@ -879,7 +885,7 @@ type: "item" }] title: "{quests.low_voltage.lv_extractor.title}" - x: -5.5d + x: -6.5d y: 4.5d } { @@ -910,8 +916,7 @@ "{quests.low_voltage.lv_arc_furnace.desc.2}" ] id: "63256ED95F17B242" - shape: "octagon" - size: 2.0d + size: 1.0d subtitle: "{quests.low_voltage.lv_arc_furnace.subtitle}" tasks: [{ id: "2374C06C5E1EFC24" @@ -920,7 +925,7 @@ }] title: "{quests.low_voltage.lv_arc_furnace.title}" x: -4.0d - y: 12.5d + y: 11.5d } { dependencies: [ @@ -1082,7 +1087,7 @@ }] title: "{quests.low_voltage.aluminium_dust.title}" x: -10.0d - y: 8.0d + y: 9.0d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1154,7 +1159,7 @@ ] title: "{quests.low_voltage.multiblock_tech.title}" x: -10.0d - y: 4.5d + y: 5.5d } { dependencies: ["22510C5F2386B453"] @@ -1189,7 +1194,7 @@ y: 3.5d } { - dependencies: ["22510C5F2386B453"] + dependencies: ["3E6DC423FE4A99F7"] description: ["{quests.low_voltage.lv_turbo_charge.desc}"] icon: "gtceu:lv_charger_4x" id: "2DB259568F347C0E" @@ -1213,8 +1218,8 @@ type: "item" }] title: "{quests.low_voltage.lv_turbo_charge.title}" - x: 4.5d - y: 2.5d + x: 8.0d + y: -0.5d } { dependencies: ["22510C5F2386B453"] @@ -1242,7 +1247,7 @@ }] title: "{quests.low_voltage.lv_fisher.title}" x: 4.5d - y: -0.5d + y: 2.5d } { dependencies: ["22510C5F2386B453"] @@ -1359,8 +1364,8 @@ } ] title: "{quests.low_voltage.mold_plate.title}" - x: -8.0d - y: 5.0d + x: -7.5d + y: 2.5d } { dependencies: ["3E6DC423FE4A99F7"] @@ -1514,13 +1519,16 @@ } { dependencies: ["2CDB9778C7A30044"] - description: ["{ \"text\": \"{quests.low_voltage.link_chapter.desc}\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }"] + description: [ + "{quests.low_voltage.link_chapter.desc}:" + "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }" + ] id: "7FA1525D681C4B4A" shape: "none" subtitle: "{quests.low_voltage.link_chapter.subtitle}" tasks: [{ id: "346E50625B8B1133" - title: "I read it" + title: "{quests.low_voltage.link_chapter.task}" type: "checkmark" }] title: "{quests.low_voltage.link_chapter.title}" @@ -1589,8 +1597,56 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_ingot.title}" - x: -6.5d - y: 6.5d + x: -8.5d + y: 8.5d + } + { + dependencies: ["7567E885B7166603"] + description: ["{quests.low_voltage.aluminium_greate.desc}"] + id: "1354904154948913" + optional: true + shape: "heart" + subtitle: "{quests.low_voltage.aluminium_greate.subtitle}" + tasks: [ + { + id: "1483488F0E301BCC" + item: "greate:aluminium_cogwheel" + type: "item" + } + { + id: "2E64EF18DC263002" + item: "greate:large_aluminium_cogwheel" + type: "item" + } + { + id: "32C96E141753187B" + item: "greate:aluminium_shaft" + type: "item" + } + ] + title: "{quests.low_voltage.aluminium_greate.title}" + x: -11.5d + y: 10.5d + } + { + dependencies: [ + "5263F866638D875C" + "3D98819A799D2E64" + ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.oil.desc}"] + hide_dependency_lines: true + icon: "gtceu:oil_bucket" + id: "2CEE3C0972650C81" + shape: "heart" + subtitle: "{quests.low_voltage.oil.subtitle}" + tasks: [{ + id: "49FCAF88F47BE37E" + type: "checkmark" + }] + title: "{quests.low_voltage.oil.title}" + x: 7.5d + y: 4.5d } ] subtitle: ["{quests.low_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index a8718d681..3cfa63777 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -403,7 +403,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lp_steam_miner)item(gtceu:hp_steam_miner)item(gtceu:lv_miner)item(gtceu:mv_miner)item(gtceu:hv_miner))" + "ftbfiltersystem:filter": "or(item(gtceu:hp_steam_miner)item(gtceu:lv_miner)item(gtceu:mv_miner)item(gtceu:hv_miner))" } } title: "{quests.medium_voltage.mv_miner.task}" @@ -755,8 +755,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_inductor.title}" - x: -5.0d - y: 16.5d + x: -10.5d + y: 12.0d } { dependencies: ["6BB98D128822730E"] @@ -807,8 +807,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_pvc.title}" - x: -5.0d - y: 11.0d + x: -9.5d + y: 12.0d } { dependencies: [ @@ -1307,36 +1307,6 @@ x: 5.5d y: 10.0d } - { - dependencies: ["45449ECE4F8128E7"] - description: [ - "{quests.medium_voltage.mv_long_pipe.desc.1}" - "{@pagebreak}" - "{quests.medium_voltage.mv_long_pipe.desc.2}" - ] - icon: "gtceu:long_distance_fluid_pipeline_endpoint" - id: "5480AF2EDEDB6A36" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.medium_voltage.mv_long_pipe.subtitle}" - tasks: [ - { - count: 2L - id: "6D77664884690FB4" - item: "gtceu:long_distance_fluid_pipeline_endpoint" - type: "item" - } - { - id: "01F1E774C67ED4AF" - item: "gtceu:long_distance_fluid_pipeline" - type: "item" - } - ] - title: "{quests.medium_voltage.mv_long_pipe.title}" - x: -10.0d - y: -6.5d - } { dependencies: ["45769156F4253C86"] dependency_requirement: "one_completed" @@ -1475,7 +1445,7 @@ }] title: "{quests.medium_voltage.mv_seawater.title}" x: -10.0d - y: -5.0d + y: -4.5d } { dependencies: ["583D0CC4FAA4FC98"] @@ -1668,6 +1638,34 @@ x: -8.0d y: -2.0d } + { + dependencies: ["16A6AE5C770DB83A"] + description: ["{quests.medium_voltage.stainless_greate.desc}"] + id: "6602AE559D49CE65" + optional: true + shape: "heart" + subtitle: "{quests.medium_voltage.stainless_greate.subtitle}" + tasks: [ + { + id: "53919EE5BCCA618A" + item: "greate:stainless_steel_cogwheel" + type: "item" + } + { + id: "2C8FD46F69EA05B0" + item: "greate:large_stainless_steel_cogwheel" + type: "item" + } + { + id: "6DF7F28AABF6785F" + item: "greate:stainless_steel_shaft" + type: "item" + } + ] + title: "{quests.medium_voltage.stainless_greate.title}" + x: 0.5d + y: 6.75d + } ] subtitle: ["{quests.medium_voltage.subtitle}"] title: "{quests.medium_voltage}" diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 21a852cfc..5b8e901f7 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -53,6 +53,12 @@ x: 9.0d y: -34.0d } + { + id: "3249AB9EB552BB77" + linked_quest: "4B79026C8D2DACC4" + x: 20.5d + y: -28.0d + } ] quests: [ { diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 47128819c..4ba243bc4 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -84,7 +84,7 @@ { dependencies: [ "125563A12EE5C296" - "5792DDAA82895E67" + "5088768AAA28FCBA" ] description: ["{quests.tfg_tips.red_steel_backpack.desc}"] id: "4B79026C8D2DACC4" diff --git a/config/ftbquests/quests/chapters/tips__transportation.snbt b/config/ftbquests/quests/chapters/tips__transportation.snbt index 6457173bb..297431706 100644 --- a/config/ftbquests/quests/chapters/tips__transportation.snbt +++ b/config/ftbquests/quests/chapters/tips__transportation.snbt @@ -1463,19 +1463,6 @@ { dependencies: ["1594C2564FC7982D"] description: ["{quests.tfg_tips.horseshoes.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "sns:metal/horseshoes/steel" - tag: { - Damage: 0 - } - } id: "40566F6665A095C6" subtitle: "{quests.tfg_tips.horseshoes.subtitle}" tasks: [{ @@ -1515,7 +1502,10 @@ y: 0.5d } { - dependencies: ["05528D09F7EE6E33"] + dependencies: [ + "05528D09F7EE6E33" + "63CD0236B337EAAD" + ] description: ["{quests.tfg_tips.transportation_tips.rnr_plow.desc}"] guide_page: "tfc:field_guide tfc:roadsandroofs/paving_cart 0" id: "533F32CCAD9D5B51" diff --git a/config/ftbquests/quests/data.snbt b/config/ftbquests/quests/data.snbt index fa4943b41..dfec4b189 100644 --- a/config/ftbquests/quests/data.snbt +++ b/config/ftbquests/quests/data.snbt @@ -10,6 +10,7 @@ drop_loot_crates: false emergency_items_cooldown: 300 grid_scale: 0.5d + hide_excluded_quests: false icon: "tfg:terra_firma_greg" lock_message: "e" loot_crate_no_drop: { diff --git a/kubejs/assets/greate/lang/ja_jp.json b/kubejs/assets/greate/lang/ja_jp.json index 3e2df87dd..1a922e2fa 100644 --- a/kubejs/assets/greate/lang/ja_jp.json +++ b/kubejs/assets/greate/lang/ja_jp.json @@ -33,7 +33,7 @@ "block.greate.brass_encased_large_aluminium_cogwheel": "真鍮ケース入り大きなアルミニウム製歯車", "block.greate.brass_encased_large_darmstadtium_cogwheel": "真鍮大きなダームスタチウムケース入り歯車", "block.greate.brass_encased_large_naquadah_alloy_cogwheel": "真鍮大きなナクアダ合金ケース入り歯車", - "block.greate.brass_encased_large_neutronium_cogwheel": "真鍮大きな中子素ケース入り歯車", + "block.greate.brass_encased_large_neutronium_cogwheel": "真鍮大きなニュートロニウム製ケース入り歯車", "block.greate.brass_encased_large_rhodium_plated_palladium_cogwheel": "真鍮大きなロジウムケース入り歯車", "block.greate.brass_encased_large_stainless_steel_cogwheel": "真鍮ケース入り大きなステンレス製歯車", "block.greate.brass_encased_large_steel_cogwheel": "真鍮大きなケース入り歯車", @@ -41,8 +41,8 @@ "block.greate.brass_encased_large_tungsten_steel_cogwheel": "真鍮ケース入り大きなタングステンスチール歯車", "block.greate.brass_encased_naquadah_alloy_cogwheel": "真鍮ナクアダ合金ケース入り歯車", "block.greate.brass_encased_naquadah_alloy_shaft": "真鍮ナクアダ合金ケース入りシャフト", - "block.greate.brass_encased_neutronium_cogwheel": "真鍮中子素ケース入り歯車", - "block.greate.brass_encased_neutronium_shaft": "真鍮中子素ケース入りシャフト", + "block.greate.brass_encased_neutronium_cogwheel": "真鍮ニュートロニウム製ケース入り歯車", + "block.greate.brass_encased_neutronium_shaft": "真鍮ニュートロニウム製ケース入りシャフト", "block.greate.brass_encased_rhodium_plated_palladium_cogwheel": "真鍮ロジウムケース入り歯車", "block.greate.brass_encased_rhodium_plated_palladium_shaft": "真鍮ロジウムケース入りシャフト", "block.greate.brass_encased_stainless_steel_cogwheel": "真鍮ケース入りステンレス製歯車", @@ -67,7 +67,7 @@ "block.greate.large_aluminium_cogwheel": "大きなアルミニウム製歯車", "block.greate.large_darmstadtium_cogwheel": "大きなダームスタチウム歯車", "block.greate.large_naquadah_alloy_cogwheel": "大きなナクアダ合金歯車", - "block.greate.large_neutronium_cogwheel": "大きな中子素歯車", + "block.greate.large_neutronium_cogwheel": "大きなニュートロニウム製歯車", "block.greate.large_rhodium_plated_palladium_cogwheel": "大きなロジウム歯車", "block.greate.large_stainless_steel_cogwheel": "大きなステンレス製歯車", "block.greate.large_steel_cogwheel": "大きなスチール製歯車", @@ -76,7 +76,7 @@ "block.greate.metal_girder_encased_aluminium_shaft": "鉄骨入りアルミニウム製シャフト", "block.greate.metal_girder_encased_darmstadtium_shaft": "鉄骨入りダームスタチウムシャフト", "block.greate.metal_girder_encased_naquadah_alloy_shaft": "鉄骨入りナクアダ合金シャフト", - "block.greate.metal_girder_encased_neutronium_shaft": "鉄骨入り中子素シャフト", + "block.greate.metal_girder_encased_neutronium_shaft": "鉄骨入りニュートロニウム製シャフト", "block.greate.metal_girder_encased_rhodium_plated_palladium_shaft": "鉄骨入りロジウムシャフト", "block.greate.metal_girder_encased_stainless_steel_shaft": "鉄骨入りステンレス製シャフト", "block.greate.metal_girder_encased_steel_shaft": "鉄骨入りスチール製シャフト", @@ -93,25 +93,25 @@ "block.greate.naquadah_alloy_mechanical_saw": "ナクアダ合金メカニカルソー", "block.greate.naquadah_alloy_millstone": "ナクアダ合金石臼", "block.greate.naquadah_alloy_shaft": "ナクアダ合金シャフト", - "block.greate.neutronium_cogwheel": "中子素歯車", - "block.greate.neutronium_crushing_wheel": "中子素破砕ホイール", - "block.greate.neutronium_crushing_wheel_controller": "中子素破砕ホイールコントローラー", - "block.greate.neutronium_encased_fan": "中子素ケース入りファン", - "block.greate.neutronium_gearbox": "中子素ギアボックス", - "block.greate.neutronium_mechanical_mixer": "中子素メカニカルミキサー", - "block.greate.neutronium_mechanical_press": "中子素メカニカルプレス", - "block.greate.neutronium_mechanical_pump": "中子素メカニカルポンプ", - "block.greate.neutronium_mechanical_saw": "中子素メカニカルソー", - "block.greate.neutronium_millstone": "中子素石臼", - "block.greate.neutronium_shaft": "中子素シャフト", - "block.greate.polybenzimidazole_belt_darmstadtium": "聚苯并咪唑传送带", - "block.greate.polybenzimidazole_belt_neutronium": "聚苯并咪唑传送带", - "block.greate.polytetrafluoroethylene_belt_naquadah_alloy": "聚四氟乙烯传送带", - "block.greate.polytetrafluoroethylene_belt_rhodium_plated_palladium": "聚四氟乙烯传送带", + "block.greate.neutronium_cogwheel": "ニュートロニウム製歯車", + "block.greate.neutronium_crushing_wheel": "ニュートロニウム製破砕ホイール", + "block.greate.neutronium_crushing_wheel_controller": "ニュートロニウム製破砕ホイールコントローラー", + "block.greate.neutronium_encased_fan": "ニュートロニウム製ケース入りファン", + "block.greate.neutronium_gearbox": "ニュートロニウム製ギアボックス", + "block.greate.neutronium_mechanical_mixer": "ニュートロニウム製メカニカルミキサー", + "block.greate.neutronium_mechanical_press": "ニュートロニウム製メカニカルプレス", + "block.greate.neutronium_mechanical_pump": "ニュートロニウム製メカニカルポンプ", + "block.greate.neutronium_mechanical_saw": "ニュートロニウム製メカニカルソー", + "block.greate.neutronium_millstone": "ニュートロニウム製石臼", + "block.greate.neutronium_shaft": "ニュートロニウム製シャフト", + "block.greate.polybenzimidazole_belt_darmstadtium": "ポリベンズイミダゾールベルト", + "block.greate.polybenzimidazole_belt_neutronium": "ポリベンズイミダゾールベルト", + "block.greate.polytetrafluoroethylene_belt_naquadah_alloy": "PTFEベルト", + "block.greate.polytetrafluoroethylene_belt_rhodium_plated_palladium": "PTFEベルト", "block.greate.powered_aluminium_shaft": "アルミニウム製動力シャフト", "block.greate.powered_darmstadtium_shaft": "ダームスタチウム動力シャフト", "block.greate.powered_naquadah_alloy_shaft": "ナクアダ合金動力シャフト", - "block.greate.powered_neutronium_shaft": "中子素動力シャフト", + "block.greate.powered_neutronium_shaft": "ニュートロニウム製動力シャフト", "block.greate.powered_rhodium_plated_palladium_shaft": "ロジウム動力シャフト", "block.greate.powered_stainless_steel_shaft": "ステンレス製動力シャフト", "block.greate.powered_steel_shaft": "スチール製動力シャフト", @@ -180,9 +180,9 @@ "item.greate.aluminium_vertical_gearbox": "アルミニウム製垂直ギアボックス", "item.greate.darmstadtium_vertical_gearbox": "ダームスタチウム垂直ギアボックス", "item.greate.naquadah_alloy_vertical_gearbox": "ナクアダ合金垂直ギアボックス", - "item.greate.neutronium_vertical_gearbox": "中子素垂直ギアボックス", - "item.greate.polybenzimidazole_belt_connector": "聚苯并咪唑传送带", - "item.greate.polytetrafluoroethylene_belt_connector": "聚四氟乙烯传送带", + "item.greate.neutronium_vertical_gearbox": "ニュートロニウム製垂直ギアボックス", + "item.greate.polybenzimidazole_belt_connector": "ポリベンズイミダゾールベルト", + "item.greate.polytetrafluoroethylene_belt_connector": "PTFEベルト", "item.greate.rhodium_plated_palladium_vertical_gearbox": "ロジウム垂直ギアボックス", "item.greate.stainless_steel_vertical_gearbox": "ステンレス製垂直ギアボックス", "item.greate.steel_vertical_gearbox": "スチール製垂直ギアボックス", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ea3c3a469..2d2973dce 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2475,6 +2475,8 @@ "quests.high_voltage.final_dust.title": "Infinite Dusts", "quests.high_voltage.final_dust.subtitle": "Finally infinite resources", "quests.high_voltage.final_dust.desc": "This is all the &cinfinite resources&r you can obtain on the &7Moon&r before unlocking the more advanced processing available on &eVenus&r.\n\nWith these, you should have everything you need to keep progressing through &dGregTech&r — especially to secure the &amaintenance&r of your Moon Base.\n\nThese resources are essential for:\n• Crafting &dAE2 components&r\n• Producing an &cinfinite&r supply of &6Railgun Ammo&r\n\nPassive automation is now within your reach — take the step and make it happen!", + "quests.high_voltage.titanium_greate.title": "Titanium-tier Greate", + "quests.high_voltage.titanium_greate.desc": "This is the final tier of Greate that's accessible in TerraFirmaGreg. The only \"extreme\" it's doing is being extremely optional.", "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", @@ -2506,7 +2508,7 @@ "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.task": "Read it", + "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", "quests.low_voltage.lv_combuston_gen.desc": "The &7LV Combustion Generator&r may be a bit more expensive to craft compared to other generators, but its fuels carry a lot of energy. This makes it easier to move, or if you need to power a generator far from your base, a drum filled with &2Bio Diesel&r can transport a large amount of EU.\n\nLike other &7LV Generators&r, it produces &a32 EU/t&r.", @@ -2686,7 +2688,7 @@ "quests.low_voltage.lv_nitrogen.task": "Nitrogen", "quests.low_voltage.lv_arc_furnace.title": "The Arc Furnace", "quests.low_voltage.lv_arc_furnace.subtitle": "The Arc Furnace has never been so good", - "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r for cheaper electronic components. It's also your new best way to make &4Red Steel&r and &1Blue Steel&r Ingots!\n\nIt can also recycle various components and machines back to their original materials.", + "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r for cheaper electronic components.\n\nIt can also recycle various components and machines back to their original materials.", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Lore:&r&o Previous GregTech versions had both the Arc Furnace and the &bPlasma Arc Furnace&f. In that case, why not use one machine for both? Well, that's exactly what we thought - but we ultimately decided to remove one of the two &bplasma&f recipes. And then the other &bplasma&f recipe.\n\n&oIn short, the &bPlasma Arc Furnace&f is &4gone&f. RIP.", "quests.low_voltage.lv_extractor.title": "Basic Liquid Extraction", "quests.low_voltage.lv_extractor.subtitle": "The Extractor extracts...", @@ -2708,7 +2710,7 @@ "quests.low_voltage.mold_plate.desc": "Stop wasting your time with your &6Alloy Smelter&r. You're gonna need a lot of &6Rubber Sheets&r, and later on you will also use it for other kinds of plastics.\n\nYou may think you can use the Extruder to make rubber sheets instead, but the &6Fluid Solidifier&r can do so much more, while the Extruder is pretty useless until &bMV&r.", "quests.low_voltage.cupronickel_ingot.title": "Cupronickel Ingots", "quests.low_voltage.cupronickel_ingot.subtitle": "It's an alloy", - "quests.low_voltage.cupronickel_ingot.desc": "&7A big part of progression in GregTech revolves around gaining access to new materials\nthat you'll use to upgrade your machines or unlock advanced components.&r\n\nThe first alloy you'll encounter is &bCupronickel&r — the beginning of a long journey.\nThis material is used to upgrade your &6Electric Blast Furnace&r, an essential step in your industrial growth.\n\nLuckily, this first step is fairly simple: a basic &7LV Alloy Smelter&r 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_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", @@ -2737,6 +2739,12 @@ "quests.low_voltage.mv_hull.subtitle": "This is going quite well, only 7 to go!", "quests.low_voltage.mv_hull.desc1": "Good job, you now have your &bMV Machine Hull&r, your first &bMV Circuit&r and your first &6Circuit Assembler&r.\n\nThis is the gist of &6GregTech&r, every tier you are going to make new &6machines&r using new &6materials&r and &6chemicals&r. You are going to have &5so much fun&r, we are kinda jealous!", "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.oil.title": "Found Oil early?", + "quests.low_voltage.oil.subtitle": "For LV overachievers", + "quests.low_voltage.oil.desc": "If you've found any Oilsands or Oil spouts 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.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!", @@ -2981,6 +2989,9 @@ "quests.medium_voltage.lsb.title": "Getting very steamy", "quests.medium_voltage.lsb.subtitle": "If you have unlimited fuel, it can still be good", "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d1800 mB/t of Steam&r.\n\nWe'd recommend you try other power options at this point.", + "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.metal_age": "Metallurgy Age", "quests.metal_age.subtitle": "Your First Technological Advancements.", "quests.metal_age.weld_bronze_ingots.title": "Welding Bronze", @@ -3593,7 +3604,7 @@ "quests.steam_age.lathe.desc": "The &3Belt Grinder&r can automatically turn a single ingot into two rods, single bolts into screws, polish gems, and a few other things. If you're needing a lot of rods and screws, and you will be, this machine will be a good investment.", "quests.steam_age.steel_saw.title": "Steel Mechanical Saw", "quests.steam_age.steel_saw.subtitle": "A stonecutter and LV Cutter in one!", - "quests.steam_age.steel_saw.desc": "It's an upgrade to your Basic Mechanical Saw that can also process some metal recipes, like turning rods into four bolts, and cutting blocks into plates. These recipes will all require a fluid to work, but you can just use water for now.\n\nYou can also use this for cheaper Rubber Sheets, if you first use an Alloy Smelter to turn your pulp into a block.", + "quests.steam_age.steel_saw.desc": "It's an upgrade to your Basic Mechanical Saw that can also process some metal recipes, like turning rods into four bolts, and cutting blocks into plates. These recipes will all require a fluid to work, but you can just use water for now.\n\nYou can also use this for cheaper Rubber Sheets, if you first use an Alloy Smelter to turn your pulp into a block.\n\nHaven't made Cobalt Brass before? You can either alloy it in a Crucible using anything that melts into Aluminium Silicate, or use a Mixer with Aluminium Dust from ore processing.", "quests.steam_age.rolling_mill.title": "Rolling Mill", "quests.steam_age.rolling_mill.subtitle": "The other half of the LV Bender", "quests.steam_age.rolling_mill.desc.1": "Of all the steam age machines you could make, the &3Rolling Mill&r is one of the best, for the simple reason that it makes single plates out of single ingots. It can also make thin sheets cheaper than by hand, as a bonus!", @@ -3887,7 +3898,7 @@ "quests.tfg_tips.red_steel_backpack.title": "Red Steel Backpack", "quests.tfg_tips.red_steel_backpack.subtitle": "Cooler than a Blue Steel Backpack", "quests.tfg_tips.red_steel_backpack.desc": "A &4Red Steel Backpack&r is your first proper backpack inventory upgrade. It has a total slot count of &c54&r and can hold &atwo upgrades.&r", - "quests.tfg_tips.aluminium_backpack.title": "Aluminium Steel Backpack", + "quests.tfg_tips.aluminium_backpack.title": "Aluminium Backpack", "quests.tfg_tips.aluminium_backpack.subtitle": "Is it Aluminum or Aluminium?", "quests.tfg_tips.aluminium_backpack.desc": "An &bAluminium Backpack&r is your second proper backpack inventory upgrade. It has a total slot count of &c81&r and can hold &athree upgrades.&r", "quests.tfg_tips.titanium_backpack.title": "Titanium Backpack", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 9794c241a..0396a10f5 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2238,7 +2238,7 @@ "quests.low_voltage.lv_nitrogen.task": "Nitrogen", "quests.low_voltage.lv_arc_furnace.title": "The Arc Furnace", "quests.low_voltage.lv_arc_furnace.subtitle": "The Arc Furnace has never been so good", - "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r for cheaper electronic components. It's also your new best way to make &4Red Steel&r and &1Blue Steel&r Ingots!\n\nIt can also recycle various components and machines back to their original materials.", + "quests.low_voltage.lv_arc_furnace.desc.1": "The &3Arc Furnace&r uses a lil' bit of &9Oxygen&r to smelt items in a different fashion than Furnaces.\n\nYou can use it to make easier &aWrought Iron&r, double your &aGlass&r, and gain access to &aAnnealed Copper&r for cheaper electronic components.\n\nIt can also recycle various components and machines back to their original materials.", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Lore:&r&o Previous GregTech versions had both the Arc Furnace and the &bPlasma Arc Furnace&f. In that case, why not use one machine for both? Well, that's exactly what we thought - but we ultimately decided to remove one of the two &bplasma&f recipes. And then the other &bplasma&f recipe.\n\n&oIn short, the &bPlasma Arc Furnace&f is &4gone&f. RIP.", "quests.low_voltage.lv_extractor.title": "Basic Liquid Extraction", "quests.low_voltage.lv_extractor.subtitle": "The Extractor extracts...", @@ -3353,7 +3353,7 @@ "quests.tfg_tips.red_steel_backpack.title": "Red Steel Backpack", "quests.tfg_tips.red_steel_backpack.subtitle": "Cooler than a Blue Steel Backpack", "quests.tfg_tips.red_steel_backpack.desc": "A &4Red Steel Backpack&r is your first proper backpack inventory upgrade. It has a total slot count of &c54&r and can hold &atwo upgrades.&r", - "quests.tfg_tips.aluminium_backpack.title": "Aluminium Steel Backpack", + "quests.tfg_tips.aluminium_backpack.title": "Aluminium Backpack", "quests.tfg_tips.aluminium_backpack.subtitle": "Is it Aluminum or Aluminium?", "quests.tfg_tips.aluminium_backpack.desc": "An &bAluminium Backpack&r is your second proper backpack inventory upgrade. It has a total slot count of &c81&r and can hold &athree upgrades.&r", "quests.tfg_tips.titanium_backpack.title": "Titanium Backpack", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 19b9dbe61..c141dfe89 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -2210,8 +2210,8 @@ "quests.gregtech_energy.overclock.title": "オーバークロック", "quests.gregtech_energy.overclock.subtitle": "電圧と処理時間の関係", "quests.gregtech_energy.overclock.desc.1": "「オーバークロック」ってよく聞くけど、実際どういう意味なのか分からないですか? それなら、ここでしっかり勉強しておきましょう。\n\n基礎知識:\n&dLV&rは最大で32EU/tです。状況によってはそれ以下になることもありますが、超えることはありません。\n&dMV&rは128EU/t、\n&dHV&rは512EU/tまで出力できます。\nつまり、電圧のティアが1段階上がるごとに必要な電力はおよそ4倍になる、という仕組みです。", - "quests.gregtech_energy.overclock.desc.2": "下位電圧のレシピを上位電圧の機械で動かすとどうなるでしょう?\nそれが、いわゆる&eオーバークロック&rです!\n\n例えば、&dMV&rレシピ(33〜128EU/t)を&dHV&r機械で処理すると、消費電力は4倍、速度は2倍になります。\n\n同じMVレシピを&dEV&r機械で動かすと、消費電力は8倍にもなるのに、速度は4倍しか上がりません。\n\nつまり、電力効率の面では、1台をオーバークロックするよりも複数の機械を動かした方が得なのです。\nとはいえ、現実的には同じ機械を大量に並べるより、オーバークロックしてスピードアップする方が便利なことが多いと思います。\n\nエネルギーが貴重な序盤のうちは、この仕組みを理解しておいた方がよいでしょう。", - "quests.gregtech_energy.overclock.desc.3": " 特定の大型機械だけが持つ特別な機能、それが&eパーフェクトオーバークロック&r(通称:POC)です。\n通常のオーバークロックでは「4倍の電力で2倍の速度」ですが、POCでは「&a4倍の電力&rで&a4倍の速度&r」になります。つまり、複数台の機械を動かすのと同じ効率で動作するというわけです。\n\n現時点でTerraFirmaGreg内でPOCに対応している大型機械は以下の通りです:\n-工業用電気炉(EBF)\n-合金高炉(ABS)\n-回転式炉床炉(RHF)\n-大型化学反応炉(LCR)\n-電気温室", + "quests.gregtech_energy.overclock.desc.2": "下位電圧のレシピを上位電圧の機械で動かすとどうなるでしょう?\nそれが、いわゆる&eオーバークロック&rです!\n\n例えば、&dMV&rレシピ(33〜128EU/t)を&dHV&r機械で処理すると、消費電力は4倍、速度は2倍になります。\n\n同じMVレシピを&dEV&r機械で動かすと、消費電力は16倍にもなるのに、速度は4倍しか上がりません。\n\nつまり、電力効率の面では、1台をオーバークロックするよりも複数の機械を動かした方が得なのです。\nとはいえ、現実的には同じ機械を大量に並べるより、オーバークロックしてスピードアップする方が便利なことが多いと思います。\n\nエネルギーが貴重な序盤のうちは、この仕組みを理解しておいた方がよいでしょう。", + "quests.gregtech_energy.overclock.desc.3": " 特定の大型機械だけが持つ特別な機能、それが&eパーフェクトオーバークロック&r(通称:POC)です。\n通常のオーバークロックでは「4倍の電力で2倍の速度」ですが、POCでは「&a4倍の電力&rで&a4倍の速度&r」になります。つまり、複数台の機械を動かすのと同じ効率で動作するというわけです。\n\n現時点でTerraFirmaGreg内でPOCに対応している大型機械は以下の通りです:\n-工業用電気炉(EBF)...高温稼働時のみ\n-合金高炉(ABS)...高温稼働時のみ\n-回転式炉床炉(RHF)...高温稼働時のみ\n-大型化学反応炉(LCR)\n-電気温室", "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", "quests.gregtech_energy.blast_oc.title": "機械高炉の仕組みについて", "quests.gregtech_energy.blast_oc.subtitle": "完全に理解しろとは言いません", @@ -2653,7 +2653,7 @@ "quests.low_voltage.lv_nitrogen.task": "Nitrogen", "quests.low_voltage.lv_arc_furnace.title": "アーク炉", "quests.low_voltage.lv_arc_furnace.subtitle": "恐竜を飼いならそう!", - "quests.low_voltage.lv_arc_furnace.desc.1": "&3アーク炉&rは、少量の&9酸素&rを使用して、通常のかまどとは異なる方法でアイテムを精錬します。\n\nこれを使うことで、より簡単に&a錬鉄&rを作れたり、&aガラス&rを2倍多く作れたり、電子部品の大量確保のための&aなまし銅&rを精錬することができます。\nさらに、&4赤鋼&rや&1青鋼&rインゴットをさらに簡単に作ることができるようになります!\n\nまた、さまざまな部品や機械を元の素材へ分解して再利用することも可能です。", + "quests.low_voltage.lv_arc_furnace.desc.1": "&3アーク炉&rは、少量の&9酸素&rを使用して、通常のかまどとは異なる方法でアイテムを精錬します。\n\nこれを使うことで、より簡単に&a錬鉄&rを作れたり、&aガラス&rを2倍多く作れたり、電子部品の大量確保のための&aなまし銅&rを精錬することができます。\n\nまた、さまざまな部品や機械を元の素材へ分解して再利用することも可能です。", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3余談:&r&o以前のGregTechには、アーク炉と&bプラズマアーク炉&fの2種類があったんだ。でも「これは一つの機械にまとめてよくね?」って思ったらしくて...\n\n&oそうして、&bプラズマアーク炉&fは&4お亡くなりになりました&f。ご冥福をお祈りします。", "quests.low_voltage.lv_extractor.title": "基本型抽出機", "quests.low_voltage.lv_extractor.subtitle": "抽出?融解では?", @@ -3492,7 +3492,7 @@ "quests.steam_age.extractor.desc": "&3高圧蒸気式抽出機&rは、液体を抽出する性能が弱いため、&6蒸気時代&rだとまだ作れないアイテムが多くあります。", "quests.steam_age.glass_tube.title": "ガラス管", "quests.steam_age.glass_tube.subtitle": "たくさん用意しておきましょう", - "quests.steam_age.glass_tube.desc": "ガラス管はガラス吹きによって手作業で作成することもできますが、代わりに適切な金型を使用して合金製錬炉で作成する方がはるかに楽で時短になります。\n\nガラスの粉が大量に必要になります。そのためには、16枚のガラス板を一度にガラス吹きして粉砕するか、高圧蒸気式破砕機などと鍛造機を使用して大量の砂を入手し、それに少しの火打石の粉を混ぜてガラス粉に変えることができます。", + "quests.steam_age.glass_tube.desc": "ガラス管はガラス吹きによって手作業で作成することもできますが、代わりに適切な金型を使用して合金製錬炉で作成する方がはるかに楽で時短になります。\n\nガラスの粉が大量に必要になります。そのためには、16枚のガラス板を一度にガラス吹きして粉砕するのが効率的な方法です。\n\n真空管を作ってからは、破砕機と鍛造機を使って大量の砂を確保し、メカニカルミキサーで少しの火打石の粉を混ぜることでガラス粉を大量生産することができます。", "quests.steam_age.treated_planks.title": "防腐木材の板", "quests.steam_age.treated_planks.subtitle": "a.k.a防腐木材の繊維板", "quests.steam_age.treated_planks.desc": "クレオソートが残っていたらいいのですが...実は、クレオソートは防腐木材のパルプ化と、その圧縮された板を作ることにも使われるんです。\n\n&l&3余談:&r&oTerraFirmaGregの前までのバージョンだと、これがないとCreateを始められなかったんだよね!", @@ -3926,7 +3926,7 @@ "quests.tfg_tips.lava_lamp.desc": "非常に耐熱性の高い金属である&9青鋼&rを使用すると、&d青鋼のランタン&rを作成できます。これには&c溶岩&rをいれることができ、永久の光源になります。\n\nただし、溶岩が入ったランタンの取り扱いには注意してください。非常に&cHOTです...&r", "quests.tfg_tips.glowstone_lamp.title": "ランタン燃料:グロウストーン", "quests.tfg_tips.glowstone_lamp.subtitle": "最高のランタン燃料", - "quests.tfg_tips.glowstone_lamp.desc": "&dグロウストーン&rを液化するには、&7LV&r以上の機械を使う必要がありますが、&lどの素材でできたランタン&でも、&6液体グロウストーン&rを入れることで永久の光源になります。\nそして、&c溶岩&rとは異なり、これは熱くありません!", + "quests.tfg_tips.glowstone_lamp.desc": "&dグロウストーン&rを液化するには、&7LV&r以上の機械を使う必要がありますが、&lどの素材でできたランタン&rでも、&6液体グロウストーン&rを入れることで永久の光源になります。\nそして、&c溶岩&rとは異なり、これは熱くありません!", "quests.tfg_tips.charcoal_pile.title": "伏せ焼き", "quests.tfg_tips.charcoal_pile.subtitle": "重要事項です", "quests.tfg_tips.charcoal_pile.desc.1": "&a伏せ焼き&rは、初期の&d木炭&rの確保法です。\n&2TFG&rで成り上がっていくには、木炭が&o大量に&r必要になります。炉での&3精錬&rと&b錬鉄&rのための&3塊鉄炉&rの稼働で特に多く要求されます。\n\nではまず、地面を掘り下げましょう。", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 4abc6f8dd..a8797019a 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -1523,7 +1523,7 @@ "quests.low_voltage.lv_nitrogen.task": "Nitrogênio", "quests.low_voltage.lv_arc_furnace.title": "O Forno a Arco", "quests.low_voltage.lv_arc_furnace.subtitle": "O Forno a Arco nunca foi tão bom", - "quests.low_voltage.lv_arc_furnace.desc.1": "O &3Forno a Arco&r usa um pouquinho de &9Oxigênio&r para fundir itens de uma maneira diferente das Fornalhas.\n\nVocê pode usá-lo para fazer &aFerro Forjado&r mais facilmente, dobrar seu &aVidro&r e obter acesso a &aCobre Recozido&r para componentes eletrônicos mais baratos. É também a sua nova melhor maneira de fazer &4Lingotes de &1Aço Rubro&r e &1Aço Azul&r!\n\nEle também pode reciclar vários componentes e máquinas de volta aos seus materiais originais.", + "quests.low_voltage.lv_arc_furnace.desc.1": "O &3Forno a Arco&r usa um pouquinho de &9Oxigênio&r para fundir itens de uma maneira diferente das Fornalhas.\n\nVocê pode usá-lo para fazer &aFerro Forjado&r mais facilmente, dobrar seu &aVidro&r e obter acesso a &aCobre Recozido&r para componentes eletrônicos mais baratos.\n\nEle também pode reciclar vários componentes e máquinas de volta aos seus materiais originais.", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Lore:&r&o As versões anteriores do GregTech tinham o Forno a Arco e o &bForno a Arco de Plasma&f. Nesse caso, por que não usar uma máquina para ambos? Bem, foi exatamente o que pensamos - mas, no final das contas, decidimos remover uma das duas receitas de &bplasma&f. E então outra receita de &bplasma&f.\n\n&oResumindo, o &bForno a Arco de Plasma&f se &4foi&f. Descanse em paz.", "quests.low_voltage.lv_extractor.title": "Extração Líquida Básica", "quests.low_voltage.lv_extractor.subtitle": "O Extrator extrai...", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 5a600e929..9b2e84244 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -2598,7 +2598,7 @@ "quests.low_voltage.lv_nitrogen.task": "Азот", "quests.low_voltage.lv_arc_furnace.title": "Дуговая Печь", "quests.low_voltage.lv_arc_furnace.subtitle": "Дуговая Печь ещё никогда не была так хороша", - "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дуговая печь&r использует немного &9кислорода&r для плавки предметов другим способом, чем обычные печи.\n\nВы можете использовать её для более лёгкого получения &aкованого железа&r, удвоения количества &aстекла&r и доступа к &aотожжённой меди&r для более дешёвых электронных компонентов. Это также ваш новый лучший способ изготовления &4Красной стали&r и &1Синей стали&r в виде слитков!\n\nОна также может перерабатывать различные компоненты и машины обратно в исходные материалы.", + "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дуговая печь&r использует немного &9кислорода&r для плавки предметов другим способом, чем обычные печи.\n\nВы можете использовать её для более лёгкого получения &aкованого железа&r, удвоения количества &aстекла&r и доступа к &aотожжённой меди&r для более дешёвых электронных компонентов.\n\nОна также может перерабатывать различные компоненты и машины обратно в исходные материалы.", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Интересный Факт:&r&o В предыдущих версиях GregTech существовали как Дуговая печь, так и &bПлазменная дуговая печь&f. В таком случае, почему бы не использовать одну машину для обеих функций? Именно так мы и подумали — но в итоге решили удалить один из двух &bплазменных&r рецептов. А затем и второй &bплазменный&r рецепт.\n\n&o&oКороче говоря, &bПлазменная дуговая печь&f &4исчезла&f. RIP.", "quests.low_voltage.lv_extractor.title": "Обычный Экстрактор", "quests.low_voltage.lv_extractor.subtitle": "Экстрактор извлекает...", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index b02a48f09..7f352b458 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -2679,7 +2679,7 @@ "quests.low_voltage.lv_nitrogen.task": "Азот", "quests.low_voltage.lv_arc_furnace.title": "Дуговa Піч", "quests.low_voltage.lv_arc_furnace.subtitle": "Дугова піч ще ніколи не була такою гарною", - "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дугова піч&r використовує трохи &9кисню&r для виплавки предметів іншим способом, ніж звичайні печі. \n\nТи можеш використовувати її для простішого виробництва &aкованого заліза&r, подвоєння &aскла&r та отримання &aвідпаленого міді&r для дешевших електронних компонентів. Це також твій новий найкращий спосіб створення &4червоного сталі&r та &1синього сталі&r у злитках! \n\nВона також може переробляти різні компоненти та машини назад у їхні вихідні матеріали.", + "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дугова піч&r використовує трохи &9кисню&r для виплавки предметів іншим способом, ніж звичайні печі. \n\nТи можеш використовувати її для простішого виробництва &aкованого заліза&r, подвоєння &aскла&r та отримання &aвідпаленого міді&r для дешевших електронних компонентів.\n\nВона також може переробляти різні компоненти та машини назад у їхні вихідні матеріали.", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Лор:&r&o У попередніх версіях GregTech були і Дугова піч, і &bПлазмова дугова піч&f. У такому разі, чому б не використовувати одну машину для обох? \nНу, саме так ми і думали — але врешті-решт вирішили прибрати один із двох &bплазмових&f рецептів. А потім і другий &bплазмовий&f рецепт. \n\n&oКоротко кажучи, &bПлазмова дугова піч&f &4зникла&f. RIP.", "quests.low_voltage.lv_extractor.title": "Основи рідинної екстракції", "quests.low_voltage.lv_extractor.subtitle": "Екстрактор екстрагує...", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index f21defd70..e5e88cc7c 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -2780,7 +2780,7 @@ "quests.low_voltage.lv_nitrogen.task": "氮", "quests.low_voltage.lv_arc_furnace.title": "电弧炉", "quests.low_voltage.lv_arc_furnace.subtitle": "电弧炉从未如此出色", - "quests.low_voltage.lv_arc_furnace.desc.1": "&3电弧炉&r通过消耗少量&9氧气&r实现与传统熔炉截然不同的冶炼方式。\n\n借助它,你可以更轻松地制备&a锻铁&r、实现&a玻璃&r产量翻倍,并获取制造廉价电子元件所需的&a退火铜&r。它还是冶炼&4红钢&r与&1蓝钢&r锭的最高效新途径!\n\n该设备还能将各类组件和机器回收分解为原始材料。", + "quests.low_voltage.lv_arc_furnace.desc.1": "&3电弧炉&r通过消耗少量&9氧气&r实现与传统熔炉截然不同的冶炼方式。\n\n借助它,你可以更轻松地制备&a锻铁&r、实现&a玻璃&r产量翻倍,并获取制造廉价电子元件所需的&a退火铜&r。\n\n该设备还能将各类组件和机器回收分解为原始材料。", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3背景知识:&r&o旧版格雷科技曾同时存在电弧炉和&b等离子电弧炉&f。既然如此,何不将两者功能合并?事实上我们确实这样设想过——但最终移除了其中一个&b等离子&f配方,接着又移除了另一个&b等离子&f配方。\n\n&o简而言之,&b等离子电弧炉&f已&4正式退场&f。就此成为历史。", "quests.low_voltage.lv_extractor.title": "基础液体提取", "quests.low_voltage.lv_extractor.subtitle": "提取机用于提取……", From 67f24dc7977c24211de71ab8fc9333433ea43305 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 14:04:33 +0000 Subject: [PATCH 161/628] added oil spout features --- .../quests/chapters/tips__tools.snbt | 3 ++ .../placed_feature/earth/oil_spout.json | 33 +++++++++++++++++++ .../earth/vein/normal_tarkianite.json | 2 +- kubejs/server_scripts/tfc/tags.js | 1 + 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 4ba243bc4..d6eb2d162 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -2859,6 +2859,7 @@ { dependencies: ["15277C12EEB517E1"] description: ["{quests.tfg_tips.tools_tips.concrete_roads.desc}"] + disable_toast: true guide_page: "tfc:field_guide tfc:roadsandroofs/concrete_roads 0" id: "191DB28DC6FF4538" subtitle: "{quests.tfg_tips.tools_tips.concrete_roads.subtitle}" @@ -2874,6 +2875,7 @@ { dependencies: ["15277C12EEB517E1"] description: ["{quests.tfg_tips.tools_tips.brick_roads.desc}"] + disable_toast: true guide_page: "tfc:field_guide tfc:roadsandroofs/stone_roads 0" id: "345EB58B7064BF4A" subtitle: "{quests.tfg_tips.tools_tips.brick_roads.subtitle}" @@ -2896,6 +2898,7 @@ { dependencies: ["15277C12EEB517E1"] description: ["{quests.tfg_tips.tools_tips.gravel_roads.desc}"] + disable_toast: true id: "7E46F50FEBEE9003" subtitle: "{quests.tfg_tips.tools_tips.gravel_roads.subtitle}" tasks: [{ diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json new file mode 100644 index 000000000..89f7aa725 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json @@ -0,0 +1,33 @@ +{ + "feature": "gtceu:raw_oil_sprout", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 128 + }, + { + "type": "tfc:climate", + "min_temperature": 0, + "min_rainfall": 0, + "max_rainfall": 100 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 40 + }, + "min_inclusive": { + "absolute": 10 + } + } + } + ] +} \ 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 9c054a1b2..e7fd69e37 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 @@ -6,7 +6,7 @@ "type": "tfc:climate", "min_temperature": 7, "min_rainfall": 0, - "max_rainfall": 70 + "max_rainfall": 100 } ] } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 36d3752fd..49c301811 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -785,4 +785,5 @@ function registerTFCPlacedFeatures(event) { // Other decoration 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"); } From 908c27909a69fe1fe66f6d30991f18b0ca484cac Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 15:37:26 +0000 Subject: [PATCH 162/628] tark tweaks --- .../earth/vein/normal_tarkianite.json | 86 +++++++++---------- .../earth/vein/normal_tarkianite.json | 29 ++++--- 2 files changed, 62 insertions(+), 53 deletions(-) diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json index 52b9da6ca..24b8ad813 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_tarkianite.json @@ -9,7 +9,7 @@ "min_slant": 0, "max_slant": 4, "sign": 0, - "rarity": 150, + "rarity": 140, "density": 0.35, "min_y": 20, "max_y": 120, @@ -21,11 +21,11 @@ ], "with": [ { - "block": "gtceu:gabbro_oilsands_ore", + "block": "gtceu:gabbro_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:gabbro_tarkianite_ore", + "block": "gtceu:gabbro_oilsands_ore", "weight": 35 }, { @@ -44,11 +44,11 @@ ], "with": [ { - "block": "gtceu:granite_oilsands_ore", + "block": "gtceu:granite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:granite_tarkianite_ore", + "block": "gtceu:granite_oilsands_ore", "weight": 35 }, { @@ -67,11 +67,11 @@ ], "with": [ { - "block": "gtceu:diorite_oilsands_ore", + "block": "gtceu:diorite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:diorite_tarkianite_ore", + "block": "gtceu:diorite_oilsands_ore", "weight": 35 }, { @@ -90,11 +90,11 @@ ], "with": [ { - "block": "gtceu:schist_oilsands_ore", + "block": "gtceu:schist_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:schist_tarkianite_ore", + "block": "gtceu:schist_oilsands_ore", "weight": 35 }, { @@ -113,11 +113,11 @@ ], "with": [ { - "block": "gtceu:gneiss_oilsands_ore", + "block": "gtceu:gneiss_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:gneiss_tarkianite_ore", + "block": "gtceu:gneiss_oilsands_ore", "weight": 35 }, { @@ -136,11 +136,11 @@ ], "with": [ { - "block": "gtceu:quartzite_oilsands_ore", + "block": "gtceu:quartzite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:quartzite_tarkianite_ore", + "block": "gtceu:quartzite_oilsands_ore", "weight": 35 }, { @@ -159,11 +159,11 @@ ], "with": [ { - "block": "gtceu:phyllite_oilsands_ore", + "block": "gtceu:phyllite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:phyllite_tarkianite_ore", + "block": "gtceu:phyllite_oilsands_ore", "weight": 35 }, { @@ -182,11 +182,11 @@ ], "with": [ { - "block": "gtceu:slate_oilsands_ore", + "block": "gtceu:slate_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:slate_tarkianite_ore", + "block": "gtceu:slate_oilsands_ore", "weight": 35 }, { @@ -205,11 +205,11 @@ ], "with": [ { - "block": "gtceu:marble_oilsands_ore", + "block": "gtceu:marble_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:marble_tarkianite_ore", + "block": "gtceu:marble_oilsands_ore", "weight": 35 }, { @@ -228,11 +228,11 @@ ], "with": [ { - "block": "gtceu:dacite_oilsands_ore", + "block": "gtceu:dacite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:dacite_tarkianite_ore", + "block": "gtceu:dacite_oilsands_ore", "weight": 35 }, { @@ -251,11 +251,11 @@ ], "with": [ { - "block": "gtceu:rhyolite_oilsands_ore", + "block": "gtceu:rhyolite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:rhyolite_tarkianite_ore", + "block": "gtceu:rhyolite_oilsands_ore", "weight": 35 }, { @@ -274,11 +274,11 @@ ], "with": [ { - "block": "gtceu:andesite_oilsands_ore", + "block": "gtceu:andesite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:andesite_tarkianite_ore", + "block": "gtceu:andesite_oilsands_ore", "weight": 35 }, { @@ -298,11 +298,11 @@ ], "with": [ { - "block": "gtceu:basalt_oilsands_ore", + "block": "gtceu:basalt_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:basalt_tarkianite_ore", + "block": "gtceu:basalt_oilsands_ore", "weight": 35 }, { @@ -321,11 +321,11 @@ ], "with": [ { - "block": "gtceu:shale_oilsands_ore", + "block": "gtceu:shale_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:shale_tarkianite_ore", + "block": "gtceu:shale_oilsands_ore", "weight": 35 }, { @@ -344,11 +344,11 @@ ], "with": [ { - "block": "gtceu:claystone_oilsands_ore", + "block": "gtceu:claystone_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:claystone_tarkianite_ore", + "block": "gtceu:claystone_oilsands_ore", "weight": 35 }, { @@ -367,11 +367,11 @@ ], "with": [ { - "block": "gtceu:limestone_oilsands_ore", + "block": "gtceu:limestone_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:limestone_tarkianite_ore", + "block": "gtceu:limestone_oilsands_ore", "weight": 35 }, { @@ -390,11 +390,11 @@ ], "with": [ { - "block": "gtceu:conglomerate_oilsands_ore", + "block": "gtceu:conglomerate_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:conglomerate_tarkianite_ore", + "block": "gtceu:conglomerate_oilsands_ore", "weight": 35 }, { @@ -413,11 +413,11 @@ ], "with": [ { - "block": "gtceu:dolomite_oilsands_ore", + "block": "gtceu:dolomite_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:dolomite_tarkianite_ore", + "block": "gtceu:dolomite_oilsands_ore", "weight": 35 }, { @@ -436,11 +436,11 @@ ], "with": [ { - "block": "gtceu:chert_oilsands_ore", + "block": "gtceu:chert_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:chert_tarkianite_ore", + "block": "gtceu:chert_oilsands_ore", "weight": 35 }, { @@ -459,11 +459,11 @@ ], "with": [ { - "block": "gtceu:chalk_oilsands_ore", + "block": "gtceu:chalk_tarkianite_ore", "weight": 35 }, { - "block": "gtceu:chalk_tarkianite_ore", + "block": "gtceu:chalk_oilsands_ore", "weight": 35 }, { @@ -484,11 +484,11 @@ "underground_count": 200, "blocks": [ { - "block": "gtceu:oilsands_indicator", + "block": "gtceu:tarkianite_indicator", "weight": 35 }, { - "block": "gtceu:tarkianite_indicator", + "block": "gtceu:oilsands_indicator", "weight": 35 }, { 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 e7fd69e37..b65ab875b 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,12 +1,21 @@ { - "__credits__": "This vein was automatically generated by OresToFieldGuide.", - "feature": "tfg:earth/vein/normal_tarkianite", - "placement": [ - { - "type": "tfc:climate", - "min_temperature": 7, - "min_rainfall": 0, - "max_rainfall": 100 - } - ] + + + + + "__credits__": "REVERT THIS FILE AFTER RUNNING ORES TO FIELD GUIDE. Otherwise it wipes the climate stuff.", + + + + + + "feature": "tfg:earth/vein/normal_tarkianite", + "placement": [ + { + "type": "tfc:climate", + "min_temperature": 7, + "min_rainfall": 0, + "max_rainfall": 100 + } + ] } \ No newline at end of file From 6d025a8ae1b195c7588813318d6b3bfed2608218 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 15:59:50 +0000 Subject: [PATCH 163/628] added extra info to EMI ore vein tab --- .../entries/tfg_ores/earth_vein_index.json | 42 +++++++++---------- .../entries/tfg_ores/earth_vein_index.json | 42 +++++++++---------- .../entries/tfg_ores/earth_vein_index.json | 42 +++++++++---------- .../entries/tfg_ores/earth_vein_index.json | 42 +++++++++---------- .../entries/tfg_ores/earth_vein_index.json | 42 +++++++++---------- .../entries/tfg_ores/earth_vein_index.json | 42 +++++++++---------- kubejs/assets/tfg/lang/en_us.json | 15 ++++++- kubejs/assets/tfg/lang/fr_fr.json | 7 ++++ 8 files changed, 146 insertions(+), 128 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 f03e1bbb7..35c401e0f 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 @@ -3545,31 +3545,11 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 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$(br2)Only appears in hot deserts to the South-West.", + "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 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$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", "title": "Tarkianite & Oilsands", "type": "patchouli:text", "anchor": "normal_tarkianite" }, - { - "Type": "patchouli:multiblock", - "name": "Oilsands", - "multiblock": { - "mapping": { - "0": "#forge:ores/oilsands" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Tarkianite", @@ -3590,6 +3570,26 @@ "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Rhenium, Molybdenum$(br)$(thing)Formula$(): CuFeRe₄Mo₄S₈", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, { "Type": "patchouli:multiblock", "name": "Borax", 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 f03e1bbb7..35c401e0f 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 @@ -3545,31 +3545,11 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 150$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 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$(br2)Only appears in hot deserts to the South-West.", + "text": "$(thing)Rarity$(): 140$(br)$(thing)Density$(): 0.35$(br)$(thing)Type$(): Pipe Vein$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Height$(): 60$(br)$(thing)Radius$(): 10$(br)$(thing)Indicator Max Depth$(): 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$(br2)Only appears in deserts to the $(thing)South-West$(), with a minimum temperature of 7°C and a maximum rainfall of 100mm.", "title": "Tarkianite & Oilsands", "type": "patchouli:text", "anchor": "normal_tarkianite" }, - { - "Type": "patchouli:multiblock", - "name": "Oilsands", - "multiblock": { - "mapping": { - "0": "#forge:ores/oilsands" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Tarkianite", @@ -3590,6 +3570,26 @@ "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Rhenium, Molybdenum$(br)$(thing)Formula$(): CuFeRe₄Mo₄S₈", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:multiblock", + "name": "Oilsands", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Freedom \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, { "Type": "patchouli:multiblock", "name": "Borax", 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 fe40cd188..75644b7b3 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 @@ -3545,31 +3545,11 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 150$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(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$(): 140$(br)$(thing)Densidade$(): 0.35$(br)$(thing)Tipo$(): Veio Tubular$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Altura$(): 60$(br)$(thing)Raio$(): 10$(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", "title": "Tarcianita e Areias Petrolíferas", "type": "patchouli:text", "anchor": "normal_tarkianite" }, - { - "Type": "patchouli:multiblock", - "name": "Areias Petrolíferas", - "multiblock": { - "mapping": { - "0": "#forge:ores/oilsands" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Fonte de$(): Liberdade \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Tarcianita", @@ -3590,6 +3570,26 @@ "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Fonte de$(): Rênio, Molibdênio$(br)$(thing)Fórmula$(): CuFeRe₄Mo₄S₈", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:multiblock", + "name": "Areias Petrolíferas", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Fonte de$(): Liberdade \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, { "Type": "patchouli:multiblock", "name": "Bórax", 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 0d294b17a..80bff7651 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 @@ -3160,31 +3160,11 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 150$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 140$(br)$(thing)Плотность$(): 0.35$(br)$(thing)Вид$(): трубчатая жила$(br)$(thing)Y-уровень$(): 20 — 120$(br)$(thing)Высота$(): 60$(br)$(thing)Радиус$(): 10$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Андезит, Аргиллит, Аспидный сланец, Базальт, Габбро, Гнейс, Гранит, Дацит, Диорит, Доломит, Известняк, Кварцит, Конгломерат, Кремнистый сланец, Мел, Мрамор, Риолит, Сланец, Филлит, Шиферный сланец", "title": "Таркианит и Нефтеносный песок", "type": "patchouli:text", "anchor": "normal_tarkianite" }, - { - "Type": "patchouli:multiblock", - "name": "Нефтеносный песок", - "multiblock": { - "mapping": { - "0": "#forge:ores/oilsands" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): топливо", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Таркианит", @@ -3205,6 +3185,26 @@ "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Рений, Молибден$(br)$(thing)Формула$(): CuFeRe₄Mo₄S₈", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:multiblock", + "name": "Нефтеносный песок", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): топливо", + "type": "patchouli:multiblock" + }, { "Type": "patchouli:multiblock", "name": "Бура", 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 8618d2f0c..0d4a3dab2 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 @@ -3279,31 +3279,11 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 150$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 140$(br)$(thing)Щільність$(): 0.35$(br)$(thing)Тип$(): Трубна вена$(br)$(thing)Y$(): 20 — 120$(br)$(thing)Висота$(): 60$(br)$(thing)Радіус$(): 10$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Андезит, Аргиліт, Аспідний сланець, Базальт, Вапняк, Габро, Глинистий сланець, Гнейс, Граніт, Дацит, Діорит, Доломіт, Кварцит, Конгломерат, Крейда, Кременистий сланець, Мармур, Ріоліт, Філіт, Шиферний сланець", "title": "Таркіаніт та Нафтові піски", "type": "patchouli:text", "anchor": "normal_tarkianite" }, - { - "Type": "patchouli:multiblock", - "name": "Нафтові піски", - "multiblock": { - "mapping": { - "0": "#forge:ores/oilsands" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Джерело$(): Свободи \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "Таркіаніт", @@ -3324,6 +3304,26 @@ "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Джерело$(): Реній, Молібденум$(br)$(thing)Формула$(): CuFeRe₄Mo₄S₈", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:multiblock", + "name": "Нафтові піски", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Джерело$(): Свободи \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, { "Type": "patchouli:multiblock", "name": "Бура", 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 10ec4c230..ffac3d845 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 @@ -39,31 +39,11 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 150$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", + "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", "title": "塔基安石, 油砂", "type": "patchouli:text", "anchor": "normal_tarkianite" }, - { - "Type": "patchouli:multiblock", - "name": "油砂", - "multiblock": { - "mapping": { - "0": "#forge:ores/oilsands" - }, - "pattern": [ - [ - "0" - ], - [ - " " - ] - ] - }, - "enable_visualize": false, - "text": "$(thing)百分比$(): 35%$(br)$(thing)来源$(): 自由 \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", - "type": "patchouli:multiblock" - }, { "Type": "patchouli:multiblock", "name": "塔基安石", @@ -84,6 +64,26 @@ "text": "$(thing)百分比$(): 35%$(br)$(thing)来源$(): 铼, 钼$(br)$(thing)化学式$(): CuFeRe₄Mo₄S₈", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:multiblock", + "name": "油砂", + "multiblock": { + "mapping": { + "0": "#forge:ores/oilsands" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 35%$(br)$(thing)来源$(): 自由 \uD83D\uDEE2\uD83E\uDD85\uD83D\uDDFD", + "type": "patchouli:multiblock" + }, { "Type": "patchouli:multiblock", "name": "硼砂", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 2d2973dce..bea57b8bb 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1178,6 +1178,8 @@ "ore_vein.tfg.normal_copper": "Copper & Chalcopyrite", "ore_vein.tfg.normal_garnet_tin": "Garnet & Cassiterite Sands", "ore_vein.tfg.normal_garnierite": "Garnierite & Cobaltite", + "ore_vein.tfg.normal_garnierite.emi.0": "Tip: Gabbro is always", + "ore_vein.tfg.normal_garnierite.emi.1": "underneath Basalt.", "ore_vein.tfg.normal_gold": "Gold, Limonite, & Hematite", "ore_vein.tfg.normal_graphite": "Graphite & Diamond", "ore_vein.tfg.normal_gypsum": "Gypsum & Calcite", @@ -1193,6 +1195,8 @@ "ore_vein.tfg.normal_olivine": "Bentonite & Olivine", "ore_vein.tfg.normal_quartz": "Quartzes", "ore_vein.tfg.normal_redstone": "Redstone, Cinnabar, & Ruby", + "ore_vein.tfg.normal_redstone.emi.0": "Tip: Granite is always", + "ore_vein.tfg.normal_redstone.emi.1": "underneath Rhyolite.", "ore_vein.tfg.normal_salt": "Salts & Borax", "ore_vein.tfg.normal_saltpeter": "Saltpeter & Electrotine", "ore_vein.tfg.normal_silver": "Silver, Galena, & Lead", @@ -1200,6 +1204,9 @@ "ore_vein.tfg.normal_spodumene": "Spodumene & Lepidolite", "ore_vein.tfg.normal_sulfur": "Sulfur & Pyrite", "ore_vein.tfg.normal_tarkianite": "Tarkianite & Oilsands", + "ore_vein.tfg.normal_tarkianite.emi.0": "Only in dry climates.", + "ore_vein.tfg.normal_tarkianite.emi.1": "Min temp: 7°C", + "ore_vein.tfg.normal_tarkianite.emi.2": "Max rainfall: 100mm", "ore_vein.tfg.normal_tetrahedrite": "Tetrahedrite (Normal)", "ore_vein.tfg.surface_bismuthinite": "Bismuth (Surface)", "ore_vein.tfg.surface_cassiterite": "Cassiterite (Surface)", @@ -1385,10 +1392,14 @@ "tfg.emi.ore_veins.rock_types": "Found in rock types:", "tfg.emi.ore_veins.rarity": "Rarity: %d", "tfg.emi.ore_veins.density": "Density: %d", - "tfg.emi.ore_veins.y_ranges": "Depth: %d to %d", + "tfg.emi.ore_veins.y_ranges": "Y Level: %d to %d", "tfg.emi.ore_veins.size": "Size: %d", "tfg.emi.ore_veins.height": "Height: %d", "tfg.emi.ore_veins.radius": "Radius: %d", + "ore_vein.tfg.rose_quartz": "Rose Quartz", + "ore_vein.tfg.rose_quartz.emi.0": "Found in low-elevation", + "ore_vein.tfg.rose_quartz.emi.1": "biomes in climates", + "ore_vein.tfg.rose_quartz.emi.2": "below -10°C.", "emi.category.tfg.ore_vein_info": "Ore Veins", "tfg.emi.liquid_bb_burn_time": "Duration: %d secs", "tfg.emi.liquid_bb_superheat": "§lSuperheated", @@ -2744,7 +2755,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 more 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 or Oil spouts 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, 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.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!", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 0396a10f5..66e52bacc 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1039,6 +1039,8 @@ "ore_vein.tfg.normal_copper": "Copper & Chalcopyrite", "ore_vein.tfg.normal_garnet_tin": "Garnet & Cassiterite Sands", "ore_vein.tfg.normal_garnierite": "Garnierite & Cobaltite", + "ore_vein.tfg.normal_garnierite.emi.0": "Tip: Gabbro is always", + "ore_vein.tfg.normal_garnierite.emi.1": "underneath Basalt.", "ore_vein.tfg.normal_gold": "Gold, Limonite, & Hematite", "ore_vein.tfg.normal_graphite": "Graphite & Diamond", "ore_vein.tfg.normal_gypsum": "Gypsum & Calcite", @@ -1054,6 +1056,8 @@ "ore_vein.tfg.normal_olivine": "Bentonite & Olivine", "ore_vein.tfg.normal_quartz": "Quartzes", "ore_vein.tfg.normal_redstone": "Redstone, Cinnabar, & Ruby", + "ore_vein.tfg.normal_redstone.emi.0": "Tip: Granite is always", + "ore_vein.tfg.normal_redstone.emi.1": "underneath Rhyolite.", "ore_vein.tfg.normal_salt": "Salts & Borax", "ore_vein.tfg.normal_saltpeter": "Saltpeter & Electrotine", "ore_vein.tfg.normal_silver": "Silver, Galena, & Lead", @@ -1061,6 +1065,9 @@ "ore_vein.tfg.normal_spodumene": "Spodumene & Lepidolite", "ore_vein.tfg.normal_sulfur": "Sulfur & Pyrite", "ore_vein.tfg.normal_tarkianite": "Tarkianite & Oilsands", + "ore_vein.tfg.normal_tarkianite.emi.0": "Only in dry climates.", + "ore_vein.tfg.normal_tarkianite.emi.1": "Min temp: 7°C", + "ore_vein.tfg.normal_tarkianite.emi.2": "Max rainfall: 100mm", "ore_vein.tfg.normal_tetrahedrite": "Tetrahedrite (Normal)", "ore_vein.tfg.surface_bismuthinite": "Bismuth (Surface)", "ore_vein.tfg.surface_cassiterite": "Cassiterite (Surface)", From 132d8970434bd457f6e184f4844d5f8bc1ea0d78 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 16:04:05 +0000 Subject: [PATCH 164/628] add paving cart quest --- config/ftbquests/quests/chapters/lv__low_voltage.snbt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index f39df25dc..f36f38569 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -29,6 +29,13 @@ x: -8.5d y: 10.5d } + { + id: "4709FD64C07461C1" + linked_quest: "533F32CCAD9D5B51" + shape: "heart" + x: -2.0d + y: 12.5d + } ] quests: [ { From c3017574b3cc99b4144e4ba2e9843dfdf179376b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 17:46:53 +0000 Subject: [PATCH 165/628] adding tooltips to lots of item/fluid containers --- CHANGELOG.md | 2 ++ kubejs/client_scripts/tooltips.js | 49 ++++++++++++++++++++++++++++++- kubejs/server_scripts/tfc/tags.js | 2 ++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5081a4e74..77edbaaec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ Added TFC Gurman, which adds even more food and drink - Reduced the cost of the ME Ingredient Buffer @Pyritie - Renamed Blubber to Animal Fat and added it to the drop tables of more animals (pigs drop a fair bit, orcas drop a ton). Renamed Fish Oil to Tallowate since you can turn animal fat into tallow into fish oil (now tallowate). From there you can turn it into biodiesel! @Pyritie - Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie +- Glass bottles and ceramic jugs can now hold the same fluids as wooden barrels, buckets, etc @Pyritie +- Added fluid/item capacity tooltips to many fluid/item containers @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 7ea2a2440..b6df3fc36 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -221,11 +221,58 @@ const registerTooltips = (event) => { text.add(1, Text.translate("greate.tooltip.max_capacity").append(Text.translate("tfg.greate.ls_limit"))) }) + // Fluid + item containers global.LAB_EQUIPMENT_CONTAINERS.forEach(container => { event.addAdvanced([`tfg:${container.type}`], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.lab_equipment.part').append(`§e${container.capacity.toString()}mB`)) + text.add(1, Text.translate('gtceu.universal.tooltip.fluid_storage_capacity', `${container.capacity}`)) }) }) + event.addAdvanced(['#firmalife:big_barrels'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "36")) + text.add(2, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "80,000")) + }) + event.addAdvanced(['create:fluid_tank', 'create_connected:fluid_vessel'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "16,000")) + }) + event.addAdvanced(['#tfc:barrels'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "10,000")) + }) + event.addAdvanced(['tfc:crucible'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "4,032")) + }) + event.addAdvanced(['waterflasks:red_steel_flask'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "2,000")) + }) + event.addAdvanced(['waterflasks:iron_flask', 'tfc:wooden_bucket', 'firmalife:mixing_bowl'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "1,000")) + }) + event.addAdvanced(['waterflasks:leather_flask'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "500")) + }) + event.addAdvanced(['tfc:hematitic_glass_bottle', 'tfc:silica_glass_bottle', 'tfc:volcanic_glass_bottle', 'tfc:olivine_glass_bottle'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "400")) + }) + event.addAdvanced(['#tfc:lamps'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "250")) + }) + event.addAdvanced(['tfc:ceramic/jug', 'firmalife:hollow_shell'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "100")) + }) + event.addAdvanced(['#tfcastikorcarts:supply_cart'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "54")) + }) + event.addAdvanced(['framedblocks:framed_chest'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "27")) + }) + event.addAdvanced(['create:item_vault', 'create_connected:item_silo'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "20")) + }) + event.addAdvanced(['#forge:chests/wooden'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "18")) + }) + event.addAdvanced(['#tfc:fired_large_vessels'], (item, advanced, text) => { + text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "9")) + }) //Nuclear Fission Tooltips diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 49c301811..63c386ca5 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -703,6 +703,8 @@ function registerTFCFluidTags(event) { // Can use only neutral fluids. event.add('tfc:usable_in_barrel', '#forge:neutral_fluids'); event.add('tfc:usable_in_wooden_bucket', '#forge:neutral_fluids'); + // Ceramic jugs and glass bottles + event.add('tfc:usable_in_jug', '#forge:neutral_fluids'); event.add('firmalife:usable_in_mixing_bowl', '#forge:neutral_fluids'); // All fluids are given the '#tfg:not_solid' tag incase we have a use for them regardless of state. From d1d7c859ba6c082203d198b54ecc024956859fc2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 18:21:05 +0000 Subject: [PATCH 166/628] fix #2305, also buffed its loot --- CHANGELOG.md | 1 + kubejs/server_scripts/species/loot.js | 7 ++++--- kubejs/server_scripts/species/tags.js | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77edbaaec..c928f04bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ Added TFC Gurman, which adds even more food and drink - Fixed recipe conflict with Epichlorohydrin and Sodium Hypochlorite (#2287) @Pyritie - Fixed summoned pet endermen not being able to survive in space or other planets @Pyritie - Fixed some recipe imbalances with trimethyl borate and related recipes @Pyritie +- Fixed not being able to feed meat to the Cruncher (#2305) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/server_scripts/species/loot.js b/kubejs/server_scripts/species/loot.js index df3ccd87e..54772ee26 100644 --- a/kubejs/server_scripts/species/loot.js +++ b/kubejs/server_scripts/species/loot.js @@ -41,14 +41,15 @@ function registerSpeciesLoots(event) { event.addEntityLootModifier('species:cruncher') - .addLoot('tfc:large_raw_hide') + .addLoot('species:music_disk_spawner') + .addWeightedLoot([3, 4], ['tfc:large_raw_hide']) .addWeightedLoot([10, 13], ['minecraft:bone']) - .addWeightedLoot([14, 24], ['tfg:food/raw_cruncher_ribs']) + .addWeightedLoot([24, 36], ['tfg:food/raw_cruncher_ribs']) .addSequenceLoot(LootEntry.of('species:cruncher_egg').when(c => c.randomChance(0.5))) event.addEntityLootModifier('species:cruncher') .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([7, 12], ['tfg:food/raw_cruncher_ribs']) + .addWeightedLoot([12, 18], ['tfg:food/raw_cruncher_ribs']) event.addEntityLootModifier('species:stackatick') diff --git a/kubejs/server_scripts/species/tags.js b/kubejs/server_scripts/species/tags.js index 2d0e501ad..651d2a748 100644 --- a/kubejs/server_scripts/species/tags.js +++ b/kubejs/server_scripts/species/tags.js @@ -26,7 +26,7 @@ const registerSpeciesItemTags = (event) => { event.add('tfg:martian_eggs', 'species:petrified_egg') event.add('species:goober_breed_items', '#forge:mushrooms') - event.add('species:cruncher_eats', '#tfc:foods/meat') + event.add('species:cruncher_eats', '#tfc:foods/meats') event.add('tfc:compost_greens', 'species:alphacene_mushroom_block') event.add('tfc:compost_greens_low', 'species:alphacene_mushroom_growth') From fa21019c38a5354c01eded7d9c798e6325478544 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 18:22:46 +0000 Subject: [PATCH 167/628] add flint clubs to tool racks #2308 --- kubejs/server_scripts/primitive_creatures/tags.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/server_scripts/primitive_creatures/tags.js b/kubejs/server_scripts/primitive_creatures/tags.js index 501c74bac..cfe6e253e 100644 --- a/kubejs/server_scripts/primitive_creatures/tags.js +++ b/kubejs/server_scripts/primitive_creatures/tags.js @@ -30,4 +30,8 @@ function registerPrimitiveCreaturesItemTags(event) { event.add('primitive_creatures:mercenary_payment', 'minecraft:spider_eye') event.add('primitive_creatures:mercenary_payment', 'minecraft:flint') event.add('primitive_creatures:mercenary_payment', 'minecraft:emerald') + + // Flint clubs + event.add('tfc:usable_on_tool_rack', 'primitive_creatures:yhgi') + event.add('tfc:usable_on_tool_rack', 'primitive_creatures:reh') } \ No newline at end of file From 1ce426ffddfddfc4ccd0f8629827efeaef9839af Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 18:27:19 +0000 Subject: [PATCH 168/628] added new blubber image --- CHANGELOG.md | 3 ++- kubejs/assets/tfc/textures/item/blubber.png | Bin 0 -> 293 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 kubejs/assets/tfc/textures/item/blubber.png diff --git a/CHANGELOG.md b/CHANGELOG.md index c928f04bd..25229728c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ Added TFC Gurman, which adds even more food and drink - Oilsands dust can now be centrifuged in the mechanical centrifuge @Pyritie - All oils (both the petrochem kind and the cooking kind) can now be used to fuel small boilers as well @Pyritie - Reduced the cost of the ME Ingredient Buffer @Pyritie -- Renamed Blubber to Animal Fat and added it to the drop tables of more animals (pigs drop a fair bit, orcas drop a ton). Renamed Fish Oil to Tallowate since you can turn animal fat into tallow into fish oil (now tallowate). From there you can turn it into biodiesel! @Pyritie +- Renamed Blubber to Animal Fat and added it to the drop tables of more animals (pigs drop a fair bit, orcas drop a ton). Renamed Fish Oil to Tallowate since you can turn animal fat into tallow into fish oil (now tallowate). From there you can turn it into biodiesel! @applenper @Pyritie - Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie - Glass bottles and ceramic jugs can now hold the same fluids as wooden barrels, buckets, etc @Pyritie - Added fluid/item capacity tooltips to many fluid/item containers @Pyritie @@ -39,6 +39,7 @@ Added TFC Gurman, which adds even more food and drink - Fixed summoned pet endermen not being able to survive in space or other planets @Pyritie - Fixed some recipe imbalances with trimethyl borate and related recipes @Pyritie - Fixed not being able to feed meat to the Cruncher (#2305) @Pyritie +- Hopefully fixed rockets without a pilot getting stuck and not exploding? (#2137) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/assets/tfc/textures/item/blubber.png b/kubejs/assets/tfc/textures/item/blubber.png new file mode 100644 index 0000000000000000000000000000000000000000..453a7ca599ef147b994ecaa05a120aabedbcefa1 GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUZmwluV5oR$RmZ@wnU;uxY49NQnwcSM1Q`SZU26R(#AZH=mTNb6v_@#m>%xb5tj z$HUy;?PPO0BEsv+DJaD$`Mo1fFz}GDq9f1iLxsx{1 Date: Sun, 30 Nov 2025 18:38:31 +0000 Subject: [PATCH 169/628] why was this 6 anyway? --- kubejs/server_scripts/tfc/recipes.materials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 064897fba..8bc5ee8b6 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -623,7 +623,7 @@ function registerTFCMaterialsRecipes(event) { } // Nugget - let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 6) + let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 9) if (!nuggetItem.isEmpty()) { event.recipes.tfc.heating(`#forge:nuggets/${material.getName()}`, tfcProperty.getMeltTemp()) From bea681b44c489fbbe82ef0304e3077f78b0eb70f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 18:44:13 +0000 Subject: [PATCH 170/628] fix typo with cooked toxlacanth not counting as meat --- kubejs/server_scripts/wan_ancient_beasts/tags.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/wan_ancient_beasts/tags.js b/kubejs/server_scripts/wan_ancient_beasts/tags.js index 044e0c9af..5e5e95e49 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/tags.js +++ b/kubejs/server_scripts/wan_ancient_beasts/tags.js @@ -30,7 +30,7 @@ const registerWABItemTags = (event) => { event.add('tfc:foods/cooked_meats', 'wan_ancient_beasts:cooked_toxlacanth') event.add('firmalife:foods/cooked_fish', 'wan_ancient_beasts:cooked_toxlacanth') - event.add('tfc:food/meats', 'wan_ancient_beasts:cooked_toxlacanth') + event.add('tfc:foods/meats', 'wan_ancient_beasts:cooked_toxlacanth') // Eater meat event.add('tfc:foods/raw_meats', 'wan_ancient_beasts:raw_ancient_meat') From b6f729aa7ced17e92bec9d3c4f3f80fdd9c6205b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 20:31:37 +0000 Subject: [PATCH 171/628] fix some of the gui overlap with tfc ambiental and I <3 tfc --- config/tfcambiental-client.toml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config/tfcambiental-client.toml b/config/tfcambiental-client.toml index 21c558cf8..cd82a3e24 100644 --- a/config/tfcambiental-client.toml +++ b/config/tfcambiental-client.toml @@ -19,4 +19,9 @@ seasonColorSpring = "3311CAD7" #How much to drip when wet. 0 to turn off #Range: 0 ~ 100 drippiness = 30 - +#For all ARGB values, set to 00000000 to disable the feature in that season +#Change temperature display to Fahrenheit. +useFahrenheit = false +#Offset the GUI elements. Useful if you're using a resourcep ack that changes the health or hunger bars +#Range: 0.0 ~ 3.4028234663852886E38 +guiOffset = 8.0 From 8cd32a0f6023fe4669cba16a00a80ded0d39d4ab Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 21:29:18 +0000 Subject: [PATCH 172/628] nicer icon for wax tag --- kubejs/assets/forge/models/tag/item/wax.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 kubejs/assets/forge/models/tag/item/wax.json diff --git a/kubejs/assets/forge/models/tag/item/wax.json b/kubejs/assets/forge/models/tag/item/wax.json new file mode 100644 index 000000000..c0ecf89a8 --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/wax.json @@ -0,0 +1,3 @@ +{ + "parent": "firmalife:item/beeswax" +} \ No newline at end of file From 8a5812b831c58250bd2e8fdbaeaa82a31e418548 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 21:29:29 +0000 Subject: [PATCH 173/628] added effects to gurman drinks --- .../data/tfc/tfc/drinkables/chamomile_tea.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/cocoa.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/coffee.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/compote.json | 11 +++++++++++ kubejs/data/tfc/tfc/drinkables/kvass.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/lemonade.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/mint_tea.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/nalivka.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/nettle_tea.json | 16 ++++++++++++++++ kubejs/data/tfc/tfc/drinkables/rosehip_tea.json | 16 ++++++++++++++++ kubejs/server_scripts/ad_astra/tags.js | 3 +++ 11 files changed, 158 insertions(+) create mode 100644 kubejs/data/tfc/tfc/drinkables/chamomile_tea.json create mode 100644 kubejs/data/tfc/tfc/drinkables/cocoa.json create mode 100644 kubejs/data/tfc/tfc/drinkables/coffee.json create mode 100644 kubejs/data/tfc/tfc/drinkables/compote.json create mode 100644 kubejs/data/tfc/tfc/drinkables/kvass.json create mode 100644 kubejs/data/tfc/tfc/drinkables/lemonade.json create mode 100644 kubejs/data/tfc/tfc/drinkables/mint_tea.json create mode 100644 kubejs/data/tfc/tfc/drinkables/nalivka.json create mode 100644 kubejs/data/tfc/tfc/drinkables/nettle_tea.json create mode 100644 kubejs/data/tfc/tfc/drinkables/rosehip_tea.json diff --git a/kubejs/data/tfc/tfc/drinkables/chamomile_tea.json b/kubejs/data/tfc/tfc/drinkables/chamomile_tea.json new file mode 100644 index 000000000..7c8559dd5 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/chamomile_tea.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:chamomile_tea", + "thirst": 15, + "effects": [ + { + "type": "minecraft:resistance", + "duration": 600, + "amplifier": 0 + }, + { + "type": "tfg:warming", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/cocoa.json b/kubejs/data/tfc/tfc/drinkables/cocoa.json new file mode 100644 index 000000000..5d403ba69 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/cocoa.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:cocoa", + "thirst": 15, + "effects": [ + { + "type": "minecraft:haste", + "duration": 600, + "amplifier": 0 + }, + { + "type": "tfg:warming", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/coffee.json b/kubejs/data/tfc/tfc/drinkables/coffee.json new file mode 100644 index 000000000..13dec7feb --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/coffee.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:coffee", + "thirst": 15, + "effects": [ + { + "type": "minecraft:speed", + "duration": 600, + "amplifier": 0 + }, + { + "type": "tfg:warming", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/compote.json b/kubejs/data/tfc/tfc/drinkables/compote.json new file mode 100644 index 000000000..2b06c8802 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/compote.json @@ -0,0 +1,11 @@ +{ + "ingredient": "tfc_gurman:compote", + "thirst": 15, + "effects": [ + { + "type": "minecraft:jump_boost", + "duration": 600, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/kvass.json b/kubejs/data/tfc/tfc/drinkables/kvass.json new file mode 100644 index 000000000..052d6cd35 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/kvass.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:kvass", + "thirst": 15, + "effects": [ + { + "type": "minecraft:strength", + "duration": 1600, + "amplifier": 0 + }, + { + "type": "tfg:cooling", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/lemonade.json b/kubejs/data/tfc/tfc/drinkables/lemonade.json new file mode 100644 index 000000000..66d8a3f8c --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/lemonade.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:lemonade", + "thirst": 15, + "effects": [ + { + "type": "minecraft:haste", + "duration": 600, + "amplifier": 0 + }, + { + "type": "tfg:cooling", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/mint_tea.json b/kubejs/data/tfc/tfc/drinkables/mint_tea.json new file mode 100644 index 000000000..bcf65c829 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/mint_tea.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:mint_tea", + "thirst": 15, + "effects": [ + { + "type": "minecraft:regeneration", + "duration": 600, + "amplifier": 0 + }, + { + "type": "tfg:warming", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/nalivka.json b/kubejs/data/tfc/tfc/drinkables/nalivka.json new file mode 100644 index 000000000..8e4d8f5a0 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/nalivka.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:nalivka", + "thirst": 15, + "effects": [ + { + "type": "minecraft:strength", + "duration": 3200, + "amplifier": 0 + }, + { + "type": "tfg:cooling", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/nettle_tea.json b/kubejs/data/tfc/tfc/drinkables/nettle_tea.json new file mode 100644 index 000000000..88b3d512d --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/nettle_tea.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:nettle_tea", + "thirst": 15, + "effects": [ + { + "type": "minecraft:slow_falling", + "duration": 600, + "amplifier": 0 + }, + { + "type": "tfg:warming", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/rosehip_tea.json b/kubejs/data/tfc/tfc/drinkables/rosehip_tea.json new file mode 100644 index 000000000..81c7a70c2 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/rosehip_tea.json @@ -0,0 +1,16 @@ +{ + "ingredient": "tfc_gurman:rosehip_tea", + "thirst": 15, + "effects": [ + { + "type": "minecraft:absorption", + "duration": 600, + "amplifier": 0 + }, + { + "type": "tfg:warming", + "duration": 20, + "amplifier": 0 + } + ] +} \ 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 1531118a3..fd670d96c 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -33,6 +33,9 @@ const registerAdAstraFluidTags = (event) => { event.add('ad_astra:evaporates_in_space', 'tfc:salt_water') event.add('ad_astra:evaporates_in_space', 'tfc:spring_water') event.add('ad_astra:evaporates_in_space', '#tfc:alcohols') + event.add('ad_astra:evaporates_in_space', '#tfc:milks') + event.add('ad_astra:evaporates_in_space', '#tfc:dyes') + event.add('ad_astra:evaporates_in_space', '#tfc:drinkables') global.BREATHABLE_COMPRESSED_AIRS.forEach(x => { event.add('ad_astra:zip_gun_propellants', x) From 305287f98c575d50c21eea65a2846f342798865f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 21:50:02 +0000 Subject: [PATCH 174/628] fix drinkable defs for teas --- .../tfc/drinkables/{chamomile_tea.json => tea_chamomile.json} | 2 +- kubejs/data/tfc/tfc/drinkables/{mint_tea.json => tea_mint.json} | 2 +- .../tfc/tfc/drinkables/{nettle_tea.json => tea_nettle.json} | 2 +- .../tfc/tfc/drinkables/{rosehip_tea.json => tea_rosehip.json} | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename kubejs/data/tfc/tfc/drinkables/{chamomile_tea.json => tea_chamomile.json} (81%) rename kubejs/data/tfc/tfc/drinkables/{mint_tea.json => tea_mint.json} (83%) rename kubejs/data/tfc/tfc/drinkables/{nettle_tea.json => tea_nettle.json} (82%) rename kubejs/data/tfc/tfc/drinkables/{rosehip_tea.json => tea_rosehip.json} (82%) diff --git a/kubejs/data/tfc/tfc/drinkables/chamomile_tea.json b/kubejs/data/tfc/tfc/drinkables/tea_chamomile.json similarity index 81% rename from kubejs/data/tfc/tfc/drinkables/chamomile_tea.json rename to kubejs/data/tfc/tfc/drinkables/tea_chamomile.json index 7c8559dd5..f1de9b399 100644 --- a/kubejs/data/tfc/tfc/drinkables/chamomile_tea.json +++ b/kubejs/data/tfc/tfc/drinkables/tea_chamomile.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:chamomile_tea", + "ingredient": "tfc_gurman:tea_chamomile", "thirst": 15, "effects": [ { diff --git a/kubejs/data/tfc/tfc/drinkables/mint_tea.json b/kubejs/data/tfc/tfc/drinkables/tea_mint.json similarity index 83% rename from kubejs/data/tfc/tfc/drinkables/mint_tea.json rename to kubejs/data/tfc/tfc/drinkables/tea_mint.json index bcf65c829..f5a181be8 100644 --- a/kubejs/data/tfc/tfc/drinkables/mint_tea.json +++ b/kubejs/data/tfc/tfc/drinkables/tea_mint.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:mint_tea", + "ingredient": "tfc_gurman:tea_mint", "thirst": 15, "effects": [ { diff --git a/kubejs/data/tfc/tfc/drinkables/nettle_tea.json b/kubejs/data/tfc/tfc/drinkables/tea_nettle.json similarity index 82% rename from kubejs/data/tfc/tfc/drinkables/nettle_tea.json rename to kubejs/data/tfc/tfc/drinkables/tea_nettle.json index 88b3d512d..cc2c300bb 100644 --- a/kubejs/data/tfc/tfc/drinkables/nettle_tea.json +++ b/kubejs/data/tfc/tfc/drinkables/tea_nettle.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:nettle_tea", + "ingredient": "tfc_gurman:tea_nettle", "thirst": 15, "effects": [ { diff --git a/kubejs/data/tfc/tfc/drinkables/rosehip_tea.json b/kubejs/data/tfc/tfc/drinkables/tea_rosehip.json similarity index 82% rename from kubejs/data/tfc/tfc/drinkables/rosehip_tea.json rename to kubejs/data/tfc/tfc/drinkables/tea_rosehip.json index 81c7a70c2..ad3d523f9 100644 --- a/kubejs/data/tfc/tfc/drinkables/rosehip_tea.json +++ b/kubejs/data/tfc/tfc/drinkables/tea_rosehip.json @@ -1,5 +1,5 @@ { - "ingredient": "tfc_gurman:rosehip_tea", + "ingredient": "tfc_gurman:tea_rosehip", "thirst": 15, "effects": [ { From e7e095505ebd4e9805ea447fbb68dbdb8f7366a0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 22:27:44 +0000 Subject: [PATCH 175/628] added tooltips for drinks --- kubejs/client_scripts/tooltips.js | 135 +++++++++++++++++++----------- 1 file changed, 88 insertions(+), 47 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index b6df3fc36..2684c7af0 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -5,7 +5,7 @@ */ const registerTooltips = (event) => { //Your IDE may say that "item" and "advanced" are never used, but they are required! So dont remove them <3 - + event.addAdvanced(['minecraft:name_tag'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.nametag')) }) @@ -20,84 +20,84 @@ const registerTooltips = (event) => { }) 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')), - text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')), - text.add(5, Text.translate('tfg.tooltip.machine.customize_interior')) + text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')), + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')), + text.add(5, Text.translate('tfg.tooltip.machine.customize_interior')) }) event.addAdvanced(['tfg:growth_chamber'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.growth_chamber_1')), - text.add(2, Text.translate('tfg.tooltip.machine.growth_chamber_2')), - text.add(5, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(2, Text.translate('tfg.tooltip.machine.growth_chamber_2')), + text.add(5, Text.translate('tfg.tooltip.machine.two_energy_hatches')) }) event.addAdvanced(['tfg:evaporation_tower'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.evaporation_tower_1')), - text.add(2, Text.translate('tfg.tooltip.machine.evaporation_tower_2')), - text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(2, Text.translate('tfg.tooltip.machine.evaporation_tower_2')), + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) }) event.addAdvanced(['tfg:bioreactor'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.bioreactor_1')), - text.add(2, Text.translate('tfg.tooltip.machine.bioreactor_2')), - text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(2, Text.translate('tfg.tooltip.machine.bioreactor_2')), + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) }) event.addAdvanced(['tfg:cooling_tower'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.cooling_tower_1')), - text.add(2, Text.translate('tfg.tooltip.machine.cooling_tower_2')), - text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(4, Text.translate('tfg.tooltip.machine.subtick')), - text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + text.add(2, Text.translate('tfg.tooltip.machine.cooling_tower_2')), + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), + text.add(4, Text.translate('tfg.tooltip.machine.subtick')), + text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) }) event.addAdvanced(['gtceu:moon_dust_harvester'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_2')), - text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(2, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_2')), + text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) }) event.addAdvanced(['gtceu:ostrum_harvester'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_harvester_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_harvester_2')), - text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_harvester_2')), + text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) }) event.addAdvanced(['gtceu: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(2, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_2')), + 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')), - text.add(2, Text.translate('gtceu.tooltip.machine.heat_exchanger_2')), - text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(4, Text.translate('tfg.tooltip.machine.subtick')), - text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + text.add(2, Text.translate('gtceu.tooltip.machine.heat_exchanger_2')), + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), + text.add(4, Text.translate('tfg.tooltip.machine.subtick')), + text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) }) event.addAdvanced(['gtceu:nuclear_fuel_factory'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_2')), - text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + text.add(2, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_2')), + text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')) }) event.addAdvanced(['gtceu:steam_bloomery'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.steam_bloomery_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_2')) + text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_2')) }) event.addAdvanced(['gtceu:large_chemical_reactor'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(2, Text.translate('tfg.tooltip.machine.subtick')) + text.add(2, Text.translate('tfg.tooltip.machine.subtick')) }) // Insulation event.addAdvanced(['create:copper_diving_helmet', 'create:copper_backtank', 'create:copper_diving_boots'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.copper_diving_suit_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.copper_diving_suit_insulation')) + text.add(2, Text.translate('tfg.tooltip.armor.copper_diving_suit_insulation')) }) event.addAdvanced(['create:netherite_diving_helmet', 'create:netherite_backtank', 'create:netherite_diving_boots', 'minecraft:netherite_leggings', 'minecraft:netherite_boots'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.netherite_diving_suit_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')) + text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')) text.add(3, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')) }) event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:advanced_nanomuscle_chestplate'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.nanomuscle_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')) + text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')) text.add(3, Text.translate('tfg.tooltip.armor.nanomuscle_set')) if (item === 'gtceu:nanomuscle_leggings') { text.add(4, Text.translate('tfg.tooltip.armor.nanomuscle_legs_buff')) @@ -105,7 +105,7 @@ const registerTooltips = (event) => { }) event.addAdvanced(['gtceu:quarktech_helmet', 'gtceu:quarktech_chestplate', 'gtceu:quarktech_leggings', 'gtceu:quarktech_boots', 'gtceu:advanced_quarktech_chestplate'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.quarktech_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.quarktech_insulation')) + text.add(2, Text.translate('tfg.tooltip.armor.quarktech_insulation')) text.add(3, Text.translate('tfg.tooltip.armor.quarktech_set')) }) event.addAdvanced([ @@ -114,7 +114,7 @@ const registerTooltips = (event) => { 'ad_astra:jet_suit_helmet', 'ad_astra:jet_suit', 'ad_astra:jet_suit_pants', 'ad_astra:jet_suit_boots' ], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.space_suit_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.space_suit_insulation')) + text.add(2, Text.translate('tfg.tooltip.armor.space_suit_insulation')) text.add(3, Text.translate('tfg.tooltip.armor.space_suit_set')) }) @@ -177,38 +177,38 @@ const registerTooltips = (event) => { event.addAdvanced(['species:petrified_egg'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.petrified_egg')) }) - + event.addAdvanced(['tfg:sniffer_egg'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.attribution.sniffer')), - text.add(2, Text.translate('tfg.tooltip.large_egg')) + text.add(2, Text.translate('tfg.tooltip.large_egg')) }) - + event.addAdvanced(['tfg:wraptor_egg'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.attribution.wraptor')), - text.add(2, Text.translate('tfg.tooltip.large_egg')) + text.add(2, Text.translate('tfg.tooltip.large_egg')) }) - + event.addAdvanced(['tfg:sniffer_wool'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.sniffer_wool')) }) - + event.addAdvanced(['tfg:wraptor_wool'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.wraptor_wool')) }) - + event.addAdvanced(['tfg:wraptor_sugar'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.wraptor_sugar')) }) - + // Temperature changing foods event.addAdvanced(['#tfg:cooling_foods'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.cooling_foods')) }) - + event.addAdvanced(['#tfg:cooling_foods_strong'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.cooling_foods_strong')) }) - + event.addAdvanced(['#tfg:warming_foods'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.warming_foods')) }) @@ -311,7 +311,7 @@ const registerTooltips = (event) => { text.add(2, Text.translate("tfg.tooltip.cheese_slice_microplastics")) }; }); - + // AE2 event.addAdvanced(['tfg:wireless_card'], (item, advanced, text) => { @@ -324,4 +324,45 @@ const registerTooltips = (event) => { event.addAdvanced(['vintageimprovements:lathe'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.obsolete.depreciated')) }) + + // Drink effects + event.addAdvanced(['tfc_gurman:compote_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Jump Boost (00:30)").blue()); + }) + event.addAdvanced(['tfc_gurman:kvass_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Strength (01:20)").blue()); + text.add(2, Text.translate('tfg.tooltip.cooling_foods')); + }) + event.addAdvanced(['tfc_gurman:lemonade_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Haste (00:30)").blue()); + text.add(2, Text.translate('tfg.tooltip.cooling_foods')); + }) + event.addAdvanced(['tfc_gurman:coffee_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Speed (00:30)").blue()); + text.add(2, Text.translate('tfg.tooltip.warming_foods')); + }) + event.addAdvanced(['tfc_gurman:cocoa_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Haste (00:30)").blue()); + text.add(2, Text.translate('tfg.tooltip.warming_foods')); + }) + event.addAdvanced(['tfc_gurman:tea_mint_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Regeneration (00:30)").blue()); + text.add(2, Text.translate('tfg.tooltip.warming_foods')); + }) + event.addAdvanced(['tfc_gurman:tea_chamomile_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Resistance (00:30)").blue()); + text.add(2, Text.translate('tfg.tooltip.warming_foods')); + }) + event.addAdvanced(['tfc_gurman:tea_nettle_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Slow Falling (00:30)").blue()); + text.add(2, Text.translate('tfg.tooltip.warming_foods')); + }) + event.addAdvanced(['tfc_gurman:tea_rosehip_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Absorption (00:30)").blue()); + text.add(2, Text.translate('tfg.tooltip.warming_foods')); + }) + event.addAdvanced(['tfc_gurman:nalivka_bucket'], (item, advanced, text) => { + text.add(1, Text.of("Strength (02:40)").blue()); + text.add(2, Text.translate('tfg.tooltip.cooling_foods')); + }) } From 66d3d6338a5bddb951c064ed692e5a09d8092b8c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 22:28:33 +0000 Subject: [PATCH 176/628] langs + emi cats for coal_liquefaction_tower --- 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 +- .../assets/emi/category/properties/create_spout_filling.json | 2 +- .../emi/category/properties/diggerhelmet_helmet_repair.json | 2 +- .../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 +- .../emi/category/properties/greate_automatic_shaped.json | 2 +- .../emi/category/properties/greate_automatic_shapeless.json | 2 +- .../assets/emi/category/properties/greate_block_cutting.json | 2 +- .../emi/category/properties/gtceu_arc_furnace_recycling.json | 2 +- .../category/properties/gtceu_coal_liquefaction_tower.json | 1 + kubejs/assets/emi/category/properties/gtceu_cracker.json | 2 +- .../emi/category/properties/gtceu_electric_blast_furnace.json | 2 +- .../emi/category/properties/gtceu_evaporation_tower.json | 2 +- .../emi/category/properties/gtceu_extractor_recycling.json | 2 +- .../assets/emi/category/properties/gtceu_fission_reactor.json | 2 +- .../assets/emi/category/properties/gtceu_fusion_reactor.json | 2 +- kubejs/assets/emi/category/properties/gtceu_greenhouse.json | 2 +- .../assets/emi/category/properties/gtceu_heat_exchanger.json | 2 +- .../emi/category/properties/gtceu_implosion_compressor.json | 2 +- .../emi/category/properties/gtceu_macerator_recycling.json | 2 +- .../emi/category/properties/gtceu_moon_dust_harvester.json | 2 +- .../emi/category/properties/gtceu_nuclear_fuel_factory.json | 2 +- .../emi/category/properties/gtceu_ostrum_harvester.json | 2 +- .../category/properties/gtceu_ostrum_linear_accelerator.json | 2 +- .../emi/category/properties/gtceu_programmed_circuit.json | 2 +- .../assets/emi/category/properties/gtceu_pyrolyse_oven.json | 2 +- .../emi/category/properties/gtceu_research_station.json | 2 +- .../assets/emi/category/properties/gtceu_steam_bloomery.json | 2 +- .../assets/emi/category/properties/gtceu_vacuum_freezer.json | 2 +- kubejs/assets/emi/category/properties/gtceu_wire_coating.json | 2 +- kubejs/assets/emi/category/properties/minecraft_smithing.json | 2 +- .../emi/category/properties/minecraft_stonecutting.json | 2 +- .../assets/emi/category/properties/tacz_attachment_query.json | 2 +- .../emi/category/properties/taczammoquery_ammo_query.json | 2 +- kubejs/assets/gtceu/lang/en_us.json | 4 ++++ kubejs/assets/gtceu/lang/ja_jp.json | 2 ++ kubejs/assets/gtceu/lang/ru_ru.json | 2 ++ kubejs/assets/gtceu/lang/uk_ua.json | 2 ++ kubejs/assets/gtceu/lang/zh_cn.json | 2 ++ 46 files changed, 53 insertions(+), 40 deletions(-) create mode 100644 kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json index b17f1447b..d93ff1dfd 100644 --- a/kubejs/assets/emi/category/properties/ae2_condenser.json +++ b/kubejs/assets/emi/category/properties/ae2_condenser.json @@ -1 +1 @@ -{"ae2:condenser":{"order":155}} \ No newline at end of file +{"ae2:condenser":{"order":156}} \ 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 43e5f7899..bd9501a4b 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":169}} \ No newline at end of file +{"ae2:p2p_attunement":{"order":170}} \ 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 e19af12d3..383c4ec61 100644 --- a/kubejs/assets/emi/category/properties/create_draining.json +++ b/kubejs/assets/emi/category/properties/create_draining.json @@ -1 +1 @@ -{"create:draining":{"order":170}} \ No newline at end of file +{"create:draining":{"order":171}} \ 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 7612fa34a..782ccd548 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":171}} \ No newline at end of file +{"create:spout_filling":{"order":172}} \ 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 40b765696..7715f2c79 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":164}} \ No newline at end of file +{"diggerhelmet:helmet_repair":{"order":165}} \ 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 2e8a327eb..b8c07b028 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":168}} \ No newline at end of file +{"domum_ornamentum:architects_cutter":{"order":169}} \ 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 363b89220..0393e9cd7 100644 --- a/kubejs/assets/emi/category/properties/emi_info.json +++ b/kubejs/assets/emi/category/properties/emi_info.json @@ -1 +1 @@ -{"emi:info":{"order":176}} \ No newline at end of file +{"emi:info":{"order":177}} \ 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 9cd71379e..d51c31551 100644 --- a/kubejs/assets/emi/category/properties/emi_tag.json +++ b/kubejs/assets/emi/category/properties/emi_tag.json @@ -1 +1 @@ -{"emi:tag":{"order":177}} \ No newline at end of file +{"emi:tag":{"order":178}} \ 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 3f27036cb..4659a3036 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":172}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":173}} \ 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 5b9322332..a95aa8971 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":167}} \ No newline at end of file +{"framedblocks:framing_saw":{"order":168}} \ 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 e7f06ec0d..4ed74f9cf 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":161}} \ No newline at end of file +{"greate:automatic_packing":{"order":162}} \ 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 9a36d1d00..552776e1d 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":159}} \ No newline at end of file +{"greate:automatic_shaped":{"order":160}} \ 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 0e4bfe0a8..76cb5fc0f 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":160}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":161}} \ 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 51e3a6db3..32291d555 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":166}} \ No newline at end of file +{"greate:block_cutting":{"order":167}} \ 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 975ed9d6f..7bd34d260 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":156}} \ No newline at end of file +{"gtceu:arc_furnace_recycling":{"order":157}} \ 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 new file mode 100644 index 000000000..7c3d1662f --- /dev/null +++ b/kubejs/assets/emi/category/properties/gtceu_coal_liquefaction_tower.json @@ -0,0 +1 @@ +{"gtceu:coal_liquefaction_tower":{"order":138}} \ 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 90b331296..f2f6ef99b 100644 --- a/kubejs/assets/emi/category/properties/gtceu_cracker.json +++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json @@ -1 +1 @@ -{"gtceu:cracker":{"order":138}} \ No newline at end of file +{"gtceu:cracker":{"order":139}} \ 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 dcc94aa76..a06f87714 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":139}} \ No newline at end of file +{"gtceu:electric_blast_furnace":{"order":140}} \ 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 42f96a464..6384d23bf 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":140}} \ No newline at end of file +{"gtceu:evaporation_tower":{"order":141}} \ 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 982bf12a9..66fd8482e 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":158}} \ No newline at end of file +{"gtceu:extractor_recycling":{"order":159}} \ 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_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_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_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json index 5b7aef975..5aca7e4c1 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":146}} \ No newline at end of file +{"gtceu:implosion_compressor":{"order":147}} \ 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 a472a647f..b1f97cf11 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":157}} \ No newline at end of file +{"gtceu:macerator_recycling":{"order":158}} \ 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 51a008a43..8a2e96e89 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":147}} \ No newline at end of file +{"gtceu:nuclear_fuel_factory":{"order":148}} \ 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 378a9ae96..603588c05 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":148}} \ No newline at end of file +{"gtceu:ostrum_harvester":{"order":149}} \ 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 d79f9c1c2..3780fcead 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":141}} \ No newline at end of file +{"gtceu:ostrum_linear_accelerator":{"order":142}} \ 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 09f1e4aab..dfdee2005 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":175}} \ No newline at end of file +{"gtceu:programmed_circuit":{"order":176}} \ 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 06e73dd54..0f17dc482 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":150}} \ No newline at end of file +{"gtceu:pyrolyse_oven":{"order":151}} \ 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 101cd325b..457059489 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":151}} \ No newline at end of file +{"gtceu:research_station":{"order":152}} \ 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 6b9b3280b..1949f1005 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":152}} \ No newline at end of file +{"gtceu:steam_bloomery":{"order":153}} \ 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 a0b6f9420..614f09279 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":153}} \ No newline at end of file +{"gtceu:vacuum_freezer":{"order":154}} \ 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 48e295b37..ba9471c06 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":154}} \ No newline at end of file +{"gtceu:wire_coating":{"order":155}} \ 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 f7b371f7c..8e40f1250 100644 --- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json +++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json @@ -1 +1 @@ -{"minecraft:stonecutting":{"order":165}} \ No newline at end of file +{"minecraft:stonecutting":{"order":166}} \ 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..0e6a31d02 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":174}} \ 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..d1f3145d1 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":175}} \ 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 3e0db12ec..75e37e8d1 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -14,6 +14,7 @@ "block.gtceu.ostrum_harvester": "Ostrum Harvester", "block.gtceu.moon_dust_harvester": "Moon Dust Harvester", "block.gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "block.gtceu.coal_liquefaction_tower": "Coal Liquefaction Tower", "block.gtceu.ulv_super_tank": "Basic Super Tank", "block.gtceu.ulv_super_chest": "Basic Super Chest", "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", @@ -49,6 +50,7 @@ "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", + "gtceu.coal_liquefaction_tower": "Coal Liquefaction", "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", @@ -190,6 +192,8 @@ "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", "item.gtceu.tool.butchery_knife.tooltip": "§cButcher:§r Butchers animals for more meat", + "item.gtceu.tool.tooltip.repair_info": "", + "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.jei.bedrock_fluid.moon_helium": "Lunar Helium", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index f9f11dabd..76710365f 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -188,6 +188,8 @@ "metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore", "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", "item.gtceu.tool.butchery_knife.tooltip": "§cButcher:§r Butchers animals for more meat", + "item.gtceu.tool.tooltip.repair_info": "", + "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.jei.bedrock_fluid.moon_helium": "ヘリウム", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index e4fe80cc7..454e2cfd3 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -177,6 +177,8 @@ "metaitem.crushed.tooltip.purify": "Бросьте в источник воды или нажмите ПКМ по котлу, для получения очищенной руды", "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", "item.gtceu.tool.butchery_knife.tooltip": "§cButcher:§r Butchers animals for more meat", + "item.gtceu.tool.tooltip.repair_info": "", + "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.jei.bedrock_fluid.moon_helium": "Lunar Helium", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 4e90c15fe..d38506694 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -178,6 +178,8 @@ "metaitem.crushed.tooltip.purify": "Киньте у воду, щоб отримати очищену руду", "item.gtceu.tool.behavior.silk_ice": "§dСкульптор:§r Шовк збирає ущільнений лід", "item.gtceu.tool.butchery_knife.tooltip": "§cМ’ясник:§r Забиває тварин для отримання більшої кількості м’яса", + "item.gtceu.tool.tooltip.repair_info": "", + "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7Не видобуває рідини", "gtceu.machine.hp_steam_extractor.tooltip": "§7Не видобуває рідини", "gtceu.jei.bedrock_fluid.moon_helium": "Місячний Гелій", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 97ccf2c09..ce2013ff2 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -188,6 +188,8 @@ "metaitem.crushed.tooltip.purify": "投入水中可获得纯净矿石", "item.gtceu.tool.behavior.silk_ice": "§d雕刻家:§r 可用精准采集获取浮冰", "item.gtceu.tool.butchery_knife.tooltip": "§屠夫:§r 屠宰动物可获得更多肉类", + "item.gtceu.tool.tooltip.repair_info": "", + "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7不能提取流体", "gtceu.machine.hp_steam_extractor.tooltip": "§7不能提取流体", "gtceu.jei.bedrock_fluid.moon_helium": "月球氦气", From d6cf64c67b05c507b37db51cd420f0838416d1a4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 30 Nov 2025 22:39:05 +0000 Subject: [PATCH 177/628] turns out jump boost 1 is basically useless --- kubejs/client_scripts/tooltips.js | 2 +- kubejs/data/tfc/tfc/drinkables/compote.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 2684c7af0..2bf5401c8 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -327,7 +327,7 @@ const registerTooltips = (event) => { // Drink effects event.addAdvanced(['tfc_gurman:compote_bucket'], (item, advanced, text) => { - text.add(1, Text.of("Jump Boost (00:30)").blue()); + text.add(1, Text.of("Jump Boost II (00:30)").blue()); }) event.addAdvanced(['tfc_gurman:kvass_bucket'], (item, advanced, text) => { text.add(1, Text.of("Strength (01:20)").blue()); diff --git a/kubejs/data/tfc/tfc/drinkables/compote.json b/kubejs/data/tfc/tfc/drinkables/compote.json index 2b06c8802..6956998dd 100644 --- a/kubejs/data/tfc/tfc/drinkables/compote.json +++ b/kubejs/data/tfc/tfc/drinkables/compote.json @@ -5,7 +5,7 @@ { "type": "minecraft:jump_boost", "duration": 600, - "amplifier": 0 + "amplifier": 1 } ] } \ No newline at end of file From 53c5a20489b586495cceba02151d126b03d59dc4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 00:35:55 +0000 Subject: [PATCH 178/628] TFC Gurman integration (#2298) * started working on tfc-gurman integration * updated recipes, should be mostly good now? * pizza adjustments * meal bag tags * ugh these crafting table foods are gonna take 5ever * milk curdling and automation for new cheeses * moved these * Update tags.js Signed-off-by: Pyritie --------- Signed-off-by: Pyritie --- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/tfcgurman/recipes.js | 807 ++++++++++++++++++ kubejs/server_scripts/tfg/recipes.food.js | 81 +- .../tfg/recipes.miscellaneous.js | 25 - kubejs/server_scripts/tfg/tags.js | 13 +- kubejs/startup_scripts/tfc/constants.js | 33 +- 6 files changed, 888 insertions(+), 72 deletions(-) create mode 100644 kubejs/server_scripts/tfcgurman/recipes.js diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 5a544affb..ea9c4e1bc 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -270,6 +270,7 @@ ServerEvents.recipes(event => { registerTFCBetterBFRecipes(event) registerTFCLunchBoxRecipes(event) registerTFCGroomingStationRecipes(event) + registerTFCGurmanRecipes(event) registerTFGRecipes(event) registerTFCTextileRecipes(event) registerToolBeltRecipes(event) diff --git a/kubejs/server_scripts/tfcgurman/recipes.js b/kubejs/server_scripts/tfcgurman/recipes.js new file mode 100644 index 000000000..55de880ee --- /dev/null +++ b/kubejs/server_scripts/tfcgurman/recipes.js @@ -0,0 +1,807 @@ +// priority: 0 +"use strict"; + +function registerTFCGurmanRecipes(event) { + const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") + + //#region Food Oven Recipes + + // Pizzas + event.recipes.gtceu.food_oven('margarita_pizza') + .itemInputs('tfc_gurman:raw_margarita_pizza') + .itemOutputs('tfc_gurman:margarita_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/margarita_pizza', + [Ingredient.of('tfc_gurman:raw_margarita_pizza')], + TFC.isp.of('tfc_gurman:margarita_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('pepperoni_pizza') + .itemInputs('tfc_gurman:raw_pepperoni_pizza') + .itemOutputs('tfc_gurman:pepperoni_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/pepperoni_pizza', + [Ingredient.of('tfc_gurman:raw_pepperoni_pizza')], + TFC.isp.of('tfc_gurman:pepperoni_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('havai_pizza') + .itemInputs('tfc_gurman:raw_havai_pizza') + .itemOutputs('tfc_gurman:havai_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/havai_pizza', + [Ingredient.of('tfc_gurman:raw_havai_pizza')], + TFC.isp.of('tfc_gurman:havai_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('four_cheeses_pizza') + .itemInputs('tfc_gurman:raw_four_cheeses_pizza') + .itemOutputs('tfc_gurman:four_cheeses_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/four_cheeses_pizza', + [Ingredient.of('tfc_gurman:raw_four_cheeses_pizza')], + TFC.isp.of('tfc_gurman:four_cheeses_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('four_meats_pizza') + .itemInputs('tfc_gurman:raw_four_meats_pizza') + .itemOutputs('tfc_gurman:four_meats_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/four_meats_pizza', + [Ingredient.of('tfc_gurman:raw_four_meats_pizza')], + TFC.isp.of('tfc_gurman:four_meats_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('neapolitano_pizza') + .itemInputs('tfc_gurman:raw_neapolitano_pizza') + .itemOutputs('tfc_gurman:neapolitano_pizza') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/neapolitano_pizza', + [Ingredient.of('tfc_gurman:raw_neapolitano_pizza')], + TFC.isp.of('tfc_gurman:neapolitano_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('croissants') + .itemInputs('tfc_gurman:raw_croissants') + .itemOutputs('tfc_gurman:croissants') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/croissants', + [Ingredient.of('tfc_gurman:raw_croissants')], + TFC.isp.of('tfc_gurman:croissants').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('kiev_cutlets') + .itemInputs('tfc_gurman:raw_kiev_cutlets') + .itemOutputs('tfc_gurman:kiev_cutlets') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/kiev_cutlets', + [Ingredient.of('tfc_gurman:raw_kiev_cutlets')], + TFC.isp.of('tfc_gurman:kiev_cutlets').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('quiche') + .itemInputs('tfc_gurman:raw_quiche') + .itemOutputs('tfc_gurman:quiche') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/quiche', + [Ingredient.of('tfc_gurman:raw_quiche')], + TFC.isp.of('tfc_gurman:quiche').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('tandoori_chicken') + .itemInputs('tfc_gurman:raw_tandoori_chicken') + .itemOutputs('tfc_gurman:tandoori_chicken') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/tandoori_chicken', + [Ingredient.of('tfc_gurman:raw_tandoori_chicken')], + TFC.isp.of('tfc_gurman:tandoori_chicken').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('placinda') + .itemInputs('tfc_gurman:raw_placinda') + .itemOutputs('tfc_gurman:placinda') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/placinda', + [Ingredient.of('tfc_gurman:raw_placinda')], + TFC.isp.of('tfc_gurman:placinda').firmaLifeCopyDynamicFood().asCanonClass(), + []) + + event.recipes.gtceu.food_oven('tonkatsu') + .itemInputs('tfc_gurman:raw_tonkatsu') + .itemOutputs('tfc_gurman:tonkatsu') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/tonkatsu', + [Ingredient.of('tfc_gurman:raw_tonkatsu')], + TFC.isp.of('tfc_gurman:tonkatsu').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('takoyaki') + .itemInputs('tfc_gurman:raw_takoyaki') + .itemOutputs('tfc_gurman:takoyaki') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/takoyaki', + [Ingredient.of('tfc_gurman:raw_takoyaki')], + TFC.isp.of('tfc_gurman:takoyaki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('bulgogi') + .itemInputs('tfc_gurman:raw_bulgogi') + .itemOutputs('tfc_gurman:bulgogi') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/bulgogi', + [Ingredient.of('tfc_gurman:raw_bulgogi')], + TFC.isp.of('tfc_gurman:bulgogi').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('bratwurst') + .itemInputs('tfc_gurman:raw_bratwurst') + .itemOutputs('tfc_gurman:bratwurst') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/bratwurst', + [Ingredient.of('tfc_gurman:raw_bratwurst')], + TFC.isp.of('tfc_gurman:bratwurst').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('crepes') + .itemInputs('tfc_gurman:raw_crepes') + .itemOutputs('tfc_gurman:crepes') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/crepes', + [Ingredient.of('tfc_gurman:raw_crepes')], + TFC.isp.of('tfc_gurman:crepes').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('chebureki') + .itemInputs('tfc_gurman:raw_chebureki') + .itemOutputs('tfc_gurman:chebureki') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/chebureki', + [Ingredient.of('tfc_gurman:raw_chebureki')], + TFC.isp.of('tfc_gurman:chebureki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('khachapuri') + .itemInputs('tfc_gurman:raw_khachapuri') + .itemOutputs('tfc_gurman:khachapuri') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/khachapuri', + [Ingredient.of('tfc_gurman:raw_khachapuri')], + TFC.isp.of('tfc_gurman:khachapuri').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('lavash_wrap') + .itemInputs('tfc_gurman:raw_lavash_wrap') + .itemOutputs('tfc_gurman:lavash_wrap') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/lavash_wrap', + [Ingredient.of('tfc_gurman:raw_lavash_wrap')], + TFC.isp.of('tfc_gurman:lavash_wrap').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('syrniki') + .itemInputs('tfc_gurman:raw_syrniki') + .itemOutputs('tfc_gurman:syrniki') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/syrniki', + [Ingredient.of('tfc_gurman:raw_syrniki')], + TFC.isp.of('tfc_gurman:syrniki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + event.recipes.gtceu.food_oven('oladyi') + .itemInputs('tfc_gurman:raw_oladyi') + .itemOutputs('tfc_gurman:oladyi') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/oladyi', + [Ingredient.of('tfc_gurman:raw_oladyi')], + TFC.isp.of('tfc_gurman:oladyi').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + // Falafel - from soybean (no raw version) + event.recipes.gtceu.food_oven('falafel') + .itemInputs('tfc:food/soybean') + .itemOutputs('tfc_gurman:falafel') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/falafel', + [Ingredient.of('tfc:food/soybean')], + TFC.isp.of('tfc_gurman:falafel').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + // Pelmeni (cooking raw pelmeni) + event.recipes.gtceu.food_oven('pelmeni') + .itemInputs('tfc_gurman:raw_pelmeni') + .itemOutputs('tfc_gurman:pelmeni') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(200) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/pelmeni', + [Ingredient.of('tfc_gurman:raw_pelmeni')], + TFC.isp.of('tfc_gurman:pelmeni').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + // Vareniki (cooking raw vareniki) + event.recipes.gtceu.food_oven('vareniki') + .itemInputs('tfc_gurman:raw_vareniki') + .itemOutputs('tfc_gurman:vareniki') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(200) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_oven/vareniki', + [Ingredient.of('tfc_gurman:raw_vareniki')], + TFC.isp.of('tfc_gurman:vareniki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), + []) + + //#endregion + + //#region Food Processor Recipes + + // Borscht + event.recipes.gtceu.food_processor('borscht') + .circuit(20) + .itemInputs('tfc:food/beet', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato') + .itemOutputs('3x tfc_gurman:borscht') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/borscht', + [Ingredient.of('tfc:food/beet'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato')], + TFC.isp.of('tfc_gurman:borscht').copyFood().asCanonClass(), + []) + + // Schi + event.recipes.gtceu.food_processor('schi') + .circuit(20) + .itemInputs('tfc:food/cabbage', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato') + .itemOutputs('3x tfc_gurman:schi') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/schi', + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato')], + TFC.isp.of('tfc_gurman:schi').copyFood().asCanonClass(), + []) + + // Coffee + event.recipes.gtceu.food_processor('coffee') + .circuit(2) + .itemInputs('firmalife:food/roasted_cocoa_beans', 'firmalife:food/roasted_cocoa_beans') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:coffee', 1000)) + .duration(300) + .EUt(8) + + // Cocoa + event.recipes.gtceu.food_processor('cocoa') + .circuit(1) + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_powder', 'minecraft:sugar') + .inputFluids('#tfc:milks 1000') + .outputFluids(Fluid.of('tfc_gurman:cocoa', 1000)) + .duration(300) + .EUt(8) + + // Compote + event.recipes.gtceu.food_processor('compote') + .circuit(2) + .itemInputs('#tfc:foods/fruits', '#tfc:foods/fruits') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:compote', 1000)) + .duration(300) + .EUt(8) + + // Lemonade + event.recipes.gtceu.food_processor('lemonade') + .circuit(2) + .itemInputs('tfc:food/lemon', 'tfc:food/lemon') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:lemonade', 1000)) + .duration(1500) + .EUt(8) + + // Kvass + event.recipes.gtceu.food_processor('kvass') + .circuit(2) + .itemInputs('2x #tfc:foods/grains') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:kvass', 1000)) + .duration(2400) + .EUt(8) + + // Tea Mint + event.recipes.gtceu.food_processor('tea_mint') + .circuit(2) + .itemInputs('tfc_gurman:dried_mint_leaves', 'tfc_gurman:dried_mint_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_mint', 1000)) + .duration(300) + .EUt(8) + + // Tea Chamomile + event.recipes.gtceu.food_processor('tea_chamomile') + .circuit(2) + .itemInputs('tfc_gurman:dried_chamomile_leaves', 'tfc_gurman:dried_chamomile_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_chamomile', 1000)) + .duration(300) + .EUt(8) + + // Tea Rosehip + event.recipes.gtceu.food_processor('tea_rosehip') + .circuit(2) + .itemInputs('tfc_gurman:dried_rosehip_leaves', 'tfc_gurman:dried_rosehip_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_rosehip', 1000)) + .duration(300) + .EUt(8) + + // Tea Nettle + event.recipes.gtceu.food_processor('tea_nettle') + .circuit(2) + .itemInputs('tfc_gurman:dried_nettle_leaves', 'tfc_gurman:dried_nettle_leaves') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('tfc_gurman:tea_nettle', 1000)) + .duration(300) + .EUt(8) + + // Solyanka + event.recipes.gtceu.food_processor('solyanka') + .circuit(20) + .itemInputs('#tfc:foods/meats', 'tfc:food/cabbage', 'tfc:food/onion', 'tfc:food/tomato', 'tfc:food/olive') + .itemOutputs('3x tfc_gurman:solyanka') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/solyanka', + [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/olive')], + TFC.isp.of('tfc_gurman:solyanka').copyFood().asCanonClass(), + []) + + // Okroshka + event.recipes.gtceu.food_processor('okroshka') + .circuit(20) + .itemInputs('tfc:food/cabbage', 'tfc:food/tomato', 'tfc:food/potato', 'tfc:food/onion', 'minecraft:egg') + .itemOutputs('3x tfc_gurman:okroshka') + .inputFluids(Fluid.of('tfc_gurman:kvass', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/okroshka', + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:food/onion'), Ingredient.of('minecraft:egg')], + TFC.isp.of('tfc_gurman:okroshka').copyFood().asCanonClass(), + []) + + // Zama + event.recipes.gtceu.food_processor('zama') + .circuit(20) + .itemInputs('tfc:food/chicken', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:powder/salt', 'tfc:food/garlic') + .itemOutputs('3x tfc_gurman:zama') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/zama', + [Ingredient.of('tfc:food/chicken'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic')], + TFC.isp.of('tfc_gurman:zama').copyFood().asCanonClass(), + []) + + // Curry + event.recipes.gtceu.food_processor('curry') + .circuit(16) + .itemInputs('#tfc:foods/cooked_meats', '#tfc:foods/vegetables', 'tfc:powder/salt', 'tfc:food/cooked_rice') + .itemOutputs('3x tfc_gurman:curry') + .inputFluids('#tfc:milks 1000') + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/curry', + [Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/cooked_rice')], + TFC.isp.of('tfc_gurman:curry').copyFood().asCanonClass(), + []) + + // Goulash + event.recipes.gtceu.food_processor('goulash') + .circuit(16) + .itemInputs('#tfc:foods/raw_meats', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:goulash') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/goulash', + [Ingredient.of('#tfc:foods/raw_meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:goulash').copyFood().asCanonClass(), + []) + + // Pho + event.recipes.gtceu.food_processor('pho') + .circuit(16) + .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/garlic', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:pho') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/pho', + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:pho').copyFood().asCanonClass(), + []) + + // Bouillabaisse + event.recipes.gtceu.food_processor('bouillabaisse') + .circuit(16) + .itemInputs('#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:bouillabaisse') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/bouillabaisse', + [Ingredient.of('#firmalife:foods/raw_fish'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:bouillabaisse').copyFood().asCanonClass(), + []) + + // Ramen with Beef + event.recipes.gtceu.food_processor('ramen_beef') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/beef', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_beef') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_beef', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/beef'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_beef').copyFood().asCanonClass(), + []) + + // Ramen with Camelidae + event.recipes.gtceu.food_processor('ramen_camelidae') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/camelidae', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_camelidae') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_camelidae', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/camelidae'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_camelidae').copyFood().asCanonClass(), + []) + + // Ramen with Chevon + event.recipes.gtceu.food_processor('ramen_chevon') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/chevon', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_chevon') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_chevon', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/chevon'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_chevon').copyFood().asCanonClass(), + []) + + // Ramen with Bacon + event.recipes.gtceu.food_processor('ramen_bacon') + .circuit(21) + .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'firmalife:food/bacon', 'tfc:food/onion') + .itemOutputs('2x tfc_gurman:ramen_with_bacon') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_bacon', + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('tfc:food/onion')], + TFC.isp.of('tfc_gurman:ramen_with_bacon').copyFood().asCanonClass(), + []) + + // Biryani + event.recipes.gtceu.food_processor('biryani') + .circuit(20) + .itemInputs('tfc:food/rice_grain', '#tfc:foods/meats', 'tfc:food/onion', 'tfc:food/carrot', 'tfc:food/tomato') + .itemOutputs('3x tfc_gurman:biryani') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/biryani', + [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/tomato')], + TFC.isp.of('tfc_gurman:biryani').copyFood().asCanonClass(), + []) + + // Fried Rice + event.recipes.gtceu.food_processor('fried_rice') + .circuit(16) + .itemInputs('tfc:food/cooked_rice', '#forge:eggs', '#tfc:foods/vegetables', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:fried_rice') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/fried_rice', + [Ingredient.of('tfc:food/cooked_rice'), Ingredient.of('#forge:eggs'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:fried_rice').copyFood().asCanonClass(), + []) + + // Kimchi + event.recipes.gtceu.food_processor('kimchi') + .circuit(20) + .itemInputs('tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:kimchi') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/kimchi', + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:kimchi').copyFood().asCanonClass(), + []) + + // Dolma + event.recipes.gtceu.food_processor('dolma') + .circuit(16) + .itemInputs('#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt') + .itemOutputs('2x tfc_gurman:dolma') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/dolma', + [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/rice_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:dolma').copyFood().asCanonClass(), + []) + + // Spaghetti Bolognese + event.recipes.gtceu.food_processor('spaghetti_bolognese') + .circuit(18) + .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic') + .itemOutputs('3x tfc_gurman:spaghetti_bolognese') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/spaghetti_bolognese', + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic')], + TFC.isp.of('tfc_gurman:spaghetti_bolognese').copyFood().asCanonClass(), + []) + + // Pasta Carbonara + event.recipes.gtceu.food_processor('pasta_carbonara') + .circuit(18) + .itemInputs('firmalife:food/cooked_pasta', 'firmalife:food/bacon', 'minecraft:egg', 'firmalife:food/shredded_cheese', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:pasta_carbonara') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/pasta_carbonara', + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('minecraft:egg'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:pasta_carbonara').copyFood().asCanonClass(), + []) + + // Ratatouille + event.recipes.gtceu.food_processor('ratatouille') + .circuit(18) + .itemInputs('tfc:food/tomato', 'tfc:food/pumpkin_chunks', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic') + .itemOutputs('3x tfc_gurman:ratatouille') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/ratatouille', + [Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/pumpkin_chunks'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic')], + TFC.isp.of('tfc_gurman:ratatouille').copyFood().asCanonClass(), + []) + + // Risotto + event.recipes.gtceu.food_processor('risotto') + .circuit(18) + .itemInputs('tfc:food/rice_grain', '#firmalife:foods/cheeses', '#tfc:foods/vegetables') + .itemOutputs('3x tfc_gurman:risotto') + .inputFluids(Fluid.of('minecraft:water', 100)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/risotto', + [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#firmalife:foods/cheeses'), Ingredient.of('#tfc:foods/vegetables')], + TFC.isp.of('tfc_gurman:risotto').copyFood().asCanonClass(), + []) + + // Porridge + event.recipes.gtceu.food_processor('porridge') + .circuit(18) + .itemInputs('#tfc:foods/grains', 'tfc:powder/salt') + .itemOutputs('tfc_gurman:porridge') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/porridge', + [Ingredient.of('#tfc:foods/grains'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:porridge').copyFood().asCanonClass(), + []) + + // Mamaliga + event.recipes.gtceu.food_processor('mamaliga') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + event.recipes.gtceu.food_processor('mamaliga_2') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('2x tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_2', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + event.recipes.gtceu.food_processor('mamaliga_3') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('3x tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_3', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + event.recipes.gtceu.food_processor('mamaliga_4') + .circuit(16) + .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') + .itemOutputs('4x tfc_gurman:mamaliga') + .inputFluids(Fluid.of('minecraft:water', 250)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_4', + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + []) + + // Adjika + event.recipes.gtceu.food_processor('adjika') + .circuit(8) + .itemInputs('tfc:food/green_bell_pepper', 'tfc:food/red_bell_pepper', 'tfc:powder/salt', 'tfc:food/garlic', 'firmalife:plant/cilantro') + .itemOutputs('5x tfc_gurman:adjika') + .inputFluids(Fluid.of('minecraft:water', 500)) + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/adjika', + [Ingredient.of('tfc:food/green_bell_pepper'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic'), Ingredient.of('firmalife:plant/cilantro')], + TFC.isp.of('tfc_gurman:adjika').copyFood().asCanonClass(), + []) + + //#endregion + + // #region Drying + + event.recipes.gtceu.food_processor("dried_mint") + .itemInputs("tfc:plant/foxglove") + .itemOutputs("tfc_gurman:dried_mint_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + event.recipes.gtceu.food_processor("dried_chamomile") + .itemInputs("tfc:plant/lilac") + .itemOutputs("tfc_gurman:dried_chamomile_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + event.recipes.gtceu.food_processor("dried_rosehip") + .itemInputs("tfc:plant/rose") + .itemOutputs("tfc_gurman:dried_rosehip_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + event.recipes.gtceu.food_processor("dried_nettle") + .itemInputs("tfc:plant/trillium") + .itemOutputs("tfc_gurman:dried_nettle_leaves") + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .EUt(8) + .duration(200) + .circuit(6) + .addDataString("action", "tfg.food_recipe.drying") + + // #endregion Drying + + // #region Crafting table foods + + event.recipes.gtceu.food_processor('margarita_pizza') + .circuit(4) + .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') + .duration(300) + .EUt(8) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/margarita_pizza', + [Ingredient.of('firmalife:food/pizza_dough'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc_gurman:plant_mix'), Ingredient.of('firmalife:food/tomato_sauce')], + TFC.isp.of('tfc_gurman:raw_margarita_pizza').copyFood().asCanonClass(), + []) + + // #endregion + + // #region Replacements + + event.replaceInput({ id: "tfc_gurman:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); + + event.shapeless('4x tfc_gurman:raw_takoyaki', ['tfg:food/raw_crawlermari', '#tfc:foods/flour', '#forge:eggs', 'tfc:powder/salt']); + + // #endregion + + // TODO: + // buffs for the various drinks? +} diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js index 2b3753804..afffe2bce 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/recipes.food.js @@ -260,38 +260,55 @@ function registerTFGFoodRecipes(event) { global.TFC_CURDS_AND_CHEESES.forEach(item => { - processorRecipe(`${item.curd}_curd`, 1200, 16, { + event.recipes.gtceu.fermenter(`tfg:curdled_${item.id}`) + .inputFluids(Fluid.of(item.milk, 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of(item.curdled_fluid, 2000)) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.mixer(`lactose_milk_${item.id}`) + .circuit(1) + .inputFluids(Fluid.of(item.milk, 1000), Fluid.of('gtceu:acetic_acid', 25)) + .itemOutputs('1x gtceu:lactose_dust') + .outputFluids(Fluid.of(item.curdled_fluid, 1000)) + .duration(300) + .EUt(GTValues.VA[GTValues.LV]) + + processorRecipe(`${item.id}_curd`, 1200, 16, { itemOutputs: [item.curd], - fluidInputs: [Fluid.of(item.input_fluid, 1000)], + fluidInputs: [Fluid.of(item.curdled_fluid, 1000)], itemOutputProvider: TFC.isp.of(item.curd).resetFood() }) - processorRecipe(`${item.cheese1}_cheese_wheel_1`, 8000, 16, { + processorRecipe(`${item.id}_unsalted_cheese_wheel`, 8000, 16, { itemInputs: [`3x ${item.curd}`], - itemOutputs: [`firmalife:${item.cheese1}_wheel`], + itemOutputs: [item.unsalted_wheel], fluidInputs: [Fluid.of('tfc:salt_water', 750)], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese1}_wheel`).copyOldestFood() + itemOutputProvider: TFC.isp.of(item.unsalted_wheel).copyOldestFood() }) - processorRecipe(`${item.cheese2}_cheese_wheel_2`, 1000, 16, { + processorRecipe(`${item.id}_unsalted_cheese_cutting`, 100, 8, { + itemInputs: [item.unsalted_wheel], + itemOutputs: [`4x ${item.unsalted_cheese}`], + itemOutputProvider: TFC.isp.of(`4x ${item.unsalted_cheese}`).copyOldestFood() + }) + + if (item.salted_wheel === null || item.salted_cheese === null) + return; + + processorRecipe(`${item.id}_salted_cheese_wheel`, 1000, 16, { circuit: 2, itemInputs: [`3x ${item.curd}`, `6x tfc:powder/salt`], - itemOutputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese2}_wheel`).copyOldestFood() + itemOutputs: [item.salted_wheel], + itemOutputProvider: TFC.isp.of(item.salted_wheel).copyOldestFood() }) - processorRecipe(`${item.cheese1}_cheese_cutting_1`, 100, 8, { - itemInputs: [`firmalife:${item.cheese1}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese1}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese1}`).copyOldestFood() + processorRecipe(`${item.id}_salted_cheese_cutting`, 100, 8, { + itemInputs: [item.salted_wheel], + itemOutputs: [`4x ${item.salted_cheese}`], + itemOutputProvider: TFC.isp.of(`4x ${item.salted_cheese}`).copyOldestFood() }) - - processorRecipe(`${item.cheese2}_cheese_cutting_2`, 100, 8, { - itemInputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese2}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese2}`).copyOldestFood() - }) - }) // Milks @@ -670,6 +687,7 @@ function registerTFGFoodRecipes(event) { //#region Pizza processorRecipe("pizza_no_extra", 600, 16, { + circuit: 3, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], itemOutputs: ["firmalife:food/raw_pizza"], itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( @@ -678,7 +696,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("pizza_1_extra", 600, 16, { + processorRecipe("pizza_1_extra", 600, GTValues.VHA[GTValues.MV], { circuit: 1, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "#firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -688,7 +706,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("pizza_2_extra", 600, 16, { + processorRecipe("pizza_2_extra", 600, GTValues.VHA[GTValues.MV], { circuit: 2, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "2x #firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -1111,27 +1129,6 @@ function registerTFGFoodRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) .duration(600) - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') - .inputFluids(Fluid.of('minecraft:milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('tfc:curdled_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') - .inputFluids(Fluid.of('firmalife:yak_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') - .inputFluids(Fluid.of('firmalife:goat_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 2000)) - .duration(2400) - .EUt(16) - // GT cocoa dust compat event.recipes.gtceu.macerator('firmalife:food/cocoa_powder') .itemInputs('gtceu:cocoa_dust') diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 7684b5210..38d61ef34 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -108,31 +108,6 @@ function registerTFGMiscellaneousRecipes(event) { .id('tfg:knapping/decorative_vase/unfired') - // lactose & curd - event.recipes.gtceu.mixer('lactose_milk_cow') - .circuit(1) - .inputFluids(Fluid.of('minecraft:milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) - .itemOutputs('1x gtceu:lactose_dust') - .outputFluids(Fluid.of('tfc:curdled_milk', 1000)) - .duration(300) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.mixer('lactose_milk_yak') - .circuit(1) - .inputFluids(Fluid.of('firmalife:yak_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) - .itemOutputs('1x gtceu:lactose_dust') - .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) - .duration(300) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.mixer('lactose_milk_goat') - .circuit(1) - .inputFluids(Fluid.of('firmalife:goat_milk', 1000), Fluid.of('gtceu:acetic_acid', 25)) - .itemOutputs('1x gtceu:lactose_dust') - .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) - .duration(300) - .EUt(GTValues.VA[GTValues.LV]) - //Scaffolding Frame event.shaped('tfg:scaffolding_frame', [ diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 8855d5292..44c610993 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -363,7 +363,10 @@ const registerTFGItemTags = (event) => { const cheeseCurds = [ 'firmalife:food/yak_curd', 'firmalife:food/goat_curd', - 'firmalife:food/milk_curd' + 'firmalife:food/milk_curd', + 'tfc_gurman:ox_curd', + 'tfc_gurman:sheep_curd', + 'tfc_gurman:alpaca_curd' ]; cheeseCurds.forEach(item => { event.add('tfg:foods/cheese_curds', item); @@ -478,7 +481,13 @@ const registerTFGItemTags = (event) => { 'firmalife:food/toast', 'firmalife:food/toast_with_butter', 'firmalife:food/toast_with_jam', - 'firmalife:food/butter' + 'firmalife:food/butter', + 'tfc_gurman:adjika', + 'tfc_gurman:tzatziki', + 'tfc_gurman:falafel', + 'tfc_gurman:hummus', + 'tfc_gurman:sauerkraut', + 'tfc_gurman:bratwurst' ]; usable_in_meal_bag.forEach(item => { event.add('tfg:foods/usable_in_meal_bag', item); diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index b249a5a56..ddb133edf 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1048,9 +1048,36 @@ global.TFC_MILKS = /** @type {const} */ ([ ]); global.TFC_CURDS_AND_CHEESES = /** @type {const} */ ([ - { id: "milk", input_fluid: "tfc:curdled_milk", curd: "firmalife:food/milk_curd", cheese1: "gouda", cheese2: "cheddar"}, - { id: "yak", input_fluid: "firmalife:curdled_yak_milk", curd: "firmalife:food/yak_curd", cheese1: "shosha", cheese2: "rajya_metok"}, - { id: "goat", input_fluid: "firmalife:curdled_goat_milk", curd: "firmalife:food/goat_curd", cheese1: "feta", cheese2: "chevre"} + { + id: "cow", milk: "minecraft:milk", curdled_fluid: "tfc:curdled_milk", curd: "firmalife:food/milk_curd", + unsalted_cheese: "firmalife:food/gouda", unsalted_wheel: "firmalife:gouda_wheel", + salted_cheese: "firmalife:food/cheddar", salted_wheel: "firmalife:cheddar_wheel" + }, + { + id: "yak", milk: "firmalife:yak_milk", curdled_fluid: "firmalife:curdled_yak_milk", curd: "firmalife:food/yak_curd", + unsalted_cheese: "firmalife:food/shosha", unsalted_wheel: "firmalife:shosha_wheel", + salted_cheese: "firmalife:food/rajya_metok", salted_wheel: "firmalife:rajya_metok_wheel" + }, + { + id: "goat", milk: "firmalife:goat_milk", curdled_fluid: "firmalife:curdled_goat_milk", curd: "firmalife:food/goat_curd", + unsalted_cheese: "firmalife:food/feta", unsalted_wheel: "firmalife:feta_wheel", + 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", + 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", + 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", + salted_cheese: null, salted_wheel: null + } ]); global.TFC_DRY_MUD_BRICKS = /** @type {const} */ ([ From b655e008236d9c9f46bbd784d0234254336a4aec Mon Sep 17 00:00:00 2001 From: Tyler Date: Sun, 30 Nov 2025 18:36:25 -0600 Subject: [PATCH 179/628] expand the Facade Whitelist (#2299) * expand the Facade Whitelist 1. add Reconstituted Stone blocks (likely missing due to oversight) 2. fixes Domum Ornamentum Bricks missing (due to a typo) Both groups seem intended to be whitelisted. Of the variants, only the "normal" Reconstituted Stone is already whitelisted (due to being a **storage block**). This PR adds each missing Reconstituted Stone variant individually, but using `forge` or `minecraft` tags for stone/bricks (rather than the `tfc` tag) may be better. I'm unfamiliar with the best & recommended practices. Signed-off-by: Tyler * Update tags.facades.js Signed-off-by: Tyler * add Reconstituted Stone blocks Signed-off-by: Tyler --------- Signed-off-by: Tyler --- kubejs/server_scripts/tfg/tags.facades.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/tags.facades.js b/kubejs/server_scripts/tfg/tags.facades.js index 13c5b8ea6..cb12fa3e3 100644 --- a/kubejs/server_scripts/tfg/tags.facades.js +++ b/kubejs/server_scripts/tfg/tags.facades.js @@ -23,7 +23,7 @@ function registerFacadeWhitelistTags(event) { '#minecraft:terracotta', '#forge:concretes', '#create:casing', - '#dormum_ornamentum:brick_items', + '#domum_ornamentum:brick_items', '#simplylight:any_lamp_on', '#simplylight:any_lamp_off', '#minecraft:planks', @@ -38,7 +38,14 @@ function registerFacadeWhitelistTags(event) { '#tfg:ad_astra_calorite_blocks', '#tfg:ad_astra_etrium_blocks', '#tfg:titanium_concrete', - + + //reconstituted stone blocks + 'minecraft:smooth_stone', + 'minecraft:stone_bricks', + 'minecraft:cracked_stone_bricks', + 'minecraft:chiseled_stone_bricks', + 'minecraft:mossy_stone_bricks', + //rnr shingles 'rnr:ceramic_roof', 'rnr:terracotta_roof', From 92c5f7df73868404b96e69d8226c951d2fda3257 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 00:38:35 +0000 Subject: [PATCH 180/628] changelog for #2299 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25229728c..66e4c1972 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ Added TFC Gurman, which adds even more food and drink - Fixed some recipe imbalances with trimethyl borate and related recipes @Pyritie - Fixed not being able to feed meat to the Cruncher (#2305) @Pyritie - Hopefully fixed rockets without a pilot getting stuck and not exploding? (#2137) @Pyritie +- Fixed some missing blocks from the GT facade whitelist (#2299) @MoltonMontro ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra From 8167daf5445881bc3b7bdf626df79d89569bb98a Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Mon, 1 Dec 2025 17:58:51 +0800 Subject: [PATCH 181/628] =?UTF-8?q?fix:=20update=20mis=20translations=20in?= =?UTF-8?q?=20zh=5Fch,=20change=20Location=20to=20=E4=BD=8D=E7=BD=AE=20(#2?= =?UTF-8?q?310)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 闫茂源 --- .../field_guide/zh_cn/entries/tfg_tips/space_crops.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json index 18893bb4a..aa0245291 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json @@ -211,7 +211,7 @@ }, { "type": "patchouli:text", - "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 40 %$(br)$(bold)营养物质$(): 磷$(br2)波鲁克斯菌 是单方块作物。波鲁克斯菌孢子可以种植在农田上,会产出$(item)波鲁克斯菌$(),可以作为$(thing)蔬菜$()食用。$(br2)建议在食用前$(item)烹饪$() 波鲁克斯菌。", + "text": "$(bold)位置$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 40 %$(br)$(bold)营养物质$(): 磷$(br2)波鲁克斯菌 是单方块作物。波鲁克斯菌孢子可以种植在农田上,会产出$(item)波鲁克斯菌$(),可以作为$(thing)蔬菜$()食用。$(br2)建议在食用前$(item)烹饪$() 波鲁克斯菌。", "title": "波鲁克斯菌" }, { @@ -290,7 +290,7 @@ }, { "type": "patchouli:text", - "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -100 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 60 %$(br)$(bold)营养物质$(): 氮$(br2)球茎南瓜 是会伸展的作物。球茎南瓜种子可以种植在农田上,并且当它成熟时,会在它旁边的地上放置最多两个$(item)球茎南瓜方块$()。如果球茎南瓜方块被收获,并且球茎藤重新成熟,它可以长出更多球茎南瓜。球茎南瓜可以作为$(thing)水果$()食用,或者用来生产萤石粉。", + "text": "$(bold)位置$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -100 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 60 %$(br)$(bold)营养物质$(): 氮$(br2)球茎南瓜 是会伸展的作物。球茎南瓜种子可以种植在农田上,并且当它成熟时,会在它旁边的地上放置最多两个$(item)球茎南瓜方块$()。如果球茎南瓜方块被收获,并且球茎藤重新成熟,它可以长出更多球茎南瓜。球茎南瓜可以作为$(thing)水果$()食用,或者用来生产萤石粉。", "title": "球茎南瓜" }, { @@ -398,7 +398,7 @@ { "type": "patchouli:text", "title": "查尔米菌丛", - "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 40 %$(br)$(bold)营养物质$(): 磷$(br2)查尔米菌丛是单方块作物。查尔米菌孢子可以种植在农田上,会产出$(item)查尔米菌$(),可以作为$(thing)蔬菜$()食用。$(br2)建议在食用前$(item)烹饪$() 波鲁克斯菌。" + "text": "$(bold)位置$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -150 - 15 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 0 - 40 %$(br)$(bold)营养物质$(): 磷$(br2)查尔米菌丛是单方块作物。查尔米菌孢子可以种植在农田上,会产出$(item)查尔米菌$(),可以作为$(thing)蔬菜$()食用。$(br2)建议在食用前$(item)烹饪$() 波鲁克斯菌。" }, { "type": "tfc:multimultiblock", @@ -477,7 +477,7 @@ { "type": "patchouli:text", "title": "夜影浆果", - "text": "$(bold)Location$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -80 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 50 - 100 %$(br)$(bold)营养物质$(): 磷$(br2)夜影浆果是单方块作物。夜影浆果种子可以种植在农田上,会产出$(item)夜影浆果$(),可以作为$(thing)水果$()食用。$(br2)建议在食用前$(item)烹饪$() 夜影浆果。" + "text": "$(bold)位置$(): 火星$(br)$(bold)$(l:the_world/climate#temperature)温度$(): -80 - 30 °C$(br)$(bold)$(l:mechanics/hydration)湿度$(): 50 - 100 %$(br)$(bold)营养物质$(): 磷$(br2)夜影浆果是单方块作物。夜影浆果种子可以种植在农田上,会产出$(item)夜影浆果$(),可以作为$(thing)水果$()食用。$(br2)建议在食用前$(item)烹饪$() 夜影浆果。" }, { "type": "tfc:multimultiblock", From 616a1462465a91f3f3948429fcad27f7bf5ab16e Mon Sep 17 00:00:00 2001 From: Spicy Noodles <93035068+SpicyNoodle5@users.noreply.github.com> Date: Mon, 1 Dec 2025 10:01:26 +0000 Subject: [PATCH 182/628] Perfect Tungsten Line Looping (#2267) * Fix soda ash looping * Rebalance tungstic acid quantity * Update tungsten line quests to reflect changes * Factor in the remaining 1B oxygen * Revert quest changes * Keep base GT salt -> sodium bicarbonate --------- Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/gregtech/recipes.js | 32 ++++++++++++----------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 816f01032..b289ec1b2 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1680,15 +1680,15 @@ const registerGTCEURecipes = (event) => { event.recipes.gtceu.large_chemical_reactor('tfg:scheelite_to_sodium_tungstate') .itemInputs(Item.of('gtceu:scheelite_dust', 6)) .itemInputs(Item.of('gtceu:soda_ash_dust', 6)) - .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 6)) - .itemOutputs(Item.of('gtceu:calcite_dust', 6)) + .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7)) + .itemOutputs(Item.of('gtceu:calcite_dust', 5)) .duration(20*12) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.large_chemical_reactor('tfg:tungstate_to_sodium_tungstate') - .itemInputs(Item.of('gtceu:tungstate_dust', 6)) + .itemInputs(Item.of('gtceu:tungstate_dust', 7)) .itemInputs(Item.of('gtceu:soda_ash_dust', 6)) - .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 6)) + .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7)) .itemOutputs(Item.of('gtceu:lithium_dust', 2)) .itemOutputs(Item.of('gtceu:carbon_dust', 1)) .outputFluids(Fluid.of('gtceu:oxygen', 3000)) @@ -1696,16 +1696,16 @@ const registerGTCEURecipes = (event) => { .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_bath('tfg:tungstate_to_tungsten_acid') - .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 12000)) - .itemInputs(Item.of('tfg:sodium_tungstate_dust', 6)) - .itemOutputs(Item.of('gtceu:salt_dust', 48)) - .itemOutputs(Item.of('gtceu:tungstic_acid_dust', 6)) + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000)) + .itemInputs(Item.of('tfg:sodium_tungstate_dust', 7)) + .itemOutputs(Item.of('gtceu:salt_dust', 4)) + .itemOutputs(Item.of('gtceu:tungstic_acid_dust', 7)) .duration(20*24) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.chemical_bath('tfg:tungsten_acid_to_ammonium_tungstate') .inputFluids(Fluid.of('gtceu:ammonia', 10000)) - .itemInputs(Item.of('gtceu:tungstic_acid_dust', 12)) + .itemInputs(Item.of('gtceu:tungstic_acid_dust', 7)) .itemOutputs(Item.of('tfg:ammonium_tungstate_dust', 1)) .duration(20*16) .EUt(GTValues.VA[GTValues.EV]) @@ -1719,19 +1719,19 @@ const registerGTCEURecipes = (event) => { .outputFluids(Fluid.of('gtceu:hydrogen', 500)) .outputFluids(Fluid.of('gtceu:hydrogen', 500)) .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .duration(20*90) + .duration(20*48) .EUt(GTValues.VHA[GTValues.HV]) event.recipes.gtceu.distillery('tfg:ammonium_tungstate_to_apt') .itemInputs(Item.of('tfg:ammonium_tungstate_dust', 1)) .itemOutputs(Item.of('tfg:apt_gem', 1)) .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .duration(20*90) + .duration(20*48) .EUt(GTValues.VHA[GTValues.HV]) - + event.recipes.gtceu.pyrolyse_oven('tfg:apt') .itemInputs(Item.of('tfg:apt_gem', 1)) - .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 3)) + .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1)) .outputFluids(Fluid.of('gtceu:ammonia', 10000)) .duration(20*36) .EUt(GTValues.VA[GTValues.EV]) @@ -1740,7 +1740,7 @@ const registerGTCEURecipes = (event) => { event.recipes.gtceu.pyrolyse_oven('tfg:apt_nitrogen') .itemInputs(Item.of('tfg:apt_gem', 1)) .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) - .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 3)) + .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1)) .outputFluids(Fluid.of('gtceu:ammonia', 10000)) .duration(20*18) .EUt(GTValues.VA[GTValues.EV]) @@ -1748,10 +1748,12 @@ const registerGTCEURecipes = (event) => { event.recipes.gtceu.arc_furnace('tfg:tungsten_apt') .itemInputs(Item.of('tfg:tungsten_oxide_dust', 1)) - .inputFluids(Fluid.of('gtceu:hydrogen', 1000)) + .inputFluids(Fluid.of('gtceu:hydrogen', 3000)) .itemOutputs(Item.of('gtceu:tungsten_dust', 1)) .duration(20*2.8) .EUt(GTValues.VA[GTValues.EV]) + + //#endregion // New Alloys From 2f2696eb94d242cd0e91b8f5d0e184584dd4367a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 10:58:04 +0000 Subject: [PATCH 183/628] update changelog --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66e4c1972..6b11c7395 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,15 @@ # Changelog ## [Unreleased] +### Breaking Changes +- The tungsten processing line has been updated to now properly loop and balance all of its intermediates. The actual processes haven't changed, just the numbers, so you shouldn't have to change your setup much. It now also outputs a little extra oxygen instead of sodium (#2267) @SpicyNoodle5 @TomPlop ### Mod updates New GregTech updates, both [7.3.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.3.0-1.20.1) and [7.4.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.4.0-1.20.1). TL;DR: - You can use screwdrivers on drums again - Diluted hydrochloric acid distillation circuits have been swapped, so now it's consistent with diluted sulfuric acid - Large rebalancing of small and large boiler fuel. Generally speaking, small boilers are worse while large ones are better, and solid fuels are now better and liquids are worse, but if you're putting all your coke oven output into a large bronze boiler, your rates should be mostly the same as before. Blaze burner liquid fuels have been adjusted to these new values as well. Added TFC Gurman, which adds even more food and drink -### Changes +### Other Changes - Many TACZ balance changes, found [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/tacz/TACZ_CHANGELOG.md) @BlueBoat29 - Add shapeless p2p recipes (#2234) @SpicyNoodle5 - Added assembler, smelting and heating recipes for firmalife ovens (#2220) @SpicyNoodle5 @@ -44,6 +46,7 @@ Added TFC Gurman, which adds even more food and drink ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra +- Russian @Petr211071 ## [0.11.8] - 19-11-2025 ### Changes From 9b80745869ef5f33d024018eed606dc6885614a7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 11:00:09 +0000 Subject: [PATCH 184/628] Update CHANGELOG.md Signed-off-by: Pyritie --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b11c7395..2cfbb39c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,11 @@ ### Breaking Changes - The tungsten processing line has been updated to now properly loop and balance all of its intermediates. The actual processes haven't changed, just the numbers, so you shouldn't have to change your setup much. It now also outputs a little extra oxygen instead of sodium (#2267) @SpicyNoodle5 @TomPlop ### Mod updates -New GregTech updates, both [7.3.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.3.0-1.20.1) and [7.4.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.4.0-1.20.1). TL;DR: -- You can use screwdrivers on drums again -- Diluted hydrochloric acid distillation circuits have been swapped, so now it's consistent with diluted sulfuric acid -- Large rebalancing of small and large boiler fuel. Generally speaking, small boilers are worse while large ones are better, and solid fuels are now better and liquids are worse, but if you're putting all your coke oven output into a large bronze boiler, your rates should be mostly the same as before. Blaze burner liquid fuels have been adjusted to these new values as well. -Added TFC Gurman, which adds even more food and drink +- Added TFC Gurman, which adds even more food and drink +- New GregTech updates, both [7.3.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.3.0-1.20.1) and [7.4.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.4.0-1.20.1). TL;DR: + - You can use screwdrivers on drums again + - Diluted hydrochloric acid distillation circuits have been swapped, so now it's consistent with diluted sulfuric acid + - Large rebalancing of small and large boiler fuel. Generally speaking, small boilers are worse while large ones are better, and solid fuels are now better and liquids are worse, but if you're putting all your coke oven output into a large bronze boiler, your rates should be mostly the same as before. Blaze burner liquid fuels have been adjusted to these new values as well. ### Other Changes - Many TACZ balance changes, found [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/tacz/TACZ_CHANGELOG.md) @BlueBoat29 - Add shapeless p2p recipes (#2234) @SpicyNoodle5 From 72ae40a2b4ae0a8f8a386fed5661704c6aa44d40 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 1 Dec 2025 08:42:45 -0500 Subject: [PATCH 185/628] Rework Early Game Fuel (#2309) * Add materials and multiblock * try to fix conflict * Fix conflict * Fix conflict * Rework tungsten line (#5) * fix materials * Update Ostrum to core * Fix conflict * fix conflict * Fix fucking conflict * Upload more changes * Add more things * Introduce new gas fuel * Add Anthracite * Add Syngas early game and more modifications * More fixes * Add textures to fluid --- .../ostrum_linear_accelerator.json | 19 ++ .../machines/ostrum_linear_accelerator.json | 90 ++++++ .../item/ostrum_linear_accelerator.json | 3 + .../block/fluids/fluid.reformate_gas.png | Bin 0 -> 20054 bytes .../fluids/fluid.reformate_gas.png.mcmeta | 5 + .../textures/block/fluids/fluid.syngas.png | Bin 0 -> 19721 bytes .../block/fluids/fluid.syngas.png.mcmeta | 5 + kubejs/server_scripts/gregtech/recipes.js | 61 ---- .../gregtech/recipes.machines.js | 4 +- kubejs/server_scripts/tfg/early_power.js | 264 ++++++++++++++++++ .../tfg/nuclear/recipes.nuclear.js | 32 ++- .../tfg/nuclear/recipes.ostrum.js | 83 ++++++ kubejs/server_scripts/tfg/recipes.js | 2 + .../server_scripts/tfg/recipes.space_ores.js | 49 ---- kubejs/startup_scripts/gtceu/machines.js | 43 ++- kubejs/startup_scripts/gtceu/recipe_types.js | 17 +- kubejs/startup_scripts/main_startup_script.js | 1 + kubejs/startup_scripts/tfg/materials.js | 13 +- .../tfg/materials.power_rework.js | 54 ++++ 19 files changed, 609 insertions(+), 136 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/ostrum_linear_accelerator.json create mode 100644 kubejs/assets/tfg/models/block/machines/ostrum_linear_accelerator.json create mode 100644 kubejs/assets/tfg/models/item/ostrum_linear_accelerator.json create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.reformate_gas.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.reformate_gas.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.syngas.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.syngas.png.mcmeta create mode 100644 kubejs/server_scripts/tfg/early_power.js create mode 100644 kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js create mode 100644 kubejs/startup_scripts/tfg/materials.power_rework.js diff --git a/kubejs/assets/tfg/blockstates/ostrum_linear_accelerator.json b/kubejs/assets/tfg/blockstates/ostrum_linear_accelerator.json new file mode 100644 index 000000000..5c213dc91 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/ostrum_linear_accelerator.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/ostrum_linear_accelerator", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/ostrum_linear_accelerator" + }, + "facing=south": { + "model": "tfg:block/machines/ostrum_linear_accelerator", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/ostrum_linear_accelerator", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/ostrum_linear_accelerator.json b/kubejs/assets/tfg/models/block/machines/ostrum_linear_accelerator.json new file mode 100644 index 000000000..aed8c8b02 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/ostrum_linear_accelerator.json @@ -0,0 +1,90 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:ostrum_linear_accelerator", + "texture_overrides": { + "all": "tfg:block/casings/machine_casing_mars" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_mars", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/ostrum_linear_accelerator.json b/kubejs/assets/tfg/models/item/ostrum_linear_accelerator.json new file mode 100644 index 000000000..88514629b --- /dev/null +++ b/kubejs/assets/tfg/models/item/ostrum_linear_accelerator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/ostrum_linear_accelerator" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.reformate_gas.png b/kubejs/assets/tfg/textures/block/fluids/fluid.reformate_gas.png new file mode 100644 index 0000000000000000000000000000000000000000..115a2347d3635f389618d4ec13cc0736b633d6b9 GIT binary patch literal 20054 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 L)z4*}Q$iB}_ilzl literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.reformate_gas.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.reformate_gas.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.reformate_gas.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.syngas.png b/kubejs/assets/tfg/textures/block/fluids/fluid.syngas.png new file mode 100644 index 0000000000000000000000000000000000000000..aa275d6cf6bd398a8684ff0ea90543b71c579db9 GIT binary patch literal 19721 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%0AWN#`+B*HJz@Tv=)D` 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 NgQu&X%Q~loCIDD?*zEuS literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.syngas.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.syngas.png.mcmeta new file mode 100644 index 000000000..c5d457f93 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.syngas.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index b289ec1b2..b40802279 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1826,65 +1826,4 @@ const registerGTCEURecipes = (event) => { event.replaceInput( {output: 'gtceu:nano_saber'}, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide' ) - // Change - - // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead - - event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration*3) - }) - - event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration/3) - }) - - // Allow oil in small boilers - - event.remove({ id: "gtceu:large_boiler/gtceu_oil" }) - event.remove({ id: "gtceu:large_boiler/gtceu_oil_heavy" }) - event.remove({ id: "gtceu:large_boiler/gtceu_fish_oil" }) - // This generates both a small boiler and large boiler recipe. Remove it above to avoid a duplicate - event.recipes.gtceu.steam_boiler('tfg:oil') - .inputFluids(Fluid.of('gtceu:oil', 200)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:heavy_oil') - .inputFluids(Fluid.of('gtceu:oil_heavy', 32)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:fish_oil') - .inputFluids(Fluid.of('gtceu:fish_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') - - // These aren't in base GT, but they have the same stats as oil - event.recipes.gtceu.steam_boiler('tfg:raw_oil') - .inputFluids(Fluid.of('gtceu:oil_medium', 200)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:light_oil') - .inputFluids(Fluid.of('gtceu:oil_light', 200)) - .duration(200) - .dimension('minecraft:overworld') - - // Same stats as fish oil - event.recipes.gtceu.steam_boiler('tfg:olive_oil') - .inputFluids(Fluid.of('tfc:olive_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:seed_oil') - .inputFluids(Fluid.of('gtceu:seed_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:soybean_oil') - .inputFluids(Fluid.of('firmalife:soybean_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') } diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 78e59b039..39b786f03 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -1119,7 +1119,7 @@ function registerGTCEuMachineRecipes(event) { // Multiblock - event.shaped('gtceu:ostrum_linear_accelerator', [ + event.shaped('tfg:ostrum_linear_accelerator', [ 'USU', 'WZW', 'PTP' @@ -1131,7 +1131,7 @@ function registerGTCEuMachineRecipes(event) { T: '#forge:single_cables/platinum', P: 'gtceu:iv_electric_pump' } - ).id('gtceu:shaped/ostrum_linear_accelerator') + ).id('tfg:shaped/ostrum_linear_accelerator') event.recipes.gtceu.assembler('tfg:ostrum_harvester') .itemInputs( diff --git a/kubejs/server_scripts/tfg/early_power.js b/kubejs/server_scripts/tfg/early_power.js new file mode 100644 index 000000000..da5dfcefb --- /dev/null +++ b/kubejs/server_scripts/tfg/early_power.js @@ -0,0 +1,264 @@ +// priority: 0 + +function registerTFGEarlyPower(event) { + + const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') + + // New Fuels + + // Syngas + + event.custom({ + type: 'vintageimprovements:vacuumizing', + ingredients: [{ item: 'minecraft:charcoal' }, { fluid: 'gtceu:creosote', amount: 250 }], + results: [{ fluid: 'tfg:syngas', amount: 100 }], + heatRequirement: "heated", + processingTime: 750 + }).id('tfg:vi/vacuumizing/syngas_from_charcoal') + + event.custom({ + type: 'vintageimprovements:vacuumizing', + ingredients: [{ item: 'minecraft:coal' }, { fluid: 'gtceu:creosote', amount: 250 }], + results: [{ fluid: 'tfg:syngas', amount: 200 }], + heatRequirement: "heated", + processingTime: 750 + }).id('tfg:vi/vacuumizing/syngas_from_coal') + + event.custom({ + type: 'vintageimprovements:vacuumizing', + ingredients: [{ item: 'gtceu:coke_gem' }, { fluid: 'gtceu:creosote', amount: 250 }], + results: [{ fluid: 'tfg:syngas', amount: 400 }], + heatRequirement: "heated", + processingTime: 750 + }).id('tfg:vi/vacuumizing/syngas_from_coke') + + event.custom({ + type: 'vintageimprovements:vacuumizing', + ingredients: [{ item: 'beneath:cursecoal' }, { fluid: 'gtceu:creosote', amount: 250 }], + results: [{ fluid: 'tfg:syngas', amount: 400 }], + heatRequirement: "heated", + processingTime: 750 + }).id('tfg:vi/vacuumizing/syngas_from_anthracite') + + //#region Reformate Gas + + // Charcoal + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_charcoal') + .itemInputs(Item.of('minecraft:charcoal', 24)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 3200), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*600) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_charcoal_hydrogen') + .itemInputs(Item.of('minecraft:charcoal', 24)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .perTick(true) + .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) + .perTick(false) + .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 3200), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*200) + .circuit(2) + .EUt(GTValues.VHA[GTValues.LV]) + + // Coal + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coal') + .itemInputs(Item.of('minecraft:coal', 10)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*600) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coal_hydrogen') + .itemInputs(Item.of('minecraft:coal', 10)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .perTick(true) + .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) + .perTick(false) + .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*200) + .circuit(2) + .EUt(GTValues.VHA[GTValues.LV]) + + // Coke + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coke') + .itemInputs(Item.of('gtceu:coke_gem', 5)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*600) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coke_hydrogen') + .itemInputs(Item.of('gtceu:coke_gem', 5)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .perTick(true) + .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) + .perTick(false) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*200) + .circuit(2) + .EUt(GTValues.VHA[GTValues.LV]) + + // Anthracite + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_anthracite') + .itemInputs(Item.of('beneath:cursecoal', 5)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*600) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_anthracite_hydrogen') + .itemInputs(Item.of('beneath:cursecoal', 5)) + .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .perTick(true) + .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) + .perTick(false) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) + .duration(20*200) + .circuit(2) + .EUt(GTValues.VHA[GTValues.LV]) + + // Aromatic Processing + + event.recipes.gtceu.chemical_reactor('tfg:aromatic_feedstock') + .inputFluids(Fluid.of('tfg:raw_aromatic_mix', 1000), Fluid.of('gtceu:benzene', 525), Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('tfg:aromatic_feedstock', 1000)) + .duration(20*30) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:reformed_aromatic_feedstock') + .chancedInput(Item.of('gtceu:tiny_rhenium_dust'), 100, 0) // 1% chance + .inputFluids(Fluid.of('tfg:aromatic_feedstock', 1000)) + .outputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 1000)) + .duration(20*18) + .EUt(GTValues.VA[GTValues.MV]) + + // Reformate Gas Alternative Step + + event.recipes.gtceu.cracker('tfg:reformate_gas_cracker') + .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 1000), Fluid.of('gtceu:steam', 2000)) + .outputFluids(Fluid.of('tfg:reformate_gas', 2000)) + .outputFluids(Fluid.of('tfg:cracker_off_gas', 1000)) + .duration(20*60) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:reformate_gas') + .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 1000), Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('tfg:reformate_gas', 2000)) + .duration(20*60) + .EUt(GTValues.VA[GTValues.MV]) + + // Recycling + + event.recipes.gtceu.electrolyzer('tfg:cracker_off_gas_recycling') + .inputFluids(Fluid.of('tfg:cracker_off_gas', 1000)) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 500), Fluid.of('gtceu:hydrogen', 500)) + .chancedOutput(Item.of('gtceu:tiny_rhenium_dust'), 100, 0) // 1% chance + .duration(20*4.5) + .EUt(GTValues.VA[GTValues.HV]) + + // 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]) + + //#endregion + + //#region Rebalance Fuel + + // Change + + // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead + + event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration*3) + }) + + event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration/3) + }) + + // Allow oil in small boilers + + event.remove({ id: "gtceu:large_boiler/gtceu_oil" }) + event.remove({ id: "gtceu:large_boiler/gtceu_oil_heavy" }) + event.remove({ id: "gtceu:large_boiler/gtceu_fish_oil" }) + // This generates both a small boiler and large boiler recipe. Remove it above to avoid a duplicate + event.recipes.gtceu.steam_boiler('tfg:oil') + .inputFluids(Fluid.of('gtceu:oil', 200)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:heavy_oil') + .inputFluids(Fluid.of('gtceu:oil_heavy', 32)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:fish_oil') + .inputFluids(Fluid.of('gtceu:fish_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + // These aren't in base GT, but they have the same stats as oil + event.recipes.gtceu.steam_boiler('tfg:raw_oil') + .inputFluids(Fluid.of('gtceu:oil_medium', 200)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:light_oil') + .inputFluids(Fluid.of('gtceu:oil_light', 200)) + .duration(200) + .dimension('minecraft:overworld') + + // Same stats as fish oil + event.recipes.gtceu.steam_boiler('tfg:olive_oil') + .inputFluids(Fluid.of('tfc:olive_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:seed_oil') + .inputFluids(Fluid.of('gtceu:seed_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:soybean_oil') + .inputFluids(Fluid.of('firmalife:soybean_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + //#region New Power Generation + + // Add Syngas + + event.recipes.gtceu.steam_boiler('tfg:syngas') // Small Boiler and Large Boiler divided by 4 + .inputFluids(Fluid.of('tfg:syngas', 100)) + .duration(40*20*4) + .dimension('minecraft:overworld') + + event.recipes.gtceu.gas_turbine('tfg:syngas') // Gas Turbine + .inputFluids(Fluid.of('tfg:syngas', 1)) + .EUt(-(32)) + .duration(20*0.2) + + // Reformate Gas + + event.recipes.gtceu.gas_turbine('tfg:reformate_gas') // Gas Turbine + .inputFluids(Fluid.of('tfg:reformate_gas', 1)) + .EUt(-(32)) + .duration(20*1) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js index 7791089f8..29df43882 100644 --- a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js @@ -56,14 +56,14 @@ function registerTFGNuclearRecipes(event) { .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]) - +*/ 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') @@ -181,20 +181,32 @@ function registerTFGNuclearRecipes(event) { event.recipes.gtceu.heat_exchanger('uranium_steam') .perTick(true) .inputFluids(Fluid.of('minecraft:water', 10)) - .inputFluids(Fluid.of('gtceu:radioactive_steam', 10)) + .inputFluids(Fluid.of('gtceu:radioactive_steam', 1600)) .inputFluids(Fluid.of('gtceu:ammonium_formate', 10)) - .outputFluids(Fluid.of('gtceu:dense_steam', 10)) + .outputFluids(Fluid.of('gtceu:dense_steam', 1600)) .outputFluids(Fluid.of('gtceu:formamide', 10)) .perTick(false) .duration(20*5) .EUt(1) + .circuit(1) + .dimension('ad_astra:mars') + + event.recipes.gtceu.heat_exchanger('uranium_steam_power_only') + .perTick(true) + .inputFluids(Fluid.of('minecraft:water', 10)) + .inputFluids(Fluid.of('gtceu:radioactive_steam', 1600)) + .outputFluids(Fluid.of('gtceu:dense_steam', 1600)) + .perTick(false) + .duration(20*5) + .EUt(1) + .circuit(2) .dimension('ad_astra:mars') event.recipes.gtceu.heat_exchanger('plutonium_steam') .perTick(true) .inputFluids(Fluid.of('minecraft:water', 10)) - .inputFluids(Fluid.of('gtceu:irradiated_steam', 10)) - .outputFluids(Fluid.of('gtceu:dense_steam', 10)) + .inputFluids(Fluid.of('gtceu:irradiated_steam', 1600)) + .outputFluids(Fluid.of('gtceu:dense_steam', 1600)) .perTick(false) .duration(20*5) .EUt(1) @@ -229,7 +241,7 @@ function registerTFGNuclearRecipes(event) { .notConsumable(Item.of('tfg:thorium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 2)) - .outputFluids(Fluid.of('gtceu:dense_steam', 2)) + .outputFluids(Fluid.of('gtceu:dense_steam', 480)) .perTick(false) .dimension('ad_astra:mars') .addData("coolant_heat_per_tick", 1) @@ -248,7 +260,7 @@ function registerTFGNuclearRecipes(event) { .notConsumable(Item.of('tfg:uranium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 20)) - .outputFluids(Fluid.of('gtceu:radioactive_steam', 10)) + .outputFluids(Fluid.of('gtceu:radioactive_steam', 1600)) .perTick(false) .addData("coolant_heat_per_tick", 1) .duration(1) @@ -267,7 +279,7 @@ function registerTFGNuclearRecipes(event) { .notConsumable(Item.of('tfg:plutonium_rod')) .perTick(true) .inputFluids(Fluid.of('tfg:heavy_water', 25)) - .outputFluids(Fluid.of('gtceu:irradiated_steam', 40)) + .outputFluids(Fluid.of('gtceu:irradiated_steam', 6400)) .perTick(false) .addData("coolant_heat_per_tick", 1) .duration(1) @@ -435,7 +447,7 @@ function registerTFGNuclearRecipes(event) { //#region Power Generation event.recipes.gtceu.nuclear_turbine('dense_steam') - .inputFluids(Fluid.of('gtceu:dense_steam', 1)) + .inputFluids(Fluid.of('gtceu:dense_steam', 160)) .EUt(-(32)) .duration(20*1.5) diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js b/kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js new file mode 100644 index 000000000..779b382ad --- /dev/null +++ b/kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js @@ -0,0 +1,83 @@ + // priority: 0 + +function registerTFGNOstrumRecipes(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 $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') + + // 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') + .itemInputs('32x #forge:dusts/ostrum') + .chancedFluidOutputLogic($ChanceLogic.XOR) + .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) + .chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0) + .chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.EV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t1') + .perTick(true) + .inputFluids('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)) + .dimension('ad_astra:mars') + .duration(20 * 20) + .circuit(1); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t2') + .perTick(true) + .inputFluids('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('gtceu:dusty_raw_pitchblende'), 1, 10) + //.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .dimension('ad_astra:mars') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.IV]) + .circuit(2); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t3') + .perTick(true) + .inputFluids('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)) + .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('gtceu:dusty_raw_pitchblende'), 10, 20) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .dimension('ad_astra:mars') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.IV]) + .circuit(3); +*/ + //#endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 7f37614ce..858f97f91 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -9,6 +9,7 @@ const registerTFGRecipes = (event) => { registerTFGPapermakingRecipes(event) registerTFGRockRecipes(event) registerTFGCollapseRecipes(event) + registerTFGEarlyPower(event) registerTFGMoldRecipes(event) registerTFGMedicineRecipes(event) registerTFGMiscellaneousRecipes(event) @@ -20,6 +21,7 @@ const registerTFGRecipes = (event) => { registerTFGStoneDustRecipes(event) registerTFGNuclearRecipes(event) registerTFGNuclearComponentsRecipes(event) + registerTFGNOstrumRecipes(event) registerTFGBiochemRecipes(event) registerTFGSpaceOres(event) } diff --git a/kubejs/server_scripts/tfg/recipes.space_ores.js b/kubejs/server_scripts/tfg/recipes.space_ores.js index 80a2a5ffe..72ab73e03 100644 --- a/kubejs/server_scripts/tfg/recipes.space_ores.js +++ b/kubejs/server_scripts/tfg/recipes.space_ores.js @@ -153,55 +153,6 @@ function registerTFGSpaceOres(event) { .duration(20 * 30) .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') - .chancedFluidOutputLogic($ChanceLogic.XOR) - .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) - .chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0) - .chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.EV]); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum') - .inputFluids('gtceu:lightweight_ostrum_vapor 1000') - .inputFluids('gtceu:residual_radioactive_concoction 100') - .inputFluids(Fluid.of('tfg:heavy_water', 1000)) - .itemOutputsRanged('#forge:dusty_raw_materials/pitchblende', 1, 10) - .itemOutputsRanged('#forge:dusty_raw_materials/silver', 1, 10) - .itemOutputsRanged('#forge:dusty_raw_materials/tricalcium_phosphate', 1, 10) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.IV]); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum') - .inputFluids('gtceu:ostrum_vapor 1000') - .inputFluids('gtceu:residual_radioactive_concoction 100') - .inputFluids(Fluid.of('gtceu:radon', 100)) - .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/beryllium'), 1, 10) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.IV]); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_ostrum') - .inputFluids('gtceu:dense_ostrum_vapor 1000') - .inputFluids('gtceu:residual_radioactive_concoction 100') - .inputFluids(Fluid.of('gtceu:tritiated_water', 500)) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/uraninite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/hematite'), 1, 10) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.IV]); - - //#endregion - // #region Zirconium event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride') diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 45e7d1b21..855fb2722 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -270,8 +270,8 @@ const registerGTCEuMachines = (event) => { .recipeType('nuclear_fuel_factory') .recipeModifiers( [ - GTRecipeModifiers.PARALLEL_HATCH, - (machine, recipe) => GTRecipeModifiers.pyrolyseOvenOverclock(machine, recipe), + GTRecipeModifiers.PARALLEL_HATCH, + (machine, recipe) => GTRecipeModifiers.pyrolyseOvenOverclock(machine, recipe), GTRecipeModifiers.BATCH_MODE ] ) @@ -451,7 +451,7 @@ const registerGTCEuMachines = (event) => { event.create('ostrum_linear_accelerator', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) - .recipeType('ostrum_linear_accelerator') + .recipeType('dummy_recipe') .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.OC_NON_PERFECT, GTRecipeModifiers.BATCH_MODE]) .appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_mars')) .pattern(definition => FactoryBlockPattern.start() @@ -502,4 +502,39 @@ const registerGTCEuMachines = (event) => { 'tfg:block/casings/machine_casing_mars', 'gtceu:block/machines/thermal_centrifuge') -} + //#region Power Rework + + // Coal Liquefaction Tower + + event.create('coal_liquefaction_tower', 'multiblock') + .machine((holder) => new CoilWorkableElectricMultiblockMachine(holder)) + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('coal_liquefaction_tower') + .recipeModifiers([(machine, recipe) => GTRecipeModifiers.crackerOverclock(machine, recipe), GTRecipeModifiers.BATCH_MODE]) + .appearanceBlock(() => Block.getBlock('gtceu:solid_machine_casing')) + .pattern(definition => FactoryBlockPattern.start() + .aisle('CCC', 'D D', 'D D', 'DED', 'DED', 'BBB') + .aisle('CCC', ' Y ', ' E ', 'E#E', 'EEE', 'BMB') + .aisle('CXC', 'D D', 'D D', 'DED', 'DED', 'BBB' ) + .where('X', Predicates.controller(Predicates.blocks(definition.get()))) + .where('A', Predicates.blocks('gtceu:secure_maceration_casing')) + .where('B', Predicates.blocks('gtceu:solid_machine_casing').setMinGlobalLimited(4) + .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(2)) + .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).setMinGlobalLimited(1).setMaxGlobalLimited(2).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1).setPreviewCount(1))) + .where('D', Predicates.blocks('create:metal_girder')) + .where('E', Predicates.blocks('gtceu:steam_machine_casing')) + .where('Y', Predicates.heatingCoils()) + .where('M', Predicates.abilities(PartAbility.MUFFLER).setExactLimit(1)) + .where('#', Predicates.air()) + .where(' ', Predicates.any()) + .build() + ) + .workableCasingModel( + 'gtceu:block/casings/solid/machine_casing_solid_steel', + 'gtceu:block/multiblock/distillation_tower') + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 4550c419c..7f345b855 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -39,10 +39,11 @@ const registerGTCEuRecipeTypes = (event) => { event.create('heat_exchanger') .category('heat_exchanger') .setEUIO('in') - .setMaxIOSize(0, 0, 4, 4) + .setMaxIOSize(1, 0, 3, 3) .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1) .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.TURBINE) + /* Just keeping it in case we got mod issues event.create('fission_reactor') .category('fission_reactor') @@ -68,12 +69,20 @@ const registerGTCEuRecipeTypes = (event) => { .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.TURBINE) - event.create('ostrum_linear_accelerator') - .category('ostrum_linear_accelerator') + event.create('dummy_recipe') + .category('dumme_recipe') .setEUIO('in') .setMaxIOSize(1, 3, 3, 3) .setSlotOverlay(false, false, GuiTextures.EXTRACTOR_OVERLAY) .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.BATH) -} + event.create('coal_liquefaction_tower') + .category('coal_liquefaction_tower') + .setEUIO('in') + .setMaxIOSize(2, 0, 3, 3) + .setSlotOverlay(false, false, GuiTextures.HEATING_OVERLAY_1) + .setProgressBar(GuiTextures.PROGRESS_BAR_DISTILLATION_TOWER, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.COMBUSTION) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 8cbdb2757..27c4287d5 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -60,6 +60,7 @@ GTCEuStartupEvents.registry('gtceu:material', event => { registerTFGMaterials(event) registerTFGNuclearMaterials(event) registerTFGBiolineMaterials(event) + registerTFGPowerReworkMaterials(event) }) GTCEuStartupEvents.registry('gtceu:material_icon_set', event => { diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 27a1e6339..604dc83df 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -437,12 +437,12 @@ const registerTFGMaterials = (event) => { .components('2x hydrogen', '12x tungsten', '42x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - event.create('tfg:ammonium_tungstate') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.DULL) - .components('10x ammonia', '1x tfg:tungstate') - .color('0xfafafa') + event.create('tfg:ammonium_tungstate') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.DULL) + .components('10x ammonia', '2x hydrogen', '12x tungsten', '42x oxygen') + .color('0xfafafa') event.create('tfg:apt') .gem() @@ -495,6 +495,7 @@ const registerTFGMaterials = (event) => { GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, GTMaterialFlags.GENERATE_GEAR ) + .fluidPipeProperties(4250, 1700, true, false, false, false) // #endregion diff --git a/kubejs/startup_scripts/tfg/materials.power_rework.js b/kubejs/startup_scripts/tfg/materials.power_rework.js new file mode 100644 index 000000000..bace22a6d --- /dev/null +++ b/kubejs/startup_scripts/tfg/materials.power_rework.js @@ -0,0 +1,54 @@ + // priority: 0 +"use strict"; + +const registerTFGPowerReworkMaterials = (event) => { + +// Syngas +event.create('tfg:syngas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(650)) + .components('11x carbon', '20x hydrogen', '12x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x7da6c2) + .secondaryColor(0xcfe3ee) + +// Raw Aromatic Mix +event.create('tfg:raw_aromatic_mix') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(420)) + .components('137x carbon', '154x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x8a4b3d) + .secondaryColor(0xd8b6ac) + +// Aromatic Feedstock +event.create('tfg:aromatic_feedstock') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(450)) + .components('67x carbon', '74x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x915c2f) + .secondaryColor(0xe2c49b) + +// Reformed Aromatic Feedstock +event.create('tfg:reformed_aromatic_feedstock') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) + .components('133x carbon', '146x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x4e6b83) + .secondaryColor(0xbacdde) + +// Reformate Gas +event.create('tfg:reformate_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) + .components('13x carbon', '63x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x6c7f4e) + .secondaryColor(0xc7d8b1) + +// Cracker Off-Gas +event.create('tfg:cracker_off_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(480)) + .components('31x carbon', '128x hydrogen', '2x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xa36f2a) + .secondaryColor(0xecd8ae) + +} From aa22fda8988b8e2984b031cc3cdd2fc971f95bb4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 14:38:48 +0000 Subject: [PATCH 186/628] swapping OLA from gtceu to tfg namespace, some cleanup, langs --- .../quests/chapters/ev__extreme_voltage.snbt | 2 +- kubejs/assets/gtceu/lang/en_us.json | 4 +- kubejs/assets/gtceu/lang/ja_jp.json | 2 +- kubejs/assets/gtceu/lang/ru_ru.json | 2 +- kubejs/assets/gtceu/lang/uk_ua.json | 2 +- kubejs/assets/gtceu/lang/zh_cn.json | 6 +- kubejs/assets/tfc/lang/zh_cn.json | 1 + kubejs/assets/tfg/lang/en_us.json | 8 +- kubejs/assets/tfg/lang/ja_jp.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 310 +++++++++--------- kubejs/assets/tfg/lang/uk_ua.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 35 +- kubejs/client_scripts/tooltips.js | 92 +++--- .../server_scripts/tfg/recipes.converting.js | 2 + kubejs/startup_scripts/gtceu/machines.js | 55 ---- kubejs/startup_scripts/gtceu/recipe_types.js | 10 +- kubejs/startup_scripts/tfg/blocks.js | 5 + kubejs/startup_scripts/tfg/materials.js | 6 +- 18 files changed, 260 insertions(+), 286 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 383cb978e..4563ffe8a 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -1577,7 +1577,7 @@ subtitle: "{quests.extreme_voltage.ostrum_linear.subtitle}" tasks: [{ id: "130FE3E2CE8735F8" - item: "gtceu:ostrum_linear_accelerator" + item: "tfg:ostrum_linear_accelerator" type: "item" }] x: 20.0d diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 75e37e8d1..4bd56737f 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -13,7 +13,7 @@ "block.gtceu.evaporation_tower": "Evaporation Tower", "block.gtceu.ostrum_harvester": "Ostrum Harvester", "block.gtceu.moon_dust_harvester": "Moon Dust Harvester", - "block.gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "block.tfg.ostrum_linear_accelerator": "Ostrum Linear Accelerator", "block.gtceu.coal_liquefaction_tower": "Coal Liquefaction Tower", "block.gtceu.ulv_super_tank": "Basic Super Tank", "block.gtceu.ulv_super_chest": "Basic Super Chest", @@ -63,6 +63,8 @@ "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.\nFueling it with Coke or Anthracite will double the output.\nCan process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Carbon Smoothie Maker§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas fuels from carbonic solids and creosote§r", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", "item.gtceu.wood_dust": "Softwood Pulp", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 76710365f..b9a7bb645 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -13,7 +13,7 @@ "block.gtceu.evaporation_tower": "蒸発塔", "block.gtceu.ostrum_harvester": "オストラムハーベスター", "block.gtceu.moon_dust_harvester": "ムーンハーベスター", - "block.gtceu.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", + "block.tfg.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", "block.gtceu.ulv_super_tank": "基本型スーパータンク", "block.gtceu.ulv_super_chest": "基本型スーパーチェスト", "block.gtceu.ulv_hermetic_casing": "基本気密外装", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 454e2cfd3..5d0ce4987 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -13,7 +13,7 @@ "block.gtceu.evaporation_tower": "Evaporation Tower", "block.gtceu.ostrum_harvester": "Ostrum Harvester", "block.gtceu.moon_dust_harvester": "Moon Dust Harvester", - "block.gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", + "block.tfg.ostrum_linear_accelerator": "Ostrum Linear Accelerator", "block.gtceu.ulv_super_tank": "Basic Super Tank", "block.gtceu.ulv_super_chest": "Basic Super Chest", "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index d38506694..a5feb29cb 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -13,7 +13,7 @@ "block.gtceu.evaporation_tower": "Випарна камера", "block.gtceu.ostrum_harvester": "Збирач Острому", "block.gtceu.moon_dust_harvester": "Збирач Місячного Пилу", - "block.gtceu.ostrum_linear_accelerator": "Лінійний Прискорювач з Оструму", + "block.tfg.ostrum_linear_accelerator": "Лінійний Прискорювач з Оструму", "block.gtceu.ulv_super_tank": "Базовий супер резервувар", "block.gtceu.ulv_super_chest": "Базова супер скриня", "block.gtceu.ulv_hermetic_casing": "Базова герметична оболонка", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index ce2013ff2..3394f3270 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -13,7 +13,8 @@ "block.gtceu.evaporation_tower": "蒸发塔", "block.gtceu.ostrum_harvester": "紫金采集器", "block.gtceu.moon_dust_harvester": "月壤采集器", - "block.gtceu.ostrum_linear_accelerator": "紫金线性加速器", + "block.gtceu.coal_liquefaction_tower": "煤炭液化塔", + "block.tfg.ostrum_linear_accelerator": "紫金线性加速器", "block.gtceu.ulv_super_tank": "基础超级缸", "block.gtceu.ulv_super_chest": "基础超级箱", "block.gtceu.ulv_hermetic_casing": "基础密封机械方块", @@ -49,6 +50,7 @@ "gtceu.ostrum_linear_accelerator": "紫金线性加速器", "gtceu.bioreactor": "生物反应器", "gtceu.growth_chamber": "生长室", + "gtceu.coal_liquefaction_tower": "煤炭液化", "gtceu.tooltip.machine.moon_dust_harvester_1": "§7地外真空吸尘器§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7根据所处生物群系无限采集风化土粉尘。§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7合法异星香料采集车§r", @@ -128,12 +130,14 @@ "material.gtceu.damascus_steel": "猪灵钢", "material.gtceu.air": "地球空气", "material.gtceu.liquid_air": "液态地球空气", + "material.gtceu.fish_oil": "脂酸盐", "material.gtceu.cooperite": "硫铂矿", "material.gtceu.armalcolite": "阿姆阿尔柯尔矿", "material.gtceu.desh": "戴斯", "material.gtceu.ostrum": "紫金", "material.gtceu.calorite": "耐热金属", "material.gtceu.etrium": "埃忒恩", + "material.gtceu.tarkianite": "塔基安石", "material.gtceu.aluminium_silicate": "硅酸铝", "material.gtceu.rocket_alloy_t1": "R型铝钢火箭合金", "material.gtceu.rocket_alloy_t2": "ASM 4914 钛合金火箭合金", diff --git a/kubejs/assets/tfc/lang/zh_cn.json b/kubejs/assets/tfc/lang/zh_cn.json index 598c85aec..0ac583e1e 100644 --- a/kubejs/assets/tfc/lang/zh_cn.json +++ b/kubejs/assets/tfc/lang/zh_cn.json @@ -12,6 +12,7 @@ "item.tfc.jute_net": "粗麻布网", "item.tfc.dirty_jute_net": "脏粗麻布网", "item.tfc.powder.salt": "食盐", + "item.tfc.blubber": "动物脂肪", "tfc.jei.raw_hide_knapping": "剥制生皮", "metal.tfg.redstone": "红石", "metal.tfg.red_alloy": "红色合金", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index bea57b8bb..14b27bc2f 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1157,6 +1157,12 @@ "material.tfg.zirconium_bromide": "Zirconium(IV) Bromide", "material.tfg.zirconium_diboride": "Zirconium Diboride", "material.tfg.boron_carbide": "Boron Carbide", + "material.tfg.syngas": "Syngas", + "material.tfg.raw_aromatic_mix": "Raw Aromatic Mix", + "material.tfg.aromatic_feedstock": "Aromatic Feedstock", + "material.tfg.reformed_aromatic_feedstock": "Reformed Aromatic Feedstock", + "material.tfg.reformate_gas": "Reformate Gas", + "material.tfg.cracker_off_gas": "Cracked Off-Gas", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1459,7 +1465,7 @@ "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!", - "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§7 reduces energy usage by §r10%§7.§r", + "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§r reduces energy usage by §r10%§7.§r", "tfg.tooltip.machine.bioreactor_1": "§7Chemistry meets Biology§r", "tfg.tooltip.machine.bioreactor_2": "§7Combines organic and inorganic ingredients to produce synthetic biological products.§r", "tfg.tooltip.machine.growth_chamber_1": "§7Growing new life§r", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index c141dfe89..1966130dc 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1909,7 +1909,7 @@ "quests.extreme_voltage.ev_superconductor.subtitle": "超高電圧・高電流両対応", "quests.extreme_voltage.ev_superconductor.desc": "&eウラン&rの処理を進めたら、&5三白金ウランワイヤー&rを作ってみてもいいでしょう。\n\nこの超伝導ケーブルはより多くのアンペアを流せるため、基地全体でエネルギーを効率よく送電でき、&6原子力蒸気タービン&rからの出力を損失なく各機械へ届けることができます。", "quests.extreme_voltage.uraninite_dust.subtitle": "膨大な数の棒", - "quests.extreme_voltage.uraninite_dust.desc": "&eウラン燃料棒&rを作るには大量の&e閃ウラン鉱&rを掘り出すことが必要で、1本あたりおよそ&c240個&rほど使います。そのため、後で不足しないよう早めに採掘を始めておくことをおすすめします。\n\n火星には最大規模の鉱脈が存在するため、一つの鉱脈から大量に確保することができます。\n\nゲームを進めると、&6Ostrum_Linear_Accelerator&rを使って瀝青ウラン鉱や閃ウラン鉱を&無限&rに生産できるようになります。詳しい説明は先のクエストで確認できます。", + "quests.extreme_voltage.uraninite_dust.desc": "&eウラン燃料棒&rを作るには大量の&e閃ウラン鉱&rを掘り出すことが必要で、1本あたりおよそ&c240個&rほど使います。そのため、後で不足しないよう早めに採掘を始めておくことをおすすめします。\n\n火星には最大規模の鉱脈が存在するため、一つの鉱脈から大量に確保することができます。\n\nゲームを進めると、&6Ostrum Linear Accelerator&rを使って瀝青ウラン鉱や閃ウラン鉱を&無限&rに生産できるようになります。詳しい説明は先のクエストで確認できます。", "quests.extreme_voltage.uranium_line.title": "ウランライン", "quests.extreme_voltage.uranium_line.subtitle": "新しい処理ライン", "quests.extreme_voltage.uranium_line.desc": "&eウラン&rと、その同位体である&eウラン235&rを処理するには、専用の小規模な処理ラインを用意する必要があります。\n\n安心して下さい、フッ素は&ループ可能&rなので、必要なものは&e閃ウラン鉱の粉&rだけです。\n\nこのラインは地球でも組めますが、閃ウラン鉱の大半は火星で採掘することになるため、火星で稼働させた方が便利な場合もあります。", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 9b2e84244..8bb890f33 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -695,8 +695,8 @@ "item.tfg.phantom_thread": "Фантомная нить", "item.tfg.polycaprolactam_fabric": "Поликапролактамовая ткань", "item.tfg.polycaprolactam_string": "Поликапролактамовая нить", - "item.tfg.space_suit_fabric": "Space Suit Fabric", - "item.tfg.vitrified_pearl": "Vitrified Ender Pearl", + "item.tfg.space_suit_fabric": "Ткань скафандра", + "item.tfg.vitrified_pearl": "Остеклованный эндер-жемчуг", "item.tfg.fishing_net.wood": "Рыболовная сеть (Дерево)", "item.tfg.fishing_net.brass": "Рыболовная сеть (Латунь)", "item.tfg.fishing_net.rose_gold": "Рыболовная сеть (Розовое золото)", @@ -713,28 +713,28 @@ "item.tfg.unfired_chalk": "Необожженная палочка мела", "item.tfg.armor_stand_arms": "Стойка для брони с руками", "item.tfg.flint_club_head": "Навершие булавы (Кремень)", - "item.tfg.unfinished_electron_tube": "Unfinished Electron Tube", - "item.tfg.unfinished_vacuum_tube": "Unfinished Vacuum Tube", - "item.tfg.unfinished_basic_electronic_circuit": "Unfinished Basic Electronic Circuit", - "item.tfg.unfinished_good_electronic_circuit": "Unfinished Good Electronic Circuit", - "item.tfg.unfinished_inscriber_accumulation_press": "Unfinished Inscriber Accumulation Press", + "item.tfg.unfinished_electron_tube": "Незаконченная электронная лампа", + "item.tfg.unfinished_vacuum_tube": "Незаконченная электровакуумная лампа", + "item.tfg.unfinished_basic_electronic_circuit": "Незаконченная обычная микросхема", + "item.tfg.unfinished_good_electronic_circuit": "Незаконченная хорошая электронная микросхема", + "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": "Loose Norite", - "item.tfg.brick.moon_deepslate": "Norite Brick", - "item.tfg.loose.mars_stone": "Loose Argillite", + "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": "Loose Trachyte", + "item.tfg.loose.venus_stone": "Камушек трахита", "item.tfg.brick.venus_stone": "Трахитовый кирпич", - "item.tfg.loose.mercury_stone": "Loose Komatiite", + "item.tfg.loose.mercury_stone": "Камушек коматиита", "item.tfg.brick.mercury_stone": "Коматиитовый кирпич", - "item.tfg.loose.glacio_stone": "Loose Phonolite", + "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": "Loose Red Granite", + "item.tfg.loose.red_granite": "Камушек красного гранита", "item.tfg.brick.red_granite": "Кирпич красного гранита", "item.tfg.terra_firma_greg": "TerraFirmaGreg", "item.tfg.scaffolding_frame": "Обшивка строительных лесов", @@ -765,7 +765,7 @@ "item.tfg.zpm_universal_circuit": "Универсальная схема ZPM", "item.tfg.uv_universal_circuit": "Универсальная схема UV", "item.tfg.uhv_universal_circuit": "Универсальная схема UHV", - "item.tfg.chipboard_composite": "ДСП", + "item.tfg.chipboard_composite": "Древесная стружка", "item.tfg.piglin_disguise": "Маскировка Пиглина", "item.tfg.trowel": "Мастерок", "item.tfg.foil_pack": "Фольгированный пакет", @@ -810,43 +810,43 @@ "item.tfg.food.freeze_dried.melon_slice": "Лиофилизированный ломтик арбуза", "item.tfg.food.freeze_dried.fig": "Лиофилизированный инжир", "item.tfg.food.freeze_dried.pineapple": "Лиофилизированный ананас", - "item.tfg.food.freeze_dried.blossom_berry": "Freeze Dried Blossom Berry", - "item.tfg.food.freeze_dried.shadow_berry": "Freeze Dried Nox Berry", - "item.tfg.food.freeze_dried.cave_pumpkin": "Freeze Dried Bulbkin Chunks", + "item.tfg.food.freeze_dried.blossom_berry": "Лиофилизированная цветущая ягода", + "item.tfg.food.freeze_dried.shadow_berry": "Лиофилизированная нокс-ягода", + "item.tfg.food.freeze_dried.cave_pumpkin": "Лиофилизированная лукыквенная мякоть", "item.tfg.food.calorie_paste": "Калорийная паста", "item.tfg.food.meal_bag": "Лиофилизированное мясо", "item.tfg.food.ice_soup": "Ледяной суп", - "item.tfg.food.raw_glacian_mutton": "Raw Glacian Mutton", - "item.tfg.food.cooked_glacian_mutton": "Cooked Glacian Mutton", - "item.tfg.spawn_egg.glacian_ram": "Glacian Spawn Egg", - "item.tfg.food.raw_sniffer_beef": "Raw Sniffer Beef", - "item.tfg.food.cooked_sniffer_beef": "Cooked Sniffer Beef", - "item.tfg.spawn_egg.sniffer": "Sniffer Spawn Egg", - "item.tfg.food.raw_wraptor": "Raw Wraptor", - "item.tfg.food.cooked_wraptor": "Cooked Wraptor", - "item.tfg.food.raw_springling_collar": "Raw Springling Collar", - "item.tfg.food.cooked_springling_collar": "Cooked Springling Collar", - "item.tfg.food.raw_walker_steak": "Raw Walker Steak", - "item.tfg.food.cooked_walker_steak": "Cooked Walker Steak", - "item.tfg.food.raw_glider_wings": "Raw Glider Wings", - "item.tfg.food.cooked_glider_wings": "Cooked Glider Wings", - "item.tfg.food.raw_whole_soarer": "Raw Whole Soarer", - "item.tfg.food.cooked_whole_soarer": "Cooked Whole Soarer", - "item.tfg.food.raw_crusher_meat": "Raw Crusher Meat", - "item.tfg.food.cooked_crusher_meat": "Cooked Crusher Meat", - "item.tfg.food.raw_goober_meat": "Raw Goober Meat", - "item.tfg.food.cooked_goober_meat": "Cooked Goober Meat", - "item.tfg.food.raw_long_pig_filet": "Raw Long Pig Filet", - "item.tfg.food.cooked_long_pig_filet": "Cooked Long Pig Filet", - "item.tfg.food.raw_surfer_steak": "Raw Surfer Steak", - "item.tfg.food.cooked_surfer_steak": "Cooked Surfer Steak", - "item.tfg.food.raw_stackatick_chunks": "Raw Stackatick Chunks", - "item.tfg.food.raw_stickastackatick": "Raw Stick'a'Stackatick", - "item.tfg.food.cooked_stickastackatick": "Cooked Stick'a'Stackatick", - "item.tfg.food.raw_cruncher_ribs": "Raw Cruncher Ribs", - "item.tfg.food.cooked_cruncher_ribs": "Cooked Cruncher Ribs", - "item.tfg.food.raw_dino_nugget": "Prepared Dinosaur Nugget", - "item.tfg.food.cooked_dino_nugget": "Beer Battered Dinosaur Nugget", + "item.tfg.food.raw_glacian_mutton": "Сырая гласианская баранина", + "item.tfg.food.cooked_glacian_mutton": "Приготовленная гласианская баранина", + "item.tfg.spawn_egg.glacian_ram": "Яйцо призыва гласианского барана", + "item.tfg.food.raw_sniffer_beef": "Сырое мясо нюхача", + "item.tfg.food.cooked_sniffer_beef": "Приготовленное мясо нюхача", + "item.tfg.spawn_egg.sniffer": "Яйцо призыва нюхача", + "item.tfg.food.raw_wraptor": "Сырое мясо ираптора", + "item.tfg.food.cooked_wraptor": "Приготовленное мясо ираптора", + "item.tfg.food.raw_springling_collar": "Сырая шейка долгошея", + "item.tfg.food.cooked_springling_collar": "Приготовленная шейка долгошея", + "item.tfg.food.raw_walker_steak": "Сырое мясо ходуна", + "item.tfg.food.cooked_walker_steak": "Приготовленное мясо ходуна", + "item.tfg.food.raw_glider_wings": "Сырые крылышки глайдера", + "item.tfg.food.cooked_glider_wings": "Приготовленные крылышки глайдера", + "item.tfg.food.raw_whole_soarer": "Сырое крылышки пархателя", + "item.tfg.food.cooked_whole_soarer": "Приготовленное крылышки пархателя", + "item.tfg.food.raw_crusher_meat": "Сырое мясо крушителя", + "item.tfg.food.cooked_crusher_meat": "Приготовленное мясо крушителя", + "item.tfg.food.raw_goober_meat": "Сырое мясо слюпика", + "item.tfg.food.cooked_goober_meat": "Приготовленное мясо слюпика", + "item.tfg.food.raw_long_pig_filet": "Сырая человечина", + "item.tfg.food.cooked_long_pig_filet": "Приготовленная человечина", + "item.tfg.food.raw_surfer_steak": "Сырой стейк из сёрфера", + "item.tfg.food.cooked_surfer_steak": "Приготовленный стейк из сёрфера", + "item.tfg.food.raw_stackatick_chunks": "Сырое мясо жука-перевозчика", + "item.tfg.food.raw_stickastackatick": "Сырой жук-перевозчик на палочке", + "item.tfg.food.cooked_stickastackatick": "Приготовленный жук-перевозчик на палочке", + "item.tfg.food.raw_cruncher_ribs": "Сырые ребрышки кусача", + "item.tfg.food.cooked_cruncher_ribs": "Приготовленное ребрышки кусача", + "item.tfg.food.raw_dino_nugget": "Сырые наггетсы из динозавра", + "item.tfg.food.cooked_dino_nugget": "Приготовленные наггетсы из динозавра в пивном кляре", "item.tfg.roasted_sunflower_seeds": "Обжаренные семена подсолнуха", "item.tfg.sunflower_seeds": "Семена подсолнуха", "item.tfg.sunflower_product": "Шляпка подсолнуха", @@ -859,106 +859,106 @@ "item.tfg.large_bullet_casing": "Большая гильза", "item.tfg.shell_bullet_casing": "Дробовая гильза", "item.tfg.nitrocellulose": "Нитроцеллюлоза", - "item.tfg.aes_wool": "Alkaline Earth Silicate Wool", - "item.tfg.aes_compressed_wool": "Compressed Alkaline Earth Silicate Wool", - "item.tfg.aes_insulation_sheet": "Sheet of Alkaline Earth Silicate Insulation", - "item.tfg.aes_insulation_roll": "Roll of Alkaline Earth Silicate Insulation", - "item.tfg.rocket_cone_t2": "Improved Rocket Nose Cone", - "item.tfg.rocket_fin_t2": "Improved Rocket Fin", - "item.tfg.cryo_fluix_pearl": "Cryogenized Fluix Pearl", + "item.tfg.aes_wool": "Щелочноземельная силикатная шерсть", + "item.tfg.aes_compressed_wool": "Плотная щелочноземельная силикатная шерсть", + "item.tfg.aes_insulation_sheet": "Щелочноземельная силикатная шерстяная пластина", + "item.tfg.aes_insulation_roll": "Рулон щелочноземельных силикатных шерстяных пластин", + "item.tfg.rocket_cone_t2": "Улучшенный ракетный обтекатель", + "item.tfg.rocket_fin_t2": "Улучшенный ракетный стабилизатор", + "item.tfg.cryo_fluix_pearl": "Криогенный флюисовый жемчуг", "item.tfg.marker.earth_orbit": "Орбита Земли", "item.tfg.marker.moon_orbit": "Орбита Луны", "item.tfg.marker.mars_orbit": "Орбита Марса", "item.tfg.marker.venus_orbit": "Орбита Венеры", "item.tfg.marker.mercury_orbit": "Орбита Меркурия", "item.tfg.marker.glacio_orbit": "Орбита Европы", - "item.tfg.railgun_ammo_shell": "Railgun Ammo Shell", - "item.tfg.sulfur_fumes_bucket": "Sulfur Fumes Bucket", + "item.tfg.railgun_ammo_shell": "Гильза снаряда рельсотрона", + "item.tfg.sulfur_fumes_bucket": "Ведро (Пары серы)", "item.tfg.super_heated_slurry_bucket": "Super Heated Slurry Bucket", - "item.tfg.cryogenized_fluix_bucket": "Cryogenized Fluix Bucket", - "item.tfg.fluix_bucket": "Liquid Fluix Bucket", - "item.tfg.latex_bucket": "Latex Bucket", - "item.tfg.vulcanized_latex_bucket": "Vulcanized Latex Bucket", - "item.tfg.conifer_pitch_bucket": "Conifer Pitch Bucket", - "item.tfg.compressed_nitrox_bucket": "Nitrox Bucket", - "item.tfg.compressed_heliox_bucket": "Heliox Bucket", - "item.tfg.compressed_heliox_3_bucket": "Heliox-3 Bucket", - "item.tfg.compressed_trimix_bucket": "50/30/20 Trimix Bucket", - "item.tfg.compressed_trimix_3_bucket": "50/30/20 Trimix-3 Bucket", - "item.tfg.semiheavy_ammoniacal_water_bucket": "Semiheavy Ammoniacal Water Bucket", + "item.tfg.cryogenized_fluix_bucket": "Ведро (Криогенный флюис)", + "item.tfg.fluix_bucket": "Ведро (Флюис)", + "item.tfg.latex_bucket": "Ведро (Латекс)", + "item.tfg.vulcanized_latex_bucket": "Ведро (Вулканизированный латекс)", + "item.tfg.conifer_pitch_bucket": "Ведро (Хвойная смола)", + "item.tfg.compressed_nitrox_bucket": "Ведро (Нитрокс)", + "item.tfg.compressed_heliox_bucket": "Ведро (Гелиокс)", + "item.tfg.compressed_heliox_3_bucket": "Ведро (Гелиокс-3)", + "item.tfg.compressed_trimix_bucket": "Ведро (50/30/20 Тримикс)", + "item.tfg.compressed_trimix_3_bucket": "Ведро (50/30/20 Тримикс-3)", + "item.tfg.semiheavy_ammoniacal_water_bucket": "Ведро (Полутяжелая аммиачная вода)", "item.tfg.harvest_basket": "Лукошко", "item.tfg.aluminium_harvest_basket": "Лукошко (Алюминий)", "item.tfg.wood.lumber.aeronos": "Доска из конусообразного гриба", "item.tfg.wood.lumber.strophar": "Доска из строфарового гриба", "item.tfg.wood.lumber.glacian": "Доска из гласивника", - "item.tfg.twigs.aeronos": "Aeronos Twig", - "item.tfg.twigs.strophar": "Strophar Twig", - "item.tfg.twigs.glacian": "Glacian Twig", - "item.tfg.twigs.alphacene": "Alphacene Twig", - "item.tfg.crimsene_gem": "Crimsene Rosin", - "item.tfg.warpane_gem": "Warpane Rosin", - "item.tfg.glacian_wool": "Glacian Wool", - "item.tfg.sniffer_wool": "Mineral Rich Tufts", - "item.tfg.sniffer_egg": "Sniffer Egg", - "item.tfg.wraptor_wool": "Mineral Rich Down Feathers", - "item.tfg.wraptor_egg": "Wraptor Egg", - "item.tfg.wraptor_sugar": "Wraptor Sugar", - "item.tfg.aes_polyurethane": "Bio-AES Reinforced R-Polyurethane Foam", - "item.tfg.mli_shielding": "Multi-Layer Insulated Shielding", - "item.tfg.rocket_cone_t3": "Advanced Rocket Nose Cone", - "item.tfg.rocket_fin_t3": "Advanced Rocket Fin", - "item.tfg.elite_power_thruster": "§aElite Power Thruster", - "item.tfg.silica_aerogel": "Silica Aerogel", - "item.tfg.better_space_suit_fabric": "Adaptive Space Suit Fabric", - "item.tfg.universal_compost_browns": "Brown Universal Compost", - "item.tfg.universal_compost_greens": "Green Universal Compost", - "item.tfg.etching_diamond_tip": "Etching Diamond Tip", + "item.tfg.twigs.aeronos": "Веточка конусообразного гриба", + "item.tfg.twigs.strophar": "Веточка строфарового гриба", + "item.tfg.twigs.glacian": "Веточка гласивника", + "item.tfg.twigs.alphacene": "Веточка альфаценового гриба", + "item.tfg.crimsene_gem": "Багряная смола", + "item.tfg.warpane_gem": "Искаженная смола", + "item.tfg.glacian_wool": "Гласианская шерсть", + "item.tfg.sniffer_wool": "Богатая минералами шерсть нюхача", + "item.tfg.sniffer_egg": "Яйцо нюхача", + "item.tfg.wraptor_wool": "Богатые минералами перья ираптора", + "item.tfg.wraptor_egg": "Яйцо ираптора", + "item.tfg.wraptor_sugar": "Сахар ираптора", + "item.tfg.aes_polyurethane": "Био-ЩЗС укрепленный R-полиуретановый пенопласт", + "item.tfg.mli_shielding": "Многослойное изоляционное покрытие", + "item.tfg.rocket_cone_t3": "Продвинутый ракетный обтекатель", + "item.tfg.rocket_fin_t3": "Продвинутый ракетный стабилизатор", + "item.tfg.elite_power_thruster": "§aПродвинутый силовой двигатель", + "item.tfg.silica_aerogel": "Силикатный аэрогель", + "item.tfg.better_space_suit_fabric": "Пластичная ткань скафандра", + "item.tfg.universal_compost_browns": "Коричневый универсальный компост", + "item.tfg.universal_compost_greens": "Зеленый универсальный компост", + "item.tfg.etching_diamond_tip": "Гравировочная алмазная игла", "item.tfg.spade_head_extruder_mold": "Форма экструдера (Оголовье заступа)", - "item.tfg.mining_hammer_head_extruder_mold": "Extruder Mold (Mining Hammer Head)", - "item.tfg.sword_head_extruder_mold": "Extruder Mold (Sword Head)", - "item.tfg.pickaxe_head_extruder_mold": "Extruder Mold (Pickaxe Head)", - "item.tfg.shovel_head_extruder_mold": "Extruder Mold (Shovel Head)", - "item.tfg.axe_head_extruder_mold": "Extruder Mold (Axe Head)", - "item.tfg.hoe_head_extruder_mold": "Extruder Mold (Hoe Head)", - "item.tfg.scythe_head_extruder_mold": "Extruder Mold (Sycthe Head)", - "item.tfg.file_head_extruder_mold": "Extruder Mold (File Head)", - "item.tfg.hammer_head_extruder_mold": "Extruder Mold (Hammer Head)", - "item.tfg.saw_head_extruder_mold": "Extruder Mold (Saw Head)", - "item.tfg.knife_head_extruder_mold": "Extruder Mold (Knife Head)", - "item.tfg.butchery_knife_head_extruder_mold": "Extruder Mold (Butchery Knife Head)", - "item.tfg.propick_head_extruder_mold": "Extruder Mold (Prospector's Pick Head)", - "item.tfg.javelin_head_extruder_mold": "Extruder Mold (Javelin Head)", - "item.tfg.chisel_head_extruder_mold": "Extruder Mold (Chisel Head)", - "item.tfg.mace_head_extruder_mold": "Extruder Mold (Mace Head)", - "item.tfg.mattock_head_extruder_mold": "Extruder Mold (Mattock Head)", - "item.tfg.fish_hook_extruder_mold": "Extruder Mold (Fish Hook)", - "item.tfg.whisk_extruder_mold": "Extruder Mold (Whisk)", - "item.tfg.screwdriver_tip_extruder_mold": "Extruder Mold (Screwdriver Tip)", - "item.tfg.wrench_tip_extruder_mold": "Extruder Mold (Wrench Tip)", - "item.tfg.wire_cutter_head_extruder_mold": "Extruder Mold (Wire Cutter Head)", - "item.tfg.small_casing_extruder_mold": "Extruder Mold (Small Bullet Casing)", - "item.tfg.shell_casing_extruder_mold": "Extruder Mold (Shell Bullet Casing)", - "item.tfg.large_casing_extruder_mold": "Extruder Mold (Large Bullet Casing)", + "item.tfg.mining_hammer_head_extruder_mold": "Форма экструдера (Огловье шахтерского молота)", + "item.tfg.sword_head_extruder_mold": "Форма экструдера (Оголовье меча)", + "item.tfg.pickaxe_head_extruder_mold": "Форма экструдера (Оголовье кирки)", + "item.tfg.shovel_head_extruder_mold": "Форма экструдера (Оголовье лопаты)", + "item.tfg.axe_head_extruder_mold": "Форма экструдера (Оголовье топора)", + "item.tfg.hoe_head_extruder_mold": "Форма экструдера (Оголовье мотыги)", + "item.tfg.scythe_head_extruder_mold": "Форма экструдера (Оголовье косы)", + "item.tfg.file_head_extruder_mold": "Форма экструдера (Оголовье напильника)", + "item.tfg.hammer_head_extruder_mold": "Форма экструдера (Оголовье молота)", + "item.tfg.saw_head_extruder_mold": "Форма экструдера (Оголовье пилы)", + "item.tfg.knife_head_extruder_mold": "Форма экструдера (Оголовье ножа)", + "item.tfg.butchery_knife_head_extruder_mold": "Форма экструдера (Оголовье тесака)", + "item.tfg.propick_head_extruder_mold": "Форма экструдера (Головка геологического молотка)", + "item.tfg.javelin_head_extruder_mold": "Форма экструдера (Наконечник копья)", + "item.tfg.chisel_head_extruder_mold": "Форма экструдера (Головка зубила)", + "item.tfg.mace_head_extruder_mold": "Форма экструдера (Навершие булавы)", + "item.tfg.mattock_head_extruder_mold": "Форма экструдера (Оголовье кайла)", + "item.tfg.fish_hook_extruder_mold": "Форма экструдера (Крючок)", + "item.tfg.whisk_extruder_mold": "Форма экструдера (Венчик)", + "item.tfg.screwdriver_tip_extruder_mold": "Форма экструдера (Наконечник отвертки)", + "item.tfg.wrench_tip_extruder_mold": "Форма экструдера (Торцевая головка ключа)", + "item.tfg.wire_cutter_head_extruder_mold": "Форма экструдера (Насадка кусачек)", + "item.tfg.small_casing_extruder_mold": "Форма экструдера (Маленькая гильза)", + "item.tfg.shell_casing_extruder_mold": "Форма экструдера (Дробовая гильза)", + "item.tfg.large_casing_extruder_mold": "Форма экструдера (Большая гильза)", "item.tfg.photo_cell_t1": "Обычная фотоэлектрическая ячейка", "item.tfg.electric_extendo_grip": "Electric Extendo Grip", - "item.tfg.treated_chipboard_composite": "Treated Chipboard Composite", - "item.tfg.high_density_treated_fiberboard": "Medium Density Treated Fiberboard", - "item.tfg.flax_seeds": "Flax Seeds", - "item.tfg.flax_product": "Flax Stems", - "item.tfg.flax_bundle": "Flax Bundle", - "item.tfg.flax_line": "Flax Line Fibers", - "item.tfg.flax_tow": "Flax Tow Fibers", - "item.tfg.flax_waste": "Scraped Flax", - "item.tfg.bundled_scraped_flax": "Bundled Scraped Flax", - "item.tfg.linen_thread": "Linen Thread", - "item.tfg.linen_cloth": "Linen Cloth", - "item.tfg.uv_led": "§dUltraviolet §fLED", - "item.tfg.smd_uv_led": "§fSMD §dUltraviolet §fLED", - "item.tfg.empty_dna_syringe": "Empty Syringe", - "item.tfg.filled_dna_syringe": "Filled Syringe", - "item.tfg.dirty_dna_syringe": "Dirty Syringe", - "item.tfg.clean_dna_syringe": "Clean Syringe", - "item.tfg.stainless_steel_needle": "Stainless Steel Needle", + "item.tfg.treated_chipboard_composite": "Обработанный ДСП", + "item.tfg.high_density_treated_fiberboard": "ДСП", + "item.tfg.flax_seeds": "Семена льна", + "item.tfg.flax_product": "Льняной стебель", + "item.tfg.flax_bundle": "Связка льна", + "item.tfg.flax_line": "Волокна льна", + "item.tfg.flax_tow": "Kьняные очёски", + "item.tfg.flax_waste": "Костра льна", + "item.tfg.bundled_scraped_flax": "Связка костры льна", + "item.tfg.linen_thread": "Льные нитки", + "item.tfg.linen_cloth": "Льняная ткань", + "item.tfg.uv_led": "§dУльтрафиолетовый §fСИД", + "item.tfg.smd_uv_led": "§fSMD §dУльтрафиолетовый §fСИД", + "item.tfg.empty_dna_syringe": "Пустой шприц", + "item.tfg.filled_dna_syringe": "Заполненный шприц", + "item.tfg.dirty_dna_syringe": "Грязный шприц", + "item.tfg.clean_dna_syringe": "Чистый шприц", + "item.tfg.stainless_steel_needle": "Игла из нержавеющей стали", "item.tfg.empty_rod": "Empty Fissile Fuel Rod", "item.tfg.thorium_rod": "Thorium Fuel Rod", "item.tfg.uranium_rod": "Uranium Fuel Rod", @@ -988,27 +988,27 @@ "item.tfg.vial.filled": "Флакон (%s)", "item.tfg.lab_equipment": "Лабораторное оборудование", "item.tfg.dirty_lab_equipment": "Грязное лабораторное оборудование", - "item.tfg.wireless_card": "Interplanetary Wireless Card", - "item.tfg.wet_magenta_chalk": "Wet Magenta Chalk", - "item.tfg.wet_pink_chalk": "Wet Pink Chalk", - "item.tfg.wet_green_chalk": "Wet Green Chalk", - "item.tfg.wet_lime_chalk": "Wet Lime Chalk", - "item.tfg.wet_light_gray_chalk": "Wet Light Gray Chalk", - "item.tfg.wet_yellow_chalk": "Wet Yellow Chalk", - "item.tfg.wet_black_chalk": "Wet Black Chalk", - "item.tfg.wet_light_blue_chalk": "Wet Light Blue Chalk", - "item.tfg.wet_brown_chalk": "Wet Brown Chalk", - "item.tfg.wet_cyan_chalk": "Wet Cyan Chalk", - "item.tfg.wet_orange_chalk": "Wet Orange Chalk", - "item.tfg.wet_red_chalk": "Wet Red Chalk", - "item.tfg.wet_gray_chalk": "Wet Gray Chalk", - "item.tfg.wet_white_chalk": "Wet White Chalk", - "item.tfg.wet_blue_chalk": "Wet Blue Chalk", - "item.tfg.wet_purple_chalk": "Wet Purple Chalk", - "item.tfg.lamp_casting_mold": "Lamp Casting Mold", - "item.tfg.trapdoor_casting_mold": "Trapdoor Casting Mold", - "item.tfg.chain_casting_mold": "Chain Casting Mold", - "item.tfg.bell_casting_mold": "Bell Casting Mold", + "item.tfg.wireless_card": "Межпланетная беспроводная карта", + "item.tfg.wet_magenta_chalk": "Мокрый пурпурный мелок", + "item.tfg.wet_pink_chalk": "Мокрый розовый мелок", + "item.tfg.wet_green_chalk": "Мокрый зеленый мелок", + "item.tfg.wet_lime_chalk": "Мокрый лаймовый мелок", + "item.tfg.wet_light_gray_chalk": "Мокрый светло-серый мелок", + "item.tfg.wet_yellow_chalk": "Мокрый жёлтый мелок", + "item.tfg.wet_black_chalk": "Мокрый черный мелок", + "item.tfg.wet_light_blue_chalk": "Мокрый голубой мелок", + "item.tfg.wet_brown_chalk": "Мокрый коричневый мелок", + "item.tfg.wet_cyan_chalk": "Мокрый бирюзовый мелок", + "item.tfg.wet_orange_chalk": "Мокрый оранжевый мелок", + "item.tfg.wet_red_chalk": "Мокрый красный мелок", + "item.tfg.wet_gray_chalk": "Мокрый серый мелок", + "item.tfg.wet_white_chalk": "Мокрый белый мелок", + "item.tfg.wet_blue_chalk": "Мокрый синий мелок", + "item.tfg.wet_purple_chalk": "Мокрый фиолетовый мелок", + "item.tfg.lamp_casting_mold": "Отливная форма (Фонарь)", + "item.tfg.trapdoor_casting_mold": "Отливная форма (Люк)", + "item.tfg.chain_casting_mold": "Отливная форма (Цепь)", + "item.tfg.bell_casting_mold": "Отливная форма (Колокол)", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканический латекс", "material.tfg.fluix": "Флакс", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 7f352b458..248b8b4b0 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1448,7 +1448,7 @@ "tfg.tooltip.machine.one_energy_hatch": "Приймає рівно §6Один§r енергетичний люк", "tfg.tooltip.machine.two_energy_hatches": "Приймає до §6Двох§r енергетичних люків", "tfg.tooltip.machine.subtick": "Ця машина підтримує §2Підтакт§r!", - "tfg.tooltip.machine.coil_energy_discount": "Кожна котушка після §6Мельхіору§7 зменшує споживання енергії на §r10%§7.§r", + "tfg.tooltip.machine.coil_energy_discount": "Кожна котушка після §6Мельхіору§r зменшує споживання енергії на §r10%§7.§r", "tfg.tooltip.machine.bioreactor_1": "§7Хімія зустрічається з Біологією§r", "tfg.tooltip.machine.bioreactor_2": "§7Поєднує органічні та неорганічні інгредієнти для отримання синтетичних біологічних продуктів.§r", "tfg.tooltip.machine.growth_chamber_1": "§7Вирощування нового життя§r", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e5e88cc7c..3658b1b1c 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1479,10 +1479,14 @@ "tfg.emi.ore_veins.rock_types": "存在于岩石类型:", "tfg.emi.ore_veins.rarity": "稀有度:%d", "tfg.emi.ore_veins.density": "密度:%d", - "tfg.emi.ore_veins.y_ranges": "深度:%d 至 %d", + "tfg.emi.ore_veins.y_ranges": "Y轴高度:%d 至 %d", "tfg.emi.ore_veins.size": "尺寸:%d", "tfg.emi.ore_veins.height": "高度:%d", "tfg.emi.ore_veins.radius": "半径:%d", + "ore_vein.tfg.rose_quartz": "玫瑰石英", + "ore_vein.tfg.rose_quartz.emi.0": "生成于海拔较低", + "ore_vein.tfg.rose_quartz.emi.1": "且气候低于-10°C的", + "ore_vein.tfg.rose_quartz.emi.2": "生物群系中。", "emi.category.tfg.ore_vein_info": "矿脉信息", "tfg.emi.liquid_bb_burn_time": "耗时:%s秒", "tfg.emi.liquid_bb_superheat": "§l过热", @@ -1542,7 +1546,7 @@ "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", - "tfg.tooltip.machine.coil_energy_discount": "使用§6白铜§7后的每个线圈等级可以减少§f10%§7的能源消耗。", + "tfg.tooltip.machine.coil_energy_discount": "使用§6白铜§r后的每个线圈等级可以减少§f10%§7的能源消耗。", "tfg.tooltip.machine.bioreactor_1": "§7化学与生物学的交汇§r", "tfg.tooltip.machine.bioreactor_2": "§7通过融合有机与无机成分制造合成生物制品§r", "tfg.tooltip.machine.growth_chamber_1": "§7孕育新生§r", @@ -2569,6 +2573,8 @@ "quests.high_voltage.final_dust.title": "无限尘埃", "quests.high_voltage.final_dust.subtitle": "终于!无限资源!", "quests.high_voltage.final_dust.desc": "这是在解锁&e金星&r上更高级的加工设施前,你能在&7月球&r上获取的所有&c无限资源&r。\n\n有了这些资源,你将拥有持续推进&d格雷科技&r进程所需的一切——尤其是维护月球基地&a正常运作&r的必需品。\n\n这些资源对以下用途至关重要:\n• 制作&dAE2组件&r\n• 生产&c无限&r供应的&6轨道炮弹药&r\n\n被动自动化现在就在你触手可及之处——迈步向前,让它成为现实!", + "quests.high_voltage.titanium_greate.title": "钛级格雷机械", + "quests.high_voltage.titanium_greate.desc": "这是在 TFG 中可达成的最终等级格雷机械。若说它有何“极限”之处——那便是极致的可选性(完全不做也行)。", "quests.low_voltage": "&7LV&r - 低压", "quests.low_voltage.subtitle": "驯服电力,开启你的格雷科技之旅", "quests.low_voltage.lv_machine_hull.title": "你的第二个机器外壳", @@ -2600,7 +2606,7 @@ "quests.low_voltage.link_chapter.title": "给我解释一下能量", "quests.low_voltage.link_chapter.subtitle": "有一整章关于能量的内容", "quests.low_voltage.link_chapter.desc": "点击此处查看章节", - "quests.low_voltage.link_chapter.task": "阅读它", + "quests.low_voltage.link_chapter.task": "我读完了", "quests.low_voltage.lv_combuston_gen.title": "内燃发电机", "quests.low_voltage.lv_combuston_gen.subtitle": "它会轰隆作响并产生能量", "quests.low_voltage.lv_combuston_gen.desc": "&7LV内燃发电机&r的制作成本可能略高于其他发电机,但其燃料蕴含极高能量。这使得它更便于携带——当需要为远离基地的发电机供能时,一桶&2生物柴油&r即可传输大量电力。\n\n与其他&7LV发电机&r一样,它可产生&a32EU/t&r的能量。", @@ -2802,7 +2808,7 @@ "quests.low_voltage.mold_plate.desc": "别再用&6合金炉&r浪费时间了。你将需要大量&6橡胶片&r,后续阶段还会用它处理其他类型的塑料制品。\n\n或许你认为能用压模器制作橡胶片,但&6流体固化机&r功能多样,而压模器在&bMV&r阶段前几乎没用。", "quests.low_voltage.cupronickel_ingot.title": "白铜锭", "quests.low_voltage.cupronickel_ingot.subtitle": "它是一种合金", - "quests.low_voltage.cupronickel_ingot.desc": "&7格雷科技进阶的一大核心在于获取新材料,这些材料将用于升级机器和解锁高级组件。&r\n\n你将接触的第一种合金是&b白铜&r——这仅是漫长征程的起点。\n该材料用于升级&6电力高炉&r,乃是工业发展不可或缺的关键步骤。\n\n幸运的是,这第一步相当简单:基础的&7LV合金炉&r即可胜任。\n因此即便配方显示需要&b128个白铜&r也无需担忧——实际操作比看起来容易得多!&r\n\n后续阶段的合金制备将日趋复杂,趁简单的时候好好享受吧!", + "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", @@ -2831,6 +2837,12 @@ "quests.low_voltage.mv_hull.subtitle": "进展相当顺利,只剩7个了!", "quests.low_voltage.mv_hull.desc1": "干得漂亮!你现在已经有了&bMV机器外壳&r、第一块&bMV电路&r和第一台&6电路组装机&r。\n\n这正是&6格雷科技&r的精髓所在——每个阶段你都将运用全新的&6材料&r与&6化工产品&r来制造新一代&6机器&r。接下来你将体验&5酣畅淋漓的创造乐趣&r,我们都有点羡慕了!", "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.oil.title": "提前发现石油了?", + "quests.low_voltage.oil.subtitle": "致LV阶段的卷王", + "quests.low_voltage.oil.desc": "若你在旅途中发现任何油砂矿或(沙漠中的)石油喷口,其实在LV阶段便可稍加利用。\n\n你可将其转化为重燃油用于锅炉,或更佳——用它生产少量&b聚乙烯&r!\n\n相关细节虽在MV章节,但此刻你已可用聚乙烯制造数种物品,例如成本更低的机器外壳与二极管。", "quests.medium_voltage": "&bMV&r - 中压", "quests.medium_voltage.subtitle": "进军石油化工,精炼电子技术", "quests.medium_voltage.mv_machine_hull.title": "欢迎来到MV!", @@ -2842,7 +2854,7 @@ "quests.medium_voltage.mv_miner.title": "自动采矿", "quests.medium_voltage.mv_miner.subtitle": "所以你自己挖矿挖烦了?", "quests.medium_voltage.mv_miner.desc.1": "当这位&r好心的帮手被放置在矿脉上方时能替你采集矿石。\n\n矿机下方的垂直范围无限,水平范围显示在提示信息中。\n\n&bMV&r型号可能不足以覆盖整个矿脉范围,但&6HV&r型号可以做到,因此建议你暂时等待后续型号。本任务只需获得&e任意一种&r型号即可完成。", - "quests.medium_voltage.mv_miner.desc.2": "你将需要&9电力&r。&a充电电池&r或许能应急,但容易耗尽电力,操作起来不太方便。\n\n我们首推使用装有某种燃料的&3桶&r&7(若使用蒸汽则行不通!)&r配合&3发电机&r使用。\n\n将桶放置在发电机上方,用&5软槌&r右键即可自动将燃料输入发电机。", + "quests.medium_voltage.mv_miner.desc.2": "你将需要&9电力&r。&a充电电池&r或许能应急,但容易耗尽电力,操作起来不太方便。\n\n我们首推使用装有某种燃料的&3桶&r&7(若使用蒸汽则行不通!)&r配合&3发电机&r使用。\n\n将桶放置在发电机上方,用&5软槌&r或&5螺丝刀&r右键即可自动将燃料输入发电机。", "quests.medium_voltage.mv_miner.desc.3": "&c注意:&r不要忘记对矿脉所有&d9个区块进行区块加载&r&7(打开地图,按住Ctrl+左键点击申领区块,申领后启用强制加载)&r。\n\n&9提示:&r你可以选择使用&3ME箱子&r、&3背包&r或&3格雷板条箱&r作为输出容器,便于将矿石运回基地。顺带一提,&3ME箱子&r可直接通过EU供电。", "quests.medium_voltage.mv_miner.task": "任何采矿机", "quests.medium_voltage.mv_component.title": "MV组件", @@ -3075,6 +3087,9 @@ "quests.medium_voltage.lsb.title": "蒸汽腾腾", "quests.medium_voltage.lsb.subtitle": "若你拥有无限燃料,这仍是可行方案", "quests.medium_voltage.lsb.desc": "若你&l仍在&r使用&3大型青铜锅炉&r,建议升级至&3大型钢锅炉&r。\n\n它的效率比&3大型青铜锅炉&r略高,可产生&d1800mB/t的蒸汽&r。\n\n现阶段我们建议你尝试其他发电方案。", + "quests.medium_voltage.stainless_greate.title": "不锈钢级格雷机械", + "quests.medium_voltage.stainless_greate.subtitle": "高应力", + "quests.medium_voltage.stainless_greate.desc": "本任务仅用于告知:格雷机械在此阶段迎来了又一次升级。\n\n你可能会发现新一代粉碎轮颇为实用——它们不仅能像HV研磨机一样提供全额副产物,还可同时处理多个物品!", "quests.metal_age": "冶金时代", "quests.metal_age.subtitle": "你的第一次技术进步。", "quests.metal_age.weld_bronze_ingots.title": "焊接青铜", @@ -3510,7 +3525,7 @@ "quests.steam_age.basic_millstone.desc": "&3石磨&r是手推磨的自动化版本。你可以把任何你想粉碎的东西从顶部扔进去,然后右键单击取出粉碎后的物品。如果你直接把它连接到动物曲柄上,它会相当慢,但你可以使用齿轮比来提高它的速度。\n\n请注意:产出物仅会出现在第一个槽位。其余槽位属于格雷科技机制的一部分,在&6HV&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你可能需要手持第二根拴绳来拴住动物。", + "quests.steam_age.horse_crank.desc.1": "&3动物曲柄&r 是你第一个可获得的机械动力源。要使用它,将曲柄放在一个7x7清空区域的中心,并用拴绳将动物拴在上面。不同的动物会提供不同数量的动力,而下面的方块会增加输出动力的速度。多个曲柄的区域可以重叠。\n\n你可能需要手持第二根拴绳来拴住动物。", "quests.steam_age.horse_crank.desc.2": "&3小型动物 (4 SU):&r\n狼, 狗, 猪, 绵羊, 山羊, 羊驼\n\n&3中型动物 (6 SU):&r\n牛, 驴\n\n&3大型动物 (8 SU):&r\n马, 骡, 麝牛, 牦牛", "quests.steam_age.poor_paths.title": "劣质路面", "quests.steam_age.poor_paths.subtitle": "这只是土", @@ -3575,7 +3590,7 @@ "quests.steam_age.fluid_pipes.desc.2": "&a提醒:&r1秒=20游戏刻……前提是服务器没有卡顿。\n\n&d注意:&r 已启用格雷科技6风格的管道。这意味着放置管道时,它们仅会连接到其放置时所对准的方块。需要使用扳手点击管道以打开更多连接。\n\n你也可以在潜行状态下使用扳手右键点击来禁用特定侧的输入。这有助于防止回流(液体向非预期方向流动)。", "quests.steam_age.fluid_drums.title": "高效流体存储", "quests.steam_age.fluid_drums.subtitle": "木桶恐怕无法盛放熔融的钢水。", - "quests.steam_age.fluid_drums.desc.1": "&6TFG&r整合包引入了&4数量庞大&r的流体,容易让人应接不暇,因此你可能在寻找存储它们的方法。\n\n来认识一下……&a储液桶&r!它们拥有巨大的内部容量,任何&a储液桶&r在被破坏拾取后都会&d保留其中的流体&r。使用软木槌右键点击,可将其中的流体排入下方放置的其他容器中。", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r整合包引入了&4数量庞大&r的流体,容易让人应接不暇,因此你可能在寻找存储它们的方法。\n\n来认识一下……&a储液桶&r!它们拥有巨大的内部容量,任何&a储液桶&r在被破坏拾取后都会&d保留其中的流体&r。使用软木槌或螺丝刀右键点击,可将其中的流体排入下方放置的其他容器中。", "quests.steam_age.fluid_drums.desc.2": "&l&3背景知识:&r&o这些储液桶实际上移植自格雷科技6。", "quests.steam_age.boilers.title": "蒸汽锅炉", "quests.steam_age.boilers.subtitle": "便携式蒸汽室", @@ -3687,7 +3702,7 @@ "quests.steam_age.lathe.desc": "&3砂带磨床&r能自动将一个锭加工成两根杆,将单个螺栓变成螺丝,并能抛光宝石及执行其他加工作业。若你需要大量杆与螺丝(而你也确实会需要),这台机器将是一项明智的投资。", "quests.steam_age.steel_saw.title": "钢动力锯", "quests.steam_age.steel_saw.subtitle": "切石机和LV切割机合的二合一!", - "quests.steam_age.steel_saw.desc": "这台设备是基础动力锯的升级版,不仅能处理木材,还可执行部分金属加工配方,例如将金属杆制成四枚螺栓,或将方块切割成板材。这些配方均需使用流体介质,现阶段仅需用水即可。\n\n若先将橡胶末在合金炉中铸成块状,再利用此设备进行切割,还能以更低成本制作橡胶片。", + "quests.steam_age.steel_saw.desc": "这台设备是基础动力锯的升级版,不仅能处理木材,还可执行部分金属加工配方,例如将金属杆制成四枚螺栓,或将方块切割成板材。这些配方均需使用流体介质,现阶段仅需用水即可。\n\n若先将橡胶末在合金炉中铸成块状,再利用此设备进行切割,还能以更低成本制作橡胶片。\n\n未曾炼制过钴黄铜?你有两种选择:其一,可在坩埚中使用任何能熔化为硅酸铝的材料进行合金冶炼;其二,可利用搅拌机,配合从矿石处理中获得的铝粉进行制作。", "quests.steam_age.rolling_mill.title": "轧机", "quests.steam_age.rolling_mill.subtitle": "LV卷板机的另一半", "quests.steam_age.rolling_mill.desc.1": "在蒸汽时代所有可制造的机器中,&3轧机&r堪称最实用的设备之一,原因很简单:它能将单个金属锭直接轧制成单个板材。更值得一提的是,它制作薄板的成本比手工合成更低,实为附赠优势!", @@ -3893,7 +3908,7 @@ "quests.stone_age.create_forge.title": "木炭炉", "quests.stone_age.create_forge.subtitle": "顺带一提,织物不存在。", "quests.stone_age.create_forge.desc": "木炭炉是一种先进的工作站,可用于将材料加热至高温。其加热速度相比坑窑显著更快,且温度控制更为精准。\n\n制作锻炉至少需要7块木炭和5个岩石类方块(如天然岩石或圆石)。\n木炭炉的燃料仅可使用木炭、煤炭或焦炭,不可使用原木。\n\n具体制作方法请查阅《野外指南》中关于木炭坑和木炭炉的详细图文教程。", - "quests.stone_age.rock_anvil.title": "石头砧", + "quests.stone_age.rock_anvil.title": "石砧", "quests.stone_age.rock_anvil.subtitle": "其使用寿命较为有限", "quests.stone_age.rock_anvil.desc": "砧是早期金属加工的基础。要制作真正的金属砧,你需要使用前一级别的砧进行金属锭的焊接操作。由于铜属于最初阶的金属,你必须通过岩石砧台来完成铜锭的焊接——只需用锤子右键单击天然火成岩即可制作石砧。需要注意的是,石砧的功能极为有限,仅能进行焊接操作。若要实现金属的塑形锻造,你仍需升级至对应的金属砧。", "quests.stone_age.quern.title": "手推磨和磨盘", @@ -3910,7 +3925,7 @@ "quests.stone_age.clean_dust.desc": "最终,将含杂粉或精炼粉投入水中浸泡数秒即可完成清洗,获得最终形态的纯净矿粉。此时的产出价值已堪比整块金属锭,所有付出都是值得的!", "quests.stone_age.flux.title": "助焊石", "quests.stone_age.flux.subtitle": "它基本上是金属胶水", - "quests.stone_age.flux.desc": "助熔剂是一种主要用于金属加工中将东西焊接在一起的物品,尽管它也有一些其他用途。\n某些类型的岩石,如白垩、石灰石和大理石,可以被粉碎制成助熔剂,各种海洋动物的壳也可以。", + "quests.stone_age.flux.desc": "助焊剂是一种主要用于焊接金属的物品,尽管它也有一些别的用途。\n某些类型的岩石,如白垩、石灰石和大理石,可以被粉碎制成助焊剂,各种海洋动物的壳也可以。", "quests.stone_age.weld_copper_ingots.title": "焊接铜锭", "quests.stone_age.weld_copper_ingots.subtitle": "离铜砧如此之近", "quests.stone_age.weld_copper_ingots.desc": "点燃木炭炉并投入至少2块铜锭。密切关注铜锭加热时的状态提示——当显示\"可加工\"时仍需等待,直至达到\"可焊接\"状态(即将达到熔点的临界阶段)。\n\n一旦达到可焊接温度,请立即用副手持木钳将其快速夹取至石台界面,同时添加少量助焊剂。最后潜行状态下右键点击砧台,趁热将两块铜锭焊接为一体。可使用水或雪快速冷却新制成的双锭。", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 2bf5401c8..39fb0427b 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -19,70 +19,76 @@ const registerTooltips = (event) => { text.add(1, Text.translate('tfg.tooltip.blaze_burner')) }) 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')), - text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')), - text.add(5, Text.translate('tfg.tooltip.machine.customize_interior')) + text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1')); + text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2')); + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + text.add(5, Text.translate('tfg.tooltip.machine.customize_interior')); }) event.addAdvanced(['tfg:growth_chamber'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.machine.growth_chamber_1')), - text.add(2, Text.translate('tfg.tooltip.machine.growth_chamber_2')), - text.add(5, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(1, Text.translate('tfg.tooltip.machine.growth_chamber_1')); + text.add(2, Text.translate('tfg.tooltip.machine.growth_chamber_2')); + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['tfg:evaporation_tower'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.machine.evaporation_tower_1')), - text.add(2, Text.translate('tfg.tooltip.machine.evaporation_tower_2')), - text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(1, Text.translate('tfg.tooltip.machine.evaporation_tower_1')); + text.add(2, Text.translate('tfg.tooltip.machine.evaporation_tower_2')); + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['tfg:bioreactor'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.machine.bioreactor_1')), - text.add(2, Text.translate('tfg.tooltip.machine.bioreactor_2')), - text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(1, Text.translate('tfg.tooltip.machine.bioreactor_1')); + text.add(2, Text.translate('tfg.tooltip.machine.bioreactor_2')); + text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['tfg:cooling_tower'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.machine.cooling_tower_1')), - text.add(2, Text.translate('tfg.tooltip.machine.cooling_tower_2')), - text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(4, Text.translate('tfg.tooltip.machine.subtick')), - text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + text.add(1, Text.translate('tfg.tooltip.machine.cooling_tower_1')); + text.add(2, Text.translate('tfg.tooltip.machine.cooling_tower_2')); + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')); + text.add(4, Text.translate('tfg.tooltip.machine.subtick')); + text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) event.addAdvanced(['gtceu:moon_dust_harvester'], (item, advanced, text) => { - text.add(1, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_2')), - text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(1, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_1')); + text.add(2, Text.translate('gtceu.tooltip.machine.moon_dust_harvester_2')); + text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['gtceu:ostrum_harvester'], (item, advanced, text) => { - text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_harvester_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_harvester_2')), - text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')), - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')) + text.add(1, Text.translate('gtceu.tooltip.machine.ostrum_harvester_1')); + text.add(2, Text.translate('gtceu.tooltip.machine.ostrum_harvester_2')); + text.add(3, Text.translate('tfg.tooltip.machine.coil_energy_discount')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) - event.addAdvanced(['gtceu: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')) + 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')); }) event.addAdvanced(['gtceu:heat_exchanger'], (item, advanced, text) => { - text.add(1, Text.translate('gtceu.tooltip.machine.heat_exchanger_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.heat_exchanger_2')), - text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(4, Text.translate('tfg.tooltip.machine.subtick')), - text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + text.add(1, Text.translate('gtceu.tooltip.machine.heat_exchanger_1')); + text.add(2, Text.translate('gtceu.tooltip.machine.heat_exchanger_2')); + text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock')); + text.add(4, Text.translate('tfg.tooltip.machine.subtick')); + text.add(5, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) event.addAdvanced(['gtceu:nuclear_fuel_factory'], (item, advanced, text) => { - text.add(1, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_2')), - text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')) + text.add(1, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_1')); + text.add(2, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_2')); + text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) event.addAdvanced(['gtceu:steam_bloomery'], (item, advanced, text) => { - text.add(1, Text.translate('gtceu.tooltip.machine.steam_bloomery_1')), - text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_2')) + text.add(1, Text.translate('gtceu.tooltip.machine.steam_bloomery_1')); + text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_2')); }) event.addAdvanced(['gtceu:large_chemical_reactor'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')), - text.add(2, Text.translate('tfg.tooltip.machine.subtick')) + text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')); + text.add(2, Text.translate('tfg.tooltip.machine.subtick')); + }) + event.addAdvanced(['gtceu:coal_liquefaction_tower'], (item, advanced, text) => { + 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_energy_discount')); + text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) // Insulation diff --git a/kubejs/server_scripts/tfg/recipes.converting.js b/kubejs/server_scripts/tfg/recipes.converting.js index b4258f30c..bb415f91a 100644 --- a/kubejs/server_scripts/tfg/recipes.converting.js +++ b/kubejs/server_scripts/tfg/recipes.converting.js @@ -7,4 +7,6 @@ function registerTFGConvertingRecipes(event) { event.shapeless('vintageimprovements:belt_grinder', 'vintageimprovements:lathe') + + event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator') } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 855fb2722..d995a8d57 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -447,60 +447,6 @@ const registerGTCEuMachines = (event) => { 'gtceu:block/casings/gcym/nonconducting_casing', 'gtceu:block/multiblock/distillation_tower') - // Extraterrestrial Ore Fabricator - - event.create('ostrum_linear_accelerator', 'multiblock') - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('dummy_recipe') - .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.OC_NON_PERFECT, GTRecipeModifiers.BATCH_MODE]) - .appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_mars')) - .pattern(definition => FactoryBlockPattern.start() - .aisle('AAAAAAAAA', 'AAAAAAAAA', 'AAAAAAAAA', ' ', ' ' ) - .aisle('BAAAAAAAA', 'B#######D', 'BBBBBBBAA', ' BCCCB ', ' BBBBB ' ) - .aisle('AAAAAAAAA', 'A#######D', 'BB###BBAA', ' C###C ', ' BHHHB ' ) - .aisle('BEBEBEAAA', 'BEBEBEA#D', 'BBBBBBBAA', ' BCCCB ', ' BBBBB ' ) - .aisle('A AFA', 'A AXA', 'AAAAAAAFA', ' ', ' ' ) - .where('X', Predicates.controller(Predicates.blocks(definition.get()))) - .where('A', Predicates.blocks('tfg:casings/machine_casing_mars') - .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setMinGlobalLimited(1).setMaxGlobalLimited(2))) - .where('B', Predicates.blocks('tfg:casings/machine_casing_ostrum_carbon')) - .where('C', Predicates.blocks('tfg:casings/machine_casing_vacuum_engine_intake')) - .where('D', Predicates.blocks('gtceu:heat_vent')) - .where('E', Predicates.blocks('tfg:casings/machine_casing_mars') - .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(6)) - .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setMaxGlobalLimited(6))) - .where('F', Predicates.blocks('tfg:casings/machine_casing_mars') - .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))) - .where('H', Predicates.blocks('tfg:casings/machine_casing_mars') - .or(Predicates.abilities(PartAbility.EXPORT_ITEMS)) - .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS))) - .where('#', Predicates.air()) - .where(' ', Predicates.any()) - .build() - ) - .shapeInfo(controller => MultiblockShapeInfo.builder() - .aisle('KKAAAAAAA', 'AAAAAAAAA', 'AAAAAAAAA', ' ', ' ' ) - .aisle('BAAAAAAAA', 'B D', 'BBBBBBBAA', ' BCCCB ', ' BBBBB ' ) - .aisle('AAAAAAAAA', 'A D', 'BB BBAA', ' C C ', ' BIAHB ' ) - .aisle('BEBEBEAAA', 'BEBFBEA#D', 'BBBBBBBAA', ' BCCCB ', ' BBBBB ' ) - .aisle('A AMA', 'A AXA', 'AAAAAAAAA', ' ', ' ' ) - .where('X', controller, Direction.SOUTH) - .where('A', Block.getBlock('tfg:casings/machine_casing_mars')) - .where('B', Block.getBlock('tfg:casings/machine_casing_ostrum_carbon')) - .where('C', Block.getBlock('tfg:casings/machine_casing_vacuum_engine_intake')) - .where('D', Block.getBlock('gtceu:heat_vent')) - .where('E', GTMachines.FLUID_IMPORT_HATCH[GTValues.EV], Direction.SOUTH) - .where('F', GTMachines.ITEM_IMPORT_BUS[GTValues.EV], Direction.SOUTH) - .where('H', GTMachines.ITEM_EXPORT_BUS[GTValues.EV], Direction.UP) - .where('I', GTMachines.FLUID_EXPORT_HATCH[GTValues.EV], Direction.UP) - .where('M', GTMachines.AUTO_MAINTENANCE_HATCH, Direction.SOUTH) - .where('K', GTMachines.ENERGY_INPUT_HATCH[GTValues.HV], Direction.NORTH) - .where(' ', Block.getBlock('minecraft:air')) - .build() - ) - .workableCasingModel( - 'tfg:block/casings/machine_casing_mars', - 'gtceu:block/machines/thermal_centrifuge') //#region Power Rework @@ -517,7 +463,6 @@ const registerGTCEuMachines = (event) => { .aisle('CCC', ' Y ', ' E ', 'E#E', 'EEE', 'BMB') .aisle('CXC', 'D D', 'D D', 'DED', 'DED', 'BBB' ) .where('X', Predicates.controller(Predicates.blocks(definition.get()))) - .where('A', Predicates.blocks('gtceu:secure_maceration_casing')) .where('B', Predicates.blocks('gtceu:solid_machine_casing').setMinGlobalLimited(4) .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(2)) .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))) diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 7f345b855..39c361169 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -69,20 +69,12 @@ const registerGTCEuRecipeTypes = (event) => { .setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.TURBINE) - event.create('dummy_recipe') - .category('dumme_recipe') - .setEUIO('in') - .setMaxIOSize(1, 3, 3, 3) - .setSlotOverlay(false, false, GuiTextures.EXTRACTOR_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.BATH) - event.create('coal_liquefaction_tower') .category('coal_liquefaction_tower') .setEUIO('in') .setMaxIOSize(2, 0, 3, 3) .setSlotOverlay(false, false, GuiTextures.HEATING_OVERLAY_1) - .setProgressBar(GuiTextures.PROGRESS_BAR_DISTILLATION_TOWER, FillDirection.LEFT_TO_RIGHT) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARC_FURNACE, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.COMBUSTION) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index a0cc2148c..9728673e9 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -7,6 +7,11 @@ const registerTFGBlocks = (event) => { registerTFGSupportBlocks(event) registerTFGAqueductBlocks(event) registerTFGCrops(event) + + event.create('gtceu:ostrum_linear_accelerator') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .requiresTool(false) + .textureAll('tfg:item/deprecated') event.create('tfg:titanium_exhaust_vent', 'tfg:active_particle_emitter') .textureAll('tfg:block/titanium_exhaust_vent') diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 604dc83df..b3cf42ebb 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -433,10 +433,6 @@ const registerTFGMaterials = (event) => { .components('2x sodium','1x tungsten', '4x oxygen') .color('0xdcf6f7') - event.create('tfg:tungstate') - .components('2x hydrogen', '12x tungsten', '42x oxygen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - event.create('tfg:ammonium_tungstate') .dust() .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) @@ -448,7 +444,7 @@ const registerTFGMaterials = (event) => { .gem() .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .iconSet(GTMaterialIconSet.FLINT) - .components('10x ammonia', '1x tfg:tungstate', '4x water') + .components('10x ammonia', '4x water', '2x hydrogen', '12x tungsten', '42x oxygen') .color('0xaabdf0') event.create('tfg:tungsten_oxide') From 0c566a045a5acb64157b47f00f5c490d4d50f5bf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 14:58:01 +0000 Subject: [PATCH 187/628] added back old OLA recipes for now --- .../server_scripts/tfg/recipes.space_ores.js | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/kubejs/server_scripts/tfg/recipes.space_ores.js b/kubejs/server_scripts/tfg/recipes.space_ores.js index 72ab73e03..ce2a650ae 100644 --- a/kubejs/server_scripts/tfg/recipes.space_ores.js +++ b/kubejs/server_scripts/tfg/recipes.space_ores.js @@ -153,6 +153,53 @@ function registerTFGSpaceOres(event) { .duration(20 * 30) .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') + .chancedFluidOutputLogic($ChanceLogic.XOR) + .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) + .chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0) + .chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.EV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum') + .inputFluids('gtceu:lightweight_ostrum_vapor 1000') + .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('tfg:heavy_water', 1000)) + .itemOutputsRanged('#forge:dusty_raw_materials/pitchblende', 1, 10) + .itemOutputsRanged('#forge:dusty_raw_materials/silver', 1, 10) + .itemOutputsRanged('#forge:dusty_raw_materials/tricalcium_phosphate', 1, 10) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum') + .inputFluids('gtceu:ostrum_vapor 1000') + .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('gtceu:radon', 100)) + .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/beryllium'), 1, 10) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_ostrum') + .inputFluids('gtceu:dense_ostrum_vapor 1000') + .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('gtceu:tritiated_water', 500)) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/uraninite'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/hematite'), 1, 10) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]); + + // #region Zirconium event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride') From adfea6d7bb3e178672b1261fb42cb0fbe499514e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 14:58:14 +0000 Subject: [PATCH 188/628] added brewery recipes for LV syngas --- kubejs/server_scripts/tfg/early_power.js | 28 ++++++++++++++++++++++++ kubejs/startup_scripts/tfg/blocks.js | 1 + 2 files changed, 29 insertions(+) diff --git a/kubejs/server_scripts/tfg/early_power.js b/kubejs/server_scripts/tfg/early_power.js index da5dfcefb..07181dec9 100644 --- a/kubejs/server_scripts/tfg/early_power.js +++ b/kubejs/server_scripts/tfg/early_power.js @@ -40,6 +40,34 @@ function registerTFGEarlyPower(event) { processingTime: 750 }).id('tfg:vi/vacuumizing/syngas_from_anthracite') + event.recipes.gtceu.brewery('tfg:syngas_from_charcoal') + .itemInputs('minecraft:charcoal') + .inputFluids('gtceu:creosote 250') + .outputFluids('tfg:syngas 100') + .duration(20*10) + .EUt(2) + + event.recipes.gtceu.brewery('tfg:syngas_from_coal') + .itemInputs('minecraft:coal') + .inputFluids('gtceu:creosote 250') + .outputFluids('tfg:syngas 200') + .duration(20*10) + .EUt(2) + + event.recipes.gtceu.brewery('tfg:syngas_from_coke') + .itemInputs('gtceu:coke_gem') + .inputFluids('gtceu:creosote 250') + .outputFluids('tfg:syngas 400') + .duration(20*10) + .EUt(2) + + event.recipes.gtceu.brewery('tfg:syngas_from_anthracite') + .itemInputs('beneath:cursecoal') + .inputFluids('gtceu:creosote 250') + .outputFluids('tfg:syngas 400') + .duration(20*10) + .EUt(2) + //#region Reformate Gas // Charcoal diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 9728673e9..013f7fac1 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -8,6 +8,7 @@ const registerTFGBlocks = (event) => { registerTFGAqueductBlocks(event) registerTFGCrops(event) + // Temporary, remove in 0.12 event.create('gtceu:ostrum_linear_accelerator') .tagBlock('gtceu:mineable/pickaxe_or_wrench') .requiresTool(false) From 5a9c6713846733d71b7600b317688641572c92ed Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 14:59:53 +0000 Subject: [PATCH 189/628] remove stocks from any_water tag --- kubejs/server_scripts/tfg/tags.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 44c610993..04a914fba 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -857,12 +857,10 @@ const registerTFGFluidTags = (event) => { event.add('tfc:any_drinkables', 'tfg:brown_gravy') event.add('minecraft:water', 'tfg:rich_stock') - event.add('tfc:any_water', 'tfg:rich_stock') event.add('tfc:drinkables', 'tfg:rich_stock') event.add('tfc:any_drinkables', 'tfg:rich_stock') event.add('minecraft:water', 'tfg:light_stock') - event.add('tfc:any_water', 'tfg:light_stock') event.add('tfc:drinkables', 'tfg:light_stock') event.add('tfc:any_drinkables', 'tfg:light_stock') From 06e7df4cdfae50ed86919e9e243e0fb428fe68ba Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 15:16:03 +0000 Subject: [PATCH 190/628] changed texture of ME stocking input buses/hatches to match the hulls used to craft them --- .../block/machine/me_stocking_input_bus.json | 56 +++++++++++++++++++ .../machine/me_stocking_input_hatch.json | 56 +++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 kubejs/assets/gtceu/models/block/machine/me_stocking_input_bus.json create mode 100644 kubejs/assets/gtceu/models/block/machine/me_stocking_input_hatch.json diff --git a/kubejs/assets/gtceu/models/block/machine/me_stocking_input_bus.json b/kubejs/assets/gtceu/models/block/machine/me_stocking_input_bus.json new file mode 100644 index 000000000..528c5ebe9 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/me_stocking_input_bus.json @@ -0,0 +1,56 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:me_stocking_input_bus", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false,is_painted=false": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_bus", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + }, + "is_formed=false,is_painted=true": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine_color_ring", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_bus", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + }, + "is_formed=true,is_painted=false": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_bus", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + }, + "is_formed=true,is_painted=true": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine_color_ring", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_bus", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/machine/me_stocking_input_hatch.json b/kubejs/assets/gtceu/models/block/machine/me_stocking_input_hatch.json new file mode 100644 index 000000000..dee53a4e1 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/me_stocking_input_hatch.json @@ -0,0 +1,56 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:me_stocking_input_hatch", + "replaceable_textures": [ + "bottom", + "top", + "side" + ], + "variants": { + "is_formed=false,is_painted=false": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_hatch", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + }, + "is_formed=false,is_painted=true": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine_color_ring", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_hatch", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + }, + "is_formed=true,is_painted=false": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_hatch", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + }, + "is_formed=true,is_painted=true": { + "model": { + "parent": "gtceu:block/machine/template/part/hatch_machine_color_ring", + "textures": { + "bottom": "gtceu:block/casings/voltage/iv/bottom", + "overlay": "gtceu:block/overlay/appeng/me_input_hatch", + "side": "gtceu:block/casings/voltage/iv/side", + "top": "gtceu:block/casings/voltage/iv/top" + } + } + } + } +} \ No newline at end of file From 5ecd67c42d7595078a27e5177a62996db89139a2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 15:16:16 +0000 Subject: [PATCH 191/628] made spring water drinkable --- kubejs/client_scripts/tooltips.js | 3 +++ kubejs/data/tfc/tfc/drinkables/spring_water.json | 11 +++++++++++ kubejs/server_scripts/tfc/tags.js | 2 ++ 3 files changed, 16 insertions(+) create mode 100644 kubejs/data/tfc/tfc/drinkables/spring_water.json diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 39fb0427b..bb94be4ac 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -371,4 +371,7 @@ const registerTooltips = (event) => { text.add(1, Text.of("Strength (02:40)").blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) + event.addAdvanced(['tfc:bucket/spring_water'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.warming_foods')); + }) } diff --git a/kubejs/data/tfc/tfc/drinkables/spring_water.json b/kubejs/data/tfc/tfc/drinkables/spring_water.json new file mode 100644 index 000000000..c9d0bff85 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/spring_water.json @@ -0,0 +1,11 @@ +{ + "ingredient": "tfc:spring_water", + "thirst": 10, + "effects": [ + { + "type": "tfg:warming", + "duration": 20, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 63c386ca5..b566fc9ab 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -715,6 +715,7 @@ function registerTFCFluidTags(event) { /***********************************************************************************************************/ event.add("tfc:ingredients", "tfc:spring_water"); + event.add('tfc:drinkables', 'tfc:spring_water') event.add("tfc:alcohols", "tfcagedalcohol:aged_beer"); event.add("tfc:alcohols", "tfcagedalcohol:aged_cider"); @@ -725,6 +726,7 @@ function registerTFCFluidTags(event) { event.add("tfc:alcohols", "tfcagedalcohol:aged_corn_whiskey"); event.add("tfc:alcohols", "tfcagedalcohol:aged_rye_whiskey"); event.add("tfc:alcohols", "tfcagedalcohol:aged_mead"); + event.add("tfc:alcohols", "tfc_gurman:nalivka"); // Добавляем тег для скрытия в EMI event.add("c:hidden_from_recipe_viewers", "tfc:metal/bismuth"); From 1905c4047b72cee71c49d469f98414bd815183c9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 15:17:16 +0000 Subject: [PATCH 192/628] changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cfbb39c1..7a3beeb00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ - Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie - Glass bottles and ceramic jugs can now hold the same fluids as wooden barrels, buckets, etc @Pyritie - Added fluid/item capacity tooltips to many fluid/item containers @Pyritie +- Spring water is now drinkable (it also heats you up a little) @Pyritie ### Bug fixes - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix @@ -43,6 +44,7 @@ - Fixed not being able to feed meat to the Cruncher (#2305) @Pyritie - Hopefully fixed rockets without a pilot getting stuck and not exploding? (#2137) @Pyritie - Fixed some missing blocks from the GT facade whitelist (#2299) @MoltonMontro +- Changed the texture of the ME Stocking Input Bus + Hatch to match the hull used to craft them @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra From 6b1f5beed04d698104f700bfab9be8046b1a757a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 17:35:50 +0000 Subject: [PATCH 193/628] sigh --- .../biome_modifier/nahida_biome_modifier.json | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json index 2d96022cf..1396763f1 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json @@ -1,3 +1,29 @@ { - "type": "forge:none" + "type": "forge:add_spawns", + "biomes": [ + "tfc:badlands", + "tfc:canyons", + "tfc:highlands", + "tfc:hills", + "tfc:inverted_badlands", + "tfc:low_canyons", + "tfc:lowlands", + "tfc:mountains", + "tfc:oceanic_mountains", + "tfc:old_mountains", + "tfc:plains", + "tfc:plateau", + "tfc:rolling_hills", + "tfc:salt_marsh", + "tfc:shore", + "tfc:tidal_flats", + "tfc:volcanic_mountains", + "tfc:volcanic_oceanic_mountains" + ], + "spawners": { + "type": "primitive_creatures:nahida", + "weight": 1, + "minCount": 1, + "maxCount": 1 + } } \ No newline at end of file From a936958583a13a6a07e204bc2d99c233d5600595 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 18:28:47 +0000 Subject: [PATCH 194/628] fixed warped/crimson trees only growing on mars mycelium and not mars dirt --- CHANGELOG.md | 1 + .../configured_feature/mars/tree/crimson.json | 3 ++- .../mars/tree/crimson_dirt.json | 25 +++++++++++++++++++ .../configured_feature/mars/tree/warped.json | 3 ++- .../mars/tree/warped_dirt.json | 25 +++++++++++++++++++ .../mars/tree/crimson_dirt.json | 4 +++ .../placed_feature/mars/tree/warped_dirt.json | 4 +++ 7 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/mars/tree/crimson_dirt.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a3beeb00..a4f476289 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ - Hopefully fixed rockets without a pilot getting stuck and not exploding? (#2137) @Pyritie - Fixed some missing blocks from the GT facade whitelist (#2299) @MoltonMontro - Changed the texture of the ME Stocking Input Bus + Hatch to match the hull used to craft them @Pyritie +- Fixed warped/crimson trees only growing on mars mycelium and not mars dirt @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson.json index 40b85088f..7c0687012 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson.json @@ -4,7 +4,8 @@ "features": [ "tfg:mars/tree/crimson_amber", "tfg:mars/tree/crimson_rusticus", - "tfg:mars/tree/crimson_sangnum" + "tfg:mars/tree/crimson_sangnum", + "tfg:mars/tree/crimson_dirt" ] } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json new file mode 100644 index 000000000..2d006ee26 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/crimson_dirt.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:huge_fungus", + "config": { + "decor_state": { + "Name": "beneath:wood/leaves/crimson" + }, + "hat_state": { + "Name": "minecraft:nether_wart_block" + }, + "planted": false, + "replaceable_blocks": { + "type": "minecraft:replaceable" + }, + "stem_state": { + "Name": "beneath:wood/log/crimson", + "Properties": { + "axis": "y", + "branch_direction": "down" + } + }, + "valid_base_block": { + "Name": "tfg:grass/mars_dirt" + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped.json index ae09354ad..4efc472cf 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped.json @@ -4,7 +4,8 @@ "features": [ "tfg:mars/tree/warped_amber", "tfg:mars/tree/warped_rusticus", - "tfg:mars/tree/warped_sangnum" + "tfg:mars/tree/warped_sangnum", + "tfg:mars/tree/warped_dirt" ] } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json new file mode 100644 index 000000000..2b5789a94 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/tree/warped_dirt.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:huge_fungus", + "config": { + "decor_state": { + "Name": "beneath:wood/leaves/warped" + }, + "hat_state": { + "Name": "minecraft:warped_wart_block" + }, + "planted": false, + "replaceable_blocks": { + "type": "minecraft:replaceable" + }, + "stem_state": { + "Name": "beneath:wood/log/warped", + "Properties": { + "axis": "y", + "branch_direction": "down" + } + }, + "valid_base_block": { + "Name": "tfg:grass/mars_dirt" + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/tree/crimson_dirt.json b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/crimson_dirt.json new file mode 100644 index 000000000..3aae30456 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/crimson_dirt.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:mars/tree/crimson_dirt", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json new file mode 100644 index 000000000..349608694 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:mars/tree/warped_amber", + "placement": [] +} \ No newline at end of file From 7abe083973df094b49ac6759cc74c103ee39dbf8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 21:37:09 +0000 Subject: [PATCH 195/628] fix create horsepower being completely broken --- CHANGELOG.md | 1 + defaultconfigs/createhorsepower-server.toml | 66 ++++++++++----------- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4f476289..b01017c23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ - Added fluid/item capacity tooltips to many fluid/item containers @Pyritie - Spring water is now drinkable (it also heats you up a little) @Pyritie ### Bug fixes +- Fixed the horse crank not working at all @Pyritie - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix - Fixed Ad Astra moon cheese nutrition values being inconsistent @Redeix diff --git a/defaultconfigs/createhorsepower-server.toml b/defaultconfigs/createhorsepower-server.toml index 84f77de94..521d4e8b8 100644 --- a/defaultconfigs/createhorsepower-server.toml +++ b/defaultconfigs/createhorsepower-server.toml @@ -1,34 +1,34 @@ - -#General Settings -[general] - #Base rpm creatures can spin the horse crank. - #Range: > 1 - creatureRPMRange = 16 - #How much stress small creatures can produce for the horse crank. - #Range: > 1 - smallCreatureStressRange = 8 - #How much stress medium creatures can produce for the horse crank. - #Range: > 1 - mediumCreatureStressRange = 12 - #How much stress large creatures can produce for the horse crank. - #Range: > 1 - largeCreatureStressRange = 16 - -#Path Category -[paths] - #Types of blocks valid as "Poor" quality, - poor_path_block = ["tfc:rooted_dirt/sandy_loam", "tfc:clay/sandy_loam", "tfc:dirt/sandy_loam", "tfc:rooted_dirt/loam", "tfc:clay/loam", "tfc:clay/silt", "tfc:dirt/loam", "tfc:rooted_dirt/silt", "tfc:dirt/silt", "tfc:dirt/silty_loam", "tfc:clay/silty_loam", "tfc:rooted_dirt/silty_loam", "tfc:peat_grass", "tfc:clay_grass/silty_loam", "tfc:grass/silty_loam", "tfc:clay_grass/sandy_loam", "tfc:grass/sandy_loam", "tfc:clay_grass/loam", "tfc:grass/loam", "tfc:clay_grass/silt", "tfc:grass/silt", "tfg:grass/mars_dirt", "tfg:grass/sangnum_mycelium", "tfg:grass/amber_mycelium", "tfg:grass/rusticus_mycelium", "tfg:grass/sangnum_clay_mycelium", "tfg:grass/amber_clay_mycelium", "tfg:grass/rusticus_clay_mycelium", "tfg:grass/sangnum_kaolin_mycelium", "tfg:grass/amber_kaolin_mycelium", "tfg:grass/rusticus_kaolin_mycelium"] - #Types of blocks valid as "Normal" quality, - normal_path_block = ["tfc:rock/gravel/granite", "tfc:rock/gravel/diorite", "tfc:rock/gravel/gabbro", "tfc:rock/gravel/shale", "tfc:rock/gravel/claystone", "tfc:rock/gravel/limestone", "tfc:rock/gravel/conglomerate", "tfc:rock/gravel/dolomite", "tfc:rock/gravel/chert", "tfc:rock/gravel/schist", "tfc:rock/gravel/phyllite", "tfc:rock/gravel/slate", "tfc:rock/gravel/quartzite", "tfc:rock/gravel/dacite", "tfc:rock/gravel/andesite", "tfc:rock/gravel/basalt", "tfc:rock/gravel/rhyolite", "tfc:rock/gravel/chalk", "tfc:rock/gravel/marble", "tfg:rock/gravel_dripstone", "tfg:rock/gravel_deepslate", "tfg:rock/gravel_blackstone", "tfg:rock/gravel_moon", "tfg:rock/gravel_moon_deepslate", "tfg:rock/gravel_glacio", "tfg:rock/gravel_mars", "tfg:rock/gravel_venus", "tfg:rock/gravel_mercury", "tfg:rock/gravel_crackrack", "tfc:grass_path/silt", "tfc:grass_path/loam", "tfc:grass_path/sandy_loam", "tfc:grass_path/silty_loam", "tfg:grass/mars_path", "rnr:hoggin"] - #Types of blocks valid as "Great" quality, - great_path_block = ["rnr:rock/gravel_road/chert", "rnr:rock/gravel_road/chalk", "rnr:rock/gravel_road/rhyolite", "rnr:rock/gravel_road/basalt", "rnr:rock/gravel_road/andesite", "rnr:rock/gravel_road/claystone", "rnr:rock/gravel_road/limestone", "rnr:rock/gravel_road/conglomerate", "rnr:rock/gravel_road/dolomite", "rnr:rock/sett_road/granite", "rnr:rock/sett_road/diorite", "rnr:rock/sett_road/chalk", "rnr:rock/sett_road/rhyolite", "rnr:rock/sett_road/basalt", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/sett_road/andesite", "rnr:rock/cobbled_road/chert", "rnr:rock/cobbled_road/dolomite", "rnr:rock/gravel_road/granite", "rnr:rock/gravel_road/marble", "rnr:rock/gravel_road/schist", "rnr:rock/gravel_road/phyllite", "rnr:rock/gravel_road/slate", "rnr:rock/gravel_road/quartzite", "rnr:rock/gravel_road/dacite", "rnr:rock/macadam_road/rhyolite", "rnr:rock/macadam_road/chalk", "rnr:rock/macadam_road/chert", "rnr:rock/macadam_road/dolomite", "rnr:rock/macadam_road/conglomerate", "rnr:rock/macadam_road/limestone", "rnr:rock/macadam_road/gabbro", "rnr:rock/macadam_road/claystone", "rnr:rock/macadam_road/shale", "rnr:rock/macadam_road/gneiss", "rnr:rock/macadam_road/marble", "rnr:rock/macadam_road/schist", "rnr:rock/macadam_road/phyllite", "rnr:rock/macadam_road/slate", "rnr:rock/macadam_road/quartzite", "rnr:rock/macadam_road/dacite", "rnr:rock/macadam_road/andesite", "rnr:rock/macadam_road/basalt", "rnr:rock/gravel_road/diorite", "rnr:rock/gravel_road/gabbro", "rnr:rock/gravel_road/shale", "rnr:rock/macadam_road/diorite", "rnr:rock/macadam_road/granite", "rnr:rock/cobbled_road/conglomerate", "rnr:rock/cobbled_road/limestone", "rnr:rock/cobbled_road/claystone", "rnr:rock/cobbled_road/shale", "rnr:rock/cobbled_road/gabbro", "rnr:rock/cobbled_road/diorite", "rnr:rock/cobbled_road/granite", "rnr:rock/cobbled_road/phyllite", "rnr:rock/cobbled_road/schist", "rnr:rock/cobbled_road/slate", "rnr:rock/cobbled_road/quartzite", "rnr:rock/cobbled_road/dacite", "rnr:rock/cobbled_road/andesite", "rnr:rock/cobbled_road/rhyolite", "rnr:rock/cobbled_road/basalt", "rnr:rock/cobbled_road/chalk", "rnr:rock/cobbled_road/gneiss", "rnr:rock/cobbled_road/marble", "rnr:rock/sett_road/chert", "rnr:rock/sett_road/dolomite", "rnr:rock/sett_road/conglomerate", "rnr:rock/sett_road/limestone", "rnr:rock/sett_road/claystone", "rnr:rock/sett_road/shale", "rnr:rock/sett_road/gabbro", "rnr:rock/flagstones/gneiss", "rnr:rock/flagstones/marble", "rnr:black_sandstone_flagstones", "rnr:brown_sandstone_flagstones", "rnr:green_sandstone_flagstones", "rnr:pink_sandstone_flagstones", "rnr:red_sandstone_flagstones", "rnr:white_sandstone_flagstones", "rnr:yellow_sandstone_flagstones", "rnr:concrete_road_sett", "rnr:brick_road", "rnr:rock/sett_road/marble", "rnr:rock/sett_road/gneiss", "rnr:rock/sett_road/schist", "rnr:rock/sett_road/phyllite", "rnr:rock/sett_road/slate", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/flagstones/chert", "rnr:rock/flagstones/dolomite", "rnr:rock/flagstones/conglomerate", "rnr:rock/flagstones/limestone", "rnr:rock/flagstones/claystone", "rnr:rock/flagstones/shale", "rnr:rock/flagstones/gabbro", "rnr:rock/flagstones/diorite", "rnr:rock/flagstones/granite", "rnr:rock/flagstones/schist", "rnr:rock/flagstones/phyllite", "rnr:rock/flagstones/slate", "rnr:rock/flagstones/quartzite", "rnr:rock/flagstones/andesite", "rnr:rock/flagstones/dacite", "rnr:rock/flagstones/basalt", "rnr:rock/flagstones/rhyolite", "rnr:rock/flagstones/chalk"] - -#Creature Category -[workers] - #Valid "Small" creatures - small_creatures = ["tfc:wolf", "tfc:dog", "tfc:pig", "tfc:sheep", "tfc:goat", "tfc:alpaca", "tfg:glacian_ram", "tfg:wraptor", "species:springaling", "tfg:surfer"] - #Valid "Medium" creatures - medium_creatures = ["tfc:cow", "tfc:donkey", "tfc:dolphin", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer"] - #Valid "Large" creatures - large_creatures = ["tfc:horse", "tfc:mule", "tfc:musk_ox", "tfc:yak", "tfg:sniffer", "wan_ancient_beasts:walker", "species:cruncher"] +#Base rpm creatures can spin the horse crank. +#Range: > 1 +creatureRPMRange = 16 +#How much stress small creatures can produce for the horse crank. +#Range: > 1 +smallCreatureStressRange = 8 +#How much stress medium creatures can produce for the horse crank. +#Range: > 1 +mediumCreatureStressRange = 12 +#How much stress large creatures can produce for the horse crank. +#Range: > 1 +largeCreatureStressRange = 16 +#The multiplier for "Poor" paths +#Range: 0.0 ~ 1.7976931348623157E308 +poorMultiplier = 0.5 +#The multiplier for "Normal" paths +#Range: 0.0 ~ 1.7976931348623157E308 +normalMultiplier = 1.0 +#The multiplier for "Great" paths +#Range: 0.0 ~ 1.7976931348623157E308 +greatMultiplier = 2.0 +#Types of blocks valid as "Poor" quality +poorPathBlock = ["tfc:rooted_dirt/sandy_loam", "tfc:clay/sandy_loam", "tfc:dirt/sandy_loam", "tfc:rooted_dirt/loam", "tfc:clay/loam", "tfc:clay/silt", "tfc:dirt/loam", "tfc:rooted_dirt/silt", "tfc:dirt/silt", "tfc:dirt/silty_loam", "tfc:clay/silty_loam", "tfc:rooted_dirt/silty_loam", "tfc:peat_grass", "tfc:clay_grass/silty_loam", "tfc:grass/silty_loam", "tfc:clay_grass/sandy_loam", "tfc:grass/sandy_loam", "tfc:clay_grass/loam", "tfc:grass/loam", "tfc:clay_grass/silt", "tfc:grass/silt", "tfg:grass/mars_dirt", "tfg:grass/sangnum_mycelium", "tfg:grass/amber_mycelium", "tfg:grass/rusticus_mycelium", "tfg:grass/sangnum_clay_mycelium", "tfg:grass/amber_clay_mycelium", "tfg:grass/rusticus_clay_mycelium", "tfg:grass/sangnum_kaolin_mycelium", "tfg:grass/amber_kaolin_mycelium", "tfg:grass/rusticus_kaolin_mycelium"] +#Types of blocks valid as "Normal" quality +normalPathBlock = ["tfc:rock/gravel/granite", "tfc:rock/gravel/diorite", "tfc:rock/gravel/gabbro", "tfc:rock/gravel/shale", "tfc:rock/gravel/claystone", "tfc:rock/gravel/limestone", "tfc:rock/gravel/conglomerate", "tfc:rock/gravel/dolomite", "tfc:rock/gravel/chert", "tfc:rock/gravel/schist", "tfc:rock/gravel/phyllite", "tfc:rock/gravel/slate", "tfc:rock/gravel/quartzite", "tfc:rock/gravel/dacite", "tfc:rock/gravel/andesite", "tfc:rock/gravel/basalt", "tfc:rock/gravel/rhyolite", "tfc:rock/gravel/chalk", "tfc:rock/gravel/marble", "tfg:rock/gravel_dripstone", "tfg:rock/gravel_deepslate", "tfg:rock/gravel_blackstone", "tfg:rock/gravel_moon", "tfg:rock/gravel_moon_deepslate", "tfg:rock/gravel_glacio", "tfg:rock/gravel_mars", "tfg:rock/gravel_venus", "tfg:rock/gravel_mercury", "tfg:rock/gravel_crackrack", "tfc:grass_path/silt", "tfc:grass_path/loam", "tfc:grass_path/sandy_loam", "tfc:grass_path/silty_loam", "tfg:grass/mars_path", "rnr:hoggin"] +#Types of blocks valid as "Great" quality +greatPathBlock = ["rnr:rock/gravel_road/chert", "rnr:rock/gravel_road/chalk", "rnr:rock/gravel_road/rhyolite", "rnr:rock/gravel_road/basalt", "rnr:rock/gravel_road/andesite", "rnr:rock/gravel_road/claystone", "rnr:rock/gravel_road/limestone", "rnr:rock/gravel_road/conglomerate", "rnr:rock/gravel_road/dolomite", "rnr:rock/sett_road/granite", "rnr:rock/sett_road/diorite", "rnr:rock/sett_road/chalk", "rnr:rock/sett_road/rhyolite", "rnr:rock/sett_road/basalt", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/sett_road/andesite", "rnr:rock/cobbled_road/chert", "rnr:rock/cobbled_road/dolomite", "rnr:rock/gravel_road/granite", "rnr:rock/gravel_road/marble", "rnr:rock/gravel_road/schist", "rnr:rock/gravel_road/phyllite", "rnr:rock/gravel_road/slate", "rnr:rock/gravel_road/quartzite", "rnr:rock/gravel_road/dacite", "rnr:rock/macadam_road/rhyolite", "rnr:rock/macadam_road/chalk", "rnr:rock/macadam_road/chert", "rnr:rock/macadam_road/dolomite", "rnr:rock/macadam_road/conglomerate", "rnr:rock/macadam_road/limestone", "rnr:rock/macadam_road/gabbro", "rnr:rock/macadam_road/claystone", "rnr:rock/macadam_road/shale", "rnr:rock/macadam_road/gneiss", "rnr:rock/macadam_road/marble", "rnr:rock/macadam_road/schist", "rnr:rock/macadam_road/phyllite", "rnr:rock/macadam_road/slate", "rnr:rock/macadam_road/quartzite", "rnr:rock/macadam_road/dacite", "rnr:rock/macadam_road/andesite", "rnr:rock/macadam_road/basalt", "rnr:rock/gravel_road/diorite", "rnr:rock/gravel_road/gabbro", "rnr:rock/gravel_road/shale", "rnr:rock/macadam_road/diorite", "rnr:rock/macadam_road/granite", "rnr:rock/cobbled_road/conglomerate", "rnr:rock/cobbled_road/limestone", "rnr:rock/cobbled_road/claystone", "rnr:rock/cobbled_road/shale", "rnr:rock/cobbled_road/gabbro", "rnr:rock/cobbled_road/diorite", "rnr:rock/cobbled_road/granite", "rnr:rock/cobbled_road/phyllite", "rnr:rock/cobbled_road/schist", "rnr:rock/cobbled_road/slate", "rnr:rock/cobbled_road/quartzite", "rnr:rock/cobbled_road/dacite", "rnr:rock/cobbled_road/andesite", "rnr:rock/cobbled_road/rhyolite", "rnr:rock/cobbled_road/basalt", "rnr:rock/cobbled_road/chalk", "rnr:rock/cobbled_road/gneiss", "rnr:rock/cobbled_road/marble", "rnr:rock/sett_road/chert", "rnr:rock/sett_road/dolomite", "rnr:rock/sett_road/conglomerate", "rnr:rock/sett_road/limestone", "rnr:rock/sett_road/claystone", "rnr:rock/sett_road/shale", "rnr:rock/sett_road/gabbro", "rnr:rock/flagstones/gneiss", "rnr:rock/flagstones/marble", "rnr:black_sandstone_flagstones", "rnr:brown_sandstone_flagstones", "rnr:green_sandstone_flagstones", "rnr:pink_sandstone_flagstones", "rnr:red_sandstone_flagstones", "rnr:white_sandstone_flagstones", "rnr:yellow_sandstone_flagstones", "rnr:concrete_road_sett", "rnr:brick_road", "rnr:rock/sett_road/marble", "rnr:rock/sett_road/gneiss", "rnr:rock/sett_road/schist", "rnr:rock/sett_road/phyllite", "rnr:rock/sett_road/slate", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/flagstones/chert", "rnr:rock/flagstones/dolomite", "rnr:rock/flagstones/conglomerate", "rnr:rock/flagstones/limestone", "rnr:rock/flagstones/claystone", "rnr:rock/flagstones/shale", "rnr:rock/flagstones/gabbro", "rnr:rock/flagstones/diorite", "rnr:rock/flagstones/granite", "rnr:rock/flagstones/schist", "rnr:rock/flagstones/phyllite", "rnr:rock/flagstones/slate", "rnr:rock/flagstones/quartzite", "rnr:rock/flagstones/andesite", "rnr:rock/flagstones/dacite", "rnr:rock/flagstones/basalt", "rnr:rock/flagstones/rhyolite", "rnr:rock/flagstones/chalk", "greate:andesite_shaft", "greate:steel_shaft", "greate:andesite_cogwheel", "greate:steel_cogwheel", "greate:large_andesite_cogwheel", "greate:large_steel_cogwheel"] +#Valid "Small" creatures +smallCreatures = ["tfc:wolf", "tfc:dog", "tfc:pig", "tfc:sheep", "tfc:goat", "tfc:alpaca", "tfg:glacian_ram", "tfg:wraptor", "species:springaling", "tfg:surfer"] +#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"] From bda35f7f6c60a5e10748f145ac5f822b8d173cf5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 21:37:16 +0000 Subject: [PATCH 196/628] useless recipe --- kubejs/server_scripts/gregtech/recipes.removes.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index c84170b41..dbac80643 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -691,6 +691,8 @@ function removeGTCEURecipes(event) { //event.remove({ id: 'gtceu:distillation_tower/distill_liquid_nether_air' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__fireclay' }) + event.remove({ id: 'gtceu:arc_furnace/arc_firebricks' }) + event.remove({ id: 'gtceu:macerator/macerate_firebricks' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__ender_eye' }) event.remove({ id: 'gtceu:smelting/sticky_resin_from_slime' }) From 0916fd2e211d14f2de11b0cc79cd872872e11cbd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 1 Dec 2025 23:39:42 +0000 Subject: [PATCH 197/628] big tidying of startup scripts! --- kubejs/startup_scripts/ad_astra/materials.js | 92 -- kubejs/startup_scripts/ae2/fluids.js | 13 - .../chisel_and_bits/constants.js | 17 - kubejs/startup_scripts/gtceu/items.js | 45 - ...{materials.js => material_modification.js} | 6 +- kubejs/startup_scripts/main_startup_script.js | 13 +- kubejs/startup_scripts/tfc/icon_sets.js | 39 - .../tfg/biotech/items.biotech.js | 39 + .../tfg/biotech/items.medicine.js | 69 ++ .../tfg/{ => biotech}/materials.bioline.js | 0 kubejs/startup_scripts/tfg/blocks.casings.js | 121 +++ .../tfg/{blocks.plants.js => blocks.crops.js} | 111 --- kubejs/startup_scripts/tfg/blocks.js | 379 +------- kubejs/startup_scripts/tfg/blocks.nether.js | 592 ------------ .../startup_scripts/tfg/dimension_markers.js | 58 ++ .../tfg/equipment/items.weapons.js | 15 + .../tfg/europa/blocks.europa_deco.js | 39 + .../tfg/europa/materials.europa.js | 18 + kubejs/startup_scripts/tfg/fluids.js | 13 +- .../{tfc/materials.js => tfg/icon_sets.js} | 72 +- kubejs/startup_scripts/tfg/items.aircraft.js | 41 + kubejs/startup_scripts/tfg/items.food.js | 114 ++- kubejs/startup_scripts/tfg/items.js | 564 +---------- .../mars/blocks.mars_deco.js} | 127 +-- .../items.js => tfg/mars/items.mars.js} | 9 +- .../tfg/mars/materials.mars.js | 105 ++ kubejs/startup_scripts/tfg/materials.js | 478 +--------- .../tfg/materials.power_rework.js | 86 +- .../tfg/moon/blocks.moon_deco.js | 53 ++ .../tfg/moon/materials.moon.js | 98 ++ .../tfg/nuclear/blocks.nuclear.js | 118 +++ .../tfg/nuclear/items.nuclear.js | 59 ++ .../tfg/nuclear/materials.nuclear.js | 19 +- .../tfg/{ => primitive}/blocks.supports.js | 0 .../tfg/primitive/blocks.vases.js | 77 ++ .../tfg/primitive/items.primitive.js | 139 +++ .../tfg/primitive/materials.primitive.js | 91 ++ .../tfg/space_general/items.space.js | 33 + .../tfg/space_general/materials.rockets.js | 162 ++++ .../tfg/{ => stone_types}/blocks.aqueducts.js | 0 .../blocks.rocks.js} | 896 +++++++++++------- .../tfg/stone_types/blocks.vanilla_stone.js | 56 ++ .../tfg/stone_types/items.rocks.js | 43 + .../tfg/stone_types/materials.rocks.js | 43 + .../tfg/venus/blocks.venus_deco.js | 176 ++++ .../tfg/venus/materials.venus.js | 80 ++ .../tfg/worldgen/blocks.beneath_deco.js | 22 + .../tfg/worldgen/blocks.trees.js | 115 +++ .../tfg/worldgen/items.wood.js | 24 + .../startup_scripts/tfg/worldgen/utility.js | 29 + 50 files changed, 2767 insertions(+), 2841 deletions(-) delete mode 100644 kubejs/startup_scripts/ad_astra/materials.js delete mode 100644 kubejs/startup_scripts/ae2/fluids.js delete mode 100644 kubejs/startup_scripts/chisel_and_bits/constants.js delete mode 100644 kubejs/startup_scripts/gtceu/items.js rename kubejs/startup_scripts/gtceu/{materials.js => material_modification.js} (99%) delete mode 100644 kubejs/startup_scripts/tfc/icon_sets.js create mode 100644 kubejs/startup_scripts/tfg/biotech/items.biotech.js create mode 100644 kubejs/startup_scripts/tfg/biotech/items.medicine.js rename kubejs/startup_scripts/tfg/{ => biotech}/materials.bioline.js (100%) create mode 100644 kubejs/startup_scripts/tfg/blocks.casings.js rename kubejs/startup_scripts/tfg/{blocks.plants.js => blocks.crops.js} (71%) delete mode 100644 kubejs/startup_scripts/tfg/blocks.nether.js create mode 100644 kubejs/startup_scripts/tfg/equipment/items.weapons.js create mode 100644 kubejs/startup_scripts/tfg/europa/blocks.europa_deco.js create mode 100644 kubejs/startup_scripts/tfg/europa/materials.europa.js rename kubejs/startup_scripts/{tfc/materials.js => tfg/icon_sets.js} (84%) create mode 100644 kubejs/startup_scripts/tfg/items.aircraft.js rename kubejs/startup_scripts/{betterend/blocks.js => tfg/mars/blocks.mars_deco.js} (69%) rename kubejs/startup_scripts/{betterend/items.js => tfg/mars/items.mars.js} (88%) create mode 100644 kubejs/startup_scripts/tfg/mars/materials.mars.js create mode 100644 kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js create mode 100644 kubejs/startup_scripts/tfg/moon/materials.moon.js create mode 100644 kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js create mode 100644 kubejs/startup_scripts/tfg/nuclear/items.nuclear.js rename kubejs/startup_scripts/tfg/{ => primitive}/blocks.supports.js (100%) create mode 100644 kubejs/startup_scripts/tfg/primitive/blocks.vases.js create mode 100644 kubejs/startup_scripts/tfg/primitive/items.primitive.js create mode 100644 kubejs/startup_scripts/tfg/primitive/materials.primitive.js create mode 100644 kubejs/startup_scripts/tfg/space_general/items.space.js create mode 100644 kubejs/startup_scripts/tfg/space_general/materials.rockets.js rename kubejs/startup_scripts/tfg/{ => stone_types}/blocks.aqueducts.js (100%) rename kubejs/startup_scripts/tfg/{blocks.space.js => stone_types/blocks.rocks.js} (71%) create mode 100644 kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js create mode 100644 kubejs/startup_scripts/tfg/stone_types/items.rocks.js create mode 100644 kubejs/startup_scripts/tfg/stone_types/materials.rocks.js create mode 100644 kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js create mode 100644 kubejs/startup_scripts/tfg/venus/materials.venus.js create mode 100644 kubejs/startup_scripts/tfg/worldgen/blocks.beneath_deco.js create mode 100644 kubejs/startup_scripts/tfg/worldgen/blocks.trees.js create mode 100644 kubejs/startup_scripts/tfg/worldgen/items.wood.js create mode 100644 kubejs/startup_scripts/tfg/worldgen/utility.js diff --git a/kubejs/startup_scripts/ad_astra/materials.js b/kubejs/startup_scripts/ad_astra/materials.js deleted file mode 100644 index 98d9d69f3..000000000 --- a/kubejs/startup_scripts/ad_astra/materials.js +++ /dev/null @@ -1,92 +0,0 @@ -// priority: 0 -"use strict"; - -const registerAdAstraMaterials = (event) => { - - event.create('armalcolite') - .gem(2) - .components('1x magnesium', '1x rutile', '1x ilmenite') - .color(0x443333) - .secondaryColor(0x5e2c21) - .iconSet(GTMaterialIconSet.getByName('tfc_emerald')) - .ore() - .addOreByproducts('rutile', 'rutile', 'ilmenite') - - // #region ad astra ores - - // moon - event.create('desh') - .components('2x olivine', '1x rutile', '4x nitrogen') - .color(0xF39A4C) - .secondaryColor(0xF35A6C) - .iconSet(GTMaterialIconSet.getByName('tfc_hematite')) - .ore() - .addOreByproducts('olivine', 'rutile', 'rutile') - .ingot() - .liquid() - .blastTemp(2800, 'mid', GTValues.VA[GTValues.HV]) - .flags( - GTMaterialFlags.FORCE_GENERATE_BLOCK, - GTMaterialFlags.GENERATE_PLATE, - GTMaterialFlags.GENERATE_ROD, - GTMaterialFlags.GENERATE_DENSE, - GTMaterialFlags.GENERATE_GEAR, - GTMaterialFlags.GENERATE_FRAME, - GTMaterialFlags.DISABLE_ALLOY_BLAST - ) - - // mars - event.create('ostrum') - .components('2x pitchblende', '1x tricalcium_phosphate', '1x bauxite', '1x silver', '1x beryllium') - .color(0xbd7980) - .secondaryColor(0xA66C8D) - .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) - .ingot() - .liquid() - .blastTemp(3700, 'mid', GTValues.VA[GTValues.EV]) - .flags( - GTMaterialFlags.DISABLE_DECOMPOSITION, - GTMaterialFlags.FORCE_GENERATE_BLOCK, - GTMaterialFlags.GENERATE_PLATE, - GTMaterialFlags.GENERATE_ROD, - GTMaterialFlags.GENERATE_FRAME, - GTMaterialFlags.DISABLE_ALLOY_BLAST - ) - - // venus? - event.create('calorite') - //.components('2x mercury', '1x tungsten', '1x rhodium', '2x sulfur') - .color(0xC94D4E) - .secondaryColor(0x9A296A) - .iconSet(GTMaterialIconSet.getByName('tfc_copper')) - .ore() - .ingot() - .flags( - GTMaterialFlags.FORCE_GENERATE_BLOCK, - GTMaterialFlags.GENERATE_PLATE - ) - - // ??? - event.create('etrium') - //.components('1x niobium', '1x molybdenum', '1x ruthenium', '3x carbon', '1x monochloramine') - .color(0x7BFCD7) - .secondaryColor(0x3582D2) - .iconSet(GTMaterialIconSet.getByName('tfc_silver')) - .ore() - .ingot() - .flags( - GTMaterialFlags.FORCE_GENERATE_BLOCK, - GTMaterialFlags.GENERATE_PLATE, - GTMaterialFlags.GENERATE_ROD - ) - - // #endregion -} - -const registerAdAstraMaterialModification = (event) => { - - const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') - - // Ostrum fluid pipe - same flow rate as titanium, higher temp range - GTMaterials.get('ostrum').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3700, 150, true, false, true, false)); -} \ No newline at end of file diff --git a/kubejs/startup_scripts/ae2/fluids.js b/kubejs/startup_scripts/ae2/fluids.js deleted file mode 100644 index 60038bb0b..000000000 --- a/kubejs/startup_scripts/ae2/fluids.js +++ /dev/null @@ -1,13 +0,0 @@ -// priority: 0 -"use strict"; - -const registerAE2Fluids = (event) => { - -// AE2 Moon Fluix - - event.create('tfg:cryogenized_fluix') - .thickTexture(0xde8cfb) - .bucketColor(0xde8cfb) - .luminosity(14) - .temperature(10) -} \ No newline at end of file diff --git a/kubejs/startup_scripts/chisel_and_bits/constants.js b/kubejs/startup_scripts/chisel_and_bits/constants.js deleted file mode 100644 index 5c8a9ee0f..000000000 --- a/kubejs/startup_scripts/chisel_and_bits/constants.js +++ /dev/null @@ -1,17 +0,0 @@ -// priority: 0 -"use strict"; - -global.CHISEL_AND_BITS_DISABLED_ITEMS = [ - 'chiselsandbits:block_bit', - 'chiselsandbits:chiseled_block', - - 'chiselsandbits:chisel_stone', - 'chiselsandbits:chisel_iron', - 'chiselsandbits:chisel_gold', - 'chiselsandbits:chisel_netherite', - - 'chiselsandbits:bit_bag_dyed', - 'chiselsandbits:pattern_single_use', - 'chiselsandbits:pattern_multi_use', - 'chiselsandbits:monocle' -]; \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gtceu/items.js deleted file mode 100644 index 6b29ca59f..000000000 --- a/kubejs/startup_scripts/gtceu/items.js +++ /dev/null @@ -1,45 +0,0 @@ -// priority: 0 -"use strict"; - -const registerGTCEuItems = (event) => { - - event.create('tfg:ulv_universal_circuit') - .translationKey('item.ulv_universal_circuit') - - event.create('tfg:lv_universal_circuit') - .translationKey('item.lv_universal_circuit') - - event.create('tfg:mv_universal_circuit') - .translationKey('item.mv_universal_circuit') - - event.create('tfg:hv_universal_circuit') - .translationKey('item.hv_universal_circuit') - - event.create('tfg:ev_universal_circuit') - .translationKey('item.ev_universal_circuit') - - event.create('tfg:iv_universal_circuit') - .translationKey('item.iv_universal_circuit') - - event.create('tfg:luv_universal_circuit') - .translationKey('item.luv_universal_circuit') - - event.create('tfg:zpm_universal_circuit') - .translationKey('item.zpm_universal_circuit') - - event.create('tfg:uv_universal_circuit') - .translationKey('item.uv_universal_circuit') - - event.create('tfg:uhv_universal_circuit') - .translationKey('item.uhv_universal_circuit') - - event.create('tfg:chipboard_composite') - .translationKey('item.chipboard_composite') - - event.create('tfg:treated_chipboard_composite') - .translationKey('item.treated_chipboard_composite') - - event.create('tfg:high_density_treated_fiberboard') - .translationKey('item.high_density_treated_fiberboard') - -} diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/material_modification.js similarity index 99% rename from kubejs/startup_scripts/gtceu/materials.js rename to kubejs/startup_scripts/gtceu/material_modification.js index 3bdcf75d5..aba518db4 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -1,10 +1,6 @@ // priority: 0 "use strict"; -const registerGTCEuMaterials = (event) => { - -} - const registerGTCEuMaterialModification = (event) => { //const TFGPropertyKey = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.TFGPropertyKeys') @@ -343,6 +339,8 @@ const registerGTCEuMaterialModification = (event) => { 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 GTMaterials.BlueSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(4618, 75, true, false, false, false)); + // Ostrum fluid pipe - same flow rate as titanium, higher temp range + TFGHelpers.getMaterial('ostrum').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3700, 150, true, false, true, false)); // Add some hazards back GTMaterials.Realgar.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 27c4287d5..94f249b16 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -2,14 +2,11 @@ "use strict"; StartupEvents.registry('item', event => { - registerBetterEndItems(event) - registerGTCEuItems(event) registerTFGItems(event) }) StartupEvents.registry('block', event => { registerTFGBlocks(event) - registerBetterEndBlocks(event) }) StartupEvents.registry('entity_type', event => { @@ -32,7 +29,6 @@ ItemEvents.modification(event => { StartupEvents.registry('fluid', event => { registerTFGFluids(event) - registerAE2Fluids(event) }) GTCEuStartupEvents.registry('gtceu:recipe_type', event => { @@ -51,26 +47,19 @@ GTCEuStartupEvents.registry('gtceu:tag_prefix', event => { }) GTCEuStartupEvents.registry('gtceu:material', event => { - registerAdAstraMaterials(event) registerAE2Materials(event) registerCreateMaterials(event) - registerTFCMaterials(event) - registerGTCEuMaterials(event) registerGreateMaterials(event) registerTFGMaterials(event) - registerTFGNuclearMaterials(event) - registerTFGBiolineMaterials(event) - registerTFGPowerReworkMaterials(event) }) GTCEuStartupEvents.registry('gtceu:material_icon_set', event => { - registerTFCIconSets(event) + registerTFGIconSets(event) }) GTCEuStartupEvents.materialModification(event => { registerGTCEuMaterialModification(event) registerGreateMaterialModification(event) - registerAdAstraMaterialModification(event) }) GTCEuStartupEvents.registry('gtceu:dimension_marker', event => { diff --git a/kubejs/startup_scripts/tfc/icon_sets.js b/kubejs/startup_scripts/tfc/icon_sets.js deleted file mode 100644 index 7a90f7027..000000000 --- a/kubejs/startup_scripts/tfc/icon_sets.js +++ /dev/null @@ -1,39 +0,0 @@ -// priority: 0 -"use strict"; - -function registerTFCIconSets(event) { - - event.create('tfc_borax').parent('rough') - event.create('tfc_gypsum').parent('rough') - event.create('tfc_graphite').parent('rough') - event.create('tfc_saltpeter').parent('fine') - event.create('tfc_sulfur').parent('fine') - - event.create('tfc_amethyst').parent('ruby') - event.create('tfc_redstone').parent('fine') - event.create('tfc_diamond').parent('diamond') - event.create('tfc_emerald').parent('emerald') - event.create('tfc_lapis').parent('lapis') - event.create('tfc_opal').parent('opal') - event.create('tfc_pyrite').parent('bright') - event.create('tfc_ruby').parent('ruby') - event.create('tfc_sapphire').parent('gem_horizontal') - event.create('tfc_topaz').parent('gem_vertical') - event.create('tfc_realgar').parent('emerald') - - event.create('tfc_bismuth').parent('bright') - event.create('tfc_cassiterite').parent('bright') - event.create('tfc_garnierite').parent('bright') - event.create('tfc_hematite').parent('metallic') - event.create('tfc_limonite').parent('metallic') - event.create('tfc_magnetite').parent('dull') - event.create('tfc_malachite').parent('shiny') - event.create('tfc_copper').parent('bright') - event.create('tfc_gold').parent('shiny') - event.create('tfc_silver').parent('shiny') - event.create('tfc_sphalerite').parent('dull') - event.create('tfc_tetrahedrite').parent('dull') - event.create('tfc_chromite').parent('dull') - - event.create('nether_quartz').parent('quartz') -} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/biotech/items.biotech.js b/kubejs/startup_scripts/tfg/biotech/items.biotech.js new file mode 100644 index 000000000..681f12e91 --- /dev/null +++ b/kubejs/startup_scripts/tfg/biotech/items.biotech.js @@ -0,0 +1,39 @@ +"use strict"; + +function registerTFGBiotechItems(event) { + + event.create('tfg:stainless_steel_needle') + .unstackable() + .maxDamage(9999) + + //#region Lab Equipment + + global.LAB_EQUIPMENT_CONTAINERS.forEach((item) => { + event.create(`tfg:${item.type}`, 'tfc:glass_bottle') + .fluidTagAccept('tfg:not_solid') + .capacity(item.capacity) + .translationKey(`item.tfg.lab_equipment.${item.type}`) + .tag('tfg:lab_equipment_containers') + .tag('tfc:fluid_item_ingredient_empty_containers') + .tag('tfc:glass_bottles') + }) + + event.create('tfg:lab_equipment') + .translationKey('item.tfg.lab_equipment.lab_equipment') + .tooltip(Text.translatable('tfg.tooltip.lab_equipment.set')) + + event.create('tfg:dirty_lab_equipment') + .translationKey('item.tfg.lab_equipment.dirty_lab_equipment') + .tooltip(Text.translatable('tfg.tooltip.lab_equipment.set_dirty')) + //#endregion + + + //#region Bioline + + event.create('tfg:cellulose_matrix') + event.create('tfg:smooth_endoplasmic_reticula') + event.create('tfg:rough_endoplasmic_reticula') + event.create('tfg:alpha_keratin') + + //#endregion +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/biotech/items.medicine.js b/kubejs/startup_scripts/tfg/biotech/items.medicine.js new file mode 100644 index 000000000..a3584c88f --- /dev/null +++ b/kubejs/startup_scripts/tfg/biotech/items.medicine.js @@ -0,0 +1,69 @@ +// priority: 0 +"use strict"; + +function registerTFGMedicineItems(event) { + const pill = [ + 'haste', + 'night_vision', + 'poison', + 'regeneration', + 'slowness', + 'speed', + 'water_breathing', + 'weakness' + ] + + const pill_names = [ + 'Haste', + 'Night Vision', + 'Poison', + 'Regeneration', + 'Slowness', + 'Speed', + 'Water Breathing', + 'Weakness' + ] + + pill.forEach((pill_array, index) => { + const pill_names_array = pill_names[index]; + + event.create(`tfg:${pill_array}_pill`) + .tooltip(`§9${pill_names_array} (08:00)`) + + event.create(`tfg:${pill_array}_tablet`) + .tooltip(`§9${pill_names_array} (30:00)`) + }) + + event.create(`tfg:antipoison_pill`) + .tooltip(`§9Cures Poison`) + + event.create(`tfg:antipoison_tablet`) + .tooltip(`§9Cures All Harmful Effects`) + + //salvos + + const salvo = [ + 'absorption', + 'fire_resistance', + 'invisibility', + 'luck', + 'resistance' + ] + const salvo_names = [ + 'Absorption', + 'Fire Resistance', + 'Invisibility', + 'Luck', + 'Resistance' + ] + + salvo.forEach((salvo_array, index) => { + const salvo_names_array = salvo_names[index]; + + event.create(`tfg:${salvo_array}_salvo`) + .tooltip(`§9${salvo_names_array} (08:00)`) + }) + + event.create(`tfg:instant_health_salvo`) + .tooltip(`§9Instant Health II`) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.bioline.js b/kubejs/startup_scripts/tfg/biotech/materials.bioline.js similarity index 100% rename from kubejs/startup_scripts/tfg/materials.bioline.js rename to kubejs/startup_scripts/tfg/biotech/materials.bioline.js diff --git a/kubejs/startup_scripts/tfg/blocks.casings.js b/kubejs/startup_scripts/tfg/blocks.casings.js new file mode 100644 index 000000000..b11f03bdd --- /dev/null +++ b/kubejs/startup_scripts/tfg/blocks.casings.js @@ -0,0 +1,121 @@ +"use strict"; + +function registerTFGCasingBlocks(event) { + + global.TFG_MACHINE_CASINGS.forEach(type => { + event.create(`tfg:casings/${type}`) + .translationKey(`block.tfg.casings.${type}`) + .model(`tfg:block/casings/${type}`) + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + }) + + event.create(`tfg:casings/machine_casing_stainless_evaporation`) + .translationKey(`block.tfg.casings.machine_casing_stainless_evaporation`) + .model(`tfg:block/casings/machine_casing_stainless_evaporation`) + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + + event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') + .simple('tfg:block/casings/machine_casing_vacuum_engine_intake') + .translationKey('block.tfg.casings.machine_casing_vacuum_engine_intake') + .soundType('metal') + .resistance(6).hardness(5) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .requiresTool(true) + .mapColor('color_light_gray') + + event.create('tfg:casings/machine_casing_bioculture') + .translationKey('block.tfg.casings.machine_casing_bioculture') + .model('tfg:block/casings/machine_casing_bioculture') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_red') + + event.create('tfg:casings/machine_casing_bioculture_glass') + .translationKey('block.tfg.casings.machine_casing_bioculture_glass') + .model('tfg:block/casings/machine_casing_bioculture_glass') + .soundType('glass') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_orange') + .defaultTranslucent() + + event.create('tfg:casings/bioculture_rotor_primary', 'tfg:active_particle_emitter') + .translationKey('block.tfg.casings.bioculture_rotor_primary') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + .activeOffset(1.6, 2, 1.6) + .activeVelocity(0, 0, 0) + .activeParticle('minecraft:landing_lava') + .activeCount(10) + .activeForced(false) + + event.create('tfg:casings/bioculture_rotor_secondary', 'gtceu:active') + .translationKey('block.tfg.casings.bioculture_rotor_secondary') + .model('tfg:block/casings/bioculture_rotor_secondary') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + + event.create('tfg:casings/machine_casing_ultraviolet', 'gtceu:active') + .translationKey('block.tfg.casings.machine_casing_ultraviolet') + .soundType('glass') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + + event.create('tfg:casings/heat_pipe_casing') + .translationKey('block.tfg.casings.heat_pipe_casing') + .model('tfg:block/casings/heat_pipe_casing') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_black') + + event.create('tfg:sample_rack', 'tfg:active_cardinal') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + .notSolid() + .renderType('cutout') + .opaque(false) + + event.create('tfg:growth_monitor', 'tfg:active_cardinal') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + .notSolid() + .renderType('cutout') + .opaque(false) + + event.create('tfg:casings/machine_casing_sterilizing_pipes', 'tfg:active_cardinal') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_brown') + + + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.plants.js b/kubejs/startup_scripts/tfg/blocks.crops.js similarity index 71% rename from kubejs/startup_scripts/tfg/blocks.plants.js rename to kubejs/startup_scripts/tfg/blocks.crops.js index 47208d86b..289eee7d1 100644 --- a/kubejs/startup_scripts/tfg/blocks.plants.js +++ b/kubejs/startup_scripts/tfg/blocks.crops.js @@ -310,115 +310,4 @@ const registerTFGCrops = (event) => { .tagBlock('minecraft:mineable/hoe') .tagBlock('tfc:can_be_snow_piled') .tagItem('c:hidden_from_recipe_viewers') - - // Mars Saplings - - event.create('tfg:saplings/crimson', 'tfc:sapling') - .features('tfg:mars/tree/crimson') - .tagBoth('minecraft:saplings') - .tagBlock('tfg:do_not_destroy_in_space') - .tagBlock('tfc:can_be_snow_piled') - .growthDays(6) - .soundType('nether_wart') - .defaultCutout() - .noCollision() - - event.create('tfg:saplings/warped', 'tfc:sapling') - .features('tfg:mars/tree/warped') - .tagBoth('minecraft:saplings') - .tagBlock('tfg:do_not_destroy_in_space') - .tagBlock('tfc:can_be_snow_piled') - .growthDays(6) - .soundType('nether_wart') - .defaultCutout() - .noCollision() - - event.create('tfg:saplings/alphacene', 'tfc:sapling') - .features('species:alphacene_mushroom') - .tagBoth('minecraft:saplings') - .tagBlock('tfg:do_not_destroy_in_space') - .tagBlock('tfc:can_be_snow_piled') - .growthDays(3) - .soundType('nether_wart') - .defaultCutout() - .noCollision() - - event.create('tfg:saplings/strophar', 'tfc:sapling') - .features('tfg:mars/tree/strophar_mini') - .tagBoth('minecraft:saplings') - .tagBlock('tfg:do_not_destroy_in_space') - .tagBlock('tfc:can_be_snow_piled') - .growthDays(7) - .soundType('nether_wart') - .defaultCutout() - .noCollision() - - event.create('tfg:saplings/aeronos', 'tfc:sapling') - .features('tfg:mars/tree/aeronos_mini') - .tagBoth('minecraft:saplings') - .tagBlock('tfg:do_not_destroy_in_space') - .tagBlock('tfc:can_be_snow_piled') - .growthDays(9) - .soundType('nether_wart') - .defaultCutout() - .noCollision() - - event.create('tfg:saplings/glacian', 'tfc:sapling') - .features('tfg:mars/tree/glacian_mini') - .tagBoth('minecraft:saplings') - .tagBlock('tfg:do_not_destroy_in_space') - .tagBlock('tfc:can_be_snow_piled') - .growthDays(9) - .soundType('nether_wart') - .defaultCutout() - .noCollision() - - // Glacian tree stuff - event.create('tfg:glacian_leaves', 'tfc:leaves') - .soundType('azalea_leaves') - .tagBlock('minecraft:mineable/hoe') - .tagBlock('tfg:do_not_destroy_in_space') - .mapColor('snow') - .seasonalColors(false) - .fallenLeaves(leaves => { - leaves.noCollision() - leaves.notSolid() - leaves.defaultCutout() - leaves.soundType('azalea_leaves') - leaves.tagBlock('minecraft:mineable/hoe') - leaves.tagBlock('minecraft:replaceable') - leaves.noDynamicTinting() - leaves.models((modelType, generator) => { - if (modelType.layers != 8) { - generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height); - generator.texture("all", "ad_astra:block/glacian_leaves"); - } else { - generator.parent("ad_astra:block/glacian_leaves"); - } - }) - }) - - event.create('tfg:glacian_wood', 'tfc:log') - .tagBoth('minecraft:logs') - .tagItem('minecraft:logs_that_burn') - .tagItem('ad_astra:glacian_logs') - .tagBlock('minecraft:mineable/axe') - .soundType('wood') - .stripped(stripped => { - stripped.tagBoth('minecraft:logs') - stripped.tagItem('minecraft:logs_that_burn') - stripped.tagItem('ad_astra:glacian_logs') - stripped.tagBlock('minecraft:mineable/axe') - stripped.soundType('wood') - }) - - event.create('tfg:glacian_log', 'tfc:log') - .tagBoth('minecraft:logs') - .tagBoth('c:hidden_from_recipe_viewers') - .soundType('wood') - .stripped(stripped => { - stripped.tagBoth('minecraft:logs') - stripped.tagBoth('c:hidden_from_recipe_viewers') - stripped.soundType('wood') - }) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 013f7fac1..85b9d9286 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -2,375 +2,30 @@ const registerTFGBlocks = (event) => { - registerTFGNetherBlocks(event) - registerTFGSpaceBlocks(event) + registerTFGDimensionMarkerBlocks(event) + registerTFGCrops(event) + registerTFGVaseBlocks(event) + registerTFGSupportBlocks(event) registerTFGAqueductBlocks(event) - registerTFGCrops(event) + registerTFGRockBlocks(event) + registerTFGVanillaStoneBlocks(event) + + registerTFGWorldGenTrees(event) + registerTFGWorldGenBeneathDecoBlocks(event) + registerTFGWorldGenMoonDecoBlocks(event) + registerTFGWorldGenMarsDecoBlocks(event) + registerTFGWorldGenVenusDecoBlocks(event) + registerTFGWorldGenEuropaDecoBlocks(event) + + registerTFGCasingBlocks(event) + registerTFGNuclearBlocks(event) + // Temporary, remove in 0.12 event.create('gtceu:ostrum_linear_accelerator') .tagBlock('gtceu:mineable/pickaxe_or_wrench') .requiresTool(false) .textureAll('tfg:item/deprecated') - - event.create('tfg:titanium_exhaust_vent', 'tfg:active_particle_emitter') - .textureAll('tfg:block/titanium_exhaust_vent') - .soundType('metal') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_black') - .speedFactor(1.1) - .activeOffset(3.5, 2, 3.5) - .activeVelocity(0.0, 0.0, 0.0) - .activeParticle('tfg:cooling_steam') - .activeBase(0.0, 12.5, 0.0) - .activeCount(8) - .activeForced(false) - .hasTicker(true) - - // #region Machine Casings - - global.TFG_MACHINE_CASINGS.forEach(type => { - event.create(`tfg:casings/${type}`) - .translationKey(`block.tfg.casings.${type}`) - .model(`tfg:block/casings/${type}`) - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_light_gray') - }) - - event.create(`tfg:casings/machine_casing_stainless_evaporation`) - .translationKey(`block.tfg.casings.machine_casing_stainless_evaporation`) - .model(`tfg:block/casings/machine_casing_stainless_evaporation`) - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_light_gray') - - event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') - .simple('tfg:block/casings/machine_casing_vacuum_engine_intake') - .translationKey('block.tfg.casings.machine_casing_vacuum_engine_intake') - .soundType('metal') - .resistance(6).hardness(5) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .requiresTool(true) - .mapColor('color_light_gray') - - event.create('tfg:casings/machine_casing_bioculture') - .translationKey('block.tfg.casings.machine_casing_bioculture') - .model('tfg:block/casings/machine_casing_bioculture') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_red') - - event.create('tfg:casings/machine_casing_bioculture_glass') - .translationKey('block.tfg.casings.machine_casing_bioculture_glass') - .model('tfg:block/casings/machine_casing_bioculture_glass') - .soundType('glass') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_orange') - .defaultTranslucent() - - event.create('tfg:casings/bioculture_rotor_primary', 'tfg:active_particle_emitter') - .translationKey('block.tfg.casings.bioculture_rotor_primary') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_light_gray') - .activeOffset(1.6, 2, 1.6) - .activeVelocity(0, 0, 0) - .activeParticle('minecraft:landing_lava') - .activeCount(10) - .activeForced(false) - - event.create('tfg:casings/bioculture_rotor_secondary', 'gtceu:active') - .translationKey('block.tfg.casings.bioculture_rotor_secondary') - .model('tfg:block/casings/bioculture_rotor_secondary') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_light_gray') - - event.create('tfg:casings/machine_casing_ultraviolet', 'gtceu:active') - .translationKey('block.tfg.casings.machine_casing_ultraviolet') - .soundType('glass') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_light_gray') - event.create('tfg:casings/heat_pipe_casing') - .translationKey('block.tfg.casings.heat_pipe_casing') - .model('tfg:block/casings/heat_pipe_casing') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_black') - - event.create('tfg:sample_rack', 'tfg:active_cardinal') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_light_gray') - .notSolid() - .renderType('cutout') - .opaque(false) - - event.create('tfg:growth_monitor', 'tfg:active_cardinal') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_light_gray') - .notSolid() - .renderType('cutout') - .opaque(false) - - event.create('tfg:casings/machine_casing_sterilizing_pipes', 'tfg:active_cardinal') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .mapColor('color_brown') - - //#endregion - - event.create('tfg:titanium_concrete') - .translationKey('block.tfg.titanium_concrete') - .model('tfg:block/concrete/titanium_concrete') - .soundType('stone') - .mapColor('stone') - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .tagBoth('tfg:titanium_concrete') - - event.create('tfg:polished_titanium_concrete') - .translationKey('block.tfg.polished_titanium_concrete') - .model('tfg:block/concrete/polished_titanium_concrete') - .soundType('stone') - .mapColor('stone') - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .tagBoth('tfg:titanium_concrete') - - event.create('tfg:titanium_concrete_tile') - .translationKey('block.tfg.titanium_concrete_tile') - .model('tfg:block/concrete/titanium_concrete_tile') - .soundType('stone') - .mapColor('stone') - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .tagBoth('tfg:titanium_concrete') - - event.create('tfg:titanium_concrete_tile_small') - .translationKey('block.tfg.titanium_concrete_tile_small') - .model('tfg:block/concrete/titanium_concrete_tile_small') - .soundType('stone') - .mapColor('stone') - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .tagBoth('tfg:titanium_concrete') - - event.create('tfg:titanium_concrete_bricks') - .translationKey('block.tfg.titanium_concrete_bricks') - .model('tfg:block/concrete/titanium_concrete_bricks') - .soundType('stone') - .mapColor('stone') - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .tagBoth('tfg:titanium_concrete') - - event.create('tfg:titanium_concrete_bricks_small') - .translationKey('block.tfg.titanium_concrete_bricks_small') - .model('tfg:block/concrete/titanium_concrete_bricks_small') - .soundType('stone') - .mapColor('stone') - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .tagBoth('tfg:titanium_concrete') - - event.create('tfg:titanium_concrete_bricks_square') - .translationKey('block.tfg.titanium_concrete_bricks_square') - .model('tfg:block/concrete/titanium_concrete_bricks_square') - .soundType('stone') - .mapColor('stone') - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .tagBoth('tfg:titanium_concrete') - - // #region insulation - event.create('tfg:glacian_wool_frame') - .soundType('copper') - .hardness(4) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - - event.create('tfg:aes_insulation_frame') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - - event.create('tfg:moderate_core_frame') - .soundType('copper') - .hardness(4) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - - event.create('tfg:impure_moderate_core_frame') - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - - // Unfinished Insulation - event.create('tfg:moderate_core') - .soundType('ancient_debris') - .hardness(7) - .resistance(8) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .model('tfg:block/fission/moderate_core') - - event.create('tfg:impure_moderate_core') - .soundType('ancient_debris') - .hardness(7) - .resistance(8) - .tagBlock('gtceu:mineable/pickaxe_or_wrench') - .model('tfg:block/fission/impure_moderate_core') - - // #region Decorative vases - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/loot_vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - event.create(`tfg:decorative_vase/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_unfired_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - }) - event.create('tfg:decorative_vase', 'cardinal') - .model('tfg:block/decorative_vase/vase') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create('tfg:decorative_vase/unfired', 'cardinal') - .model('tfg:block/decorative_vase/vase_unfired') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - // #endregion - - // #region Reconstituted Stone - - event.create(`tfg:rock/stone_wall`, 'wall') - .soundType(global.STONE_CHARACS.reconstituted.sound) - .textureAll('minecraft:block/stone') - .tagBoth('tfg:rock_wall') - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - let SHAPES = ['stairs', 'wall'] - SHAPES.forEach(shape => { - event.create(`tfg:rock/smooth_stone_${shape}`, shape) - .soundType(global.STONE_CHARACS.reconstituted.sound) - .textureAll('minecraft:block/smooth_stone') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES = ['stairs', 'slab', 'wall'] - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape) - .soundType(global.STONE_CHARACS.reconstituted.sound) - .textureAll('minecraft:block/cracked_stone_bricks') - .tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's')) - .mapColor(global.STONE_CHARACS.reconstituted.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/quartz_wall', 'wall') - .soundType('stone') - .textureAll('minecraft:block/quartz_block_side') - .tagBoth('tfg:rock_wall') - .mapColor('snow') - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/smooth_quartz_wall', 'wall') - .soundType('stone') - .textureAll('minecraft:block/quartz_block_bottom') - .tagBoth('tfg:rock_wall') - .mapColor('snow') - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // #endregion Reconstituted Stone } diff --git a/kubejs/startup_scripts/tfg/blocks.nether.js b/kubejs/startup_scripts/tfg/blocks.nether.js deleted file mode 100644 index 765b3b6e2..000000000 --- a/kubejs/startup_scripts/tfg/blocks.nether.js +++ /dev/null @@ -1,592 +0,0 @@ -"use strict"; - -function registerTFGNetherBlocks(event) { - const SHAPES = ['stairs', 'slab', 'wall'] - - // #region Raw Stones - SHAPES.forEach(shape => { - event.create(`tfg:rock/deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .textureAll('minecraft:block/deepslate') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .textureAll('minecraft:block/dripstone_block') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .textureAll('beneath:block/crackrack') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #endregion Raw Stones - - // #region Hardened Stones - event.create('tfg:rock/hardened_deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .property(BlockProperties.AXIS) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'minecraft:item/deepslate' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/hardened_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'minecraft:item/blackstone' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/hardened_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .stoneSoundType() - .requiresTool(true) - .item(item => { - item.modelJson({ parent: 'minecraft:item/dripstone_block' }) - }) - .tagBlock('tfc:can_carve') - .tagBoth('forge:stone') - .tagBoth('tfc:rock/hardened') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - // #endregion Hardened stones - - // #region Spikes - event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') - .textureAll('minecraft:block/deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') - .textureAll('minecraft:block/blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') - .textureAll('minecraft:block/dripstone_block') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - - // #endregion Spikes - - // #region Loose Stones - event.create('tfg:loose/deepslate', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.deepslate.sound) - .itemTexture('tfg:item/loose/deepslate') - .rockTypeModel(global.STONE_CHARACS.deepslate.type) - .translationKey("block.tfg.loose.deepslate") - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.deepslate.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/dripstone', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.dripstone.sound) - .itemTexture('tfg:item/loose/dripstone') - .rockTypeModel(global.STONE_CHARACS.dripstone.type) - .translationKey("block.tfg.loose.dripstone") - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.dripstone.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .tagItem("rnr:loose_rock_items") - - event.create('tfg:loose/crackrack', 'tfc:loose_rock') - .soundType(global.STONE_CHARACS.crackrack.sound) - .itemTexture('tfg:item/loose/crackrack') - .rockTypeModel(global.STONE_CHARACS.crackrack.type) - .translationKey("block.tfg.loose.crackrack") - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('tfc:loose_rocks') - .tagItem('tfc:any_knapping') - .tagItem('tfc:rock_knapping') - .tagItem(`tfc:${global.STONE_CHARACS.crackrack.type}_rock`) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .tagItem("rnr:loose_rock_items") - - // #endregion Loose rocks - - // #region Cobblestones - - // Deepslate - event.create('tfg:rock/mossy_cobble_deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Blackstone - event.create('tfg:rock/cobble_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .textureAll('minecraft:block/blackstone_top') - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Dripstone - event.create('tfg:rock/cobble_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Crackrack - event.create('tfg:rock/cobble_crackrack') - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cobble_crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_cobble_crackrack') - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth('forge:cobblestone') - .tagBoth('forge:cobblestone/normal') - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_cobble_crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #region Smooth (Polished/Cut) Stones - - event.create('tfg:rock/polished_crackrack') - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth('forge:smooth_stone') - .tagBoth('tfc:igneous_intrusive_items') - .tagBoth('tfc:rock/smooth') - .mapColor('crimson_stem') - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/polished_crackrack_${shape}`, shape) - .soundType(global.STONE_CHARACS.crackrack.sound) - .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #endregion Smooth (Polished/Cut) Stones - - // #region Gravels - event.create('tfg:rock/gravel_deepslate') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_blackstone') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_dripstone') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - event.create('tfg:rock/gravel_crackrack') - .soundType('gravel') - .tagBoth('forge:gravel') - .tagBoth('tfc:rock/gravel') - .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) - .mapColor(global.STONE_CHARACS.crackrack.mapColor) - .tagBlock('minecraft:mineable/shovel') - .tagBlock('tfc:can_landslide') - .fullBlock(true) - .opaque(true) - - // #endregion Gravels - - // #region Bricks / Decorative - - // Deepslate - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .textureAll('minecraft:block/cracked_deepslate_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_tiles_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .textureAll('minecraft:block/cracked_deepslate_tiles') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_deepslate') - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_deepslate_${shape}`, shape) - .soundType(global.STONE_CHARACS.deepslate.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) - .mapColor(global.STONE_CHARACS.deepslate.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Blackstone - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .textureAll('minecraft:block/cracked_polished_blackstone_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_blackstone') - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_blackstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.blackstone.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) - .mapColor(global.STONE_CHARACS.blackstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Dripstone - event.create('tfg:rock/cracked_bricks_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_dripstone') - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_dripstone_${shape}`, shape) - .soundType(global.STONE_CHARACS.dripstone.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) - .mapColor(global.STONE_CHARACS.dripstone.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // Crackrack - SHAPES.forEach(shape => { - event.create(`tfg:rock/cracked_bricks_nether_${shape}`, shape) - .soundType(global.STONE_CHARACS.nether.sound) - .textureAll('minecraft:block/cracked_nether_bricks') - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) - .mapColor(global.STONE_CHARACS.nether.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - event.create('tfg:rock/mossy_bricks_nether') - .soundType(global.STONE_CHARACS.nether.sound) - .tagBoth('minecraft:stone_bricks') - .tagBoth('forge:stone_bricks') - .tagBoth('tfc:rock/bricks') - .tagBoth('tfc:rock/mossy_bricks') - .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) - .mapColor(global.STONE_CHARACS.nether.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - - SHAPES.forEach(shape => { - event.create(`tfg:rock/mossy_bricks_nether_${shape}`, shape) - .soundType(global.STONE_CHARACS.nether.sound) - .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) - .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) - .mapColor(global.STONE_CHARACS.nether.mapColor) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - }) - - // #endregion Bricks / Decorative - - // #region Plants - event.create('tfg:mushroom_roots', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfc:plants') - - event.create('tfg:mushroom_sprouts', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfc:plants') - - event.create('tfg:charred_log') - .fullBlock(true) - .woodSoundType() - .property(BlockProperties.AXIS) - .tagBoth('minecraft:mineable/axe') - .tagBoth('tfc:logs_that_log') - .tagBoth('afc:logs_that_log') - .tagBoth('minecraft:logs') - .mapColor('black') -} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/dimension_markers.js b/kubejs/startup_scripts/tfg/dimension_markers.js index 053035b80..51301a50b 100644 --- a/kubejs/startup_scripts/tfg/dimension_markers.js +++ b/kubejs/startup_scripts/tfg/dimension_markers.js @@ -1,6 +1,64 @@ // priority: 0 "use strict"; + +function registerTFGDimensionMarkerItems(event) { + event.create('tfg:marker/earth_orbit').tag('c:hidden_from_recipe_viewers') + event.create('tfg:marker/moon_orbit').tag('c:hidden_from_recipe_viewers') + event.create('tfg:marker/mars_orbit').tag('c:hidden_from_recipe_viewers') + event.create('tfg:marker/venus_orbit').tag('c:hidden_from_recipe_viewers') + event.create('tfg:marker/mercury_orbit').tag('c:hidden_from_recipe_viewers') + event.create('tfg:marker/glacio_orbit').tag('c:hidden_from_recipe_viewers') +} + +function registerTFGDimensionMarkerBlocks(event) { + + event.create('tfg:marker/moon') + .stoneSoundType() + .item(item => { + item.modelJson({ parent: 'tfg:block/marker/moon' }) + }) + .tagBlock('c:hidden_from_recipe_viewers') + .fullBlock(true) + .opaque(true) + + event.create('tfg:marker/mars') + .stoneSoundType() + .item(item => { + item.modelJson({ parent: 'tfg:block/marker/mars' }) + }) + .tagBlock('c:hidden_from_recipe_viewers') + .fullBlock(true) + .opaque(true) + + event.create('tfg:marker/venus') + .stoneSoundType() + .item(item => { + item.modelJson({ parent: 'tfg:block/marker/venus' }) + }) + .tagBlock('c:hidden_from_recipe_viewers') + .fullBlock(true) + .opaque(true) + + event.create('tfg:marker/mercury') + .stoneSoundType() + .item(item => { + item.modelJson({ parent: 'tfg:block/marker/mercury' }) + }) + .tagBlock('c:hidden_from_recipe_viewers') + .fullBlock(true) + .opaque(true) + + event.create('tfg:marker/glacio') + .stoneSoundType() + .item(item => { + item.modelJson({ parent: 'tfg:block/marker/glacio' }) + }) + .tagBlock('c:hidden_from_recipe_viewers') + .fullBlock(true) + .opaque(true) +} + function registerTFGDimensionMarkers(event) { event.create('ad_astra:earth_orbit') diff --git a/kubejs/startup_scripts/tfg/equipment/items.weapons.js b/kubejs/startup_scripts/tfg/equipment/items.weapons.js new file mode 100644 index 000000000..8ad88500c --- /dev/null +++ b/kubejs/startup_scripts/tfg/equipment/items.weapons.js @@ -0,0 +1,15 @@ +"use strict"; + +function registerTFGWeaponItems(event) { + + //Tacz Helper Region + event.create('tfg:flintlock_mechanism') + event.create('tfg:advanced_clockwork_mechanism') + event.create('tfg:certus_mechanism') + + event.create('tfg:small_bullet_casing') + event.create('tfg:shell_bullet_casing') + event.create('tfg:large_bullet_casing') + event.create('tfg:nitrocellulose') + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/europa/blocks.europa_deco.js b/kubejs/startup_scripts/tfg/europa/blocks.europa_deco.js new file mode 100644 index 000000000..e71f03cab --- /dev/null +++ b/kubejs/startup_scripts/tfg/europa/blocks.europa_deco.js @@ -0,0 +1,39 @@ +"use strict"; + +function registerTFGWorldGenEuropaDecoBlocks(event) { + + + event.create('tfg:corallium_arenicolus_0', 'tfg:tall_decorative_plant') + .height(2) + .soundType('nether_wart') + .tagItem('tfg:venus_plants') + .lightLevel(0.4) + .renderType('translucent') + + event.create('tfg:corallium_arenicolus_1', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfg:venus_plants') + .box(3, 0, 3, 13, 14, 13) + + event.create('tfg:corallium_arenicolus_2', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfg:venus_plants') + .renderType('translucent') + .box(0, 0, 0, 16, 4, 16) + + event.create('tfg:corallium_arenicolus_3', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfg:venus_plants') + .box(3, 0, 3, 13, 14, 13) + + event.create('tfg:corallium_arenicolus_4', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfg:venus_plants') + .box(3, 0, 3, 13, 14, 13) + + event.create('tfg:corallium_arenicolus_5', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfg:venus_plants') + .box(3, 0, 3, 13, 14, 13) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/europa/materials.europa.js b/kubejs/startup_scripts/tfg/europa/materials.europa.js new file mode 100644 index 000000000..a4fb06ddd --- /dev/null +++ b/kubejs/startup_scripts/tfg/europa/materials.europa.js @@ -0,0 +1,18 @@ +"use strict"; + +function registerTFGEuropaMaterials(event) { + + event.create('tfg:etrium') + //.components('1x niobium', '1x molybdenum', '1x ruthenium', '3x carbon', '1x monochloramine') + .color(0x7BFCD7) + .secondaryColor(0x3582D2) + .iconSet(GTMaterialIconSet.getByName('tfc_silver')) + .ore() + .ingot() + .flags( + GTMaterialFlags.FORCE_GENERATE_BLOCK, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD + ) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index 0133e5b7d..287f1dd0d 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -3,17 +3,21 @@ const registerTFGFluids = (event) => { - //#region Mars + // Moon + event.create('tfg:cryogenized_fluix') + .thickTexture(0xde8cfb) + .bucketColor(0xde8cfb) + .luminosity(14) + .temperature(10) + // Mars event.create('tfg:heavy_ammoniacal_water') .thinTexture(0x08733f) .bucketColor(0x08733f) .temperature(236) .noBlock() - //#endregion - - //#region Venus + // Venus event.create('tfg:sulfur_fumes') .stillTexture('tfg:block/planets/venus/sulfur_fumes_still') .flowingTexture('tfg:block/planets/venus/sulfur_fumes_flow') @@ -29,6 +33,5 @@ const registerTFGFluids = (event) => { .bucketColor(0xc4d984) .temperature(1000) .renderType('translucent') - //#endregion } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/materials.js b/kubejs/startup_scripts/tfg/icon_sets.js similarity index 84% rename from kubejs/startup_scripts/tfc/materials.js rename to kubejs/startup_scripts/tfg/icon_sets.js index 16e9dc540..4730d201a 100644 --- a/kubejs/startup_scripts/tfc/materials.js +++ b/kubejs/startup_scripts/tfg/icon_sets.js @@ -1,45 +1,45 @@ // priority: 0 "use strict"; -const registerTFCMaterials = (event) => { - const registerStoneMaterial = (rockType, color) => - event.create(`tfg:${rockType}`) - .dust() - .color(color) - .iconSet(GTMaterialIconSet.ROUGH) - .flags( - GTMaterialFlags.MORTAR_GRINDABLE, - GTMaterialFlags.NO_SMASHING, - GTMaterialFlags.NO_SMELTING - ) +function registerTFGIconSets(event) { - /* TFC Stone Types Materials */ - registerStoneMaterial('gabbro', 0x7F8081) - registerStoneMaterial('shale', 0x686567) - registerStoneMaterial('claystone', 0xAF9377) - registerStoneMaterial('limestone', 0xA09885) - registerStoneMaterial('conglomerate', 0xA3977F) - registerStoneMaterial('dolomite', 0x515155) - registerStoneMaterial('chert', 0x7A6756) - registerStoneMaterial('chalk', 0xA4A39F) - registerStoneMaterial('rhyolite', 0x726D69) - registerStoneMaterial('dacite', 0x979797) - registerStoneMaterial('slate', 0x989287) - registerStoneMaterial('phyllite', 0x706B61) - registerStoneMaterial('schist', 0x6E735C) - registerStoneMaterial('gneiss', 0x6A6D60) + event.create('tfc_borax').parent('rough') + event.create('tfc_gypsum').parent('rough') + event.create('tfc_graphite').parent('rough') + event.create('tfc_saltpeter').parent('fine') + event.create('tfc_sulfur').parent('fine') - registerStoneMaterial('dripstone', 0x927965) - - registerStoneMaterial('moon_stone', 0x506869) - registerStoneMaterial('moon_deepslate', 0x45474D) - registerStoneMaterial('mars_stone', 0xD08957) - registerStoneMaterial('venus_stone', 0xD5A664) - registerStoneMaterial('mercury_stone', 0x723E49) - registerStoneMaterial('glacio_stone', 0x9897BF) - - // Specialized icon sets for TFC's own + event.create('tfc_amethyst').parent('ruby') + event.create('tfc_redstone').parent('fine') + event.create('tfc_diamond').parent('diamond') + event.create('tfc_emerald').parent('emerald') + event.create('tfc_lapis').parent('lapis') + event.create('tfc_opal').parent('opal') + event.create('tfc_pyrite').parent('bright') + event.create('tfc_ruby').parent('ruby') + event.create('tfc_sapphire').parent('gem_horizontal') + event.create('tfc_topaz').parent('gem_vertical') + event.create('tfc_realgar').parent('emerald') + + event.create('tfc_bismuth').parent('bright') + event.create('tfc_cassiterite').parent('bright') + event.create('tfc_garnierite').parent('bright') + event.create('tfc_hematite').parent('metallic') + event.create('tfc_limonite').parent('metallic') + event.create('tfc_magnetite').parent('dull') + event.create('tfc_malachite').parent('shiny') + event.create('tfc_copper').parent('bright') + event.create('tfc_gold').parent('shiny') + event.create('tfc_silver').parent('shiny') + event.create('tfc_sphalerite').parent('dull') + event.create('tfc_tetrahedrite').parent('dull') + event.create('tfc_chromite').parent('dull') + + event.create('nether_quartz').parent('quartz') +} +function modifyTFGIconSets(event) { + GTMaterials.Coal.setMaterialIconSet(GTMaterialIconSet.LIGNITE) GTMaterials.Borax.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) GTMaterials.Gypsum.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gypsum')) diff --git a/kubejs/startup_scripts/tfg/items.aircraft.js b/kubejs/startup_scripts/tfg/items.aircraft.js new file mode 100644 index 000000000..651171046 --- /dev/null +++ b/kubejs/startup_scripts/tfg/items.aircraft.js @@ -0,0 +1,41 @@ +"use strict"; + +function registerTFGAircraftItems(event) { + + event.create('tfg:scaffolding_frame') + + event.create('tfg:airship_hull') + + event.create('tfg:airship_balloon') + + event.create('tfg:lv_aircraft_engine') + + event.create('tfg:hv_aircraft_engine') + + event.create('tfg:ev_aircraft_engine') + + event.create('tfg:black_steel_plated_airplane_propeller') + + event.create('tfg:redblu_steel_plated_airplane_propeller') + + event.create('tfg:stainless_steel_plated_airplane_propeller') + + event.create('tfg:titanium_plated_airplane_propeller') + + event.create('tfg:redblu_steel_landing_gear') + + event.create('tfg:aluminium_landing_gear') + + event.create('tfg:stainless_steel_landing_gear') + + event.create('tfg:titanium_landing_gear') + + event.create('tfg:redblu_steel_hull_reinforcement') + + event.create('tfg:aluminium_hull_reinforcement') + + event.create('tfg:stainless_steel_hull_reinforcement') + + event.create('tfg:titanium_hull_reinforcement') + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index 5a6b9888d..2ff882c35 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -2,55 +2,10 @@ "use strict"; function registerTFGFoodItems(event) { - - event.create('tfg:food/raw_birt') - .translationKey('item.tfg.food.raw_birt') - .food(food => food.hunger(2).saturation(1) - .effect('species:birtd', 50, 0, 1) - .eaten(ctx => { - ctx.player.level.runCommandSilent(`playsound species:effect.birtd.applied player ${ctx.player.username} ${ctx.player.x} ${ctx.player.y} ${ctx.player.z} 1 1`) - })) - - event.create('tfg:food/cooked_birt') - .translationKey('item.tfg.food.cooked_birt') - .food(food => food.hunger(4).saturation(2)) - - event.create('tfg:food/raw_limpet') - .translationKey('item.tfg.food.raw_limpet') - .food(food => food.hunger(2).saturation(1) - .effect('minecraft:hunger', 100, 0, 1)) - - event.create('tfg:food/cooked_limpet') - .translationKey('item.tfg.food.cooked_limpet') - .food(food => food.hunger(4).saturation(2)) - - event.create('tfg:food/raw_crawlermari') - .translationKey('item.tfg.food.raw_crawlermari') - .food(food => food.hunger(2).saturation(1)) - - event.create('tfg:food/cooked_crawlermari') - .translationKey('item.tfg.food.cooked_crawlermari') - .food(food => food.hunger(4).saturation(2)) - - global.FOOD_FRUIT.forEach(fruit => { - event.create(`tfg:food/freeze_dried/${fruit.name}`) - .translationKey(`item.tfg.food.freeze_dried/${fruit.name}`) - .texture(`tfg:item/food/freeze_dried_${fruit.name}`) - .tag('tfg:space_food') - .food(food => food.hunger(4).saturation(1) - .eaten(ctx => { - ctx.player.give('tfg:used_foil_pack') - })) - }) - - event.create('tfg:food/calorie_paste') - .translationKey('item.tfg.food.calorie_paste') - .food(food => food.hunger(8).saturation(5) - .eaten(ctx => { - ctx.player.give('tfg:used_foil_pack') - })) - .texture('tfg:item/food/calorie_paste') - .tag('tfg:space_food') + + // Meal bags + event.create('tfg:foil_pack') + event.create('tfg:clean_foil_pack') event.create('tfg:used_foil_pack') .translationKey('item.tfg.food.used_foil_pack') @@ -68,6 +23,61 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/meal_bag') .tag('tfg:space_food') + // Birt + event.create('tfg:food/raw_birt') + .translationKey('item.tfg.food.raw_birt') + .food(food => food.hunger(2).saturation(1) + .effect('species:birtd', 50, 0, 1) + .eaten(ctx => { + ctx.player.level.runCommandSilent(`playsound species:effect.birtd.applied player ${ctx.player.username} ${ctx.player.x} ${ctx.player.y} ${ctx.player.z} 1 1`) + })) + + event.create('tfg:food/cooked_birt') + .translationKey('item.tfg.food.cooked_birt') + .food(food => food.hunger(4).saturation(2)) + + // Limpet + event.create('tfg:food/raw_limpet') + .translationKey('item.tfg.food.raw_limpet') + .food(food => food.hunger(2).saturation(1) + .effect('minecraft:hunger', 100, 0, 1)) + + event.create('tfg:food/cooked_limpet') + .translationKey('item.tfg.food.cooked_limpet') + .food(food => food.hunger(4).saturation(2)) + + // Crawlermari + event.create('tfg:food/raw_crawlermari') + .translationKey('item.tfg.food.raw_crawlermari') + .food(food => food.hunger(2).saturation(1)) + + event.create('tfg:food/cooked_crawlermari') + .translationKey('item.tfg.food.cooked_crawlermari') + .food(food => food.hunger(4).saturation(2)) + + // Freeze dried fruit + global.FOOD_FRUIT.forEach(fruit => { + event.create(`tfg:food/freeze_dried/${fruit.name}`) + .translationKey(`item.tfg.food.freeze_dried/${fruit.name}`) + .texture(`tfg:item/food/freeze_dried_${fruit.name}`) + .tag('tfg:space_food') + .food(food => food.hunger(4).saturation(1) + .eaten(ctx => { + ctx.player.give('tfg:used_foil_pack') + })) + }) + + // Calorie paste + event.create('tfg:food/calorie_paste') + .translationKey('item.tfg.food.calorie_paste') + .food(food => food.hunger(8).saturation(5) + .eaten(ctx => { + ctx.player.give('tfg:used_foil_pack') + })) + .texture('tfg:item/food/calorie_paste') + .tag('tfg:space_food') + + // Sunflower seeds event.create('tfg:roasted_sunflower_seeds') .translationKey('item.tfg.roasted_sunflower_seeds') .texture('tfg:item/roasted_sunflower_seeds') @@ -486,4 +496,10 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/allspice'); //#endregion + + // Animal products + event.create('tfg:wraptor_sugar') + .tag('tfg:sugars') + .tag('tfg:haste_ingredients') + .tag('tfc:sweetener') } diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 3c18ddc84..4183c56a8 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -8,8 +8,22 @@ const registerTFGItems = (event) => { registerTFGFoodItems(event) + registerTFGPrimitiveItems(event); + registerTFGNuclearItems(event); + registerTFGWoodItems(event); + registerTFGMedicineItems(event); + registerTFGAircraftItems(event); + registerTFGSpaceItems(event); + registerTFGMarsItems(event); + registerTFGDimensionMarkerItems(event); + registerTFGBiotechItems(event); + registerTFGWeaponItems(event); + registerTFGRockItems(event); + + event.create('tfg:terra_firma_greg') + .tag('c:hidden_from_recipe_viewers') - // #region Electronics + // Electronics event.create('tfg:unfinished_electron_tube', 'create:sequenced_assembly') event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') @@ -17,540 +31,22 @@ const registerTFGItems = (event) => { event.create('tfg:unfinished_inscriber_accumulation_press') event.create('tfg:vitrified_pearl') event.create('tfg:cryo_fluix_pearl') - .translationKey('tfg:cryo_fluix_pearl') - // #endregion - - // #region Space - - // Orbit dimension markers - event.create('tfg:marker/earth_orbit').tag('c:hidden_from_recipe_viewers') - event.create('tfg:marker/moon_orbit').tag('c:hidden_from_recipe_viewers') - event.create('tfg:marker/mars_orbit').tag('c:hidden_from_recipe_viewers') - event.create('tfg:marker/venus_orbit').tag('c:hidden_from_recipe_viewers') - event.create('tfg:marker/mercury_orbit').tag('c:hidden_from_recipe_viewers') - event.create('tfg:marker/glacio_orbit').tag('c:hidden_from_recipe_viewers') - - global.AD_ASTRA_WOOD.forEach(wood => { - event.create(`tfg:wood/lumber/${wood.name}`) - .translationKey(`item.tfg.${wood.name}_lumber`) - .tag('tfc:lumber') - }) - // #endregion - - // #region Paper making - event.create('tfg:hardwood_strip') - .translationKey('item.tfg.hardwood_strip') - - event.create('tfg:soaked_hardwood_strip') - .translationKey('item.tfg.soaked_hardwood_strip') - - event.create('tfg:soaked_unrefined_paper') - .translationKey('item.tfg.soaked_unrefined_paper') - - event.create('tfg:terra_firma_greg') - .translationKey('item.tfg.terra_firma_greg') - .tag('c:hidden_from_recipe_viewers') - - //#region chalk creation - event.create('tfg:unfired_chalk') - .translationKey('item.tfg.unfired_chalk') - - Color.DYE.forEach((dyeName, dye) => { - event.create(`tfg:wet_${dyeName}_chalk`) - .translationKey(`item.tfg.wet_${dyeName}_chalk`) - .textureJson({ - layer0: 'tfg:item/unfired_chalk' - }) - .color(0, dye.getHexJS()); - }); - //#endregion - - - // #region Molds - global.TFG_EXTRUDER_MOLDS.forEach(id => event.create(id)) - - global.TFG_CASTING_MOLDS.forEach(id => event.create(id)) - // #endregion - - // #region Stone bricks and dusts - event.create('tfg:brick/deepslate') - .tag(`tfc:metamorphic_items`) - .translationKey('item.tfg.brick.deepslate') - - event.create('tfg:brick/dripstone') - .tag(`tfc:sedimentary_items`) - .translationKey('item.tfg.brick.dripstone') - - event.create('tfg:brick/moon_stone') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.brick.moon_stone') - - event.create('tfg:brick/moon_deepslate') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.moon_deepslate') - - event.create('tfg:brick/mars_stone') - .tag(`tfc:sedimentary_items`) - .translationKey('item.tfg.brick.mars_stone') - - event.create('tfg:brick/venus_stone') - .tag(`tfc:igneous_extrusive_items`) - .translationKey('item.tfg.brick.venus_stone') - - event.create('tfg:brick/mercury_stone') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.brick.mercury_stone') - - event.create('tfg:brick/glacio_stone') - .tag(`tfc:igneous_extrusive_items`) - .translationKey('item.tfg.brick.glacio_stone') - - event.create('tfg:brick/permafrost') - .translationKey('item.tfg.brick.permafrost') - - event.create('tfg:brick/red_granite') - .tag(`tfc:igneous_intrusive_items`) - .translationKey('item.tfg.red_granite') - - // #endregion - - // #region Primitive rubber gloves - event.create('tfg:prepared_leather_gloves') - .translationKey('item.tfg.prepared_leather_gloves') - - event.create('tfg:latex_soaked_gloves') - .translationKey('item.tfg.latex_soaked_gloves') - // #endregion - - //#region Medicine - - const pill = [ - 'haste', - 'night_vision', - 'poison', - 'regeneration', - 'slowness', - 'speed', - 'water_breathing', - 'weakness' - ] - const pill_names = [ - 'Haste', - 'Night Vision', - 'Poison', - 'Regeneration', - 'Slowness', - 'Speed', - 'Water Breathing', - 'Weakness' - ] - - pill.forEach((pill_array, index) => { - const pill_names_array = pill_names[index]; - - event.create(`tfg:${pill_array}_pill`) - .translationKey(`item.tfg.${pill_array}_pill`) - .tooltip(`§9${pill_names_array} (08:00)`) - - event.create(`tfg:${pill_array}_tablet`) - .translationKey(`item.tfg.${pill_array}_tablet`) - .tooltip(`§9${pill_names_array} (30:00)`) - }) - - event.create(`tfg:antipoison_pill`) - .translationKey(`item.tfg.antipoison_pill`) - .tooltip(`§9Cures Poison`) - - event.create(`tfg:antipoison_tablet`) - .translationKey(`item.tfg.antipoison_tablet`) - .tooltip(`§9Cures All Harmful Effects`) - - //salvos - - const salvo = [ - 'absorption', - 'fire_resistance', - 'invisibility', - 'luck', - 'resistance' - ] - const salvo_names = [ - 'Absorption', - 'Fire Resistance', - 'Invisibility', - 'Luck', - 'Resistance' - ] - - salvo.forEach((salvo_array, index) => { - const salvo_names_array = salvo_names[index]; - - event.create(`tfg:${salvo_array}_salvo`) - .translationKey(`item.tfg.${salvo_array}_salvo`) - .tooltip(`§9${salvo_names_array} (08:00)`) - }) - - event.create(`tfg:instant_health_salvo`) - .translationKey(`item.tfg.instant_health_salvo`) - .tooltip(`§9Instant Health II`) - //#endregion - - //#region Misc - event.create('tfg:paraffin_wax') - event.create('tfg:conifer_rosin') - event.create('tfg:foil_pack') - event.create('tfg:clean_foil_pack') - event.create('tfg:flint_club_head') event.create('tfg:uv_led') event.create('tfg:smd_uv_led') - event.create('tfg:twigs/strophar') - .tag('tfc:twigs') - .texture('tfg:item/wood/twig/strophar') - event.create('tfg:twigs/aeronos') - .tag('tfc:twigs') - .texture('tfg:item/wood/twig/aeronos') - event.create('tfg:twigs/glacian') - .tag('tfc:twigs') - .texture('tfg:item/wood/twig/glacian') - event.create('tfg:twigs/alphacene') - .tag('tfc:twigs') - .texture('tfg:item/wood/twig/alphacene') - - event.create('tfg:cobalt_brass_wheel') - .translationKey('item.tfg.cobalt_brass_wheel') - //#endregion - - //#region Cloth & String - event.create('tfg:polycaprolactam_fabric') - .translationKey('item.tfg.polycaprolactam_fabric') - - event.create('tfg:polycaprolactam_string') - .translationKey('item.tfg.polycaprolactam_string') - - event.create('tfg:phantom_silk') - .translationKey('item.tfg.phantom_silk') - - event.create('tfg:phantom_thread') - .translationKey('item.tfg.phantom_thread') - - event.create('tfg:space_suit_fabric') - .translationKey('item.tfg.space_suit_fabric') - //#endregion - - //#region Tools - event.create('tfg:flint_arrow_head') - .translationKey('item.tfg.flint_arrow_head') - - event.create('tfg:fletching') - .translationKey('item.tfg.fletching') - - event.create('tfg:armor_stand_arms') - .translationKey('item.tfg.armor_stand_arms') - - event.create('tfg:harvest_basket') - .translationKey('item.tfg.harvest_basket') - .parentModel('tfg:item/harvest_basket') - .maxDamage(128) - - event.create('tfg:aluminium_harvest_basket') - .translationKey('item.tfg.aluminium_harvest_basket') - .parentModel('tfg:item/aluminium_harvest_basket') - .unstackable() - - event.create('tfg:stainless_steel_needle') - .translationKey('item.tfg.stainless_steel_needle') - .unstackable() - .maxDamage(9999) - - //Fishing Nets - event.create('tfg:fishing_net/wood') - .translationKey('item.tfg.fishing_net.wood') - .parentModel('tfg:item/fishing_nets/wood_fishing_net') - .texture('tfg:item/fishing_nets/wood_fishing_net') - .maxDamage(112) - - event.create('tfg:fishing_net/brass') - .translationKey('item.tfg.fishing_net.brass') - .parentModel('tfg:item/fishing_nets/brass_fishing_net') - .texture('tfg:item/fishing_nets/brass_fishing_net') - .maxDamage(326) - - event.create('tfg:fishing_net/rose_gold') - .translationKey('item.tfg.fishing_net.rose_gold') - .parentModel('tfg:item/fishing_nets/rose_gold_fishing_net') - .texture('tfg:item/fishing_nets/rose_gold_fishing_net') - .maxDamage(380) - - event.create('tfg:fishing_net/sterling_silver') - .translationKey('item.tfg.fishing_net.sterling_silver') - .parentModel('tfg:item/fishing_nets/sterling_silver_fishing_net') - .texture('tfg:item/fishing_nets/sterling_silver_fishing_net') - .maxDamage(380) - - event.create('tfg:fishing_net/invar') - .translationKey('item.tfg.fishing_net.invar') - .parentModel('tfg:item/fishing_nets/invar_fishing_net') - .texture('tfg:item/fishing_nets/invar_fishing_net') - .maxDamage(740) - - event.create('tfg:fishing_net/tin_alloy') - .translationKey('item.tfg.fishing_net.tin_alloy') - .parentModel('tfg:item/fishing_nets/tin_alloy_fishing_net') - .texture('tfg:item/fishing_nets/tin_alloy_fishing_net') - .maxDamage(710) - - event.create('tfg:fishing_net/cupronickel') - .translationKey('item.tfg.fishing_net.cupronickel') - .parentModel('tfg:item/fishing_nets/cupronickel_fishing_net') - .texture('tfg:item/fishing_nets/cupronickel_fishing_net') - .maxDamage(560) - - event.create('tfg:fishing_net/magnalium') - .translationKey('item.tfg.fishing_net.magnalium') - .parentModel('tfg:item/fishing_nets/magnalium_fishing_net') - .texture('tfg:item/fishing_nets/magnalium_fishing_net') - .maxDamage(1830) - - //#endregion - - //#region Immersive Aircraft Impl - event.create('tfg:scaffolding_frame') - .translationKey('item.tfg.scaffolding_frame') - - event.create('tfg:airship_hull') - .translationKey('item.tfg.airship_hull') - - event.create('tfg:airship_balloon') - .translationKey('item.tfg.airship_balloon') - - event.create('tfg:lv_aircraft_engine') - .translationKey('item.tfg.lv_aircraft_engine') - - event.create('tfg:hv_aircraft_engine') - .translationKey('item.tfg.hv_aircraft_engine') - - event.create('tfg:ev_aircraft_engine') - .translationKey('item.tfg.ev_aircraft_engine') - - event.create('tfg:black_steel_plated_airplane_propeller') - .translationKey('item.tfg.black_steel_plated_airplane_propeller') - - event.create('tfg:redblu_steel_plated_airplane_propeller') - .translationKey('item.tfg.redblu_steel_plated_airplane_propeller') - - event.create('tfg:stainless_steel_plated_airplane_propeller') - .translationKey('item.tfg.stainless_steel_plated_airplane_propeller') - - event.create('tfg:titanium_plated_airplane_propeller') - .translationKey('item.tfg.titanium_plated_airplane_propeller') - - event.create('tfg:redblu_steel_landing_gear') - .translationKey('item.tfg.redblu_steel_landing_gear') - - event.create('tfg:aluminium_landing_gear') - .translationKey('item.tfg.aluminium_landing_gear') - - event.create('tfg:stainless_steel_landing_gear') - .translationKey('item.tfg.stainless_steel_landing_gear') - - event.create('tfg:titanium_landing_gear') - .translationKey('item.tfg.titanium_landing_gear') - - event.create('tfg:redblu_steel_hull_reinforcement') - .translationKey('item.tfg.redblu_steel_hull_reinforcement') - - event.create('tfg:aluminium_hull_reinforcement') - .translationKey('item.tfg.aluminium_hull_reinforcement') - - event.create('tfg:stainless_steel_hull_reinforcement') - .translationKey('item.tfg.stainless_steel_hull_reinforcement') - - event.create('tfg:titanium_hull_reinforcement') - .translationKey('item.tfg.titanium_hull_reinforcement') - //#endregion - - //Tacz Helper Region - event.create('tfg:flintlock_mechanism') - .translationKey('item.tfg.flintlock_mechanism') - event.create('tfg:advanced_clockwork_mechanism') - .translationKey('item.tfg.advanced_clockwork_mechanism') - event.create('tfg:certus_mechanism') - .translationKey('item.tfg.certus_mechanism') - - event.create('tfg:small_bullet_casing') - .translationKey('tfg:small_bullet_casing') - event.create('tfg:shell_bullet_casing') - .translationKey('tfg:shell_bullet_casing') - event.create('tfg:large_bullet_casing') - .translationKey('tfg:large_bullet_casing') - event.create('tfg:nitrocellulose') - .translationKey('tfg:nitrocellulose') - //endregion - - //Tier2 Insulation - event.create('tfg:aes_wool') - .translationKey('tfg:aes_wool') - event.create('tfg:aes_compressed_wool') - .translationKey('tfg:aes_compressed_wool') - event.create('tfg:aes_insulation_sheet') - .translationKey('tfg:aes_insulation_sheet') - event.create('tfg:aes_insulation_roll') - .translationKey('tfg:aes_insulation_roll') - //endregion - - //Tier 2 Rocket Parts - event.create('tfg:rocket_fin_t2') - event.create('tfg:rocket_cone_t2') - //endregion - - //Tier 3 Insulation - event.create('tfg:aes_polyurethane') - event.create('tfg:mli_shielding') - event.create('tfg:silica_aerogel') - //endregion - - //Tier 3 Rocket Parts - event.create('tfg:rocket_fin_t3') - event.create('tfg:rocket_cone_t3') - event.create('tfg:elite_power_thruster') - - event.create('tfg:better_space_suit_fabric') - //endregion - - //#region Universal compost items - event.create('tfg:universal_compost_browns') - .tag('tfc:compost_browns_low') - - event.create('tfg:universal_compost_greens') - .tag('tfc:compost_greens_low') - //#endregion - - //#region Etched Diamond Etching Tip - event.create('tfg:etching_diamond_tip') - .translationKey("item.tfg.etching_diamond_tip") - //#endregion - - //#region Solar Panel - - event.create('tfg:photo_cell_t1') - .translationKey("item.tfg.basic.photovoltaic.cell") - .texture('tfg:item/photo_cell_t1') - //#endregion - - //#region Mars Animals - event.create('tfg:wraptor_sugar') - .tag('tfg:sugars') - .tag('tfg:haste_ingredients') - .tag('tfc:sweetener') - //#endregion - - //#region Flax Stuff - event.create('tfg:flax_waste') - .tag('tfc:scrapable') - event.create('tfg:flax_tow') - .tag('tfg:burlap_fiber') - .tag('tfc:compost_browns') - event.create('tfg:flax_line') - .tag('tfc:compost_browns_low') - event.create('tfg:linen_thread') - .tag('forge:string') - event.create('tfg:linen_cloth') - .tag('forge:cloth') - .tag('tfc:sewing_light_cloth') - - event.create('tfg:flax_bundle') - .tag('tfc:scrapable') - .translationKey('item.tfg.flax_bundle') - .texture('tfg:item/flax_bundle') - - event.create('tfg:bundled_scraped_flax') - .tag('tfc:scrapable') - .translationKey('item.tfg.bundled_scraped_flax') - .texture('tfg:item/bundled_scraped_flax') - - //#region Lab Equipment - - global.LAB_EQUIPMENT_CONTAINERS.forEach((item) => { - event.create(`tfg:${item.type}`, 'tfc:glass_bottle') - .fluidTagAccept('tfg:not_solid') - .capacity(item.capacity) - .translationKey(`item.tfg.lab_equipment.${item.type}`) - .tag('tfg:lab_equipment_containers') - .tag('tfc:fluid_item_ingredient_empty_containers') - .tag('tfc:glass_bottles') - }) - - event.create('tfg:lab_equipment') - .translationKey('item.tfg.lab_equipment.lab_equipment') - .tooltip(Text.translatable('tfg.tooltip.lab_equipment.set')) - - event.create('tfg:dirty_lab_equipment') - .translationKey('item.tfg.lab_equipment.dirty_lab_equipment') - .tooltip(Text.translatable('tfg.tooltip.lab_equipment.set_dirty')) - //#endregion - - // Empty Fission Rod - - event.create('tfg:empty_rod') - .translationKey('item.tfg.empty_road') - .texture('tfg:item/fuel_rod_empty') - .tag('tfg:fission_rods') - - event.create('tfg:refrigerant_pellet') - .translationKey('item.tfg.refrigerant_pellet') - .texture('tfg:item/refrigerant_pellet') - .tag('tfg:fission_coolant') - - // Moderator Line - - event.create('tfg:graphite_compound') - .translationKey('item.tfg.graphite_compound') - .texture('tfg:item/graphite_line/graphite_compound') - - event.create('tfg:raw_graphite_briquette') - .translationKey('item.tfg.raw_graphite_briquette') - .texture('tfg:item/graphite_line/raw_graphite_briquette') - - event.create('tfg:faulty_graphite_briquette') - .translationKey('item.tfg.faulty_graphite_briquette') - .texture('tfg:item/graphite_line/faulty_graphite_briquette') - - event.create('tfg:washed_graphite_briquette') - .translationKey('item.tfg.washed_graphite_briquette') - - event.create('tfg:pure_graphite_rod') - .translationKey('item.tfg.pure_graphite_rod') - .texture('tfg:item/graphite_line/pure_graphite_rod') - - event.create('tfg:impure_graphite_rod') - .translationKey('item.tfg.impure_graphite_rod') - .texture('tfg:item/graphite_line/impure_graphite_rod') - - event.create('tfg:annealed_graphite_rod') - .translationKey('item.tfg.annealed_graphite_rod') - - event.create('tfg:impure_annealed_graphite_rod') - .translationKey('item.tfg.impure_annealed_graphite_rod') - - event.create('tfg:graphite_moderator') - .translationKey('item.tfg.graphite_moderator') - .texture('tfg:item/graphite_line/graphite_moderator') - - event.create('tfg:impure_graphite_moderator') - .translationKey('item.tfg.impure_graphite_moderator') - .texture('tfg:item/graphite_line/impure_graphite_moderator') - - event.create('tfg:advanced_polymer_binder') - .translationKey('item.tfg.advanced_polymer_binder') - .texture('tfg:item/graphite_line/advanced_polymer_binder') - - //#region Bioline - - event.create('tfg:cellulose_matrix') - event.create('tfg:smooth_endoplasmic_reticula') - event.create('tfg:rough_endoplasmic_reticula') - event.create('tfg:alpha_keratin') - - //#endregion + // Molds + global.TFG_EXTRUDER_MOLDS.forEach(id => event.create(id)) + global.TFG_CASTING_MOLDS.forEach(id => event.create(id)) + + // Universal Circuits + event.create('tfg:ulv_universal_circuit') + event.create('tfg:lv_universal_circuit') + event.create('tfg:mv_universal_circuit') + event.create('tfg:hv_universal_circuit') + event.create('tfg:ev_universal_circuit') + event.create('tfg:iv_universal_circuit') + event.create('tfg:luv_universal_circuit') + event.create('tfg:zpm_universal_circuit') + event.create('tfg:uv_universal_circuit') + event.create('tfg:uhv_universal_circuit') } diff --git a/kubejs/startup_scripts/betterend/blocks.js b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js similarity index 69% rename from kubejs/startup_scripts/betterend/blocks.js rename to kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js index 49d5cf1fe..3043fc2ef 100644 --- a/kubejs/startup_scripts/betterend/blocks.js +++ b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js @@ -1,31 +1,6 @@ -// priority: 0 "use strict"; -function registerBetterEndBlocks(event) { - - // Moon - - event.create('betterend:chorus_lily', 'tfc:ground_cover') - .soundType('cherry_wood') - .hardness(0.5) - .tagItem('tfg:moon_plants') - .tagBlock('minecraft:mineable/hoe') - .tagBlock('tfg:do_not_destroy_in_space') - .mapColor('terracotta_white') - .box(0, 0, 0, 16, 6, 16) - .fullBlock(false) - .opaque(false) - .notSolid() - .renderType('cutout') - - // 1 block tall - createPlant(event, 'inflexia', 'moon') - createPlant(event, 'chorus_grass', 'moon') - createPlant(event, 'salteago', 'moon') - createPlant(event, 'vaiolush_fern', 'moon') - - - // Mars +function registerTFGWorldGenMarsDecoBlocks(event) { // 1 block tall createPlant(event, 'aeridium', 'mars') @@ -202,40 +177,74 @@ function registerBetterEndBlocks(event) { .tagBlock('tfg:do_not_destroy_in_space') .mapColor('color_orange') - // europa...? + // Ground cover - createPlant(event, 'crystal_grass', 'unused') - .box(3, 0, 3, 13, 12, 13) - createPlant(event, 'blooming_cooksonia', 'unused') - .box(3, 0, 3, 13, 12, 13) - createPlant(event, 'fracturn', 'unused') - .box(3, 0, 3, 13, 12, 13) - createPlant(event, 'jungle_grass', 'unused') - .box(3, 0, 3, 13, 12, 13) -} - -/** - * @param {any} event - * @param {string} id - * @param {string} planet - */ -function createPlant(event, id, planet) { - return event.create(`betterend:${id}`, 'tfg:decorative_plant') - .tagItem(`tfg:${planet}_plants`) - .tagBlock('minecraft:replaceable') - .tagBlock('tfg:do_not_destroy_in_space') + event.create('tfg:groundcover/glider_feather', 'tfc:ground_cover') + .box(4, 0, 4, 12, 2, 12) + .soundType('wool') + .groundCoverModelShape('feather') + .withPreexistingItem('wan_ancient_beasts:glider_feather') + .textureAll('wan_ancient_beasts:item/glider_feather') .tagBlock('tfc:can_be_snow_piled') -} -/** - * @param {any} event - * @param {string} id - * @param {string} planet - */ -function createWaterPlant(event, id, planet) { - return event.create(`betterend:${id}`, 'tfg:decorative_plant') - .tagItem(`tfg:${planet}_plants`) - .tagBlock('minecraft:replaceable') - .tagBlock('tfg:do_not_destroy_in_space') - .tagBlock('tfc:can_be_ice_piled') + event.create('tfg:groundcover/wraptor_feather', 'tfc:ground_cover') + .box(4, 0, 4, 12, 2, 12) + .soundType('wool') + .groundCoverModelShape('feather') + .withPreexistingItem('minecraft:feather') + .textureAll('tfg:item/wraptor_wool') + .tagBlock('tfc:can_be_snow_piled') + + event.create('tfg:groundcover/aeronos_stick', 'tfc:ground_cover') + .box(3, 0, 3, 13, 3, 13) + .groundCoverModelShape('twig') + .withPreexistingItem('tfg:twigs/aeronos') + .tagBlock('tfc:can_be_snow_piled') + .texture('particle', 'ad_astra:block/aeronos_stem') + .texture('all', 'ad_astra:block/aeronos_stem') + .texture('top', 'ad_astra:block/aeronos_stem_inside') + + event.create('tfg:groundcover/strophar_stick', 'tfc:ground_cover') + .box(3, 0, 3, 13, 3, 13) + .groundCoverModelShape('twig') + .withPreexistingItem('tfg:twigs/strophar') + .tagBlock('tfc:can_be_snow_piled') + .texture('particle', 'ad_astra:block/strophar_stem') + .texture('all', 'ad_astra:block/strophar_stem') + .texture('top', 'ad_astra:block/strophar_stem_inside') + + event.create('tfg:groundcover/glacian_stick', 'tfc:ground_cover') + .box(3, 0, 3, 13, 3, 13) + .groundCoverModelShape('twig') + .withPreexistingItem('tfg:twigs/glacian') + .tagBlock('tfc:can_be_snow_piled') + .texture('particle', 'ad_astra:block/glacian_log') + .texture('all', 'ad_astra:block/glacian_log') + .texture('top', 'ad_astra:block/glacian_log_top') + + event.create('tfg:groundcover/alphacene_stick', 'tfc:ground_cover') + .box(3, 0, 3, 13, 3, 13) + .groundCoverModelShape('twig') + .withPreexistingItem('tfg:twigs/alphacene') + .tagBlock('tfc:can_be_snow_piled') + .texture('particle', 'species:block/alphacene_mushroom_block') + .texture('all', 'species:block/alphacene_mushroom_block') + .texture('top', 'minecraft:block/mushroom_stem') + + // Misc + + event.create('tfg:spice', 'tfg:particle_emitter') + .textureAll('tfg:block/sand_spice') + .soundType('sand') + .hardness(2) + .resistance(6) + // makes it invisible on xaeros, so people can't use it to find the deposits :) + .mapColor('none') + .particleOffset(0.3, 1.5, 0.3) + .particleVelocity(0, 0.05, 0) + .particle('electric_spark') + .particleCount(2) + .particleForced(false) + .fullBlock(true) + .opaque(true) } \ No newline at end of file diff --git a/kubejs/startup_scripts/betterend/items.js b/kubejs/startup_scripts/tfg/mars/items.mars.js similarity index 88% rename from kubejs/startup_scripts/betterend/items.js rename to kubejs/startup_scripts/tfg/mars/items.mars.js index 3c23730ef..5460fe4f6 100644 --- a/kubejs/startup_scripts/betterend/items.js +++ b/kubejs/startup_scripts/tfg/mars/items.mars.js @@ -1,11 +1,7 @@ -// priority: 0 "use strict"; -/** - * - * @param {Registry.Item} event - */ -function registerBetterEndItems(event) { +function registerTFGMarsItems(event) { + event.create('betterend:bolux_mushroom_cooked') .food(food => { food.hunger(2) @@ -35,4 +31,5 @@ function registerBetterEndItems(event) { food.hunger(5) food.saturation(2) }) + } \ 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 new file mode 100644 index 000000000..e03e5dc76 --- /dev/null +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -0,0 +1,105 @@ +"use strict"; + +function registerTFGMarsMaterials(event) { + + event.create('liquid_carbon_dioxide') + .liquid(100) //Not realistic but I want it to be cryogenic + .components('1x carbon', '2x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xDBFBFF) + + // Mars Ore Line + + event.create('lightweight_ostrum_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(760)) + + event.create('ostrum_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(815)) + + event.create('dense_ostrum_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(930)) + + event.create('residual_radioactive_concoction') + .liquid(new GTFluidBuilder().customStill().temperature(450)) + + // Atmosphere + + event.create('tfg:mars_air') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(208)) + .color('0xD08957') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('94x carbon_dioxide', '3x nitrogen', '2x argon', '1x oxygen') + + // TODO: move neon and xenon somewhere else + event.create('tfg:liquid_mars_air') + .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(58)) + .color('0xD08957') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('80x carbon_dioxide', '7x nitrogen', '5x argon', '3x oxygen', '1x neon', '1x krypton', '1x xenon') + + // Mars sap + + event.create('tfg:crimsene') + .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(220)) + .gem() + .iconSet('lapis') + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0xB12727) + .secondaryColor(0x562C3E) + + event.create('tfg:warpane') + .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(220)) + .gem() + .iconSet('quartz') + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .color(0x45ABA9) + .secondaryColor(0x562C3E) + + event.create('tfg:mycelienzene') + .dust() + .color(0x9E7385) + + event.create('tfg:cooked_mycelienzane') + .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(1830)) + .color(0x9E7385) + + event.create('tfg:iodomethane') + .liquid() + .components('1x carbon', '3x hydrogen', '1x iodine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xAC45C6) + + event.create('tfg:trideuteroiodomethane') + .liquid() + .components('1x carbon', '3x deuterium', '1x iodine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xDD9DED) + + // Ores + + event.create('ostrum') + .components('2x pitchblende', '1x tricalcium_phosphate', '1x bauxite', '1x silver', '1x beryllium') + .color(0xbd7980) + .secondaryColor(0xA66C8D) + .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) + .ingot() + .liquid() + .blastTemp(3700, 'mid', GTValues.VA[GTValues.EV]) + .flags( + GTMaterialFlags.DISABLE_DECOMPOSITION, + GTMaterialFlags.FORCE_GENERATE_BLOCK, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_FRAME, + GTMaterialFlags.DISABLE_ALLOY_BLAST + ) + + event.create("ostrum_iodide") + .ingot() + .components('2x ostrum', 'iodine') + .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) + .iconSet(GTMaterialIconSet.BRIGHT) + .flags(GTMaterialFlags.GENERATE_GEAR) + .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 b3cf42ebb..0682eee71 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -7,128 +7,19 @@ const registerTFGMaterials = (event) => { .color('0xFFFFFF') .formula('?') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + registerTFGPowerReworkMaterials(event); + registerTFGNuclearMaterials(event); + registerTFGBiolineMaterials(event); + registerTFGPrimitiveMaterials(event); + registerTFGRockMaterials(event); - event.create('hardwood') - .dust() - .flags(GTMaterialFlags.FLAMMABLE) - .iconSet(GTMaterialIconSet.WOOD) - .color('0x7a5225') - .secondaryColor('0x7a5225') + registerTFGRocketMaterials(event); + registerTFGMoonMaterials(event); + registerTFGMarsMaterials(event); + registerTFGVenusMaterials(event); + registerTFGEuropaMaterials(event); - event.create('thermochemically_treated_hardwood') - .dust() - .flags(GTMaterialFlags.FLAMMABLE) - .iconSet(GTMaterialIconSet.WOOD) - .color('0x52482c') - .secondaryColor('0x52482c') - - // Important tags to add to fluids: - // tfc:usable_in_pot, tfc:usable_in_barrel, tfc:usable_in_wooden_bucket - - event.create('tfg:latex') - .liquid() - .color(0xFBB982) - - event.create('tfg:vulcanized_latex') - .liquid() - .color(0xc79973) - - event.create('tfg:conifer_pitch') - .liquid() - .color(0xfbdf82) - .secondaryColor(0xff9d2e) - - // Ores - - event.create('tarkianite') - .ore() - .components('1x copper', '1x iron', '4x rhenium', '4x molybdenum', '8x sulfur') - .color(0x8bb054) - .secondaryColor(0x3d8021) - .iconSet(GTMaterialIconSet.getByName('tfc_emerald')) - .addOreByproducts('sulfur', 'rhenium', 'molybdenum') - - // Cooking - - event.create('lactose') - .dust() - .iconSet(GTMaterialIconSet.FINE) - .color('0xede8da') - .secondaryColor('0xeddcad') - .components('12x carbon', '22x hydrogen', '11x oxygen') - - // Used as a TFC aluminium substitute so you can't make actual aluminium ingots early - event.create('aluminium_silicate') - .dust() - .ingot() - .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(1520)) - .components('2x aluminium', '1x silicon', '5x oxygen') - .iconSet('metallic') - .color(0xB6D3FF) - .secondaryColor(0x6F4AB3) - - // Space Rocket Materials - - event.create('rocket_alloy_t1') - .ingot() - .components('6x aluminium', '2x stainless_steel', '1x red_steel') - .color(0x333e47) - .iconSet('metallic') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) - .blastTemp(1760, 'low', 256, 900) - - event.create('rocket_alloy_t2') - .ingot() - .components('19x titanium', '4x vanadium', '3x aluminium', '3x chromium', '3x tin') - .color(0x3c253d) - .iconSet('metallic') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.DISABLE_ALLOY_BLAST) - .blastTemp(3200, 'mid', 1024, 1100) - .liquid() - -/* event.create('rocket_alloy_t3') - .ingot() - .components('8x titanium', '9x tungsten_steel', '2x tantalum', '2x radon') - .color(0x6c678b) - //.secondaryColor(0xa59fc6) - .liquid() - .removeHazard() - .iconSet('metallic') - .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) - .blastTemp(4200, 'high', 4096, 1300) - */ - event.create('vitrified_asbestos') - .dust() - .fluid() - .iconSet('glass') - .color(0xcccccc) - - // Space suit gases (these all add up to 10B of components = 1B of space suit gas) - - event.create('tfg:compressed_nitrox') - .gas() - .components('8x nitrogen', '2x oxygen') - .color(0xaef5ef) - - event.create('tfg:compressed_heliox') - .gas() - .components('8x helium', '2x oxygen') - .color(0xf5eeb3) - - event.create('tfg:compressed_heliox_3') - .gas() - .components('8x helium_3', '2x oxygen') - .color(0xf5ea90) - - event.create('tfg:compressed_trimix') - .gas() - .components('5x nitrogen', '3x oxygen', '2x helium') - .color(0xc3fab9) - - event.create('tfg:compressed_trimix_3') - .gas() - .components('5x nitrogen', '3x oxygen', '2x helium_3') - .color(0xa3ed95) // Refrigerants @@ -152,25 +43,8 @@ const registerTFGMaterials = (event) => { .components('2x carbon', '2x hydrogen', '4x fluorine') .color(0x46702e) - // Fission Component - - event.create('tfg:tetrafluoroethane') - .fluid() - .gem() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.QUARTZ) - .components('2x carbon', '2x hydrogen', '4x fluorine') - .color(0x46702e) - // Crafting components - event.create('tfg:kaolinite') - .dust() - .components('2x aluminium', '2x silicon', '9x oxygen', '4x hydrogen') - .color(0xEEB9AD) - .secondaryColor(0xF6A797) - .formula("Al2Si2O5(OH)4") - event.create('tfg:vitrified_pearl') .dust() .flags(GTMaterialFlags.DECOMPOSITION_BY_CENTRIFUGING) @@ -179,250 +53,6 @@ const registerTFGMaterials = (event) => { .secondaryColor(0x67FFE6) .formula("(Al2Si2O5(OH)4)(BeK4N5)") - //#region Solar Panel Chemicals - - event.create('tfg:chloryl_fluoride') - .gas() - .components('1x fluorine', '1x chlorine', '2x oxygen') - .color(0x8AFAF4) - - event.create('tfg:chlorine_pentafluoride') - .gas() - .components('5x fluorine', '1x chlorine') - .color(0x51F7C0) - - event.create('tfg:solar_coolant') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(163)) - .components('8x helium_3', '11x oxygen', '11x hydrogen') - .color(0xEDFFB3) - - event.create('tfg:solar_coolant_tier2') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(73)) - .components('8x tfg:solar_coolant', '1x argon') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xfeff5d) - - - event.create('liquid_carbon_dioxide') - .liquid(100) //Not realistic but I want it to be cryogenic - .components('1x carbon', '2x oxygen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xDBFBFF) - - //#region Rockwool - event.create('tfg:aes_mix') - .dust() - .flags(GTMaterialFlags.DECOMPOSITION_BY_CENTRIFUGING) - .components('5x silicon_dioxide', '4x quicklime', '1x magnesia') - .hazard(HazardProperty.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.CHEMICAL_BURNS) - .color(0xE0E9E4) - //.secondaryColor(0x54483d) - event.create('tfg:molten_aes') - .liquid(2900) - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .components('5x silicon_dioxide', '4x quicklime', '1x magnesia') - .color(0xe65609) - .secondaryColor(0xe65609) - //#endregion - - //#region Ammonia Borane - event.create('tfg:sodium_hydride') - .dust() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('1x sodium', '1x hydrogen') - .color(0xEDF5F3) - event.create('tfg:boric_acid') - .dust() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('3x hydrogen', '1x boron', '3x oxygen') - .color(0xDFEDDF) - .secondaryColor(0xDFEDDF) - event.create('tfg:trimethyl_borate') - .liquid() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('3x carbon', '9x hydrogen', '1x boron', '3x oxygen') - .color(0xF7F7F7) - event.create('tfg:sodium_borohydride') - .dust() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('1x sodium', '1x boron', '4x hydrogen') - .color(0xE8F1FF) - .secondaryColor(0xE8F1FF) - event.create('tfg:sodium_methoxide') - .dust() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('1x sodium', '1x oxygen', '1x carbon', '3x hydrogen') - .color(0xE8E5DF) - .secondaryColor(0xE8E5DF) - event.create('tfg:ammonia_borane') - .dust() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING, GTMaterialFlags.GENERATE_PLATE) - .components('1x ammonia', '1x boron', '3x hydrogen') - .color(0xCCE3E3) - .secondaryColor(0xCCE3E3) - //#endregion - - //#region polyurethane - event.create('tfg:aniline') - .liquid() - .components('6x carbon', '5x hydrogen', '1x nitrogen', '2x hydrogen') - .color(0xBAB999) - event.create('tfg:dimethyl_carbonate') - .liquid() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('3x formaldehyde') // CH2O - .color(0xFFFFF2) - event.create('tfg:methyl_phenylcarbamate') - .liquid() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('8x carbon','9x hydrogen','1x nitrogen', '2x oxygen') - .color(0xB4EDB4) - event.create('tfg:methylene_diphenyl_dicarbamate') - .liquid() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('17x carbon','18x hydrogen','2x nitrogen', '4x oxygen') - .color(0x69C2C1) - event.create('tfg:methylene_diphenyl_diisocyanate') - .dust() - .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) - .components('13x carbon','10x hydrogen','2x nitrogen', '2x oxygen') - .color(0xFFFFBA) - //#endregion - - //#region aerogel - event.create('tfg:tmos') - .liquid() - .formula("Si(OCH3)4") - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xC2C6CC) - event.create('tfg:silica_gel') - .liquid() - .color(0x60BABF) - .secondaryColor(0xFFD38C) - event.create('tfg:soaked_silica_gel') - .liquid() - .color(0x9ED5D9) - //#endregion - - //#region Bromine Line - - event.create('raw_brine') - .fluid() - .color(0x947a11) - //.secondaryColor(0x81FFF9) - - event.create('hot_brine') - .liquid(320) - .color(0x944611) - - event.create('hot_chlorinated_brominated_brine') - .liquid(320) - .color(0xbf8d5a) - .components('1x unknown', '1x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('brominated_chlorine_vapor') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) - .color(0xbf8d5a) - .components('1x chlorine', '1x bromine', '1x water') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('acidic_bromine_solution') - .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) - .color(0xe7b989) - .components('1x chlorine', '1x bromine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('concentrated_bromine_solution') - .liquid() - .color(0x905d29) - .components('1x bromine', '1x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('debrominated_brine') - .liquid() - .color(0xc3874a) - - event.create('acidic_bromine_exhaust') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(293)) - .color(0xec9c4a) - .components('3x water', '1x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('hot_alkaline_debrominated_brine') - .liquid() - .color(0xcc6a06) - .components('2x unknown', '1x chlorine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - - event.create('hot_debrominated_brine') - .liquid(320) - .color(0xb08e6b) - - event.create('hydrogen_iodide') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(293)) - .color(0x82a6ce) - .components('1x hydrogen', '1x iodine') - - //#endregion - - //#region Mars Ore Line - - event.create('lightweight_ostrum_vapor') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(760)) - - event.create('ostrum_vapor') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(815)) - - event.create('dense_ostrum_vapor') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(930)) - - event.create('residual_radioactive_concoction') - .liquid(new GTFluidBuilder().customStill().temperature(450)) - - //#endregion - - //#region Moon Ore Line - - event.create('regolith_vapor') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(727)) - - event.create('tfg:certus_regolith') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .iconSet(GTMaterialIconSet.CERTUS) - .color('0xc1e6e4') - .secondaryColor('0x7a5225') - - event.create('tfg:goethe_regolith') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .iconSet(GTMaterialIconSet.METALLIC) - .color('0xb0af5b') - .secondaryColor('0x7a5225') - - event.create('tfg:bright_regolith') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .iconSet(GTMaterialIconSet.SHINY) - .color('0xf0efe9') - .secondaryColor('0xffffff') - - event.create('tfg:cassiterite_regolith') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .iconSet(GTMaterialIconSet.METALLIC) - .color('0xbab6b7') - .secondaryColor('0x7a5225') - - event.create('tfg:regolith_mush') - .dust() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .iconSet(GTMaterialIconSet.WOOD) - .color('0xa2cde0') - .secondaryColor('0x7a5225') - - //#endregion //#region Tungsten Line @@ -456,23 +86,6 @@ const registerTFGMaterials = (event) => { // #endregion - // #region Atmospheres - - event.create('tfg:mars_air') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(208)) - .color('0xD08957') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .components('94x carbon_dioxide', '3x nitrogen', '2x argon', '1x oxygen') - - // TODO: move neon and xenon somewhere else - event.create('tfg:liquid_mars_air') - .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(58)) - .color('0xD08957') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .components('80x carbon_dioxide', '7x nitrogen', '5x argon', '3x oxygen', '1x neon', '1x krypton', '1x xenon') - - // #endregion - //#region New Alloy for Turbines event.create('tfg:tungsten_bismuth_oxide_composite') @@ -495,46 +108,6 @@ const registerTFGMaterials = (event) => { // #endregion - // #region Mars sap - - event.create('tfg:crimsene') - .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(220)) - .gem() - .iconSet('lapis') - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .color(0xB12727) - .secondaryColor(0x562C3E) - - event.create('tfg:warpane') - .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(220)) - .gem() - .iconSet('quartz') - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) - .color(0x45ABA9) - .secondaryColor(0x562C3E) - - event.create('tfg:mycelienzene') - .dust() - .color(0x9E7385) - - event.create('tfg:cooked_mycelienzane') - .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(1830)) - .color(0x9E7385) - - event.create('tfg:iodomethane') - .liquid() - .components('1x carbon', '3x hydrogen', '1x iodine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xAC45C6) - - event.create('tfg:trideuteroiodomethane') - .liquid() - .components('1x carbon', '3x deuterium', '1x iodine') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xDD9DED) - - // #endregion - // #region conductor event.create('tfg:thermally_conductive_fluid') .liquid() @@ -612,33 +185,4 @@ const registerTFGMaterials = (event) => { .flags(GTMaterialFlags.GENERATE_PLATE) // #endregion - - //#region Food Materials(?) - - event.create('tfg:sodium_dihydrogen_citrate') - .dust() - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.BRIGHT) - .components('6x carbon', '7x hydrogen', '1x sodium', '7x oxygen') - .color('0xE38818') - - event.create('tfg:citric_acid') - .dust() - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.SHINY) - .components('6x carbon', '8x hydrogen', '7x oxygen') - .color('0xE3AD18') - - // I decided to make these materials because why not? - event.create('tfg:rich_stock') - .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); - - event.create('tfg:light_stock') - .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); - - event.create('tfg:brown_gravy') - .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); - - //#endregion - } diff --git a/kubejs/startup_scripts/tfg/materials.power_rework.js b/kubejs/startup_scripts/tfg/materials.power_rework.js index bace22a6d..254efef25 100644 --- a/kubejs/startup_scripts/tfg/materials.power_rework.js +++ b/kubejs/startup_scripts/tfg/materials.power_rework.js @@ -1,54 +1,54 @@ - // priority: 0 +// priority: 0 "use strict"; const registerTFGPowerReworkMaterials = (event) => { -// Syngas -event.create('tfg:syngas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(650)) - .components('11x carbon', '20x hydrogen', '12x oxygen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x7da6c2) - .secondaryColor(0xcfe3ee) + // Syngas + event.create('tfg:syngas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(650)) + .components('11x carbon', '20x hydrogen', '12x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x7da6c2) + .secondaryColor(0xcfe3ee) -// Raw Aromatic Mix -event.create('tfg:raw_aromatic_mix') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(420)) - .components('137x carbon', '154x hydrogen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x8a4b3d) - .secondaryColor(0xd8b6ac) + // Raw Aromatic Mix + event.create('tfg:raw_aromatic_mix') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(420)) + .components('137x carbon', '154x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x8a4b3d) + .secondaryColor(0xd8b6ac) -// Aromatic Feedstock -event.create('tfg:aromatic_feedstock') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(450)) - .components('67x carbon', '74x hydrogen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x915c2f) - .secondaryColor(0xe2c49b) + // Aromatic Feedstock + event.create('tfg:aromatic_feedstock') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(450)) + .components('67x carbon', '74x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x915c2f) + .secondaryColor(0xe2c49b) -// Reformed Aromatic Feedstock -event.create('tfg:reformed_aromatic_feedstock') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) - .components('133x carbon', '146x hydrogen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x4e6b83) - .secondaryColor(0xbacdde) + // Reformed Aromatic Feedstock + event.create('tfg:reformed_aromatic_feedstock') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) + .components('133x carbon', '146x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x4e6b83) + .secondaryColor(0xbacdde) -// Reformate Gas -event.create('tfg:reformate_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) - .components('13x carbon', '63x hydrogen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x6c7f4e) - .secondaryColor(0xc7d8b1) + // Reformate Gas + event.create('tfg:reformate_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) + .components('13x carbon', '63x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x6c7f4e) + .secondaryColor(0xc7d8b1) -// Cracker Off-Gas -event.create('tfg:cracker_off_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(480)) - .components('31x carbon', '128x hydrogen', '2x oxygen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xa36f2a) - .secondaryColor(0xecd8ae) + // Cracker Off-Gas + event.create('tfg:cracker_off_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(480)) + .components('31x carbon', '128x hydrogen', '2x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xa36f2a) + .secondaryColor(0xecd8ae) } diff --git a/kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js b/kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js new file mode 100644 index 000000000..0cd4d8935 --- /dev/null +++ b/kubejs/startup_scripts/tfg/moon/blocks.moon_deco.js @@ -0,0 +1,53 @@ +"use strict"; + +function registerTFGWorldGenMoonDecoBlocks(event) { + + // Moon + + event.create('tfg:lunar_roots', 'tfg:decorative_plant') + .soundType('nether_wart') + .lightLevel(0.4) + .tagItem('tfg:moon_plants') + .tagBlock('minecraft:replaceable') + + event.create('tfg:lunar_sprouts', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfg:moon_plants') + .tagBlock('minecraft:replaceable') + + event.create('betterend:chorus_lily', 'tfc:ground_cover') + .soundType('cherry_wood') + .hardness(0.5) + .tagItem('tfg:moon_plants') + .tagBlock('minecraft:mineable/hoe') + .tagBlock('tfg:do_not_destroy_in_space') + .mapColor('terracotta_white') + .box(0, 0, 0, 16, 6, 16) + .fullBlock(false) + .opaque(false) + .notSolid() + .renderType('cutout') + + // 1 block tall + createPlant(event, 'inflexia', 'moon') + createPlant(event, 'chorus_grass', 'moon') + createPlant(event, 'salteago', 'moon') + createPlant(event, 'vaiolush_fern', 'moon') + + + // Mars + + + + // europa...? + + createPlant(event, 'crystal_grass', 'unused') + .box(3, 0, 3, 13, 12, 13) + createPlant(event, 'blooming_cooksonia', 'unused') + .box(3, 0, 3, 13, 12, 13) + createPlant(event, 'fracturn', 'unused') + .box(3, 0, 3, 13, 12, 13) + createPlant(event, 'jungle_grass', 'unused') + .box(3, 0, 3, 13, 12, 13) +} + diff --git a/kubejs/startup_scripts/tfg/moon/materials.moon.js b/kubejs/startup_scripts/tfg/moon/materials.moon.js new file mode 100644 index 000000000..24722152d --- /dev/null +++ b/kubejs/startup_scripts/tfg/moon/materials.moon.js @@ -0,0 +1,98 @@ +"use strict"; + +function registerTFGMoonMaterials(event) { + + // Solar Panel Chemicals + + event.create('tfg:chloryl_fluoride') + .gas() + .components('1x fluorine', '1x chlorine', '2x oxygen') + .color(0x8AFAF4) + + event.create('tfg:chlorine_pentafluoride') + .gas() + .components('5x fluorine', '1x chlorine') + .color(0x51F7C0) + + event.create('tfg:solar_coolant') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(163)) + .components('8x helium_3', '11x oxygen', '11x hydrogen') + .color(0xEDFFB3) + + event.create('tfg:solar_coolant_tier2') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(73)) + .components('8x tfg:solar_coolant', '1x argon') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xfeff5d) + + // Moon Ore Line + + event.create('regolith_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(727)) + + event.create('tfg:certus_regolith') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .iconSet(GTMaterialIconSet.CERTUS) + .color('0xc1e6e4') + .secondaryColor('0x7a5225') + + event.create('tfg:goethe_regolith') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .iconSet(GTMaterialIconSet.METALLIC) + .color('0xb0af5b') + .secondaryColor('0x7a5225') + + event.create('tfg:bright_regolith') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .iconSet(GTMaterialIconSet.SHINY) + .color('0xf0efe9') + .secondaryColor('0xffffff') + + event.create('tfg:cassiterite_regolith') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .iconSet(GTMaterialIconSet.METALLIC) + .color('0xbab6b7') + .secondaryColor('0x7a5225') + + event.create('tfg:regolith_mush') + .dust() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES) + .iconSet(GTMaterialIconSet.WOOD) + .color('0xa2cde0') + .secondaryColor('0x7a5225') + + // Ores + + event.create('armalcolite') + .gem(2) + .components('1x magnesium', '1x rutile', '1x ilmenite') + .color(0x443333) + .secondaryColor(0x5e2c21) + .iconSet(GTMaterialIconSet.getByName('tfc_emerald')) + .ore() + .addOreByproducts('rutile', 'rutile', 'ilmenite') + + event.create('desh') + .components('2x olivine', '1x rutile', '4x nitrogen') + .color(0xF39A4C) + .secondaryColor(0xF35A6C) + .iconSet(GTMaterialIconSet.getByName('tfc_hematite')) + .ore() + .addOreByproducts('olivine', 'rutile', 'rutile') + .ingot() + .liquid() + .blastTemp(2800, 'mid', GTValues.VA[GTValues.HV]) + .flags( + GTMaterialFlags.FORCE_GENERATE_BLOCK, + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_DENSE, + GTMaterialFlags.GENERATE_GEAR, + GTMaterialFlags.GENERATE_FRAME, + GTMaterialFlags.DISABLE_ALLOY_BLAST + ) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js new file mode 100644 index 000000000..e1a5954ae --- /dev/null +++ b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js @@ -0,0 +1,118 @@ +"use strict"; + +function registerTFGNuclearBlocks(event) { + + // Insulation + event.create('tfg:glacian_wool_frame') + .soundType('copper') + .hardness(4) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + + event.create('tfg:aes_insulation_frame') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + + event.create('tfg:moderate_core_frame') + .soundType('copper') + .hardness(4) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + + event.create('tfg:impure_moderate_core_frame') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + + // Unfinished Insulation + event.create('tfg:moderate_core') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .model('tfg:block/fission/moderate_core') + + event.create('tfg:impure_moderate_core') + .soundType('ancient_debris') + .hardness(7) + .resistance(8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .model('tfg:block/fission/impure_moderate_core') + + // Nuclear cooling tower + event.create('tfg:titanium_exhaust_vent', 'tfg:active_particle_emitter') + .textureAll('tfg:block/titanium_exhaust_vent') + .soundType('metal') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_black') + .speedFactor(1.1) + .activeOffset(3.5, 2, 3.5) + .activeVelocity(0.0, 0.0, 0.0) + .activeParticle('tfg:cooling_steam') + .activeBase(0.0, 12.5, 0.0) + .activeCount(8) + .activeForced(false) + .hasTicker(true) + + event.create('tfg:titanium_concrete') + .translationKey('block.tfg.titanium_concrete') + .model('tfg:block/concrete/titanium_concrete') + .soundType('stone') + .mapColor('stone') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:titanium_concrete') + + event.create('tfg:polished_titanium_concrete') + .translationKey('block.tfg.polished_titanium_concrete') + .model('tfg:block/concrete/polished_titanium_concrete') + .soundType('stone') + .mapColor('stone') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:titanium_concrete') + + event.create('tfg:titanium_concrete_tile') + .translationKey('block.tfg.titanium_concrete_tile') + .model('tfg:block/concrete/titanium_concrete_tile') + .soundType('stone') + .mapColor('stone') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:titanium_concrete') + + event.create('tfg:titanium_concrete_tile_small') + .translationKey('block.tfg.titanium_concrete_tile_small') + .model('tfg:block/concrete/titanium_concrete_tile_small') + .soundType('stone') + .mapColor('stone') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:titanium_concrete') + + event.create('tfg:titanium_concrete_bricks') + .translationKey('block.tfg.titanium_concrete_bricks') + .model('tfg:block/concrete/titanium_concrete_bricks') + .soundType('stone') + .mapColor('stone') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:titanium_concrete') + + event.create('tfg:titanium_concrete_bricks_small') + .translationKey('block.tfg.titanium_concrete_bricks_small') + .model('tfg:block/concrete/titanium_concrete_bricks_small') + .soundType('stone') + .mapColor('stone') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:titanium_concrete') + + event.create('tfg:titanium_concrete_bricks_square') + .translationKey('block.tfg.titanium_concrete_bricks_square') + .model('tfg:block/concrete/titanium_concrete_bricks_square') + .soundType('stone') + .mapColor('stone') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:titanium_concrete') + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js new file mode 100644 index 000000000..33d19dcb9 --- /dev/null +++ b/kubejs/startup_scripts/tfg/nuclear/items.nuclear.js @@ -0,0 +1,59 @@ +"use strict"; + +function registerTFGNuclearItems(event) { + + // Empty Fission Rod + + event.create('tfg:empty_rod') + .translationKey('item.tfg.empty_road') + .texture('tfg:item/fuel_rod_empty') + .tag('tfg:fission_rods') + + event.create('tfg:refrigerant_pellet') + .translationKey('item.tfg.refrigerant_pellet') + .texture('tfg:item/refrigerant_pellet') + .tag('tfg:fission_coolant') + + // Moderator Line + + event.create('tfg:graphite_compound') + .translationKey('item.tfg.graphite_compound') + .texture('tfg:item/graphite_line/graphite_compound') + + event.create('tfg:raw_graphite_briquette') + .translationKey('item.tfg.raw_graphite_briquette') + .texture('tfg:item/graphite_line/raw_graphite_briquette') + + event.create('tfg:faulty_graphite_briquette') + .translationKey('item.tfg.faulty_graphite_briquette') + .texture('tfg:item/graphite_line/faulty_graphite_briquette') + + event.create('tfg:washed_graphite_briquette') + .translationKey('item.tfg.washed_graphite_briquette') + + event.create('tfg:pure_graphite_rod') + .translationKey('item.tfg.pure_graphite_rod') + .texture('tfg:item/graphite_line/pure_graphite_rod') + + event.create('tfg:impure_graphite_rod') + .translationKey('item.tfg.impure_graphite_rod') + .texture('tfg:item/graphite_line/impure_graphite_rod') + + event.create('tfg:annealed_graphite_rod') + .translationKey('item.tfg.annealed_graphite_rod') + + event.create('tfg:impure_annealed_graphite_rod') + .translationKey('item.tfg.impure_annealed_graphite_rod') + + event.create('tfg:graphite_moderator') + .translationKey('item.tfg.graphite_moderator') + .texture('tfg:item/graphite_line/graphite_moderator') + + event.create('tfg:impure_graphite_moderator') + .translationKey('item.tfg.impure_graphite_moderator') + .texture('tfg:item/graphite_line/impure_graphite_moderator') + + event.create('tfg:advanced_polymer_binder') + .translationKey('item.tfg.advanced_polymer_binder') + .texture('tfg:item/graphite_line/advanced_polymer_binder') +} \ 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 ac65b1ab0..6fd163157 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -3,6 +3,16 @@ const registerTFGNuclearMaterials = (event) => { + // Fission Component + + event.create('tfg:tetrafluoroethane') + .fluid() + .gem() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.QUARTZ) + .components('2x carbon', '2x hydrogen', '4x fluorine') + .color(0x46702e) + /* event.create('mysterious_ooze') .fluid() .color(0x500bbf) @@ -205,15 +215,6 @@ const registerTFGNuclearMaterials = (event) => { .color(0x694c66) .radioactiveHazard(1000) - event.create("ostrum_iodide") - .ingot() - .components('2x ostrum', 'iodine') - .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) - .iconSet(GTMaterialIconSet.BRIGHT) - .flags(GTMaterialFlags.GENERATE_GEAR) - .color(0xc696f2) - .secondaryColor(0x9b99ff) - //#endregion }; diff --git a/kubejs/startup_scripts/tfg/blocks.supports.js b/kubejs/startup_scripts/tfg/primitive/blocks.supports.js similarity index 100% rename from kubejs/startup_scripts/tfg/blocks.supports.js rename to kubejs/startup_scripts/tfg/primitive/blocks.supports.js diff --git a/kubejs/startup_scripts/tfg/primitive/blocks.vases.js b/kubejs/startup_scripts/tfg/primitive/blocks.vases.js new file mode 100644 index 000000000..9cd41569e --- /dev/null +++ b/kubejs/startup_scripts/tfg/primitive/blocks.vases.js @@ -0,0 +1,77 @@ +"use strict"; + +function registerTFGVaseBlocks(event) { + + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/loot_vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + event.create(`tfg:decorative_vase/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_unfired_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + }) + event.create('tfg:decorative_vase', 'cardinal') + .model('tfg:block/decorative_vase/vase') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create('tfg:decorative_vase/unfired', 'cardinal') + .model('tfg:block/decorative_vase/vase_unfired') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js new file mode 100644 index 000000000..35b0a78d1 --- /dev/null +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -0,0 +1,139 @@ +"use strict"; + +function registerTFGPrimitiveItems(event) { + + // Paper making + event.create('tfg:hardwood_strip') + event.create('tfg:soaked_hardwood_strip') + event.create('tfg:soaked_unrefined_paper') + + // Chalk + event.create('tfg:unfired_chalk') + + Color.DYE.forEach((dyeName, dye) => { + event.create(`tfg:wet_${dyeName}_chalk`) + .textureJson({ + layer0: 'tfg:item/unfired_chalk' + }) + .color(0, dye.getHexJS()); + }); + + // Primitive rubber gloves + event.create('tfg:prepared_leather_gloves') + event.create('tfg:latex_soaked_gloves') + + // 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') + event.create('tfg:conifer_rosin') + + // Tools + event.create('tfg:flint_club_head') + + event.create('tfg:flint_arrow_head') + event.create('tfg:fletching') + + event.create('tfg:armor_stand_arms') + + event.create('tfg:harvest_basket') + .parentModel('tfg:item/harvest_basket') + .maxDamage(128) + + event.create('tfg:aluminium_harvest_basket') + .parentModel('tfg:item/aluminium_harvest_basket') + .unstackable() + + // Carts + event.create('tfg:cobalt_brass_wheel') + + // Fishing Nets + event.create('tfg:fishing_net/wood') + .translationKey('item.tfg.fishing_net.wood') + .parentModel('tfg:item/fishing_nets/wood_fishing_net') + .texture('tfg:item/fishing_nets/wood_fishing_net') + .maxDamage(112) + + event.create('tfg:fishing_net/brass') + .translationKey('item.tfg.fishing_net.brass') + .parentModel('tfg:item/fishing_nets/brass_fishing_net') + .texture('tfg:item/fishing_nets/brass_fishing_net') + .maxDamage(326) + + event.create('tfg:fishing_net/rose_gold') + .translationKey('item.tfg.fishing_net.rose_gold') + .parentModel('tfg:item/fishing_nets/rose_gold_fishing_net') + .texture('tfg:item/fishing_nets/rose_gold_fishing_net') + .maxDamage(380) + + event.create('tfg:fishing_net/sterling_silver') + .translationKey('item.tfg.fishing_net.sterling_silver') + .parentModel('tfg:item/fishing_nets/sterling_silver_fishing_net') + .texture('tfg:item/fishing_nets/sterling_silver_fishing_net') + .maxDamage(380) + + event.create('tfg:fishing_net/invar') + .translationKey('item.tfg.fishing_net.invar') + .parentModel('tfg:item/fishing_nets/invar_fishing_net') + .texture('tfg:item/fishing_nets/invar_fishing_net') + .maxDamage(740) + + event.create('tfg:fishing_net/tin_alloy') + .translationKey('item.tfg.fishing_net.tin_alloy') + .parentModel('tfg:item/fishing_nets/tin_alloy_fishing_net') + .texture('tfg:item/fishing_nets/tin_alloy_fishing_net') + .maxDamage(710) + + event.create('tfg:fishing_net/cupronickel') + .translationKey('item.tfg.fishing_net.cupronickel') + .parentModel('tfg:item/fishing_nets/cupronickel_fishing_net') + .texture('tfg:item/fishing_nets/cupronickel_fishing_net') + .maxDamage(560) + + event.create('tfg:fishing_net/magnalium') + .translationKey('item.tfg.fishing_net.magnalium') + .parentModel('tfg:item/fishing_nets/magnalium_fishing_net') + .texture('tfg:item/fishing_nets/magnalium_fishing_net') + .maxDamage(1830) + + // Universal compost items + event.create('tfg:universal_compost_browns') + .tag('tfc:compost_browns_low') + + event.create('tfg:universal_compost_greens') + .tag('tfc:compost_greens_low') + + // Etched Diamond Etching Tip + event.create('tfg:etching_diamond_tip') + + // Cloth & String + event.create('tfg:polycaprolactam_fabric') + event.create('tfg:polycaprolactam_string') + event.create('tfg:phantom_silk') + event.create('tfg:phantom_thread') + + // Flax Stuff + event.create('tfg:flax_waste') + .tag('tfc:scrapable') + event.create('tfg:flax_tow') + .tag('tfg:burlap_fiber') + .tag('tfc:compost_browns') + event.create('tfg:flax_line') + .tag('tfc:compost_browns_low') + event.create('tfg:linen_thread') + .tag('forge:string') + event.create('tfg:linen_cloth') + .tag('forge:cloth') + .tag('tfc:sewing_light_cloth') + + event.create('tfg:flax_bundle') + .tag('tfc:scrapable') + .texture('tfg:item/flax_bundle') + + event.create('tfg:bundled_scraped_flax') + .tag('tfc:scrapable') + .texture('tfg:item/bundled_scraped_flax') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js new file mode 100644 index 000000000..c5230e941 --- /dev/null +++ b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js @@ -0,0 +1,91 @@ +"use strict"; + +function registerTFGPrimitiveMaterials(event) { + + // Paper + event.create('hardwood') + .dust() + .flags(GTMaterialFlags.FLAMMABLE) + .iconSet(GTMaterialIconSet.WOOD) + .color('0x7a5225') + .secondaryColor('0x7a5225') + + event.create('thermochemically_treated_hardwood') + .dust() + .flags(GTMaterialFlags.FLAMMABLE) + .iconSet(GTMaterialIconSet.WOOD) + .color('0x52482c') + .secondaryColor('0x52482c') + + // Tree tapping + event.create('tfg:latex') + .liquid() + .color(0xFBB982) + + event.create('tfg:vulcanized_latex') + .liquid() + .color(0xc79973) + + event.create('tfg:conifer_pitch') + .liquid() + .color(0xfbdf82) + .secondaryColor(0xff9d2e) + + // Food/Cooking + event.create('lactose') + .dust() + .iconSet(GTMaterialIconSet.FINE) + .color('0xede8da') + .secondaryColor('0xeddcad') + .components('12x carbon', '22x hydrogen', '11x oxygen') + + event.create('tfg:sodium_dihydrogen_citrate') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.BRIGHT) + .components('6x carbon', '7x hydrogen', '1x sodium', '7x oxygen') + .color('0xE38818') + + event.create('tfg:citric_acid') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.SHINY) + .components('6x carbon', '8x hydrogen', '7x oxygen') + .color('0xE3AD18') + + // I decided to make these materials because why not? + event.create('tfg:rich_stock') + .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); + + event.create('tfg:light_stock') + .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); + + event.create('tfg:brown_gravy') + .liquid(new GTFluidBuilder().customStill().state(GTFluidState.LIQUID).temperature(360)); + + // Ores -- these need to be in the gtceu namespace for the ore tool to work + event.create('tarkianite') + .ore() + .components('1x copper', '1x iron', '4x rhenium', '4x molybdenum', '8x sulfur') + .color(0x8bb054) + .secondaryColor(0x3d8021) + .iconSet(GTMaterialIconSet.getByName('tfc_emerald')) + .addOreByproducts('sulfur', 'rhenium', 'molybdenum') + + // Metals/minerals + event.create('aluminium_silicate') + .dust() + .ingot() + .liquid(new GTFluidBuilder().state(GTFluidState.LIQUID).temperature(1520)) + .components('2x aluminium', '1x silicon', '5x oxygen') + .iconSet('metallic') + .color(0xB6D3FF) + .secondaryColor(0x6F4AB3) + + event.create('tfg:kaolinite') + .dust() + .components('2x aluminium', '2x silicon', '9x oxygen', '4x hydrogen') + .color(0xEEB9AD) + .secondaryColor(0xF6A797) + .formula("Al2Si2O5(OH)4") +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/space_general/items.space.js b/kubejs/startup_scripts/tfg/space_general/items.space.js new file mode 100644 index 000000000..a13727058 --- /dev/null +++ b/kubejs/startup_scripts/tfg/space_general/items.space.js @@ -0,0 +1,33 @@ +"use strict"; + +function registerTFGSpaceItems(event) { + + // Space suits + event.create('tfg:space_suit_fabric') + event.create('tfg:better_space_suit_fabric') + + // Tier2 Insulation + event.create('tfg:aes_wool') + event.create('tfg:aes_compressed_wool') + event.create('tfg:aes_insulation_sheet') + event.create('tfg:aes_insulation_roll') + + //Tier 2 Rocket Parts + event.create('tfg:rocket_fin_t2') + event.create('tfg:rocket_cone_t2') + + //Tier 3 Insulation + event.create('tfg:aes_polyurethane') + event.create('tfg:mli_shielding') + event.create('tfg:silica_aerogel') + + //Tier 3 Rocket Parts + event.create('tfg:rocket_fin_t3') + event.create('tfg:rocket_cone_t3') + event.create('tfg:elite_power_thruster') + + // Solar Panel + event.create('tfg:photo_cell_t1') + .translationKey("item.tfg.basic.photovoltaic.cell") + .texture('tfg:item/photo_cell_t1') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js new file mode 100644 index 000000000..49ffd7665 --- /dev/null +++ b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js @@ -0,0 +1,162 @@ +"use strict"; + +function registerTFGRocketMaterials(event) { + + // Space Rocket Materials + + event.create('rocket_alloy_t1') + .ingot() + .components('6x aluminium', '2x stainless_steel', '1x red_steel') + .color(0x333e47) + .iconSet('metallic') + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) + .blastTemp(1760, 'low', 256, 900) + + event.create('rocket_alloy_t2') + .ingot() + .components('19x titanium', '4x vanadium', '3x aluminium', '3x chromium', '3x tin') + .color(0x3c253d) + .iconSet('metallic') + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.DISABLE_ALLOY_BLAST) + .blastTemp(3200, 'mid', 1024, 1100) + .liquid() + +/* event.create('rocket_alloy_t3') + .ingot() + .components('8x titanium', '9x tungsten_steel', '2x tantalum', '2x radon') + .color(0x6c678b) + //.secondaryColor(0xa59fc6) + .liquid() + .removeHazard() + .iconSet('metallic') + .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR) + .blastTemp(4200, 'high', 4096, 1300) + */ + + // Insulation + event.create('vitrified_asbestos') + .dust() + .fluid() + .iconSet('glass') + .color(0xcccccc) + + event.create('tfg:aes_mix') + .dust() + .flags(GTMaterialFlags.DECOMPOSITION_BY_CENTRIFUGING) + .components('5x silicon_dioxide', '4x quicklime', '1x magnesia') + .hazard(HazardProperty.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.CHEMICAL_BURNS) + .color(0xE0E9E4) + event.create('tfg:molten_aes') + .liquid(2900) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .components('5x silicon_dioxide', '4x quicklime', '1x magnesia') + .color(0xe65609) + .secondaryColor(0xe65609) + + //#region Ammonia Borane + event.create('tfg:sodium_hydride') + .dust() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('1x sodium', '1x hydrogen') + .color(0xEDF5F3) + event.create('tfg:boric_acid') + .dust() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('3x hydrogen', '1x boron', '3x oxygen') + .color(0xDFEDDF) + .secondaryColor(0xDFEDDF) + event.create('tfg:trimethyl_borate') + .liquid() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('3x carbon', '9x hydrogen', '1x boron', '3x oxygen') + .color(0xF7F7F7) + event.create('tfg:sodium_borohydride') + .dust() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('1x sodium', '1x boron', '4x hydrogen') + .color(0xE8F1FF) + .secondaryColor(0xE8F1FF) + event.create('tfg:sodium_methoxide') + .dust() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('1x sodium', '1x oxygen', '1x carbon', '3x hydrogen') + .color(0xE8E5DF) + .secondaryColor(0xE8E5DF) + event.create('tfg:ammonia_borane') + .dust() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING, GTMaterialFlags.GENERATE_PLATE) + .components('1x ammonia', '1x boron', '3x hydrogen') + .color(0xCCE3E3) + .secondaryColor(0xCCE3E3) + //#endregion + + //#region polyurethane + event.create('tfg:aniline') + .liquid() + .components('6x carbon', '5x hydrogen', '1x nitrogen', '2x hydrogen') + .color(0xBAB999) + event.create('tfg:dimethyl_carbonate') + .liquid() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('3x formaldehyde') // CH2O + .color(0xFFFFF2) + event.create('tfg:methyl_phenylcarbamate') + .liquid() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('8x carbon','9x hydrogen','1x nitrogen', '2x oxygen') + .color(0xB4EDB4) + event.create('tfg:methylene_diphenyl_dicarbamate') + .liquid() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('17x carbon','18x hydrogen','2x nitrogen', '4x oxygen') + .color(0x69C2C1) + event.create('tfg:methylene_diphenyl_diisocyanate') + .dust() + .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING) + .components('13x carbon','10x hydrogen','2x nitrogen', '2x oxygen') + .color(0xFFFFBA) + //#endregion + + //#region aerogel + event.create('tfg:tmos') + .liquid() + .formula("Si(OCH3)4") + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xC2C6CC) + event.create('tfg:silica_gel') + .liquid() + .color(0x60BABF) + .secondaryColor(0xFFD38C) + event.create('tfg:soaked_silica_gel') + .liquid() + .color(0x9ED5D9) + //#endregion + + + // Space suit gases (these all add up to 10B of components = 1B of space suit gas) + + event.create('tfg:compressed_nitrox') + .gas() + .components('8x nitrogen', '2x oxygen') + .color(0xaef5ef) + + event.create('tfg:compressed_heliox') + .gas() + .components('8x helium', '2x oxygen') + .color(0xf5eeb3) + + event.create('tfg:compressed_heliox_3') + .gas() + .components('8x helium_3', '2x oxygen') + .color(0xf5ea90) + + event.create('tfg:compressed_trimix') + .gas() + .components('5x nitrogen', '3x oxygen', '2x helium') + .color(0xc3fab9) + + event.create('tfg:compressed_trimix_3') + .gas() + .components('5x nitrogen', '3x oxygen', '2x helium_3') + .color(0xa3ed95) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.aqueducts.js b/kubejs/startup_scripts/tfg/stone_types/blocks.aqueducts.js similarity index 100% rename from kubejs/startup_scripts/tfg/blocks.aqueducts.js rename to kubejs/startup_scripts/tfg/stone_types/blocks.aqueducts.js diff --git a/kubejs/startup_scripts/tfg/blocks.space.js b/kubejs/startup_scripts/tfg/stone_types/blocks.rocks.js similarity index 71% rename from kubejs/startup_scripts/tfg/blocks.space.js rename to kubejs/startup_scripts/tfg/stone_types/blocks.rocks.js index d9ce73696..be5727415 100644 --- a/kubejs/startup_scripts/tfg/blocks.space.js +++ b/kubejs/startup_scripts/tfg/stone_types/blocks.rocks.js @@ -1,60 +1,49 @@ "use strict"; -function registerTFGSpaceBlocks(event) { - - // #region Dimension markers - event.create('tfg:marker/moon') - .stoneSoundType() - .item(item => { - item.modelJson({ parent: 'tfg:block/marker/moon' }) - }) - .tagBlock('c:hidden_from_recipe_viewers') - .fullBlock(true) - .opaque(true) - - event.create('tfg:marker/mars') - .stoneSoundType() - .item(item => { - item.modelJson({ parent: 'tfg:block/marker/mars' }) - }) - .tagBlock('c:hidden_from_recipe_viewers') - .fullBlock(true) - .opaque(true) - - event.create('tfg:marker/venus') - .stoneSoundType() - .item(item => { - item.modelJson({ parent: 'tfg:block/marker/venus' }) - }) - .tagBlock('c:hidden_from_recipe_viewers') - .fullBlock(true) - .opaque(true) - - event.create('tfg:marker/mercury') - .stoneSoundType() - .item(item => { - item.modelJson({ parent: 'tfg:block/marker/mercury' }) - }) - .tagBlock('c:hidden_from_recipe_viewers') - .fullBlock(true) - .opaque(true) - - event.create('tfg:marker/glacio') - .stoneSoundType() - .item(item => { - item.modelJson({ parent: 'tfg:block/marker/glacio' }) - }) - .tagBlock('c:hidden_from_recipe_viewers') - .fullBlock(true) - .opaque(true) - - // #endregion Dimension markers +function registerTFGRockBlocks(event) { const SHAPES = ['stairs', 'slab', 'wall'] const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] // #region Raw Stones + + SHAPES.forEach(shape => { + event.create(`tfg:rock/deepslate_${shape}`, shape) + .soundType(global.STONE_CHARACS.deepslate.sound) + .textureAll('minecraft:block/deepslate') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/dripstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.dripstone.sound) + .textureAll('minecraft:block/dripstone_block') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/crackrack_${shape}`, shape) + .soundType(global.STONE_CHARACS.crackrack.sound) + .textureAll('beneath:block/crackrack') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + event.create('tfg:rock/moon_stone_wall', 'wall') .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/moon_stone') @@ -139,10 +128,57 @@ function registerTFGSpaceBlocks(event) { .fullBlock(true) .opaque(true) }) - + // #endregion Raw Stones // #region Hardened Stones + event.create('tfg:rock/hardened_deepslate') + .soundType(global.STONE_CHARACS.deepslate.sound) + .property(BlockProperties.AXIS) + .requiresTool(true) + .item(item => { + item.modelJson({ parent: 'minecraft:item/deepslate' }) + }) + .tagBlock('tfc:can_carve') + .tagBoth('forge:stone') + .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/hardened_blackstone') + .soundType(global.STONE_CHARACS.blackstone.sound) + .requiresTool(true) + .item(item => { + item.modelJson({ parent: 'minecraft:item/blackstone' }) + }) + .tagBlock('tfc:can_carve') + .tagBoth('forge:stone') + .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/hardened_dripstone') + .soundType(global.STONE_CHARACS.dripstone.sound) + .stoneSoundType() + .requiresTool(true) + .item(item => { + item.modelJson({ parent: 'minecraft:item/dripstone_block' }) + }) + .tagBlock('tfc:can_carve') + .tagBoth('forge:stone') + .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + event.create('tfg:rock/hardened_moon_stone') .soundType(global.STONE_CHARACS.moon.sound) .requiresTool(true) @@ -251,6 +287,45 @@ function registerTFGSpaceBlocks(event) { // #endregion Hardened Stones // #region Loose Stones + event.create('tfg:loose/deepslate', 'tfc:loose_rock') + .soundType(global.STONE_CHARACS.deepslate.sound) + .itemTexture('tfg:item/loose/deepslate') + .rockTypeModel(global.STONE_CHARACS.deepslate.type) + .translationKey("block.tfg.loose.deepslate") + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagItem(`tfc:${global.STONE_CHARACS.deepslate.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .tagItem("rnr:loose_rock_items") + + event.create('tfg:loose/dripstone', 'tfc:loose_rock') + .soundType(global.STONE_CHARACS.dripstone.sound) + .itemTexture('tfg:item/loose/dripstone') + .rockTypeModel(global.STONE_CHARACS.dripstone.type) + .translationKey("block.tfg.loose.dripstone") + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagItem(`tfc:${global.STONE_CHARACS.dripstone.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .tagItem("rnr:loose_rock_items") + + event.create('tfg:loose/crackrack', 'tfc:loose_rock') + .soundType(global.STONE_CHARACS.crackrack.sound) + .itemTexture('tfg:item/loose/crackrack') + .rockTypeModel(global.STONE_CHARACS.crackrack.type) + .translationKey("block.tfg.loose.crackrack") + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagItem(`tfc:${global.STONE_CHARACS.crackrack.type}_rock`) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .tagItem("rnr:loose_rock_items") + event.create('tfg:loose/moon_stone', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.moon.sound) .itemTexture('tfg:item/loose/moon_stone') @@ -340,6 +415,37 @@ function registerTFGSpaceBlocks(event) { // #endregion Loose stones // #region Spikes + + event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') + .textureAll('minecraft:block/deepslate') + .soundType(global.STONE_CHARACS.deepslate.sound) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + + event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') + .textureAll('minecraft:block/blackstone') + .soundType(global.STONE_CHARACS.blackstone.sound) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + + event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') + .textureAll('minecraft:block/dripstone_block') + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + event.create('tfg:spike/moon_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/moon_stone') .soundType(global.STONE_CHARACS.moon.sound) @@ -407,6 +513,166 @@ function registerTFGSpaceBlocks(event) { // #endregion Spikes // #region Cobblestones + + // Deepslate + event.create('tfg:rock/mossy_cobble_deepslate') + .soundType(global.STONE_CHARACS.deepslate.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_deepslate_${shape}`, shape) + .soundType(global.STONE_CHARACS.deepslate.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Blackstone + event.create('tfg:rock/cobble_blackstone') + .soundType(global.STONE_CHARACS.blackstone.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_blackstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.blackstone.sound) + .textureAll('minecraft:block/blackstone_top') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_blackstone') + .soundType(global.STONE_CHARACS.blackstone.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_blackstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.blackstone.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Dripstone + event.create('tfg:rock/cobble_dripstone') + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_dripstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_dripstone') + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_dripstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Crackrack + event.create('tfg:rock/cobble_crackrack') + .soundType(global.STONE_CHARACS.crackrack.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_crackrack_${shape}`, shape) + .soundType(global.STONE_CHARACS.crackrack.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_crackrack') + .soundType(global.STONE_CHARACS.crackrack.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_crackrack_${shape}`, shape) + .soundType(global.STONE_CHARACS.crackrack.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + // Moon event.create('tfg:rock/cobble_moon_wall', 'wall') .soundType(global.STONE_CHARACS.moon.sound) @@ -685,6 +951,50 @@ function registerTFGSpaceBlocks(event) { // #endregion Cobblestones // #region Gravels + event.create('tfg:rock/gravel_deepslate') + .soundType('gravel') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_blackstone') + .soundType('gravel') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_dripstone') + .soundType('gravel') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_crackrack') + .soundType('gravel') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + event.create('tfg:rock/gravel_moon') .soundType('gravel') .tagBoth('forge:gravel') @@ -775,6 +1085,28 @@ function registerTFGSpaceBlocks(event) { // #endregion Gravels // #region Smooth (Polished/Cut) Stones + + event.create('tfg:rock/polished_crackrack') + .soundType(global.STONE_CHARACS.crackrack.sound) + .tagBoth('forge:smooth_stone') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfc:rock/smooth') + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/polished_crackrack_${shape}`, shape) + .soundType(global.STONE_CHARACS.crackrack.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`) + .mapColor(global.STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + event.create('tfg:rock/polished_moon_wall', 'wall') .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/polished_moon_stone') @@ -871,6 +1203,174 @@ function registerTFGSpaceBlocks(event) { // #endregion Smooth (Polished/Cut) Stones // #region Bricks / Decorative + + // Deepslate + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_deepslate_${shape}`, shape) + .soundType(global.STONE_CHARACS.deepslate.sound) + .textureAll('minecraft:block/cracked_deepslate_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_tiles_deepslate_${shape}`, shape) + .soundType(global.STONE_CHARACS.deepslate.sound) + .textureAll('minecraft:block/cracked_deepslate_tiles') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_deepslate') + .soundType(global.STONE_CHARACS.deepslate.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_deepslate_${shape}`, shape) + .soundType(global.STONE_CHARACS.deepslate.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`) + .mapColor(global.STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Blackstone + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_blackstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.blackstone.sound) + .textureAll('minecraft:block/cracked_polished_blackstone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_blackstone') + .soundType(global.STONE_CHARACS.blackstone.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_blackstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.blackstone.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`) + .mapColor(global.STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Dripstone + event.create('tfg:rock/cracked_bricks_dripstone') + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_dripstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_dripstone') + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_dripstone_${shape}`, shape) + .soundType(global.STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`) + .mapColor(global.STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Crackrack + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_nether_${shape}`, shape) + .soundType(global.STONE_CHARACS.nether.sound) + .textureAll('minecraft:block/cracked_nether_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) + .mapColor(global.STONE_CHARACS.nether.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_nether') + .soundType(global.STONE_CHARACS.nether.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) + .mapColor(global.STONE_CHARACS.nether.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_nether_${shape}`, shape) + .soundType(global.STONE_CHARACS.nether.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`) + .mapColor(global.STONE_CHARACS.nether.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + // Moon Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_moon_${shape}`, shape) @@ -1332,300 +1832,4 @@ function registerTFGSpaceBlocks(event) { // #endregion Sandstone - // #region Plants - - /* - Custom TFG Builder information https://github.com/TerraFirmaGreg-Team/Modpack-Modern/wiki/%5BEN%5D-TFG-Custom-Kubejs-Scripts - */ - - event.create('tfg:lunar_roots', 'tfg:decorative_plant') - .soundType('nether_wart') - .lightLevel(0.4) - .tagItem('tfg:moon_plants') - .tagBlock('minecraft:replaceable') - - event.create('tfg:lunar_sprouts', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfg:moon_plants') - .tagBlock('minecraft:replaceable') - - event.create('tfg:corallium_arenicolus_0', 'tfg:tall_decorative_plant') - .height(2) - .soundType('nether_wart') - .tagItem('tfg:venus_plants') - .lightLevel(0.4) - .renderType('translucent') - - event.create('tfg:corallium_arenicolus_1', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfg:venus_plants') - .box(3, 0, 3, 13, 14, 13) - - event.create('tfg:corallium_arenicolus_2', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfg:venus_plants') - .renderType('translucent') - .box(0, 0, 0, 16, 4, 16) - - event.create('tfg:corallium_arenicolus_3', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfg:venus_plants') - .box(3, 0, 3, 13, 14, 13) - - event.create('tfg:corallium_arenicolus_4', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfg:venus_plants') - .box(3, 0, 3, 13, 14, 13) - - event.create('tfg:corallium_arenicolus_5', 'tfg:decorative_plant') - .soundType('nether_wart') - .tagItem('tfg:venus_plants') - .box(3, 0, 3, 13, 14, 13) - - event.create('tfg:geyser_source', 'tfg:particle_emitter_decoration') - .soundType('dripstone_block') - .mapColor('color_white') - .resistance(6) - .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.1, 0) - .particle('minecraft:campfire_signal_smoke') - .particleCount(5) - .particleForced(true) - - event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration') - .soundType('dripstone_block') - .mapColor('color_white') - .resistance(6) - .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(2) - .particleForced(false) - - event.create('tfg:stromatolite_cluster_small', 'tfg:decorative_plant') - .soundType('dripstone_block') - .mapColor('color_brown') - .box(3, 0, 3, 13, 6, 13) - - event.create('tfg:stromatolite_cluster_medium', 'tfg:decorative_plant') - .soundType('dripstone_block') - .mapColor('color_brown') - .box(3, 0, 3, 13, 14, 13) - - // #endregion - - // #region Mars Blocks - - event.create('tfg:spice', 'tfg:particle_emitter') - .textureAll('tfg:block/sand_spice') - .soundType('sand') - .hardness(2) - .resistance(6) - // makes it invisible on xaeros, so people can't use it to find the deposits :) - .mapColor('none') - .particleOffset(0.3, 1.5, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('electric_spark') - .particleCount(2) - .particleForced(false) - .fullBlock(true) - .opaque(true) - - event.create('tfg:groundcover/glider_feather', 'tfc:ground_cover') - .box(4, 0, 4, 12, 2, 12) - .soundType('wool') - .groundCoverModelShape('feather') - .withPreexistingItem('wan_ancient_beasts:glider_feather') - .textureAll('wan_ancient_beasts:item/glider_feather') - .tagBlock('tfc:can_be_snow_piled') - - event.create('tfg:groundcover/wraptor_feather', 'tfc:ground_cover') - .box(4, 0, 4, 12, 2, 12) - .soundType('wool') - .groundCoverModelShape('feather') - .withPreexistingItem('minecraft:feather') - .textureAll('tfg:item/wraptor_wool') - .tagBlock('tfc:can_be_snow_piled') - - event.create('tfg:groundcover/aeronos_stick', 'tfc:ground_cover') - .box(3, 0, 3, 13, 3, 13) - .groundCoverModelShape('twig') - .withPreexistingItem('tfg:twigs/aeronos') - .tagBlock('tfc:can_be_snow_piled') - .texture('particle', 'ad_astra:block/aeronos_stem') - .texture('all', 'ad_astra:block/aeronos_stem') - .texture('top', 'ad_astra:block/aeronos_stem_inside') - - event.create('tfg:groundcover/strophar_stick', 'tfc:ground_cover') - .box(3, 0, 3, 13, 3, 13) - .groundCoverModelShape('twig') - .withPreexistingItem('tfg:twigs/strophar') - .tagBlock('tfc:can_be_snow_piled') - .texture('particle', 'ad_astra:block/strophar_stem') - .texture('all', 'ad_astra:block/strophar_stem') - .texture('top', 'ad_astra:block/strophar_stem_inside') - - event.create('tfg:groundcover/glacian_stick', 'tfc:ground_cover') - .box(3, 0, 3, 13, 3, 13) - .groundCoverModelShape('twig') - .withPreexistingItem('tfg:twigs/glacian') - .tagBlock('tfc:can_be_snow_piled') - .texture('particle', 'ad_astra:block/glacian_log') - .texture('all', 'ad_astra:block/glacian_log') - .texture('top', 'ad_astra:block/glacian_log_top') - - event.create('tfg:groundcover/alphacene_stick', 'tfc:ground_cover') - .box(3, 0, 3, 13, 3, 13) - .groundCoverModelShape('twig') - .withPreexistingItem('tfg:twigs/alphacene') - .tagBlock('tfc:can_be_snow_piled') - .texture('particle', 'species:block/alphacene_mushroom_block') - .texture('all', 'species:block/alphacene_mushroom_block') - .texture('top', 'minecraft:block/mushroom_stem') - - // #endregion - - //#region Venus Blocks - //Fluorapatite - const fluorapatite_colors = ['blue', 'green', 'brown', 'orange', 'white', 'yellow']; - fluorapatite_colors.forEach(color => { - const mapColor = color === 'white' ? 'quartz' : `color_${color}`; - - //Sand - event.create(`tfg:sand/fluorapatite/${color}`, 'falling') - .textureAll(`tfg:block/planets/venus/sand_fluorapatite_${color}`) - .soundType('sand') - .requiresTool(false) - .tagBoth('forge:sand') - .tagItem('forge:sand/fluorapatite') - .tagBlock('minecraft:mineable/shovel') - .mapColor(mapColor) - .fullBlock(true) - .opaque(true) - //Raw Sandstone - event.create(`tfg:sandstone/raw/fluorapatite/${color}`) - .textureAll(`tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) - .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) - .hardness(0.8) - .resistance(0.8) - .soundType('stone') - .requiresTool(true) - .tagBoth('forge:sandstone') - .tagItem('forge:sandstone/fluorapatite') - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(mapColor) - .fullBlock(true) - .opaque(true) - //Smooth Sandstone - event.create(`tfg:sandstone/smooth/fluorapatite/${color}`) - .textureAll(`tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) - .hardness(0.8) - .resistance(0.8) - .soundType('stone') - .requiresTool(true) - .tagBoth('forge:sandstone') - .tagItem('forge:sandstone/fluorapatite') - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(mapColor) - .fullBlock(true) - .opaque(true) - //Chiseled Sandstone - event.create(`tfg:sandstone/smooth/chiseled/fluorapatite/${color}`) - .textureAll(`tfg:block/planets/venus/sandstone_chiseled_fluorapatite_${color}`) - .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) - .texture('down', `tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) - .hardness(0.8) - .resistance(0.8) - .soundType('stone') - .requiresTool(true) - .tagBoth('forge:sandstone') - .tagItem('forge:sandstone/fluorapatite') - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(mapColor) - .fullBlock(true) - .opaque(true) - //Sandstone - event.create(`tfg:sandstone/fluorapatite/${color}`) - .textureAll(`tfg:block/planets/venus/sandstone_fluorapatite_${color}`) - .texture('down', `tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) - .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) - .hardness(0.8) - .resistance(0.8) - .soundType('stone') - .requiresTool(true) - .tagBoth('forge:sandstone') - .tagItem('forge:sandstone/fluorapatite') - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(mapColor) - .fullBlock(true) - .opaque(true) - }) - - //#region Venus Stone - - //Stromatolite - event.create('tfg:rock/raw/stromatolite', 'tfc:raw_rock') - .textureAll('tfg:block/planets/venus/stromatolite_spike') - .model('tfg:block/rock/stromatolite_block') - .rockTypeTooltip(Text.translatable('tooltip.tfg.sedimentary')) - .naturallySupported(true) - .sedimentary() - .renderType('cutout') - .soundType('dripstone_block') - .requiresTool(true) - .hardness(0.8) - .resistance(0.8) - .tagBlock('minecraft:mineable/pickaxe') - - event.create('tfg:rock/spike/stromatolite', 'tfc:rock_spike') - .textureAll('tfg:block/planets/venus/stromatolite_spike') - .soundType('dripstone_block') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - - //Geyserite - event.create('tfg:rock/raw/geyserite', 'tfc:raw_rock') - .textureAll('tfg:block/planets/venus/geyserite') - .rockTypeTooltip(Text.translatable('tooltip.tfg.sedimentary')) - .naturallySupported(true) - .mapColor('quartz') - .sedimentary() - .soundType('dripstone_block') - .requiresTool(true) - .hardness(0.8) - .resistance(0.8) - .tagBlock('minecraft:mineable/pickaxe') - - event.create('tfg:rock/spike/geyserite', 'tfc:rock_spike') - .textureAll('tfg:block/planets/venus/geyserite') - .soundType('dripstone_block') - .mapColor('quartz') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - - // Halite - event.create('tfg:rock/halite') - .mapColor('quartz') - .soundType('deepslate') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) - event.create('tfg:rock/halite2') - .mapColor('snow') - .soundType('deepslate') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js b/kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js new file mode 100644 index 000000000..98d0e933a --- /dev/null +++ b/kubejs/startup_scripts/tfg/stone_types/blocks.vanilla_stone.js @@ -0,0 +1,56 @@ +"use strict"; + +function registerTFGVanillaStoneBlocks(event) { + + event.create(`tfg:rock/stone_wall`, 'wall') + .soundType(global.STONE_CHARACS.reconstituted.sound) + .textureAll('minecraft:block/stone') + .tagBoth('tfg:rock_wall') + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + let SHAPES = ['stairs', 'wall'] + SHAPES.forEach(shape => { + event.create(`tfg:rock/smooth_stone_${shape}`, shape) + .soundType(global.STONE_CHARACS.reconstituted.sound) + .textureAll('minecraft:block/smooth_stone') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES = ['stairs', 'slab', 'wall'] + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape) + .soundType(global.STONE_CHARACS.reconstituted.sound) + .textureAll('minecraft:block/cracked_stone_bricks') + .tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's')) + .mapColor(global.STONE_CHARACS.reconstituted.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/quartz_wall', 'wall') + .soundType('stone') + .textureAll('minecraft:block/quartz_block_side') + .tagBoth('tfg:rock_wall') + .mapColor('snow') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/smooth_quartz_wall', 'wall') + .soundType('stone') + .textureAll('minecraft:block/quartz_block_bottom') + .tagBoth('tfg:rock_wall') + .mapColor('snow') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/items.rocks.js b/kubejs/startup_scripts/tfg/stone_types/items.rocks.js new file mode 100644 index 000000000..8cf86dbb8 --- /dev/null +++ b/kubejs/startup_scripts/tfg/stone_types/items.rocks.js @@ -0,0 +1,43 @@ +"use strict"; + +function registerTFGRockItems(event) { + + event.create('tfg:brick/deepslate') + .tag(`tfc:metamorphic_items`) + .translationKey('item.tfg.brick.deepslate') + + event.create('tfg:brick/dripstone') + .tag(`tfc:sedimentary_items`) + .translationKey('item.tfg.brick.dripstone') + + event.create('tfg:brick/moon_stone') + .tag(`tfc:igneous_intrusive_items`) + .translationKey('item.tfg.brick.moon_stone') + + event.create('tfg:brick/moon_deepslate') + .tag(`tfc:igneous_intrusive_items`) + .translationKey('item.tfg.moon_deepslate') + + event.create('tfg:brick/mars_stone') + .tag(`tfc:sedimentary_items`) + .translationKey('item.tfg.brick.mars_stone') + + event.create('tfg:brick/venus_stone') + .tag(`tfc:igneous_extrusive_items`) + .translationKey('item.tfg.brick.venus_stone') + + event.create('tfg:brick/mercury_stone') + .tag(`tfc:igneous_intrusive_items`) + .translationKey('item.tfg.brick.mercury_stone') + + event.create('tfg:brick/glacio_stone') + .tag(`tfc:igneous_extrusive_items`) + .translationKey('item.tfg.brick.glacio_stone') + + event.create('tfg:brick/permafrost') + .translationKey('item.tfg.brick.permafrost') + + event.create('tfg:brick/red_granite') + .tag(`tfc:igneous_intrusive_items`) + .translationKey('item.tfg.red_granite') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js b/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js new file mode 100644 index 000000000..ee90eda0a --- /dev/null +++ b/kubejs/startup_scripts/tfg/stone_types/materials.rocks.js @@ -0,0 +1,43 @@ +// priority: 0 +"use strict"; + +const registerTFGRockMaterials = (event) => { + const registerStoneMaterial = (rockType, color) => + event.create(`tfg:${rockType}`) + .dust() + .color(color) + .iconSet(GTMaterialIconSet.ROUGH) + .flags( + GTMaterialFlags.MORTAR_GRINDABLE, + GTMaterialFlags.NO_SMASHING, + GTMaterialFlags.NO_SMELTING + ) + + /* TFC Stone Types Materials */ + registerStoneMaterial('gabbro', 0x7F8081) + registerStoneMaterial('shale', 0x686567) + registerStoneMaterial('claystone', 0xAF9377) + registerStoneMaterial('limestone', 0xA09885) + registerStoneMaterial('conglomerate', 0xA3977F) + registerStoneMaterial('dolomite', 0x515155) + registerStoneMaterial('chert', 0x7A6756) + registerStoneMaterial('chalk', 0xA4A39F) + registerStoneMaterial('rhyolite', 0x726D69) + registerStoneMaterial('dacite', 0x979797) + registerStoneMaterial('slate', 0x989287) + registerStoneMaterial('phyllite', 0x706B61) + registerStoneMaterial('schist', 0x6E735C) + registerStoneMaterial('gneiss', 0x6A6D60) + + registerStoneMaterial('dripstone', 0x927965) + + registerStoneMaterial('moon_stone', 0x506869) + registerStoneMaterial('moon_deepslate', 0x45474D) + registerStoneMaterial('mars_stone', 0xD08957) + registerStoneMaterial('venus_stone', 0xD5A664) + registerStoneMaterial('mercury_stone', 0x723E49) + registerStoneMaterial('glacio_stone', 0x9897BF) + + // Specialized icon sets for TFC's own + modifyTFGIconSets(event) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js new file mode 100644 index 000000000..4e6961652 --- /dev/null +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -0,0 +1,176 @@ +"use strict"; + +function registerTFGWorldGenVenusDecoBlocks(event) { + + event.create('tfg:geyser_source', 'tfg:particle_emitter_decoration') + .soundType('dripstone_block') + .mapColor('color_white') + .resistance(6) + .hardness(1.5) + .particleOffset(0.3, 1, 0.3) + .particleVelocity(0, 0.1, 0) + .particle('minecraft:campfire_signal_smoke') + .particleCount(5) + .particleForced(true) + + event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration') + .soundType('dripstone_block') + .mapColor('color_white') + .resistance(6) + .hardness(1.5) + .particleOffset(0.3, 1, 0.3) + .particleVelocity(0, 0.05, 0) + .particle('minecraft:campfire_cosy_smoke') + .particleCount(2) + .particleForced(false) + + //Geyserite + event.create('tfg:rock/raw/geyserite', 'tfc:raw_rock') + .textureAll('tfg:block/planets/venus/geyserite') + .rockTypeTooltip(Text.translatable('tooltip.tfg.sedimentary')) + .naturallySupported(true) + .mapColor('quartz') + .sedimentary() + .soundType('dripstone_block') + .requiresTool(true) + .hardness(0.8) + .resistance(0.8) + .tagBlock('minecraft:mineable/pickaxe') + + event.create('tfg:rock/spike/geyserite', 'tfc:rock_spike') + .textureAll('tfg:block/planets/venus/geyserite') + .soundType('dripstone_block') + .mapColor('quartz') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + + // Halite + event.create('tfg:rock/halite') + .mapColor('quartz') + .soundType('deepslate') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + event.create('tfg:rock/halite2') + .mapColor('snow') + .soundType('deepslate') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + //Stromatolite + event.create('tfg:rock/raw/stromatolite', 'tfc:raw_rock') + .textureAll('tfg:block/planets/venus/stromatolite_spike') + .model('tfg:block/rock/stromatolite_block') + .rockTypeTooltip(Text.translatable('tooltip.tfg.sedimentary')) + .naturallySupported(true) + .sedimentary() + .renderType('cutout') + .soundType('dripstone_block') + .requiresTool(true) + .hardness(0.8) + .resistance(0.8) + .tagBlock('minecraft:mineable/pickaxe') + + event.create('tfg:rock/spike/stromatolite', 'tfc:rock_spike') + .textureAll('tfg:block/planets/venus/stromatolite_spike') + .soundType('dripstone_block') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + + event.create('tfg:stromatolite_cluster_small', 'tfg:decorative_plant') + .soundType('dripstone_block') + .mapColor('color_brown') + .box(3, 0, 3, 13, 6, 13) + + event.create('tfg:stromatolite_cluster_medium', 'tfg:decorative_plant') + .soundType('dripstone_block') + .mapColor('color_brown') + .box(3, 0, 3, 13, 14, 13) + + //#region Fluorapatite + const fluorapatite_colors = ['blue', 'green', 'brown', 'orange', 'white', 'yellow']; + fluorapatite_colors.forEach(color => { + const mapColor = color === 'white' ? 'quartz' : `color_${color}`; + + //Sand + event.create(`tfg:sand/fluorapatite/${color}`, 'falling') + .textureAll(`tfg:block/planets/venus/sand_fluorapatite_${color}`) + .soundType('sand') + .requiresTool(false) + .tagBoth('forge:sand') + .tagItem('forge:sand/fluorapatite') + .tagBlock('minecraft:mineable/shovel') + .mapColor(mapColor) + .fullBlock(true) + .opaque(true) + //Raw Sandstone + event.create(`tfg:sandstone/raw/fluorapatite/${color}`) + .textureAll(`tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) + .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) + .hardness(0.8) + .resistance(0.8) + .soundType('stone') + .requiresTool(true) + .tagBoth('forge:sandstone') + .tagItem('forge:sandstone/fluorapatite') + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(mapColor) + .fullBlock(true) + .opaque(true) + //Smooth Sandstone + event.create(`tfg:sandstone/smooth/fluorapatite/${color}`) + .textureAll(`tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) + .hardness(0.8) + .resistance(0.8) + .soundType('stone') + .requiresTool(true) + .tagBoth('forge:sandstone') + .tagItem('forge:sandstone/fluorapatite') + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(mapColor) + .fullBlock(true) + .opaque(true) + //Chiseled Sandstone + event.create(`tfg:sandstone/smooth/chiseled/fluorapatite/${color}`) + .textureAll(`tfg:block/planets/venus/sandstone_chiseled_fluorapatite_${color}`) + .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) + .texture('down', `tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) + .hardness(0.8) + .resistance(0.8) + .soundType('stone') + .requiresTool(true) + .tagBoth('forge:sandstone') + .tagItem('forge:sandstone/fluorapatite') + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(mapColor) + .fullBlock(true) + .opaque(true) + //Sandstone + event.create(`tfg:sandstone/fluorapatite/${color}`) + .textureAll(`tfg:block/planets/venus/sandstone_fluorapatite_${color}`) + .texture('down', `tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) + .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) + .hardness(0.8) + .resistance(0.8) + .soundType('stone') + .requiresTool(true) + .tagBoth('forge:sandstone') + .tagItem('forge:sandstone/fluorapatite') + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(mapColor) + .fullBlock(true) + .opaque(true) + }) + //#endregion +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/venus/materials.venus.js b/kubejs/startup_scripts/tfg/venus/materials.venus.js new file mode 100644 index 000000000..124fa9c6e --- /dev/null +++ b/kubejs/startup_scripts/tfg/venus/materials.venus.js @@ -0,0 +1,80 @@ +"use strict"; + +function registerTFGVenusMaterials(event) { + + // Ores + + event.create('tfg:calorite') + //.components('2x mercury', '1x tungsten', '1x rhodium', '2x sulfur') + .color(0xC94D4E) + .secondaryColor(0x9A296A) + .iconSet(GTMaterialIconSet.getByName('tfc_copper')) + .ore() + .ingot() + .flags( + GTMaterialFlags.FORCE_GENERATE_BLOCK, + GTMaterialFlags.GENERATE_PLATE + ) + + //#region Bromine Line + + event.create('raw_brine') + .fluid() + .color(0x947a11) + //.secondaryColor(0x81FFF9) + + event.create('hot_brine') + .liquid(320) + .color(0x944611) + + event.create('hot_chlorinated_brominated_brine') + .liquid(320) + .color(0xbf8d5a) + .components('1x unknown', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('brominated_chlorine_vapor') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) + .color(0xbf8d5a) + .components('1x chlorine', '1x bromine', '1x water') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('acidic_bromine_solution') + .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) + .color(0xe7b989) + .components('1x chlorine', '1x bromine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('concentrated_bromine_solution') + .liquid() + .color(0x905d29) + .components('1x bromine', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('debrominated_brine') + .liquid() + .color(0xc3874a) + + event.create('acidic_bromine_exhaust') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(293)) + .color(0xec9c4a) + .components('3x water', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('hot_alkaline_debrominated_brine') + .liquid() + .color(0xcc6a06) + .components('2x unknown', '1x chlorine') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('hot_debrominated_brine') + .liquid(320) + .color(0xb08e6b) + + event.create('hydrogen_iodide') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(293)) + .color(0x82a6ce) + .components('1x hydrogen', '1x iodine') + + //#endregion +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/worldgen/blocks.beneath_deco.js b/kubejs/startup_scripts/tfg/worldgen/blocks.beneath_deco.js new file mode 100644 index 000000000..963c68a77 --- /dev/null +++ b/kubejs/startup_scripts/tfg/worldgen/blocks.beneath_deco.js @@ -0,0 +1,22 @@ +"use strict"; + +function registerTFGWorldGenBeneathDecoBlocks(event) { + + event.create('tfg:mushroom_roots', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfc:plants') + + event.create('tfg:mushroom_sprouts', 'tfg:decorative_plant') + .soundType('nether_wart') + .tagItem('tfc:plants') + + event.create('tfg:charred_log') + .fullBlock(true) + .woodSoundType() + .property(BlockProperties.AXIS) + .tagBoth('minecraft:mineable/axe') + .tagBoth('tfc:logs_that_log') + .tagBoth('afc:logs_that_log') + .tagBoth('minecraft:logs') + .mapColor('black') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js b/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js new file mode 100644 index 000000000..b5142d066 --- /dev/null +++ b/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js @@ -0,0 +1,115 @@ +"use strict"; + +function registerTFGWorldGenTrees(event) { + + // Mars Saplings + + event.create('tfg:saplings/crimson', 'tfc:sapling') + .features('tfg:mars/tree/crimson') + .tagBoth('minecraft:saplings') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_snow_piled') + .growthDays(6) + .soundType('nether_wart') + .defaultCutout() + .noCollision() + + event.create('tfg:saplings/warped', 'tfc:sapling') + .features('tfg:mars/tree/warped') + .tagBoth('minecraft:saplings') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_snow_piled') + .growthDays(6) + .soundType('nether_wart') + .defaultCutout() + .noCollision() + + event.create('tfg:saplings/alphacene', 'tfc:sapling') + .features('species:alphacene_mushroom') + .tagBoth('minecraft:saplings') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_snow_piled') + .growthDays(3) + .soundType('nether_wart') + .defaultCutout() + .noCollision() + + event.create('tfg:saplings/strophar', 'tfc:sapling') + .features('tfg:mars/tree/strophar_mini') + .tagBoth('minecraft:saplings') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_snow_piled') + .growthDays(7) + .soundType('nether_wart') + .defaultCutout() + .noCollision() + + event.create('tfg:saplings/aeronos', 'tfc:sapling') + .features('tfg:mars/tree/aeronos_mini') + .tagBoth('minecraft:saplings') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_snow_piled') + .growthDays(9) + .soundType('nether_wart') + .defaultCutout() + .noCollision() + + event.create('tfg:saplings/glacian', 'tfc:sapling') + .features('tfg:mars/tree/glacian_mini') + .tagBoth('minecraft:saplings') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_snow_piled') + .growthDays(9) + .soundType('nether_wart') + .defaultCutout() + .noCollision() + + // Glacian tree stuff + event.create('tfg:glacian_leaves', 'tfc:leaves') + .soundType('azalea_leaves') + .tagBlock('minecraft:mineable/hoe') + .tagBlock('tfg:do_not_destroy_in_space') + .mapColor('snow') + .seasonalColors(false) + .fallenLeaves(leaves => { + leaves.noCollision() + leaves.notSolid() + leaves.defaultCutout() + leaves.soundType('azalea_leaves') + leaves.tagBlock('minecraft:mineable/hoe') + leaves.tagBlock('minecraft:replaceable') + leaves.noDynamicTinting() + leaves.models((modelType, generator) => { + if (modelType.layers != 8) { + generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height); + generator.texture("all", "ad_astra:block/glacian_leaves"); + } else { + generator.parent("ad_astra:block/glacian_leaves"); + } + }) + }) + + event.create('tfg:glacian_wood', 'tfc:log') + .tagBoth('minecraft:logs') + .tagItem('minecraft:logs_that_burn') + .tagItem('ad_astra:glacian_logs') + .tagBlock('minecraft:mineable/axe') + .soundType('wood') + .stripped(stripped => { + stripped.tagBoth('minecraft:logs') + stripped.tagItem('minecraft:logs_that_burn') + stripped.tagItem('ad_astra:glacian_logs') + stripped.tagBlock('minecraft:mineable/axe') + stripped.soundType('wood') + }) + + event.create('tfg:glacian_log', 'tfc:log') + .tagBoth('minecraft:logs') + .tagBoth('c:hidden_from_recipe_viewers') + .soundType('wood') + .stripped(stripped => { + stripped.tagBoth('minecraft:logs') + stripped.tagBoth('c:hidden_from_recipe_viewers') + stripped.soundType('wood') + }) +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/worldgen/items.wood.js b/kubejs/startup_scripts/tfg/worldgen/items.wood.js new file mode 100644 index 000000000..db87b70c9 --- /dev/null +++ b/kubejs/startup_scripts/tfg/worldgen/items.wood.js @@ -0,0 +1,24 @@ +"use strict"; + +function registerTFGWoodItems(event) { + + global.AD_ASTRA_WOOD.forEach(wood => { + event.create(`tfg:wood/lumber/${wood.name}`) + .translationKey(`item.tfg.${wood.name}_lumber`) + .tag('tfc:lumber') + }) + + + event.create('tfg:twigs/strophar') + .tag('tfc:twigs') + .texture('tfg:item/wood/twig/strophar') + event.create('tfg:twigs/aeronos') + .tag('tfc:twigs') + .texture('tfg:item/wood/twig/aeronos') + event.create('tfg:twigs/glacian') + .tag('tfc:twigs') + .texture('tfg:item/wood/twig/glacian') + event.create('tfg:twigs/alphacene') + .tag('tfc:twigs') + .texture('tfg:item/wood/twig/alphacene') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/worldgen/utility.js b/kubejs/startup_scripts/tfg/worldgen/utility.js new file mode 100644 index 000000000..83e19c2f5 --- /dev/null +++ b/kubejs/startup_scripts/tfg/worldgen/utility.js @@ -0,0 +1,29 @@ +// priority: 0 +"use strict"; + + +/** + * @param {any} event + * @param {string} id + * @param {string} planet + */ +function createPlant(event, id, planet) { + return event.create(`betterend:${id}`, 'tfg:decorative_plant') + .tagItem(`tfg:${planet}_plants`) + .tagBlock('minecraft:replaceable') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_snow_piled') +} + +/** + * @param {any} event + * @param {string} id + * @param {string} planet + */ +function createWaterPlant(event, id, planet) { + return event.create(`betterend:${id}`, 'tfg:decorative_plant') + .tagItem(`tfg:${planet}_plants`) + .tagBlock('minecraft:replaceable') + .tagBlock('tfg:do_not_destroy_in_space') + .tagBlock('tfc:can_be_ice_piled') +} \ No newline at end of file From 6f84c238a1f6c7c184f0bc8c25d97c56a90c2a99 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 11:22:45 +0500 Subject: [PATCH 198/628] Bump the dependencies group across 1 directory with 3 updates (#2315) Bumps the dependencies group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [roamingowl/template-output-with-eta](https://github.com/roamingowl/template-output-with-eta) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `actions/checkout` from 5.0.0 to 6.0.0 - [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/v5.0.0...v6.0.0) Updates `roamingowl/template-output-with-eta` from 2.1.0 to 2.2.0 - [Release notes](https://github.com/roamingowl/template-output-with-eta/releases) - [Commits](https://github.com/roamingowl/template-output-with-eta/compare/v2.1.0...v2.2.0) Updates `softprops/action-gh-release` from 2.4.2 to 2.5.0 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v2.4.2...v2.5.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies - dependency-name: roamingowl/template-output-with-eta dependency-version: 2.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: softprops/action-gh-release dependency-version: 2.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 339765c99..9f6283efd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,7 +34,7 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v5.0.0 + uses: actions/checkout@v6.0.0 with: fetch-depth: 0 @@ -194,7 +194,7 @@ jobs: - name: 📄 Format diff id: format_diff if: ${{ steps.read_diff.outputs.diff != '' }} - uses: roamingowl/template-output-with-eta@v2.1.0 + uses: roamingowl/template-output-with-eta@v2.2.0 with: template: | ```markdown @@ -229,7 +229,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v5.0.0 + uses: actions/checkout@v6.0.0 with: fetch-depth: 0 @@ -313,7 +313,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v5.0.0 + uses: actions/checkout@v6.0.0 - name: 🔄 Replace strings shell: bash @@ -424,7 +424,7 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v5.0.0 + uses: actions/checkout@v6.0.0 - name: 📦 Download artifact uses: actions/download-artifact@v6.0.0 @@ -452,7 +452,7 @@ jobs: - name: 📄 Format diff id: format_diff if: ${{ needs.info.outputs.diff != '' }} - uses: roamingowl/template-output-with-eta@v2.1.0 + uses: roamingowl/template-output-with-eta@v2.2.0 with: template: | ```markdown @@ -461,7 +461,7 @@ jobs: - name: 🚀 Create release id: release - uses: softprops/action-gh-release@v2.4.2 + uses: softprops/action-gh-release@v2.5.0 with: name: ${{ needs.info.outputs.project_version }} tag_name: ${{ needs.info.outputs.project_version }} From b09b3215a302a18d785c0596a084076cdb87dad8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 2 Dec 2025 19:12:21 +0000 Subject: [PATCH 199/628] make some quests optional --- config/ftbquests/quests/chapters/questsmetallurgy.snbt | 3 +++ config/ftbquests/quests/chapters/questssteam_age.snbt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 5b8e901f7..99a9758b1 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -50,6 +50,7 @@ { id: "19CF6D922179DFF9" linked_quest: "11C45DBB20ED7647" + shape: "heart" x: 9.0d y: -34.0d } @@ -1203,6 +1204,8 @@ dependencies: ["3C173357029AB649"] description: ["{quests.metal_age.copper_diving.desc}"] id: "70FE6706B43FC5FC" + optional: true + shape: "heart" subtitle: "{quests.metal_age.copper_diving.subtitle}" tasks: [ { diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 660a1750c..4c553582d 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -577,6 +577,8 @@ description: ["{quests.steam_age.steam_bloomery.desc}"] icon: "gtceu:steam_bloomery" id: "0805CCABC8E7F6CF" + optional: true + shape: "heart" size: 1.5d subtitle: "{quests.steam_age.steam_bloomery.subtitle}" tasks: [ From 1545f19ce6c1fb42885ae16c687b0af337209b95 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 2 Dec 2025 19:12:36 +0000 Subject: [PATCH 200/628] big refactor of a lot of the recipe files! --- kubejs/server_scripts/ad_astra/recipes.js | 549 +----- kubejs/server_scripts/ae2/recipes.js | 10 - kubejs/server_scripts/afc/recipes.js | 6 +- kubejs/server_scripts/beneath/recipes.js | 46 - kubejs/server_scripts/create/recipes.js | 64 - kubejs/server_scripts/gregtech/recipes.js | 1476 +---------------- .../gregtech/recipes.machines.js | 446 +---- .../gregtech/recipes.recycling.js | 116 +- .../gregtech/recipes.removes.js | 7 + kubejs/server_scripts/gregtech/tags.js | 4 - .../immersive_aircraft/recipes.js | 48 + kubejs/server_scripts/main_server_script.js | 2 +- kubejs/server_scripts/minecraft/recipes.js | 94 -- kubejs/server_scripts/species/recipes.js | 24 - kubejs/server_scripts/tfc/data.js | 23 - kubejs/server_scripts/tfc/recipes.js | 293 +--- kubejs/server_scripts/tfc/recipes.machines.js | 452 ----- kubejs/server_scripts/tfc/recipes.metals.js | 37 +- kubejs/server_scripts/tfc/recipes.wood.js | 55 - kubejs/server_scripts/tfg/data.js | 955 +---------- .../server_scripts/tfg/events.interactions.js | 521 ++++++ kubejs/server_scripts/tfg/events.js | 724 -------- kubejs/server_scripts/tfg/food/data.crops.js | 88 + kubejs/server_scripts/tfg/food/data.food.js | 583 +++++++ .../server_scripts/tfg/food/data.planters.js | 167 ++ .../tfg/food/recipes.biomass.js | 182 ++ .../tfg/{ => food}/recipes.food.js | 82 - .../tfg/food/recipes.meal_bags.js | 108 ++ .../tfg/food/recipes.refrigerators.js | 113 ++ .../tfg/machines/recipes.casings.js | 182 ++ .../tfg/machines/recipes.components.js | 254 +++ .../tfg/machines/recipes.ender_pearls.js | 61 + .../tfg/{ => machines}/recipes.molds.js | 0 .../tfg/machines/recipes.multiblocks.js | 177 ++ .../tfg/machines/recipes.steam_bloomery.js | 38 + .../events.sandstorm.js} | 0 .../server_scripts/tfg/mars/recipes.iodine.js | 74 + .../server_scripts/tfg/mars/recipes.mars.js | 231 +++ .../server_scripts/tfg/mars/recipes.ostrum.js | 140 ++ .../server_scripts/tfg/moon/recipes.moon.js | 27 + .../server_scripts/tfg/moon/recipes.plants.js | 90 + .../tfg/moon/recipes.regolith.js | 144 ++ .../natural_blocks}/recipes.alabaster.js | 2 +- .../{ => natural_blocks}/recipes.collapse.js | 4 + .../tfg/natural_blocks/recipes.concrete.js | 144 ++ .../natural_blocks}/recipes.dirt.js | 9 +- .../tfg/{ => natural_blocks}/recipes.rocks.js | 25 + .../natural_blocks}/recipes.sand.js | 23 +- .../recipes.stone_dusts.js | 18 + .../natural_blocks/recipes.tfc_stone.js} | 0 .../tfg/{ => natural_blocks}/tags.stones.js | 0 .../tfg/nuclear/recipes.ostrum.js | 83 - .../ores_and_materials/loot.ores.js} | 2 +- .../ores_and_materials/recipes.alloys.js} | 79 +- .../tfg/ores_and_materials/recipes.bromine.js | 126 ++ .../ores_and_materials/recipes.quartzes.js | 132 ++ .../ores_and_materials/recipes.tungsten.js | 86 + .../ores_and_materials/recipes.zirconium.js | 61 + .../nuclear/recipes.components.js | 0 .../{ => powergen}/nuclear/recipes.nuclear.js | 145 -- .../{ => powergen}/nuclear/tags.nuclear.js | 0 .../tfg/powergen/recipes.biodiesel.js | 116 ++ .../tfg/powergen/recipes.boiler.js | 91 + .../tfg/powergen/recipes.coal.js | 96 ++ .../recipes.early_gas.js} | 66 +- .../tfg/powergen/recipes.solar.js | 184 ++ .../tfg/primitive/events.fishing_nets.js | 93 ++ .../tfg/primitive/events.medicine.js | 100 ++ .../tfg/primitive/recipes.arrows.js | 75 + .../tfg/primitive/recipes.baskets.js | 64 + .../tfg/primitive/recipes.clay.js | 144 ++ .../tfg/primitive/recipes.cloth.js | 263 +++ .../tfg/primitive/recipes.compost.js | 194 +++ .../{ => primitive}/recipes.fishing_nets.js | 0 .../primitive/recipes.glue_and_chipboard.js | 101 ++ .../tfg/primitive/recipes.ice.js | 104 ++ .../primitive}/recipes.knapping.js | 2 +- .../tfg/primitive/recipes.leather.js | 212 +++ .../tfg/{ => primitive}/recipes.medicine.js | 0 .../tfg/{ => primitive}/recipes.paper.js | 29 +- .../tfg/primitive/recipes.rubber.js | 133 ++ .../tfg/{ => primitive}/recipes.supports.js | 0 .../tfg/primitive/recipes.vases.js | 59 + .../tfg/primitive/recipes.wax.js | 64 + .../tfg/primitive/recipes.wood.js | 236 +++ kubejs/server_scripts/tfg/recipes.js | 79 +- .../tfg/recipes.miscellaneous.js | 1433 +--------------- kubejs/server_scripts/tfg/recipes.space.js | 457 ----- .../server_scripts/tfg/recipes.space_ores.js | 259 --- .../tfg/space_general/recipes.insulation.js | 234 +++ .../tfg/space_general/recipes.railgun.js | 111 ++ .../tfg/space_general/recipes.rockets.js | 283 ++++ .../tfg/space_general/recipes.space.js | 114 ++ .../tfg/space_general/recipes.space_suits.js | 182 ++ kubejs/server_scripts/tfg/tags.js | 6 +- .../tfg/{ => venus}/recipes.biochem.js | 0 .../server_scripts/tfg/worldgen/data.fauna.js | 108 ++ .../tfg/{ => worldgen}/entities.js | 0 .../tfg/{ => worldgen}/events.chunks.js | 0 .../tfg/{ => worldgen}/events.forests.js | 0 .../{tfc => tfg/worldgen}/select_climates.js | 0 .../wan_ancient_beasts/recipes.js | 13 - .../tfg/nuclear/materials.nuclear.js | 4 +- 103 files changed, 7701 insertions(+), 7640 deletions(-) delete mode 100644 kubejs/server_scripts/tfc/recipes.machines.js delete mode 100644 kubejs/server_scripts/tfc/recipes.wood.js create mode 100644 kubejs/server_scripts/tfg/events.interactions.js create mode 100644 kubejs/server_scripts/tfg/food/data.crops.js create mode 100644 kubejs/server_scripts/tfg/food/data.food.js create mode 100644 kubejs/server_scripts/tfg/food/data.planters.js create mode 100644 kubejs/server_scripts/tfg/food/recipes.biomass.js rename kubejs/server_scripts/tfg/{ => food}/recipes.food.js (95%) create mode 100644 kubejs/server_scripts/tfg/food/recipes.meal_bags.js create mode 100644 kubejs/server_scripts/tfg/food/recipes.refrigerators.js create mode 100644 kubejs/server_scripts/tfg/machines/recipes.casings.js create mode 100644 kubejs/server_scripts/tfg/machines/recipes.components.js create mode 100644 kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js rename kubejs/server_scripts/tfg/{ => machines}/recipes.molds.js (100%) create mode 100644 kubejs/server_scripts/tfg/machines/recipes.multiblocks.js create mode 100644 kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js rename kubejs/server_scripts/tfg/{events.mars.js => mars/events.sandstorm.js} (100%) create mode 100644 kubejs/server_scripts/tfg/mars/recipes.iodine.js create mode 100644 kubejs/server_scripts/tfg/mars/recipes.mars.js create mode 100644 kubejs/server_scripts/tfg/mars/recipes.ostrum.js create mode 100644 kubejs/server_scripts/tfg/moon/recipes.moon.js create mode 100644 kubejs/server_scripts/tfg/moon/recipes.plants.js create mode 100644 kubejs/server_scripts/tfg/moon/recipes.regolith.js rename kubejs/server_scripts/{tfc => tfg/natural_blocks}/recipes.alabaster.js (98%) rename kubejs/server_scripts/tfg/{ => natural_blocks}/recipes.collapse.js (97%) create mode 100644 kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js rename kubejs/server_scripts/{tfc => tfg/natural_blocks}/recipes.dirt.js (95%) rename kubejs/server_scripts/tfg/{ => natural_blocks}/recipes.rocks.js (98%) rename kubejs/server_scripts/{tfc => tfg/natural_blocks}/recipes.sand.js (93%) rename kubejs/server_scripts/tfg/{ => natural_blocks}/recipes.stone_dusts.js (95%) rename kubejs/server_scripts/{tfc/recipes.stone.js => tfg/natural_blocks/recipes.tfc_stone.js} (100%) rename kubejs/server_scripts/tfg/{ => natural_blocks}/tags.stones.js (100%) delete mode 100644 kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js rename kubejs/server_scripts/{gregtech/loot.js => tfg/ores_and_materials/loot.ores.js} (99%) rename kubejs/server_scripts/{gregtech/recipes.tfcmetals.js => tfg/ores_and_materials/recipes.alloys.js} (63%) create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.bromine.js create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.tungsten.js create mode 100644 kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js rename kubejs/server_scripts/tfg/{ => powergen}/nuclear/recipes.components.js (100%) rename kubejs/server_scripts/tfg/{ => powergen}/nuclear/recipes.nuclear.js (77%) rename kubejs/server_scripts/tfg/{ => powergen}/nuclear/tags.nuclear.js (100%) create mode 100644 kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js create mode 100644 kubejs/server_scripts/tfg/powergen/recipes.boiler.js create mode 100644 kubejs/server_scripts/tfg/powergen/recipes.coal.js rename kubejs/server_scripts/tfg/{early_power.js => powergen/recipes.early_gas.js} (77%) create mode 100644 kubejs/server_scripts/tfg/powergen/recipes.solar.js create mode 100644 kubejs/server_scripts/tfg/primitive/events.fishing_nets.js create mode 100644 kubejs/server_scripts/tfg/primitive/events.medicine.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.arrows.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.baskets.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.clay.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.cloth.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.compost.js rename kubejs/server_scripts/tfg/{ => primitive}/recipes.fishing_nets.js (100%) create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.ice.js rename kubejs/server_scripts/{tfc => tfg/primitive}/recipes.knapping.js (99%) create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.leather.js rename kubejs/server_scripts/tfg/{ => primitive}/recipes.medicine.js (100%) rename kubejs/server_scripts/tfg/{ => primitive}/recipes.paper.js (91%) create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.rubber.js rename kubejs/server_scripts/tfg/{ => primitive}/recipes.supports.js (100%) create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.vases.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.wax.js create mode 100644 kubejs/server_scripts/tfg/primitive/recipes.wood.js delete mode 100644 kubejs/server_scripts/tfg/recipes.space.js delete mode 100644 kubejs/server_scripts/tfg/recipes.space_ores.js create mode 100644 kubejs/server_scripts/tfg/space_general/recipes.insulation.js create mode 100644 kubejs/server_scripts/tfg/space_general/recipes.railgun.js create mode 100644 kubejs/server_scripts/tfg/space_general/recipes.rockets.js create mode 100644 kubejs/server_scripts/tfg/space_general/recipes.space.js create mode 100644 kubejs/server_scripts/tfg/space_general/recipes.space_suits.js rename kubejs/server_scripts/tfg/{ => venus}/recipes.biochem.js (100%) create mode 100644 kubejs/server_scripts/tfg/worldgen/data.fauna.js rename kubejs/server_scripts/tfg/{ => worldgen}/entities.js (100%) rename kubejs/server_scripts/tfg/{ => worldgen}/events.chunks.js (100%) rename kubejs/server_scripts/tfg/{ => worldgen}/events.forests.js (100%) rename kubejs/server_scripts/{tfc => tfg/worldgen}/select_climates.js (100%) diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js index 3e7a73a00..250a1732d 100644 --- a/kubejs/server_scripts/ad_astra/recipes.js +++ b/kubejs/server_scripts/ad_astra/recipes.js @@ -8,426 +8,6 @@ const registerAdAstraRecipes = (event) => { event.remove({ mod: 'ad_astra' }) - //#region Rocket parts - - event.recipes.gtceu.shaped('ad_astra:launch_pad', [ - 'BAB', - 'AAA', - 'BAB' - ], { - A: '#forge:plates/steel', - B: '#forge:rods/steel' - }).addMaterialInfo().id('tfg:launch_pad') - - //#region Tier 1 rocket - - event.recipes.gtceu.assembler('tfg:rocket_nose_cone_t1') - .itemInputs( - 'gtceu:hv_emitter', - ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 1), - ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 3)) - .inputFluids(Fluid.of('gtceu:polyethylene', 144 * 16)) - .itemOutputs('ad_astra:rocket_nose_cone') - .duration(1200) - .circuit(2) - .EUt(480) - .addMaterialInfo(true, true) - - - event.recipes.gtceu.pyrolyse_oven('tfg:pyrolyse_vitrified_asbestos_dust') - .inputFluids(Fluid.of('gtceu:nitrogen', 100)) - .itemInputs('gtceu:asbestos_dust') - .itemOutputs('gtceu:vitrified_asbestos_dust') - .duration(80) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.mixer('tfg:rocket_alloy_t1') - .itemInputs('6x #forge:dusts/aluminium', '2x #forge:dusts/stainless_steel') - .inputFluids(Fluid.of('gtceu:red_steel', 144)) - .itemOutputs('9x #forge:dusts/rocket_alloy_t1') - .duration(580) - .circuit(2) - .EUt(480) - - event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_water') - .itemInputs('#forge:hot_ingots/rocket_alloy_t1') - .inputFluids(Fluid.of('minecraft:water', 100)) - .itemOutputs('#forge:ingots/rocket_alloy_t1') - .duration(400) - .EUt(120) - - event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_distilled_water') - .itemInputs('#forge:hot_ingots/rocket_alloy_t1') - .inputFluids(Fluid.of('gtceu:distilled_water', 100)) - .itemOutputs('#forge:ingots/rocket_alloy_t1') - .duration(250) - .EUt(120) - - event.recipes.gtceu.assembler(`tfg:rocket_fin_t1`) - .itemInputs( - ChemicalHelper.get(TagPrefix.plate, TFGHelpers.getMaterial('rocket_alloy_t1'), 1), - ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 1) - ) - .itemOutputs('ad_astra:rocket_fin') - .duration(150) - .circuit(2) - .EUt(GTValues.VA[GTValues.HV]) - .addMaterialInfo(true) - - - event.recipes.gtceu.assembler('tfg:rocket_steel_engine') - .itemInputs( - ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 2), - '2x #gtceu:circuits/hv', - 'gtceu:hv_electric_pump', - '2x gtceu:power_thruster', - ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1) - ) - .inputFluids(Fluid.of('gtceu:blue_steel', 144 * 8)) - .itemOutputs('ad_astra:steel_engine') - .duration(600) - .circuit(2) - .EUt(GTValues.VA[GTValues.HV]) - .addMaterialInfo(true, true) - - event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_rocket') - .itemInputs( - ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 8), - '4x ad_astra:rocket_fin', - '1x ad_astra:steel_engine', - '1x ad_astra:rocket_nose_cone', - '16x #forge:insulation_t1', - '4x #gtceu:circuits/hv' - ) - .inputFluids(Fluid.of('gtceu:silicon', 144 * 16)) - .itemOutputs('ad_astra:tier_1_rocket') - .duration(1200) - .circuit(2) - .EUt(GTValues.VA[GTValues.HV]) - .addMaterialInfo(true, true) - - //#endregion - - - //region tier 2 rocket - - event.remove({ mod: 'gtceu', input: 'gtceu:hot_rocket_alloy_t2_ingot' }) - - event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2') - .itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium') - .inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000)) - .outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32)) - .duration(1320 * 20) - .circuit(2) - .blastFurnaceTemp(3200) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2_gas') - .itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium') - .inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000), Fluid.of('gtceu:helium', 3200)) - .outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32)) - .duration(17688) - .circuit(12) - .blastFurnaceTemp(3200) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_molten_rocket_alloy_t2') - .notConsumable('gtceu:ingot_casting_mold') - .inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144), Fluid.of('tfg:cryogenized_fluix', 288)) - .itemOutputs('#forge:ingots/rocket_alloy_t2') - .duration(120) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.mixer('tfg:rocket_alloy_t2') - .itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium') - .inputFluids(Fluid.of('gtceu:vanadium', 144 * 4)) - .itemOutputs('32x #forge:dusts/rocket_alloy_t2') - .duration(15 * 20) - .circuit(5) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_rocket_alloy_t2') - .itemInputs('#forge:hot_ingots/rocket_alloy_t2') - .inputFluids(Fluid.of('gtceu:distilled_water', 500), Fluid.of('tfg:cryogenized_fluix', 288)) - .itemOutputs('#forge:ingots/rocket_alloy_t2') - .duration(120) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.assembler('tfg:rocket_fin_t2') - .itemInputs('#forge:plates/rocket_alloy_t2', - '#forge:double_plates/titanium') - .itemOutputs('tfg:rocket_fin_t2') - .duration(180) - .circuit(3) - .EUt(GTValues.VA[GTValues.EV]) - .addMaterialInfo(true) - - event.recipes.gtceu.assembler('tfg:rocket_cone_t2') - .itemInputs('gtceu:ev_emitter', '#forge:dense_plates/rocket_alloy_t2', '#forge:double_plates/titanium', - '#forge:double_plates/desh') - .itemOutputs('tfg:rocket_cone_t2') - .duration(1440) - .circuit(3) - .EUt(GTValues.VA[GTValues.EV]) - .addMaterialInfo(true) - - - event.recipes.gtceu.assembler('tfg:rocket_desh_engine') - .itemInputs( - ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 4), - '2x #gtceu:circuits/ev', - 'gtceu:ev_electric_pump', - '3x gtceu:advanced_power_thruster', - ChemicalHelper.get(TagPrefix.rod, GTMaterials.NeodymiumMagnetic, 4), - ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1)) - .inputFluids(Fluid.of('gtceu:desh', 144 * 12)) - .itemOutputs('ad_astra:desh_engine') - .duration(800) - .circuit(3) - .EUt(GTValues.VA[GTValues.EV]) - .addMaterialInfo(true, true) - - event.recipes.gtceu.assembler('ad_astra:tier_2_rocket') - .itemInputs( - ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 12), - '4x tfg:rocket_fin_t2', - '1x ad_astra:desh_engine', - '1x tfg:rocket_cone_t2', - '12x #forge:insulation_t2/roll', - '4x #gtceu:circuits/ev' - ) - .inputFluids(Fluid.of('gtceu:titanium', 144 * 16)) - .itemOutputs('ad_astra:tier_2_rocket') - .duration(1440) - .circuit(3) - .EUt(GTValues.VA[GTValues.EV]) - .addMaterialInfo(true, true) - - //#endregion - - //region Tier 3 DISABLED UNTIL IV - event.remove({ id: "gtceu:vacuum_freezer/cool_hot_rocket_alloy_t3_ingot" }) - event.remove({ id: "gtceu:vacuum_freezer/rocket_alloy_t3" }) - /* - event.recipes.gtceu.vacuum_freezer('tfg:cool_rocket_alloy_t3') - .inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t3', 144), Fluid.of('gtceu:ice', 4000)) - .notConsumable('gtceu:ingot_casting_mold') - .itemOutputs('#forge:ingots/rocket_alloy_t3') - .duration(800) - .EUt(GTValues.VA[GTValues.HV]) - event.recipes.gtceu.vacuum_freezer('tfg:cool_hot_rocket_alloy_t3') - .itemInputs('#forge:hot_ingots/rocket_alloy_t3') - .inputFluids(Fluid.of('gtceu:liquid_helium', 500)) - .itemOutputs('#forge:ingots/rocket_alloy_t3') - .outputFluids(Fluid.of('gtceu:helium', 250)) - .duration(400) - .EUt(GTValues.VA[GTValues.HV]) - - //Add some unique cooling thing for molten ingots - - event.recipes.gtceu.assembler('tfg:rocket_fin_t3') - .itemInputs('#forge:plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel') - .itemOutputs('tfg:rocket_fin_t3') - .duration(220) - .circuit(4) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true) - - event.recipes.gtceu.assembler('tfg:rocket_cone_t3') - .itemInputs('gtceu:iv_emitter', '#forge:dense_plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel', - '#forge:double_plates/ostrum', 'gtceu:plutonium_nugget') //change this to the pellet - .itemOutputs('tfg:rocket_cone_t3') - .duration(1700) - .circuit(4) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true) - - event.recipes.gtceu.assembler('tfg:elite_power_thruster') - .itemInputs('gtceu:ev_electric_motor', '2x #forge:rings/titanium', '#forge:rods/titanium', - 'gtceu:ultimet_rotor', '2x gtceu:aluminium_single_cable') - .itemOutputs('tfg:elite_power_thruster') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - .addMaterialInfo(true) - - event.recipes.gtceu.assembler('tfg:rocket_ostrum_engine') - .itemInputs( - '6x #forge:double_plates/tungsten_steel', - '4x #gtceu:circuits/iv', - 'gtceu:iv_electric_pump', - '3x tfg:elite_power_thruster', - '4x #forge:insulation_t3/cryo', - '6x #forge:rods/magnetic_neodymium', - '#forge:rotors/tungsten_steel') - .inputFluids(Fluid.of('gtceu:ostrum', 144 * 16)) - .itemOutputs('ad_astra:ostrum_engine') - .duration(960) - .circuit(4) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true, true) - - event.recipes.gtceu.assembler('tfg:rocket_ostrum_tank') - .itemInputs( - '4x #forge:double_plates/rocket_alloy_t3', - 'gtceu:iv_electric_pump', - 'tfg:elite_power_thruster', - '2x #forge:insulation_t3/cryo') - .inputFluids(Fluid.of('gtceu:ostrum', 144 * 4)) - .itemOutputs('ad_astra:ostrum_tank') - .duration(400) - .circuit(4) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true, true) - - event.recipes.gtceu.assembler('ad_astra:tier_3_rocket') - .itemInputs( - '16x #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', - '8x #forge:insulation_t3/sheet' - ) - .inputFluids(Fluid.of('gtceu:bromine', 1000 * 16)) - .itemOutputs('ad_astra:tier_3_rocket') - .duration(1700) - .circuit(4) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true, true) - - //#endregion -*/ - //#region space suits NETHERITE STUFF DISABLED UNTIL IV - - event.recipes.gtceu.forming_press('space_suit_fabric') - .itemInputs( - '#forge:foils/aluminium', - 'gtceu:carbon_fiber_mesh', - '#forge:foils/silicone_rubber', - 'tfg:polycaprolactam_fabric' - ) - .itemOutputs('2x tfg:space_suit_fabric') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.HV]) - .addMaterialInfo(true) - - event.recipes.gtceu.forming_press('better_space_suit_fabric') - .itemInputs( - '#forge:foils/polybenzimidazole', - 'gtceu:carbon_fiber_mesh', - '#forge:aerogels', - 'tfg:glacian_wool' - ) - .itemOutputs('2x tfg:better_space_suit_fabric') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true) - - event.recipes.gtceu.shaped('ad_astra:space_helmet', [ - 'AAA', - 'ADA', - 'BBB' - ], { - A: 'gtceu:tempered_glass', - B: 'tfg:space_suit_fabric', - D: '#forge:small_fluid_pipes/polyethylene' - }).addMaterialInfo().id('tfg:space_helmet') - - event.recipes.gtceu.assembler('ad_astra:netherite_space_helmet') - .itemInputs( - 'ad_astra:space_helmet', - '2x #forge:plates/tungsten_steel', - '1x #forge:plates/ostrum', - '3x tfg:better_space_suit_fabric', - '5x gtceu:laminated_glass' - ) - .itemOutputs('ad_astra:netherite_space_helmet') - .duration(400) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true) - - event.recipes.gtceu.shaped('ad_astra:space_suit', [ - 'B B', - 'BDB', - 'BBB' - ], { - B: 'tfg:space_suit_fabric', - D: 'ad_astra:oxygen_gear' - }).addMaterialInfo().id('tfg:space_suit') - - event.shapeless('ad_astra:space_suit', ['ad_astra:space_suit']) - .id('tfg:empty_space_suit') - - event.recipes.gtceu.assembler('ad_astra:netherite_space_suit') - .itemInputs( - 'ad_astra:space_suit', - '3x #forge:plates/tungsten_steel', - '2x #forge:plates/ostrum', - '5x tfg:better_space_suit_fabric' - ) - .itemOutputs('ad_astra:netherite_space_suit') - .duration(400) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true) - - event.shapeless('ad_astra:netherite_space_suit', ['ad_astra:netherite_space_suit']) - .id('tfg:empty_netherite_space_suit') - - event.recipes.gtceu.shaped('ad_astra:space_pants', [ - 'BAB', - 'B B', - 'B B' - ], { - A: 'gtceu:hv_electric_motor', - B: 'tfg:space_suit_fabric', - }).addMaterialInfo().id('tfg:space_pants') - - event.recipes.gtceu.assembler('ad_astra:netherite_space_pants') - .itemInputs( - 'ad_astra:space_pants', - '2x #forge:plates/tungsten_steel', - '2x #forge:plates/ostrum', - '4x tfg:better_space_suit_fabric' - ) - .itemOutputs('ad_astra:netherite_space_pants') - .duration(400) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true) - - event.recipes.gtceu.shaped('ad_astra:space_boots', [ - 'B B', - 'A A' - ], { - A: '#forge:plates/polyphenylene_sulfide', - B: 'tfg:space_suit_fabric' - }).addMaterialInfo().id('tfg:space_boots') - - event.recipes.gtceu.assembler('ad_astra:netherite_space_boots') - .itemInputs( - 'ad_astra:space_boots', - '1x #forge:plates/tungsten_steel', - '1x #forge:plates/ostrum', - '2x tfg:better_space_suit_fabric' - ) - .itemOutputs('ad_astra:netherite_space_boots') - .duration(400) - .EUt(GTValues.VA[GTValues.IV]) - .addMaterialInfo(true) - - - event.recipes.gtceu.shaped('ad_astra:oxygen_gear', [ - 'BAB', - 'ECE', - 'BDB' - ], { - A: '#gtceu:circuits/hv', - B: '#forge:tiny_fluid_pipes/stainless_steel', - C: 'gtceu:hv_electric_pump', - D: 'gtceu:fluid_detector_cover', - E: 'ad_astra:gas_tank' - }).addMaterialInfo().id('tfg:oxygen_gear') - - //#endregion //#region Gas tanks @@ -919,28 +499,6 @@ const registerAdAstraRecipes = (event) => { event.stonecutting('ad_astra:encased_etrium_block', '#tfg:ad_astra_etrium_blocks') event.stonecutting('ad_astra:etrium_plateblock', '#tfg:ad_astra_etrium_blocks') - event.recipes.tfc.loom( - '8x ad_astra:glacian_fur', - '8x tfg:glacian_wool', - 8, - 'ad_astra:block/glacian_fur' - ) - - event.recipes.gtceu.assembler('tfg:assembler/glacian_fur') - .itemInputs('tfg:glacian_wool') - .circuit(10) - .itemOutputs('ad_astra:glacian_fur') - .duration(100) - .EUt(4) - - event.shaped('minecraft:pink_bed', [ - 'AAA', - 'BBB' - ], { - A: 'ad_astra:glacian_fur', - B: '#tfc:lumber' - }).id('tfg:shaped/glacian_bed') - //#endregion //#region Space stations @@ -949,10 +507,10 @@ const registerAdAstraRecipes = (event) => { type: "ad_astra:space_station_recipe", dimension: "ad_astra:earth_orbit", ingredients: [ - { count: 43, ingredient: { item: "gtceu:aluminium_frame" }}, - { count: 24, ingredient: { item: "gtceu:glass_plate" }}, - { count: 4, ingredient: { item: "minecraft:glowstone_dust" }}, - { count: 1, ingredient: { item: "ad_astra:launch_pad" }} + { count: 43, ingredient: { item: "gtceu:aluminium_frame" } }, + { count: 24, ingredient: { item: "gtceu:glass_plate" } }, + { count: 4, ingredient: { item: "minecraft:glowstone_dust" } }, + { count: 1, ingredient: { item: "ad_astra:launch_pad" } } ], structure: "tfg:orbit/space_station" }) @@ -961,10 +519,10 @@ const registerAdAstraRecipes = (event) => { type: "ad_astra:space_station_recipe", dimension: "ad_astra:moon_orbit", ingredients: [ - { count: 43, ingredient: { item: "gtceu:aluminium_frame" }}, - { count: 24, ingredient: { item: "gtceu:glass_plate" }}, - { count: 4, ingredient: { item: "minecraft:glowstone_dust" }}, - { count: 1, ingredient: { item: "ad_astra:launch_pad" }} + { count: 43, ingredient: { item: "gtceu:aluminium_frame" } }, + { count: 24, ingredient: { item: "gtceu:glass_plate" } }, + { count: 4, ingredient: { item: "minecraft:glowstone_dust" } }, + { count: 1, ingredient: { item: "ad_astra:launch_pad" } } ], structure: "tfg:orbit/space_station" }) @@ -973,10 +531,46 @@ const registerAdAstraRecipes = (event) => { type: "ad_astra:space_station_recipe", dimension: "ad_astra:mars_orbit", ingredients: [ - { count: 43, ingredient: { item: "gtceu:aluminium_frame" }}, - { count: 24, ingredient: { item: "gtceu:glass_plate" }}, - { count: 4, ingredient: { item: "minecraft:glowstone_dust" }}, - { count: 1, ingredient: { item: "ad_astra:launch_pad" }} + { count: 43, ingredient: { item: "gtceu:aluminium_frame" } }, + { count: 24, ingredient: { item: "gtceu:glass_plate" } }, + { count: 4, ingredient: { item: "minecraft:glowstone_dust" } }, + { count: 1, ingredient: { item: "ad_astra:launch_pad" } } + ], + structure: "tfg:orbit/space_station" + }) + + event.custom({ + type: "ad_astra:space_station_recipe", + dimension: "ad_astra:venus_orbit", + ingredients: [ + { count: 43, ingredient: { item: "gtceu:aluminium_frame" } }, + { count: 24, ingredient: { item: "gtceu:glass_plate" } }, + { count: 4, ingredient: { item: "minecraft:glowstone_dust" } }, + { count: 1, ingredient: { item: "ad_astra:launch_pad" } } + ], + structure: "tfg:orbit/space_station" + }) + + event.custom({ + type: "ad_astra:space_station_recipe", + dimension: "ad_astra:mercury_orbit", + ingredients: [ + { count: 43, ingredient: { item: "gtceu:aluminium_frame" } }, + { count: 24, ingredient: { item: "gtceu:glass_plate" } }, + { count: 4, ingredient: { item: "minecraft:glowstone_dust" } }, + { count: 1, ingredient: { item: "ad_astra:launch_pad" } } + ], + structure: "tfg:orbit/space_station" + }) + + event.custom({ + type: "ad_astra:space_station_recipe", + dimension: "ad_astra:glacio_orbit", + ingredients: [ + { count: 43, ingredient: { item: "gtceu:aluminium_frame" } }, + { count: 24, ingredient: { item: "gtceu:glass_plate" } }, + { count: 4, ingredient: { item: "minecraft:glowstone_dust" } }, + { count: 1, ingredient: { item: "ad_astra:launch_pad" } } ], structure: "tfg:orbit/space_station" }) @@ -984,45 +578,12 @@ const registerAdAstraRecipes = (event) => { //#endregion //#region Wood - event.remove({ type: 'greate:cutting', input: '#ad_astra:aeronos_caps' }) - event.remove({ type: 'greate:cutting', input: 'ad_astra:aeronos_planks' }) - event.remove({ type: 'greate:cutting', input: '#ad_astra:strophar_caps' }) - event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_log' }) - event.remove({ type: 'greate:cutting', input: 'ad_astra:stripped_glacian_log' }) - event.remove({ type: 'greate:cutting', input: 'ad_astra:strophar_planks' }) - event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_planks' }) - - global.AD_ASTRA_WOOD.forEach(wood => { - woodBuilder(event, wood.name, wood.lumber, wood.logs, wood.log, wood.stripped_log, wood.plank, wood.stair, wood.slab, wood.door, wood.trapdoor, wood.fence, wood.fence_gate, wood.support, wood.pressure_plate, wood.button) - }) - - event.shaped('16x ad_astra:aeronos_ladder', [ - 'A A', - 'ABA', - 'A A' - ], { - A: 'tfg:wood/lumber/aeronos', - B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), - }).id('tfg:shaped/aeronos_ladder') - - event.shaped('16x ad_astra:strophar_ladder', [ - 'A A', - 'ABA', - 'A A' - ], { - A: 'tfg:wood/lumber/strophar', - B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), - }).id('tfg:shaped/strophar_ladder') - - - generateGreenHouseRecipe(event, '8x tfg:saplings/strophar', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:mars', 8, - '16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV]) - generateGreenHouseRecipe(event, '8x tfg:saplings/aeronos', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:mars', 8, - '16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV]) - generateGreenHouseRecipe(event, '8x tfg:saplings/glacian', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:mars', 8, - '8x species:alphacene_moss_block', GTValues.VA[GTValues.MV]) + event.remove({ type: 'greate:cutting', input: '#ad_astra:aeronos_caps' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:aeronos_planks' }) + event.remove({ type: 'greate:cutting', input: '#ad_astra:strophar_caps' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_log' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:stripped_glacian_log' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:strophar_planks' }) + event.remove({ type: 'greate:cutting', input: 'ad_astra:glacian_planks' }) //#endregion } diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 117d1425b..0bc16b7c4 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -2306,16 +2306,6 @@ const registerAE2Recipes = (event) => { .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) - // Cryogenized Fluix - - event.recipes.gtceu.vacuum_freezer('gtceu:cryo_fluix') - .inputFluids(Fluid.of('gtceu:helium_3', 1000)) - .inputFluids(Fluid.of('tfg:fluix', 144)) - .outputFluids(Fluid.of('tfg:cryogenized_fluix', 576)) - .duration(30 * 20) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - // Certus deco blocks event.stonecutting('ae2:quartz_block', '#tfg:certus_quartz_blocks') diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index 4bc552380..fa7d7a67e 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -361,7 +361,7 @@ const registerAFCRecipes = (event) => { //#endregion - //region gt sap processing + //#region GT sap processing event.recipes.gtceu.fluid_heater('maple_sap_condense') .inputFluids(Fluid.of('afc:maple_sap', 1000)) @@ -375,8 +375,6 @@ const registerAFCRecipes = (event) => { .duration(20*35) .EUt(GTValues.VA[GTValues.ULV]) - - //endregion event.recipes.gtceu.fluid_solidifier('maple_syrup') .inputFluids(Fluid.of('afc:maple_syrup', 100)) @@ -389,6 +387,8 @@ const registerAFCRecipes = (event) => { .itemOutputs('afc:birch_sugar') .duration(20*12) .EUt(GTValues.VHA[GTValues.ULV]) + + //#endregion // Syrup into sugar diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index 9c56912e3..11edd6094 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -67,12 +67,6 @@ const registerBeneathRecipes = (event) => { event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay') - generateGreenHouseRecipe(event, '8x tfg:saplings/warped', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x beneath:wood/log/warped', 'tfg:green_house/warped_fungus', 'ad_astra:mars', 8, - '32x minecraft:warped_wart_block', GTValues.VA[GTValues.MV]) - generateGreenHouseRecipe(event, '8x tfg:saplings/crimson', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8, - '32x minecraft:nether_wart_block', GTValues.VA[GTValues.MV]) Ingredient.of('#beneath:mushrooms').stacks.forEach(element => { const itemId = element.id; @@ -82,26 +76,6 @@ const registerBeneathRecipes = (event) => { recipeId, 'minecraft:the_nether', 8, element.withCount(4), GTValues.VH[GTValues.LV]); }); - // don't pass in the items like doors, trapdoors etc because beneath already has good recipes for those - woodBuilder(event, 'crimson', 'beneath:wood/lumber/crimson', '#tfc:crimson_logs', 'beneath:wood/log/crimson', - 'beneath:wood/stripped_log/crimson', 'beneath:wood/planks/crimson', null, - 'beneath:wood/planks/crimson_slab', null, null, null, null, null, 'beneath:wood/planks/crimson_pressure_plate', - 'beneath:wood/planks/crimson_button') - - event.recipes.gtceu.lathe(`tfg:cutter/crimson_stripped_wood_from_wood`) - .itemInputs('beneath:wood/wood/crimson') - .itemOutputs('beneath:wood/stripped_wood/crimson') - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: 'beneath:wood/wood/crimson' }], - results: [{ item: 'beneath:wood/stripped_wood/crimson' }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_crimson_wood`) - event.shaped('beneath:wood/sewing_table/crimson', [ ' AB', 'CCC', @@ -113,26 +87,6 @@ const registerBeneathRecipes = (event) => { D: 'beneath:wood/log/crimson' }).id('tfg:shaped/crimson_sewing_table') - - woodBuilder(event, 'warped', 'beneath:wood/lumber/warped', '#tfc:warped_logs', 'beneath:wood/log/warped', - 'beneath:wood/stripped_log/warped', 'beneath:wood/planks/warped', null, - 'beneath:wood/planks/warped_slab', null, null, null, null, null, 'beneath:wood/planks/warped_pressure_plate', - 'beneath:wood/planks/warped_button') - - event.recipes.gtceu.lathe(`tfg:cutter/warped_stripped_wood_from_wood`) - .itemInputs('beneath:wood/wood/warped') - .itemOutputs('beneath:wood/stripped_wood/warped') - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: 'beneath:wood/wood/warped' }], - results: [{ item: 'beneath:wood/stripped_wood/warped' }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_warped_wood`) - event.shaped('beneath:wood/sewing_table/warped', [ ' AB', 'CCC', diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 2cf69d560..bf6d47c34 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -985,70 +985,6 @@ const registerCreateRecipes = (event) => { .duration(200) .EUt(20) - // Электронная трубка - event.shaped('1x create:electron_tube', [ - 'FAG', - 'BCB', - 'DED' - ], { - A: 'gtceu:glass_tube', - B: '#forge:bolts/steel', - C: 'gtceu:wood_plate', - D: 'gtceu:red_alloy_single_wire', - E: '#forge:plates/wrought_iron', - F: '#forge:tools/screwdrivers', - G: '#forge:tools/wire_cutters' - }).id('tfg:create/shaped/electron_tube') - - event.recipes.createSequencedAssembly([ - '2x create:electron_tube', - ], 'gtceu:wood_plate', [ - event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', '#forge:plates/wrought_iron']), - event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']), - event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']), - event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:glass_tube']), - ]).transitionalItem('tfg:unfinished_electron_tube').loops(1).id('tfg:create/sequenced_assembly/electron_tube') - - event.recipes.gtceu.assembler('create:electron_tube') - .itemInputs('#forge:plates/wrought_iron', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire') - .itemOutputs('2x create:electron_tube') - .duration(50) - .EUt(7) - .circuit(14) - - event.shaped('4x create:electron_tube', [ - 'FAG', - 'DCD' - ], { - A: 'gtceu:glass_tube', - C: 'gtceu:plastic_circuit_board', - D: 'gtceu:red_alloy_single_wire', - F: '#forge:tools/screwdrivers', - G: '#forge:tools/wire_cutters' - }).id('tfg:create/shaped/electron_tube2') - - event.recipes.gtceu.assembler('create:electron_tube2') - .itemInputs('gtceu:plastic_circuit_board', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire') - .itemOutputs('4x create:electron_tube') - .duration(50) - .EUt(7) - - event.shaped('4x create:electron_tube', [ - ' A ', - ' B ', - ' C ' - ], { - A: '#forge:tools/screwdrivers', - B: 'gtceu:nand_chip', - C: 'gtceu:plastic_circuit_board' - }).id('tfg:create/shaped/electron_tube3') - - event.recipes.gtceu.assembler('create:electron_tube3') - .itemInputs('gtceu:plastic_circuit_board', 'gtceu:nand_chip') - .itemOutputs('4x create:electron_tube') - .duration(50) - .EUt(7) - // Тюбик с клеем event.shaped('create:super_glue', [ 'BA', diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index b40802279..508996a71 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -9,634 +9,15 @@ const registerGTCEURecipes = (event) => { registerGTCEUMetalRecipes(event) registerGTCEURecyclingRecipes(event) - registerGTCEuTFCMetalsRecipes(event) registerGTCEuMachineRecipes(event) removeGTCEURecipes(event) - //#region Выход: Удобрение - // В обычном миксере - event.recipes.gtceu.mixer('tfg:fertilizer') - .itemInputs( - '#tfc:dirt', - '2x #tfg:wood_dusts', - '4x #forge:sand' - ) - .circuit(1) - .inputFluids("#tfg:clean_water 1000") - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - - event.recipes.gtceu.mixer('tfg:fertilizer_2') - .itemInputs('tfc:compost') - .inputFluids('#tfg:clean_water 1000') - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - - //#endregion - - //#region Выход: Кварцевый песок - - event.shaped('gtceu:quartz_sand_dust', [ - 'A', - 'B' - ], { - A: '#forge:sand', - B: '#forge:tools/mortars' - }).id('gtceu:shaped/quartz_sand') - - event.recipes.gtceu.macerator('quartz_sand_from_sand') - .itemInputs('#forge:sand') - .itemOutputs('gtceu:quartz_sand_dust') - .duration(30) - .EUt(2) - - //#endregion - - event.recipes.gtceu.macerator('flux') - .itemInputs('#tfc:fluxstone') - .itemOutputs('2x tfc:powder/flux') - .duration(30) - .EUt(2) - - event.recipes.gtceu.forge_hammer('flux') - .itemInputs('#tfc:fluxstone') - .itemOutputs('2x tfc:powder/flux') - .duration(30) - .EUt(2) - - event.recipes.greate.pressing('2x tfc:powder/flux', '#tfc:fluxstone') - .recipeTier(0) - .id('greate:pressing/flux') - - //#region Выход: Диоксид силикона - - event.recipes.gtceu.electrolyzer('sand_electrolysis') - .itemInputs('8x #forge:sand') - .itemOutputs('gtceu:silicon_dioxide_dust') - .duration(500) - .EUt(25) - - //#endregion - - event.recipes.gtceu.centrifuge('tfg:beets_to_sugar') - .itemInputs('5x tfc:food/beet') - .inputFluids(Fluid.of('tfc:salt_water', 1000)) - .itemOutputs('3x minecraft:sugar', '3x gtceu:plant_ball', '1x #forge:dusts/salt') - .outputFluids(Fluid.of('minecraft:water', 1000)) - .duration(800) - .EUt(7) - .circuit(3) - - event.smelting('4x tfc:powder/wood_ash', '1x #minecraft:logs_that_burn').id('tfg:wood_ash') - - //#region Выход: Соленая пыль + Вода - - // Декрафт в центрифуге - event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water') - .inputFluids(Fluid.of('tfc:salt_water', 1000)) - .itemOutputs('1x gtceu:salt_dust') - .outputFluids(Fluid.of('minecraft:water', 1000)) - .duration(51) - .EUt(30) - .circuit(1) - - // Декрафт в электролайзере - event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water') - .inputFluids(Fluid.of('tfc:salt_water', 1000)) - .itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust') - .outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500)) - .duration(720) - .EUt(30) - - // Add circuit to gregtech salt water mixer recipe - event.remove({ id: 'gtceu:mixer/salt_water' }) - generateMixerRecipe(event, ['2x #forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], 1, Fluid.of('gtceu:salt_water', 1000), 40, 7, 64, 'tfg:gtceu/salt_water') - - //#endregion - - //#region Выход: Пропитанные доски - - event.remove({ id: 'gtceu:shaped/treated_wood_planks' }) - - event.recipes.tfc.barrel_sealed(4000) - .outputItem('gtceu:treated_wood_planks') - .inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100)) - .id('tfg:barrel/treated_wood_planks') - - event.recipes.tfc.barrel_sealed(2000) - .outputItem('gtceu:treated_wood_dust') - .inputs('#tfg:wood_dusts', TFC.fluidStackIngredient('#forge:creosote', 50)) - .id('tfg:barrel/treated_wood_dust') - - //#endregion - - //#region Выход: Капля резины - - // Из латекса - event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000), 1200, 300) - .itemOutput('gtceu:sticky_resin') - .id('tfg:pot/sticky_resin_from_latex') - - event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300) - .itemOutput('gtceu:sticky_resin') - .id('tfg:pot/sticky_resin_from_conifer_pitch') - - event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/latex_to_sticky_resin') - .duration(12 * 20) - .EUt(30) - .itemInputs('tfc:powder/wood_ash') - .itemOutputs('gtceu:sticky_resin') - .inputFluids(Fluid.of('tfg:latex', 1000)) - - event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/pitch_to_sticky_resin') - .duration(12 * 20) - .EUt(30) - .itemInputs('tfc:powder/wood_ash') - .itemOutputs('gtceu:sticky_resin') - .inputFluids(Fluid.of('tfg:conifer_pitch', 1000)) - //#endregion - - //#region Выход: Растительный шарик - // 8x Ванильная растительность -> Plant Ball (Compressor) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds') - .itemInputs('4x #tfc:seeds') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - let food = Ingredient.of('#tfc:foods') - .subtract('minecraft:brown_mushroom') - .subtract('minecraft:red_mushroom') - .withCount(8) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_food') - .itemInputs(food) - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_plants') - .itemInputs('4x #tfc:plants') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_moon_plants') - .itemInputs('4x #tfg:moon_plants') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_mars_plants') - .itemInputs('4x #tfg:mars_plants') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_corals') - .itemInputs('4x #tfc:corals') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_misc_plants') - .itemInputs('4x #createaddition:plants') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_wart_blocks') - .itemInputs('4x #minecraft:wart_blocks') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - //#endregion - - //#region Выход: Биомасса - - // Ванильная растительность -> Биомасса (Brewery) - - event.recipes.gtceu.brewery('biomass_from_tfc_seeds') - .itemInputs('#tfc:seeds') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_food') - .itemInputs('#tfc:foods') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_plants') - .itemInputs('#tfc:plants') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_moon_plants') - .itemInputs('#tfg:moon_plants') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_mars_plants') - .itemInputs('#tfg:mars_plants') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_corals') - .itemInputs('#tfc:corals') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_spider_eyes') - .itemInputs('minecraft:spider_eye') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_leaves') - .itemInputs('#minecraft:leaves') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_fallen_leaves') - .itemInputs('#tfc:fallen_leaves') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_minecraft_plants') - .itemInputs('#createaddition:plants') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .duration(100) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_wart_blocks') - .itemInputs('#minecraft:wart_blocks') - .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 50)) - .duration(100) - .EUt(3) - - //#endregion - - //#region Выход: Рыбье масло - - event.recipes.gtceu.extractor(`tfg:fish_oil`) - .itemInputs('#minecraft:fishes') - .outputFluids(Fluid.of('gtceu:fish_oil', 200)) - .duration(40) - .EUt(4) - - event.recipes.gtceu.extractor(`tfg:tallow`) - .itemInputs('tfc:blubber') - .outputFluids(Fluid.of('tfc:tallow', 200)) - .duration(40) - .EUt(4) - - // you get tallow from killing things like orcas, so this seems close enough - event.recipes.gtceu.mixer('tallow_to_fish_oil') - .inputFluids('tfc:tallow 100', 'tfc:lye 100') - .outputFluids('gtceu:fish_oil 200') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Семянное масло - - event.recipes.gtceu.extractor(`tfg:seed_oil`) - .itemInputs('#tfc:seeds') - .outputFluids(Fluid.of('gtceu:seed_oil', 50)) - .duration(32) - .EUt(2) - - //#endregion - - //#region Выход: Цемент - - const recipe = event.recipes.gtceu.mixer('concrete_from_marble') - .itemInputs(Ingredient.of('#tfg:stone_dusts').subtract('gtceu:marble_dust').withCount(2), 'gtceu:marble_dust', 'gtceu:gypsum_dust') - .inputFluids("#tfg:clean_water 1000") - .outputFluids('gtceu:concrete 1152') - .duration(40) - .EUt(16) - - generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], - "#tfg:clean_water 500", [], null, 'gtceu:concrete 576', 20, 16, 64, 'concrete_from_clay') - - generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'], - "#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'concrete_from_calcite') - - //GT light/dark concrete recipe fix - - event.remove({ id: 'gtceu:fluid_solidifier/solidify_concrete_block' }) - event.remove({ id: 'gtceu:chemical_bath/light_to_dark_concrete' }) - - event.recipes.gtceu.fluid_solidifier('gtceu:fluid_solidifier/solidify_light_concrete') - .inputFluids(Fluid.of('gtceu:concrete', 144)) - .notConsumable('1x gtceu:block_casting_mold') - .itemOutputs('1x gtceu:light_concrete') - .duration(98) - .EUt(7) - - event.recipes.gtceu.chemical_bath('gtceu:chemical_bath/dark_concrete') - .inputFluids(Fluid.of('tfc:black_dye', 18)) - .itemInputs('1x gtceu:light_concrete') - .itemOutputs('1x gtceu:dark_concrete') - .duration(20) - .EUt(7) - - event.recipes.gtceu.extractor('gtceu:extractor/extract_light_concrete') - .itemInputs('1x gtceu:light_concrete') - .outputFluids(Fluid.of('gtceu:concrete', 144)) - .duration(98) - .EUt(30) - - event.stonecutting('gtceu:light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_bricks') - event.stonecutting('gtceu:chiseled_light_concrete', 'gtceu:light_concrete').id('tfg:stonecutting/chiseled_light_concrete') - event.stonecutting('gtceu:light_concrete_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_tile') - event.stonecutting('gtceu:light_concrete_small_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_small_tile') - event.stonecutting('gtceu:light_concrete_windmill_a', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_a') - event.stonecutting('gtceu:light_concrete_windmill_b', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_b') - event.stonecutting('gtceu:small_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/small_light_concrete_bricks') - event.stonecutting('gtceu:square_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/square_light_concrete_bricks') - - event.stonecutting('gtceu:dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_bricks') - event.stonecutting('gtceu:chiseled_dark_concrete', 'gtceu:dark_concrete').id('tfg:stonecutting/chiseled_dark_concrete') - event.stonecutting('gtceu:dark_concrete_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_tile') - event.stonecutting('gtceu:dark_concrete_small_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_small_tile') - event.stonecutting('gtceu:dark_concrete_windmill_a', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_a') - event.stonecutting('gtceu:dark_concrete_windmill_b', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_b') - event.stonecutting('gtceu:small_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/small_dark_concrete_bricks') - event.stonecutting('gtceu:square_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/square_dark_concrete_bricks') - - //#endregion - - //#region GT marble - - event.stonecutting('gtceu:polished_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_polished_marble') - event.stonecutting('gtceu:chiseled_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_chiseled_marble') - event.stonecutting('gtceu:marble_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_tile') - event.stonecutting('gtceu:marble_small_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_small_tile') - event.stonecutting('gtceu:marble_windmill_a', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_a') - event.stonecutting('gtceu:marble_windmill_b', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_b') - event.stonecutting('gtceu:small_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_small_marble_bricks') - event.stonecutting('gtceu:square_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_square_marble_bricks') - - //#endregion - - //#region Выход: Бурильная жидкость + // Drilling fluid from all stone dusts generateMixerRecipe(event, ['2x #tfg:stone_dusts'], ['gtceu:lubricant 20', "#tfg:clean_water 4000"], [], null, Fluid.of('gtceu:drilling_fluid', 5000), 40, 16, 64, 'drilling_fluid') - //#endregion - - //#region Выход: Пыль мяса - - event.recipes.gtceu.macerator('macerate_meat_to_dust') - .itemInputs('#tfc:foods/meats') - .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') - .duration(100) - .EUt(2) - - //#endregion - - //#region Выход: Пыль какао-бобов - - event.recipes.gtceu.macerator('macerate_cocoa') - .itemInputs('firmalife:food/roasted_cocoa_beans') - .itemOutputs('gtceu:cocoa_dust') - .duration(100) - .EUt(2) - - //#endregion - - //#region Стеклодувка - - // Glass Tube - event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) - .id('tfg:gtceu/glassworking/glass_tube') - - //#endregion - - // Пыль звезды незера - event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust') - .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') - .circuit(10) - .itemOutputs('gtceu:nether_star_dust') - // TODO: change to something else with venus - .inputFluids(Fluid.of('gtceu:neon', 1000)) - .duration(700) - .EUt(2720) - - // Empty Wooden Form - event.shaped('gtceu:empty_wooden_form', [ - ' AA', - 'BAA' - ], { - A: '#minecraft:planks', - B: '#forge:tools/saws' - }).id('gtceu:shaped/plank_to_wooden_shape') - - // Деревянная шестерня - event.shaped('gtceu:small_wood_gear', [ - 'AB ', - 'BCB', - ' B ' - ], { - A: '#forge:tools/saws', - B: '#forge:rods/wooden', - C: 'tfc:glue' - }).id('gtceu:shaped/small_gear_wood') - - event.shaped('gtceu:wood_gear', [ - 'AB ', - 'BCB', - ' B ' - ], { - A: '#forge:tools/saws', - B: '#minecraft:planks', - C: 'tfc:glue' - }).id('gtceu:shaped/gear_wood') - - // Compressed Coke Clay - event.shaped('gtceu:compressed_coke_clay', [ - 'AAA', - 'BCB', - 'BBB' - ], { - A: 'minecraft:clay_ball', - B: '#minecraft:sand', - C: 'gtceu:brick_wooden_form' - }).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay') - - // Coke Oven Brick - event.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) - .resultItem('gtceu:coke_oven_brick') - .id('tfg:heating/coke_oven_bricks') - - event.recipes.gtceu.alloy_smelter('gtceu:coke_oven_brick') - .itemInputs('3x #minecraft:sand', '2x minecraft:clay_ball') - .itemOutputs('gtceu:coke_oven_brick') - .duration(7.5 * 20) - .EUt(GTValues.VA[GTValues.ULV]) - - // Multi-Smelter - event.shaped('gtceu:multi_smelter', [ - 'AAA', - 'BCB', - 'DBD' - ], { - A: 'gtceu:hp_steam_furnace', - B: '#gtceu:circuits/hv', - C: 'gtceu:heatproof_machine_casing', - D: 'gtceu:copper_single_cable' - }).id('gtceu:shaped/multi_furnace') - - event.shaped('gtceu:multi_smelter', [ - 'AAA', - 'BCB', - 'DBD' - ], { - A: 'gtceu:lv_electric_furnace', - B: '#gtceu:circuits/hv', - C: 'gtceu:heatproof_machine_casing', - D: 'gtceu:copper_single_cable' - }).id('gtceu:shaped/multi_furnace2') - - // Electric Blast Furnace - event.shaped('gtceu:electric_blast_furnace', [ - 'AAA', - 'BCB', - 'DBD' - ], { - A: 'gtceu:hp_steam_furnace', - B: '#gtceu:circuits/lv', - C: 'gtceu:heatproof_machine_casing', - D: 'gtceu:tin_single_cable' - }).id('gtceu:shaped/electric_blast_furnace') - - event.shaped('gtceu:electric_blast_furnace', [ - 'AAA', - 'BCB', - 'DBD' - ], { - A: 'gtceu:lv_electric_furnace', - B: '#gtceu:circuits/lv', - C: 'gtceu:heatproof_machine_casing', - D: 'gtceu:tin_single_cable' - }).id('gtceu:shaped/electric_blast_furnace2') - - // Клей из ТФК клея / Glue from resin - event.recipes.gtceu.extractor('tfg:glue_from_tfc_glue') - .itemInputs('tfc:glue') - .outputFluids(Fluid.of('gtceu:glue', 50)) - .duration(20 * 10) - .EUt(5) - - event.recipes.gtceu.extractor('tfg:glue_from_sticky_resin') - .itemInputs('gtceu:sticky_resin') - .outputFluids(Fluid.of('gtceu:glue', 100)) - .duration(20 * 10) - .EUt(5) - - event.recipes.gtceu.extractor('tfg:glue_from_conifer_resin') - .itemInputs('tfg:conifer_rosin') - .outputFluids(Fluid.of('gtceu:glue', 50)) - .duration(20 * 10) - .EUt(5) - - event.recipes.gtceu.mixer('tfg:glue_from_bone_meal') - .itemInputs('minecraft:bone_meal') - .inputFluids(Fluid.of('tfc:limewater', 500)) - .outputFluids(Fluid.of('gtceu:glue', 50)) - .duration(100) - .EUt(5) - - // Исправление рецепта пыли серебра стерлинга - event.remove({ id: 'gtceu:mixer/sterling_silver' }) - generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust', - 1, [], 500, 7, 64, 'gtceu:mixer/sterling_silver') - - // Исправление рецепта пыли розовой бронзы - event.remove({ id: 'gtceu:mixer/rose_gold' }) - generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust', - 3, [], 500, 7, 64, 'gtceu:mixer/rose_gold') - - //#region Рецепт ULV микросхемы - - event.remove({ id: 'gtceu:shaped/vacuum_tube' }) - event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_plain' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') - event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') - event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy_annealed' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') - - event.recipes.createSequencedAssembly([ - 'gtceu:vacuum_tube', - ], 'gtceu:resin_circuit_board', [ - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), - event.custom({ type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'tfg:unfinished_vacuum_tube' }], results: [{ item: 'tfg:unfinished_vacuum_tube' }], processingTime: 80 }) - ]).transitionalItem('tfg:unfinished_vacuum_tube').loops(1).id('tfg:gtceu/sequenced_assembly/vacuum_tube') - - //#endregion - - //#region Рецепт LV микросхемы - - event.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) - - event.recipes.createSequencedAssembly([ - 'gtceu:basic_electronic_circuit', - ], 'gtceu:resin_printed_circuit_board', [ - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'create:electron_tube']), - event.recipes.createFilling('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', Fluid.of('gtceu:glue', 50)]), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']), - ]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(1).id('tfg:gtceu/sequenced_assembly/basic_electronic_circuit') - - event.remove({ id: 'gtceu:shaped/electronic_circuit_mv' }) - - event.recipes.createSequencedAssembly([ - 'gtceu:good_electronic_circuit', - ], 'gtceu:phenolic_printed_circuit_board', [ - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:diode']), - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:diode']), - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:single_wires/copper']), - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:single_wires/copper']), - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']), - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']), - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']), - event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:plates/steel']), - ]).transitionalItem('tfg:unfinished_good_electronic_circuit').loops(1).id('tfg:gtceu/sequenced_assembly/good_electronic_circuit') - - //#endregion - //#region Quantum mainframe stack fix. // // Quantum Mainframes need 48x annealed copper wire but @@ -733,227 +114,6 @@ const registerGTCEURecipes = (event) => { // #endregion - // #region Add all glass colors to macerator/hammer - removeMaceratorRecipe(event, 'macerate_glass'); - event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass") - .itemInputs( - "#forge:glass" - ) - .itemOutputs("gtceu:glass_dust") - .duration(20) - .EUt(2); - - removeMaceratorRecipe(event, 'macerate_glass_pane'); - event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass_pane") - .itemInputs( - "#forge:glass_panes" - ) - .itemOutputs("3x gtceu:tiny_glass_dust") - .duration(6) - .EUt(2) - - event.replaceInput({ id: "gtceu:shaped/glass_dust_hammer" }, - "minecraft:glass", - "#forge:glass" - ); - // #endregion - - // #region Rich coal processing - - event.recipes.gtceu.coke_oven("tfg:poor_coal_to_coke") - .itemInputs('2x gtceu:poor_raw_coal') - .itemOutputs('1x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 500)) - .duration(900) - - event.recipes.gtceu.coke_oven("tfg:coal_to_coke") - .itemInputs('gtceu:raw_coal') - .itemOutputs('2x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 1000)) - .duration(900) - - event.recipes.gtceu.coke_oven("tfg:rich_coal_to_coke") - .itemInputs('gtceu:rich_raw_coal') - .itemOutputs('4x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 2000)) - .duration(900) - - event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_tar") - .itemInputs('3x gtceu:rich_raw_coal') - .chancedOutput('gtceu:dark_ash_dust', 5000, 0) - .outputFluids(Fluid.of('gtceu:coal_tar', 3000)) - .duration(288) - .EUt(96) - .circuit(8) - - event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_coke_creosote") - .itemInputs('4x gtceu:rich_raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 8000)) - .duration(576) - .EUt(64) - .circuit(1) - - event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coal_gas") - .itemInputs('4x gtceu:rich_raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .inputFluids(Fluid.of('gtceu:steam')) - .outputFluids(Fluid.of('gtceu:coal_gas', 4000)) - .duration(288) - .EUt(96) - .circuit(22) - - event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coke_creosote_nitrogen") - .itemInputs('4x gtceu:rich_raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .inputFluids(Fluid.of('gtceu:nitrogen')) - .outputFluids(Fluid.of('gtceu:creosote', 8000)) - .duration(288) - .EUt(96) - .circuit(2) - - event.recipes.gtceu.coke_oven("tfg:raw_coal_to_coke") - .itemInputs('gtceu:raw_coal') - .itemOutputs('2x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 2000)) - .duration(1710) - - event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_tar") - .itemInputs('6x gtceu:raw_coal') - .chancedOutput('gtceu:dark_ash_dust', 5000, 0) - .outputFluids(Fluid.of('gtceu:coal_tar', 3000)) - .duration(288) - .EUt(96) - .circuit(8) - - event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote") - .itemInputs('8x gtceu:raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .outputFluids(Fluid.of('gtceu:creosote', 8000)) - .duration(576) - .EUt(64) - .circuit(1) - - event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coal_gas") - .itemInputs('8x gtceu:raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .inputFluids(Fluid.of('gtceu:steam')) - .outputFluids(Fluid.of('gtceu:coal_gas', 4000)) - .duration(288) - .EUt(96) - .circuit(22) - - event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote_nitrogen") - .itemInputs('8x gtceu:raw_coal') - .itemOutputs('16x gtceu:coke_gem') - .inputFluids(Fluid.of('gtceu:nitrogen')) - .outputFluids(Fluid.of('gtceu:creosote', 8000)) - .duration(288) - .EUt(96) - .circuit(2) - - // #endregion - - // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace - - const SIGN_METALS = [ - GTMaterials.Copper, - GTMaterials.Bronze, - GTMaterials.BlackBronze, - GTMaterials.BismuthBronze, - GTMaterials.WroughtIron, - GTMaterials.Steel, - GTMaterials.BlackSteel, - GTMaterials.RedSteel, - GTMaterials.BlueSteel - ]; - - SIGN_METALS.forEach(metal => { - // Arc furnace - global.TFC_WOOD_TYPES.forEach(wood => { - event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal.getName()}/${wood}`) - event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) - .inputFluids(Fluid.of('gtceu:oxygen', 12)) - .duration(12) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - }) - - global.AFC_WOOD_TYPES.forEach(wood => { - event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:tiny_ash_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) - .inputFluids(Fluid.of('gtceu:oxygen', 12)) - .duration(12) - .EUt(30) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - }) - - // Macerator - global.TFC_HARDWOOD_TYPES.forEach(wood => { - removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:hardwood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - - global.TFC_SOFTWOOD_TYPES.forEach(wood => { - removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:wood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - - global.AFC_HARDWOOD_TYPES.forEach(wood => { - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:hardwood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - - global.AFC_SOFTWOOD_TYPES.forEach(wood => { - event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) - .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) - .itemOutputs('gtceu:wood_dust') - .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) - .duration(108) - .EUt(8) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - }) - }) - // #endregion - - //#region support recycling - event.recipes.gtceu.macerator(`hardwood_support_to_dust`) - .itemInputs('#tfg:hardwood_supports') - .itemOutputs('gtceu:hardwood_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - - event.recipes.gtceu.macerator(`softwood_support_to_dust`) - .itemInputs('#tfg:softwood_supports') - .itemOutputs('gtceu:wood_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); - //#endregion - //#region Voiding covers event.replaceInput({ id: 'gtceu:shaped/cover_fluid_voiding' }, @@ -970,102 +130,6 @@ const registerGTCEURecipes = (event) => { //#endregion - // #region Treated Wood - - event.shaped('2x gtceu:treated_wood_door', [ - 'AA ', - 'AA ', - 'AA ' - ], { - A: 'gtceu:treated_wood_plate' - }).id('tfg:shaped/treated_door') - - event.shaped('3x gtceu:treated_wood_trapdoor', [ - 'AAA', - 'AAA', - ' ' - ], { - A: 'gtceu:treated_wood_plate' - }).id('tfg:shaped/treated_trapdoor') - - // #endregion - - // #region Rubber Processing Line - event.recipes.firmalife.vat() - .inputs('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000)) - .outputFluid(Fluid.of('tfg:vulcanized_latex', 1000)) - .length(300) - .temperature(300) - .id('tfg:vat/vulcanized_latex') - - event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300) - .fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000)) - .id('tfg:pot/vulcanized_latex') - - event.recipes.gtceu.chemical_reactor('tfg:latex_to_vulcanized_latex') - .duration(100) - .EUt(20) - .itemInputs('tfc:powder/sulfur') - .inputFluids(Fluid.of('tfg:latex', 1000)) - .outputFluids(Fluid.of('tfg:vulcanized_latex', 1000)) - - event.recipes.gtceu.fluid_solidifier('tfg:vulcanized_latex_to_raw_rubber_pulp') - .duration(100) - .EUt(20) - .inputFluids(Fluid.of('tfg:vulcanized_latex', 1000)) - .itemOutputs('4x gtceu:raw_rubber_dust') - - // #endregion - - // #region Primitive protection - - event.recipes.tfc.barrel_sealed(2000) - .outputItem('tfg:prepared_leather_gloves') - .inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000)) - .id('tfg:sealed_barrel/prepared_leather_gloves') - - event.recipes.firmalife.vat() - .outputItem('tfg:latex_soaked_gloves') - .inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000)) - .length(300) - .temperature(200) - .id('tfg:vat/latex_soaked_gloves') - - event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves') - .id('tfg:oven/rubber_gloves') - - event.remove({ id: 'gtceu:shaped/rubber_gloves' }) - - event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter') - .itemInputs('2x #forge:plates/rubber') - .notConsumable('create:brass_hand') - .itemOutputs('gtceu:rubber_gloves') - .duration(200) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.INGOT_MOLDING) - - - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('gtceu:face_mask', [ - 'ACA', - 'ABA', - ' D ' - ], { - A: '#forge:string', - B: '#forge:cloth', - C: 'minecraft:paper', - D: '#tfc:sewing_needles' - }) - ).id('gtceu:shaped/face_mask') - - event.recipes.gtceu.assembler('assemble_face_mask') - .itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper') - .itemOutputs('gtceu:face_mask') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - .circuit(7) - - // #endregion event.replaceInput({ id: 'gtceu:shaped/nightvision_goggles' }, 'gtceu:glass_lens', 'tfc:lens') event.replaceInput({ id: 'gtceu:shaped/nightvision_goggles' }, 'gtceu:lv_sodium_battery', '#gtceu:batteries/lv') @@ -1078,99 +142,6 @@ const registerGTCEURecipes = (event) => { event.replaceInput({ id: 'gtceu:shaped/blacklight' }, 'gtceu:tungsten_carbide_screw', '#tfg:components/uv_leds') - event.recipes.gtceu.fluid_solidifier('tfg:solidify_glue') - .inputFluids(Fluid.of('gtceu:glue', 50)) - .notConsumable('gtceu:ball_casting_mold') - .itemOutputs('tfc:glue') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.centrifuge('tfg:centrifuge_rosin') - .itemInputs('tfg:conifer_rosin') - .outputFluids(Fluid.of('gtceu:glue', 50)) - .itemOutputs('2x #forge:dusts/carbon') - .chancedOutput('gtceu:plant_ball', 7500, 0) - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.centrifuge('tfg:centrifuge_sticky_resin') - .itemInputs('gtceu:sticky_resin') - .outputFluids(Fluid.of('gtceu:glue', 100)) - .itemOutputs('3x #forge:dusts/carbon') - .chancedOutput('gtceu:plant_ball', 5000, 0) - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.chemical_reactor(`tfg:treat_latex_plants_into_latex`) - .itemInputs('16x #tfg:rubber_plants', 'gtceu:tiny_sodium_hydroxide_dust') - .circuit(1) - .outputFluids(Fluid.of('tfg:latex', 1000)) - .duration(200) - .EUt(20) - - event.recipes.createSequencedAssembly([ - 'gtceu:ulv_voltage_coil', - ], 'gtceu:magnetic_iron_rod', [ - event.recipes.createDeploying('gtceu:magnetic_iron_rod', ['gtceu:magnetic_iron_rod', '#forge:fine_wires/lead']) - ]).transitionalItem('gtceu:magnetic_iron_rod').loops(32).id('tfg:sequenced_assembly/ulv_voltage_coil') - - //#endregion - - //#region Steam Bloomery - - event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal') - .itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels') - .itemOutputs('tfc:raw_iron_bloom') - .duration(2400) - .EUt(2) - - event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coalcoke') - .itemInputs('2x #forge:ingots/iron', '#tfc:blast_furnace_fuel') - .itemOutputs('2x tfc:raw_iron_bloom') - .duration(2400) - .EUt(2) - - forEachMaterial(material => { - - const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) - if (tfcProperty === null) - return; - - const outputMaterial = tfcProperty.getOutputMaterial() === null ? material : tfcProperty.getOutputMaterial() - if (outputMaterial === GTMaterials.Iron) { - event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels') - .itemOutputs('tfc:raw_iron_bloom') - .duration(2400) - .EUt(2) - - event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${material.getName()}`) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 2), '#tfc:blast_furnace_fuel') - .itemOutputs('2x tfc:raw_iron_bloom') - .duration(2400) - .EUt(2) - } - }) - - //#endregion - - //#region Stick Packing - - event.recipes.gtceu.packer('tfg:stick_bunch') - .itemInputs('9x #forge:rods/wooden') - .circuit(5) - .itemOutputs('tfc:stick_bunch') - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.packer('tfg:stick_bundle') - .itemInputs('18x #forge:rods/wooden') - .circuit(8) - .itemOutputs('tfc:stick_bundle') - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - - //#endregion // Fix Snow in Compressor @@ -1181,31 +152,7 @@ const registerGTCEURecipes = (event) => { .duration(20 * 10) .EUt(2) - //#region Changing tiers of decomposition recipes - - event.recipes.gtceu.electrolyzer('gtceu:decomposition_electrolyzing_clay') - .itemInputs('13x #forge:dusts/clay') - .itemOutputs('2x #forge:dusts/sodium', '1x #forge:dusts/lithium', '2x #forge:dusts/aluminium', '2x #forge:dusts/silicon') - .outputFluids(Fluid.of('minecraft:water', 6000)) - .duration(GTMaterials.Clay.getMass() * 13) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.centrifuge('gtceu:stone_dust_separation') - .itemInputs('gtceu:stone_dust') - .chancedOutput('#forge:small_dusts/quartzite', 2500, 0) - .chancedOutput('#forge:small_dusts/potassium_feldspar', 2500, 0) - .chancedOutput('#forge:small_dusts/marble', 2222, 0) - .chancedOutput('#forge:small_dusts/biotite', 1111, 0) - .chancedOutput('#forge:small_dusts/metal_mixture', 825, 80) - .chancedOutput('#forge:small_dusts/sodalite', 550, 55) - .duration(12 * 20) - .EUt(GTValues.VA[GTValues.HV]) - - - //#endregion - - //#region Tape - + // Tape event.shaped('gtceu:basic_tape', [ ' A ', 'ABA', @@ -1221,20 +168,8 @@ const registerGTCEURecipes = (event) => { .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - //#endregion - //#region glowstone - event.recipes.gtceu.alloy_blast_smelter('abs:liquid_glowstone') - .itemInputs('#forge:dusts/gold', '#forge:dusts/redstone', '#forge:dusts/sulfur') - .outputFluids(Fluid.of('gtceu:glowstone', 288)) - .duration(20 * 60 / 1.3) - .EUt(GTValues.VA[GTValues.LV]) - .blastFurnaceTemp(1064) - .circuit(9) - //#endregion - - - //#region GT Facades + // GT Facades event.remove({ id: 'gtceu:crafting/facade_cover' }) event.shapeless(Item.of('gtceu:facade_cover', 8, '{Facade: {Count:1b,id:"minecraft:stone"}}'), ['3x #forge:plates/iron', "#tfg:whitelisted/facades"]) @@ -1254,8 +189,8 @@ const registerGTCEURecipes = (event) => { result.nbt = facadeNBT return result; }).id('gtceu:facade_cover32'); - //#endregion + // Diamond gear event.recipes.gtceu.laser_engraver('tfg:diamond_gear') .itemInputs('4x #forge:plates/diamond') .itemOutputs('#forge:gears/diamond') @@ -1263,28 +198,6 @@ const registerGTCEURecipes = (event) => { .duration(200) .EUt(GTValues.VA[GTValues.MV]) - //#region Rose Quartz fabrication + decomposition - event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' }); - event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_water' }) - event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_distilled' }) - - generateMixerRecipe(event, ['gtceu:nether_quartz_dust', '8x minecraft:redstone'], [], '9x gtceu:rose_quartz_dust', 2, [], 180, 60, 64, 'rose_quartz_dust_mixing') - generateMixerRecipe(event, ['gtceu:tiny_nether_quartz_dust', '8x gtceu:tiny_redstone_dust'], [], 'gtceu:rose_quartz_dust', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing') - - event.recipes.gtceu.autoclave("autoclave_dust_rose_quartz_ice") - .itemInputs('#forge:dusts/rose_quartz') - .inputFluids(Fluid.of("gtceu:ice", 144)) - .itemOutputs("#forge:gems/rose_quartz") - .duration(2000) - .EUt(120) - - event.recipes.gtceu.electrolyzer('electrolyze_rose_quartz_dust') - .itemInputs('9x gtceu:rose_quartz_dust') - .itemOutputs('1x gtceu:nether_quartz_dust', '8x minecraft:redstone') - .duration(7 * 20) - .EUt(60) - //#endregion - //#region Multiblock Tanks event.recipes.gtceu.assembler('tfg:assembler/wood_wall') @@ -1322,13 +235,6 @@ const registerGTCEURecipes = (event) => { //#endregion - event.smelting('minecraft:iron_ingot', '#forge:ingots/wrought_iron') - .id('tfg:revert_wrought_iron_ingot') - - event.replaceOutput({ id: 'gtceu:distillery/distill_biomass_to_water' }, 'gtceu:wood_dust', 'gtceu:carbon_dust') - event.replaceOutput({ id: 'gtceu:distillery/distill_biomass_to_ethanol' }, 'gtceu:wood_dust', 'gtceu:carbon_dust') - event.replaceOutput({ id: 'gtceu:distillation_tower/distill_biomass' }, 'gtceu:wood_dust', 'gtceu:carbon_dust') - //#region Circuit Fixes global.ADD_CIRCUIT.forEach(item => { @@ -1337,55 +243,6 @@ const registerGTCEURecipes = (event) => { //#endregion - //#region Chemical Reaction for Solar Panel - - event.recipes.gtceu.chemical_reactor('tfg:chlorine_pentafluoride') - .inputFluids(Fluid.of('gtceu:fluorine', 5000), Fluid.of('gtceu:chlorine', 1000)) - .outputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000)) - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('tfg:chloryl_fluoride') - .inputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000), Fluid.of('minecraft:water', 2000)) - .outputFluids(Fluid.of('tfg:chloryl_fluoride', 1000), Fluid.of('gtceu:hydrofluoric_acid', 4000)) - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant') - .inputFluids(Fluid.of('tfg:chloryl_fluoride', 3000), Fluid.of('gtceu:helium_3', 8000), Fluid.of('minecraft:water', 8000)) - .outputFluids(Fluid.of('tfg:solar_coolant', 1000), Fluid.of('gtceu:hydrofluoric_acid', 3000), Fluid.of('gtceu:hypochlorous_acid', 3000)) - .duration(20 * 5) - .EUt(GTValues.VH[GTValues.EV]) - - event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant_t2') - .inputFluids(Fluid.of('tfg:solar_coolant', 8000), Fluid.of('gtceu:argon', 1000)) - .itemInputs(Item.of('#forge:aerogels')) - .outputFluids(Fluid.of('tfg:solar_coolant_tier2', 8000)) - .duration(20 * 15) - .EUt(GTValues.VH[GTValues.IV]) - - //#endregion - - event.replaceInput({ id: 'gtceu:shaped/powderbarrel' }, 'gtceu:wood_plate', '#tfc:lumber') - - event.shaped('gtceu:treated_wood_pressure_plate', [ - ' B ', - 'CDC', - ' E ' - ], { - B: '#tfc:hammers', - C: 'gtceu:treated_wood_slab', - D: '#forge:small_springs', - E: '#forge:tools/screwdrivers' - }).id('gtceu:shaped/treated_pressure_plate') - - event.recipes.gtceu.assembler('gtceu:treated_pressure_plate') - .itemInputs('#forge:small_springs', '2x gtceu:treated_wood_slab') - .itemOutputs('gtceu:treated_wood_pressure_plate') - .circuit(3) - .duration(50) - .EUt(2) - // Matches event.shapeless('4x gtceu:matches', ['#forge:dusts/phosphorus', 'tfc:glue', '4x #forge:bolts/wood']) @@ -1397,21 +254,6 @@ const registerGTCEURecipes = (event) => { event.shapeless(Item.of('gtceu:matchbox', '{usesLeft:8}'), ['minecraft:paper', '8x gtceu:matches']) .id('tfg:shapeless/matchbox') - - event.remove({ id: 'gtceu:chemical_reactor/nano_cpu_wafer' }) - event.remove({ id: 'gtceu:large_chemical_reactor/nano_cpu_wafer' }) - - event.recipes.gtceu.chemical_reactor('tfg:nano_cpu_wafer') - .inputFluids(Fluid.of('gtceu:tritiated_water', 576)) - .itemInputs('gtceu:cpu_wafer', '16x gtceu:carbon_fibers') - .itemOutputs('gtceu:nano_cpu_wafer') - .duration(20*60) - .EUt(GTValues.VA[GTValues.EV]) - .cleanroom(CleanroomType.CLEANROOM) - - event.remove({ id: 'gtceu:chemical_reactor/soda_ash_from_carbon_dioxide' }) - event.remove({ id: 'gtceu:large_chemical_reactor/soda_ash_from_carbon_dioxide' }) - event.recipes.gtceu.implosion_compressor('tfg:dense_lead_plate') .itemInputs('16x #forge:ingots/lead', '16x #forge:ingots/lead', '6x #forge:ingots/lead') .itemInputs('gtceu:industrial_tnt') @@ -1446,75 +288,7 @@ const registerGTCEURecipes = (event) => { F: 'gtceu:stainless_steel_huge_fluid_pipe' }).id('tfg:shaped/large_centrifuge') - event.recipes.gtceu.chemical_reactor('tfg:wood_ash_to_wood_gas_air') - .itemInputs('8x tfc:powder/wood_ash') - .inputFluids(Fluid.of('gtceu:air', 100)) - .outputFluids('gtceu:wood_gas 100') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.LV]) - - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd_soldering_alloy'}) - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv'}) - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_soldering_alloy'}) - event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd'}) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 40) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_soldering_alloy') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 40) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:tin', 576)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - - event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd_soldering_alloy') - .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .itemOutputs('gtceu:micro_processor_mainframe') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.HV]) - .cleanroom(CleanroomType.CLEANROOM) - - // Buttons - removeCutterRecipe(event, 'blackstone_button') - removeCutterRecipe(event, 'blackstone_button_water') - removeCutterRecipe(event, 'blackstone_button_distilled_water') - removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button') - removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button_water') - removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button_distilled_water') - - event.recipes.gtceu.cutter('tfg:blackstone_button') - .itemInputs('minecraft:polished_blackstone_pressure_plate') - .itemOutputs('6x minecraft:polished_blackstone_button') - .EUt(7) - .duration(100) - - - event.replaceOutput({ id: 'gtceu:cutter/bamboo_button' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') - event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') - event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_distilled_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') - - event.replaceOutput({ id: 'gtceu:cutter/treated_button' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') - event.replaceOutput({ id: 'gtceu:cutter/treated_button_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') - event.replaceOutput({ id: 'gtceu:cutter/treated_button_distilled_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') - - //#region Replace Recipe - + // ME Pattern Buffer event.remove({ id: 'gtceu:assembly_line/me_pattern_buffer_proxy' }) event.recipes.gtceu.assembly_line('tfg:me_pattern_buffer_proxy') .itemInputs( @@ -1537,88 +311,6 @@ const registerGTCEURecipes = (event) => { event.replaceInput({ id: 'gtceu:assembly_line/me_pattern_buffer' }, 'ae2:pattern_provider', '3x expatternprovider:ex_pattern_provider') event.replaceInput({ id: 'gtceu:assembly_line/me_pattern_buffer' }, 'ae2:interface', '3x expatternprovider:oversize_interface') - event.replaceInput({ id: 'gtceu:shaped/large_combustion_engine' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev') - event.replaceInput({ id: 'gtceu:shaped/nano_chestplate_advanced' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev') - event.replaceInput({ id: 'gtceu:assembler/ev_large_miner' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev') - - // the recycling fix only works if the addMaterialInfo() is on the shaped recipe, NOT the assembler - removeMaceratorRecipe(event, 'macerate_palladium_substation') - event.recipes.gtceu.shaped('gtceu:palladium_substation', [ - 'AAA', - ' B ', - 'AAA' - ], { - A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Palladium, 1), - B: ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Ultimet, 1) - }).addMaterialInfo().id('tfg:shaped/casing_palladium_substation') - - event.recipes.gtceu.assembler('casing_palladium_substation') - .itemInputs( - ChemicalHelper.get(TagPrefix.plate, GTMaterials.Palladium, 6), - ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Ultimet, 1) - ) - .itemOutputs('gtceu:palladium_substation') - .duration(20 * 2.5) - .circuit(6) - .EUt(GTValues.VA[GTValues.LV]) - - - removeMaceratorRecipe(event, 'macerate_power_substation') - event.recipes.gtceu.shaped('gtceu:power_substation', [ - 'ABA', - 'CDC', - 'ABA' - ], { - A: 'gtceu:lapotron_crystal', - B: 'gtceu:mpic_chip', - C: '#gtceu:circuits/ev', - D: 'gtceu:palladium_substation' - }).addMaterialInfo().id('gtceu:shaped/power_substation') - - event.replaceInput({ id: 'gtceu:assembler/field_generator_hv' }, 'gtceu:quantum_eye', 'tfg:cryo_fluix_pearl') - event.replaceInput({ id: 'gtceu:assembler/field_generator_ev' }, 'minecraft:nether_star', 'gtceu:quantum_eye') - event.replaceInput({ id: 'gtceu:assembler/field_generator_iv' }, 'gtceu:quantum_star', 'minecraft:nether_star') - - event.recipes.gtceu.shaped('gtceu:hv_field_generator', [ - 'ABA', - 'CDC', - 'ABA' - ], { - A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.MercuryBariumCalciumCuprate , 1), - B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.StainlessSteel, 1), - C: '#gtceu:circuits/hv', - D: 'tfg:cryo_fluix_pearl' - }).addMaterialInfo().id('gtceu:shaped/field_generator_hv') - - event.recipes.gtceu.shaped('gtceu:ev_field_generator', [ - 'ABA', - 'CDC', - 'ABA' - ], { - A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.UraniumTriplatinum , 1), - B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 1), - C: '#gtceu:circuits/ev', - D: 'gtceu:quantum_eye' - }).addMaterialInfo().id('gtceu:shaped/field_generator_ev') - - event.recipes.gtceu.shaped('gtceu:iv_field_generator', [ - 'ABA', - 'CDC', - 'ABA' - ], { - A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.SamariumIronArsenicOxide , 1), - B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.TungstenSteel, 1), - C: '#gtceu:circuits/iv', - D: 'minecraft:nether_star' - }).addMaterialInfo().id('gtceu:shaped/field_generator_iv') - - event.remove({ id: 'gtceu:chemical_bath/quantum_eye' }) - event.recipes.gtceu.chemical_bath('tfg:quantum_eye') - .itemInputs('tfg:cryo_fluix_pearl') - .inputFluids(Fluid.of('gtceu:radon', 250)) - .itemOutputs('gtceu:quantum_eye') - .duration(20 * 24) - .EUt(GTValues.VA[GTValues.HV]) // Modify Rotor Holder to require an Assembler @@ -1665,164 +357,6 @@ const registerGTCEURecipes = (event) => { .duration(20 * 6) .EUt(GTValues.VA[GTValues.UV]) - //# Circuit Board - - event.replaceInput({ id: 'gtceu:assembler/phenolic_board' }, '#tfg:wood_dusts', 'tfg:high_density_treated_fiberboard') - - //#region New Tungsten Line - - event.remove({ id: 'gtceu:chemical_bath/tungstic_acid_from_scheelite' }) - event.remove({ id: 'gtceu:chemical_bath/tungstic_acid_from_tungstate' }) - event.remove({ id: 'gtceu:electrolyzer/tungstic_acid_electrolysis' }) - - // Transform Tungstate and Scheelite - - event.recipes.gtceu.large_chemical_reactor('tfg:scheelite_to_sodium_tungstate') - .itemInputs(Item.of('gtceu:scheelite_dust', 6)) - .itemInputs(Item.of('gtceu:soda_ash_dust', 6)) - .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7)) - .itemOutputs(Item.of('gtceu:calcite_dust', 5)) - .duration(20*12) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.large_chemical_reactor('tfg:tungstate_to_sodium_tungstate') - .itemInputs(Item.of('gtceu:tungstate_dust', 7)) - .itemInputs(Item.of('gtceu:soda_ash_dust', 6)) - .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7)) - .itemOutputs(Item.of('gtceu:lithium_dust', 2)) - .itemOutputs(Item.of('gtceu:carbon_dust', 1)) - .outputFluids(Fluid.of('gtceu:oxygen', 3000)) - .duration(20*12) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.chemical_bath('tfg:tungstate_to_tungsten_acid') - .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000)) - .itemInputs(Item.of('tfg:sodium_tungstate_dust', 7)) - .itemOutputs(Item.of('gtceu:salt_dust', 4)) - .itemOutputs(Item.of('gtceu:tungstic_acid_dust', 7)) - .duration(20*24) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.chemical_bath('tfg:tungsten_acid_to_ammonium_tungstate') - .inputFluids(Fluid.of('gtceu:ammonia', 10000)) - .itemInputs(Item.of('gtceu:tungstic_acid_dust', 7)) - .itemOutputs(Item.of('tfg:ammonium_tungstate_dust', 1)) - .duration(20*16) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.evaporation_tower('tfg:ammonium_tungstate_to_apt_h') - .itemInputs(Item.of('tfg:ammonium_tungstate_dust', 1)) - .itemOutputs(Item.of('tfg:apt_gem', 1)) - .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .duration(20*48) - .EUt(GTValues.VHA[GTValues.HV]) - - event.recipes.gtceu.distillery('tfg:ammonium_tungstate_to_apt') - .itemInputs(Item.of('tfg:ammonium_tungstate_dust', 1)) - .itemOutputs(Item.of('tfg:apt_gem', 1)) - .outputFluids(Fluid.of('gtceu:hydrogen', 500)) - .duration(20*48) - .EUt(GTValues.VHA[GTValues.HV]) - - event.recipes.gtceu.pyrolyse_oven('tfg:apt') - .itemInputs(Item.of('tfg:apt_gem', 1)) - .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1)) - .outputFluids(Fluid.of('gtceu:ammonia', 10000)) - .duration(20*36) - .EUt(GTValues.VA[GTValues.EV]) - .circuit(1) - - event.recipes.gtceu.pyrolyse_oven('tfg:apt_nitrogen') - .itemInputs(Item.of('tfg:apt_gem', 1)) - .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) - .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1)) - .outputFluids(Fluid.of('gtceu:ammonia', 10000)) - .duration(20*18) - .EUt(GTValues.VA[GTValues.EV]) - .circuit(2) - - event.recipes.gtceu.arc_furnace('tfg:tungsten_apt') - .itemInputs(Item.of('tfg:tungsten_oxide_dust', 1)) - .inputFluids(Fluid.of('gtceu:hydrogen', 3000)) - .itemOutputs(Item.of('gtceu:tungsten_dust', 1)) - .duration(20*2.8) - .EUt(GTValues.VA[GTValues.EV]) - - //#endregion - - - // New Alloys - - event.recipes.gtceu.mixer('tfg:ostrum_iodide') - .itemInputs('1x #forge:dusts/iodine', '2x #forge:dusts/ostrum') - .itemOutputs('3x #forge:dusts/ostrum_iodide') - .duration(20 * 12) - .circuit(1) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.mixer('tfg:tungsten_bismuth_oxide_composite') - .itemInputs('2x #forge:dusts/bismuth', 'gtceu:tungsten_dust') - .inputFluids(Fluid.of('gtceu:oxygen', 3000)) - .itemOutputs('3x tfg:tungsten_bismuth_oxide_composite_dust') - .duration(20 * 12) - .EUt(GTValues.VA[GTValues.EV]) - - // Handcrafted artisanal concrete - - event.recipes.firmalife.mixing_bowl() - .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/marble', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000)) - .outputFluid(Fluid.of('gtceu:concrete', 1000)) - - event.recipes.firmalife.mixing_bowl() - .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/clay'], Fluid.of('minecraft:water', 500)) - .outputFluid(Fluid.of('gtceu:concrete', 500)) - - event.recipes.firmalife.mixing_bowl() - .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/calcite', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000)) - .outputFluid(Fluid.of('gtceu:concrete', 1000)) - - event.recipes.tfc.barrel_sealed(1000) - .inputFluid(Fluid.of('gtceu:concrete', 144)) - .inputItem('gtceu:wood_frame') - .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') - - 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) event.replaceInput( {output: 'gtceu:nano_saber'}, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide' ) diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 39b786f03..ebe072752 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -828,427 +828,37 @@ function registerGTCEuMachineRecipes(event) { B: 'gtceu:steam_machine_casing' }).addMaterialInfo().id('gtceu:shaped/steam_output_bus') - //#region Chipboard Composite - - event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax') - .itemInputs('2x #tfg:wood_dusts', - '1x #forge:wax') - .itemOutputs('2x tfg:chipboard_composite') - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.mixer('gtceu:chipboard_composite_resin') - .itemInputs('4x #tfg:wood_dusts', - '1x gtceu:sticky_resin') - .itemOutputs('4x tfg:chipboard_composite') - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.mixer('gtceu:chipboard_composite_glue') - .itemInputs('2x #tfg:wood_dusts', - '1x tfc:glue') - .itemOutputs('2x tfg:chipboard_composite') - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) - - - event.recipes.gtceu.mixer('gtceu:chipboard_composite_fluid_glue') - .itemInputs('1x #tfg:wood_dusts') - .inputFluids(Fluid.of('gtceu:glue', 25)) - .itemOutputs('1x tfg:chipboard_composite') - .duration(10) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.compressor('gtceu:wood_mdf') - .itemInputs('1x tfg:chipboard_composite') - .itemOutputs('gtceu:wood_plate') - .duration(200) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.chemical_bath('gtceu:treated_chipboard_composite') - .itemInputs('1x tfg:chipboard_composite') - .inputFluids(Fluid.of('gtceu:creosote', 50)) - .itemOutputs('tfg:treated_chipboard_composite') - .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)) - .itemOutputs('gtceu:treated_wood_dust') - .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]) - - //#region New Casings - - event.recipes.gtceu.assembler('basic_solar_casing') - .itemInputs('gtceu:steel_machine_casing', 'tfg:photo_cell_t1') - .itemOutputs('8x tfg:casings/machine_casing_blue_solar_panel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .circuit(6) - .duration(2.5 * 20) - .EUt(16) - - event.recipes.gtceu.assembler('advanced_solar_casing') - .itemInputs('8x tfg:casings/machine_casing_blue_solar_panel', 'ad_astra:photovoltaic_etrium_cell') - .itemOutputs('8x tfg:casings/machine_casing_green_solar_panel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .circuit(6) - .duration(2.5 * 20) - .EUt(16) - - event.recipes.gtceu.assembler('elite_solar_casing') - .itemInputs('8x tfg:casings/machine_casing_green_solar_panel', 'ad_astra:photovoltaic_vesnium_cell') - .itemOutputs('8x tfg:casings/machine_casing_red_solar_panel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) - .circuit(6) - .duration(2.5 * 20) - .EUt(16) - - event.recipes.gtceu.assembler('iron_desh_casing') - .itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 6), 'gtceu:desh_frame') - .itemOutputs('2x tfg:casings/machine_casing_iron_desh') - .circuit(6) - .duration(2.5 * 20) - .EUt(16) - - event.recipes.gtceu.assembler('steel_machine_casing') - .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4)) - .itemOutputs('gtceu:steel_machine_casing') - .circuit(6) - .duration(2.5 * 20) - .EUt(16) - - event.recipes.gtceu.assembler('tfg:casings/machine_casing_stainless_evaporation') - .itemInputs('gtceu:clean_machine_casing', '4x gtceu:annealed_copper_double_wire') - .inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 288)) - .itemOutputs('tfg:casings/machine_casing_stainless_evaporation') - .circuit(6) - .duration(2.5 * 20) - .EUt(GTValues.VA[GTValues.HV]) - - 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)) - .itemOutputs('tfg:casings/machine_casing_mars') - .circuit(6) - .duration(2.5 * 20) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.assembler('gtceu:atomic_casing') - .itemInputs('4x #forge:dense_plates/lead', '2x #forge:plates/rtm_alloy', '#forge:frames/titanium') - .inputFluids(Fluid.of('gtceu:polyvinyl_butyral', 288)) - .itemOutputs('2x gtceu:atomic_casing') - .circuit(6) - .duration(2.5 * 20) - .EUt(GTValues.VA[GTValues.HV]) - - //#endregion - - //#region Large Solar Panel - - event.shaped( - 'gtceu:large_solar_panel', - ['WSW', 'TZT', 'WUW'], - { - S: 'tfg:photo_cell_t1', - Z: 'ad_astra:solar_panel', - W: '#gtceu:circuits/ev', - U: '#forge:gears/rocket_alloy_t1', - T: '#forge:gears/desh' - } - ).id('gtceu:shaped/large_solar_panel') - - event.shaped( - 'gtceu:large_solar_panel_tier2', - ['WSW', 'TZT', 'WUW'], - { - S: 'ad_astra:photovoltaic_etrium_cell', - Z: 'gtceu:large_solar_panel', - W: '#gtceu:circuits/iv', - U: '#forge:gears/rocket_alloy_t1', - T: '#forge:gears/desh' - } - ).id('gtceu:shaped/large_solar_panel_tier2') - - event.shaped( - 'gtceu:large_solar_panel_tier3', - ['WSW', 'TZT', 'WUW'], - { - S: 'ad_astra:photovoltaic_vesnium_cell', - Z: 'gtceu:large_solar_panel_tier2', - W: '#gtceu:circuits/luv', - U: '#forge:gears/rocket_alloy_t1', - T: '#forge:gears/desh' - } - ).id('gtceu:shaped/large_solar_panel_tier3') - - event.recipes.gtceu.chemical_reactor('advanced_photovoltaic_cell') - .itemInputs('8x tfg:photo_cell_t1', - '6x #forge:dusts/vanadium_gallium', - '#forge:insulation_t2/sheet') - .inputFluids(Fluid.of('gtceu:helium_3', 1000)) - .itemOutputs('8x ad_astra:photovoltaic_etrium_cell') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.chemical_reactor('expert_photovoltaic_cell') - .itemInputs('8x ad_astra:photovoltaic_etrium_cell', - '6x gtceu:energium_dust', - '#forge:insulation_t3/sheet') - .inputFluids(Fluid.of('tfg:cryogenized_fluix', 1000)) - .itemOutputs('8x ad_astra:photovoltaic_vesnium_cell') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.IV]) - - // LSP Generating recipes - - // Solar T1 - - event.recipes.gtceu.large_solar_panel('solar_panel_t1_emergency') - .chancedInput('tfg:photo_cell_t1', 100, 0) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-((GTValues.V[GTValues.HV])), 2) - .circuit(1) - - event.recipes.gtceu.large_solar_panel('solar_panel_t1') - .notConsumable('tfg:photo_cell_t1') - .perTick(true) - .chancedFluidInput('tfg:compressed_trimix_3 4', 5000, 0) - .perTick(false) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-(GTValues.V[GTValues.EV]), 2) - .circuit(2) - - // Solar T2 - - event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_emergency') - .chancedInput('ad_astra:photovoltaic_etrium_cell', 100, 0) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-(GTValues.V[GTValues.EV]), 2) - .circuit(1) - - event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_strong') - .notConsumable('ad_astra:photovoltaic_etrium_cell') - .perTick(true) - .chancedFluidInput('tfg:solar_coolant 10', 5000, 0) - .inputFluids('tfg:cryogenized_fluix 4') - .outputFluids('tfg:fluix 1') - .perTick(false) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-(GTValues.V[GTValues.IV]), 2) - .circuit(2) - - event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_cheap') - .notConsumable('ad_astra:photovoltaic_etrium_cell') - .perTick(true) - .inputFluids('tfg:compressed_trimix_3 1') - .perTick(false) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-(GTValues.V[GTValues.EV]), 2) - .circuit(3) - - // Solar T3 - - event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_emergency') - .chancedInput('ad_astra:photovoltaic_vesnium_cell', 100, 0) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-(GTValues.V[GTValues.IV]), 2) - .circuit(1) - - event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_strong') - .notConsumable('ad_astra:photovoltaic_vesnium_cell') - .perTick(true) - .chancedFluidInput('tfg:solar_coolant_tier2 10', 5000, 0) - .inputFluids('tfg:cryogenized_fluix 4') - .outputFluids('tfg:fluix 1') - .perTick(false) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-(GTValues.V[GTValues.LuV]), 2) - .circuit(2) - - event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_cheap') - .notConsumable('ad_astra:photovoltaic_vesnium_cell') - .perTick(true) - .chancedFluidInput('tfg:solar_coolant 10', 5000, 0) - .inputFluids('tfg:cryogenized_fluix 4') - .outputFluids('tfg:fluix 1') - .perTick(false) - .duration(20 * 20) - .daytime(false) - .dimension('ad_astra:moon') - .EUt(-(GTValues.V[GTValues.IV]), 2) - .circuit(2) - - //#endregion - - //#region Mars Ore Line - - // Multiblock - - event.shaped('tfg:ostrum_linear_accelerator', [ - 'USU', - 'WZW', - 'PTP' + // the recycling fix only works if the addMaterialInfo() is on the shaped recipe, NOT the assembler + removeMaceratorRecipe(event, 'macerate_palladium_substation') + event.recipes.gtceu.shaped('gtceu:palladium_substation', [ + 'AAA', + ' B ', + 'AAA' ], { - S: 'tfg:casings/machine_casing_vacuum_engine_intake', - Z: 'gtceu:iv_machine_hull', - W: '#gtceu:circuits/iv', - U: '#forge:double_plates/stellite_100', - T: '#forge:single_cables/platinum', - P: 'gtceu:iv_electric_pump' - } - ).id('tfg:shaped/ostrum_linear_accelerator') + A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Palladium, 1), + B: ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Ultimet, 1) + }).addMaterialInfo().id('tfg:shaped/casing_palladium_substation') - event.recipes.gtceu.assembler('tfg:ostrum_harvester') + event.recipes.gtceu.assembler('casing_palladium_substation') .itemInputs( - '1x gtceu:ev_machine_hull', - '4x #gtceu:circuits/ev', - '4x gtceu:ev_electric_motor', - '4x #forge:rotors/black_steel', - '4x gtceu:ev_electric_pump', - '4x #forge:gears/desh') - .itemOutputs('gtceu:ostrum_harvester') - .duration(400) - .EUt(GTValues.VA[GTValues.EV]) - .circuit(2) + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Palladium, 6), + ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Ultimet, 1) + ) + .itemOutputs('gtceu:palladium_substation') + .duration(20 * 2.5) + .circuit(6) + .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.assembler('tfg:moon_dust_harvester') - .itemInputs( - '1x gtceu:hv_machine_hull', - '4x #gtceu:circuits/hv', - '4x gtceu:hv_electric_motor', - '4x #forge:rotors/titanium', - '4x gtceu:hv_electric_pump', - '4x #forge:gears/rocket_alloy_t1') - .itemOutputs('gtceu:moon_dust_harvester') - .duration(400) - .EUt(GTValues.VA[GTValues.HV]) - .circuit(2) - - // Vacuum Intake - - event.shaped('tfg:casings/machine_casing_vacuum_engine_intake', [ - 'USU', - 'WZW', - 'UTU' + + removeMaceratorRecipe(event, 'macerate_power_substation') + event.recipes.gtceu.shaped('gtceu:power_substation', [ + 'ABA', + 'CDC', + 'ABA' ], { - S: '#forge:tools/hammers', - T: '#forge:tools/wrenches', - W: '#forge:rotors/ultimet', - U: 'gtceu:ultimet_normal_item_pipe', - Z: 'gtceu:inert_machine_casing' - }).id('tfg:shaped/casing_machine_casing_vacuum_engine_intake') - - event.recipes.gtceu.assembler('tfg:casings/machine_casing_vacuum_engine_intake') - .itemInputs( - '2x #forge:rotors/ultimet', - '4x gtceu:ultimet_normal_item_pipe', - '1x gtceu:inert_machine_casing') - .itemOutputs('tfg:casings/machine_casing_vacuum_engine_intake') - .duration(50) - .EUt(GTValues.VH[GTValues.LV]) - .circuit(2) - - // Stainless Evaporation Tower - - event.recipes.gtceu.shaped('tfg:evaporation_tower', [ - 'TUT', - 'WZW', - 'TUT' - ], { - T: '#gtceu:circuits/iv', - W: 'gtceu:ev_electric_pump', - U: '#forge:double_wires/nichrome', - Z: 'gtceu:ev_machine_hull' - }).addMaterialInfo().id('tfg:shaped/evaporation_tower') - - //#endregion - - //#region Nuclear Controler - - event.shaped('deafission:fission_reactor_mk1', [ - 'TUT', - 'WZW', - 'TUT' - ], { - T: 'gtceu:atomic_casing', - W: '#gtceu:circuits/ev', - U: 'gtceu:hv_field_generator', - Z: 'gtceu:ev_machine_hull' - } - ).id('tfg:shaped/fission_reactor_mk1') - - event.shaped('gtceu:nuclear_fuel_factory', [ - 'TUT', - 'WZW', - 'TBT' - ], { - T: 'gtceu:atomic_casing', - W: '#gtceu:circuits/ev', - U: 'gtceu:ev_emitter', - Z: 'gtceu:ev_machine_hull', - B: 'gtceu:ev_robot_arm' - } - ).id('tfg:shaped/nuclear_fuel_factory') - - event.shaped('gtceu:heat_exchanger', [ - 'TUT', - 'WZW', - 'GBG' - ], { - T: 'gtceu:high_temperature_smelting_casing', - W: '#gtceu:circuits/ev', - U: 'gtceu:ev_sensor', - Z: 'gtceu:ev_machine_hull', - B: 'gtceu:ev_fluid_regulator', - G: '#forge:gears/ostrum_iodide' - } - ).id('tfg:shaped/heat_exchanger') - - event.shaped('tfg:nuclear_turbine', [ - 'CTC', - 'TZT', - 'BTB' - ], { - T: '#forge:gears/magnalium', - Z: 'gtceu:ev_machine_hull', - B: 'gtceu:ultimet_large_item_pipe', - C: '#gtceu:circuits/ev' - } - ).id('tfg:shaped/nuclear_turbine') - + A: 'gtceu:lapotron_crystal', + B: 'gtceu:mpic_chip', + C: '#gtceu:circuits/ev', + D: 'gtceu:palladium_substation' + }).addMaterialInfo().id('gtceu:shaped/power_substation') } diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index 2e398078b..925f5f08f 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -140,25 +140,103 @@ function registerGTCEURecyclingRecipes(event) { .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) .EUt(GTValues.VA[GTValues.LV]) + // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace - // Clean Foil pack - 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]) + const SIGN_METALS = [ + GTMaterials.Copper, + GTMaterials.Bronze, + GTMaterials.BlackBronze, + GTMaterials.BismuthBronze, + GTMaterials.WroughtIron, + GTMaterials.Steel, + GTMaterials.BlackSteel, + GTMaterials.RedSteel, + GTMaterials.BlueSteel + ]; - 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]) + SIGN_METALS.forEach(metal => { + // Arc furnace + global.TFC_WOOD_TYPES.forEach(wood => { + event.remove(`gtceu:arc_furnace/arc_wood/hanging_sign/${metal.getName()}/${wood}`) + event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:tiny_ash_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) + .inputFluids(Fluid.of('gtceu:oxygen', 12)) + .duration(12) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + }) + + global.AFC_WOOD_TYPES.forEach(wood => { + event.recipes.gtceu.arc_furnace(`gtceu:arc_furnace/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:tiny_ash_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.nugget, metal, 1), 3750, 0) + .inputFluids(Fluid.of('gtceu:oxygen', 12)) + .duration(12) + .EUt(30) + .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) + }) + + // Macerator + global.TFC_HARDWOOD_TYPES.forEach(wood => { + removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:hardwood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + + global.TFC_SOFTWOOD_TYPES.forEach(wood => { + removeMaceratorRecipe(event, `macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`tfc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:wood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + + global.AFC_HARDWOOD_TYPES.forEach(wood => { + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:hardwood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + + global.AFC_SOFTWOOD_TYPES.forEach(wood => { + event.recipes.gtceu.macerator(`gtceu:macerator/macerate_wood/hanging_sign/${metal.getName()}/${wood}`) + .itemInputs(`afc:wood/hanging_sign/${metal.getName()}/${wood}`) + .itemOutputs('gtceu:wood_dust') + .chancedOutput(ChemicalHelper.get(TagPrefix.dustTiny, metal, 1), 3750, 0) + .duration(108) + .EUt(8) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + }) + }) + // #endregion + + //#region support recycling + event.recipes.gtceu.macerator(`hardwood_support_to_dust`) + .itemInputs('#tfg:hardwood_supports') + .itemOutputs('gtceu:hardwood_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); + + event.recipes.gtceu.macerator(`softwood_support_to_dust`) + .itemInputs('#tfg:softwood_supports') + .itemOutputs('gtceu:wood_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index dbac80643..6377deb5c 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -817,6 +817,13 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:ore_washer/wash_plutonium_pure_dust_to_dust' }) event.remove({ id: 'gtceu:ore_washer/wash_plutonium_dirty_dust_to_dust' }) event.remove({ id: 'gtceu:forge_hammer/hammer_plutonium_refined_ore_to_dust' }) + + + event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' }); + + + event.remove({ id: 'gtceu:chemical_reactor/soda_ash_from_carbon_dioxide' }) + event.remove({ id: 'gtceu:large_chemical_reactor/soda_ash_from_carbon_dioxide' }) } function removeMaceratorRecipe(event, id) { diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index c121d87d8..de4bdf149 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -25,10 +25,6 @@ function registerGTCEUItemTags(event) { event.remove("minecraft:planks", "gtceu:wood_plate"); - event.add("tfg:sugars", "minecraft:sugar"); - event.add("tfg:sugars", "afc:birch_sugar"); - event.add("tfg:sugars", "afc:maple_sugar"); - global.MINECRAFT_DYE_NAMES.forEach((dyeName) => { event.remove("ae2:p2p_attunements/fluid_p2p_tunnel", `gtceu:${dyeName}_dye_bucket`); }); diff --git a/kubejs/server_scripts/immersive_aircraft/recipes.js b/kubejs/server_scripts/immersive_aircraft/recipes.js index d31b3cb42..e66a4cf66 100644 --- a/kubejs/server_scripts/immersive_aircraft/recipes.js +++ b/kubejs/server_scripts/immersive_aircraft/recipes.js @@ -872,4 +872,52 @@ function registerImmersiveAircraftRecipes(event) { }).id('tfg:immersive_aircraft/mechanical_crafter/bamboo_hopper') //#endregion + + // Custom stuff + + //Scaffolding Frame + event.shaped('tfg:scaffolding_frame', + [ + ' A ', + 'ABA', + ' A ' + ], + { + A: '#forge:rods/wood', + B: '#forge:cloth' + }).id('tfg:shaped/scaffolding_frame'); + + //Airship Hull + event.shaped('tfg:airship_hull', [ + 'A B', + 'C C', + 'CCC' + ], { + A: '#forge:tools/screwdrivers', + B: '#forge:tools/hammers', + C: 'immersive_aircraft:hull' + }).id('tfg:shaped/airship_hull'); + event.recipes.gtceu.assembler('tfg:assembler/airship_hull') + .itemInputs('5x immersive_aircraft:hull') + .itemOutputs('tfg:airship_hull') + .duration(40) + .circuit(1) + .EUt(GTValues.VA[GTValues.ULV]); + + //Airship Balloon + event.shaped('tfg:airship_balloon', [ + 'ABA', + 'BAB', + 'ABA' + ], { + A: '#forge:string', + B: 'immersive_aircraft:sail' + }).id('tfg:shaped/airship_balloon') + + event.recipes.gtceu.assembler('tfg:assembler/airship_balloon') + .itemInputs('4x immersive_aircraft:sail', '4x #forge:string') + .itemOutputs('tfg:airship_balloon') + .duration(40) + .circuit(1) + .EUt(GTValues.VA[GTValues.ULV]) } \ 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 ea9c4e1bc..78248cb3b 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -180,7 +180,7 @@ TFCEvents.data(event => { */ LootJS.modifiers((event) => { registerAdAstraLoots(event) - registerGTCEULoots(event) + registerTFGOreLoots(event) registerLootrLoots(event) registerPrimitiveCreaturesLoots(event) registerSpeciesLoots(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index d137c331b..acfe66bc3 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -10,26 +10,6 @@ const registerMinecraftRecipes = (event) => { removeMinecraftRecipes(event) registerMinecraftDyeRecipes(event) - //#region Выход: Земля, dirt - - event.recipes.gtceu.macerator('dirt_from_bio_chaff') - .itemInputs('gtceu:bio_chaff') - .itemOutputs('tfc:dirt/loam') - .duration(300) - .EUt(4) - - //#endregion - - //#region Выход: Стекло, glass - - event.recipes.gtceu.arc_furnace('glass_from_sand') - .itemInputs('#forge:sand') - .itemOutputs('2x minecraft:glass') - .duration(20) - .EUt(30) - - //#endregion - //#region Добавление, copper for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) { @@ -142,48 +122,6 @@ const registerMinecraftRecipes = (event) => { //#endregion - //#region Выход: Бумага, paper - - event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled') - .itemInputs('tfc:papyrus') - .inputFluids(Fluid.of('gtceu:distilled_water', 100)) - .itemOutputs('4x tfc:soaked_papyrus_strip') - .duration(100) - .EUt(7) - - event.recipes.gtceu.chemical_bath('paper_from_papyrus') - .itemInputs('tfc:papyrus') - .inputFluids("#tfg:clean_water 100") - .itemOutputs('4x tfc:soaked_papyrus_strip') - .duration(100) - .EUt(7) - - event.recipes.gtceu.assembler('papyrus_strips') - .itemInputs('4x tfc:soaked_papyrus_strip') - .itemOutputs('minecraft:paper') - .circuit(1) - .duration(100) - .EUt(7) - - //#endregion - - //#region Выход: Сахар, sugar - - event.recipes.gtceu.centrifuge('sugar_from_sugarcane') - .itemInputs('tfc:food/sugarcane') - .inputFluids("#tfg:clean_water 600") - .itemOutputs('minecraft:sugar', 'gtceu:plant_ball') - .duration(800) - .EUt(6) - - event.recipes.gtceu.centrifuge('sugar_from_honey') - .itemInputs('firmalife:raw_honey') - .itemOutputs('minecraft:sugar') - .duration(400) - .EUt(6) - - //#endregion - //#region Выход: Блок сена, hay block event.recipes.gtceu.packer('hay_block') @@ -823,7 +761,6 @@ const registerMinecraftRecipes = (event) => { //#region Выход: Элитра, elytra - // Ну и херь я придумал, here's some bullshit i came up with event.recipes.gtceu.assembler('tfg:minecraft/elytra') .itemInputs('16x tfg:polycaprolactam_fabric', '16x #forge:foils/aluminium', '8x tfg:phantom_silk', '4x #forge:rings/aluminium', '2x #forge:rods/long/vanadium_steel', '2x #forge:small_springs/aluminium', '1x #forge:small_gears/aluminium') .circuit(4) @@ -861,16 +798,6 @@ const registerMinecraftRecipes = (event) => { //#endregion - //#region Glowstone - - event.recipes.gtceu.mixer('gtceu:lv_glowstone') - .itemInputs('gtceu:gold_dust', 'minecraft:redstone', 'gtceu:sulfur_dust') - .itemOutputs('2x minecraft:glowstone_dust') - .circuit(8) - .duration(1200) - .EUt(30) - - //#endregion //#region Netherite leggings (for the lavaproof diving set) @@ -931,14 +858,6 @@ const registerMinecraftRecipes = (event) => { generateCutterRecipe(event, '#forge:double_plates/wrought_iron', 'minecraft:iron_door', 400, GTValues.VA[GTValues.LV], 'iron_door') - event.shaped('8x minecraft:ladder', [ - 'A A', - 'AAA', - 'A A' - ], { - A: '#forge:rods/wooden' - }).id('gtceu:shaped/ladder') - // #endregion // #region Calcite @@ -1018,19 +937,6 @@ const registerMinecraftRecipes = (event) => { event.smelting('tfc:glue', 'minecraft:magma_cream') .id('tfg:smelting/magma_cream_to_glue') - //#region Clay - event.shaped('minecraft:clay', [ - 'AA', - 'AA' - ], { - A: 'minecraft:clay_ball' - }) - .id('tfg:shaped/clay_balls_to_block') - - event.shapeless('4x minecraft:clay_ball', ['minecraft:clay']) - .id('tfg:shapeless/clay_block_to_balls') - - //#endregion //#region Mushrooms diff --git a/kubejs/server_scripts/species/recipes.js b/kubejs/server_scripts/species/recipes.js index 14b95dcdf..2c7fe4c09 100644 --- a/kubejs/server_scripts/species/recipes.js +++ b/kubejs/server_scripts/species/recipes.js @@ -66,30 +66,6 @@ function registerSpeciesRecipes(event) { B: 'firmaciv:rope_coil' }).id('tfg:shaped/harpoon') - generateGreenHouseRecipe(event, '8x tfg:saplings/alphacene', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x species:alphacene_mushroom_block', 'tfg:green_house/alphacene_mushroom', 'ad_astra:mars', 8, - '8x minecraft:mushroom_stem', GTValues.VA[GTValues.MV]) - - event.shapeless('species:cracked_wraptor_egg', ['tfg:wraptor_egg', '#forge:tools/hammers']).id('tfg:shapeless/crack_egg') - event.shapeless('2x tfg:wraptor_sugar', ['species:cracked_wraptor_egg']).id('tfg:shapeless/juice_egg') - - event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_mv') - .itemInputs('species:cracked_wraptor_egg') - .itemOutputs('4x tfg:wraptor_sugar') - .duration(100) - .EUt(GTValues.VA[GTValues.MV]) - event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_full') - .itemInputs('tfg:wraptor_egg') - .itemOutputs('4x tfg:wraptor_sugar') - .duration(200) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.extractor('tfg:juice_sniffer_egg') - .itemInputs('tfg:sniffer_egg') - .outputFluids(Fluid.of('firmalife:cream', 1000)) - .duration(100) - .EUt(GTValues.VA[GTValues.MV]) - event.shaped('species:ricoshield', [ 'EBE', 'ACA', diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index d800003a3..481d834ce 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -7,8 +7,6 @@ const registerTFCDataForTFC = (event) => { registerTFCLampFuels(event) registerTFCFertilizers(event) registerTFCKnappingTypes(event) - registerTFCItemSize(event) - registerTFCFoodData(event) registerTFCArmourResistances(event) } @@ -77,27 +75,6 @@ const registerTFCKnappingTypes = (event) => { event.knappingType('tfc:straw', 4, 4, 'tfc:item.knapping.leather', false, false, false, 'tfc:straw', 'tfg:straw') } - -const registerTFCItemSize = (event) => { - event.itemSize('#tfc:ore_pieces', 'very_small', 'very_light', 'tfc_ores') - - event.itemSize('#tfc:foods/sealed_preserves', 'tiny', 'medium', 'sealed_preserves') - event.itemSize('#tfc:foods/preserves', 'tiny', 'medium', 'preserves') - - event.itemSize('#forge:tools/wrenches', 'very_large', 'very_heavy', 'wrenches') - event.itemSize('#forge:tools/mining_hammers', 'very_large', 'very_heavy', 'mining_hammers') - event.itemSize('#forge:tools/spades', 'very_large', 'very_heavy', 'spades') -} - - -const registerTFCFoodData = (event) => { - - event.foodItem('firmalife:ice_shavings', food => { - food.water(5) - food.decayModifier(0) - }) -} - const registerTFCArmourResistances = (event) => { event.itemDamageResistance( 'create:copper_diving_helmet', diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index f38d1df41..f26ac71a1 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -10,17 +10,8 @@ const registerTFCRecipes = (event) => { removeTFCRecipes(event) registerTFCMaterialsRecipes(event) registerTFCMetalsRecipes(event) - registerTFCStoneRecipes(event) - registerTFCSandRecipes(event) - registerTFCDirtRecipes(event) - registerTFCWoodRecipes(event) - registerTFCKnappingRecipes(event) - registerTFCMachineRecipes(event) - registerTFCAlabasterRecipes(event) registerTFCDyeRecipes(event) - //#region Рецепты порошков - // Добавление рецептов global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { event.recipes.gtceu.macerator(`tfg:${element.name}`) @@ -33,26 +24,6 @@ const registerTFCRecipes = (event) => { .id(`tfg:quern/${element.name}`) }) - //#endregion - - //#region Рецепты обжарки форм - - global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) - .id(`tfg:smelting/${element.name}`) - }) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`) - .id(`tfg:smelting/${dye}_glazed_vessel`) - - event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`) - .id(`tfg:smelting/${dye}_large_vessel`) - }) - - //#endregion - - //#region Рецепты электрической теплицы // Дерево @@ -89,21 +60,12 @@ const registerTFCRecipes = (event) => { const itemId = element.id; const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - generateGreenHouseRecipe(event, itemId, '#tfc:any_fresh_water', 8000, `8x ${itemId}`, + generateGreenHouseRecipe(event, itemId, '#tfc:any_fresh_water', 8000, `8x ${itemId}`, recipeId, null, 8, itemId, GTValues.VH[GTValues.LV]); }); //#endregion - event.shapeless('tfc:crucible', ['tfc:crucible']).id('tfg:empty_crucible') - - event.shapeless('2x minecraft:stick', ['#minecraft:saplings', '#forge:tools/knives']).id('tfg:strip_saplings') - - event.recipes.gtceu.cutter('tfg:saplings_to_sticks') - .itemInputs('#minecraft:saplings') - .itemOutputs('2x minecraft:stick') - .duration(20) - .EUt(7) // Доменная печь event.recipes.gtceu.shaped('tfc:blast_furnace', [ @@ -126,40 +88,64 @@ const registerTFCRecipes = (event) => { [TFC.ingredient.notRotten('tfc:pumpkin'), '#tfc:knives'], 'tfc:pumpkin') .id(`tfc:crafting/pumpkin_chunks_knife`) - // Lime + // Flux + Lime event.smelting('tfc:powder/lime', 'tfc:powder/flux') .id('tfg:smelting/lime') - // Kaolinite Clay - regular smelting recipes can't have multiple inputs - event.recipes.gtceu.alloy_smelter('tfg:kaolinite') - .itemInputs('tfc:kaolin_clay') - .circuit(1) - .chancedOutput('tfc:powder/kaolinite', 2000, 0) - .duration(100) - .EUt(16) + event.recipes.gtceu.macerator('flux') + .itemInputs('#tfc:fluxstone') + .itemOutputs('2x tfc:powder/flux') + .duration(30) + .EUt(2) - // Fire Clay - event.recipes.gtceu.alloy_smelter('tfg:cheaper_fire_clay') - .itemInputs('#forge:dusts/graphite', '4x tfc:kaolin_clay') - .itemOutputs('2x tfc:fire_clay') - .duration(600) - .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.forge_hammer('flux') + .itemInputs('#tfc:fluxstone') + .itemOutputs('2x tfc:powder/flux') + .duration(30) + .EUt(2) - event.recipes.gtceu.alloy_smelter('tfg:oops_i_smelted_all_my_kaolin') - .itemInputs('minecraft:clay_ball', 'tfc:powder/kaolinite') - .itemOutputs('tfc:kaolin_clay') - .duration(600) - .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.greate.pressing('2x tfc:powder/flux', '#tfc:fluxstone') + .recipeTier(0) + .id('greate:pressing/flux') - // Выпаривание соли + // Salt Water event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 100) .itemOutput('gtceu:small_salt_dust') .id('tfg:tfc/pot/salt') - // Salt Water generateMixerRecipe(event, ['#forge:dusts/salt'], "#tfg:clean_water 1000", [], 2, Fluid.of('tfc:salt_water', 1000), 40, 7, 64, 'tfg:tfc/salt_water') + event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('1x gtceu:salt_dust') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(51) + .EUt(30) + .circuit(1) + + event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust') + .outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500)) + .duration(720) + .EUt(30) + + // Add circuit to gregtech salt water mixer recipe + event.remove({ id: 'gtceu:mixer/salt_water' }) + generateMixerRecipe(event, ['2x #forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], 1, Fluid.of('gtceu:salt_water', 1000), 40, 7, 64, 'tfg:gtceu/salt_water') + + event.recipes.tfc.barrel_instant() + .inputItem(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Salt, 1)) + .inputFluid(Fluid.of('minecraft:water', 1000)) + .outputFluid(Fluid.of('tfc:salt_water', 1000)) + .id('tfg:barrel/water_to_salt_water') + + event.recipes.tfc.barrel_instant() + .inputItem("tfc:powder/salt") + .inputFluid(Fluid.of('minecraft:water', 250)) + .outputFluid(Fluid.of('tfc:salt_water', 250)) + .id('tfg:barrel/water_to_salt_water_tfc') // Seaweed and kelp event.recipes.tfc.heating('tfc:groundcover/seaweed', 200) @@ -176,20 +162,9 @@ const registerTFCRecipes = (event) => { event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda') event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda') - //#region Обрушения - - event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') - event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') - event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') - - //#endregion - //More accesible solar drier event.replaceInput({ id: 'firmalife:crafting/solar_drier' }, 'gtceu:stainless_steel_rod', 'gtceu:silver_rod') - //Wood ash - event.recipes.create.splashing([Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], 'tfc:torch') - .id('tfg:splashing/wash_torch') //Lye generateMixerRecipe(event, 'tfc:powder/wood_ash', "#tfg:clean_water 200", @@ -204,102 +179,37 @@ const registerTFCRecipes = (event) => { .EUt(2) // Brass Mechanism - event.recipes.shapeless('gtceu:small_brass_gear', [ 'tfc:brass_mechanisms' ]).id('tfg:replace_brass_mechanisms') - event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear') + event.recipes.shapeless('gtceu:small_brass_gear', ['tfc:brass_mechanisms']).id('tfg:replace_brass_mechanisms') + event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear') - // Fertilizers - event.recipes.gtceu.centrifuge('tfg:gtceu/centrifuge/pure_fertilizers') - .itemInputs('1x gtceu:fertilizer') - .itemOutputs('1x tfc:pure_nitrogen', '1x tfc:pure_potassium', '1x tfc:pure_phosphorus') - .duration(340) - .EUt(GTValues.VA[GTValues.ULV]) + // Rennet + event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet') + .itemInputs('#tfg:ferments_to_rennet') + .itemOutputs('firmalife:rennet') + .duration(400) + .EUt(16) - 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)) - .itemOutputs('1x gtceu:fertilizer') - .duration(160) - .EUt(GTValues.VA[GTValues.ULV]) + event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet') + .inputFluids(Fluid.of('gtceu:fermented_biomass', 100)) + .itemOutputs('firmalife:rennet') + .duration(2400) + .EUt(16) - event.recipes.gtceu.gas_pressurizer('tfg:pure_nitrogen') - .itemInputs('#forge:wax') - .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) - .itemOutputs('16x tfc:pure_nitrogen') + // Brine + event.recipes.gtceu.mixer('tfg:tfc/brine') + .inputFluids(Fluid.of('tfc:salt_water', 900)) + .inputFluids(Fluid.of('tfc:vinegar', 100)) + .outputFluids(Fluid.of('tfc:brine', 1000)) .duration(100) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(16) - //Hide Sewing - const stages = [ - 'raw', - 'soaked', - 'scraped', - 'prepared', - 'sheepskin' - ]; - - stages.forEach(stage => { - //Combining - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless(`1x tfc:medium_${stage}_hide`, [ - `2x tfc:small_${stage}_hide`, - '#tfc:sewing_needles', - '#forge:string', - 'tfc:glue' - ]).id(`tfg:tfc/small_to_medium_${stage}_hide`) - ) - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless(`1x tfc:large_${stage}_hide`, [ - `3x tfc:small_${stage}_hide`, - '#tfc:sewing_needles', - '#forge:string', - 'tfc:glue' - ]).id(`tfg:tfc/small_to_large_${stage}_hide`) - ) - - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_medium_${stage}_hide`) - .inputFluids(Fluid.of('gtceu:glue', 25)) - .itemOutputs(`1x tfc:medium_${stage}_hide`) - .itemInputs(`2x tfc:small_${stage}_hide`) - .duration(60) - .circuit(7) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_large_${stage}_hide`) - .inputFluids(Fluid.of('gtceu:glue', 25)) - .itemOutputs(`1x tfc:large_${stage}_hide`) - .itemInputs(`3x tfc:small_${stage}_hide`) - .duration(60) - .circuit(9) - .EUt(GTValues.VA[GTValues.ULV]) - - //Cutting - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless(`2x tfc:small_${stage}_hide`, [ - `1x tfc:medium_${stage}_hide`, - '#forge:shears' - ]).id(`tfg:tfc/medium_to_small_${stage}_hide`) - ) - - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless(`3x tfc:small_${stage}_hide`, [ - `1x tfc:large_${stage}_hide`, - '#forge:shears' - ]).id(`tfg:tfc/large_to_small_${stage}_hide`) - ) - - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/medium_to_small_${stage}_hide`) - .itemOutputs(`2x tfc:small_${stage}_hide`) - .itemInputs(`1x tfc:medium_${stage}_hide`) - .duration(60) - .circuit(4) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler(`tfg:gtceu/assembler/large_to_small_${stage}_hide`) - .itemOutputs(`3x tfc:small_${stage}_hide`) - .itemInputs(`1x tfc:large_${stage}_hide`) - .duration(60) - .circuit(6) - .EUt(GTValues.VA[GTValues.ULV]) - }); + // LimeWater + Sand -> Mortar + event.recipes.gtceu.mixer('mortar') + .itemInputs('#forge:sand') + .inputFluids(Fluid.of('tfc:limewater', 100)) + .itemOutputs('16x tfc:mortar') + .duration(800) + .EUt(8) // Jar lids @@ -311,46 +221,25 @@ const registerTFCRecipes = (event) => { event.replaceInput({ mod: 'tfc' }, 'minecraft:sugar', '#tfg:sugars') - // Sea Water - event.recipes.tfc.barrel_instant() - .inputItem(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Salt, 1)) - .inputFluid(Fluid.of('minecraft:water', 1000)) - .outputFluid(Fluid.of('tfc:salt_water', 1000)) - .id('tfg:barrel/water_to_salt_water') - event.recipes.tfc.barrel_instant() - .inputItem("tfc:powder/salt") - .inputFluid(Fluid.of('minecraft:water', 250)) - .outputFluid(Fluid.of('tfc:salt_water', 250)) - .id('tfg:barrel/water_to_salt_water_tfc') + // jute net -> burlap net + event.replaceInput({ id: 'tfc:crafting/jute_net' }, 'tfc:jute_fiber', '#tfg:burlap_fiber') - // jute net -> burlap net - event.replaceInput({ id: 'tfc:crafting/jute_net'}, 'tfc:jute_fiber', '#tfg:burlap_fiber') - - // horse armor to use burlap - global.TFC_EQUIPMENT_METALS.forEach(material => { - event.replaceInput({ id: `tfc:crafting/${material}_horse_armor`}, `tfc:jute_fiber`, `#tfg:burlap_fiber`) - }) - - // Just a dummy recipe to tell people they can get wood ash by throwing torches in water via TFC - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "tfc:water" - }, - ingredients: [{ item: 'tfc:torch' }], - result: { item: 'tfc:powder/wood_ash' } - }).id(`tfg:ae_transform/torch_to_wood_ash`) - - event.shaped('8x minecraft:ladder', [ - 'A A', - 'AAA', - 'A A' - ], { - A: '#tfc:lumber' - }).id('tfc:crafting/vanilla/ladder') - - event.replaceInput({ id: 'tfc:crafting/vanilla/armor_stand' }, '#minecraft:planks', '#tfc:lumber') - event.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' }) + // horse armor to use burlap + global.TFC_EQUIPMENT_METALS.forEach(material => { + event.replaceInput({ id: `tfc:crafting/${material}_horse_armor` }, `tfc:jute_fiber`, `#tfg:burlap_fiber`) + }) + + event.recipes.gtceu.centrifuge('tfg:soot') + .itemInputs('tfc:soot') + .itemOutputs('#forge:dusts/carbon') + .duration(20) + .EUt(2) + + event.recipes.gtceu.extruder('tfg:wrought_iron_grill_electric_only') + .itemInputs('2x #forge:plates/wrought_iron') + .notConsumable('tfg:large_casing_extruder_mold') + .itemOutputs('tfc:wrought_iron_grill') + .duration(60) + .EUt(8) } diff --git a/kubejs/server_scripts/tfc/recipes.machines.js b/kubejs/server_scripts/tfc/recipes.machines.js deleted file mode 100644 index 319bbe004..000000000 --- a/kubejs/server_scripts/tfc/recipes.machines.js +++ /dev/null @@ -1,452 +0,0 @@ -// priority: 0 -"use strict"; - -function registerTFCMachineRecipes(event) { - - // Бумага - event.recipes.gtceu.cutter('tfg:unrefined_paper') - .itemInputs('tfc:unrefined_paper') - .itemOutputs('minecraft:paper') - .duration(100) - .EUt(7) - - // Limewater - event.recipes.gtceu.mixer('tfg:limewater_from_lime') - .itemInputs('tfc:powder/lime') - .inputFluids(Fluid.of('water', 500)) - .outputFluids(Fluid.of('tfc:limewater', 500)) - .duration(20) - .EUt(16) - - event.recipes.gtceu.mixer('tfg:limewater_from_flux') - .itemInputs('tfc:powder/flux') - .inputFluids(Fluid.of('water', 500)) - .outputFluids(Fluid.of('tfc:limewater', 500)) - .duration(20) - .EUt(16) - - // Tannin - event.recipes.gtceu.chemical_bath('tfg:tannin') - .itemInputs('#tfc:makes_tannin') - .inputFluids(Fluid.of('water', 1000)) - .outputFluids(Fluid.of('tfc:tannin', 1000)) - .duration(2400) - .EUt(16) - - // Soaked hides - event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide') - .itemInputs('tfc:small_raw_hide') - .inputFluids(Fluid.of('tfc:limewater', 300)) - .itemOutputs('tfc:small_soaked_hide') - .duration(1600) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide') - .itemInputs('tfc:medium_raw_hide') - .inputFluids(Fluid.of('tfc:limewater', 400)) - .itemOutputs('tfc:medium_soaked_hide') - .duration(2400) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide') - .itemInputs('tfc:large_raw_hide') - .inputFluids(Fluid.of('tfc:limewater', 500)) - .itemOutputs('tfc:large_soaked_hide') - .duration(3200) - .EUt(16) - - // Scraped Hides - event.recipes.gtceu.cutter('tfg:small_scraped_hide') - .itemInputs('tfc:small_soaked_hide') - .itemOutputs('tfc:small_scraped_hide') - .duration(100) - .EUt(7) - - event.recipes.gtceu.cutter('tfg:medium_scraped_hide') - .itemInputs('tfc:medium_soaked_hide') - .itemOutputs('tfc:medium_scraped_hide') - .duration(100) - .EUt(7) - - event.recipes.gtceu.cutter('tfg:large_scraped_hide') - .itemInputs('tfc:large_soaked_hide') - .itemOutputs('tfc:large_scraped_hide') - .duration(100) - .EUt(7) - - // Prepared hides - event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide') - .itemInputs('tfc:small_soaked_hide') - .inputFluids(Fluid.of('water', 300)) - .itemOutputs('tfc:small_prepared_hide') - .duration(1600) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide') - .itemInputs('tfc:medium_soaked_hide') - .inputFluids(Fluid.of('water', 400)) - .itemOutputs('tfc:medium_prepared_hide') - .duration(2400) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide') - .itemInputs('tfc:large_soaked_hide') - .inputFluids(Fluid.of('water', 500)) - .itemOutputs('tfc:large_prepared_hide') - .duration(3200) - .EUt(16) - - // Leather - event.recipes.gtceu.chemical_bath('tfg:small_leather') - .itemInputs('tfc:small_prepared_hide') - .inputFluids(Fluid.of('tfc:tannin', 300)) - .itemOutputs('minecraft:leather') - .duration(1600) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:medium_leather') - .itemInputs('tfc:medium_prepared_hide') - .inputFluids(Fluid.of('tfc:tannin', 400)) - .itemOutputs('2x minecraft:leather') - .duration(2400) - .EUt(16) - - event.recipes.gtceu.chemical_bath('tfg:large_leather') - .itemInputs('tfc:large_prepared_hide') - .inputFluids(Fluid.of('tfc:tannin', 500)) - .itemOutputs('3x minecraft:leather') - .duration(3200) - .EUt(16) - - //#region Молды в ассемблере - - for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { - let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; - - event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) - .itemInputs(element.input) - .circuit(i) - .itemOutputs(element.output) - .duration(450) - .EUt(2) - } - - for (let i = 0; i < global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { - let element = global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; - - event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) - .itemInputs(element.input) - .circuit(i) - .itemOutputs(element.output) - .duration(450) - .EUt(2) - } - - event.recipes.gtceu.extruder('tfg:unfired_clay_brick') - .itemInputs('minecraft:clay_ball') - .notConsumable('gtceu:ingot_extruder_mold') - .itemOutputs('tfc:ceramic/unfired_brick') - .duration(20) - .EUt(2) - - event.recipes.gtceu.extruder('tfg:unfired_fire_clay_brick') - .itemInputs('tfc:fire_clay') - .notConsumable('gtceu:ingot_extruder_mold') - .itemOutputs('tfc:ceramic/unfired_fire_brick') - .duration(20) - .EUt(2) - - //#endregion - - //#region Стеклянные смеси в бутылки в ассемблере - - global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) - .itemInputs(element.input) - .notConsumable('gtceu:bottle_casting_mold') - .itemOutputs(element.output) - .duration(100) - .EUt(2) - .category(GTRecipeCategories.INGOT_MOLDING) - }) - - //#endregion - - //#region СЫЫЫР 0_0 - - // Rennet - event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet') - .itemInputs('#tfg:ferments_to_rennet') - .itemOutputs('firmalife:rennet') - .duration(400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/biomass_rennet') - .inputFluids(Fluid.of('gtceu:fermented_biomass', 100)) - .itemOutputs('firmalife:rennet') - .duration(2400) - .EUt(16) - - //#endregion - - // Brine - - event.recipes.gtceu.mixer('tfg:tfc/brine') - .inputFluids(Fluid.of('tfc:salt_water', 900)) - .inputFluids(Fluid.of('tfc:vinegar', 100)) - .outputFluids(Fluid.of('tfc:brine', 1000)) - .duration(100) - .EUt(16) - - //#endregion - - // Lamp Glass - event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) - .itemInputs('#tfc:glass_batches') - .notConsumable('#tfg:unfinished_lamps') - .itemOutputs('tfc:lamp_glass') - .duration(100) - .EUt(2) - - event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass_from_dust`) - .itemInputs('#forge:dusts/glass') - .notConsumable('#tfg:unfinished_lamps') - .itemOutputs('tfc:lamp_glass') - .duration(100) - .EUt(2) - - // Empty Jar - event.recipes.gtceu.alloy_smelter('tfc:jar_alloying') - .itemInputs('#tfc:glass_batches_tier_2') - .notConsumable('gtceu:ball_casting_mold') - .itemOutputs('tfc:empty_jar') - .duration(100) - .EUt(2) - .category(GTRecipeCategories.INGOT_MOLDING) - - event.recipes.gtceu.fluid_solidifier('tfc:jar_solidification') - .inputFluids(Fluid.of('gtceu:glass', 144)) - .notConsumable('gtceu:cylinder_casting_mold') - .itemOutputs('tfc:empty_jar') - .duration(100) - .EUt(2) - - event.recipes.gtceu.extractor('tfc:jar_extraction') - .itemInputs('#tfc:jars') - .outputFluids(Fluid.of('gtceu:glass', 144)) - .duration(50) - .EUt(2) - - event.recipes.gtceu.extractor('tfc:glass_batch_extraction') - .itemInputs('#tfc:glass_batches') - .outputFluids(Fluid.of('gtceu:glass', 144)) - .duration(50) - .EUt(2) - - event.recipes.gtceu.lathe('tfc:lens') - .itemInputs('#forge:glass') - .itemOutputs('tfc:lens') - .duration(100) - .EUt(16) - - // Wool Yarn - event.recipes.gtceu.macerator('macerate_wool') - .itemInputs('#minecraft:wool') - .itemOutputs('tfc:wool_yarn') - .chancedOutput('tfc:wool_yarn', 9000, 0) - .chancedOutput('tfc:wool_yarn', 5000, 0) - .chancedOutput('tfc:wool_yarn', 2000, 0) - .duration(200) - .EUt(2) - - // LimeWater + Sand -> Mortar - event.recipes.gtceu.mixer('mortar') - .itemInputs('#forge:sand') - .inputFluids(Fluid.of('tfc:limewater', 100)) - .itemOutputs('16x tfc:mortar') - .duration(800) - .EUt(8) - - - // 1x Small SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_1') - .itemInputs('tfc:small_sheepskin_hide') - .itemOutputs('tfc:wool') - .duration(100) - .circuit(3) - .EUt(4) - - // 1x Medium SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_2') - .itemInputs('tfc:medium_sheepskin_hide') - .itemOutputs('2x tfc:wool') - .duration(100) - .circuit(3) - .EUt(4) - - // 1x Large SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_3') - .itemInputs('tfc:large_sheepskin_hide') - .itemOutputs('3x tfc:wool') - .duration(100) - .circuit(3) - .EUt(4) - - // Wool Yarn - event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn') - .itemInputs('tfc:wool') - .itemOutputs('8x tfc:wool_yarn') - .duration(100) - .EUt(4) - - // Burlap Cloth - event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth') - .itemInputs('12x tfc:jute_fiber') - .circuit(0) - .itemOutputs('tfc:burlap_cloth') - .duration(100) - .EUt(4) - - // Silk Cloth - event.recipes.gtceu.assembler('tfg:tfc/silk_cloth') - .itemInputs('24x minecraft:string') - .circuit(0) - .itemOutputs('tfc:silk_cloth') - .duration(100) - .EUt(4) - - // Wool Cloth - event.recipes.gtceu.assembler('tfg:tfc/wool_cloth') - .itemInputs('16x tfc:wool_yarn') - .circuit(0) - .itemOutputs('tfc:wool_cloth') - .duration(100) - .EUt(4) - - // Cloths to Wool - event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool') - .itemInputs('4x #tfc:sewing_light_cloth') - .itemOutputs('8x minecraft:white_wool') - .circuit(16) - .duration(100) - .EUt(4) - - // Jute Fiber - generateMixerRecipe(event, 'tfc:jute', "#tfg:clean_water 200", - 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') - - // Ceramic Recycling - event.recipes.gtceu.macerator('tfg:sherd_to_brick_dust') - .itemInputs('firmalife:pottery_sherd') - .itemOutputs('#forge:dusts/brick') - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(20) - .EUt(2) - - event.recipes.gtceu.macerator('tfg:ceramic_molds') - .itemInputs('#tfc:fired_molds') - .itemOutputs('2x #forge:dusts/brick') - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .duration(20) - .EUt(2) - - event.recipes.gtceu.macerator('tfg:large_vessels') - .itemInputs('#tfc:fired_large_vessels') - .itemOutputs('5x #forge:dusts/brick') - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .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) - - // Humus and compost - event.recipes.gtceu.extractor('tfg:humus_from_leaves') - .itemInputs('#minecraft:leaves') - .itemOutputs('tfc:groundcover/humus') - .duration(600) - .EUt(2) - - event.recipes.gtceu.extractor('tfg:humus_from_fallen_leaves') - .itemInputs('#tfc:fallen_leaves') - .itemOutputs('tfc:groundcover/humus') - .duration(600) - .EUt(2) - - event.recipes.gtceu.fermenter('tfg:fertilizer_to_compost') - .itemInputs('4x gtceu:fertilizer') - .itemOutputs('tfc:compost') - .duration(1200) - .EUt(2) - - const BROWNS = [ '16x #tfc:compost_browns_low', '8x #tfc:compost_browns', '4x #tfc:compost_browns_high' ]; - const GREENS = [ '16x #tfc:compost_greens_low', '8x #tfc:compost_greens', '4x #tfc:compost_greens_high' ]; - - let i = 0; - BROWNS.forEach(brown => { - GREENS.forEach(green => { - event.recipes.gtceu.mixer(`tfg:compost_${i++}`) - .itemInputs(brown, green) - .itemOutputs('tfc:compost') - .duration(1200) - .EUt(2) - }) - }) - - event.recipes.gtceu.centrifuge('tfg:soot') - .itemInputs('tfc:soot') - .itemOutputs('#forge:dusts/carbon') - .duration(20) - .EUt(2) - - // Stripped logs - - global.TFC_WOOD_TYPES.forEach(wood => { - event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`) - .itemInputs(`tfc:wood/log/${wood}`) - .itemOutputs(`tfc:wood/stripped_log/${wood}`) - .duration(50) - .EUt(2) - - event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`) - .itemInputs(`tfc:wood/wood/${wood}`) - .itemOutputs(`tfc:wood/stripped_wood/${wood}`) - .duration(50) - .EUt(2) - - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `tfc:wood/log/${wood}` }], - results: [{ item: `tfc:wood/stripped_log/${wood}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${wood}_log`) - - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `tfc:wood/wood/${wood}` }], - results: [{ item: `tfc:wood/stripped_wood/${wood}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${wood}_wood`) - }) - - - event.recipes.gtceu.extruder('tfg:wrought_iron_grill_electric_only') - .itemInputs('2x #forge:plates/wrought_iron') - .notConsumable('tfg:large_casing_extruder_mold') - .itemOutputs('tfc:wrought_iron_grill') - .duration(60) - .EUt(8) -} diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js index a1026e886..82358d538 100644 --- a/kubejs/server_scripts/tfc/recipes.metals.js +++ b/kubejs/server_scripts/tfc/recipes.metals.js @@ -200,39 +200,6 @@ function registerTFCMetalsRecipes(event) { .duration(700) .EUt(4) - // Rose Gold + Sterling Silver - const copper_types = [ - "#forge:ingots/copper", - "#forge:dusts/copper", - "#forge:ingots/annealed_copper", - "#forge:dusts/annealed_copper" - ]; - const gold_types = [ - "#forge:ingots/gold", - "#forge:dusts/gold" - ]; - const silver_types = [ - "#forge:ingots/silver", - "#forge:dusts/silver" - ]; - - copper_types.forEach(copper_types_array => { - gold_types.forEach(gold_types_array => { - event.recipes.gtceu.alloy_smelter(`rose_gold_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${gold_types_array.replace(/:/g, "/").replace(/#/g, "")}`) - .itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(gold_types_array).withCount(4)) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RoseGold, 5)) - .duration(20*10) - .EUt(GTValues.VA[GTValues.LV]) - }); - silver_types.forEach(silver_types_array => { - event.recipes.gtceu.alloy_smelter(`sterling_silver_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${silver_types_array.replace(/:/g, "/").replace(/#/g, "")}`) - .itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(silver_types_array).withCount(4)) - .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.SterlingSilver, 5)) - .duration(20*10) - .EUt(GTValues.VA[GTValues.LV]) - }); - }); - const TFC_INTERMEDIATE_METALS = [ @@ -401,6 +368,10 @@ function registerTFCMetalsRecipes(event) { }) //#endregion + event.smelting('minecraft:iron_ingot', '#forge:ingots/wrought_iron') + .id('tfg:revert_wrought_iron_ingot') + + // Melting powders const METAL_POWDERS = [ diff --git a/kubejs/server_scripts/tfc/recipes.wood.js b/kubejs/server_scripts/tfc/recipes.wood.js deleted file mode 100644 index 7ede26945..000000000 --- a/kubejs/server_scripts/tfc/recipes.wood.js +++ /dev/null @@ -1,55 +0,0 @@ -// priority: 0 -"use strict"; - -function registerTFCWoodRecipes(event) { - - event.replaceInput({ output: '#tfc:sewing_tables'}, '#forge:shears', '#forge:tools/knives') - - // Какие то рецепты дерева - global.TFC_WOOD_TYPES.forEach(wood => { - event.remove({ id: `tfc:crafting/wood/${wood}_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) - event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) - event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) - - // Бревна -> Пиломатериалы - generateCutterRecipe(event, `#tfc:${wood}_logs`, `16x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`) - - // Доски -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}`, `4x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`) - - // Ступень -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, `3x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`) - - - // Плита -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, `2x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`) - - // ? -> Деревянная нажимная пластина - event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [ - ' B ', - 'CDC', - ' E ' - ], { - B: '#tfc:hammers', - C: `tfc:wood/planks/${wood}_slab`, - D: '#forge:small_springs', - E: '#forge:tools/screwdrivers' - }).id(`tfc:crafting/wood/${wood}_pressure_plate`) - - event.recipes.gtceu.assembler(`${wood}_pressure_plate`) - .itemInputs('#forge:small_springs', `2x tfc:wood/planks/${wood}_slab`) - .circuit(3) - .itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`) - .duration(50) - .EUt(2) - - // ? -> Деревянная кнопка - event.remove({ id: `tfc:crafting/wood/${wood}_button` }) - - generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`) - - }) -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 07e49af45..ba1b45d80 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -301,6 +301,16 @@ function registerTFGItemSize(event) { event.itemSize("tfg:beaker", "large", "heavy", "tfg/beaker"); event.itemSize("tfg:flask", "normal", "medium", "tfg/flask"); event.itemSize("tfg:vial", "tiny", "light", "tfg/vial"); + + + event.itemSize('#tfc:ore_pieces', 'very_small', 'very_light', 'tfc_ores') + + event.itemSize('#tfc:foods/sealed_preserves', 'tiny', 'medium', 'sealed_preserves') + event.itemSize('#tfc:foods/preserves', 'tiny', 'medium', 'preserves') + + event.itemSize('#forge:tools/wrenches', 'very_large', 'very_heavy', 'wrenches') + event.itemSize('#forge:tools/mining_hammers', 'very_large', 'very_heavy', 'mining_hammers') + event.itemSize('#forge:tools/spades', 'very_large', 'very_heavy', 'spades') } //#endregion @@ -328,949 +338,4 @@ function registerTFGSupportData(event) { }); } -//#endregion -//#region Food Data - -/** @param {Internal.TFCDataEventJS} event */ -function registerTFGFoodData(event) { - - // Birt - event.foodItem("tfg:food/raw_birt", (food) => { - food.hunger(2); - food.protein(1.2); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_birt", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(2.2); - food.decayModifier(2.25); - }); - - // Crawlermari - event.foodItem("tfg:food/raw_crawlermari", (food) => { - food.hunger(2); - food.water(5); - food.protein(1.2); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_crawlermari", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(2.2); - food.decayModifier(2.25); - }); - - // Limpet - event.foodItem("tfg:food/raw_limpet", (food) => { - food.hunger(2); - food.water(5); - food.protein(1.2); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_limpet", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(2.2); - food.decayModifier(2.25); - }); - - // Moon Rabbit - event.foodItem("tfg:food/raw_moon_rabbit", (food) => { - food.hunger(2); - food.protein(1.2); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_moon_rabbit", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(2.2); - food.decayModifier(2.25); - }); - - // Glacian Mutton - event.foodItem("tfg:food/raw_glacian_mutton", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_glacian_mutton", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // Sniffer Beef - event.foodItem("tfg:food/raw_sniffer_beef", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_sniffer_beef", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // Wraptor - event.foodItem("tfg:food/raw_wraptor", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_wraptor", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // Springling Collar - event.foodItem("tfg:food/raw_springling_collar", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_springling_collar", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // Surfer Steak - event.foodItem("tfg:food/raw_surfer_steak", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_surfer_steak", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // Cruncher Ribs - event.foodItem("tfg:food/raw_cruncher_ribs", (food) => { - food.hunger(2); - food.protein(2.0); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_cruncher_ribs", (food) => { - food.hunger(4); - food.saturation(2.2); - food.protein(4); - food.decayModifier(2.25); - }); - - // Long Pig Filet - event.foodItem("tfg:food/raw_long_pig_filet", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_long_pig_filet", (food) => { - food.hunger(2); - food.saturation(2); - food.protein(2); - food.decayModifier(2.25); - }); - - // Stackatick Chunks - event.foodItem("tfg:food/raw_stackatick_chunks", (food) => { - food.hunger(2); - food.protein(1.2); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/raw_stickastackatick", (food) => { - food.hunger(2); - food.protein(1.2); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_stickastackatick", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // Walker Steak - event.foodItem("tfg:food/raw_walker_steak", (food) => { - food.hunger(2); - food.protein(2.0); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_walker_steak", (food) => { - food.hunger(4); - food.saturation(2.2); - food.protein(4); - food.decayModifier(2.25); - }); - - // Glider Wings - event.foodItem("tfg:food/raw_glider_wings", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_glider_wings", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(2.75); - food.decayModifier(2.25); - }); - - // Soarer - event.foodItem("tfg:food/raw_whole_soarer", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_whole_soarer", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3.1); - food.decayModifier(2.25); - }); - - // Crusher Meat - event.foodItem("tfg:food/raw_crusher_meat", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - }); - - event.foodItem("tfg:food/cooked_crusher_meat", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // Goober Meat - event.foodItem("tfg:food/raw_goober_meat", (food) => { - food.hunger(2); - food.protein(1.5); - food.decayModifier(3); - food.water(1); - }); - - event.foodItem("tfg:food/cooked_goober_meat", (food) => { - food.hunger(4); - food.saturation(2); - food.protein(3); - food.decayModifier(2.25); - }); - - // high-tech food - global.FOOD_FRUIT.forEach((fruit) => { - event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, (food) => { - food.hunger(4); - food.saturation(fruit.saturation); - food.water(0); - food.fruit(fruit.fruit); - food.decayModifier(fruit.decay); - }); - }); - - event.foodItem("tfg:food/calorie_paste", (food) => { - food.hunger(6); - food.saturation(4); - food.decayModifier(4.5); - food.grain(0.1); - food.vegetables(0.2); - food.protein(0.2); - }); - - event.foodItem("tfg:food/meal_bag", (food) => { - food.type("dynamic"); - }); - - // Sunflower products - event.foodItem("tfg:roasted_sunflower_seeds", (food) => { - food.hunger(4); - food.decayModifier(0.5); - food.grain(0.1); - food.saturation(0.5); - }); - - event.foodItem("tfg:sunflower_product", (food) => { - food.decayModifier(0.5); - }); - - // Amber Roots - event.foodItem("betterend:amber_root_product", (food) => { - food.hunger(4); - food.decayModifier(1); - food.saturation(1); - food.grain(3); - }); - - // Blossom Berries - event.foodItem("betterend:blossom_berry_product", (food) => { - food.hunger(5); - food.decayModifier(2); - food.saturation(1); - food.water(7.5); - food.fruit(2.1); - }); - - // Cave Pumpkin - event.foodItem("betterend:cave_pumpkin", (food) => { - food.hunger(4); - food.saturation(0); - food.decayModifier(0.5); - }); - - event.foodItem("betterend:cave_pumpkin_chunks", (food) => { - food.hunger(4); - food.saturation(1); - food.decayModifier(2.5); - food.water(5); - food.fruit(0.8); - }); - - event.foodItem("betterend:cave_pumpkin_pie_dough", (food) => { - food.hunger(2); - food.decayModifier(3); - }); - - event.foodItem("betterend:cave_pumpkin_pie_raw", (food) => { - food.hunger(2); - food.decayModifier(3); - }); - - event.foodItem("betterend:cave_pumpkin_pie", (food) => { - food.hunger(4); - food.saturation(2.8); - food.decayModifier(1.5); - food.water(5); - food.protein(1); - food.fruit(5); - food.grain(4); - food.dairy(1); - }); - - // Chorus Mushroom - event.foodItem("betterend:chorus_mushroom_product", (food) => { - food.hunger(2); - food.saturation(1); - food.decayModifier(3); - food.water(3); - food.vegetables(1.5); - }); - - event.foodItem("betterend:chorus_mushroom_cooked", (food) => { - food.hunger(2); - food.saturation(2.1); - food.decayModifier(1.5); - food.vegetables(2.5); - }); - - // Shadow Berry - event.foodItem("betterend:shadow_berry_product", (food) => { - food.hunger(5); - food.decayModifier(2); - food.saturation(1); - food.water(5); - food.fruit(1.9); - }); - - event.foodItem("betterend:shadow_berry_cooked", (food) => { - food.hunger(5); - food.decayModifier(1); - food.saturation(2); - food.fruit(2.2); - }); - - // Bolux Mushroom - event.foodItem("betterend:bolux_mushroom_product", (food) => { - food.hunger(2); - food.saturation(1); - food.decayModifier(3); - food.water(3); - food.vegetables(1.5); - }); - - event.foodItem("betterend:bolux_mushroom_cooked", (food) => { - food.hunger(2); - food.saturation(2); - food.decayModifier(1.5); - food.vegetables(2.4); - }); - - // Dino Nuggets - event.foodItem('tfg:food/raw_dino_nugget', (food) => { - food.type("dynamic"); - food.hunger(1); - food.decayModifier(3); - }); - - event.foodItem('tfg:food/cooked_dino_nugget', (food) => { - food.type("dynamic"); - food.hunger(3); - food.saturation(2); - food.decayModifier(1.5); - }); - - // Ice Soup - event.foodItem("tfg:food/ice_soup", (food) => { - food.hunger(1); - food.water(20); - food.decayModifier(0); - }); - - // Fries - event.foodItem('tfg:food/raw_fries', (food) => { - food.hunger(1); - food.decayModifier(3); - food.vegetables(0.25); - }); - - event.foodItem('tfg:food/cooked_fries', (food) => { - food.hunger(2); - food.decayModifier(1.5); - food.vegetables(0.6); - food.saturation(2); - }); - - // Cheese Curds - event.foodItem('tfg:food/raw_beer_battered_cheese_curds', (food) => { - food.hunger(1); - food.decayModifier(1.3); - food.dairy(1); - food.saturation(1); - }); - - event.foodItem('tfg:food/cooked_beer_battered_cheese_curds', (food) => { - food.hunger(3); - food.decayModifier(0.8); - food.dairy(1.2); - food.saturation(2); - food.grain(0.5); - }); - - // Hamburgers - event.foodItem('tfg:food/raw_burger_patty', (food) => { - food.hunger(2); - food.decayModifier(2.3); - food.protein(2); - }); - - event.foodItem('tfg:food/cooked_burger_patty', (food) => { - food.hunger(4); - food.decayModifier(2); - food.protein(2.5); - food.saturation(2); - }); - - event.foodItem('tfg:food/brioche_dough', (food) => { - food.hunger(1.5); - food.decayModifier(2.3); - }); - - event.foodItem('tfg:food/brioche_bun', (food) => { - food.hunger(3.5); - food.decayModifier(1.5); - food.grain(1.5); - food.dairy(0.5); - food.saturation(1); - }); - - event.foodItem('tfg:food/hamburger', (food) => { - food.type("dynamic"); - }); - - event.foodItem('tfg:food/cheeseburger', (food) => { - food.type("dynamic"); - }); - - // Poutine - event.foodItem('tfg:food/poutine', (food) => { - food.type("dynamic_bowl"); - }); - - // Oatmeal - event.foodItem('tfg:food/oatmeal', (food) => { - food.type("dynamic_bowl"); - }); - - // Biochem Items - event.foodItem("tfg:progenitor_cells", (food) => { - food.decayModifier(1); - }); - event.foodItem("tfg:rough_endoplasmic_reticula", (food) => { - food.decayModifier(0.5); - }); - event.foodItem("tfg:smooth_endoplasmic_reticula", (food) => { - food.decayModifier(0.5); - }); - - // Instant Mac - event.foodItem('tfg:food/raw_instant_mac', (food) => { - food.hunger(2); - food.decayModifier(0.2); - }); - - event.foodItem('tfg:food/cooked_instant_mac', (food) => { - food.hunger(3.5); - food.decayModifier(1.6); - food.grain(1.5); - food.dairy(2.5); - food.protein(0.8); - food.saturation(1.8); - }); - - //#region Drinkables - // Proto Growth Medium - event.drinkable("tfg:proto_growth_medium", (data) => { - data.thirst(10); - data.food(food => { - food.dairy(5); - food.protein(1); - }); - data.effect("minecraft:absorption", (effect) => { - effect.amplifier(2); - effect.chance(0.25); - effect.duration(1200); - }); - }); - - // Semiheavy Ammoniacal Water - event.drinkable("tfg:semiheavy_ammoniacal_water", (data) => { - data.thirst(10); - data.effect("minecraft:nausea", (effect) => { - effect.chance(0.5); - effect.duration(200); - }); - }); - - // Rich Stock - event.drinkable('tfg:rich_stock', (data) => { - data.thirst(4); - data.effect("tfc:thirst", (effect) => { - effect.chance(0.2); - effect.duration(20*5); - }); - data.food(food => { - food.protein(0.25); - food.vegetables(0.25); - }); - }); - - // Light Stock - event.drinkable('tfg:light_stock', (data) => { - data.thirst(4); - data.effect("tfc:thirst", (effect) => { - effect.chance(0.2); - effect.duration(20*5); - }); - data.food(food => { - food.protein(0.25); - food.vegetables(0.25); - }); - }); - - // Brown Gravy - event.drinkable('tfg:brown_gravy', (data) => { - data.thirst(2); - data.effect("tfc:thirst", (effect) => { - effect.chance(0.3); - effect.duration(20*5); - }); - data.food(food => { - food.protein(0.5); - food.vegetables(0.5); - food.grain(0.25); - }); - }); - - //#endregion -} - -//#endregion -//#region Crop Data - -/** @param {Internal.TFCDataEventJS} event */ -function registerTFGCropRanges(event) { - // Earth - event.climateRange((climate) => { - climate.minHydration(20); - climate.maxHydration(80); - climate.minTemperature(5); - climate.maxTemperature(40); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(5.5); - }, "tfg:sunflower"); - - event.climateRange((climate) => { - climate.minHydration(10); - climate.maxHydration(60); - climate.minTemperature(-5); - climate.maxTemperature(25); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(1.5); - }, "tfg:rapeseed"); - - event.climateRange((climate) => { - climate.minHydration(15); - climate.maxHydration(65); - climate.minTemperature(-8); - climate.maxTemperature(25); - climate.hydrationWiggle(6.5); - climate.temperatureWiggle(3); - }, "tfg:flax"); - - // Mars - event.climateRange((climate) => { - climate.minHydration(0); - climate.maxHydration(40); - climate.minTemperature(-150); - climate.maxTemperature(15); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(5.5); - }, "betterend:amber_root"); - - event.climateRange((climate) => { - climate.minHydration(70); - climate.maxHydration(100); - climate.minTemperature(-80); - climate.maxTemperature(30); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(5.5); - }, "betterend:blossom_berry"); - - event.climateRange((climate) => { - climate.minHydration(0); - climate.maxHydration(40); - climate.minTemperature(-150); - climate.maxTemperature(15); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(5.5); - }, "betterend:bolux_mushroom"); - - event.climateRange((climate) => { - climate.minHydration(0); - climate.maxHydration(60); - climate.minTemperature(-100); - climate.maxTemperature(30); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(5.5); - }, "betterend:cave_pumpkin_plant"); - - event.climateRange((climate) => { - climate.minHydration(0); - climate.maxHydration(40); - climate.minTemperature(-150); - climate.maxTemperature(15); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(5.5); - }, "betterend:chorus_mushroom"); - - event.climateRange((climate) => { - climate.minHydration(50); - climate.maxHydration(100); - climate.minTemperature(-80); - climate.maxTemperature(30); - climate.hydrationWiggle(7.5); - climate.temperatureWiggle(5.5); - }, "betterend:shadow_berry"); -} - -//#endregion -//#region Planter Data - -/** @param {Internal.TFCDataEventJS} event */ -function registerTFGFLPlanters(event) { - event.firmalifePlantable( - "tfg:sunflower_seeds", - "large", - 0, - 3, - 0.15, - "tfg:sunflower_seeds", - "tfg:sunflower_product", - "nitrogen", - [ - "tfg:block/crop/sunflower_greenhouse_0", - "tfg:block/crop/sunflower_greenhouse_1", - "tfg:block/crop/sunflower_greenhouse_2", - "tfg:block/crop/sunflower_greenhouse_3" - ], - null - ); - - event.firmalifePlantable( - "tfg:rapeseed_seeds", - "large", - 0, - 3, - 0.15, - "tfg:rapeseed_seeds", - "tfg:rapeseed_product", - "phosphorous", - [ - "tfg:block/crop/rapeseed_greenhouse_0", - "tfg:block/crop/rapeseed_greenhouse_1", - "tfg:block/crop/rapeseed_greenhouse_2", - "tfg:block/crop/rapeseed_greenhouse_3" - ], - null - ); - - event.firmalifePlantable( - "tfg:flax_seeds", - "large", - 0, - 3, - 0.2, - "tfg:flax_seeds", - "tfg:flax_product", - "nitrogen", - [ - "tfg:block/crop/flax_age_0", - "tfg:block/crop/flax_age_1", - "tfg:block/crop/flax_age_5_top", - "tfg:block/crop/flax_age_6_top" - ], - null - ); - - event.firmalifePlantable( - "betterend:amber_root_seeds", - "large", - 0, - 3, - 0.15, - "betterend:amber_root_seeds", - "betterend:amber_root_product", - "phosphorous", - [ - "betterend:block/amber_root_0", - "betterend:block/amber_root_1", - "betterend:block/amber_root_2", - "betterend:block/amber_root_3" - ], - null - ); - - event.firmalifePlantable( - "betterend:blossom_berry_seeds", - "large", - 0, - 3, - 0.15, - "betterend:blossom_berry_seeds", - "betterend:blossom_berry_product", - "potassium", - [ - "betterend:block/blossom_berry_seed_0", - "betterend:block/blossom_berry_seed_1", - "betterend:block/blossom_berry_seed_2", - "betterend:block/blossom_berry_seed_3" - ], - null - ); - - event.firmalifePlantable( - "betterend:bolux_mushroom_seeds", - "quad", - 1, - 3, - 0.15, - "betterend:bolux_mushroom_seeds", - "betterend:bolux_mushroom_product", - "phosphorous", - [ - "betterend:block/bolux_mushroom_greenhouse_0", - "betterend:block/bolux_mushroom_greenhouse_1", - "betterend:block/bolux_mushroom_greenhouse_2", - "betterend:block/bolux_mushroom_greenhouse_3" - ], - null - ); - - event.firmalifePlantable( - "betterend:chorus_mushroom_seeds", - "quad", - 1, - 3, - 0.15, - "betterend:chorus_mushroom_seeds", - "betterend:chorus_mushroom_product", - "phosphorous", - [ - "betterend:block/chorus_mushroom_0", - "betterend:block/chorus_mushroom_1", - "betterend:block/chorus_mushroom_2", - "betterend:block/chorus_mushroom_3" - ], - null - ); - - event.firmalifePlantable( - "betterend:cave_pumpkin_plant_seeds", - "hanging", - 2, - 3, - 0.15, - "betterend:cave_pumpkin_plant_seeds", - "betterend:cave_pumpkin", - "phosphorous", - [ - "betterend:block/cave_pumpkin_greenhouse_0", - "betterend:block/cave_pumpkin_greenhouse_1", - "betterend:block/cave_pumpkin_greenhouse_2", - "betterend:block/cave_pumpkin_greenhouse_3" - ], - "betterend:block/cave_pumpkin_top" - ); - - event.firmalifePlantable( - "betterend:shadow_berry_seeds", - "quad", - 1, - 3, - 0.15, - "betterend:shadow_berry_seeds", - "betterend:shadow_berry_product", - "potassium", - [ - "betterend:block/shadow_berry_greenhouse_0", - "betterend:block/shadow_berry_greenhouse_1", - "betterend:block/shadow_berry_greenhouse_2", - "betterend:block/shadow_berry_greenhouse_3" - ], - null - ); -} - -//#endregion -//#region Fauna Data - -/** @param {Internal.TFCDataEventJS} event */ -function registerTFGFauna(event) { - - // -108 is the average at z=-4k to z=-6k, which feels like a big enough band - event.fauna( - climate => { - climate.maxTemp(-108) - climate.fuzzy(false) - }, - faunaData => { - faunaData.solidGround(true) - }, - "tfg:glacian_ram") - - event.fauna( - climate => { - climate.minTemp(-102) - climate.maxTemp(-30) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "tfg:sniffer") - - event.fauna( - climate => { - climate.minTemp(-100) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "tfg:wraptor") - - event.fauna( - climate => { - climate.minTemp(-108) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "species:springling") - - event.fauna( - climate => { - climate.minTemp(-109) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "species:goober") - - event.fauna( - climate => { - climate.minTemp(-97) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "wan_ancient_beasts:walker") - - event.fauna( - climate => { - climate.minTemp(-109) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "wan_ancient_beasts:eater") - - event.fauna( - climate => { - climate.minTemp(-100) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "wan_ancient_beasts:crusher") - - event.fauna( - climate => { - climate.minTemp(-105) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "wan_ancient_beasts:soarer") - - event.fauna( - climate => { - climate.minTemp(-106) - climate.fuzzy(true) - }, - faunaData => { - faunaData.solidGround(true) - }, - "wan_ancient_beasts:glider") -} - //#endregion \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/events.interactions.js b/kubejs/server_scripts/tfg/events.interactions.js new file mode 100644 index 000000000..c7ca21bf3 --- /dev/null +++ b/kubejs/server_scripts/tfg/events.interactions.js @@ -0,0 +1,521 @@ + +/** + * @typedef {Object} BrickVariant + * @property {string} brick_type - The name of the brick variant. + * @property {string|null} brick - Main brick block ID. + * @property {string|null} brick_stairs - Brick stairs block ID. + * @property {string|null} brick_slab - Brick slab block ID. + * @property {string|null} brick_wall - Brick wall block ID. + * @property {string|null} cracked_brick - Cracked brick block ID. + * @property {string|null} cracked_stairs - Cracked brick stairs block ID. + * @property {string|null} cracked_slab - Cracked brick slab block ID. + * @property {string|null} cracked_wall - Cracked brick wall block ID. + * @property {string|null} mossy_brick - Mossy brick block ID. + * @property {string|null} mossy_stairs - Mossy brick stairs block ID. + * @property {string|null} mossy_slab - Mossy brick slab block ID. + * @property {string|null} mossy_wall - Mossy brick wall block ID. + * @property {string|null} smooth_brick - Smooth brick block ID. + * @property {string|null} smooth_stairs - Smooth brick stairs block ID. + * @property {string|null} smooth_slab - Smooth brick slab block ID. + * @property {string|null} smooth_wall - Smooth brick wall block ID. + * @property {string|null} chiseled_brick - Chiseled brick block ID. + */ + +const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] + +// #region BRICK_INDEX +/** @type {BrickVariant[]} */ +global.BRICK_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ + brick_type: tfc_stone, + brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`, + cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`, + mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`, + smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`, + chiseled_brick: `tfc:rock/chiseled/${tfc_stone}` +})); +(global.CREATE_DECO_BRICK_TYPES ? global.CREATE_DECO_BRICK_TYPES : []).slice(0, -1).forEach(create_brick => { + global.BRICK_INDEX.push({ + brick_type: create_brick, + brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`, + cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`, + mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`, + smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`, + chiseled_brick: `createdeco:tiled_${create_brick}_bricks` + }) +}); +global.BRICK_INDEX = global.BRICK_INDEX.concat([ + // { brick_type: '', + // brick: '', brick_stairs: '', brick_slab: '', brick_wall: '', + // cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '', + // mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '', + // smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '', + // chiseled_brick: '' }, + + { + brick_type: 'red', + brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall', + cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall', + mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall', + smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall', + chiseled_brick: 'createdeco:tiled_red_bricks' + }, + + { + brick_type: 'light_concrete', + brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, + cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, + mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: 'gtceu:chiseled_light_concrete' + }, + + { + brick_type: 'dark_concrete', + brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, + cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, + mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: 'gtceu:chiseled_dark_concrete' + }, + + { + brick_type: 'deepslate', + brick: 'minecraft:deepslate_bricks', brick_stairs: 'minecraft:deepslate_brick_stairs', brick_slab: 'minecraft:deepslate_brick_slab', brick_wall: 'minecraft:deepslate_brick_wall', + cracked_brick: 'minecraft:cracked_deepslate_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_deepslate_slab', cracked_wall: 'tfg:rock/cracked_bricks_deepslate_wall', + mossy_brick: 'tfg:rock/mossy_bricks_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_deepslate_slab', mossy_wall: 'tfg:rock/mossy_bricks_deepslate_wall', + smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', + chiseled_brick: 'minecraft:chiseled_deepslate' + }, + + { + brick_type: 'deepslate_tiles', + brick: 'minecraft:deepslate_tiles', brick_stairs: 'minecraft:deepslate_tile_stairs', brick_slab: 'minecraft:deepslate_tile_slab', brick_wall: 'minecraft:deepslate_tile_wall', + cracked_brick: 'minecraft:cracked_deepslate_tiles', cracked_stairs: 'tfg:rock/cracked_tiles_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_tiles_deepslate_slab', cracked_wall: 'tfg:rock/cracked_tiles_deepslate_wall', + mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', + chiseled_brick: 'minecraft:chiseled_deepslate' + }, + + { + brick_type: 'blackstone', + brick: 'minecraft:polished_blackstone_bricks', brick_stairs: 'minecraft:polished_blackstone_brick_stairs', brick_slab: 'minecraft:polished_blackstone_brick_slab', brick_wall: 'minecraft:polished_blackstone_brick_wall', + cracked_brick: 'minecraft:cracked_polished_blackstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_blackstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_blackstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_blackstone_wall', + mossy_brick: 'tfg:rock/mossy_bricks_blackstone', mossy_stairs: 'tfg:rock/mossy_bricks_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_blackstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_blackstone_wall', + smooth_brick: 'minecraft:polished_blackstone', smooth_stairs: 'minecraft:polished_blackstone_stairs', smooth_slab: 'minecraft:polished_blackstone_slab', smooth_wall: 'minecraft:polished_blackstone_wall', + chiseled_brick: 'minecraft:chiseled_polished_blackstone' + }, + + { + brick_type: 'dripstone', + brick: 'create:cut_dripstone_bricks', brick_stairs: 'create:cut_dripstone_brick_stairs', brick_slab: 'create:cut_dripstone_brick_slab', brick_wall: 'create:cut_dripstone_brick_wall', + cracked_brick: 'tfg:rock/cracked_bricks_dripstone', cracked_stairs: 'tfg:rock/cracked_bricks_dripstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_dripstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_dripstone_wall', + mossy_brick: 'tfg:rock/mossy_bricks_dripstone', mossy_stairs: 'tfg:rock/mossy_bricks_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_dripstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_dripstone_wall', + smooth_brick: 'create:polished_cut_dripstone', smooth_stairs: 'create:polished_cut_dripstone_stairs', smooth_slab: 'create:polished_cut_dripstone_slab', smooth_wall: 'create:polished_cut_dripstone_wall', + chiseled_brick: 'create:small_dripstone_bricks' + }, + + { + brick_type: 'crackrack', + brick: 'minecraft:nether_bricks', brick_stairs: 'minecraft:nether_bricks_stairs', brick_slab: 'minecraft:nether_bricks_slab', brick_wall: 'minecraft:nether_bricks_wall', + cracked_brick: 'minecraft:cracked_nether_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_nether_stairs', cracked_slab: 'tfg:rock/cracked_bricks_nether_slab', cracked_wall: 'tfg:rock/cracked_bricks_nether_wall', + mossy_brick: 'tfg:rock/mossy_bricks_nether', mossy_stairs: 'tfg:rock/mossy_bricks_nether_stairs', mossy_slab: 'tfg:rock/mossy_bricks_nether_slab', mossy_wall: 'tfg:rock/mossy_bricks_nether_wall', + smooth_brick: 'tfg:rock/polished_crackrack', smooth_stairs: 'tfg:rock/polished_crackrack_stairs', smooth_slab: 'tfg:rock/polished_crackrack_slab', smooth_wall: 'tfg:rock/polished_crackrack_wall', + chiseled_brick: 'minecraft:chiseled_nether_bricks' + }, + + { + brick_type: 'moon_deepslate', + brick: 'tfg:rock/bricks_moon_deepslate', brick_stairs: 'tfg:rock/bricks_moon_deepslate_stairs', brick_slab: 'tfg:rock/bricks_moon_deepslate_slab', brick_wall: 'tfg:rock/bricks_moon_deepslate_wall', + cracked_brick: 'tfg:rock/cracked_bricks_moon_deepslate', cracked_stairs: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_moon_slab', cracked_wall: 'tfg:rock/cracked_bricks_moon_wall', + mossy_brick: 'tfg:rock/mossy_bricks_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_moon_slab', mossy_wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', + smooth_brick: 'tfg:rock/polished_moon_deepslate', smooth_stairs: 'tfg:rock/polished_moon_deepslate_stairs', smooth_slab: 'ad_astra:polished_moon_stone_slab', smooth_wall: 'tfg:rock/polished_moon_deepslate_wall', + chiseled_brick: 'tfg:rock/chiseled_bricks_moon_deepslate' + }, + + { + brick_type: 'permafrost', + brick: 'ad_astra:permafrost_bricks', brick_stairs: 'ad_astra:permafrost_brick_stairs', brick_slab: 'ad_astra:permafrost_brick_slab', brick_wall: 'ad_astra:permafrost_brick_wall', + cracked_brick: 'ad_astra:cracked_permafrost_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_permafrost_stairs', cracked_slab: 'tfg:rock/cracked_bricks_permafrost_slab', cracked_wall: 'tfg:rock/cracked_bricks_permafrost_wall', + mossy_brick: 'tfg:rock/mossy_bricks_permafrost', mossy_stairs: 'tfg:rock/mossy_bricks_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_bricks_permafrost_slab', mossy_wall: 'tfg:rock/mossy_bricks_permafrost_wall', + smooth_brick: 'ad_astra:polished_permafrost', smooth_stairs: 'ad_astra:polished_permafrost_stairs', smooth_slab: 'ad_astra:polished_permafrost_slab', smooth_wall: 'tfg:rock/polished_permafrost_wall', + chiseled_brick: 'ad_astra:chiseled_permafrost_bricks' + }, + + { + brick_type: 'red_granite', + brick: 'gtceu:red_granite_bricks', brick_stairs: 'tfg:rock/bricks_red_granite_stairs', brick_slab: 'tfg:rock/bricks_red_granite_slab', brick_wall: 'tfg:rock/bricks_red_granite_wall', + cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_red_granite_stairs', cracked_slab: 'tfg:rock/cracked_bricks_red_granite_slab', cracked_wall: 'tfg:rock/cracked_bricks_red_granite_wall', + mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: 'tfg:rock/mossy_bricks_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_bricks_red_granite_slab', mossy_wall: 'tfg:rock/mossy_bricks_red_granite_wall', + smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: 'tfg:rock/polished_red_granite_stairs', smooth_slab: 'tfg:rock/polished_red_granite_slab', smooth_wall: 'tfg:rock/polished_red_granite_wall', + chiseled_brick: 'gtceu:chiseled_red_granite' + }, + + { + brick_type: 'venus_sandstone', + brick: 'ad_astra:venus_sandstone_bricks', brick_stairs: 'ad_astra:venus_sandstone_brick_stairs', brick_slab: 'ad_astra:venus_sandstone_brick_slab', brick_wall: 'tfg:rock/bricks_venus_sandstone_wall', + cracked_brick: 'ad_astra:cracked_venus_sandstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', + mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: null, smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: null + }, + + { + brick_type: 'stone', + brick: 'minecraft:stone_bricks', brick_stairs: 'minecraft:stone_brick_stairs', brick_slab: 'minecraft:stone_brick_slab', brick_wall: 'minecraft:stone_brick_wall', + cracked_brick: 'minecraft:cracked_stone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_stone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_stone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', + mossy_brick: 'minecraft:mossy_stone_bricks', mossy_stairs: 'minecraft:mossy_stone_brick_stairs', mossy_slab: 'minecraft:mossy_stone_brick_slab', mossy_wall: 'minecraft:mossy_stone_brick_wall', + smooth_brick: 'minecraft:smooth_stone', smooth_stairs: 'tfg:rock/smooth_stone_stairs', smooth_slab: 'minecraft:smooth_stone_slab', smooth_wall: 'tfg:rock/smooth_stone_wall', + chiseled_brick: 'minecraft:chiseled_stone_bricks' + } +]); + +global.BRICK_INDEX = global.BRICK_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { + brick_type: stone, + brick: `ad_astra:${stone}_stone_bricks`, brick_stairs: `ad_astra:${stone}_stone_brick_stairs`, brick_slab: `ad_astra:${stone}_stone_brick_slab`, brick_wall: `ad_astra:${stone}_stone_brick_wall`, + cracked_brick: `ad_astra:cracked_${stone}_stone_bricks`, cracked_stairs: `tfg:rock/cracked_bricks_${stone}_stairs`, cracked_slab: `tfg:rock/cracked_bricks_${stone}_slab`, cracked_wall: `tfg:rock/cracked_bricks_${stone}_wall`, + mossy_brick: `tfg:rock/mossy_bricks_${stone}`, mossy_stairs: `tfg:rock/mossy_bricks_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_bricks_${stone}_slab`, mossy_wall: `tfg:rock/mossy_bricks_${stone}_wall`, + smooth_brick: `ad_astra:polished_${stone}_stone`, smooth_stairs: `ad_astra:polished_${stone}_stone_stairs`, smooth_slab: `ad_astra:polished_${stone}_stone_slab`, smooth_wall: `tfg:rock/polished_${stone}_wall`, + chiseled_brick: `ad_astra:chiseled_${stone}_stone_bricks` + } +))) + +// #endregion BRICK_INDEX + +// #region COBBLE_INDEX +global.COBBLE_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ + cobble_type: tfc_stone, + block: `tfc:rock/cobble/${tfc_stone}`, stairs: `tfc:rock/cobble/${tfc_stone}_stairs`, slab: `tfc:rock/cobble/${tfc_stone}_slab`, wall: `tfc:rock/cobble/${tfc_stone}_wall`, + mossy_block: `tfc:rock/mossy_cobble/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_cobble/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_cobble/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_cobble/${tfc_stone}_wall` +})); + +global.COBBLE_INDEX = global.COBBLE_INDEX.concat([ + { + cobble_type: 'deepslate', + block: 'minecraft:cobbled_deepslate', stairs: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', + mossy_block: 'tfg:rock/mossy_cobble_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_deepslate_wall' + }, + + { + cobble_type: 'blackstone', + block: 'tfg:rock/cobble_blackstone', stairs: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall', + mossy_block: 'tfg:rock/mossy_cobble_blackstone', mossy_stairs: 'tfg:rock/mossy_cobble_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_blackstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_blackstone_wall' + }, + + { + cobble_type: 'dripstone', + block: 'tfg:rock/cobble_dripstone', stairs: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall', + mossy_block: 'tfg:rock/mossy_cobble_dripstone', mossy_stairs: 'tfg:rock/mossy_cobble_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_dripstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_dripstone_wall' + }, + + { + cobble_type: 'crackrack', + block: 'tfg:rock/cobble_crackrack', stairs: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall', + mossy_block: 'tfg:rock/mossy_cobble_crackrack', mossy_stairs: 'tfg:rock/mossy_cobble_crackrack_stairs', mossy_slab: 'tfg:rock/mossy_cobble_crackrack_slab', mossy_wall: 'tfg:rock/mossy_cobble_crackrack_wall' + }, + + { + cobble_type: 'moon_deepslate', + block: 'tfg:rock/cobble_moon_deepslate', stairs: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall', + mossy_block: 'tfg:rock/mossy_cobble_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall' + }, + + { + cobble_type: 'permafrost', + block: 'tfg:rock/cobble_permafrost', stairs: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall', + mossy_block: 'tfg:rock/mossy_cobble_permafrost', mossy_stairs: 'tfg:rock/mossy_cobble_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_cobble_permafrost_slab', mossy_wall: 'tfg:rock/mossy_cobble_permafrost_wall' + }, + + { + cobble_type: 'red_granite', + block: 'gtceu:red_granite_cobblestone', stairs: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall', + mossy_block: 'gtceu:mossy_red_granite_cobblestone', mossy_stairs: 'tfg:rock/mossy_cobble_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_cobble_red_granite_slab', mossy_wall: 'tfg:rock/mossy_cobble_red_granite_wall' + }, + + { + cobble_type: 'stone', + block: 'minecraft:cobblestone', stairs: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall', + mossy_block: 'minecraft:mossy_cobblestone', mossy_stairs: 'minecraft:mossy_cobblestone_stairs', mossy_slab: 'minecraft:mossy_cobblestone_slab', mossy_wall: 'minecraft:mossy_cobblestone_wall' + } +]); + +global.COBBLE_INDEX = global.COBBLE_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { + cobble_type: stone, + block: `ad_astra:${stone}_cobblestone`, stairs: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`, + mossy_block: `tfg:rock/mossy_cobble_${stone}`, mossy_stairs: `tfg:rock/mossy_cobble_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_cobble_${stone}_slab`, mossy_wall: `tfg:rock/mossy_cobble_${stone}_wall` + } +))) + +// #endregion COBBLE_INDEX + +/** + * Function for replacing a block with another block by crouch-right-clicking with a tool. + * + * If input and output is null recipe will just return. + * + * @param {*} event + * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. + * @param {string} outputBlock -Block ID of the replacement. + * @param {string} toolId -Item ID of the tool. + * @param {boolean} damageTool -Sets wether the tool should be damaged on use. + * @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null. + * @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null. + * @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block. + */ +function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate) { + const { server, item, player, block } = event; + + if (!inputBlock || !outputBlock) return; + + if (inputBlock.startsWith('#')) { + if (!block.hasTag(inputBlock.substring(1))) return; + } else { + if (block.id.toString() !== inputBlock) return; + } + + if (toolId.startsWith('#')) { + if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return; + } else { + if (item.isEmpty() || player.mainHandItem.id !== toolId) return; + } + + if (!player.crouching) return; + + let state = block.getBlockState().toString(); + if (state.includes('[') && copyBlockstate === true) { + state = state.substring(state.indexOf('[')); + } else { + state = ''; + } + + if (soundId) { + server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`) + } + if (particleId) { + server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`) + } + player.swing(); + + if (!player.isCreative() && damageTool) { + item.damageValue++; + if (item.damageValue >= item.maxDamage) { + server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`); + item.count--; + } + } + + const dim = block.level.name.getString(); + server.runCommandSilent(`execute in ${dim} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`); + server.runCommandSilent(`execute in ${dim} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`); +}; + +/** + * Function for replacing a block with another block by crouch-right-clicking with a tool and receiving an item. + * + * If input and output is null recipe will just return. + * + * @param {*} event + * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. + * @param {string} outputBlock -Block ID of the replacement. + * @param {string} outputItem -Item ID of item to receive + * @param {number} outputCount -Number of items to be returned + * @param {string} toolId -Item ID of the tool. + * @param {boolean} damageTool -Sets wether the tool should be damaged on use. + * @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null. + * @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null. + * @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block. + */ +function transformBlockWithToolReturn(event, inputBlock, outputBlock, outputItem, outputCount, toolId, damageTool, soundId, particleId, copyBlockstate) { + const { server, item, player, block } = event; + + if (!inputBlock || !outputBlock) return; + + if (inputBlock.startsWith('#')) { + if (!block.hasTag(inputBlock.substring(1))) return; + } else { + if (block.id.toString() !== inputBlock) return; + } + if (!player.crouching) return; + + if (toolId.startsWith('#')) { + if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return; + } else { + if (item.isEmpty() || player.mainHandItem.id !== toolId) return; + } + + transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate) + + const dim = block.level.name.getString(); + server.runCommandSilent(`execute in ${dim} run summon item ${player.x} ${player.y} ${player.z} {Item:{id:'${outputItem}', Count:${outputCount}b}}`); + +} +/** + * Function for replacing a block with another block by crouch-right-clicking with an item. + * + * If input and output is null recipe will just return. + * + * @param {*} event + * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. + * @param {string} outputBlock -Block ID of the replacement. + * @param {string} itemId -Item ID of the consumed item. Accepts Tags. + * @param {boolean} consumeItem -Sets wether the item should be comsumed or not. + * @param {number} consumeAmount -Number of items to consume, can't be greater than stacksize. + * @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null. + * @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null. + * @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block. + */ +function transformBlockWithItem(event, inputBlock, outputBlock, itemId, consumeItem, consumeAmount, soundId, particleId, copyBlockstate) { + const { server, item, player, block } = event; + + if (!inputBlock || !outputBlock) return; + + if (inputBlock.startsWith('#')) { + if (!block.hasTag(inputBlock.substring(1))) return; + } else { + if (block.id.toString() !== inputBlock) return; + } + + if (itemId.startsWith('#')) { + if (item.isEmpty() || !player.mainHandItem.hasTag(itemId.substring(1))) return; + } else { + if (item.isEmpty() || player.mainHandItem.id !== itemId) return; + } + if (!player.crouching) return; + + let state = block.getBlockState().toString() + if (state.includes('[') && copyBlockstate === true) { + state = state.substring(block.getBlockState().toString().indexOf('[')); + } else { + state = '' + } + + if (!player.isCreative() && consumeItem === true) { + if (item.count < consumeAmount) { + player.tell(`Item count is too low. Held amount = ${item.count}, required amount = ${consumeAmount}`) + return; + } + item.count -= consumeAmount; + } + if (soundId) { + server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`) + } + if (particleId) { + server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`) + } + player.swing() + event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`) + event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`) +}; + +// Declare Events +BlockEvents.rightClicked(event => { + //Brick index events + for (const b of global.BRICK_INDEX) { + //brick -> cracked + transformBlockWithTool(event, b.brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.brick_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.brick_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.brick_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + //brick -> mossy + transformBlockWithItem(event, b.brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + //cracked -> mossy + transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + //mossy -> cracked + transformBlockWithTool(event, b.mossy_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + //mossy -> brick + transformBlockWithTool(event, b.mossy_brick, b.brick, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_brick, b.brick, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.mossy_stairs, b.brick_stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_stairs, b.brick_stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.mossy_slab, b.brick_slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_slab, b.brick_slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.mossy_wall, b.brick_wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_wall, b.brick_wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + //cracked -> brick + transformBlockWithItem(event, b.cracked_brick, b.brick, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, b.cracked_stairs, b.brick_stairs, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, b.cracked_slab, b.brick_slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, b.cracked_wall, b.brick_wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + // brick -> smooth + transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + // smooth -> brick + transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + } + + //Cobble index events + for (const c of global.COBBLE_INDEX) { + //cobble -> mossy + transformBlockWithItem(event, c.block, c.mossy_block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.block, c.mossy_block, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.stairs, c.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.stairs, c.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.slab, c.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.slab, c.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.wall, c.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.wall, c.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + //mossy -> cobble + transformBlockWithTool(event, c.mossy_block, c.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_block, c.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, c.mossy_stairs, c.stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_stairs, c.stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, c.mossy_slab, c.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_slab, c.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, c.mossy_wall, c.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_wall, c.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + } + + //Misc Events + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool_frame', 'tfg:glacian_wool', true, 2, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:glacian_wool_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool', 2,'#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_frame', 'tfg:aes_insulation_roll', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:aes_insulation_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_roll', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + + transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:moderate_core_frame', 'tfg:graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); + transformBlockWithToolReturn(event, 'tfg:moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + + 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); + +}); + +// Makes scythes, hoes, and knives take damage when cutting grass +BlockEvents.broken('tfc:mineable_with_sharp_tool', event => { + let player = event.player; + let toolUsed = player.mainHandItem; + + if (!toolUsed.hasTag('tfc:sharp_tools')) { + return; + } + + if (!player.isCreative()) { + toolUsed.damageValue++; + if (toolUsed.damageValue >= toolUsed.maxDamage) { + event.server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`); + toolUsed.count--; + } + } +}); \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 37f1b7963..4c19dd387 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -11,110 +11,6 @@ TFGServerEvents.dimensionalPowerConsumption(event => { event["add(java.lang.String,double)"]("ad_astra:mars_orbit", 100000); }); -//#region Medicine - -//Pills & Tablets -const pill_event = [ - 'haste', - 'luck', - 'night_vision', - 'poison', - 'regeneration', - 'slowness', - 'speed', - 'water_breathing', - 'weakness', -]; - -pill_event.forEach(pill_event => { - - ItemEvents.rightClicked(event => { - const { item, server, player, player: { x, y, z } } = event - if (item.id !== `tfg:${pill_event}_pill`) return - item.count-- - player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 480 0 true`) - server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) - }); - - ItemEvents.rightClicked(event => { - const { item, server, player, player: { x, y, z } } = event - if (item.id !== `tfg:${pill_event}_tablet`) return - item.count-- - player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 1800 0 true`) - server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) - }); -}); - -ItemEvents.rightClicked(event => { - const { item, server, player, player: { x, y, z } } = event - if (item.id !== `tfg:antipoison_pill`) return - item.count-- - player.addItemCooldown(item, 50) - event.player.removeEffect('minecraft:poison') - server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) -}); - -ItemEvents.rightClicked(event => { - const { item, server, player, player: { x, y, z } } = event - if (item.id !== `tfg:antipoison_tablet`) return - item.count-- - player.addItemCooldown(item, 50) - event.player.removeEffect('minecraft:poison') - event.player.removeEffect('minecraft:wither') - event.player.removeEffect('minecraft:weakness') - event.player.removeEffect('minecraft:slowness') - event.player.removeEffect('minecraft:mining_fatigue') - event.player.removeEffect('minecraft:nausea') - event.player.removeEffect('minecraft:blindness') - event.player.removeEffect('minecraft:hunger') - event.player.removeEffect('minecraft:bad_omen') - event.player.removeEffect('minecraft:darkness') - event.player.removeEffect('minecraft:unluck') - server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) -}); - -//salvos -const salvo_event = [ - 'fire_resistance', - 'invisibility', - 'luck', - 'resistance', -]; - -salvo_event.forEach(salvo_event => { - - ItemEvents.rightClicked(event => { - const { item, server, player, player: { x, y, z } } = event - if (item.id !== `tfg:${salvo_event}_salvo`) return - item.count-- - player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:${salvo_event} 480 0 true`) - server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) - }); -}); - -ItemEvents.rightClicked(event => { - const { item, server, player, player: { x, y, z } } = event - if (item.id !== `tfg:absorption_salvo`) return - item.count-- - player.addItemCooldown(item, 200) - server.runCommandSilent(`effect give ${player.username} minecraft:absorption 480 4 true`) - server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) -}); - -ItemEvents.rightClicked(event => { - const { item, server, player, player: { x, y, z } } = event - if (item.id !== `tfg:instant_health_salvo`) return - item.count-- - player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:instant_health 1 1 true`) - server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) -}); - -//#endregion - // Vase Sounds global.MINECRAFT_DYE_NAMES.forEach(color => { BlockEvents.rightClicked(event => { @@ -158,623 +54,3 @@ function getTFGPersistentDataRoot(player) { return player.persistentData.getCompound("tfg:custom_data") } -//#region Fishing Net -const fish = [ - 'cod', - 'crappie', - 'jellyfish', - 'lake_trout', - 'largemouth_bass', - 'rainbow_trout', - 'salmon', - 'smallmouth_bass', - 'tropical_fish', - 'bluegill' -]; - -const shellfish = [ - 'lobster', - 'isopod', - 'crayfish' -]; - -//tags wont work here (or at least I couldnt get it to work) so we need to manually declare each net tier. -const tiers = [ - 'wood', - 'brass', - 'rose_gold', - 'sterling_silver', - 'invar', - 'tin_alloy', - 'cupronickel', - 'magnalium' -]; - -//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item. -tiers.forEach(tier => { - fish.forEach(fish => { - ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { - const { item, player, server, target } = event; - - if (target.type !== `tfc:${fish}`) return - server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) - server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) - server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) - event.player.give(`tfc:food/${fish}`) - player.swing() - if (player.isCreative() === false) { - item.damageValue++ - if (item.damageValue >= item.maxDamage) { - server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) - item.count-- - } - } - }) - }) - - //Shellfish Exception - shellfish.forEach(shellfish => { - ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { - const { item, player, server, target } = event; - - if (target.type !== `tfc:${shellfish}`) return - server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) - server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) - server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) - event.player.give('tfc:food/shellfish') - player.swing() - if (player.isCreative() === false) { - item.damageValue++ - if (item.damageValue >= item.maxDamage) { - server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) - item.count-- - } - } - }) - }) - - //Pufferfish Exception - ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { - const { item, player, server, target } = event; - - if (target.type !== 'tfc:pufferfish') return - server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) - server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) - server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) - event.player.give('minecraft:pufferfish') - player.swing() - if (player.isCreative() === false) { - item.damageValue++ - if (item.damageValue >= item.maxDamage) { - server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) - item.count-- - } - } - }) -}) -//#endregion - -//#region Block Interactions - -/** - * @typedef {Object} BrickVariant - * @property {string} brick_type - The name of the brick variant. - * @property {string|null} brick - Main brick block ID. - * @property {string|null} brick_stairs - Brick stairs block ID. - * @property {string|null} brick_slab - Brick slab block ID. - * @property {string|null} brick_wall - Brick wall block ID. - * @property {string|null} cracked_brick - Cracked brick block ID. - * @property {string|null} cracked_stairs - Cracked brick stairs block ID. - * @property {string|null} cracked_slab - Cracked brick slab block ID. - * @property {string|null} cracked_wall - Cracked brick wall block ID. - * @property {string|null} mossy_brick - Mossy brick block ID. - * @property {string|null} mossy_stairs - Mossy brick stairs block ID. - * @property {string|null} mossy_slab - Mossy brick slab block ID. - * @property {string|null} mossy_wall - Mossy brick wall block ID. - * @property {string|null} smooth_brick - Smooth brick block ID. - * @property {string|null} smooth_stairs - Smooth brick stairs block ID. - * @property {string|null} smooth_slab - Smooth brick slab block ID. - * @property {string|null} smooth_wall - Smooth brick wall block ID. - * @property {string|null} chiseled_brick - Chiseled brick block ID. - */ - -const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] - -// #region BRICK_INDEX -/** @type {BrickVariant[]} */ -global.BRICK_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ - brick_type: tfc_stone, - brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`, - cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`, - mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`, - smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`, - chiseled_brick: `tfc:rock/chiseled/${tfc_stone}` -})); -(global.CREATE_DECO_BRICK_TYPES ? global.CREATE_DECO_BRICK_TYPES : []).slice(0, -1).forEach(create_brick => { - global.BRICK_INDEX.push({ - brick_type: create_brick, - brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`, - cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`, - mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`, - smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`, - chiseled_brick: `createdeco:tiled_${create_brick}_bricks` - }) -}); -global.BRICK_INDEX = global.BRICK_INDEX.concat([ - // { brick_type: '', - // brick: '', brick_stairs: '', brick_slab: '', brick_wall: '', - // cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '', - // mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '', - // smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '', - // chiseled_brick: '' }, - - { - brick_type: 'red', - brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall', - cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall', - mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall', - smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall', - chiseled_brick: 'createdeco:tiled_red_bricks' - }, - - { - brick_type: 'light_concrete', - brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_light_concrete' - }, - - { - brick_type: 'dark_concrete', - brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_dark_concrete' - }, - - { - brick_type: 'deepslate', - brick: 'minecraft:deepslate_bricks', brick_stairs: 'minecraft:deepslate_brick_stairs', brick_slab: 'minecraft:deepslate_brick_slab', brick_wall: 'minecraft:deepslate_brick_wall', - cracked_brick: 'minecraft:cracked_deepslate_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_deepslate_slab', cracked_wall: 'tfg:rock/cracked_bricks_deepslate_wall', - mossy_brick: 'tfg:rock/mossy_bricks_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_deepslate_slab', mossy_wall: 'tfg:rock/mossy_bricks_deepslate_wall', - smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', - chiseled_brick: 'minecraft:chiseled_deepslate' - }, - - { - brick_type: 'deepslate_tiles', - brick: 'minecraft:deepslate_tiles', brick_stairs: 'minecraft:deepslate_tile_stairs', brick_slab: 'minecraft:deepslate_tile_slab', brick_wall: 'minecraft:deepslate_tile_wall', - cracked_brick: 'minecraft:cracked_deepslate_tiles', cracked_stairs: 'tfg:rock/cracked_tiles_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_tiles_deepslate_slab', cracked_wall: 'tfg:rock/cracked_tiles_deepslate_wall', - mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', - chiseled_brick: 'minecraft:chiseled_deepslate' - }, - - { - brick_type: 'blackstone', - brick: 'minecraft:polished_blackstone_bricks', brick_stairs: 'minecraft:polished_blackstone_brick_stairs', brick_slab: 'minecraft:polished_blackstone_brick_slab', brick_wall: 'minecraft:polished_blackstone_brick_wall', - cracked_brick: 'minecraft:cracked_polished_blackstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_blackstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_blackstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_blackstone_wall', - mossy_brick: 'tfg:rock/mossy_bricks_blackstone', mossy_stairs: 'tfg:rock/mossy_bricks_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_blackstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_blackstone_wall', - smooth_brick: 'minecraft:polished_blackstone', smooth_stairs: 'minecraft:polished_blackstone_stairs', smooth_slab: 'minecraft:polished_blackstone_slab', smooth_wall: 'minecraft:polished_blackstone_wall', - chiseled_brick: 'minecraft:chiseled_polished_blackstone' - }, - - { - brick_type: 'dripstone', - brick: 'create:cut_dripstone_bricks', brick_stairs: 'create:cut_dripstone_brick_stairs', brick_slab: 'create:cut_dripstone_brick_slab', brick_wall: 'create:cut_dripstone_brick_wall', - cracked_brick: 'tfg:rock/cracked_bricks_dripstone', cracked_stairs: 'tfg:rock/cracked_bricks_dripstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_dripstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_dripstone_wall', - mossy_brick: 'tfg:rock/mossy_bricks_dripstone', mossy_stairs: 'tfg:rock/mossy_bricks_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_dripstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_dripstone_wall', - smooth_brick: 'create:polished_cut_dripstone', smooth_stairs: 'create:polished_cut_dripstone_stairs', smooth_slab: 'create:polished_cut_dripstone_slab', smooth_wall: 'create:polished_cut_dripstone_wall', - chiseled_brick: 'create:small_dripstone_bricks' - }, - - { - brick_type: 'crackrack', - brick: 'minecraft:nether_bricks', brick_stairs: 'minecraft:nether_bricks_stairs', brick_slab: 'minecraft:nether_bricks_slab', brick_wall: 'minecraft:nether_bricks_wall', - cracked_brick: 'minecraft:cracked_nether_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_nether_stairs', cracked_slab: 'tfg:rock/cracked_bricks_nether_slab', cracked_wall: 'tfg:rock/cracked_bricks_nether_wall', - mossy_brick: 'tfg:rock/mossy_bricks_nether', mossy_stairs: 'tfg:rock/mossy_bricks_nether_stairs', mossy_slab: 'tfg:rock/mossy_bricks_nether_slab', mossy_wall: 'tfg:rock/mossy_bricks_nether_wall', - smooth_brick: 'tfg:rock/polished_crackrack', smooth_stairs: 'tfg:rock/polished_crackrack_stairs', smooth_slab: 'tfg:rock/polished_crackrack_slab', smooth_wall: 'tfg:rock/polished_crackrack_wall', - chiseled_brick: 'minecraft:chiseled_nether_bricks' - }, - - { - brick_type: 'moon_deepslate', - brick: 'tfg:rock/bricks_moon_deepslate', brick_stairs: 'tfg:rock/bricks_moon_deepslate_stairs', brick_slab: 'tfg:rock/bricks_moon_deepslate_slab', brick_wall: 'tfg:rock/bricks_moon_deepslate_wall', - cracked_brick: 'tfg:rock/cracked_bricks_moon_deepslate', cracked_stairs: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_moon_slab', cracked_wall: 'tfg:rock/cracked_bricks_moon_wall', - mossy_brick: 'tfg:rock/mossy_bricks_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_moon_slab', mossy_wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', - smooth_brick: 'tfg:rock/polished_moon_deepslate', smooth_stairs: 'tfg:rock/polished_moon_deepslate_stairs', smooth_slab: 'ad_astra:polished_moon_stone_slab', smooth_wall: 'tfg:rock/polished_moon_deepslate_wall', - chiseled_brick: 'tfg:rock/chiseled_bricks_moon_deepslate' - }, - - { - brick_type: 'permafrost', - brick: 'ad_astra:permafrost_bricks', brick_stairs: 'ad_astra:permafrost_brick_stairs', brick_slab: 'ad_astra:permafrost_brick_slab', brick_wall: 'ad_astra:permafrost_brick_wall', - cracked_brick: 'ad_astra:cracked_permafrost_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_permafrost_stairs', cracked_slab: 'tfg:rock/cracked_bricks_permafrost_slab', cracked_wall: 'tfg:rock/cracked_bricks_permafrost_wall', - mossy_brick: 'tfg:rock/mossy_bricks_permafrost', mossy_stairs: 'tfg:rock/mossy_bricks_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_bricks_permafrost_slab', mossy_wall: 'tfg:rock/mossy_bricks_permafrost_wall', - smooth_brick: 'ad_astra:polished_permafrost', smooth_stairs: 'ad_astra:polished_permafrost_stairs', smooth_slab: 'ad_astra:polished_permafrost_slab', smooth_wall: 'tfg:rock/polished_permafrost_wall', - chiseled_brick: 'ad_astra:chiseled_permafrost_bricks' - }, - - { - brick_type: 'red_granite', - brick: 'gtceu:red_granite_bricks', brick_stairs: 'tfg:rock/bricks_red_granite_stairs', brick_slab: 'tfg:rock/bricks_red_granite_slab', brick_wall: 'tfg:rock/bricks_red_granite_wall', - cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_red_granite_stairs', cracked_slab: 'tfg:rock/cracked_bricks_red_granite_slab', cracked_wall: 'tfg:rock/cracked_bricks_red_granite_wall', - mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: 'tfg:rock/mossy_bricks_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_bricks_red_granite_slab', mossy_wall: 'tfg:rock/mossy_bricks_red_granite_wall', - smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: 'tfg:rock/polished_red_granite_stairs', smooth_slab: 'tfg:rock/polished_red_granite_slab', smooth_wall: 'tfg:rock/polished_red_granite_wall', - chiseled_brick: 'gtceu:chiseled_red_granite' - }, - - { - brick_type: 'venus_sandstone', - brick: 'ad_astra:venus_sandstone_bricks', brick_stairs: 'ad_astra:venus_sandstone_brick_stairs', brick_slab: 'ad_astra:venus_sandstone_brick_slab', brick_wall: 'tfg:rock/bricks_venus_sandstone_wall', - cracked_brick: 'ad_astra:cracked_venus_sandstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', - mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: null, smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: null - }, - - { - brick_type: 'stone', - brick: 'minecraft:stone_bricks', brick_stairs: 'minecraft:stone_brick_stairs', brick_slab: 'minecraft:stone_brick_slab', brick_wall: 'minecraft:stone_brick_wall', - cracked_brick: 'minecraft:cracked_stone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_stone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_stone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', - mossy_brick: 'minecraft:mossy_stone_bricks', mossy_stairs: 'minecraft:mossy_stone_brick_stairs', mossy_slab: 'minecraft:mossy_stone_brick_slab', mossy_wall: 'minecraft:mossy_stone_brick_wall', - smooth_brick: 'minecraft:smooth_stone', smooth_stairs: 'tfg:rock/smooth_stone_stairs', smooth_slab: 'minecraft:smooth_stone_slab', smooth_wall: 'tfg:rock/smooth_stone_wall', - chiseled_brick: 'minecraft:chiseled_stone_bricks' - } -]); - -global.BRICK_INDEX = global.BRICK_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { - brick_type: stone, - brick: `ad_astra:${stone}_stone_bricks`, brick_stairs: `ad_astra:${stone}_stone_brick_stairs`, brick_slab: `ad_astra:${stone}_stone_brick_slab`, brick_wall: `ad_astra:${stone}_stone_brick_wall`, - cracked_brick: `ad_astra:cracked_${stone}_stone_bricks`, cracked_stairs: `tfg:rock/cracked_bricks_${stone}_stairs`, cracked_slab: `tfg:rock/cracked_bricks_${stone}_slab`, cracked_wall: `tfg:rock/cracked_bricks_${stone}_wall`, - mossy_brick: `tfg:rock/mossy_bricks_${stone}`, mossy_stairs: `tfg:rock/mossy_bricks_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_bricks_${stone}_slab`, mossy_wall: `tfg:rock/mossy_bricks_${stone}_wall`, - smooth_brick: `ad_astra:polished_${stone}_stone`, smooth_stairs: `ad_astra:polished_${stone}_stone_stairs`, smooth_slab: `ad_astra:polished_${stone}_stone_slab`, smooth_wall: `tfg:rock/polished_${stone}_wall`, - chiseled_brick: `ad_astra:chiseled_${stone}_stone_bricks` - } -))) - -// #endregion BRICK_INDEX - -// #region COBBLE_INDEX -global.COBBLE_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ - cobble_type: tfc_stone, - block: `tfc:rock/cobble/${tfc_stone}`, stairs: `tfc:rock/cobble/${tfc_stone}_stairs`, slab: `tfc:rock/cobble/${tfc_stone}_slab`, wall: `tfc:rock/cobble/${tfc_stone}_wall`, - mossy_block: `tfc:rock/mossy_cobble/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_cobble/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_cobble/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_cobble/${tfc_stone}_wall` -})); - -global.COBBLE_INDEX = global.COBBLE_INDEX.concat([ - { - cobble_type: 'deepslate', - block: 'minecraft:cobbled_deepslate', stairs: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', - mossy_block: 'tfg:rock/mossy_cobble_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_deepslate_wall' - }, - - { - cobble_type: 'blackstone', - block: 'tfg:rock/cobble_blackstone', stairs: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall', - mossy_block: 'tfg:rock/mossy_cobble_blackstone', mossy_stairs: 'tfg:rock/mossy_cobble_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_blackstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_blackstone_wall' - }, - - { - cobble_type: 'dripstone', - block: 'tfg:rock/cobble_dripstone', stairs: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall', - mossy_block: 'tfg:rock/mossy_cobble_dripstone', mossy_stairs: 'tfg:rock/mossy_cobble_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_dripstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_dripstone_wall' - }, - - { - cobble_type: 'crackrack', - block: 'tfg:rock/cobble_crackrack', stairs: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall', - mossy_block: 'tfg:rock/mossy_cobble_crackrack', mossy_stairs: 'tfg:rock/mossy_cobble_crackrack_stairs', mossy_slab: 'tfg:rock/mossy_cobble_crackrack_slab', mossy_wall: 'tfg:rock/mossy_cobble_crackrack_wall' - }, - - { - cobble_type: 'moon_deepslate', - block: 'tfg:rock/cobble_moon_deepslate', stairs: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall', - mossy_block: 'tfg:rock/mossy_cobble_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall' - }, - - { - cobble_type: 'permafrost', - block: 'tfg:rock/cobble_permafrost', stairs: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall', - mossy_block: 'tfg:rock/mossy_cobble_permafrost', mossy_stairs: 'tfg:rock/mossy_cobble_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_cobble_permafrost_slab', mossy_wall: 'tfg:rock/mossy_cobble_permafrost_wall' - }, - - { - cobble_type: 'red_granite', - block: 'gtceu:red_granite_cobblestone', stairs: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall', - mossy_block: 'gtceu:mossy_red_granite_cobblestone', mossy_stairs: 'tfg:rock/mossy_cobble_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_cobble_red_granite_slab', mossy_wall: 'tfg:rock/mossy_cobble_red_granite_wall' - }, - - { - cobble_type: 'stone', - block: 'minecraft:cobblestone', stairs: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall', - mossy_block: 'minecraft:mossy_cobblestone', mossy_stairs: 'minecraft:mossy_cobblestone_stairs', mossy_slab: 'minecraft:mossy_cobblestone_slab', mossy_wall: 'minecraft:mossy_cobblestone_wall' - } -]); - -global.COBBLE_INDEX = global.COBBLE_INDEX.concat((AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( - { - cobble_type: stone, - block: `ad_astra:${stone}_cobblestone`, stairs: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`, - mossy_block: `tfg:rock/mossy_cobble_${stone}`, mossy_stairs: `tfg:rock/mossy_cobble_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_cobble_${stone}_slab`, mossy_wall: `tfg:rock/mossy_cobble_${stone}_wall` - } -))) - -// #endregion COBBLE_INDEX - -/** - * Function for replacing a block with another block by crouch-right-clicking with a tool. - * - * If input and output is null recipe will just return. - * - * @param {*} event - * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. - * @param {string} outputBlock -Block ID of the replacement. - * @param {string} toolId -Item ID of the tool. - * @param {boolean} damageTool -Sets wether the tool should be damaged on use. - * @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null. - * @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null. - * @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block. - */ -function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate) { - const { server, item, player, block } = event; - - if (!inputBlock || !outputBlock) return; - - if (inputBlock.startsWith('#')) { - if (!block.hasTag(inputBlock.substring(1))) return; - } else { - if (block.id.toString() !== inputBlock) return; - } - - if (toolId.startsWith('#')) { - if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return; - } else { - if (item.isEmpty() || player.mainHandItem.id !== toolId) return; - } - - if (!player.crouching) return; - - let state = block.getBlockState().toString(); - if (state.includes('[') && copyBlockstate === true) { - state = state.substring(state.indexOf('[')); - } else { - state = ''; - } - - if (soundId) { - server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`) - } - if (particleId) { - server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`) - } - player.swing(); - - if (!player.isCreative() && damageTool) { - item.damageValue++; - if (item.damageValue >= item.maxDamage) { - server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`); - item.count--; - } - } - - const dim = block.level.name.getString(); - server.runCommandSilent(`execute in ${dim} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`); - server.runCommandSilent(`execute in ${dim} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`); -}; - -/** - * Function for replacing a block with another block by crouch-right-clicking with a tool and receiving an item. - * - * If input and output is null recipe will just return. - * - * @param {*} event - * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. - * @param {string} outputBlock -Block ID of the replacement. - * @param {string} outputItem -Item ID of item to receive - * @param {number} outputCount -Number of items to be returned - * @param {string} toolId -Item ID of the tool. - * @param {boolean} damageTool -Sets wether the tool should be damaged on use. - * @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null. - * @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null. - * @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block. - */ -function transformBlockWithToolReturn(event, inputBlock, outputBlock, outputItem, outputCount, toolId, damageTool, soundId, particleId, copyBlockstate) { - const { server, item, player, block } = event; - - if (!inputBlock || !outputBlock) return; - - if (inputBlock.startsWith('#')) { - if (!block.hasTag(inputBlock.substring(1))) return; - } else { - if (block.id.toString() !== inputBlock) return; - } - if (!player.crouching) return; - - if (toolId.startsWith('#')) { - if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return; - } else { - if (item.isEmpty() || player.mainHandItem.id !== toolId) return; - } - - transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate) - - const dim = block.level.name.getString(); - server.runCommandSilent(`execute in ${dim} run summon item ${player.x} ${player.y} ${player.z} {Item:{id:'${outputItem}', Count:${outputCount}b}}`); - -} -/** - * Function for replacing a block with another block by crouch-right-clicking with an item. - * - * If input and output is null recipe will just return. - * - * @param {*} event - * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. - * @param {string} outputBlock -Block ID of the replacement. - * @param {string} itemId -Item ID of the consumed item. Accepts Tags. - * @param {boolean} consumeItem -Sets wether the item should be comsumed or not. - * @param {number} consumeAmount -Number of items to consume, can't be greater than stacksize. - * @param {string} soundId -Sound ID to be used as the flair sound effect. Can be null. - * @param {string} particleId -SimpleParticleType ID to be used as the flair particle. Can be null. - * @param {boolean} copyBlockstate - Sets wether the blockstate should be copied from the input block to the output block. - */ -function transformBlockWithItem(event, inputBlock, outputBlock, itemId, consumeItem, consumeAmount, soundId, particleId, copyBlockstate) { - const { server, item, player, block } = event; - - if (!inputBlock || !outputBlock) return; - - if (inputBlock.startsWith('#')) { - if (!block.hasTag(inputBlock.substring(1))) return; - } else { - if (block.id.toString() !== inputBlock) return; - } - - if (itemId.startsWith('#')) { - if (item.isEmpty() || !player.mainHandItem.hasTag(itemId.substring(1))) return; - } else { - if (item.isEmpty() || player.mainHandItem.id !== itemId) return; - } - if (!player.crouching) return; - - let state = block.getBlockState().toString() - if (state.includes('[') && copyBlockstate === true) { - state = state.substring(block.getBlockState().toString().indexOf('[')); - } else { - state = '' - } - - if (!player.isCreative() && consumeItem === true) { - if (item.count < consumeAmount) { - player.tell(`Item count is too low. Held amount = ${item.count}, required amount = ${consumeAmount}`) - return; - } - item.count -= consumeAmount; - } - if (soundId) { - server.runCommandSilent(`playsound ${soundId} player ${player.username} ${player.x} ${player.y} ${player.z} 1 2 1`) - } - if (particleId) { - server.runCommandSilent(`particle ${particleId} ${block.x} ${block.y + 0.8} ${block.z} 0.1 0.1 0.1 0.6 10`) - } - player.swing() - event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run fill ${block.x} ${block.y} ${block.z} ${block.x} ${block.y} ${block.z} air`) - event.server.runCommandSilent(`execute in ${event.block.level.name.getString()} run setblock ${block.x} ${block.y} ${block.z} ${outputBlock}${state}`) -}; - -// Declare Events -BlockEvents.rightClicked(event => { - //Brick index events - for (const b of global.BRICK_INDEX) { - //brick -> cracked - transformBlockWithTool(event, b.brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - //brick -> mossy - transformBlockWithItem(event, b.brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - //cracked -> mossy - transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - //mossy -> cracked - transformBlockWithTool(event, b.mossy_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - //mossy -> brick - transformBlockWithTool(event, b.mossy_brick, b.brick, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_brick, b.brick, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_stairs, b.brick_stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_stairs, b.brick_stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_slab, b.brick_slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_slab, b.brick_slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_wall, b.brick_wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_wall, b.brick_wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - //cracked -> brick - transformBlockWithItem(event, b.cracked_brick, b.brick, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_stairs, b.brick_stairs, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_slab, b.brick_slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_wall, b.brick_wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - // brick -> smooth - transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - // smooth -> brick - transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); - } - - //Cobble index events - for (const c of global.COBBLE_INDEX) { - //cobble -> mossy - transformBlockWithItem(event, c.block, c.mossy_block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.block, c.mossy_block, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.stairs, c.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.stairs, c.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.slab, c.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.slab, c.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.wall, c.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.wall, c.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - //mossy -> cobble - transformBlockWithTool(event, c.mossy_block, c.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_block, c.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, c.mossy_stairs, c.stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_stairs, c.stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, c.mossy_slab, c.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_slab, c.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, c.mossy_wall, c.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, c.mossy_wall, c.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - } - - //Misc Events - transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool_frame', 'tfg:glacian_wool', true, 2, 'block.wool.place', 'minecraft:happy_villager', true); - transformBlockWithToolReturn(event, 'tfg:glacian_wool_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:glacian_wool', 2,'#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); - - transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_frame', 'tfg:aes_insulation_roll', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); - transformBlockWithToolReturn(event, 'tfg:aes_insulation_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:aes_insulation_roll', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); - - transformBlockWithItem(event, 'gtceu:incoloy_ma_956_frame', 'tfg:moderate_core_frame', 'tfg:graphite_moderator', true, 1, 'block.wool.place', 'minecraft:happy_villager', true); - transformBlockWithToolReturn(event, 'tfg:moderate_core_frame', 'gtceu:incoloy_ma_956_frame', 'tfg:graphite_moderator', 1, '#forge:tools/wire_cutters', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); - - 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); - -}); - -// Makes scythes, hoes, and knives take damage when cutting grass -BlockEvents.broken('tfc:mineable_with_sharp_tool', event => { - let player = event.player; - let toolUsed = player.mainHandItem; - - if (!toolUsed.hasTag('tfc:sharp_tools')) { - return; - } - - if (!player.isCreative()) { - toolUsed.damageValue++; - if (toolUsed.damageValue >= toolUsed.maxDamage) { - event.server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`); - toolUsed.count--; - } - } -}); - -//#endregion diff --git a/kubejs/server_scripts/tfg/food/data.crops.js b/kubejs/server_scripts/tfg/food/data.crops.js new file mode 100644 index 000000000..af2a55d2f --- /dev/null +++ b/kubejs/server_scripts/tfg/food/data.crops.js @@ -0,0 +1,88 @@ +"use strict"; + + +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGCropRanges(event) { + // Earth + event.climateRange((climate) => { + climate.minHydration(20); + climate.maxHydration(80); + climate.minTemperature(5); + climate.maxTemperature(40); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "tfg:sunflower"); + + event.climateRange((climate) => { + climate.minHydration(10); + climate.maxHydration(60); + climate.minTemperature(-5); + climate.maxTemperature(25); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(1.5); + }, "tfg:rapeseed"); + + event.climateRange((climate) => { + climate.minHydration(15); + climate.maxHydration(65); + climate.minTemperature(-8); + climate.maxTemperature(25); + climate.hydrationWiggle(6.5); + climate.temperatureWiggle(3); + }, "tfg:flax"); + + // Mars + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(40); + climate.minTemperature(-150); + climate.maxTemperature(15); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:amber_root"); + + event.climateRange((climate) => { + climate.minHydration(70); + climate.maxHydration(100); + climate.minTemperature(-80); + climate.maxTemperature(30); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:blossom_berry"); + + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(40); + climate.minTemperature(-150); + climate.maxTemperature(15); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:bolux_mushroom"); + + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(60); + climate.minTemperature(-100); + climate.maxTemperature(30); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:cave_pumpkin_plant"); + + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(40); + climate.minTemperature(-150); + climate.maxTemperature(15); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:chorus_mushroom"); + + event.climateRange((climate) => { + climate.minHydration(50); + climate.maxHydration(100); + climate.minTemperature(-80); + climate.maxTemperature(30); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:shadow_berry"); +} diff --git a/kubejs/server_scripts/tfg/food/data.food.js b/kubejs/server_scripts/tfg/food/data.food.js new file mode 100644 index 000000000..def08ba3d --- /dev/null +++ b/kubejs/server_scripts/tfg/food/data.food.js @@ -0,0 +1,583 @@ +"use strict"; + +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGFoodData(event) { + + // Ice shavings + event.foodItem('firmalife:ice_shavings', food => { + food.water(5) + food.decayModifier(0) + }) + + // Birt + event.foodItem("tfg:food/raw_birt", (food) => { + food.hunger(2); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_birt", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(2.2); + food.decayModifier(2.25); + }); + + // Crawlermari + event.foodItem("tfg:food/raw_crawlermari", (food) => { + food.hunger(2); + food.water(5); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_crawlermari", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(2.2); + food.decayModifier(2.25); + }); + + // Limpet + event.foodItem("tfg:food/raw_limpet", (food) => { + food.hunger(2); + food.water(5); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_limpet", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(2.2); + food.decayModifier(2.25); + }); + + // Moon Rabbit + event.foodItem("tfg:food/raw_moon_rabbit", (food) => { + food.hunger(2); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_moon_rabbit", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(2.2); + food.decayModifier(2.25); + }); + + // Glacian Mutton + event.foodItem("tfg:food/raw_glacian_mutton", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_glacian_mutton", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // Sniffer Beef + event.foodItem("tfg:food/raw_sniffer_beef", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_sniffer_beef", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // Wraptor + event.foodItem("tfg:food/raw_wraptor", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_wraptor", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // Springling Collar + event.foodItem("tfg:food/raw_springling_collar", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_springling_collar", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // Surfer Steak + event.foodItem("tfg:food/raw_surfer_steak", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_surfer_steak", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // Cruncher Ribs + event.foodItem("tfg:food/raw_cruncher_ribs", (food) => { + food.hunger(2); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_cruncher_ribs", (food) => { + food.hunger(4); + food.saturation(2.2); + food.protein(4); + food.decayModifier(2.25); + }); + + // Long Pig Filet + event.foodItem("tfg:food/raw_long_pig_filet", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_long_pig_filet", (food) => { + food.hunger(2); + food.saturation(2); + food.protein(2); + food.decayModifier(2.25); + }); + + // Stackatick Chunks + event.foodItem("tfg:food/raw_stackatick_chunks", (food) => { + food.hunger(2); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/raw_stickastackatick", (food) => { + food.hunger(2); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_stickastackatick", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // Walker Steak + event.foodItem("tfg:food/raw_walker_steak", (food) => { + food.hunger(2); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_walker_steak", (food) => { + food.hunger(4); + food.saturation(2.2); + food.protein(4); + food.decayModifier(2.25); + }); + + // Glider Wings + event.foodItem("tfg:food/raw_glider_wings", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_glider_wings", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(2.75); + food.decayModifier(2.25); + }); + + // Soarer + event.foodItem("tfg:food/raw_whole_soarer", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_whole_soarer", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3.1); + food.decayModifier(2.25); + }); + + // Crusher Meat + event.foodItem("tfg:food/raw_crusher_meat", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_crusher_meat", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // Goober Meat + event.foodItem("tfg:food/raw_goober_meat", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + food.water(1); + }); + + event.foodItem("tfg:food/cooked_goober_meat", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(3); + food.decayModifier(2.25); + }); + + // high-tech food + global.FOOD_FRUIT.forEach((fruit) => { + event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, (food) => { + food.hunger(4); + food.saturation(fruit.saturation); + food.water(0); + food.fruit(fruit.fruit); + food.decayModifier(fruit.decay); + }); + }); + + event.foodItem("tfg:food/calorie_paste", (food) => { + food.hunger(6); + food.saturation(4); + food.decayModifier(4.5); + food.grain(0.1); + food.vegetables(0.2); + food.protein(0.2); + }); + + event.foodItem("tfg:food/meal_bag", (food) => { + food.type("dynamic"); + }); + + // Sunflower products + event.foodItem("tfg:roasted_sunflower_seeds", (food) => { + food.hunger(4); + food.decayModifier(0.5); + food.grain(0.1); + food.saturation(0.5); + }); + + event.foodItem("tfg:sunflower_product", (food) => { + food.decayModifier(0.5); + }); + + // Amber Roots + event.foodItem("betterend:amber_root_product", (food) => { + food.hunger(4); + food.decayModifier(1); + food.saturation(1); + food.grain(3); + }); + + // Blossom Berries + event.foodItem("betterend:blossom_berry_product", (food) => { + food.hunger(5); + food.decayModifier(2); + food.saturation(1); + food.water(7.5); + food.fruit(2.1); + }); + + // Cave Pumpkin + event.foodItem("betterend:cave_pumpkin", (food) => { + food.hunger(4); + food.saturation(0); + food.decayModifier(0.5); + }); + + event.foodItem("betterend:cave_pumpkin_chunks", (food) => { + food.hunger(4); + food.saturation(1); + food.decayModifier(2.5); + food.water(5); + food.fruit(0.8); + }); + + event.foodItem("betterend:cave_pumpkin_pie_dough", (food) => { + food.hunger(2); + food.decayModifier(3); + }); + + event.foodItem("betterend:cave_pumpkin_pie_raw", (food) => { + food.hunger(2); + food.decayModifier(3); + }); + + event.foodItem("betterend:cave_pumpkin_pie", (food) => { + food.hunger(4); + food.saturation(2.8); + food.decayModifier(1.5); + food.water(5); + food.protein(1); + food.fruit(5); + food.grain(4); + food.dairy(1); + }); + + // Chorus Mushroom + event.foodItem("betterend:chorus_mushroom_product", (food) => { + food.hunger(2); + food.saturation(1); + food.decayModifier(3); + food.water(3); + food.vegetables(1.5); + }); + + event.foodItem("betterend:chorus_mushroom_cooked", (food) => { + food.hunger(2); + food.saturation(2.1); + food.decayModifier(1.5); + food.vegetables(2.5); + }); + + // Shadow Berry + event.foodItem("betterend:shadow_berry_product", (food) => { + food.hunger(5); + food.decayModifier(2); + food.saturation(1); + food.water(5); + food.fruit(1.9); + }); + + event.foodItem("betterend:shadow_berry_cooked", (food) => { + food.hunger(5); + food.decayModifier(1); + food.saturation(2); + food.fruit(2.2); + }); + + // Bolux Mushroom + event.foodItem("betterend:bolux_mushroom_product", (food) => { + food.hunger(2); + food.saturation(1); + food.decayModifier(3); + food.water(3); + food.vegetables(1.5); + }); + + event.foodItem("betterend:bolux_mushroom_cooked", (food) => { + food.hunger(2); + food.saturation(2); + food.decayModifier(1.5); + food.vegetables(2.4); + }); + + // Dino Nuggets + event.foodItem('tfg:food/raw_dino_nugget', (food) => { + food.type("dynamic"); + food.hunger(1); + food.decayModifier(3); + }); + + event.foodItem('tfg:food/cooked_dino_nugget', (food) => { + food.type("dynamic"); + food.hunger(3); + food.saturation(2); + food.decayModifier(1.5); + }); + + // Ice Soup + event.foodItem("tfg:food/ice_soup", (food) => { + food.hunger(1); + food.water(20); + food.decayModifier(0); + }); + + // Fries + event.foodItem('tfg:food/raw_fries', (food) => { + food.hunger(1); + food.decayModifier(3); + food.vegetables(0.25); + }); + + event.foodItem('tfg:food/cooked_fries', (food) => { + food.hunger(2); + food.decayModifier(1.5); + food.vegetables(0.6); + food.saturation(2); + }); + + // Cheese Curds + event.foodItem('tfg:food/raw_beer_battered_cheese_curds', (food) => { + food.hunger(1); + food.decayModifier(1.3); + food.dairy(1); + food.saturation(1); + }); + + event.foodItem('tfg:food/cooked_beer_battered_cheese_curds', (food) => { + food.hunger(3); + food.decayModifier(0.8); + food.dairy(1.2); + food.saturation(2); + food.grain(0.5); + }); + + // Hamburgers + event.foodItem('tfg:food/raw_burger_patty', (food) => { + food.hunger(2); + food.decayModifier(2.3); + food.protein(2); + }); + + event.foodItem('tfg:food/cooked_burger_patty', (food) => { + food.hunger(4); + food.decayModifier(2); + food.protein(2.5); + food.saturation(2); + }); + + event.foodItem('tfg:food/brioche_dough', (food) => { + food.hunger(1.5); + food.decayModifier(2.3); + }); + + event.foodItem('tfg:food/brioche_bun', (food) => { + food.hunger(3.5); + food.decayModifier(1.5); + food.grain(1.5); + food.dairy(0.5); + food.saturation(1); + }); + + event.foodItem('tfg:food/hamburger', (food) => { + food.type("dynamic"); + }); + + event.foodItem('tfg:food/cheeseburger', (food) => { + food.type("dynamic"); + }); + + // Poutine + event.foodItem('tfg:food/poutine', (food) => { + food.type("dynamic_bowl"); + }); + + // Oatmeal + event.foodItem('tfg:food/oatmeal', (food) => { + food.type("dynamic_bowl"); + }); + + // Biochem Items + event.foodItem("tfg:progenitor_cells", (food) => { + food.decayModifier(1); + }); + event.foodItem("tfg:rough_endoplasmic_reticula", (food) => { + food.decayModifier(0.5); + }); + event.foodItem("tfg:smooth_endoplasmic_reticula", (food) => { + food.decayModifier(0.5); + }); + + // Instant Mac + event.foodItem('tfg:food/raw_instant_mac', (food) => { + food.hunger(2); + food.decayModifier(0.2); + }); + + event.foodItem('tfg:food/cooked_instant_mac', (food) => { + food.hunger(3.5); + food.decayModifier(1.6); + food.grain(1.5); + food.dairy(2.5); + food.protein(0.8); + food.saturation(1.8); + }); + + //#region Drinkables + // Proto Growth Medium + event.drinkable("tfg:proto_growth_medium", (data) => { + data.thirst(10); + data.food(food => { + food.dairy(5); + food.protein(1); + }); + data.effect("minecraft:absorption", (effect) => { + effect.amplifier(2); + effect.chance(0.25); + effect.duration(1200); + }); + }); + + // Semiheavy Ammoniacal Water + event.drinkable("tfg:semiheavy_ammoniacal_water", (data) => { + data.thirst(10); + data.effect("minecraft:nausea", (effect) => { + effect.chance(0.5); + effect.duration(200); + }); + }); + + // Rich Stock + event.drinkable('tfg:rich_stock', (data) => { + data.thirst(4); + data.effect("tfc:thirst", (effect) => { + effect.chance(0.2); + effect.duration(20*5); + }); + data.food(food => { + food.protein(0.25); + food.vegetables(0.25); + }); + }); + + // Light Stock + event.drinkable('tfg:light_stock', (data) => { + data.thirst(4); + data.effect("tfc:thirst", (effect) => { + effect.chance(0.2); + effect.duration(20*5); + }); + data.food(food => { + food.protein(0.25); + food.vegetables(0.25); + }); + }); + + // Brown Gravy + event.drinkable('tfg:brown_gravy', (data) => { + data.thirst(2); + data.effect("tfc:thirst", (effect) => { + effect.chance(0.3); + effect.duration(20*5); + }); + data.food(food => { + food.protein(0.5); + food.vegetables(0.5); + food.grain(0.25); + }); + }); + + //#endregion +} diff --git a/kubejs/server_scripts/tfg/food/data.planters.js b/kubejs/server_scripts/tfg/food/data.planters.js new file mode 100644 index 000000000..e694e6ca7 --- /dev/null +++ b/kubejs/server_scripts/tfg/food/data.planters.js @@ -0,0 +1,167 @@ +"use strict"; + + +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGFLPlanters(event) { + event.firmalifePlantable( + "tfg:sunflower_seeds", + "large", + 0, + 3, + 0.15, + "tfg:sunflower_seeds", + "tfg:sunflower_product", + "nitrogen", + [ + "tfg:block/crop/sunflower_greenhouse_0", + "tfg:block/crop/sunflower_greenhouse_1", + "tfg:block/crop/sunflower_greenhouse_2", + "tfg:block/crop/sunflower_greenhouse_3" + ], + null + ); + + event.firmalifePlantable( + "tfg:rapeseed_seeds", + "large", + 0, + 3, + 0.15, + "tfg:rapeseed_seeds", + "tfg:rapeseed_product", + "phosphorous", + [ + "tfg:block/crop/rapeseed_greenhouse_0", + "tfg:block/crop/rapeseed_greenhouse_1", + "tfg:block/crop/rapeseed_greenhouse_2", + "tfg:block/crop/rapeseed_greenhouse_3" + ], + null + ); + + event.firmalifePlantable( + "tfg:flax_seeds", + "large", + 0, + 3, + 0.2, + "tfg:flax_seeds", + "tfg:flax_product", + "nitrogen", + [ + "tfg:block/crop/flax_age_0", + "tfg:block/crop/flax_age_1", + "tfg:block/crop/flax_age_5_top", + "tfg:block/crop/flax_age_6_top" + ], + null + ); + + event.firmalifePlantable( + "betterend:amber_root_seeds", + "large", + 0, + 3, + 0.15, + "betterend:amber_root_seeds", + "betterend:amber_root_product", + "phosphorous", + [ + "betterend:block/amber_root_0", + "betterend:block/amber_root_1", + "betterend:block/amber_root_2", + "betterend:block/amber_root_3" + ], + null + ); + + event.firmalifePlantable( + "betterend:blossom_berry_seeds", + "large", + 0, + 3, + 0.15, + "betterend:blossom_berry_seeds", + "betterend:blossom_berry_product", + "potassium", + [ + "betterend:block/blossom_berry_seed_0", + "betterend:block/blossom_berry_seed_1", + "betterend:block/blossom_berry_seed_2", + "betterend:block/blossom_berry_seed_3" + ], + null + ); + + event.firmalifePlantable( + "betterend:bolux_mushroom_seeds", + "quad", + 1, + 3, + 0.15, + "betterend:bolux_mushroom_seeds", + "betterend:bolux_mushroom_product", + "phosphorous", + [ + "betterend:block/bolux_mushroom_greenhouse_0", + "betterend:block/bolux_mushroom_greenhouse_1", + "betterend:block/bolux_mushroom_greenhouse_2", + "betterend:block/bolux_mushroom_greenhouse_3" + ], + null + ); + + event.firmalifePlantable( + "betterend:chorus_mushroom_seeds", + "quad", + 1, + 3, + 0.15, + "betterend:chorus_mushroom_seeds", + "betterend:chorus_mushroom_product", + "phosphorous", + [ + "betterend:block/chorus_mushroom_0", + "betterend:block/chorus_mushroom_1", + "betterend:block/chorus_mushroom_2", + "betterend:block/chorus_mushroom_3" + ], + null + ); + + event.firmalifePlantable( + "betterend:cave_pumpkin_plant_seeds", + "hanging", + 2, + 3, + 0.15, + "betterend:cave_pumpkin_plant_seeds", + "betterend:cave_pumpkin", + "phosphorous", + [ + "betterend:block/cave_pumpkin_greenhouse_0", + "betterend:block/cave_pumpkin_greenhouse_1", + "betterend:block/cave_pumpkin_greenhouse_2", + "betterend:block/cave_pumpkin_greenhouse_3" + ], + "betterend:block/cave_pumpkin_top" + ); + + event.firmalifePlantable( + "betterend:shadow_berry_seeds", + "quad", + 1, + 3, + 0.15, + "betterend:shadow_berry_seeds", + "betterend:shadow_berry_product", + "potassium", + [ + "betterend:block/shadow_berry_greenhouse_0", + "betterend:block/shadow_berry_greenhouse_1", + "betterend:block/shadow_berry_greenhouse_2", + "betterend:block/shadow_berry_greenhouse_3" + ], + null + ); +} diff --git a/kubejs/server_scripts/tfg/food/recipes.biomass.js b/kubejs/server_scripts/tfg/food/recipes.biomass.js new file mode 100644 index 000000000..65aeb4fcf --- /dev/null +++ b/kubejs/server_scripts/tfg/food/recipes.biomass.js @@ -0,0 +1,182 @@ +"use strict"; + +function registerTFGBiomassRecipes(event) { + + //#region Biomass + + event.recipes.gtceu.brewery('biomass_from_tfc_seeds') + .itemInputs('#tfc:seeds') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_tfc_food') + .itemInputs('#tfc:foods') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_tfc_plants') + .itemInputs('#tfc:plants') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_moon_plants') + .itemInputs('#tfg:moon_plants') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_mars_plants') + .itemInputs('#tfg:mars_plants') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_tfc_corals') + .itemInputs('#tfc:corals') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_spider_eyes') + .itemInputs('minecraft:spider_eye') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_leaves') + .itemInputs('#minecraft:leaves') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_fallen_leaves') + .itemInputs('#tfc:fallen_leaves') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_minecraft_plants') + .itemInputs('#createaddition:plants') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .duration(100) + .EUt(3) + + event.recipes.gtceu.brewery('biomass_from_wart_blocks') + .itemInputs('#minecraft:wart_blocks') + .inputFluids("#tfc:any_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 50)) + .duration(100) + .EUt(3) + + event.replaceOutput({ id: 'gtceu:distillery/distill_biomass_to_water' }, 'gtceu:wood_dust', 'gtceu:carbon_dust') + event.replaceOutput({ id: 'gtceu:distillery/distill_biomass_to_ethanol' }, 'gtceu:wood_dust', 'gtceu:carbon_dust') + event.replaceOutput({ id: 'gtceu:distillation_tower/distill_biomass' }, 'gtceu:wood_dust', 'gtceu:carbon_dust') + + //#endregion + + //#region Plant ball + + event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds') + .itemInputs('4x #tfc:seeds') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + let food = Ingredient.of('#tfc:foods') + .subtract('minecraft:brown_mushroom') + .subtract('minecraft:red_mushroom') + .withCount(8) + + event.recipes.gtceu.compressor('plant_ball_from_tfc_food') + .itemInputs(food) + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_tfc_plants') + .itemInputs('4x #tfc:plants') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_moon_plants') + .itemInputs('4x #tfg:moon_plants') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_mars_plants') + .itemInputs('4x #tfg:mars_plants') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_tfc_corals') + .itemInputs('4x #tfc:corals') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_misc_plants') + .itemInputs('4x #createaddition:plants') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + event.recipes.gtceu.compressor('plant_ball_from_wart_blocks') + .itemInputs('4x #minecraft:wart_blocks') + .itemOutputs('gtceu:plant_ball') + .duration(300) + .EUt(2) + + //#endregion + + // Sugar + event.recipes.gtceu.centrifuge('sugar_from_sugarcane') + .itemInputs('tfc:food/sugarcane') + .inputFluids("#tfg:clean_water 600") + .itemOutputs('minecraft:sugar', 'gtceu:plant_ball') + .duration(800) + .EUt(6) + + event.recipes.gtceu.centrifuge('sugar_from_honey') + .itemInputs('firmalife:raw_honey') + .itemOutputs('minecraft:sugar') + .duration(400) + .EUt(6) + + event.recipes.gtceu.centrifuge('tfg:beets_to_sugar') + .itemInputs('5x tfc:food/beet') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('3x minecraft:sugar', '3x gtceu:plant_ball', '1x #forge:dusts/salt') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(800) + .EUt(7) + .circuit(3) + + // Misc + event.recipes.gtceu.macerator('macerate_cocoa') + .itemInputs('firmalife:food/roasted_cocoa_beans') + .itemOutputs('gtceu:cocoa_dust') + .duration(100) + .EUt(2) + + event.recipes.gtceu.macerator('macerate_meat_to_dust') + .itemInputs('#tfc:foods/meats') + .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') + .duration(100) + .EUt(2) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js similarity index 95% rename from kubejs/server_scripts/tfg/recipes.food.js rename to kubejs/server_scripts/tfg/food/recipes.food.js index afffe2bce..40bd7bc70 100644 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -1720,87 +1720,5 @@ function registerTFGFoodRecipes(event) { }); //#endregion - //#region Machine Recipes - event.remove({id: 'gtceu:shaped/mv_food_refrigerator'}) - event.remove({id: 'gtceu:shaped/hv_food_refrigerator'}) - event.remove({id: 'gtceu:shaped/ev_food_refrigerator'}) - event.remove({id: 'gtceu:shaped/iv_food_refrigerator'}) - - event.recipes.gtceu.assembler('tfg:assembler/mv_food_refrigerator') - .itemInputs( - ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Copper, 2), - ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), - ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Bronze, 1), - '2x gtceu:mv_electric_pump', - 'gtceu:mv_hermetic_casing', - '#gtceu:circuits/mv' - ) - .inputFluids(Fluid.of('tfg:chlorodifluoromethane', 6000)) - .itemOutputs('1x tfg:mv_food_refrigerator') - .duration(200) - .circuit(7) - .addMaterialInfo(true) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.assembler('tfg:assembler/hv_food_refrigerator') - .itemInputs( - ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Gold, 2), - ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), - ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Steel, 1), - '2x gtceu:hv_electric_pump', - 'gtceu:hv_hermetic_casing', - '#gtceu:circuits/hv' - ) - .inputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 6000)) - .itemOutputs('1x tfg:hv_food_refrigerator') - .duration(200) - .circuit(7) - .addMaterialInfo(true) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.assembler('tfg:assembler/ev_food_refrigerator') - .itemInputs( - ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Aluminium, 2), - ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), - ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1), - '2x gtceu:ev_electric_pump', - 'gtceu:ev_hermetic_casing', - '#gtceu:circuits/ev' - ) - .inputFluids(Fluid.of('tfg:cryogenized_fluix', 6000)) - .itemOutputs('1x tfg:ev_food_refrigerator') - .duration(200) - .circuit(7) - .addMaterialInfo(true) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.assembler('tfg:assembler/iv_food_refrigerator') - .itemInputs( - ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Platinum, 2), - ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), - ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1), - '2x gtceu:iv_electric_pump', - 'gtceu:iv_hermetic_casing', - '#gtceu:circuits/iv' - ) - .inputFluids(Fluid.of('tfg:solar_coolant_tier2', 6000)) - .itemOutputs('1x tfg:iv_food_refrigerator') - .duration(200) - .circuit(7) - .addMaterialInfo(true) - .EUt(GTValues.VA[GTValues.LV]) - - event.shaped('tfg:electric_greenhouse', [ - 'ABA', - 'CDC', - 'BCB' - ], { - A: '#gtceu:circuits/mv', - B: '#forge:single_cables/copper', - C: 'tfc:compost', - D: 'gtceu:steel_machine_casing' - }).id('tfg:shaped/electric_greenhouse') - - //#endregion } diff --git a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js new file mode 100644 index 000000000..172352b7e --- /dev/null +++ b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js @@ -0,0 +1,108 @@ +"use strict"; + +function registerTFGMealBagRecipes(event) { + + // Food related + event.recipes.gtceu.forming_press('tfg:forming_press/foil_pack') + .itemInputs(ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 1), ChemicalHelper.get(TagPrefix.foil, GTMaterials.Polyethylene, 1)) + .itemOutputs('1x tfg:foil_pack') + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.gas_pressurizer('tfg:fluid_solidifier/dry_ice') + .inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('2x tfg:dry_ice') + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/liq_co2') + .inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) + .outputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) + .duration(160) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/dry_ice') + .inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('10x tfg:dry_ice') + .duration(60) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_liq_co2') + .itemInputs('1x tfg:dry_ice') + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100)) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_dry_ice') + .inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 100)) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100)) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.mixer('tfg:clean_foil_pack') + .itemInputs('1x tfg:used_foil_pack') + .inputFluids("#tfg:clean_water 100") + .itemOutputs('1x tfg:clean_foil_pack') + .duration(200) + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.ore_washer('tfg:ore_washer/distilled/clean_foil_pack') + .itemInputs('1x tfg:used_foil_pack') + .inputFluids(Fluid.of('gtceu:distilled_water', 10)) + .itemOutputs('1x tfg:clean_foil_pack') + .duration(200) + .circuit(2) + .EUt(GTValues.VA[GTValues.ULV]) + + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + { item: 'tfg:used_foil_pack' }], + result: { item: 'tfg:clean_foil_pack' } + }).id('tfg:ae_transform/clean_foil_pack') + + event.recipes.greate.splashing(['tfg:clean_foil_pack'], 'tfg:used_foil_pack') + .id('tfg:splashing/clean_foil_pack') + + event.shapeless('1x tfg:used_foil_pack', [ + 'tfg:food/calorie_paste' + ]).id('tfg:shapeless/emptying/calorie_paste') + + event.shapeless('1x tfg:used_foil_pack', [ + 'tfg:food/meal_bag' + ]).id('tfg:shapeless/emptying/meal_bag') + + global.FOOD_FRUIT.forEach(fruit => { + event.shapeless('1x tfg:used_foil_pack', [ + `tfg:food/freeze_dried/${fruit.name}` + ]).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]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/food/recipes.refrigerators.js b/kubejs/server_scripts/tfg/food/recipes.refrigerators.js new file mode 100644 index 000000000..97113c2aa --- /dev/null +++ b/kubejs/server_scripts/tfg/food/recipes.refrigerators.js @@ -0,0 +1,113 @@ +"use strict"; + +function registerTFGRefrigeratorRecipes(event) { + + //#region Machine Recipes + + event.remove({ id: 'gtceu:shaped/mv_food_refrigerator' }) + event.remove({ id: 'gtceu:shaped/hv_food_refrigerator' }) + event.remove({ id: 'gtceu:shaped/ev_food_refrigerator' }) + event.remove({ id: 'gtceu:shaped/iv_food_refrigerator' }) + + event.recipes.gtceu.assembler('tfg:assembler/mv_food_refrigerator') + .itemInputs( + ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Copper, 2), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), + ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Bronze, 1), + '2x gtceu:mv_electric_pump', + 'gtceu:mv_hermetic_casing', + '#gtceu:circuits/mv' + ) + .inputFluids(Fluid.of('tfg:chlorodifluoromethane', 6000)) + .itemOutputs('1x tfg:mv_food_refrigerator') + .duration(200) + .circuit(7) + .addMaterialInfo(true) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler('tfg:assembler/hv_food_refrigerator') + .itemInputs( + ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Gold, 2), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), + ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Steel, 1), + '2x gtceu:hv_electric_pump', + 'gtceu:hv_hermetic_casing', + '#gtceu:circuits/hv' + ) + .inputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 6000)) + .itemOutputs('1x tfg:hv_food_refrigerator') + .duration(200) + .circuit(7) + .addMaterialInfo(true) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler('tfg:assembler/ev_food_refrigerator') + .itemInputs( + ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Aluminium, 2), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), + ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1), + '2x gtceu:ev_electric_pump', + 'gtceu:ev_hermetic_casing', + '#gtceu:circuits/ev' + ) + .inputFluids(Fluid.of('tfg:cryogenized_fluix', 6000)) + .itemOutputs('1x tfg:ev_food_refrigerator') + .duration(200) + .circuit(7) + .addMaterialInfo(true) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler('tfg:assembler/iv_food_refrigerator') + .itemInputs( + ChemicalHelper.get(TagPrefix.cableGtSingle, GTMaterials.Platinum, 2), + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Polyethylene, 2), + ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1), + '2x gtceu:iv_electric_pump', + 'gtceu:iv_hermetic_casing', + '#gtceu:circuits/iv' + ) + .inputFluids(Fluid.of('tfg:solar_coolant_tier2', 6000)) + .itemOutputs('1x tfg:iv_food_refrigerator') + .duration(200) + .circuit(7) + .addMaterialInfo(true) + .EUt(GTValues.VA[GTValues.LV]) + + //#endregion + + // Refrigerants + + event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/chlorodifluoromethane') + .inputFluids(Fluid.of('gtceu:chloroform', 1000), Fluid.of('gtceu:hydrofluoric_acid', 2000)) + .outputFluids(Fluid.of('tfg:chlorodifluoromethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 2000)) + .duration(480) + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/breakdown/chlorodifluoromethane') + .inputFluids(Fluid.of('tfg:chlorodifluoromethane', 200)) + .outputFluids(Fluid.of('gtceu:tetrafluoroethylene', 100), Fluid.of('gtceu:hydrochloric_acid', 200)) + .duration(100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/acetylene') + .inputFluids(Fluid.of('gtceu:methane', 2000), Fluid.of('gtceu:oxygen', 3000)) + .outputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('minecraft:water', 3000)) + .circuit(4) + .duration(120) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/1_1_1_2_tetrafluoroethane') + .inputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('gtceu:chlorine', 4000), Fluid.of('gtceu:hydrofluoric_acid', 4000)) + .outputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 4000)) + .circuit(4) + .duration(480) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.cracker('tfg:cracker/isobutane') + .inputFluids(Fluid.of('gtceu:butane', 4000)) + .outputFluids(Fluid.of('tfg:isobutane', 1000), Fluid.of('gtceu:lpg', 3000)) + .circuit(4) + .duration(2400) + .EUt(GTValues.VA[GTValues.HV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js new file mode 100644 index 000000000..08dcf5c8a --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -0,0 +1,182 @@ +"use strict"; + +function registerTFGCasingRecipes(event) { + + event.recipes.gtceu.assembler('steel_machine_casing') + .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4)) + .itemOutputs('gtceu:steel_machine_casing') + .circuit(6) + .duration(2.5 * 20) + .EUt(16) + + // Railgun + global.GTCEU_SUPERCONDUCTORS.forEach((type, index) => { + const multiplier = index + 1 + + event.recipes.gtceu.assembler(`tfg:assembler/superconductor_coil_small_from_${type.name}`) + .itemInputs( + ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4), + ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), + ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1), + ChemicalHelper.get(TagPrefix.wireFine, GTMaterials[type.materialId], 4) + ) + .inputFluids(Fluid.of('gtceu:epoxy', 144)) + .itemOutputs(Item.of('tfg:superconductor_coil_small', 4 * multiplier)) + .circuit(4) + .duration(400) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler(`tfg:assembler/superconductor_coil_large_from_${type.name}`) + .itemInputs( + ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4), + ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), + ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1), + ChemicalHelper.get(TagPrefix.wireGtSingle, GTMaterials[type.materialId], 4)) + .inputFluids(Fluid.of('gtceu:epoxy', 144)) + .itemOutputs(Item.of('tfg:superconductor_coil_large', 4 * multiplier)) + .circuit(7) + .duration(600) + .EUt(GTValues.VA[GTValues.MV]) + }) + + event.recipes.gtceu.assembler('tfg:assembler/electromagnetic_accelerator') + .itemInputs( + '2x #forge:plates/desh', + 'gtceu:mv_voltage_coil', + '5x tfg:dry_ice', + 'gtceu:nonconducting_casing' + ) + .inputFluids(Fluid.of('gtceu:blue_alloy', 288)) + .itemOutputs('6x tfg:electromagnetic_accelerator') + .circuit(4) + .duration(800) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:assembler/machine_casing_aluminium_plated_steel') + .itemInputs( + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 6), + ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Steel, 1) + ) + .inputFluids(Fluid.of('gtceu:silicon', 72)) + .itemOutputs('2x tfg:machine_casing_aluminium_plated_steel') + .circuit(6) + .duration(20 * (2.5)) + .EUt(GTValues.VH[GTValues.LV]) + + // Solar + event.recipes.gtceu.assembler('basic_solar_casing') + .itemInputs('gtceu:steel_machine_casing', 'tfg:photo_cell_t1') + .itemOutputs('8x tfg:casings/machine_casing_blue_solar_panel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + .circuit(6) + .duration(2.5 * 20) + .EUt(16) + + event.recipes.gtceu.assembler('advanced_solar_casing') + .itemInputs('8x tfg:casings/machine_casing_blue_solar_panel', 'ad_astra:photovoltaic_etrium_cell') + .itemOutputs('8x tfg:casings/machine_casing_green_solar_panel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + .circuit(6) + .duration(2.5 * 20) + .EUt(16) + + event.recipes.gtceu.assembler('elite_solar_casing') + .itemInputs('8x tfg:casings/machine_casing_green_solar_panel', 'ad_astra:photovoltaic_vesnium_cell') + .itemOutputs('8x tfg:casings/machine_casing_red_solar_panel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + .circuit(6) + .duration(2.5 * 20) + .EUt(16) + + event.recipes.gtceu.assembler('tfg:reflector_from_lens') + .itemInputs( + '24x #forge:lenses', + ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1) + ) + .inputFluids(Fluid.of('gtceu:silver', 1296)) + .itemOutputs('1x tfg:reflector') + .circuit(6) + .duration(20 * (60)) + .EUt(GTValues.VH[GTValues.HV]) + + event.recipes.gtceu.assembler('tfg:reflector_from_inr') + .itemInputs( + '1x gtceu:neutron_reflector', + ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1) + ) + .itemOutputs('2x tfg:reflector') + .circuit(9) + .duration(20 * (20)) + .EUt(GTValues.VH[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:reflector_from_certus') + .itemInputs( + ChemicalHelper.get(TagPrefix.plate, GTMaterials.CertusQuartz, 12), + ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1) + ) + .inputFluids(Fluid.of('gtceu:silver', 488)) + .itemOutputs('1x tfg:reflector') + .circuit(6) + .dimension('ad_astra:moon') + .duration(20 * (60)) + .EUt(GTValues.VH[GTValues.MV]) + + // Moon + event.recipes.gtceu.assembler('iron_desh_casing') + .itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 6), 'gtceu:desh_frame') + .itemOutputs('2x tfg:casings/machine_casing_iron_desh') + .circuit(6) + .duration(2.5 * 20) + .EUt(16) + + // Evaporation + event.recipes.gtceu.assembler('tfg:casings/machine_casing_stainless_evaporation') + .itemInputs('gtceu:clean_machine_casing', '4x gtceu:annealed_copper_double_wire') + .inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 288)) + .itemOutputs('tfg:casings/machine_casing_stainless_evaporation') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + // 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)) + .itemOutputs('tfg:casings/machine_casing_mars') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.assembler('gtceu:atomic_casing') + .itemInputs('4x #forge:dense_plates/lead', '2x #forge:plates/rtm_alloy', '#forge:frames/titanium') + .inputFluids(Fluid.of('gtceu:polyvinyl_butyral', 288)) + .itemOutputs('2x gtceu:atomic_casing') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + // Vacuum Intake + event.shaped('tfg:casings/machine_casing_vacuum_engine_intake', [ + 'USU', + 'WZW', + 'UTU' + ], { + S: '#forge:tools/hammers', + T: '#forge:tools/wrenches', + W: '#forge:rotors/ultimet', + U: 'gtceu:ultimet_normal_item_pipe', + Z: 'gtceu:inert_machine_casing' + }).id('tfg:shaped/casing_machine_casing_vacuum_engine_intake') + + event.recipes.gtceu.assembler('tfg:casings/machine_casing_vacuum_engine_intake') + .itemInputs( + '2x #forge:rotors/ultimet', + '4x gtceu:ultimet_normal_item_pipe', + '1x gtceu:inert_machine_casing') + .itemOutputs('tfg:casings/machine_casing_vacuum_engine_intake') + .duration(50) + .EUt(GTValues.VH[GTValues.LV]) + .circuit(2) + + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.components.js b/kubejs/server_scripts/tfg/machines/recipes.components.js new file mode 100644 index 000000000..5f9746144 --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.components.js @@ -0,0 +1,254 @@ +"use strict"; + +function registerTFGElectronicComponentsRecipes(event) { + + // Electron tubes + event.shaped('1x create:electron_tube', [ + 'FAG', + 'BCB', + 'DED' + ], { + A: 'gtceu:glass_tube', + B: '#forge:bolts/steel', + C: 'gtceu:wood_plate', + D: 'gtceu:red_alloy_single_wire', + E: '#forge:plates/wrought_iron', + F: '#forge:tools/screwdrivers', + G: '#forge:tools/wire_cutters' + }).id('tfg:create/shaped/electron_tube') + + event.recipes.createSequencedAssembly([ + '2x create:electron_tube', + ], 'gtceu:wood_plate', [ + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', '#forge:plates/wrought_iron']), + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']), + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:red_alloy_single_wire']), + event.recipes.createDeploying('tfg:unfinished_electron_tube', ['tfg:unfinished_electron_tube', 'gtceu:glass_tube']), + ]).transitionalItem('tfg:unfinished_electron_tube').loops(1).id('tfg:create/sequenced_assembly/electron_tube') + + event.recipes.gtceu.assembler('create:electron_tube') + .itemInputs('#forge:plates/wrought_iron', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire') + .itemOutputs('2x create:electron_tube') + .duration(50) + .EUt(7) + .circuit(14) + + event.shaped('4x create:electron_tube', [ + 'FAG', + 'DCD' + ], { + A: 'gtceu:glass_tube', + C: 'gtceu:plastic_circuit_board', + D: 'gtceu:red_alloy_single_wire', + F: '#forge:tools/screwdrivers', + G: '#forge:tools/wire_cutters' + }).id('tfg:create/shaped/electron_tube2') + + event.recipes.gtceu.assembler('create:electron_tube2') + .itemInputs('gtceu:plastic_circuit_board', 'gtceu:glass_tube', '2x gtceu:red_alloy_single_wire') + .itemOutputs('4x create:electron_tube') + .duration(50) + .EUt(7) + + event.shaped('4x create:electron_tube', [ + ' A ', + ' B ', + ' C ' + ], { + A: '#forge:tools/screwdrivers', + B: 'gtceu:nand_chip', + C: 'gtceu:plastic_circuit_board' + }).id('tfg:create/shaped/electron_tube3') + + event.recipes.gtceu.assembler('create:electron_tube3') + .itemInputs('gtceu:plastic_circuit_board', 'gtceu:nand_chip') + .itemOutputs('4x create:electron_tube') + .duration(50) + .EUt(7) + + // Vacuum Tubes + event.remove({ id: 'gtceu:shaped/vacuum_tube' }) + event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_plain' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') + event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') + event.replaceInput({ id: 'gtceu:assembler/vacuum_tube_red_alloy_annealed' }, 'gtceu:steel_bolt', 'gtceu:resin_circuit_board') + + event.recipes.createSequencedAssembly([ + 'gtceu:vacuum_tube', + ], 'gtceu:resin_circuit_board', [ + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), + event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), + event.custom({ type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'tfg:unfinished_vacuum_tube' }], results: [{ item: 'tfg:unfinished_vacuum_tube' }], processingTime: 80 }) + ]).transitionalItem('tfg:unfinished_vacuum_tube').loops(1).id('tfg:gtceu/sequenced_assembly/vacuum_tube') + + // ULV Coil + event.recipes.createSequencedAssembly([ + 'gtceu:ulv_voltage_coil', + ], 'gtceu:magnetic_iron_rod', [ + event.recipes.createDeploying('gtceu:magnetic_iron_rod', ['gtceu:magnetic_iron_rod', '#forge:fine_wires/lead']) + ]).transitionalItem('gtceu:magnetic_iron_rod').loops(32).id('tfg:sequenced_assembly/ulv_voltage_coil') + + // LV basic circuit + event.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) + + event.recipes.createSequencedAssembly([ + 'gtceu:basic_electronic_circuit', + ], 'gtceu:resin_printed_circuit_board', [ + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'create:electron_tube']), + event.recipes.createFilling('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', Fluid.of('gtceu:glue', 50)]), + event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']), + ]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(1).id('tfg:gtceu/sequenced_assembly/basic_electronic_circuit') + + // MV basic circuit + event.remove({ id: 'gtceu:shaped/electronic_circuit_mv' }) + + event.recipes.createSequencedAssembly([ + 'gtceu:good_electronic_circuit', + ], 'gtceu:phenolic_printed_circuit_board', [ + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:diode']), + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:diode']), + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:single_wires/copper']), + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:single_wires/copper']), + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']), + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']), + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', 'gtceu:basic_electronic_circuit']), + event.recipes.createDeploying('tfg:unfinished_good_electronic_circuit', ['tfg:unfinished_good_electronic_circuit', '#forge:plates/steel']), + ]).transitionalItem('tfg:unfinished_good_electronic_circuit').loops(1).id('tfg:gtceu/sequenced_assembly/good_electronic_circuit') + + // Vitrified Pearl + event.recipes.gtceu.shaped('gtceu:mv_field_generator', [ + 'ABA', + 'CDC', + 'ABA' + ], { + A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.MagnesiumDiboride, 1), + B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 1), + C: '#gtceu:circuits/mv', + D: 'tfg:vitrified_pearl' + }).addMaterialInfo().id('gtceu:shaped/field_generator_mv') + + event.recipes.gtceu.assembler('field_generator_mv') + .itemInputs('tfg:vitrified_pearl', '2x #forge:plates/aluminium', '2x #gtceu:circuits/mv', '4x #forge:quadruple_wires/magnesium_diboride') + .itemOutputs('gtceu:mv_field_generator') + .duration(100) + .EUt(30) + + // Cryo Fluix Pearl + event.replaceInput({ id: 'gtceu:assembler/field_generator_hv' }, 'gtceu:quantum_eye', 'tfg:cryo_fluix_pearl') + + event.recipes.gtceu.shaped('gtceu:hv_field_generator', [ + 'ABA', + 'CDC', + 'ABA' + ], { + A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.MercuryBariumCalciumCuprate, 1), + B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.StainlessSteel, 1), + C: '#gtceu:circuits/hv', + D: 'tfg:cryo_fluix_pearl' + }).addMaterialInfo().id('gtceu:shaped/field_generator_hv') + + // Change recipes to want EV circuit instead of IV + event.replaceInput({ id: 'gtceu:shaped/large_combustion_engine' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev') + event.replaceInput({ id: 'gtceu:shaped/nano_chestplate_advanced' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev') + event.replaceInput({ id: 'gtceu:assembler/ev_large_miner' }, '#gtceu:circuits/iv', '#gtceu:circuits/ev') + + // Nano wafer + event.remove({ id: 'gtceu:chemical_reactor/nano_cpu_wafer' }) + event.remove({ id: 'gtceu:large_chemical_reactor/nano_cpu_wafer' }) + + event.recipes.gtceu.chemical_reactor('tfg:nano_cpu_wafer') + .inputFluids(Fluid.of('gtceu:tritiated_water', 576)) + .itemInputs('gtceu:cpu_wafer', '16x gtceu:carbon_fibers') + .itemOutputs('gtceu:nano_cpu_wafer') + .duration(20*60) + .EUt(GTValues.VA[GTValues.EV]) + .cleanroom(CleanroomType.CLEANROOM) + + // Change components of IV mainframe to nano chip + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd_soldering_alloy'}) + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv'}) + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_soldering_alloy'}) + event.remove({ id: 'gtceu:circuit_assembler/mainframe_iv_asmd'}) + + event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of('gtceu:tin', 576)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 40) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_soldering_alloy') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '8x #gtceu:inductors', '16x #gtceu:capacitors', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 40) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of('gtceu:tin', 576)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + event.recipes.gtceu.circuit_assembler('tfg:circuit_assembler/mainframe_iv_asmd_soldering_alloy') + .itemInputs('2x gtceu:aluminium_frame', '2x gtceu:micro_processor_computer', '2x gtceu:advanced_smd_inductor', '4x gtceu:advanced_smd_capacitor', 'gtceu:nano_cpu_chip', '16x gtceu:annealed_copper_single_wire') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + .itemOutputs('gtceu:micro_processor_mainframe') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.HV]) + .cleanroom(CleanroomType.CLEANROOM) + + // Quantum Eye + event.replaceInput({ id: 'gtceu:assembler/field_generator_ev' }, 'minecraft:nether_star', 'gtceu:quantum_eye') + + event.recipes.gtceu.shaped('gtceu:ev_field_generator', [ + 'ABA', + 'CDC', + 'ABA' + ], { + A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.UraniumTriplatinum, 1), + B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 1), + C: '#gtceu:circuits/ev', + D: 'gtceu:quantum_eye' + }).addMaterialInfo().id('gtceu:shaped/field_generator_ev') + + event.remove({ id: 'gtceu:chemical_bath/quantum_eye' }) + event.recipes.gtceu.chemical_bath('tfg:quantum_eye') + .itemInputs('tfg:cryo_fluix_pearl') + .inputFluids(Fluid.of('gtceu:radon', 250)) + .itemOutputs('gtceu:quantum_eye') + .duration(20 * 24) + .EUt(GTValues.VA[GTValues.HV]) + + // Nether Star + event.replaceInput({ id: 'gtceu:assembler/field_generator_iv' }, 'gtceu:quantum_star', 'minecraft:nether_star') + + event.recipes.gtceu.shaped('gtceu:iv_field_generator', [ + 'ABA', + 'CDC', + 'ABA' + ], { + A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.SamariumIronArsenicOxide, 1), + B: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.TungstenSteel, 1), + C: '#gtceu:circuits/iv', + D: 'minecraft:nether_star' + }).addMaterialInfo().id('gtceu:shaped/field_generator_iv') + + event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust') + .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') + .circuit(10) + .itemOutputs('gtceu:nether_star_dust') + // TODO: change to something else with venus + .inputFluids(Fluid.of('gtceu:neon', 1000)) + .duration(700) + .EUt(2720) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js b/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js new file mode 100644 index 000000000..84162e695 --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.ender_pearls.js @@ -0,0 +1,61 @@ +"use strict"; + +function registerTFGEnderPearlRecipes(event) { + event.recipes.gtceu.chemical_reactor('kaolinite') + .itemInputs('5x #tfg:aluminium_oxide', '2x #forge:dusts/silicon') + .inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000)) + .itemOutputs('17x tfc:powder/kaolinite') + .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000)) + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('kaolinite_ruby') + .itemInputs('6x #forge:dusts/ruby', '2x #forge:dusts/silicon') + .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)) + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.pyrolyse_oven('vitrified_ender_dust') + .itemInputs('minecraft:ender_pearl', '2x tfc:powder/kaolinite', '4x #forge:insulation_t1') + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .itemOutputs('tfg:vitrified_pearl') + .chancedOutput('gtceu:ash_dust', 2500, 0) + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_dynamite') + .itemInputs('4x #forge:dusts/vitrified_pearl', '2x gtceu:dynamite') + .itemOutputs('3x tfg:vitrified_pearl') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_powderbarrel') + .itemInputs('4x #forge:dusts/vitrified_pearl', '8x gtceu:powderbarrel') + .itemOutputs('3x tfg:vitrified_pearl') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_tnt') + .itemInputs('4x #forge:dusts/vitrified_pearl', '4x minecraft:tnt') + .itemOutputs('3x tfg:vitrified_pearl') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_itnt') + .itemInputs('4x #forge:dusts/vitrified_pearl', 'gtceu:industrial_tnt') + .itemOutputs('3x tfg:vitrified_pearl') + .chancedOutput('#forge:dusts/dark_ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.macerator('vitrified_ender_pearl') + .itemInputs('tfg:vitrified_pearl') + .itemOutputs('#forge:dusts/vitrified_pearl') + .duration(40) + .EUt(GTValues.VA[GTValues.ULV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.molds.js b/kubejs/server_scripts/tfg/machines/recipes.molds.js similarity index 100% rename from kubejs/server_scripts/tfg/recipes.molds.js rename to kubejs/server_scripts/tfg/machines/recipes.molds.js diff --git a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js new file mode 100644 index 000000000..1b54c719c --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -0,0 +1,177 @@ +"use strict"; + +function registerTFGMultiblockRecipes(event) { + + // Multi-Smelter + event.shaped('gtceu:multi_smelter', [ + 'AAA', + 'BCB', + 'DBD' + ], { + A: 'gtceu:hp_steam_furnace', + B: '#gtceu:circuits/hv', + C: 'gtceu:heatproof_machine_casing', + D: 'gtceu:copper_single_cable' + }).id('gtceu:shaped/multi_furnace') + + event.shaped('gtceu:multi_smelter', [ + 'AAA', + 'BCB', + 'DBD' + ], { + A: 'gtceu:lv_electric_furnace', + B: '#gtceu:circuits/hv', + C: 'gtceu:heatproof_machine_casing', + D: 'gtceu:copper_single_cable' + }).id('gtceu:shaped/multi_furnace2') + + // Electric Blast Furnace + event.shaped('gtceu:electric_blast_furnace', [ + 'AAA', + 'BCB', + 'DBD' + ], { + A: 'gtceu:hp_steam_furnace', + B: '#gtceu:circuits/lv', + C: 'gtceu:heatproof_machine_casing', + D: 'gtceu:tin_single_cable' + }).id('gtceu:shaped/electric_blast_furnace') + + event.shaped('gtceu:electric_blast_furnace', [ + 'AAA', + 'BCB', + 'DBD' + ], { + A: 'gtceu:lv_electric_furnace', + B: '#gtceu:circuits/lv', + C: 'gtceu:heatproof_machine_casing', + D: 'gtceu:tin_single_cable' + }).id('gtceu:shaped/electric_blast_furnace2') + + // TFG customs + event.shaped('tfg:electric_greenhouse', [ + 'ABA', + 'CDC', + 'BCB' + ], { + A: '#gtceu:circuits/mv', + B: '#forge:single_cables/copper', + C: 'tfc:compost', + D: 'gtceu:steel_machine_casing' + }).id('tfg:shaped/electric_greenhouse') + + event.shaped('gtceu:steam_bloomery', [ + 'CEC', + 'DAD', + 'CBC' + ], { + A: 'tfc:bloomery', + B: '#forge:frames/bronze', + C: '#forge:rods/black_steel', + D: '#forge:screws/wrought_iron', + E: '#forge:tools/wrenches' + }) + + event.shaped('tfg:ostrum_linear_accelerator', [ + 'USU', + 'WZW', + 'PTP' + ], { + S: 'tfg:casings/machine_casing_vacuum_engine_intake', + Z: 'gtceu:iv_machine_hull', + W: '#gtceu:circuits/iv', + U: '#forge:double_plates/stellite_100', + T: '#forge:single_cables/platinum', + P: 'gtceu:iv_electric_pump' + } + ).id('tfg:shaped/ostrum_linear_accelerator') + + event.recipes.gtceu.assembler('tfg:ostrum_harvester') + .itemInputs( + '1x gtceu:ev_machine_hull', + '4x #gtceu:circuits/ev', + '4x gtceu:ev_electric_motor', + '4x #forge:rotors/black_steel', + '4x gtceu:ev_electric_pump', + '4x #forge:gears/desh') + .itemOutputs('gtceu:ostrum_harvester') + .duration(400) + .EUt(GTValues.VA[GTValues.EV]) + .circuit(2) + + event.recipes.gtceu.assembler('tfg:moon_dust_harvester') + .itemInputs( + '1x gtceu:hv_machine_hull', + '4x #gtceu:circuits/hv', + '4x gtceu:hv_electric_motor', + '4x #forge:rotors/titanium', + '4x gtceu:hv_electric_pump', + '4x #forge:gears/rocket_alloy_t1') + .itemOutputs('gtceu:moon_dust_harvester') + .duration(400) + .EUt(GTValues.VA[GTValues.HV]) + .circuit(2) + + event.recipes.gtceu.shaped('tfg:evaporation_tower', [ + 'TUT', + 'WZW', + 'TUT' + ], { + T: '#gtceu:circuits/iv', + W: 'gtceu:ev_electric_pump', + U: '#forge:double_wires/nichrome', + Z: 'gtceu:ev_machine_hull' + }).addMaterialInfo().id('tfg:shaped/evaporation_tower') + + event.shaped('deafission:fission_reactor_mk1', [ + 'TUT', + 'WZW', + 'TUT' + ], { + T: 'gtceu:atomic_casing', + W: '#gtceu:circuits/ev', + U: 'gtceu:hv_field_generator', + Z: 'gtceu:ev_machine_hull' + } + ).id('tfg:shaped/fission_reactor_mk1') + + event.shaped('gtceu:nuclear_fuel_factory', [ + 'TUT', + 'WZW', + 'TBT' + ], { + T: 'gtceu:atomic_casing', + W: '#gtceu:circuits/ev', + U: 'gtceu:ev_emitter', + Z: 'gtceu:ev_machine_hull', + B: 'gtceu:ev_robot_arm' + } + ).id('tfg:shaped/nuclear_fuel_factory') + + event.shaped('gtceu:heat_exchanger', [ + 'TUT', + 'WZW', + 'GBG' + ], { + T: 'gtceu:high_temperature_smelting_casing', + W: '#gtceu:circuits/ev', + U: 'gtceu:ev_sensor', + Z: 'gtceu:ev_machine_hull', + B: 'gtceu:ev_fluid_regulator', + G: '#forge:gears/ostrum_iodide' + } + ).id('tfg:shaped/heat_exchanger') + + event.shaped('tfg:nuclear_turbine', [ + 'CTC', + 'TZT', + 'BTB' + ], { + T: '#forge:gears/magnalium', + Z: 'gtceu:ev_machine_hull', + B: 'gtceu:ultimet_large_item_pipe', + C: '#gtceu:circuits/ev' + } + ).id('tfg:shaped/nuclear_turbine') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js new file mode 100644 index 000000000..c9df6f6f2 --- /dev/null +++ b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js @@ -0,0 +1,38 @@ +"use strict"; + +function registerTFGSteamBloomeryRecipes(event) { + + event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal') + .itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels') + .itemOutputs('tfc:raw_iron_bloom') + .duration(2400) + .EUt(2) + + event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coalcoke') + .itemInputs('2x #forge:ingots/iron', '#tfc:blast_furnace_fuel') + .itemOutputs('2x tfc:raw_iron_bloom') + .duration(2400) + .EUt(2) + + forEachMaterial(material => { + + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + if (tfcProperty === null) + return; + + const outputMaterial = tfcProperty.getOutputMaterial() === null ? material : tfcProperty.getOutputMaterial() + if (outputMaterial === GTMaterials.Iron) { + event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels') + .itemOutputs('tfc:raw_iron_bloom') + .duration(2400) + .EUt(2) + + event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coalcoke_${material.getName()}`) + .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 2), '#tfc:blast_furnace_fuel') + .itemOutputs('2x tfc:raw_iron_bloom') + .duration(2400) + .EUt(2) + } + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/events.mars.js b/kubejs/server_scripts/tfg/mars/events.sandstorm.js similarity index 100% rename from kubejs/server_scripts/tfg/events.mars.js rename to kubejs/server_scripts/tfg/mars/events.sandstorm.js diff --git a/kubejs/server_scripts/tfg/mars/recipes.iodine.js b/kubejs/server_scripts/tfg/mars/recipes.iodine.js new file mode 100644 index 000000000..90a8fc031 --- /dev/null +++ b/kubejs/server_scripts/tfg/mars/recipes.iodine.js @@ -0,0 +1,74 @@ +"use strict"; + +function registerTFGMarsIodineRecipes(event) { + + // This file is specifically for the crappy mars-based iodine recipe chain. + // The "proper" venus one is elsewhere + + event.recipes.gtceu.autoclave('tfg:crimsene') + .inputFluids(Fluid.of('tfg:crimsene', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) + .outputFluids(Fluid.of('gtceu:carbon_monoxide', 1000)) + .itemOutputs('#forge:gems/crimsene') + .duration(20 * 30) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.autoclave('tfg:warpane') + .inputFluids(Fluid.of('tfg:warpane', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) + .outputFluids(Fluid.of('gtceu:hydrogen', 1000)) + .itemOutputs('#forge:gems/warpane') + .duration(20 * 30) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.macerator('tfg:crimsene') + .itemInputs('#forge:gems/crimsene') + .itemOutputs('#forge:dusts/crimsene') + .duration(20 * 5) + .EUt(2) + + event.recipes.gtceu.macerator('tfg:warpane') + .itemInputs('#forge:gems/warpane') + .itemOutputs('#forge:dusts/warpane') + .duration(20 * 5) + .EUt(2) + + event.recipes.gtceu.mixer('tfg:mars_sap') + .itemInputs('#forge:dusts/warpane', '#forge:dusts/crimsene') + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000), Fluid.of('gtceu:krypton', 500)) + .itemOutputs('#forge:dusts/mycelienzene') + .duration(30 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.deafission.fission_reactor_processing('tfg:mars_sap') + .itemInputs('#forge:dusts/mycelienzene') + .outputFluids(Fluid.of('tfg:cooked_mycelienzane', 1000)) + .blastFurnaceTemp(100) + .duration(30 * 10) + + event.recipes.gtceu.centrifuge('mars_sap_separation') + .inputFluids(Fluid.of('tfg:cooked_mycelienzane', 2000)) + .outputFluids( + Fluid.of('tfg:iodomethane', 1000), + Fluid.of('tfg:trideuteroiodomethane', 1000), + Fluid.of('gtceu:krypton', 1000), + Fluid.of('gtceu:diluted_hydrochloric_acid', 4000)) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:iodomethane_separation') + .inputFluids( + Fluid.of('tfg:iodomethane', 1000), + Fluid.of('gtceu:hydrogen', 1000)) + .itemOutputs('#forge:dusts/iodine') + .outputFluids(Fluid.of('gtceu:methane', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:trideuteroiodomethane_separation') + .inputFluids( + Fluid.of('tfg:trideuteroiodomethane', 1000), + Fluid.of('gtceu:oxygen', 1500)) + .itemOutputs('#forge:dusts/iodine', '#forge:dusts/carbon') + .outputFluids(Fluid.of('tfg:heavy_water', 1500)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.MV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js new file mode 100644 index 000000000..844bbab19 --- /dev/null +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -0,0 +1,231 @@ +"use strict"; + +function registerTFGMarsRecipes(event) { + + // Mars air + + event.recipes.gtceu.vacuum_freezer('tfg:liquid_mars_air') + .inputFluids(Fluid.of('tfg:mars_air', 4000)) + .outputFluids(Fluid.of('tfg:liquid_mars_air', 4000)) + .duration(80) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_mars_air') + .inputFluids(Fluid.of('tfg:mars_air', 10000)) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 3900), Fluid.of('gtceu:nitrogen', 1000), Fluid.of('gtceu:argon', 500)) + .duration(1600) + .EUt(GTValues.VA[GTValues.MV]) + + // TODO: move neon and xenon somewhere else + event.recipes.gtceu.distillation_tower('tfg:distill_liquid_mars_air') + .inputFluids(Fluid.of('tfg:liquid_mars_air', 100000)) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 80000)) + .outputFluids(Fluid.of('gtceu:nitrogen', 7000)) + .outputFluids(Fluid.of('gtceu:argon', 5000)) + .outputFluids(Fluid.of('gtceu:oxygen', 3000)) + .outputFluids(Fluid.of('gtceu:krypton', 1000)) + .outputFluids(Fluid.of('gtceu:neon', 1000)) + .outputFluids(Fluid.of('gtceu:xenon', 1000)) + .chancedOutput('gtceu:ammonium_chloride_dust', 2250, 0) + .disableDistilleryRecipes(true) + .duration(2000) + .EUt(GTValues.VA[GTValues.EV]) + + //#region Mars Water + + event.recipes.gtceu.centrifuge('mars_heavy_water') + .inputFluids(Fluid.of('tfg:heavy_ammoniacal_water', 1000)) + .outputFluids(Fluid.of('tfg:heavy_water', 500)) + .itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride') + .duration(20*9) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.centrifuge('mars_semiheavy_water') + .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) + .outputFluids(Fluid.of('tfg:semiheavy_water', 500)) + .itemOutputs('2x #forge:tiny_dusts/ammonium_chloride') + .duration(20*9) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillery('mars_semiheavy_water') + .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) + .outputFluids(Fluid.of('minecraft:water', 250)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.MV]) + + // Mars plants + + event.recipes.gtceu.mixer('tfg:bio_glowstone') + .itemInputs('betterend:cave_pumpkin_chunks', '4x species:alphacene_mushroom_block') + .outputFluids(Fluid.of('gtceu:biomass', 100)) + .itemOutputs('2x minecraft:glowstone_dust') + .duration(5 * 20) + .EUt(GTValues.VA[GTValues.EV]) + .dimension('ad_astra:mars') + + // Ad astra woods + + global.AD_ASTRA_WOOD.forEach(wood => { + woodBuilder(event, wood.name, wood.lumber, wood.logs, wood.log, wood.stripped_log, wood.plank, wood.stair, wood.slab, wood.door, wood.trapdoor, wood.fence, wood.fence_gate, wood.support, wood.pressure_plate, wood.button) + }) + + event.shaped('16x ad_astra:aeronos_ladder', [ + 'A A', + 'ABA', + 'A A' + ], { + A: 'tfg:wood/lumber/aeronos', + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + }).id('tfg:shaped/aeronos_ladder') + + event.shaped('16x ad_astra:strophar_ladder', [ + 'A A', + 'ABA', + 'A A' + ], { + A: 'tfg:wood/lumber/strophar', + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + }).id('tfg:shaped/strophar_ladder') + + + generateGreenHouseRecipe(event, '8x tfg:saplings/strophar', 'tfg:semiheavy_ammoniacal_water', 16000, + '64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:mars', 8, + '16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV]) + generateGreenHouseRecipe(event, '8x tfg:saplings/aeronos', 'tfg:semiheavy_ammoniacal_water', 16000, + '64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:mars', 8, + '16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV]) + generateGreenHouseRecipe(event, '8x tfg:saplings/glacian', 'tfg:semiheavy_ammoniacal_water', 16000, + '64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:mars', 8, + '8x species:alphacene_moss_block', GTValues.VA[GTValues.MV]) + + // Beneath woods + + generateGreenHouseRecipe(event, '8x tfg:saplings/warped', 'tfg:semiheavy_ammoniacal_water', 16000, + '64x beneath:wood/log/warped', 'tfg:green_house/warped_fungus', 'ad_astra:mars', 8, + '32x minecraft:warped_wart_block', GTValues.VA[GTValues.MV]) + generateGreenHouseRecipe(event, '8x tfg:saplings/crimson', 'tfg:semiheavy_ammoniacal_water', 16000, + '64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8, + '32x minecraft:nether_wart_block', GTValues.VA[GTValues.MV]) + + // don't pass in the items like doors, trapdoors etc because beneath already has good recipes for those + woodBuilder(event, 'crimson', 'beneath:wood/lumber/crimson', '#tfc:crimson_logs', 'beneath:wood/log/crimson', + 'beneath:wood/stripped_log/crimson', 'beneath:wood/planks/crimson', null, + 'beneath:wood/planks/crimson_slab', null, null, null, null, null, 'beneath:wood/planks/crimson_pressure_plate', + 'beneath:wood/planks/crimson_button') + + event.recipes.gtceu.lathe(`tfg:cutter/crimson_stripped_wood_from_wood`) + .itemInputs('beneath:wood/wood/crimson') + .itemOutputs('beneath:wood/stripped_wood/crimson') + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + event.custom({ + type: 'vintageimprovements:polishing', + ingredients: [{ item: 'beneath:wood/wood/crimson' }], + results: [{ item: 'beneath:wood/stripped_wood/crimson' }], + speed_limits: 0, + processingTime: 50 + }).id(`tfg:vi/lathe/stripping_crimson_wood`) + + woodBuilder(event, 'warped', 'beneath:wood/lumber/warped', '#tfc:warped_logs', 'beneath:wood/log/warped', + 'beneath:wood/stripped_log/warped', 'beneath:wood/planks/warped', null, + 'beneath:wood/planks/warped_slab', null, null, null, null, null, 'beneath:wood/planks/warped_pressure_plate', + 'beneath:wood/planks/warped_button') + + event.recipes.gtceu.lathe(`tfg:cutter/warped_stripped_wood_from_wood`) + .itemInputs('beneath:wood/wood/warped') + .itemOutputs('beneath:wood/stripped_wood/warped') + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + event.custom({ + type: 'vintageimprovements:polishing', + ingredients: [{ item: 'beneath:wood/wood/warped' }], + results: [{ item: 'beneath:wood/stripped_wood/warped' }], + speed_limits: 0, + processingTime: 50 + }).id(`tfg:vi/lathe/stripping_warped_wood`) + + // Alphacene + + generateGreenHouseRecipe(event, '8x tfg:saplings/alphacene', 'tfg:semiheavy_ammoniacal_water', 16000, + '64x species:alphacene_mushroom_block', 'tfg:green_house/alphacene_mushroom', 'ad_astra:mars', 8, + '8x minecraft:mushroom_stem', GTValues.VA[GTValues.MV]) + + //Large Nest + event.shaped('tfg:large_nest_box', + [ + 'B B', + 'ABA', + 'AAA' + ], { + A: 'beneath:crimson_thatch', + B: 'beneath:crimson_straw' + }).id('tfg:shaped_large_nest_crimson') + + event.shaped('tfg:large_nest_box_warped', + [ + 'B B', + 'ABA', + 'AAA' + ], { + A: 'beneath:warped_thatch', + B: 'beneath:warped_straw' + }).id('tfg:shaped_large_nest_warped') + + // Animal stuff + + event.shapeless('species:cracked_wraptor_egg', ['tfg:wraptor_egg', '#forge:tools/hammers']).id('tfg:shapeless/crack_egg') + event.shapeless('2x tfg:wraptor_sugar', ['species:cracked_wraptor_egg']).id('tfg:shapeless/juice_egg') + + event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_mv') + .itemInputs('species:cracked_wraptor_egg') + .itemOutputs('4x tfg:wraptor_sugar') + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.extractor('tfg:juice_wraptor_egg_full') + .itemInputs('tfg:wraptor_egg') + .itemOutputs('4x tfg:wraptor_sugar') + .duration(200) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.extractor('tfg:juice_sniffer_egg') + .itemInputs('tfg:sniffer_egg') + .outputFluids(Fluid.of('firmalife:cream', 1000)) + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.tfc.loom( + '8x ad_astra:glacian_fur', + '8x tfg:glacian_wool', + 8, + 'ad_astra:block/glacian_fur' + ) + + event.recipes.gtceu.assembler('tfg:assembler/glacian_fur') + .itemInputs('tfg:glacian_wool') + .circuit(10) + .itemOutputs('ad_astra:glacian_fur') + .duration(100) + .EUt(4) + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('8x tfc:wool_yarn', [ + 'tfc:spindle', + 'tfg:glacian_wool' + ]).id('tfg:shapeless/glacian_wool_to_yarn')) + + event.recipes.gtceu.wiremill('tfg:glacian_wool_yarn') + .itemInputs('tfg:glacian_wool') + .itemOutputs('8x tfc:wool_yarn') + .duration(100) + .EUt(4) + + event.shaped('minecraft:pink_bed', [ + 'AAA', + 'BBB' + ], { + A: 'ad_astra:glacian_fur', + B: '#tfc:lumber' + }).id('tfg:shaped/glacian_bed') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/recipes.ostrum.js b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js new file mode 100644 index 000000000..7aa0cdffd --- /dev/null +++ b/kubejs/server_scripts/tfg/mars/recipes.ostrum.js @@ -0,0 +1,140 @@ +"use strict"; + +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 $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') + + // Ostrum Harvester + + event.recipes.gtceu.ostrum_harvester(`tfg:ostrum_harvesting`) + .perTick(true) + .inputFluids('gtceu:drilling_fluid 4') + .perTick(false) + .dimension('ad_astra:mars') + .itemOutputsRanged('gtceu:ostrum_dust', 1, 5) + .duration(20 * 30) + .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') + .chancedFluidOutputLogic($ChanceLogic.XOR) + .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) + .chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0) + .chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.EV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum') + .inputFluids('gtceu:lightweight_ostrum_vapor 1000') + .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('tfg:heavy_water', 1000)) + .itemOutputsRanged('#forge:dusty_raw_materials/pitchblende', 1, 10) + .itemOutputsRanged('#forge:dusty_raw_materials/silver', 1, 10) + .itemOutputsRanged('#forge:dusty_raw_materials/tricalcium_phosphate', 1, 10) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum') + .inputFluids('gtceu:ostrum_vapor 1000') + .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('gtceu:radon', 100)) + .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/beryllium'), 1, 10) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_ostrum') + .inputFluids('gtceu:dense_ostrum_vapor 1000') + .inputFluids('gtceu:residual_radioactive_concoction 100') + .inputFluids(Fluid.of('gtceu:tritiated_water', 500)) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/uraninite'), 1, 10) + .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/hematite'), 1, 10) + .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') + .itemInputs('32x #forge:dusts/ostrum') + .chancedFluidOutputLogic($ChanceLogic.XOR) + .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) + .chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0) + .chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0) + .dimension('ad_astra:mars') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.EV]); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t1') + .perTick(true) + .inputFluids('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)) + .dimension('ad_astra:mars') + .duration(20 * 20) + .circuit(1); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t2') + .perTick(true) + .inputFluids('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('gtceu:dusty_raw_pitchblende'), 1, 10) + //.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .dimension('ad_astra:mars') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.IV]) + .circuit(2); + + event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t3') + .perTick(true) + .inputFluids('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)) + .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('gtceu:dusty_raw_pitchblende'), 10, 20) + .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) + .dimension('ad_astra:mars') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.IV]) + .circuit(3); + */ + //#endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/recipes.moon.js b/kubejs/server_scripts/tfg/moon/recipes.moon.js new file mode 100644 index 000000000..2a6ca6a5c --- /dev/null +++ b/kubejs/server_scripts/tfg/moon/recipes.moon.js @@ -0,0 +1,27 @@ +"use strict"; + +function registerTFGMoonRecipes(event) { + + // Cryo Fluix + event.recipes.gtceu.vacuum_freezer('gtceu:cryo_fluix') + .inputFluids(Fluid.of('gtceu:helium_3', 1000)) + .inputFluids(Fluid.of('tfg:fluix', 144)) + .outputFluids(Fluid.of('tfg:cryogenized_fluix', 576)) + .duration(30 * 20) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.fluid_heater('tfg:cryo_fluix') + .inputFluids(Fluid.of('tfg:cryogenized_fluix', 576)) + .outputFluids(Fluid.of('tfg:fluix', 144)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.autoclave('tfg:cryo_fluix_pearl') + .inputFluids(Fluid.of('tfg:cryogenized_fluix', 576)) + .itemInputs('tfg:vitrified_pearl') + .itemOutputs('tfg:cryo_fluix_pearl') + .duration(300) + .EUt(GTValues.VA[GTValues.EV]) + .cleanroom(CleanroomType.CLEANROOM) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/recipes.plants.js b/kubejs/server_scripts/tfg/moon/recipes.plants.js new file mode 100644 index 000000000..daaf47235 --- /dev/null +++ b/kubejs/server_scripts/tfg/moon/recipes.plants.js @@ -0,0 +1,90 @@ +"use strict"; + +function registerTFGMoonPlantRecipes(event) { + + // Plants - Can't use the default builder here because fertiliser is much harder to get on the moon, + // and we're using helium-3 as the fertiliser + + // Chorus + event.recipes.gtceu.greenhouse('tfg:chorus') + .notConsumable('8x tfg:lunar_chorus_flower') + .itemOutputs('64x minecraft:chorus_fruit') + .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) + .chancedOutput('8x tfg:lunar_chorus_flower', 500, 0) + .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) + .duration(36000) // 30 mins + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.greenhouse('tfg:chorus_helium') + .notConsumable('8x tfg:lunar_chorus_flower') + .inputFluids(Fluid.of('gtceu:helium_3', 2000)) + .itemOutputs('64x minecraft:chorus_fruit') + .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) + .chancedOutput('8x tfg:lunar_chorus_flower', 3000, 0) + .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) + .duration(12000) // 10 mins + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + // Replace the built-in greg one to add a circuit + event.recipes.gtceu.fermenter('fermented_biomass') + .inputFluids(Fluid.of('gtceu:biomass', 100)) + .outputFluids(Fluid.of('gtceu:fermented_biomass', 100)) + .circuit(1) + .duration(150) + .EUt(2) + + event.recipes.gtceu.fermenter('tfg:chorus') + .itemInputs('minecraft:chorus_fruit') + .inputFluids(Fluid.of('gtceu:biomass', 20)) + .chancedOutput('ae2:ender_dust', 100, 0) + .outputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .circuit(2) + .duration(5 * 20) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.fermenter('tfg:chorus_flower') + .itemInputs('tfg:lunar_chorus_flower') + .inputFluids(Fluid.of('gtceu:biomass', 20)) + .chancedOutput('ae2:ender_dust', 100, 0) + .outputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .circuit(2) + .duration(5 * 20) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + // Lightblooms + event.recipes.gtceu.greenhouse('tfg:lightbloom') + .notConsumable('8x minecraft:twisting_vines') + .itemOutputs('16x minecraft:twisting_vines') + .chancedOutput('minecraft:pearlescent_froglight', 2500, 0) + .chancedOutput('minecraft:verdant_froglight', 2500, 0) + .chancedOutput('minecraft:ochre_froglight', 2500, 0) + .duration(36000) // 30 mins + .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.greenhouse('tfg:lightbloom_helium') + .notConsumable('8x minecraft:twisting_vines') + .inputFluids(Fluid.of('gtceu:helium_3', 2000)) + .itemOutputs('16x minecraft:twisting_vines') + .chancedOutput('minecraft:pearlescent_froglight', 3500, 0) + .chancedOutput('minecraft:verdant_froglight', 3500, 0) + .chancedOutput('minecraft:ochre_froglight', 3500, 0) + .duration(12000) // 30 mins + .circuit(2) + .EUt(GTValues.VA[GTValues.LV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.brewery('biomass_from_twisting_vines') + .itemInputs('minecraft:twisting_vines') + .inputFluids("#tfg:clean_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(50) + .EUt(3) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/recipes.regolith.js b/kubejs/server_scripts/tfg/moon/recipes.regolith.js new file mode 100644 index 000000000..1d43f7489 --- /dev/null +++ b/kubejs/server_scripts/tfg/moon/recipes.regolith.js @@ -0,0 +1,144 @@ +"use strict"; + +function registerTFGMoonRegolithRecipes(event) { + + //#region Moon Harvester + + event.recipes.gtceu.moon_dust_harvester('tfg:lunar_assurine_harvester') + .biome('tfg:moon/lunar_asurine_dense') + .itemOutputsRanged('#forge:dusts/certus_regolith', 1, 5) + .duration(20 * 80) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(1) + + event.recipes.gtceu.moon_dust_harvester('tfg:lunar_chorus_dense') + .biome('tfg:moon/lunar_chorus_dense') + .itemOutputsRanged('#forge:dusts/goethe_regolith', 1, 5) + .duration(20 * 80) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(2) + + event.recipes.gtceu.moon_dust_harvester('tfg:lunar_corals_dense') + .biome('tfg:moon/lunar_corals_dense') + .itemOutputsRanged('#forge:dusts/bright_regolith', 1, 5) + .duration(20 * 80) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(3) + + event.recipes.gtceu.moon_dust_harvester('tfg:lunar_lights_dense') + .biome('tfg:moon/lunar_lights_dense') + .itemOutputsRanged('#forge:dusts/cassiterite_regolith', 1, 5) + .duration(20 * 80) + .EUt(GTValues.VA[GTValues.LV]) + .circuit(4) + + //#endregion + + //#region Regolith Vapor Processing + + event.recipes.gtceu.mixer('tfg:regolith_slurry_suspension') + .itemInputs('ad_astra:moon_sand', 'tfg:dry_ice') + .itemOutputs('#forge:dusts/regolith_mush') + .dimension('ad_astra:moon') + .duration(20 * 60) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_bath('tfg:regolith_vapor') + .itemInputs('#forge:dusts/regolith_mush') + .inputFluids('gtceu:nitrogen 1000') + .itemOutputs('#forge:dusts/silicon_dioxide') + .outputFluids('gtceu:regolith_vapor 1000') + .dimension('ad_astra:moon') + .duration(20 * 28) + .EUt(GTValues.VHA[GTValues.LV]) + + //#endregion + + //#region Making Dusty Ores + + const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') + + event.recipes.gtceu.chemical_reactor('tfg:dusty_certus_reactor') + .itemInputs('#forge:dusts/certus_regolith') + .inputFluids('gtceu:regolith_vapor 100') + .itemOutputs('gtceu:dusty_raw_certus_quartz') + .dimension('ad_astra:moon') + .duration(20 * 68) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor('tfg:dusty_goethite_reactor') + .itemInputs('#forge:dusts/goethe_regolith') + .inputFluids('gtceu:regolith_vapor 100') + .itemOutputs('gtceu:dusty_raw_goethite') + .dimension('ad_astra:moon') + .duration(20 * 68) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor('tfg:dusty_shiny_reactor') + .itemInputs('#forge:dusts/bright_regolith') + .inputFluids('gtceu:regolith_vapor 100') + .chancedItemOutputLogic($ChanceLogic.XOR) + .chancedOutput('gtceu:dusty_raw_diamond', 2000, 0) + .chancedOutput('gtceu:dusty_raw_gold', 8000, 0) + .dimension('ad_astra:moon') + .duration(20 * 68) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor('tfg:dusty_cassiterite_reactor') + .itemInputs('#forge:dusts/cassiterite_regolith') + .inputFluids('gtceu:regolith_vapor 100') + .itemOutputs('gtceu:dusty_raw_cassiterite') + .dimension('ad_astra:moon') + .duration(20 * 68) + .EUt(GTValues.VHA[GTValues.ULV]) + + //#endregion + + //#region Basic dusty ore centrifuging + + // These have special recipes + const DUSTY_ORE_EXCEPTIONS = [ + GTMaterials.Goethite, + GTMaterials.Cassiterite, + GTMaterials.Bauxite + ] + + // Otherwise everything else just centrifuges into its dust version + forEachMaterial(material => { + if (DUSTY_ORE_EXCEPTIONS.indexOf(material) >= 0) + return; + + const dustyOre = ChemicalHelper.get(TFGTagPrefix.dustyRawOre, material, 1) + const dust = ChemicalHelper.get(TagPrefix.dust, material, 1) + + if (dustyOre !== null && dust !== null) { + event.recipes.gtceu.centrifuge(`tfg:dusty_to_dust_${material.getName()}`) + .itemInputs(dustyOre) + .itemOutputs(dust) + .duration(20 * 45) + .EUt(GTValues.VA[GTValues.MV]) + } + }) + + event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_goethite') + .itemInputs('#forge:dusty_raw_materials/goethite') + .chancedItemOutputLogic($ChanceLogic.XOR) + .chancedOutput('#forge:dusts/iron', 5000, 0) + .chancedOutput('#forge:dusts/copper', 5000, 0) + .duration(20 * 45) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_bauxite') + .itemInputs('#forge:dusty_raw_materials/bauxite') + .itemOutputs('#forge:dusts/aluminium') + .duration(20 * 45) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_tin') + .itemInputs('#forge:dusty_raw_materials/cassiterite') + .itemOutputs('#forge:dusts/tin') + .duration(20 * 45) + .EUt(GTValues.VA[GTValues.MV]) + // #endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.alabaster.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.alabaster.js similarity index 98% rename from kubejs/server_scripts/tfc/recipes.alabaster.js rename to kubejs/server_scripts/tfg/natural_blocks/recipes.alabaster.js index 3fe1055cb..9c65df063 100644 --- a/kubejs/server_scripts/tfc/recipes.alabaster.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.alabaster.js @@ -1,7 +1,7 @@ // priority: 0 "use strict"; -function registerTFCAlabasterRecipes(event) { +function registerTFGAlabasterRecipes(event) { event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels'])) .id('tfc:crafting/alabaster_brick/raw_gypsum') diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js similarity index 97% rename from kubejs/server_scripts/tfg/recipes.collapse.js rename to kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js index a61d69a52..2c39a3f07 100644 --- a/kubejs/server_scripts/tfg/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js @@ -122,6 +122,10 @@ function registerTFGCollapseRecipes(event) { // #endregion // #region Other + event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') + event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') + event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') + event.recipes.tfc.collapse('minecraft:cobblestone', 'minecraft:stone') event.recipes.tfc.landslide('minecraft:cobblestone', 'minecraft:cobblestone') event.recipes.tfc.landslide('minecraft:mossy_cobblestone', 'minecraft:mossy_cobblestone') diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js new file mode 100644 index 000000000..b305c5209 --- /dev/null +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.concrete.js @@ -0,0 +1,144 @@ +"use strict"; + +function registerTFGConcreteRecipes(event) { + + const recipe = event.recipes.gtceu.mixer('concrete_from_marble') + .itemInputs(Ingredient.of('#tfg:stone_dusts').subtract('gtceu:marble_dust').withCount(2), 'gtceu:marble_dust', 'gtceu:gypsum_dust') + .inputFluids("#tfg:clean_water 1000") + .outputFluids('gtceu:concrete 1152') + .duration(40) + .EUt(16) + + generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], + "#tfg:clean_water 500", [], null, 'gtceu:concrete 576', 20, 16, 64, 'concrete_from_clay') + + generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'], + "#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'concrete_from_calcite') + + //GT light/dark concrete recipe fix + + event.remove({ id: 'gtceu:fluid_solidifier/solidify_concrete_block' }) + event.remove({ id: 'gtceu:chemical_bath/light_to_dark_concrete' }) + + event.recipes.gtceu.fluid_solidifier('gtceu:fluid_solidifier/solidify_light_concrete') + .inputFluids(Fluid.of('gtceu:concrete', 144)) + .notConsumable('1x gtceu:block_casting_mold') + .itemOutputs('1x gtceu:light_concrete') + .duration(98) + .EUt(7) + + event.recipes.gtceu.chemical_bath('gtceu:chemical_bath/dark_concrete') + .inputFluids(Fluid.of('tfc:black_dye', 18)) + .itemInputs('1x gtceu:light_concrete') + .itemOutputs('1x gtceu:dark_concrete') + .duration(20) + .EUt(7) + + event.recipes.gtceu.extractor('gtceu:extractor/extract_light_concrete') + .itemInputs('1x gtceu:light_concrete') + .outputFluids(Fluid.of('gtceu:concrete', 144)) + .duration(98) + .EUt(30) + + event.stonecutting('gtceu:light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_bricks') + event.stonecutting('gtceu:chiseled_light_concrete', 'gtceu:light_concrete').id('tfg:stonecutting/chiseled_light_concrete') + event.stonecutting('gtceu:light_concrete_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_tile') + event.stonecutting('gtceu:light_concrete_small_tile', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_small_tile') + event.stonecutting('gtceu:light_concrete_windmill_a', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_a') + event.stonecutting('gtceu:light_concrete_windmill_b', 'gtceu:light_concrete').id('tfg:stonecutting/light_concrete_windmill_b') + event.stonecutting('gtceu:small_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/small_light_concrete_bricks') + event.stonecutting('gtceu:square_light_concrete_bricks', 'gtceu:light_concrete').id('tfg:stonecutting/square_light_concrete_bricks') + + event.stonecutting('gtceu:dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_bricks') + event.stonecutting('gtceu:chiseled_dark_concrete', 'gtceu:dark_concrete').id('tfg:stonecutting/chiseled_dark_concrete') + event.stonecutting('gtceu:dark_concrete_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_tile') + event.stonecutting('gtceu:dark_concrete_small_tile', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_small_tile') + event.stonecutting('gtceu:dark_concrete_windmill_a', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_a') + event.stonecutting('gtceu:dark_concrete_windmill_b', 'gtceu:dark_concrete').id('tfg:stonecutting/dark_concrete_windmill_b') + event.stonecutting('gtceu:small_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/small_dark_concrete_bricks') + event.stonecutting('gtceu:square_dark_concrete_bricks', 'gtceu:dark_concrete').id('tfg:stonecutting/square_dark_concrete_bricks') + + // Handcrafted artisanal concrete + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/marble', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000)) + .outputFluid(Fluid.of('gtceu:concrete', 1000)) + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/clay'], Fluid.of('minecraft:water', 500)) + .outputFluid(Fluid.of('gtceu:concrete', 500)) + + event.recipes.firmalife.mixing_bowl() + .ingredients(['#tfg:stone_dusts', '#tfg:stone_dusts', '#tfg:stone_dusts', '#forge:dusts/calcite', '#forge:dusts/gypsum'], Fluid.of('minecraft:water', 1000)) + .outputFluid(Fluid.of('gtceu:concrete', 1000)) + + event.recipes.tfc.barrel_sealed(1000) + .inputFluid(Fluid.of('gtceu:concrete', 144)) + .inputItem('gtceu:wood_frame') + .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') + .itemInputs('2x #forge:rods/titanium', '#forge:dusts/kaolinite') + .inputFluids(Fluid.of('gtceu:concrete', 144 * 1.5)) + .itemOutputs('tfg:titanium_concrete') + .circuit(2) + .duration(20) + .EUt(GTValues.VH[GTValues.EV]) + + event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks') + .itemInputs('tfg:polished_titanium_concrete') + .notConsumable('#forge:lenses/light_blue') + .itemOutputs('tfg:titanium_concrete_bricks') + .duration(20 * (2.5)) + .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks_small') + .itemInputs('tfg:polished_titanium_concrete') + .notConsumable('#forge:lenses/pink') + .itemOutputs('tfg:titanium_concrete_bricks_small') + .duration(20 * (2.5)) + .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks_square') + .itemInputs('tfg:polished_titanium_concrete') + .notConsumable('#forge:lenses/green') + .itemOutputs('tfg:titanium_concrete_bricks_square') + .duration(20 * (2.5)) + .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_tile') + .itemInputs('tfg:polished_titanium_concrete') + .notConsumable('#forge:lenses/red') + .itemOutputs('tfg:titanium_concrete_tile') + .duration(20 * (2.5)) + .EUt(GTValues.VA[GTValues.LV]) + event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_tile_small') + .itemInputs('tfg:polished_titanium_concrete') + .notConsumable('#forge:lenses/black') + .itemOutputs('tfg:titanium_concrete_tile_small') + .duration(20 * (2.5)) + .EUt(GTValues.VA[GTValues.LV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.dirt.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.dirt.js similarity index 95% rename from kubejs/server_scripts/tfc/recipes.dirt.js rename to kubejs/server_scripts/tfg/natural_blocks/recipes.dirt.js index 89f2ba194..714706f91 100644 --- a/kubejs/server_scripts/tfc/recipes.dirt.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.dirt.js @@ -1,7 +1,14 @@ // priority: 0 "use strict"; -function registerTFCDirtRecipes(event) { +function registerTFGDirtRecipes(event) { + + // Dirt creation + event.recipes.gtceu.macerator('dirt_from_bio_chaff') + .itemInputs('gtceu:bio_chaff') + .itemOutputs('tfc:dirt/loam') + .duration(300) + .EUt(4) // Loam + Silt -> Silty Loam (Миксер) event.recipes.gtceu.mixer('silty_loam_dirt') diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js similarity index 98% rename from kubejs/server_scripts/tfg/recipes.rocks.js rename to kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 7851c6e91..fe606f170 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -1238,4 +1238,29 @@ function registerTFGRockRecipes(event) { }) //#endregion Magma Blocks + + //#region GT marble + event.stonecutting('gtceu:polished_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_polished_marble') + event.stonecutting('gtceu:chiseled_marble', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_chiseled_marble') + event.stonecutting('gtceu:marble_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_tile') + event.stonecutting('gtceu:marble_small_tile', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_small_tile') + event.stonecutting('gtceu:marble_windmill_a', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_a') + event.stonecutting('gtceu:marble_windmill_b', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_marble_windmill_b') + event.stonecutting('gtceu:small_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_small_marble_bricks') + event.stonecutting('gtceu:square_marble_bricks', 'tfc:rock/bricks/marble').id('tfg:stonecutting/gt_square_marble_bricks') + //#endregion + + // Blackstone Buttons + removeCutterRecipe(event, 'blackstone_button') + removeCutterRecipe(event, 'blackstone_button_water') + removeCutterRecipe(event, 'blackstone_button_distilled_water') + removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button') + removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button_water') + removeCutterRecipe(event, 'cut_polished_blackstone_brickslab_into_button_distilled_water') + + event.recipes.gtceu.cutter('tfg:blackstone_button') + .itemInputs('minecraft:polished_blackstone_pressure_plate') + .itemOutputs('6x minecraft:polished_blackstone_button') + .EUt(7) + .duration(100) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.sand.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js similarity index 93% rename from kubejs/server_scripts/tfc/recipes.sand.js rename to kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js index 2ef29e6a1..6b035dca2 100644 --- a/kubejs/server_scripts/tfc/recipes.sand.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.sand.js @@ -1,7 +1,7 @@ // priority: 0 "use strict"; -function registerTFCSandRecipes(event) { +function registerTFGSandRecipes(event) { // Нефтеносный -> Желтый песок event.recipes.gtceu.centrifuge('oilsands_ore_separation') @@ -210,4 +210,25 @@ function registerTFCSandRecipes(event) { event.recipes.greate.pressing('tfc:sand/pink', '#tfc:pink_gravel') .recipeTier(1) .id(`greate:pressing/pink_gravel_to_sand`) + + // Quartz sand + event.shaped('gtceu:quartz_sand_dust', [ + 'A', + 'B' + ], { + A: '#forge:sand', + B: '#forge:tools/mortars' + }).id('gtceu:shaped/quartz_sand') + + event.recipes.gtceu.macerator('quartz_sand_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('gtceu:quartz_sand_dust') + .duration(30) + .EUt(2) + + event.recipes.gtceu.electrolyzer('sand_electrolysis') + .itemInputs('8x #forge:sand') + .itemOutputs('gtceu:silicon_dioxide_dust') + .duration(500) + .EUt(25) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.stone_dusts.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js similarity index 95% rename from kubejs/server_scripts/tfg/recipes.stone_dusts.js rename to kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js index 2ce4ca2eb..f805affa3 100644 --- a/kubejs/server_scripts/tfg/recipes.stone_dusts.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js @@ -6,6 +6,24 @@ */ function registerTFGStoneDustRecipes(event) { + event.recipes.gtceu.electrolyzer('gtceu:decomposition_electrolyzing_clay') + .itemInputs('13x #forge:dusts/clay') + .itemOutputs('2x #forge:dusts/sodium', '1x #forge:dusts/lithium', '2x #forge:dusts/aluminium', '2x #forge:dusts/silicon') + .outputFluids(Fluid.of('minecraft:water', 6000)) + .duration(GTMaterials.Clay.getMass() * 13) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.centrifuge('gtceu:stone_dust_separation') + .itemInputs('gtceu:stone_dust') + .chancedOutput('#forge:small_dusts/quartzite', 2500, 0) + .chancedOutput('#forge:small_dusts/potassium_feldspar', 2500, 0) + .chancedOutput('#forge:small_dusts/marble', 2222, 0) + .chancedOutput('#forge:small_dusts/biotite', 1111, 0) + .chancedOutput('#forge:small_dusts/metal_mixture', 825, 80) + .chancedOutput('#forge:small_dusts/sodalite', 550, 55) + .duration(12 * 20) + .EUt(GTValues.VA[GTValues.HV]) + event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' }) event.recipes.gtceu.centrifuge('gtceu:decomposition_centrifuging__diorite') diff --git a/kubejs/server_scripts/tfc/recipes.stone.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js similarity index 100% rename from kubejs/server_scripts/tfc/recipes.stone.js rename to kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js diff --git a/kubejs/server_scripts/tfg/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js similarity index 100% rename from kubejs/server_scripts/tfg/tags.stones.js rename to kubejs/server_scripts/tfg/natural_blocks/tags.stones.js diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js b/kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js deleted file mode 100644 index 779b382ad..000000000 --- a/kubejs/server_scripts/tfg/nuclear/recipes.ostrum.js +++ /dev/null @@ -1,83 +0,0 @@ - // priority: 0 - -function registerTFGNOstrumRecipes(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 $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') - - // 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') - .itemInputs('32x #forge:dusts/ostrum') - .chancedFluidOutputLogic($ChanceLogic.XOR) - .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) - .chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0) - .chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.EV]); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t1') - .perTick(true) - .inputFluids('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)) - .dimension('ad_astra:mars') - .duration(20 * 20) - .circuit(1); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t2') - .perTick(true) - .inputFluids('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('gtceu:dusty_raw_pitchblende'), 1, 10) - //.input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) - .dimension('ad_astra:mars') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.IV]) - .circuit(2); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum_vapor_t3') - .perTick(true) - .inputFluids('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)) - .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('gtceu:dusty_raw_pitchblende'), 10, 20) - .input($HeatRecipeCapability.CAP, new $HeatIngredient(100, 500)) - .dimension('ad_astra:mars') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.IV]) - .circuit(3); -*/ - //#endregion - -} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js similarity index 99% rename from kubejs/server_scripts/gregtech/loot.js rename to kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js index 70f787b9c..0d8f49c3d 100644 --- a/kubejs/server_scripts/gregtech/loot.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -34,7 +34,7 @@ const STONE_TYPES_TO_COBBLE = { permafrost: 'gtceu:ice_dust' } -const registerGTCEULoots = (event) => { +const registerTFGOreLoots = (event) => { // Have to define these here because normal loot table jsons don't support checking for hammers diff --git a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js similarity index 63% rename from kubejs/server_scripts/gregtech/recipes.tfcmetals.js rename to kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js index dc88c4a57..6700415b1 100644 --- a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js @@ -1,10 +1,10 @@ -// priority: 0 +// priority: 0 "use strict"; /** * @param {Internal.RecipesEventJS} event */ -function registerGTCEuTFCMetalsRecipes(event) { +function registerTFGAlloyingRecipes(event) { // #region Colored steels @@ -93,7 +93,40 @@ function registerGTCEuTFCMetalsRecipes(event) { //#endregion - // red alloy, because crucible always makes 4+1=5 + // Rose Gold + Sterling Silver + const copper_types = [ + "#forge:ingots/copper", + "#forge:dusts/copper", + "#forge:ingots/annealed_copper", + "#forge:dusts/annealed_copper" + ]; + const gold_types = [ + "#forge:ingots/gold", + "#forge:dusts/gold" + ]; + const silver_types = [ + "#forge:ingots/silver", + "#forge:dusts/silver" + ]; + + copper_types.forEach(copper_types_array => { + gold_types.forEach(gold_types_array => { + event.recipes.gtceu.alloy_smelter(`rose_gold_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${gold_types_array.replace(/:/g, "/").replace(/#/g, "")}`) + .itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(gold_types_array).withCount(4)) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RoseGold, 5)) + .duration(20*10) + .EUt(GTValues.VA[GTValues.LV]) + }); + silver_types.forEach(silver_types_array => { + event.recipes.gtceu.alloy_smelter(`sterling_silver_from_${copper_types_array.replace(/:/g, "/").replace(/#/g, "")}_and_${silver_types_array.replace(/:/g, "/").replace(/#/g, "")}`) + .itemInputs(Ingredient.of(copper_types_array).withCount(1), Ingredient.of(silver_types_array).withCount(4)) + .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.SterlingSilver, 5)) + .duration(20*10) + .EUt(GTValues.VA[GTValues.LV]) + }); + }); + + // Red alloy, because crucible always makes 4+1=5 event.recipes.gtceu.alloy_blast_smelter('red_alloy') .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') @@ -140,4 +173,44 @@ function registerGTCEuTFCMetalsRecipes(event) { .itemOutputs('5x gtceu:red_alloy_ingot') .duration(50) .EUt(16) + + event.remove({ id: 'gtceu:mixer/sterling_silver' }) + generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust', + 1, [], 500, 7, 64, 'gtceu:mixer/sterling_silver') + + event.remove({ id: 'gtceu:mixer/rose_gold' }) + generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust', + 3, [], 500, 7, 64, 'gtceu:mixer/rose_gold') + + // Glowstone + event.recipes.gtceu.mixer('gtceu:lv_glowstone') + .itemInputs('gtceu:gold_dust', 'minecraft:redstone', 'gtceu:sulfur_dust') + .itemOutputs('2x minecraft:glowstone_dust') + .circuit(8) + .duration(1200) + .EUt(30) + + event.recipes.gtceu.alloy_blast_smelter('abs:liquid_glowstone') + .itemInputs('#forge:dusts/gold', '#forge:dusts/redstone', '#forge:dusts/sulfur') + .outputFluids(Fluid.of('gtceu:glowstone', 288)) + .duration(20 * 60 / 1.3) + .EUt(GTValues.VA[GTValues.LV]) + .blastFurnaceTemp(1064) + .circuit(9) + + // New Alloys + + event.recipes.gtceu.mixer('tfg:ostrum_iodide') + .itemInputs('1x #forge:dusts/iodine', '2x #forge:dusts/ostrum') + .itemOutputs('3x #forge:dusts/ostrum_iodide') + .duration(20 * 12) + .circuit(1) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.mixer('tfg:tungsten_bismuth_oxide_composite') + .itemInputs('2x #forge:dusts/bismuth', 'gtceu:tungsten_dust') + .inputFluids(Fluid.of('gtceu:oxygen', 3000)) + .itemOutputs('3x tfg:tungsten_bismuth_oxide_composite_dust') + .duration(20 * 12) + .EUt(GTValues.VA[GTValues.EV]) } diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.bromine.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.bromine.js new file mode 100644 index 000000000..76f55f6ab --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.bromine.js @@ -0,0 +1,126 @@ +"use strict"; + +function registerTFGBromineRecipes(event) { + + /* + + event.recipes.gtceu.evaporation_tower('evaporation_brine') + .inputFluids(Fluid.of('tfc:salt_water', 20000)) + .outputFluids(Fluid.of('gtceu:raw_brine', 1000)) + .duration(20*50) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.evaporation_tower('evaporation_brine_mars') + .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 20000)) + .outputFluids(Fluid.of('gtceu:raw_brine', 1000)) + .duration(20*50) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.fluid_heater('heat_brine') + .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) + .outputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .duration(20*600) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.heat_exchanger('heat_brine_nuclear') + .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) + .inputFluids(Fluid.of("gtceu:irradiated_steam", 1000)) + .outputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .outputFluids(Fluid.of("gtceu:dense_steam", 1000)) + .duration(20*100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('debrominated_brine_raw_brine_mixing') + .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) + .inputFluids(Fluid.of('gtceu:hot_debrominated_brine', 1000)) + .outputFluids(Fluid.of('gtceu:hot_brine', 2000)) + .outputFluids(Fluid.of('gtceu:debrominated_brine', 1000)) + .duration(20*10) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brine_acidification') + .inputFluids(Fluid.of("gtceu:hot_brine", 2000)) + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) + .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 2000)) + .outputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('aciditic_bromine_exhaust_heating') + .inputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .inputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000)) + .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) + .outputFluids(Fluid.of('gtceu:steam', 3000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brine_chloroination') + .inputFluids(Fluid.of("gtceu:hot_brine", 1000)) + .inputFluids(Fluid.of('gtceu:chlorine', 1000)) + .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brine_neutralization') + .inputFluids(Fluid.of("gtceu:hot_alkaline_debrominated_brine", 3000)) + .itemInputs('gtceu:potassium_dust') + .outputFluids(Fluid.of('gtceu:hot_debrominated_brine', 2000)) + .itemOutputs(Item.of('2x gtceu:rock_salt_dust')) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.centrifuge('debrominated_brine_decomposition') + .inputFluids(Fluid.of('gtceu:debrominated_brine', 2000)) + .outputFluids(Fluid.of('tfc:salt_water'), 1000) + .duration(20*3) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('brine_filtration') + .inputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) + .inputFluids(Fluid.of('gtceu:chlorine', 1000)) + .inputFluids(Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 1000)) + .outputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 2000)) + .duration(20*15) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('brominated_chlorine_vapor_condensation') + .inputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 1000)) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000)) + .outputFluids(Fluid.of('minecraft:water', 2000)) + .duration(20*15) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('bromine_vapor_concentration') + .inputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000)) + .inputFluids(Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000)) + .outputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000)) + .duration(20*5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.distillery('bromine_distillation_to_chlorine') + .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 100)) + .outputFluids(Fluid.of('gtceu:chlorine', 50)) + .duration(20*5) + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillery('bromine_distillation_to_bromine') + .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 40)) + .outputFluids(Fluid.of('gtceu:bromine', 40)) + .duration(20*2) + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillation_tower('bromine_distillation') + .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000)) + .outputFluids(Fluid.of('gtceu:chlorine', 500)) + .outputFluids(Fluid.of('gtceu:bromine', 1000)) + .duration(20*25) + .EUt(GTValues.VA[GTValues.HV]) + + */ + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js new file mode 100644 index 000000000..aef120457 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -0,0 +1,132 @@ +"use strict"; + +function registerTFGQuartzRecipes(event) { + + //#region Rose Quartz fabrication + decomposition + event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_water' }) + event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_distilled' }) + + generateMixerRecipe(event, ['gtceu:nether_quartz_dust', '8x minecraft:redstone'], [], '9x gtceu:rose_quartz_dust', 2, [], 180, 60, 64, 'rose_quartz_dust_mixing') + generateMixerRecipe(event, ['gtceu:tiny_nether_quartz_dust', '8x gtceu:tiny_redstone_dust'], [], 'gtceu:rose_quartz_dust', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing') + + event.recipes.gtceu.autoclave("autoclave_dust_rose_quartz_ice") + .itemInputs('#forge:dusts/rose_quartz') + .inputFluids(Fluid.of("gtceu:ice", 144)) + .itemOutputs("#forge:gems/rose_quartz") + .duration(2000) + .EUt(120) + + event.recipes.gtceu.electrolyzer('electrolyze_rose_quartz_dust') + .itemInputs('9x gtceu:rose_quartz_dust') + .itemOutputs('1x gtceu:nether_quartz_dust', '8x minecraft:redstone') + .duration(7 * 20) + .EUt(60) + //#endregion + + //#region Glass + + event.recipes.gtceu.arc_furnace('glass_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('2x minecraft:glass') + .duration(20) + .EUt(30) + + global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) + .itemInputs(element.input) + .notConsumable('gtceu:bottle_casting_mold') + .itemOutputs(element.output) + .duration(100) + .EUt(2) + .category(GTRecipeCategories.INGOT_MOLDING) + }) + + // Lamp Glass + event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) + .itemInputs('#tfc:glass_batches') + .notConsumable('#tfg:unfinished_lamps') + .itemOutputs('tfc:lamp_glass') + .duration(100) + .EUt(2) + + event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass_from_dust`) + .itemInputs('#forge:dusts/glass') + .notConsumable('#tfg:unfinished_lamps') + .itemOutputs('tfc:lamp_glass') + .duration(100) + .EUt(2) + + // Empty Jar + event.recipes.gtceu.alloy_smelter('tfc:jar_alloying') + .itemInputs('#tfc:glass_batches_tier_2') + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('tfc:empty_jar') + .duration(100) + .EUt(2) + .category(GTRecipeCategories.INGOT_MOLDING) + + event.recipes.gtceu.fluid_solidifier('tfc:jar_solidification') + .inputFluids(Fluid.of('gtceu:glass', 144)) + .notConsumable('gtceu:cylinder_casting_mold') + .itemOutputs('tfc:empty_jar') + .duration(100) + .EUt(2) + + event.recipes.gtceu.extractor('tfc:jar_extraction') + .itemInputs('#tfc:jars') + .outputFluids(Fluid.of('gtceu:glass', 144)) + .duration(50) + .EUt(2) + + event.recipes.gtceu.extractor('tfc:glass_batch_extraction') + .itemInputs('#tfc:glass_batches') + .outputFluids(Fluid.of('gtceu:glass', 144)) + .duration(50) + .EUt(2) + + event.recipes.gtceu.lathe('tfc:lens') + .itemInputs('#forge:glass') + .itemOutputs('tfc:lens') + .duration(100) + .EUt(16) + + // Add all glass colors to macerator/hammer + removeMaceratorRecipe(event, 'macerate_glass'); + event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass") + .itemInputs( + "#forge:glass" + ) + .itemOutputs("gtceu:glass_dust") + .duration(20) + .EUt(2); + + removeMaceratorRecipe(event, 'macerate_glass_pane'); + event.recipes.gtceu.macerator("gtceu:macerator/macerate_glass_pane") + .itemInputs( + "#forge:glass_panes" + ) + .itemOutputs("3x gtceu:tiny_glass_dust") + .duration(6) + .EUt(2) + + event.replaceInput({ id: "gtceu:shaped/glass_dust_hammer" }, + "minecraft:glass", + "#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 Tube + event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) + .id('tfg:gtceu/glassworking/glass_tube') + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.tungsten.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.tungsten.js new file mode 100644 index 000000000..10511c843 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.tungsten.js @@ -0,0 +1,86 @@ +"use strict"; + +function registerTFGTungstenRecipes(event) { + + event.remove({ id: 'gtceu:chemical_bath/tungstic_acid_from_scheelite' }) + event.remove({ id: 'gtceu:chemical_bath/tungstic_acid_from_tungstate' }) + event.remove({ id: 'gtceu:electrolyzer/tungstic_acid_electrolysis' }) + + // Transform Tungstate and Scheelite + + event.recipes.gtceu.large_chemical_reactor('tfg:scheelite_to_sodium_tungstate') + .itemInputs(Item.of('gtceu:scheelite_dust', 6)) + .itemInputs(Item.of('gtceu:soda_ash_dust', 6)) + .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7)) + .itemOutputs(Item.of('gtceu:calcite_dust', 5)) + .duration(20*12) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:tungstate_to_sodium_tungstate') + .itemInputs(Item.of('gtceu:tungstate_dust', 7)) + .itemInputs(Item.of('gtceu:soda_ash_dust', 6)) + .itemOutputs(Item.of('tfg:sodium_tungstate_dust', 7)) + .itemOutputs(Item.of('gtceu:lithium_dust', 2)) + .itemOutputs(Item.of('gtceu:carbon_dust', 1)) + .outputFluids(Fluid.of('gtceu:oxygen', 3000)) + .duration(20*12) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_bath('tfg:tungstate_to_tungsten_acid') + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000)) + .itemInputs(Item.of('tfg:sodium_tungstate_dust', 7)) + .itemOutputs(Item.of('gtceu:salt_dust', 4)) + .itemOutputs(Item.of('gtceu:tungstic_acid_dust', 7)) + .duration(20*24) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_bath('tfg:tungsten_acid_to_ammonium_tungstate') + .inputFluids(Fluid.of('gtceu:ammonia', 10000)) + .itemInputs(Item.of('gtceu:tungstic_acid_dust', 7)) + .itemOutputs(Item.of('tfg:ammonium_tungstate_dust', 1)) + .duration(20*16) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.evaporation_tower('tfg:ammonium_tungstate_to_apt_h') + .itemInputs(Item.of('tfg:ammonium_tungstate_dust', 1)) + .itemOutputs(Item.of('tfg:apt_gem', 1)) + .outputFluids(Fluid.of('gtceu:hydrogen', 500)) + .outputFluids(Fluid.of('gtceu:hydrogen', 500)) + .outputFluids(Fluid.of('gtceu:hydrogen', 500)) + .outputFluids(Fluid.of('gtceu:hydrogen', 500)) + .outputFluids(Fluid.of('gtceu:hydrogen', 500)) + .outputFluids(Fluid.of('gtceu:hydrogen', 500)) + .duration(20*48) + .EUt(GTValues.VHA[GTValues.HV]) + + event.recipes.gtceu.distillery('tfg:ammonium_tungstate_to_apt') + .itemInputs(Item.of('tfg:ammonium_tungstate_dust', 1)) + .itemOutputs(Item.of('tfg:apt_gem', 1)) + .outputFluids(Fluid.of('gtceu:hydrogen', 500)) + .duration(20*48) + .EUt(GTValues.VHA[GTValues.HV]) + + event.recipes.gtceu.pyrolyse_oven('tfg:apt') + .itemInputs(Item.of('tfg:apt_gem', 1)) + .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1)) + .outputFluids(Fluid.of('gtceu:ammonia', 10000)) + .duration(20*36) + .EUt(GTValues.VA[GTValues.EV]) + .circuit(1) + + event.recipes.gtceu.pyrolyse_oven('tfg:apt_nitrogen') + .itemInputs(Item.of('tfg:apt_gem', 1)) + .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .itemOutputs(Item.of('tfg:tungsten_oxide_dust', 1)) + .outputFluids(Fluid.of('gtceu:ammonia', 10000)) + .duration(20*18) + .EUt(GTValues.VA[GTValues.EV]) + .circuit(2) + + event.recipes.gtceu.arc_furnace('tfg:tungsten_apt') + .itemInputs(Item.of('tfg:tungsten_oxide_dust', 1)) + .inputFluids(Fluid.of('gtceu:hydrogen', 3000)) + .itemOutputs(Item.of('gtceu:tungsten_dust', 1)) + .duration(20*2.8) + .EUt(GTValues.VA[GTValues.EV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js new file mode 100644 index 000000000..e1b8dc933 --- /dev/null +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js @@ -0,0 +1,61 @@ +// priority: 0 + +function registerTFGZirconiumRecipes(event) { + + // #region Zirconium + + event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride') + .itemInputs('#forge:dusts/silicon') + .inputFluids('gtceu:chlorine 4000') + .outputFluids('tfg:silicon_tetrachloride 1000') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_decomp') + .inputFluids('tfg:silicon_tetrachloride 1000', 'minecraft:water 2000') + .itemOutputs('#forge:dusts/silicon') + .outputFluids('gtceu:hydrochloric_acid 4000', 'gtceu:oxygen 2000') + .duration(5 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:zirconium_tetrachloride') + .itemInputs('4x #forge:dusts/carbon', '6x #forge:dusts/zircon') + .inputFluids('gtceu:chlorine 8000') + .outputFluids('gtceu:carbon_monoxide 4000', 'tfg:silicon_tetrachloride 1000') + .itemOutputs('5x #forge:dusts/zirconium_tetrachloride') + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:zirconium') + .itemInputs('2x #forge:dusts/magnesium', '5x #forge:dusts/zirconium_tetrachloride') + .itemOutputs('#forge:hot_ingots/zirconium', '6x #forge:dusts/magnesium_chloride') + .duration(55 * 20) + .blastFurnaceTemp(4241) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:zirconium_bromide') + .itemInputs('#forge:dusts/zirconium', '2x #forge:dusts/carbon') + .inputFluids('gtceu:bromine 4000', 'gtceu:oxygen 2000') + .itemOutputs('5x #forge:dusts/zirconium_bromide') + .outputFluids('gtceu:carbon_monoxide 2000') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:zirconium_diboride') + .itemInputs('10x #forge:dusts/zirconium_bromide', '5x #forge:dusts/boron_carbide') + .notConsumable('#forge:dusts/carbon') + .itemOutputs('6x #forge:dusts/zirconium_diboride', '#forge:dusts/carbon') + .outputFluids('gtceu:bromine 8000') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:boron_carbide') + .itemInputs('4x #forge:dusts/boron', '7x #forge:dusts/carbon') + .inputFluids('gtceu:oxygen 6000') + .itemOutputs('5x #forge:dusts/boron_carbide') + .outputFluids('gtceu:carbon_monoxide 6000') + .duration(10 * 20) + .EUt(GTValues.VA[GTValues.HV]) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.components.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js similarity index 100% rename from kubejs/server_scripts/tfg/nuclear/recipes.components.js rename to kubejs/server_scripts/tfg/powergen/nuclear/recipes.components.js diff --git a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js similarity index 77% rename from kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js rename to kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 29df43882..a6257a9c3 100644 --- a/kubejs/server_scripts/tfg/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -85,28 +85,6 @@ function registerTFGNuclearRecipes(event) { //#endregion - //#region Mars Water - - event.recipes.gtceu.centrifuge('mars_heavy_water') - .inputFluids(Fluid.of('tfg:heavy_ammoniacal_water', 1000)) - .outputFluids(Fluid.of('tfg:heavy_water', 500)) - .itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride') - .duration(20*9) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.centrifuge('mars_semiheavy_water') - .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) - .outputFluids(Fluid.of('tfg:semiheavy_water', 500)) - .itemOutputs('2x #forge:tiny_dusts/ammonium_chloride') - .duration(20*9) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.distillery('mars_semiheavy_water') - .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) - .outputFluids(Fluid.of('minecraft:water', 250)) - .duration(20*5) - .EUt(GTValues.VA[GTValues.MV]) - // Martian Sludge event.recipes.gtceu.chemical_bath('dirty_hexafluorosilicic_acid') @@ -590,129 +568,6 @@ function registerTFGNuclearRecipes(event) { //#endregion - //#region Bromine Line - SCRAP FROM MARS TO VENUS - - /* - - event.recipes.gtceu.evaporation_tower('evaporation_brine') - .inputFluids(Fluid.of('tfc:salt_water', 20000)) - .outputFluids(Fluid.of('gtceu:raw_brine', 1000)) - .duration(20*50) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.evaporation_tower('evaporation_brine_mars') - .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 20000)) - .outputFluids(Fluid.of('gtceu:raw_brine', 1000)) - .duration(20*50) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.fluid_heater('heat_brine') - .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) - .outputFluids(Fluid.of("gtceu:hot_brine", 1000)) - .duration(20*600) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.heat_exchanger('heat_brine_nuclear') - .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) - .inputFluids(Fluid.of("gtceu:irradiated_steam", 1000)) - .outputFluids(Fluid.of("gtceu:hot_brine", 1000)) - .outputFluids(Fluid.of("gtceu:dense_steam", 1000)) - .duration(20*100) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('debrominated_brine_raw_brine_mixing') - .inputFluids(Fluid.of("gtceu:raw_brine", 1000)) - .inputFluids(Fluid.of('gtceu:hot_debrominated_brine', 1000)) - .outputFluids(Fluid.of('gtceu:hot_brine', 2000)) - .outputFluids(Fluid.of('gtceu:debrominated_brine', 1000)) - .duration(20*10) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('brine_acidification') - .inputFluids(Fluid.of("gtceu:hot_brine", 2000)) - .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000)) - .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 2000)) - .outputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000)) - .duration(20*5) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('aciditic_bromine_exhaust_heating') - .inputFluids(Fluid.of("gtceu:hot_brine", 1000)) - .inputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000)) - .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) - .outputFluids(Fluid.of('gtceu:steam', 3000)) - .duration(20*5) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('brine_chloroination') - .inputFluids(Fluid.of("gtceu:hot_brine", 1000)) - .inputFluids(Fluid.of('gtceu:chlorine', 1000)) - .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) - .duration(20*5) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('brine_neutralization') - .inputFluids(Fluid.of("gtceu:hot_alkaline_debrominated_brine", 3000)) - .itemInputs('gtceu:potassium_dust') - .outputFluids(Fluid.of('gtceu:hot_debrominated_brine', 2000)) - .itemOutputs(Item.of('2x gtceu:rock_salt_dust')) - .duration(20*5) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.centrifuge('debrominated_brine_decomposition') - .inputFluids(Fluid.of('gtceu:debrominated_brine', 2000)) - .outputFluids(Fluid.of('tfc:salt_water'), 1000) - .duration(20*3) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.chemical_reactor('brine_filtration') - .inputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000)) - .inputFluids(Fluid.of('gtceu:chlorine', 1000)) - .inputFluids(Fluid.of('gtceu:steam', 1000)) - .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 1000)) - .outputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 2000)) - .duration(20*15) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('brominated_chlorine_vapor_condensation') - .inputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 1000)) - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000)) - .outputFluids(Fluid.of('minecraft:water', 2000)) - .duration(20*15) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('bromine_vapor_concentration') - .inputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000)) - .inputFluids(Fluid.of('gtceu:steam', 1000)) - .outputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000)) - .outputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000)) - .duration(20*5) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.distillery('bromine_distillation_to_chlorine') - .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 100)) - .outputFluids(Fluid.of('gtceu:chlorine', 50)) - .duration(20*5) - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.distillery('bromine_distillation_to_bromine') - .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 40)) - .outputFluids(Fluid.of('gtceu:bromine', 40)) - .duration(20*2) - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.distillation_tower('bromine_distillation') - .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000)) - .outputFluids(Fluid.of('gtceu:chlorine', 500)) - .outputFluids(Fluid.of('gtceu:bromine', 1000)) - .duration(20*25) - .EUt(GTValues.VA[GTValues.HV]) - - */ - } diff --git a/kubejs/server_scripts/tfg/nuclear/tags.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js similarity index 100% rename from kubejs/server_scripts/tfg/nuclear/tags.nuclear.js rename to kubejs/server_scripts/tfg/powergen/nuclear/tags.nuclear.js diff --git a/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js new file mode 100644 index 000000000..ed60fc411 --- /dev/null +++ b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js @@ -0,0 +1,116 @@ +"use strict"; + +function registerTFGBiodieselRecipes(event) { + + // Biofuels + + event.recipes.gtceu.chemical_reactor(`seed_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 6000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:seed_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor(`olive_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 4000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:olive_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor(`soybean_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 4000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:soybean_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor(`fish_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 6000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + // So you can craft Biodiesel without Chemical Reactor + event.recipes.gtceu.mixer(`tfg:fish_oil_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor(`olive_oil_ethanol_biodiesel`) + .inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:ethanol', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor(`olive_oil_methanol_biodiesel`) + .inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:methanol', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor(`soybean_oil_ethanol_biodiesel`) + .inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:ethanol', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor(`soybean_oil_methanol_biodiesel`) + .inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:methanol', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.extractor(`rapeseed_oil`) + .itemInputs('tfg:rapeseed_product') + .outputFluids(Fluid.of('gtceu:seed_oil', 600)) + .duration(20 * 5) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`sunflower_oil`) + .itemInputs('tfg:sunflower_product') + .outputFluids(Fluid.of('gtceu:seed_oil', 350)) + .duration(20 * 5) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.tfc.barrel_sealed(1000) + .inputs('tfg:rapeseed_product', Fluid.of('minecraft:water', 100)) + .outputFluid(Fluid.of('gtceu:seed_oil', 250)) + .id('tfg:barrel/rapeseed_to_oil') + + event.recipes.tfc.barrel_sealed(1000) + .inputs('tfg:sunflower_product', Fluid.of('minecraft:water', 100)) + .outputFluid(Fluid.of('gtceu:seed_oil', 120)) + .id('tfg:barrel/sunflower_to_oil') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js new file mode 100644 index 000000000..5d0ba1862 --- /dev/null +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -0,0 +1,91 @@ +"use strict"; + +function registerTFGBoilerRecipes(event) { + + // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead + + event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration*3) + }) + + event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration/3) + }) + + // Allow oil in small boilers + + event.remove({ id: "gtceu:large_boiler/gtceu_oil" }) + event.remove({ id: "gtceu:large_boiler/gtceu_oil_heavy" }) + event.remove({ id: "gtceu:large_boiler/gtceu_fish_oil" }) + // This generates both a small boiler and large boiler recipe. Remove it above to avoid a duplicate + event.recipes.gtceu.steam_boiler('tfg:oil') + .inputFluids(Fluid.of('gtceu:oil', 200)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:heavy_oil') + .inputFluids(Fluid.of('gtceu:oil_heavy', 32)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:fish_oil') + .inputFluids(Fluid.of('gtceu:fish_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + // These aren't in base GT, but they have the same stats as oil + event.recipes.gtceu.steam_boiler('tfg:raw_oil') + .inputFluids(Fluid.of('gtceu:oil_medium', 200)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:light_oil') + .inputFluids(Fluid.of('gtceu:oil_light', 200)) + .duration(200) + .dimension('minecraft:overworld') + + // Same stats as fish oil + event.recipes.gtceu.steam_boiler('tfg:olive_oil') + .inputFluids(Fluid.of('tfc:olive_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:seed_oil') + .inputFluids(Fluid.of('gtceu:seed_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:soybean_oil') + .inputFluids(Fluid.of('firmalife:soybean_oil', 160)) + .duration(200) + .dimension('minecraft:overworld') + + // fish oil (aka tallowate) extraction + event.recipes.gtceu.extractor(`tfg:fish_oil`) + .itemInputs('#minecraft:fishes') + .outputFluids(Fluid.of('gtceu:fish_oil', 200)) + .duration(40) + .EUt(4) + + event.recipes.gtceu.extractor(`tfg:tallow`) + .itemInputs('tfc:blubber') + .outputFluids(Fluid.of('tfc:tallow', 200)) + .duration(40) + .EUt(4) + + // you get tallow from killing things like orcas, so this seems close enough + event.recipes.gtceu.mixer('tallow_to_fish_oil') + .inputFluids('tfc:tallow 100', 'tfc:lye 100') + .outputFluids('gtceu:fish_oil 200') + .duration(100) + .EUt(4) + + // Seed oil + event.recipes.gtceu.extractor(`tfg:seed_oil`) + .itemInputs('#tfc:seeds') + .outputFluids(Fluid.of('gtceu:seed_oil', 50)) + .duration(32) + .EUt(2) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/recipes.coal.js b/kubejs/server_scripts/tfg/powergen/recipes.coal.js new file mode 100644 index 000000000..6220f542f --- /dev/null +++ b/kubejs/server_scripts/tfg/powergen/recipes.coal.js @@ -0,0 +1,96 @@ +"use strict"; + +function registerTFGCoalRecipes(event) { + + event.recipes.gtceu.coke_oven("tfg:poor_coal_to_coke") + .itemInputs('2x gtceu:poor_raw_coal') + .itemOutputs('1x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 500)) + .duration(900) + + event.recipes.gtceu.coke_oven("tfg:coal_to_coke") + .itemInputs('gtceu:raw_coal') + .itemOutputs('2x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 1000)) + .duration(900) + + event.recipes.gtceu.coke_oven("tfg:rich_coal_to_coke") + .itemInputs('gtceu:rich_raw_coal') + .itemOutputs('4x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 2000)) + .duration(900) + + event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_tar") + .itemInputs('3x gtceu:rich_raw_coal') + .chancedOutput('gtceu:dark_ash_dust', 5000, 0) + .outputFluids(Fluid.of('gtceu:coal_tar', 3000)) + .duration(288) + .EUt(96) + .circuit(8) + + event.recipes.gtceu.pyrolyse_oven("tfg:rich_coal_to_coke_creosote") + .itemInputs('4x gtceu:rich_raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(576) + .EUt(64) + .circuit(1) + + event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coal_gas") + .itemInputs('4x gtceu:rich_raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:steam')) + .outputFluids(Fluid.of('gtceu:coal_gas', 4000)) + .duration(288) + .EUt(96) + .circuit(22) + + event.recipes.gtceu.pyrolyse_oven("tfg:coal_to_coke_creosote_nitrogen") + .itemInputs('4x gtceu:rich_raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:nitrogen')) + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(288) + .EUt(96) + .circuit(2) + + event.recipes.gtceu.coke_oven("tfg:raw_coal_to_coke") + .itemInputs('gtceu:raw_coal') + .itemOutputs('2x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 2000)) + .duration(1710) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_tar") + .itemInputs('6x gtceu:raw_coal') + .chancedOutput('gtceu:dark_ash_dust', 5000, 0) + .outputFluids(Fluid.of('gtceu:coal_tar', 3000)) + .duration(288) + .EUt(96) + .circuit(8) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote") + .itemInputs('8x gtceu:raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(576) + .EUt(64) + .circuit(1) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coal_gas") + .itemInputs('8x gtceu:raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:steam')) + .outputFluids(Fluid.of('gtceu:coal_gas', 4000)) + .duration(288) + .EUt(96) + .circuit(22) + + event.recipes.gtceu.pyrolyse_oven("tfg:raw_coal_to_coke_creosote_nitrogen") + .itemInputs('8x gtceu:raw_coal') + .itemOutputs('16x gtceu:coke_gem') + .inputFluids(Fluid.of('gtceu:nitrogen')) + .outputFluids(Fluid.of('gtceu:creosote', 8000)) + .duration(288) + .EUt(96) + .circuit(2) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/early_power.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js similarity index 77% rename from kubejs/server_scripts/tfg/early_power.js rename to kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index 07181dec9..c4bbf5de1 100644 --- a/kubejs/server_scripts/tfg/early_power.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -1,6 +1,6 @@ // priority: 0 -function registerTFGEarlyPower(event) { +function registerTFGEarlyGasRecipes(event) { const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') @@ -204,72 +204,8 @@ function registerTFGEarlyPower(event) { //#endregion - //#region Rebalance Fuel - // Change - // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead - - event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration*3) - }) - - event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration/3) - }) - - // Allow oil in small boilers - - event.remove({ id: "gtceu:large_boiler/gtceu_oil" }) - event.remove({ id: "gtceu:large_boiler/gtceu_oil_heavy" }) - event.remove({ id: "gtceu:large_boiler/gtceu_fish_oil" }) - // This generates both a small boiler and large boiler recipe. Remove it above to avoid a duplicate - event.recipes.gtceu.steam_boiler('tfg:oil') - .inputFluids(Fluid.of('gtceu:oil', 200)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:heavy_oil') - .inputFluids(Fluid.of('gtceu:oil_heavy', 32)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:fish_oil') - .inputFluids(Fluid.of('gtceu:fish_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') - - // These aren't in base GT, but they have the same stats as oil - event.recipes.gtceu.steam_boiler('tfg:raw_oil') - .inputFluids(Fluid.of('gtceu:oil_medium', 200)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:light_oil') - .inputFluids(Fluid.of('gtceu:oil_light', 200)) - .duration(200) - .dimension('minecraft:overworld') - - // Same stats as fish oil - event.recipes.gtceu.steam_boiler('tfg:olive_oil') - .inputFluids(Fluid.of('tfc:olive_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:seed_oil') - .inputFluids(Fluid.of('gtceu:seed_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') - - event.recipes.gtceu.steam_boiler('tfg:soybean_oil') - .inputFluids(Fluid.of('firmalife:soybean_oil', 160)) - .duration(200) - .dimension('minecraft:overworld') - - //#region New Power Generation - // Add Syngas event.recipes.gtceu.steam_boiler('tfg:syngas') // Small Boiler and Large Boiler divided by 4 diff --git a/kubejs/server_scripts/tfg/powergen/recipes.solar.js b/kubejs/server_scripts/tfg/powergen/recipes.solar.js new file mode 100644 index 000000000..e74ec4cb7 --- /dev/null +++ b/kubejs/server_scripts/tfg/powergen/recipes.solar.js @@ -0,0 +1,184 @@ +"use strict"; + +function registerTFGSolarRecipes(event) { + + //#region Large Solar Panel + + event.shaped( + 'gtceu:large_solar_panel', + ['WSW', 'TZT', 'WUW'], + { + S: 'tfg:photo_cell_t1', + Z: 'ad_astra:solar_panel', + W: '#gtceu:circuits/ev', + U: '#forge:gears/rocket_alloy_t1', + T: '#forge:gears/desh' + } + ).id('gtceu:shaped/large_solar_panel') + + event.shaped( + 'gtceu:large_solar_panel_tier2', + ['WSW', 'TZT', 'WUW'], + { + S: 'ad_astra:photovoltaic_etrium_cell', + Z: 'gtceu:large_solar_panel', + W: '#gtceu:circuits/iv', + U: '#forge:gears/rocket_alloy_t1', + T: '#forge:gears/desh' + } + ).id('gtceu:shaped/large_solar_panel_tier2') + + event.shaped( + 'gtceu:large_solar_panel_tier3', + ['WSW', 'TZT', 'WUW'], + { + S: 'ad_astra:photovoltaic_vesnium_cell', + Z: 'gtceu:large_solar_panel_tier2', + W: '#gtceu:circuits/luv', + U: '#forge:gears/rocket_alloy_t1', + T: '#forge:gears/desh' + } + ).id('gtceu:shaped/large_solar_panel_tier3') + + event.recipes.gtceu.chemical_reactor('advanced_photovoltaic_cell') + .itemInputs('8x tfg:photo_cell_t1', + '6x #forge:dusts/vanadium_gallium', + '#forge:insulation_t2/sheet') + .inputFluids(Fluid.of('gtceu:helium_3', 1000)) + .itemOutputs('8x ad_astra:photovoltaic_etrium_cell') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('expert_photovoltaic_cell') + .itemInputs('8x ad_astra:photovoltaic_etrium_cell', + '6x gtceu:energium_dust', + '#forge:insulation_t3/sheet') + .inputFluids(Fluid.of('tfg:cryogenized_fluix', 1000)) + .itemOutputs('8x ad_astra:photovoltaic_vesnium_cell') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.IV]) + + //#region Chemical Reaction for Solar Panel + + event.recipes.gtceu.chemical_reactor('tfg:chlorine_pentafluoride') + .inputFluids(Fluid.of('gtceu:fluorine', 5000), Fluid.of('gtceu:chlorine', 1000)) + .outputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:chloryl_fluoride') + .inputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000), Fluid.of('minecraft:water', 2000)) + .outputFluids(Fluid.of('tfg:chloryl_fluoride', 1000), Fluid.of('gtceu:hydrofluoric_acid', 4000)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant') + .inputFluids(Fluid.of('tfg:chloryl_fluoride', 3000), Fluid.of('gtceu:helium_3', 8000), Fluid.of('minecraft:water', 8000)) + .outputFluids(Fluid.of('tfg:solar_coolant', 1000), Fluid.of('gtceu:hydrofluoric_acid', 3000), Fluid.of('gtceu:hypochlorous_acid', 3000)) + .duration(20 * 5) + .EUt(GTValues.VH[GTValues.EV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant_t2') + .inputFluids(Fluid.of('tfg:solar_coolant', 8000), Fluid.of('gtceu:argon', 1000)) + .itemInputs(Item.of('#forge:aerogels')) + .outputFluids(Fluid.of('tfg:solar_coolant_tier2', 8000)) + .duration(20 * 15) + .EUt(GTValues.VH[GTValues.IV]) + + //#endregion + + // LSP Generating recipes + + // Solar T1 + + event.recipes.gtceu.large_solar_panel('solar_panel_t1_emergency') + .chancedInput('tfg:photo_cell_t1', 100, 0) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-((GTValues.V[GTValues.HV])), 2) + .circuit(1) + + event.recipes.gtceu.large_solar_panel('solar_panel_t1') + .notConsumable('tfg:photo_cell_t1') + .perTick(true) + .chancedFluidInput('tfg:compressed_trimix_3 4', 5000, 0) + .perTick(false) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-(GTValues.V[GTValues.EV]), 2) + .circuit(2) + + // Solar T2 + + event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_emergency') + .chancedInput('ad_astra:photovoltaic_etrium_cell', 100, 0) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-(GTValues.V[GTValues.EV]), 2) + .circuit(1) + + event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_strong') + .notConsumable('ad_astra:photovoltaic_etrium_cell') + .perTick(true) + .chancedFluidInput('tfg:solar_coolant 10', 5000, 0) + .inputFluids('tfg:cryogenized_fluix 4') + .outputFluids('tfg:fluix 1') + .perTick(false) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-(GTValues.V[GTValues.IV]), 2) + .circuit(2) + + event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_cheap') + .notConsumable('ad_astra:photovoltaic_etrium_cell') + .perTick(true) + .inputFluids('tfg:compressed_trimix_3 1') + .perTick(false) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-(GTValues.V[GTValues.EV]), 2) + .circuit(3) + + // Solar T3 + + event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_emergency') + .chancedInput('ad_astra:photovoltaic_vesnium_cell', 100, 0) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-(GTValues.V[GTValues.IV]), 2) + .circuit(1) + + event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_strong') + .notConsumable('ad_astra:photovoltaic_vesnium_cell') + .perTick(true) + .chancedFluidInput('tfg:solar_coolant_tier2 10', 5000, 0) + .inputFluids('tfg:cryogenized_fluix 4') + .outputFluids('tfg:fluix 1') + .perTick(false) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-(GTValues.V[GTValues.LuV]), 2) + .circuit(2) + + event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_cheap') + .notConsumable('ad_astra:photovoltaic_vesnium_cell') + .perTick(true) + .chancedFluidInput('tfg:solar_coolant 10', 5000, 0) + .inputFluids('tfg:cryogenized_fluix 4') + .outputFluids('tfg:fluix 1') + .perTick(false) + .duration(20 * 20) + .daytime(false) + .dimension('ad_astra:moon') + .EUt(-(GTValues.V[GTValues.IV]), 2) + .circuit(2) + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/events.fishing_nets.js b/kubejs/server_scripts/tfg/primitive/events.fishing_nets.js new file mode 100644 index 000000000..c8bb64476 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/events.fishing_nets.js @@ -0,0 +1,93 @@ +const fish = [ + 'cod', + 'crappie', + 'jellyfish', + 'lake_trout', + 'largemouth_bass', + 'rainbow_trout', + 'salmon', + 'smallmouth_bass', + 'tropical_fish', + 'bluegill' +]; + +const shellfish = [ + 'lobster', + 'isopod', + 'crayfish' +]; + +//tags wont work here (or at least I couldnt get it to work) so we need to manually declare each net tier. +const tiers = [ + 'wood', + 'brass', + 'rose_gold', + 'sterling_silver', + 'invar', + 'tin_alloy', + 'cupronickel', + 'magnalium' +]; + +//Event detects if fish is right clicked with fishing net and then teleports the mob into the void, plays some actions and gives the player the proper item. +tiers.forEach(tier => { + fish.forEach(fish => { + ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { + const { item, player, server, target } = event; + + if (target.type !== `tfc:${fish}`) return + server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) + server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) + server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) + event.player.give(`tfc:food/${fish}`) + player.swing() + if (player.isCreative() === false) { + item.damageValue++ + if (item.damageValue >= item.maxDamage) { + server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) + item.count-- + } + } + }) + }) + + //Shellfish Exception + shellfish.forEach(shellfish => { + ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { + const { item, player, server, target } = event; + + if (target.type !== `tfc:${shellfish}`) return + server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) + server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) + server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) + event.player.give('tfc:food/shellfish') + player.swing() + if (player.isCreative() === false) { + item.damageValue++ + if (item.damageValue >= item.maxDamage) { + server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) + item.count-- + } + } + }) + }) + + //Pufferfish Exception + ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => { + const { item, player, server, target } = event; + + if (target.type !== 'tfc:pufferfish') return + server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`) + server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`) + server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`) + event.player.give('minecraft:pufferfish') + player.swing() + if (player.isCreative() === false) { + item.damageValue++ + if (item.damageValue >= item.maxDamage) { + server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`) + item.count-- + } + } + }) +}) \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/events.medicine.js b/kubejs/server_scripts/tfg/primitive/events.medicine.js new file mode 100644 index 000000000..115e3caf7 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/events.medicine.js @@ -0,0 +1,100 @@ + +//Pills & Tablets +const pill_event = [ + 'haste', + 'luck', + 'night_vision', + 'poison', + 'regeneration', + 'slowness', + 'speed', + 'water_breathing', + 'weakness', +]; + +pill_event.forEach(pill_event => { + + ItemEvents.rightClicked(event => { + const { item, server, player, player: { x, y, z } } = event + if (item.id !== `tfg:${pill_event}_pill`) return + item.count-- + player.addItemCooldown(item, 100) + server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 480 0 true`) + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) + }); + + ItemEvents.rightClicked(event => { + const { item, server, player, player: { x, y, z } } = event + if (item.id !== `tfg:${pill_event}_tablet`) return + item.count-- + player.addItemCooldown(item, 100) + server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 1800 0 true`) + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) + }); +}); + +ItemEvents.rightClicked(event => { + const { item, server, player, player: { x, y, z } } = event + if (item.id !== `tfg:antipoison_pill`) return + item.count-- + player.addItemCooldown(item, 50) + event.player.removeEffect('minecraft:poison') + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) +}); + +ItemEvents.rightClicked(event => { + const { item, server, player, player: { x, y, z } } = event + if (item.id !== `tfg:antipoison_tablet`) return + item.count-- + player.addItemCooldown(item, 50) + event.player.removeEffect('minecraft:poison') + event.player.removeEffect('minecraft:wither') + event.player.removeEffect('minecraft:weakness') + event.player.removeEffect('minecraft:slowness') + event.player.removeEffect('minecraft:mining_fatigue') + event.player.removeEffect('minecraft:nausea') + event.player.removeEffect('minecraft:blindness') + event.player.removeEffect('minecraft:hunger') + event.player.removeEffect('minecraft:bad_omen') + event.player.removeEffect('minecraft:darkness') + event.player.removeEffect('minecraft:unluck') + server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) +}); + +//salvos +const salvo_event = [ + 'fire_resistance', + 'invisibility', + 'luck', + 'resistance', +]; + +salvo_event.forEach(salvo_event => { + + ItemEvents.rightClicked(event => { + const { item, server, player, player: { x, y, z } } = event + if (item.id !== `tfg:${salvo_event}_salvo`) return + item.count-- + player.addItemCooldown(item, 100) + server.runCommandSilent(`effect give ${player.username} minecraft:${salvo_event} 480 0 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) + }); +}); + +ItemEvents.rightClicked(event => { + const { item, server, player, player: { x, y, z } } = event + if (item.id !== `tfg:absorption_salvo`) return + item.count-- + player.addItemCooldown(item, 200) + server.runCommandSilent(`effect give ${player.username} minecraft:absorption 480 4 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) +}); + +ItemEvents.rightClicked(event => { + const { item, server, player, player: { x, y, z } } = event + if (item.id !== `tfg:instant_health_salvo`) return + item.count-- + player.addItemCooldown(item, 100) + server.runCommandSilent(`effect give ${player.username} minecraft:instant_health 1 1 true`) + server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) +}); \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.arrows.js b/kubejs/server_scripts/tfg/primitive/recipes.arrows.js new file mode 100644 index 000000000..05962e312 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.arrows.js @@ -0,0 +1,75 @@ +"use strict"; + +function registerTFGArrowRecipes(event) { + // Arrow Parts + event.recipes.tfc.knapping( + '4x tfg:flint_arrow_head', + 'tfg:flint', + [ + ' XXX', + ' XXXX', + 'XXXXX', + ' XXX ', + ' X ' + ] + ).outsideSlotRequired(false) + .id('tfg:knapping/flint_arrow_head') + + event.recipes.gtceu.assembler('tfg:assembler/flint_arrow_head') + .itemInputs('1x minecraft:flint') + .itemOutputs('4x tfg:flint_arrow_head') + .duration(20) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x tfg:fletching', [ + 'minecraft:feather', + '#forge:tools/knives' + ]).id('tfg:shapeless/fletching')) + + event.recipes.gtceu.assembler('tfg:assembler/fletching') + .itemInputs('1x minecraft:feather') + .itemOutputs('4x tfg:fletching') + .duration(20) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + event.shaped('4x minecraft:arrow', [ + ' A ', + ' B ', + ' C ' + ], { + A: 'tfg:flint_arrow_head', + B: '#forge:rods/wooden', + C: 'tfg:fletching' + }).id('tfg:shaped/arrow') + + // Wraptor feathers + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x tfg:fletching', [ + 'tfg:wraptor_wool', + '#forge:tools/knives' + ]).id('tfg:shapeless/wraptor_feather_fletching')) + + event.recipes.gtceu.assembler('tfg:assembler/wraptor_feather_fletching') + .itemInputs('1x tfg:wraptor_wool') + .itemOutputs('4x tfg:fletching') + .duration(20) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + // Glider feathers + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x tfg:fletching', [ + 'wan_ancient_beasts:glider_feather', + '#forge:tools/knives' + ]).id('tfg:shapeless/glider_feather_fletching')) + + event.recipes.gtceu.assembler('tfg:assembler/glider_feather_fletching') + .itemInputs('1x wan_ancient_beasts:glider_feather') + .itemOutputs('4x tfg:fletching') + .duration(20) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.baskets.js b/kubejs/server_scripts/tfg/primitive/recipes.baskets.js new file mode 100644 index 000000000..a6bdc30ff --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.baskets.js @@ -0,0 +1,64 @@ +"use strict"; + +function registerTFGBasketRecipes(event) { + event.shaped('tfg:harvest_basket', [ + 'BDB', + 'ACA', + 'AAA' + ], { + A: 'tfg:soaked_hardwood_strip', + B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1), + C: 'tfc:glue', + D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) + }).id('tfg:shaped/harvest_basket_from_wood') + + event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_wood') + .itemInputs( + '5x tfg:soaked_hardwood_strip', + ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 2), + ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) + ) + .inputFluids(Fluid.of('gtceu:glue', 50)) + .itemOutputs('tfg:harvest_basket') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.shaped('tfg:harvest_basket', [ + 'BDB', + 'ACA', + 'AAA' + ], { + A: 'tfc:soaked_papyrus_strip', + B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1), + C: 'tfc:glue', + D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) + }).id('tfg:shaped/harvest_basket_from_papyrus') + + event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_papyrus') + .itemInputs( + '5x tfc:soaked_papyrus_strip', + ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 2), + ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) + ) + .inputFluids(Fluid.of('gtceu:glue', 50)) + .itemOutputs('tfg:harvest_basket') + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler('tfg:assembler/aluminium_harvest_basket') + .itemInputs( + ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 3), + ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 2), + ChemicalHelper.get(TagPrefix.bolt, GTMaterials.Steel, 2), + ChemicalHelper.get(TagPrefix.rodLong, + GTMaterials.Aluminium, 1) + ) + .inputFluids(Fluid.of('gtceu:cobalt_brass', 144)) + .itemOutputs('tfg:aluminium_harvest_basket') + .duration(200) + .circuit(4) + .EUt(GTValues.VA[GTValues.LV]) + .addMaterialInfo(true) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js new file mode 100644 index 000000000..153455c8a --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -0,0 +1,144 @@ +"use strict"; + +function registerTFGClayRecipes(event) { + + event.shapeless('tfc:crucible', ['tfc:crucible']).id('tfg:empty_crucible') + + event.shaped('minecraft:clay', [ + 'AA', + 'AA' + ], { + A: 'minecraft:clay_ball' + }).id('tfg:shaped/clay_balls_to_block') + + event.shapeless('4x minecraft:clay_ball', ['minecraft:clay']) + .id('tfg:shapeless/clay_block_to_balls') + + global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`) + .id(`tfg:smelting/${dye}_glazed_vessel`) + + event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`) + .id(`tfg:smelting/${dye}_large_vessel`) + }) + + for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { + let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; + + event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) + .itemInputs(element.input) + .circuit(i) + .itemOutputs(element.output) + .duration(450) + .EUt(2) + } + + for (let i = 0; i < global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { + let element = global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; + + event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) + .itemInputs(element.input) + .circuit(i) + .itemOutputs(element.output) + .duration(450) + .EUt(2) + } + + event.recipes.gtceu.extruder('tfg:unfired_clay_brick') + .itemInputs('minecraft:clay_ball') + .notConsumable('gtceu:ingot_extruder_mold') + .itemOutputs('tfc:ceramic/unfired_brick') + .duration(20) + .EUt(2) + + event.recipes.gtceu.extruder('tfg:unfired_fire_clay_brick') + .itemInputs('tfc:fire_clay') + .notConsumable('gtceu:ingot_extruder_mold') + .itemOutputs('tfc:ceramic/unfired_fire_brick') + .duration(20) + .EUt(2) + + // Kaolinite Clay - regular smelting recipes can't have multiple inputs + event.recipes.gtceu.alloy_smelter('tfg:kaolinite') + .itemInputs('tfc:kaolin_clay') + .circuit(1) + .chancedOutput('tfc:powder/kaolinite', 2000, 0) + .duration(100) + .EUt(16) + + // Fire Clay + event.recipes.gtceu.alloy_smelter('tfg:cheaper_fire_clay') + .itemInputs('#forge:dusts/graphite', '4x tfc:kaolin_clay') + .itemOutputs('2x tfc:fire_clay') + .duration(600) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.alloy_smelter('tfg:oops_i_smelted_all_my_kaolin') + .itemInputs('minecraft:clay_ball', 'tfc:powder/kaolinite') + .itemOutputs('tfc:kaolin_clay') + .duration(600) + .EUt(GTValues.VA[GTValues.ULV]) + + // Compressed Coke Clay + event.shaped('gtceu:compressed_coke_clay', [ + 'AAA', + 'BCB', + 'BBB' + ], { + A: 'minecraft:clay_ball', + B: '#minecraft:sand', + C: 'gtceu:brick_wooden_form' + }).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay') + + // Coke Oven Brick + event.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) + .resultItem('gtceu:coke_oven_brick') + .id('tfg:heating/coke_oven_bricks') + + event.recipes.gtceu.alloy_smelter('gtceu:coke_oven_brick') + .itemInputs('3x #minecraft:sand', '2x minecraft:clay_ball') + .itemOutputs('gtceu:coke_oven_brick') + .duration(7.5 * 20) + .EUt(GTValues.VA[GTValues.ULV]) + + // Ceramic Recycling + event.recipes.gtceu.macerator('tfg:sherd_to_brick_dust') + .itemInputs('firmalife:pottery_sherd') + .itemOutputs('#forge:dusts/brick') + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .duration(20) + .EUt(2) + + event.recipes.gtceu.macerator('tfg:ceramic_molds') + .itemInputs('#tfc:fired_molds') + .itemOutputs('2x #forge:dusts/brick') + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .duration(20) + .EUt(2) + + event.recipes.gtceu.macerator('tfg:large_vessels') + .itemInputs('#tfc:fired_large_vessels') + .itemOutputs('5x #forge:dusts/brick') + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .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) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js new file mode 100644 index 000000000..284666095 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js @@ -0,0 +1,263 @@ +"use strict"; + +function registerTFGClothRecipes(event) { + + //Cloth & String + event.recipes.gtceu.wiremill('tfg:wiremill/phantom_thread') + .itemInputs('1x minecraft:phantom_membrane') + .itemOutputs('16x tfg:phantom_thread') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.wiremill('tfg:wiremill/polycaprolactam_string') + .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)) + .itemOutputs('32x tfg:polycaprolactam_string') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler('tfg:assembler/phantom_silk') + .itemInputs('16x tfg:phantom_thread') + .itemOutputs('1x tfg:phantom_silk') + .duration(100) + .circuit(3) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler('tfg:assembler/polycaprolactam_fabric') + .itemInputs('16x tfg:polycaprolactam_string') + .itemOutputs('1x tfg:polycaprolactam_fabric') + .duration(100) + .circuit(3) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.chemical_bath('tfg:chemical_bath/bleaching/polycaprolactam_string') + .itemInputs('tfg:polycaprolactam_string') + .inputFluids(Fluid.of('gtceu:chlorine', 16)) + .itemOutputs('minecraft:string') + .duration(80) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.tfc.loom( + '1x tfg:phantom_silk', + '16x tfg:phantom_thread', + 8, + 'tfg:block/phantom_silk_block' + ) + + event.recipes.tfc.loom( + '1x tfg:polycaprolactam_fabric', + '16x tfg:polycaprolactam_string', + 8, + 'tfg:block/polycaprolactam_fabric_block' + ) + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('16x tfg:phantom_thread', [ + 'minecraft:phantom_membrane', + 'tfc:spindle' + ]).id('tfg:shapeless/phantom_thread')) + + // Wool Yarn + event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn') + .itemInputs('tfc:wool') + .itemOutputs('8x tfc:wool_yarn') + .duration(100) + .EUt(4) + + // Burlap Cloth + event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth') + .itemInputs('12x tfc:jute_fiber') + .circuit(0) + .itemOutputs('tfc:burlap_cloth') + .duration(100) + .EUt(4) + + // Silk Cloth + event.recipes.gtceu.assembler('tfg:tfc/silk_cloth') + .itemInputs('24x minecraft:string') + .circuit(0) + .itemOutputs('tfc:silk_cloth') + .duration(100) + .EUt(4) + + // Wool Cloth + event.recipes.gtceu.assembler('tfg:tfc/wool_cloth') + .itemInputs('16x tfc:wool_yarn') + .circuit(0) + .itemOutputs('tfc:wool_cloth') + .duration(100) + .EUt(4) + + // Cloths to Wool + event.recipes.gtceu.assembler('tfg:tfc/cloth_to_wool') + .itemInputs('4x #tfc:sewing_light_cloth') + .itemOutputs('8x minecraft:white_wool') + .circuit(16) + .duration(100) + .EUt(4) + + // Wool Yarn + event.recipes.gtceu.macerator('macerate_wool') + .itemInputs('#minecraft:wool') + .itemOutputs('tfc:wool_yarn') + .chancedOutput('tfc:wool_yarn', 9000, 0) + .chancedOutput('tfc:wool_yarn', 5000, 0) + .chancedOutput('tfc:wool_yarn', 2000, 0) + .duration(200) + .EUt(2) + + // Jute Fiber + generateMixerRecipe(event, 'tfc:jute', "#tfg:clean_water 200", + 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') + + //#region flax stuff + + event.shapeless('1x tfg:flax_bundle', ['9x tfg:flax_product']) + event.recipes.gtceu.packer('tfg:packer/flax_bundle') + .itemInputs('9x tfg:flax_product') + .itemOutputs('tfg:flax_bundle') + .duration('100') + .EUt(GTValues.VA[GTValues.ULV]) + + event.shapeless('1x tfg:bundled_scraped_flax', ['9x tfg:flax_waste']) + event.recipes.gtceu.packer('tfg:packer/bundled_scraped_flax') + .itemInputs('9x tfg:flax_waste') + .itemOutputs('tfg:bundled_scraped_flax') + .duration('100') + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.tfc.scraping( + 'tfg:flax_waste', + 'tfg:flax_product', + 'tfg:item/flax_waste', + 'tfg:item/flax_product', + '2x tfg:flax_line' + ).id('tfg:scraping/flax_line') + + event.recipes.tfc.scraping( + 'tfg:bundled_scraped_flax', + 'tfg:flax_bundle', + 'tfg:item/bundled_scraped_flax', + 'tfg:item/flax_bundle', + '18x tfg:flax_line' + ).id('tfg:scraping/flax_line_from_bundle') + + event.recipes.tfc.scraping( + 'tfc:groundcover/humus', + 'tfg:flax_waste', + 'tfc:item/groundcover/humus', + 'tfg:item/flax_waste', + 'tfg:flax_tow' + ).id('tfg:scraping/flax_tow') + + event.recipes.tfc.scraping( + '9x tfc:groundcover/humus', + 'tfg:bundled_scraped_flax', + 'tfc:item/groundcover/humus', + 'tfg:item/bundled_scraped_flax', + '9x tfg:flax_tow' + ).id('tfg:scraping/flax_tow_from_pile') + + event.recipes.gtceu.cutter('tfg:flax_line_in_cutter') + .itemInputs('tfg:flax_product') + .itemOutputs('2x tfg:flax_line', 'tfg:flax_waste') + .duration(60) + .EUt(2) + + event.recipes.gtceu.cutter('tfg:flax_line_from_bundle_in_cutter') + .itemInputs('tfg:flax_bundle') + .itemOutputs('18x tfg:flax_line', 'tfg:bundled_scraped_flax') + .duration(540) + .EUt(2) + + event.recipes.gtceu.cutter('tfg:flax_tow_in_cutter') + .itemInputs('tfg:flax_waste') + .itemOutputs('1x tfg:flax_tow', '1x tfc:groundcover/humus') + .duration(60) + .EUt(2) + + event.recipes.gtceu.cutter('tfg:flax_tow_from_bundle_in_cutter') + .itemInputs('tfg:bundled_scraped_flax') + .itemOutputs('9x tfg:flax_tow', '9x tfc:groundcover/humus') + .duration(540) + .EUt(2) + + event.recipes.gtceu.centrifuge('tfg:flax_product') + .itemInputs('tfg:flax_product') + .itemOutputs('2x tfg:flax_line', 'tfg:flax_tow', 'tfc:groundcover/humus') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.centrifuge('tfg:flax_product_from_bundle') + .itemInputs('tfg:flax_bundle') + .itemOutputs('18x tfg:flax_line', '9x tfg:flax_tow', '9x tfc:groundcover/humus') + .duration(1800) + .EUt(GTValues.VA[GTValues.LV]) + + event.custom({ + type: 'vintageimprovements:centrifugation', + ingredients: [{ item: 'tfg:flax_product' }], + results: [{ item: 'tfg:flax_line', count: 2 }, { item: 'tfg:flax_tow' }, { item: 'tfc:groundcover/humus' }], + processingTime: 40 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id('tfg:vi_seperate_flax') + + event.custom({ + type: 'vintageimprovements:centrifugation', + ingredients: [{ item: 'tfg:flax_bundle' }], + results: [{ item: 'tfg:flax_line', count: 18 }, { item: 'tfg:flax_tow', count: 9 }, { item: 'tfc:groundcover/humus', count: 9 }], + processingTime: 360 * 90 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id('tfg:vi_seperate_flax_from_bundle') + + // #endregion + + //#region flax line spinning + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x tfg:linen_thread', [ + 'tfg:flax_line', + 'tfc:spindle' + ]).id('tfg:shapeless/linen_thread') + ) + + event.custom({ + type: 'vintageimprovements:coiling', + ingredients: [{ item: 'tfg:flax_line' }], + results: [{ item: 'tfg:linen_thread', count: 4 }], + processingTime: 2 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id('tfg:vi_spin_flax_line') + + event.recipes.gtceu.wiremill('tfg:spin_flax_line') + .itemInputs('tfg:flax_line') + .itemOutputs('4x tfg:linen_thread') + .duration(80) + .EUt(GTValues.VA[GTValues.LV]) + //#endregion + //#region flax looming + event.recipes.tfc.loom( + '1x tfg:linen_cloth', + '16x tfg:linen_thread', + 8, + 'tfc:block/burlap' + ) + + event.recipes.tfc.loom( + '1x tfc:burlap_cloth', + '16x tfg:flax_tow', + 12, + 'tfc:block/burlap' + ) + + event.recipes.gtceu.assembler('tfg:assembler/linen_cloth') + .itemInputs('16x tfg:linen_thread') + .circuit(10) + .itemOutputs('tfg:linen_cloth') + .duration(100) + .EUt(4) + + event.recipes.gtceu.assembler('tfg:assembler/flax_burlap') + .itemInputs('16x tfg:flax_tow') + .circuit(10) + .itemOutputs('tfc:burlap_cloth') + .duration(100) + .EUt(4) + //#endregion +} \ 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 new file mode 100644 index 000000000..623e231a2 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.compost.js @@ -0,0 +1,194 @@ +"use strict"; + +function registerTFGCompostRecipes(event) { + //#region Fertiliser + event.recipes.gtceu.mixer('tfg:fertilizer') + .itemInputs( + '#tfc:dirt', + '2x #tfg:wood_dusts', + '4x #forge:sand' + ) + .circuit(1) + .inputFluids("#tfg:clean_water 1000") + .itemOutputs('4x gtceu:fertilizer') + .duration(300) + .EUt(30) + + event.recipes.gtceu.mixer('tfg:fertilizer_2') + .itemInputs('tfc:compost') + .inputFluids('#tfg:clean_water 1000') + .itemOutputs('4x gtceu:fertilizer') + .duration(300) + .EUt(30) + + event.recipes.gtceu.centrifuge('tfg:gtceu/centrifuge/pure_fertilizers') + .itemInputs('1x 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)) + .itemOutputs('1x gtceu:fertilizer') + .duration(160) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.gas_pressurizer('tfg:pure_nitrogen') + .itemInputs('#forge:wax') + .inputFluids(Fluid.of('gtceu:nitrogen', 1000)) + .itemOutputs('16x tfc:pure_nitrogen') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + //#endregion + + // Humus and compost + event.recipes.gtceu.extractor('tfg:humus_from_leaves') + .itemInputs('#minecraft:leaves') + .itemOutputs('tfc:groundcover/humus') + .duration(600) + .EUt(2) + + event.recipes.gtceu.extractor('tfg:humus_from_fallen_leaves') + .itemInputs('#tfc:fallen_leaves') + .itemOutputs('tfc:groundcover/humus') + .duration(600) + .EUt(2) + + event.recipes.gtceu.fermenter('tfg:fertilizer_to_compost') + .itemInputs('4x gtceu:fertilizer') + .itemOutputs('tfc:compost') + .duration(1200) + .EUt(2) + + const BROWNS = [ '16x #tfc:compost_browns_low', '8x #tfc:compost_browns', '4x #tfc:compost_browns_high' ]; + const GREENS = [ '16x #tfc:compost_greens_low', '8x #tfc:compost_greens', '4x #tfc:compost_greens_high' ]; + + let i = 0; + BROWNS.forEach(brown => { + GREENS.forEach(green => { + event.recipes.gtceu.mixer(`tfg:compost_${i++}`) + .itemInputs(brown, green) + .itemOutputs('tfc:compost') + .duration(1200) + .EUt(2) + }) + }) + + //Greens + // Lows via crafting with mortar + event.shaped(Item.of('tfg:universal_compost_greens', 1), [ + 'AB' + ], { + A: '#tfc:compost_greens_low', + B: '#forge:tools/mortars' + }).id('tfg:shaped/universal_compost_greens_from_low') + + // Mediums via crafting with mortar + event.shaped(Item.of('tfg:universal_compost_greens', 2), [ + 'AB' + ], { + A: '#tfc:compost_greens', + B: '#forge:tools/mortars' + }).id('tfg:shaped/universal_compost_greens_from_medium') + + // Highs via crafting with mortar + event.shaped(Item.of('tfg:universal_compost_greens', 4), [ + 'AB' + ], { + A: '#tfc:compost_greens_high', + B: '#forge:tools/mortars' + }).id('tfg:shaped/universal_compost_greens_from_high') + + // Filters + const greens_low = Ingredient.of('#tfc:compost_greens_low') + const browns_low = Ingredient.of('#tfc:compost_browns_low').itemIds + const greens_medium = Ingredient.of('#tfc:compost_greens') + const browns_medium = Ingredient.of('#tfc:compost_browns').itemIds + const greens_high = Ingredient.of('#tfc:compost_greens_high') + const browns_high = Ingredient.of('#tfc:compost_browns_high').itemIds + + let low_filtered = greens_low + let medium_filtered = greens_medium + let high_filtered = greens_high + + browns_low.forEach(item => { + low_filtered = low_filtered.subtract(item) + low_filtered = low_filtered.subtract('tfg:universal_compost_greens') + }) + browns_medium.forEach(item => { + medium_filtered = medium_filtered.subtract(item) + }) + browns_high.forEach(item => { + high_filtered = high_filtered.subtract(item) + }) + + // Lows via forge hammer + event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_low') + .itemInputs(low_filtered) + .itemOutputs('tfg:universal_compost_greens') + .duration(20) + .EUt(8) + + // Mediums via forge hammer + event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_medium') + .itemInputs(medium_filtered) + .itemOutputs(Item.of('tfg:universal_compost_greens', 2)) + .duration(20) + .EUt(8) + + // Highs via forge hammer + event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_high') + .itemInputs(high_filtered) + .itemOutputs(Item.of('tfg:universal_compost_greens', 4)) + .duration(20) + .EUt(8) + + //Browns + // Lows via crafting with mortar + event.shaped(Item.of('tfg:universal_compost_browns', 1), [ + 'A', + 'B' + ], { + A: '#tfc:compost_browns_low', + B: '#forge:tools/mortars' + }).id('tfg:shaped/universal_compost_browns_from_low') + + // Mediums via crafting with mortar + event.shaped(Item.of('tfg:universal_compost_browns', 2), [ + 'A', + 'B' + ], { + A: '#tfc:compost_browns', + B: '#forge:tools/mortars' + }).id('tfg:shaped/universal_compost_browns_from_medium') + + // Highs via crafting with mortar + event.shaped(Item.of('tfg:universal_compost_browns', 4), [ + 'A', + 'B' + ], { + A: '#tfc:compost_browns_high', + B: '#forge:tools/mortars' + }).id('tfg:shaped/universal_compost_browns_from_high') + + // Lows via forge hammer + event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_low') + .itemInputs('#tfc:compost_browns_low') + .itemOutputs('tfg:universal_compost_browns') + .duration(20) + .EUt(8) + + // Mediums via forge hammer + event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_medium') + .itemInputs('#tfc:compost_browns') + .itemOutputs(Item.of('tfg:universal_compost_browns', 2)) + .duration(20) + .EUt(8) + + // Highs via forge hammer + event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_high') + .itemInputs('#tfc:compost_browns_high') + .itemOutputs(Item.of('tfg:universal_compost_browns', 4)) + .duration(20) + .EUt(8) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.fishing_nets.js b/kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js similarity index 100% rename from kubejs/server_scripts/tfg/recipes.fishing_nets.js rename to kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js diff --git a/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js b/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js new file mode 100644 index 000000000..29ccd1771 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js @@ -0,0 +1,101 @@ +"use strict"; + +function registerTFGChipboardRecipes(event) { + + // Glue from resin + event.recipes.gtceu.extractor('tfg:glue_from_tfc_glue') + .itemInputs('tfc:glue') + .outputFluids(Fluid.of('gtceu:glue', 50)) + .duration(20 * 10) + .EUt(5) + + event.recipes.gtceu.extractor('tfg:glue_from_sticky_resin') + .itemInputs('gtceu:sticky_resin') + .outputFluids(Fluid.of('gtceu:glue', 100)) + .duration(20 * 10) + .EUt(5) + + event.recipes.gtceu.extractor('tfg:glue_from_conifer_resin') + .itemInputs('tfg:conifer_rosin') + .outputFluids(Fluid.of('gtceu:glue', 50)) + .duration(20 * 10) + .EUt(5) + + event.recipes.gtceu.mixer('tfg:glue_from_bone_meal') + .itemInputs('minecraft:bone_meal') + .inputFluids(Fluid.of('tfc:limewater', 500)) + .outputFluids(Fluid.of('gtceu:glue', 50)) + .duration(100) + .EUt(5) + + // Chipboard + event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax') + .itemInputs('2x #tfg:wood_dusts', + '1x #forge:wax') + .itemOutputs('2x tfg:chipboard_composite') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('gtceu:chipboard_composite_resin') + .itemInputs('4x #tfg:wood_dusts', + '1x gtceu:sticky_resin') + .itemOutputs('4x tfg:chipboard_composite') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('gtceu:chipboard_composite_glue') + .itemInputs('2x #tfg:wood_dusts', + '1x tfc:glue') + .itemOutputs('2x tfg:chipboard_composite') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + + event.recipes.gtceu.mixer('gtceu:chipboard_composite_fluid_glue') + .itemInputs('1x #tfg:wood_dusts') + .inputFluids(Fluid.of('gtceu:glue', 25)) + .itemOutputs('1x tfg:chipboard_composite') + .duration(10) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.compressor('gtceu:wood_mdf') + .itemInputs('1x tfg:chipboard_composite') + .itemOutputs('gtceu:wood_plate') + .duration(200) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.chemical_bath('gtceu:treated_chipboard_composite') + .itemInputs('1x tfg:chipboard_composite') + .inputFluids(Fluid.of('gtceu:creosote', 50)) + .itemOutputs('tfg:treated_chipboard_composite') + .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)) + .itemOutputs('gtceu:treated_wood_dust') + .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/primitive/recipes.ice.js b/kubejs/server_scripts/tfg/primitive/recipes.ice.js new file mode 100644 index 000000000..b610d3c9a --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.ice.js @@ -0,0 +1,104 @@ +"use strict"; + +function registerTFGIceRecipes(event) { + + // Ice + event.remove({ id: 'gtceu:compressor/ice_from_dust' }) + event.remove({ id: 'gtceu:compressor/ice_from_snow' }) + + event.shapeless('#forge:dusts/ice', ['#forge:tools/mortars', '4x firmalife:ice_shavings']) + .id('tfg:shaped/ice_shavings') + + event.recipes.tfc.quern('#forge:small_dusts/ice', 'firmalife:ice_shavings') + .id('tfg:quern/ice_dust') + + event.recipes.gtceu.macerator('tfg:macerating_ice_shavings') + .itemInputs('firmalife:ice_shavings') + .itemOutputs('#forge:small_dusts/ice') + .duration(10) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.macerator('tfg:macerating_ice_shavings_reverse') + .itemInputs('#forge:dusts/ice') + .itemOutputs('4x firmalife:ice_shavings') + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.fluid_solidifier('tfg:ice') + .inputFluids("#tfg:clean_water 144") + .notConsumable('gtceu:block_casting_mold') + .itemOutputs('minecraft:ice') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + + event.shapeless('4x firmalife:ice_shavings', ['#forge:dusts/ice', '#forge:tools/hammers']) + + event.recipes.gtceu.mixer('tfg:ice_slush_from_dry_ice') + .itemInputs('1x tfg:dry_ice') + .inputFluids("#tfc:water 8000") + .outputFluids(Fluid.of('gtceu:ice', 8000)) + .duration(80) + .EUt(GTValues.VA[GTValues.ULV]) + + // Cooling water + event.recipes.tfc.barrel_sealed(250) + .inputItem('1x tfg:dry_ice') + .inputFluid(Fluid.of('minecraft:water', 5000)) + .outputFluid(Fluid.of('gtceu:ice', 5000)) + .id('tfg:barrel/cooling_water_0') + + event.recipes.tfc.barrel_sealed(1000) + .inputItem('1x #forge:dusts/ice') + .inputFluid(Fluid.of('minecraft:water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_1') + + event.recipes.tfc.barrel_sealed(1000) + .inputItem('16x minecraft:snowball') + .inputFluid(Fluid.of('minecraft:water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_2') + + event.recipes.tfc.barrel_sealed(2000) + .inputItem('1x #forge:dusts/ice') + .inputFluid(Fluid.of('tfc:salt_water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_3') + + event.recipes.tfc.barrel_sealed(2000) + .inputItem('16x minecraft:snowball') + .inputFluid(Fluid.of('tfc:salt_water', 144)) + .outputFluid(Fluid.of('gtceu:ice', 144)) + .id('tfg:barrel/cooling_water_4') + + // Freezing it + event.recipes.tfc.barrel_sealed(3000) + .inputItem('9x #forge:dusts/ice') + .inputFluid(Fluid.of('gtceu:ice', 144)) + .outputItem('minecraft:packed_ice') + .id('tfg:barrel/packed_ice') + + // Heating it back up + event.recipes.tfc.pot([], Fluid.of('gtceu:ice', 144), 300, 100) + .fluidOutput(Fluid.of('minecraft:water', 144)) + + event.recipes.firmalife.vat() + .inputFluid(Fluid.of('gtceu:ice', 144)) + .outputFluid(Fluid.of('minecraft:water', 144)) + .length(300) + .temperature(100) + + // Snow + event.recipes.firmalife.stomping('minecraft:snow', 'minecraft:snowball', + 'minecraft:block/snow', 'minecraft:block/snow', 'minecraft:block.snow.place') + .id('tfg:stomping/snow_layer') + + event.shapeless('minecraft:snow_block', ['8x minecraft:snow']) + .id('tfg:shapeless/snow_block') + + event.shapeless('8x minecraft:snowball', ['minecraft:snow_block']) + .id('tfg:shapeless/snowball') + + event.shapeless('8x minecraft:snow', ['minecraft:snow_block', '#forge:tools/saws']) + .id('tfg:shapeless/snow') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/recipes.knapping.js b/kubejs/server_scripts/tfg/primitive/recipes.knapping.js similarity index 99% rename from kubejs/server_scripts/tfc/recipes.knapping.js rename to kubejs/server_scripts/tfg/primitive/recipes.knapping.js index 1240dd49d..8c9113e82 100644 --- a/kubejs/server_scripts/tfc/recipes.knapping.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.knapping.js @@ -1,7 +1,7 @@ // priority: 0 "use strict"; -function registerTFCKnappingRecipes(event) { +function registerTFGKnappingRecipes(event) { //#region Топор diff --git a/kubejs/server_scripts/tfg/primitive/recipes.leather.js b/kubejs/server_scripts/tfg/primitive/recipes.leather.js new file mode 100644 index 000000000..4a99ace21 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.leather.js @@ -0,0 +1,212 @@ +// priority: 0 +"use strict"; + +function registerTFGLeatherRecipes(event) { + + // Limewater + event.recipes.gtceu.mixer('tfg:limewater_from_lime') + .itemInputs('tfc:powder/lime') + .inputFluids(Fluid.of('water', 500)) + .outputFluids(Fluid.of('tfc:limewater', 500)) + .duration(20) + .EUt(16) + + event.recipes.gtceu.mixer('tfg:limewater_from_flux') + .itemInputs('tfc:powder/flux') + .inputFluids(Fluid.of('water', 500)) + .outputFluids(Fluid.of('tfc:limewater', 500)) + .duration(20) + .EUt(16) + + // Tannin + event.recipes.gtceu.chemical_bath('tfg:tannin') + .itemInputs('#tfc:makes_tannin') + .inputFluids(Fluid.of('water', 1000)) + .outputFluids(Fluid.of('tfc:tannin', 1000)) + .duration(2400) + .EUt(16) + + // Soaked hides + event.recipes.gtceu.chemical_bath('tfg:small_soaked_hide') + .itemInputs('tfc:small_raw_hide') + .inputFluids(Fluid.of('tfc:limewater', 300)) + .itemOutputs('tfc:small_soaked_hide') + .duration(1600) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:medium_soaked_hide') + .itemInputs('tfc:medium_raw_hide') + .inputFluids(Fluid.of('tfc:limewater', 400)) + .itemOutputs('tfc:medium_soaked_hide') + .duration(2400) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:large_soaked_hide') + .itemInputs('tfc:large_raw_hide') + .inputFluids(Fluid.of('tfc:limewater', 500)) + .itemOutputs('tfc:large_soaked_hide') + .duration(3200) + .EUt(16) + + // Scraped Hides + event.recipes.gtceu.cutter('tfg:small_scraped_hide') + .itemInputs('tfc:small_soaked_hide') + .itemOutputs('tfc:small_scraped_hide') + .duration(100) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:medium_scraped_hide') + .itemInputs('tfc:medium_soaked_hide') + .itemOutputs('tfc:medium_scraped_hide') + .duration(100) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:large_scraped_hide') + .itemInputs('tfc:large_soaked_hide') + .itemOutputs('tfc:large_scraped_hide') + .duration(100) + .EUt(7) + + // Prepared hides + event.recipes.gtceu.chemical_bath('tfg:small_prepared_hide') + .itemInputs('tfc:small_soaked_hide') + .inputFluids(Fluid.of('water', 300)) + .itemOutputs('tfc:small_prepared_hide') + .duration(1600) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:medium_prepared_hide') + .itemInputs('tfc:medium_soaked_hide') + .inputFluids(Fluid.of('water', 400)) + .itemOutputs('tfc:medium_prepared_hide') + .duration(2400) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:large_prepared_hide') + .itemInputs('tfc:large_soaked_hide') + .inputFluids(Fluid.of('water', 500)) + .itemOutputs('tfc:large_prepared_hide') + .duration(3200) + .EUt(16) + + // Leather + event.recipes.gtceu.chemical_bath('tfg:small_leather') + .itemInputs('tfc:small_prepared_hide') + .inputFluids(Fluid.of('tfc:tannin', 300)) + .itemOutputs('minecraft:leather') + .duration(1600) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:medium_leather') + .itemInputs('tfc:medium_prepared_hide') + .inputFluids(Fluid.of('tfc:tannin', 400)) + .itemOutputs('2x minecraft:leather') + .duration(2400) + .EUt(16) + + event.recipes.gtceu.chemical_bath('tfg:large_leather') + .itemInputs('tfc:large_prepared_hide') + .inputFluids(Fluid.of('tfc:tannin', 500)) + .itemOutputs('3x minecraft:leather') + .duration(3200) + .EUt(16) + + // 1x Small SheepSkin -> 1x Wool + event.recipes.gtceu.assembler('tfg:tfc/wool_1') + .itemInputs('tfc:small_sheepskin_hide') + .itemOutputs('tfc:wool') + .duration(100) + .circuit(3) + .EUt(4) + + // 1x Medium SheepSkin -> 1x Wool + event.recipes.gtceu.assembler('tfg:tfc/wool_2') + .itemInputs('tfc:medium_sheepskin_hide') + .itemOutputs('2x tfc:wool') + .duration(100) + .circuit(3) + .EUt(4) + + // 1x Large SheepSkin -> 1x Wool + event.recipes.gtceu.assembler('tfg:tfc/wool_3') + .itemInputs('tfc:large_sheepskin_hide') + .itemOutputs('3x tfc:wool') + .duration(100) + .circuit(3) + .EUt(4) + + //Hide Sewing + const stages = [ + 'raw', + 'soaked', + 'scraped', + 'prepared', + 'sheepskin' + ]; + + stages.forEach(stage => { + //Combining + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`1x tfc:medium_${stage}_hide`, [ + `2x tfc:small_${stage}_hide`, + '#tfc:sewing_needles', + '#forge:string', + 'tfc:glue' + ]).id(`tfg:tfc/small_to_medium_${stage}_hide`) + ) + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`1x tfc:large_${stage}_hide`, [ + `3x tfc:small_${stage}_hide`, + '#tfc:sewing_needles', + '#forge:string', + 'tfc:glue' + ]).id(`tfg:tfc/small_to_large_${stage}_hide`) + ) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_medium_${stage}_hide`) + .inputFluids(Fluid.of('gtceu:glue', 25)) + .itemOutputs(`1x tfc:medium_${stage}_hide`) + .itemInputs(`2x tfc:small_${stage}_hide`) + .duration(60) + .circuit(7) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/small_to_large_${stage}_hide`) + .inputFluids(Fluid.of('gtceu:glue', 25)) + .itemOutputs(`1x tfc:large_${stage}_hide`) + .itemInputs(`3x tfc:small_${stage}_hide`) + .duration(60) + .circuit(9) + .EUt(GTValues.VA[GTValues.ULV]) + + //Cutting + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`2x tfc:small_${stage}_hide`, [ + `1x tfc:medium_${stage}_hide`, + '#forge:shears' + ]).id(`tfg:tfc/medium_to_small_${stage}_hide`) + ) + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless(`3x tfc:small_${stage}_hide`, [ + `1x tfc:large_${stage}_hide`, + '#forge:shears' + ]).id(`tfg:tfc/large_to_small_${stage}_hide`) + ) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/medium_to_small_${stage}_hide`) + .itemOutputs(`2x tfc:small_${stage}_hide`) + .itemInputs(`1x tfc:medium_${stage}_hide`) + .duration(60) + .circuit(4) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.assembler(`tfg:gtceu/assembler/large_to_small_${stage}_hide`) + .itemOutputs(`3x tfc:small_${stage}_hide`) + .itemInputs(`1x tfc:large_${stage}_hide`) + .duration(60) + .circuit(6) + .EUt(GTValues.VA[GTValues.ULV]) + }); + +} diff --git a/kubejs/server_scripts/tfg/recipes.medicine.js b/kubejs/server_scripts/tfg/primitive/recipes.medicine.js similarity index 100% rename from kubejs/server_scripts/tfg/recipes.medicine.js rename to kubejs/server_scripts/tfg/primitive/recipes.medicine.js diff --git a/kubejs/server_scripts/tfg/recipes.paper.js b/kubejs/server_scripts/tfg/primitive/recipes.paper.js similarity index 91% rename from kubejs/server_scripts/tfg/recipes.paper.js rename to kubejs/server_scripts/tfg/primitive/recipes.paper.js index ced487b9f..63cc6a933 100644 --- a/kubejs/server_scripts/tfg/recipes.paper.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.paper.js @@ -5,7 +5,34 @@ * @param {Internal.RecipesEventJS} event */ function registerTFGPapermakingRecipes(event) { - + + event.recipes.gtceu.cutter('tfg:unrefined_paper') + .itemInputs('tfc:unrefined_paper') + .itemOutputs('minecraft:paper') + .duration(100) + .EUt(7) + + event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled') + .itemInputs('tfc:papyrus') + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs('4x tfc:soaked_papyrus_strip') + .duration(100) + .EUt(7) + + event.recipes.gtceu.chemical_bath('paper_from_papyrus') + .itemInputs('tfc:papyrus') + .inputFluids("#tfg:clean_water 100") + .itemOutputs('4x tfc:soaked_papyrus_strip') + .duration(100) + .EUt(7) + + event.recipes.gtceu.assembler('papyrus_strips') + .itemInputs('4x tfc:soaked_papyrus_strip') + .itemOutputs('minecraft:paper') + .circuit(1) + .duration(100) + .EUt(7) + const generateVatRecipe = (id, inputItem, fluid, fluidAmount, output) => { event.custom({ "type": "firmalife:vat", diff --git a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js new file mode 100644 index 000000000..f607c75ea --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js @@ -0,0 +1,133 @@ +"use strict"; + +function registerTFGRubberRecipes(event) { + + // Sticky resin + event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000), 1200, 300) + .itemOutput('gtceu:sticky_resin') + .id('tfg:pot/sticky_resin_from_latex') + + event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300) + .itemOutput('gtceu:sticky_resin') + .id('tfg:pot/sticky_resin_from_conifer_pitch') + + event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/latex_to_sticky_resin') + .duration(12 * 20) + .EUt(30) + .itemInputs('tfc:powder/wood_ash') + .itemOutputs('gtceu:sticky_resin') + .inputFluids(Fluid.of('tfg:latex', 1000)) + + event.recipes.gtceu.fluid_solidifier('tfg:fluid_solidifier/pitch_to_sticky_resin') + .duration(12 * 20) + .EUt(30) + .itemInputs('tfc:powder/wood_ash') + .itemOutputs('gtceu:sticky_resin') + .inputFluids(Fluid.of('tfg:conifer_pitch', 1000)) + + // Rubber Processing Line + event.recipes.firmalife.vat() + .inputs('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000)) + .outputFluid(Fluid.of('tfg:vulcanized_latex', 1000)) + .length(300) + .temperature(300) + .id('tfg:vat/vulcanized_latex') + + event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 1200, 300) + .fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000)) + .id('tfg:pot/vulcanized_latex') + + event.recipes.gtceu.chemical_reactor('tfg:latex_to_vulcanized_latex') + .duration(100) + .EUt(20) + .itemInputs('tfc:powder/sulfur') + .inputFluids(Fluid.of('tfg:latex', 1000)) + .outputFluids(Fluid.of('tfg:vulcanized_latex', 1000)) + + event.recipes.gtceu.fluid_solidifier('tfg:vulcanized_latex_to_raw_rubber_pulp') + .duration(100) + .EUt(20) + .inputFluids(Fluid.of('tfg:vulcanized_latex', 1000)) + .itemOutputs('4x gtceu:raw_rubber_dust') + + event.recipes.gtceu.fluid_solidifier('tfg:solidify_glue') + .inputFluids(Fluid.of('gtceu:glue', 50)) + .notConsumable('gtceu:ball_casting_mold') + .itemOutputs('tfc:glue') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_rosin') + .itemInputs('tfg:conifer_rosin') + .outputFluids(Fluid.of('gtceu:glue', 50)) + .itemOutputs('2x #forge:dusts/carbon') + .chancedOutput('gtceu:plant_ball', 7500, 0) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.centrifuge('tfg:centrifuge_sticky_resin') + .itemInputs('gtceu:sticky_resin') + .outputFluids(Fluid.of('gtceu:glue', 100)) + .itemOutputs('3x #forge:dusts/carbon') + .chancedOutput('gtceu:plant_ball', 5000, 0) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor(`tfg:treat_latex_plants_into_latex`) + .itemInputs('16x #tfg:rubber_plants', 'gtceu:tiny_sodium_hydroxide_dust') + .circuit(1) + .outputFluids(Fluid.of('tfg:latex', 1000)) + .duration(200) + .EUt(20) + + + // #region Primitive protection + + event.recipes.tfc.barrel_sealed(2000) + .outputItem('tfg:prepared_leather_gloves') + .inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000)) + .id('tfg:sealed_barrel/prepared_leather_gloves') + + event.recipes.firmalife.vat() + .outputItem('tfg:latex_soaked_gloves') + .inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000)) + .length(300) + .temperature(200) + .id('tfg:vat/latex_soaked_gloves') + + event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves') + .id('tfg:oven/rubber_gloves') + + event.remove({ id: 'gtceu:shaped/rubber_gloves' }) + + event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter') + .itemInputs('2x #forge:plates/rubber') + .notConsumable('create:brass_hand') + .itemOutputs('gtceu:rubber_gloves') + .duration(200) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.INGOT_MOLDING) + + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('gtceu:face_mask', [ + 'ACA', + 'ABA', + ' D ' + ], { + A: '#forge:string', + B: '#forge:cloth', + C: 'minecraft:paper', + D: '#tfc:sewing_needles' + }) + ).id('gtceu:shaped/face_mask') + + event.recipes.gtceu.assembler('assemble_face_mask') + .itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper') + .itemOutputs('gtceu:face_mask') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + .circuit(7) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js similarity index 100% rename from kubejs/server_scripts/tfg/recipes.supports.js rename to kubejs/server_scripts/tfg/primitive/recipes.supports.js diff --git a/kubejs/server_scripts/tfg/primitive/recipes.vases.js b/kubejs/server_scripts/tfg/primitive/recipes.vases.js new file mode 100644 index 000000000..ac6355a85 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.vases.js @@ -0,0 +1,59 @@ +"use strict"; + +function registerTFGVaseRecipes(event) { + + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/dyeing/decorative_vase/unfired/${color}`) + .itemInputs('#tfg:decorative_vases/unfired') + .inputFluids(Fluid.of(`tfc:${color}_dye`, 25)) + .itemOutputs(`tfg:decorative_vase/unfired/${color}`) + .duration(80) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.CHEM_DYES) + + event.recipes.tfc.heating(`tfg:decorative_vase/unfired/${color}`, 1399) + .resultItem(`tfg:decorative_vase/${color}`) + .id(`tfg:heating/decorative_vase/unfired/${color}`) + + event.recipes.tfc.barrel_sealed(1000) + .outputItem(`tfg:decorative_vase/unfired/${color}`) + .inputItem(Ingredient.of('#tfg:decorative_vases/unfired').subtract(`tfg:decorative_vase/unfired/${color}`)) + .inputFluid(Fluid.of(`tfc:${color}_dye`, 25)) + .id(`tfg:barrel/dyeing/decorative_vase/${color}`) + + event.smelting( + `1x tfg:decorative_vase/${color}`, + `tfg:decorative_vase/unfired/${color}` + ).id(`tfg:smelting/decorative_vase/${color}`) + }) + + event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/bleaching/decorative_vase/unfired`) + .itemInputs('#tfg:decorative_vases/unfired') + .inputFluids(Fluid.of('gtceu:chlorine', 72)) + .itemOutputs('tfg:decorative_vase/unfired') + .duration(80) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.CHEM_DYES) + + event.smelting( + '1x tfg:decorative_vase', + 'tfg:decorative_vase/unfired' + ).id('tfg:smelting/decorative_vase') + + event.recipes.tfc.heating('tfg:decorative_vase/unfired', 1399) + .resultItem('tfg:decorative_vase') + .id('tfg:heating/decorative_vase/unfired') + + event.recipes.tfc.knapping( + 'tfg:decorative_vase/unfired', + 'tfc:clay', + [ + ' X X ', + 'XX XX', + 'X X', + 'X X', + 'XXXXX' + ] + ).outsideSlotRequired(false) + .id('tfg:knapping/decorative_vase/unfired') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wax.js b/kubejs/server_scripts/tfg/primitive/recipes.wax.js new file mode 100644 index 000000000..3ebf064b4 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.wax.js @@ -0,0 +1,64 @@ +"use strict"; + +function registerTFGWaxRecipes(event) { + + //forge:wax + event.replaceInput({}, 'firmalife:beeswax', '#forge:wax') + + //paraffin + event.recipes.gtceu.chemical_reactor('tfg:paraffin_wax_from_lubricant') + .circuit(7) + .itemOutputs('6x tfg:paraffin_wax') + .outputFluids(Fluid.of('gtceu:oil_light', 25)) + .inputFluids(Fluid.of('gtceu:lubricant', 250), Fluid.of('gtceu:acetone', 25)) + .duration(500) + .EUt(GTValues.VA[GTValues.LV]) + + // Rosin + event.recipes.firmalife.vat() + .inputs('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000)) + .outputItem('tfg:conifer_rosin') + .id('tfg:vat/conifer_pitch_to_rosin'); + + event.recipes.tfc.pot('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300) + .itemOutput('tfg:conifer_rosin') + .id('tfg:pot/conifer_pitch_to_rosin') + + event.recipes.gtceu.fluid_solidifier('tfg:pitch_to_rosin') + .inputFluids(Fluid.of('tfg:conifer_pitch', 1000)) + .itemInputs('tfc:powder/charcoal') + .itemOutputs('tfg:conifer_rosin') + .duration(20 * 12) + .EUt(GTValues.VA[GTValues.LV]) + + //#region Wax Unification + + // Recipe Removals + event.remove({ id: 'gtceu:extractor/extract_honeycomb_block' }); + event.remove({ id: 'gtceu:extractor/extract_honeycomb' }); + event.remove({ id: 'gtceu:extractor/extract_wax_dust' }); + + // Extractor Recipe + event.recipes.gtceu.extractor('tfg:wax_melting') + .itemInputs(Ingredient.of('#forge:wax')) + .outputFluids(Fluid.of('gtceu:wax', 144)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING); + + event.recipes.gtceu.extractor('tfg:tiny_wax_dust_melting') + .itemInputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Wax, 1)) + .outputFluids(Fluid.of('gtceu:wax', 16)) + .duration(10) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING); + + event.recipes.gtceu.extractor('tfg:small_wax_dust_melting') + .itemInputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Wax, 1)) + .outputFluids(Fluid.of('gtceu:wax', 36)) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .category(GTRecipeCategories.EXTRACTOR_RECYCLING); + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wood.js b/kubejs/server_scripts/tfg/primitive/recipes.wood.js new file mode 100644 index 000000000..23367a412 --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/recipes.wood.js @@ -0,0 +1,236 @@ +"use strict"; + +function registerTFGWoodRecipes(event) { + + event.replaceInput({ output: '#tfc:sewing_tables'}, '#forge:shears', '#forge:tools/knives') + event.replaceInput({ id: 'gtceu:shaped/powderbarrel' }, 'gtceu:wood_plate', '#tfc:lumber') + + // Wood ash + event.smelting('4x tfc:powder/wood_ash', '1x #minecraft:logs_that_burn').id('tfg:wood_ash') + + event.recipes.gtceu.chemical_reactor('tfg:wood_ash_to_wood_gas_air') + .itemInputs('8x tfc:powder/wood_ash') + .inputFluids(Fluid.of('gtceu:air', 100)) + .outputFluids('gtceu:wood_gas 100') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.create.splashing([Item.of('tfc:powder/wood_ash').withChance(0.25), Item.of('minecraft:stick').withChance(0.25)], 'tfc:torch') + .id('tfg:splashing/wash_torch') + + // Just a dummy recipe to tell people they can get wood ash by throwing torches in water via TFC + event.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [{ item: 'tfc:torch' }], + result: { item: 'tfc:powder/wood_ash' } + }).id(`tfg:ae_transform/torch_to_wood_ash`) + + // Ladder + event.shaped('8x minecraft:ladder', [ + 'A A', + 'AAA', + 'A A' + ], { + A: '#forge:rods/wooden' + }).id('gtceu:shaped/ladder') + + event.shaped('8x minecraft:ladder', [ + 'A A', + 'AAA', + 'A A' + ], { + A: '#tfc:lumber' + }).id('tfc:crafting/vanilla/ladder') + + event.replaceInput({ id: 'tfc:crafting/vanilla/armor_stand' }, '#minecraft:planks', '#tfc:lumber') + event.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' }) + + // Treated Wood + event.remove({ id: 'gtceu:shaped/treated_wood_planks' }) + + event.recipes.tfc.barrel_sealed(4000) + .outputItem('gtceu:treated_wood_planks') + .inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100)) + .id('tfg:barrel/treated_wood_planks') + + event.recipes.tfc.barrel_sealed(2000) + .outputItem('gtceu:treated_wood_dust') + .inputs('#tfg:wood_dusts', TFC.fluidStackIngredient('#forge:creosote', 50)) + .id('tfg:barrel/treated_wood_dust') + + event.shaped('2x gtceu:treated_wood_door', [ + 'AA ', + 'AA ', + 'AA ' + ], { + A: 'gtceu:treated_wood_plate' + }).id('tfg:shaped/treated_door') + + event.shaped('3x gtceu:treated_wood_trapdoor', [ + 'AAA', + 'AAA', + ' ' + ], { + A: 'gtceu:treated_wood_plate' + }).id('tfg:shaped/treated_trapdoor') + + event.shaped('gtceu:treated_wood_pressure_plate', [ + ' B ', + 'CDC', + ' E ' + ], { + B: '#tfc:hammers', + C: 'gtceu:treated_wood_slab', + D: '#forge:small_springs', + E: '#forge:tools/screwdrivers' + }).id('gtceu:shaped/treated_pressure_plate') + + event.recipes.gtceu.assembler('gtceu:treated_pressure_plate') + .itemInputs('#forge:small_springs', '2x gtceu:treated_wood_slab') + .itemOutputs('gtceu:treated_wood_pressure_plate') + .circuit(3) + .duration(50) + .EUt(2) + + event.replaceOutput({ id: 'gtceu:cutter/treated_button' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') + event.replaceOutput({ id: 'gtceu:cutter/treated_button_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') + event.replaceOutput({ id: 'gtceu:cutter/treated_button_distilled_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button') + + event.replaceOutput({ id: 'gtceu:cutter/bamboo_button' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') + event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') + event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_distilled_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button') + + // Empty Wooden Form + event.shaped('gtceu:empty_wooden_form', [ + ' AA', + 'BAA' + ], { + A: '#minecraft:planks', + B: '#forge:tools/saws' + }).id('gtceu:shaped/plank_to_wooden_shape') + + // Wood gears + event.shaped('gtceu:small_wood_gear', [ + 'AB ', + 'BCB', + ' B ' + ], { + A: '#forge:tools/saws', + B: '#forge:rods/wooden', + C: 'tfc:glue' + }).id('gtceu:shaped/small_gear_wood') + + event.shaped('gtceu:wood_gear', [ + 'AB ', + 'BCB', + ' B ' + ], { + A: '#forge:tools/saws', + B: '#minecraft:planks', + C: 'tfc:glue' + }).id('gtceu:shaped/gear_wood') + + // Sticks + event.shapeless('2x minecraft:stick', ['#minecraft:saplings', '#forge:tools/knives']).id('tfg:strip_saplings') + + event.recipes.gtceu.cutter('tfg:saplings_to_sticks') + .itemInputs('#minecraft:saplings') + .itemOutputs('2x minecraft:stick') + .duration(20) + .EUt(7) + + event.recipes.gtceu.packer('tfg:stick_bunch') + .itemInputs('9x #forge:rods/wooden') + .circuit(5) + .itemOutputs('tfc:stick_bunch') + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.packer('tfg:stick_bundle') + .itemInputs('18x #forge:rods/wooden') + .circuit(8) + .itemOutputs('tfc:stick_bundle') + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + + // Какие то рецепты дерева + global.TFC_WOOD_TYPES.forEach(wood => { + event.remove({ id: `tfc:crafting/wood/${wood}_axle` }) + event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) + event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) + event.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) + event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) + event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) + + // Бревна -> Пиломатериалы + generateCutterRecipe(event, `#tfc:${wood}_logs`, `16x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_log`) + + // Доски -> Пиломатериалы + generateCutterRecipe(event, `tfc:wood/planks/${wood}`, `4x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_planks`) + + // Ступень -> Пиломатериалы + generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, `3x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_stairs`) + + + // Плита -> Пиломатериалы + generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, `2x tfc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`) + + // ? -> Деревянная нажимная пластина + event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [ + ' B ', + 'CDC', + ' E ' + ], { + B: '#tfc:hammers', + C: `tfc:wood/planks/${wood}_slab`, + D: '#forge:small_springs', + E: '#forge:tools/screwdrivers' + }).id(`tfc:crafting/wood/${wood}_pressure_plate`) + + event.recipes.gtceu.assembler(`${wood}_pressure_plate`) + .itemInputs('#forge:small_springs', `2x tfc:wood/planks/${wood}_slab`) + .circuit(3) + .itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`) + .duration(50) + .EUt(2) + + // ? -> Деревянная кнопка + event.remove({ id: `tfc:crafting/wood/${wood}_button` }) + + generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, `6x tfc:wood/planks/${wood}_button`, 50, 7, `${wood}_button`) + + // Stripped logs + event.recipes.gtceu.lathe(`tfg:stripping_${wood}_log`) + .itemInputs(`tfc:wood/log/${wood}`) + .itemOutputs(`tfc:wood/stripped_log/${wood}`) + .duration(50) + .EUt(2) + + event.recipes.gtceu.lathe(`tfg:stripping_${wood}_wood`) + .itemInputs(`tfc:wood/wood/${wood}`) + .itemOutputs(`tfc:wood/stripped_wood/${wood}`) + .duration(50) + .EUt(2) + + event.custom({ + type: 'vintageimprovements:polishing', + ingredients: [{ item: `tfc:wood/log/${wood}` }], + results: [{ item: `tfc:wood/stripped_log/${wood}` }], + speed_limits: 0, + processingTime: 50 + }).id(`tfg:vi/lathe/stripping_${wood}_log`) + + event.custom({ + type: 'vintageimprovements:polishing', + ingredients: [{ item: `tfc:wood/wood/${wood}` }], + results: [{ item: `tfc:wood/stripped_wood/${wood}` }], + speed_limits: 0, + processingTime: 50 + }).id(`tfg:vi/lathe/stripping_${wood}_wood`) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 858f97f91..bbe860782 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -6,22 +6,77 @@ */ const registerTFGRecipes = (event) => { - registerTFGPapermakingRecipes(event) + registerTFGMoldRecipes(event) + registerTFGMiscellaneousRecipes(event) + registerTFGConvertingRecipes(event) + + registerTFGFoodRecipes(event) + registerTFGRefrigeratorRecipes(event) + registerTFGMealBagRecipes(event) + registerTFGBiomassRecipes(event) + + // TFC stone types + registerTFCStoneRecipes(event) + // Non-TFC stone types registerTFGRockRecipes(event) registerTFGCollapseRecipes(event) - registerTFGEarlyPower(event) - registerTFGMoldRecipes(event) - registerTFGMedicineRecipes(event) - registerTFGMiscellaneousRecipes(event) - registerTFGSupportRecipes(event) - registerTFGFishingNetsRecipes(event) - registerTFGConvertingRecipes(event) - registerTFGFoodRecipes(event) - registerTFGSpaceRecipes(event) registerTFGStoneDustRecipes(event) + registerTFGConcreteRecipes(event) + registerTFGAlabasterRecipes(event) + registerTFGDirtRecipes(event) + registerTFGSandRecipes(event) + + registerTFGPapermakingRecipes(event) + registerTFGMedicineRecipes(event) + registerTFGFishingNetsRecipes(event) + registerTFGSupportRecipes(event) + registerTFGVaseRecipes(event) + registerTFGIceRecipes(event) + registerTFGBasketRecipes(event) + registerTFGArrowRecipes(event) + registerTFGCompostRecipes(event) + registerTFGClothRecipes(event) + registerTFGChipboardRecipes(event) + registerTFGWaxRecipes(event) + registerTFGRubberRecipes(event) + registerTFGWoodRecipes(event) + registerTFGKnappingRecipes(event) + registerTFGLeatherRecipes(event) + registerTFGClayRecipes(event) + + registerTFGCasingRecipes(event) + registerTFGEnderPearlRecipes(event) + registerTFGMultiblockRecipes(event) + registerTFGSteamBloomeryRecipes(event) + registerTFGElectronicComponentsRecipes(event) + + registerTFGEarlyGasRecipes(event) + registerTFGBoilerRecipes(event) + registerTFGBiodieselRecipes(event) registerTFGNuclearRecipes(event) registerTFGNuclearComponentsRecipes(event) - registerTFGNOstrumRecipes(event) + registerTFGSolarRecipes(event) + registerTFGCoalRecipes(event) + + registerTFGZirconiumRecipes(event) + registerTFGBromineRecipes(event) + registerTFGTungstenRecipes(event) + registerTFGAlloyingRecipes(event) + registerTFGQuartzRecipes(event) + + registerTFGSpaceRecipes(event) + registerTFGRailgunRecipes(event) + registerTFGRocketRecipes(event) + registerTFGSpaceSuitRecipes(event) + registerTFGInsulationRecipes(event) + + registerTFGMoonRecipes(event) + registerTFGMoonPlantRecipes(event) + registerTFGMoonRegolithRecipes(event) + + registerTFGMarsRecipes(event) + registerTFGMarsIodineRecipes(event) + registerTFGMarsOstrumRecipes(event) + registerTFGBiochemRecipes(event) - registerTFGSpaceOres(event) } diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 38d61ef34..bfa6163b8 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -7,13 +7,9 @@ */ function registerTFGMiscellaneousRecipes(event) { - //tfc:moss + //Moss event.replaceInput({}, 'minecraft:vine', '#tfc:moss') - //forge:wax - event.replaceInput({}, 'firmalife:beeswax', '#forge:wax') - - //Moss event.shapeless('1x minecraft:moss_block', [ '#tfc:dirt', '#tfc:moss' @@ -25,354 +21,13 @@ function registerTFGMiscellaneousRecipes(event) { A: 'minecraft:moss_block' }).id(`tfg:shaped/moss_carpet`) - //paraffin - event.recipes.gtceu.chemical_reactor('tfg:paraffin_wax_from_lubricant') - .circuit(7) - .itemOutputs('6x tfg:paraffin_wax') - .outputFluids(Fluid.of('gtceu:oil_light', 25)) - .inputFluids(Fluid.of('gtceu:lubricant', 250), Fluid.of('gtceu:acetone', 25)) - .duration(500) - .EUt(GTValues.VA[GTValues.LV]) - - // Rosin - event.recipes.firmalife.vat() - .inputs('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000)) - .outputItem('tfg:conifer_rosin') - .id('tfg:vat/conifer_pitch_to_rosin'); - - event.recipes.tfc.pot('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000), 1200, 300) - .itemOutput('tfg:conifer_rosin') - .id('tfg:pot/conifer_pitch_to_rosin') - - event.recipes.gtceu.fluid_solidifier('tfg:pitch_to_rosin') - .inputFluids(Fluid.of('tfg:conifer_pitch', 1000)) - .itemInputs('tfc:powder/charcoal') - .itemOutputs('tfg:conifer_rosin') - .duration(20 * 12) - .EUt(GTValues.VA[GTValues.LV]) - - // Decorative Vases - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/dyeing/decorative_vase/unfired/${color}`) - .itemInputs('#tfg:decorative_vases/unfired') - .inputFluids(Fluid.of(`tfc:${color}_dye`, 25)) - .itemOutputs(`tfg:decorative_vase/unfired/${color}`) - .duration(80) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.CHEM_DYES) - - event.recipes.tfc.heating(`tfg:decorative_vase/unfired/${color}`, 1399) - .resultItem(`tfg:decorative_vase/${color}`) - .id(`tfg:heating/decorative_vase/unfired/${color}`) - - event.recipes.tfc.barrel_sealed(1000) - .outputItem(`tfg:decorative_vase/unfired/${color}`) - .inputItem(Ingredient.of('#tfg:decorative_vases/unfired').subtract(`tfg:decorative_vase/unfired/${color}`)) - .inputFluid(Fluid.of(`tfc:${color}_dye`, 25)) - .id(`tfg:barrel/dyeing/decorative_vase/${color}`) - - event.smelting( - `1x tfg:decorative_vase/${color}`, - `tfg:decorative_vase/unfired/${color}` - ).id(`tfg:smelting/decorative_vase/${color}`) - }) - - event.recipes.gtceu.chemical_bath(`tfg:chemical_bath/bleaching/decorative_vase/unfired`) - .itemInputs('#tfg:decorative_vases/unfired') - .inputFluids(Fluid.of('gtceu:chlorine', 72)) - .itemOutputs('tfg:decorative_vase/unfired') - .duration(80) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.CHEM_DYES) - - event.smelting( - '1x tfg:decorative_vase', - 'tfg:decorative_vase/unfired' - ).id('tfg:smelting/decorative_vase') - - event.recipes.tfc.heating('tfg:decorative_vase/unfired', 1399) - .resultItem('tfg:decorative_vase') - .id('tfg:heating/decorative_vase/unfired') - - event.recipes.tfc.knapping( - 'tfg:decorative_vase/unfired', - 'tfc:clay', - [ - ' X X ', - 'XX XX', - 'X X', - 'X X', - 'XXXXX' - ] - ).outsideSlotRequired(false) - .id('tfg:knapping/decorative_vase/unfired') - - - //Scaffolding Frame - event.shaped('tfg:scaffolding_frame', - [ - ' A ', - 'ABA', - ' A ' - ], - { - A: '#forge:rods/wood', - B: '#forge:cloth' - }).id('tfg:shaped/scaffolding_frame'); - - //Airship Hull - event.shaped('tfg:airship_hull', [ - 'A B', - 'C C', - 'CCC' - ], { - A: '#forge:tools/screwdrivers', - B: '#forge:tools/hammers', - C: 'immersive_aircraft:hull' - }).id('tfg:shaped/airship_hull'); - event.recipes.gtceu.assembler('tfg:assembler/airship_hull') - .itemInputs('5x immersive_aircraft:hull') - .itemOutputs('tfg:airship_hull') - .duration(40) - .circuit(1) - .EUt(GTValues.VA[GTValues.ULV]); - - //Airship Balloon - event.shaped('tfg:airship_balloon', [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: '#forge:string', - B: 'immersive_aircraft:sail' - }).id('tfg:shaped/airship_balloon') - - event.recipes.gtceu.assembler('tfg:assembler/airship_balloon') - .itemInputs('4x immersive_aircraft:sail', '4x #forge:string') - .itemOutputs('tfg:airship_balloon') - .duration(40) - .circuit(1) - .EUt(GTValues.VA[GTValues.ULV]) - - // Steam bloomery - event.shaped('gtceu:steam_bloomery', [ - 'CEC', - 'DAD', - 'CBC' - ], { - A: 'tfc:bloomery', - B: '#forge:frames/bronze', - C: '#forge:rods/black_steel', - D: '#forge:screws/wrought_iron', - E: '#forge:tools/wrenches' - }) - - // Arrow Parts - event.recipes.tfc.knapping( - '4x tfg:flint_arrow_head', - 'tfg:flint', - [ - ' XXX', - ' XXXX', - 'XXXXX', - ' XXX ', - ' X ' - ] - ).outsideSlotRequired(false) - .id('tfg:knapping/flint_arrow_head') - - event.recipes.gtceu.assembler('tfg:assembler/flint_arrow_head') - .itemInputs('1x minecraft:flint') - .itemOutputs('4x tfg:flint_arrow_head') - .duration(20) - .circuit(4) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('4x tfg:fletching', [ - 'minecraft:feather', - '#forge:tools/knives' - ]).id('tfg:shapeless/fletching')) - - event.recipes.gtceu.assembler('tfg:assembler/fletching') - .itemInputs('1x minecraft:feather') - .itemOutputs('4x tfg:fletching') - .duration(20) - .circuit(4) - .EUt(GTValues.VA[GTValues.ULV]) - - event.shaped('4x minecraft:arrow', [ - ' A ', - ' B ', - ' C ' - ], { - A: 'tfg:flint_arrow_head', - B: '#forge:rods/wooden', - C: 'tfg:fletching' - }).id('tfg:shaped/arrow') - - // Ice - event.remove({ id: 'gtceu:compressor/ice_from_dust' }) - event.remove({ id: 'gtceu:compressor/ice_from_snow' }) - - event.shapeless('#forge:dusts/ice', ['#forge:tools/mortars', '4x firmalife:ice_shavings']) - .id('tfg:shaped/ice_shavings') - - event.recipes.tfc.quern('#forge:small_dusts/ice', 'firmalife:ice_shavings') - .id('tfg:quern/ice_dust') - - event.recipes.gtceu.macerator('tfg:macerating_ice_shavings') - .itemInputs('firmalife:ice_shavings') - .itemOutputs('#forge:small_dusts/ice') - .duration(10) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.macerator('tfg:macerating_ice_shavings_reverse') - .itemInputs('#forge:dusts/ice') - .itemOutputs('4x firmalife:ice_shavings') - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.fluid_solidifier('tfg:ice') - .inputFluids("#tfg:clean_water 144") - .notConsumable('gtceu:block_casting_mold') - .itemOutputs('minecraft:ice') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - event.shapeless('4x firmalife:ice_shavings', ['#forge:dusts/ice', '#forge:tools/hammers']) - - event.recipes.gtceu.mixer('tfg:ice_slush_from_dry_ice') - .itemInputs('1x tfg:dry_ice') - .inputFluids("#tfc:water 8000") - .outputFluids(Fluid.of('gtceu:ice', 8000)) - .duration(80) - .EUt(GTValues.VA[GTValues.ULV]) - - // Cooling water - event.recipes.tfc.barrel_sealed(250) - .inputItem('1x tfg:dry_ice') - .inputFluid(Fluid.of('minecraft:water', 5000)) - .outputFluid(Fluid.of('gtceu:ice', 5000)) - .id('tfg:barrel/cooling_water_0') - - event.recipes.tfc.barrel_sealed(1000) - .inputItem('1x #forge:dusts/ice') - .inputFluid(Fluid.of('minecraft:water', 144)) - .outputFluid(Fluid.of('gtceu:ice', 144)) - .id('tfg:barrel/cooling_water_1') - - event.recipes.tfc.barrel_sealed(1000) - .inputItem('16x minecraft:snowball') - .inputFluid(Fluid.of('minecraft:water', 144)) - .outputFluid(Fluid.of('gtceu:ice', 144)) - .id('tfg:barrel/cooling_water_2') - - event.recipes.tfc.barrel_sealed(2000) - .inputItem('1x #forge:dusts/ice') - .inputFluid(Fluid.of('tfc:salt_water', 144)) - .outputFluid(Fluid.of('gtceu:ice', 144)) - .id('tfg:barrel/cooling_water_3') - - event.recipes.tfc.barrel_sealed(2000) - .inputItem('16x minecraft:snowball') - .inputFluid(Fluid.of('tfc:salt_water', 144)) - .outputFluid(Fluid.of('gtceu:ice', 144)) - .id('tfg:barrel/cooling_water_4') - - // Freezing it - event.recipes.tfc.barrel_sealed(3000) - .inputItem('9x #forge:dusts/ice') - .inputFluid(Fluid.of('gtceu:ice', 144)) - .outputItem('minecraft:packed_ice') - .id('tfg:barrel/packed_ice') - - // Heating it back up - event.recipes.tfc.pot([], Fluid.of('gtceu:ice', 144), 300, 100) - .fluidOutput(Fluid.of('minecraft:water', 144)) - - event.recipes.firmalife.vat() - .inputFluid(Fluid.of('gtceu:ice', 144)) - .outputFluid(Fluid.of('minecraft:water', 144)) - .length(300) - .temperature(100) - - // Snow - event.recipes.firmalife.stomping('minecraft:snow', 'minecraft:snowball', - 'minecraft:block/snow', 'minecraft:block/snow', 'minecraft:block.snow.place') - .id('tfg:stomping/snow_layer') - - event.shapeless('minecraft:snow_block', ['8x minecraft:snow']) - .id('tfg:shapeless/snow_block') - - event.shapeless('8x minecraft:snowball', ['minecraft:snow_block']) - .id('tfg:shapeless/snowball') - - event.shapeless('8x minecraft:snow', ['minecraft:snow_block', '#forge:tools/saws']) - .id('tfg:shapeless/snow') - - //Cloth & String - event.recipes.gtceu.wiremill('tfg:wiremill/phantom_thread') - .itemInputs('1x minecraft:phantom_membrane') - .itemOutputs('16x tfg:phantom_thread') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.wiremill('tfg:wiremill/polycaprolactam_string') - .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)) - .itemOutputs('32x tfg:polycaprolactam_string') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler('tfg:assembler/phantom_silk') - .itemInputs('16x tfg:phantom_thread') - .itemOutputs('1x tfg:phantom_silk') - .duration(100) - .circuit(3) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler('tfg:assembler/polycaprolactam_fabric') - .itemInputs('16x tfg:polycaprolactam_string') - .itemOutputs('1x tfg:polycaprolactam_fabric') - .duration(100) - .circuit(3) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.chemical_bath('tfg:chemical_bath/bleaching/polycaprolactam_string') - .itemInputs('tfg:polycaprolactam_string') - .inputFluids(Fluid.of('gtceu:chlorine', 16)) - .itemOutputs('minecraft:string') - .duration(80) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.CHEM_DYES) - - event.recipes.tfc.loom( - '1x tfg:phantom_silk', - '16x tfg:phantom_thread', - 8, - 'tfg:block/phantom_silk_block' - ) - - event.recipes.tfc.loom( - '1x tfg:polycaprolactam_fabric', - '16x tfg:polycaprolactam_string', - 8, - 'tfg:block/polycaprolactam_fabric_block' - ) - - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('16x tfg:phantom_thread', [ - 'minecraft:phantom_membrane', - 'tfc:spindle' - ]).id('tfg:shapeless/phantom_thread')) - // Universal Circuit global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { event.shapeless(Item.of(`tfg:${tier}_universal_circuit`, 1), [Ingredient.of([`#gtceu:circuits/${tier}`]).subtract([`tfg:${tier}_universal_circuit`])] ).id(`universal_circuits_${tier}`); }); - + // Armor stands event.shapeless('1x tfg:armor_stand_arms', [ 'minecraft:armor_stand' ]).id(`tfg:shapeless/armor_stand_arms`) @@ -381,6 +36,7 @@ function registerTFGMiscellaneousRecipes(event) { 'tfg:armor_stand_arms' ]).id(`tfg:shapeless/armor_stand`) + // Piglin disguise event.recipes.tfc.sewing( '1x tfg:piglin_disguise', [ @@ -397,7 +53,7 @@ function registerTFGMiscellaneousRecipes(event) { ] ).id('tfg:sewing/piglin_disguise') - //trowel + //Trowel event.shaped('tfg:trowel', [ 'DBC', 'AA ', @@ -416,844 +72,6 @@ function registerTFGMiscellaneousRecipes(event) { .circuit(4) .EUt(GTValues.VA[GTValues.ULV]) - // Food related - event.recipes.gtceu.forming_press('tfg:forming_press/foil_pack') - .itemInputs(ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 1), ChemicalHelper.get(TagPrefix.foil, GTMaterials.Polyethylene, 1)) - .itemOutputs('1x tfg:foil_pack') - .duration(100) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.gas_pressurizer('tfg:fluid_solidifier/dry_ice') - .inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) - .notConsumable('gtceu:block_casting_mold') - .itemOutputs('2x tfg:dry_ice') - .duration(100) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/liq_co2') - .inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) - .outputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) - .duration(160) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/dry_ice') - .inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) - .notConsumable('gtceu:block_casting_mold') - .itemOutputs('10x tfg:dry_ice') - .duration(60) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_liq_co2') - .itemInputs('1x tfg:dry_ice') - .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100)) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_dry_ice') - .inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 100)) - .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100)) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.mixer('tfg:clean_foil_pack') - .itemInputs('1x tfg:used_foil_pack') - .inputFluids("#tfg:clean_water 100") - .itemOutputs('1x tfg:clean_foil_pack') - .duration(200) - .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.ore_washer('tfg:ore_washer/distilled/clean_foil_pack') - .itemInputs('1x tfg:used_foil_pack') - .inputFluids(Fluid.of('gtceu:distilled_water', 10)) - .itemOutputs('1x tfg:clean_foil_pack') - .duration(200) - .circuit(2) - .EUt(GTValues.VA[GTValues.ULV]) - - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "tfc:water" - }, - ingredients: [ - { item: 'tfg:used_foil_pack' }], - result: { item: 'tfg:clean_foil_pack' } - }).id('tfg:ae_transform/clean_foil_pack') - - event.recipes.greate.splashing(['tfg:clean_foil_pack'], 'tfg:used_foil_pack') - .id('tfg:splashing/clean_foil_pack') - - event.shapeless('1x tfg:used_foil_pack', [ - 'tfg:food/calorie_paste' - ]).id('tfg:shapeless/emptying/calorie_paste') - - event.shapeless('1x tfg:used_foil_pack', [ - 'tfg:food/meal_bag' - ]).id('tfg:shapeless/emptying/meal_bag') - - global.FOOD_FRUIT.forEach(fruit => { - event.shapeless('1x tfg:used_foil_pack', [ - `tfg:food/freeze_dried/${fruit.name}` - ]).id(`tfg:shapeless/emptying/freeze_dried/${fruit.name}`) - }) - - // Refrigerants - - event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/chlorodifluoromethane') - .inputFluids(Fluid.of('gtceu:chloroform', 1000), Fluid.of('gtceu:hydrofluoric_acid', 2000)) - .outputFluids(Fluid.of('tfg:chlorodifluoromethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 2000)) - .duration(480) - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/breakdown/chlorodifluoromethane') - .inputFluids(Fluid.of('tfg:chlorodifluoromethane', 200)) - .outputFluids(Fluid.of('gtceu:tetrafluoroethylene', 100), Fluid.of('gtceu:hydrochloric_acid', 200)) - .duration(100) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/acetylene') - .inputFluids(Fluid.of('gtceu:methane', 2000), Fluid.of('gtceu:oxygen', 3000)) - .outputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('minecraft:water', 3000)) - .circuit(4) - .duration(120) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/1_1_1_2_tetrafluoroethane') - .inputFluids(Fluid.of('tfg:acetylene', 1000), Fluid.of('gtceu:chlorine', 4000), Fluid.of('gtceu:hydrofluoric_acid', 4000)) - .outputFluids(Fluid.of('tfg:1_1_1_2_tetrafluoroethane', 1000), Fluid.of('gtceu:hydrochloric_acid', 4000)) - .circuit(4) - .duration(480) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.cracker('tfg:cracker/isobutane') - .inputFluids(Fluid.of('gtceu:butane', 4000)) - .outputFluids(Fluid.of('tfg:isobutane', 1000), Fluid.of('gtceu:lpg', 3000)) - .circuit(4) - .duration(2400) - .EUt(GTValues.VA[GTValues.HV]) - - // Biofuels - - event.recipes.gtceu.chemical_reactor(`seed_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 6000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - // So you can craft Biodiesel without Chemical Reactor - event.recipes.gtceu.mixer(`tfg:seed_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.chemical_reactor(`olive_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 4000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - // So you can craft Biodiesel without Chemical Reactor - event.recipes.gtceu.mixer(`tfg:olive_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.chemical_reactor(`soybean_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 4000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - // So you can craft Biodiesel without Chemical Reactor - event.recipes.gtceu.mixer(`tfg:soybean_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.chemical_reactor(`fish_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 6000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - // So you can craft Biodiesel without Chemical Reactor - event.recipes.gtceu.mixer(`tfg:fish_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.chemical_reactor(`olive_oil_ethanol_biodiesel`) - .inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:ethanol', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.LV]) - - event.recipes.gtceu.chemical_reactor(`olive_oil_methanol_biodiesel`) - .inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:methanol', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.LV]) - - event.recipes.gtceu.chemical_reactor(`soybean_oil_ethanol_biodiesel`) - .inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:ethanol', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.LV]) - - event.recipes.gtceu.chemical_reactor(`soybean_oil_methanol_biodiesel`) - .inputFluids(Fluid.of('firmalife:soybean_oil', 4000), Fluid.of('gtceu:methanol', 1000)) - .itemInputs('#forge:tiny_dusts/sodium_hydroxide') - .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) - .duration(20 * 10) - .EUt(GTValues.VHA[GTValues.LV]) - - event.recipes.gtceu.extractor(`rapeseed_oil`) - .itemInputs('tfg:rapeseed_product') - .outputFluids(Fluid.of('gtceu:seed_oil', 600)) - .duration(20 * 5) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.extractor(`sunflower_oil`) - .itemInputs('tfg:sunflower_product') - .outputFluids(Fluid.of('gtceu:seed_oil', 350)) - .duration(20 * 5) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.tfc.barrel_sealed(1000) - .inputs('tfg:rapeseed_product', Fluid.of('minecraft:water', 100)) - .outputFluid(Fluid.of('gtceu:seed_oil', 250)) - .id('tfg:barrel/rapeseed_to_oil') - - event.recipes.tfc.barrel_sealed(1000) - .inputs('tfg:sunflower_product', Fluid.of('minecraft:water', 100)) - .outputFluid(Fluid.of('gtceu:seed_oil', 120)) - .id('tfg:barrel/sunflower_to_oil') - - // Not-ender pearl stuff - - event.recipes.gtceu.chemical_reactor('kaolinite') - .itemInputs('5x #tfg:aluminium_oxide', '2x #forge:dusts/silicon') - .inputFluids(Fluid.of('gtceu:distilled_water', 6000), Fluid.of('gtceu:chlorine', 8000)) - .itemOutputs('17x tfc:powder/kaolinite') - .outputFluids(Fluid.of('gtceu:hydrochloric_acid', 8000)) - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.chemical_reactor('kaolinite_ruby') - .itemInputs('6x #forge:dusts/ruby', '2x #forge:dusts/silicon') - .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)) - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.pyrolyse_oven('vitrified_ender_dust') - .itemInputs('minecraft:ender_pearl', '2x tfc:powder/kaolinite', '4x #forge:insulation_t1') - .inputFluids(Fluid.of('gtceu:nitrogen', 100)) - .itemOutputs('tfg:vitrified_pearl') - .chancedOutput('gtceu:ash_dust', 2500, 0) - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_dynamite') - .itemInputs('4x #forge:dusts/vitrified_pearl', '2x gtceu:dynamite') - .itemOutputs('3x tfg:vitrified_pearl') - .chancedOutput('#forge:dusts/dark_ash', 2500, 0) - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_powderbarrel') - .itemInputs('4x #forge:dusts/vitrified_pearl', '8x gtceu:powderbarrel') - .itemOutputs('3x tfg:vitrified_pearl') - .chancedOutput('#forge:dusts/dark_ash', 2500, 0) - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_tnt') - .itemInputs('4x #forge:dusts/vitrified_pearl', '4x minecraft:tnt') - .itemOutputs('3x tfg:vitrified_pearl') - .chancedOutput('#forge:dusts/dark_ash', 2500, 0) - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.implosion_compressor('vitrified_ender_pearl_itnt') - .itemInputs('4x #forge:dusts/vitrified_pearl', 'gtceu:industrial_tnt') - .itemOutputs('3x tfg:vitrified_pearl') - .chancedOutput('#forge:dusts/dark_ash', 2500, 0) - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.macerator('vitrified_ender_pearl') - .itemInputs('tfg:vitrified_pearl') - .itemOutputs('#forge:dusts/vitrified_pearl') - .duration(40) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.shaped('gtceu:mv_field_generator', [ - 'ABA', - 'CDC', - 'ABA' - ], { - A: ChemicalHelper.get(TagPrefix.wireGtQuadruple, GTMaterials.MagnesiumDiboride, 1), - B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 1), - C: '#gtceu:circuits/mv', - D: 'tfg:vitrified_pearl' - }).addMaterialInfo().id('gtceu:shaped/field_generator_mv') - - event.recipes.gtceu.assembler('field_generator_mv') - .itemInputs('tfg:vitrified_pearl', '2x #forge:plates/aluminium', '2x #gtceu:circuits/mv', '4x #forge:quadruple_wires/magnesium_diboride') - .itemOutputs('gtceu:mv_field_generator') - .duration(100) - .EUt(30) - - // Harvest Baskets - - event.shaped('tfg:harvest_basket', [ - 'BDB', - 'ACA', - 'AAA' - ], { - A: 'tfg:soaked_hardwood_strip', - B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1), - C: 'tfc:glue', - D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) - }).id('tfg:shaped/harvest_basket_from_wood') - - event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_wood') - .itemInputs( - '5x tfg:soaked_hardwood_strip', - ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 2), - ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) - ) - .inputFluids(Fluid.of('gtceu:glue', 50)) - .itemOutputs('tfg:harvest_basket') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - - event.shaped('tfg:harvest_basket', [ - 'BDB', - 'ACA', - 'AAA' - ], { - A: 'tfc:soaked_papyrus_strip', - B: ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 1), - C: 'tfc:glue', - D: ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) - }).id('tfg:shaped/harvest_basket_from_papyrus') - - event.recipes.gtceu.assembler('tfg:assembler/harvest_basket_from_papyrus') - .itemInputs( - '5x tfc:soaked_papyrus_strip', - ChemicalHelper.get(TagPrefix.bolt, GTMaterials.SterlingSilver, 2), - ChemicalHelper.get(TagPrefix.rodLong, GTMaterials.TreatedWood, 1) - ) - .inputFluids(Fluid.of('gtceu:glue', 50)) - .itemOutputs('tfg:harvest_basket') - .circuit(2) - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler('tfg:assembler/aluminium_harvest_basket') - .itemInputs( - ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 3), - ChemicalHelper.get(TagPrefix.foil, GTMaterials.Aluminium, 2), - ChemicalHelper.get(TagPrefix.bolt, GTMaterials.Steel, 2), - ChemicalHelper.get(TagPrefix.rodLong, - GTMaterials.Aluminium, 1) - ) - .inputFluids(Fluid.of('gtceu:cobalt_brass', 144)) - .itemOutputs('tfg:aluminium_harvest_basket') - .duration(200) - .circuit(4) - .EUt(GTValues.VA[GTValues.LV]) - .addMaterialInfo(true) - - //Rock-wool stuff - event.recipes.gtceu.mixer('tfg:aes_mix') - .itemInputs('5x gtceu:silicon_dioxide_dust', '4x gtceu:quicklime_dust', 'gtceu:magnesia_dust') - .itemOutputs('10x tfg:aes_mix_dust') - .duration(160) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes') - .itemInputs('2x tfg:aes_mix_dust') - .outputFluids(Fluid.of('tfg:molten_aes', 1000)) - .chancedOutput('gtceu:ash_dust', 3000, 0) - .circuit(1) - .duration(400) - .blastFurnaceTemp(3000) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes_he') - .itemInputs('2x tfg:aes_mix_dust') - .inputFluids(Fluid.of('gtceu:helium', 200)) - .outputFluids(Fluid.of('tfg:molten_aes', 1000)) - .circuit(2) - .duration(140) - .blastFurnaceTemp(3000) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.centrifuge('tfg:aes_wool') - .inputFluids(Fluid.of('tfg:molten_aes', 200)) - .itemOutputs('tfg:aes_wool') - .duration(30) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.forming_press('tfg:aes_compressed_wool') - .itemInputs('4x tfg:aes_wool') - .notConsumable('gtceu:ingot_casting_mold') - .itemOutputs('tfg:aes_compressed_wool') - .duration(40) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.chemical_bath('tfg:aes_insulation_sheet') - .itemInputs('tfg:aes_compressed_wool') - .inputFluids(Fluid.of('gtceu:epoxy', 72)) - .circuit(1) - .itemOutputs('tfg:aes_insulation_sheet') - .duration(80) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.chemical_bath('tfg:aes_insulation_roll') - .itemInputs('9x tfg:aes_compressed_wool') - .inputFluids(Fluid.of('gtceu:epoxy', 648)) - .itemOutputs('tfg:aes_insulation_roll') - .circuit(9) - .duration(400) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.assembler('tfg:aes_insulation_roll') - .itemInputs('9x tfg:aes_insulation_sheet') - .itemOutputs('tfg:aes_insulation_roll') - .circuit(0) - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.shaped('tfg:aes_insulation_roll', [ - 'AAA', - 'AAA', - 'AAA' - ], { - A: 'tfg:aes_insulation_sheet' - }).id('tfg:shaped/aes_insulation_roll') - - event.recipes.gtceu.assembler('tfg:aes_insulation_sheet') - .itemInputs('9x tfg:aes_insulation_sheet') - .itemOutputs('tfg:aes_insulation_roll') - .circuit(0) - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - - event.shapeless('9x tfg:aes_insulation_sheet', [ - 'tfg:aes_insulation_roll' - ]).id('tfg:shapeless/aes_insulation_sheet') - - event.recipes.gtceu.electric_blast_furnace('tfg:smelt_aes_sheet') - .itemInputs('tfg:aes_insulation_sheet') - .inputFluids(Fluid.of('gtceu:helium', 200)) - .outputFluids(Fluid.of('tfg:molten_aes', 800)) - .chancedOutput('gtceu:ash_dust', 2500, 0) - .circuit(1) - .duration(140) - .blastFurnaceTemp(3000) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.electric_blast_furnace('tfg:smelt_aes_roll') - .itemInputs('tfg:aes_insulation_roll') - .inputFluids(Fluid.of('gtceu:helium', 1000)) - .itemOutputs('2x gtceu:ash_dust') - .outputFluids(Fluid.of('tfg:molten_aes', 7200)) - .circuit(9) - .duration(1000) - .blastFurnaceTemp(3000) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.electric_blast_furnace('tfg:smelt_sniffer_wool') - .itemInputs('tfg:sniffer_wool') - .chancedOutput('gtceu:ash_dust', 7500, 0) - .outputFluids(Fluid.of('tfg:molten_aes', 200)) - .circuit(4) - .duration(80) - .blastFurnaceTemp(3000) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.electric_blast_furnace('tfg:smelt_wraptor_wool') - .itemInputs('tfg:wraptor_wool') - .chancedOutput('gtceu:ash_dust', 5000, 0) - .outputFluids(Fluid.of('tfg:molten_aes', 100)) - .circuit(8) - .duration(60) - .blastFurnaceTemp(3000) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('8x tfc:wool_yarn', [ - 'tfc:spindle', - 'tfg:glacian_wool' - ]).id('tfg:shapeless/glacian_wool_to_yarn')) - - event.recipes.gtceu.wiremill('tfg:glacian_wool_yarn') - .itemInputs('tfg:glacian_wool') - .itemOutputs('8x tfc:wool_yarn') - .duration(100) - .EUt(4) - - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('4x tfg:fletching', [ - 'tfg:wraptor_wool', - '#forge:tools/knives' - ]).id('tfg:shapeless/wraptor_feather_fletching')) - - event.recipes.gtceu.assembler('tfg:assembler/wraptor_feather_fletching') - .itemInputs('1x tfg:wraptor_wool') - .itemOutputs('4x tfg:fletching') - .duration(20) - .circuit(4) - .EUt(GTValues.VA[GTValues.ULV]) - - - //endregion - - //#region Casings - global.GTCEU_SUPERCONDUCTORS.forEach((type, index) => { - const multiplier = index + 1 - - event.recipes.gtceu.assembler(`tfg:assembler/superconductor_coil_small_from_${type.name}`) - .itemInputs( - ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4), - ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), - ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1), - ChemicalHelper.get(TagPrefix.wireFine, GTMaterials[type.materialId], 4) - ) - .inputFluids(Fluid.of('gtceu:epoxy', 144)) - .itemOutputs(Item.of('tfg:superconductor_coil_small', 4 * multiplier)) - .circuit(4) - .duration(400) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.assembler(`tfg:assembler/superconductor_coil_large_from_${type.name}`) - .itemInputs( - ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4), - ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2), - ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1), - ChemicalHelper.get(TagPrefix.wireGtSingle, GTMaterials[type.materialId], 4)) - .inputFluids(Fluid.of('gtceu:epoxy', 144)) - .itemOutputs(Item.of('tfg:superconductor_coil_large', 4 * multiplier)) - .circuit(7) - .duration(600) - .EUt(GTValues.VA[GTValues.MV]) - }) - - event.recipes.gtceu.assembler('tfg:assembler/electromagnetic_accelerator') - .itemInputs( - '2x #forge:plates/desh', - 'gtceu:mv_voltage_coil', - '5x tfg:dry_ice', - 'gtceu:nonconducting_casing' - ) - .inputFluids(Fluid.of('gtceu:blue_alloy', 288)) - .itemOutputs('6x tfg:electromagnetic_accelerator') - .circuit(4) - .duration(800) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.assembler('tfg:assembler/machine_casing_aluminium_plated_steel') - .itemInputs( - ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 6), - ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Steel, 1) - ) - .inputFluids(Fluid.of('gtceu:silicon', 72)) - .itemOutputs('2x tfg:machine_casing_aluminium_plated_steel') - .circuit(6) - .duration(20 * (2.5)) - .EUt(GTValues.VH[GTValues.LV]) - - event.recipes.gtceu.assembler('tfg:reflector_from_lens') - .itemInputs( - '24x #forge:lenses', - ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1) - ) - .inputFluids(Fluid.of('gtceu:silver', 1296)) - .itemOutputs('1x tfg:reflector') - .circuit(6) - .duration(20 * (60)) - .EUt(GTValues.VH[GTValues.HV]) - - event.recipes.gtceu.assembler('tfg:reflector_from_inr') - .itemInputs( - '1x gtceu:neutron_reflector', - ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1) - ) - .itemOutputs('2x tfg:reflector') - .circuit(9) - .duration(20 * (20)) - .EUt(GTValues.VH[GTValues.MV]) - - event.recipes.gtceu.assembler('tfg:reflector_from_certus') - .itemInputs( - ChemicalHelper.get(TagPrefix.plate, GTMaterials.CertusQuartz, 12), - ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.BlackSteel, 1) - ) - .inputFluids(Fluid.of('gtceu:silver', 488)) - .itemOutputs('1x tfg:reflector') - .circuit(6) - .dimension('ad_astra:moon') - .duration(20 * (60)) - .EUt(GTValues.VH[GTValues.MV]) - - //#endregion - - //region ammonia borane - event.recipes.gtceu.chemical_reactor('tfg:sodium_hydride_synthesis') - .itemInputs('#forge:dusts/sodium') - .inputFluids(Fluid.of('gtceu:hydrogen', 1000)) - .itemOutputs('2x #forge:dusts/sodium_hydride') - .duration(400) - .EUt(GTValues.VA[GTValues.HV]) - event.recipes.gtceu.chemical_reactor('tfg:boric_acid_synthesis') - .itemInputs('23x #forge:dusts/borax') - .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000)) - .itemOutputs('28x #forge:dusts/boric_acid', '2x #forge:dusts/salt') - .outputFluids(Fluid.of('minecraft:water', 5000)) - .duration(400) - .EUt(GTValues.VA[GTValues.HV]) - event.recipes.gtceu.chemical_reactor('tfg:trimethyl_borate_synthesis') - .itemInputs('7x #forge:dusts/boric_acid') - .inputFluids(Fluid.of('gtceu:methanol', 3000), Fluid.of('gtceu:sulfuric_acid', 100)) - .outputFluids(Fluid.of('tfg:trimethyl_borate', 1000), Fluid.of('minecraft:water', 3000)) - .duration(300) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.chemical_reactor('tfg:sodium_borohydride_synthesis') - .itemInputs('4x #forge:dusts/sodium_hydride') - .inputFluids(Fluid.of('tfg:trimethyl_borate', 1000)) - .itemOutputs('6x #forge:dusts/sodium_borohydride', '18x #forge:dusts/sodium_methoxide') - .duration(160) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.chemical_reactor('tfg:ammonia_borane_synthesis') - .itemInputs('6x #forge:dusts/sodium_borohydride', '6x #forge:dusts/ammonium_chloride') - .itemOutputs('8x #forge:dusts/ammonia_borane', '2x #forge:dusts/salt') - .outputFluids(Fluid.of('gtceu:hydrogen', 2000)) - .duration(100) - .EUt(GTValues.VA[GTValues.IV]) - //endregion - - //region polyurethane - event.recipes.gtceu.chemical_reactor('tfg:aniline_synthesis') - .inputFluids(Fluid.of('gtceu:nitrobenzene', 1000), Fluid.of('gtceu:hydrogen', 6000)) - .notConsumable('#forge:dusts/iron') - .outputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('minecraft:water', 2000)) - .duration(140) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.chemical_reactor('tfg:dimethyl_carbonate_synthesis') - .inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000), Fluid.of('gtceu:oxygen', 1000), Fluid.of('gtceu:methanol', 2000)) - .outputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000), Fluid.of('minecraft:water', 1000)) - .duration(120) - .circuit(2) - .EUt(GTValues.VA[GTValues.HV]) - event.recipes.gtceu.chemical_reactor('tfg:methyl_phenylcarbamate_synthesis') - .inputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('tfg:dimethyl_carbonate', 1000)) - .outputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 1000), Fluid.of('gtceu:methanol', 1000)) - .duration(200) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.chemical_reactor('tfg:mpc_synthesis') - .inputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 2000), Fluid.of('gtceu:formaldehyde', 1000)) - .outputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000), Fluid.of('minecraft:water', 1000)) - .duration(200) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.chemical_reactor('tfg:mpi_synthesis') - .inputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000)) - .itemOutputs('27x #forge:dusts/methylene_diphenyl_diisocyanate') - .outputFluids(Fluid.of('gtceu:methanol', 2000)) - .duration(80) - .EUt(GTValues.VA[GTValues.IV]) - event.recipes.gtceu.mixer('tfg:aes_polyurethane_electric_only') - .itemInputs('2x #tfg:mineral_rich_wool', 'tfg:aes_compressed_wool', '27x #forge:dusts/methylene_diphenyl_diisocyanate') - .inputFluids(Fluid.of('gtceu:diethylenetriamine', 250), Fluid.of('gtceu:acetone', 1000)) - .itemOutputs('tfg:aes_polyurethane') - .duration(80) - .EUt(GTValues.VA[GTValues.IV]) - - //endregion - - //Aerogel - event.recipes.gtceu.chemical_reactor('tfg:tmos_synthesis') - .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 2000)) - .itemInputs('3x #forge:dusts/silicon_dioxide') - .notConsumable('#forge:small_dusts/potassium_hydroxide') - .outputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:carbon_dioxide', 2000)) - .duration(100) - .EUt(GTValues.VA[GTValues.IV]) - event.recipes.gtceu.chemical_reactor('tfg:tmos_hydrolysis') - .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:distilled_water', 2000)) - .outputFluids(Fluid.of('gtceu:methanol', 4000)) - .itemOutputs('3x #forge:dusts/silicon_dioxide') - .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)) - .duration(300) - .EUt(GTValues.VA[GTValues.IV]) - event.recipes.gtceu.chemical_reactor('tfg:silica_gel_soaking') - .inputFluids(Fluid.of('tfg:silica_gel', 1000), Fluid.of('gtceu:acetone', 2000)) - .outputFluids(Fluid.of('tfg:soaked_silica_gel', 1000)) - .duration(400) - .EUt(GTValues.VA[GTValues.EV]) - event.recipes.gtceu.large_chemical_reactor('tfg:silica_aerogel') - .inputFluids(Fluid.of('tfg:soaked_silica_gel', 1000), Fluid.of('gtceu:liquid_carbon_dioxide', 3000)) - .outputFluids(Fluid.of('gtceu:carbon_dioxide', 3000), Fluid.of('gtceu:acetone', 1000)) - .itemOutputs('tfg:silica_aerogel') - .duration(400) - .EUt(GTValues.VA[GTValues.IV]) - //endregion - - //Tier 3 insulation - event.recipes.gtceu.forming_press('tfg:mli_shielding') - .itemInputs('4x #forge:plates/ammonia_borane', '2x tfg:aes_polyurethane', '4x gtceu:carbon_fiber_plate') - .itemOutputs('tfg:mli_shielding') - .duration(100) - .EUt(GTValues.VA[GTValues.IV]) - //endregion - - //#region Universal compost - - //Greens - // Lows via crafting with mortar - event.shaped(Item.of('tfg:universal_compost_greens', 1), [ - 'AB' - ], { - A: '#tfc:compost_greens_low', - B: '#forge:tools/mortars' - }).id('tfg:shaped/universal_compost_greens_from_low') - - // Mediums via crafting with mortar - event.shaped(Item.of('tfg:universal_compost_greens', 2), [ - 'AB' - ], { - A: '#tfc:compost_greens', - B: '#forge:tools/mortars' - }).id('tfg:shaped/universal_compost_greens_from_medium') - - // Highs via crafting with mortar - event.shaped(Item.of('tfg:universal_compost_greens', 4), [ - 'AB' - ], { - A: '#tfc:compost_greens_high', - B: '#forge:tools/mortars' - }).id('tfg:shaped/universal_compost_greens_from_high') - - // Filters - const greens_low = Ingredient.of('#tfc:compost_greens_low') - const browns_low = Ingredient.of('#tfc:compost_browns_low').itemIds - const greens_medium = Ingredient.of('#tfc:compost_greens') - const browns_medium = Ingredient.of('#tfc:compost_browns').itemIds - const greens_high = Ingredient.of('#tfc:compost_greens_high') - const browns_high = Ingredient.of('#tfc:compost_browns_high').itemIds - - let low_filtered = greens_low - let medium_filtered = greens_medium - let high_filtered = greens_high - - browns_low.forEach(item => { - low_filtered = low_filtered.subtract(item) - low_filtered = low_filtered.subtract('tfg:universal_compost_greens') - }) - browns_medium.forEach(item => { - medium_filtered = medium_filtered.subtract(item) - }) - browns_high.forEach(item => { - high_filtered = high_filtered.subtract(item) - }) - - // Lows via forge hammer - event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_low') - .itemInputs(low_filtered) - .itemOutputs('tfg:universal_compost_greens') - .duration(20) - .EUt(8) - - // Mediums via forge hammer - event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_medium') - .itemInputs(medium_filtered) - .itemOutputs(Item.of('tfg:universal_compost_greens', 2)) - .duration(20) - .EUt(8) - - // Highs via forge hammer - event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_high') - .itemInputs(high_filtered) - .itemOutputs(Item.of('tfg:universal_compost_greens', 4)) - .duration(20) - .EUt(8) - - //Browns - // Lows via crafting with mortar - event.shaped(Item.of('tfg:universal_compost_browns', 1), [ - 'A', - 'B' - ], { - A: '#tfc:compost_browns_low', - B: '#forge:tools/mortars' - }).id('tfg:shaped/universal_compost_browns_from_low') - - // Mediums via crafting with mortar - event.shaped(Item.of('tfg:universal_compost_browns', 2), [ - 'A', - 'B' - ], { - A: '#tfc:compost_browns', - B: '#forge:tools/mortars' - }).id('tfg:shaped/universal_compost_browns_from_medium') - - // Highs via crafting with mortar - event.shaped(Item.of('tfg:universal_compost_browns', 4), [ - 'A', - 'B' - ], { - A: '#tfc:compost_browns_high', - B: '#forge:tools/mortars' - }).id('tfg:shaped/universal_compost_browns_from_high') - - // Lows via forge hammer - event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_low') - .itemInputs('#tfc:compost_browns_low') - .itemOutputs('tfg:universal_compost_browns') - .duration(20) - .EUt(8) - - // Mediums via forge hammer - event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_medium') - .itemInputs('#tfc:compost_browns') - .itemOutputs(Item.of('tfg:universal_compost_browns', 2)) - .duration(20) - .EUt(8) - - // Highs via forge hammer - event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_high') - .itemInputs('#tfc:compost_browns_high') - .itemOutputs(Item.of('tfg:universal_compost_browns', 4)) - .duration(20) - .EUt(8) - - //#endregion - // Etching Tip event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('tfg:etching_diamond_tip', [ '#forge:tools/hammers', @@ -1263,220 +81,7 @@ function registerTFGMiscellaneousRecipes(event) { event.replaceInput({ id: "minecraft:jukebox" }, 'minecraft:diamond', 'tfg:etching_diamond_tip'); - //Large Nest - event.shaped('tfg:large_nest_box', - [ - 'B B', - 'ABA', - 'AAA' - ], { - A: 'beneath:crimson_thatch', - B: 'beneath:crimson_straw' - }).id('tfg:shaped_large_nest_crimson') - - event.shaped('tfg:large_nest_box_warped', - [ - 'B B', - 'ABA', - 'AAA' - ], { - A: 'beneath:warped_thatch', - B: 'beneath:warped_straw' - }).id('tfg:shaped_large_nest_warped') - - //#endregion - - //#region flax stuff - - event.shapeless('1x tfg:flax_bundle', ['9x tfg:flax_product']) - event.recipes.gtceu.packer('tfg:packer/flax_bundle') - .itemInputs('9x tfg:flax_product') - .itemOutputs('tfg:flax_bundle') - .duration('100') - .EUt(GTValues.VA[GTValues.ULV]) - - event.shapeless('1x tfg:bundled_scraped_flax', ['9x tfg:flax_waste']) - event.recipes.gtceu.packer('tfg:packer/bundled_scraped_flax') - .itemInputs('9x tfg:flax_waste') - .itemOutputs('tfg:bundled_scraped_flax') - .duration('100') - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.tfc.scraping( - 'tfg:flax_waste', - 'tfg:flax_product', - 'tfg:item/flax_waste', - 'tfg:item/flax_product', - '2x tfg:flax_line' - ).id('tfg:scraping/flax_line') - - event.recipes.tfc.scraping( - 'tfg:bundled_scraped_flax', - 'tfg:flax_bundle', - 'tfg:item/bundled_scraped_flax', - 'tfg:item/flax_bundle', - '18x tfg:flax_line' - ).id('tfg:scraping/flax_line_from_bundle') - - event.recipes.tfc.scraping( - 'tfc:groundcover/humus', - 'tfg:flax_waste', - 'tfc:item/groundcover/humus', - 'tfg:item/flax_waste', - 'tfg:flax_tow' - ).id('tfg:scraping/flax_tow') - - event.recipes.tfc.scraping( - '9x tfc:groundcover/humus', - 'tfg:bundled_scraped_flax', - 'tfc:item/groundcover/humus', - 'tfg:item/bundled_scraped_flax', - '9x tfg:flax_tow' - ).id('tfg:scraping/flax_tow_from_pile') - - event.recipes.gtceu.cutter('tfg:flax_line_in_cutter') - .itemInputs('tfg:flax_product') - .itemOutputs('2x tfg:flax_line', 'tfg:flax_waste') - .duration(60) - .EUt(2) - - event.recipes.gtceu.cutter('tfg:flax_line_from_bundle_in_cutter') - .itemInputs('tfg:flax_bundle') - .itemOutputs('18x tfg:flax_line', 'tfg:bundled_scraped_flax') - .duration(540) - .EUt(2) - - event.recipes.gtceu.cutter('tfg:flax_tow_in_cutter') - .itemInputs('tfg:flax_waste') - .itemOutputs('1x tfg:flax_tow', '1x tfc:groundcover/humus') - .duration(60) - .EUt(2) - - event.recipes.gtceu.cutter('tfg:flax_tow_from_bundle_in_cutter') - .itemInputs('tfg:bundled_scraped_flax') - .itemOutputs('9x tfg:flax_tow', '9x tfc:groundcover/humus') - .duration(540) - .EUt(2) - - event.recipes.gtceu.centrifuge('tfg:flax_product') - .itemInputs('tfg:flax_product') - .itemOutputs('2x tfg:flax_line', 'tfg:flax_tow', 'tfc:groundcover/humus') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.centrifuge('tfg:flax_product_from_bundle') - .itemInputs('tfg:flax_bundle') - .itemOutputs('18x tfg:flax_line', '9x tfg:flax_tow', '9x tfc:groundcover/humus') - .duration(1800) - .EUt(GTValues.VA[GTValues.LV]) - - event.custom({ - type: 'vintageimprovements:centrifugation', - ingredients: [{ item: 'tfg:flax_product' }], - results: [{ item: 'tfg:flax_line', count: 2 }, { item: 'tfg:flax_tow' }, { item: 'tfc:groundcover/humus' }], - processingTime: 40 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('tfg:vi_seperate_flax') - - event.custom({ - type: 'vintageimprovements:centrifugation', - ingredients: [{ item: 'tfg:flax_bundle' }], - results: [{ item: 'tfg:flax_line', count: 18 }, { item: 'tfg:flax_tow', count: 9 }, { item: 'tfc:groundcover/humus', count: 9 }], - processingTime: 360 * 90 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('tfg:vi_seperate_flax_from_bundle') - - //#region flax line spining - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('4x tfg:linen_thread', [ - 'tfg:flax_line', - 'tfc:spindle' - ]).id('tfg:shapeless/linen_thread') - ) - - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [{ item: 'tfg:flax_line' }], - results: [{ item: 'tfg:linen_thread', count: 4 }], - processingTime: 2 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('tfg:vi_spin_flax_line') - - event.recipes.gtceu.wiremill('tfg:spin_flax_line') - .itemInputs('tfg:flax_line') - .itemOutputs('4x tfg:linen_thread') - .duration(80) - .EUt(GTValues.VA[GTValues.LV]) - - //#region flax looming - event.recipes.tfc.loom( - '1x tfg:linen_cloth', - '16x tfg:linen_thread', - 8, - 'tfc:block/burlap' - ) - - event.recipes.tfc.loom( - '1x tfc:burlap_cloth', - '16x tfg:flax_tow', - 12, - 'tfc:block/burlap' - ) - - event.recipes.gtceu.assembler('tfg:assembler/linen_cloth') - .itemInputs('16x tfg:linen_thread') - .circuit(10) - .itemOutputs('tfg:linen_cloth') - .duration(100) - .EUt(4) - - event.recipes.gtceu.assembler('tfg:assembler/flax_burlap') - .itemInputs('16x tfg:flax_tow') - .circuit(10) - .itemOutputs('tfc:burlap_cloth') - .duration(100) - .EUt(4) - - - - event.recipes.gtceu.assembler('tfg:titanium_concrete') - .itemInputs('2x #forge:rods/titanium', '#forge:dusts/kaolinite') - .inputFluids(Fluid.of('gtceu:concrete', 144 * 1.5)) - .itemOutputs('tfg:titanium_concrete') - .circuit(2) - .duration(20) - .EUt(GTValues.VH[GTValues.EV]) - - event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks') - .itemInputs('tfg:polished_titanium_concrete') - .notConsumable('#forge:lenses/light_blue') - .itemOutputs('tfg:titanium_concrete_bricks') - .duration(20 * (2.5)) - .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks_small') - .itemInputs('tfg:polished_titanium_concrete') - .notConsumable('#forge:lenses/pink') - .itemOutputs('tfg:titanium_concrete_bricks_small') - .duration(20 * (2.5)) - .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_bricks_square') - .itemInputs('tfg:polished_titanium_concrete') - .notConsumable('#forge:lenses/green') - .itemOutputs('tfg:titanium_concrete_bricks_square') - .duration(20 * (2.5)) - .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_tile') - .itemInputs('tfg:polished_titanium_concrete') - .notConsumable('#forge:lenses/red') - .itemOutputs('tfg:titanium_concrete_tile') - .duration(20 * (2.5)) - .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.laser_engraver('tfg:titanium_concrete_tile_small') - .itemInputs('tfg:polished_titanium_concrete') - .notConsumable('#forge:lenses/black') - .itemOutputs('tfg:titanium_concrete_tile_small') - .duration(20 * (2.5)) - .EUt(GTValues.VA[GTValues.LV]) - // Interplanetary ae2 card - event.recipes.gtceu.assembler('tfg:wireless_card') .itemInputs( 'ae2:advanced_card', @@ -1529,35 +134,5 @@ function registerTFGMiscellaneousRecipes(event) { }); TFGHelpers.registerMaterialInfo('tfg:rnr_plow', {'cobalt_brass': 5, 'invar': 2, 'steel': 2, 'wrought_iron': 2, 'rubber': 1, 'treated_wood': 1}); - //#endregion - //#region Wax Unification - - // Recipe Removals - event.remove({id: 'gtceu:extractor/extract_honeycomb_block'}); - event.remove({id: 'gtceu:extractor/extract_honeycomb'}); - event.remove({id: 'gtceu:extractor/extract_wax_dust'}); - - // Extractor Recipe - event.recipes.gtceu.extractor('tfg:wax_melting') - .itemInputs(Ingredient.of('#forge:wax')) - .outputFluids(Fluid.of('gtceu:wax', 144)) - .duration(20*5) - .EUt(GTValues.VA[GTValues.LV]) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING); - - event.recipes.gtceu.extractor('tfg:tiny_wax_dust_melting') - .itemInputs(ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Wax, 1)) - .outputFluids(Fluid.of('gtceu:wax', 16)) - .duration(10) - .EUt(GTValues.VA[GTValues.LV]) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING); - - event.recipes.gtceu.extractor('tfg:small_wax_dust_melting') - .itemInputs(ChemicalHelper.get(TagPrefix.dustSmall, GTMaterials.Wax, 1)) - .outputFluids(Fluid.of('gtceu:wax', 36)) - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - .category(GTRecipeCategories.EXTRACTOR_RECYCLING); - //#endregion } diff --git a/kubejs/server_scripts/tfg/recipes.space.js b/kubejs/server_scripts/tfg/recipes.space.js deleted file mode 100644 index 17fb6edab..000000000 --- a/kubejs/server_scripts/tfg/recipes.space.js +++ /dev/null @@ -1,457 +0,0 @@ -// priority: 0 -"use strict"; - -/** - * @param {Internal.RecipesEventJS} event - */ -function registerTFGSpaceRecipes(event) { - - const allowedCombustibleDims = [ - { - dimension: "minecraft:the_nether", - type: "dimension" - }, - { - dimension: "minecraft:overworld", - type: "dimension" - } - ] - - event.findRecipes({ type: "gtceu:large_boiler" }).forEach(recipe => { - recipe.json.add("recipeConditions", allowedCombustibleDims) - }) - event.findRecipes({ type: "gtceu:steam_boiler" }).forEach(recipe => { - recipe.json.add("recipeConditions", allowedCombustibleDims) - }) - event.findRecipes({ type: "gtceu:combustion_generator" }).forEach(recipe => { - recipe.json.add("recipeConditions", allowedCombustibleDims) - }) - event.findRecipes({ type: "gtceu:gas_turbine" }).forEach(recipe => { - recipe.json.add("recipeConditions", allowedCombustibleDims) - }) - - // Air collector - - event.recipes.gtceu.gas_collector('tfg:nether') - .circuit(2) - .outputFluids(Fluid.of('gtceu:air', 10000)) - .dimension('minecraft:the_nether') - .duration(200) - .EUt(16) - - event.recipes.gtceu.gas_collector('tfg:moon') - .circuit(3) - .outputFluids(Fluid.of('gtceu:argon', 1)) - .dimension('ad_astra:moon') - .duration(20*60*30) - .EUt(16) - - event.recipes.gtceu.gas_collector('tfg:mars') - .circuit(4) - .outputFluids(Fluid.of('tfg:mars_air', 10000)) - .dimension('ad_astra:mars') - .duration(20*10) - .EUt(16) - - event.recipes.gtceu.vacuum_freezer('tfg:liquid_mars_air') - .inputFluids(Fluid.of('tfg:mars_air', 4000)) - .outputFluids(Fluid.of('tfg:liquid_mars_air', 4000)) - .duration(80) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.centrifuge('tfg:centrifuge_mars_air') - .inputFluids(Fluid.of('tfg:mars_air', 10000)) - .outputFluids(Fluid.of('gtceu:carbon_dioxide', 3900), Fluid.of('gtceu:nitrogen', 1000), Fluid.of('gtceu:argon', 500)) - .duration(1600) - .EUt(GTValues.VA[GTValues.MV]) - - // TODO: move neon and xenon somewhere else - event.recipes.gtceu.distillation_tower('tfg:distill_liquid_mars_air') - .inputFluids(Fluid.of('tfg:liquid_mars_air', 100000)) - .outputFluids(Fluid.of('gtceu:carbon_dioxide', 80000)) - .outputFluids(Fluid.of('gtceu:nitrogen', 7000)) - .outputFluids(Fluid.of('gtceu:argon', 5000)) - .outputFluids(Fluid.of('gtceu:oxygen', 3000)) - .outputFluids(Fluid.of('gtceu:krypton', 1000)) - .outputFluids(Fluid.of('gtceu:neon', 1000)) - .outputFluids(Fluid.of('gtceu:xenon', 1000)) - .chancedOutput('gtceu:ammonium_chloride_dust', 2250, 0) - .disableDistilleryRecipes(true) - .duration(2000) - .EUt(GTValues.VA[GTValues.EV]) - - // Aqueous accumulator -- use adjacentFluids (plural) to avoid rhino ambiguous method issues - - let aaCircuit = 1; - - event.recipes.gtceu.aqueous_accumulator('water') - .circuit(aaCircuit++) - .duration(20) - .EUt(GTValues.VHA[GTValues.ULV]) - .adjacentFluids(["minecraft:water"]) - .outputFluids(Fluid.of("minecraft:water", 1000)) - - event.recipes.gtceu.aqueous_accumulator('sea_water') - .circuit(aaCircuit++) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - .adjacentFluids(["tfc:salt_water"]) - .outputFluids(Fluid.of("tfc:salt_water", 1000)) - - event.recipes.gtceu.aqueous_accumulator('semiheavy_water_mars') - .circuit(aaCircuit++) - .dimension('ad_astra:mars') - .duration(20) - .EUt(GTValues.VHA[GTValues.ULV]) - .adjacentFluids(["tfg:semiheavy_ammoniacal_water"]) - .outputFluids(Fluid.of("tfg:semiheavy_ammoniacal_water", 1000)) - - event.recipes.gtceu.aqueous_accumulator('lava_overworld') - .circuit(aaCircuit++) - .dimension('minecraft:overworld') - .duration(20*15) - .EUt(GTValues.VHA[GTValues.HV]) - .adjacentFluids(["minecraft:lava"]) - .outputFluids(Fluid.of("minecraft:lava", 1000)) - - event.recipes.gtceu.aqueous_accumulator('lava_nether') - .circuit(aaCircuit++) - .dimension('minecraft:the_nether') - .duration(20*15) - .EUt(GTValues.VHA[GTValues.HV]) - .adjacentFluids(["minecraft:lava"]) - .outputFluids(Fluid.of("minecraft:lava", 1000)) - - event.recipes.gtceu.aqueous_accumulator('spring_water') - .circuit(aaCircuit++) - .dimension('minecraft:overworld') - .duration(20) - .EUt(GTValues.VA[GTValues.LV]) - .adjacentFluids(["tfc:spring_water"]) - .outputFluids(Fluid.of("tfc:spring_water", 1000)) - - event.recipes.gtceu.aqueous_accumulator('more_water') - .circuit(aaCircuit++) - .duration(10) - .EUt(GTValues.VHA[GTValues.HV]) - .adjacentFluids(["minecraft:water"]) - .outputFluids(Fluid.of("minecraft:water", 16000)) - - - // Plants - Can't use the default builder here because fertiliser is much harder to get on the moon, - // and we're using helium-3 as the fertiliser - - // Chorus - event.recipes.gtceu.greenhouse('tfg:chorus') - .notConsumable('8x tfg:lunar_chorus_flower') - .itemOutputs('64x minecraft:chorus_fruit') - .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 500, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse('tfg:chorus_helium') - .notConsumable('8x tfg:lunar_chorus_flower') - .inputFluids(Fluid.of('gtceu:helium_3', 2000)) - .itemOutputs('64x minecraft:chorus_fruit') - .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 3000, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) - .duration(12000) // 10 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - // Replace the built-in greg one to add a circuit - event.recipes.gtceu.fermenter('fermented_biomass') - .inputFluids(Fluid.of('gtceu:biomass', 100)) - .outputFluids(Fluid.of('gtceu:fermented_biomass', 100)) - .circuit(1) - .duration(150) - .EUt(2) - - event.recipes.gtceu.fermenter('tfg:chorus') - .itemInputs('minecraft:chorus_fruit') - .inputFluids(Fluid.of('gtceu:biomass', 20)) - .chancedOutput('ae2:ender_dust', 100, 0) - .outputFluids(Fluid.of('gtceu:nitrogen', 1000)) - .circuit(2) - .duration(5 * 20) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.fermenter('tfg:chorus_flower') - .itemInputs('tfg:lunar_chorus_flower') - .inputFluids(Fluid.of('gtceu:biomass', 20)) - .chancedOutput('ae2:ender_dust', 100, 0) - .outputFluids(Fluid.of('gtceu:nitrogen', 1000)) - .circuit(2) - .duration(5 * 20) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.mixer('tfg:bio_glowstone') - .itemInputs('betterend:cave_pumpkin_chunks', '4x species:alphacene_mushroom_block') - .outputFluids(Fluid.of('gtceu:biomass', 100)) - .itemOutputs('2x minecraft:glowstone_dust') - .duration(5 * 20) - .EUt(GTValues.VA[GTValues.EV]) - .dimension('ad_astra:mars') - - // Lightblooms - event.recipes.gtceu.greenhouse('tfg:lightbloom') - .notConsumable('8x minecraft:twisting_vines') - .itemOutputs('16x minecraft:twisting_vines') - .chancedOutput('minecraft:pearlescent_froglight', 2500, 0) - .chancedOutput('minecraft:verdant_froglight', 2500, 0) - .chancedOutput('minecraft:ochre_froglight', 2500, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse('tfg:lightbloom_helium') - .notConsumable('8x minecraft:twisting_vines') - .inputFluids(Fluid.of('gtceu:helium_3', 2000)) - .itemOutputs('16x minecraft:twisting_vines') - .chancedOutput('minecraft:pearlescent_froglight', 3500, 0) - .chancedOutput('minecraft:verdant_froglight', 3500, 0) - .chancedOutput('minecraft:ochre_froglight', 3500, 0) - .duration(12000) // 30 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.LV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.brewery('biomass_from_twisting_vines') - .itemInputs('minecraft:twisting_vines') - .inputFluids("#tfg:clean_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(50) - .EUt(3) - - // Space suit gases - - event.recipes.gtceu.gas_pressurizer('compressed_nitrox') - .inputFluids(Fluid.of('gtceu:nitrogen', 8000), Fluid.of('gtceu:oxygen', 2000)) - .outputFluids(Fluid.of('tfg:compressed_nitrox', 1000)) - .circuit(1) - .duration(100) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.gas_pressurizer('compressed_heliox') - .inputFluids(Fluid.of('gtceu:helium', 8000), Fluid.of('gtceu:oxygen', 2000)) - .outputFluids(Fluid.of('tfg:compressed_heliox', 1000)) - .circuit(1) - .duration(100) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.gas_pressurizer('compressed_heliox_3') - .inputFluids(Fluid.of('gtceu:helium_3', 8000), Fluid.of('gtceu:oxygen', 2000)) - .outputFluids(Fluid.of('tfg:compressed_heliox_3', 1000)) - .circuit(1) - .duration(100) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.gas_pressurizer('compressed_trimix') - .inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium', 2000)) - .outputFluids(Fluid.of('tfg:compressed_trimix', 1000)) - .circuit(2) - .duration(100) - .EUt(GTValues.VA[GTValues.HV]) - - event.recipes.gtceu.gas_pressurizer('compressed_trimix_3') - .inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium_3', 2000)) - .outputFluids(Fluid.of('tfg:compressed_trimix_3', 1000)) - .circuit(2) - .duration(100) - .EUt(GTValues.VA[GTValues.HV]) - - //Cryo Fluix Pearl - event.recipes.gtceu.autoclave('tfg:cryo_fluix_pearl') - .inputFluids(Fluid.of('tfg:cryogenized_fluix', 576)) - .itemInputs('tfg:vitrified_pearl') - .itemOutputs('tfg:cryo_fluix_pearl') - .duration(300) - .EUt(GTValues.VA[GTValues.EV]) - .cleanroom(CleanroomType.CLEANROOM) - - // Railgun stuff - // (the railgun inputs and outputs are in tfg-core) - - - //item bus to railgun item bus conversion recipes - const GTTiers = ['ulv', 'lv', 'mv', 'hv', 'ev', 'iv', 'luv', 'zpm', 'uv', 'uhv'] - GTTiers.forEach(x => { - event.recipes.gtceu.assembler(`tfg:${x}_input_to_${x}_railgun_input_assembler`) - .itemInputs(`gtceu:${x}_input_bus`) - .circuit(4) - .itemOutputs(`tfg:${x}_railgun_item_loader_in`) - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.assembler(`tfg:${x}_output_to_${x}_railgun_output_assembler`) - .itemInputs(`gtceu:${x}_output_bus`) - .circuit(4) - .itemOutputs(`tfg:${x}_railgun_item_loader_out`) - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.LV]) - }) - - //Railgun ammo - event.recipes.gtceu.assembler('tfg:railgun_ammo_basic') - .itemInputs('#forge:double_plates/steel', '2x #forge:rods/magnetic_iron', '2x #forge:fine_wires/annealed_copper') - .inputFluids('gtceu:rocket_fuel 250') - .itemOutputs('tfg:railgun_ammo_shell') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.assembler('tfg:railgun_ammo_advanced') - .itemInputs('#forge:double_plates/titanium', '2x #forge:rods/magnetic_steel', '2x #forge:fine_wires/gold') - .inputFluids('gtceu:rocket_fuel 250') - .itemOutputs('4x tfg:railgun_ammo_shell') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.assembler('tfg:railgun_ammo_best') - .itemInputs('#forge:double_plates/tungsten', '2x #forge:rods/magnetic_neodymium', '2x #forge:fine_wires/aluminium') - .inputFluids('gtceu:rocket_fuel 250') - .itemOutputs('8x tfg:railgun_ammo_shell') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.assembler('tfg:railgun_ammo_moon') - .itemInputs('#forge:double_plates/steel', '2x ae2:charged_certus_quartz_crystal', '2x ae2:quartz_fiber') - .inputFluids('gtceu:rocket_fuel 250') - .itemOutputs('4x tfg:railgun_ammo_shell') - .dimension('ad_astra:moon') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.assembler('tfg:railgun_ammo_mars') - .itemInputs('#forge:double_plates/lead', '2x #forge:rods/ostrum', '2x #forge:fine_wires/silver') - .inputFluids('gtceu:rocket_fuel 250') - .itemOutputs('8x tfg:railgun_ammo_shell') - .dimension('ad_astra:mars') - .duration(20 * 10) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.shaped('tfg:railgun_ammo_loader', [ - 'RMR', - 'MBM', - 'CCC' - ], { - B: 'gtceu:mv_input_bus', - R: 'gtceu:mv_robot_arm', - M: 'gtceu:mv_electric_motor', - C: '#forge:single_cables/annealed_copper' - }).addMaterialInfo().id('tfg:shaped/railgun_ammo_loader') - - event.recipes.gtceu.shaped('tfg:interplanetary_logistics_monitor', [ - 'CDC', - 'SHE', - 'WCW' - ], { - C: '#gtceu:circuits/hv', - D: 'gtceu:computer_monitor_cover', - S: 'gtceu:hv_sensor', - H: 'gtceu:hv_machine_hull', - E: 'gtceu:hv_emitter', - W: '#forge:single_cables/silver' - }).addMaterialInfo().id('tfg:shaped/interplanetary_logistics_monitor') - - event.recipes.gtceu.shaped('tfg:interplanetary_item_launcher', [ - 'NSN', - 'CHC', - 'NEN' - ], { - C: '#gtceu:circuits/ev', - S: 'gtceu:hv_sensor', - E: 'gtceu:hv_emitter', - H: 'gtceu:ev_machine_hull', - N: '#forge:plates/hsla_steel' - }).addMaterialInfo().id('tfg:shaped/interplanetary_item_launcher') - - event.recipes.gtceu.shaped('tfg:interplanetary_item_receiver', [ - 'CSC', - 'WHW', - 'CSC' - ], { - C: '#gtceu:circuits/mv', - S: 'gtceu:mv_sensor', - W: '#forge:double_cables/copper', - H: 'gtceu:mv_machine_hull' - }).addMaterialInfo().id('tfg:shaped/interplanetary_item_receiver') - - // Mars tree tapping - - event.recipes.gtceu.autoclave('tfg:crimsene') - .inputFluids(Fluid.of('tfg:crimsene', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) - .outputFluids(Fluid.of('gtceu:carbon_monoxide', 1000)) - .itemOutputs('#forge:gems/crimsene') - .duration(20 * 30) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.autoclave('tfg:warpane') - .inputFluids(Fluid.of('tfg:warpane', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) - .outputFluids(Fluid.of('gtceu:hydrogen', 1000)) - .itemOutputs('#forge:gems/warpane') - .duration(20 * 30) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.macerator('tfg:crimsene') - .itemInputs('#forge:gems/crimsene') - .itemOutputs('#forge:dusts/crimsene') - .duration(20 * 5) - .EUt(2) - - event.recipes.gtceu.macerator('tfg:warpane') - .itemInputs('#forge:gems/warpane') - .itemOutputs('#forge:dusts/warpane') - .duration(20 * 5) - .EUt(2) - - event.recipes.gtceu.mixer('tfg:mars_sap') - .itemInputs('#forge:dusts/warpane', '#forge:dusts/crimsene') - .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000), Fluid.of('gtceu:krypton', 500)) - .itemOutputs('#forge:dusts/mycelienzene') - .duration(30 * 20) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.deafission.fission_reactor_processing('tfg:mars_sap') - .itemInputs('#forge:dusts/mycelienzene') - .outputFluids(Fluid.of('tfg:cooked_mycelienzane', 1000)) - // TODO: change these to something appropriate - .blastFurnaceTemp(100) - .duration(30 * 10) - - event.recipes.gtceu.centrifuge('mars_sap_separation') - .inputFluids(Fluid.of('tfg:cooked_mycelienzane', 2000)) - .outputFluids( - Fluid.of('tfg:iodomethane', 1000), - Fluid.of('tfg:trideuteroiodomethane', 1000), - Fluid.of('gtceu:krypton', 1000), - Fluid.of('gtceu:diluted_hydrochloric_acid', 4000)) - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.chemical_reactor('tfg:iodomethane_separation') - .inputFluids( - Fluid.of('tfg:iodomethane', 1000), - Fluid.of('gtceu:hydrogen', 1000)) - .itemOutputs('#forge:dusts/iodine') - .outputFluids(Fluid.of('gtceu:methane', 1000)) - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.chemical_reactor('tfg:trideuteroiodomethane_separation') - .inputFluids( - Fluid.of('tfg:trideuteroiodomethane', 1000), - Fluid.of('gtceu:oxygen', 1500)) - .itemOutputs('#forge:dusts/iodine', '#forge:dusts/carbon') - .outputFluids(Fluid.of('tfg:heavy_water', 1500)) - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.MV]) -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.space_ores.js b/kubejs/server_scripts/tfg/recipes.space_ores.js deleted file mode 100644 index ce2a650ae..000000000 --- a/kubejs/server_scripts/tfg/recipes.space_ores.js +++ /dev/null @@ -1,259 +0,0 @@ -// priority: 0 - -function registerTFGSpaceOres(event) { - - //#region Moon Harvester - - event.recipes.gtceu.moon_dust_harvester('tfg:lunar_assurine_harvester') - .biome('tfg:moon/lunar_asurine_dense') - .itemOutputsRanged('#forge:dusts/certus_regolith', 1, 5) - .duration(20 * 80) - .EUt(GTValues.VA[GTValues.LV]) - .circuit(1) - - event.recipes.gtceu.moon_dust_harvester('tfg:lunar_chorus_dense') - .biome('tfg:moon/lunar_chorus_dense') - .itemOutputsRanged('#forge:dusts/goethe_regolith', 1, 5) - .duration(20 * 80) - .EUt(GTValues.VA[GTValues.LV]) - .circuit(2) - - event.recipes.gtceu.moon_dust_harvester('tfg:lunar_corals_dense') - .biome('tfg:moon/lunar_corals_dense') - .itemOutputsRanged('#forge:dusts/bright_regolith', 1, 5) - .duration(20 * 80) - .EUt(GTValues.VA[GTValues.LV]) - .circuit(3) - - event.recipes.gtceu.moon_dust_harvester('tfg:lunar_lights_dense') - .biome('tfg:moon/lunar_lights_dense') - .itemOutputsRanged('#forge:dusts/cassiterite_regolith', 1, 5) - .duration(20 * 80) - .EUt(GTValues.VA[GTValues.LV]) - .circuit(4) - - //#endregion - - //#region Regolith Vapor Processing - - event.recipes.gtceu.mixer('tfg:regolith_slurry_suspension') - .itemInputs('ad_astra:moon_sand', 'tfg:dry_ice') - .itemOutputs('#forge:dusts/regolith_mush') - .dimension('ad_astra:moon') - .duration(20 * 60) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.chemical_bath('tfg:regolith_vapor') - .itemInputs('#forge:dusts/regolith_mush') - .inputFluids('gtceu:nitrogen 1000') - .itemOutputs('#forge:dusts/silicon_dioxide') - .outputFluids('gtceu:regolith_vapor 1000') - .dimension('ad_astra:moon') - .duration(20 * 28) - .EUt(GTValues.VHA[GTValues.LV]) - - //#endregion - - //#region Making Dusty Ores - - const $ChanceLogic = Java.loadClass('com.gregtechceu.gtceu.api.recipe.chance.logic.ChanceLogic') - - event.recipes.gtceu.chemical_reactor('tfg:dusty_certus_reactor') - .itemInputs('#forge:dusts/certus_regolith') - .inputFluids('gtceu:regolith_vapor 100') - .itemOutputs('gtceu:dusty_raw_certus_quartz') - .dimension('ad_astra:moon') - .duration(20 * 68) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.chemical_reactor('tfg:dusty_goethite_reactor') - .itemInputs('#forge:dusts/goethe_regolith') - .inputFluids('gtceu:regolith_vapor 100') - .itemOutputs('gtceu:dusty_raw_goethite') - .dimension('ad_astra:moon') - .duration(20 * 68) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.chemical_reactor('tfg:dusty_shiny_reactor') - .itemInputs('#forge:dusts/bright_regolith') - .inputFluids('gtceu:regolith_vapor 100') - .chancedItemOutputLogic($ChanceLogic.XOR) - .chancedOutput('gtceu:dusty_raw_diamond', 2000, 0) - .chancedOutput('gtceu:dusty_raw_gold', 8000, 0) - .dimension('ad_astra:moon') - .duration(20 * 68) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.chemical_reactor('tfg:dusty_cassiterite_reactor') - .itemInputs('#forge:dusts/cassiterite_regolith') - .inputFluids('gtceu:regolith_vapor 100') - .itemOutputs('gtceu:dusty_raw_cassiterite') - .dimension('ad_astra:moon') - .duration(20 * 68) - .EUt(GTValues.VHA[GTValues.ULV]) - - //#endregion - - //#region Basic dusty ore centrifuging - - // These have special recipes - const DUSTY_ORE_EXCEPTIONS = [ - GTMaterials.Goethite, - GTMaterials.Cassiterite, - GTMaterials.Bauxite - ] - - // Otherwise everything else just centrifuges into its dust version - forEachMaterial(material => { - if (DUSTY_ORE_EXCEPTIONS.indexOf(material) >= 0) - return; - - const dustyOre = ChemicalHelper.get(TFGTagPrefix.dustyRawOre, material, 1) - const dust = ChemicalHelper.get(TagPrefix.dust, material, 1) - - if (dustyOre !== null && dust !== null) { - event.recipes.gtceu.centrifuge(`tfg:dusty_to_dust_${material.getName()}`) - .itemInputs(dustyOre) - .itemOutputs(dust) - .duration(20 * 45) - .EUt(GTValues.VA[GTValues.MV]) - } - }) - - event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_goethite') - .itemInputs('#forge:dusty_raw_materials/goethite') - .chancedItemOutputLogic($ChanceLogic.XOR) - .chancedOutput('#forge:dusts/iron', 5000, 0) - .chancedOutput('#forge:dusts/copper', 5000, 0) - .duration(20 * 45) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_bauxite') - .itemInputs('#forge:dusty_raw_materials/bauxite') - .itemOutputs('#forge:dusts/aluminium') - .duration(20 * 45) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.centrifuge('tfg:dusty_to_dust_tin') - .itemInputs('#forge:dusty_raw_materials/cassiterite') - .itemOutputs('#forge:dusts/tin') - .duration(20 * 45) - .EUt(GTValues.VA[GTValues.MV]) - - //#region Mars Ores Line - - // Ostrum Harvester - - event.recipes.gtceu.ostrum_harvester(`tfg:ostrum_harvesting`) - .perTick(true) - .inputFluids('gtceu:drilling_fluid 4') - .perTick(false) - .dimension('ad_astra:mars') - .itemOutputsRanged('gtceu:ostrum_dust', 1, 5) - .duration(20 * 30) - .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') - .chancedFluidOutputLogic($ChanceLogic.XOR) - .chancedFluidOutput('gtceu:lightweight_ostrum_vapor', 6000, 0) - .chancedFluidOutput('gtceu:ostrum_vapor', 3000, 0) - .chancedFluidOutput('gtceu:dense_ostrum_vapor', 1000, 0) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.EV]); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:lightweight_ostrum') - .inputFluids('gtceu:lightweight_ostrum_vapor 1000') - .inputFluids('gtceu:residual_radioactive_concoction 100') - .inputFluids(Fluid.of('tfg:heavy_water', 1000)) - .itemOutputsRanged('#forge:dusty_raw_materials/pitchblende', 1, 10) - .itemOutputsRanged('#forge:dusty_raw_materials/silver', 1, 10) - .itemOutputsRanged('#forge:dusty_raw_materials/tricalcium_phosphate', 1, 10) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.IV]); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:ostrum') - .inputFluids('gtceu:ostrum_vapor 1000') - .inputFluids('gtceu:residual_radioactive_concoction 100') - .inputFluids(Fluid.of('gtceu:radon', 100)) - .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/beryllium'), 1, 10) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.IV]); - - event.recipes.gtceu.ostrum_linear_accelerator('tfg:dense_ostrum') - .inputFluids('gtceu:dense_ostrum_vapor 1000') - .inputFluids('gtceu:residual_radioactive_concoction 100') - .inputFluids(Fluid.of('gtceu:tritiated_water', 500)) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/thorium'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/uraninite'), 1, 10) - .itemOutputsRanged(Item.of('#forge:dusty_raw_materials/hematite'), 1, 10) - .dimension('ad_astra:mars') - .duration(20 * 5) - .EUt(GTValues.VA[GTValues.IV]); - - - // #region Zirconium - - event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride') - .itemInputs('#forge:dusts/silicon') - .inputFluids('gtceu:chlorine 4000') - .outputFluids('tfg:silicon_tetrachloride 1000') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_decomp') - .inputFluids('tfg:silicon_tetrachloride 1000', 'minecraft:water 2000') - .itemOutputs('#forge:dusts/silicon') - .outputFluids('gtceu:hydrochloric_acid 4000', 'gtceu:oxygen 2000') - .duration(5 * 20) - .EUt(GTValues.VA[GTValues.LV]) - - event.recipes.gtceu.chemical_reactor('tfg:zirconium_tetrachloride') - .itemInputs('4x #forge:dusts/carbon', '6x #forge:dusts/zircon') - .inputFluids('gtceu:chlorine 8000') - .outputFluids('gtceu:carbon_monoxide 4000', 'tfg:silicon_tetrachloride 1000') - .itemOutputs('5x #forge:dusts/zirconium_tetrachloride') - .duration(20 * 20) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.electric_blast_furnace('tfg:zirconium') - .itemInputs('2x #forge:dusts/magnesium', '5x #forge:dusts/zirconium_tetrachloride') - .itemOutputs('#forge:hot_ingots/zirconium', '6x #forge:dusts/magnesium_chloride') - .duration(55 * 20) - .blastFurnaceTemp(4241) - .EUt(GTValues.VA[GTValues.EV]) - - event.recipes.gtceu.chemical_reactor('tfg:zirconium_bromide') - .itemInputs('#forge:dusts/zirconium', '2x #forge:dusts/carbon') - .inputFluids('gtceu:bromine 4000', 'gtceu:oxygen 2000') - .itemOutputs('5x #forge:dusts/zirconium_bromide') - .outputFluids('gtceu:carbon_monoxide 2000') - .duration(10 * 20) - .EUt(GTValues.VA[GTValues.IV]) - - event.recipes.gtceu.chemical_reactor('tfg:zirconium_diboride') - .itemInputs('10x #forge:dusts/zirconium_bromide', '5x #forge:dusts/boron_carbide') - .notConsumable('#forge:dusts/carbon') - .itemOutputs('6x #forge:dusts/zirconium_diboride', '#forge:dusts/carbon') - .outputFluids('gtceu:bromine 8000') - .duration(10 * 20) - .EUt(GTValues.VA[GTValues.IV]) - - event.recipes.gtceu.chemical_reactor('tfg:boron_carbide') - .itemInputs('4x #forge:dusts/boron', '7x #forge:dusts/carbon') - .inputFluids('gtceu:oxygen 6000') - .itemOutputs('5x #forge:dusts/boron_carbide') - .outputFluids('gtceu:carbon_monoxide 6000') - .duration(10 * 20) - .EUt(GTValues.VA[GTValues.HV]) - - // #endregion -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js new file mode 100644 index 000000000..40bd3062d --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js @@ -0,0 +1,234 @@ +"use strict"; + +function registerTFGInsulationRecipes(event) { + + //#region Rock-wool stuff + event.recipes.gtceu.mixer('tfg:aes_mix') + .itemInputs('5x gtceu:silicon_dioxide_dust', '4x gtceu:quicklime_dust', 'gtceu:magnesia_dust') + .itemOutputs('10x tfg:aes_mix_dust') + .duration(160) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes') + .itemInputs('2x tfg:aes_mix_dust') + .outputFluids(Fluid.of('tfg:molten_aes', 1000)) + .chancedOutput('gtceu:ash_dust', 3000, 0) + .circuit(1) + .duration(400) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes_he') + .itemInputs('2x tfg:aes_mix_dust') + .inputFluids(Fluid.of('gtceu:helium', 200)) + .outputFluids(Fluid.of('tfg:molten_aes', 1000)) + .circuit(2) + .duration(140) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.centrifuge('tfg:aes_wool') + .inputFluids(Fluid.of('tfg:molten_aes', 200)) + .itemOutputs('tfg:aes_wool') + .duration(30) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.forming_press('tfg:aes_compressed_wool') + .itemInputs('4x tfg:aes_wool') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('tfg:aes_compressed_wool') + .duration(40) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_bath('tfg:aes_insulation_sheet') + .itemInputs('tfg:aes_compressed_wool') + .inputFluids(Fluid.of('gtceu:epoxy', 72)) + .circuit(1) + .itemOutputs('tfg:aes_insulation_sheet') + .duration(80) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_bath('tfg:aes_insulation_roll') + .itemInputs('9x tfg:aes_compressed_wool') + .inputFluids(Fluid.of('gtceu:epoxy', 648)) + .itemOutputs('tfg:aes_insulation_roll') + .circuit(9) + .duration(400) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.assembler('tfg:aes_insulation_roll') + .itemInputs('9x tfg:aes_insulation_sheet') + .itemOutputs('tfg:aes_insulation_roll') + .circuit(0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.shaped('tfg:aes_insulation_roll', [ + 'AAA', + 'AAA', + 'AAA' + ], { + A: 'tfg:aes_insulation_sheet' + }).id('tfg:shaped/aes_insulation_roll') + + event.recipes.gtceu.assembler('tfg:aes_insulation_sheet') + .itemInputs('9x tfg:aes_insulation_sheet') + .itemOutputs('tfg:aes_insulation_roll') + .circuit(0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.shapeless('9x tfg:aes_insulation_sheet', [ + 'tfg:aes_insulation_roll' + ]).id('tfg:shapeless/aes_insulation_sheet') + + event.recipes.gtceu.electric_blast_furnace('tfg:smelt_aes_sheet') + .itemInputs('tfg:aes_insulation_sheet') + .inputFluids(Fluid.of('gtceu:helium', 200)) + .outputFluids(Fluid.of('tfg:molten_aes', 800)) + .chancedOutput('gtceu:ash_dust', 2500, 0) + .circuit(1) + .duration(140) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.electric_blast_furnace('tfg:smelt_aes_roll') + .itemInputs('tfg:aes_insulation_roll') + .inputFluids(Fluid.of('gtceu:helium', 1000)) + .itemOutputs('2x gtceu:ash_dust') + .outputFluids(Fluid.of('tfg:molten_aes', 7200)) + .circuit(9) + .duration(1000) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:smelt_sniffer_wool') + .itemInputs('tfg:sniffer_wool') + .chancedOutput('gtceu:ash_dust', 7500, 0) + .outputFluids(Fluid.of('tfg:molten_aes', 200)) + .circuit(4) + .duration(80) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.electric_blast_furnace('tfg:smelt_wraptor_wool') + .itemInputs('tfg:wraptor_wool') + .chancedOutput('gtceu:ash_dust', 5000, 0) + .outputFluids(Fluid.of('tfg:molten_aes', 100)) + .circuit(8) + .duration(60) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + // #endregion + + //#region ammonia borane + event.recipes.gtceu.chemical_reactor('tfg:sodium_hydride_synthesis') + .itemInputs('#forge:dusts/sodium') + .inputFluids(Fluid.of('gtceu:hydrogen', 1000)) + .itemOutputs('2x #forge:dusts/sodium_hydride') + .duration(400) + .EUt(GTValues.VA[GTValues.HV]) + event.recipes.gtceu.chemical_reactor('tfg:boric_acid_synthesis') + .itemInputs('23x #forge:dusts/borax') + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000)) + .itemOutputs('28x #forge:dusts/boric_acid', '2x #forge:dusts/salt') + .outputFluids(Fluid.of('minecraft:water', 5000)) + .duration(400) + .EUt(GTValues.VA[GTValues.HV]) + event.recipes.gtceu.chemical_reactor('tfg:trimethyl_borate_synthesis') + .itemInputs('7x #forge:dusts/boric_acid') + .inputFluids(Fluid.of('gtceu:methanol', 3000), Fluid.of('gtceu:sulfuric_acid', 100)) + .outputFluids(Fluid.of('tfg:trimethyl_borate', 1000), Fluid.of('minecraft:water', 3000)) + .duration(300) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.chemical_reactor('tfg:sodium_borohydride_synthesis') + .itemInputs('4x #forge:dusts/sodium_hydride') + .inputFluids(Fluid.of('tfg:trimethyl_borate', 1000)) + .itemOutputs('6x #forge:dusts/sodium_borohydride', '18x #forge:dusts/sodium_methoxide') + .duration(160) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.chemical_reactor('tfg:ammonia_borane_synthesis') + .itemInputs('6x #forge:dusts/sodium_borohydride', '6x #forge:dusts/ammonium_chloride') + .itemOutputs('8x #forge:dusts/ammonia_borane', '2x #forge:dusts/salt') + .outputFluids(Fluid.of('gtceu:hydrogen', 2000)) + .duration(100) + .EUt(GTValues.VA[GTValues.IV]) + //#endregion + + //#region polyurethane + event.recipes.gtceu.chemical_reactor('tfg:aniline_synthesis') + .inputFluids(Fluid.of('gtceu:nitrobenzene', 1000), Fluid.of('gtceu:hydrogen', 6000)) + .notConsumable('#forge:dusts/iron') + .outputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('minecraft:water', 2000)) + .duration(140) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.chemical_reactor('tfg:dimethyl_carbonate_synthesis') + .inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000), Fluid.of('gtceu:oxygen', 1000), Fluid.of('gtceu:methanol', 2000)) + .outputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000), Fluid.of('minecraft:water', 1000)) + .duration(120) + .circuit(2) + .EUt(GTValues.VA[GTValues.HV]) + event.recipes.gtceu.chemical_reactor('tfg:methyl_phenylcarbamate_synthesis') + .inputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('tfg:dimethyl_carbonate', 1000)) + .outputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 1000), Fluid.of('gtceu:methanol', 1000)) + .duration(200) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.chemical_reactor('tfg:mpc_synthesis') + .inputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 2000), Fluid.of('gtceu:formaldehyde', 1000)) + .outputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000), Fluid.of('minecraft:water', 1000)) + .duration(200) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.chemical_reactor('tfg:mpi_synthesis') + .inputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000)) + .itemOutputs('27x #forge:dusts/methylene_diphenyl_diisocyanate') + .outputFluids(Fluid.of('gtceu:methanol', 2000)) + .duration(80) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.mixer('tfg:aes_polyurethane_electric_only') + .itemInputs('2x #tfg:mineral_rich_wool', 'tfg:aes_compressed_wool', '27x #forge:dusts/methylene_diphenyl_diisocyanate') + .inputFluids(Fluid.of('gtceu:diethylenetriamine', 250), Fluid.of('gtceu:acetone', 1000)) + .itemOutputs('tfg:aes_polyurethane') + .duration(80) + .EUt(GTValues.VA[GTValues.IV]) + + //#endregion + + //#region Aerogel + event.recipes.gtceu.chemical_reactor('tfg:tmos_synthesis') + .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 2000)) + .itemInputs('3x #forge:dusts/silicon_dioxide') + .notConsumable('#forge:small_dusts/potassium_hydroxide') + .outputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:carbon_dioxide', 2000)) + .duration(100) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.chemical_reactor('tfg:tmos_hydrolysis') + .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:distilled_water', 2000)) + .outputFluids(Fluid.of('gtceu:methanol', 4000)) + .itemOutputs('3x #forge:dusts/silicon_dioxide') + .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)) + .duration(300) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.chemical_reactor('tfg:silica_gel_soaking') + .inputFluids(Fluid.of('tfg:silica_gel', 1000), Fluid.of('gtceu:acetone', 2000)) + .outputFluids(Fluid.of('tfg:soaked_silica_gel', 1000)) + .duration(400) + .EUt(GTValues.VA[GTValues.EV]) + event.recipes.gtceu.large_chemical_reactor('tfg:silica_aerogel') + .inputFluids(Fluid.of('tfg:soaked_silica_gel', 1000), Fluid.of('gtceu:liquid_carbon_dioxide', 3000)) + .outputFluids(Fluid.of('gtceu:carbon_dioxide', 3000), Fluid.of('gtceu:acetone', 1000)) + .itemOutputs('tfg:silica_aerogel') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + //#endregion + + //#region Tier 3 insulation + event.recipes.gtceu.forming_press('tfg:mli_shielding') + .itemInputs('4x #forge:plates/ammonia_borane', '2x tfg:aes_polyurethane', '4x gtceu:carbon_fiber_plate') + .itemOutputs('tfg:mli_shielding') + .duration(100) + .EUt(GTValues.VA[GTValues.IV]) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/recipes.railgun.js b/kubejs/server_scripts/tfg/space_general/recipes.railgun.js new file mode 100644 index 000000000..fb532c5bf --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/recipes.railgun.js @@ -0,0 +1,111 @@ +"use strict"; + +function registerTFGRailgunRecipes(event) { + + // Railgun stuff + // (the railgun inputs and outputs are in tfg-core) + + + //item bus to railgun item bus conversion recipes + const GTTiers = ['ulv', 'lv', 'mv', 'hv', 'ev', 'iv', 'luv', 'zpm', 'uv', 'uhv'] + GTTiers.forEach(x => { + event.recipes.gtceu.assembler(`tfg:${x}_input_to_${x}_railgun_input_assembler`) + .itemInputs(`gtceu:${x}_input_bus`) + .circuit(4) + .itemOutputs(`tfg:${x}_railgun_item_loader_in`) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.assembler(`tfg:${x}_output_to_${x}_railgun_output_assembler`) + .itemInputs(`gtceu:${x}_output_bus`) + .circuit(4) + .itemOutputs(`tfg:${x}_railgun_item_loader_out`) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.LV]) + }) + + //Railgun ammo + event.recipes.gtceu.assembler('tfg:railgun_ammo_basic') + .itemInputs('#forge:double_plates/steel', '2x #forge:rods/magnetic_iron', '2x #forge:fine_wires/annealed_copper') + .inputFluids('gtceu:rocket_fuel 250') + .itemOutputs('tfg:railgun_ammo_shell') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:railgun_ammo_advanced') + .itemInputs('#forge:double_plates/titanium', '2x #forge:rods/magnetic_steel', '2x #forge:fine_wires/gold') + .inputFluids('gtceu:rocket_fuel 250') + .itemOutputs('4x tfg:railgun_ammo_shell') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:railgun_ammo_best') + .itemInputs('#forge:double_plates/tungsten', '2x #forge:rods/magnetic_neodymium', '2x #forge:fine_wires/aluminium') + .inputFluids('gtceu:rocket_fuel 250') + .itemOutputs('8x tfg:railgun_ammo_shell') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:railgun_ammo_moon') + .itemInputs('#forge:double_plates/steel', '2x ae2:charged_certus_quartz_crystal', '2x ae2:quartz_fiber') + .inputFluids('gtceu:rocket_fuel 250') + .itemOutputs('4x tfg:railgun_ammo_shell') + .dimension('ad_astra:moon') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.assembler('tfg:railgun_ammo_mars') + .itemInputs('#forge:double_plates/lead', '2x #forge:rods/ostrum', '2x #forge:fine_wires/silver') + .inputFluids('gtceu:rocket_fuel 250') + .itemOutputs('8x tfg:railgun_ammo_shell') + .dimension('ad_astra:mars') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.shaped('tfg:railgun_ammo_loader', [ + 'RMR', + 'MBM', + 'CCC' + ], { + B: 'gtceu:mv_input_bus', + R: 'gtceu:mv_robot_arm', + M: 'gtceu:mv_electric_motor', + C: '#forge:single_cables/annealed_copper' + }).addMaterialInfo().id('tfg:shaped/railgun_ammo_loader') + + event.recipes.gtceu.shaped('tfg:interplanetary_logistics_monitor', [ + 'CDC', + 'SHE', + 'WCW' + ], { + C: '#gtceu:circuits/hv', + D: 'gtceu:computer_monitor_cover', + S: 'gtceu:hv_sensor', + H: 'gtceu:hv_machine_hull', + E: 'gtceu:hv_emitter', + W: '#forge:single_cables/silver' + }).addMaterialInfo().id('tfg:shaped/interplanetary_logistics_monitor') + + event.recipes.gtceu.shaped('tfg:interplanetary_item_launcher', [ + 'NSN', + 'CHC', + 'NEN' + ], { + C: '#gtceu:circuits/ev', + S: 'gtceu:hv_sensor', + E: 'gtceu:hv_emitter', + H: 'gtceu:ev_machine_hull', + N: '#forge:plates/hsla_steel' + }).addMaterialInfo().id('tfg:shaped/interplanetary_item_launcher') + + event.recipes.gtceu.shaped('tfg:interplanetary_item_receiver', [ + 'CSC', + 'WHW', + 'CSC' + ], { + C: '#gtceu:circuits/mv', + S: 'gtceu:mv_sensor', + W: '#forge:double_cables/copper', + H: 'gtceu:mv_machine_hull' + }).addMaterialInfo().id('tfg:shaped/interplanetary_item_receiver') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/recipes.rockets.js b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js new file mode 100644 index 000000000..161eb46af --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/recipes.rockets.js @@ -0,0 +1,283 @@ +"use strict"; + +function registerTFGRocketRecipes(event) { + + //#region Tier 1 rocket + + event.recipes.gtceu.assembler('tfg:rocket_nose_cone_t1') + .itemInputs( + 'gtceu:hv_emitter', + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 1), + ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 3)) + .inputFluids(Fluid.of('gtceu:polyethylene', 144 * 16)) + .itemOutputs('ad_astra:rocket_nose_cone') + .duration(1200) + .circuit(2) + .EUt(480) + .addMaterialInfo(true, true) + + + event.recipes.gtceu.pyrolyse_oven('tfg:pyrolyse_vitrified_asbestos_dust') + .inputFluids(Fluid.of('gtceu:nitrogen', 100)) + .itemInputs('gtceu:asbestos_dust') + .itemOutputs('gtceu:vitrified_asbestos_dust') + .duration(80) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.mixer('tfg:rocket_alloy_t1') + .itemInputs('6x #forge:dusts/aluminium', '2x #forge:dusts/stainless_steel') + .inputFluids(Fluid.of('gtceu:red_steel', 144)) + .itemOutputs('9x #forge:dusts/rocket_alloy_t1') + .duration(580) + .circuit(2) + .EUt(480) + + event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_water') + .itemInputs('#forge:hot_ingots/rocket_alloy_t1') + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs('#forge:ingots/rocket_alloy_t1') + .duration(400) + .EUt(120) + + event.recipes.gtceu.chemical_bath('tfg:rocket_alloy_cool_down_distilled_water') + .itemInputs('#forge:hot_ingots/rocket_alloy_t1') + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs('#forge:ingots/rocket_alloy_t1') + .duration(250) + .EUt(120) + + event.recipes.gtceu.assembler(`tfg:rocket_fin_t1`) + .itemInputs( + ChemicalHelper.get(TagPrefix.plate, TFGHelpers.getMaterial('rocket_alloy_t1'), 1), + ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 1) + ) + .itemOutputs('ad_astra:rocket_fin') + .duration(150) + .circuit(2) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true) + + + event.recipes.gtceu.assembler('tfg:rocket_steel_engine') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.StainlessSteel, 2), + '2x #gtceu:circuits/hv', + 'gtceu:hv_electric_pump', + '2x gtceu:power_thruster', + ChemicalHelper.get(TagPrefix.rotor, GTMaterials.StainlessSteel, 1) + ) + .inputFluids(Fluid.of('gtceu:blue_steel', 144 * 8)) + .itemOutputs('ad_astra:steel_engine') + .duration(600) + .circuit(2) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('ad_astra:assembler_tier_1_rocket') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t1'), 8), + '4x ad_astra:rocket_fin', + '1x ad_astra:steel_engine', + '1x ad_astra:rocket_nose_cone', + '16x #forge:insulation_t1', + '4x #gtceu:circuits/hv' + ) + .inputFluids(Fluid.of('gtceu:silicon', 144 * 16)) + .itemOutputs('ad_astra:tier_1_rocket') + .duration(1200) + .circuit(2) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true, true) + + //#endregion + + + //region tier 2 rocket + + event.remove({ mod: 'gtceu', input: 'gtceu:hot_rocket_alloy_t2_ingot' }) + + event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2') + .itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium') + .inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000)) + .outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32)) + .duration(1320 * 20) + .circuit(2) + .blastFurnaceTemp(3200) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.alloy_blast_smelter('gtceu:alloy_blast_smelter/rocket_alloy_t2_gas') + .itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium') + .inputFluids(Fluid.of('gtceu:vanadium', 144 * 4), Fluid.of('gtceu:distilled_water', 16000), Fluid.of('gtceu:helium', 3200)) + .outputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144 * 32)) + .duration(17688) + .circuit(12) + .blastFurnaceTemp(3200) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_molten_rocket_alloy_t2') + .notConsumable('gtceu:ingot_casting_mold') + .inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t2', 144), Fluid.of('tfg:cryogenized_fluix', 288)) + .itemOutputs('#forge:ingots/rocket_alloy_t2') + .duration(120) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.mixer('tfg:rocket_alloy_t2') + .itemInputs('19x #forge:dusts/titanium', '3x #forge:dusts/chromium', '3x #forge:dusts/tin', '3x #forge:dusts/aluminium') + .inputFluids(Fluid.of('gtceu:vanadium', 144 * 4)) + .itemOutputs('32x #forge:dusts/rocket_alloy_t2') + .duration(15 * 20) + .circuit(5) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_rocket_alloy_t2') + .itemInputs('#forge:hot_ingots/rocket_alloy_t2') + .inputFluids(Fluid.of('gtceu:distilled_water', 500), Fluid.of('tfg:cryogenized_fluix', 288)) + .itemOutputs('#forge:ingots/rocket_alloy_t2') + .duration(120) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.assembler('tfg:rocket_fin_t2') + .itemInputs('#forge:plates/rocket_alloy_t2', + '#forge:double_plates/titanium') + .itemOutputs('tfg:rocket_fin_t2') + .duration(180) + .circuit(3) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true) + + event.recipes.gtceu.assembler('tfg:rocket_cone_t2') + .itemInputs('gtceu:ev_emitter', '#forge:dense_plates/rocket_alloy_t2', '#forge:double_plates/titanium', + '#forge:double_plates/desh') + .itemOutputs('tfg:rocket_cone_t2') + .duration(1440) + .circuit(3) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true) + + + event.recipes.gtceu.assembler('tfg:rocket_desh_engine') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.Titanium, 4), + '2x #gtceu:circuits/ev', + 'gtceu:ev_electric_pump', + '3x gtceu:advanced_power_thruster', + ChemicalHelper.get(TagPrefix.rod, GTMaterials.NeodymiumMagnetic, 4), + ChemicalHelper.get(TagPrefix.rotor, GTMaterials.Titanium, 1)) + .inputFluids(Fluid.of('gtceu:desh', 144 * 12)) + .itemOutputs('ad_astra:desh_engine') + .duration(800) + .circuit(3) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('ad_astra:tier_2_rocket') + .itemInputs( + ChemicalHelper.get(TagPrefix.plateDense, TFGHelpers.getMaterial('rocket_alloy_t2'), 12), + '4x tfg:rocket_fin_t2', + '1x ad_astra:desh_engine', + '1x tfg:rocket_cone_t2', + '12x #forge:insulation_t2/roll', + '4x #gtceu:circuits/ev' + ) + .inputFluids(Fluid.of('gtceu:titanium', 144 * 16)) + .itemOutputs('ad_astra:tier_2_rocket') + .duration(1440) + .circuit(3) + .EUt(GTValues.VA[GTValues.EV]) + .addMaterialInfo(true, true) + + //#endregion + + //region Tier 3 DISABLED UNTIL IV + event.remove({ id: "gtceu:vacuum_freezer/cool_hot_rocket_alloy_t3_ingot" }) + event.remove({ id: "gtceu:vacuum_freezer/rocket_alloy_t3" }) + /* + event.recipes.gtceu.vacuum_freezer('tfg:cool_rocket_alloy_t3') + .inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t3', 144), Fluid.of('gtceu:ice', 4000)) + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('#forge:ingots/rocket_alloy_t3') + .duration(800) + .EUt(GTValues.VA[GTValues.HV]) + event.recipes.gtceu.vacuum_freezer('tfg:cool_hot_rocket_alloy_t3') + .itemInputs('#forge:hot_ingots/rocket_alloy_t3') + .inputFluids(Fluid.of('gtceu:liquid_helium', 500)) + .itemOutputs('#forge:ingots/rocket_alloy_t3') + .outputFluids(Fluid.of('gtceu:helium', 250)) + .duration(400) + .EUt(GTValues.VA[GTValues.HV]) + + //Add some unique cooling thing for molten ingots + + event.recipes.gtceu.assembler('tfg:rocket_fin_t3') + .itemInputs('#forge:plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel') + .itemOutputs('tfg:rocket_fin_t3') + .duration(220) + .circuit(4) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) + + event.recipes.gtceu.assembler('tfg:rocket_cone_t3') + .itemInputs('gtceu:iv_emitter', '#forge:dense_plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel', + '#forge:double_plates/ostrum', 'gtceu:plutonium_nugget') //change this to the pellet + .itemOutputs('tfg:rocket_cone_t3') + .duration(1700) + .circuit(4) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) + + event.recipes.gtceu.assembler('tfg:elite_power_thruster') + .itemInputs('gtceu:ev_electric_motor', '2x #forge:rings/titanium', '#forge:rods/titanium', + 'gtceu:ultimet_rotor', '2x gtceu:aluminium_single_cable') + .itemOutputs('tfg:elite_power_thruster') + .duration(200) + .EUt(GTValues.VA[GTValues.LV]) + .addMaterialInfo(true) + + event.recipes.gtceu.assembler('tfg:rocket_ostrum_engine') + .itemInputs( + '6x #forge:double_plates/tungsten_steel', + '4x #gtceu:circuits/iv', + 'gtceu:iv_electric_pump', + '3x tfg:elite_power_thruster', + '4x #forge:insulation_t3/cryo', + '6x #forge:rods/magnetic_neodymium', + '#forge:rotors/tungsten_steel') + .inputFluids(Fluid.of('gtceu:ostrum', 144 * 16)) + .itemOutputs('ad_astra:ostrum_engine') + .duration(960) + .circuit(4) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('tfg:rocket_ostrum_tank') + .itemInputs( + '4x #forge:double_plates/rocket_alloy_t3', + 'gtceu:iv_electric_pump', + 'tfg:elite_power_thruster', + '2x #forge:insulation_t3/cryo') + .inputFluids(Fluid.of('gtceu:ostrum', 144 * 4)) + .itemOutputs('ad_astra:ostrum_tank') + .duration(400) + .circuit(4) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true, true) + + event.recipes.gtceu.assembler('ad_astra:tier_3_rocket') + .itemInputs( + '16x #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', + '8x #forge:insulation_t3/sheet' + ) + .inputFluids(Fluid.of('gtceu:bromine', 1000 * 16)) + .itemOutputs('ad_astra:tier_3_rocket') + .duration(1700) + .circuit(4) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true, true) + + //#endregion +*/ +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/recipes.space.js b/kubejs/server_scripts/tfg/space_general/recipes.space.js new file mode 100644 index 000000000..88e54b3a5 --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/recipes.space.js @@ -0,0 +1,114 @@ +// priority: 0 +"use strict"; + +/** + * @param {Internal.RecipesEventJS} event + */ +function registerTFGSpaceRecipes(event) { + + const allowedCombustibleDims = [ + { + dimension: "minecraft:the_nether", + type: "dimension" + }, + { + dimension: "minecraft:overworld", + type: "dimension" + } + ] + + event.findRecipes({ type: "gtceu:large_boiler" }).forEach(recipe => { + recipe.json.add("recipeConditions", allowedCombustibleDims) + }) + event.findRecipes({ type: "gtceu:steam_boiler" }).forEach(recipe => { + recipe.json.add("recipeConditions", allowedCombustibleDims) + }) + event.findRecipes({ type: "gtceu:combustion_generator" }).forEach(recipe => { + recipe.json.add("recipeConditions", allowedCombustibleDims) + }) + event.findRecipes({ type: "gtceu:gas_turbine" }).forEach(recipe => { + recipe.json.add("recipeConditions", allowedCombustibleDims) + }) + + // Air collector + + event.recipes.gtceu.gas_collector('tfg:nether') + .circuit(2) + .outputFluids(Fluid.of('gtceu:air', 10000)) + .dimension('minecraft:the_nether') + .duration(200) + .EUt(16) + + event.recipes.gtceu.gas_collector('tfg:moon') + .circuit(3) + .outputFluids(Fluid.of('gtceu:argon', 1)) + .dimension('ad_astra:moon') + .duration(20*60*30) + .EUt(16) + + event.recipes.gtceu.gas_collector('tfg:mars') + .circuit(4) + .outputFluids(Fluid.of('tfg:mars_air', 10000)) + .dimension('ad_astra:mars') + .duration(20*10) + .EUt(16) + + + // Aqueous accumulator -- use adjacentFluids (plural) to avoid rhino ambiguous method issues + + let aaCircuit = 1; + + event.recipes.gtceu.aqueous_accumulator('water') + .circuit(aaCircuit++) + .duration(20) + .EUt(GTValues.VHA[GTValues.ULV]) + .adjacentFluids(["minecraft:water"]) + .outputFluids(Fluid.of("minecraft:water", 1000)) + + event.recipes.gtceu.aqueous_accumulator('sea_water') + .circuit(aaCircuit++) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + .adjacentFluids(["tfc:salt_water"]) + .outputFluids(Fluid.of("tfc:salt_water", 1000)) + + event.recipes.gtceu.aqueous_accumulator('semiheavy_water_mars') + .circuit(aaCircuit++) + .dimension('ad_astra:mars') + .duration(20) + .EUt(GTValues.VHA[GTValues.ULV]) + .adjacentFluids(["tfg:semiheavy_ammoniacal_water"]) + .outputFluids(Fluid.of("tfg:semiheavy_ammoniacal_water", 1000)) + + event.recipes.gtceu.aqueous_accumulator('lava_overworld') + .circuit(aaCircuit++) + .dimension('minecraft:overworld') + .duration(20*15) + .EUt(GTValues.VHA[GTValues.HV]) + .adjacentFluids(["minecraft:lava"]) + .outputFluids(Fluid.of("minecraft:lava", 1000)) + + event.recipes.gtceu.aqueous_accumulator('lava_nether') + .circuit(aaCircuit++) + .dimension('minecraft:the_nether') + .duration(20*15) + .EUt(GTValues.VHA[GTValues.HV]) + .adjacentFluids(["minecraft:lava"]) + .outputFluids(Fluid.of("minecraft:lava", 1000)) + + event.recipes.gtceu.aqueous_accumulator('spring_water') + .circuit(aaCircuit++) + .dimension('minecraft:overworld') + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + .adjacentFluids(["tfc:spring_water"]) + .outputFluids(Fluid.of("tfc:spring_water", 1000)) + + event.recipes.gtceu.aqueous_accumulator('more_water') + .circuit(aaCircuit++) + .duration(10) + .EUt(GTValues.VHA[GTValues.HV]) + .adjacentFluids(["minecraft:water"]) + .outputFluids(Fluid.of("minecraft:water", 16000)) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/recipes.space_suits.js b/kubejs/server_scripts/tfg/space_general/recipes.space_suits.js new file mode 100644 index 000000000..7c1d54856 --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/recipes.space_suits.js @@ -0,0 +1,182 @@ +"use strict"; + +function registerTFGSpaceSuitRecipes(event) { + + event.recipes.gtceu.shaped('ad_astra:launch_pad', [ + 'BAB', + 'AAA', + 'BAB' + ], { + A: '#forge:plates/steel', + B: '#forge:rods/steel' + }).addMaterialInfo().id('tfg:launch_pad') + + + // Space suit gases + + event.recipes.gtceu.gas_pressurizer('compressed_nitrox') + .inputFluids(Fluid.of('gtceu:nitrogen', 8000), Fluid.of('gtceu:oxygen', 2000)) + .outputFluids(Fluid.of('tfg:compressed_nitrox', 1000)) + .circuit(1) + .duration(100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.gas_pressurizer('compressed_heliox') + .inputFluids(Fluid.of('gtceu:helium', 8000), Fluid.of('gtceu:oxygen', 2000)) + .outputFluids(Fluid.of('tfg:compressed_heliox', 1000)) + .circuit(1) + .duration(100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.gas_pressurizer('compressed_heliox_3') + .inputFluids(Fluid.of('gtceu:helium_3', 8000), Fluid.of('gtceu:oxygen', 2000)) + .outputFluids(Fluid.of('tfg:compressed_heliox_3', 1000)) + .circuit(1) + .duration(100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.gas_pressurizer('compressed_trimix') + .inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium', 2000)) + .outputFluids(Fluid.of('tfg:compressed_trimix', 1000)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.gas_pressurizer('compressed_trimix_3') + .inputFluids(Fluid.of('gtceu:nitrogen', 5000), Fluid.of('gtceu:oxygen', 3000), Fluid.of('gtceu:helium_3', 2000)) + .outputFluids(Fluid.of('tfg:compressed_trimix_3', 1000)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.HV]) + + //#region space suits + + event.recipes.gtceu.forming_press('space_suit_fabric') + .itemInputs( + '#forge:foils/aluminium', + 'gtceu:carbon_fiber_mesh', + '#forge:foils/silicone_rubber', + 'tfg:polycaprolactam_fabric' + ) + .itemOutputs('2x tfg:space_suit_fabric') + .duration(20 * 10) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true) + + event.recipes.gtceu.forming_press('better_space_suit_fabric') + .itemInputs( + '#forge:foils/polybenzimidazole', + 'gtceu:carbon_fiber_mesh', + '#forge:aerogels', + 'tfg:glacian_wool' + ) + .itemOutputs('2x tfg:better_space_suit_fabric') + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) + + event.recipes.gtceu.shaped('ad_astra:space_helmet', [ + 'AAA', + 'ADA', + 'BBB' + ], { + A: 'gtceu:tempered_glass', + B: 'tfg:space_suit_fabric', + D: '#forge:small_fluid_pipes/polyethylene' + }).addMaterialInfo().id('tfg:space_helmet') + + event.recipes.gtceu.assembler('ad_astra:netherite_space_helmet') + .itemInputs( + 'ad_astra:space_helmet', + '2x #forge:plates/tungsten_steel', + '1x #forge:plates/ostrum', + '3x tfg:better_space_suit_fabric', + '5x gtceu:laminated_glass' + ) + .itemOutputs('ad_astra:netherite_space_helmet') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) + + event.recipes.gtceu.shaped('ad_astra:space_suit', [ + 'B B', + 'BDB', + 'BBB' + ], { + B: 'tfg:space_suit_fabric', + D: 'ad_astra:oxygen_gear' + }).addMaterialInfo().id('tfg:space_suit') + + event.shapeless('ad_astra:space_suit', ['ad_astra:space_suit']) + .id('tfg:empty_space_suit') + + event.recipes.gtceu.assembler('ad_astra:netherite_space_suit') + .itemInputs( + 'ad_astra:space_suit', + '3x #forge:plates/tungsten_steel', + '2x #forge:plates/ostrum', + '5x tfg:better_space_suit_fabric' + ) + .itemOutputs('ad_astra:netherite_space_suit') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) + + event.shapeless('ad_astra:netherite_space_suit', ['ad_astra:netherite_space_suit']) + .id('tfg:empty_netherite_space_suit') + + event.recipes.gtceu.shaped('ad_astra:space_pants', [ + 'BAB', + 'B B', + 'B B' + ], { + A: 'gtceu:hv_electric_motor', + B: 'tfg:space_suit_fabric', + }).addMaterialInfo().id('tfg:space_pants') + + event.recipes.gtceu.assembler('ad_astra:netherite_space_pants') + .itemInputs( + 'ad_astra:space_pants', + '2x #forge:plates/tungsten_steel', + '2x #forge:plates/ostrum', + '4x tfg:better_space_suit_fabric' + ) + .itemOutputs('ad_astra:netherite_space_pants') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) + + event.recipes.gtceu.shaped('ad_astra:space_boots', [ + 'B B', + 'A A' + ], { + A: '#forge:plates/polyphenylene_sulfide', + B: 'tfg:space_suit_fabric' + }).addMaterialInfo().id('tfg:space_boots') + + event.recipes.gtceu.assembler('ad_astra:netherite_space_boots') + .itemInputs( + 'ad_astra:space_boots', + '1x #forge:plates/tungsten_steel', + '1x #forge:plates/ostrum', + '2x tfg:better_space_suit_fabric' + ) + .itemOutputs('ad_astra:netherite_space_boots') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + .addMaterialInfo(true) + + event.recipes.gtceu.shaped('ad_astra:oxygen_gear', [ + 'BAB', + 'ECE', + 'BDB' + ], { + A: '#gtceu:circuits/hv', + B: '#forge:tiny_fluid_pipes/stainless_steel', + C: 'gtceu:hv_electric_pump', + D: 'gtceu:fluid_detector_cover', + E: 'ad_astra:gas_tank' + }).addMaterialInfo().id('tfg:oxygen_gear') + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 04a914fba..785160a42 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -18,6 +18,10 @@ const registerTFGItemTags = (event) => { event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product') event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product') + event.add("tfg:sugars", "minecraft:sugar"); + event.add("tfg:sugars", "afc:birch_sugar"); + event.add("tfg:sugars", "afc:maple_sugar"); + // Actually "layers", can't rename them without screwing with peoples' worlds event.add('c:hidden_from_recipe_viewers', 'tfg:ash_pile') event.add('c:hidden_from_recipe_viewers', 'tfg:pile/black_sand') @@ -627,12 +631,10 @@ const registerTFGItemTags = (event) => { event.remove('forge:dusts', 'tfg:cellulose_matrix') event.remove('forge:dusts/cellulose_matrix', 'tfg:cellulose_matrix') - event.remove('balm:ingots', 'tfg:polycaprolactam_fabric') event.remove('tfc:pileable_ingots', 'tfg:polycaprolactam_fabric') event.remove('forge:ingots', 'tfg:polycaprolactam_fabric') event.remove('forge:ingots/tfg_polycaprolactam', 'tfg:polycaprolactam_fabric') - event.remove('balm:nuggets', 'tfg:polycaprolactam_string') event.remove('forge:nuggets', 'tfg:polycaprolactam_string') event.remove('forge:nuggets/tfg_polycaprolactam', 'tfg:polycaprolactam_string') diff --git a/kubejs/server_scripts/tfg/recipes.biochem.js b/kubejs/server_scripts/tfg/venus/recipes.biochem.js similarity index 100% rename from kubejs/server_scripts/tfg/recipes.biochem.js rename to kubejs/server_scripts/tfg/venus/recipes.biochem.js diff --git a/kubejs/server_scripts/tfg/worldgen/data.fauna.js b/kubejs/server_scripts/tfg/worldgen/data.fauna.js new file mode 100644 index 000000000..6a54f27b4 --- /dev/null +++ b/kubejs/server_scripts/tfg/worldgen/data.fauna.js @@ -0,0 +1,108 @@ +"use strict"; + + +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGFauna(event) { + + // -108 is the average at z=-4k to z=-6k, which feels like a big enough band + event.fauna( + climate => { + climate.maxTemp(-108) + climate.fuzzy(false) + }, + faunaData => { + faunaData.solidGround(true) + }, + "tfg:glacian_ram") + + event.fauna( + climate => { + climate.minTemp(-102) + climate.maxTemp(-30) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "tfg:sniffer") + + event.fauna( + climate => { + climate.minTemp(-100) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "tfg:wraptor") + + event.fauna( + climate => { + climate.minTemp(-108) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "species:springling") + + event.fauna( + climate => { + climate.minTemp(-109) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "species:goober") + + event.fauna( + climate => { + climate.minTemp(-97) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:walker") + + event.fauna( + climate => { + climate.minTemp(-109) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:eater") + + event.fauna( + climate => { + climate.minTemp(-100) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:crusher") + + event.fauna( + climate => { + climate.minTemp(-105) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:soarer") + + event.fauna( + climate => { + climate.minTemp(-106) + climate.fuzzy(true) + }, + faunaData => { + faunaData.solidGround(true) + }, + "wan_ancient_beasts:glider") +} diff --git a/kubejs/server_scripts/tfg/entities.js b/kubejs/server_scripts/tfg/worldgen/entities.js similarity index 100% rename from kubejs/server_scripts/tfg/entities.js rename to kubejs/server_scripts/tfg/worldgen/entities.js diff --git a/kubejs/server_scripts/tfg/events.chunks.js b/kubejs/server_scripts/tfg/worldgen/events.chunks.js similarity index 100% rename from kubejs/server_scripts/tfg/events.chunks.js rename to kubejs/server_scripts/tfg/worldgen/events.chunks.js diff --git a/kubejs/server_scripts/tfg/events.forests.js b/kubejs/server_scripts/tfg/worldgen/events.forests.js similarity index 100% rename from kubejs/server_scripts/tfg/events.forests.js rename to kubejs/server_scripts/tfg/worldgen/events.forests.js diff --git a/kubejs/server_scripts/tfc/select_climates.js b/kubejs/server_scripts/tfg/worldgen/select_climates.js similarity index 100% rename from kubejs/server_scripts/tfc/select_climates.js rename to kubejs/server_scripts/tfg/worldgen/select_climates.js diff --git a/kubejs/server_scripts/wan_ancient_beasts/recipes.js b/kubejs/server_scripts/wan_ancient_beasts/recipes.js index 2b65d3851..9f083ead7 100644 --- a/kubejs/server_scripts/wan_ancient_beasts/recipes.js +++ b/kubejs/server_scripts/wan_ancient_beasts/recipes.js @@ -38,19 +38,6 @@ const registerWABRecipes = (event) => { .duration(400) .EUt(30) - event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('4x tfg:fletching', [ - 'wan_ancient_beasts:glider_feather', - '#forge:tools/knives' - ]).id('tfg:shapeless/glider_feather_fletching')) - - event.recipes.gtceu.assembler('tfg:assembler/glider_feather_fletching') - .itemInputs('1x wan_ancient_beasts:glider_feather') - .itemOutputs('4x tfg:fletching') - .duration(20) - .circuit(4) - .EUt(GTValues.VA[GTValues.ULV]) - event.shaped('wan_ancient_beasts:reinforced_shield', [ 'BAB', 'DCD', diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 6fd163157..b2eb4b3df 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -153,7 +153,7 @@ const registerTFGNuclearMaterials = (event) => { event.create('tfg:oxidized_nuclear_residue') .dust() - .components('1x uranium', '1x oxygen', '2x unknown') + .components('1x plutonium', '2x fluorine', '1x oxygen', '2x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .iconSet(GTMaterialIconSet.SHINY) .color(0x286529) @@ -162,7 +162,7 @@ const registerTFGNuclearMaterials = (event) => { event.create('tfg:refined_nuclear_residue') .dust() - .components('1x uranium', '2x unknown') + .components('1x plutonium', '2x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x82c383) .secondaryColor('0xffffff') From a3096dd5c9d3895f1fc6d903f7742ef87b7156a3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 2 Dec 2025 19:20:01 +0000 Subject: [PATCH 201/628] move around some files --- kubejs/startup_scripts/tfg/entity_types.js | 26 ------------------- .../tfg/{ => worldgen}/fauna.js | 0 .../tfg/{ => worldgen}/register_climates.js | 0 3 files changed, 26 deletions(-) delete mode 100644 kubejs/startup_scripts/tfg/entity_types.js rename kubejs/startup_scripts/tfg/{ => worldgen}/fauna.js (100%) rename kubejs/startup_scripts/tfg/{ => worldgen}/register_climates.js (100%) diff --git a/kubejs/startup_scripts/tfg/entity_types.js b/kubejs/startup_scripts/tfg/entity_types.js deleted file mode 100644 index f39471767..000000000 --- a/kubejs/startup_scripts/tfg/entity_types.js +++ /dev/null @@ -1,26 +0,0 @@ -// priority: 0 -"use strict"; - -function registerTFGEntityTypes(event) { - - //event.create('tfg:moon_rabbit', 'tfc:mammal') - // .withFaunaDefinition('on_ground', 'world_surface_wg') - // .foodTag('tfc:rabbit_food') - // .sized(1, 1) - // .modelSize(1, 1) - // .updateInterval(3) - // .setDeathSound("minecraft:entity.rabbit.death") - // .setAmbientSound("minecraft:entity.rabbit.ambient") - // .setHurtSound(context => "minecraft:entity.rabbit.hurt") - // .canJump(true) - // .setBlockJumpFactor(entity => 0.42) - // // these are the same as tfc rabbits - // .configs(config => { - // config.gestationDays(19) - // config.daysToAdult(80) - // config.childCount(6) - // config.uses(40) - // config.maxFamiliarity(0.35) - // config.eatsRottenFood(true) - // }) -} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/fauna.js b/kubejs/startup_scripts/tfg/worldgen/fauna.js similarity index 100% rename from kubejs/startup_scripts/tfg/fauna.js rename to kubejs/startup_scripts/tfg/worldgen/fauna.js diff --git a/kubejs/startup_scripts/tfg/register_climates.js b/kubejs/startup_scripts/tfg/worldgen/register_climates.js similarity index 100% rename from kubejs/startup_scripts/tfg/register_climates.js rename to kubejs/startup_scripts/tfg/worldgen/register_climates.js From d9774c2dda852090b97f71d90adc521fab4d130b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 2 Dec 2025 19:33:31 +0000 Subject: [PATCH 202/628] move over some seed oils --- .../tfg/powergen/recipes.biodiesel.js | 22 ------------------- .../tfg/powergen/recipes.boiler.js | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js index ed60fc411..bde4a6cd9 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js @@ -91,26 +91,4 @@ function registerTFGBiodieselRecipes(event) { .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) .duration(20 * 10) .EUt(GTValues.VHA[GTValues.LV]) - - event.recipes.gtceu.extractor(`rapeseed_oil`) - .itemInputs('tfg:rapeseed_product') - .outputFluids(Fluid.of('gtceu:seed_oil', 600)) - .duration(20 * 5) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.gtceu.extractor(`sunflower_oil`) - .itemInputs('tfg:sunflower_product') - .outputFluids(Fluid.of('gtceu:seed_oil', 350)) - .duration(20 * 5) - .EUt(GTValues.VHA[GTValues.ULV]) - - event.recipes.tfc.barrel_sealed(1000) - .inputs('tfg:rapeseed_product', Fluid.of('minecraft:water', 100)) - .outputFluid(Fluid.of('gtceu:seed_oil', 250)) - .id('tfg:barrel/rapeseed_to_oil') - - event.recipes.tfc.barrel_sealed(1000) - .inputs('tfg:sunflower_product', Fluid.of('minecraft:water', 100)) - .outputFluid(Fluid.of('gtceu:seed_oil', 120)) - .id('tfg:barrel/sunflower_to_oil') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 5d0ba1862..78207ec66 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -88,4 +88,26 @@ function registerTFGBoilerRecipes(event) { .outputFluids(Fluid.of('gtceu:seed_oil', 50)) .duration(32) .EUt(2) + + event.recipes.gtceu.extractor(`rapeseed_oil`) + .itemInputs('tfg:rapeseed_product') + .outputFluids(Fluid.of('gtceu:seed_oil', 600)) + .duration(20 * 5) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.extractor(`sunflower_oil`) + .itemInputs('tfg:sunflower_product') + .outputFluids(Fluid.of('gtceu:seed_oil', 350)) + .duration(20 * 5) + .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.tfc.barrel_sealed(1000) + .inputs('tfg:rapeseed_product', Fluid.of('minecraft:water', 100)) + .outputFluid(Fluid.of('gtceu:seed_oil', 250)) + .id('tfg:barrel/rapeseed_to_oil') + + event.recipes.tfc.barrel_sealed(1000) + .inputs('tfg:sunflower_product', Fluid.of('minecraft:water', 100)) + .outputFluid(Fluid.of('gtceu:seed_oil', 120)) + .id('tfg:barrel/sunflower_to_oil') } \ No newline at end of file From a7aef94e015867bf4e7cbacb6a2ca65052540b87 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 2 Dec 2025 19:36:38 +0000 Subject: [PATCH 203/628] fix moon helium depleted yield being bigger than the minimum yield --- kubejs/server_scripts/gregtech/data.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 4245617f8..29a1ff202 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -153,7 +153,7 @@ function registerGTCEUBedrockFluidVeins(event) { vein.maximumYield(50) vein.depletionAmount(1) vein.depletionChance(1) - vein.depletedYield(50) + vein.depletedYield(20) }) event.add('tfg:moon_argon', vein => { From 5b612d88fd7ce764ab0dc53c9c0e786a1073a83a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 2 Dec 2025 19:49:22 +0000 Subject: [PATCH 204/628] whoops --- kubejs/startup_scripts/main_startup_script.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 94f249b16..79399185f 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -9,10 +9,6 @@ StartupEvents.registry('block', event => { registerTFGBlocks(event) }) -StartupEvents.registry('entity_type', event => { - registerTFGEntityTypes(event) -}) - BlockEvents.modification(event => { registerAdAstraBlockModifications(event) registerSpeciesBlockModifications(event) From cc47fe55ce5e2f697b50de16608d0a950577776d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 3 Dec 2025 00:32:14 +0000 Subject: [PATCH 205/628] big tag/data refactor --- kubejs/server_scripts/ad_astra/tags.js | 643 ------------- kubejs/server_scripts/afc/recipes.js | 225 +---- kubejs/server_scripts/betterend/recipes.js | 59 -- kubejs/server_scripts/betterend/tags.js | 48 - kubejs/server_scripts/create/tags.js | 5 - kubejs/server_scripts/firmalife/tags.js | 4 - kubejs/server_scripts/gregtech/data.js | 101 +- kubejs/server_scripts/gregtech/tags.js | 46 - kubejs/server_scripts/main_server_script.js | 8 +- kubejs/server_scripts/minecraft/tags.js | 153 --- kubejs/server_scripts/tfc/data.js | 186 +--- kubejs/server_scripts/tfc/tags.js | 94 +- kubejs/server_scripts/tfcambiental/tags.js | 26 - .../tfg/beneath/tags.beneath.js | 139 +++ kubejs/server_scripts/tfg/data.js | 1 + .../tfg/equipment/data.equipment.js | 189 ++++ .../tfg/equipment/recipes.equipment.js | 54 ++ .../tfg/equipment/tags.equipment.js | 52 ++ .../server_scripts/tfg/europa/tags.europa.js | 22 + kubejs/server_scripts/tfg/food/tags.food.js | 348 +++++++ .../tfg/json_tool.armor_trim.js | 2 +- .../tfg/machines/recipes.steam_bloomery.js | 4 +- .../tfg/{ => machines}/tags.facades.js | 2 +- kubejs/server_scripts/tfg/mars/data.mars.js | 68 ++ .../server_scripts/tfg/mars/recipes.iodine.js | 28 + .../server_scripts/tfg/mars/recipes.mars.js | 30 + kubejs/server_scripts/tfg/mars/tags.mars.js | 529 +++++++++++ kubejs/server_scripts/tfg/moon/data.moon.js | 38 + .../server_scripts/tfg/moon/recipes.plants.js | 26 + kubejs/server_scripts/tfg/moon/tags.moon.js | 117 +++ .../tfg/natural_blocks/tags.stones.js | 2 +- .../{ => fishing_nets}/events.fishing_nets.js | 0 .../recipes.fishing_nets.js | 0 .../{ => medicine}/events.medicine.js | 0 .../{ => medicine}/recipes.medicine.js | 0 .../tfg/primitive/medicine/tags.medicine.js | 67 ++ .../tfg/primitive/recipes.rubber.js | 112 ++- .../tfg/primitive/recipes.wax.js | 74 ++ .../tfg/primitive/tags.primitive.js | 88 ++ kubejs/server_scripts/tfg/recipes.js | 1 + .../tfg/space_general/tags.railgun.js | 82 ++ .../tfg/space_general/tags.rockets.js | 28 + kubejs/server_scripts/tfg/tags.interaction.js | 47 +- kubejs/server_scripts/tfg/tags.js | 881 ++---------------- kubejs/server_scripts/tfg/venus/data.venus.js | 26 + kubejs/server_scripts/tfg/venus/tags.venus.js | 117 +++ .../tfg/worldgen/tags.general_worldgen.js | 212 +++++ .../tfg/worldgen/tags.overworld.js | 76 ++ kubejs/startup_scripts/tfg/constants.js | 12 +- 49 files changed, 2601 insertions(+), 2471 deletions(-) delete mode 100644 kubejs/server_scripts/betterend/recipes.js delete mode 100644 kubejs/server_scripts/betterend/tags.js delete mode 100644 kubejs/server_scripts/tfcambiental/tags.js create mode 100644 kubejs/server_scripts/tfg/beneath/tags.beneath.js create mode 100644 kubejs/server_scripts/tfg/equipment/data.equipment.js create mode 100644 kubejs/server_scripts/tfg/equipment/recipes.equipment.js create mode 100644 kubejs/server_scripts/tfg/equipment/tags.equipment.js create mode 100644 kubejs/server_scripts/tfg/europa/tags.europa.js create mode 100644 kubejs/server_scripts/tfg/food/tags.food.js rename kubejs/server_scripts/tfg/{ => machines}/tags.facades.js (99%) create mode 100644 kubejs/server_scripts/tfg/mars/data.mars.js create mode 100644 kubejs/server_scripts/tfg/mars/tags.mars.js create mode 100644 kubejs/server_scripts/tfg/moon/data.moon.js create mode 100644 kubejs/server_scripts/tfg/moon/tags.moon.js rename kubejs/server_scripts/tfg/primitive/{ => fishing_nets}/events.fishing_nets.js (100%) rename kubejs/server_scripts/tfg/primitive/{ => fishing_nets}/recipes.fishing_nets.js (100%) rename kubejs/server_scripts/tfg/primitive/{ => medicine}/events.medicine.js (100%) rename kubejs/server_scripts/tfg/primitive/{ => medicine}/recipes.medicine.js (100%) create mode 100644 kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js create mode 100644 kubejs/server_scripts/tfg/primitive/tags.primitive.js create mode 100644 kubejs/server_scripts/tfg/space_general/tags.railgun.js create mode 100644 kubejs/server_scripts/tfg/space_general/tags.rockets.js create mode 100644 kubejs/server_scripts/tfg/venus/data.venus.js create mode 100644 kubejs/server_scripts/tfg/venus/tags.venus.js create mode 100644 kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js create mode 100644 kubejs/server_scripts/tfg/worldgen/tags.overworld.js diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index fd670d96c..b6578ed62 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -11,7 +11,6 @@ const registerAdAstraFluidTags = (event) => { // Using this to represent 'breathable air' instead of oxygen event.removeAllTagsFrom('ad_astra:oxygen') - event.removeAll('ad_astra:fuel') event.removeAll('ad_astra:efficient_fuel') @@ -52,38 +51,6 @@ const registerAdAstraItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'ad_astra:alphacene_mushroom') event.add('c:hidden_from_recipe_viewers', 'ad_astra:strophar_mushroom') - event.add('gtceu:ppe_armor', '#ad_astra:space_suit_items') - event.add('minecraft:trimmable_armor', '#ad_astra:space_suit_items') - - event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') - event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') - event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') - - // Insulation Tier 1 - event.add('forge:insulation_t1', 'gtceu:borosilicate_glass_dust') - event.add('forge:insulation_t1', 'gtceu:vitrified_asbestos_dust') - - //Insulation Tier 2 - event.add('forge:insulation_t2/sheet', 'tfg:aes_insulation_sheet') - event.add('forge:insulation_t2/roll', 'tfg:aes_insulation_roll') - - //Insulation Tier3 - event.add('forge:insulation_t3/foam', 'tfg:aes_polyurethane') - event.add('forge:insulation_t3/sheet', 'tfg:mli_shielding') - event.add('forge:insulation_t3/cryo', 'tfg:silica_aerogel') - - event.add('forge:aerogels', 'tfg:silica_aerogel') - - //Rocket Engines - event.add('ad_astra:rocket_engine', 'ad_astra:steel_engine') - event.add('ad_astra:rocket_engine', 'ad_astra:desh_engine') - event.add('ad_astra:rocket_engine', 'ad_astra:ostrum_engine') - - //Rocket Tank - event.add('ad_astra:rocket_tank', 'ad_astra:ostrum_tank') - // Deco blocks const DECO_BLOCKS = [ 'iron', 'steel', 'desh', 'calorite', 'ostrum' ]; DECO_BLOCKS.forEach(block => { @@ -100,46 +67,6 @@ const registerAdAstraItemTags = (event) => { event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:encased_etrium_block') event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_plateblock') event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_panel') - - event.add('tfc:foods', 'ad_astra:cheese') - event.add('tfc:foods/dairy', 'ad_astra:cheese') - event.add('tfc:foods/usable_in_sandwich', 'ad_astra:cheese') - event.add('tfc:foods/usable_in_jam_sandwich', 'ad_astra:cheese') - event.add('tfc:foods/usable_in_jam_sandwich_2', 'ad_astra:cheese') - event.add('firmalife:foods/cheeses', 'ad_astra:cheese') - - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_helmet') - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_chestplate') - event.add('ad_astra:space_suit_items', 'gtceu:advanced_quarktech_chestplate') - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_leggings') - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_boots') - - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_helmet') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_chestplate') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:advanced_quarktech_chestplate') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_leggings') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_boots') - - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_helmet') - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_chestplate') - event.add('ad_astra:heat_resistant_armor', 'gtceu:advanced_quarktech_chestplate') - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_leggings') - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_boots') - - event.remove('minecraft:wool', 'ad_astra:glacian_fur') - - event.add('tfc:compost_greens', 'ad_astra:aeronos_cap') - event.add('tfc:compost_greens', 'ad_astra:strophar_cap') - - // these are log tags - event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') - event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') - event.add('minecraft:wart_blocks', 'ad_astra:aeronos_cap') - event.add('minecraft:wart_blocks', 'ad_astra:strophar_cap') - - event.add('tfc:makes_tannin', '#ad_astra:glacian_logs') - event.add('tfc:makes_tannin', '#tfc:crimson_logs') - event.add('tfc:makes_tannin', '#tfc:warped_logs') global.AD_ASTRA_WOOD.forEach(wood => { @@ -159,13 +86,6 @@ const registerAdAstraItemTags = (event) => { event.add('tfg:softwood', wood.logs) } }) - - event.add('forge:smooth_stone_slab', 'ad_astra:polished_moon_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_mars_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_venus_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_mercury_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_glacio_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_permafrost_slab') } const registerAdAstraBlockTags = (event) => { @@ -175,273 +95,6 @@ const registerAdAstraBlockTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) - // All new stones - global.EXTRATERRESTRIAL_RAW_ROCKS.forEach(rock => { - event.add('forge:stone', rock) - event.add('tfc:breaks_when_isolated', rock) - event.add('tfc:rock/raw', rock) - event.add('minecraft:mineable/pickaxe', rock) - event.add('tfc:can_carve', rock) - // 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) - event.add('tfc:can_trigger_collapse', rock) - event.add('tfc:can_start_collapse', rock) - event.add('tfc:powderkeg_breaking_blocks', rock) - event.add('tfc:bloomery_insulation', rock) - event.add('firmalife:oven_insulation', rock) - event.add('tfc:forge_insulation', rock) - }) - - global.EXTRATERRESTRIAL_HARDENED_ROCKS.forEach(rock => { - event.add('minecraft:mineable/pickaxe', rock) - event.add('tfc:can_collapse', rock) - event.add('tfc:can_trigger_collapse', rock) - event.add('tfc:powderkeg_breaking_blocks', rock) - event.add('tfc:bloomery_insulation', rock) - event.add('firmalife:oven_insulation', rock) - event.add('tfc:forge_insulation', rock) - event.add('tfc:can_carve', rock) - }) - - // Moon - event.add('ad_astra:moon_stone_replaceables', 'ad_astra:moon_sand') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_stone') - event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/white') - event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/black') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/diorite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/gabbro') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/basalt') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/rhyolite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/andesite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/dacite') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon_deepslate') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_glacio') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') - event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_stone') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_glacio_stone') - event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_cobblestone') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/basalt') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/basalt') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/gabbro') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/gabbro') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/diorite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/diorite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/rhyolite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/rhyolite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/andesite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/andesite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/dacite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/dacite') - - // Mars - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dacite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dacite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dacite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/basalt') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/basalt') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/basalt') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/gabbro') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/gabbro') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/gabbro') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/diorite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/diorite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/diorite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/rhyolite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/rhyolite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/rhyolite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/andesite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/andesite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/andesite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/chert') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/chert') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/chert') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/conglomerate') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/conglomerate') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/conglomerate') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/claystone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/claystone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/claystone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/limestone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/limestone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/limestone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dolomite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dolomite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dolomite') - 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', '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') - event.add('ad_astra:mars_stone_replaceables', 'minecraft:red_sandstone') - event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_stone') - event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_sandstone') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_venus_stone') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_venus') - event.add('ad_astra:mars_stone_replaceables', 'gtceu:red_granite') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_red_granite') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_red_granite') - event.add('ad_astra:mars_stone_replaceables', 'create:ochrum') - event.add('tfg:mars_soil', 'minecraft:red_sand') - event.add('tfg:mars_soil', 'ad_astra:mars_sand') - event.add('tfg:mars_soil', 'ad_astra:venus_sand') - event.add('tfg:mars_soil', 'tfg:rock/gravel_venus') - event.add('tfg:mars_soil', 'tfg:rock/gravel_mars') - event.add('tfg:mars_soil', 'tfc:rock/gravel/dacite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/basalt') - event.add('tfg:mars_soil', 'tfc:rock/gravel/gabbro') - event.add('tfg:mars_soil', 'tfc:rock/gravel/diorite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/rhyolite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/andesite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/conglomerate') - event.add('tfg:mars_soil', 'tfc:rock/gravel/claystone') - event.add('tfg:mars_soil', 'tfc:rock/gravel/limestone') - event.add('tfg:mars_soil', 'tfc:rock/gravel/dolomite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/shale') - event.add('tfg:mars_soil', 'tfc:sand/black') - event.add('tfg:mars_soil', 'tfc:sand/red') - event.add('tfg:mars_soil', 'tfc:sand/pink') - event.add('tfg:mars_soil', 'tfg:grass/mars_dirt') - event.add('tfg:mars_soil', 'tfg:grass/mars_clay_dirt') - event.add('tfg:mars_soil', 'tfg:grass/amber_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/rusticus_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/sangnum_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/amber_clay_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('ad_astra:mars_stone_replaceables', '#tfg:mars_soil') - event.add('minecraft:animals_spawnable_on', '#tfg:mars_soil') - event.add('minecraft:animals_spawnable_on', '#tfg:mars_plants') - event.add('minecraft:valid_spawn', '#minecraft:animals_spawnable_on') - - // Venus - event.add('ad_astra:venus_stone_replaceables', 'ad_astra:venus_stone') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_venus_stone') - event.add('ad_astra:venus_stone_replaceables', 'gtceu:red_granite') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_red_granite') - event.add('ad_astra:venus_stone_replaceables', 'ad_astra:moon_deepslate') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') - event.add('ad_astra:venus_stone_replaceables', 'minecraft:deepslate') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_deepslate') - event.add('ad_astra:venus_stone_replaceables', 'minecraft:dripstone_block') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_dripstone') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/granite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/granite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/diorite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/diorite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gabbro') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gabbro') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/basalt') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/basalt') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/rhyolite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/andesite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/dacite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/dacite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/slate') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/slate') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/schist') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/schist') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gneiss') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gneiss') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/phyllite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/phyllite') - 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', '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') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/green') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/brown') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/brown') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/orange') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/orange') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/white') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/white') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/yellow') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/yellow') - event.add('ad_astra:venus_stone_replaceables', 'tfg:geyser_slurry') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sulfur_fumes') - event.add('ad_astra:venus_stone_replaceables', 'minecraft:lava') - 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', 'minecraft:tuff') - - event.add('tfc:can_carve', '#ad_astra:moon_stone_replaceables') - event.add('tfc:can_carve', '#ad_astra:mars_stone_replaceables') - event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') - - event.add('minecraft:rabbits_spawnable_on', '#ad_astra:moon_stone_replaceables') - event.add('species:limpet_spawnable_on', '#ad_astra:moon_stone_replaceables') - - event.add('tfc:can_landslide', 'ad_astra:moon_sand') - event.add('tfc:can_landslide', 'ad_astra:mars_sand') - event.add('tfc:can_landslide', 'ad_astra:venus_sand') - event.add('tfc:can_landslide', 'minecraft:red_sand') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone') - event.add('tfc:can_landslide', 'gtceu:red_granite_cobblestone') - - event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') - event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') - event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_slab') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_stairs') - - event.add('tfg:rock_stairs', 'ad_astra:moon_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:mars_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:venus_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:mercury_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:glacio_stone_stairs') - - event.add('tfg:rock_slabs', 'ad_astra:moon_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:mars_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:venus_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:mercury_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:glacio_stone_slab') - - event.add('ad_astra:destroyed_in_space', '#tfc:wild_fruits') - event.add('ad_astra:destroyed_in_space', '#minecraft:saplings') - - event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') - event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') - - event.add('tfg:heightmap_ignore', 'ad_astra:strophar_cap') - event.add('tfg:heightmap_ignore', 'ad_astra:strophar_stem') - event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_cap') - event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_stem') - event.add('tfg:heightmap_ignore', 'minecraft:nether_wart_block') - event.add('tfg:heightmap_ignore', 'minecraft:warped_wart_block') - event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_block') - event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_growth') - event.add('tfg:heightmap_ignore', 'tfg:glacian_leaves') - event.add('tfg:heightmap_ignore', 'betterend:glacian_hymenophore') - event.add('tfg:heightmap_ignore', 'species:alphacene_moss_block') - event.add('tfg:heightmap_ignore', 'minecraft:ice') - - event.add('tfc:can_be_snow_piled', 'ad_astra:aeronos_mushroom') - event.add('tfc:can_be_snow_piled', 'ad_astra:strophar_mushroom') - global.AD_ASTRA_WOOD.forEach(wood => { if (wood.log) { @@ -457,301 +110,5 @@ const registerAdAstraBlockTags = (event) => { } const registerAdAstraBiomeTags = (event) => { - event.removeAll('ad_astra:has_structure/oil_well') - - global.MOON_BIOMES.forEach(biome => { - event.add('tfg:moon_biomes', biome) - event.add('tfg:has_structure/meteors', biome) - event.add('tfg:has_structure/cheese_ores', biome) - event.add('tfg:has_structure/moonbase', biome) - event.add('tfg:has_structure/moon_rabbit_houses', biome) - event.add('species:limpet_spawns', biome) - }) - - global.MARS_BIOMES.forEach(biome => { - event.add('tfg:mars_biomes', biome) - }) - - global.VENUS_BIOMES.forEach(biome => { - event.add('tfg:venus_biomes', biome); - event.add('ad_astra:has_acid_rain', biome); - }) - - event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_dunes') - event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_deep_desert') - - event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_dunes') - event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_deep_desert') - event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_mountains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_plains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_hills') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_plains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_hills') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_plains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_hills') - event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_dune_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/amber_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/rusticus_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/sangnum_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_river') - - event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_mountains') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_river') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/amber_hills') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/rusticus_hills') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/sangnum_hills') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_plains') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_edge') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_plains') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_edge') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_plains') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_edge') - event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_dunes') - event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_deep_desert') -} - -const registerAdAstraEntityTypeTags = (event) => { - - const COLD_ENTITIES = [ - // moon - 'tfc:rat', - 'tfg:moon_rabbit', - 'minecraft:enderman', - 'minecraft:shulker', - 'minecraft:shulker_bullet', - 'minecraft:skeleton', - 'minecraft:stray', - 'species:limpet', - 'species:birt', - 'endermanoverhaul:windswept_hills_enderman', - 'endermanoverhaul:soulsand_valley_enderman', - 'endermanoverhaul:spirit', - 'endermanoverhaul:end_enderman', - 'endermanoverhaul:end_islands_enderman', - // mars - 'tfg:sniffer', - 'tfg:glacian_ram', - 'tfg:wraptor', - 'species:goober', - 'species:cruncher', - 'species:springling', - 'species:quake', - 'species:stackatick', - 'endermanoverhaul:crimson_forest_enderman', - 'endermanoverhaul:warped_forest_enderman', - 'endermanoverhaul:badlands_enderman', - 'endermanoverhaul:cave_enderman', - 'wan_ancient_beasts:walker', - 'wan_ancient_beasts:eater', - 'wan_ancient_beasts:crusher', - 'wan_ancient_beasts:soarer', - 'wan_ancient_beasts:glider', - 'wan_ancient_beasts:toxlacanth', - 'wan_ancient_beasts:surfer', - 'tfg:surfer', - // europa - 'endermanoverhaul:coral_enderman', - 'endermanoverhaul:snowy_enderman', - 'endermanoverhaul:ice_spikes_enderman', - 'species:deepfish', - 'species:leaf_hanger' - ] - - const HOT_ENTITIES = [ - // venus - 'minecraft:enderman', - "endermanoverhaul:desert_enderman", - "endermanoverhaul:savanna_enderman", - "endermanoverhaul:nether_wastes_enderman", - "ad_astra:sulfur_creeper", - 'species:cliff_hanger', - ] - - COLD_ENTITIES.forEach(entity => { - event.add('ad_astra:can_survive_extreme_cold', entity) - event.add('ad_astra:lives_without_oxygen', entity) - }) - - HOT_ENTITIES.forEach(entity => { - event.add('ad_astra:can_survive_extreme_heat', entity) - event.add('ad_astra:lives_without_oxygen', entity) - }) - - event.add('ad_astra:can_survive_in_space', 'railways:conductor') - event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') - event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') - event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:hammerhead_pet_enderman') - - event.add('tfc:deals_crushing_damage', 'minecraft:enderman') - event.add('tfc:deals_crushing_damage', 'minecraft:stray') - event.add('tfc:deals_crushing_damage', 'endermanoverhaul:windswept_hills_enderman') - event.add('tfc:deals_crushing_damage', 'endermanoverhaul:soulsand_valley_enderman') - event.add('tfc:deals_piercing_damage', 'endermanoverhaul:end_enderman') - event.add('tfc:deals_crushing_damage', 'endermanoverhaul:end_islands_enderman') - event.add('tfc:deals_crushing_damage', 'ad_astra:star_crawler') - - event.add('tfg:ignores_gravity', 'minecraft:shulker_bullet') - event.add('tfg:ignores_gravity', 'endermanoverhaul:spirit') - event.add('tfg:ignores_gravity', 'species:birt') - event.add('tfg:ignores_gravity', 'ad_astra:star_crawler') - - // this guy has a bounce animation that looks silly in low grav - event.add('tfg:ignores_gravity', 'wan_ancient_beasts:crusher') - // 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') - // 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:toxlacanth') - event.add('tfg:ignores_gravity', 'endermanoverhaul:coral_enderman') -} - -const registerAdAstraPlacedFeatures = (event) => { - - //#region Moon - event.add('tfg:moon_craters', 'tfg:moon/crater/extra_large') - event.add('tfg:moon_craters', 'tfg:moon/crater/large') - event.add('tfg:moon_craters', 'tfg:moon/crater/medium') - event.add('tfg:moon_craters', 'tfg:moon/crater/small') - - global.MOON_STONE_TYPES.forEach(stone => { - // only in the sparse ones - event.add('tfg:moon_large_rock_features', `tfg:moon/surface/delta/${stone}`) - // in all moon biomes - event.add('tfg:moon_small_rock_features', `tfg:moon/surface/pile/${stone}`) - event.add('tfg:moon_small_rock_features', `tfg:moon/surface/loose/${stone}`) - }) - - event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_moon_sand') - event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_white_sand') - event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_black_sand') - //#endregion - - //#region Mars - // Underground decoration - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/loose_rocks') - event.add('tfg:mars_underground_decoration', 'tfc:cave_spike') - event.add('tfg:mars_underground_decoration', 'tfc:cave_column') - event.add('tfg:mars_underground_decoration', 'tfc:large_cave_spike') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagmite') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagtite') - - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/calcite') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/mega_calcite') - - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ice_cave') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle_extra') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ochrum_blob') - - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/amethyst") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/barite") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/calcite") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/gypsum") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/opal") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/pyrite") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/quartzite") - - // Vegetation - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia") - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia_common") - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush") - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush_common") - event.add("tfg:mars_global_small_plants", "tfg:mars/surface/charnia") - event.add("tfg:mars_global_small_plants", "tfg:mars/surface/flamaea") - event.add("tfg:mars_global_small_plants", "tfg:mars/surface/lacugrove") - - event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_global_small_plants") - event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_global_small_plants") - event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_global_small_plants") - - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/amber_root") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/blossom_berry") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf_small") - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/bulb_moss") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/aurant_polypore") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/amber_grass") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/flammalix") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lutebus") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/orango") - - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/amber_root") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/blossom_berry") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/shadow_berry") - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lucernia_outer_leaves") - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/bulb_moss") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aurant_polypore") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/purple_polypore") - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aeridium") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/flammalix") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lamellarium") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lutebus") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/orango") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/ruscus") - - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/blossom_berry") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/shadow_berry") - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/small_amaranita_mushroom") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/large_amaranita_mushroom") - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/purple_polypore") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/cave_grass") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/clawfern") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/globulagus") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/lamellarium") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/ruscus") - - // Top layer - event.add("tfg:mars_top_layer_modification", "tfg:glow_lichen") - event.add("tfg:mars_top_layer_modification", "tfc:surface_loose_rocks") - event.add("tfg:mars_top_layer_modification", "tfg:mars/terrain/mars_poles") - - //#endregion - - //#region Venus - - // Underground decoration - event.add("tfg:venus_underground_decoration", "tfg:glow_lichen") - event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/loose_rocks') - event.add('tfg:venus_underground_decoration', 'tfc:cave_spike') - event.add('tfg:venus_underground_decoration', 'tfc:cave_column') - event.add('tfg:venus_underground_decoration', 'tfc:large_cave_spike') - event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagmite') - event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagtite') - - event.add("tfg:venus_top_layer_modification", "tfc:surface_loose_rocks") - //#endregion - - //#region Glacio - event.add("tfg:glacio_top_layer_modification", "tfg:glow_lichen") - event.add("tfg:glacio_top_layer_modification", "tfc:surface_loose_rocks") - //#endregion } diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index fa7d7a67e..305f4ff47 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -16,10 +16,10 @@ const registerAFCRecipes = (event) => { event.remove({ id: "afc:pot/rubber" }) event.remove({ id: "afc:tree_tapping/hevea_latex" }) event.remove({ id: "afc:tree_tapping/rubber_fig_latex" }) - event.remove({ id: "afc:crafting/1_birch_sugar"}) - event.remove({ id: "afc:crafting/1_maple_sugar"}) - event.remove({ id: "afc:crafting/0_birch_sugar_bucket"}) - event.remove({ id: "afc:crafting/0_maple_sugar_bucket"}) + event.remove({ id: "afc:crafting/1_birch_sugar" }) + event.remove({ id: "afc:crafting/1_maple_sugar" }) + event.remove({ id: "afc:crafting/0_birch_sugar_bucket" }) + event.remove({ id: "afc:crafting/0_maple_sugar_bucket" }) // #endregion @@ -48,7 +48,7 @@ const registerAFCRecipes = (event) => { generateCutterRecipe(event, `afc:wood/planks/${wood}_slab`, `2x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`) - + // ? -> Деревянная нажимная пластина event.shaped(`afc:wood/planks/${wood}_pressure_plate`, [ ' B ', @@ -72,10 +72,10 @@ const registerAFCRecipes = (event) => { event.remove({ id: `afc:crafting/wood/${wood}_button` }) generateCutterRecipe(event, `afc:wood/planks/${wood}_pressure_plate`, `6x afc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) - + //Stomping Barrel - event.remove({ id: `afc:crafting/wood/${wood}_stomping_barrel`}) - + event.remove({ id: `afc:crafting/wood/${wood}_stomping_barrel` }) + event.shaped(`afc:wood/stomping_barrel/${wood}`, [ 'ABA', 'AAA', @@ -83,9 +83,9 @@ const registerAFCRecipes = (event) => { ], { A: `afc:wood/lumber/${wood}`, B: 'tfc:glue' - + }).id(`afc:crafting/wood/${wood}_stomping_barrel`) - + }) // #endregion @@ -108,86 +108,6 @@ const registerAFCRecipes = (event) => { .resultFluid(Fluid.of('gtceu:copper', 144)) .id('tfg:heating/tree_tap') - //Custom rubber and hevea tappings - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/rubber_fig")) - .resultFluid(Fluid.of("tfg:latex", 2)) - .minTemp(4) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/rubber_fig") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_rubber_fig")) - .resultFluid(Fluid.of("tfg:latex", 2)) - .minTemp(4) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/ancient_rubber_fig") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/hevea")) - .resultFluid(Fluid.of("tfg:latex", 3)) - .minTemp(8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/hevea") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_hevea")) - .resultFluid(Fluid.of("tfg:latex", 3)) - .minTemp(8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/ancient_hevea") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/kapok")) - .resultFluid(Fluid.of("tfg:latex", 4)) - .minTemp(12) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/kapok_latex") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_kapok")) - .resultFluid(Fluid.of("tfg:latex", 4)) - .minTemp(12) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_kapok_latex") - - - // Pine/etc resin - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/aspen")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-10) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/aspen_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_aspen")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-10) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_aspen_resin") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/spruce")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) - .minTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/spruce_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_spruce")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) - .minTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_spruce_resin") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/white_cedar")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/white_cedar_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_white_cedar")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_white_cedar_resin") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/douglas_fir')) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/douglas_fir_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_douglas_fir")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_douglas_fir_resin") - //Syrups event.remove({ id: "afc:tree_tapping/maple_syrup" }) event.remove({ id: "afc:tree_tapping/birch_syrup" }) @@ -198,87 +118,17 @@ const registerAFCRecipes = (event) => { .maxTemp(5) .requiresNaturalLog(true) .id("tfg:tree_tapping/maple_log") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/birch')) + + event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/birch')) .resultFluid(Fluid.of('afc:birch_sap', 5)) .minTemp(-15) .maxTemp(5) .requiresNaturalLog(true) .id("tfg:tree_tapping/birch_log") - // Mars stuff - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/crimson')) - .resultFluid(Fluid.of('tfg:crimsene', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/crimson_log") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/crimson')) - .resultFluid(Fluid.of('tfg:crimsene', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/crimson_wood") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/warped')) - .resultFluid(Fluid.of('tfg:warpane', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/warped_log") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/warped')) - .resultFluid(Fluid.of('tfg:warpane', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/warped_wood") - //#region Extractor Recipe - // Latex - - event.recipes.gtceu.extractor('latex_from_log') - .itemInputs('#tfg:latex_logs') - .outputFluids(Fluid.of('tfg:latex', 250)) - .duration(600) - .EUt(20) - - event.recipes.gtceu.extractor('latex_from_sapling') - .itemInputs('#tfg:rubber_saplings') - .outputFluids(Fluid.of('tfg:latex', 100)) - .duration(750) - .EUt(20) - - event.recipes.gtceu.extractor('latex_from_leaves') - .itemInputs('#tfg:rubber_leaves') - .outputFluids(Fluid.of('tfg:latex', 50)) - .duration(750) - .EUt(20) - - // Conifer Pitch - - event.recipes.gtceu.extractor('conifer_from_log') - .itemInputs('#tfg:rosin_logs') - .outputFluids(Fluid.of('tfg:conifer_pitch', 250)) - .duration(600) - .EUt(20) - - event.recipes.gtceu.extractor('conifer_from_sapling') - .itemInputs('#tfg:rosin_saplings') - .outputFluids(Fluid.of('tfg:conifer_pitch', 100)) - .duration(750) - .EUt(20) - - event.recipes.gtceu.extractor('conifer_from_leaves') - .itemInputs('#tfg:rosin_leaves') - .outputFluids(Fluid.of('tfg:conifer_pitch', 50)) - .duration(750) - .EUt(20) - - // Maple Sirup + // Maple Syrup event.recipes.gtceu.extractor('maple_from_log') .itemInputs('#tfc:maple_logs') @@ -298,7 +148,7 @@ const registerAFCRecipes = (event) => { .duration(750) .EUt(20) - // Birch Sirup + // Birch Syrup event.recipes.gtceu.extractor('birch_from_log') .itemInputs('#tfc:birch_logs') @@ -321,25 +171,6 @@ const registerAFCRecipes = (event) => { //#endregion // Из бревна капока / Logs Centrifuge - event.recipes.gtceu.centrifuge('rubber_log_separation') - .itemInputs('#tfg:latex_logs') - .chancedOutput('gtceu:raw_rubber_dust', 5000, 0) - .chancedOutput('gtceu:plant_ball', 3750, 0) - .chancedOutput('gtceu:sticky_resin', 2500, 0) - .chancedOutput('gtceu:wood_dust', 2500, 0) - .outputFluids(Fluid.of('gtceu:methane', 60)) - .duration(20*20) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.centrifuge('conifer_log_separation') - .itemInputs('#tfg:rosin_logs') - .chancedOutput('tfg:conifer_rosin', 7500, 0) - .chancedOutput('gtceu:plant_ball', 3750, 0) - .chancedOutput('gtceu:sticky_resin', 2500, 0) - .chancedOutput('gtceu:wood_dust', 2500, 0) - .outputFluids(Fluid.of('gtceu:methane', 60)) - .duration(20*20) - .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.centrifuge('maple_syrup_log_separation') .itemInputs('#tfc:maple_logs') @@ -347,7 +178,7 @@ const registerAFCRecipes = (event) => { .chancedOutput('gtceu:plant_ball', 3750, 0) .chancedOutput('gtceu:hardwood_dust', 2500, 0) .outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:maple_syrup', 100)) - .duration(20*20) + .duration(20 * 20) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.centrifuge('birch_syrup_log_separation') @@ -356,7 +187,7 @@ const registerAFCRecipes = (event) => { .chancedOutput('gtceu:plant_ball', 3750, 0) .chancedOutput('gtceu:hardwood_dust', 2500, 0) .outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:birch_syrup', 100)) - .duration(20*20) + .duration(20 * 20) .EUt(GTValues.VA[GTValues.MV]) //#endregion @@ -366,42 +197,42 @@ const registerAFCRecipes = (event) => { event.recipes.gtceu.fluid_heater('maple_sap_condense') .inputFluids(Fluid.of('afc:maple_sap', 1000)) .outputFluids(Fluid.of('afc:maple_syrup', 100)) - .duration(20*25) + .duration(20 * 25) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.fluid_heater('birch_sap_condense') .inputFluids(Fluid.of('afc:birch_sap', 1000)) .outputFluids(Fluid.of('afc:birch_syrup', 100)) - .duration(20*35) + .duration(20 * 35) .EUt(GTValues.VA[GTValues.ULV]) - + event.recipes.gtceu.fluid_solidifier('maple_syrup') .inputFluids(Fluid.of('afc:maple_syrup', 100)) .itemOutputs('afc:maple_sugar') - .duration(20*12) + .duration(20 * 12) .EUt(GTValues.VHA[GTValues.ULV]) event.recipes.gtceu.fluid_solidifier('birch_syrup') .inputFluids(Fluid.of('afc:birch_syrup', 100)) .itemOutputs('afc:birch_sugar') - .duration(20*12) + .duration(20 * 12) .EUt(GTValues.VHA[GTValues.ULV]) - + //#endregion // Syrup into sugar event.recipes.tfc.barrel_sealed(24000) - .inputFluid(Fluid.of('afc:maple_syrup', 100)) - .outputItem('afc:maple_sugar') - .id('tfg:barrel/maple_syrup_to_sugar') + .inputFluid(Fluid.of('afc:maple_syrup', 100)) + .outputItem('afc:maple_sugar') + .id('tfg:barrel/maple_syrup_to_sugar') event.recipes.tfc.barrel_sealed(24000) - .inputFluid(Fluid.of('afc:birch_syrup', 100)) - .outputItem('afc:birch_sugar') - .id('tfg:barrel/birch_syrup_to_sugar') + .inputFluid(Fluid.of('afc:birch_syrup', 100)) + .outputItem('afc:birch_sugar') + .id('tfg:barrel/birch_syrup_to_sugar') // Stripped logs diff --git a/kubejs/server_scripts/betterend/recipes.js b/kubejs/server_scripts/betterend/recipes.js deleted file mode 100644 index 7bdb90325..000000000 --- a/kubejs/server_scripts/betterend/recipes.js +++ /dev/null @@ -1,59 +0,0 @@ -// priority: 0 -"use strict"; - -function registerBetterEndRecipes(event) { - - Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `betterend:greenhouse_${itemId.replace(':', '_')}`; - - event.recipes.gtceu.greenhouse(recipeId) - .notConsumable(element.id) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 750, 0) - .chancedOutput(element.id, 500, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse(`${recipeId}_helium`) - .notConsumable(element.id) - .inputFluids(Fluid.of('gtceu:helium_3', 500)) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 4000, 0) - .chancedOutput(element.id, 3000, 0) - .duration(12000) // 30 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - }); - - Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`, - recipeId, 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]); - }); - - generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:amber_root_product', 'amber_root', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:blossom_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:blossom_berry_product', 'blossom_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:bolux_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:bolux_mushroom_product', 'bolux_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:cave_pumpkin_plant_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:cave_pumpkin', 'cave_pumpkin', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:chorus_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:chorus_mushroom_product', 'chorus_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:shadow_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') -} \ No newline at end of file diff --git a/kubejs/server_scripts/betterend/tags.js b/kubejs/server_scripts/betterend/tags.js deleted file mode 100644 index a7cc94002..000000000 --- a/kubejs/server_scripts/betterend/tags.js +++ /dev/null @@ -1,48 +0,0 @@ -// priority: 0 -"use strict"; - -function registerBetterEndItemTags(event) { - - event.add('forge:seeds', 'betterend:amber_root_seeds') - event.add('forge:seeds', 'betterend:blossom_berry_seeds') - event.add('forge:seeds', 'betterend:bolux_mushroom_seeds') - event.add('forge:seeds', 'betterend:cave_pumpkin_seeds') - event.add('forge:seeds', 'betterend:shadow_berry_seeds') - - event.add('tfc:foods', 'betterend:amber_root_product') - event.add('tfc:foods/grains', 'betterend:amber_root_product') - - event.add('tfc:foods', 'betterend:blossom_berry_product') - event.add('tfc:foods/fruits', 'betterend:blossom_berry_product') - - event.add('tfc:foods', 'betterend:bolux_mushroom_product') - event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_product') - event.add('forge:mushrooms', 'betterend:bolux_mushroom_product') - event.add('tfc:foods', 'betterend:bolux_mushroom_cooked') - event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_cooked') - event.add('forge:mushrooms', 'betterend:bolux_mushroom_cooked') - - event.add('tfc:foods', 'betterend:cave_pumpkin') - event.add('tfc:foods', 'betterend:cave_pumpkin_chunks') - event.add('tfc:foods/fruits', 'betterend:cave_pumpkin_chunks') - event.add('tfc:foods', 'betterend:cave_pumpkin_pie_dough') - event.add('tfc:foods', 'betterend:cave_pumpkin_pie_raw') - event.add('tfc:foods', 'betterend:cave_pumpkin_pie') - event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie_raw') - event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie') - - event.add('tfc:foods', 'betterend:chorus_mushroom_product') - event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_product') - event.add('forge:mushrooms', 'betterend:chorus_mushroom_product') - event.add('tfc:foods', 'betterend:chorus_mushroom_cooked') - event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_cooked') - event.add('forge:mushrooms', 'betterend:chorus_mushroom_cooked') - - event.add('tfc:foods', 'betterend:shadow_berry_product') - event.add('tfc:foods/fruits', 'betterend:shadow_berry_product') - event.add('tfc:foods', 'betterend:shadow_berry_cooked') - event.add('tfc:foods/fruits', 'betterend:shadow_berry_cooked') - - event.add('forge:mushrooms', 'betterend:flammalix') - event.add('forge:mushrooms', 'betterend:small_amaranita_mushroom') -} \ No newline at end of file diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index ee7c1e2b2..016f8ec1c 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -33,11 +33,6 @@ const registerCreateItemTags = (event) => { if (dye !== 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) }) - event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet') - event.add('minecraft:trimmable_armor', 'create:copper_diving_boots') - - event.add('minecraft:trimmable_armor', 'create:netherite_diving_helmet') - event.add('minecraft:trimmable_armor', 'create:netherite_diving_boots') event.add('create:blaze_burner_fuel/regular', "gtceu:poor_raw_coal") event.add('create:blaze_burner_fuel/regular', "gtceu:coal_dust") diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index e33989e16..7a7d32de3 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -14,10 +14,6 @@ const registerFirmaLifeItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) - event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor') - - event.add('tfc:foods/usable_in_salad', 'firmalife:food/pickled_egg') - // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") } diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 29a1ff202..3197bcd1b 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -134,103 +134,8 @@ const registerGTCEUMetals = (event) => { function registerGTCEUBedrockFluidVeins(event) { - event.add('tfg:moon_helium_3', vein => { - vein.dimensions('ad_astra:moon') - vein.fluid(() => Fluid.of('gtceu:helium_3').fluid) - vein.weight(100) - vein.minimumYield(200) - vein.maximumYield(400) - vein.depletionAmount(1) - vein.depletionChance(1) - vein.depletedYield(200) - }) - - event.add('tfg:moon_helium', vein => { - vein.dimensions('ad_astra:moon') - vein.fluid(() => Fluid.of('gtceu:helium').fluid) - vein.weight(10) - vein.minimumYield(20) - vein.maximumYield(50) - vein.depletionAmount(1) - vein.depletionChance(1) - vein.depletedYield(20) - }) - - event.add('tfg:moon_argon', vein => { - vein.dimensions('ad_astra:moon') - vein.fluid(() => Fluid.of('gtceu:argon').fluid) - vein.weight(5) - vein.minimumYield(10) - vein.maximumYield(30) - vein.depletionAmount(1) - vein.depletionChance(1) - vein.depletedYield(10) - }) - - // Mars Fluid Vein - Credit to Monifactory - - const Registries = Java.loadClass("net.minecraft.core.registries.Registries") - const ResourceKey = Java.loadClass("net.minecraft.resources.ResourceKey") - const martianAmberHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_hills") - const martianAmberPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_plains") - const martianMountainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/martian_mountains") - const martianRusticusHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_hills") - const martianRusticusPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_plains") - const martianSangnumHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_hills") - const martianSangnumPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_plains") - - event.add('tfg:semiheavy_ammoniacal_water', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('tfg:semiheavy_ammoniacal_water').fluid) - vein.weight(100) - vein.minimumYield(200) - vein.maximumYield(400) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(15) - }) - - event.add('tfg:liquid_carbon_dioxide', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('gtceu:liquid_carbon_dioxide').fluid) - vein.weight(30) - vein.minimumYield(20) - vein.maximumYield(350) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(5) - }) - - event.add('tfg:liquid_ice', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('gtceu:ice').fluid) - vein.weight(20) - vein.minimumYield(20) - vein.maximumYield(200) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(5) - }) - - // Heavy Ammonical Water in Specific Biome Credit to Monifactory from https://github.com/ThePansmith/Monifactory/blob/main/kubejs/server_scripts/worldgen/fluidVeins.js - - event.add('tfg:heavy_ammoniacal_water', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('tfg:heavy_ammoniacal_water').fluid) - vein.biomes(20, martianAmberHillsResourceKey) - vein.biomes(20, martianAmberPlainsResourceKey) - vein.biomes(20, martianRusticusHillsResourceKey) - vein.biomes(20, martianRusticusPlainsResourceKey) - vein.biomes(20, martianSangnumHillsResourceKey) - vein.biomes(20, martianSangnumPlainsResourceKey) - // This one is exclusively far inland, so it's ok to buff it a bit in case the player has bad luck - vein.biomes(50, martianMountainsResourceKey) - vein.weight(0) - vein.minimumYield(100) - vein.maximumYield(650) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(5) - }) + registerTFGMoonBedrockFluidVeins(event) + registerTFGMarsBedrockFluidVeins(event) + registerTFGVenusBedrockFluidVeins(event) } diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index de4bdf149..da08ef709 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -13,10 +13,6 @@ function registerGTCEUItemTags(event) { event.add("c:hidden_from_recipe_viewers", item); }); - global.GTCEU_ARMORS.forEach((item) => { - event.add("minecraft:trimmable_armor", item); - }); - // Добавление тега EMI для скрытия всех руд event.add("c:hidden_from_recipe_viewers", "#forge:ores"); @@ -29,12 +25,6 @@ function registerGTCEUItemTags(event) { event.remove("ae2:p2p_attunements/fluid_p2p_tunnel", `gtceu:${dyeName}_dye_bucket`); }); - // Piglin loved - event.add("minecraft:piglin_loved", "gtceu:tiny_pyrite_dust"); - event.add("minecraft:piglin_loved", "gtceu:poor_raw_pyrite"); - event.add("minecraft:piglin_loved", "gtceu:raw_pyrite"); - event.add("minecraft:piglin_loved", "gtceu:rich_raw_pyrite"); - event.remove("forge:gems", "gtceu:coke_gem"); // Rose Quartz Lens @@ -54,7 +44,6 @@ function registerGTCEUItemTags(event) { // @ts-expect-error According to KJS docs adding tags to tags is supported. event.add("gtceu:molds", "#gtceu:casting_molds", "#gtceu:extruder_molds", "gtceu:empty_mold"); - event.add('forge:wax', 'gtceu:wax_dust'); } /** @param {TagEvent.Block} event */ @@ -64,22 +53,8 @@ function registerGTCEUBlockTags(event) { event.removeAllTagsFrom(item); }); - event.add("minecraft:mineable/pickaxe", "#forge:ores"); - event.add("minecraft:needs_iron_tool", "#forge:ores"); - event.add('gtceu:mineable/pickaxe_or_wrench', 'gtceu:ulv_hermetic_casing'); - // Collapse tags - event.add("tfc:can_collapse", "#forge:ores"); - event.add("tfc:can_start_collapse", "#forge:ores"); - event.add("tfc:can_trigger_collapse", "#forge:ores"); - event.add("c:hidden_from_recipe_viewers", "#forge:ores"); - - event.add("tfc:can_collapse", "#forge:raw_ore_blocks"); - event.add("tfc:can_start_collapse", "#forge:raw_ore_blocks"); - event.add("tfc:can_trigger_collapse", "#forge:raw_ore_blocks"); - event.add("c:hidden_from_recipe_viewers", "#forge:raw_ore_blocks"); - event.remove("gtceu:cleanroom_doors", "#minecraft:wooden_doors"); event.add("gtceu:cleanroom_doors", "firmalife:sealed_door"); event.add("gtceu:cleanroom_doors", "firmalife:iron_greenhouse_door"); @@ -101,27 +76,6 @@ function registerGTCEUBlockTags(event) { event.add("gtceu:cleanroom_doors", "createdeco:zinc_door"); event.add("gtceu:cleanroom_doors", "createdeco:locked_zinc_door"); event.add("gtceu:cleanroom_doors", "ad_astra:steel_door"); - - // Let GT indicators be covered by snow - forEachMaterial((material) => { - if (material.hasProperty(PropertyKey.ORE)) { - const indicator = `gtceu:${material.getName()}_indicator`; - - event.add("tfg:dust_ore_indicators", indicator); - event.add("tfc:can_be_snow_piled", indicator); - event.add("tfc:can_be_ice_piled", indicator); - - if (material.hasProperty(PropertyKey.GEM)) { - const bud = `gtceu:${material.getName()}_bud_indicator`; - - event.add("tfg:bud_ore_indicators", bud); - event.add("tfc:can_be_snow_piled", bud); - event.add("tfc:can_be_ice_piled", bud); - - event.add("minecraft:mineable/pickaxe", bud); - } - } - }); } /** @param {TagEvent.Fluid} event */ diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 78248cb3b..ac9749489 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -13,7 +13,6 @@ ServerEvents.tags('item', event => { registerAlekishipsItemTags(event) registerAsticorCartsItemTags(event) registerBeneathItemTags(event) - registerBetterEndItemTags(event) registerChalkItemTags(event); registerComputerCraftItemTags(event) registerConstructionWandItemTags(event) @@ -50,7 +49,6 @@ ServerEvents.tags('item', event => { registerSNSItemTags(event) registerSpeciesItemTags(event) registerTACZItemTags(event) - registerTFCAmbientalItemTags(event) registerTFCItemTags(event) registerTFCTextileItemTags(event) registerTFGItemTags(event) @@ -125,20 +123,17 @@ ServerEvents.tags('worldgen/placed_feature', event => { // Remove default veins event.removeAll('tfc:in_biome/veins') - registerAdAstraPlacedFeatures(event) - registerTFCPlacedFeatures(event) registerTFGPlacedFeatures(event) }) ServerEvents.tags('worldgen/biome', event => { registerAdAstraBiomeTags(event) registerCreatePickyWheelsBiomeTags(event) - registerTFCBiomeTags(event) registerTFGBiomeTags(event) }) ServerEvents.tags('entity_type', event => { - registerAdAstraEntityTypeTags(event) + registerTFGEntityTypeTags(event) registerWABEntityTypeTags(event) }) @@ -216,7 +211,6 @@ ServerEvents.recipes(event => { registerAE2NetworkAnalyzerRecipes(event) registerAE2WTLibRecipes(event) registerBeneathRecipes(event) - registerBetterEndRecipes(event) registerBuildingGadgetsRecipes(event) registerChalkRecipes(event); registerComfortsRecipes(event); diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index fb4f5c00f..938e0be90 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -26,67 +26,15 @@ const registerMinecraftItemTags = (event) => { event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') event.remove('minecraft:creeper_drop_music_discs', ['minecraft:music_disc_11']) - event.add('tfc:foods', 'minecraft:red_mushroom') - event.add('tfc:foods', 'minecraft:brown_mushroom') - event.add('tfc:foods', 'minecraft:glow_berries') - event.add('tfc:foods', 'minecraft:chorus_fruit') - event.add('tfc:foods', 'minecraft:popped_chorus_fruit') - - event.add('tfc:foods/vegetables', 'minecraft:red_mushroom') - event.add('tfc:foods/vegetables', 'minecraft:brown_mushroom') - event.add('tfc:foods/fruits', 'minecraft:glow_berries') - event.add('tfc:foods/fruits', 'minecraft:chorus_fruit') - event.add('tfc:foods/fruits', 'minecraft:popped_chorus_fruit') - - event.add('beneath:usable_in_juicer', 'minecraft:glow_berries') - event.add('beneath:usable_in_juicer', 'minecraft:chorus_fruit') - event.add('beneath:usable_in_juicer', 'minecraft:red_mushroom') - event.add('beneath:usable_in_juicer', 'minecraft:brown_mushroom') - - event.add('tfc:foods/usable_in_soup', 'minecraft:red_mushroom') - event.add('tfc:foods/usable_in_soup', 'minecraft:brown_mushroom') - event.add('tfc:foods/usable_in_soup', 'minecraft:glow_berries') - event.add('tfc:foods/usable_in_soup', 'minecraft:chorus_fruit') - event.add('tfc:foods/usable_in_soup', 'minecraft:popped_chorus_fruit') - - event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom') - event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom') - event.add('tfc:foods/usable_in_salad', 'minecraft:glow_berries') - event.add('tfc:foods/usable_in_salad', 'minecraft:chorus_fruit') - event.add('tfc:foods/usable_in_salad', 'minecraft:popped_chorus_fruit') - - event.add('tfc:rabbit_food', 'minecraft:chorus_fruit') - event.add('tfc:rabbit_food', 'minecraft:popped_chorus_fruit') - - event.add('tfc:rock/raw', 'minecraft:deepslate') - event.add('tfc:rock/raw', 'minecraft:blackstone') - event.add('tfc:rock/raw', 'minecraft:dripstone_block') event.remove('forge:gems', 'minecraft:charcoal') event.remove('forge:gems', 'minecraft:coal') event.remove('forge:gems', 'minecraft:flint') - 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') - event.add('tfc:compost_greens', 'minecraft:moss_block') - event.add('tfc:compost_greens_low', 'minecraft:moss_carpet') - event.add('tfc:compost_greens_low', 'minecraft:twisting_vines') - event.add('tfc:compost_greens_high', 'minecraft:pearlescent_froglight') - event.add('tfc:compost_greens_high', 'minecraft:verdant_froglight') - event.add('tfc:compost_greens_high', 'minecraft:ochre_froglight') - //event.add('tfc:moss', 'minecraft:moss_carpet') - event.remove('createaddition:plants', 'minecraft:moss_carpet') - event.add('tfc:colored_terracotta', 'minecraft:white_terracotta') event.add('tfc:bells', 'minecraft:bell') - event.add('tfc:plants', 'minecraft:spore_blossom') - - event.add('tfc:compost_greens', 'minecraft:nether_wart_block') - event.add('tfc:compost_greens', 'minecraft:warped_wart_block') - event.add('tfc:hematitic_sand', 'minecraft:red_sand') event.add('tfc:makes_black_dye', 'minecraft:ink_sac') @@ -95,13 +43,6 @@ const registerMinecraftItemTags = (event) => { event.add('create:blaze_burner_fuel/regular', 'minecraft:coal') event.add('create:blaze_burner_fuel/regular', 'minecraft:charcoal') - event.add('minecraft:wart_blocks', 'minecraft:mushroom_stem') - - event.add('forge:smooth_stone_slab', 'minecraft:polished_deepslate_slab') - event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_slab') - event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_brick_slab') - - event.add('tfc:rock/smooth', 'minecraft:smooth_stone') } const registerMinecraftBlockTags = (event) => { @@ -115,98 +56,4 @@ const registerMinecraftBlockTags = (event) => { // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') - //#region Nether blocks - - event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate') - event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone') - - event.add('tfc:rock/raw', 'minecraft:deepslate') - event.add('tfc:rock/raw', 'minecraft:blackstone') - event.add('tfc:rock/raw', 'minecraft:dripstone_block') - event.add('forge:cobblestone/normal', 'minecraft:cobbled_deepslate') - event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') - event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') - event.add('beneath:nether_bush_plantable_on', 'minecraft:deepslate') - event.add('beneath:nether_bush_plantable_on', 'minecraft:moss_block') - event.add('beneath:nether_bush_plantable_on', 'minecraft:dripstone_block') - event.add('minecraft:nether_carver_replaceables', 'minecraft:blackstone') - event.add('minecraft:nether_carver_replaceables', 'minecraft:deepslate') - event.add('minecraft:nether_carver_replaceables', 'minecraft:dripstone_block') - event.add('minecraft:frogs_spawnable_on', 'minecraft:deepslate') - event.add('minecraft:frogs_spawnable_on', 'minecraft:blackstone') - event.add('minecraft:frogs_spawnable_on', 'minecraft:dripstone_block') - event.add('minecraft:axolotls_spawnable_on', 'minecraft:deepslate') - event.add('minecraft:axolotls_spawnable_on', 'minecraft:dripstone_block') - event.add('tfc:grass_plantable_on', 'minecraft:moss_block') - event.add('tfc:creeping_plantable_on', 'minecraft:moss_block') - event.add('tfc:creeping_plantable_on', 'minecraft:deepslate') - event.add('tfc:creeping_plantable_on', 'minecraft:blackstone') - event.add('tfc:creeping_stone_plantable_on', 'minecraft:moss_block') - event.add('tfc:creeping_stone_plantable_on', 'minecraft:deepslate') - event.add('tfc:creeping_stone_plantable_on', 'minecraft:blackstone') - event.add('minecraft:base_stone_nether', 'minecraft:deepslate') - event.add('minecraft:base_stone_nether', 'minecraft:blackstone') - event.add('minecraft:base_stone_nether', 'minecraft:dripstone_block') - event.add('forge:stone', 'minecraft:blackstone') - - event.add('tfc:can_landslide', 'minecraft:cobbled_deepslate') - - event.add('tfc:breaks_when_isolated', 'minecraft:deepslate') - event.add('tfc:breaks_when_isolated', 'minecraft:blackstone') - event.add('tfc:breaks_when_isolated', 'minecraft:gilded_blackstone') - event.add('tfc:breaks_when_isolated', 'minecraft:dripstone_block') - - event.add('tfg:rock_stairs', 'minecraft:cobbled_deepslate_stairs') - event.add('tfg:rock_slabs', 'minecraft:cobbled_deepslate_slab') - event.add('tfg:rock_walls', 'minecraft:cobbled_deepslate_wall') - event.add('tfg:brick_stairs', 'minecraft:deepslate_brick_stairs') - event.add('tfg:brick_slabs', 'minecraft:deepslate_brick_slab') - event.add('tfg:brick_walls', 'minecraft:deepslate_brick_wall') - event.add('tfg:brick_stairs', 'minecraft:deepslate_tile_stairs') - event.add('tfg:brick_slabs', 'minecraft:deepslate_tile_slab') - event.add('tfg:brick_walls', 'minecraft:deepslate_tile_wall') - event.add('tfg:rock_stairs', 'minecraft:blackstone_stairs') - event.add('tfg:rock_slabs', 'minecraft:blackstone_slab') - event.add('tfg:rock_walls', 'minecraft:blackstone_wall') - event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs') - event.add('tfg:brick_slabs', 'minecraft:blackstone_slab') - event.add('tfg:brick_walls', 'minecraft:blackstone_wall') - - event.add('tfc:bloomery_insulation', 'minecraft:polished_deepslate'); - event.add('tfc:forge_insulation', 'minecraft:polished_deepslate'); - event.add('tfc:bloomery_insulation', 'minecraft:polished_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:polished_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:deepslate_tiles'); - event.add('tfc:forge_insulation', 'minecraft:deepslate_tiles'); - event.add('tfc:bloomery_insulation', 'minecraft:cracked_deepslate_tiles'); - event.add('tfc:forge_insulation', 'minecraft:cracked_deepslate_tiles'); - event.add('tfc:bloomery_insulation', 'minecraft:chiseled_deepslate'); - event.add('tfc:forge_insulation', 'minecraft:chiseled_deepslate'); - event.add('tfc:bloomery_insulation', 'minecraft:chiseled_polished_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:chiseled_polished_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:gilded_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:gilded_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:basalt'); - event.add('tfc:forge_insulation', 'minecraft:basalt'); - event.add('tfc:bloomery_insulation', 'minecraft:smooth_basalt'); - event.add('tfc:forge_insulation', 'minecraft:smooth_basalt'); - - event.add('minecraft:mineable/pickaxe', 'minecraft:lantern'); - - event.add('minecraft:mineable/pickaxe', 'minecraft:cobweb'); - event.add('minecraft:mineable/hoe', 'minecraft:cobweb'); - event.add('minecraft:mineable/shovel', 'minecraft:cobweb'); - event.add('minecraft:mineable/axe', 'minecraft:cobweb'); - - //#region - - event.removeAll('minecraft:sniffer_diggable_block') - - event.add('tfc:can_be_snow_piled', 'minecraft:crimson_fungus') - event.add('tfc:can_be_snow_piled', 'minecraft:warped_fungus') - event.add('tfc:can_be_snow_piled', 'minecraft:torchflower') - event.add('tfc:can_be_snow_piled', 'minecraft:pitcher_plant') - - event.remove('minecraft:enderman_holdable', 'minecraft:crimson_fungus') - event.remove('minecraft:enderman_holdable', 'minecraft:warped_fungus') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 481d834ce..982310c93 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -7,7 +7,6 @@ const registerTFCDataForTFC = (event) => { registerTFCLampFuels(event) registerTFCFertilizers(event) registerTFCKnappingTypes(event) - registerTFCArmourResistances(event) } @@ -73,187 +72,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') -} - -const registerTFCArmourResistances = (event) => { - event.itemDamageResistance( - 'create:copper_diving_helmet', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'create:copper_backtank', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'create:copper_diving_boots', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'create:copper_diving_helmet', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'gtceu:hazmat_headpiece', - null, - null, - 3 - ) - event.itemDamageResistance( - 'gtceu:hazmat_chestpiece', - null, - null, - 3 - ) - event.itemDamageResistance( - 'gtceu:hazmat_leggings', - null, - null, - 3 - ) - event.itemDamageResistance( - 'gtceu:hazmat_boots', - null, - null, - 3 - ) - event.itemDamageResistance( - 'create:netherite_diving_helmet', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'create:netherite_backtank', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'minecraft:netherite_leggings', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'create:netherite_diving_boots', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_helmet', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_chestplate', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:advanced_nanomuscle_chestplate', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_leggings', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_boots', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:quarktech_helmet', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:quarktech_chestplate', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:advanced_quarktech_chestplate', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:quarktech_leggings', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:quarktech_boots', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'ad_astra:space_helmet', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:space_suit', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:space_pants', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:space_boots', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_helmet', - 21, - 21, - 21 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_suit', - 21, - 21, - 21 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_pants', - 21, - 21, - 21 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_boots', - 21, - 21, - 21 - ) -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index b566fc9ab..040b9857b 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -111,14 +111,6 @@ function registerTFCItemTags(event) { event.add("minecraft:fishes", "tfc:food/rainbow_trout"); event.add("minecraft:fishes", "tfc:food/smallmouth_bass"); - // Make eggs not useless - event.add("tfc:foods/usable_in_salad", "tfc:food/cooked_egg"); - event.add("tfc:foods/usable_in_salad", "tfc:food/boiled_egg"); - event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/cooked_egg"); - event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/boiled_egg"); - event.add("tfc:foods/usable_in_sandwich", "tfc:food/cooked_egg"); - event.add("tfc:foods/usable_in_sandwich", "tfc:food/boiled_egg"); - // Чтобы жарились бревна из TFC в пиролиз. печке // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... global.TFC_WOOD_TYPES.forEach((woodType) => { @@ -147,16 +139,6 @@ function registerTFCItemTags(event) { event.add("tfc:blast_furnace_fuel", "gtceu:coke_gem"); event.add("tfc:blast_furnace_fuel", "beneath:cursecoal"); - // Create a tag for Steam Bloomery - - event.add("tfc:steam_bloomery_basic_fuels", "minecraft:coal"); - event.add("tfc:steam_bloomery_basic_fuels", "minecraft:charcoal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:rich_raw_coal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:raw_coal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:poor_raw_coal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:coal_dust"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:charcoal_dust"); - // Тэги для сундуков, чтобы отличать их виды global.TFC_WOOD_TYPES.forEach((woodType) => { event.add("tfg:default_chests", `tfc:wood/chest/${woodType}`); @@ -331,12 +313,6 @@ function registerTFCItemTags(event) { event.add("forge:cloth", "tfc:wool_cloth"); event.add("forge:cloth", "tfc:silk_cloth"); - // Piglin loved - event.add("minecraft:piglin_loved", "tfc:ore/small_native_gold"); - event.add("minecraft:piglin_loved", "tfc:ore/poor_native_gold"); - event.add("minecraft:piglin_loved", "tfc:ore/normal_native_gold"); - event.add("minecraft:piglin_loved", "tfc:ore/rich_native_gold"); - // Bells event.add("tfc:bells", "tfc:bronze_bell"); event.add("tfc:bells", "tfc:brass_bell"); @@ -432,36 +408,6 @@ function registerTFCBlockTags(event) { // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/"); - //#region Nether - - event.add("beneath:nether_bush_plantable_on", "#tfc:clay_grass"); - event.add("minecraft:small_dripleaf_placeable", "#tfc:clay_grass"); - event.add("minecraft:big_dripleaf_placeable", "#tfc:clay_grass"); - event.add("minecraft:frogs_spawnable_on", "#tfc:clay_grass"); - event.add("minecraft:axolotls_spawnable_on", "#tfc:clay_grass"); - - event.add("minecraft:small_dripleaf_placeable", "#tfc:clay"); - event.add("minecraft:big_dripleaf_placeable", "#tfc:clay"); - event.add("minecraft:frogs_spawnable_on", "#tfc:clay"); - event.add("minecraft:axolotls_spawnable_on", "#tfc:clay"); - - event.add("beneath:nether_bush_plantable_on", "#tfc:mud"); - event.add("minecraft:frogs_spawnable_on", "#tfc:mud"); - - event.add("beneath:nether_bush_plantable_on", "#tfc:dirt"); - event.add("minecraft:frogs_spawnable_on", "#tfc:dirt"); - - event.add("minecraft:base_stone_nether", "tfc:rock/raw/gneiss"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/schist"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/diorite"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/granite"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/gabbro"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/basalt"); - event.add("minecraft:nether_carver_replaceables", "#minecraft:base_stone_nether"); - event.add("minecraft:frogs_spawnable_on", "#minecraft:base_stone_nether"); - - //#endregion - // Lets the basin be put on top of a charcoal forge event.add("tfc:forge_invisible_whitelist", "create:basin"); @@ -752,42 +698,4 @@ function registerTFCFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_black_steel"); event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_red_steel"); event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_blue_steel"); -} - -/** @param {TagEvent.Biome} event */ -function registerTFCBiomeTags(event) { - event.add("tfc:kaolin_clay_spawns_in", "tfc:rolling_hills"); - - global.TFC_BIOMES.forEach(biome => { - event.add('tfg:overworld_biomes', biome); - }) -} - -/** @param {TagEvent.PlacedFeature} event */ -function registerTFCPlacedFeatures(event) { - // Add back the non-ore ones - event.add("tfc:in_biome/veins", "tfc:vein/gravel"); - event.add("tfc:in_biome/veins", "tfc:vein/kaolin_disc"); - event.add("tfc:in_biome/veins", "tfc:vein/granite_dike"); - event.add("tfc:in_biome/veins", "tfc:vein/diorite_dike"); - event.add("tfc:in_biome/veins", "tfc:vein/gabbro_dike"); - - // Geodes - event.add("tfc:in_biome/veins", "tfg:earth/geode/amethyst"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/barite"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/calcite"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/gypsum"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/opal"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/pyrite"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/quartzite"); - - // Crops - event.add("tfc:feature/crops", "tfg:earth/sunflower_patch"); - event.add("tfc:feature/crops", "tfg:earth/rapeseed_patch"); - event.add("tfc:feature/crops", "tfg:earth/flax_patch"); - - // Other decoration - 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"); -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfcambiental/tags.js b/kubejs/server_scripts/tfcambiental/tags.js deleted file mode 100644 index aeabe274a..000000000 --- a/kubejs/server_scripts/tfcambiental/tags.js +++ /dev/null @@ -1,26 +0,0 @@ -// priority: 0 -"use strict"; - -const registerTFCAmbientalItemTags = (event) => { - - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots') - - event.add('tfg:lightweight_cloth', 'tfc:silk_cloth') - event.add('tfg:lightweight_cloth', 'tfg:phantom_silk') - event.add('tfg:lightweight_cloth', 'tfg:polycaprolactam_fabric') -} \ 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 new file mode 100644 index 000000000..c61249bb5 --- /dev/null +++ b/kubejs/server_scripts/tfg/beneath/tags.beneath.js @@ -0,0 +1,139 @@ +"use strict"; + +function registerTFGBeneathItemTags(event) { + + event.add("minecraft:piglin_loved", "gtceu:tiny_pyrite_dust"); + event.add("minecraft:piglin_loved", "gtceu:poor_raw_pyrite"); + event.add("minecraft:piglin_loved", "gtceu:raw_pyrite"); + event.add("minecraft:piglin_loved", "gtceu:rich_raw_pyrite"); + event.add("minecraft:piglin_loved", "tfc:ore/small_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/poor_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/normal_native_gold"); + 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('tfc:compost_greens', 'minecraft:red_mushroom_block') + event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block') + event.add('tfc:compost_greens', 'minecraft:mushroom_stem') + event.add('tfc:compost_greens', 'minecraft:moss_block') + event.add('tfc:compost_greens_low', 'minecraft:moss_carpet') + event.add('tfc:compost_greens_low', 'minecraft:twisting_vines') +} + + +function registerTFGBeneathBlockTags(event) { + event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate') + event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone') + + event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') + event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') + event.add('beneath:nether_bush_plantable_on', 'minecraft:deepslate') + event.add('beneath:nether_bush_plantable_on', 'minecraft:moss_block') + event.add('beneath:nether_bush_plantable_on', 'minecraft:dripstone_block') + event.add('minecraft:nether_carver_replaceables', 'minecraft:blackstone') + event.add('minecraft:nether_carver_replaceables', 'minecraft:deepslate') + event.add('minecraft:nether_carver_replaceables', 'minecraft:dripstone_block') + event.add('minecraft:frogs_spawnable_on', 'minecraft:deepslate') + event.add('minecraft:frogs_spawnable_on', 'minecraft:blackstone') + event.add('minecraft:frogs_spawnable_on', 'minecraft:dripstone_block') + event.add('minecraft:axolotls_spawnable_on', 'minecraft:deepslate') + event.add('minecraft:axolotls_spawnable_on', 'minecraft:dripstone_block') + event.add('tfc:grass_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_plantable_on', 'minecraft:deepslate') + event.add('tfc:creeping_plantable_on', 'minecraft:blackstone') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:deepslate') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:blackstone') + + event.add('minecraft:base_stone_nether', 'minecraft:deepslate') + event.add('minecraft:base_stone_nether', 'minecraft:blackstone') + event.add('minecraft:base_stone_nether', 'minecraft:dripstone_block') + event.add("minecraft:base_stone_nether", "tfc:rock/raw/gneiss"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/schist"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/diorite"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/granite"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/gabbro"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/basalt"); + + event.add('minecraft:mineable/pickaxe', 'minecraft:lantern'); + + event.add('minecraft:mineable/pickaxe', 'minecraft:cobweb'); + event.add('minecraft:mineable/hoe', 'minecraft:cobweb'); + event.add('minecraft:mineable/shovel', 'minecraft:cobweb'); + event.add('minecraft:mineable/axe', 'minecraft:cobweb'); + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') + event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_deepslate') + event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_deepslate') + event.add('tfc:grass_plantable_on', 'tfg:rock/hardened_deepslate') + event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_deepslate') + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_blackstone') + event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_blackstone') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_blackstone') + event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_blackstone') + event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_blackstone') + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_dripstone') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone') + + event.add("beneath:nether_bush_plantable_on", "#tfc:clay_grass"); + event.add("minecraft:small_dripleaf_placeable", "#tfc:clay_grass"); + event.add("minecraft:big_dripleaf_placeable", "#tfc:clay_grass"); + event.add("minecraft:frogs_spawnable_on", "#tfc:clay_grass"); + event.add("minecraft:axolotls_spawnable_on", "#tfc:clay_grass"); + + event.add("minecraft:small_dripleaf_placeable", "#tfc:clay"); + event.add("minecraft:big_dripleaf_placeable", "#tfc:clay"); + event.add("minecraft:frogs_spawnable_on", "#tfc:clay"); + event.add("minecraft:axolotls_spawnable_on", "#tfc:clay"); + + event.add("beneath:nether_bush_plantable_on", "#tfc:mud"); + event.add("minecraft:frogs_spawnable_on", "#tfc:mud"); + + event.add("beneath:nether_bush_plantable_on", "#tfc:dirt"); + event.add("minecraft:frogs_spawnable_on", "#tfc:dirt"); + + event.add("minecraft:nether_carver_replaceables", "#minecraft:base_stone_nether"); + event.add("minecraft:frogs_spawnable_on", "#minecraft:base_stone_nether"); +} + +function registerTFGBeneathBiomeTags(event) { + + event.add('tfg:nether_biomes', 'tfg:nether/lush_hollow') + event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/lush_hollow') + event.add('minecraft:spawns_cold_variant_frogs', 'tfg:nether/lush_hollow') + + event.add('tfg:nether_biomes', 'tfg:nether/decaying_caverns') + event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/decaying_caverns') + event.add('minecraft:spawns_warm_variant_frogs', 'tfg:nether/decaying_caverns') + event.add('minecraft:has_closer_water_fog', 'tfg:nether/decaying_caverns') + + event.add('tfg:nether_biomes', 'tfg:nether/basalt_deltas') + event.add('tfg:nether_biomes', 'tfg:nether/ash_forest') + event.add('tfg:nether_biomes', 'tfg:nether/lava_floes') + event.add('tfg:nether_biomes', 'tfg:nether/webbed_lair') + event.add('tfg:nether_biomes', 'tfg:nether/gneiss_caves') + event.add('tfg:nether_biomes', 'tfg:nether/diorite_caves') + event.add('tfg:nether_biomes', 'tfg:nether/gabbro_caves') + event.add('tfg:nether_biomes', 'tfg:nether/granite_caves') + event.add('tfg:nether_biomes', 'tfg:nether/schist_caves') + + event.add('minecraft:has_structure/nether_fossil', '#tfg:nether_biomes') + event.add('minecraft:has_structure/bastion_remnant', '#tfg:nether_biomes') + +} + +function registerTFGBeneathPlacedFeatures(event) { + + event.add('tfg:nether_veins', 'beneath:vein/crackrack_pipe') + + 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 diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index ba1b45d80..d8c290270 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -10,6 +10,7 @@ function registerTFCDataForTFG(event) { registerTFGCropRanges(event); registerTFGFLPlanters(event); registerTFGFauna(event); + registerTFGEquipmentData(event); } //#region Heat Data diff --git a/kubejs/server_scripts/tfg/equipment/data.equipment.js b/kubejs/server_scripts/tfg/equipment/data.equipment.js new file mode 100644 index 000000000..4263d344b --- /dev/null +++ b/kubejs/server_scripts/tfg/equipment/data.equipment.js @@ -0,0 +1,189 @@ +"use strict"; + +function registerTFGEquipmentData(event) { + + // #region Armor resistances + + event.itemDamageResistance( + 'create:copper_diving_helmet', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_backtank', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_diving_boots', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_diving_helmet', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'gtceu:hazmat_headpiece', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_chestpiece', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_leggings', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_boots', + null, + null, + 3 + ) + event.itemDamageResistance( + 'create:netherite_diving_helmet', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'create:netherite_backtank', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'minecraft:netherite_leggings', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'create:netherite_diving_boots', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_helmet', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_chestplate', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:advanced_nanomuscle_chestplate', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_leggings', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_boots', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:quarktech_helmet', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_chestplate', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:advanced_quarktech_chestplate', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_leggings', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_boots', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'ad_astra:space_helmet', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_suit', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_pants', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_boots', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_helmet', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_suit', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_pants', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_boots', + 21, + 21, + 21 + ) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/equipment/recipes.equipment.js b/kubejs/server_scripts/tfg/equipment/recipes.equipment.js new file mode 100644 index 000000000..83c54f8d4 --- /dev/null +++ b/kubejs/server_scripts/tfg/equipment/recipes.equipment.js @@ -0,0 +1,54 @@ +"use strict"; + +function registerTFGEquipmentRecipes(event) { + // #region Primitive protection + + event.recipes.tfc.barrel_sealed(2000) + .outputItem('tfg:prepared_leather_gloves') + .inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000)) + .id('tfg:sealed_barrel/prepared_leather_gloves') + + event.recipes.firmalife.vat() + .outputItem('tfg:latex_soaked_gloves') + .inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000)) + .length(300) + .temperature(200) + .id('tfg:vat/latex_soaked_gloves') + + event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves') + .id('tfg:oven/rubber_gloves') + + event.remove({ id: 'gtceu:shaped/rubber_gloves' }) + + event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter') + .itemInputs('2x #forge:plates/rubber') + .notConsumable('create:brass_hand') + .itemOutputs('gtceu:rubber_gloves') + .duration(200) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.INGOT_MOLDING) + + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('gtceu:face_mask', [ + 'ACA', + 'ABA', + ' D ' + ], { + A: '#forge:string', + B: '#forge:cloth', + C: 'minecraft:paper', + D: '#tfc:sewing_needles' + }) + ).id('gtceu:shaped/face_mask') + + event.recipes.gtceu.assembler('assemble_face_mask') + .itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper') + .itemOutputs('gtceu:face_mask') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + .circuit(7) + + // #endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/equipment/tags.equipment.js b/kubejs/server_scripts/tfg/equipment/tags.equipment.js new file mode 100644 index 000000000..b0d28afdc --- /dev/null +++ b/kubejs/server_scripts/tfg/equipment/tags.equipment.js @@ -0,0 +1,52 @@ +"use strict"; + +function registerTFGEquipmentItemTags(event) { + + event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet') + event.add('minecraft:trimmable_armor', 'create:copper_diving_boots') + event.add('minecraft:trimmable_armor', 'create:netherite_diving_helmet') + event.add('minecraft:trimmable_armor', 'create:netherite_diving_boots') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots') + event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor') + + global.GTCEU_ARMORS.forEach((item) => { + event.add("minecraft:trimmable_armor", item); + }); + + event.add('gtceu:ppe_armor', '#ad_astra:space_suit_items') + event.add('minecraft:trimmable_armor', '#ad_astra:space_suit_items') + + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_helmet') + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_chestplate') + event.add('ad_astra:space_suit_items', 'gtceu:advanced_quarktech_chestplate') + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_leggings') + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_boots') + + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_helmet') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_chestplate') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:advanced_quarktech_chestplate') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_leggings') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_boots') + + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_helmet') + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_chestplate') + event.add('ad_astra:heat_resistant_armor', 'gtceu:advanced_quarktech_chestplate') + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_leggings') + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_boots') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/europa/tags.europa.js b/kubejs/server_scripts/tfg/europa/tags.europa.js new file mode 100644 index 000000000..de5cfc9a7 --- /dev/null +++ b/kubejs/server_scripts/tfg/europa/tags.europa.js @@ -0,0 +1,22 @@ +"use strict"; + +function registerTFGEuropaEntityTypeTags(event) { + const ENTITIES = [ + 'endermanoverhaul:coral_enderman', + 'endermanoverhaul:snowy_enderman', + 'endermanoverhaul:ice_spikes_enderman', + 'species:deepfish', + 'species:leaf_hanger' + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_cold', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) +} + +function registerTFGEuropaPlacedFeatures(event) { + + event.add("tfg:glacio_top_layer_modification", "tfg:glow_lichen") + event.add("tfg:glacio_top_layer_modification", "tfc:surface_loose_rocks") +} \ 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 new file mode 100644 index 000000000..02aa366af --- /dev/null +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -0,0 +1,348 @@ +"use strict"; + +function registerTFGFoodItemTags(event) { + + // Crops + event.add('tfc:seeds', 'tfg:sunflower_seeds') + event.add('tfc:seeds', 'tfg:rapeseed_seeds') + event.add('tfc:seeds', 'tfg:flax_seeds') + + event.add('tfc:compost_greens_high', 'tfg:rapeseed_product') + event.add('tfc:compost_greens_high', 'tfg:sunflower_product') + event.add('tfc:compost_greens_high', 'tfg:flax_product') + event.add('tfc:compost_greens_high', 'tfg:lunar_chorus_flower') + + event.add("tfg:sugars", "minecraft:sugar"); + event.add("tfg:sugars", "afc:birch_sugar"); + event.add("tfg:sugars", "afc:maple_sugar"); + + const RAW_MEATS = [ + 'tfg:food/raw_birt', + 'tfg:food/raw_crawlermari', + 'tfg:food/raw_limpet' + ] + RAW_MEATS.forEach(meat => { + event.add('tfc:foods', meat) + event.add('tfc:foods/meats', meat) + event.add('tfc:foods/raw_meats', meat) + }) + + const COOKED_MEATS = [ + 'tfg:food/cooked_birt', + 'tfg:food/cooked_crawlermari', + 'tfg:food/cooked_limpet' + ] + COOKED_MEATS.forEach(meat => { + event.add('tfc:foods', meat) + event.add('tfc:foods/meats', meat) + event.add('tfc:foods/cooked_meats', meat) + }) + + //These tags are used to add the tooltips and for searchability + global.COOLING_FOODS.forEach(food => { event.add('tfg:cooling_foods', food) }) + + event.add('tfg:cooling_foods_strong', 'tfg:food/ice_soup') + + global.WARMING_FOODS.forEach(food => { event.add('tfg:warming_foods', food) }) + + //jam sandwhich stuff + const usable_in_jam_sandwich = Ingredient.of('#tfc:foods/usable_in_jam_sandwich').itemIds.toArray().map(String); + const preserves = Ingredient.of('#tfc:foods/preserves').itemIds.toArray().map(String); + + const usable_in_jam_sandwich_2 = usable_in_jam_sandwich.filter(item => !preserves.includes(item)); + + usable_in_jam_sandwich_2.forEach(item => { + event.add('tfc:foods/usable_in_jam_sandwich_2', item); + }); + + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_sniffer_beef') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_wraptor') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_springling_collar') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_walker_steak') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_glider_wings') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_whole_soarer') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_crusher_meat') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_goober_meat') + 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') + + /** + * List of items that can make light stock. + * @type {string[]} + */ + const makesLightStock = [ + 'tfc:food/chicken', + 'tfc:food/cooked_chicken', + 'tfc:food/quail', + 'tfc:food/cooked_quail', + 'tfc:food/pheasant', + 'tfc:food/cooked_pheasant', + 'tfc:food/grouse', + 'tfc:food/cooked_grouse', + 'tfc:food/turkey', + 'tfc:food/cooked_turkey', + 'tfc:food/peafowl', + 'tfc:food/cooked_peafowl', + 'tfc:food/rabbit', + 'tfc:food/cooked_rabbit', + 'tfc:food/duck', + 'tfc:food/cooked_duck', + 'tfg:food/raw_birt', + 'tfg:food/cooked_birt', + 'tfg:food/raw_moon_rabbit', + 'tfg:food/cooked_moon_rabbit', + 'tfg:food/raw_wraptor', + 'tfg:food/cooked_wraptor', + 'tfg:food/raw_glider_wings', + 'tfg:food/cooked_glider_wings', + 'tfg:food/raw_whole_soarer', + 'tfg:food/cooked_whole_soarer' + ]; + makesLightStock.forEach(item => { + event.add('tfg:foods/makes_light_stock', item); + }); + + /** + * List of items that can make rich stock. + * @type {string[]} + */ + const makesRichStock = [ + 'tfc:food/beef', + 'tfc:food/cooked_beef', + 'tfc:food/mutton', + 'tfc:food/cooked_mutton', + 'tfc:food/bear', + 'tfc:food/cooked_bear', + 'tfc:food/horse_meat', + 'tfc:food/cooked_horse_meat', + 'tfc:food/venison', + 'tfc:food/cooked_venison', + 'tfc:food/chevon', + 'tfc:food/cooked_chevon', + 'tfc:food/gran_feline', + 'tfc:food/cooked_gran_feline', + 'tfc:food/turtle', + 'tfc:food/cooked_turtle', + 'tfc:food/camelidae', + 'tfc:food/cooked_camelidae', + 'tfg:food/raw_glacian_mutton', + 'tfg:food/cooked_glacian_mutton', + 'tfg:food/raw_sniffer_beef', + 'tfg:food/cooked_sniffer_beef', + 'tfg:food/raw_walker_steak', + 'tfg:food/cooked_walker_steak', + 'tfg:food/raw_crusher_meat', + 'tfg:food/cooked_crusher_meat', + 'wan_ancient_beasts:raw_ancient_meat', + 'wan_ancient_beasts:cooked_ancient_meat' + ]; + makesRichStock.forEach(item => { + event.add('tfg:foods/makes_rich_stock', item); + }); + + /** + * @type {string[]} - List of cheese curd item IDs. + */ + const cheeseCurds = [ + 'firmalife:food/yak_curd', + 'firmalife:food/goat_curd', + 'firmalife:food/milk_curd', + 'tfc_gurman:ox_curd', + 'tfc_gurman:sheep_curd', + 'tfc_gurman:alpaca_curd' + ]; + cheeseCurds.forEach(item => { + event.add('tfg:foods/cheese_curds', item); + }); + + /** + * @type {string[]} - List of item tags and item IDs that can be used on burgers. + */ + const usable_in_burgers = [ + '#tfc:foods/vegetables', + 'firmalife:food/cooked_bacon', + 'tfc:food/cooked_egg', + 'firmalife:food/tofu' + ]; + usable_in_burgers.forEach(item => { + event.add('tfg:foods/usable_in_burgers', item); + }); + + /** + * @type {string[]} - List of cheese tags and item IDs that can be used on a cheeseburger. + */ + const cheeses = [ + '#firmalife:foods/cheeses', + 'tfg:food/slice_of_cheese', + 'firmalife:food/shredded_cheese' + ]; + cheeses.forEach(item => { + event.add('tfg:foods/cheeses', item); + }); + + /** + * @type {string[]} - List of item IDs that can be used as burger meats. + */ + const burgerMeats = [ + 'tfc:food/beef', + 'tfc:food/turkey', + 'tfc:food/venison', + 'tfg:food/raw_sniffer_beef', + 'tfg:food/raw_crusher_meat', + 'wan_ancient_beasts:raw_ancient_meat' + ]; + burgerMeats.forEach(item => { + event.add('tfg:foods/burger_meats', item); + }); + + // Spice tags + global.SPICES.forEach(spice => { + event.add('tfg:foods/spices', spice.product); + event.add('tfg:foods/spice_plants', spice.plant); + }); + + /** + * @type {string[]} - List of item tags and item IDs that are allowed to be used in oatmeal. + */ + const usable_in_oatmeal = [ + '#tfc:foods/fruits', + 'tfc:food/oat_grain', + '#firmalife:foods/chocolate' + ]; + usable_in_oatmeal.forEach(item => { + event.add('tfg:foods/usable_in_oatmeal', item); + }); + + /** + * @type {string[]} - List of citrus fruit item IDs. + */ + const citrus_fruits = [ + 'tfc:food/orange', + 'tfc:jar/orange_unsealed', + 'tfg:food/freeze_dried/orange', + 'tfc:food/lemon', + 'tfc:jar/lemon_unsealed', + 'tfg:food/freeze_dried/lemon', + 'minecraft:glow_berries', + 'tfg:food/freeze_dried/glow_berries' + ]; + citrus_fruits.forEach(item => { + event.add('tfg:foods/citrus_fruits', item); + }); + + /** + * List of item tags and item IDs that are allowed to be used in a meal bag. + * @type {string[]} + */ + const usable_in_meal_bag = [ + '#tfc:foods/meats', + '#tfc:foods/grains', + '#tfc:foods/vegetables', + '#tfc:foods/fruits', + '#tfc:foods/dairy', + '#tfc:foods/preserves', + '#firmalife:foods/chocolate', + '#tfcchannelcasting:foods/chocolate_sweet', + 'firmalife:food/sugar_cookie', + 'firmalife:food/chocolate_chip_cookie', + 'firmalife:food/vanilla_ice_cream', + 'firmalife:food/strawberry_ice_cream', + 'firmalife:food/chocolate_ice_cream', + 'tfc:food/cooked_egg', + 'tfc:food/boiled_egg', + 'firmalife:food/pickled_egg', + 'tfc:food/cooked_rice', + 'firmalife:food/cooked_pasta', + 'firmalife:food/pasta_with_tomato_sauce', + 'firmalife:food/cooked_rice_noodles', + 'firmalife:food/tortilla_chips', + 'firmalife:food/shredded_cheese', + 'firmalife:food/salsa', + 'firmalife:food/tomato_sauce', + 'tfg:roasted_sunflower_seeds', + 'tfg:food/cooked_dino_nugget', + 'firmalife:food/toast', + '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' + ]; + usable_in_meal_bag.forEach(item => { + event.add('tfg:foods/usable_in_meal_bag', item); + }); + event.add('tfg:foil_packs', 'tfg:foil_pack'); + event.add('tfg:foil_packs', 'tfg:clean_foil_pack') + + event.add('tfg:solid_fats', 'firmalife:food/butter') + event.add('tfg:solid_fats', 'tfc:blubber') + + // Space foods + event.add('tfc:foods', 'minecraft:red_mushroom') + event.add('tfc:foods', 'minecraft:brown_mushroom') + event.add('tfc:foods', 'minecraft:glow_berries') + event.add('tfc:foods', 'minecraft:chorus_fruit') + event.add('tfc:foods', 'minecraft:popped_chorus_fruit') + + event.add('tfc:foods/vegetables', 'minecraft:red_mushroom') + event.add('tfc:foods/vegetables', 'minecraft:brown_mushroom') + event.add('tfc:foods/fruits', 'minecraft:glow_berries') + event.add('tfc:foods/fruits', 'minecraft:chorus_fruit') + event.add('tfc:foods/fruits', 'minecraft:popped_chorus_fruit') + + event.add('beneath:usable_in_juicer', 'minecraft:glow_berries') + event.add('beneath:usable_in_juicer', 'minecraft:chorus_fruit') + event.add('beneath:usable_in_juicer', 'minecraft:red_mushroom') + event.add('beneath:usable_in_juicer', 'minecraft:brown_mushroom') + + event.add('tfc:foods/usable_in_soup', 'minecraft:red_mushroom') + event.add('tfc:foods/usable_in_soup', 'minecraft:brown_mushroom') + event.add('tfc:foods/usable_in_soup', 'minecraft:glow_berries') + event.add('tfc:foods/usable_in_soup', 'minecraft:chorus_fruit') + event.add('tfc:foods/usable_in_soup', 'minecraft:popped_chorus_fruit') + + // Make eggs not useless + event.add('tfc:foods/usable_in_salad', 'firmalife:food/pickled_egg') + event.add("tfc:foods/usable_in_salad", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_salad", "tfc:food/boiled_egg"); + event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/boiled_egg"); + event.add("tfc:foods/usable_in_sandwich", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_sandwich", "tfc:food/boiled_egg"); + + event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom') + event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom') + event.add('tfc:foods/usable_in_salad', 'minecraft:glow_berries') + event.add('tfc:foods/usable_in_salad', 'minecraft:chorus_fruit') + event.add('tfc:foods/usable_in_salad', 'minecraft:popped_chorus_fruit') + + event.add('tfc:rabbit_food', 'minecraft:chorus_fruit') + event.add('tfc:rabbit_food', 'minecraft:popped_chorus_fruit') + + event.add('tfc:foods', 'ad_astra:cheese') + event.add('tfc:foods/dairy', 'ad_astra:cheese') + event.add('tfc:foods/usable_in_sandwich', 'ad_astra:cheese') + event.add('tfc:foods/usable_in_jam_sandwich', 'ad_astra:cheese') + event.add('tfc:foods/usable_in_jam_sandwich_2', 'ad_astra:cheese') + event.add('firmalife:foods/cheeses', 'ad_astra:cheese') +} + +function registerTFGFoodBlockTags(event) { + //crop stuff + event.add('tfc:crops', 'tfg:rapeseed') + event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed') + + event.add('tfc:crops', 'tfg:sunflower') + event.add('tfc:mineable_with_sharp_tool', 'tfg:sunflower') + + event.add('tfc:crops', 'tfg:flax') + event.add('tfc:mineable_with_sharp_tool', 'tfg:flax') + + 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 diff --git a/kubejs/server_scripts/tfg/json_tool.armor_trim.js b/kubejs/server_scripts/tfg/json_tool.armor_trim.js index 4f66e02ce..35346486e 100644 --- a/kubejs/server_scripts/tfg/json_tool.armor_trim.js +++ b/kubejs/server_scripts/tfg/json_tool.armor_trim.js @@ -69,7 +69,7 @@ const materials = [ // #region Tags // Assigns trim_materials tag to items registered above -function registerTFGTrimTags(event) { +function registerTFGTrimItemTags(event) { event.removeAll('minecraft:trim_materials') materials.forEach(material => { event.add('minecraft:trim_materials', material.itemName) diff --git a/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js index c9df6f6f2..7f5b1888e 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js +++ b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js @@ -3,7 +3,7 @@ function registerTFGSteamBloomeryRecipes(event) { event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal') - .itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels') + .itemInputs('#forge:ingots/iron', '#tfg:steam_bloomery_basic_fuels') .itemOutputs('tfc:raw_iron_bloom') .duration(2400) .EUt(2) @@ -23,7 +23,7 @@ function registerTFGSteamBloomeryRecipes(event) { const outputMaterial = tfcProperty.getOutputMaterial() === null ? material : tfcProperty.getOutputMaterial() if (outputMaterial === GTMaterials.Iron) { event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels') + .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfg:steam_bloomery_basic_fuels') .itemOutputs('tfc:raw_iron_bloom') .duration(2400) .EUt(2) diff --git a/kubejs/server_scripts/tfg/tags.facades.js b/kubejs/server_scripts/tfg/machines/tags.facades.js similarity index 99% rename from kubejs/server_scripts/tfg/tags.facades.js rename to kubejs/server_scripts/tfg/machines/tags.facades.js index cb12fa3e3..33a59ebbd 100644 --- a/kubejs/server_scripts/tfg/tags.facades.js +++ b/kubejs/server_scripts/tfg/machines/tags.facades.js @@ -1,7 +1,7 @@ // priority: 0 "use strict"; -function registerFacadeWhitelistTags(event) { +function registerTFGFacadeWhitelistItemTags(event) { const facade_materials = [ //tags diff --git a/kubejs/server_scripts/tfg/mars/data.mars.js b/kubejs/server_scripts/tfg/mars/data.mars.js new file mode 100644 index 000000000..0a40f9896 --- /dev/null +++ b/kubejs/server_scripts/tfg/mars/data.mars.js @@ -0,0 +1,68 @@ +"use strict"; + +function registerTFGMarsBedrockFluidVeins(event) { + + const Registries = Java.loadClass("net.minecraft.core.registries.Registries") + const ResourceKey = Java.loadClass("net.minecraft.resources.ResourceKey") + const martianAmberHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_hills") + const martianAmberPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_plains") + const martianMountainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/martian_mountains") + const martianRusticusHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_hills") + const martianRusticusPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_plains") + const martianSangnumHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_hills") + const martianSangnumPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_plains") + + event.add('tfg:semiheavy_ammoniacal_water', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('tfg:semiheavy_ammoniacal_water').fluid) + vein.weight(100) + vein.minimumYield(200) + vein.maximumYield(400) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(15) + }) + + event.add('tfg:liquid_carbon_dioxide', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('gtceu:liquid_carbon_dioxide').fluid) + vein.weight(30) + vein.minimumYield(20) + vein.maximumYield(350) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(5) + }) + + event.add('tfg:liquid_ice', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('gtceu:ice').fluid) + vein.weight(20) + vein.minimumYield(20) + vein.maximumYield(200) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(5) + }) + + // Heavy Ammonical Water in Specific Biome Credit to Monifactory from https://github.com/ThePansmith/Monifactory/blob/main/kubejs/server_scripts/worldgen/fluidVeins.js + + event.add('tfg:heavy_ammoniacal_water', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('tfg:heavy_ammoniacal_water').fluid) + vein.biomes(20, martianAmberHillsResourceKey) + vein.biomes(20, martianAmberPlainsResourceKey) + vein.biomes(20, martianRusticusHillsResourceKey) + vein.biomes(20, martianRusticusPlainsResourceKey) + vein.biomes(20, martianSangnumHillsResourceKey) + vein.biomes(20, martianSangnumPlainsResourceKey) + // This one is exclusively far inland, so it's ok to buff it a bit in case the player has bad luck + vein.biomes(50, martianMountainsResourceKey) + vein.weight(0) + vein.minimumYield(100) + vein.maximumYield(650) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(30) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/recipes.iodine.js b/kubejs/server_scripts/tfg/mars/recipes.iodine.js index 90a8fc031..371c0a9fc 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.iodine.js +++ b/kubejs/server_scripts/tfg/mars/recipes.iodine.js @@ -4,6 +4,34 @@ function registerTFGMarsIodineRecipes(event) { // This file is specifically for the crappy mars-based iodine recipe chain. // The "proper" venus one is elsewhere + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/crimson')) + .resultFluid(Fluid.of('tfg:crimsene', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/crimson_log") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/crimson')) + .resultFluid(Fluid.of('tfg:crimsene', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/crimson_wood") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/warped')) + .resultFluid(Fluid.of('tfg:warpane', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/warped_log") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/warped')) + .resultFluid(Fluid.of('tfg:warpane', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/warped_wood") event.recipes.gtceu.autoclave('tfg:crimsene') .inputFluids(Fluid.of('tfg:crimsene', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 844bbab19..5c995e9f8 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -228,4 +228,34 @@ function registerTFGMarsRecipes(event) { A: 'ad_astra:glacian_fur', B: '#tfc:lumber' }).id('tfg:shaped/glacian_bed') + + // Plants + + Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { + const itemId = element.id; + const recipeId = `greenhouse_${itemId.replace(':', '_')}`; + + generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`, + recipeId, 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]); + }); + + generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:amber_root_product', 'amber_root', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:blossom_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:blossom_berry_product', 'blossom_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:bolux_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:bolux_mushroom_product', 'bolux_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:cave_pumpkin_plant_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:cave_pumpkin', 'cave_pumpkin', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:chorus_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:chorus_mushroom_product', 'chorus_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:shadow_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js new file mode 100644 index 000000000..bd1cbc9ef --- /dev/null +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -0,0 +1,529 @@ +"use strict"; + +function registerTFGMarsItemTags(event) { + + event.add('c:hidden_from_recipe_viewers', 'tfg:mars_ice') + + event.add('tfc:compost_greens', 'ad_astra:aeronos_cap') + event.add('tfc:compost_greens', 'ad_astra:strophar_cap') + + // Dirt + event.add('minecraft:dirt', 'tfg:grass/mars_dirt') + event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') + event.add('tfc:grass', 'tfg:grass/amber_mycelium') + event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfc:farmland', 'tfg:grass/mars_farmland') + event.add('tfc:paths', 'tfg:grass/mars_path') + event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') + + // Mars animals + event.add('tfg:martian_eggs', 'tfg:sniffer_egg') + event.add('tfg:martian_eggs', 'tfg:wraptor_egg') + 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: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.remove('minecraft:wool', 'ad_astra:glacian_fur') + + event.add('tfg:mineral_rich_wool', 'tfg:wraptor_wool') + event.add('tfg:mineral_rich_wool', 'tfg:sniffer_wool') + + event.add('buildinggadgets2:deny', 'tfg:spice') + + // these are log tags + event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') + event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') + + event.add('tfc:makes_tannin', '#ad_astra:glacian_logs') + event.add('tfc:makes_tannin', '#tfc:crimson_logs') + event.add('tfc:makes_tannin', '#tfc:warped_logs') + + // Crops + event.add('forge:seeds', 'betterend:amber_root_seeds') + event.add('forge:seeds', 'betterend:blossom_berry_seeds') + event.add('forge:seeds', 'betterend:bolux_mushroom_seeds') + event.add('forge:seeds', 'betterend:cave_pumpkin_seeds') + event.add('forge:seeds', 'betterend:shadow_berry_seeds') + + event.add('tfc:foods', 'betterend:amber_root_product') + event.add('tfc:foods/grains', 'betterend:amber_root_product') + + event.add('tfc:foods', 'betterend:blossom_berry_product') + event.add('tfc:foods/fruits', 'betterend:blossom_berry_product') + + event.add('tfc:foods', 'betterend:bolux_mushroom_product') + event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_product') + event.add('forge:mushrooms', 'betterend:bolux_mushroom_product') + event.add('tfc:foods', 'betterend:bolux_mushroom_cooked') + event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_cooked') + event.add('forge:mushrooms', 'betterend:bolux_mushroom_cooked') + + event.add('tfc:foods', 'betterend:cave_pumpkin') + event.add('tfc:foods', 'betterend:cave_pumpkin_chunks') + event.add('tfc:foods/fruits', 'betterend:cave_pumpkin_chunks') + event.add('tfc:foods', 'betterend:cave_pumpkin_pie_dough') + event.add('tfc:foods', 'betterend:cave_pumpkin_pie_raw') + event.add('tfc:foods', 'betterend:cave_pumpkin_pie') + event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie_raw') + event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie') + + event.add('tfc:foods', 'betterend:chorus_mushroom_product') + event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_product') + event.add('forge:mushrooms', 'betterend:chorus_mushroom_product') + event.add('tfc:foods', 'betterend:chorus_mushroom_cooked') + event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_cooked') + event.add('forge:mushrooms', 'betterend:chorus_mushroom_cooked') + + event.add('tfc:foods', 'betterend:shadow_berry_product') + event.add('tfc:foods/fruits', 'betterend:shadow_berry_product') + event.add('tfc:foods', 'betterend:shadow_berry_cooked') + event.add('tfc:foods/fruits', 'betterend:shadow_berry_cooked') + + event.add('forge:mushrooms', 'betterend:flammalix') + event.add('forge:mushrooms', 'betterend:small_amaranita_mushroom') +} + +function registerTFGMarsBlockTags(event) { + + event.add('buildinggadgets2:deny', 'tfg:spice') + event.add('ae2:blacklisted/spatial', 'tfg:spice') + + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dacite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dacite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dacite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/basalt') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/basalt') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/gabbro') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/gabbro') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/diorite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/diorite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/rhyolite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/rhyolite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/rhyolite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/andesite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/andesite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/chert') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/chert') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/chert') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/conglomerate') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/conglomerate') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/conglomerate') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/claystone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/claystone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/claystone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/limestone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/limestone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/limestone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dolomite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dolomite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dolomite') + 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', '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') + event.add('ad_astra:mars_stone_replaceables', 'minecraft:red_sandstone') + event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_stone') + event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_sandstone') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_venus_stone') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_venus') + event.add('ad_astra:mars_stone_replaceables', 'gtceu:red_granite') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_red_granite') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_red_granite') + event.add('ad_astra:mars_stone_replaceables', 'create:ochrum') + + event.add('tfc:can_carve', '#ad_astra:mars_stone_replaceables') + + event.add('tfg:mars_soil', 'minecraft:red_sand') + event.add('tfg:mars_soil', 'ad_astra:mars_sand') + event.add('tfg:mars_soil', 'ad_astra:venus_sand') + event.add('tfg:mars_soil', 'tfg:rock/gravel_venus') + event.add('tfg:mars_soil', 'tfg:rock/gravel_mars') + event.add('tfg:mars_soil', 'tfc:rock/gravel/dacite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/basalt') + event.add('tfg:mars_soil', 'tfc:rock/gravel/gabbro') + event.add('tfg:mars_soil', 'tfc:rock/gravel/diorite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/rhyolite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/andesite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/conglomerate') + event.add('tfg:mars_soil', 'tfc:rock/gravel/claystone') + event.add('tfg:mars_soil', 'tfc:rock/gravel/limestone') + event.add('tfg:mars_soil', 'tfc:rock/gravel/dolomite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/shale') + event.add('tfg:mars_soil', 'tfc:sand/black') + event.add('tfg:mars_soil', 'tfc:sand/red') + event.add('tfg:mars_soil', 'tfc:sand/pink') + event.add('tfg:mars_soil', 'tfg:grass/mars_dirt') + event.add('tfg:mars_soil', 'tfg:grass/mars_clay_dirt') + event.add('tfg:mars_soil', 'tfg:grass/amber_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/rusticus_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/sangnum_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/amber_clay_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('ad_astra:mars_stone_replaceables', '#tfg:mars_soil') + event.add('minecraft:animals_spawnable_on', '#tfg:mars_soil') + event.add('minecraft:animals_spawnable_on', '#tfg:mars_plants') + event.add('minecraft:valid_spawn', '#minecraft:animals_spawnable_on') + + event.removeAll('minecraft:sniffer_diggable_block') + + event.add('tfc:can_be_snow_piled', 'minecraft:crimson_fungus') + event.add('tfc:can_be_snow_piled', 'minecraft:warped_fungus') + event.add('tfc:can_be_snow_piled', 'minecraft:torchflower') + event.add('tfc:can_be_snow_piled', 'minecraft:pitcher_plant') + + event.add('tfg:heightmap_ignore', 'ad_astra:strophar_cap') + event.add('tfg:heightmap_ignore', 'ad_astra:strophar_stem') + event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_cap') + event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_stem') + event.add('tfg:heightmap_ignore', 'minecraft:nether_wart_block') + event.add('tfg:heightmap_ignore', 'minecraft:warped_wart_block') + event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_block') + event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_growth') + event.add('tfg:heightmap_ignore', 'tfg:glacian_leaves') + event.add('tfg:heightmap_ignore', 'betterend:glacian_hymenophore') + event.add('tfg:heightmap_ignore', 'species:alphacene_moss_block') + event.add('tfg:heightmap_ignore', 'minecraft:ice') + + event.remove('minecraft:enderman_holdable', 'minecraft:crimson_fungus') + event.remove('minecraft:enderman_holdable', 'minecraft:warped_fungus') + + event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') + event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') + + event.add('tfc:can_be_snow_piled', 'ad_astra:aeronos_mushroom') + event.add('tfc:can_be_snow_piled', 'ad_astra:strophar_mushroom') + + event.add('minecraft:dirt', 'tfg:grass/mars_dirt') + event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') + event.add('minecraft:dirt', 'tfg:grass/amber_mycelium') + event.add('minecraft:dirt', 'tfg:grass/rusticus_mycelium') + event.add('minecraft:dirt', 'tfg:grass/sangnum_mycelium') + event.add('minecraft:dirt', 'tfg:grass/amber_clay_mycelium') + event.add('minecraft:dirt', 'tfg:grass/rusticus_clay_mycelium') + event.add('minecraft:dirt', 'tfg:grass/sangnum_clay_mycelium') + event.add('minecraft:dirt', 'tfg:grass/amber_kaolin_mycelium') + event.add('minecraft:dirt', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('minecraft:dirt', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfc:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') + event.add('tfc:farmland', 'tfg:grass/mars_farmland') + + event.add('tfc:paths', 'tfg:grass/mars_path') + + event.add('tfc:grass', 'tfg:grass/amber_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') + event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_clay_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_kaolin_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_farmland') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_path') + + event.add('tfc:can_landslide', 'tfg:grass/mars_dirt') + event.add('tfc:can_landslide', 'tfg:grass/mars_clay_dirt') + event.add('tfc:can_landslide', 'tfg:grass/mars_farmland') + event.add('tfc:can_landslide', 'tfg:grass/mars_path') + event.add('tfc:can_landslide', 'tfg:grass/amber_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/rusticus_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/sangnum_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/amber_clay_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_dirt') + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_clay_dirt') + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_path') + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_farmland') + event.add('minecraft:mineable/shovel', 'tfg:grass/amber_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/amber_clay_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/amber_kaolin_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_clay_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_clay_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfc:bush_plantable_on', 'tfg:grass/mars_farmland') + event.add('tfc:grass_plantable_on', 'tfg:grass/mars_farmland') + event.add('tfc:creeping_plantable_on', 'tfg:grass/mars_farmland') + + event.add('tfg:decorative_plant_attachable', '#minecraft:logs') + event.add('tfg:decorative_plant_attachable', 'minecraft:mushroom_stem') + event.add('tfg:decorative_plant_attachable', 'species:alphacene_mushroom_block') + event.add('tfg:decorative_plant_attachable', 'species:alphacene_moss_block') + event.add('tfg:decorative_plant_attachable', 'ad_astra:aeronos_cap') + event.add('tfg:decorative_plant_attachable', 'ad_astra:strophar_cap') + event.add('tfg:decorative_plant_attachable', 'tfg:glacian_leaves') + event.add('tfg:decorative_plant_attachable', 'minecraft:nether_wart_block') + event.add('tfg:decorative_plant_attachable', 'minecraft:warped_wart_block') + event.add('tfg:decorative_plant_attachable', 'betterend:cave_bush') + event.add('tfg:decorative_plant_attachable', 'betterend:lucernia_leaves') + + event.add('minecraft:mineable/shovel', 'tfg:ash_pile') + event.add('minecraft:mineable/shovel', 'tfg:pile/black_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/white_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/brown_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/red_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/yellow_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/pink_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/green_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/moon_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') + event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') + event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') +} + +function registerTFGMarsBiomeTags(event) { + + global.MARS_BIOMES.forEach(biome => { + event.add('tfg:mars_biomes', biome) + }) + + event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_dunes') + event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_deep_desert') + + event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_dunes') + event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_deep_desert') + event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_mountains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_plains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_hills') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_plains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_hills') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_plains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_hills') + event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_dune_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/amber_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/rusticus_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/sangnum_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_river') + + event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_mountains') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_river') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/amber_hills') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/rusticus_hills') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/sangnum_hills') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_plains') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_edge') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_plains') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_edge') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_plains') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_edge') + event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_dunes') + event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_deep_desert') +} + +function registerTFGMarsEntityTypeTags(event) { + + const ENTITIES = [ + 'tfg:sniffer', + 'tfg:glacian_ram', + 'tfg:wraptor', + 'species:goober', + 'species:cruncher', + 'species:springling', + 'species:quake', + 'species:stackatick', + 'endermanoverhaul:crimson_forest_enderman', + 'endermanoverhaul:warped_forest_enderman', + 'endermanoverhaul:badlands_enderman', + 'endermanoverhaul:cave_enderman', + 'wan_ancient_beasts:walker', + 'wan_ancient_beasts:eater', + 'wan_ancient_beasts:crusher', + 'wan_ancient_beasts:soarer', + 'wan_ancient_beasts:glider', + 'wan_ancient_beasts:toxlacanth', + 'wan_ancient_beasts:surfer', + 'tfg:surfer' + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_cold', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) + + event.add('tfc:deals_piercing_damage', 'tfg:wraptor') + event.add('tfc:deals_piercing_damage', 'species:cruncher') + 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', '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_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') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:cave_enderman') + + // this guy has a bounce animation that looks silly in low grav + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:crusher') + // 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') + // 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:toxlacanth') + event.add('tfg:ignores_gravity', 'endermanoverhaul:coral_enderman') +} + +function registerTFGMarsPlacedFeatures(event) { + // Underground decoration + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/loose_rocks') + event.add('tfg:mars_underground_decoration', 'tfc:cave_spike') + event.add('tfg:mars_underground_decoration', 'tfc:cave_column') + event.add('tfg:mars_underground_decoration', 'tfc:large_cave_spike') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagmite') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagtite') + + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/calcite') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/mega_calcite') + + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ice_cave') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle_extra') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ochrum_blob') + + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/amethyst") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/barite") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/calcite") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/gypsum") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/opal") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/pyrite") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/quartzite") + + // Vegetation + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia") + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia_common") + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush") + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush_common") + event.add("tfg:mars_global_small_plants", "tfg:mars/surface/charnia") + event.add("tfg:mars_global_small_plants", "tfg:mars/surface/flamaea") + event.add("tfg:mars_global_small_plants", "tfg:mars/surface/lacugrove") + + event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_global_small_plants") + event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_global_small_plants") + event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_global_small_plants") + + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/amber_root") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/blossom_berry") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf_small") + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/bulb_moss") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/aurant_polypore") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/amber_grass") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/flammalix") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lutebus") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/orango") + + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/amber_root") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/blossom_berry") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/shadow_berry") + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lucernia_outer_leaves") + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/bulb_moss") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aurant_polypore") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/purple_polypore") + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aeridium") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/flammalix") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lamellarium") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lutebus") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/orango") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/ruscus") + + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/blossom_berry") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/shadow_berry") + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/small_amaranita_mushroom") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/large_amaranita_mushroom") + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/purple_polypore") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/cave_grass") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/clawfern") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/globulagus") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/lamellarium") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/ruscus") + + // Top layer + event.add("tfg:mars_top_layer_modification", "tfg:glow_lichen") + event.add("tfg:mars_top_layer_modification", "tfc:surface_loose_rocks") + event.add("tfg:mars_top_layer_modification", "tfg:mars/terrain/mars_poles") +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/data.moon.js b/kubejs/server_scripts/tfg/moon/data.moon.js new file mode 100644 index 000000000..7e72dfc32 --- /dev/null +++ b/kubejs/server_scripts/tfg/moon/data.moon.js @@ -0,0 +1,38 @@ +"use strict"; + +function registerTFGMoonBedrockFluidVeins(event) { + + event.add('tfg:moon_helium_3', vein => { + vein.dimensions('ad_astra:moon') + vein.fluid(() => Fluid.of('gtceu:helium_3').fluid) + vein.weight(100) + vein.minimumYield(200) + vein.maximumYield(400) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(200) + }) + + event.add('tfg:moon_helium', vein => { + vein.dimensions('ad_astra:moon') + vein.fluid(() => Fluid.of('gtceu:helium').fluid) + vein.weight(10) + vein.minimumYield(20) + vein.maximumYield(50) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(20) + }) + + event.add('tfg:moon_argon', vein => { + vein.dimensions('ad_astra:moon') + vein.fluid(() => Fluid.of('gtceu:argon').fluid) + vein.weight(5) + vein.minimumYield(10) + vein.maximumYield(30) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(10) + }) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/recipes.plants.js b/kubejs/server_scripts/tfg/moon/recipes.plants.js index daaf47235..fd5bfdb5b 100644 --- a/kubejs/server_scripts/tfg/moon/recipes.plants.js +++ b/kubejs/server_scripts/tfg/moon/recipes.plants.js @@ -87,4 +87,30 @@ function registerTFGMoonPlantRecipes(event) { .outputFluids(Fluid.of('gtceu:biomass', 20)) .duration(50) .EUt(3) + + Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { + const itemId = element.id; + const recipeId = `betterend:greenhouse_${itemId.replace(':', '_')}`; + + event.recipes.gtceu.greenhouse(recipeId) + .notConsumable(element.id) + .itemOutputs(`8x ${element.id}`) + .chancedOutput(element.id, 750, 0) + .chancedOutput(element.id, 500, 0) + .duration(36000) // 30 mins + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.greenhouse(`${recipeId}_helium`) + .notConsumable(element.id) + .inputFluids(Fluid.of('gtceu:helium_3', 500)) + .itemOutputs(`8x ${element.id}`) + .chancedOutput(element.id, 4000, 0) + .chancedOutput(element.id, 3000, 0) + .duration(12000) // 30 mins + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + }); } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/tags.moon.js b/kubejs/server_scripts/tfg/moon/tags.moon.js new file mode 100644 index 000000000..33b50a4d3 --- /dev/null +++ b/kubejs/server_scripts/tfg/moon/tags.moon.js @@ -0,0 +1,117 @@ +"use strict"; + +function registerTFGMoonItemTags(event) { + + event.add('tfg:moon_plants', 'tfg:lunar_roots') + event.add('tfg:moon_plants', 'tfg:lunar_sprouts') + + event.add('tfc:compost_greens_high', 'minecraft:pearlescent_froglight') + event.add('tfc:compost_greens_high', 'minecraft:verdant_froglight') + event.add('tfc:compost_greens_high', 'minecraft:ochre_froglight') +} + +function registerTFGMoonBlockTags(event) { + + event.add('minecraft:rabbits_spawnable_on', '#ad_astra:moon_stone_replaceables') + event.add('species:limpet_spawnable_on', '#ad_astra:moon_stone_replaceables') + + event.add('ad_astra:moon_stone_replaceables', 'ad_astra:moon_sand') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_stone') + event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/white') + event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/black') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/diorite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/gabbro') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/basalt') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/rhyolite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/andesite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/dacite') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon_deepslate') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_glacio') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') + event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_stone') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_glacio_stone') + event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_cobblestone') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/basalt') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/gabbro') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/diorite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/rhyolite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/rhyolite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/andesite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/dacite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/dacite') + + event.add('tfc:can_carve', '#ad_astra:moon_stone_replaceables') +} + +function registerTFGMoonBiomeTags(event) { + global.MOON_BIOMES.forEach(biome => { + event.add('tfg:moon_biomes', biome) + event.add('tfg:has_structure/meteors', biome) + event.add('tfg:has_structure/cheese_ores', biome) + event.add('tfg:has_structure/moonbase', biome) + event.add('tfg:has_structure/moon_rabbit_houses', biome) + event.add('species:limpet_spawns', biome) + }) +} + +function registerTFGMoonEntityTypeTags(event) { + const ENTITIES = [ + 'tfc:rat', + 'tfg:moon_rabbit', + 'minecraft:enderman', + 'minecraft:shulker', + 'minecraft:shulker_bullet', + 'minecraft:skeleton', + 'minecraft:stray', + 'species:limpet', + 'species:birt', + 'endermanoverhaul:windswept_hills_enderman', + 'endermanoverhaul:soulsand_valley_enderman', + 'endermanoverhaul:spirit', + 'endermanoverhaul:end_enderman', + 'endermanoverhaul:end_islands_enderman', + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_cold', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) + + event.add('tfc:deals_piercing_damage', 'minecraft:stray') + event.add('tfc:deals_slashing_damage', 'minecraft:enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:windswept_hills_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:soulsand_valley_enderman') + event.add('tfc:deals_piercing_damage', 'endermanoverhaul:end_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:end_islands_enderman') + event.add('tfc:deals_crushing_damage', 'ad_astra:star_crawler') + event.add('tfc:deals_crushing_damage', 'species:birt') + + event.add('tfg:ignores_gravity', 'minecraft:shulker_bullet') + event.add('tfg:ignores_gravity', 'endermanoverhaul:spirit') + event.add('tfg:ignores_gravity', 'species:birt') + event.add('tfg:ignores_gravity', 'ad_astra:star_crawler') +} + +function registerTFGMoonPlacedFeatures(event) { + event.add('tfg:moon_craters', 'tfg:moon/crater/extra_large') + event.add('tfg:moon_craters', 'tfg:moon/crater/large') + event.add('tfg:moon_craters', 'tfg:moon/crater/medium') + event.add('tfg:moon_craters', 'tfg:moon/crater/small') + + global.MOON_STONE_TYPES.forEach(stone => { + // only in the sparse ones + event.add('tfg:moon_large_rock_features', `tfg:moon/surface/delta/${stone}`) + // in all moon biomes + event.add('tfg:moon_small_rock_features', `tfg:moon/surface/pile/${stone}`) + event.add('tfg:moon_small_rock_features', `tfg:moon/surface/loose/${stone}`) + }) + + event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_moon_sand') + event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_white_sand') + event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_black_sand') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index d1c642af9..2df6ade7c 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -1,6 +1,6 @@ // priority: 0 -function registerTFGItemStoneTags(event) { +function registerTFGStoneItemTags(event) { event.add('tfc:fluxstone', 'tfg:loose/dripstone') diff --git a/kubejs/server_scripts/tfg/primitive/events.fishing_nets.js b/kubejs/server_scripts/tfg/primitive/fishing_nets/events.fishing_nets.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/events.fishing_nets.js rename to kubejs/server_scripts/tfg/primitive/fishing_nets/events.fishing_nets.js diff --git a/kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js b/kubejs/server_scripts/tfg/primitive/fishing_nets/recipes.fishing_nets.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js rename to kubejs/server_scripts/tfg/primitive/fishing_nets/recipes.fishing_nets.js diff --git a/kubejs/server_scripts/tfg/primitive/events.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/events.medicine.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/events.medicine.js rename to kubejs/server_scripts/tfg/primitive/medicine/events.medicine.js diff --git a/kubejs/server_scripts/tfg/primitive/recipes.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/recipes.medicine.js rename to kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js diff --git a/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js new file mode 100644 index 000000000..edfe6bceb --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js @@ -0,0 +1,67 @@ +"use strict"; + +function registerTFGMedicineItemTags(event) { + + event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') + event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') + event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite') + event.add('tfg:antipoison_ingredients', 'gtceu:mica_dust') + event.add('tfg:antipoison_ingredients', 'gtceu:fullers_earth_dust') + + event.add('tfg:poison_ingredients', 'tfc:plant/butterfly_milkweed') + event.add('tfg:poison_ingredients', 'tfc:plant/grape_hyacinth') + event.add('tfg:poison_ingredients', 'tfc:plant/lily_of_the_valley') + event.add('tfg:poison_ingredients', 'tfc:plant/pulsatilla') + event.add('tfg:poison_ingredients', 'firmalife:food/nightshade_berry') + event.add('tfg:poison_ingredients', 'minecraft:red_mushroom') + + event.add('tfg:regeneration_ingredients', 'tfc:plant/lilac') + event.add('tfg:regeneration_ingredients', 'tfc:plant/field_horsetail') + event.add('tfg:regeneration_ingredients', 'tfc:plant/licorice_fern') + event.add('tfg:regeneration_ingredients', 'tfc:plant/sacred_datura') + + event.add('tfg:speed_ingredients', 'tfc:plant/labrador_tea') + event.add('tfg:speed_ingredients', 'firmalife:raw_honey') + + event.add('tfg:slowness_ingredients', 'tfc:plant/marigold') + event.add('tfg:slowness_ingredients', 'tfc:plant/nasturtium') + event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_red') + event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_white') + event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_yellow') + + event.add('tfg:weakness_ingredients', 'tfc:plant/laminaria') + event.add('tfg:weakness_ingredients', 'tfc:plant/sea_palm') + event.add('tfg:weakness_ingredients', 'tfc:plant/sea_lavender') + event.add('tfg:weakness_ingredients', 'tfc:plant/canna') + event.add('tfg:weakness_ingredients', 'tfc:plant/water_canna') + + event.add('tfg:haste_ingredients', '#tfg:sugars') + + event.add('tfg:water_breathing_ingredients', 'tfc:powder/saltpeter') + event.add('tfg:water_breathing_ingredients', 'tfc:powder/charcoal') + event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product') + + event.add('tfg:night_vision_ingredients', 'tfc:food/carrot') + event.add('tfg:night_vision_ingredients', 'beneath:gleamflower') + event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product') + + event.add('tfg:invisibility_ingredients', 'tfc:plant/calendula') + event.add('tfg:absorption_ingredients', 'beneath:burpflower') + + event.add('tfg:fire_resistance_ingredients', 'tfc:plant/cattail') + event.add('tfg:fire_resistance_ingredients', 'tfc:plant/meads_milkweed') + event.add('tfg:fire_resistance_ingredients', 'firmalife:plant/bay_laurel') + event.add('tfg:fire_resistance_ingredients', 'beneath:ghost_pepper') + + event.add('tfg:resistance_ingredients', 'tfc:plant/hibiscus') + event.add('tfg:resistance_ingredients', 'gtceu:calcium_dust') + + event.add('tfg:instant_health_ingredients', 'tfc:plant/foxglove') + event.add('tfg:instant_health_ingredients', 'tfc:plant/artists_conk') + + event.add('tfg:absorption_ingredients', 'tfc:plant/poppy') + event.add('tfg:invisibility_ingredients', 'tfc:plant/snapdragon_pink') + + event.add('tfg:luck_ingredients', 'tfc:plant/goldenrod') + event.add('tfg:luck_ingredients', 'tfc:plant/heather') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js index f607c75ea..5920707dd 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js @@ -2,6 +2,59 @@ function registerTFGRubberRecipes(event) { + // Tapping + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/rubber_fig")) + .resultFluid(Fluid.of("tfg:latex", 2)) + .minTemp(4) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/rubber_fig") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_rubber_fig")) + .resultFluid(Fluid.of("tfg:latex", 2)) + .minTemp(4) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/ancient_rubber_fig") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/hevea")) + .resultFluid(Fluid.of("tfg:latex", 3)) + .minTemp(8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/hevea") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_hevea")) + .resultFluid(Fluid.of("tfg:latex", 3)) + .minTemp(8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/ancient_hevea") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/kapok")) + .resultFluid(Fluid.of("tfg:latex", 4)) + .minTemp(12) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/kapok_latex") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_kapok")) + .resultFluid(Fluid.of("tfg:latex", 4)) + .minTemp(12) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_kapok_latex") + + // Latex + event.recipes.gtceu.extractor('latex_from_log') + .itemInputs('#tfg:latex_logs') + .outputFluids(Fluid.of('tfg:latex', 250)) + .duration(600) + .EUt(20) + + event.recipes.gtceu.extractor('latex_from_sapling') + .itemInputs('#tfg:rubber_saplings') + .outputFluids(Fluid.of('tfg:latex', 100)) + .duration(750) + .EUt(20) + + event.recipes.gtceu.extractor('latex_from_leaves') + .itemInputs('#tfg:rubber_leaves') + .outputFluids(Fluid.of('tfg:latex', 50)) + .duration(750) + .EUt(20) + // Sticky resin event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000), 1200, 300) .itemOutput('gtceu:sticky_resin') @@ -80,54 +133,13 @@ function registerTFGRubberRecipes(event) { .duration(200) .EUt(20) - - // #region Primitive protection - - event.recipes.tfc.barrel_sealed(2000) - .outputItem('tfg:prepared_leather_gloves') - .inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000)) - .id('tfg:sealed_barrel/prepared_leather_gloves') - - event.recipes.firmalife.vat() - .outputItem('tfg:latex_soaked_gloves') - .inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000)) - .length(300) - .temperature(200) - .id('tfg:vat/latex_soaked_gloves') - - event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves') - .id('tfg:oven/rubber_gloves') - - event.remove({ id: 'gtceu:shaped/rubber_gloves' }) - - event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter') - .itemInputs('2x #forge:plates/rubber') - .notConsumable('create:brass_hand') - .itemOutputs('gtceu:rubber_gloves') - .duration(200) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.INGOT_MOLDING) - - - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('gtceu:face_mask', [ - 'ACA', - 'ABA', - ' D ' - ], { - A: '#forge:string', - B: '#forge:cloth', - C: 'minecraft:paper', - D: '#tfc:sewing_needles' - }) - ).id('gtceu:shaped/face_mask') - - event.recipes.gtceu.assembler('assemble_face_mask') - .itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper') - .itemOutputs('gtceu:face_mask') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - .circuit(7) - - // #endregion + event.recipes.gtceu.centrifuge('rubber_log_separation') + .itemInputs('#tfg:latex_logs') + .chancedOutput('gtceu:raw_rubber_dust', 5000, 0) + .chancedOutput('gtceu:plant_ball', 3750, 0) + .chancedOutput('gtceu:sticky_resin', 2500, 0) + .chancedOutput('gtceu:wood_dust', 2500, 0) + .outputFluids(Fluid.of('gtceu:methane', 60)) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wax.js b/kubejs/server_scripts/tfg/primitive/recipes.wax.js index 3ebf064b4..e3376285f 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.wax.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.wax.js @@ -14,6 +14,80 @@ function registerTFGWaxRecipes(event) { .duration(500) .EUt(GTValues.VA[GTValues.LV]) + // Tapping + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/aspen")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-10) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/aspen_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_aspen")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-10) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_aspen_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/spruce")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) + .minTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/spruce_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_spruce")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) + .minTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_spruce_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/white_cedar")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/white_cedar_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_white_cedar")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_white_cedar_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/douglas_fir')) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/douglas_fir_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_douglas_fir")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_douglas_fir_resin") + + // Conifer Pitch + event.recipes.gtceu.extractor('conifer_from_log') + .itemInputs('#tfg:rosin_logs') + .outputFluids(Fluid.of('tfg:conifer_pitch', 250)) + .duration(600) + .EUt(20) + + event.recipes.gtceu.extractor('conifer_from_sapling') + .itemInputs('#tfg:rosin_saplings') + .outputFluids(Fluid.of('tfg:conifer_pitch', 100)) + .duration(750) + .EUt(20) + + event.recipes.gtceu.extractor('conifer_from_leaves') + .itemInputs('#tfg:rosin_leaves') + .outputFluids(Fluid.of('tfg:conifer_pitch', 50)) + .duration(750) + .EUt(20) + + event.recipes.gtceu.centrifuge('conifer_log_separation') + .itemInputs('#tfg:rosin_logs') + .chancedOutput('tfg:conifer_rosin', 7500, 0) + .chancedOutput('gtceu:plant_ball', 3750, 0) + .chancedOutput('gtceu:sticky_resin', 2500, 0) + .chancedOutput('gtceu:wood_dust', 2500, 0) + .outputFluids(Fluid.of('gtceu:methane', 60)) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) + // Rosin event.recipes.firmalife.vat() .inputs('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000)) diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js new file mode 100644 index 000000000..02915188c --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -0,0 +1,88 @@ +"use strict"; + +function registerTFGPrimitiveItemTags(event) { + + //Decorative Vases + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.add('c:hidden_from_recipe_viewers', `tfg:decorative_vase/generated/${color}`) + event.add('tfg:decorative_vases/generated', `tfg:decorative_vase/generated/${color}`) + event.add('tfg:decorative_vases', `tfg:decorative_vase/${color}`) + event.add('tfg:decorative_vases/unfired', `tfg:decorative_vase/unfired/${color}`) + }) + event.add('tfg:decorative_vases', 'tfg:decorative_vase') + event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired') + + //Knapping + event.add('tfc:any_knapping', 'minecraft:flint') + + // Tools + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/wood') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/brass') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/rose_gold') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/sterling_silver') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/invar') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/tin_alloy') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/cupronickel') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/magnalium') + + event.add('forge:tools/trowels', 'tfg:trowel') + + event.add('tfg:harvester', 'tfg:harvest_basket') + event.add('tfg:harvester', 'tfg:aluminium_harvest_basket') + + event.add('tfg:tools/ore_prospectors/copper', 'tfc:metal/propick/copper') + event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bronze') + event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bismuth_bronze') + event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/black_bronze') + event.add('tfg:tools/ore_prospectors/wrought_iron', 'tfc:metal/propick/wrought_iron') + event.add('tfg:tools/ore_prospectors/steel', 'tfc:metal/propick/steel') + event.add('tfg:tools/ore_prospectors/black_steel', 'tfc:metal/propick/black_steel') + event.add('tfg:tools/ore_prospectors/blue_steel', 'tfc:metal/propick/blue_steel') + event.add('tfg:tools/ore_prospectors/red_steel', 'tfc:metal/propick/red_steel') + + // Paper from wood + event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') + event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip') + //Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok. + event.add('tfg:wood_dusts', 'gtceu:hardwood_dust') + event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust') + event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust') + event.add('tfg:wood_dusts', 'gtceu:wood_dust') + event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust') + event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust') + + // Waxe + event.add('forge:wax', 'gtceu:wax_dust'); + event.add('forge:wax', 'tfg:paraffin_wax') + event.add('forge:wax', 'firmalife:beeswax') + event.add('forge:wax', 'tfg:conifer_rosin') + event.add('forge:wax', 'tfg:crimsene_gem') + event.add('forge:wax', 'tfg:warpane_gem') + + // Cloth & String + event.add('tfg:lightweight_cloth', 'tfc:silk_cloth') + event.add('tfg:lightweight_cloth', 'tfg:phantom_silk') + event.add('tfg:lightweight_cloth', 'tfg:polycaprolactam_fabric') + event.add('forge:cloth', 'tfg:phantom_silk') + event.add('forge:cloth', 'tfg:polycaprolactam_fabric') + event.add('tfc:high_quality_cloth', 'tfg:phantom_silk') + event.add('tfc:high_quality_cloth', 'tfg:polycaprolactam_fabric') + event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk') + event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') + event.add('forge:string', 'tfg:phantom_thread') + event.add('forge:string', 'tfg:polycaprolactam_string') + event.add('forge:string', 'firmalife:pineapple_yarn') +} + +function registerTFGPrimitiveBlockTags(event) { + event.add('minecraft:mineable/shovel', 'tfg:ash_pile') + + event.add('tfg:harvester_harvestable', '#tfc:fruit_tree_leaves') + event.add('tfg:harvester_harvestable', '#tfc:berry_bushes') + event.add('tfg:harvester_harvestable', '#tfc:any_spreading_bush') + event.add('tfg:harvester_harvestable', '#firmalife:grape_strings') + event.add('tfg:harvester_harvestable', '#firmalife:grape_trellis_posts_plant') + //added for QOL but doesnt harvest anything + event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_red') + event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_white') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index bbe860782..e078a55b3 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -43,6 +43,7 @@ const registerTFGRecipes = (event) => { registerTFGKnappingRecipes(event) registerTFGLeatherRecipes(event) registerTFGClayRecipes(event) + registerTFGEquipmentRecipes(event) registerTFGCasingRecipes(event) registerTFGEnderPearlRecipes(event) diff --git a/kubejs/server_scripts/tfg/space_general/tags.railgun.js b/kubejs/server_scripts/tfg/space_general/tags.railgun.js new file mode 100644 index 000000000..0ad284fb5 --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/tags.railgun.js @@ -0,0 +1,82 @@ +"use strict"; + +function registerTFGRailgunItemTags(event) { + + event.add('tfg:cannot_launch_in_railgun', '#tfc:vessels') + event.add('tfg:cannot_launch_in_railgun', '#tfc:large_vessels') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_1k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_4k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_16k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_64k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_256k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_1k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_4k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_16k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_64k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_256k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_2') + event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_16') + event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_128') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_1m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_4m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_16m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_64m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_1m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_4m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_16m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_64m') + event.add('tfg:cannot_launch_in_railgun', 'create:minecart_contraption') + event.add('tfg:cannot_launch_in_railgun', 'tfg:railgun_ammo_shell') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x10') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x8') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x12') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x12') + event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:composite_package') + event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:copper_jar_package_8x8') + event.add('tfg:cannot_launch_in_railgun', 'sns:ore_sack') + event.add('tfg:cannot_launch_in_railgun', 'sns:leather_sack') + event.add('tfg:cannot_launch_in_railgun', 'sns:burlap_sack') + event.add('tfg:cannot_launch_in_railgun', 'sns:seed_pouch') + event.add('tfg:cannot_launch_in_railgun', 'sns:straw_basket') + event.add('tfg:cannot_launch_in_railgun', 'sns:frame_pack') + event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:lunchbox') + event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:cooling_lunchbox') + event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:electric_lunchbox') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:copper_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:iron_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:gold_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:diamond_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:netherite_backpack') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:wood_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:bronze_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:black_bronze_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:bismuth_bronze_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:steel_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:aluminium_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:stainless_steel_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:titanium_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:tungsten_steel_crate') + event.add('tfg:cannot_launch_in_railgun', '#create:toolboxes') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_tank') + 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') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/tags.rockets.js b/kubejs/server_scripts/tfg/space_general/tags.rockets.js new file mode 100644 index 000000000..fd6a8ef65 --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/tags.rockets.js @@ -0,0 +1,28 @@ +"use strict"; + +function registerTFGRocketItemTags(event) { + + // Insulation Tier 1 + event.add('forge:insulation_t1', 'gtceu:borosilicate_glass_dust') + event.add('forge:insulation_t1', 'gtceu:vitrified_asbestos_dust') + + //Insulation Tier 2 + event.add('forge:insulation_t2/sheet', 'tfg:aes_insulation_sheet') + event.add('forge:insulation_t2/roll', 'tfg:aes_insulation_roll') + + //Insulation Tier3 + event.add('forge:insulation_t3/foam', 'tfg:aes_polyurethane') + event.add('forge:insulation_t3/sheet', 'tfg:mli_shielding') + event.add('forge:insulation_t3/cryo', 'tfg:silica_aerogel') + + event.add('forge:aerogels', 'tfg:silica_aerogel') + + //Rocket Engines + event.add('ad_astra:rocket_engine', 'ad_astra:steel_engine') + event.add('ad_astra:rocket_engine', 'ad_astra:desh_engine') + event.add('ad_astra:rocket_engine', 'ad_astra:ostrum_engine') + + //Rocket Tank + event.add('ad_astra:rocket_tank', 'ad_astra:ostrum_tank') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.interaction.js b/kubejs/server_scripts/tfg/tags.interaction.js index 99be4b76f..ad0c2bea0 100644 --- a/kubejs/server_scripts/tfg/tags.interaction.js +++ b/kubejs/server_scripts/tfg/tags.interaction.js @@ -1,8 +1,8 @@ // priority: 0 "use strict"; -function registerBlockInteractionTags(event) { - +function registerBlockInteractionItemTags(event) { + /** * @typedef {Object} BrickVariant * @property {string} brick_type - The name of the brick variant. @@ -23,11 +23,11 @@ function registerBlockInteractionTags(event) { * @property {string|null} smooth_slab - Smooth brick slab block ID. * @property {string|null} smooth_wall - Smooth brick wall block ID. * @property {string|null} chiseled_brick - Chiseled brick block ID. - */ - - for (const b of global.BRICK_INDEX) { + */ + + for (const b of global.BRICK_INDEX) { if (b.brick !== null) { event.add('tfg:interaction/brick', b.brick) } - if (b.brick_stairs !== null) {event.add('tfg:interaction/brick_stairs', b.brick_stairs) } + if (b.brick_stairs !== null) { event.add('tfg:interaction/brick_stairs', b.brick_stairs) } if (b.brick_slab !== null) { event.add('tfg:interaction/brick_slab', b.brick_slab) } if (b.brick_wall !== null) { event.add('tfg:interaction/brick_wall', b.brick_wall) } @@ -42,27 +42,22 @@ function registerBlockInteractionTags(event) { if (b.mossy_wall !== null) { event.add('tfg:interaction/mossy_brick_wall', b.mossy_wall) } if (b.smooth_brick !== null) { event.add('tfg:interaction/smooth_brick', b.smooth_brick) } - //event.add('tfg:interaction/smooth_bricks', b.smooth_stairs) - //event.add('tfg:interaction/smooth_bricks', b.smooth_slab) - //event.add('tfg:interaction/smooth_bricks', b.smooth_wall) - + //event.add('tfg:interaction/smooth_bricks', b.smooth_stairs) + //event.add('tfg:interaction/smooth_bricks', b.smooth_slab) + //event.add('tfg:interaction/smooth_bricks', b.smooth_wall) + } - } - - - for (const c of global.COBBLE_INDEX) { - - event.add('tfg:interaction/cobble', c.block) - event.add('tfg:interaction/cobble_stairs', c.stairs) - event.add('tfg:interaction/cobble_slab', c.slab) - event.add('tfg:interaction/cobble_wall', c.wall) - event.add('tfg:interaction/mossy_cobble', c.mossy_block) - event.add('tfg:interaction/mossy_cobble_stairs', c.mossy_stairs) - event.add('tfg:interaction/mossy_cobble_slab', c.mossy_slab) - event.add('tfg:interaction/mossy_cobble_wall', c.mossy_wall) + for (const c of global.COBBLE_INDEX) { - - } - + event.add('tfg:interaction/cobble', c.block) + event.add('tfg:interaction/cobble_stairs', c.stairs) + event.add('tfg:interaction/cobble_slab', c.slab) + event.add('tfg:interaction/cobble_wall', c.wall) + + event.add('tfg:interaction/mossy_cobble', c.mossy_block) + event.add('tfg:interaction/mossy_cobble_stairs', c.mossy_stairs) + event.add('tfg:interaction/mossy_cobble_slab', c.mossy_slab) + event.add('tfg:interaction/mossy_cobble_wall', c.mossy_wall) + } } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 785160a42..8735c6b48 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -2,66 +2,21 @@ const registerTFGItemTags = (event) => { - registerTFGTrimTags(event) - registerFacadeWhitelistTags(event) - registerBlockInteractionTags(event) - registerTFGItemStoneTags(event) - - //crop stuff - event.add('tfc:seeds', 'tfg:sunflower_seeds') - event.add('tfc:seeds', 'tfg:rapeseed_seeds') - event.add('tfc:seeds', 'tfg:flax_seeds') - event.add('tfc:compost_greens_high', 'tfg:rapeseed_product') - event.add('tfc:compost_greens_high', 'tfg:sunflower_product') - event.add('tfc:compost_greens_high', 'tfg:flax_product') - event.add('tfc:compost_greens_high', 'tfg:lunar_chorus_flower') - event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product') - event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product') - - event.add("tfg:sugars", "minecraft:sugar"); - event.add("tfg:sugars", "afc:birch_sugar"); - event.add("tfg:sugars", "afc:maple_sugar"); - - // Actually "layers", can't rename them without screwing with peoples' worlds - event.add('c:hidden_from_recipe_viewers', 'tfg:ash_pile') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/black_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/brown_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/green_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/pink_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/red_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/white_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/yellow_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/moon_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand') - - // Actually "piles", the kind that can hide plants inside them - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_snow_covering') - - // Actually "piles", the kind that can hide plants inside them - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_snow_covering') - - event.add('c:hidden_from_recipe_viewers', 'tfg:mars_ice') - - //Decorative Vases - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.add('c:hidden_from_recipe_viewers', `tfg:decorative_vase/generated/${color}`) - event.add('tfg:decorative_vases/generated', `tfg:decorative_vase/generated/${color}`) - event.add('tfg:decorative_vases', `tfg:decorative_vase/${color}`) - event.add('tfg:decorative_vases/unfired', `tfg:decorative_vase/unfired/${color}`) - }) - event.add('tfg:decorative_vases', 'tfg:decorative_vase') - event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired') - - //Knapping - event.add('tfc:any_knapping', 'minecraft:flint') + registerTFGTrimItemTags(event) + registerTFGFacadeWhitelistItemTags(event) + registerBlockInteractionItemTags(event) + registerTFGStoneItemTags(event) + registerTFGFoodItemTags(event); + registerTFGMedicineItemTags(event); + registerTFGPrimitiveItemTags(event) + registerTFGEquipmentItemTags(event); + registerTFGRailgunItemTags(event) + registerTFGRocketItemTags(event) + registerTFGGeneralWorldgenItemTags(event); + registerTFGBeneathItemTags(event) + registerTFGMoonItemTags(event) + registerTFGMarsItemTags(event) + registerTFGVenusItemTags(event) //Circuit Stuff event.add('tfg:components/uv_leds', 'tfg:uv_led') @@ -75,134 +30,13 @@ const registerTFGItemTags = (event) => { event.add('tfg:platinum_ore_group', 'gtceu:purified_cooperite_ore') event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcocite_ore') - //#region Tools & Armor - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/wood') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/brass') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/rose_gold') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/sterling_silver') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/invar') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/tin_alloy') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/cupronickel') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/magnalium') - - event.add('minecraft:piglin_loved', 'tfg:piglin_disguise') - - event.add('forge:tools/trowels', 'tfg:trowel') - - event.add('tfg:harvester', 'tfg:harvest_basket') - event.add('tfg:harvester', 'tfg:aluminium_harvest_basket') - - event.add('tfg:tools/ore_prospectors/copper', 'tfc:metal/propick/copper') - event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bronze') - event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bismuth_bronze') - event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/black_bronze') - event.add('tfg:tools/ore_prospectors/wrought_iron', 'tfc:metal/propick/wrought_iron') - event.add('tfg:tools/ore_prospectors/steel', 'tfc:metal/propick/steel') - event.add('tfg:tools/ore_prospectors/black_steel', 'tfc:metal/propick/black_steel') - event.add('tfg:tools/ore_prospectors/blue_steel', 'tfc:metal/propick/blue_steel') - event.add('tfg:tools/ore_prospectors/red_steel', 'tfc:metal/propick/red_steel') - + //#region Tools event.add('tfg:empty_dna_syringes', 'tfg:empty_dna_syringe') event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe') event.add('tfc:sewing_needles', 'tfg:stainless_steel_needle') //#endregion - // #region Paper from wood - event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') - event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip') - //Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok. - event.add('tfg:wood_dusts', 'gtceu:hardwood_dust') - event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust') - event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust') - event.add('tfg:wood_dusts', 'gtceu:wood_dust') - event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust') - event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust') - - event.add('forge:wax', 'tfg:paraffin_wax') - event.add('forge:wax', 'firmalife:beeswax') - event.add('forge:wax', 'tfg:conifer_rosin') - event.add('forge:wax', 'tfg:crimsene_gem') - event.add('forge:wax', 'tfg:warpane_gem') - // #endregion - - event.add('buildinggadgets2:deny', 'tfg:spice') - - //#region Cloth & String - event.add('forge:cloth', 'tfg:phantom_silk') - event.add('forge:cloth', 'tfg:polycaprolactam_fabric') - event.add('tfc:high_quality_cloth', 'tfg:phantom_silk') - event.add('tfc:high_quality_cloth', 'tfg:polycaprolactam_fabric') - event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk') - event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') - event.add('forge:string', 'tfg:phantom_thread') - event.add('forge:string', 'tfg:polycaprolactam_string') - event.add('forge:string', 'firmalife:pineapple_yarn') - //#endregion - - // #region Medicines - event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') - event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') - event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite') - event.add('tfg:antipoison_ingredients', 'gtceu:mica_dust') - event.add('tfg:antipoison_ingredients', 'gtceu:fullers_earth_dust') - - event.add('tfg:poison_ingredients', 'tfc:plant/butterfly_milkweed') - event.add('tfg:poison_ingredients', 'tfc:plant/grape_hyacinth') - event.add('tfg:poison_ingredients', 'tfc:plant/lily_of_the_valley') - event.add('tfg:poison_ingredients', 'tfc:plant/pulsatilla') - event.add('tfg:poison_ingredients', 'firmalife:food/nightshade_berry') - event.add('tfg:poison_ingredients', 'minecraft:red_mushroom') - - event.add('tfg:regeneration_ingredients', 'tfc:plant/lilac') - event.add('tfg:regeneration_ingredients', 'tfc:plant/field_horsetail') - event.add('tfg:regeneration_ingredients', 'tfc:plant/licorice_fern') - event.add('tfg:regeneration_ingredients', 'tfc:plant/sacred_datura') - - event.add('tfg:speed_ingredients', 'tfc:plant/labrador_tea') - event.add('tfg:speed_ingredients', 'firmalife:raw_honey') - - event.add('tfg:slowness_ingredients', 'tfc:plant/marigold') - event.add('tfg:slowness_ingredients', 'tfc:plant/nasturtium') - event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_red') - event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_white') - event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_yellow') - - event.add('tfg:weakness_ingredients', 'tfc:plant/laminaria') - event.add('tfg:weakness_ingredients', 'tfc:plant/sea_palm') - event.add('tfg:weakness_ingredients', 'tfc:plant/sea_lavender') - event.add('tfg:weakness_ingredients', 'tfc:plant/canna') - event.add('tfg:weakness_ingredients', 'tfc:plant/water_canna') - - event.add('tfg:haste_ingredients', '#tfg:sugars') - - event.add('tfg:water_breathing_ingredients', 'tfc:powder/saltpeter') - event.add('tfg:water_breathing_ingredients', 'tfc:powder/charcoal') - - event.add('tfg:night_vision_ingredients', 'tfc:food/carrot') - event.add('tfg:night_vision_ingredients', 'beneath:gleamflower') - - event.add('tfg:invisibility_ingredients', 'tfc:plant/calendula') - event.add('tfg:absorption_ingredients', 'beneath:burpflower') - - event.add('tfg:fire_resistance_ingredients', 'tfc:plant/cattail') - event.add('tfg:fire_resistance_ingredients', 'tfc:plant/meads_milkweed') - event.add('tfg:fire_resistance_ingredients', 'firmalife:plant/bay_laurel') - event.add('tfg:fire_resistance_ingredients', 'beneath:ghost_pepper') - - event.add('tfg:resistance_ingredients', 'tfc:plant/hibiscus') - event.add('tfg:resistance_ingredients', 'gtceu:calcium_dust') - - event.add('tfg:instant_health_ingredients', 'tfc:plant/foxglove') - event.add('tfg:instant_health_ingredients', 'tfc:plant/artists_conk') - - event.add('tfg:absorption_ingredients', 'tfc:plant/poppy') - event.add('tfg:invisibility_ingredients', 'tfc:plant/snapdragon_pink') - - event.add('tfg:luck_ingredients', 'tfc:plant/goldenrod') - event.add('tfg:luck_ingredients', 'tfc:plant/heather') - // #endregion - // Airplane Upgrades global.AIRCRAFT_UPGRADES.forEach(value => { event.add('immersive_aircraft:upgrades', `tfg:${value}`); @@ -234,396 +68,16 @@ const registerTFGItemTags = (event) => { event.add('forge:screws/any_bronze', '#forge:screws/bronze') event.add('forge:screws/any_bronze', '#forge:screws/bismuth_bronze') event.add('forge:screws/any_bronze', '#forge:screws/black_bronze') - - //#region Food - const RAW_MEATS = [ - 'tfg:food/raw_birt', - 'tfg:food/raw_crawlermari', - 'tfg:food/raw_limpet' - ] - RAW_MEATS.forEach(meat => { - event.add('tfc:foods', meat) - event.add('tfc:foods/meats', meat) - event.add('tfc:foods/raw_meats', meat) - }) - - const COOKED_MEATS = [ - 'tfg:food/cooked_birt', - 'tfg:food/cooked_crawlermari', - 'tfg:food/cooked_limpet' - ] - COOKED_MEATS.forEach(meat => { - event.add('tfc:foods', meat) - event.add('tfc:foods/meats', meat) - event.add('tfc:foods/cooked_meats', meat) - }) - - //These tags are used to add the tooltips and for searchability - global.COOLING_FOODS.forEach(food => { event.add('tfg:cooling_foods', food) }) - - event.add('tfg:cooling_foods_strong', 'tfg:food/ice_soup') - - global.WARMING_FOODS.forEach(food => { event.add('tfg:warming_foods', food) }) - - //jam sandwhich stuff - const usable_in_jam_sandwich = Ingredient.of('#tfc:foods/usable_in_jam_sandwich').itemIds.toArray().map(String); - const preserves = Ingredient.of('#tfc:foods/preserves').itemIds.toArray().map(String); - - const usable_in_jam_sandwich_2 = usable_in_jam_sandwich.filter(item => !preserves.includes(item)); - - usable_in_jam_sandwich_2.forEach(item => { - event.add('tfc:foods/usable_in_jam_sandwich_2', item); - }); - - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_sniffer_beef') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_wraptor') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_springling_collar') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_walker_steak') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_glider_wings') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_whole_soarer') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_crusher_meat') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_goober_meat') - 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') - - /** - * List of items that can make light stock. - * @type {string[]} - */ - const makesLightStock = [ - 'tfc:food/chicken', - 'tfc:food/cooked_chicken', - 'tfc:food/quail', - 'tfc:food/cooked_quail', - 'tfc:food/pheasant', - 'tfc:food/cooked_pheasant', - 'tfc:food/grouse', - 'tfc:food/cooked_grouse', - 'tfc:food/turkey', - 'tfc:food/cooked_turkey', - 'tfc:food/peafowl', - 'tfc:food/cooked_peafowl', - 'tfc:food/rabbit', - 'tfc:food/cooked_rabbit', - 'tfc:food/duck', - 'tfc:food/cooked_duck', - 'tfg:food/raw_birt', - 'tfg:food/cooked_birt', - 'tfg:food/raw_moon_rabbit', - 'tfg:food/cooked_moon_rabbit', - 'tfg:food/raw_wraptor', - 'tfg:food/cooked_wraptor', - 'tfg:food/raw_glider_wings', - 'tfg:food/cooked_glider_wings', - 'tfg:food/raw_whole_soarer', - 'tfg:food/cooked_whole_soarer' - ]; - makesLightStock.forEach(item => { - event.add('tfg:foods/makes_light_stock', item); - }); - - /** - * List of items that can make rich stock. - * @type {string[]} - */ - const makesRichStock = [ - 'tfc:food/beef', - 'tfc:food/cooked_beef', - 'tfc:food/mutton', - 'tfc:food/cooked_mutton', - 'tfc:food/bear', - 'tfc:food/cooked_bear', - 'tfc:food/horse_meat', - 'tfc:food/cooked_horse_meat', - 'tfc:food/venison', - 'tfc:food/cooked_venison', - 'tfc:food/chevon', - 'tfc:food/cooked_chevon', - 'tfc:food/gran_feline', - 'tfc:food/cooked_gran_feline', - 'tfc:food/turtle', - 'tfc:food/cooked_turtle', - 'tfc:food/camelidae', - 'tfc:food/cooked_camelidae', - 'tfg:food/raw_glacian_mutton', - 'tfg:food/cooked_glacian_mutton', - 'tfg:food/raw_sniffer_beef', - 'tfg:food/cooked_sniffer_beef', - 'tfg:food/raw_walker_steak', - 'tfg:food/cooked_walker_steak', - 'tfg:food/raw_crusher_meat', - 'tfg:food/cooked_crusher_meat', - 'wan_ancient_beasts:raw_ancient_meat', - 'wan_ancient_beasts:cooked_ancient_meat' - ]; - makesRichStock.forEach(item => { - event.add('tfg:foods/makes_rich_stock', item); - }); - - /** - * @type {string[]} - List of cheese curd item IDs. - */ - const cheeseCurds = [ - 'firmalife:food/yak_curd', - 'firmalife:food/goat_curd', - 'firmalife:food/milk_curd', - 'tfc_gurman:ox_curd', - 'tfc_gurman:sheep_curd', - 'tfc_gurman:alpaca_curd' - ]; - cheeseCurds.forEach(item => { - event.add('tfg:foods/cheese_curds', item); - }); - - /** - * @type {string[]} - List of item tags and item IDs that can be used on burgers. - */ - const usable_in_burgers = [ - '#tfc:foods/vegetables', - 'firmalife:food/cooked_bacon', - 'tfc:food/cooked_egg', - 'firmalife:food/tofu' - ]; - usable_in_burgers.forEach(item => { - event.add('tfg:foods/usable_in_burgers', item); - }); - - /** - * @type {string[]} - List of cheese tags and item IDs that can be used on a cheeseburger. - */ - const cheeses = [ - '#firmalife:foods/cheeses', - 'tfg:food/slice_of_cheese', - 'firmalife:food/shredded_cheese' - ]; - cheeses.forEach(item => { - event.add('tfg:foods/cheeses', item); - }); - - /** - * @type {string[]} - List of item IDs that can be used as burger meats. - */ - const burgerMeats = [ - 'tfc:food/beef', - 'tfc:food/turkey', - 'tfc:food/venison', - 'tfg:food/raw_sniffer_beef', - 'tfg:food/raw_crusher_meat', - 'wan_ancient_beasts:raw_ancient_meat' - ]; - burgerMeats.forEach(item => { - event.add('tfg:foods/burger_meats', item); - }); - - // Spice tags - global.SPICES.forEach(spice => { - event.add('tfg:foods/spices', spice.product); - event.add('tfg:foods/spice_plants', spice.plant); - }); - - /** - * @type {string[]} - List of item tags and item IDs that are allowed to be used in oatmeal. - */ - const usable_in_oatmeal = [ - '#tfc:foods/fruits', - 'tfc:food/oat_grain', - '#firmalife:foods/chocolate' - ]; - usable_in_oatmeal.forEach(item => { - event.add('tfg:foods/usable_in_oatmeal', item); - }); - - /** - * @type {string[]} - List of citrus fruit item IDs. - */ - const citrus_fruits = [ - 'tfc:food/orange', - 'tfc:jar/orange_unsealed', - 'tfg:food/freeze_dried/orange', - 'tfc:food/lemon', - 'tfc:jar/lemon_unsealed', - 'tfg:food/freeze_dried/lemon', - 'minecraft:glow_berries', - 'tfg:food/freeze_dried/glow_berries' - ]; - citrus_fruits.forEach(item => { - event.add('tfg:foods/citrus_fruits', item); - }); - - /** - * List of item tags and item IDs that are allowed to be used in a meal bag. - * @type {string[]} - */ - const usable_in_meal_bag = [ - '#tfc:foods/meats', - '#tfc:foods/grains', - '#tfc:foods/vegetables', - '#tfc:foods/fruits', - '#tfc:foods/dairy', - '#tfc:foods/preserves', - '#firmalife:foods/chocolate', - '#tfcchannelcasting:foods/chocolate_sweet', - 'firmalife:food/sugar_cookie', - 'firmalife:food/chocolate_chip_cookie', - 'firmalife:food/vanilla_ice_cream', - 'firmalife:food/strawberry_ice_cream', - 'firmalife:food/chocolate_ice_cream', - 'tfc:food/cooked_egg', - 'tfc:food/boiled_egg', - 'firmalife:food/pickled_egg', - 'tfc:food/cooked_rice', - 'firmalife:food/cooked_pasta', - 'firmalife:food/pasta_with_tomato_sauce', - 'firmalife:food/cooked_rice_noodles', - 'firmalife:food/tortilla_chips', - 'firmalife:food/shredded_cheese', - 'firmalife:food/salsa', - 'firmalife:food/tomato_sauce', - 'tfg:roasted_sunflower_seeds', - 'tfg:food/cooked_dino_nugget', - 'firmalife:food/toast', - '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' - ]; - usable_in_meal_bag.forEach(item => { - event.add('tfg:foods/usable_in_meal_bag', item); - }); - event.add('tfg:foil_packs', 'tfg:foil_pack'); - event.add('tfg:foil_packs', 'tfg:clean_foil_pack') - - event.add('tfg:solid_fats', 'firmalife:food/butter') - event.add('tfg:solid_fats', 'tfc:blubber') - //#endregion - - //#region Blacklisted from the railgun - event.add('tfg:cannot_launch_in_railgun', '#tfc:vessels') - event.add('tfg:cannot_launch_in_railgun', '#tfc:large_vessels') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_1k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_4k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_16k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_64k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_256k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_1k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_4k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_16k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_64k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_256k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_2') - event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_16') - event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_128') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_1m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_4m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_16m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_64m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_1m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_4m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_16m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_64m') - event.add('tfg:cannot_launch_in_railgun', 'create:minecart_contraption') - event.add('tfg:cannot_launch_in_railgun', 'tfg:railgun_ammo_shell') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x10') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x8') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x12') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x12') - event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:composite_package') - event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:copper_jar_package_8x8') - event.add('tfg:cannot_launch_in_railgun', 'sns:ore_sack') - event.add('tfg:cannot_launch_in_railgun', 'sns:leather_sack') - event.add('tfg:cannot_launch_in_railgun', 'sns:burlap_sack') - event.add('tfg:cannot_launch_in_railgun', 'sns:seed_pouch') - event.add('tfg:cannot_launch_in_railgun', 'sns:straw_basket') - event.add('tfg:cannot_launch_in_railgun', 'sns:frame_pack') - event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:lunchbox') - event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:cooling_lunchbox') - event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:electric_lunchbox') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:copper_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:iron_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:gold_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:diamond_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:netherite_backpack') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:wood_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:bronze_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:black_bronze_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:bismuth_bronze_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:steel_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:aluminium_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:stainless_steel_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:titanium_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:tungsten_steel_crate') - event.add('tfg:cannot_launch_in_railgun', '#create:toolboxes') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_tank') - 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') - //#endregion - - // #region Dirt - event.add('tfg:moon_plants', 'tfg:lunar_roots') - event.add('tfg:moon_plants', 'tfg:lunar_sprouts') - - event.add('minecraft:dirt', 'tfg:grass/mars_dirt') - event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') - event.add('tfc:dirt', 'tfg:grass/mars_dirt') - event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') - event.add('tfc:grass', 'tfg:grass/amber_mycelium') - event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfc:farmland', 'tfg:grass/mars_farmland') - event.add('tfc:paths', 'tfg:grass/mars_path') - event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') - // #endregion - - //Mars animal region - event.add('tfg:martian_eggs', 'tfg:sniffer_egg') - event.add('tfg:martian_eggs', 'tfg:wraptor_egg') - 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: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:mineral_rich_wool', 'tfg:wraptor_wool') - event.add('tfg:mineral_rich_wool', 'tfg:sniffer_wool') - //#endregion + // Steam Bloomery + event.add("tfg:steam_bloomery_basic_fuels", "minecraft:coal"); + event.add("tfg:steam_bloomery_basic_fuels", "minecraft:charcoal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:rich_raw_coal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:raw_coal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:poor_raw_coal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:coal_dust"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:charcoal_dust"); + //#region holder materials event.remove('forge:dusts', 'tfg:nitrocellulose') event.remove('forge:dusts/nitrocellulose', 'tfg:nitrocellulose') @@ -637,151 +91,19 @@ const registerTFGItemTags = (event) => { event.remove('forge:nuggets', 'tfg:polycaprolactam_string') event.remove('forge:nuggets/tfg_polycaprolactam', 'tfg:polycaprolactam_string') - + //#endregion } //#region Blocks const registerTFGBlockTags = (event) => { - event.add('minecraft:mineable/shovel', 'tfg:ash_pile') - //crop stuff - event.add('tfc:crops', 'tfg:rapeseed') - event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed') - - event.add('tfc:crops', 'tfg:sunflower') - event.add('tfc:mineable_with_sharp_tool', 'tfg:sunflower') - - event.add('tfc:crops', 'tfg:flax') - event.add('tfc:mineable_with_sharp_tool', 'tfg:flax') - - // Spice unmovable - - event.add('buildinggadgets2:deny', 'tfg:spice') - event.add('ae2:blacklisted/spatial', 'tfg:spice') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') - - // Spice unmovable - - event.add('buildinggadgets2:deny', 'tfg:spice') - event.add('ae2:blacklisted/spatial', 'tfg:spice') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') - - //#endregion - - // #region Nether blocks - event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') - event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate') - event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_deepslate') - event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_deepslate') - event.add('tfc:grass_plantable_on', 'tfg:rock/hardened_deepslate') - event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_deepslate') - event.add('tfc:rock/hardened', 'tfg:rock/hardened_deepslate') - - event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_blackstone') - event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_blackstone') - event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_blackstone') - event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_blackstone') - event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_blackstone') - event.add('tfc:rock/hardened', 'tfg:rock/hardened_blackstone') - - event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_dripstone') - event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone') - event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone') - // #endregion - - // #region Mars blocks - event.add('minecraft:dirt', 'tfg:grass/mars_dirt') - event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') - event.add('minecraft:dirt', 'tfg:grass/amber_mycelium') - event.add('minecraft:dirt', 'tfg:grass/rusticus_mycelium') - event.add('minecraft:dirt', 'tfg:grass/sangnum_mycelium') - event.add('minecraft:dirt', 'tfg:grass/amber_clay_mycelium') - event.add('minecraft:dirt', 'tfg:grass/rusticus_clay_mycelium') - event.add('minecraft:dirt', 'tfg:grass/sangnum_clay_mycelium') - event.add('minecraft:dirt', 'tfg:grass/amber_kaolin_mycelium') - event.add('minecraft:dirt', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('minecraft:dirt', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfc:dirt', 'tfg:grass/mars_dirt') - event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') - event.add('tfc:farmland', 'tfg:grass/mars_farmland') - event.add('tfc:paths', 'tfg:grass/mars_path') - event.add('tfc:grass', 'tfg:grass/amber_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') - event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_clay_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_farmland') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_path') - event.add('tfc:can_landslide', 'tfg:grass/mars_dirt') - event.add('tfc:can_landslide', 'tfg:grass/mars_clay_dirt') - event.add('tfc:can_landslide', 'tfg:grass/mars_farmland') - event.add('tfc:can_landslide', 'tfg:grass/mars_path') - event.add('tfc:can_landslide', 'tfg:grass/amber_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/rusticus_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/sangnum_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/amber_clay_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_dirt') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_clay_dirt') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_path') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_farmland') - event.add('minecraft:mineable/shovel', 'tfg:grass/amber_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/amber_clay_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/amber_kaolin_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_clay_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_clay_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfc:bush_plantable_on', 'tfg:grass/mars_farmland') - event.add('tfc:grass_plantable_on', 'tfg:grass/mars_farmland') - event.add('tfc:creeping_plantable_on', 'tfg:grass/mars_farmland') - - event.add('minecraft:mushroom_grow_block', '#tfc:dirt') - event.add('minecraft:mushroom_grow_block', '#tfc:grass') - event.add('minecraft:mushroom_grow_block', '#forge:sand') - event.add('minecraft:mushroom_grow_block', '#forge:gravel') - // #endregion - - event.add('tfg:harvester_harvestable', '#tfc:fruit_tree_leaves') - event.add('tfg:harvester_harvestable', '#tfc:berry_bushes') - event.add('tfg:harvester_harvestable', '#tfc:any_spreading_bush') - event.add('tfg:harvester_harvestable', '#firmalife:grape_strings') - event.add('tfg:harvester_harvestable', '#firmalife:grape_trellis_posts_plant') - //added for QOL but doesnt harvest anything - event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_red') - event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_white') + registerTFGPrimitiveBlockTags(event) + registerTFGFoodBlockTags(event) + registerTFGGeneralWorldgenBlockTags(event) + registerTFGBeneathBlockTags(event) + registerTFGMoonBlockTags(event) + registerTFGMarsBlockTags(event) + registerTFGVenusBlockTags(event) event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_large') event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_small') @@ -794,47 +116,12 @@ const registerTFGBlockTags = (event) => { event.add('forge:mineable/wrench', 'tfg:reflector') event.add('forge:mineable/wrench', 'tfg:machine_casing_aluminium_plated_steel') - event.add('tfg:decorative_plant_attachable', '#minecraft:logs') - event.add('tfg:decorative_plant_attachable', 'minecraft:mushroom_stem') - event.add('tfg:decorative_plant_attachable', 'species:alphacene_mushroom_block') - event.add('tfg:decorative_plant_attachable', 'species:alphacene_moss_block') - event.add('tfg:decorative_plant_attachable', 'ad_astra:aeronos_cap') - event.add('tfg:decorative_plant_attachable', 'ad_astra:strophar_cap') - event.add('tfg:decorative_plant_attachable', 'tfg:glacian_leaves') - event.add('tfg:decorative_plant_attachable', 'minecraft:nether_wart_block') - event.add('tfg:decorative_plant_attachable', 'minecraft:warped_wart_block') - event.add('tfg:decorative_plant_attachable', 'betterend:cave_bush') - event.add('tfg:decorative_plant_attachable', 'betterend:lucernia_leaves') - event.add('minecraft:mineable/pickaxe', 'tfg:mars_ice') event.add('minecraft:mineable/pickaxe', 'tfg:dry_ice') event.add('tfcambiental:cold_stuff', 'tfg:mars_ice') event.add('tfcambiental:cold_stuff', 'tfg:dry_ice') event.add('minecraft:ice', 'tfg:mars_ice') event.add('minecraft:ice', 'tfg:dry_ice') - - event.add('minecraft:mineable/shovel', 'tfg:ash_pile') - event.add('minecraft:mineable/shovel', 'tfg:pile/black_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/white_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/brown_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/red_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/yellow_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/pink_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/green_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/moon_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') - event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') - event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') - - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/brown') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/orange') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/white') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/yellow') } //#endregion @@ -878,91 +165,37 @@ const registerTFGFluidTags = (event) => { const registerTFGBiomeTags = (event) => { - - // #region TFG Structure Biomes - - event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains') - event.add('tfg:has_structure/plains_temperate_0', 'tfc:plateau') - event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands') - - event.add('tfg:has_structure/aqueduct', 'tfc:plains') - event.add('tfg:has_structure/aqueduct', 'tfc:highlands') - event.add('tfg:has_structure/aqueduct', 'tfc:lowlands') - event.add('tfg:has_structure/aqueduct', 'tfc:badlands') - - event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains') - event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains') - - event.add('tfg:has_structure/illages', 'tfc:plains') - event.add('tfg:has_structure/illages', 'tfc:hills') - event.add('tfg:has_structure/illages', 'tfc:rolling_hills') - event.add('tfg:has_structure/illages', 'tfc:badlands') - event.add('tfg:has_structure/illages', 'tfc:plateau') - event.add('tfg:has_structure/illages', 'tfc:old_mountains') - - event.add('tfg:never_has_structure/illages', '#tfc:is_lake') - event.add('tfg:never_has_structure/illages', '#tfc:is_ocean') - event.add('tfg:never_has_structure/illages', '#tfc:is_river') - - // #endregion - - // #region Nether biomes - event.add('tfg:nether_biomes', 'tfg:nether/lush_hollow') - event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/lush_hollow') - event.add('minecraft:spawns_cold_variant_frogs', 'tfg:nether/lush_hollow') - - event.add('tfg:nether_biomes', 'tfg:nether/decaying_caverns') - event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/decaying_caverns') - event.add('minecraft:spawns_warm_variant_frogs', 'tfg:nether/decaying_caverns') - event.add('minecraft:has_closer_water_fog', 'tfg:nether/decaying_caverns') - - event.add('tfg:nether_biomes', 'tfg:nether/basalt_deltas') - event.add('tfg:nether_biomes', 'tfg:nether/ash_forest') - event.add('tfg:nether_biomes', 'tfg:nether/lava_floes') - event.add('tfg:nether_biomes', 'tfg:nether/webbed_lair') - event.add('tfg:nether_biomes', 'tfg:nether/gneiss_caves') - event.add('tfg:nether_biomes', 'tfg:nether/diorite_caves') - event.add('tfg:nether_biomes', 'tfg:nether/gabbro_caves') - event.add('tfg:nether_biomes', 'tfg:nether/granite_caves') - event.add('tfg:nether_biomes', 'tfg:nether/schist_caves') - - event.add('minecraft:has_structure/nether_fossil', '#tfg:nether_biomes') - event.add('minecraft:has_structure/bastion_remnant', '#tfg:nether_biomes') - // #endregion + registerTFGOverworldBiomeTags(event) + registerTFGBeneathBiomeTags(event) + registerTFGMoonBiomeTags(event) + registerTFGMarsBiomeTags(event) + registerTFGVenusBiomeTags(event) } function registerTFGConfiguredFeatures(event) { registerTFGForestConfiguredFeatures(event) } -// Other space decoration is in ad_astra/tags.js const registerTFGPlacedFeatures = (event) => { - - // #region Earth biomes - - event.add('tfc:in_biome/surface_decoration/ocean', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/ocean_reef', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/deep_ocean', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/deep_ocean_trench', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/shore', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/tidal_flats', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/lowlands', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/salt_marsh', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/plains', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/lake', 'tfg:earth/rose_quartz/rose_quartz') - - // #endregion - registerTFGOreVeinFeatures(event); - // #region Nether - - event.add('tfg:nether_veins', 'beneath:vein/crackrack_pipe') - - 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') - - // #endregion - + registerTFGOverworldPlacedFeatures(event); + registerTFGBeneathPlacedFeatures(event); + registerTFGMoonPlacedFeatures(event); + registerTFGMarsPlacedFeatures(event); + registerTFGVenusPlacedFeatures(event); + registerTFGEuropaPlacedFeatures(event); } + +const registerTFGEntityTypeTags = (event) => { + + registerTFGMoonEntityTypeTags(event) + registerTFGMarsEntityTypeTags(event) + registerTFGVenusEntityTypeTags(event) + registerTFGEuropaEntityTypeTags(event) + + event.add('ad_astra:can_survive_in_space', 'railways:conductor') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:hammerhead_pet_enderman') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/data.venus.js b/kubejs/server_scripts/tfg/venus/data.venus.js new file mode 100644 index 000000000..7dc7d555d --- /dev/null +++ b/kubejs/server_scripts/tfg/venus/data.venus.js @@ -0,0 +1,26 @@ +"use strict"; + +function registerTFGVenusBedrockFluidVeins(event) { + + event.add('tfg:venus_sulfuric_acid', vein => { + vein.dimensions('ad_astra:venus') + vein.fluid(() => Fluid.of('gtceu:sulfuric_acid').fluid) + vein.weight(50) + vein.minimumYield(100) + vein.maximumYield(200) + vein.depletionAmount(1) + vein.depletionChance(50) + vein.depletedYield(20) + }) + + event.add('tfg:venus_lava', vein => { + vein.dimensions('ad_astra:venus') + vein.fluid(() => Fluid.of('minecraft:lava').fluid) + vein.weight(50) + vein.minimumYield(200) + vein.maximumYield(400) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(50) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js new file mode 100644 index 000000000..493030147 --- /dev/null +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -0,0 +1,117 @@ +"use strict"; + +function registerTFGVenusItemTags(event) { + +} + + +function registerTFGVenusBlockTags(event) { + + event.add('buildinggadgets2:deny', 'tfg:geyser_source') + event.add('ae2:blacklisted/spatial', 'tfg:geyser_source') + + event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') + event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') + + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:venus_stone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_venus_stone') + event.add('ad_astra:venus_stone_replaceables', 'gtceu:red_granite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_red_granite') + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:moon_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:dripstone_block') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_dripstone') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/granite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/granite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/diorite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gabbro') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/rhyolite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/dacite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/dacite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/slate') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/slate') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/schist') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/schist') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gneiss') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gneiss') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/phyllite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/phyllite') + 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', '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') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/green') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/brown') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/brown') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/orange') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/orange') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/white') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/white') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/yellow') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/yellow') + event.add('ad_astra:venus_stone_replaceables', 'tfg:geyser_slurry') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sulfur_fumes') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:lava') + 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', 'minecraft:tuff') + + event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') + + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/brown') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/orange') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/white') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/yellow') +} + +function registerTFGVenusBiomeTags(event) { + global.VENUS_BIOMES.forEach(biome => { + event.add('tfg:venus_biomes', biome); + event.add('ad_astra:has_acid_rain', biome); + }) +} + +function registerTFGVenusEntityTypeTags(event) { + const ENTITIES = [ + 'minecraft:enderman', + "endermanoverhaul:desert_enderman", + "endermanoverhaul:savanna_enderman", + "endermanoverhaul:nether_wastes_enderman", + "ad_astra:sulfur_creeper", + 'species:cliff_hanger', + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_heat', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) + + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:desert_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:savanna_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:nether_wastes_enderman') + event.add('tfc:deals_slashing_damage', 'species:cliff_hanger') +} + +function registerTFGVenusPlacedFeatures(event) { + + // Underground decoration + event.add("tfg:venus_underground_decoration", "tfg:glow_lichen") + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/loose_rocks') + event.add('tfg:venus_underground_decoration', 'tfc:cave_spike') + event.add('tfg:venus_underground_decoration', 'tfc:cave_column') + event.add('tfg:venus_underground_decoration', 'tfc:large_cave_spike') + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagmite') + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagtite') + + event.add("tfg:venus_top_layer_modification", "tfc:surface_loose_rocks") +} diff --git a/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js new file mode 100644 index 000000000..55ba87c95 --- /dev/null +++ b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js @@ -0,0 +1,212 @@ +"use strict"; + +function registerTFGGeneralWorldgenItemTags(event) { + + // Actually "layers", can't rename them without screwing with peoples' worlds + event.add('c:hidden_from_recipe_viewers', 'tfg:ash_pile') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/black_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/brown_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/green_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/pink_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/red_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/white_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/yellow_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/moon_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand') + + // Actually "piles", the kind that can hide plants inside them + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand_covering') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand_covering') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand_covering') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_snow_covering') + + event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') + event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') + event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') + + event.add('forge:smooth_stone_slab', 'ad_astra:polished_moon_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_mars_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_venus_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_mercury_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_glacio_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_permafrost_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_deepslate_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_brick_slab') + + event.add('tfc:rock/smooth', 'minecraft:smooth_stone') + + event.add('tfc:rock/raw', 'minecraft:deepslate') + event.add('tfc:rock/raw', 'minecraft:blackstone') + event.add('tfc:rock/raw', 'minecraft:dripstone_block') + + event.add('minecraft:wart_blocks', 'ad_astra:aeronos_cap') + event.add('minecraft:wart_blocks', 'ad_astra:strophar_cap') + event.add('minecraft:wart_blocks', 'minecraft:mushroom_stem') + event.add('tfc:compost_greens', 'minecraft:nether_wart_block') + event.add('tfc:compost_greens', 'minecraft:warped_wart_block') +} + +function registerTFGGeneralWorldgenBlockTags(event) { + + // All new stones + global.EXTRATERRESTRIAL_RAW_ROCKS.forEach(rock => { + event.add('forge:stone', rock) + event.add('tfc:breaks_when_isolated', rock) + event.add('tfc:rock/raw', rock) + event.add('minecraft:mineable/pickaxe', rock) + event.add('tfc:can_carve', rock) + // 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) + event.add('tfc:can_trigger_collapse', rock) + event.add('tfc:can_start_collapse', rock) + event.add('tfc:powderkeg_breaking_blocks', rock) + event.add('tfc:bloomery_insulation', rock) + event.add('firmalife:oven_insulation', rock) + event.add('tfc:forge_insulation', rock) + }) + + global.EXTRATERRESTRIAL_HARDENED_ROCKS.forEach(rock => { + event.add('minecraft:mineable/pickaxe', rock) + event.add('tfc:can_collapse', rock) + event.add('tfc:can_trigger_collapse', rock) + event.add('tfc:powderkeg_breaking_blocks', rock) + event.add('tfc:bloomery_insulation', rock) + event.add('firmalife:oven_insulation', rock) + event.add('tfc:forge_insulation', rock) + event.add('tfc:can_carve', rock) + }) + + event.add('tfc:can_landslide', 'minecraft:cobbled_deepslate') + event.add('forge:cobblestone/normal', 'minecraft:cobbled_deepslate') + + event.add('tfc:breaks_when_isolated', 'minecraft:deepslate') + event.add('tfc:breaks_when_isolated', 'minecraft:blackstone') + event.add('tfc:breaks_when_isolated', 'minecraft:gilded_blackstone') + event.add('tfc:breaks_when_isolated', 'minecraft:dripstone_block') + + event.add('forge:stone', 'minecraft:blackstone') + + event.add('tfg:rock_stairs', 'minecraft:cobbled_deepslate_stairs') + event.add('tfg:rock_slabs', 'minecraft:cobbled_deepslate_slab') + event.add('tfg:rock_walls', 'minecraft:cobbled_deepslate_wall') + event.add('tfg:brick_stairs', 'minecraft:deepslate_brick_stairs') + event.add('tfg:brick_slabs', 'minecraft:deepslate_brick_slab') + event.add('tfg:brick_walls', 'minecraft:deepslate_brick_wall') + event.add('tfg:brick_stairs', 'minecraft:deepslate_tile_stairs') + event.add('tfg:brick_slabs', 'minecraft:deepslate_tile_slab') + event.add('tfg:brick_walls', 'minecraft:deepslate_tile_wall') + event.add('tfg:rock_stairs', 'minecraft:blackstone_stairs') + event.add('tfg:rock_slabs', 'minecraft:blackstone_slab') + event.add('tfg:rock_walls', 'minecraft:blackstone_wall') + event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs') + event.add('tfg:brick_slabs', 'minecraft:blackstone_slab') + event.add('tfg:brick_walls', 'minecraft:blackstone_wall') + + event.add('tfc:bloomery_insulation', 'minecraft:polished_deepslate'); + event.add('tfc:forge_insulation', 'minecraft:polished_deepslate'); + event.add('tfc:bloomery_insulation', 'minecraft:polished_blackstone'); + event.add('tfc:forge_insulation', 'minecraft:polished_blackstone'); + event.add('tfc:bloomery_insulation', 'minecraft:deepslate_tiles'); + event.add('tfc:forge_insulation', 'minecraft:deepslate_tiles'); + event.add('tfc:bloomery_insulation', 'minecraft:cracked_deepslate_tiles'); + event.add('tfc:forge_insulation', 'minecraft:cracked_deepslate_tiles'); + event.add('tfc:bloomery_insulation', 'minecraft:chiseled_deepslate'); + event.add('tfc:forge_insulation', 'minecraft:chiseled_deepslate'); + event.add('tfc:bloomery_insulation', 'minecraft:chiseled_polished_blackstone'); + event.add('tfc:forge_insulation', 'minecraft:chiseled_polished_blackstone'); + event.add('tfc:bloomery_insulation', 'minecraft:gilded_blackstone'); + event.add('tfc:forge_insulation', 'minecraft:gilded_blackstone'); + event.add('tfc:bloomery_insulation', 'minecraft:basalt'); + event.add('tfc:forge_insulation', 'minecraft:basalt'); + event.add('tfc:bloomery_insulation', 'minecraft:smooth_basalt'); + event.add('tfc:forge_insulation', 'minecraft:smooth_basalt'); + + // Ores + event.add("minecraft:mineable/pickaxe", "#forge:ores"); + event.add("minecraft:needs_iron_tool", "#forge:ores"); + + event.add("tfc:can_collapse", "#forge:ores"); + event.add("tfc:can_start_collapse", "#forge:ores"); + event.add("tfc:can_trigger_collapse", "#forge:ores"); + event.add("c:hidden_from_recipe_viewers", "#forge:ores"); + + event.add("tfc:can_collapse", "#forge:raw_ore_blocks"); + event.add("tfc:can_start_collapse", "#forge:raw_ore_blocks"); + event.add("tfc:can_trigger_collapse", "#forge:raw_ore_blocks"); + event.add("c:hidden_from_recipe_viewers", "#forge:raw_ore_blocks"); + + // Let GT indicators be covered by snow + forEachMaterial((material) => { + if (material.hasProperty(PropertyKey.ORE)) { + const indicator = `gtceu:${material.getName()}_indicator`; + + event.add("tfg:dust_ore_indicators", indicator); + event.add("tfc:can_be_snow_piled", indicator); + event.add("tfc:can_be_ice_piled", indicator); + + if (material.hasProperty(PropertyKey.GEM)) { + const bud = `gtceu:${material.getName()}_bud_indicator`; + + event.add("tfg:bud_ore_indicators", bud); + event.add("tfc:can_be_snow_piled", bud); + event.add("tfc:can_be_ice_piled", bud); + + event.add("minecraft:mineable/pickaxe", bud); + } + } + }); + + // More rock tags + event.add('tfc:can_landslide', 'ad_astra:moon_sand') + event.add('tfc:can_landslide', 'ad_astra:mars_sand') + event.add('tfc:can_landslide', 'ad_astra:venus_sand') + event.add('tfc:can_landslide', 'minecraft:red_sand') + + event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone') + event.add('tfc:can_landslide', 'gtceu:red_granite_cobblestone') + + event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') + event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') + event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') + + event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_slab') + + event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_stairs') + + event.add('tfg:rock_stairs', 'ad_astra:moon_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:mars_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:venus_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:mercury_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:glacio_stone_stairs') + + event.add('tfg:rock_slabs', 'ad_astra:moon_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:mars_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:venus_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:mercury_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:glacio_stone_slab') + + event.add('minecraft:mushroom_grow_block', '#tfc:dirt') + event.add('minecraft:mushroom_grow_block', '#tfc:grass') + event.add('minecraft:mushroom_grow_block', '#forge:sand') + event.add('minecraft:mushroom_grow_block', '#forge:gravel') +} diff --git a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js new file mode 100644 index 000000000..7bd81d8d9 --- /dev/null +++ b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js @@ -0,0 +1,76 @@ +"use strict"; + +function registerTFGOverworldBiomeTags(event) { + + // Structures + event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains') + event.add('tfg:has_structure/plains_temperate_0', 'tfc:plateau') + event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands') + + event.add('tfg:has_structure/aqueduct', 'tfc:plains') + event.add('tfg:has_structure/aqueduct', 'tfc:highlands') + event.add('tfg:has_structure/aqueduct', 'tfc:lowlands') + event.add('tfg:has_structure/aqueduct', 'tfc:badlands') + + event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains') + event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains') + + event.add('tfg:has_structure/illages', 'tfc:plains') + event.add('tfg:has_structure/illages', 'tfc:hills') + event.add('tfg:has_structure/illages', 'tfc:rolling_hills') + event.add('tfg:has_structure/illages', 'tfc:badlands') + event.add('tfg:has_structure/illages', 'tfc:plateau') + event.add('tfg:has_structure/illages', 'tfc:old_mountains') + + event.add('tfg:never_has_structure/illages', '#tfc:is_lake') + event.add('tfg:never_has_structure/illages', '#tfc:is_ocean') + event.add('tfg:never_has_structure/illages', '#tfc:is_river') + + // Kaolin + event.add("tfc:kaolin_clay_spawns_in", "tfc:rolling_hills"); + + global.TFC_BIOMES.forEach(biome => { + event.add('tfg:overworld_biomes', biome); + }) +} + +function registerTFGOverworldPlacedFeatures(event) { + + // Rose quartz + event.add('tfc:in_biome/surface_decoration/ocean', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/ocean_reef', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/deep_ocean', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/deep_ocean_trench', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/shore', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/tidal_flats', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/lowlands', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/salt_marsh', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/plains', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/lake', 'tfg:earth/rose_quartz/rose_quartz') + + // Add back the non-ore ones + event.add("tfc:in_biome/veins", "tfc:vein/gravel"); + event.add("tfc:in_biome/veins", "tfc:vein/kaolin_disc"); + event.add("tfc:in_biome/veins", "tfc:vein/granite_dike"); + event.add("tfc:in_biome/veins", "tfc:vein/diorite_dike"); + event.add("tfc:in_biome/veins", "tfc:vein/gabbro_dike"); + + // Geodes + event.add("tfc:in_biome/veins", "tfg:earth/geode/amethyst"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/barite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/calcite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/gypsum"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/opal"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/pyrite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/quartzite"); + + // Crops + event.add("tfc:feature/crops", "tfg:earth/sunflower_patch"); + event.add("tfc:feature/crops", "tfg:earth/rapeseed_patch"); + event.add("tfc:feature/crops", "tfg:earth/flax_patch"); + + // Other decoration + 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"); +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 3695376f9..01e7e1586 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -28,13 +28,17 @@ global.AIRCRAFT_UPGRADES = [ * @type {string[]} - Item IDs */ global.EXTRATERRESTRIAL_RAW_ROCKS = [ + 'minecraft:deepslate', + 'minecraft:blackstone', + 'minecraft:dripstone_block', 'ad_astra:moon_stone', 'ad_astra:moon_deepslate', 'ad_astra:mars_stone', 'ad_astra:venus_stone', 'ad_astra:mercury_stone', 'ad_astra:glacio_stone', - 'gtceu:red_granite' + 'gtceu:red_granite', + 'beneath:crackrack' ] /** @@ -47,7 +51,11 @@ global.EXTRATERRESTRIAL_HARDENED_ROCKS = [ 'tfg:rock/hardened_venus_stone', 'tfg:rock/hardened_mercury_stone', 'tfg:rock/hardened_glacio_stone', - 'tfg:rock/hardened_red_granite' + 'tfg:rock/hardened_red_granite', + 'tfg:rock/hardened_deepslate', + 'tfg:rock/hardened_blackstone', + 'tfg:rock/hardened_dripstone', + 'tfg:rock/hardened_crackrack' ] /** From c5ca371764c8c13083edfbc49e0980102c857aad Mon Sep 17 00:00:00 2001 From: Jeuv <73312791+Jeuvke@users.noreply.github.com> Date: Wed, 3 Dec 2025 02:27:32 +0100 Subject: [PATCH 206/628] Reworked the Reinforced Hang Glider (#2314) * Reinforced glider recipes Made the reinforced hang glider cheaper (late LV) + added assembler recipes to repair it Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> * Update quest book Update the quest book entry for the Reinforced Hang Glider, to go with the new recipes. Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> * Revert "Update quest book" This reverts commit 933170c412414c7034d641216fff3359efab935e. --------- Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> Co-authored-by: Pyritie --- kubejs/server_scripts/handglider/recipes.js | 54 ++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/handglider/recipes.js b/kubejs/server_scripts/handglider/recipes.js index 1cc17225b..94ca53617 100644 --- a/kubejs/server_scripts/handglider/recipes.js +++ b/kubejs/server_scripts/handglider/recipes.js @@ -4,6 +4,8 @@ const registerHandGliderRecipes = (event) => { event.remove({id: 'hangglider:glider_framework'}) + event.remove({id: 'hangglider:reinforced_hang_glider'}) + // Glider Framework event.shaped('hangglider:glider_framework', [ 'AAA', @@ -16,6 +18,7 @@ const registerHandGliderRecipes = (event) => { D: '#forge:rings' }).id('hangglider:shaped/glider_framework') + // Glider Wing event.shaped('hangglider:glider_wing', [ ' C', ' BA', @@ -25,4 +28,53 @@ const registerHandGliderRecipes = (event) => { B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1), C: '#forge:rings' }).id('hangglider:shaped/glider_wing') -} \ No newline at end of file + + //Reinforced Hang Glider Stuff + event.shaped('hangglider:reinforced_hang_glider', [ + ' A ', + 'ABA', + ' C ' + ], { + A: 'sns:reinforced_fabric', + B: 'hangglider:hang_glider', + C: '#forge:rods/long/aluminium' + }).id('hangglider:shaped/reinforced_hang_glider') + + event.shaped('hangglider:reinforced_hang_glider', [ + ' A ', + ' B ', + ' C ' + ], { + A: '#tfg:lightweight_cloth', + B: 'hangglider:hang_glider', + C: '#forge:rods/long/aluminium' + }).id('hangglider:shaped/reinforced_hang_glider2') + + event.recipes.gtceu.assembler('tfg:hand_glider/reinforced_hang_glider') + .itemInputs('3x sns:reinforced_fabric', '1x hangglider:hang_glider', '1x #forge:rods/long/aluminium') + .circuit(3) + .itemOutputs(Item.of('hangglider:reinforced_hang_glider', "{Damage:0}")) + .duration(1200) + .EUt(30) + + event.recipes.gtceu.assembler('tfg:hand_glider/reinforced_hang_glider2') + .itemInputs('1x #tfg:lightweight_cloth', '1x hangglider:hang_glider', '1x #forge:rods/long/aluminium') + .circuit(3) + .itemOutputs(Item.of('hangglider:reinforced_hang_glider', "{Damage:0}")) + .duration(600) + .EUt(30) + + event.recipes.gtceu.assembler('tfg:hang_glider/reinforced_hang_glider_repairing') + .itemInputs('3x sns:reinforced_fabric', 'hangglider:reinforced_hang_glider') + .circuit(3) + .itemOutputs(Item.of('hangglider:reinforced_hang_glider', "{Damage:0}")) + .duration(800) + .EUt(30) + + event.recipes.gtceu.assembler('tfg:hang_glider/reinforced_hang_glider_repairing2') + .itemInputs('1x #tfg:lightweight_cloth', 'hangglider:reinforced_hang_glider') + .circuit(3) + .itemOutputs(Item.of('hangglider:reinforced_hang_glider', "{Damage:0}")) + .duration(400) + .EUt(30) +} From f900e517afb524443fd3aa693f8cadfc2f787e1c Mon Sep 17 00:00:00 2001 From: applenper Date: Wed, 3 Dec 2025 09:16:52 -0400 Subject: [PATCH 207/628] Tallow and fish oil changes for 0.11.9 (#2318) * reverted tallowate to fish oil, added tallow to biodiesel recipe, removed tallow to fish oil recipe * added tallow boiler recipe, buffed fish oil extraction from fish * added tallow to firmalife:oils * added tallow ethanol and methanol biodiesel recipes --- kubejs/assets/gtceu/lang/en_us.json | 2 +- kubejs/server_scripts/firmalife/tags.js | 1 + .../tfg/powergen/recipes.biodiesel.js | 30 +++++++++++++++++++ .../tfg/powergen/recipes.boiler.js | 18 +++++------ 4 files changed, 40 insertions(+), 11 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 4bd56737f..e63bcdcd5 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -132,7 +132,7 @@ "material.gtceu.damascus_steel": "Swine-steel", "material.gtceu.air": "Earth Air", "material.gtceu.liquid_air": "Liquid Earth Air", - "material.gtceu.fish_oil": "Tallowate", + "material.gtceu.fish_oil": "Fish Oil", "material.gtceu.cooperite": "Cooperite", "material.gtceu.armalcolite": "Armalcolite", "material.gtceu.desh": "Desh", diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 7a7d32de3..e8746e3c1 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -82,6 +82,7 @@ const registerFirmaLifeFluidTags = (event) => { event.add('firmalife:mixable', 'afc:maple_syrup') event.add('firmalife:mixable', 'afc:birch_syrup') + event.add('firmalife:oils', 'tfc:tallow') event.add('firmalife:oils', 'gtceu:seed_oil') event.add('firmalife:oils', 'gtceu:fish_oil') event.add('firmalife:oils', 'tfg:triglyceride_oil') diff --git a/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js index bde4a6cd9..f9eab5cf2 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js @@ -56,6 +56,14 @@ function registerTFGBiodieselRecipes(event) { .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) + event.recipes.gtceu.chemical_reactor(`tallow_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:tallow', 6000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + + // So you can craft Biodiesel without Chemical Reactor event.recipes.gtceu.mixer(`tfg:fish_oil_alcohol_biodiesel`) .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 1000)) @@ -64,6 +72,14 @@ function registerTFGBiodieselRecipes(event) { .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) + + event.recipes.gtceu.mixer(`tfg:tallow_alcohol_biodiesel`) + .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:tallow', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.ULV]) + event.recipes.gtceu.chemical_reactor(`olive_oil_ethanol_biodiesel`) .inputFluids(Fluid.of('tfc:olive_oil', 4000), Fluid.of('gtceu:ethanol', 1000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') @@ -91,4 +107,18 @@ function registerTFGBiodieselRecipes(event) { .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) .duration(20 * 10) .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor(`tallow_methanol_biodiesel`) + .inputFluids(Fluid.of('tfc:tallow', 6000), Fluid.of('gtceu:methanol', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor(`tallow_ethanol_biodiesel`) + .inputFluids(Fluid.of('tfc:tallow', 6000), Fluid.of('gtceu:ethanol', 1000)) + .itemInputs('#forge:tiny_dusts/sodium_hydroxide') + .outputFluids(Fluid.of('gtceu:glycerol'), Fluid.of('gtceu:bio_diesel', 6000)) + .duration(20 * 10) + .EUt(GTValues.VHA[GTValues.LV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 78207ec66..1633a1a34 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -62,26 +62,24 @@ function registerTFGBoilerRecipes(event) { .duration(200) .dimension('minecraft:overworld') - // fish oil (aka tallowate) extraction + event.recipes.gtceu.steam_boiler('tfg:tallow') + .inputFluids(Fluid.of('tfc:tallow', 160)) + .duration(200) + .dimension('minecraft:overworld') + + // fish oil extraction event.recipes.gtceu.extractor(`tfg:fish_oil`) .itemInputs('#minecraft:fishes') - .outputFluids(Fluid.of('gtceu:fish_oil', 200)) + .outputFluids(Fluid.of('gtceu:fish_oil', 400)) .duration(40) .EUt(4) event.recipes.gtceu.extractor(`tfg:tallow`) .itemInputs('tfc:blubber') - .outputFluids(Fluid.of('tfc:tallow', 200)) + .outputFluids(Fluid.of('tfc:tallow', 400)) .duration(40) .EUt(4) - // you get tallow from killing things like orcas, so this seems close enough - event.recipes.gtceu.mixer('tallow_to_fish_oil') - .inputFluids('tfc:tallow 100', 'tfc:lye 100') - .outputFluids('gtceu:fish_oil 200') - .duration(100) - .EUt(4) - // Seed oil event.recipes.gtceu.extractor(`tfg:seed_oil`) .itemInputs('#tfc:seeds') From a192b32f24a02b49488241a705f470077b28ba5c Mon Sep 17 00:00:00 2001 From: Mqrius Date: Wed, 3 Dec 2025 22:51:43 +0100 Subject: [PATCH 208/628] Remove "Visit moon" from Liquid Fluix quest (#2323) You're already guaranteed to have been on the moon at that point, and the task blocks progression since you usually first get fluix on Earth. Signed-off-by: Mqrius --- .../ftbquests/quests/chapters/applied_energistics_2.snbt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/config/ftbquests/quests/chapters/applied_energistics_2.snbt b/config/ftbquests/quests/chapters/applied_energistics_2.snbt index cbf9211a4..8a53c009a 100644 --- a/config/ftbquests/quests/chapters/applied_energistics_2.snbt +++ b/config/ftbquests/quests/chapters/applied_energistics_2.snbt @@ -218,13 +218,6 @@ id: "432E105A84AEA630" type: "checkmark" } - { - dimension: "ad_astra:moon" - disable_toast: true - icon: "tfg:marker/moon" - id: "6A4F5147475443C5" - type: "dimension" - } ] title: "{quests.ae2.fluix_liquid.title}" x: -3.5d From 8cdce5c82634a91dfe496a2382e464dc4d578adc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 3 Dec 2025 23:05:14 +0000 Subject: [PATCH 209/628] fixed small wrought iron gear melting into wrought iron and not cast iron --- kubejs/server_scripts/tfc/recipes.materials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 8bc5ee8b6..5fc44fd5e 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -642,7 +642,7 @@ function registerTFCMaterialsRecipes(event) { if (tfcProperty.getMeltTemp() <= 1540) { event.recipes.tfc.heating(`gtceu:small_${material.getName()}_gear`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(`gtceu:${material.getName()}`, 144)) + .resultFluid(Fluid.of(outputMaterial, 144)) .id(`tfc:heating/small_${material.getName()}_gear`) } From 534cafd2366ef97e0fc4d74b35245503d07bb565 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Fri, 5 Dec 2025 10:21:55 +0100 Subject: [PATCH 210/628] Remove hydration from freezedried food (#2325) * Remove hydration from freezedried food Change all freezedried food to give no hydration. Freezedrying removes all moisture from food, so it shouldn't fix your thirst. Signed-off-by: Mqrius * Remove .meal() from freeze dried fruit Freeze dried fruit are not dynamic food items so they can't have .meal(). Their hydration is already set to 0 in item creation. Signed-off-by: Mqrius --------- Signed-off-by: Mqrius --- kubejs/server_scripts/tfg/food/recipes.food.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 40bd7bc70..c99e8b67e 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -478,7 +478,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0) ]).addTrait('tfg:freeze_dried') }) @@ -489,7 +489,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0) ]).addTrait('tfg:freeze_dried') }) @@ -500,7 +500,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0) ]).addTrait('tfg:freeze_dried') }) @@ -511,7 +511,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0) ]).addTrait('tfg:freeze_dried') }) @@ -522,7 +522,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['2x tfg:food/meal_bag'], itemOutputProvider: TFC.isp.of('2x tfg:food/meal_bag').meal( (food => food.hunger(4).saturation(1.5).decayModifier(4.5)), [ - (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0.8) + (portion) => portion.nutrientModifier(1).saturationModifier(0.8).waterModifier(0) ]).addTrait('tfg:freeze_dried') }) From a0bc4528ebdc8f9a230518d4ec2957aa83b8d24d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 5 Dec 2025 20:16:39 +0000 Subject: [PATCH 211/628] create:non_movable block tag was missing some things --- kubejs/server_scripts/create/tags.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index 016f8ec1c..0001ac2ad 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -143,10 +143,26 @@ const registerCreateBlockTags = (event) => { event.add('create:non_movable', 'gtceu:titanium_crate') event.add('create:non_movable', 'gtceu:tungsten_steel_crate') event.add('create:non_movable', '#create:toolboxes') + event.add('create:non_movable', 'gtceu:ulv_super_chest') event.add('create:non_movable', 'gtceu:lv_super_chest') event.add('create:non_movable', 'gtceu:mv_super_chest') event.add('create:non_movable', 'gtceu:hv_super_chest') event.add('create:non_movable', 'gtceu:ev_super_chest') + event.add('create:non_movable', 'gtceu:iv_quantum_chest') + event.add('create:non_movable', 'gtceu:luv_quantum_chest') + event.add('create:non_movable', 'gtceu:zpm_quantum_chest') + event.add('create:non_movable', 'gtceu:uv_quantum_chest') + event.add('create:non_movable', 'gtceu:uhv_quantum_chest') + event.add('create:non_movable', 'gtceu:ulv_super_tank') + event.add('create:non_movable', 'gtceu:lv_super_tank') + event.add('create:non_movable', 'gtceu:mv_super_tank') + event.add('create:non_movable', 'gtceu:hv_super_tank') + event.add('create:non_movable', 'gtceu:ev_super_tank') + event.add('create:non_movable', 'gtceu:iv_quantum_tank') + event.add('create:non_movable', 'gtceu:luv_quantum_tank') + event.add('create:non_movable', 'gtceu:zpm_quantum_tank') + event.add('create:non_movable', 'gtceu:uv_quantum_tank') + event.add('create:non_movable', 'gtceu:uhv_quantum_tank') event.add('create:non_movable', 'tfg:spice') event.add('create:non_movable', 'tfg:geyser_source') event.add('create:non_movable', 'tfg:geyser_source_small') From 095849edb0ead6af6a201f851739ba371d457e63 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 00:23:24 +0000 Subject: [PATCH 212/628] fixed some inconsistencies with moon/mars deco plant EGH recipes --- kubejs/server_scripts/tfg/mars/recipes.mars.js | 2 +- kubejs/server_scripts/tfg/moon/recipes.plants.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 5c995e9f8..1e3f8e1b4 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -236,7 +236,7 @@ function registerTFGMarsRecipes(event) { const recipeId = `greenhouse_${itemId.replace(':', '_')}`; generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`, - recipeId, 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]); + recipeId, 'ad_astra:mars', 8, itemId, GTValues.VA[GTValues.LV]); }); generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, diff --git a/kubejs/server_scripts/tfg/moon/recipes.plants.js b/kubejs/server_scripts/tfg/moon/recipes.plants.js index fd5bfdb5b..38c5e8f8b 100644 --- a/kubejs/server_scripts/tfg/moon/recipes.plants.js +++ b/kubejs/server_scripts/tfg/moon/recipes.plants.js @@ -97,6 +97,7 @@ function registerTFGMoonPlantRecipes(event) { .itemOutputs(`8x ${element.id}`) .chancedOutput(element.id, 750, 0) .chancedOutput(element.id, 500, 0) + .chancedOutput(element.id, 750, 0) .duration(36000) // 30 mins .circuit(1) .EUt(GTValues.VA[GTValues.MV]) @@ -108,6 +109,7 @@ function registerTFGMoonPlantRecipes(event) { .itemOutputs(`8x ${element.id}`) .chancedOutput(element.id, 4000, 0) .chancedOutput(element.id, 3000, 0) + .chancedOutput(element.id, 4000, 0) .duration(12000) // 30 mins .circuit(2) .EUt(GTValues.VA[GTValues.MV]) From e2d01b65365e8cb7470d6d6830b1298c0e4b4cfd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 00:29:06 +0000 Subject: [PATCH 213/628] add new icon set, thank you cosmic frontiers --- .../gtceu/models/block/cube_3_layer/all.json | 24 ++++++++++ .../block/cube_3_layer/all_translucent.json | 25 ++++++++++ .../models/block/cube_3_layer/default.json | 43 ++++++++++++++++++ .../block/material_sets/chonky/block.json | 8 ++++ .../block/material_sets/chonky/frame_gt.json | 8 ++++ .../item/material_sets/chonky/block.json | 3 ++ .../item/material_sets/chonky/bolt.json | 8 ++++ .../item/material_sets/chonky/foil.json | 8 ++++ .../item/material_sets/chonky/frame_gt.json | 3 ++ .../item/material_sets/chonky/gear.json | 8 ++++ .../item/material_sets/chonky/gear_small.json | 8 ++++ .../item/material_sets/chonky/ingot.json | 8 ++++ .../material_sets/chonky/ingot_double.json | 8 ++++ .../item/material_sets/chonky/ingot_hot.json | 9 ++++ .../item/material_sets/chonky/nugget.json | 8 ++++ .../item/material_sets/chonky/plate.json | 8 ++++ .../material_sets/chonky/plate_dense.json | 8 ++++ .../material_sets/chonky/plate_double.json | 8 ++++ .../item/material_sets/chonky/ring.json | 8 ++++ .../models/item/material_sets/chonky/rod.json | 8 ++++ .../item/material_sets/chonky/rod_long.json | 8 ++++ .../item/material_sets/chonky/rotor.json | 8 ++++ .../item/material_sets/chonky/round.json | 8 ++++ .../item/material_sets/chonky/screw.json | 8 ++++ .../item/material_sets/chonky/spring.json | 8 ++++ .../material_sets/chonky/spring_small.json | 8 ++++ .../chonky/tool_head_buzz_saw.json | 8 ++++ .../chonky/tool_head_chainsaw.json | 8 ++++ .../material_sets/chonky/tool_head_drill.json | 8 ++++ .../chonky/tool_head_screwdriver.json | 8 ++++ .../chonky/tool_head_wrench.json | 8 ++++ .../material_sets/chonky/turbine_blade.json | 8 ++++ .../item/material_sets/chonky/wire_fine.json | 8 ++++ .../block/material_sets/chonky/block.png | Bin 0 -> 260 bytes .../material_sets/chonky/block_overlay.png | Bin 0 -> 189 bytes .../material_sets/chonky/block_secondary.png | Bin 0 -> 303 bytes .../block/material_sets/chonky/frame_gt.png | Bin 0 -> 391 bytes .../material_sets/chonky/frame_gt_overlay.png | Bin 0 -> 195 bytes .../chonky/frame_gt_secondary.png | Bin 0 -> 343 bytes .../item/material_sets/chonky/bolt.png | Bin 0 -> 178 bytes .../material_sets/chonky/bolt_overlay.png | Bin 0 -> 138 bytes .../material_sets/chonky/bolt_secondary.png | Bin 0 -> 179 bytes .../item/material_sets/chonky/foil.png | Bin 0 -> 328 bytes .../material_sets/chonky/foil_overlay.png | Bin 0 -> 203 bytes .../material_sets/chonky/foil_secondary.png | Bin 0 -> 325 bytes .../item/material_sets/chonky/gear.png | Bin 0 -> 406 bytes .../material_sets/chonky/gear_overlay.png | Bin 0 -> 190 bytes .../material_sets/chonky/gear_secondary.png | Bin 0 -> 380 bytes .../item/material_sets/chonky/gear_small.png | Bin 0 -> 324 bytes .../chonky/gear_small_overlay.png | Bin 0 -> 169 bytes .../chonky/gear_small_secondary.png | Bin 0 -> 344 bytes .../item/material_sets/chonky/ingot.png | Bin 0 -> 284 bytes .../material_sets/chonky/ingot_double.png | Bin 0 -> 315 bytes .../chonky/ingot_double_overlay.png | Bin 0 -> 202 bytes .../chonky/ingot_double_secondary.png | Bin 0 -> 362 bytes .../item/material_sets/chonky/ingot_hot.png | Bin 0 -> 284 bytes .../chonky/ingot_hot_overlay.png | Bin 0 -> 237 bytes .../chonky/ingot_hot_secondary.png | Bin 0 -> 329 bytes .../material_sets/chonky/ingot_overlay.png | Bin 0 -> 197 bytes .../material_sets/chonky/ingot_secondary.png | Bin 0 -> 329 bytes .../item/material_sets/chonky/nugget.png | Bin 0 -> 227 bytes .../material_sets/chonky/nugget_overlay.png | Bin 0 -> 161 bytes .../material_sets/chonky/nugget_secondary.png | Bin 0 -> 250 bytes .../item/material_sets/chonky/plate.png | Bin 0 -> 270 bytes .../item/material_sets/chonky/plate_dense.png | Bin 0 -> 349 bytes .../chonky/plate_dense_overlay.png | Bin 0 -> 195 bytes .../chonky/plate_dense_secondary.png | Bin 0 -> 389 bytes .../material_sets/chonky/plate_double.png | Bin 0 -> 316 bytes .../chonky/plate_double_overlay.png | Bin 0 -> 200 bytes .../chonky/plate_double_secondary.png | Bin 0 -> 375 bytes .../material_sets/chonky/plate_overlay.png | Bin 0 -> 182 bytes .../material_sets/chonky/plate_secondary.png | Bin 0 -> 324 bytes .../item/material_sets/chonky/ring.png | Bin 0 -> 228 bytes .../material_sets/chonky/ring_overlay.png | Bin 0 -> 153 bytes .../material_sets/chonky/ring_secondary.png | Bin 0 -> 218 bytes .../item/material_sets/chonky/rod.png | Bin 0 -> 183 bytes .../item/material_sets/chonky/rod_long.png | Bin 0 -> 164 bytes .../material_sets/chonky/rod_long_overlay.png | Bin 0 -> 143 bytes .../chonky/rod_long_secondary.png | Bin 0 -> 163 bytes .../item/material_sets/chonky/rod_overlay.png | Bin 0 -> 142 bytes .../material_sets/chonky/rod_secondary.png | Bin 0 -> 157 bytes .../item/material_sets/chonky/rotor.png | Bin 0 -> 301 bytes .../material_sets/chonky/rotor_overlay.png | Bin 0 -> 181 bytes .../material_sets/chonky/rotor_secondary.png | Bin 0 -> 331 bytes .../item/material_sets/chonky/round.png | Bin 0 -> 175 bytes .../material_sets/chonky/round_overlay.png | Bin 0 -> 127 bytes .../material_sets/chonky/round_secondary.png | Bin 0 -> 187 bytes .../item/material_sets/chonky/screw.png | Bin 0 -> 232 bytes .../material_sets/chonky/screw_overlay.png | Bin 0 -> 156 bytes .../material_sets/chonky/screw_secondary.png | Bin 0 -> 227 bytes .../item/material_sets/chonky/spring.png | Bin 0 -> 283 bytes .../material_sets/chonky/spring_overlay.png | Bin 0 -> 152 bytes .../material_sets/chonky/spring_secondary.png | Bin 0 -> 259 bytes .../material_sets/chonky/spring_small.png | Bin 0 -> 249 bytes .../chonky/spring_small_overlay.png | Bin 0 -> 141 bytes .../chonky/spring_small_secondary.png | Bin 0 -> 210 bytes .../chonky/tool_head_buzz_saw.png | Bin 0 -> 332 bytes .../chonky/tool_head_buzz_saw_overlay.png | Bin 0 -> 170 bytes .../chonky/tool_head_buzz_saw_secondary.png | Bin 0 -> 357 bytes .../chonky/tool_head_chainsaw.png | Bin 0 -> 259 bytes .../chonky/tool_head_chainsaw_overlay.png | Bin 0 -> 151 bytes .../chonky/tool_head_chainsaw_secondary.png | Bin 0 -> 251 bytes .../material_sets/chonky/tool_head_drill.png | Bin 0 -> 299 bytes .../chonky/tool_head_drill_overlay.png | Bin 0 -> 189 bytes .../chonky/tool_head_drill_secondary.png | Bin 0 -> 295 bytes .../chonky/tool_head_screwdriver.png | Bin 0 -> 220 bytes .../chonky/tool_head_screwdriver_overlay.png | Bin 0 -> 145 bytes .../tool_head_screwdriver_secondary.png | Bin 0 -> 203 bytes .../material_sets/chonky/tool_head_wrench.png | Bin 0 -> 208 bytes .../chonky/tool_head_wrench_overlay.png | Bin 0 -> 137 bytes .../chonky/tool_head_wrench_secondary.png | Bin 0 -> 162 bytes .../material_sets/chonky/turbine_blade.png | Bin 0 -> 268 bytes .../chonky/turbine_blade_overlay.png | Bin 0 -> 195 bytes .../chonky/turbine_blade_secondary.png | Bin 0 -> 311 bytes .../item/material_sets/chonky/wire_fine.png | Bin 0 -> 243 bytes .../chonky/wire_fine_overlay.png | Bin 0 -> 309 bytes .../chonky/wire_fine_secondary.png | Bin 0 -> 254 bytes kubejs/startup_scripts/tfg/icon_sets.js | 18 ++++++-- kubejs/startup_scripts/tfg/materials.js | 2 +- 119 files changed, 339 insertions(+), 4 deletions(-) create mode 100644 kubejs/assets/gtceu/models/block/cube_3_layer/all.json create mode 100644 kubejs/assets/gtceu/models/block/cube_3_layer/all_translucent.json create mode 100644 kubejs/assets/gtceu/models/block/cube_3_layer/default.json create mode 100644 kubejs/assets/gtceu/models/block/material_sets/chonky/block.json create mode 100644 kubejs/assets/gtceu/models/block/material_sets/chonky/frame_gt.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/block.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/bolt.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/foil.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/frame_gt.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/gear.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/gear_small.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/ingot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_double.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_hot.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/nugget.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/plate.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/plate_dense.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/plate_double.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/ring.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/rod.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/rod_long.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/rotor.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/round.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/screw.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/spring.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/spring_small.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_buzz_saw.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_chainsaw.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_drill.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_screwdriver.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_wrench.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/turbine_blade.json create mode 100644 kubejs/assets/gtceu/models/item/material_sets/chonky/wire_fine.json create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/chonky/block.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/chonky/block_overlay.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/chonky/block_secondary.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/chonky/frame_gt.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/chonky/frame_gt_overlay.png create mode 100644 kubejs/assets/gtceu/textures/block/material_sets/chonky/frame_gt_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/bolt.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/bolt_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/bolt_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/foil.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/foil_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/foil_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/gear.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_small.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_small_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_small_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_hot.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_hot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_hot_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/nugget.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/nugget_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/nugget_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_dense.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_dense_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_dense_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ring.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ring_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/ring_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rod.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_long.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_long_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_long_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/round.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/round_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/round_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/screw.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/screw_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/screw_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/spring.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_buzz_saw.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_buzz_saw_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_buzz_saw_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_chainsaw.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_chainsaw_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_chainsaw_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_drill.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_drill_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_drill_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_screwdriver.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_screwdriver_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_screwdriver_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_wrench.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_wrench_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_wrench_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/turbine_blade.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/turbine_blade_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/turbine_blade_secondary.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/wire_fine.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/wire_fine_overlay.png create mode 100644 kubejs/assets/gtceu/textures/item/material_sets/chonky/wire_fine_secondary.png diff --git a/kubejs/assets/gtceu/models/block/cube_3_layer/all.json b/kubejs/assets/gtceu/models/block/cube_3_layer/all.json new file mode 100644 index 000000000..bd4649c5f --- /dev/null +++ b/kubejs/assets/gtceu/models/block/cube_3_layer/all.json @@ -0,0 +1,24 @@ +{ + "parent": "gtceu:block/cube_3_layer/default", + "textures": { + "particle": "#bot_all", + "bot_down": "#bot_all", + "bot_up": "#bot_all", + "bot_north": "#bot_all", + "bot_east": "#bot_all", + "bot_south": "#bot_all", + "bot_west": "#bot_all", + "mid_down": "#mid_all", + "mid_up": "#mid_all", + "mid_north": "#mid_all", + "mid_east": "#mid_all", + "mid_south": "#mid_all", + "mid_west": "#mid_all", + "top_down": "#top_all", + "top_up": "#top_all", + "top_north": "#top_all", + "top_east": "#top_all", + "top_south": "#top_all", + "top_west": "#top_all" + } +} diff --git a/kubejs/assets/gtceu/models/block/cube_3_layer/all_translucent.json b/kubejs/assets/gtceu/models/block/cube_3_layer/all_translucent.json new file mode 100644 index 000000000..7e9b40eb4 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/cube_3_layer/all_translucent.json @@ -0,0 +1,25 @@ +{ + "parent": "gtceu:block/cube_3_layer/default", + "render_type": "translucent", + "textures": { + "particle": "#bot_all", + "bot_down": "#bot_all", + "bot_up": "#bot_all", + "bot_north": "#bot_all", + "bot_east": "#bot_all", + "bot_south": "#bot_all", + "bot_west": "#bot_all", + "mid_down": "#mid_all", + "mid_up": "#mid_all", + "mid_north": "#mid_all", + "mid_east": "#mid_all", + "mid_south": "#mid_all", + "mid_west": "#mid_all", + "top_down": "#top_all", + "top_up": "#top_all", + "top_north": "#top_all", + "top_east": "#top_all", + "top_south": "#top_all", + "top_west": "#top_all" + } +} diff --git a/kubejs/assets/gtceu/models/block/cube_3_layer/default.json b/kubejs/assets/gtceu/models/block/cube_3_layer/default.json new file mode 100644 index 000000000..4919daa49 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/cube_3_layer/default.json @@ -0,0 +1,43 @@ +{ + "parent": "block/block", + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "down": { "texture": "#bot_down", "cullface": "down", "tintindex": 0 }, + "up": { "texture": "#bot_up", "cullface": "up", "tintindex": 0 }, + "north": { "texture": "#bot_north", "cullface": "north", "tintindex": 0 }, + "south": { "texture": "#bot_south", "cullface": "south", "tintindex": 0 }, + "west": { "texture": "#bot_west", "cullface": "west", "tintindex": 0 }, + "east": { "texture": "#bot_east", "cullface": "east", "tintindex": 0 } + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "shade": false, + "faces": { + "down": { "texture": "#mid_down", "cullface": "down", "tintindex": 1 }, + "up": { "texture": "#mid_up", "cullface": "up", "tintindex": 1 }, + "north": { "texture": "#mid_north", "cullface": "north", "tintindex": 1 }, + "south": { "texture": "#mid_south", "cullface": "south", "tintindex": 1 }, + "west": { "texture": "#mid_west", "cullface": "west", "tintindex": 1 }, + "east": { "texture": "#mid_east", "cullface": "east", "tintindex": 1 } + } + }, + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "shade": false, + "faces": { + "down": { "texture": "#top_down", "cullface": "down", "tintindex": 2 }, + "up": { "texture": "#top_up", "cullface": "up", "tintindex": 2 }, + "north": { "texture": "#top_north", "cullface": "north", "tintindex": 2 }, + "south": { "texture": "#top_south", "cullface": "south", "tintindex": 2 }, + "west": { "texture": "#top_west", "cullface": "west", "tintindex": 2 }, + "east": { "texture": "#top_east", "cullface": "east", "tintindex": 2 } + } + } + ] +} diff --git a/kubejs/assets/gtceu/models/block/material_sets/chonky/block.json b/kubejs/assets/gtceu/models/block/material_sets/chonky/block.json new file mode 100644 index 000000000..9f753d696 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/material_sets/chonky/block.json @@ -0,0 +1,8 @@ +{ + "parent": "gtceu:block/cube_3_layer/all", + "textures": { + "bot_all": "gtceu:block/material_sets/chonky/block", + "mid_all": "gtceu:block/material_sets/chonky/block_secondary", + "top_all": "gtceu:block/material_sets/chonky/block_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/material_sets/chonky/frame_gt.json b/kubejs/assets/gtceu/models/block/material_sets/chonky/frame_gt.json new file mode 100644 index 000000000..e98a4e16d --- /dev/null +++ b/kubejs/assets/gtceu/models/block/material_sets/chonky/frame_gt.json @@ -0,0 +1,8 @@ +{ + "parent": "gtceu:block/cube_3_layer/all_translucent", + "textures": { + "bot_all": "gtceu:block/material_sets/chonky/frame_gt", + "mid_all": "gtceu:block/material_sets/chonky/frame_gt_secondary", + "top_all": "gtceu:block/material_sets/chonky/frame_gt_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/block.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/block.json new file mode 100644 index 000000000..495c503ae --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/block.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:item/material_sets/chonky/block" +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/bolt.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/bolt.json new file mode 100644 index 000000000..e77b96e4f --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/bolt.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/bolt", + "layer1": "gtceu:item/material_sets/chonky/bolt_secondary", + "layer2": "gtceu:item/material_sets/chonky/bolt_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/foil.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/foil.json new file mode 100644 index 000000000..dca6eed74 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/foil.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/foil", + "layer1": "gtceu:item/material_sets/chonky/foil_secondary", + "layer2": "gtceu:item/material_sets/chonky/foil_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/frame_gt.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/frame_gt.json new file mode 100644 index 000000000..61f59e8b9 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/frame_gt.json @@ -0,0 +1,3 @@ +{ + "parent": "gtceu:item/material_sets/chonky/frame_gt" +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/gear.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/gear.json new file mode 100644 index 000000000..b0265d2c0 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/gear.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/gear", + "layer1": "gtceu:item/material_sets/chonky/gear_secondary", + "layer2": "gtceu:item/material_sets/chonky/gear_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/gear_small.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/gear_small.json new file mode 100644 index 000000000..dd51c5c7f --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/gear_small.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/gear_small", + "layer1": "gtceu:item/material_sets/chonky/gear_small_secondary", + "layer2": "gtceu:item/material_sets/chonky/gear_small_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot.json new file mode 100644 index 000000000..d7347df75 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/ingot", + "layer1": "gtceu:item/material_sets/chonky/ingot_secondary", + "layer2": "gtceu:item/material_sets/chonky/ingot_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_double.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_double.json new file mode 100644 index 000000000..bffa7f1e1 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_double.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/ingot_double", + "layer1": "gtceu:item/material_sets/chonky/ingot_double_secondary", + "layer2": "gtceu:item/material_sets/chonky/ingot_double_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_hot.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_hot.json new file mode 100644 index 000000000..db6a4ec37 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/ingot_hot.json @@ -0,0 +1,9 @@ +{ + "parent": "gtceu:item/material_sets/chonky/ingot", + "textures": { + "layer0":"gtceu:item/material_sets/chonky/ingot", + "layer1":"gtceu:item/material_sets/chonky/ingot_secondary", + "layer2":"gtceu:item/material_sets/chonky/ingot_overlay", + "layer3":"gtceu:item/material_sets/chonky/ingot_hot_overlay" + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/nugget.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/nugget.json new file mode 100644 index 000000000..1b994d90c --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/nugget.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/nugget", + "layer1": "gtceu:item/material_sets/chonky/nugget_secondary", + "layer2": "gtceu:item/material_sets/chonky/nugget_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/plate.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/plate.json new file mode 100644 index 000000000..662218a13 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/plate.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/plate", + "layer1": "gtceu:item/material_sets/chonky/plate_secondary", + "layer2": "gtceu:item/material_sets/chonky/plate_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/plate_dense.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/plate_dense.json new file mode 100644 index 000000000..479760975 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/plate_dense.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/plate_dense", + "layer1": "gtceu:item/material_sets/chonky/plate_dense_secondary", + "layer2": "gtceu:item/material_sets/chonky/plate_dense_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/plate_double.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/plate_double.json new file mode 100644 index 000000000..ba5f9b677 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/plate_double.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/plate_double", + "layer1": "gtceu:item/material_sets/chonky/plate_double_secondary", + "layer2": "gtceu:item/material_sets/chonky/plate_double_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/ring.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/ring.json new file mode 100644 index 000000000..665aa603b --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/ring.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/ring", + "layer1": "gtceu:item/material_sets/chonky/ring_secondary", + "layer2": "gtceu:item/material_sets/chonky/ring_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/rod.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/rod.json new file mode 100644 index 000000000..05da66ead --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/rod.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/rod", + "layer1": "gtceu:item/material_sets/chonky/rod_secondary", + "layer2": "gtceu:item/material_sets/chonky/rod_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/rod_long.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/rod_long.json new file mode 100644 index 000000000..2856de974 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/rod_long.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/rod_long", + "layer1": "gtceu:item/material_sets/chonky/rod_long_secondary", + "layer2": "gtceu:item/material_sets/chonky/rod_long_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/rotor.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/rotor.json new file mode 100644 index 000000000..e411f89b0 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/rotor.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/rotor", + "layer1": "gtceu:item/material_sets/chonky/rotor_secondary", + "layer2": "gtceu:item/material_sets/chonky/rotor_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/round.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/round.json new file mode 100644 index 000000000..8be0d3752 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/round.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/round", + "layer1": "gtceu:item/material_sets/chonky/round_secondary", + "layer2": "gtceu:item/material_sets/chonky/round_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/screw.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/screw.json new file mode 100644 index 000000000..45d4b4464 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/screw.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/screw", + "layer1": "gtceu:item/material_sets/chonky/screw_secondary", + "layer2": "gtceu:item/material_sets/chonky/screw_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/spring.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/spring.json new file mode 100644 index 000000000..3999b33c5 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/spring.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/spring", + "layer1": "gtceu:item/material_sets/chonky/spring_secondary", + "layer2": "gtceu:item/material_sets/chonky/spring_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/spring_small.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/spring_small.json new file mode 100644 index 000000000..71ffb6a0b --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/spring_small.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/spring_small", + "layer1": "gtceu:item/material_sets/chonky/spring_small_secondary", + "layer2": "gtceu:item/material_sets/chonky/spring_small_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_buzz_saw.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_buzz_saw.json new file mode 100644 index 000000000..1481a0e52 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_buzz_saw.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/tool_head_buzz_saw", + "layer1": "gtceu:item/material_sets/chonky/tool_head_buzz_saw_secondary", + "layer2": "gtceu:item/material_sets/chonky/tool_head_buzz_saw_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_chainsaw.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_chainsaw.json new file mode 100644 index 000000000..b97e0c3a9 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_chainsaw.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/tool_head_chainsaw", + "layer1": "gtceu:item/material_sets/chonky/tool_head_chainsaw_secondary", + "layer2": "gtceu:item/material_sets/chonky/tool_head_chainsaw_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_drill.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_drill.json new file mode 100644 index 000000000..74085a203 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_drill.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/tool_head_drill", + "layer1": "gtceu:item/material_sets/chonky/tool_head_drill_secondary", + "layer2": "gtceu:item/material_sets/chonky/tool_head_drill_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_screwdriver.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_screwdriver.json new file mode 100644 index 000000000..5e81cc3b4 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_screwdriver.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/tool_head_screwdriver", + "layer1": "gtceu:item/material_sets/chonky/tool_head_screwdriver_secondary", + "layer2": "gtceu:item/material_sets/chonky/tool_head_screwdriver_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_wrench.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_wrench.json new file mode 100644 index 000000000..af4a2f5d9 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/tool_head_wrench.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/tool_head_wrench", + "layer1": "gtceu:item/material_sets/chonky/tool_head_wrench_secondary", + "layer2": "gtceu:item/material_sets/chonky/tool_head_wrench_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/turbine_blade.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/turbine_blade.json new file mode 100644 index 000000000..4778455f1 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/turbine_blade.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/turbine_blade", + "layer1": "gtceu:item/material_sets/chonky/turbine_blade_secondary", + "layer2": "gtceu:item/material_sets/chonky/turbine_blade_overlay" + } +} diff --git a/kubejs/assets/gtceu/models/item/material_sets/chonky/wire_fine.json b/kubejs/assets/gtceu/models/item/material_sets/chonky/wire_fine.json new file mode 100644 index 000000000..5a734e877 --- /dev/null +++ b/kubejs/assets/gtceu/models/item/material_sets/chonky/wire_fine.json @@ -0,0 +1,8 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "gtceu:item/material_sets/chonky/wire_fine", + "layer1": "gtceu:item/material_sets/chonky/wire_fine_secondary", + "layer2": "gtceu:item/material_sets/chonky/wire_fine_overlay" + } +} diff --git a/kubejs/assets/gtceu/textures/block/material_sets/chonky/block.png b/kubejs/assets/gtceu/textures/block/material_sets/chonky/block.png new file mode 100644 index 0000000000000000000000000000000000000000..d456c5965b3b4011baa8df25760e2c0af1565ac3 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7PJ6mIhFJ8@4LT@z*nlIr zSkCdL;yuIaHrX?LZ@p#IaxYygx2riOxe4tppTOd|=CzfrR5F9Z zoqody?>0&^OgK^~^KpX8omwTq#v&~V7N-2$W~C3_InG-8Y7fVZgR9nQ6zt`1It PU|{fc^>bP0l+XkKM!stc literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/chonky/block_overlay.png b/kubejs/assets/gtceu/textures/block/material_sets/chonky/block_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..baf443562f6a5e35a9732aa872e7556c93aa0bb5 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7T0C7GLo9mN208K_P~dRh z{Qp7!pH2H#?B21|$SCOw_a!dfBPpP? zoO4m6{=*xaH+{^iHF-=93@*)ip=>NVEX ra`v+tM^8PL`F(1QS?yK%e?86850W10s@${!Ih4WE)z4*}Q$iB}hYC!9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/chonky/block_secondary.png b/kubejs/assets/gtceu/textures/block/material_sets/chonky/block_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7c18018c00e08092cdf679a6b7fdb5855c6598 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7zInPhhFJ8@oxHK|umO*& zqty&t86CbF z+AnWs**9xu?&H&wOaCp^%G6nU=g;{^u{T3c%(YsjFmpfSj7y5=zux_3#K6G7;OXk; Jvd$@?2>>qTfYty2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/chonky/frame_gt.png b/kubejs/assets/gtceu/textures/block/material_sets/chonky/frame_gt.png new file mode 100644 index 0000000000000000000000000000000000000000..d4ad8581b3d4bc904bd6f90b1c072ec161597bed GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7{XAV9Lo9mdPFCD>*nr1n z{{Jr=TzuygyPD5>-`4!X$W-0%L1xj8c8zT-H}*RJb#(jbH*3=V6OS)??asc*b2z}I z<-bD90Z*45ck?RV3kuF!c2i{O6ozZRrwCc5yR>A^vS6%uUuidgh0yakma{DSk}saT z{#sNpQmTVPscGx9Wtj!%WWBasn^YVp%JApPrx4$sjc-nVwh>po{^MeE@wqLz*;`iR z8J#cwcyDs?viH@WD{Oci&Q)eEaAf>ayWgyG|9#bCI~23$YW>_0VE%Gf-q)DPqDr6A z6Z=2^?D1PC`tD<5;(N=bF4s%t4|Z`_K7T5?e`4sj*I%_543Ayf_V(DRSqClpo_4I6 zS@E7zQ6O38u)!4Hjx5LPUo@^ zL`9n{sV%SyIRC6}zxZEn(=8seuRPiHOq}`o&sozIk7h71Ffe$!`njxgN@xNA4aT-l literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/block/material_sets/chonky/frame_gt_overlay.png b/kubejs/assets/gtceu/textures/block/material_sets/chonky/frame_gt_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..bf82e85e46a84ee8bdf2185e12c02cb2571f231e GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7x;$MRLo9mN20QW{P~c#; zKQg)IbKDi#Wq#bj(|c1CHJ3K8;&RyMqGdTfhkt&+-me)ZjjP(~yLXf}#a)$o%@@zE zz|d3l>|8^!Z-}E%iq3YnN0vsNEoZ$O6HL?Hj!s_P(1?hptFQgy z{;!cHC+HMWbgsj2)*Ry~^Q_TA~sc*~%$G-XER54*+1d8?<{GAvjbCL(ZAOM0Ex zFPAOHBzOha%6|>;I=RK8=$wb<%wK<9AI!NuCFsMw`&mMa)$jAYG^dE&7qNJ5_Wti% zoAa(YoI56-^=B*PjM#JS?`fVT&noYwe7<_-w3Do#=I)SNN-r1|y#MXatuxP=qx;&g zdBtr(tJXf)eqdSVt<(24jVn(#%xn+4b#7Iw`NeaaWN9uLzqgl-%mK`+q(I0|SGntDnm{r-UW|>mrs4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/bolt.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/bolt.png new file mode 100644 index 0000000000000000000000000000000000000000..156644f37c3ec6c751a78c9d3953f9eafdc8c0b4 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Dm`5sLo9mV_HX1pY{0{k zsmz_l&3jNWB8%bcDpQvB1m9~}_hTP8H7wooaXQPp_nu$UG?kbH5BeJzC-*QK&z?5N zzrd^W&RnG?rKJ0Js@qpJ&Ac9;khVhW4A0iECv(0h82_F%|H1h;5`s_OU5Q#8bZTSH i{`EIz{e8ZZA!v6*--U0NSr`}?7(8A5T-G@yGywo6{77p6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/bolt_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/bolt_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..a6eb6cb3f04730224aea8b314e9bd740abec5e6a GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s70zF+ELo9mV_8k;#FyJ{X zBB7yNTDQz#{k=kgOJDB3ntj47$IHVhsKQ#y=mNukZb>umPdTn?+uc2Wl&fvF7H^p8 rYx;Y|&d;5-+)tk+9Nn`+!6@8V+jTgmY9l||qY)_qFflvS8iEP`%axb$XCqx$kk?(Qk0%`47*Lq`qcg00iC)+TS?IptGl$C6dv;xdArDn;k)1s|q<7W{M1dfoq7H*?Ys jXZ|j8z5ZtQbN*B3{nM>VquwwuFfe$!`njxgN@xNASzbwS literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/foil.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/foil.png new file mode 100644 index 0000000000000000000000000000000000000000..60e99db4757b29e9d158d7c9a808d2bae8fd8396 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`8{16Lo9l?PF5^BY#`t| zf0n}OfL+ct9P&=>Cwdkhzn~nDmh~c9qJ1_SyLQO2MO+zAJ*CxiZ7;hr{hs%wJnX~$ z)V00WZtaldQ*?PA^X7M5=%;U!pA_v}u=SY4;aMsF-=sAhet5v5k3qz>(U48yTB&Xr zE2qwBp`{|9ZJ75=dGr3^w%m{R^cMtWO|+lcKIl%F_dK+7iqL!8>#x5mAF5saU2d&u)NA&W-z^Rsa7 kXaD$lCU<_i_g#jB(=!WPFPuEVz`(%Z>FVdQ&MBb@0Q_%|8vpZ z{7a#mO?gvpZVHrC4vwiWc*4M_v{hZvq2PT^L%p}qq`dRfCraLExY5jWSv7akGsSa1 zc#4weG*1yvQ|zAEI3qHDdta)+hTj*aYd=5nc^13FsR_-i&(*$`ws%!!TPfnCutUse zpD44G%FK@~KkBR|>@^8%;8WS!-}Txx$nmJNNa?o*&1d?x?`Pz`)??>gTe~ HDWM4fP#sO) literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/foil_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/foil_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..a66c6cdda669354fd9d16d75663eca77e9649143 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7c|2VlLo9l?PBip8Vj$pZ zpJJW8)FdxxXHjzXeEdMYxbgQhcmCg!adO~b^u26zcJI!ZW{c-V3@cW>s^c`Wo;maPy4P|u zc5c7+EPHm1Vb)syYqw&uYj5z(e75!4vyImkJWZ~b)(R&&bzH2T@1@!AIcX2`fx7+M zb8p*;xqeh?k?{XD!JydRrTpIS5Dr5>#dAAr_$DoTIot4Al|KOa9#I+p1^w}VNr^{9MAQ%!bEbB>W;cZX9;j^X=rt(Oz) f%)aV>WjufKcjTShPm&oJ7#KWV{an^LB{Ts57CMSW literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear.png new file mode 100644 index 0000000000000000000000000000000000000000..96da2eebdb84a6b8eeb87e2b476b5e278903cab8 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7V?A9QLo9mN1{vlZHsG<@ zUdd#d-h1uLMddFYERwd;Qc(x^Pe>f-{~)jQ*KyX~uFVsDW0ek--Cnu3b4tmRk1h}T zGwOC1oD)@=v?uqr{QZ5op67N3eLnq^DVb+R&7B6Xkhtlj#=OS4nka%szyNptpJfAF!Q#%})k{>L9X{?_p`%vi?x z*`~R};Jop&%tID^JMO=KbbQ^Z^+7Wwy)+Gs+Y%#6)s^P>sS5-uDs9QVeS#zQy5e)5 zr6Nf^5^auFf`OLv&wFS(X7jE!JysYq`-jo{aD&Y=e!Uf66_fq;+Llc+3#DY8BE%!S zwq9$RS!f}XlE?7jp0g(F`@g4LIA7U^uk_NKc;<|PQpVbYXFl9p{QfuFjhrOac7Y`x zs_g;-$t;2=)7JUC`Mqyv-1=0*NjY&Gj_1TaR<-D6ZR}Eg8UK-W-o4Xd7h|OlFfcGM Nc)I$ztaD0e0sze2vp)a; literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..658a48b0021da4b17f9ab5a48854f940826552f0 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7T0LDHLo9li20QW{P~bRR z+wr$UKVLsde7ooxDP>MWCf%b8PAr=mcj#_%;=`rxY^n=H+PQBjnbW_^Ei2SwKFYi5;SRLZgp;&_g&Oy%8M6*+)d$c t?w;Ahe)^l>gLRwtzJI#i{_-|kUa|kj1D5DtV_;xl@O1TaS?83{1OQoRMOpv= literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..372125edc9659d8185fda4c59024d1193ca49eda GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ojqL~Lo9li1}RQDY`_ze z|EpDCq0NGw)0aG(dr0I3_uI1)5>I#;mwsn#-lOC&xn;YDLS2jZDrx_7j-ne=GnZaH z#UOtxPy4|fX~Dvv|3y3J6j#P)Pbkg{*`GOUv*9y$7p>m=@4w$a+h^z&F>Ptdx!yA| ztIwa=TAUX%ZE268)3y$=fC*~rYtzc3%tfuN+IrN-4K zHVTh=IyM_VV`Esn^_z6US7FgNd-GkFI34jkc<=YOwg2W^c6#2o%1+QVZQbvE`~S{SY(zL0@|fx*+&&t;ucLK6Vm*r#g% literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_small.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/gear_small.png new file mode 100644 index 0000000000000000000000000000000000000000..36d3fc08751258fa951cee3d06d87f8871e1457d GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7xjkJRLo9laPTbgg*g$~A zoqu|P>kQWo9HNR23zM4{KA5qPQFNiw61gREJ8VBpR%i4!`g8HW8q51{V%60j?q{6q zQf%Q#NV}7_J=pKy_1(w*)*Y|*?=cj=D3Pr9zn@7{l|e<&=|t@HhkNZm=vCilxL2+6 zaL(Z~6OL@lW%z2#A#$7H^{z*A9)GL|aWqbrai4eoxwl#=tLK{6zl>~noQ-*$jn5lT zGBExo8NzOV>gE}P&6i_tZDUn9Hsf?DpE{S~lWn;ZkJy}Nh*=*#r`SVj>5)x3rBhGW z?RagqEmwJINICnAWt^Vu;nQmuPMDT@@XUvMlY^WtDISq62T9@XgFPi)EOvrw_8I}{Y5^ik#DtSjL Xte*E^(+4>Q1_lOCS3j3^P6-Lo9la25rneY#?C6 z9(C|+xXgi~r-nW93YoDPY^)_8UDFZ{hIy=Cv(RbLUG=NtPXv6DnVNDBdQOgUmHXHK z{X5G)>DARsI#?JK7F~W=Q1Nr?s*aX9#z{TLs_%=QtG++A`ru_{!_c*^DiPV+&-~eC z;k1#L;mjSOiKPrpPOf;x#xSQ?{@l*n7rWmk**@nHhJY!<2-AyxL|)GcYog z?Y?U*I5)I(@v5%|Jm(qmSiNptHhCMmRWC8_NOkDi^|7JXUA#^*INbl9?^2TVEG#rT zbnW}4^`H6sjz50>Xw|z1i5F{1?M44a*Dy1>tqI)qgwvgYfq}u()z4*}Q$iB}e-xEF literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot.png new file mode 100644 index 0000000000000000000000000000000000000000..0c739c56444638f24b18ddc6cdf5b9e7cd9f58a5 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s79(%ethFJ9Oopf+wi-Lfw ze6%#vTxK>$zd5>nY!5E#@FX=g$h?rb6CC{F#hhi^{I&Ldub+OX-sjxUi0fZ>SQpP% z*xhG%Datw2Q*-VN^TtL)Hz$r2S`4eIvel=KNoQ1J(7D7&BN?G7$y+qOAWZvP36_rLiLY|CB8JuS8Hn|zG$Jcrqreb4>mP&Dur pUUh4s^@p$oq1%5sf4%y{C_jIP(aNRaObiSR44$rjF6*2UngDxBc)$Pv literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double.png new file mode 100644 index 0000000000000000000000000000000000000000..2c889a4d602d30a381717e622182fe533b13afa5 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7nLJ$_Lo9lGCmk$2qQK+2 zKRu}F3bS65(uIQ9Z&G)C z=PTSkE)kgBx=QK!9m9Mk=Hwm@MTbyEhE-NmeEb(Ux_k*VlH8-y9nZudSSrMjkai_X zQEA6}Y0Kv?Pg||n+B8$vXhO%IJyRaJy09=jU|N0VOk5_*w!6HnYoA#3z1#Eln95y_ zwF{;gwRmgBI*Q-$Q8P~D?&^466dSJZq506}JfDyt|Cy+~;}xe5s9f`vzQ!S!HX(>f z@aO)2+)>ki@B443^5D5)tH6OX9EueY{tMQ=JFN2A#yM10s?oX8Q)jaJirD)prDuPf Uh_>rtU|?YIboFyt=akR{06K1eI{*Lx literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..b6344c952c6ae39573dd16f00690b0f447140fbb GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7CVIL!hFJ9WPP)i@K!L-h zUoXYHXj@*0`Xc*lG96r;7d5^+uz1W^x zOcjhK)AwHd_e?_2u;CH&903Nob+?!$n)tX{tsB}~oY)?)TdWU!yvWV(zQ@z$I#o`$ zTv8$(Z-q5vGA(|?{NVX-l_wR8?|e;~nqp;IJa5Gt<}T*OJKC$v`xzJ*7(8A5T-G@y GGywps2~KSQ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_double_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..4a7e09631f04bb32618649d911aac88fe5791c11 GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74Lw~PLo9lGC+yBWY#`v^ z?+}(yJe6(2qPAp-H=^6Mwlu}ANSG)YvV!-HG23e^cpTTT$VBG*$!=m0FJ_St6m+qoX*T3k=!*!rJ9wA z!Qy$*u^WH&IXyJf-`iHaKNvMTI{WhvAH%nWGW;f!x94()Ok8Dr?A?^v%U(L@Ux=z_ zIAF-Zq2Q_0>&U?1vL{fFLqqcL_19lr{&Tto SZZiV|1B0ilpUXO@geCx-X_*!P literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_hot.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..0c739c56444638f24b18ddc6cdf5b9e7cd9f58a5 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s79(%ethFJ9Oopf+wi-Lfw ze6%#vTxK>$zd5>nY!5E#@FX=g$h?rb6CC{F#hhi^{I&Ldub+OX-sjxUi0fZ>SQpP% z*xhG%Datw2Q*-VN^TtL)Hz$r2S`4eIvel=KNoQ1J(7D7&BN?G7$y+qOAWZvP36_rLiLY|CB8JuS8Hn|zG$Jcrqreb4>mP&Dur pUUh4s^@p$oq1%5sf4%y{C_jIP(aNRaObiSR44$rjF6*2UngDxBc)$Pv literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_hot_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_hot_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..66495dfa3bba53f8d5e25d406e0f1212a0da1522 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU zJuGR{=`+v%|JQ0+{g{D)A=%T#F+^f&>3M6uBMuzQ0goS=-}!$)aPr+2H4l+Jhl~z9 z4>_y7`CHx5JIN=ER`EW3W!k^O%1K~BR@giFghsh{`U#R(l-Rbk-j^)WH{GNquW;7* q^Op(Cb3f{9P0%y4o2d8QRD6aO(-wO*<)aJ?3=E#GelF{r5}E)i>{>3D|*rPcWdyLO`=)8Yh z*YR)hoZ{>I-rE=LeI(hkdFwYFrKue+w&nW!vofsR`h3^A{YgElf)hJl%voZ=)Y*~L zvot8{pRd!oo!MTUL0%$G8qOR~zx5fTgi_ejgrB{0HnfUUWNwhtj+u^sG zfk7qurHSuZp@l+%XU~*>32W?lVJnlYGqL*j*==<$2h<|U?HgvkKT~t~_jKJkvp3{S zX#FmzmA0?5Bh2gUiEg`u_kYy|Cw|`-!5VvgujTV~$0Tm~TQCLQ*Xw?g)U&grgKY}) jW+o4TmmI$?S1}yB@PM1^!L5D<1_lOCS3j3^P6oV z0>p(Hcoxif=ej3;Q(MOrg^tS@3O>pv#h1qLzD7C#&6EwJVi`iS BN-qEa literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ingot_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..8bba7db7e25f67d86f2534e99357324499e4a4eb GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s71w36GLo9mtPS{x3Vj$ou z-X9&XNsyIe@(La|)*nHub~HGIYAAe-VJwqmDJW+Z$W;(s=>3D|*rPcWdyLO`=)8Yh z*YR)hoZ{>I-rE=LeI(hkdFwYFrKue+w&nW!vofsR`h3^A{YgElf)hJl%voZ=)Y*~L zvot8{pRd!oo!MTUL0%$G8qOR~zx5fTgi_ejgrB{0HnfUUWNwhtj+u^sG zfk7qurHSuZp@l+%XU~*>32W?lVJnlYGqL*j*==<$2h<|U?HgvkKT~t~_jKJkvp3{S zX#FmzmA0?5Bh2gUiEg`u_kYy|Cw|`-!5VvgujTV~$0Tm~TQCLQ*Xw?g)U&grgKY}) jW+o4TmmI$?S1}yB@PM1^!L5D<1_lOCS3j3^P6R=6BH0kdG<2)YoY0~%qmxwNhi(-M`Wi)PP;9X-?07O_Oxfol64>X eRcxpI@7Tw%syyTKEhTpb5b$*Mb6Mw<&;$THKwKLD literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/nugget_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/nugget_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..2012f8c33f9d6ac5d7db25525d51b3c7501b471b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7GCW-zLo9mVPS_}TK!JzZ zRjjGkDB4U(xK@hGz--Cc*ef#*Z@ZxU*DH`&f_<`mRnD~H6bUYY0;ZjF+ka^_F40=K zg{6G;QRz7ceE!tEob+h_1`gX(1>0Q>^sl&{cQ=qY{q(|tSvfoRuVp_I@7|Jbyzept P0|SGntDnm{r-UW|y6`&$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/nugget_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/nugget_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..8a2166461c671f7b5d040e429c4c8cf69bb6d489 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74tlychFJ8zowS#?*+8H* zzAkJ-%etbeTJw~2g;jJXS9AtkSazCE=K+(mtJbQ?A9x>zcyu^Cu{xElv-k6N(Ql0Z z-)v*Mc1w(*V+C`=B8|M0VcEITP8ST_S_Dcin^cB|_NQ1J>)@O>KYP+&^O-?e0)lI& zNHH9+EcX@a=$PltaG-kr`n$I4rk<&pm+-#!+?ljj(=2tmcddKx@wk}XrBT_D!hS`s85kHCJYD@<);T3K F0RSQvXk`EZ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate.png new file mode 100644 index 0000000000000000000000000000000000000000..c5852b31fcbf759f309f09b838693be61a9b0348 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7u6nvShFJ7Iop`Xf#ej#Q z{qnSg?*ifz=T#`r6FD$hPebWTLY0E;n|(4H*>C-wS5oJ?F+IupgME_B@#i+@&+m@; z&e>IbPLiQ~`TO7I%XTv}d1(e_=az51*1d$gLW1p%EQ4TXLr2Y&KQ50f_|B{mZPic_ zRBD)hJelB>FAK76;9?*XHMZ?L#`Nx2J4sB7r$ zZ^_?I#MUWJn;CTI%&lz3;}*BKF>cWDE*G4mYMJh(xkBspu5C39+hymdK41Tv_wU*Y a#(1`tOmPs_dS)wA)4#OZChsj=6E zl67A1nzrtB*1w-Ma<_IeESVAz%Fvd0pt`@fZ;tWy+r5br0ikn>S7^PT#C>3sPH55r z^UmUT3Oi?LKIdup{x8I+Px(Oml5Gjjx4d}_I2%?eDe0X4^ovz+rT#6OAg|Jhd%vsr z6ek2F&02O{?v3iXo%|>EU0M|ydaUrtaXlNk{-gSnvp!#Qx0V!KwBSNh z(Ug1FlNcW@4b`vs@9rO|I*EZb@c#qh+l*HinA*IbTjIjNz`)??>gTe~DWM4fZ&ynd literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_dense_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_dense_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..ec537401b78264a00dfa772412426200871da72e GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7eLP(pLo9l?PFBo6EJx}9I>pH9SgKM^f&Bp!%epe>#0IWx@^w> zW}4aloy`>shvX*P1d6L!Yfse2mbZjBOSXj1sWb@&4V!``^} zp>9*R8u0MH{<>>_)Y`o5x8M3QFickoI=8c8`|Vin87e2+4WF&kY&@A#SU=T3k+;2u&Wuxoq?cY~Dv@>L7$*XHj&6=+f@@aPZ&0|SGntDnm{r-UW|7~-k; literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double.png new file mode 100644 index 0000000000000000000000000000000000000000..eb91a882570a3a4633f9c5d990ffb342e8ab73db GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7nLS+`Lo9mtPCi(8RDs83 zx{ud{DhJmKlh4a_eVC}Hap;}n7Y194_8yVP?|<%0*`&^Y$u6v+@qfU%pLe#sty$Gt zuJ+qclaV1r^zH(nwf-@w~yva7( zeKn3jbEzhyv2*C%oX1r2@7Wk&PU4FcOLb2WY_3!h31=lj}a9(|N UiB{Qk1_lNOPgg&ebxsLQ0Hhp$WB>pF literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..cc7c6e60a6d1768d723e2dd8f738c248e5d31820 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7`aNA7Lo9mtPQJ@~K!Ky> zVCxIFbJu#`xO_P(zbB?QbJipY(R%EilT==3GtLGaPL-8&ew@2|OD)!1mwz`(%Z>FVdQ&MBb@ E09P?jVE_OC literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_double_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..df0a19900afd29043923a53ad7c6277d1133a990 GIT binary patch literal 375 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7?L1u^Lo9mtPPWZEY{1hR z-xb%`ttPL~CMKtR;a%BTO{1(Ak`^htd#o+l+ATgZ+GI}Pd#IPVV1e7kg&OLemwumE zF8{z@=~#uWT>t#+?Ah~O%=i>#7#u=(|E>GKk81_1+NXQ-y)}EE26^2!DcdOPJ1_V zr})H$`{wRS-K?ObE_l;s?-3~{m(Lb`)}M2$&n)Z6nP(Nz9C2EyXj7?h)S7>-5|6Li gtn2(|vX9|$&C}f{!e>upU|?YIboFyt=akR{0QFj+JOBUy literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..98bb6f50303595d47e97ac6e0e354dcff28490cd GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7YCT;XLo9lqPP)k3pupo2 zEw)P9aJKYAm#@oT6^bSOG1|z<81zndX~!SsJF$0c&%X4T!nI|(NSUH}H49%LYr|22 z8OF_g3Hb`F7SU&>eiO@X{u4P%tyH#w?GWpy*P3B_cR5U0$kA+l$n@Hpyt*SsirXe? l&-1ny+WxZas{c{GDGhTs`2L7k&cMLH;OXk;vd$@?2>@c|L&*RD literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/plate_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..89211c9462cb8c004e038da231c9bbe3a31c4b34 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7xjkJRLo9lqPTZJ##DK^3 zKkN1;sW7<*LZ&f?4jlX&8>K%{L@z`|dqsitj&hy~PSI`WnRf&!@-7VFVVNVighwDu zsPnr<(1HIP$!9KYdwV?Y?FV6%=c`u5F&?liU-|l1W%vYUrp&eN63L2|@Be1{GbNvy z6y(IQkV8>KQ}u-H`F4S>%vtAtTJZ1m(A>({P!j5uYk17*6N7_`wsE=APq8zfYyS1R zXl~71%l`b1C_~@Pntp}_Tjh#6gR)LPlt_L!XE#SVOT)6vc|C^Q#?2kqWCSMaOy~$x z+I9DDlg{Ls)@koP<=y)|`ON+Af2A2BviZxKVuGeU{cX{w?^3e)TAf$yfxF^Qgl?Xc e`?CEJw`RlY^!*oHeljpHFnGH9xvXHoeTjr;RfCSNu&JYUT4 zYL{P?|HIPQ#jD&xdvk9eoBuFTBI*A3z|hB=be1dLlzcNMS;pOoqvAcI!RA^&wwzlD z&t=lwI38a4ZlQOEM{uEzH-ig{VB##bUF&{peX5H&^ZC!IO>ZJaSnpMbd=+XtBE5Rm hE$-b-|9`#Uy>nLCapBgBm62STJ@HC0F>@s2o$kAAV%o^Sz`)??>gTe~ HDWM4f*AzI^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/ring_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/ring_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..00c57fd320472237ddf6564d43c044ac22bf414a GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77J9lkhFJ8zow!%v93>(!yGI>UEg%vDp)6~e=%oH5Zu(_GbuqCMQ`60Ekxi#ghO5V?{WB9l8%dB%d zT{XY5F&G@P@t--jxVyt)wZNg*CUc7CCG~9XU@(5Id$N?T)XwqnO$$sov}J*5uN>XLV|9l`HO?Q^JARv{eHK*-d6rW Ye1_W6dkcjb7#J8lUHx3vIVCg!0QSdP6aWAK literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/rod.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/rod.png new file mode 100644 index 0000000000000000000000000000000000000000..7861a55687c618824b4fc97568384fd3a089e909 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7>O5T>Lo9l)o>?f!tSHd> zuzcngS8E>EfFoX92Nr+4p_}w|(MFfT!!uiC)PCN*Ju|;?e|LwK;Ma}v_mi@9v(`S( z{dw@fs;bHjJ<-{*F1w1?)r$q+`(1nH%=Zl)ZywJ1Y$qQC#ELCVJ n*weiDxlNE4!-k&v#o`v3rMlYB{BAHXFfe$!`njxgN@xNA)8tKJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_long.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_long.png new file mode 100644 index 0000000000000000000000000000000000000000..aac16b37878f3dfea30ffcd41271ee6186d678b6 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7vOQfKLo9lao>?f!qA0*{ z@Zo1A`KB8R6IdLCD&DYdlue@N7FVdQ&MBb@04jnxegFUf literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/rod_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..9063b94be01a0f1c42e8a03426301de743106082 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7LOop^Lo9l)UUKAf5ae;a zc)U&LSvSrJ>MY8L@zM6XIK*qj;hfVyE zv*PzwEp?dqEcf=d&`C>w9%|*bTauOL`0UIK!(`(rX(}hbF|snW=;TQX-~E1-fq{X+ M)78&qol`;+0E@{&tN;K2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor.png new file mode 100644 index 0000000000000000000000000000000000000000..12733d7d4a061b5c347c6d6ecdd9f90f738fce02 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7zIeJghFJ6-4LUfnMM2=r zUL%$>j?D%fO$$yf&(EI6l6dvm0>=ct3Cweuzu#!Sdiil(`RAsEFJI;{{M#*eUs`Dr zgM%h3!;EDwn|@AoaJgi_6X3P*ef65xT$4g4_3u{mJR)&=SJ>IYX9o=j{?d;gT}ERl>KxQbTBzS1U-*QSUh(S z^3rS(@Kf>aWvF1C=B!-#Q#`b3z30mt(bJZ$`t|;`u-&vq@uC8?9SjT%44$rjF6*2U FngF@&dpiIC literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..d567d4eb277ddf563f2ebeb7fe3be220caaa5b2e GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7YCK&WLo9la208LIDDd3w z`QIr2F|{&quR&_D&zA+h9%8%9w0mCUZ`jMQK>Ej}MH^TiJ(6r=V~bvqv!mCcj$|HC)x36YXUXF0Vd0kq62mdKI;Vst0L2+dO8@`> literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/rotor_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..d6bfa4c80a32dc59e09a598c5f4a0b4cd12238f5 GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7g*;sxLo9laPBP4EF%WRA zU$mErSM;U0R^P@&?wOi3tV%PJCKR!W-&SKUV4OaKX^;4gEUp@kOGmVwBDUQ9cS^2$ z-?Lu34>^0+aJxKVQ0RNi%@7j$_1^|*!JUZ`ewR&DKie#Rz3W$vUH#jyd-6nGpX{($ zUd`72bZO=+o(Ao%M~AED8x-%HC-9@Y{6&#Go|#Q>uWMk*-fn}w$C)Q}lvZy2c5MH#n|B;D(w-R=Xf5SR z(_6cB{%*F@{Jxh{yjEKFJ@%HcKL0si(6e6r?~INUx}PtU#>!6H+gaex=tTu^IIr>(|vWyiuCebocy*uM7+f44$rjF6*2UngEszju8L= literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/round.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/round.png new file mode 100644 index 0000000000000000000000000000000000000000..b85f9e9151616dd963d45897d0b0f50f8b25d32a GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7$~;{hLo9mVPB0X7Hso=> z8mFjn;E+->gM`Nq7MC*zA5HMve_e6jzh7HVPP_k-$7a{s@NEX0eLp>~et-N;VMf~S zYhBzA-bG}~D$ZZS=s6{bfnm~vcgOEoGshekWb};G$v1e;;_2b!vZUcl=i04*-yfIA f{C3f|mho|w>f&9ep0_eEFfe$!`njxgN@xNAa?D3O literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/round_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/round_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..05589c8ccb1e7c66ea2e7f1363e4d11aa17504ce GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7+&oP6~Sbm e=ws4iVA!&l-`aGG9S;Ko1B0ilpUXO@geCyRMJIXy literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/round_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/round_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..1c99631cd8ed8de620af395de560c34b4c48e479 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7nmk<`Lo9le6C_wgnB8K8 ze0_bVFIlog@9+;zP0fogvu|CwQu6ZZ>Ts_A|Np1|`2XMja4WZX&9gHzH;c@UQj2Np z=<2d-*tm4bl67+|i`BYRm?s?EoPNHf;N->!lXg^mT+}~h%9W|<=jXk&ss838KHX|g r&oC(E6&m4TtbLhH493ws~~0|SGntDnm{r-UW|PZvx# literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/screw.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/screw.png new file mode 100644 index 0000000000000000000000000000000000000000..980f4e98a33554dfc2d62b6cb0728d87d23f1f5c GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7)_b}*hFJ98ov6rn*nr3N z|1#Ny?I%i$I=@v;L&3T4<0n-`+7mk*LQcuhWU}#syF><{N3JBGE42R zwBFJT&8H!sas&;Hf9-Sk{S-VQsL7D+3{Uo3$4^$wbBnXqwstTu^cV_Eto`>Su({Kt zJ(0n9@oTFVfp2#$`a+*^_ZeoLi`@JD)tv17h7ObGYhLfl>eQ{A6ij+muN+lNcBn7(8A5T-G@yGywo`@na?c literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/screw_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/screw_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..b287140b2b33f3c83ba8df9c25a38bfb52eb29e3 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7l097i_z<#lOa+Qgu6KGFS4iQXK=KCML!9PLKe=iR$pf8baD%=Ufn z_3IC>;tD-FCnZ>^%W&JZTbCcHp0Rl{M>^D%W8vRzDc0=56NN77E#1P-kbI_A=D6C@ zk{_B0&lbMkrFHDawbH)=6JLKRJ}29qUj6>O%M#YD`4z9uTAHhVa6fcKQ^{O#r5N{| hVt)pW#_%HjkNY!{9oM@>FfcGMc)I$ztaD0e0s!LmT?haG literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c81adf0fbc924335aeacc6330677255a97b46b GIT binary patch literal 283 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s79(lSrhFJ8TowTs1#Xz8K zfA(q%?rAojHfH=2XL_)mb#8d9`ynFf;*mwdva?scmeD;P8@f9yy=?#g`*$OMyxy_r z(v@wwr#{Ox>{=I}RQ6$8uI8~BNj)oH?<$F}uV!Pmc%Ctf z%6XE<1(%AP+xeNZZ_d_hEdm^hZ>sLgTZV_W3N)og7MxRTQ8;b1EHg=>?exL}XMa}h zz4YBSHBxD5$}F`O0s9AY59H6~&;O8-p8Zyl=f2!YiO*jRg1q*8U;e@GfW+h}K^5;A oH(XFVdQ&MBb@09vYjnE(I) literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..53d28ec2243ceccb724c02bd673c09171c848de5 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7;yqm)Lo9laPIBa95a40C z-u+|K^lPmFshKh+FI{)d&1Cu!`!LPJrApz&i9$zScZQXAPb)cj^{up&`6E{vbGzm3 zHMN+idDq#D&HoAS+)2F$6B64wD(w!6E@QjC|82GC6UX|bm$@CA85kHCJYD@<);T3K F0RVGsGn4=T literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d70dabc3d7da1eb3bda3f0dbaf1aa7e8636b8b GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7PIuzLAq_w(nEnD?(s zIIW(xEm7hg;{uJYH_FV$(V?yOxwr2vd*5yA-9~c-I O7(8A5T-G@yGywqQz-H?J literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small.png new file mode 100644 index 0000000000000000000000000000000000000000..a8975e21122978ddc9ea1cdb4533bf5f9130ad08 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74tTmahFJ7IooLwCY#`to zzv*QSdlg^ey9dq+g&g89Gh&qrIjY_zMBQ=few{g&Yl;Tn#cjLyOGbXHj+Z+8zhkSJ z<#V9}cJ-|Krzg3nSU#Wh-Oko~-Tj2Mrn$F`&Kn<-Na|@3=rgxZFNnQ9CAIVWJOL&z z&9=k^uXmkZnUMeP_q;_K7owDvdLI8^N@txvtGFO6AoOaiW^2bBvvk&Lw^$5(gbP0l+XkK DwmoMo literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..401a0972b204bcab5922200f0516913c41e759b9 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7LOfj@Lo9lqPCUqYz=4D1 zxJioV^?K3S_Z5%1%vX#QaFHo@{L!wWnE5^MI18IhM7ev^^8mTaJ_*yed|D`OE&gup t=F}ZAM%vE}Djo~hcuoi|`QTo{6mDIA(pg$@J_7>-gQu&X%Q~loCIE*?FGm0X literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/spring_small_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..71fc8e5e76bf4c6ca8e6ecb2bf93875d98bb6594 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7W_r3fhFJ7I?c2!fWXR*f ze~>})q5c7pEgRguqN4mC9-1^3UuTyL>HeNqZG{^07)a|PG{I%)NPOmm#u#q`le!sQe#hjg~`?LDCeJ2?h P7#KWV{an^LB{Ts5A<0FmZR^mqS+!J=_f*+(~N}L7d#WVvTo&O)3^WBws9zWe*GWvdTV)_joBaeU;DO~ zS1-?R|Gm#VwATBd(}Gnk0z3*W3C}q4A)F}4c%6)VlrTOF2gYW^iqoy z9>p7*bj;3g_Pv~P+2p3p`EBb~>z+<3jkS;6=;6HbV}Nt$=BQQei4V$l+iK2dxV25! z?Am;`w!{OL?mdEniSHHCKPVUqCeGefthYW?RPdl>y5|?wj$P|~T{;XO?PY&ZxBq#S z%yFMP+j0Znw6DLO9oB8g^kDD*IgVULvafdWg&wW;kDM0ymE$+hHUq(%tD>r=I3j literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_buzz_saw_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_buzz_saw_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..bdae8fcf8dda9bf36e5803ff7cd911d58d498852 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s73O!vMLo9mt21fH8P~g}c zcS5=F+1!r58(an0@=nf@2-@;AF}uED=HcD*Z0m$}vu*ZJN|n`1N>dY_K3S5--6gz^ z?b$SKh6NSoCrj>af7@=|kRHU!kgM=W@k@tG*ZVL&UY#p*4xGIkzanJIArb4-e_Di9 Y*0l(%`!3YRz`(%Z>FVdQ&MBb@09AlKA^-pY literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_buzz_saw_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_buzz_saw_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..485a43548e564c0f0177d1788ac45e74b84761cc GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7bv#`hLo9mt25A=^HV~+N z`-Mx%5|9V$x>~n^i*y}${d^rW* zGE^`a9P42SnD+GR(KByCMHO38B--8@@Z1(~TC^%4RA8c>h|5U^2bbNMvxEdadkx>K zM{6=fWZTav<}WvF7Z6ekQo1DIbgA^N;7HvoOF+2a)^SGrt$jc zUE)O@9y2TNe*as{qerjZsxg!~+_h=+!w(W7VoJ zB9C_5%!yNayW=3wq!Be_&nOefZq0wnBdf1_lOC LS3j3^P6dm8EyVAbo1eW_*YwJ^&1aod{;f$_J+~!^>Hcg_hPpM6UOF!o zF+9e=kbB#%OfdhpnE(CnQ+n5KOgTe~DWM4f$l`2| literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_chainsaw_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_chainsaw_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2ba9f4d82396cf2a094de20bb561eb97e29bc1 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7;yhg(Lo9lqPCUrlV8Fxt zxYH^qJ^9k(%a=F;CpA?hp6qwA{4Kb7deAoki3x1exH1Y#SD$TfF$ie9bmw{MjXB;D z1|z;J0}1D literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_chainsaw_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_chainsaw_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..03bbe678f801d37724a2ea67dcb9e940da323b49 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74tcsbhFJ7oow$+rkb!`! zy^!{j!l#TJlPj2SiEMZ3GMRVCHA>Cllg#uKMlJE_iayP%+-n{<9Q6#3*!TUuC;Oj> z_FInGZ`VwTVp#Bc*J-`(tz~_NN?$GduCGrNyjXeSqp%InVM&H-rB@YOgc(eHi}@9| z%x1K-@tu6~|GdQ9tGCYN1XaJU7QE;pa{0||(Mgu^mN%yabr-*THb*;Nf2OO8@n*$E zFZRCoewH<(BdIF?(3u=B1BRSKE8~1a12j|2zx@Bo;GMkVh`hC#Y_wIu^w_RBT7iLO1aa6qT zH2mc9#Y%nEDkm3)5BDyY$||;`6iL2)G(&@7*Sga`E9b3T)g__)dRN+HZbpa5X&oGj zEFn`X=NWTOaNlJr(YDZ|+gqhHmU+P{oztHx**%X*gop|%9_#on*RU;D^0?u3+kKyB zD(RNXxG&2*RolhFJ8Tow$+rkb!_} zeL$E;u_!ac)af3RSv4--FkZ04f^%cj>?s}h7F$R*oa$}oV3jdabSx>jT6_Ed>${Ra zN>eWxY@WU^_x9cGjFnommI*HYZV^UWpr1`tp3i75#&SO~c zdRH+=;%=8I{`{*}S&6t7iWbLS|K0K~cgysKF2ax$Fo*v#m}$WW|uE$VwAyKvXMjy8$Mw=Bz9-r1-0NIs3-CZcd(U1U>C z@|ldawZFtTgSajRe|BeLxDeI9a^9@}i}Tp?a>8Tc3cMK@7#KWV{an^LB{Ts5r5GCSa(ujqJ)z75?^0mf8W=u9Ztm-`puf-{lWMed&RD0+GkZ#=cO|^ za6FvE>Z!TZBiq-*%f3GI<0c)0V+zlEqF(O^=4CJ_@Zx;E>(zC2&9$Zj6i-|IDeO$-bS44$rjF6*2UngHprS?d4* literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_screwdriver_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_screwdriver_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..ef831b9ccd0eb88cc75f8c0f9c3e17bba8668a78 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7B0OCjLo9le6C^SYcyvAb z|Np2bdQ7D@x{B*H y2=*?q63?^Q<>qAexP(!2Rv?dp>*WVb4AVaOaujMMoM&KQVDNPHb6Mw<&;$UG05jFhuMdW19nsdS1_|BOw`~hs5NR?-&N8up z6rD4lF5HlnmXgM@z;AMNwzl!@8L>7_d%uUen1%lR|K;JiGi4=ZlkXnM{3P(B=9+$u zt)PRi=3Up6;@wOumQGo%{w=ym;<0n+{B^VXW~_Qu^2WwDAyZhPUMJM&9L#>qA5-Hey4VxZRuFDRn5g@YeawVbk4TkAg?Jw1?O~+ z-_&$b*?MigT7RU+Imu%ZHC&a}iT+-h*6!K744YoZK0f38f2#VspI*=Bs(D2*FfcH9 My85}Sb4q9e03+K_g#Z8m literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_wrench_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/tool_head_wrench_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..f26a211aa800af45e70b092bdff9646e5b693955 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s70z6$DLo9le6C_F={Qv)7 zWo7!IMV9kKoFA|qFq!;XXvebu|Np;s&b-9yV8oIqpm?C;yn;w;&yA@@iK0grH)b$% q?BvK3Tsf<=RPv&p1S<~@LmHFu-}lzL{xL8xFnGH9xvXFVdQ&MBb@0Md~<0{{R3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/turbine_blade.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/turbine_blade.png new file mode 100644 index 0000000000000000000000000000000000000000..46349c3c73c63e3d55450f1afedf68f65e69c372 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7E_=E-hFJ8jy?8pe)j+`E zVz#RHv}Np4&PBW#VxHpDG@9fZzopr0C&G}H~;_u literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/turbine_blade_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/turbine_blade_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..74ffd68e7f8779fcb8a9cb0b9b5610aaf8206ec7 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7x;$MRLo9mNPVyEyWWeJ* zU-I2#<)^3Kb{<)l8LOR@6hsBSiJudy*ch=!CgKWm;gy~l{O6tYGB|!BpS40AwzmgMn{O&l`K}T%+MXXn!<}3yj`2OwYvCC;1}5O z?C<${_CJCA`y1yJZ@%{HvmW#FJ9C~b%bdr!Aoq6Vc2S=TCcdV|(n`04FFuUEU}@gX zafw?|Lhzsg&-!aoj19BpW7L@#jHMX@yynihx#XX{+Ow5POz&&o?p+`Ji**m1nng>( zySC3atK*;VEslNjV3)SwTgHYCzS{fpyVvcu{H@nMHE6j>ek0=oiQ^ylYIN;fwaPrr z?DVERMSQW=Cyxwmr|1RbxJ&d%gl za&eG!=by2SGtDs3Oe5Z&VN~ZL7oB6;cLlhh|4?N-HYkW(KeS#=yY9;OXk;vd$@?2>>QYTa^F+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/wire_fine_overlay.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/wire_fine_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..8cc50d44b61b650d2c003f026906d538f8a663a5 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&!0_JF z#WBR9_w1yLxkn6moacAxEYz9E6nA*0V*R|;vL_DQ75XOe#{Kbuk3awQ+q1C*Em4tX zcH)rAX0S}3eRX=Egwuh$=`m-eB8A%p7z)a>)`~Bja%k7O+DXyEvpb8=nP-=$$A)`p zGV~@h#M`d4JojN;U9Uj$o})GG_x@%v2qf>BX7O$TXXSPm22be^d*A=|e}8T1ta%^9 za(vm&9X>N}aloa-wEfrrs^(7W`+WCYTJVnQ%QD;!UY==b2ZAqM-1+DD8=)f-S9O1G zoU>VT>5|DdbGPbRKKEJs^()uk@U)`u&!VzTJ)^z9KDzcy`r__7v40F|_h;SZduVLI Qz`(%Z>FVdQ&MBb@03Dczm;e9( literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/textures/item/material_sets/chonky/wire_fine_secondary.png b/kubejs/assets/gtceu/textures/item/material_sets/chonky/wire_fine_secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..de7589ef74e8055f72854296cc1c8d201c6ed8fc GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7j(WN{hFJ8zow%2`*+8H* ze$g5S=ckMu%?kX7xH2^~CW&g?*~GwFJSTw7qx5KHhxcS>K1HDt%}*+)?W^9`s!RTO z?S5t3+bvh4uWw!UeX(qa=&D~cD?D9f1S=Uf{9UVX?8T);C7m6~&zfeQXE5M7d^JH` z`^2U<8<#|B8jDxXyZ?4?<}9HDOIAJ2QB%@adUu<}<;n5FJxdruk0yGmD$T!?^JUel zJn#2e2gO!uCH1U(y(_Ui!X<`d;r-8FH+P(97x;D8@v_uc&UwnMk3ai2eqmr>VDNPH Kb6Mw<&;$U+sBF~$ literal 0 HcmV?d00001 diff --git a/kubejs/startup_scripts/tfg/icon_sets.js b/kubejs/startup_scripts/tfg/icon_sets.js index 4730d201a..39e0c7b21 100644 --- a/kubejs/startup_scripts/tfg/icon_sets.js +++ b/kubejs/startup_scripts/tfg/icon_sets.js @@ -36,6 +36,9 @@ function registerTFGIconSets(event) { event.create('tfc_chromite').parent('dull') event.create('nether_quartz').parent('quartz') + + // Credits to Flare from the Cosmic Frontiers team + event.create('chonky').parent('shiny') } function modifyTFGIconSets(event) { @@ -88,7 +91,6 @@ function modifyTFGIconSets(event) { GTMaterials.BlackBronze.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Potin.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Cupronickel.setMaterialIconSet(GTMaterialIconSet.SHINY) - GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Aluminium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) GTMaterials.Asbestos.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) @@ -103,10 +105,9 @@ function modifyTFGIconSets(event) { GTMaterials.Galena.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) GTMaterials.Grossular.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_sapphire')) GTMaterials.Neodymium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_limonite')) - GTMaterials.Palladium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_pyrite')) + GTMaterials.Palladium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) GTMaterials.Platinum.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) GTMaterials.Thorium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_hematite')) - GTMaterials.Naquadah.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_malachite')) GTMaterials.Goethite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) GTMaterials.Calcite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) GTMaterials.Cooperite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) @@ -136,4 +137,15 @@ function modifyTFGIconSets(event) { GTMaterials.Zeolite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_copper')) GTMaterials.Electrotine.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_garnierite')) GTMaterials.Bauxite.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_borax')) + + GTMaterials.Naquadah.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.NaquadahEnriched.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.Naquadria.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.UraniumRhodiumDinaquadide.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.EnrichedNaquadahTriniumEuropiumDuranide.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.NaquadahAlloy.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.Neutronium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + GTMaterials.RutheniumTriniumAmericiumNeutronate.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) + + GTMaterials.Zirconium.setMaterialIconSet(GTMaterialIconSet.getByName('chonky')) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 0682eee71..b25ca13df 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -172,7 +172,7 @@ const registerTFGMaterials = (event) => { .ingot() .color(0xFADED2) .secondaryColor(0x4FA883) - .iconSet('shiny') + .iconSet('chonky') .components('1x zirconium', '2x boron') .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_FOIL) From 9440b408782e55db327645b32c3980f73d718db7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 01:05:29 +0000 Subject: [PATCH 214/628] tidied some quests, added a new one for ulv supers, langs --- .../quests/chapters/lv__low_voltage.snbt | 1 + .../quests/chapters/mv__medium_voltage.snbt | 6 +- .../quests/chapters/questsmetallurgy.snbt | 1 - .../quests/chapters/questssteam_age.snbt | 34 ++- .../quests/chapters/questsstoneage.snbt | 94 ++++---- kubejs/assets/gtceu/lang/en_us.json | 1 - kubejs/assets/gtceu/lang/zh_cn.json | 17 +- kubejs/assets/tfg/lang/en_us.json | 13 +- kubejs/assets/tfg/lang/ru_ru.json | 218 +++++++++--------- kubejs/assets/tfg/lang/zh_cn.json | 16 +- 10 files changed, 218 insertions(+), 183 deletions(-) diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index f36f38569..f6a83f0d4 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -1597,6 +1597,7 @@ { description: ["{quests.low_voltage.cupronickel_ingot.desc}"] id: "6042514C8FC54334" + shape: "diamond" subtitle: "{quests.low_voltage.cupronickel_ingot.subtitle}" tasks: [{ id: "701DEB748320107C" diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 3cfa63777..ce8de1cd5 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -39,6 +39,7 @@ "53DC6E32C41C94C3" "1A29EFBCEA017F99" ] + dependency_requirement: "one_completed" description: [ "{quests.medium_voltage.mv_biomass.desc.1}" "{@pagebreak}" @@ -782,7 +783,7 @@ id: "6C53B01A05FFF1DC" optional: true shape: "heart" - size: 2.0d + size: 1.0d subtitle: "{quests.medium_voltage.mv_tank.subtitle}" tasks: [{ id: "47EA273D728C158F" @@ -790,7 +791,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_tank.title}" - x: -14.0d + x: -12.0d y: 10.0d } { @@ -1437,6 +1438,7 @@ description: ["{quests.medium_voltage.mv_seawater.desc}"] id: "45449ECE4F8128E7" optional: true + shape: "diamond" subtitle: "{quests.medium_voltage.mv_seawater.subtitle}" tasks: [{ id: "77395198DC98E3A5" diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 99a9758b1..8f0d107a4 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -287,7 +287,6 @@ description: ["{quests.metal_age.bellows.desc}"] hide_dependency_lines: true id: "021D3DEEB15A3D17" - shape: "rsquare" subtitle: "{quests.metal_age.bellows.subtitle}" tasks: [{ id: "588EB07E980386F9" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 4c553582d..b4b4653b1 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -487,8 +487,8 @@ } ] title: "{quests.steam_age.miner.title}" - x: -7.0d - y: 14.0d + x: -12.0d + y: 15.0d } { dependencies: [ @@ -792,6 +792,7 @@ description: ["{quests.steam_age.coiling_machine.desc}"] id: "072F6E48A1C5ECE9" optional: true + size: 1.25d subtitle: "{quests.steam_age.coiling_machine.subtitle}" tasks: [{ id: "07B7D41ACDCD1DEA" @@ -799,8 +800,8 @@ type: "item" }] title: "{quests.steam_age.coiling_machine.title}" - x: -12.0d - y: 15.0d + x: -7.0d + y: 14.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -1654,6 +1655,7 @@ description: ["{quests.steam_age.fuel_sources.desc}"] icon: "createdeco:decal_fire" id: "753A53733C6DFA04" + shape: "circle" subtitle: "{quests.steam_age.fuel_sources.subtitle}" tasks: [{ id: "38A3F9A1D2F11EE3" @@ -1677,6 +1679,30 @@ x: -3.5d y: -2.0d } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.supers.desc}"] + icon: "gtceu:ulv_super_chest" + id: "671405A9F3A8DFDB" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.supers.subtitle}" + tasks: [{ + id: "5F5A6967B674C05A" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:ulv_super_chest)item(gtceu:lv_super_chest)item(gtceu:mv_super_chest)item(gtceu:hv_super_chest)item(gtceu:ev_super_chest)item(gtceu:iv_quantum_chest)item(gtceu:luv_quantum_chest)item(gtceu:zpm_quantum_chest)item(gtceu:uv_quantum_chest)item(gtceu:uhv_quantum_chest)item(gtceu:ulv_super_tank)item(gtceu:lv_super_tank)item(gtceu:mv_super_tank)item(gtceu:hv_super_tank)item(gtceu:ev_super_tank)item(gtceu:iv_quantum_tank)item(gtceu:luv_quantum_tank)item(gtceu:zpm_quantum_tank)item(gtceu:uv_quantum_tank)item(gtceu:uhv_quantum_tank))" + } + } + title: "{quests.steam_age.supers.task}" + type: "item" + }] + title: "{quests.steam_age.supers.title}" + x: -12.0d + y: 13.0d + } ] subtitle: ["{quests.steam_age.subtitle}"] title: "{quests.steam_age}" diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index a8ebfefce..9c7ebc5ef 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -8,15 +8,7 @@ images: [ { height: 1.0d - image: "tfc:item/grass_block_top" - rotation: 0.0d - width: 1.0d - x: -3.0d - y: 10.5d - } - { - height: 1.0d - image: "minecraft:block/blue_ice" + image: "ad_astra:textures/gui/sprites/snowflake.png" rotation: 0.0d width: 1.0d x: -6.0d @@ -24,36 +16,33 @@ } { height: 1.0d - image: "minecraft:block/lava_still" + image: "ad_astra:textures/gui/sprites/fire.png" rotation: 0.0d width: 1.0d x: 0.0d y: 10.5d } + { + height: 1.0d + image: "tfc:textures/gui/book/icons/thermometer.png" + rotation: 0.0d + width: 1.0d + x: -3.0d + y: 10.5d + } ] order_index: 0 - quest_links: [ - { - id: "409385C6F6640BEA" - linked_quest: "427814F6E9386772" - shape: "gear" - size: 4.0d - x: 0.0d - y: 0.0d - } - { - disable_toast: true - id: "40D0029A2097C68F" - linked_quest: "3D7B0F3134C30364" - shape: "octagon" - size: 3.0d - x: 4.5d - y: 0.0d - } - ] + quest_links: [{ + id: "409385C6F6640BEA" + linked_quest: "427814F6E9386772" + shape: "gear" + size: 4.0d + x: 4.0d + y: 0.0d + }] quests: [ { - dependencies: ["3D7B0F3134C30364"] + dependencies: ["427814F6E9386772"] description: [ "{quests.stone_age.find_rock.desc}" "{@pagebreak}" @@ -82,10 +71,11 @@ y: 0.0d } { - dependencies: ["3D7B0F3134C30364"] + dependencies: ["427814F6E9386772"] description: ["{quests.stone_age.find_potable_water.desc}"] icon: "createdeco:decal_fluid" id: "1D40CAE675C4BB91" + shape: "circle" size: 1.0d subtitle: "{quests.stone_age.find_potable_water.subtitle}" tasks: [{ @@ -96,7 +86,7 @@ type: "gamestage" }] title: "{quests.stone_age.find_potable_water.title}" - x: 4.5d + x: 4.0d y: 6.0d } { @@ -434,7 +424,7 @@ type: "item" }] title: "{quests.stone_age.water_jug.title}" - x: 7.0d + x: 6.5d y: 6.0d } { @@ -509,7 +499,7 @@ type: "item" }] title: "{quests.stone_age.leather_flask.title}" - x: 1.5d + x: 1.0d y: 6.0d } { @@ -540,7 +530,7 @@ type: "item" }] title: "{quests.stone_age.iron_flask.title}" - x: 2.5d + x: 2.0d y: 8.0d } { @@ -549,6 +539,7 @@ guide_page: "tfc:field_guide tfc:getting_started/pottery" hide_dependency_lines: true id: "021921B4D2044B3B" + shape: "diamond" subtitle: "{quests.stone_age.find_clay.subtitle}" tasks: [ { @@ -601,7 +592,6 @@ guide_page: "tfc:field_guide tfc:getting_started/finding_ores" hide_dependency_lines: true id: "669F84C6A2A64145" - shape: "diamond" subtitle: "{quests.stone_age.native_ores.subtitle}" tasks: [{ id: "0B70FD35D2C27E4C" @@ -1386,7 +1376,7 @@ guide_page: "tfc:field_guide tfc:mechanics/support_beams" icon: "createdeco:decal_warning" id: "618090A6D0D3B2F1" - shape: "diamond" + shape: "circle" size: 1.0d subtitle: "{quests.stone_age.hazards.subtitle}" tasks: [{ @@ -1399,7 +1389,7 @@ y: 10.5d } { - dependencies: ["3D7B0F3134C30364"] + dependencies: ["427814F6E9386772"] description: ["{quests.stone_age.foods.desc}"] id: "0FB8FD84B13F10C6" subtitle: "{quests.stone_age.foods.subtitle}" @@ -1416,7 +1406,7 @@ type: "item" }] title: "{quests.stone_age.foods.title}" - x: 4.5d + x: 4.0d y: -5.0d } { @@ -1495,6 +1485,7 @@ guide_page: "tfc:field_guide tfc:getting_started/food_and_water 5" icon: "minecraft:apple" id: "749B3C8698D34E91" + shape: "circle" size: 1.5d subtitle: "{quests.stone_age.nutrition.subtitle}" tasks: [{ @@ -1502,7 +1493,7 @@ type: "checkmark" }] title: "{quests.stone_age.nutrition.title}" - x: 3.0d + x: 2.5d y: -5.0d } { @@ -1666,7 +1657,7 @@ type: "item" }] title: "{quests.stone_age.leather.title}" - x: 1.5d + x: 1.0d y: 13.5d } { @@ -1688,28 +1679,37 @@ type: "checkmark" }] title: "{quests.stone_age.hydration.title}" - x: 6.0d + x: 5.5d y: 4.5d } { - dependencies: ["3D7B0F3134C30364"] + dependencies: ["427814F6E9386772"] description: ["{quests.stone_age.temperature.desc}"] icon: "minecraft:sunflower" id: "38839D3E049215CE" + shape: "circle" subtitle: "{quests.stone_age.temperature.subtitle}" tasks: [{ id: "5EF087A092F21202" type: "checkmark" }] title: "{quests.stone_age.temperature.title}" - x: 1.0d + x: 0.5d y: 3.0d } { dependencies: ["38839D3E049215CE"] description: ["{quests.stone_age.insulation.desc}"] + icon: { + Count: 1 + id: "tfcambiental:straw_hat" + tag: { + Damage: 0 + } + } id: "4521BB8892B386AF" - size: 2.0d + shape: "circle" + size: 1.5d subtitle: "{quests.stone_age.insulation.subtitle}" tasks: [{ id: "139FA72AB6F06E57" @@ -1834,7 +1834,7 @@ type: "item" }] title: "{quests.stone_age.glass_bottles.title}" - x: 6.5d + x: 6.0d y: 8.0d } { @@ -1848,7 +1848,7 @@ type: "checkmark" }] title: "{quests.stone_age.water_bucket.title}" - x: 4.5d + x: 4.0d y: 9.0d } { diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index e63bcdcd5..cf0d3534c 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -132,7 +132,6 @@ "material.gtceu.damascus_steel": "Swine-steel", "material.gtceu.air": "Earth Air", "material.gtceu.liquid_air": "Liquid Earth Air", - "material.gtceu.fish_oil": "Fish Oil", "material.gtceu.cooperite": "Cooperite", "material.gtceu.armalcolite": "Armalcolite", "material.gtceu.desh": "Desh", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 3394f3270..851079756 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -13,8 +13,8 @@ "block.gtceu.evaporation_tower": "蒸发塔", "block.gtceu.ostrum_harvester": "紫金采集器", "block.gtceu.moon_dust_harvester": "月壤采集器", - "block.gtceu.coal_liquefaction_tower": "煤炭液化塔", "block.tfg.ostrum_linear_accelerator": "紫金线性加速器", + "block.gtceu.coal_liquefaction_tower": "煤炭液化塔", "block.gtceu.ulv_super_tank": "基础超级缸", "block.gtceu.ulv_super_chest": "基础超级箱", "block.gtceu.ulv_hermetic_casing": "基础密封机械方块", @@ -63,6 +63,8 @@ "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7将原始放射性材料加工成裂变燃料§r", "gtceu.tooltip.machine.steam_bloomery_1": "§7用蒸汽动力升级你的锻铁炉!§r", "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。\n使用焦煤或无烟煤可倍增产量。\n支持最多8组配方并行处理,相应调整蒸汽需求。§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7碳素奶昔制造机§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7从碳质固体与杂酚油中提取气体燃料§r", "item.gtceu.tiny_wood_dust": "小撮软木浆", "item.gtceu.small_wood_dust": "小堆软木浆", "item.gtceu.wood_dust": "软木浆", @@ -130,14 +132,13 @@ "material.gtceu.damascus_steel": "猪灵钢", "material.gtceu.air": "地球空气", "material.gtceu.liquid_air": "液态地球空气", - "material.gtceu.fish_oil": "脂酸盐", "material.gtceu.cooperite": "硫铂矿", "material.gtceu.armalcolite": "阿姆阿尔柯尔矿", "material.gtceu.desh": "戴斯", "material.gtceu.ostrum": "紫金", "material.gtceu.calorite": "耐热金属", "material.gtceu.etrium": "埃忒恩", - "material.gtceu.tarkianite": "塔基安石", + "material.gtceu.tarkianite": "塔基安矿", "material.gtceu.aluminium_silicate": "硅酸铝", "material.gtceu.rocket_alloy_t1": "R型铝钢火箭合金", "material.gtceu.rocket_alloy_t2": "ASM 4914 钛合金火箭合金", @@ -204,7 +205,7 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "火星重氨水", "gtceu.jei.bedrock_fluid.liquid_ice": "火星冰", "gtceu.recipe.category.ingot_molding": "压模", - "tagprefix.sword_head": "%s剑头", + "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", "tagprefix.shovel_head": "%s铲头", "tagprefix.axe_head": "%s斧头", @@ -214,13 +215,13 @@ "tagprefix.hammer_head": "%s锤头", "tagprefix.saw_head": "%s锯头", "tagprefix.knife_head": "%s刀头", - "tagprefix.butchery_knife_head": "%s屠刀头", + "tagprefix.butchery_knife_head": "%s屠宰刀头", "tagprefix.mining_hammer_head": "%s采矿锤头", "tagprefix.spade_head": "%s锹头", "tagprefix.double_ingot": "%s双锭", - "tagprefix.poor_raw": "贫瘠%s原矿", - "tagprefix.rich_raw": "富集%s原矿", - "tagprefix.dusty_raw": "积尘%s原矿", + "tagprefix.poor_raw": "贫瘠粗%s", + "tagprefix.rich_raw": "富集粗%s", + "tagprefix.dusty_raw": "积尘粗%s", "tagprefix.gabbro": "辉长岩%s矿石", "tagprefix.shale": "页岩%s矿石", "tagprefix.claystone": "黏土岩%s矿石", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 14b27bc2f..db0d40ce6 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1162,7 +1162,7 @@ "material.tfg.aromatic_feedstock": "Aromatic Feedstock", "material.tfg.reformed_aromatic_feedstock": "Reformed Aromatic Feedstock", "material.tfg.reformate_gas": "Reformate Gas", - "material.tfg.cracker_off_gas": "Cracked Off-Gas", + "material.tfg.cracker_off_gas": "Cracked Reformate Off-Gas", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -2907,9 +2907,6 @@ "quests.medium_voltage.mv_polyethylene.title": "Polyethylene", "quests.medium_voltage.mv_polyethylene.subtitle": "Baby's first polymer!", "quests.medium_voltage.mv_polyethylene.desc": "If you want to be less fancy, just call it plastic.\n\nFor the polymerization process, add &aOxygen&r, which gives better returns than Air, then solidify like you would with Rubber.\n\n&aPolyethylene (PE)&r is the key to unlocking &6many new things&r. It's commonly used as &dSheets&r, or in &dFluid&r form.\n\n&l&3Lore:&r&o The OreDict and fluid name for Polyethylene in 1.12.2 GTCEu was &bplastic&f, for cross-mod compatibility.", - "quests.medium_voltage.mv_tank.title": "Super Tank", - "quests.medium_voltage.mv_tank.subtitle": "Super Tanks are OP!", - "quests.medium_voltage.mv_tank.desc": "No, but seriously.\n\nThis is the &cu&6l&et&ai&bm&9a&5t&4e&r portable Fluid storage solution. &64,000 buckets of storage&r - in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks &6keep their fluids when broken&r, and can be cleared in the crafting grid.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Super Tanks or AE2 Fluid Storage Cells.", "quests.medium_voltage.mv_pvc.title": "Polyvinyl Chloride", "quests.medium_voltage.mv_pvc.subtitle": "You've already made one polymer, what's two?", "quests.medium_voltage.mv_pvc.desc": "&aPolyvinyl Chloride (PVC)&r is the 3rd-most produced plastic in real life. Here in CEu, it can be substituted for Polyethylene in the production of &aPlastic Circuit Boards&r and other items to increase the yield. It is required from &5EV&r onwards to wrap Cables.\n\nPVC item pipes also have the &6highest throughput&r available for a while, but most of your setups right now won't need such speed. Still, it's good to keep this knowledge in your pocket.\n\n&9Pro tip:&r The fluid form of PVC is never used in base GTCEu, so feel free to solidify all of it into sheets.", @@ -3660,6 +3657,10 @@ "quests.steam_age.steel_mech_press.subtitle": "Almost a Forge Hammer", "quests.steam_age.steel_mech_press.desc.1": "The High Pressure Steam Forge Hammer is right around the corner and can do almost everything that this machine can do, but if you're desperate for some higher tier automatic welding recipes, this is your ticket.\n\nIf you're unfamiliar with the Forge Hammer, both it and the Steel Mechanical Press can crush ores (without byproducts), turn rock into cobble into gravel into sand, and crack bricks. However, only the Forge Hammer can provide a &3cheaper recipe for metal plates&r...", "quests.steam_age.steel_mech_press.desc.2": "&l&3Lore:&r&o The Create Mechanical Press used to be a key piece of late steam age progression prior to version 0.9 of TerraFirmaGreg, because it produced plates at an even better ratio of 5 to 4. However, its implementation was actually \"20 percent of the time, you get nothing\", which caused many people to proclaim how much they loved gambling while using it.", + "quests.steam_age.supers.title": "Super Chests and Super Drums", + "quests.steam_age.supers.subtitle": "Super Storage Drawers", + "quests.steam_age.supers.desc": "This is the &cu&6l&et&ai&bm&9a&5t&4e&r portable item and storage solution if you have a lot of single items or fluids. While these &dBasic&r (&8ULV&r) ones start out relatively small, higher tiers of Super chests and drums can hold an insane amount of stuff - all in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks and Chests &6keep their contents when broken&r, can be cleared in the crafting grid, and can automatically void any overflow.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Quantum Chests and Tanks or AE2 Storage Cells.", + "quests.steam_age.supers.task": "Any super chest or tank", "quests.stone_age": "Stone Age", "quests.stone_age.subtitle": "Humble Beginnings", "quests.stone_age.foods.title": "Hungry?", @@ -4224,8 +4225,8 @@ "quests.tfg_tips.glider.subtitle": "This is not Breath of the Wild", "quests.tfg_tips.glider.desc": "A &dHang Glider&r can be used to glide along the air. You &ccannot gain altitude&r with this but it can be useful to traverse long distances if you jump from high up.\nGreat synergy with &bJetpacks&r though!", "quests.tfg_tips.reinforced_glider.title": "Reinforced Glider", - "quests.tfg_tips.reinforced_glider.subtitle": "Elytra well spent...?", - "quests.tfg_tips.reinforced_glider.desc": "If you combine an &aElytra&r, made in &6HV&r, with a &aHang Glider&r, you'll obtain a &dReinforced Glider.&r It has greater durability and a higher velocity ceiling.", + "quests.tfg_tips.reinforced_glider.subtitle": "Light as a feather!", + "quests.tfg_tips.reinforced_glider.desc": "A &dReinforced Hang Glider&r is the improved version of a &aHang Glider&r. With an upgraded &aAluminium&r frame and a fabric made of either &aReinforced Fabric&r or &aLightweight Cloth&r, you can now soar through the skies at &cdouble the speed&r!\nIt also has &cmore durability&r than the normal hang glider, and can be &crepaired&r in an assembler.\n\n&3Pro tip:&r\nUsing either &aSilk Cloth&r or &aPhantom Silk&r obtained in the &4Beneath&r reduces the fabric cost by &e2/3rds&r for both crafting and repairing!\nOnce you enter &6HV&r, you can also use &aPolycaprolactam Fabric&r as one of the fabrics with a reduced cost.", "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", "quests.tfg_tips.immersive_aircraft.subtitle": "Fly across the skies, with style.", "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive Aircraft&r is a mod all about aircrafts, allowing traversing large distances in the skies.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 8bb890f33..0417d1fa0 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -3032,115 +3032,115 @@ "quests.metal_age.this_is_a_bucket.desc": "Поздравляем с созданием ведра. Век металлургии официально завершен.\n\nТеперь можешь приступать к созданию компонентов низкого напряжения!", "quests.ore_proc": "Переработка руд", "quests.ore_proc.subtitle": "Всё, что вам нужно, чтобы получать по максимуму от ваших руд", - "quests.ore_proc.native_ore.title": "Welcome to Ore Processing", - "quests.ore_proc.native_ore.subtitle": "To Process, Ore Not To Process", - "quests.ore_proc.native_ore.desc": "An important part of &6GregTech&r is its &dOre Processing Mechanics&r, but it can get pretty complicated, so this chapter is here to help!\n\nTo start with, you should be aware of the &6Ore Processing Diagram&r tab in EMI - Press the Show Uses key (default &bU&r) on any item related to ore processing and look for the tab with the vanilla Iron Ore icon. This diagram may look overwhelming at first, but we'll take it step by step.\n\nA major part of GregTech philosophy is that there's not just one way to solve a problem, but we've marked everything important with a &estar&r, so if you're completely lost, try following those!", - "quests.ore_proc.native_ore.task": "I agree to not just dump everything in a furnace", - "quests.ore_proc.robot_arm.title": "Ore processing with GregTech's own tools", - "quests.ore_proc.robot_arm.subtitle": "Providing answers to its own problems", - "quests.ore_proc.robot_arm.desc": "GregTech comes with its own tools to help solve ore processing logistics.\n\nThe &6Robot Arm&r can move precice numbers of items into a machine, such as only moving flawed gems into a Laser Engraver once you have two of them. The &6Tag Filter&r can filter items by tag, such as '&5*purified_ores*&r' to match all Purified Ores.\n\nThe &4Smart Filter&r can filter items depending on their &6recipe&r. For example, if you use it with a robot arm on an electrolyzer, and set the robot arm to supply exact, it will only move your dusts into the electrolyzer once it has as many inputs as the recipe requires!", - "quests.ore_proc.ae2.title": "Ore processing with Applied Energistics 2", - "quests.ore_proc.ae2.subtitle": "A tag storage bus? What's that?", - "quests.ore_proc.ae2.desc": "AE2 is great at moving items around without tons of spaghetti cables! You can use the &dTag Storage Bus&r to tell your network where to put items that match an item's tag, which you can view by pressing F3 + H. For example, if you want to send all your Purified Ores to a chest, slap a Tag Storage Bus on it and set its filter to '&5*purified_ores*&r'.\n\nThere's many online guides on how to set up an AE2 system, but a subnet to handle all ore processing before it goes into your main storage is a solid choice!", - "quests.ore_proc.gtcy.title": "Ore processing but bigger", - "quests.ore_proc.gtcy.subtitle": "When size does matter", - "quests.ore_proc.gtcy.desc": "Once you get to IV, you'll gain access to multiblock versions of all of GregTech's single block machines. They do the exact same recipes as their single block cousins, but are more flexible - you can put lots of huge Input Buses on them, you can overclock them with higher tier &6Energy Hatches&r instead of making new ones every tier, and they even support &6Parallel Hatches&r to do multiple recipes simultaneously!\n\nAll of these machines require alloys created with the &bAlloy Blast Smelter&r, found at the end of &dEV&r.", - "quests.ore_proc.copper_tier.title": "Copper Age Ore Processing", - "quests.ore_proc.copper_tier.desc": "This row is for the very basics of ore processing. There's no byproducts and no automation.", - "quests.ore_proc.bronze_tier.title": "Bronze Age Ore Processing", - "quests.ore_proc.bronze_tier.desc": "This row is for what's available once you've obtained any Bronze Anvil.", - "quests.ore_proc.steel_tier.title": "Steel Age Ore Processing", - "quests.ore_proc.steel_tier.desc": "A Steel Anvil unlocks your first byproducts from ore washing.", - "quests.ore_proc.steam_tier.title": "Steam Age Ore Processing", - "quests.ore_proc.steam_tier.desc": "Steam machines give access to your second byproducts from centrifuging.", - "quests.ore_proc.lv_tier.title": "&7LV&r Ore Processing", - "quests.ore_proc.lv_tier.desc": "LV comes with a ton of machines that can process your ores in many different ways. The most important is probably the Thermal Centrifuge.", - "quests.ore_proc.mv_tier.title": "&bMV&r Ore Processing", - "quests.ore_proc.mv_tier.desc": "Not much happens at MV except that the electrolyzer becomes much more powerful.", - "quests.ore_proc.hv_tier.title": "&6HV&r Ore Processing", - "quests.ore_proc.hv_tier.desc": "HV Macerators now output byproducts! If you don't have a dedicated ore processing setup yet, now is definitely the time to build one.", - "quests.ore_proc.ev_tier.title": "&5EV&r Ore Processing", - "quests.ore_proc.ev_tier.desc": "EV is the first tier where you'll need to need to start splitting up your ore processing into different \"lines\".", - "quests.ore_proc.iv_tier.title": "&9IV&r Ore Processing", - "quests.ore_proc.iv_tier.desc": "With IV comes the big huge multiblocks to really ramp up your ore processing speeds.", - "quests.ore_proc.luv_tier.title": "&dLuV&r Ore Processing", - "quests.ore_proc.luv_tier.desc": "LuV's Naquadah line will be a real test of your ore processing. Can your machines keep up?", - "quests.ore_proc.raw_ore.title": "Raw Ore", - "quests.ore_proc.raw_ore.desc": "This column shows ways to process raw ore, the first step of ore processing!", - "quests.ore_proc.crushed_ore.title": "Crushed Ore", - "quests.ore_proc.crushed_ore.desc": "This column shows how to process crushed ore, which is almost always the second step.", - "quests.ore_proc.purified_ore.title": "Purified Ore", - "quests.ore_proc.purified_ore.desc": "This column shows what to do with your purified ore.", - "quests.ore_proc.refined_ore.title": "Refined Ore", - "quests.ore_proc.refined_ore.desc": "The only thing you can really do with refined ore is crush it.", - "quests.ore_proc.impure_dust.title": "Impure Dust", - "quests.ore_proc.impure_dust.desc": "Wash that dirty dust!", - "quests.ore_proc.purified_dust.title": "Purified Dust", - "quests.ore_proc.purified_dust.desc": "This column shows what you can do with your purified dust.", - "quests.ore_proc.dust_processed.title": "Your final dust", - "quests.ore_proc.dust_processed.subtitle": "Or is it?", - "quests.ore_proc.dust_processed.desc": "&6Dusts&r are the final form of almost every ore.\n\nFrom here, you can put it in a &cFurnace&r, send it to &estorage&r, or even start using it right away! Some dusts will require one last step before they become truly useful.\n\nRemember to keep your &6ore processing line&r in top shape! You'll want to keep expanding and upgrading it as you progress, so you can spend less time mining and more time gregging.", - "quests.ore_proc.macerator_byproduct.title": "Crushing with byproducts", - "quests.ore_proc.macerator_byproduct.subtitle": "I can get even more from my ores!", - "quests.ore_proc.macerator_byproduct.desc": "While looking at &bEMI&r, you've probably noticed that your &dMacerator&r or &dMillstone&r lists more &boutputs&r than what you're actually getting.\n\nGregTech doesn't communicate this very well, but these extra slots are only available in &6HV&r. Once you make it to that tier, the &6HV&r macerator becomes incredibly powerful, giving a huge amount of bonus byproducts from each ore.", - "quests.ore_proc.macerator_byproduct.task": "Either an HV Macerator or HS Crushing Wheels", - "quests.ore_proc.sodium_persulfate.title": "Bathe them in Sodium Persulfate", - "quests.ore_proc.sodium_persulfate.subtitle": "Not just for circuit board etching", - "quests.ore_proc.sodium_persulfate.desc": "Once you get to LV, you may be interested in using a &bChemical Bath&r with &dSodium persulfate&r to get some extra byproducts. Not all ores can be processed this way, but the ones that can, will get around a &670 percent&r chance of byproducts, compared to the &630 percent&r of the &bOre Washer&r.\n\nSodium persulfate can be a little annoying to mass produce, though if you want, &9Sea Water&r is a great starting point.\n\nThe quest on the left gives some examples that might be worth the investment.", - "quests.ore_proc.sodium_ores.title": "Sodium Persulfate bathing examples", - "quests.ore_proc.sodium_ores.subtitle": "A useful time saver", - "quests.ore_proc.sodium_ores.desc": "Here's some recommendations for Sodium Persulfate bathing:\n\n- &6Crushed Aluminium&r: for &dRutile&r (Titanium)\n\n- &6Crushed Bauxite&r: &dGallium&r\n\n- &6Crushed Cobalt&r: &dCobaltite&r for &dArsenic&r", - "quests.ore_proc.ore_washer.title": "Bathe them in Water", - "quests.ore_proc.ore_washer.subtitle": "The standard option for most ores", - "quests.ore_proc.ore_washer.desc": "Most ores don't need any fancy bathing setups, and running them through an &dOre Washer&r or &9Bulk Washing&r with an &dEncased Fan&r will suffice.\n\nIf you use the &bOre Washer&r, make sure to use &9Distilled Water&r to double the speed of the recipe.\n\nDon't have access to either of these yet? You can just throw your crushed ores into water to purify them, though this won't get you any byproducts.", - "quests.ore_proc.ore_washer.task": "Any Ore Washer", - "quests.ore_proc.mercury_ores.title": "Bathe them in Mercury", - "quests.ore_proc.mercury_ores.subtitle": "Don't stick your finger in it", - "quests.ore_proc.mercury_ores.desc": "Bathing certain ores in &dMercury&r can give some other useful byproducts. Not all ores can be processed this way, but the ones that can, will get around a &670 percent&r chance of byproducts, compared to the &630 percent&r of the &bOre Washer&r.\n\n&dMercury&r can be easily obtained from &cRedstone&r or &cCinnabar&r.\n\nThe quest on the right gives some examples are good to process in Mercury.", - "quests.ore_proc.mercury.title": "Mercury bathing examples", - "quests.ore_proc.mercury.subtitle": "Liquid metal bath time", - "quests.ore_proc.mercury.desc": "Here's some recommendations for Mercury bathing:\n\n- &6Crushed Platinum&r: &dPalladium&r\n\n- &6Crushed Cooperite&r: &dPalladium&r\n\n- &6Crushed Nickel&r: &dPlatinum&r\n\n- &6Crushed Gold&r: &dSilver&r", - "quests.ore_proc.indium.title": "The Indium Line", - "quests.ore_proc.indium.subtitle": "We say line, but really it's just a two step process", - "quests.ore_proc.indium.desc": "The &6Indium Line&r shouldn't be needed before &9IV&r, but it will require purified &bSphalerite&r and &bGalena&r.", - "quests.ore_proc.platline.title": "The Infamous Platline", - "quests.ore_proc.platline.subtitle": "GregTech players vs Mekanism players when they need Osmium:", - "quests.ore_proc.platline.desc": "The &6Platinum Line&r will be your first real challenge to process, providing you with essential platinum-group metals: &bPlatinum&r, &bPalladium&r, &bRuthenium&r, &bRhodium&r, &bIridium&r, and &bOsmium&r.\n\nWhile there's easier ways to obtain &bPlatinum&r and &bPalladium&r, this line will be &amandatory&r for accessing the others.\n\nThe Platline can be started at &6HV&r, but you won’t be able to complete it fully until later in &5EV&r.", - "quests.ore_proc.electro_separator.title": "Electromagnetic Separator", - "quests.ore_proc.electro_separator.subtitle": "Probably the least useful GregTech machine", - "quests.ore_proc.electro_separator.desc": "The &6Electromagnetic Separator&r can extract things like Iron and Gold from &dRefined Ores&r, which you can get by crushing your purified ones. For now, we recommend using it primarily for &dNaquadah&r. If you need more &aNeodymium&r, you can also process &dBastnasite&r.", - "quests.ore_proc.electro_separator.task": "Any Electromagnetic Separator", - "quests.ore_proc.macerator_separator.title": "The Macerator", - "quests.ore_proc.macerator_separator.subtitle": "(again)", - "quests.ore_proc.macerator_separator.desc": "The macerator can sometimes yield different byproducts from your Purified ores than other routes, but these are still locked to &6HV&r like every other macerator byproduct.", - "quests.ore_proc.macerator_separator.task": "Any Macerator", - "quests.ore_proc.thermal_centrifuge.title": "The Thermal Centrifuge", - "quests.ore_proc.thermal_centrifuge.subtitle": "The go-to for most purified ores", - "quests.ore_proc.thermal_centrifuge.desc": "For all your other Purified Ores that doesn't need special treatment, it's best to run them through the &dThermal Centrifuge&r. This machine can produce byproducts at a reliable rate, while only using electricity. It's quite slow, however, so we suggest making multiple machines.", - "quests.ore_proc.thermal_centrifuge.task": "Any Thermal Centrifuge", - "quests.ore_proc.sifter.title": "The Sifter", - "quests.ore_proc.sifter.subtitle": "The Skyblock Simulator", - "quests.ore_proc.sifter.desc": "The &6Sifter&r should be used for all your &aGems&r. It gives far more yield per ore than any other method, and is the only way to obtain Exquisite and Flawless gems before &6HV&r laser engraving.", - "quests.ore_proc.sifter.task": "Any Sifter", - "quests.ore_proc.centrifuge_sifter.title": "Centrifuging the dust", - "quests.ore_proc.centrifuge_sifter.subtitle": "Byproducts of byproducts", - "quests.ore_proc.centrifuge_sifter.desc": "The &6Sifter&r can output &6Purified Dust&r, which you can toss into a centrifuge for a few extra byproducts.", - "quests.ore_proc.centrifuge_sifter.task": "Any Centrifuge", - "quests.ore_proc.electrolyzer.title": "Further refinement", - "quests.ore_proc.electrolyzer.subtitle": "An encore for ore!", - "quests.ore_proc.electrolyzer.desc": "Certain &6Dusts&r have no direct use. For example, &2Tantalite&r must be processed in an &6Electrolyzer&r to extract the raw elements of &dTantalum&r and &dManganese&r.\n\nMost of these recipes will only be available with an &bMV Electrolyzer&r, so come back to this later!", - "quests.ore_proc.electrolyzer.task": "Any Electrolyzer", - "quests.ore_proc.packer.title": "The Packer", - "quests.ore_proc.packer.subtitle": "It's real fast", - "quests.ore_proc.packer.desc": "Back in the old days of GregTech, this little bad boy saw a lot of use—you used to get a ton of &6Small&r and &6Tiny Dusts&r from ore processing.\n\nNowadays, it's only really useful for automatic packing, such as &dRare Earth&r in a &6Centrifuge&r returning many &6Small Piles of Dust&r.\n\nDon't forget: a &eRobot Arm&r set to Supply Exact mode can be useful to avoid clogging the input slots.", - "quests.ore_proc.packer.task": "Any Packer", - "quests.ore_proc.bauxite.title": "The Bauxite Line", - "quests.ore_proc.bauxite.subtitle": "New to modern GregTech versions!", - "quests.ore_proc.bauxite.desc": "You &ocould&r just electrolyze all your Bauxite dust to get a measly 6 Aluminium and 1 Rutile per 15 Bauxite... Or you could try out the &6Bauxite Line&r!\n\nThis new processing line returns about 2x as much &bAluminium&r and 3x as much &4Rutile&r per Bauxite, while also giving you a bunch of Gallium, Iron, Neodymium, and Chromium for free!", - "quests.ore_proc.gem_slurry.title": "Gem Slurries", - "quests.ore_proc.gem_slurry.subtitle": "We... are the crystal—hblrlrlr", - "quests.ore_proc.gem_slurry.desc": "&6Gem Slurries&r are optional but short processing lines for Ruby, Sapphire, and Green Sapphire to squeeze a bit more resources out of them. Compared to electrolysis:\n\n- &cRuby Slurry&r returns almost 3x as much Aluminium and Chromium\n\n- &9Sapphire Slurry&r returns 2x as much Aluminium\n\n- &aGreen Sapphire Slurry&r returns 2x as much Aluminium and a little extra Beryllium\n\nAnd on top of that, they all have a small chance to return some extra Titanium, Iron, and Vanadium too!", - "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", + "quests.ore_proc.native_ore.title": "Добро пожаловать в переработку руды", + "quests.ore_proc.native_ore.subtitle": "Перерабатывать или не перерабатывать", + "quests.ore_proc.native_ore.desc": "Важной частью &6GregTech&r являются его &dМеханики Переработки Руды&r, но они могут оказаться довольно сложными, поэтому эта глава создана, чтобы помочь!\n\nДля начала стоит обратить внимание на вкладку &6Ore Processing Diagram&r в EMI — нажмите клавишу просмотра использований (по умолчанию &bU&r) на любом предмете, связанном с переработкой руды, и найдите вкладку с иконкой ванильной железной руды. На первый взгляд эта диаграмма может показаться перегруженной, но мы разберём всё шаг за шагом.\n\nБольшая часть философии GregTech заключается в том, что для решения проблемы существует не один путь, но мы отметили всё важное &eзвёздочкой&r, так что если вы полностью потерялись — попробуйте следовать этим отметкам!", + "quests.ore_proc.native_ore.task": "Я согласен не закидывать всё подряд в печь", + "quests.ore_proc.robot_arm.title": "Переработка руды с помощью инструментов GregTech", + "quests.ore_proc.robot_arm.subtitle": "Решая собственные проблемы собственными средствами", + "quests.ore_proc.robot_arm.desc": "GregTech поставляется с собственными инструментами, которые помогают решать логистику переработки руды.\n\n&6Роботизированный Манипулятор&r может перемещать точное количество предметов в машину — например, помещать в Лазерный Гравёр только повреждённые (flawed) драгоценные камни и только тогда, когда у вас есть ровно два.\n\n&6Тег-Фильтр&r позволяет фильтровать предметы по тегу, например '&5*purified_ores*&r', чтобы выбирать все очищенные руды.\n\n&4Умный Фильтр&r может фильтровать предметы в зависимости от их &6рецепта&r. Например, если использовать его вместе с роботизированной рукой на электролизёре и установить руке точную подачу (exact), она будет перемещать пыль (dusts) в электролизёр только тогда, когда их количество соответствует требованиям рецепта!", + "quests.ore_proc.ae2.title": "Переработка руды с Applied Energistics 2", + "quests.ore_proc.ae2.subtitle": "Шина хранения по тегам? Что это такое?", + "quests.ore_proc.ae2.desc": "AE2 отлично подходит для перемещения предметов без километров кабельной лапши! Вы можете использовать &dШину Храненения по Тегам&r, чтобы указать вашей сети, куда складывать предметы, соответствующие тегу выбранного предмета. Посмотреть его можно, нажав F3 + H. Например, если вы хотите отправлять все Очищенные Руды в сундук, просто установите на него Шину Храненения по Тегам и задайте фильтр '&5*purified_ores*&r'.\n\nСуществует множество онлайн-гайдов по настройке AE2, но отдельная подсеть (subnet) для обработки всей руды перед попаданием в ваше основное хранилище — очень хорошая идея!", + "quests.ore_proc.gtcy.title": "Переработка руды, но крупнее", + "quests.ore_proc.gtcy.subtitle": "Когда размер действительно имеет значение", + "quests.ore_proc.gtcy.desc": "Когда вы добираетесь до IV, вам открывается доступ к мультиблочным версиям всех одноблочных машин GregTech. Они выполняют те же рецепты, что и их одноблочные аналоги, но гораздо гибче — вы можете установить на них множество огромных Входных Люком, можете разгонять их с помощью Энергетических Входных Разъемов более высокого уровня, вместо создания новой машины на каждый тир, а также можете использовать &6Параллельные Разъемы&r для выполнения нескольких рецептов одновременно!\n\nВсе эти машины требуют сплавов, создаваемых в &bДоменной Печи для Сплавов&r, доступной в конце тира &dEV&r.", + "quests.ore_proc.copper_tier.title": "Переработка руд в Медной Эпохе", + "quests.ore_proc.copper_tier.desc": "Этот ряд описывает самые базовые способы переработки руды. Никаких побочных продуктов и никакой автоматизации.", + "quests.ore_proc.bronze_tier.title": "Переработка руд в Бронзовой Эпохе", + "quests.ore_proc.bronze_tier.desc": "Этот ряд посвящён тому, что становится доступно после получения любой Бронзовой Наковальни.", + "quests.ore_proc.steel_tier.title": "Переработка руд в Стальной Эпохе", + "quests.ore_proc.steel_tier.desc": "Стальная Наковальня открывает ваши первые побочные продукты от промывки руды.", + "quests.ore_proc.steam_tier.title": "Переработка руд в Паровой Эпохе", + "quests.ore_proc.steam_tier.desc": "Паровые машины дают доступ ко вторым побочным продуктам — от центрифугирования.", + "quests.ore_proc.lv_tier.title": "Переработка руд в &7LV&r", + "quests.ore_proc.lv_tier.desc": "LV приносит множество машин, способных перерабатывать руды различными способами. Самой важной, вероятно, является Термальная Центрифуга.", + "quests.ore_proc.mv_tier.title": "Переработка руд в &bMV&r", + "quests.ore_proc.mv_tier.desc": "На MV происходит немногое, кроме того, что электролизёр становится куда более мощным.", + "quests.ore_proc.hv_tier.title": "Переработка руд в &6HV&r", + "quests.ore_proc.hv_tier.desc": "HV Дробители теперь выдают побочные продукты! Если у вас всё ещё нет выделенной системы переработки руд, сейчас определённо самое время её построить.", + "quests.ore_proc.ev_tier.title": "Переработка руд в &5EV&r", + "quests.ore_proc.ev_tier.desc": "EV — первый тир, на котором вам потребуется разбивать переработку руды на разные «линии».", + "quests.ore_proc.iv_tier.title": "Переработка руд в &9IV&r", + "quests.ore_proc.iv_tier.desc": "На IV становятся доступны огромные мультиблоки, которые значительно ускорят переработку руд.", + "quests.ore_proc.luv_tier.title": "Переработка руд в &dLuV&r", + "quests.ore_proc.luv_tier.desc": "Линия Наквада уровня LuV станет настоящим испытанием вашей системы переработки руд. Справятся ли ваши машины?", + "quests.ore_proc.raw_ore.title": "Сырая Руда", + "quests.ore_proc.raw_ore.desc": "Этот столбец показывает способы обработки сырой руды — первый шаг переработки руд!", + "quests.ore_proc.crushed_ore.title": "Дроблённая Руда", + "quests.ore_proc.crushed_ore.desc": "Этот столбец показывает, как переработать дроблённую руду, что почти всегда является вторым шагом.", + "quests.ore_proc.purified_ore.title": "Очищенная Руда", + "quests.ore_proc.purified_ore.desc": "Этот столбец показывает, что можно сделать с очищенной рудой.", + "quests.ore_proc.refined_ore.title": "Обработанная Руда", + "quests.ore_proc.refined_ore.desc": "Единственное, что действительно можно сделать с обработанной рудой — это раздробить её.", + "quests.ore_proc.impure_dust.title": "Грязная кучка пыли", + "quests.ore_proc.impure_dust.desc": "Отмой эту грязную пыль!", + "quests.ore_proc.purified_dust.title": "Очищенная кучка пыли", + "quests.ore_proc.purified_dust.desc": "Этот столбец показывает, что можно сделать с очищенной пылью.", + "quests.ore_proc.dust_processed.title": "Ваша последняя пыль", + "quests.ore_proc.dust_processed.subtitle": "А может и нет?", + "quests.ore_proc.dust_processed.desc": "&6Кучки Пыли&r — это окончательная форма почти каждой руды.\n\nОтсюда вы можете отправить её в &cПечь&r, сложить в &eхранилище&r или даже начать использовать прямо сейчас! Некоторые пыли потребуют ещё одного последнего шага, прежде чем станут по-настоящему полезными.\n\nНе забывайте поддерживать свою &6линию переработки руд&r в идеальном состоянии! По мере развития вам захочется расширять и улучшать её, чтобы тратить меньше времени на шахтёрство и больше на грегтеччинг.", + "quests.ore_proc.macerator_byproduct.title": "Дробление с побочными продуктами", + "quests.ore_proc.macerator_byproduct.subtitle": "Можно выжать ещё больше из руды!", + "quests.ore_proc.macerator_byproduct.desc": "Просматривая &bEMI&r, вы, вероятно, заметили, что ваш &dИзмельчитель&r или &dЖернов&r показывают больше &bвыходов&r, чем вы фактически получаете.\n\nGregTech объясняет это не очень ясно, но эти дополнительные слоты доступны только на уровне &6HV&r. Когда вы достигнете этого тира, &6HV&r-измельчитель станет невероятно мощным, давая огромное количество бонусных побочных продуктов с каждой руды.", + "quests.ore_proc.macerator_byproduct.task": "Либо HV Измельчитель, либо HS Crushing Wheels", + "quests.ore_proc.sodium_persulfate.title": "Купание в персульфате натрия", + "quests.ore_proc.sodium_persulfate.subtitle": "Не только для травления плат", + "quests.ore_proc.sodium_persulfate.desc": "Когда вы доберётесь до LV, вас может заинтересовать использование &bХимической Ванны&r с &dПерсульфатом натрия&r, чтобы получить дополнительные побочные продукты. Не все руды можно обработать таким способом, но те, которые можно, дадут примерно &670 процентов&r шанса на побочку, по сравнению с &630 процентами&r у &bРудопромывочной Машиной&r.\n\nПерсульфат натрия может быть немного раздражающим в массовом производстве, но &9Морская Вода&r — отличный источник.\n\nКвест снизу приводит примеры, которые могут стоить вложений.", + "quests.ore_proc.sodium_ores.title": "Примеры купания в персульфате", + "quests.ore_proc.sodium_ores.subtitle": "Полезный способ сэкономить время", + "quests.ore_proc.sodium_ores.desc": "Вот несколько рекомендаций по купанию в персульфате натрия:\n\n- &6Дроблённый алюминий&r: для &dРутила&r (Титан)\n\n- &6Дроблённая бокситовая руда&r: &dГаллий&r\n\n- &6Дроблённый кобальт&r: &dКобальтит&r для &dМышьяка&r", + "quests.ore_proc.ore_washer.title": "Купание в воде", + "quests.ore_proc.ore_washer.subtitle": "Стандартный вариант для большинства руд", + "quests.ore_proc.ore_washer.desc": "Большинство руд не требуют никакой особой ванны — достаточно пропустить их через &dРудопромывочную Машину&r или использовать &9Массовое Мытьё&r с &dВентилятором в Корпусе&r.\n\nЕсли используете &bРудопромывочная Машина&r, убедитесь, что применяете &9Дистиллированную воду&r — она удваивает скорость рецепта.\n\nНет доступа ни к тому, ни к другому? Просто бросьте дроблёную руду в воду, чтобы очистить её — хотя побочных продуктов такой способ не даст.", + "quests.ore_proc.ore_washer.task": "Любая Рудопромывочная Машина", + "quests.ore_proc.mercury_ores.title": "Купание в ртути", + "quests.ore_proc.mercury_ores.subtitle": "Не суй туда палец", + "quests.ore_proc.mercury_ores.desc": "Купание некоторых руд в &dРтути&r может дать полезные побочные продукты. Не все руды можно обработать таким способом, но те, что можно, дадут примерно &670 процентов&r шанса на побочку, по сравнению с &630 процентами&r у &bРудопромывочной Машиной&r.\n\n&dРтуть&r легко получить из &cРедстоуна&r или &cКиновари&r.\n\nКвест снизу приводит хорошие примеры руд для обработки ртутью.", + "quests.ore_proc.mercury.title": "Примеры купания в ртути", + "quests.ore_proc.mercury.subtitle": "Время ванны с жидким металлом", + "quests.ore_proc.mercury.desc": "Вот несколько рекомендаций по купанию в ртути:\n\n- &6Дроблённая платиновая руда&r: &dПалладий&r\n\n- &6Дроблённая куперитовая руда&r: &dПалладий&r\n\n- &6Дроблённый никель&r: &dПлатина&r\n\n- &6Дроблённое золото&r: &dСеребро&r", + "quests.ore_proc.indium.title": "Линия Индия", + "quests.ore_proc.indium.subtitle": "Мы называем это линией, но на самом деле это всего два шага", + "quests.ore_proc.indium.desc": "&6Линия Индия&r вам, скорее всего, не понадобится до &9IV&r, но она потребует очищенные &bСфалерит&r и &bГалену&r.", + "quests.ore_proc.platline.title": "Та самая знаменитая Платиновая Линия", + "quests.ore_proc.platline.subtitle": "Игроки GregTech vs. игроки Mekanism, когда им нужен Осмий:", + "quests.ore_proc.platline.desc": "&6Платиновая Линия&r станет вашим первым серьёзным испытанием в переработке руды, обеспечивая доступ к важнейшим металлам платиновой группы: &bПлатина&r, &bПалладий&r, &bРутений&r, &bРодий&r, &bИридий&r и &bОсмий&r.\n\nХотя существуют способы проще получить &bПлатину&r и &bПалладий&r, эта линия будет &aобязательной&r для доступа ко всем остальным.\n\nНачать Платиновую Линию можно на &6HV&r, но полностью завершить её вы не сможете до более позднего &5EV&r.", + "quests.ore_proc.electro_separator.title": "Электромагнитный сепаратор", + "quests.ore_proc.electro_separator.subtitle": "Вероятно, самая бесполезная машина GregTech", + "quests.ore_proc.electro_separator.desc": "&6Электромагнитный сепаратор&r может извлекать железо и золото из &dОбработанных руд&r, которые вы получите дроблением очищенных руд. На данный момент мы рекомендуем использовать его в первую очередь для &dНаквады&r. Если вам нужно больше &aНеодима&r, можно также перерабатывать &dБастнезит&r.", + "quests.ore_proc.electro_separator.task": "Любой Электромагнитный Сепаратор", + "quests.ore_proc.macerator_separator.title": "Измельчитель", + "quests.ore_proc.macerator_separator.subtitle": "(снова)", + "quests.ore_proc.macerator_separator.desc": "Измельчитель иногда может давать другие побочные продукты из очищенных руд, чем другие маршруты, но всё это остаётся привязанным к уровню &6HV&r, как и любые другие побочные продукты измельчения.", + "quests.ore_proc.macerator_separator.task": "Любой Измельчитель", + "quests.ore_proc.thermal_centrifuge.title": "Термальная центрифуга", + "quests.ore_proc.thermal_centrifuge.subtitle": "Лучший вариант для большинства очищенных руд", + "quests.ore_proc.thermal_centrifuge.desc": "Для всех остальных Очищенных руд, которые не требуют особой обработки, лучше всего пропустить их через &dТермальную центрифугу&r. Эта машина производит побочные продукты с хорошей стабильностью, используя только электричество. Однако она довольно медленная, поэтому мы рекомендуем сделать несколько таких машин.", + "quests.ore_proc.thermal_centrifuge.task": "Любая Термальная центрифуга", + "quests.ore_proc.sifter.title": "Просеиватель", + "quests.ore_proc.sifter.subtitle": "Симулятор скайблока", + "quests.ore_proc.sifter.desc": "&6Просеиватель&r должен использоваться для всех ваших &aСамоцветов&r. Он даёт значительно больше выхода с одной руды, чем любые другие методы, и это единственный способ получить Непревзойдённые и Безупречные самоцветы до лазерной гравировки на &6HV&r.", + "quests.ore_proc.sifter.task": "Любой Просеиватель", + "quests.ore_proc.centrifuge_sifter.title": "Центрифугирование пыли", + "quests.ore_proc.centrifuge_sifter.subtitle": "Побочные продукты от побочных продуктов", + "quests.ore_proc.centrifuge_sifter.desc": "&6Просеиватель&r может выдавать &6Очищенную пыль&r, которую можно отправить в центрифугу, чтобы получить ещё немного побочных продуктов.", + "quests.ore_proc.centrifuge_sifter.task": "Любая Центрифуга", + "quests.ore_proc.electrolyzer.title": "Дальнейшая переработка", + "quests.ore_proc.electrolyzer.subtitle": "Анкор для руды!", + "quests.ore_proc.electrolyzer.desc": "Некоторые &6Кучки Пыли&r не имеют прямого применения. Например, &2Танталит&r нужно обработать в &6Электролизёре&r, чтобы извлечь сырьевые элементы &dТантала&r и &dМарганца&r.\n\nБольшинство этих рецептов будет доступно только с &bMV Электролизёром&r, так что возвращайтесь к этому позже!", + "quests.ore_proc.electrolyzer.task": "Любой Электролизёр", + "quests.ore_proc.packer.title": "Упаковщик", + "quests.ore_proc.packer.subtitle": "Он реально быстрый", + "quests.ore_proc.packer.desc": "В старые времена GregTech этот маленький парень использовался очень активно — из переработки руды получалось много &6Малых&r и &6Крошечных Кучек Пыли&r.\n\nСейчас он в основном полезен для автоматической упаковки, например, &dРедкоземельных&r элементов в &6Центрифуге&r, возвращая множество &6Малых Кучек Пыли&r.\n\nНе забывайте: &eРоботизированный Манипулятор&r в режиме Supply Exact может быть полезен, чтобы не забивать входные слоты.", + "quests.ore_proc.packer.task": "Любой Упаковщик", + "quests.ore_proc.bauxite.title": "Линия Бокситов", + "quests.ore_proc.bauxite.subtitle": "Новинка для современных версий GregTech!", + "quests.ore_proc.bauxite.desc": "Вы &oможете&r просто электролизовать всю вашу Бокситовую пыль, чтобы получить жалкие 6 алюминия и 1 рутил с 15 бокситов... Или вы можете попробовать &6Линию Бокситов&r!\n\nЭта новая линия переработки даёт примерно в 2 раза больше &bАлюминия&r и в 3 раза больше &4Рутила&r с каждого боксита, а также бесплатно даёт немного Галлия, Железа, Неодима и Хрома!", + "quests.ore_proc.gem_slurry.title": "Дроблённые Руды (Самоцветы)", + "quests.ore_proc.gem_slurry.subtitle": "Мы... кристаллы...", + "quests.ore_proc.gem_slurry.desc": "&6Дроблённые Самоцветы&r — это опциональные, но короткие линии переработки для Рубинов, Сапфиров и Зелёных Сапфиров, чтобы выжать немного больше ресурсов из них. В сравнении с электролизом:\n\n- &cДробленный Рубин&r даёт почти в 3 раза больше Алюминия и Хрома\n\n- &9Дробленный Сапфир&r даёт в 2 раза больше Алюминия\n\n- &aДробленный Зелёный Сапфир&r даёт в 2 раза больше Алюминия и немного Бериллия\n\nИ вдобавок, все они имеют небольшой шанс дать немного Титана, Железа и Ванадия!", + "quests.ore_proc.gem_slurry.task": "Любой Дробленный Самоцвет", "quests.space_survival": "Советы - Космическое выживание", "quests.space_survival.subtitle": "Единственное место, которое не было испорчено капитализмом... Космос!", "quests.space_survival.preparations.title": "Pre-Launch Preparations", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 3658b1b1c..4cd8a8005 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1040,7 +1040,7 @@ "item.tfg.etching_diamond_tip": "蚀刻钻石钻头", "item.tfg.spade_head_extruder_mold": "模头(锹头)", "item.tfg.mining_hammer_head_extruder_mold": "模头(采矿锤头)", - "item.tfg.sword_head_extruder_mold": "模头(剑头)", + "item.tfg.sword_head_extruder_mold": "模头(剑身)", "item.tfg.pickaxe_head_extruder_mold": "模头(镐头)", "item.tfg.shovel_head_extruder_mold": "模头(铲头)", "item.tfg.axe_head_extruder_mold": "模头(斧头)", @@ -1251,6 +1251,12 @@ "material.tfg.zirconium_bromide": "溴化锆(IV)", "material.tfg.zirconium_diboride": "二硼化锆", "material.tfg.boron_carbide": "碳化硼", + "material.tfg.syngas": "合成气", + "material.tfg.raw_aromatic_mix": "粗芳香混合物", + "material.tfg.aromatic_feedstock": "芳香原料", + "material.tfg.reformed_aromatic_feedstock": "重整芳香原料", + "material.tfg.reformate_gas": "重整气", + "material.tfg.cracker_off_gas": "裂化重整尾气", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1293,7 +1299,7 @@ "ore_vein.tfg.normal_sphalerite": "闪锌矿, 黄铁矿", "ore_vein.tfg.normal_spodumene": "锂辉石, 锂云母", "ore_vein.tfg.normal_sulfur": "硫, 黄铁矿", - "ore_vein.tfg.normal_tarkianite": "塔基安石, 油砂", + "ore_vein.tfg.normal_tarkianite": "塔基安矿, 油砂", "ore_vein.tfg.normal_tetrahedrite": "黝铜矿 (普通)", "ore_vein.tfg.surface_bismuthinite": "辉铋矿 (地表)", "ore_vein.tfg.surface_cassiterite": "锡石矿 (地表)", @@ -4148,7 +4154,7 @@ "quests.tfg_tips.grappling_hook.desc": "将2个&a黄麻绳&r与1个&b锻铁镐头&r组合,便可制作出&d抓钩&r!它是翻越崇山峻岭、探索巨洞深渊、纵横天地四方的理想工具。抓钩内置&e升级系统&r,可让你随心所欲地自由搭配与改造你的&d抓钩&r。", "quests.tfg_tips.grapple_repair.title": "抓钩警告", "quests.tfg_tips.grapple_repair.subtitle": "请阅读本说明,否则你日后可能会后悔!", - "quests.tfg_tips.grapple_repair.desc": "&d抓钩&r的所有&a升级&r数据都储存在物品的NBT标签内。这意味着若尝试使用&c另一个&r抓钩进行修复,&l&c将会永久损毁所有升级数据!&r\n\n正确修复方式:将你的&d抓钩&r与一些&b锻铁粉&r放入&3工作台&r进行修复。\n\n另外,在主世界与幽冥世界之间穿梭时切勿使用抓钩,这是非常危险的。", + "quests.tfg_tips.grapple_repair.desc": "&d抓钩&r的所有&a升级&r数据都储存在物品的NBT标签内。这意味着若尝试使用&c另一个&r抓钩进行修复,&l&c将会永久损毁所有升级数据!&r\n\n正确修复方式:将你的&d抓钩&r与一些&b锻铁粉&r放入&3工作台&r进行修复。\n\n另外,在主世界与幽冥之地之间穿梭时切勿使用抓钩,这是非常危险的。", "quests.tfg_tips.grapple_upgrades.title": "升级你的抓钩", "quests.tfg_tips.grapple_upgrades.subtitle": "当然是围绕TFG平衡过了!", "quests.tfg_tips.grapple_upgrades.desc.1": "升级&d抓钩&r需要通过&3工作台&r为其添加或移除物品。\n\n若想查看&d抓钩&r所有的可升级内容,可按&2EMI&r的\"用途\"键。\n每个自定义配方都会附有文字,说明其所能带来的具体改变。", @@ -4305,8 +4311,8 @@ "quests.tfg_tips.glider.subtitle": "这不是荒野之息", "quests.tfg_tips.glider.desc": "&d悬挂式滑翔翼&r可用于空中滑翔。虽然你&c无法提升高度&r,但从高处跃下时,它将成为长途穿越的绝佳工具。\n与&b喷气背包&r是绝配!", "quests.tfg_tips.reinforced_glider.title": "强化滑翔翼", - "quests.tfg_tips.reinforced_glider.subtitle": "鞘翅用得值...?", - "quests.tfg_tips.reinforced_glider.desc": "将&6HV&r阶段制作的&a鞘翅&r与&a悬挂式滑翔翼&r结合,获得&d强化滑翔翼&r。耐久更高,速度上限更高。", + "quests.tfg_tips.reinforced_glider.subtitle": "轻如鸿毛!", + "quests.tfg_tips.reinforced_glider.desc": "&d强化悬挂滑翔翼&r是&a悬挂滑翔翼&r的改进版本。它采用了升级的&a铝&r制框架,以及由&a强化布料&r或&a轻质布料&r制成的翼面,现在你可以以&c双倍速度&r翱翔天际!\n它也比普通滑翔翼拥有&c更高的耐久度&r,并且可以在组装机中&c修复&r。\n\n&3专业提示:&r\n使用在&4幽冥之地&r维度获得的&a丝质布料&r或&a幻影丝&r,能在制作和修复时将布料消耗降低&e三分之二&r!\n当你进入&6HV&r阶段后,也可以使用&a聚己内酰胺布料&r作为其中一种布料,并享受消耗降低的效果。", "quests.tfg_tips.immersive_aircraft.title": "沉浸式飞机", "quests.tfg_tips.immersive_aircraft.subtitle": "翱翔天空,风格独具", "quests.tfg_tips.immersive_aircraft.desc": "&2沉浸式飞机&r模组专注于飞机,让你能够翱翔天空跨越长途。", From 706ec2f11b5641c022801e954da4f77684aa31ab Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 01:19:30 +0000 Subject: [PATCH 215/628] a little more tweakin --- .../quests/chapters/lv__low_voltage.snbt | 7 +++++++ .../quests/chapters/mv__medium_voltage.snbt | 18 ------------------ .../quests/chapters/questsmetallurgy.snbt | 2 +- .../ftbquests/quests/chapters/tips__tools.snbt | 14 ++++++++++++-- kubejs/assets/tfg/lang/en_us.json | 10 +++++----- 5 files changed, 25 insertions(+), 26 deletions(-) diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index f6a83f0d4..f7f68851e 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -36,6 +36,13 @@ x: -2.0d y: 12.5d } + { + id: "5A47760FCD164E74" + linked_quest: "61F58B402F1AE40B" + shape: "heart" + x: -7.5d + y: 4.5d + } ] quests: [ { diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index ce8de1cd5..73613f8a4 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -776,24 +776,6 @@ x: -10.0d y: 10.0d } - { - dependencies: ["10FB27DD3C7BEC2F"] - description: ["{quests.medium_voltage.mv_tank.desc}"] - icon: "gtceu:lv_super_tank" - id: "6C53B01A05FFF1DC" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.medium_voltage.mv_tank.subtitle}" - tasks: [{ - id: "47EA273D728C158F" - item: "gtceu:lv_super_tank" - type: "item" - }] - title: "{quests.medium_voltage.mv_tank.title}" - x: -12.0d - y: 10.0d - } { dependencies: ["10FB27DD3C7BEC2F"] description: ["{quests.medium_voltage.mv_pvc.desc}"] diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 8f0d107a4..210362d91 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -57,7 +57,7 @@ { id: "3249AB9EB552BB77" linked_quest: "4B79026C8D2DACC4" - x: 20.5d + x: 17.5d y: -28.0d } ] diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index d6eb2d162..33f0a8573 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -84,7 +84,7 @@ { dependencies: [ "125563A12EE5C296" - "5088768AAA28FCBA" + "56CA2EB7812529C5" ] description: ["{quests.tfg_tips.red_steel_backpack.desc}"] id: "4B79026C8D2DACC4" @@ -1170,6 +1170,7 @@ dependencies: ["037CDA933FBE2CBE"] description: ["{quests.tfg_tips.olive_oil.desc}"] id: "13FC17F88DFEB8A8" + optional: true size: 1.5d subtitle: "{quests.tfg_tips.olive_oil.subtitle}" tasks: [{ @@ -1231,9 +1232,13 @@ y: 12.0d } { - dependencies: ["037CDA933FBE2CBE"] + dependencies: [ + "037CDA933FBE2CBE" + "5B2696206205CB2E" + ] description: ["{quests.tfg_tips.glowstone_lamp.desc}"] id: "61F58B402F1AE40B" + optional: true shape: "heart" size: 2.0d subtitle: "{quests.tfg_tips.glowstone_lamp.subtitle}" @@ -1256,6 +1261,7 @@ dependencies: ["037CDA933FBE2CBE"] description: ["{quests.tfg_tips.tallow.desc}"] id: "54E6994D5CC693A7" + optional: true size: 1.15d subtitle: "{quests.tfg_tips.tallow.subtitle}" tasks: [{ @@ -1278,6 +1284,7 @@ dependencies: ["037CDA933FBE2CBE"] description: ["{quests.tfg_tips.creosote.desc}"] id: "72C1E430FF6D2DD8" + optional: true size: 1.0d subtitle: "{quests.tfg_tips.creosote.subtitle}" tasks: [{ @@ -1304,6 +1311,7 @@ description: ["{quests.tfg_tips.lava_lamp.desc}"] icon: "minecraft:lava_bucket" id: "4EBABACAB444244D" + optional: true shape: "square" size: 1.75d subtitle: "{quests.tfg_tips.lava_lamp.subtitle}" @@ -2447,6 +2455,7 @@ dependencies: ["037CDA933FBE2CBE"] description: ["{quests.tfg_tips.tools_tips.seed_oil.desc}"] id: "30B9137740247627" + optional: true size: 1.25d subtitle: "{quests.tfg_tips.tools_tips.seed_oil.subtitle}" tasks: [{ @@ -2469,6 +2478,7 @@ dependencies: ["037CDA933FBE2CBE"] description: ["{quests.tfg_tips.tools_tips.soybean_oil.desc}"] id: "6C0A087006DF8679" + optional: true size: 1.25d subtitle: "{quests.tfg_tips.tools_tips.soybean_oil.subtitle}" tasks: [{ diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index db0d40ce6..a285f22cf 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3101,7 +3101,7 @@ "quests.metal_age.weak_steel.task3": "1 Part Black Bronze", "quests.metal_age.highcarb_black_steel.title": "Black Steel Ingredients", "quests.metal_age.highcarb_black_steel.subtitle": "Conservation of matter does not apply", - "quests.metal_age.highcarb_black_steel.desc": "The final two anvils are made out of complex alloys that will require a lot of metal to be created. Weak Steel and Pig Iron can be welded to create High Carbon Black Steel, which can then be worked on an anvil into Black Steel.", + "quests.metal_age.highcarb_black_steel.desc": "The final two anvils are made out of complex alloys that will require a lot of metal to be created. Weak Steel and Pig Iron can be welded to create High Carbon Black Steel, which can then be worked on an anvil into Black Steel.\n\nOnce you get a Steam Alloy Smelter, use that instead to &6double your output&r.", "quests.metal_age.black_steel_anvil.title": "T5 Anvil: Black Steel", "quests.metal_age.black_steel_anvil.subtitle": "Steam power is within your grasp", "quests.metal_age.black_steel_anvil.desc": "With the Black Steel Anvil you'll now be able to work Black Steel Ingots into different items.\n\nYou've also now opened up a massive new section in the Early Automation chapter related to high pressure Steam Power!\n\nFrom here, you can either dive straight into industrialization or finish up the last tier of anvils if you'd like. You can't avoid colored steel forever, though!", @@ -3126,17 +3126,17 @@ "quests.metal_age.weak_blue_steel.sterling_silver": "1 Part Sterling Silver", "quests.metal_age.weak_blue_steel.bismuth_bronze": "1 Part Bismuth Bronze", "quests.metal_age.highcarb_red_steel.title": "Red Steel Ingredients", - "quests.metal_age.highcarb_red_steel.subtitle": "Could deleting matter like this power a nuclear bomb?", - "quests.metal_age.highcarb_red_steel.desc": "Red Steel first starts as High Carbon Red Steel, which is made by welding Weak Red Steel and Black Steel. It needs to be worked on the Anvil to turn it into Red Steel", + "quests.metal_age.highcarb_red_steel.subtitle": "Minecraft is not a physics simulator", + "quests.metal_age.highcarb_red_steel.desc": "Red Steel first starts as High Carbon Red Steel, which is made by welding Weak Red Steel and Black Steel. It needs to be worked on the Anvil to turn it into Red Steel.\n\nIf you have a Steam Alloy Smelter, use that instead to &6double your output&r.", "quests.metal_age.highcarb_blu_steel.title": "Blue Steel Ingredients", "quests.metal_age.highcarb_blu_steel.subtitle": "Lavoisier is rolling in his grave", - "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, which is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel", + "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, which is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel.\n\nIf you have a Steam Alloy Smelter, use that instead to &6double your output&r.", "quests.metal_age.redblu_anvil.title": "T6 Anvil: Red or Blue Steel", "quests.metal_age.redblu_anvil.subtitle": "It's over", "quests.metal_age.redblu_anvil.desc": "The final tier of Anvil! With the Tier 6 Anvil you'll be able to work both Red and Blue Steel Ingots into different items.\n\nThis marks the end of TerraFirmaCraft's progression. Now it's time to finish the Industrial Age and create your very first Low Voltage circuitry.", "quests.metal_age.red_steel_flask.title": "Red Steel Flask", "quests.metal_age.red_steel_flask.subtitle": "This got nothing on the Iron Flask", - "quests.metal_age.red_steel_flask.desc": "The Red Steel Flask is the best Flask available. It may hold the same amount of liquid as an Iron Flask, but the Red Steel Flask never breaks.", + "quests.metal_age.red_steel_flask.desc": "The Red Steel Flask is the best Flask available. It may hold the same amount of liquid as an Iron Flask, but the Red Steel Flask never breaks.\n\nFor the Silk, Phantoms can be found all over the Beneath, but are more common in the bottom layer.", "quests.metal_age.redblu_buckets.title": "Bucket Components", "quests.metal_age.redblu_buckets.subtitle": "Bucket Fusion Reactor", "quests.metal_age.redblu_buckets.desc": "The final task in the Metallurgy Age is creating a Bucket. Unlike the wooden bucket and other fluid containers you've been using until now, the Bucket can be used to carry Lava and move around source blocks of other fluids.", From ae7bfba2be4e8ecdb16587c6bfd919cd7ddb61b3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 01:34:39 +0000 Subject: [PATCH 216/628] langs --- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/client_scripts/example.js | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 kubejs/client_scripts/example.js diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index cf0d3534c..e7842f2ab 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -205,6 +205,7 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water", "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice", "gtceu.recipe.category.ingot_molding": "Material Molding", + "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower,§r\n§8Moon and Ostrum Harvesters:§r", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", diff --git a/kubejs/client_scripts/example.js b/kubejs/client_scripts/example.js deleted file mode 100644 index c283f7462..000000000 --- a/kubejs/client_scripts/example.js +++ /dev/null @@ -1,3 +0,0 @@ -// priority: 1 - -console.log('TerraFirmaGreg the best modpack in the world :)') \ No newline at end of file From 6782f5e8e60d5c12d9f6be3e49275e047181efae Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 01:53:43 +0000 Subject: [PATCH 217/628] tweak --- .../quests/chapters/space_survival.snbt | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/config/ftbquests/quests/chapters/space_survival.snbt b/config/ftbquests/quests/chapters/space_survival.snbt index 6732d30da..e5c942a16 100644 --- a/config/ftbquests/quests/chapters/space_survival.snbt +++ b/config/ftbquests/quests/chapters/space_survival.snbt @@ -822,6 +822,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.space_survival.spice.desc}"] + icon: "tfg:spice" id: "0CA5B715B76E4A5B" shape: "hexagon" size: 1.5d @@ -1108,15 +1109,23 @@ Count: 1 ForgeCaps: { "tfc:food": { - creationDate: -9223372036854775808L + 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: [ ] } - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } } - id: "betterend:cave_pumpkin_pie" + id: "tfg:food/cooked_dino_nugget" } id: "1AC201876984D248" optional: true From 9ae6b6ae50f331f493e34fa01b8ba67e2770aa61 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Sat, 6 Dec 2025 02:55:52 +0100 Subject: [PATCH 218/628] Add Distant Horizons config file (#2331) Create DistantHorizons.toml so that players have the correct DH settings when they add DH to their install. Signed-off-by: Mqrius --- config/DistantHorizons.toml | 818 ++++++++++++++++++++++++++++++++++++ 1 file changed, 818 insertions(+) create mode 100644 config/DistantHorizons.toml diff --git a/config/DistantHorizons.toml b/config/DistantHorizons.toml new file mode 100644 index 000000000..a6f048e16 --- /dev/null +++ b/config/DistantHorizons.toml @@ -0,0 +1,818 @@ +_version = 3 + +[client] + # + # Should Distant Horizon's config button appear in Minecraft's options screen next to the fov slider? + showDhOptionsButtonInMinecraftUi = true + + [client.advanced] + + [client.advanced.graphics] + + [client.advanced.graphics.quality] + # + # The radius of the mod's render distance. (measured in chunks) + lodChunkRenderDistanceRadius = 256 + # + # This indicates how quickly LODs decrease in quality the further away they are. + # Higher settings will render higher quality fake chunks farther away, + # but will increase memory and GPU usage. + horizontalQuality = "MEDIUM" + # + # What is the maximum detail LODs should be drawn at? + # Higher settings will increase memory and GPU usage. + # + # CHUNK: render 1 LOD for each Chunk. + # HALF_CHUNK: render 4 LODs for each Chunk. + # FOUR_BLOCKS: render 16 LODs for each Chunk. + # TWO_BLOCKS: render 64 LODs for each Chunk. + # BLOCK: render 256 LODs for each Chunk (width of one block). + # + # Lowest Quality: CHUNK + # Highest Quality: BLOCK + maxHorizontalResolution = "BLOCK" + # + # This indicates how well LODs will represent + # overhangs, caves, floating islands, etc. + # Higher options will make the world more accurate, butwill increase memory and GPU usage. + # + # Lowest Quality: HEIGHT_MAP + # Highest Quality: EXTREME + verticalQuality = "MEDIUM" + # + # How should LOD transparency be handled. + # + # COMPLETE: LODs will render transparent. + # FAKE: LODs will be opaque, but shaded to match the blocks underneath. + # DISABLED: LODs will be opaque. + transparency = "COMPLETE" + # + # What blocks shouldn't be rendered as LODs? + # + # NONE: Represent all blocks in the LODs + # NON_COLLIDING: Only represent solid blocks in the LODs (tall grass, torches, etc. won't count for a LOD's height) + blocksToIgnore = "NON_COLLIDING" + # + # Should the blocks underneath avoided blocks gain the color of the avoided block? + # + # True: a red flower will tint the grass below it red. + # False: skipped blocks will not change color of surface below them. + tintWithAvoidedBlocks = true + # + # What the value should vanilla Minecraft's texture LodBias be? + # If set to 0 the mod wont overwrite vanilla's default (which so happens to also be 0) + lodBias = "0.0" + # + # How should LODs be shaded? + # + # AUTO: Uses the same side shading as vanilla Minecraft blocks. + # ENABLED: Simulates Minecraft's block shading for LODs. + # Can be used to force LOD shading when using some shaders. + # DISABLED: All LOD sides will be rendered with the same brightness. + lodShading = "AUTO" + # + # How should the sides and bottom of grass block LODs render? + # + # AS_GRASS: all sides of dirt LOD's render using the top (green) color. + # FADE_TO_DIRT: sides fade from grass to dirt. + # AS_DIRT: sides render entirely as dirt. + grassSideRendering = "FADE_TO_DIRT" + # + # If true LODs will fade away as you get closer to them. + # If false LODs will cut off abruptly at a set distance from the camera. + # This setting is affected by the vanilla overdraw prevention config. + ditherDhFade = true + # + # How should vanilla Minecraft fade into Distant Horizons LODs? + # + # NONE: Fastest, there will be a pronounced border between DH and MC rendering. + # SINGLE_PASS: Fades after MC's transparent pass, opaque blocks underwater won't be faded. + # DOUBLE_PASS: Slowest, fades after both MC's opaque and transparent passes, provides the smoothest transition. + vanillaFadeMode = "DOUBLE_PASS" + # + # How bright LOD colors are. + # + # 0 = black + # 1 = normal + # 2 = near white + brightnessMultiplier = "1.0" + # + # How saturated LOD colors are. + # + # 0 = black and white + # 1 = normal + # 2 = very saturated + saturationMultiplier = "1.0" + # + # This is the same as vanilla Biome Blending settings for Lod area. + # Note that anything other than '0' will greatly effect Lod building time. + # + # '0' equals to Vanilla Biome Blending of '1x1' or 'OFF', + # '1' equals to Vanilla Biome Blending of '3x3', + # '2' equals to Vanilla Biome Blending of '5x5'... + lodBiomeBlending = 3 + + [client.advanced.graphics.ssao] + # + # Enable Screen Space Ambient Occlusion + enableSsao = true + # + # Determines how many points in space are sampled for the occlusion test. + # Higher numbers will improve quality and reduce banding, but will increase GPU load. + sampleCount = 6 + # + # Determines the radius Screen Space Ambient Occlusion is applied, measured in blocks. + radius = "4.0" + # + # Determines how dark the Screen Space Ambient Occlusion effect will be. + strength = "0.2" + # + # Increasing the value can reduce banding at the cost of reducing the strength of the effect. + bias = "0.02" + # + # Determines how dark the occlusion shadows can be. + # 0 = totally black at the corners + # 1 = no shadow + minLight = "0.25" + # + # The radius, measured in pixels, that blurring is calculated for the SSAO. + # Higher numbers will reduce banding at the cost of GPU performance. + blurRadius = 2 + + [client.advanced.graphics.genericRendering] + # + # If true non terrain objects will be rendered in DH's terrain. + # This includes beacon beams and clouds. + enableGenericRendering = true + # + # If true LOD beacon beams will be rendered. + enableBeaconRendering = true + # + # Sets the maximum height at which beacons will render.This will only affect new beacons coming into LOD render distance.Beacons currently visible in LOD chunks will not be affected. + beaconRenderHeight = 6000 + # + # If true LOD clouds will be rendered. + enableCloudRendering = true + # + # Can be disabled to use much slower but more compatible direct rendering. + # Disabling this can be used to fix some crashes on Mac. + enableInstancedRendering = true + + [client.advanced.graphics.fog] + # + # Determines if fog is drawn on DH LODs. + enableDhFog = true + # + # What color should fog use? + # + # USE_WORLD_FOG_COLOR: Use the world's fog color. + # USE_SKY_COLOR: Use the sky's color. + colorMode = "USE_WORLD_FOG_COLOR" + # + # Should Minecraft's fog render? + # Note: Other mods may conflict with this setting. + enableVanillaFog = false + # + # At what distance should the far fog start? + # + # 0.0: Fog starts at the player's position. + # 1.0: Fog starts at the closest edge of the vanilla render distance. + # 1.414: Fog starts at the corner of the vanilla render distance. + farFogStart = "0.4" + # + # Where should the far fog end? + # + # 0.0: Fog ends at player's position. + # 1.0: Fog ends at the closest edge of the vanilla render distance. + # 1.414: Fog ends at the corner of the vanilla render distance. + farFogEnd = "1.0" + # + # What is the minimum fog thickness? + # + # 0.0: No fog. + # 1.0: Fully opaque fog. + farFogMin = "0.0" + # + # What is the maximum fog thickness? + # + # 0.0: No fog. + # 1.0: Fully opaque fog. + farFogMax = "1.0" + # + # How should the fog thickness should be calculated? + # + # LINEAR: Linear based on distance (will ignore 'density') + # EXPONENTIAL: 1/(e^(distance*density)) + # EXPONENTIAL_SQUARED: 1/(e^((distance*density)^2) + farFogFalloff = "EXPONENTIAL_SQUARED" + # + # Used in conjunction with the Fog Falloff. + farFogDensity = "2.5" + + [client.advanced.graphics.fog.heightFog] + # + # How should height effect the fog thickness? + # Note: height fog is combined with the other fog settings. + # + # SPHERICAL: Fog is calculated based on camera distance. + # CYLINDRICAL: Ignore height, fog is calculated based on horizontal distance. + # + # MAX: max(heightFog, farFog) + # ADDITION: heightFog + farFog + # MULTIPLY: heightFog * farFog + # INVERSE_MULTIPLY: 1 - (1-heightFog) * (1-farFog) + # LIMITED_ADDITION: farFog + max(farFog, heightFog) + # MULTIPLY_ADDITION: farFog + farFog * heightFog + # INVERSE_MULTIPLY_ADDITION: farFog + 1 - (1-heightFog) * (1-farFog) + # AVERAGE: farFog*0.5 + heightFog*0.5 + heightFogMixMode = "SPHERICAL" + # + # Where should the height fog start? + # + # ABOVE_CAMERA: Height fog starts at the camera and goes towards the sky + # BELOW_CAMERA: Height fog starts at the camera and goes towards the void + # ABOVE_AND_BELOW_CAMERA: Height fog starts from the camera to goes towards both the sky and void + # ABOVE_SET_HEIGHT: Height fog starts from a set height and goes towards the sky + # BELOW_SET_HEIGHT: Height fog starts from a set height and goes towards the void + # ABOVE_AND_BELOW_SET_HEIGHT: Height fog starts from a set height and goes towards both the sky and void + heightFogDirection = "BELOW_SET_HEIGHT" + # + # If the height fog is calculated around a set height, what is that height position? + heightFogBaseHeight = "80.0" + # + # Should the start of the height fog be offset? + # + # 0.0: Fog start with no offset. + # 1.0: Fog start with offset of the entire world's height. (Includes depth) + heightFogStart = "0.0" + # + # Should the end of the height fog be offset? + # + # 0.0: Fog end with no offset. + # 1.0: Fog end with offset of the entire world's height. (Include depth) + heightFogEnd = "0.6" + # + # What is the minimum fog thickness? + # + # 0.0: No fog. + # 1.0: Fully opaque fog. + heightFogMin = "0.0" + # + # What is the maximum fog thickness? + # + # 0.0: No fog. + # 1.0: Fully opaque fog. + heightFogMax = "1.0" + # + # How should the height fog thickness should be calculated? + # + # LINEAR: Linear based on height (will ignore 'density') + # EXPONENTIAL: 1/(e^(height*density)) + # EXPONENTIAL_SQUARED: 1/(e^((height*density)^2) + heightFogFalloff = "EXPONENTIAL_SQUARED" + # + # What is the height fog's density? + heightFogDensity = "20.0" + + [client.advanced.graphics.noiseTexture] + # + # Should a noise texture be applied to LODs? + # + # This is done to simulate textures and make the LODs appear more detailed. + enableNoiseTexture = true + # + # How many steps of noise should be applied to LODs? + noiseSteps = 4 + # + # How intense should the noise should be? + noiseIntensity = "5.0" + # + # Defines how far should the noise texture render before it fades away. (in blocks) + # Set to 0 to disable noise from fading away + noiseDropoff = 1024 + + [client.advanced.graphics.culling] + # + # Determines how far from the camera Distant Horizons will start rendering. + # Measured as a percentage of the vanilla render distance. + # + # 0 = auto, overdraw will change based on the vanilla render distance. + # + # Higher values will prevent LODs from rendering behind vanilla blocks at a higher distance, + # but may cause holes in the world. + # Holes are most likely to appear when flying through unloaded terrain. + # + # Increasing the vanilla render distance increases the effectiveness of this setting. + overdrawPrevention = "0.0" + # + # If enabled caves won't be rendered. + # + # Note: for some world types this can cause + # overhangs or walls for floating objects. + # Tweaking the caveCullingHeight, can resolve some + # of those issues. + enableCaveCulling = true + # + # At what Y value should cave culling start? + # Lower this value if you get walls for areas with 0 light. + caveCullingHeight = 60 + # + # If false all beacons near the camera won't be drawn to prevent vanilla overdraw. + # If true all beacons will be rendered. + # + # Generally this should be left as true. It's main purpose is for debugging + # beacon updating/rendering. + disableBeaconDistanceCulling = true + # + # If true LODs outside the player's camera + # aren't drawn, increasing GPU performance. + # + # If false all LODs are drawn, even those behind + # the player's camera, decreasing GPU performance. + # + # Disable this if you see LODs disappearing at the corners of your vision. + disableFrustumCulling = false + # + # Identical to the other frustum culling option + # only used when a shader mod is present using the DH API + # and the shadow pass is being rendered. + # + # Disable this if shadows render incorrectly. + disableShadowPassFrustumCulling = false + # + # A comma separated list of block resource locations that won't be rendered by DH. + # Air is always included in this list. + # Requires a restart to change. + ignoredRenderBlockCsv = "minecraft:barrier,minecraft:structure_void,minecraft:light,minecraft:tripwire,minecraft:brown_mushroom" + # + # A comma separated list of block resource locations that shouldn't be rendered + # if they are in a 0 sky light underground area. + # Air is always included in this list. + # Requires a restart to change. + ignoredRenderCaveBlockCsv = "minecraft:glow_lichen,minecraft:rail,minecraft:water,minecraft:lava,minecraft:bubble_column,minecraft:cave_vines_plant,minecraft:vine,minecraft:cave_vines,minecraft:short_grass,minecraft:tall_grass,minecraft:small_dripleaf,minecraft:big_dripleaf,minecraft:big_dripleaf_stem,minecraft:sculk_vein" + + [client.advanced.graphics.experimental] + # + # This is the earth size ratio when applying the curvature shader effect. + # Note: Enabling this feature may cause rendering bugs. + # + # 0 = flat/disabled + # 1 = 1 to 1 (6,371,000 blocks) + # 100 = 1 to 100 (63,710 blocks) + # 10000 = 1 to 10000 (637.1 blocks) + # + # Note: Due to current limitations, the min value is 50 + # and the max value is 5000. Any values outside this range + # will be set to 0 (disabled). + earthCurveRatio = 0 + + [client.advanced.multiplayer] + # + # How should multiplayer save folders should be named? + # + # NAME_ONLY: Example: "Minecraft Server" + # IP_ONLY: Example: "192.168.1.40" + # NAME_IP: Example: "Minecraft Server IP 192.168.1.40" + # NAME_IP_PORT: Example: "Minecraft Server IP 192.168.1.40:25565"NAME_IP_PORT_MC_VERSION: Example: "Minecraft Server IP 192.168.1.40:25565 GameVersion 1.16.5" + serverFolderNameMode = "NAME_ONLY" + + [client.advanced.autoUpdater] + # + # Automatically check for updates on game launch? + enableAutoUpdater = true + # + # Should Distant Horizons silently, automatically download and install new versions? + # This setting is force disabled on dedicated servers for stability reasons. + enableSilentUpdates = false + # + # If DH should use the nightly (provided by Gitlab), or stable (provided by Modrinth) build. + # If [AUTO] is selected DH will update to new stable releases if the current jar is a stable jar + # and will update to new nightly builds if the current jar is a nightly jar (IE the version number ends in '-dev'). + updateBranch = "AUTO" + + [client.advanced.debugging] + # + # What renderer is active? + # + # DEFAULT: Default lod renderer + # DEBUG: Debug testing renderer + # DISABLED: Disable rendering + rendererMode = "DEFAULT" + # + # Should specialized colors/rendering modes be used? + # + # OFF: LODs will be drawn with their normal colors. + # SHOW_DETAIL: LODs' color will be based on their detail level. + # SHOW_BLOCK_MATERIAL: LODs' color will be based on their material. + # SHOW_OVERLAPPING_QUADS: LODs will be drawn with total white, but overlapping quads will be drawn with red. + debugRendering = "OFF" + # + # If enabled this will disable (most) vanilla Minecraft rendering. + # + # NOTE: Do not report any issues when this mode is on! + # This setting is only for fun and debugging. + # Mod compatibility is not guaranteed. + lodOnlyMode = false + # + # If enabled the LODs will render as wireframe. + renderWireframe = false + # + # If true the F8 key can be used to cycle through the different debug modes. + # and the F6 key can be used to enable and disable LOD rendering. + enableDebugKeybindings = false + # + # Stops vertex colors from being passed. + # Useful for debugging shaders + enableWhiteWorld = false + # + # If true overlapping quads will be rendered as bright red for easy identification. + # If false the quads will be rendered normally. + showOverlappingQuadErrors = false + # + # If true OpenGL Buffer garbage collection will be logged + # this also includes the number of live buffers. + logBufferGarbageCollection = false + + [client.advanced.debugging.debugWireframe] + # + # If enabled, various wireframes for debugging internal functions will be drawn. + # + # NOTE: There WILL be performance hit! + # Additionally, only stuff that's loaded after you enable this + # will render their debug wireframes. + enableRendering = false + # + # Render queued world gen tasks? + showWorldGenQueue = false + # + # Render queued network sync on load tasks? + showNetworkSyncOnLoadQueue = false + # + # Render LOD section status? + showRenderSectionStatus = false + # + # A white box will be drawn when an LOD starts rendering + # and a purple box when an LOD stops rendering. + # + # This can be used to debug Quad Tree holes. + showRenderSectionToggling = false + # + # Render Quad Tree Rendering status? + showQuadTreeRenderStatus = false + # + # Render full data update/lock status? + showFullDataUpdateStatus = false + + [client.advanced.debugging.openGl] + # + # Defines how OpenGL errors are handled. + # Requires rebooting Minecraft to change. + # Will catch OpenGL errors thrown by other mods. + overrideVanillaGLLogger = true + # + # If true each Open GL error will only be logged once. + # Enabling this may cause some error logs to be missed. + # Does nothing if overrideVanillaGLLogger is set to false. + # + # Generally this can be kept as 'true' to prevent log spam. + # However, Please set this to 'false' if a developer needs your log to debug a GL issue. + onlyLogGlErrorsOnce = true + # + # Defines how OpenGL errors are handled. + # May incorrectly catch OpenGL errors thrown by other mods. + # + # IGNORE: Do nothing. + # LOG: write an error to the log. + # LOG_THROW: write to the log and throw an exception. + # Warning: this should only be enabled when debugging the LOD renderer + # as it may break Minecraft's renderer when an exception is thrown. + glErrorHandlingMode = "IGNORE" + # + # Massively reduces FPS. + # Should only be used if mysterious EXCEPTION_ACCESS_VIOLATION crashes are happening in DH's rendering code for troubleshooting. + validateBufferIdsBeforeRendering = false + + [client.advanced.debugging.f3Screen] + # + # Shows the player's LOD position. + showPlayerPos = true + # + # Defines what internal detail level the player position will be shown as. + # Internal detail level means: 6 = 1x1 block, 7 = 2x2 blocks, etc. + playerPosSectionDetailLevel = 6 + # + # Shows info about each thread pool. + showThreadPools = true + # + # Shows the combined memory use and array counts for all DH pooled objects. + showCombinedObjectPools = false + # + # Shows the memory use and array counts for each DH object pool. + showSeparatedObjectPools = false + # + # Shows how many chunks are queud for processing and the max count that can be queued. + showQueuedChunkUpdateCount = true + # + # Shows what levels are loaded and world gen/rendering info about those levels. + showLevelStatus = true + + [client.advanced.debugging.exampleConfigScreen] + boolTest = false + byteTest = "8" + intTest = 69420 + doubleTest = "420.69" + shortTest = "69" + longTest = "42069" + floatTest = "0.42069" + stringTest = "Test input box" + listTest = ["option 1", "option 2", "option 3"] + mapTest = "{}" + linkableTest = 420 + +[common] + + [common.worldGenerator] + # + # Should Distant Horizons slowly generate LODs + # outside the vanilla render distance? + # Depending on the generator mode, this will import existing chunks + # and/or generating missing chunks. + enableDistantGeneration = true + # + # How detailed should LODs be generated outside the vanilla render distance? + # + # PRE_EXISTING_ONLY + # Only create LOD data for already generated chunks. + # + # + # SURFACE + # Generate the world surface, + # this does NOT include trees, + # or structures. + # + # FEATURES + # Generate everything except structures. + # WARNING: This may cause world generator bugs or instability when paired with certain world generator mods. + # + # INTERNAL_SERVER + # Ask the local server to generate/load each chunk. + # This is the most compatible and will generate structures correctly, + # but may cause server/simulation lag. + # Note: unlike other modes this option DOES save generated chunks to + # Minecraft's region files. + distantGeneratorMode = "INTERNAL_SERVER" + # + # How should distant generator progress be displayed? + # + # OVERLAY: may be the same as CHAT for some Minecraft versions + # CHAT + # LOG + # DISABLED + showGenerationProgress = "DISABLED" + # + # How often should the distant generator progress be displayed? + generationProgressDisplayIntervalInSeconds = 2 + # + # For how many seconds should instructions for disabling the distant generator progress be displayed? + # Setting this to 0 hides the instructional message so the world gen progress is shown immediately when it starts. + generationProgressDisableMessageDisplayTimeInSeconds = 20 + # + # When logging generation progress also include the rate at which chunks + # are being generated. + # This can be useful for troubleshooting performance. + generationProgressIncludeChunksPerSecond = true + + [common.lodBuilding] + # + # Enabling this will drastically increase chunk processing time + # and you may need to increase your CPU load to handle it. + # + # Normally DH will attempt to skip creating LODs for chunks it's already seen + # and that haven't changed. + # + # However sometimes that logic incorrectly prevents LODs from being updated. + # Disabling this check may fix issues where LODs aren't updated after + # blocks have been changed. + disableUnchangedChunkCheck = false + # + # What algorithm should be used to compress new LOD data? + # This setting will only affect new or updated LOD data, + # any data already generated when this setting is changed will be + # unaffected until it needs to be re-written to the database. + # + # UNCOMPRESSED + # Should only be used for testing, is worse in every way vs [LZ4]. + # Expected Compression Ratio: 1.0 + # Estimated average DTO read speed: 6.09 milliseconds + # Estimated average DTO write speed: 6.01 milliseconds + # + # LZ4 + # A good option if you're CPU limited and have plenty of hard drive space. + # Expected Compression Ratio: 0.4513 + # Estimated average DTO read speed: 3.25 ms + # Estimated average DTO write speed: 5.99 ms + # + # Z_STD + # A good option if you're CPU limited and have plenty of hard drive space. + # Expected Compression Ratio: 0.2606 + # Estimated average DTO read speed: 9.31 ms + # Estimated average DTO write speed: 15.13 ms + # + # LZMA2 + # Slow but very good compression. + # Expected Compression Ratio: 0.2 + # Estimated average DTO read speed: 13.29 ms + # Estimated average DTO write speed: 70.95 ms + dataCompression = "Z_STD" + # + # How should block data be compressed when creating LOD data? + # This setting will only affect new or updated LOD data, + # any data already generated when this setting is changed will be + # unaffected until it is modified or re-loaded. + # + # MERGE_SAME_BLOCKS + # Every block/biome change is recorded in the database. + # This is what DH 2.0 and 2.0.1 all used by default and will store a lot of data. + # Expected Compression Ratio: 1.0 + # + # VISUALLY_EQUAL + # Only visible block/biome changes are recorded in the database. + # Hidden blocks (IE ores) are ignored. + # Expected Compression Ratio: 0.7 + worldCompression = "VISUALLY_EQUAL" + # + # True: Recalculate chunk height maps before chunks can be used by DH. + # This can fix problems with worlds created by World Painter or + # other external tools where the heightmap format may be incorrect. + # False: Assume any height maps handled by Minecraft are correct. + # + # Fastest: False + # Most Compatible: True + recalculateChunkHeightmaps = false + # + # If true LOD generation for pre-existing chunks will attempt to pull the lighting data + # saved in Minecraft's Region files. + # If false DH will pull in chunks without lighting and re-light them. + # + # Setting this to true will result in faster LOD generation + # for already generated worlds, but is broken by most lighting mods. + # + # Set this to false if LODs are black. + pullLightingForPregeneratedChunks = false + # + # When DH pulls in pre-existing chunks it will attempt to + # run any missing world generation steps; for example: + # if a chunk has the status SURFACE, DH will skip BIOMES + # and SURFACE, but will run FEATURES. + # + # However if for some reason the chunks are malformed + # or there's some other issue that causes the status + # to be incorrect that can either cause world gen + # lock-ups and/or crashes. + # If either of those happen try setting this to True. + assumePreExistingChunksAreFinished = false + + [common.lodBuilding.experimental] + # + # When active DH will attempt to fill missing LOD data + # with any data that is present in the tree, preventing holes when moving + # when a N-sized generator (or server) is active. + # + # This is only used when N-sized world generation is available + # and/or when on a server where [generateOnlyInHighestDetail] is false. + # + # Experimental: + # Enabling this option will increase CPU and harddrive use + # and may cause rendering bugs. + upsampleLowerDetailLodsToFillHoles = false + + [common.multiThreading] + # + # How many threads should be used by Distant Horizons? + numberOfThreads = 8 + # + # A value between 1.0 and 0.0 that represents the percentage + # of time each thread can run before going idle. + # + # This can be used to reduce CPU usage if the thread count + # is already set to 1 for the given option, or more finely + # tune CPU performance. + threadRunTimeRatio = "1.0" + + [common.logging] + # + # If enabled, the mod will log information about the world generation process. + # This can be useful for debugging. + logWorldGenEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" + # + # If enabled, the mod will log performance about the world generation process. + # This can be useful for debugging. + logWorldGenPerformance = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" + # + # If enabled, the mod will log information about the world generation process. + # This can be useful for debugging. + logWorldGenLoadEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" + # + # If enabled, the mod will log information about the renderer buffer process. + # This can be useful for debugging. + logRendererBufferEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" + # + # If enabled, the mod will log information about the renderer OpenGL process. + # This can be useful for debugging. + logRendererGLEvent = "LOG_ERROR_TO_CHAT_AND_INFO_TO_FILE" + # + # If enabled, the mod will log information about network operations. + # This can be useful for debugging. + logNetworkEvent = "LOG_ERROR_TO_CHAT_AND_WARNING_TO_FILE" + + [common.logging.warning] + # + # If enabled, a chat message will be displayed if Java doesn't have enough + # memory allocated to run DH well. + showLowMemoryWarningOnStartup = true + # + # If enabled, a chat message will be displayed if DH detects + # that any pooled objects have been garbage collected. + showPoolInsufficientMemoryWarning = true + # + # If enabled, a chat message will be displayed if vanilla MC's + # render distance is higher than the recommended amount. + showHighVanillaRenderDistanceWarning = true + # + # If enabled, a chat message will be displayed when a replay is started + # giving some basic information about how DH will function. + showReplayWarningOnStartup = true + # + # If enabled, a chat message will be displayed when DH has too many chunks + # queued for updating. + showUpdateQueueOverloadedChatWarning = false + # + # If enabled, a chat message will be displayed when a potentially problematic + # mod is installed alongside DH. + showModCompatibilityWarningsOnStartup = true + +[server] + # + # Makes the server send level keys for each world. + # Disable this if you use alternative ways to send level keys. + sendLevelKeys = true + # + # Prefix of the level keys sent to the clients. + # If the mod is running behind a proxy, each backend should use a unique value. + # If this value is empty, level key will be based on the server's seed hash. + levelKeyPrefix = "" + # + # How many LOD generation requests per second should a client send? + # Also limits the number of client requests allowed to stay in the server's queue. + generationRequestRateLimit = 20 + # + # Defines the distance allowed to generate around the player. + maxGenerationRequestDistance = 4096 + # + # Defines the X-coordinate of the central point for generation boundaries, in blocks. + generationBoundsX = 0 + # + # Defines the Z-coordinate of the central point for generation boundaries, in blocks. + generationBoundsZ = 0 + # + # Defines the radius around the central point within which generation is allowed, in blocks. + # If this value is set to 0, generation bounds are disabled. + generationBoundsRadius = 0 + # + # If true, clients will receive real-time LOD updates for chunks outside the client's render distance. + enableRealTimeUpdates = true + # + # Defines the distance the player will receive updates around. + realTimeUpdateDistanceRadiusInChunks = 256 + # + # If true, clients will receive updated LODs when joining or loading new LODs. + synchronizeOnLoad = true + # + # How many LOD sync requests per second should a client send? + # Also limits the amount of player's requests allowed to stay in the server's queue. + syncOnLoadRateLimit = 50 + # + # Defines the distance allowed to be synchronized around the player. + # Should be the same or larger than maxGenerationRequestDistance in most cases. + maxSyncOnLoadRequestDistance = 4096 + # + # Maximum per-player speed for uploading LODs to the clients, in KB/s. + # Value of 0 disables the limit. + playerBandwidthLimit = 500 + # + # Maximum global speed for uploading LODs to the clients, in KB/s. + # Value of 0 disables the limit. + globalBandwidthLimit = 0 + # + # Enables adaptive transfer speed based on client performance. + # If true, DH will automatically adjust transfer rate to minimize connection lag. + # If false, transfer speed will remain fixed. + enableAdaptiveTransferSpeed = false + + [server.experimental] + # + # When enabled on the client, this allows loading lower detail levels as needed to speed up terrain generation. + # This must also be enabled on the server; otherwise, it will have no effect. + # For better performance when switching LOD detail levels, enabling [upsampleLowerDetailLodsToFillHoles] is recommended. + enableNSizedGeneration = false + From 4fb964366d12813e2e2694e8612c6d0ce4757e1d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 01:56:50 +0000 Subject: [PATCH 219/628] pakku --- pakku-lock.json | 337 ++++++++++++++++++++++++------------------------ 1 file changed, 169 insertions(+), 168 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 73f9d56c5..4c6114bb4 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1459,7 +1459,7 @@ }, { "type": "curseforge", - "file_name": "baguettelib-1.20.1-Forge-1.1.1.jar", + "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", "mc_versions": [ "1.20.1" ], @@ -1467,16 +1467,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7031/573/baguettelib-1.20.1-Forge-1.1.1.jar", - "id": "7031573", + "url": "https://edge.forgecdn.net/files/7287/505/baguettelib-1.20.1-Forge-1.1.5.jar", + "id": "7287505", "parent_id": "1264423", "hashes": { - "sha1": "eb060d8ed625c2ed9182db62e60154bb94c69046", - "md5": "558b2a3c6ed2caa44883e551580c0845" + "sha1": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f", + "md5": "21c32e7a3fcd7501915bf2b91d76df9b" }, "required_dependencies": [], - "size": 30312, - "date_published": "2025-09-25T09:12:10.740Z" + "size": 31868, + "date_published": "2025-12-02T22:51:20.803Z" } ] }, @@ -4636,7 +4636,7 @@ "files": [ { "type": "modrinth", - "file_name": "diggerhelmet-1.20.1-1.0.0.24.jar", + "file_name": "diggerhelmet-1.20.1-1.0.0.25.jar", "mc_versions": [ "1.20.1" ], @@ -4645,46 +4645,46 @@ "neoforge" ], "release_type": "beta", - "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/LOYb1iLX/diggerhelmet-1.20.1-1.0.0.24.jar", - "id": "LOYb1iLX", + "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/T1mIzBuf/diggerhelmet-1.20.1-1.0.0.25.jar", + "id": "T1mIzBuf", "parent_id": "8Aatj9Zy", "hashes": { - "sha512": "042d2aaf48c2af72d401d1aaf961162545def9217b38e0fb52ff2d6879efd54af9320d499caa0cc1175ecc0442099486c1504d59337c10359feaed0960eb66c0", - "sha1": "3faf8dcea2520a247d983dcb16ad43ab1e495bf4" + "sha512": "471e84a1fa896565e65619645d78945ebafff246661fbc851ec84a18f2bb575a75a31cea381544125ce36530fc486570e07b47f813fb063f71339238964bf8d6", + "sha1": "8c49656e74daa66fd8e1c9170fab72493aaa21dd" }, "required_dependencies": [ + "JaCEZUhg", "vvuO3ImH", - "8BmcQJ2H", - "JaCEZUhg" + "8BmcQJ2H" ], - "size": 211958, - "date_published": "2025-10-16T10:59:42.921213Z" + "size": 232711, + "date_published": "2025-10-26T03:39:53.401428Z" }, { "type": "curseforge", - "file_name": "diggerhelmet-1.20.1-1.0.0.25.jar", + "file_name": "diggerhelmet-1.20.1-1.0.0.26.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7132/920/diggerhelmet-1.20.1-1.0.0.25.jar", - "id": "7132920", + "url": "https://edge.forgecdn.net/files/7290/228/diggerhelmet-1.20.1-1.0.0.26.jar", + "id": "7290228", "parent_id": "1243596", "hashes": { - "sha1": "8c49656e74daa66fd8e1c9170fab72493aaa21dd", - "md5": "7209f67f6e71313209e12d76313efc22" + "sha1": "3fe3d9911069db3c0d816bdbbed01193ba880087", + "md5": "cd1ea215f760b776c3bf48e93188de04" }, "required_dependencies": [ - "302973", "309927", - "388172" + "388172", + "302973" ], - "size": 232711, - "date_published": "2025-10-21T12:56:28.140Z" + "size": 233928, + "date_published": "2025-12-03T15:49:31.887Z" } ] }, @@ -5758,7 +5758,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-library-forge-2001.2.10.jar", + "file_name": "ftb-library-forge-2001.2.12.jar", "mc_versions": [ "1.20.1" ], @@ -5766,18 +5766,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6807/424/ftb-library-forge-2001.2.10.jar", - "id": "6807424", + "url": "https://edge.forgecdn.net/files/7296/748/ftb-library-forge-2001.2.12.jar", + "id": "7296748", "parent_id": "404465", "hashes": { - "sha1": "9472bb30d0e38cb774b9cc7852bdd8dbf845622b", - "md5": "ae5292127a5a0d85d793bbce8f1e24dd" + "sha1": "7f36ec4af42ad1d69872c58022e93a9d1b9c82b7", + "md5": "8bbd067159587d80f1c5286ea52e567b" }, "required_dependencies": [ "419699" ], - "size": 791875, - "date_published": "2025-07-24T16:54:08.133Z" + "size": 780523, + "date_published": "2025-12-05T12:02:22.023Z" } ] }, @@ -8167,35 +8167,9 @@ "modrinth": "ordsPcFz" }, "files": [ - { - "type": "curseforge", - "file_name": "kotlinforforge-4.11.0-all.jar", - "mc_versions": [ - "1.20.2", - "1.20.3", - "1.20.1", - "1.20", - "1.20.4" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5402/61/kotlinforforge-4.11.0-all.jar", - "id": "5402061", - "parent_id": "351264", - "hashes": { - "sha1": "1fd8acfd75a2be2dc3cdcc7e816482b2e427d6e5", - "md5": "417caa90d17dc86cf7d24b802c2a5c56" - }, - "required_dependencies": [], - "size": 7193768, - "date_published": "2024-06-05T23:45:43.380Z" - }, { "type": "modrinth", - "file_name": "kotlinforforge-4.11.0-all.jar", + "file_name": "kotlinforforge-4.12.0-all.jar", "mc_versions": [ "1.19.3", "1.19.4", @@ -8210,16 +8184,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ordsPcFz/versions/hmeyC41q/kotlinforforge-4.11.0-all.jar", - "id": "hmeyC41q", + "url": "https://cdn.modrinth.com/data/ordsPcFz/versions/Zsh14XeQ/kotlinforforge-4.12.0-all.jar", + "id": "Zsh14XeQ", "parent_id": "ordsPcFz", "hashes": { - "sha512": "d72707078f0c4fde78981c638ca976722f22a64ce74bdb489258790fe9886d763a7b1e0dfbc5429ddd3105d8a65d177f06242dfb1457e219e56c70dd3e8cbf2c", - "sha1": "1fd8acfd75a2be2dc3cdcc7e816482b2e427d6e5" + "sha512": "767f40030ed4b370a3838fa65ae1b79974f31979342fff7cc834a0d5f39eb28612642519352ff2a1dd5226ce1f745f8b3156ee3625ffde01219137d064c1ee40", + "sha1": "962fdb760409d6d71cbf079235f1ca94e3863a22" }, "required_dependencies": [], - "size": 7193768, - "date_published": "2024-06-06T01:10:20.253226Z" + "size": 7442998, + "date_published": "2025-12-03T19:48:01.561702Z" + }, + { + "type": "curseforge", + "file_name": "kotlinforforge-4.12.0-all.jar", + "mc_versions": [ + "1.20.2", + "1.20.1", + "1.20", + "1.20.4", + "1.20.3" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7291/67/kotlinforforge-4.12.0-all.jar", + "id": "7291067", + "parent_id": "351264", + "hashes": { + "sha1": "962fdb760409d6d71cbf079235f1ca94e3863a22", + "md5": "d6a40dede74edbe646b34a1bafd53b4d" + }, + "required_dependencies": [], + "size": 7442998, + "date_published": "2025-12-03T19:47:08.457Z" } ] }, @@ -10822,7 +10822,7 @@ "files": [ { "type": "modrinth", - "file_name": "Primitive creatures 2.6.jar", + "file_name": "primitive_creatures_2.7forge1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -10830,20 +10830,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/eqfW2BOb/Primitive creatures 2.6.jar", - "id": "eqfW2BOb", + "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/y7oCH4pT/primitive_creatures_2.7forge1.20.1.jar", + "id": "y7oCH4pT", "parent_id": "GfUwaZEm", "hashes": { - "sha512": "9f72b7053820e30c2b932f1587417e5d023cc0f019f938e0870d6f4284925e58698e6c624cf999acf95757819294cb4398c6937bb373d7efbc355e7687a97dee", - "sha1": "9a6f9e9c75363c7b14ec8d71e5641bbfd377f137" + "sha512": "09ed9ac29baa8ccd0449d953747458254b2f17baa0a2526a9ed55f8199225d6ebd642813d53dc938c3b18b2cbb5dd112912cd02ea709d71c4da23ca83b5bbb59", + "sha1": "f2fb38516941ac4193282af35bc2182ca98b17f5" }, "required_dependencies": [], - "size": 529007, - "date_published": "2025-11-28T00:42:21.156775Z" + "size": 526919, + "date_published": "2025-12-02T21:13:23.239833Z" }, { "type": "curseforge", - "file_name": "Primitive creatures 2.6forge.jar", + "file_name": "primitive_creatures_2.7forge1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -10851,18 +10851,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7269/624/Primitive creatures 2.6forge.jar", - "id": "7269624", + "url": "https://edge.forgecdn.net/files/7287/434/primitive_creatures_2.7forge1.20.1.jar", + "id": "7287434", "parent_id": "1218288", "hashes": { - "sha1": "9a6f9e9c75363c7b14ec8d71e5641bbfd377f137", - "md5": "3db0bd5100d722b6d959b7b37b07c725" + "sha1": "f2fb38516941ac4193282af35bc2182ca98b17f5", + "md5": "5848f8db0bc1a95133c10ff6c7dc2513" }, "required_dependencies": [ "388172" ], - "size": 529007, - "date_published": "2025-11-28T00:43:45.163Z" + "size": 526919, + "date_published": "2025-12-02T22:23:27.723Z" } ] }, @@ -11475,7 +11475,7 @@ "files": [ { "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.0.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.2.jar", "mc_versions": [ "1.20", "1.20.1" @@ -11484,20 +11484,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/F0YaeEhe/ShoulderSurfing-Forge-1.20.1-4.16.0.jar", - "id": "F0YaeEhe", + "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/wnRqDILe/ShoulderSurfing-Forge-1.20.1-4.16.2.jar", + "id": "wnRqDILe", "parent_id": "kepjj2sy", "hashes": { - "sha512": "3d0a7b71d93d180b3f5431f1580b5c6270727ea2186b1881cb3ff0b9cbf0eeaa6393b94c2d4b47223d5529aca025d7840ad9f97586ea5deb6b744b8e7d70a2a7", - "sha1": "845ce7b7a62749d8fef35afa8b01fa9bab2ace67" + "sha512": "1c00c98ebdf45aed5946b45a5c94b46ad191376112ee9f98464df25eb1562415fa6a77e5fde7fca3431b8a43efb4bb847abdd1522dcdbc031fdc586723e71b4c", + "sha1": "6e17da80a59372ef96ffe75ed15f2a71ff6fc722" }, "required_dependencies": [], - "size": 253861, - "date_published": "2025-11-22T13:58:12.266150Z" + "size": 255775, + "date_published": "2025-11-30T22:40:18.587608Z" }, { "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.0.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.2.jar", "mc_versions": [ "1.20.1", "1.20" @@ -11506,16 +11506,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7249/331/ShoulderSurfing-Forge-1.20.1-4.16.0.jar", - "id": "7249331", + "url": "https://edge.forgecdn.net/files/7279/952/ShoulderSurfing-Forge-1.20.1-4.16.2.jar", + "id": "7279952", "parent_id": "243190", "hashes": { - "sha1": "845ce7b7a62749d8fef35afa8b01fa9bab2ace67", - "md5": "e30a5b3ba918ccc723b3cecc6fcdb516" + "sha1": "6e17da80a59372ef96ffe75ed15f2a71ff6fc722", + "md5": "5f28f3ac688565db38d7b6bfe41e0ee9" }, "required_dependencies": [], - "size": 253861, - "date_published": "2025-11-22T13:58:10.293Z" + "size": 255775, + "date_published": "2025-11-30T22:40:16.337Z" } ] }, @@ -13664,33 +13664,9 @@ "modrinth": "pAcsgLW2" }, "files": [ - { - "type": "curseforge", - "file_name": "taczjs-forge-1.3.6-mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6639/214/taczjs-forge-1.3.6-mc1.20.1.jar", - "id": "6639214", - "parent_id": "1130998", - "hashes": { - "sha1": "9a75526b23e2c851df20749ba1a5f3e11f90c603", - "md5": "203a8995aa6a69c6b6ec38136d8bd4b5" - }, - "required_dependencies": [ - "1028108", - "238086" - ], - "size": 90443, - "date_published": "2025-06-11T07:06:10.097Z" - }, { "type": "modrinth", - "file_name": "taczjs-forge-1.3.6-mc1.20.1.jar", + "file_name": "taczjs-forge-1.3.7-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -13698,19 +13674,43 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/pAcsgLW2/versions/u3boO1Li/taczjs-forge-1.3.6-mc1.20.1.jar", - "id": "u3boO1Li", + "url": "https://cdn.modrinth.com/data/pAcsgLW2/versions/vV5GSjdw/taczjs-forge-1.3.7-mc1.20.1.jar", + "id": "vV5GSjdw", "parent_id": "pAcsgLW2", "hashes": { - "sha512": "02427d1396fc7eae8ebcd030739e90ab0e31aaefbaee5a4642e6ce0b3f1c51084066f74d88d988768741bd76e8b5dbcf3960250ca0f5ab901d48752531e953c9", - "sha1": "9a75526b23e2c851df20749ba1a5f3e11f90c603" + "sha512": "ef11ded5705b8eeb9d8f38800615e0c3ca05236cba6462cbf5d52dcd8dc8c6b0e3250fc021bb3475479097c9d47faf1a7466974c64006984bbeaff75b52a6c65", + "sha1": "8a97de20e31f7e863a968f82fd90e196f4b3a3b3" }, "required_dependencies": [ "umyGl7zF", "SzzJttH8" ], - "size": 90443, - "date_published": "2025-06-11T07:07:34.035734Z" + "size": 90442, + "date_published": "2025-12-02T00:14:24.346621Z" + }, + { + "type": "curseforge", + "file_name": "taczjs-forge-1.3.7-mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7284/184/taczjs-forge-1.3.7-mc1.20.1.jar", + "id": "7284184", + "parent_id": "1130998", + "hashes": { + "sha1": "8a97de20e31f7e863a968f82fd90e196f4b3a3b3", + "md5": "acdef4ed6293254878749b7c8294370d" + }, + "required_dependencies": [ + "1028108", + "238086" + ], + "size": 90442, + "date_published": "2025-12-02T01:43:33.197Z" } ] }, @@ -13738,7 +13738,7 @@ "files": [ { "type": "modrinth", - "file_name": "tacz-tweaks-2.10.0-all.jar", + "file_name": "tacz-tweaks-2.11.2-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -13747,24 +13747,24 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/6u8Qmehi/tacz-tweaks-2.10.0-all.jar", - "id": "6u8Qmehi", + "url": "https://cdn.modrinth.com/data/H8peNuJG/versions/qD990J7Z/tacz-tweaks-2.11.2-all.jar", + "id": "qD990J7Z", "parent_id": "H8peNuJG", "hashes": { - "sha512": "9c5c35e3aa7d544f21af76e665894a8412c5252c81c0cc23736d6ec58749388af3baf6aa7aac292cf434ff974c8da4be0f7ee6beb40d6448ea9281859404cc32", - "sha1": "204a636d7e84ba8631c15f11f84be8c635e7ab4f" + "sha512": "67ab623a60951ce1d6bb9b5a9e0b7a8770b399d19c8de739a7bc7a4f3536126a232cb1292be4f7599b921c2075344dc360e6a80fabbfe6c73c775bcb77fae739", + "sha1": "889c0885b6388fc7966b956a5df4efbb1c758965" }, "required_dependencies": [ "ordsPcFz", "SzzJttH8", "1eAoo2KR" ], - "size": 1737843, - "date_published": "2025-11-05T13:18:31.842515Z" + "size": 1748066, + "date_published": "2025-12-04T12:41:22.415350Z" }, { "type": "curseforge", - "file_name": "tacz-tweaks-2.10.0-all.jar", + "file_name": "tacz-tweaks-2.11.2-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -13773,20 +13773,20 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7188/921/tacz-tweaks-2.10.0-all.jar", - "id": "7188921", + "url": "https://edge.forgecdn.net/files/7293/523/tacz-tweaks-2.11.2-all.jar", + "id": "7293523", "parent_id": "1193263", "hashes": { - "sha1": "204a636d7e84ba8631c15f11f84be8c635e7ab4f", - "md5": "5e30e520314ac6855883f2b7b164bb8c" + "sha1": "889c0885b6388fc7966b956a5df4efbb1c758965", + "md5": "0b11bd77a8d1e56bd8673cc9946023e1" }, "required_dependencies": [ "667299", "351264", "1028108" ], - "size": 1737843, - "date_published": "2025-11-05T13:18:30.730Z" + "size": 1748066, + "date_published": "2025-12-04T12:41:22.310Z" } ] }, @@ -14817,47 +14817,48 @@ "modrinth": "SzzJttH8" }, "files": [ - { - "type": "curseforge", - "file_name": "tacz-1.20.1-1.1.6-hotfix.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6654/541/tacz-1.20.1-1.1.6-hotfix.jar", - "id": "6654541", - "parent_id": "1028108", - "hashes": { - "sha1": "e951d81b5f452bcad47c20d5b491fd26f8de8ce2", - "md5": "51636447584a75f8d2db2fb930d110b1" - }, - "required_dependencies": [], - "size": 47826468, - "date_published": "2025-06-15T15:09:58.720Z" - }, { "type": "modrinth", - "file_name": "tacz-1.20.1-1.1.6-hotfix.jar", + "file_name": "tacz-1.20.1-1.1.7-release.jar", "mc_versions": [ + "1.20", "1.20.1" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/SzzJttH8/versions/quyywMZF/tacz-1.20.1-1.1.6-hotfix.jar", - "id": "quyywMZF", + "url": "https://cdn.modrinth.com/data/SzzJttH8/versions/fErpFI0g/tacz-1.20.1-1.1.7-release.jar", + "id": "fErpFI0g", "parent_id": "SzzJttH8", "hashes": { - "sha512": "2db28186cc436b2e163db822dc0632fc32d5080adea3b3a0f891255cefe007ec029acd1e477f01adf5db8de7f79d14d4afa67c31a53b8c5ceaf00ce72b5de501", - "sha1": "e951d81b5f452bcad47c20d5b491fd26f8de8ce2" + "sha512": "3f4aa30d50e75b1e4e5291c4eee59107da60355c5e4b59fc3be0bc84e611d1acf0320aa8a7b905ab42d0c464d19765e58bac16e9ad6770860c19695e887ccc94", + "sha1": "869decffc818e6ccd7d6d0d734aecfaa265e908b" }, "required_dependencies": [], - "size": 47826468, - "date_published": "2025-06-15T15:12:58.577730Z" + "size": 52403127, + "date_published": "2025-12-01T04:26:59.653447Z" + }, + { + "type": "curseforge", + "file_name": "tacz-1.20.1-1.1.7-release.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7278/3/tacz-1.20.1-1.1.7-release.jar", + "id": "7278003", + "parent_id": "1028108", + "hashes": { + "sha1": "869decffc818e6ccd7d6d0d734aecfaa265e908b", + "md5": "27696ec987eefbec8e7ba6596e418b35" + }, + "required_dependencies": [], + "size": 52403127, + "date_published": "2025-11-30T12:53:47.060Z" } ] }, From c855a7cac9d06f116efd176eb317f679fd07f890 Mon Sep 17 00:00:00 2001 From: Jeuv <73312791+Jeuvke@users.noreply.github.com> Date: Sat, 6 Dec 2025 02:57:48 +0100 Subject: [PATCH 220/628] Replace bronze drums & crates in recipes with new tags containing all 3 bronze drums & crates (#2328) * Add crates and drums to bronze tag Add bronze, bismuth bronze, and black bronze crates & drums to their own tag * Replace bronze crates & drums with the new tag Replaces all the bronze crates and drum with a tag containing the other 2 bronzes as well. * Add recipe filtering to replaceInput Add input-based recipe filtering for the replaceInput for bronze drums & crates. Also add recipe filtering for the recipes that use the moss tag. Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> --------- Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> Co-authored-by: Redeix --- kubejs/server_scripts/tfg/recipes.miscellaneous.js | 9 +++++++-- kubejs/server_scripts/tfg/tags.js | 8 ++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index bfa6163b8..b6031ab30 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -8,7 +8,7 @@ function registerTFGMiscellaneousRecipes(event) { //Moss - event.replaceInput({}, 'minecraft:vine', '#tfc:moss') + event.replaceInput({input: 'minecraft:vine'}, 'minecraft:vine', '#tfc:moss') event.shapeless('1x minecraft:moss_block', [ '#tfc:dirt', @@ -95,7 +95,12 @@ function registerTFGMiscellaneousRecipes(event) { .itemOutputs('tfg:wireless_card') .duration(300) .EUt(GTValues.VA[GTValues.EV]) - + + // Replace bronze drums & crates with a tag containing the 3 different bronzes + // NOTE: A better way to do this would be to overwrite GTCraftingComponents.CRATE and GTCraftingComponents.DRUM in crafting_components.js, but tags seem to get populated after the recipes get registed, so... + event.replaceInput({input: 'gtceu:bronze_crate'}, 'gtceu:bronze_crate', '#tfg:any_bronze_crate') + event.replaceInput({input: 'gtceu:bronze_drum'}, 'gtceu:bronze_drum', '#tfg:any_bronze_drum') + //#region RNR Paving Cart const rubber_types = [ {fluid:'styrene_butadiene_rubber', quantity: 144}, diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 8735c6b48..0362ce7d9 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -30,6 +30,14 @@ const registerTFGItemTags = (event) => { event.add('tfg:platinum_ore_group', 'gtceu:purified_cooperite_ore') event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcocite_ore') + //Bronze Crates & Drums + event.add('tfg:any_bronze_crate', 'gtceu:bronze_crate') + event.add('tfg:any_bronze_crate', 'gtceu:black_bronze_crate') + event.add('tfg:any_bronze_crate', 'gtceu:bismuth_bronze_crate') + event.add('tfg:any_bronze_drum', 'gtceu:bronze_drum') + event.add('tfg:any_bronze_drum', 'gtceu:black_bronze_drum') + event.add('tfg:any_bronze_drum', 'gtceu:bismuth_bronze_drum') + //#region Tools event.add('tfg:empty_dna_syringes', 'tfg:empty_dna_syringe') event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe') From 8597092ead496081136514f0c625b7c7b6df3006 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 09:29:14 +0000 Subject: [PATCH 221/628] Update README.md (#2332) Signed-off-by: Pyritie --- .github/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/README.md b/.github/README.md index ec88c111d..299a0a111 100644 --- a/.github/README.md +++ b/.github/README.md @@ -68,6 +68,7 @@ Want to help translate? Please read [this](../kubejs/README_IF_TRANSLATING.md) i - [GregTech Community Pack Modern](https://www.curseforge.com/minecraft/modpacks/gregtech-community-pack-modern) for most of their quest text. - [Better End](https://www.curseforge.com/minecraft/mc-mods/betterend) for some assets. - Uni for Mars' dunes terrain generation. +- Flare from the [Cosmic Frontiers](https://www.curseforge.com/minecraft/modpacks/cosmic-frontiers) team for some icon set textures. [TerraFirmaCraft]: https://www.curseforge.com/minecraft/mc-mods/terrafirmacraft From 98d993bcb3d13ed4c97e094cef2b7158092a66ec Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 15:17:05 +0000 Subject: [PATCH 222/628] give another use to small shards since the primitive guys like to drop them occasionally --- kubejs/server_scripts/tfg/primitive/recipes.arrows.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.arrows.js b/kubejs/server_scripts/tfg/primitive/recipes.arrows.js index 05962e312..c16d25d55 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.arrows.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.arrows.js @@ -45,6 +45,16 @@ function registerTFGArrowRecipes(event) { C: 'tfg:fletching' }).id('tfg:shaped/arrow') + event.shaped('4x minecraft:arrow', [ + ' A ', + ' B ', + ' C ' + ], { + A: 'primitive_creatures:tt_5', + B: '#forge:rods/wooden', + C: 'tfg:fletching' + }).id('tfg:shaped/arrow') + // Wraptor feathers event.recipes.tfc.damage_inputs_shapeless_crafting( event.shapeless('4x tfg:fletching', [ From f2f2722c9816fb95229c7dcc7beb2ab331498ecf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 15:18:06 +0000 Subject: [PATCH 223/628] hide binding chains --- kubejs/server_scripts/soulbound/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/soulbound/tags.js b/kubejs/server_scripts/soulbound/tags.js index eae933e2f..ae0298e35 100644 --- a/kubejs/server_scripts/soulbound/tags.js +++ b/kubejs/server_scripts/soulbound/tags.js @@ -7,4 +7,6 @@ const registerSoulboundItemTags = (event) => { global.SOULBINDABLE_ITEMS.forEach(x => { event.add('tfg:soulbindable_items', x.equipment) }) + + event.add('c:hidden_from_recipe_viewers', 'soulbinding:binding_chains') } From 285755707a3c0065c28a3ba88314d65c26e3b7c9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 15:51:20 +0000 Subject: [PATCH 224/628] whoops --- kubejs/server_scripts/tfg/primitive/recipes.arrows.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.arrows.js b/kubejs/server_scripts/tfg/primitive/recipes.arrows.js index c16d25d55..81482c127 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.arrows.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.arrows.js @@ -15,11 +15,10 @@ function registerTFGArrowRecipes(event) { ).outsideSlotRequired(false) .id('tfg:knapping/flint_arrow_head') - event.recipes.gtceu.assembler('tfg:assembler/flint_arrow_head') + event.recipes.gtceu.cutter('tfg:assembler/flint_arrow_head') .itemInputs('1x minecraft:flint') .itemOutputs('4x tfg:flint_arrow_head') .duration(20) - .circuit(4) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.damage_inputs_shapeless_crafting( @@ -35,7 +34,7 @@ function registerTFGArrowRecipes(event) { .circuit(4) .EUt(GTValues.VA[GTValues.ULV]) - event.shaped('4x minecraft:arrow', [ + event.shaped('minecraft:arrow', [ ' A ', ' B ', ' C ' @@ -45,7 +44,7 @@ function registerTFGArrowRecipes(event) { C: 'tfg:fletching' }).id('tfg:shaped/arrow') - event.shaped('4x minecraft:arrow', [ + event.shaped('minecraft:arrow', [ ' A ', ' B ', ' C ' @@ -53,7 +52,7 @@ function registerTFGArrowRecipes(event) { A: 'primitive_creatures:tt_5', B: '#forge:rods/wooden', C: 'tfg:fletching' - }).id('tfg:shaped/arrow') + }).id('tfg:shaped/arrow_shard') // Wraptor feathers event.recipes.tfc.damage_inputs_shapeless_crafting( From a4577467818499bd1adbd0a41c6dea51a07de2ee Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 15:51:34 +0000 Subject: [PATCH 225/628] inf fire for venus --- kubejs/server_scripts/tfc/tags.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 040b9857b..16edea41c 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -431,6 +431,14 @@ function registerTFCBlockTags(event) { }); event.add('tfc:can_be_snow_piled', 'tfc:groundcover/feather'); + + event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/granite') + event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/diorite') + event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/gabbro') + event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/rhyolite') + event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/basalt') + event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/andesite') + event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/dacite') } /** @param {TagEvent.Fluid} event */ From 68a39f00e76f9b64e1e6e718beff2b9a445b8d0b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 15:51:47 +0000 Subject: [PATCH 226/628] fixes #2333 --- kubejs/server_scripts/beneath/recipes.js | 3 ++ .../tfg/natural_blocks/recipes.rocks.js | 33 ++++++++++--------- .../tfg/natural_blocks/recipes.tfc_stone.js | 2 +- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index 11edd6094..ba4208649 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -10,12 +10,15 @@ const registerBeneathRecipes = (event) => { event.remove({ id: 'beneath:collapse/basalt' }) event.remove({ id: 'beneath:collapse/nether_bricks' }) + event.remove({ id: 'beneath:crafting/nether_bricks' }) event.remove({ id: 'beneath:crafting/blackstone' }) event.remove({ id: 'beneath:crafting/blackstone_uncraft' }) + event.remove({ id: 'beneath:crafting/blackstone_bricks' }) event.remove({ id: 'beneath:crafting/blackstone_bricks_from_soot' }) event.remove({ id: 'beneath:crafting/blackstone_from_soot' }) event.remove({ id: 'beneath:crafting/blackstone_plate' }) event.remove({ id: 'beneath:crafting/blackstone_button' }) + event.remove({ id: 'beneath:crafting/blackstone_aqueduct' }) event.remove({ id: 'beneath:crafting/hellbricks' }) event.remove({ id: 'beneath:crafting/nether_brick' }) event.remove({ id: 'beneath:quern/slime' }) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index fe606f170..da873e89a 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -14,11 +14,13 @@ function registerTFGRockRecipes(event) { { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, { loose: 'beneath:blackstone_pebble', block: 'tfg:rock/cobble_blackstone' }, + { loose: 'beneath:blackstone_brick', block: 'minecraft:polished_blackstone_bricks' }, { loose: 'tfg:loose/dripstone', block: 'tfg:rock/cobble_dripstone' }, { loose: 'tfg:brick/dripstone', block: '4x create:cut_dripstone_bricks' }, { loose: 'tfg:loose/crackrack', block: 'tfg:rock/cobble_crackrack' }, + { loose: 'minecraft:nether_brick', block: 'minecraft:nether_bricks' }, { loose: 'tfg:loose/moon_stone', block: 'ad_astra:moon_cobblestone' }, { loose: 'tfg:brick/moon_stone', block: '4x ad_astra:moon_stone_bricks' }, @@ -63,7 +65,7 @@ function registerTFGRockRecipes(event) { .itemInputs(`5x ${x.loose}`) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(x.block) - .circuit(2) + .circuit(1) .duration(50) .EUt(2) @@ -157,6 +159,7 @@ function registerTFGRockRecipes(event) { // #region AQUEDUCTS const AQUEDUCTS = [ { brick: 'tfg:brick/deepslate', aqueduct: 'tfg:rock/aqueduct_deepslate' }, + { brick: 'beneath:blackstone_brick', aqueduct: 'beneath:blackstone_aqueduct' }, { brick: 'tfg:brick/dripstone', aqueduct: 'tfg:rock/aqueduct_dripstone' }, { brick: 'minecraft:nether_brick', aqueduct: 'tfg:rock/aqueduct_nether' }, { brick: 'tfg:brick/moon_stone', aqueduct: 'tfg:rock/aqueduct_moon_stone' }, @@ -166,7 +169,8 @@ function registerTFGRockRecipes(event) { { brick: 'tfg:brick/mercury_stone', aqueduct: 'tfg:rock/aqueduct_mercury_stone' }, { brick: 'tfg:brick/glacio_stone', aqueduct: 'tfg:rock/aqueduct_glacio_stone' }, { brick: 'tfg:brick/permafrost', aqueduct: 'tfg:rock/aqueduct_permafrost' }, - { brick: 'tfg:brick/red_granite', aqueduct: 'tfg:rock/aqueduct_red_granite' } + { brick: 'tfg:brick/red_granite', aqueduct: 'tfg:rock/aqueduct_red_granite' }, + { brick: 'gtceu:stone_ingot', aqueduct: 'tfg:rock/aqueduct_stone' } ] AQUEDUCTS.forEach(x => { @@ -177,15 +181,14 @@ function registerTFGRockRecipes(event) { A: x.brick, B: 'tfc:mortar' }) - }) - event.shaped('tfg:rock/aqueduct_stone', [ - 'ABA', - 'ABA', - 'AAA' - ], { - A: 'gtceu:stone_ingot', - B: 'tfc:mortar' + event.recipes.gtceu.assembler(`${x.brick}_to_${x.aqueduct}`.replace(/:/g, '_')) + .itemInputs(`3x ${x.brick}`) + .circuit(3) + .inputFluids(Fluid.of('gtceu:concrete', 16)) + .itemOutputs(x.aqueduct) + .duration(50) + .EUt(2) }) @@ -573,19 +576,19 @@ function registerTFGRockRecipes(event) { dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy { raw: 'tfg:rock/polished_moon_deepslate', stair: 'tfg:rock/polished_moon_deepslate_stairs', slab: 'tfg:rock/polished_moon_deepslate_slab', wall: 'tfg:rock/polished_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Smooth + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Smooth { raw: 'tfg:rock/bricks_moon_deepslate', stair: 'tfg:rock/bricks_moon_deepslate_stairs', slab: 'tfg:rock/bricks_moon_deepslate_slab', wall: 'tfg:rock/bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks { raw: 'tfg:rock/cracked_bricks_moon_deepslate', stair: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', slab: 'tfg:rock/cracked_bricks_moon_deepslate_slab', wall: 'tfg:rock/cracked_bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked { raw: 'tfg:rock/mossy_bricks_moon_deepslate', stair: 'tfg:rock/mossy_bricks_moon_deepslate_stairs' , slab: 'tfg:rock/mossy_bricks_moon_deepslate_slab', wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy { raw: 'tfg:rock/chiseled_bricks_moon_deepslate', stair: 'tfg:rock/chiseled_bricks_moon_deepslate_stairs', slab: 'tfg:rock/chiseled_bricks_moon_deepslate_slab', wall: 'tfg:rock/chiseled_bricks_moon_deepslate_wall', - dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Extra + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Extra // Permafrost { raw: 'ad_astra:permafrost', stair: 'tfg:rock/permafrost_stairs', slab: 'tfg:rock/permafrost_slab', wall: 'tfg:rock/permafrost_wall', diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js index 28df78c39..7b5869546 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js @@ -290,7 +290,7 @@ function registerTFCStoneRecipes(event) { event.recipes.gtceu.assembler(`aqueduct_${stone}`) .itemInputs(`3x tfc:brick/${stone}`) - .circuit(0) + .circuit(3) .inputFluids(Fluid.of('gtceu:concrete', 16)) .itemOutputs(`tfc:rock/aqueduct/${stone}`) .duration(50) From 6bfd68d386b5eca5813f0321376e9b5bf7ea40fd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 16:04:59 +0000 Subject: [PATCH 227/628] update changelog --- CHANGELOG.md | 11 ++++++++--- .../quests/chapters/tips__transportation.snbt | 1 - 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b01017c23..fac8497b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## [Unreleased] ### Breaking Changes - The tungsten processing line has been updated to now properly loop and balance all of its intermediates. The actual processes haven't changed, just the numbers, so you shouldn't have to change your setup much. It now also outputs a little extra oxygen instead of sodium (#2267) @SpicyNoodle5 @TomPlop +- Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie ### Mod updates - Added TFC Gurman, which adds even more food and drink - New GregTech updates, both [7.3.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.3.0-1.20.1) and [7.4.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.4.0-1.20.1). TL;DR: @@ -22,17 +23,19 @@ - Oilsands dust can now be centrifuged in the mechanical centrifuge @Pyritie - All oils (both the petrochem kind and the cooking kind) can now be used to fuel small boilers as well @Pyritie - Reduced the cost of the ME Ingredient Buffer @Pyritie -- Renamed Blubber to Animal Fat and added it to the drop tables of more animals (pigs drop a fair bit, orcas drop a ton). Renamed Fish Oil to Tallowate since you can turn animal fat into tallow into fish oil (now tallowate). From there you can turn it into biodiesel! @applenper @Pyritie -- Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie +- Renamed Blubber to Animal Fat and added it to the drop tables of more animals (pigs drop a fair bit, orcas drop a ton). You can extract it into Tallow and now also use it for biodiesel! @applenper @Pyritie - Glass bottles and ceramic jugs can now hold the same fluids as wooden barrels, buckets, etc @Pyritie - Added fluid/item capacity tooltips to many fluid/item containers @Pyritie - Spring water is now drinkable (it also heats you up a little) @Pyritie +- The reinforced hang glider has been buffed, is now craftable as soon as you get aluminium, and is also much cheaper to repair (#2314) @jeuvke +- You can now also use bismuth bronze and black bronze crates in recipes that previously required a normal bronze crate (#2328) @jeuvke +- Freeze dried food no longer has any hydration (#2325) @mqrius ### Bug fixes - Fixed the horse crank not working at all @Pyritie - Fixed brown gravy recipe @Redeix - Fixed instant mac recipe requiring less cardboard than it gives back @Redeix - Fixed Ad Astra moon cheese nutrition values being inconsistent @Redeix -- Fixed some quest typos @Pyritie +- Fixed some quest typos @Pyritie @mqrius - Fixed duplicate bed dyeing recipe (#2229) @Pyritie - Fixed Basic Hermetic Casing missing a mineable tag and loot table (#2221) @Pyritie - Fixed some inconsistencies with gravel to sand recipe tiers (#2292) @Pyritie @@ -47,6 +50,8 @@ - Fixed some missing blocks from the GT facade whitelist (#2299) @MoltonMontro - Changed the texture of the ME Stocking Input Bus + Hatch to match the hull used to craft them @Pyritie - Fixed warped/crimson trees only growing on mars mycelium and not mars dirt @Pyritie +- Fixed a few missing crafting recipes for bricks in the assembler (#2333) @Pyritie +- Fixed a recycling dupe with the maintenace hatch (#2321) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/config/ftbquests/quests/chapters/tips__transportation.snbt b/config/ftbquests/quests/chapters/tips__transportation.snbt index 297431706..d242ce27d 100644 --- a/config/ftbquests/quests/chapters/tips__transportation.snbt +++ b/config/ftbquests/quests/chapters/tips__transportation.snbt @@ -1124,7 +1124,6 @@ { dependencies: ["7EE13BE102F323F3"] description: ["{quests.tfg_tips.reinforced_glider.desc}"] - hide_until_deps_complete: true id: "472D1C507490CC8A" optional: true shape: "heart" From a1226ae80b5bc9d485a4bfadea89507dfcbf4874 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Dec 2025 16:54:45 +0000 Subject: [PATCH 228/628] add venus biomes to create picky wheels whitelist --- kubejs/server_scripts/create_picky_wheels/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/create_picky_wheels/tags.js b/kubejs/server_scripts/create_picky_wheels/tags.js index 708c1e980..4888dc585 100644 --- a/kubejs/server_scripts/create_picky_wheels/tags.js +++ b/kubejs/server_scripts/create_picky_wheels/tags.js @@ -8,8 +8,10 @@ function registerCreatePickyWheelsBiomeTags(event) { event.add('createpickywheels:waterwheels_whitelist', '#tfg:overworld_biomes') event.add('createpickywheels:waterwheels_whitelist', '#tfg:nether_biomes') event.add('createpickywheels:waterwheels_whitelist', '#tfg:mars_biomes') + event.add('createpickywheels:waterwheels_whitelist', '#tfg:venus_biomes') event.add('createpickywheels:windmills_whitelist', '#tfg:overworld_biomes') event.add('createpickywheels:windmills_whitelist', '#tfg:nether_biomes') event.add('createpickywheels:windmills_whitelist', '#tfg:mars_biomes') + event.add('createpickywheels:windmills_whitelist', '#tfg:venus_biomes') } \ No newline at end of file From d19f4ad3e9e1c88b293b99335bfa5bac3da4535f Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Sat, 6 Dec 2025 22:40:18 +0300 Subject: [PATCH 229/628] Fix ru translation of primitive_alloys.json (#2337) Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../getting_started/primitive_alloys.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/primitive_alloys.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/primitive_alloys.json index 4232f1326..b17cdf26b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/primitive_alloys.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/getting_started/primitive_alloys.json @@ -14,28 +14,28 @@ }, { "type": "patchouli:text", - "text": "Например, чтобы создать 1000 мБ $(thing)Бронзы$() (показано справа), вам потребуется от 880 до 920 мБ $(thing)меди$(), и от 80 до 120 мБ $(thing)Олова$().$(br2)На следующих трех страницах показаны рецепты трех видов бронзы. Каждый тип бронзы может использоваться для изготовления инструментов, $(l:mechanics/armor)Доспехов$(), и других металлических предметов. Они немного отличаются, поэтому полученные инструменты будут иметь разную прочность, эффективность и урон." + "text": "Например, чтобы создать 1000 мБ $(thing)Бронзы$() (показано справа), вам потребуется от 700 до 800 мБ $(thing)меди$(), и от 200 до 300 мБ $(thing)Олова$().$(br2)На следующих трех страницах показаны рецепты трех видов бронзы. Каждый тип бронзы может использоваться для изготовления инструментов, $(l:mechanics/armor)Доспехов$(), и других металлических предметов. Они немного отличаются, поэтому полученные инструменты будут иметь разную прочность, эффективность и урон." }, { "type": "patchouli:spotlight", "item": "tfc:metal/ingot/bronze", "title": "Бронза", "link_recipes": false, - "text": "$(br)$(bold)Требования: $()$(br)$(li)88 - 92 %: $(thing)медь$()$(li)8 - 12 %: $(thing)Олово$()$(br2)" + "text": "$(br)$(bold)Требования: $()$(br)$(li)70 - 80 %: $(thing)Медь$()$(li)20 - 30 %: $(thing)Олово$()$(br2)" }, { "type": "patchouli:spotlight", "item": "tfc:metal/ingot/bismuth_bronze", "title": "Висмутовая бронза", "link_recipes": false, - "text": "$(br)$(bold)Требования: $()$(br)$(li)20 - 30 % : $(thing)Цинк$()$(li)50 - 65 %: $(thing)медь$()$(li)10 - 20 % : $(thing)Висмут$()$(br2)" + "text": "$(br)$(bold)Требования: $()$(br)$(li)20 - 30 % : $(thing)Цинк$()$(li)50 - 65 %: $(thing)Медь$()$(li)10 - 20 % : $(thing)Висмут$()$(br2)" }, { "type": "patchouli:spotlight", "item": "tfc:metal/ingot/black_bronze", "title": "Чёрная бронза", "link_recipes": false, - "text": "$(br)$(bold)Требования: $()$(br)$(li)50 - 70 %: $(thing)медь$()$(li)10 - 25 %: $(thing)Серебро$()$(li)10 - 25 %: $(thing)Золото$()$(br2)" + "text": "$(br)$(bold)Требования: $()$(br)$(li)50 - 70 %: $(thing)Медь$()$(li)10 - 25 %: $(thing)Серебро$()$(li)10 - 25 %: $(thing)Золото$()$(br2)" }, { "type": "patchouli:text", @@ -48,21 +48,21 @@ "item": "tfc:metal/ingot/brass", "title": "Латунь", "link_recipes": false, - "text": "$(br)$(bold)Требования:$()$(br)$(li)88 - 92 %: $(thing)медь$()$(li)8 - 12 %: $(thing)Цинк$()$(br2)" + "text": "$(br)$(bold)Требования:$()$(br)$(li)70 - 80 %: $(thing)Медь$()$(li)20 - 30 %: $(thing)Цинк$()$(br2)" }, { "type": "patchouli:spotlight", "item": "tfc:metal/ingot/rose_gold", "title": "Розовое золото", "link_recipes": false, - "text": "$(br)$(bold)Требования: $()$(br)$(li)15 - 30 %: $(thing)медь$()$(li)70 - 85 %: $(thing)Золото$()$(br2)" + "text": "$(br)$(bold)Требования: $()$(br)$(li)15 - 30 %: $(thing)Медь$()$(li)70 - 85 %: $(thing)Золото$()$(br2)" }, { "type": "patchouli:spotlight", "item": "tfc:metal/ingot/sterling_silver", "title": "Стерлинговое серебро", "link_recipes": false, - "text": "$(br)$(bold)Требования: $()$(br)$(li)20 - 40 %: $(thing)медь$()$(li)60 - 80 %: $(thing)Серебро$()$(br2)" + "text": "$(br)$(bold)Требования: $()$(br)$(li)20 - 40 %: $(thing)Медь$()$(li)60 - 80 %: $(thing)Серебро$()$(br2)" } ], "read_by_default": true, @@ -73,4 +73,4 @@ "tfc:metal/ingot/black_bronze": 5, "tfc:metal/ingot/brass": 7 } -} \ No newline at end of file +} From e903731aa3486398fa05c2b978d599296919d929 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 15:09:07 +0000 Subject: [PATCH 230/628] langs --- kubejs/assets/ae2/lang/ru_ru.json | 8 +++++++- kubejs/assets/gtceu/lang/en_us.json | 15 ++++++++------- kubejs/assets/gtceu/lang/zh_cn.json | 16 +++++++++------- kubejs/assets/tfg/lang/en_us.json | 11 ++++++++++- kubejs/assets/tfg/lang/zh_cn.json | 26 ++++++++++++++++++-------- 5 files changed, 52 insertions(+), 24 deletions(-) diff --git a/kubejs/assets/ae2/lang/ru_ru.json b/kubejs/assets/ae2/lang/ru_ru.json index 21c8b4547..2014cb8d5 100644 --- a/kubejs/assets/ae2/lang/ru_ru.json +++ b/kubejs/assets/ae2/lang/ru_ru.json @@ -2,5 +2,11 @@ "__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": "Crafting Presses are obtained by breaking a Mysterious Cube. Mysterious Cubes are in the center of meteorites which can be found on the moon.", "gui.advanced_ae.AdvPatternProvider": "", - "gui.expandedae.exp_pattern_provider": "" + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.portable_item_cell_256k": "256К Переносная предметная ячейка", + "item.ae2.portable_fluid_cell_256k": "256К Переносная жидкостная ячейка", + "item.ae2.cell_component_256k": "256К МЭ компонент хранения", + "item.ae2.item_storage_cell_256k": "256К МЭ предметная ячейка хранения", + "item.ae2.fluid_storage_cell_256k": "256К МЭ жидкостная ячейка хранения", + "block.ae2.256k_crafting_storage": "Хранилище для изготовления на 256К" } \ 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 e7842f2ab..7a05e10c7 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -197,13 +197,14 @@ "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", - "gtceu.jei.bedrock_fluid.moon_helium": "Lunar Helium", - "gtceu.jei.bedrock_fluid.moon_helium_3": "Lunar Helium-3", - "gtceu.jei.bedrock_fluid.moon_argon": "Lunar Argon", - "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "Martian Semiheavy Ammoniacal Water", - "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Martian Liquid Carbon Dioxide", - "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water", - "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice", + "gtceu.jei.bedrock_fluid.nether_natural_gas_deposit": "Beneath Natural Gas Deposit", + "gtceu.jei.bedrock_fluid.moon_helium": "Lunar Helium Deposit", + "gtceu.jei.bedrock_fluid.moon_helium_3": "Lunar Helium-3 Deposit", + "gtceu.jei.bedrock_fluid.moon_argon": "Lunar Argon Deposit", + "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "Martian Semiheavy Ammoniacal Water Deposit", + "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Martian Liquid Carbon Dioxide Deposit", + "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water Deposit", + "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice Deposit", "gtceu.recipe.category.ingot_molding": "Material Molding", "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower,§r\n§8Moon and Ostrum Harvesters:§r", "tagprefix.sword_head": "%s Sword Head", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 851079756..ea05f2f74 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -197,14 +197,16 @@ "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7不能提取流体", "gtceu.machine.hp_steam_extractor.tooltip": "§7不能提取流体", - "gtceu.jei.bedrock_fluid.moon_helium": "月球氦气", - "gtceu.jei.bedrock_fluid.moon_helium_3": "月球氦-3", - "gtceu.jei.bedrock_fluid.moon_argon": "月球氩气", - "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "火星半重氨水", - "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "火星液态二氧化碳", - "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "火星重氨水", - "gtceu.jei.bedrock_fluid.liquid_ice": "火星冰", + "gtceu.jei.bedrock_fluid.nether_natural_gas_deposit": "幽冥之地天然气矿藏", + "gtceu.jei.bedrock_fluid.moon_helium": "月球氦气矿藏", + "gtceu.jei.bedrock_fluid.moon_helium_3": "月球氦-3矿藏", + "gtceu.jei.bedrock_fluid.moon_argon": "月球氩气矿藏", + "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "火星半重氨水矿藏", + "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "火星液态二氧化碳矿藏", + "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "火星重氨水矿藏", + "gtceu.jei.bedrock_fluid.liquid_ice": "火星冰矿藏", "gtceu.recipe.category.ingot_molding": "压模", + "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,煤炭液化塔,§r\n§8月壤和紫金采集器:§r", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", "tagprefix.shovel_head": "%s铲头", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index a285f22cf..ffb65b57e 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1163,6 +1163,15 @@ "material.tfg.reformed_aromatic_feedstock": "Reformed Aromatic Feedstock", "material.tfg.reformate_gas": "Reformate Gas", "material.tfg.cracker_off_gas": "Cracked Reformate Off-Gas", + "material.tfg.glucose": "Glucose", + "material.tfg.galactose": "Galactose", + "material.tfg.fructose": "Fructose", + "material.tfg.sorbitol": "Sorbitol", + "material.tfg.14_sorbitan": "1,4-Sorbitan", + "material.tfg.isosorbide": "Isosorbide", + "material.tfg.linolenic_acid": "α-Linolenic Acid", + "material.tfg.isosorbide_ln": "Isosorbide Linolenate", + "material.tfg.epox_isosorbide_ln": "Epoxidized Isosorbide Linolenate", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -3657,7 +3666,7 @@ "quests.steam_age.steel_mech_press.subtitle": "Almost a Forge Hammer", "quests.steam_age.steel_mech_press.desc.1": "The High Pressure Steam Forge Hammer is right around the corner and can do almost everything that this machine can do, but if you're desperate for some higher tier automatic welding recipes, this is your ticket.\n\nIf you're unfamiliar with the Forge Hammer, both it and the Steel Mechanical Press can crush ores (without byproducts), turn rock into cobble into gravel into sand, and crack bricks. However, only the Forge Hammer can provide a &3cheaper recipe for metal plates&r...", "quests.steam_age.steel_mech_press.desc.2": "&l&3Lore:&r&o The Create Mechanical Press used to be a key piece of late steam age progression prior to version 0.9 of TerraFirmaGreg, because it produced plates at an even better ratio of 5 to 4. However, its implementation was actually \"20 percent of the time, you get nothing\", which caused many people to proclaim how much they loved gambling while using it.", - "quests.steam_age.supers.title": "Super Chests and Super Drums", + "quests.steam_age.supers.title": "Super Chests and Super Tanks", "quests.steam_age.supers.subtitle": "Super Storage Drawers", "quests.steam_age.supers.desc": "This is the &cu&6l&et&ai&bm&9a&5t&4e&r portable item and storage solution if you have a lot of single items or fluids. While these &dBasic&r (&8ULV&r) ones start out relatively small, higher tiers of Super chests and drums can hold an insane amount of stuff - all in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks and Chests &6keep their contents when broken&r, can be cleared in the crafting grid, and can automatically void any overflow.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Quantum Chests and Tanks or AE2 Storage Cells.", "quests.steam_age.supers.task": "Any super chest or tank", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 4cd8a8005..048f7f4a5 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1257,6 +1257,15 @@ "material.tfg.reformed_aromatic_feedstock": "重整芳香原料", "material.tfg.reformate_gas": "重整气", "material.tfg.cracker_off_gas": "裂化重整尾气", + "material.tfg.glucose": "葡萄糖", + "material.tfg.galactose": "半乳糖", + "material.tfg.fructose": "果糖", + "material.tfg.sorbitol": "山梨醇", + "material.tfg.14_sorbitan": "1,4-脱水山梨醇", + "material.tfg.isosorbide": "异山梨醇", + "material.tfg.linolenic_acid": "α-亚麻酸", + "material.tfg.isosorbide_ln": "亚麻酸异山梨醇酯", + "material.tfg.epox_isosorbide_ln": "环氧化亚麻酸异山梨醇酯", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -2994,9 +3003,6 @@ "quests.medium_voltage.mv_polyethylene.title": "聚乙烯", "quests.medium_voltage.mv_polyethylene.subtitle": "宝宝的第一种聚合物!", "quests.medium_voltage.mv_polyethylene.desc": "如果你不想那么花哨,可以直接叫它塑料。\n\n在聚合过程中添加&a氧气&r能获得比空气更佳的产出效率,后续固化操作与橡胶处理方式相同。\n\n&a聚乙烯(PE)&r是解锁&6众多新内容&r的关键材料,通常以&d板&r或&d流体&r形态使用。\n\n&l&3背景知识:&r&o为保持跨模组兼容性,1.12.2版本GTCEu中聚乙烯的矿物词典与流体名称均登记为&b塑料&f。", - "quests.medium_voltage.mv_tank.title": "超级缸", - "quests.medium_voltage.mv_tank.subtitle": "超级缸太超模了!", - "quests.medium_voltage.mv_tank.desc": "不,但说真的。\n\n这确实是&c终&6极&e便&a携&b式&9流&5体&4存储解决方案。&6单方块容纳4,000桶&r,完全无视温度与酸度限制!\n\n与流体桶特性相同,超级缸&6被破坏时会保留内部流体&r,可通过合成栏清空其内容物。\n\n若你渴望&9更大存储容量&r,可看看更高等级的超级缸或AE2流体存储单元。", "quests.medium_voltage.mv_pvc.title": "聚氯乙烯", "quests.medium_voltage.mv_pvc.subtitle": "既然已成功合成一种聚合物,再添一种又何妨?", "quests.medium_voltage.mv_pvc.desc": "&a聚氯乙烯(PVC)&r是现实世界中产量排名第三的塑料。在GTCEu中,它可在&a塑料电路板&r等物品的生产中替代聚乙烯以提高产量。从&5EV&r阶段起需用其包裹电缆。\n\nPVC物品管道在一段时间内将拥有&6最高流通量&r,不过当前大部分产线尚不需如此高速的传输。但掌握这个特性总有益处。\n\n&9专业提示:流体形态的PVC在&rGTCEu中基本从未使用,可放心将其全部固化成板。", @@ -3191,7 +3197,7 @@ "quests.metal_age.weak_steel.task3": "1份黑青铜", "quests.metal_age.highcarb_black_steel.title": "黑钢成分", "quests.metal_age.highcarb_black_steel.subtitle": "物质守恒定律在这里不适用", - "quests.metal_age.highcarb_black_steel.desc": "最后两个砧是由复杂的合金制成的,需要大量的金属来制造。脆钢和生铁可以焊接成高碳黑钢,然后可以在砧上加工成黑钢。", + "quests.metal_age.highcarb_black_steel.desc": "最后两个砧是由复杂的合金制成的,需要大量的金属来制造。脆钢和生铁可以焊接成高碳黑钢,然后可以在砧上加工成黑钢。\n\n一旦你拥有了蒸汽合金炉,就可以用它来获取&6双倍产出&r。", "quests.metal_age.black_steel_anvil.title": "五级砧:黑钢", "quests.metal_age.black_steel_anvil.subtitle": "蒸汽动力触手可及", "quests.metal_age.black_steel_anvil.desc": "有了黑钢砧,你现在可以将黑钢锭加工成不同的物品。\n\n你现在还在早期自动化章节中开启了一个庞大的新部分,涉及高压蒸汽动力!\n\n从这里,你可以直接投入工业化,或者如果你愿意,完成最后一级的砧。不过,你无法永远避开彩色钢!", @@ -3216,17 +3222,17 @@ "quests.metal_age.weak_blue_steel.sterling_silver": "1份纯银", "quests.metal_age.weak_blue_steel.bismuth_bronze": "1份铋青铜", "quests.metal_age.highcarb_red_steel.title": "红钢成分", - "quests.metal_age.highcarb_red_steel.subtitle": "像这样删除质量能否为核弹提供动力?", - "quests.metal_age.highcarb_red_steel.desc": "红钢最初是高碳红钢,由脆红钢和黑钢焊接而成。它需要在砧上加工才能变成红钢", + "quests.metal_age.highcarb_red_steel.subtitle": "《我的世界》可不是物理模拟器", + "quests.metal_age.highcarb_red_steel.desc": "红钢最初是高碳红钢,由脆红钢和黑钢焊接而成。它需要在砧上加工才能变成红钢。\n\n如果你有蒸汽合金炉,就可以用它来获得&6双倍产出&r。", "quests.metal_age.highcarb_blu_steel.title": "蓝钢成分", "quests.metal_age.highcarb_blu_steel.subtitle": "拉瓦锡在坟墓里打滚", - "quests.metal_age.highcarb_blu_steel.desc": "蓝钢最初是高碳蓝钢,由脆蓝钢和黑钢焊接而成。它需要在砧上加工才能变成蓝钢", + "quests.metal_age.highcarb_blu_steel.desc": "蓝钢最初是高碳蓝钢,由脆蓝钢和黑钢焊接而成。它需要在砧上加工才能变成蓝钢。\n\n如果你有蒸汽合金炉,就可以用它来获得&6双倍产出&r。", "quests.metal_age.redblu_anvil.title": "六级砧:红钢或蓝钢", "quests.metal_age.redblu_anvil.subtitle": "结束了", "quests.metal_age.redblu_anvil.desc": "最终级的砧!有了六级砧,你将能够将红钢和蓝钢锭加工成不同的物品。\n\n这标志着群峦传说进程的结束。现在是时候完成工业时代并制造你的第一个低电压电路了。", "quests.metal_age.red_steel_flask.title": "红钢水壶", "quests.metal_age.red_steel_flask.subtitle": "这和铁制水壶没法比", - "quests.metal_age.red_steel_flask.desc": "红钢水壶是可用最好的水壶。它可能持有与铁制水壶相同量的液体,但红钢水壶永远不会破裂。", + "quests.metal_age.red_steel_flask.desc": "红钢水壶是可用最好的水壶。它可能持有与铁制水壶相同量的液体,但红钢水壶永远不会破裂。\n\n关于丝绸,幻翼遍布于幽冥之地各处,但在下层区域更为常见。", "quests.metal_age.redblu_buckets.title": "水桶的组件", "quests.metal_age.redblu_buckets.subtitle": "桶聚变反应堆", "quests.metal_age.redblu_buckets.desc": "冶金时代的最终任务是制造一个桶。与你到目前为止一直在使用的木桶和其他流体容器不同,桶可用于携带熔岩并移动其他流体的源方块。", @@ -3747,6 +3753,10 @@ "quests.steam_age.steel_mech_press.subtitle": "几乎是锻造锤了", "quests.steam_age.steel_mech_press.desc.1": "高压蒸汽锻造锤近在咫尺,几乎可以做这台机器能做的一切,但如果你迫切需要一些更高级的自动焊接配方,这是你的门票。\n\n如果你不熟悉锻造锤,它和钢动力冲压机都可以粉碎矿石(无副产品),将石头变成圆石变成沙砾变成沙子,并裂解砖块。然而,只有锻锤能提供 &3更便宜的金属板件配方&r……", "quests.steam_age.steel_mech_press.desc.2": "&l&3背景知识:&r&o在TerraFirmaGreg的0.9版本之前,机械动力冲压机曾是蒸汽时代后期的关键设备,因其能以5:4的更优比例生成板材。然而当时的实现机制实为“20%%概率血本无归”,这让许多使用者一边高呼自己热爱赌博一边继续使用。", + "quests.steam_age.supers.title": "超级箱与超级缸", + "quests.steam_age.supers.subtitle": "超级存储抽屉", + "quests.steam_age.supers.desc": "如果你有大量单一物品或流体,这是&c终&6极&e便&a携&b式&物&5品&4存储解决方案。虽然这些&d基础&r(&8ULV&r)型号起初容量相对较小,但更高级的超级箱和超级缸能容纳惊人数量的物品——所有东西都储存在单个方块中,且完全无视温度或酸度影响!\n\n与桶类似,超级缸和超级箱在&6被破坏时会保留内部物品&r,可通过合成栏清空其内容,并能自动清空任何溢出的内容。\n\n如果你渴望&9更大&r的存储空间,可以看看更高级的量子箱、量子缸或AE2存储元件。", + "quests.steam_age.supers.task": "任何超级箱或超级缸", "quests.stone_age": "石器时代", "quests.stone_age.subtitle": "简陋开端", "quests.stone_age.foods.title": "饿了?", From 781eacbb6f0cf7d1f9835ad6915e15842253a015 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 15:13:27 +0000 Subject: [PATCH 231/628] increase indicator depth of mica vein, swap indicators of graphite and coal veins --- .../en_us/entries/tfg_ores/earth_vein_index.json | 2 +- .../fr_fr/entries/tfg_ores/earth_vein_index.json | 2 +- .../pt_br/entries/tfg_ores/earth_vein_index.json | 2 +- .../ru_ru/entries/tfg_ores/earth_vein_index.json | 2 +- .../uk_ua/entries/tfg_ores/earth_vein_index.json | 2 +- .../zh_cn/entries/tfg_ores/earth_ore_index.json | 2 +- .../zh_cn/entries/tfg_ores/earth_vein_index.json | 8 ++++---- .../configured_feature/earth/vein/normal_coal.json | 6 +----- .../configured_feature/earth/vein/normal_graphite.json | 2 +- .../configured_feature/earth/vein/normal_mica.json | 4 ++-- 10 files changed, 14 insertions(+), 18 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 35c401e0f..c3413c541 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 @@ -1930,7 +1930,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" 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 35c401e0f..c3413c541 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 @@ -1930,7 +1930,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 40$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", + "text": "$(thing)Rarity$(): 190$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Size$(): 36$(br)$(thing)Indicator Max Depth$(): 60$(br2)$(thing)Stone Types$(): Diorite, Gabbro, Gneiss, Granite, Marble, Phyllite, Quartzite, Schist, Slate", "title": "Kyanite, Mica, & Bauxite", "type": "patchouli:text", "anchor": "normal_mica" 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 75644b7b3..1bedfdc71 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 @@ -883,7 +883,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 40$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", + "text": "$(thing)Raridade$(): 190$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Tamanho$(): 36$(br)$(thing)Profundidade Máxima do Indicador$(): 60$(br2)$(thing)Tipos de Pedra$(): Ardósia, Diorito, Filito, Gabro, Gnaisse, Granito, Mármore, Quartzito, Xisto", "title": "Cianita, Mica e Bauxita", "type": "patchouli:text", "anchor": "normal_mica" 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 80bff7651..d5def4710 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 @@ -3771,7 +3771,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Индикатор Max Depth$(): 40$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", + "text": "$(thing)Редкость$(): 190$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 210$(br)$(thing)Размер$(): 36$(br)$(thing)Индикатор Max Depth$(): 60$(br2)$(thing)Виды камней$(): Аспидный сланец, Габбро, Гнейс, Гранит, Диорит, Кварцит, Мрамор, Филлит, Шиферный сланец", "title": "Ционит, Слюда и Боксит", "type": "patchouli:text", "anchor": "normal_mica" 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 0d4a3dab2..4c23681e7 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 @@ -1639,7 +1639,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 40$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", + "text": "$(thing)Рідкість$(): 190$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 210$(br)$(thing)Розмір$(): 36$(br)$(thing)Індикатор Max Depth$(): 60$(br2)$(thing)Типи каменю$(): Аспідний сланець, Габро, Гнейс, Граніт, Діорит, Кварцит, Мармур, Філіт, Шиферний сланець", "title": "Кіаніт, Слюда та Боксити", "type": "patchouli:text", "anchor": "normal_mica" 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 4c1265136..d8d0d6af2 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(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)塔基安石: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(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)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/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 ffac3d845..d5b8ed0d7 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,7 +14,7 @@ }, { "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#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)硅镁镍矿, 辉钴矿$()$()", "type": "patchouli:text" }, { @@ -40,13 +40,13 @@ { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.35$(br)$(thing)类型$(): 管状矿脉$(br)$(thing)Y 坐标$(): 20 — 120$(br)$(thing)高度$(): 60$(br)$(thing)半径$(): 10$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 安山岩, 板岩, 流纹岩, 燧石, 片岩, 片麻岩, 玄武岩, 白云岩, 白垩岩, 石灰岩, 石英岩, 砾岩, 粘土岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", - "title": "塔基安石, 油砂", + "title": "塔基安矿, 油砂", "type": "patchouli:text", "anchor": "normal_tarkianite" }, { "Type": "patchouli:multiblock", - "name": "塔基安石", + "name": "塔基安矿", "multiblock": { "mapping": { "0": "#forge:ores/tarkianite" @@ -1897,7 +1897,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", + "text": "$(thing)稀有度$(): 190$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 210$(br)$(thing)尺寸$(): 36$(br)$(thing)指示器最大深度$(): 60$(br2)$(thing)岩石类型$(): 千枚岩, 大理岩, 板岩, 片岩, 片麻岩, 石英岩, 花岗岩, 辉长岩, 闪长岩", "title": "蓝晶石, 云母, 铝土矿", "type": "patchouli:text", "anchor": "normal_mica" diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json index 59a041a82..ca40e8b52 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_coal.json @@ -123,11 +123,7 @@ "blocks": [ { "block": "gtceu:coal_indicator", - "weight": 95 - }, - { - "block": "gtceu:coal_bud_indicator", - "weight": 5 + "weight": 100 } ] } 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 bd03ebf27..1b1f7a1a1 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 @@ -403,7 +403,7 @@ "weight": 45 }, { - "block": "gtceu:coal_indicator", + "block": "gtceu:coal_bud_indicator", "weight": 30 }, { diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json index 224a8dc2c..43d612cd9 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_mica.json @@ -218,8 +218,8 @@ } ], "indicator": { - "rarity": 15, - "depth": 40, + "rarity": 12, + "depth": 60, "underground_rarity": 40, "underground_count": 200, "blocks": [ From c5e5ecaa6576b0797274e79b71422e1cb71d1a3c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 16:38:34 +0000 Subject: [PATCH 232/628] I can't remember why I made this loot table --- .../loot_tables/blocks/birt_dwelling.json | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 kubejs/data/species/loot_tables/blocks/birt_dwelling.json diff --git a/kubejs/data/species/loot_tables/blocks/birt_dwelling.json b/kubejs/data/species/loot_tables/blocks/birt_dwelling.json deleted file mode 100644 index d0045080e..000000000 --- a/kubejs/data/species/loot_tables/blocks/birt_dwelling.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "loot_pool", - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "create:asurine" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file From 6c4775d58e95f10af394a9cc58f4d6d05f9a67b1 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sun, 7 Dec 2025 12:05:21 -0500 Subject: [PATCH 233/628] Balance early power (#2319) * 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 * fix tallow * 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 * fix tallow * fix * add tfg: --- CHANGELOG.md | 10 + .../quests/chapters/ev__extreme_voltage.snbt | 6 +- .../quests/chapters/gregtech_energy.snbt | 303 +- .../quests/chapters/hv__high_voltage.snbt | 42 +- .../quests/chapters/lv__low_voltage.snbt | 98 +- .../quests/chapters/mv__medium_voltage.snbt | 84 +- .../quests/chapters/questssteam_age.snbt | 3426 +++++++++-------- .../assets/tfg/blockstates/smr_generator.json | 19 + .../models/block/machines/smr_generator.json | 90 + .../assets/tfg/models/item/smr_generator.json | 3 + .../textures/block/fluids/fluid.btx_fuel.png | Bin 0 -> 26304 bytes .../block/fluids/fluid.btx_fuel.png.mcmeta | 5 + .../blaze_burner_fuel/tallow.json | 6 + .../gregtech/recipes.machines.js | 1 + .../tfg/machines/recipes.multiblocks.js | 13 + .../tfg/powergen/recipes.boiler.js | 7 + .../tfg/powergen/recipes.early_gas.js | 151 +- kubejs/startup_scripts/gtceu/machines.js | 2 +- .../tfg/materials.power_rework.js | 9 +- .../tfg/nuclear/materials.nuclear.js | 215 +- 20 files changed, 2579 insertions(+), 1911 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/smr_generator.json create mode 100644 kubejs/assets/tfg/models/block/machines/smr_generator.json create mode 100644 kubejs/assets/tfg/models/item/smr_generator.json create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.btx_fuel.png create mode 100644 kubejs/assets/tfg/textures/block/fluids/fluid.btx_fuel.png.mcmeta create mode 100644 kubejs/data/create_liquid_fuel/blaze_burner_fuel/tallow.json diff --git a/CHANGELOG.md b/CHANGELOG.md index fac8497b5..ae4293d53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ ## [Unreleased] ### Breaking Changes +- Beginning of the Power Update: + - Syngas is now available as a ULV/LV gas fuel - can be craft in from Charcoal and Creosote in a Brewery + - The Coal Liquefaction Tower is a new multiblock craftable at MV that you can use to make Reformate Gas. Uses the Cracker coils property and can be boost with hydrogen + - Reformate Gas is the new Fuel starting at MV, with better yield and loop at HV + - Many quests got updated to take into consideration these changes +- Update on Fission: + - The Nuclear Steam Turbine has now a baseline power production of 8192 EU/t. What this means is that when you needed 2 turbines you now need one. + - Thorium Reactor got a boost of 50% steam production, early Mars should be a bit easier + - Heat Exchanger can now run Radioactive Steam without Ammonium Formate. If you crave for power and don’t mind losing some materials for Nano Circuit, this is a good deal + - Massive change for steam yield. You now produce 160 more steam, but its yield is 160 less good (so nothing powerwise just be wary of flowing rate) - The tungsten processing line has been updated to now properly loop and balance all of its intermediates. The actual processes haven't changed, just the numbers, so you shouldn't have to change your setup much. It now also outputs a little extra oxygen instead of sodium (#2267) @SpicyNoodle5 @TomPlop - Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie ### Mod updates diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 4563ffe8a..83efe62f8 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -195,7 +195,11 @@ y: 3.0d } { - dependencies: ["4EA8888B12D75BF1"] + dependencies: [ + "4EA8888B12D75BF1" + "6A451F43F3D7A671" + ] + dependency_requirement: "one_completed" description: [ "{quests.extreme_voltage.distillation_tower.desc.1}" "{@pagebreak}" diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 83f559120..e5b59e004 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -6,6 +6,32 @@ group: "31B01EAD21CA863A" icon: "gtceu:max_battery" id: "6540429F3CA4DA1B" + images: [ + { + height: 2.0d + image: "ftblibrary:icons/star" + rotation: 0.0d + width: 2.0d + x: 3.0d + y: -5.0d + } + { + height: 2.0d + image: "ftblibrary:icons/star" + rotation: 0.0d + width: 2.0d + x: -3.0d + y: -7.0d + } + { + height: 2.5d + image: "ftblibrary:icons/star" + rotation: 0.0d + width: 2.5d + x: -10.5d + y: -9.5d + } + ] order_index: 2 quest_links: [ ] quests: [ @@ -14,7 +40,7 @@ icon: "gtceu:uhv_ultimate_battery" id: "06B2E38F7DCF2678" shape: "gear" - size: 1.0d + size: 3.0d subtitle: "{quests.gregtech_energy.start.subtitle}" tasks: [{ id: "07E1FA6A1BB796D4" @@ -23,13 +49,15 @@ }] title: "{quests.gregtech_energy.start.title}" x: 0.0d - y: -8.5d + y: -9.5d } { dependencies: ["4C620105AAC49381"] description: ["{quests.gregtech_energy.moving.desc}"] icon: "gtceu:luv_field_generator" id: "60FF9249376DF9BD" + shape: "octagon" + size: 1.5d subtitle: "{quests.gregtech_energy.moving.subtitle}" tasks: [{ id: "4C6524EFB1A21E6E" @@ -45,6 +73,8 @@ description: ["{quests.gregtech_energy.storage.desc}"] icon: "gtceu:uv_field_generator" id: "08C160A0E7BBF39D" + shape: "octagon" + size: 1.5d subtitle: "{quests.gregtech_energy.storage.subtitle}" tasks: [{ id: "2E561EE13A2AE934" @@ -64,6 +94,8 @@ description: ["{quests.gregtech_energy.produce_energy.desc}"] icon: "gtceu:lv_field_generator" id: "2CDB9778C7A30044" + shape: "octagon" + size: 1.5d subtitle: "{quests.gregtech_energy.produce_energy.subtitle}" tasks: [{ id: "0772AE56AC1CCBAC" @@ -71,8 +103,8 @@ type: "checkmark" }] title: "{quests.gregtech_energy.produce_energy.title}" - x: -1.0d - y: -8.5d + x: -10.5d + y: -9.5d } { dependencies: ["4C620105AAC49381"] @@ -87,6 +119,8 @@ ] icon: "gtceu:hv_field_generator" id: "2E57B2B963717893" + shape: "octagon" + size: 1.5d subtitle: "{quests.gregtech_energy.spending_energy.subtitle}" tasks: [{ id: "28965A2A91DF08E5" @@ -168,7 +202,7 @@ { dependencies: [ "60FF9249376DF9BD" - "1DB543EFEEB67238" + "05E2F203DA46A5E8" ] description: ["{quests.gregtech_energy.transformer.desc}"] icon: "gtceu:active_transformer" @@ -200,7 +234,7 @@ ] title: "{quests.gregtech_energy.transformer.title}" x: 6.0d - y: 3.0d + y: 1.0d } { dependencies: ["08C160A0E7BBF39D"] @@ -506,7 +540,7 @@ y: 1.0d } { - dependencies: ["4D0ADC66D2CF09B1"] + dependencies: ["2CDB9778C7A30044"] description: [ "{quests.gregtech_energy.lgt_fuel.desc.1}" "{@pagebreak}" @@ -517,32 +551,50 @@ subtitle: "{quests.gregtech_energy.lgt_fuel.subtitle}" tasks: [ { - id: "2A3155363C7C56A7" - item: "gtceu:nitrobenzene_bucket" - optional_task: true - type: "item" - } - { - id: "6D22AF719926DC1C" - item: "gtceu:benzene_bucket" - optional_task: true - type: "item" - } - { - id: "532915D09934F836" + id: "3BC6583DCF48D475" item: "gtceu:methane_bucket" optional_task: true type: "item" } { - id: "75DE64829622C96D" + id: "08E4B7F67EA2769B" + item: "tfg:syngas_bucket" + optional_task: true + type: "item" + } + { + id: "067CB52470E7A72E" + item: "gtceu:refinery_gas_bucket" + optional_task: true + type: "item" + } + { + id: "20F5E6847D132420" + item: "gtceu:lpg_bucket" + optional_task: true + type: "item" + } + { + id: "733F33DC314A646C" + item: "tfg:reformate_gas_bucket" + optional_task: true + type: "item" + } + { + id: "29E24DFADB670971" + item: "tfg:btx_fuel_bucket" + optional_task: true + type: "item" + } + { + id: "3DA67694B1764AE0" title: "{quests.gregtech_energy.lgt_fuel.task}" type: "checkmark" } ] title: "{quests.gregtech_energy.lgt_fuel.title}" - x: -10.0d - y: -3.0d + x: -10.5d + y: -8.0d } { dependencies: ["634EAFA86B3D57A1"] @@ -574,11 +626,11 @@ } ] title: "{quests.gregtech_energy.lpt_fuel.title}" - x: -9.0d + x: -12.0d y: 3.0d } { - dependencies: ["4C620105AAC49381"] + dependencies: ["2CDB9778C7A30044"] description: ["{quests.gregtech_energy.lst_fuel.desc}"] icon: "gtceu:steam_bucket" id: "7D5CA47D0E147922" @@ -604,11 +656,11 @@ } ] title: "{quests.gregtech_energy.lst_fuel.title}" - x: -9.0d - y: -7.0d + x: -12.0d + y: -8.0d } { - dependencies: ["4AC4D681124751EE"] + dependencies: ["2CDB9778C7A30044"] description: [ "{quests.gregtech_energy.lce_fuel.desc.1}" "{@pagebreak}" @@ -656,7 +708,7 @@ ] title: "{quests.gregtech_energy.lce_fuel.title}" x: -9.0d - y: 1.0d + y: -8.0d } { dependencies: ["4C620105AAC49381"] @@ -668,6 +720,8 @@ "{quests.gregtech_energy.lv_generator.desc.3}" "{@pagebreak}" "{quests.gregtech_energy.lv_generator.desc.4}" + "{@pagebreak}" + "{quests.gregtech_energy.lv_generator.desc.5}" ] id: "7F92FDAB9A04C58B" subtitle: "{quests.gregtech_energy.lv_generator.subtitle}" @@ -678,7 +732,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lv_steam_turbine)item(gtceu:lv_combustion))" + "ftbfiltersystem:filter": "or(item(gtceu:lv_combustion)item(gtceu:lv_steam_turbine)item(gtceu:lv_gas_turbine))" } } title: "{quests.gregtech_energy.lv_generator.task}" @@ -728,7 +782,6 @@ dependencies: [ "109C57B63EE95E35" "5826EC76931359B8" - "7AF726555D721DFC" ] dependency_requirement: "one_completed" description: [ @@ -746,7 +799,7 @@ type: "item" }] x: -6.0d - y: -1.0d + y: -2.0d } { dependencies: ["4D0ADC66D2CF09B1"] @@ -766,44 +819,11 @@ type: "item" }] title: "{quests.gregtech_energy.hv_single_generator.title}" - x: -4.5d - y: -3.0d - } - { - dependencies: ["1A0672F4FA88DF74"] - description: ["{quests.gregtech_energy.hv_fuel.desc}"] - id: "42CF00F2C602EF77" - subtitle: "{quests.gregtech_energy.hv_fuel.subtitle}" - tasks: [ - { - id: "50AA063D324C5D25" - item: "gtceu:cetane_boosted_diesel_bucket" - optional_task: true - type: "item" - } - { - id: "60BED708F72701C8" - item: "gtceu:steam_bucket" - optional_task: true - type: "item" - } - { - id: "2C80389B193E48CE" - item: "gtceu:nitrobenzene_bucket" - optional_task: true - type: "item" - } - { - id: "33FC3878BFB14AE1" - title: "{quests.gregtech_energy.hv_fuel.task}" - type: "checkmark" - } - ] - title: "{quests.gregtech_energy.hv_fuel.title}" - x: -11.0d + x: -1.5d y: -3.0d } { + dependencies: ["06B2E38F7DCF2678"] description: ["TODO"] disable_toast: true icon: "tfg:lv_universal_circuit" @@ -821,6 +841,7 @@ y: -7.0d } { + dependencies: ["4C620105AAC49381"] description: ["TODO"] disable_toast: true icon: "tfg:mv_universal_circuit" @@ -838,6 +859,7 @@ y: -5.0d } { + dependencies: ["0AF286AA540A82E6"] description: ["TODO"] disable_toast: true icon: "tfg:hv_universal_circuit" @@ -855,6 +877,7 @@ y: -3.0d } { + dependencies: ["4D0ADC66D2CF09B1"] description: ["TODO"] disable_toast: true icon: "tfg:ev_universal_circuit" @@ -872,6 +895,7 @@ y: -1.0d } { + dependencies: ["7AF726555D721DFC"] description: ["TODO"] disable_toast: true icon: "tfg:iv_universal_circuit" @@ -889,6 +913,7 @@ y: 1.0d } { + dependencies: ["05E2F203DA46A5E8"] description: ["TODO"] disable_toast: true icon: "tfg:luv_universal_circuit" @@ -906,6 +931,7 @@ y: 3.0d } { + dependencies: ["1DB543EFEEB67238"] description: ["TODO"] disable_toast: true icon: "tfg:zpm_universal_circuit" @@ -923,6 +949,7 @@ y: 5.0d } { + dependencies: ["39019EF278D09DF7"] description: ["TODO"] disable_toast: true icon: "tfg:uv_universal_circuit" @@ -940,24 +967,46 @@ y: 7.0d } { - dependencies: ["0AF286AA540A82E6"] + dependencies: [ + "0AF286AA540A82E6" + "75DAF94D46BA4164" + ] + description: [ + "{quests.gregtech_energy.reformate_gas.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.reformate_gas.desc.2}" + ] id: "3630849A7B0818C8" + subtitle: "{quests.gregtech_energy.reformate_gas.subtitle}" tasks: [{ id: "0CF9D6042C16265A" - item: "gtceu:benzene_bucket" + item: "tfg:reformate_gas_bucket" type: "item" }] - x: -10.0d + title: "{quests.gregtech_energy.reformate_gas.title}" + x: -10.5d y: -5.0d } { - dependencies: ["0AF286AA540A82E6"] + dependencies: [ + "0AF286AA540A82E6" + "0C718329245D9619" + ] + description: [ + "{quests.medium_voltage.mv_diesel.desc.1}" + "{@pagebreak}" + "{quests.medium_voltage.mv_diesel.desc.2}" + "{@pagebreak}" + "{quests.medium_voltage.mv_diesel.desc.3}" + ] id: "79AA7691F398A8C7" + subtitle: "{quests.medium_voltage.mv_diesel.subtitle}" tasks: [{ id: "36219BC854303490" item: "gtceu:diesel_bucket" type: "item" }] + title: "{quests.medium_voltage.mv_diesel.title}" x: -9.0d y: -5.0d } @@ -980,6 +1029,7 @@ "{@pagebreak}" "{quests.gregtech_energy.fission_reactor.desc.8}" ] + icon: "deafission:fission_reactor_mk1" id: "4512E5DE7A84F809" subtitle: "{quests.gregtech_energy.fission_reactor.subtitle}" tasks: [ @@ -999,37 +1049,52 @@ y: -1.0d } { - dependencies: ["4C620105AAC49381"] + dependencies: [ + "4C620105AAC49381" + "0C718329245D9619" + ] id: "139C7DF629329753" tasks: [{ id: "7BA9FDD1F45B53F6" item: "gtceu:bio_diesel_bucket" type: "item" }] - x: -10.0d + x: -9.0d y: -7.0d } { - dependencies: ["4D0ADC66D2CF09B1"] + dependencies: [ + "4D0ADC66D2CF09B1" + "0C718329245D9619" + ] + description: ["{quests.high_voltage.cetane_diesel.desc}"] id: "376BFF92714C5012" + subtitle: "{quests.high_voltage.cetane_diesel.subtitle}" tasks: [{ id: "22F9A3ED193CB252" item: "gtceu:cetane_boosted_diesel_bucket" type: "item" }] + title: "{quests.high_voltage.cetane_diesel.title}" x: -9.0d y: -3.0d } { - dependencies: ["7AF726555D721DFC"] + dependencies: [ + "0C718329245D9619" + "05E2F203DA46A5E8" + ] + description: ["{quests.gregtech_energy.high_gasoline.desc}"] id: "7134DB013B34593E" + subtitle: "{quests.gregtech_energy.high_gasoline.subtitle}" tasks: [{ id: "008341509483BB23" item: "gtceu:high_octane_gasoline_bucket" type: "item" }] + title: "{quests.gregtech_energy.high_gasoline.title}" x: -9.0d - y: -1.0d + y: 1.0d } { dependencies: ["7AF726555D721DFC"] @@ -1136,6 +1201,92 @@ x: -3.0d y: -2.0d } + { + dependencies: [ + "05E2F203DA46A5E8" + "0ABD326DC2551CBD" + ] + description: ["{quests.gregtech_energy.smr.desc.1}"] + id: "4659447C85CDC058" + subtitle: "{quests.gregtech_energy.smr.subtitle}" + tasks: [{ + id: "1D02468DD9869C72" + item: "deafission:fission_reactor_smr1" + type: "item" + }] + title: "{quests.gregtech_energy.smr.title}" + x: -7.5d + y: 1.0d + } + { + dependencies: [ + "4C620105AAC49381" + "75DAF94D46BA4164" + ] + description: ["{quests.gregtech_energy.syngas.desc}"] + id: "27FEF27219CDF5AD" + subtitle: "{quests.gregtech_energy.syngas.subtitle}" + tasks: [{ + id: "7BA53E107C8E8917" + item: "tfg:syngas_bucket" + type: "item" + }] + title: "{quests.gregtech_energy.syngas.title}" + x: -10.5d + y: -7.0d + } + { + dependencies: ["4512E5DE7A84F809"] + description: ["{quests.gregtech_energy.fission_rod.desc.1}"] + id: "0ABD326DC2551CBD" + subtitle: "{quests.gregtech_energy.fission_rod.subtitle}" + tasks: [{ + id: "68E3EE04F4931EFE" + item: { + Count: 1 + id: "tfg:tbu_232_rod" + tag: { + Damage: 0 + } + } + type: "item" + }] + title: "{quests.gregtech_energy.fission_rod.title}" + x: -7.5d + y: 0.0d + } + { + dependencies: [ + "3630849A7B0818C8" + "7AF726555D721DFC" + ] + dependency_requirement: "one_completed" + id: "35E113FF0C1645CC" + tasks: [{ + id: "2C766A3391285E33" + item: "tfg:btx_fuel_bucket" + type: "item" + }] + x: -10.5d + y: -1.0d + } + { + dependencies: [ + "0C718329245D9619" + "7AF726555D721DFC" + ] + description: ["{quests.gregtech_energy.gasoline.desc}"] + id: "27E9DAF9F578A3E8" + subtitle: "{quests.gregtech_energy.gasoline.subtitle}" + tasks: [{ + id: "34695995678F09C6" + item: "gtceu:gasoline_bucket" + type: "item" + }] + title: "{quests.gregtech_energy.gasoline.title}" + x: -9.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 adf6bbf82..a203b1f59 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -39,6 +39,18 @@ x: -6.0d y: -3.0d } + { + id: "513464FBE4A87CB7" + linked_quest: "3A2E442E4D84C891" + x: 2.5d + y: -10.0d + } + { + id: "1B29194F9C306CFE" + linked_quest: "36B9B5024356C53C" + x: 3.5d + y: -10.0d + } ] quests: [ { @@ -563,11 +575,13 @@ { id: "54D65A0A939DAD54" item: "gtceu:hydrofluoric_acid_bucket" + optional_task: true type: "item" } { id: "3E6E6F21B34F86B4" item: "gtceu:chloroform_bucket" + optional_task: true type: "item" } ] @@ -583,6 +597,7 @@ optional: true shape: "square" size: 1.0d + subtitle: "{quests.high_voltage.nitrobenzene.subtitle}" tasks: [ { id: "33CF24B0A19D2F25" @@ -766,7 +781,7 @@ icon: "gtceu:cetane_boosted_diesel_bucket" id: "04F6E968CEEC3D49" optional: true - shape: "square" + shape: "heart" size: 1.0d subtitle: "{quests.high_voltage.cetane_diesel.subtitle}" tasks: [ @@ -1233,7 +1248,11 @@ "04F6E968CEEC3D49" ] dependency_requirement: "one_completed" - description: ["{ \"text\": \"{quests.high_voltage.linked_quest_energy.desc}\", \"bold\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }"] + description: [ + "{quests.high_voltage.linked_quest_energy.desc}" + "" + "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }" + ] id: "595C5A01358B9550" subtitle: "{quests.high_voltage.linked_quest_energy.subtitle}" tasks: [{ @@ -1617,6 +1636,25 @@ x: -6.0d y: -1.0d } + { + dependencies: ["36B9B5024356C53C"] + description: [ + "{quests.gregtech_energy.reformate_gas.desc.1}" + "{@pagebreak}" + "{quests.gregtech_energy.reformate_gas.desc.2}" + ] + id: "3E4E63D5B8CB6860" + shape: "heart" + subtitle: "{quests.gregtech_energy.reformate_gas.subtitle}" + tasks: [{ + id: "575518211DA29A4E" + item: "tfg:reformate_gas_bucket" + type: "item" + }] + title: "{quests.gregtech_energy.reformate_gas.title}" + x: 5.0d + y: -10.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 f7f68851e..b0b5703f4 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -138,6 +138,7 @@ ] id: "6E186F9C57155BFA" optional: true + shape: "hexagon" size: 1.0d subtitle: "{quests.low_voltage.lv_steam_turbine.subtitle}" tasks: [{ @@ -772,7 +773,7 @@ type: "item" }] title: "{quests.low_voltage.soldering_alloy.title}" - x: 4.0d + x: 3.0d y: 10.5d } { @@ -1426,8 +1427,8 @@ } ] title: "{quests.steam_age.alternator.title}" - x: 5.5d - y: 6.0d + x: 4.0d + y: 5.5d } { dependencies: ["7567E885B7166603"] @@ -1517,10 +1518,13 @@ dependencies: [ "2CDB9778C7A30044" "522E08B1592136D5" + "36FED1B6CFF7C60A" ] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_combuston_gen.desc}"] id: "170B544373A16112" optional: true + shape: "octagon" subtitle: "{quests.low_voltage.lv_combuston_gen.subtitle}" tasks: [{ id: "2B36CA88F25D5449" @@ -1554,6 +1558,7 @@ description: ["{quests.low_voltage.lv_seeds.desc}"] id: "55213ACBF5F5D398" optional: true + shape: "heart" subtitle: "{quests.low_voltage.lv_seeds.subtitle}" tasks: [{ id: "0910468BF66597DE" @@ -1568,14 +1573,15 @@ type: "item" }] title: "{quests.low_voltage.lv_seeds.title}" - x: 7.5d - y: 9.0d + x: 6.5d + y: 10.0d } { dependencies: ["55213ACBF5F5D398"] description: ["{quests.low_voltage.lv_seed_oil.desc}"] id: "1D979CB5862BD480" optional: true + shape: "heart" subtitle: "{quests.low_voltage.lv_seed_oil.subtitle}" tasks: [{ id: "357702717137F483" @@ -1591,6 +1597,7 @@ description: ["{quests.low_voltage.lv_biodiesel.desc}"] id: "522E08B1592136D5" optional: true + shape: "heart" subtitle: "{quests.low_voltage.lv_biodiesel.subtitle}" tasks: [{ id: "10503AD87AB3886A" @@ -1598,10 +1605,12 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: 5.5d - y: 9.0d + x: 6.5d + y: 8.0d } { + dependencies: ["1912758422EEB006"] + dependency_requirement: "one_completed" description: ["{quests.low_voltage.cupronickel_ingot.desc}"] id: "6042514C8FC54334" shape: "diamond" @@ -1653,15 +1662,84 @@ hide_dependency_lines: true icon: "gtceu:oil_bucket" id: "2CEE3C0972650C81" + optional: true shape: "heart" subtitle: "{quests.low_voltage.oil.subtitle}" tasks: [{ - id: "49FCAF88F47BE37E" + id: "338E66338DF533D0" + title: "{quests.tasktype.checkmark}" type: "checkmark" }] title: "{quests.low_voltage.oil.title}" - x: 7.5d - y: 4.5d + x: 5.5d + y: 10.0d + } + { + dependencies: [ + "2CDB9778C7A30044" + "0404FBCC34011053" + ] + 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" + item: "gtceu:lv_gas_turbine" + type: "item" + }] + title: "{quests.low_voltage.lv_gas_turbine.title}" + x: 5.5d + y: 6.0d + } + { + dependencies: ["2CEE3C0972650C81"] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.lv_naphtha_light.desc}"] + icon: "gtceu:naphtha_bucket" + id: "36FED1B6CFF7C60A" + optional: true + shape: "heart" + subtitle: "{quests.low_voltage.lv_naphtha_light.subtitle}" + tasks: [ + { + id: "096D9365D8C561AA" + item: "gtceu:naphtha_bucket" + optional_task: true + type: "item" + } + { + id: "34153032225B76BB" + item: "gtceu:light_fuel_bucket" + type: "item" + } + { + id: "3F575DDDA6C15539" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] + title: "{quests.low_voltage.lv_naphtha_light.title}" + x: 5.5d + y: 9.0d + } + { + dependencies: ["5F3063C539C9CBBF"] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.lv_gas_syngas.desc}"] + id: "0404FBCC34011053" + optional: true + shape: "heart" + subtitle: "{quests.low_voltage.lv_gas_syngas.subtitle}" + tasks: [{ + id: "2733E2B8129C0806" + item: "tfg:syngas_bucket" + type: "item" + }] + title: "{quests.low_voltage.lv_gas_syngas.title}" + x: 6.5d + y: 6.0d } ] subtitle: ["{quests.low_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 73613f8a4..c2880c6a6 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -62,7 +62,11 @@ y: -0.5d } { - dependencies: ["22E462070F8B027A"] + dependencies: [ + "22E462070F8B027A" + "499CACFF0350B3CA" + ] + dependency_requirement: "one_completed" description: [ "{quests.medium_voltage.mv_brewery.desc.1}" "{@pagebreak}" @@ -1037,6 +1041,7 @@ y: 2.5d } { + dependencies: ["648BCF486E16CCB2"] description: ["{quests.medium_voltage.mv_oilsands.desc}"] id: "575B07D390D9D079" optional: true @@ -1138,6 +1143,8 @@ "{quests.medium_voltage.mv_benzene.desc.1}" "{@pagebreak}" "{quests.medium_voltage.mv_benzene.desc.2}" + "{@pagebreak}" + "{quests.medium_voltage.mv_benzene.desc.3}" ] icon: "gtceu:benzene_bucket" id: "00E1A728E6F6D6A0" @@ -1180,29 +1187,6 @@ x: -6.0d y: 2.5d } - { - dependencies: ["61972B16805FC9EE"] - description: [ - "{quests.medium_voltage.mv_diesel.desc.1}" - "{@pagebreak}" - "{quests.medium_voltage.mv_diesel.desc.2}" - "{@pagebreak}" - "{quests.medium_voltage.mv_diesel.desc.3}" - ] - icon: "gtceu:diesel_bucket" - id: "45769156F4253C86" - optional: true - size: 1.0d - subtitle: "{quests.medium_voltage.mv_diesel.subtitle}" - tasks: [{ - id: "10BAA54947D975AF" - item: "gtceu:diesel_bucket" - type: "item" - }] - title: "{quests.medium_voltage.mv_diesel.title}" - x: -6.0d - y: 3.5d - } { dependency_requirement: "one_started" description: ["{quests.medium_voltage.mv_mutli_channel.desc}"] @@ -1650,6 +1634,58 @@ x: 0.5d y: 6.75d } + { + dependencies: ["54A255C1C6E33165"] + description: ["{quests.medium_voltage.reformate_gas.desc}"] + id: "10292F9B1DD743EB" + shape: "heart" + subtitle: "{quests.medium_voltage.reformate_gas.subtitle}" + tasks: [{ + id: "717ABF30F29D12CD" + item: "tfg:reformate_gas_bucket" + type: "item" + }] + title: "{quests.medium_voltage.reformate_gas.title}" + x: -5.0d + y: 4.5d + } + { + dependencies: ["00E1A728E6F6D6A0"] + description: ["{quests.medium_voltage.coal_tower.desc.1}"] + id: "54A255C1C6E33165" + subtitle: "{quests.medium_voltage.coal_tower.subtitle}" + tasks: [{ + id: "348CD63DC537BB9A" + item: "gtceu:coal_liquefaction_tower" + type: "item" + }] + x: -5.0d + y: 3.5d + } + { + dependencies: ["61972B16805FC9EE"] + description: [ + "{quests.medium_voltage.mv_diesel.desc.1}" + "{@pagebreak}" + "{quests.medium_voltage.mv_diesel.desc.2}" + "{@pagebreak}" + "{quests.medium_voltage.mv_diesel.desc.3}" + ] + icon: "gtceu:diesel_bucket" + id: "45769156F4253C86" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.medium_voltage.mv_diesel.subtitle}" + tasks: [{ + id: "10BAA54947D975AF" + item: "gtceu:diesel_bucket" + type: "item" + }] + title: "{quests.medium_voltage.mv_diesel.title}" + x: -6.0d + y: 3.5d + } ] subtitle: ["{quests.medium_voltage.subtitle}"] title: "{quests.medium_voltage}" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index b4b4653b1..e03b91de9 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -1,1709 +1,1717 @@ -{ - default_hide_dependency_lines: false - default_quest_shape: "" - filename: "questssteam_age" - group: "3C4612A920658A7E" - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:steel_gear" - } - id: "784A885090386609" - order_index: 2 - quest_links: [ - { - id: "39027CF4DC307D33" - linked_quest: "5E186CD5E83BFDF0" - x: -29.0d - y: 2.0d - } - { - id: "0CE64B9914191C56" - linked_quest: "6FFD4990FF07078A" - shape: "diamond" - x: -11.5d - y: 9.5d - } - { - id: "23A27702FF816291" - linked_quest: "6903C72A254A7B08" - x: -14.5d - y: 6.0d - } - { - id: "1F1E7097C015BE33" - linked_quest: "48A8E3210B2BAE1C" - shape: "octagon" - size: 2.0d - x: -29.0d - y: 0.0d - } - { - id: "7C03FE015586C652" - linked_quest: "55213ACBF5F5D398" - x: -14.5d - y: 13.0d - } - { - id: "65E0B13E245D2E5F" - linked_quest: "379F434116632A89" - x: -25.0d - y: 1.0d - } - ] - quests: [ - { - dependencies: [ - "7B045998769930F0" - "55FDF06AC0C01D0B" - ] - description: ["{quests.steam_age.basic_millstone.desc}"] - id: "48C1E980F7D64317" - size: 1.5d - subtitle: "{quests.steam_age.basic_millstone.subtitle}" - tasks: [{ - id: "486DE7D228F3589B" - item: "greate:andesite_alloy_millstone" - type: "item" - }] - title: "{quests.steam_age.basic_millstone.title}" - x: -19.5d - y: 0.0d - } - { - dependencies: ["6F1BC99BE641B671"] - description: [ - "{quests.steam_age.horse_crank.desc.1}" - "{@pagebreak}" - "{quests.steam_age.horse_crank.desc.2}" - ] - id: "1059288C22CB56BB" - subtitle: "{quests.steam_age.horse_crank.subtitle}" - tasks: [{ - id: "1F3EE2CB3B8875EC" - item: "createhorsepower:horse_crank" - type: "item" - }] - title: "{quests.steam_age.horse_crank.title}" - x: -23.5d - y: -2.0d - } - { - dependencies: ["7B045998769930F0"] - description: ["{quests.steam_age.helve_hammer.desc}"] - id: "611EB6284CA7119C" - size: 1.0d - subtitle: "{quests.steam_age.helve_hammer.subtitle}" - tasks: [{ - id: "340B4B4665295100" - item: "vintageimprovements:helve_hammer" - type: "item" - }] - title: "{quests.steam_age.helve_hammer.title}" - x: -19.5d - y: -4.0d - } - { - dependencies: ["6F1BC99BE641B671"] - description: ["{quests.steam_age.basic_greate.desc}"] - id: "7B045998769930F0" - subtitle: "{quests.steam_age.basic_greate.subtitle}" - tasks: [ - { - id: "53E8B404D5233367" - item: "greate:andesite_alloy_cogwheel" - optional_task: true - type: "item" - } - { - id: "54B5DC1982F4D816" - item: "greate:large_andesite_alloy_cogwheel" - type: "item" - } - { - id: "59AD69460AE89682" - item: "greate:andesite_alloy_shaft" - optional_task: true - type: "item" - } - ] - title: "{quests.steam_age.basic_greate.title}" - x: -19.5d - y: -2.0d - } - { - dependencies: ["0D0D461AE3A3F7BF"] - description: ["{quests.steam_age.water_wheel.desc}"] - id: "61DDB00751D1E7CB" - subtitle: "{quests.steam_age.water_wheel.subtitle}" - tasks: [{ - id: "1D82D22878EE6D21" - item: "create:water_wheel" - type: "item" - }] - title: "{quests.steam_age.water_wheel.title}" - x: -14.5d - y: 0.0d - } - { - dependencies: ["0D0D461AE3A3F7BF"] - description: ["{quests.steam_age.windmill.desc}"] - id: "617E0AFB7BA3D7A8" - subtitle: "{quests.steam_age.windmill.subtitle}" - tasks: [ - { - id: "26EA0D8EDFCF3727" - item: "create:windmill_bearing" - type: "item" - } - { - count: 8L - id: "3095A44065C9F130" - item: "create:white_sail" - type: "item" - } - ] - title: "{quests.steam_age.windmill.title}" - x: -14.5d - y: -4.0d - } - { - dependencies: ["6E8CEE02CB5B678B"] - description: ["{quests.steam_age.metal_casing.desc}"] - id: "7F14D2A34F480ACA" - size: 1.5d - subtitle: "{quests.steam_age.metal_casing.subtitle}" - tasks: [{ - id: "1554B18D816C3549" - item: "create:andesite_casing" - type: "item" - }] - title: "{quests.steam_age.metal_casing.title}" - x: -9.5d - y: -2.0d - } - { - dependencies: [ - "09D913288896A67A" - "05A39719B66B8F76" - ] - description: ["{quests.steam_age.steel_encased_fan.desc}"] - id: "616E28977F3216D9" - subtitle: "{quests.steam_age.steel_encased_fan.subtitle}" - tasks: [{ - id: "32279C21D7553637" - item: { Count: 32, id: "greate:steel_encased_fan" } - type: "item" - }] - title: "{quests.steam_age.steel_encased_fan.title}" - x: -5.5d - y: 4.0d - } - { - dependencies: ["09D913288896A67A"] - description: [ - "{quests.steam_age.steel_pump.desc.1}" - "{@pagebreak}" - "{quests.steam_age.steel_pump.desc.2}" - "{@pagebreak}" - "{quests.steam_age.steel_pump.desc.3}" - ] - id: "51CBF7378FFAD514" - subtitle: "{quests.steam_age.steel_pump.subtitle}" - tasks: [{ - id: "1E7DD1C4FCCFD937" - item: "greate:steel_mechanical_pump" - type: "item" - }] - title: "{quests.steam_age.steel_pump.title}" - x: -3.5d - y: 2.0d - } - { - dependencies: ["209958FE2EEA5D72"] - description: [ - "{quests.steam_age.boilers.desc.1}" - "{@pagebreak}" - "{quests.steam_age.boilers.desc.2}" - ] - id: "46FA9DD4755A5548" - size: 1.5d - subtitle: "{quests.steam_age.boilers.subtitle}" - tasks: [{ - id: "07FFA9C76EE39D36" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:hp_steam_solid_boiler)item(gtceu:hp_steam_liquid_boiler)item(gtceu:hp_steam_solar_boiler))" - } - } - title: "{quests.steam_age.boilers.tasks}" - type: "item" - }] - title: "{quests.steam_age.boilers.title}" - x: -19.5d - y: 7.5d - } - { - dependencies: ["32046292AA5B0E30"] - description: ["{quests.steam_age.steam_engine.desc}"] - id: "183D47F04CAEBFA7" - size: 1.5d - subtitle: "{quests.steam_age.steam_engine.subtitle}" - tasks: [ - { - id: "704B7094BE2FB3E1" - item: "create:steam_engine" - optional_task: true - type: "item" - } - { - id: "4655500474F4236C" - item: "create:blaze_burner" - type: "item" - } - ] - title: "{quests.steam_age.steam_engine.title}" - x: -5.5d - y: -2.0d - } - { - dependencies: ["7F14D2A34F480ACA"] - description: ["{quests.steam_age.mechanical_saw.desc}"] - id: "069825FBCFB0FB9C" - rewards: [{ - id: "64CA1397D201AF37" - item: "create:filter" - type: "item" - }] - subtitle: "{quests.steam_age.mechanical_saw.subtitle}" - tasks: [{ - id: "5005121E0361DBD2" - item: "greate:andesite_alloy_mechanical_saw" - type: "item" - }] - title: "{quests.steam_age.mechanical_saw.title}" - x: -9.5d - y: 0.0d - } - { - dependencies: ["7F14D2A34F480ACA"] - description: ["{quests.steam_age.mechanical_harvester.desc}"] - id: "76871B4CEEEC70B8" - subtitle: "{quests.steam_age.mechanical_harvester.subtitle}" - tasks: [{ - id: "34092F5FBDFB9761" - item: "create:mechanical_harvester" - type: "item" - }] - title: "{quests.steam_age.mechanical_harvester.title}" - x: -9.5d - y: -4.0d - } - { - dependencies: ["6E8CEE02CB5B678B"] - description: ["{quests.steam_age.chute.desc}"] - id: "05CC8C5E63CD1DB8" - subtitle: "{quests.steam_age.chute.subtitle}" - tasks: [ - { - id: "7CB1E90EAF7861FB" - item: "create:chute" - type: "item" - } - { - id: "66E04B6A41557709" - item: "create:andesite_funnel" - optional_task: true - type: "item" - } - { - id: "6E500B14003B937D" - item: "minecraft:hopper" - optional_task: true - type: "item" - } - ] - title: "{quests.steam_age.chute.title}" - x: -12.0d - y: 0.0d - } - { - dependencies: ["51CBF7378FFAD514"] - description: [ - "{quests.steam_age.mold_table.desc.1}" - "{@pagebreak}" - "{quests.steam_age.mold_table.desc.2}" - ] - id: "66DBF1C68493A406" - subtitle: "{quests.steam_age.mold_table.subtitle}" - tasks: [{ - id: "7258D0D474B6F26E" - item: "tfcchannelcasting:mold_table" - type: "item" - }] - title: "{quests.steam_age.mold_table.title}" - x: -3.5d - y: 4.0d - } - { - dependencies: ["32046292AA5B0E30"] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.steel_greate.desc}"] - id: "09D913288896A67A" - size: 1.5d - subtitle: "{quests.steam_age.steel_greate.subtitle}" - tasks: [ - { - id: "23DE370285589CB4" - item: "greate:steel_shaft" - type: "item" - } - { - id: "4FDD99090C920E21" - item: "greate:steel_cogwheel" - type: "item" - } - { - id: "5569D0030FB45C5D" - item: "greate:large_steel_cogwheel" - type: "item" - } - ] - title: "{quests.steam_age.steel_greate.title}" - x: -5.5d - y: 2.0d - } - { - dependencies: [ - "09D913288896A67A" - "05A39719B66B8F76" - ] - description: ["{quests.steam_age.steel_millstone.desc}"] - hide_dependent_lines: true - id: "5E4FC017E09ACF44" - subtitle: "{quests.steam_age.steel_millstone.subtitle}" - tasks: [{ - id: "3E3D4CD3283461DE" - item: "greate:steel_millstone" - type: "item" - }] - title: "{quests.steam_age.steel_millstone.title}" - x: -7.5d - y: 2.0d - } - { - dependencies: [ - "5917B0D4708BF534" - "6100B3C732E379AA" - ] - description: ["{quests.steam_age.crushing_wheel.desc}"] - id: "4F3D0D746D26B59F" - optional: true - subtitle: "{quests.steam_age.crushing_wheel.subtitle}" - tasks: [{ - count: 2L - id: "7EDCBC04DAEA477C" - item: "greate:steel_crushing_wheel" - type: "item" - }] - title: "{quests.steam_age.crushing_wheel.title}" - x: -21.5d - y: 10.5d - } - { - dependencies: ["7DB7AB5349218605"] - description: ["{quests.steam_age.treated_planks.desc}"] - id: "246D2C5989E3E907" - subtitle: "{quests.steam_age.treated_planks.subtitle}" - tasks: [ - { - id: "7CF3C09E3907B1C0" - item: "gtceu:treated_wood_planks" - type: "item" - } - { - id: "72112F5EC062766C" - item: "gtceu:treated_wood_dust" - type: "item" - } - { - id: "0D95727196D033B5" - item: "gtceu:treated_wood_plate" - type: "item" - } - ] - title: "{quests.steam_age.treated_planks.title}" - x: -19.5d - y: 10.5d - } - { - dependencies: [ - "233B414B4F189140" - "781C6AD30194CB45" - "3E175E20C91F168B" - ] - description: ["{quests.steam_age.electron_tube.desc}"] - id: "033E74BC588E7EAD" - shape: "octagon" - size: 2.0d - subtitle: "{quests.steam_age.electron_tube.subtitle}" - tasks: [{ - id: "471CCF5193150865" - item: "create:electron_tube" - type: "item" - }] - title: "{quests.steam_age.electron_tube.title}" - x: -19.5d - y: 14.5d - } - { - dependencies: ["2C35D4E01AEC02AA"] - dependency_requirement: "one_completed" - description: [ - "{quests.steam_age.miner.desc.1}" - "{@pagebreak}" - "{quests.steam_age.miner.desc.2}" - ] - id: "65066C9D630B7FFA" - optional: true - subtitle: "{quests.steam_age.miner.subtitle}" - tasks: [ - { - id: "068F7BD3AA0EF8E7" - item: "gtceu:hp_steam_miner" - type: "item" - } - { - id: "5ADC94CEBC196702" - item: "create:mechanical_drill" - type: "item" - } - ] - title: "{quests.steam_age.miner.title}" - x: -12.0d - y: 15.0d - } - { - dependencies: [ - "22E604DB7E7E87FB" - "09E12A399EE0A628" - "1912758422EEB006" - ] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.glass_tube.desc}"] - id: "233B414B4F189140" - subtitle: "{quests.steam_age.glass_tube.subtitle}" - tasks: [{ - id: "004AF02E40B60ECF" - item: "gtceu:glass_tube" - type: "item" - }] - title: "{quests.steam_age.glass_tube.title}" - x: -25.0d - y: 14.5d - } - { - dependencies: ["033E74BC588E7EAD"] - description: ["{quests.steam_age.deployers.desc}"] - icon: "create:deployer" - id: "6AA07588374B59AB" - subtitle: "{quests.steam_age.deployers.subtitle}" - tasks: [ - { - id: "717CF950E5000569" - item: "create:deployer" - type: "item" - } - { - id: "38F9301A818347F7" - item: "create:depot" - optional_task: true - type: "item" - } - ] - title: "{quests.steam_age.deployers.title}" - x: -16.5d - y: 12.0d - } - { - dependencies: ["1912758422EEB006"] - description: ["{quests.steam_age.molding.desc}"] - icon: "gtceu:ball_casting_mold" - id: "09E12A399EE0A628" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.steam_age.molding.subtitle}" - tasks: [ - { - id: "02A8B23277FFD95E" - item: "gtceu:plate_casting_mold" - type: "item" - } - { - id: "57B2773550AA7D37" - item: "gtceu:ball_casting_mold" - type: "item" - } - ] - title: "{quests.steam_age.molding.title}" - x: -25.0d - y: 9.5d - } - { - dependencies: ["033E74BC588E7EAD"] - description: ["{quests.steam_age.mech_crafter.desc}"] - id: "5917B0D4708BF534" - optional: true - subtitle: "{quests.steam_age.mech_crafter.subtitle}" - tasks: [{ - id: "084E6F06E79A3B0F" - item: "create:mechanical_crafter" - type: "item" - }] - title: "{quests.steam_age.mech_crafter.title}" - x: -20.5d - y: 12.0d - } - { - dependencies: ["46FA9DD4755A5548"] - description: ["{quests.steam_age.steam_bloomery.desc}"] - icon: "gtceu:steam_bloomery" - id: "0805CCABC8E7F6CF" - optional: true - shape: "heart" - size: 1.5d - subtitle: "{quests.steam_age.steam_bloomery.subtitle}" - tasks: [ - { - id: "72D748120CACABE2" - item: "gtceu:steam_bloomery" - type: "item" - } - { - count: 3L - id: "019C4D427A06DF0E" - item: { Count: 3, id: "gtceu:bronze_firebox_casing" } - type: "item" - } - { - id: "402700D6CCD2BEF1" - item: "gtceu:steam_input_hatch" - type: "item" - } - { - id: "7B99996072C53AD9" - item: "gtceu:steam_input_bus" - type: "item" - } - { - id: "6E4B41FDD286E184" - item: "gtceu:steam_output_bus" - type: "item" - } - ] - title: "{quests.steam_age.steam_bloomery.title}" - x: -22.5d - y: 4.0d - } - { - dependencies: ["05CC8C5E63CD1DB8"] - description: [ - "{quests.steam_age.item_pipes.desc.1}" - "{@pagebreak}" - "{quests.steam_age.item_pipes.desc.2}" - "{@pagebreak}" - "{quests.steam_age.item_pipes.desc.3}" - "{@pagebreak}" - "{quests.steam_age.item_pipes.desc.4}" - ] - icon: "gtceu:tin_small_item_pipe" - id: "08672B3000450F14" - size: 1.0d - subtitle: "{quests.steam_age.item_pipes.subtitle}" - tasks: [{ - id: "3122D989BAB787F4" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"Any item pipe\"}" - } - "ftbfiltersystem:filter": "or(item_tag(forge:small_item_pipes)item_tag(forge:normal_item_pipes)item_tag(forge:large_item_pipes)item_tag(forge:huge_item_pipes))" - } - } - title: "Any Item Pipes" - type: "item" - }] - title: "{quests.steam_age.item_pipes.title}" - x: -12.0d - y: 2.0d - } - { - dependencies: [ - "6FFD4990FF07078A" - "05BE9FE74E4F1AE9" - ] - description: ["{quests.steam_age.circuit_boards.desc}"] - icon: "gtceu:resin_printed_circuit_board" - id: "43D0B4F2ACB9931B" - shape: "square" - size: 1.0d - subtitle: "{quests.steam_age.circuit_boards.subtitle}" - tasks: [{ - id: "2B8B038789480789" - item: "gtceu:resin_printed_circuit_board" - type: "item" - }] - title: "{quests.steam_age.circuit_boards.title}" - x: -11.5d - y: 8.5d - } - { - dependencies: ["46FA9DD4755A5548"] - description: ["{quests.steam_age.compressor.desc}"] - id: "7DB7AB5349218605" - size: 1.0d - subtitle: "{quests.steam_age.compressor.subtitle}" - tasks: [{ - id: "422B0536DAAF3DD4" - item: "gtceu:hp_steam_compressor" - type: "item" - }] - title: "{quests.steam_age.compressor.title}" - x: -19.5d - y: 9.5d - } - { - dependencies: ["46FA9DD4755A5548"] - description: ["{quests.steam_age.alloy_smelter.desc}"] - id: "1912758422EEB006" - shape: "square" - size: 1.0d - subtitle: "{quests.steam_age.alloy_smelter.subtitle}" - tasks: [{ - id: "47ABB2F2EB140120" - item: "gtceu:hp_steam_alloy_smelter" - type: "item" - }] - title: "{quests.steam_age.alloy_smelter.title}" - x: -22.5d - y: 9.5d - } - { - dependencies: [ - "46FA9DD4755A5548" - "6100B3C732E379AA" - ] - description: ["{quests.steam_age.forge_hammer.desc}"] - id: "59F7F7A8C76DE31C" - shape: "square" - size: 1.0d - subtitle: "{quests.steam_age.forge_hammer.subtitle}" - tasks: [{ - id: "18FFF2B9BC20C28B" - item: "gtceu:hp_steam_forge_hammer" - type: "item" - }] - title: "{quests.steam_age.forge_hammer.title}" - x: -22.5d - y: 8.0d - } - { - dependencies: [ - "5F3063C539C9CBBF" - "05BE9FE74E4F1AE9" - ] - description: ["{quests.steam_age.vacuum_tubes.desc}"] - id: "2C35D4E01AEC02AA" - shape: "octagon" - size: 2.0d - subtitle: "{quests.steam_age.vacuum_tubes.subtitle}" - tasks: [{ - id: "71433924A1ACEDA1" - item: "gtceu:vacuum_tube" - type: "item" - }] - title: "{quests.steam_age.vacuum_tubes.title}" - x: -10.0d - y: 12.0d - } - { - dependencies: ["7DB7AB5349218605"] - description: ["{quests.steam_age.wood_plank.desc}"] - id: "3E175E20C91F168B" - subtitle: "{quests.steam_age.wood_plank.subtitle}" - tasks: [{ - id: "339B48BCF11A29E0" - item: "gtceu:wood_plate" - type: "item" - }] - title: "{quests.steam_age.wood_plank.title}" - x: -16.5d - y: 9.5d - } - { - dependencies: ["46FA9DD4755A5548"] - description: ["{quests.steam_age.extractor.desc}"] - id: "1DF4DBE41BB0B6FD" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.steam_age.extractor.subtitle}" - tasks: [{ - id: "5C84856667925F76" - item: "gtceu:hp_steam_extractor" - type: "item" - }] - title: "{quests.steam_age.extractor.title}" - x: -16.5d - y: 7.5d - } - { - dependencies: [ - "6FFD4990FF07078A" - "16CF5A9012EF4B27" - ] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.resistors.desc}"] - id: "69BDD31A69062B6C" - shape: "square" - size: 1.0d - subtitle: "{quests.steam_age.resistors.subtitle}" - tasks: [{ - id: "4E6D1A59F2BAE607" - item: "gtceu:resistor" - type: "item" - }] - title: "{quests.steam_age.resistors.title}" - x: -7.0d - y: 9.5d - } - { - dependencies: ["2C35D4E01AEC02AA"] - description: ["{quests.steam_age.coiling_machine.desc}"] - id: "072F6E48A1C5ECE9" - optional: true - size: 1.25d - subtitle: "{quests.steam_age.coiling_machine.subtitle}" - tasks: [{ - id: "07B7D41ACDCD1DEA" - item: "vintageimprovements:spring_coiling_machine" - type: "item" - }] - title: "{quests.steam_age.coiling_machine.title}" - x: -7.0d - y: 14.0d - } - { - dependencies: ["2C35D4E01AEC02AA"] - description: ["{quests.steam_age.steel_mixer.desc}"] - id: "49896161B31DB7B4" - optional: true - size: 1.25d - subtitle: "{quests.steam_age.steel_mixer.subtitle}" - tasks: [{ - id: "42F060A386ADF999" - item: "greate:steel_mechanical_mixer" - type: "item" - }] - title: "{quests.steam_age.steel_mixer.title}" - x: -7.0d - y: 12.5d - } - { - dependencies: ["2C35D4E01AEC02AA"] - description: ["{quests.steam_age.lathe.desc}"] - id: "6A92E8396DE40577" - optional: true - subtitle: "{quests.steam_age.lathe.subtitle}" - tasks: [{ - id: "23961EE69549B16E" - item: "vintageimprovements:belt_grinder" - type: "item" - }] - title: "{quests.steam_age.lathe.title}" - x: -8.0d - y: 15.0d - } - { - dependencies: [ - "5917B0D4708BF534" - "6100B3C732E379AA" - "246D2C5989E3E907" - ] - description: ["{quests.steam_age.centrifuge.desc}"] - id: "19A1D52A7F550478" - optional: true - subtitle: "{quests.steam_age.centrifuge.subtitle}" - tasks: [{ - id: "69668479444FF064" - item: "vintageimprovements:centrifuge" - type: "item" - }] - title: "{quests.steam_age.centrifuge.title}" - x: -20.5d - y: 10.5d - } - { - dependencies: [ - "2C35D4E01AEC02AA" - "6100B3C732E379AA" - ] - description: ["{quests.steam_age.vibrating_table.desc}"] - id: "1E8CC993E0251828" - optional: true - subtitle: "{quests.steam_age.vibrating_table.subtitle}" - tasks: [{ - id: "3035C0B44A0E1854" - item: "vintageimprovements:vibrating_table" - type: "item" - }] - title: "{quests.steam_age.vibrating_table.title}" - x: -10.0d - y: 15.0d - } - { - dependencies: ["2C35D4E01AEC02AA"] - description: [ - "{quests.steam_age.rolling_mill.desc.1}" - "{@pagebreak}" - "{quests.steam_age.rolling_mill.desc.2}" - ] - id: "4C22BE513927247B" - optional: true - size: 1.25d - subtitle: "{quests.steam_age.rolling_mill.subtitle}" - tasks: [{ - id: "621AA4E967D54305" - item: "createaddition:rolling_mill" - type: "item" - }] - title: "{quests.steam_age.rolling_mill.title}" - x: -7.0d - y: 11.0d - } - { - dependencies: ["2C35D4E01AEC02AA"] - description: ["{quests.steam_age.steel_saw.desc}"] - id: "0078B9234C554C6E" - optional: true - subtitle: "{quests.steam_age.steel_saw.subtitle}" - tasks: [{ - id: "40E3951B8862B9A4" - item: "greate:steel_mechanical_saw" - type: "item" - }] - title: "{quests.steam_age.steel_saw.title}" - x: -9.0d - y: 15.0d - } - { - dependencies: ["2C35D4E01AEC02AA"] - description: ["{quests.steam_age.curving_press.desc}"] - id: "6ABACC7B9967851D" - optional: true - subtitle: "{quests.steam_age.curving_press.subtitle}" - tasks: [{ - id: "2AE28D5C5FC74A56" - item: "vintageimprovements:curving_press" - type: "item" - }] - title: "{quests.steam_age.curving_press.title}" - x: -11.0d - y: 15.0d - } - { - dependencies: [ - "46FA9DD4755A5548" - "6100B3C732E379AA" - ] - description: ["{quests.steam_age.steam_furnace.desc}"] - id: "799288FB7A4DCA11" - subtitle: "{quests.steam_age.steam_furnace.subtitle}" - tasks: [{ - id: "3F510CDD8E437540" - item: "gtceu:hp_steam_furnace" - type: "item" - }] - title: "{quests.steam_age.steam_furnace.title}" - x: -16.5d - y: 5.5d - } - { - dependencies: ["799288FB7A4DCA11"] - description: [ - "{quests.steam_age.steam_oven.desc.1}" - "{@pagebreak}" - "{quests.steam_age.steam_oven.desc.2}" - ] - icon: "gtceu:steam_oven" - id: "3E6DE0B94490FCEC" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.steam_age.steam_oven.subtitle}" - tasks: [ - { - id: "1675EA4117A36C72" - item: "gtceu:steam_oven" - type: "item" - } - { - id: "4EE63FDD07EC0467" - item: "gtceu:steam_input_hatch" - type: "item" - } - { - id: "0C9D5C87DEC212D2" - item: "gtceu:steam_input_bus" - type: "item" - } - { - id: "60828361A38F4E1E" - item: "gtceu:steam_output_bus" - type: "item" - } - { - count: 8L - id: "10EC49FF899232F6" - item: "gtceu:steam_machine_casing" - type: "item" - } - { - count: 8L - id: "27DDD13BE482E8A3" - item: "gtceu:bronze_firebox_casing" - type: "item" - } - ] - title: "{quests.steam_age.steam_oven.title}" - x: -16.5d - y: 4.0d - } - { - dependencies: ["46FA9DD4755A5548"] - description: ["{quests.steam_age.rock_crusher.desc}"] - id: "2491CB5921B66446" - optional: true - subtitle: "{quests.steam_age.rock_crusher.subtitle}" - tasks: [{ - id: "5CA302572EF6D4E1" - item: "gtceu:hp_steam_rock_crusher" - type: "item" - }] - title: "{quests.steam_age.rock_crusher.title}" - x: -22.5d - y: 7.0d - } - { - dependencies: [ - "1912758422EEB006" - "12CB3B9ADC586521" - ] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.red_alloy.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:red_alloy_ingot" - } - id: "781C6AD30194CB45" - shape: "square" - size: 1.0d - subtitle: "{quests.steam_age.red_alloy.subtitle}" - tasks: [ - { - id: "4D1E98E699F1E724" - item: "gtceu:red_alloy_ingot" - type: "item" - } - { - id: "41331A38F9664605" - item: "gtceu:red_alloy_single_wire" - type: "item" - } - ] - title: "{quests.steam_age.red_alloy.title}" - x: -22.5d - y: 12.0d - } - { - dependencies: ["51CBF7378FFAD514"] - description: [ - "{quests.steam_age.fluid_pipes.desc.1}" - "{@pagebreak}" - "{quests.steam_age.fluid_pipes.desc.2}" - ] - icon: "gtceu:bronze_normal_fluid_pipe" - id: "0109231F33296868" - size: 1.0d - subtitle: "{quests.steam_age.fluid_pipes.subtitle}" - tasks: [ - { - id: "59512A7A04D517E6" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:bronze_tiny_fluid_pipe)item(gtceu:bronze_quadruple_fluid_pipe)item(gtceu:bronze_nonuple_fluid_pipe)item(gtceu:bronze_huge_fluid_pipe)item(gtceu:bronze_large_fluid_pipe)item(gtceu:bronze_normal_fluid_pipe)item(gtceu:bronze_small_fluid_pipe))" - } - } - title: "Any Bronze Pipe" - type: "item" - } - { - id: "143EA7ABC19B6AFC" - item: "gtceu:wood_normal_fluid_pipe" - optional_task: true - type: "item" - } - ] - title: "{quests.steam_age.fluid_pipes.title}" - x: -3.5d - y: 0.0d - } - { - dependencies: ["51CBF7378FFAD514"] - description: [ - "{quests.steam_age.fluid_drums.desc.1}" - "{@pagebreak}" - "{quests.steam_age.fluid_drums.desc.2}" - ] - icon: "gtceu:bronze_drum" - id: "499D24AFADC25AA9" - size: 1.0d - subtitle: "{quests.steam_age.fluid_drums.subtitle}" - tasks: [{ - id: "73A31AC2888A851E" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:bronze_drum)item(gtceu:steel_drum)item(gtceu:aluminium_drum)item(gtceu:stainless_steel_drum)item(gtceu:gold_drum)item(gtceu:titanium_drum)item(gtceu:tungsten_steel_drum))" - } - } - type: "item" - }] - title: "{quests.steam_age.fluid_drums.title}" - x: -1.5d - y: 2.0d - } - { - dependencies: ["49896161B31DB7B4"] - description: [ - "{quests.steam_age.potin.desc.1}" - "{@pagebreak}" - "{quests.steam_age.potin.desc.2}" - ] - icon: "gtceu:potin_normal_fluid_pipe" - id: "6B6FEF3DC6299CD9" - optional: true - shape: "heart" - size: 1.0d - subtitle: "{quests.steam_age.potin.subtitle}" - tasks: [{ - id: "3FC7579C544460B1" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:potin_tiny_fluid_pipe)item(gtceu:potin_small_fluid_pipe)item(gtceu:potin_normal_fluid_pipe)item(gtceu:potin_large_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_quadruple_fluid_pipe)item(gtceu:potin_nonuple_fluid_pipe))" - } - } - title: "Any Potin Pipe" - type: "item" - }] - title: "{quests.steam_age.potin.title}" - x: -5.5d - y: 12.5d - } - { - dependencies: ["6F1BC99BE641B671"] - description: ["{quests.steam_age.create_tools.desc}"] - id: "2F81902C6B1D4902" - subtitle: "{quests.steam_age.create_tools.subtitle}" - tasks: [ - { - id: "12C909F6EB4BB615" - item: "create:goggles" - optional_task: true - type: "item" - } - { - id: "7721793B4C0AFD2C" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:copper_wrench)item(gtceu:bronze_wrench)item(gtceu:black_bronze_wrench)item(gtceu:bismuth_bronze_wrench)item(gtceu:wrought_iron_wrench)item(gtceu:steel_wrench)item(gtceu:cobalt_brass_wrench))" - } - } - type: "item" - } - ] - title: "{quests.steam_age.create_tools.title}" - x: -21.5d - y: -4.0d - } - { - dependencies: ["6AA07588374B59AB"] - description: ["{quests.steam_age.trains.desc}"] - hide_dependency_lines: false - id: "02854A3E8A5D5043" - optional: true - shape: "heart" - subtitle: "{quests.steam_age.trains.subtitle}" - tasks: [ - { - id: "7D63DDE72E9AC188" - item: "create:track_station" - type: "item" - } - { - id: "48F6ED366BE64A71" - item: "create:railway_casing" - type: "item" - } - { - id: "1BC698B7C0124CA0" - item: "create:controls" - type: "item" - } - ] - title: "{quests.steam_age.trains.title}" - x: -16.5d - y: 13.0d - } - { - dependencies: ["6AA07588374B59AB"] - description: ["{quests.steam_age.vacuum_chamber.desc}"] - id: "5F3063C539C9CBBF" - subtitle: "{quests.steam_age.vacuum_chamber.subtitle}" - tasks: [{ - id: "5BAA167FA59D5C32" - item: "vintageimprovements:vacuum_chamber" - type: "item" - }] - title: "{quests.steam_age.vacuum_chamber.title}" - x: -14.5d - y: 12.0d - } - { - description: ["{quests.metal_age.black_steel_goodies.desc}"] - id: "209958FE2EEA5D72" - shape: "gear" - size: 3.0d - subtitle: "{quests.metal_age.black_steel_goodies.subtitle}" - tasks: [{ - id: "066CDB0C97CF74EF" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/anvil/black_steel" - } - type: "item" - }] - title: "{quests.metal_age.black_steel_goodies.title}" - x: -19.5d - y: 3.0d - } - { - dependencies: ["1059288C22CB56BB"] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.poor_paths.desc}"] - id: "6356072A435EFE81" - optional: true - shape: "diamond" - subtitle: "{quests.steam_age.poor_paths.subtitle}" - tasks: [ - { - disable_toast: true - id: "4F3DE27E5A72D7BD" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:dirt)" - } - } - optional_task: true - title: "Any #tfc:dirt" - type: "item" - } - { - disable_toast: true - id: "2A6A80CC908180C5" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:grass)" - } - } - optional_task: true - title: "Any #tfc:grass" - type: "item" - } - { - id: "63E8E70536A0E327" - type: "checkmark" - } - ] - title: "{quests.steam_age.poor_paths.title}" - x: -25.0d - y: -3.5d - } - { - dependencies: ["1059288C22CB56BB"] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.normal_paths.desc}"] - id: "494E81202B0F36A7" - optional: true - shape: "diamond" - subtitle: "{quests.steam_age.normal_paths.subtitle}" - tasks: [ - { - id: "0E4FF871FD6313B1" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:paths)" - } - } - optional_task: true - title: "Any #tfc:paths" - type: "item" - } - { - disable_toast: true - id: "5F38585D28010C6C" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock/gravel)" - } - } - optional_task: true - title: "Any #tfc:rock/gravel" - type: "item" - } - { - id: "2ED43D8943143635" - item: "rnr:hoggin" - optional_task: true - type: "item" - } - { - id: "4CBEBCFBCB80C624" - type: "checkmark" - } - ] - title: "{quests.steam_age.normal_paths.title}" - x: -25.5d - y: -2.0d - } - { - dependencies: [ - "1059288C22CB56BB" - "379F434116632A89" - ] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.good_paths.desc}"] - id: "52A82511A64B0A5B" - optional: true - shape: "diamond" - subtitle: "{quests.steam_age.good_paths.subtitle}" - tasks: [ - { - id: "17BE9908916FD48D" - item: "rnr:rock/sett_road/granite" - optional_task: true - type: "item" - } - { - id: "276FE934DBA46B50" - item: "rnr:rock/cobbled_road/granite" - optional_task: true - type: "item" - } - { - id: "3ED818D7E317850A" - item: "rnr:rock/flagstones/granite" - optional_task: true - type: "item" - } - { - id: "781B70D87BB8051D" - item: "rnr:pink_sandstone_flagstones" - optional_task: true - type: "item" - } - { - id: "3A58D37BC4DA80A9" - item: "rnr:rock/gravel_road/granite" - optional_task: true - type: "item" - } - { - id: "11F7E8FFE4575FF8" - item: "rnr:rock/macadam_road/granite" - optional_task: true - type: "item" - } - { - id: "5782F5692D6AF00A" - type: "checkmark" - } - ] - title: "{quests.steam_age.good_paths.title}" - x: -25.0d - y: -0.5d - } - { - dependencies: [ - "69BDD31A69062B6C" - "43D0B4F2ACB9931B" - "6903C72A254A7B08" - "2C35D4E01AEC02AA" - ] - description: ["{quests.steam_age.lv_circuit.desc}"] - icon: "gtceu:basic_electronic_circuit" - id: "3D8174C64DDC268B" - shape: "gear" - size: 3.0d - subtitle: "{quests.steam_age.lv_circuit.subtitle}" - tasks: [{ - id: "59CF003A962651B0" - item: "gtceu:basic_electronic_circuit" - type: "item" - }] - title: "{quests.steam_age.lv_circuit.title}" - x: -10.0d - y: 6.0d - } - { - description: ["{quests.steam_age.paper.desc}"] - disable_toast: true - id: "16CF5A9012EF4B27" - shape: "diamond" - subtitle: "{quests.steam_age.paper.subtitle}" - tasks: [{ - id: "1567AABEC83A6346" - item: "minecraft:paper" - type: "item" - }] - title: "{quests.steam_age.paper.title}" - x: -5.5d - y: 9.5d - } - { - description: ["{quests.metal_age.bronze_goodies.desc}"] - disable_toast: true - id: "6F1BC99BE641B671" - shape: "octagon" - size: 2.0d - subtitle: "{quests.metal_age.bronze_goodies.subtitle}" - tasks: [{ - id: "5B891E7A5DB66813" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:bronze_anvils)" - } - } - title: "Any #tfc:bronze_anvils" - type: "item" - }] - title: "{quests.metal_age.bronze_goodies.title}" - x: -21.5d - y: -2.0d - } - { - description: ["{quests.metal_age.wrought_iron_goodies.desc}"] - id: "6E8CEE02CB5B678B" - shape: "octagon" - size: 2.0d - subtitle: "{quests.metal_age.wrought_iron_goodies.subtitle}" - tasks: [{ - id: "14980AA2D20804BA" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/anvil/wrought_iron" - } - type: "item" - }] - title: "{quests.metal_age.wrought_iron_goodies.title}" - x: -12.0d - y: -2.0d - } - { - description: ["{quests.metal_age.steel_goodies.desc}"] - id: "32046292AA5B0E30" - shape: "octagon" - size: 2.0d - subtitle: "{quests.metal_age.steel_goodies.subtitle}" - tasks: [{ - id: "6D4629A2C1063653" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/anvil/steel" - } - type: "item" - }] - title: "{quests.metal_age.steel_goodies.title}" - x: -5.5d - y: 0.0d - } - { - dependencies: [ - "46FA9DD4755A5548" - "6100B3C732E379AA" - ] - description: ["{quests.steam_age.steam_macerator.desc}"] - id: "6CF7DCC996BACBFA" - optional: true - subtitle: "{quests.steam_age.steam_macerator.subtitle}" - tasks: [{ - id: "19146D7510558652" - item: "gtceu:hp_steam_macerator" - type: "item" - }] - title: "{quests.steam_age.steam_macerator.title}" - x: -22.5d - y: 6.0d - } - { - dependencies: [ - "6CF7DCC996BACBFA" - "5E4FC017E09ACF44" - ] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.steam_grinder.desc}"] - id: "0CC370A6FC56935B" - optional: true - shape: "heart" - subtitle: "{quests.steam_age.steam_grinder.subtitle}" - tasks: [{ - id: "1CD61C4F273665DE" - item: "gtceu:steam_grinder" - type: "item" - }] - title: "{quests.steam_age.steam_grinder.title}" - x: -25.0d - y: 6.0d - } - { - dependencies: ["32046292AA5B0E30"] - description: ["{quests.steam_age.rotation_speed_controller.desc}"] - id: "414835BADD34513F" - optional: true - subtitle: "{quests.steam_age.rotation_speed_controller.subtitle}" - tasks: [{ - id: "74770DF964D26059" - item: "create:rotation_speed_controller" - type: "item" - }] - title: "{quests.steam_age.rotation_speed_controller.title}" - x: -7.5d - y: 0.0d - } - { - dependencies: [ - "6FFD4990FF07078A" - "3E175E20C91F168B" - ] - description: ["{quests.steam_age.resin_boards.desc}"] - id: "05BE9FE74E4F1AE9" - subtitle: "{quests.steam_age.resin_boards.subtitle}" - tasks: [{ - id: "1367C83F3529D5EA" - item: "gtceu:resin_circuit_board" - type: "item" - }] - title: "{quests.steam_age.resin_boards.title}" - x: -13.5d - y: 9.5d - } - { - dependencies: ["6E8CEE02CB5B678B"] - description: [ - "{quests.metal_age.coke_oven.desc.1}" - "{@pagebreak}" - "{quests.metal_age.coke_oven.desc.2}" - "{@pagebreak}" - "" - "{image:tfg:textures/quests/auto_coke.png width:100 height:100 align:center}" - ] - id: "0D0D461AE3A3F7BF" - size: 1.5d - subtitle: "{quests.metal_age.coke_oven.subtitle}" - tasks: [ - { - id: "1D22CEA76A676434" - item: "gtceu:coke_oven" - type: "item" - } - { - id: "7C2595BA70CBB39E" - item: "gtceu:coke_oven_bricks" - type: "item" - } - { - id: "11981B2183C67CE0" - item: "gtceu:coke_oven_hatch" - type: "item" - } - ] - title: "{quests.metal_age.coke_oven.title}" - x: -14.5d - y: -2.0d - } - { - dependencies: ["033E74BC588E7EAD"] - description: ["{quests.steam_age.packager.desc}"] - icon: "create:package_frogport" - id: "509E85016A2B199C" - shape: "gear" - size: 2.0d - subtitle: "{quests.steam_age.packager.subtitle}" - tasks: [{ - id: "4319E4113F8EBB13" - type: "checkmark" - }] - title: "{quests.steam_age.packager.title}" - x: -19.5d - y: 17.0d - } - { - dependencies: [ - "7B045998769930F0" - "55FDF06AC0C01D0B" - ] - description: ["{quests.steam_age.basic_mech_press.desc}"] - id: "14710C5B4981CECC" - optional: true - shape: "heart" - subtitle: "{quests.steam_age.basic_mech_press.subtitle}" - tasks: [{ - id: "2F89D6D6745465DC" - item: "greate:andesite_alloy_mechanical_press" - type: "item" - }] - title: "{quests.steam_age.basic_mech_press.title}" - x: -17.5d - y: -2.0d - } - { - dependencies: [ - "09D913288896A67A" - "05A39719B66B8F76" - ] - description: [ - "{quests.steam_age.steel_mech_press.desc.1}" - "{@pagebreak}" - "{quests.steam_age.steel_mech_press.desc.2}" - ] - id: "0D39D83AA5F9D543" - optional: true - shape: "heart" - subtitle: "{quests.steam_age.steel_mech_press.subtitle}" - tasks: [{ - id: "32E30B6AC780CAF1" - item: "greate:steel_mechanical_press" - type: "item" - }] - title: "{quests.steam_age.steel_mech_press.title}" - x: -7.5d - y: 4.0d - } - { - dependencies: ["183D47F04CAEBFA7"] - description: ["{quests.steam_age.fuel_sources.desc}"] - icon: "createdeco:decal_fire" - id: "753A53733C6DFA04" - shape: "circle" - subtitle: "{quests.steam_age.fuel_sources.subtitle}" - tasks: [{ - id: "38A3F9A1D2F11EE3" - type: "checkmark" - }] - title: "{quests.steam_age.fuel_sources.title}" - x: -7.5d - y: -2.0d - } - { - dependencies: ["32046292AA5B0E30"] - description: ["{quests.steam_age.large_water_wheel.desc}"] - id: "56A068A5488CB273" - subtitle: "{quests.steam_age.large_water_wheel.subtitle}" - tasks: [{ - id: "5772AD3BB700FD84" - item: "create:large_water_wheel" - type: "item" - }] - title: "{quests.steam_age.large_water_wheel.title}" - x: -3.5d - y: -2.0d - } - { - dependencies: ["2C35D4E01AEC02AA"] - description: ["{quests.steam_age.supers.desc}"] - icon: "gtceu:ulv_super_chest" - id: "671405A9F3A8DFDB" - optional: true - shape: "heart" - subtitle: "{quests.steam_age.supers.subtitle}" - tasks: [{ - id: "5F5A6967B674C05A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:ulv_super_chest)item(gtceu:lv_super_chest)item(gtceu:mv_super_chest)item(gtceu:hv_super_chest)item(gtceu:ev_super_chest)item(gtceu:iv_quantum_chest)item(gtceu:luv_quantum_chest)item(gtceu:zpm_quantum_chest)item(gtceu:uv_quantum_chest)item(gtceu:uhv_quantum_chest)item(gtceu:ulv_super_tank)item(gtceu:lv_super_tank)item(gtceu:mv_super_tank)item(gtceu:hv_super_tank)item(gtceu:ev_super_tank)item(gtceu:iv_quantum_tank)item(gtceu:luv_quantum_tank)item(gtceu:zpm_quantum_tank)item(gtceu:uv_quantum_tank)item(gtceu:uhv_quantum_tank))" - } - } - title: "{quests.steam_age.supers.task}" - type: "item" - }] - title: "{quests.steam_age.supers.title}" - x: -12.0d - y: 13.0d - } - ] - subtitle: ["{quests.steam_age.subtitle}"] - title: "{quests.steam_age}" -} +{ + default_hide_dependency_lines: false + default_quest_shape: "" + filename: "questssteam_age" + group: "3C4612A920658A7E" + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_gear" + } + id: "784A885090386609" + order_index: 2 + quest_links: [ + { + id: "39027CF4DC307D33" + linked_quest: "5E186CD5E83BFDF0" + x: -29.0d + y: 2.0d + } + { + id: "0CE64B9914191C56" + linked_quest: "6FFD4990FF07078A" + shape: "diamond" + x: -11.5d + y: 9.5d + } + { + id: "23A27702FF816291" + linked_quest: "6903C72A254A7B08" + x: -14.5d + y: 6.0d + } + { + id: "1F1E7097C015BE33" + linked_quest: "48A8E3210B2BAE1C" + shape: "octagon" + size: 2.0d + x: -29.0d + y: 0.0d + } + { + id: "7C03FE015586C652" + linked_quest: "55213ACBF5F5D398" + shape: "heart" + x: -15.0d + y: 13.0d + } + { + id: "65E0B13E245D2E5F" + linked_quest: "379F434116632A89" + x: -25.0d + y: 1.0d + } + { + id: "68F5E521F2DB0A86" + linked_quest: "0404FBCC34011053" + shape: "heart" + x: -14.0d + y: 13.0d + } + ] + quests: [ + { + dependencies: [ + "7B045998769930F0" + "55FDF06AC0C01D0B" + ] + description: ["{quests.steam_age.basic_millstone.desc}"] + id: "48C1E980F7D64317" + size: 1.5d + subtitle: "{quests.steam_age.basic_millstone.subtitle}" + tasks: [{ + id: "486DE7D228F3589B" + item: "greate:andesite_alloy_millstone" + type: "item" + }] + title: "{quests.steam_age.basic_millstone.title}" + x: -19.5d + y: 0.0d + } + { + dependencies: ["6F1BC99BE641B671"] + description: [ + "{quests.steam_age.horse_crank.desc.1}" + "{@pagebreak}" + "{quests.steam_age.horse_crank.desc.2}" + ] + id: "1059288C22CB56BB" + subtitle: "{quests.steam_age.horse_crank.subtitle}" + tasks: [{ + id: "1F3EE2CB3B8875EC" + item: "createhorsepower:horse_crank" + type: "item" + }] + title: "{quests.steam_age.horse_crank.title}" + x: -23.5d + y: -2.0d + } + { + dependencies: ["7B045998769930F0"] + description: ["{quests.steam_age.helve_hammer.desc}"] + id: "611EB6284CA7119C" + size: 1.0d + subtitle: "{quests.steam_age.helve_hammer.subtitle}" + tasks: [{ + id: "340B4B4665295100" + item: "vintageimprovements:helve_hammer" + type: "item" + }] + title: "{quests.steam_age.helve_hammer.title}" + x: -19.5d + y: -4.0d + } + { + dependencies: ["6F1BC99BE641B671"] + description: ["{quests.steam_age.basic_greate.desc}"] + id: "7B045998769930F0" + subtitle: "{quests.steam_age.basic_greate.subtitle}" + tasks: [ + { + id: "53E8B404D5233367" + item: "greate:andesite_alloy_cogwheel" + optional_task: true + type: "item" + } + { + id: "54B5DC1982F4D816" + item: "greate:large_andesite_alloy_cogwheel" + type: "item" + } + { + id: "59AD69460AE89682" + item: "greate:andesite_alloy_shaft" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.basic_greate.title}" + x: -19.5d + y: -2.0d + } + { + dependencies: ["0D0D461AE3A3F7BF"] + description: ["{quests.steam_age.water_wheel.desc}"] + id: "61DDB00751D1E7CB" + subtitle: "{quests.steam_age.water_wheel.subtitle}" + tasks: [{ + id: "1D82D22878EE6D21" + item: "create:water_wheel" + type: "item" + }] + title: "{quests.steam_age.water_wheel.title}" + x: -14.5d + y: 0.0d + } + { + dependencies: ["0D0D461AE3A3F7BF"] + description: ["{quests.steam_age.windmill.desc}"] + id: "617E0AFB7BA3D7A8" + subtitle: "{quests.steam_age.windmill.subtitle}" + tasks: [ + { + id: "26EA0D8EDFCF3727" + item: "create:windmill_bearing" + type: "item" + } + { + count: 8L + id: "3095A44065C9F130" + item: "create:white_sail" + type: "item" + } + ] + title: "{quests.steam_age.windmill.title}" + x: -14.5d + y: -4.0d + } + { + dependencies: ["6E8CEE02CB5B678B"] + description: ["{quests.steam_age.metal_casing.desc}"] + id: "7F14D2A34F480ACA" + size: 1.5d + subtitle: "{quests.steam_age.metal_casing.subtitle}" + tasks: [{ + id: "1554B18D816C3549" + item: "create:andesite_casing" + type: "item" + }] + title: "{quests.steam_age.metal_casing.title}" + x: -9.5d + y: -2.0d + } + { + dependencies: [ + "09D913288896A67A" + "05A39719B66B8F76" + ] + description: ["{quests.steam_age.steel_encased_fan.desc}"] + id: "616E28977F3216D9" + subtitle: "{quests.steam_age.steel_encased_fan.subtitle}" + tasks: [{ + id: "32279C21D7553637" + item: { Count: 32, id: "greate:steel_encased_fan" } + type: "item" + }] + title: "{quests.steam_age.steel_encased_fan.title}" + x: -5.5d + y: 4.0d + } + { + dependencies: ["09D913288896A67A"] + description: [ + "{quests.steam_age.steel_pump.desc.1}" + "{@pagebreak}" + "{quests.steam_age.steel_pump.desc.2}" + "{@pagebreak}" + "{quests.steam_age.steel_pump.desc.3}" + ] + id: "51CBF7378FFAD514" + subtitle: "{quests.steam_age.steel_pump.subtitle}" + tasks: [{ + id: "1E7DD1C4FCCFD937" + item: "greate:steel_mechanical_pump" + type: "item" + }] + title: "{quests.steam_age.steel_pump.title}" + x: -3.5d + y: 2.0d + } + { + dependencies: ["209958FE2EEA5D72"] + description: [ + "{quests.steam_age.boilers.desc.1}" + "{@pagebreak}" + "{quests.steam_age.boilers.desc.2}" + ] + id: "46FA9DD4755A5548" + size: 1.5d + subtitle: "{quests.steam_age.boilers.subtitle}" + tasks: [{ + id: "07FFA9C76EE39D36" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:hp_steam_solid_boiler)item(gtceu:hp_steam_liquid_boiler)item(gtceu:hp_steam_solar_boiler))" + } + } + title: "{quests.steam_age.boilers.tasks}" + type: "item" + }] + title: "{quests.steam_age.boilers.title}" + x: -19.5d + y: 7.5d + } + { + dependencies: ["32046292AA5B0E30"] + description: ["{quests.steam_age.steam_engine.desc}"] + id: "183D47F04CAEBFA7" + size: 1.5d + subtitle: "{quests.steam_age.steam_engine.subtitle}" + tasks: [ + { + id: "704B7094BE2FB3E1" + item: "create:steam_engine" + optional_task: true + type: "item" + } + { + id: "4655500474F4236C" + item: "create:blaze_burner" + type: "item" + } + ] + title: "{quests.steam_age.steam_engine.title}" + x: -5.5d + y: -2.0d + } + { + dependencies: ["7F14D2A34F480ACA"] + description: ["{quests.steam_age.mechanical_saw.desc}"] + id: "069825FBCFB0FB9C" + rewards: [{ + id: "64CA1397D201AF37" + item: "create:filter" + type: "item" + }] + subtitle: "{quests.steam_age.mechanical_saw.subtitle}" + tasks: [{ + id: "5005121E0361DBD2" + item: "greate:andesite_alloy_mechanical_saw" + type: "item" + }] + title: "{quests.steam_age.mechanical_saw.title}" + x: -9.5d + y: 0.0d + } + { + dependencies: ["7F14D2A34F480ACA"] + description: ["{quests.steam_age.mechanical_harvester.desc}"] + id: "76871B4CEEEC70B8" + subtitle: "{quests.steam_age.mechanical_harvester.subtitle}" + tasks: [{ + id: "34092F5FBDFB9761" + item: "create:mechanical_harvester" + type: "item" + }] + title: "{quests.steam_age.mechanical_harvester.title}" + x: -9.5d + y: -4.0d + } + { + dependencies: ["6E8CEE02CB5B678B"] + description: ["{quests.steam_age.chute.desc}"] + id: "05CC8C5E63CD1DB8" + subtitle: "{quests.steam_age.chute.subtitle}" + tasks: [ + { + id: "7CB1E90EAF7861FB" + item: "create:chute" + type: "item" + } + { + id: "66E04B6A41557709" + item: "create:andesite_funnel" + optional_task: true + type: "item" + } + { + id: "6E500B14003B937D" + item: "minecraft:hopper" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.chute.title}" + x: -12.0d + y: 0.0d + } + { + dependencies: ["51CBF7378FFAD514"] + description: [ + "{quests.steam_age.mold_table.desc.1}" + "{@pagebreak}" + "{quests.steam_age.mold_table.desc.2}" + ] + id: "66DBF1C68493A406" + subtitle: "{quests.steam_age.mold_table.subtitle}" + tasks: [{ + id: "7258D0D474B6F26E" + item: "tfcchannelcasting:mold_table" + type: "item" + }] + title: "{quests.steam_age.mold_table.title}" + x: -3.5d + y: 4.0d + } + { + dependencies: ["32046292AA5B0E30"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.steel_greate.desc}"] + id: "09D913288896A67A" + size: 1.5d + subtitle: "{quests.steam_age.steel_greate.subtitle}" + tasks: [ + { + id: "23DE370285589CB4" + item: "greate:steel_shaft" + type: "item" + } + { + id: "4FDD99090C920E21" + item: "greate:steel_cogwheel" + type: "item" + } + { + id: "5569D0030FB45C5D" + item: "greate:large_steel_cogwheel" + type: "item" + } + ] + title: "{quests.steam_age.steel_greate.title}" + x: -5.5d + y: 2.0d + } + { + dependencies: [ + "09D913288896A67A" + "05A39719B66B8F76" + ] + description: ["{quests.steam_age.steel_millstone.desc}"] + hide_dependent_lines: true + id: "5E4FC017E09ACF44" + subtitle: "{quests.steam_age.steel_millstone.subtitle}" + tasks: [{ + id: "3E3D4CD3283461DE" + item: "greate:steel_millstone" + type: "item" + }] + title: "{quests.steam_age.steel_millstone.title}" + x: -7.5d + y: 2.0d + } + { + dependencies: [ + "5917B0D4708BF534" + "6100B3C732E379AA" + ] + description: ["{quests.steam_age.crushing_wheel.desc}"] + id: "4F3D0D746D26B59F" + optional: true + subtitle: "{quests.steam_age.crushing_wheel.subtitle}" + tasks: [{ + count: 2L + id: "7EDCBC04DAEA477C" + item: "greate:steel_crushing_wheel" + type: "item" + }] + title: "{quests.steam_age.crushing_wheel.title}" + x: -21.5d + y: 10.5d + } + { + dependencies: ["7DB7AB5349218605"] + description: ["{quests.steam_age.treated_planks.desc}"] + id: "246D2C5989E3E907" + subtitle: "{quests.steam_age.treated_planks.subtitle}" + tasks: [ + { + id: "7CF3C09E3907B1C0" + item: "gtceu:treated_wood_planks" + type: "item" + } + { + id: "72112F5EC062766C" + item: "gtceu:treated_wood_dust" + type: "item" + } + { + id: "0D95727196D033B5" + item: "gtceu:treated_wood_plate" + type: "item" + } + ] + title: "{quests.steam_age.treated_planks.title}" + x: -19.5d + y: 10.5d + } + { + dependencies: [ + "233B414B4F189140" + "781C6AD30194CB45" + "3E175E20C91F168B" + ] + description: ["{quests.steam_age.electron_tube.desc}"] + id: "033E74BC588E7EAD" + shape: "octagon" + size: 2.0d + subtitle: "{quests.steam_age.electron_tube.subtitle}" + tasks: [{ + id: "471CCF5193150865" + item: "create:electron_tube" + type: "item" + }] + title: "{quests.steam_age.electron_tube.title}" + x: -19.5d + y: 14.5d + } + { + dependencies: ["2C35D4E01AEC02AA"] + dependency_requirement: "one_completed" + description: [ + "{quests.steam_age.miner.desc.1}" + "{@pagebreak}" + "{quests.steam_age.miner.desc.2}" + ] + id: "65066C9D630B7FFA" + optional: true + subtitle: "{quests.steam_age.miner.subtitle}" + tasks: [ + { + id: "068F7BD3AA0EF8E7" + item: "gtceu:hp_steam_miner" + type: "item" + } + { + id: "5ADC94CEBC196702" + item: "create:mechanical_drill" + type: "item" + } + ] + title: "{quests.steam_age.miner.title}" + x: -12.0d + y: 15.0d + } + { + dependencies: [ + "22E604DB7E7E87FB" + "09E12A399EE0A628" + "1912758422EEB006" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.glass_tube.desc}"] + id: "233B414B4F189140" + subtitle: "{quests.steam_age.glass_tube.subtitle}" + tasks: [{ + id: "004AF02E40B60ECF" + item: "gtceu:glass_tube" + type: "item" + }] + title: "{quests.steam_age.glass_tube.title}" + x: -25.0d + y: 14.5d + } + { + dependencies: ["033E74BC588E7EAD"] + description: ["{quests.steam_age.deployers.desc}"] + icon: "create:deployer" + id: "6AA07588374B59AB" + subtitle: "{quests.steam_age.deployers.subtitle}" + tasks: [ + { + id: "717CF950E5000569" + item: "create:deployer" + type: "item" + } + { + id: "38F9301A818347F7" + item: "create:depot" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.deployers.title}" + x: -16.5d + y: 12.0d + } + { + dependencies: ["1912758422EEB006"] + description: ["{quests.steam_age.molding.desc}"] + icon: "gtceu:ball_casting_mold" + id: "09E12A399EE0A628" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.steam_age.molding.subtitle}" + tasks: [ + { + id: "02A8B23277FFD95E" + item: "gtceu:plate_casting_mold" + type: "item" + } + { + id: "57B2773550AA7D37" + item: "gtceu:ball_casting_mold" + type: "item" + } + ] + title: "{quests.steam_age.molding.title}" + x: -25.0d + y: 9.5d + } + { + dependencies: ["033E74BC588E7EAD"] + description: ["{quests.steam_age.mech_crafter.desc}"] + id: "5917B0D4708BF534" + optional: true + subtitle: "{quests.steam_age.mech_crafter.subtitle}" + tasks: [{ + id: "084E6F06E79A3B0F" + item: "create:mechanical_crafter" + type: "item" + }] + title: "{quests.steam_age.mech_crafter.title}" + x: -20.5d + y: 12.0d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.steam_bloomery.desc}"] + icon: "gtceu:steam_bloomery" + id: "0805CCABC8E7F6CF" + optional: true + shape: "heart" + size: 1.5d + subtitle: "{quests.steam_age.steam_bloomery.subtitle}" + tasks: [ + { + id: "72D748120CACABE2" + item: "gtceu:steam_bloomery" + type: "item" + } + { + count: 3L + id: "019C4D427A06DF0E" + item: { Count: 3, id: "gtceu:bronze_firebox_casing" } + type: "item" + } + { + id: "402700D6CCD2BEF1" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "7B99996072C53AD9" + item: "gtceu:steam_input_bus" + type: "item" + } + { + id: "6E4B41FDD286E184" + item: "gtceu:steam_output_bus" + type: "item" + } + ] + title: "{quests.steam_age.steam_bloomery.title}" + x: -22.5d + y: 4.0d + } + { + dependencies: ["05CC8C5E63CD1DB8"] + description: [ + "{quests.steam_age.item_pipes.desc.1}" + "{@pagebreak}" + "{quests.steam_age.item_pipes.desc.2}" + "{@pagebreak}" + "{quests.steam_age.item_pipes.desc.3}" + "{@pagebreak}" + "{quests.steam_age.item_pipes.desc.4}" + ] + icon: "gtceu:tin_small_item_pipe" + id: "08672B3000450F14" + size: 1.0d + subtitle: "{quests.steam_age.item_pipes.subtitle}" + tasks: [{ + id: "3122D989BAB787F4" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + display: { + Name: "{\"text\":\"Any item pipe\"}" + } + "ftbfiltersystem:filter": "or(item_tag(forge:small_item_pipes)item_tag(forge:normal_item_pipes)item_tag(forge:large_item_pipes)item_tag(forge:huge_item_pipes))" + } + } + title: "Any Item Pipes" + type: "item" + }] + title: "{quests.steam_age.item_pipes.title}" + x: -12.0d + y: 2.0d + } + { + dependencies: [ + "6FFD4990FF07078A" + "05BE9FE74E4F1AE9" + ] + description: ["{quests.steam_age.circuit_boards.desc}"] + icon: "gtceu:resin_printed_circuit_board" + id: "43D0B4F2ACB9931B" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.circuit_boards.subtitle}" + tasks: [{ + id: "2B8B038789480789" + item: "gtceu:resin_printed_circuit_board" + type: "item" + }] + title: "{quests.steam_age.circuit_boards.title}" + x: -11.5d + y: 8.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.compressor.desc}"] + id: "7DB7AB5349218605" + size: 1.0d + subtitle: "{quests.steam_age.compressor.subtitle}" + tasks: [{ + id: "422B0536DAAF3DD4" + item: "gtceu:hp_steam_compressor" + type: "item" + }] + title: "{quests.steam_age.compressor.title}" + x: -19.5d + y: 9.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.alloy_smelter.desc}"] + id: "1912758422EEB006" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.alloy_smelter.subtitle}" + tasks: [{ + id: "47ABB2F2EB140120" + item: "gtceu:hp_steam_alloy_smelter" + type: "item" + }] + title: "{quests.steam_age.alloy_smelter.title}" + x: -22.5d + y: 9.5d + } + { + dependencies: [ + "46FA9DD4755A5548" + "6100B3C732E379AA" + ] + description: ["{quests.steam_age.forge_hammer.desc}"] + id: "59F7F7A8C76DE31C" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.forge_hammer.subtitle}" + tasks: [{ + id: "18FFF2B9BC20C28B" + item: "gtceu:hp_steam_forge_hammer" + type: "item" + }] + title: "{quests.steam_age.forge_hammer.title}" + x: -22.5d + y: 8.0d + } + { + dependencies: [ + "5F3063C539C9CBBF" + "05BE9FE74E4F1AE9" + ] + description: ["{quests.steam_age.vacuum_tubes.desc}"] + id: "2C35D4E01AEC02AA" + shape: "octagon" + size: 2.0d + subtitle: "{quests.steam_age.vacuum_tubes.subtitle}" + tasks: [{ + id: "71433924A1ACEDA1" + item: "gtceu:vacuum_tube" + type: "item" + }] + title: "{quests.steam_age.vacuum_tubes.title}" + x: -10.0d + y: 12.0d + } + { + dependencies: ["7DB7AB5349218605"] + description: ["{quests.steam_age.wood_plank.desc}"] + id: "3E175E20C91F168B" + subtitle: "{quests.steam_age.wood_plank.subtitle}" + tasks: [{ + id: "339B48BCF11A29E0" + item: "gtceu:wood_plate" + type: "item" + }] + title: "{quests.steam_age.wood_plank.title}" + x: -16.5d + y: 9.5d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.extractor.desc}"] + id: "1DF4DBE41BB0B6FD" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.steam_age.extractor.subtitle}" + tasks: [{ + id: "5C84856667925F76" + item: "gtceu:hp_steam_extractor" + type: "item" + }] + title: "{quests.steam_age.extractor.title}" + x: -16.5d + y: 7.5d + } + { + dependencies: [ + "6FFD4990FF07078A" + "16CF5A9012EF4B27" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.resistors.desc}"] + id: "69BDD31A69062B6C" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.resistors.subtitle}" + tasks: [{ + id: "4E6D1A59F2BAE607" + item: "gtceu:resistor" + type: "item" + }] + title: "{quests.steam_age.resistors.title}" + x: -7.0d + y: 9.5d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.coiling_machine.desc}"] + id: "072F6E48A1C5ECE9" + optional: true + size: 1.25d + subtitle: "{quests.steam_age.coiling_machine.subtitle}" + tasks: [{ + id: "07B7D41ACDCD1DEA" + item: "vintageimprovements:spring_coiling_machine" + type: "item" + }] + title: "{quests.steam_age.coiling_machine.title}" + x: -7.0d + y: 14.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.steel_mixer.desc}"] + id: "49896161B31DB7B4" + optional: true + size: 1.25d + subtitle: "{quests.steam_age.steel_mixer.subtitle}" + tasks: [{ + id: "42F060A386ADF999" + item: "greate:steel_mechanical_mixer" + type: "item" + }] + title: "{quests.steam_age.steel_mixer.title}" + x: -7.0d + y: 12.5d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.lathe.desc}"] + id: "6A92E8396DE40577" + optional: true + subtitle: "{quests.steam_age.lathe.subtitle}" + tasks: [{ + id: "23961EE69549B16E" + item: "vintageimprovements:belt_grinder" + type: "item" + }] + title: "{quests.steam_age.lathe.title}" + x: -8.0d + y: 15.0d + } + { + dependencies: [ + "5917B0D4708BF534" + "6100B3C732E379AA" + "246D2C5989E3E907" + ] + description: ["{quests.steam_age.centrifuge.desc}"] + id: "19A1D52A7F550478" + optional: true + subtitle: "{quests.steam_age.centrifuge.subtitle}" + tasks: [{ + id: "69668479444FF064" + item: "vintageimprovements:centrifuge" + type: "item" + }] + title: "{quests.steam_age.centrifuge.title}" + x: -20.5d + y: 10.5d + } + { + dependencies: [ + "2C35D4E01AEC02AA" + "6100B3C732E379AA" + ] + description: ["{quests.steam_age.vibrating_table.desc}"] + id: "1E8CC993E0251828" + optional: true + subtitle: "{quests.steam_age.vibrating_table.subtitle}" + tasks: [{ + id: "3035C0B44A0E1854" + item: "vintageimprovements:vibrating_table" + type: "item" + }] + title: "{quests.steam_age.vibrating_table.title}" + x: -10.0d + y: 15.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: [ + "{quests.steam_age.rolling_mill.desc.1}" + "{@pagebreak}" + "{quests.steam_age.rolling_mill.desc.2}" + ] + id: "4C22BE513927247B" + optional: true + size: 1.25d + subtitle: "{quests.steam_age.rolling_mill.subtitle}" + tasks: [{ + id: "621AA4E967D54305" + item: "createaddition:rolling_mill" + type: "item" + }] + title: "{quests.steam_age.rolling_mill.title}" + x: -7.0d + y: 11.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.steel_saw.desc}"] + id: "0078B9234C554C6E" + optional: true + subtitle: "{quests.steam_age.steel_saw.subtitle}" + tasks: [{ + id: "40E3951B8862B9A4" + item: "greate:steel_mechanical_saw" + type: "item" + }] + title: "{quests.steam_age.steel_saw.title}" + x: -9.0d + y: 15.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.curving_press.desc}"] + id: "6ABACC7B9967851D" + optional: true + subtitle: "{quests.steam_age.curving_press.subtitle}" + tasks: [{ + id: "2AE28D5C5FC74A56" + item: "vintageimprovements:curving_press" + type: "item" + }] + title: "{quests.steam_age.curving_press.title}" + x: -11.0d + y: 15.0d + } + { + dependencies: [ + "46FA9DD4755A5548" + "6100B3C732E379AA" + ] + description: ["{quests.steam_age.steam_furnace.desc}"] + id: "799288FB7A4DCA11" + subtitle: "{quests.steam_age.steam_furnace.subtitle}" + tasks: [{ + id: "3F510CDD8E437540" + item: "gtceu:hp_steam_furnace" + type: "item" + }] + title: "{quests.steam_age.steam_furnace.title}" + x: -16.5d + y: 5.5d + } + { + dependencies: ["799288FB7A4DCA11"] + description: [ + "{quests.steam_age.steam_oven.desc.1}" + "{@pagebreak}" + "{quests.steam_age.steam_oven.desc.2}" + ] + icon: "gtceu:steam_oven" + id: "3E6DE0B94490FCEC" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.steam_age.steam_oven.subtitle}" + tasks: [ + { + id: "1675EA4117A36C72" + item: "gtceu:steam_oven" + type: "item" + } + { + id: "4EE63FDD07EC0467" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "0C9D5C87DEC212D2" + item: "gtceu:steam_input_bus" + type: "item" + } + { + id: "60828361A38F4E1E" + item: "gtceu:steam_output_bus" + type: "item" + } + { + count: 8L + id: "10EC49FF899232F6" + item: "gtceu:steam_machine_casing" + type: "item" + } + { + count: 8L + id: "27DDD13BE482E8A3" + item: "gtceu:bronze_firebox_casing" + type: "item" + } + ] + title: "{quests.steam_age.steam_oven.title}" + x: -16.5d + y: 4.0d + } + { + dependencies: ["46FA9DD4755A5548"] + description: ["{quests.steam_age.rock_crusher.desc}"] + id: "2491CB5921B66446" + optional: true + subtitle: "{quests.steam_age.rock_crusher.subtitle}" + tasks: [{ + id: "5CA302572EF6D4E1" + item: "gtceu:hp_steam_rock_crusher" + type: "item" + }] + title: "{quests.steam_age.rock_crusher.title}" + x: -22.5d + y: 7.0d + } + { + dependencies: [ + "1912758422EEB006" + "12CB3B9ADC586521" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.red_alloy.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:red_alloy_ingot" + } + id: "781C6AD30194CB45" + shape: "square" + size: 1.0d + subtitle: "{quests.steam_age.red_alloy.subtitle}" + tasks: [ + { + id: "4D1E98E699F1E724" + item: "gtceu:red_alloy_ingot" + type: "item" + } + { + id: "41331A38F9664605" + item: "gtceu:red_alloy_single_wire" + type: "item" + } + ] + title: "{quests.steam_age.red_alloy.title}" + x: -22.5d + y: 12.0d + } + { + dependencies: ["51CBF7378FFAD514"] + description: [ + "{quests.steam_age.fluid_pipes.desc.1}" + "{@pagebreak}" + "{quests.steam_age.fluid_pipes.desc.2}" + ] + icon: "gtceu:bronze_normal_fluid_pipe" + id: "0109231F33296868" + size: 1.0d + subtitle: "{quests.steam_age.fluid_pipes.subtitle}" + tasks: [ + { + id: "59512A7A04D517E6" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:bronze_tiny_fluid_pipe)item(gtceu:bronze_quadruple_fluid_pipe)item(gtceu:bronze_nonuple_fluid_pipe)item(gtceu:bronze_huge_fluid_pipe)item(gtceu:bronze_large_fluid_pipe)item(gtceu:bronze_normal_fluid_pipe)item(gtceu:bronze_small_fluid_pipe))" + } + } + title: "Any Bronze Pipe" + type: "item" + } + { + id: "143EA7ABC19B6AFC" + item: "gtceu:wood_normal_fluid_pipe" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.fluid_pipes.title}" + x: -3.5d + y: 0.0d + } + { + dependencies: ["51CBF7378FFAD514"] + description: [ + "{quests.steam_age.fluid_drums.desc.1}" + "{@pagebreak}" + "{quests.steam_age.fluid_drums.desc.2}" + ] + icon: "gtceu:bronze_drum" + id: "499D24AFADC25AA9" + size: 1.0d + subtitle: "{quests.steam_age.fluid_drums.subtitle}" + tasks: [{ + id: "73A31AC2888A851E" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:bronze_drum)item(gtceu:steel_drum)item(gtceu:aluminium_drum)item(gtceu:stainless_steel_drum)item(gtceu:gold_drum)item(gtceu:titanium_drum)item(gtceu:tungsten_steel_drum))" + } + } + type: "item" + }] + title: "{quests.steam_age.fluid_drums.title}" + x: -1.5d + y: 2.0d + } + { + dependencies: ["49896161B31DB7B4"] + description: [ + "{quests.steam_age.potin.desc.1}" + "{@pagebreak}" + "{quests.steam_age.potin.desc.2}" + ] + icon: "gtceu:potin_normal_fluid_pipe" + id: "6B6FEF3DC6299CD9" + optional: true + shape: "heart" + size: 1.0d + subtitle: "{quests.steam_age.potin.subtitle}" + tasks: [{ + id: "3FC7579C544460B1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:potin_tiny_fluid_pipe)item(gtceu:potin_small_fluid_pipe)item(gtceu:potin_normal_fluid_pipe)item(gtceu:potin_large_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_huge_fluid_pipe)item(gtceu:potin_quadruple_fluid_pipe)item(gtceu:potin_nonuple_fluid_pipe))" + } + } + title: "Any Potin Pipe" + type: "item" + }] + title: "{quests.steam_age.potin.title}" + x: -5.5d + y: 12.5d + } + { + dependencies: ["6F1BC99BE641B671"] + description: ["{quests.steam_age.create_tools.desc}"] + id: "2F81902C6B1D4902" + subtitle: "{quests.steam_age.create_tools.subtitle}" + tasks: [ + { + id: "12C909F6EB4BB615" + item: "create:goggles" + optional_task: true + type: "item" + } + { + id: "7721793B4C0AFD2C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:copper_wrench)item(gtceu:bronze_wrench)item(gtceu:black_bronze_wrench)item(gtceu:bismuth_bronze_wrench)item(gtceu:wrought_iron_wrench)item(gtceu:steel_wrench)item(gtceu:cobalt_brass_wrench))" + } + } + type: "item" + } + ] + title: "{quests.steam_age.create_tools.title}" + x: -21.5d + y: -4.0d + } + { + dependencies: ["6AA07588374B59AB"] + description: ["{quests.steam_age.trains.desc}"] + hide_dependency_lines: false + id: "02854A3E8A5D5043" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.trains.subtitle}" + tasks: [ + { + id: "7D63DDE72E9AC188" + item: "create:track_station" + type: "item" + } + { + id: "48F6ED366BE64A71" + item: "create:railway_casing" + type: "item" + } + { + id: "1BC698B7C0124CA0" + item: "create:controls" + type: "item" + } + ] + title: "{quests.steam_age.trains.title}" + x: -16.5d + y: 13.0d + } + { + dependencies: ["6AA07588374B59AB"] + description: ["{quests.steam_age.vacuum_chamber.desc}"] + id: "5F3063C539C9CBBF" + subtitle: "{quests.steam_age.vacuum_chamber.subtitle}" + tasks: [{ + id: "5BAA167FA59D5C32" + item: "vintageimprovements:vacuum_chamber" + type: "item" + }] + title: "{quests.steam_age.vacuum_chamber.title}" + x: -14.5d + y: 12.0d + } + { + description: ["{quests.metal_age.black_steel_goodies.desc}"] + id: "209958FE2EEA5D72" + shape: "gear" + size: 3.0d + subtitle: "{quests.metal_age.black_steel_goodies.subtitle}" + tasks: [{ + id: "066CDB0C97CF74EF" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/black_steel" + } + type: "item" + }] + title: "{quests.metal_age.black_steel_goodies.title}" + x: -19.5d + y: 3.0d + } + { + dependencies: ["1059288C22CB56BB"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.poor_paths.desc}"] + id: "6356072A435EFE81" + optional: true + shape: "diamond" + subtitle: "{quests.steam_age.poor_paths.subtitle}" + tasks: [ + { + disable_toast: true + id: "4F3DE27E5A72D7BD" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:dirt)" + } + } + optional_task: true + title: "Any #tfc:dirt" + type: "item" + } + { + disable_toast: true + id: "2A6A80CC908180C5" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:grass)" + } + } + optional_task: true + title: "Any #tfc:grass" + type: "item" + } + { + id: "63E8E70536A0E327" + type: "checkmark" + } + ] + title: "{quests.steam_age.poor_paths.title}" + x: -25.0d + y: -3.5d + } + { + dependencies: ["1059288C22CB56BB"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.normal_paths.desc}"] + id: "494E81202B0F36A7" + optional: true + shape: "diamond" + subtitle: "{quests.steam_age.normal_paths.subtitle}" + tasks: [ + { + id: "0E4FF871FD6313B1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:paths)" + } + } + optional_task: true + title: "Any #tfc:paths" + type: "item" + } + { + disable_toast: true + id: "5F38585D28010C6C" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:rock/gravel)" + } + } + optional_task: true + title: "Any #tfc:rock/gravel" + type: "item" + } + { + id: "2ED43D8943143635" + item: "rnr:hoggin" + optional_task: true + type: "item" + } + { + id: "4CBEBCFBCB80C624" + type: "checkmark" + } + ] + title: "{quests.steam_age.normal_paths.title}" + x: -25.5d + y: -2.0d + } + { + dependencies: [ + "1059288C22CB56BB" + "379F434116632A89" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.good_paths.desc}"] + id: "52A82511A64B0A5B" + optional: true + shape: "diamond" + subtitle: "{quests.steam_age.good_paths.subtitle}" + tasks: [ + { + id: "17BE9908916FD48D" + item: "rnr:rock/sett_road/granite" + optional_task: true + type: "item" + } + { + id: "276FE934DBA46B50" + item: "rnr:rock/cobbled_road/granite" + optional_task: true + type: "item" + } + { + id: "3ED818D7E317850A" + item: "rnr:rock/flagstones/granite" + optional_task: true + type: "item" + } + { + id: "781B70D87BB8051D" + item: "rnr:pink_sandstone_flagstones" + optional_task: true + type: "item" + } + { + id: "3A58D37BC4DA80A9" + item: "rnr:rock/gravel_road/granite" + optional_task: true + type: "item" + } + { + id: "11F7E8FFE4575FF8" + item: "rnr:rock/macadam_road/granite" + optional_task: true + type: "item" + } + { + id: "5782F5692D6AF00A" + type: "checkmark" + } + ] + title: "{quests.steam_age.good_paths.title}" + x: -25.0d + y: -0.5d + } + { + dependencies: [ + "69BDD31A69062B6C" + "43D0B4F2ACB9931B" + "6903C72A254A7B08" + "2C35D4E01AEC02AA" + ] + description: ["{quests.steam_age.lv_circuit.desc}"] + icon: "gtceu:basic_electronic_circuit" + id: "3D8174C64DDC268B" + shape: "gear" + size: 3.0d + subtitle: "{quests.steam_age.lv_circuit.subtitle}" + tasks: [{ + id: "59CF003A962651B0" + item: "gtceu:basic_electronic_circuit" + type: "item" + }] + title: "{quests.steam_age.lv_circuit.title}" + x: -10.0d + y: 6.0d + } + { + description: ["{quests.steam_age.paper.desc}"] + disable_toast: true + id: "16CF5A9012EF4B27" + shape: "diamond" + subtitle: "{quests.steam_age.paper.subtitle}" + tasks: [{ + id: "1567AABEC83A6346" + item: "minecraft:paper" + type: "item" + }] + title: "{quests.steam_age.paper.title}" + x: -5.5d + y: 9.5d + } + { + description: ["{quests.metal_age.bronze_goodies.desc}"] + disable_toast: true + id: "6F1BC99BE641B671" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.bronze_goodies.subtitle}" + tasks: [{ + id: "5B891E7A5DB66813" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:bronze_anvils)" + } + } + title: "Any #tfc:bronze_anvils" + type: "item" + }] + title: "{quests.metal_age.bronze_goodies.title}" + x: -21.5d + y: -2.0d + } + { + description: ["{quests.metal_age.wrought_iron_goodies.desc}"] + id: "6E8CEE02CB5B678B" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.wrought_iron_goodies.subtitle}" + tasks: [{ + id: "14980AA2D20804BA" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/wrought_iron" + } + type: "item" + }] + title: "{quests.metal_age.wrought_iron_goodies.title}" + x: -12.0d + y: -2.0d + } + { + description: ["{quests.metal_age.steel_goodies.desc}"] + id: "32046292AA5B0E30" + shape: "octagon" + size: 2.0d + subtitle: "{quests.metal_age.steel_goodies.subtitle}" + tasks: [{ + id: "6D4629A2C1063653" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "tfc:metal/anvil/steel" + } + type: "item" + }] + title: "{quests.metal_age.steel_goodies.title}" + x: -5.5d + y: 0.0d + } + { + dependencies: [ + "46FA9DD4755A5548" + "6100B3C732E379AA" + ] + description: ["{quests.steam_age.steam_macerator.desc}"] + id: "6CF7DCC996BACBFA" + optional: true + subtitle: "{quests.steam_age.steam_macerator.subtitle}" + tasks: [{ + id: "19146D7510558652" + item: "gtceu:hp_steam_macerator" + type: "item" + }] + title: "{quests.steam_age.steam_macerator.title}" + x: -22.5d + y: 6.0d + } + { + dependencies: [ + "6CF7DCC996BACBFA" + "5E4FC017E09ACF44" + ] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.steam_grinder.desc}"] + id: "0CC370A6FC56935B" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.steam_grinder.subtitle}" + tasks: [{ + id: "1CD61C4F273665DE" + item: "gtceu:steam_grinder" + type: "item" + }] + title: "{quests.steam_age.steam_grinder.title}" + x: -25.0d + y: 6.0d + } + { + dependencies: ["32046292AA5B0E30"] + description: ["{quests.steam_age.rotation_speed_controller.desc}"] + id: "414835BADD34513F" + optional: true + subtitle: "{quests.steam_age.rotation_speed_controller.subtitle}" + tasks: [{ + id: "74770DF964D26059" + item: "create:rotation_speed_controller" + type: "item" + }] + title: "{quests.steam_age.rotation_speed_controller.title}" + x: -7.5d + y: 0.0d + } + { + dependencies: [ + "6FFD4990FF07078A" + "3E175E20C91F168B" + ] + description: ["{quests.steam_age.resin_boards.desc}"] + id: "05BE9FE74E4F1AE9" + subtitle: "{quests.steam_age.resin_boards.subtitle}" + tasks: [{ + id: "1367C83F3529D5EA" + item: "gtceu:resin_circuit_board" + type: "item" + }] + title: "{quests.steam_age.resin_boards.title}" + x: -13.5d + y: 9.5d + } + { + dependencies: ["6E8CEE02CB5B678B"] + description: [ + "{quests.metal_age.coke_oven.desc.1}" + "{@pagebreak}" + "{quests.metal_age.coke_oven.desc.2}" + "{@pagebreak}" + "" + "{image:tfg:textures/quests/auto_coke.png width:100 height:100 align:center}" + ] + id: "0D0D461AE3A3F7BF" + size: 1.5d + subtitle: "{quests.metal_age.coke_oven.subtitle}" + tasks: [ + { + id: "1D22CEA76A676434" + item: "gtceu:coke_oven" + type: "item" + } + { + id: "7C2595BA70CBB39E" + item: "gtceu:coke_oven_bricks" + type: "item" + } + { + id: "11981B2183C67CE0" + item: "gtceu:coke_oven_hatch" + type: "item" + } + ] + title: "{quests.metal_age.coke_oven.title}" + x: -14.5d + y: -2.0d + } + { + dependencies: ["033E74BC588E7EAD"] + description: ["{quests.steam_age.packager.desc}"] + icon: "create:package_frogport" + id: "509E85016A2B199C" + shape: "gear" + size: 2.0d + subtitle: "{quests.steam_age.packager.subtitle}" + tasks: [{ + id: "4319E4113F8EBB13" + type: "checkmark" + }] + title: "{quests.steam_age.packager.title}" + x: -19.5d + y: 17.0d + } + { + dependencies: [ + "7B045998769930F0" + "55FDF06AC0C01D0B" + ] + description: ["{quests.steam_age.basic_mech_press.desc}"] + id: "14710C5B4981CECC" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.basic_mech_press.subtitle}" + tasks: [{ + id: "2F89D6D6745465DC" + item: "greate:andesite_alloy_mechanical_press" + type: "item" + }] + title: "{quests.steam_age.basic_mech_press.title}" + x: -17.5d + y: -2.0d + } + { + dependencies: [ + "09D913288896A67A" + "05A39719B66B8F76" + ] + description: [ + "{quests.steam_age.steel_mech_press.desc.1}" + "{@pagebreak}" + "{quests.steam_age.steel_mech_press.desc.2}" + ] + id: "0D39D83AA5F9D543" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.steel_mech_press.subtitle}" + tasks: [{ + id: "32E30B6AC780CAF1" + item: "greate:steel_mechanical_press" + type: "item" + }] + title: "{quests.steam_age.steel_mech_press.title}" + x: -7.5d + y: 4.0d + } + { + dependencies: ["183D47F04CAEBFA7"] + description: ["{quests.steam_age.fuel_sources.desc}"] + icon: "createdeco:decal_fire" + id: "753A53733C6DFA04" + shape: "circle" + subtitle: "{quests.steam_age.fuel_sources.subtitle}" + tasks: [{ + id: "38A3F9A1D2F11EE3" + type: "checkmark" + }] + title: "{quests.steam_age.fuel_sources.title}" + x: -7.5d + y: -2.0d + } + { + dependencies: ["32046292AA5B0E30"] + description: ["{quests.steam_age.large_water_wheel.desc}"] + id: "56A068A5488CB273" + subtitle: "{quests.steam_age.large_water_wheel.subtitle}" + tasks: [{ + id: "5772AD3BB700FD84" + item: "create:large_water_wheel" + type: "item" + }] + title: "{quests.steam_age.large_water_wheel.title}" + x: -3.5d + y: -2.0d + } + { + dependencies: ["2C35D4E01AEC02AA"] + description: ["{quests.steam_age.supers.desc}"] + icon: "gtceu:ulv_super_chest" + id: "671405A9F3A8DFDB" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.supers.subtitle}" + tasks: [{ + id: "5F5A6967B674C05A" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:ulv_super_chest)item(gtceu:lv_super_chest)item(gtceu:mv_super_chest)item(gtceu:hv_super_chest)item(gtceu:ev_super_chest)item(gtceu:iv_quantum_chest)item(gtceu:luv_quantum_chest)item(gtceu:zpm_quantum_chest)item(gtceu:uv_quantum_chest)item(gtceu:uhv_quantum_chest)item(gtceu:ulv_super_tank)item(gtceu:lv_super_tank)item(gtceu:mv_super_tank)item(gtceu:hv_super_tank)item(gtceu:ev_super_tank)item(gtceu:iv_quantum_tank)item(gtceu:luv_quantum_tank)item(gtceu:zpm_quantum_tank)item(gtceu:uv_quantum_tank)item(gtceu:uhv_quantum_tank))" + } + } + title: "{quests.steam_age.supers.task}" + type: "item" + }] + title: "{quests.steam_age.supers.title}" + x: -12.0d + y: 13.0d + } + ] + subtitle: ["{quests.steam_age.subtitle}"] + title: "{quests.steam_age}" +} diff --git a/kubejs/assets/tfg/blockstates/smr_generator.json b/kubejs/assets/tfg/blockstates/smr_generator.json new file mode 100644 index 000000000..75bf94810 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/smr_generator.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/smr_generator", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/smr_generator" + }, + "facing=south": { + "model": "tfg:block/machines/smr_generator", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/smr_generator", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/smr_generator.json b/kubejs/assets/tfg/models/block/machines/smr_generator.json new file mode 100644 index 000000000..bc0f0fd56 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/smr_generator.json @@ -0,0 +1,90 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:smr_generator", + "texture_overrides": { + "all": "tfg:block/casings/machine_casing_desh_ptfe" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_paused_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_desh_ptfe", + "overlay_front": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/gcym/large_centrifuge/overlay_front_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/smr_generator.json b/kubejs/assets/tfg/models/item/smr_generator.json new file mode 100644 index 000000000..1d79809a3 --- /dev/null +++ b/kubejs/assets/tfg/models/item/smr_generator.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/smr_generator" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.btx_fuel.png b/kubejs/assets/tfg/textures/block/fluids/fluid.btx_fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..74cc019262b5a6756fac4bbc37fb682d244f3bba GIT binary patch literal 26304 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Ô{hjsFB?9qE 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 z𝔨ZTq`dc12w>XZJ=u`@3t-oHO;IkDt30K99{RKlk#AVCqZDd*7dS-b?J_pHfkC zV}i_4{=z7WSqIr;Zb=j@)_#=u^6saH|JT3tnSR@1oyMKpJPebJGG~TpoSb;->7>8^ z-cKr;`uJ2(XHM?I9Wz)M&y6=I#xC(@yN|I6Q6T*6GtmZ+|mSXXf^o0(}Yr?YHOGZEp(tuF%S*cz)ugZCh_?$Sc%;nRMS)-tTipd&H~b z6Zp2@N{iicA~{XAY~Rx27q+6OC2~*hNq&3QS0OH|Zp{;qH#0u0iFEif%_m^{j}>gE zg9O^uEuS6R95vH&NB!d;CWfblmRdf#_V~J=OU<`QXYBTNuY3D5Oa9W zwsM-l>$wk-Io@4(HTAA-uWahY2km?Qt<8VGvL)?J)Qm^R3YIlq@|*ogZ_DbR3X{Vs zO2SU=k?!+rJ2_t3l0za}Pe6#5z?rs)*%n z(+@Fijylf3oCQqUeJxC7N0WHdw?u9{-gizg$zY1dw(j#OiaOOvFPGhze>{K56xRFh z$qrhJ@2GuIncU!W$!yzY_wSsWpX+@7yhg%iwXM2m(s>Q?nU+$VJ;vVq7^y+>9b{~Id6CBzFyrX@mMGS`t`)W(Klj^4{h$@sdyij zqsDc{Kc<_kiLUW@>-ng`O{})X@<&HB z*W)=qPcksDC4=q=DBrn8Vfsan!&cI(b4o5hxD=6@nVr-AS4_|}t+Z^7|Ey=r4`rl9 z)?eNx{EAoapW`Yk&xy}xo7A`$Z@Rxos$=SX2|?Q#O*Na|PTa>KW7x^#`0_}l)17K} z1^0VZO3PRp+ICbZN+_x*8T-G{bU1OHD~&}e==Q;TOW)>r3N$_V*5JG8MC_Y{YWWn~ zBssa0ox&SK_22DYye~BB*N=Afyi5J95}7wsY}^cFpZac?<8f=->s4Fd**U!Xde2GX zpT(^0FV-|vo#1$qGxg({k0(Q}s(Wpd-ZO2}<kzx3!m()r?~$V8x{qRG z{@;@0PZCp=Nqc>2WB$VVUq2nH`+w+E-hu=PyFEOQ_rH34%`few(}Kc_ce=lpGQDMY zpHwt=Cx`BF`Qo2@{pZZRX5LIYS>SVi#0#?PF}Wh?xuB_`IArH4Lrh-zdyuPX6dErHz)sD9K1d$$VZ~U+gQeW zQsGtEf&;A~+jd2pMlJQ%ag%&{zB01cKQ27%zQ5Pftb)Gz3z!{G++Yw{^Ecw!#AgDw zYa>msHrmPWILvxqYeHO6Y0v!A&%W=ffAS?_YG2xv+I^x2o+xQ#t+-VDck7R2ng5NK zwVU6WuBpya==1ZMUTCwq#UM1(V}C?skjXtK zta{Y~=k3AYmaVzA^3TQPxAms&JQncHFMNvM%(g3anP0w}c0MZ*I`!X5X2M*RYbD*` zu6I``bg$@{6{Li_$#bTL^6T{JAzuV#oBvbawL@rm>H% z80Xc6EQ@0`eBs0r?s+)U^w}?#z*~vmocJq(zinDSZ=ZEMlT@4Rozpg64%suG-d4@M zc%W-Fx5*q+Prk1AJYI+X)JD}eW*wUF=0McxtA;JtD^pkc7czD#+_bx`@NK*OwZ95C zPDYi#j+^__SW=>jmg{O)bWBt# z$lU!l@ZbloAMD@Ps76H3tcp}C)Om50!+nt)!=3|g799MwAm)Yt)?;NdA8I1ojGOEp zzn}dxAoa`+HO0+G55I0-de^99mGi0l)4x{A$tgUJGIPFJ)a_OuwYqrHD(}f=$NHz4 z#x9$>S3x^xUF&y+`{xs{WHg^UsS~XGKD0dZwBpZe4Oh<@@n>hLRpzLkeHSsyuqC8f z`Y5Bv$*pQ98K%BV`FQlJ_?(R_J)LIkoic7}@jX(LTxPiL2s|Emr@FkM`=zIs@}(8) z`n#A7v9sif3?z~N=MXb)2y^jn64}}G8?tZg?@gdKt5Duq9 zx9u*RI)9Hr;zp8=+Wl3A&X50C=`g>Mx!}oWGXD{NLrkpSHOY5KN!z0f>#YCRW-Ew&60iLppJEWLXHTqUt%C { + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration/4*3) + }) + // Allow oil in small boilers event.remove({ id: "gtceu:large_boiler/gtceu_oil" }) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index c4bbf5de1..54e74632f 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -6,14 +6,14 @@ function registerTFGEarlyGasRecipes(event) { // New Fuels - // Syngas + //#region Syngas event.custom({ type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'minecraft:charcoal' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 100 }], heatRequirement: "heated", - processingTime: 750 + processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_charcoal') event.custom({ @@ -21,7 +21,7 @@ function registerTFGEarlyGasRecipes(event) { ingredients: [{ item: 'minecraft:coal' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 200 }], heatRequirement: "heated", - processingTime: 750 + processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_coal') event.custom({ @@ -29,7 +29,7 @@ function registerTFGEarlyGasRecipes(event) { ingredients: [{ item: 'gtceu:coke_gem' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 400 }], heatRequirement: "heated", - processingTime: 750 + processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_coke') event.custom({ @@ -37,151 +37,153 @@ function registerTFGEarlyGasRecipes(event) { ingredients: [{ item: 'beneath:cursecoal' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 400 }], heatRequirement: "heated", - processingTime: 750 + processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_anthracite') event.recipes.gtceu.brewery('tfg:syngas_from_charcoal') .itemInputs('minecraft:charcoal') .inputFluids('gtceu:creosote 250') .outputFluids('tfg:syngas 100') - .duration(20*10) - .EUt(2) + .duration(20*15) + .EUt(GTValues.VHA[GTValues.LV]) event.recipes.gtceu.brewery('tfg:syngas_from_coal') .itemInputs('minecraft:coal') .inputFluids('gtceu:creosote 250') .outputFluids('tfg:syngas 200') - .duration(20*10) - .EUt(2) + .duration(20*15) + .EUt(GTValues.VHA[GTValues.LV]) event.recipes.gtceu.brewery('tfg:syngas_from_coke') .itemInputs('gtceu:coke_gem') .inputFluids('gtceu:creosote 250') .outputFluids('tfg:syngas 400') - .duration(20*10) - .EUt(2) + .duration(20*15) + .EUt(GTValues.VHA[GTValues.LV]) event.recipes.gtceu.brewery('tfg:syngas_from_anthracite') .itemInputs('beneath:cursecoal') .inputFluids('gtceu:creosote 250') .outputFluids('tfg:syngas 400') - .duration(20*10) - .EUt(2) + .duration(20*15) + .EUt(GTValues.VHA[GTValues.LV]) + + //#endregion //#region Reformate Gas // Charcoal event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_charcoal') - .itemInputs(Item.of('minecraft:charcoal', 24)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) - .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 3200), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*600) + .itemInputs(Item.of('minecraft:charcoal', 40)) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 4400), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*150) .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_charcoal_hydrogen') - .itemInputs(Item.of('minecraft:charcoal', 24)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .itemInputs(Item.of('minecraft:charcoal', 40)) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) .perTick(true) .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) - .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 3200), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*200) + .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 4400), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*50) .circuit(2) - .EUt(GTValues.VHA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) // Coal event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coal') .itemInputs(Item.of('minecraft:coal', 10)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) - .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*600) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*150) .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coal_hydrogen') .itemInputs(Item.of('minecraft:coal', 10)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) .perTick(true) .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) - .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*200) + .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*50) .circuit(2) - .EUt(GTValues.VHA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) // Coke event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coke') - .itemInputs(Item.of('gtceu:coke_gem', 5)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) - .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*600) + .itemInputs(Item.of('gtceu:coke_gem', 8)) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*150) .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_coke_hydrogen') - .itemInputs(Item.of('gtceu:coke_gem', 5)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .itemInputs(Item.of('gtceu:coke_gem', 8)) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) .perTick(true) .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) - .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*200) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*50) .circuit(2) - .EUt(GTValues.VHA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) // Anthracite event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_anthracite') .itemInputs(Item.of('beneath:cursecoal', 5)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) - .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*600) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*150) .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) event.recipes.gtceu.coal_liquefaction_tower('tfg:raw_aromatic_mix_anthracite_hydrogen') .itemInputs(Item.of('beneath:cursecoal', 5)) - .inputFluids(Fluid.of('gtceu:creosote', 1000)) + .inputFluids(Fluid.of('gtceu:creosote', 4000)) .perTick(true) .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) - .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 1000)) - .duration(20*200) + .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) + .duration(20*50) .circuit(2) - .EUt(GTValues.VHA[GTValues.LV]) + .EUt(GTValues.VHA[GTValues.MV]) // Aromatic Processing event.recipes.gtceu.chemical_reactor('tfg:aromatic_feedstock') - .inputFluids(Fluid.of('tfg:raw_aromatic_mix', 1000), Fluid.of('gtceu:benzene', 525), Fluid.of('gtceu:steam', 1000)) - .outputFluids(Fluid.of('tfg:aromatic_feedstock', 1000)) + .inputFluids(Fluid.of('tfg:raw_aromatic_mix', 4000), Fluid.of('gtceu:benzene', 525), Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('tfg:aromatic_feedstock', 2000)) .duration(20*30) .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.chemical_reactor('tfg:reformed_aromatic_feedstock') - .chancedInput(Item.of('gtceu:tiny_rhenium_dust'), 100, 0) // 1% chance - .inputFluids(Fluid.of('tfg:aromatic_feedstock', 1000)) - .outputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 1000)) + .chancedInput(Item.of('gtceu:tiny_rhenium_dust'), 1000, 0) // 10% chance + .inputFluids(Fluid.of('tfg:aromatic_feedstock', 2000)) + .outputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 2000)) .duration(20*18) .EUt(GTValues.VA[GTValues.MV]) // Reformate Gas Alternative Step event.recipes.gtceu.cracker('tfg:reformate_gas_cracker') - .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 1000), Fluid.of('gtceu:steam', 2000)) - .outputFluids(Fluid.of('tfg:reformate_gas', 2000)) + .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*60) + .duration(20*30) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.chemical_reactor('tfg:reformate_gas') - .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 1000), Fluid.of('gtceu:steam', 1000)) - .outputFluids(Fluid.of('tfg:reformate_gas', 2000)) - .duration(20*60) + .inputFluids(Fluid.of('tfg:reformed_aromatic_feedstock', 2000), Fluid.of('gtceu:steam', 1000)) + .outputFluids(Fluid.of('tfg:reformate_gas', 3000)) + .duration(20*30) .EUt(GTValues.VA[GTValues.MV]) // Recycling @@ -189,7 +191,7 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.electrolyzer('tfg:cracker_off_gas_recycling') .inputFluids(Fluid.of('tfg:cracker_off_gas', 1000)) .outputFluids(Fluid.of('gtceu:carbon_dioxide', 500), Fluid.of('gtceu:hydrogen', 500)) - .chancedOutput(Item.of('gtceu:tiny_rhenium_dust'), 100, 0) // 1% chance + .chancedOutput(Item.of('gtceu:tiny_rhenium_dust'), 1000, 0) // 10% chance .duration(20*4.5) .EUt(GTValues.VA[GTValues.HV]) @@ -204,15 +206,24 @@ function registerTFGEarlyGasRecipes(event) { //#endregion + //#region Rebalance Fuel + // Increase Pyrolyse Oven duration + event.forEachRecipe({ id: /gtceu:pyrolyse_oven\/(log_to_creosote|log_to_creosote_nitrogen)/ }, recipe => { + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration*2) + }) + + event.forEachRecipe({ id: /gtceu:pyrolyse_oven\/(log_to_wood_tar|log_to_wood_tar_nitrogen)/ }, recipe => { + var newDuration = recipe.get("duration") + recipe.set("duration", newDuration*2) + }) + + //#region New Power Generation + // Add Syngas - event.recipes.gtceu.steam_boiler('tfg:syngas') // Small Boiler and Large Boiler divided by 4 - .inputFluids(Fluid.of('tfg:syngas', 100)) - .duration(40*20*4) - .dimension('minecraft:overworld') - event.recipes.gtceu.gas_turbine('tfg:syngas') // Gas Turbine .inputFluids(Fluid.of('tfg:syngas', 1)) .EUt(-(32)) @@ -223,6 +234,12 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.gas_turbine('tfg:reformate_gas') // Gas Turbine .inputFluids(Fluid.of('tfg:reformate_gas', 1)) .EUt(-(32)) - .duration(20*1) + .duration(20*0.6) + + //#endregion + + // Process Syngas + + } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index d995a8d57..6bef61a11 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -468,7 +468,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).setMinGlobalLimited(1).setMaxGlobalLimited(2).setPreviewCount(1)) + .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1).setPreviewCount(1)) .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/tfg/materials.power_rework.js b/kubejs/startup_scripts/tfg/materials.power_rework.js index 254efef25..7c062d24b 100644 --- a/kubejs/startup_scripts/tfg/materials.power_rework.js +++ b/kubejs/startup_scripts/tfg/materials.power_rework.js @@ -8,8 +8,6 @@ const registerTFGPowerReworkMaterials = (event) => { .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(650)) .components('11x carbon', '20x hydrogen', '12x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x7da6c2) - .secondaryColor(0xcfe3ee) // Raw Aromatic Mix event.create('tfg:raw_aromatic_mix') @@ -40,8 +38,6 @@ const registerTFGPowerReworkMaterials = (event) => { .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) .components('13x carbon', '63x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0x6c7f4e) - .secondaryColor(0xc7d8b1) // Cracker Off-Gas event.create('tfg:cracker_off_gas') @@ -51,4 +47,9 @@ const registerTFGPowerReworkMaterials = (event) => { .color(0xa36f2a) .secondaryColor(0xecd8ae) + // Reformate Gas + event.create('tfg:btx_fuel') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + } diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index b2eb4b3df..8da8a343d 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -3,16 +3,6 @@ const registerTFGNuclearMaterials = (event) => { - // Fission Component - - event.create('tfg:tetrafluoroethane') - .fluid() - .gem() - .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) - .iconSet(GTMaterialIconSet.QUARTZ) - .components('2x carbon', '2x hydrogen', '4x fluorine') - .color(0x46702e) - /* event.create('mysterious_ooze') .fluid() .color(0x500bbf) @@ -33,11 +23,18 @@ const registerTFGNuclearMaterials = (event) => { //#region Fluid + // Steam + event.create('dense_steam') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) .components('2x hydrogen', '1x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + event.create('critical_steam') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) + .components('2x hydrogen', '1x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + event.create('radioactive_steam') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) .components('1x water', '1x unknown') @@ -53,6 +50,8 @@ const registerTFGNuclearMaterials = (event) => { .components('1x water', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + // Coolant + event.create('tfg:heavy_water') .liquid(new GTFluidBuilder().temperature(236)) .components('2x deuterium', '1x oxygen') @@ -65,6 +64,20 @@ const registerTFGNuclearMaterials = (event) => { .color(0xb5ffff) .secondaryColor(0x81FFF9) + event.create('tfg:boron_enriched_coolant') + .liquid(new GTFluidBuilder().temperature(213)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x43D6E4) + .secondaryColor(0x2C9AAF) + + event.create('tfg:hot_boron_enriched_coolant') + .liquid(new GTFluidBuilder().temperature(2000)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xFF715B) + .secondaryColor(0xFF9D6E) + + // Fision Waste + event.create('uranium_waste') .liquid(new GTFluidBuilder().customStill().temperature(3850)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) @@ -76,6 +89,8 @@ const registerTFGNuclearMaterials = (event) => { .components('1x thorium', '1x uranium', '1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + // Plutonium Line + event.create('dirty_hexafluorosilicic_acid') .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) .components('2x hydrogen', '1x silicon', '6x fluorine', '1x unknown') @@ -103,6 +118,22 @@ const registerTFGNuclearMaterials = (event) => { .components('2x tritium', '1x oxygen') .color(0xb2c3e7) + event.create('tfg:tetrafluoroethane') + .fluid() + .gem() + .flags(GTMaterialFlags.DISABLE_MATERIAL_RECIPES, GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.QUARTZ) + .components('2x carbon', '2x hydrogen', '4x fluorine') + .color(0x46702e) + + event.create('tfg:booster_t3') + .fluid() + .color(0xb2c3e7) + + event.create('tfg:polyalkylene_lubricant') + .fluid() + .color(0xb2c3e7) + // FLiBe Line event.create('raw_rich_brine') @@ -153,7 +184,7 @@ const registerTFGNuclearMaterials = (event) => { event.create('tfg:oxidized_nuclear_residue') .dust() - .components('1x plutonium', '2x fluorine', '1x oxygen', '2x unknown') + .components('1x uranium', '1x oxygen', '2x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .iconSet(GTMaterialIconSet.SHINY) .color(0x286529) @@ -162,7 +193,7 @@ const registerTFGNuclearMaterials = (event) => { event.create('tfg:refined_nuclear_residue') .dust() - .components('1x plutonium', '2x unknown') + .components('1x uranium', '2x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x82c383) .secondaryColor('0xffffff') @@ -215,8 +246,155 @@ const registerTFGNuclearMaterials = (event) => { .color(0x694c66) .radioactiveHazard(1000) + event.create('tfg:americium_241') + .ingot() + .element(GTElements.get("americium_241")) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + .flags(GTMaterialFlags.GENERATE_ROD) + .color(0x0600ff) + .secondaryColor(0x1b1d36) + .radioactiveHazard(1000000) + + event.create('tfg:neptunium_237') + .ingot() + .element(GTElements.get("neptunium_237")) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + .flags(GTMaterialFlags.GENERATE_ROD) + .color(0x00df98) + .secondaryColor(0xffffff) + .radioactiveHazard(5000000) + + event.create('tfg:californium_252') + .ingot() + .element(GTElements.get("californium_252")) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + .flags(GTMaterialFlags.GENERATE_ROD) + .color(0xffba00) + .secondaryColor(0xdfffff) + .radioactiveHazard(10000000) + //#endregion + //#region Isotopic Solvent + + // 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) + .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) + .iconSet(GTMaterialIconSet.EMERALD) + + // Sodium Fluoride + event.create('tfg:sodium_fluoride') + .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) + .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) + + // Degraded Solvent Stream + event.create('tfg:degraded_solvent_stream') + .liquid(new GTFluidBuilder().temperature(350)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x8b4513) + .secondaryColor(0xd2b48c) + + // Inert Dust Fraction + event.create('tfg:inert_dust_fraction') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xaaaaaa) + .secondaryColor(0x555555) + .iconSet(GTMaterialIconSet.RADIOACTIVE) + .radioactiveHazard(10000) + + // Residual Sludge + event.create('tfg:residual_sludge') + .liquid(new GTFluidBuilder().temperature(300)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x4b0082) + .secondaryColor(0x8a2be2) + + // Gas Fraction + event.create('tfg:gas_fraction') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(400)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xcccccc) + .secondaryColor(0x999999) + + // Organic Degradation Slurry + event.create('tfg:organic_degradation_slurry') + .liquid(new GTFluidBuilder().temperature(300)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x556b2f) + .secondaryColor(0x8fbc8f) + + // Recovered Ionic Complex + event.create('tfg:recovered_ionic_complex') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xffff00) + .secondaryColor(0xffa500) + .iconSet(GTMaterialIconSet.SAND) + + // Mixed Radioactive Fluid + event.create('tfg:mixed_radioactive_fluid') + .liquid(new GTFluidBuilder().temperature(300)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xff4500) + .secondaryColor(0xff6347) + + + }; //#region Fuel Pellet @@ -260,9 +438,12 @@ 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); + 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 -}); \ No newline at end of file + fuel("americium_241_rod", 1000000, 1, 0.5); + fuel("neptunium_237_rod", 50000, 1, 2); + fuel("californium_252_rod", 500000, 1, 4); +}); From 55702c1115d0baf9f2335f42d7cea3f3baa40d3c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 17:09:55 +0000 Subject: [PATCH 234/628] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fac8497b5..ef46d44f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie ### Mod updates - Added TFC Gurman, which adds even more food and drink +- Primitive Creatures has fixed its spawning of Huntmasters - New GregTech updates, both [7.3.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.3.0-1.20.1) and [7.4.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.4.0-1.20.1). TL;DR: - You can use screwdrivers on drums again - Diluted hydrochloric acid distillation circuits have been swapped, so now it's consistent with diluted sulfuric acid From c866c70905c0a13e60bd04de81e5c6698c19961d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 17:23:19 +0000 Subject: [PATCH 235/628] langs --- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/assets/tfg/lang/en_us.json | 104 ++++++++++++++++++++++++---- kubejs/assets/tfg/lang/fr_fr.json | 6 +- kubejs/assets/tfg/lang/ru_ru.json | 2 +- 4 files changed, 95 insertions(+), 18 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 7a05e10c7..160719b28 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -51,6 +51,7 @@ "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", "gtceu.coal_liquefaction_tower": "Coal Liquefaction", + "gtceu.smr_generator": "Small Modular Turbine", "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/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ffb65b57e..3d3422f18 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -654,6 +654,8 @@ "block.tfg.nuclear_turbine": "Nuclear Steam Turbine", "block.tfg.evaporation_tower": "Evaporation Tower", "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.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Sample Rack", "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizing Pipes", @@ -1163,6 +1165,26 @@ "material.tfg.reformed_aromatic_feedstock": "Reformed Aromatic Feedstock", "material.tfg.reformate_gas": "Reformate Gas", "material.tfg.cracker_off_gas": "Cracked Reformate Off-Gas", + "material.tfg.btw_fuel": "BTX Gas", + "material.tfg.critical_steam": "Critical Steam", + "material.tfg.americium_241": "Americium-241", + "material.tfg.californium_252": "Californium-252", + "material.tfg.neptunium_237": "Neptunium-237", + "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.isotopic_solvent": "Isotopic Solvent", + "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.organic_stabilizer": "Organic Stabilizer", + "material.tfg.inert_dust_fraction": "Inert Fraction", + "material.tfg.recovered_ionic_complex": "Recovered Ionic Complex", "material.tfg.glucose": "Glucose", "material.tfg.galactose": "Galactose", "material.tfg.fructose": "Fructose", @@ -1508,8 +1530,10 @@ "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 4096 EU/t", + "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", + "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.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", @@ -1523,6 +1547,13 @@ "tfg.gui.menu.field_guide_splash_text": "Tip: Read the field guide!!!", "tfg.gui.menu.ram_usage": "RAM:", "tfg.gui.menu.fps_count": "FPS:", + "tfg.gui.smr_generator.credit": "Credits to Frontiers Team", + "tfg.gui.smr_generator.lubricant_used": "Lubricant: %s", + "tfg.gui.smr_generator.booster_used": "Booster: %s", + "tfg.gui.max_energy_per_tick_amps.prefix": "Max EU/t:", + "tfg.gui.consumes": "Consumes: ", + "tfg.gui.per_cycle": "per cycle", + "tfg.gui.cycle_duration": "Cycle duration: ", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", @@ -2093,7 +2124,7 @@ "quests.extreme_voltage.tunsgten_line_step.title": "Looping Soda Ash", "quests.extreme_voltage.tunsgten_line_step.subtitle": "You may not want to mine it forever", "quests.extreme_voltage.tunsgten_line_step.desc.1": "Looping the &5Tungsten Line&r perfectly isn’t the easiest task, so we’ll use this quest to guide you in the right direction.\n\nThe &bSalt&r you obtain should be combined with &aCarbon Dioxide&r and &6Ammonia&r to produce &3Ammonium Chloride&r, which you can then electrolyze to recycle your &6Ammonia&r and obtain the &9Hydrochloric Acid&r needed for &eSodium Tungstate&r.\n\nThis process also produces &bSodium Bicarbonate&r, which you should electrolyze to recover your &dSoda Ash&r.", - "quests.extreme_voltage.tunsgten_line_step.desc.2": "Finally, to close the loop, you need to manage your &aCarbon Dioxide&r. You can either split a portion of your &dSoda Ash&r and electrolyze it to recover &aCarbon&r and &9Oxygen&r, allowing you to get back some &aCarbon Dioxide&r, or brute force it by using &bLiquid Air&r distillation to produce an infinite supply of &aCarbon Dioxide&r.", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "Finally, to close the loop, you need to manage your &aCarbon Dioxide&r. You can electrolyze the &dSodium Bicarbonate&r and &aCarbon Dioxide&r and combine the the &bCarbon&r and &bOxygen&r you got from Calcilte and Lithium. Or brute force it by using &bLiquid Air&r distillation to produce an infinite supply of &aCarbon Dioxide&r.", "quests.extreme_voltage.tunsgten_line_step_1.title": "The new Tungsten Line", "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "Why? Just why?", "quests.extreme_voltage.tunsgten_line_step_1.desc": "The &eTungsten Line&r in TerraFirmaGreg has been completely reworked and you’ll be happy (or not) to know that it’s now &cmuch harder&r.\n\nIt’s possible to &afully loop&r every material in the Tungsten Line, but doing so requires a lot of engineering. Alternatively, you can brute-force your way through by &cmass-producing&r the resources you need.\n\nA little tip: &4Mars&r has several &agood ore veins&r for &eSoda Ash&r and &eTungsten&r.\n\nTake your time, optimize, and the Tungsten Line will become the foundation of your mid-to-late game progress.", @@ -2173,6 +2204,7 @@ "quests.gregtech_energy.lv_generator.desc.2": "&e1. Steam Power&r:\n\nThis is the most classic method. You can convert the steam produced by your High Pressure Boilers into EU using a Steam Turbine.\n\nIt generates &e32 EU/t&r with &e64 mB/t&r of steam. If you follow this path, we highly recommend making a Large Bronze Boiler, which can easily be fueled with Lava, Creosote, or other burnable solid fuels (check JEI!).", "quests.gregtech_energy.lv_generator.desc.3": "&e2. Rotational Power&r:\n\nYou can use Create's rotational power with an Alternator to generate RF, then convert it into EU using an &7LV&r Converter.\n\n(Check the Alternators quest in the LV Chapter for more details.)", "quests.gregtech_energy.lv_generator.desc.4": "&e3. Biodiesel Power (TFG Exclusive)&r:\n\nCanola and Sunflowers can be processed into large amounts of Seed Oil. Combine it with TFC Alcohol to produce Biodiesel.\n\nThis method may seem more complex, but Biodiesel is extremely powerful during &7LV&r and &bMV&r tiers. It scales well into &5EV&r with &eCetane-Boosted Diesel&r later on.\n\nTo use Biodiesel, you’ll need a &7LV&r Combustion Generator. While it may be slightly more expensive, every mB of Biodiesel provides a high amount of EU, making it easier to transport and store.\n\nIt's your choice how you want to start your energy production.", + "quests.gregtech_energy.lv_generator.desc.5": "&e4. Syngas Power (TFG Exclusive)&r:\n\nWith the help of the &6Coke Oven&r and a &6Vacuum Chamber&r, you can obtain this early-game gas. It is not the strongest option, but it is sufficient if you want to follow a &eGas-Only&r power path. A &6Create&r-based tree farm is highly recommended to get the best efficiency out of it.", "quests.gregtech_energy.lv_generator.task": "Any LV Generator", "quests.gregtech_energy.mv_generator.title": "The MV Generators", "quests.gregtech_energy.mv_generator.subtitle": "Basically the same as the LV ones", @@ -2213,9 +2245,35 @@ "quests.gregtech_energy.lpt_fuel.task": "I don't want to make a bucket of Plasma", "quests.gregtech_energy.lgt_fuel.title": "Gas Fuels", "quests.gregtech_energy.lgt_fuel.subtitle": "Everyone's favorite", - "quests.gregtech_energy.lgt_fuel.desc.1": "When we speak about gas fuels, we’re really talking about just one — &eNitrobenzene&r.\n\nYou’ll be able to produce it once you reach &6HV&r, and we &astrongly recommend it&r if you’re planning to use the Large Gas Turbine.\n\nBefore reaching Nitrobenzene, &eBenzene&r is a solid option to get started. You can obtain it from a tree farm or by processing Heavy Oil, if you’re lucky enough to have some nearby.", - "quests.gregtech_energy.lgt_fuel.desc.2": "Making Nitrobenzene involves several steps — until you craft your first Large Chemical Reactor (LCR), which will let you skip many sub-steps and simplify the process.\n\nIt’s nothing too complicated: combine Hydrogen, Nitrogen, and Oxygen to make &eNitric Acid&r in infinite quantities. As for Sulfuric Acid, you probably already know it’s just Sulfur and Water — right?\n\nOnce you get this chain going, Nitrobenzene becomes one of the most powerful fuels for gas burning.", + "quests.gregtech_energy.lgt_fuel.desc.1": "All of these fuels are used for &2Gas Turbines&r — ranked here from the least efficient to the best.\n\nThe &bGas Turbine&r is overall a bit cheaper than its counterpart, the &bCombustion Generator&r, but &eGas Fuels&r are also less energy-dense than combustion fuels. This does not mean they are worse — only that you will need more millibuckets (mB) to achieve the same output. Later in progression, they can be used inside the &2Large Gas Turbine&r, a very powerful multiblock that requires a bit more management.", + "quests.gregtech_energy.lgt_fuel.desc.2": "In TerraFirmaGreg, &eGas Fuels&r have been widely rebalanced. &6We do not recommend relying on &eBenzene&r or &eNitrobenzene&r, as they have been heavily nerfed.&r At the start of &7LV&r, we advise using &eSyngas&r or &eLPG&r if you want to process your Oilsands. Later on, you can upgrade to &eReformate Gas&r at &bMV&r and further improve its production once you unlock the &2Cracker&r.", "quests.gregtech_energy.lgt_fuel.task": "Gas in a bucket?", + "quests.gregtech_energy.syngas.title": "Syngas", + "quests.gregtech_energy.syngas.subtitle": "I can get Gas fuel at LV?", + "quests.gregtech_energy.syngas.desc": "The &eSyngas&r is a new TFG gas fuel. You can unlock it very early at &8ULV&r and use it in your first &6Gas Turbines&r during &7LV&r. It is not a particularly strong fuel, but it can be transformed into valuable byproducts such as &eLubricant&r, &eMethane&r, and &eHydrogen&r.\n\nEven though it is not the most powerful option and can be difficult to scale, using only three &6Coke Ovens&r and one &6Brewery&r or &6Vacuum Chamber&r you can produce a steady supply that should be sufficient to reach &bMV&r and unlock the far stronger &eReformate Gas&r.", + "quests.gregtech_energy.reformate_gas.title": "Reformate Gas", + "quests.gregtech_energy.reformate_gas.subtitle": "Is that reformate Benzene?", + "quests.gregtech_energy.reformate_gas.desc.1": "The &9Reformate Gas&r is a strong and new gas fuel taking the usual role of Benzene at &bMV&r.\n\nTo produce it, you will need to build a &6Coal Liquefaction Tower&r and obtain some &5Rhenium&r from the &6Tarkianite&r veins found only in dry and hot climates. Two &6Pyrolyse Ovens&r — one producing Creosote and the other Wood Tar — will provide all the materials required to generate this fuel. Remember that you can produce steam with a &6Fluid Heater&r if you want to simplify the setup.", + "quests.gregtech_energy.reformate_gas.desc.2": "It is also important to consider the improved yield available at &6HV&r when using a &6Cracker&r. This will allow you to loop most of your &5Rhenium&r, making Reformate Gas effectively an infinite fuel.\n\nAdding &9Nitrogen&r and &9Hydrogen&r to the process will further strengthen your production throughput.", + "quests.gregtech_energy.btx.title": "BTX", + "quests.gregtech_energy.btx.subtitle": "Not a korean band", + "quests.gregtech_energy.btx.desc": "The BTX Fuel is NYI", + "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.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.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, &8Naphtha&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.", + "quests.gregtech_energy.high_gasoline.title": "High Octane Gasoline (HOG)", + "quests.gregtech_energy.high_gasoline.subtitle": "Highly Powerful", + "quests.gregtech_energy.high_gasoline.desc": "The direct upgrade of &cGasoline&r is a &5two times more powerful fuel&r. As the name doesn't suggest, you have to add not only &dOctane&r but also other materials from &8Petrochem&r. At that point, we expect you to be able to navigate through &bEMI&r and begin the fabrication of this insanely strong fuel.", "quests.gregtech_energy.lst_fuel.title": "This is Steam", "quests.gregtech_energy.lst_fuel.subtitle": "Not much of a choice", "quests.gregtech_energy.lst_fuel.desc": "Steam isn’t complicated — just boil water.\n\nTo do it efficiently, we recommend using &6Large Boilers&r. There's four versions: one each for &8ULV&r, &bMV&r, &5EV&r, and &1IV&r. Each tier provides a strong increase in steam output.\n\nHowever, be aware: the scaling of the &dLarge Steam Turbine&r with these boilers is not the best compared to other power generation methods.\n\nMost players will skip the Titanium and Tungstensteel Boilers — they exist if you want them, but aren’t worth building. Steam just doesn't scale very well!\n\nAs a reminder: &e2 mB&r of steam = &e1 EU&r.", @@ -2223,7 +2281,7 @@ "quests.gregtech_energy.lst_fuel.task.1": "Large Boilers", "quests.gregtech_energy.lce_fuel.title": "Liquid Fuel", "quests.gregtech_energy.lce_fuel.subtitle": "The polluter's favourite", - "quests.gregtech_energy.lce_fuel.desc.1": "All of these fuels are used for &6Combustion Generators&r — ranked here from the least efficient to the best.\n\nDuring &bMV&r, we recommend starting with Diesel or Biodiesel. Later on, you can upgrade to Cetane-Boosted Diesel at &6HV&r by mixing it with Nitrogen, Hydrogen, and Oxygen.", + "quests.gregtech_energy.lce_fuel.desc.1": "All of these fuels are used for &6Combustion Generators&r — ranked here from the least efficient to the best.\n\nDuring the early game, we recommend starting with Diesel or Biodiesel. Later on, you can upgrade to Cetane-Boosted Diesel at &6HV&r by mixing it with Nitrogen, Hydrogen, and Oxygen.", "quests.gregtech_energy.lce_fuel.desc.2": "Once you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to Gasoline and High Octane Gasoline. Don’t attempt this too early — oils need to be distilled properly, and doing it with a regular Distillery is not efficient at all.\n\nTo make this work, you'll need a combination of oil distillation and some organic compound processing. Thankfully, a Pyrolyse Oven and a Distillation Tower will handle it all smoothly.\n\nIf you manage a steady supply of High Octane Gasoline, you should be able to finish the entire modpack running only on Combustion Generators.", "quests.gregtech_energy.lce_fuel.task": "I got enough", "quests.gregtech_energy.large_solar.subtitle": "Huge Easy Power", @@ -2269,7 +2327,7 @@ "quests.gregtech_energy.overclock.title": "Overclock", "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", "quests.gregtech_energy.overclock.desc.1": "Have you heard about Overclocking, but don't really understand what it is? Let's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of 32 EU/t — sometimes less, but never more.\n&dMV&r goes up to 128 EU/t.\n&dHV&r reaches 512 EU/t.\nBasically, every tier is a 4x increase in power usage.", - "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 8x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", + "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 16x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Heat Furnace\n- Large Chemical Reactor\n- Electric Greenhouse", "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", @@ -2371,7 +2429,8 @@ "quests.high_voltage.ptfe.subtitle": "A.K.A - Teflon", "quests.high_voltage.ptfe.desc": "&aPolytetrafluoroethylene (PTFE)&r is a &7Carbon&r-&bFluorine&r polymer. Similarly to PVC, PTFE can be used to increase the yield of Plastic Circuit Boards and other crafts. Presently, it is used to make the walls of &3Large Chemical Reactors&r.\n\n&3Chlorine&r is required in the process, which is fully recycled if you electrolyze the &aHydrochloric Acid&r waste.\n\n&bFluorine&r will also be used in the &aUranium&r and &7Naquadah&r refinement processes.\n\n&9Tip:&r From this point onwards, you should be solidifying Polymers as &dBar&r (Ingot) form, as they can easily be shaped to whichever form you will need using the &3Extruder&r.", "quests.high_voltage.nitrobenzene.title": "Benzene Nitro", - "quests.high_voltage.nitrobenzene.desc": "Making &aNitrobenzene&r will boost the energy efficiency of &aBenzene&r roughly &6fourfold&r. You love to see it.\n\nThe catch here is that it takes &dDistilled Water&r, and consumes a bit of &dSulfur&r with every step.", + "quests.high_voltage.nitrobenzene.subtitle": "A shadow of its former self", + "quests.high_voltage.nitrobenzene.desc": "In TerraFirmaGreg, &aNitrobenzene&r and &aBenzene&r have been heavily nerfed. They can still be used as fuel, but now most of their use is as ingredients.\n\nNote that crafting Nitrobenzene consumes a bit of &dSulfur&r with every step.", "quests.high_voltage.lcr.title": "Large Chemical Reactor", "quests.high_voltage.lcr.desc.1": "The &3Large Chemical Reactor (LCR)&r is a multiblock &3Chemical Reactor&r with more input/output slots. Its Teflon casings allow it to process extra recipes.\n\nThe &3LCR&r can perform some exclusive reactions which allow you to combine multiple normal &3Chemical Reactor&r steps into a &6single step&r. Examples below:\n\n&9-&r &aNitrogen Dioxide&r (for Nitric Acid and Dinitrogen Tetroxide)\n&9-&r &aSulfuric Acid&r\n&9-&r &aPhenol&r\n&9-&r &aEpichlorohydrin&r (you need it for Epoxy!)\n&9-&r &aEpoxy&r", "quests.high_voltage.lcr.desc.2": "There are also &3LCR&r exclusive recipes. For example, &dRadon&r can only be made in the LCR right now.\n\nAll &dOverclocks&r in the &3LCR&r are &6100%% efficient&r (known as Perfect overclocks); each overclock will &5quadruple the speed&r, as opposed to doubling it.\n\nThe &3LCR&r has yet another &6advantage&r. You can use &32 Energy Hatches&r to allow it to run recipes of the &5next tier&r, similar to the &3Electric Blast Furnace&r.", @@ -2548,6 +2607,15 @@ "quests.low_voltage.lv_seeds.subtitle": "These are tall plants", "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.desc": "With the help of &7Syngas&r, you now have a viable way to use the &8Gas 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", + "quests.low_voltage.lv_gas_syngas.desc": "Making &7Syngas&r is really easy. You simply need &b3 Coke Ovens&r for each &6Brewery&r or &6Vacuum Chamber&r. Then you collect &7wood&r with the help of a &bCreate Tree Farm&r to minimize the energy costs, and you can enjoy this weak but easy-to-make &7gas fuel&r.", + "quests.low_voltage.lv_naphtha_light.title": "Naphtha and Light Oil", + "quests.low_voltage.lv_naphtha_light.subtitle": "You can make plastic with them", + "quests.low_voltage.lv_naphtha_light.desc": "If you really hate farming and prefer adventuring in the &6desert&r or mining massive amounts of &7Oilsands&r, then maybe &7Naphtha&r (better from &7Raw Oil&r) or &7Light Fuel&r (better from &7Oil&r) should be fuels you could look at.\n\nBeing quite good for how easy they are to produce, they need to be manually harvested at that point though.", "quests.low_voltage.lv_turbo_charge.title": "Turbo Charger", "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.", @@ -2854,17 +2922,25 @@ "quests.medium_voltage.mv_distillery.desc.3": "This doesn't mean that the &3Distillery&r is the worse of the two. It is unlocked earlier, and it is &dsmaller&r, &dcheaper&r, and &dmore energy efficient&r per recipe.\n\nHell, in many cases, you won't even mind losing the other Fluids.\n\n&3Distilleries&r are an essential component for power generation, whether you pick &aDiesel&r or &aBenzene&r.\n\nYou'll probably want many of them at as low-tier as possible to avoid the energy losses from Overclocking.", "quests.medium_voltage.mv_distillery.task": "Either an LV or MV Distillery", "quests.medium_voltage.mv_benzene.title": "The Church of Benzene", - "quests.medium_voltage.mv_benzene.subtitle": "In the end, it's always Benzene", + "quests.medium_voltage.mv_benzene.subtitle": "In the end, it &lwas&r always Benzene", "quests.medium_voltage.mv_benzene.desc.1": "&aBenzene&r is a &9Gas Fuel&r. To skip some frustration, let's check out the two best ways to obtain it.\n\nThe first option is typically &dWood based&r. Put Logs in the &3Pyrolyse Oven&r for &9Wood Tar&r. The Charcoal you obtain can then be processed in &3Extractors&r for even more &9Wood Tar&r, which you &3distill&r for &aBenzene&r.\n\nYour second option is &dHeavy Oil based&r. Put Heavy Oil in a &3Distillery&r for &9Heavy Fuel&r, which you &aseverely steam-crack&r and &3distill&r again for &aBenzene&r.", - "quests.medium_voltage.mv_benzene.desc.2": "For information on how to process Oil, check the Light Fuel and Naphtha Quests.\n\nIn general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aBenzene&r is burned in a &3Gas Turbine&r. This power source starts weaker than its &eDiesel&r cousin, but gets a big boost when refined to &6Nitrobenzene&r in &6HV&r. Ultimately, your power source is your choice.", + "quests.medium_voltage.mv_benzene.desc.2": "For information on how to process Oil, check the Light Fuel and Naphtha Quests.\n\nIn general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aBenzene&r is burned in a &3Gas Turbine&r at a pretty terrible rate. This power source starts weaker than its &eDiesel&r cousin, but can be enhanced by being refined into &6Reformate Gas&r. Ultimately, your power source is your choice.", + "quests.medium_voltage.mv_benzene.desc.3": "&l&3Lore:&r&o Benzene has been one of the most powerful gas fuels since GTCEu - so good that it became a meme. Nowadays, its days are numbered everywhere.", + "quests.medium_voltage.reformate_gas.title": "The Reformate Church", + "quests.medium_voltage.reformate_gas.subtitle": "When one giant falls, a new one arises", + "quests.medium_voltage.reformate_gas.desc": "The &8Reformate Gas&r is your new go-to gas fuel at &bMV&r if that's the path you want to take. For perfect efficiency, you only need &61 Coal Liquefaction Tower&r and &62 Pyrolyze Ovens&r, and you can start producing this precious gas non-stop.\n\nOh wait, first you need to find &5Rhenium&r, a new material only found within the hot and dry region of &7TerraFirmaCraft&r. The amounts consumed are so low that one vein should last you to the end of the modpack, or at the very least to &6HV&r, where - with the help of the &6Cracker&r - this gas can become truly infinite.", "quests.medium_voltage.mv_light_fuel.title": "Light Fuel", - "quests.medium_voltage.mv_light_fuel.subtitle": "Turn up the Lights in here, baby", + "quests.medium_voltage.mv_light_fuel.subtitle": "Turn up the lights in here, baby", "quests.medium_voltage.mv_light_fuel.desc": "Distillating &aOil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aLight Fuel&r is a good &9Power&r option, but there's something even greater... check the Quest to the left.", "quests.medium_voltage.mv_diesel.title": "The Church of Diesel", "quests.medium_voltage.mv_diesel.subtitle": "Mother, how is diesel made?", "quests.medium_voltage.mv_diesel.desc.1": "&aDiesel&r is a &dOil-based &9Combustion Fuel&r.\n\nTo mix &aLight Fuel&r and &aHeavy Fuel&r, the right ratio for &3Distilleries&r is &63:2&r from &dOil&r or &dRaw Oil&r.\n\nThis would necessitate 3 Distilleries for Light Fuel, or 2 Distilleries for Heavy Fuel.", "quests.medium_voltage.mv_diesel.desc.2": "You can cut the amount of &dOil&r required &6drastically&r by using &dHeavy Oil&r for &aHeavy Fuel&r specifically. &dOilsands&r is a great option if you wish to go down this route!\n\n&o(For the math nerds, you go from 8.33 Oil -> 6 Diesel, to 5 Oil + 0.4 Heavy Oil -> 6 Diesel)&r\n\n&eNote:&r Do &cnot attempt&r to put Oil in the &3Distillation Tower&r You might think it's a good idea because it gives both Light Fuel and Heavy Fuel. However, this process requires a lot of overclocking to be worth your time, and you will lose more energy than what the byproducts are worth.", "quests.medium_voltage.mv_diesel.desc.3": "In general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aDiesel&r is burned in a &3Combustion Generator&r. It can be further refined to &6Cetane-Boosted Diesel&r in &6HV&r. Compared to the other power sources, it is generally more efficient, but a more demanding processing line. If you take the &eOil&r route for &aPolyethylene&r, this can work great with existing infrastructure. Ultimately, the power source you want to use is your choice.", + "quests.medium_voltage.coal_tower.title": "Coal Liquefaction Tower", + "quests.medium_voltage.coal_tower.subtitle": "Who doesn't love new Multiblocks", + "quests.medium_voltage.coal_tower.desc.1": "The &bCoal Liquefaction Tower&r is a new &bmultiblock&r used in the process of making &aReformate Gas&r and its byproducts, &7Coal Tar&r and &7Syngas&r. Depending on the &9Coil&r you use, you will get a discount on the &7EU/t&r cost of every recipe. Simply use shift-click while hovering on a coil to know its bonuses.\n\nNotice that the &9Coal Liquefaction Tower&r can be boosted by using &8Hydrogen&r, reducing the duration and therefore the cost. Don't forget to set the right &6circuit&r so it works.\n\nBy the way, if you don't know, a second is 20 ticks. So the amount it consumes per tick has to be multiplied by 20 to know how much it consumes per second.", + "quests.medium_voltage.coal_tower.desc.2": "&l&3Lore:&r&o The same person who made the Fission Reactor also made the first design of the Coal Liquefaction Tower, isn't it crazy.", "quests.medium_voltage.mv_jetpack.title": "I Believe I Can Fly", "quests.medium_voltage.mv_jetpack.subtitle": "...well, almost Fly", "quests.medium_voltage.mv_jetpack.desc": "This Jetpack takes most &aCombustion Fuels&r (excluding oils) to enable a primitive form of flight.\n\nFill it like you would fill a Drum, or with a &3Canning Machine&r.\n\nPress &4H&r (default) to enable Hover Mode.", @@ -2895,7 +2971,7 @@ "quests.medium_voltage.mv_aciditic.title": "It will Melt Your Flesh", "quests.medium_voltage.mv_aciditic.subtitle": "...if you don't read this quest.", "quests.medium_voltage.mv_aciditic.desc.1": "You may notice that some fluids say they are &aAcidic&r, with &9Sulfuric Acid&r being one of them.\n\nThis means that many fluid pipes will not be able to transport them safely!\n\nAt &bMV&r, the cheapest pipes for acid transportation are probably &aGold&r, with the more expensive &aVanadium Steel&r or &aChrome&r pipes taking second and third place.\n\n&aStainless Steel&r or &aPolytetrafluoroethylene&r (try saying that fast) will be valid options once you are in &6HV&r.", - "quests.medium_voltage.mv_aciditic.desc.2": "You have three options for acid storage at around this point: &dGlass Vials&r, &dGold Drums&r, or &dSuper Tanks&r. Glass Vials are like &9Fluid Cells&r, and are made to store acids. Gold Drums are self-explanatory. Super Tanks will be unlocked after &9Polyethylene&r, and can store any fluid without restriction.\n\n&cWARNING:&r Acids in the wrong pipes will cause &cvoiding&r, &cpipe burning&r, and high chance of &cdeath&r! Be careful!\n\n&l&3Lore:&r&o The acid transportation and storage mechanics originate from GregTech 6.", + "quests.medium_voltage.mv_aciditic.desc.2": "You have three practical options for acid storage at around this point: &dGlass Vials&r, &dGold Drums&r, or &dSuper Tanks&r. Glass Vials are like &9Fluid Cells&r, and are made to store acids. Gold Drums are self-explanatory. Super Tanks can store any fluid without restriction, but are the most expensive.\n\n&cWARNING:&r Acids in the wrong pipes will cause &cvoiding&r, &cpipe burning&r, and high chance of &cdeath&r! Be careful!\n\n&l&3Lore:&r&o The acid transportation and storage mechanics originate from GregTech 6.", "quests.medium_voltage.mv_aciditic.task": "I'm an acid professional, don't worry", "quests.medium_voltage.mv_hydrochloric.title": "Hydrochloric Acid", "quests.medium_voltage.mv_hydrochloric.subtitle": "You'll need a lot of this!", @@ -3561,7 +3637,7 @@ "quests.steam_age.extractor.desc": "Not many items are made in the &3Extractor&r during the &6Steam Age&r, as it lacks the capability to extract fluids.", "quests.steam_age.glass_tube.title": "Glass Tubes", "quests.steam_age.glass_tube.subtitle": "You'll want a lot of these", - "quests.steam_age.glass_tube.desc": "While you could make all of these by hand with glassblowing, it's much more time efficient to create them in your Alloy Smelter with the appropriate mold instead. Need a lot of glass dust? You can either glassblow 16 panes at once to macerate them, or use the Rock Crusher and Forge Hammer to get lots of sand, then add a little Flint dust to turn it into glass dust.", + "quests.steam_age.glass_tube.desc": "While you'll need to make your first glass tubes by hand with glassblowing, it'll soon be much more time efficient to create them in your Alloy Smelter with the appropriate mold instead. Need a lot of glass dust? You can either glassblow 16 panes at once to macerate them, or use the Rock Crusher and Forge Hammer to get lots of sand, then add a little Flint dust to turn it into glass dust.", "quests.steam_age.treated_planks.title": "Treated Planks", "quests.steam_age.treated_planks.subtitle": "Also known as Treated Plywood", "quests.steam_age.treated_planks.desc": "Hope you've been saving up your creosote, because making these pulped and compressed planks is another use for it.\n\n&l&3Lore:&r&o In earlier versions of TerraFirmaGreg, this was the point when you could actually start Create!", @@ -4226,7 +4302,7 @@ "quests.tfg_tips.create_tree_sugar.task": "Maple or Birch Sugar", "quests.tfg_tips.create_rubber_ingot.title": "Rubber Ingot", "quests.tfg_tips.create_rubber_ingot.subtitle": "Insulate them cables", - "quests.tfg_tips.create_rubber_ingot.desc": "Utilizing the &bVacuum Chamber&r and some additional heating, you can process &aLatex&r from various trees into &dRaw Rubber Pulp&r through a specific process. You can then smelt together 3 &dRaw Rubber Pulp&r with a bit of &eSulfur Dust&r in an &bAlloy Smelter&r to create &dRubber Ingots&r, perfect for insulating cables and very much necessary to advance in the &2Voltaic Age&r and beyond...", + "quests.tfg_tips.create_rubber_ingot.desc": "Utilizing the &bVacuum Chamber&r and some additional heating, you can process &aLatex&r from various trees into &dRaw Rubber Pulp&r through a specific process. You can then smelt together 3 &dRaw Rubber Pulp&r with a bit of &eSulfur Dust&r in an &bAlloy Smelter&r to create &dRubber Ingots&r, perfect for insulating cables and very much necessary to advance in the &2Voltaic Age&r and beyond...\n\n&9Tip:&r As you progress, there will be several ways to make this process cheaper and easier. Keep checking EMI! You'll be using Rubber for a long time, so it's well worth automating.", "quests.tfg_tips.transportation.title": "Transportation", "quests.tfg_tips.transportation.subtitle": "For travelling this vast world", "quests.tfg_tips.transportation.desc": "The world is a very big place, you may end up travelling great distances to find specific resources for survival and advancement. The mods in this section will provide with a variety of transportation options.", @@ -4374,7 +4450,7 @@ "quests.tfg_tips.beehive.desc": "To begin your journey as a beekeeper, you'll need both a &bBeehive&r and a &aBeehive Frame.&r\nUnlike regular Minecraft, hives do not spawn naturally, instead bees only spawn in player-made &bBeehives&r with frames populated by &eQueens.&r The chance for a queen to populate your frame is tied to RNG, but you can increase your odds by placing &dflowers&r around the hive.\n\nOnce your frames is populated, it'll begin spawning bees which will produce honey.", "quests.tfg_tips.not_the_bees.title": "Beekeeper Armor", "quests.tfg_tips.not_the_bees.subtitle": "NOT THE BEES!", - "quests.tfg_tips.not_the_bees.desc": "Bees don't like it when people disrupt them and harvest their precious honey and wax. There are three ways to do it safely:\n\n* &dHarvesting at night time&r\n* &dUsing a campfire&r\n* &dUsing Beekeeper Armor&r", + "quests.tfg_tips.not_the_bees.desc": "Bees don't like it when people disrupt them and harvest their precious honey and wax or move their frames around. There are three ways to do it safely:\n\n* &dHarvesting at night time&r\n* &dUsing a campfire&r\n* &dUsing Beekeeper Armor&r", "quests.tfg_tips.not_the_bees.task": "I'll use either the Campfire or wait for Nightfall.", "quests.tfg_tips.honey.title": "Honey", "quests.tfg_tips.honey.subtitle": "Oh bother...", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 66e52bacc..96a7b844e 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1812,7 +1812,7 @@ "quests.gregtech_energy.overclock.title": "Overclock", "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", "quests.gregtech_energy.overclock.desc.1": "Have you heard about Overclocking, but don't really understand what it is? Let's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of 32 EU/t — sometimes less, but never more.\n&dMV&r goes up to 128 EU/t.\n&dHV&r reaches 512 EU/t.\nBasically, every tier is a 4x increase in power usage.", - "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 8x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", + "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 16x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Heat Furnace\n- Large Chemical Reactor\n- Electric Greenhouse", "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", @@ -2419,7 +2419,7 @@ "quests.medium_voltage.mv_aciditic.title": "It will Melt Your Flesh", "quests.medium_voltage.mv_aciditic.subtitle": "...if you don't read this quest.", "quests.medium_voltage.mv_aciditic.desc.1": "You may notice that some fluids say they are &aAcidic&r, with &9Sulfuric Acid&r being one of them.\n\nThis means that many fluid pipes will not be able to transport them safely!\n\nAt &bMV&r, the cheapest pipes for acid transportation are probably &aGold&r, with the more expensive &aVanadium Steel&r or &aChrome&r pipes taking second and third place.\n\n&aStainless Steel&r or &aPolytetrafluoroethylene&r (try saying that fast) will be valid options once you are in &6HV&r.", - "quests.medium_voltage.mv_aciditic.desc.2": "You have three options for acid storage at around this point: &dGlass Vials&r, &dGold Drums&r, or &dSuper Tanks&r. Glass Vials are like &9Fluid Cells&r, and are made to store acids. Gold Drums are self-explanatory. Super Tanks will be unlocked after &9Polyethylene&r, and can store any fluid without restriction.\n\n&cWARNING:&r Acids in the wrong pipes will cause &cvoiding&r, &cpipe burning&r, and high chance of &cdeath&r! Be careful!\n\n&l&3Lore:&r&o The acid transportation and storage mechanics originate from GregTech 6.", + "quests.medium_voltage.mv_aciditic.desc.2": "You have three practical options for acid storage at around this point: &dGlass Vials&r, &dGold Drums&r, or &dSuper Tanks&r. Glass Vials are like &9Fluid Cells&r, and are made to store acids. Gold Drums are self-explanatory. Super Tanks can store any fluid without restriction, but are the most expensive.\n\n&cWARNING:&r Acids in the wrong pipes will cause &cvoiding&r, &cpipe burning&r, and high chance of &cdeath&r! Be careful!\n\n&l&3Lore:&r&o The acid transportation and storage mechanics originate from GregTech 6.", "quests.medium_voltage.mv_aciditic.task": "I'm an acid professional, don't worry", "quests.medium_voltage.mv_hydrochloric.title": "Hydrochloric Acid", "quests.medium_voltage.mv_hydrochloric.subtitle": "You'll need a lot of this!", @@ -3806,7 +3806,7 @@ "quests.tfg_tips.beehive.desc": "To begin your journey as a beekeeper, you'll need both a &bBeehive&r and a &aBeehive Frame.&r\nUnlike regular Minecraft, hives do not spawn naturally, instead bees only spawn in player-made &bBeehives&r with frames populated by &eQueens.&r The chance for a queen to populate your frame is tied to RNG, but you can increase your odds by placing &dflowers&r around the hive.\n\nOnce your frames is populated, it'll begin spawning bees which will produce honey.", "quests.tfg_tips.not_the_bees.title": "Beekeeper Armor", "quests.tfg_tips.not_the_bees.subtitle": "NOT THE BEES!", - "quests.tfg_tips.not_the_bees.desc": "Bees don't like it when people disrupt them and harvest their precious honey and wax. There are three ways to do it safely:\n\n* &dHarvesting at night time&r\n* &dUsing a campfire&r\n* &dUsing Beekeeper Armor&r", + "quests.tfg_tips.not_the_bees.desc": "Bees don't like it when people disrupt them and harvest their precious honey and wax or move their frames around. There are three ways to do it safely:\n\n* &dHarvesting at night time&r\n* &dUsing a campfire&r\n* &dUsing Beekeeper Armor&r", "quests.tfg_tips.not_the_bees.task": "I'll use either the Campfire or wait for Nightfall.", "quests.tfg_tips.honey.title": "Honey", "quests.tfg_tips.honey.subtitle": "Oh bother...", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 0417d1fa0..7c2118662 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -2155,7 +2155,7 @@ "quests.gregtech_energy.overclock.title": "Overclock", "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", "quests.gregtech_energy.overclock.desc.1": "Have you heard about Overclocking, but don't really understand what it is? Let's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of 32 EU/t — sometimes less, but never more.\n&dMV&r goes up to 128 EU/t.\n&dHV&r reaches 512 EU/t.\nBasically, every tier is a 4x increase in power usage.", - "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 8x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", + "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 16x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Heat Furnace\n- Large Chemical Reactor\n- Electric Greenhouse", "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", From 5393d09f061bdff9904043137c405fcfa73c1092 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 17:41:55 +0000 Subject: [PATCH 236/628] langs --- kubejs/assets/tfg/lang/en_us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 3d3422f18..68bfb6001 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3744,7 +3744,7 @@ "quests.steam_age.steel_mech_press.desc.2": "&l&3Lore:&r&o The Create Mechanical Press used to be a key piece of late steam age progression prior to version 0.9 of TerraFirmaGreg, because it produced plates at an even better ratio of 5 to 4. However, its implementation was actually \"20 percent of the time, you get nothing\", which caused many people to proclaim how much they loved gambling while using it.", "quests.steam_age.supers.title": "Super Chests and Super Tanks", "quests.steam_age.supers.subtitle": "Super Storage Drawers", - "quests.steam_age.supers.desc": "This is the &cu&6l&et&ai&bm&9a&5t&4e&r portable item and storage solution if you have a lot of single items or fluids. While these &dBasic&r (&8ULV&r) ones start out relatively small, higher tiers of Super chests and drums can hold an insane amount of stuff - all in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks and Chests &6keep their contents when broken&r, can be cleared in the crafting grid, and can automatically void any overflow.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Quantum Chests and Tanks or AE2 Storage Cells.", + "quests.steam_age.supers.desc": "This is the &cu&6l&et&ai&bm&9a&5t&4e&r portable item and storage solution if you have a lot of single items or fluids. While these &dBasic&r (&8ULV&r) ones start out relatively small, higher tiers of Super chests and tanks can hold an insane amount of stuff - all in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks and Chests &6keep their contents when broken&r, can be cleared in the crafting grid, and can automatically void any overflow.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Quantum Chests and Tanks or AE2 Storage Cells.", "quests.steam_age.supers.task": "Any super chest or tank", "quests.stone_age": "Stone Age", "quests.stone_age.subtitle": "Humble Beginnings", From a55d9a51d27484766fe2c42d1947bf32c429c910 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 17:42:04 +0000 Subject: [PATCH 237/628] reorganize some events --- kubejs/server_scripts/create/events.js | 13 ------------- kubejs/server_scripts/gregtech/events.js | 8 -------- .../tfg/equipment/events.equipment.js | 18 ++++++++++++++++++ 3 files changed, 18 insertions(+), 21 deletions(-) delete mode 100644 kubejs/server_scripts/create/events.js delete mode 100644 kubejs/server_scripts/gregtech/events.js create mode 100644 kubejs/server_scripts/tfg/equipment/events.equipment.js diff --git a/kubejs/server_scripts/create/events.js b/kubejs/server_scripts/create/events.js deleted file mode 100644 index 63935d65b..000000000 --- a/kubejs/server_scripts/create/events.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; - -PlayerEvents.tick((event) => { - const { player } = event; - if (player.age % 100 === 0 - && player.headArmorItem === 'create:netherite_diving_helmet' - && player.chestArmorItem === 'create:netherite_backtank' - && player.legsArmorItem === 'minecraft:netherite_leggings' - && (player.feetArmorItem === 'create:netherite_diving_boots' - || player.feetArmorItem === 'minecraft:netherite_boots')) { - player.potionEffects.add("minecraft:fire_resistance", 350, 0, true, false); - } -}); diff --git a/kubejs/server_scripts/gregtech/events.js b/kubejs/server_scripts/gregtech/events.js deleted file mode 100644 index 34a0f1703..000000000 --- a/kubejs/server_scripts/gregtech/events.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; - -PlayerEvents.tick((event) => { - const { player } = event; - if (player.age % 100 === 0 && player.legsArmorItem === 'gtceu:nanomuscle_leggings') { - player.potionEffects.add("minecraft:speed", 350, 0, true, false); - } -}); diff --git a/kubejs/server_scripts/tfg/equipment/events.equipment.js b/kubejs/server_scripts/tfg/equipment/events.equipment.js new file mode 100644 index 000000000..3ec2ba29d --- /dev/null +++ b/kubejs/server_scripts/tfg/equipment/events.equipment.js @@ -0,0 +1,18 @@ +"use strict"; + +PlayerEvents.tick((event) => { + const { player } = event; + if (player.age % 100 === 0) { + if (player.headArmorItem === 'create:netherite_diving_helmet' + && player.chestArmorItem === 'create:netherite_backtank' + && player.legsArmorItem === 'minecraft:netherite_leggings' + && (player.feetArmorItem === 'create:netherite_diving_boots' + || player.feetArmorItem === 'minecraft:netherite_boots')) { + player.potionEffects.add("minecraft:fire_resistance", 350, 0, true, false); + } + + if (player.legsArmorItem === 'gtceu:nanomuscle_leggings') { + player.potionEffects.add("minecraft:speed", 350, 0, true, false); + } + } +}); From 675833414d069a1f6ef29ee766f961f382a8ef6d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 18:09:33 +0000 Subject: [PATCH 238/628] some quest tweaks and langs --- .../quests/chapters/gregtech_energy.snbt | 42 ++++++++--- .../quests/chapters/lv__low_voltage.snbt | 70 ++++++++----------- .../quests/chapters/mv__medium_voltage.snbt | 3 + .../quests/chapters/questssteam_age.snbt | 21 ++++-- .../quests/chapters/tips__transportation.snbt | 3 +- kubejs/assets/tfg/lang/en_us.json | 12 ++-- kubejs/assets/tfg/lang/fr_fr.json | 2 +- 7 files changed, 89 insertions(+), 64 deletions(-) diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index e5b59e004..e0d5d40b6 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -31,6 +31,38 @@ x: -10.5d y: -9.5d } + { + height: 2.5d + image: "ftblibrary:icons/star" + rotation: 0.0d + width: 2.5d + x: 6.0d + y: -7.0d + } + { + height: 2.0d + image: "ftblibrary:icons/star" + rotation: 0.0d + width: 2.0d + x: 5.0d + y: -6.0d + } + { + height: 2.0d + image: "ftblibrary:icons/star" + rotation: 0.0d + width: 2.0d + x: 7.0d + y: -6.0d + } + { + height: 2.25d + image: "ftblibrary:icons/star" + rotation: 0.0d + width: 2.25d + x: 3.0d + y: -7.0d + } ] order_index: 2 quest_links: [ ] @@ -326,8 +358,8 @@ type: "item" }] title: "{quests.gregtech_energy.tank.title}" - x: 8.0d - y: -6.0d + x: 10.0d + y: -8.0d } { dependencies: [ @@ -824,7 +856,6 @@ } { dependencies: ["06B2E38F7DCF2678"] - description: ["TODO"] disable_toast: true icon: "tfg:lv_universal_circuit" id: "4C620105AAC49381" @@ -842,7 +873,6 @@ } { dependencies: ["4C620105AAC49381"] - description: ["TODO"] disable_toast: true icon: "tfg:mv_universal_circuit" id: "0AF286AA540A82E6" @@ -860,7 +890,6 @@ } { dependencies: ["0AF286AA540A82E6"] - description: ["TODO"] disable_toast: true icon: "tfg:hv_universal_circuit" id: "4D0ADC66D2CF09B1" @@ -878,7 +907,6 @@ } { dependencies: ["4D0ADC66D2CF09B1"] - description: ["TODO"] disable_toast: true icon: "tfg:ev_universal_circuit" id: "7AF726555D721DFC" @@ -896,7 +924,6 @@ } { dependencies: ["7AF726555D721DFC"] - description: ["TODO"] disable_toast: true icon: "tfg:iv_universal_circuit" id: "05E2F203DA46A5E8" @@ -914,7 +941,6 @@ } { dependencies: ["05E2F203DA46A5E8"] - description: ["TODO"] disable_toast: true icon: "tfg:luv_universal_circuit" id: "1DB543EFEEB67238" diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index b0b5703f4..9097d9d30 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -5,14 +5,6 @@ group: "44D0F3E5067B5AB8" icon: "tfg:lv_universal_circuit" id: "7D50771C3FE033D7" - images: [{ - height: 2.0d - image: "createdeco:block/palettes/decal/yellow_decal" - rotation: 0.0d - width: 2.0d - x: 8.0d - y: 7.0d - }] order_index: 0 quest_links: [ { @@ -20,8 +12,8 @@ linked_quest: "2CDB9778C7A30044" shape: "octagon" size: 2.0d - x: 4.0d - y: 7.0d + x: 5.5d + y: 8.5d } { id: "0EA7766FE6845121" @@ -29,13 +21,6 @@ x: -8.5d y: 10.5d } - { - id: "4709FD64C07461C1" - linked_quest: "533F32CCAD9D5B51" - shape: "heart" - x: -2.0d - y: 12.5d - } { id: "5A47760FCD164E74" linked_quest: "61F58B402F1AE40B" @@ -147,8 +132,8 @@ type: "item" }] title: "{quests.low_voltage.lv_steam_turbine.title}" - x: 5.5d - y: 7.0d + x: 7.0d + y: 9.0d } { dependencies: ["6431381FBE07D6EF"] @@ -383,8 +368,8 @@ type: "item" }] title: "{quests.low_voltage.lbb.title}" - x: 6.5d - y: 7.0d + x: 8.0d + y: 9.0d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1404,6 +1389,7 @@ description: ["{quests.steam_age.alternator.desc.1}"] id: "2DC24661CAD557B0" optional: true + shape: "hexagon" subtitle: "{quests.steam_age.alternator.subtitle}" tasks: [ { @@ -1427,8 +1413,8 @@ } ] title: "{quests.steam_age.alternator.title}" - x: 4.0d - y: 5.5d + x: 7.0d + y: 8.0d } { dependencies: ["7567E885B7166603"] @@ -1524,7 +1510,7 @@ description: ["{quests.low_voltage.lv_combuston_gen.desc}"] id: "170B544373A16112" optional: true - shape: "octagon" + shape: "hexagon" subtitle: "{quests.low_voltage.lv_combuston_gen.subtitle}" tasks: [{ id: "2B36CA88F25D5449" @@ -1532,8 +1518,8 @@ type: "item" }] title: "{quests.low_voltage.lv_combuston_gen.title}" - x: 5.5d - y: 8.0d + x: 7.0d + y: 10.0d } { dependencies: ["2CDB9778C7A30044"] @@ -1541,8 +1527,10 @@ "{quests.low_voltage.link_chapter.desc}:" "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }" ] + icon: "createdeco:decal_electrical" id: "7FA1525D681C4B4A" shape: "none" + size: 2.0d subtitle: "{quests.low_voltage.link_chapter.subtitle}" tasks: [{ id: "346E50625B8B1133" @@ -1550,8 +1538,8 @@ type: "checkmark" }] title: "{quests.low_voltage.link_chapter.title}" - x: 4.0d - y: 8.5d + x: 5.5d + y: 6.5d } { dependencies: ["5F3063C539C9CBBF"] @@ -1573,8 +1561,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seeds.title}" - x: 6.5d - y: 10.0d + x: 7.5d + y: 13.0d } { dependencies: ["55213ACBF5F5D398"] @@ -1589,8 +1577,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seed_oil.title}" - x: 6.5d - y: 9.0d + x: 7.5d + y: 12.0d } { dependencies: ["1D979CB5862BD480"] @@ -1605,8 +1593,8 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: 6.5d - y: 8.0d + x: 7.5d + y: 11.0d } { dependencies: ["1912758422EEB006"] @@ -1671,8 +1659,8 @@ type: "checkmark" }] title: "{quests.low_voltage.oil.title}" - x: 5.5d - y: 10.0d + x: 6.5d + y: 12.0d } { dependencies: [ @@ -1690,8 +1678,8 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_turbine.title}" - x: 5.5d - y: 6.0d + x: 7.0d + y: 7.0d } { dependencies: ["2CEE3C0972650C81"] @@ -1721,8 +1709,8 @@ } ] title: "{quests.low_voltage.lv_naphtha_light.title}" - x: 5.5d - y: 9.0d + x: 6.5d + y: 11.0d } { dependencies: ["5F3063C539C9CBBF"] @@ -1738,7 +1726,7 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_syngas.title}" - x: 6.5d + x: 7.0d y: 6.0d } ] diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index c2880c6a6..61738afd1 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1638,6 +1638,7 @@ dependencies: ["54A255C1C6E33165"] description: ["{quests.medium_voltage.reformate_gas.desc}"] id: "10292F9B1DD743EB" + optional: true shape: "heart" subtitle: "{quests.medium_voltage.reformate_gas.subtitle}" tasks: [{ @@ -1653,6 +1654,8 @@ dependencies: ["00E1A728E6F6D6A0"] description: ["{quests.medium_voltage.coal_tower.desc.1}"] id: "54A255C1C6E33165" + optional: true + shape: "heart" subtitle: "{quests.medium_voltage.coal_tower.subtitle}" tasks: [{ id: "348CD63DC537BB9A" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index e03b91de9..4841ea4b5 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -63,6 +63,13 @@ x: -14.0d y: 13.0d } + { + id: "38ECA3FEC2B6A6A6" + linked_quest: "533F32CCAD9D5B51" + shape: "heart" + x: -19.5d + y: 11.5d + } ] quests: [ { @@ -414,6 +421,7 @@ description: ["{quests.steam_age.crushing_wheel.desc}"] id: "4F3D0D746D26B59F" optional: true + shape: "heart" subtitle: "{quests.steam_age.crushing_wheel.subtitle}" tasks: [{ count: 2L @@ -423,7 +431,7 @@ }] title: "{quests.steam_age.crushing_wheel.title}" x: -21.5d - y: 10.5d + y: 11.5d } { dependencies: ["7DB7AB5349218605"] @@ -448,8 +456,8 @@ } ] title: "{quests.steam_age.treated_planks.title}" - x: -19.5d - y: 10.5d + x: -20.5d + y: 9.5d } { dependencies: [ @@ -545,8 +553,6 @@ description: ["{quests.steam_age.molding.desc}"] icon: "gtceu:ball_casting_mold" id: "09E12A399EE0A628" - optional: true - shape: "heart" size: 1.0d subtitle: "{quests.steam_age.molding.subtitle}" tasks: [ @@ -851,6 +857,7 @@ description: ["{quests.steam_age.centrifuge.desc}"] id: "19A1D52A7F550478" optional: true + shape: "heart" subtitle: "{quests.steam_age.centrifuge.subtitle}" tasks: [{ id: "69668479444FF064" @@ -859,7 +866,7 @@ }] title: "{quests.steam_age.centrifuge.title}" x: -20.5d - y: 10.5d + y: 11.0d } { dependencies: [ @@ -1047,7 +1054,7 @@ ] title: "{quests.steam_age.red_alloy.title}" x: -22.5d - y: 12.0d + y: 13.5d } { dependencies: ["51CBF7378FFAD514"] diff --git a/config/ftbquests/quests/chapters/tips__transportation.snbt b/config/ftbquests/quests/chapters/tips__transportation.snbt index d242ce27d..38762674d 100644 --- a/config/ftbquests/quests/chapters/tips__transportation.snbt +++ b/config/ftbquests/quests/chapters/tips__transportation.snbt @@ -1503,8 +1503,9 @@ { dependencies: [ "05528D09F7EE6E33" - "63CD0236B337EAAD" + "5917B0D4708BF534" ] + dependency_requirement: "one_completed" description: ["{quests.tfg_tips.transportation_tips.rnr_plow.desc}"] guide_page: "tfc:field_guide tfc:roadsandroofs/paving_cart 0" id: "533F32CCAD9D5B51" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 68bfb6001..eb7726575 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1165,7 +1165,7 @@ "material.tfg.reformed_aromatic_feedstock": "Reformed Aromatic Feedstock", "material.tfg.reformate_gas": "Reformate Gas", "material.tfg.cracker_off_gas": "Cracked Reformate Off-Gas", - "material.tfg.btw_fuel": "BTX Gas", + "material.tfg.btx_fuel": "BTX Gas", "material.tfg.critical_steam": "Critical Steam", "material.tfg.americium_241": "Americium-241", "material.tfg.californium_252": "Californium-252", @@ -2180,14 +2180,14 @@ "quests.gregtech_energy.start.subtitle": "It's not as bad as you think", "quests.gregtech_energy.moving.title": "Moving your Energy", "quests.gregtech_energy.moving.subtitle": "So, energy transfer, huh", - "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire= &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", + "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire = &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", "quests.gregtech_energy.moving.task": "I understand", "quests.gregtech_energy.transformer.title": "The Super Transformer", "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can channel energy between any tiers — from &aLV&r to &cUHV&r — with no explosions. But that's not even the best part.\n\nIt can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", "quests.gregtech_energy.moving_wire.title": "Moving with wires", "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", - "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", + "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", "quests.gregtech_energy.moving_wire.task": "I finished looking at wires", "quests.gregtech_energy.moving_amp.title": "Managing Amp", "quests.gregtech_energy.moving_amp.subtitle": "It burns?", @@ -2320,8 +2320,8 @@ "quests.gregtech_energy.spending_energy.title": "Spending Energy", "quests.gregtech_energy.spending_energy.subtitle": "Oh you will spend energy", "quests.gregtech_energy.spending_energy.desc.1": "How to spend all this energy?\n\nUse your machines! Sounds simple, right?\nWell... not exactly. There are many small details that you should learn to help you on your quest to completing &3TerraFirmaGreg&r.\n\nBasic Machines:\n- These machines are simple.\n- They can request up to &a2A&r each.\n- If you input a higher tier of energy... &4\uD83D\uDCA5 they explode&r.\n\nGregTech Multiblocks:\nNow things get interesting. Multiblocks offer more flexibility and power — &eif&r you understand how they work.", - "quests.gregtech_energy.spending_energy.desc.2": "Standard Mechanics:\n- If a multiblock can accept two Energy Hatches (most of them), this allows you to use higher-tier recipes than the machine’s base tier.\n\nExample:\nIf you're using a Large Mixing Vessel and you install two IV Energy Hatches, it will be able to process &cLuV&r-tier Mixer recipes.\n\nThis is one of the key benefits of multiblocks over single-block machines — to upgrade them to the next tier, you only have to swap out their energy hatches instead of replacing the whole machine.", - "quests.gregtech_energy.spending_energy.desc.3": "Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1A!\n\nYou can still use a 4A or 16A Energy Hatch. This will allow &bOverclocking&r of recipes but not the recipe tier.\n\nExample:\nThe Large Circuit Assembler only allows one Energy Hatch. If you install a 4A IV Energy Hatch, you will be able to overclock all IV and lower recipes.\n\nHowever, it cannot craft LuV-tier recipes because the machine doesn't support multiple hatches. That limitation is intentional, to prevent skipping the GregTech progression system.", + "quests.gregtech_energy.spending_energy.desc.2": "Standard Mechanics:\n- If a multiblock can accept two Energy Hatches (most of them), this allows you to use higher-tier recipes than the machine’s base tier.\n\nExample:\nIf you're building an Electric Blast Furnace and you install two &7LV&r Energy Hatches, it will be able to process &6MV&r-tier EBF recipes.\n\nThis is one of the key benefits of multiblocks over single-block machines — to upgrade them to the next tier, you only have to swap out their energy hatches instead of replacing the whole machine.", + "quests.gregtech_energy.spending_energy.desc.3": "Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1 amp!\n\nYou can still use a 4A or 16A Energy Hatch. This will allow &bOverclocking&r of recipes, but not the recipe tier.\n\nExample:\nThe Large Circuit Assembler only allows one Energy Hatch. If you install a 4A IV Energy Hatch, you will be able to overclock all IV and lower recipes.\n\nHowever, it cannot craft LuV-tier recipes because the machine doesn't support multiple hatches. That limitation is intentional, to prevent skipping the GregTech progression system.", "quests.gregtech_energy.spending_energy.desc.4": "So remember: More amps on a single hatch means faster processing, but two hatches are required to unlock higher-tier recipes.", "quests.gregtech_energy.spending_energy.task": "I understand", "quests.gregtech_energy.overclock.title": "Overclock", @@ -2898,7 +2898,7 @@ "quests.medium_voltage.mv_fluid_rig.desc.1": "It's quite the investment to own a &3Fluid Drilling Rig&r, but it is &oby far&r the most prominent &6source of Oil&r.\n\nIt pumps fluids from underneath Bedrock itself. Note that the fluids aren't actually there, instead being simulated.\n\nFluid veins are stored within &cchunk-sized regions&r. Each vein has a different fluid, but they are mostly types of Oil.\n\nYou can't carry out prospecting for fluid veins &oyet&r - this will come at &6HV&r.", "quests.medium_voltage.mv_fluid_rig.desc.2": "Each vein generates with a different base yield. This is typically between &d150L&r to &d300L per second&r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time until it reaches its depletion yield. At that point, you should move the Rig to a different vein.\n\nA &3Basic Fluid Drilling Rig&r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for &6well over 10,000&r buckets of Oil. Higher tier Rigs will massively increase the yield, while also decreasing the depletion rate.", "quests.medium_voltage.mv_fluid_rig.desc.3": "&lWhat you can find in the &2Overworld&r&l:&r\n\n&9Oil:&r richer in &aLight Fuel&r, the most appreciated variant.\n&9Light Oil:&r richer in &aRefinery Gas&r, usable for power.\n&9Heavy Oil:&r richer in &aHeavy Fuel&r, which has uses that are more niche but notably Toluene.\n&9Raw Oil:&r richer in &aNaphtha&r, the best source of the early-game oil products.\n&9Natural Gas:&r grants &aRefinery Gas&r with no distillation required.\n&9Sea Water:&r grants &aSodium&r and &aChlorine&r, useful later.", - "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cNether&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cBeneath&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", "quests.medium_voltage.mv_oilsands.title": "America Simulator", "quests.medium_voltage.mv_oilsands.subtitle": "This quest was sponsored by the US Military", "quests.medium_voltage.mv_oilsands.desc": "Underground, you may come across pure Oilsands ore veins. You can &3centrifuge&r the Dust to get &aOil&r.\n\n&9&lNote:&r&l The Oil path is one path towards &9&lEthylene&r&l. The other paths involve getting natural with some Ethanol.&r\n\nFor now, Oil is &doptional&r. It becomes mandatory much later when you get to &5EV&r.\n\nOil can also be refined in the form of &aLight Fuel&r, &aDiesel&r or even &aGasoline&r, which are excellent power options.\n\nIf you chose this path, you should use it for both Power and Ethylene.\n\nOilsands are a &6great starting point&r - they'll tide you over until you unlock Fluid Drilling Rigs.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 96a7b844e..5c9304fd3 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2354,7 +2354,7 @@ "quests.medium_voltage.mv_fluid_rig.desc.1": "It's quite the investment to own a &3Fluid Drilling Rig&r, but it is &oby far&r the most prominent &6source of Oil&r.\n\nIt pumps fluids from underneath Bedrock itself. Note that the fluids aren't actually there, instead being simulated.\n\nFluid veins are stored within &cchunk-sized regions&r. Each vein has a different fluid, but they are mostly types of Oil.\n\nYou can't carry out prospecting for fluid veins &oyet&r - this will come at &6HV&r.", "quests.medium_voltage.mv_fluid_rig.desc.2": "Each vein generates with a different base yield. This is typically between &d150L&r to &d300L per second&r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time until it reaches its depletion yield. At that point, you should move the Rig to a different vein.\n\nA &3Basic Fluid Drilling Rig&r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for &6well over 10,000&r buckets of Oil. Higher tier Rigs will massively increase the yield, while also decreasing the depletion rate.", "quests.medium_voltage.mv_fluid_rig.desc.3": "&lWhat you can find in the &2Overworld&r&l:&r\n\n&9Oil:&r richer in &aLight Fuel&r, the most appreciated variant.\n&9Light Oil:&r richer in &aRefinery Gas&r, usable for power.\n&9Heavy Oil:&r richer in &aHeavy Fuel&r, which has uses that are more niche but notably Toluene.\n&9Raw Oil:&r richer in &aNaphtha&r, the best source of the early-game oil products.\n&9Natural Gas:&r grants &aRefinery Gas&r with no distillation required.\n&9Sea Water:&r grants &aSodium&r and &aChlorine&r, useful later.", - "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cNether&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cBeneath&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", "quests.medium_voltage.mv_oilsands.title": "America Simulator", "quests.medium_voltage.mv_oilsands.subtitle": "This quest was sponsored by the US Military", "quests.medium_voltage.mv_oilsands.desc": "Underground, you may come across pure Oilsands ore veins. You can &3centrifuge&r the Dust to get &aOil&r.\n\n&9&lNote:&r&l The Oil path is one path towards &9&lEthylene&r&l. The other paths involve getting natural with some Ethanol.&r\n\nFor now, Oil is &doptional&r. It becomes mandatory much later when you get to &5EV&r.\n\nOil can also be refined in the form of &aLight Fuel&r, &aDiesel&r or even &aGasoline&r, which are excellent power options.\n\nIf you chose this path, you should use it for both Power and Ethylene.\n\nOilsands are a &6great starting point&r - they'll tide you over until you unlock Fluid Drilling Rigs.", From 0f49fcf0564f22c9d7889d3f9206343582feba42 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 18:36:38 +0000 Subject: [PATCH 239/628] old --- kubejs/server_scripts/tfc/recipes.js | 1 - 1 file changed, 1 deletion(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index f26ac71a1..a6da50e30 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -179,7 +179,6 @@ const registerTFCRecipes = (event) => { .EUt(2) // Brass Mechanism - event.recipes.shapeless('gtceu:small_brass_gear', ['tfc:brass_mechanisms']).id('tfg:replace_brass_mechanisms') event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear') // Rennet From d13e933041cb7410d633f053720fee66c038bf21 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 18:42:55 +0000 Subject: [PATCH 240/628] added mech crafter recipe for the paving cart, update changelog --- CHANGELOG.md | 25 ++++----- .../tfg/recipes.miscellaneous.js | 53 ++++++++++++++----- 2 files changed, 54 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b150929bd..172dfa053 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,27 +3,27 @@ ## [Unreleased] ### Breaking Changes - Beginning of the Power Update: - - Syngas is now available as a ULV/LV gas fuel - can be craft in from Charcoal and Creosote in a Brewery - - The Coal Liquefaction Tower is a new multiblock craftable at MV that you can use to make Reformate Gas. Uses the Cracker coils property and can be boost with hydrogen - - Reformate Gas is the new Fuel starting at MV, with better yield and loop at HV - - Many quests got updated to take into consideration these changes + - Syngas is now available as a ULV/LV gas fuel - can be crafted from Charcoal and Creosote in a Brewery or Vacuum Chamber. + - The Coal Liquefaction Tower is a new multiblock (craftable at MV) that you can use to make Reformate Gas. It has the same coil discounts as the Cracker, and can be boosted with hydrogen. + - Reformate Gas is the new gas Fuel starting at MV, with better yields and recipe loops at HV. + - Many quests were updated to explain these changes. - Update on Fission: - - The Nuclear Steam Turbine has now a baseline power production of 8192 EU/t. What this means is that when you needed 2 turbines you now need one. - - Thorium Reactor got a boost of 50% steam production, early Mars should be a bit easier - - Heat Exchanger can now run Radioactive Steam without Ammonium Formate. If you crave for power and don’t mind losing some materials for Nano Circuit, this is a good deal - - Massive change for steam yield. You now produce 160 more steam, but its yield is 160 less good (so nothing powerwise just be wary of flowing rate) + - The Nuclear Steam Turbine has now a baseline power production of 8192 EU/t. What this means is that you now need half as many turbines as before. + - Thorium Fuel Rods got a boost of 50% steam production, so early Mars should be a bit easier. + - Heat Exchanger can now run Radioactive Steam without Ammonium Formate. If you crave for power and don’t mind losing some materials for the Nano Circuit, this is a good deal + - Massive change for steam yield. You now produce 160x more steam, but its yield is 160x less good (so nothing changes power-wise, but now you have to deal with pipe throughput) - The tungsten processing line has been updated to now properly loop and balance all of its intermediates. The actual processes haven't changed, just the numbers, so you shouldn't have to change your setup much. It now also outputs a little extra oxygen instead of sodium (#2267) @SpicyNoodle5 @TomPlop - Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie ### Mod updates - Added TFC Gurman, which adds even more food and drink - Primitive Creatures has fixed its spawning of Huntmasters - New GregTech updates, both [7.3.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.3.0-1.20.1) and [7.4.0](https://github.com/GregTechCEu/GregTech-Modern/releases/tag/v7.4.0-1.20.1). TL;DR: - - You can use screwdrivers on drums again - - Diluted hydrochloric acid distillation circuits have been swapped, so now it's consistent with diluted sulfuric acid - - Large rebalancing of small and large boiler fuel. Generally speaking, small boilers are worse while large ones are better, and solid fuels are now better and liquids are worse, but if you're putting all your coke oven output into a large bronze boiler, your rates should be mostly the same as before. Blaze burner liquid fuels have been adjusted to these new values as well. + - You can use screwdrivers on drums again + - Diluted hydrochloric acid distillation circuits have been swapped, so now it's consistent with diluted sulfuric acid + - Large rebalancing of small and large boiler fuel. Generally speaking, small boilers are worse while large ones are better, and solid fuels are now better and liquids are worse, but if you're putting all your coke oven output into a large bronze boiler, your rates should be mostly the same as before. Blaze burner liquid fuels have been adjusted to these new values as well. ### Other Changes - Many TACZ balance changes, found [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/blob/dev/tacz/TACZ_CHANGELOG.md) @BlueBoat29 -- Add shapeless p2p recipes (#2234) @SpicyNoodle5 +- Add shapeless recipes for ae2 p2p clearing (#2234) @SpicyNoodle5 - Added assembler, smelting and heating recipes for firmalife ovens (#2220) @SpicyNoodle5 - Raised player-burning fluid threshold from 370K to 1300K @Redeix - Added partial unification to the gtceu Wax material @Redeix @@ -41,6 +41,7 @@ - The reinforced hang glider has been buffed, is now craftable as soon as you get aluminium, and is also much cheaper to repair (#2314) @jeuvke - You can now also use bismuth bronze and black bronze crates in recipes that previously required a normal bronze crate (#2328) @jeuvke - Freeze dried food no longer has any hydration (#2325) @mqrius +- Added a mechanical crafting recipe for the Paving Cart @Pyritie ### Bug fixes - Fixed the horse crank not working at all @Pyritie - Fixed brown gravy recipe @Redeix diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index b6031ab30..65cb9248a 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -8,7 +8,7 @@ function registerTFGMiscellaneousRecipes(event) { //Moss - event.replaceInput({input: 'minecraft:vine'}, 'minecraft:vine', '#tfc:moss') + event.replaceInput({ input: 'minecraft:vine' }, 'minecraft:vine', '#tfc:moss') event.shapeless('1x minecraft:moss_block', [ '#tfc:dirt', @@ -98,28 +98,42 @@ function registerTFGMiscellaneousRecipes(event) { // Replace bronze drums & crates with a tag containing the 3 different bronzes // NOTE: A better way to do this would be to overwrite GTCraftingComponents.CRATE and GTCraftingComponents.DRUM in crafting_components.js, but tags seem to get populated after the recipes get registed, so... - event.replaceInput({input: 'gtceu:bronze_crate'}, 'gtceu:bronze_crate', '#tfg:any_bronze_crate') - event.replaceInput({input: 'gtceu:bronze_drum'}, 'gtceu:bronze_drum', '#tfg:any_bronze_drum') + event.replaceInput({ input: 'gtceu:bronze_crate' }, 'gtceu:bronze_crate', '#tfg:any_bronze_crate') + event.replaceInput({ input: 'gtceu:bronze_drum' }, 'gtceu:bronze_drum', '#tfg:any_bronze_drum') //#region RNR Paving Cart const rubber_types = [ - {fluid:'styrene_butadiene_rubber', quantity: 144}, - {fluid:'silicone_rubber', quantity: 288}, - {fluid:'rubber', quantity: 576} + { fluid: 'styrene_butadiene_rubber', quantity: 144 }, + { fluid: 'silicone_rubber', quantity: 288 }, + { fluid: 'rubber', quantity: 576 } ]; rubber_types.forEach((rubber) => { event.recipes.gtceu.assembler(`tfg:cobalt_brass_wheel/${rubber.fluid}`) .itemInputs( - ChemicalHelper.get(TagPrefix.rod, GTMaterials.CobaltBrass, 9), - Ingredient.of('firmaciv:rope_coil').withCount(2), + ChemicalHelper.get(TagPrefix.rod, GTMaterials.CobaltBrass, 8), + Ingredient.of('firmaciv:rope_coil'), Ingredient.of('#forge:screws/any_bronze').withCount(4) ) .inputFluids(Fluid.of(`gtceu:${rubber.fluid}`, rubber.quantity)) .itemOutputs('tfg:cobalt_brass_wheel') - .duration(20*10) + .duration(20 * 10) .EUt(GTValues.VA[GTValues.LV]) }); - TFGHelpers.registerMaterialInfo('tfg:cobalt_brass_wheel', { 'rubber': 1, 'cobalt_brass': 4}); + TFGHelpers.registerMaterialInfo('tfg:cobalt_brass_wheel', { 'rubber': 1, 'cobalt_brass': 4 }); + + event.recipes.create.mechanical_crafting('tfg:cobalt_brass_wheel', [ + ' D ', + 'CAAAC', + 'DABAD', + 'CAAAC', + ' D ' + + ], { + A: '#forge:rods/cobalt_brass', + B: 'firmaciv:rope_coil', + C: '#forge:screws/any_bronze', + D: '#forge:plates/rubber' + }).id('tfg:mechanical_crafter/cobalt_brass_wheel') const mattock_types = ['red', 'blue']; mattock_types.forEach((type) => { @@ -134,10 +148,25 @@ function registerTFGMiscellaneousRecipes(event) { Ingredient.of(`#forge:mattock_heads/${type}_steel`).withCount(3) ) .itemOutputs('tfg:rnr_plow') - .duration(20*60) + .duration(20 * 60) .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.create.mechanical_crafting('tfg:rnr_plow', [ + ' B B ', + 'ECACE', + 'DCFCD', + ' GGG ' + ], { + A: '#forge:rods/long/cobalt_brass', + B: '#forge:rods/long/treated_wood', + C: '#forge:plates/invar', + D: '#forge:springs/steel', + E: 'tfg:cobalt_brass_wheel', + F: 'create:chute', + G: `#forge:mattock_heads/${type}_steel` + }).id(`tfg:mechanical_crafter/rnr_plow/${type}_steel`) }); - TFGHelpers.registerMaterialInfo('tfg:rnr_plow', {'cobalt_brass': 5, 'invar': 2, 'steel': 2, 'wrought_iron': 2, 'rubber': 1, 'treated_wood': 1}); + TFGHelpers.registerMaterialInfo('tfg:rnr_plow', { 'cobalt_brass': 9, 'invar': 4, 'steel': 2, 'wrought_iron': 3, 'treated_wood': 2 }); //#endregion } From ab4bfe8b2f153c39193364b8a881de0c5f205a28 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 19:07:26 +0000 Subject: [PATCH 241/628] langs --- kubejs/assets/gtceu/lang/en_us.json | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 160719b28..7f13e1f42 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -207,6 +207,7 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water Deposit", "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice Deposit", "gtceu.recipe.category.ingot_molding": "Material Molding", + "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower,§r\n§8Moon and Ostrum Harvesters:§r", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", From dc07bd881da9461f67c2776ca79812cbfdbf4578 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 19:08:03 +0000 Subject: [PATCH 242/628] two to one hatches on the coal liquefaction tooltip --- 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 bb94be4ac..e33e5b69b 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -88,7 +88,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_energy_discount')); - text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches')); + text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) // Insulation From 40515b4a42ef37483bc9ffb3e24bfe58dc720b27 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Sun, 7 Dec 2025 14:18:26 -0500 Subject: [PATCH 243/628] Fix quests (#2342) --- config/ftbquests/quests/chapters/gregtech_energy.snbt | 3 +++ config/ftbquests/quests/chapters/mv__medium_voltage.snbt | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index e0d5d40b6..581c9b6a3 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -1287,12 +1287,15 @@ "7AF726555D721DFC" ] dependency_requirement: "one_completed" + description: ["{quests.gregtech_energy.btx.desc}"] id: "35E113FF0C1645CC" + subtitle: "{quests.gregtech_energy.btx.subtitle}" tasks: [{ id: "2C766A3391285E33" item: "tfg:btx_fuel_bucket" type: "item" }] + title: "{quests.gregtech_energy.btx.title}" x: -10.5d y: -1.0d } diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 61738afd1..49f0aa477 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1652,7 +1652,11 @@ } { dependencies: ["00E1A728E6F6D6A0"] - description: ["{quests.medium_voltage.coal_tower.desc.1}"] + description: [ + "{quests.medium_voltage.coal_tower.desc.1}" + "{@pagebreak}" + "{quests.medium_voltage.coal_tower.desc.2}" + ] id: "54A255C1C6E33165" optional: true shape: "heart" From 4ecbb2debdeb131dd27b1566ffd637b1e35c7c2e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 22:02:41 +0000 Subject: [PATCH 244/628] 0.11.9 --- CHANGELOG.md | 24 +++++++++------- pakku-lock.json | 76 ++++++++++++++++++++++++------------------------- 2 files changed, 51 insertions(+), 49 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 172dfa053..8324b4ddd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,19 @@ # Changelog -## [Unreleased] +## [0.11.9] - 7-12-2025 ### Breaking Changes -- Beginning of the Power Update: - - Syngas is now available as a ULV/LV gas fuel - can be crafted from Charcoal and Creosote in a Brewery or Vacuum Chamber. - - The Coal Liquefaction Tower is a new multiblock (craftable at MV) that you can use to make Reformate Gas. It has the same coil discounts as the Cracker, and can be boosted with hydrogen. - - Reformate Gas is the new gas Fuel starting at MV, with better yields and recipe loops at HV. - - Many quests were updated to explain these changes. -- Update on Fission: - - The Nuclear Steam Turbine has now a baseline power production of 8192 EU/t. What this means is that you now need half as many turbines as before. - - Thorium Fuel Rods got a boost of 50% steam production, so early Mars should be a bit easier. - - Heat Exchanger can now run Radioactive Steam without Ammonium Formate. If you crave for power and don’t mind losing some materials for the Nano Circuit, this is a good deal - - Massive change for steam yield. You now produce 160x more steam, but its yield is 160x less good (so nothing changes power-wise, but now you have to deal with pipe throughput) +#### Beginning of the Power Update +- Syngas is now available as a ULV/LV gas fuel - can be crafted from Charcoal and Creosote in a Brewery or Vacuum Chamber. +- The Coal Liquefaction Tower is a new multiblock (craftable at MV) that you can use to make Reformate Gas. It has the same coildiscounts as the Cracker, and can be boosted with hydrogen. +- Reformate Gas is the new gas Fuel starting at MV, with better yields and recipe loops at HV. +- Many quests were updated to explain these changes. +#### Update on Fission +- The Nuclear Steam Turbine has now a baseline power production of 8192 EU/t. What this means is that you now need half as many turbines as before. +- Thorium Fuel Rods got a boost of 50% steam production, so early Mars should be a bit easier. +- Heat Exchanger can now run Radioactive Steam without Ammonium Formate. If you crave for power and don’t mind losing some materials for the Nano Circuit, this is a good deal +- Massive change for steam yield. You now produce 160x more steam, but its yield is 160x less good (so nothing changes power-wise, but now you have to deal with pipe throughput) +#### Other +- All dynamo hatches on Large Turbines now void power when they are full. Be sure to control your turbines with some redstone when your batteries are full! - The tungsten processing line has been updated to now properly loop and balance all of its intermediates. The actual processes haven't changed, just the numbers, so you shouldn't have to change your setup much. It now also outputs a little extra oxygen instead of sodium (#2267) @SpicyNoodle5 @TomPlop - Removed black/red/blue arc furnace dust to ingot recipes, but changed the EBF recipes to MV (#2306) @applenper @Pyritie ### Mod updates diff --git a/pakku-lock.json b/pakku-lock.json index 4c6114bb4..8c92a816c 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4342,27 +4342,27 @@ "files": [ { "type": "curseforge", - "file_name": "deafission-1.20.1-0.15.2.jar", + "file_name": "deafission-1.20.1-0.15.4.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7258/440/deafission-1.20.1-0.15.2.jar", - "id": "7258440", + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7305/261/deafission-1.20.1-0.15.4.jar", + "id": "7305261", "parent_id": "1354541", "hashes": { - "sha1": "4e49e3f128148964188983d7819d9e84c1778ff6", - "md5": "1517307eacc842d3302fa2afc3aabfbe" + "sha1": "5b814421715f3f15606a4b2ecc23816432c6911c", + "md5": "64b8f3da2f95649bbef00af310fdc102" }, "required_dependencies": [ "890405", "238086" ], - "size": 413422, - "date_published": "2025-11-24T19:13:06.897Z" + "size": 415411, + "date_published": "2025-12-07T18:28:09.053Z" } ] }, @@ -11475,7 +11475,7 @@ "files": [ { "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.2.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.17.0.jar", "mc_versions": [ "1.20", "1.20.1" @@ -11484,20 +11484,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/wnRqDILe/ShoulderSurfing-Forge-1.20.1-4.16.2.jar", - "id": "wnRqDILe", + "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/EAmVtA50/ShoulderSurfing-Forge-1.20.1-4.17.0.jar", + "id": "EAmVtA50", "parent_id": "kepjj2sy", "hashes": { - "sha512": "1c00c98ebdf45aed5946b45a5c94b46ad191376112ee9f98464df25eb1562415fa6a77e5fde7fca3431b8a43efb4bb847abdd1522dcdbc031fdc586723e71b4c", - "sha1": "6e17da80a59372ef96ffe75ed15f2a71ff6fc722" + "sha512": "67d14cc08a9e2c26e1df2a72283cf564b89c8235b1fc7489f2eac0665653d525f3265d9231b8e73e7de86d29359819a9089000fb24c3cb857c85579ecac8e4f5", + "sha1": "77741047e50205980a6eb518aec2514784584c09" }, "required_dependencies": [], - "size": 255775, - "date_published": "2025-11-30T22:40:18.587608Z" + "size": 263677, + "date_published": "2025-12-07T19:55:42.391935Z" }, { "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.16.2.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.17.0.jar", "mc_versions": [ "1.20.1", "1.20" @@ -11506,16 +11506,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7279/952/ShoulderSurfing-Forge-1.20.1-4.16.2.jar", - "id": "7279952", + "url": "https://edge.forgecdn.net/files/7305/583/ShoulderSurfing-Forge-1.20.1-4.17.0.jar", + "id": "7305583", "parent_id": "243190", "hashes": { - "sha1": "6e17da80a59372ef96ffe75ed15f2a71ff6fc722", - "md5": "5f28f3ac688565db38d7b6bfe41e0ee9" + "sha1": "77741047e50205980a6eb518aec2514784584c09", + "md5": "906de79806f24c12d188126b47afa35f" }, "required_dependencies": [], - "size": 255775, - "date_published": "2025-11-30T22:40:16.337Z" + "size": 263677, + "date_published": "2025-12-07T19:55:42.833Z" } ] }, @@ -13880,7 +13880,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.6.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.7.jar", "mc_versions": [ "1.20.1" ], @@ -13889,23 +13889,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/w34zm4Xq/TerraFirmaGreg-Core-Modern-0.8.6.jar", - "id": "w34zm4Xq", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/bROqTVck/TerraFirmaGreg-Core-Modern-0.8.7.jar", + "id": "bROqTVck", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "677785f7b14208293f9a4ec2d1605339b47f3bd76e81daf5709fb9a19851f4a5149b590e9e2ad4a423839352946d3f976897089386da6508cfad5bd0f82e6499", - "sha1": "8c37ab2de9e8a646395b49088d21abb692e54909" + "sha512": "136f0851e89bdb911d319ed12aac0f2803d0b7d74ca18ad2fb6330ebc5965e0fee82862ea87f49901aa41783cea98a4968786b8ff2fb1503f90e3e828e79ee44", + "sha1": "c0c1a2c44998b630ad56be665017896287cf685c" }, "required_dependencies": [ - "JaCEZUhg", - "7tG215v7" + "7tG215v7", + "JaCEZUhg" ], - "size": 9283735, - "date_published": "2025-11-17T08:16:44.842196Z" + "size": 9315464, + "date_published": "2025-12-07T21:45:07.908480Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.6.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.7.jar", "mc_versions": [ "1.20.1" ], @@ -13914,19 +13914,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7231/807/TerraFirmaGreg-Core-Modern-0.8.6.jar", - "id": "7231807", + "url": "https://edge.forgecdn.net/files/7305/932/TerraFirmaGreg-Core-Modern-0.8.7.jar", + "id": "7305932", "parent_id": "513402", "hashes": { - "sha1": "8c37ab2de9e8a646395b49088d21abb692e54909", - "md5": "0fba8bdf94413edb751a97ed05943ca8" + "sha1": "c0c1a2c44998b630ad56be665017896287cf685c", + "md5": "e4dcd7222073266fe1188fe52ca35d5f" }, "required_dependencies": [ "302973", "890405" ], - "size": 9283735, - "date_published": "2025-11-17T08:16:39.213Z" + "size": 9315464, + "date_published": "2025-12-07T21:45:02.070Z" } ] }, From 15c2031a627ec2fda42fc81c7bac148ac3735dfc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 7 Dec 2025 23:16:35 +0000 Subject: [PATCH 245/628] forgot to add this to the last changelist, my bad --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8324b4ddd..5bf306f71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## Unreleased +### Changes +- Added recipes for create's shadow and radiant casings (#2256) @Ujhik +### Bug fixes + ## [0.11.9] - 7-12-2025 ### Breaking Changes #### Beginning of the Power Update From 042bd9870f46049547d4f15d98192512109639dd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 12:31:59 +0000 Subject: [PATCH 246/628] remove noisium (apparently it's discontinued because it barely does anything) --- pakku-lock.json | 65 ------------------------------------------------- 1 file changed, 65 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 8c92a816c..0714b88a5 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -9806,71 +9806,6 @@ } ] }, - { - "pakku_id": "srNw1bVsXfQKp9OA", - "type": "MOD", - "side": "SERVER", - "slug": { - "curseforge": "noisium", - "modrinth": "noisium" - }, - "name": { - "curseforge": "Noisium", - "modrinth": "Noisium" - }, - "id": { - "curseforge": "930207", - "modrinth": "KuNKN7d2" - }, - "files": [ - { - "type": "curseforge", - "file_name": "noisium-forge-2.3.0+mc1.20-1.20.1.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5650/506/noisium-forge-2.3.0+mc1.20-1.20.1.jar", - "id": "5650506", - "parent_id": "930207", - "hashes": { - "sha1": "7da1cdf00c0ae5cad31e17f765f6ea021c8ac808", - "md5": "3a8e9a24408c991b3fb97685884f2cce" - }, - "required_dependencies": [], - "size": 218152, - "date_published": "2024-08-21T17:24:11.600Z" - }, - { - "type": "modrinth", - "file_name": "noisium-forge-2.3.0+mc1.20-1.20.1.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/KuNKN7d2/versions/gbYUKrDP/noisium-forge-2.3.0+mc1.20-1.20.1.jar", - "id": "gbYUKrDP", - "parent_id": "KuNKN7d2", - "hashes": { - "sha512": "5bc43bc1b748edcd63d074a8bb14d393d986c51e1933e1f38cd7a2dd2fd70dba5a46a6415f46d4a52c68e7e1e9ce101e54376ad04273df958608e2fdb43db502", - "sha1": "7da1cdf00c0ae5cad31e17f765f6ea021c8ac808" - }, - "required_dependencies": [], - "size": 218152, - "date_published": "2024-08-21T17:24:14.967570Z" - } - ] - }, { "pakku_id": "rZMUz1QjgqD53x3s", "type": "MOD", From a8d1bb1505d40a79d502578827ee744c005eac73 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 12:35:11 +0000 Subject: [PATCH 247/628] new venus stuff --- kubejs/assets/ad_astra/lang/en_us.json | 1 + kubejs/assets/beneath/lang/en_us.json | 6 +- .../betterend/blockstates/brimstone.json | 10 + .../blockstates/flavolite_pillar.json | 16 ++ .../blockstates/hydrothermal_vent.json | 10 + .../betterend/blockstates/lacugrove_bark.json | 10 + .../betterend/blockstates/lucernia_bark.json | 10 + .../blockstates/sandy_jadestone_pillar.json | 16 ++ .../blockstates/sulphur_crystal.json | 9 + .../betterend/blockstates/sulphuric_rock.json | 7 + .../blockstates/sulphuric_rock_pillar.json | 16 ++ .../betterend/blockstates/tube_worm.json | 24 ++ kubejs/assets/betterend/lang/en_us.json | 21 ++ .../models/block/brimstone_active.json | 6 + .../models/block/brimstone_normal.json | 6 + .../models/block/flavolite_pillar.json | 7 + .../models/block/hydrothermal_vent.json | 164 ++++++++++++ .../models/block/lacugrove_bark.json | 6 + .../models/block/lacugrove_bark_2.json | 6 + .../models/block/lacugrove_bark_3.json | 6 + .../models/block/lacugrove_bark_4.json | 6 + .../betterend/models/block/lucernia_bark.json | 6 + .../models/block/lucernia_bark_2.json | 6 + .../models/block/lucernia_bark_3.json | 6 + .../models/block/lucernia_bark_4.json | 6 + .../models/block/sandy_jadestone_pillar.json | 7 + .../models/block/sulphur_crystal_0.json | 6 + .../models/block/sulphur_crystal_1.json | 6 + .../models/block/sulphur_crystal_2.json | 6 + .../models/block/sulphuric_rock.json | 7 + .../models/block/sulphuric_rock_pillar.json | 7 + .../betterend/models/block/tube_worm_01.json | 95 +++++++ .../betterend/models/block/tube_worm_02.json | 95 +++++++ .../betterend/models/block/tube_worm_03.json | 108 ++++++++ .../models/item/hydrothermal_vent.json | 3 + .../models/item/sulphur_crystal.json | 6 + .../betterend/models/item/tube_worm.json | 6 + .../betterend/textures/block/brimstone.png | Bin 0 -> 223 bytes .../betterend/textures/block/flavolite.png | Bin 0 -> 222 bytes .../textures/block/flavolite_bricks.png | Bin 0 -> 222 bytes .../textures/block/flavolite_pillar_side.png | Bin 0 -> 212 bytes .../textures/block/flavolite_pillar_top.png | Bin 0 -> 215 bytes .../textures/block/flavolite_polished.png | Bin 0 -> 214 bytes .../textures/block/flavolite_tiles.png | Bin 0 -> 221 bytes .../betterend/textures/block/geyser_top.png | Bin 0 -> 190 bytes .../textures/block/inactive_brimstone.png | Bin 0 -> 223 bytes .../textures/block/lacugrove_log_side.png | Bin 0 -> 233 bytes .../textures/block/lacugrove_log_side_2.png | Bin 0 -> 232 bytes .../textures/block/lacugrove_log_side_3.png | Bin 0 -> 317 bytes .../textures/block/lacugrove_log_side_4.png | Bin 0 -> 329 bytes .../textures/block/lucernia_log_side.png | Bin 0 -> 220 bytes .../textures/block/lucernia_log_side_2.png | Bin 0 -> 224 bytes .../textures/block/sandy_jadestone.png | Bin 0 -> 187 bytes .../textures/block/sandy_jadestone_bricks.png | Bin 0 -> 192 bytes .../block/sandy_jadestone_pillar_side.png | Bin 0 -> 175 bytes .../block/sandy_jadestone_pillar_top.png | Bin 0 -> 191 bytes .../block/sandy_jadestone_polished.png | Bin 0 -> 186 bytes .../textures/block/sandy_jadestone_tiles.png | Bin 0 -> 161 bytes .../textures/block/sulphur_crystal_0.png | Bin 0 -> 157 bytes .../textures/block/sulphur_crystal_1.png | Bin 0 -> 177 bytes .../textures/block/sulphur_crystal_2.png | Bin 0 -> 192 bytes .../textures/block/sulphuric_rock.png | Bin 0 -> 213 bytes .../textures/block/sulphuric_rock_bricks.png | Bin 0 -> 203 bytes .../block/sulphuric_rock_pillar_side.png | Bin 0 -> 221 bytes .../block/sulphuric_rock_pillar_top.png | Bin 0 -> 217 bytes .../block/sulphuric_rock_polished.png | Bin 0 -> 998 bytes .../textures/block/sulphuric_rock_tiles.png | Bin 0 -> 178 bytes .../textures/block/sulphuric_rock_top.png | Bin 0 -> 190 bytes .../betterend/textures/block/tube_worm_1.png | Bin 0 -> 132 bytes .../betterend/textures/block/tube_worm_2.png | Bin 0 -> 135 bytes .../betterend/textures/block/tube_worm_3.png | Bin 0 -> 186 bytes .../textures/item/thermal_fungus.png | Bin 0 -> 248 bytes .../betterend/textures/item/tube_worm.png | Bin 0 -> 187 bytes .../loot_tables/blocks/hydrothermal_vent.json | 4 + .../loot_tables/blocks/sulphur_crystal.json | 20 ++ .../loot_tables/blocks/tube_worm.json | 4 + .../worldgen/noise_settings/venus_noise.json | 234 ++++++------------ .../loot_tables/blocks/sulfur_block.json | 30 +++ .../tfg/natural_blocks/recipes.rocks.js | 4 + kubejs/server_scripts/tfg/recipes.js | 1 + .../server_scripts/tfg/venus/recipes.venus.js | 22 ++ kubejs/server_scripts/tfg/venus/tags.venus.js | 25 ++ .../tfg/venus/blocks.venus_deco.js | 97 ++++++++ .../vintage_improvements/constants.js | 1 - 84 files changed, 1012 insertions(+), 169 deletions(-) create mode 100644 kubejs/assets/betterend/blockstates/brimstone.json create mode 100644 kubejs/assets/betterend/blockstates/flavolite_pillar.json create mode 100644 kubejs/assets/betterend/blockstates/hydrothermal_vent.json create mode 100644 kubejs/assets/betterend/blockstates/lacugrove_bark.json create mode 100644 kubejs/assets/betterend/blockstates/lucernia_bark.json create mode 100644 kubejs/assets/betterend/blockstates/sandy_jadestone_pillar.json create mode 100644 kubejs/assets/betterend/blockstates/sulphur_crystal.json create mode 100644 kubejs/assets/betterend/blockstates/sulphuric_rock.json create mode 100644 kubejs/assets/betterend/blockstates/sulphuric_rock_pillar.json create mode 100644 kubejs/assets/betterend/blockstates/tube_worm.json create mode 100644 kubejs/assets/betterend/models/block/brimstone_active.json create mode 100644 kubejs/assets/betterend/models/block/brimstone_normal.json create mode 100644 kubejs/assets/betterend/models/block/flavolite_pillar.json create mode 100644 kubejs/assets/betterend/models/block/hydrothermal_vent.json create mode 100644 kubejs/assets/betterend/models/block/lacugrove_bark.json create mode 100644 kubejs/assets/betterend/models/block/lacugrove_bark_2.json create mode 100644 kubejs/assets/betterend/models/block/lacugrove_bark_3.json create mode 100644 kubejs/assets/betterend/models/block/lacugrove_bark_4.json create mode 100644 kubejs/assets/betterend/models/block/lucernia_bark.json create mode 100644 kubejs/assets/betterend/models/block/lucernia_bark_2.json create mode 100644 kubejs/assets/betterend/models/block/lucernia_bark_3.json create mode 100644 kubejs/assets/betterend/models/block/lucernia_bark_4.json create mode 100644 kubejs/assets/betterend/models/block/sandy_jadestone_pillar.json create mode 100644 kubejs/assets/betterend/models/block/sulphur_crystal_0.json create mode 100644 kubejs/assets/betterend/models/block/sulphur_crystal_1.json create mode 100644 kubejs/assets/betterend/models/block/sulphur_crystal_2.json create mode 100644 kubejs/assets/betterend/models/block/sulphuric_rock.json create mode 100644 kubejs/assets/betterend/models/block/sulphuric_rock_pillar.json create mode 100644 kubejs/assets/betterend/models/block/tube_worm_01.json create mode 100644 kubejs/assets/betterend/models/block/tube_worm_02.json create mode 100644 kubejs/assets/betterend/models/block/tube_worm_03.json create mode 100644 kubejs/assets/betterend/models/item/hydrothermal_vent.json create mode 100644 kubejs/assets/betterend/models/item/sulphur_crystal.json create mode 100644 kubejs/assets/betterend/models/item/tube_worm.json create mode 100644 kubejs/assets/betterend/textures/block/brimstone.png create mode 100644 kubejs/assets/betterend/textures/block/flavolite.png create mode 100644 kubejs/assets/betterend/textures/block/flavolite_bricks.png create mode 100644 kubejs/assets/betterend/textures/block/flavolite_pillar_side.png create mode 100644 kubejs/assets/betterend/textures/block/flavolite_pillar_top.png create mode 100644 kubejs/assets/betterend/textures/block/flavolite_polished.png create mode 100644 kubejs/assets/betterend/textures/block/flavolite_tiles.png create mode 100644 kubejs/assets/betterend/textures/block/geyser_top.png create mode 100644 kubejs/assets/betterend/textures/block/inactive_brimstone.png create mode 100644 kubejs/assets/betterend/textures/block/lacugrove_log_side.png create mode 100644 kubejs/assets/betterend/textures/block/lacugrove_log_side_2.png create mode 100644 kubejs/assets/betterend/textures/block/lacugrove_log_side_3.png create mode 100644 kubejs/assets/betterend/textures/block/lacugrove_log_side_4.png create mode 100644 kubejs/assets/betterend/textures/block/lucernia_log_side.png create mode 100644 kubejs/assets/betterend/textures/block/lucernia_log_side_2.png create mode 100644 kubejs/assets/betterend/textures/block/sandy_jadestone.png create mode 100644 kubejs/assets/betterend/textures/block/sandy_jadestone_bricks.png create mode 100644 kubejs/assets/betterend/textures/block/sandy_jadestone_pillar_side.png create mode 100644 kubejs/assets/betterend/textures/block/sandy_jadestone_pillar_top.png create mode 100644 kubejs/assets/betterend/textures/block/sandy_jadestone_polished.png create mode 100644 kubejs/assets/betterend/textures/block/sandy_jadestone_tiles.png create mode 100644 kubejs/assets/betterend/textures/block/sulphur_crystal_0.png create mode 100644 kubejs/assets/betterend/textures/block/sulphur_crystal_1.png create mode 100644 kubejs/assets/betterend/textures/block/sulphur_crystal_2.png create mode 100644 kubejs/assets/betterend/textures/block/sulphuric_rock.png create mode 100644 kubejs/assets/betterend/textures/block/sulphuric_rock_bricks.png create mode 100644 kubejs/assets/betterend/textures/block/sulphuric_rock_pillar_side.png create mode 100644 kubejs/assets/betterend/textures/block/sulphuric_rock_pillar_top.png create mode 100644 kubejs/assets/betterend/textures/block/sulphuric_rock_polished.png create mode 100644 kubejs/assets/betterend/textures/block/sulphuric_rock_tiles.png create mode 100644 kubejs/assets/betterend/textures/block/sulphuric_rock_top.png create mode 100644 kubejs/assets/betterend/textures/block/tube_worm_1.png create mode 100644 kubejs/assets/betterend/textures/block/tube_worm_2.png create mode 100644 kubejs/assets/betterend/textures/block/tube_worm_3.png create mode 100644 kubejs/assets/betterend/textures/item/thermal_fungus.png create mode 100644 kubejs/assets/betterend/textures/item/tube_worm.png create mode 100644 kubejs/data/betterend/loot_tables/blocks/hydrothermal_vent.json create mode 100644 kubejs/data/betterend/loot_tables/blocks/sulphur_crystal.json create mode 100644 kubejs/data/betterend/loot_tables/blocks/tube_worm.json create mode 100644 kubejs/data/vintageimprovements/loot_tables/blocks/sulfur_block.json create mode 100644 kubejs/server_scripts/tfg/venus/recipes.venus.js diff --git a/kubejs/assets/ad_astra/lang/en_us.json b/kubejs/assets/ad_astra/lang/en_us.json index 600bf4bb5..761d75ef6 100644 --- a/kubejs/assets/ad_astra/lang/en_us.json +++ b/kubejs/assets/ad_astra/lang/en_us.json @@ -1,6 +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.ad_astra.oxygen_distributor": "Breathable Air Distributor", + "block.ad_astra.infernal_spire_block": "Infernal Spire", "block.ad_astra.moon_sand": "Lunar Sand", "block.ad_astra.moon_stone": "Raw Anorthosite", "block.ad_astra.moon_cobblestone": "Anorthosite Cobble", diff --git a/kubejs/assets/beneath/lang/en_us.json b/kubejs/assets/beneath/lang/en_us.json index 71b2c93f5..f890d42f0 100644 --- a/kubejs/assets/beneath/lang/en_us.json +++ b/kubejs/assets/beneath/lang/en_us.json @@ -3,11 +3,11 @@ "block.beneath.blackstone_pebble": "Loose Pyroxenite", "block.beneath.blackstone_aqueduct": "Pyroxenite Aqueduct", "block.beneath.loose_blackstone": "Loose Pyroxenite", - "block.beneath.ore.nether_cursecoal": "Anthracite Ore", + "block.beneath.ore.nether_cursecoal": "Migmatite Anthracite Ore", "block.beneath.ore.nether_cursecoal.prospected": "Anthracite", "block.beneath.cursecoal_pile": "Anthracite Pile", - "block.beneath.ore.blackstone_sylvite": "Sylvite Ore", - "block.beneath.crackrack": "Keratophyre", + "block.beneath.ore.blackstone_sylvite": "Pyroxenite Sylvite Ore", + "block.beneath.crackrack": "Raw Keratophyre", "block.beneath.soul_clay": "Muddy Clay", "block.beneath.wood.log.crimson": "Crimson Stem", "block.beneath.wood.stripped_log.crimson": "Stripped Crimson Stem", diff --git a/kubejs/assets/betterend/blockstates/brimstone.json b/kubejs/assets/betterend/blockstates/brimstone.json new file mode 100644 index 000000000..8f26b4f6c --- /dev/null +++ b/kubejs/assets/betterend/blockstates/brimstone.json @@ -0,0 +1,10 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/brimstone_active" }, + { "model": "betterend:block/brimstone_active", "y": 180 }, + { "model": "betterend:block/brimstone_normal" }, + { "model": "betterend:block/brimstone_normal", "y": 180 } + ] + } +} diff --git a/kubejs/assets/betterend/blockstates/flavolite_pillar.json b/kubejs/assets/betterend/blockstates/flavolite_pillar.json new file mode 100644 index 000000000..e17d208b8 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/flavolite_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=y": { + "model": "betterend:block/flavolite_pillar" + }, + "axis=z": { + "model": "betterend:block/flavolite_pillar", + "x": 90 + }, + "axis=x": { + "model": "betterend:block/flavolite_pillar", + "x": 90, + "y": 90 + } + } +} diff --git a/kubejs/assets/betterend/blockstates/hydrothermal_vent.json b/kubejs/assets/betterend/blockstates/hydrothermal_vent.json new file mode 100644 index 000000000..5ff455e55 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/hydrothermal_vent.json @@ -0,0 +1,10 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/hydrothermal_vent" }, + { "model": "betterend:block/hydrothermal_vent", "y": 90 }, + { "model": "betterend:block/hydrothermal_vent", "y": 180 }, + { "model": "betterend:block/hydrothermal_vent", "y": 270 } + ] + } +} diff --git a/kubejs/assets/betterend/blockstates/lacugrove_bark.json b/kubejs/assets/betterend/blockstates/lacugrove_bark.json new file mode 100644 index 000000000..11e6da40d --- /dev/null +++ b/kubejs/assets/betterend/blockstates/lacugrove_bark.json @@ -0,0 +1,10 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/lacugrove_bark", "weight": 5 }, + { "model": "betterend:block/lacugrove_bark_2", "weight": 5 }, + { "model": "betterend:block/lacugrove_bark_3" }, + { "model": "betterend:block/lacugrove_bark_4" } + ] + } +} diff --git a/kubejs/assets/betterend/blockstates/lucernia_bark.json b/kubejs/assets/betterend/blockstates/lucernia_bark.json new file mode 100644 index 000000000..8faa8f4d7 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/lucernia_bark.json @@ -0,0 +1,10 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/lucernia_bark", "weight": 6 }, + { "model": "betterend:block/lucernia_bark_2" }, + { "model": "betterend:block/lucernia_bark_3", "weight": 6 }, + { "model": "betterend:block/lucernia_bark_4" } + ] + } +} diff --git a/kubejs/assets/betterend/blockstates/sandy_jadestone_pillar.json b/kubejs/assets/betterend/blockstates/sandy_jadestone_pillar.json new file mode 100644 index 000000000..f7fda332b --- /dev/null +++ b/kubejs/assets/betterend/blockstates/sandy_jadestone_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=y": { + "model": "betterend:block/sandy_jadestone_pillar" + }, + "axis=z": { + "model": "betterend:block/sandy_jadestone_pillar", + "x": 90 + }, + "axis=x": { + "model": "betterend:block/sandy_jadestone_pillar", + "x": 90, + "y": 90 + } + } +} diff --git a/kubejs/assets/betterend/blockstates/sulphur_crystal.json b/kubejs/assets/betterend/blockstates/sulphur_crystal.json new file mode 100644 index 000000000..060336fc7 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/sulphur_crystal.json @@ -0,0 +1,9 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/sulphur_crystal_0" }, + { "model": "betterend:block/sulphur_crystal_1" }, + { "model": "betterend:block/sulphur_crystal_2" } + ] + } +} diff --git a/kubejs/assets/betterend/blockstates/sulphuric_rock.json b/kubejs/assets/betterend/blockstates/sulphuric_rock.json new file mode 100644 index 000000000..40d81957e --- /dev/null +++ b/kubejs/assets/betterend/blockstates/sulphuric_rock.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/sulphuric_rock" } + ] + } +} diff --git a/kubejs/assets/betterend/blockstates/sulphuric_rock_pillar.json b/kubejs/assets/betterend/blockstates/sulphuric_rock_pillar.json new file mode 100644 index 000000000..ca6a9e00c --- /dev/null +++ b/kubejs/assets/betterend/blockstates/sulphuric_rock_pillar.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=y": { + "model": "betterend:block/sulphuric_rock_pillar" + }, + "axis=z": { + "model": "betterend:block/sulphuric_rock_pillar", + "x": 90 + }, + "axis=x": { + "model": "betterend:block/sulphuric_rock_pillar", + "x": 90, + "y": 90 + } + } +} diff --git a/kubejs/assets/betterend/blockstates/tube_worm.json b/kubejs/assets/betterend/blockstates/tube_worm.json new file mode 100644 index 000000000..69543e40d --- /dev/null +++ b/kubejs/assets/betterend/blockstates/tube_worm.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north": [ + { "model": "betterend:block/tube_worm_01", "y": 180 }, + { "model": "betterend:block/tube_worm_02", "y": 180 }, + { "model": "betterend:block/tube_worm_03", "y": 180 } + ], + "facing=south": [ + { "model": "betterend:block/tube_worm_01" }, + { "model": "betterend:block/tube_worm_02" }, + { "model": "betterend:block/tube_worm_03" } + ], + "facing=east": [ + { "model": "betterend:block/tube_worm_01", "y": 270 }, + { "model": "betterend:block/tube_worm_02", "y": 270 }, + { "model": "betterend:block/tube_worm_03", "y": 270 } + ], + "facing=west": [ + { "model": "betterend:block/tube_worm_01", "y": 90 }, + { "model": "betterend:block/tube_worm_02", "y": 90 }, + { "model": "betterend:block/tube_worm_03", "y": 90 } + ] + } +} diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json index 7ebc3612a..41142b02d 100644 --- a/kubejs/assets/betterend/lang/en_us.json +++ b/kubejs/assets/betterend/lang/en_us.json @@ -14,6 +14,7 @@ "block.betterend.bolux_mushroom": "Bolux Mushroom Colony", "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony", "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony", + "block.betterend.brimstone": "Brimstone", "block.betterend.bushy_grass": "Novagrass", "block.betterend.bulb_moss": "Bulb Moss", "block.betterend.cave_bush": "Carmine Lamella", @@ -45,13 +46,20 @@ "block.betterend.filalux_wings": "Filalux Wings", "block.betterend.flamaea": "Flamaea Mushroom", "block.betterend.flammalix": "Flammalix Mushroom", + "block.betterend.flavolite": "Raw Leucitite", + "block.betterend.flavolite_bricks": "Leucitite Bricks", + "block.betterend.flavolite_pillar": "Leucitite Pillar", + "block.betterend.flavolite_polished": "Polished Leucitite", + "block.betterend.flavolite_tiles": "Leucitite Tiles", "block.betterend.fracturn": "Fracturn", "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", + "block.betterend.hydrothermal_vent": "Thermal Vent", "block.betterend.hydralux": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", + "block.betterend.lacugrove_bark": "Raw Adakite", "block.betterend.lamellarium": "Lamellarium", "block.betterend.lanceleaf": "Lanceleaf", "block.betterend.lanceleaf_small": "Lanceleaf Dagger", @@ -59,6 +67,7 @@ "block.betterend.lucernia_leaves": "Lucernia Lamella", "block.betterend.lucernia_leaves_fallen": "Small Lucernia Lamella", "block.betterend.lucernia_outer_leaves": "Lucernia Hyphae", + "block.betterend.lucernia_bark": "Fiendish Spire", "block.betterend.lutebus": "Lutebus", "block.betterend.magnula": "Magnula", "block.betterend.nightshade_moss": "Nox Moss", @@ -68,11 +77,23 @@ "block.betterend.rubinea": "Rubinea", "block.betterend.ruscus": "Ruscus Grass", "block.betterend.salteago": "Salteago", + "block.betterend.sandy_jadestone": "Raw Lamproite", + "block.betterend.sandy_jadestone_bricks": "Lamproite Bricks", + "block.betterend.sandy_jadestone_pillar": "Lamproite Pillar", + "block.betterend.sandy_jadestone_polished": "Polished Lamproite", + "block.betterend.sandy_jadestone_tiles": "Lamproite Tiles", "block.betterend.selagine": "Selagine", "block.betterend.shadow_berry": "Nox Berries", "block.betterend.shadow_berry_wild": "Wild Nox Berries", "block.betterend.shadow_berry_dead": "Dead Nox Berries", "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", + "block.betterend.sulphur_crystal": "Sulfur Crystal", + "block.betterend.sulphuric_rock": "Raw Ignimbrite", + "block.betterend.sulphuric_rock_bricks": "Ignimbrite Bricks", + "block.betterend.sulphuric_rock_pillar": "Ignimbrite Pillar", + "block.betterend.sulphuric_rock_polished": "Polished Ignimbrite", + "block.betterend.sulphuric_rock_tiles": "Ignimbrite Tiles", + "block.betterend.tube_worm": "Tube Worm", "block.betterend.twisted_moss": "Twisted Moss", "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", diff --git a/kubejs/assets/betterend/models/block/brimstone_active.json b/kubejs/assets/betterend/models/block/brimstone_active.json new file mode 100644 index 000000000..d7aa24865 --- /dev/null +++ b/kubejs/assets/betterend/models/block/brimstone_active.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/brimstone" + } +} diff --git a/kubejs/assets/betterend/models/block/brimstone_normal.json b/kubejs/assets/betterend/models/block/brimstone_normal.json new file mode 100644 index 000000000..da1bff0eb --- /dev/null +++ b/kubejs/assets/betterend/models/block/brimstone_normal.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/inactive_brimstone" + } +} diff --git a/kubejs/assets/betterend/models/block/flavolite_pillar.json b/kubejs/assets/betterend/models/block/flavolite_pillar.json new file mode 100644 index 000000000..c534dc009 --- /dev/null +++ b/kubejs/assets/betterend/models/block/flavolite_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "betterend:block/flavolite_pillar_top", + "side": "betterend:block/flavolite_pillar_side" + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/hydrothermal_vent.json b/kubejs/assets/betterend/models/block/hydrothermal_vent.json new file mode 100644 index 000000000..40f1962b6 --- /dev/null +++ b/kubejs/assets/betterend/models/block/hydrothermal_vent.json @@ -0,0 +1,164 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "parent": "block/block", + "textures": { + "particle": "betterend:block/sulphuric_rock", + "texture": "betterend:block/sulphuric_rock", + "rock_top": "betterend:block/sulphuric_rock_top", + "geyser_top": "betterend:block/geyser_top" + }, + "elements": [ + { + "__comment": "Box1", + "from": [ 9, 10, 8 ], + "to": [ 13, 16, 12 ], + "faces": { + "up": { "uv": [ 0, 0, 4, 4 ], "texture": "#geyser_top", "cullface": "up" }, + "north": { "uv": [ 3, 0, 7, 6 ], "texture": "#texture" }, + "south": { "uv": [ 9, 0, 13, 6 ], "texture": "#texture" }, + "west": { "uv": [ 8, 0, 12, 6 ], "texture": "#texture" }, + "east": { "uv": [ 4, 0, 8, 6 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 8, 0, 7 ], + "to": [ 14, 10, 13 ], + "faces": { + "down": { "uv": [ 5, 5, 11, 11 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 10, 5, 16, 11 ], "texture": "#geyser_top" }, + "north": { "uv": [ 5, 6, 11, 16 ], "texture": "#texture" }, + "south": { "uv": [ 5, 6, 11, 16 ], "texture": "#texture" }, + "west": { "uv": [ 5, 6, 11, 16 ], "texture": "#texture" }, + "east": { "uv": [ 5, 6, 11, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 4, 0, 1 ], + "to": [ 8, 5, 5 ], + "faces": { + "down": { "uv": [ 4, 11, 8, 15 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 4, 1, 8, 5 ], "texture": "#geyser_top" }, + "north": { "uv": [ 8, 11, 12, 16 ], "texture": "#texture" }, + "west": { "uv": [ 1, 11, 5, 16 ], "texture": "#texture" }, + "east": { "uv": [ 11, 11, 15, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 5, 5, 2 ], + "to": [ 7, 11, 4 ], + "faces": { + "up": { "uv": [ 0, 4, 2, 6 ], "texture": "#geyser_top" }, + "north": { "uv": [ 8, 5, 10, 11 ], "texture": "#texture" }, + "south": { "uv": [ 6, 5, 8, 11 ], "texture": "#texture" }, + "west": { "uv": [ 1, 5, 3, 11 ], "texture": "#texture" }, + "east": { "uv": [ 13, 5, 15, 11 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 1, 0, 8 ], + "to": [ 5, 8, 12 ], + "faces": { + "down": { "uv": [ 1, 4, 5, 8 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 5, 12, 9, 16 ], "texture": "#geyser_top" }, + "north": { "uv": [ 11, 8, 15, 16 ], "texture": "#texture" }, + "south": { "uv": [ 1, 8, 5, 16 ], "texture": "#texture" }, + "west": { "uv": [ 8, 8, 12, 16 ], "texture": "#texture" }, + "east": { "uv": [ 4, 8, 8, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box1", + "from": [ 2, 8, 9 ], + "to": [ 4, 14, 11 ], + "faces": { + "up": { "uv": [ 0, 4, 2, 6 ], "texture": "#geyser_top" }, + "north": { "uv": [ 12, 2, 14, 8 ], "texture": "#texture" }, + "south": { "uv": [ 2, 2, 4, 8 ], "texture": "#texture" }, + "west": { "uv": [ 9, 2, 11, 8 ], "texture": "#texture" }, + "east": { "uv": [ 5, 2, 7, 8 ], "texture": "#texture" } + } + }, + { + "__comment": "Box7", + "from": [ 2, 0, 4 ], + "to": [ 5, 4, 7 ], + "faces": { + "down": { "uv": [ 2, 9, 5, 12 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 9, 13, 12, 16 ], "texture": "#geyser_top" }, + "north": { "uv": [ 11, 12, 14, 16 ], "texture": "#texture" }, + "south": { "uv": [ 2, 12, 5, 16 ], "texture": "#texture" }, + "west": { "uv": [ 4, 12, 7, 16 ], "texture": "#texture" }, + "east": { "uv": [ 9, 12, 12, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box7", + "from": [ 3, 0, 13 ], + "to": [ 6, 4, 16 ], + "faces": { + "down": { "uv": [ 3, 0, 6, 3 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 9, 0, 12, 3 ], "texture": "#geyser_top" }, + "north": { "uv": [ 10, 12, 13, 16 ], "texture": "#texture" }, + "south": { "uv": [ 3, 12, 6, 16 ], "texture": "#texture", "cullface": "south" }, + "west": { "uv": [ 13, 12, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 12, 3, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box7", + "from": [ 12, 0, 2 ], + "to": [ 15, 4, 5 ], + "faces": { + "down": { "uv": [ 12, 11, 15, 14 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 9, 13, 12, 16 ], "texture": "#geyser_top" }, + "north": { "uv": [ 1, 12, 4, 16 ], "texture": "#texture" }, + "south": { "uv": [ 12, 12, 15, 16 ], "texture": "#texture" }, + "west": { "uv": [ 2, 12, 5, 16 ], "texture": "#texture" }, + "east": { "uv": [ 11, 12, 14, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box7", + "from": [ 7, 0, 3 ], + "to": [ 12, 7, 8 ], + "faces": { + "down": { "uv": [ 7, 8, 12, 13 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 4, 0, 9, 5 ], "texture": "#geyser_top" }, + "north": { "uv": [ 4, 9, 9, 16 ], "texture": "#texture" }, + "south": { "uv": [ 7, 9, 12, 16 ], "texture": "#texture" }, + "west": { "uv": [ 3, 9, 8, 16 ], "texture": "#texture" }, + "east": { "uv": [ 8, 9, 13, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box7", + "from": [ 4, 0, 9 ], + "to": [ 9, 7, 14 ], + "faces": { + "down": { "uv": [ 4, 2, 9, 7 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 4, 0, 9, 5 ], "texture": "#geyser_top" }, + "north": { "uv": [ 7, 9, 12, 16 ], "texture": "#texture" }, + "south": { "uv": [ 4, 9, 9, 16 ], "texture": "#texture" }, + "west": { "uv": [ 9, 9, 14, 16 ], "texture": "#texture" }, + "east": { "uv": [ 2, 9, 7, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "Box7", + "from": [ 3, 0, 5 ], + "to": [ 8, 9, 10 ], + "faces": { + "down": { "uv": [ 3, 6, 8, 11 ], "texture": "#rock_top", "cullface": "down" }, + "up": { "uv": [ 4, 0, 9, 5 ], "texture": "#geyser_top" }, + "north": { "uv": [ 8, 7, 13, 16 ], "texture": "#texture" }, + "south": { "uv": [ 3, 7, 8, 16 ], "texture": "#texture" }, + "west": { "uv": [ 5, 7, 10, 16 ], "texture": "#texture" }, + "east": { "uv": [ 6, 7, 11, 16 ], "texture": "#texture" } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/lacugrove_bark.json b/kubejs/assets/betterend/models/block/lacugrove_bark.json new file mode 100644 index 000000000..9f6d5616f --- /dev/null +++ b/kubejs/assets/betterend/models/block/lacugrove_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/lacugrove_log_side" + } +} diff --git a/kubejs/assets/betterend/models/block/lacugrove_bark_2.json b/kubejs/assets/betterend/models/block/lacugrove_bark_2.json new file mode 100644 index 000000000..086106bf1 --- /dev/null +++ b/kubejs/assets/betterend/models/block/lacugrove_bark_2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/lacugrove_log_side_2" + } +} diff --git a/kubejs/assets/betterend/models/block/lacugrove_bark_3.json b/kubejs/assets/betterend/models/block/lacugrove_bark_3.json new file mode 100644 index 000000000..0ebc7fd4e --- /dev/null +++ b/kubejs/assets/betterend/models/block/lacugrove_bark_3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/lacugrove_log_side_3" + } +} diff --git a/kubejs/assets/betterend/models/block/lacugrove_bark_4.json b/kubejs/assets/betterend/models/block/lacugrove_bark_4.json new file mode 100644 index 000000000..aba164716 --- /dev/null +++ b/kubejs/assets/betterend/models/block/lacugrove_bark_4.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/lacugrove_log_side_4" + } +} diff --git a/kubejs/assets/betterend/models/block/lucernia_bark.json b/kubejs/assets/betterend/models/block/lucernia_bark.json new file mode 100644 index 000000000..2d1d28db2 --- /dev/null +++ b/kubejs/assets/betterend/models/block/lucernia_bark.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/lucernia_log_side" + } +} diff --git a/kubejs/assets/betterend/models/block/lucernia_bark_2.json b/kubejs/assets/betterend/models/block/lucernia_bark_2.json new file mode 100644 index 000000000..1975f43dd --- /dev/null +++ b/kubejs/assets/betterend/models/block/lucernia_bark_2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/lucernia_log_side_2" + } +} diff --git a/kubejs/assets/betterend/models/block/lucernia_bark_3.json b/kubejs/assets/betterend/models/block/lucernia_bark_3.json new file mode 100644 index 000000000..98dacd59e --- /dev/null +++ b/kubejs/assets/betterend/models/block/lucernia_bark_3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_mirrored_all", + "textures": { + "all": "betterend:block/lucernia_log_side" + } +} diff --git a/kubejs/assets/betterend/models/block/lucernia_bark_4.json b/kubejs/assets/betterend/models/block/lucernia_bark_4.json new file mode 100644 index 000000000..9b91dce6b --- /dev/null +++ b/kubejs/assets/betterend/models/block/lucernia_bark_4.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_mirrored_all", + "textures": { + "all": "betterend:block/lucernia_log_side_2" + } +} diff --git a/kubejs/assets/betterend/models/block/sandy_jadestone_pillar.json b/kubejs/assets/betterend/models/block/sandy_jadestone_pillar.json new file mode 100644 index 000000000..03476c611 --- /dev/null +++ b/kubejs/assets/betterend/models/block/sandy_jadestone_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "betterend:block/sandy_jadestone_pillar_top", + "side": "betterend:block/sandy_jadestone_pillar_side" + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/sulphur_crystal_0.json b/kubejs/assets/betterend/models/block/sulphur_crystal_0.json new file mode 100644 index 000000000..9a3ff8de4 --- /dev/null +++ b/kubejs/assets/betterend/models/block/sulphur_crystal_0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/sulphur_crystal_0" + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/sulphur_crystal_1.json b/kubejs/assets/betterend/models/block/sulphur_crystal_1.json new file mode 100644 index 000000000..8474044dd --- /dev/null +++ b/kubejs/assets/betterend/models/block/sulphur_crystal_1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/sulphur_crystal_1" + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/sulphur_crystal_2.json b/kubejs/assets/betterend/models/block/sulphur_crystal_2.json new file mode 100644 index 000000000..279f1c3ed --- /dev/null +++ b/kubejs/assets/betterend/models/block/sulphur_crystal_2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/sulphur_crystal_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/sulphuric_rock.json b/kubejs/assets/betterend/models/block/sulphuric_rock.json new file mode 100644 index 000000000..1fea448f1 --- /dev/null +++ b/kubejs/assets/betterend/models/block/sulphuric_rock.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "betterend:block/sulphuric_rock_top", + "side": "betterend:block/sulphuric_rock" + } +} diff --git a/kubejs/assets/betterend/models/block/sulphuric_rock_pillar.json b/kubejs/assets/betterend/models/block/sulphuric_rock_pillar.json new file mode 100644 index 000000000..85734fb6b --- /dev/null +++ b/kubejs/assets/betterend/models/block/sulphuric_rock_pillar.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "betterend:block/sulphuric_rock_pillar_top", + "side": "betterend:block/sulphuric_rock_pillar_side" + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/tube_worm_01.json b/kubejs/assets/betterend/models/block/tube_worm_01.json new file mode 100644 index 000000000..ae2acdf57 --- /dev/null +++ b/kubejs/assets/betterend/models/block/tube_worm_01.json @@ -0,0 +1,95 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/tube_worm_3", + "worm3": "betterend:block/tube_worm_3", + "worm2": "betterend:block/tube_worm_2", + "worm1": "betterend:block/tube_worm_1" + }, + "elements": [ + { + "__comment": "PlaneX1", + "from": [ 8, 0, 0 ], + "to": [ 8.001, 9, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm3" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm3" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 11, 0, 0 ], + "to": [ 11.001, 9, 16 ], + "rotation": { "origin": [ 11, 0, 0 ], "axis": "y", "angle": 22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm1" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm1" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 5, 0, 0 ], + "to": [ 5.001, 9, 16 ], + "rotation": { "origin": [ 5, 0, 0 ], "axis": "y", "angle": -22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm2" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm2" } + } + }, + { + "__comment": "Box4", + "from": [ 11, 6, 3 ], + "to": [ 14, 11, 6 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 2, 6, 5 ], + "to": [ 5, 11, 8 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 6.5, 7, 9 ], + "to": [ 9.5, 12, 12 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 6.5, 9, 3 ], + "to": [ 9.5, 14, 6 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/tube_worm_02.json b/kubejs/assets/betterend/models/block/tube_worm_02.json new file mode 100644 index 000000000..dad765bfe --- /dev/null +++ b/kubejs/assets/betterend/models/block/tube_worm_02.json @@ -0,0 +1,95 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/tube_worm_3", + "worm3": "betterend:block/tube_worm_3", + "worm2": "betterend:block/tube_worm_2", + "worm1": "betterend:block/tube_worm_1" + }, + "elements": [ + { + "__comment": "PlaneX1", + "from": [ 8, 0, 0 ], + "to": [ 8.001, 9, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm2" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm2" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 11, 0, 0 ], + "to": [ 11.001, 9, 16 ], + "rotation": { "origin": [ 11, 0, 0 ], "axis": "y", "angle": 22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm3" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm3" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 5, 0, 0 ], + "to": [ 5.001, 9, 16 ], + "rotation": { "origin": [ 5, 0, 0 ], "axis": "y", "angle": -22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm2" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm2" } + } + }, + { + "__comment": "Box4", + "from": [ 6.5, 6, 5.5 ], + "to": [ 9.5, 11, 8.5 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 1, 6, 5 ], + "to": [ 4, 11, 8 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 13.5, 7, 9 ], + "to": [ 16.5, 12, 12 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 11.5, 9, 3 ], + "to": [ 14.5, 14, 6 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/tube_worm_03.json b/kubejs/assets/betterend/models/block/tube_worm_03.json new file mode 100644 index 000000000..90a0db4a7 --- /dev/null +++ b/kubejs/assets/betterend/models/block/tube_worm_03.json @@ -0,0 +1,108 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/tube_worm_3", + "worm3": "betterend:block/tube_worm_3", + "worm2": "betterend:block/tube_worm_2", + "worm1": "betterend:block/tube_worm_1" + }, + "elements": [ + { + "__comment": "PlaneX1", + "from": [ 8, 0, 0 ], + "to": [ 8.001, 9, 16 ], + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm2" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm2" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 11, 0, 0 ], + "to": [ 11.001, 9, 16 ], + "rotation": { "origin": [ 11, 0, 0 ], "axis": "y", "angle": 22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm3" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm3" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 5, 0, 0 ], + "to": [ 5.001, 9, 16 ], + "rotation": { "origin": [ 5, 0, 0 ], "axis": "y", "angle": -22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 16, 7, 0, 16 ], "texture": "#worm3" }, + "east": { "uv": [ 0, 7, 16, 16 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 6.5, 6, 5.5 ], + "to": [ 9.5, 11, 8.5 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 14, 7, 9 ], + "to": [ 17, 12, 12 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 11.5, 9, 3 ], + "to": [ 14.5, 14, 6 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ 1.5, 9, 3 ], + "to": [ 4.5, 14, 6 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + }, + { + "__comment": "Box4", + "from": [ -1, 7, 9 ], + "to": [ 2, 12, 12 ], + "faces": { + "down": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "up": { "uv": [ 10, 0, 13, 3 ], "texture": "#worm3" }, + "north": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "south": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "west": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" }, + "east": { "uv": [ 13, 0, 16, 5 ], "texture": "#worm3" } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/item/hydrothermal_vent.json b/kubejs/assets/betterend/models/item/hydrothermal_vent.json new file mode 100644 index 000000000..df7a31771 --- /dev/null +++ b/kubejs/assets/betterend/models/item/hydrothermal_vent.json @@ -0,0 +1,3 @@ +{ + "parent": "betterend:block/hydrothermal_vent" +} diff --git a/kubejs/assets/betterend/models/item/sulphur_crystal.json b/kubejs/assets/betterend/models/item/sulphur_crystal.json new file mode 100644 index 000000000..899b962fa --- /dev/null +++ b/kubejs/assets/betterend/models/item/sulphur_crystal.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/sulphur_crystal_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/item/tube_worm.json b/kubejs/assets/betterend/models/item/tube_worm.json new file mode 100644 index 000000000..d754a00c5 --- /dev/null +++ b/kubejs/assets/betterend/models/item/tube_worm.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:item/tube_worm" + } +} diff --git a/kubejs/assets/betterend/textures/block/brimstone.png b/kubejs/assets/betterend/textures/block/brimstone.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c11d99a4944516b89a63a5333325c8e4143cb4 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdp969eo`c7&i8E|4C$JU|=u^ z@Ck8U(jl^Ay40}^I_D4BF%SWm=I@-rz`zjY>Eaktaf|gJBO|jR5A(*;^BnF9{;=Q> z`~2Lj^UUeeLuInRY!uF~YA7`cMDZ p`86)rXjw7)W%u^{n%>Qe^8TGL;q?zafAky3F`lk|F6*2UngI2AMY8|^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/flavolite.png b/kubejs/assets/betterend/textures/block/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-TTQUiW*SB}~yt}jQ!|jcq zZmoHBY4PJzvu_`od}Vj{xvecHH`E?kUB2mh<0b|Mh6+y?$B+s})`N|OM+_Ja8w8bo zyTASWG_Dz(zFZEEkKb$kT>eAW-RvA&%kP3tDe-6L`iliwX1wz_HD}#~8?8~{3BhId z5mN8N4J6bYE;CHz|JKKI?$_OfzZx1I5tDn{r6(wHGxbcgvAR=v^x9^D$cz~mt5X$v ca(=QebnuRyqx)|b0|Nttr>mdKI;Vst0DK)@&Hw-a literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/flavolite_pillar_side.png b/kubejs/assets/betterend/textures/block/flavolite_pillar_side.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2e5468e31798aac117e0518b9c2e5d9307e1af GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUiW*SB}~yt}jQ!|jcq zZmoHBY4PJzvu_`od}Vj{xvecHH`E?kUB2mh<0b|MhCELf$B+s})`N|?hZ%U74ZJij zeEnaY+*@O}ujcXX-;bA9l&QUiW*SB}~yt}jQ!|jcq zZmoHBY4PJzvu_`od}Vj{xvecHH`E?kUB2mh<0b|MhC)vl$B+s})`N|XhaCi%4Ss&o zePgfZdCo(U;epkb;uJLalE%>@UCEaq-%=O1u(zj2xsa@xJR5GM1VCF`KAC_5emz9dv@tZLGR|~aw V*u&nG%D}+D;OXk;vd$@?2>^;DT8;n! literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/flavolite_polished.png b/kubejs/assets/betterend/textures/block/flavolite_polished.png new file mode 100644 index 0000000000000000000000000000000000000000..14c07cf6264e9212d86f4bd8f6db8b799ca502f0 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUiW*SB}~yt}jQ!|jcq zZmoHBY4PJzvu_`od}Vj{xvecHH`E?kUB2mh<0b|Mh5}C)$B+s})`N|VhZT634J1@ZCl&p zJ6$lec6ImZEhe#-cP;8%tCCe#p7z93E6qjPUGV?_ literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/flavolite_tiles.png b/kubejs/assets/betterend/textures/block/flavolite_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..3ee5436a63098011a2bc5a84c4638005ec590138 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUiW*SB}~yt}jQ!|jcq zZmoHBY4PJzvu_`od}Vj{xvecHH`E?kUB2mh<0b|MhH_6A$B+s})`J@x?=bK%8w5<- z`+v*Ie@7T*BwkBMyMFur>ihS%UCO_5neCIXv8UQwkNNh`CV3R8&y!GlU^sd6xs2>T zi^}3NZ$vaC%JFRexa{fg?{hQv&&_D^Ui9spO1g@ucZfoibxctBoygovvkE_zJkL(J dx8NuL#CnT`N%!tIFfcGMc)I$ztaD0e0s!+`Wr+X) literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/geyser_top.png b/kubejs/assets/betterend/textures/block/geyser_top.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc22b0f12252bf9f09bebbe2898166e2ff81c70 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdoVYd_r8y<6?8dLKA#_LS39a ztt{;g4Hy_0woE!am4SgF#nZ(xq#`c1=QMAFf`Ci8WrY~eyhu(~1z8TWge|Qv_p@xC zQ1QV;|Fg1iLk@8E&lvkVLj44$rjF6*2UngEHaK_mbG literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/inactive_brimstone.png b/kubejs/assets/betterend/textures/block/inactive_brimstone.png new file mode 100644 index 0000000000000000000000000000000000000000..0c0b22af919c2ce18843929ac76fadbb7d0b8f51 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdp969eo`c7&i8E|4C$JU|=u^ z@Ck99n8vrbL}X2i{O*O83`BtD6`$TQFfc@Ux;TbZ++sb*$jEHS!@TkIJcql2KP))J zK0i0>JafAAP?_v68-??$8j6f=bL><e+wxqr3rl(}!!k3`Mq()Rk!adW+z{?k8p pevQjDT2{<{*}Xl#rg!tAyniQ5c>P1qAN>Y$jHj!g%Q~loCIHbQMaBRC literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/lacugrove_log_side.png b/kubejs/assets/betterend/textures/block/lacugrove_log_side.png new file mode 100644 index 0000000000000000000000000000000000000000..885e2800edee1c8b2d9610c25fe11f89f9bac22a GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdr%jd_r93RmDs#3U5gAE{k@{ z4t7ZPwFz@JaW>U5(^C4OZQ{njz|iUG;uum9$9ixhUz33d>xJK95uMEIHr$Zc*iy~A z!TC^@NL+Z9cB(1MpWO3~38yzd;>@0Tsdu^z-=Y&QeLuK)Ppxdee8b?>-s6^&B%bOk z-D=vl+uL#D`|W1J8tc|4W-o2JQux6pJ7kvHd!gP{hf8!S+uQE8@9e9HITWR4`q1+s j_r;VC&u;W)J(breRWb2-8WzUDz`)??>gTe~DWM4f`Wsr+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/lacugrove_log_side_2.png b/kubejs/assets/betterend/textures/block/lacugrove_log_side_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1e4ddac3130a5c346cc1bdfa3f0e88a781ec92eb GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdr%jd_r93RmDs#3U5gAE{k@{ z4t7ZPwFz@JaW>U5(^C4OZQ{njz|i68;uum9$9m9EsL4Qp^}>9STkj$qa+}o|_$DyE zJ=~+qv1Y9zcV=nAr0m~vE%$A%+a&J(81O;8**bXsO4oz;r(Su&`{?kA;@j3o9$ar- z;;iJkQU{g=&i+7nM_e< z^#0ecFbZc7neT%5-Cdcem1ekqE33>=G+2J zQ=3f_ci+-owf)?|ED_J%8$Ag@O!v!HA9>$6gT>*;(yNCB!%WQU;E*no%G zq49J~#;u%V0qiIL|5qyynD|HeXEEzZ&W}e<@0jn{#_RO^VL{!SErNNBPfg@kO_^Q9 zHtVZx@K%+wbxy{Q{B$k(u4;Yxdt*^l9-}VjubS#RS9jfskz&j1FArre2s|t!csqac zL$%U#M@}o>ZtE&5(K}wXE^E8SuF|zGldsgVDrNL;?@hpB)N!=Z9tKKB`A#V!8t h7acx3)%ZW-EmOf)r;HxFWnf@n@O1TaS?83{1OUE^g4+N9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/lucernia_log_side.png b/kubejs/assets/betterend/textures/block/lucernia_log_side.png new file mode 100644 index 0000000000000000000000000000000000000000..37402358276940d5ce2245fcd952288642d80e24 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUVS)R|WQUVS)R|W?6OX)Wja(ld!43Bo-tQx|Lxuxl_Br)jwwk` zb(H&kp_waU|IRlHnw}X?kQOnxefXZDXpP*-at_`ZIp1?NMBCR|OzFCL_nlbdsbP0l+XkKNqtUw literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/sandy_jadestone.png b/kubejs/assets/betterend/textures/block/sandy_jadestone.png new file mode 100644 index 0000000000000000000000000000000000000000..256ca2f7979087a748741d9a1ff9792e91a118c7 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdm+fgWR1M)}51i$-uzCAK(+> 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/betterend/textures/block/sandy_jadestone_bricks.png b/kubejs/assets/betterend/textures/block/sandy_jadestone_bricks.png new file mode 100644 index 0000000000000000000000000000000000000000..939a6e8d839932dd95757b93ed14f5a64462af1a GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUujbMuD4s7#J8LJzX3_D&lPW9QhawIhX`r{NKOl zV(7B~X{pl-3PL_JOf-2p?-R4f$q@Eg4{ol%$#~{=Zbnmmrk~`|WqgOv{y#q9-;X8r vwG;k*?K~Dc;on!sU)R~M*V}a*_*IjT#k9x6VZ|E;1_lOCS3j3^P6QUtE6ALL?C;9w4T{^o!E zPEXCU*B@?7n6M=xZ}P-{1`PbR$&SmsL{h>s9Tv8QVin^ZI?~E^Jct dKemN2Ybw*+WsiC#7#J8BJYD@<);T3K0RSZ(J6iw% literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/sandy_jadestone_pillar_top.png b/kubejs/assets/betterend/textures/block/sandy_jadestone_pillar_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d961081ba2bac0992635fb67e840981e4ccf997f GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUr$Ax%mz#a5zWXec%6S ziqYJ4o}!(#TuRLH!VlXyw_grc*&4R+O+ZKRO&QUujbMuD4s7#J9WJzX3_Di~Q0HZn3B@*Gi^QuTl0 ze=bvoC40=(zErXw){tQnIyLcV(p=wfX^V{2julM!HQ|ZEj1!CPjQ;p-PU)CqaN^YD og?4}BBs~hHR3!JdGrZyNHdG4InZtaTfq{X+)78&qol`;+0D(|GE&u=k literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/sandy_jadestone_tiles.png b/kubejs/assets/betterend/textures/block/sandy_jadestone_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..761ca2fbe4e9afc457caec1ff5fd7b2663ed36b1 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUujbMuD4s7#J9=JY5_^D&o$b+sMf5$aC1h*7fcF zqE(-HR$fqwpQK_lndy;a#!=(TzUQwnSqCq?`;+m(Jjc@8#`T|mFnTpJEiJig0J4+8 M)78&qol`;+03T8{%K!iX literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/sulphur_crystal_0.png b/kubejs/assets/betterend/textures/block/sulphur_crystal_0.png new file mode 100644 index 0000000000000000000000000000000000000000..7620e8daef8751ab467138994677315d45dacbb9 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^xl_H+M9WMyDr z2=R1r45_%4{Nw+BduG)ci4qb9Ty3@%8$7<*8^v8xbc#9BEYkF$?`6>c{@e?V$%}X# zud!TWSae=~lkz!+8EF&P1l-E3ID~T*=VhGglIfAj5A*q3>lv7|9@ zG@A(JGI$93Fz*sikXWCVGCOfwv%xM2N9Ke&_iH^mZPy!AWt9?oPP-~t?)ld)$#Ce# eA%?pQ45t0I6X%F4w=gg;FnGH9xvX~XUff9&f|@cB$mW$0kb zR6EU(6W5S9M{0UW#~=2@l-Z6F&t&(kbG+8_uD-;sP0`@20;>W~vDq0{13SO)1?*xR thfNOeX_3>DU|Ya0p~pNSnPZ7KLuI$)PXjaGHUQJqfcnhou)WqNLt=U-wgUf08S z;n_avXeqVaFt)YRI&ZHo)^T3tegC*YpSwA4QZ+YwX|S#8lmMl#?B8b#8sGF5+rq%W Oz~JfX=d#Wzp$P!Vi%anU literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/sulphuric_rock_bricks.png b/kubejs/assets/betterend/textures/block/sulphuric_rock_bricks.png new file mode 100644 index 0000000000000000000000000000000000000000..d8411976da1363eac97a1eec0850d183443c1de1 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdp969eo`c7&i8E|4C$JU|S;`*ygxB5uRoZTc&A%4H??&zz|EMp^xtK;KMbW!B60AE@0ZJ1ss>e9gD> zMw6DN2`byYww%UlSZuwSNhdE>C*av#m7L$({<6pDN=}(nnZVD$z`)??>gTe~DWM4f DGY~`5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/block/sulphuric_rock_pillar_side.png b/kubejs/assets/betterend/textures/block/sulphuric_rock_pillar_side.png new file mode 100644 index 0000000000000000000000000000000000000000..26b4c9160b9f03398a2ae3ab94024571e3e356af GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdp969eo`c7&i8E|4C$JU|^67 z@Ck7(kBcpfjmZcON)HN5@b!uJ@eXlv40d$zw6e4}G&pzZ)j|dahAdAP$B>FR)kBVa z%?ctc7dqWnxW-C5-IeB0SD54f=kxO&zS;K<|9w>Vwr7XZi)?eSx<2(Ydb9G z>gIAw_}$1ld(91&d2=Ey4jcVX$SuiR+}t~Ns;rINhr^R6slQkp8mb*4pHN%Fn0LXT VTFIcRm4ShQ!PC{xWt~$(699Iu@b$?E4l0X{VZaT3i596aFffF8x;TbZ+zLH=koSNBN9)7% z%jM$1><mPm2yC7;VJ qQYh`Zlk+9_+&OhGYpeh3L#r4$T!cE@<5)^SwtKqzxvXQUdrvD%dqV?;Q7{?;!y*Kh zeU@`$U|?V@3Gxg6C-s=UmVtp`il>WXNJX4!|7o$q3LLELCfv96F8%-SSNthJN99|d zzz!abY|$4go?9NC?-9ANS!$N6!Ow4R4~L}Jr-xWvy>h2WOvl}Q_H|KaNvo{csU{On zeNwlPP_@mS-ft4=r5 ryyum&>q_rW{OWOyP_|P~;1~Lp(~IP4g7aBrHi*y*E4he7e;A zT$#5uuMfEHo2#>Chfl3wmqVOq?~RC~8w;;Ro{3u5FYvx%G4E*^zgNNM7I)>BmU)NY qyB2XIqTT0W#*4>*sj5>gJ5eog^;-HQyTaEm1ciWr#*v7EHj=Hk+7l+e*T l=XOdUR!8rc!Q>bQ_7=|5>%8SpGcYhPc)I$ztaD0e0swJ;IX3_R literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/item/thermal_fungus.png b/kubejs/assets/betterend/textures/item/thermal_fungus.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1056d15d8e374795d7ebc31c4e2461c94f932e GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdp969eo`c7&i8E|4C$JU|=u^ z@CkAK|NlP&1H<>Hr_OAhxoJV`%HHys9p&BmF*OOkMae;h5w6kxj`6Oh`r@3@EDXX7 z41GEakt5tp3cz;JJOf>*=CYpeKqc$#>a_IRJZ z?ksV7b=E&;iPc%F^f;QXl*sVMb0>Y6Z+Vq3t-$K{8Yb^Tshww;HPdD+nzWPg%#0i} y=^Ufw-M85clB2!Mj;xz|*~~%W&hCRI45v-x%GPbLKgz(sz~JfX=d#Wzp$P!5{#UC2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/betterend/textures/item/tube_worm.png b/kubejs/assets/betterend/textures/item/tube_worm.png new file mode 100644 index 0000000000000000000000000000000000000000..6159c2909f0c767ddbe2d6fb3c0cf7a131291158 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdmu-d_r9R|Nnnx&+7F{r_Stc zD#(bR92nMa?GYL1S*2?gEu(88DF4gvt^@-E17k^$UoeBivm0p)3=AHgE{-7;amfh| z4Kt0^8#2#byP#)~>~`c#CZE8}Z7HG~F02Z5J;W#QRHy3&kNS!!-3u&34((vj3gioX nn8UaA^iGCT3GIdo3=A&X{9LU}({dRY7#KWV{an^LB{Ts59dJLh literal 0 HcmV?d00001 diff --git a/kubejs/data/betterend/loot_tables/blocks/hydrothermal_vent.json b/kubejs/data/betterend/loot_tables/blocks/hydrothermal_vent.json new file mode 100644 index 000000000..c1e0b0905 --- /dev/null +++ b/kubejs/data/betterend/loot_tables/blocks/hydrothermal_vent.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "pools": [] +} \ No newline at end of file diff --git a/kubejs/data/betterend/loot_tables/blocks/sulphur_crystal.json b/kubejs/data/betterend/loot_tables/blocks/sulphur_crystal.json new file mode 100644 index 000000000..dd6e85c07 --- /dev/null +++ b/kubejs/data/betterend/loot_tables/blocks/sulphur_crystal.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:sulfur_dust" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/betterend/loot_tables/blocks/tube_worm.json b/kubejs/data/betterend/loot_tables/blocks/tube_worm.json new file mode 100644 index 000000000..c1e0b0905 --- /dev/null +++ b/kubejs/data/betterend/loot_tables/blocks/tube_worm.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "pools": [] +} \ 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 9fba408ca..628dfa3e8 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -293,14 +293,14 @@ "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:powder_snow", - "min_threshold": -0.2, - "max_threshold": -0.1 + "min_threshold": -0.3, + "max_threshold": 0 }, "then_run": { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", - "offset": 2, + "offset": 1, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 @@ -313,32 +313,6 @@ } } }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": -0.3, - "max_threshold": 0.0 - }, - "then_run": { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 2, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "kubejs_tfc:rock", - "rock_block": "cobble", - "fallback_state": { - "Name": "ad_astra:venus_cobblestone" - } - } - } - }, { "type": "minecraft:condition", "if_true": { @@ -351,16 +325,15 @@ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", - "offset": 2, + "offset": 1, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { - "type": "kubejs_tfc:rock", - "rock_block": "raw", - "fallback_state": { - "Name": "ad_astra:venus_stone" + "type": "minecraft:block", + "result_state": { + "Name": "betterend:flavolite" } } } @@ -369,7 +342,7 @@ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", - "offset": 2, + "offset": 1, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 @@ -380,6 +353,23 @@ "Name": "ad_astra:conglomerate" } } + }, + { + "type": "tfg:badlands", + "raw_rock_weight": 20, + "palette": [ + { "Name": "create:ochrum" }, + { "Name": "betterend:sandy_jadestone" }, + { "Name": "betterend:sandy_jadestone" }, + { "Name": "betterend:sandy_jadestone" }, + { "Name": "betterend:sandy_jadestone" }, + { "Name": "betterend:flavolite" }, + { "Name": "betterend:flavolite" }, + { "Name": "betterend:flavolite" } + ], + "fallback": { + "Name": "ad_astra:venus_stone" + } } ] } @@ -3316,13 +3306,12 @@ { "type": "minecraft:condition", "if_true": { - "type": "minecraft:vertical_gradient", - "random_name": "sulfuric_ravine_sea_level", - "true_at_and_below": { - "absolute": 58 - }, - "false_at_and_above": { - "absolute": 60 + "type": "minecraft:not", + "invert": { + "type": "minecraft:water", + "offset": 1, + "surface_depth_multiplier": 0, + "add_stone_depth": false } }, "then_run": { @@ -3333,10 +3322,11 @@ { "type": "minecraft:condition", "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.1, - "max_threshold": 0.2 + "type": "minecraft:stone_depth", + "offset": 1, + "surface_type": "floor", + "add_surface_depth": false, + "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:sequence", @@ -3344,11 +3334,10 @@ { "type": "minecraft:condition", "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 }, "then_run": { "type": "minecraft:block", @@ -3358,39 +3347,10 @@ { "type": "minecraft:condition", "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": 0.0, - "max_threshold": 0.3 - }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.0, + "max_threshold": 0.3 }, "then_run": { "type": "minecraft:block", @@ -3400,39 +3360,10 @@ { "type": "minecraft:condition", "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } - } - } - ] - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "minecraft:powder_snow", - "min_threshold": -0.4, - "max_threshold": 0.7 - }, - "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": -0.4, + "max_threshold": 0.7 }, "then_run": { "type": "minecraft:block", @@ -3440,58 +3371,31 @@ } }, { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/yellow" } - } + "type": "minecraft:block", + "result_state": { "Name": "tfc:sand/black" } } ] } }, { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 1, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { - "Name": "tfc:sand/black" - } - } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 3, - "surface_type": "floor", - "add_surface_depth": false, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { - "Name": "tfc:raw_sandstone/black" - } - } - } - ] + "type": "tfg:badlands", + "raw_rock_weight": 5, + "palette": [ + { "Name": "create:scoria" }, + { "Name": "create:ochrum" }, + { "Name": "betterend:sulphuric_rock" }, + { "Name": "betterend:sandy_jadestone" }, + { "Name": "betterend:lacugrove_bark" }, + { "Name": "tfg:sandstone/raw/fluorapatite/brown" }, + { "Name": "tfg:sandstone/raw/fluorapatite/orange" }, + { "Name": "tfg:sandstone/raw/fluorapatite/yellow" }, + { "Name": "tfg:sandstone/raw/fluorapatite/yellow" }, + { "Name": "tfg:sandstone/raw/fluorapatite/yellow" }, + { "Name": "tfc:raw_sandstone/black" } + ], + "fallback": { + "Name": "ad_astra:venus_stone" + } } ] } @@ -4522,7 +4426,7 @@ }, "then_run": { "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + "result_state": { "Name": "tfg:sand/fluorapatite/brown" } } }, { diff --git a/kubejs/data/vintageimprovements/loot_tables/blocks/sulfur_block.json b/kubejs/data/vintageimprovements/loot_tables/blocks/sulfur_block.json new file mode 100644 index 000000000..390c620e6 --- /dev/null +++ b/kubejs/data/vintageimprovements/loot_tables/blocks/sulfur_block.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:raw_sulfur", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3, + "type": "minecraft:uniform" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index da873e89a..436a5b12b 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -1162,6 +1162,10 @@ function registerTFGRockRecipes(event) { { block: 'create:ochrum', dimension: 'ad_astra:mars' }, { block: 'create:scoria', dimension: 'ad_astra:venus' }, { block: 'minecraft:tuff', dimension: 'ad_astra:venus' }, + { block: 'betterend:flavolite', dimension: 'ad_astra:venus' }, + { block: 'betterend:sandy_jadestone', dimension: 'ad_astra:venus' }, + { block: 'betterend:sulphuric_rock', dimension: 'ad_astra:venus' }, + { block: 'betterend:brimstone', dimension: 'ad_astra:venus' }, { block: 'ad_astra:mercury_stone', dimension: 'ad_astra:mercury' }, { block: 'ad_astra:mercury_cobblestone', dimension: 'ad_astra:mercury' }, { block: 'create:crimsite', dimension: 'ad_astra:mercury' }, diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index e078a55b3..43f6d5572 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -79,5 +79,6 @@ const registerTFGRecipes = (event) => { registerTFGMarsIodineRecipes(event) registerTFGMarsOstrumRecipes(event) + registerTFGVenusRecipes(event) registerTFGBiochemRecipes(event) } diff --git a/kubejs/server_scripts/tfg/venus/recipes.venus.js b/kubejs/server_scripts/tfg/venus/recipes.venus.js new file mode 100644 index 000000000..51e2a90cc --- /dev/null +++ b/kubejs/server_scripts/tfg/venus/recipes.venus.js @@ -0,0 +1,22 @@ +"use strict"; + +function registerTFGVenusRecipes(event) { + + event.stonecutting('betterend:flavolite', '#tfg:leucitite_blocks') + event.stonecutting('betterend:flavolite_bricks', '#tfg:leucitite_blocks') + event.stonecutting('betterend:flavolite_pillar', '#tfg:leucitite_blocks') + event.stonecutting('betterend:flavolite_polished', '#tfg:leucitite_blocks') + event.stonecutting('betterend:flavolite_tiles', '#tfg:leucitite_blocks') + + event.stonecutting('betterend:sandy_jadestone', '#tfg:lamproite_blocks') + event.stonecutting('betterend:sandy_jadestone_bricks', '#tfg:lamproite_blocks') + event.stonecutting('betterend:sandy_jadestone_pillar', '#tfg:lamproite_blocks') + event.stonecutting('betterend:sandy_jadestone_polished', '#tfg:lamproite_blocks') + event.stonecutting('betterend:sandy_jadestone_tiles', '#tfg:lamproite_blocks') + + event.stonecutting('betterend:sulphuric_rock', '#tfg:ignimbrite_blocks') + event.stonecutting('betterend:sulphuric_rock_bricks', '#tfg:ignimbrite_blocks') + event.stonecutting('betterend:sulphuric_rock_pillar', '#tfg:ignimbrite_blocks') + event.stonecutting('betterend:sulphuric_rock_polished', '#tfg:ignimbrite_blocks') + event.stonecutting('betterend:sulphuric_rock_tiles', '#tfg:ignimbrite_blocks') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 493030147..3b1054640 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -1,7 +1,23 @@ "use strict"; function registerTFGVenusItemTags(event) { + event.add('tfg:leucitite_blocks', 'betterend:flavolite') + event.add('tfg:leucitite_blocks', 'betterend:flavolite_bricks') + event.add('tfg:leucitite_blocks', 'betterend:flavolite_pillar') + event.add('tfg:leucitite_blocks', 'betterend:flavolite_polished') + event.add('tfg:leucitite_blocks', 'betterend:flavolite_tiles') + event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone') + event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_bricks') + event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_pillar') + event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_polished') + event.add('tfg:lamproite_blocks', 'betterend:sandy_jadestone_tiles') + + event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock') + event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_bricks') + event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_pillar') + event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_polished') + event.add('tfg:ignimbrite_blocks', 'betterend:sulphuric_rock_tiles') } @@ -63,6 +79,13 @@ function registerTFGVenusBlockTags(event) { 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', 'minecraft:tuff') + event.add('ad_astra:venus_stone_replaceables', 'betterend:brimstone') + event.add('ad_astra:venus_stone_replaceables', 'betterend:flavolite') + event.add('ad_astra:venus_stone_replaceables', 'betterend:sandy_jadestone') + event.add('ad_astra:venus_stone_replaceables', 'betterend:sulphuric_rock') + event.add('ad_astra:venus_stone_replaceables', 'betterend:flavolite') + event.add('ad_astra:venus_stone_replaceables', 'betterend:lacugrove_bark') + event.add('ad_astra:venus_stone_replaceables', 'betterend:lucernia_bark') event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') @@ -72,6 +95,8 @@ function registerTFGVenusBlockTags(event) { event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/orange') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/white') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/yellow') + + event.add('tfg:decorative_plant_attachable', 'betterend:sulphuric_rock') } function registerTFGVenusBiomeTags(event) { diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index 4e6961652..225b263e2 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -173,4 +173,101 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .opaque(true) }) //#endregion + + // Some more stone blocks from better end, for variety's sake + + event.create('betterend:brimstone') + .soundType('tuff') + .mapColor('color_yellow') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + + event.create('betterend:hydrothermal_vent', 'tfg:particle_emitter_decoration') + .soundType('dripstone_block') + .mapColor('dirt') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + .opaque(false) + .fullBlock(false) + .box(1, 0, 1, 15, 16, 15) + .notSolid() + .particleOffset(0.3, 1, 0.3) + .particleVelocity(0, 0.1, 0) + .particle('minecraft:large_smoke') + .particleCount(5) + .particleForced(true) + + event.create('betterend:tube_worm', 'tfg:attached_decorative_plant') + .soundType('nether_wart') + .mapColor('terracotta_white') + .tagBlock('minecraft:replaceable') + .tagBlock('tfg:do_not_destroy_in_space') + + event.create('betterend:lacugrove_bark') + .soundType('basalt') + .mapColor('podzol') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + + event.create('betterend:lucernia_bark') + .soundType('netherrack') + .mapColor('wood') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + + event.create('betterend:sulphur_crystal', 'tfg:decorative_plant') + .soundType('deepslate') + .mapColor('gold') + .box(3, 0, 3, 13, 6, 13) + + const flavolite = [ 'flavolite', 'flavolite_bricks', 'flavolite_polished', 'flavolite_tiles' ]; + flavolite.forEach(f => { + event.create(`betterend:${f}`) + .soundType('deepslate') + .mapColor('sand') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + }) + + event.create(`betterend:flavolite_pillar`) + .property(BlockProperties.AXIS) + .placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis)) + .soundType('netherrack') + .mapColor('sand') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + + const jadestone = [ 'sandy_jadestone', 'sandy_jadestone_bricks', 'sandy_jadestone_polished', 'sandy_jadestone_tiles' ]; + jadestone.forEach(j => { + event.create(`betterend:${j}`) + .soundType('stone') + .mapColor('color_light_green') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + }) + + event.create(`betterend:sandy_jadestone_pillar`) + .property(BlockProperties.AXIS) + .placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis)) + .soundType('stone') + .mapColor('color_light_green') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + + const sulphuric_rock = [ 'sulphuric_rock', 'sulphuric_rock_bricks', 'sulphuric_rock_polished', 'sulphuric_rock_tiles' ]; + sulphuric_rock.forEach(s => { + event.create(`betterend:${s}`) + .soundType('dripstone_block') + .mapColor('terracotta_light_gray') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') + }) + + event.create(`betterend:sulphuric_rock_pillar`) + .placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis)) + .property(BlockProperties.AXIS) + .soundType('dripstone_block') + .mapColor('terracotta_light_gray') + .requiresTool(true) + .tagBlock('minecraft:mineable/pickaxe') } \ No newline at end of file diff --git a/kubejs/startup_scripts/vintage_improvements/constants.js b/kubejs/startup_scripts/vintage_improvements/constants.js index 85e1c3d41..54208ebc8 100644 --- a/kubejs/startup_scripts/vintage_improvements/constants.js +++ b/kubejs/startup_scripts/vintage_improvements/constants.js @@ -16,7 +16,6 @@ global.VINTAGE_IMPROVEMENTS_DISABLED_ITEMS = [ 'vintageimprovements:laser_item', 'vintageimprovements:sulfur_chunk', 'vintageimprovements:sulfur', - 'vintageimprovements:sulfur_block', 'vintageimprovements:sulfuric_acid_bucket', 'vintageimprovements:copper_sulfate', 'vintageimprovements:incomplete_redstone_module', From bba8ce13968a9ed0069f73ea92470206d17ee6a5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 12:41:32 +0000 Subject: [PATCH 248/628] langs --- kubejs/assets/ad_astra/lang/zh_cn.json | 1 + kubejs/assets/beneath/lang/zh_cn.json | 6 +- kubejs/assets/betterend/lang/zh_cn.json | 21 +++++ kubejs/assets/gtceu/lang/zh_cn.json | 2 + kubejs/assets/tfg/lang/en_us.json | 2 + kubejs/assets/tfg/lang/ja_jp.json | 6 +- kubejs/assets/tfg/lang/zh_cn.json | 114 ++++++++++++++++++++---- 7 files changed, 128 insertions(+), 24 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/zh_cn.json b/kubejs/assets/ad_astra/lang/zh_cn.json index 61b8ba40e..4a3bc05f8 100644 --- a/kubejs/assets/ad_astra/lang/zh_cn.json +++ b/kubejs/assets/ad_astra/lang/zh_cn.json @@ -1,6 +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.ad_astra.oxygen_distributor": "可呼吸空气分配器", + "block.ad_astra.infernal_spire_block": "炼狱尖刺", "block.ad_astra.moon_sand": "月沙", "block.ad_astra.moon_stone": "天然斜长岩", "block.ad_astra.moon_cobblestone": "斜长岩圆石", diff --git a/kubejs/assets/beneath/lang/zh_cn.json b/kubejs/assets/beneath/lang/zh_cn.json index bc9cabffb..74d646d27 100644 --- a/kubejs/assets/beneath/lang/zh_cn.json +++ b/kubejs/assets/beneath/lang/zh_cn.json @@ -3,11 +3,11 @@ "block.beneath.blackstone_pebble": "松散辉石岩", "block.beneath.blackstone_aqueduct": "辉石岩引水桥", "block.beneath.loose_blackstone": "松散辉石岩", - "block.beneath.ore.nether_cursecoal": "无烟煤矿石", + "block.beneath.ore.nether_cursecoal": "混合岩无烟煤矿石", "block.beneath.ore.nether_cursecoal.prospected": "无烟煤", "block.beneath.cursecoal_pile": "无烟煤堆", - "block.beneath.ore.blackstone_sylvite": "钾石盐矿石", - "block.beneath.crackrack": "角斑岩", + "block.beneath.ore.blackstone_sylvite": "辉石岩钾石盐矿石", + "block.beneath.crackrack": "天然角斑岩", "block.beneath.soul_clay": "泥泞黏土", "block.beneath.wood.log.crimson": "绯红菌柄", "block.beneath.wood.stripped_log.crimson": "去皮绯红菌柄", diff --git a/kubejs/assets/betterend/lang/zh_cn.json b/kubejs/assets/betterend/lang/zh_cn.json index d0ecd9550..bb9244343 100644 --- a/kubejs/assets/betterend/lang/zh_cn.json +++ b/kubejs/assets/betterend/lang/zh_cn.json @@ -14,6 +14,7 @@ "block.betterend.bolux_mushroom": "波鲁克斯菌丛", "block.betterend.bolux_mushroom_wild": "野生波鲁克斯菌丛", "block.betterend.bolux_mushroom_dead": "枯萎的波鲁克斯菌丛", + "block.betterend.brimstone": "硫磺石", "block.betterend.bushy_grass": "新星草", "block.betterend.bulb_moss": "球茎苔", "block.betterend.cave_bush": "朱红瓣叶", @@ -45,13 +46,20 @@ "block.betterend.filalux_wings": "丝光翅叶", "block.betterend.flamaea": "焰心菇", "block.betterend.flammalix": "焰顶菇", + "block.betterend.flavolite": "天然白榴石岩", + "block.betterend.flavolite_bricks": "白榴石岩砖", + "block.betterend.flavolite_pillar": "白榴石岩柱", + "block.betterend.flavolite_polished": "磨制白榴石岩", + "block.betterend.flavolite_tiles": "白榴石岩瓦", "block.betterend.fracturn": "碎晶蕨", "block.betterend.glacian_hymenophore": "霜原菌褶", "block.betterend.globulagus": "球囊藻", + "block.betterend.hydrothermal_vent": "热泉喷口", "block.betterend.hydralux": "水光莲", "block.betterend.hydralux_sapling": "水光莲苗", "block.betterend.inflexia": "曲枝草", "block.betterend.lacugrove": "泊林木海藻", + "block.betterend.lacugrove_bark": "天然埃达克岩", "block.betterend.lamellarium": "叠层藻", "block.betterend.lanceleaf": "矛叶草", "block.betterend.lanceleaf_small": "矛叶刃", @@ -59,6 +67,7 @@ "block.betterend.lucernia_leaves": "卢瑟尼亚瓣叶", "block.betterend.lucernia_leaves_fallen": "小型卢瑟尼亚瓣叶", "block.betterend.lucernia_outer_leaves": "卢瑟尼亚菌核", + "block.betterend.lucernia_bark": "残忍尖刺", "block.betterend.lutebus": "琉特草", "block.betterend.magnula": "磁光草", "block.betterend.nightshade_moss": "夜影苔", @@ -68,11 +77,23 @@ "block.betterend.rubinea": "红玉草", "block.betterend.ruscus": "假叶草", "block.betterend.salteago": "盐晶草", + "block.betterend.sandy_jadestone": "天然煌斑岩", + "block.betterend.sandy_jadestone_bricks": "煌斑岩砖", + "block.betterend.sandy_jadestone_pillar": "煌斑岩柱", + "block.betterend.sandy_jadestone_polished": "磨制煌斑岩", + "block.betterend.sandy_jadestone_tiles": "煌斑岩瓦", "block.betterend.selagine": "卷柏", "block.betterend.shadow_berry": "夜影浆果", "block.betterend.shadow_berry_wild": "野生夜影浆果", "block.betterend.shadow_berry_dead": "枯萎的夜影浆果", "block.betterend.small_amaranita_mushroom": " 赤星青茎菇", + "block.betterend.sulphur_crystal": "硫磺晶体", + "block.betterend.sulphuric_rock": "天然熔灰岩", + "block.betterend.sulphuric_rock_bricks": "熔灰岩砖", + "block.betterend.sulphuric_rock_pillar": "熔灰岩柱", + "block.betterend.sulphuric_rock_polished": "磨制熔灰岩", + "block.betterend.sulphuric_rock_tiles": "熔灰岩瓦", + "block.betterend.tube_worm": "管蠕虫", "block.betterend.twisted_moss": "缠结苔", "block.betterend.twisted_umbrella_moss": "缠结伞苔", "block.betterend.twisted_umbrella_moss_tall": "高缠结伞苔", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index ea05f2f74..67e43084e 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -51,6 +51,7 @@ "gtceu.bioreactor": "生物反应器", "gtceu.growth_chamber": "生长室", "gtceu.coal_liquefaction_tower": "煤炭液化", + "gtceu.smr_generator": "小型模块化涡轮", "gtceu.tooltip.machine.moon_dust_harvester_1": "§7地外真空吸尘器§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7根据所处生物群系无限采集风化土粉尘。§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7合法异星香料采集车§r", @@ -206,6 +207,7 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "火星重氨水矿藏", "gtceu.jei.bedrock_fluid.liquid_ice": "火星冰矿藏", "gtceu.recipe.category.ingot_molding": "压模", + "block.gtceu.wire_coil.tooltip_pyro": "§8热解炉与核燃料工厂:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,煤炭液化塔,§r\n§8月壤和紫金采集器:§r", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index eb7726575..91bdba756 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -419,6 +419,8 @@ "block.tfg.rock.cut_red_sandstone_wall": "Cut Hematitic Sandstone Wall", "block.tfg.rock.raw.stromatolite": "Raw Stromatolite", "block.tfg.rock.spike.stromatolite": "Stromatolite Spike", + "block.tfg.stromatolite_cluster_small": "Small Stromatolite Cluster", + "block.tfg.stromatolite_cluster_medium": "Large Stromatolite Cluster", "block.tfg.rock.raw.geyserite": "Raw Geyserite", "block.tfg.rock.spike.geyserite": "Geyserite Spike", "block.tfg.mushroom_roots": "Mushroom Roots", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 1966130dc..98b7d6a48 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -2827,7 +2827,7 @@ "quests.medium_voltage.mv_aciditic.title": "とても危険な液体", "quests.medium_voltage.mv_aciditic.subtitle": "サンダー!", "quests.medium_voltage.mv_aciditic.desc.1": "&9硫酸&rなど、一部の液体は&a酸性&rです。\n\n通常の液体パイプでは、こういった酸性の液体を搬送することが出来ません。\n\n&bMV&rの段階では、&a金&rのパイプが最も低コストで作成できます。また、&aバナジウム鋼&rや&aクロム&rのパイプも、酸性液体を搬送出来ます。\n\n&6HV&r時代では、&aステンレス鋼&rや&aポリテトラフルオロエチレン&r(早口)が解禁されます。", - "quests.medium_voltage.mv_aciditic.desc.2": "酸性液体の貯蔵方法は、現時点で3種類あります。すなわち&dガラス製バイアル&r、&d金のドラム&r、&dスーパータンク&rの3つです。ガラス製バイアルは、要するに酸性液体用の&9液体セル&rです。金のドラムは説明不要でしょう。&9ポリエチレン&rが作成できたならば、スーパータンクがとても強力です。スーパータンクは大容量で、なおかつ貯蔵できる液体に制限がありません。\n\n&c注意:&r通常のパイプに酸を流した場合、&c液体の消失&r、&cパイプ火災&rなどが発生する上、多くの場合自分も&c即死&rします。注意しましょう。\n\n&l&3おまけ:&r&o酸性液体周りの仕様はGT6から輸入されたものです。", + "quests.medium_voltage.mv_aciditic.desc.2": "酸性液体の貯蔵方法は、現時点で3種類あります。すなわち&dガラス製バイアル&r、&d金のドラム&r、&dスーパータンク&rの3つです。ガラス製バイアルは、要するに酸性液体用の&9液体セル&rです。金のドラムは説明不要でしょう。少々作るのに手間がかかりますが、スーパータンクはとても強力です。スーパータンクは大容量で、なおかつ貯蔵できる液体に制限がありません。\n\n&c注意:&r通常のパイプに酸を流した場合、&c液体の消失&r、&cパイプ火災&rなどが発生する上、多くの場合自分も&c即死&rします。注意しましょう。\n\n&l&3おまけ:&r&o酸性液体周りの仕様はGT6から輸入されたものです。", "quests.medium_voltage.mv_aciditic.task": "だいたいわかった", "quests.medium_voltage.mv_hydrochloric.title": "塩酸", "quests.medium_voltage.mv_hydrochloric.subtitle": "大量に使う危険物", @@ -2920,14 +2920,14 @@ "quests.medium_voltage.mv_jetpack_2.desc": "電動ジェットパックは、電力を消費して空を飛ぶことができます。\n\n充電方法は普通のバッテリーと同じです。\n\n&4H&r(初期設定)を押すと、ホバーモードへの切り替えが可能です。\n\n&o&8(「ジェット」と言っているのにジェット推進じゃないって?そういう重箱の隅を突くのはやめましょう?ね?)&r", "quests.medium_voltage.mv_cutter.title": "発展型裁断機", "quests.medium_voltage.mv_cutter.subtitle": "強化!強化!また強化!", - "quests.medium_voltage.mv_cutter.desc": "&aレーザー刻印機&rを使用するためには、&3MV裁断機&rで&7シリコン単結晶&rを切断する必要があります。\n\n&d潤滑油&rがあれば、加工時間が大幅に短縮されるので、必ず用意しておきましょう。\n\n潤滑油は&3醸造機&rで&e石油&、&a滑石&r、&2石鹸石&r、&cレッドストーン&rなどを加工して作られます。\n\n&7ヒント:&6Greate&r&7のメカニカルソーでも、同じ加工ができます。液体タンクが搭載されているため、潤滑油による加速が可能です。&r&r", + "quests.medium_voltage.mv_cutter.desc": "&aレーザー刻印機&rを使用するためには、&3MV裁断機&rで&7シリコン単結晶&rを切断する必要があります。\n\n&d潤滑油&rがあれば、加工時間が大幅に短縮されるので、必ず用意しておきましょう。\n\n潤滑油は&3醸造機&rで&e石油&r、&a滑石&r、&2石鹸石&r、&cレッドストーン&rなどを加工して作られます。\n\n&7ヒント:&6Greate&r&7のメカニカルソーでも、同じ加工ができます。液体タンクが搭載されているため、潤滑油による加速が可能です。&r&r", "quests.medium_voltage.mv_cutter.task": "いずれかの裁断機", "quests.medium_voltage.mv_laser_engraver.title": "レーザー刻印機", "quests.medium_voltage.mv_laser_engraver.subtitle": "技術の粋。ただしめっちゃ遅い", "quests.medium_voltage.mv_laser_engraver.desc": "&3レーザー刻印機&rは、&9シリコンウェハー&rへの刻印を行う機械です。刻印の内容は、取り付けた&9レンズ&rによって決まります。刻印を行ったウェハーを&3裁断機&rで加工することにより、回路に搭載できるパーツとなります。\n\n上位の刻印機を使うことで、より高性能な回路のパーツを作成することができます。", "quests.medium_voltage.mv_silicon_boule.title": "シリコンガチャ", "quests.medium_voltage.mv_silicon_boule.subtitle": "ウェハーは代替可能", - "quests.medium_voltage.mv_silicon_boule.desc": "&9シリコン単結晶&rの作成には、&3EBF&rが必要です。その材料は、&aSilicon Dust&rが半スタックと、少量の&aヒ化ガリウム&rです。その主な用途は、回路の材料である&6ウェハー&rの作成です。\n\nシリコン単結晶が作成できたら、&3裁断機&rでそれを加工することにより、16個のシリコンウェハーを入手できます。\n\n&c注意:&rシリコン単結晶の精錬には、なんと&47分半&rもの時間を要します。消費電力は120EU/tで、合計すると1,080,000EUに達します。途中で電気が足りなくなった場合、精錬の&c進捗が低下&rします。\n\n電気が足りていたとしても、所要時間が猛烈に長いため、複数のEBFで同時に精錬を行うことをおすすめします。", + "quests.medium_voltage.mv_silicon_boule.desc": "&9シリコン単結晶&rの作成には、&3EBF&rが必要です。その材料は、&aケイ素の粉&rが半スタックと、少量の&aヒ化ガリウム&rです。その主な用途は、回路の材料である&6ウェハー&rの作成です。\n\nシリコン単結晶が作成できたら、&3裁断機&rでそれを加工することにより、16個のシリコンウェハーを入手できます。\n\n&c注意:&rシリコン単結晶の精錬には、なんと&47分半&rもの時間を要します。消費電力は120EU/tで、合計すると1,080,000EUに達します。途中で電気が足りなくなった場合、精錬の&c進捗が低下&rします。\n\n電気が足りていたとしても、所要時間が猛烈に長いため、複数のEBFで同時に精錬を行うことをおすすめします。", "quests.medium_voltage.mv_silicon.title": "ケイ素の粉", "quests.medium_voltage.mv_silicon.subtitle": "", "quests.medium_voltage.mv_silicon.desc.1": "&dGregTech&rにおいては、大抵のアイテムについて複数のレシピが存在します。&aTerrafirmaGreg&rでも、それは同じです。\n\n&5ケイ素&rの主な作成方法は2種類あります。どれが最適かは、自分の状況に合わせて考えましょう。", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 048f7f4a5..3a30a7544 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -419,6 +419,8 @@ "block.tfg.rock.cut_red_sandstone_wall": "切制赤铁矿砂岩墙", "block.tfg.rock.raw.stromatolite": "天然叠层石", "block.tfg.rock.spike.stromatolite": "叠层石尖刺", + "block.tfg.stromatolite_cluster_small": "小型叠层石簇", + "block.tfg.stromatolite_cluster_medium": "大型叠层石簇", "block.tfg.rock.raw.geyserite": "天然硅华", "block.tfg.rock.spike.geyserite": "硅华尖刺", "block.tfg.mushroom_roots": "菌丝根须", @@ -654,6 +656,8 @@ "block.tfg.nuclear_turbine": "核能蒸汽涡轮", "block.tfg.evaporation_tower": "蒸发塔", "block.tfg.cooling_tower": "核能冷却塔", + "block.tfg.smr_generator": "小型模块化涡轮", + "block.tfg.casings.machine_casing_desh_ptfe": "防辐射戴斯机械方块", "block.tfg.growth_monitor": "生长监控器", "block.tfg.sample_rack": "样本架", "block.tfg.casings.machine_casing_sterilizing_pipes": "除菌管道", @@ -1257,6 +1261,26 @@ "material.tfg.reformed_aromatic_feedstock": "重整芳香原料", "material.tfg.reformate_gas": "重整气", "material.tfg.cracker_off_gas": "裂化重整尾气", + "material.tfg.btx_fuel": "轻质芳烃气", + "material.tfg.critical_steam": "临界蒸汽", + "material.tfg.americium_241": "镅-241", + "material.tfg.californium_252": "锎-252", + "material.tfg.neptunium_237": "镎-237", + "material.tfg.mixed_radioactive_fluid": "混合放射性流体", + "material.tfg.degraded_solvent_stream": "降解溶剂流", + "material.tfg.boron_enriched_coolant": "富硼冷却剂", + "material.tfg.hot_boron_enriched_coolant": "热富硼冷却剂", + "material.tfg.polyalkylene_lubricant": "聚烯烃润滑剂", + "material.tfg.organic_degradation_slurry": "有机降解浆液", + "material.tfg.gas_fraction": "气相馏分", + "material.tfg.isotopic_solvent": "同位素分离溶剂", + "material.tfg.residual_sludge": "残余泥渣", + "material.tfg.sodium_fluoride": "氟化钠", + "material.tfg.trace_catalyst_salt_e": "痕量催化剂盐E", + "material.tfg.copper_trace_catalyst_dust": "铜基痕量催化剂粉", + "material.tfg.organic_stabilizer": "有机稳定剂", + "material.tfg.inert_dust_fraction": "惰性粉体馏分", + "material.tfg.recovered_ionic_complex": "回收离子络合物", "material.tfg.glucose": "葡萄糖", "material.tfg.galactose": "半乳糖", "material.tfg.fructose": "果糖", @@ -1595,8 +1619,10 @@ "tfg.tooltip.component.moderate_core_frame": "可置于裂变反应堆内,使热量上限提升 §910§r", "tfg.tooltip.component.dry_ice": "可作为裂变反应堆的输入物以冷却反应堆,需要材料支架", "tfg.tooltip.component.refrigerant_pellet": "可作为裂变反应堆的输入物以冷却反应堆,需要材料支架", - "tfg.tooltip.component.nuclear_turbine_1": "§e基础产出:§r 4096 EU/t", + "tfg.tooltip.component.nuclear_turbine_1": "§e基础产出:§r 8192 EU/t", "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.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", @@ -1610,6 +1636,13 @@ "tfg.gui.menu.field_guide_splash_text": "提示:阅读野外指南!!!", "tfg.gui.menu.ram_usage": "内存:", "tfg.gui.menu.fps_count": "帧率:", + "tfg.gui.smr_generator.credit": "致谢:Frontiers团队", + "tfg.gui.smr_generator.lubricant_used": "润滑剂:%s", + "tfg.gui.smr_generator.booster_used": "助燃剂:%s", + "tfg.gui.max_energy_per_tick_amps.prefix": "最大EU/t:", + "tfg.gui.consumes": "消耗:", + "tfg.gui.per_cycle": "每周期", + "tfg.gui.cycle_duration": "周期时长:", "tfc.jei.flint_knapping": "打制石器", "tfc.jei.straw_knapping": "编制干草", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", @@ -2179,8 +2212,8 @@ "quests.extreme_voltage.me_part.desc": "这些方块可替代多方块结构中常规的输入和输出总线/仓。&b输出&r版本特别实用,因为它们庞大的物品/流体存储容量足以应对大多数配置需求,非常适合在多方块结构间共享资源或避免输出堵塞。\n\n它们可以直接连接&dAE2&r线缆,无需借助存储总线或接口。但需注意,其行为模式类似于接口而非实体存储容器。这意味着你无法通过其他接口访问它们的内容。", "quests.extreme_voltage.tunsgten_line_step.title": "纯碱循环", "quests.extreme_voltage.tunsgten_line_step.subtitle": "总不能永远依赖采矿", - "quests.extreme_voltage.tunsgten_line_step.desc.1": "要实现&5钨生产线&r的完美循环并非易事,所以我们将用这个任务引导你走向正确的方向。\n\n用你获得的&b盐&r与&a二氧化碳&r、&6氨&r反应生成&3氯化铵&r,通过电解回收&6氨&r并获取制备&e钨酸钠&r所需的&9盐酸&r。\n\n此过程同时会产生&b碳酸氢钠&r,你应该电解它来回收&d纯碱&r。", - "quests.extreme_voltage.tunsgten_line_step.desc.2": "最后,要闭合循环,你需要管理你的&a二氧化碳&r。你可以选择将部分&d纯碱&r电解回收&a碳&r和&9氧&r来重新合成&a二氧化碳&r,或者直接通过&b液态空气&r蒸馏来无限制供应&a二氧化碳&r。", + "quests.extreme_voltage.tunsgten_line_step.desc.1": "完美循环&5钨生产线&r并非易事,本任务将为你指引正确方向。\n\n获得的&b盐&r应与&a二氧化碳&r和&6氨气&r结合,生成&3氯化铵&r;随后将其电解,即可回收&6氨气&r,并获得制备&e钨酸钠&r所需的&9盐酸&r。\n\n此过程还会产生&b碳酸氢钠&r,需通过电解回收其中的&d纯碱&r。", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "最后,为完成闭环,你需要管理好&a二氧化碳&r。可通过电解&d碳酸氢钠&r回收&a二氧化碳&r,并将从方解石和锂中得到的&b碳&r与&b氧&r结合。或采用强制方案:利用&b液态空气&r分馏来无限供应&a二氧化碳&r。", "quests.extreme_voltage.tunsgten_line_step_1.title": "新的钨产线", "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "为什么?到底为什么?", "quests.extreme_voltage.tunsgten_line_step_1.desc": "TerraFirmaGreg中的&e钨产线&r已被彻底重制——你会(或者不会)高兴地得知现在难度&c大幅提升&r。\n\n虽然可以&a完全循环&r钨产线中的所有材料,但这需要大量的工程规划。或者你也可以通过&c大规模生产&r所需资源来强行推进。\n\n小提示:&4火星&r上存在多处富含&e纯碱&r和&e钨&r的&a优质矿脉&r。\n\n稳扎稳打,优化流程,钨产线终将成为你中后期发展的基石。", @@ -2243,7 +2276,7 @@ "quests.gregtech_energy.transformer.desc": "格雷科技为每个问题都准备了多方块解决方案,&d有源变压器&r便是其中之一。\n\n此装置堪称终极变压器,能够在&aLV&r至&cUHV&r的任意等级间传输能量,且不会引发爆炸。但这并非其最突出的优势。\n\n它能够通过激光管道传输能量:\n&8•&r激光可传输超大安培能量\n&8•&r零损耗、无电缆,纯粹的能量传输\n&8•&r唯一限制:管道&c必须保持绝对直线&r\n\n当电缆传输能力不足时,请&l采用激光方案&r。", "quests.gregtech_energy.moving_wire.title": "用导线传输", "quests.gregtech_energy.moving_wire.subtitle": "放置起来有点意思", - "quests.gregtech_energy.moving_wire.desc": "在格雷科技中传输能量可能颇具挑战——&b多数电缆存在能量损耗&r。能量在导线中每传输一格距离、每安培电流都可能产生损耗。但无需担心,现有解决方案如下:\n\n&8•&r为电缆包裹橡胶包覆层。此举可显著降低长距离传输中的能量损耗,具体请参照任务物品示例。\n&8•&r采用更高等级的电缆。例如铂电缆每格仅损耗1EU,相较于其8192EU的传输容量而言几乎可忽略不计。\n&8•&r使用&b超导电缆&r。这类电缆成本稍高,但具备&9零损耗&r特性。它们无需橡胶包覆且不会对玩家造成电击,但需注意通常需在对应科技阶段的后期方可制造。\n\n优化能量传输体系——&b降低损耗&r,提升系统能效。", + "quests.gregtech_energy.moving_wire.desc": "在格雷科技中传输能量可能颇具挑战——&b多数电缆存在能量损耗&r。能量在导线中每传输一格距离、每安培电流都可能产生损耗。但无需担心,现有解决方案如下:\n\n&8•&r为电缆包裹橡胶包覆层。此举可显著降低长距离传输中的能量损耗,具体请参照任务物品示例。\n\n&8•&r采用更高等级的电缆。例如铂电缆每格仅损耗1EU,相较于其8192EU的传输容量而言几乎可忽略不计。\n\n&8•&r使用&b超导电缆&r。这类电缆成本稍高,但具备&9零损耗&r特性。它们无需橡胶包覆且不会对玩家造成电击,但需注意通常需在对应科技阶段的后期方可制造。\n\n优化能量传输体系——&b降低损耗&r,提升系统能效。", "quests.gregtech_energy.moving_wire.task": "我看完导线部分了", "quests.gregtech_energy.moving_amp.title": "管理电流", "quests.gregtech_energy.moving_amp.subtitle": "它会烧掉?", @@ -2260,6 +2293,7 @@ "quests.gregtech_energy.lv_generator.desc.2": "&e1.蒸汽动力&r:\n\n这是最经典的发电方式。你可以通过蒸汽轮机将高压锅炉产生的蒸汽转化为EU。\n\n该设备消耗&e64mB/t&r蒸汽产生&e32 EU/t&r电力。若选择此方案,我们强烈建议建造大型青铜锅炉,该锅炉可使用岩浆、杂酚油或其他可燃固体燃料(请查阅JEI!)轻松维持运作。", "quests.gregtech_energy.lv_generator.desc.3": "&e2.旋转动力&r:\n\n你可利用机械动力的旋转动力,配合&b交流发电机&r产生RF能量,再通过&7低压&r转换器将其转化为EU电能。\n\n(更多细节请参阅低压章节中关于&b交流发电机&r的任务说明。)", "quests.gregtech_energy.lv_generator.desc.4": "&e3.生物柴油发电(TFG独占)&r:\n\n油菜籽和向日葵可加工产出大量种子油。将其与TFC酒精混合即可制成生物柴油。\n\n该方法看似复杂,但生物柴油在&7LV&r和&bMV&r阶段效能极高。后期使用&e高十六烷值柴油&r后,甚至可平稳过渡至&5EV&r阶段。\n\n使用生物柴油需配备&7低压内燃发电机&r。虽然成本略高,但每mB生物柴油都能产生大量EU,更便于运输和储存。\n\n能源生产之路如何开启,完全由你决定。", + "quests.gregtech_energy.lv_generator.desc.5": "&e4. 合成气发电(TFG独占)&r:\n\n借助&6焦炉&r与&6真空腔室&r,你可在游戏前期获得这种气体燃料。它并非最强的选择,但若你希望遵循&e纯气体燃料路线&r,它已足够使用。为获得最佳效率,强烈推荐搭建基于&6机械动力&r的自动化树场。", "quests.gregtech_energy.lv_generator.task": "任何LV发电机", "quests.gregtech_energy.mv_generator.title": "MV发电机", "quests.gregtech_energy.mv_generator.subtitle": "基本上和LV的一样", @@ -2300,9 +2334,35 @@ "quests.gregtech_energy.lpt_fuel.task": "我不想做一桶等离子体", "quests.gregtech_energy.lgt_fuel.title": "气体燃料", "quests.gregtech_energy.lgt_fuel.subtitle": "每个人的最爱", - "quests.gregtech_energy.lgt_fuel.desc.1": "当我们谈及气体燃料时,我们实际上只谈一种——&e硝基苯&r。\n\n你在达到&6HV&r阶段后即可生产它。如果你计划使用大型燃气涡轮机,我们&a强烈推荐&r使用这种燃料。\n\n在能够生产硝基苯之前,&e苯&r是一个不错的起步选择。你可以通过树场获取它,或者,如果你足够幸运附近有重油的话,也可以通过处理重油来获得。", - "quests.gregtech_energy.lgt_fuel.desc.2": "制造硝基苯涉及多个步骤——但当你造出第一台大型化学反应釜(LCR)后,就能跳过许多中间环节,大幅简化流程。\n\n其实并不复杂:将氢气、氮气和氧气结合,即可无限制地生产&e硝酸&r。至于硫酸,你大概已经知道它只需硫和水就能制备——对吧?\n\n一旦你建立起这条生产链,硝基苯就会成为气体燃烧的顶级燃料之一。", + "quests.gregtech_energy.lgt_fuel.desc.1": "所有这些燃料都用于&2燃气轮机&r——此处按效率从低到高排序。\n\n&b燃气轮机&r总体比其同类&b内燃机&r稍便宜,但&e气体燃料&r的能量密度也低于燃烧燃料。这并不意味着它们更差——只是你需要更多毫桶(mB)才能达到相同的输出。在进程后期,它们可用在&2大型燃气涡轮&r里,这是一个非常强大的多方块结构,需要稍多一些管理。", + "quests.gregtech_energy.lgt_fuel.desc.2": "在TFG整合包中,&e气体燃料&r已得到广泛重新平衡。&6我们不建议依赖&e苯&r或&e硝基苯&r,因为它们已被大幅削弱。&r在&7LV&r初期,如果你想要加工油砂,我们建议使用&e合成气&r或&e液化石油气&r。之后,你可以在&bMV&r阶段升级为&e重整气&r,并在解锁&2裂化机&r后进一步提升其产量。", "quests.gregtech_energy.lgt_fuel.task": "桶装燃气?", + "quests.gregtech_energy.syngas.title": "合成气", + "quests.gregtech_energy.syngas.subtitle": "我在LV阶段就能获得气体燃料了?", + "quests.gregtech_energy.syngas.desc": "&e合成气&r是一种新的TFG气体燃料。你可以在&8ULV&r阶段很早解锁它,并在&7LV&r阶段用于你的首批&6燃气轮机&r中。它并非特别强效的燃料,但可以转化为有价值的副产品,例如&e润滑剂&r、&e甲烷&r和&e氢气&r。\n\n尽管它不是最强大的选择且难以规模化生产,但仅需三座&6焦炉&r和一台&6酿造室&r或&6真空腔室&r,你就能稳定供应,这足以支撑你到达&bMV&r阶段并解锁更强大的&e重整气&r。", + "quests.gregtech_energy.reformate_gas.title": "重整气", + "quests.gregtech_energy.reformate_gas.subtitle": "这是重整后的苯吗?", + "quests.gregtech_energy.reformate_gas.desc.1": "&9重整气&r是一种强大且新的气体燃料,在&bMV&r阶段承担了通常由苯扮演的角色。\n\n要生产它,你需要建造一座&6煤炭液化塔&r,并从仅存在于干燥炎热气候的&6塔基安矿&r矿脉中获取一些&5铼&r。两座&6热解炉&r——一座生产杂酚油,另一座生产木焦油——将提供生产这种燃料所需的全部材料。如果你想简化设置,请记住可以用&6流体加热器&r来生产蒸汽。", + "quests.gregtech_energy.reformate_gas.desc.2": "同样重要的是,需要考虑在&6HV&r阶段使用&6裂化机&r时可获得的提升产率。这将使你能够循环利用绝大部分的&5铼&r,使重整气实质上成为一种接近无限的燃料。\n\n在此流程中添加&9氮气&r和&9氢气&r,将进一步增强你的生产吞吐量。", + "quests.gregtech_energy.btx.title": "轻质芳烃", + "quests.gregtech_energy.btx.subtitle": "并非韩国乐队", + "quests.gregtech_energy.btx.desc": "轻质芳烃燃料尚未实装", + "quests.gregtech_energy.fission_rod.title": "裂变燃料", + "quests.gregtech_energy.fission_rod.subtitle": "别让我过热了", + "quests.gregtech_energy.fission_rod.desc.1": "地球裂变材料尚未实装,但或许即将到来", + "quests.gregtech_energy.fission_rod.desc.2": "", + "quests.gregtech_energy.fission_rod.task": "", + "quests.gregtech_energy.smr.title": "小型模块化反应堆", + "quests.gregtech_energy.smr.subtitle": "为遥远前哨站供能", + "quests.gregtech_energy.smr.desc.1": "小型模块化反应堆尚未实装,但或许即将到来", + "quests.gregtech_energy.smr.desc.2": "", + "quests.gregtech_energy.smr.task": "", + "quests.gregtech_energy.gasoline.title": "汽油", + "quests.gregtech_energy.gasoline.subtitle": "中间档位的选择", + "quests.gregtech_energy.gasoline.desc": "&a汽油&r是一种在&6HV&r阶段解锁的强力燃料,但实际上通常是在建造第一座&6分馏塔&r后才开始生产。&7甲苯&r可轻易从&7木焦油&r或&7重燃油&r中制得,其他所需原料则为&d炼厂气&r、&8石脑油&r以及&3氧气&r、&b氢气&r和&1碳&r的混合物。\n\n它强度高,制作相当简便,更妙的是还能升级为&c高标号汽油&r。", + "quests.gregtech_energy.high_gasoline.title": "高辛烷值汽油", + "quests.gregtech_energy.high_gasoline.subtitle": "动力澎湃", + "quests.gregtech_energy.high_gasoline.desc": "作为&c汽油&r的直接升级版,这是&5燃料效能翻倍&r的强化型号。虽其名称未明示,但你不仅需要添加&d辛烷&r,还需加入其他来自&8石油化工&r的原料。至此,我们期望你已能熟练运用&bEMI&r,并开始制备这种性能惊人的强力燃料。", "quests.gregtech_energy.lst_fuel.title": "这是蒸汽", "quests.gregtech_energy.lst_fuel.subtitle": "没什么选择余地", "quests.gregtech_energy.lst_fuel.desc": "蒸汽并不复杂——只需烧水。\n\n要高效地实现这一点,我们推荐使用&6大型锅炉&r。共有四种版本:分别对应&8ULV&r、&bMV&r、&5EV&r和&1IV&r阶段。每个等级都能显著提升蒸汽产量。\n\n但要注意:与其他发电方式相比,&d大型蒸汽涡轮&r配合这些锅炉的扩展性并不理想。\n\n大多数玩家会跳过钛和钨钢锅炉——它们确实存在,但不值得建造。蒸汽系统的扩展能力确实有限!\n\n温馨提示:&e2mB&r蒸汽=&e1EU&r电力。", @@ -2310,7 +2370,7 @@ "quests.gregtech_energy.lst_fuel.task.1": "大型锅炉", "quests.gregtech_energy.lce_fuel.title": "液体燃料", "quests.gregtech_energy.lce_fuel.subtitle": "污染者的最爱", - "quests.gregtech_energy.lce_fuel.desc.1": "所有这些燃料均用于&6内燃发电机&r——此处按效率从低到高排列。\n\n在&bMV&r阶段,我们建议从柴油或生物柴油起步。待发展到&6HV&r阶段后,可通过将柴油与氮气、氢气及氧气混合,升级使用&6高十六烷值柴油&r。", + "quests.gregtech_energy.lce_fuel.desc.1": "所有这些燃料均用于&6内燃发电机&r——此处按效率从低到高排列。\n\n在游戏早期阶段,我们建议从柴油或生物柴油起步。待发展到&6HV&r阶段后,可通过将柴油与氮气、氢气及氧气混合,升级使用&6高十六烷值柴油&r。", "quests.gregtech_energy.lce_fuel.desc.2": "当你达到&5EV&r阶段并建造&6蒸馏塔&r后,就可以转而使用汽油和高辛烷值汽油了。切勿过早尝试——油类需要被妥善分馏,使用普通蒸馏室来处理是极不经济的。\n\n为此,你需要结合原油分馏与一些有机化合物加工。所幸,一台热解炉和一座蒸馏塔即可流畅地处理全部流程。\n\n如果你能稳定供应高辛烷值汽油,仅靠内燃发电机就足以完成整个整合包的进程。", "quests.gregtech_energy.lce_fuel.task": "我足够了", "quests.gregtech_energy.large_solar.subtitle": "巨大的简易能源", @@ -2349,14 +2409,14 @@ "quests.gregtech_energy.spending_energy.title": "消耗能源", "quests.gregtech_energy.spending_energy.subtitle": "哦,你是会消耗能源的", "quests.gregtech_energy.spending_energy.desc.1": "如何消耗所有这些能源?\n\n使用你的机器!听起来很简单,对吧?\n嗯……不完全是这样。有许多小细节你应该学习,以帮助你完成&3TerraFirmaGreg&r的旅程。\n\n基础机器:\n-这些机器很简单。\n-它们每个最多可以请求&a2A&r。\n-如果你输入更高等级的能源……&4\uD83D\uDCA5它们会爆炸&r。\n\n格雷科技多方块结构:\n现在事情变得有趣了。多方块结构提供了更多的灵活性和动力——&e如果&r你了解它们如何工作。", - "quests.gregtech_energy.spending_energy.desc.2": "标准机制:\n-如果一个多方块结构可以接受两个能源仓(大多数都可以),这允许你使用比机器基础等级更高的配方。\n\n例子:\n如果你正在使用一个大型搅拌罐,并且你安装了两个IV能源仓,它将能够处理&cLuV&r等级的搅拌配方。\n\n这是多方块结构相对于单方块机器的主要好处之一——要将它们升级到下一个等级,你只需要更换它们的能源仓,而不是更换整个机器。", + "quests.gregtech_energy.spending_energy.desc.2": "标准机制:\n-如果一个多方块结构可以接受两个能源仓(大多数都可以),这允许你使用比机器基础等级更高的配方。\n\n例子:\n如果你正在建造一座电力高炉,并且你安装了两个LV能源仓,它将能够处理&cMV&r等级的电力高炉配方。\n\n这是多方块结构相对于单方块机器的主要好处之一——要将它们升级到下一个等级,你只需要更换它们的能源仓,而不是更换整个机器。", "quests.gregtech_energy.spending_energy.desc.3": "一些多方块结构只能安装一个能源仓,但这并不意味着你被限制在1A!\n\n你仍然可以使用4A或16A的能源仓。这将允许&b超频&r配方,但不能超频配方等级。\n\n例子:\n大型电路组装机只允许安装一个能源仓。如果你安装一个4A IV能源仓,你将能够超频所有IV及更低等级的配方。\n\n但是,它不能制作LuV等级的配方,因为机器不支持多个仓口。这个限制是故意的,以防止跳过格雷科技的进程系统。", "quests.gregtech_energy.spending_energy.desc.4": "因此请记住:单个能源仓的电流数越大,处理速度越快,但必须安装两个能源仓才能解锁更高阶的合成配方。", "quests.gregtech_energy.spending_energy.task": "我明白了", "quests.gregtech_energy.overclock.title": "超频", "quests.gregtech_energy.overclock.subtitle": "基本升级机制", "quests.gregtech_energy.overclock.desc.1": "你听说过超频,但不太明白它是什么?让我们花点时间解释一下。\n\n我们应该从基础开始:\n&d低压&r代表最多32EU/t——有时更少,但绝不会更多。\n&d中压&r达到128EU/t。\n&d高压&r达到512EU/t。\n基本上,每个等级的功耗增加4倍。", - "quests.gregtech_energy.overclock.desc.2": "当你在更高等级的机器中运行较低等级的配方时会发生什么?这就是我们所说的&e超频&r!\n\n一个&d中压&r配方(33–128EU/t)在&d高压&r机器中运行将:1)使用4倍的能量,并且2)速度快2倍。\n\n同一个中压配方在&d超高压&r机器中?能量消耗是8倍,但速度只快4倍。\n\n如你所见,使用多台机器比超频单台机器能效更高。\n但说实话:在大多数设置中,你会更喜欢超频,而不是建造大量相同的机器。\n\n不过,在早期能源紧张的时候知道这一点是很好的。", + "quests.gregtech_energy.overclock.desc.2": "当你在更高等级的机器中运行较低等级的配方时会发生什么?这就是我们所说的&e超频&r!\n\n一个&d中压&r配方(33–128EU/t)在&d高压&r机器中运行将:1)使用4倍的能量,并且2)速度快2倍。\n\n同一个中压配方在&d超高压&r机器中?能量消耗是16倍,但速度只快4倍。\n\n如你所见,使用多台机器比超频单台机器能效更高。\n但说实话:在大多数设置中,你会更喜欢超频,而不是建造大量相同的机器。\n\n不过,在早期能源紧张的时候知道这一点是很好的。", "quests.gregtech_energy.overclock.desc.3": "有一种特殊的超频只适用于少数多方块结构:&e完美超频&r。\n在这里,不是4倍能量换2倍速度,而是&a4倍能量&r换&a4倍速度&r!这使得它与运行多台机器一样高效。\n\n目前在TerraFirmaGreg中,只有以下多方块结构支持此功能:\n-电力高炉\n-合金冶炼炉\n-转底炉\n-大型化学反应釜\n-电力温室", "quests.gregtech_energy.overclock.task": "所以红色的更快,懂了", "quests.gregtech_energy.blast_oc.title": "高炉超频", @@ -2458,7 +2518,8 @@ "quests.high_voltage.ptfe.subtitle": "又名 - 特氟龙", "quests.high_voltage.ptfe.desc": "&a聚四氟乙烯 (PTFE)&r是一种&7碳&r-&b氟&r聚合物。与PVC类似,PTFE可用于提高塑料电路板及其他制品的产量。目前主要用于制造&3大型化学反应釜&r的内壁。\n\n生产过程中需要消耗&3氯气&r,但如果你电解废弃的&a盐酸&r,它就可以完全回收。\n\n&b氟&r也将用于&a铀&r和&7硅岩&r的精炼过程。\n\n&9提示:&r从现在开始,你应该将聚合物固化为&d条&r(或锭)的形式,因为它们可以很容易地使用&3挤压机&r塑造成你需要的任何形式。", "quests.high_voltage.nitrobenzene.title": "硝基苯", - "quests.high_voltage.nitrobenzene.desc": "制作&a硝基苯&r可将&a苯&r的能源利用效率提升约&6四倍&r,结果令人欣喜。\n\n需要注意该工艺需要消耗&d蒸馏水&r,并且每个生产步骤都会消耗少量的&d硫&r。", + "quests.high_voltage.nitrobenzene.subtitle": "昔日荣光不再", + "quests.high_voltage.nitrobenzene.desc": "在TFG整合包中,&a硝基苯&r与&a苯&r已被大幅削弱。它们仍可作为燃料使用,但现在其主要用途是作为合成原料。\n\n请注意,制作硝基苯的每个步骤都会消耗少量 &d硫磺&r。", "quests.high_voltage.lcr.title": "大型化学反应釜", "quests.high_voltage.lcr.desc.1": "&3大型化学反应釜(LCR)&r是具有更多输入/输出槽位的多方块结构&3化学反应釜&r。其特氟龙外壳允许它能够处理额外的配方。\n\n&3LCR&r可以执行某些专属反应,将多个常规&3化学反应釜&r的步骤&6整合为单步完成&r。例如:\n\n&9-&r&a二氧化氮&r(用于制造硝酸与四氧化二氮)\n&9-&r&a硫酸&r\n&9-&r&a苯酚&r\n&9-&r&a环氧氯丙烷&r(你需要用它来制造环氧树脂!)\n&9-&r&a环氧树脂&r", "quests.high_voltage.lcr.desc.2": "&3大型化学反应釜&r还包含独占配方。例如&d氡气&r目前只能在LCR中制造。\n\n所有在&3LCR&r中进行的&d超频&r均具有&6100%%效率&r(即完美超频);每次超频将实现&5四倍加速&r,而非普通设备的双倍加速。\n\n&3LCR&r还存在另一项&6优势&r:可通过安装&32个能源仓&r来运行&5下一阶段&r的配方,此项特性与&3电力高炉&r的机制相似。", @@ -2635,6 +2696,15 @@ "quests.low_voltage.lv_seeds.subtitle": "这些是高秆植物", "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.desc": "借助&7合成气&r,你现在拥有了在&7LV&r阶段使用&8燃气轮机&r的可行方案。它们与其他&6发电机&r工作原理完全相同,但应比&6内燃机&r略微节省材料。", + "quests.low_voltage.lv_gas_syngas.title": "合成气", + "quests.low_voltage.lv_gas_syngas.subtitle": "并非木煤气", + "quests.low_voltage.lv_gas_syngas.desc": "制造&7合成气&r非常简单。你只需为每台&6酿造室&r或&6真空腔室&r配备&b3座焦炉&r。然后借助&b机械动力树场&r收集&7木材&r以最大程度降低能耗,就能享受这种虽弱但易于生产的&7气体燃料&r了。", + "quests.low_voltage.lv_naphtha_light.title": "石脑油和轻油", + "quests.low_voltage.lv_naphtha_light.subtitle": "你可以用它们来制造塑料", + "quests.low_voltage.lv_naphtha_light.desc": "如果你实在厌恶种地,更偏爱在&6沙漠&r探险或开采大量&7油砂&r,那么或许&7石脑油&r(从&7原油&r中提取更佳)或&7轻燃油&r(从&7石油&r中提取更佳)会是值得你考虑的燃料。\n\n鉴于其易于生产的特性,它们的性价比相当不错,只不过在现阶段仍需手动采收。", "quests.low_voltage.lv_turbo_charge.title": "闪聚充电箱", "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类型的充电箱均可完成本任务。", @@ -2917,7 +2987,7 @@ "quests.medium_voltage.mv_fluid_rig.desc.1": "建造&3流体钻机&r确实需要不小投入,但这是&o目前&r最主流的&6石油获取方式&r。\n\n它能从基岩层下方抽取流体。需要注意的是这些流体并非真实存在,而是通过模拟计算生成。\n\n流体矿脉分布在&c区块大小区域&r内。每个矿脉蕴含不同流体,但大多以石油类为主。\n\n&o现阶段&r尚无法对流体矿脉进行勘探——该功能将在&6HV&r阶段开放。", "quests.medium_voltage.mv_fluid_rig.desc.2": "每个矿脉会以不同的基础产量生成,通常介于&d150L/s&r至&d300L/s&r之间。\n\n当被抽取时,流体矿脉会逐渐枯竭。这将导致流体产量随时间推移不断下降,直至达到枯竭产量值。此时应将钻机转移至其他矿脉。\n\n&3基础流体钻机&r可持续运行10万次操作(每次操作1秒)直至矿脉枯竭,这足以产出&6远超1万桶&r的石油。更高级别的钻机将大幅提升产量,同时显著降低矿脉枯竭速度。", "quests.medium_voltage.mv_fluid_rig.desc.3": "&l你可以在&2主世界&r&l中找到什么:&r\n\n&9石油:&r富含备受好评的&a轻燃油&r。\n&9轻油:&r富含&a炼油气&r,可用于发电。\n&9重油:&r富含&a重燃油&r,用途相对小众但可提取重要的&a甲苯&r。\n&9原油:&r富含&a石脑油&r,是早期石油产品的最佳来源。\n&9天然气:&r直接产出&a炼油气&r,无需蒸馏提纯。\n&9海水:&r可提取&a钠&r和&a氯&r,适用于后期生产。", - "quests.medium_voltage.mv_fluid_rig.desc.4": "&l你可以在&c下界&r&l发现以下资源:&r\n\n&9天然气:&r产出&a炼油气&r且产量高于主世界矿脉。\n&9熔岩:&r希望你认得这个。\n\n起步阶段可能需要随机勘探直至找到理想资源。请注意,你抽取的任何流体均可作为流体钻机的补充燃料。", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&l你可以在&c幽冥之地&r&l发现以下资源:&r\n\n&9天然气:&r产出&a炼油气&r且产量高于主世界矿脉。\n&9熔岩:&r希望你认得这个。\n\n起步阶段可能需要随机勘探直至找到理想资源。请注意,你抽取的任何流体均可作为流体钻机的补充燃料。", "quests.medium_voltage.mv_oilsands.title": "美国模拟器", "quests.medium_voltage.mv_oilsands.subtitle": "此任务由美国军方赞助", "quests.medium_voltage.mv_oilsands.desc": "在地下探索时,你可能会遇到纯油砂矿脉。通过&3离心机&r处理其粉末可获得&a石油&r。\n\n&9&l注意:&r&l石油路线是制备&9&l乙烯&r&l的途径之一,其他路线则涉及乙醇的自然制备法。&r\n\n目前石油获取属于&d可选&r内容,直到后期&5EV&r阶段才会成为必需资源。\n\n石油可精炼成&a轻燃油&r、&a柴油&r乃至&a汽油&r,这些都是极佳的能源选择。\n\n若选择此路线,建议将石油同时用于发电和生产乙烯。\n\n油砂矿是&6理想的起步选择&r——它们能支撑你直至解锁流体钻机技术。", @@ -2941,9 +3011,13 @@ "quests.medium_voltage.mv_distillery.desc.3": "但这并不意味着&3蒸馏室&r是两者中更差的选择。它解锁时间更早,且具有&d体积更小&r、&d造价更低&r、每个配方&d能耗更低&r的优势。\n\n事实上多数情况下,你根本不会在意被废弃的其他流体。\n\n无论选择&a柴油&r还是&a苯&r作为发电原料,&3蒸馏室&r都是能源生产环节的核心组件。\n\n建议尽可能建造多台低级型号以避免超频带来的能量损耗。", "quests.medium_voltage.mv_distillery.task": "LV或MV蒸馏室均可", "quests.medium_voltage.mv_benzene.title": "苯教派", - "quests.medium_voltage.mv_benzene.subtitle": "到最后,总是苯", + "quests.medium_voltage.mv_benzene.subtitle": "到最后,&l曾经&r总是苯", "quests.medium_voltage.mv_benzene.desc.1": "&a苯&r是一种&9气体燃料&r。为了少一些挫折,这里介绍两种最佳获取方式:\n\n首选是&d木材加工路线&r。将原木放入&3热解炉&r生成&9木焦油&r,产出的木炭还可通过&3提取机&r加工获得更多&9木焦油&r,最后经&3蒸馏&r处理得到&a苯&r。\n\n次选是&d重油加工路线&r。将重油放入&3蒸馏室&r制成&9重燃料&r,随后进行&a重度蒸汽裂化&r并再次&3蒸馏&r即可获得&a苯&r。", - "quests.medium_voltage.mv_benzene.desc.2": "关于石油加工的具体方法,请查看轻燃料与石脑油任务。\n\n总体而言,优先部署更多机器(&d并行处理&r)比超频配方更有效率。这种方式能在处理资源时减少能量损耗。\n\n&a苯&r通过&3燃气轮机&r燃烧发电。该能源初始效能低于&e柴油&r,但在&6HV&r阶段精炼成&6硝基苯&r后将获得显著提升。最终选择何种能源仍由你自行决定。", + "quests.medium_voltage.mv_benzene.desc.2": "关于石油加工的具体方法,请查看轻燃料与石脑油任务。\n\n总体而言,优先部署更多机器(&d并行处理&r)比超频配方更有效率。这种方式能在处理资源时减少能量损耗。\n\n&a苯&r在&3燃气轮机&r中的燃烧效率相当低。该能源初始效能低于&e柴油&r,但可通过精炼成&6重整气&r来获得提升。说到底,选择何种能源取决于你。", + "quests.medium_voltage.mv_benzene.desc.3": "&l&3背景知识:&r&o自GTCEu以来,苯一直是最强大的气体燃料之一——其性能之强甚至成了一个梗。如今,它的辉煌时代在任何地方都屈指可数了。", + "quests.medium_voltage.reformate_gas.title": "重整气教派", + "quests.medium_voltage.reformate_gas.subtitle": "当一位巨人倒下,新的巨人已然崛起。", + "quests.medium_voltage.reformate_gas.desc": "如果这是你选择的路径,那么&8重整气&r将是你在&bMV&r阶段新的首选气体燃料。为实现完美效率,你只需要 &61座煤炭液化塔&r和&62座热解炉&r,便能开始不间断地产出这种珍贵气体。\n\n哦等等,首先你需要找到&5铼&r,这是一种仅在&7群峦传说&r干热区域发现的新材料。其消耗量极低,一个矿脉就足以支撑你直到整合包毕业,或者至少到&6HV&r阶段——届时,在 &6裂解机&r的帮助下,这种气体才能真正实现无限生产。", "quests.medium_voltage.mv_light_fuel.title": "轻燃油", "quests.medium_voltage.mv_light_fuel.subtitle": "把这里的灯点亮,宝贝", "quests.medium_voltage.mv_light_fuel.desc": "蒸馏&a原油&r可获得需要脱硫处理的燃料。\n\n&a硫化氢&r能在&3电解机&r中完美&d循环利用&r。\n\n要实现自动化流程,只需将&3化学反应釜&r与&3电解机&r相邻放置。记得使用&5螺丝刀&r&4启用输出面的输入功能&r。\n\n&a轻燃油&r是不错的&9发电&r选择,但还有更高效的方案……请查看左侧任务指引。", @@ -2952,6 +3026,10 @@ "quests.medium_voltage.mv_diesel.desc.1": "&a柴油&r是一种&d基于石油的&9内燃机燃料&r。\n\n要混合&a轻燃料&r和&a重燃料&r,使用&3蒸馏室&r时,从&d石油&r或&d原油&r中提取的合适比例是&63:2&r。\n\n这意味着需配备3台蒸馏室生产轻燃油,或2台蒸馏室生产重燃油。", "quests.medium_voltage.mv_diesel.desc.2": "通过专门使用&d重油&r来制备&a重燃油&r,可&6大幅削减&r所需&d石油&r用量。若选择此路线,&d油砂矿&r是绝佳选择!\n\n&o(给数据控:从8.33石油->6柴油,优化为5石油+0.4重油->6柴油)&r\n\n&e注意:&r请&c不要尝试&r将石油直接放入&3蒸馏塔&r处理!表面看来它能同时产出轻燃油和重燃油似乎很划算,但此过程需要大量超频才能达到理想效率,最终损耗的能量会远超副产品价值。", "quests.medium_voltage.mv_diesel.desc.3": "总体而言,优先部署更多机器(&d并行处理&r)比超频配方更有效率。这种方式能在处理资源时减少能量损耗。\n\n&a柴油&r通过&3内燃发电机&r燃烧发电。在&6HV&r阶段可进一步精炼成&6高十六烷值柴油&r。与其他能源相比,柴油总体效率更高,但加工流程更为复杂。若你选择&e石油&r路线生产&a聚乙烯&r,现有基础设施便能完美适配此方案。最终选择何种能源仍取决于你。", + "quests.medium_voltage.coal_tower.title": "煤炭液化塔", + "quests.medium_voltage.coal_tower.subtitle": "谁会不爱新的多方块结构呢", + "quests.medium_voltage.coal_tower.desc.1": "&b煤炭液化塔&r是一个新的&b多方块结构&r,用于生产&a重整气&r及其副产品&7煤焦油&r和&7合成气&r。根据你使用的&9线圈&r,每个配方所需的&7EU/t&r消耗将获得折扣。将鼠标悬停在线圈上并按shift键即可查看其加成效果。\n\n注意,&9煤炭液化塔&r可通过使用&8氢气&r来加速,从而减少耗时并降低总能耗。别忘了设置正确的&6电路配置&r以确保其正常运行。\n\n顺带一提,游戏内1秒等于20游戏刻。因此,要计算其每秒消耗,需将每游戏刻消耗量乘以20。", + "quests.medium_voltage.coal_tower.desc.2": "&l&3背景知识:&r&o设计出核裂变反应堆的同一个人,也绘制了煤炭液化塔的初版蓝图,这难道不疯狂吗。", "quests.medium_voltage.mv_jetpack.title": "我相信我能飞", "quests.medium_voltage.mv_jetpack.subtitle": "...嗯,几乎能飞", "quests.medium_voltage.mv_jetpack.desc": "这款喷气背包可使用多数&a内燃机燃料&r(不包括石油类)来提供基础飞行功能。\n\n填充方式与流体桶相同,或通过&3罐装机&r进行填充。\n\n按下&4H&r键(默认按键)可开启悬停模式。", @@ -2982,7 +3060,7 @@ "quests.medium_voltage.mv_aciditic.title": "它会融化你的血肉", "quests.medium_voltage.mv_aciditic.subtitle": "...如果你不读这个任务。", "quests.medium_voltage.mv_aciditic.desc.1": "你可能注意到某些流体被标注为&a酸性&r,其中&9硫酸&r就是典型代表。\n\n这意味着多数流体管道无法安全运输这类液体!\n\n在&bMV&r阶段,最经济的酸性流体运输管道当属&a金管道&r,造价更高的&a钒钢&r与&a铬&r分别位列第二、第三选择。\n\n待进入&6HV&r阶段后,&a不锈钢管道&r或&a聚四氟乙烯&r将成为可行的选择。", - "quests.medium_voltage.mv_aciditic.desc.2": "当前阶段你有三种酸性液体存储方案:&d玻璃瓶&r、&d金桶&r或&d超级缸&r。玻璃瓶类似&9流体单元&r,专为储存酸性液体设计;金桶顾名思义可直接使用;超级缸则在解锁&9聚乙烯&r后可用,能无限制存储任何流体。\n\n&c警告:&r酸性液体误入非抗腐蚀管道将导致&c流体消失&r、&c管道烧毁&r并伴随极高的&c致命风险&r!请务必谨慎操作!\n\n&l&3背景知识:&r&o酸性液体运输与存储机制源自格雷科技6版本的设计,并延续至今。&r", + "quests.medium_voltage.mv_aciditic.desc.2": "当前阶段你有三种实用的酸液存储方案:&d玻璃瓶&r、&d金桶&r或&d超级缸&r。玻璃瓶类似&9流体单元&r,专为储存酸性液体设计;金桶顾名思义可直接使用;超级缸能无限制存储任何流体,但也是最贵的。\n\n&c警告:&r酸性液体误入非抗腐蚀管道将导致&c流体消失&r、&c管道烧毁&r并伴随极高的&c致命风险&r!请务必谨慎操作!\n\n&l&3背景知识:&r&o酸性液体运输与存储机制源自格雷科技6版本的设计,并延续至今。&r", "quests.medium_voltage.mv_aciditic.task": "我是酸液专家,不必担心", "quests.medium_voltage.mv_hydrochloric.title": "盐酸", "quests.medium_voltage.mv_hydrochloric.subtitle": "你需要很多这个!", @@ -3368,7 +3446,7 @@ "quests.space_survival.flag.task": "任何旗帜", "quests.space_survival.chorus.title": "紫颂果", "quests.space_survival.chorus.subtitle": "这是末地吗?", - "quests.space_survival.chorus.desc": "&5紫颂果&r在月球上扮演着至关重要的角色——它将是你的主要氮气来源。首先,找到一些紫颂植物,跑酷到顶部,并打破&5紫颂花&r。从底部破坏植物不会得到任何紫颂花!接下来,在电力温室中种植紫颂花以获得可再生的紫颂果来源,然后你可以分别用酿造厂和发酵器将它们加工成生物质和氮气。你还可以将生物质蒸馏成碳,以获得更多的火箭燃料!", + "quests.space_survival.chorus.desc": "&5紫颂果&r在月球上扮演着至关重要的角色——它将是你的主要氮气来源。首先,找到一些紫颂植物,跑酷到顶部,并打破&5紫颂花&r。从底部破坏植物不会得到任何紫颂花!接下来,在电力温室中种植紫颂花以获得可再生的紫颂果来源,然后你可以分别用酿造室和发酵器将它们加工成生物质和氮气。你还可以将生物质蒸馏成碳,以获得更多的火箭燃料!", "quests.space_survival.rover.title": "太空漫游车", "quests.space_survival.rover.subtitle": "你的逃生工具", "quests.space_survival.rover.desc": "你不得不把你花哨的喷气背包留在家里,没有大气层供飞机飞行,马也无法生存,那么你该如何出行?\n\n&b漫游车(Rover)&r是一种可以容纳最多两名乘客的载具,使用可燃燃料(柴油、汽油和火箭燃料)运行,甚至还有一个物品栏和可以播放真实世界电台的收音机!", @@ -3648,7 +3726,7 @@ "quests.steam_age.extractor.desc": "在&6蒸汽时代&r,&3提取机&r能制造的物品并不多,因为它无法提取流体。", "quests.steam_age.glass_tube.title": "玻璃管", "quests.steam_age.glass_tube.subtitle": "这个需求量巨大", - "quests.steam_age.glass_tube.desc": "虽然你可通过玻璃吹制手工制作,但使用合金冶炼炉搭配对应模具进行生产的效率要高得多。需要大量玻璃粉?你可以一次性吹制16块玻璃板再进行粉碎,亦可使用碎石机与锻锤获取大量沙砾,随后混入少量燧石粉即可制成玻璃粉。", + "quests.steam_age.glass_tube.desc": "虽然你的第一个玻璃管需要手动&d吹制玻璃&r获得,但使用合金冶炼炉搭配对应模具进行生产的效率要高得多。需要大量玻璃粉?你可以一次性吹制16块玻璃板再进行粉碎,亦可使用碎石机与锻锤获取大量沙砾,随后混入少量燧石粉即可制成玻璃粉。", "quests.steam_age.treated_planks.title": "防腐木板", "quests.steam_age.treated_planks.subtitle": "也称为防腐胶合板", "quests.steam_age.treated_planks.desc": "希望你一直在积攒杂酚油,因为制作防腐木浆与防腐木板正是它的另一大用途。\n\n&l&3背景说明:&r&o在旧版TerraFirmaGreg中,直到这个阶段你才真正能开始玩机械动力!", @@ -4313,7 +4391,7 @@ "quests.tfg_tips.create_tree_sugar.task": "枫糖或桦糖", "quests.tfg_tips.create_rubber_ingot.title": "橡胶条", "quests.tfg_tips.create_rubber_ingot.subtitle": "把这些&6电缆&r包裹好。", - "quests.tfg_tips.create_rubber_ingot.desc": "使用&b真空腔室&r并辅以额外加热,你可以通过特定工艺将各种树木产生的&a乳胶&r加工成&d生橡胶末&r。随后,在&b合金冶炼炉&r中将3份&d生橡胶末&r与少量&e硫磺&r一同熔炼,即可制成&d橡胶条&r。它是电缆绝缘处理的理想材料,也是迈入&2电气时代&r及后续阶段所不可或缺的资源。", + "quests.tfg_tips.create_rubber_ingot.desc": "使用&b真空腔室&r并辅以额外加热,你可以通过特定工艺将各种树木产生的&a乳胶&r加工成&d生橡胶末&r。随后,在&b合金冶炼炉&r中将3份&d生橡胶末&r与少量&e硫磺&r一同熔炼,即可制成&d橡胶条&r。它是电缆绝缘处理的理想材料,也是迈入&2电气时代&r及后续阶段所不可或缺的资源。\n\n&9提示:&r随着进程推进,将出现多种使该流程更廉价、更简便的方法。记得常查看EMI!你将长期使用橡胶,因此很值得将其自动化。", "quests.tfg_tips.transportation.title": "交通工具", "quests.tfg_tips.transportation.subtitle": "穿梭广袤世界", "quests.tfg_tips.transportation.desc": "世界非常庞大,你可能需远行寻找特定生存发展资源。本节模组提供多种交通工具选择。", @@ -4461,7 +4539,7 @@ "quests.tfg_tips.beehive.desc": "要开启你的养蜂之旅,你需要准备一个&b蜂箱&r和一块&a巢脾&r。\n与原版《我的世界》不同,蜂巢不会自然生成,蜜蜂只会在玩家放置的、且已被&e蜂后&r入驻的&b蜂箱&r巢脾中诞生。蜂后入驻你巢脾的几率取决于随机数,但你可以在蜂箱周围放置&d花&r来提高成功率。\n\n一旦你的巢脾被蜂后入驻,它就会开始孕育蜜蜂并生产蜂蜜。", "quests.tfg_tips.not_the_bees.title": "养蜂人护甲", "quests.tfg_tips.not_the_bees.subtitle": "不要蜜蜂!", - "quests.tfg_tips.not_the_bees.desc": "蜜蜂可不乐意在被人打扰时,还任由对方收割自己宝贵的蜂蜜与蜂蜡。有三种方法能让你安全采收:\n\n*&d在夜间收获&r\n*&d点燃营火&r\n*&d穿戴养蜂护甲&r", + "quests.tfg_tips.not_the_bees.desc": "蜜蜂可不乐意在被人打扰时,还任由对方收割自己宝贵的蜂蜜与蜂蜡,或是挪动它们的巢脾。有三种方法能让你安全采收:\n\n*&d在夜间收获&r\n*&d点燃营火&r\n*&d穿戴养蜂护甲&r", "quests.tfg_tips.not_the_bees.task": "我会点燃营火或等到夜幕降临", "quests.tfg_tips.honey.title": "蜂蜜", "quests.tfg_tips.honey.subtitle": "哦,打扰了...", From dd1463acdfa0d7b60f53d751605bb7852cbf9f80 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 19:36:35 +0000 Subject: [PATCH 249/628] update to forge 47.4.13, fix aged sake, fix cleanroom doors, fix butyraldehyde --- CHANGELOG.md | 6 +++++- kubejs/data/tfc/tfc/drinkables/aged_sake.json | 12 ++++++++++++ kubejs/data/tfc/tfc/drinkables/aged_vodka.json | 12 ++++++++++++ kubejs/data/tfc/tfc/drinkables/aged_whiskey.json | 12 ++++++++++++ kubejs/server_scripts/gregtech/tags.js | 6 ++++++ kubejs/startup_scripts/gtceu/constants.js | 4 ++-- pakku-lock.json | 2 +- 7 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 kubejs/data/tfc/tfc/drinkables/aged_sake.json create mode 100644 kubejs/data/tfc/tfc/drinkables/aged_vodka.json create mode 100644 kubejs/data/tfc/tfc/drinkables/aged_whiskey.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bf306f71..8b9590bce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,13 @@ # Changelog ## Unreleased -### Changes +### Breaking Changes +- Butyraldehyde in a chemical reactor now uses circuit 5 instead of 1 to avoid a conflict with Methanol @Pyritie +### Other Changes - Added recipes for create's shadow and radiant casings (#2256) @Ujhik ### Bug fixes +- Fixed missing cleanroom tags for the ad astra 3x3 doors, so now you can *actually* use them in a cleanroom @Pyritie +- Fixed aged sake, vodka, and whiskey losing their buff effects @Pyritie ## [0.11.9] - 7-12-2025 ### Breaking Changes diff --git a/kubejs/data/tfc/tfc/drinkables/aged_sake.json b/kubejs/data/tfc/tfc/drinkables/aged_sake.json new file mode 100644 index 000000000..1657f4f89 --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/aged_sake.json @@ -0,0 +1,12 @@ +{ + "ingredient": "tfcagedalcohol:aged_sake", + "thirst": 15, + "intoxication": 2000, + "effects": [ + { + "type": "minecraft:resistance", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/aged_vodka.json b/kubejs/data/tfc/tfc/drinkables/aged_vodka.json new file mode 100644 index 000000000..baa19f8dd --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/aged_vodka.json @@ -0,0 +1,12 @@ +{ + "ingredient": "tfcagedalcohol:aged_vodka", + "thirst": 15, + "intoxication": 2000, + "effects": [ + { + "type": "minecraft:resistance", + "duration": 3200, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfc/tfc/drinkables/aged_whiskey.json b/kubejs/data/tfc/tfc/drinkables/aged_whiskey.json new file mode 100644 index 000000000..740b7380a --- /dev/null +++ b/kubejs/data/tfc/tfc/drinkables/aged_whiskey.json @@ -0,0 +1,12 @@ +{ + "ingredient": "tfcagedalcohol:aged_whiskey", + "thirst": 15, + "intoxication": 2000, + "effects": [ + { + "type": "minecraft:haste", + "duration": 3200, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index da08ef709..a7f7a9674 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -76,6 +76,12 @@ function registerGTCEUBlockTags(event) { event.add("gtceu:cleanroom_doors", "createdeco:zinc_door"); event.add("gtceu:cleanroom_doors", "createdeco:locked_zinc_door"); event.add("gtceu:cleanroom_doors", "ad_astra:steel_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:iron_sliding_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:steel_sliding_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:reinforced_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:desh_sliding_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:ostrum_sliding_door"); + event.add("gtceu:cleanroom_doors", "ad_astra:calorite_sliding_door"); } /** @param {TagEvent.Fluid} event */ diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 4666d23a6..b3806f41b 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -388,8 +388,8 @@ global.ADD_CIRCUIT = /** @type {const} */ ([ { recipeId: "gtceu:chemical_reactor/acetic_acid_from_methanol", circuitNumber: 1 }, { recipeId: "gtceu:large_chemical_reactor/acetic_acid_from_methanol", circuitNumber: 1 }, - { recipeId: "gtceu:chemical_reactor/butraldehyde", circuitNumber: 1 }, - { recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 1 } + { recipeId: "gtceu:chemical_reactor/butraldehyde", circuitNumber: 5 }, + { recipeId: "gtceu:large_chemical_reactor/butraldehyde", circuitNumber: 5 } ]); //#endregion diff --git a/pakku-lock.json b/pakku-lock.json index 0714b88a5..3e7e3db7f 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4,7 +4,7 @@ "1.20.1" ], "loaders": { - "forge": "47.4.6" + "forge": "47.4.13" }, "projects": [ { From 811cf2766f6a37d8d688f3f595b620b652c41d19 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 19:53:36 +0000 Subject: [PATCH 250/628] move venus fluids into core --- .../tfg/worldgen/noise_settings/venus_noise.json | 2 +- kubejs/server_scripts/tfg/venus/tags.venus.js | 4 ++-- kubejs/startup_scripts/tfg/fluids.js | 15 --------------- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index 628dfa3e8..6cc67118b 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -8,7 +8,7 @@ "Name": "ad_astra:venus_stone" }, "default_fluid": { - "Name": "tfg:sulfur_fumes" + "Name": "tfg:fluid/sulfur_fumes" }, "noise": { "min_y": -64, diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 3b1054640..b41ce3ec4 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -73,8 +73,8 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/white') event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/yellow') event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/yellow') - event.add('ad_astra:venus_stone_replaceables', 'tfg:geyser_slurry') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sulfur_fumes') + event.add('ad_astra:venus_stone_replaceables', 'tfg:fluid/geyser_slurry') + event.add('ad_astra:venus_stone_replaceables', 'tfg:fluid/sulfur_fumes') event.add('ad_astra:venus_stone_replaceables', 'minecraft:lava') event.add('ad_astra:venus_stone_replaceables', 'create:scoria') event.add('ad_astra:venus_stone_replaceables', 'create:scorchia') diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index 287f1dd0d..ddf04bc53 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -18,20 +18,5 @@ const registerTFGFluids = (event) => { .noBlock() // Venus - event.create('tfg:sulfur_fumes') - .stillTexture('tfg:block/planets/venus/sulfur_fumes_still') - .flowingTexture('tfg:block/planets/venus/sulfur_fumes_flow') - .bucketColor(0xc4d984) - .gaseous() - .viscosity(0) - .density(0) - .renderType('translucent') - - event.create('tfg:geyser_slurry', 'tfc:spring') - .stillTexture('tfg:block/planets/venus/geyser_slurry_still') - .flowingTexture('tfg:block/planets/venus/geyser_slurry_flow') - .bucketColor(0xc4d984) - .temperature(1000) - .renderType('translucent') } \ No newline at end of file From 752802bacfdac7038d1ee45cc73399defdde1d1f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 20:58:16 +0000 Subject: [PATCH 251/628] langs --- kubejs/assets/create/lang/en_us.json | 2 + kubejs/assets/tfg/lang/en_us.json | 56 ++++++++++++++++++++++------ kubejs/assets/tfg/lang/fr_fr.json | 12 +++--- kubejs/assets/tfg/lang/ja_jp.json | 10 ++--- kubejs/assets/tfg/lang/pt_br.json | 13 +++---- kubejs/assets/tfg/lang/ru_ru.json | 12 +++--- kubejs/assets/tfg/lang/uk_ua.json | 10 ++--- kubejs/assets/tfg/lang/zh_cn.json | 10 ++--- 8 files changed, 77 insertions(+), 48 deletions(-) diff --git a/kubejs/assets/create/lang/en_us.json b/kubejs/assets/create/lang/en_us.json index 417c99027..7df80e91e 100644 --- a/kubejs/assets/create/lang/en_us.json +++ b/kubejs/assets/create/lang/en_us.json @@ -1,6 +1,8 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "Blue Steel Backtank", + "block.create.shadow_casing": "Black Steel Casing", + "block.create.refined_radiance_casing": "Glowing Casing", "block.create.industrial_iron_block": "Industrial Steel Block", "block.create.weathered_iron_block": "Weathered Steel Block", "block.create.industrial_iron_window": "Industrial Steel Window", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 91bdba756..a7d8f4cb8 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -495,6 +495,8 @@ "block.tfg.zpm_gas_pressurizer": "§cElite Gas Pressurizer III§r", "block.tfg.uv_gas_pressurizer": "§3Ultimate Gas Pressurizer§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", + "block.tfg.fluid.sulfur_fumes": "Dense Sulfuric Fumes", + "block.tfg.fluid.geyser_slurry": "Super Heated Slurry", "block.tfg.grass.mars_dirt": "Martian Dirt", "block.tfg.grass.mars_clay_dirt": "Martian Clay Dirt", "block.tfg.grass.mars_farmland": "Martian Farmland", @@ -665,14 +667,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", - "fluid.tfg.nether_slurry": "Nether Slurry", - "fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry", - "fluid.tfg.ender_slurry": "Ender Slurry", - "fluid.tfg.enriched_ender_slurry": "Enriched Ender Slurry", "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", - "fluid.tfg.sulfur_fumes": "Sulfur Fumes", - "fluid.tfg.super_heated_slurry": "Super Heated Slurry", + "fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes", + "fluid.tfg.geyser_slurry": "Super Heated Slurry", "fluid.tfg.cryogenized_fluix": "Cryogenized Fluix", "item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.haste_pill": "Haste Pill", @@ -907,8 +905,8 @@ "item.tfg.marker.mercury_orbit": "Mercury Orbit", "item.tfg.marker.glacio_orbit": "Europa Orbit", "item.tfg.railgun_ammo_shell": "Railgun Ammo Shell", - "item.tfg.sulfur_fumes_bucket": "Sulfur Fumes Bucket", - "item.tfg.super_heated_slurry_bucket": "Super Heated Slurry Bucket", + "item.tfg.sulfur_fumes_bucket": "Dense Sulfuric Fumes Bucket", + "item.tfg.geyser_slurry_bucket": "Super Heated Slurry Bucket", "item.tfg.cryogenized_fluix_bucket": "Cryogenized Fluix Bucket", "item.tfg.fluix_bucket": "Liquid Fluix Bucket", "item.tfg.latex_bucket": "Latex Bucket", @@ -4027,15 +4025,51 @@ "quests.tfg_tips.gt.title": "GregTech", "quests.tfg_tips.gt.subtitle": "One third of the modpack's name, after all.", "quests.tfg_tips.gt.desc": "&3GregTech&r can be quite intimidating, this quest branch should help you out.", + "quests.tfg_tips.gt_power_tools.title": "Power Tools", + "quests.tfg_tips.gt_power_tools.subtitle": "Men only want one thing and it's f&kuck&ring disgusting", + "quests.tfg_tips.gt_power_tools.desc.1": "As with any good tech mod, &5GregTech&r comes with a wide variety of &6tools&r you can use. To operate them, you'll need to &acharge them with energy&r — and there are several ways to do that: place the tool in a &6Battery Buffer&r, in an &denergy slot&r of a machine, or even better, use a &eTurbo Charger&r.\n\nJust remember: you can only charge an item using a power source of &7equal&r or &ahigher tier&r. &cLower-tier sources&r won’t work on higher-tier tools — but don’t worry, &cnothing should explode&r. Probably.", + "quests.tfg_tips.gt_power_tools.desc.2": "Most &5GregTech&r tools are crafted from a &6Tool Head&r. Try using &aEMI&r to explore what you can do with them — just remember two important things:\n\n- The &ehigher the Tool Head tier&r, the more &cpowerful&r the tool will be, and the &6larger the battery&r it will use.\n- Not every tool supports every Tool Head tier. For example, the &6Chainsaw&r can only be crafted with a &7LV Tool Head&r.", "quests.tfg_tips.nano_saber.title": "Nano Saber", "quests.tfg_tips.nano_saber.subtitle": "26 Attack Damage when active!", "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach late &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", - "quests.tfg_tips.gt_tools.title": "GregTech Tools", - "quests.tfg_tips.gt_tools.subtitle": "", - "quests.tfg_tips.gt_tools.desc": "Most &5GregTech&r tools are crafted from a &6Tool Head&r. Try using &aEMI&r to explore what you can do with them — just remember two important things:\n\n- The &ehigher the Tool Head tier&r, the more &cpowerful&r the tool will be, and the &6larger the battery&r it will use.\n- Not every tool supports every Tool Head tier. For example, the &6Chainsaw&r can only be crafted with a &7LV Tool Head&r.", "quests.tfg_tips.magnets.title": "Item Magnets", "quests.tfg_tips.magnets.subtitle": "", "quests.tfg_tips.magnets.desc": "The &6Item Magnet&r is exactly what you'd expect — a magnet that pulls nearby &6items&r straight to you. &aVery useful&r. What more could you ask for?", + "quests.tfg_tips.long_distance_items.title": "Long-Distance Item Pipes", + "quests.tfg_tips.long_distance_items.subtitle": "Wondering how to move those ores around?", + "quests.tfg_tips.long_distance_items.desc": "&3Long-Distance Item Pipes&r can be used to send items across great distances. Place one endpoint at each end, and connect them with pipeline blocks.\n\nThese pipes instantly transfer from the input side to the output side.\n\nThey also have a minimum distance between pipe endpoints, so you can't use these for short-range operations.", + "quests.tfg_tips.long_distance_fluids.title": "Long-Distance Fluid Pipes", + "quests.tfg_tips.long_distance_fluids.subtitle": "Wondering how to move that oil around?", + "quests.tfg_tips.long_distance_fluids.desc": "&3Long-Distance Fluid Pipes&r can be used to send fluids across great distances. Place one endpoint at each end, and connect them with pipeline blocks.\n\nThese pipes instantly transfer from the input side to the output side.\n\nThey also have a minimum distance between pipe endpoints, so you can't use these for short-range operations.\n\nThese pipes have a reputation of being &4buggy&r to set up. If they don't seem to work at first, try rotating the endpoints with a &eWrench&r.", + "quests.tfg_tips.crates.title": "GregTech Storage", + "quests.tfg_tips.crates.subtitle": "Earlygame buffering", + "quests.tfg_tips.crates.desc": "In theory, Crates are flat upgrades to Chests. A single block space that stores more items - what more could you ask for?\n\nThey're more expensive than regular Chests, and can't be attached to Create contraptions, but can hold any size of item and can &6accept Covers&r, making them perfect candidates for buffers in automation.", + "quests.tfg_tips.tape.title": "Tape for Crates", + "quests.tfg_tips.tape.subtitle": "Moving stuff around", + "quests.tfg_tips.tape.desc": "You can right-click a Crate with Tape, which will then make the crate keep its contents when broken, making it easy to move around. This only works once per tape, however.\n\nGood thing it's cheap!", + "quests.tfg_tips.terminal.subtitle": "Automatic Multiblock Builder", + "quests.tfg_tips.terminal.desc": "&bThe Terminal&r has one main purpose, and &awe highly encourage you to craft it&r.\n\nBuilding all these &eMultiblocks&r can be a bit &cintimidating&r, right? Well, here's a tip: use &dShift + Right-Click&r on any &6Multiblock Controller&r to &aautomatically assemble the entire structure&r!\n\nYou might need to &emove around some buses and hatches&r to suit your setup, but overall, this feature will save you a &alot of time&r.", + "quests.tfg_tips.memory_card.subtitle": "Copy and Paste", + "quests.tfg_tips.memory_card.desc": "When you try to &aparallelize your setup&r with more machines, it can be a bother to set all the &einputs&r and &eoutputs&r for each one. Yeah, we're thinking of you, &dSuper Chests&r and &dTanks&r.\n\nIf you ever find yourself needing this little tool, don't hesitate to use it.", + "quests.tfg_tips.portable_scanner.subtitle": "For the nosiest GregTech players", + "quests.tfg_tips.portable_scanner.desc.1": "The &aPortable Scanner&r, or &aTricorder&r, is GTCEu's debug tool.\n\nUsing it will show you a block's details, the details of the energy network, its current status and contents, and its impact on performance.\n\nIt'll also display a percentage of fluid remaining in the fluid vein for the &3Fluid Rigs&r.", + "quests.tfg_tips.portable_scanner.desc.2": "&l&3Lore:&r&o This little useful device comes from GregTech 5. It was extremely useful in the early days, because very little information (basically nothing) was given by GUIs or WAILA.", + "quests.tfg_tips.duct_tape.subtitle": "If you can't fix it with this, use more of it!", + "quests.tfg_tips.duct_tape.desc": "You may have realized that most &eMultiblocks&r require a &6Maintenance Hatch&r. Until &6HV&r, where you can get an &aAutomatic Maintenance Hatch&r, you can use this item to fix the hatch without needing to use all of your maintenance tools.\n\nIt can be really useful if you don't want to invest in an &aAuto Maintenance Hatch&r yet, or if you're simply &cnot there yet&r.", + "quests.tfg_tips.gt_filters.title": "Filters", + "quests.tfg_tips.gt_filters.desc": "With &5GregTech&r, you get access to various &6filters&r that help you ease into &aautomation&r. All of them are compatible with different &dCovers&r, which you'll learn more about during the &7LV&r Chapter.\n\nHere, we're introducing two more specific filters that you might find &bhandy&r in certain situations.\n\nTo use a filter, simply apply it as a &dCover&r on any &5GT Machine&r or &6pipe&r.", + "quests.tfg_tips.smart_item_filter.subtitle": "Knock, knock - who's that? It's MENSA!", + "quests.tfg_tips.smart_item_filter.desc.1": "In this quest, we'll bestow upon you &5cursed wisdom&r... the ability to easily automate the Electrolyzer.\n\nThe &9Smart Item Filter&r is a filter that recognises Recipe Maps. When placed on the side of a machine, you can set it to \"&3Electrolyzer&r\" to allow insertion of electrolyzable items specifically. You heard that right - no need to filter manually!\n\nOh, and it only gets &abetter&r. If you combine this bad boy with a &aRobot Arm&r, it'll only supply the &6exact amount&r of items required for a successful recipe to the machine.", + "quests.tfg_tips.smart_item_filter.desc.2": "Place the &aRobot Arm&r on your Electrolyzer, open its GUI, then place the &9Smart Filter&r inside. Ensure that the Smart Filter is set to Electrolyzer.\n\nNext, configure it to &d&lImport&r and &d&lSupply Exact&r. Finally, attach any inventory &7(a chest will do)&r onto the side where you placed the &aRobot Arm&r. Ta-dah! You've figured out how to handle &6all&r Electrolyzer recipes!\n\nWhat about the output of the &3Electrolyzer&r? You may want to route the Fluids to several Tanks - or even &3Super Tanks&r if you've gotten that far. We highly recommend that you avoid any methods involving voiding Fluids.&7.&8. except for Water for obvious reasons.", + "quests.tfg_tips.smart_item_filter.desc.3": "&9Note:&r The Robot Arm has to facilitate the item transfer for its filtering functionality to work! Inserting directly into the machine &7(for instance, pushing with a Hopper!)&r will ignore the Robot Arm's &dSupply Exact&r setting.", + "quests.tfg_tips.hazard_materials.title": "Hazardous Materials", + "quests.tfg_tips.hazard_materials.subtitle": "Choking Hazard, Ages 3+", + "quests.tfg_tips.hazard_materials.desc": "With the new version of &5Gregtech&r, a &chazard system&r has been introduced. By holding &dShift&r while hovering over &cHazardous Materials&r, you can see how they might affect you.\n\nWe strongly advise using proper &6protective equipment&r to keep your &corgans intact&r.", + "quests.tfg_tips.face_mask.desc": "The &6Face Mask&r will protect you from &cinhaling dangerous dust&r. It’s quite &aeasy to craft&r and should prevent issues when working with &5arsenic&r.", + "quests.tfg_tips.rubber_gloves.desc": "The &6Gloves&r will obviously protect you from &cskin contact hazards&r. You have two ways to make them: a &7longer and more involved path&r through &2TerrafirmaCraft&r, or a much &aeasier method&r using the &6High Pressure Steam Alloy Smelter&r.", + "quests.tfg_tips.hazmat.desc": "The &6Hazardous Materials Suit&r is the best way to protect yourself from &cany kind of harm&r. You’ll be able to craft it once you reach &bMV&r, and &ayou should definitely take the time to do so&r.", + "quests.tfg_tips.armor.title": "GregTech Armor", + "quests.tfg_tips.armor.desc": "With &5GregTech&r comes its own line of armor. Sure, it was cool to wear &7metal plates&r, but now that you're an &bindustrial maniac&r, maybe it's time to check out some &atechnological armor&r.\n\n&5GregTech&r provides two models. The first one becomes available around &6HV&r and offers better protection than anything you've worn before. It's equipped with &estrong insulation&r to withstand Earth's harsh climate, and it may even be upgraded with a &dJetpack&r.\n\nThe second model won't be available until much later — around &1IV&r and &dLuV&r. This one will allow you to &9breathe in space&r using &3oxygen&r.", "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraft Addons", "quests.tfg_tips.terrafirmacraft.subtitle": "The other two thirds of the modpack's name", "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&r is one of the main mods in &2TerraFirmaGreg.&r This branch mostly focuses on some of its survival features and other &dAdd-Ons&r the modpack has, such as &4Aged Alcohol&r and &bCanes.&r", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 5c9304fd3..b24b4f7cb 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -476,6 +476,8 @@ "block.tfg.zpm_gas_pressurizer": "§cPressuriseur de gaz d'Élite III§r", "block.tfg.uv_gas_pressurizer": "§3Pressuriseur de gaz Ultime§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "Eau Ammoniacal Semilourde", + "block.tfg.fluid.sulfur_fumes": "Vapeurs Souffrées", + "block.tfg.fluid.geyser_slurry": "Boue Surchauffée", "block.tfg.grass.mars_dirt": "Terre Martienne", "block.tfg.grass.mars_clay_dirt": "Terre Martienne Argileuse", "block.tfg.grass.mars_farmland": "Terre Martienne Labourée", @@ -638,13 +640,11 @@ "block.tfg.growth_monitor": "Moniteur de Croissance", "block.tfg.sample_rack": "Plateau d'Échantillons", "block.tfg.casings.machine_casing_sterilizing_pipes": "Tuyaux Stérilisants", - "fluid.tfg.nether_slurry": "Boue du Nether", - "fluid.tfg.enriched_nether_slurry": "Boue du Nether Enrichie", - "fluid.tfg.ender_slurry": "Boue de l'End", - "fluid.tfg.enriched_ender_slurry": "Boue de l'End Enrichie", + "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", "fluid.tfg.semiheavy_ammoniacal_water": "Eau Ammoniacal Semi-Lourde", "fluid.tfg.sulfur_fumes": "Vapeurs Souffrées", - "fluid.tfg.super_heated_slurry": "Boue Surchauffée", + "fluid.tfg.geyser_slurry": "Boue Surchauffée", + "fluid.tfg.cryogenized_fluix": "Cryogenized Fluix", "item.tfg.antipoison_pill": "Pillule Anti-poison", "item.tfg.haste_pill": "Pillule de Célérité", "item.tfg.night_vision_pill": "Pillule de Vision Nocturne", @@ -838,7 +838,7 @@ "item.tfg.marker.mercury_orbit": "Orbite de Mercure", "item.tfg.railgun_ammo_shell": "Munition de Cannon Électro-magnétique", "item.tfg.sulfur_fumes_bucket": "Sceau de Fumées Sulfureuses", - "item.tfg.super_heated_slurry_bucket": "Sceau de Boue Surchauffé", + "item.tfg.geyser_slurry_bucket": "Sceau de Boue Surchauffé", "item.tfg.cryogenized_fluix_bucket": "Sceau de Fluix Cryogène", "item.tfg.fluix_bucket": "Sceau de Fluix Liquide", "item.tfg.latex_bucket": "Sceau de Latex", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 98b7d6a48..316dabe38 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -493,6 +493,8 @@ "block.tfg.zpm_gas_pressurizer": "§c精鋭型ガス圧縮機III§r", "block.tfg.uv_gas_pressurizer": "§3究極型ガス圧縮機§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", + "block.tfg.fluid.sulfur_fumes": "Dense Sulfuric Fumes", + "block.tfg.fluid.geyser_slurry": "Super Heated Slurry", "block.tfg.grass.mars_dirt": "火星の土", "block.tfg.grass.mars_clay_dirt": "火星の粘土", "block.tfg.grass.mars_farmland": "火星の耕地", @@ -661,14 +663,10 @@ "block.tfg.impure_moderate_core": "不純なモデレートコア", "block.tfg.moderate_core_frame": "モデレートコアフレーム", "block.tfg.impure_moderate_core_frame": "不純なモデレートコアフレーム", - "fluid.tfg.nether_slurry": "ネザー泥漿", - "fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry", - "fluid.tfg.ender_slurry": "エンダー泥漿", - "fluid.tfg.enriched_ender_slurry": "Enriched Ender Slurry", "fluid.tfg.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", "fluid.tfg.heavy_ammoniacal_water": "アンモニア交じりの重水", "fluid.tfg.sulfur_fumes": "Sulfur Fumes", - "fluid.tfg.super_heated_slurry": "Super Heated Slurry", + "fluid.tfg.geyser_slurry": "Super Heated Slurry", "fluid.tfg.cryogenized_fluix": "超低温液化フルーシュ", "item.tfg.antipoison_pill": "解毒の丸薬", "item.tfg.haste_pill": "採掘の丸薬", @@ -904,7 +902,7 @@ "item.tfg.marker.glacio_orbit": "Europa Orbit", "item.tfg.railgun_ammo_shell": "レールガンの弾", "item.tfg.sulfur_fumes_bucket": "Sulfur Fumes Bucket", - "item.tfg.super_heated_slurry_bucket": "Super Heated Slurry Bucket", + "item.tfg.geyser_slurry_bucket": "Super Heated Slurry Bucket", "item.tfg.cryogenized_fluix_bucket": "超低温液化フルーシュ バケツ", "item.tfg.fluix_bucket": "液化フルーシュ バケツ", "item.tfg.latex_bucket": "ラテックス入りのバケツ", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index a8797019a..1a0a0f1b9 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -248,6 +248,8 @@ "block.tfg.zpm_gas_pressurizer": "§cPressurizador de Gás Elite III§r", "block.tfg.uv_gas_pressurizer": "§3Pressurizador de Gás Supremo§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "Água Amoniacal Semipesada", + "block.tfg.fluid.sulfur_fumes": "Fumos de Enxofre", + "block.tfg.fluid.geyser_slurry": "Lama Superaquecida", "block.tfg.grass.mars_dirt": "Terra Marciana", "block.tfg.grass.mars_clay_dirt": "Terra de Argila Marciana", "block.tfg.grass.mars_farmland": "Terra Arada Marciana", @@ -392,14 +394,11 @@ "block.tfg.large_nest_box": "Ninho Carmesim Grande", "tfg.block_entity.large_nest_box": "Caixa-ninho Grande", "block.tfg.large_nest_box_warped": "Ninho Distorcido Grande", - "fluid.tfg.nether_slurry": "Lama do Nether", - "fluid.tfg.enriched_nether_slurry": "Lama do Nether Enriquecida", - "fluid.tfg.ender_slurry": "Lama do Ender", - "fluid.tfg.enriched_ender_slurry": "Lama do Ender Enriquecida", - "fluid.tfg.semiheavy_ammoniacal_water": "Água Amoniacal Semipesada", + "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", "fluid.tfg.heavy_water": "Água Pesada", "fluid.tfg.sulfur_fumes": "Fumos de Enxofre", - "fluid.tfg.super_heated_slurry": "Lama Superaquecida", + "fluid.tfg.geyser_slurry": "Lama Superaquecida", + "fluid.tfg.cryogenized_fluix": "Cryogenized Fluix", "item.tfg.antipoison_pill": "Pílula Antiveneno", "item.tfg.haste_pill": "Pílula de Pressa", "item.tfg.night_vision_pill": "Pílula de Visão Noturna", @@ -621,7 +620,7 @@ "item.tfg.marker.mercury_orbit": "Órbita Mercuriana", "item.tfg.railgun_ammo_shell": "Cartucho de Arma de Raios", "item.tfg.sulfur_fumes_bucket": "Balde de Fumos de Enxofre", - "item.tfg.super_heated_slurry_bucket": "Balde de Lama Superaquecida", + "item.tfg.geyser_slurry_bucket": "Balde de Lama Superaquecida", "item.tfg.cryogenized_fluix_bucket": "Balde de Fluix Criogenizado", "item.tfg.fluix_bucket": "Balde de Fluix Líquido", "item.tfg.latex_bucket": "Balde de Látex", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 7c2118662..78cd12896 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -493,6 +493,8 @@ "block.tfg.zpm_gas_pressurizer": "§cElite Gas Pressurizer III§r", "block.tfg.uv_gas_pressurizer": "§3Ultimate Gas Pressurizer§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", + "block.tfg.fluid.sulfur_fumes": "Пары серы", + "block.tfg.fluid.geyser_slurry": "Метастабильный шлам", "block.tfg.grass.mars_dirt": "Марсианская земля", "block.tfg.grass.mars_clay_dirt": "Марсианская земля с глиной", "block.tfg.grass.mars_farmland": "Марсианская пашня", @@ -657,13 +659,11 @@ "block.tfg.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Стойка для образцов", "block.tfg.casings.machine_casing_sterilizing_pipes": "Стерилизующие трубы", - "fluid.tfg.nether_slurry": "Шлам незера", - "fluid.tfg.enriched_nether_slurry": "Обогащённый шлам незера", - "fluid.tfg.ender_slurry": "Шлам энда", - "fluid.tfg.enriched_ender_slurry": "Обогащённый шлам энда", + "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", "fluid.tfg.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", "fluid.tfg.sulfur_fumes": "Пары серы", - "fluid.tfg.super_heated_slurry": "Метастабильный шлам", + "fluid.tfg.geyser_slurry": "Метастабильный шлам", + "fluid.tfg.cryogenized_fluix": "Cryogenized Fluix", "item.tfg.antipoison_pill": "Пилюля противоядия", "item.tfg.haste_pill": "Пилюля спешки", "item.tfg.night_vision_pill": "Пилюля ночного зрения", @@ -874,7 +874,7 @@ "item.tfg.marker.glacio_orbit": "Орбита Европы", "item.tfg.railgun_ammo_shell": "Гильза снаряда рельсотрона", "item.tfg.sulfur_fumes_bucket": "Ведро (Пары серы)", - "item.tfg.super_heated_slurry_bucket": "Super Heated Slurry Bucket", + "item.tfg.geyser_slurry_bucket": "Super Heated Slurry Bucket", "item.tfg.cryogenized_fluix_bucket": "Ведро (Криогенный флюис)", "item.tfg.fluix_bucket": "Ведро (Флюис)", "item.tfg.latex_bucket": "Ведро (Латекс)", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 248b8b4b0..eb51c104e 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -493,6 +493,8 @@ "block.tfg.zpm_gas_pressurizer": "§dЕлітний Газовий Пресуризатор III§r", "block.tfg.uv_gas_pressurizer": "§3Ультимативний Газовий Пресуризатор§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода", + "block.tfg.fluid.sulfur_fumes": "Сірчані випари", + "block.tfg.fluid.geyser_slurry": "Супернагрітий шлам", "block.tfg.grass.mars_dirt": "Марсіанський ґрунт", "block.tfg.grass.mars_clay_dirt": "Марсіанський Глиняний Ґрунт", "block.tfg.grass.mars_farmland": "Марсіанське поле", @@ -661,14 +663,10 @@ "block.tfg.impure_moderate_core": "Нечисте помірне ядро", "block.tfg.moderate_core_frame": "Каркас помірного ядра", "block.tfg.impure_moderate_core_frame": "Каркас нечистого помірного ядра", - "fluid.tfg.nether_slurry": "Незерський шлам", - "fluid.tfg.enriched_nether_slurry": "Збагачений незерський шлам", - "fluid.tfg.ender_slurry": "Ендерський шлам", - "fluid.tfg.enriched_ender_slurry": "Збагачений ендерський шлам", "fluid.tfg.heavy_ammoniacal_water": "Важка аміачна вода", "fluid.tfg.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода", "fluid.tfg.sulfur_fumes": "Сірчані випари", - "fluid.tfg.super_heated_slurry": "Супернагрітий шлам", + "fluid.tfg.geyser_slurry": "Супернагрітий шлам", "fluid.tfg.cryogenized_fluix": "Кріогенізований флюїкс", "item.tfg.antipoison_pill": "Антиотруйна Пілюля", "item.tfg.haste_pill": "Пілюля Прискорення", @@ -904,7 +902,7 @@ "item.tfg.marker.glacio_orbit": "Орбіта Європи", "item.tfg.railgun_ammo_shell": "Снаряд для рейкотрона", "item.tfg.sulfur_fumes_bucket": "Відро з сірчаними випарами", - "item.tfg.super_heated_slurry_bucket": "Відро з перегрітою пульпою", + "item.tfg.geyser_slurry_bucket": "Відро з перегрітою пульпою", "item.tfg.cryogenized_fluix_bucket": "Відро кріофлюїксу", "item.tfg.fluix_bucket": "Відро з рідким флюїксом", "item.tfg.latex_bucket": "Відро латексу", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 3a30a7544..2e2b1be15 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -495,6 +495,8 @@ "block.tfg.zpm_gas_pressurizer": "§c精英气体加压器 III§r", "block.tfg.uv_gas_pressurizer": "§3终极气体加压器§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "半重氨水", + "block.tfg.fluid.sulfur_fumes": "硫磺烟气", + "block.tfg.fluid.geyser_slurry": "超高温浆液", "block.tfg.grass.mars_dirt": "火星土壤", "block.tfg.grass.mars_clay_dirt": "火星黏土质土壤", "block.tfg.grass.mars_farmland": "火星农田", @@ -665,14 +667,10 @@ "block.tfg.impure_moderate_core": "不纯慢化堆芯", "block.tfg.moderate_core_frame": "慢化堆芯框架", "block.tfg.impure_moderate_core_frame": "不纯慢化堆芯框架", - "fluid.tfg.nether_slurry": "下界浆液", - "fluid.tfg.enriched_nether_slurry": "富集下界浆液", - "fluid.tfg.ender_slurry": "末地浆液", - "fluid.tfg.enriched_ender_slurry": "富集末地浆液", "fluid.tfg.heavy_ammoniacal_water": "重氨水", "fluid.tfg.semiheavy_ammoniacal_water": "半重氨水", "fluid.tfg.sulfur_fumes": "硫磺烟气", - "fluid.tfg.super_heated_slurry": "超高温浆液", + "fluid.tfg.geyser_slurry": "超高温浆液", "fluid.tfg.cryogenized_fluix": "低温福鲁伊克斯", "quests.naming-1": "t - Title", "quests.naming-2": "st - Subtitle", @@ -1002,7 +1000,7 @@ "item.tfg.marker.glacio_orbit": "木卫二轨道", "item.tfg.railgun_ammo_shell": "轨道炮弹壳", "item.tfg.sulfur_fumes_bucket": "硫磺烟气桶", - "item.tfg.super_heated_slurry_bucket": "超高温浆液桶", + "item.tfg.geyser_slurry_bucket": "超高温浆液桶", "item.tfg.cryogenized_fluix_bucket": "低温福鲁伊克斯桶", "item.tfg.fluix_bucket": "液态福鲁伊克斯桶", "item.tfg.latex_bucket": "乳胶桶", From 2f24f08cdb3f4ab40aed0180c61829878eb2b03d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 20:58:28 +0000 Subject: [PATCH 252/628] added the smart filter quest over here too --- config/ftbquests/quests/chapters/mv__medium_voltage.snbt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 49f0aa477..a4132aec7 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -6,7 +6,12 @@ icon: "tfg:mv_universal_circuit" id: "43E779CEEB25D55B" order_index: 1 - quest_links: [ ] + quest_links: [{ + id: "4EEC4E3BE1B3D3B1" + linked_quest: "222295CD03AF00DC" + x: -1.5d + y: -5.5d + }] quests: [ { dependencies: ["22E462070F8B027A"] From 0ae9ad4cf400d0b4f3ec75a6e11e0fdeb754a12a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 21:18:25 +0000 Subject: [PATCH 253/628] fix https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues/2348 --- .../quests/chapters/tips__tools.snbt | 320 ++++++++---------- kubejs/assets/tfg/lang/en_us.json | 6 +- 2 files changed, 140 insertions(+), 186 deletions(-) diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 33f0a8573..21eeea39e 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -557,33 +557,28 @@ y: 2.0357142857142847d } { - dependencies: ["74AE7DB845B88CF3"] + dependencies: [ + "74AE7DB845B88CF3" + "0EFEE489906256AA" + ] + dependency_requirement: "one_completed" description: [ - "In this quest, we'll bestow upon you &5cursed wisdom&r... the ability to easily automate the Electrolyzer." - "" - "The &9Smart Item Filter&r is a filter that recognises Recipe Maps. When placed on the side of a machine, you can set it to \"&3Electrolyzer&r\" to allow insertion of electrolyzable items specifically. You heard that right - no need to filter manually!" - "" - "Oh, and it only gets &abetter&r. If you combine this bad boy with a &aRobot Arm&r, it'll only supply the &6exact amount&r of items required for a successful recipe to the machine." + "{quests.tfg_tips.smart_item_filter.desc.1}" "{@pagebreak}" - "Place the &aRobot Arm&r on your Electrolyzer, open its GUI, then place the &9Smart Filter&r inside. Ensure that the Smart Filter is set to Electrolyzer." - "" - "Next, configure it to &d&lImport&r and &d&lSupply Exact&r. Finally, attach any inventory &7(a chest will do)&r onto the side where you placed the &aRobot Arm&r. Ta-dah! You've figured out how to handle &6all&r Electrolyzer recipes!" - "" - "What about the output of the &3Electrolyzer&r? You may want to route the Fluids to several Tanks - or even &3Super Tanks&r if you've gotten that far. We highly recommend that you avoid any methods involving voiding Fluids.&7.&8. except for Water for obvious reasons." + "{quests.tfg_tips.smart_item_filter.desc.2}" "{@pagebreak}" - "&9Note:&r The Robot Arm has to facilitate the item transfer for its filtering functionality to work! Inserting directly into the machine &7(for instance, pushing with a Hopper!)&r will ignore the Robot Arm's &dSupply Exact&r setting." + "{quests.tfg_tips.smart_item_filter.desc.3}" ] icon: "gtceu:item_smart_filter" id: "222295CD03AF00DC" shape: "square" size: 1.0d - subtitle: "Knock, knock - who's that? It's MENSA!" + subtitle: "{quests.tfg_tips.smart_item_filter.subtitle}" tasks: [{ id: "11EC9A6D9E2C4B7E" item: "gtceu:item_smart_filter" type: "item" }] - title: "200IQ" x: 10.0d y: 8.0d } @@ -621,18 +616,12 @@ } { dependencies: ["02FDECC931B5E8EF"] - description: [ - "In theory, Crates are flat upgrades to Chests. A single block space that stores more items - what more could you ask for?" - "" - "Unfortunately, there's a small downside - Crates do not support item movement shortcuts well. We plan on fixing this in the long-term." - "" - "Where they shine however is the fact that they &6accept Covers&r, making them perfect candidates for buffers in automation." - ] + description: ["{quests.tfg_tips.crates.desc}"] icon: "gtceu:bronze_crate" id: "6702D52922D85C0D" shape: "square" size: 1.0d - subtitle: "Earlygame buffering" + subtitle: "{quests.tfg_tips.crates.subtitle}" tasks: [{ id: "2F8D9ACDF8EB5B8D" item: { @@ -644,38 +633,37 @@ } type: "item" }] - title: "GregTech Storage" + title: "{quests.tfg_tips.crates.title}" x: 7.0d y: 6.0d } { dependencies: ["6702D52922D85C0D"] - description: ["With that tape you wil be able to move around the crate. The main advantage? You can put anything in a crate, weight won't be an issue here."] + description: ["{quests.tfg_tips.tape.desc}"] icon: "gtceu:basic_tape" id: "36B64597F76625ED" shape: "square" size: 1.0d - subtitle: "Moving stuff around" + subtitle: "{quests.tfg_tips.tape.subtitle}" tasks: [{ id: "1257FC299E957859" item: "gtceu:basic_tape" type: "item" }] - title: "Tape for Crate" + title: "{quests.tfg_tips.tape.title}" x: 7.0d y: 7.0d } { dependencies: ["02FDECC931B5E8EF"] - description: ["With &5GregTech&r, you get access to various &6filters&r that help you ease into &aautomation&r. All of them are compatible with different &dCovers&r, which you'll learn more about during the &7LV&r Chapter.\\n\\nHere, we're introducing two more specific filters that you might find &bhandy&r in certain situations.\\n\\nTo use a filter, simply apply it as a &dCover&r on any &5GT Machine&r or &6pipe&r."] + description: ["{quests.tfg_tips.gt_filters.desc}"] icon: "gtceu:item_filter" id: "74AE7DB845B88CF3" - subtitle: "filters" tasks: [{ id: "268110D7B7999A7B" - title: "Filters" type: "checkmark" }] + title: "{quests.tfg_tips.gt_filters.title}" x: 9.0d y: 8.5d } @@ -690,8 +678,8 @@ type: "item" }] title: "{quests.tfg_tips.nano_saber.title}" - x: 12.5d - y: 10.0d + x: 11.5d + y: 11.0d } { dependencies: ["2D2CB8104E40E808"] @@ -710,12 +698,12 @@ type: "item" }] title: "{quests.tfg_tips.magnets.title}" - x: 12.5d + x: 11.5d y: 12.0d } { dependencies: ["57FE828BAA8F6276"] - description: ["The &6Face Mask&r will protect you from &cinhaling dangerous dust&r. It’s quite &aeasy to craft&r and should prevent issues when working with &5arsenic&r."] + description: ["{quests.tfg_tips.face_mask.desc}"] id: "361AC06D62D9BCCF" tasks: [{ id: "7AC3F8AF754C76E2" @@ -728,105 +716,73 @@ } type: "item" }] - x: 9.5d - y: 15.0d - } - { - dependencies: ["7516BF9C12015DF3"] - id: "103025F1C35CF578" - tasks: [{ - id: "05DA89E5871EE93D" - item: { - Count: 1 - id: "gtceu:nanomuscle_helmet" - tag: { } - } - type: "item" - }] - x: 4.5d - y: 13.0d + x: 8.5d + y: 14.0d } { dependencies: ["7516BF9C12015DF3"] id: "38FF003C9349C0F2" - tasks: [{ - id: "78123F2C1E8B08F5" - item: "gtceu:nanomuscle_chestplate" - type: "item" - }] - x: 4.5d - y: 14.0d - } - { - dependencies: ["7516BF9C12015DF3"] - id: "4497F39E06A14406" - tasks: [{ - id: "430BB68AD2F334C3" - item: "gtceu:nanomuscle_leggings" - type: "item" - }] - x: 4.5d - y: 15.0d - } - { - dependencies: ["7516BF9C12015DF3"] - id: "61E1244FF797F11F" - tasks: [{ - id: "1C5E79A87E343C64" - item: "gtceu:nanomuscle_boots" - type: "item" - }] - x: 4.5d - y: 16.0d - } - { - dependencies: ["7516BF9C12015DF3"] - id: "20565B5D56786A6E" - tasks: [{ - id: "51DBD71B96BB2673" - item: { - Count: 1 - id: "gtceu:quarktech_helmet" - tag: { } + tasks: [ + { + id: "7C3E295B35639EC9" + item: { + Count: 1 + id: "gtceu:nanomuscle_helmet" + tag: { } + } + type: "item" } - type: "item" - }] - x: 6.5d - y: 13.0d + { + id: "5A6F7D3FBD64E383" + item: "gtceu:nanomuscle_chestplate" + type: "item" + } + { + id: "71FC38DE4929E578" + item: "gtceu:nanomuscle_leggings" + type: "item" + } + { + id: "275CF158B69FF055" + item: "gtceu:nanomuscle_boots" + type: "item" + } + ] + x: 5.0d + y: 14.0d } { dependencies: ["7516BF9C12015DF3"] id: "4D5B75F5270CCBD3" - tasks: [{ - id: "6624FAF8B9BBD4CA" - item: "gtceu:quarktech_chestplate" - type: "item" - }] - x: 6.5d + tasks: [ + { + id: "4DFF8E5F32E7AFC3" + item: { + Count: 1 + id: "gtceu:quarktech_helmet" + tag: { } + } + type: "item" + } + { + id: "3AA49E7CEA246A9B" + item: "gtceu:quarktech_chestplate" + type: "item" + } + { + id: "573F87C0CFC826DA" + item: "gtceu:quarktech_leggings" + type: "item" + } + { + id: "0452DFF0948B9B3E" + item: "gtceu:quarktech_boots" + type: "item" + } + ] + x: 6.0d y: 14.0d } - { - dependencies: ["7516BF9C12015DF3"] - id: "31CE775295A1BBF1" - tasks: [{ - id: "6EAB7217D35DDF42" - item: "gtceu:quarktech_leggings" - type: "item" - }] - x: 6.5d - y: 15.0d - } - { - dependencies: ["7516BF9C12015DF3"] - id: "2613FA0502BB5F12" - tasks: [{ - id: "6A740FDB1D788187" - item: "gtceu:quarktech_boots" - type: "item" - }] - x: 6.5d - y: 16.0d - } { dependencies: ["4D5B75F5270CCBD3"] id: "035B0FDD90E51C0C" @@ -839,32 +795,16 @@ } type: "item" }] - x: 7.5d - y: 14.0d - } - { - dependencies: ["2D2CB8104E40E808"] - description: ["{quests.tfg_tips.gt_tools.desc}"] - id: "2CA86664C6E0C888" - subtitle: "{quests.tfg_tips.gt_tools.subtitle}" - tasks: [{ - id: "153D23778A26C74F" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lv_power_unit)item(gtceu:mv_power_unit)item(gtceu:hv_power_unit)item(gtceu:ev_power_unit)item(gtceu:iv_power_unit))" - } - } - type: "item" - }] - title: "{quests.tfg_tips.gt_tools.title}" - x: 12.5d - y: 11.0d + x: 6.0d + y: 15.0d } { dependencies: ["02FDECC931B5E8EF"] - description: ["As with any good tech mod, &5GregTech&r comes with a wide variety of &6tools&r you can use. To operate them, you'll need to &acharge them with energy&r — and there are several ways to do that: place the tool in a &6Battery Buffer&r, in an &denergy slot&r of a machine, or even better, use a &eTurbo Charger&r.\\n\\nJust remember: you can only charge an item using a power source of &7equal&r or &ahigher tier&r. &cLower-tier sources&r won’t work on higher-tier tools — but don’t worry, &cnothing should explode&r. Probably."] + description: [ + "{quests.tfg_tips.gt_power_tools.desc.1}" + "{@pagebreak}" + "{quests.tfg_tips.gt_power_tools.desc.2}" + ] icon: { Count: 1 id: "gtceu:iv_copper_drill" @@ -892,6 +832,7 @@ } } id: "2D2CB8104E40E808" + subtitle: "{quests.tfg_tips.gt_power_tools.subtitle}" tasks: [ { id: "5DA224C235E227E3" @@ -905,12 +846,13 @@ type: "item" } ] - x: 11.5d - y: 11.0d + title: "{quests.tfg_tips.gt_power_tools.title}" + x: 10.5d + y: 11.5d } { dependencies: ["02FDECC931B5E8EF"] - description: ["With &5GregTech&r comes its own line of armor. Sure, it was cool to wear &7metal plates&r, but now that you're an &bindustrial maniac&r, maybe it's time to check out some &atechnological armor&r.\\n\\n&5GregTech&r provides two models. The first one becomes available around &6HV&r and offers better protection than anything you've worn before. It's equipped with &estrong insulation&r to withstand Earth's harsh climate, and it may even be upgraded with a &dJetpack&r.\\n\\nThe second model won't be available until much later — around &1IV&r and &dLuV&r. This one will allow you to &9breathe in space&r using &3oxygen&r."] + description: ["{quests.tfg_tips.armor.desc}"] icon: "gtceu:advanced_integrated_circuit" id: "7516BF9C12015DF3" tasks: [{ @@ -918,25 +860,28 @@ title: "Armor" type: "checkmark" }] + title: "{quests.tfg_tips.armor.title}" x: 5.5d y: 13.0d } { dependencies: ["02FDECC931B5E8EF"] - description: ["With the new version of &5Gregtech&r, a &chazard system&r has been introduced. By holding &dShift&r while hovering over &cHazardous Materials&r, you can see how they might affect you.\\n\\nWe strongly advise using proper &6protective equipment&r to keep your &corgans intact&r."] - icon: "gtceu:generic_hazard_sign_block" + description: ["{quests.tfg_tips.hazard_materials.desc}"] + icon: "createdeco:decal_warning" id: "57FE828BAA8F6276" + subtitle: "{quests.tfg_tips.hazard_materials.subtitle}" tasks: [{ id: "2BB4EAF68B305732" title: "Hazard" type: "checkmark" }] + title: "{quests.tfg_tips.hazard_materials.title}" x: 9.5d y: 14.0d } { dependencies: ["57FE828BAA8F6276"] - description: ["The &6Gloves&r will obviously protect you from &cskin contact hazards&r. You have two ways to make them: a &7longer and more involved path&r through &2TerrafirmaCraft&r, or a much &aeasier method&r using the &6High Pressure Steam Alloy Smelter&r."] + description: ["{quests.tfg_tips.rubber_gloves.desc}"] id: "3DB4AD491EF28CBE" tasks: [{ id: "32F0E30B11FE80E4" @@ -954,7 +899,7 @@ } { dependencies: ["57FE828BAA8F6276"] - description: ["The &6Hazardous Materials Suit&r is the best way to protect yourself from &cany kind of harm&r. You’ll be able to craft it once you reach &bMV&r, and &ayou should definitely take the time to do so&r."] + description: ["{quests.tfg_tips.hazmat.desc}"] id: "784A0743B257EAEB" tasks: [ { @@ -1002,26 +947,17 @@ type: "item" } ] - x: 10.5d + x: 9.5d y: 15.0d } { dependencies: ["02FDECC931B5E8EF"] - description: [ - "&3Long-Distance Fluid Pipes&r can be used to send fluids across great distances. Place one endpoint at each end, and connect them with pipeline blocks." - "" - "These pipes instantly transfer from the input side to the output side." - "" - "They also have a minimum distance between pipe endpoints, so you can't use these for short-range operations." - "{@pagebreak}" - "These pipes have a reputation of being &4buggy&r to set up. If they don't seem to work at first, try rotating the endpoints with a &eWrench&r." - ] + description: ["{quests.tfg_tips.long_distance_fluids.desc}"] icon: "gtceu:long_distance_fluid_pipeline_endpoint" id: "0B1AA0D4CEBD06A8" - optional: true shape: "square" size: 1.0d - subtitle: "Wondering how to move that oil around?" + subtitle: "{quests.tfg_tips.long_distance_fluids.subtitle}" tasks: [ { count: 2L @@ -1035,24 +971,18 @@ type: "item" } ] - title: "Long-Distance Pipeline" + title: "{quests.tfg_tips.long_distance_fluids.title}" x: 6.0d y: 6.0d } { dependencies: ["02FDECC931B5E8EF"] - description: [ - "&3Long-Distance Item Pipes&r can be used to send items across great distances. Place one endpoint at each end, and connect them with pipeline blocks." - "" - "These pipes instantly transfer from the input side to the output side." - "" - "They also have a minimum distance between pipe endpoints, so you can't use these for short-range operations." - ] + description: ["{quests.tfg_tips.long_distance_items.desc}"] icon: "gtceu:long_distance_item_pipeline_endpoint" id: "22B0E30FF38145E7" shape: "square" size: 1.0d - subtitle: "Wondering how to move those ores around?" + subtitle: "{quests.tfg_tips.long_distance_items.subtitle}" tasks: [ { count: 2L @@ -1066,7 +996,7 @@ type: "item" } ] - title: "Long-Distance Items" + title: "{quests.tfg_tips.long_distance_items.title}" x: 5.0d y: 6.0d } @@ -1092,8 +1022,9 @@ } { dependencies: ["02FDECC931B5E8EF"] - description: ["You may have realized that most &eMultiblocks&r require a &6Maintenance Hatch&r. Until &6HV&r, where you can get an &aAutomatic Maintenance Hatch&r, you can use this item to fix the hatch without needing to use all of your maintenance tools.\\n\\nIt can be really useful if you don't want to invest in an &aAuto Maintenance Hatch&r yet, or if you're simply &cnot there yet&r."] + description: ["{quests.tfg_tips.duct_tape.desc}"] id: "179E89C50E900DC0" + subtitle: "{quests.tfg_tips.duct_tape.subtitle}" tasks: [{ id: "7D2E6F5F843864DE" item: "gtceu:duct_tape" @@ -1106,18 +1037,14 @@ dependencies: ["02FDECC931B5E8EF"] dependency_requirement: "one_completed" description: [ - "The &aPortable Scanner&r, or &aTricorder&r, is GTCEu's debug tool." - "" - "Using it will show you a block's details, the details of the energy network, its current status and contents, and its impact on performance." - "" - "It'll also display a percentage of fluid remaining in the fluid vein for the &3Fluid Rigs&r." + "{quests.tfg_tips.portable_scanner.desc.1}" "{@pagebreak}" - "&l&3Lore:&r&o This little useful device comes from GregTech 5. It was extremely useful in the early days, because very little information (basically nothing) was given by GUIs or WAILA." + "{quests.tfg_tips.portable_scanner.desc.2}" ] id: "58D40A430654C997" shape: "square" size: 1.0d - subtitle: "For the nosiest GregTech players" + subtitle: "{quests.tfg_tips.portable_scanner.subtitle}" tasks: [{ id: "1E2E112D32893B8D" item: "gtceu:portable_scanner" @@ -1129,8 +1056,9 @@ } { dependencies: ["02FDECC931B5E8EF"] - description: ["When you try to &aparallelize your setup&r with more machines, it can be a &cbother&r to set all the &einputs&r and &eoutputs&r for each one. Yeah, we're thinking of you, &dSuper Chests&r and &dTanks&r.\\n\\nIf you ever find yourself needing this &blittle tool&r, &adon't hesitate to use it&r."] + description: ["{quests.tfg_tips.memory_card.desc}"] id: "7D5E9CFBE5990DFF" + subtitle: "{quests.tfg_tips.memory_card.subtitle}" tasks: [{ id: "39E0696844506874" item: "gtceu:machine_memory_card" @@ -1141,8 +1069,9 @@ } { dependencies: ["02FDECC931B5E8EF"] - description: ["&bThe Terminal&r has one main purpose, and &awe highly encourage you to craft it&r.\\n\\nBuilding all these &eMultiblocks&r can be a bit &cintimidating&r, right? Well, here's a tip: use &dShift + Right-Click&r on any &6Multiblock Controller&r to &aautomatically assemble the entire structure&r!\\n\\nYou might need to &emove around some buses and hatches&r to suit your setup, but overall, this feature will save you a &alot of time&r."] + description: ["{quests.tfg_tips.terminal.desc}"] id: "2F6C9A987865B966" + subtitle: "{quests.tfg_tips.terminal.subtitle}" tasks: [{ id: "6A86F6C3566828BF" item: "gtceu:terminal" @@ -1163,8 +1092,8 @@ } type: "item" }] - x: 3.5d - y: 14.0d + x: 5.0d + y: 15.0d } { dependencies: ["037CDA933FBE2CBE"] @@ -2927,6 +2856,27 @@ x: -1.0d y: -8.5d } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.feeding_troughs.desc}"] + id: "343A712E8869482A" + subtitle: "{quests.tfg_tips.feeding_troughs.subtitle}" + tasks: [{ + id: "3F76A6864626C87F" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfcgroomer:copper_grooming_station)item(tfcgroomer:bronze_grooming_station)item(tfcgroomer:bismuth_bronze_grooming_station)item(tfcgroomer:black_bronze_grooming_station)item(tfcgroomer:wrought_iron_grooming_station)item(tfcgroomer:steel_grooming_station)item(tfcgroomer:black_steel_grooming_station)item(tfcgroomer:blue_steel_grooming_station)item(tfcgroomer:red_steel_grooming_station))" + } + } + title: "{quests.tfg_tips.feeding_troughs.task}" + type: "item" + }] + title: "{quests.tfg_tips.feeding_troughs.title}" + x: -4.5d + y: 6.5d + } ] subtitle: ["{quests.tfg_tips.tools_tips.subtitle}"] title: "{quests.tfg_tips.tools_tips.title}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index a7d8f4cb8..deac5449b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -4033,7 +4033,7 @@ "quests.tfg_tips.nano_saber.subtitle": "26 Attack Damage when active!", "quests.tfg_tips.nano_saber.desc": "The &6Nano Saber&r is a powerful weapon you’ll be able to unlock once you reach late &5EV&r. Simply use &dShift + Right-Click&r to activate the &cbzzzzz mode&r.", "quests.tfg_tips.magnets.title": "Item Magnets", - "quests.tfg_tips.magnets.subtitle": "", + "quests.tfg_tips.magnets.subtitle": "2010 called, it wants its juggalo meme back", "quests.tfg_tips.magnets.desc": "The &6Item Magnet&r is exactly what you'd expect — a magnet that pulls nearby &6items&r straight to you. &aVery useful&r. What more could you ask for?", "quests.tfg_tips.long_distance_items.title": "Long-Distance Item Pipes", "quests.tfg_tips.long_distance_items.subtitle": "Wondering how to move those ores around?", @@ -4081,6 +4081,10 @@ "quests.tfg_tips.hiking.subtitle": "&oThese boots are made for walking", "quests.tfg_tips.hiking.desc": "&dHiking Boots&r allow you to more easily explore your world! All &dHiking Boots&r allow you to pass through tall grass without resistance. Additionally, each tier of &dHiking Boots&r have progressively more &9armor&r, &9walk speed&r, and &9fall resistance&r along with other boosts.", "quests.tfg_tips.hiking.task": "Any Hiking Boots", + "quests.tfg_tips.feeding_troughs.title": "Feeding Troughs", + "quests.tfg_tips.feeding_troughs.subtitle": "Metallic Farmhand", + "quests.tfg_tips.feeding_troughs.desc": "Feeding Troughs (also known as Grooming Stations) are a way to automatically feed your animals every morning. It even comes with an option to avoid feeding animals that are already at maximum familiarity, in case you don't want to breed them.\n\nHigher tiers come with a higher range of effectiveness.\n\n&3&lTip:&r&o You might not want to put one right next to your fence, otherwise animals will try to use it to escape their pen!", + "quests.tfg_tips.feeding_troughs.task": "Any feeding trough", "quests.tfg_tips.glassblowing.title": "Glassblowing", "quests.tfg_tips.glassblowing.subtitle": "Realistic Glassworking!", "quests.tfg_tips.glassblowing.desc": "To make any sort of &dGlass Pane&r or &dBlock&r, you'll need a &3glassblowing&r setup.\n\n&3Glassblowing&r will require some sort of &aBlowpipe&r, and a platform made out of glassblowing blocks to pour the molten glass. Check out the &2Field Guide&r for more information on the shape of the platform and what blocks are valid. You'll have access to glassblowing as soon as you can shape &aBrass!&r", From 4e9e94eb4563639950c74d649dd2d4ad39e93a47 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 21:18:31 +0000 Subject: [PATCH 254/628] fix some warnings --- kubejs/startup_scripts/gtceu/material_modification.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index aba518db4..cd9294168 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -7,7 +7,7 @@ const registerGTCEuMaterialModification = (event) => { const $TFC_PROPERTY = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.properties.TFCProperty') const $ORE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.OreProperty') const $INGOT_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.IngotProperty') - const $DustProperty = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.DustProperty'); + const $DUST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.DustProperty'); const $BLAST_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.BlastProperty') const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties') const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') @@ -296,9 +296,10 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Thorium.addFlags(NO_ORE_SMELTING) // Unhiding elements - GTMaterials.Zirconium.addFlags(GENERATE_FINE_WIRE, GENERATE_PLATE, NO_ORE_SMELTING); + 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); // Tools GTMaterials.Stone.setProperty(PropertyKey.TOOL, ToolProperty.Builder.of(1.2, 1.0, 8, 1, [ From a06e8779435c51de7488e6a7368f8da667da32c7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 21:52:57 +0000 Subject: [PATCH 255/628] fix #2339 --- kubejs/server_scripts/create/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index 0001ac2ad..312b484a6 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -33,6 +33,7 @@ const registerCreateItemTags = (event) => { if (dye !== 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) }) + event.removeAll('create:crushed_raw_materials') event.add('create:blaze_burner_fuel/regular', "gtceu:poor_raw_coal") event.add('create:blaze_burner_fuel/regular', "gtceu:coal_dust") From deb466e801f74c5e8c06a59bb793de089422c4cb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 22:17:50 +0000 Subject: [PATCH 256/628] added temporary workaround for the missing pipe recipes --- CHANGELOG.md | 1 + .../server_scripts/tfg/recipes.converting.js | 12 -- kubejs/server_scripts/tfg/recipes.js | 2 +- .../server_scripts/tfg/recipes.temporary.js | 104 ++++++++++++++++++ kubejs/startup_scripts/tfg/tag_prefixes.js | 3 +- 5 files changed, 108 insertions(+), 14 deletions(-) delete mode 100644 kubejs/server_scripts/tfg/recipes.converting.js create mode 100644 kubejs/server_scripts/tfg/recipes.temporary.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b9590bce..0376bd5e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### Other Changes - Added recipes for create's shadow and radiant casings (#2256) @Ujhik ### Bug fixes +- Fixed missing recipes for many fluid and item pipes @Pyritie - Fixed missing cleanroom tags for the ad astra 3x3 doors, so now you can *actually* use them in a cleanroom @Pyritie - Fixed aged sake, vodka, and whiskey losing their buff effects @Pyritie diff --git a/kubejs/server_scripts/tfg/recipes.converting.js b/kubejs/server_scripts/tfg/recipes.converting.js deleted file mode 100644 index bb415f91a..000000000 --- a/kubejs/server_scripts/tfg/recipes.converting.js +++ /dev/null @@ -1,12 +0,0 @@ -// priority: 0 -"use strict"; - -/** - * @param {Internal.RecipesEventJS} event - */ -function registerTFGConvertingRecipes(event) { - - event.shapeless('vintageimprovements:belt_grinder', 'vintageimprovements:lathe') - - event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator') -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 43f6d5572..4424c0a17 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -8,7 +8,7 @@ const registerTFGRecipes = (event) => { registerTFGMoldRecipes(event) registerTFGMiscellaneousRecipes(event) - registerTFGConvertingRecipes(event) + registerTFGTemporaryRecipes(event) registerTFGFoodRecipes(event) registerTFGRefrigeratorRecipes(event) diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js new file mode 100644 index 000000000..9d9015bc3 --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -0,0 +1,104 @@ +// priority: 0 +"use strict"; + +/** + * @param {Internal.RecipesEventJS} event + */ +function registerTFGTemporaryRecipes(event) { + + event.shapeless('vintageimprovements:belt_grinder', 'vintageimprovements:lathe') + + event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator') + + // TODO: remove nether/ender air in 0.12 + + + // Temporary recipes until gregtech fixes its pipe problem with .setIgnored() + const broken_pipes = [ + GTMaterials.Copper, + GTMaterials.Brass, + GTMaterials.Gold, + GTMaterials.Iron, + GTMaterials.Cobalt, + GTMaterials.RoseGold, + GTMaterials.Aluminium, + GTMaterials.Invar, + GTMaterials.Lead, + GTMaterials.Nickel, + GTMaterials.Osmium, + GTMaterials.Palladium, + GTMaterials.Platinum, + GTMaterials.Rhodium, + GTMaterials.Silver, + GTMaterials.Vanadium, + GTMaterials.Zinc, + TFGHelpers.getMaterial('ostrum') + ] + broken_pipes.forEach(material => { + if (material.hasProperty(PropertyKey.FLUID_PIPE)) { + event.shaped(ChemicalHelper.get(TagPrefix.pipeTinyFluid, material, 1), [ + ' S ', + 'HPW' + ], { + P: ChemicalHelper.get(TagPrefix.plate, material, 1), + H: '#forge:tools/hammers', + W: '#forge:tools/wrenches', + S: '#forge:tools/saws' + }).id(`tfg:temp/tiny_fluid_pipe_${material.getName()}`) + + event.shaped(ChemicalHelper.get(TagPrefix.pipeSmallFluid, material, 1), [ + 'WPH' + ], { + P: ChemicalHelper.get(TagPrefix.plate, material, 1), + H: '#forge:tools/hammers', + W: '#forge:tools/wrenches' + }).id(`tfg:temp/small_fluid_pipe_${material.getName()}`) + + event.shaped(ChemicalHelper.get(TagPrefix.pipeNormalFluid, material, 1), [ + 'PPP', + 'W H' + ], { + P: ChemicalHelper.get(TagPrefix.plate, material, 1), + H: '#forge:tools/hammers', + W: '#forge:tools/wrenches' + }).id(`tfg:temp/normal_fluid_pipe_${material.getName()}`) + + event.shaped(ChemicalHelper.get(TagPrefix.pipeLargeFluid, material, 1), [ + 'PPP', + 'W H', + 'PPP' + ], { + P: ChemicalHelper.get(TagPrefix.plate, material, 1), + H: '#forge:tools/hammers', + W: '#forge:tools/wrenches' + }).id(`tfg:temp/large_fluid_pipe_${material.getName()}`) + } + else if (material.hasProperty(PropertyKey.ITEM_PIPE)) { + event.shaped(ChemicalHelper.get(TagPrefix.pipeSmallItem, material, 1), [ + 'WPH' + ], { + P: ChemicalHelper.get(TagPrefix.plate, material, 1), + H: '#forge:tools/hammers', + W: '#forge:tools/wrenches' + }).id(`tfg:temp/small_item_pipe_${material.getName()}`) + + event.shaped(ChemicalHelper.get(TagPrefix.pipeNormalItem, material, 1), [ + 'PPP', + 'W H' + ], { + P: ChemicalHelper.get(TagPrefix.plate, material, 1), + H: '#forge:tools/hammers', + W: '#forge:tools/wrenches' + }).id(`tfg:temp/normal_item_pipe_${material.getName()}`) + + event.shaped(ChemicalHelper.get(TagPrefix.pipeLargeItem, material, 1), [ + 'PPP', + 'W H', + 'PPP' + ], { + P: ChemicalHelper.get(TagPrefix.plate, material, 1), + H: '#forge:tools/hammers', + W: '#forge:tools/wrenches' + }).id(`tfg:temp/large_item_pipe_${material.getName()}`) + }) +} \ 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 800a69fb2..4e1ef1d21 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -7,7 +7,8 @@ function registerTFGTagPrefixes(event) { excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:tetrafluoroethane')); excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:crimsene')); excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:warpane')); - + + TagPrefix.nugget.setIgnored(GTMaterials.RawRubber); TagPrefix.ingot.setIgnored(GTMaterials.RawRubber); TagPrefix.plate.setIgnored(GTMaterials.RawRubber); TagPrefix.plateDouble.setIgnored(GTMaterials.RawRubber); From 9293d92bcdb313f997c04875d7b379159fac1c89 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 22:30:53 +0000 Subject: [PATCH 257/628] langs, quests --- .../ftbquests/quests/chapters/queststfg.snbt | 26 ++++++++++++++++++- .../quests/chapters/tips__tools.snbt | 3 ++- kubejs/assets/tfg/lang/en_us.json | 7 +++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/config/ftbquests/quests/chapters/queststfg.snbt b/config/ftbquests/quests/chapters/queststfg.snbt index 03040b111..e3058149c 100644 --- a/config/ftbquests/quests/chapters/queststfg.snbt +++ b/config/ftbquests/quests/chapters/queststfg.snbt @@ -59,7 +59,7 @@ subtitle: "{quests.tfg.capture_territory.subtitle}" tasks: [{ id: "5EB438DED5A994C4" - title: "{quests.tasktypes.checkmark}" + title: "{quests.tasktype.checkmark}" type: "checkmark" }] title: "{quests.tfg.capture_territory.title}" @@ -119,6 +119,7 @@ } } id: "590CE4F4FA385701" + optional: true rewards: [ { id: "58D1E7EFD006D7F7" @@ -146,6 +147,29 @@ x: 0.0d y: 4.5d } + { + dependencies: ["0B42D4AE2AC67F93"] + description: ["{quests.tfg.chunk_limit.desc}"] + icon: { + Count: 1 + ForgeCaps: { + "tfc:food": { + creationDate: 18000L + traits: [ ] + } + } + id: "tfc:food/cherry" + } + id: "12BCC8F968904105" + tasks: [{ + id: "6A9ABF4B83F7FC3E" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + }] + title: "{quests.tfg.chunk_limit.title}" + x: -2.5d + y: 3.5d + } ] subtitle: ["{quests.tfg.subtitle}"] title: "{quests.tfg}" diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 21eeea39e..88f05be92 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -867,7 +867,7 @@ { dependencies: ["02FDECC931B5E8EF"] description: ["{quests.tfg_tips.hazard_materials.desc}"] - icon: "createdeco:decal_warning" + icon: "createdeco:decal_skull" id: "57FE828BAA8F6276" subtitle: "{quests.tfg_tips.hazard_materials.subtitle}" tasks: [{ @@ -947,6 +947,7 @@ type: "item" } ] + title: "{quests.tfg_tips.hazmat.title}" x: 9.5d y: 15.0d } diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index deac5449b..a9e0a85c6 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3941,13 +3941,15 @@ "quests.tfg.subtitle": "Welcome to TerraFirmaGreg!", "quests.tfg.welcome.title": "Welcome to TerraFirmaGreg!", "quests.tfg.welcome.subtitle": "Survival Modpack As It Should've Been", - "quests.tfg.welcome.desc": "Thank you for starting TerraFirmaGreg Modern!\n\nIn this modpack, you will be put to the task of taking control of untouched wilderness and turning it to an industrial wonderland. Start from humble beginning picking up rocks, and end while traversing interstellar space!", + "quests.tfg.welcome.desc": "Thank you for starting TerraFirmaGreg Modern!\n\nIn this modpack, you will be put to the task of taking control of untouched wilderness and turning it to an industrial wonderland. Start from a humble beginning picking up rocks, and end while traversing interstellar space!", "quests.tfg.create_team.title": "How to create a team?", "quests.tfg.create_team.subtitle": "Do you play with friends?", "quests.tfg.create_team.desc": "You can create a team to complete quests together. To do this, open your inventory, then in the upper left corner select the button where 3 colorful people are drawn, then an interface will open in which you can create a team. Click the §aCreate a team§r button, then give it a name and possibly some other parameters, and after successfully creating a team, you can invite other players to it using the plus button in the green circle in the upper right corner. From this point onwards, your quests will be synchronized and any team member will be able to complete them. Good luck!", "quests.tfg.capture_territory.title": "How to capture territory?", "quests.tfg.capture_territory.subtitle": "And how to load chunks in your territory", - "quests.tfg.capture_territory.desc": "If you play on a server, you might want to claim your territory so other players can't interfere. Use the Open Claims key (default \"Ctrl+M\") to open the window, then left-click to claim a chunk and right-click to unclaim them. There is a limit to this, so you can't claim everything. You can shift-left-click on a chunk to forceload (aka \"chunk load\") it, and shift-right-click to un-forceload it. Claiming chunks will include your whole team, if you're using one.", + "quests.tfg.capture_territory.desc": "If you play on a server, you might want to claim your territory so other players can't interfere. Use the Open Claims key (default \"Ctrl+M\") to open the window, then left-click to claim a chunk and right-click to unclaim them.\n\nThere is a limit to this, so you can't claim everything. You can shift-left-click on a chunk to forceload (aka \"chunk load\") it, and shift-right-click to un-forceload it. Claiming chunks will include your whole team, if you're using one.", + "quests.tfg.chunk_limit.title": "How to increase my chunkload limit?", + "quests.tfg.chunk_limit.desc": "If you're playing on a server, by default you only have a small amount of forceload chunks available.\n\nServer owners can customize this (check the README.txt file!), but if you've got operator permissions (or have cheats enabled), you can also use &a/ftbchunks admin extra_force_load_chunks @p set X&r, where X is the new limit.", "quests.tfg.field_guide.title": "Important information about quests!", "quests.tfg.field_guide.subtitle": "I need to read more?", "quests.tfg.field_guide.desc": "The quests are still in development, and we're always working on improving them! A lot of information about specific mechanics are also in your Field Guide, accessible via the Book tab in your inventory.\n\nRemember that both JEI and the Field Guide are your friends, as not everything will be explained through quests.", @@ -4067,6 +4069,7 @@ "quests.tfg_tips.hazard_materials.desc": "With the new version of &5Gregtech&r, a &chazard system&r has been introduced. By holding &dShift&r while hovering over &cHazardous Materials&r, you can see how they might affect you.\n\nWe strongly advise using proper &6protective equipment&r to keep your &corgans intact&r.", "quests.tfg_tips.face_mask.desc": "The &6Face Mask&r will protect you from &cinhaling dangerous dust&r. It’s quite &aeasy to craft&r and should prevent issues when working with &5arsenic&r.", "quests.tfg_tips.rubber_gloves.desc": "The &6Gloves&r will obviously protect you from &cskin contact hazards&r. You have two ways to make them: a &7longer and more involved path&r through &2TerrafirmaCraft&r, or a much &aeasier method&r using the &6High Pressure Steam Alloy Smelter&r.", + "quests.tfg_tips.hazmat.title": "Hazardous Materials Suit", "quests.tfg_tips.hazmat.desc": "The &6Hazardous Materials Suit&r is the best way to protect yourself from &cany kind of harm&r. You’ll be able to craft it once you reach &bMV&r, and &ayou should definitely take the time to do so&r.", "quests.tfg_tips.armor.title": "GregTech Armor", "quests.tfg_tips.armor.desc": "With &5GregTech&r comes its own line of armor. Sure, it was cool to wear &7metal plates&r, but now that you're an &bindustrial maniac&r, maybe it's time to check out some &atechnological armor&r.\n\n&5GregTech&r provides two models. The first one becomes available around &6HV&r and offers better protection than anything you've worn before. It's equipped with &estrong insulation&r to withstand Earth's harsh climate, and it may even be upgraded with a &dJetpack&r.\n\nThe second model won't be available until much later — around &1IV&r and &dLuV&r. This one will allow you to &9breathe in space&r using &3oxygen&r.", From 3d735015b6c5641fab7ae252012d5ef4d9a28587 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 8 Dec 2025 16:52:43 -0600 Subject: [PATCH 258/628] someone forgot a closing brace Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/tfg/recipes.temporary.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index 9d9015bc3..83cbddb02 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -100,5 +100,6 @@ function registerTFGTemporaryRecipes(event) { H: '#forge:tools/hammers', W: '#forge:tools/wrenches' }).id(`tfg:temp/large_item_pipe_${material.getName()}`) + } }) -} \ No newline at end of file +} From 2e48d81cfba2d3f4c88da9103d7aa061dbcb58cd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 22:55:25 +0000 Subject: [PATCH 259/628] 2 tiny pipes instead of 1 --- kubejs/server_scripts/tfg/recipes.temporary.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index 9d9015bc3..aa6b31edc 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -36,7 +36,7 @@ function registerTFGTemporaryRecipes(event) { ] broken_pipes.forEach(material => { if (material.hasProperty(PropertyKey.FLUID_PIPE)) { - event.shaped(ChemicalHelper.get(TagPrefix.pipeTinyFluid, material, 1), [ + event.shaped(ChemicalHelper.get(TagPrefix.pipeTinyFluid, material, 2), [ ' S ', 'HPW' ], { From 5494a07dbf0be798d1b4f4d3b945af8f8d49fb1c Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 8 Dec 2025 17:43:30 -0600 Subject: [PATCH 260/628] Ochem stuff for Fission (#2338) * molecules * Update recipes.biochem.js * will use these later * update this * ugh * lang merger * Update fructose.json * iconsets I guess * Update recipes.nuclear.js Signed-off-by: Pyritie * Update recipes.nuclear.js --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- kubejs/assets/tfg/molecules/14_sorbitan.json | 167 ++++ .../assets/tfg/molecules/alpha_keratin.json | 483 ++++++++++ .../tfg/molecules/ammonium_carbamate.json | 149 +++ kubejs/assets/tfg/molecules/chitin.json | 501 ++++++++++ .../tfg/molecules/choline_chloride.json | 124 +++ .../tfg/molecules/epox_isosorbide_ln.json | 862 ++++++++++++++++++ .../assets/tfg/molecules/ethylene_oxide.json | 107 +++ kubejs/assets/tfg/molecules/fructose.json | 183 ++++ kubejs/assets/tfg/molecules/galactose.json | 183 ++++ kubejs/assets/tfg/molecules/glucose.json | 183 ++++ kubejs/assets/tfg/molecules/isosorbide.json | 188 ++++ .../assets/tfg/molecules/isosorbide_ln.json | 730 +++++++++++++++ .../assets/tfg/molecules/linolenic_acid.json | 284 ++++++ .../methylene_diphenyl_dicarbamate.json | 706 +++++++------- kubejs/assets/tfg/molecules/sorbitol.json | 176 ++++ .../assets/tfg/molecules/trimethylamine.json | 53 ++ kubejs/assets/tfg/molecules/urea.json | 65 ++ .../tfg/powergen/nuclear/recipes.nuclear.js | 83 +- .../tfg/space_general/recipes.insulation.js | 32 +- .../tfg/venus/recipes.biochem.js | 24 +- kubejs/startup_scripts/tfg/materials.js | 10 + .../tfg/nuclear/materials.nuclear.js | 47 + .../tfg/space_general/materials.rockets.js | 2 +- 23 files changed, 5002 insertions(+), 340 deletions(-) create mode 100644 kubejs/assets/tfg/molecules/14_sorbitan.json create mode 100644 kubejs/assets/tfg/molecules/alpha_keratin.json create mode 100644 kubejs/assets/tfg/molecules/ammonium_carbamate.json create mode 100644 kubejs/assets/tfg/molecules/chitin.json create mode 100644 kubejs/assets/tfg/molecules/choline_chloride.json create mode 100644 kubejs/assets/tfg/molecules/epox_isosorbide_ln.json create mode 100644 kubejs/assets/tfg/molecules/ethylene_oxide.json create mode 100644 kubejs/assets/tfg/molecules/fructose.json create mode 100644 kubejs/assets/tfg/molecules/galactose.json create mode 100644 kubejs/assets/tfg/molecules/glucose.json create mode 100644 kubejs/assets/tfg/molecules/isosorbide.json create mode 100644 kubejs/assets/tfg/molecules/isosorbide_ln.json create mode 100644 kubejs/assets/tfg/molecules/linolenic_acid.json create mode 100644 kubejs/assets/tfg/molecules/sorbitol.json create mode 100644 kubejs/assets/tfg/molecules/trimethylamine.json create mode 100644 kubejs/assets/tfg/molecules/urea.json diff --git a/kubejs/assets/tfg/molecules/14_sorbitan.json b/kubejs/assets/tfg/molecules/14_sorbitan.json new file mode 100644 index 000000000..1a9a7422c --- /dev/null +++ b/kubejs/assets/tfg/molecules/14_sorbitan.json @@ -0,0 +1,167 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "right": "H", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 2.806, + "y": 1.4781 + }, + { + "type": "atom", + "index": 6, + "x": 3.8006, + "y": 1.5827 + }, + { + "type": "atom", + "index": 7, + "x": 4.2073, + "y": 0.6691 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 3.5686, + "y": -0.9945 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 5.1854, + "y": 0.4612 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 1.732, + "y": -1.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 7, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/alpha_keratin.json b/kubejs/assets/tfg/molecules/alpha_keratin.json new file mode 100644 index 000000000..3c1e844ba --- /dev/null +++ b/kubejs/assets/tfg/molecules/alpha_keratin.json @@ -0,0 +1,483 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.3971, + "y": -8.9559 + }, + { + "type": "atom", + "index": 1, + "x": 1.0735, + "y": -8.6029 + }, + { + "type": "atom", + "index": 2, + "x": 2.5294, + "y": -7.8823 + }, + { + "type": "atom", + "index": 3, + "x": 3.103, + "y": -7.3676 + }, + { + "type": "atom", + "index": 4, + "x": 2.4118, + "y": -6.5588 + }, + { + "type": "atom", + "index": 5, + "x": 1.7794, + "y": -7.0588 + }, + { + "type": "atom", + "index": 6, + "x": -0.0294, + "y": -6.897 + }, + { + "type": "atom", + "index": 7, + "x": -0.2353, + "y": -6.3529 + }, + { + "type": "atom", + "index": 8, + "x": 0.6471, + "y": -6.0147 + }, + { + "type": "atom", + "index": 9, + "x": 1.3235, + "y": -5.6765 + }, + { + "type": "atom", + "index": 10, + "x": 2.6324, + "y": -5.1617 + }, + { + "type": "atom", + "index": 11, + "x": 3.0588, + "y": -4.4853 + }, + { + "type": "atom", + "index": 12, + "x": 2.4118, + "y": -3.6617 + }, + { + "type": "atom", + "index": 13, + "x": 1.8677, + "y": -3.8823 + }, + { + "type": "atom", + "index": 14, + "x": 0.1324, + "y": -3.8088 + }, + { + "type": "atom", + "index": 15, + "x": -0.0588, + "y": -3.0882 + }, + { + "type": "atom", + "index": 16, + "x": 0.8677, + "y": -3.0882 + }, + { + "type": "atom", + "index": 17, + "x": 1.4118, + "y": -2.5294 + }, + { + "type": "atom", + "index": 18, + "x": 2.7206, + "y": -2.0882 + }, + { + "type": "atom", + "index": 19, + "x": 3.1912, + "y": -1.4412 + }, + { + "type": "atom", + "index": 20, + "x": 2.1912, + "y": -0.5294 + }, + { + "type": "atom", + "index": 21, + "x": 1.4118, + "y": -0.6912 + }, + { + "type": "atom", + "index": 22, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 23, + "x": 0.7794, + "y": -0.1323 + }, + { + "type": "atom", + "element": "N", + "index": 24, + "x": 2.8088, + "y": -0.7941 + }, + { + "type": "atom", + "element": "N", + "index": 25, + "x": 2.1912, + "y": -2.5588 + }, + { + "type": "atom", + "element": "N", + "index": 26, + "x": 0.2059, + "y": -2.5735 + }, + { + "type": "atom", + "element": "N", + "index": 27, + "x": 1.1471, + "y": -3.6617 + }, + { + "type": "atom", + "element": "N", + "index": 28, + "x": 3.0, + "y": -3.7647 + }, + { + "type": "atom", + "element": "N", + "index": 29, + "x": 2.0441, + "y": -5.6176 + }, + { + "type": "atom", + "element": "N", + "index": 30, + "x": -0.0882, + "y": -5.5882 + }, + { + "type": "atom", + "element": "N", + "index": 31, + "x": 0.9853, + "y": -6.8235 + }, + { + "type": "atom", + "element": "N", + "index": 32, + "x": 3.0294, + "y": -6.6912 + }, + { + "type": "atom", + "element": "N", + "index": 33, + "x": 1.8971, + "y": -8.397 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 33, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 33, + "b": 2, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 32, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 31, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 7, + "b": 30, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 30, + "b": 8, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 9, + "b": 29, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 29, + "b": 10, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 28, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 15, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 26, + "b": 16, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 17, + "b": 25, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 25, + "b": 18, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 24, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 24, + "b": 19, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 28, + "b": 11, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 32, + "b": 3, + "lines": [ + "outward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ammonium_carbamate.json b/kubejs/assets/tfg/molecules/ammonium_carbamate.json new file mode 100644 index 000000000..b69a251d1 --- /dev/null +++ b/kubejs/assets/tfg/molecules/ammonium_carbamate.json @@ -0,0 +1,149 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 4.266, + "y": 0.5667 + }, + { + "type": "atom", + "element": "N", + "right": [ + "H", + 2 + ], + "index": 1, + "x": 5.132, + "y": 0.0667 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 4.266, + "y": 1.5667 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 3.4, + "y": 0.0667 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": "N", + "index": 4, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 5, + "x": 1.4487, + "y": -0.4333 + }, + { + "type": "atom", + "element": "H", + "index": 6, + "x": 0.866, + "y": 1.5 + }, + { + "type": "atom", + "element": "H", + "index": 7, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 1.7987, + "y": 0.4167 + }, + { + "sup": "+", + "atoms": [ + 4, + 5, + 6, + 7, + 8 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chitin.json b/kubejs/assets/tfg/molecules/chitin.json new file mode 100644 index 000000000..de026c71f --- /dev/null +++ b/kubejs/assets/tfg/molecules/chitin.json @@ -0,0 +1,501 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 3.2321, + "y": 0.866 + }, + { + "type": "atom", + "index": 1, + "x": 2.2321, + "y": 0.866 + }, + { + "type": "atom", + "index": 2, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.2321, + "y": -0.866 + }, + { + "type": "atom", + "index": 4, + "x": 3.2321, + "y": -0.866 + }, + { + "type": "atom", + "index": 5, + "x": 3.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 6, + "x": 2.2321, + "y": 0.134 + }, + { + "type": "atom", + "element": "N", + "right": "H", + "index": 7, + "x": 3.2321, + "y": -1.866 + }, + { + "type": "atom", + "index": 8, + "x": 2.2321, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 1.3661, + "y": 2.366 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 0.8661, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 4.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 12, + "x": 5.4642, + "y": 0.0 + }, + { + "type": "atom", + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 14, + "x": 5.9642, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 15, + "x": 6.9642, + "y": -0.866 + }, + { + "type": "atom", + "index": 16, + "x": 7.4642, + "y": 0.0 + }, + { + "type": "atom", + "index": 17, + "x": 6.9641, + "y": 0.866 + }, + { + "type": "atom", + "index": 18, + "x": 5.9641, + "y": 0.866 + }, + { + "type": "atom", + "index": 19, + "x": 5.9642, + "y": -1.866 + }, + { + "type": "atom", + "index": 20, + "x": 2.3661, + "y": -2.366 + }, + { + "type": "atom", + "index": 21, + "x": 1.5001, + "y": -1.866 + }, + { + "type": "atom", + "element": "O", + "index": 22, + "x": 2.3661, + "y": -3.366 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 23, + "x": 5.0982, + "y": -2.366 + }, + { + "type": "atom", + "element": "O", + "index": 24, + "x": 8.3302, + "y": -0.5 + }, + { + "type": "atom", + "index": 25, + "x": 9.1962, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "right": "H", + "index": 26, + "x": 6.9641, + "y": 1.866 + }, + { + "type": "atom", + "index": 27, + "x": 6.0981, + "y": 2.366 + }, + { + "type": "atom", + "index": 28, + "x": 5.2321, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "index": 29, + "x": 6.0981, + "y": 3.366 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 30, + "x": 5.9641, + "y": -0.134 + }, + { + "sub": "n", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 26, + 27, + 28, + 29 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 5, + "b": 4, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 15, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 14, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 22, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 19, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 29, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 18, + "b": 30, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/choline_chloride.json b/kubejs/assets/tfg/molecules/choline_chloride.json new file mode 100644 index 000000000..2eaae8751 --- /dev/null +++ b/kubejs/assets/tfg/molecules/choline_chloride.json @@ -0,0 +1,124 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 2.5684, + "y": 0.032 + }, + { + "type": "atom", + "index": 1, + "x": 3.4344, + "y": -0.468 + }, + { + "type": "atom", + "index": 2, + "x": 2.5684, + "y": 1.032 + }, + { + "type": "atom", + "index": 3, + "x": 1.7023, + "y": -0.468 + }, + { + "type": "atom", + "index": 4, + "x": 3.4344, + "y": 0.532 + }, + { + "type": "atom", + "index": 5, + "x": 4.3004, + "y": 0.032 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 6, + "x": 5.1664, + "y": 0.532 + }, + { + "sup": "+", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Cl⁻", + "color": { + "color": -14684129, + "optional": true + }, + "material": "gtceu:chlorine" + }, + "index": 7, + "x": 0.75, + "y": 0.25 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/epox_isosorbide_ln.json b/kubejs/assets/tfg/molecules/epox_isosorbide_ln.json new file mode 100644 index 000000000..9717fdee9 --- /dev/null +++ b/kubejs/assets/tfg/molecules/epox_isosorbide_ln.json @@ -0,0 +1,862 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 11.7692, + "y": -4.3487 + }, + { + "type": "atom", + "index": 1, + "x": 12.0782, + "y": -3.3977 + }, + { + "type": "atom", + "index": 2, + "x": 11.2692, + "y": -2.8099 + }, + { + "type": "atom", + "index": 3, + "x": 10.4602, + "y": -3.3977 + }, + { + "type": "atom", + "index": 4, + "x": 10.7692, + "y": -4.3487 + }, + { + "type": "atom", + "index": 5, + "x": 12.8872, + "y": -2.8099 + }, + { + "type": "atom", + "index": 6, + "x": 12.5782, + "y": -1.8588 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 11.5782, + "y": -1.8588 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 10.4602, + "y": -2.2221 + }, + { + "type": "atom", + "element": "H", + "index": 9, + "x": 12.8872, + "y": -3.9854 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 13.8383, + "y": -3.1189 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 9.5091, + "y": -3.0886 + }, + { + "type": "atom", + "index": 12, + "x": 8.766, + "y": -3.7578 + }, + { + "type": "atom", + "index": 13, + "x": 7.8149, + "y": -3.4488 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": 8.9739, + "y": -4.7359 + }, + { + "type": "atom", + "index": 15, + "x": 7.0718, + "y": -4.1179 + }, + { + "type": "atom", + "index": 16, + "x": 6.1207, + "y": -3.8089 + }, + { + "type": "atom", + "index": 17, + "x": 5.3776, + "y": -4.478 + }, + { + "type": "atom", + "index": 18, + "x": 4.4265, + "y": -4.169 + }, + { + "type": "atom", + "index": 19, + "x": 3.6834, + "y": -4.8381 + }, + { + "type": "atom", + "index": 20, + "x": 2.7323, + "y": -4.5291 + }, + { + "type": "atom", + "index": 21, + "x": 1.9892, + "y": -5.1982 + }, + { + "type": "atom", + "index": 22, + "x": 1.0381, + "y": -4.8892 + }, + { + "type": "atom", + "index": 23, + "x": 0.8302, + "y": -3.9111 + }, + { + "type": "atom", + "index": 24, + "x": -0.1209, + "y": -3.602 + }, + { + "type": "atom", + "index": 25, + "x": -0.3288, + "y": -2.6239 + }, + { + "type": "atom", + "index": 26, + "x": 0.4144, + "y": -1.9548 + }, + { + "type": "atom", + "index": 27, + "x": 0.2065, + "y": -0.9766 + }, + { + "type": "atom", + "index": 28, + "x": 0.9496, + "y": -0.3075 + }, + { + "type": "atom", + "index": 29, + "x": 1.9007, + "y": -0.6165 + }, + { + "type": "atom", + "index": 30, + "x": 2.6438, + "y": 0.0526 + }, + { + "type": "atom", + "index": 31, + "x": 14.5814, + "y": -2.4498 + }, + { + "type": "atom", + "index": 32, + "x": 15.5325, + "y": -2.7588 + }, + { + "type": "atom", + "element": "O", + "index": 33, + "x": 14.3735, + "y": -1.4716 + }, + { + "type": "atom", + "index": 34, + "x": 16.2756, + "y": -2.0896 + }, + { + "type": "atom", + "index": 35, + "x": 17.2267, + "y": -2.3987 + }, + { + "type": "atom", + "index": 36, + "x": 17.9698, + "y": -1.7295 + }, + { + "type": "atom", + "index": 37, + "x": 18.9209, + "y": -2.0386 + }, + { + "type": "atom", + "index": 38, + "x": 19.664, + "y": -1.3694 + }, + { + "type": "atom", + "index": 39, + "x": 20.6151, + "y": -1.6784 + }, + { + "type": "atom", + "index": 40, + "x": 21.3582, + "y": -1.0093 + }, + { + "type": "atom", + "index": 41, + "x": 22.3093, + "y": -1.3183 + }, + { + "type": "atom", + "index": 42, + "x": 22.5172, + "y": -2.2965 + }, + { + "type": "atom", + "index": 43, + "x": 23.4683, + "y": -2.6055 + }, + { + "type": "atom", + "index": 44, + "x": 23.6762, + "y": -3.5836 + }, + { + "type": "atom", + "index": 45, + "x": 22.933, + "y": -4.2528 + }, + { + "type": "atom", + "index": 46, + "x": 23.1409, + "y": -5.2309 + }, + { + "type": "atom", + "index": 47, + "x": 22.3978, + "y": -5.9 + }, + { + "type": "atom", + "index": 48, + "x": 21.4467, + "y": -5.591 + }, + { + "type": "atom", + "index": 49, + "x": 20.7036, + "y": -6.2602 + }, + { + "type": "atom", + "element": "O", + "index": 50, + "x": -1.0698, + "y": -3.2925 + }, + { + "type": "atom", + "element": "O", + "index": 51, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 52, + "x": 1.2466, + "y": -5.8653 + }, + { + "type": "atom", + "element": "O", + "index": 53, + "x": 23.3474, + "y": -6.2075 + }, + { + "type": "atom", + "element": "O", + "index": 54, + "x": 24.4172, + "y": -2.915 + }, + { + "type": "atom", + "element": "O", + "index": 55, + "x": 22.1008, + "y": -0.3423 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 8, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 32, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 33, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 32, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 38, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 39, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 42, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 43, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 46, + "b": 47, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 48, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 48, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 50, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 51, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 51, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 52, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 52, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 53, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 53, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 54, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 54, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 55, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 55, + "b": 40, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ethylene_oxide.json b/kubejs/assets/tfg/molecules/ethylene_oxide.json new file mode 100644 index 000000000..dfc63995e --- /dev/null +++ b/kubejs/assets/tfg/molecules/ethylene_oxide.json @@ -0,0 +1,107 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "index": 1, + "x": 1.866, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.366, + "y": 0.3661 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": 2.732, + "y": -1.0 + }, + { + "type": "atom", + "element": "H", + "index": 4, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "H", + "index": 5, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 6, + "x": 2.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/fructose.json b/kubejs/assets/tfg/molecules/fructose.json new file mode 100644 index 000000000..957051a45 --- /dev/null +++ b/kubejs/assets/tfg/molecules/fructose.json @@ -0,0 +1,183 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 1.675, + "y": -0.9122 + }, + { + "type": "atom", + "index": 1, + "x": 2.484, + "y": -1.5 + }, + { + "type": "atom", + "index": 2, + "x": 2.175, + "y": -2.451 + }, + { + "type": "atom", + "index": 3, + "x": 1.175, + "y": -2.451 + }, + { + "type": "atom", + "index": 4, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "index": 5, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "index": 6, + "x": 2.484, + "y": -2.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 2.484, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 8, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 3.35, + "y": -3.0 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 10, + "x": 2.05, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 1.175, + "y": -3.451 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/galactose.json b/kubejs/assets/tfg/molecules/galactose.json new file mode 100644 index 000000000..eb3196ec9 --- /dev/null +++ b/kubejs/assets/tfg/molecules/galactose.json @@ -0,0 +1,183 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 1.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 1, + "x": 2.0, + "y": -2.7321 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 3, + "x": 0.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 4, + "x": 0.0, + "y": -2.7321 + }, + { + "type": "atom", + "index": 5, + "x": 0.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 6, + "x": 0.5, + "y": -0.8661 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 7, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 2.0, + "y": -3.7321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 1.5, + "y": -4.5981 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 0.5, + "y": -2.5981 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 11, + "x": 0.0, + "y": -1.7321 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 11, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/glucose.json b/kubejs/assets/tfg/molecules/glucose.json new file mode 100644 index 000000000..890c2c2db --- /dev/null +++ b/kubejs/assets/tfg/molecules/glucose.json @@ -0,0 +1,183 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 1.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 1, + "x": 2.0, + "y": -2.7321 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 3, + "x": 0.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 4, + "x": 0.0, + "y": -2.7321 + }, + { + "type": "atom", + "index": 5, + "x": 0.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 6, + "x": 0.5, + "y": -0.8661 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 7, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 2.0, + "y": -3.7321 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 9, + "x": 0.0, + "y": -3.7321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 0.5, + "y": -2.5981 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 1.5, + "y": -4.5981 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 11, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/isosorbide.json b/kubejs/assets/tfg/molecules/isosorbide.json new file mode 100644 index 000000000..c74ac4c63 --- /dev/null +++ b/kubejs/assets/tfg/molecules/isosorbide.json @@ -0,0 +1,188 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 2.0691, + "y": 1.2298 + }, + { + "type": "atom", + "index": 1, + "x": 1.7601, + "y": 0.2788 + }, + { + "type": "atom", + "index": 2, + "x": 2.5691, + "y": -0.309 + }, + { + "type": "atom", + "index": 3, + "x": 3.3781, + "y": 0.2788 + }, + { + "type": "atom", + "index": 4, + "x": 3.0691, + "y": 1.2298 + }, + { + "type": "atom", + "index": 5, + "x": 0.9511, + "y": -0.309 + }, + { + "type": "atom", + "index": 6, + "x": 1.2601, + "y": -1.26 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 2.2601, + "y": -1.26 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 3.3781, + "y": -0.8968 + }, + { + "type": "atom", + "element": "H", + "index": 9, + "x": 0.9511, + "y": 0.8666 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 10, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 4.3292, + "y": -0.0302 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 8, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "outward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/isosorbide_ln.json b/kubejs/assets/tfg/molecules/isosorbide_ln.json new file mode 100644 index 000000000..5de795e84 --- /dev/null +++ b/kubejs/assets/tfg/molecules/isosorbide_ln.json @@ -0,0 +1,730 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 11.5627, + "y": -3.3721 + }, + { + "type": "atom", + "index": 1, + "x": 11.8717, + "y": -2.4211 + }, + { + "type": "atom", + "index": 2, + "x": 11.0627, + "y": -1.8333 + }, + { + "type": "atom", + "index": 3, + "x": 10.2537, + "y": -2.4211 + }, + { + "type": "atom", + "index": 4, + "x": 10.5627, + "y": -3.3721 + }, + { + "type": "atom", + "index": 5, + "x": 12.6807, + "y": -1.8333 + }, + { + "type": "atom", + "index": 6, + "x": 12.3717, + "y": -0.8822 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 11.3717, + "y": -0.8822 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 10.2537, + "y": -1.2455 + }, + { + "type": "atom", + "element": "H", + "index": 9, + "x": 12.6807, + "y": -3.0088 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 13.6318, + "y": -2.1423 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 9.3026, + "y": -2.112 + }, + { + "type": "atom", + "index": 12, + "x": 8.5595, + "y": -2.7812 + }, + { + "type": "atom", + "index": 13, + "x": 7.6084, + "y": -2.4722 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": 8.7674, + "y": -3.7593 + }, + { + "type": "atom", + "index": 15, + "x": 6.8653, + "y": -3.1413 + }, + { + "type": "atom", + "index": 16, + "x": 5.9142, + "y": -2.8323 + }, + { + "type": "atom", + "index": 17, + "x": 5.1711, + "y": -3.5014 + }, + { + "type": "atom", + "index": 18, + "x": 4.22, + "y": -3.1924 + }, + { + "type": "atom", + "index": 19, + "x": 3.4769, + "y": -3.8615 + }, + { + "type": "atom", + "index": 20, + "x": 2.5258, + "y": -3.5525 + }, + { + "type": "atom", + "index": 21, + "x": 1.7827, + "y": -4.2216 + }, + { + "type": "atom", + "index": 22, + "x": 0.8316, + "y": -3.9126 + }, + { + "type": "atom", + "index": 23, + "x": 0.6237, + "y": -2.9345 + }, + { + "type": "atom", + "index": 24, + "x": -0.3274, + "y": -2.6254 + }, + { + "type": "atom", + "index": 25, + "x": -0.5353, + "y": -1.6473 + }, + { + "type": "atom", + "index": 26, + "x": 0.2079, + "y": -0.9782 + }, + { + "type": "atom", + "index": 27, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 28, + "x": 0.7431, + "y": 0.6691 + }, + { + "type": "atom", + "index": 29, + "x": 1.6942, + "y": 0.3601 + }, + { + "type": "atom", + "index": 30, + "x": 2.4373, + "y": 1.0292 + }, + { + "type": "atom", + "index": 31, + "x": 14.3749, + "y": -1.4732 + }, + { + "type": "atom", + "index": 32, + "x": 15.326, + "y": -1.7822 + }, + { + "type": "atom", + "element": "O", + "index": 33, + "x": 14.167, + "y": -0.495 + }, + { + "type": "atom", + "index": 34, + "x": 16.0691, + "y": -1.113 + }, + { + "type": "atom", + "index": 35, + "x": 17.0202, + "y": -1.4221 + }, + { + "type": "atom", + "index": 36, + "x": 17.7633, + "y": -0.7529 + }, + { + "type": "atom", + "index": 37, + "x": 18.7144, + "y": -1.062 + }, + { + "type": "atom", + "index": 38, + "x": 19.4575, + "y": -0.3928 + }, + { + "type": "atom", + "index": 39, + "x": 20.4086, + "y": -0.7018 + }, + { + "type": "atom", + "index": 40, + "x": 21.1517, + "y": -0.0327 + }, + { + "type": "atom", + "index": 41, + "x": 22.1028, + "y": -0.3417 + }, + { + "type": "atom", + "index": 42, + "x": 22.3107, + "y": -1.3199 + }, + { + "type": "atom", + "index": 43, + "x": 23.2618, + "y": -1.6289 + }, + { + "type": "atom", + "index": 44, + "x": 23.4697, + "y": -2.607 + }, + { + "type": "atom", + "index": 45, + "x": 22.7265, + "y": -3.2762 + }, + { + "type": "atom", + "index": 46, + "x": 22.9344, + "y": -4.2543 + }, + { + "type": "atom", + "index": 47, + "x": 22.1913, + "y": -4.9234 + }, + { + "type": "atom", + "index": 48, + "x": 21.2402, + "y": -4.6144 + }, + { + "type": "atom", + "index": 49, + "x": 20.4971, + "y": -5.2836 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 8, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 21, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 24, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 27, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 32, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 33, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 32, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 38, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 39, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 40, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 42, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 43, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 46, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 48, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 48, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 10, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/linolenic_acid.json b/kubejs/assets/tfg/molecules/linolenic_acid.json new file mode 100644 index 000000000..de8f44aac --- /dev/null +++ b/kubejs/assets/tfg/molecules/linolenic_acid.json @@ -0,0 +1,284 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 2, + "x": -0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 4, + "x": 1.732, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 2.5981, + "y": -1.5 + }, + { + "type": "atom", + "index": 6, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "index": 7, + "x": 4.3301, + "y": -1.5 + }, + { + "type": "atom", + "index": 8, + "x": 5.1961, + "y": -1.0 + }, + { + "type": "atom", + "index": 9, + "x": 6.0622, + "y": -1.5 + }, + { + "type": "atom", + "index": 10, + "x": 6.9282, + "y": -1.0 + }, + { + "type": "atom", + "index": 11, + "x": 7.9282, + "y": -1.0 + }, + { + "type": "atom", + "index": 12, + "x": 8.7942, + "y": -1.5 + }, + { + "type": "atom", + "index": 13, + "x": 9.6602, + "y": -1.0 + }, + { + "type": "atom", + "index": 14, + "x": 10.6602, + "y": -1.0 + }, + { + "type": "atom", + "index": 15, + "x": 11.5263, + "y": -1.5 + }, + { + "type": "atom", + "index": 16, + "x": 12.3923, + "y": -1.0 + }, + { + "type": "atom", + "index": 17, + "x": 13.3923, + "y": -1.0 + }, + { + "type": "atom", + "index": 18, + "x": 14.2583, + "y": -1.5 + }, + { + "type": "atom", + "index": 19, + "x": 15.1243, + "y": -1.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 1, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 10, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 13, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 16, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json index aa88c9920..aa47fd688 100644 --- a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json @@ -1,330 +1,380 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": 4.3301, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 1, - "x": 3.4641, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 2, - "x": 4.3301, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 3, - "x": 2.5980999999999987, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 4, - "x": 3.4641, - "y": 0 - }, - { - "type": "atom", - "index": 5, - "x": 2.5980999999999987, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 6, - "x": 5.1961999999999993, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 7, - "x": 6.0621999999999989, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 8, - "x": 6.9281999999999986, - "y": 0 - }, - { - "type": "atom", - "index": 9, - "x": 6.0621999999999989, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 10, - "x": 7.7941999999999982, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 11, - "x": 6.9281999999999986, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 12, - "x": 7.7941999999999982, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "element": "O", - "index": 13, - "x": 1.7320999999999991, - "y": 0 - }, - { - "type": "atom", - "element": "O", - "index": 14, - "x": 8.6603000000000012, - "y": 0 - }, - { - "type": "atom", - "index": 15, - "x": 0.86599999999999966, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "element": "O", - "index": 16, - "x": 0.86599999999999966, - "y": -1.4999999999999991 - }, - { - "type": "atom", - "element": "N", - "left": [ - "H", - 2 - ], - "index": 17, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 18, - "x": 9.5263, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "element": "N", - "right": [ - "H", - 2 - ], - "index": 19, - "x": 9.5263, - "y": -1.5 - }, - { - "type": "atom", - "element": "O", - "index": 20, - "x": 10.3924, - "y": 0.0 - }, - { - "type": "bond", - "a": 2, - "b": 0, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 0, - "b": 4, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 4, - "b": 5, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 5, - "b": 3, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 3, - "b": 1, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 1, - "b": 2, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 2, - "b": 6, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 6, - "b": 7, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 9, - "b": 7, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 7, - "b": 11, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 11, - "b": 12, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 12, - "b": 10, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 10, - "b": 8, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 8, - "b": 9, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 5, - "b": 13, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 10, - "b": 14, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 13, - "b": 15, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 15, - "b": 16, - "lines": [ - "solid", - "solid" - ], - "centered": true - }, - { - "type": "bond", - "a": 15, - "b": 17, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 14, - "b": 18, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 18, - "b": 19, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 18, - "b": 20, - "lines": [ - "solid", - "solid" - ], - "centered": true - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 5.1962, + "y": 0.0 + }, + { + "type": "atom", + "index": 2, + "x": 4.3301, + "y": 0.5 + }, + { + "type": "atom", + "index": 3, + "x": 5.1962, + "y": -1.0 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 4.3301, + "y": -1.5 + }, + { + "type": "atom", + "index": 6, + "x": 6.0622, + "y": -1.5 + }, + { + "type": "atom", + "index": 7, + "x": 6.9282, + "y": -1.0 + }, + { + "type": "atom", + "index": 8, + "x": 7.7943, + "y": 0.5 + }, + { + "type": "atom", + "index": 9, + "x": 6.9282, + "y": 0.0 + }, + { + "type": "atom", + "index": 10, + "x": 8.6603, + "y": 0.0 + }, + { + "type": "atom", + "index": 11, + "x": 7.7943, + "y": -1.5 + }, + { + "type": "atom", + "index": 12, + "x": 8.6603, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 13, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "element": "N", + "index": 14, + "x": 9.5263, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 15, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "atom", + "index": 16, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "index": 17, + "x": 10.3923, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 18, + "x": 9.5263, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "index": 19, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 20, + "x": 1.7321, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 21, + "x": 10.3923, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 22, + "x": 11.2584, + "y": 0.5 + }, + { + "type": "atom", + "index": 23, + "x": 12.1244, + "y": 0.0 + }, + { + "type": "atom", + "index": 24, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 7, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 8, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 20, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 17, + "b": 21, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 17, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 24, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sorbitol.json b/kubejs/assets/tfg/molecules/sorbitol.json new file mode 100644 index 000000000..7ba316f37 --- /dev/null +++ b/kubejs/assets/tfg/molecules/sorbitol.json @@ -0,0 +1,176 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "right": "H", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "index": 5, + "x": 4.3301, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 5.1962, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 6.0622, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 4.3301, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 1.7321, + "y": -1.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 9, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 10, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 11, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/trimethylamine.json b/kubejs/assets/tfg/molecules/trimethylamine.json new file mode 100644 index 000000000..80e341a2d --- /dev/null +++ b/kubejs/assets/tfg/molecules/trimethylamine.json @@ -0,0 +1,53 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 1.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/urea.json b/kubejs/assets/tfg/molecules/urea.json new file mode 100644 index 000000000..10d871325 --- /dev/null +++ b/kubejs/assets/tfg/molecules/urea.json @@ -0,0 +1,65 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "right": [ + "H", + 2 + ], + "index": 0, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "N", + "left": [ + "H", + 2 + ], + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 0.866, + "y": 1.5 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ 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 a6257a9c3..5562aac3f 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -568,6 +568,87 @@ function registerTFGNuclearRecipes(event) { //#endregion - + //#region Epoxidized Isosorbide Linolenate + + event.recipes.gtceu.distillery('tfg:linolenic_from_seed') + .inputFluids(Fluid.of('gtceu:seed_oil', 1000)) + .outputFluids(Fluid.of('tfg:linolenic_acid', 10)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.distillery('tfg:linolenic_from_olive') + .inputFluids(Fluid.of('tfc:olive_oil', 1000)) + .outputFluids(Fluid.of('tfg:linolenic_acid', 20)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.distillery('tfg:linolenic_from_soybean') + .inputFluids(Fluid.of('firmalife:soybean_oil', 1000)) + .outputFluids(Fluid.of('tfg:linolenic_acid', 50)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + + //These two might not fit here but eh + event.recipes.gtceu.chemical_reactor('tfg:sucrose_to_monos') + .itemInputs('8x #tfg:sugars') + .inputFluids(Fluid.of('minecraft:water', 8000), Fluid.of('gtceu:sulfuric_acid', 200)) + .circuit(2) + .itemOutputs('24x #forge:dusts/glucose', '24x #forge:dusts/fructose') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.chemical_reactor('tfg:lactose_to_monos') + .itemInputs('8x #forge:dusts/lactose') + .inputFluids(Fluid.of('minecraft:water', 8000), Fluid.of('gtceu:sulfuric_acid', 200)) + .circuit(2) + .itemOutputs('24x #forge:dusts/glucose', '24x #forge:dusts/galactose') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:glucose_to_sorbitol') + .itemInputs('12x #forge:dusts/glucose') + .inputFluids(Fluid.of('gtceu:hydrogen', 2000)) + .notConsumable('#forge:dusts/ruthenium') + .circuit(2) + .itemOutputs('13x #forge:dusts/sorbitol') + .duration(100) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:sorbitol_to_sorbitan') + .itemInputs('26x #forge:dusts/sorbitol') + .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000)) + .notConsumable('#forge:dusts/potassium_hydroxide') + .circuit(3) + .itemOutputs('23x #forge:dusts/14_sorbitan') + .duration(160) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.chemical_reactor('tfg:sorbitan_to_isosorbide') + .itemInputs('23x #forge:dusts/14_sorbitan') + .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000)) + .notConsumable('#forge:dusts/potassium_hydroxide') + .circuit(3) + .itemOutputs('20x #forge:dusts/isosorbide') + .duration(160) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:lipid_attach_isosorbide') + .itemInputs('10x #forge:dusts/isosorbide') + .inputFluids(Fluid.of('tfg:linolenic_acid', 1000), Fluid.of('minecraft:water', 2000)) + .notConsumableFluid(Fluid.of('gtceu:toluene', 1000)) + .circuit(4) + .outputFluids(Fluid.of('tfg:isosorbide_ln', 1000)) + .duration(100) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:epoxidation_isosorbide_ln') + .inputFluids(Fluid.of('tfg:isosorbide_ln', 1000), Fluid.of('gtceu:hydrogen_peroxide', 3000), Fluid.of('gtceu:sulfuric_acid', 200)) + .notConsumableFluid(Fluid.of('gtceu:acetic_acid', 1000)) + .circuit(4) + .outputFluids(Fluid.of('tfg:epox_isosorbide_ln', 1000)) + .duration(100) + .EUt(GTValues.VA[GTValues.IV]) + + + //#endregion } diff --git a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js index 40bd3062d..25fc6579b 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js @@ -10,20 +10,38 @@ function registerTFGInsulationRecipes(event) { .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes') - .itemInputs('2x tfg:aes_mix_dust') - .outputFluids(Fluid.of('tfg:molten_aes', 1000)) + .itemInputs('#forge:dusts/aes_mix') + .outputFluids(Fluid.of('tfg:molten_aes', 500)) .chancedOutput('gtceu:ash_dust', 3000, 0) .circuit(1) - .duration(400) + .duration(200) .blastFurnaceTemp(3000) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes_he') - .itemInputs('2x tfg:aes_mix_dust') - .inputFluids(Fluid.of('gtceu:helium', 200)) - .outputFluids(Fluid.of('tfg:molten_aes', 1000)) + .itemInputs('#forge:dusts/aes_mix') + .inputFluids(Fluid.of('gtceu:helium', 100)) + .outputFluids(Fluid.of('tfg:molten_aes', 500)) .circuit(2) - .duration(140) + .duration(70) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:small_molten_aes') + .itemInputs('#forge:small_dusts/aes_mix') + .outputFluids(Fluid.of('tfg:molten_aes', 125)) + .chancedOutput('gtceu:ash_dust', 1000, 0) + .circuit(1) + .duration(120) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:small_molten_aes_he') + .itemInputs('#forge:small_dusts/aes_mix') + .inputFluids(Fluid.of('gtceu:helium', 100)) + .outputFluids(Fluid.of('tfg:molten_aes', 125)) + .circuit(2) + .duration(40) .blastFurnaceTemp(3000) .EUt(GTValues.VA[GTValues.EV]) diff --git a/kubejs/server_scripts/tfg/venus/recipes.biochem.js b/kubejs/server_scripts/tfg/venus/recipes.biochem.js index c43cd7182..c3298a2da 100644 --- a/kubejs/server_scripts/tfg/venus/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/venus/recipes.biochem.js @@ -565,17 +565,35 @@ function registerTFGBiochemRecipes(event) { .EUt(GTValues.VA[GTValues.IV]); // Triglycerides from cell factory. - bioreactorRecipe('triglyceride_oil_from_smooth_endoplasmic_reticula', 10*20, 1920, { + bioreactorRecipe('triglyceride_oil_from_smooth_er_byacid', 10*20, 1920, { fluidInputs: [ 'gtceu:glycerol 1000', - 'tfg:butyric_acid 1000' + 'tfg:butyric_acid 3000' ], itemInputs: [ 'tfg:smooth_endoplasmic_reticula', 'tfg:lab_equipment' ], fluidOutputs: [ - Fluid.of('tfg:triglyceride_oil', 2000) + Fluid.of('tfg:triglyceride_oil', 3000) + ], + itemOutputs: [ + 'tfg:dirty_lab_equipment' + ], + cleanroom: CleanroomType.CLEANROOM + }); + + bioreactorRecipe('triglyceride_oil_from_smooth_er_lnacid', 10*20, 1920, { + fluidInputs: [ + 'gtceu:glycerol 1000', + 'tfg:linolenic_acid 3000' + ], + itemInputs: [ + 'tfg:smooth_endoplasmic_reticula', + 'tfg:lab_equipment' + ], + fluidOutputs: [ + Fluid.of('tfg:triglyceride_oil', 3000) ], itemOutputs: [ 'tfg:dirty_lab_equipment' diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index b25ca13df..707ad6423 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -3,11 +3,21 @@ const registerTFGMaterials = (event) => { + //#region placeholder materials event.create('unknown') .color('0xFFFFFF') .formula('?') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + event.create('ammonium') + .components('1x nitrogen', '4x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('methoxy') + .components('1x oxygen', '1x carbon', '3x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + //#endregion + registerTFGPowerReworkMaterials(event); registerTFGNuclearMaterials(event); registerTFGBiolineMaterials(event); diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 8da8a343d..5608f4ae6 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -274,6 +274,53 @@ const registerTFGNuclearMaterials = (event) => { .radioactiveHazard(10000000) //#endregion + + //#region Epoxidized Isosorbide Linolenate + event.create('tfg:glucose') + .dust() + .components('6x carbon', '12x hydrogen', '6x oxygen') + .color(0xFFE9E3) + event.create('tfg:galactose') + .dust() + .components('6x carbon', '12x hydrogen', '6x oxygen') + .color(0xEBE3FF) + event.create('tfg:fructose') + .dust() + .components('6x carbon', '12x hydrogen', '6x oxygen') + .iconSet(GTMaterialIconSet.SHINY) + .color(0xE6FFE3) + event.create('tfg:sorbitol') + .dust() + .components('6x carbon', '14x hydrogen', '6x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0xDEFEFF) + event.create('tfg:14_sorbitan') + .dust() + .components('6x carbon', '12x hydrogen', '5x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0xB1F1F2) + event.create('tfg:isosorbide') + .dust() + .components('6x carbon', '10x hydrogen', '4x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0x84D6DB) + event.create('tfg:linolenic_acid') + .liquid() + .components('18x carbon', '30x hydrogen', '2x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xF5D478) + event.create('tfg:isosorbide_ln') + .liquid() + .components('42x carbon', '66x hydrogen', '6x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xDB5178) + event.create('tfg:epox_isosorbide_ln') + .liquid() + .components('42x carbon', '66x hydrogen', '12x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xAB2748) + + //#endregion //#region Isotopic Solvent diff --git a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js index 49ffd7665..dbbccfcd6 100644 --- a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js +++ b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js @@ -120,7 +120,7 @@ function registerTFGRocketMaterials(event) { //#region aerogel event.create('tfg:tmos') .liquid() - .formula("Si(OCH3)4") + .components('1x silicon', '4x methoxy') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xC2C6CC) event.create('tfg:silica_gel') From ffd474608f21817401f4f2e2e892474de7e5a077 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 8 Dec 2025 23:59:55 +0000 Subject: [PATCH 261/628] fix #2353 --- kubejs/server_scripts/beneath/recipes.js | 7 +++---- kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index ba4208649..aabd6c4e1 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -61,12 +61,11 @@ const registerBeneathRecipes = (event) => { 'tfc:powder/wood_ash' ]).id('tfg:shapeless/hellbricks_from_wood_ash') - event.recipes.gtceu.assembler("loose_blackstone_to_bricks") + event.recipes.gtceu.cutter("loose_blackstone_to_bricks") .itemInputs('beneath:blackstone_pebble') .itemOutputs('beneath:blackstone_brick') - .circuit(1) - .duration(40) - .EUt(8) + .duration(10) + .EUt(2) event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay') diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 436a5b12b..1e8d61fe1 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -151,8 +151,8 @@ function registerTFGRockRecipes(event) { event.recipes.gtceu.cutter(`${x.loose}_to_${x.brick}`.replace(/:/g, '_')) .itemInputs(x.loose) .itemOutputs(x.brick) - .duration(40) - .EUt(8) + .duration(10) + .EUt(2) }) // #endregion LOOSE_TO_BRICKS From 961a97f2e2ca8948b0848394c134dbf0e797f2c6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 00:00:23 +0000 Subject: [PATCH 262/628] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0376bd5e1..cf0c11bf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Fixed missing recipes for many fluid and item pipes @Pyritie - Fixed missing cleanroom tags for the ad astra 3x3 doors, so now you can *actually* use them in a cleanroom @Pyritie - Fixed aged sake, vodka, and whiskey losing their buff effects @Pyritie +- Fixed some inconsistencies with loose rocks into bricks (#2353) @Pyritie ## [0.11.9] - 7-12-2025 ### Breaking Changes From 0b331b98bcc8016fdb97f4f20fc7423c42b905ea Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 00:02:06 +0000 Subject: [PATCH 263/628] moved the blackstone brick recipe --- kubejs/server_scripts/beneath/recipes.js | 6 ----- .../tfg/natural_blocks/recipes.rocks.js | 24 +++++++++---------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index aabd6c4e1..e0fd264d8 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -61,12 +61,6 @@ const registerBeneathRecipes = (event) => { 'tfc:powder/wood_ash' ]).id('tfg:shapeless/hellbricks_from_wood_ash') - event.recipes.gtceu.cutter("loose_blackstone_to_bricks") - .itemInputs('beneath:blackstone_pebble') - .itemOutputs('beneath:blackstone_brick') - .duration(10) - .EUt(2) - event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay') diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 1e8d61fe1..0988e5a3f 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -129,18 +129,18 @@ function registerTFGRockRecipes(event) { // #region LOOSE_TO_BRICKS const LOOSE_TO_BRICKS = [ - { loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }, - { loose: 'tfg:loose/dripstone', brick: 'tfg:brick/dripstone' }, - { loose: 'tfg:loose/crackrack', brick: 'minecraft:nether_brick' }, - { loose: 'tfg:loose/moon_stone', brick: 'tfg:brick/moon_stone' }, - { loose: 'tfg:loose/moon_deepslate', brick: 'tfg:brick/moon_deepslate' }, - { loose: 'tfg:loose/mars_stone', brick: 'tfg:brick/mars_stone' }, - { loose: 'tfg:loose/venus_stone', brick: 'tfg:brick/venus_stone' }, - { loose: 'tfg:loose/mercury_stone', brick: 'tfg:brick/mercury_stone' }, - { loose: 'tfg:loose/glacio_stone', brick: 'tfg:brick/glacio_stone' }, - { loose: 'tfg:loose/permafrost', brick: 'tfg:brick/permafrost' }, - { loose: 'tfg:loose/red_granite', brick: 'tfg:brick/red_granite' }, - + { loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }, + { loose: 'tfg:loose/dripstone', brick: 'tfg:brick/dripstone' }, + { loose: 'tfg:loose/crackrack', brick: 'minecraft:nether_brick' }, + { loose: 'tfg:loose/moon_stone', brick: 'tfg:brick/moon_stone' }, + { loose: 'tfg:loose/moon_deepslate', brick: 'tfg:brick/moon_deepslate' }, + { loose: 'tfg:loose/mars_stone', brick: 'tfg:brick/mars_stone' }, + { loose: 'tfg:loose/venus_stone', brick: 'tfg:brick/venus_stone' }, + { loose: 'tfg:loose/mercury_stone', brick: 'tfg:brick/mercury_stone' }, + { loose: 'tfg:loose/glacio_stone', brick: 'tfg:brick/glacio_stone' }, + { loose: 'tfg:loose/permafrost', brick: 'tfg:brick/permafrost' }, + { loose: 'tfg:loose/red_granite', brick: 'tfg:brick/red_granite' }, + { loose: 'beneath:blackstone_pebble', brick: 'beneath:blackstone_brick' } ] LOOSE_TO_BRICKS.forEach(x => { From 0d75405aee6a00d522e1e175b4da3ab51b90265c Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 9 Dec 2025 00:11:17 -0600 Subject: [PATCH 264/628] why doesnt rhino just have classes? (#2355) --- kubejs/startup_scripts/ad_astra/constants.js | 38 +++++++++++++++++-- .../advancedperipherals/constants.js | 2 +- kubejs/startup_scripts/ae2/constants.js | 20 +++++----- kubejs/startup_scripts/afc/constants.js | 3 +- .../startup_scripts/alekiroofs/constants.js | 2 +- .../startup_scripts/alekiships/constants.js | 1 + .../asticor_carts/constants.js | 2 +- kubejs/startup_scripts/beneath/constants.js | 2 +- .../computer_craft/constants.js | 2 +- kubejs/startup_scripts/constants.js | 6 --- kubejs/startup_scripts/create/constants.js | 2 +- kubejs/startup_scripts/create/creative_tab.js | 4 +- .../create_additions/constants.js | 2 +- .../create_connected/constants.js | 4 +- .../startup_scripts/createdeco/constants.js | 10 ++--- .../domum_ornamentum/constants.js | 6 +-- .../startup_scripts/extended_ae2/constants.js | 3 +- kubejs/startup_scripts/firmaciv/constants.js | 2 +- kubejs/startup_scripts/firmalife/constants.js | 6 +-- .../startup_scripts/framedblocks/constants.js | 8 ++-- .../startup_scripts/ftb_quests/constants.js | 2 +- .../startup_scripts/grapplemod/constants.js | 2 +- kubejs/startup_scripts/greate/constants.js | 24 ++++++------ kubejs/startup_scripts/gtceu/constants.js | 2 +- kubejs/startup_scripts/horornot/constants.js | 2 +- kubejs/startup_scripts/main_startup_script.js | 6 +-- .../startup_scripts/mega_cells/constants.js | 2 +- kubejs/startup_scripts/minecraft/constants.js | 2 +- .../modern_markings/constants.js | 2 +- kubejs/startup_scripts/more_red/constants.js | 2 +- kubejs/startup_scripts/railways/constants.js | 2 +- kubejs/startup_scripts/rnr/constants.js | 2 +- .../startup_scripts/sacksnsuch/constants.js | 2 +- .../sophisticated_backpacks/constants.js | 2 +- kubejs/startup_scripts/soulbind/constants.js | 5 ++- kubejs/startup_scripts/species/constants.js | 2 +- kubejs/startup_scripts/tacz/constants.js | 2 +- kubejs/startup_scripts/tfc/constants.js | 2 +- kubejs/startup_scripts/tfg/constants.js | 1 + .../vintage_improvements/constants.js | 4 +- .../wan_ancient_beasts/constants.js | 2 +- 41 files changed, 112 insertions(+), 85 deletions(-) delete mode 100644 kubejs/startup_scripts/constants.js diff --git a/kubejs/startup_scripts/ad_astra/constants.js b/kubejs/startup_scripts/ad_astra/constants.js index e706f6738..93a924324 100644 --- a/kubejs/startup_scripts/ad_astra/constants.js +++ b/kubejs/startup_scripts/ad_astra/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.AD_ASTRA_DISABLED_ITEMS = @@ -110,7 +110,37 @@ global.BREATHABLE_COMPRESSED_AIRS = ]; global.AD_ASTRA_WOOD = [ - {name: 'aeronos', logs: '#ad_astra:aeronos_caps', log: 'ad_astra:aeronos_stem', stripped_log: null, lumber: 'tfg:wood/lumber/aeronos', plank: 'ad_astra:aeronos_planks', stair: 'ad_astra:aeronos_stairs', slab: 'ad_astra:aeronos_slab', fence: 'ad_astra:aeronos_fence', fence_gate: 'ad_astra:aeronos_fence_gate', door: 'ad_astra:aeronos_door', trapdoor: 'ad_astra:aeronos_trapdoor', button: null, pressure_plate: null, support: 'tfg:aeronos_support', isHardwood: false}, - {name: 'strophar', logs: '#ad_astra:strophar_caps', log: 'ad_astra:strophar_stem', stripped_log: null, lumber: 'tfg:wood/lumber/strophar', plank: 'ad_astra:strophar_planks', stair: 'ad_astra:strophar_stairs', slab: 'ad_astra:strophar_slab', fence:'ad_astra:strophar_fence', fence_gate: 'ad_astra:strophar_fence_gate', door:'ad_astra:strophar_door', trapdoor: 'ad_astra:strophar_trapdoor', button: null, pressure_plate: null, support: 'tfg:strophar_support', isHardwood: false}, - {name: 'glacian', logs: '#ad_astra:glacian_logs', log: 'ad_astra:glacian_log', stripped_log: 'ad_astra:stripped_glacian_log', lumber: 'tfg:wood/lumber/glacian', plank: 'ad_astra:glacian_planks', stair: 'ad_astra:glacian_stairs', slab: 'ad_astra:glacian_slab', fence: 'ad_astra:glacian_fence', fence_gate: 'ad_astra:glacian_fence_gate', door: 'ad_astra:glacian_door', trapdoor: 'ad_astra:glacian_trapdoor', button: 'ad_astra:glacian_button', pressure_plate: 'ad_astra:glacian_pressure_plate', support: 'tfg:glacian_support', isHardwood: true}, + { + name: 'aeronos', + logs: '#ad_astra:aeronos_caps', log: 'ad_astra:aeronos_stem', stripped_log: null, + lumber: 'tfg:wood/lumber/aeronos', plank: 'ad_astra:aeronos_planks', + stair: 'ad_astra:aeronos_stairs', slab: 'ad_astra:aeronos_slab', + fence: 'ad_astra:aeronos_fence', fence_gate: 'ad_astra:aeronos_fence_gate', + door: 'ad_astra:aeronos_door', trapdoor: 'ad_astra:aeronos_trapdoor', + button: null, pressure_plate: null, + support: 'tfg:aeronos_support', + isHardwood: false + }, + { + name: 'strophar', + logs: '#ad_astra:strophar_caps', log: 'ad_astra:strophar_stem', stripped_log: null, + lumber: 'tfg:wood/lumber/strophar', plank: 'ad_astra:strophar_planks', + stair: 'ad_astra:strophar_stairs', slab: 'ad_astra:strophar_slab', + fence:'ad_astra:strophar_fence', fence_gate: 'ad_astra:strophar_fence_gate', + door:'ad_astra:strophar_door', trapdoor: 'ad_astra:strophar_trapdoor', + button: null, pressure_plate: null, + support: 'tfg:strophar_support', + isHardwood: false + }, + { + name: 'glacian', + logs: '#ad_astra:glacian_logs', log: 'ad_astra:glacian_log', stripped_log: 'ad_astra:stripped_glacian_log', + lumber: 'tfg:wood/lumber/glacian', plank: 'ad_astra:glacian_planks', + stair: 'ad_astra:glacian_stairs', slab: 'ad_astra:glacian_slab', + fence: 'ad_astra:glacian_fence', fence_gate: 'ad_astra:glacian_fence_gate', + door: 'ad_astra:glacian_door', trapdoor: 'ad_astra:glacian_trapdoor', + button: 'ad_astra:glacian_button', pressure_plate: 'ad_astra:glacian_pressure_plate', + support: 'tfg:glacian_support', + isHardwood: true + } ] \ No newline at end of file diff --git a/kubejs/startup_scripts/advancedperipherals/constants.js b/kubejs/startup_scripts/advancedperipherals/constants.js index 3680e5292..3862aed0b 100644 --- a/kubejs/startup_scripts/advancedperipherals/constants.js +++ b/kubejs/startup_scripts/advancedperipherals/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.ADVANCED_PERIPHERALS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/ae2/constants.js b/kubejs/startup_scripts/ae2/constants.js index 88e39d121..f7d1ec8a9 100644 --- a/kubejs/startup_scripts/ae2/constants.js +++ b/kubejs/startup_scripts/ae2/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.AE2_DISABLED_ITEMS = [ @@ -62,7 +62,7 @@ global.AE2_GLASS_CABLES = [ 'ae2:brown_glass_cable', 'ae2:green_glass_cable', 'ae2:red_glass_cable', - 'ae2:black_glass_cable', + 'ae2:black_glass_cable' ] // Covered Cable @@ -82,7 +82,7 @@ global.AE2_COVERED_CABLES = [ 'ae2:brown_covered_cable', 'ae2:green_covered_cable', 'ae2:red_covered_cable', - 'ae2:black_covered_cable', + 'ae2:black_covered_cable' ] // Dense Covered Cable @@ -102,7 +102,7 @@ global.AE2_COVERED_DENSE_CABLES = [ 'ae2:brown_covered_dense_cable', 'ae2:green_covered_dense_cable', 'ae2:red_covered_dense_cable', - 'ae2:black_covered_dense_cable', + 'ae2:black_covered_dense_cable' ] // Smart Cable @@ -122,7 +122,7 @@ global.AE2_SMART_CABLES = [ 'ae2:brown_smart_cable', 'ae2:green_smart_cable', 'ae2:red_smart_cable', - 'ae2:black_smart_cable', + 'ae2:black_smart_cable' ] // Dense Smart Cable @@ -142,7 +142,7 @@ global.AE2_SMART_DENSE_CABLES = [ 'ae2:brown_smart_dense_cable', 'ae2:green_smart_dense_cable', 'ae2:red_smart_dense_cable', - 'ae2:black_smart_dense_cable', + 'ae2:black_smart_dense_cable' ] // Smart Cable @@ -162,7 +162,7 @@ global.AE2_SMART_CABLES = [ 'ae2:brown_smart_cable', 'ae2:green_smart_cable', 'ae2:red_smart_cable', - 'ae2:black_smart_cable', + 'ae2:black_smart_cable' ] // Dense Smart Cable @@ -182,7 +182,7 @@ global.AE2_SMART_DENSE_CABLES = [ 'ae2:brown_smart_dense_cable', 'ae2:green_smart_dense_cable', 'ae2:red_smart_dense_cable', - 'ae2:black_smart_dense_cable', + 'ae2:black_smart_dense_cable' ] @@ -203,7 +203,7 @@ global.AE2_PAINTBALLS = [ 'ae2:brown_paint_ball', 'ae2:green_paint_ball', 'ae2:red_paint_ball', - 'ae2:black_paint_ball', + 'ae2:black_paint_ball' ] // Lumen paint ball global.AE2_LUMEN_PAINTBALLS = [ @@ -222,6 +222,6 @@ global.AE2_LUMEN_PAINTBALLS = [ 'ae2:brown_lumen_paint_ball', 'ae2:green_lumen_paint_ball', 'ae2:red_lumen_paint_ball', - 'ae2:black_lumen_paint_ball', + 'ae2:black_lumen_paint_ball' ] diff --git a/kubejs/startup_scripts/afc/constants.js b/kubejs/startup_scripts/afc/constants.js index 6ccba7a9c..f8c487284 100644 --- a/kubejs/startup_scripts/afc/constants.js +++ b/kubejs/startup_scripts/afc/constants.js @@ -1,3 +1,4 @@ +// priority: -100 "use strict"; global.AFC_DISABLED_ITEMS = [ @@ -107,7 +108,7 @@ global.AFC_SOFTWOOD_TYPES = [ 'tualang', 'cypress', - 'fig', + 'fig' ] global.AFC_HARDWOOD_TYPES = diff --git a/kubejs/startup_scripts/alekiroofs/constants.js b/kubejs/startup_scripts/alekiroofs/constants.js index efc6bd946..c416eda46 100644 --- a/kubejs/startup_scripts/alekiroofs/constants.js +++ b/kubejs/startup_scripts/alekiroofs/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.ALEKIROOFS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/alekiships/constants.js b/kubejs/startup_scripts/alekiships/constants.js index 69f512d1c..4d7c918a2 100644 --- a/kubejs/startup_scripts/alekiships/constants.js +++ b/kubejs/startup_scripts/alekiships/constants.js @@ -1,3 +1,4 @@ +// priority: -100 "use strict"; global.ALEKISHIPS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/asticor_carts/constants.js b/kubejs/startup_scripts/asticor_carts/constants.js index 664e571a2..ff9a0509f 100644 --- a/kubejs/startup_scripts/asticor_carts/constants.js +++ b/kubejs/startup_scripts/asticor_carts/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.ASTICOR_CARTS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/beneath/constants.js b/kubejs/startup_scripts/beneath/constants.js index 69fcec829..536ac80b1 100644 --- a/kubejs/startup_scripts/beneath/constants.js +++ b/kubejs/startup_scripts/beneath/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.BENEATH_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/computer_craft/constants.js b/kubejs/startup_scripts/computer_craft/constants.js index a108b9f5e..a345baf46 100644 --- a/kubejs/startup_scripts/computer_craft/constants.js +++ b/kubejs/startup_scripts/computer_craft/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.COMPUTER_CRAFT_DISCS = [ diff --git a/kubejs/startup_scripts/constants.js b/kubejs/startup_scripts/constants.js deleted file mode 100644 index f23433066..000000000 --- a/kubejs/startup_scripts/constants.js +++ /dev/null @@ -1,6 +0,0 @@ -// priority: 0 -"use strict"; - -global.TAB_IDS = Object.freeze({ - CREATE_BASE: 'create:base' -}) \ No newline at end of file diff --git a/kubejs/startup_scripts/create/constants.js b/kubejs/startup_scripts/create/constants.js index 7d2b4c4b0..6439596d0 100644 --- a/kubejs/startup_scripts/create/constants.js +++ b/kubejs/startup_scripts/create/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; /** diff --git a/kubejs/startup_scripts/create/creative_tab.js b/kubejs/startup_scripts/create/creative_tab.js index 61c769984..6f21cfa5c 100644 --- a/kubejs/startup_scripts/create/creative_tab.js +++ b/kubejs/startup_scripts/create/creative_tab.js @@ -1,7 +1,7 @@ // priority: 0 "use strict"; -function modifyCreateCreativeTab(event) { +StartupEvents.modifyCreativeTab('create:base', event => { event.add('create:shadow_steel_casing') event.add('create:refined_radiance_casing') -} +}) diff --git a/kubejs/startup_scripts/create_additions/constants.js b/kubejs/startup_scripts/create_additions/constants.js index 400bd3ba7..036d69ab2 100644 --- a/kubejs/startup_scripts/create_additions/constants.js +++ b/kubejs/startup_scripts/create_additions/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.CREATE_ADDITIONS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/create_connected/constants.js b/kubejs/startup_scripts/create_connected/constants.js index ca883e3be..8a4b737d7 100644 --- a/kubejs/startup_scripts/create_connected/constants.js +++ b/kubejs/startup_scripts/create_connected/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.CREATE_CONNECTED_DISABLED_ITEMS = [ @@ -19,5 +19,5 @@ global.CREATE_CONNECTED_DISABLED_ITEMS = [ 'create_connected:brass_encased_cross_connector', 'create_connected:kinetic_bridge', 'create_connected:kinetic_battery', - 'create_connected:charged_kinetic_battery', + 'create_connected:charged_kinetic_battery' ] \ No newline at end of file diff --git a/kubejs/startup_scripts/createdeco/constants.js b/kubejs/startup_scripts/createdeco/constants.js index 8bfec458a..3387d561e 100644 --- a/kubejs/startup_scripts/createdeco/constants.js +++ b/kubejs/startup_scripts/createdeco/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; /** @global */ @@ -9,7 +9,7 @@ global.CREATEDECO_DISABLED_ITEMS = /** @type {const} */ ([ "createdeco:industrial_iron_sheet", "createdeco:netherite_nugget", "createdeco:industrial_iron_nugget", - "createdeco:industrial_iron_ingot", + "createdeco:industrial_iron_ingot" ]); /** @global */ @@ -21,7 +21,7 @@ global.CREATE_DECO_BRICK_TYPES = /** @type {const} */ ([ "blue", "pearl", "dean", - "red", + "red" ]); global.CREATE_DECO_GLASS_PANES = /** @type {const} */ ([ @@ -30,7 +30,7 @@ global.CREATE_DECO_GLASS_PANES = /** @type {const} */ ([ "createdeco:iron_window_pane", "createdeco:industrial_iron_window_pane", "createdeco:brass_window_pane", - "createdeco:zinc_window_pane", + "createdeco:zinc_window_pane" ]); global.CREATE_DECO_CATWALK_TYPES = /** @type {const} */ ([ @@ -39,5 +39,5 @@ global.CREATE_DECO_CATWALK_TYPES = /** @type {const} */ ([ "iron", "copper", "industrial_iron", - "zinc", + "zinc" ]); diff --git a/kubejs/startup_scripts/domum_ornamentum/constants.js b/kubejs/startup_scripts/domum_ornamentum/constants.js index e525d4c91..0226624f4 100644 --- a/kubejs/startup_scripts/domum_ornamentum/constants.js +++ b/kubejs/startup_scripts/domum_ornamentum/constants.js @@ -1,9 +1,9 @@ -// priority: 0 +// priority: -100 "use strict"; global.DOMUM_ORNAMENTUM_DISABLED_ITEMS = /** @type {const} */ ([ "domum_ornamentum:blockbarreldeco_standing", - "domum_ornamentum:blockbarreldeco_onside", + "domum_ornamentum:blockbarreldeco_onside" ]); global.DOMUM_ORNAMENTUM_FLOATING_CARPETS = /** @type {const} */ ([ @@ -22,5 +22,5 @@ global.DOMUM_ORNAMENTUM_FLOATING_CARPETS = /** @type {const} */ ([ "domum_ornamentum:brown_floating_carpet", "domum_ornamentum:green_floating_carpet", "domum_ornamentum:red_floating_carpet", - "domum_ornamentum:black_floating_carpet", + "domum_ornamentum:black_floating_carpet" ]); diff --git a/kubejs/startup_scripts/extended_ae2/constants.js b/kubejs/startup_scripts/extended_ae2/constants.js index 97a7c2945..486627ec1 100644 --- a/kubejs/startup_scripts/extended_ae2/constants.js +++ b/kubejs/startup_scripts/extended_ae2/constants.js @@ -1,3 +1,4 @@ +// priority: -100 "use strict"; global.EXTENDED_AE2_DISABLED_ITEMS = [ @@ -15,7 +16,7 @@ global.EXTENDED_AE2_DISABLED_ITEMS = [ 'expatternprovider:ex_charger', 'expatternprovider:caner', 'expatternprovider:circuit_cutter', - 'expatternprovider:silicon_block', + 'expatternprovider:silicon_block' //в будущем будет крафт diff --git a/kubejs/startup_scripts/firmaciv/constants.js b/kubejs/startup_scripts/firmaciv/constants.js index 3a6e659cd..563af9b9b 100644 --- a/kubejs/startup_scripts/firmaciv/constants.js +++ b/kubejs/startup_scripts/firmaciv/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; /** diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 4a04d2c2c..db0ce962b 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; /** @@ -102,12 +102,12 @@ global.FIRMALIFE_JAMS = [ global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' }, - { input: 'firmalife:plant/fig_sapling', fluid_amount: 8000, output: '3x firmalife:food/fig', name: 'fig' }, + { input: 'firmalife:plant/fig_sapling', fluid_amount: 8000, output: '3x firmalife:food/fig', name: 'fig' } ]; global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/pineapple_bush', fluid_amount: 6000, output: '3x firmalife:food/pineapple', name: 'pineapple' }, - { input: 'firmalife:plant/nightshade_bush', fluid_amount: 6000, output: '3x firmalife:food/nightshade_berry', name: 'nightshade' }, + { input: 'firmalife:plant/nightshade_bush', fluid_amount: 6000, output: '3x firmalife:food/nightshade_berry', name: 'nightshade' } ]; global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [ diff --git a/kubejs/startup_scripts/framedblocks/constants.js b/kubejs/startup_scripts/framedblocks/constants.js index 539d11f8a..c45e47f52 100644 --- a/kubejs/startup_scripts/framedblocks/constants.js +++ b/kubejs/startup_scripts/framedblocks/constants.js @@ -1,10 +1,10 @@ -// priority: 0 +// priority: -100 "use strict"; global.FRAMEDBLOCKS_DISABLED_ITEMS = [ "framedblocks:framed_soul_torch", "framedblocks:framed_torch", - "framedblocks:framed_obsidian_pressure_plate", + "framedblocks:framed_obsidian_pressure_plate" ]; /** @satisfies {Special.Item[]} */ @@ -44,7 +44,7 @@ global.FRAMED_HALF_BLOCKS = /** @type {const} */ ([ "framedblocks:framed_centered_slab", "framedblocks:framed_centered_panel", "framedblocks:framed_checkered_slab", - "framedblocks:framed_checkered_panel", + "framedblocks:framed_checkered_panel" ]); /** @satisfies {Special.Item[]} */ @@ -68,5 +68,5 @@ global.FRAMED_TINY_BLOCKS = /** @type {const} */ ([ "framedblocks:framed_small_corner_slope_panel", "framedblocks:framed_small_inner_corner_slope_panel", "framedblocks:framed_small_double_corner_slope_panel", - "framedblocks:framed_mini_cube", + "framedblocks:framed_mini_cube" ]); diff --git a/kubejs/startup_scripts/ftb_quests/constants.js b/kubejs/startup_scripts/ftb_quests/constants.js index 1c89e5871..d7eb41a35 100644 --- a/kubejs/startup_scripts/ftb_quests/constants.js +++ b/kubejs/startup_scripts/ftb_quests/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; /** diff --git a/kubejs/startup_scripts/grapplemod/constants.js b/kubejs/startup_scripts/grapplemod/constants.js index 49cb155c8..c51596e47 100644 --- a/kubejs/startup_scripts/grapplemod/constants.js +++ b/kubejs/startup_scripts/grapplemod/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.GRAPPLEMOD_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index 29c2613e4..395ae8812 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ @@ -145,14 +145,14 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:shadow_steel_rod", "gtceu:shadow_steel_screw", "gtceu:long_shadow_steel_rod", - "gtceu:shadow_steel_block", + "gtceu:shadow_steel_block" ]); global.GREATE_DISABLED_FLUIDS = /** @type {const} */ ([ "gtceu:andesite_alloy", "gtceu:refined_radiance", "gtceu:chromatic_compound", - "gtceu:shadow_steel", + "gtceu:shadow_steel" ]); global.GREATE_DISABLED_TAGS = /** @type {const} */ ([ @@ -167,7 +167,7 @@ global.GREATE_DISABLED_TAGS = /** @type {const} */ ([ "#forge:alloys/rhodium_plated_palladium", "#forge:alloys/naquadah_alloy", "#forge:alloys/darmstadtium", - "#forge:alloys/neutronium", + "#forge:alloys/neutronium" ]); global.GREATE_BELTS = /** @type {const} */ ([ @@ -175,7 +175,7 @@ global.GREATE_BELTS = /** @type {const} */ ([ "greate:polybenzimidazole_belt_connector", "greate:polyethylene_belt_connector", "greate:polytetrafluoroethylene_belt_connector", - "greate:rubber_belt_connector", + "greate:rubber_belt_connector" ]); global.GREATE_CRUSHING_WHEELS = /** @type {const} */ ([ @@ -188,7 +188,7 @@ global.GREATE_CRUSHING_WHEELS = /** @type {const} */ ([ "greate:rhodium_plated_palladium_crushing_wheel", "greate:naquadah_alloy_crushing_wheel", "greate:darmstadtium_crushing_wheel", - "greate:neutronium_crushing_wheel", + "greate:neutronium_crushing_wheel" ]); global.GREATE_ENCASED_FANS = /** @type {const} */ ([ @@ -201,7 +201,7 @@ global.GREATE_ENCASED_FANS = /** @type {const} */ ([ "greate:rhodium_plated_palladium_encased_fan", "greate:naquadah_alloy_encased_fan", "greate:darmstadtium_encased_fan", - "greate:neutronium_encased_fan", + "greate:neutronium_encased_fan" ]); global.GREATE_MECHANICAL_MIXERS = /** @type {const} */ ([ @@ -214,7 +214,7 @@ global.GREATE_MECHANICAL_MIXERS = /** @type {const} */ ([ "greate:rhodium_plated_palladium_mechanical_mixer", "greate:naquadah_alloy_mechanical_mixer", "greate:darmstadtium_mechanical_mixer", - "greate:neutronium_mechanical_mixer", + "greate:neutronium_mechanical_mixer" ]); global.GREATE_MECHANICAL_PRESSES = /** @type {const} */ ([ @@ -227,7 +227,7 @@ global.GREATE_MECHANICAL_PRESSES = /** @type {const} */ ([ "greate:rhodium_plated_palladium_mechanical_press", "greate:naquadah_alloy_mechanical_press", "greate:darmstadtium_mechanical_press", - "greate:neutronium_mechanical_press", + "greate:neutronium_mechanical_press" ]); global.GREATE_MECHANICAL_PUMPS = /** @type {const} */ ([ @@ -240,7 +240,7 @@ global.GREATE_MECHANICAL_PUMPS = /** @type {const} */ ([ "greate:rhodium_plated_palladium_mechanical_pump", "greate:naquadah_alloy_mechanical_pump", "greate:darmstadtium_mechanical_pump", - "greate:neutronium_mechanical_pump", + "greate:neutronium_mechanical_pump" ]); global.GREATE_MECHANICAL_SAWS = /** @type {const} */ ([ @@ -253,7 +253,7 @@ global.GREATE_MECHANICAL_SAWS = /** @type {const} */ ([ "greate:rhodium_plated_palladium_mechanical_saw", "greate:naquadah_alloy_mechanical_saw", "greate:darmstadtium_mechanical_saw", - "greate:neutronium_mechanical_saw", + "greate:neutronium_mechanical_saw" ]); global.GREATE_MILLSTONES = /** @type {const} */ ([ @@ -266,5 +266,5 @@ global.GREATE_MILLSTONES = /** @type {const} */ ([ "greate:rhodium_plated_palladium_millstone", "greate:naquadah_alloy_millstone", "greate:darmstadtium_millstone", - "greate:neutronium_millstone", + "greate:neutronium_millstone" ]); diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index b3806f41b..40de05b4a 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; //#region Disabled Items diff --git a/kubejs/startup_scripts/horornot/constants.js b/kubejs/startup_scripts/horornot/constants.js index 1e7e4f093..10623336c 100644 --- a/kubejs/startup_scripts/horornot/constants.js +++ b/kubejs/startup_scripts/horornot/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.HOT_OR_NOT_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 79399185f..b651df6fb 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: 100 "use strict"; StartupEvents.registry('item', event => { @@ -70,10 +70,6 @@ GTCEuStartupEvents.craftingComponents(event => { registerTFGCraftingComponents(event) }) -StartupEvents.modifyCreativeTab(global.TAB_IDS.CREATE_BASE, event => { - modifyCreateCreativeTab(event) -}) - Platform.mods.primitive_creatures.name = "Primitive Creatures"; Platform.mods.tfg.name = "TerraFirmaGreg"; Platform.mods.kubejs.name = "TerraFirmaGreg"; diff --git a/kubejs/startup_scripts/mega_cells/constants.js b/kubejs/startup_scripts/mega_cells/constants.js index b6092623f..dc245ba27 100644 --- a/kubejs/startup_scripts/mega_cells/constants.js +++ b/kubejs/startup_scripts/mega_cells/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.MEGA_CELLS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 27dd03aa4..658c290f9 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; /** diff --git a/kubejs/startup_scripts/modern_markings/constants.js b/kubejs/startup_scripts/modern_markings/constants.js index 8e8fdddb9..d9f193d84 100644 --- a/kubejs/startup_scripts/modern_markings/constants.js +++ b/kubejs/startup_scripts/modern_markings/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.MODERN_MARKINGS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/more_red/constants.js b/kubejs/startup_scripts/more_red/constants.js index 1d68174d0..a1dc897b1 100644 --- a/kubejs/startup_scripts/more_red/constants.js +++ b/kubejs/startup_scripts/more_red/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.MORE_RED_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/railways/constants.js b/kubejs/startup_scripts/railways/constants.js index a9b82a08d..071c8bf6b 100644 --- a/kubejs/startup_scripts/railways/constants.js +++ b/kubejs/startup_scripts/railways/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.RAIL_WAYS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/rnr/constants.js b/kubejs/startup_scripts/rnr/constants.js index d08795ff6..8fc4106bc 100644 --- a/kubejs/startup_scripts/rnr/constants.js +++ b/kubejs/startup_scripts/rnr/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.RNR_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/sacksnsuch/constants.js b/kubejs/startup_scripts/sacksnsuch/constants.js index 082ed5400..ee8509179 100644 --- a/kubejs/startup_scripts/sacksnsuch/constants.js +++ b/kubejs/startup_scripts/sacksnsuch/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; diff --git a/kubejs/startup_scripts/sophisticated_backpacks/constants.js b/kubejs/startup_scripts/sophisticated_backpacks/constants.js index e2cc7bc7f..209de7700 100644 --- a/kubejs/startup_scripts/sophisticated_backpacks/constants.js +++ b/kubejs/startup_scripts/sophisticated_backpacks/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS = [ diff --git a/kubejs/startup_scripts/soulbind/constants.js b/kubejs/startup_scripts/soulbind/constants.js index b332e784c..222773199 100644 --- a/kubejs/startup_scripts/soulbind/constants.js +++ b/kubejs/startup_scripts/soulbind/constants.js @@ -1,3 +1,6 @@ +// priority: -100 +"use strict"; + global.SOULBINDABLE_ITEMS = [ { equipment: 'ad_astra:space_helmet', item: 'endermanoverhaul:soul_pearl' }, { equipment: 'ad_astra:space_suit', item: 'endermanoverhaul:soul_pearl' }, @@ -7,5 +10,5 @@ global.SOULBINDABLE_ITEMS = [ { equipment: 'ad_astra:netherite_space_helmet', item: 'sandworm_mod:sandworm_tooth' }, { equipment: 'ad_astra:netherite_space_suit', item: 'sandworm_mod:sandworm_tooth' }, { equipment: 'ad_astra:netherite_space_pants', item: 'sandworm_mod:sandworm_tooth' }, - { equipment: 'ad_astra:netherite_space_boots', item: 'sandworm_mod:sandworm_tooth' }, + { equipment: 'ad_astra:netherite_space_boots', item: 'sandworm_mod:sandworm_tooth' } ] \ No newline at end of file diff --git a/kubejs/startup_scripts/species/constants.js b/kubejs/startup_scripts/species/constants.js index 881a885ca..b3cd81106 100644 --- a/kubejs/startup_scripts/species/constants.js +++ b/kubejs/startup_scripts/species/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.SPECIES_DISABLED_BLOCKS = [ diff --git a/kubejs/startup_scripts/tacz/constants.js b/kubejs/startup_scripts/tacz/constants.js index ae2892684..1f404d387 100644 --- a/kubejs/startup_scripts/tacz/constants.js +++ b/kubejs/startup_scripts/tacz/constants.js @@ -1,6 +1,6 @@ +// priority: -100 "use strict"; - global.TACZ_GUNS_INDEX = [ //TACZ //Pistol diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index ddb133edf..b9ac3f4c6 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; /** diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 01e7e1586..a57d0665f 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -1,3 +1,4 @@ +// priority: -100 "use strict"; /** diff --git a/kubejs/startup_scripts/vintage_improvements/constants.js b/kubejs/startup_scripts/vintage_improvements/constants.js index 54208ebc8..1f3860d24 100644 --- a/kubejs/startup_scripts/vintage_improvements/constants.js +++ b/kubejs/startup_scripts/vintage_improvements/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER = 4; @@ -92,7 +92,7 @@ global.VINTAGE_IMPROVEMENTS_DISABLED_ITEMS = [ global.VINTAGE_IMPROVEMENTS_DISABLED_BLOCKS = [ - 'vintageimprovements:sulfur_block', + 'vintageimprovements:sulfur_block' ] diff --git a/kubejs/startup_scripts/wan_ancient_beasts/constants.js b/kubejs/startup_scripts/wan_ancient_beasts/constants.js index cd4186842..6e5c22a5a 100644 --- a/kubejs/startup_scripts/wan_ancient_beasts/constants.js +++ b/kubejs/startup_scripts/wan_ancient_beasts/constants.js @@ -1,4 +1,4 @@ -// priority: 0 +// priority: -100 "use strict"; global.WAB_DISABLED_BLOCKS =[ From 1f6f8a857080d748922cc36566230871246f237b Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Tue, 9 Dec 2025 18:52:06 +0800 Subject: [PATCH 265/628] Add Screwdriver to the drums' patchouli page (#2356) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: update mis translations in zh_ch, change Location to 位置 * feat: add Screwdriver to the drums page. --------- Co-authored-by: 闫茂源 --- .../en_us/entries/tfg_tips/inventory_management.json | 2 +- .../zh_cn/entries/tfg_tips/inventory_management.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/inventory_management.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/inventory_management.json index 4b941cba3..297383796 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/inventory_management.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/inventory_management.json @@ -29,7 +29,7 @@ "type": "patchouli:text", "title": "Drums", "anchor": "drums", - "text": "For storing fluids, GregTech has $(item)Drums$(). These can hold a large amount of a single fluid type, and different tiers hold more, just like with crates.$(br2)Unlike crates, drums will retain their fluid when broken, making them ideal for moving fluids around.$(br2)Drums can automatically push their fluid out of their bottom face by right-clicking them with a $(thing)Soft Mallet$()." + "text": "For storing fluids, GregTech has $(item)Drums$(). These can hold a large amount of a single fluid type, and different tiers hold more, just like with crates.$(br2)Unlike crates, drums will retain their fluid when broken, making them ideal for moving fluids around.$(br2)Drums can automatically push their fluid out of their bottom face by right-clicking them with a $(thing)Soft Mallet$() or $(thing)Screwdriver$()." }, { "type": "patchouli:crafting", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json index 45bee264f..128fe04f9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/inventory_management.json @@ -29,7 +29,7 @@ "type": "patchouli:text", "title": "桶", "anchor": "drums", - "text": "在流体存储方面,格雷科技提供了$(item)桶$()。与板条箱类似,不同等级的桶可容纳单一流体的容量逐级提升。$(br2)与板条箱不同的是,桶被破坏时将保留内部流体,非常适合转移流体物资。$(br2)使用$(thing)软木槌$()右键点击桶可使其自动从底部面输出流体。" + "text": "在流体存储方面,格雷科技提供了$(item)桶$()。与板条箱类似,不同等级的桶可容纳单一流体的容量逐级提升。$(br2)与板条箱不同的是,桶被破坏时将保留内部流体,非常适合转移流体物资。$(br2)使用$(thing)软木槌$()或$(thing)螺丝刀$()右键点击桶可使其自动从底部面输出流体。" }, { "type": "patchouli:crafting", From 904c9389fc79dd5dcab108055aa563a1bfae47b2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 11:35:16 +0000 Subject: [PATCH 266/628] langs --- kubejs/assets/create/lang/zh_cn.json | 2 + kubejs/assets/gtceu/lang/en_us.json | 2 +- kubejs/assets/gtceu/lang/zh_cn.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 61 ++++++++++++++++++++++++---- 4 files changed, 56 insertions(+), 11 deletions(-) diff --git a/kubejs/assets/create/lang/zh_cn.json b/kubejs/assets/create/lang/zh_cn.json index 92ca8c573..20c4259ec 100644 --- a/kubejs/assets/create/lang/zh_cn.json +++ b/kubejs/assets/create/lang/zh_cn.json @@ -1,6 +1,8 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "蓝钢背罐", + "block.create.shadow_casing": "黑钢机壳", + "block.create.refined_radiance_casing": "荧光机壳", "block.create.industrial_iron_block": "工业钢块", "block.create.weathered_iron_block": "风化钢块", "block.create.industrial_iron_window": "工业钢窗户", diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 7f13e1f42..2a15a5ce6 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -208,7 +208,7 @@ "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice Deposit", "gtceu.recipe.category.ingot_molding": "Material Molding", "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", - "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower,§r\n§8Moon and Ostrum Harvesters:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower, Moon and Ostrum Harvesters:§r", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 67e43084e..077cda2f2 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -208,7 +208,7 @@ "gtceu.jei.bedrock_fluid.liquid_ice": "火星冰矿藏", "gtceu.recipe.category.ingot_molding": "压模", "block.gtceu.wire_coil.tooltip_pyro": "§8热解炉与核燃料工厂:§r", - "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,煤炭液化塔,§r\n§8月壤和紫金采集器:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,煤炭液化塔,月壤和紫金采集器:§r", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", "tagprefix.shovel_head": "%s铲头", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 2e2b1be15..bff72f71c 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -495,7 +495,7 @@ "block.tfg.zpm_gas_pressurizer": "§c精英气体加压器 III§r", "block.tfg.uv_gas_pressurizer": "§3终极气体加压器§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "半重氨水", - "block.tfg.fluid.sulfur_fumes": "硫磺烟气", + "block.tfg.fluid.sulfur_fumes": "浓硫酸烟雾", "block.tfg.fluid.geyser_slurry": "超高温浆液", "block.tfg.grass.mars_dirt": "火星土壤", "block.tfg.grass.mars_clay_dirt": "火星黏土质土壤", @@ -669,7 +669,7 @@ "block.tfg.impure_moderate_core_frame": "不纯慢化堆芯框架", "fluid.tfg.heavy_ammoniacal_water": "重氨水", "fluid.tfg.semiheavy_ammoniacal_water": "半重氨水", - "fluid.tfg.sulfur_fumes": "硫磺烟气", + "fluid.tfg.sulfur_fumes": "浓硫酸烟雾", "fluid.tfg.geyser_slurry": "超高温浆液", "fluid.tfg.cryogenized_fluix": "低温福鲁伊克斯", "quests.naming-1": "t - Title", @@ -999,7 +999,7 @@ "item.tfg.marker.mercury_orbit": "水星轨道", "item.tfg.marker.glacio_orbit": "木卫二轨道", "item.tfg.railgun_ammo_shell": "轨道炮弹壳", - "item.tfg.sulfur_fumes_bucket": "硫磺烟气桶", + "item.tfg.sulfur_fumes_bucket": "浓硫酸烟雾桶", "item.tfg.geyser_slurry_bucket": "超高温浆液桶", "item.tfg.cryogenized_fluix_bucket": "低温福鲁伊克斯桶", "item.tfg.fluix_bucket": "液态福鲁伊克斯桶", @@ -4028,13 +4028,15 @@ "quests.tfg.subtitle": "欢迎来到群峦传说格雷科技!", "quests.tfg.welcome.title": "欢迎来到群峦传说格雷科技!", "quests.tfg.welcome.subtitle": "生存模组,本该如此。", - "quests.tfg.welcome.desc": "感谢你启动群峦传说格雷科技现代版!\n\n在此模组包中,你将担负起控制未开发荒野并将其转变为工业奇境的任务。从卑微的起点捡起石头开始,到穿越星际空间结束!", + "quests.tfg.welcome.desc": "感谢你启动群峦传说格雷科技现代版!\n\n在此模组包中,你将担负起控制未开发荒野并将其转变为工业奇境的任务。从一个卑微的起点捡起石头开始,到穿越星际空间结束!", "quests.tfg.create_team.title": "如何创建队伍?", "quests.tfg.create_team.subtitle": "你和朋友一起玩吗?", "quests.tfg.create_team.desc": "你可以创建队伍以共同完成任务。为此,打开你的物品栏,在左上角选择画有3个彩色人物的按钮,然后将打开一个界面,你可以在其中创建队伍。点击§a创建队伍§r按钮,给队伍起个名字,然后可能还需要一些其他的参数。成功创建队伍后,你可以使用右上角绿色圆圈中的加号按钮邀请其他玩家加入。从此以后,你们的任务将同步,任何队员都能完成任务。祝你好运!", "quests.tfg.capture_territory.title": "如何占领领土?", "quests.tfg.capture_territory.subtitle": "以及如何加载你领土中的区块", - "quests.tfg.capture_territory.desc": "如果你在服务器上游戏,可能想占领你的领土以防其他玩家干扰。使用打开领地键(默认为“Ctrl+M”)打开窗口,然后左键点击以占领区块,右键点击以取消占领。这有限制,因此你不能占领一切。你可以shift+左键点击区块以强制加载(又名“区块加载”)它,以及shift+右键点击以取消强制加载。如果使用队伍,占领区块将包括你的整个队伍。", + "quests.tfg.capture_territory.desc": "如果你在服务器上游戏,可能想占领你的领土以防其他玩家干扰。使用打开领地键(默认为“Ctrl+M”)打开窗口,然后左键点击以占领区块,右键点击以取消占领。\n\n这有限制,因此你不能占领一切。你可以shift+左键点击区块以强制加载(又名“区块加载”)它,以及shift+右键点击以取消强制加载。如果使用队伍,占领区块将包括你的整个队伍。", + "quests.tfg.chunk_limit.title": "如何提升我的强加载区块上限?", + "quests.tfg.chunk_limit.desc": "如果你在服务器上游戏,默认情况下你只有少量的区块可以被强制加载。\n\n服务器管理员可以自定义这个数量(请查看README.txt文件!)。但如果你拥有管理员权限(或启用作弊模式),你也可以使用命令 &a/ftbchunks admin extra_force_load_chunks @p set X&r 来设置,其中 X 代表新的上限数值。", "quests.tfg.field_guide.title": "关于任务的重要信息!", "quests.tfg.field_guide.subtitle": "我还需要读更多吗?", "quests.tfg.field_guide.desc": "任务仍在开发中,我们一直在努力改进它们!许多关于具体机制的信息也在你的野外指南中,可通过物品栏的书页标签访问。\n\n记住,JEI和野外指南都是你的朋友,因为并非所有内容都会通过任务解释。", @@ -4112,15 +4114,52 @@ "quests.tfg_tips.gt.title": "格雷科技", "quests.tfg_tips.gt.subtitle": "毕竟占了整合包三分之一的名字", "quests.tfg_tips.gt.desc": "&3格雷科技&r令人望而生畏,此分支任务将提供帮助。", + "quests.tfg_tips.gt_power_tools.title": "电动工具", + "quests.tfg_tips.gt_power_tools.subtitle": "男人的梦想", + "quests.tfg_tips.gt_power_tools.desc.1": "和所有优秀的科技模组一样,&5格雷科技&r提供了多种多样的&6工具&r供你使用。要操作它们,你需要&a为其充能&r——有几种方法可以做到:将工具放入&6电池箱&r、机器的&d能量槽&r,或者更好的选择是使用&e闪聚充电箱&r。\n\n请记住:你只能使用&7同级&r或&a更高等级&r的电源为物品充电。&c低等级的电源&r无法为高等级工具充电——不过别担心,&c应该不会有什么东西爆炸&r。大概吧。", + "quests.tfg_tips.gt_power_tools.desc.2": "大多数&5格雷科技&r工具都是由&6工具头&r加工而成。尝试使用&aEMI&r来探索你能用它们做什么——只需记住两件重要的事:\n\n- &e工具头的等级越高&r,制成的工具就越&c强力&r,并且使用的&6电池也越大&r。\n- 并非所有工具都支持每一个等级的工具头。例如,&6链锯&r只能使用&7LV等级的工具头&r来制作。", "quests.tfg_tips.nano_saber.title": "纳米剑", "quests.tfg_tips.nano_saber.subtitle": "激活时26点攻击伤害!", "quests.tfg_tips.nano_saber.desc": "&6纳米剑&r是&5EV&r阶段后期的强力武器。&dShift+右击&r激活&c嗡嗡模式&r。", - "quests.tfg_tips.gt_tools.title": "格雷科技工具", - "quests.tfg_tips.gt_tools.subtitle": "", - "quests.tfg_tips.gt_tools.desc": "多数&5格雷科技&r工具由&6工具头&r打造。用&aEMI&r查看配方——记住两点:\n\n-&e工具头等级越高&r,工具越&c强力&r,所需&6电池越大&r\n-非所有工具支持所有工具头等级。如&6链锯&r仅能用&7LV工具头&r制作", "quests.tfg_tips.magnets.title": "物品磁铁", - "quests.tfg_tips.magnets.subtitle": "", + "quests.tfg_tips.magnets.subtitle": "2010年来电话了,它想要回它的磁铁梗。", "quests.tfg_tips.magnets.desc": "&6物品磁铁&r如名所示,将附近&6物品&r吸向你。&a非常实用&r,夫复何求?", + "quests.tfg_tips.long_distance_items.title": "长距离物品管道", + "quests.tfg_tips.long_distance_items.subtitle": "想知道如何远距离运输矿石?", + "quests.tfg_tips.long_distance_items.desc": "&3长距离物品管道&r可用于远距离输送物品。在两端各放置一个端点,并用管道方块连接即可。\n\n这些管道能实现输入端到输出端的瞬时传输。\n\n管道端点间需保持最小间距,因此不适用于短程输送。", + "quests.tfg_tips.long_distance_fluids.title": "长距离流体管道", + "quests.tfg_tips.long_distance_fluids.subtitle": "想知道如何远距离运输石油?", + "quests.tfg_tips.long_distance_fluids.desc": "&3长距离流体管道&r可用于远距离输送流体。在两端各放置一个端点,并用管道方块连接即可。\n\n这些管道能实现输入端到输出端的瞬时传输。\n\n管道端点间需保持最小间距,因此不适用于短程流体输送。\n\n这些管道素以设置过程&4故障频发&r而闻名。如果它们初次使用时不能正常工作,请尝试用&e扳手&r旋转端点调整朝向。", + "quests.tfg_tips.crates.title": "格雷科技存储", + "quests.tfg_tips.crates.subtitle": "游戏早期的缓冲存储", + "quests.tfg_tips.crates.desc": "理论上,板条箱是箱子的全面升级版。一个方块空间能存储更多物品——你还能要求什么呢?\n\n它们比普通箱子更昂贵,且无法连接到机械动力装置上,但可以容纳任意大小的物品,并且能&6安装覆盖板&r,这使其成为自动化系统中缓冲存储的完美选择。", + "quests.tfg_tips.tape.title": "板条箱胶带", + "quests.tfg_tips.tape.subtitle": "搬运物资", + "quests.tfg_tips.tape.desc": "你可以对板条箱右键使用胶带,使其在被破坏时保留内部物品,便于搬运。不过,每卷胶带只能生效一次。\n\n好在它很便宜!", + "quests.tfg_tips.terminal.subtitle": "多方块自动建造器", + "quests.tfg_tips.terminal.desc": "&b终端&r有一个主要用途,并且&a我们强烈建议你制作一个&r。\n\n建造所有这些&e多方块结构&r可能有点&c令人望而生畏&r,对吧?好吧,这里有个技巧:在任意&6多方块结构控制器&r上使用&dShift + 右键点击&r,即可&a自动组装整个结构&r!\n\n你可能需要&e移动一些总线或舱口&r以适应你的布局,但总体来说,这个功能将为你节省&a大量时间&r。", + "quests.tfg_tips.memory_card.subtitle": "复制和粘贴", + "quests.tfg_tips.memory_card.desc": "当你尝试&a并行化你的生产线&r、铺设更多机器时,为每一台都设置所有的&e输入&r和&e输出&r可能会很麻烦。是的,我们说的就是你,&d超级箱&r和&d超级缸&r。\n\n如果你发现自己需要这个小工具,别犹豫,直接用吧。", + "quests.tfg_tips.portable_scanner.subtitle": "献给最好奇的格雷科技玩家", + "quests.tfg_tips.portable_scanner.desc.1": "&a便携式扫描仪&r(或称 &a三录仪&r),是GTCEu的调试工具。\n\n使用它可以查看方块的详细信息、能量网络的细节、当前状态与内容物,以及它对性能的影响。\n\n它还会为&3流体钻机&r显示流体矿脉的剩余百分比。", + "quests.tfg_tips.portable_scanner.desc.2": "&l&3背景知识:&r&o这个实用的小设备来自格雷科技5。在早期它极其有用,因为那时的GUI或WAILA提供的信息非常少(基本上什么都没有)。", + "quests.tfg_tips.duct_tape.subtitle": "如果一卷修不好,那就再来一卷!", + "quests.tfg_tips.duct_tape.desc": "你可能已经意识到,大多数&e多方块结构&r都需要一个&6维护仓&r。在达到可以制作&a自动维护仓&r的&6HV&r阶段之前,你可以使用这个物品来修复,而无需动用你所有的维护工具。\n\n如果你还不想投资&a自动维护仓&r,或者你根本&c还没到那个阶段&r,它会非常有用。", + "quests.tfg_tips.gt_filters.title": "过滤卡", + "quests.tfg_tips.gt_filters.desc": "使用&5格雷科技&r,你可以获得多种&6过滤卡&r,它们能帮助你轻松实现&a自动化&r。所有这些过滤卡都与不同的&d覆盖板&r兼容,你将在&7LV&r章节了解更多相关内容。\n\n在这里,我们将介绍两种在特定情况下你可能会觉得&b方便&r的、更具体的过滤卡。\n\n要使用过滤卡,只需将其作为&d覆盖板&r应用到任何&5格雷机器&r或&6管道&r上。", + "quests.tfg_tips.smart_item_filter.subtitle": "敲门,谁呀?是高智商俱乐部!", + "quests.tfg_tips.smart_item_filter.desc.1": "在这个任务中,我们将赐予你&5“受诅咒的智慧”&r……轻松自动化电解机的能力。\n\n&9智能物品过滤卡&r是一种能识别配方图谱的过滤卡。当将其放置于机器侧面时,你可以将其设置为“&3电解机&r”,以专门允许可电解物品的输入。你没听错——无需手动过滤!\n\n哦,而且它只会变得&a更好&r。如果你把这个好家伙和&a机械臂&r组合使用,它将只会为机器供应成功执行配方所需的&6精确数量&r的物品。", + "quests.tfg_tips.smart_item_filter.desc.2": "将&a机械臂&r放在你的电解机上,打开其GUI,然后将&9智能过滤卡&r放入其中。确保智能过滤卡已设置为电解机。\n\n接下来,将其配置为&d&l输入&r和&d&l精确供应&r。最后,在任何你放置了&a机械臂&r的侧面连接一个物品栏&7(箱子就行)&r。嗒-哒!你已经搞明白如何处理&6所有&r电解机配方了!\n\n那&3电解机&r的产出物呢?你可能想把流体导向几个储罐——如果你已经玩到那一步了,甚至是&3超级缸&r。我们强烈建议你避免任何涉及流体销毁的方法。&7.&8. 除了水,原因显而易见。", + "quests.tfg_tips.smart_item_filter.desc.3": "&9注意:&r 机械臂必须参与物品传输,其过滤功能才能生效!直接向机器输入物品&7(例如,用漏斗推送!)&r 会忽略机械臂的&d精确供应&r设置。", + "quests.tfg_tips.hazard_materials.title": "危险材料", + "quests.tfg_tips.hazard_materials.subtitle": "窒息危险,3岁以上适用", + "quests.tfg_tips.hazard_materials.desc": "随着新版本的&5格雷科技&r,一个&c危险系统&r被引入。将鼠标悬停在&c危险材料&r上时按住&dShift&r键,你可以看到它们可能对你造成的影响。\n\n我们强烈建议使用合适的&6防护装备&r来保持你的&c器官完好无损&r。", + "quests.tfg_tips.face_mask.desc": "&6口罩&r将保护你免受&c吸入危险粉尘&r的伤害。它&a相当容易制作&r,应该能防止你在处理&5砷&r时出现问题。", + "quests.tfg_tips.rubber_gloves.desc": "&6橡胶手套&r显然能保护你免受&c皮肤接触危害&r。你有两种制作方法:一种是通过&2群峦传说&r的&7较长且较复杂的途径&r,另一种是使用&6高压蒸汽合金炉&r的&a简单得多&r的方法。", + "quests.tfg_tips.hazmat.title": "危险材料防护服", + "quests.tfg_tips.hazmat.desc": "&6危险材料防护服&r是保护自己免受&c任何伤害&r的最佳方式。一旦你达到&bMV&r阶段就能制作它,并且&a你绝对应该花时间去做一套&r。", + "quests.tfg_tips.armor.title": "格雷科技护甲", + "quests.tfg_tips.armor.desc": "&5格雷科技&r带来了它自己的护甲系列。当然,穿着&7金属板&r很酷,但既然你现在是个&b工业狂人&r,也许是时候看看一些&a科技护甲&r了。\n\n&5格雷科技&r提供了两种型号。第一种大约在&6HV&r阶段可用,提供比你之前穿过的任何护甲都更好的保护。它配备了&e强大的绝缘层&r以抵御地球的恶劣气候,甚至还可以升级&d喷气背包&r。\n\n第二种型号要到很久以后——大约&1IV&r和&dLuV&r阶段——才会可用。这一款能让你使用&3氧气&r在太空中&9呼吸&r。", "quests.tfg_tips.terrafirmacraft.title": "群峦传说附加", "quests.tfg_tips.terrafirmacraft.subtitle": "整合包名字的另外三分之二", "quests.tfg_tips.terrafirmacraft.desc": "&3群峦传说&r是&2TerraFirmaGreg&r的核心模组。此分支聚焦生存特性与&d附加&r内容,如&4陈年佳酿&r和&b手杖&r。", @@ -4132,6 +4171,10 @@ "quests.tfg_tips.hiking.subtitle": "&o专业步行设备", "quests.tfg_tips.hiking.desc": "&d登山靴&r能让你更轻松地探索世界!所有&d登山靴&r都可使你畅通无阻地穿过高草丛。此外,每一等级的&d登山靴&r都会逐步提供更高的&9护甲值&r、&9移动速度&r与&9坠落抗性&r,以及其他属性提升。", "quests.tfg_tips.hiking.task": "任意登山靴", + "quests.tfg_tips.feeding_troughs.title": "喂食槽", + "quests.tfg_tips.feeding_troughs.subtitle": "金属牧场助手", + "quests.tfg_tips.feeding_troughs.desc": "喂食槽(亦称驯养站)能让你在每天早晨自动喂养动物。它甚至还有一个选项,可以避免喂养那些熟悉度已满的动物,以防你不想让它们繁殖。\n\n更高等级的喂养槽拥有更大的有效范围。\n\n&3&l提示:&r&o 你最好不要把它直接放在围栏旁边,否则动物们可能会试图利用它逃出围栏!", + "quests.tfg_tips.feeding_troughs.task": "任何喂食槽", "quests.tfg_tips.glassblowing.title": "玻璃吹制", "quests.tfg_tips.glassblowing.subtitle": "真实的玻璃工艺!", "quests.tfg_tips.glassblowing.desc": "制作任何类型的&d玻璃板&r或&d玻璃块&r,你都需要一套&3玻璃吹制&r设备。\n\n&3玻璃吹制&r需要一根&a吹管&r,以及一个用玻璃吹制方块搭建的平台来浇筑熔融玻璃。关于平台的具体形状和哪些方块符合要求,请查阅&2野外指南&r获取更多信息。当你能制作&a黄铜&r后即可解锁玻璃吹制工艺。", From 6cea8ec77bc4adbc1a207b28677aacd4402f5cb5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 11:48:20 +0000 Subject: [PATCH 267/628] fixed some line breaks in tooltips --- kubejs/assets/gtceu/lang/en_us.json | 7 +++++-- kubejs/assets/gtceu/lang/ja_jp.json | 9 +++++++-- kubejs/assets/gtceu/lang/uk_ua.json | 9 +++++++-- kubejs/assets/gtceu/lang/zh_cn.json | 7 +++++-- kubejs/client_scripts/tooltips.js | 3 +++ 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 2a15a5ce6..73820446d 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -55,7 +55,8 @@ "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", - "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.\nRequires drilling fluid to work.§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.§r", + "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.heat_exchanger_1": "§7Heating up Fluids with other hot Fluids§r", @@ -63,7 +64,9 @@ "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.\nFueling it with Coke or Anthracite will double the output.\nCan process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", + "gtceu.tooltip.machine.steam_bloomery_4": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Carbon Smoothie Maker§r", "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas fuels from carbonic solids and creosote§r", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index b9a7bb645..dee290026 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -52,7 +52,8 @@ "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", - "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.\nRequires drilling fluid to work.§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Harvests infinite Ostrum Dust when placed over an Ostrum deposit.§r", + "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.heat_exchanger_1": "§7Heating up Fluids with other hot Fluids§r", @@ -60,7 +61,11 @@ "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Producing extra spicy Rods§r", "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Processes raw radioactive material into fissile fuel.§r", "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.\nFueling it with Coke or Anthracite will double the output.\nCan process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", + "gtceu.tooltip.machine.steam_bloomery_4": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Carbon Smoothie Maker§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas fuels from carbonic solids and creosote§r", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", "item.gtceu.small_wood_dust": "小さな木のパルプ", "item.gtceu.wood_dust": "木のパルプ", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index a5feb29cb..3e408c14d 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -52,7 +52,8 @@ "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Позаземний пилосос§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Збирає нескінченну кількість реголітового пилу залежно від біома, в якому він розміщений.§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7Юридично відмінний пряний повзун§r", - "gtceu.tooltip.machine.ostrum_harvester_2": "§7Збирає нескінченну кількість острумового пилу, якщо розміщений над родовищем оструму. \nПотребує бурової рідини для роботи.§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Збирає нескінченну кількість острумового пилу, якщо розміщений над родовищем оструму.§r", + "gtceu.tooltip.machine.ostrum_harvester_3": "§7Потребує бурової рідини для роботи.§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хіггса не входить у комплект§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Розкладає острумовий пил на його компоненти. Потребує різні рідини з лінії поділу.§r", "gtceu.tooltip.machine.heat_exchanger_1": "§7Нагрівання рідин іншими гарячими рідинами§r", @@ -60,7 +61,11 @@ "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Виробляє додатково пікантні стрижні§r", "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Переробляє необроблений радіоактивний матеріал у подільне паливо.§r", "gtceu.tooltip.machine.steam_bloomery_1": "§7Покращуйте свою домницю силою пари!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє залізовмісний пил або злитки у сирі залізні криці. \nВикористання коксу чи антрациту як палива подвоїть вихід. \nМоже обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє залізовмісний пил або злитки у сирі залізні криці.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Використання коксу чи антрациту як палива подвоїть вихід.§r", + "gtceu.tooltip.machine.steam_bloomery_4": "§7Може обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Carbon Smoothie Maker§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas fuels from carbonic solids and creosote§r", "item.gtceu.tiny_wood_dust": "Маленька купа хвойної целюлози", "item.gtceu.small_wood_dust": "Мала купа хвойної целюлози", "item.gtceu.wood_dust": "Хвойна целюлоза", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 077cda2f2..856be360c 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -55,7 +55,8 @@ "gtceu.tooltip.machine.moon_dust_harvester_1": "§7地外真空吸尘器§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7根据所处生物群系无限采集风化土粉尘。§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7合法异星香料采集车§r", - "gtceu.tooltip.machine.ostrum_harvester_2": "§7置于紫金矿床上方可无限采集紫金粉。\n需消耗钻井液。§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7置于紫金矿床上方可无限采集紫金粉。§r", + "gtceu.tooltip.machine.ostrum_harvester_3": "§7需消耗钻井液。§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7不含希格斯玻色子§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7将紫金矿粉分解为组分原料。需配合裂变产线多种流体。§r", "gtceu.tooltip.machine.heat_exchanger_1": "§7用高温流体加热其他流体§r", @@ -63,7 +64,9 @@ "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7超劲爆燃料棒制造厂§r", "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7将原始放射性材料加工成裂变燃料§r", "gtceu.tooltip.machine.steam_bloomery_1": "§7用蒸汽动力升级你的锻铁炉!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。\n使用焦煤或无烟煤可倍增产量。\n支持最多8组配方并行处理,相应调整蒸汽需求。§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7使用焦煤或无烟煤可倍增产量。§r", + "gtceu.tooltip.machine.steam_bloomery_4": "§7支持最多8组配方并行处理,相应调整蒸汽需求。§r", "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7碳素奶昔制造机§r", "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7从碳质固体与杂酚油中提取气体燃料§r", "item.gtceu.tiny_wood_dust": "小撮软木浆", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index e33e5b69b..9c49c075c 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -62,6 +62,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(2, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_3')); text.add(3, Text.translate('tfg.tooltip.machine.two_energy_hatches')); }) event.addAdvanced(['gtceu:heat_exchanger'], (item, advanced, text) => { @@ -79,6 +80,8 @@ const registerTooltips = (event) => { event.addAdvanced(['gtceu:steam_bloomery'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.steam_bloomery_1')); text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_2')); + text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_3')); + text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_4')); }) event.addAdvanced(['gtceu:large_chemical_reactor'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')); From d45156ef30a024405a528a87f8d1a308b241419a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 11:48:55 +0000 Subject: [PATCH 268/628] adjusted spawn weights for primitive illagers --- .../biome_modifier/all_biome_modifier.json | 3 --- .../iloger_1_biome_modifier.json | 19 ++++++++++++++++++- .../iloger_2_biome_modifier.json | 19 ++++++++++++++++++- .../viloger_10_biome_modifier.json | 19 ++++++++++++++++++- 4 files changed, 54 insertions(+), 6 deletions(-) diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json index f8f2c00b6..6afd60ede 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json @@ -5,8 +5,6 @@ }, "entity_types": [ "primitive_creatures:beast", - "primitive_creatures:iloger_1", - "primitive_creatures:iloger_2", "primitive_creatures:iloger_3", "primitive_creatures:iloger_4", "primitive_creatures:iloger_5", @@ -14,7 +12,6 @@ "primitive_creatures:musselwarden", "primitive_creatures:piloger_9", "primitive_creatures:iloger_10", - "primitive_creatures:viloger_10", "primitive_creatures:wiloger" ] } \ No newline at end of file diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json index 2d96022cf..c4380d1a2 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json @@ -1,3 +1,20 @@ { - "type": "forge:none" + "type": "forge:add_spawns", + "biomes": [ + "tfc:highlands", + "tfc:hills", + "tfc:lowlands", + "tfc:plains", + "tfc:plateau", + "tfc:rolling_hills", + "tfc:salt_marsh", + "tfc:shore", + "tfc:tidal_flats" + ], + "spawners": { + "type": "primitive_creatures:iloger_1", + "weight": 1, + "minCount": 2, + "maxCount": 3 + } } \ No newline at end of file diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json index 2d96022cf..e416f61c2 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json @@ -1,3 +1,20 @@ { - "type": "forge:none" + "type": "forge:add_spawns", + "biomes": [ + "tfc:highlands", + "tfc:hills", + "tfc:lowlands", + "tfc:plains", + "tfc:plateau", + "tfc:rolling_hills", + "tfc:salt_marsh", + "tfc:shore", + "tfc:tidal_flats" + ], + "spawners": { + "type": "primitive_creatures:iloger_2", + "weight": 1, + "minCount": 2, + "maxCount": 3 + } } \ No newline at end of file diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json index 2d96022cf..b89e19b65 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json @@ -1,3 +1,20 @@ { - "type": "forge:none" + "type": "forge:add_spawns", + "biomes": [ + "tfc:badlands", + "tfc:canyons", + "tfc:inverted_badlands", + "tfc:low_canyons", + "tfc:mountains", + "tfc:oceanic_mountains", + "tfc:old_mountains", + "tfc:volcanic_mountains", + "tfc:volcanic_oceanic_mountains" + ], + "spawners": { + "type": "primitive_creatures:viloger_10", + "weight": 1, + "minCount": 2, + "maxCount": 3 + } } \ No newline at end of file From 445809cc875a24dd7274fa03e34b97c50979502b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 12:23:52 +0000 Subject: [PATCH 269/628] 0.11.10 --- CHANGELOG.md | 14 +++- kubejs/assets/gtceu/lang/en_us.json | 4 +- kubejs/assets/gtceu/lang/ja_jp.json | 4 +- kubejs/assets/gtceu/lang/ru_ru.json | 4 +- kubejs/assets/gtceu/lang/uk_ua.json | 4 +- kubejs/assets/gtceu/lang/zh_cn.json | 4 +- kubejs/assets/tfg/lang/en_us.json | 9 +++ .../tfg/europa/materials.europa.js | 1 - .../tfg/nuclear/materials.nuclear.js | 2 +- .../tfg/venus/materials.venus.js | 1 - pakku-lock.json | 64 +++++++++---------- 11 files changed, 65 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf0c11bf3..c2b3b8560 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,27 @@ # Changelog ## Unreleased +### Changes +### Bug fixes +### Translation updates + +## [0.11.10] - 9-12-2025 ### Breaking Changes - Butyraldehyde in a chemical reactor now uses circuit 5 instead of 1 to avoid a conflict with Methanol @Pyritie ### Other Changes - Added recipes for create's shadow and radiant casings (#2256) @Ujhik +- Some small quest and field guide additions and fixes (#2348, #2356) @Pyritie @jmecn +- Adjusted the spawn weights of primitive illagers @Pyritie ### Bug fixes -- Fixed missing recipes for many fluid and item pipes @Pyritie +- Fixed a crash on boot on some linux systems (#2347, #2355) @Redeix @mgsmyrk +- Fixed missing recipes for many fluid and item pipes (#2359) @Pyritie - Fixed missing cleanroom tags for the ad astra 3x3 doors, so now you can *actually* use them in a cleanroom @Pyritie - Fixed aged sake, vodka, and whiskey losing their buff effects @Pyritie - Fixed some inconsistencies with loose rocks into bricks (#2353) @Pyritie +- Fixed a tag issue with some purified ores and Create's crushed ore tag (#2339) @Pyritie +### Translation updates +- Chinese (simplified) @jmecn +- Japanese @sakura-gondra ## [0.11.9] - 7-12-2025 ### Breaking Changes diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 73820446d..3cb0b07be 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -140,8 +140,8 @@ "material.gtceu.armalcolite": "Armalcolite", "material.gtceu.desh": "Desh", "material.gtceu.ostrum": "Ostrum", - "material.gtceu.calorite": "Calorite", - "material.gtceu.etrium": "Etrium", + "material.tfg.calorite": "Calorite", + "material.tfg.etrium": "Etrium", "material.gtceu.tarkianite": "Tarkianite", "material.gtceu.aluminium_silicate": "Aluminium Silicate", "material.gtceu.rocket_alloy_t1": "R-Aluminosteel Rocket Alloy", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index dee290026..7cdfb7d50 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -137,8 +137,8 @@ "material.gtceu.armalcolite": "アーマルコライト", "material.gtceu.desh": "デッシュ", "material.gtceu.ostrum": "オストラム", - "material.gtceu.calorite": "カロライト", - "material.gtceu.etrium": "エトリウム", + "material.tfg.calorite": "カロライト", + "material.tfg.etrium": "エトリウム", "material.gtceu.aluminium_silicate": "ケイ酸アルミニウム", "material.gtceu.rocket_alloy_t1": "R-AS ロケット合金", "material.gtceu.rocket_alloy_t2": "ASM-4914 チタニウムロケット合金", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 5d0ce4987..4369a0fbc 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -119,8 +119,8 @@ "material.gtceu.armalcolite": "Армалколит", "material.gtceu.desh": "Деш", "material.gtceu.ostrum": "Ostrum", - "material.gtceu.calorite": "Калорит", - "material.gtceu.etrium": "Этриум", + "material.tfg.calorite": "Калорит", + "material.tfg.etrium": "Этриум", "material.gtceu.aluminium_silicate": "Aluminium Silicate", "material.gtceu.rocket_alloy_t1": "Красный алюминиево-стальной ракетный сплав", "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 3e408c14d..076d84661 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -127,8 +127,8 @@ "material.gtceu.armalcolite": "Армалколіт", "material.gtceu.desh": "Деш", "material.gtceu.ostrum": "Острум", - "material.gtceu.calorite": "Калорит", - "material.gtceu.etrium": "Етріум", + "material.tfg.calorite": "Калорит", + "material.tfg.etrium": "Етріум", "material.gtceu.aluminium_silicate": "Алюмосилікат", "material.gtceu.rocket_alloy_t1": "Алюміносталевий ракетний сплав R-класу", "material.gtceu.rocket_alloy_t2": "Ракетний титановий сплав ASM 4914", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 856be360c..ab5c5a070 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -140,8 +140,8 @@ "material.gtceu.armalcolite": "阿姆阿尔柯尔矿", "material.gtceu.desh": "戴斯", "material.gtceu.ostrum": "紫金", - "material.gtceu.calorite": "耐热金属", - "material.gtceu.etrium": "埃忒恩", + "material.tfg.calorite": "耐热金属", + "material.tfg.etrium": "埃忒恩", "material.gtceu.tarkianite": "塔基安矿", "material.gtceu.aluminium_silicate": "硅酸铝", "material.gtceu.rocket_alloy_t1": "R型铝钢火箭合金", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index a9e0a85c6..886bd5662 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -35,6 +35,15 @@ "biome.tfg.mars/sangnum_edge": "Sangnum Edge", "biome.tfg.mars/sangnum_plains": "Sangnum Prairie", "biome.tfg.mars/sangnum_hills": "Sangnum Moorland", + "biome.tfg.venus/arachnoids": "Venusian Arachnoids", + "biome.tfg.venus/fractured_pools": "Fractured Pools", + "biome.tfg.venus/fumaroles": "Gaseous Fumaroles", + "biome.tfg.venus/geysers": "Scalding Geysers", + "biome.tfg.venus/jagged_tablelands": "Jagged Tablelands", + "biome.tfg.venus/salt_flats": "Salt Flats", + "biome.tfg.venus/stromatolite_beach": "Stromatolite Beach", + "biome.tfg.venus/sulfuric_ravine": "Sulfuric Ravine", + "biome.tfg.venus/volcanic_mountains": "Scorching Volcanoes", "block.tfg.piglin_disguise": "Piglin Disguise", "block.tfg.piglin_disguise_block": "Piglin Disguise", "block.tfg.dry_ice": "Dry Ice", diff --git a/kubejs/startup_scripts/tfg/europa/materials.europa.js b/kubejs/startup_scripts/tfg/europa/materials.europa.js index a4fb06ddd..8db9c8a1e 100644 --- a/kubejs/startup_scripts/tfg/europa/materials.europa.js +++ b/kubejs/startup_scripts/tfg/europa/materials.europa.js @@ -7,7 +7,6 @@ function registerTFGEuropaMaterials(event) { .color(0x7BFCD7) .secondaryColor(0x3582D2) .iconSet(GTMaterialIconSet.getByName('tfc_silver')) - .ore() .ingot() .flags( GTMaterialFlags.FORCE_GENERATE_BLOCK, diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 5608f4ae6..5075a1e8e 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -30,7 +30,7 @@ const registerTFGNuclearMaterials = (event) => { .components('2x hydrogen', '1x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - event.create('critical_steam') + event.create('tfg:critical_steam') .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730)) .components('2x hydrogen', '1x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) diff --git a/kubejs/startup_scripts/tfg/venus/materials.venus.js b/kubejs/startup_scripts/tfg/venus/materials.venus.js index 124fa9c6e..e5a6e8f7e 100644 --- a/kubejs/startup_scripts/tfg/venus/materials.venus.js +++ b/kubejs/startup_scripts/tfg/venus/materials.venus.js @@ -9,7 +9,6 @@ function registerTFGVenusMaterials(event) { .color(0xC94D4E) .secondaryColor(0x9A296A) .iconSet(GTMaterialIconSet.getByName('tfc_copper')) - .ore() .ingot() .flags( GTMaterialFlags.FORCE_GENERATE_BLOCK, diff --git a/pakku-lock.json b/pakku-lock.json index 3e7e3db7f..580a6d6fe 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -9210,7 +9210,7 @@ "files": [ { "type": "modrinth", - "file_name": "modernfix-forge-5.25.1+mc1.20.1.jar", + "file_name": "modernfix-forge-5.25.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9218,20 +9218,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/PbIMs8a8/modernfix-forge-5.25.1+mc1.20.1.jar", - "id": "PbIMs8a8", + "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/scXW7F8Q/modernfix-forge-5.25.2+mc1.20.1.jar", + "id": "scXW7F8Q", "parent_id": "nmDcB62a", "hashes": { - "sha512": "16ed32ed2e9e153cd6adad6d5d32280f33ce79b5b9829576f26bab9c8f37e1c415a49c86d11839de9527ab1c5222e32946792b5819d9f6a76daffeea305a3848", - "sha1": "124ea5db8c3b7dc00166806ef0fc412177882fda" + "sha512": "016940bd76b36865f507c07fc7834ea7dc6f7a6c0016aebf6375ee05a9405f2730e07c555ab8ce920775fce3b5a29ff5b638b67f29c03458074650478d37242a", + "sha1": "4069534174e618393f0c14d9dc61ac27a04bb992" }, "required_dependencies": [], - "size": 895267, - "date_published": "2025-11-08T20:05:06.924760Z" + "size": 895444, + "date_published": "2025-12-08T02:42:23.149141Z" }, { "type": "curseforge", - "file_name": "modernfix-forge-5.25.1+mc1.20.1.jar", + "file_name": "modernfix-forge-5.25.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9239,16 +9239,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7200/213/modernfix-forge-5.25.1+mc1.20.1.jar", - "id": "7200213", + "url": "https://edge.forgecdn.net/files/7306/749/modernfix-forge-5.25.2+mc1.20.1.jar", + "id": "7306749", "parent_id": "790626", "hashes": { - "sha1": "124ea5db8c3b7dc00166806ef0fc412177882fda", - "md5": "3e7c495f3e3b9057c5e6227119e5b614" + "sha1": "4069534174e618393f0c14d9dc61ac27a04bb992", + "md5": "893b2aba13f35bd7ed3fdad2ca15a4d4" }, "required_dependencies": [], - "size": 895267, - "date_published": "2025-11-08T20:05:01.880Z" + "size": 895444, + "date_published": "2025-12-08T02:42:18.980Z" } ] }, @@ -13815,7 +13815,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.7.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.8.jar", "mc_versions": [ "1.20.1" ], @@ -13824,23 +13824,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/bROqTVck/TerraFirmaGreg-Core-Modern-0.8.7.jar", - "id": "bROqTVck", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/6FdOjis1/TerraFirmaGreg-Core-Modern-0.8.8.jar", + "id": "6FdOjis1", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "136f0851e89bdb911d319ed12aac0f2803d0b7d74ca18ad2fb6330ebc5965e0fee82862ea87f49901aa41783cea98a4968786b8ff2fb1503f90e3e828e79ee44", - "sha1": "c0c1a2c44998b630ad56be665017896287cf685c" + "sha512": "ebc09725e0662ff8059a605397f12fb49c300807aacd27742c858ac436e8730350516ed7697925047686a838932371812f58bee49e11802a387cbe9d315121f0", + "sha1": "75551167d5d6c8c61ae7ae713b3a767bf1bcb321" }, "required_dependencies": [ - "7tG215v7", - "JaCEZUhg" + "JaCEZUhg", + "7tG215v7" ], - "size": 9315464, - "date_published": "2025-12-07T21:45:07.908480Z" + "size": 9321318, + "date_published": "2025-12-09T11:16:17.379839Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.7.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.8.jar", "mc_versions": [ "1.20.1" ], @@ -13849,19 +13849,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7305/932/TerraFirmaGreg-Core-Modern-0.8.7.jar", - "id": "7305932", + "url": "https://edge.forgecdn.net/files/7311/305/TerraFirmaGreg-Core-Modern-0.8.8.jar", + "id": "7311305", "parent_id": "513402", "hashes": { - "sha1": "c0c1a2c44998b630ad56be665017896287cf685c", - "md5": "e4dcd7222073266fe1188fe52ca35d5f" + "sha1": "75551167d5d6c8c61ae7ae713b3a767bf1bcb321", + "md5": "5f9e1df5cbe3f1421d23e1c15b712aca" }, "required_dependencies": [ - "302973", - "890405" + "890405", + "302973" ], - "size": 9315464, - "date_published": "2025-12-07T21:45:02.070Z" + "size": 9321318, + "date_published": "2025-12-09T11:16:13.343Z" } ] }, From 7896b5f7fdad12bd9ad42913a708c6fd7463a0d3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 15:40:22 +0000 Subject: [PATCH 270/628] doubled the durability of space suits --- CHANGELOG.md | 1 + kubejs/startup_scripts/ad_astra/modifications.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2b3b8560..d7f811b58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Changes +- Doubled the durability of all space suits @Pyritie ### Bug fixes ### Translation updates diff --git a/kubejs/startup_scripts/ad_astra/modifications.js b/kubejs/startup_scripts/ad_astra/modifications.js index fbdf2b383..31a8be6fd 100644 --- a/kubejs/startup_scripts/ad_astra/modifications.js +++ b/kubejs/startup_scripts/ad_astra/modifications.js @@ -31,4 +31,20 @@ function registerAdAstraBlockModifications(event) { event.modify('ad_astra:aeronos_cap', block => { block.lightEmission = 0 }) + + const space_suits = [ + 'ad_astra:space_helmet', + 'ad_astra:space_suit', + 'ad_astra:space_pants', + 'ad_astra:space_boots', + 'ad_astra:netherite_space_helmet', + 'ad_astra:netherite_space_suit', + 'ad_astra:netherite_space_pants', + 'ad_astra:netherite_space_boots' + ] + space_suits.forEach(e => { + event.modify(e, item => { + item.maxDamage = item.maxDamage * 2 + }) + }) } \ No newline at end of file From e69ae9ff6dd117159ed656ea5d186f90ff8f941a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 15:41:48 +0000 Subject: [PATCH 271/628] t2 space suit now also gives fire prot - it's not really _needed_, but it does make tfchotornot stop throwing your inventory items away --- .../server_scripts/tfg/equipment/events.equipment.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/tfg/equipment/events.equipment.js b/kubejs/server_scripts/tfg/equipment/events.equipment.js index 3ec2ba29d..6451241e6 100644 --- a/kubejs/server_scripts/tfg/equipment/events.equipment.js +++ b/kubejs/server_scripts/tfg/equipment/events.equipment.js @@ -3,11 +3,15 @@ PlayerEvents.tick((event) => { const { player } = event; if (player.age % 100 === 0) { - if (player.headArmorItem === 'create:netherite_diving_helmet' - && player.chestArmorItem === 'create:netherite_backtank' - && player.legsArmorItem === 'minecraft:netherite_leggings' + if ((player.headArmorItem === 'create:netherite_diving_helmet' + || player.headArmorItem === 'ad_astra:netherite_space_helmet') + && (player.chestArmorItem === 'create:netherite_backtank' + || player.chestArmorItem === 'ad_astra:netherite_space_suit') + && (player.legsArmorItem === 'minecraft:netherite_leggings' + || player.legsArmorItem === 'ad_astra:netherite_space_pants') && (player.feetArmorItem === 'create:netherite_diving_boots' - || player.feetArmorItem === 'minecraft:netherite_boots')) { + || player.feetArmorItem === 'minecraft:netherite_boots' + || player.feetArmorItem === 'ad_astra:netherite_space_boots')) { player.potionEffects.add("minecraft:fire_resistance", 350, 0, true, false); } From 0db5dd7267e41d84e5147eaabac0a1c4fb86fc5f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 15:47:54 +0000 Subject: [PATCH 272/628] stop this cherry icon from rotting --- config/ftbquests/quests/chapters/queststfg.snbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/queststfg.snbt b/config/ftbquests/quests/chapters/queststfg.snbt index e3058149c..2862604f9 100644 --- a/config/ftbquests/quests/chapters/queststfg.snbt +++ b/config/ftbquests/quests/chapters/queststfg.snbt @@ -154,7 +154,7 @@ Count: 1 ForgeCaps: { "tfc:food": { - creationDate: 18000L + creationDate: 99999999999L traits: [ ] } } From 120d6e1c4379f0f5b5aefd180b2fa4ff9148c8a5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 15:48:42 +0000 Subject: [PATCH 273/628] moved drinkable data to the right namespaces, renamed tfcgurman server script dir -> tfc_gurman, moved all alcohols to #tfg:alcohols instead of #tfc:alcohols, because agedalcohols is very fussy --- .../tfc/drinkables/cocoa.json | 0 .../tfc/drinkables/coffee.json | 0 .../tfc/drinkables/compote.json | 0 .../tfc/drinkables/kvass.json | 0 .../tfc/drinkables/lemonade.json | 0 .../tfc/drinkables/nalivka.json | 0 .../tfc/drinkables/tea_chamomile.json | 0 .../tfc/drinkables/tea_mint.json | 0 .../tfc/drinkables/tea_nettle.json | 0 .../tfc/drinkables/tea_rosehip.json | 0 .../tfc/drinkables/aged_corn_whiskey.json | 0 .../tfc/drinkables/aged_rye_whiskey.json | 0 .../tfc/drinkables/aged_sake.json | 0 .../tfc/drinkables/aged_vodka.json | 0 .../tfc/drinkables/aged_whiskey.json | 0 kubejs/server_scripts/ad_astra/tags.js | 2 +- kubejs/server_scripts/tfc/tags.js | 21 ++++++++++--------- .../{tfcgurman => tfc_gurman}/recipes.js | 0 .../{hotornot => tfchotornot}/recipes.js | 0 .../{hotornot => tfchotornot}/tags.js | 2 ++ .../server_scripts/tfg/food/recipes.food.js | 2 +- .../tfg/powergen/recipes.biodiesel.js | 20 +++++++++--------- 22 files changed, 25 insertions(+), 22 deletions(-) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/cocoa.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/coffee.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/compote.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/kvass.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/lemonade.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/nalivka.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/tea_chamomile.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/tea_mint.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/tea_nettle.json (100%) rename kubejs/data/{tfc => tfc_gurman}/tfc/drinkables/tea_rosehip.json (100%) rename kubejs/data/{tfc => tfcagedalcohol}/tfc/drinkables/aged_corn_whiskey.json (100%) rename kubejs/data/{tfc => tfcagedalcohol}/tfc/drinkables/aged_rye_whiskey.json (100%) rename kubejs/data/{tfc => tfcagedalcohol}/tfc/drinkables/aged_sake.json (100%) rename kubejs/data/{tfc => tfcagedalcohol}/tfc/drinkables/aged_vodka.json (100%) rename kubejs/data/{tfc => tfcagedalcohol}/tfc/drinkables/aged_whiskey.json (100%) rename kubejs/server_scripts/{tfcgurman => tfc_gurman}/recipes.js (100%) rename kubejs/server_scripts/{hotornot => tfchotornot}/recipes.js (100%) rename kubejs/server_scripts/{hotornot => tfchotornot}/tags.js (91%) diff --git a/kubejs/data/tfc/tfc/drinkables/cocoa.json b/kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/cocoa.json rename to kubejs/data/tfc_gurman/tfc/drinkables/cocoa.json diff --git a/kubejs/data/tfc/tfc/drinkables/coffee.json b/kubejs/data/tfc_gurman/tfc/drinkables/coffee.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/coffee.json rename to kubejs/data/tfc_gurman/tfc/drinkables/coffee.json diff --git a/kubejs/data/tfc/tfc/drinkables/compote.json b/kubejs/data/tfc_gurman/tfc/drinkables/compote.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/compote.json rename to kubejs/data/tfc_gurman/tfc/drinkables/compote.json diff --git a/kubejs/data/tfc/tfc/drinkables/kvass.json b/kubejs/data/tfc_gurman/tfc/drinkables/kvass.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/kvass.json rename to kubejs/data/tfc_gurman/tfc/drinkables/kvass.json diff --git a/kubejs/data/tfc/tfc/drinkables/lemonade.json b/kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/lemonade.json rename to kubejs/data/tfc_gurman/tfc/drinkables/lemonade.json diff --git a/kubejs/data/tfc/tfc/drinkables/nalivka.json b/kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/nalivka.json rename to kubejs/data/tfc_gurman/tfc/drinkables/nalivka.json diff --git a/kubejs/data/tfc/tfc/drinkables/tea_chamomile.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/tea_chamomile.json rename to kubejs/data/tfc_gurman/tfc/drinkables/tea_chamomile.json diff --git a/kubejs/data/tfc/tfc/drinkables/tea_mint.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/tea_mint.json rename to kubejs/data/tfc_gurman/tfc/drinkables/tea_mint.json diff --git a/kubejs/data/tfc/tfc/drinkables/tea_nettle.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/tea_nettle.json rename to kubejs/data/tfc_gurman/tfc/drinkables/tea_nettle.json diff --git a/kubejs/data/tfc/tfc/drinkables/tea_rosehip.json b/kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/tea_rosehip.json rename to kubejs/data/tfc_gurman/tfc/drinkables/tea_rosehip.json diff --git a/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json rename to kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json diff --git a/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json rename to kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json diff --git a/kubejs/data/tfc/tfc/drinkables/aged_sake.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/aged_sake.json rename to kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json diff --git a/kubejs/data/tfc/tfc/drinkables/aged_vodka.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/aged_vodka.json rename to kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json diff --git a/kubejs/data/tfc/tfc/drinkables/aged_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json similarity index 100% rename from kubejs/data/tfc/tfc/drinkables/aged_whiskey.json rename to kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index b6578ed62..a705ac40f 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -31,7 +31,7 @@ const registerAdAstraFluidTags = (event) => { event.add('ad_astra:freezes_in_space', 'tfc:spring_water') event.add('ad_astra:evaporates_in_space', 'tfc:salt_water') event.add('ad_astra:evaporates_in_space', 'tfc:spring_water') - event.add('ad_astra:evaporates_in_space', '#tfc:alcohols') + event.add('ad_astra:evaporates_in_space', '#tfg:alcohols') event.add('ad_astra:evaporates_in_space', '#tfc:milks') event.add('ad_astra:evaporates_in_space', '#tfc:dyes') event.add('ad_astra:evaporates_in_space', '#tfc:drinkables') diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 16edea41c..0c59df65c 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -671,16 +671,17 @@ function registerTFCFluidTags(event) { event.add("tfc:ingredients", "tfc:spring_water"); event.add('tfc:drinkables', 'tfc:spring_water') - event.add("tfc:alcohols", "tfcagedalcohol:aged_beer"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_cider"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_rum"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_sake"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_vodka"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_whiskey"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_corn_whiskey"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_rye_whiskey"); - event.add("tfc:alcohols", "tfcagedalcohol:aged_mead"); - event.add("tfc:alcohols", "tfc_gurman:nalivka"); + event.add('tfg:alcohols', '#tfc:alcohols') + event.add("tfg:alcohols", "tfcagedalcohol:aged_beer"); + event.add("tfg:alcohols", "tfcagedalcohol:aged_cider"); + event.add("tfg:alcohols", "tfcagedalcohol:aged_rum"); + event.add("tfg:alcohols", "tfcagedalcohol:aged_sake"); + event.add("tfg:alcohols", "tfcagedalcohol:aged_vodka"); + event.add("tfg:alcohols", "tfcagedalcohol:aged_whiskey"); + 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"); // Добавляем тег для скрытия в EMI event.add("c:hidden_from_recipe_viewers", "tfc:metal/bismuth"); diff --git a/kubejs/server_scripts/tfcgurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js similarity index 100% rename from kubejs/server_scripts/tfcgurman/recipes.js rename to kubejs/server_scripts/tfc_gurman/recipes.js diff --git a/kubejs/server_scripts/hotornot/recipes.js b/kubejs/server_scripts/tfchotornot/recipes.js similarity index 100% rename from kubejs/server_scripts/hotornot/recipes.js rename to kubejs/server_scripts/tfchotornot/recipes.js diff --git a/kubejs/server_scripts/hotornot/tags.js b/kubejs/server_scripts/tfchotornot/tags.js similarity index 91% rename from kubejs/server_scripts/hotornot/tags.js rename to kubejs/server_scripts/tfchotornot/tags.js index bcc28c7b6..2d5c2772c 100644 --- a/kubejs/server_scripts/hotornot/tags.js +++ b/kubejs/server_scripts/tfchotornot/tags.js @@ -12,6 +12,8 @@ const registerHotOrNotItemTags = (event) => { event.add('tfchotornot:hot_whitelist', '#forge:hot_ingots') event.add('firmalife:usable_on_oven', '#tfchotornot:insulating') + + event.add('tfg:insulating_container', 'gtceu:ulv_super_tank') } const registerHotOrNotBlockTags = (event) => { diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index c99e8b67e..d20037ae2 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -680,7 +680,7 @@ function registerTFGFoodRecipes(event) { processorRecipe('vinegar_alcohol', 600, GTValues.VA[GTValues.LV], { circuit: 5, itemInputs: ['#tfc:foods/fruits'], - fluidInputs: ['#tfc:alcohols 250'], + fluidInputs: ['#tfg:alcohols 250'], fluidOutputs: [Fluid.of('tfc:vinegar', 250)] }) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js index f9eab5cf2..861184069 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.biodiesel.js @@ -5,7 +5,7 @@ function registerTFGBiodieselRecipes(event) { // Biofuels event.recipes.gtceu.chemical_reactor(`seed_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 6000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('gtceu:seed_oil', 6000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) .duration(20 * 10) @@ -13,14 +13,14 @@ function registerTFGBiodieselRecipes(event) { // So you can craft Biodiesel without Chemical Reactor event.recipes.gtceu.mixer(`tfg:seed_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:seed_oil', 1000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('gtceu:seed_oil', 1000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) event.recipes.gtceu.chemical_reactor(`olive_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 4000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('tfc:olive_oil', 4000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) .duration(20 * 10) @@ -28,14 +28,14 @@ function registerTFGBiodieselRecipes(event) { // So you can craft Biodiesel without Chemical Reactor event.recipes.gtceu.mixer(`tfg:olive_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:olive_oil', 1000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('tfc:olive_oil', 1000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) event.recipes.gtceu.chemical_reactor(`soybean_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 4000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('firmalife:soybean_oil', 4000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) .duration(20 * 10) @@ -43,21 +43,21 @@ function registerTFGBiodieselRecipes(event) { // So you can craft Biodiesel without Chemical Reactor event.recipes.gtceu.mixer(`tfg:soybean_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('firmalife:soybean_oil', 1000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('firmalife:soybean_oil', 1000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) event.recipes.gtceu.chemical_reactor(`fish_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 6000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('gtceu:fish_oil', 6000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) .duration(20 * 10) .EUt(GTValues.VHA[GTValues.ULV]) event.recipes.gtceu.chemical_reactor(`tallow_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:tallow', 6000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('tfc:tallow', 6000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 6000)) .duration(20 * 10) @@ -66,7 +66,7 @@ function registerTFGBiodieselRecipes(event) { // So you can craft Biodiesel without Chemical Reactor event.recipes.gtceu.mixer(`tfg:fish_oil_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('gtceu:fish_oil', 1000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('gtceu:fish_oil', 1000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) .duration(20 * 10) @@ -74,7 +74,7 @@ function registerTFGBiodieselRecipes(event) { event.recipes.gtceu.mixer(`tfg:tallow_alcohol_biodiesel`) - .inputFluids("#tfc:alcohols 1000", Fluid.of('tfc:tallow', 1000)) + .inputFluids("#tfg:alcohols 1000", Fluid.of('tfc:tallow', 1000)) .itemInputs('#forge:tiny_dusts/sodium_hydroxide') .outputFluids(Fluid.of('gtceu:bio_diesel', 500)) .duration(20 * 10) From d10723d5b7efa50637d9efe7536f0bb2a2186eb2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 15:50:36 +0000 Subject: [PATCH 274/628] which also means we can get rid of our overrides now --- .../tfc/drinkables/aged_corn_whiskey.json | 12 ------------ .../tfc/drinkables/aged_rye_whiskey.json | 12 ------------ .../tfcagedalcohol/tfc/drinkables/aged_sake.json | 12 ------------ .../tfcagedalcohol/tfc/drinkables/aged_vodka.json | 12 ------------ .../tfcagedalcohol/tfc/drinkables/aged_whiskey.json | 12 ------------ 5 files changed, 60 deletions(-) delete mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json delete mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json delete mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json delete mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json delete mode 100644 kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json deleted file mode 100644 index 17de1eb99..000000000 --- a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_corn_whiskey.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ingredient": "tfcagedalcohol:aged_corn_whiskey", - "thirst": 15, - "intoxication": 2000, - "effects": [ - { - "type": "minecraft:haste", - "duration": 6400, - "amplifier": 0 - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json deleted file mode 100644 index a2a4645ea..000000000 --- a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_rye_whiskey.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ingredient": "tfcagedalcohol:aged_rye_whiskey", - "thirst": 15, - "intoxication": 2000, - "effects": [ - { - "type": "minecraft:haste", - "duration": 6400, - "amplifier": 0 - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json deleted file mode 100644 index 1657f4f89..000000000 --- a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_sake.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ingredient": "tfcagedalcohol:aged_sake", - "thirst": 15, - "intoxication": 2000, - "effects": [ - { - "type": "minecraft:resistance", - "duration": 6400, - "amplifier": 0 - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json deleted file mode 100644 index baa19f8dd..000000000 --- a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_vodka.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ingredient": "tfcagedalcohol:aged_vodka", - "thirst": 15, - "intoxication": 2000, - "effects": [ - { - "type": "minecraft:resistance", - "duration": 3200, - "amplifier": 1 - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json b/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json deleted file mode 100644 index 740b7380a..000000000 --- a/kubejs/data/tfcagedalcohol/tfc/drinkables/aged_whiskey.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "ingredient": "tfcagedalcohol:aged_whiskey", - "thirst": 15, - "intoxication": 2000, - "effects": [ - { - "type": "minecraft:haste", - "duration": 3200, - "amplifier": 1 - } - ] -} \ No newline at end of file From 28a657494f2d3f5ad9408d64a62324eec601f6bc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 18:46:55 +0000 Subject: [PATCH 275/628] some leftover items --- kubejs/startup_scripts/gtceu/constants.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 40de05b4a..cb8f215f1 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -142,6 +142,9 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:damascus_steel_buzzsaw", "gtceu:damascus_steel_bucket", + "gtceu:molten_black_bronze_bucket", + "gtceu:molten_bismuth_bronze_bucket", + //armor "gtceu:bronze_helmet", "gtceu:bronze_chestplate", From 30cfcbff8109f269df04af7f778140cb79230252 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 18:47:08 +0000 Subject: [PATCH 276/628] well no wonder this wasn't working --- kubejs/startup_scripts/ad_astra/modifications.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/startup_scripts/ad_astra/modifications.js b/kubejs/startup_scripts/ad_astra/modifications.js index 31a8be6fd..36a8c4333 100644 --- a/kubejs/startup_scripts/ad_astra/modifications.js +++ b/kubejs/startup_scripts/ad_astra/modifications.js @@ -31,7 +31,10 @@ function registerAdAstraBlockModifications(event) { event.modify('ad_astra:aeronos_cap', block => { block.lightEmission = 0 }) +} +function registerAdAstraItemModifications(event) { + const space_suits = [ 'ad_astra:space_helmet', 'ad_astra:space_suit', From f65370361580afcd61f94b77d54909b7f7382f8d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 9 Dec 2025 18:51:02 +0000 Subject: [PATCH 277/628] tags for hotornot --- CHANGELOG.md | 1 + config/tfchotornot-common.toml | 2 +- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/tfc/tags.js | 8 ++++- kubejs/server_scripts/tfchotornot/tags.js | 30 +++++++++++++++++++ kubejs/startup_scripts/main_startup_script.js | 1 + 6 files changed, 41 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7f811b58..be3799ba0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Changes - Doubled the durability of all space suits @Pyritie ### Bug fixes +- Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie ### Translation updates ## [0.11.10] - 9-12-2025 diff --git a/config/tfchotornot-common.toml b/config/tfchotornot-common.toml index fa6a16ee1..44eb98f1c 100644 --- a/config/tfchotornot-common.toml +++ b/config/tfchotornot-common.toml @@ -19,7 +19,7 @@ hotFluidTemperature = 1300 #This sets the temperature when a cold fluid should add effects to the player (in kelvin). #Range: > -2147483648 - coldFluidTemperature = 273 + coldFluidTemperature = 223 #Modifier for how much the offhand item should heat up when holding hot items. Holding multiple hot items will heat your insulating items faster! #Range: 4.9E-324 ~ 1.7976931348623157E308 itemTemperatureModifier = 2.0 diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index ac9749489..3bea31680 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -105,6 +105,7 @@ ServerEvents.tags('fluid', event => { registerCreateAdditionsFluidTags(event) registerGTCEUFluidTags(event) registerGreateFluidTags(event) + registerHotOrNotFluidTags(event) registerFirmaLifeFluidTags(event) registerTFCFluidTags(event) registerTFGFluidTags(event) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 0c59df65c..d5d3d82e4 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -584,6 +584,10 @@ function registerTFCFluidTags(event) { if (temp >= 1300) { event.add("tfchotornot:hot_whitelist", idStr); } + // Frostburns ya. + if (temp < 223) { + event.add("tfchotornot:cold_whitelist", idStr); + } // Blue steel: can do heat, can't do cryo. if (temp >= 120) { event.add("tfc:usable_in_blue_steel_bucket", idStr); @@ -611,7 +615,9 @@ function registerTFCFluidTags(event) { const isPlasmatic = wrapperHas(plasmaticWrapper); const isHidden = wrapperHas(hiddenWrapper); - if (isGaseous || isPlasmatic || isHidden) return; + if (isGaseous || isPlasmatic || isHidden) + return; + event.add('forge:liquid', idString); }; diff --git a/kubejs/server_scripts/tfchotornot/tags.js b/kubejs/server_scripts/tfchotornot/tags.js index 2d5c2772c..8813879f0 100644 --- a/kubejs/server_scripts/tfchotornot/tags.js +++ b/kubejs/server_scripts/tfchotornot/tags.js @@ -10,10 +10,40 @@ const registerHotOrNotItemTags = (event) => { }) event.add('tfchotornot:hot_whitelist', '#forge:hot_ingots') + event.add('tfchotornot:cold_whitelist', 'minecraft:blue_ice') + event.add('tfchotornot:cold_whitelist', 'tfg:dry_ice') event.add('firmalife:usable_on_oven', '#tfchotornot:insulating') event.add('tfg:insulating_container', 'gtceu:ulv_super_tank') + event.add('tfg:insulating_container', 'gtceu:lv_super_tank') + event.add('tfg:insulating_container', 'gtceu:mv_super_tank') + event.add('tfg:insulating_container', 'gtceu:hv_super_tank') + event.add('tfg:insulating_container', 'gtceu:ev_super_tank') + event.add('tfg:insulating_container', 'gtceu:iv_quantum_tank') + event.add('tfg:insulating_container', 'gtceu:luv_quantum_tank') + event.add('tfg:insulating_container', 'gtceu:zpm_quantum_tank') + event.add('tfg:insulating_container', 'gtceu:uv_quantum_tank') + event.add('tfg:insulating_container', 'gtceu:uhv_quantum_tank') + event.add('tfg:insulating_container', '#tfc:barrels') + event.add('tfg:insulating_container', 'gtceu:fluid_cell') + event.add('tfg:insulating_container', 'gtceu:universal_fluid_cell') + event.add('tfg:insulating_container', 'gtceu:steel_fluid_cell') + event.add('tfg:insulating_container', 'gtceu:aluminium_fluid_cell') + event.add('tfg:insulating_container', 'gtceu:stainless_steel_fluid_cell') + event.add('tfg:insulating_container', 'gtceu:titanium_fluid_cell') + event.add('tfg:insulating_container', 'gtceu:tungsten_steel_fluid_cell') + + event.add('tfg:prevents_gas_floating', 'create:copper_diving_boots') + event.add('tfg:prevents_gas_floating', 'create:netherite_diving_boots') +} + +const registerHotOrNotFluidTags = (event) => { + event.add("tfchotornot:gaseous_whitelist", 'gtceu:helium') + event.add("tfchotornot:gaseous_whitelist", 'gtceu:helium_3') + event.add("tfchotornot:gaseous_whitelist", 'gtceu:hydrogen') + event.add("tfchotornot:gaseous_whitelist", 'gtceu:coal_gas') + event.add("tfchotornot:gaseous_whitelist", 'gtceu:methane') } const registerHotOrNotBlockTags = (event) => { diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index b651df6fb..8d41ff94e 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -15,6 +15,7 @@ BlockEvents.modification(event => { }) ItemEvents.modification(event => { + registerAdAstraItemModifications(event) registerBeneathItemModifications(event) registerCreateItemModifications(event) registerFirmalifeItemModifications(event) From 068466301be98acae9fb31141152bc460ab8e3b0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 01:08:09 +0000 Subject: [PATCH 278/628] mob effect icons + langs --- kubejs/assets/tfg/lang/en_us.json | 13 +++++++++++++ .../textures/mob_effect/arsenicosis_warning.png | Bin 0 -> 3151 bytes .../textures/mob_effect/asbestosis_warning.png | Bin 0 -> 569 bytes .../textures/mob_effect/berylliosis_warning.png | Bin 0 -> 3156 bytes .../carbon_monoxide_poisoning_warning.png | Bin 0 -> 275 bytes .../textures/mob_effect/carcinogen_warning.png | Bin 0 -> 435 bytes .../mob_effect/chemical_burns_warning.png | Bin 0 -> 280 bytes .../tfg/textures/mob_effect/irritant_warning.png | Bin 0 -> 477 bytes .../mob_effect/methanol_poisoning_warning.png | Bin 0 -> 649 bytes .../tfg/textures/mob_effect/nausea_warning.png | Bin 0 -> 444 bytes .../tfg/textures/mob_effect/poison_warning.png | Bin 0 -> 3153 bytes .../textures/mob_effect/silicosis_warning.png | Bin 0 -> 3097 bytes .../textures/mob_effect/weak_poison_warning.png | Bin 0 -> 371 bytes 13 files changed, 13 insertions(+) create mode 100644 kubejs/assets/tfg/textures/mob_effect/arsenicosis_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/asbestosis_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/berylliosis_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/carbon_monoxide_poisoning_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/carcinogen_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/chemical_burns_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/irritant_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/methanol_poisoning_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/nausea_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/poison_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/silicosis_warning.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/weak_poison_warning.png diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 886bd5662..97fb623c0 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1382,6 +1382,19 @@ "entity.tfg.rnr_plow": "Paving Cart", "effect.tfg.cooling": "§bCooling", "effect.tfg.warming": "§6Warming", + "effect.tfg.instant_radiation": "Instant Radiation", + "effect.tfg.chemical_burns_warning": "Suffering Chemical Burns", + "effect.tfg.poison_warning": "Toxic Material", + "effect.tfg.weak_poison_warning": "Weakly Toxic Material", + "effect.tfg.irritant_warning": "Irritant Material", + "effect.tfg.nausea_warning": "Nauseous Material", + "effect.tfg.carcinogen_warning": "Carcinogenic Material", + "effect.tfg.asbestosis_warning": "Asbestosis", + "effect.tfg.arsenicosis_warning": "Arsenicosis", + "effect.tfg.silicosis_warning": "Silicosis", + "effect.tfg.berylliosis_warning": "Berylliosis", + "effect.tfg.methanol_poisoning_warning": "Methanol Poisoning", + "effect.tfg.carbon_monoxide_poisoning_warning": "Carbon Monoxide Poisoning", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "Windmills are affected by relative", diff --git a/kubejs/assets/tfg/textures/mob_effect/arsenicosis_warning.png b/kubejs/assets/tfg/textures/mob_effect/arsenicosis_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..c92a3bdfb11575f41628909fe24ca860cb36f3be GIT binary patch literal 3151 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 WR=xYc-^0Mbz~JfX=d#Wzp$P!Wf&82R literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/berylliosis_warning.png b/kubejs/assets/tfg/textures/mob_effect/berylliosis_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..600f82824bbede346204bbff6a727bb0a36bef6d GIT binary patch literal 3156 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/carcinogen_warning.png b/kubejs/assets/tfg/textures/mob_effect/carcinogen_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..4f548bfb517bf77ebd261a86a8543ee064f689f9 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xF`=TIIc^3=9nHC7!;n>@Qilx!71w-n4UJU|@9cba4!^IDK`pt;gX2 zk=Fg&wAO`czYKf5O2LYwtnigW)0WATHDq;OJX+E{x%-`-pHVn6w z`M)cj*XL34EHv85F*An6vum=1bV7RVE$)&FYVMEw&R<=9uYcLDJNF~s$looisJ$<} zS^98n`EjHDTH*~gRtFq&lwP0h@e!21b)@G0r}oc=eKDG!zE#M+n%S5-96a1rN znf3{AtLvVf8hYWYRNKPj+q_)qi6&Q{zPj`?^1;cB##yhDZu5FAZRcCI^4)v2!raVD k++1&e#BlyyoBE5z>p_*WjPIq73=9kmp00i_>zopr0GF7#F8}}l literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/chemical_burns_warning.png b/kubejs/assets/tfg/textures/mob_effect/chemical_burns_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..60dad1c9cac17639c4a251916dc99047535ae046 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_o{+5N5n|x9$%E0|R@Br>`sfJsxRhErYjzR_tY9U|8zu;uvCaIyqs1fWf25 zG1o)C|9|^=Igh+uZIZ^^-LodDFwfgl_5c6D*2e{Q>wC1C_f6Aks}ifp+r713`tWV> z^OAOT|IR#!G@V%TKX%{mNA}Fj%!m7u!~Z`HI^1%;;s5`Izy3YE(tn@9&M&PkJ-Gh= z|MMUEZI}}pzkGYk{)zX;=`&5?^A<4PpZ|B!nTG#KJyRqo`#sZF7(hJzf1=);T3K0RS@Cb$|c> literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/irritant_warning.png b/kubejs/assets/tfg/textures/mob_effect/irritant_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2df1a452002799063dbc64b6ef74fb428b2268 GIT binary patch literal 477 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Q;?Q1)8?LIwr~ z&H|6fVg?3oArNM~bhqvg0|NtliKnkC`%4x!PG;d=GlLWc2F5H;7sn8b(@Q5Q=G-w5 zX|tc-CKPruadMBiL5iHk+{CHLp}pd}WMkdRuilvJw)|jl;*vv;-B>mILd3jN`Mx?# z_le#7ZPlzFC+qI#@BeNunEb@_^;z%6t68FxRTO=Lx7}VFv4_R%m`?!*W5Z(Bu0b+_w4ijHxh9fb;YqvgL_+pn{TBO?~6`sQm_rJ^Vu^T?q zd-h})>00|4R(7O5~{zl zt~K3#mv8OX6|a8?d!|jPdI->udu5*YT3S3?D?HHM|67(12tW5Z@ZFi z{YUps%;DYNzjG?Kux~s2k0BwqPRajY(?7m_v2{x4i@*K;n{vCJ^;K=>{@wjgqgT|| zrbx7@KMZuRcs?O0s8)aH&bIUR=K{ShmfoFg&=8?FJy~Y!wacx=?;H=O_LofDT;^)>ho?+oU|)l(pMfo&bd0JSU9vz)6_3*(_7GWXFSsn9T`s03z{ZQm!+iT+J?7++Jz2TJn zQr27V%A&X3E=#kK2y+lrn|a!J=KVeIjn8X8d;XmFz^z|a>&3;699fdPX4c)4zvd#*8gzn_misiPtVm+kE9Pn{WK3xrHmIDetSf=j+8*@hj=X zn*G|7&TA_AA6X%(K7DZ)uY{NVtCQa6Y4Gfx_HFA3C-?Pe|qc=h%Iyt^bw8o}MSyD)^uNeRfpWqR;ig^o-+OX|b2f z4<9Ym4VriM!HVM#<66R=B{4A7?C*%r6beZ;3tN@J8|7T5>!8{EOMXG+9mNmcSN@u@ z?-pFS_H%Vg5oDcIQPBRaEBD#0;>!9D zHTAap4$U={sffH;`&NHJ_U)PPEhCrT)lpp)%E-tQdeF$UtX+8D^OVIOU9@&hT79MV z{7I=*P4`x9ww|-WhgV)*xMlH2mt8Lp1c*wla@xP#INq(~*4a5O4cf{P%h(Pae*ARJ z_E+Jr3m&Ad%T1r^{N{TJgVkHL(Ge)=?ZdRD^B>HCSFD;)>k{m`2#d99rD*Gv* z8+>|g*;%XA1}CqcFFa-D$2fzvQDy4N{Kr$iZ@+gmYsLoaIdzP#`(xP5LR$OJtFG7g zUvs#Y@69W%=kNDwc-lxghZej|UzB{PWaG{(p{_@TqVH2ao@I?l`JcJ<%^YEqkk%J7 yHt>C4bNKezsrHvkHlE!4Z+F+tuHV(Kxc~2+cdhusuW$wi1_n=8KbLh*2~7Zhh{BKn literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/poison_warning.png b/kubejs/assets/tfg/textures/mob_effect/poison_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..ca0ffc66fc9ca6a43dd49188ec42de42db1ed4b3 GIT binary patch literal 3153 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7SkfJR9T^xl_H+M9WMyFB zvdVOJ4hYD|FUc>?$S+XvbaqxKD9TUE%t>Wn@aUX7tvn>;x>)=9z2#L4&l-qmI=|n` ztFYI6+kpz*zz)Isy zVI@zW?wvmUzI=LZ_WZryZPVY^UfabmVb9;4drBg>8cgOj$Ul1O)!);#EcrJh&j$wP zGYkovjEtF_Y!5eh*vaL6@tG+6Ly4ooy!?nZgL&_s<`*R&{(H`vdQiOM5=-Zern4tg zI(GydS$VUGXJf6~kt;t$3=eAZ?gZ+v*>H>#=leJ zt85v1A_H^FYBnBy&$=MlnBmj+{WnbbnG`f%MgKk!{(WKRb5&1;6B~>TPo6tx_N*x4 z*rTR@3;)0TVE*Om_nxCK|7q~wojdt}$TF@Mk9KXm6nwe0rYenX^3jFTe=9rw7e0ue zf7qa9@_~oN6^l9wE>0<|>|9j#`9=(*`CRwspZ*04|4+Oze~ZO+r9de=#;i4l6QmX} zJ-KezutjTy_!qz-!g|!PQ-EK{>E{Kt6)alqs}@?V;QS?L#TwhN&Z+r=ZHCCKrn>ffhdF$j zR&Fp_!#n!`&kfdZ&4(XMEl}Dcb*`EF;oAby7=HQY+Yh-vl>RWYVX|*e7im# zp~!QDm(yj@M3$ERHO^fVy_U#jI_{bf_e9O8$w&EpfP@IEtGndFH-Yz7Jk=1(GR=}* zB@)_e)s*G_bwS=Dw?N|+{uxG5oVg9#oPRG+zS#L9r$lg<(A|za=Xj_4ZvBhzCm2Xb zxv?iVe>~=rILR>EVCjs%Gs4bPo>55SG44K^B)Wkuf;~rJTBm42_lD|?$2UCR;C!R- zO|*>Q@-E}!m5&w`+Qcxf6Dk)e7c*~}ec^?H#2)E~+ zCDWF4KhZjAbJFYNZu!yZW+lL<;--N>1-sPdQ5}EwfT`-VxU=|l*V+8$00nS?XR4DmrV=UzxZ2ldP-`F zZtCIG;*{)^^C$W)2+T4&+dj=pd-2=_cNgxR9z3mh;^Py!ld~sEPntbBUg^Eg`HA|| z@~7_C{U6u3?!m$di#7x=bbdHd$ty74Fv2kUW5XlWqc2sjsDAT~@a~#EC!#2xGwf10 zS76lQ5|5SsnPHKxH@z*LE7yN=eVQpct825@Ca>00kyAB8yH+jM3g7DVbK96flvH;*=7Vx+`ToYt<~qSwCl; zo%Ma|hbW%4Dr;?{_C^)ovbrUBD|(Cd7WL96r8Om=N@kVHy_!@yw zCFsky*LN?pe_i`!@|Wx{>^up~+05$>)-^jiZ&|oj@%)B+1vffUo+M34y^>>+S`DVKDnFU5o5=(ouw`D|! z-~PI7dG7t2k+(VD_}%!MmY*^|ss2h`(aLi{=PtD^P3C*W=hJT0F6h21dCp_UdS)nUKUR0P2X0$_;XA5Jnv1X4X2B*Tehy|y4iJ0bL;I}^Pb-oEZ6^@^u3N>vj3^v zRk?oKtG2?nvu)G&tl4v|V(xdh>fe>`zsP+H{FeCBd|zimHW z|Ni`UIqLz&eT=)A~bVbcco)1}k7rTw;gXWZ$0n2!+nZ-kIO8Vb-jD!mP#D$ebsZ!t=-++ z?fkkA5gV(IR`i7W1fH2Y)k?cKEG~BG4z1FwGb2t$q`f(5Q4-^F=i(0jGY)CC#b)=^ z>*D|LobKJ){&mjVGwTxk3uP>x&go=nZ~4@6(xv@KY-g~ipXXH1%Q5D8rr%RHl^5lH zit$P~^>9k-m5wXdOk$#9ZfVZr(QmyzdEKOWlkH|CP6(W0xan5j*LPQqYwYWi)u!w; z+8pd4`q$?xXKCx~*2R&1k*1OPn-6dHf9CQ0L(#9Iuf^M+`aP+9R=b;RYunak*73Ua z$^TwNP2XDjdO_*O*SoG~uhEaO-*+(k@WkGhUQOwGEdyN*{ffPsNx|U@iypQe+ITi@ z_Uvwzt{<+4qu*@5lINQHH1F;Gw2is%xA`A^^C(+&nd($kd9TQ&*Y_FzUiNBs>s!v- zzfZ3@&G+WOn+I=qY`&cNd}7hdPkTOXjAh(?OZ$cBQPK6~$KUOX%8ZQM-M+znNBWXe z`&SjOe|Ar{+CD@*^!~cSwV8L9Z^^&CZ|C1Pf1TOq@Nc=Ib$!~EefB48E4H6oy>4&Z z?tPyGo&{W6xSaPP@80`H`*O2Fa&$8PRLm%^c;azl;ykt4%a$$naz8!mVOrwnD;sAd zo9`?Bzi#u<6-(Dmy%tp@BO@+X|E>1U_j11%D-{%g;b1HMcIkW7l(Ym&z_$D^Ukii>YHy5TAzM@N48H=Zs+NJ)|L8S z@16b~`Te=p1fw`^ZhCRJ|*t? zp!qZNY0E2@%S(Pfd8v7RrS$nQ8|nIaA8YD%y$F99|9$U;+K-3x&+Y$u*5zE!{wMom ze(e1+_0a0W>viMH&$FGitDF2St!~|qwTEsizn6Glb>Dr@{2Ax}HT(_u8u&i>y83>9 ze(_6UV*gl~XMFynS}s<~z`&r8>=ES4z)+>ez|hdb!0?NKfuZ3A14F3+1H-EX1_rAc z3=HB0b9M#VFfcH%C3(BMF#HF>1$&oIW?*38EbxddW?9dn;{SO6*w9VHRO>S&+WS`}6Dd9~*L5TsI+l;v~ zKbZCY3Dq~M`Q@ouSnSLwC@|1FW^hF$OGA-ohJ@72ykgmwMKx#VJiRx2&--G#cY-g! zsGWRb^>K&W=9?)ymEsLU_9d-wmCBv?bHfJXn!T&HuiiIfsc<*LHd8;nzYT3B3_rMq zH}^1XTdHwW?c*CchVPztD0j>-nLo{V;>yZ+)(2meSvs_Sd{Lcy>w&#Oyy2CL z-^>}l2J~;b9}~AYcPYb-Ufvb$R{s5oEHk8%Y_AmBG=7miuuze=FDZG$7iNd~|62Xy zgH#z0WLi4k{=4jz+KJ5CSBYFN*|$_RE?9|4y&deSMe74#K6G7;OXk;vd$@?2>|6+{3QSY literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/silicosis_warning.png b/kubejs/assets/tfg/textures/mob_effect/silicosis_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..2f96f4f3488c9745c11232fd0bbaeaa1c5d97a87 GIT binary patch literal 3097 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/weak_poison_warning.png b/kubejs/assets/tfg/textures/mob_effect/weak_poison_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..4d5d8792b1d4e9a7bb889836af8a3a90ebe2e646 GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^LG1aF@#O6ATOt zoCO|{#S9E`2SAunP;c9I1_lQ95>H=O_LnT&Od1NiR?b#uU|?kMba4!^IQ@3=Ua!Le z5^eM6nK@;&KhWUdv(@Z6~ba?6xC{`k5+)Oqx@)N|MW zxw<8$+v^9FeX}E5=B%2=Egr=EIRF14sZCQO W)%F-qj$vS6VDNPHb6Mw<&;$U>e3r)m literal 0 HcmV?d00001 From ebb7fecf20e4bd58e4b2c5eb3539d14f349fb689 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 01:08:27 +0000 Subject: [PATCH 279/628] improvements to the hot or not levitation --- kubejs/server_scripts/minecraft/events.js | 13 +++++++------ kubejs/server_scripts/tfchotornot/tags.js | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/minecraft/events.js b/kubejs/server_scripts/minecraft/events.js index 32d8af04b..3802c853d 100644 --- a/kubejs/server_scripts/minecraft/events.js +++ b/kubejs/server_scripts/minecraft/events.js @@ -3,11 +3,12 @@ PlayerEvents.tick(event => { // make levitation last shorter, so shulkers aren't so deadly on the moon - - if (event.player.hasEffect('minecraft:levitation')) { - event.server.scheduleInTicks(0, () => { }) - event.server.scheduleInTicks(40, () => { - event.player.removeEffect('minecraft:levitation') - }) + const { player } = event; + if (player.age % 20 === 0) { + if (event.player.hasEffect('minecraft:levitation')) { + if (event.player.getEffect('minecraft:levitation').getDuration() > 60) { + event.player.potionEffects.add('minecraft:levitation', 60, 0, true, true) + } + } } }); diff --git a/kubejs/server_scripts/tfchotornot/tags.js b/kubejs/server_scripts/tfchotornot/tags.js index 8813879f0..80dfa7aae 100644 --- a/kubejs/server_scripts/tfchotornot/tags.js +++ b/kubejs/server_scripts/tfchotornot/tags.js @@ -36,6 +36,8 @@ const registerHotOrNotItemTags = (event) => { event.add('tfg:prevents_gas_floating', 'create:copper_diving_boots') event.add('tfg:prevents_gas_floating', 'create:netherite_diving_boots') + event.add('tfg:prevents_gas_floating', 'ad_astra:space_boots') + event.add('tfg:prevents_gas_floating', 'ad_astra:netherite_space_boots') } const registerHotOrNotFluidTags = (event) => { From bb9c0b608c9f6beb55f968613480c2cee9517988 Mon Sep 17 00:00:00 2001 From: Redeix Date: Wed, 10 Dec 2025 01:53:28 -0600 Subject: [PATCH 280/628] A bunch of random stuff (#2365) --- CHANGELOG.md | 2 ++ .../tfg/textures/block/casings/test_casing.png | Bin 0 -> 586 bytes .../block/casings/test_casing.png.mcmeta | 5 +++++ .../textures/block/casings/test_casing_ctm.png | Bin 0 -> 2102 bytes kubejs/server_scripts/tfg/food/tags.food.js | 3 ++- .../startup_scripts/computer_craft/constants.js | 2 +- kubejs/startup_scripts/tfc/constants.js | 2 +- kubejs/startup_scripts/tfg/blocks.casings.js | 6 +++++- kubejs/startup_scripts/tfg/items.food.js | 4 ++-- 9 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 kubejs/assets/tfg/textures/block/casings/test_casing.png create mode 100644 kubejs/assets/tfg/textures/block/casings/test_casing.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/test_casing_ctm.png diff --git a/CHANGELOG.md b/CHANGELOG.md index be3799ba0..c90bd6963 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ - Doubled the durability of all space suits @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie +- Fixed fries and cheese curds not being able to be put on burgers. @Redeix +- Fixed sliced brinza missing the proper cheese tags. @Redeix ### Translation updates ## [0.11.10] - 9-12-2025 diff --git a/kubejs/assets/tfg/textures/block/casings/test_casing.png b/kubejs/assets/tfg/textures/block/casings/test_casing.png new file mode 100644 index 0000000000000000000000000000000000000000..ebe3418a751f48b72b27e4af676e6e53fe7dbe16 GIT binary patch literal 586 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7Io-U3d7QMBTeZ5~hh_uaDnQO+vBrLAfA@XMW|HL|{`Ze0EO(o$k)^)F&(!eTs z+u@bTLeDITD)CDPuT;O!iA(!9ukzWP?-u?2{l|B$6LczAxB6;V-Tw3Y&z0?78hYLI z{rmSKu8smMymxcVzWlD;c3Zb{o^V^Db9`J}2B+ehmp^~byqJ;l{+I;AC!2J$*@-;| zKif}mc$I-17#9|ES)dH{zRL z?*A6fGAEC(8<`TJCNTmHJ`t)VGuUouISxt7IcegLd|v-Y*y;9@SM&d$ zdScFZX;=L6FwMs^_0|>{pX{9Xt!U8{Nw@N>IaU97-yC>mKY#zxH%G1;-Y(UNRr*xR zw0iCn7k^jJS9%W;nHbvr_IhPy@YKH5T^4uq{M!0DzrrGp;?)Q5o_@`+TZp0J;{#8x znTh8l-WwThoWJ&}Yl!dR+?iY6>d6q^|y`RYUvlHa+{(i#3w7&Y*cK%iBssb&4Ek72-ec|A^s=fcs z9lO7I*L9Y@yRi3^@tXPnwIp3`e|ciF(V?#F%ALkdn|OJt+=B^%j&UK{)SY+I+y5yjNq zUBWw3rj*PN%bhEEEOUn1wA6{GpZ+RIEuL%8v0|ETjJnF)iN8bE-|9JE(yMb?ZTjhN zFMpk4+oW`=^JUk@b7vle1Rb9%!Ek!hk1xkUm6B9k`ebIPPd_c#!njFEb=hle-eqZB zp0da1vi~&;x8Lh0Q!1d^_*1#~Nl|2z!W*F%ZzWzRD{$Q{oOSvsD3kWd%y6G5dgy?E z8P69%0oR9)^=5`|b<_Txkm*wTF3cct+O}2tr^wZsO$|O)zJZs2{J6yAwtJ^GW5e=e zML+Uf_RV;7@IAvzAE~t~Hh%c1I?L_%N0vJ$j`!N|Z10rb#p2lUc-Nf0HH{}Pa;D9n z=jUP5)$rb}BG2P;LE+sA1{{U5)49|2jSVeNeR-4O^k^c>rAb{6%}#1$Mmb8mPTZI! z)*3S}d-Z7!4woZyD*pXY=3J54x$NPjb0@Y$Gj38!jx_t})b})dH3!p?!1l-LeF7|s zmwtSFzb`T`+~AJdB#lOe2Q7ZrV_+jAwWe^*Z9EQQ(|3f3SPKP_S)%t zxnQD-AY;Lt4~;t;mSoI0D>j$UV^YH!51tIkZSTSYL?j>T*YDc&xISTTmeCyl;*YDf zE-vU2|G7kE>Z;iEsM#-0cgD+el;3+l)#&9#$5qes7Pz_A=sWp(URiA>e7SYsoC%EQ z?yp*~UB>GtPc>KOJM-9SX0J?g+nbgpvhtbUKG0vAC$+lPl2JM2T-@=CzDBCOU*<8r z`>XbKY3ZD0tzjn~N7%XP9{HXemVfPckrRv1=W@OHXSdvJSL)tZR$X~g@?x&?$?o>z zMd@`v=XzgRzgB%~dgY3h|K|%jZ=by9#nTp^fK%xgqWRX#+x0wUt*OYJnC^DW@U2GAoVOJ=#RLZ$EbZ@lFZ%Y zc1{MF>axBdyTdc}d6sSE%#&Iz5+tR&-gjs0%USQ77!uyys54UKeSAhp_%dr){}W$nvc3?ekxUjQaA_ znpb{5yF9I{r-#?ZvQgp9yl-!tUwLwV@%#PF@v8yj&p&IqPDjsXNj!0(!A+pebM1+{ ztHZXIKJx3)=r}T0B63P(c8&s<($vk@Z^qnH;ZfSMknxa$*QmsgjGZ`UaCO`X`g fRc(>R2m7DpM;O~~ysKwmU|{fc^>bP0l+XkKbW{Yv literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 02aa366af..9e5d65464 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -175,7 +175,8 @@ function registerTFGFoodItemTags(event) { const cheeses = [ '#firmalife:foods/cheeses', 'tfg:food/slice_of_cheese', - 'firmalife:food/shredded_cheese' + 'firmalife:food/shredded_cheese', + '#tfc_gurman:foods/brinza' ]; cheeses.forEach(item => { event.add('tfg:foods/cheeses', item); diff --git a/kubejs/startup_scripts/computer_craft/constants.js b/kubejs/startup_scripts/computer_craft/constants.js index a345baf46..e255a52d1 100644 --- a/kubejs/startup_scripts/computer_craft/constants.js +++ b/kubejs/startup_scripts/computer_craft/constants.js @@ -17,5 +17,5 @@ global.COMPUTER_CRAFT_DISCS = [ '{Color:8349260}', '{Color:5744206}', '{Color:13388876}', - '{Color:1118481}', + '{Color:1118481}' ] \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index b9ac3f4c6..eab52bc3e 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -836,7 +836,7 @@ global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x minecraft:clay_ball", output: "10x rnr:unfired_roof_tile", name: "roof_tile" }, { input: "5x minecraft:clay_ball", output: "firmalife:oven_top", name: "oven_top" }, { input: "5x minecraft:clay_ball", output: "firmalife:oven_chimney", name: "oven_chimney" }, - { input: "5x minecraft:clay_ball", output: "firmalife:oven_bottom", name: "oven_bottom" }, + { input: "5x minecraft:clay_ball", output: "firmalife:oven_bottom", name: "oven_bottom" } ]); global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ diff --git a/kubejs/startup_scripts/tfg/blocks.casings.js b/kubejs/startup_scripts/tfg/blocks.casings.js index b11f03bdd..0faab3877 100644 --- a/kubejs/startup_scripts/tfg/blocks.casings.js +++ b/kubejs/startup_scripts/tfg/blocks.casings.js @@ -116,6 +116,10 @@ function registerTFGCasingBlocks(event) { .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_brown') + event.create('tfg:casings/test_casing') + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBoth('c:hidden_from_recipe_viewers') - } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index 2ff882c35..e07c5fdfc 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -358,7 +358,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/cooked_beer_battered_cheese_curds') .food(food => food.hunger(3).saturation(2)) .tag('tfc:foods') - .tag('tfc:foods/usable_in_burgers'); + .tag('tfg:foods/usable_in_burgers'); // French Fries event.create('tfg:food/raw_fries') @@ -372,7 +372,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/cooked_fries') .food(food => food.hunger(3).saturation(2)) .tag('tfc:foods') - .tag('tfc:foods/usable_in_burgers'); + .tag('tfg:foods/usable_in_burgers'); // Poutine event.create('tfg:food/poutine') From 99a55f9855f9d58d51093d488820acbbb588add0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 09:20:05 +0000 Subject: [PATCH 281/628] Update CHANGELOG.md Signed-off-by: Pyritie --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c90bd6963..79b2e1cb5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Unreleased ### Changes - Doubled the durability of all space suits @Pyritie +- Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with diving suit boots or carrying something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests, cells, and space suits, but *not* drums or buckets. @Pyritie +- Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix From ba7c2b3403b1fff9085ebf9a70c371a9430964c9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 09:23:17 +0000 Subject: [PATCH 282/628] Update CHANGELOG.md Signed-off-by: Pyritie --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79b2e1cb5..58961ca28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Doubled the durability of all space suits @Pyritie - Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with diving suit boots or carrying something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests, cells, and space suits, but *not* drums or buckets. @Pyritie - Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie +- The hazard effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix From 9f6c342e8dea80b3b7d589a8db4aafb9c04e5774 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 21:42:28 +0000 Subject: [PATCH 283/628] better warning icons --- .../mob_effect/arsenicosis_warning.png | Bin 3151 -> 477 bytes .../textures/mob_effect/asbestosis_warning.png | Bin 569 -> 582 bytes .../mob_effect/berylliosis_warning.png | Bin 3156 -> 466 bytes .../carbon_monoxide_poisoning_warning.png | Bin 275 -> 396 bytes .../textures/mob_effect/carcinogen_warning.png | Bin 435 -> 448 bytes .../mob_effect/chemical_burns_warning.png | Bin 280 -> 328 bytes .../assets/tfg/textures/mob_effect/hazard2.png | Bin 0 -> 117 bytes .../textures/mob_effect/irritant_warning.png | Bin 477 -> 446 bytes .../mob_effect/methanol_poisoning_warning.png | Bin 649 -> 617 bytes .../tfg/textures/mob_effect/nausea_warning.png | Bin 444 -> 466 bytes .../tfg/textures/mob_effect/poison_warning.png | Bin 3153 -> 461 bytes .../mob_effect/prion_disease_warning.png | Bin 0 -> 390 bytes .../textures/mob_effect/silicosis_warning.png | Bin 3097 -> 429 bytes .../mob_effect/weak_poison_warning.png | Bin 371 -> 345 bytes 14 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/tfg/textures/mob_effect/hazard2.png create mode 100644 kubejs/assets/tfg/textures/mob_effect/prion_disease_warning.png diff --git a/kubejs/assets/tfg/textures/mob_effect/arsenicosis_warning.png b/kubejs/assets/tfg/textures/mob_effect/arsenicosis_warning.png index c92a3bdfb11575f41628909fe24ca860cb36f3be..9c8054a5e1e4ddf063555ee25b820168c7408080 100644 GIT binary patch delta 451 zcmX>vahG|5NKaez7GTmv}kss_FN4Hy+YP?%$VIf}lCO%zB;|j>n+qT4T|GK56nU%NC zepI<6yRz!h)7;F@tBp4#E^(@Qd#|*uYx=djHm6hs#m|RJ?Wu}pdvIFt3Dbw54Zn6d zSHEv@Nu9Q8t)RK*k)!(c_otj>efRLwbm3=AGiIKCa9iizbz*U5xkHA@X%CpK-AyL(S}`Z$2cI zG`4=3l_T->^yb7RhWquT-8Lnvcrv@rx~&!(&HSLo=KSTACJgEA;x5M-&&%0dzwv)# zgQ5BSRrecJB$Iv4@6F2o8#|vt-oKggqeIi}%ty~B#{XRSgIQ|c*Pfj{zu6fW7#KWV L{an^LB{Ts54(!)m delta 3127 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 RcTg;Ny0ZDXtaD0e0svJ&{tN&B diff --git a/kubejs/assets/tfg/textures/mob_effect/asbestosis_warning.png b/kubejs/assets/tfg/textures/mob_effect/asbestosis_warning.png index c045fbb77a1915b7fbcea1cfae2b88171d13939e..93dc9a5dc69586eb8c067443e983494246e7c373 100644 GIT binary patch delta 557 zcmdnVa*SnyNX04&64**Em0FDt#n$}?%H|jVdKN8JW@gP zbbqKk;ue%SQ)=*jRl>AO`ZC{lKi+r$e*5lbcHeA$)&Hx0*QW(BeM*d5wK(YMN4D?V zEV(!MTGkt^==Tz>G@o}WRnaL<*28kv(-TgG7b!oVfNCVvo+)u`hVv`=jz}x4-&=(N-99bA-cl2ec!M1Xdy!+A{B_p3Nsqv~h|K#oO ze(wE&f+?NMQuIw*axJ7tHWt;*O85kIkdAc}; zSe)KF*)Zd_gGifwyVEj_8%G*VmIb65TwJ1fVrI|sH@dMrclVSS&ET7BRrx7_>+Ws| zXWJQ%R<`*ZVioS>V-lUpQ|37_dV^1kNYV#^b^-reON_Ak2o zwtK%_{fsAX^WtOl^N(0fK2y7Knb^l=&l%>tI6lWJJtJ#k)1;&Q&OWEv7F=DC`p>|_ z$L~vWNNNAX$AQ;O8Ql8X&27~+4fvI!dZW@F@B4A|vigt06DK}uXhdrI66Xx=o7W|y2p;F-E-`o86_SgR1&6=vMe)LpWpX-Js!8Hs^B7(cmG;6r-WBl;x z=VqV(m)*-g&Hhp7QB!)-uTD7MjB$r*aQBR9XY=Z!!=|%wUMu-EdDFUw#}&I1TqCcm z?903v;>9-q?fM{|4-bm;`sCX+9QhdX%?|!4h`z|9q@~Jyc~kHs5y#bmr%S4s_uOR3 z{qOMTTyw|WKW209HF%wTaCLV1%FHP&SF3_$B-=}>m>K$doHhM6$lKOwOyZ1@F2BD$ iD!(h`@8$Sk+{?XwR=xYc-^0Mbz~JfX=d#Wzp$PzKA^8aa diff --git a/kubejs/assets/tfg/textures/mob_effect/berylliosis_warning.png b/kubejs/assets/tfg/textures/mob_effect/berylliosis_warning.png index 600f82824bbede346204bbff6a727bb0a36bef6d..a660d82ac03d5b8024540a5c94ca2301601083da 100644 GIT binary patch delta 440 zcmca2afx|?NWkR8)*Y|}S z&q)pU$eI&uxjf|Nvx@Icd8a>2WT`W{zRGOpLeoo|7w-{yRdUY7&e%FjU1NT1qFR#O zB!~3#p1sTgt8eApTUS5nibYxlpRu5_`Ich^r#?)mhe3qeu~CdR+*(%vm4v6H_YrP{2uU;r6TP^(2B|P zWL1SD3(oqzXV`f{(YuxLJdch4qZS69W8U!E915`)h=IPY}A-0c3F?iV~S@B9Bs`+sykhtytA;ehJX3=9kmp00i_>zopr0OVQ7X#fBK delta 3132 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 diff --git a/kubejs/assets/tfg/textures/mob_effect/carcinogen_warning.png b/kubejs/assets/tfg/textures/mob_effect/carcinogen_warning.png index 4f548bfb517bf77ebd261a86a8543ee064f689f9..f41bf0c118c8440ca310815dd80d2607867b4d90 100644 GIT binary patch delta 422 zcmdnYe1Lg^N5B zT6|D>uM>Crd++AcvfFkodj5JQql3<+ zBaQp(ugScWIdXrW)4$xS^$(k}^oyR&x&CG9(apVk7d_8?5)-C8{puX2_y;?-|M{%P zut`AV6erhHmQ4a%mrcpi6X?NMQuIw*axw+U_Pu{e1VPIf%@N{tu zu{eEovaQGA0Fl=H+qBk&YQGG7y-LA~qpa|iLerMXlQm>@UOZaTJ-Pdxo}X3M?2rPD z9XpP=wud~rly0@9lkLw!l`Sm7?YEqKdHa4X`+aZc^8$EM6Pehm;59QOt1rdK zaf;C{G(%;_6cyS>z6n3=9mOu6{1-oD!Mfmi&aY6&47!y+ z@t7O4Cev@0$_AT8e}$Jp5z7pwwua7A@I57PiKWGNL$C`+;|9$`TBjy;uzWuJZu%it zrCnZOA56;i%AXZH=VKOhOpaGk&5`2>5J`^-)!wBsy(F&Qs&8sK!--`xx(~d5;H$ru zz36D>Jv+-_#r^4GEJe95wH0b?SRB^rCR?&G`FVdQ I&MBb@0OoForvLx| delta 232 zcmX@XG=ph^3O`$tx4R1i82ohJT|ZG#qMp6P)7O>#9*;D$mciRUEA}!lFf8?SaSX9I zot&^hz~Is3nCqe6|G)jboJZcSHc4ad?pYI6nCI=O`v3o6>*E5u^*vh6`=)8NRf*N) z?cQ21efYNcc}csve`g*A%ll z=a<&zmmXaI|Nr?9{Wi=AjbFaKW&gzcP8%=-Ah_Vxe&_5WI5r=+B}tza=W@iS=15MW^76cLm% U_1gW9fq{X+)78&qol`;+0LTC)i2wiq literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/irritant_warning.png b/kubejs/assets/tfg/textures/mob_effect/irritant_warning.png index cd2df1a452002799063dbc64b6ef74fb428b2268..9b4b506ae1c10792083884abaec2f4a8f0164c9c 100644 GIT binary patch delta 420 zcmcc1ypMT;N zY+7)&$;ef~)j=osjme>Z4f`k9{cNu3&{!fmyCWg1Flo8Mx~U2|Q=QaX-)-2fCYD(= z+dO|p`Tf25X%Bi1|DOA7y+z%fY=`-eS#Qm~w*HA3gZc7=`lMAmZstf$GKmb+&yK2> zwa}AexNv$_UCl02_FsD&SzpxUC%C2r@=ajfkY^O}l(Q<5dBN?s$7at+(o}u@)oP(Z z_EhySmA7Bl_C2p`N%Rn4shH=!YH{DnLmC<7QM=;oMcq3(mR-)gsmQw5 zOad&7y>5pies-SdGpj%L*pOkW7i+`A0*(d&rllhL-YYM4@tV1#Gp8$bx|eFq^`#Ly zQlUFz_?C*yKHHYHb=HOiy?u8xGw*-zZQ8-B$imR~*kJy7VV0R0A6JU$yVq9eiEzF7 zUY&E>jpJa3Nz(S)iIM8JZ@)D&Z0=s^_HW6QGik=3e%kas-Vn7`kF7#f_T%#ExB7qV b_c6L@EVFeyxy^%tfq}u()z4*}Q$iB}f&;n( delta 451 zcmdnTe3yBGNtD#gz`$AH5n0T@z%2yAjF;}#{b68WU@!6Xb!C6a z!p6xg+-qi#!oa|o<>}%WVsU!uB*mON1|n_t^V@{NP9{$75jRMYvzVJWH953be3xvj zTlv)+bKRC73{G5f=&>8CW?zVycPigkhv`1Co4>89pY`Kp-TnOi-|YpHpP0Tr>)m)Y zOLVe|qHplF+iN5Cu$Ue5Dd1piSj^hBs3UWhT|>WC;^vzdOnlF5;?Y#SSM9`M;;YPX zBu04c*2fE9?9xk%bep8YbJ*ejcNso*!)JQW9xT!@IL2^f)hdRxhweJ-_qjh;ENzpr-5XZCBE*|LER{IlTM(cTU9?_HAeXF(l;HDf$0v z`p35~wod7M@weZ9Q*PI@zN+oqzq|iw^osi06p1$Vhk*_j&nE;0)!OLq+}U>C{#>Bf z#nQWz4H_c!rYFm6y>_{^_+4bhrjO?@F!;>1V`KZl%l~n0Z$n@GBL)Tr22WQ%mvv4F FO#tpN%C7(b diff --git a/kubejs/assets/tfg/textures/mob_effect/methanol_poisoning_warning.png b/kubejs/assets/tfg/textures/mob_effect/methanol_poisoning_warning.png index 5837a4931484071fb39ce37ac320a91c7fbb5285..085a413ea0a4f1173763b87ef452057b8d0fdcfa 100644 GIT binary patch delta 592 zcmeBVeaSLGrJl3EBeIx*fm;xS8S7KxCo(WFNqf3DhFJ9WPWJT|4issdZyi6EFC-#B zGs!?jXpwaCqNJeYAMCqI7`4A2+i`VibY1H|#_78*gbMR$WJN?YacEuOzjdx8YT4y) z_g*iG5^$-UyxG#S^3%NUPdZv#S$RKv_*H!7wsw+Lc9viL!Wus=hU~n&-Y?IrduEDW zxt;y%-)b$tLy8=S{wr`<&7XXT>yOgQmW!`dd8Wnxy0dF`Vul85!{Zri>ep=Exb1Uz zkKxlP2TcR!=Qm}4czIJ*Dsl3wvi2Q%Kc?kx+PKZxPW|ZnT~@PSGV3r*G!UF@`Q^F} zL*P{wlcR6l>I?pzJX%+8CMzq;FwJYyPj~M-)i&pv#qExs73<3m)O`D2O0cJA*@trx z?LEsIocIfp(>Bhp*{z$|COhqZPNC}TgC?x^7M%TYL_*8xMihTvdchXK_ugFb^O86k zpWo!+xskDw^RL8hqYFWccd<|3*2gsEl1pI6^i32`DGhS#@pYF7o``18}hhhfHyEoYlw3WkZ-E=${dBO4-+LO*}D*7K;A*nunaTl+Im;I}g-sj`%`&933@tyMGTKo6!lbJPH z3l$23CvCXql-+#og8hVpyVWMwUXp9rQ=P9`xbJF^$sx1V`P+9I&pf(~HLm~gg%1i= zn{M3W`uFL8mHv_AU5~DZM>svGvf4 z)Wb9Oy^b}>(*3qyp7}z3y>Y4Gfx_HFA3C-?Pe|qc=h%Iyt^bw8o}MSyD)^uNeRfpW zqR;ig^o-+OX|b2f4<9Ym4VriM!HVM#<66R=B{4A7?C*%r6beZ;3tN@J8|7T5>!8{E zOMXG+9mNmcSN@u@?-pFS^yHc)YXu+to|^;V~rAO9)-=-EGM&W>^s Q1_lNOPgg&ebxsLQ0Jy~)H2?qr diff --git a/kubejs/assets/tfg/textures/mob_effect/nausea_warning.png b/kubejs/assets/tfg/textures/mob_effect/nausea_warning.png index 92cbb6fd9dfc809c4fc22e72df7ef1893fc4585e..fcbb86607671ccd35fcdea16f53c38fce882e1ec 100644 GIT binary patch delta 440 zcmdnPe2IC2Nob<%lnCP$Iu_KWpaceg$9 zN>Sl(tQO3EIj!PTMt$yI)`HZh@yxutpDW9^O}+BL=H|E8n?iIX>U)D2Zg^fO;2Ww_4A?c|y>}0~#|j4zHd) z&qGt=>0PBaTg;3OK7N_Q%XXq8Dtx<2R&4G9q2ixU-o3lgv)owL+Bcr>aL4ScguT2{`2dzJy$J?T6c9jkIMg;gIV9shWVD~PB1LhIrM!- yph2R@pE)^`?lreR54U~2f2-B)S3mWCG3}DryD(`>3NHf#1B0ilpUXO@geCyeRnIyA delta 398 zcmcb_yoY&$3O`$tx4R2NEkh!MIp@mRk`ooh>lxTfJbhi+U$U}sN^sS3SM@P4FnW5r zIEGl9o;vw_c2k1Har?HQ$)bs;W&|yFj63qsvh351f49Dh_nZqfZ}xL_N)cq8R8i3W zttVi14>k3+`wq=Dm8polS^HLhLH6yL?=2&j-_=oF70SrS6ME3dw5(lt-}98k zA6>L|O{!mgrS|+usZ~w)R&BPPv%!Z~UR}6l@kf_kFAoHWO09C*zuY+9t>o6(IW7&_ z$`Q-h4jg{`bj|ix;jarGq^`?NpX&VPdkKTpTeZ)rQ+6{(xEgL&nD8X}X6r94pHGq; zMh(St9^ESYDWDsCdTrTRtJMZ4ubwYFW#-2?gSAm*>dO4bQ%b&Xzjrii#s=#-b&Rh2 zW7y0>TKmtduGjZpbGVl8%`2_v@AqnW+DJKv7Q9VglzgaUi5t@y&Pa0Uhj22WQ% Jmvv4FO#ojVzKs9? diff --git a/kubejs/assets/tfg/textures/mob_effect/poison_warning.png b/kubejs/assets/tfg/textures/mob_effect/poison_warning.png index ca0ffc66fc9ca6a43dd49188ec42de42db1ed4b3..ed4c02655eded55af1e26ca12a6a36a1a349eb02 100644 GIT binary patch delta 435 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 sS>Js7%Y|gA^IyfBn^&>?5Z}YNYh9uEk>n_ zyt_MlUghskfj_SAssF3eaOYM0Q_hCx*_~g-c0Mg{YMpbvUg`e*ivQn!a?QQIC@yYl zN5^-&t|>vU7BV>4);sLoqx8I#WzY8n6dIb?qv#vF zW~+#+<0O?pA=czA*GlSR*$-rGRXSh1Yu(~ZDTcn|%BPm zR(t+o!Hk2O`KAPA$(+-W3ZC{f-eqPyL@OAGz#A(UXb3k~|Cy3=E#G KelF{r5}E*}@wX}f delta 3072 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 L>gTe~DWM4fSW4he diff --git a/kubejs/assets/tfg/textures/mob_effect/weak_poison_warning.png b/kubejs/assets/tfg/textures/mob_effect/weak_poison_warning.png index 4d5d8792b1d4e9a7bb889836af8a3a90ebe2e646..657e1fa4656c070a6cc8d12c9451b77176c006bf 100644 GIT binary patch delta 318 zcmey&bdza`N?ndaPwjw$9l8+k8nW|BQqDu^~otG}eBvtbJ`TOI~OFhVm^Le|sa<;*b0nsbLaM XOMHB>t7tI;0|SGntDnm{r-UW|!77G+ delta 325 zcmcb~^qFab3O`$tx4R2NDG2UT`F&!dqIf+6dx@v7EBi|pZYB+dT`Om+GcYhRc)B=- zSe$-4d9T;u0ExEw^URzw+8=0eaPn@nf8aZXuc@gy;KZ|O+(j=$MXYvm#5G!!XB;GKc5>xKI+b2cNd=&BSfc-s22kz!=H;!wscyY(|yibL`*^w=CR!!p; h58{5D|NoHGrm2x?dyFT?FfcGMc)I$ztaD0e0synRkl6qL From c668d32ffa1a5a595254025326e732739b5705c9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 23:02:28 +0000 Subject: [PATCH 284/628] maybe overpowered bastion scythe --- kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json index 5e70329c4..c05271ad7 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json @@ -89,7 +89,7 @@ "functions": [ { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\":4, \"GT.Behaviours\":{\"MaxAoEColumn\":5, \"MaxAoERow\":5, \"MaxAoELayer\":3}, \"HideFlags\":1, \"Enchantments\": [{\"id\":\"minecraft:infinity\",\"lvl\":\"1s\"}]}" + "tag": "{\"tfc:forging_bonus\":4, \"GT.Behaviours\":{\"MaxAoEColumn\":2, \"MaxAoERow\":2, \"MaxAoELayer\":3}, \"HideFlags\":1, \"Enchantments\": [{\"id\":\"minecraft:infinity\",\"lvl\":\"1s\"}]}" } ] }, From 5be37dc97ff701394a7706fcf301ea9827c94dc9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 23:22:23 +0000 Subject: [PATCH 285/628] tooltips and tags for more hot/cold/light stuff --- kubejs/client_scripts/tooltips.js | 15 ++++++++++++++- kubejs/server_scripts/tfc/tags.js | 4 ++-- kubejs/server_scripts/tfchotornot/tags.js | 23 ++++++++++++++++++----- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 9c49c075c..4f956c4aa 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -283,8 +283,21 @@ const registerTooltips = (event) => { text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "9")) }) - //Nuclear Fission Tooltips + // Hot or not containers + event.addAdvanced(['#tfg:insulating_container'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_container")) + }) + event.addAdvanced(['#tfg:hot_protection_equipment'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_hot_equipment")) + }) + event.addAdvanced(['#tfg:cold_protection_equipment'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_cold_equipment")) + }) + event.addAdvanced(['#tfg:floating_protection_equipment'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_floating_equipment")) + }) + //Nuclear Fission Tooltips event.addAdvanced(['minecraft:blue_ice'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.blue_ice")) }) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index d5d3d82e4..37de5025b 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -584,8 +584,8 @@ function registerTFCFluidTags(event) { if (temp >= 1300) { event.add("tfchotornot:hot_whitelist", idStr); } - // Frostburns ya. - if (temp < 223) { + // Frostburns ya. (The zero check is to stop 'invalid' fluids from counting as too cold) + if (temp < 223 && temp > 0) { event.add("tfchotornot:cold_whitelist", idStr); } // Blue steel: can do heat, can't do cryo. diff --git a/kubejs/server_scripts/tfchotornot/tags.js b/kubejs/server_scripts/tfchotornot/tags.js index 80dfa7aae..7e1daaf8b 100644 --- a/kubejs/server_scripts/tfchotornot/tags.js +++ b/kubejs/server_scripts/tfchotornot/tags.js @@ -25,7 +25,7 @@ const registerHotOrNotItemTags = (event) => { event.add('tfg:insulating_container', 'gtceu:zpm_quantum_tank') event.add('tfg:insulating_container', 'gtceu:uv_quantum_tank') event.add('tfg:insulating_container', 'gtceu:uhv_quantum_tank') - event.add('tfg:insulating_container', '#tfc:barrels') + event.add('tfg:insulating_container', 'gtceu:glass_vial') event.add('tfg:insulating_container', 'gtceu:fluid_cell') event.add('tfg:insulating_container', 'gtceu:universal_fluid_cell') event.add('tfg:insulating_container', 'gtceu:steel_fluid_cell') @@ -34,10 +34,23 @@ const registerHotOrNotItemTags = (event) => { event.add('tfg:insulating_container', 'gtceu:titanium_fluid_cell') event.add('tfg:insulating_container', 'gtceu:tungsten_steel_fluid_cell') - event.add('tfg:prevents_gas_floating', 'create:copper_diving_boots') - event.add('tfg:prevents_gas_floating', 'create:netherite_diving_boots') - event.add('tfg:prevents_gas_floating', 'ad_astra:space_boots') - event.add('tfg:prevents_gas_floating', 'ad_astra:netherite_space_boots') + event.add('tfg:hot_protection_equipment', 'tfc:metal/chestplate/blue_steel') + event.add('tfg:hot_protection_equipment', 'create:netherite_backtank') + event.add('tfg:hot_protection_equipment', 'ad_astra:netherite_space_suit') + event.add('tfg:hot_protection_equipment', 'gtceu:quarktech_chestplate') + event.add('tfg:hot_protection_equipment', 'gtceu:advanced_quarktech_chestplate') + + event.add('tfg:cold_protection_equipment', 'tfc:metal/chestplate/red_steel') + event.add('tfg:cold_protection_equipment', 'ad_astra:space_suit') + event.add('tfg:cold_protection_equipment', 'ad_astra:netherite_space_suit') + event.add('tfg:cold_protection_equipment', 'gtceu:quarktech_chestplate') + event.add('tfg:cold_protection_equipment', 'gtceu:advanced_quarktech_chestplate') + + event.add('tfg:floating_protection_equipment', 'create:copper_diving_boots') + event.add('tfg:floating_protection_equipment', 'create:netherite_diving_boots') + event.add('tfg:floating_protection_equipment', 'ad_astra:space_boots') + event.add('tfg:floating_protection_equipment', 'ad_astra:netherite_space_boots') + event.add('tfg:floating_protection_equipment', 'gtceu:quarktech_boots') } const registerHotOrNotFluidTags = (event) => { From 8541c99ab07c289459537480fd39f5e92c8852fa Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 23:22:37 +0000 Subject: [PATCH 286/628] langs --- kubejs/assets/ad_astra/lang/ru_ru.json | 8 ++++---- kubejs/assets/tfg/lang/en_us.json | 4 ++++ kubejs/assets/tfg/lang/zh_cn.json | 22 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/kubejs/assets/ad_astra/lang/ru_ru.json b/kubejs/assets/ad_astra/lang/ru_ru.json index 92efa0e61..70ccf24ed 100644 --- a/kubejs/assets/ad_astra/lang/ru_ru.json +++ b/kubejs/assets/ad_astra/lang/ru_ru.json @@ -129,10 +129,10 @@ "item.ad_astra.steel_engine": "Ракетный двигатель (Сталь)", "item.ad_astra.desh_engine": "Ракетный двигатель (Деш)", "item.ad_astra.ostrum_engine": "Ракетный двигатель (Острум)", - "item.ad_astra.netherite_space_helmet": "§bКосмический шлем из вольфармовой стали", - "item.ad_astra.netherite_space_suit": "§bКосмический костюм из вольфармовой стали", - "item.ad_astra.netherite_space_pants": "§bКосмические штаны из вольфармовой стали", - "item.ad_astra.netherite_space_boots": "§bКосмические ботинки из вольфармовой стали", + "item.ad_astra.netherite_space_helmet": "§bКосмический шлем из вольфрамовой стали", + "item.ad_astra.netherite_space_suit": "§bКосмический костюм из вольфрамовой стали", + "item.ad_astra.netherite_space_pants": "§bКосмические штаны из вольфрамовой стали", + "item.ad_astra.netherite_space_boots": "§bКосмические ботинки из вольфрамовой стали", "item.ad_astra.cheese": "Лунный сыр", "dimension.ad_astra.glacio": "Европа", "dimension.ad_astra.glacio_orbit": "Орбита Европы", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 97fb623c0..dc9a6a042 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1515,6 +1515,10 @@ "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", + "tfg.tooltip.hotornot_container": "§aSafely contains §6hot§a, §bcold§a, and §elighter-than-air§a items and fluids.§r", + "tfg.tooltip.hotornot_hot_equipment": "§7Provides protection from all §6hot§7 items and fluids.§r", + "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items and fluids.§r", + "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 items and fluids.§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!", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index bff72f71c..1ea668c57 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -35,6 +35,15 @@ "biome.tfg.mars/sangnum_edge": "赤血边缘", "biome.tfg.mars/sangnum_plains": "赤血草原", "biome.tfg.mars/sangnum_hills": "赤血沼地", + "biome.tfg.venus/arachnoids": "金星蛛网状地貌", + "biome.tfg.venus/fractured_pools": "破裂池", + "biome.tfg.venus/fumaroles": "气态喷气孔", + "biome.tfg.venus/geysers": "滚烫间歇泉", + "biome.tfg.venus/jagged_tablelands": "锯齿状台地", + "biome.tfg.venus/salt_flats": "盐滩", + "biome.tfg.venus/stromatolite_beach": "叠层石滩", + "biome.tfg.venus/sulfuric_ravine": "硫酸峡谷", + "biome.tfg.venus/volcanic_mountains": "灼热火山", "block.tfg.piglin_disguise": "猪灵伪装", "block.tfg.piglin_disguise_block": "猪灵伪装", "block.tfg.dry_ice": "干冰", @@ -1460,6 +1469,19 @@ "entity.tfg.rnr_plow": "铺路车", "effect.tfg.cooling": "§b降温", "effect.tfg.warming": "§6保暖", + "effect.tfg.instant_radiation": "瞬间辐射", + "effect.tfg.chemical_burns_warning": "化学烧伤", + "effect.tfg.poison_warning": "剧毒物质", + "effect.tfg.weak_poison_warning": "弱毒物质", + "effect.tfg.irritant_warning": "刺激性物质", + "effect.tfg.nausea_warning": "致呕物质", + "effect.tfg.carcinogen_warning": "致癌物质", + "effect.tfg.asbestosis_warning": "石棉肺", + "effect.tfg.arsenicosis_warning": "砷中毒", + "effect.tfg.silicosis_warning": "硅肺病", + "effect.tfg.berylliosis_warning": "铍中毒", + "effect.tfg.methanol_poisoning_warning": "甲醇中毒", + "effect.tfg.carbon_monoxide_poisoning_warning": "一氧化碳中毒", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "§7风力磨坊的效率受其相对", From a6f8024aee44930138a76457d9ce42f80fee4741 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 23:28:51 +0000 Subject: [PATCH 287/628] some different icons for things --- kubejs/startup_scripts/tfg/icon_sets.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/startup_scripts/tfg/icon_sets.js b/kubejs/startup_scripts/tfg/icon_sets.js index 39e0c7b21..78a554510 100644 --- a/kubejs/startup_scripts/tfg/icon_sets.js +++ b/kubejs/startup_scripts/tfg/icon_sets.js @@ -91,6 +91,9 @@ function modifyTFGIconSets(event) { GTMaterials.BlackBronze.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Potin.setMaterialIconSet(GTMaterialIconSet.SHINY) GTMaterials.Cupronickel.setMaterialIconSet(GTMaterialIconSet.SHINY) + GTMaterials.ManganesePhosphide.setMaterialIconSet(GTMaterialIconSet.DULL) + GTMaterials.Osmium.setMaterialIconSet(GTMaterialIconSet.DULL) + GTMaterials.Invar.setMaterialIconSet(GTMaterialIconSet.DULL) GTMaterials.Aluminium.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_silver')) GTMaterials.Asbestos.setMaterialIconSet(GTMaterialIconSet.getByName('tfc_gold')) From f0db35c0ca6e2233d0454e18fee0094eb6f805d4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 23:29:57 +0000 Subject: [PATCH 288/628] fix #2373 --- kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 0988e5a3f..613f697ef 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -14,7 +14,7 @@ function registerTFGRockRecipes(event) { { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, { loose: 'beneath:blackstone_pebble', block: 'tfg:rock/cobble_blackstone' }, - { loose: 'beneath:blackstone_brick', block: 'minecraft:polished_blackstone_bricks' }, + { loose: 'beneath:blackstone_brick', block: '4x minecraft:polished_blackstone_bricks' }, { loose: 'tfg:loose/dripstone', block: 'tfg:rock/cobble_dripstone' }, { loose: 'tfg:brick/dripstone', block: '4x create:cut_dripstone_bricks' }, From ab1fb30b85838c7212fc87852f0e553b8a7406e5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 23:36:23 +0000 Subject: [PATCH 289/628] change mv plastic quests to accept liquids --- .../quests/chapters/mv__medium_voltage.snbt | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index a4132aec7..43acaadc6 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -777,8 +777,15 @@ size: 3.0d subtitle: "{quests.medium_voltage.mv_polyethylene.subtitle}" tasks: [{ - id: "15E5F008339B8964" - item: "gtceu:polyethylene_plate" + id: "1605293EDC9EAFCB" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:polyethylene\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:polyethylene\"}})item(gtceu:polyethylene_bucket))" + } + } + title: "{material.gtceu.polyethylene}" type: "item" }] title: "{quests.medium_voltage.mv_polyethylene.title}" @@ -794,8 +801,15 @@ size: 1.0d subtitle: "{quests.medium_voltage.mv_pvc.subtitle}" tasks: [{ - id: "72696AD2B77F805B" - item: "gtceu:polyvinyl_chloride_plate" + id: "1EDAC09CA0F55A2B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(nbt(fuzzy:{fluid:{FluidName:\"gtceu:polyvinyl_chloride\"}})nbt(fuzzy:{Fluid:{FluidName:\"gtceu:polyvinyl_chloride\"}})item(gtceu:polyvinyl_chloride_bucket))" + } + } + title: "{material.gtceu.polyvinyl_chloride}" type: "item" }] title: "{quests.medium_voltage.mv_pvc.title}" From c0ddacd1cb24a42245e43166ebc364ba1e813eee Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 10 Dec 2025 23:45:17 +0000 Subject: [PATCH 290/628] fix this for nether bricks too --- kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 613f697ef..9be05b6e3 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -20,7 +20,7 @@ function registerTFGRockRecipes(event) { { loose: 'tfg:brick/dripstone', block: '4x create:cut_dripstone_bricks' }, { loose: 'tfg:loose/crackrack', block: 'tfg:rock/cobble_crackrack' }, - { loose: 'minecraft:nether_brick', block: 'minecraft:nether_bricks' }, + { loose: 'minecraft:nether_brick', block: '4x minecraft:nether_bricks' }, { loose: 'tfg:loose/moon_stone', block: 'ad_astra:moon_cobblestone' }, { loose: 'tfg:brick/moon_stone', block: '4x ad_astra:moon_stone_bricks' }, From 3f8bd83a1a25d8eb9c0c04eb5e73856eadfa6a5a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 11 Dec 2025 00:43:31 +0000 Subject: [PATCH 291/628] fixed some dupes? --- kubejs/server_scripts/greate/recipes.js | 9 --------- 1 file changed, 9 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 113e23839..59380ef8d 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -93,7 +93,6 @@ function registerGreateRecipes(event) { .circuit(5) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() TFGHelpers.registerMaterialInfo('greate:andesite_alloy_gearbox', { 'wood': 1, 'wrought_iron': 1 }); TFGHelpers.registerMaterialInfo('greate:andesite_alloy_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1 }); @@ -104,8 +103,6 @@ function registerGreateRecipes(event) { .circuit(5) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() - .addMaterialInfo(true) TFGHelpers.registerMaterialInfo('greate:steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); TFGHelpers.registerMaterialInfo('greate:steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); @@ -116,8 +113,6 @@ function registerGreateRecipes(event) { .circuit(5) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() - .addMaterialInfo(true) TFGHelpers.registerMaterialInfo('greate:aluminium_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); TFGHelpers.registerMaterialInfo('greate:aluminium_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); @@ -128,8 +123,6 @@ function registerGreateRecipes(event) { .circuit(5) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() - .addMaterialInfo(true) TFGHelpers.registerMaterialInfo('greate:stainless_steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); TFGHelpers.registerMaterialInfo('greate:stainless_steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); @@ -140,8 +133,6 @@ function registerGreateRecipes(event) { .circuit(5) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() - .addMaterialInfo(true) TFGHelpers.registerMaterialInfo('greate:titanium_gearbox', { 'wood': 1, 'wrought_iron': 1, 'titanium': 4/9 }); TFGHelpers.registerMaterialInfo('greate:titanium_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'titanium': 4/9 }); From 1ed6ffb51f397f3e24621c748f976182915d98f6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 11 Dec 2025 00:45:22 +0000 Subject: [PATCH 292/628] added machine recipes for tongs --- CHANGELOG.md | 7 +++-- .../server_scripts/tfc/recipes.materials.js | 28 +++++++++++++++++-- .../gtceu/material_modification.js | 1 + 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58961ca28..62c2b2f24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,14 +2,17 @@ ## Unreleased ### Changes -- Doubled the durability of all space suits @Pyritie -- Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with diving suit boots or carrying something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests, cells, and space suits, but *not* drums or buckets. @Pyritie +- Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `tfg:hot_protection_equipment`, `tfg:cold_protection_equipment`, and `tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. @Pyritie +- GregTech hot ingots are also now properly included in the "too hot to handle" system so the same protection applies @Pyritie - Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie - The hazard effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie +- Added machine recipes for crafting tongs @Pyritie +- Doubled the durability of all space suits @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix - Fixed sliced brinza missing the proper cheese tags. @Redeix +- Fixed pyroxenite and keratophyre bricks crafting 1 instead of 4 (#2373) @Pyritie ### Translation updates ## [0.11.10] - 9-12-2025 diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 5fc44fd5e..1a8d62187 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -1324,22 +1324,44 @@ function registerTFCMaterialsRecipes(event) { let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) if (!tongsStack.isEmpty() && !tongPartStack.isEmpty() && material !== GTMaterials.Iron) { + // tong parts + event.custom({ + type: 'vintageimprovements:curving', + ingredients: [ChemicalHelper.get(TagPrefix.rodLong, material, 1)], + itemAsHead: 'gtceu:rod_extruder_mold', + results: [tongPartStack], + processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER + }).id(`tfg:vi/curving/${material.getName()}_tong`) + + event.recipes.gtceu.extruder(`tfg:${material.getName()}_tong`) + .itemInputs(`#forge:rods/long/${material.getName()}`) + .notConsumable('gtceu:rod_extruder_mold') + .itemOutputs(tongPartStack) + .duration(material.getMass()) + .EUt(GTValues.VA[GTValues.LV]) + + // tongs event.recipes.tfc.advanced_shaped_crafting( TFC.isp.of(tongsStack).copyForgingBonus(), [ 'AA', 'BC' ], { A: tongPartStack, - B: '#forge:bolts', + B: Ingredient.of('#forge:bolts').subtract('gtceu:wood_bolt'), C: '#forge:tools/hammers' }, 0, 0).id(`tfchotornot:crafting/tongs/${material.getName()}`) - // tong parts + event.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_tong`) + .itemInputs(tongPartStack.withCount(2)) + .itemOutputs(tongsStack) + .duration(material.getMass()) + .EUt(GTValues.VA[GTValues.ULV]) + + // tong heating event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfchotornot:heating/tong_part/${material.getName()}`) - // tong heating event.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) .useDurability(true) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index cd9294168..32c8d2ab0 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -259,6 +259,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.BismuthBronze.addFlags(GENERATE_SMALL_GEAR); 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.RedSteel.addFlags(GENERATE_LONG_ROD, GENERATE_BOLT_SCREW, GENERATE_FOIL); From 183c071f171a260bb852b6c32ca0cc4b626067b9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 11 Dec 2025 00:58:26 +0000 Subject: [PATCH 293/628] changed requirements for cleanroom quest --- config/ftbquests/quests/chapters/hv__high_voltage.snbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index a203b1f59..f5cb60ee7 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -496,15 +496,15 @@ type: "item" } { - count: 40L id: "18AECBFB42064D4E" item: "gtceu:plascrete" + optional_task: true type: "item" } { - count: 10L id: "4DA87A845076183A" item: "gtceu:cleanroom_glass" + optional_task: true type: "item" } ] From e85d833bceb43b7522785984c753a0739794af1b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 11 Dec 2025 01:10:31 +0000 Subject: [PATCH 294/628] improved tooltips, added boots --- CHANGELOG.md | 2 +- kubejs/assets/tfg/lang/en_us.json | 6 +- kubejs/client_scripts/tooltips.js | 77 ++++++++++++----------- kubejs/server_scripts/tfchotornot/tags.js | 16 +++++ 4 files changed, 59 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62c2b2f24..9b0d62267 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Unreleased ### Changes -- Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `tfg:hot_protection_equipment`, `tfg:cold_protection_equipment`, and `tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. @Pyritie +- Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `tfg:hot_protection_equipment`, `tfg:cold_protection_equipment`, and `tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie - GregTech hot ingots are also now properly included in the "too hot to handle" system so the same protection applies @Pyritie - Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie - The hazard effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index dc9a6a042..80e62153a 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1515,9 +1515,9 @@ "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", - "tfg.tooltip.hotornot_container": "§aSafely contains §6hot§a, §bcold§a, and §elighter-than-air§a items and fluids.§r", - "tfg.tooltip.hotornot_hot_equipment": "§7Provides protection from all §6hot§7 items and fluids.§r", - "tfg.tooltip.hotornot_cold_equipment": "§7Provides protection from all §bcold§7 items and fluids.§r", + "tfg.tooltip.hotornot_container": "§aSafely contains §6hot§a, §bcold§a, and §elighter-than-air§a gases.§r", + "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 items and fluids.§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", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 4f956c4aa..3d604631f 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -94,37 +94,52 @@ const registerTooltips = (event) => { text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) + // Hot or not containers + event.addAdvanced(['#tfg:insulating_container'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_container")) + }) + // Do these in reverse order so the hot one appears on top + event.addAdvanced(['#tfg:floating_protection_equipment'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_floating_equipment")) + }) + event.addAdvanced(['#tfg:cold_protection_equipment'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_cold_equipment")) + }) + event.addAdvanced(['#tfg:hot_protection_equipment'], (item, advanced, text) => { + text.add(1, Text.translate("tfg.tooltip.hotornot_hot_equipment")) + }) + // Insulation event.addAdvanced(['create:copper_diving_helmet', 'create:copper_backtank', 'create:copper_diving_boots'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.armor.copper_diving_suit_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.copper_diving_suit_insulation')) + text.add(1, Text.translate('tfg.tooltip.armor.copper_diving_suit_warmth')); + text.add(2, Text.translate('tfg.tooltip.armor.copper_diving_suit_insulation')); }) event.addAdvanced(['create:netherite_diving_helmet', 'create:netherite_backtank', 'create:netherite_diving_boots', 'minecraft:netherite_leggings', 'minecraft:netherite_boots'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.armor.netherite_diving_suit_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')) - text.add(3, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')) + text.add(1, Text.translate('tfg.tooltip.armor.netherite_diving_suit_warmth')); + text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')); + text.add(3, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')); }) event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:advanced_nanomuscle_chestplate'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.armor.nanomuscle_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')) - text.add(3, Text.translate('tfg.tooltip.armor.nanomuscle_set')) + text.add(1, Text.translate('tfg.tooltip.armor.nanomuscle_warmth')); + text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')); + text.add(3, Text.translate('tfg.tooltip.armor.nanomuscle_set')); if (item === 'gtceu:nanomuscle_leggings') { - text.add(4, Text.translate('tfg.tooltip.armor.nanomuscle_legs_buff')) + text.add(4, Text.translate('tfg.tooltip.armor.nanomuscle_legs_buff')); } }) event.addAdvanced(['gtceu:quarktech_helmet', 'gtceu:quarktech_chestplate', 'gtceu:quarktech_leggings', 'gtceu:quarktech_boots', 'gtceu:advanced_quarktech_chestplate'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.armor.quarktech_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.quarktech_insulation')) - text.add(3, Text.translate('tfg.tooltip.armor.quarktech_set')) + text.add(1, Text.translate('tfg.tooltip.armor.quarktech_warmth')); + text.add(2, Text.translate('tfg.tooltip.armor.quarktech_insulation')); + text.add(3, Text.translate('tfg.tooltip.armor.quarktech_set')); }) event.addAdvanced([ 'ad_astra:space_helmet', 'ad_astra:space_suit', 'ad_astra:space_pants', 'ad_astra:space_boots', 'ad_astra:netherite_space_helmet', 'ad_astra:netherite_space_suit', 'ad_astra:netherite_space_pants', 'ad_astra:netherite_space_boots', 'ad_astra:jet_suit_helmet', 'ad_astra:jet_suit', 'ad_astra:jet_suit_pants', 'ad_astra:jet_suit_boots' ], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.armor.space_suit_warmth')), - text.add(2, Text.translate('tfg.tooltip.armor.space_suit_insulation')) - text.add(3, Text.translate('tfg.tooltip.armor.space_suit_set')) + text.add(1, Text.translate('tfg.tooltip.armor.space_suit_warmth')); + text.add(2, Text.translate('tfg.tooltip.armor.space_suit_insulation')); + text.add(3, Text.translate('tfg.tooltip.armor.space_suit_set')); }) // Supports @@ -178,7 +193,7 @@ const registerTooltips = (event) => { }) event.addAdvanced(['gtceu:large_solar_panel_tier3'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.solar_panel.large_tier3')) + text.add(1, Text.translate('tfg.tooltip.solar_panel.large_tier3')); text.add(2, Text.translate('tfg.tooltip.machine.parallel')) }) @@ -188,12 +203,12 @@ const registerTooltips = (event) => { }) event.addAdvanced(['tfg:sniffer_egg'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.attribution.sniffer')), + text.add(1, Text.translate('tfg.tooltip.attribution.sniffer')); text.add(2, Text.translate('tfg.tooltip.large_egg')) }) event.addAdvanced(['tfg:wraptor_egg'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.attribution.wraptor')), + text.add(1, Text.translate('tfg.tooltip.attribution.wraptor')); text.add(2, Text.translate('tfg.tooltip.large_egg')) }) @@ -283,20 +298,6 @@ const registerTooltips = (event) => { text.add(1, Text.translate("gtceu.universal.tooltip.item_storage_capacity", "9")) }) - // Hot or not containers - event.addAdvanced(['#tfg:insulating_container'], (item, advanced, text) => { - text.add(1, Text.translate("tfg.tooltip.hotornot_container")) - }) - event.addAdvanced(['#tfg:hot_protection_equipment'], (item, advanced, text) => { - text.add(1, Text.translate("tfg.tooltip.hotornot_hot_equipment")) - }) - event.addAdvanced(['#tfg:cold_protection_equipment'], (item, advanced, text) => { - text.add(1, Text.translate("tfg.tooltip.hotornot_cold_equipment")) - }) - event.addAdvanced(['#tfg:floating_protection_equipment'], (item, advanced, text) => { - text.add(1, Text.translate("tfg.tooltip.hotornot_floating_equipment")) - }) - //Nuclear Fission Tooltips event.addAdvanced(['minecraft:blue_ice'], (item, advanced, text) => { text.add(1, Text.translate("tfg.tooltip.component.blue_ice")) @@ -321,15 +322,15 @@ const registerTooltips = (event) => { }) 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")) + 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:food/slice_of_cheese'], (item, advanced, text) => { if (!event.isShift()) { text.add(1, Text.translate("tfg.tooltip.fake_nutrition_info_listener")) } else { - text.add(1, Text.translate("tfg.tooltip.fake_nutrition_info")) + text.add(1, Text.translate("tfg.tooltip.fake_nutrition_info")); text.add(2, Text.translate("tfg.tooltip.cheese_slice_microplastics")) }; }); @@ -337,9 +338,9 @@ const registerTooltips = (event) => { // AE2 event.addAdvanced(['tfg:wireless_card'], (item, advanced, text) => { - text.add(1, Text.translate('tfg.tooltip.wireless_card_1')) - text.add(2, Text.translate('tfg.tooltip.wireless_card_2')) - text.add(3, Text.translate('tfg.tooltip.wireless_card_3')) + text.add(1, Text.translate('tfg.tooltip.wireless_card_1')); + text.add(2, Text.translate('tfg.tooltip.wireless_card_2')); + text.add(3, Text.translate('tfg.tooltip.wireless_card_3')); }) // Deprecated Items diff --git a/kubejs/server_scripts/tfchotornot/tags.js b/kubejs/server_scripts/tfchotornot/tags.js index 7e1daaf8b..9bb1a6891 100644 --- a/kubejs/server_scripts/tfchotornot/tags.js +++ b/kubejs/server_scripts/tfchotornot/tags.js @@ -35,21 +35,37 @@ const registerHotOrNotItemTags = (event) => { event.add('tfg:insulating_container', 'gtceu:tungsten_steel_fluid_cell') event.add('tfg:hot_protection_equipment', 'tfc:metal/chestplate/blue_steel') + event.add('tfg:hot_protection_equipment', 'tfc:metal/boots/blue_steel') + event.add('tfg:hot_protection_equipment', 'sns:blue_steel_toe_hiking_boots') + event.add('tfg:hot_protection_equipment', 'minecraft:netherite_boots') event.add('tfg:hot_protection_equipment', 'create:netherite_backtank') + event.add('tfg:hot_protection_equipment', 'create:netherite_diving_boots') event.add('tfg:hot_protection_equipment', 'ad_astra:netherite_space_suit') + event.add('tfg:hot_protection_equipment', 'ad_astra:netherite_space_boots') + event.add('tfg:hot_protection_equipment', 'gtceu:hazmat_chestpiece') + event.add('tfg:hot_protection_equipment', 'gtceu:hazmat_boots') event.add('tfg:hot_protection_equipment', 'gtceu:quarktech_chestplate') event.add('tfg:hot_protection_equipment', 'gtceu:advanced_quarktech_chestplate') + event.add('tfg:hot_protection_equipment', 'gtceu:quarktech_boots') event.add('tfg:cold_protection_equipment', 'tfc:metal/chestplate/red_steel') + event.add('tfg:cold_protection_equipment', 'tfc:metal/boots/red_steel') + event.add('tfg:cold_protection_equipment', 'sns:red_steel_toe_hiking_boots') + event.add('tfg:cold_protection_equipment', 'ad_astra:space_boots') event.add('tfg:cold_protection_equipment', 'ad_astra:space_suit') event.add('tfg:cold_protection_equipment', 'ad_astra:netherite_space_suit') + event.add('tfg:cold_protection_equipment', 'ad_astra:netherite_space_boots') + event.add('tfg:cold_protection_equipment', 'gtceu:hazmat_chestpiece') + event.add('tfg:cold_protection_equipment', 'gtceu:hazmat_boots') event.add('tfg:cold_protection_equipment', 'gtceu:quarktech_chestplate') event.add('tfg:cold_protection_equipment', 'gtceu:advanced_quarktech_chestplate') + event.add('tfg:cold_protection_equipment', 'gtceu:quarktech_boots') event.add('tfg:floating_protection_equipment', 'create:copper_diving_boots') event.add('tfg:floating_protection_equipment', 'create:netherite_diving_boots') event.add('tfg:floating_protection_equipment', 'ad_astra:space_boots') event.add('tfg:floating_protection_equipment', 'ad_astra:netherite_space_boots') + event.add('tfg:floating_protection_equipment', 'gtceu:hazmat_boots') event.add('tfg:floating_protection_equipment', 'gtceu:quarktech_boots') } From 29f4d54af3d8dbc87951fea8233f9a5601fbecda Mon Sep 17 00:00:00 2001 From: Redeix Date: Thu, 11 Dec 2025 17:37:22 -0600 Subject: [PATCH 295/628] Tags (#2385) Signed-off-by: Redeix --- kubejs/startup_scripts/tfg/items.food.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index e07c5fdfc..3c9cdbe03 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -444,7 +444,8 @@ function registerTFGFoodItems(event) { event.create('tfg:food/oatmeal') .translationKey('item.tfg.food.oatmeal') .texture('tfg:item/food/oatmeal') - .food(food => food.hunger(8).saturation(8)); + .food(food => food.hunger(8).saturation(8)) + .tag('tfc:foods'); // Instant Mac event.create('tfg:food/raw_instant_mac') @@ -453,7 +454,8 @@ function registerTFGFoodItems(event) { .food(food => food.hunger(2).saturation(2) .eaten(ctx => { ctx.player.give('create:cardboard') - })); + })) + .tag('tfc:foods'); event.create('tfg:food/cooked_instant_mac') .translationKey('item.tfg.food.cooked_instant_mac') @@ -461,7 +463,8 @@ function registerTFGFoodItems(event) { .food(food => food.hunger(4).saturation(4) .eaten(ctx => { ctx.player.give('create:cardboard') - })); + })) + .tag('tfc:foods'); //#region Spices From a9613b372f9d944718c0a82c45bf8715d8598b4e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 11 Dec 2025 23:44:25 +0000 Subject: [PATCH 296/628] remove logging --- .../tfg/primitive/recipes.supports.js | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.supports.js b/kubejs/server_scripts/tfg/primitive/recipes.supports.js index 741a821e9..90a296b6d 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.supports.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.supports.js @@ -13,20 +13,20 @@ function registerTFGSupportRecipes(event) { .itemInputs('1x tfg:rebar_support') .duration(60) .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') + + event.recipes.gtceu.assembler('tfg:gtceu/assembler/reinforced_light_concrete_support') .inputFluids(Fluid.of('gtceu:concrete', 96)) .itemOutputs('1x tfg:reinforced_light_concrete_support') .itemInputs('1x tfg:rebar_support') .duration(120) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`) - .itemInputs('tfg:reinforced_light_concrete_support') - .itemOutputs('gtceu:tiny_steel_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING); + event.recipes.gtceu.macerator(`reinforced_light_concrete_support_to_dust`) + .itemInputs('tfg:reinforced_light_concrete_support') + .itemOutputs('gtceu:tiny_steel_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING); event.recipes.gtceu.chemical_bath('tfg:gtceu/chemical_bath/reinforced_dark_concrete_support') .inputFluids(Fluid.of('tfc:black_dye', 10)) @@ -130,19 +130,19 @@ function registerTFGSupportRecipes(event) { // REDO w/ table and loop const EXO_STONE_SUPPORTS = [ - { loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support', material: 'deepslate' }, - { loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support', material: 'blackstone', }, - { loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support', material: 'dripstone' }, - { loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support', material: 'netherrack'}, - { loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support', material: 'moon_stone' }, - { loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support', material: 'moon_deepslate' }, - { loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support', material: 'mars_stone' }, - { loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support', material: 'venus_stone', }, - { loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support', material: 'mercury_stone' }, - { loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support', material: 'glacio_stone' }, - { loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support', material: 'ice' }, - { loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support', material: 'granite_red' }, - { loose: 'gtceu:stone_ingot', support: 'tfg:stone_support', material: 'stone' } + { loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support', material: 'deepslate' }, + { loose: 'beneath:blackstone_pebble', support: 'tfg:pyroxenite_support', material: 'blackstone', }, + { loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support', material: 'dripstone' }, + { loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support', material: 'netherrack' }, + { loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support', material: 'moon_stone' }, + { loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support', material: 'moon_deepslate' }, + { loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support', material: 'mars_stone' }, + { loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support', material: 'venus_stone', }, + { loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support', material: 'mercury_stone' }, + { loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support', material: 'glacio_stone' }, + { loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support', material: 'ice' }, + { loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support', material: 'granite_red' }, + { loose: 'gtceu:stone_ingot', support: 'tfg:stone_support', material: 'stone' } ] EXO_STONE_SUPPORTS.forEach(s => { @@ -166,7 +166,6 @@ function registerTFGSupportRecipes(event) { .duration(40) .EUt(GTValues.VA[GTValues.ULV]) - console.log(s.material); let regexMatch = s.support.match(/tfg:(.*?)_support/); let supportName = regexMatch[1]; let stoneMaterial = TFGHelpers.getMaterial(s.material); From a90bc5ceab834d7ce5a79570b8d57fc516ad5d8f Mon Sep 17 00:00:00 2001 From: Mqrius Date: Fri, 12 Dec 2025 01:02:30 +0100 Subject: [PATCH 297/628] Fix quest MV quad pipe accepted items (#2384) Accept any quadruple or nonuple pipe based on item tags, instead of one of three specific items. Signed-off-by: Mqrius --- config/ftbquests/quests/chapters/mv__medium_voltage.snbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 43acaadc6..bc13fe450 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1221,7 +1221,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:aluminium_quadruple_fluid_pipe)item(gtceu:blue_steel_quadruple_fluid_pipe)item(gtceu:steel_quadruple_fluid_pipe))" + "ftbfiltersystem:filter": "or(item_tag(forge:quadruple_fluid_pipes)item_tag(forge:nonuple_fluid_pipes))" } } title: "Multiple Channel Potin Pipes, please" From 90c133aa45e71835fe4578ca877d20d6f2fad65d Mon Sep 17 00:00:00 2001 From: Mqrius Date: Fri, 12 Dec 2025 01:37:54 +0100 Subject: [PATCH 298/628] Various optional tags for quest items (#2386) * Make Greate shaft & small cogwheel optional Signed-off-by: Mqrius * LV: Make greate shaft and small cogwheel optional Signed-off-by: Mqrius * LV: make light fuel bucket optional Signed-off-by: Mqrius * MV: Make greate shaft and small cogwheel optional Signed-off-by: Mqrius * HV: Make greate shaft and small cogwheel optional Signed-off-by: Mqrius --------- Signed-off-by: Mqrius Co-authored-by: Redeix --- config/ftbquests/quests/chapters/hv__high_voltage.snbt | 2 ++ config/ftbquests/quests/chapters/lv__low_voltage.snbt | 3 +++ config/ftbquests/quests/chapters/mv__medium_voltage.snbt | 2 ++ config/ftbquests/quests/chapters/questssteam_age.snbt | 2 ++ 4 files changed, 9 insertions(+) diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index f5cb60ee7..1a800c913 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1619,6 +1619,7 @@ { id: "5B94BB35A8480214" item: "greate:titanium_cogwheel" + optional_task: true type: "item" } { @@ -1629,6 +1630,7 @@ { id: "2E602B31550041B9" item: "greate:titanium_shaft" + optional_task: true type: "item" } ] diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 9097d9d30..145d185b8 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -1623,6 +1623,7 @@ { id: "1483488F0E301BCC" item: "greate:aluminium_cogwheel" + optional_task: true type: "item" } { @@ -1633,6 +1634,7 @@ { id: "32C96E141753187B" item: "greate:aluminium_shaft" + optional_task: true type: "item" } ] @@ -1700,6 +1702,7 @@ { id: "34153032225B76BB" item: "gtceu:light_fuel_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 bc13fe450..ee5222806 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1636,6 +1636,7 @@ { id: "53919EE5BCCA618A" item: "greate:stainless_steel_cogwheel" + optional_task: true type: "item" } { @@ -1646,6 +1647,7 @@ { id: "6DF7F28AABF6785F" item: "greate:stainless_steel_shaft" + optional_task: true type: "item" } ] diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 4841ea4b5..e57698968 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -378,11 +378,13 @@ { id: "23DE370285589CB4" item: "greate:steel_shaft" + optional_task: true type: "item" } { id: "4FDD99090C920E21" item: "greate:steel_cogwheel" + optional_task: true type: "item" } { From 2a9f70e35e59142229afafdf51308d417e2ecddf Mon Sep 17 00:00:00 2001 From: Epicificator <143143550+Epicificator@users.noreply.github.com> Date: Fri, 12 Dec 2025 16:35:44 -0500 Subject: [PATCH 299/628] add acetic acid and vinegar conversion (#2390) * add acetic acid and vinegar conversion Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * add circuit condition to prevent conflicting with dye recipes Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * changed machine to mixer, and voltage tier to mv Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> --------- Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> --- kubejs/server_scripts/tfc/recipes.js | 48 ++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index a6da50e30..c67e8352b 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -241,4 +241,52 @@ const registerTFCRecipes = (event) => { .itemOutputs('tfc:wrought_iron_grill') .duration(60) .EUt(8) + + //Jigabit's stupid acetic acid to vinegar conversion + + event.recipes.gtceu.mixer('vinegar_from_acetic_acid') + .inputFluids( + Fluid.of('minecraft:water', 950), + Fluid.of('gtceu:acetic_acid', 50) + ) + .outputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .circuit(1) + .duration(30) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillery('acetic_acid_from_vinegar') + .inputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .outputFluids( + Fluid.of('gtceu:acetic_acid', 50) + ) + .circuit(1) + .duration(50) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillery('water_from_vinegar') + .inputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .outputFluids( + Fluid.of('minecraft:water', 950) + ) + .circuit(2) + .duration(50) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillation_tower('vinegar_distillation') + .inputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .outputFluids( + Fluid.of('gtceu:acetic_acid', 50), + Fluid.of('minecraft:water', 950) + ) + .duration(80) + .EUt(GTValues.VA[GTValues.MV]) + } From 24bd4b9fca117f8a28e0f752e5c3e690b9e40198 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 12 Dec 2025 22:11:14 +0000 Subject: [PATCH 300/628] langs --- kubejs/assets/greate/lang/en_us.json | 10 +++++----- kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/assets/tfg/lang/en_us.json | 12 ++++++++---- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 16 ++++++++++++---- 5 files changed, 27 insertions(+), 14 deletions(-) diff --git a/kubejs/assets/greate/lang/en_us.json b/kubejs/assets/greate/lang/en_us.json index aacdc7752..1e138bfab 100644 --- a/kubejs/assets/greate/lang/en_us.json +++ b/kubejs/assets/greate/lang/en_us.json @@ -32,11 +32,11 @@ "block.greate.large_andesite_alloy_cogwheel": "Large Basic Cogwheel", "block.greate.metal_girder_encased_andesite_alloy_shaft": "Metal Girder Encased Basic Shaft", "block.greate.powered_andesite_alloy_shaft": "Powered Basic Shaft", - "item.greate.rubber_belt_connector": "Rubber Belt", - "item.greate.silicone_rubber_belt_connector": "Silicone Rubber Belt", - "block.greate.polyethylene_belt_titanium": "Styrene Butadiene Rubber Belt", - "block.greate.polyethylene_belt_tungsten_steel": "Styrene Butadiene Rubber Belt", - "item.greate.polyethylene_belt_connector": "Styrene Butadiene Rubber Belt", + "item.greate.wooden_belt_connector": "Plank Tread Mechanical Belt", + "item.greate.stone_belt_connector": "Leather Mechanical Belt", + "item.greate.rubber_belt_connector": "Rubber Mechanical Belt", + "item.greate.silicone_rubber_belt_connector": "Silicone Rubber Mechanical Belt", + "item.greate.styrene_butadiene_rubber_belt_connector": "Styrene Butadiene Rubber Mechanical Belt", "item.greate.andesite_alloy_vertical_gearbox": "Basic Vertical Gearbox", "greate.recipe.packing": "Welding & Packing", "greate.ponder.belt_casing.text_1": "Brass or Metal Casing can be used to decorate Mechanical Belts", diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 3cb0b07be..0d51633b6 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -212,6 +212,7 @@ "gtceu.recipe.category.ingot_molding": "Material Molding", "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower, Moon and Ostrum Harvesters:§r", + "tooltip.moldraw.shift_view": "§o§7Hold (Shift) for Molecular Structure§r", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 80e62153a..15d0d1d21 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1203,6 +1203,10 @@ "material.tfg.linolenic_acid": "α-Linolenic Acid", "material.tfg.isosorbide_ln": "Isosorbide Linolenate", "material.tfg.epox_isosorbide_ln": "Epoxidized Isosorbide Linolenate", + "material.tfg.ozone": "Ozone", + "material.tfg.tin_chloride": "Stannous Chloride", + "material.tfg.cyclohexanone": "Cyclohexanone", + "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxide", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1515,10 +1519,10 @@ "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", - "tfg.tooltip.hotornot_container": "§aSafely contains §6hot§a, §bcold§a, and §elighter-than-air§a gases.§r", + "tfg.tooltip.hotornot_container": "§aSafely contains §6hot§a, §bcold§a, and §elighter-than-air§a items and fluids.§r", "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 items and fluids.§r", + "tfg.tooltip.hotornot_floating_equipment": "§7Provides protection from all §elighter-than-air§7 gases.§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!", @@ -2639,7 +2643,7 @@ "quests.low_voltage.lv_gas_syngas.title": "Syngas", "quests.low_voltage.lv_gas_syngas.subtitle": "Not Wood Gas", "quests.low_voltage.lv_gas_syngas.desc": "Making &7Syngas&r is really easy. You simply need &b3 Coke Ovens&r for each &6Brewery&r or &6Vacuum Chamber&r. Then you collect &7wood&r with the help of a &bCreate Tree Farm&r to minimize the energy costs, and you can enjoy this weak but easy-to-make &7gas fuel&r.", - "quests.low_voltage.lv_naphtha_light.title": "Naphtha and Light Oil", + "quests.low_voltage.lv_naphtha_light.title": "Naphtha and Light Fuel", "quests.low_voltage.lv_naphtha_light.subtitle": "You can make plastic with them", "quests.low_voltage.lv_naphtha_light.desc": "If you really hate farming and prefer adventuring in the &6desert&r or mining massive amounts of &7Oilsands&r, then maybe &7Naphtha&r (better from &7Raw Oil&r) or &7Light Fuel&r (better from &7Oil&r) should be fuels you could look at.\n\nBeing quite good for how easy they are to produce, they need to be manually harvested at that point though.", "quests.low_voltage.lv_turbo_charge.title": "Turbo Charger", @@ -3565,7 +3569,7 @@ "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 8 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", "quests.steam_age.helve_hammer.title": "Helve Hammer", "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", - "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", + "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it by pressing the &2Throw Item key (Default: Q)&r, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", "quests.steam_age.water_wheel.title": "Water Wheels", "quests.steam_age.water_wheel.subtitle": "Hope you set up your base near a river!", "quests.steam_age.water_wheel.desc": "Water wheels provide much more power than the Animal Crank, at the expense of requiring flowing water. You don't have the ability to move water sources yet, so you'll need to find a river to power these. Oceans and Lakes can also provide a little power, but if you're far inland, you're better off looking at building a windmill.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index b24b4f7cb..cd975ce92 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2905,7 +2905,7 @@ "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 8 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", "quests.steam_age.helve_hammer.title": "Helve Hammer", "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", - "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", + "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it by pressing the &2Throw Item key (Default: Q)&r, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", "quests.steam_age.water_wheel.title": "Water Wheels", "quests.steam_age.water_wheel.subtitle": "Hope you set up your base near a river!", "quests.steam_age.water_wheel.desc": "Water wheels provide much more power than the Animal Crank, at the expense of requiring flowing water. You don't have the ability to move water sources yet, so you'll need to find some sort of river or waterfall to power these.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 1ea668c57..e8f44b389 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1297,6 +1297,10 @@ "material.tfg.linolenic_acid": "α-亚麻酸", "material.tfg.isosorbide_ln": "亚麻酸异山梨醇酯", "material.tfg.epox_isosorbide_ln": "环氧化亚麻酸异山梨醇酯", + "material.tfg.ozone": "臭氧", + "material.tfg.tin_chloride": "氯化亚锡", + "material.tfg.cyclohexanone": "环己酮", + "material.tfg.cyclohex_diperoxide": "1,1-环己烷二基二氢过氧化物", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1602,6 +1606,10 @@ "tfg.tooltip.cooling_foods": "§b使你体温降低:2°C", "tfg.tooltip.cooling_foods_strong": "§b使你体温降低:10°C", "tfg.tooltip.warming_foods": "§6使你体温升高:4°C", + "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.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓", "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", @@ -2722,7 +2730,7 @@ "quests.low_voltage.lv_gas_syngas.title": "合成气", "quests.low_voltage.lv_gas_syngas.subtitle": "并非木煤气", "quests.low_voltage.lv_gas_syngas.desc": "制造&7合成气&r非常简单。你只需为每台&6酿造室&r或&6真空腔室&r配备&b3座焦炉&r。然后借助&b机械动力树场&r收集&7木材&r以最大程度降低能耗,就能享受这种虽弱但易于生产的&7气体燃料&r了。", - "quests.low_voltage.lv_naphtha_light.title": "石脑油和轻油", + "quests.low_voltage.lv_naphtha_light.title": "石脑油和轻燃油", "quests.low_voltage.lv_naphtha_light.subtitle": "你可以用它们来制造塑料", "quests.low_voltage.lv_naphtha_light.desc": "如果你实在厌恶种地,更偏爱在&6沙漠&r探险或开采大量&7油砂&r,那么或许&7石脑油&r(从&7原油&r中提取更佳)或&7轻燃油&r(从&7石油&r中提取更佳)会是值得你考虑的燃料。\n\n鉴于其易于生产的特性,它们的性价比相当不错,只不过在现阶段仍需手动采收。", "quests.low_voltage.lv_turbo_charge.title": "闪聚充电箱", @@ -2849,7 +2857,7 @@ "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动摇!", - "quests.low_voltage.lv_diode.desc": "别被JEI误导了……目前这种原始二极管 (Primitive Diode) 只有一种可行配方——需要液态玻璃的那个。\n\n二极管的配方是出了名的&4棘手&r,但一旦你能获取&e聚乙烯&r,它们的制作就会变得更便宜、更方便。\n\n这是制作&dMV电路&r所必需的。", + "quests.low_voltage.lv_diode.desc": "别被JEI误导了……目前这种原始二极管只有一种可行配方——需要液态玻璃的那个。\n\n二极管的配方是出了名的&4棘手&r,但一旦你能获取&e聚乙烯&r,它们的制作就会变得更便宜、更方便。\n\n这是制作&dMV电路&r所必需的。", "quests.low_voltage.1_mv_circuit.title": "第一个MV电路!", "quests.low_voltage.1_mv_circuit.subtitle": "这是否意味着我们已经进入MV阶段了?", "quests.low_voltage.1_mv_circuit.desc": "唔…你已经有铝锭了吗?\n\n每个电气时代都有与其等级对应的电路。优质电子电路是你在三级&bMV电路&r体系中能制作的&d第一个MV电路&r。\n\n请持续关注更经济的电路制作方案——每当你制造出新等级的&2电路组装器&r,都会解锁全新配方体系。值得庆幸的是,当前这级电路正好能立即解锁新配方!其成本效益远超机械手体系。\n\n&6拥有铝材和本电路后,即可解锁MV机器。&r\n\n若你对格雷科技复杂的电路体系感到困惑,请查阅&6发展进程表&r章节获取详解。", @@ -3648,7 +3656,7 @@ "quests.steam_age.good_paths.desc": "这是你能使用的最好的路面,让你的曲柄以8RPM输出。这类小路也会增加玩家的移动速度,所以用它们铺设你的基地很棒!", "quests.steam_age.helve_hammer.title": "杠杆锤", "quests.steam_age.helve_hammer.subtitle": "哐……哐……哐……", - "quests.steam_age.helve_hammer.desc": "觉得为锻铁炉制作所有那些板件很繁琐吗?&3杠杆锤&r 会自动(但缓慢地)将双锭锻造成板件给你。不过,焊接仍然需要你自己完成。只需在锤子正下方放置一个砧,并将你的双锭扔上去,然后右键单击锤子取出你的板件。\n\n更高级的砧也需要更少的锻打次数来用前一级的材料制作板件。", + "quests.steam_age.helve_hammer.desc": "觉得为锻铁炉制作所有那些板件很繁琐吗?&3杠杆锤&r 能自动(但缓慢地)将双锭锻造成板材。不过,焊接工作仍需你亲自动手。只需在锤头正下方放置一个砧,按&2丢弃物品键(默认为Q)&r将双锭扔到上面,最后右键点击锤头即可取出板材。\n\n更高级的砧也能以更少的锤击次数,将前一级的材料加工成板件。", "quests.steam_age.water_wheel.title": "水车", "quests.steam_age.water_wheel.subtitle": "希望你把基地建在河边!", "quests.steam_age.water_wheel.desc": "水车提供的动力远胜于动物曲柄,但代价是需要依赖流动的水源。目前你尚无法自主移动水源,因此需要寻找河流来驱动它们。海洋与湖泊虽也能提供少量动力,但若身处内陆,建造风车会是更明智的选择。\n\n你可以将任何木板浸泡在焦炉产出的杂酚油中,以此获得防腐木。", @@ -3692,7 +3700,7 @@ "quests.steam_age.steel_pump.desc.3": "另一方面,格雷科技的管道则拥有自身的内部流体容量,一旦流体进入其中,就无需泵持续驱动。与物品管道类似,其连接也可以通过潜行状态下使用扳手右键点击(注意副手不要拿任何东西)来进行全面控制。我们建议你对所有管道都进行此操作,否则流体会在管道内来回晃荡。\n\n如果你的动力泵和格雷科技管道无法连接?用扳手右键点击泵两次,这通常能让它们协同工作。", "quests.steam_age.mold_table.title": "高炉自动化", "quests.steam_age.mold_table.subtitle": "电力高炉还遥遥无期", - "quests.steam_age.mold_table.desc.1": "你一段时间内将需要 &3大量&r 的钢,所以自动化你的高炉绝对是一项值得的投资。机械泵可以直接从高炉中抽出流体(比它滴入坩埚快得多)进入铸模台,而且泵还会让锭瞬间冷却!然后你可以在铸模台正下方放一个溜槽或漏斗来把锭取出来。从那里,你可以将生铁锭送到你的杠杆锤。", + "quests.steam_age.mold_table.desc.1": "在一段时间内你将需要&3海量&r的钢,因此将高炉自动化绝对是一项值得的投资。动力泵可以直接从高炉中抽取流体(比它滴入坩埚的快得多)进入铸模台,而且泵还能让铸锭瞬间冷却!然后,你可以在铸模台正下方放置一个溜槽或漏斗来取出铸锭。之后,你可以将生铁锭送到杠杆锤进行处理。", "quests.steam_age.mold_table.desc.2": "当然,你也可以利用溜槽将物品从高炉顶部投入,并使用机械手自动操作风箱。不过过度鼓风会快速消耗吹风管的耐久度——好在物品管道能自动推送新吹风管进行补充。\n\n你甚至可以让动力泵同时从高炉和坩埚抽取流体,通过流体阀门在合金冶炼期间暂停输送,待完成后重新开启。", "quests.steam_age.fluid_pipes.title": "流体管道", "quests.steam_age.fluid_pipes.subtitle": "液体、气体……我们一视同仁", From a65289562d812f11d6a8dc859ae82b27e5b92d96 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 03:00:58 +0000 Subject: [PATCH 301/628] new belts! --- CHANGELOG.md | 1 + kubejs/assets/greate/lang/en_us.json | 2 +- .../textures/block/andesite_alloy/belt.png | Bin 0 -> 542 bytes .../block/andesite_alloy/belt_diagonal.png | Bin 0 -> 534 bytes .../andesite_alloy/belt_diagonal_scroll.png | Bin 0 -> 617 bytes .../block/andesite_alloy/belt_offset.png | Bin 0 -> 551 bytes .../block/andesite_alloy/belt_scroll.png | Bin 0 -> 579 bytes .../textures/block/silicone_rubber/belt.png | Bin 0 -> 333 bytes .../block/silicone_rubber/belt_diagonal.png | Bin 0 -> 263 bytes .../silicone_rubber/belt_diagonal_scroll.png | Bin 0 -> 224 bytes .../block/silicone_rubber/belt_offset.png | Bin 0 -> 355 bytes .../block/silicone_rubber/belt_scroll.png | Bin 0 -> 370 bytes .../greate/textures/block/stone/belt.png | Bin 0 -> 445 bytes .../textures/block/stone/belt_diagonal.png | Bin 0 -> 441 bytes .../block/stone/belt_diagonal_scroll.png | Bin 0 -> 449 bytes .../textures/block/stone/belt_offset.png | Bin 0 -> 493 bytes .../textures/block/stone/belt_scroll.png | Bin 0 -> 535 bytes .../block/styrene_butadiene_rubber/belt.png | Bin 0 -> 235 bytes .../belt_diagonal.png | Bin 0 -> 200 bytes .../belt_diagonal_scroll.png | Bin 0 -> 211 bytes .../styrene_butadiene_rubber/belt_offset.png | Bin 0 -> 338 bytes .../styrene_butadiene_rubber/belt_scroll.png | Bin 0 -> 366 bytes .../item/andesite_alloy_belt_connector.png | Bin 0 -> 432 bytes .../textures/item/rubber_belt_connector.png | Bin 0 -> 218 bytes .../textures/item/stone_belt_connector.png | Bin 0 -> 405 bytes ...tyrene_butadiene_rubber_belt_connector.png | Bin 0 -> 1489 bytes kubejs/assets/gtceu/lang/en_us.json | 2 +- kubejs/server_scripts/greate/recipes.js | 116 +++++++++++++----- .../greate/recipes.recycling.js | 8 -- .../sophisticated_backpacks/recipes.js | 2 +- kubejs/startup_scripts/greate/constants.js | 3 +- kubejs/startup_scripts/greate/materials.js | 24 +++- .../gtceu/material_modification.js | 8 +- 33 files changed, 116 insertions(+), 50 deletions(-) create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/belt.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/belt_diagonal.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/belt_diagonal_scroll.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/belt_offset.png create mode 100644 kubejs/assets/greate/textures/block/andesite_alloy/belt_scroll.png create mode 100644 kubejs/assets/greate/textures/block/silicone_rubber/belt.png create mode 100644 kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal.png create mode 100644 kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal_scroll.png create mode 100644 kubejs/assets/greate/textures/block/silicone_rubber/belt_offset.png create mode 100644 kubejs/assets/greate/textures/block/silicone_rubber/belt_scroll.png create mode 100644 kubejs/assets/greate/textures/block/stone/belt.png create mode 100644 kubejs/assets/greate/textures/block/stone/belt_diagonal.png create mode 100644 kubejs/assets/greate/textures/block/stone/belt_diagonal_scroll.png create mode 100644 kubejs/assets/greate/textures/block/stone/belt_offset.png create mode 100644 kubejs/assets/greate/textures/block/stone/belt_scroll.png create mode 100644 kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt.png create mode 100644 kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal.png create mode 100644 kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal_scroll.png create mode 100644 kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_offset.png create mode 100644 kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_scroll.png create mode 100644 kubejs/assets/greate/textures/item/andesite_alloy_belt_connector.png create mode 100644 kubejs/assets/greate/textures/item/rubber_belt_connector.png create mode 100644 kubejs/assets/greate/textures/item/stone_belt_connector.png create mode 100644 kubejs/assets/greate/textures/item/styrene_butadiene_rubber_belt_connector.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b0d62267..28c57826d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie - The hazard effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie - Added machine recipes for crafting tongs @Pyritie +- Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie - Doubled the durability of all space suits @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie diff --git a/kubejs/assets/greate/lang/en_us.json b/kubejs/assets/greate/lang/en_us.json index 1e138bfab..a4a4331f2 100644 --- a/kubejs/assets/greate/lang/en_us.json +++ b/kubejs/assets/greate/lang/en_us.json @@ -32,7 +32,7 @@ "block.greate.large_andesite_alloy_cogwheel": "Large Basic Cogwheel", "block.greate.metal_girder_encased_andesite_alloy_shaft": "Metal Girder Encased Basic Shaft", "block.greate.powered_andesite_alloy_shaft": "Powered Basic Shaft", - "item.greate.wooden_belt_connector": "Plank Tread Mechanical Belt", + "item.greate.andesite_alloy_belt_connector": "Plank Tread Mechanical Belt", "item.greate.stone_belt_connector": "Leather Mechanical Belt", "item.greate.rubber_belt_connector": "Rubber Mechanical Belt", "item.greate.silicone_rubber_belt_connector": "Silicone Rubber Mechanical Belt", diff --git a/kubejs/assets/greate/textures/block/andesite_alloy/belt.png b/kubejs/assets/greate/textures/block/andesite_alloy/belt.png new file mode 100644 index 0000000000000000000000000000000000000000..bd259c25d03e260c6a5053ebc0fee16edff86c44 GIT binary patch literal 542 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=E7HJY5_^G$y7_I+%CaL7=UExpdEhxs|n?6n?~T-qLnNj_jZ5H>UVD$|VTh7HkI&wZYu?eJ)h zaP56|$AEQm;*oyMn&%3qsr}Hu7W(&T(dF-Z86M1etd)KDzHG_uO50s;H(99MJrX!Y zrISH`h4E$EqYK{)Uw`D;zjo`Q*Sn6*SS!_d*N{0`r)XzrTVexCgN3c_T+hgL=PLMD z?+<&mO?#8ff$r|frJ>WcYku$HZgPmoo?E!??)5uKn~neP z9nQGpe13_~Sf4y3I_8xP>%i{(Nb7n_mw{G30TJ?3)m+f2DWihPR_p0}6 zJLa|8KfXRPTRn5uvA`p>ZEnuW(x;N!j+KUnM}3sLWHR?lEq_DF;dvJlN^TcMWx6(N yZnEkAS(dQ&FZ`{jPl_&J@8=&tS}|xlnqi#xr}?S{@z>j{oUKy^Y@#-U+@Gkyn@WzYb(#!U} z)5Vjw-hL~!NI^C>bvd_(`gPDbLiI tbc@^g+W3T4oZyiStDN|H)$POfayNB)ntwj{&cMLH;OXk;vd$@?2>|Va00000 literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/andesite_alloy/belt_diagonal_scroll.png b/kubejs/assets/greate/textures/block/andesite_alloy/belt_diagonal_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..b65fed607ccd3bd351e14e335cb30958f7361960 GIT binary patch literal 617 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Vb-5N14{ zzaoW!fl1oa#WBR9w|Da0yvqg>ZTDBq6SMZsS}L7w5_auP%H%4>JDiW$EFRx_Fd_LI zBd1DBOV=_cFZbJLqJ;l1nRTYo`&QnH-u|T1efz%uo_D`r9Ahwh&GtZP zr?A47Ym-*3vN?di@i=ZQHyhaJv@7U)hZ5#?6uaVThF~0TXdz=cF`4^ z4^uUmybc@0Yz^&nVy&w^AA7gv@xER|m+V*%%aiXLZ>F{F`a3yhmw^LELy6T~v*hM2 z)e~iyJ^pVEnqu|Pu;F27_7q=s&3$`kSI%?qF}xOK&Mtmfb>WbLQd}+ zUl=X!oSsy@|5M|qZ*kKY{$6OmtMm7G`(2&fpBGwGvk!0O_l@}VPKg{t1~{ht2(=*>z)Z&CiU!8^6y?ph;RbpJQ=^OzTNR(HnP z#BX3@IP>G_$wNW|@dF8lN2?e^k#3Z6o$EaxL%>3)rJJv?h^-AwVFnkPfNI#fLQ zZf#?ASeE3!V)L>*iD%1}oJ+I1sueX=tfBZ_*q8qK;%BO-t*X>wKOyyOC5uc$!PoDb zHif--Sy)!lb$ip5`SW_%cAV)x6}OIC*lv%#_O|dj&i~StzqqXK(3Nvav6%SjVsqt= z+i$a!9`s3^e)D3Tg!ikQyi*VJ*DAfznR%-E{T%Mc7SjZ?cQI@@FU{b+i&N#>z4qMO zY>pc$iu5mQmYP`~GU@ynulxDY>Gt^C+ieVczTZh*cYF2S0;wq1W&7-SRb6C`U*9%q zrHAWp^&=m7t^bsrYxTVxa&6ryxf^e?CEh$gaV?ei2*W?d2LVP;*9o_9GcYhPc)I$z JtaD0e0stA!|LOn$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/andesite_alloy/belt_scroll.png b/kubejs/assets/greate/textures/block/andesite_alloy/belt_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..751ec63b094fd21627153d443724b937a49147e2 GIT binary patch literal 579 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Vb-5N14{ zzaoW!f$^)Si(`mI@7u`-^Da9GwAF8yei(ba?`eS0YL+KoL^O}fRWR_$JUkHm!N$hD z|AUassZM9+6^u6zcJ9u46T4nF+tSByWd-vU+qY}d!an~s-v9aA*VXy2-`t&jGqR?s zd2xyQk3#u%m;U@cYBkgM=H}&-Ysy!r?)-e`%kydNhc6WWbO`9p6J_9Pce0u9d$Vr; z`Ymj79~(RTs=vQ+ExkGCmbX$d!)1~NgQB5;I{Z; zKu3z*GRrgnJv3Ka@hLN$KKfDX>}1P*HFvD~4)+*di<-rpD8R|j8p@=^w>U&>>b26? z`-WeR{QYj*b42z_K!*ayjIGzAsw=0)$30zQ%aHX~fURMx`!R{Mo|Rkb3g>;=&GyN~u-(SCCe)4|%Uk3)}hSdFeUP~)1?7ID@egC^5=FVs5 nm3d}6Yd#!qmj9P*|A#F-FG8Q`NZWb_1_lOCS3j3^P6CcxRAO3s&xw}?h@U)nw@|__rU;2tx#(vnyZ?cLY6tygAwaWXJC zgbEr?&)RY2Y{M!u2Zn}@j*QzIv~M#vNF3JEP~tXz%N`c{fvu_B?f9JJ8^;P|l9rs_ z)y0wis(Qb=U5vAfprgw!%elu2-_(lk^fKpXNVqne@ihwr`{jeyi}NRaoBN>rEwf=& zsOjZ1fA;Ep317FAlVMVK@0l+)=btAoIK9irIQ^B?^+OwNyH{UaIwfT4xx)s&!924) mw%&B~ufB5iaQ&Yz{HF^zw=S%a%Vl6-VDNPHb6Mw<&;$TkK8@i3 literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal.png b/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..cb597896863ae4af28016bdf69a64b534947556e GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=9lAJzX3_G$!5+*v)syfal9plgt&D1dkj!bD&>I@na&-nLjK{jw|o77>k73oZ|n& z#=q_SKI=EzW`E79w45(@Vy3e95`T;AE~Vv1Hvdejx0rSNubz_c?3HfQG~SvoY~C&) z$PoFmmgC?|mV|=P(EFV8Yq4H;5JC`4}G~RK2xroyYv7-_}RZIuG4<0f$WandG PU|{fc^>bP0l+XkKWU68h literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal_scroll.png b/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3baee2e20e8ef72b34c83cda0c842bb9d80b2e GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Vb-5N14{ zzaoW!fnk!Ti(`mI@7wc^T!#!qST6iD^sN_J^o40%Y(=2shdjNQYR13`6XtLEn->zG z6Q{6Qw(a4?#QnGPu5Ewq+AI80_4^N>*E+?{$#Ls;J${*U-}RjHq@Z69vlpylV8{yI zbvz^4OKDOUqsZlt?{3brEaqsOJ+Y%BBWuB`GkZSVV-gT#ICnPg{eE7Cjuld?7J|?} bDY@C5j@N#*-kr?Az`)??>gTe~DWM4fz${wc literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/silicone_rubber/belt_offset.png b/kubejs/assets/greate/textures/block/silicone_rubber/belt_offset.png new file mode 100644 index 0000000000000000000000000000000000000000..2d585be5ebc039b08f726bfdd9a595d2306133b4 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=E8-o-U3d8WXPuTKlmY^7L#zsaCoAY?*>o7FS+Z%aOerD=b->9_`)wIWkznr)39& z-Xe{8g=xn=eECsOU;g{!zqYGEnM=(W64E}$ZZ1zOyC@%i-Tb`%`fq#QyR=+wd%*Hs zjhlht!QCY(3<^pN8@# z#$M&`<0*cIZ32tz1y(=%tgX6eTG}~Fea)NPN`is2lfERY8C9z&D>2*%?y-FSVAq?* znbG!7R^Qrn!Q`X<<)u?ThT6VJy)#Mn`=Y=D0cUJx{bLDi)7kla`Okd}3=9mOu6{1- HoD!M<7bcPo literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/silicone_rubber/belt_scroll.png b/kubejs/assets/greate/textures/block/silicone_rubber/belt_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..731e30086851f371ea59401ee67b8b2c7917bf4b GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Vb-5N14{ zzaoW!flSmd~H=9%n0L%Hq=NYB_ROW5rH}rX)@o{I<*Sdtv z{#eJzAo%f|k`lv>qZ%C-MctIFrY2pRQgrTO?ipv{{|O8YQPH0!6~_e|DIGeqAv#!e z`#PRktb&3U=XkB$>gUPu;LW1%dp4h1{MDjA-8Iw%ZlxF!i?z4O*4J1?yk4Dmj-K|iJ8rL@LlfQt$y7zB?ZsUy7aMv zrz}I>#U-1e;o9+>qj!3LZ57{eeE;kUvBevgi8#%eBrq{LyzScYI;(RlUYxGq@uz*i c`(y5_Y$iW?j*8hcFfcH9y85}Sb4q9e0PxA5b^rhX literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/stone/belt.png b/kubejs/assets/greate/textures/block/stone/belt.png new file mode 100644 index 0000000000000000000000000000000000000000..b1806dadcc94ac442e8fc69ff91fe005a2cf7a6e GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLTRdGHLo_DFPCDpy#6X~J zvPtf(TrH(VtgP>w;#g7>CyLruT=)QSELfy=R_))*4I8r~+Fm}H zf70CebieuO!+Uv;-8lI2;+s6S=WnX2>ZRwtylUe5jNiZDnSQ>L=GMF0f=+pbhlYxK zO)U-m#x7XX_ex5TW7{pUB)glD^6%f*?W?b`zF#^wUZ;j5r@%<@>#T3jyk9^2_%l>N zBurFe+L8@12H8AK%CX){TTJcO6|dV|88|`jM+WQj!&-Abo{Kuyq!H42Md$q7;vEd< z4_ONxbd-9^E>?9~St!nD>p}+3ss0{cobsC!R<~QV9pw*-2syaM%3*dz5>xz9RuRjF zCCgW2-Zkl(b~}6Z@2EI1|_Q+A6Hfle(kW{_X&SP}X#godWf?3NPa?n=JLX zzgbaY&+^iv;&Tio3Y?nw_!N&ee&sXemHgqluB*i)M&_chkU-H)=eDIMAIfDM%q-0G zdcoLzm^*O7lEaxA)Sz~gGK5H&&P=G#>teTo{tG0C0ZvN~lV^OJLLS#L3yZ0a-K zsLLwiQqp*AZN9)7izmt-{;R*d{k8q=^VyFdE@&+Y`Mz_<p%b8&)v9e4(GY8Ca3qU7UMQ%4!H9?iSg{w85-}bWg40#98!e#&Rp?GXxk%o>*Ka y(0yXjx?r!wS)FHeT8{RK3;YlM$M^q|Jkzr`ig#BfZf9U%VDNPHb6Mw<&;$TP>dtro literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/stone/belt_diagonal_scroll.png b/kubejs/assets/greate/textures/block/stone/belt_diagonal_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..cf862379dbecd41d3beff07aac12d077073d8c4c GIT binary patch literal 449 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Vb-5N14{ zzaoW!fw9=r#WBR9_id2lq{|LGIVXir_su=P8MO5`;|~X|(1KgGZdW6(ueZzd9MBikTxu-BV7MvEEAwW#XUk^0+bL#GU1QnL zosO^nH{WT2W_nYx?%7T6R~K~yNto&8&6Y8tjoo~EC!Daf z?r=>Byso)a;H*oU*pWq#S&#gm5x=?Q>?Kq0^;X{X46au$-F@8mf|r4Tfx*+&&t;uc GLK6UQ0LxAQ literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/stone/belt_offset.png b/kubejs/assets/greate/textures/block/stone/belt_offset.png new file mode 100644 index 0000000000000000000000000000000000000000..2315f5d2aa20613e65e8bcd59ebf03fa5eed971f GIT binary patch literal 493 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=E9(JzX3_G$zIdo$kA0Ah70LNmBYGM~^iLDnFR&5=@1*-#uJ+pw3XeFUF$iA#>RU zn@O3sA3wXG7`0;Z-MrnWVqN3y_T8=jS7If%b<(-2)vcYYBpDcdT&|QX>~(to?%lq+ z|0g}ydv2Ygq~slZ*+7tCy+F03rYdtGN8*h<*CkUPrH2KcopC~(p<|{41IIBouT}rr zLJcmi6=S%1=FKzL)uIhEB|Eya{4%G8oOL;(DyVyFmq5`;%cV=g^PIPPMODfi>0Ywr zmX~$T_SlX`)qjp^aXM(GE=)3u@Z)4yzxMa?>i=IJe{Q~CQ&YDh?Z^%LyZUns04wsR{^u&%Y6_bjOR+}E<`+%glL$Fn!SGU>aWZ(p~O|3~TZtjfdPmpwyW z%pNN!7F^0cx%A1Evb(Q0{;CNR&{*zb@XqN@kMrei@0?AekH2#K@|%r0Vcwemi!Oe6 y^hN8WUiCZXi2^Z_u_IVF3iMNU? z+}TmE@(A+*W|fX-^V8=VvTwiL;_fi_a>lXb|917sRlj#s{e2|Z5dQw&8T<2$d;VMe z{*=j=@Ga47PE74zz6YRU z#pns2%i;s`>Ks0CF>r_#?1?EfJDnyn;jGT$o{iV-Iy*cV9FFfutG>Tt)%2o^xz}CA z=emTHX81|;+MM%$A*Qr6Wr09)&aS?hp;zDQD9_#*qrODoor%N?`HT0K<~+-pmT0*< zmW@m6(sC1pRO4r}^#t#3*!jY4smktvBSj8YCg)ztYIcgmn8b!3>*B91Xl8%hrWeS; z_BxoU;Q8S%kB+#`kDvGR^ykyY<;hirMZX<;T%UX|;!N0mEALu1!|kibvh&uNd#ZH4 rxfUH7t0$&ZWY7Qo^9T9!hvQ?upV8Ude literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt.png b/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt.png new file mode 100644 index 0000000000000000000000000000000000000000..d6925825a5975c2fb460cba966c51d1380afa6f6 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=9l&JzX3_G$y_cFyuSrz_a@$ie^j+ae@R9a1%P?rQnLRPjMTy-+6Z-0LbU zyKTCYYEs~B52FeVZc1*kQfpu@B0;gk8_O<4B z|K8j!`_8{4i$gGSQnlG-o3rhOTkhSxYir4~`*uQDZRpC$3>7;Rq>r2V1{=GkWC}(W lzGkeF7W=obUiAz2mWlg{C#m0^%fP_E;OXk;vd$@?2>{6)RsH|~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal.png b/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal.png new file mode 100644 index 0000000000000000000000000000000000000000..80146b3f70625f66b33a511e3e411fec53105074 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=9lao-U3d8WZ34ALKgZAmD7gJ2EU^j>YlI|Nm>}*+k}~9dmZgSXk#+?Bj7_^Y6D+ zmh+E&WL^EKfL|vxTd{lT_rrx1Hb1%VIDhJh5j9FbzUs?7HNQzQT!-Vg{*u+|eY1D- z62`RITYVBP1JbB)fwJR9gIT;uj7(8A5T-G@yGywn; C=1!de literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal_scroll.png b/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fc0cccd18b1d5b2ac1bf43cdfe6221e78014d2 GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Vb-5N14{ zzaoW!fuYsY#WBR9_ig`1J|;sR=ecTc4<2i1Y1#4rzxj+A78iFUu4vi8+$q1p{rJSc zDf{O5A3wawM&VUX%HgP0Cv`jvZoOTYA5=BW^qqy2B(o!4`=FfQ1fe|KG^F@wN~1PPwzL<63-{XF`QUkCCSf42F> Qz`(%Z>FVdQ&MBb@0A$lu8UO$Q literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_offset.png b/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_offset.png new file mode 100644 index 0000000000000000000000000000000000000000..1b058c9755888876b5427b21691c68649449d1b8 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XB4ude`@%$Aj z3=E7co-U3d8WXQh+~~(*$m5bOlU^*Oeo;Zn@6Z3~ic(pAYu+wA@$Q~k4a3Sc6W{KU z{QURZw_l%X_Sd@`ZZ_g(X?eUgZSBn2^VVJOKd=A0)6{6ui?b?>20|4>Uwb^*c9@sk>|p07Tu_ut{ye$CSI{CCSbcsq+9ObJT) zy3Ek+eO|UpO3KB%azRJQN<_V4`60&+8zIa?$h84Q#ejIQfA z9d>@PiAzP%W7So+3wQS)ixBtF=q{WZ!_TC0H{JB>z3A0uZSF1X*&A!+D!vDM0UJO7j(2&`6XALrRaLb#_M8x-HoWthIj7PZi;ac-+bou+|`+K zdMCDBt9pM`#PG9E(6@?OhC7)nn&e#cr?+%|dETVKvFYKvjm|<|ksilVuM5fAwMDPq zI_*}M&BPs_xlXUPzxDF(`&!pszVcyW9J@cWY-f8v@zT<@`D_2FPXG4No`1gq|NX;R X^H#i{;&PCIfq}u()z4*}Q$iB}`4yY` literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/item/andesite_alloy_belt_connector.png b/kubejs/assets/greate/textures/item/andesite_alloy_belt_connector.png new file mode 100644 index 0000000000000000000000000000000000000000..170fe3f9540e468d75257ee2c2d1ef6882161815 GIT binary patch literal 432 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|R4{r;B5VMeo^(r@fd08QSbkll4S{6g{+KMY$YVUDq*X=JH=y)~kPEmn;88wH2-p zw6|y~EneU&IMcI4P;pKGyW`xM6B46t$mF}eeHDM!^3Qe457$5ZY1^`S=c66>XXS0! zTdrARFSX;*g)1tX;t%FX#@rWcJsDuX(cbYg@1cnbo8lcO);3%ceo%UJ<4l91gqEi} zGq;(E$u@)-JyUrU$h3;(K=4YN3m0BrV`ecF?4RUyY|hprHf@>RuhP~YJQ^x@Jx1ch zzcSsM>jPH3WYE!VVZ3!{n&Zo@P0OSi_Pq4H=>OK390{SJ0K-3me!DM6P@I m(y+kyPVW7KqW|P;7|wD|yt16VNRokpfx*+&&t;ucLK6Ug%Deag literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/item/rubber_belt_connector.png b/kubejs/assets/greate/textures/item/rubber_belt_connector.png new file mode 100644 index 0000000000000000000000000000000000000000..e61c1dfe204d3acdcffe148f24ced7898bf7217f GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdo_nd_r6q7#LC#LSw_dBLZCl zy==Xl%^YnEEsV7db=7sXRFxHECB#K09-lamfq{XsB*-tA!Qt7BG>|4w7srr_TgeCb zZd{U9=rNhdp)fP)T>m1q^9q*A8oXah7 zoB8krnrrF&+o8i QU|?YIboFyt=akR{08AD`umAu6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/item/stone_belt_connector.png b/kubejs/assets/greate/textures/item/stone_belt_connector.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b101e99d3273d2fee15cda2137eb0a415bba68 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|TSGr;B5VMeo^3XT1(Ph`9NeN-a@bnz7_)(k-1`FXL*bth@U&Y+bErtag*fh6|HC zyqu4_e7=0lb*5pX)7_WbXGy-ZEPihE;dmE;1 zpJa1-#%HoV+pi8q3v`%r1c@mAA(Lz#%WRW(zzbZ=x1PHVDNPH Kb6Mw<&;$UVoU(}k literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/item/styrene_butadiene_rubber_belt_connector.png b/kubejs/assets/greate/textures/item/styrene_butadiene_rubber_belt_connector.png new file mode 100644 index 0000000000000000000000000000000000000000..5f95e2bbdae6d7c6d8075239e184302fbd1930c1 GIT binary patch literal 1489 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s-w5mcPN`ey06$*;-(=u~X z6-p`#QWa7wGSe6sDsJ5ki{AEFgXd4W=w=obf&QlrhR?t7rTq*}IKb(dcmHNm}^MysVy`wL*`@S4~2BO@-xE>xc8_oDNvqyUWFDO_ZWu-W)dx z-koLbVhjtdvb6T@`y0Z)=OX_BDFuzaXBauv=IRSazIZn6rG@m1&TU@t(aklIYynC? z#8{l!I5OPbPE7oEW*$c=&jEGCBC~160t$k9OSCo^-r$_aY<@rD@ygemKB&57GYTZl z`Pje~&7Kgc{h)t4ql{P55iP;ON2(rEp7d#Q%^8ANA>8l<@nO+TBx$c)#)|$+PW&yQsy=G7Lx%IMT z@fzO#`lnaw$UT4IE4MmL&NN6wGd~iNc zm7|igUM^%kTfE5P+}Ee&Dm#RuIoI;^zA~2X%QN44es=bm@KZmc&y-4SI=p+{Lmx&v z>njn@y^QsK$lRQI`s*>H>qbUTEH^%nnCG(gMp}l^-zckZ+w z`1Zd(et~Y;tYc=M<-GQ!>25KY5!a*lygh#N!U5rzzau#N`=d5+j?)@(J{Dh%S z(~31y9@W^rKj5XA)bU&FT50MmwK>Jx8&<5@dd%|pvNr`53~z2#ST#=(QVMF&R9&+* zX8rX?_Gb=AIA1TVcyB4!|74Ef#82lw$6R?jhf^`&^{e)TdFj(qHHGFDv+nu%dKXi` z^{;UUpB6DHv>f<$|FFT7Mb!ok9d9_DI3$w23|bDD`1*fOTHS3JlwGX6qEz+X?>nV; zPp|!QkNJX`TbXl?wDP^*f4UNw?e@0bKUu%?SiZyIX?HHC*?eMPU|{fc^>bP0l+XkK DUCq0k literal 0 HcmV?d00001 diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 0d51633b6..d8a884d40 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -212,7 +212,7 @@ "gtceu.recipe.category.ingot_molding": "Material Molding", "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower, Moon and Ostrum Harvesters:§r", - "tooltip.moldraw.shift_view": "§o§7Hold (Shift) for Molecular Structure§r", + "tooltip.moldraw.shift_view": "§7§oHold (Shift) for Molecular Structure§r", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", "tagprefix.shovel_head": "%s Shovel Head", diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 59380ef8d..a8587f5ed 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -636,70 +636,120 @@ function registerGreateRecipes(event) { // #region Belt Connector - removeMaceratorRecipe(event, 'macerate_rubber_belt_connector') - removeMaceratorRecipe(event, 'macerate_silicone_rubber_belt_connector') - removeMaceratorRecipe(event, 'macerate_polyethylene_belt_connector') - event.remove({ id: 'gtceu:extractor/extract_rubber_belt_connector' }) - event.remove({ id: 'gtceu:extractor/extract_silicone_rubber_belt_connector' }) - event.remove({ id: 'gtceu:extractor/extract_polyethylene_belt_connector' }) - - event.shaped('3x greate:rubber_belt_connector', [ - 'C ', + // Wood + event.shaped('greate:andesite_alloy_belt_connector', [ 'AAA', - 'B ' + 'CBC', + 'AAA' + ], { + A: '#tfc:lumber', + B: '#forge:tools/hammers', + C: '#tfg:metal_chains' + }).id('tfg:shaped/wood_belt_connector') + + removeMaceratorRecipe(event, 'macerate_andesite_alloy_belt_connector') + event.remove({ id: 'gtceu:shaped/andesite_alloy_belt_connector' }) + event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_belt_connector' }) + event.remove({ id: 'gtceu:arc_furnace/arc_andesite_alloy_belt_connector' }) + + TFGHelpers.registerMaterialInfo('greate:andesite_alloy_belt_connector', { 'wood': 1 }); + + // Leather + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('greate:stone_belt_connector', [ + 'AAA', + 'CBC' + ], { + A: '#forge:leather', + B: '#tfc:sewing_needles', + C: '#forge:string', + })).id('tfg:shaped/leather_belt_connector') + + event.recipes.gtceu.assembler('leather_belt_connector') + .itemInputs('3x #forge:leather', '2x #forge:string') + .itemOutputs('greate:stone_belt_connector') + .circuit(11) + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + + removeMaceratorRecipe(event, 'macerate_stone_belt_connector') + event.remove({ id: 'gtceu:shaped/stone_belt_connector' }) + + TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', { 'air': 1 }); + + // Rubber + event.shaped('greate:rubber_belt_connector', [ + 'AAA', + 'B C' ], { A: '#forge:plates/rubber', - B: '#forge:tools/knives', - C: '#forge:tools/hammers', - }).id('gtceu:shaped/rubber_belt_connector') + B: '#forge:tools/hammers', + C: '#forge:tools/wrenches', + }).id('tfg:shaped/rubber_belt_connector') event.recipes.gtceu.assembler('rubber_belt_connector') - .itemInputs('gtceu:rubber_plate') + .itemInputs('3x gtceu:rubber_plate') .itemOutputs('greate:rubber_belt_connector') .circuit(11) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() .addMaterialInfo(true) - event.shaped('3x greate:silicone_rubber_belt_connector', [ - 'C ', + event.remove({ id: 'gtceu:shaped/rubber_belt_connector' }) + removeMaceratorRecipe(event, 'rubber_belt_connector') + removeMaceratorRecipe(event, 'macerate_rubber_belt_connector') + event.remove({ id: 'gtceu:extractor/extract_rubber_belt_connector' }) + + TFGHelpers.registerMaterialInfo('greate:rubber_belt_connector', { 'rubber': 3 }); + + // Silicone rubber + event.shaped('greate:silicone_rubber_belt_connector', [ 'AAA', - 'B ' + 'B C' ], { A: '#forge:plates/silicone_rubber', - B: '#forge:tools/knives', - C: '#forge:tools/hammers', - }).id('gtceu:shaped/silicone_rubber_belt_connector') + B: '#forge:tools/hammers', + C: '#forge:tools/wrenches', + }).id('tfg:shaped/silicone_rubber_belt_connector') event.recipes.gtceu.assembler('silicone_rubber_belt_connector') - .itemInputs('gtceu:silicone_rubber_plate') + .itemInputs('3x gtceu:silicone_rubber_plate') .itemOutputs('greate:silicone_rubber_belt_connector') .circuit(11) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() .addMaterialInfo(true) - event.shaped('3x greate:polyethylene_belt_connector', [ - 'C ', + event.remove({ id: 'gtceu:shaped/silicone_rubber_belt_connector' }) + removeMaceratorRecipe(event, 'macerate_silicone_rubber_belt_connector') + event.remove({ id: 'gtceu:extractor/extract_silicone_rubber_belt_connector' }) + + TFGHelpers.registerMaterialInfo('greate:silicone_rubber_belt_connector', { 'silicone_rubber': 3 }); + + // SBR rubber + event.shaped('greate:styrene_butadiene_rubber_belt_connector', [ 'AAA', - 'B ' + 'B C' ], { A: '#forge:plates/styrene_butadiene_rubber', - B: '#forge:tools/knives', - C: '#forge:tools/hammers', - }).id('gtceu:shaped/polyethylene_belt_connector') + B: '#forge:tools/hammers', + C: '#forge:tools/wrenches', + }).id('tfg:shaped/styrene_butadiene_rubber_belt_connector') - event.recipes.gtceu.assembler('polyethylene_belt_connector') - .itemInputs('gtceu:styrene_butadiene_rubber_plate') - .itemOutputs('greate:polyethylene_belt_connector') + event.recipes.gtceu.assembler('styrene_butadiene_rubber_belt_connector') + .itemInputs('3x gtceu:styrene_butadiene_rubber_plate') + .itemOutputs('greate:styrene_butadiene_rubber_belt_connector') .circuit(11) .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - .removePreviousMaterialInfo() .addMaterialInfo(true) + event.remove({ id: 'gtceu:shaped/styrene_butadiene_rubber_belt_connector' }) + removeMaceratorRecipe(event, 'macerate_styrene_butadiene_rubber_belt_connector') + event.remove({ id: 'gtceu:extractor/extract_styrene_butadiene_rubber_belt_connector' }) + + TFGHelpers.registerMaterialInfo('greate:styrene_butadiene_rubber_belt_connector', { 'styrene_butadiene_rubber': 3 }); + // #endregion // #region Mixer diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js index 3bf5677d1..7927ccaee 100644 --- a/kubejs/server_scripts/greate/recipes.recycling.js +++ b/kubejs/server_scripts/greate/recipes.recycling.js @@ -74,13 +74,5 @@ function registerGreateRecyclingRecipes(event) { .duration(GTMaterials.SiliconeRubber.getMass() * 3) .category(GTRecipeCategories.MACERATOR_RECYCLING) .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.macerator('greate:polyethylene_belt_connector') - .itemInputs('greate:polyethylene_belt_connector') - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.StyreneButadieneRubber, 1)) - .duration(GTMaterials.StyreneButadieneRubber.getMass() * 3) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - // #region } \ No newline at end of file diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index 4c0611e36..0873a71f5 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -181,7 +181,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { ], { A: '#forge:cogwheels', B: 'gtceu:item_filter', - C: '#greate:belts', + C: '#forge:belt_connectors', D: 'sophisticatedbackpacks:upgrade_base', E: 'create:mechanical_arm', F: '#gtceu:circuits/ulv', diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index 395ae8812..f6921813e 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -14,8 +14,9 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:neutronium_alloy", "gtceu:neutronium_whisk", - "greate:polybenzimidazole_belt_connector", + "greate:polyethylene_belt_connector", "greate:polytetrafluoroethylene_belt_connector", + "greate:polybenzimidazole_belt_connector", "greate:andesite_alloy_crushing_wheel", "greate:andesite_alloy_encased_fan", diff --git a/kubejs/startup_scripts/greate/materials.js b/kubejs/startup_scripts/greate/materials.js index 910e6125c..8bcfe6db5 100644 --- a/kubejs/startup_scripts/greate/materials.js +++ b/kubejs/startup_scripts/greate/materials.js @@ -1,7 +1,29 @@ "use strict"; -const registerGreateMaterials = (event) => { +const registerGreateMaterials = (event) => { + // Belt materials should already have an ingot and plate item already + const $BeltProperty = Java.loadClass("electrolyte.greate.content.gtceu.material.BeltProperty") + + // Wood belt + GTMaterials.get('andesite_alloy').setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.get('andesite_alloy')], 5)) + + // Leather belt + GTMaterials.Stone.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, GTMaterials.get('andesite_alloy')], 10)) + + // Remove plastic belts + GTMaterials.Polyethylene.getProperties().removeProperty(GreatePropertyKeys.BELT); + GTMaterials.Polytetrafluoroethylene.getProperties().removeProperty(GreatePropertyKeys.BELT); + GTMaterials.Polybenzimidazole.getProperties().removeProperty(GreatePropertyKeys.BELT); + + // Change properties of other rubber belts + GTMaterials.Rubber.getProperties().removeProperty(GreatePropertyKeys.BELT); + GTMaterials.Rubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, GTMaterials.get('andesite_alloy')], 20)) + + GTMaterials.SiliconeRubber.getProperties().removeProperty(GreatePropertyKeys.BELT); + GTMaterials.SiliconeRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.StainlessSteel, GTMaterials.Aluminium], 25)) + + GTMaterials.StyreneButadieneRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Titanium, GTMaterials.StainlessSteel], 30)) } const registerGreateMaterialModification = (event) => { diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 32c8d2ab0..3ec698b25 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -342,7 +342,7 @@ const registerGTCEuMaterialModification = (event) => { // Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten GTMaterials.BlueSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(4618, 75, true, false, false, false)); // Ostrum fluid pipe - same flow rate as titanium, higher temp range - TFGHelpers.getMaterial('ostrum').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3700, 150, true, false, true, false)); + GTMaterials.get('ostrum').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3700, 150, true, false, true, false)); // Add some hazards back GTMaterials.Realgar.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); @@ -352,8 +352,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Thorium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.ANY, GTMedicalConditions.CARCINOGEN, 1, true)); // This contains hazardous elements so GT tags it as hazardous automatically - TFGHelpers.getMaterial('ostrum').getProperties().removeProperty(PropertyKey.HAZARD); - TFGHelpers.getMaterial('ostrum_iodide').getProperties().removeProperty(PropertyKey.HAZARD); + GTMaterials.get('ostrum').getProperties().removeProperty(PropertyKey.HAZARD); + GTMaterials.get('ostrum_iodide').getProperties().removeProperty(PropertyKey.HAZARD); // Superconductors being radioactive at EV is a little evil GTMaterials.UraniumTriplatinum.getProperties().removeProperty(PropertyKey.HAZARD); @@ -440,4 +440,4 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') GTMaterials.GraniteRed.setComponents([]) GTMaterials.GraniteRed.setFormula("?") -} +} \ No newline at end of file From 73d7bd46ed7aa332885ebc394d51970b54a9a295 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 03:01:08 +0000 Subject: [PATCH 302/628] whoops --- kubejs/server_scripts/greate/recipes.js | 1 - .../server_scripts/greate/recipes.recycling.js | 17 ----------------- 2 files changed, 18 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index a8587f5ed..be1b2cc75 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -696,7 +696,6 @@ function registerGreateRecipes(event) { .addMaterialInfo(true) event.remove({ id: 'gtceu:shaped/rubber_belt_connector' }) - removeMaceratorRecipe(event, 'rubber_belt_connector') removeMaceratorRecipe(event, 'macerate_rubber_belt_connector') event.remove({ id: 'gtceu:extractor/extract_rubber_belt_connector' }) diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js index 7927ccaee..c9a55500e 100644 --- a/kubejs/server_scripts/greate/recipes.recycling.js +++ b/kubejs/server_scripts/greate/recipes.recycling.js @@ -58,21 +58,4 @@ function registerGreateRecyclingRecipes(event) { event.shapeless('create:andesite_casing', ['greate:titanium_gearbox', '#forge:tools/hammers'])) // #endregion - - // #region Belts - - event.recipes.gtceu.macerator('greate:rubber_belt_connector') - .itemInputs('greate:rubber_belt_connector') - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Rubber, 1)) - .duration(GTMaterials.Rubber.getMass() * 3) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.macerator('greate:silicone_rubber_belt_connector') - .itemInputs('greate:silicone_rubber_belt_connector') - .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.SiliconeRubber, 1)) - .duration(GTMaterials.SiliconeRubber.getMass() * 3) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - // #region } \ No newline at end of file From 4ac447cf628d129b53575764108546a5014008f3 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Sat, 13 Dec 2025 12:57:59 +0100 Subject: [PATCH 303/628] Add circuit to Silicon Tetrachloride (#2387) Fixes #2383, deconflicts with Polydimethylsiloxane (and various other recipes!) Signed-off-by: Mqrius --- .../server_scripts/tfg/ores_and_materials/recipes.zirconium.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js b/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js index e1b8dc933..50666ac21 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.zirconium.js @@ -9,6 +9,7 @@ function registerTFGZirconiumRecipes(event) { .inputFluids('gtceu:chlorine 4000') .outputFluids('tfg:silicon_tetrachloride 1000') .duration(20 * 20) + .circuit(1) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.chemical_reactor('tfg:silicon_tetrachloride_decomp') @@ -58,4 +59,4 @@ function registerTFGZirconiumRecipes(event) { .EUt(GTValues.VA[GTValues.HV]) // #endregion -} \ No newline at end of file +} From 35a14ab62c4fdcb005a525fe2fac2328109f5e5c Mon Sep 17 00:00:00 2001 From: Redeix Date: Sat, 13 Dec 2025 05:59:20 -0600 Subject: [PATCH 304/628] particles (#2401) --- kubejs/assets/tfg/particles/cooling_steam.json | 11 ++++++++++- .../textures/particle/cooling_steam_particle.png | Bin 631 -> 0 bytes .../particle/cooling_steam_particle_0.png | Bin 0 -> 1246 bytes .../particle/cooling_steam_particle_1.png | Bin 0 -> 1076 bytes .../particle/cooling_steam_particle_2.png | Bin 0 -> 1013 bytes .../particle/cooling_steam_particle_3.png | Bin 0 -> 1045 bytes .../particle/cooling_steam_particle_4.png | Bin 0 -> 1076 bytes .../particle/cooling_steam_particle_5.png | Bin 0 -> 946 bytes .../particle/cooling_steam_particle_6.png | Bin 0 -> 948 bytes .../particle/cooling_steam_particle_7.png | Bin 0 -> 856 bytes .../particle/cooling_steam_particle_8.png | Bin 0 -> 632 bytes .../particle/cooling_steam_particle_9.png | Bin 0 -> 352 bytes .../tfg/nuclear/blocks.nuclear.js | 5 +++-- 13 files changed, 13 insertions(+), 3 deletions(-) delete mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_0.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_1.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_2.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_3.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_4.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_5.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_6.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_7.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_8.png create mode 100644 kubejs/assets/tfg/textures/particle/cooling_steam_particle_9.png diff --git a/kubejs/assets/tfg/particles/cooling_steam.json b/kubejs/assets/tfg/particles/cooling_steam.json index 572b52060..32df59ab7 100644 --- a/kubejs/assets/tfg/particles/cooling_steam.json +++ b/kubejs/assets/tfg/particles/cooling_steam.json @@ -1,5 +1,14 @@ { "textures": [ - "tfg:cooling_steam_particle" + "tfg:cooling_steam_particle_0", + "tfg:cooling_steam_particle_1", + "tfg:cooling_steam_particle_2", + "tfg:cooling_steam_particle_3", + "tfg:cooling_steam_particle_4", + "tfg:cooling_steam_particle_5", + "tfg:cooling_steam_particle_6", + "tfg:cooling_steam_particle_7", + "tfg:cooling_steam_particle_8", + "tfg:cooling_steam_particle_9" ] } diff --git a/kubejs/assets/tfg/textures/particle/cooling_steam_particle.png b/kubejs/assets/tfg/textures/particle/cooling_steam_particle.png deleted file mode 100644 index ed4f5f44d003fad0a46e2bf9b96734db4b19d904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 631 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7n=_rA13aCb6$*;-(=u~X z85lGs)=sqbI2<6->VMg5X^6}lg+~(>THSPYwVI|ScF-wPd&{eYPnYa7E=^dn!-8ua zD|@}zYCgSlyR3F_H9g?(*!^J13nkTi(?z0={CM!m?p*crg8Q`%7uFeH-Q1I- zr7706I_ZO`A`8Q+9Y=g@=SH77TwHti@bT}vCC-1^_x-t4ke3>BjZ$IL%Qn|NjyBsf zU(Wg7sk}x@^T_if!EB};e@>L%d}@A9w4HUHq~WKVm5(?!M!Zbk*&lf|pfkO5ao4KA zeE|iL5BD66Tx%Y=-T&XA0?+7^g>$oHG<6hvd0b9pENZjTIg)YR!*Jr#&r90t&wNZj zp*ndrn_C~N$pWXMKM(3ZRBubGOuOaFrQX;me*51HhNj&P%TsUPKfdj*CF7s-2c};8 zY<|n(&*U#*{@rqnhi@M^TIxUfd&6njgfE`cc}`CJ6XLX!XV3hL=Aw-gqZPJ1JGZvF z?=riB|K_NDjC_2JC%IDBSMRCbP@nhz-ph0E*(k1n_ltpnfi20~-Gu=Remd{2 zXJBC9EbxddW?;}$24TjErS@eE3=Hfgp1!W^FS%G4*cr-se%@waV2~_vjVN)>&&^HE zD`9XhN=+>Y3U4=SxO0UD?iN#x!BXy&t;ucLK6TSUJUI3 diff --git a/kubejs/assets/tfg/textures/particle/cooling_steam_particle_0.png b/kubejs/assets/tfg/textures/particle/cooling_steam_particle_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f62467d9c48cb25725a9fec7522d743514538009 GIT binary patch literal 1246 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEv-@7A$R{iHK9@w&CpvDv{;2=*L6-jo_+p?@#aW@ z@1B8Xo9&JN9s73Up6BP^=i`5z{BiX=!>?oYOuytD?*I76A|tzL^Y7cMW##N`_L>Ck zF4^a8(jLL8!f1K#p8b(;$Dd#K>wIyC#pL1rd-hHJZM$c8t5m95tl;0kp|j9iXw^>! zyUYCk`n(#K(#c zqf?qgB2-Q#D5(kUlVP0IaH;3I!a*O0=@aL+O=)=i@W4|Y)fpTP4|m60HqBsq6fvQN zL-1nf>7u6gHWe9J?n#MXco`?Ld|CL5V^yKXjS35otVby&Jky`2FSA?3Qp5Ui<%U~^ z4%TWLvYIS~&V<&#+ndZhIc-|{)Ri~mbG8{s%6_gZXHanK&|=)0HlM3!v&zH?LONx2 zyQ0|lPgU?#aWrAn+hg+EvXk3NQ*+YgpqEF}q_6U5{mI$aQ>vfkuv#leP;PML>!`X(Jnmr?MqU~p^LdZN)|;)2w&otgPumMSW9A5>TbcrMs1HrsY>uW*RhnWsM^ zdsue!GfZIS^;hv|7J6$Zw_{4%R)&PQ|AH4S8m@m-_1$pf^_OU?^vXEiA{7>vC;R%l zZ`xm1`E}6jrQOS)mJ9Q^8u<@&@$+pk`R1OOw5+-IN>LA|`;9~Dj7#$illpRYMIHY7 z((^)F_MWdh_vlXEFin}qWP#hZ<${W9?{55E{5vqLiET>gg3W&!Exn`rYA;V^^IWFQ zsObD9f9~`nGNyZS7W6+%+a_-J>PA1qFW>5H;o{n=LuY-@vM_dVR=l~t+v&+OUdw=* zUazLxEMAKa2|d*H)^xbd!{MU)zbLhkb4rP~i=^U0)gz1f` zgLh4ks#d1Kv_(rNW*UD>zrK&5<~+Z+81hso{kb z&r>3MC!A3ZmG4-`BsM!bXWJ{&Nd}i*=e=pSYv1=)(^1RXY>e10YY4x>=-sIJ*La+U|dmCm;0k^^2;n)*$K;dV>GmPY0YCQY&aIE%_@gr>_vEhk3;s*rS)4y#;6d~imfc7C)gQ=fJi07>?#}yd3=9kmp00i_ I>zopr0Pr#_?okC zFD)UXG3g>Fi_=EO&VxJs9|r&6+P(aOYFTlmxuAs^lRMw>uq6i`6f}o+&I$@G53OIu zdyQE+bD8_A@4M<^jqQGae9d2zT9a+tc+G;M?!k~=NK2PGZhhZP*U~1;kL8q@iZt34F#J{jbBhv7|u0`eM;YUw;-=E!-!nj0K*Y!;E?%AvJ4CkwH2dZ#K zbX*rnH4s62YZk{M z)__B*p2wMHxOB-K{(fo4jq>cgf(}OKpLX*#%(GR*vnNG}t3CP8P|cV%asM8R_r4-0 zg9Jb9Rby#)vDx%XmSKg`mrV}5^3RnRzMOpY8d;Crbyk7qN#e4osV$;_suvkr-{7f%-3xlXF_lm%$ijuQVc{N12XjL}s zW!Taj9nA8l?sfhX0cM7XGs`a;vU6)_Ha%H?htem%n!H^TU zPo%P|*1_f!OO}|&+nwGQCBjQK-#vKv^y-MzphO$f{i>I;pD;2-Ds0j3aMY^M$f$n( z@Tq9pecE05c zRX^!Ha$~?|v6x*4bNkQfW=c&#fi%!a9Vem^|-_b$2w_wo7%}iG>cCvi$-s z1*z-P_&qLMeL7n??%~lGMR%5s0#ZUz3v>dW{kr{VYjj-1--{AKulo3-7&o(3N85al z+x_hD9Fz4woNh$zs)o$HScv;LW$if4)rw`h~7tm=_-KNMB4+VP&0 zM0IPx8QvEz#j^y&E+`$}w03I^e}$Q|(2}?~UXP`Dx?jFAfl_F6w}B(_U48t73L7le+VrP54A{#&z?T?lnK_XIUZV bNqN0(y>n!x(u)`v7#KWV{an^LB{Ts5A7kWm literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/particle/cooling_steam_particle_2.png b/kubejs/assets/tfg/textures/particle/cooling_steam_particle_2.png new file mode 100644 index 0000000000000000000000000000000000000000..314f9570ecef6f546a003e02206e4db6c19ae340 GIT binary patch literal 1013 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 FngA7dq%i;h literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/particle/cooling_steam_particle_6.png b/kubejs/assets/tfg/textures/particle/cooling_steam_particle_6.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8117aaa9b94cfa3edca046cd282c90ad11bcd7 GIT binary patch literal 948 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 literal 0 HcmV?d00001 diff --git a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js index e1a5954ae..fdb862127 100644 --- a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js @@ -55,9 +55,10 @@ function registerTFGNuclearBlocks(event) { .activeVelocity(0.0, 0.0, 0.0) .activeParticle('tfg:cooling_steam') .activeBase(0.0, 12.5, 0.0) - .activeCount(8) + .activeCount(2) .activeForced(false) - .hasTicker(true) + .hasTicker(true) + .emitDelay(4); event.create('tfg:titanium_concrete') .translationKey('block.tfg.titanium_concrete') From 8ed92f17f80cd1afe6cdaf754155fee77c808f69 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 14:10:37 +0000 Subject: [PATCH 305/628] update changelog --- CHANGELOG.md | 10 +++++++++- kubejs/server_scripts/tfg/food/recipes.meal_bags.js | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28c57826d..e5450916a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,27 @@ # Changelog ## Unreleased +### Breaking Changes +- The previous silicone rubber styrene butadiene rubber belts have been changed to a different item, so please break and recycle them before updating if you're using any. +- Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie ### Changes +#### Hot or Not - Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `tfg:hot_protection_equipment`, `tfg:cold_protection_equipment`, and `tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie - GregTech hot ingots are also now properly included in the "too hot to handle" system so the same protection applies @Pyritie +- Added machine recipes for crafting tongs @Pyritie +#### Medical Hazards - Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie - The hazard effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie -- Added machine recipes for crafting tongs @Pyritie +#### Other - Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie - Doubled the durability of all space suits @Pyritie +- Added a way to convert between vinegar and acetic acid (#2386) @Epicificator ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix - Fixed sliced brinza missing the proper cheese tags. @Redeix - Fixed pyroxenite and keratophyre bricks crafting 1 instead of 4 (#2373) @Pyritie +- Fixed some issues with quest items (#2384, #2386) @Mqrius ### Translation updates ## [0.11.10] - 9-12-2025 diff --git a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js index 172352b7e..6eef4f4da 100644 --- a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js +++ b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js @@ -49,7 +49,7 @@ function registerTFGMealBagRecipes(event) { .circuit(1) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.ore_washer('tfg:ore_washer/distilled/clean_foil_pack') + event.recipes.gtceu.chemical_bath('tfg:ore_washer/distilled/clean_foil_pack') .itemInputs('1x tfg:used_foil_pack') .inputFluids(Fluid.of('gtceu:distilled_water', 10)) .itemOutputs('1x tfg:clean_foil_pack') From e5a4a356b320abfe52df97abb881e3c61d0642c9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 14:47:35 +0000 Subject: [PATCH 306/628] remove c&a accumulator --- .../create_additions/recipes.js | 21 ------------------- .../create_additions/constants.js | 3 ++- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/kubejs/server_scripts/create_additions/recipes.js b/kubejs/server_scripts/create_additions/recipes.js index 91ea8892b..5ba0b86fc 100644 --- a/kubejs/server_scripts/create_additions/recipes.js +++ b/kubejs/server_scripts/create_additions/recipes.js @@ -30,27 +30,6 @@ const registerCreateAdditionsRecipes = (event) => { C: 'computercraft:wired_modem', }).addMaterialInfo().id('tfg:create_additions/shaped/digital_adapter') - // Портативный энергетический интерфейс - event.recipes.gtceu.shaped('createaddition:portable_energy_interface', [ - 'ABC', - 'DEC', - 'ADC' - ], { - A: '#forge:plates/brass', - B: 'create:chute', - C: 'gtceu:copper_octal_wire', - D: 'gtceu:copper_single_cable', - E: 'create:brass_casing' - }).addMaterialInfo().id('tfg:create_additions/shaped/portable_energy_interface') - - // Батарейный блок - event.recipes.gtceu.assembler('create_additions/battery') - .itemInputs('gtceu:bronze_frame', '4x #forge:plates/brass', '8x #forge:screws/bronze', '#gtceu:batteries/hv') - .itemOutputs('createaddition:modular_accumulator') - .duration(400) - .EUt(30) - .addMaterialInfo(true) - // Колючая проволка event.shapeless('4x createaddition:barbed_wire', [ '#forge:rods/wrought_iron', diff --git a/kubejs/startup_scripts/create_additions/constants.js b/kubejs/startup_scripts/create_additions/constants.js index 036d69ab2..4627fdf2c 100644 --- a/kubejs/startup_scripts/create_additions/constants.js +++ b/kubejs/startup_scripts/create_additions/constants.js @@ -36,5 +36,6 @@ global.CREATE_ADDITIONS_DISABLED_ITEMS = [ 'createaddition:small_light_connector', 'createaddition:electrum_block', 'createaddition:portable_energy_interface', - 'createaddition:straw' + 'createaddition:straw', + 'createaddition:modular_accumulator' ]; From 88b13b566ba897e18e18b0457f695cbf59198baf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 14:52:21 +0000 Subject: [PATCH 307/628] update gtceu config --- config/gtceu.yaml | 59 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 9a896aede..08f62e909 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -89,15 +89,35 @@ recipes: # Default: false enchantedTools: false + # Whether to enable macerator decomposition recycling + # Default: true + enableMaceratorRecycling: true + + # Percentage yield of macerator decomposition recycling outputs, 1.0 means 100% + # Default: 1.0f + maceratorRecyclingYield: 1.0 + + # Whether to enable arc furnace decomposition recycling + # Default: true + enableArcRecycling: true + + # Percentage yield of arc furnace decomposition recycling outputs, 1.0 means 100% + # Default: 1.0f + arcRecyclingYield: 1.0 + + # Whether to enable extractor decomposition recycling + # Default: true + enableExtractorRecycling: true + + # Percentage yield of extractor decomposition recycling outputs, 1.0 means 100% + # Default: 1.0f + extractorRecyclingYield: 1.0 + worldgen: # Rubber Tree spawn chance (decimal % per chunk) # Default: 0.5 rubberTreeSpawnChance: 0.0 - # Should all Stone Types drop unique Ore Item Blocks? - # Default: false (meaning only Stone, Netherrack, and Endstone) - allUniqueStoneTypes: true - # Should Sand-like ores fall? # This includes gravel, sand, and red sand ores. # Default: false (no falling ores) @@ -199,6 +219,10 @@ machines: # Default: false cleanMultiblocks: false + # Whether the miner should attempt to replace the block mined with a cobbled version of the ore + # Default: true + replaceWithCobbleVersion: true + # Block to replace mined ores with in the miner and multiblock miner. # Default: minecraft:cobblestone replaceMinedBlocksWith: tfc:rock/hardened/rhyolite @@ -211,9 +235,10 @@ machines: # Default: true enableMaintenance: true - # Time in ticks between when Multiblocks can require Maintenance. By default, 48 hours. - # Default: 3456000 - maintenanceTime: 3456000 + # How often to check for maintenance, rolling a 1/6000 chance every X ticks (before secondary effects like Configurable Maintenance Hatch). + # In default settings, this equates to a 5% chance every hour of a machine running. + # Default: 1000 (ticks) + maintenanceCheckRate: 1000 # Whether to enable World Accelerators, which accelerate ticks for surrounding Tile Entities, Crops, etc. # Default: true @@ -288,6 +313,9 @@ machines: # Default: 8 steamMultiParallelAmount: 8 + # Whether the Drums can input fluids from the output side (bottom). + allowDrumsInputFluidsFromOutputSide: false + # Small Steam Boiler Options smallBoilers: # The amount of steam a Steam Solid Boiler produces per second at max temperature. @@ -415,6 +443,10 @@ client: # Default: true renderFluids: true + # Render growing plants in multiblocks that support them? + # Default: true + renderGrowingPlants: true + # Whether or not to color tiered machine highlights in the tier color # Default: true coloredTieredMachineOutline: true @@ -423,6 +455,13 @@ client: # Default: true coloredWireOutline: true + tankItemFluidPreview: + # Set true to render the including fluid icons to GT Drums + drum: false + + # Set true to render the including fluid icons to Super (Quantum) Tanks + quantumTank: false + # Config options for Tools and Armor tools: # Random chance for electric tools to take actual damage @@ -470,7 +509,7 @@ tools: voltageTierQuarkTech: 5 # Advanced QuarkTech Suit Chestplate Voltage Tier. - # Default: 5 (LuV) + # Default: 6 (LuV) voltageTierAdvQuarkTech: 6 # Electric Impeller Jetpack Voltage Tier. @@ -606,6 +645,10 @@ compat: # Default: false showDimensionTier: false + # Whether Create compatibility will be available. + # Default: true + createCompat: true + dev: # Debug general events? (will print recipe conficts etc. to server's debug.log) # Default: false From dcafe2532520f2463a44fe4a9a5a3011237080c9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 15:12:47 +0000 Subject: [PATCH 308/628] fix swine-steel axes from not having the lumberjack property --- kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json | 2 +- .../minecraft/loot_tables/chests/bastion_hoglin_stable.json | 2 +- kubejs/data/minecraft/loot_tables/chests/bastion_other.json | 2 +- kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json index d61eacbd3..6aaa98888 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\":1},}" } ], "weight": 100 diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json index d61eacbd3..6f43db5cb 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\"}" } ], "weight": 100 diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json index d61eacbd3..6f43db5cb 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\"}" } ], "weight": 100 diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json index c05271ad7..54f8f5cba 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.json @@ -177,7 +177,7 @@ "functions": [ { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 4, \"HideFlags\":1, \"Enchantments\": [{\"id\":\"minecraft:infinity\",\"lvl\":\"1s\"}]}" + "tag": "{\"tfc:forging_bonus\": 4, \"GT.Behaviours\":{\"HarvestIce\":1}, \"HideFlags\":1, \"Enchantments\": [{\"id\":\"minecraft:infinity\",\"lvl\":\"1s\"}]}" } ] }, From 2a61036c5bd62b62b167474b0f026a6cb9d4194d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 15:13:01 +0000 Subject: [PATCH 309/628] fix cobalt brass illager tools missing properties --- .../primitive_creatures/loot.js | 67 ++++++++++--------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js index d71855fc6..5b4e8ad28 100644 --- a/kubejs/server_scripts/primitive_creatures/loot.js +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -6,13 +6,13 @@ function registerPrimitiveCreaturesLoots(event) { // kaolin klayze event.addEntityLootModifier('primitive_creatures:tfc') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([12,16], ['tfc:kaolin_clay', 'minecraft:clay_ball']) + .addWeightedLoot([12, 16], ['tfc:kaolin_clay', 'minecraft:clay_ball']) .addLoot('tfc:plant/blood_lily') // graphite glayze event.addEntityLootModifier('primitive_creatures:golem_2') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([2,4], ['gtceu:rich_raw_graphite']) + .addWeightedLoot([2, 4], ['gtceu:rich_raw_graphite']) const CLOTHING_DROP_RATE = 0.1 @@ -20,7 +20,7 @@ function registerPrimitiveCreaturesLoots(event) { // forager - light tan clothes, holds a stone axe event.addEntityLootModifier('primitive_creatures:iloger_1') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([ // the illusion of randomness Item.of('tfc:food/bunchberry', 3), @@ -54,8 +54,8 @@ function registerPrimitiveCreaturesLoots(event) { // herbalist - brown clothes with a mask that looks like a Creaking event.addEntityLootModifier('primitive_creatures:iloger_2') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([3,4], ['gtceu:tricalcium_phosphate_dust']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([3, 4], ['gtceu:tricalcium_phosphate_dust']) .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_mortar').damage([0.3, 0.9]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), @@ -75,9 +75,9 @@ function registerPrimitiveCreaturesLoots(event) { // bonebreaker - skull helmet, bone armor? hits harder, has knockback event.addEntityLootModifier('primitive_creatures:iloger_3') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([0,2], ['minecraft:flint']) - .addWeightedLoot([1,3], ['minecraft:bone']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([0, 2], ['minecraft:flint']) + .addWeightedLoot([1, 3], ['minecraft:bone']) .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_shovel').damage([0.3, 0.9]).when(c => c.randomChance(0.5)), LootEntry.of('minecraft:skeleton_skull').when(c => c.randomChance(0.3)), @@ -96,9 +96,9 @@ function registerPrimitiveCreaturesLoots(event) { // ambusher - leaf on head, leafy clothes (like the swamp vanilla villager type), ranged with poison event.addEntityLootModifier('primitive_creatures:iloger_4') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([8,12], LootEntry.of('minecraft:tipped_arrow')).addPotion("poison") - .addWeightedLoot([4,8], ['firmalife:food/nightshade_berry']) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([8, 12], LootEntry.of('minecraft:tipped_arrow')).addPotion("poison") + .addWeightedLoot([4, 8], ['firmalife:food/nightshade_berry']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addAlternativesLoot( LootEntry.of('minecraft:bow').damage([0.3, 0.9]).when(c => c.randomChance(0.5)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), @@ -118,8 +118,8 @@ function registerPrimitiveCreaturesLoots(event) { // hunter - wears brown and white fur, briefly disappears when hit, ranged with weakness event.addEntityLootModifier('primitive_creatures:iloger_5') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([8,12], LootEntry.of('minecraft:tipped_arrow')).addPotion("weakness") - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([8, 12], LootEntry.of('minecraft:tipped_arrow')).addPotion("weakness") + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addAlternativesLoot( // placeholder for a blowpipe LootEntry.of('minecraft:bamboo').when(c => c.randomChance(0.5)), @@ -140,9 +140,9 @@ function registerPrimitiveCreaturesLoots(event) { // shaman - yellow clothes, throws fireballs event.addEntityLootModifier('primitive_creatures:iloger_6') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([1,2], ['primitive_creatures:f_1']) // primitive explosives - .addWeightedLoot([1,3], ['minecraft:gunpowder']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([1, 2], ['primitive_creatures:f_1']) // primitive explosives + .addWeightedLoot([2, 4], ['minecraft:gunpowder']) .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_mortar').damage([0.5, 0.9]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)), @@ -162,8 +162,8 @@ function registerPrimitiveCreaturesLoots(event) { // beast tamer - wears tiger fur, holds vanilla sugarcane? fucking summons ravagers event.addEntityLootModifier('primitive_creatures:wiloger') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([0,2], ['primitive_creatures:grh']) // battered wool + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([0, 2], ['primitive_creatures:grh']) // battered wool .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_butchery_knife').damage([0.3, 0.9]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), @@ -183,7 +183,7 @@ function registerPrimitiveCreaturesLoots(event) { // warrior - lion fur, holds flint club - stuns you in place when hit event.addEntityLootModifier('primitive_creatures:piloger_9') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addAlternativesLoot( LootEntry.of('primitive_creatures:yhgi').when(c => c.randomChance(0.8)), // flint club LootEntry.of('tfc:small_raw_hide').when(c => c.randomChance(0.4)), @@ -202,8 +202,8 @@ function registerPrimitiveCreaturesLoots(event) { // mercenary event.addEntityLootModifier('primitive_creatures:viloger_10') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([1,2], ['minecraft:emerald']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([1, 2], ['minecraft:emerald']) .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_knife').damage([0.3, 0.7]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)), @@ -223,12 +223,12 @@ function registerPrimitiveCreaturesLoots(event) { // huntmaster - miniboss event.addEntityLootModifier('primitive_creatures:nahida') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([ - LootEntry.of('gtceu:cobalt_brass_spade').damage([0.85, 1]), - LootEntry.of('gtceu:cobalt_brass_sickle').damage([0.85, 1]), - LootEntry.of('gtceu:cobalt_brass_mining_hammer').damage([0.85, 1]), - LootEntry.of('gtceu:cobalt_brass_sword').damage([0.85, 1])]) + Item.of('gtceu:cobalt_brass_spade', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1},GT.Tool:{AttackDamage:3.5f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:5.0f},HideFlags:2}'), + Item.of('gtceu:cobalt_brass_scythe', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:2,AoELayer:2,AoERow:2,MaxAoEColumn:2,MaxAoELayer:2,MaxAoERow:2},GT.Tool:{AttackDamage:7.0f,AttackSpeed:-3.2f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:6.5f},HideFlags:2}'), + Item.of('gtceu:cobalt_brass_mining_hammer', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1,TorchPlacing:1b},GT.Tool:{AttackDamage:3.5f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:18431,ToolSpeed:5.0f},HideFlags:2}'), + Item.of('gtceu:cobalt_brass_sword')]) event.addEntityLootModifier('primitive_creatures:nahida') .addWeightedLoot([ Item.of('sns:leather_sack'), @@ -253,9 +253,10 @@ function registerPrimitiveCreaturesLoots(event) { // berserker - guy with celtic blue face paint event.addEntityLootModifier('primitive_creatures:iloger_10') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([ - LootEntry.of('gtceu:cobalt_brass_sword').damage([0.85, 1]), + Item.of('gtceu:cobalt_brass_sword'), + Item.of('gtceu:cobalt_brass_axe', '{Damage:0,DisallowContainerItem:0b,GT.Behaviours:{DisableShields:1b,TreeFelling:1b},GT.Tool:{AttackDamage:7.0f,AttackSpeed:-3.4f,DefaultEnchantments:[],HarvestLevel:2,MaxDamage:6143,ToolSpeed:4.5f},HideFlags:2}'), LootEntry.of('sns:burlap_sack'), LootEntry.of('sns:seed_pouch'), LootEntry.of('sns:ore_sack')]) @@ -273,11 +274,11 @@ function registerPrimitiveCreaturesLoots(event) { // mistah beeeaaaasssstt event.addEntityLootModifier('primitive_creatures:beast') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([20, 30], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([12,16], ['minecraft:bone']) - .addWeightedLoot([2,3], ['tfc:large_raw_hide']) - .addWeightedLoot([4,6], ['tfc:blubber']) + .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([12, 16], ['minecraft:bone']) + .addWeightedLoot([2, 3], ['tfc:large_raw_hide']) + .addWeightedLoot([4, 6], ['tfc:blubber']) event.addEntityLootModifier('primitive_creatures:beast') .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([10, 15], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([4, 8], ['tfg:food/raw_long_pig_filet']) } \ No newline at end of file From bb5ca3c541cdade8e869246cbaf6374f7249d792 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 15:13:14 +0000 Subject: [PATCH 310/628] charred trees should fall over now? --- config/fallingtrees_common.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/fallingtrees_common.json b/config/fallingtrees_common.json index 02bba7941..f8e545647 100644 --- a/config/fallingtrees_common.json +++ b/config/fallingtrees_common.json @@ -97,7 +97,9 @@ "onlyFallWithRequiredTool": false, "allowedToolFilter": { "whitelistedTags": [], - "whitelist": [], + "whitelist": [ + "tfg:charred_log" + ], "blacklist": [] } }, From 22ed55306af9c253cb5e7578cb3c36821b24eb28 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 18:11:56 +0000 Subject: [PATCH 311/628] electric greenhouse renderer --- .../block/machines/electric_greenhouse.json | 300 +++++++++++++----- 1 file changed, 216 insertions(+), 84 deletions(-) diff --git a/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json b/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json index 9aec638bb..297392db3 100644 --- a/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json +++ b/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json @@ -1,90 +1,222 @@ { - "parent": "minecraft:block/block", - "loader": "gtceu:machine", - "machine": "tfg:electric_greenhouse", - "texture_overrides": { - "all": "gtceu:block/casings/steam/steel/side" - }, - "variants": { - "is_formed=false,recipe_logic_status=idle": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive" - } - } + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:electric_greenhouse", + "texture_overrides": { + "all": "gtceu:block/casings/steam/steel/side" }, - "is_formed=false,recipe_logic_status=suspend": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive" + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/steam/steel/side", + "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + } + } } - } }, - "is_formed=false,recipe_logic_status=waiting": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" + "dynamic_renders": [ + { + "type": "gtceu:growing_plant", + "offsets": [ + [ + -2.0, + 1.0, + -1.0 + ], + [ + -1.0, + 1.0, + -1.0 + ], + [ + 0.0, + 1.0, + -1.0 + ], + [ + 1.0, + 1.0, + -1.0 + ], + [ + 2.0, + 1.0, + -1.0 + ], + [ + -2.0, + 1.0, + -2.0 + ], + [ + -1.0, + 1.0, + -2.0 + ], + [ + 0.0, + 1.0, + -2.0 + ], + [ + 1.0, + 1.0, + -2.0 + ], + [ + 2.0, + 1.0, + -2.0 + ], + [ + -2.0, + 1.0, + -3.0 + ], + [ + -1.0, + 1.0, + -3.0 + ], + [ + 0.0, + 1.0, + -3.0 + ], + [ + 1.0, + 1.0, + -3.0 + ], + [ + 2.0, + 1.0, + -3.0 + ], + [ + -2.0, + 1.0, + -4.0 + ], + [ + -1.0, + 1.0, + -4.0 + ], + [ + 0.0, + 1.0, + -4.0 + ], + [ + 1.0, + 1.0, + -4.0 + ], + [ + 2.0, + 1.0, + -4.0 + ], + [ + -2.0, + 1.0, + -5.0 + ], + [ + -1.0, + 1.0, + -5.0 + ], + [ + 0.0, + 1.0, + -5.0 + ], + [ + 1.0, + 1.0, + -5.0 + ], + [ + 2.0, + 1.0, + -5.0 + ] + ] } - } - }, - "is_formed=false,recipe_logic_status=working": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" - } - } - }, - "is_formed=true,recipe_logic_status=idle": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive" - } - } - }, - "is_formed=true,recipe_logic_status=suspend": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive" - } - } - }, - "is_formed=true,recipe_logic_status=waiting": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" - } - } - }, - "is_formed=true,recipe_logic_status=working": { - "model": { - "parent": "gtceu:block/machine/template/cube_all/sided", - "textures": { - "all": "gtceu:block/casings/steam/steel/side", - "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active", - "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive" - } - } - } - } + ] } \ No newline at end of file From 5f6089dd60fdfd985363e76ba8b0fd62abda2c11 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sat, 13 Dec 2025 11:21:49 -0700 Subject: [PATCH 312/628] added tfc:foods tag to a whole bunch of tfg foods (#2405) * Update items.food.js Signed-off-by: thederpysockdude123 * Update items.food.js Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 Co-authored-by: Redeix --- kubejs/startup_scripts/tfg/items.food.js | 32 +++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/tfg/items.food.js b/kubejs/startup_scripts/tfg/items.food.js index 3c9cdbe03..5ecfb2b58 100644 --- a/kubejs/startup_scripts/tfg/items.food.js +++ b/kubejs/startup_scripts/tfg/items.food.js @@ -92,6 +92,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_moon_rabbit') .food(food => food.hunger(2).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -99,6 +100,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_moon_rabbit') .texture('tfg:item/food/cooked_moon_rabbit') .food(food => food.hunger(4).saturation(8)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -108,6 +110,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_glacian_mutton') .food(food => food.hunger(2).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -115,6 +118,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_glacian_mutton') .texture('tfg:item/food/cooked_glacian_mutton') .food(food => food.hunger(5).saturation(8)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -124,6 +128,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_sniffer_beef') .food(food => food.hunger(3).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -131,6 +136,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_sniffer_beef') .texture('tfg:item/food/cooked_sniffer_beef') .food(food => food.hunger(8).saturation(9)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -140,6 +146,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_wraptor') .food(food => food.hunger(3).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -147,6 +154,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_wraptor') .texture('tfg:item/food/cooked_wraptor') .food(food => food.hunger(6).saturation(8)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -156,6 +164,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_springling_collar') .food(food => food.hunger(2).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -163,6 +172,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_springling_chops') .texture('tfg:item/food/cooked_springling_collar') .food(food => food.hunger(4).saturation(4)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -172,6 +182,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_walker_steak') .food(food => food.hunger(3).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -179,6 +190,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_walker_steak') .texture('tfg:item/food/cooked_walker_steak') .food(food => food.hunger(8).saturation(10)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -188,6 +200,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_glider_wings') .food(food => food.hunger(1).saturation(1) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -195,6 +208,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_glider_wings') .texture('tfg:item/food/cooked_glider_wings') .food(food => food.hunger(2).saturation(3)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -204,6 +218,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_whole_soarer') .food(food => food.hunger(2).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -211,6 +226,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_whole_soarer') .texture('tfg:item/food/cooked_whole_soarer') .food(food => food.hunger(6).saturation(6)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -220,6 +236,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_crusher_meat') .food(food => food.hunger(3).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -227,6 +244,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_crusher_meat') .texture('tfg:item/food/cooked_crusher_meat') .food(food => food.hunger(5).saturation(6)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -236,6 +254,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_goober_meat') .food(food => food.hunger(1).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -243,6 +262,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_goober_meat') .texture('tfg:item/food/cooked_goober_meat') .food(food => food.hunger(3).saturation(9)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -252,6 +272,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_stackatick_chunks') .food(food => food.hunger(1).saturation(1) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -263,6 +284,7 @@ function registerTFGFoodItems(event) { .eaten(ctx => { ctx.player.give('minecraft:stick') })) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -273,6 +295,7 @@ function registerTFGFoodItems(event) { .eaten(ctx => { ctx.player.give('minecraft:stick') })) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -282,6 +305,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_cruncher_ribs') .food(food => food.hunger(2).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -289,6 +313,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_cruncher_ribs') .texture('tfg:item/food/cooked_cruncher_ribs') .food(food => food.hunger(10).saturation(14)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -298,6 +323,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_surfer_steak') .food(food => food.hunger(2).saturation(2) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -305,6 +331,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_surfer_steak') .texture('tfg:item/food/cooked_surfer_steak') .food(food => food.hunger(8).saturation(8)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -314,6 +341,7 @@ function registerTFGFoodItems(event) { .texture('tfg:item/food/raw_long_pig_filet') .food(food => food.hunger(2).saturation(1) .effect('minecraft:hunger', 100, 0, 1)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/raw_meats') @@ -321,6 +349,7 @@ function registerTFGFoodItems(event) { .translationKey('item.tfg.food.cooked_long_pig_filet') .texture('tfg:item/food/cooked_long_pig_filet') .food(food => food.hunger(4).saturation(2)) + .tag('tfc:foods') .tag('tfc:foods/meats') .tag('tfc:foods/cooked_meats') @@ -438,7 +467,8 @@ function registerTFGFoodItems(event) { .tag('tfc:foods/usable_in_jam_sandwich_2') .tag('tfc:foods/usable_in_sandwich') .tag('tfg:foods/usable_in_meal_bag') - .tag('tfc:foods/dairy'); + .tag('tfc:foods/dairy') + .tag('tfc:pig_food') // Oatmeal event.create('tfg:food/oatmeal') From ab0226f74d138594bb1f0cc2c55a9c94244473ae Mon Sep 17 00:00:00 2001 From: Mqrius Date: Sat, 13 Dec 2025 19:22:44 +0100 Subject: [PATCH 313/628] Don't backup DistantHorizons LODs (#2406) Exclude "DistantHorizons.sqlite" from ftbbackups2 since that's not critical data and leads to a lot of backup bloat. Signed-off-by: Mqrius --- config/ftbbackups2.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/ftbbackups2.json b/config/ftbbackups2.json index fb96a0bd6..32efe057c 100644 --- a/config/ftbbackups2.json +++ b/config/ftbbackups2.json @@ -65,7 +65,7 @@ *path/ends/with.txt Any files who's path ends with *path/contains* Any files who's path contains */ - "excluded": [], + "excluded": ["DistantHorizons.sqlite"], // The dimension used when creating backup preview image, specify "all" to enable automatic detection of primary dimension (can be very slow) "preview_dimension": "minecraft:overworld" -} \ No newline at end of file +} From ea04149a6344956fe1d62a055a33915e71f1e0d0 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sat, 13 Dec 2025 11:23:25 -0700 Subject: [PATCH 314/628] updating tags of cover facades/domum ornamentum stuff to include treated wood planks (#2404) * Updated tags to include treated wood planks.js Signed-off-by: thederpysockdude123 * Updated tags to include treated wood planks.facades.js Signed-off-by: thederpysockdude123 * Update tags.facades.js Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/domum_ornamentum/tags.js | 1 + kubejs/server_scripts/tfg/machines/tags.facades.js | 1 + 2 files changed, 2 insertions(+) diff --git a/kubejs/server_scripts/domum_ornamentum/tags.js b/kubejs/server_scripts/domum_ornamentum/tags.js index 5a85f632a..9d793dc97 100644 --- a/kubejs/server_scripts/domum_ornamentum/tags.js +++ b/kubejs/server_scripts/domum_ornamentum/tags.js @@ -95,6 +95,7 @@ function registerDomumOrnamentumBlockTags(event) { "gtceu:dark_concrete_windmill_b", "gtceu:small_dark_concrete_bricks", "gtceu:square_dark_concrete_bricks", + "gtceu:treated_wood_planks", //createdeco blocks "createdeco:dean_bricks", "createdeco:short_dean_bricks", diff --git a/kubejs/server_scripts/tfg/machines/tags.facades.js b/kubejs/server_scripts/tfg/machines/tags.facades.js index 33a59ebbd..97fd56085 100644 --- a/kubejs/server_scripts/tfg/machines/tags.facades.js +++ b/kubejs/server_scripts/tfg/machines/tags.facades.js @@ -72,6 +72,7 @@ function registerTFGFacadeWhitelistItemTags(event) { 'gtceu:laminated_glass', 'gtceu:plascrete', 'gtceu:cleanroom_glass', + 'gtceu:treated_wood_planks', //gtceu casing 'gtceu:steam_machine_casing', From c40ffcc0bfedda4c404c9d015687a24a1cccc102 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Sat, 13 Dec 2025 21:14:22 +0100 Subject: [PATCH 315/628] Move boiled eggs to food processor to deconflict with cooked egg, fix pickled egg recipe name typo (#2407) * Move boiled eggs to food processor to deconflict with cooked egg Signed-off-by: Mqrius * Move boiled_egg recipe, fix pickled egg recipe name Signed-off-by: Mqrius --------- Signed-off-by: Mqrius --- kubejs/server_scripts/tfg/food/recipes.food.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index d20037ae2..1210e0ab4 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -575,8 +575,6 @@ function registerTFGFoodRecipes(event) { cookingRecipe("baked_potato", "tfc:food/potato", "tfc:food/baked_potato") - cookingRecipe("boiled_egg", "#firmalife:foods/raw_eggs", "tfc:food/boiled_egg", "#tfg:clean_water 200") - cookingRecipe("cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice", "#tfg:clean_water 200") processorRecipe("pasta_tomato_sauce", 60, 8, { @@ -667,6 +665,14 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('tfg:food/calorie_paste').copyOldestFood().addTrait('tfg:freeze_dried') }) + processorRecipe("boiled_egg", 200, 16, { + circuit: 1, + itemInputs: ["#firmalife:foods/raw_eggs"], + fluidInputs: ["#tfg:clean_water 200"], + itemOutputs: ["tfc:food/boiled_egg"], + itemOutputProvider: TFC.isp.of("tfc:food/boiled_egg").copyFood() + }) + //Kelp cookingRecipe("dried_kelp_a", "tfc:plant/winged_kelp", "tfc:food/dried_kelp") cookingRecipe("dried_kelp_b", "tfc:plant/leafy_kelp", "tfc:food/dried_kelp") @@ -922,7 +928,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('4x firmalife:food/bacon').copyFood() }) - processorRecipe("picked_egg", 1000, 8, { + processorRecipe("pickled_egg", 1000, 8, { circuit: 1, itemInputs: ['minecraft:clay_ball', 'tfc:powder/wood_ash', 'tfc:powder/salt', 'tfc:food/boiled_egg'], itemOutputs: ['firmalife:food/pickled_egg'], From 546c598bc489818d780e87f3732248170f92a23d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 22:12:14 +0000 Subject: [PATCH 316/628] add item models for pills --- kubejs/assets/tfg/models/item/absorption_salvo.json | 6 ++++++ kubejs/assets/tfg/models/item/antipoison_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/antipoison_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/fire_resistance_salvo.json | 6 ++++++ kubejs/assets/tfg/models/item/haste_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/haste_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/instant_health_salvo.json | 6 ++++++ kubejs/assets/tfg/models/item/invisibility_salvo.json | 6 ++++++ kubejs/assets/tfg/models/item/luck_salvo.json | 6 ++++++ kubejs/assets/tfg/models/item/night_vision_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/night_vision_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/poison_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/poison_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/regeneration_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/regeneration_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/resistance_salvo.json | 6 ++++++ kubejs/assets/tfg/models/item/slowness_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/slowness_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/speed_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/speed_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/water_breathing_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/water_breathing_tablet.json | 6 ++++++ kubejs/assets/tfg/models/item/weakness_pill.json | 6 ++++++ kubejs/assets/tfg/models/item/weakness_tablet.json | 6 ++++++ kubejs/startup_scripts/gtceu/material_modification.js | 5 +++-- 25 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/tfg/models/item/absorption_salvo.json create mode 100644 kubejs/assets/tfg/models/item/antipoison_pill.json create mode 100644 kubejs/assets/tfg/models/item/antipoison_tablet.json create mode 100644 kubejs/assets/tfg/models/item/fire_resistance_salvo.json create mode 100644 kubejs/assets/tfg/models/item/haste_pill.json create mode 100644 kubejs/assets/tfg/models/item/haste_tablet.json create mode 100644 kubejs/assets/tfg/models/item/instant_health_salvo.json create mode 100644 kubejs/assets/tfg/models/item/invisibility_salvo.json create mode 100644 kubejs/assets/tfg/models/item/luck_salvo.json create mode 100644 kubejs/assets/tfg/models/item/night_vision_pill.json create mode 100644 kubejs/assets/tfg/models/item/night_vision_tablet.json create mode 100644 kubejs/assets/tfg/models/item/poison_pill.json create mode 100644 kubejs/assets/tfg/models/item/poison_tablet.json create mode 100644 kubejs/assets/tfg/models/item/regeneration_pill.json create mode 100644 kubejs/assets/tfg/models/item/regeneration_tablet.json create mode 100644 kubejs/assets/tfg/models/item/resistance_salvo.json create mode 100644 kubejs/assets/tfg/models/item/slowness_pill.json create mode 100644 kubejs/assets/tfg/models/item/slowness_tablet.json create mode 100644 kubejs/assets/tfg/models/item/speed_pill.json create mode 100644 kubejs/assets/tfg/models/item/speed_tablet.json create mode 100644 kubejs/assets/tfg/models/item/water_breathing_pill.json create mode 100644 kubejs/assets/tfg/models/item/water_breathing_tablet.json create mode 100644 kubejs/assets/tfg/models/item/weakness_pill.json create mode 100644 kubejs/assets/tfg/models/item/weakness_tablet.json diff --git a/kubejs/assets/tfg/models/item/absorption_salvo.json b/kubejs/assets/tfg/models/item/absorption_salvo.json new file mode 100644 index 000000000..44e8ed81a --- /dev/null +++ b/kubejs/assets/tfg/models/item/absorption_salvo.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/absorption_salvo" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/antipoison_pill.json b/kubejs/assets/tfg/models/item/antipoison_pill.json new file mode 100644 index 000000000..c45f964dd --- /dev/null +++ b/kubejs/assets/tfg/models/item/antipoison_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/antipoison_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/antipoison_tablet.json b/kubejs/assets/tfg/models/item/antipoison_tablet.json new file mode 100644 index 000000000..41b9bbd3c --- /dev/null +++ b/kubejs/assets/tfg/models/item/antipoison_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/antipoison_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/fire_resistance_salvo.json b/kubejs/assets/tfg/models/item/fire_resistance_salvo.json new file mode 100644 index 000000000..c94e842f3 --- /dev/null +++ b/kubejs/assets/tfg/models/item/fire_resistance_salvo.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/fire_resistance_salvo" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/haste_pill.json b/kubejs/assets/tfg/models/item/haste_pill.json new file mode 100644 index 000000000..78f50953e --- /dev/null +++ b/kubejs/assets/tfg/models/item/haste_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/haste_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/haste_tablet.json b/kubejs/assets/tfg/models/item/haste_tablet.json new file mode 100644 index 000000000..f9c391d9f --- /dev/null +++ b/kubejs/assets/tfg/models/item/haste_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/haste_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/instant_health_salvo.json b/kubejs/assets/tfg/models/item/instant_health_salvo.json new file mode 100644 index 000000000..ce53f77de --- /dev/null +++ b/kubejs/assets/tfg/models/item/instant_health_salvo.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/instant_health_salvo" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/invisibility_salvo.json b/kubejs/assets/tfg/models/item/invisibility_salvo.json new file mode 100644 index 000000000..21b5ce0d6 --- /dev/null +++ b/kubejs/assets/tfg/models/item/invisibility_salvo.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/invisibility_salvo" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/luck_salvo.json b/kubejs/assets/tfg/models/item/luck_salvo.json new file mode 100644 index 000000000..600e33637 --- /dev/null +++ b/kubejs/assets/tfg/models/item/luck_salvo.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/luck_salvo" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/night_vision_pill.json b/kubejs/assets/tfg/models/item/night_vision_pill.json new file mode 100644 index 000000000..9326a59eb --- /dev/null +++ b/kubejs/assets/tfg/models/item/night_vision_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/night_vision_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/night_vision_tablet.json b/kubejs/assets/tfg/models/item/night_vision_tablet.json new file mode 100644 index 000000000..b1cd8fd85 --- /dev/null +++ b/kubejs/assets/tfg/models/item/night_vision_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/night_vision_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/poison_pill.json b/kubejs/assets/tfg/models/item/poison_pill.json new file mode 100644 index 000000000..541236b03 --- /dev/null +++ b/kubejs/assets/tfg/models/item/poison_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/poison_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/poison_tablet.json b/kubejs/assets/tfg/models/item/poison_tablet.json new file mode 100644 index 000000000..5e13ef48a --- /dev/null +++ b/kubejs/assets/tfg/models/item/poison_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/poison_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/regeneration_pill.json b/kubejs/assets/tfg/models/item/regeneration_pill.json new file mode 100644 index 000000000..5a4e8026e --- /dev/null +++ b/kubejs/assets/tfg/models/item/regeneration_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/regeneration_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/regeneration_tablet.json b/kubejs/assets/tfg/models/item/regeneration_tablet.json new file mode 100644 index 000000000..27fb807c7 --- /dev/null +++ b/kubejs/assets/tfg/models/item/regeneration_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/regeneration_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/resistance_salvo.json b/kubejs/assets/tfg/models/item/resistance_salvo.json new file mode 100644 index 000000000..2b4bba5a4 --- /dev/null +++ b/kubejs/assets/tfg/models/item/resistance_salvo.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/resistance_salvo" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/slowness_pill.json b/kubejs/assets/tfg/models/item/slowness_pill.json new file mode 100644 index 000000000..5b66f6a7b --- /dev/null +++ b/kubejs/assets/tfg/models/item/slowness_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/slowness_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/slowness_tablet.json b/kubejs/assets/tfg/models/item/slowness_tablet.json new file mode 100644 index 000000000..61af42074 --- /dev/null +++ b/kubejs/assets/tfg/models/item/slowness_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/slowness_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/speed_pill.json b/kubejs/assets/tfg/models/item/speed_pill.json new file mode 100644 index 000000000..faa19459c --- /dev/null +++ b/kubejs/assets/tfg/models/item/speed_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/speed_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/speed_tablet.json b/kubejs/assets/tfg/models/item/speed_tablet.json new file mode 100644 index 000000000..881364bd1 --- /dev/null +++ b/kubejs/assets/tfg/models/item/speed_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/speed_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/water_breathing_pill.json b/kubejs/assets/tfg/models/item/water_breathing_pill.json new file mode 100644 index 000000000..5d8919992 --- /dev/null +++ b/kubejs/assets/tfg/models/item/water_breathing_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/water_breathing_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/water_breathing_tablet.json b/kubejs/assets/tfg/models/item/water_breathing_tablet.json new file mode 100644 index 000000000..0417d1a21 --- /dev/null +++ b/kubejs/assets/tfg/models/item/water_breathing_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/water_breathing_tablet" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/weakness_pill.json b/kubejs/assets/tfg/models/item/weakness_pill.json new file mode 100644 index 000000000..c39e145a4 --- /dev/null +++ b/kubejs/assets/tfg/models/item/weakness_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/weakness_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/weakness_tablet.json b/kubejs/assets/tfg/models/item/weakness_tablet.json new file mode 100644 index 000000000..811a696a2 --- /dev/null +++ b/kubejs/assets/tfg/models/item/weakness_tablet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/weakness_tablet" + } +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 3ec698b25..0763461fa 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -344,13 +344,14 @@ const registerGTCEuMaterialModification = (event) => { // Ostrum fluid pipe - same flow rate as titanium, higher temp range GTMaterials.get('ostrum').setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(3700, 150, true, false, true, false)); - // Add some hazards back + // int is how fast the condition progresses (default 1.0) + // bool is whether or not the condition applies to anything made with the material, other than dusts (default false) GTMaterials.Realgar.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); GTMaterials.Cobaltite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); GTMaterials.Galena.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.WEAK_POISON, 1, false)); GTMaterials.Chromite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.IRRITANT, 1, false)); GTMaterials.Thorium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.ANY, GTMedicalConditions.CARCINOGEN, 1, true)); - + // This contains hazardous elements so GT tags it as hazardous automatically GTMaterials.get('ostrum').getProperties().removeProperty(PropertyKey.HAZARD); GTMaterials.get('ostrum_iodide').getProperties().removeProperty(PropertyKey.HAZARD); From 6862c7a7d4dfc2c4413b9c90a66051e57ff54d87 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 22:27:26 +0000 Subject: [PATCH 317/628] langs --- kubejs/assets/tfg/lang/en_us.json | 12 +++++++----- kubejs/assets/tfg/lang/fr_fr.json | 8 ++++---- kubejs/assets/tfg/lang/ja_jp.json | 2 +- kubejs/assets/tfg/lang/pt_br.json | 8 ++++---- kubejs/assets/tfg/lang/ru_ru.json | 4 ++-- kubejs/assets/tfg/lang/uk_ua.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 4 ++-- 7 files changed, 21 insertions(+), 19 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 15d0d1d21..f87e0a718 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1538,6 +1538,8 @@ "tfg.tooltip.machine.cooling_tower_1": "§7Heating up the Atmosphere§r", "tfg.tooltip.machine.cooling_tower_2": "§7Cools the hot coolant by dissipitating excess heat to the atmosphere.§r", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", + "tfg.tooltip.antipoison_pill": "§9Cures Poison", + "tfg.tooltip.antipoison_tablet": "§9Cures All Active Harmful Effects", "tfg.tooltip.dna_syringe.empty": "§7An empty syringe.§r", "tfg.tooltip.dna_syringe.dirty1": "§7A used syringe.§r", "tfg.tooltip.dna_syringe.dirty2": "§7Be careful not to poke anyone with this...§r", @@ -3471,7 +3473,7 @@ "quests.space_survival.sandworm.desc": "If you make too much noise in the desert, you might attract the attention of the mighty &6Sandworm&r! It's more of an environmental hazard than a boss to kill, so your best way of surviving it is to run away!\n\nIf you manage to hit its head enough times with &bexplosion damage&r, it will leave you alone... for a while.\n\nThankfully, the Sandworm can only damage entities, not buildings, and is only attracted to the &6footsteps of players&r, so any way to keep &byour own feet&r off the ground won't anger it. The atmosphere is too thin for airplanes and hang gliders, but there are other tools...", "quests.space_survival.spice.title": "Ostrum Deposits", "quests.space_survival.spice.subtitle": "Spice Melange", - "quests.space_survival.spice.desc": "&dOstrum Deposits&r are immovable blocks that you can only find in the Martian Deep Desert, far away from any of the more lush areas. They spawn in small blobs, and can be broken to make space for your Ostrum Harvester if they're on a slope. Try using a &6Spyglass&r to find them from a distance!\n\nYou'll have to figure out some long-distance logistics to ship your Ostrum back to your base. (Try a train, Accumulators can transport power!)\n\nOstrum is a crucial resource for both &5EV&r progression and making infinite ores from Mars.", + "quests.space_survival.spice.desc": "&dOstrum Deposits&r are immovable blocks that you can only find in the Martian Deep Desert, far away from any of the more lush areas. They spawn in small blobs, and can be broken to make space for your Ostrum Harvester if they're on a slope. Try using a &6Spyglass&r to find them from a distance!\n\nYou'll have to figure out some long-distance logistics to ship your Ostrum back to your base. (Try a train!)\n\nOstrum is a crucial resource for both &5EV&r progression and making infinite ores from Mars.", "quests.space_survival.spice.task": "The spice must flow", "quests.space_survival.mars_islands.title": "The Martian Jungles", "quests.space_survival.mars_islands.subtitle": "Is that a dinosaur?!", @@ -3557,16 +3559,16 @@ "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.", - "quests.steam_age.horse_crank.desc.2": "&3Small Animals (4 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (6 SU):&r\nCow, Donkey\n\n&3Large Animals (8 SU):&r\nHorse, Mule, Musk Ox, Yak", + "quests.steam_age.horse_crank.desc.2": "&3Small Animals (8 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (12 SU):&r\nCow, Donkey\n\n&3Large Animals (16 SU):&r\nHorse, Mule, Musk Ox, Yak", "quests.steam_age.poor_paths.title": "Poor Paths", "quests.steam_age.poor_paths.subtitle": "This is just dirt", - "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 2 RPM.", + "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 8 RPM.", "quests.steam_age.normal_paths.title": "Medium Paths", "quests.steam_age.normal_paths.subtitle": "Ok, you put a little effort in", - "quests.steam_age.normal_paths.desc": "Medium paths are a little better and will let your animals turn the crank at 4 RPM.\n\nNote: You can't have a Dirt Path block directly under the animal crank, so that one will have to be Gravel.", + "quests.steam_age.normal_paths.desc": "Medium paths are a little better and will let your animals turn the crank at 16 RPM.\n\nNote: You can't have a Dirt Path block directly under the animal crank, so that one will have to be Gravel.", "quests.steam_age.good_paths.title": "Great Paths", "quests.steam_age.good_paths.subtitle": "No horseshoes required!", - "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 8 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", + "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 32 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", "quests.steam_age.helve_hammer.title": "Helve Hammer", "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it by pressing the &2Throw Item key (Default: Q)&r, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index cd975ce92..2eb18c1e0 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2893,16 +2893,16 @@ "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.", - "quests.steam_age.horse_crank.desc.2": "&3Small Animals (4 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (6 SU):&r\nCow, Donkey\n\n&3Large Animals (8 SU):&r\nHorse, Mule, Musk Ox, Yak", + "quests.steam_age.horse_crank.desc.2": "&3Small Animals (8 SU):&r\nWolf, Dog, Pig, Sheep, Goat, Alpaca\n\n&3Medium Animals (12 SU):&r\nCow, Donkey\n\n&3Large Animals (16 SU):&r\nHorse, Mule, Musk Ox, Yak", "quests.steam_age.poor_paths.title": "Poor Paths", "quests.steam_age.poor_paths.subtitle": "This is just dirt", - "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 2 RPM.", + "quests.steam_age.poor_paths.desc": "This is the worst kind of road you could use. The animal crank will operate at 8 RPM.", "quests.steam_age.normal_paths.title": "Medium Paths", "quests.steam_age.normal_paths.subtitle": "Ok, you put a little effort in", - "quests.steam_age.normal_paths.desc": "Medium paths are a little better and will let your animals turn the crank at 4 RPM.\n\nNote: You can't have a Dirt Path block directly under the animal crank, so that one will have to be Gravel.", + "quests.steam_age.normal_paths.desc": "Medium paths are a little better and will let your animals turn the crank at 16 RPM.\n\nNote: You can't have a Dirt Path block directly under the animal crank, so that one will have to be Gravel.", "quests.steam_age.good_paths.title": "Great Paths", "quests.steam_age.good_paths.subtitle": "No horseshoes required!", - "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 8 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", + "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 32 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", "quests.steam_age.helve_hammer.title": "Helve Hammer", "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it by pressing the &2Throw Item key (Default: Q)&r, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 316dabe38..2afad311c 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -3380,7 +3380,7 @@ "quests.steam_age.horse_crank.title": "最初の動力源", "quests.steam_age.horse_crank.subtitle": "24時間働けますか?", "quests.steam_age.horse_crank.desc.1": "&3アニマルクランク&rは、最初に利用できる動力源です。使用するには、7x7の整地されたエリアの中央に設置し、動物をリードでつなぎます。\n動物の種類によって出力される応力の大きさが異なり、下のブロックによって回転速度が向上します。それぞれのクランク同士の領域は重なっていても問題ありません。\n\n注意:動物を取り付けるには、リードを2本持っている必要がある場合があります。", - "quests.steam_age.horse_crank.desc.2": "&3小型動物(4 SU):&r\nオオカミ、犬、豚、羊、ヤギ、アルパカ\n\n&3中型動物(6 SU):&r\n牛、ロバ\n\n&3大きな動物(8 SU):&r\n馬、ラバ、ジャコウウシ、ヤク", + "quests.steam_age.horse_crank.desc.2": "&3小型動物(8 SU):&r\nオオカミ、犬、豚、羊、ヤギ、アルパカ\n\n&3中型動物(12 SU):&r\n牛、ロバ\n\n&3大きな動物(16 SU):&r\n馬、ラバ、ジャコウウシ、ヤク", "quests.steam_age.poor_paths.title": "貧弱な道", "quests.steam_age.poor_paths.subtitle": "奴隷労働", "quests.steam_age.poor_paths.desc": "これは使用できる中で最悪の道路です。アニマルクランクは2RPMで動作します。", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 1a0a0f1b9..d2366efae 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -1827,16 +1827,16 @@ "quests.steam_age.horse_crank.title": "Sua Primeira Fonte de Energia", "quests.steam_age.horse_crank.subtitle": "Hora de fazer o gado pagar o aluguel", "quests.steam_age.horse_crank.desc.1": "A &3Manivela de Tração&r é sua primeira fonte viável de energia mecânica. Para usá-la, coloque a manivela no centro de uma área limpa de 7x7 blocos e prenda um animal a ela. Diferentes animais geram diferentes quantidades de energia, e os blocos sob eles afetam a velocidade da rotação. Manivelas próximas podem compartilhar parte da área de atuação.\n\nTalvez você precise segurar uma segunda corda na hora de prender o animal.", - "quests.steam_age.horse_crank.desc.2": "&3Animais Pequenos (4 SU):&r\nLobo, Cachorro, Porco, Ovelha, Cabra, Alpaca\n\n&3Animais Médios (6 SU):&r\nVaca, Burro\n\n&3Animais Grandes (8 SU):&r\nCavalo, Mula, Boi-Almiscarado, Iaque", + "quests.steam_age.horse_crank.desc.2": "&3Animais Pequenos (8 SU):&r\nLobo, Cachorro, Porco, Ovelha, Cabra, Alpaca\n\n&3Animais Médios (12 SU):&r\nVaca, Burro\n\n&3Animais Grandes (16 SU):&r\nCavalo, Mula, Boi-Almiscarado, Iaque", "quests.steam_age.poor_paths.title": "Caminhos Ruins", "quests.steam_age.poor_paths.subtitle": "Isso é só terra mesmo", - "quests.steam_age.poor_paths.desc": "Esse é o pior tipo de estrada possível. A manivela vai girar a 2 RPM aqui.", + "quests.steam_age.poor_paths.desc": "Esse é o pior tipo de estrada possível. A manivela vai girar a 8 RPM aqui.", "quests.steam_age.normal_paths.title": "Caminhos Médios", "quests.steam_age.normal_paths.subtitle": "Pelo menos você tentou...", - "quests.steam_age.normal_paths.desc": "Caminhos médios são um pouco melhores e permitem que os animais girem a manivela a 4 RPM.\n\nNota: Não é possível ter um bloco de Caminho de Terra diretamente sob a manivela, então use Cascalho nesse ponto.", + "quests.steam_age.normal_paths.desc": "Caminhos médios são um pouco melhores e permitem que os animais girem a manivela a 16 RPM.\n\nNota: Não é possível ter um bloco de Caminho de Terra diretamente sob a manivela, então use Cascalho nesse ponto.", "quests.steam_age.good_paths.title": "Caminhos Bons", "quests.steam_age.good_paths.subtitle": "Nem precisa de ferradura!", - "quests.steam_age.good_paths.desc": "Esses são os melhores caminhos disponíveis, permitindo que a manivela gire a 8 RPM. Também aumentam a velocidade de movimento do jogador, então são ótimos para pavimentar sua base!", + "quests.steam_age.good_paths.desc": "Esses são os melhores caminhos disponíveis, permitindo que a manivela gire a 32 RPM. Também aumentam a velocidade de movimento do jogador, então são ótimos para pavimentar sua base!", "quests.steam_age.helve_hammer.title": "Martinete", "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", "quests.steam_age.helve_hammer.desc": "Está cansado de fazer placas para a Forja Catalã? O &3Martinete&r achata lingotes duplos automaticamente (mas lentamente) em placas. Você ainda terá que fazer as soldagens manualmente. Coloque uma bigorna sob o martinete, jogue os lingotes sobre ela e clique com o botão direito no martinete para pegar as placas.\n\nBigornas de nível superior exigem menos batidas para formar placas do nível anterior.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 78cd12896..637d57b4b 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -3242,7 +3242,7 @@ "quests.space_survival.sandworm.desc": "If you make too much noise in the desert, you might attract the attention of the mighty &6Sandworm&r! It's more of an environmental hazard than a boss to kill, so your best way of surviving it is to run away!\n\nIf you manage to hit its head enough times with &bexplosion damage&r, it will leave you alone... for a while.\n\nThankfully, the Sandworm can only damage entities, not buildings, and is only attracted to the &6footsteps of players&r, so any way to keep &byour own feet&r off the ground won't anger it. The atmosphere is too thin for airplanes and hang gliders, but there are other tools...", "quests.space_survival.spice.title": "Ostrum Deposits", "quests.space_survival.spice.subtitle": "Spice Melange", - "quests.space_survival.spice.desc": "&dOstrum Deposits&r are immovable blocks that you can only find in the Martian Deep Desert, far away from any of the more lush areas. They spawn in small blobs, and can be broken to make space for your Ostrum Harvester if they're on a slope. Try using a &6Spyglass&r to find them from a distance!\n\nYou'll have to figure out some long-distance logistics to ship your Ostrum back to your base. (Try a train, Accumulators can transport power!)\n\nOstrum is a crucial resource for both &5EV&r progression and making infinite ores from Mars.", + "quests.space_survival.spice.desc": "&dOstrum Deposits&r are immovable blocks that you can only find in the Martian Deep Desert, far away from any of the more lush areas. They spawn in small blobs, and can be broken to make space for your Ostrum Harvester if they're on a slope. Try using a &6Spyglass&r to find them from a distance!\n\nYou'll have to figure out some long-distance logistics to ship your Ostrum back to your base. (Try a train!)\n\nOstrum is a crucial resource for both &5EV&r progression and making infinite ores from Mars.", "quests.space_survival.spice.task": "The spice must flow", "quests.space_survival.mars_islands.title": "The Martian Jungles", "quests.space_survival.mars_islands.subtitle": "Is that a dinosaur?!", @@ -3328,7 +3328,7 @@ "quests.steam_age.horse_crank.title": "Твой Первый Источник Энергии", "quests.steam_age.horse_crank.subtitle": "Пусть домашние животные платят за жильё", "quests.steam_age.horse_crank.desc.1": "&3Конный Привод&r — это твой первый доступный источник механической энергии. Чтобы его использовать, размести привод в центре очищенной площадки 7x7 и привяжи к нему животное. Разные животные дают разное количество энергии, а блоки под ними могут увеличить скорость вращения. Площадки нескольких приводов могут перекрываться.\n\nИногда может понадобиться удерживать второй поводок, чтобы прикрепить животное.", - "quests.steam_age.horse_crank.desc.2": "&3Мелкие животные (4 SU):&r\nВолк, Собака, Свинья, Овца, Коза, Альпака\n\n&3Средние животные (6 SU):&r\nКорова, Осёл\n\n&3Крупные животные (8 SU):&r\nЛошадь, Мул, Мускусный бык, Як", + "quests.steam_age.horse_crank.desc.2": "&3Мелкие животные (8 SU):&r\nВолк, Собака, Свинья, Овца, Коза, Альпака\n\n&3Средние животные (12 SU):&r\nКорова, Осёл\n\n&3Крупные животные (16 SU):&r\nЛошадь, Мул, Мускусный бык, Як", "quests.steam_age.poor_paths.title": "Плохие Дорожки", "quests.steam_age.poor_paths.subtitle": "Это просто грязь", "quests.steam_age.poor_paths.desc": "Худший тип дороги, который можно использовать. Конный привод будет работать на скорости 2 об/мин.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index eb51c104e..6929d180e 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -3408,7 +3408,7 @@ "quests.steam_age.horse_crank.title": "Ваше перше джерело енергії", "quests.steam_age.horse_crank.subtitle": "Змусьте свою худобу платити оренду", "quests.steam_age.horse_crank.desc.1": "&3Тваринний Привід&r — це твій перше доступне джерело механічної енергії. Щоб ним скористатися, постав привід у центрі очищеної ділянки розміром 7x7 блоків і прив’яжи до нього тварину. Різні тварини генерують різну кількість потужності, а блоки під ним впливають на швидкість вихідної енергії. Зони кількох приводів можуть перекриватися.\n\nМожливо, доведеться тримати другий поводок, щоб приєднати тварину.", - "quests.steam_age.horse_crank.desc.2": "&3Маленькі тварини (4 SU):&r\nВовк, Собака, Свиня, Вівця, Коза, Альпака\n\n&3Середні тварини (6 SU):&r\nКорова, Осел\n\n&3Великі тварини (8 SU):&r\nКінь, Мул, Мускусний віл, Як", + "quests.steam_age.horse_crank.desc.2": "&3Маленькі тварини (8 SU):&r\nВовк, Собака, Свиня, Вівця, Коза, Альпака\n\n&3Середні тварини (12 SU):&r\nКорова, Осел\n\n&3Великі тварини (16 SU):&r\nКінь, Мул, Мускусний віл, Як", "quests.steam_age.poor_paths.title": "Погані шляхи", "quests.steam_age.poor_paths.subtitle": "Це просто бруд", "quests.steam_age.poor_paths.desc": "Це найгірший тип дороги, яку можна використовувати. Тваринний привід працюватиме зі швидкістю 2 об/хв.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e8f44b389..c9a56122e 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -3644,10 +3644,10 @@ "quests.steam_age.horse_crank.title": "你的第一个动力源", "quests.steam_age.horse_crank.subtitle": "让你的牲畜付租金", "quests.steam_age.horse_crank.desc.1": "&3动物曲柄&r 是你第一个可获得的机械动力源。要使用它,将曲柄放在一个7x7清空区域的中心,并用拴绳将动物拴在上面。不同的动物会提供不同数量的动力,而下面的方块会增加输出动力的速度。多个曲柄的区域可以重叠。\n\n你可能需要手持第二根拴绳来拴住动物。", - "quests.steam_age.horse_crank.desc.2": "&3小型动物 (4 SU):&r\n狼, 狗, 猪, 绵羊, 山羊, 羊驼\n\n&3中型动物 (6 SU):&r\n牛, 驴\n\n&3大型动物 (8 SU):&r\n马, 骡, 麝牛, 牦牛", + "quests.steam_age.horse_crank.desc.2": "&3小型动物 (8 SU):&r\n狼, 狗, 猪, 绵羊, 山羊, 羊驼\n\n&3中型动物 (12 SU):&r\n牛, 驴\n\n&3大型动物 (16 SU):&r\n马, 骡, 麝牛, 牦牛", "quests.steam_age.poor_paths.title": "劣质路面", "quests.steam_age.poor_paths.subtitle": "这只是土", - "quests.steam_age.poor_paths.desc": "这是你能使用的最差的道路。动物曲柄将以 2 RPM 运行。", + "quests.steam_age.poor_paths.desc": "这是你能使用的最差的道路。动物曲柄将以 8 RPM 运行。", "quests.steam_age.normal_paths.title": "中等路面", "quests.steam_age.normal_paths.subtitle": "好吧,你花了一点功夫", "quests.steam_age.normal_paths.desc": "中等路面稍微好一点,会让你的动物以4RPM转动曲柄。\n\n注意:你不能在动物曲柄正下方放置土径方块,所以那个位置必须是沙砾。", From 4ef05a397d961a2d53ac7918a315c23e7d211521 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 23:14:20 +0000 Subject: [PATCH 318/628] comment out greate belt stuff for now --- kubejs/server_scripts/greate/recipes.js | 6 ++++-- kubejs/startup_scripts/greate/materials.js | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index be1b2cc75..ca059b169 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -637,6 +637,7 @@ function registerGreateRecipes(event) { // #region Belt Connector // Wood + /* event.shaped('greate:andesite_alloy_belt_connector', [ 'AAA', 'CBC', @@ -676,7 +677,7 @@ function registerGreateRecipes(event) { event.remove({ id: 'gtceu:shaped/stone_belt_connector' }) TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', { 'air': 1 }); - + */ // Rubber event.shaped('greate:rubber_belt_connector', [ 'AAA', @@ -726,6 +727,7 @@ function registerGreateRecipes(event) { TFGHelpers.registerMaterialInfo('greate:silicone_rubber_belt_connector', { 'silicone_rubber': 3 }); // SBR rubber + /* event.shaped('greate:styrene_butadiene_rubber_belt_connector', [ 'AAA', 'B C' @@ -748,7 +750,7 @@ function registerGreateRecipes(event) { event.remove({ id: 'gtceu:extractor/extract_styrene_butadiene_rubber_belt_connector' }) TFGHelpers.registerMaterialInfo('greate:styrene_butadiene_rubber_belt_connector', { 'styrene_butadiene_rubber': 3 }); - + */ // #endregion // #region Mixer diff --git a/kubejs/startup_scripts/greate/materials.js b/kubejs/startup_scripts/greate/materials.js index 8bcfe6db5..e99d1a4b8 100644 --- a/kubejs/startup_scripts/greate/materials.js +++ b/kubejs/startup_scripts/greate/materials.js @@ -3,6 +3,7 @@ const registerGreateMaterials = (event) => { // Belt materials should already have an ingot and plate item already + /* const $BeltProperty = Java.loadClass("electrolyte.greate.content.gtceu.material.BeltProperty") // Wood belt @@ -24,6 +25,7 @@ const registerGreateMaterials = (event) => { GTMaterials.SiliconeRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.StainlessSteel, GTMaterials.Aluminium], 25)) GTMaterials.StyreneButadieneRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Titanium, GTMaterials.StainlessSteel], 30)) + */ } const registerGreateMaterialModification = (event) => { From 793e2c015830206bf54ca1d645aede097e481026 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 23:22:20 +0000 Subject: [PATCH 319/628] pakku update --- pakku-lock.json | 214 ++++++++++++++++++++++++------------------------ 1 file changed, 107 insertions(+), 107 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 580a6d6fe..91805d399 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -960,33 +960,9 @@ "modrinth": "fM515JnW" }, "files": [ - { - "type": "curseforge", - "file_name": "AmbientSounds_FORGE_v6.1.11_mc1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6570/130/AmbientSounds_FORGE_v6.1.11_mc1.20.1.jar", - "id": "6570130", - "parent_id": "254284", - "hashes": { - "sha1": "af412170c07febfb5c611b7237d806230dc83584", - "md5": "78270b771d833d9f2936a2bd95a7ec21" - }, - "required_dependencies": [ - "257814" - ], - "size": 51722248, - "date_published": "2025-05-26T09:57:49.020Z" - }, { "type": "modrinth", - "file_name": "AmbientSounds_FORGE_v6.1.11_mc1.20.1.jar", + "file_name": "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -995,18 +971,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/fM515JnW/versions/lDrRWaFm/AmbientSounds_FORGE_v6.1.11_mc1.20.1.jar", - "id": "lDrRWaFm", + "url": "https://cdn.modrinth.com/data/fM515JnW/versions/5b052xpX/AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", + "id": "5b052xpX", "parent_id": "fM515JnW", "hashes": { - "sha512": "0754b6afd97f0b3d2a991303e9f1d70512dabe5f490a6b86de99602f4d787da17222c3aa6ffff74633e4b40472e1ccaab5b5a1d7a967c788b89334749d475ad9", - "sha1": "af412170c07febfb5c611b7237d806230dc83584" + "sha512": "c453e9a79725d54db8a754a0ed9f94c51b5cbe448dae46af2fa7de39dc109ce9d3d28ab448127271fa75fb5d6156534e36d9b6a9efd6bb85bd4022cc173935ac", + "sha1": "b6c676fbe4e586de6c266190943c069a0a49104d" }, "required_dependencies": [ "OsZiaDHq" ], - "size": 51722248, - "date_published": "2025-05-26T09:58:10.235049Z" + "size": 52449474, + "date_published": "2025-12-11T19:02:45.759230Z" + }, + { + "type": "curseforge", + "file_name": "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7321/586/AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", + "id": "7321586", + "parent_id": "254284", + "hashes": { + "sha1": "b6c676fbe4e586de6c266190943c069a0a49104d", + "md5": "ce88224be844787f70b3e2d0ea40ffac" + }, + "required_dependencies": [ + "257814" + ], + "size": 52449474, + "date_published": "2025-12-11T19:02:20.783Z" } ] }, @@ -5147,7 +5147,7 @@ "files": [ { "type": "modrinth", - "file_name": "entityculling-forge-1.9.3-mc1.20.1.jar", + "file_name": "entityculling-forge-1.9.4-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5155,20 +5155,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/H7zaVcD6/entityculling-forge-1.9.3-mc1.20.1.jar", - "id": "H7zaVcD6", + "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/GpUlMGON/entityculling-forge-1.9.4-mc1.20.1.jar", + "id": "GpUlMGON", "parent_id": "NNAgCjsB", "hashes": { - "sha512": "62429153a72f509877bae38c6e3e651ff241114c3608fdf6f2e412a6df0acec1da318e50a8dd3a2468fbddcc16c3e412910e0e09b9d1f94d6b0312bfe8b07e9d", - "sha1": "8faea4818faab6b870ee370b52434b016542b519" + "sha512": "f8f9ce531f7f878443a29cb12eed5dd40b25faf83d8fab8fef99b2e6058c5e6ac3d3fb6602abb4669e79b294dc8a9ecec324f632e0a637f70b09a5b6f402b70e", + "sha1": "2b19c5c38f88285aed2aad6a61eb622003540ee5" }, "required_dependencies": [], - "size": 477884, - "date_published": "2025-10-30T19:05:52.890832Z" + "size": 1568324, + "date_published": "2025-12-09T21:09:58.011151Z" }, { "type": "curseforge", - "file_name": "entityculling-forge-1.9.3-mc1.20.1.jar", + "file_name": "entityculling-forge-1.9.4-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5176,16 +5176,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7167/800/entityculling-forge-1.9.3-mc1.20.1.jar", - "id": "7167800", + "url": "https://edge.forgecdn.net/files/7313/354/entityculling-forge-1.9.4-mc1.20.1.jar", + "id": "7313354", "parent_id": "448233", "hashes": { - "sha1": "8faea4818faab6b870ee370b52434b016542b519", - "md5": "ae4f74f187b64f3b107e97b949e4a9e8" + "sha1": "2b19c5c38f88285aed2aad6a61eb622003540ee5", + "md5": "fdc791c2247535f6602650a3cc6f8f36" }, "required_dependencies": [], - "size": 477884, - "date_published": "2025-10-30T19:05:50.793Z" + "size": 1568324, + "date_published": "2025-12-09T21:09:55.243Z" } ] }, @@ -6049,34 +6049,9 @@ "modrinth": "9mtu0sUO" }, "files": [ - { - "type": "curseforge", - "file_name": "fast-ip-ping-v1.0.7-mc1.20.4-forge.jar", - "mc_versions": [ - "1.20.2", - "1.20.3", - "1.20.1", - "1.20", - "1.20.4" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6666/671/fast-ip-ping-v1.0.7-mc1.20.4-forge.jar", - "id": "6666671", - "parent_id": "904356", - "hashes": { - "sha1": "253d21fd87657e6dc1e451c9758f5daaa71b86c8", - "md5": "d1e81c87cc785a956f5972a3b0d2e7f2" - }, - "required_dependencies": [], - "size": 10557, - "date_published": "2025-06-18T15:25:05.557Z" - }, { "type": "modrinth", - "file_name": "fast-ip-ping-v1.0.7-mc1.20.4-forge.jar", + "file_name": "fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", "mc_versions": [ "1.20", "1.20.1", @@ -6088,16 +6063,41 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/9mtu0sUO/versions/W1Wnmkqh/fast-ip-ping-v1.0.7-mc1.20.4-forge.jar", - "id": "W1Wnmkqh", + "url": "https://cdn.modrinth.com/data/9mtu0sUO/versions/1Psj7GtQ/fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", + "id": "1Psj7GtQ", "parent_id": "9mtu0sUO", "hashes": { - "sha512": "5223cd922b4f32faf8e6263976d39ead51e12dc332a16eacfddd11196872609b1d905673ab707f38d62f5d3f9c243dc51bb62bf3f8179d15a006c616feb48be8", - "sha1": "253d21fd87657e6dc1e451c9758f5daaa71b86c8" + "sha512": "4c016afaf112b8664529a419f1188d2a4211d41a8a4fe1420d6b679eb134d5c1085e53e06f83ec7a0686c8faf5f59c2c3c0d7c321ed868f075731d7681cfb313", + "sha1": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712" }, "required_dependencies": [], - "size": 10557, - "date_published": "2025-06-18T15:27:06.998981Z" + "size": 10331, + "date_published": "2025-12-10T19:52:27.401005Z" + }, + { + "type": "curseforge", + "file_name": "fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", + "mc_versions": [ + "1.20.2", + "1.20.1", + "1.20", + "1.20.4", + "1.20.3" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7317/271/fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", + "id": "7317271", + "parent_id": "904356", + "hashes": { + "sha1": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712", + "md5": "cc7cb94b42e4da21a1010f906d0e149a" + }, + "required_dependencies": [], + "size": 10331, + "date_published": "2025-12-10T19:52:26.030Z" } ] }, @@ -7489,7 +7489,7 @@ "files": [ { "type": "modrinth", - "file_name": "ImmediatelyFast-Forge-1.5.2+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", "mc_versions": [ "1.20", "1.20.1", @@ -7501,41 +7501,41 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/aFMmx5Ig/ImmediatelyFast-Forge-1.5.2+1.20.4.jar", - "id": "aFMmx5Ig", + "url": "https://cdn.modrinth.com/data/5ZwdcRci/versions/a4stvpj6/ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "id": "a4stvpj6", "parent_id": "5ZwdcRci", "hashes": { - "sha512": "648cd5c451f8e5b4c7404179b75d4044aa14501c832a38e09877de74902e2ce3156af1cb936c91b48cd6210d1e576f0808142ca24a0d291990fdf245ff2da993", - "sha1": "2eeca5deb063ed49bb9c6be8b162ca6270202239" + "sha512": "ef57ecc7aa7138c1b06fac6d6b49707d6ef324b6220cd604f567cfdbabd5b9ca0e76a2a4ed354d08029976c773f40c65b7692372a3f70637d7ae446be2b3ace0", + "sha1": "d4695d013e9da7089e2906db3f56bc5398e478e2" }, "required_dependencies": [], - "size": 425140, - "date_published": "2025-09-14T19:20:09.156785Z" + "size": 426980, + "date_published": "2025-12-09T20:19:33.206344Z" }, { "type": "curseforge", - "file_name": "ImmediatelyFast-Forge-1.5.2+1.20.4.jar", + "file_name": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", "mc_versions": [ "1.20.2", - "1.20.3", "1.20.1", "1.20", - "1.20.4" + "1.20.4", + "1.20.3" ], "loaders": [ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6997/261/ImmediatelyFast-Forge-1.5.2+1.20.4.jar", - "id": "6997261", + "url": "https://edge.forgecdn.net/files/7313/94/ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "id": "7313094", "parent_id": "686911", "hashes": { - "sha1": "2eeca5deb063ed49bb9c6be8b162ca6270202239", - "md5": "a9497bda5f3fd160c248d4a8d4499e15" + "sha1": "d4695d013e9da7089e2906db3f56bc5398e478e2", + "md5": "1e5278b2585bab1db76d4b1ab61e82c1" }, "required_dependencies": [], - "size": 425140, - "date_published": "2025-09-14T19:20:08.770Z" + "size": 426980, + "date_published": "2025-12-09T20:19:33.393Z" } ] }, @@ -9825,7 +9825,7 @@ "files": [ { "type": "modrinth", - "file_name": "notenoughanimations-forge-1.10.6-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9833,20 +9833,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/7KhtEU40/notenoughanimations-forge-1.10.6-mc1.20.1.jar", - "id": "7KhtEU40", + "url": "https://cdn.modrinth.com/data/MPCX6s5C/versions/cfiRPrQF/notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "id": "cfiRPrQF", "parent_id": "MPCX6s5C", "hashes": { - "sha512": "d6c3322b260fdf7ad5e06c5340593b84df601ee638b2195712e31834936c4d8a96b3afb4f9a673163bea20283a01c1ef6c186ebc6b5e3bb83b966bba79945b7a", - "sha1": "408c8497c263c03edfe432549ef08dc48c6230ed" + "sha512": "9335ace46a9f6477df026f19cab08c656fc7c0a7f1069eedfdadbba01bfd2ad43f9e90a0bb5ef8e867d51608dddcf85fa9653eb178f4a0e6e6bcfb45d0959270", + "sha1": "9aa8917d7c0a5311dc495da3c720434de49e0e24" }, "required_dependencies": [], - "size": 843250, - "date_published": "2025-10-20T12:41:37.262065Z" + "size": 1933839, + "date_published": "2025-12-12T19:11:52.494096Z" }, { "type": "curseforge", - "file_name": "notenoughanimations-forge-1.10.6-mc1.20.1.jar", + "file_name": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -9854,16 +9854,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7129/302/notenoughanimations-forge-1.10.6-mc1.20.1.jar", - "id": "7129302", + "url": "https://edge.forgecdn.net/files/7325/366/notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "id": "7325366", "parent_id": "433760", "hashes": { - "sha1": "408c8497c263c03edfe432549ef08dc48c6230ed", - "md5": "228f7b821bb9e475e1ec38868da56f65" + "sha1": "9aa8917d7c0a5311dc495da3c720434de49e0e24", + "md5": "34fd79756da8b5278a5b0905d98ffeca" }, "required_dependencies": [], - "size": 843250, - "date_published": "2025-10-20T12:41:36.527Z" + "size": 1933839, + "date_published": "2025-12-12T19:11:51.067Z" } ] }, From e3be7d6d1d58a0f9496528efb0fac6e84b3e593d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 23:30:51 +0000 Subject: [PATCH 320/628] medicine rework --- CHANGELOG.md | 2 + kubejs/client_scripts/tooltips.js | 6 ++ .../tfg/primitive/medicine/events.medicine.js | 27 ++------ .../primitive/medicine/recipes.medicine.js | 9 --- .../tfg/primitive/medicine/tags.medicine.js | 33 ++++++++- .../tfg/biotech/items.medicine.js | 69 ------------------- kubejs/startup_scripts/tfg/items.js | 1 - 7 files changed, 45 insertions(+), 102 deletions(-) delete mode 100644 kubejs/startup_scripts/tfg/biotech/items.medicine.js diff --git a/CHANGELOG.md b/CHANGELOG.md index e5450916a..e678b0085 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,10 +12,12 @@ #### Medical Hazards - Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie - The hazard effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie +- Early medicines can now also cure medical conditions! Did you think they wouldn't come with side effects? #### Other - Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie - Doubled the durability of all space suits @Pyritie - Added a way to convert between vinegar and acetic acid (#2386) @Epicificator +- Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 3d604631f..cff423a37 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -18,6 +18,12 @@ const registerTooltips = (event) => { event.addAdvanced(['create:blaze_burner'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.blaze_burner')) }) + event.addAdvanced(['tfg:antipoison_pill'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.antipoison_pill')) + }) + event.addAdvanced(['tfg:antipoison_tablet'], (item, advanced, text) => { + text.add(1, Text.translate('tfg.tooltip.antipoison_tablet')) + }) 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/tfg/primitive/medicine/events.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/events.medicine.js index 115e3caf7..3d8231c38 100644 --- a/kubejs/server_scripts/tfg/primitive/medicine/events.medicine.js +++ b/kubejs/server_scripts/tfg/primitive/medicine/events.medicine.js @@ -14,38 +14,32 @@ const pill_event = [ pill_event.forEach(pill_event => { - ItemEvents.rightClicked(event => { + ItemEvents.foodEaten(event => { const { item, server, player, player: { x, y, z } } = event if (item.id !== `tfg:${pill_event}_pill`) return - item.count-- player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 480 0 true`) server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) }); - ItemEvents.rightClicked(event => { + ItemEvents.foodEaten(event => { const { item, server, player, player: { x, y, z } } = event if (item.id !== `tfg:${pill_event}_tablet`) return - item.count-- player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 1800 0 true`) server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) }); }); -ItemEvents.rightClicked(event => { +ItemEvents.foodEaten(event => { const { item, server, player, player: { x, y, z } } = event if (item.id !== `tfg:antipoison_pill`) return - item.count-- player.addItemCooldown(item, 50) event.player.removeEffect('minecraft:poison') server.runCommandSilent(`playsound minecraft:item.honey_bottle.drink player ${player.username} ${x} ${y} ${z} 10 1.5 1`) }); -ItemEvents.rightClicked(event => { +ItemEvents.foodEaten(event => { const { item, server, player, player: { x, y, z } } = event if (item.id !== `tfg:antipoison_tablet`) return - item.count-- player.addItemCooldown(item, 50) event.player.removeEffect('minecraft:poison') event.player.removeEffect('minecraft:wither') @@ -70,31 +64,24 @@ const salvo_event = [ ]; salvo_event.forEach(salvo_event => { - - ItemEvents.rightClicked(event => { + ItemEvents.foodEaten(event => { const { item, server, player, player: { x, y, z } } = event if (item.id !== `tfg:${salvo_event}_salvo`) return - item.count-- player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:${salvo_event} 480 0 true`) server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) }); }); -ItemEvents.rightClicked(event => { +ItemEvents.foodEaten(event => { const { item, server, player, player: { x, y, z } } = event if (item.id !== `tfg:absorption_salvo`) return - item.count-- player.addItemCooldown(item, 200) - server.runCommandSilent(`effect give ${player.username} minecraft:absorption 480 4 true`) server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) }); -ItemEvents.rightClicked(event => { +ItemEvents.foodEaten(event => { const { item, server, player, player: { x, y, z } } = event if (item.id !== `tfg:instant_health_salvo`) return - item.count-- player.addItemCooldown(item, 100) - server.runCommandSilent(`effect give ${player.username} minecraft:instant_health 1 1 true`) server.runCommandSilent(`playsound minecraft:item.glow_ink_sac.use player ${player.username} ${x} ${y} ${z} 10 2 1`) }); \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js index 306daecd4..59d431279 100644 --- a/kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js +++ b/kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js @@ -570,13 +570,4 @@ function registerTFGMedicineRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) //#endregion - - //#region Paracetamol - - event.recipes.firmalife.mixing_bowl() - .ingredients(['tfg:regeneration_pill', 'tfg:weakness_pill', 'tfg:antipoison_pill', 'tfg:slowness_pill'], Fluid.of('tfc:vinegar', 250)) - .outputItem('4x gtceu:paracetamol_pill') - .id(`tfg:mixing_bowl/paracetamol`) - - //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js index edfe6bceb..ace86bfef 100644 --- a/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js +++ b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js @@ -2,6 +2,33 @@ function registerTFGMedicineItemTags(event) { + event.add('tfg:medicine', 'tfg:antipoison_pill') + event.add('tfg:medicine', 'tfg:antipoison_tablet') + event.add('tfg:medicine', 'tfg:haste_pill') + event.add('tfg:medicine', 'tfg:haste_tablet') + event.add('tfg:medicine', 'tfg:night_vision_pill') + event.add('tfg:medicine', 'tfg:night_vision_tablet') + event.add('tfg:medicine', 'tfg:poison_pill') + event.add('tfg:medicine', 'tfg:poison_tablet') + event.add('tfg:medicine', 'tfg:regeneration_pill') + event.add('tfg:medicine', 'tfg:regeneration_tablet') + event.add('tfg:medicine', 'tfg:slowness_pill') + event.add('tfg:medicine', 'tfg:slowness_tablet') + event.add('tfg:medicine', 'tfg:speed_pill') + event.add('tfg:medicine', 'tfg:speed_tablet') + event.add('tfg:medicine', 'tfg:water_breathing_pill') + event.add('tfg:medicine', 'tfg:water_breathing_tablet') + event.add('tfg:medicine', 'tfg:weakness_pill') + event.add('tfg:medicine', 'tfg:weakness_tablet') + event.add('tfg:medicine', 'tfg:absorption_salvo') + event.add('tfg:medicine', 'tfg:fire_resistance_salvo') + event.add('tfg:medicine', 'tfg:invisibility_salvo') + event.add('tfg:medicine', 'tfg:luck_salvo') + event.add('tfg:medicine', 'tfg:resistance_salvo') + event.add('tfg:medicine', 'tfg:instant_health_salvo') + event.add('tfg:medicine', 'gtceu:paracetamol_pill') + event.add('tfg:medicine', 'gtceu:rad_away_pill') + event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite') @@ -46,6 +73,9 @@ function registerTFGMedicineItemTags(event) { event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product') event.add('tfg:invisibility_ingredients', 'tfc:plant/calendula') + event.add('tfg:invisibility_ingredients', 'tfc:plant/snapdragon_pink') + + event.add('tfg:absorption_ingredients', 'tfc:plant/poppy') event.add('tfg:absorption_ingredients', 'beneath:burpflower') event.add('tfg:fire_resistance_ingredients', 'tfc:plant/cattail') @@ -59,9 +89,6 @@ function registerTFGMedicineItemTags(event) { event.add('tfg:instant_health_ingredients', 'tfc:plant/foxglove') event.add('tfg:instant_health_ingredients', 'tfc:plant/artists_conk') - event.add('tfg:absorption_ingredients', 'tfc:plant/poppy') - event.add('tfg:invisibility_ingredients', 'tfc:plant/snapdragon_pink') - event.add('tfg:luck_ingredients', 'tfc:plant/goldenrod') event.add('tfg:luck_ingredients', 'tfc:plant/heather') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/biotech/items.medicine.js b/kubejs/startup_scripts/tfg/biotech/items.medicine.js deleted file mode 100644 index a3584c88f..000000000 --- a/kubejs/startup_scripts/tfg/biotech/items.medicine.js +++ /dev/null @@ -1,69 +0,0 @@ -// priority: 0 -"use strict"; - -function registerTFGMedicineItems(event) { - const pill = [ - 'haste', - 'night_vision', - 'poison', - 'regeneration', - 'slowness', - 'speed', - 'water_breathing', - 'weakness' - ] - - const pill_names = [ - 'Haste', - 'Night Vision', - 'Poison', - 'Regeneration', - 'Slowness', - 'Speed', - 'Water Breathing', - 'Weakness' - ] - - pill.forEach((pill_array, index) => { - const pill_names_array = pill_names[index]; - - event.create(`tfg:${pill_array}_pill`) - .tooltip(`§9${pill_names_array} (08:00)`) - - event.create(`tfg:${pill_array}_tablet`) - .tooltip(`§9${pill_names_array} (30:00)`) - }) - - event.create(`tfg:antipoison_pill`) - .tooltip(`§9Cures Poison`) - - event.create(`tfg:antipoison_tablet`) - .tooltip(`§9Cures All Harmful Effects`) - - //salvos - - const salvo = [ - 'absorption', - 'fire_resistance', - 'invisibility', - 'luck', - 'resistance' - ] - const salvo_names = [ - 'Absorption', - 'Fire Resistance', - 'Invisibility', - 'Luck', - 'Resistance' - ] - - salvo.forEach((salvo_array, index) => { - const salvo_names_array = salvo_names[index]; - - event.create(`tfg:${salvo_array}_salvo`) - .tooltip(`§9${salvo_names_array} (08:00)`) - }) - - event.create(`tfg:instant_health_salvo`) - .tooltip(`§9Instant Health II`) -} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 4183c56a8..c80a0432f 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -11,7 +11,6 @@ const registerTFGItems = (event) => { registerTFGPrimitiveItems(event); registerTFGNuclearItems(event); registerTFGWoodItems(event); - registerTFGMedicineItems(event); registerTFGAircraftItems(event); registerTFGSpaceItems(event); registerTFGMarsItems(event); From 0c806488e6cb4abfc7fa1c454b08452adb31ca07 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 13 Dec 2025 23:33:23 +0000 Subject: [PATCH 321/628] some crop fixes for the greenhouse renderer --- kubejs/assets/tfg/blockstates/flax.json | 6 ++++++ kubejs/assets/tfg/blockstates/rapeseed.json | 6 ++++++ kubejs/assets/tfg/blockstates/sunflower.json | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/kubejs/assets/tfg/blockstates/flax.json b/kubejs/assets/tfg/blockstates/flax.json index 0b8a1e705..629893c44 100644 --- a/kubejs/assets/tfg/blockstates/flax.json +++ b/kubejs/assets/tfg/blockstates/flax.json @@ -21,6 +21,9 @@ "age=6,part=bottom": { "model": "tfg:block/crop/flax_age_6_bottom" }, + "age=7,part=bottom": { + "model": "tfg:block/crop/flax_age_6_bottom" + }, "age=4,part=top": { "model": "tfg:block/crop/flax_age_4_top" }, @@ -29,6 +32,9 @@ }, "age=6,part=top": { "model": "tfg:block/crop/flax_age_6_top" + }, + "age=7,part=top": { + "model": "tfg:block/crop/flax_age_6_top" } } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rapeseed.json b/kubejs/assets/tfg/blockstates/rapeseed.json index 45d32774b..a7baeaf1f 100644 --- a/kubejs/assets/tfg/blockstates/rapeseed.json +++ b/kubejs/assets/tfg/blockstates/rapeseed.json @@ -21,6 +21,9 @@ "age=6,part=bottom": { "model": "tfg:block/crop/rapeseed_age_5_bottom" }, + "age=7,part=bottom": { + "model": "tfg:block/crop/rapeseed_age_5_bottom" + }, "age=3,part=top": { "model": "tfg:block/crop/rapeseed_age_3_top" }, @@ -32,6 +35,9 @@ }, "age=6,part=top": { "model": "tfg:block/crop/rapeseed_age_5_top" + }, + "age=7,part=top": { + "model": "tfg:block/crop/rapeseed_age_5_top" } } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/sunflower.json b/kubejs/assets/tfg/blockstates/sunflower.json index 8708a43c7..0860279df 100644 --- a/kubejs/assets/tfg/blockstates/sunflower.json +++ b/kubejs/assets/tfg/blockstates/sunflower.json @@ -21,6 +21,9 @@ "age=6,part=bottom": { "model": "tfg:block/crop/sunflower_age_5_bottom" }, + "age=7,part=bottom": { + "model": "tfg:block/crop/sunflower_age_5_bottom" + }, "age=4,part=top": { "model": "tfg:block/crop/sunflower_age_4_top" }, @@ -29,6 +32,9 @@ }, "age=6,part=top": { "model": "tfg:block/crop/sunflower_age_5_top" + }, + "age=7,part=top": { + "model": "tfg:block/crop/sunflower_age_5_top" } } } \ No newline at end of file From 74ab10ed92282a59832ac48f4090fa785c3485df Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 00:43:46 +0000 Subject: [PATCH 322/628] got distracted and added way more field guide links to the quests --- .../quests/chapters/questsmetallurgy.snbt | 5 +++ .../quests/chapters/questsstoneage.snbt | 37 +++++++++++++++++++ .../quests/chapters/queststfc_tips.snbt | 33 ++++++++++++++++- .../quests/chapters/tips__tools.snbt | 13 +++++++ .../quests/chapters/tips__transportation.snbt | 9 +++++ 5 files changed, 95 insertions(+), 2 deletions(-) diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index 210362d91..ed325bfcf 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -122,6 +122,7 @@ { dependencies: ["5996A3A0D475B8A6"] description: ["{quests.metal_age.steel_anvil.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/steel" id: "04DE7C58F20B535A" shape: "octagon" size: 2.0d @@ -205,6 +206,7 @@ "7B2068B200631D5C" ] description: ["{quests.metal_age.bloomery.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/bloomery" id: "0A92F5C4BB6AF972" size: 2.0d subtitle: "{quests.metal_age.bloomery.subtitle}" @@ -285,6 +287,7 @@ } { description: ["{quests.metal_age.bellows.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/bellows" hide_dependency_lines: true id: "021D3DEEB15A3D17" subtitle: "{quests.metal_age.bellows.subtitle}" @@ -392,6 +395,7 @@ { dependencies: ["2C76EE197C14B0DC"] description: ["{quests.metal_age.crucible.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/crucible" icon: "tfc:crucible" id: "12CB3B9ADC586521" shape: "octagon" @@ -484,6 +488,7 @@ dependencies: ["2C76EE197C14B0DC"] dependency_requirement: "one_completed" description: ["{quests.metal_age.fire_bricks.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/blast_furnace_insulation" icon: "tfc:fire_bricks" id: "7CD2922D9F6FA6C5" shape: "octagon" diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index 9c7ebc5ef..d83eee0f7 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -485,6 +485,7 @@ "1D40CAE675C4BB91" ] description: ["{quests.stone_age.leather_flask.desc}"] + guide_page: "tfc:field_guide tfc:waterflasks/bladders" id: "62BD1E75FD629161" subtitle: "{quests.stone_age.leather_flask.subtitle}" tasks: [{ @@ -508,6 +509,7 @@ "174DA15847665CF8" ] description: ["{quests.stone_age.iron_flask.desc}"] + guide_page: "tfc:field_guide tfc:waterflasks/recipes" id: "11C45DBB20ED7647" optional: true shape: "heart" @@ -1663,6 +1665,7 @@ { dependencies: ["1D40CAE675C4BB91"] description: ["{quests.stone_age.hydration.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/hydration" icon: { Count: 1 id: "minecraft:potion" @@ -1723,6 +1726,7 @@ { dependencies: ["560B17BFBE8D477D"] description: ["{quests.stone_age.leather_armor.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/armor" id: "04E900CFE39D6A6C" optional: true subtitle: "{quests.stone_age.leather_armor.subtitle}" @@ -1819,6 +1823,7 @@ { dependencies: ["1D40CAE675C4BB91"] description: ["{quests.stone_age.glass_bottles.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/glassworking" id: "4F7B5C34B7CD27F2" subtitle: "{quests.stone_age.glass_bottles.subtitle}" tasks: [{ @@ -2284,6 +2289,38 @@ x: -1.0d y: 8.0d } + { + dependencies: ["669F84C6A2A64145"] + description: [ + "{quests.stone_age.medical_conditions.desc.1}" + "{@pagebreak}" + "{quests.stone_age.medical_conditions.desc.2}" + ] + icon: "createdeco:decal_skull" + id: "00117AD40FACB89D" + rewards: [ + { + id: "41B4EBE6FBC8DCAE" + item: "gtceu:paracetamol_pill" + type: "item" + } + { + id: "260BA8E2AB90DDF7" + item: "tfg:poison_pill" + type: "item" + } + ] + shape: "circle" + subtitle: "{quests.stone_age.medical_conditions.subtitle}" + tasks: [{ + id: "400064E41CACA499" + title: "{quests.stone_age.medical_conditions.task}" + type: "checkmark" + }] + title: "{quests.stone_age.medical_conditions.title}" + x: 14.0d + y: 7.0d + } ] subtitle: ["{quests.stone_age.subtitle}"] title: "{quests.stone_age}" diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 843a2eb36..73a72333a 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -52,6 +52,7 @@ dependencies: ["173F6FA60A5B280B"] description: ["{quests.tfg_tips.arborfirmacraft.desc}"] disable_toast: true + guide_page: "tfc:field_guide tfc:arborfirmacraft/tapping_index" icon: "afc:wood/sapling/weeping_maple" id: "1469936B5DE3AC28" shape: "octagon" @@ -72,7 +73,8 @@ dependencies: ["173F6FA60A5B280B"] description: ["{quests.tfg_tips.beneath.desc}"] disable_toast: true - icon: "minecraft:netherrack" + guide_page: "tfc:field_guide tfc:beneath/beneath" + icon: "minecraft:deepslate" id: "4AA0EBFBA5D8788C" shape: "octagon" size: 2.0d @@ -120,6 +122,7 @@ { dependencies: ["1469936B5DE3AC28"] description: ["{quests.tfg_tips.treetap.desc}"] + guide_page: "tfc:field_guide tfc:arborfirmacraft/tree_tapping" id: "128483FFDC8277A0" subtitle: "{quests.tfg_tips.treetap.subtitle}" tasks: [{ @@ -173,6 +176,7 @@ { dependencies: ["128483FFDC8277A0"] description: ["{quests.tfg_tips.find_latex_tree.desc}"] + guide_page: "tfc:field_guide tfc:arborfirmacraft/making_rubber" id: "4891E995D3EC2BD1" subtitle: "{quests.tfg_tips.find_latex_tree.subtitle}" tasks: [{ @@ -194,6 +198,7 @@ { dependencies: ["128483FFDC8277A0"] description: ["{quests.tfg_tips.find_syrup_tree.desc}"] + guide_page: "tfc:field_guide tfc:arborfirmacraft/making_syrups" id: "308BB7D9D210C8DA" subtitle: "{quests.tfg_tips.find_syrup_tree.subtitle}" tasks: [{ @@ -254,6 +259,7 @@ { dependencies: ["2EFB241490502DB3"] description: ["{quests.tfg_tips.beekeeping.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/beekeeping" icon: "firmalife:beeswax" id: "1071B804483BB882" subtitle: "{quests.tfg_tips.beekeeping.subtitle}" @@ -409,6 +415,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.cellar.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/cellar" id: "3D1FF501DE2E56FE" size: 1.5d subtitle: "{quests.tfg_tips.cellar.subtitle}" @@ -439,6 +446,7 @@ { dependencies: ["3D1FF501DE2E56FE"] description: ["{quests.tfg_tips.cellar_blocks.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/food_shelves" id: "32CD6D2EADA0DCA3" subtitle: "{quests.tfg_tips.cellar_blocks.subtitle}" tasks: [{ @@ -460,6 +468,7 @@ { dependencies: ["2EFB241490502DB3"] description: ["{quests.tfg_tips.oven.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/ovens" id: "029264BCA5477837" subtitle: "{quests.tfg_tips.oven.subtitle}" tasks: [ @@ -513,6 +522,7 @@ { dependencies: ["029264BCA5477837"] description: ["{quests.tfg_tips.oven_appliances.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/oven_appliances" id: "73D5ED4099F99A47" subtitle: "{quests.tfg_tips.oven_appliances.subtitle}" tasks: [ @@ -585,6 +595,7 @@ { dependencies: ["73D5ED4099F99A47"] description: ["{quests.tfg_tips.jam.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/jarring" id: "5D373432F0C22C93" subtitle: "{quests.tfg_tips.jam.subtitle}" tasks: [ @@ -613,6 +624,7 @@ { dependencies: ["2EFB241490502DB3"] description: ["{quests.tfg_tips.preservation.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/decay" icon: "minecraft:clock" id: "4047EE998BC4CD03" subtitle: "{quests.tfg_tips.preservation.subtitle}" @@ -937,6 +949,7 @@ { dependencies: ["52D944ADA884EFEF"] description: ["{quests.tfg_tips.dry_fruit.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/drying" id: "4417A395801DC4E5" subtitle: "{quests.tfg_tips.dry_fruit.subtitle}" tasks: [ @@ -1028,6 +1041,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.smoke_meat.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/smoking" id: "1FC019B45383695E" subtitle: "{quests.tfg_tips.smoke_meat.subtitle}" tasks: [ @@ -1113,6 +1127,7 @@ { dependencies: ["3C7F170E065B60E1"] description: ["{quests.tfg_tips.create_cheese.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/cheese" id: "0FCB88A64D3FBF0F" subtitle: "{quests.tfg_tips.create_cheese.subtitle}" tasks: [{ @@ -1193,6 +1208,7 @@ { dependencies: ["2EFB241490502DB3"] description: ["{quests.tfg_tips.greenhouse.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/greenhouse" icon: "firmalife:large_planter" id: "07FBA022050DA24A" subtitle: "{quests.tfg_tips.greenhouse.subtitle}" @@ -1223,6 +1239,7 @@ "{@pagebreak}" "{quests.tfg_tips.charcoal_pile.desc.4}" ] + guide_page: "tfc:field_guide tfc:mechanics/charcoal_pit" id: "7B2068B200631D5C" subtitle: "{quests.tfg_tips.charcoal_pile.subtitle}" tasks: [ @@ -1249,6 +1266,7 @@ { dependencies: ["150B7C5CD152E1BA"] description: ["{quests.tfg_tips.thatch_bed.desc}"] + guide_page: "tfc:field_guide tfc:getting_started/a_place_to_sleep" id: "4D11F11CE0E9F379" subtitle: "{quests.tfg_tips.thatch_bed.subtitle}" tasks: [ @@ -1312,6 +1330,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.loom.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/weaving" id: "1766C916084261AA" subtitle: "{quests.tfg_tips.loom.subtitle}" tasks: [{ @@ -1389,6 +1408,7 @@ { dependencies: ["1766C916084261AA"] description: ["{quests.tfg_tips.unrefined_paper.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/papermaking" id: "4CD3F04793CE47A2" subtitle: "{quests.tfg_tips.unrefined_paper.subtitle}" tasks: [{ @@ -1406,6 +1426,7 @@ "{quests.tfg_tips.panning.desc}" "{image:tfg:textures/quests/ore_deposit.png width:100 height:100 align:center}" ] + guide_page: "tfc:field_guide tfc:mechanics/panning" id: "082310DF9BEA92CE" subtitle: "{quests.tfg_tips.panning.subtitle}" tasks: [ @@ -1437,6 +1458,7 @@ "{quests.tfg_tips.sluice.desc}" "{image:tfg:textures/quests/sluice.png width:100 height:100 align:center}" ] + guide_page: "tfc:field_guide tfc:mechanics/sluices" id: "5261ECBE3438B05E" subtitle: "{quests.tfg_tips.sluice.subtitle}" tasks: [{ @@ -1458,6 +1480,7 @@ { dependencies: ["79FA776C414AE8E5"] description: ["{quests.tfg_tips.candles.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/lighting" id: "368E3C94EEDC11BB" subtitle: "{quests.tfg_tips.candles.subtitle}" tasks: [{ @@ -1720,6 +1743,7 @@ { dependencies: ["4A8910950F638BB5"] description: ["{quests.tfg_tips.beneath_temp_management.desc}"] + guide_page: "tfc:field_guide tfc:beneath/cooling" id: "39C21134FD02F94B" subtitle: "{quests.tfg_tips.beneath_temp_management.subtitle}" tasks: [ @@ -1798,6 +1822,7 @@ { dependencies: ["4A8910950F638BB5"] description: ["{quests.tfg_tips.beneath_clothes.desc}"] + guide_page: "tfc:field_guide tfc:beneath/cooling" icon: { Count: 1 id: "tfcambiental:silk_shirt" @@ -1819,6 +1844,7 @@ { dependencies: ["4A8910950F638BB5"] description: ["{quests.tfg_tips.juicer.desc}"] + guide_page: "tfc:field_guide tfc:beneath:water" id: "3D845616A2F7083F" subtitle: "{quests.tfg_tips.juicer.subtitle}" tasks: [{ @@ -1847,12 +1873,13 @@ { dependencies: ["5E2E37673AD87A4B"] description: ["{quests.tfg_tips.reach_the_beneath.desc}"] + guide_page: "tfc:field_guide tfc:beneath:biomes" id: "70DA01DFDAE54224" size: 2.0d subtitle: "{quests.tfg_tips.reach_the_beneath.subtitle}" tasks: [{ dimension: "minecraft:the_nether" - icon: "minecraft:netherrack" + icon: "minecraft:gilded_blackstone" id: "253320A57FAE6D0A" title: "{quests.tfg_tips.reach_the_beneath.task}" type: "dimension" @@ -1864,6 +1891,7 @@ { dependencies: ["70DA01DFDAE54224"] description: ["{quests.tfg_tips.piglin_bartering.desc}"] + guide_page: "tfc:field_guide tfc:beneath/piglins" id: "3D5C898F953FECFC" subtitle: "{quests.tfg_tips.piglin_bartering.subtitle}" tasks: [{ @@ -2080,6 +2108,7 @@ { dependencies: ["07FBA022050DA24A"] description: ["{quests.tfg_tips.greenhouse_automation.desc}"] + guide_page: "tfc:field_guide tfc:firmalife/planters" id: "30DD0DDF86C96926" optional: true shape: "gear" diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 88f05be92..6ec2de534 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -1122,6 +1122,7 @@ { dependencies: ["2D959136A5FC5F46"] description: ["{quests.tfg_tips.lamps.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/lamps" id: "037CDA933FBE2CBE" subtitle: "{quests.tfg_tips.lamps.subtitle}" tasks: [ @@ -1273,6 +1274,7 @@ { dependencies: ["2D959136A5FC5F46"] description: ["{quests.tfg_tips.glass_blocks.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/glassworking_applications" id: "382FC8824F311665" subtitle: "{quests.tfg_tips.glass_blocks.subtitle}" tasks: [ @@ -1329,6 +1331,7 @@ { dependencies: ["150B7C5CD152E1BA"] description: ["{quests.tfg_tips.glassblowing.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/glassworking" icon: { Count: 1 ForgeCaps: { @@ -1385,6 +1388,7 @@ { dependencies: ["150B7C5CD152E1BA"] description: ["{quests.tfg_tips.trowel.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/trowel" id: "26DFC32AD5DED4E9" subtitle: "{quests.tfg_tips.trowel.subtitle}" tasks: [{ @@ -1405,6 +1409,7 @@ { dependencies: ["150B7C5CD152E1BA"] description: ["{quests.tfg_tips.fishing_net.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/fishing_nets" id: "2A57C41D681E4611" subtitle: "{quests.tfg_tips.fishing_net.subtitle}" tasks: [{ @@ -2452,6 +2457,7 @@ { dependencies: ["150B7C5CD152E1BA"] description: ["{quests.tfg_tips.tools_tips.harvest_basket.desc}"] + guide_page: "tfc:field_guide tfc:mechanics/harvest_baskets" id: "5B0A9757F1EF1B9E" subtitle: "{quests.tfg_tips.tools_tips.harvest_basket.subtitle}" tasks: [{ @@ -2528,6 +2534,7 @@ { dependencies: ["7FA5B6354A49C396"] description: ["{quests.tfg_tips.first_sacks.desc}"] + guide_page: "tfc:field_guide tfc:sns/leather_sack" id: "509C064AA92FD78F" subtitle: "{quests.tfg_tips.first_sacks.subtitle}" tasks: [ @@ -2571,6 +2578,7 @@ { dependencies: ["7178843BCD50A012"] description: ["{quests.tfg_tips.frame_pack.desc}"] + guide_page: "tfc:field_guide tfc:sns/frame_pack" id: "5443F4F5AE53B91A" shape: "octagon" size: 2.0d @@ -2597,6 +2605,7 @@ { dependencies: ["509C064AA92FD78F"] description: ["{quests.tfg_tips.special_sacks.desc}"] + guide_page: "tfc:field_guide tfc:sns/ore_sack" id: "21C58B2541BFA2EE" shape: "heart" subtitle: "{quests.tfg_tips.special_sacks.subtitle}" @@ -2663,6 +2672,7 @@ { dependencies: ["7FA5B6354A49C396"] description: ["{quests.tfg_tips.straw_basket.desc}"] + guide_page: "tfc:field_guide tfc:sns/straw_basket" id: "67F40A90844EC0FC" subtitle: "{quests.tfg_tips.straw_basket.subtitle}" tasks: [{ @@ -2687,6 +2697,7 @@ { dependencies: ["150B7C5CD152E1BA"] description: ["{quests.tfg_tips.hiking.desc}"] + guide_page: "tfc:field_guide tfc:sns/hiking_boots" icon: { Count: 1 id: "sns:hiking_boots" @@ -2780,6 +2791,7 @@ } { dependencies: ["379F434116632A89"] + guide_page: "tfc:field_guide tfc:roadsandroofs/making_a_road" id: "15277C12EEB517E1" shape: "diamond" subtitle: "{quests.tfg_tips.tools_tips.base_course.subtitle}" @@ -2839,6 +2851,7 @@ dependencies: ["15277C12EEB517E1"] description: ["{quests.tfg_tips.tools_tips.gravel_roads.desc}"] disable_toast: true + guide_page: "tfc:field_guide tfc:roadsandroofs/gravel_roads" id: "7E46F50FEBEE9003" subtitle: "{quests.tfg_tips.tools_tips.gravel_roads.subtitle}" tasks: [{ diff --git a/config/ftbquests/quests/chapters/tips__transportation.snbt b/config/ftbquests/quests/chapters/tips__transportation.snbt index 38762674d..0d8a1a5f3 100644 --- a/config/ftbquests/quests/chapters/tips__transportation.snbt +++ b/config/ftbquests/quests/chapters/tips__transportation.snbt @@ -543,6 +543,7 @@ dependencies: ["2B84F34BFA37C828"] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.canoe_materials.desc}"] + guide_page: "tfc:field_guide tfc:firmaciv/canoe" id: "32C854110D49A77D" subtitle: "{quests.tfg_tips.canoe_materials.subtitle}" tasks: [ @@ -603,6 +604,7 @@ { dependencies: ["2B84F34BFA37C828"] description: ["{quests.tfg_tips.kayak_materials.desc}"] + guide_page: "tfc:field_guide tfc:firmaciv/kayak" id: "03696C9BBC53AB26" subtitle: "{quests.tfg_tips.kayak_materials.subtitle}" tasks: [ @@ -649,6 +651,7 @@ "2B84F34BFA37C828" ] description: ["{quests.tfg_tips.rowboat_materials.desc}"] + guide_page: "tfc:field_guide tfc:firmaciv/rowboat" id: "3DF4F4848B231980" subtitle: "{quests.tfg_tips.rowboat_materials.subtitle}" tasks: [ @@ -722,6 +725,7 @@ dependencies: ["2B84F34BFA37C828"] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.sloop_under_construction_materials.desc}"] + guide_page: "tfc:field_guide tfc:firmaciv/sloop" id: "2746958D3D4A0885" subtitle: "{quests.tfg_tips.sloop_under_construction_materials.subtitle}" tasks: [ @@ -844,6 +848,7 @@ { dependencies: ["78358ED2C6F6FCFD"] description: ["{quests.tfg_tips.warfare.desc}"] + guide_page: "tfc:field_guide tfc:firmaciv/cannon" id: "66FDACC7E7F9180C" subtitle: "{quests.tfg_tips.warfare.subtitle}" tasks: [ @@ -890,6 +895,7 @@ { dependencies: ["60497014785301EB"] description: ["{quests.tfg_tips.firmaciv.desc}"] + guide_page: "tfc:field_guide tfc:firmaciv/watercraft" icon: { Count: 1 ForgeCaps: { @@ -916,6 +922,7 @@ { dependencies: ["2B84F34BFA37C828"] description: ["{quests.tfg_tips.firmaciv_info.desc}"] + guide_page: "tfc:field_guide tfc:firmaciv/navigation" id: "5EDE435F876349CD" optional: true shape: "heart" @@ -1462,6 +1469,7 @@ { dependencies: ["1594C2564FC7982D"] description: ["{quests.tfg_tips.horseshoes.desc}"] + guide_page: "tfc:field_guide tfc:sns/horseshoes" id: "40566F6665A095C6" subtitle: "{quests.tfg_tips.horseshoes.subtitle}" tasks: [{ @@ -1482,6 +1490,7 @@ } { description: ["{quests.tfg_tips.hiking_boots.desc}"] + guide_page: "tfc:field_guide tfc:sns/safety_toe_hiking_boots" id: "598CA763D195C84E" subtitle: "{quests.tfg_tips.hiking_boots.subtitle}" tasks: [{ From 630d39bc787ed5a483c9eaa4d4168fcc0451d623 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sat, 13 Dec 2025 19:57:31 -0600 Subject: [PATCH 323/628] add first smr boosters (#2381) * dfgdfgdfgdfg * molecules * ran lang merger --------- Co-authored-by: Pyritie --- .../tfg/molecules/cyclohex_diperoxide.json | 150 ++++++++++++++++++ .../assets/tfg/molecules/cyclohexanone.json | 105 ++++++++++++ kubejs/assets/tfg/molecules/ozone.json | 43 +++++ .../powergen/nuclear/recipes.smr_additives.js | 40 +++++ kubejs/server_scripts/tfg/recipes.js | 1 + kubejs/startup_scripts/tfg/materials.js | 1 + .../tfg/nuclear/materials.smr_additives.js | 28 ++++ 7 files changed, 368 insertions(+) create mode 100644 kubejs/assets/tfg/molecules/cyclohex_diperoxide.json create mode 100644 kubejs/assets/tfg/molecules/cyclohexanone.json create mode 100644 kubejs/assets/tfg/molecules/ozone.json create mode 100644 kubejs/server_scripts/tfg/powergen/nuclear/recipes.smr_additives.js create mode 100644 kubejs/startup_scripts/tfg/nuclear/materials.smr_additives.js diff --git a/kubejs/assets/tfg/molecules/cyclohex_diperoxide.json b/kubejs/assets/tfg/molecules/cyclohex_diperoxide.json new file mode 100644 index 000000000..0ebf1c623 --- /dev/null +++ b/kubejs/assets/tfg/molecules/cyclohex_diperoxide.json @@ -0,0 +1,150 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.0008, + "y": -2.0001 + }, + { + "type": "atom", + "index": 1, + "x": 1.7296, + "y": -1.9996 + }, + { + "type": "atom", + "index": 2, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "index": 3, + "x": 1.7296, + "y": -3.0005 + }, + { + "type": "atom", + "index": 4, + "x": -0.0008, + "y": -3.005 + }, + { + "type": "atom", + "index": 5, + "x": 0.8682, + "y": -3.5 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 1.7321, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/cyclohexanone.json b/kubejs/assets/tfg/molecules/cyclohexanone.json new file mode 100644 index 000000000..e7a216261 --- /dev/null +++ b/kubejs/assets/tfg/molecules/cyclohexanone.json @@ -0,0 +1,105 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": -0.8674, + "y": -1.5001 + }, + { + "type": "atom", + "index": 1, + "x": 0.863, + "y": -1.4996 + }, + { + "type": "atom", + "index": 2, + "x": -0.0006, + "y": -1.0 + }, + { + "type": "atom", + "index": 3, + "x": 0.863, + "y": -2.5005 + }, + { + "type": "atom", + "index": 4, + "x": -0.8674, + "y": -2.505 + }, + { + "type": "atom", + "index": 5, + "x": 0.0016, + "y": -3.0 + }, + { + "type": "atom", + "element": "O", + "index": 6, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 6, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ozone.json b/kubejs/assets/tfg/molecules/ozone.json new file mode 100644 index 000000000..5c22af778 --- /dev/null +++ b/kubejs/assets/tfg/molecules/ozone.json @@ -0,0 +1,43 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid", + "dotted" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid", + "dotted" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.smr_additives.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.smr_additives.js new file mode 100644 index 000000000..f525b0887 --- /dev/null +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.smr_additives.js @@ -0,0 +1,40 @@ +// priority: 0 + +function registerTFGSMRAdditives(event) { + + event.recipes.gtceu.chemical_reactor('tfg:ozone_synthesis') + .inputFluids(Fluid.of('gtceu:oxygen', 3000)) + .outputFluids(Fluid.of('tfg:ozone', 1000)) + .notConsumable('#tfg:components/uv_leds') + .duration(200) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:tin_chloride_combining') + .itemInputs('#forge:dusts/tin') + .inputFluids(Fluid.of('gtceu:chlorine', 2000)) + .itemOutputs('3x #forge:dusts/tin_chloride') + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.chemical_reactor('tfg:cyclohexanone_synthesis') + .inputFluids(Fluid.of('gtceu:phenol', 1000), Fluid.of('gtceu:hydrogen', 4000)) + .outputFluids(Fluid.of('tfg:cyclohexanone', 1000)) + .notConsumable('#forge:dusts/palladium') + .duration(120) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:cyclohexanone_add_oxime') + .itemInputs('#forge:dusts/tin') + .inputFluids(Fluid.of('tfg:cyclohexanone', 1000), Fluid.of('gtceu:ammonia', 1000), Fluid.of('gtceu:hydrogen_peroxide', 1000)) + .itemOutputs('19x #forge:dusts/cyclohexanone_oxime') + .outputFluids(Fluid.of('minecraft:water', 2000)) + .duration(200) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:cyclohexanone_peroxidation') + .inputFluids(Fluid.of('tfg:cyclohexanone', 1000), Fluid.of('gtceu:hydrogen_peroxide', 2000)) + .outputFluids(Fluid.of('tfg:cyclohex_diperoxide', 1000)) + .notConsumable('#forge:dusts/tin_chloride') + .duration(120) + .EUt(GTValues.VA[GTValues.IV]) +} diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 4424c0a17..ece695bda 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -55,6 +55,7 @@ const registerTFGRecipes = (event) => { registerTFGBoilerRecipes(event) registerTFGBiodieselRecipes(event) registerTFGNuclearRecipes(event) + registerTFGSMRAdditives(event) registerTFGNuclearComponentsRecipes(event) registerTFGSolarRecipes(event) registerTFGCoalRecipes(event) diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 707ad6423..107407e83 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -20,6 +20,7 @@ const registerTFGMaterials = (event) => { registerTFGPowerReworkMaterials(event); registerTFGNuclearMaterials(event); + registerTFGSMRAdditiveMaterials(event) registerTFGBiolineMaterials(event); registerTFGPrimitiveMaterials(event); registerTFGRockMaterials(event); diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.smr_additives.js b/kubejs/startup_scripts/tfg/nuclear/materials.smr_additives.js new file mode 100644 index 000000000..0e60005c2 --- /dev/null +++ b/kubejs/startup_scripts/tfg/nuclear/materials.smr_additives.js @@ -0,0 +1,28 @@ +// priority: 0 +"use strict"; + +const registerTFGSMRAdditiveMaterials = (event) => { + + event.create('tfg:ozone') + .gas() + .components('3x oxygen') + .color(0x00FBFF) + + event.create('tfg:tin_chloride') + .dust() + .components('1x tin', '2x chlorine') + .color(0x77CF67) + .iconSet(GTMaterialIconSet.ROUGH) + + event.create('tfg:cyclohexanone') + .liquid() + .components('6x carbon', '10x hydrogen', '1x oxygen') + .color(0xFCB16F) + + event.create('tfg:cyclohex_diperoxide') + .liquid() + .components('6x carbon', '12x hydrogen', '4x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xBC8E63) + +} \ No newline at end of file From ab7f4437720f97857745f64ed0d1d12bf9cbc0cb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 02:10:17 +0000 Subject: [PATCH 324/628] changelog, quests, langs --- CHANGELOG.md | 16 +- .../quests/chapters/lv__low_voltage.snbt | 282 +++++++++--------- .../quests/chapters/questsmetallurgy.snbt | 27 +- .../quests/chapters/questssteam_age.snbt | 2 - .../quests/chapters/questsstoneage.snbt | 13 +- kubejs/assets/greate/lang/zh_cn.json | 6 +- kubejs/assets/gtceu/lang/zh_cn.json | 1 + kubejs/assets/tfg/lang/en_us.json | 30 +- kubejs/assets/tfg/lang/zh_cn.json | 2 +- 9 files changed, 218 insertions(+), 161 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e678b0085..23b9fc022 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,25 +6,33 @@ - Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie ### Changes #### Hot or Not -- Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `tfg:hot_protection_equipment`, `tfg:cold_protection_equipment`, and `tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie +- Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `#tfg:hot_protection_equipment`, `#tfg:cold_protection_equipment`, and `#tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie - GregTech hot ingots are also now properly included in the "too hot to handle" system so the same protection applies @Pyritie - Added machine recipes for crafting tongs @Pyritie #### Medical Hazards -- Added debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. @Pyritie -- The hazard effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie -- Early medicines can now also cure medical conditions! Did you think they wouldn't come with side effects? +- Added visual debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. They don't do anything by themselves, they're just a much more visible way of checking your conditions. @Pyritie +- Early `#tfg:medicines` can now also cure medical conditions! Did you think they wouldn't come with side effects? @Pyritie +- The medicines have also been rebalanced, so some of the stronger ones come with a downside, while the weaker ones have a stronger cure effect. +- The medical condition effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie #### Other - Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie - Doubled the durability of all space suits @Pyritie - Added a way to convert between vinegar and acetic acid (#2386) @Epicificator - Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg +- Added some distant horizons config options, for those who want to use it (#2406) @Mqrius ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix - Fixed sliced brinza missing the proper cheese tags. @Redeix - Fixed pyroxenite and keratophyre bricks crafting 1 instead of 4 (#2373) @Pyritie - Fixed some issues with quest items (#2384, #2386) @Mqrius +- Fixed some tag issues with foods (#2405) @thederpysockdude123 +- Fixed treated wooden planks from being excluded in the Domum Ornamentum and Facade whitelists (#2404) @thederpysockdude123 +- Fixed a recipe conflict for boiled and fried eggs (#2407) @Mqrius +- Fixed a recipe conflict blocking the crafting of silicone rubber (#2387) @Mqrius ### Translation updates +- Chinese (simplified) @jmecn +- Japanese @sakura-gondra ## [0.11.10] - 9-12-2025 ### Breaking Changes diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 145d185b8..09d2663e7 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -18,15 +18,8 @@ { id: "0EA7766FE6845121" linked_quest: "0FFBB6177DEB0A23" - x: -8.5d - y: 10.5d - } - { - id: "5A47760FCD164E74" - linked_quest: "61F58B402F1AE40B" - shape: "heart" - x: -7.5d - y: 4.5d + x: -8.0d + y: 11.5d } ] quests: [ @@ -43,8 +36,8 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_regulator.title}" - x: 5.5d - y: -2.0d + x: 6.0d + y: -1.5d } { dependencies: ["38993B4697B0E16C"] @@ -63,8 +56,8 @@ type: "item" }] title: "{quests.low_voltage.lv_robot_arm.title}" - x: 5.5d - y: -4.0d + x: 6.0d + y: -4.5d } { dependencies: ["7EED0084BA59FED1"] @@ -96,7 +89,7 @@ }] title: "{quests.low_voltage.lv_pump.title}" x: 4.5d - y: -2.0d + y: -1.5d } { dependencies: ["7EED0084BA59FED1"] @@ -112,7 +105,7 @@ }] title: "{quests.low_voltage.lv_piston.title}" x: 4.5d - y: -4.0d + y: -4.5d } { dependencies: ["2CDB9778C7A30044"] @@ -132,11 +125,11 @@ type: "item" }] title: "{quests.low_voltage.lv_steam_turbine.title}" - x: 7.0d - y: 9.0d + x: 7.5d + y: 9.5d } { - dependencies: ["6431381FBE07D6EF"] + dependencies: ["2CDB9778C7A30044"] description: ["{quests.low_voltage.lv_amp_explanation.desc}"] id: "7B0FF43022F6C2EC" optional: true @@ -150,8 +143,8 @@ type: "item" }] title: "{quests.low_voltage.lv_amp_explanation.title}" - x: 7.0d - y: 2.5d + x: 5.5d + y: 10.5d } { dependencies: ["45B71324028F6E68"] @@ -168,7 +161,7 @@ }] title: "{quests.low_voltage.aluminium_ingot.title}" x: -10.0d - y: 10.5d + y: 11.5d } { dependencies: [ @@ -197,8 +190,8 @@ } ] title: "{quests.low_voltage.lv_battery_preparation.title}" - x: 7.0d - y: -0.5d + x: 7.5d + y: 0.0d } { dependencies: [ @@ -224,7 +217,7 @@ type: "checkmark" }] title: "{quests.low_voltage.cover_behaviour.title}" - x: 5.5d + x: 6.0d y: -3.0d } { @@ -250,8 +243,8 @@ type: "checkmark" }] title: "{quests.low_voltage.machine_auto_output_behaviour.title}" - x: -3.5d - y: 1.5d + x: -5.0d + y: -0.5d } { dependencies: ["22510C5F2386B453"] @@ -279,7 +272,7 @@ type: "item" }] title: "{quests.low_voltage.lv_wiremill.title}" - x: -2.5d + x: -3.0d y: 0.5d } { @@ -304,8 +297,8 @@ type: "item" }] title: "{quests.low_voltage.lv_bender.title}" - x: -2.5d - y: 2.5d + x: -5.0d + y: 1.5d } { dependencies: ["22510C5F2386B453"] @@ -330,8 +323,8 @@ type: "item" }] title: "{quests.low_voltage.lv_lathe.title}" - x: -2.5d - y: 1.5d + x: -4.0d + y: 1.0d } { dependencies: ["22510C5F2386B453"] @@ -345,8 +338,8 @@ type: "item" }] title: "{quests.low_voltage.lv_polariser.title}" - x: 4.5d - y: -0.5d + x: 5.5d + y: 2.5d } { dependencies: ["6E186F9C57155BFA"] @@ -368,8 +361,8 @@ type: "item" }] title: "{quests.low_voltage.lbb.title}" - x: 8.0d - y: 9.0d + x: 9.0d + y: 9.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -389,18 +382,18 @@ type: "item" }] title: "{quests.low_voltage.lv_superconductor.title}" - x: -11.5d + x: -12.0d y: 7.5d } { - dependencies: ["701BCADAE5CF6CA5"] + dependencies: ["22510C5F2386B453"] 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 size: 1.0d subtitle: "{quests.low_voltage.lv_chemical_bath.subtitle}" tasks: [{ @@ -409,8 +402,8 @@ type: "item" }] title: "{quests.low_voltage.lv_chemical_bath.title}" - x: -5.5d - y: 7.5d + x: -4.0d + y: 13.5d } { dependencies: ["64E1E87B8AF72968"] @@ -436,8 +429,8 @@ type: "checkmark" }] title: "{quests.low_voltage.programmed_circuits.title}" - x: -4.5d - y: 1.5d + x: -6.5d + y: -0.5d } { dependencies: ["22510C5F2386B453"] @@ -451,8 +444,8 @@ type: "item" }] title: "{quests.low_voltage.lv_canner.title}" - x: 4.5d - y: 0.5d + x: 5.0d + y: 1.5d } { dependencies: [ @@ -480,8 +473,8 @@ type: "item" }] title: "{quests.low_voltage.lv_battery.title}" - x: 7.0d - y: 0.5d + x: 7.5d + y: 1.5d } { dependencies: ["3E6DC423FE4A99F7"] @@ -510,8 +503,8 @@ type: "item" }] title: "{quests.low_voltage.lv_battery_buffer_4x.title}" - x: 7.0d - y: 1.5d + x: 7.5d + y: 3.0d } { dependencies: ["1646BF9194100E57"] @@ -545,6 +538,7 @@ { dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.other_machines.desc}"] + hide_dependency_lines: false icon: "gtceu:crushed_sulfur_ore" id: "701BCADAE5CF6CA5" shape: "circle" @@ -556,8 +550,8 @@ type: "checkmark" }] title: "{quests.low_voltage.other_machines.title}" - x: -4.5d - y: 6.5d + x: 5.5d + y: 4.5d } { description: ["{quests.low_voltage.lv_age_progression.desc}"] @@ -591,7 +585,7 @@ type: "item" }] title: "{quests.low_voltage.lv_fluid_solidifier.title}" - x: -7.5d + x: -8.0d y: 3.5d } { @@ -617,8 +611,8 @@ type: "item" }] title: "{quests.low_voltage.lv_ore_prospector.title}" - x: 8.0d - y: 0.5d + x: 9.0d + y: 1.5d } { dependencies: [ @@ -643,7 +637,7 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_coil.title}" - x: -8.5d + x: -8.0d y: 7.5d } { @@ -660,7 +654,7 @@ }] title: "{quests.low_voltage.lv_gas_collector.title}" x: -4.0d - y: 8.5d + y: 9.5d } { dependencies: ["22510C5F2386B453"] @@ -693,7 +687,7 @@ } ] title: "{quests.low_voltage.lv_chemical_reactor.title}" - x: -6.5d + x: -6.0d y: 3.5d } { @@ -703,20 +697,24 @@ "{@pagebreak}" "{quests.low_voltage.universal_cell.desc.2}" ] - icon: "gtceu:fluid_cell" id: "292938760AB9A12B" - optional: true - shape: "heart" size: 1.0d subtitle: "{quests.low_voltage.universal_cell.subtitle}" tasks: [{ - id: "012C90A73EC79E11" - item: "gtceu:universal_fluid_cell" + id: "4CEC0D86500C2A5B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:fluid_cell)item(gtceu:universal_fluid_cell)item(gtceu:steel_fluid_cell)item(gtceu:aluminium_fluid_cell)item(gtceu:stainless_steel_fluid_cell)item(gtceu:titanium_fluid_cell)item(gtceu:tungsten_steel_fluid_cell)item(gtceu:glass_vial))" + } + } + title: "{quests.low_voltage.universal_cell.task}" type: "item" }] title: "{quests.low_voltage.universal_cell.title}" - x: -3.5d - y: 2.5d + x: -6.5d + y: 1.5d } { dependencies: ["581CDF545E1EA1FD"] @@ -740,7 +738,7 @@ } ] title: "{quests.low_voltage.mold_rotor.title}" - x: -8.5d + x: -9.5d y: 3.5d } { @@ -758,11 +756,11 @@ type: "item" }] title: "{quests.low_voltage.soldering_alloy.title}" - x: 3.0d - y: 10.5d + x: 4.0d + y: 11.5d } { - dependencies: ["701BCADAE5CF6CA5"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.lv_electroliser.desc.1}" "{@pagebreak}" @@ -770,7 +768,6 @@ "{@pagebreak}" "{quests.low_voltage.lv_electroliser.desc.3}" ] - hide_dependent_lines: true id: "32B08E6F414A00C0" optional: true size: 1.0d @@ -781,8 +778,8 @@ type: "item" }] title: "{quests.low_voltage.lv_electroliser.title}" - x: -5.5d - y: 6.5d + x: -6.0d + y: 7.5d } { dependencies: ["22510C5F2386B453"] @@ -806,8 +803,8 @@ type: "item" }] title: "{quests.low_voltage.lv_cutter.title}" - x: -2.5d - y: -0.5d + x: -2.0d + y: 0.0d } { dependencies: ["22510C5F2386B453"] @@ -819,8 +816,7 @@ "{quests.low_voltage.lv_centrifuge.desc.3}" ] id: "5263F866638D875C" - shape: "octagon" - size: 2.0d + size: 1.0d subtitle: "{quests.low_voltage.lv_centrifuge.subtitle}" tasks: [{ id: "20EDB55B8D5CDAD6" @@ -829,7 +825,7 @@ }] title: "{quests.low_voltage.lv_centrifuge.title}" x: -2.0d - y: 8.5d + y: 9.5d } { dependencies: ["37307A46E70011D3"] @@ -846,8 +842,8 @@ type: "item" }] title: "{quests.low_voltage.lv_sprayer.title}" - x: 5.5d - y: 1.5d + x: 5.0d + y: 0.0d } { dependencies: ["22510C5F2386B453"] @@ -867,7 +863,7 @@ }] title: "{quests.low_voltage.lv_assembler.title}" x: 0.0d - y: 8.5d + y: 9.5d } { dependencies: ["22510C5F2386B453"] @@ -885,8 +881,8 @@ type: "item" }] title: "{quests.low_voltage.lv_extractor.title}" - x: -6.5d - y: 4.5d + x: -6.0d + y: 5.5d } { dependencies: ["0DBC148D92A9F69F"] @@ -906,7 +902,7 @@ }] title: "{quests.low_voltage.lv_circuit_assembler.title}" x: 0.0d - y: 15.5d + y: 16.5d } { dependencies: ["1A77CA35F054F988"] @@ -924,13 +920,14 @@ type: "item" }] title: "{quests.low_voltage.lv_arc_furnace.title}" - x: -4.0d + x: -6.0d y: 11.5d } { dependencies: [ - "15928F50AE80A5CF" "5263F866638D875C" + "32B08E6F414A00C0" + "15928F50AE80A5CF" ] dependency_requirement: "one_completed" description: [ @@ -966,8 +963,8 @@ } ] title: "{quests.low_voltage.lv_oxygen.title}" - x: -4.0d - y: 10.5d + x: -6.0d + y: 9.5d } { dependencies: ["5263F866638D875C"] @@ -998,7 +995,7 @@ ] title: "{quests.low_voltage.lv_glue.title}" x: -2.0d - y: 10.5d + y: 11.5d } { dependencies: ["5B891BA4897FD73C"] @@ -1014,12 +1011,13 @@ }] title: "{quests.low_voltage.gallium_arsenide.title}" x: 2.0d - y: 10.5d + y: 11.5d } { dependencies: [ - "63CD0236B337EAAD" "0EAC071414AEC07E" + "330BDB559A7BAB35" + "63CD0236B337EAAD" ] description: [ "{quests.low_voltage.t2_circuit_board.desc.1}" @@ -1034,8 +1032,8 @@ item: "gtceu:phenolic_printed_circuit_board" type: "item" }] - x: -0.5d - y: 10.5d + x: -2.0d + y: 13.5d } { dependencies: [ @@ -1052,8 +1050,8 @@ type: "item" }] title: "{quests.low_voltage.lv_diode.title}" - x: 0.5d - y: 10.5d + x: 0.0d + y: 11.5d } { dependencies: [ @@ -1072,7 +1070,7 @@ }] title: "{quests.low_voltage.1_mv_circuit.title}" x: 0.0d - y: 12.5d + y: 13.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1087,7 +1085,7 @@ }] title: "{quests.low_voltage.aluminium_dust.title}" x: -10.0d - y: 9.0d + y: 9.5d } { dependencies: ["1E9BE8D3F8A602DC"] @@ -1190,8 +1188,8 @@ type: "item" }] title: "{quests.low_voltage.lv_rock_crusher.title}" - x: 4.5d - y: 3.5d + x: 4.0d + y: 1.0d } { dependencies: ["3E6DC423FE4A99F7"] @@ -1218,8 +1216,8 @@ type: "item" }] title: "{quests.low_voltage.lv_turbo_charge.title}" - x: 8.0d - y: -0.5d + x: 9.0d + y: 0.0d } { dependencies: ["22510C5F2386B453"] @@ -1246,15 +1244,13 @@ type: "item" }] title: "{quests.low_voltage.lv_fisher.title}" - x: 4.5d - y: 2.5d + x: 3.0d + y: 0.5d } { dependencies: ["22510C5F2386B453"] description: ["{quests.low_voltage.lv_mixer.desc}"] id: "5B891BA4897FD73C" - shape: "octagon" - size: 2.0d subtitle: "{quests.low_voltage.lv_mixer.subtitle}" tasks: [{ id: "337A6B670842F80A" @@ -1273,7 +1269,7 @@ }] title: "{quests.low_voltage.lv_mixer.title}" x: 2.0d - y: 8.5d + y: 9.5d } { dependencies: ["12565AB92A2BF976"] @@ -1284,7 +1280,7 @@ ] id: "22510C5F2386B453" shape: "gear" - size: 2.0d + size: 2.5d subtitle: "{quests.low_voltage.lv_machine_hull.subtitle}" tasks: [{ id: "499CACFF0350B3CA" @@ -1323,8 +1319,8 @@ } ] title: "{quests.low_voltage.lv_nitrogen.title}" - x: -6.0d - y: 10.5d + x: -4.0d + y: 11.5d } { dependencies: ["648BCF486E16CCB2"] @@ -1364,7 +1360,7 @@ } ] title: "{quests.low_voltage.mold_plate.title}" - x: -7.5d + x: -9.5d y: 2.5d } { @@ -1381,8 +1377,8 @@ } type: "item" }] - x: 8.0d - y: 1.5d + x: 9.0d + y: 3.0d } { dependencies: ["2CDB9778C7A30044"] @@ -1413,7 +1409,7 @@ } ] title: "{quests.steam_age.alternator.title}" - x: 7.0d + x: 7.5d y: 8.0d } { @@ -1434,14 +1430,12 @@ }] title: "{quests.low_voltage.mv_hull.title}" x: -10.0d - y: 14.0d + y: 15.0d } { dependencies: ["648BCF486E16CCB2"] description: ["{quests.low_voltage.lv_machine_casing.desc}"] id: "12565AB92A2BF976" - shape: "octagon" - size: 2.0d subtitle: "{quests.low_voltage.lv_machine_casing.subtitle}" tasks: [{ id: "7459A24E5EBE148D" @@ -1473,8 +1467,8 @@ type: "item" }] title: "{quests.low_voltage.lv_greenhouse.title}" - x: 3.0d - y: 12.5d + x: 2.25d + y: 13.5d } { dependencies: ["22510C5F2386B453"] @@ -1497,8 +1491,8 @@ type: "item" }] title: "{quests.low_voltage.lv_aqueous_accumulator.title}" - x: 4.5d - y: 4.5d + x: 2.0d + y: 0.0d } { dependencies: [ @@ -1518,8 +1512,8 @@ type: "item" }] title: "{quests.low_voltage.lv_combuston_gen.title}" - x: 7.0d - y: 10.0d + x: 7.5d + y: 11.0d } { dependencies: ["2CDB9778C7A30044"] @@ -1561,8 +1555,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seeds.title}" - x: 7.5d - y: 13.0d + x: 11.0d + y: 11.0d } { dependencies: ["55213ACBF5F5D398"] @@ -1577,8 +1571,8 @@ type: "item" }] title: "{quests.low_voltage.lv_seed_oil.title}" - x: 7.5d - y: 12.0d + x: 10.0d + y: 11.0d } { dependencies: ["1D979CB5862BD480"] @@ -1593,7 +1587,7 @@ type: "item" }] title: "{quests.low_voltage.lv_biodiesel.title}" - x: 7.5d + x: 9.0d y: 11.0d } { @@ -1609,8 +1603,8 @@ type: "item" }] title: "{quests.low_voltage.cupronickel_ingot.title}" - x: -8.5d - y: 8.5d + x: -8.0d + y: 9.5d } { dependencies: ["7567E885B7166603"] @@ -1639,8 +1633,8 @@ } ] title: "{quests.low_voltage.aluminium_greate.title}" - x: -11.5d - y: 10.5d + x: -12.0d + y: 11.5d } { dependencies: [ @@ -1661,7 +1655,7 @@ type: "checkmark" }] title: "{quests.low_voltage.oil.title}" - x: 6.5d + x: 10.0d y: 12.0d } { @@ -1680,8 +1674,8 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_turbine.title}" - x: 7.0d - y: 7.0d + x: 7.5d + y: 6.5d } { dependencies: ["2CEE3C0972650C81"] @@ -1712,8 +1706,8 @@ } ] title: "{quests.low_voltage.lv_naphtha_light.title}" - x: 6.5d - y: 11.0d + x: 9.0d + y: 12.0d } { dependencies: ["5F3063C539C9CBBF"] @@ -1729,8 +1723,26 @@ type: "item" }] title: "{quests.low_voltage.lv_gas_syngas.title}" - x: 7.0d - y: 6.0d + x: 9.0d + y: 6.5d + } + { + dependencies: [ + "581CDF545E1EA1FD" + "5B2696206205CB2E" + ] + dependency_requirement: "one_completed" + description: ["{quests.low_voltage.glowstone.desc}"] + id: "45CEDBD3A2092C71" + subtitle: "{quests.low_voltage.glowstone.subtitle}" + tasks: [{ + id: "19C401FA4D964FA1" + item: "minecraft:glowstone" + type: "item" + }] + title: "{quests.low_voltage.glowstone.title}" + x: -8.0d + y: 5.5d } ] subtitle: ["{quests.low_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index ed325bfcf..132a73332 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -44,7 +44,7 @@ id: "227B6C88FFE99435" linked_quest: "4EBABACAB444244D" shape: "heart" - x: 16.5d + x: 17.0d y: -24.5d } { @@ -57,7 +57,7 @@ { id: "3249AB9EB552BB77" linked_quest: "4B79026C8D2DACC4" - x: 17.5d + x: 18.5d y: -28.0d } ] @@ -669,7 +669,7 @@ type: "item" }] title: "{quests.metal_age.red_steel_flask.title}" - x: 16.5d + x: 17.0d y: -27.5d } { @@ -1276,6 +1276,27 @@ x: 17.0d y: -29.5d } + { + dependencies: ["56CA2EB7812529C5"] + description: ["{quests.metal_age.temperature_protection.desc}"] + id: "310D96268266D787" + subtitle: "{quests.metal_age.temperature_protection.subtitle}" + tasks: [{ + id: "334F07058A050458" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:metal/boots/red_steel)item(sns:red_steel_toe_hiking_boots)item(tfc:metal/chestplate/red_steel)item(tfc:metal/boots/blue_steel)item(sns:blue_steel_toe_hiking_boots)item(minecraft:netherite_boots)item(create:netherite_diving_boots)item(tfc:metal/chestplate/blue_steel)item(create:netherite_backtank))" + } + } + title: "{quests.metal_age.temperature_protection.task}" + type: "item" + }] + title: "{quests.metal_age.temperature_protection.title}" + x: 18.5d + y: -24.0d + } ] subtitle: ["{quests.metal_age.subtitle}"] title: "{quests.metal_age}" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index e57698968..f1d6fdf7f 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -1701,8 +1701,6 @@ description: ["{quests.steam_age.supers.desc}"] icon: "gtceu:ulv_super_chest" id: "671405A9F3A8DFDB" - optional: true - shape: "heart" subtitle: "{quests.steam_age.supers.subtitle}" tasks: [{ id: "5F5A6967B674C05A" diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index d83eee0f7..b429838d3 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -2300,13 +2300,18 @@ id: "00117AD40FACB89D" rewards: [ { - id: "41B4EBE6FBC8DCAE" - item: "gtceu:paracetamol_pill" + id: "260BA8E2AB90DDF7" + item: "tfg:poison_pill" type: "item" } { - id: "260BA8E2AB90DDF7" - item: "tfg:poison_pill" + id: "6402410E15263863" + item: "tfg:regeneration_pill" + type: "item" + } + { + id: "2135759D738A8AA1" + item: "tfg:antipoison_tablet" type: "item" } ] diff --git a/kubejs/assets/greate/lang/zh_cn.json b/kubejs/assets/greate/lang/zh_cn.json index 7230a1344..c2d749888 100644 --- a/kubejs/assets/greate/lang/zh_cn.json +++ b/kubejs/assets/greate/lang/zh_cn.json @@ -368,11 +368,11 @@ "block.greate.large_andesite_alloy_cogwheel": "大型基础齿轮", "block.greate.metal_girder_encased_andesite_alloy_shaft": "金属梁包住的基础传动杆", "block.greate.powered_andesite_alloy_shaft": "基础动力曲轴", + "item.greate.andesite_alloy_belt_connector": "木板履带式传送带", + "item.greate.stone_belt_connector": "皮革传送带", "item.greate.rubber_belt_connector": "橡胶传送带", "item.greate.silicone_rubber_belt_connector": "硅橡胶传送带", - "block.greate.polyethylene_belt_titanium": "丁苯橡胶传送带", - "block.greate.polyethylene_belt_tungsten_steel": "丁苯橡胶传送带", - "item.greate.polyethylene_belt_connector": "丁苯橡胶传送带", + "item.greate.styrene_butadiene_rubber_belt_connector": "丁苯橡胶传送带", "item.greate.andesite_alloy_vertical_gearbox": "基础竖直十字齿轮箱", "greate.recipe.packing": "焊接 & 压缩", "greate.ponder.belt_casing.text_1": "你可以用黄铜或者金属机壳装饰你的传送带", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index ab5c5a070..6df9134cd 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -212,6 +212,7 @@ "gtceu.recipe.category.ingot_molding": "压模", "block.gtceu.wire_coil.tooltip_pyro": "§8热解炉与核燃料工厂:§r", "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,煤炭液化塔,月壤和紫金采集器:§r", + "tooltip.moldraw.shift_view": "§7§o按住(Shift)查看分子结构§r", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", "tagprefix.shovel_head": "%s铲头", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f87e0a718..9346bd07b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2599,7 +2599,7 @@ "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.", + "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_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.", @@ -2610,7 +2610,7 @@ "quests.low_voltage.lv_age_progression.subtitle": "Too many options, too little time!", "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", "quests.low_voltage.lv_age_progression.task": "I... might have some sense of direction now", - "quests.low_voltage.lv_steam_turbine.title": "Electricity Generation", + "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!", @@ -2681,9 +2681,9 @@ "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\nCells hold &done bucket&r of Fluid.", + "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.task": "", + "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.", @@ -2754,7 +2754,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.", + "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.soldering_alloy.title": "Soldering Alloy", "quests.low_voltage.soldering_alloy.subtitle": "I got soul but I'm not a solder", @@ -2772,7 +2772,7 @@ "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!", - "quests.low_voltage.lv_diode.desc": "Don't let JEI fool you... there's only one possible recipe right now for this Primitive Diode -- the liquid glass one.\n\nDiodes have a infamously &4nasty recipe&r, but they will become cheaper and more convenient once you can obtain &ePolyethylene&r.\n\nThis is required for &dMV Circuits&r.", + "quests.low_voltage.lv_diode.desc": "Don't let JEI fool you... there's only two possible recipes right now for this Primitive Diode -- the liquid glass ones.\n\nDiodes have a infamously &4nasty recipe&r, but they will become cheaper and more convenient once you can obtain &ePolyethylene&r.\n\nThis is required for &dMV Circuits&r.", "quests.low_voltage.1_mv_circuit.title": "First MV Circuit!", "quests.low_voltage.1_mv_circuit.subtitle": "Does that mean we're at MV yet?", "quests.low_voltage.1_mv_circuit.desc": "Well... got any Aluminium Ingots yet?\n\nEach Electric Age has Circuits corresponding to its tier. The Good Electronic Circuit is the &dfirst MV Circuit&r you can make out of the three tiers of &bMV&r Circuitry.\n\nAlways be on the lookout for a cheaper way to make your circuits - new sets of recipes become available each time you make a new tier of &2Circuit Assembler&r. Conveniently, this tier of Circuit unlocks one now! Its recipes are far, far cheaper than the Deployers.\n\n&6Having this and Aluminium will grant access to MV Machines.&r\n\nIf you are having trouble understanding the mess that is GregTech circuits, check out the &6Progression Table&r chapter.", @@ -2871,6 +2871,9 @@ "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.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.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!", @@ -3260,6 +3263,10 @@ "quests.metal_age.this_is_a_bucket.title": "This... is a Bucket.", "quests.metal_age.this_is_a_bucket.subtitle": "Dear God...", "quests.metal_age.this_is_a_bucket.desc": "Congratulations on crafting the Bucket. The Metallurgy Age is officially over.\n\nGo and start working on those Low Voltage components!", + "quests.metal_age.temperature_protection.title": "Colored Steel Equipment", + "quests.metal_age.temperature_protection.subtitle": "Permanent Temperature Protection", + "quests.metal_age.temperature_protection.desc": "Tired of holding tongs? The excellent thermal protection properties of colored steel carries over to their equipment!\n\n&9Blue Steel&r equipment can protect against extreme heat, such as holding hot ingots or stepping on pipes full of steam, while &cRed Steel&r equipment does the same but for the cold. Chestplate items protects your inventory, while boot items protect against pipes.\n\nCheck the &6#hot_protection_equipment&r and &b#cold_protection_equipment&r tags for a full list!", + "quests.metal_age.temperature_protection.task": "Any red or blue steel equipment", "quests.ore_proc": "Ore Processing", "quests.ore_proc.subtitle": "Everything you'll need to get the most out of your ores", "quests.ore_proc.native_ore.title": "Welcome to Ore Processing", @@ -3619,7 +3626,7 @@ "quests.steam_age.mold_table.desc.2": "If you'd like, you can also use a Chute to drop your items into the top of the blast furnace, and a Deployer to automatically work the bellows. Excessive bellow blowing will quickly use up the durability of your Tuyere, though item pipes can push a new one in.\n\nYou could even have a pump pull from both your blast furnace and your crucible, using a Fluid Valve to stop the pump while you're alloying, and turn it back on once you're finished.", "quests.steam_age.fluid_pipes.title": "Fluid Pipes", "quests.steam_age.fluid_pipes.subtitle": "Liquids, gases... we don't discriminate", - "quests.steam_age.fluid_pipes.desc.1": "&bFluid Pipes&r will transport &7Steam&r between machines for you.\n\nEach Pipe has a certain throughput in mB/t, and a &6Temperature Limit&r. This is relevant right now, as Steam will burn Wooden Pipes. Some pipes have &bspecial&r attributes you don't need to worry about for now.\n\nEach material has several sizes for Pipes. The bigger the Pipe, the &ahigher&r the throughput, but the more &dexpensive&r the craft. For example, a normal &6Bronze Fluid Pipe&r transfers 120 mB/t. (It also has a 1,200 mB internal buffer!)\n\nTo start off, we recommend using Wood pipes for cold fluids, and Bronze ones for hot fluids.", + "quests.steam_age.fluid_pipes.desc.1": "&bFluid Pipes&r will transport &7Steam&r between machines for you.\n\nEach Pipe has a certain throughput in mB/t, and a &6Temperature Limit&r. This is relevant right now, as Steam will burn Wooden Pipes. Some pipes have &bspecial&r attributes you don't need to worry about for now.\n\nEach material has several sizes for Pipes. The bigger the Pipe, the &ahigher&r the throughput, but the more &dexpensive&r the craft. For example, a normal &6Bronze Fluid Pipe&r transfers 120 mB/t. (It also has a 1,200 mB internal buffer!)\n\nTo start off, we recommend using Wood pipes for room-temperature fluids, and Bronze ones for hot fluids.", "quests.steam_age.fluid_pipes.desc.2": "&aReminder:&r 1 second = 20 ticks... assuming the server isn't lagging.\n\n&dNote:&r GT6-style Pipes are enabled. It means that placing Pipes connects them only to the block they were placed against. To open more connections, use your Wrench on the pipe.\n\nYou can also shift-right click with your Wrench to disable input from a side. This can help counteract sloshing (liquids travelling in an undesired direction).", "quests.steam_age.fluid_drums.title": "Efficient Fluid Storage", "quests.steam_age.fluid_drums.subtitle": "I don't think a wooden barrel can hold molten steel", @@ -3776,7 +3783,7 @@ "quests.steam_age.steel_mech_press.desc.2": "&l&3Lore:&r&o The Create Mechanical Press used to be a key piece of late steam age progression prior to version 0.9 of TerraFirmaGreg, because it produced plates at an even better ratio of 5 to 4. However, its implementation was actually \"20 percent of the time, you get nothing\", which caused many people to proclaim how much they loved gambling while using it.", "quests.steam_age.supers.title": "Super Chests and Super Tanks", "quests.steam_age.supers.subtitle": "Super Storage Drawers", - "quests.steam_age.supers.desc": "This is the &cu&6l&et&ai&bm&9a&5t&4e&r portable item and storage solution if you have a lot of single items or fluids. While these &dBasic&r (&8ULV&r) ones start out relatively small, higher tiers of Super chests and tanks can hold an insane amount of stuff - all in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks and Chests &6keep their contents when broken&r, can be cleared in the crafting grid, and can automatically void any overflow.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Quantum Chests and Tanks or AE2 Storage Cells.", + "quests.steam_age.supers.desc": "This is the &cu&6l&et&ai&bm&9a&5t&4e&r portable item and storage solution if you have a lot of single items or fluids. While these &dBasic&r (&8ULV&r) ones start out relatively small, higher tiers of Super chests and tanks can hold an insane amount of stuff - all in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks and Chests &6keep their contents when broken&r, can be cleared in the crafting grid, and can automatically void any overflow. Unlike drums, however, Super Tanks also &asafely contain&r their contents, preventing you from getting burnt, frozen, or floating.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Quantum Chests and Tanks or AE2 Storage Cells.", "quests.steam_age.supers.task": "Any super chest or tank", "quests.stone_age": "Stone Age", "quests.stone_age.subtitle": "Humble Beginnings", @@ -3936,6 +3943,11 @@ "quests.stone_age.hazards.subtitle": "Thought the surface was difficult? Think again.", "quests.stone_age.hazards.desc.1": "Besides the monsters, the biggest challenge when mining is dealing with cave-ins. If a Raw stone or ore block has air below it, it's considered 'unsupported' and has a chance to start a cave-in every time a nearby block is mined. Cave roofs are covered with Hardened stone, which won't cause a collapse. To mitigate this, the safest thing you can do is just mine the floor, but if you want to safely mine anything else you'll have to learn how to use support beams! These are crafted with logs and a saw.", "quests.stone_age.hazards.desc.2": "The Field Guide has more details and diagrams about how exactly support beams work, but the short version is you'll want to place them down like this within four blocks of each other. Only the top vertical beams will actually support anything, and they have a small radius.", + "quests.stone_age.medical_conditions.title": "Medical Conditions", + "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.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.", "quests.stone_age.copper_for_anvil.desc": "Anvils aren't cheap! Each anvil will require 14 ingots, which are then welded into 7 double ingots.\n\nYou might want to start mining at this point if you haven't already, gathering 126 pieces of small copper is difficult.", @@ -3965,7 +3977,7 @@ "quests.stone_age.flux.desc": "Flux is an item that is primarily used in metal working to weld things together, though it has some other uses too.\nCertain types of Rocks such as Chalk, Limestone and Marble can be crushed down to make Flux, as well as the shells of various ocean animals.", "quests.stone_age.weld_copper_ingots.title": "Welding Copper", "quests.stone_age.weld_copper_ingots.subtitle": "So close to the Copper Anvil", - "quests.stone_age.weld_copper_ingots.desc": "Light up your Forge and give it at least 2 Copper Ingots. Keep an eye on their tooltip as they heat up - once they get hot, it'll show \"Can Work\", but we need to wait until they get to \"Can Weld\", which is just before their melting point.\n\nOnce they reach it, quickly pull them out of the forge (while holding some wooden tongs in your off-hand!) and into the Rock Anvil's interface, along with a little bit of flux. Lastly, right-click the anvil while sneaking to weld the two ingots together while they're still hot. You can use water or snow to cool down your new double ingot faster.", + "quests.stone_age.weld_copper_ingots.desc": "Light up your Forge and give it at least 2 Copper Ingots. Keep an eye on their tooltip as they heat up - once they get hot, it'll show \"Can Work\", but we need to wait until they get to \"Can Weld\", which is just before their melting point.\n\nOnce they reach it, quickly pull them out of the forge (while holding some &ewooden tongs&r in your off-hand!) and into the Rock Anvil's interface, along with a little bit of flux. Lastly, right-click the anvil while sneaking to weld the two ingots together while they're still hot. You can use water or snow to cool down your new double ingot faster.", "quests.metal_age.copper_anvil.title": "T1 Anvil: Copper", "quests.metal_age.copper_anvil.subtitle": "It's all been building up to this!", "quests.metal_age.copper_anvil.desc": "Congratulations! You've officially finished the Stone Age and entered the Metallurgy Age! With your Copper Anvil, the next step is to climb up the Anvil Tiers, and each time you unlock a new Tier, new tools and possibilities will be available to make your life progressively easier. Now go and become a master smith!", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index c9a56122e..e9b6f8fd1 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -3293,7 +3293,7 @@ "quests.metal_age.steel_anvil.subtitle": "相比锻铁的巨大飞跃", "quests.metal_age.steel_anvil.desc": "有了钢砧,你将能够将钢锭加工成不同的形式。\n\n钢制工具和设备相比青铜和锻铁对应物有显著提升,因此如果你现有的工具即将损坏,它们值得制作。你很快将需要制造大量合金,因此一些新的采矿设备将是一项明智的投资。", "quests.metal_age.steel_goodies.title": "钢级机械动力", - "quests.metal_age.steel_goodies.subtitle": "吹风、粉碎和管道运输", + "quests.metal_age.steel_goodies.subtitle": "鼓风、粉碎和管道运输", "quests.metal_age.steel_goodies.desc": "钢解锁了新的格雷机械等级,具有更高的最大应力容量!你现在还可以制造诸如鼓风机(可以自动化矿石清洗)和动力泵(让你更容易进行流体物流)之类的东西。\n\n动力泵特别有用,因为通过巧妙设计,你可以轻松实现高炉的自动化操作。\n\n为了给这些机械提供动力,你还可以使用蒸汽引擎,从而将燃料和水转化为巨量的机械能!", "quests.metal_age.weak_steel.title": "脆钢成分", "quests.metal_age.weak_steel.subtitle": "希望你喜欢数学", From 316dc2f5fb4ade992a6e6a1bcf863e30801b39bf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 02:30:50 +0000 Subject: [PATCH 325/628] moved syngas in the vacuumizer to the top #2378 Related Work Items: #23 --- CHANGELOG.md | 1 + .../quests/chapters/mv__medium_voltage.snbt | 173 ++++++++---------- .../tfg/powergen/recipes.early_gas.js | 4 + 3 files changed, 85 insertions(+), 93 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23b9fc022..2e5ea4e35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Breaking Changes - The previous silicone rubber styrene butadiene rubber belts have been changed to a different item, so please break and recycle them before updating if you're using any. - Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie +- Syngas crafting in the Vacuum Chamber will now output into the chamber itself instead of the Basin, so it won't get mixed up with the creosote (#2378) ### Changes #### Hot or Not - Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `#tfg:hot_protection_equipment`, `#tfg:cold_protection_equipment`, and `#tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index ee5222806..a6cb44d8f 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -10,7 +10,7 @@ id: "4EEC4E3BE1B3D3B1" linked_quest: "222295CD03AF00DC" x: -1.5d - y: -5.5d + y: -6.0d }] quests: [ { @@ -36,7 +36,7 @@ type: "item" }] title: "{quests.medium_voltage.pyrolyse.title}" - x: -2.5d + x: -1.0d y: -0.5d } { @@ -63,14 +63,11 @@ type: "item" }] title: "{quests.medium_voltage.mv_biomass.title}" - x: -5.5d + x: -4.0d y: -0.5d } { - dependencies: [ - "22E462070F8B027A" - "499CACFF0350B3CA" - ] + dependencies: ["22E462070F8B027A"] dependency_requirement: "one_completed" description: [ "{quests.medium_voltage.mv_brewery.desc.1}" @@ -84,27 +81,19 @@ shape: "square" size: 1.0d subtitle: "{quests.medium_voltage.mv_brewery.subtitle}" - tasks: [ - { - id: "1CB0F32E8293B5D7" - item: "gtceu:lubricant_bucket" - optional_task: true - type: "item" - } - { - id: "29393DEB346EC4D2" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lv_brewery)item(gtceu:mv_brewery))" - } + tasks: [{ + id: "29393DEB346EC4D2" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:lv_brewery)item(gtceu:mv_brewery))" } - type: "item" } - ] + type: "item" + }] title: "{quests.medium_voltage.mv_brewery.title}" - x: -5.5d + x: -4.0d y: -2.0d } { @@ -163,7 +152,7 @@ } ] title: "{quests.medium_voltage.mv_ethanol.title}" - x: -8.0d + x: -7.5d y: -0.5d } { @@ -206,7 +195,7 @@ } ] title: "{quests.medium_voltage.mv_naphtha.title}" - x: -7.5d + x: -7.0d y: 2.5d } { @@ -241,7 +230,7 @@ } ] title: "{quests.medium_voltage.mv_fuel_cracking.title}" - x: -8.5d + x: -8.0d y: 2.5d } { @@ -277,8 +266,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_energy.title}" - x: 7.0d - y: -1.0d + x: 6.0d + y: -2.0d } { dependencies: ["2AD44111B9B39C90"] @@ -298,7 +287,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_stainless.title}" - x: 1.5d + x: 1.0d y: 7.5d } { @@ -390,7 +379,7 @@ }] title: "{quests.medium_voltage.electrolyzer.title}" x: -1.5d - y: -3.5d + y: -4.0d } { dependencies: ["22E462070F8B027A"] @@ -420,8 +409,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_miner.title}" - x: 0.5d - y: 3.0d + x: 4.5d + y: -4.0d } { dependencies: ["4A92AFD2532EED26"] @@ -437,7 +426,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_steel_alloy.title}" - x: 7.0d + x: 8.0d y: 1.0d } { @@ -457,10 +446,11 @@ "ftbfiltersystem:filter": "or(item(gtceu:mv_cutter)item(greate:aluminium_mechanical_saw))" } } + title: "{quests.medium_voltage.mv_cutter.task}" type: "item" }] title: "{quests.medium_voltage.mv_cutter.title}" - x: 7.0d + x: 8.0d y: 4.0d } { @@ -480,7 +470,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_laser_engraver.title}" - x: 7.0d + x: 8.0d y: 8.0d } { @@ -501,7 +491,7 @@ }] title: "{quests.medium_voltage.mv_energy_hatch.title}" x: 3.0d - y: 10.0d + y: 9.0d } { dependencies: ["22E462070F8B027A"] @@ -540,7 +530,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_kanthal_coil.title}" - x: 1.5d + x: 1.0d y: 10.0d } { @@ -591,7 +581,7 @@ } ] title: "{quests.medium_voltage.mv_ram.title}" - x: 8.5d + x: 8.0d y: 10.0d } { @@ -657,7 +647,7 @@ } ] title: "{quests.medium_voltage.mv_silicon_boule.title}" - x: 9.0d + x: 10.0d y: 8.0d } { @@ -674,7 +664,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_circuit_assembler.title}" - x: 1.0d + x: 0.0d y: 14.0d } { @@ -711,7 +701,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_best_lv.title}" - x: -1.0d + x: -3.0d y: 12.0d } { @@ -731,7 +721,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_best_mv.title}" - x: -1.0d + x: -3.0d y: 14.0d } { @@ -748,7 +738,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_second_hv.title}" - x: -1.0d + x: -3.0d y: 16.5d } { @@ -840,7 +830,7 @@ } ] title: "{quests.medium_voltage.mv_boards.title}" - x: -5.0d + x: -7.0d y: 12.0d } { @@ -882,7 +872,7 @@ } ] title: "{quests.medium_voltage.mv_sodium_iron.title}" - x: -5.0d + x: -7.0d y: 14.0d } { @@ -947,7 +937,7 @@ ] title: "{quests.medium_voltage.mv_hydrochloric.title}" x: -10.0d - y: -2.5d + y: -3.0d } { dependencies: [ @@ -972,7 +962,7 @@ }] title: "{quests.medium_voltage.mv_aciditic.title}" x: -10.0d - y: -1.5d + y: -1.75d } { dependencies: ["6F898B934BB79016"] @@ -995,8 +985,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_batteries.title}" - x: 9.5d - y: -1.0d + x: 10.0d + y: -2.0d } { dependencies: ["22E462070F8B027A"] @@ -1013,7 +1003,7 @@ }] title: "{quests.medium_voltage.mv_extruder.title}" x: 3.0d - y: -3.5d + y: -4.0d } { dependencies: ["75F38905DEA60F15"] @@ -1056,11 +1046,10 @@ type: "item" }] title: "{quests.medium_voltage.mv_fluid_rig.title}" - x: -2.5d + x: -1.0d y: 2.5d } { - dependencies: ["648BCF486E16CCB2"] description: ["{quests.medium_voltage.mv_oilsands.desc}"] id: "575B07D390D9D079" optional: true @@ -1073,7 +1062,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_oilsands.title}" - x: -2.5d + x: -1.0d y: 1.0d } { @@ -1111,7 +1100,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_distillery.title}" - x: -5.5d + x: -4.0d y: 1.0d } { @@ -1153,7 +1142,7 @@ } ] title: "{quests.medium_voltage.mv_lpg.title}" - x: -2.5d + x: -1.0d y: 4.0d } { @@ -1177,8 +1166,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_benzene.title}" - x: -5.0d - y: 2.5d + x: -3.0d + y: 3.0d } { dependencies: ["6A304E453D74C57C"] @@ -1203,8 +1192,8 @@ } ] title: "{quests.medium_voltage.mv_light_fuel.title}" - x: -6.0d - y: 2.5d + x: -5.0d + y: 3.0d } { dependency_requirement: "one_started" @@ -1228,7 +1217,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_mutli_channel.title}" - x: -8.0d + x: -7.5d y: 1.0d } { @@ -1259,7 +1248,7 @@ } ] title: "{quests.medium_voltage.mv_ic.title}" - x: 7.0d + x: 6.0d y: 10.0d } { @@ -1290,8 +1279,8 @@ } ] title: "{quests.medium_voltage.mv_ulpic.title}" - x: 5.5d - y: 10.0d + x: 6.0d + y: 8.0d } { dependencies: ["45769156F4253C86"] @@ -1312,8 +1301,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_jetpack.title}" - x: -6.0d - y: 4.5d + x: -5.0d + y: 5.0d } { dependencies: ["75F38905DEA60F15"] @@ -1364,7 +1353,7 @@ } ] title: "{quests.medium_voltage.mv_electronic_components.title}" - x: 0.5d + x: -0.5d y: 10.0d } { @@ -1392,8 +1381,8 @@ } ] title: "{quests.medium_voltage.mv_chlorine.title}" - x: -9.5d - y: -3.5d + x: -9.0d + y: -4.0d } { dependencies: ["45449ECE4F8128E7"] @@ -1415,8 +1404,8 @@ } ] title: "{quests.medium_voltage.mv_hydrogen.title}" - x: -10.5d - y: -3.5d + x: -11.0d + y: -4.0d } { dependency_requirement: "one_started" @@ -1432,7 +1421,7 @@ }] title: "{quests.medium_voltage.mv_seawater.title}" x: -10.0d - y: -4.5d + y: -5.5d } { dependencies: ["583D0CC4FAA4FC98"] @@ -1453,7 +1442,7 @@ }] title: "{quests.medium_voltage.mv_battery.title}" x: 8.5d - y: -1.0d + y: -2.0d } { dependencies: [ @@ -1526,15 +1515,13 @@ } ] title: "{quests.medium_voltage.mv_kanthal_ingot.title}" - x: 1.5d - y: 9.0d + x: 1.0d + y: 11.0d } { dependencies: ["22E462070F8B027A"] description: ["{quests.medium_voltage.mv_chemical_reactor.desc}"] id: "79E8DC4D9B5F6B97" - shape: "octagon" - size: 2.0d subtitle: "{quests.medium_voltage.mv_chemical_reactor.subtitle}" tasks: [{ id: "04A6D4858DA3CE94" @@ -1542,8 +1529,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_chemical_reactor.title}" - x: 7.0d - y: -3.5d + x: 1.5d + y: -4.0d } { description: [ @@ -1559,7 +1546,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_silicon.title}" - x: 9.0d + x: 10.0d y: 6.0d } { @@ -1580,7 +1567,7 @@ type: "item" }] title: "{quests.medium_voltage.lsb.title}" - x: 1.28d + x: 0.0d y: 16.5d } { @@ -1607,8 +1594,8 @@ } ] title: "{quests.medium_voltage.mv_cpu.title}" - x: 5.0d - y: 8.0d + x: 10.0d + y: 10.0d } { dependencies: ["5D9D01EF219A31C5"] @@ -1622,7 +1609,7 @@ type: "item" }] title: "{quests.medium_voltage.mv_bio_diesel.title}" - x: -8.0d + x: -7.5d y: -2.0d } { @@ -1652,8 +1639,8 @@ } ] title: "{quests.medium_voltage.stainless_greate.title}" - x: 0.5d - y: 6.75d + x: 0.0d + y: 6.5d } { dependencies: ["54A255C1C6E33165"] @@ -1668,8 +1655,8 @@ type: "item" }] title: "{quests.medium_voltage.reformate_gas.title}" - x: -5.0d - y: 4.5d + x: -3.0d + y: 5.0d } { dependencies: ["00E1A728E6F6D6A0"] @@ -1687,8 +1674,8 @@ item: "gtceu:coal_liquefaction_tower" type: "item" }] - x: -5.0d - y: 3.5d + x: -3.0d + y: 4.0d } { dependencies: ["61972B16805FC9EE"] @@ -1711,8 +1698,8 @@ type: "item" }] title: "{quests.medium_voltage.mv_diesel.title}" - x: -6.0d - y: 3.5d + x: -5.0d + y: 4.0d } ] subtitle: ["{quests.medium_voltage.subtitle}"] diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index 54e74632f..c6c6f1a6a 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -12,6 +12,7 @@ function registerTFGEarlyGasRecipes(event) { type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'minecraft:charcoal' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 100 }], + secondaryFluidOutput: 0, heatRequirement: "heated", processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_charcoal') @@ -20,6 +21,7 @@ function registerTFGEarlyGasRecipes(event) { type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'minecraft:coal' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 200 }], + secondaryFluidOutput: 0, heatRequirement: "heated", processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_coal') @@ -28,6 +30,7 @@ function registerTFGEarlyGasRecipes(event) { type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'gtceu:coke_gem' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 400 }], + secondaryFluidOutput: 0, heatRequirement: "heated", processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_coke') @@ -36,6 +39,7 @@ function registerTFGEarlyGasRecipes(event) { type: 'vintageimprovements:vacuumizing', ingredients: [{ item: 'beneath:cursecoal' }, { fluid: 'gtceu:creosote', amount: 250 }], results: [{ fluid: 'tfg:syngas', amount: 400 }], + secondaryFluidOutput: 0, heatRequirement: "heated", processingTime: 4000 }).id('tfg:vi/vacuumizing/syngas_from_anthracite') From d5066e637a739a037f130aabefa02c4c60d9fd19 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 11:47:01 +0000 Subject: [PATCH 326/628] removed butchery knife additional meat drop from illagers --- .../primitive_creatures/loot.js | 35 +------------------ 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js index 5b4e8ad28..bbad256ed 100644 --- a/kubejs/server_scripts/primitive_creatures/loot.js +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -47,9 +47,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:raw_shirt'), Item.of('tfc_textile:raw_pants'), Item.of('tfc_textile:raw_socks')]) - event.addEntityLootModifier('primitive_creatures:iloger_1') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // herbalist - brown clothes with a mask that looks like a Creaking event.addEntityLootModifier('primitive_creatures:iloger_2') @@ -68,9 +65,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:grizzly_bear_shirt'), Item.of('tfc_textile:grizzly_bear_pants'), Item.of('tfc_textile:grizzly_bear_boots')]) - event.addEntityLootModifier('primitive_creatures:iloger_2') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // bonebreaker - skull helmet, bone armor? hits harder, has knockback event.addEntityLootModifier('primitive_creatures:iloger_3') @@ -89,9 +83,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:direwolf_shirt'), Item.of('tfc_textile:direwolf_pants'), Item.of('tfc_textile:direwolf_boots')]) - event.addEntityLootModifier('primitive_creatures:iloger_3') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // ambusher - leaf on head, leafy clothes (like the swamp vanilla villager type), ranged with poison event.addEntityLootModifier('primitive_creatures:iloger_4') @@ -111,9 +102,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:crocodile_shirt'), Item.of('tfc_textile:crocodile_pants'), Item.of('tfc_textile:crocodile_boots')]) - event.addEntityLootModifier('primitive_creatures:iloger_4') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // hunter - wears brown and white fur, briefly disappears when hit, ranged with weakness event.addEntityLootModifier('primitive_creatures:iloger_5') @@ -133,9 +121,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:sabertooth_shirt'), Item.of('tfc_textile:sabertooth_pants'), Item.of('tfc_textile:sabertooth_boots')]) - event.addEntityLootModifier('primitive_creatures:iloger_5') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // shaman - yellow clothes, throws fireballs event.addEntityLootModifier('primitive_creatures:iloger_6') @@ -155,9 +140,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:cougar_shirt'), Item.of('tfc_textile:cougar_pants'), Item.of('tfc_textile:cougar_boots')]) - event.addEntityLootModifier('primitive_creatures:iloger_6') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // beast tamer - wears tiger fur, holds vanilla sugarcane? fucking summons ravagers event.addEntityLootModifier('primitive_creatures:wiloger') @@ -176,9 +158,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:tiger_shirt'), Item.of('tfc_textile:tiger_pants'), Item.of('tfc_textile:tiger_boots')]) - event.addEntityLootModifier('primitive_creatures:wiloger') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // warrior - lion fur, holds flint club - stuns you in place when hit event.addEntityLootModifier('primitive_creatures:piloger_9') @@ -195,15 +174,12 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:lion_shirt'), Item.of('tfc_textile:lion_pants'), Item.of('tfc_textile:lion_boots')]) - event.addEntityLootModifier('primitive_creatures:piloger_9') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // mercenary event.addEntityLootModifier('primitive_creatures:viloger_10') .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([1, 2], ['minecraft:emerald']) + .addWeightedLoot([2, 4], ['minecraft:emerald']) .addAlternativesLoot( LootEntry.of('gtceu:cobalt_brass_knife').damage([0.3, 0.7]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)), @@ -216,9 +192,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:raw_shirt'), Item.of('tfc_textile:raw_pants'), Item.of('tfc_textile:raw_socks')]) - event.addEntityLootModifier('primitive_creatures:viloger_10') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // huntmaster - miniboss event.addEntityLootModifier('primitive_creatures:nahida') @@ -246,9 +219,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:panther_shirt'), Item.of('tfc_textile:panther_pants'), Item.of('tfc_textile:panther_boots')]) - event.addEntityLootModifier('primitive_creatures:nahida') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // berserker - guy with celtic blue face paint event.addEntityLootModifier('primitive_creatures:iloger_10') @@ -267,9 +237,6 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc_textile:sabertooth_shirt'), Item.of('tfc_textile:sabertooth_pants'), Item.of('tfc_textile:sabertooth_boots')]) - event.addEntityLootModifier('primitive_creatures:iloger_10') - .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 4], ['tfg:food/raw_long_pig_filet']) // mistah beeeaaaasssstt event.addEntityLootModifier('primitive_creatures:beast') From 1186134cd648d879e7451e10826f7dea1feb825a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 11:59:28 +0000 Subject: [PATCH 327/628] #2398 --- CHANGELOG.md | 2 ++ config/carryon-common.toml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e5ea4e35..5355b2ac6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `#tfg:hot_protection_equipment`, `#tfg:cold_protection_equipment`, and `#tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie - GregTech hot ingots are also now properly included in the "too hot to handle" system so the same protection applies @Pyritie - Added machine recipes for crafting tongs @Pyritie +- All baby animals and more "medium" size animals can now be picked up (#2398) @Pyritie #### Medical Hazards - Added visual debuff effects for all medical conditions, so you're immediately notified when carrying something hazardous instead of wondering why you have Hunger II. They don't do anything by themselves, they're just a much more visible way of checking your conditions. @Pyritie - Early `#tfg:medicines` can now also cure medical conditions! Did you think they wouldn't come with side effects? @Pyritie @@ -31,6 +32,7 @@ - Fixed treated wooden planks from being excluded in the Domum Ornamentum and Facade whitelists (#2404) @thederpysockdude123 - Fixed a recipe conflict for boiled and fried eggs (#2407) @Mqrius - Fixed a recipe conflict blocking the crafting of silicone rubber (#2387) @Mqrius +- Fixed the backpack and QuarkTech helmet auto-feeding from feeding you while you're downed @Mqrius ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/config/carryon-common.toml b/config/carryon-common.toml index b46d9a87d..bcd253142 100644 --- a/config/carryon-common.toml +++ b/config/carryon-common.toml @@ -30,7 +30,7 @@ #Larger Entities slow down the player more heavyEntities = true #Allow babies to be carried even when adult mob is blacklisted (or not whitelisted) - allowBabies = false + allowBabies = true #Use Whitelist instead of Blacklist for Blocks useWhitelistBlocks = true #Use Whitelist instead of Blacklist for Entities @@ -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", "tfg:moon_rabbit", "species:birt", "species:stackatick", "species:springling", "tfg:glacian_ram"] + 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"] #Blocks that CAN be picked up (useWhitelistBlocks must be true) allowedBlocks = ["framedblocks:framed_chest", "tfc:wood/chest/*", "tfc:wood/trapped_chest/*", "afc:wood/chest/*", "afc:wood/trapped_chest/*", "#forge:chests/wooden"] #Entities that CAN have other entities stacked on top of them (useWhitelistStacking must be true) From 0650cfd65a96040c18905c5bf308693146becae8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 12:29:41 +0000 Subject: [PATCH 328/628] more animal fat #2367 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfc/loot.js | 82 ++++++++++++++++++++++++++----- 2 files changed, 70 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5355b2ac6..2715dd668 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ - Added a way to convert between vinegar and acetic acid (#2386) @Epicificator - Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg - Added some distant horizons config options, for those who want to use it (#2406) @Mqrius +- More animals now drop animal fat (#2367) @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix diff --git a/kubejs/server_scripts/tfc/loot.js b/kubejs/server_scripts/tfc/loot.js index 62e9e1909..ab68c15ca 100644 --- a/kubejs/server_scripts/tfc/loot.js +++ b/kubejs/server_scripts/tfc/loot.js @@ -6,6 +6,8 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:black_bear') .addWeightedLoot([8, 12], ['tfc:food/bear']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:black_bear') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 6], ['tfc:food/bear']) @@ -13,6 +15,7 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:grizzly_bear') .addWeightedLoot([10, 16], ['tfc:food/bear']) + .addWeightedLoot([1, 2], ['tfc:blubber']) event.addEntityLootModifier('tfc:grizzly_bear') .matchMainHand('#forge:tools/butchery_knives') @@ -21,11 +24,12 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:polar_bear') .addWeightedLoot([14, 20], ['tfc:food/bear']) - .addWeightedLoot([2, 5], ['tfc:blubber']) + .addWeightedLoot([6, 12], ['tfc:blubber']) event.addEntityLootModifier('tfc:polar_bear') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/bear']) + .addWeightedLoot([3, 6], ['tfc:blubber']) event.addEntityLootModifier('tfc:cougar') @@ -46,8 +50,9 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:sabertooth') .addWeightedLoot([9, 14], ['tfc:food/gran_feline']) + .addWeightedLoot([1, 2], ['tfc:blubber']) - event.addEntityLootModifier('tfc:sabertooth') + event.addEntityLootModifier('tfc:sabertooth') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 7], ['tfc:food/gran_feline']) @@ -94,6 +99,7 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:dog') .addWeightedLoot([5, 8], ['tfc:food/wolf']) + .addWeightedLoot([1, 2], ['tfc:blubber']) event.addEntityLootModifier('tfc:dog') .matchMainHand('#forge:tools/butchery_knives') @@ -140,147 +146,197 @@ function registerTFCLoots(event) { .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 5], ['tfc:food/bluegill', 'tfc:food/crappie', 'tfc:food/lake_trout', 'tfc:food/rainbow_trout', 'tfc:food/frog_legs']) + // Passive animals event.addEntityLootModifier('tfc:alpaca') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 10], ['tfc:food/camelidae']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:boar') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/pork']) + .addWeightedLoot([3, 5], ['tfc:blubber']) + event.addEntityLootModifier('tfc:bongo') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:caribou') - .addWeightedLoot([1, 3], ['tfc:blubber']) + .addWeightedLoot([3, 6], ['tfc:blubber']) + event.addEntityLootModifier('tfc:caribou') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([3, 5], ['tfc:food/venison']) + event.addEntityLootModifier('tfc:chicken') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 3], ['tfc:food/chicken']) + event.addEntityLootModifier('tfc:cow') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([8, 12], ['tfc:food/beef']) + .addWeightedLoot([2, 4], ['tfc:blubber']) + event.addEntityLootModifier('tfc:deer') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:dolphin') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 12], ['tfc:blubber']) - .addWeightedLoot([1, 5], ['minecraft:bone']) + .addWeightedLoot([6, 12], ['tfc:blubber']) + .addWeightedLoot([3, 5], ['minecraft:bone']) + event.addEntityLootModifier('tfc:dolphin') .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([2, 6], ['tfc:blubber']) + .addWeightedLoot([3, 6], ['tfc:blubber']) + event.addEntityLootModifier('tfc:donkey') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:duck') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 3], ['tfc:food/duck']) + event.addEntityLootModifier('tfc:frog') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/frog_legs']) + event.addEntityLootModifier('tfc:gazelle') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:goat') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 6], ['tfc:food/chevon']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:grouse') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/grouse']) + event.addEntityLootModifier('tfc:horse') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:manatee') .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([5, 12], ['tfc:blubber']) .addWeightedLoot([1, 5], ['minecraft:bone']) + event.addEntityLootModifier('tfc:manatee') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 6], ['tfc:blubber']) + event.addEntityLootModifier('tfc:moose') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 10], ['tfc:food/venison']) - .addWeightedLoot([1, 2], ['tfc:blubber']) + .addWeightedLoot([3, 6], ['tfc:blubber']) + event.addEntityLootModifier('tfc:mule') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) - - event.addEntityLootModifier('tfc:musk_ox') .addWeightedLoot([1, 2], ['tfc:blubber']) + + + event.addEntityLootModifier('tfc:musk_ox') + .addWeightedLoot([2, 4], ['tfc:blubber']) + event.addEntityLootModifier('tfc:musk_ox') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/mutton']) + event.addEntityLootModifier('tfc:peafowl') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/peafowl']) + event.addEntityLootModifier('tfc:pheasant') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/pheasant']) + event.addEntityLootModifier('tfc:pig') - .addWeightedLoot([3, 6], ['tfc:blubber']) + .addWeightedLoot([4, 6], ['tfc:blubber']) + event.addEntityLootModifier('tfc:pig') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 7], ['tfc:food/pork']) - .addWeightedLoot([1, 3], ['tfc:blubber']) + .addWeightedLoot([2, 3], ['tfc:blubber']) + event.addEntityLootModifier('tfc:orca') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([8, 20], ['tfc:blubber']) + .addWeightedLoot([12, 20], ['tfc:blubber']) .addWeightedLoot([3, 7], ['minecraft:bone']) + event.addEntityLootModifier('tfc:orca') .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([4, 10], ['tfc:blubber']) + .addWeightedLoot([6, 10], ['tfc:blubber']) + event.addEntityLootModifier('tfc:quail') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 3], ['tfc:food/quail']) + event.addEntityLootModifier('tfc:rabbit') .matchMainHand('#forge:tools/butchery_knives') .addLoot('tfc:food/rabbit') + .addWeightedLoot([0, 1], ['tfc:blubber']) + event.addEntityLootModifier('tfc:sheep') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([6, 9], ['tfc:food/mutton']) + .addWeightedLoot([1, 2], ['tfc:blubber']) + event.addEntityLootModifier('tfc:turkey') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/turkey']) + event.addEntityLootModifier('tfc:turtle') .matchMainHand('#forge:tools/butchery_knives') .addLoot('tfc:food/turtle') + event.addEntityLootModifier('tfc:wildebeest') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 7], ['tfc:food/beef']) + .addWeightedLoot([2, 3], ['tfc:blubber']) + event.addEntityLootModifier('tfc:yak') .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/chevon']) + .addWeightedLoot([3, 6], ['tfc:blubber']) // Blocks From fe1b8585dabc9351fcc1a665d6631b6219048d37 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 12:37:00 +0000 Subject: [PATCH 329/628] nerfed biomass from vanilla plants, changed honey to sugar to the extractor --- CHANGELOG.md | 4 +++- kubejs/server_scripts/tfg/food/recipes.biomass.js | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2715dd668..c23a7f5ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ ### Breaking Changes - The previous silicone rubber styrene butadiene rubber belts have been changed to a different item, so please break and recycle them before updating if you're using any. - Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie -- Syngas crafting in the Vacuum Chamber will now output into the chamber itself instead of the Basin, so it won't get mixed up with the creosote (#2378) +- Turning honey into sugar is now done in the extractor instead of the centrifuge. @Pyritie +- Syngas crafting in the Vacuum Chamber will now output into the chamber itself instead of the Basin, so it won't get mixed up with the creosote (#2378) @Pyritie ### Changes #### Hot or Not - Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `#tfg:hot_protection_equipment`, `#tfg:cold_protection_equipment`, and `#tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie @@ -23,6 +24,7 @@ - Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg - Added some distant horizons config options, for those who want to use it (#2406) @Mqrius - More animals now drop animal fat (#2367) @Pyritie +- Nerfed how much biomass and plant balls are produced from certain vanilla plants (#2361) @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix diff --git a/kubejs/server_scripts/tfg/food/recipes.biomass.js b/kubejs/server_scripts/tfg/food/recipes.biomass.js index 65aeb4fcf..82455ef59 100644 --- a/kubejs/server_scripts/tfg/food/recipes.biomass.js +++ b/kubejs/server_scripts/tfg/food/recipes.biomass.js @@ -70,14 +70,14 @@ function registerTFGBiomassRecipes(event) { event.recipes.gtceu.brewery('biomass_from_minecraft_plants') .itemInputs('#createaddition:plants') .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 100)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) .duration(100) .EUt(3) event.recipes.gtceu.brewery('biomass_from_wart_blocks') .itemInputs('#minecraft:wart_blocks') .inputFluids("#tfc:any_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 50)) + .outputFluids(Fluid.of('gtceu:biomass', 100)) .duration(100) .EUt(3) @@ -131,7 +131,7 @@ function registerTFGBiomassRecipes(event) { .EUt(2) event.recipes.gtceu.compressor('plant_ball_from_misc_plants') - .itemInputs('4x #createaddition:plants') + .itemInputs('10x #createaddition:plants') .itemOutputs('gtceu:plant_ball') .duration(300) .EUt(2) @@ -152,7 +152,7 @@ function registerTFGBiomassRecipes(event) { .duration(800) .EUt(6) - event.recipes.gtceu.centrifuge('sugar_from_honey') + event.recipes.gtceu.extractor('sugar_from_honey') .itemInputs('firmalife:raw_honey') .itemOutputs('minecraft:sugar') .duration(400) From f3e2152a2281226e4708c84a4a802a6205ac39a7 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sun, 14 Dec 2025 18:28:02 +0500 Subject: [PATCH 330/628] fix: icon build --- .github/workflows/build.yml | 6 ++++-- .pakku/multimc-overrides/icon.png | Bin 9994 -> 0 bytes config/fancymenu/assets/icons/icon128x128.png | Bin 0 -> 10480 bytes 3 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 .pakku/multimc-overrides/icon.png create mode 100644 config/fancymenu/assets/icons/icon128x128.png diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9f6283efd..a197c091b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -387,9 +387,11 @@ jobs: mv -vf .pakku/multimc-overrides ./build/multimc - cp -vf ./build/.cache/curseforge/manifest.json ./build/multimc/flame/manifest.json - + cp -rf ./build/.cache/curseforge/overrides ./build/multimc/.minecraft + + cp -vf ./build/.cache/curseforge/manifest.json ./build/multimc/flame/manifest.json + cp -vf ./config/fancymenu/assets/icons/icon128x128.png ./build/multimc/.minecraft/icon.png cp -rf ./mods ./build/multimc/.minecraft/ cd ./build/multimc/ diff --git a/.pakku/multimc-overrides/icon.png b/.pakku/multimc-overrides/icon.png deleted file mode 100644 index 7181ee2ba76308a978803a60b94d715ce29ed08a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9994 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/shale.png b/kubejs/assets/tfc/textures/item/loose_rock/shale.png new file mode 100644 index 0000000000000000000000000000000000000000..df6194290384c96e8c08feba746b2f8dce565401 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSXJ~)IiL11Ffjb^ba4!^IDL20-mJq0 zB5wWO=GrdNCKe^Visv7?UvT~cMwC212 zhwG=VO}ch##-m;9Hpfe=1ZcJfaS1MbU(GOU*~u{8HCqiEJ(Zd|7zCVV%-myh=-7;n zuSERbA1;WNTexafg@ug3#En&5@0DX1FIXMl>F>AvJI{mCSKC;s-*Z0XUR&H_xFy$} zqj9-l+rzew3)}9l`6S{e>tk9b;FPfW=Au%+`|%fl@h#6@;x}h^fn9w{ceuvs%!K1}XmaNT&g+Wt`ggIDfar;}q0{;mJT_VC<l@QgPSXEVbAK-OoU|{t1ba4!^IDL1Lt@q&o zk+%6A366PtZ#j8!yc{Gqw~w07<~2cI)(DoS&mJY*TJ zZ`>Fc$0)(Kf5*O^SJPPh`uZ0o71q9y=rK5RXh#?`L(7#yS?TlPHrwaz*u6fBf!ni4 zqDLUeeM#_+K3heumBOnS+aeWaPh7Kh-G<$pWf^sjZPZ!qzcJ=eX%5fkh6z4GEeAOm zPG?{O-)6xz!$1oA+vzu?D<9IOVndVg6~y=RbCLy10RXfq}u()z4*}Q$iB}-n_j7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/brick/deepslate.png b/kubejs/assets/tfg/textures/item/brick/deepslate.png index d61268f6435cbb3213b397d0246e3bec75bd483c..9f93f233731c96cc3b3012af16e552f230e9b661 100644 GIT binary patch delta 316 zcmbQm|C(unMLnaer;B5VMeo?z1@2(;}FFz4tAzAJ1ZXT#$4BIQ#>?Ge64K1mUd z)*}}pBvW*J3fdK}^5t&c#@;ml@xK3cejoBz>4eutuKV@+-xD#Bl4(mBWccLQTwg!Y zJI^sHd(GC2wd}#?YYjZ>np|3Tty9)fl1OHA6Q8_$Q_R=XPlf9*zqI}QQ`w=#m4zW& zm%&TZg+*{-rqm{%{VEK{BtF^5J051KoOk@gF^OI8dWv;Jx2k8(5?gxZgo;EcNJH#z&NqR{74?>v$}eniJ3HY?$*TI+e_^#u Z6(?76Jd??p#K6G7;OXk;vd$@?2>@&}jN1SJ literal 1946 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)Qa)e((;RP6H9EB zGIJBtQ}qk-(v=k8p=RZrpOatYo1c*>cZh>BAW{OpsX=+-Mk#Ul)rG=rnu92yUg|4NM zk+E))v2kj$VQOl!g@GANze|2{DJaHa`cp{M?_ZReo|%`JL$*1fdFK#VQVNX^5Q5Fjdw^V3So6N^$E z(^K(u9l!1ZC$MjE{wOg%*$1|qhFqD5UJ zqv?ySQf+U`a-N&9a`yY5R4G`%Y-A|6?BB%2Kc?Mxd-6#%WA`y1Kh|?!9c?TMjCV8M z^SPXT?9R7W3g*j}uY6SGkZ5FlQ>H2X&2fzUJQKlx$?y?x!|Ce&0%r-mF{TU zPX2l)(`@#Cp$|>bn>Sz4iVjQ<_OtO4c;`0zEK}sP|HilXt2F=jX%_m!cFVdQ&MBb@0BFL$1^@s6 diff --git a/kubejs/assets/tfg/textures/item/brick/permafrost.png b/kubejs/assets/tfg/textures/item/brick/permafrost.png index b931afeef58102f66baccc5f014813c09ef792bc..46143685d100b06b855ebe44944f0b1fe2a7a491 100644 GIT binary patch delta 303 zcmX@ba-V5}Wxb%Mi(`mI@6}2ES zaPpk%n+m4n62A|-1diK#-pc)*Fyo=&ee?Z^Z2x?hM(SlwJH6}uAGY4tDxMsNCoIyi zcvC)Yx8RzEZ@+bJdmDIad2V$>>yb*9l?=D|xK}f1*>BE|Tubvdm ztx{5YFF$ojq@EtnGv7Ct%N8^#p0qir_U)~x_T9@SyvHO?Z92l5F^lbhm)k*u8m+sF zx3V4hY|~>{F^}DVji-O=X1{IZI{F@fWTQQ1?fo>lybVfb7cdwohO=YiX= zyC2JavreyRtzOQ^oxzg-&vBN&ETOE0HRZ|ZokPpN~|+?C~H@?5~Zc?7Q zgWJI_DR}!iLzz!6cGtBz%W>AXKlAI{*f~2%;ls1LZ6?uT4CZ-HIldg4kt==uZ|m!C z6KnfFPZ#>~mZ7VjV{`83vX{dBa(4t51x8QHE$!;);q&Obt0)uZneOIs^xFilp08c5 zmkk&>+C#&(~6N&ed5T3W{s_8+NQq+@`~G_`#zPIfl)tiP3!8OZ$I>T?><}_g1^O zh2!Ps#Tk!`7w=rHv%kGhJ+PVUg;Zf|@-L@0{nqO(HEi0q59^#c&&l{9r!X*X_AXxs z!7Fop)6_+^ep|&FABoy{sw|l|{z=0;*#{5z?mix8uhHi+tF3Wf=#4+Wx}uaD6Sq`+ z`th%`(b}xySCVI5i1|j{_ST;}gM)v)e;~@Q{`5vlV0m3S0|Nttr>mdKI;Vst0J*aT A8~^|S diff --git a/kubejs/assets/tfg/textures/item/loose/deepslate.png b/kubejs/assets/tfg/textures/item/loose/deepslate.png index be72ac98b23eee2c388f0030e2d51818f6596a4c..4981e249c057c4c261b275af73e74076d085e6d6 100644 GIT binary patch delta 329 zcmZqU{lPTBqMlL9)5S5wqWA73!@NTd0FShq=C|`+?A^Q1X3bv1 zSOXsCKL^}h7%nV5CgB_!%1~3cr@EZ?+U(rvK0*w)mbo6~V#u!7Wl*|gu62%e`QLNQ z6-+0lt=5~VvcuEMT|Jjw@ph!4opZ=1~BC%N^YkqxP zyLF52?du_-t|G2ie0}X3Z~y*K>Tr}RTX)x$h-^W@9z&UacZNk8i!8*y3v7P6YPR2U ziDZxTO#bsH9oNjBRcNp*&ne6A_uTT&T<1T#PEY^I`*Go&7krOi{Q7YH%_p7r*Nd*K o&)<8_=8sI@hk(N$>@V`4+ugryhS=lv3=9kmp00i_>zopr0EEVwYybcN literal 1670 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)zg_VghOjT-0VoG93B0hB~$yRCk zMY)M3wn~|~iRr2O1$pU83h+>~a?a1mFY?V#NwrlnMi%#Ub`B`YPs_|nwN)w(a(7bj zbagf}v@|o*HPSN#JJQ$J$}_LHBrz{J)zigRsUo*PFEca6$|y0($jsO>MK{gT%uv_F z(8N;LBGtk`*C;i`$iO5u*}%-m1g765Ke-eX<1qaxB_ZL$cc;dGl+5?6YW_;qjDp<@fgJ|!5>yjz){_RU#3IYiRpN5$}{yex?QoaA+ zbA_pU_ws2>%4T#>JD>Zc#i2<*WzFKN`@2k7%Wms7hj+6c58dm>t@GUY*6X&@KTn!0 z(|yBuMX<*~k=Z_T*3D(lMX$|$Z0E`{!zEd?E%DkZ@BQchzgN-Zy0J=u=|+UW)07Ll zk92w*J*PL*c%k$DZ*29)g1fw+; t?zBSwLy=o=ci)i~G}@UOpX@sIh@A1qjUOX}N`HZB3Qt!*mvv4FO#r7hL6rai diff --git a/kubejs/assets/tfg/textures/item/loose/dripstone.png b/kubejs/assets/tfg/textures/item/loose/dripstone.png index 3c32afdcb463347321b3f76b644a92c8707bab7a..af04dd77fb8c716bf3b45bf6bd9a6e72cfffe91d 100644 GIT binary patch delta 304 zcmcc2d!K27MLnaSr;B5VMep57ySh+tIv6~6rt$syf5yfiu0NE~?rUpy`gDAG z`s>Ko%NqX1iC2_ii0y*Y@xH#|1hz-(gUR&)@duam#`4FSbNS zc|2OO$HVw&ik0!3>4^;ozQ0j^!^c^-*zZBL&LPpp_Z$27KhHIbd7HAYN8oorW$W+T zs~`P&Go^0*YJESQ^V0sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)%D_AdqRKZvB{QuOQ8W`o1d^D(oq~-%C}%=EpbyRmNPYv$A?0G2@*o#C5EESBfC?Ww1w^TqnwMg$ zRHS5YcW2GqGYkxjRh}-6Ar_~T|NQ@N&#c-|C?R>^#0d`Zo{}y9&!0Yg=z#7C=4bmW z{xl~3{MX!bLh9kK3%nkmOaH~+x^?!zp<{pO^U3b5>$s-H%fTbPt?8aP<7ag0F`pcPL7*U3upE*ZFJ4y7R9gml+TqIlze7lc(-cr U!_2uQm7r?J)78&qol`;+05e%|cK`qY diff --git a/kubejs/assets/tfg/textures/item/loose/glacio_stone.png b/kubejs/assets/tfg/textures/item/loose/glacio_stone.png index fdf9de9092a1ccbf6121c65dd5c7742bc29f30a2..b94142de71204970df7a0cf825917c3154553cb0 100644 GIT binary patch delta 309 zcmcb>@`P!EMLnaKr;B5VMep57hTexAB--X@Xqc^S|^GD$Cg-!rStsO*w*nr*iqmbxrq6?%e%c_kG{@gYnZhzk2ZMQDx?P zUv=kQd;1QGu!!s^7hss6CaE;7Vyn>Oi+dCv-6)V_SrHPuS8QWSy_j3ui72_etO%cdLbxGFZ~Mt*@J^HWp#8BN>Ezcs#RIDhWi*h>B{Yac9~}7GyU3h?9KHUJM8Z5sNa$H@n6<~4M{@%eEr|FIX9DveO_-v$5tRMd7| z3tlPG?98-3Kbu|E;b@IZ^zy*Zg|X9T{w_ax?yfMyM!r?b|JJ<{$kF;Db}=(oBWbOi z<;HUR$S*BY`L-=X$7maR9gANwXS#hs)Eu%!EV|}su$AC@yeo0<7$;@K> zSu=0uOcRE$yUw3oZ7$%jGUV1juBWe*?wUUTRLO8@rRE{uR&`sp_Fpq+*!ZW`XHH#w zD?&wxIU|elW5A~L6m#E~509E>c=f;etUfm?VMCg=i2QU7JKYU`s(5u}URY{~q_@g> zm6}!ZN%9y^vpClM$=hfq55va*w|5Llr_`@VMZ2HSwGp^*SX3;HwL#8ns*hTx@<#3V zjGlYHsjm9}aXqt)eWByZ8SNR;99P{J%2@mk-}7JCp5e&5d*Rm>$IW11U|{fc^>bP0 Hl+XkK*Ie@) diff --git a/kubejs/assets/tfg/textures/item/loose/mars_stone.png b/kubejs/assets/tfg/textures/item/loose/mars_stone.png index f3ef23b0a3290fb6ae949c1364138bade6982f24..b5b553d292c9eedd97b3e9602269bccc5fe54f11 100644 GIT binary patch delta 311 zcmdnX{G4fmWxb@Qi(`mI@7+oE-iI9|j@3`}TPmVx#nQCJW!F?cCBImgFUl!pAB08h zTjo0!oOb8%aI`8d=(_9V?9KW1g2*YsO~;N}7r(q1`eEj~cYE)Dw)@WhFY4OHB!f@h zmfzx;9>+ai#M1s(?`+s?C2^lL?y%do=kphqUQv+vxs+vTSImU^G^U3B^)AMlS01*{ zZfr{VZX*1}O3ziVJ>?d@CLv&3)JWE0_*%O2hFt&BFu&Eys1(qrb#e`IMk`6ko(jh<%K40kr)S9zS# z*Hiz2tG_(_>DvdB68Epx^D}Uhb1!D#wX0~Izvvh9N2AaJSrfGtYK9X3!)uuzcJy94 UIoZUJfq{X+)78&qol`;+0K%t`D*ylh delta 398 zcmaFPw3m5;WqrPuI&J?Cw%zga zG|NfPRuXwUDaGDRc~MN*ai*CY6jZGwTskH1%W(Vbi@7E?&uZ`2dEYDVJ)gt=FY!-_ z;D_BN4Y%L2JxD3?{ntJ%LXlGo%cv+N|4K9 z?`_}9dfacyymp;^a((@VOR@FK`@i*l44bO7^vD&>TWU%Sch;RZGPZ30tjgSQZRueX z{kIAK6WYJ6)Hs+X@9*b$-lOIA*T^YB9H*CTS~O>h;)I~O`A!GkU%Hz5^hu@dnf7Ij zAAZ)@aCaPk?4fyb%Nx!cEKOf`ZtJ-%?%&%#Pj!v{k^Rl#oEv9tdh;cJEdv7sgD1PI KpUXO@geCwsWW*}~ diff --git a/kubejs/assets/tfg/textures/item/loose/mercury_stone.png b/kubejs/assets/tfg/textures/item/loose/mercury_stone.png index a39f9e3f21ee2908bbebc8ddf58a94b980376b50..e72c1aadb0188f9152354f0f07faa8a6e8814709 100644 GIT binary patch delta 324 zcmX@k{DodN@W?uWVF=2v`&dv}fF@4tce_zxw=s#Nc zLRF&6rD@CEU9)40Jp3hRrM(V)ZnpdV_X=a457$k9ye+njH#z?I^6O&%`fCZ6@g{)= z%jS7AhQ6M6@dAtexp%WQB$QL+c8GAyWWS#}!*^MM&hE)?4za}7$Fe;LVqnNypT9x0 zy5$Tr!w;(^Qb-r^Jmb*`# zz1bP$=eHyyP}!K>(xXW6ea+r82J$D zj2hdc7AGxC`OO|dG z%>CZ*vek87(t0cV&6^zR%j@Hx@m0;fSG&crtN1H^_DYFU*5QJ zVj#nwIDLkTA2g#Czn=c?&$e~xRHg(I$$(A0YqD;)^&2v-aWAVgUu1vWI`!;y!5QCE T9t1KlFfe$!`njxgN@xNACr-Ui diff --git a/kubejs/assets/tfg/textures/item/loose/moon_deepslate.png b/kubejs/assets/tfg/textures/item/loose/moon_deepslate.png index 9f74b724d4b0ec63c88fad95c202bb7fa82b18b2..2d4c65713fc0286e072130dc0cb3bb4236683c12 100644 GIT binary patch delta 322 zcmaFE^oePLWxa~0i(`mI@7YO?-iI9oTH{?$h?Q-hIISrp#7W@w!f#i;-I)I_a8Kn% zB~=dvmW2tsttXt#v@OlpwK9C}?Kk_re@v5juzvOD+s|`0erf-E`g8CCd(IiU)Ard* z6!~9Uur8LtD%;q9S@C^&o`oemo7lXLPw;wdw$oXp({0mdv*PvT^^BX?7z!+RwV6h1 z$TBl5xim+`!(isQzb{_3wR#=T(d*vB$R(um@&@M$&8dE1GZ~mF({~)Gy z(}~Kol_qO$ev&(-lz)W3Ou+a7k-<^ML3)7s{4`NuAn$N#s4pa%a z&UY@f(NID$dcBnkn@d|_>04_7*QTQ`Z0ACG9bPM{zP#bRQrb<^^zi1dUA5}^hMvd& g{djxfNBt{y(b!JiwVjrk3=9kmp00i_>zopr0Ey9-X#fBK delta 316 zcmeyw^oD7IWxbrIi(`mI@7swR{g@I3TK50tk2??`C*s62wVZe3*SaXvJIz8Y(K{dW zJ}@vjz9`|eDN5%>Qe)hCvwUXKd36=HE=dA?p*Z z!WidRfB5jD<#}a?;gi><3}?f*8+_*__q=#rp|iBHcg?p)Gp-iZpDf+%xil*E!uw)r zmKDKstUv6#Z!E>f$Z<&EdB|iF!D26i8o3P-Iu(+=5&Gd@9?jTZ+4fvA?^f=%*}ALx z6nGd7+|J3~II-&fhnFSqZalHP{PIi8Bn~A37Dd0QmD3cN&S}0>nYyWG-PWl5D}~3u zWrc6ObY$hEvuR5g-v6Lkb~N0yIanyv^=hqGf|sDfMr{TU^_NHa>$s&Od*3Plo%!?j b4~APJ6=mz*7Yi{kFfe$!`njxgN@xNAeD;-K diff --git a/kubejs/assets/tfg/textures/item/loose/moon_stone.png b/kubejs/assets/tfg/textures/item/loose/moon_stone.png index 991127684af5c3d61827e0a75a893ebca4d409c4..0b502e6c9013c19cf8aa08733bd77b4dd50bc3fe 100644 GIT binary patch delta 320 zcmeC-ea|$(qMlLF)5S5wqWA11!|cNb0lMUH743=W|-aV?xH;qYfJm2ptqEY?_>y$79Fe{*Gl`(TU!N zGm|wPT@O~D=*>LJU#7su#PDI)?T3{cAN=Fg>vO+WBDLex!BDsb(5-Ez*^Yssd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)~a?a1mFY?V#NwrlnMi%#Ub`B`YPs_|nwN-NW^bJr*D$UF( z(ap?LC=POW0=v@J*UB@mxFj(zIn~p}R;ePlKrb^h#mYR%*wWO(&_Fja$;?-#kIdqd z{Gv)|RtZimgtBrn6~M{EDlr+9>}{2jLGhiMq68JrBs&Bk#+GNK=HW^S5EaGwX(i=} zMX8SIsd*&?l9;}of{i{XXF@!n56%Zjegn%PEHQ3@7o*v))y8&%%7Ilc6qkB zp-?J=M{!t|){MU|E-D-7s;eJ2D1PR%A+ddXZt9WDhUWI?|F`t`Y&a%uo@cP9>T8#y zOAODOCjayEjraWh$b48;gRLRw`T3R-DM&b8 z=ElRE;CFvtI)C$u6&ew5jy*li^IvkN#E~OM8n|X2NZS4F4a;T!{QD^`h7M7ofA_Cm zt=&AM!{G4i>+28xV`Yp;XyUoGx7xh9ah~4cqut_?^X}~I&1zUO>sS4R__bTMNVptT zm5AG4!zjkC85R=Eym{x&oez`F=P%sJz?Kpc^8fH6ewH69s*-0)OC;p>)}AhSenxVG v#F?@^oSe^;-re7Skdb52L{q-Sdl(ol)U0~w{$xrYsJ`%Y^>bP0l+XkKo)JRB diff --git a/kubejs/assets/tfg/textures/item/loose/red_granite.png b/kubejs/assets/tfg/textures/item/loose/red_granite.png index 2a68bc48b65c349128eec49ca623a80a13b5a786..36648f83695e71a6715f98a60960d80c39d50de7 100644 GIT binary patch delta 343 zcmeyw_K|6Vay4!V)CxoA@{3SEfxa4)(u9A!s6Rt7NbQ0`35O?KdyR2pG?c49Z z)Z72>Wd65{ZNKfh>D;&9&5w(d{p;HNwJ0%tvEtVt=@qNW>U-AxdJt;0ee*>DL4L)p zjz^q1#2zGCF@E3cx9PRrk7>ppxeN?1f3UfiIvsIlXh>jGEfiXFY3E*fZXq`t6$|}S zeG?}ucqg5%?Pm#+_Q=(6Or9aGdT;-}-@+?axy4P{vN?gV@0H8{3F4{h`#!VZ`Od&F zd%LaN`(-Bi5BQgQUd|3!uu5vxD#fh_KmQZH^F5=C&q_O|yxnng`Rz5l+wvE#yytvs z(hV-L5{H9KM)%+G9f{p@M5puZ&o#XN=Ko^sf8E(WG1btLfq{X+)78&qol`;+08DwA Am;e9( delta 841 zcmey!^oebPay?^frn7T^r?ay{K~a8MW=<*tgT}<#iMAex9b}Hi2QPKi;u8}QJQ*cLO}7JG*~tm>}fnjh;u z7rOSaAOBlX{=V=#pMaF;vRSc)4p()Q=XP}O{L>{-;VPiakx$&c^tfj}IzCY3D5#92X=Xxfe za-*xt#3l|&)0_oN+<{T1^+7&MGVR|zlrQ?DS#@E$cqm|G2w0a?YHB z$xej}ejnXt@78!g@4}kf-@b3mHTP%uZ(Oi+>))$v2A@5v_O5m9YuK0j;L)zNC#w%U zi(`nz>9do) zvzQzO+V%?`bnn*|bo6kMP)U&xXyPv4+1MR(F!`y_yhE-6EP*NO%A3a0B(V_rA^M(EqV9cK2qHNgJ7;WH=bf&sVv5 z()Ie$_1AmiA{lm0bC_JQTlwBQjhBoc%h($(aq2joTDKtNgrKME$_e$>R}&VSdZ|x| zO`OCy>FjJvSHt>G^ZweTb1`y+cinzBSMp)vCyoO~HFm5wt`sa~$oTEMxbXv1&070M zdip$1JdSKB%95sQs<=&E; zb^cboUs7&-gQu&X%Q~loCIBvW BeqsOs diff --git a/kubejs/assets/tfg/textures/item/loose/venus_stone.png b/kubejs/assets/tfg/textures/item/loose/venus_stone.png index 0b9d23b100173611622310ec9f8ee380fd37e312..511f54d1c6fa3b93bef7647923a0dd9f1fa4f037 100644 GIT binary patch delta 289 zcmey&bdhO-Wj(W}i(`mI@7+m;*-VBKZSvjh4;^;oIK{{;>6jcn-EZ!$FYG&hI9rL- zcXj_iba&}n6(v4B@q*Ki4=r{)l=;H_@!gxK7v`-k&(Hqe$NA@L$vfFK_u^Oox~EuL zqhoIFx;$! delta 323 zcmcb}^qFabWxcAWi(`mI@7sx|y$%NmwC&##ctkIzs!{0H5>|a}&6NQ<&sa;;Giv!i z${uMKI5O8d+|ws;RlyNgsU zf&1SLd6*kEKU0oV&kWF3+HNiu5f}T|lE Date: Mon, 15 Dec 2025 18:37:19 +0000 Subject: [PATCH 362/628] fix recipe collision with vanilla stone plates --- kubejs/server_scripts/gregtech/recipes.materials.js | 1 + kubejs/server_scripts/gregtech/recipes.removes.js | 3 +++ kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js | 8 ++++++++ 3 files changed, 12 insertions(+) diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 3f8f507fc..57f713074 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -179,6 +179,7 @@ function registerGTCEUMetalRecipes(event) { if (material.hasFlag(MaterialFlags.GENERATE_PLATE) && material !== GTMaterials.Wood && material !== GTMaterials.TreatedWood + && material !== GTMaterials.Stone && !material.hasProperty(PropertyKey.POLYMER)) { const plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1) diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 6377deb5c..3ceb9b486 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -51,6 +51,9 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_cobblestone') removeMaceratorRecipe(event, 'gravel_to_flint') removeMaceratorRecipe(event, 'macerate_furnace') + removeCutterRecipe(event, 'cut_stone_block_to_plate') + removeCutterRecipe(event, 'cut_stone_block_to_plate_water') + removeCutterRecipe(event, 'cut_stone_block_to_plate_distilled_water') //#endregion diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 9a6aa0c4d..50f268ca4 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -1137,6 +1137,7 @@ function registerTFGRockRecipes(event) { { block: 'beneath:crackrack', dimension: null }, { block: 'tfg:rock/cobble_crackrack', dimension: null }, { block: 'minecraft:basalt', dimension: null }, + { block: 'minecraft:calcite', dimension: null }, { block: 'ad_astra:moon_stone', dimension: 'ad_astra:moon' }, { block: 'ad_astra:moon_cobblestone', dimension: 'ad_astra:moon' }, { block: 'ad_astra:moon_deepslate', dimension: 'ad_astra:moon' }, @@ -1262,4 +1263,11 @@ function registerTFGRockRecipes(event) { .itemOutputs('6x minecraft:polished_blackstone_button') .EUt(7) .duration(100) + + // Misc + event.recipes.gtceu.cutter('tfg:vanilla_stone_slab_to_plate') + .itemInputs('minecraft:stone_slab') + .itemOutputs('#forge:plates/stone') + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) } \ No newline at end of file From 75c94eb364bb621880f479040d1f6d3dddc3d268 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 18:37:34 +0000 Subject: [PATCH 363/628] remove fancier coke gems --- kubejs/startup_scripts/tfg/tag_prefixes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/tfg/tag_prefixes.js b/kubejs/startup_scripts/tfg/tag_prefixes.js index 4e1ef1d21..8d9f53cb6 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -7,6 +7,7 @@ function registerTFGTagPrefixes(event) { excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:tetrafluoroethane')); excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:crimsene')); excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:warpane')); + excludeAllGemsButNormal(GTMaterials.Coke) TagPrefix.nugget.setIgnored(GTMaterials.RawRubber); TagPrefix.ingot.setIgnored(GTMaterials.RawRubber); From 6ae4bf942d72ed36ce6662bce7ccc6a5ad8fb45c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 18:37:39 +0000 Subject: [PATCH 364/628] langs --- kubejs/assets/tfc/lang/en_us.json | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json index b06749ae8..698b2ef4a 100644 --- a/kubejs/assets/tfc/lang/en_us.json +++ b/kubejs/assets/tfc/lang/en_us.json @@ -27,6 +27,7 @@ "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "Gouda Wheel", "tfc.recipe.barrel.tfg.barrel.feta_wheel": "Feta Wheel", "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "Shosha Wheel", + "tfc.field_guide.book_landing_text": "Welcome traveller! This book will be the source of all you need to know as you explore the world of TerraFirmaCraft (TFC) in TerraFirmaGreg.$(br)This book is accessible at any time via the book icon on the right side of your inventory.$(br)You can find an online copy of this guide $(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/)here$().$(br)Click on the $(italic)Entry Index$() and start typing to $(bold)search$().", "trim_material.tfc.almandine_tfc": "Almandine", "trim_material.tfc.andradite_tfc": "Andradite", "trim_material.tfc.blue_topaz_tfc": "Blue Topaz", From 84203c20ab50198ed6a21d2025ab226faf96120f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 18:46:44 +0000 Subject: [PATCH 365/628] added some missing fuels --- kubejs/server_scripts/tfc/data.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 982310c93..a1a852315 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -34,11 +34,27 @@ const registerTFCFuels = (event) => { event.fuel('beneath:cursecoal', 1540, 2200, 1.0) - event.fuel('minecraft:coal', 1415, 2200, 1.0) + event.fuel('minecraft:charcoal_block', 1350, 1800 * 9, 1.0) + event.fuel('gtceu:charcoal_dust', 1350, 600, 1.0) + + event.fuel('minecraft:coal', 1415, 1900, 1.0) + event.fuel('minecraft:coal_block', 1415, 1900 * 9, 1.0) + event.fuel('gtceu:flawless_coal_gem', 1415, 1900 * 2, 1.0) + event.fuel('gtceu:exquisite_coal_gem', 1415, 1900 * 4, 1.0) + event.fuel('gtceu:flawed_coal_gem', 1415, 1900 / 2, 1.0) + event.fuel('gtceu:chipped_coal_gem', 1415, 1900 / 4, 1.0) + + event.fuel('gtceu:crushed_coal_ore', 1415, 1000, 0.8) + event.fuel('gtceu:purified_coal_ore', 1415, 1000, 1.0) + event.fuel('gtceu:refined_coal_ore', 1415, 1000, 1.0) + event.fuel('gtceu:impure_coal_dust', 1415, 500, 0.8) + event.fuel('gtceu:rich_raw_coal', 1415, 2200, 0.95) event.fuel('gtceu:raw_coal', 1415, 1900, 0.95) event.fuel('gtceu:poor_raw_coal', 1415, 1600, 0.95) - event.fuel('gtceu:coal_dust', 1415, 600, 0.95) + event.fuel('gtceu:coal_dust', 1415, 600, 0.85) + event.fuel('gtceu:small_coal_dust', 1415, 600 / 4, 0.85) + event.fuel('gtceu:tiny_coal_dust', 1415, 600 / 9, 0.85) } From 93221ceeae9657f5735d18b2063e220bc646f1f7 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Mon, 15 Dec 2025 11:47:57 -0700 Subject: [PATCH 366/628] add maintenance hatches to the the cleanroom quest (#2435) * Update items.food.js Signed-off-by: thederpysockdude123 * Revert "add tfc:foods tag to a whole bunch of TFG foods" * remove macaw's stuff from boiler recipes for easier menu nav Signed-off-by: thederpysockdude123 * Update hv__high_voltage.snbt Signed-off-by: thederpysockdude123 * added maintenance hatches to cleanroom quest Signed-off-by: thederpysockdude123 * added localization string (i think) Signed-off-by: thederpysockdude123 * moved to the right spot methinks Signed-off-by: thederpysockdude123 * Update hv__high_voltage.snbt Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- .../quests/chapters/hv__high_voltage.snbt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 1a800c913..d6c1197aa 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -484,7 +484,7 @@ size: 2.0d subtitle: "{quests.high_voltage.cleanroom.subtitle}" tasks: [ - { + { id: "563BFE52E8A51D9F" item: "gtceu:cleanroom" type: "item" @@ -498,7 +498,6 @@ { id: "18AECBFB42064D4E" item: "gtceu:plascrete" - optional_task: true type: "item" } { @@ -507,6 +506,18 @@ optional_task: true type: "item" } + { + id: "0B8D91BE431AEB56" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:auto_maintenance_hatch)item(gtceu:maintenance_hatch))" + } + } + title: "{quests.high_voltage.cleanroom.task}" + type: "item" + } ] title: "{quests.high_voltage.cleanroom.title}" x: 0.0d From 15a94f150fb8193359c7fca8a2641c227279aa93 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 19:06:42 +0000 Subject: [PATCH 367/628] remove conk --- .../textures/color_palettes/trims/coke_tfc.png | Bin 118 -> 0 bytes kubejs/data/minecraft/trim_material/coke_tfc.json | 9 --------- kubejs/data/tfc/trim_material/coke_tfc.json | 9 --------- 3 files changed, 18 deletions(-) delete mode 100644 kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png delete mode 100644 kubejs/data/minecraft/trim_material/coke_tfc.json delete mode 100644 kubejs/data/tfc/trim_material/coke_tfc.json diff --git a/kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png b/kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png deleted file mode 100644 index e3b9f38c8820161b0e522afb9cf8745b135cce24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118 zcmeAS@N?(olHy`uVBq!ia0y~yVBlb2U|{56V_;x-%<$fsfq{Xuz$3Dlfq`2Xgc%uT z&5>YWV9@Y%aSY*@$$D_3AcF!A^TzaotiICDx5}a($?v` Date: Mon, 15 Dec 2025 19:07:53 +0000 Subject: [PATCH 368/628] Revert "remove conk" This reverts commit 15a94f150fb8193359c7fca8a2641c227279aa93. --- .../textures/color_palettes/trims/coke_tfc.png | Bin 0 -> 118 bytes kubejs/data/minecraft/trim_material/coke_tfc.json | 9 +++++++++ kubejs/data/tfc/trim_material/coke_tfc.json | 9 +++++++++ 3 files changed, 18 insertions(+) create mode 100644 kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png create mode 100644 kubejs/data/minecraft/trim_material/coke_tfc.json create mode 100644 kubejs/data/tfc/trim_material/coke_tfc.json diff --git a/kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png b/kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b9f38c8820161b0e522afb9cf8745b135cce24 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0y~yVBlb2U|{56V_;x-%<$fsfq{Xuz$3Dlfq`2Xgc%uT z&5>YWV9@Y%aSY*@$$D_3AcF!A^TzaotiICDx5}a($?v` Date: Mon, 15 Dec 2025 19:12:36 +0000 Subject: [PATCH 369/628] coke gem trim -> armalcolite gem trim --- CHANGELOG.md | 7 +++++-- kubejs/assets/minecraft/atlases/armor_trims.json | 2 +- kubejs/assets/minecraft/atlases/blocks.json | 2 +- .../trims/{coke_tfc.png => armalcolite_tfc.png} | Bin .../minecraft/trim_material/armalcolite_tfc.json | 9 +++++++++ kubejs/data/minecraft/trim_material/coke_tfc.json | 9 --------- kubejs/data/tfc/trim_material/armalcolite_tfc.json | 9 +++++++++ kubejs/data/tfc/trim_material/coke_tfc.json | 9 --------- kubejs/server_scripts/tfg/json_tool.armor_trim.js | 2 +- 9 files changed, 26 insertions(+), 23 deletions(-) rename kubejs/assets/tfc/textures/color_palettes/trims/{coke_tfc.png => armalcolite_tfc.png} (100%) create mode 100644 kubejs/data/minecraft/trim_material/armalcolite_tfc.json delete mode 100644 kubejs/data/minecraft/trim_material/coke_tfc.json create mode 100644 kubejs/data/tfc/trim_material/armalcolite_tfc.json delete mode 100644 kubejs/data/tfc/trim_material/coke_tfc.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 2470f19a5..8f39eeea9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ - Cleaned up the EMI pages for small and large boilers so they aren't flooded with furniture and other things. If you were using something "non-standard" to fuel your boilers, check if they're still valid. (#2421, #2415) @thederpysockdude123 @applenper - Clay dust is no longer electrolyzable, but now you can get infinite clay blocks from a rock breaker @Pyritie ### Changes +- Added BTX fuel, a new EV-tier gas fuel to replace nitrobenzene. (#2416) @TomPlop +- Primitive illagers will no longer endlessly respawn. Instead, now they only spawn as "structures", so once you kill them they will never return. @Pyritie #### Hot or Not - Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `#tfg:hot_protection_equipment`, `#tfg:cold_protection_equipment`, and `#tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie - GregTech hot ingots are also now properly included in the "too hot to handle" system so the same protection applies @Pyritie @@ -22,7 +24,6 @@ - The medical condition effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie #### Other - Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie @Epicificator -- Primitive illagers will no longer endlessly respawn. Instead, now they only spawn as "structures", so once you kill them they will never return. @Pyritie - Doubled the durability of all space suits @Pyritie - Added a way to convert between vinegar and acetic acid (#2386) @Epicificator - Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg @@ -40,7 +41,7 @@ - Fixed fries and cheese curds not being able to be put on burgers. @Redeix - Fixed sliced brinza missing the proper cheese tags. @Redeix - Fixed pyroxenite and keratophyre bricks crafting 1 instead of 4 (#2373) @Pyritie -- Fixed some issues with quest items (#2384, #2386) @Mqrius +- Fixed some issues with quest text and items (#2384, #2386, #2435) @Mqrius @thederpysockdude123 - Fixed some tag issues with foods (#2405) @thederpysockdude123 - Fixed treated wooden planks from being excluded in the Domum Ornamentum and Facade whitelists (#2404) @thederpysockdude123 - Fixed a recipe conflict for boiled and fried eggs (#2407) @Mqrius @@ -50,6 +51,8 @@ - Fixed Ostrum Casing not having a recipe (#2363) @FlightingFalcon - Fixed warped trees not growing on normal mars dirt @Pyritie - Fixed missing block names for some of the variations of non-earth stones @Pyritie +- Fixed being able to turn bismuth and black bronze drums into regular bronze drums (#2436) @Jeuvke +- Fixed a recipe conflict with stone plates (#2433) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/assets/minecraft/atlases/armor_trims.json b/kubejs/assets/minecraft/atlases/armor_trims.json index e69c5d5f9..e0d80f286 100644 --- a/kubejs/assets/minecraft/atlases/armor_trims.json +++ b/kubejs/assets/minecraft/atlases/armor_trims.json @@ -55,7 +55,7 @@ "salt_tfc": "tfc:color_palettes/trims/salt_tfc", "sapphire_tfc": "tfc:color_palettes/trims/sapphire_tfc", "sodalite_tfc": "tfc:color_palettes/trims/sodalite_tfc", - "coke_tfc": "tfc:color_palettes/trims/coke_tfc", + "armalcolite_tfc": "tfc:color_palettes/trims/armalcolite_tfc", "spessartine_tfc": "tfc:color_palettes/trims/spessartine_tfc", "topaz_tfc": "tfc:color_palettes/trims/topaz_tfc", "uvarovite_tfc": "tfc:color_palettes/trims/uvarovite_tfc", diff --git a/kubejs/assets/minecraft/atlases/blocks.json b/kubejs/assets/minecraft/atlases/blocks.json index d0a87f124..a00db2299 100644 --- a/kubejs/assets/minecraft/atlases/blocks.json +++ b/kubejs/assets/minecraft/atlases/blocks.json @@ -31,7 +31,7 @@ "salt_tfc": "tfc:color_palettes/trims/salt_tfc", "sapphire_tfc": "tfc:color_palettes/trims/sapphire_tfc", "sodalite_tfc": "tfc:color_palettes/trims/sodalite_tfc", - "coke_tfc": "tfc:color_palettes/trims/coke_tfc", + "armalcolite_tfc": "tfc:color_palettes/trims/armalcolite_tfc", "spessartine_tfc": "tfc:color_palettes/trims/spessartine_tfc", "topaz_tfc": "tfc:color_palettes/trims/topaz_tfc", "uvarovite_tfc": "tfc:color_palettes/trims/uvarovite_tfc", diff --git a/kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png b/kubejs/assets/tfc/textures/color_palettes/trims/armalcolite_tfc.png similarity index 100% rename from kubejs/assets/tfc/textures/color_palettes/trims/coke_tfc.png rename to kubejs/assets/tfc/textures/color_palettes/trims/armalcolite_tfc.png diff --git a/kubejs/data/minecraft/trim_material/armalcolite_tfc.json b/kubejs/data/minecraft/trim_material/armalcolite_tfc.json new file mode 100644 index 000000000..ba7b1f0e1 --- /dev/null +++ b/kubejs/data/minecraft/trim_material/armalcolite_tfc.json @@ -0,0 +1,9 @@ +{ + "asset_name": "armalcolite_tfc", + "description": { + "color": "#424847", + "translate": "trim_material.tfc.armalcolite_tfc" + }, + "ingredient": "gtceu:exquisite_armalcolite_gem", + "item_model_index": 0.199 +} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/coke_tfc.json b/kubejs/data/minecraft/trim_material/coke_tfc.json deleted file mode 100644 index f66488835..000000000 --- a/kubejs/data/minecraft/trim_material/coke_tfc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "asset_name": "coke_tfc", - "description": { - "color": "#424847", - "translate": "trim_material.tfc.coke_tfc" - }, - "ingredient": "gtceu:exquisite_coke_gem", - "item_model_index": 0.199 -} \ No newline at end of file diff --git a/kubejs/data/tfc/trim_material/armalcolite_tfc.json b/kubejs/data/tfc/trim_material/armalcolite_tfc.json new file mode 100644 index 000000000..ba7b1f0e1 --- /dev/null +++ b/kubejs/data/tfc/trim_material/armalcolite_tfc.json @@ -0,0 +1,9 @@ +{ + "asset_name": "armalcolite_tfc", + "description": { + "color": "#424847", + "translate": "trim_material.tfc.armalcolite_tfc" + }, + "ingredient": "gtceu:exquisite_armalcolite_gem", + "item_model_index": 0.199 +} \ No newline at end of file diff --git a/kubejs/data/tfc/trim_material/coke_tfc.json b/kubejs/data/tfc/trim_material/coke_tfc.json deleted file mode 100644 index f66488835..000000000 --- a/kubejs/data/tfc/trim_material/coke_tfc.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "asset_name": "coke_tfc", - "description": { - "color": "#424847", - "translate": "trim_material.tfc.coke_tfc" - }, - "ingredient": "gtceu:exquisite_coke_gem", - "item_model_index": 0.199 -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/json_tool.armor_trim.js b/kubejs/server_scripts/tfg/json_tool.armor_trim.js index 60ee69a26..d7bbc80b6 100644 --- a/kubejs/server_scripts/tfg/json_tool.armor_trim.js +++ b/kubejs/server_scripts/tfg/json_tool.armor_trim.js @@ -29,7 +29,7 @@ const materials = [ {materialName: 'salt_tfc', nameColor: '#bebec2', itemName: 'gtceu:exquisite_salt_gem', indexNumber: 0.196}, {materialName: 'sapphire_tfc', nameColor: '#2628b0', itemName: 'gtceu:exquisite_sapphire_gem', indexNumber: 0.197}, {materialName: 'sodalite_tfc', nameColor: '#2e40c6', itemName: 'gtceu:exquisite_sodalite_gem', indexNumber: 0.198}, - {materialName: 'coke_tfc', nameColor: '#424847', itemName: 'gtceu:exquisite_coke_gem', indexNumber: 0.199}, + {materialName: 'armalcolite_tfc', nameColor: '#424847', itemName: 'gtceu:exquisite_armalcolite_gem', indexNumber: 0.199}, {materialName: 'spessartine_tfc', nameColor: '#c28017', itemName: 'gtceu:exquisite_spessartine_gem', indexNumber: 0.181}, {materialName: 'topaz_tfc', nameColor: '#b1a42d', itemName: 'gtceu:exquisite_topaz_gem', indexNumber: 0.182}, {materialName: 'uvarovite_tfc', nameColor: '#22b43b', itemName: 'gtceu:exquisite_uvarovite_gem', indexNumber: 0.183}, From 4ffdf39e07fafc23dfd6ee11c0b9c260ba832d46 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 19:21:06 +0000 Subject: [PATCH 370/628] fix typo --- kubejs/server_scripts/tfg/powergen/recipes.early_gas.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index 83a09663c..0449c37e5 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -281,7 +281,7 @@ function registerTFGEarlyGasRecipes(event) { .itemInputs(Item.of('#forge:dusts/platinum'), Item.of('10x #forge:dusts/rhenium')) .inputFluids(Fluid.of('gtceu:hydrogen', 1000)) .inputFluids(Fluid.of('tfg:zsm5_gel', 1000)) - .itemOutputs(Item.of('tfg:catalyser_tt_re_zsm', 1)) + .itemOutputs(Item.of('tfg:catalyser_pt_re_zsm', 1)) .duration(20*60) .EUt(GTValues.VA[GTValues.HV]) @@ -294,7 +294,7 @@ function registerTFGEarlyGasRecipes(event) { .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.cracker('tfg:crude_mixed_gas') - .itemInputs(Item.of('tfg:catalyser_tt_re_zsm')) + .itemInputs(Item.of('tfg:catalyser_pt_re_zsm')) .inputFluids(Fluid.of('tfg:reformate_gas', 8000)) .inputFluids(Fluid.of('tfg:propylene', 2000)) .outputFluids(Fluid.of('tfg:crude_mixed_gas', 10000)) From 1a798b61859dc027c50b5e1239397e797b7ae14f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 19:26:01 +0000 Subject: [PATCH 371/628] cleanup --- kubejs/server_scripts/greate/recipes.removes.js | 1 + kubejs/server_scripts/gregtech/recipes.removes.js | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 31570b8db..71722cfe8 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -114,4 +114,5 @@ function removeGreateRecipes(event) { event.remove({ id: 'toomanyrecipeviewers:/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/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 3ceb9b486..dd8639443 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -824,9 +824,14 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' }); - event.remove({ id: 'gtceu:chemical_reactor/soda_ash_from_carbon_dioxide' }) event.remove({ id: 'gtceu:large_chemical_reactor/soda_ash_from_carbon_dioxide' }) + + event.remove({ id: 'gtceu:macerator/macerate_chiseled_sandstone' }) + event.remove({ id: 'gtceu:macerator/macerate_sandstone_wall' }) + event.remove({ id: 'gtceu:macerator/macerate_smooth_sandstone' }) + event.remove({ id: 'gtceu:macerator/macerate_sandstone' }) + event.remove({ id: 'gtceu:macerator/macerate_cut_sandstone' }) } function removeMaceratorRecipe(event, id) { From 1c82bded8feb3af1fe1a6d4ab5866c7237241ceb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 19:46:49 +0000 Subject: [PATCH 372/628] langs --- kubejs/assets/ae2/lang/zh_cn.json | 19 ++++- kubejs/assets/tfc/lang/en_us.json | 4 +- kubejs/assets/tfc/lang/ja_jp.json | 2 +- kubejs/assets/tfc/lang/zh_cn.json | 3 +- kubejs/assets/tfg/lang/en_us.json | 3 +- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/ja_jp.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 126 ++++++++++++++++++++---------- 8 files changed, 110 insertions(+), 51 deletions(-) diff --git a/kubejs/assets/ae2/lang/zh_cn.json b/kubejs/assets/ae2/lang/zh_cn.json index d02af0331..626e45052 100644 --- a/kubejs/assets/ae2/lang/zh_cn.json +++ b/kubejs/assets/ae2/lang/zh_cn.json @@ -2,5 +2,22 @@ "__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": "压印模板可通过破坏神秘方块获得,而神秘方块位于月球陨石的中心。", "gui.advanced_ae.AdvPatternProvider": "", - "gui.expandedae.exp_pattern_provider": "" + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.sky_dust": "冲击岩粉", + "block.ae2.sky_stone_block": "天然冲击岩", + "block.ae2.sky_stone_stairs": "冲击岩楼梯", + "block.ae2.sky_stone_wall": "冲击岩墙", + "block.ae2.sky_stone_slab": "冲击岩台阶", + "block.ae2.smooth_sky_stone_block": "平滑冲击岩", + "block.ae2.smooth_sky_stone_stairs": "平滑冲击岩楼梯", + "block.ae2.smooth_sky_stone_wall": "平滑冲击岩墙", + "block.ae2.smooth_sky_stone_slab": "平滑冲击岩台阶", + "block.ae2.sky_stone_brick": "冲击岩砖", + "block.ae2.sky_stone_brick_stairs": "冲击岩砖楼梯", + "block.ae2.sky_stone_brick_wall": "冲击岩砖墙", + "block.ae2.sky_stone_brick_slab": "冲击岩砖台阶", + "block.ae2.sky_stone_small_brick": "小型冲击岩砖", + "block.ae2.sky_stone_small_brick_stairs": "小型冲击岩砖楼梯", + "block.ae2.sky_stone_small_brick_wall": "小型冲击岩砖墙", + "block.ae2.sky_stone_small_brick_slab": "小型冲击岩砖台阶" } \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json index 698b2ef4a..ecb8b205d 100644 --- a/kubejs/assets/tfc/lang/en_us.json +++ b/kubejs/assets/tfc/lang/en_us.json @@ -27,7 +27,7 @@ "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "Gouda Wheel", "tfc.recipe.barrel.tfg.barrel.feta_wheel": "Feta Wheel", "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "Shosha Wheel", - "tfc.field_guide.book_landing_text": "Welcome traveller! This book will be the source of all you need to know as you explore the world of TerraFirmaCraft (TFC) in TerraFirmaGreg.$(br)This book is accessible at any time via the book icon on the right side of your inventory.$(br)You can find an online copy of this guide $(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/)here$().$(br)Click on the $(italic)Entry Index$() and start typing to $(bold)search$().", + "tfc.field_guide.book_landing_text": "Welcome traveller! This book will be the source of all you need to know as you explore the world of TerraFirmaCraft (TFC) in $(bold)TerraFirmaGreg$().$(br)This book is accessible at any time via the icon on the right side of your inventory.$(br)You can find an online copy of this guide $(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/)here$().$(br)Click on the $(italic)Entry Index$() and start typing to $(bold)search$().", "trim_material.tfc.almandine_tfc": "Almandine", "trim_material.tfc.andradite_tfc": "Andradite", "trim_material.tfc.blue_topaz_tfc": "Blue Topaz", @@ -45,7 +45,7 @@ "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", "trim_material.tfc.sodalite_tfc": "Sodalite", - "trim_material.tfc.coke_tfc": "Coke", + "trim_material.tfc.armalcolite_tfc": "Armalcolite", "trim_material.tfc.spessartine_tfc": "Spessartine", "trim_material.tfc.topaz_tfc": "Topaz", "trim_material.tfc.uvarovite_tfc": "Uvarovite", diff --git a/kubejs/assets/tfc/lang/ja_jp.json b/kubejs/assets/tfc/lang/ja_jp.json index 659114ff5..848f86219 100644 --- a/kubejs/assets/tfc/lang/ja_jp.json +++ b/kubejs/assets/tfc/lang/ja_jp.json @@ -40,7 +40,7 @@ "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", "trim_material.tfc.sodalite_tfc": "Sodalite", - "trim_material.tfc.coke_tfc": "Coke", + "trim_material.tfc.armalcolite_tfc": "Armalcolite", "trim_material.tfc.spessartine_tfc": "Spessartine", "trim_material.tfc.topaz_tfc": "Topaz", "trim_material.tfc.uvarovite_tfc": "Uvarovite", diff --git a/kubejs/assets/tfc/lang/zh_cn.json b/kubejs/assets/tfc/lang/zh_cn.json index 0ac583e1e..1e58a1ac0 100644 --- a/kubejs/assets/tfc/lang/zh_cn.json +++ b/kubejs/assets/tfc/lang/zh_cn.json @@ -27,6 +27,7 @@ "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "荷兰高德奶酪轮", "tfc.recipe.barrel.tfg.barrel.feta_wheel": "希腊菲达奶酪轮", "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "喜马拉雅奶酪轮", + "tfc.field_guide.book_landing_text": "旅行者,欢迎你!本书将是你探索$(bold)TFG$()整合包中群峦传说世界时,一切所需知识的源泉。$(br)你随时可以通过物品栏右侧的图标访问本书。$(br)你可以在$(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/zh_cn/)此处$()找到本指南的在线版本。$(br)点击$(italic)条目索引$()并开始输入以$(bold)搜索$()。", "trim_material.tfc.almandine_tfc": "铁铝榴石", "trim_material.tfc.andradite_tfc": "钙铁榴石", "trim_material.tfc.blue_topaz_tfc": "蓝黄玉", @@ -44,7 +45,7 @@ "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": "黄玉", "trim_material.tfc.uvarovite_tfc": "钙铬榴石", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 51fd94b9d..ac6369a49 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1465,7 +1465,7 @@ "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", "trim_material.tfc.sodalite_tfc": "Sodalite", - "trim_material.tfc.coke_tfc": "Coke", + "trim_material.tfc.armalcolite_tfc": "Armalcolite", "trim_material.tfc.spessartine_tfc": "Spessartine", "trim_material.tfc.topaz_tfc": "Topaz", "trim_material.tfc.uvarovite_tfc": "Uvarovite", @@ -2495,6 +2495,7 @@ "quests.high_voltage.cleanroom.subtitle": "They put me in a room... a clean room", "quests.high_voltage.cleanroom.desc.1": "The &3Cleanroom&r is a hollow multiblock free of contaminants. Going forward, most new âuit-related recipes&r, as well as some unique blocks like &3Fusion Casings&r, will need to be run in machines inside a Cleanroom.\n\nCreating it will put your &aPolyethylene&r automation to the test for all the &dPlascrete&r and/or &dCleanroom Glass&r you will make.\n\nWe'll start you off with a 5x5x5 Cleanroom, but you should upgrade its size when you start feeling cramped.", "quests.high_voltage.cleanroom.desc.2": "&l&3Lore:&r&o The Cleanroom comes from GregTech 5, but as is often the case, the GT5 implementation is much more punishing. The recipes would run without regard to cleanliness, but had a %% chance of completion equal to the cleanliness of the Cleanroom. This caused a lot of accidental voiding.\n\n&oFurthermore, if the Cleanroom had a maintenance issue, the cleanliness would cap out at 90%%, which means 10%% of items would be voided.\n\n&oThe GTCEu Cleanroom will &6never void&f recipe outputs.", + "quests.high_voltage.cleanroom.task": "Maintenance Hatch or Auto Maintenance Hatch", "quests.high_voltage.prospector.title": "HV Prospector", "quests.high_voltage.prospector.desc.1": "This prospector boasts a &6higher range&r than its &7LV&r counterpart.\n\nSneak right-clicking with the Prospector in your hand will change its mode to &6Fluid Vein Mode&r. This will instead display the base &dyield&r of Fluid veins, along with how full they are.\n\nThis will be really useful to find &9Helium-3&r and &9Bedrock Veins&r on the moon.", "quests.high_voltage.prospector.desc.2": "&9Reminder:&r The yield of a &3Fluid Drilling Rig&r is directly proportional to the \"fullness\" of the vein. When low enough, the output will default to a yield that can be defined in the CEu config.\n\n&9Tip:&r When the fullness drops below 30%% (alright, rough estimate), you should consider moving to another vein for the sake of power-to-yield efficiency. Aiming for the &3Advanced Fluid Drilling Rig&r in &5EV&r may interest you, as not only does it significantly boost the output, but it also reduces the rate at which it drains the vein!\n\n&cCaution:&r Due to a bug, the Prospector display may be offset by one chunk, so avoid placing your Rig in the corners of a fluid vein, or you may end up pumping the wrong fluid!", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 2eb18c1e0..964cce006 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1210,7 +1210,7 @@ "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", "trim_material.tfc.sodalite_tfc": "Sodalite", - "trim_material.tfc.coke_tfc": "Coke", + "trim_material.tfc.armalcolite_tfc": "Armalcolite", "trim_material.tfc.spessartine_tfc": "Spessartine", "trim_material.tfc.topaz_tfc": "Topaz", "trim_material.tfc.uvarovite_tfc": "Uvarovite", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index ed838b82c..879e317a5 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1420,7 +1420,7 @@ "trim_material.tfc.salt_tfc": "salt", "trim_material.tfc.sapphire_tfc": "Sapphire", "trim_material.tfc.sodalite_tfc": "Sodalite", - "trim_material.tfc.coke_tfc": "Coke", + "trim_material.tfc.armalcolite_tfc": "Armalcolite", "trim_material.tfc.spessartine_tfc": "Spessartine", "trim_material.tfc.topaz_tfc": "Topaz", "trim_material.tfc.uvarovite_tfc": "Uvarovite", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 4514a1092..b2340d7f6 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -251,20 +251,24 @@ "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_stone": "覆苔斜长岩砖", - "block.tfg.rock.mossy_bricks_moon_stone_stairs": "覆苔斜长岩砖楼梯", - "block.tfg.rock.mossy_bricks_moon_stone_slab": "覆苔斜长岩砖台阶", - "block.tfg.rock.mossy_bricks_moon_stone_wall": "覆苔斜长岩砖墙", + "block.tfg.rock.mossy_bricks_moon": "覆苔斜长岩砖", + "block.tfg.rock.mossy_bricks_moon_stairs": "覆苔斜长岩砖楼梯", + "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": "斜长岩沙砾", "block.tfg.spike.moon_stone_spike": "斜长岩尖刺", "block.tfg.loose.moon_stone": "斜长岩石子", "block.tfg.rock.aqueduct_moon_stone": "斜长岩引水桥", + "block.tfg.rock.polished_moon_wall": "磨制斜长岩墙", + "block.tfg.rock.cracked_bricks_moon_stairs": "裂纹斜长岩砖楼梯", + "block.tfg.rock.cracked_bricks_moon_slab": "裂纹斜长岩砖台阶", + "block.tfg.rock.cracked_bricks_moon_wall": "裂纹斜长岩砖墙", "block.tfg.rock.hardened_moon_deepslate": "硬化苏长岩", "block.tfg.rock.moon_deepslate_stairs": "天然苏长岩楼梯", "block.tfg.rock.moon_deepslate_slab": "天然苏长岩台阶", @@ -298,19 +302,25 @@ "block.tfg.spike.moon_deepslate_spike": "苏长岩尖刺", "block.tfg.loose.moon_deepslate": "苏长岩石子", "block.tfg.rock.aqueduct_moon_deepslate": "苏长岩引水桥", + "block.tfg.rock.mossy_bricks_moon_deepslate": "覆苔苏长岩砖", + "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "覆苔苏长岩砖楼梯", + "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "覆苔苏长岩砖台阶", + "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "覆苔苏长岩砖墙", "block.tfg.rock.hardened_mars_stone": "硬化泥板岩", "block.tfg.rock.mars_stone_wall": "天然泥板岩墙", - "block.tfg.rock.cobble_mars_stone_wall": "泥板岩圆石墙", + "block.tfg.rock.cobble_mars_wall": "泥板岩圆石墙", "block.tfg.rock.mossy_cobble_mars": "覆苔泥板岩圆石", "block.tfg.rock.mossy_cobble_mars_stairs": "覆苔泥板岩圆石楼梯", "block.tfg.rock.mossy_cobble_mars_slab": "覆苔泥板岩圆石台阶", "block.tfg.rock.mossy_cobble_mars_wall": "覆苔泥板岩圆石墙", "block.tfg.rock.polished_mars_wall": "磨制泥板岩墙", - "block.tfg.rock.mossy_bricks_mars_stone": "覆苔泥板岩砖", - "block.tfg.rock.mossy_bricks_mars_stone_stairs": "覆苔泥板岩砖楼梯", - "block.tfg.rock.mossy_bricks_mars_stone_slab": "覆苔泥板岩砖台阶", - "block.tfg.rock.mossy_bricks_mars_stone_wall": "覆苔泥板岩砖墙", - "block.tfg.rock.cracked_bricks_mars_stone_wall": "裂纹泥板岩砖墙", + "block.tfg.rock.mossy_bricks_mars": "覆苔泥板岩砖", + "block.tfg.rock.mossy_bricks_mars_stairs": "覆苔泥板岩砖楼梯", + "block.tfg.rock.mossy_bricks_mars_slab": "覆苔泥板岩砖台阶", + "block.tfg.rock.mossy_bricks_mars_wall": "覆苔泥板岩砖墙", + "block.tfg.rock.cracked_bricks_mars_stairs": "裂纹泥板岩砖楼梯", + "block.tfg.rock.cracked_bricks_mars_slab": "裂纹泥板岩砖台阶", + "block.tfg.rock.cracked_bricks_mars_wall": "裂纹泥板岩砖墙", "block.tfg.rock.chiseled_bricks_mars_wall": "雕纹泥板岩墙", "block.tfg.rock.gravel_mars": "泥板岩沙砾", "block.tfg.spike.mars_stone_spike": "泥板岩尖刺", @@ -318,17 +328,19 @@ "block.tfg.rock.aqueduct_mars_stone": "泥板岩引水桥", "block.tfg.rock.hardened_venus_stone": "硬化粗面岩", "block.tfg.rock.venus_stone_wall": "天然粗面岩墙", - "block.tfg.rock.cobble_venus_stone_wall": "粗面岩圆石墙", + "block.tfg.rock.cobble_venus_wall": "粗面岩圆石墙", "block.tfg.rock.mossy_cobble_venus": "覆苔粗面岩圆石", "block.tfg.rock.mossy_cobble_venus_stairs": "覆苔粗面岩圆石楼梯", "block.tfg.rock.mossy_cobble_venus_slab": "覆苔粗面岩圆石台阶", "block.tfg.rock.mossy_cobble_venus_wall": "覆苔粗面岩圆石墙", "block.tfg.rock.polished_venus_wall": "磨制粗面岩墙", - "block.tfg.rock.mossy_bricks_venus_stone": "覆苔粗面岩砖", - "block.tfg.rock.mossy_bricks_venus_stone_stairs": "覆苔粗面岩砖楼梯", - "block.tfg.rock.mossy_bricks_venus_stone_slab": "覆苔粗面岩砖台阶", - "block.tfg.rock.mossy_bricks_venus_stone_wall": "覆苔粗面岩砖墙", - "block.tfg.rock.cracked_bricks_venus_stone_wall": "裂纹粗面岩砖墙", + "block.tfg.rock.mossy_bricks_venus": "覆苔粗面岩砖", + "block.tfg.rock.mossy_bricks_venus_stairs": "覆苔粗面岩砖楼梯", + "block.tfg.rock.mossy_bricks_venus_slab": "覆苔粗面岩砖台阶", + "block.tfg.rock.mossy_bricks_venus_wall": "覆苔粗面岩砖墙", + "block.tfg.rock.cracked_bricks_venus_stairs": "裂纹粗面岩砖楼梯", + "block.tfg.rock.cracked_bricks_venus_slab": "裂纹粗面岩砖台阶", + "block.tfg.rock.cracked_bricks_venus_wall": "裂纹粗面岩砖墙", "block.tfg.rock.chiseled_bricks_venus_wall": "雕纹粗面岩墙", "block.tfg.rock.gravel_venus": "粗面岩沙砾", "block.tfg.spike.venus_stone_spike": "粗面岩尖刺", @@ -336,17 +348,19 @@ "block.tfg.rock.aqueduct_venus_stone": "粗面岩引水桥", "block.tfg.rock.hardened_mercury_stone": "硬化科马提岩", "block.tfg.rock.mercury_stone_wall": "天然科马提岩墙", - "block.tfg.rock.cobble_mercury_stone_wall": "科马提岩圆石墙", + "block.tfg.rock.cobble_mercury_wall": "科马提岩圆石墙", "block.tfg.rock.mossy_cobble_mercury": "覆苔科马提岩圆石", "block.tfg.rock.mossy_cobble_mercury_stairs": "覆苔科马提岩圆石楼梯", "block.tfg.rock.mossy_cobble_mercury_slab": "覆苔科马提岩圆石台阶", "block.tfg.rock.mossy_cobble_mercury_wall": "覆苔科马提岩圆石墙", "block.tfg.rock.polished_mercury_wall": "磨制科马提岩墙", - "block.tfg.rock.mossy_bricks_mercury_stone": "覆苔科马提岩砖", - "block.tfg.rock.mossy_bricks_mercury_stone_stairs": "覆苔科马提岩砖楼梯", - "block.tfg.rock.mossy_bricks_mercury_stone_slab": "覆苔科马提岩砖台阶", - "block.tfg.rock.mossy_bricks_mercury_stone_wall": "覆苔科马提岩砖墙", - "block.tfg.rock.cracked_bricks_mercury_stone_wall": "裂纹科马提岩砖墙", + "block.tfg.rock.mossy_bricks_mercury": "覆苔科马提岩砖", + "block.tfg.rock.mossy_bricks_mercury_stairs": "覆苔科马提岩砖楼梯", + "block.tfg.rock.mossy_bricks_mercury_slab": "覆苔科马提岩砖台阶", + "block.tfg.rock.mossy_bricks_mercury_wall": "覆苔科马提岩砖墙", + "block.tfg.rock.cracked_bricks_mercury_stairs": "裂纹科马提岩砖楼梯", + "block.tfg.rock.cracked_bricks_mercury_slab": "裂纹科马提岩砖台阶", + "block.tfg.rock.cracked_bricks_mercury_wall": "裂纹科马提岩砖墙", "block.tfg.rock.chiseled_bricks_mercury_wall": "雕纹科马提岩墙", "block.tfg.rock.gravel_mercury": "科马提岩沙砾", "block.tfg.spike.mercury_stone_spike": "科马提岩尖刺", @@ -354,17 +368,19 @@ "block.tfg.rock.aqueduct_mercury_stone": "科马提岩引水桥", "block.tfg.rock.hardened_glacio_stone": "硬化响岩", "block.tfg.rock.glacio_stone_wall": "天然响岩墙", - "block.tfg.rock.cobble_glacio_stone_wall": "响岩圆石墙", + "block.tfg.rock.cobble_glacio_wall": "响岩圆石墙", "block.tfg.rock.mossy_cobble_glacio": "覆苔响岩圆石", "block.tfg.rock.mossy_cobble_glacio_stairs": "覆苔响岩圆石楼梯", "block.tfg.rock.mossy_cobble_glacio_slab": "覆苔响岩圆石台阶", "block.tfg.rock.mossy_cobble_glacio_wall": "覆苔响岩圆石墙", "block.tfg.rock.polished_glacio_wall": "磨制响岩墙", - "block.tfg.rock.mossy_bricks_glacio_stone": "覆苔响岩砖", - "block.tfg.rock.mossy_bricks_glacio_stone_stairs": "覆苔响岩砖楼梯", - "block.tfg.rock.mossy_bricks_glacio_stone_slab": "覆苔响岩砖台阶", - "block.tfg.rock.mossy_bricks_glacio_stone_wall": "覆苔响岩砖墙", - "block.tfg.rock.cracked_bricks_glacio_stone_wall": "裂纹响岩砖墙", + "block.tfg.rock.mossy_bricks_glacio": "覆苔响岩砖", + "block.tfg.rock.mossy_bricks_glacio_stairs": "覆苔响岩砖楼梯", + "block.tfg.rock.mossy_bricks_glacio_slab": "覆苔响岩砖台阶", + "block.tfg.rock.mossy_bricks_glacio_wall": "覆苔响岩砖墙", + "block.tfg.rock.cracked_bricks_glacio_stairs": "裂纹响岩砖楼梯", + "block.tfg.rock.cracked_bricks_glacio_slab": "裂纹响岩砖台阶", + "block.tfg.rock.cracked_bricks_glacio_wall": "裂纹响岩砖墙", "block.tfg.rock.chiseled_bricks_glacio_wall": "雕纹响岩墙", "block.tfg.rock.gravel_glacio": "响岩沙砾", "block.tfg.spike.glacio_stone_spike": "响岩尖刺", @@ -378,6 +394,7 @@ "block.tfg.rock.cobble_permafrost_stairs": "冻土圆石楼梯", "block.tfg.rock.cobble_permafrost_slab": "冻土圆石台阶", "block.tfg.rock.cobble_permafrost_wall": "冻土圆石墙", + "block.tfg.rock.mossy_cobble_permafrost": "覆苔冻土圆石", "block.tfg.rock.mossy_cobble_permafrost_stairs": "覆苔冻土圆石楼梯", "block.tfg.rock.mossy_cobble_permafrost_slab": "覆苔冻土圆石台阶", "block.tfg.rock.mossy_cobble_permafrost_wall": "覆苔冻土圆石墙", @@ -386,7 +403,10 @@ "block.tfg.rock.mossy_bricks_permafrost_stairs": "覆苔冻土砖楼梯", "block.tfg.rock.mossy_bricks_permafrost_slab": "覆苔冻土砖台阶", "block.tfg.rock.mossy_bricks_permafrost_wall": "覆苔冻土砖墙", - "block.tfg.rock.cracked_bricks_permafrost_stone_wall": "裂纹冻土砖墙", + "block.tfg.rock.cracked_bricks_permafrost_stairs": "裂纹冻土砖楼梯", + "block.tfg.rock.cracked_bricks_permafrost_slab": "裂纹冻土砖台阶", + "block.tfg.rock.cracked_bricks_permafrost_wall": "裂纹冻土砖墙", + "block.tfg.rock.chiseled_bricks_permafrost_wall": "雕纹冻土墙", "block.tfg.rock.gravel_permafrost": "冻土沙砾", "block.tfg.spike.permafrost_spike": "冻土尖刺", "block.tfg.loose.permafrost": "冻土岩石子", @@ -425,13 +445,21 @@ "block.tfg.rock.cracked_bricks_stone_wall": "裂纹再生石砖墙", "block.tfg.rock.aqueduct_stone": "再生石引水桥", "block.tfg.rock.smooth_red_sandstone_wall": "平滑赤铁矿砂岩墙", + "block.tfg.rock.cut_red_sandstone_stairs": "切制赤铁矿砂岩楼梯", "block.tfg.rock.cut_red_sandstone_wall": "切制赤铁矿砂岩墙", + "block.tfg.rock.bricks_venus_sandstone_wall": "粗面岩砂岩砖墙", + "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "裂纹粗面岩砂岩砖楼梯", + "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "裂纹粗面岩砂岩砖台阶", + "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "裂纹粗面岩砂岩砖墙", + "block.tfg.rock.quartz_wall": "石英墙", + "block.tfg.rock.smooth_quartz_wall": "平滑石英墙", "block.tfg.rock.raw.stromatolite": "天然叠层石", "block.tfg.rock.spike.stromatolite": "叠层石尖刺", "block.tfg.stromatolite_cluster_small": "小型叠层石簇", "block.tfg.stromatolite_cluster_medium": "大型叠层石簇", "block.tfg.rock.raw.geyserite": "天然硅华", "block.tfg.rock.spike.geyserite": "硅华尖刺", + "block.tfg.rock.halite": "岩晶", "block.tfg.mushroom_roots": "菌丝根须", "block.tfg.mushroom_sprouts": "菌丝嫩芽", "block.tfg.charred_log": "焦化原木", @@ -1524,7 +1552,7 @@ "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": "黄玉", "trim_material.tfc.uvarovite_tfc": "钙铬榴石", @@ -2702,7 +2730,7 @@ "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。你可以使用任何最适合你的方式,但为了组织有序,这些任务将使用机器外壳作为标志。", + "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_casing.subtitle": "更多选择!", "quests.low_voltage.lv_machine_casing.desc": "为降低入门LV阶段的难度,&5TFG&r允许你使用&6机械动力&r的机器替代部分&6格雷科技&r机器。\n\n我们在&6上一章节&r已介绍过这些内容,只需记住:当存在格雷科技机器的替代方案时,你都能在任务中自行选择。", @@ -2713,7 +2741,7 @@ "quests.low_voltage.lv_age_progression.subtitle": "选择太多,时间太少!", "quests.low_voltage.lv_age_progression.desc": "&7LV&r阶段需要你制作多种不同的机器!如果你在目标规划上遇到困难,这里有个友好提示:可以选择后续任务中的某个物品,然后倒推所需的制作步骤。\n\n既然如此……我们何不从&5聚变控制器&r开始呢?好吧,这目标有点好高骛远——还是先定个更接近的目标吧。对了,&3电力高炉&r作为&7LV&r阶段的终极目标,应该是个不错的目标。\n\n电力高炉的&a造价昂贵&r,因此你应该先专注于制造能降低组件和材料成本的机器。我们的任务体系会为你指引正确方向。\n\n其他重要目标包括制作&3LV组装机&r、生产首批&aMV电路&r,以及获得第一台&b电路组装器&r。", "quests.low_voltage.lv_age_progression.task": "我……现在可能有点方向感了", - "quests.low_voltage.lv_steam_turbine.title": "发电", + "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机制……不过具体原理将留待后续说明,现在你只需专注享受游戏。别担心!", @@ -2784,9 +2812,9 @@ "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流体。", + "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.2": "通用单元最多可容纳&d一桶&r流体,同时支持存储&9微量&r流体。若需暂存残余流体而不想专门制作整只桶,这类容器尤为理想。\n\n采用高阶材料制造的单元能承载更多流体,不过届时&9桶&r和&9超级缸&r将提供更大容量。\n\n与桶类似,将单元放入合成栏即可清空其内容物。", - "quests.low_voltage.universal_cell.task": "", + "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任务。。", @@ -2857,7 +2885,7 @@ "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。", + "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.soldering_alloy.title": "焊锡", "quests.low_voltage.soldering_alloy.subtitle": "我拥有灵魂却非焊将(注:英文谐音梗)", @@ -2875,7 +2903,7 @@ "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动摇!", - "quests.low_voltage.lv_diode.desc": "别被JEI误导了……目前这种原始二极管只有一种可行配方——需要液态玻璃的那个。\n\n二极管的配方是出了名的&4棘手&r,但一旦你能获取&e聚乙烯&r,它们的制作就会变得更便宜、更方便。\n\n这是制作&dMV电路&r所必需的。", + "quests.low_voltage.lv_diode.desc": "别被JEI误导了……目前这种原始二极管只有2种可行配方——需要液态玻璃的那些。\n\n二极管的配方是出了名的&4棘手&r,但一旦你能获取&e聚乙烯&r,它们的制作就会变得更便宜、更方便。\n\n这是制作&dMV电路&r所必需的。", "quests.low_voltage.1_mv_circuit.title": "第一个MV电路!", "quests.low_voltage.1_mv_circuit.subtitle": "这是否意味着我们已经进入MV阶段了?", "quests.low_voltage.1_mv_circuit.desc": "唔…你已经有铝锭了吗?\n\n每个电气时代都有与其等级对应的电路。优质电子电路是你在三级&bMV电路&r体系中能制作的&d第一个MV电路&r。\n\n请持续关注更经济的电路制作方案——每当你制造出新等级的&2电路组装器&r,都会解锁全新配方体系。值得庆幸的是,当前这级电路正好能立即解锁新配方!其成本效益远超机械手体系。\n\n&6拥有铝材和本电路后,即可解锁MV机器。&r\n\n若你对格雷科技复杂的电路体系感到困惑,请查阅&6发展进程表&r章节获取详解。", @@ -2974,6 +3002,9 @@ "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.glowstone.title": "永久照明", + "quests.low_voltage.glowstone.subtitle": "发明电灯泡的迂回方式", + "quests.low_voltage.glowstone.desc": "想找一些廉价的永久光源?现在你有了LV提取机(很快还会有LV流体固化机),正好可以好好利用在下界攒下的那些&6荧石粉&r。不够用?用搅拌机还能自己造。\n\n打开JEI看看,所有用液态荧石和荧石块合成的新光源都在里面。格雷科技还提供了直接用荧石粉在组装机里制作的款式。\n\n还有个福利:液态荧石可以直接作为灯笼的无限燃料!", "quests.medium_voltage": "&bMV&r - 中压", "quests.medium_voltage.subtitle": "进军石油化工,精炼电子技术", "quests.medium_voltage.mv_machine_hull.title": "欢迎来到MV!", @@ -3196,8 +3227,8 @@ "quests.medium_voltage.mv_jetpack_2.desc": "这款喷气背包可实现飞行功能,但需消耗能量。\n\n充电方式与电池相同。\n\n按&4H&r(默认)启用悬停模式。\n\n&o&8(是是是,喷气背包本该靠推进剂工作——你们总爱吹毛求疵。)&r", "quests.medium_voltage.mv_cutter.title": "进阶切割机", "quests.medium_voltage.mv_cutter.subtitle": "升级,大伙,升级啊!", - "quests.medium_voltage.mv_cutter.desc": "&3MV切割机&r用于切割&7单晶硅&r,为后续的&a激光蚀刻机&r做准备。\n\n建议持续供应&d润滑剂&r以大幅缩短加工时间。\n\n润滑剂可通过&e石油&r与&a滑石&r、&2皂石&r或&c红石&r通过&3酿造室&r制备。\n\n&7注:也可选用&6格雷机械&r版本的切割机,现在它可以用流体储罐来填充液体&r", - "quests.medium_voltage.mv_cutter.task": "任何酿造室", + "quests.medium_voltage.mv_cutter.desc": "&3MV切割机&r用于切割&7单晶硅&r,为后续的&a激光蚀刻机&r做准备。\n\n建议持续供应&d润滑剂&r以大幅缩短加工时间。\n\n润滑剂可通过&e石油&r与&a滑石&r、&2皂石&r或&c红石&r通过&3酿造室&r制备。\n\n&7注:也可选用&6格雷机械&r版本的切割机,它可以用流体储罐来填充液体&r", + "quests.medium_voltage.mv_cutter.task": "任何切割机", "quests.medium_voltage.mv_laser_engraver.title": "激光蚀刻机", "quests.medium_voltage.mv_laser_engraver.subtitle": "这是顶尖技术,这也很慢", "quests.medium_voltage.mv_laser_engraver.desc": "&3激光蚀刻机&r根据给定的&9透镜&r类型在&9硅晶圆&r上蚀刻电路图案。完成蚀刻的晶圆需经&3切割机&r加工,才能转化为可组装电路的元器件。\n\n更高级别的蚀刻机能处理更复杂的晶圆,从而制造出效率更高的电路。", @@ -3205,7 +3236,7 @@ "quests.medium_voltage.mv_silicon_boule.subtitle": "通用晶圆任选即用", "quests.medium_voltage.mv_silicon_boule.desc": "&9单晶硅&r需在&3电力高炉&r中使用半组&a硅粉&r与少量&a砷化镓&r合成,其主要用途是蚀刻&6电路晶圆&r。\n\n获得单晶硅后,通过&3切割机&r加工可得到16个待蚀刻的硅晶圆。\n\n&c警告:&r每个单晶硅在120EU/t的功率下需耗时&47.5分钟&r,总耗能达1,080,000EU!若电力高炉中途断电,配方进度将&c开始流失&r。\n\n鉴于单晶硅制作耗时极长,建议在多个&3电力高炉&r中并行处理并囤积它们。", "quests.medium_voltage.mv_silicon.title": "硅粉", - "quests.medium_voltage.mv_silicon.subtitle": "", + "quests.medium_voltage.mv_silicon.subtitle": "石圭", "quests.medium_voltage.mv_silicon.desc.1": "你得习惯这点:在&d格雷科技&r中达成目标总有&a多种途径&r——这正是我们在&a群峦格雷&r中始终坚持的设计理念。\n\n为获取&5硅&r,我们将推荐&c两种主流方法&r以提供明确指引。当然,最终还需由你判断哪种方案&a最适合当前状况&r。", "quests.medium_voltage.mv_silicon.desc.2": "第一种方法:&a开采富含硅的矿石&r。寻找&9云母&r或&9蓝晶石&r矿脉——它们同时蕴含&d铝&r。替代方案是&a电解沸石粉&r,该材料分布于&9黄铜矿&r和&d雄黄&r矿脉中。\n\n第二种方法:&e高效且强大&r。虽然初期投入成本较高且效率偏低,但在&6HV&r阶段后将成为&e最优解&r,而且还能产生&9氧气&r作为奖励!原理很简单:&a电解二氧化硅粉&r分解为&9氧气&r与&5硅&r。可通过&9离心燧石粉&r获取&a二氧化硅粉&r,而燧石粉则来自&a筛选沙砾&r获得的&9燧石&r。\n\n此产线易实现&a全自动化运行&r。推荐使用&aEMI配方树&r工具(屏幕左下角)规划建造——它真的很有帮助!", "quests.medium_voltage.mv_ulpic.title": "ULPIC芯片", @@ -3363,6 +3394,10 @@ "quests.metal_age.this_is_a_bucket.title": "这……是一个桶。", "quests.metal_age.this_is_a_bucket.subtitle": "亲爱的上帝……", "quests.metal_age.this_is_a_bucket.desc": "恭喜你制作了桶。冶金时代正式结束。\n\n去开始研究那些低电压组件吧!", + "quests.metal_age.temperature_protection.title": "彩色钢装备", + "quests.metal_age.temperature_protection.subtitle": "永久温度防护", + "quests.metal_age.temperature_protection.desc": "厌倦了总是拿着钳子吗?彩色钢优异的隔热性能同样体现在它们的装备上!\n\n&9蓝钢&r装备可以抵御极端高温,例如手持热铸锭或踩在充满蒸汽的管道上;而&c红钢&r装备则对低温提供同样的防护。胸甲类物品保护你的物品栏,靴子类物品则专门防护管道。\n\n查看&6#hot_protection_equipment&r和&b#cold_protection_equipment&r标签以获取完整列表!", + "quests.metal_age.temperature_protection.task": "任意红钢或蓝钢装备", "quests.ore_proc": "矿石处理", "quests.ore_proc.subtitle": "让你的矿石物尽其用所需的一切", "quests.ore_proc.native_ore.title": "欢迎来到矿石处理", @@ -3722,7 +3757,7 @@ "quests.steam_age.mold_table.desc.2": "当然,你也可以利用溜槽将物品从高炉顶部投入,并使用机械手自动操作风箱。不过过度鼓风会快速消耗吹风管的耐久度——好在物品管道能自动推送新吹风管进行补充。\n\n你甚至可以让动力泵同时从高炉和坩埚抽取流体,通过流体阀门在合金冶炼期间暂停输送,待完成后重新开启。", "quests.steam_age.fluid_pipes.title": "流体管道", "quests.steam_age.fluid_pipes.subtitle": "液体、气体……我们一视同仁", - "quests.steam_age.fluid_pipes.desc.1": "&b流体管道&r可为你在机器之间输送&7蒸汽&r。\n\n每种管道都有特定的吞吐量(mB/t)和&6温度上限&r。当前阶段需特别注意,因为蒸汽会烧毁木质管道。部分管道还具有&b特殊&r属性,目前无需深究。\n\n每种材料都有多种尺寸的管道。管道尺寸&a越大&r,吞吐量越高,但制作成本也&d越高&r。例如,标准&6青铜流体管道&r可传输120 mB/t(同时拥有1200 mB的内部缓冲容量!)。\n\n建议初期使用木质管道输送低温流体,青铜管道则用于高温流体。", + "quests.steam_age.fluid_pipes.desc.1": "&b流体管道&r可为你在机器之间输送&7蒸汽&r。\n\n每种管道都有特定的吞吐量(mB/t)和&6温度上限&r。当前阶段需特别注意,因为蒸汽会烧毁木质管道。部分管道还具有&b特殊&r属性,目前无需深究。\n\n每种材料都有多种尺寸的管道。管道尺寸&a越大&r,吞吐量越高,但制作成本也&d越高&r。例如,标准&6青铜流体管道&r可传输120 mB/t(同时拥有1200 mB的内部缓冲容量!)。\n\n建议初期使用木质管道输送常温流体,青铜管道则用于高温流体。", "quests.steam_age.fluid_pipes.desc.2": "&a提醒:&r1秒=20游戏刻……前提是服务器没有卡顿。\n\n&d注意:&r 已启用格雷科技6风格的管道。这意味着放置管道时,它们仅会连接到其放置时所对准的方块。需要使用扳手点击管道以打开更多连接。\n\n你也可以在潜行状态下使用扳手右键点击来禁用特定侧的输入。这有助于防止回流(液体向非预期方向流动)。", "quests.steam_age.fluid_drums.title": "高效流体存储", "quests.steam_age.fluid_drums.subtitle": "木桶恐怕无法盛放熔融的钢水。", @@ -3879,7 +3914,7 @@ "quests.steam_age.steel_mech_press.desc.2": "&l&3背景知识:&r&o在TerraFirmaGreg的0.9版本之前,机械动力冲压机曾是蒸汽时代后期的关键设备,因其能以5:4的更优比例生成板材。然而当时的实现机制实为“20%%概率血本无归”,这让许多使用者一边高呼自己热爱赌博一边继续使用。", "quests.steam_age.supers.title": "超级箱与超级缸", "quests.steam_age.supers.subtitle": "超级存储抽屉", - "quests.steam_age.supers.desc": "如果你有大量单一物品或流体,这是&c终&6极&e便&a携&b式&物&5品&4存储解决方案。虽然这些&d基础&r(&8ULV&r)型号起初容量相对较小,但更高级的超级箱和超级缸能容纳惊人数量的物品——所有东西都储存在单个方块中,且完全无视温度或酸度影响!\n\n与桶类似,超级缸和超级箱在&6被破坏时会保留内部物品&r,可通过合成栏清空其内容,并能自动清空任何溢出的内容。\n\n如果你渴望&9更大&r的存储空间,可以看看更高级的量子箱、量子缸或AE2存储元件。", + "quests.steam_age.supers.desc": "如果你有大量单一物品或流体,这是&c终&6极&e便&a携&b式&物&5品&4存储解决方案。虽然这些&d基础&r(&8ULV&r)型号起初容量相对较小,但更高级的超级箱和超级缸能容纳惊人数量的物品——所有东西都储存在单个方块中,且完全无视温度或酸度影响!\n\n与桶类似,超级缸和超级箱在&6被破坏时会保留内部物品&r,可通过合成栏清空其内容,并能自动清空任何溢出的内容。然而,与桶不同的是,超级缸还能&a安全地容纳&r其中的流体,防止你被烫伤、冻伤或飘起来。\n\n如果你渴望&9更大&r的存储空间,可以看看更高级的量子箱、量子缸或AE2存储元件。", "quests.steam_age.supers.task": "任何超级箱或超级缸", "quests.stone_age": "石器时代", "quests.stone_age.subtitle": "简陋开端", @@ -4039,6 +4074,11 @@ "quests.stone_age.hazards.subtitle": "以为地表很困难?再想想。", "quests.stone_age.hazards.desc.1": "除了怪物,采矿时最大的挑战是处理塌方。如果一个天然石头或矿石方块下面有空气,它被认为是“无支撑的”,并且每次附近方块被开采时都有几率开始塌方。洞穴顶部覆盖着硬化石头,这不会导致坍塌。为了减轻这种情况,最安全的事情就是只挖掘地板,但如果你想安全地挖掘任何其他东西,你必须学习如何使用支撑梁!这些是用原木和锯子制作的。", "quests.stone_age.hazards.desc.2": "《野外指南》中有关于支撑梁工作原理的详细说明和图解,但简而言之:你需要以不超过四格的间距进行布置。只有顶部垂直放置的梁才能实际承重,且其作用范围有限。", + "quests.stone_age.medical_conditions.title": "健康状况", + "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.task": "做自己的医生", "quests.stone_age.copper_for_anvil.title": "为制作砧准备铜锭", "quests.stone_age.copper_for_anvil.subtitle": "你最好习惯弄到14个某种锭。", "quests.stone_age.copper_for_anvil.desc": "砧的制作确实所费不菲!每个砧需要消耗14块金属锭,这些金属锭还需经过焊接加工成7块双锭。\n\n若你尚未开始采矿,现在是时候行动了——毕竟要收集126块小铜粒可是项艰巨的任务。", @@ -4068,7 +4108,7 @@ "quests.stone_age.flux.desc": "助焊剂是一种主要用于焊接金属的物品,尽管它也有一些别的用途。\n某些类型的岩石,如白垩、石灰石和大理石,可以被粉碎制成助焊剂,各种海洋动物的壳也可以。", "quests.stone_age.weld_copper_ingots.title": "焊接铜锭", "quests.stone_age.weld_copper_ingots.subtitle": "离铜砧如此之近", - "quests.stone_age.weld_copper_ingots.desc": "点燃木炭炉并投入至少2块铜锭。密切关注铜锭加热时的状态提示——当显示\"可加工\"时仍需等待,直至达到\"可焊接\"状态(即将达到熔点的临界阶段)。\n\n一旦达到可焊接温度,请立即用副手持木钳将其快速夹取至石台界面,同时添加少量助焊剂。最后潜行状态下右键点击砧台,趁热将两块铜锭焊接为一体。可使用水或雪快速冷却新制成的双锭。", + "quests.stone_age.weld_copper_ingots.desc": "点燃木炭炉并投入至少2块铜锭。密切关注铜锭加热时的状态提示——当显示\"可加工\"时仍需等待,直至达到\"可焊接\"状态(即将达到熔点的临界阶段)。\n\n一旦达到可焊接温度,请立即用副手持&e木钳&r将其快速夹取至石台界面,同时添加少量助焊剂。最后潜行状态下右键点击砧台,趁热将两块铜锭焊接为一体。可使用水或雪快速冷却新制成的双锭。", "quests.metal_age.copper_anvil.title": "一级砧:铜", "quests.metal_age.copper_anvil.subtitle": "至此所有努力终见成果!", "quests.metal_age.copper_anvil.desc": "恭喜!你正式完成了石器时代,进入了冶金时代!凭借铜砧,下一步将是攀登砧等级,每解锁新的等级,都会开放新工具与制造可能性,让你的生活逐渐变得更容易。现在,去成为真正的铁匠大师吧!", From a25d15b2166f9086ae79814d3c48446be15d3408 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Dec 2025 21:16:55 +0000 Subject: [PATCH 373/628] Bump the dependencies group across 1 directory with 5 updates (#2440) Bumps the dependencies group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `6.0.0` | `6.0.1` | | [mukunku/tag-exists-action](https://github.com/mukunku/tag-exists-action) | `1.6.0` | `1.7.0` | | [actions/cache](https://github.com/actions/cache) | `4.3.0` | `5.0.1` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `5.0.0` | `6.0.0` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `6.0.0` | `7.0.0` | Updates `actions/checkout` from 6.0.0 to 6.0.1 - [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.0...v6.0.1) Updates `mukunku/tag-exists-action` from 1.6.0 to 1.7.0 - [Release notes](https://github.com/mukunku/tag-exists-action/releases) - [Commits](https://github.com/mukunku/tag-exists-action/compare/v1.6.0...v1.7.0) Updates `actions/cache` from 4.3.0 to 5.0.1 - [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/v4.3.0...v5.0.1) Updates `actions/upload-artifact` from 5.0.0 to 6.0.0 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0) Updates `actions/download-artifact` from 6.0.0 to 7.0.0 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v6.0.0...v7.0.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dependencies - dependency-name: mukunku/tag-exists-action dependency-version: 1.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dependencies - dependency-name: actions/cache dependency-version: 5.0.1 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies - dependency-name: actions/upload-artifact dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies - dependency-name: actions/download-artifact dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a197c091b..1e719ced3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,7 +34,7 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v6.0.0 + uses: actions/checkout@v6.0.1 with: fetch-depth: 0 @@ -156,7 +156,7 @@ jobs: continue-on-error: true - name: 🔍 Check if tag exists - uses: mukunku/tag-exists-action@v1.6.0 + uses: mukunku/tag-exists-action@v1.7.0 id: check_tag with: tag: ${{ steps.changelog.outputs.version }} @@ -229,7 +229,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v6.0.0 + uses: actions/checkout@v6.0.1 with: fetch-depth: 0 @@ -313,7 +313,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v6.0.0 + uses: actions/checkout@v6.0.1 - name: 🔄 Replace strings shell: bash @@ -340,7 +340,7 @@ jobs: sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/server-overrides/forge-auto-install.txt - name: 📝 Cache pakku - uses: actions/cache@v4.3.0 + uses: actions/cache@v5.0.1 id: cache with: path: build/.cache @@ -362,7 +362,7 @@ jobs: mv *.zip $(basename -s .zip *.zip)-curseforge.zip - name: 🚀 Upload artifact CurseForge - uses: actions/upload-artifact@v5.0.0 + uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-curseforge path: ./build/curseforge/${{ needs.info.outputs.project_full_name }}-curseforge.zip @@ -374,7 +374,7 @@ jobs: mv *.mrpack $(basename -s .mrpack *.mrpack)-modrinth.mrpack - name: 🚀 Upload artifact modrinth - uses: actions/upload-artifact@v5.0.0 + uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-modrinth path: ./build/modrinth/${{ needs.info.outputs.project_full_name }}-modrinth.mrpack @@ -398,7 +398,7 @@ jobs: zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/ - name: 🚀 Upload artifact multimc - uses: actions/upload-artifact@v5.0.0 + uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-multimc path: ./build/multimc/${{ needs.info.outputs.project_full_name }}-multimc.zip @@ -410,7 +410,7 @@ jobs: mv *.zip $(basename -s .zip *.zip)-serverpack.zip - name: 🚀 Upload artifact server - uses: actions/upload-artifact@v5.0.0 + uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-serverpack path: ./build/serverpack/${{ needs.info.outputs.project_full_name }}-serverpack.zip @@ -426,10 +426,10 @@ jobs: steps: - name: 📦 Checkout - uses: actions/checkout@v6.0.0 + uses: actions/checkout@v6.0.1 - name: 📦 Download artifact - uses: actions/download-artifact@v6.0.0 + uses: actions/download-artifact@v7.0.0 with: merge-multiple: true @@ -497,7 +497,7 @@ jobs: fi - name: 📦 Download artifact - uses: actions/download-artifact@v6.0.0 + uses: actions/download-artifact@v7.0.0 with: merge-multiple: true @@ -547,7 +547,7 @@ jobs: fi - name: 📦 Download artifact - uses: actions/download-artifact@v6.0.0 + uses: actions/download-artifact@v7.0.0 with: merge-multiple: true From 0a16e94ab1e2b1067811825c31b446c007215972 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 22:53:20 +0000 Subject: [PATCH 374/628] oh yeah there's a tag prefix for this now --- kubejs/server_scripts/gregtech/recipes.materials.js | 4 +--- kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js | 6 +----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 57f713074..c3fea2f30 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -786,10 +786,8 @@ function registerGTCEUMetalRecipes(event) { let chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) - let namespace = material === $GreateMaterials.RoseQuartz ? 'greate' : 'gtceu'; - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( - `${namespace}:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels'])) + ChemicalHelper.get(TagPrefix.surfaceRock, material, 1), [gem, '#tfc:chisels'])) .id(`shapeless/${material.getName()}_bud_indicator`) event.shaped(smallDust, 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 8cc06332f..c7bc3b175 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -71,11 +71,7 @@ const registerTFGOreLoots = (event) => { if (material.hasProperty(PropertyKey.GEM)) { let normalDrop = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1) - - let bud = `gtceu:${material.getName()}_bud_indicator`; - if (material === $GreateMaterials.RoseQuartz) { - bud = 'greate:rose_quartz_bud_indicator'; - } + let bud = ChemicalHelper.get(TagPrefix.surfaceRock, material, 1) event.addBlockLootModifier(bud) .matchMainHand("tfc:gem_saw") From 88af05c97e6c9ae59762272f78b1910788134a28 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 22:54:23 +0000 Subject: [PATCH 375/628] mining machines now replace rocks with the correct cobble --- CHANGELOG.md | 1 + .../quests/chapters/hv__high_voltage.snbt | 2 +- kubejs/startup_scripts/tfc/tag_prefixes.js | 27 ++++++++++++------- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f39eeea9..060832a56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,7 @@ - The Active Transformer multiblock is now craftable at EV, with a new texture and casings. (#2424) @BlueBoat29 - Renamed AE2 Sky Stone to Suevite @Pyritie - Removed the shapeless crafting recipe for colored concrete powder, added an instant barrel recipe to turn it into solid concrete @Pyritie +- GregTech mining machines now replace mined ores with the correct type of cobble, instead of rhyolite or vanilla cobble @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index d6c1197aa..977da2070 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -484,7 +484,7 @@ size: 2.0d subtitle: "{quests.high_voltage.cleanroom.subtitle}" tasks: [ - { + { id: "563BFE52E8A51D9F" item: "gtceu:cleanroom" type: "item" diff --git a/kubejs/startup_scripts/tfc/tag_prefixes.js b/kubejs/startup_scripts/tfc/tag_prefixes.js index 3bb8c59c8..8b864f8ac 100644 --- a/kubejs/startup_scripts/tfc/tag_prefixes.js +++ b/kubejs/startup_scripts/tfc/tag_prefixes.js @@ -5,7 +5,6 @@ const registerTFCTagPrefixes = (event) => { // These ores break worldgen if removed somehow? // TagPrefix.ORES.remove(TagPrefix.ore) - TagPrefix.ORES.remove(TagPrefix.oreDeepslate) TagPrefix.ORES.remove(TagPrefix.oreTuff) TagPrefix.ORES.remove(TagPrefix.oreSand) TagPrefix.ORES.remove(TagPrefix.oreRedSand) @@ -34,6 +33,8 @@ const registerTFCTagPrefixes = (event) => { .materialSupplier(() => material) .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock(stoneTypeName, `tfc:rock/cobble/${stoneTypeName}`); }) // Custom stone types @@ -48,6 +49,8 @@ const registerTFCTagPrefixes = (event) => { .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) .materialSupplier(() => GTMaterials.Blackstone) + + TFGHelpers.registerCobbleBlock('pyroxenite', 'tfg:rock/cobble_blackstone'); event.create('dripstone', 'ore') .stateSupplier(() => Block.getBlock('minecraft:dripstone_block').defaultBlockState()) @@ -56,14 +59,8 @@ const registerTFCTagPrefixes = (event) => { .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) .materialSupplier(() => GTCEuAPI.materialManager.getMaterial('dripstone')) - // Redefine deepslate so it has the correct sound effects (yes I fixed this in GTM as well) - event.create('deepslate', 'ore') - .stateSupplier(() => Block.getBlock('minecraft:deepslate').defaultBlockState()) - .baseModelLocation('minecraft:block/deepslate') - .unificationEnabled(true) - .materialIconType(GTMaterialIconType.ore) - .generationCondition(shouldGenerateOre) - .materialSupplier(() => GTMaterials.Deepslate) + + TFGHelpers.registerCobbleBlock('dripstone', 'tfg:rock/cobble_dripstone'); event.create('moon_stone', 'ore') .stateSupplier(() => Block.getBlock('tfg:rock/hardened_moon_stone').defaultBlockState()) @@ -71,6 +68,8 @@ const registerTFCTagPrefixes = (event) => { .unificationEnabled(true) .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('moon_stone', 'ad_astra:moon_cobblestone'); event.create('moon_deepslate', 'ore') .stateSupplier(() => Block.getBlock('tfg:rock/hardened_moon_deepslate').defaultBlockState()) @@ -79,6 +78,8 @@ const registerTFCTagPrefixes = (event) => { .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) + TFGHelpers.registerCobbleBlock('moon_deepslate', 'tfg:rock/cobble_moon_deepslate'); + event.create('mars_stone', 'ore') .stateSupplier(() => Block.getBlock('tfg:rock/hardened_mars_stone').defaultBlockState()) .baseModelLocation('ad_astra:block/mars_stone') @@ -86,6 +87,8 @@ const registerTFCTagPrefixes = (event) => { .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) + TFGHelpers.registerCobbleBlock('mars_stone', 'ad_astra:mars_cobblestone'); + event.create('venus_stone', 'ore') .stateSupplier(() => Block.getBlock('tfg:rock/hardened_venus_stone').defaultBlockState()) .baseModelLocation('ad_astra:block/venus_stone') @@ -93,6 +96,8 @@ const registerTFCTagPrefixes = (event) => { .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) + TFGHelpers.registerCobbleBlock('venus_stone', 'ad_astra:venus_cobblestone'); + event.create('mercury_stone', 'ore') .stateSupplier(() => Block.getBlock('tfg:rock/hardened_mercury_stone').defaultBlockState()) .baseModelLocation('ad_astra:block/mercury_stone') @@ -100,10 +105,14 @@ const registerTFCTagPrefixes = (event) => { .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) + TFGHelpers.registerCobbleBlock('mercury_stone', 'ad_astra:mercury_cobblestone'); + event.create('glacio_stone', 'ore') .stateSupplier(() => Block.getBlock('tfg:rock/hardened_glacio_stone').defaultBlockState()) .baseModelLocation('ad_astra:block/glacio_stone') .unificationEnabled(true) .materialIconType(GTMaterialIconType.ore) .generationCondition(shouldGenerateOre) + + TFGHelpers.registerCobbleBlock('glacio_stone', 'ad_astra:glacio_cobblestone'); } \ No newline at end of file From bd954b00103d0f102c6a99cf3305e98b4f33e74f Mon Sep 17 00:00:00 2001 From: Mqrius Date: Tue, 16 Dec 2025 09:42:12 +0100 Subject: [PATCH 376/628] Remove localization from loading screen (#2442) Signed-off-by: Mqrius --- config/fancymenu/customization/gui_loading_screen.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/fancymenu/customization/gui_loading_screen.txt b/config/fancymenu/customization/gui_loading_screen.txt index 06a59d906..0350b775c 100644 --- a/config/fancymenu/customization/gui_loading_screen.txt +++ b/config/fancymenu/customization/gui_loading_screen.txt @@ -91,7 +91,7 @@ element { element { interactable = false - source = {"placeholder":"local","values":{"key":"tfg.gui.menu.field_guide_splash_text"}} + source = Tip: Read the field guide!!! source_mode = direct shadow = true scale = 1.0 @@ -158,7 +158,7 @@ element { element { interactable = false - source = {"placeholder":"local","values":{"key":"tfg.gui.menu.ram_usage"}} {"placeholder":"usedram"}MB/ {"placeholder":"maxram"}MB + source = RAM: {"placeholder":"usedram"}MB/ {"placeholder":"maxram"}MB source_mode = direct shadow = true scale = 0.8 @@ -225,7 +225,7 @@ element { element { interactable = false - source = {"placeholder":"local","values":{"key":"tfg.gui.menu.fps_count"}} {"placeholder":"fps"} + source = FPS: {"placeholder":"fps"} source_mode = direct shadow = true scale = 0.8 From 6a4447906a8237284e1d545f3d27cc4aade2acb0 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Wed, 17 Dec 2025 01:09:06 +0500 Subject: [PATCH 377/628] add: disabling commands --- .../defaultconfigs/ftbranks/ranks.snbt | 25 ++- defaultconfigs/ftbranks/README.txt | 148 +++++++++++++----- 2 files changed, 133 insertions(+), 40 deletions(-) diff --git a/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt b/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt index c0a1287db..4e2b588f0 100644 --- a/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt +++ b/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt @@ -7,8 +7,31 @@ ftbchunks.max_claimed: 50 ftbchunks.max_force_loaded: 6 ftbchunks.chunk_load_offline: false + + command.enderchest: false + command.ldlib: false + command.compass_server: false + command.chunky: false + command.catnip: false + command.bookshelf: false + command.aptweaks: false + command.afc: false + command.advancement: false + command.bossbar: false + command.clone: false + command.cucumber: false + command.gamemode: false + command.give: false + command.guideme: false + command.kubejs: false + command.kubejs_tfc: false + command.letmedespawn: false + command.locate: false + command.lode: false + command.octolib: false + command.trashcan: true - command.enderchest: false + } vip: { name: "VIP" diff --git a/defaultconfigs/ftbranks/README.txt b/defaultconfigs/ftbranks/README.txt index 2a9bc74e0..f21e942e5 100644 --- a/defaultconfigs/ftbranks/README.txt +++ b/defaultconfigs/ftbranks/README.txt @@ -1,6 +1,6 @@ === FTB Ranks === -Last README file update: Thu Oct 23 13:15:38 YEKT 2025 +Last README file update: Tue Dec 16 23:03:36 MSK 2025 Wiki: https://www.notion.so/feedthebeast/FTB-Mod-Documentation-da2e359bad2449459d58d787edda3168 To refresh this file, run /ftbranks refresh_readme @@ -169,6 +169,11 @@ command.aptweaks.kill.entities command.aptweaks.kill.items command.aptweaks.load command.aptweaks.playerPositions +command.atl +command.atl.force_refresh +command.atl.reset_statistics +command.atl.run_explicit_gc +command.atl.thread_dump command.attribute command.attribute.target command.attribute.target.attribute @@ -194,9 +199,6 @@ command.attribute.target.attribute.modifier.value.get command.attribute.target.attribute.modifier.value.get.uuid command.attribute.target.attribute.modifier.value.get.uuid.scale command.back -command.backup -command.backup.command -command.backup.command.name command.balm command.balm.dev command.balm.export @@ -204,6 +206,15 @@ command.balm.export.config command.balm.export.config.mod command.balm.export.icons command.balm.export.icons.filter +command.ban +command.ban-ip +command.ban-ip.target +command.ban-ip.target.reason +command.ban.targets +command.ban.targets.reason +command.banlist +command.banlist.ips +command.banlist.players command.bookshelf command.bookshelf.font command.bookshelf.font.block @@ -569,8 +580,6 @@ command.clone.from.sourceDimension.begin.end.to.targetDimension.destination.repl command.clone.from.sourceDimension.begin.end.to.targetDimension.destination.replace.force command.clone.from.sourceDimension.begin.end.to.targetDimension.destination.replace.move command.clone.from.sourceDimension.begin.end.to.targetDimension.destination.replace.normal -command.closeguiscreen -command.closeguiscreen.target_players command.compass_server command.compass_server.build_scene command.compass_server.build_scene.start @@ -1266,20 +1275,24 @@ command.debug.start command.debug.stop command.defaultgamemode command.defaultgamemode.gamemode -command.defaultoptions -command.defaultoptions.saveAll -command.defaultoptions.saveKeys -command.defaultoptions.saveOptions -command.defaultoptions.saveServers command.delhome command.delhome.name command.delwarp command.delwarp.name +command.deop +command.deop.targets command.difficulty command.difficulty.easy command.difficulty.hard command.difficulty.normal command.difficulty.peaceful +command.discord +command.discord.ignore +command.discord.link +command.discord.migrate +command.discord.rawmsg +command.discord.reload +command.discord.unlink command.effect command.effect.clear command.effect.clear.targets @@ -1543,17 +1556,6 @@ command.firmaciv.navigation.pos command.firmaciv.navigation.pos.type command.fly command.fly.player -command.fmlayout -command.fmlayout.layout_name -command.fmlayout.layout_name.is_layout_enabled -command.fmlayout.layout_name.is_layout_enabled.target_players -command.fmvariable -command.fmvariable.get -command.fmvariable.get.variable_name -command.fmvariable.set -command.fmvariable.set.variable_name -command.fmvariable.set.variable_name.send_chat_feedback -command.fmvariable.set.variable_name.send_chat_feedback.set_to_value command.forceload command.forceload.add command.forceload.add.from @@ -1924,23 +1926,13 @@ command.gtceu.place_vein.vein command.gtceu.place_vein.vein.position command.gtceu.ui_editor command.guideme -command.guideme.exportstructure -command.guideme.exportstructure.origin -command.guideme.exportstructure.origin.sizeX -command.guideme.exportstructure.origin.sizeX.sizeY -command.guideme.exportstructure.origin.sizeX.sizeY.sizeZ command.guideme.give command.guideme.give.targets command.guideme.give.targets.guide -command.guideme.importstructure -command.guideme.importstructure.origin command.guideme.open command.guideme.open.targets command.guideme.open.targets.guide command.guideme.open.targets.guide.page -command.guideme.placeallstructures -command.guideme.placeallstructures.origin -command.guideme.placeallstructures.origin.guide command.hat command.heal command.heal.player @@ -2439,6 +2431,7 @@ command.medical_condition.clear.targets.condition command.medical_condition.query command.medical_condition.query.target command.mfsrc +command.mobcaps command.modernfix command.modernfix.mcfunctions command.modernfix.upgradeStructures @@ -2462,14 +2455,17 @@ command.octolib.config command.octolib.config.reload command.octolib.config.reload.all command.octolib.config.reload.path +command.op +command.op.targets command.open-patchouli-book command.open-patchouli-book.targets command.open-patchouli-book.targets.book command.open-patchouli-book.targets.book.entry command.open-patchouli-book.targets.book.entry.page -command.openguiscreen -command.openguiscreen.screen_identifier -command.openguiscreen.screen_identifier.target_players +command.pardon +command.pardon-ip +command.pardon-ip.target +command.pardon.targets command.particle command.particle.name command.particle.name.pos @@ -2480,6 +2476,9 @@ command.particle.name.pos.delta.speed.count.force command.particle.name.pos.delta.speed.count.force.viewers command.particle.name.pos.delta.speed.count.normal command.particle.name.pos.delta.speed.count.normal.viewers +command.perf +command.perf.start +command.perf.stop command.ping command.ping.target command.place @@ -2575,10 +2574,6 @@ command.ponder.reload command.ponder.scene command.ponder.scene.targets command.ponder.tags -command.publish -command.publish.allowCommands -command.publish.allowCommands.gamemode -command.publish.allowCommands.gamemode.port command.railways command.railways.split_train command.railways.split_train.train_id @@ -2608,6 +2603,10 @@ command.ride.target.dismount command.ride.target.mount command.ride.target.mount.vehicle command.rtp +command.save-all +command.save-all.flush +command.save-off +command.save-on command.say command.say.message command.sbp @@ -2618,6 +2617,36 @@ command.sbp.list command.sbp.list.playerName command.sbp.removeNonPlayer command.sbp.removeNonPlayer.onlyWithEmptyInventory +command.sbp.template +command.sbp.template.create +command.sbp.template.create.templateName +command.sbp.template.create.templateName.override +command.sbp.template.delete +command.sbp.template.delete.templateName +command.sbp.template.dynamic +command.sbp.template.dynamic.addItem +command.sbp.template.dynamic.addItem.templateName +command.sbp.template.dynamic.addItem.templateName.item +command.sbp.template.dynamic.addItem.templateName.item.count +command.sbp.template.dynamic.addItem.templateName.slot +command.sbp.template.dynamic.addItem.templateName.slot.item +command.sbp.template.dynamic.addItem.templateName.slot.item.count +command.sbp.template.dynamic.addUpgrade +command.sbp.template.dynamic.addUpgrade.templateName +command.sbp.template.dynamic.addUpgrade.templateName.item +command.sbp.template.dynamic.begin +command.sbp.template.dynamic.begin.templateName +command.sbp.template.dynamic.begin.templateName.backpackItem +command.sbp.template.dynamic.begin.templateName.baseTemplateName +command.sbp.template.dynamic.end +command.sbp.template.dynamic.end.templateName +command.sbp.template.export +command.sbp.template.export.templateName +command.sbp.template.export.templateName.delete +command.sbp.template.give +command.sbp.template.give.templateName +command.sbp.template.give.templateName.targets +command.sbp.template.list command.schedule command.schedule.clear command.schedule.clear.function @@ -2676,6 +2705,18 @@ command.scoreboard.players.set.targets command.scoreboard.players.set.targets.objective command.scoreboard.players.set.targets.objective.score command.seed +command.servercore +command.servercore.reload +command.servercore.settings +command.servercore.settings.chunk_tick_distance +command.servercore.settings.chunk_tick_distance.value +command.servercore.settings.mobcap_percentage +command.servercore.settings.mobcap_percentage.value +command.servercore.settings.simulation_distance +command.servercore.settings.simulation_distance.value +command.servercore.settings.view_distance +command.servercore.settings.view_distance.value +command.servercore.status command.setblock command.setblock.pos command.setblock.pos.block @@ -2684,6 +2725,8 @@ command.setblock.pos.block.keep command.setblock.pos.block.replace command.sethome command.sethome.name +command.setidletimeout +command.setidletimeout.minutes command.setwarp command.setwarp.name command.setworldspawn @@ -2725,7 +2768,25 @@ command.spreadplayers.center.spreadDistance.maxRange.under command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams.targets +command.statistics +command.statistics.block-entities +command.statistics.block-entities.byPlayer +command.statistics.block-entities.byPlayer.page +command.statistics.block-entities.byType +command.statistics.block-entities.byType.page +command.statistics.block-entities.byType.player +command.statistics.block-entities.byType.player.page +command.statistics.block-entities.page +command.statistics.entities +command.statistics.entities.byPlayer +command.statistics.entities.byPlayer.page +command.statistics.entities.byType +command.statistics.entities.byType.page +command.statistics.entities.byType.player +command.statistics.entities.byType.player.page +command.statistics.entities.page command.stonecutter +command.stop command.stopsound command.stopsound.targets command.stopsound.targets.all @@ -2990,6 +3051,15 @@ command.weather.rain.duration.intensity command.weather.thunder command.weather.thunder.duration command.weather.thunder.duration.intensity +command.whitelist +command.whitelist.add +command.whitelist.add.targets +command.whitelist.list +command.whitelist.off +command.whitelist.on +command.whitelist.reload +command.whitelist.remove +command.whitelist.remove.targets command.worldborder command.worldborder.add command.worldborder.add.distance From 1c5231b550cb75eef3856f4f1eba4754b147922e Mon Sep 17 00:00:00 2001 From: Xikaro Date: Wed, 17 Dec 2025 01:35:03 +0500 Subject: [PATCH 378/628] Update ranks.snbt --- .../defaultconfigs/ftbranks/ranks.snbt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt b/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt index 4e2b588f0..71004f076 100644 --- a/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt +++ b/.pakku/server-overrides/defaultconfigs/ftbranks/ranks.snbt @@ -29,6 +29,16 @@ command.locate: false command.lode: false command.octolib: false + command.worldborder: false + command.whitelist: false + command.uteamcore: false + command.tpx: false + command.tp_offline: false + command.tpa: false + command.tpaccept: false + command.tpahere: false + command.tpdeny: false + command.tpx: false command.trashcan: true @@ -41,13 +51,6 @@ ftbchunks.max_force_loaded: 8 ftbchunks.chunk_load_offline: true } - moderator_girl: { - name: "Moderator" - power: 51 - ftbranks.name_format: "&d{name}" - ftbchunks.max_claimed: 200 - ftbchunks.max_force_loaded: 8 - } moderator: { name: "Moderator" power: 51 From 6805b6368f85e77c9b6837e6852e61db843dfe57 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 16 Dec 2025 23:19:59 +0000 Subject: [PATCH 379/628] langs --- kubejs/assets/tfcbetterbf/lang/zh_cn.json | 4 +- kubejs/assets/tfg/lang/en_us.json | 67 ++- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 667 +++++++++++----------- kubejs/assets/tfg/lang/zh_cn.json | 68 ++- 5 files changed, 481 insertions(+), 327 deletions(-) diff --git a/kubejs/assets/tfcbetterbf/lang/zh_cn.json b/kubejs/assets/tfcbetterbf/lang/zh_cn.json index f3c42786c..f001f1f8e 100644 --- a/kubejs/assets/tfcbetterbf/lang/zh_cn.json +++ b/kubejs/assets/tfcbetterbf/lang/zh_cn.json @@ -1,5 +1,5 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "block.tfcbetterbf.insulated_fire_bricks": "保温耐火砖", - "item.tfcbetterbf.insulation": "高炉保温板" + "block.tfcbetterbf.insulated_fire_bricks": "隔热耐火砖", + "item.tfcbetterbf.insulation": "高炉隔热板" } \ 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 ac6369a49..adb493891 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1870,6 +1870,69 @@ "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &8TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", "quests.ae2.oversize_interface.desc": "The &dME Oversize Interface&r is a &dME Extended Interface&r but each slot can hold 16x more items or fluids. If you have processes that need huge quantities, this could be your go-to.", "quests.ae2.assembler_matrix.desc": "The &6Assembler Matrix&r is basically a customizable multiblock Molecular Assembler. The requirements for this quest should let you build one that we deem quite strong enough. You could add more layers of &bPattern Core&r or &aCraft Core&r if you want to.\n\nAs usual, check the in-game guide for detailed informations.", + "quests.combat_tips.stone_main.title": "Stone Age", + "quests.combat_tips.hammer.title": "Hammers", + "quests.combat_tips.hammer.subtitle": "It's hammer time!", + "quests.combat_tips.hammer.description": "While combat may not be the first thing you think to do with your hammer, it can be surprisingly effective. Hammers deal &2Crushing&r damage which can help you against Skeletons. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r.", + "quests.combat_tips.hammer.task": "Any Hammer", + "quests.combat_tips.javelin.title": "Javelins", + "quests.combat_tips.javelin.subtitle": "Caveman's bow", + "quests.combat_tips.javelin.description": "If you want to keep your foes away from you, javelins are the weapon for you. They are the earliest ranged weapons you will have available to you. They deal &9Piercing&r damage, which can help you against Zombies. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r. \n\nOnce you acquire leather you will be able to craft a &5Quiver&r which allows you to have easy access to up to 8 javelins! ", + "quests.combat_tips.javelin.task": "Any Javelin", + "quests.combat_tips.axe.title": "Axes", + "quests.combat_tips.axe.subtitle": "Good for more than wood", + "quests.combat_tips.axe.description": "Until you can upgrade, an axe will be your most reliable weapon. Along with high damage, they deal &6Slashing&r damage, which will help you against Creepers. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r.", + "quests.combat_tips.axe.task": "Any Axe", + "quests.combat_tips.knife.title": "Knives", + "quests.combat_tips.knife.subtitle": "Stabby stabby", + "quests.combat_tips.knife.description": "Knives are most useful for crafting, but they can be a weapon in a pinch. They deal &9Piercing&r damage, which can help you against Zombies. \n\nFor more information on &cDamage Types&r consult the &3Field Guide&r.", + "quests.combat_tips.knife.task": "Any Knife", + "quests.combat_tips.club.title": "Flint Club", + "quests.combat_tips.club.subtitle": "Gronk Bonk", + "quests.combat_tips.club.description": "The flint clubs are rather unconventional weapons. Instead of dealing damage, they will break your target's bones, stopping them in their tracks.\n\nBoth the standard and fortified flint clubs can be crafted with primitive materials. The fortified flint club boasts a faster attack speed and more durability.", + "quests.combat_tips.mold_main.title": "Primitive Metallurgy", + "quests.combat_tips.wood_shield.title": "Wooden Shield", + "quests.combat_tips.wood_shield.subtitle": "Skeletons hurt, like a lot", + "quests.combat_tips.wood_shield.description": "A shield will protect you from most damage sources you point it at. Be warned, it will &4not&r protect you from explosions.", + "quests.combat_tips.leather.title": "Leather Armor", + "quests.combat_tips.leather.subtitle": "Clothes at last", + "quests.combat_tips.leather.description": "Once you have leather, you will be able to get your first true armor. It isn't great, but it will provide that extra protection you may need. \n\nThey also give you a slight resistance to &6Slashing&r damage.", + "quests.combat_tips.mold_weapons.title": "Molded Weapons", + "quests.combat_tips.mold_weapons.subtitle": "The power of metal", + "quests.combat_tips.mold_weapons.description": "Molds allow you to make copper and bronze versions of all weapons, including three new types: Swords, Scythes, and Maces. \n\nSwords: These well rounded weapons deal &6Slashing&r damage. \n\nScythes: They do more damage than swords, but are slower. They deal &6Slashing&r damage. \n\nMaces: They are the best weapons that deal &2Crushing&r damage.", + "quests.combat_tips.mold_weapons.task1": "Any Sword", + "quests.combat_tips.mold_weapons.task2": "Any Scythe", + "quests.combat_tips.mold_weapons.task3": "Any Mace", + "quests.combat_tips.bow.title": "Bow and Arrow", + "quests.combat_tips.bow.subtitle": "Then I took an arrow to the knee...", + "quests.combat_tips.bow.description": "While javelins are cool, it's hard to beat a bow and arrow. Arrows can be expensive, so setting up a bird farm isn't a bad idea. Arrows deal &9Piercing&r damage. \n\nOnce you have leather you will be able to craft a &5Quiver&r which allows you to have easy access to up to 8 stacks of arrows!", + "quests.combat_tips.bow.task2": "Any Arrow", + "quests.combat_tips.bronze_main.title": "Bronze Age", + "quests.combat_tips.forged_weapons.title": "Forged Weapons", + "quests.combat_tips.forged_weapons.subtitle": "To wrought iron and beyond!", + "quests.combat_tips.forged_weapons.description": "From wrought iron and above you will need the appropriate anvil to forge them. Additionally, the anvil unlocks butchery knives. \n\nButchery Knives: Faster than swords, but do less damage. They allow you to get &cdouble&r meat from mobs. This doesn't affect any other drops.", + "quests.combat_tips.forged_weapons.task": "Any Butchery Knife", + "quests.combat_tips.shield.title": "Metal Shield", + "quests.combat_tips.shield.subtitle": "Premium protection", + "quests.combat_tips.shield.description": "Now these are some real shields. Using one of these will protect you from any damage, including explosions. \n\nThey also come in a bunch of fun shapes!", + "quests.combat_tips.shield.task": "Any Metal Shield", + "quests.combat_tips.armor.title": "Metal Armor", + "quests.combat_tips.armor.subtitle": "Only the shiniest suit of armor", + "quests.combat_tips.armor.description": "Metal armor requires a two-step forging process, but don't be scared off by its difficulty. Metal armor will boost your survival chances going into the &dBeneath&r or if you fight off a group of &3Illagers&r.\n\nAll metal armor will give you bonus protection to &6Slashing&r, &9Piercing&r, and &2Crushing&r damage", + "quests.combat_tips.armor.task1": "Any Metal Helmet", + "quests.combat_tips.armor.task2": "Any Metal Chestplate", + "quests.combat_tips.armor.task3": "Any Metal Greaves", + "quests.combat_tips.armor.task4": "Any Metal Boots", + "quests.combat_tips.iron_main.title": "Iron Age", + "quests.combat_tips.crossbow.title": "Crossbow", + "quests.combat_tips.crossbow.subtitle": "It's like a manual gun", + "quests.combat_tips.crossbow.description": "Quite simply, it functions the same as the vanilla crossbow. Similar to the bow you can use a &5Quiver&r to hold up to 8 stacks of arrows.", + "quests.combat_tips.flintlock_mechanism.title": "Flintlock Mechanism", + "quests.combat_tips.flintlock_mechanism.subtitle": "Sparks on demand!", + "quests.combat_tips.flintlock_mechanism.description": "This is your first &2Gun Mechanism&r, which are the main crafting components of most guns. The &6Flintlock Mechanism&r allows you to make your first two guns! The first of which is the &9Flintlock Pistol&r.\n\nOnce you acquire steel you will be able to make a much cheaper &6Flintlock Mechanism&r.", + "quests.combat_tips.flintlock_gun.title": "Flintlock Pistol", + "quests.combat_tips.flintlock_gun.subtitle": "Eat Lead!", + "quests.combat_tips.flintlock_gun.description": "Well this is the moment you have been waiting for, it's a gun. Now it's not that good of a gun, but technology has to start somewhere. Guns have many advantages compared to other ranged weapons, useful to you now is that &3Glayzes&r and &2Klayzes&r cannot block bullets.\n\nFor more information on how TACZ guns work view the gun at the top of this quest chapter.", "quests.tasktype.checkmark": "Click here to complete this quest/task", "quests.tasktype.item.any": "Any Item of type:", "quests.tasktype.lookat": "Look at a:", @@ -3242,7 +3305,7 @@ "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4032mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", "quests.metal_age.fire_bricks.title": "Fire Bricks", "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", - "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Sheets around the Fire Bricks, or use Blast Furnace Insulation", + "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Plates around the Fire Bricks, or use Blast Furnace Insulation", "quests.metal_age.fully_stacked_blast_furnace.title": "Fully Stacked Blast Furnace", "quests.metal_age.fully_stacked_blast_furnace.subtitle": "The completed Blast Furnace", "quests.metal_age.fully_stacked_blast_furnace.desc": "A full size Blast Furnace is able to melt and process large amounts of iron at once. It's a good idea to make it bigger when you can, because you'll need a lot of steel for the future.\n\nAfter you've got your first Steam Alloy Smelter, you'll be able to create more Fire Bricks more cheaply.", @@ -4508,7 +4571,7 @@ "quests.tfg_tips.firmaciv_info.desc": "&3Firma:Civ&r comes with 4 different navigational tools, each giving you important information about your position in the world.\nIncludes the &dSextant&r, &dNavigator's Timepiece&r, &dBarometer&r, and &dCompass&r; more information about the tools in the &2Field Guide.&r\n\n&3&lLore:&r&o: Firma:Civ by default removes coordinates to make you use its navigational tools. We can't do that here, so uh, use them if you want to LARP.", "quests.tfg_tips.warfare.title": "Sea Warfare", "quests.tfg_tips.warfare.subtitle": "FIRE ALL CANNONS!", - "quests.tfg_tips.warfare.desc": "You can outfit your &bSloop&r with firepower via the &dCannon&r and cannon balls, in case you want to blow something to smithereens.\nTo fire a cannon, you'll need to load it with some &aGunpowder, Unrefined Paper&r and your &aCannon Ball&r. Then light the wick with &cFlint and Steel.&r", + "quests.tfg_tips.warfare.desc": "You can outfit your &bSloop&r with firepower via the &dCannon&r and cannon balls, in case you want to blow something to smithereens.\nTo fire a cannon, you'll need to load it with some &aGunpowder, Unrefined Paper&r and your &aCannon Ball&r. Then light the wick with &cFlint and Steel.&r\n\nDon't have a &bSloop&r? Don't worry! Cannons can be placed and fired on the ground the same way you would fire one on a &bSloop&r.", "quests.tfg_tips.kayak_materials.title": "The Kayak", "quests.tfg_tips.kayak_materials.subtitle": "Get yourself that Kayak.", "quests.tfg_tips.kayak_materials.desc": "The &dKayak&r is the second most simple boat you can craft, requiring &bWaxes&r for the &aWaterproof Hides&r. It is also the &conly&r boat that can be picked up as an item. Despite having a &dsingle passenger&r slot, it is the fastest boat in the game until the steel age &dSloop!&r", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 964cce006..08bcf52cb 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2610,7 +2610,7 @@ "quests.metal_age.crucible.desc": "The Crucible is placed on top of a Forge. It comes with 9 inventory slots and has a capacity for 4032mB of fluid, including an interface to check your alloying ratios. They also retain their contents when broken. They can also collect Pig Iron when placed below a Blast Furnace.\n\nKeep in mind that the crucible WILL try to alloy everything inside it - it does not keep metals separate like a TC Smeltery - so it's a good idea to keep it clean when you aren't using it.", "quests.metal_age.fire_bricks.title": "Fire Bricks", "quests.metal_age.fire_bricks.subtitle": "For the Blast Furnace", - "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Sheets around the Fire Bricks, or use Blast Furnace Insulation", + "quests.metal_age.fire_bricks.desc": "Fire Bricks are used in the construction of the Blast Furnace, you need at the very least 4 Bricks to make the furnace.\n\nThe Bricks will require insulation to make sure the process of making steel is effective, you can either place 3 Wrought Iron Plates around the Fire Bricks, or use Blast Furnace Insulation", "quests.metal_age.fully_stacked_blast_furnace.title": "Fully Stacked Blast Furnace", "quests.metal_age.fully_stacked_blast_furnace.subtitle": "The completed Blast Furnace", "quests.metal_age.fully_stacked_blast_furnace.desc": "A full size Blast Furnace is able to melt and process large amounts of iron at once. It's a good idea to make it bigger when you can, because you'll need a lot of steel for the future.\n\nAfter you've got your first Steam Alloy Smelter, you'll be able to create more Fire Bricks more cheaply.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 637d57b4b..1b2b2cb5e 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -458,40 +458,40 @@ "block.tfg.mv_aqueous_accumulator": "§bУлучшенный жидкостный коллектор§r", "block.tfg.hv_aqueous_accumulator": "§6Улучшенный жидкостный коллектор II§r", "block.tfg.ev_aqueous_accumulator": "§5Улучшенный жидкостный коллектор III§r", - "block.tfg.iv_aqueous_accumulator": "§9Elite Aqueous Accumulator§r", - "block.tfg.luv_aqueous_accumulator": "§dElite Aqueous Accumulator II§r", - "block.tfg.zpm_aqueous_accumulator": "§cElite Aqueous Accumulator III§r", - "block.tfg.uv_aqueous_accumulator": "§3Ultimate Aqueous Accumulator§r", + "block.tfg.iv_aqueous_accumulator": "§9Превосходный жидкостный коллектор§r", + "block.tfg.luv_aqueous_accumulator": "§dПревосходный жидкостный коллектор II§r", + "block.tfg.zpm_aqueous_accumulator": "§cПревосходный жидкостный коллектор III§r", + "block.tfg.uv_aqueous_accumulator": "§3Безупречный жидкостный коллектор§r", "block.tfg.electric_greenhouse": "Электротеплица", - "block.tfg.lv_food_processor": "Basic Food Processor", - "block.tfg.mv_food_processor": "§bAdvanced Food Processor§r", - "block.tfg.hv_food_processor": "§6Advanced Food Processor II§r", - "block.tfg.ev_food_processor": "§5Advanced Food Processor III§r", - "block.tfg.iv_food_processor": "§9Elite Food Processor§r", - "block.tfg.luv_food_processor": "§dElite Food Processor II§r", - "block.tfg.zpm_food_processor": "§cElite Food Processor III§r", - "block.tfg.uv_food_processor": "§3Ultimate Food Processor§r", - "block.tfg.lv_food_oven": "Basic Electric Oven", - "block.tfg.mv_food_oven": "§bAdvanced Electric Oven§r", - "block.tfg.hv_food_oven": "§6Advanced Electric Oven II§r", - "block.tfg.ev_food_oven": "§5Advanced Electric Oven III§r", - "block.tfg.iv_food_oven": "§9Elite Electric Oven§r", - "block.tfg.luv_food_oven": "§dElite Electric Oven II§r", - "block.tfg.zpm_food_oven": "§cElite Electric Oven III§r", - "block.tfg.uv_food_oven": "§3Ultimate Electric Oven§r", - "block.tfg.lv_food_refrigerator": "Basic Refrigerator", - "block.tfg.mv_food_refrigerator": "§bAdvanced Refrigerator", - "block.tfg.hv_food_refrigerator": "§6Advanced Refrigerator II§r", - "block.tfg.ev_food_refrigerator": "§5Advanced Refrigerator III§r", - "block.tfg.iv_food_refrigerator": "§9Elite Refrigerator§r", - "block.tfg.lv_gas_pressurizer": "Basic Gas Pressurizer", - "block.tfg.mv_gas_pressurizer": "§bAdvanced Gas Pressurizer§r", - "block.tfg.hv_gas_pressurizer": "§6Advanced Gas Pressurizer II§r", - "block.tfg.ev_gas_pressurizer": "§5Advanced Gas Pressurizer III§r", - "block.tfg.iv_gas_pressurizer": "§9Elite Gas Pressurizer§r", - "block.tfg.luv_gas_pressurizer": "§dElite Gas Pressurizer II§r", - "block.tfg.zpm_gas_pressurizer": "§cElite Gas Pressurizer III§r", - "block.tfg.uv_gas_pressurizer": "§3Ultimate Gas Pressurizer§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", + "block.tfg.ev_food_oven": "§5Улучшенная электрическая духовка III§r", + "block.tfg.iv_food_oven": "§9Превосходная электрическая духовка§r", + "block.tfg.luv_food_oven": "§dПревосходная электрическая духовка II§r", + "block.tfg.zpm_food_oven": "§cПревосходная электрическая духовка III§r", + "block.tfg.uv_food_oven": "§3Безупречная электрическая духовка§r", + "block.tfg.lv_food_refrigerator": "Обычный холодильник", + "block.tfg.mv_food_refrigerator": "§bУлучшенный холодильник", + "block.tfg.hv_food_refrigerator": "§6Улучшенный холодильник II§r", + "block.tfg.ev_food_refrigerator": "§5Улучшенный холодильник III§r", + "block.tfg.iv_food_refrigerator": "§9Превосходный холодильник§r", + "block.tfg.lv_gas_pressurizer": "Обычный газовый компрессор", + "block.tfg.mv_gas_pressurizer": "§bУлучшенный газовый компрессор§r", + "block.tfg.hv_gas_pressurizer": "§6Улучшенный газовый компрессор II§r", + "block.tfg.ev_gas_pressurizer": "§5Улучшенный газовый компрессор III§r", + "block.tfg.iv_gas_pressurizer": "§9Превосходный газовый компрессор§r", + "block.tfg.luv_gas_pressurizer": "§dПревосходный газовый компрессор II§r", + "block.tfg.zpm_gas_pressurizer": "§cПревосходный газовый компрессор III§r", + "block.tfg.uv_gas_pressurizer": "§3Безупречный газовый компрессор§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", "block.tfg.fluid.sulfur_fumes": "Пары серы", "block.tfg.fluid.geyser_slurry": "Метастабильный шлам", @@ -523,34 +523,34 @@ "block.tfg.groundcover.alphacene_stick": "Веточка альфаценового гриба", "block.tfg.mars_ice": "Полутяжёлый аммиачный лёд", "block.tfg.mars_icicle": "Полутяжёлая аммиачная сосулька", - "block.tfg.electromagnetic_accelerator": "Electromagnetic Accelerator", - "block.tfg.superconductor_coil_large": "Large Superconductor Coil", - "block.tfg.superconductor_coil_small": "Small Superconductor Coil", - "block.tfg.interplanetary_item_launcher": "Interplanetary Railgun", - "block.tfg.interplanetary_item_receiver": "Interplanetary Receiver", - "block.tfg.interplanetary_logistics_monitor": "Interplanetary Logistics Monitor", - "block.tfg.railgun_ammo_loader": "Railgun Ammo Loader", - "block.tfg.ulv_railgun_item_loader_in": "§8ULV Interplanetary Railgun Input Bus§r", - "block.tfg.lv_railgun_item_loader_in": "§7LV Interplanetary Railgun Input Bus§r", - "block.tfg.mv_railgun_item_loader_in": "§bMV Interplanetary Railgun Input Bus§r", - "block.tfg.hv_railgun_item_loader_in": "§6HV Interplanetary Railgun Input Bus§r", - "block.tfg.ev_railgun_item_loader_in": "§5EV Interplanetary Railgun Input Bus§r", - "block.tfg.iv_railgun_item_loader_in": "§9IV Interplanetary Railgun Input Bus§r", - "block.tfg.luv_railgun_item_loader_in": "§dLuV Interplanetary Railgun Input Bus§r", - "block.tfg.zpm_railgun_item_loader_in": "§cZPM Interplanetary Railgun Input Bus§r", - "block.tfg.uv_railgun_item_loader_in": "§3UV Interplanetary Railgun Input Bus§r", - "block.tfg.uhv_railgun_item_loader_in": "§4UHV Interplanetary Railgun Input Bus§r", - "block.tfg.ulv_railgun_item_loader_out": "§8ULV Interplanetary Railgun Output Bus§r", - "block.tfg.lv_railgun_item_loader_out": "§7LV Interplanetary Railgun Output Bus§r", - "block.tfg.mv_railgun_item_loader_out": "§bMV Interplanetary Railgun Output Bus§r", - "block.tfg.hv_railgun_item_loader_out": "§6HV Interplanetary Railgun Output Bus§r", - "block.tfg.ev_railgun_item_loader_out": "§5EV Interplanetary Railgun Output Bus§r", - "block.tfg.iv_railgun_item_loader_out": "§9IV Interplanetary Railgun Output Bus§r", - "block.tfg.luv_railgun_item_loader_out": "§dLuV Interplanetary Railgun Output Bus§r", - "block.tfg.zpm_railgun_item_loader_out": "§cZPM Interplanetary Railgun Output Bus§r", - "block.tfg.uv_railgun_item_loader_out": "§3UV Interplanetary Railgun Output Bus§r", - "block.tfg.uhv_railgun_item_loader_out": "§4UHV Interplanetary Railgun Output Bus§r", - "block.tfg.reflector": "Reflector Block", + "block.tfg.electromagnetic_accelerator": "Электромагнитый ускоритель", + "block.tfg.superconductor_coil_large": "Большая сверхпроводящая катушка", + "block.tfg.superconductor_coil_small": "Маленькая сверхпроводящая катушка", + "block.tfg.interplanetary_item_launcher": "Межпланетный рельсотрон", + "block.tfg.interplanetary_item_receiver": "Межпланетный приемник", + "block.tfg.interplanetary_logistics_monitor": "Межпланетный логистический монитор", + "block.tfg.railgun_ammo_loader": "Загрузчик патронов рельсотрона", + "block.tfg.ulv_railgun_item_loader_in": "§8Входной люк межпланетного рельсотрона(ULV)§r", + "block.tfg.lv_railgun_item_loader_in": "§7Входной люк межпланетного рельсотрона(LV)§r", + "block.tfg.mv_railgun_item_loader_in": "§bВходной люк межпланетного рельсотрона(MV)§r", + "block.tfg.hv_railgun_item_loader_in": "§6Входной люк межпланетного рельсотрона(HV)§r", + "block.tfg.ev_railgun_item_loader_in": "§5Входной люк межпланетного рельсотрона(EV)§r", + "block.tfg.iv_railgun_item_loader_in": "§9Входной люк межпланетного рельсотрона(IV)§r", + "block.tfg.luv_railgun_item_loader_in": "§dВходной люк межпланетного рельсотрона(LuV)§r", + "block.tfg.zpm_railgun_item_loader_in": "§cВходной люк межпланетного рельсотрона(ZPM)§r", + "block.tfg.uv_railgun_item_loader_in": "§3Входной люк межпланетного рельсотрона(UV)§r", + "block.tfg.uhv_railgun_item_loader_in": "§4Входной люк межпланетного рельсотрона(UHV)§r", + "block.tfg.ulv_railgun_item_loader_out": "§8Выходной люк межпланетного рельсотрона(ULV)§r", + "block.tfg.lv_railgun_item_loader_out": "§7Выходной люк межпланетного рельсотрона(LV)§r", + "block.tfg.mv_railgun_item_loader_out": "§bВыходной люк межпланетного рельсотрона(MV)§r", + "block.tfg.hv_railgun_item_loader_out": "§6Выходной люк межпланетного рельсотрона(HV)§r", + "block.tfg.ev_railgun_item_loader_out": "§5Выходной люк межпланетного рельсотрона(EV)§r", + "block.tfg.iv_railgun_item_loader_out": "§9Выходной люк межпланетного рельсотрона(IV)§r", + "block.tfg.luv_railgun_item_loader_out": "§dВыходной люк межпланетного рельсотрона(LuV)§r", + "block.tfg.zpm_railgun_item_loader_out": "§cВыходной люк межпланетного рельсотрона(ZPM)§r", + "block.tfg.uv_railgun_item_loader_out": "§3Выходной люк межпланетного рельсотрона(UV)§r", + "block.tfg.uhv_railgun_item_loader_out": "§4Выходной люк межпланетного рельсотрона(UHV)§r", + "block.tfg.reflector": "Блок отражателя", "block.tfg.sunflower": "Подсолнух", "block.tfg.sunflower_wild": "Дикорастущий подсолнух", "block.tfg.sunflower_dead": "Погибший подсолнух", @@ -560,23 +560,23 @@ "block.tfg.flax": "Лён", "block.tfg.flax_wild": "Дикорастущий лён", "block.tfg.flax_dead": "Погибший лён", - "block.tfg.casings.machine_casing_iron_desh": "Desh Machine Casing", - "block.tfg.casings.machine_casing_stainless_evaporation": "Stainless Evaporation Machine Casing", - "block.tfg.casings.machine_casing_vacuum_engine_intake": "Vacuum Engine Intake Machine Casing", - "block.tfg.casings.machine_casing_mars": "Robust Dust-Proof Machine Casing", - "block.tfg.casings.machine_casing_blue_solar_panel": "Basic Solar Panel Casing", - "block.tfg.casings.machine_casing_green_solar_panel": "Advanced Solar Panel Casing", - "block.tfg.casings.machine_casing_red_solar_panel": "Elite Solar Panel Casing", - "block.tfg.machine_casing_aluminium_plated_steel": "Aluminium Plated Steel Machine Casing", - "block.tfg.casings.machine_casing_ultraviolet": "§dUltraviolet §fMachine Casing", - "block.tfg.casings.machine_casing_bioculture": "Bioculture Machine Casing", - "block.tfg.casings.machine_casing_bioculture_glass": "Bioculture Glass", - "block.tfg.casings.bioculture_rotor_primary": "Primary Bioculture Rotor", - "block.tfg.casings.bioculture_rotor_secondary": "Secondary Bioculture Rotor", - "block.tfg.casings.machine_casing_ostrum_carbon": "Ostrum Machine Casing", - "block.tfg.casings.heat_pipe_casing": "Heat Pipe Casing", - "block.tfg.glacian_wool_frame": "Framed Glacian Wool", - "block.tfg.aes_insulation_frame": "Framed AES Insulation", + "block.tfg.casings.machine_casing_iron_desh": "Корпус из деша", + "block.tfg.casings.machine_casing_stainless_evaporation": "Нержавеющий корпус испарительных машин", + "block.tfg.casings.machine_casing_vacuum_engine_intake": "Корпус вакуумного впускного механизма двигателя", + "block.tfg.casings.machine_casing_mars": "Крепкий пылезащищенный корпус", + "block.tfg.casings.machine_casing_blue_solar_panel": "Корпус для обычных солнечных панелей", + "block.tfg.casings.machine_casing_green_solar_panel": "Корпус для улучшенных солнечных панелей", + "block.tfg.casings.machine_casing_red_solar_panel": "Корпус для превосходных солнечных панелей", + "block.tfg.machine_casing_aluminium_plated_steel": "Обитый алюминием стальной корпус", + "block.tfg.casings.machine_casing_ultraviolet": "§dУльтрафиолетовый§f корпус", + "block.tfg.casings.machine_casing_bioculture": "Биокультурный лабораторный корпус", + "block.tfg.casings.machine_casing_bioculture_glass": "Биокультурное лабораторное стекло", + "block.tfg.casings.bioculture_rotor_primary": "Основной биокультурный лабораторный ротор", + "block.tfg.casings.bioculture_rotor_secondary": "Дополнительный биокультурный лабораторный ротор", + "block.tfg.casings.machine_casing_ostrum_carbon": "Острумный корпус", + "block.tfg.casings.heat_pipe_casing": "Теплопроводный корпус", + "block.tfg.glacian_wool_frame": "Гласианская шерсть в каркасе", + "block.tfg.aes_insulation_frame": "ЩЗС-изоляция в каркасе", "block.tfg.sand.fluorapatite.blue": "Синий фторапатитный песок", "block.tfg.sandstone.raw.fluorapatite.blue": "Синий фторапатитный песчаник", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Ограда из синего фторапатитного песчаника", @@ -653,17 +653,17 @@ "block.tfg.titanium_concrete_bricks": "Кирпичи из бетона на титановых арматурных стержнях", "block.tfg.titanium_concrete_bricks_small": "Маленькие кирпичи из бетона на титановых арматурных стержнях", "block.tfg.titanium_concrete_bricks_square": "Квадратные кирпичи из бетона на титановых арматурных стержнях", - "block.tfg.nuclear_turbine": "Nuclear Steam Turbine", - "block.tfg.evaporation_tower": "Evaporation Tower", - "block.tfg.cooling_tower": "Nuclear Cooling Tower", - "block.tfg.growth_monitor": "Growth Monitor", + "block.tfg.nuclear_turbine": "Ядерная паровая турбина", + "block.tfg.evaporation_tower": "Испарительная колонна", + "block.tfg.cooling_tower": "Градирня ядерного охлаждения", + "block.tfg.growth_monitor": "Монитор роста", "block.tfg.sample_rack": "Стойка для образцов", "block.tfg.casings.machine_casing_sterilizing_pipes": "Стерилизующие трубы", - "fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water", + "fluid.tfg.heavy_ammoniacal_water": "Тяжёлая аммиачная вода", "fluid.tfg.semiheavy_ammoniacal_water": "Полутяжёлая аммиачная вода", "fluid.tfg.sulfur_fumes": "Пары серы", "fluid.tfg.geyser_slurry": "Метастабильный шлам", - "fluid.tfg.cryogenized_fluix": "Cryogenized Fluix", + "fluid.tfg.cryogenized_fluix": "Криогенный флюис", "item.tfg.antipoison_pill": "Пилюля противоядия", "item.tfg.haste_pill": "Пилюля спешки", "item.tfg.night_vision_pill": "Пилюля ночного зрения", @@ -959,27 +959,27 @@ "item.tfg.dirty_dna_syringe": "Грязный шприц", "item.tfg.clean_dna_syringe": "Чистый шприц", "item.tfg.stainless_steel_needle": "Игла из нержавеющей стали", - "item.tfg.empty_rod": "Empty 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.refrigerant_pellet": "Refrigerant Pellet", - "item.tfg.graphite_compound": "Graphite Compound", - "item.tfg.raw_graphite_briquette": "Raw Graphite Briquette", - "item.tfg.faulty_graphite_briquette": "Faulty Graphite Briquette", - "item.tfg.washed_graphite_briquette": "Washed Graphite Briquette", - "item.tfg.pure_graphite_rod": "Pure Graphite Rod", - "item.tfg.impure_graphite_rod": "Impure Graphite Rod", - "item.tfg.annealed_graphite_rod": "Annealed Graphite Rod", - "item.tfg.impure_annealed_graphite_row": "Impure Annealed Graphite Rod", - "item.tfg.moderate_core": "Moderate Core", - "item.tfg.impure_moderate_core": "Impure Moderate Core", - "item.tfg.moderate_core_frame": "Moderate Core Frame", - "item.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame", - "item.tfg.graphite_moderator": "Graphite Moderator", - "item.tfg.impure_graphite_moderator": "Impure Graphite Moderator", - "item.tfg.advanced_polymer_binder": "Advanced Polymer Binder", + "item.tfg.empty_rod": "Пустой топливный стержень", + "item.tfg.thorium_rod": "Ториевый топливный стержень", + "item.tfg.uranium_rod": "Ураниевый топливный стержень", + "item.tfg.plutonium_rod": "Плутоневый топливный стержень", + "item.tfg.tbu_232_rod": "Ториево-ураниевый (TBU-232) топливный стержень", + "item.tfg.refrigerant_pellet": "Охлаждающая гранула", + "item.tfg.graphite_compound": "Графитовый компаунд", + "item.tfg.raw_graphite_briquette": "Брикет из необработанного графита", + "item.tfg.faulty_graphite_briquette": "Бракованный графитовый брикет", + "item.tfg.washed_graphite_briquette": "Брикет из промытого графита", + "item.tfg.pure_graphite_rod": "Стержень из чистого графита", + "item.tfg.impure_graphite_rod": "Стержень из нечистого графита", + "item.tfg.annealed_graphite_rod": "Отожженный графитовый стержень", + "item.tfg.impure_annealed_graphite_row": "Нечистый отожженный графитовый стержень", + "item.tfg.moderate_core": "Стабилизирующее ядро", + "item.tfg.impure_moderate_core": "Нечистый стабилизирующее ядро", + "item.tfg.moderate_core_frame": "Каркас с стабилизирующее ядром", + "item.tfg.impure_moderate_core_frame": "Каркас с нечистым стабилизирующее ядром", + "item.tfg.graphite_moderator": "Графитный стабилизатор", + "item.tfg.impure_graphite_moderator": "Нечистый графитный стабилизатор", + "item.tfg.advanced_polymer_binder": "Усовершенствованное полимерное связующее", "item.tfg.beaker": "Химический стакан", "item.tfg.beaker.filled": "Химический стакан (%s)", "item.tfg.flask": "Колба", @@ -1011,7 +1011,7 @@ "item.tfg.bell_casting_mold": "Отливная форма (Колокол)", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканический латекс", - "material.tfg.fluix": "Флакс", + "material.tfg.fluix": "Флюис", "material.tfg.conifer_pitch": "Хвойная смола", "material.gtceu.lactose": "Лактоза", "material.tfg.gabbro": "Габбро", @@ -1037,61 +1037,61 @@ "material.gtceu.thermochemically_treated_hardwood": "Термохимически обработанная твёрдая древесина", "material.gtceu.hardwood": "Твёрдая древесина", "material.gtceu.asurine": "Азурин", - "material.gtceu.ochrum": "Ochrum", - "material.gtceu.veridium": "Veridium", - "material.gtceu.crimsite": "Crimsite", - "material.gtceu.scoria": "Scoria", - "material.gtceu.scorchia": "Scorchia", + "material.gtceu.ochrum": "Охрум", + "material.gtceu.veridium": "Веридий", + "material.gtceu.crimsite": "Кримит", + "material.gtceu.scoria": "Пепел", + "material.gtceu.scorchia": "Тёмный пепел", "material.tfg.kaolinite": "Каолинит", - "material.tfg.vitrified_pearl": "Vitrified Ender", - "material.tfg.aes_mix": "Alkaline Earth Silicate Mixture", - "material.tfg.molten_aes": "Molten Alkaline Earth Silicate", - "material.tfg.compressed_nitrox": "Compressed Nitrox", - "material.tfg.compressed_heliox": "Compressed Heliox", - "material.tfg.compressed_heliox_3": "Compressed Heliox-3", - "material.tfg.compressed_trimix": "Compressed 50/30/20 Trimix", - "material.tfg.compressed_trimix_3": "Compressed 50/30/20 Trimix-3", - "material.tfg.chlorodifluoromethane": "Chlorodifluoromethane", - "material.tfg.acetylene": "Acetylene", - "material.tfg.1_1_1_2_tetrafluoroethane": "1,1,1,2-Tetrafluoroethane", - "material.tfg.isobutane": "Isobutane", - "material.tfg.chloryl_fluoride": "Chloryl Fluoride", - "material.tfg.chlorine_pentafluoride": "Chlorine Pentafluoride", - "material.tfg.solar_coolant": "Solar Coolant", - "material.tfg.solar_coolant_tier2": "Aerospatial Solar Coolant", - "material.tfg.sodium_hydride": "Sodium Hydride", - "material.tfg.boric_acid": "Boric Acid", - "material.tfg.trimethyl_borate": "Trimethyl Borate", - "material.tfg.sodium_borohydride": "Sodium Borohydride", - "material.tfg.sodium_methoxide": "Sodium Methoxide", - "material.tfg.ammonia_borane": "Ammonia Borane", - "material.tfg.aniline": "Aniline", - "material.tfg.dimethyl_carbonate": "Dimethyl Carbonate", - "material.tfg.methyl_phenylcarbamate": "Methyl N-Phenylcarbamate", - "material.tfg.methylene_diphenyl_dicarbamate": "Methylene Diphenyl-4,4'-dicarbamate", - "material.tfg.methylene_diphenyl_diisocyanate": "Methylene Diphenyl-4,4'-diisocyanate", - "material.tfg.tmos": "Tetramethoxysilane", - "material.tfg.silica_gel": "Silica Gel", - "material.tfg.soaked_silica_gel": "Acetone Soaked Silica Gel", - "material.tfg.heavy_water": "Heavy Water", - "material.tfg.semiheavy_water": "Semiheavy Water", - "material.tfg.nuclear_residue": "Nuclear Residue", - "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue", - "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue", - "material.tfg.mars_air": "Mars Air", - "material.tfg.liquid_mars_air": "Liquid Mars Air", - "material.tfg.certus_regolith": "Certus Regolith", - "material.tfg.goethe_regolith": "Goethe Regolith", - "material.tfg.bright_regolith": "Bright Regolith", - "material.tfg.cassiterite_regolith": "Cassiterite Regolith", - "material.tfg.regolith_mush": "Regolith Mush", - "material.tfg.apt": "Ammonium Paratungstate", - "material.tfg.ammonium_tungstate": "Ammonium Tungstate", - "material.tfg.tungsten_bismuth_oxide_composite": "Tungsten-Bismuth Oxide Composite", - "material.tfg.tungsten_oxide": "Tungsten Oxide", - "material.tfg.sodium_tungstate": "Sodium Tungstate", - "material.tfg.tetrafluoroethane": "Tetrafluoroethane", - "material.tfg.thermally_conductive_fluid": "Thermally Conductive Fluid", + "material.tfg.vitrified_pearl": "Остеклованный эндер", + "material.tfg.aes_mix": "Щелочноземельный силикат", + "material.tfg.molten_aes": "Расплавленный щелочноземельный силикат", + "material.tfg.compressed_nitrox": "Сжатый нитрокс", + "material.tfg.compressed_heliox": "Сжатый гелиокс", + "material.tfg.compressed_heliox_3": "Сжатый гелиокс-3", + "material.tfg.compressed_trimix": "Сжатый 50/30/20 тримикс", + "material.tfg.compressed_trimix_3": "Сжатый 50/30/20 тримикс-3", + "material.tfg.chlorodifluoromethane": "Хлордифторметан", + "material.tfg.acetylene": "Ацетилен", + "material.tfg.1_1_1_2_tetrafluoroethane": "1,1,1,2-тетрафторэтан", + "material.tfg.isobutane": "Изобутан", + "material.tfg.chloryl_fluoride": "Хлорилфторид", + "material.tfg.chlorine_pentafluoride": "Пентафторид хлора", + "material.tfg.solar_coolant": "Солнечный хладагент", + "material.tfg.solar_coolant_tier2": "Авиационно-космический солнечный хладагент", + "material.tfg.sodium_hydride": "Гидрид натрия", + "material.tfg.boric_acid": "Борная кислота", + "material.tfg.trimethyl_borate": "Борно-триметиловый эфир", + "material.tfg.sodium_borohydride": "Боргидрит натрия", + "material.tfg.sodium_methoxide": "Метоксид натрия", + "material.tfg.ammonia_borane": "Боразан", + "material.tfg.aniline": "Анилин", + "material.tfg.dimethyl_carbonate": "Диметил-карбонат", + "material.tfg.methyl_phenylcarbamate": "Метил N-Фенилкарбамат", + "material.tfg.methylene_diphenyl_dicarbamate": "Метилен дифенил-4,4'-дикарбамат", + "material.tfg.methylene_diphenyl_diisocyanate": "Метилен дифенил-4,4'-диизоцианат", + "material.tfg.tmos": "Тетраметоксисилан", + "material.tfg.silica_gel": "Силикагель", + "material.tfg.soaked_silica_gel": "Наполненный ацетоном силикагель", + "material.tfg.heavy_water": "Тяжёлая вода", + "material.tfg.semiheavy_water": "Полутяжелая вода", + "material.tfg.nuclear_residue": "Ядерные отходы", + "material.tfg.oxidized_nuclear_residue": "Окисленные ядерные отходы", + "material.tfg.refined_nuclear_residue": "Переработанные ядерные отходы", + "material.tfg.mars_air": "Марсианский воздух", + "material.tfg.liquid_mars_air": "Жидкий марсианский воздух", + "material.tfg.certus_regolith": "Кварцевый реголит", + "material.tfg.goethe_regolith": "Гётитовый реголит", + "material.tfg.bright_regolith": "Яркий реголит", + "material.tfg.cassiterite_regolith": "Кассеритовый реголит", + "material.tfg.regolith_mush": "Реголитовая каша", + "material.tfg.apt": "Паравольфрамат аммония", + "material.tfg.ammonium_tungstate": "Вольфрамат аммония", + "material.tfg.tungsten_bismuth_oxide_composite": "Композит оксида вольфрама-висмута", + "material.tfg.tungsten_oxide": "Оксид вольфрама", + "material.tfg.sodium_tungstate": "Вольфрамат натрия", + "material.tfg.tetrafluoroethane": "Тетрафторэтан", + "material.tfg.thermally_conductive_fluid": "Теплопроводящая жидкость", "material.tfg.crimsene": "Багреллий", "material.tfg.warpane": "Искажеллий", "material.tfg.mycelienzene": "Мицезоллий", @@ -1487,7 +1487,7 @@ "tfg.food_recipe.drying": "Сушка", "tfg.food_recipe.freeze_drying": "Лиофилизация", "tfg.recipe.macerator_warning": "Only outputs first slot until HV", - "tfg.grapplemod.repair": "Рецепт починки, сохраняет ваши улучшения. §НИКОГДА не объединяйте две крюк-кошки или вы потеряете ВСЕ ваши улучшения!§r", + "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", @@ -2027,167 +2027,194 @@ "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.gregtech_energy": "Энергетика GregTech", - "quests.gregtech_energy.subtitle": "Итак, как всё это работает?", - "quests.gregtech_energy.start.title": "Let's do some explaining", - "quests.gregtech_energy.start.desc": "We know that GregTech isn’t the easiest mod to get into — especially when it comes to the &cenergy system&r. That’s why we’ll take our time in this chapter to explain as much as we can.\n\nSome things here might not make full sense until later in your progression, so don’t stress yourself. Just try to understand what you can for now, and feel free to &dcome back to this chapter&r whenever you have questions.\n\nWe’ve split this chapter into &efour categories&r, each one covering a topic related to the GregTech Energy System. We’ll provide as many examples as possible to help you understand how it all works.", - "quests.gregtech_energy.start.task": "Welcome aboard", - "quests.gregtech_energy.start.subtitle": "It's not as bad as you think", - "quests.gregtech_energy.moving.title": "Moving your Energy", - "quests.gregtech_energy.moving.subtitle": "So, energy transfer, huh", - "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire= &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", - "quests.gregtech_energy.moving.task": "I understand", - "quests.gregtech_energy.transformer.title": "The Super Transformer", - "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", - "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can channel energy between any tiers — from &aLV&r to &cUHV&r — with no explosions. But that's not even the best part.\n\nIt can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", - "quests.gregtech_energy.moving_wire.title": "Moving with wires", - "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", - "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", - "quests.gregtech_energy.moving_wire.task": "I finished looking at wires", - "quests.gregtech_energy.moving_amp.title": "Managing Amp", - "quests.gregtech_energy.moving_amp.subtitle": "It burns?", - "quests.gregtech_energy.moving_amp.desc.1": "You’ll notice each wire has its own &eMax Amperage&r — that’s the amount of amps a cable can safely carry before burning.\nTo know how many amps will flow through a cable, you must consider two things:\n\n- A Generator or Battery outputs a specific amount of Amps:\nBattery Buffers will output as many amps as they have batteries inside.\nEvery single-block generator outputs &e1A&r.\nFor multiblock generators, it depends on the &aDynamo Energy Hatch&r — the value is shown in its tooltip.\n\nAmperage output is also based on what is needed: each machine connected to a power line will request amps to fill its internal buffer.", - "quests.gregtech_energy.moving_amp.desc.2": "Let’s look at an example:\nYou have &e6 machines&r connected to an &e8x Battery Buffer&r filled with 8 batteries.\nThe buffer will try to send &e1A&r to each machine — that’s &e6A&r total.\nThe amps are delivered in order: the closest machines get power first, and the furthest ones last.\nIf your cables only support &c4A&r, they’ll &cBURN&r. You’ll need &a8A cables&r in this case.\n\n&bTip:&r The first machine in the line might need a cable that handles &e8A&r,\nbut the last machine may only need &e1A&r, as it’s only receiving what’s left.\n&c⚠ Be careful:&r adding another machine at the end could cause the cable to burn if it exceeds the limit.", - "quests.gregtech_energy.moving_amp.task": "I got it", - "quests.gregtech_energy.produce_energy.title": "Producing Energy", - "quests.gregtech_energy.produce_energy.subtitle": "Gas or Oil?", - "quests.gregtech_energy.produce_energy.desc": "It’s all about making energy, right? This part won’t be the most complicated one, since &eproducing energy&r in &2TerraFirmaGreg&r works pretty much like in &5standard GregTech&r.\n\nYou’ll learn about the various &6methods to generate energy&r, as well as some of the &afuels&r you can use to get the most out of your setup.", - "quests.gregtech_energy.produce_energy.task": "Let's go!", - "quests.gregtech_energy.lv_generator.title": "Let's make energy", - "quests.gregtech_energy.lv_generator.subtitle": "Welcome to LV", - "quests.gregtech_energy.lv_generator.desc.1": "All of these are your basic &61-block Generators&r. They have a single &9input&r for their fuel — whether it’s &esteam&r, &agas&r, or &6liquid fuel&r — and they output exactly &e1A&r of power at their energy tier.\n\nThey’re simple to work with and will be your &ofirst source of power&r in &5GregTech&r until you reach the &dlarge multiblock generators&r later on.\n\nTo know what fuels can be used, &aEMI&r is your best friend — or you can check the &bquests on the left&r, where we’ve listed the most &aoptimal inputs&r. For now here are the <hree ways&r to begin your power production, all of them are &aviable&r the choice is yours.", - "quests.gregtech_energy.lv_generator.desc.2": "&e1. Steam Power&r:\n\nThis is the most classic method. You can convert the steam produced by your High Pressure Boilers into EU using a Steam Turbine.\n\nIt generates &e32 EU/t&r with &e64 mB/t&r of steam. If you follow this path, we highly recommend making a Large Bronze Boiler, which can easily be fueled with Lava, Creosote, or other burnable solid fuels (check JEI!).", - "quests.gregtech_energy.lv_generator.desc.3": "&e2. Rotational Power&r:\n\nYou can use Create's rotational power with an Alternator to generate RF, then convert it into EU using an &7LV&r Converter.\n\n(Check the Alternators quest in the LV Chapter for more details.)", - "quests.gregtech_energy.lv_generator.desc.4": "&e3. Biodiesel Power (TFG Exclusive)&r:\n\nCanola and Sunflowers can be processed into large amounts of Seed Oil. Combine it with TFC Alcohol to produce Biodiesel.\n\nThis method may seem more complex, but Biodiesel is extremely powerful during &7LV&r and &bMV&r tiers. It scales well into &5EV&r with &eCetane-Boosted Diesel&r later on.\n\nTo use Biodiesel, you’ll need a &7LV&r Combustion Generator. While it may be slightly more expensive, every mB of Biodiesel provides a high amount of EU, making it easier to transport and store.\n\nIt's your choice how you want to start your energy production.", - "quests.gregtech_energy.lv_generator.task": "Any LV Generator", - "quests.gregtech_energy.mv_generator.title": "The MV Generators", - "quests.gregtech_energy.mv_generator.subtitle": "Basically the same as the LV ones", - "quests.gregtech_energy.mv_generator.desc": "To run your &bMV&r machines, you will need to upgrade your power production.\n\nIf an &7LV&r Generator produces &e32 EU/t&r, the &bMV&r Generator runs at &e128 EU/t&r.\nIt consumes four times more fuel to produce four times more energy.\n\nTo better understand power generation at &bMV&r, we strongly recommend checking the dedicated quest in the &bMV&r chapter, located right at the beginning.\n\nAt &bMV&r, you also gain access to more options:\n\n- Oil-based fuels like Diesel or Light Fuel\n- Gas-based fuels like Benzene, LPG, or Methane\n- You can continue using Biodiesel or Steam, though you may need larger pipes (Aluminium, Steel, or Potin can handle it)\n\nExplore your options carefully to optimize your energy setup.", - "quests.gregtech_energy.mv_generator.task": "Any MV Generator", - "quests.gregtech_energy.hv_single_generator.title": "The last single block generators", - "quests.gregtech_energy.hv_single_generator.subtitle": "Third time's the charm?", - "quests.gregtech_energy.hv_single_generator.desc": "If you don’t want to build the &eLarge Steam Turbine&r, these are your only options for &6HV&r.\n\nHowever, keep in mind that they won’t be available for &5EV&r and beyond.\n\nStill, they remain strong choices for energy generation at the &6HV&r tier.", - "quests.gregtech_energy.hv_single_generator.task": "Any HV Generator", - "quests.gregtech_energy.hv_fuel.title": "The obtainable HV fuels", - "quests.gregtech_energy.hv_fuel.subtitle": "To each their own", - "quests.gregtech_energy.hv_fuel.desc": "These are the three fuels respectively used for the Combustion, Steam, and Gas Generators.\n\nIf you have reached &6HV&r, we highly recommend choosing one of these three options.\n\nHowever, don’t worry—other fuels are not necessarily bad.\n\nYou should always pick the solution that works best for your setup and playstyle.", - "quests.gregtech_energy.hv_fuel.task": "I got it", - "quests.gregtech_energy.hv_choice.title": "Producing at HV", - "quests.gregtech_energy.hv_choice.subtitle": "Your choice", - "quests.gregtech_energy.hv_choice.desc": "By reaching &6HV&r, you now have access to your first multiblock for power generation.\n\nIt’s also considered the worst one… but it can still work well if you really want to use it.\n\nYour other option is to continue using the previous generators—you now have access to new and better fuels.", - "quests.gregtech_energy.hv_choice.task": "I understand", - "quests.gregtech_energy.lpt.title": "The Large Plasma Turbine", - "quests.gregtech_energy.lpt.subtitle": "You need a Fusion Reactor", - "quests.gregtech_energy.lpt.desc.1": "The &6Large Plasma Turbine&r — also known as &dLPT&r — is a real powerhouse. Not in size (it’s fairly standard), but in capacity. You’ll need LuV Circuits, a LuV Machine Hull, and tons of Tungstensteel to craft it. It’s considered the most powerful generator in TerraFirmaGreg.\n\nSo, how does it work? You’ll need Plasma produced by a Fusion Reactor. That plasma is cooled down inside the LPT while generating energy. You will need an output hatch to get the cooled plasma out.", - "quests.gregtech_energy.lpt.desc.2": "By default, the LPT starts at &e16384 EU/t&r, which doesn't look like much, but that energy output &cdoubles&r with each increase in the Rotor Holder after &1IV&r.\n\nFor example, using a LuV Rotor Holder (x2) with an HSS-E Turbine Rotor (x2.8) will give you a staggering &e91750 EU/t&r — that’s about &a2.8A of LuV&r power!\n\nLike other turbines, it will slow down and stop if the Dynamo Hatch is full so you won't waste plasma, but unlike the others, this one doesn’t require a Muffler Hatch.", - "quests.gregtech_energy.lgt.title": "The Large Gas Turbine", - "quests.gregtech_energy.lgt.subtitle": "The fan favorite", - "quests.gregtech_energy.lgt.desc.1": "The &6Large Gas Turbine&r — also known as &dLGT&r — is one of your two main sources of energy production for most of the modpack. You’ll be able to build your first one at &5EV&r using Stainless Steel. It can carry you from &5EV&r all the way to &dLuV&r, until you feel ready to upgrade to the Large Plasma Turbine.\n\nThat said, many players can finish TerraFirmaGreg using only these turbines — provided you have a strong infrastructure to handle the gas demands of high-tier LGTs.\n\nTo build the LGT, you’ll need the usual Maintenance Hatch and Input Hatch. This turbine requires a Muffler Hatch, but it does not use an Output Hatch.", - "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the Rotor Holder after &5EV&r. For example, an LGT using an IV Rotor Holder (×2) with a HSS-E Turbine Rotor (280%% power) will produce:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a IV 4A Dynamo Hatch, since a normal Dynamo Hatch only handles 2A.\n\nJust so you know: the Efficiency stat of a Turbine Rotor increases the duration of the recipe, which means you get more power from each mB of fuel.\n\nLastly, if the Dynamo Hatch fills up, the LGT will automatically slow down and pause fuel usage, gradually reducing rotor speed until it resumes again. So you won't lose any fuel during a backup.", - "quests.gregtech_energy.lst.title": "The Large Steam Turbine", - "quests.gregtech_energy.lst.subtitle": "It... exists", - "quests.gregtech_energy.lst.desc.1": "The &6Large Steam Turbine&r — or &dLST&r — might not be the most common Large Generator in standard GregTech, but thanks to its early unlock at &6HV&r and the fact that Large Boilers are stronger in TerraFirmaGreg, it definitely has its place.\n\nTo make it work, you’ll need an Input Hatch for steam, an Output Hatch for Distilled Water, and of course a Maintenance Hatch. That’s all you need!\n\nLike all Large Turbines, you’ll place a Rotor Holder on one side and a Dynamo Hatch on the other to extract power. For the LST, the Rotor Holder must be at least &6HV-tier&r. Each Rotor Holder upgrade &cdoubles&r the output and increases efficiency slightly.", - "quests.gregtech_energy.lst.desc.2": "The base output of the LST is &e1024 EU/t&r. Let’s take an example: with an IV Rotor Holder (×4) and a HSS-E Turbine Rotor (280%% power), you’ll get:\n1024 × 4 × 2.8 = &e11,468.8 EU/t&r — that’s about &a1.4A of IV&r.\n\nTo extract that energy, you’d need either an IV Dynamo Hatch or an EV 16A Dynamo Hatch.\n\nWhile the LST isn’t the best turbine out there, if you have plenty of Large Boilers or access to a large amount of fuel, these steel-based, affordable turbines could absolutely serve you well.", - "quests.gregtech_energy.lce.title": "The Large Combustion Generator", - "quests.gregtech_energy.lce.subtitle": "Don't belive its GUI", - "quests.gregtech_energy.lce.desc.1": "The &6Large Combustion Engine&r (&dLCE&r) and the &5Extreme Combustion Engine&r (&dECE&r) are your champions if you’re into transforming Oils into fuels. These two &6bad boys&r share the same fuel types and even look alike — but they require different materials to build.\n\nTo craft the LCE, you’ll need to reach &5EV&r and unlock Titanium, along with at least one IV Circuit. For the ECE, it’ll be Tungstensteel and a LuV Circuit — something you should be able to build comfortably during &1IV&r.", - "quests.gregtech_energy.lce.desc.2": "Both machines require an Input Hatch for fuel and also Lubricant. For the &dECE&r, adding Oxygen or Liquid Oxygen will grant you a &cmassive energy boost&r. Check the tooltip of your fuel to compare how much extra energy you get with oxidizers — it's well worth it.\n\nKeep in mind: both engines need a Muffler Hatch.", - "quests.gregtech_energy.lpt_fuel.title": "Plasma Fuels", - "quests.gregtech_energy.lpt_fuel.subtitle": "It's very hot", + "quests.gregtech_energy": "Энергия в GregTech", + "quests.gregtech_energy.subtitle": "Так как там все это работает?", + "quests.gregtech_energy.start.title": "Давай немного объясним", + "quests.gregtech_energy.start.desc": "Все мы знаем, что GregTech простой мод для изучений, в особенности его &cсистема энергии&r. Именно поэтому для этой системы выделена отдельная глава.\n\nНекоторые вещи могут не иметь смысла, пока вы не пройдёте дальше по прогрессии, так что не переусердствуете. Попытайся, что можешь сейчас, и не стесняйся &dвозращаться к этой главе&r, когда у тебя появятся вопросы.\n\nМы разделили главу на &e4 категории&r, каждая из которых относится к одному из элементов системы энергии GregTech. Мы постараемся привести как можно больше примеров, чтобы помочь тебе понять, как это все работает.", + "quests.gregtech_energy.start.task": "Добро пожаловать на борт", + "quests.gregtech_energy.start.subtitle": "Все не на столько плохо, как ты думаешь", + "quests.gregtech_energy.moving.title": "Перемещение энергии", + "quests.gregtech_energy.moving.subtitle": "Перемещение энергии... Каво?", + "quests.gregtech_energy.moving.desc": "Для того, чтобы понять, как перемещать энергию в GregTech сперва нужно понять несколько ключевых механик.\n\nВо-первых, &bуровни напряжения&r. От &aLV&r до &cUHV&r, все в GregTech — провода, машины, рецепты — привязано к уровню напряжения. Тебе нужен будет &eправильный материал провода&r для перемещения энергии. Например:\n&8•&r Оловянный провод = &aLV&r\n&8•&r Медный провод = &bMV&r\n\nВо-вторых, есть механика &bАмпеража&r. 1 ампер (или 1А) можно представить в виде &eпакета энергии&r. Машины запращивают эти \"пакеты\" энергии, которые перемещаются по проводу.\n&8•&r 1A LV = &a32 EU&r\n&8•&r 1A HV = &e512 EU&r\n\nБольшинство машин запрашивают до &62A максимум&r.\n\nПонимание этих двух идей - ключ к правильному распределению энергии.", + "quests.gregtech_energy.moving.task": "Я понял", + "quests.gregtech_energy.transformer.title": "Супер трансформер(трансформатор)", + "quests.gregtech_energy.transformer.subtitle": "Лучше Оптимуса Прайма", + "quests.gregtech_energy.transformer.desc": "Для каждой проблемы у GregTech есть свое мультиблочное решение. Представляем вам &dАктивный трансформатор&r.\n\nЭтот зверь - ваш ультымативный трансформатор. Он может передавать энергию любого уровня — от &aLV&r до &cUHV&r, и без взрывов. И это даже не лучшее.\n\nОн может передавать энергию с помощью Передающих лазерных кабелей.\n&8•&r Лазеры передают огромное колличество ампер.\n&8•&r Без потерь. Без проводов. Просто чистая энергия.\n&8•&r Но есь нюанс: он &c может передавать энергию только по прямой&r.\n\nКогда кабелей не достаточно, &lиспользуй лазеры.", + "quests.gregtech_energy.moving_wire.title": "Перемещение с помощью проводов", + "quests.gregtech_energy.moving_wire.subtitle": "Затейливы при размещении", + "quests.gregtech_energy.moving_wire.desc": "Перемещать энергию в GregTech может быть каверзно — &bбольшинство проводов имеют потери&r. За каждый блок, за каждый ампер, ты можешь терять энергию по мере прохождении энергии через провода. Не бойся, этому есть решение:\n\n&8•&r Покрой свои провода резиной. Таким образом ты значительно снизишь потери с расстоянием. Посмотри квестовые предметы для примера.\n\n&8•&r Используй кабели более высокого напряжения. Платиновый кабель, например, теряет лишь 1 EU за блок — практически ничего по сравнению с 8192 EU, которые он может переместить.\n\n&8•&r &bСверхпроводники&r. Эти красавцы дороговатые, но они &9без потерь&r. Им не нужна изоляция и они не будут бить тебя током. Однако стоит знать, что обычно возможность их скрафтить появляется только в конце тира.\n\nОптимизируй потоки энергии — &bуменьши потери&r и делай свои системы более энергоэффективными.", + "quests.gregtech_energy.moving_wire.task": "Я закончил смотреть на провода", + "quests.gregtech_energy.moving_amp.title": "Управление амперами", + "quests.gregtech_energy.moving_amp.subtitle": "Оно горит?", + "quests.gregtech_energy.moving_amp.desc.1": "Ты заметил, что у каждого провода есть своя &eмаксимальная сила тока&r — это безопасное колличество ампер, которое провод может пропустить.\nЧтобы понять, сколько ампер пройдет через провод, нужно учесть следующие вещи:\n\n- Генератор и батарейки выдают конкретное колличество ампер:\nБатарейные буферы выдают столько ампер, сколько внутри батарей.\nКаждый одноблочный генератор выдает&e1A&r.\nВыход мультиблочных генераторов зависит от &aвыходного энергетического люка&r — значения, указанного в тултипе.\n\nТак же колличество выдаваемых ампер зависит от запрашивамых ампер: каждая подключенная машина будет требовать силу тока для заполнения внутреннего буфера.", + "quests.gregtech_energy.moving_amp.desc.2": "Например:\nУ тебя есть &e6 машин&r соединенных к &e8x батарейному буферу&r заполненному 8-ю батарейками.\nБуфер попытается отправить &e1A&r каждой машине — это в сумме &e6A&r.\nАмперы будут доставляться поочерёдно: Ближайшая машина получит энергию первой, а дальнейшая - последней.\nЕсли максимальная сила тока проводов &c4A&r, то они &cгорят&r. В этом случае стоит использовать &a8A провода&r.\n\n&bСовет:&r Первой машине понадобится провод на &e8A&r,\nно последней машине нужен провод лишь на &e1A&r, так как он примерт, что осталось.\n&c⚠ Осторожно:&r добавление еще одной машины в конце может привести к сгораню проводов, если сила тока превысит лимит.", + "quests.gregtech_energy.moving_amp.task": "Я понял", + "quests.gregtech_energy.produce_energy.title": "Производство энергии", + "quests.gregtech_energy.produce_energy.subtitle": "Газ или нефть?", + "quests.gregtech_energy.produce_energy.desc": "Это ведь всё о производстве энергии, верно? Это часть не будет сложной, так как &eпроизводство энергии&r в &2TerraFirmaGreg&r работает примерно как в &5стандартном GregTech&r.\n\nТы узнаешь о разнообразных &6методах производства энергии&r, в том числе некоторые виды &aтоплива&r, которые ты можешь использовать.", + "quests.gregtech_energy.produce_energy.task": "Погнали!", + "quests.gregtech_energy.lv_generator.title": "Давайте делать энергию", + "quests.gregtech_energy.lv_generator.subtitle": "Добро пожаловать в LV", + "quests.gregtech_energy.lv_generator.desc.1": "Все это - базовые &6одноблочные генераторы&r. У них 1 &9вход&r для их топлива — будь это &eпар&r, &aгаз&r, или &6жидкое топливо&r — и они генерируют ровно &e1A&r соответствующего уровня напряжения.\n\nС ними легко работать и они будут твоими &oпервыми источниками энергии&r в &5GregTech&r пока ты не дойдешь до &dмультиблочных генераторов&r, доступных позже.\n\nЧтобы узнать, что подходит в качестве топлива, проверь &aEMI&r, или посмотри а &bквестах слева&r, где указаны &aоптимальные виды топлива&r. Сейчас тебе доступно &lтри пути&r производства энергии, все &aвалидны&r, так что выбор за тобой.", + "quests.gregtech_energy.lv_generator.desc.2": "&e1. Сила пара&r:\n\nЭто самый классический метод. Ты можешь конвертировть пар с твоих паровых котлов высокого давления в EU используя паровые турбины.\n\nОна генерирует &e32 EU/t&r используя &e64 mB/t&r пара. Если ты пойдешь этим путем, мы крайней рекомендуем создать Большой бронзовый котел, который можно запитывать лавой, креозотом или другим твердым топливом (проверь JEI!).", + "quests.gregtech_energy.lv_generator.desc.3": "&e2. Сила крутящего момента&r:\n\nТы можешь использовать крутящий момент Create-а для генерации FE с помощью Генератора, затем конвертировать в EU используя Преобразоатель энергии &7LV&r.\n\n(Проверь квест Альтернаторы в главе Low Voltage(Низкий Вольтаж) для подробностей.)", + "quests.gregtech_energy.lv_generator.desc.4": "&e3. Сила биодизеля (Эксклюзивно для TFG)&r:\n\nКанола и подсолнухи могут быть переработаны в большое колличество Растительного масла. Смешай с алкоголем из TFC для производства биодизеля.\n\nЭтот метод более сложный, но Биодизель крайне мощное топливо на &7LV&r и &bMV&r тирах. Он хорошо масштабируется к &5EV&r с &eНитро-Дизелем&r, доступным позже.\n\nДля использования биодизеля, тебе нужен &7LV&r Дизельный генератор. Возможно он немного дороже, но каждый мБ Биодизеля дает большое колличество EU, то есть его проще перемещать и хранить.\n\nЭто твой выбор как ты хочешь начать свое производство энергии.", + "quests.gregtech_energy.lv_generator.desc.5": "&e4. Сила сингаза (Эксклюзивно для TFG)&r:\n\nС помощью &6Коксовой печи&r и &6Вакуумной камеры&r, ты сможешь получить это начальное газовое топливо. Это может быть не самым вариантом, но этого достаточно, если ты захочешь последовать по пути &eтолько газового&r топлива. &6Create&r-овская ферма дерева крайне рекомендуется, чтобы получить наибольшую эффективности из него.", + "quests.gregtech_energy.lv_generator.task": "Любой LV генератор", + "quests.gregtech_energy.mv_generator.title": "MV генераторы", + "quests.gregtech_energy.mv_generator.subtitle": "По сути те же самые, что и LV-шные", + "quests.gregtech_energy.mv_generator.desc": "Чтобы запустить твои машины &bMV&r, тебе потребуется улучшить производство энергии.\n\nЕсли генератор &7LV&r производит &e32 EU/t&r, то генератор &bMV&r вырабатывает &e128 EU/t&r.\nОни потребляют в четыре раза больше топлива, чтобы производить в четыре раза больше энергии.\n\nЧтобы лучше понять варианты генерации энергии на &bMV&r, мы настоятельно рекомендуем ознакомиться с посвящённым этому квестом в главе &bMV&r, расположенной в самом начале.\n\nНа уровне &bMV&r у тебя также появляется доступ к большему количеству вариантов:\n\n- Топливо на основе нефти, такое как дизель или лёгкое топливо\n- Газообразное топливо, такие как бензол, СУГ или метан\n- Ты можешь продолжать использовать биодизель или пар, хотя тебе могут понадобиться трубы побольше (алюминиевые, стальные или из потина подойдут)\n\nИзучи доступные варианты, чтобы оптимизировать вашу энергетическую систему.", + "quests.gregtech_energy.mv_generator.task": "Любой MV Generator", + "quests.gregtech_energy.hv_single_generator.title": "Последние одноблочные генераторы", + "quests.gregtech_energy.hv_single_generator.subtitle": "Бог любит троицу?", + "quests.gregtech_energy.hv_single_generator.desc": "Если ты не хочешь строить &eБольшую паровую машину&r, это твои единственные варианты для &6HV&r.\n\nОднако имей в виду, что они не будут доступны для &5EV&r и выше.\n\nТем не менее, они остаются надёжными вариантами генерации энергии на &6HV&r.", + "quests.gregtech_energy.hv_single_generator.task": "Любой HV генератор", + "quests.gregtech_energy.hv_fuel.title": "Доступное на HV топливо", + "quests.gregtech_energy.hv_fuel.subtitle": "Каждому свое", + "quests.gregtech_energy.hv_fuel.desc": "Это три вида топлива, которые соответственно используются в дизельных, паровых и газовых генераторах.\n\nЕсли ты достиг &6HV&r, мы настоятельно рекомендуем выбрать один из этих трёх вариантов.\n\nОднако не переживай — другие виды топлива вовсе не обязательно плохи.\n\nВсегда выбирай решение, которое лучше всего подходит под твою базу и стиль игры.", + "quests.gregtech_energy.hv_fuel.task": "Я понял", + "quests.gregtech_energy.hv_choice.title": "Производство энергии в HV", + "quests.gregtech_energy.hv_choice.subtitle": "На твой выбор", + "quests.gregtech_energy.hv_choice.desc": "Достигнув &6HV&r, ты получаешь доступ к своему первому мультиблоку для генерации энергии.\n\nОн также считается худшим… но всё ещё может работать неплохо, если ты действительно хочешь его использовать.\n\nДругой вариант — продолжать использовать предыдущие генераторы: теперь у тебя есть доступ к новым и более эффективным видам топлива.", + "quests.gregtech_energy.hv_choice.task": "Я понял", + "quests.gregtech_energy.lpt.title": "Большая плазменная турбина", + "quests.gregtech_energy.lpt.subtitle": "Тебе понадобится термоядерный реактор", + "quests.gregtech_energy.lpt.desc.1": "&6Большая плазменная турбина&r — также известная как &dLPT или БПТ&r — является настоящей энергетической махиной. Не по размеру (он вполне стандартный), а по мощности. Для её создания тебе понадобятся LuV схемы, LuV оболочка машины и огромное количество вольфрамовой стали. Она считается самым мощным генератором в TerraFirmaGreg.\n\nИтак, как она работает? Вам понадобится плазма, производимая термоядерным реактором. Эта плазма охлаждается внутри БПТ с одновременной генерацией энергии. Для вывода охлаждённой плазмы вам потребуется выходной разъем.", + "quests.gregtech_energy.lpt.desc.2": "По умолчанию БПТ начинает с &e16384 EU/t&r, что выглядит не слишком впечатляюще, но эта выходная мощность &cудваивается&r при каждом повышении уровня держателя ротора после &1IV&r.\n\nНапример, использование держателя ротора LuV (x2) с турбинным ротором HSS-E (x2.8) даст тебе ошеломляющие &e91750 EU/t&r — это примерно &a2.8A LuV&r!\n\nКак и другие турбины, она будет замедляться и останавливаться, если выходной энергетический разъем заполнен, так что ты не будешь тратить плазму впустую, но в отличие от остальных генераторов, этому не требуется люк глушителя.", + "quests.gregtech_energy.lgt.title": "Большая газовая турбина", + "quests.gregtech_energy.lgt.subtitle": "Выбор фанатов", + "quests.gregtech_energy.lgt.desc.1": "&6Большая газовая турбина&r — также известная как &dБГТ&r — является одним из двух основных источников выработки энергии на протяжении большей части модпака. Ты сможешь построить свою первую такую турбину на &5EV&r, используя нержавеющую сталь. Она способна провести тебя от &5EV&r вплоть до &dLuV&r, пока ты не будешь готов перейти на БПТ.\n\nТем не менее, многие игроки могут пройти TerraFirmaGreg, используя только эти турбины — при условии, что у тебя есть мощная инфраструктура для обеспечения газовых потребностей высокоуровневых БГТ.\n\nДля постройки БГТ вам понадобятся стандартные люки обслуживания и входной люк. Эта турбина требует люк глушителя, но не использует выходной люк.", + "quests.gregtech_energy.lgt.desc.2": "Стандартная выходная мощность составляет &e4096 EU/t&r. Эта мощность &cудваивается&r при каждом улучшении держателя ротора после &5EV&r. Например, БГТ с держателем ротора IV (×2) и турбинным ротором HSS-E (280%% мощности) будет производить:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — это примерно &a2.8A IV&r.\n\nДля полного извлечения этой энергии потребуется как минимум IV 4A выходной энергетический разъем, так как обычный выходной разъем способен выдавать лишь 2A.\n\nК твоему сведению: Эффективность ротора турбины увеличивает длительность рецепта, что означает больше энергии с каждого миллибакета топлива.\n\nИ наконец, если выходной энергетический разъем заполнится, БГТ автоматически замедлится и приостановит использование топлива, постепенно снижая скорость ротора до возобновления работы. Так ты не будешь терять топливо.", + "quests.gregtech_energy.lst.title": "Большая паровая турбина", + "quests.gregtech_energy.lst.subtitle": "Она... существует", + "quests.gregtech_energy.lst.desc.1": "&6Большая паровая турбина&r — или &dБПТ&r — может быть не самым распространённым мультиблочным генератором в стандартном GregTech, но благодаря раннему разблокированию на &6HV&r и тому, что Большие котлы сильнее в TerraFirmaGreg, он определённо имеет своё место.\n\nЧтобы его запустить, тебе понадобится входной люк для пара, выходной люк для дистиллированной воды и, конечно же, люк обслуживания. Это всё, что нужно! Как и все большие турбины, ты ставишь держатель ротора с одной стороны и выходной энергетический разъем с другой для извлечения энергии. Для БПТ держатель ротора должен быть как минимум &6HV&r. Каждое улучшение держателя ротора &cудваивает&r выход и слегка повышает эффективность.", + "quests.gregtech_energy.lst.desc.2": "Базовая выходная мощность LST составляет &e1024 EU/t&r. Рассмотрим пример: с держателем ротора IV (×4) и ротором турбины HSS-E (280%% мощности) ты получишь:\n1024 × 4 × 2.8 = &e11,468.8 EU/t&r — это примерно &a1.4A IV&r.\n\nЧтобы извлечь эту энергию, тебе понадобится либо IV выходной энергетический разъем, либо EV 16A выходной энергетический разъем.\n\nХотя БПТ не является популярным решением, если у тебя есть много больших котлов или доступ к большому количеству топлива, эти стальные недорогие турбины могут послужить вам очень неплохо.", + "quests.gregtech_energy.lce.title": "Большой дизельный генератор", + "quests.gregtech_energy.lce.subtitle": "Сжигает не только дизель", + "quests.gregtech_energy.lce.desc.1": "&6Большой дизельный генератор&r (&dБДГ&r) и &Улучшенный дизельный генератор&r (&dУДГ&r) — ваши главные варианты, если ты любишь перерабатывать нефть в топливо. Эти два &6плохих парня&r используют одни и те же виды топлива и даже выглядят почти одинаково — но для их создания требуются разные материалы.\n\nЧтобы скрафтить БДГ, тебе нужно достичь &5EV&r и открыть Титан, а также иметь как минимум одну схему IV. Для УДГ потребуется Вольфрамовая сталь и схема LuV — то, что ты уже должен уметь крафтить без особых проблем на &1IV&r.", + "quests.gregtech_energy.lce.desc.2": "Обе машины требуют входной люк для топлива, а также смазку. Для &dБДГ&r и &dУДГ&r добавление кислорода или жидкого кислорода соответственно даст вам &cогромный прирост энергии&r. Проверьте тултип у вашего топлива, чтобы сравнить, сколько дополнительной энергии вы получаете с окислителями — это действительно того стоит.\n\nИмейте в виду: обоим двигателям нужен люк глушителя.", + "quests.gregtech_energy.lpt_fuel.title": "Плазма", + "quests.gregtech_energy.lpt_fuel.subtitle": "Она горячая", "quests.gregtech_energy.lpt_fuel.desc.1": "&6Large Plasma Turbines&r require high-tech fuels to run, and we recommend two strong options:\n\nThe first option becomes available with your MK1 Fusion Reactor: &eHelium Plasma&r.\nYou can create it using Deuterium and Tritium Gas — both gases are obtained by distilling &aLiquid Ender Air&r.\nThis fuel isn't the most powerful, but it's by far the easiest and earliest to produce.", "quests.gregtech_energy.lpt_fuel.desc.2": "The second option requires a MK3 Fusion Reactor and allows you to generate &eNickel Plasma&r.\nTo make it, you’ll need Liquid Potassium — which you can extract from various ores — and the infamous Fluorine, which you should already know how to produce by now.\n\n⚠ Don’t forget: Helium Gas and Liquid Nickel should be collected and returned to your storage for future reuse.\n\nThese two fuels are your best candidates for powering the &dLPT&r, depending on how far you've progressed in your industrial madness.", - "quests.gregtech_energy.lpt_fuel.task": "I don't want to make a bucket of Plasma", - "quests.gregtech_energy.lgt_fuel.title": "Gas Fuels", - "quests.gregtech_energy.lgt_fuel.subtitle": "Everyone's favorite", - "quests.gregtech_energy.lgt_fuel.desc.1": "When we speak about gas fuels, we’re really talking about just one — &eNitrobenzene&r.\n\nYou’ll be able to produce it once you reach &6HV&r, and we &astrongly recommend it&r if you’re planning to use the Large Gas Turbine.\n\nBefore reaching Nitrobenzene, &eBenzene&r is a solid option to get started. You can obtain it from a tree farm or by processing Heavy Oil, if you’re lucky enough to have some nearby.", - "quests.gregtech_energy.lgt_fuel.desc.2": "Making Nitrobenzene involves several steps — until you craft your first Large Chemical Reactor (LCR), which will let you skip many sub-steps and simplify the process.\n\nIt’s nothing too complicated: combine Hydrogen, Nitrogen, and Oxygen to make &eNitric Acid&r in infinite quantities. As for Sulfuric Acid, you probably already know it’s just Sulfur and Water — right?\n\nOnce you get this chain going, Nitrobenzene becomes one of the most powerful fuels for gas burning.", - "quests.gregtech_energy.lgt_fuel.task": "Gas in a bucket?", - "quests.gregtech_energy.lst_fuel.title": "This is Steam", - "quests.gregtech_energy.lst_fuel.subtitle": "Not much of a choice", - "quests.gregtech_energy.lst_fuel.desc": "Steam isn’t complicated — just boil water.\n\nTo do it efficiently, we recommend using &6Large Boilers&r. There's four versions: one each for &8ULV&r, &bMV&r, &5EV&r, and &1IV&r. Each tier provides a strong increase in steam output.\n\nHowever, be aware: the scaling of the &dLarge Steam Turbine&r with these boilers is not the best compared to other power generation methods.\n\nMost players will skip the Titanium and Tungstensteel Boilers — they exist if you want them, but aren’t worth building. Steam just doesn't scale very well!\n\nAs a reminder: &e2 mB&r of steam = &e1 EU&r.", - "quests.gregtech_energy.lst_fuel.task": "I will switch to a denser fuel", - "quests.gregtech_energy.lst_fuel.task.1": "Large Boilers", - "quests.gregtech_energy.lce_fuel.title": "Liquid Fuel", - "quests.gregtech_energy.lce_fuel.subtitle": "The polluter's favourite", - "quests.gregtech_energy.lce_fuel.desc.1": "All of these fuels are used for &6Combustion Generators&r — ranked here from the least efficient to the best.\n\nDuring &bMV&r, we recommend starting with Diesel or Biodiesel. Later on, you can upgrade to Cetane-Boosted Diesel at &6HV&r by mixing it with Nitrogen, Hydrogen, and Oxygen.", - "quests.gregtech_energy.lce_fuel.desc.2": "Once you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to Gasoline and High Octane Gasoline. Don’t attempt this too early — oils need to be distilled properly, and doing it with a regular Distillery is not efficient at all.\n\nTo make this work, you'll need a combination of oil distillation and some organic compound processing. Thankfully, a Pyrolyse Oven and a Distillation Tower will handle it all smoothly.\n\nIf you manage a steady supply of High Octane Gasoline, you should be able to finish the entire modpack running only on Combustion Generators.", - "quests.gregtech_energy.lce_fuel.task": "I got enough", - "quests.gregtech_energy.large_solar.subtitle": "Huge Easy Power", - "quests.gregtech_energy.large_solar.desc.1": "The Large Solar Array MK I will be your go-to solution if you want to set up a larger base on the Moon.\n\nIt’s especially useful for &bAE2&r processing lines, and it can also power your Bedrock Miners.\n\nDon’t forget that you can use the GregTech Terminal item to build the multiblock instantly by sneak-right-clicking on the controller.\n\nCheck the available recipes by simply pressing &eU&r on the controller to see your options.", - "quests.gregtech_energy.large_solar.desc.2": "&6The Large Solar Array MK I&r comes with &92 different recipes&r:\n\n&9• Passive Mode&r —\nThis mode slowly consumes &dPhotovoltaic Cells&r, meaning it's fine when you're actively setting up your base if you throw a stack in there, but won't last forever. It will only generate &62A HV&r during the day — enough for basic systems, but far from optimal.\n\n&9• Active Mode&r —\nIf you want to &amaximize the energy output&r, you’ll need to manage coolant. This will require your Moon Base to be more built up, but the reward is you get &52A EV&r instead!\n\nThere's also MK II and MK III versions for higher tiers, requiring more advanced coolants.", - "quests.gregtech_energy.large_solar_t2.subtitle": "Even stronger", - "quests.gregtech_energy.large_solar_t2.desc.1": "If you're building an &dAE2 base on the Moon&r, chances are you'll need a lot more energy. That's where the &6Large Solar Array MK II&r comes in!\n\nJust like the MK I, it offers 2 different recipes — but this time, neither is fully passive.", - "quests.gregtech_energy.large_solar_t2.desc.2": "Both &bSolar Coolant&r and &bCryogenized Fluix&r are fully renewable on the Moon. In fact, the Solar Coolant loop recycles its &eFluorine&r and &eChlorine&r inputs — meaning you only need a steady supply of:\n\n• Helium-3 — can be extracted with a &aFluid Drill Rig&r\n• Water — collect it passively with an &aAqueous Accumulator&r\n\n&cPower emergency fallback:&r\nIf your fluid supply is interrupted, the LSA MK II can still operate using Photovoltaic Cells.\nThis fallback method keeps your base online while you troubleshoot the issue.\n\nA must-have for any serious off-world AE2 infrastructure.", - "quests.gregtech_energy.large_solar_t3.subtitle": "Maximal Power", - "quests.gregtech_energy.large_solar_t3.desc": "The final tier is the &6Large Solar Array MK III&r. It works the same way as the MK II, but its new Solar Coolant requires the addition of &aArgon&r and &bSilica Aerogel&r.\n\nYou should already be familiar with &bSilica Aerogel&r — you used it in your &dRocket Tier 3&r.\nHowever, it's much harder to produce on the Moon, and you may need a constant supply shipped from &aEarth&r.\n\nWe’ll let you decide how to handle this logistical challenge — whether it’s through automation, or interplanetary transport, the choice is yours.\n\n&eHigh-tech energy&r demands &chigh-level infrastructure&r. Plan wisely!", - "quests.gregtech_energy.solar_panel.subtitle": "Light in the Dark", - "quests.gregtech_energy.solar_panel.desc": "The Solar Panel will be your first source of power on the Moon.\n\nThey produce 32 EU/t during daytime, but keep in mind they actually generate RF, so you’ll need a Converter to transform it into EU.\n\nYou can use one &bMV Converter&r for up to 2 Solar Panels or a &6HV Converter&r for up to 4 Solar Panels.", - "quests.gregtech_energy.storage.title": "Storing Energy", - "quests.gregtech_energy.storage.subtitle": "Gotta put all that juice somewhere", - "quests.gregtech_energy.storage.desc": "Storing your energy is one of the most fundamental pillars of the power system in GregTech.\n\nWhy is that? Simply because even the strongest generators won't be enough to keep up when you start a big craft — especially in late game.\n\nTo deal with this, GregTech provides multiple solutions to store astronomical amounts of EU. These storages act as a buffer between your energy production and the machines that drain it during complex operations.\n\nWhether you’re preparing for a Fusion Reactor, an LCR, or any HV-IV scale crafting chain, you’ll need that extra backup of energy to keep everything stable.\n\nDon’t underestimate the power of a good battery — it may just be the thing that saves your base from a blackout during critical moments.", - "quests.gregtech_energy.storage.task": "I understand", - "quests.gregtech_energy.tank.title": "Storing Fuel", - "quests.gregtech_energy.tank.subtitle": "There's more kinds of batteries than just electric ones", - "quests.gregtech_energy.tank.desc.1": "Obviously, storing energy can also mean storing the fuel that makes it.\n\nFor this scenario, while Drums and Crates are decent early options, you should not overlook the &dSuper Tank&r and the &dSuper Chest&r.", - "quests.gregtech_energy.tank.desc.2": "These beasts are capable of storing tremendous amounts of fluid or items — perfect for automated energy setups, especially when you want to generate power far away from your main base without having to build an entire cable network.\n\nJust load them up with gas, fuel, steam or even plasma, and let them handle the rest. With proper planning, your outposts can be fully operational with no live connection to your central grid.\n\nEnergy doesn’t always come in wires — sometimes, it comes in barrels.", - "quests.gregtech_energy.tank.task": "Any Super Tank", - "quests.gregtech_energy.battery_buffer.title": "Battery Buffer", - "quests.gregtech_energy.battery_buffer.subtitle": "The basic battery buffer beckons batteries", - "quests.gregtech_energy.battery_buffer.desc.1": "Battery Buffers are your basic machines to store and manage energy — though technically, they don’t store energy on their own. They simply serve as a housing for your batteries.\n\n&c⚠ If you don’t want them to explode&r:\n- &4Never input higher-tier energy&r into a lower-tier Battery Buffer.\n- Batteries can only be charged if they are of &cequal or lower tier&r than the Battery Buffer.", - "quests.gregtech_energy.battery_buffer.desc.2": "A Battery Buffer can accept up to 2x its output amperage.\nSo for example, a 4x Battery Buffer can take in &a8A&r — but will only output &e4A&r max (1A per battery slot).\n\n&eReminder&r:\n- No batteries = no output.\n- The number of batteries determines the number of Amps it outputs. (That means a &68x Battery Buffer&r with only &e3 batteries&r will only output &e3A&r.)\n\nUse them wisely — they are the foundation of any stable energy network.", - "quests.gregtech_energy.battery_buffer.task.1": "Any battery buffer", - "quests.gregtech_energy.battery_buffer.task.2": "Another one", - "quests.gregtech_energy.pss.title": "The Power Substation", - "quests.gregtech_energy.pss.subtitle": "All your eggs in one basket", - "quests.gregtech_energy.pss.desc.1": "The &dPower Substation&r — also known as the &dPSS&r — is the &6ultimate custom battery multiblock&r. Once you're able to craft it in &1IV&r, it should easily serve as your base's central source of power, so it can be a good thing to focus towards.\n\nIt can store so much energy... you’d probably need multiple lifetimes to fill it.", - "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &8Amperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", - "quests.gregtech_energy.batteries.title": "Super Batteries", - "quests.gregtech_energy.batteries.subtitle": "Sci-Fi power storage", - "quests.gregtech_energy.batteries.desc": "In &7LV&r and &bMV&r, you probably built your first batteries made of Sodium or Lithium.\n\nBut let’s be real — these are the weakest batteries GregTech has to offer.\n\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\nThey are much more potent, store way more energy, and can help you push your factory to the next tier.\n\nAre they more expensive? Of course. But let’s be real...\nPower is Power. Who’s counting?", - "quests.gregtech_energy.batteries.task": "Any crystal battery", - "quests.gregtech_energy.spending_energy.title": "Spending Energy", - "quests.gregtech_energy.spending_energy.subtitle": "Oh you will spend energy", - "quests.gregtech_energy.spending_energy.desc.1": "How to spend all this energy?\n\nUse your machines! Sounds simple, right?\nWell... not exactly. There are many small details that you should learn to help you on your quest to completing &3TerraFirmaGreg&r.\n\nBasic Machines:\n- These machines are simple.\n- They can request up to &a2A&r each.\n- If you input a higher tier of energy... &4\uD83D\uDCA5 they explode&r.\n\nGregTech Multiblocks:\nNow things get interesting. Multiblocks offer more flexibility and power — &eif&r you understand how they work.", - "quests.gregtech_energy.spending_energy.desc.2": "Standard Mechanics:\n- If a multiblock can accept two Energy Hatches (most of them), this allows you to use higher-tier recipes than the machine’s base tier.\n\nExample:\nIf you're using a Large Mixing Vessel and you install two IV Energy Hatches, it will be able to process &cLuV&r-tier Mixer recipes.\n\nThis is one of the key benefits of multiblocks over single-block machines — to upgrade them to the next tier, you only have to swap out their energy hatches instead of replacing the whole machine.", - "quests.gregtech_energy.spending_energy.desc.3": "Some multiblocks only accept one Energy Hatch, but that doesn't mean you're limited to 1A!\n\nYou can still use a 4A or 16A Energy Hatch. This will allow &bOverclocking&r of recipes but not the recipe tier.\n\nExample:\nThe Large Circuit Assembler only allows one Energy Hatch. If you install a 4A IV Energy Hatch, you will be able to overclock all IV and lower recipes.\n\nHowever, it cannot craft LuV-tier recipes because the machine doesn't support multiple hatches. That limitation is intentional, to prevent skipping the GregTech progression system.", - "quests.gregtech_energy.spending_energy.desc.4": "So remember: More amps on a single hatch means faster processing, but two hatches are required to unlock higher-tier recipes.", - "quests.gregtech_energy.spending_energy.task": "I understand", - "quests.gregtech_energy.overclock.title": "Overclock", - "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", - "quests.gregtech_energy.overclock.desc.1": "Have you heard about Overclocking, but don't really understand what it is? Let's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of 32 EU/t — sometimes less, but never more.\n&dMV&r goes up to 128 EU/t.\n&dHV&r reaches 512 EU/t.\nBasically, every tier is a 4x increase in power usage.", - "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 16x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", - "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Heat Furnace\n- Large Chemical Reactor\n- Electric Greenhouse", - "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", - "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", - "quests.gregtech_energy.blast_oc.subtitle": "You don't need to understand this one", - "quests.gregtech_energy.blast_oc.desc.1": "If you haven't learnt about Perfect Overclocking yet, you should read the quest right above this one first.\n\nThese three multiblocks share a special ability: they can &ePerfect Overclock&r recipes depending on the &ctemperature of the machine&r. You can check the current temperature by clicking on the controller.\n\nThere are two ways to increase the temperature:\n1) Use higher-tier energy inputs\n2) Upgrade the coils", - "quests.gregtech_energy.blast_oc.desc.2": "To see the temperature of a coil, simply &3hold Shift&r while hovering over it.\n\nOnce you know your machine's temperature, you’ll need the temperature of the recipe. The easiest way to find it is to use EMI.\n\nWith both values, you can do a quick calculation to see if Perfect Overclocking applies:\n&bYour machine must be at least 1800K hotter per overclock tier than the recipe requires.&r", - "quests.gregtech_energy.blast_oc.desc.3": "Example:\n- Stainless Steel recipe requires &c1700K&r and is &aHV&r tier.\n- Your EBF is at &bLuV&r and has a temperature of &c5900K&r.\n- HV to LuV is &a3 overclock tiers&r.\n- 1800 x 3 = &c5400K&r → Add the recipe's base: 5400 + 1700 = &c7100K&r needed for full Perfect Overclock.\n- Since your machine is only at &c5900K&r, you will Perfect Overclock from HV to EV and EV to IV, but only a normal overclock from IV to LuV.\n\nSo the recipe will take 1.7 seconds instead of 0.85 seconds if it were fully overclocked.\n\nFeeling overwhelmed? Just remember this: better coils = faster and cheaper recipes.", - "quests.gregtech_energy.blast_oc.task": "Better coils more gooder, got it", - "quests.gregtech_energy.subtick.title": "Subtick", - "quests.gregtech_energy.subtick.subtitle": "Parallel?", - "quests.gregtech_energy.subtick.desc.1": "Another hidden mechanic in GregTech Multiblocks: the &dSubtick&r.\n\nWhat is it? Subtick activates when a recipe becomes so fast it takes less than one tick to process. Normally, machines can’t go faster than one recipe per tick — but with Subtick, they can!\n\nHow does it work? Once a recipe hits 1 tick duration, upgrading the Energy Hatch further won’t make it faster.\nBut thanks to Subtick, instead of wasting power, the machine will &aparallel the recipe internally&r.", - "quests.gregtech_energy.subtick.desc.2": "For example: If your Large Chemical Reactor (LCR) runs a LuV recipe at 1 tick, then at ZPM, it will run &e2 recipes per tick&r. Even faster hatches mean more internal parallel.\n\n&dNote&r: As of now, all the Large Machines can subtick in a limited way, but &aonly the LCR&r supports both Subtick and Perfect Overclocking. That’s also why there's no IV multiblock with parallel hatches for the LCR: it’s already doing it... but better.", - "quests.gregtech_energy.parallel_hatch.title": "Parallel Hatch", - "quests.gregtech_energy.parallel_hatch.subtitle": "Parallel again?", - "quests.gregtech_energy.parallel_hatch.desc.1": "The &dParallel Hatch&r is the main draw of the Large Multiblocks.\n\nWhat does it do?\nWhere allowed (mostly on the Multiblocks crafted from the Alloy Blast Smelter), it lets you run &amultiple recipes at the same time&r.\n\nIt does this by consuming more energy per tick, but massively increasing throughput. Perfect if you’re mass-producing alloys, circuits, or plates.", - "quests.gregtech_energy.parallel_hatch.desc.2": "Just place a Parallel Hatch on the Multiblock and make sure it’s fed with enough energy and input materials. Most multiblocks that allow it will show so in EMI or in the questbook.\n\n&dNote&r: The Large Chemical Reactor does not use Parallel Hatches — it already comes with something better called &bSubtick&r — read the nearby quest to find out more.", - "quests.gregtech_energy.parallel_hatch.task": "Any Parallel Hatch", - "quests.gregtech_energy.rotor.title": "Turbine Rotors", - "quests.gregtech_energy.rotor.subtitle": "So many choices!", - "quests.gregtech_energy.rotor.desc.1": "Rotor Holders naturally require a Rotor to use, but there's a lot of options and they all have different stats, so what do they all mean?\n\nHigher &9Efficiency&r will increase the time each mB of fuel is used for, effectively reducing fuel usage. Meanwhile, &9Power&r will increase how much EU the turbine will generate. Lastly, &9Durability&r should be obvious.", - "quests.gregtech_energy.rotor.desc.2": "Ideally, you'll want to maximize all three, but the choice will depend on how much fuel you're producing, how many turbines you have, and how often you want to replace them, so there's no definitive correct answer. &8(Besides neutronium, of course...)&r\n\nThat being said, if you're completely lost, we recommend Vanadium Steel in &6HV&r, Ultimet in &5EV&r, and HSS-S in &9IV&r.\n\nUnfortunately, you can't automatically pipe new rotors into rotor holders as they need the block in front of them to be completely empty, but a &aMechanical Arm&r will work!", - "quests.gregtech_energy.rotor.task": "Any Turbine Rotor", - "quests.gregtech_energy.fission_reactor.title": "Fission Reactor MK I", - "quests.gregtech_energy.fission_reactor.subtitle": "Strap yourself in, this is complicated", - "quests.gregtech_energy.fission_reactor.desc.1": "The &dFission Reactor&r is certainly an uncommon sight in GregTech - both in theme, and how it works. But fear not, we are here to guide you with this multi-purpose big-brain multiblock!\n\nWe'll spare you the physics for now, &efellow engineer&r. The most important thing you should know is that the reactor is like a big thermal &dbattery-generator&r. You input proper fuel, and get &cheat&r (just like &6EU/t&r) that gets stored in the reactor as &crising temperature&r (stored &6EU&r).\n\nYou can then transfer this heat to &9coolant fluids&r for running turbines, or performing EBF-style crafting recipes. Sometimes you may even have &ctoo much&r of it. And oh, you also get new elements to make new fuels and circuits and stuff. Maybe explore the solar system a bit more? Boring stuff.", - "quests.gregtech_energy.fission_reactor.desc.2": "To start off, get your hands on some &dThorium&r. Remember to wear all the relevant PPE - &eDeatek Intergalactic&r is not responsible for any bodily harm resulting from improper handling of fissile materials. We really shouldn't have to remind you at this point anymore. Check the hazards quest if you need a refresher.\n\nNext, craft some empty &dFuel Rods&r and fill them with the &dNuclear Fuel Processing Plant&r. The rods are reusable, so you don't have to make too many. In fact, you might want to make just a single one for now.\n\nYou'll of course need a completed reactor, too. Check the EMI preview. Note how there is a central column of Fuel Holders, and then some optional columns for Components and Material Holders - more of these later.\n\nWait. Why just a &osingle&r rod? Oh, are &ewe&r glad you asked. Let's delve deep into the reactor mechanics in the next page.", - "quests.gregtech_energy.fission_reactor.desc.3": "The more fuel rods you have installed in the reactor, the &chotter&r it gets. And the hotter it is, the more heat it is able to transfer out to the coolant fluid and processable items. But physics has its limits, and the reactor can only ever get &cso hot&r, so don't install too many fuel cells.\n\nBut fear not! Unlike how the &0big-oil&r propaganda machine insists, nuclear energy is &aperfectly safe&r. Should the heat level of the reactor border dangerous territory, the reactor enters an &9automatic cooldown sequence&r, and won't start again until all heat has been &asafely dissipated&r. It's quite slow, though.\n\nThere has to be a way to make it hotter and faster? Once again, good thing you asked! &eOur brilliant engineers&r have a solution for you!", - "quests.gregtech_energy.fission_reactor.desc.4": "In addition to the 5 &dFuel Holders&r, you can install &oup to&r 20 &dComponents&r. The reactors from some other manufacturers require very exact positioning, but our reactor is smarter. The &6stats&r of all installed ones will simply be &6summed up&r, and that's it!\n\nCurrently, the reactor is able to utilize them in three&8*&r different ways:\n&e1)&r Max temperature &7(insulator)&r\n&e2)&r Efficiency &7(fuel lasts longer)&r\n&e3)&r Throttle &7(slows down the reactions)&r\n\n&8*)&r It's possible your local galaxy doesn't have the necessary materials for all of them. We estimate to find materials only for the first category.\n\nBut be wary. Rising the &ctemperature&r comes with a &cdownside&r.", - "quests.gregtech_energy.fission_reactor.desc.5": "While a &chotter&r reactor makes coolants and processing &cfaster&r, it is also more demaning for the fuel rods. Each fuel rod has limited durability, and this scales linearly with the temperature.\n\nAs you need more fuel rods for the higher heat, this in effect makes the damage scale &nquadratically&r. If you want to heat coolants the most efficiently, you'll use low temperature. But if you want faster fissile conversion, use as high a heat as the insulation allows.", - "quests.gregtech_energy.fission_reactor.desc.6": "You are finally ready to take a look at the various recipes involving the reactor; check where the &dcontroller&r is used, and you'll find three &eEMI&r tabs:\n\n&e1)&r Fission Reactor &7(fuels and compatible coolants)&r\n&e2)&r Fission Heat Processing &7(think: EBF)&r\n&e3)&r Fission Products &7(when the fuel runs out)&r\n&e4)&r The multiblock preview\n\nVarious &afuels&r are only compatible with certain &9coolant fluids&r, so pay attention to this. And once a fuel rod is completely used up, statistical certainty can safely state it having &btra&dns&rf&dor&bmed&r into new elements.\n\nThe processing recipes on the other hand can run regardless of the fuel, as long as the temperature level is high enough.", - "quests.gregtech_energy.fission_reactor.desc.7": "The simplified math is as follows: with sufficient coolant fluid and a &c100%%&r heat fuel rod, the reactor will reach a temperature of about &c200&r. This can also be referred to as heat level, or just heat. Having &dtwo&r &c100%%&r fuel cells is equal to &done&r &c200%%&r cell, and both lead to about &c400&r heat.\n\nThis is because the fuel rod generates &6200 HU/t&r (heat units). Coolant fluids are able to extract &61 HU/t&r per &c1&r degree of heat.\n\nIf the reactor's max heat is &c190&r, a &c100%%&r fuel cell will overheat it. You can increase this with the components, or alternatively &dactive coolants&r via the processing system. Each recipe has a heat impact.", - "quests.gregtech_energy.fission_reactor.desc.8": "For example, if the recipe's temperature is &c100&r, and impact &6-10 HU/t&r, it is able to cool down the reactor by &619 HU/t &rat &c190&r degrees.\n\nThat makes it possible to run the reactor with lower max heat, and not overheat! If the temperature is below &c100&r, it won't run at all - just like EBF recipes have limits.\n\nThis is all &ewe&r can teach you for now. Come back later to see if there was been any advancements, &efellow nuclear engineer&r!", + "quests.gregtech_energy.lpt_fuel.task": "Я не хочу делать ведро плазмы", + "quests.gregtech_energy.lgt_fuel.title": "Газовое топливо", + "quests.gregtech_energy.lgt_fuel.subtitle": "Любимчик сообщества", + "quests.gregtech_energy.lgt_fuel.desc.1": "Все эти виды топлива используются для &2газовых турбин&r — здесь они отсортированы от наименее эффективных к лучшим.\n\nВ целом &bГазовая турбина&r немного дешевле своего аналога — &bдизельного генератора&r, однако &eгазовое топливо&r обладает меньшей энергетической плотностью по сравнению с жидким топливом. Это не значит, что оно хуже — лишь то, что для достижения той же выработки вам потребуется больше миллибакетов (mB). На более поздних этапах прогрессии их можно использовать в &2Большой газовой турбине&r — очень мощном многоблочном механизме, который требует чуть больше внимания и управления.", + "quests.gregtech_energy.lgt_fuel.desc.2": "В TerraFirmaGreg &eгазовое топливо&r было значительно переработано и перебалансировано. &6Мы не рекомендуем полагаться на &eБензол&r или &eНитробензол&r, так как они были сильно ослаблены.&r В начале &7LV&r мы советуем использовать &eСингаз&r или &eСУГ&r, если вы хотите перерабатывать нефтяной песок. Позже вы сможете перейти на &eРиформат-газ&r на этапе &bMV&r и ещё больше улучшить его производство после открытия &2Крекингового завода&r.", + "quests.gregtech_energy.lgt_fuel.task": "Газ... В ведре?", + "quests.gregtech_energy.syngas.title": "Сингаз", + "quests.gregtech_energy.syngas.subtitle": "А почему он не синий?", + "quests.gregtech_energy.syngas.desc": "&eСинтез-газ&r — это новое газовое топливо в TFG. Его можно открыть очень рано, уже на этапе &8ULV&r, и использовать в ваших первых &6газовых турбинах&r во время &7LV&r. Это не особо мощное топливо, но его можно перерабатывать в ценные побочные продукты, такие как &eСмазка&r, &eМетан&r и &eВодород&r.\n\nНесмотря на то, что это не самый сильный вариант и его может быть сложно масштабировать, используя всего три &6Коксовые печи&r и одну &6Варочную машину&r или &6Вакуумную камеру&r, ты сможешь обеспечить стабильное производство, которого должно хватить, чтобы дойти до этапа &bMV&r и открыть значительно более мощный &eРиформат-газ&r.", + "quests.gregtech_energy.reformate_gas.title": "Риформат-газ", + "quests.gregtech_energy.reformate_gas.subtitle": "Это реформат Бензола?", + "quests.gregtech_energy.reformate_gas.desc.1": "&9Риформат-газ&r — это новое и мощное газовое топливо, которое на этапе &bMV&r выполняет привычную роль бензола.\n\nДля его производства вам потребуется построить &6Башню сжижения угля&r и получить немного &5Рения&r из жил &6Таркианита&r, которые встречаются только в сухих и жарких климатах. Две &6Пиролизные печи&r — одна для производства креозота, другая древесной смолы — обеспечат все необходимые материалы для генерации этого топлива. Помните, что ты можешь производить пар с помощью &6жидкостный нагреватель&r, если хочешь упростить схему.", + "quests.gregtech_energy.reformate_gas.desc.2": "Также важно учитывать повышенный выход продукции, доступный на этапе &6HV&r при использовании &6Крекингового завода&r. Это позволит тебе возвращать в цикл большую часть вашего &5Рения&r, делая реформат-газ фактически бесконечным топливом.\n\nДобавление &9Азота&r и &9Водорода&r в процесс ещё больше увеличит пропускную способность производства.", + "quests.gregtech_energy.btx.title": "BTX", + "quests.gregtech_energy.btx.subtitle": "Not a korean band", + "quests.gregtech_energy.btx.desc": "The BTX Fuel is NYI", + "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.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.gasoline.title": "Бензин", + "quests.gregtech_energy.gasoline.subtitle": "Средний ребёнок", + "quests.gregtech_energy.gasoline.desc": "&aБензин&r — это действительно мощное жидкое топливо, которое вы открываете на этапе &6HV&r, но на практике начинаете производить его лишь после постройки первых &6Ректификационных колонн&r. &7Толуол&r легко получается из &7Древесной смолы&r или &7Тяжёлого топлива&r, а всё остальное, что вам понадобится, — это &dНефтяной газ&r, &8Нафта&r и смесь из &3Кислорода&r, &bВодорода&r и &1Углерода&r.\n\nОн мощный, довольно простой в производстве и, что ещё лучше, его можно улучшить до &cВысокооктанового бензина&r.", + "quests.gregtech_energy.high_gasoline.title": "Высокооктановый бензин", + "quests.gregtech_energy.high_gasoline.subtitle": "Крайне мощный", + "quests.gregtech_energy.high_gasoline.desc": "Прямое улучшение &cБензина&r — это &5топливо в два раза мощнее&r. Как ни странно, по названию этого не скажешь: вам нужно добавить не только &dОктан&r, но и другие продукты &8Нефтепродуктов&r. На этом этапе мы ожидаем, что вы уже умеете ориентироваться в &bEMI&r и можете начать производство этого безумно мощного топлива.", + "quests.gregtech_energy.lst_fuel.title": "Это пар", + "quests.gregtech_energy.lst_fuel.subtitle": "Не в масть тебе такие котлы", + "quests.gregtech_energy.lst_fuel.desc": "Пар — это несложно: просто вскипяти воду.\n\nДля эффективного производства мы рекомендуем использовать &6Большие котлы&r. Существует четыре версии: для &8ULV&r, &bMV&r, &5EV&r и &1IV&r. Каждый уровень даёт значительный прирост выхода пара.\n\nОднако имейте в виду: масштабирование &dБольшой паровой турбины&r с этими котлами не самое эффективное по сравнению с другими способами генерации энергии.\n\nБольшинство игроков пропускают титановые и вольфрамстальные котлы — они существуют, если тебе очень хочется, но строить их невыгодно. Пар просто плохо масштабируется!\n\nНапоминание: &e2 mB&r пара = &e1 EU&r.", + "quests.gregtech_energy.lst_fuel.task": "Я перейду на более энергоемкое топливо", + "quests.gregtech_energy.lst_fuel.task.1": "Большие котлы", + "quests.gregtech_energy.lce_fuel.title": "Жидкое топливо", + "quests.gregtech_energy.lce_fuel.subtitle": "Любимец тех, кому плевать на экологию", + "quests.gregtech_energy.lce_fuel.desc.1": "Все эти виды топлива используются для &6Дизельного генератора&r — здесь они отсортированы от наименее эффективных к лучшим.\n\nНа ранних этапах игры мы рекомендуем начинать с дизеля или биодизеля. Позже ты сможешь улучшить их до &6нитро-дизеля&r на этапе &6HV&r, смешав его с азотом, водородом и кислородом.", + "quests.gregtech_energy.lce_fuel.desc.2": "Как только ты достигнешь &5EV&r и получишь в своё распоряжение &6Ректификационные колонны&r, самое время перейти на бензин и высокооктановый бензин. Не пытайтся делать это слишком рано — нефть нужно правильно дистиллировать, а использование обычных дистилляторов для этого совершенно неэффективно.\n\nЧтобы всё заработало, вам понадобится сочетание дистилляции нефти и переработки некоторой органики. К счастью, пиролизная печь и Ректификационная колонна справятся с этим без проблем.\n\nЕсли тебе удастся обеспечить стабильное производство высокооктанового бензина, ты сможешь пройти весь модпак, используя только дизельные генераторы.", + "quests.gregtech_energy.lce_fuel.task": "Пон", + "quests.gregtech_energy.large_solar.subtitle": "Огромная лёгкая энергия", + "quests.gregtech_energy.large_solar.desc.1": "Большой солнечный массив MK I станет для тебя основным решением, если ты хочешь обустроить крупную базу на Луне.\n\nОна особенно полезна для производственных линий &bAE2&r и также может питать твои добытчики лунной пыли.\n\nНе забывай, что ты можешь использовать «Терминал» из GregTech, чтобы мгновенно построить мультиблок, зажав Shift и кликнув ПКМ по контроллеру.\n\nПроверь доступные рецепты, просто нажав &eU&r на контроллере, чтобы увидеть все варианты.", + "quests.gregtech_energy.large_solar.desc.2": "&6Большой солнечный массив MK I&r имеет &92 разных рецепта&r:\n\n&9• Пассивный режим&r —\nВ этом режиме она медленно расходует &dбазовые фотооэлектрические ячейки&r, так что он подходит, когда ты активно обустраиваешь базу и просто закидываешь туда стак, но вечно так работать не будет. Днём она будет генерировать всего &62A HV&r — достаточно для базовых систем, но далеко не оптимально.\n\n&9• Активный режим&r —\nЕсли ты хочешь &aмаксимизировать выработку энергии&r, тебе придётся управлять охлаждающей жидкостью. Для этого лунная база должна быть более развитой, но награда того стоит: вместо этого ты получишь &52A EV&r!\n\nТакже существуют версии MK II и MK III для более высоких тиров, которым требуются более продвинутое охлаждение.", + "quests.gregtech_energy.large_solar_t2.subtitle": "Еще сильнее", + "quests.gregtech_energy.large_solar_t2.desc.1": "Если ты строишь &dбазу AE2 на Луне&r, скорее всего, тебе понадобится гораздо больше энергии. И тут на помощь приходит &6Большой солнечный массив MK II&r!\n\nКак и версия MK I, она предлагает 2 разных рецепта — но на этот раз ни один из них не является полностью пассивным.", + "quests.gregtech_energy.large_solar_t2.desc.2": "И &bСолнечный хладагент&r, и &bКриогенизированный флюис&r полностью возобновляемы на Луне. Более того, цикл солнечного охладителя возращает входящие &eФтор&r и &eХлор&r — а значит, тебе нужен лишь стабильный приток:\n\n• Гелия-3 — его можно добывать с помощью &aЖидкостной буровой установки&r\n• Воды — собирай её пассивно с помощью &aжидкостного коллектора&r\n\n&cАварийный режим питания:&r\nЕсли подача жидкостей прервётся, MK II всё равно сможет работать, используя фотооэлектрические ячейки.\nЭтот резервный режим позволит базе оставаться со светом, пока ты разбираешься с проблемой.\n\nОбязательный элемент для любой серьёзной внеземной AE2-инфраструктуры.", + "quests.gregtech_energy.large_solar_t3.subtitle": "Максимальная мощность", + "quests.gregtech_energy.large_solar_t3.desc": "Финальный уровень — это &6Большой солнечный массив MK III&r. Она работает так же, как и MK II, но её новый солнечный хладагент требует добавления &aАргона&r и &bСиликаьного аэрогеля&r.\n\nС С &bСиликаьным аэрогелем&r ты уже должен быть знаком — ты использовал его в своей &dРакете 3-го тира&r.\nОднако на Луне производить его гораздо сложнее, и тебе может понадобиться постоянная поставка с &aЗемли&r.\n\nКак справляться с этой логистической задачей — решать тебе: будь то автоматизация или межпланетная транспортировка.\n\n&eВысокотехнологичная энергия&r требует &cинфраструктуры высокого уровня&r. Планируй с умом!", + "quests.gregtech_energy.solar_panel.subtitle": "Свет во тьме", + "quests.gregtech_energy.solar_panel.desc": "Солнечная панель станет для тебя первым источником энергии на Луне.\n\nДнём она вырабатывает 32 EU/t, но имей в виду, что на самом деле она генерирует RF, так что тебе понадобится конвертер, чтобы преобразовать его в EU.\n\nТы можешь использовать один &bMV преобразователь энергии&r максимум для 4 солнечных панелей.", + "quests.gregtech_energy.storage.title": "Хранение энергии", + "quests.gregtech_energy.storage.subtitle": "Нужно же куда-то девать всю эту энергию", + "quests.gregtech_energy.storage.desc": "Хранение энергии — один из самых фундаментальных столпов энергосистемы в GregTech.\n\nПочему так? Всё просто: даже самые мощные генераторы не смогут справляться, когда ты запускаешь крупный крафт — особенно в поздней игре.\n\nЧтобы решить эту проблему, GregTech предлагает несколько способов хранения астрономических объёмов EU. Эти хранилища работают как буфер между твоей генерацией энергии и машинами, которые резко её потребляют во время сложных операций.\n\nГотовишься ли ты к термоядерному реактору, БХР или к масштабной крафтовой цепочке уровня HV–IV — тебе обязательно понадобится этот дополнительный запас энергии, чтобы всё работало стабильно.\n\nНе недооценивай силу хорошей батареи — именно она может спасти твою базу от блэкаута в самый критический момент.", + "quests.gregtech_energy.storage.task": "Я понял", + "quests.gregtech_energy.tank.title": "Хранение топлива", + "quests.gregtech_energy.tank.subtitle": "Существует больше видов батарей, чем просто электрические", + "quests.gregtech_energy.tank.desc.1": "Очевидно, что хранение энергии может означать и хранение топлива, из которого она производится.\n\nДля такого случая, хотя бочки и ящики — неплохие варианты на ранних этапах, тебе не стоит игнорировать &dСупер резервуар&r и &dСупер сундук&r.", + "quests.gregtech_energy.tank.desc.2": "Эти монстры способны хранить колоссальные объёмы жидкостей или предметов — идеально для автоматизированных энергетических схем, особенно если ты хочешь генерировать энергию далеко от основной базы, не прокладывая целую сеть кабелей.\n\nПросто загрузи их газом, топливом, паром или даже плазмой — и пусть они делают всё остальное. При правильном планировании твои аванпосты могут полностью работать автономно, без прямого подключения к центральной энергосети.\n\nЭнергия не всегда передаётся по проводам — иногда она приходит в бочках.", + "quests.gregtech_energy.tank.task": "Любой супер резервуар", + "quests.gregtech_energy.battery_buffer.title": "Батарейный буфер", + "quests.gregtech_energy.battery_buffer.subtitle": "Батарейный буфер так и просит, чтобы в него вставляли батареи", + "quests.gregtech_energy.battery_buffer.desc.1": "Батарейные буферы — это базовые машины для хранения и управления энергией, хотя технически сами по себе они энергию не хранят. Они просто служат хранилищем для твоих батарей.\n\n&c⚠ Если не хочешь, чтобы они взорвались&r:\n- &4Никогда не подавай энергию более высокого тира&r в батарейный буфер низшего тира.\n- Батареи могут заряжаться только если они &cтого же или более низкого тира&r, чем сам батарейный буфер.", + "quests.gregtech_energy.battery_buffer.desc.2": "Батарейный буфер может принимать до 2× своего выходного ампеража.\nТак, например, 4× батарейный буфер может принять &a8A&r — но выдаст максимум &e4A&r (по 1A на каждый слот батареи).\n\n&eНапоминание&r:\n- Нет батарей = нет выхода энергии.\n- Количество батарей определяет число ампер на выходе. (То есть &68× батарейный буфер&r с всего &e3 батареями&r будет выдавать лишь &e3A&r.)\n\nИспользуй их с умом — это основа любой стабильной энергосети.", + "quests.gregtech_energy.battery_buffer.task.1": "Любой батарейный буфер", + "quests.gregtech_energy.battery_buffer.task.2": "Тык", + "quests.gregtech_energy.pss.title": "Силовая подстанция", + "quests.gregtech_energy.pss.subtitle": "Все яйца в одну корзину", + "quests.gregtech_energy.pss.desc.1": "&dСиловая подстанция&r — это &6ультимативный настраиваемый батарейный мультиблок&r. Как только ты сможешь скрафтить её на этапе &1IV&r, она без проблем станет центральным источником энергии твоей базы, так что имеет смысл сделать её одной из ключевых целей.\n\nОна способна хранить столько энергии… что, возможно, тебе понадобится несколько жизней, чтобы заполнить её полностью.", + "quests.gregtech_energy.pss.desc.2": "&eКак это работает&r:\n- Построй структуру, используя &aПаладиевые корпуса подстанции&r.\n- Добавь как минимум &b1 энергетический входной разъем&r и &b1 энергетический выходной разъем&r.\n- Она принимает &aлюбой тип разъемов&r — &8амперные&r или &6лазерные&r.\n- &cНикакого риска взрыва&r — трансформаторы &aвстроены&r.\n\n&eСлои накопителей&r:\n- Ты можешь добавить до &d17 слоёв&r &9блоков накопителей&r поверх структуры.\n- Каждый слой должен быть &cполностью заполнен&r — без пустот.\n- Смешивай &fпустые&r и &6заполненные&r накопители как угодно.\n\nКаждый слой должен быть окружён &bЛаминированным стеклом&r.\n\nДавай честно: &cтебе никогда не понадобится 17 слоёв&r... но мечтать масштабно никто не запрещал.\nЕсли ты всё же построишь подстанцию с полными 17 слоями, &lпожалуйста, пришли помощь&r — ты зашёл слишком далеко.", + "quests.gregtech_energy.batteries.title": "Супер батарейки", + "quests.gregtech_energy.batteries.subtitle": "Фантастическое хранилище энергии", + "quests.gregtech_energy.batteries.desc": "На этапах &7LV&r и &bMV&r ты, скорее всего, собрал свои первые батареи из натрия или лития.\n\nНо давай честно — это самые слабые батареи, которые может предложить GregTech.\n\nВ этом задании мы рассмотрим мощные альтернативы: &aкристальные батареи&r.\nОни значительно сильнее, хранят куда больше энергии и помогут тебе продвинуть свою фабрику на следующий тир.\n\nОни дороже? Конечно.\nНо давай будем честны…\nЭнергия есть энергия. Кто тут вообще считает?", + "quests.gregtech_energy.batteries.task": "Любая кристальная батарея", + "quests.gregtech_energy.spending_energy.title": "Трата энергии", + "quests.gregtech_energy.spending_energy.subtitle": "Ох, ты будешь тратить энергию", + "quests.gregtech_energy.spending_energy.desc.1": "Как потратить всю эту энергию?\n\nИспользуй свои машины! Звучит просто, да?\nНу… не совсем. Есть множество мелких деталей, которые тебе стоит изучить, чтобы помочь себе на пути к прохождению &3TerraFirmaGreg&r.\n\nБазовые машины:\n- Эти машины просты.\n- Каждая из них может запрашивать до &a2A&r.\n- Если подать энергию более высокого тира… &4\uD83D\uDCA5 они взорвутся&r.\n\nМультиблоки GregTech:\nВот тут становится действительно интересно. Мультиблоки дают больше гибкости и мощности — &eесли&r ты понимаешь, как они работают.", + "quests.gregtech_energy.spending_energy.desc.2": "Стандартная механика:\n- Если мультиблок может принимать два энергетических разъема (а большинство из них может), это позволяет тебе использовать рецепты более высокого тира, чем тир машины.\n\nПример:\nЕсли ты строишь электрическую доменную печь и устанавливаешь в неё два энергетических разъема &7LV&r, она сможет обрабатывать рецепты ЭДП тира &6MV&r.\n\nЭто одно из ключевых преимуществ мультиблоков по сравнению с одноблочными машинами — чтобы повысить их тир, тебе достаточно заменить энергетические люки, а не перестраивать всю машину целиком.", + "quests.gregtech_energy.spending_energy.desc.3": "Некоторые мультиблоки принимают только один энергетический разъем, но это не значит, что ты ограничен всего 1 ампером!\n\nТы всё равно можешь использовать энергетический разъем на 4A или 16A. Это позволит &bускорять&r рецепты, но не повышать их тир.\n\nПример:\nБольшой сборщик схем принимает только один энергетический люк. Если ты установишь энергетический люк IV на 4A, ты сможешь ускорять все рецепты тира IV и ниже.\n\nОднако он не сможет крафтить рецепты тира LuV, потому что машина не поддерживает несколько люков. Это ограничение сделано намеренно, чтобы предотвратить пропуск системы прогрессии GregTech.", + "quests.gregtech_energy.spending_energy.desc.4": "Так что запомни: больше ампер на одном люке означает более быструю обработку, но для открытия рецептов более высокого тира нужны два энергетических люка.", + "quests.gregtech_energy.spending_energy.task": "Я понял", + "quests.gregtech_energy.overclock.title": "Ускорение", + "quests.gregtech_energy.overclock.subtitle": "Базовая механика улучшения", + "quests.gregtech_energy.overclock.desc.1": "Ты слышал про ускорение (Overclocking), но не до конца понимаешь, что это такое? Давай разберёмся.\n\nНачнём с основ:\n&dLV&r соответствует максимуму в 32 EU/t — иногда меньше, но никогда больше.\n&dMV&r доходит до 128 EU/t.\n&dHV&r достигает 512 EU/t.\nПроще говоря, каждый следующий тир — это увеличение потребления энергии в 4 раза.", + "quests.gregtech_energy.overclock.desc.2": "Что происходит, когда ты запускаешь рецепт более низкого тира в машине более высокого тира? Это и называется &eускорением (Overclocking)&r!\n\nРецепт &dMV&r (33–128 EU/t), запущенный в машине &dHV&r, будет одновременно: 1) потреблять в 4 раза больше энергии и 2) выполняться в 2 раза быстрее.\n\nТот же рецепт MV в машине &dEV&r? Потребление энергии вырастет в 16 раз, но скорость увеличится лишь в 4 раза.\n\nКак видишь, с точки зрения энергоэффективности выгоднее использовать несколько машин, чем разгонять одну.\nНо давай честно: в большинстве сетапов ты предпочтёшь ускорение строительству кучи одинаковых машин.\n\nТем не менее, полезно понимать это заранее — особенно на ранних этапах, когда энергии не хватает.", + "quests.gregtech_energy.overclock.desc.3": "Существует особый вид ускорения, доступный лишь для некоторых мультиблоков: &eидеальное ускорение (Perfect Overclocking)&r.\nЗдесь вместо 4× энергии за 2× скорости ты получаешь &a4× энергии&r за &a4× скорости&r! Это делает его столь же эффективным, как использование нескольких машин одновременно.\n\nВ настоящее время в TerraFirmaGreg идеальный разгон поддерживают только следующие мультиблоки:\n- Электрическая доменная печь\n- Доменная печь для сплавов\n- Карусельная печь\n- Большой химический реактор\n- Электротеплица\n- Теплообменник", + "quests.gregtech_energy.overclock.task": "Значит красненькие быстрее, понял", + "quests.gregtech_energy.blast_oc.title": "Доменное ускорение", + "quests.gregtech_energy.blast_oc.subtitle": "Это тебе не нужно понимать", + "quests.gregtech_energy.blast_oc.desc.1": "Если ты ещё не разобрался с идеальным ускорением, сначала прочитай задание прямо над этим.\n\nЭти три мультиблока обладают особой способностью: они могут &eидеально разгонять&r рецепты в зависимости от &cтемпературы машины&r. Текущую температуру ты можешь посмотреть, кликнув по контроллеру.\n\nЕсть два способа повысить температуру:\n1) Использовать энергетические входы более высокого тира\n2) Улучшить катушки", + "quests.gregtech_energy.blast_oc.desc.2": "Чтобы увидеть температуру катушки, просто &3зажми Shift&r, наведя на неё курсор.\n\nКогда ты знаешь температуру машины, тебе понадобится температура рецепта. Проще всего узнать её через EMI.\n\nИмея оба значения, можно быстро прикинуть, применяется ли идеальное ускорение:\n&bТвоя машина должна быть как минимум на 1800K горячее на каждый уровень разгона, чем требуется рецептом.&r", + "quests.gregtech_energy.blast_oc.desc.3": "Пример:\n- Рецепт нержавеющей стали требует &c1700K&r и относится к тиру &aHV&r.\n- Твоя ЭДП работает на &bLuV&r и имеет температуру &c5900K&r.\n- От HV до LuV — это &a3 уровня разгона&r.\n- 1800 × 3 = &c5400K&r → добавляем базовое требование рецепта: 5400 + 1700 = &c7100K&r нужно для полного идеального разгона.\n- Поскольку температура твоей машины всего &c5900K&r, ты получишь идеальный разгон с HV до EV и с EV до IV, но лишь обычное ускорение с IV до LuV.\n\nВ итоге рецепт будет выполняться за 1,7 секунды вместо 0,85 секунды при полном идеальном разгоне.\n\nКажется слишком сложно? Просто запомни: лучшие катушки = более быстрые и дешёвые рецепты.", + "quests.gregtech_energy.blast_oc.task": "Хорошие катушки есть хорошо, понял", + "quests.gregtech_energy.subtick.title": "Сабтик", + "quests.gregtech_energy.subtick.subtitle": "Параллели?", + "quests.gregtech_energy.subtick.desc.1": "Ещё одна скрытая механика мультиблоков GregTech — &dсабтик (Subtick)&r.\n\nЧто это такое? Сабтик срабатывает, когда рецепт становится настолько быстрым, что занимает меньше одного тика. В обычных условиях машины не могут выполнять больше одного рецепта за тик — но с сабтиком могут!\n\nКак это работает? Как только длительность рецепта достигает 1 тика, дальнейшее улучшение энергетического люка уже не делает его быстрее.\nЗато благодаря сабтику, вместо пустой траты энергии, машина будет &aпараллелить рецепт внутри себя&r.", + "quests.gregtech_energy.subtick.desc.2": "Например: если твой Большой химический реактор выполняет рецепт тира LuV за 1 тик, то на ZPM он будет выполнять уже &e2 рецепта за тик&r. Ещё более быстрые люки дадут ещё больше внутренних параллелей.\n\n&dПримечание&r: на данный момент все большие машины могут использовать субтик в ограниченном виде, но &aтолько БХР и теплообменик&r поддерживает одновременно и субтик, и идеальный разгон. Именно поэтому для БХР нет IV-мультиблока с параллельными люками — он и так делает это… только лучше.", + "quests.gregtech_energy.parallel_hatch.title": "Люк контроля параллелей", + "quests.gregtech_energy.parallel_hatch.subtitle": "Опять параллели?", + "quests.gregtech_energy.parallel_hatch.desc.1": "&dЛюк контроля параллелей&r — главная фишка больших мультиблоков.\n\nЧто он делает?\nТам, где это разрешено (в основном у мультиблоков, созданных из сплавов Доменной печи для сплавов), он позволяет запускать &aнесколько рецептов одновременно&r.\n\nЭто достигается за счёт большего потребления энергии за тик, но с колоссальным ростом производительности. Идеально, если ты массово производишь сплавы, схемы или пластины.", + "quests.gregtech_energy.parallel_hatch.desc.2": "Просто установи параллельный люк на мультиблок и убедись, что в него подаётся достаточно энергии и входных материалов. Большинство мультиблоков, которые это поддерживают, указывают это в EMI или в квестбуке.\n\n&dПримечание&r: Большой химический реактор не использует люки контроля параллелей — у него уже есть кое-что получше под названием &bсабтик&r. Подробнее об этом читай в соседнем задании.", + "quests.gregtech_energy.parallel_hatch.task": "Любой люк контроля параллелей", + "quests.gregtech_energy.rotor.title": "Роторы турбин", + "quests.gregtech_energy.rotor.subtitle": "Так много вариантов!", + "quests.gregtech_energy.rotor.desc.1": "Держатели роторов, разумеется, требуют установленный ротор, но вариантов существует много, и у каждого свои характеристики — так что же всё это значит?\n\nБолее высокая &9Эффективность&r увеличивает время, в течение которого используется каждый мБ топлива, фактически снижая его расход. В то же время &9Мощность&r повышает количество EU, которое будет вырабатывать турбина. Ну а &9Прочность&r, думаю, объяснять не нужно.", + "quests.gregtech_energy.rotor.desc.2": "В идеале тебе хочется максимизировать все три показателя, но выбор будет зависеть от того, сколько топлива ты производишь, сколько у тебя турбин и как часто ты готов их заменять, так что единственно правильного ответа здесь нет. &8(Ну, кроме нейтрония, конечно...)&r\n\nТем не менее, если ты совсем теряешься, мы рекомендуем: ванадиевую сталь на этапе &6HV&r, ультимет на &5EV&r и HSS-S на &9IV&r.\n\nК сожалению, автоматически подавать новые роторы в держатели с помощью труб нельзя, так как блок перед ними должен быть полностью пустым, но &aмеханическая рука&r с этим отлично справится!", + "quests.gregtech_energy.rotor.task": "Любой ротор турбины", + "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.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На данный момент реактор умеет использовать их тремя&8*&r разными способами:\n&e1)&r Максимальная температура &7(изоляция)&r\n&e2)&r Эффективность &7(топливо служит дольше)&r\n&e3)&r Дросселирование &7(замедляет реакции)&r\n\n&8*)&r Возможно, в твоей галактике нет необходимых материалов для всех вариантов. Мы предполагаем, что материалы доступны только для первой категории.\n\nНо будь осторожен. Повышение &cтемпературы&r имеет и &cобратную сторону&r.", + "quests.gregtech_energy.fission_reactor.desc.5": "Хотя более &cгорячий&r реактор делает производство охлаждающих жидкостей и обработку &cбыстрее&r, он также становится более требовательным к топливным стержням. Каждый топливный стержень имеет ограниченную прочность, и её расход линейно зависит от температуры.\n\nПоскольку для более высокой температуры тебе требуется больше топливных стержней, в итоге износ масштабируется &nквадратично&r. Если ты хочешь максимально эффективно нагревать охлаждающие жидкости, используй низкую температуру. А если тебе нужна более быстрая переработка ядерных материалов — поднимай температуру настолько высоко, насколько позволяет изоляция.", + "quests.gregtech_energy.fission_reactor.desc.6": "Ты наконец готов взглянуть на различные рецепты, связанные с реактором. Посмотри, где используется &dконтроллер&r, и ты увидишь три вкладки &eEMI&r:\n\n&e1)&r Ядерный реактор &7(топливо и совместимые охлаждающие жидкости)&r\n&e2)&r Теплообмен ядерного реактора &7(по принципу ЭДП)&r\n&e3)&r Продукты деления &7(когда топливо заканчивается)&r\n&e4)&r Превью мультиблока\n\nРазличные &aтоплива&r совместимы только с определёнными &9охлаждающими жидкостями&r, так что обязательно обращай на это внимание. А когда топливный стержень полностью выработается, статистическая вероятность с уверенностью говорит о том, что он &bт&dра&dнс&r&dф&bо&dр&bм&dи&bр&dо&bв&dа&bл&dс&bя&r в новые элементы.\n\nРецепты переработки, в свою очередь, могут выполняться независимо от топлива — при условии, что уровень температуры достаточно высок.", + "quests.gregtech_energy.fission_reactor.desc.7": "Упрощённая математика выглядит так: при достаточном количестве охлаждающей жидкости и топливном стержне с &c100%%&r тепловыделением реактор достигнет температуры примерно &c200&r. Это также можно называть уровнем тепла или просто теплом. Наличие &dдвух&r топливных стержней с &c100%%&r эквивалентно &dодному&r стержню с &c200%%&r — в обоих случаях это приводит примерно к &c400&r тепла.\n\nЭто происходит потому, что топливный стержень генерирует &6200 HU/t&r (единиц тепла). Охлаждающие жидкости способны забирать &61 HU/t&r на каждый &c1&r градус тепла.\n\nЕсли максимальное тепло реактора составляет &c190&r, то топливный стержень с &c100%%&r его перегреет. Ты можешь увеличить этот предел с помощью изоляции или, альтернативно, использовать &dактивные охлаждающие жидкости&r через систему переработки. У каждого рецепта есть своё тепловое воздействие.", + "quests.gregtech_energy.fission_reactor.desc.8": "Например, если температура рецепта составляет &c100&r, а его воздействие равно &6-10 HU/t&r, он сможет охлаждать реактор на &619 HU/t&r при &c190&r градусах.\n\nЭто позволяет запускать реактор с более низким максимальным уровнем тепла и не перегреваться! Если температура ниже &c100&r, рецепт вообще не запустится — точно так же, как и у рецептов ЭДП есть свои ограничения.\n\nНа этом &eмы&r пока можем тебя научить всему. Возвращайся позже, чтобы узнать, появились ли новые улучшения, &eколлега-ядерщик&r!", "quests.high_voltage": "&6HV&r - Высокое Напряжение", "quests.high_voltage.subtitle": "Увеличивайте свои мощности, узнайте о чистых комнатах, делайте больше химикатов и готовьтесь к полёту в космос.", "quests.high_voltage.energium_crystals.title": "Супер батареи", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index b2340d7f6..d2d172ffd 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1957,6 +1957,69 @@ "quests.ae2.cell_component_64m.desc": "&c64M存储组件&r是你在&8TerraFirmaGreg&r中可以制作的最大组件。老实说,我们相信你永远不需要它,但它为完美主义者而存在。", "quests.ae2.oversize_interface.desc": "&dME超大接口&r是一个&dME扩展接口&r,但每个槽位可以容纳16倍多的物品或流体。如果你有需要大量物品或流体的流程,这可能是你的首选。", "quests.ae2.assembler_matrix.desc": "&6装配矩阵&r基本上是一个可定制的多方块分子装配室。此任务的要求应让你能够构建一个我们认为足够强大的装配矩阵。如果你愿意,可以添加更多&b样板核心&r或&a合成核心&r层。\n\n像往常一样,查看游戏内指南以获取详细信息。", + "quests.combat_tips.stone_main.title": "石器时代", + "quests.combat_tips.hammer.title": "锤", + "quests.combat_tips.hammer.subtitle": "战锤时刻!", + "quests.combat_tips.hammer.description": "虽然战斗可能不是锤子的首要用途,但它的效果出人意料。锤子可造成&2打击&r伤害,能帮助你对付骷髅。\n\n更多关于&c伤害类型&r的信息,请查阅&3野外指南&r。", + "quests.combat_tips.hammer.task": "任意锤", + "quests.combat_tips.javelin.title": "标枪", + "quests.combat_tips.javelin.subtitle": "穴居人的弓", + "quests.combat_tips.javelin.description": "如果想和敌人保持距离,标枪就是为你准备的武器。这是你最早能获得的远程武器。它们造成&9突刺&r伤害,能帮助你对付僵尸。\n\n更多关于&c伤害类型&r的信息,请查阅&3野外指南&r。\n\n一旦你获得皮革,就可以制作一个&5箭袋&r,它让你能便捷地取用最多8支标枪!", + "quests.combat_tips.javelin.task": "任意标枪", + "quests.combat_tips.axe.title": "斧", + "quests.combat_tips.axe.subtitle": "不止能砍木头", + "quests.combat_tips.axe.description": "在你能升级装备之前,斧头将是你最可靠的武器。除了高伤害,它们还造成&6斩击&r伤害,这将帮助你对付苦力怕。\n\n更多关于&c伤害类型&r的信息,请查阅&3野外指南&r。", + "quests.combat_tips.axe.task": "任意斧", + "quests.combat_tips.knife.title": "刀", + "quests.combat_tips.knife.subtitle": "戳戳刺刺", + "quests.combat_tips.knife.description": "刀主要用于合成,但紧急时也能作为武器。它们造成&9突刺&r伤害,能帮助你对付僵尸。\n\n更多关于&c伤害类型&r的信息,请查阅&3野外指南&r。", + "quests.combat_tips.knife.task": "任意刀", + "quests.combat_tips.club.title": "燧石棒", + "quests.combat_tips.club.subtitle": "梆梆!", + "quests.combat_tips.club.description": "燧石棒是相当非主流的武器。它们不直接造成伤害,而是会打断目标的骨头,使其动弹不得。\n\n普通和强化燧石棒都可以用原始材料制作。强化燧石棒拥有更快的攻击速度和更高的耐久度。", + "quests.combat_tips.mold_main.title": "原始冶金术", + "quests.combat_tips.wood_shield.title": "木盾", + "quests.combat_tips.wood_shield.subtitle": "骷髅的箭,真的很痛", + "quests.combat_tips.wood_shield.description": "盾牌会保护你免受其朝向的大部分伤害源。请注意,它&4不能&r保护你免受爆炸伤害。", + "quests.combat_tips.leather.title": "皮革护甲", + "quests.combat_tips.leather.subtitle": "终于有衣服穿了", + "quests.combat_tips.leather.description": "一旦你有了皮革,就能获得第一套真正的护甲。它不算很棒,但能提供你可能需要的额外保护。\n\n它们还能让你对&6斩击&r伤害有轻微抗性。", + "quests.combat_tips.mold_weapons.title": "铸模武器", + "quests.combat_tips.mold_weapons.subtitle": "金属的力量", + "quests.combat_tips.mold_weapons.description": "模具让你可以制作所有武器的铜和青铜版本,包括三种新类型:剑、镰刀和狼牙棒。\n\n剑:这种均衡的武器造成&6斩击&r伤害。\n\n镰刀:它们比剑伤害更高,但速度更慢。造成&6斩击&r伤害。\n\n狼牙棒:它们是造成&2打击&r伤害的最佳武器。", + "quests.combat_tips.mold_weapons.task1": "任意剑", + "quests.combat_tips.mold_weapons.task2": "任意镰刀", + "quests.combat_tips.mold_weapons.task3": "任意狼牙棒", + "quests.combat_tips.bow.title": "弓与箭", + "quests.combat_tips.bow.subtitle": "然后我膝盖就中了一箭……", + "quests.combat_tips.bow.description": "虽然标枪很酷,但很难打败弓和箭。箭可能很昂贵,所以建个禽类养殖场不是个坏主意。箭造成&9突刺&r伤害。\n\n一旦你有了皮革,就可以制作一个&5箭袋&r,它让你能便捷地取用最多8组箭!", + "quests.combat_tips.bow.task2": "任意箭", + "quests.combat_tips.bronze_main.title": "青铜时代", + "quests.combat_tips.forged_weapons.title": "锻造武器", + "quests.combat_tips.forged_weapons.subtitle": "迈向锻铁及更高阶段!", + "quests.combat_tips.forged_weapons.description": "从锻铁阶段开始,你将需要相应的砧来锻造它们。此外,铁砧解锁了屠宰刀。\n\n屠宰刀:比剑更快,但伤害较低。它们允许你从生物身上获得&c双倍&r肉。这不影响任何其他掉落物。", + "quests.combat_tips.forged_weapons.task": "任意屠宰刀", + "quests.combat_tips.shield.title": "金属盾牌", + "quests.combat_tips.shield.subtitle": "高级防护", + "quests.combat_tips.shield.description": "现在这些才是真正的盾牌。使用其中之一将保护你免受任何伤害,包括爆炸。\n\n它们还有一堆有趣的形状!", + "quests.combat_tips.shield.task": "任意金属盾牌", + "quests.combat_tips.armor.title": "金属盔甲", + "quests.combat_tips.armor.subtitle": "只有最闪亮的盔甲", + "quests.combat_tips.armor.description": "金属盔甲需要两步锻造过程,但别被它的难度吓倒。金属盔甲将提升你进入&d幽冥之地&r或对抗一群&3灾厄村民&r时的生存几率。\n\n所有金属盔甲都会为你提供对&6斩击&r、&9突刺&r和&2打击&r伤害的额外防护。", + "quests.combat_tips.armor.task1": "任意金属头盔", + "quests.combat_tips.armor.task2": "任意金属胸甲", + "quests.combat_tips.armor.task3": "任意金属护腿", + "quests.combat_tips.armor.task4": "任意金属靴子", + "quests.combat_tips.iron_main.title": "铁器时代", + "quests.combat_tips.crossbow.title": "弩", + "quests.combat_tips.crossbow.subtitle": "就像手动操作的枪", + "quests.combat_tips.crossbow.description": "很简单,它的功能和原版弩一样。与弓类似,你可以使用&5箭袋&r来容纳最多8组箭。", + "quests.combat_tips.flintlock_mechanism.title": "燧发机构", + "quests.combat_tips.flintlock_mechanism.subtitle": "随时迸发火花!", + "quests.combat_tips.flintlock_mechanism.description": "这是你的第一个&2枪械机构&r,是大多数枪支的主要合成部件。&6燧发机构&r让你可以制作前两把枪!第一把是&9燧发手枪&r。\n\n一旦你获得钢,就能制作便宜得多的&6燧发机构&r。", + "quests.combat_tips.flintlock_gun.title": "燧发手枪", + "quests.combat_tips.flintlock_gun.subtitle": "吃铅子去吧!", + "quests.combat_tips.flintlock_gun.description": "好吧,这就是你一直等待的时刻,这是一把枪。虽然它不是一把很好的枪,但科技总得有个起点。与其他远程武器相比,枪有许多优势,现在对你有用的是&3石墨黏土灵&r和&2高岭黏土灵&r无法格挡子弹。\n\n关于TACZ枪械工作原理的更多信息,请查看本章节顶部的枪械图鉴。", "quests.tasktype.checkmark": "点击这里完成任务/目标", "quests.tasktype.item.any": "任意类型物品:", "quests.tasktype.lookat": "看向:", @@ -2582,6 +2645,7 @@ "quests.high_voltage.cleanroom.subtitle": "他们把我关进一个房间……一个洁净的房间", "quests.high_voltage.cleanroom.desc.1": "&3超净间&r是一种无污染的空心多方块结构。今后,大多数新的&a电路相关配方&r,以及&3聚变外壳&r等特殊方块,都需在超净间内部的机器中运行。\n\n建造过程将消耗大量&d塑料混凝土&r和/或&d超净间玻璃&r——这会全面考验你的&a聚乙烯&r自动化产线。\n\n我们将从5x5x5的基础结构开始,当感到空间局促时请及时扩建。", "quests.high_voltage.cleanroom.desc.2": "&l&3背景知识:&r&o超净间概念源自格雷科技5,但GT5的实现机制更为严苛:配方执行时不会检测清洁度,但完成概率与超净间洁净等级直接挂钩,这导致大量材料无故消失。\n\n&o此外,若超净间存在维护问题,洁净度上限将锁定在90%%,意味着10%%的物品会被损毁。\n\n&oGTCEu版本的超净间将&6永不损耗&r配方产物。", + "quests.high_voltage.cleanroom.task": "维护仓或自动维护仓", "quests.high_voltage.prospector.title": "HV探矿仪", "quests.high_voltage.prospector.desc.1": "这款探矿仪具备比&7LV&r型号&6更广的探测范围&r。\n\n手持探矿仪时潜行右键可切换至&6流体矿脉模式&r,该模式将显示流体矿脉的&d基础产量&r及其充盈程度。\n\n此功能对于在月球上定位&9氦-3&r矿脉与&9基岩矿脉&r非常有用。", "quests.high_voltage.prospector.desc.2": "&9提醒:&r&3流体钻机&r的产量与矿脉的\"充盈度\"直接相关。当充盈度过低时,产出将默认切换至GTCEu配置文件中设定的保底产量。\n\n&9提示:&r当充盈度低于30%(此为粗略估值)时,出于能效比考虑,建议转移至其他矿脉。你可瞄准&5EV&r阶段的&3高级流体钻机&r,它不仅显著提升产量,更能降低矿脉消耗速率!\n\n&c注意:&r因程序缺陷,探矿仪显示坐标可能存在1区块偏移,请避免将钻机放置在流体矿脉边缘,否则可能抽取到错误流体!", @@ -3328,7 +3392,7 @@ "quests.metal_age.crucible.desc": "将坩埚放置在木炭炉上方。它带有9个物品栏槽位,可容纳4032mB的流体,包括一个检查你合金化比例的界面。它们在破碎时也会保留其内容物。当放置在高炉下方时,它们也可以收集生铁。\n\n请记住,坩埚会尝试合金化里面的所有东西——它不像匠魂冶炼炉那样将金属分开保存——所以当你不使用它时,保持清洁是一个好主意。", "quests.metal_age.fire_bricks.title": "耐火砖", "quests.metal_age.fire_bricks.subtitle": "用于高炉", - "quests.metal_age.fire_bricks.desc": "耐火砖用于建造高炉,你至少需要4块砖来制作炉子。\n\n这些砖需要隔热以确保炼钢过程有效,你可以在耐火砖周围放置3块锻铁薄板,或者使用高炉隔热材料", + "quests.metal_age.fire_bricks.desc": "耐火砖用于建造高炉,你至少需要4块砖来制作炉子。\n\n这些砖需要隔热以确保炼钢过程有效,你可以在耐火砖周围放置3块锻铁板,或者使用高炉隔热板。", "quests.metal_age.fully_stacked_blast_furnace.title": "全尺寸高炉", "quests.metal_age.fully_stacked_blast_furnace.subtitle": "完工的高炉", "quests.metal_age.fully_stacked_blast_furnace.desc": "全尺寸的高炉能够一次熔化和处理大量的铁。在可能的情况下把它建得更大是一个好主意,因为你将来需要大量的钢。\n\n在你有了第一个蒸汽合金炉之后,你将能够更便宜地制造更多的耐火砖。", @@ -4594,7 +4658,7 @@ "quests.tfg_tips.firmaciv_info.desc": "&3群峦传说:航海文明&r模组配备了4种不同的导航工具,每一种都能为你提供在世界中所处位置的重要信息。\n包括&d六分仪&r、&d领航员时计&r、&d晴雨表&r和&d指南针&r;关于这些工具的更多信息,请查阅&2野外指南&r。\n\n&3&l背景知识:&r&o默认情况下,Firma:Civ会移除坐标显示,以促使你使用其导航工具。但在此处我们无法这样做,所以,呃,如果你想体验沉浸式角色扮演的话,就用用它们吧。", "quests.tfg_tips.warfare.title": "海战", "quests.tfg_tips.warfare.subtitle": "全舰火炮齐射!", - "quests.tfg_tips.warfare.desc": "你可以为&b单桅纵帆船&r配备&d加农炮&r与炮弹,以便将目标轰成碎片。\n发射加农炮需要先装入&a火药&r、&a粗制纸&r和&a炮弹&r,然后用&c打火石&r点燃引信。", + "quests.tfg_tips.warfare.desc": "你可以为&b单桅纵帆船&r配备&d加农炮&r与炮弹,以便将目标轰成碎片。\n发射加农炮需要先装入&a火药&r、&a粗制纸&r和&a炮弹&r,然后用&c打火石&r点燃引信。\n\n没有&b帆船&r?别担心!火炮也可以放置在地面上,并以和在&b帆船&r上同样的方式发射。", "quests.tfg_tips.kayak_materials.title": "皮划艇", "quests.tfg_tips.kayak_materials.subtitle": "给自己弄艘皮划艇", "quests.tfg_tips.kayak_materials.desc": "&d皮划艇&r是第二简单的船,需用&b蜡&r制作&a防水皮&r。作为&c唯一&r可拾取的船只,虽然仅限&d单人乘坐&r,但在钢铁时代的&d单桅纵帆船&r前是最快的船!", From 5abe5fdfd2f2dba9c47e2df0233ca3c554666c81 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 16 Dec 2025 23:25:33 +0000 Subject: [PATCH 380/628] pakku, changelog --- CHANGELOG.md | 3 + pakku-lock.json | 173 ++++++++++++++++++++++++------------------------ 2 files changed, 90 insertions(+), 86 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 060832a56..6fbdda2e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,9 +54,12 @@ - Fixed missing block names for some of the variations of non-earth stones @Pyritie - Fixed being able to turn bismuth and black bronze drums into regular bronze drums (#2436) @Jeuvke - Fixed a recipe conflict with stone plates (#2433) @Pyritie +- Fixed concrete pouring consuming your fluid container if you use anything other than a bucket to pour @Mqrius +- Fixed large amounts of TPS lag when pouring huge areas of concrete at once @Therighthon ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra +- Russian @Petr211071 ## [0.11.10] - 9-12-2025 ### Breaking Changes diff --git a/pakku-lock.json b/pakku-lock.json index 4bd5e8588..6a8e793d4 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -6652,33 +6652,9 @@ "modrinth": "hYykXjDp" }, "files": [ - { - "type": "curseforge", - "file_name": "fzzy_config-0.7.3+1.20.1+forge.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7085/17/fzzy_config-0.7.3+1.20.1+forge.jar", - "id": "7085017", - "parent_id": "1005914", - "hashes": { - "sha1": "e771e543e930bd7c733f803bdbc0d3f2ecfb46c4", - "md5": "bcbfb7e94f16a15ad5d13fb4999a5b78" - }, - "required_dependencies": [ - "351264" - ], - "size": 2312969, - "date_published": "2025-10-09T02:39:14.310Z" - }, { "type": "modrinth", - "file_name": "fzzy_config-0.7.3+1.20.1+forge.jar", + "file_name": "fzzy_config-0.7.4+1.20.1+forge.jar", "mc_versions": [ "1.20.1" ], @@ -6687,18 +6663,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/17Wzgyxp/fzzy_config-0.7.3+1.20.1+forge.jar", - "id": "17Wzgyxp", + "url": "https://cdn.modrinth.com/data/hYykXjDp/versions/wnhd0CI1/fzzy_config-0.7.4+1.20.1+forge.jar", + "id": "wnhd0CI1", "parent_id": "hYykXjDp", "hashes": { - "sha512": "32d44d05790f9ac9fb4d04385beefbd2d59822d48288239068ae1cc0c10d3b60567b388a0bcd4b98b4bf8716bd94b6a934596c1766f31e8788aa069e76bb178c", - "sha1": "e771e543e930bd7c733f803bdbc0d3f2ecfb46c4" + "sha512": "108f00ce546fd87ae2be853233bfe8f4deeb6abad6a61769a4ddf2735db098fd42d9b0a6ab1f98974717235e9fdf122767bdff82c042cd972cdbc14add039ebf", + "sha1": "b0213984f7591c3d1ec4ab5eebd87c605728d451" }, "required_dependencies": [ "ordsPcFz" ], - "size": 2312969, - "date_published": "2025-10-09T02:39:22.899396Z" + "size": 2353402, + "date_published": "2025-12-14T05:56:34.040088Z" + }, + { + "type": "curseforge", + "file_name": "fzzy_config-0.7.4+1.20.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7331/237/fzzy_config-0.7.4+1.20.1+forge.jar", + "id": "7331237", + "parent_id": "1005914", + "hashes": { + "sha1": "b0213984f7591c3d1ec4ab5eebd87c605728d451", + "md5": "b6bcf0a1abc530257fcaa054157a8a16" + }, + "required_dependencies": [ + "351264" + ], + "size": 2353402, + "date_published": "2025-12-14T05:56:25.963Z" } ] }, @@ -9245,27 +9245,6 @@ "modrinth": "efD07SBK" }, "files": [ - { - "type": "curseforge", - "file_name": "ags_modernmarkings-0.4.3-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6768/454/ags_modernmarkings-0.4.3-1.20.1.jar", - "id": "6768454", - "parent_id": "1267477", - "hashes": { - "sha1": "45d788e6a37c3bdcf5a235caa6a43694cb09e8b4", - "md5": "04d0df2ac6d6ccda0683771c8112256f" - }, - "required_dependencies": [], - "size": 305660, - "date_published": "2025-07-14T16:27:45.340Z" - }, { "type": "modrinth", "file_name": "ags_modernmarkings-0.4.3-1.20.1.jar", @@ -9286,6 +9265,27 @@ "required_dependencies": [], "size": 305660, "date_published": "2025-07-14T16:28:57.389265Z" + }, + { + "type": "curseforge", + "file_name": "ags_modernmarkings-0.4.4-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7339/889/ags_modernmarkings-0.4.4-1.20.1.jar", + "id": "7339889", + "parent_id": "1267477", + "hashes": { + "sha1": "8102920535de97d06c4c7b05a39f44dd237a13f3", + "md5": "0f577579897a88bb2244634dc64a8e7d" + }, + "required_dependencies": [], + "size": 307489, + "date_published": "2025-12-16T10:02:13.160Z" } ] }, @@ -11122,34 +11122,9 @@ "modrinth": "ca9X1Phr" }, "files": [ - { - "type": "curseforge", - "file_name": "rnr-0.2.1-1.20.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/5852/507/rnr-0.2.1-1.20.1.jar", - "id": "5852507", - "parent_id": "1048212", - "hashes": { - "sha1": "046e086b2d4861fbc74bbeb18031102d09622197", - "md5": "451fe8a1c496f44d20d73bfb4cb51a57" - }, - "required_dependencies": [ - "306770", - "302973" - ], - "size": 3557362, - "date_published": "2024-10-27T23:10:58.567Z" - }, { "type": "modrinth", - "file_name": "rnr-0.2.1-1.20.1.jar", + "file_name": "rnr-0.2.2-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -11158,19 +11133,45 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ca9X1Phr/versions/msv0XMkD/rnr-0.2.1-1.20.1.jar", - "id": "msv0XMkD", + "url": "https://cdn.modrinth.com/data/ca9X1Phr/versions/quVtWEPo/rnr-0.2.2-1.20.1.jar", + "id": "quVtWEPo", "parent_id": "ca9X1Phr", "hashes": { - "sha512": "e0f7b50c0da47f449fe03427859a1a33d0b8bef59a676b7ac88f518c99a0a6f02b255b576716c0d5d3a7810bd48e8cc9d74d4f9ed8e519485949c6e2ff8e469a", - "sha1": "046e086b2d4861fbc74bbeb18031102d09622197" + "sha512": "abf0dfbf5bc201c75a688bdcd6232e038fc5d5c9f540ec7057b0ea42455655233059c91ce5e63fc17a7a0422960740abcc02079f181e27e39a5b4dee16e72c91", + "sha1": "ab28d720eb0094bd40c37726199831f4f60b4299" }, "required_dependencies": [ - "nU0bVIaL", - "JaCEZUhg" + "JaCEZUhg", + "1VSGxqkt", + "nU0bVIaL" ], - "size": 3557362, - "date_published": "2024-10-27T23:13:57.176874Z" + "size": 3568839, + "date_published": "2025-12-16T05:13:25.666668Z" + }, + { + "type": "curseforge", + "file_name": "rnr-0.2.2-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7339/318/rnr-0.2.2-1.20.1.jar", + "id": "7339318", + "parent_id": "1048212", + "hashes": { + "sha1": "ab28d720eb0094bd40c37726199831f4f60b4299", + "md5": "82c946ea6261a82d60290f93d91a12cd" + }, + "required_dependencies": [ + "302973", + "306770" + ], + "size": 3568839, + "date_published": "2025-12-16T05:14:29.893Z" } ] }, From 098e1e6f06e0bc6744010a9a817f02a152b800aa Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 17 Dec 2025 13:47:35 +0000 Subject: [PATCH 381/628] remove animal fat from beasts cuz you can mob farm them --- kubejs/server_scripts/primitive_creatures/loot.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js index bbad256ed..e96ef7a91 100644 --- a/kubejs/server_scripts/primitive_creatures/loot.js +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -241,11 +241,10 @@ function registerPrimitiveCreaturesLoots(event) { // mistah beeeaaaasssstt event.addEntityLootModifier('primitive_creatures:beast') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([5, 8], ['tfg:food/raw_long_pig_filet']) - .addWeightedLoot([12, 16], ['minecraft:bone']) - .addWeightedLoot([2, 3], ['tfc:large_raw_hide']) - .addWeightedLoot([4, 6], ['tfc:blubber']) + .addWeightedLoot([4, 6], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([6, 9], ['minecraft:bone']) + .addWeightedLoot([1, 2], ['tfc:large_raw_hide']) event.addEntityLootModifier('primitive_creatures:beast') .matchMainHand('#forge:tools/butchery_knives') - .addWeightedLoot([4, 8], ['tfg:food/raw_long_pig_filet']) + .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) } \ No newline at end of file From 146d0bf2d0496ea5311f1223849fe18669522d69 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 17 Dec 2025 20:24:29 +0000 Subject: [PATCH 382/628] some tweaks to moon structures --- kubejs/data/tfg/worldgen/structure_set/moon/cheese_ores.json | 4 ++-- .../tfg/worldgen/structure_set/moon/moon_rabbit_houses.json | 2 +- .../data/tfg/worldgen/template_pool/moon/moonbase_hubs.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kubejs/data/tfg/worldgen/structure_set/moon/cheese_ores.json b/kubejs/data/tfg/worldgen/structure_set/moon/cheese_ores.json index 7c0422b12..196bbb2e4 100644 --- a/kubejs/data/tfg/worldgen/structure_set/moon/cheese_ores.json +++ b/kubejs/data/tfg/worldgen/structure_set/moon/cheese_ores.json @@ -7,12 +7,12 @@ ], "placement": { "salt": 486424619, - "spacing": 4, + "spacing": 3, "separation": 1, "type": "minecraft:random_spread", "exclusion_zone": { "other_set": "tfg:moon/meteors", - "chunk_count": 3 + "chunk_count": 6 } } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/moon/moon_rabbit_houses.json b/kubejs/data/tfg/worldgen/structure_set/moon/moon_rabbit_houses.json index 1ab645f7a..79d7d2cc9 100644 --- a/kubejs/data/tfg/worldgen/structure_set/moon/moon_rabbit_houses.json +++ b/kubejs/data/tfg/worldgen/structure_set/moon/moon_rabbit_houses.json @@ -12,7 +12,7 @@ "type": "minecraft:random_spread", "exclusion_zone": { "other_set": "tfg:moon/meteors", - "chunk_count": 3 + "chunk_count": 6 } } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/moon/moonbase_hubs.json b/kubejs/data/tfg/worldgen/template_pool/moon/moonbase_hubs.json index 5db8aa6f8..8f8ab06e8 100644 --- a/kubejs/data/tfg/worldgen/template_pool/moon/moonbase_hubs.json +++ b/kubejs/data/tfg/worldgen/template_pool/moon/moonbase_hubs.json @@ -96,7 +96,7 @@ } }, { - "weight": 100, + "weight": 25, "element": { "element_type": "lithostitched:limited", "delegate": { From ec8f3519f7ce8afac09db65db075468d2d3e6e16 Mon Sep 17 00:00:00 2001 From: Epicificator <143143550+Epicificator@users.noreply.github.com> Date: Thu, 18 Dec 2025 03:37:46 -0500 Subject: [PATCH 383/628] New New belt textures! (#2454) * Natural rubber belt block textures Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * remove old styrene butadiene rubber belt block textures Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * New SBR belt textures! Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * Delete old rubber belt item texture Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * New belt item textures Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * Delete old silicone rubber belts Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> * New silicone belt textures! Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> --------- Signed-off-by: Epicificator <143143550+Epicificator@users.noreply.github.com> --- .../greate/textures/block/rubber/belt.png | Bin 0 -> 388 bytes .../textures/block/rubber/belt_diagonal.png | Bin 0 -> 342 bytes .../block/rubber/belt_diagonal_scroll.png | Bin 0 -> 354 bytes .../textures/block/rubber/belt_offset.png | Bin 0 -> 408 bytes .../textures/block/rubber/belt_scroll.png | Bin 0 -> 425 bytes .../textures/block/silicone_rubber/belt.png | Bin 333 -> 433 bytes .../block/silicone_rubber/belt_diagonal.png | Bin 263 -> 437 bytes .../silicone_rubber/belt_diagonal_scroll.png | Bin 224 -> 521 bytes .../block/silicone_rubber/belt_offset.png | Bin 355 -> 449 bytes .../block/silicone_rubber/belt_scroll.png | Bin 370 -> 519 bytes .../block/styrene_butadiene_rubber/belt.png | Bin 235 -> 344 bytes .../styrene_butadiene_rubber/belt_diagonal.png | Bin 200 -> 341 bytes .../belt_diagonal_scroll.png | Bin 211 -> 419 bytes .../styrene_butadiene_rubber/belt_offset.png | Bin 338 -> 352 bytes .../styrene_butadiene_rubber/belt_scroll.png | Bin 366 -> 415 bytes .../textures/item/rubber_belt_connector.png | Bin 218 -> 3037 bytes .../item/silicone_rubber_belt_connector.png | Bin 0 -> 451 bytes 17 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/greate/textures/block/rubber/belt.png create mode 100644 kubejs/assets/greate/textures/block/rubber/belt_diagonal.png create mode 100644 kubejs/assets/greate/textures/block/rubber/belt_diagonal_scroll.png create mode 100644 kubejs/assets/greate/textures/block/rubber/belt_offset.png create mode 100644 kubejs/assets/greate/textures/block/rubber/belt_scroll.png create mode 100644 kubejs/assets/greate/textures/item/silicone_rubber_belt_connector.png diff --git a/kubejs/assets/greate/textures/block/rubber/belt.png b/kubejs/assets/greate/textures/block/rubber/belt.png new file mode 100644 index 0000000000000000000000000000000000000000..61e23bdd348cb31c01d38e3878a73a1de13200b8 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0XBj({-ZRBb+K z1_nkmPZ!4!jft@nZ{{5e;Bh$~?Ha)ReV1R;fC} z^LHix|FIVAt*N_P&v0km-)nz*g&PXzT)BJx?nxH8hiR)`2|i29lS@n!d?%=8QLbLT zz4&@<4a>~SUswVTnAkBe%vi?G(D=kAeX2+A|+x+pm}#FBrJz>ay^NC)~?s zxul)@ye9YK4yQF9Yt-)exVP-i-nQy`!4rY&tK2rNx^h?fP|Ee{$B|)X{GngdsytVQ zZHp3Iy~=B{Pmz0;uk)cxI?GO;2{FGtvCon5w%{ZaSC<(x_upY;U*ha_iNllOx9l(P r`}5i#UR&1o@LJ5*>2-m^KiLiDZJ6J9^vWj&1_lOCS3j3^P6&70kVAT)e?;Tew_*_`Uma z%a?E5dWDzTm4&~9Zj{W{>Ux*BYTitpNg5%c6V3HBCz-H%3I-Y% z^H06HuzH1U*i_~OHHOfY?2`_3uZ?b8v#Z`hg~P$P`u)6=NtJiYcz@4*lP4y4rp1G) v>T}U#5y7-=?>{&QIf_nT`N04G62H@dqd$bN+xapuFfe$!`njxgN@xNADff#u literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/rubber/belt_diagonal_scroll.png b/kubejs/assets/greate/textures/block/rubber/belt_diagonal_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec8ee545f0843db9b8f4d725b03a95c72f58614 GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Va?5N4dJ z%_q&kz$oJB;uvDl`!?vb-(d%V&wExa(-7tO@xPu$@zR^Vc4sf8TdUIfz9y!gJ(Fb{ zcl!73*FQ|QT#HcX4*kI`8Yn7yB=7sjpG&ioZTbWlDk>}Ew9=I%`X2`g3cla#U(9?V z`n4_N7qj#{72&;Gb)ICt+q-(VeA`}5n?q+qt}357b4E<)pU2oSmY6Gws&D|N7f5cgxH?B9~#^>CWEAd$Ho<`S-A;k}v;X_HJmCn(&>yZ)e>Xz1_Q`Q{2+R_}XWe?pT{JGwf=? z=6kzkEoJh;E**MiVLts{@q;+KJ-pGj9t>`qiY!)bn`qH@Z`DU$%Om%G{`Y2?#lXP8 N;OXk;vd$@?2>_yMwGaRR literal 0 HcmV?d00001 diff --git a/kubejs/assets/greate/textures/block/rubber/belt_scroll.png b/kubejs/assets/greate/textures/block/rubber/belt_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1074a788c4811bd95ede12034f552c29120b1f GIT binary patch literal 425 zcmeAS@N?(olHy`uVBq!ia0y~yU=UznU{K&-VqjpH@;ZMu0|NtRfk$L90|Va?5N4dJ z%_q&kz!>f6;uvDl`!?7!@2~^U;%!QNuT=j1SD(FYh59#-SBZO6{WVrKJ0`fynxY_; zcYU2Tqec1h-_Ok(UO)Z&_#f+ovbW|RjKvrpM?{34zw617wM^;EnzThqT3KpJX{*wl zEXvhGrxst|yEn3Bx)Gztf*yVb2Cqs6g$dVR&2+Jx*2$-M*vjAQSE1$PA|Tk^vC2?UDY|@(eUHzDQ~CWfc@*xH=Q0VK{ycl>o2t?=@7$_R zS3AWsas}U`w9Ow)6pGMwHG3#_>rBYhy`gse?R<};t|}=RM~0sD$+%wqadW^no|!*| zs%8eQyH~Vz#>|;-1m!kHXDx_4#5C=K;Jb5Lo1(4wxNb~)Ab7~YSn%R<+Xo3R4OFxE zlo{SsztFF(mTQZCE!7t7eKr1s&GG2@Hois^6U<>ckNHm=fg+4X$YsvB?1SWV`~Z@Q_H)Fb=g*)w&9 zd)2qL>AJnQW$?YMpv1Z>=AN=ri@*d4Wu>O?^G+^F+np=H*BBDqPA}(&8B!i6nd;>XahFf9w zm$p@(EZ^F}m|#=pvpl$g@59up3EJKPpKL$5s*+noaENwBIws~`~69-RHPmUSq z)t=&YCQ;Q9-zPKd*=Kf_OOfT(FZN>*L0(H=#w&jN`6ip8{{NBxoF5saKTO?M*-_8% ZR$@=|lSMb5GcYhPc)I$ztaD0e0s!>CwMhT~ delta 317 zcmdnUe3of~WIYoD1H*)g8DK#G_4X0=AxN^2(m6-!W zLq|u(?G4(unHwYyYiTHP8^2`_i~YdXRPJ_sPV$Xog)&J?PVegCNPktmU)?Uo*+tON zWtZjLV});OMR$6c^D`t|o6Y!|g@OI@LF>i&lfKP;Q2v(LuqxE_@|iz-b-skJTgu5W zsk`^g7n}3X6BnG`Wn^rY{>tk5p^diPt1m8{5;FDNVFTY_p4lE-Z#w!{U%7g?{?8Zw Z(*>Mc7uLw-GB7YOc)I$ztaD0e0sz)@jywPW diff --git a/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal.png b/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal.png index cb597896863ae4af28016bdf69a64b534947556e..fab27e223a5030083ea7632e2d1390411cf78383 100644 GIT binary patch delta 403 zcmZo?+R8jZr~U{71K$zGsoH$f3=E9vo-U3d8WYb3ZS<2d6sTR3#+Q?Advu+_rLT@1 z_6s^DC{5Jg)#UGenB9RC7;`Mf@J?>|2mCE14Gze`)M zHXe7k=3&m=e)w`Q+m~TMx7gdTl-H2YR7c9m2SduGk;i^99Q0DF%}86ImQ2ljepzueb#Tb&HkEIX*pl+#7t%HCH@xKT}sQ3Z2p;4 zZ!zokUp*z?*(=?qX}mRG*t}gpkRkGAEyux`EC~gnq4!rSDy6B#C}pe1mInyQIk_si!weI|x%^;JLDZ@5yml@>Y-zmX k`f?Gc8Dd8zf~uGfcpp4uY{<^Xz`(%Z>FVdQ&MBb@0OloLh5!Hn diff --git a/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal_scroll.png b/kubejs/assets/greate/textures/block/silicone_rubber/belt_diagonal_scroll.png index ca3baee2e20e8ef72b34c83cda0c842bb9d80b2e..3f3fa523763221987a3bed6e29a99186518335ed 100644 GIT binary patch delta 506 zcmaFB*vT?MvYw5BfkC?S#~B6&2F?PH$YKTtz9S&aI8~cZnt_3Fx2KC^h)3t!$s7Id zI0&@a`|W0rJH5MAH|L2R$5UPnr6nFuI@dk8c@40-wK&Wr8j-cd#fxNtR9EuZ` zSu%JEtzDmQZe{z|BU0>1Pv3l%D42GMf%EB>wCU^7fnx>Ke0(9ndk9FIjJqV z?zhXFb%g{3=WMokzT)+)i#2hJw>o9-Evr9$eeH|$bG$7rE8XWk@4001{DA_KN!07P z{fsV$en~Um+up*k_$>D^7ng~WY43~Uqj!H=5xz)d|GUQT^PUE^?KCg`E5I3%9jWtY z1N-8$wiRpHk3~#U`T6qT!^Ce{{AR@*uLbwyv-7*KEdA20^XAKg-d1z5e}-ZVX`3}a z)Nd>(2`Q+L=QXN7ekkjktPX?zrT~$n^EX~Fk$WC=YSSO<>JQ9U_bwL?wkj}YU|?YI MboFyt=akR{02LbJ@c;k- delta 207 zcmeBVdB8Y9vYv^7fnmz){Mif)44efXk;M!Qe1}1p@p%4<6b1%{NuDl_Ar`%F&pUD* zG7w?8@YB$@US!c1rggCufsP;Y^kS+R11C(FzvXXUNPte9!e-gFhZhs~-_E+fgYPyTNlAGZ4H`_rfMZS3qO7AqZVn$!?B2aL@cH83|XLhcq$uniKi-&CO%^7(1e82LQ zb5)x}vZvLat;cg`+m~1|+<03jy2wAswDtAJMD~0ZyY77(a*eM=75U|CpD1wX|A)>` z^8!LcY#C;sm1;PeR9XLK>D&Vgxh>P*y)$Fzaa-))datCQ`uAp$u+UbI@|aN3-+%XU z=uQ_u%F4K7*Dte=3O_C;XBR5 zc;#!)6eWHA^&LEgd_6Cx`R@5XXTE;Mtd3Pmi=6OyJE+CwwGT@ qPF38g{Hwp%MlSlg#4mR*z&zixhBfBm;T?_FB1wmo2}f3C*O!0_Pik`x97C58>& zUY5^IiZx@G8*P3dqN{Ekoy;Ss$;1$4&k`6ty}PW}(0)?V7o)?zVONcf8Co7}h*Gk8 zzdJVQ);8T=%`1B2LT!zwU%Gte^)5Y4%VZuUFK3o5bsSr^tvh3{^7ru+Kf^YGMfL)# zpMBO=T{JE2oTa|zO&@M0!NA!`Uy{{~s#TPg7;XgjSU!KS>rLa#X!|FtZ|%BZ@=^ct u(kUN9ZC|9`nI!vtQQ(1qGd8pSu>`j1?0mlb=RO7o1_n=8KbLh*2~7aarIMro diff --git a/kubejs/assets/greate/textures/block/silicone_rubber/belt_scroll.png b/kubejs/assets/greate/textures/block/silicone_rubber/belt_scroll.png index 731e30086851f371ea59401ee67b8b2c7917bf4b..db67db48ebad41542766f7a0aad2dc0138bbc815 100644 GIT binary patch delta 485 zcmeyw)Xp+Nr~U{71K$zGsoH$f3=E7rJzX3_EPCGtZ}hw4AW$1&Jnfrbx_GiH+e2a5 zv!;1JSZ0-k{1mMh;4PJ^YdqGgd(>A-iYx5JHzw`Mm?bx?llA<%uIzc`X}$ULy*K+N zuUeItw{PoP{?PTS7#K`^c^`Z#Vs7|uATIv=`}g~t2VTEkAF#as*R^fBf=e^G7QB{X znC;uinUPZZm%+h>K_Z!ffhS`|*tGE7b2ncTYS_Iynjv!9YQAFuGWv|H0>=yQe`hcb zj-UQtm1;2LWC*R_ z@WlCl(nbs0v)zwm97=99*E1UMych3p>0pjuJE`{YeF3j_$H^*zUk`rqIjnKATD+sU z@8+88tsO4cZrwe%@|TL|p~3>ANe1i(PM;QYP*JL^JC-x2cyU{R;UrBZpE#=!ncSBv z-o{TlR$6PItF$`QXzG{e>zZEL*x#Q0?O(1{V%V=0HbN71ehaC|tS!BExczbP0l+XkKm{Q!n delta 335 zcmZo?`NT9qr~WVl1K(lBF#m1LZ&P(y{?uc zcQsb*WN1qAe4}z+#OX~?@|VL=841{V>* z^yv~YpC+x(pBEo@Hhry2$n1}Gj0}Pw&nYP}+&HSyaZ%Jw$!cnS(zPi?=Pu@+aTflc zz|asC{b^EhT(FVSp)(tzgGINm*UGJao(vD(Ec(7@^QpzpT~w5wy(*Y7 z$wWWGAsM_k9RCG*@g)7R?mdV70mu;!VV z*_;R8<<8ye*F95G@a(KhA1gd~$};3#T(TJ&t{u-gdZ+i-R`CtT_s^~nTfA|Zh|`Qo v0u!Ud+pZn2vpTop#p(JTf7&Z^KT{<+%cbYX#~+TGt#gcx ze1l6^)7)HooQ#v#Za7|au7e}3?Y?b|^IBFx$Ez#0isqShMsaUFHtBYVTgaWeH{bJ5 z32J*Yt>*EiTH|OoOQl0!e>F2LnGar4`?+MlcFVdQ&MBb@0C%yI`2YX_ delta 218 zcmcb?^qO&kWIYoD1H*)g8DbP0l+XkK+C^46 diff --git a/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal.png b/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal.png index 80146b3f70625f66b33a511e3e411fec53105074..3ba4c882425c9ee34b62f0357565d06bfaa01726 100644 GIT binary patch delta 306 zcmX@Xc$H~_PW=%E2EHSVQ?>b|85kJZJzX3_G$x)6^38X0@Ey*K~=cbb0u zxl!+nL+#d;Ut{=MHXL|kP_V!L{@b$Yr$Zk}C>wj8`z&}MYwI+Y180m3ecu-RD7d4m zr1Yp{mgg+XhR;7kazhQ;s@~V_{@TG%G_QZ=%X66nmN%U_ z<6~^R`QGll?S7L|-m>psGbwFf-1_M3qWnn=c5B%J9vc_;Oytz%-*x-Y!lp-Ik3Ife zSlF_d295QX}?mxTHLKb~gCctY@c>e*VY R2Mi1h44$rjF6*2UngGzElI#Eg delta 164 zcmcc0bb@h$PW@p92EN0L$MaXDFfcGwdAc};XiR+De~{~tgMhQ~?#QrwITpt+|NpO@ zXA_x|cFfr|V_}_Rv5&`z&A;DPS3M${<% z_^L1S)chvJa2<}{`b$=;_s!nTOBmB;Z}pjw)64SU)6dtx&Q4;KZ8%ugHaD^PA@k&U XQ`W9vZ0BTPU|{fc^>bP0l+XkKu0KmO diff --git a/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal_scroll.png b/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_diagonal_scroll.png index f5fc0cccd18b1d5b2ac1bf43cdfe6221e78014d2..4dba576c8e2f41638333d218db0fba330bfed6fb 100644 GIT binary patch delta 404 zcmcc2xR`l@WIY=L1A}zuk24Gm44efXk;M!Qd`Cc-ajG_-Gy?-;sHcl#h)3t!$p`(I z4S8JVzpcnzI_=)A|NmVk?BeznF23Qrr9*7O4#u4pfkM@3ZzeweDAIno@%nY{RZg0% z9S$xM$Bh|gpA`#bJ#eO@A+ccI{P`Yh!q!fW(!Ok>q%`Af{dIl)VE-#&nqKE-mh4T- zTI*oYm#)+_rDo-_)1SY0mhE8jm_j4%wn@k??3nbKRnYOOhjF~> z(w3QlUM~%#-$!Y$>ROeU#%-(ooLfuj&G+gcuN7KKmxN7xZ`mnzaGc5UoN)2Asj^as zNBIAHS>kX!Hrv_Oa3N2TRFG7JNLdxR;$Yo3-;Uzw<>F| z3tWl%CG(<+Z{KRi*KXGj+}*$S;O`v)8GFO8_C3d#alz*NyXzv283axwNboc#8t}C3=h1)sI*`Zsv&}CC1_lOCS3j3^P6|w diff --git a/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_offset.png b/kubejs/assets/greate/textures/block/styrene_butadiene_rubber/belt_offset.png index 1b058c9755888876b5427b21691c68649449d1b8..a994b49bdbd6be9240106d06e9344336916836af 100644 GIT binary patch delta 336 zcmcb_^nhuCWIY=L1B3kM|A`C?44efXk;M!Q+`=Ht$S`Y;1Oo%3kf)1dh(+(+$tQ!D z4S8JVtMsdLhdwm>|G)K#)1iQEM-O^)IBU)M=y~l@*2>(-X-EB+hhO_D{N3rC8iGD;C|>9A*+$r@-XYj)@#>kqE?3v;Djl94 zv}&UOlcAf-mW8L6WpBS*dpN{;t#oPr-Mq`Czpb0C8`77H@3Kxan>IJ-7r!^p{_?(fr-=hgdRK-wYZ^U t!#eq|ibo~duhmzcT6HXMJM#nXec$%Kzg@iGCj$cmgQu&X%Q~loCIHvcnyml; delta 322 zcmaFBbctz#WIYoD1H*)g8DpY4c+ojtvMd`c0LD# zg{#v9#uFZy%N4w4>4rutI#@s9JlU(lqRd~#p|Uqp#JDK-u-NB4O!1upVj;C@N2(jX?gy;WgWbo#Sf+grF>mx==MG@+a)FC;$6Ag zLw9;}#e|fa7Lr@?D3czb|85kG?JzX3_EPCGtTNWKQ;E9o0q_eZ&nC6%N^2c0V zj;eKtOt9GZ$Y^R{qcOvGh3U&Ot>o;VTkZ}oXJ=4&E_oo&oMFM%9q%u{{IZncjLx$= z+2>|;L)lrrJw)sI)pMB7&A05@NX%+GdohVby;RT7t7UicV~8XFy1%V z8>YS}NYCZSnJ6zo!8A|JsYRTZ6x%u)wGN%}aamPm_kY7GIX-z!RfaP{UbB|mNPo8O z^|hI2+4-1mAI;zubd~or__t1?v|O-oz2dKvPK!fcXKkM;Sa|>Ys#8lvjEmPd-k7pQ zt$<-l5W|L5%cgYPI3v~m>}9F4-Q#CV|6W|Wdu#ZVS+VAeLPK5FY1&qaE(-Qq{UYkM z>7n3Py_T!9u9r3zq`wa4HNQW*!$l-ot}U_TyY;-P+8w8zyC<%i71>cYmz^PE+8&)s qneVTcS3Q6D?cu%3ANy_oF!je3{@><0|0n|k1B0ilpUXO@geCx_ey_m* delta 331 zcmbQw{ElgYPW@p92EN0L$MaXDFfcGGc)B=-SoFS~e9({CkjEu`PRiwZI~Q>M`+r+N zobRdA8y@!MZ@0-a2pwwAm}+ru_QzT4^_O4%eEIoLnaOg-NlMKP42Mocd7H}i9pC<) zpIJa|rZQ)Xq$7iYGK0}|9jC+2FE(+hD0-~A>UQDo{$mm19va>Cg;QhrnN;qkn|{3) zz1pnJy@fq{W361pcZ1Fjg^aaV*XAGH@`S5cP3)P-j(6#Tj`k|Q08! zJ$$#(S;#BW<5=o-Az8b&XqVMnr`_tZnYiOK*Xh;vw_g5zU+cQdS3XRPWA|s4?QHKS rURt^~f9*fj>EAxu^Y1s{zkfJu-ir5ATn;iYFfe$!`njxgN@xNA_??(f diff --git a/kubejs/assets/greate/textures/item/rubber_belt_connector.png b/kubejs/assets/greate/textures/item/rubber_belt_connector.png index e61c1dfe204d3acdcffe148f24ced7898bf7217f..cc459e5ef85f3720e7ff0c5eec0658586864f029 100644 GIT binary patch literal 3037 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 delta 202 zcmcaBev5H}L_G^L0|Ud`yN`kx7#LInd_r6q7#LC#LSw_dBLZCly==Xl%^YnEEsV7d zb=7sXRFxHECB#K09-lamfq{XsB*-tA!Qt7BG>|4w7srr_TgeCbZd{U9=rNhdp)fP< zzyy(3j3Qwr&w0E{*^Ta;TE1O)T>m1q^9q)0L6r9T~apRD;b@c8qy@UsI zwi=lvUF~A!iHTj^uppV4`EVbf!VO-N3DxET37aJt*6SZxw5jK|Fon2+|KEr?-{$a>`!>^pOYZI zAZ&H*?JIBXxEij_vWP3FtW0F6n73W*2k*^75iiYYr&%0=Cf==Cd`+sM?Dw4$-4=aH zT|x|}Qa4*Tx)j`9xul|A{N?xgM>gr?<>k4)HZQ!pa>u)nEp^&gTv?o5Dr)C;26f%c zaog4U{`|%@%8x1>mu~Xk8g;Z#L|*>&!MW#T*It{s@vGRQipI=oAO2Q~S@)fK6>k^t zAt66MIb?aU`=m7nXM@Vz0uL4ZU~rhUhU4%84FOlqb-$S$_ST&#_%UJP!fi7K#|ODAReP(I zIczdb{I*T{B*F8Gq38JHN6x>z{`}Y+l*IM;e*I(h3G2^nI(c=gI0FL%gQu&X%Q~lo FCIIjz#x4K= literal 0 HcmV?d00001 From 906c64b4b6f5b294effe0ad063bbcab15c43d4d3 Mon Sep 17 00:00:00 2001 From: TomPlop Date: Thu, 18 Dec 2025 13:29:10 -0500 Subject: [PATCH 384/628] Add quests (#2456) --- .../quests/chapters/ev__extreme_voltage.snbt | 86 +++++++++++++++++-- kubejs/assets/tfg/lang/en_us.json | 2 +- .../tfg/powergen/recipes.early_gas.js | 10 +-- 3 files changed, 85 insertions(+), 13 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 83efe62f8..cbce38594 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -288,7 +288,7 @@ type: "item" }] title: "{quests.extreme_voltage.wood_distillation.title}" - x: -6.0d + x: -5.5d y: -2.5d } { @@ -495,7 +495,7 @@ } ] title: "{quests.extreme_voltage.tungsten_steel.title}" - x: 0.5d + x: 1.5d y: -2.0d } { @@ -1272,14 +1272,24 @@ { dependencies: ["2DEC7AF917AAE4EC"] description: ["{quests.extreme_voltage.gasoline.desc}"] + icon: "gtceu:gasoline_bucket" id: "397546E863E9835E" + optional: true shape: "octagon" size: 1.5d - tasks: [{ - id: "3F040C1D8A8D6676" - item: "gtceu:gasoline_bucket" - type: "item" - }] + tasks: [ + { + id: "3F040C1D8A8D6676" + item: "gtceu:gasoline_bucket" + optional_task: true + type: "item" + } + { + id: "4BE81C925AD3FB91" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] title: "{quests.extreme_voltage.gasoline.title}" x: -7.0d y: -4.5d @@ -2171,6 +2181,68 @@ x: 2.0d y: 4.5d } + { + dependencies: ["43BBB9074608F9B1"] + description: [ + "{quests.extreme_voltage.btx.desc.1}" + "{@pagebreak}" + "{quests.extreme_voltage.btx.desc.2}" + ] + icon: "tfg:btx_fuel_bucket" + id: "601B05D5F3888C74" + optional: true + shape: "octagon" + size: 1.5d + subtitle: "{quests.extreme_voltage.btx.subtitle}" + tasks: [ + { + id: "1EC8E5CE7DD21191" + item: "tfg:btx_fuel_bucket" + optional_task: true + type: "item" + } + { + id: "2A71DF31AAA0CD3D" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } + ] + title: "{quests.extreme_voltage.btx.title}" + x: -5.5d + y: -4.5d + } + { + dependencies: ["601B05D5F3888C74"] + description: ["{quests.extreme_voltage.btx_catalyser.desc}"] + id: "3EC1D337D9FC3F1B" + optional: true + subtitle: "{quests.extreme_voltage.btx_catalyser.subtitle}" + tasks: [{ + id: "55930B83D1BA6672" + item: "tfg:catalyser_tt_re_zsm" + type: "item" + }] + title: "{quests.extreme_voltage.btx_catalyser.title}" + x: -3.75d + y: -4.5d + } + { + dependencies: ["3EC1D337D9FC3F1B"] + description: [ + "{quests.extreme_voltage.btx_loop.desc.1}" + "{@pagebreak}" + "{quests.extreme_voltage.btx_loop.desc.2}" + ] + id: "38184C7BA01A9B5B" + optional: true + tasks: [{ + id: "39568ED5E30CDC88" + item: "gtceu:rhenium_dust" + type: "item" + }] + x: -5.5d + y: -6.25d + } ] subtitle: ["{quests.extreme_voltage.subtitle}"] title: "{quests.extreme_voltage}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index adb493891..6ed1fe1ac 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1207,7 +1207,7 @@ "material.tfg.reformed_aromatic_feedstock": "Reformed Aromatic Feedstock", "material.tfg.reformate_gas": "Reformate Gas", "material.tfg.cracker_off_gas": "Cracked Reformate Off-Gas", - "material.tfg.btx_fuel": "BTX Gas", + "material.tfg.btx_fuel": "BTX Fuel", "material.tfg.critical_steam": "Critical Steam", "material.tfg.americium_241": "Americium-241", "material.tfg.californium_252": "Californium-252", diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index 0449c37e5..d960d60b3 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -289,14 +289,14 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.distillation_tower('tfg:methanol_distil_propylene') .inputFluids(Fluid.of('gtceu:methanol', 6000)) - .outputFluids(Fluid.of('gtceu:hydrogen', 10000), Fluid.of('gtceu:oxygen', 6000), Fluid.of('gtceu:methane', 1000), Fluid.of('gtceu:ethylene', 1000), Fluid.of('tfg:propylene', 1000)) + .outputFluids(Fluid.of('gtceu:hydrogen', 10000), Fluid.of('gtceu:oxygen', 6000), Fluid.of('gtceu:methane', 1000), Fluid.of('gtceu:ethylene', 1000), Fluid.of('gtceu:propene', 1000)) .duration(20*30) .EUt(GTValues.VA[GTValues.HV]) event.recipes.gtceu.cracker('tfg:crude_mixed_gas') .itemInputs(Item.of('tfg:catalyser_pt_re_zsm')) .inputFluids(Fluid.of('tfg:reformate_gas', 8000)) - .inputFluids(Fluid.of('tfg:propylene', 2000)) + .inputFluids(Fluid.of('gtceu:propene', 2000)) .outputFluids(Fluid.of('tfg:crude_mixed_gas', 10000)) .duration(20*240) .EUt(GTValues.VA[GTValues.LV]) @@ -342,9 +342,9 @@ function registerTFGEarlyGasRecipes(event) { event.recipes.gtceu.mixer('tfg:aciditic_waste') .itemInputs(Item.of('gtceu:reinforced_epoxy_resin_plate', 1)) - .inputFluids(Fluid.of('tfg:metal_rich_solution', 100), Fluid.of('gtceu:glue', 100)) - .outputFluids(Fluid.of('tfg:aciditic_waste', 100)) - .itemOutputs(Item.of('tfg:loaded_resin', 1)) + .inputFluids(Fluid.of('tfg:metal_rich_solution', 200), Fluid.of('gtceu:glue', 200)) + .outputFluids(Fluid.of('tfg:aciditic_waste', 200)) + .itemOutputs(Item.of('tfg:loaded_resin', 2)) .duration(20*15) .EUt(GTValues.VA[GTValues.ULV]) From da91799f56f7d0270e7a9bcbd6d635027531f018 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 18 Dec 2025 20:44:35 +0000 Subject: [PATCH 385/628] pakku --- pakku-lock.json | 52 ++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 6a8e793d4..cbfc13a36 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14904,30 +14904,6 @@ }, "redistributable": false, "files": [ - { - "type": "curseforge", - "file_name": "applied_ammo_box-0.4.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7025/159/applied_ammo_box-0.4.0.jar", - "id": "7025159", - "parent_id": "1338332", - "hashes": { - "sha1": "7ed8caf15bd7662b10c0e0e327d595e9b5bcd924", - "md5": "b0a7924ff04ea4fb3af53da11f221984" - }, - "required_dependencies": [ - "1028108", - "223794" - ], - "size": 67461, - "date_published": "2025-09-23T10:29:35.687Z" - }, { "type": "modrinth", "file_name": "applied_ammo_box-0.3.0.jar", @@ -14946,11 +14922,35 @@ "sha1": "cad73c6a3e78233bed25f1d4255f12ffc6f97baf" }, "required_dependencies": [ - "SzzJttH8", - "XxWD5pD3" + "XxWD5pD3", + "SzzJttH8" ], "size": 67381, "date_published": "2025-09-05T14:26:22.489897Z" + }, + { + "type": "curseforge", + "file_name": "applied_ammo_box-0.4.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7344/136/applied_ammo_box-0.4.1.jar", + "id": "7344136", + "parent_id": "1338332", + "hashes": { + "sha1": "0e8adc7538611a1ffc964b739f50d8ef0fa0fcb3", + "md5": "62dfb0ed8cdafaf5985897d6fc6bfa09" + }, + "required_dependencies": [ + "223794", + "1028108" + ], + "size": 67748, + "date_published": "2025-12-17T14:13:03.837Z" } ] }, From 8932a00c2abba01f9367201cf2fdae3bfef5d72b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 18 Dec 2025 21:20:11 +0000 Subject: [PATCH 386/628] merry christmas --- kubejs/server_scripts/tfg/primitive/recipes.clay.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 77a6c3a86..5660650cb 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -151,5 +151,5 @@ function registerTFGClayRecipes(event) { .itemOutputs('minecraft:clay') .adjacentFluids(["tfc:salt_water", "tfc:spring_water"]) .duration(50) - .EUt(GTValues.VHA[GTValues.MV]) + .EUt(GTValues.VA[GTValues.LV]) } \ No newline at end of file From 01ec083e6dc5828c111791ce751c7a03fefa62fd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 18 Dec 2025 21:23:39 +0000 Subject: [PATCH 387/628] better rnr textures --- .../rnr/textures/item/crushed_base_course.png | Bin 0 -> 431 bytes .../rnr/textures/item/flagstone/andesite.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/basalt.png | Bin 0 -> 207 bytes .../textures/item/flagstone/black_sandstone.png | Bin 0 -> 203 bytes .../textures/item/flagstone/brown_sandstone.png | Bin 0 -> 203 bytes .../assets/rnr/textures/item/flagstone/chalk.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/chert.png | Bin 0 -> 207 bytes .../rnr/textures/item/flagstone/claystone.png | Bin 0 -> 207 bytes .../rnr/textures/item/flagstone/conglomerate.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/dacite.png | Bin 0 -> 207 bytes .../rnr/textures/item/flagstone/diorite.png | Bin 0 -> 207 bytes .../rnr/textures/item/flagstone/dolomite.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/gabbro.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/gneiss.png | Bin 0 -> 207 bytes .../rnr/textures/item/flagstone/granite.png | Bin 0 -> 207 bytes .../textures/item/flagstone/green_sandstone.png | Bin 0 -> 203 bytes .../rnr/textures/item/flagstone/limestone.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/marble.png | Bin 0 -> 207 bytes .../rnr/textures/item/flagstone/phyllite.png | Bin 0 -> 207 bytes .../textures/item/flagstone/pink_sandstone.png | Bin 0 -> 203 bytes .../rnr/textures/item/flagstone/quartzite.png | Bin 0 -> 207 bytes .../rnr/textures/item/flagstone/red_sandstone.png | Bin 0 -> 203 bytes .../rnr/textures/item/flagstone/rhyolite.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/schist.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/shale.png | Bin 0 -> 207 bytes .../assets/rnr/textures/item/flagstone/slate.png | Bin 0 -> 207 bytes .../textures/item/flagstone/white_sandstone.png | Bin 0 -> 203 bytes .../textures/item/flagstone/yellow_sandstone.png | Bin 0 -> 203 bytes .../rnr/textures/item/gravel_fill/andesite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/basalt.png | Bin 0 -> 391 bytes .../rnr/textures/item/gravel_fill/chalk.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/chert.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/claystone.png | Bin 0 -> 209 bytes .../textures/item/gravel_fill/conglomerate.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/dacite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/diorite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/dolomite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/gabbro.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/gneiss.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/granite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/limestone.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/marble.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/phyllite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/quartzite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/rhyolite.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/schist.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/shale.png | Bin 0 -> 209 bytes .../rnr/textures/item/gravel_fill/slate.png | Bin 0 -> 209 bytes kubejs/assets/rnr/textures/item/hoggin_mix.png | Bin 0 -> 477 bytes 49 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/rnr/textures/item/crushed_base_course.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/andesite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/basalt.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/black_sandstone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/brown_sandstone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/chalk.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/chert.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/claystone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/conglomerate.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/dacite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/diorite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/dolomite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/gabbro.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/gneiss.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/granite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/green_sandstone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/limestone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/marble.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/phyllite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/pink_sandstone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/quartzite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/red_sandstone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/rhyolite.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/schist.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/shale.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/slate.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/white_sandstone.png create mode 100644 kubejs/assets/rnr/textures/item/flagstone/yellow_sandstone.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/andesite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/basalt.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/chalk.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/chert.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/claystone.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/conglomerate.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/dacite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/diorite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/dolomite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/gabbro.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/gneiss.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/granite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/limestone.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/marble.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/phyllite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/quartzite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/rhyolite.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/schist.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/shale.png create mode 100644 kubejs/assets/rnr/textures/item/gravel_fill/slate.png create mode 100644 kubejs/assets/rnr/textures/item/hoggin_mix.png diff --git a/kubejs/assets/rnr/textures/item/crushed_base_course.png b/kubejs/assets/rnr/textures/item/crushed_base_course.png new file mode 100644 index 0000000000000000000000000000000000000000..ee9fce984a06f732eaffd6e5f33e1aae0896fcd5 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z?kXj z;uvDldv%h%H?yO_(Ry*+HD-d3j!h8~);S`wElIhqEBi8wwY2v^{t1^(T|1=q!&Ss@ z4Ubq;;rnlXJEDsXn@&c(nET%;s&G|m`n^5h)7bviT5O*5{O-C?$A*ht&4(AS+!}0e zyx?1{7}vCmM-)3v)Xe70nP+7zy(Q*)*Q5nX(-{Odb$zRybyiJ_gCS%4?Q>Vyj?eAm zoy?-Z{$<_z73=dE61FTVFFt+wvoS;Z-F3$QL$^JzJn=NOCoDy*E4A}tmqYuE8wy@b zfkHEGFa(^CO8HcEJ-kQF?_K@Egkl4SjXK5Ey4SZB-&8g=)IU7s?cCTkk0A2FYflIgWGm)ZN1pFb!zCZz#~tOvL4tT nJ)^R7=BoACvqS%ze`GTWKP2-fQUnVIHnz4+oiStH!o?PMr-P(9OM?7@8U90oIn(Sb3=9mu zo-U3d5>u!4IPx(la2#$(+3QUHpE1tKNN<%^k+k4V^>XHE4!+$p zLTc{|-ebDlRaNcsC}3Chf5FOoE^5N!CvCpibH|4=1zDV)(!{{Pz~JfX=d#Wzp$P!^ Chd|%} literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/black_sandstone.png b/kubejs/assets/rnr/textures/item/flagstone/black_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..8ebad69b5115b56263975eff40d3b051012346e3 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUFMcdX=$mcsVOKZNJ~qLh=?5SyD*J`fq|nW$S;`TKLlJo6=KA|z~JlY z;us<^b!v|zAA%y(cX0|Nttr>mdKI;Vst07uF~ AOaK4? literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/brown_sandstone.png b/kubejs/assets/rnr/textures/item/flagstone/brown_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..454edb4f000ab95486e411365f0af805e019cbc3 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUHxm=f(vmg?a}@C?zm3FmRLv`2{olhk&c6LW~#~7<@fl z9780gPVI5zV^H8YETQw^zdZNlW;xYkOSWcwGkoIB^ThQXUyd@QUq_qM}__g}qy{@%S?=U)rGW?*38ED7=pX7~>U=1jA% zFfcIqdb&7TJWZNIrB6J z-|iV9wf6<@FQUHpE1tKNN<%^k+k4V^>XHE4!+$p zLTc{|-ebDlRaNcsC}3Chf5FOoE^5N!CvCpibH|4=1zDV)(!{{Pz~JfX=d#Wzp$P!u C_(FXE literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/claystone.png b/kubejs/assets/rnr/textures/item/flagstone/claystone.png new file mode 100644 index 0000000000000000000000000000000000000000..e8fde223604dfe206d821c95191126a91e2da614 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUPyyv1OEPm4Fi#>OIC{vKd=_ySN3=9mOu6{1-oD!M< DM0!Zh literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/conglomerate.png b/kubejs/assets/rnr/textures/item/flagstone/conglomerate.png new file mode 100644 index 0000000000000000000000000000000000000000..fc2591af2eeea1461452a6ea94e52610ba91c9df GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUi>e3_gvJ3#ZTINvFDBtWeT!5J*A0(fq}u()z4*}Q$iB} DZHq@f literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/dacite.png b/kubejs/assets/rnr/textures/item/flagstone/dacite.png new file mode 100644 index 0000000000000000000000000000000000000000..d74b5a39e42216f86c20cb274d5b2fcf76c0f638 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUbP0l+XkK Dj!8#k literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/diorite.png b/kubejs/assets/rnr/textures/item/flagstone/diorite.png new file mode 100644 index 0000000000000000000000000000000000000000..437dda8942614c2d8a0c93cfa081c4bb626a98e5 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUCnx9T=2ll%x3;!Un>KCTx^?##m&h_OFmRRx`2{olhXQk^*;g1C z7<@fl9780gPVI5zV^H8Y+>o;2|Ne*>a$htI)z-Rh?q`g1GSXY6RU|EVQ@xydnuBlm zjF8&*1o{O5W_(_{D_T2HIOhFc>r!+AzFfe$!`njxgN@xNA DC{0GZ literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/dolomite.png b/kubejs/assets/rnr/textures/item/flagstone/dolomite.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cd00517f4ec44cf56a217e05df498a93167542 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU#YZO;=NGj$cjTXpEMs6`;4BI93ugEa1?Eh%uP`t$ z_QU?;fm z48EQ&jv*3Lr}jAVF(_~xZb;eie}BXbxi1=qYHM9L_cO*h8R@OkDv}nwsb0=J&B3>O zMo8^_!Fx=XyQ->P9tG^G{x4X0&qYmG{G`nnd+zv9rXY*cQ<@k+u5tBqS?83{1OW28 BMp6I( literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/gneiss.png b/kubejs/assets/rnr/textures/item/flagstone/gneiss.png new file mode 100644 index 0000000000000000000000000000000000000000..2376495d190a3220a43e1586a966e10e6129c63a GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUdC7A92G7EGGhIDg)Rb?cTL+_L282Gf}g3=EtlL4Lsu|DnK~Y4#Nc z1_obG7sn8ZsZ)C#`4|*94mYH1_`g45hTInoL$$T8oBJ8#oQ(8VX%$He-c&DVp61}& zJtL&{zTiEk%UxB~E{_6sRsR>Pyyv1OEPm4Fi#>OIC{vKd=_ySN3=9mOu6{1-oD!M< D(wj&C literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/granite.png b/kubejs/assets/rnr/textures/item/flagstone/granite.png new file mode 100644 index 0000000000000000000000000000000000000000..0e3d35e1ce6134734928a181242caca1d7ec7684 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUSR^D?_6Ba*d^TnP!K9niQ;`Edz1_lNOPgg&ebxsLQ E00iVr3IG5A literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/green_sandstone.png b/kubejs/assets/rnr/textures/item/flagstone/green_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..05a26066b78352b7eaf94b78ed98ed42878787ef GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU&;OGQGxmW9CBT&UfCO+n|&hXlhVxgf9Z_p%@`+b<~y*Hfq{X+)78&qol`;+0OP<# ANB{r; literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/limestone.png b/kubejs/assets/rnr/textures/item/flagstone/limestone.png new file mode 100644 index 0000000000000000000000000000000000000000..58e92e6c63334eb7413e4e24977c1b2bb7187b23 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU;kRX33@n6e-#sXEAaxFfeeI1o;Is{D%T_rrB2* z7#Ms#T^vIsrcUi~8VAFfcH9y85}Sb4q9e E0FQ@BGynhq literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/marble.png b/kubejs/assets/rnr/textures/item/flagstone/marble.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9ed5cffbadf91d7d6220b4c7b4083fbdb71471 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUsIaEx#jTT!SR^D?_6Ba*d^TnP!K9niQ;`Edz1_lNOPgg&ebxsLQ E05XwGQUCw| literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/phyllite.png b/kubejs/assets/rnr/textures/item/flagstone/phyllite.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9cc423daacb52943f37281c50cab8ddc2f63e9 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU7O%zdvGz+!qZ)wY9FB`x)b$jPzD%6-f);R4-?q=HS~s zBc%4e;60|xT~*aCj{QUx@a;B6;%{0|Ns`NswPK!+!|4dMd<-fq}u- z)5S4FV(Qc$M?MAxj>8fMx z@2xjS6+{K*_jAZ~t$Jl|bZ+*Elut@C+yA9Ao;PEhw3+X~P6h@B22WQ%mvv4FO#q;@ BN^$@I literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/quartzite.png b/kubejs/assets/rnr/textures/item/flagstone/quartzite.png new file mode 100644 index 0000000000000000000000000000000000000000..dae64dcc501da7ee91f7be88f2932a3b77db6264 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUnv73R0p*G`?-zh>sFgWI;9+k5cMv4tQ*I7@>3f*JlpfjQIcD+~+_ zzMd|QAre!k_Biq}C~zEZNZIgzf5Z&AFB*nwYh5?@GsZa?>8;W#k`}zFUd}wt!MA%x zNbP;WdrX(Rs;XTc1?;N+FIaicMNL@zq|Fz5?)XrqAdAyeniv=u7(8A5T-G@yGywp) CD@m^a literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/red_sandstone.png b/kubejs/assets/rnr/textures/item/flagstone/red_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7984a12fe42fef32c0cd699798d592312c1693 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUtJ;T1_q9jAirRS{}6EXREQA+1B0)p zi(`ny)Tup=d<+U4hb44A{Fmpx+$^VhY{}M)Z-!62d7ikwzopr0KsHN A(f|Me literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/rhyolite.png b/kubejs/assets/rnr/textures/item/flagstone/rhyolite.png new file mode 100644 index 0000000000000000000000000000000000000000..0fce293545ba3e87248f001adb09a281d3690668 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUeL=bJ_ZGj!wo4L{_l^NA@@bYP;IU2=6=RFCnLR8T1C==H`U9Tr#bj` z&j_i#FL;mXa#vNg%cFo@)&B)6@42W6i=VXlV$U5P$`oXAdP)-m0|SGntDnm{r-UW| DjGaeh literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/schist.png b/kubejs/assets/rnr/textures/item/flagstone/schist.png new file mode 100644 index 0000000000000000000000000000000000000000..5f38747cd21059a3a07fad09c367d3a4ca313921 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUMg~z)_COXHb1Y{KlRW|3fc9hPX+aV?@^p1gnfwLsYFPPy!6qqy3zQVx3 z;Opt)7$PxsYL6oyg969lhLjEe_eac-`=Vi}w$^oXKVzJek=`n;B5A>!>gCMS9DKWH zgw);_yvKC8tE$@NQNXV1|ALkGT-1ccPuhI3=Z+6$3bHsorHO%ofx*+&&t;ucLK6T4 CWJH4i literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/shale.png b/kubejs/assets/rnr/textures/item/flagstone/shale.png new file mode 100644 index 0000000000000000000000000000000000000000..b58e2415e85d12fa59d27fd5c0552ef2f9a86fc6 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUHpE1tKNN<%^k+k4V^>XHE4!+$p zLTc{|-ebDlRaNcsC}3Chf5FOoE^5N!CvCpibH|4=1zDV)(!{{Pz~JfX=d#Wzp$Pyd CTSW5! literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/slate.png b/kubejs/assets/rnr/textures/item/flagstone/slate.png new file mode 100644 index 0000000000000000000000000000000000000000..669d671e35d67d9c1f37790ccbd2f75be907700f GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU#oV6VYbNgqlQ_u0z`$7&K zGeTgTe~DWM4f D%xFj2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/flagstone/white_sandstone.png b/kubejs/assets/rnr/textures/item/flagstone/white_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..0d328874b1fe532e5da0617d5682bc9a1b4b4584 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU0J{>lqjrI7)*2f*Jlpz|~VBMhpxL zzMd|QAre!k_Biq}C~zE>(E0FRp8ImMoa(V9TQj~HKJn&x;`)v+N15r@kvtCZ6`2z! zuX=C2IjSHkFu$Keu4~mRd!uu+Po#WOn%Vv@o$QUN>WrP-biS6b1$cj*=k1V21w?aP?G(5d#B* zucwP+h{V*XJ&t?~3LJ+ebUyr-=f2!5r+RG3){Jk4PrP}axW41dQD*veB#%RUMdrlG ztKM60jw*->%ss~7-ss%y6DgmRX14!JXFPAlIB7HAft?Ht3=E#GelF{r5}E+k CAWnk- literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/andesite.png b/kubejs/assets/rnr/textures/item/gravel_fill/andesite.png new file mode 100644 index 0000000000000000000000000000000000000000..666df4d574aa75e7a522886de5b4a35eb2cf6715 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU666=m@E;78)-U_bz`zjh>Eak7 zF?DXgBNu}q2eWU_zyBwtPhUDT?^KnB-wcl4AGT9}9@Kkfu*$f93Uh+l)+MXnISM=w z;@W9+PFQiv?S_*xt&OIIFJ5e^zopr01ur@j{pDw literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/basalt.png b/kubejs/assets/rnr/textures/item/gravel_fill/basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc5305b8aa204524ba83f98a62e78967f830216 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&!071d z;uvDldv%hd{~-r~R{KSsnF1a@YdJ-QG!zy82>83{eX#FU|KDEK%*-M@%l1az?9{W{ zz9xCI9*TUv#n}4&+1oeS|J!9f*IT~1a$T8J!}RCNC+}774owj9l)3)!@7G?HX*t(c z-->K{nKMsc%)6$(frF(tOqgMJUZK}n{ifgT$M;x>H}s!nTPyPS;RKaQEC;8lOk)6P zNi8*M;9xl*xZ#BE?PHsAw*)avVaZy)@wM2(o);BzeXkXm9ECicB&Rl%ZDw`g=s7m| z57U9y--;%urKmk!_d3z1%TUvarS;a{qypo*TY@gQ|BEi+V8Ud_G!j-`7u`W+GDp1G%8F9)ZAO)Rodx(-$Kg&QQU7l& zF+^hO+J-=2T}PfDM@bZFkGDhQUuw;N8*v^JU+zId^vlJ8Njdy56luHMQUBwueDPvSCEuf5_ZAD9UA?no^J#zE?a_>7kEgBFWnf@n@O1Ta JS?83{1OScLOltrD literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/conglomerate.png b/kubejs/assets/rnr/textures/item/gravel_fill/conglomerate.png new file mode 100644 index 0000000000000000000000000000000000000000..cc9aeeb78e4465ebae334cd8812350ad8f947b91 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUQU&%ggCrB7cvH1AZEhTja1-XFG8e;(9(Ww6S)e+qMg+14ei-Z=_9 z5aQZtbWT`t%k74fGp&uLg)d%gspNZ<>)v8Pv#WP@Y(DL8yFHq*?D4dfx(o~q44$rj JF6*2UngDqRP9*>U literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/diorite.png b/kubejs/assets/rnr/textures/item/gravel_fill/diorite.png new file mode 100644 index 0000000000000000000000000000000000000000..1651d6b7f53d43d0837a912d9a8c37811c84735f GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUJZw3a2a8DP< z5Q(XC`yII$3^|y6d;a}DDSi6Vp?RmOH2h|8^!~7&`tzXPD}zrdeT literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/dolomite.png b/kubejs/assets/rnr/textures/item/gravel_fill/dolomite.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca6783049dbb3cf2d20acfcd8b9f530c5dcde10 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU+uFK>g~b^eStKN6`uj(2kqEb7U|?V`3GxeO_zwn4>zDmzU|ylOP90eW- zaqToZC#<;TcEib;)<)C97caI{@;%CRZ?T}+)jK;jpZ2%i9?e+xc-l%`1_lNOPgg&e IbxsLQ0NP|pR{#J2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/gabbro.png b/kubejs/assets/rnr/textures/item/gravel_fill/gabbro.png new file mode 100644 index 0000000000000000000000000000000000000000..90eed239701f500b1bb578c8ca10592068e1638a GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUlqo{<-p)fq{X&B*-tA;XfEGtzY(=fq^01)5S4F zV(Q#}M=l0K4rbq;fB#QPpT2Zx-l-}LzZo38KWwM|JgE1|V3l$I6y^l8txHzDa};QUwYTx+N3=9nHB|(0{4FADkY5lU_3=9n6o-U3d z5>w~)J904?axnY${QG}W`t+qk^G;Q1_|4$x{b4)x=Rv(!2CIzwr!Xg&ZC$eJouj}5 zA+DW9=Y$ov+-^8I)7ofS_~ONuO1?+A?kyHHyLxBG=F|SR+oKuF9#31T%fP_E;OXk; Jvd$@?2>{bBOzi*w literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/granite.png b/kubejs/assets/rnr/textures/item/gravel_fill/granite.png new file mode 100644 index 0000000000000000000000000000000000000000..937bcb7331e61b92bbf3d2ac7cfb25cad10fff5d GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUVOY4{YW?*0l_jGX# zk(fHS-;s;Kkb~K`=imR6(x)#Sns=&7!*2#h?+@FlKM(4?GFWBYKZQBLZ0nL$?;Hgl z2yyK+Iw!2S<#xl#nbtLRPsH_b#Jkt+0{EcHlOyl-5$+Y_ITP#T?PgQ22WQ% Jmvv4FO#q>FPHzAJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/limestone.png b/kubejs/assets/rnr/textures/item/gravel_fill/limestone.png new file mode 100644 index 0000000000000000000000000000000000000000..7dbca6f5710e9c1d14d7b599b996efbe75936729 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU&%ggCrB7cvH1AZEhTja1-XFG8e;(9(Ww6S)e+qMg+14ei-Z=_9 z5aQZtbWT`t%k74fGp&uLg)d%gspNZ<>)v8Pv#WP@Y(DL8yFHq*?D4dfx(o~q44$rj JF6*2UngH^}PVWE! literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/marble.png b/kubejs/assets/rnr/textures/item/gravel_fill/marble.png new file mode 100644 index 0000000000000000000000000000000000000000..cff31afd61eec62d7c4fb4361d6eba77f2e8a1a8 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU^B1gL%64l zV~E7mx&4k@42B%czCHi`pOij*>Cn7WRT_RXIC_8BPW^dM@0GzS(=( literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/phyllite.png b/kubejs/assets/rnr/textures/item/gravel_fill/phyllite.png new file mode 100644 index 0000000000000000000000000000000000000000..c06b9241433be6916176a6c02df336beef62d5ea GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUYW{%Py5?$k7g`;JZ+^e0|Nttr>mdK II;Vst0D3t}bN~PV literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/quartzite.png b/kubejs/assets/rnr/textures/item/gravel_fill/quartzite.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff8078df8cd5f496c16bff56442c402801d2a38 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU>`Gr@{p4hl#Q89nvD+UGz_L3mKV21x-u(W>JZw3a2a8DP< z5Q(XC`yII$3^|y6d;a}DDSi6Vp?RmOH2h|8^!~7&`tzXPD}zQUurw=4O%c`N=I##!sPS|3=9nHB|(0{4FADkY5lU_3=9n6o-U3d z5>w~)J904?axnY${QG}W`t+qk^G;Q1_|4$x{b4)x=Rv(!2CIzwr!Xg&ZC$eJouj}5 zA+DW9=Y$ov+-^8I)7ofS_~ONuO1?+A?kyHHyLxBG=F|SR+oKuF9#31T%fP_E;OXk; Jvd$@?2>|F}O%DJ7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/schist.png b/kubejs/assets/rnr/textures/item/gravel_fill/schist.png new file mode 100644 index 0000000000000000000000000000000000000000..cca9458055f21d0eff060c586ad0bfe5848df5b8 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUQUzDmzU|ylOP90eW- zaqToZC#<;TcEib;)<)C97caI{@;%CRZ?T}+)jK;jpZ2%i9?e+xc-l%`1_lNOPgg&e IbxsLQ08GM4DF6Tf literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/gravel_fill/slate.png b/kubejs/assets/rnr/textures/item/gravel_fill/slate.png new file mode 100644 index 0000000000000000000000000000000000000000..660ee4c9ecdaa2898baec0cc3971a782ae6ffa53 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUJOoYI{T6S{crlu11;tu-^RGB7Z(mjw9*GyDgGrS;2xGcYiOd%8G= zNKBpE@5seq$ieK}^Y8yj>C=}E%{x`4;WvY$_lND&p9l3`8LTqypTeAAwspy>ca8!N zgt&GZofB5va=YQ=OlzZQ;fohrD)}Dey0=)+?CPBzn@{`OZjWXxdpvEWE&~GtgQu&X J%Q~loCIDr^P5A%- literal 0 HcmV?d00001 diff --git a/kubejs/assets/rnr/textures/item/hoggin_mix.png b/kubejs/assets/rnr/textures/item/hoggin_mix.png new file mode 100644 index 0000000000000000000000000000000000000000..c47773a11fe4a977eafa8ccdc9a4e68dc93f7caf GIT binary patch literal 477 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s77>k44ofy`glX=O&z&PF0 z#WBR9_v$2D|Jwl~ZStQN3TWOC%E}E0c_HMu`jeuffX<5OI)>yny~tf#MYXbLSSyug zUSE}T`c`LsfT)pyOP9z2miWm{`uilz`}CY=F=Vyu3blQ`^L_Qa;`_}1Yb6=9y}4^= zKV5%&*F)2Z8&5xbrv7+6?=B}r7Ui(+*9kKeK21=1@_Bmxv1YcTPI0r#*wSlw7>uX7 zavc2g##ky&xZ!%fms@;uzr5L&`a0GN!Xd9ki-I>ZoVc-cSN(~lzgQ3WRbH3a)x9^| z^1!y-lsA`R4|-XjxN+3_Z>NajvbhIYmT)k>kSzJQ>MK{+t%tMD{d4f=NmwfDwni+d zMTEQ3mLs6*zt`#~O%{P`boaX$Hw1M(J1VKwv*8loxhoo-dBW;lZfDia%{})%yDwz% zIC;iOox3-hUX*E>u>`VPo15QMSh&U9yeL1SC#wqAq?;C9%`N*q4UJF iK!4jl{{NYG8J4_1|IKOIX(I*(1_n=8KbLh*2~7Yif6Ti8 literal 0 HcmV?d00001 From 45385b758107177e395a4d2b41afc03e91201304 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 18 Dec 2025 22:06:10 +0000 Subject: [PATCH 388/628] langs and quests --- .../quests/chapters/ev__extreme_voltage.snbt | 154 +++++++++--------- .../quests/chapters/gregtech_energy.snbt | 7 +- .../quests/chapters/hv__high_voltage.snbt | 37 +++-- .../quests/chapters/iv__insane_voltage.snbt | 53 +----- .../quests/chapters/ore_processing.snbt | 81 +-------- kubejs/assets/tfg/lang/en_us.json | 19 ++- kubejs/assets/tfg/lang/zh_cn.json | 17 +- 7 files changed, 146 insertions(+), 222 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index cbce38594..054f016f5 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -11,7 +11,7 @@ image: "gtceu:textures/gui/overlay/atomic_overlay_2.png" rotation: 0.0d width: 8.0d - x: 8.5d + x: 10.0d y: 7.0d }] order_index: 0 @@ -32,19 +32,19 @@ id: "66960076A74E9B79" linked_quest: "0CA5B715B76E4A5B" shape: "diamond" - x: 14.0d + x: 15.5d y: 2.5d } { id: "6058CD9466BE0852" linked_quest: "00202200344F3456" - x: 11.5d + x: 13.0d y: 4.0d } { id: "49FB3507B0FB3000" linked_quest: "155F421FC2F39C3C" - x: 10.5d + x: 12.0d y: 4.0d } { @@ -52,14 +52,20 @@ linked_quest: "4B1F957EB41A5E9B" shape: "octagon" size: 1.5d - x: 4.5d + x: 5.5d y: 5.5d } { id: "7B380A243C2C39FA" linked_quest: "13F2929C1C303A0B" - x: 0.5d - y: -3.0d + x: -1.0d + y: -5.0d + } + { + id: "2151F8AA263F1D6E" + linked_quest: "6ECAD339C91EF194" + x: 4.0d + y: -5.5d } ] quests: [ @@ -151,8 +157,8 @@ } ] title: "{quests.extreme_voltage.tungsten.title}" - x: 6.0d - y: -4.5d + x: 7.5d + y: -2.0d } { dependencies: ["4EA8888B12D75BF1"] @@ -176,8 +182,8 @@ } ] title: "{quests.extreme_voltage.tunsgten_line_step_1.title}" - x: 0.5d - y: -4.5d + x: -2.0d + y: -2.0d } { dependencies: ["4EA8888B12D75BF1"] @@ -306,7 +312,7 @@ item: "gtceu:alloy_blast_smelter" type: "item" }] - x: 8.5d + x: 10.0d y: 1.5d } { @@ -323,7 +329,7 @@ type: "item" }] title: "{quests.extreme_voltage.ev_mixer.title}" - x: -0.75d + x: 0.0d y: 0.0d } { @@ -421,7 +427,7 @@ } ] title: "{quests.extreme_voltage.gcym_alloys.title}" - x: 4.5d + x: 8.5d y: 1.5d } { @@ -469,7 +475,7 @@ item: "gtceu:large_centrifuge" type: "item" }] - x: 15.5d + x: 17.0d y: 1.5d } { @@ -495,8 +501,8 @@ } ] title: "{quests.extreme_voltage.tungsten_steel.title}" - x: 1.5d - y: -2.0d + x: 0.0d + y: -4.0d } { dependencies: [ @@ -514,7 +520,7 @@ type: "item" }] title: "{quests.extreme_voltage.nuclear_fuel_factory.title}" - x: 6.0d + x: 7.5d y: 7.0d } { @@ -556,7 +562,7 @@ } ] title: "{quests.extreme_voltage.heavy_water.title}" - x: 8.5d + x: 10.0d y: 5.5d } { @@ -581,7 +587,7 @@ } type: "item" }] - x: 7.0d + x: 8.5d y: 7.0d } { @@ -612,7 +618,7 @@ } ] title: "{quests.gregtech_energy.fission_reactor.title}" - x: 8.5d + x: 10.0d y: 7.0d } { @@ -635,7 +641,7 @@ } ] title: "{quests.extreme_voltage.radioactive_waste.title}" - x: 10.0d + x: 11.5d y: 7.0d } { @@ -663,7 +669,7 @@ } type: "item" }] - x: 11.0d + x: 12.5d y: 7.0d } { @@ -684,7 +690,7 @@ } ] title: "{quests.extreme_voltage.uranium_line.title}" - x: 11.0d + x: 12.5d y: 8.0d } { @@ -698,7 +704,7 @@ item: "gtceu:uraninite_dust" type: "item" }] - x: 11.0d + x: 12.5d y: 9.0d } { @@ -731,7 +737,7 @@ } ] title: "{quests.extreme_voltage.uranium_waste.title}" - x: 13.0d + x: 14.5d y: 7.0d } { @@ -758,7 +764,7 @@ type: "item" }] title: "{quests.extreme_voltage.heat_exchanger.title}" - x: 13.0d + x: 14.5d y: 5.5d } { @@ -786,7 +792,7 @@ } ] title: "{quests.extreme_voltage.ammonium_formate.title}" - x: 12.0d + x: 13.5d y: 5.5d } { @@ -809,7 +815,7 @@ } ] title: "{quests.extreme_voltage.formamide.title}" - x: 14.0d + x: 15.5d y: 5.5d } { @@ -842,7 +848,7 @@ } ] title: "{quests.extreme_voltage.nuclear_residue_dust.title}" - x: 15.5d + x: 17.0d y: 5.5d } { @@ -868,7 +874,7 @@ } ] title: "{quests.extreme_voltage.martian_sludge.title}" - x: 15.5d + x: 17.0d y: 3.5d } { @@ -896,7 +902,7 @@ } ] title: "{quests.extreme_voltage.hexafluorosilic_acid.title}" - x: 17.0d + x: 18.5d y: 3.5d } { @@ -913,7 +919,7 @@ item: "tfg:oxidized_nuclear_residue_dust" type: "item" }] - x: 17.0d + x: 18.5d y: 5.5d } { @@ -926,7 +932,7 @@ item: "tfg:refined_nuclear_residue_dust" type: "item" }] - x: 17.0d + x: 18.5d y: 7.0d } { @@ -952,7 +958,7 @@ } type: "item" }] - x: 17.0d + x: 18.5d y: 10.5d } { @@ -975,7 +981,7 @@ } ] title: "{quests.extreme_voltage.radioactive_concoction.title}" - x: 20.0d + x: 21.5d y: 5.5d } { @@ -998,7 +1004,7 @@ } ] title: "{quests.extreme_voltage.tritiated_water.title}" - x: 14.5d + x: 16.0d y: 10.5d } { @@ -1143,7 +1149,7 @@ } ] title: "{quests.extreme_voltage.ostrum_harvester.title}" - x: 13.0d + x: 14.5d y: 2.5d } { @@ -1210,8 +1216,8 @@ item: "gtceu:iv_machine_hull" type: "item" }] - x: 4.5d - y: -2.0d + x: 1.5d + y: -5.5d } { dependencies: ["2C000B45C23752D0"] @@ -1240,7 +1246,7 @@ } ] title: "{quests.extreme_voltage.ev_superconductor.title}" - x: 12.0d + x: 13.5d y: 8.0d } { @@ -1301,7 +1307,6 @@ ] description: ["{quests.extreme_voltage.pss.desc}"] id: "60433993B715029A" - shape: "heart" subtitle: "{quests.extreme_voltage.pss.subtitle}" tasks: [ { @@ -1443,7 +1448,7 @@ } ] title: "{quests.extreme_voltage.high_pressure_steam.title}" - x: 8.5d + x: 10.0d y: 9.0d } { @@ -1465,7 +1470,7 @@ type: "item" }] title: "{quests.extreme_voltage.me_part.title}" - x: 4.5d + x: 5.5d y: 3.0d } { @@ -1491,7 +1496,7 @@ type: "item" }] title: "{quests.extreme_voltage.building_gadgets.title}" - x: 3.5d + x: 4.5d y: 4.0d } { @@ -1520,12 +1525,13 @@ } ] title: "{quests.ae2.wireless_access.title}" - x: 4.5d + x: 5.5d y: 4.0d } { dependencies: ["601088B7920140B2"] description: ["{quests.extreme_voltage.new_qol.desc}"] + icon: "gtceu:ev_sensor" id: "70ABD1E3FC1CA672" tasks: [{ id: "73ABA113A9069875" @@ -1533,7 +1539,7 @@ type: "checkmark" }] title: "{quests.extreme_voltage.new_qol.title}" - x: 3.5d + x: 4.5d y: 3.0d } { @@ -1579,7 +1585,7 @@ } ] title: "{quests.extreme_voltage.plutonium.title}" - x: 17.0d + x: 18.5d y: 9.0d } { @@ -1594,7 +1600,7 @@ item: "tfg:ostrum_linear_accelerator" type: "item" }] - x: 20.0d + x: 21.5d y: 9.0d } { @@ -1614,7 +1620,7 @@ type: "checkmark" } ] - x: 20.0d + x: 21.5d y: 12.5d } { @@ -1634,7 +1640,7 @@ type: "checkmark" } ] - x: 21.0d + x: 22.5d y: 12.5d } { @@ -1657,7 +1663,7 @@ type: "checkmark" } ] - x: 19.0d + x: 20.5d y: 12.5d } { @@ -1690,7 +1696,7 @@ type: "item" } ] - x: 21.0d + x: 22.5d y: 13.5d } { @@ -1723,7 +1729,7 @@ type: "item" } ] - x: 20.0d + x: 21.5d y: 13.5d } { @@ -1756,7 +1762,7 @@ type: "item" } ] - x: 19.0d + x: 20.5d y: 13.5d } { @@ -1843,7 +1849,7 @@ } ] title: "{quests.extreme_voltage.nuclear_turbine.title}" - x: 7.0d + x: 8.5d y: 9.0d } { @@ -1858,7 +1864,7 @@ type: "item" }] title: "{quests.extreme_voltage.refrigerant_pellet.title}" - x: 18.0d + x: 19.5d y: 10.5d } { @@ -1893,7 +1899,7 @@ } ] title: "{quests.extreme_voltage.reactor_components.title}" - x: 10.0d + x: 11.5d y: 5.5d } { @@ -1922,7 +1928,7 @@ dependencies: ["5EC5566546591DEE"] description: ["{quests.extreme_voltage.large_miner.desc}"] id: "3F77D528961D5C5E" - shape: "heart" + shape: "octagon" size: 2.0d subtitle: "{quests.extreme_voltage.large_miner.subtitle}" tasks: [{ @@ -1931,8 +1937,8 @@ type: "item" }] title: "{quests.extreme_voltage.large_miner.title}" - x: 6.0d - y: -6.0d + x: 7.5d + y: -3.5d } { dependencies: ["2979AFD231E5B37B"] @@ -1967,7 +1973,7 @@ type: "item" }] title: "{quests.extreme_voltage.dense_lead.title}" - x: 5.0d + x: 6.5d y: 8.0d } { @@ -1992,7 +1998,7 @@ } ] title: "{quests.extreme_voltage.ostrum_dust.title}" - x: 13.0d + x: 14.5d y: 4.0d } { @@ -2011,7 +2017,7 @@ type: "checkmark" }] title: "Breaking changes in next update" - x: 22.5d + x: 24.0d y: 9.0d } { @@ -2042,8 +2048,8 @@ } ] title: "{quests.extreme_voltage.tunsgten_line_step.title}" - x: 0.5d - y: -5.5d + x: -2.0d + y: -3.0d } { dependencies: ["04682CD04FE0A56E"] @@ -2056,8 +2062,8 @@ type: "item" }] title: "{quests.extreme_voltage.tunsgten_line_step_2.title}" - x: 1.5d - y: -4.5d + x: -1.0d + y: -2.0d } { dependencies: ["3A2E442E4D84C891"] @@ -2155,8 +2161,8 @@ type: "item" }] title: "{quests.extreme_voltage.advanced_fluid_rig.title}" - x: 7.5d - y: -4.5d + x: 9.0d + y: -2.0d } { dependencies: ["5CF58F7CBE255585"] @@ -2219,11 +2225,11 @@ subtitle: "{quests.extreme_voltage.btx_catalyser.subtitle}" tasks: [{ id: "55930B83D1BA6672" - item: "tfg:catalyser_tt_re_zsm" + item: "tfg:catalyser_pt_re_zsm" type: "item" }] title: "{quests.extreme_voltage.btx_catalyser.title}" - x: -3.75d + x: -4.0d y: -4.5d } { @@ -2240,8 +2246,8 @@ item: "gtceu:rhenium_dust" type: "item" }] - x: -5.5d - y: -6.25d + x: -4.0d + y: -5.5d } ] subtitle: ["{quests.extreme_voltage.subtitle}"] diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 581c9b6a3..6cecc3a84 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -235,15 +235,18 @@ dependencies: [ "60FF9249376DF9BD" "05E2F203DA46A5E8" + "3EC8D58DB73CEFE5" ] + dependency_requirement: "one_completed" description: ["{quests.gregtech_energy.transformer.desc}"] - icon: "gtceu:active_transformer" + icon: "tfg:active_power_transformer" id: "6ECAD339C91EF194" subtitle: "{quests.gregtech_energy.transformer.subtitle}" tasks: [ { id: "098424C2B55ABA69" item: "gtceu:normal_laser_pipe" + optional_task: true type: "item" } { @@ -260,7 +263,7 @@ } { id: "3402A41D0F9CAD37" - item: "gtceu:active_transformer" + item: "tfg:active_power_transformer" type: "item" } ] diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 977da2070..cb45408b1 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -244,7 +244,7 @@ type: "item" }] title: "{quests.high_voltage.ulv_circuits.title}" - x: -3.0d + x: -3.5d y: 1.5d } { @@ -564,7 +564,7 @@ } ] title: "{quests.high_voltage.fluorine.title}" - x: 1.0d + x: 1.5d y: 4.5d } { @@ -623,8 +623,8 @@ } ] title: "{quests.high_voltage.nitrobenzene.title}" - x: -1.0d - y: 9.5d + x: -3.0d + y: 5.0d } { dependencies: ["7CC79617A4965F25"] @@ -638,7 +638,7 @@ icon: "gtceu:large_chemical_reactor" id: "528CE69DA4358B2E" shape: "octagon" - size: 3.0d + size: 2.0d tasks: [ { id: "4738F666E22B212B" @@ -659,7 +659,7 @@ ] title: "{quests.high_voltage.lcr.title}" x: 0.0d - y: 7.0d + y: 6.0d } { description: [ @@ -686,7 +686,7 @@ }] title: "{quests.high_voltage.tnt.title}" x: 3.5d - y: 3.0d + y: 3.5d } { dependencies: [ @@ -751,7 +751,7 @@ type: "item" }] title: "{quests.high_voltage.implosion_compressor.title}" - x: 2.5d + x: 2.0d y: 2.0d } { @@ -783,8 +783,8 @@ } ] title: "{quests.high_voltage.nitric_acid.title}" - x: 0.0d - y: 9.5d + x: -1.5d + y: 6.0d } { dependencies: ["5BACED5AE350EAB1"] @@ -809,8 +809,8 @@ } ] title: "{quests.high_voltage.cetane_diesel.title}" - x: 1.0d - y: 9.5d + x: -3.0d + y: 7.0d } { dependencies: ["16B735F9C391D260"] @@ -908,8 +908,8 @@ } ] title: "{quests.high_voltage.ammonia.title}" - x: -3.0d - y: 6.0d + x: -1.5d + y: 4.5d } { dependencies: ["52AD30F04DD5A812"] @@ -939,7 +939,7 @@ description: ["{quests.high_voltage.blue_alloy.desc}"] icon: "gtceu:blue_alloy_ingot" id: "073F59194B479AA3" - shape: "square" + shape: "diamond" size: 1.0d subtitle: "{quests.high_voltage.blue_alloy.subtitle}" tasks: [{ @@ -949,7 +949,7 @@ }] title: "{quests.high_voltage.blue_alloy.title}" x: 0.0d - y: -10.0d + y: -9.0d } { dependencies: [ @@ -1264,6 +1264,7 @@ "" "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }" ] + icon: "gtceu:ev_vanadium_battery" id: "595C5A01358B9550" subtitle: "{quests.high_voltage.linked_quest_energy.subtitle}" tasks: [{ @@ -1272,8 +1273,8 @@ type: "checkmark" }] title: "{quests.high_voltage.linked_quest_energy.title}" - x: 0.0d - y: 11.0d + x: -4.5d + y: 6.0d } { description: ["{quests.high_voltage.kaolinite_powder.desc}"] diff --git a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt index 35d11c2bc..b8e0d0de8 100644 --- a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt +++ b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt @@ -6,7 +6,13 @@ icon: "tfg:iv_universal_circuit" id: "32EF20533F323E02" order_index: 1 - quest_links: [ ] + quest_links: [{ + id: "0D1F45B8DE565153" + linked_quest: "6ECAD339C91EF194" + size: 0.75d + x: 1.5d + y: 4.875d + }] quests: [ { dependencies: [ @@ -283,7 +289,7 @@ icon: "gtceu:tungstensteel_large_boiler" id: "328CFD483C26EA44" shape: "rsquare" - size: 0.66d + size: 0.75d subtitle: "Good luck fueling this, lmao" tasks: [ { @@ -404,7 +410,7 @@ icon: "gtceu:iv_electric_motor" id: "01AB252C72B565FE" shape: "rsquare" - size: 0.66d + size: 0.75d tasks: [ { id: "382B9759383E1AC3" @@ -444,49 +450,8 @@ ] title: "There is no limit to \"Fun\"" x: 0.375d - y: 6.0d - } - { - dependencies: ["7CC79617A4965F25"] - description: [ - "Better Ore Processing for &6chanced Byproducts&r, only at the cost of this &3Macerator&r! A must have." - "" - "And now, it's finally time for mass ore processing automation." - "" - "The next Quest will kick things off!" - ] - id: "05003665368F5A57" - size: 0.75d - tasks: [{ - id: "4043CFB3C4E0DB90" - item: "gtceu:iv_macerator" - type: "item" - }] - title: "Shredding your Ores with further more Byproducts" - x: 1.5d y: 4.875d } - { - dependencies: ["05003665368F5A57"] - description: [ - "Welcome to the age of automation!" - "" - "Ore Processing is now at your fingertips." - "" - "&6This quest unlocks a definitive tutorial on Ore Processing in the &lTips and Tricks&r&6 tab - check it out to learn more!&r" - ] - icon: "gtceu:refined_almandine_ore" - id: "724FB950CC472BB4" - shape: "circle" - size: 0.66d - tasks: [{ - id: "496C00BA0D8F5445" - type: "checkmark" - }] - title: "Setting up Ore Processing" - x: 1.5d - y: 6.0d - } { dependencies: [ "12B4423F055BFBF5" diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index ecf402cfc..05323720f 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -463,86 +463,13 @@ id: "1F185450C1FF7379" item: { Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:platinum_ore_group)" } - id: "gtceu:purified_chalcocite_ore" - } - optional_task: true - type: "item" - } - { - disable_toast: true - id: "6140EA15476B4A16" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:purified_chalcopyrite_ore" - } - optional_task: true - type: "item" - } - { - disable_toast: true - id: "6F239C59DC002095" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:purified_bornite_ore" - } - optional_task: true - type: "item" - } - { - disable_toast: true - id: "29D38459E25A0D3E" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:purified_pentlandite_ore" - } - optional_task: true - type: "item" - } - { - disable_toast: true - id: "22DF4DB3FF6976EA" - item: "gtceu:purified_cooperite_ore" - optional_task: true - type: "item" - } - { - disable_toast: true - id: "1A8C5E755FE82C59" - item: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:purified_tetrahedrite_ore" } optional_task: true + title: "Any #tfg:platinum_ore_group" type: "item" } ] diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 6ed1fe1ac..97c3fa262 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2311,6 +2311,17 @@ "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_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", + "quests.extreme_voltage.btx.subtitle": "Long lost cousin of Nitrobenzene", + "quests.extreme_voltage.btx.desc.1": "The &eBTX Fuel&r is an upgrade over &eReformate Gas&r, being around five times more potent per mB. The process is much more tedious, but it provides a significant upgrade for running your &6Large Gas Turbines&r. Like its predecessor, this fuel is fully renewable and can be produced entirely through &aTree Processing&r.\n\nTo explain how &eBTX Fuel&r is made, we divide its processing into three parts: the &bBTX Fuel crafting&r itself, the crafting of the &eCatalyst&r, and finally how to loop &eRhenium&r and &ePlatinum&r.", + "quests.extreme_voltage.btx.desc.2": "Let’s start with the &bBTX Fuel&r crafting. You will need to mix &eReformate Gas&r with the &eCatalyst&r and a small amount of &ePropene&r. A new processing path allows you to produce &eMethanol&r from &eSyngas&r, which can then be distilled into the required Propene. This is a good way to reuse the Syngas generated during &eReformate Gas&r production.\n\nOnce that is done, distilling &eWood Tar&r in a &6Distillation Tower&r will provide everything else you need to complete the mix. Simple enough. In the next quests, we will cover how to craft the &eCatalyst&r and how to recycle it efficiently.", + "quests.extreme_voltage.btx_catalyser.title": "Catalyser Pt-Re ZSM-5", + "quests.extreme_voltage.btx_catalyser.subtitle": "What a complex name", + "quests.extreme_voltage.btx_catalyser.desc": "To craft the &ePt-Re ZSM-5 Catalyst&r, you will need to set up infinite sources of &aLye&r, &aSodium&r, and &dNether Quartz&r, as well as &aAmmonia&r and &aEthanol&r. The &bAluminum&r will be fully looped, while the other materials will only be partially recovered.\n\nIf you are unsure about &dNether Quartz&r, take a look at the recipe chain starting from &eSand&r. &aSodium&r, on the other hand, can be obtained easily from &bSea Water&r processing, and Lye can be from Wood Ash.\n\nFinally, mix everything together with some &5Platinum&r and &5Rhenium&r to obtain your &eCatalyst&r. The good news is that both Platinum and Rhenium are fully recycled in this process, so there is no need to worry you will only have to mine them once.", + "quests.extreme_voltage.btx_loop.title": "Recycling the Used Catalyser", + "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 Catalyser. 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 &8Coal Tar&r obtained while producing &bReformate Gas&r can be reconverted into &2Hydrogen Sulfide&r and ultimately refined back into &6Sulfur&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", @@ -2323,7 +2334,7 @@ "quests.gregtech_energy.moving.task": "I understand", "quests.gregtech_energy.transformer.title": "The Super Transformer", "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", - "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can channel energy between any tiers — from &aLV&r to &cUHV&r — with no explosions. But that's not even the best part.\n\nIt can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", + "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can transform energy between any tiers — from &aLV&r to &cUHV&r — without caring about amps or a mess of single block transformers.\n\nBut that's not even the best part: it can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", "quests.gregtech_energy.moving_wire.title": "Moving with wires", "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", @@ -2394,9 +2405,9 @@ "quests.gregtech_energy.reformate_gas.subtitle": "Is that reformate Benzene?", "quests.gregtech_energy.reformate_gas.desc.1": "The &9Reformate Gas&r is a strong and new gas fuel taking the usual role of Benzene at &bMV&r.\n\nTo produce it, you will need to build a &6Liquefaction Tower&r and obtain some &5Rhenium&r from the &6Tarkianite&r veins found only in dry and hot climates. Two &6Pyrolyse Ovens&r — one producing Creosote and the other Wood Tar — will provide all the materials required to generate this fuel. Remember that you can produce steam with a &6Fluid Heater&r if you want to simplify the setup.", "quests.gregtech_energy.reformate_gas.desc.2": "It is also important to consider the improved yield available at &6HV&r when using a &6Cracker&r. This will allow you to loop most of your &5Rhenium&r, making Reformate Gas effectively an infinite fuel.\n\nAdding &9Nitrogen&r and &9Hydrogen&r to the process will further strengthen your production throughput.", - "quests.gregtech_energy.btx.title": "BTX", - "quests.gregtech_energy.btx.subtitle": "Not a korean band", - "quests.gregtech_energy.btx.desc": "The BTX Fuel is NYI", + "quests.gregtech_energy.btx.title": "BTX Fuel", + "quests.gregtech_energy.btx.subtitle": "Not a Korean boy band", + "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", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index d2d172ffd..3d1eb0881 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1301,7 +1301,7 @@ "material.tfg.reformed_aromatic_feedstock": "重整芳香原料", "material.tfg.reformate_gas": "重整气", "material.tfg.cracker_off_gas": "裂化重整尾气", - "material.tfg.btx_fuel": "轻质芳烃气", + "material.tfg.btx_fuel": "轻质芳烃燃料", "material.tfg.critical_steam": "临界蒸汽", "material.tfg.americium_241": "镅-241", "material.tfg.californium_252": "锎-252", @@ -2398,6 +2398,17 @@ "quests.extreme_voltage.large_generators.desc": "各种单方块发电机的上限只到HV,自此往后你必须采用多方块结构来产生更多能量。EV阶段两个最好的选择是&d大型燃气涡轮&r和&d大型内燃机&r,请移步格雷科技能源章节了解详细信息。", "quests.extreme_voltage.large_centrifuge.subtitle": "材料旋转木马", "quests.extreme_voltage.large_centrifuge.desc": "&6大型离心机&r是你裂变生产线中必备的多方块结构。\n\n它最多支持&52个EV能源仓&r,能够以与电力高炉相同的机制处理&1IV等级&r的配方,因此操作逻辑会让你感到熟悉。\n\n该设备拥有两种运行模式:&b离心&r与&6热力离心&r。你可直接在控制器界面切换模式,但暂不支持通过AE2或其他自动化系统远程控制。\n\n此次升级将使你的&a矿物处理&r速度实现质的飞跃。", + "quests.extreme_voltage.btx.title": "轻质芳烃燃料", + "quests.extreme_voltage.btx.subtitle": "硝基苯久违的远亲", + "quests.extreme_voltage.btx.desc.1": "&e轻质芳烃燃料&r是&e重整气&r的升级版,每mB的能量强度约为后者的五倍。其生产过程更为繁琐,但能为运行你的&6大型燃气涡轮&r带来显著的性能提升。与其前身一样,这种燃料完全可再生,并且可以完全通过&a树木加工&r来生产。\n\n为了解释&e轻质芳烃燃料&r的制作过程,我们将其加工分为三部分:&b轻质芳烃燃料合成&r本身、&e催化剂&r的制作,以及最后如何循环&e铼&r和&e铂&r。", + "quests.extreme_voltage.btx.desc.2": "让我们从&b轻质芳烃燃料&r的合成开始。你需要将&e重整气&r与&e催化剂&r以及少量&e丙烯&r混合。一条新的加工路线允许你用&e合成气&r生产&e甲醇&r,然后将其蒸馏成所需的丙烯。这是重新利用生产&e重整气&r过程中产生的合成气的好方法。\n\n完成这一步后,在&6蒸馏塔&r中分馏&e木焦油&r将提供完成混合物所需的所有其他成分。相当简单。在接下来的任务中,我们将介绍如何制作&e催化剂&r以及如何高效地回收它。", + "quests.extreme_voltage.btx_catalyser.title": "铂-铼/ZSM-5催化剂", + "quests.extreme_voltage.btx_catalyser.subtitle": "多么复杂的名字", + "quests.extreme_voltage.btx_catalyser.desc": "要制作&e铂-铼/ZSM-5催化剂&r,你需要建立&a碱&r、&a钠&r和&d下界石英&r的无限来源,以及&a氨&r和&a乙醇&r。&b铝&r将被完全循环利用,而其他材料只能部分回收。\n\n如果你不确定&d下界石英&r的来源,可以看看从&e沙子&r开始的配方链。另一方面,&a钠&r可以通过处理&b海水&r轻松获得,而碱可以通过草木灰获取。\n\n最后,将所有东西与一些&5铂&r和&5铼&r混合,即可得到你的&e催化剂&r。好消息是,铂和铼在此过程中都会被完全回收,因此无需担心,你只需要开采一次即可。", + "quests.extreme_voltage.btx_loop.title": "回收使废催化剂", + "quests.extreme_voltage.btx_loop.subtitle": "尽可能多地回收利用", + "quests.extreme_voltage.btx_loop.desc.1": "这条生产链的最后一部分是回收废催化剂。整个过程相当简单,主要的挑战将是维持&a强化环氧树脂板&r和&e胶水&r的持续供应。\n\n如果你的&2树脂采集系统&r仍在运行,它应该足以生产制作胶水所需的所有树脂。或者,对原木使用&b提取机&r也是一个完全可行的选择。这种方法稍微更&c耗电&r,但选择完全取决于你的基础设施。", + "quests.extreme_voltage.btx_loop.desc.2": "关于&9稀盐酸&r的一点说明:它可以很容易地通过&b水&r与&a氯气&r反应制得。你可以储存&d次氯酸&r,或选择电解它以回收&f一半的氯气&r。\n\n至于&6硫酸&r,你应该已经通过&e石油化工蒸馏&r装置获得了无限的硫磺来源。如果还没有,我们强烈建议你尽快解决这个问题。此外,生产&b重整气&r时获得的&8煤焦油&r可以重新转化为&2硫化氢&r,并最终精炼回&6硫&r。", "quests.gregtech_energy": "格雷科技能源", "quests.gregtech_energy.subtitle": "这一切到底是怎么工作的?", "quests.gregtech_energy.start.title": "让我们做些解释", @@ -2481,9 +2492,9 @@ "quests.gregtech_energy.reformate_gas.subtitle": "这是重整后的苯吗?", "quests.gregtech_energy.reformate_gas.desc.1": "&9重整气&r是一种强大且新的气体燃料,在&bMV&r阶段承担了通常由苯扮演的角色。\n\n要生产它,你需要建造一座&6液化塔&r,并从仅存在于干燥炎热气候的&6塔基安矿&r矿脉中获取一些&5铼&r。两座&6热解炉&r——一座生产杂酚油,另一座生产木焦油——将提供生产这种燃料所需的全部材料。如果你想简化设置,请记住可以用&6流体加热器&r来生产蒸汽。", "quests.gregtech_energy.reformate_gas.desc.2": "同样重要的是,需要考虑在&6HV&r阶段使用&6裂化机&r时可获得的提升产率。这将使你能够循环利用绝大部分的&5铼&r,使重整气实质上成为一种接近无限的燃料。\n\n在此流程中添加&9氮气&r和&9氢气&r,将进一步增强你的生产吞吐量。", - "quests.gregtech_energy.btx.title": "轻质芳烃", + "quests.gregtech_energy.btx.title": "轻质芳烃燃料", "quests.gregtech_energy.btx.subtitle": "并非韩国乐队", - "quests.gregtech_energy.btx.desc": "轻质芳烃燃料尚未实装", + "quests.gregtech_energy.btx.desc": "获得&5EV能源仓&r意味着你终于可以启动&e轻质芳烃燃料&r的生产。这种燃料将为你服务很长一段时间,并且即便在游戏后期,于&6大型涡轮机&r中仍然保持竞争力。虽然初看之下这像是一项浩大的工程,但请放心,付出的努力将是完全值得的。\n\n这条生产线需要大量的木材制品。由于对&e胶水&r的需求,树脂再次变得重要——你可以选择被动采集树液,或者直接从原木中提取。你还需要在&6蒸馏塔&r中分馏&e木焦油&r。除此之外,请确保你能无限量生产&e乙醇&r、&e下界石英&r、&e钠&r、&e氨&r、&e碱&r和&e强化环氧树脂板&r。\n\n如果你想了解轻质芳烃燃料生产链更详细的分析,请参阅&5EV&r章节。", "quests.gregtech_energy.fission_rod.title": "裂变燃料", "quests.gregtech_energy.fission_rod.subtitle": "别让我过热了", "quests.gregtech_energy.fission_rod.desc.1": "地球裂变材料尚未实装,但或许即将到来", From f47c00dc1289d754bb3e0f44dbab848209c7d8ba Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 18 Dec 2025 22:08:51 +0000 Subject: [PATCH 389/628] 0.11.11 --- CHANGELOG.md | 4 ++++ pakku-lock.json | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fbdda2e1..257dd0f72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog ## Unreleased +### Changes +### Bug fixes + +## [0.11.11] - 18-12-2025 ### Breaking Changes - Rose Quartz moved namespaces, so you'll have to convert all your old rose quartz items into the new ones. You'll need to explore new chunks to find new geodes with the correct ore blocks. - The previous silicone rubber styrene butadiene rubber belts have been changed to a different item, so please break and recycle them before updating if you're using any. diff --git a/pakku-lock.json b/pakku-lock.json index cbfc13a36..60da72190 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -13922,7 +13922,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.8.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.10.jar", "mc_versions": [ "1.20.1" ], @@ -13931,23 +13931,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/6FdOjis1/TerraFirmaGreg-Core-Modern-0.8.8.jar", - "id": "6FdOjis1", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/EY4KluIB/TerraFirmaGreg-Core-Modern-0.8.10.jar", + "id": "EY4KluIB", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "ebc09725e0662ff8059a605397f12fb49c300807aacd27742c858ac436e8730350516ed7697925047686a838932371812f58bee49e11802a387cbe9d315121f0", - "sha1": "75551167d5d6c8c61ae7ae713b3a767bf1bcb321" + "sha512": "f9b39b905a066ef4d0a131080d076c007d348ad700cb56a8ee52e607046f1564d28993ebd3ae8f0d48ee874770b7ab1cab9fdfe4e36c918b05d6fc697bee402b", + "sha1": "eb6603cfaa8d84cf6fe747732f97d7b3b10bb274" }, "required_dependencies": [ - "JaCEZUhg", - "7tG215v7" + "7tG215v7", + "JaCEZUhg" ], - "size": 9321318, - "date_published": "2025-12-09T11:16:17.379839Z" + "size": 9347264, + "date_published": "2025-12-18T21:55:26.799768Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.8.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.9.jar", "mc_versions": [ "1.20.1" ], @@ -13956,19 +13956,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7311/305/TerraFirmaGreg-Core-Modern-0.8.8.jar", - "id": "7311305", + "url": "https://edge.forgecdn.net/files/7351/217/TerraFirmaGreg-Core-Modern-0.8.9.jar", + "id": "7351217", "parent_id": "513402", "hashes": { - "sha1": "75551167d5d6c8c61ae7ae713b3a767bf1bcb321", - "md5": "5f9e1df5cbe3f1421d23e1c15b712aca" + "sha1": "40b2d01116d9f879d8b49d78e09657c4277f02b7", + "md5": "e032d7fb422eaf1e3793250f67ef5d62" }, "required_dependencies": [ - "890405", - "302973" + "302973", + "890405" ], - "size": 9321318, - "date_published": "2025-12-09T11:16:13.343Z" + "size": 9347264, + "date_published": "2025-12-18T20:54:23.127Z" } ] }, From f04923e491bfc4d0038e8f58dfe0a4b8d214b9e0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 00:45:45 +0000 Subject: [PATCH 390/628] fix accidentally deleting coke blocks --- CHANGELOG.md | 1 + kubejs/startup_scripts/tfg/tag_prefixes.js | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 257dd0f72..c806639c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Changes ### Bug fixes +- Fixed missing blocks of coke ## [0.11.11] - 18-12-2025 ### Breaking Changes diff --git a/kubejs/startup_scripts/tfg/tag_prefixes.js b/kubejs/startup_scripts/tfg/tag_prefixes.js index 8d9f53cb6..d521ca895 100644 --- a/kubejs/startup_scripts/tfg/tag_prefixes.js +++ b/kubejs/startup_scripts/tfg/tag_prefixes.js @@ -3,10 +3,15 @@ function registerTFGTagPrefixes(event) { - excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:apt')); - excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:tetrafluoroethane')); - excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:crimsene')); - excludeAllGemsButNormal(TFGHelpers.getMaterial('tfg:warpane')); + excludeAllGemsButNormal(GTMaterials.get('tfg:apt')); + TagPrefix.block.setIgnored(GTMaterials.get('tfg:apt')); + excludeAllGemsButNormal(GTMaterials.get('tfg:tetrafluoroethane')); + TagPrefix.block.setIgnored(GTMaterials.get('tfg:tetrafluoroethane')); + excludeAllGemsButNormal(GTMaterials.get('tfg:crimsene')); + TagPrefix.block.setIgnored(GTMaterials.get('tfg:crimsene')); + excludeAllGemsButNormal(GTMaterials.get('tfg:warpane')); + TagPrefix.block.setIgnored(GTMaterials.get('tfg:warpane')); + excludeAllGemsButNormal(GTMaterials.Coke) TagPrefix.nugget.setIgnored(GTMaterials.RawRubber); @@ -20,5 +25,4 @@ function excludeAllGemsButNormal(material) { TagPrefix.gemFlawed.setIgnored(material); TagPrefix.gemFlawless.setIgnored(material); TagPrefix.gemExquisite.setIgnored(material); - TagPrefix.block.setIgnored(material); } \ No newline at end of file From 3e68785de2470a1b675673e118858430e68a52c6 Mon Sep 17 00:00:00 2001 From: applenper Date: Thu, 18 Dec 2025 23:25:26 -0400 Subject: [PATCH 391/628] Boiler cleanup fix (#2463) * boiler recipe cleanup * removed duplicate bundle event remove * adjusted charcoal nerf to affect all instances of charcoal * fixed a some regex typos that caused blocks of charcoal to be excluded inadvertently --------- Signed-off-by: applenper --- .../tfg/powergen/recipes.boiler.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 8a042cb78..847e4123a 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -34,15 +34,15 @@ function registerTFGBoilerRecipes(event) { event.remove({ id: /gtceu:....._boiler\/.*loom.*/ }) event.remove({ id: /gtceu:....._boiler\/.*bowl.*/ }) event.remove({ id: /gtceu:....._boiler\/.*sticky_resin.*/ }) - event.remove({ id: /gtceu:....._boiler\/.*plant_ball*/ }) - event.remove({ id: /gtceu:....._boiler\/.*note_block*/ }) - event.remove({ id: /gtceu:....._boiler\/.*smithing_table*/ }) - event.remove({ id: /gtceu:....._boiler\/.*fiberboard*/ }) - event.remove({ id: /gtceu:....._boiler\/.*wood*/ }) - event.remove({ id: /gtceu:....._boiler\/.*sapling*/ }) - event.remove({ id: /gtceu:....._boiler\/.*log*/ }) - event.remove({ id: /gtceu:....._boiler\/.*stem*/ }) - event.remove({ id: /gtceu:....._boiler\/.*mosaic*/ }) + event.remove({ id: /gtceu:....._boiler\/.*plant_ball.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*note_block.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*smithing_table.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*fiberboard.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*wood.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*sapling.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*log.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*stem.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*mosaic.*/ }) //Re-add some recipes to the boiler under tags event.recipes.gtceu.steam_boiler('tfg:logs') @@ -62,7 +62,7 @@ function registerTFGBoilerRecipes(event) { // Small nerf to charcoal - event.forEachRecipe({ id: /gtceu:(steam_boiler|large_boiler)\/minecraft_charcoal/ }, recipe => { + event.forEachRecipe({ id: /gtceu:(steam_boiler|large_boiler)\/.*charcoal.*/ }, recipe => { var newDuration = recipe.get("duration") recipe.set("duration", newDuration/4*3) }) From 5fee8d740e9be00516bcd035c6904bed3676ffb1 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Fri, 19 Dec 2025 12:19:43 +0100 Subject: [PATCH 392/628] Hotfix raw rubber vacuumizer recipe (#2464) Order got reversed in 11.11 Signed-off-by: Mqrius --- kubejs/server_scripts/vintage_improvements/recipes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 516b529bc..7bc7f8907 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -546,7 +546,7 @@ function registerVintageImprovementsRecipes(event) { .id('tfg:vi/vacuumizing/latex_from_rubber_plants') // Vulc. latex to raw rubber pulp - event.recipes.vintageimprovements.pressurizing(Fluid.of('tfg:vulcanized_latex', 250), '#forge:dusts/raw_rubber') + event.recipes.vintageimprovements.pressurizing('#forge:dusts/raw_rubber', Fluid.of('tfg:vulcanized_latex', 250)) .heated() .processingTime(60 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) .id('tfg:vi/pressurizing/vulcanized_latex_to_raw_rubber') @@ -637,4 +637,4 @@ function generateHammeringRecipeFromItem(event, input, output, blows, anvil) { .anvilBlock(`tfc:metal/anvil/${anvil}`) .hammerBlows(blows) .id(`tfg:vi/hammer/${input.replace(/[#:]/g, '_')}_on_${anvil}_anvil`) -} \ No newline at end of file +} From e5c644cad07d63c1cd5d7e58dd7416c2145abdc3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 11:38:38 +0000 Subject: [PATCH 393/628] langs --- kubejs/assets/tfg/lang/zh_cn.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 3d1eb0881..e805095b7 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1301,7 +1301,7 @@ "material.tfg.reformed_aromatic_feedstock": "重整芳香原料", "material.tfg.reformate_gas": "重整气", "material.tfg.cracker_off_gas": "裂化重整尾气", - "material.tfg.btx_fuel": "轻质芳烃燃料", + "material.tfg.btx_fuel": "芳烃燃料", "material.tfg.critical_steam": "临界蒸汽", "material.tfg.americium_241": "镅-241", "material.tfg.californium_252": "锎-252", @@ -2398,10 +2398,10 @@ "quests.extreme_voltage.large_generators.desc": "各种单方块发电机的上限只到HV,自此往后你必须采用多方块结构来产生更多能量。EV阶段两个最好的选择是&d大型燃气涡轮&r和&d大型内燃机&r,请移步格雷科技能源章节了解详细信息。", "quests.extreme_voltage.large_centrifuge.subtitle": "材料旋转木马", "quests.extreme_voltage.large_centrifuge.desc": "&6大型离心机&r是你裂变生产线中必备的多方块结构。\n\n它最多支持&52个EV能源仓&r,能够以与电力高炉相同的机制处理&1IV等级&r的配方,因此操作逻辑会让你感到熟悉。\n\n该设备拥有两种运行模式:&b离心&r与&6热力离心&r。你可直接在控制器界面切换模式,但暂不支持通过AE2或其他自动化系统远程控制。\n\n此次升级将使你的&a矿物处理&r速度实现质的飞跃。", - "quests.extreme_voltage.btx.title": "轻质芳烃燃料", + "quests.extreme_voltage.btx.title": "芳烃燃料", "quests.extreme_voltage.btx.subtitle": "硝基苯久违的远亲", - "quests.extreme_voltage.btx.desc.1": "&e轻质芳烃燃料&r是&e重整气&r的升级版,每mB的能量强度约为后者的五倍。其生产过程更为繁琐,但能为运行你的&6大型燃气涡轮&r带来显著的性能提升。与其前身一样,这种燃料完全可再生,并且可以完全通过&a树木加工&r来生产。\n\n为了解释&e轻质芳烃燃料&r的制作过程,我们将其加工分为三部分:&b轻质芳烃燃料合成&r本身、&e催化剂&r的制作,以及最后如何循环&e铼&r和&e铂&r。", - "quests.extreme_voltage.btx.desc.2": "让我们从&b轻质芳烃燃料&r的合成开始。你需要将&e重整气&r与&e催化剂&r以及少量&e丙烯&r混合。一条新的加工路线允许你用&e合成气&r生产&e甲醇&r,然后将其蒸馏成所需的丙烯。这是重新利用生产&e重整气&r过程中产生的合成气的好方法。\n\n完成这一步后,在&6蒸馏塔&r中分馏&e木焦油&r将提供完成混合物所需的所有其他成分。相当简单。在接下来的任务中,我们将介绍如何制作&e催化剂&r以及如何高效地回收它。", + "quests.extreme_voltage.btx.desc.1": "&e芳烃燃料&r是&e重整气&r的升级版,每豪桶的能量密度约为后者的五倍。其生产过程更为繁琐,但能为运行你的&6大型燃气涡轮&r带来显著的性能提升。与其前身一样,这种燃料完全可再生,并且可以完全通过&a树木加工&r来生产。\n\n为了解释&e芳烃燃料&r的制作过程,我们将其加工分为三部分:&b芳烃燃料合成&r本身、&e催化剂&r的制作,以及最后如何循环&e铼&r和&e铂&r。", + "quests.extreme_voltage.btx.desc.2": "让我们从&b芳烃燃料&r的合成开始。你需要将&e重整气&r与&e催化剂&r以及少量&e丙烯&r混合。一条新的加工路线允许你用&e合成气&r生产&e甲醇&r,然后将其蒸馏成所需的丙烯。这是重新利用生产&e重整气&r过程中产生的合成气的好方法。\n\n完成这一步后,在&6蒸馏塔&r中分馏&e木焦油&r将提供完成混合物所需的所有其他成分。相当简单。在接下来的任务中,我们将介绍如何制作&e催化剂&r以及如何高效地回收它。", "quests.extreme_voltage.btx_catalyser.title": "铂-铼/ZSM-5催化剂", "quests.extreme_voltage.btx_catalyser.subtitle": "多么复杂的名字", "quests.extreme_voltage.btx_catalyser.desc": "要制作&e铂-铼/ZSM-5催化剂&r,你需要建立&a碱&r、&a钠&r和&d下界石英&r的无限来源,以及&a氨&r和&a乙醇&r。&b铝&r将被完全循环利用,而其他材料只能部分回收。\n\n如果你不确定&d下界石英&r的来源,可以看看从&e沙子&r开始的配方链。另一方面,&a钠&r可以通过处理&b海水&r轻松获得,而碱可以通过草木灰获取。\n\n最后,将所有东西与一些&5铂&r和&5铼&r混合,即可得到你的&e催化剂&r。好消息是,铂和铼在此过程中都会被完全回收,因此无需担心,你只需要开采一次即可。", @@ -2421,7 +2421,7 @@ "quests.gregtech_energy.moving.task": "我明白了", "quests.gregtech_energy.transformer.title": "超级变压器", "quests.gregtech_energy.transformer.subtitle": "比擎天柱还厉害", - "quests.gregtech_energy.transformer.desc": "格雷科技为每个问题都准备了多方块解决方案,&d有源变压器&r便是其中之一。\n\n此装置堪称终极变压器,能够在&aLV&r至&cUHV&r的任意等级间传输能量,且不会引发爆炸。但这并非其最突出的优势。\n\n它能够通过激光管道传输能量:\n&8•&r激光可传输超大安培能量\n&8•&r零损耗、无电缆,纯粹的能量传输\n&8•&r唯一限制:管道&c必须保持绝对直线&r\n\n当电缆传输能力不足时,请&l采用激光方案&r。", + "quests.gregtech_energy.transformer.desc": "格雷科技为每个问题都准备了多方块解决方案,&d有源变压器&r便是其中之一。\n\n此装置堪称终极变压器,能够在&aLV&r至&cUHV&r的任意等级间传输能量,且无需顾虑电流数或一堆杂乱无章的单方块变压器。\n\n但这并非其最突出的优势:它能够通过激光管道传输能量。\n&8•&r激光可传输超大安培能量\n&8•&r零损耗、无电缆,纯粹的能量传输\n&8•&r唯一限制:管道&c必须保持绝对直线&r\n\n当电缆传输能力不足时,请&l采用激光方案&r。", "quests.gregtech_energy.moving_wire.title": "用导线传输", "quests.gregtech_energy.moving_wire.subtitle": "放置起来有点意思", "quests.gregtech_energy.moving_wire.desc": "在格雷科技中传输能量可能颇具挑战——&b多数电缆存在能量损耗&r。能量在导线中每传输一格距离、每安培电流都可能产生损耗。但无需担心,现有解决方案如下:\n\n&8•&r为电缆包裹橡胶包覆层。此举可显著降低长距离传输中的能量损耗,具体请参照任务物品示例。\n\n&8•&r采用更高等级的电缆。例如铂电缆每格仅损耗1EU,相较于其8192EU的传输容量而言几乎可忽略不计。\n\n&8•&r使用&b超导电缆&r。这类电缆成本稍高,但具备&9零损耗&r特性。它们无需橡胶包覆且不会对玩家造成电击,但需注意通常需在对应科技阶段的后期方可制造。\n\n优化能量传输体系——&b降低损耗&r,提升系统能效。", @@ -2492,9 +2492,9 @@ "quests.gregtech_energy.reformate_gas.subtitle": "这是重整后的苯吗?", "quests.gregtech_energy.reformate_gas.desc.1": "&9重整气&r是一种强大且新的气体燃料,在&bMV&r阶段承担了通常由苯扮演的角色。\n\n要生产它,你需要建造一座&6液化塔&r,并从仅存在于干燥炎热气候的&6塔基安矿&r矿脉中获取一些&5铼&r。两座&6热解炉&r——一座生产杂酚油,另一座生产木焦油——将提供生产这种燃料所需的全部材料。如果你想简化设置,请记住可以用&6流体加热器&r来生产蒸汽。", "quests.gregtech_energy.reformate_gas.desc.2": "同样重要的是,需要考虑在&6HV&r阶段使用&6裂化机&r时可获得的提升产率。这将使你能够循环利用绝大部分的&5铼&r,使重整气实质上成为一种接近无限的燃料。\n\n在此流程中添加&9氮气&r和&9氢气&r,将进一步增强你的生产吞吐量。", - "quests.gregtech_energy.btx.title": "轻质芳烃燃料", - "quests.gregtech_energy.btx.subtitle": "并非韩国乐队", - "quests.gregtech_energy.btx.desc": "获得&5EV能源仓&r意味着你终于可以启动&e轻质芳烃燃料&r的生产。这种燃料将为你服务很长一段时间,并且即便在游戏后期,于&6大型涡轮机&r中仍然保持竞争力。虽然初看之下这像是一项浩大的工程,但请放心,付出的努力将是完全值得的。\n\n这条生产线需要大量的木材制品。由于对&e胶水&r的需求,树脂再次变得重要——你可以选择被动采集树液,或者直接从原木中提取。你还需要在&6蒸馏塔&r中分馏&e木焦油&r。除此之外,请确保你能无限量生产&e乙醇&r、&e下界石英&r、&e钠&r、&e氨&r、&e碱&r和&e强化环氧树脂板&r。\n\n如果你想了解轻质芳烃燃料生产链更详细的分析,请参阅&5EV&r章节。", + "quests.gregtech_energy.btx.title": "芳烃燃料", + "quests.gregtech_energy.btx.subtitle": "并非韩国男团", + "quests.gregtech_energy.btx.desc": "获得&5EV能源仓&r意味着你终于可以启动&e芳烃燃料&r(苯、甲苯、二甲苯的混合物,简称BTX)的生产。这种燃料将为你服务很长一段时间,并且即便在游戏后期,于&6大型涡轮机&r中仍然保持竞争力。虽然初看之下这像是一项浩大的工程,但请放心,付出的努力将是完全值得的。\n\n这条生产线需要大量的木材制品。由于对&e胶水&r的需求,树脂再次变得重要——你可以选择被动采集树液,或者直接从原木中提取。你还需要在&6蒸馏塔&r中分馏&e木焦油&r。除此之外,请确保你能无限量生产&e乙醇&r、&e下界石英&r、&e钠&r、&e氨&r、&e碱&r和&e强化环氧树脂板&r。\n\n如果你想了解芳烃燃料生产链更详细的分析,请参阅&5EV&r章节。", "quests.gregtech_energy.fission_rod.title": "裂变燃料", "quests.gregtech_energy.fission_rod.subtitle": "别让我过热了", "quests.gregtech_energy.fission_rod.desc.1": "地球裂变材料尚未实装,但或许即将到来", From 2a0b25db49d4c7df7c4078a5ec53043cf1702b22 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 12:10:14 +0000 Subject: [PATCH 394/628] brick wooden form for clay bricks #2461 --- kubejs/server_scripts/tfg/primitive/recipes.clay.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 5660650cb..53ffe00e6 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -49,6 +49,12 @@ function registerTFGClayRecipes(event) { .EUt(2) } + event.shapeless('3x tfc:ceramic/unfired_brick', ['4x minecraft:clay_ball', 'gtceu:brick_wooden_form', 'minecraft:clay_ball']) + .id('tfg:shapeless/unfired_brick_via_wooden_form') + + event.shapeless('3x tfc:ceramic/unfired_fire_brick', ['4x tfc:fire_clay', 'gtceu:brick_wooden_form', 'tfc:fire_clay']) + .id('tfg:shapeless/unfired_fire_brick_via_wooden_form') + event.recipes.gtceu.extruder('tfg:unfired_clay_brick') .itemInputs('minecraft:clay_ball') .notConsumable('gtceu:ingot_extruder_mold') From 6b769eebf1dc1ed5d023e7320dff7208c10ebae4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 12:10:22 +0000 Subject: [PATCH 395/628] fix tooltips, changelog --- CHANGELOG.md | 9 ++++++++- kubejs/assets/tfg/lang/en_us.json | 9 +++++---- kubejs/client_scripts/tooltips.js | 5 +++-- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c806639c7..1f606e541 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,15 @@ ## Unreleased ### Changes +- Brick Wooden Form can now be used to make unfired clay and fire clay bricks at the same rate as knapping (#2461) @Pyritie ### Bug fixes -- Fixed missing blocks of coke +- Fixed missing blocks of coke @Pyritie +- Fixed some missing boiler recipes like charcoal blocks (#2463) @applenper +- Fixed vulcanized latex to raw rubber vacuumizer recipe being the wrong way around (#2464) @Mqrius +- Fixed a crash when loading a chunk that had an old blaze burner with a straw @Pyritie +- Fixed incorrect coil tooltips on the nuclear fuel factory and liquefaction tower @Pyritie +### Translation updates +- Chinese (simplified) @jmecn ## [0.11.11] - 18-12-2025 ### Breaking Changes diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 97c3fa262..f394094b6 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1567,10 +1567,11 @@ "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.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.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!", - "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§r reduces energy usage by §r10%§7.§r", + "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§r reduces energy usage by 10%.", + "tfg.tooltip.machine.coil_speed_discount": "§6Cupronickel§r coils process 75% slower. Every coil after §3Kanthal§r increases processing speed by 50%.", "tfg.tooltip.machine.bioreactor_1": "§7Chemistry meets Biology§r", "tfg.tooltip.machine.bioreactor_2": "§7Combines organic and inorganic ingredients to produce synthetic biological products.§r", "tfg.tooltip.machine.growth_chamber_1": "§7Growing new life§r", @@ -2317,7 +2318,7 @@ "quests.extreme_voltage.btx.desc.2": "Let’s start with the &bBTX Fuel&r crafting. You will need to mix &eReformate Gas&r with the &eCatalyst&r and a small amount of &ePropene&r. A new processing path allows you to produce &eMethanol&r from &eSyngas&r, which can then be distilled into the required Propene. This is a good way to reuse the Syngas generated during &eReformate Gas&r production.\n\nOnce that is done, distilling &eWood Tar&r in a &6Distillation Tower&r will provide everything else you need to complete the mix. Simple enough. In the next quests, we will cover how to craft the &eCatalyst&r and how to recycle it efficiently.", "quests.extreme_voltage.btx_catalyser.title": "Catalyser Pt-Re ZSM-5", "quests.extreme_voltage.btx_catalyser.subtitle": "What a complex name", - "quests.extreme_voltage.btx_catalyser.desc": "To craft the &ePt-Re ZSM-5 Catalyst&r, you will need to set up infinite sources of &aLye&r, &aSodium&r, and &dNether Quartz&r, as well as &aAmmonia&r and &aEthanol&r. The &bAluminum&r will be fully looped, while the other materials will only be partially recovered.\n\nIf you are unsure about &dNether Quartz&r, take a look at the recipe chain starting from &eSand&r. &aSodium&r, on the other hand, can be obtained easily from &bSea Water&r processing, and Lye can be from Wood Ash.\n\nFinally, mix everything together with some &5Platinum&r and &5Rhenium&r to obtain your &eCatalyst&r. The good news is that both Platinum and Rhenium are fully recycled in this process, so there is no need to worry you will only have to mine them once.", + "quests.extreme_voltage.btx_catalyser.desc": "To craft the &ePt-Re ZSM-5 Catalyst&r, you will need to set up infinite sources of &aLye&r, &aSodium&r, and &dNether Quartz&r, as well as &aAmmonia&r and &aEthanol&r. The &bAluminum&r will be fully looped, while the other materials will only be partially recovered.\n\nIf you are unsure about &dNether Quartz&r, take a look at the recipe chain starting from &eSand&r. &aSodium&r, on the other hand, can be obtained easily from &bSea Water&r processing, and Lye can be from Wood Ash.\n\nFinally, mix everything together with some &5Platinum&r and &5Rhenium&r to obtain your &eCatalyst&r. The good news is that both Platinum and Rhenium are fully recycled in this process, so there is no need to worry - you will only have to mine them once.", "quests.extreme_voltage.btx_loop.title": "Recycling the Used Catalyser", "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 Catalyser. 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.", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index cff423a37..c722b13df 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -81,7 +81,8 @@ const registerTooltips = (event) => { event.addAdvanced(['gtceu:nuclear_fuel_factory'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_1')); text.add(2, Text.translate('gtceu.tooltip.machine.nuclear_fuel_factory_2')); - text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')); + text.add(3, Text.translate('tfg.tooltip.machine.coil_speed_discount')); + text.add(4, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) event.addAdvanced(['gtceu:steam_bloomery'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.steam_bloomery_1')); @@ -96,7 +97,7 @@ const registerTooltips = (event) => { event.addAdvanced(['gtceu:coal_liquefaction_tower'], (item, advanced, text) => { 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_energy_discount')); + text.add(3, Text.translate('tfg.tooltip.machine.coil_speed_discount')); text.add(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) From 29b993211ba8701268b76adf540b8eaaf92a3ec4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 12:44:28 +0000 Subject: [PATCH 396/628] pakku --- pakku-lock.json | 54 ++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 60da72190..0e66b6a50 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -13922,7 +13922,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.10.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.11.jar", "mc_versions": [ "1.20.1" ], @@ -13931,23 +13931,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/EY4KluIB/TerraFirmaGreg-Core-Modern-0.8.10.jar", - "id": "EY4KluIB", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/LlHAk3em/TerraFirmaGreg-Core-Modern-0.8.11.jar", + "id": "LlHAk3em", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "f9b39b905a066ef4d0a131080d076c007d348ad700cb56a8ee52e607046f1564d28993ebd3ae8f0d48ee874770b7ab1cab9fdfe4e36c918b05d6fc697bee402b", - "sha1": "eb6603cfaa8d84cf6fe747732f97d7b3b10bb274" + "sha512": "0ca79125debccf02c2f65bdf60be78ad6a80383ca250c2505f912b53364bb9de323214c40a4d74453e696ed382a21c21a002866e330226fa53436772f3f98b7c", + "sha1": "0590a2fd0a2a6730def92f60df285adb838b2162" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 9347264, - "date_published": "2025-12-18T21:55:26.799768Z" + "size": 9344637, + "date_published": "2025-12-19T11:54:06.090471Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.9.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.11.jar", "mc_versions": [ "1.20.1" ], @@ -13956,19 +13956,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7351/217/TerraFirmaGreg-Core-Modern-0.8.9.jar", - "id": "7351217", + "url": "https://edge.forgecdn.net/files/7353/303/TerraFirmaGreg-Core-Modern-0.8.11.jar", + "id": "7353303", "parent_id": "513402", "hashes": { - "sha1": "40b2d01116d9f879d8b49d78e09657c4277f02b7", - "md5": "e032d7fb422eaf1e3793250f67ef5d62" + "sha1": "0590a2fd0a2a6730def92f60df285adb838b2162", + "md5": "fd7a169dc0a1a25da9877b8bb1b2cb41" }, "required_dependencies": [ - "302973", - "890405" + "890405", + "302973" ], - "size": 9347264, - "date_published": "2025-12-18T20:54:23.127Z" + "size": 9344637, + "date_published": "2025-12-19T11:54:01.770Z" } ] }, @@ -14922,15 +14922,15 @@ "sha1": "cad73c6a3e78233bed25f1d4255f12ffc6f97baf" }, "required_dependencies": [ - "XxWD5pD3", - "SzzJttH8" + "SzzJttH8", + "XxWD5pD3" ], "size": 67381, "date_published": "2025-09-05T14:26:22.489897Z" }, { "type": "curseforge", - "file_name": "applied_ammo_box-0.4.1.jar", + "file_name": "applied_ammo_box-1.0.0.jar", "mc_versions": [ "1.20.1" ], @@ -14938,19 +14938,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7344/136/applied_ammo_box-0.4.1.jar", - "id": "7344136", + "url": "https://edge.forgecdn.net/files/7353/104/applied_ammo_box-1.0.0.jar", + "id": "7353104", "parent_id": "1338332", "hashes": { - "sha1": "0e8adc7538611a1ffc964b739f50d8ef0fa0fcb3", - "md5": "62dfb0ed8cdafaf5985897d6fc6bfa09" + "sha1": "3fc67723dc70b544b57ab0d0a34e2be991d285f9", + "md5": "a6f67bd0ced376be1ef8dbf41e09fa51" }, "required_dependencies": [ - "223794", - "1028108" + "1028108", + "223794" ], - "size": 67748, - "date_published": "2025-12-17T14:13:03.837Z" + "size": 70111, + "date_published": "2025-12-19T10:36:12.707Z" } ] }, From d2b34704800a1247c389eb1c890acca7372f5cef Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 12:54:41 +0000 Subject: [PATCH 397/628] fix sand item tag model --- kubejs/assets/{forge => minecraft}/models/tag/item/sand.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename kubejs/assets/{forge => minecraft}/models/tag/item/sand.json (100%) diff --git a/kubejs/assets/forge/models/tag/item/sand.json b/kubejs/assets/minecraft/models/tag/item/sand.json similarity index 100% rename from kubejs/assets/forge/models/tag/item/sand.json rename to kubejs/assets/minecraft/models/tag/item/sand.json From 533995f5c72d51ee86923700aafb2edb6adf3cfc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 12:55:08 +0000 Subject: [PATCH 398/628] 0.11.12 --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f606e541..0d46b1e51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased ### Changes +### Bug fixes +### Translation updates + +## [0.11.12] - 19-12-2025 +### Changes - Brick Wooden Form can now be used to make unfired clay and fire clay bricks at the same rate as knapping (#2461) @Pyritie ### Bug fixes - Fixed missing blocks of coke @Pyritie From 79f4af85bc4a90c7f4e7cd4caa86d4f7562dd0cc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 12:58:42 +0000 Subject: [PATCH 399/628] remove tungsten-bismuth large gear --- kubejs/startup_scripts/tfg/materials.js | 1 - 1 file changed, 1 deletion(-) diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 47c0f10df..f3fad7184 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -113,7 +113,6 @@ const registerTFGMaterials = (event) => { GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, - GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_FOIL, GTMaterialFlags.GENERATE_FINE_WIRE ) From 1493fd9c6fd90cccd0b982761ff4e0c8a9b22d53 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 13:04:59 +0000 Subject: [PATCH 400/628] fix rose quartz lens tag, fix rose quartz russian lang --- CHANGELOG.md | 1 + kubejs/assets/greate/lang/ru_ru.json | 1 + kubejs/assets/gtceu/lang/ru_ru.json | 1 - kubejs/server_scripts/gregtech/tags.js | 2 +- 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d46b1e51..70c155a89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Fixed vulcanized latex to raw rubber vacuumizer recipe being the wrong way around (#2464) @Mqrius - Fixed a crash when loading a chunk that had an old blaze burner with a straw @Pyritie - Fixed incorrect coil tooltips on the nuclear fuel factory and liquefaction tower @Pyritie +- Fixed new rose quartz lens not being in the pink lens tag @Pyritie ### Translation updates - Chinese (simplified) @jmecn diff --git a/kubejs/assets/greate/lang/ru_ru.json b/kubejs/assets/greate/lang/ru_ru.json index eda27e13d..47f9b2773 100644 --- a/kubejs/assets/greate/lang/ru_ru.json +++ b/kubejs/assets/greate/lang/ru_ru.json @@ -41,6 +41,7 @@ "greate.recipe.packing": "Сварка и упаковка", "greate.ponder.belt_casing.text_1": "Латунный или металлический корпус может быть использован для украшения механического ремня", "greate.ponder.cogwheel_casing.text_1": "Латунный или металлический корпус может быть использован для украшения шестерни", + "material.greate.rose_quartz": "Розовый кварц", "block.greate.aluminium_cogwheel": "Шестерня (Алюминий)", "block.greate.aluminium_crushing_wheel": "Дробильное колесо (Алюминий)", "block.greate.aluminium_crushing_wheel_controller": "Контроллер дробильного колеса (Алюминий)", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 4369a0fbc..254a2e60c 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -172,7 +172,6 @@ "material.gtceu.lightweight_ostrum_vapor": "Lightweight Ostrum Vapor", "material.gtceu.ostrum_vapor": "Ostrum Vapor", "material.gtceu.blue_steel": "Синяя сталь", - "material.gtceu.rose_quartz": "Розовый кварц", "metaitem.dust.tooltip.purify": "Бросьте в источник воды или нажмите ПКМ по котлу, для получения чистой пыли", "metaitem.crushed.tooltip.purify": "Бросьте в источник воды или нажмите ПКМ по котлу, для получения очищенной руды", "item.gtceu.tool.behavior.silk_ice": "§dSculptor:§r Silk harvests Packed Ice", diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index a7f7a9674..338f388a7 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -28,7 +28,7 @@ function registerGTCEUItemTags(event) { event.remove("forge:gems", "gtceu:coke_gem"); // Rose Quartz Lens - event.add("forge:lenses/pink", "gtceu:rose_quartz_lens"); + event.add("forge:lenses/pink", "greate:rose_quartz_lens"); event.add("tfc:saws", "#forge:tools/buzzsaws"); event.add("tfc:saws", "#forge:tools/chainsaws"); From 04bacf3e97967f77ef5d947bb67e4e3b23cfc47c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 17:38:12 +0000 Subject: [PATCH 401/628] update modrinth ae2 ammo box --- pakku-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 0e66b6a50..c4cd8b369 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14906,7 +14906,7 @@ "files": [ { "type": "modrinth", - "file_name": "applied_ammo_box-0.3.0.jar", + "file_name": "applied_ammo_box-1.0.0.jar", "mc_versions": [ "1.20.1" ], @@ -14914,19 +14914,19 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/VQOi9K8E/versions/klC2PLr3/applied_ammo_box-0.3.0.jar", - "id": "klC2PLr3", + "url": "https://cdn.modrinth.com/data/VQOi9K8E/versions/AluWzzYV/applied_ammo_box-1.0.0.jar", + "id": "AluWzzYV", "parent_id": "VQOi9K8E", "hashes": { - "sha512": "261cb1606709b34d6086501b6f0dcaaa87545d51397d130747a992fd8a97095817774c8723417b030bb0bd4d4eac16ae007a1860c239203c00cf8163758dfdc6", - "sha1": "cad73c6a3e78233bed25f1d4255f12ffc6f97baf" + "sha512": "496d8d6fd91260346730fb4b986b16b5ddb42b53e41f4581929ffc08a75365a2edd05266c0e11c5f272dbe0899c5bdfd2d0144e01c59735131a4990d37eac040", + "sha1": "3fc67723dc70b544b57ab0d0a34e2be991d285f9" }, "required_dependencies": [ "SzzJttH8", "XxWD5pD3" ], - "size": 67381, - "date_published": "2025-09-05T14:26:22.489897Z" + "size": 70111, + "date_published": "2025-12-19T14:14:18.551065Z" }, { "type": "curseforge", From bdfbeb6851d430b8e6e23a27d7aca5e4f84d4abb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 20:23:15 +0000 Subject: [PATCH 402/628] fixed being able to pick up sea ice with a saw --- kubejs/server_scripts/minecraft/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 938e0be90..5e5e68334 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -52,6 +52,7 @@ const registerMinecraftBlockTags = (event) => { // Stops saws from being able to pick up ice event.remove('minecraft:ice', 'minecraft:ice') + event.remove('minecraft:ice', 'tfc:sea_ice') // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') From 3922bacb6c8bc3866f135c6420b7298ea3fd05d0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 20:40:37 +0000 Subject: [PATCH 403/628] update modrinth baguettelib --- pakku-lock.json | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index c4cd8b369..533ddb427 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1420,17 +1420,20 @@ ] }, { - "pakku_id": "tcGlxrXYONei6sfG", + "pakku_id": "7Vq00IB6FTxaWTvr", "type": "MOD", "side": "SERVER", "slug": { - "curseforge": "baguettelib" + "curseforge": "baguettelib", + "modrinth": "baguettelib" }, "name": { - "curseforge": "BaguetteLib" + "curseforge": "BaguetteLib", + "modrinth": "BaguetteLib" }, "id": { - "curseforge": "1264423" + "curseforge": "1264423", + "modrinth": "OfKzpbRU" }, "files": [ { @@ -1453,6 +1456,27 @@ "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", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/OfKzpbRU/versions/lFRf3UUH/baguettelib-1.20.1-Forge-1.1.5.jar", + "id": "lFRf3UUH", + "parent_id": "OfKzpbRU", + "hashes": { + "sha512": "e5de5fea569e3ef00230b7f1638885424c00d7f3b9ac471682ceb667ee0f22776c05bce0b25c592a350e787861077e67ebcc067d4104f4b993d886aa4f31a6ed", + "sha1": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f" + }, + "required_dependencies": [], + "size": 31868, + "date_published": "2025-12-19T20:09:42.978615Z" } ] }, @@ -3141,9 +3165,9 @@ { "pakku_id": "jhQHIzkaO8paPfEL", "pakku_links": [ - "tcGlxrXYONei6sfG", "CyISC0hDehFhsqVb", - "0DMPJ1AWW6qfYubI" + "0DMPJ1AWW6qfYubI", + "7Vq00IB6FTxaWTvr" ], "type": "MOD", "side": "SERVER", From 40ba6fe8b78771e809e8981d4289ac597e343dbe Mon Sep 17 00:00:00 2001 From: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> Date: Fri, 19 Dec 2025 13:22:29 -0800 Subject: [PATCH 404/628] Add new molds (#2470) * Added bunch of stuff for molds * Changed rod mold recipe to not collide with oven chimmney Signed-off-by: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> * Removed unneeded comments Signed-off-by: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> * Changed gear mold to be fireclay * fixed issues with molds * Added break chance Signed-off-by: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> * Update constants.js Signed-off-by: Pyritie * Update recipes.knapping.js Signed-off-by: Pyritie * Update recipes.materials.js Signed-off-by: Pyritie * Updated constants.js Signed-off-by: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> * Update items.primitive.js Signed-off-by: Pyritie * Update constants.js Signed-off-by: Pyritie * Update recipes.knapping.js Signed-off-by: Pyritie --------- Signed-off-by: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> Signed-off-by: Pyritie Co-authored-by: Pyritie --- .../item/mold/fired/nugget_mold_empty.png | Bin 0 -> 435 bytes .../item/mold/fired/nugget_mold_overlay.png | Bin 0 -> 142 bytes .../item/mold/fired/rod_mold_empty.png | Bin 0 -> 404 bytes .../item/mold/fired/rod_mold_overlay.png | Bin 0 -> 155 bytes .../item/mold/fired/small_gear_mold_empty.png | Bin 0 -> 446 bytes .../mold/fired/small_gear_mold_overlay.png | Bin 0 -> 148 bytes .../item/mold/unfired/unfired_nugget_mold.png | Bin 0 -> 433 bytes .../item/mold/unfired/unfired_rod_mold.png | Bin 0 -> 403 bytes .../mold/unfired/unfired_small_gear_mold.png | Bin 0 -> 499 bytes .../server_scripts/tfc/recipes.materials.js | 17 +++- kubejs/server_scripts/tfg/data.js | 18 ++++ .../tfg/primitive/recipes.clay.js | 8 ++ .../tfg/primitive/recipes.knapping.js | 35 ++++++- .../gtceu/material_modification.js | 31 ++++-- kubejs/startup_scripts/tfc/constants.js | 15 ++- .../tfg/primitive/items.primitive.js | 94 +++++++++++++++++- 16 files changed, 201 insertions(+), 17 deletions(-) create mode 100644 kubejs/assets/tfg/textures/item/mold/fired/nugget_mold_empty.png create mode 100644 kubejs/assets/tfg/textures/item/mold/fired/nugget_mold_overlay.png create mode 100644 kubejs/assets/tfg/textures/item/mold/fired/rod_mold_empty.png create mode 100644 kubejs/assets/tfg/textures/item/mold/fired/rod_mold_overlay.png create mode 100644 kubejs/assets/tfg/textures/item/mold/fired/small_gear_mold_empty.png create mode 100644 kubejs/assets/tfg/textures/item/mold/fired/small_gear_mold_overlay.png create mode 100644 kubejs/assets/tfg/textures/item/mold/unfired/unfired_nugget_mold.png create mode 100644 kubejs/assets/tfg/textures/item/mold/unfired/unfired_rod_mold.png create mode 100644 kubejs/assets/tfg/textures/item/mold/unfired/unfired_small_gear_mold.png diff --git a/kubejs/assets/tfg/textures/item/mold/fired/nugget_mold_empty.png b/kubejs/assets/tfg/textures/item/mold/fired/nugget_mold_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..5be9853711ec030fa06787a0206bc79f9cce4ab6 GIT binary patch literal 435 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Gdx`!Ln;`TOtkf8b`)qk zo_&tLMM7uGCQAVkpXD4)a|NxXxuc`&8|sf;yXI#jEvUoOA+*I{(F1oCO{Wck{Tg$A z^PDR@W*z+G!Oh!uZ+@RUGuHptpDL-G+-b=tPJdp1@Z2}IJ9+!L5}59~?PTl7F7H42 z^OtupgYX82WsRNR`L&aH_<6Y!n9@ESSJ0g&BQH3EQ_Vy%?V)FAZ^r4PkK)Ym={T-d6MDcP(Y>xGWx~ zBWAK=w>Z~}L%d| zWKx*W#?9TY9c5N*6de=2fwlhBlbJc^Sc?+B+|hm3Bjpn4e(JR9%-OstRx>W8N5#ip z`04sp&Dc2UgU0i3|2z#CZ!vCiic34PKy-%ZEe^$$sl68hn8ju=s5J=OP@Z?(oPmMi n|Nr9?8lNyQFtCBboS7jal7(km&IMxz1_lOCS3j3^P6fq}u()z4*}Q$iB}SQ;p7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mold/fired/rod_mold_empty.png b/kubejs/assets/tfg/textures/item/mold/fired/rod_mold_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..51ac00090e7060e199383ce3c1efd52d1d4137ef GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7Jw06`|yV8Cym%tRZr%VR-?_JNa6-aQH z;F-d7DXnXHZG7D#kNjkZBkT;vd<R?Yx$~JMGn5z8{WH3;Yc7 z*RB1qy8HC2H7B1eZMgr!-`bGPZF})V%a7g1l~$FTGB!0#sQ8_ccFyPA)O!aUVgyb* zy_^|qoX%Rn(A1#N(;@NGrj(I^;s5^$GNon=3=C|bKxJkK-X^p`c23uQ1_lNOPgg&e IbxsLQ0Hap0OaK4? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mold/fired/rod_mold_overlay.png b/kubejs/assets/tfg/textures/item/mold/fired/rod_mold_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..c37e7324a34e252dce0646ddc13dcbcd74ae5f6a GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s70z6$DLn;{GOmyU95a3}s z{r|sD_?#tIMLDPEned%)37dL)iNh0L_S|E?Hhf@BU=-v1R=TZ;qwS2S!3OPw#NYy^ z*-USY?(7#KWV{an^L HB{Ts5d=oX* literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mold/fired/small_gear_mold_empty.png b/kubejs/assets/tfg/textures/item/mold/fired/small_gear_mold_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..5ced2a7fc492fdf8965ea0e38ec58ee8a34ff05f GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7i#=T&Ln;`TOxWw?>?qLM zAATjqM`Z1hLmWz6jEV`W8RFT3Icr$BrQ;7Q57H6M$zfh3z}wYwM1IN&&7PRa3Lop3 zrPmo6wsNQ6oICgP**6uxp1tPcU3dGD^A2xahbulxw{AvVKNWOKsBur|{w>>ft+@1e^Q*6IM|mHd*^+j# z;P4#V{afnA=dY?-&z4p;_4Ly&r-b>(U1pl4v58i#O--8f)A;TM#xyN!o?L#s+2rRn+{97$paR@^$xb0oQVf=0*xMSi)D3ym1W z6*xE!b##2Z=X;-lf#Lsup)3YF1_lN;Q1CM|-1sQHq51OcmkbOH44$rjF6*2UngC)J Bzv2J@ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mold/fired/small_gear_mold_overlay.png b/kubejs/assets/tfg/textures/item/mold/fired/small_gear_mold_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..c07e67ea5f028b2293a0063b78f729aa9573e4f5 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_lN^W`f!{U2* yvE*t-gQG7@^co(?=X7;`GB$HK@hp*rA$X(llP87D_Zb)%7(8A5T-G@yGywo#7A!ab literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/mold/unfired/unfired_nugget_mold.png b/kubejs/assets/tfg/textures/item/mold/unfired/unfired_nugget_mold.png new file mode 100644 index 0000000000000000000000000000000000000000..6c2b4a1b035ccfb09968a6c9f88bfdbe1734eb68 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7tPZ!4!i{7o1>^+zQWscjc^A(-g&AgnAbK>nK&9h3iS;F1J+uI6y+SJ6u1*5VG zGC8txJSTVvG|TV^y7+u*Q=2XwvwrFKFF&7et9$(Z-t*%7_kY{|c)zNAnd4q#-fy+$ zhaNo3kmI>+%P{F3C&Sd7sN`>4vldr=_-e?M@bdSn{hGHlCwzGOwe{81)x2+gl%58h zT-KW*@g^mPp(T}BBXQ@g1jE@Av_+aHB0Z$F)-ogj zl3F}RU+d-T!*iP$l`g3fom zPsEu`-@C-)!QGSZ&iy{~X3j*``eH`&)}W3{ugKHch6*s*la5Je%(3Ni=2;mP8_`GX~9@`@=GWZ+|NZga zdsnrJ!S4ZlpLp3H2MUNiTV{T_1qhbOgP|D11-mAY=f++A*~_u_2Ltk@8aG-?a8N? z$!-w%^RM*ypWC7HyoB~GIJCSql5u(;w~5#DJ7#%u2R^)4_C4#mHhiKa!yV=N<5RD0 z*ioh*!I8t+pu6jo{G;j2wTbNuqEo`{B_8l+ww+{e5_`eQz`(%Z>FVdQ&MBb@02sy6 AHvj+t literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 850c48c2f..9c9a8d58d 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -517,6 +517,11 @@ function registerTFCMaterialsRecipes(event) { event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['draw_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_rod`) + + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(rodItem.withCount(1), 'tfg:rod_mold', Fluid.of(outputMaterial.getFluid(), 72), 0.05) + .id(`tfc:casting/${material.getName()}_rod`) + } // Long Rods let longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1) @@ -623,6 +628,11 @@ function registerTFCMaterialsRecipes(event) { event.recipes.tfc.anvil(nuggetItem, ingotItem, ['punch_last', 'hit_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_nugget`) + + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(nuggetItem.withCount(4), 'tfg:nugget_mold', Fluid.of(outputMaterial.getFluid(), 64), 0.05) + .id(`tfc:casting/${material.getName()}_nugget`) + } } } @@ -636,10 +646,13 @@ function registerTFCMaterialsRecipes(event) { .id(`tfc:heating/small_${material.getName()}_gear`) } - if (material.hasFlag(MaterialFlags.GENERATE_SMALL_GEAR)) { - event.recipes.tfc.anvil(`gtceu:small_${material.getName()}_gear`, `#forge:ingots/${material.getName()}`, ['hit_last', 'shrink_second_last', 'draw_third_last']) + event.recipes.tfc.anvil(`gtceu:small_${material.getName()}_gear`, `#forge:ingots/${material.getName()}`, ['hit_last', 'shrink_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/small_${material.getName()}_gear`) + + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + event.recipes.tfc.casting(smallGearItem.withCount(1), 'tfg:small_gear_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.05) + .id(`tfc:casting/small_${material.getName()}_gear`) } } diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index d8c290270..6608c3ef1 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -50,6 +50,10 @@ function registerTFGHeatData(event) { event.itemHeat('tfg:food/brioche_bun', 1.0, null, null); event.itemHeat('tfg:food/raw_burger_patty', 1.0, null, null); event.itemHeat('tfg:food/cooked_burger_patty', 1.0, null, null); + + event.itemHeat('tfg:unfired_rod_mold', 1.0, null, null); + event.itemHeat('tfg:unfired_small_gear_mold', 1.0, null, null); + event.itemHeat('tfg:unfired_nugget_mold', 1.0, null, null); } //#endregion @@ -312,6 +316,20 @@ function registerTFGItemSize(event) { event.itemSize('#forge:tools/wrenches', 'very_large', 'very_heavy', 'wrenches') event.itemSize('#forge:tools/mining_hammers', 'very_large', 'very_heavy', 'mining_hammers') event.itemSize('#forge:tools/spades', 'very_large', 'very_heavy', 'spades') + + event.itemSize( + orArray([ + "tfg:unfired_rod_mold", + "tfg:unfired_small_gear_mold", + "tfg:unfired_nugget_mold", + "tfg:rod_mold", + "tfg:small_gear_mold", + "tfg:nugget_mold" + ]), + "normal", + "medium", + "Molds" + ) } //#endregion diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 53ffe00e6..9c949dccc 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -158,4 +158,12 @@ function registerTFGClayRecipes(event) { .adjacentFluids(["tfc:salt_water", "tfc:spring_water"]) .duration(50) .EUt(GTValues.VA[GTValues.LV]) + + // heating + event.recipes.tfc.heating('tfg:unfired_rod_mold', 1399) + .resultItem('tfg:rod_mold') + event.recipes.tfc.heating('tfg:unfired_small_gear_mold', 1399) + .resultItem('tfg:small_gear_mold') + event.recipes.tfc.heating('tfg:unfired_nugget_mold', 1399) + .resultItem('tfg:nugget_mold') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.knapping.js b/kubejs/server_scripts/tfg/primitive/recipes.knapping.js index 8c9113e82..93da6cee1 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.knapping.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.knapping.js @@ -212,7 +212,6 @@ function registerTFGKnappingRecipes(event) { "XXX", "XXX", "XXX" - ]) .ingredient('tfc:straw') .outsideSlotRequired(false) @@ -223,10 +222,40 @@ function registerTFGKnappingRecipes(event) { event.recipes.tfc.knapping('tfcambiental:straw_hat', 'tfg:straw', [ " XXX ", "XXXXX" - ]) .ingredient('tfc:straw') .outsideSlotRequired(false) .id('sns:straw_knapping/straw_hat') + + // Molds + event.recipes.tfc.knapping('tfg:unfired_rod_mold', 'tfc:fire_clay', [ + "XXXXX", + "XXX X", + "XX XX", + "X XXX", + "XXXXX" + ]) + .ingredient('5x tfc:fire_clay') + .id('tfg:fire_clay_knapping/unfired_rod_mold') + + event.recipes.tfc.knapping('tfg:unfired_small_gear_mold', 'tfc:fire_clay', [ + "XX XX", + "X X", + " X ", + "X X", + "XX XX" + ]) + .ingredient('5x tfc:fire_clay') + .id('tfg:fire_clay_knapping/unfired_small_gear_mold') + + event.recipes.tfc.knapping('tfg:unfired_nugget_mold', 'tfc:clay', [ + "XXXXX", + "X X X", + "XXXXX", + "X X X", + "XXXXX" + ]) + .ingredient('5x minecraft:clay_ball') + .id('tfg:fire_clay_knapping/unfired_nugget_mold') -} \ No newline at end of file +} diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index f31a4a31c..50476a695 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -188,13 +188,30 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Hematite.addFlags(GENERATE_DUSTY_ORES); //#endregion - + // + // /* Castable stuff */ + GTMaterials.Copper.addFlags(CAN_BE_UNMOLDED); + GTMaterials.BismuthBronze.addFlags(CAN_BE_UNMOLDED); + GTMaterials.BlackBronze.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Bronze.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Tin.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Bismuth.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Zinc.addFlags(CAN_BE_UNMOLDED); + GTMaterials.SterlingSilver.addFlags(CAN_BE_UNMOLDED); + GTMaterials.RoseGold.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Silver.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Gold.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Nickel.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Brass.addFlags(CAN_BE_UNMOLDED); + GTMaterials.RedAlloy.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Lead.addFlags(CAN_BE_UNMOLDED); + GTMaterials.Potin.addFlags(CAN_BE_UNMOLDED); // // /* Имеют инструменты, броню TFC, двойные слитки */ - GTMaterials.Copper.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); - GTMaterials.BismuthBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); - GTMaterials.Bronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); - GTMaterials.BlackBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY, CAN_BE_UNMOLDED); + GTMaterials.Copper.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BismuthBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.Bronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); + GTMaterials.BlackBronze.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); GTMaterials.WroughtIron.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); GTMaterials.Steel.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); GTMaterials.BlackSteel.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_ROTOR, HAS_TFC_TOOL, HAS_TFC_ARMOR, HAS_TFC_UTILITY); @@ -219,11 +236,11 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Silver.addFlags(HAS_SMALL_NATIVE_TFC_ORE); // // /* Имеют двойные слитки */ - GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_SMALL_GEAR, CAN_BE_UNMOLDED); + GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_SMALL_GEAR); GTMaterials.TinAlloy.addFlags(GENERATE_DOUBLE_INGOTS); GTMaterials.Lead.addFlags(GENERATE_DOUBLE_INGOTS); GTMaterials.Invar.addFlags(GENERATE_DOUBLE_INGOTS, HAS_GT_TOOL); - GTMaterials.Potin.addFlags(GENERATE_DOUBLE_INGOTS, CAN_BE_UNMOLDED); + GTMaterials.Potin.addFlags(GENERATE_DOUBLE_INGOTS, ); GTMaterials.Cobalt.addFlags(GENERATE_DOUBLE_INGOTS); GTMaterials.CobaltBrass.addFlags(GENERATE_DOUBLE_INGOTS, HAS_GT_TOOL); // diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 7e4034245..cba6d17fe 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -803,7 +803,11 @@ global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "firmalife:oven_top", output: "firmalife:cured_oven_top", name: "oven_top" }, { input: "firmalife:oven_chimney", output: "firmalife:cured_oven_chimney", name: "oven_chimney" }, { input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" }, - { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" } + { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, + { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, + { input: "tfg:unfired_rod_mold", output: "tfg:rod_mold", name: "rod_mold" }, + { input: "tfg:unfired_small_gear_mold", output: "tfg:small_gear_mold", name: "small_gear_mold" }, + { input: "tfg:unfired_nugget_mold", output: "tfg:nugget_mold", name: "nugget_mold" } ]); global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -835,14 +839,17 @@ global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x minecraft:clay_ball", output: "10x rnr:unfired_roof_tile", name: "roof_tile" }, { input: "5x minecraft:clay_ball", output: "firmalife:oven_top", name: "oven_top" }, { input: "5x minecraft:clay_ball", output: "firmalife:oven_chimney", name: "oven_chimney" }, - { input: "5x minecraft:clay_ball", output: "firmalife:oven_bottom", name: "oven_bottom" } + { input: "5x minecraft:clay_ball", output: "firmalife:oven_bottom", name: "oven_bottom" }, + { input: "5x minecraft:clay_ball", output: "tfg:unfired_nugget_mold", name: "nugget_mold" } ]); global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_fire_ingot_mold", name: "fire_ingot_mold" }, { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" }, { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_channel", name: "channel" }, - { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_mold_table", name: "mold_table" } + { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_mold_table", name: "mold_table" }, + { input: "5x tfc:fire_clay", output: "tfg:unfired_rod_mold", name: "rod_mold" }, + { input: "5x tfc:fire_clay", output: "tfg:unfired_small_gear_mold", name: "small_gear_mold" } ]); global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = /** @type {const} */ ([ @@ -1181,4 +1188,4 @@ global.TFC_EQUIPMENT_METALS = /** @type {const} */ ([ 'tfc:volcanic_mountains', 'tfc:volcanic_oceanic_mountain_lake', 'tfc:volcanic_oceanic_mountains' - ]) \ No newline at end of file + ]) diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js index 35b0a78d1..edf9039a2 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -136,4 +136,96 @@ function registerTFGPrimitiveItems(event) { event.create('tfg:bundled_scraped_flax') .tag('tfc:scrapable') .texture('tfg:item/bundled_scraped_flax') -} \ No newline at end of file + + // Molds + event.create('tfg:rod_mold', 'tfc:mold') + .capacity(72) + .texture("base", "tfg:item/mold/fired/rod_mold_empty") + .texture("fluid", "tfg:item/mold/fired/rod_mold_overlay") + .tag('tfc:fired_molds') + .tag('tfc:molds') + .tfcccAllowedInMoldTable([ + "XXXXXXXXXXXXXX", + "XXXXXXXXXXXXXX", + "XXXXXXXXXX XX", + "XXXXXXXXX XX", + "XXXXXXXX XXX", + "XXXXXXX XXXX", + "XXXXXX XXXXX", + "XXXXX XXXXXX", + "XXXX XXXXXXX", + "XXX XXXXXXXX", + "XX XXXXXXXXX", + "XX XXXXXXXXXX", + "XXXXXXXXXXXXXX", + "XXXXXXXXXXXXXX" + ]) + + event.create('tfg:small_gear_mold', 'tfc:mold') + .capacity(288) + .texture("base", "tfg:item/mold/fired/small_gear_mold_empty") + .texture("fluid", "tfg:item/mold/fired/small_gear_mold_overlay") + .tag('tfc:fired_molds') + .tag('tfc:molds') + .tfcccAllowedInMoldTable([ + "XXXXXXXXXXXXXX", + "XXXXXXX XXXX", + "XX X XXXX", + "XX XXXX", + "XX X", + "XXX X", + "XX XX X", + "X XX XX", + "X XXX", + "X XX", + "XXXX XX", + "XXX X XX", + "XXX XXXXXXXX", + "XXXXXXXXXXXXXX" + ]) + + event.create('tfg:nugget_mold', 'tfc:mold') + .capacity(64) + .texture("base", "tfg:item/mold/fired/nugget_mold_empty") + .texture("fluid", "tfg:item/mold/fired/nugget_mold_overlay") + .tag('tfc:fired_molds') + .tag('tfc:molds') + .tfcccAllowedInMoldTable([ + "XXXXXXXXXXXXXX", + "XXXXXXXXXXXXXX", + "XXX XXXXX XXX", + "XX XXX XX", + "XX XX XX", + "XXX XXXXX XXX", + "XXXXXXXXXXXXXX", + "XXXXXXXXXXXXXX", + "XXX XXXX XXX", + "XX XXX XX", + "XX XXX XX", + "XXX XXXXX XXX", + "XXXXXXXXXXXXXX", + "XXXXXXXXXXXXXX" + ]) + + // Unfired Molds + event.create('tfg:unfired_rod_mold') + .texture("tfg:item/mold/unfired/unfired_rod_mold") + .tag('tfc:unfired_molds') + .tag('tfc:fire_clay_recycle_5') + .tag('tfc:molds') + .tag('tfc:unfired_pottery') + + event.create('tfg:unfired_small_gear_mold') + .texture("tfg:item/mold/unfired/unfired_small_gear_mold") + .tag('tfc:unfired_molds') + .tag('tfc:fire_clay_recycle_5') + .tag('tfc:molds') + .tag('tfc:unfired_pottery') + + event.create('tfg:unfired_nugget_mold') + .texture("tfg:item/mold/unfired/unfired_nugget_mold") + .tag('tfc:unfired_molds') + .tag('tfc:clay_recycle_5') + .tag('tfc:molds') + .tag('tfc:unfired_pottery') +} From d5da69f79b97cbf67742c4c87eb933bb0bd1a353 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 21:31:47 +0000 Subject: [PATCH 405/628] fire clay textures for new molds --- .../textures/item/mold/fired/rod_mold_empty.png | Bin 404 -> 391 bytes .../item/mold/fired/small_gear_mold_empty.png | Bin 446 -> 476 bytes .../item/mold/unfired/unfired_rod_mold.png | Bin 403 -> 390 bytes .../mold/unfired/unfired_small_gear_mold.png | Bin 499 -> 461 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/kubejs/assets/tfg/textures/item/mold/fired/rod_mold_empty.png b/kubejs/assets/tfg/textures/item/mold/fired/rod_mold_empty.png index 51ac00090e7060e199383ce3c1efd52d1d4137ef..659f25f1a6d1b8141abe8803d411997c6939bbe5 100644 GIT binary patch delta 365 zcmbQj+|E2fxt@Wuz$3Dlfq`2Xgc%uT&5>YWV6^mfaSXBO-Fj)iH&dca!^h{RKCJoh zWL>uAoszB#ZPVJ8HMOY~PClUOvB>p2f&2dV8g~G)W-Mh2% z%hv1eeLemB=Y9I`x&QB#+Uj*-MQGECoy!h=zn6)b z@oCSTu;F?U!;GKWb~^96ZvOrty5IO0pU>gt?y82LqxkC5j~w4{{%&&kWsvRf_xL{e zS|SwNU%X+zY$s#d)_G~w8#87w=%|!%&Y#k4^ILynM9jk1)sJ?XZQgcc=S!2R5(;by zYnQpEfK?`6yoYASi>rRus3@9z6SrL z9opP^B`>#WG>N?C&)Rxduq!kNErbYmP8=oiT3Iw~l^o#q{9U=iOUw z|F=D0@HxwJOWNg~7c)FR?>2t6F>u@2GZzjP<*tj-I-8ZAwEMPn)68?neC}9V?%q-O}%%(Ax7Y|)61E$#_6mD3{4FRJslE1ZAuv#82W4R zzc$R*?)L2Ozir+>|9hxjJx8+ahS8h*@0M15ICyN8Z2#R)^>fZ#u)n~6plN61!9Q98 z1_z3bm>c4QGxKs+3tSbMa`@UgJBBok0M#f1^QBsjm2cnf6)u_2-r!>P{)`T*`p0ao zaupO- zx@yfneD-;H^QT)%ueIyho=+@hkeheug&lvI#(_)~FRj^!Ph0Q4*m6Z+8xQ-p>{Y>$ zI)QH-1D|L~ILwm0_;%sLz(2FPwr=)MkN#YKH)meZ!WVOv1_}Cp4LiWF?qJ#bS*yRC zyY_IVG0z2+-6!jBNE8P@i3{=&3N>(GZn$^Vw_wfmk8-_7XL8ETyTqV#-rwf>npinb zhZ<&uLiuvN$@xonZBP~vYFPL%FfYll!TurFLH~&!wh|AxBhFlNzG?PRgMop8!PC{x JWt~$(69C13%oqRw delta 421 zcmcb^ypMT;ay?_Qr;B4q1>=$ld%c_;1zP*Vuf+I>tUYpwLy3z~F+nv$JXqgyIPLOPg$Ya6Ej)iV;!^fIzz)&?(~~;=YBr>rsCK0SDZKQoiPdA zZdK3pt;~GZdVSHU@8nonwl?o#GKh~AkNWA*!07mHp|V1jokjhrS3gXaC*HsAE)ZeP z$MQt{z)a6$HgfO9AMtQ}WK-!euVux`C-r=q5aK%UI*3GEv zr-E(?HSP)Bzh&F56_@^Qe)YBODDQ(aThcBT9G+vle@ngi{8d%!+0x3Uo_^ZplraCe z%S^L0HqolJsY!Ew8sELZm{zZ4ZT$Y;zlWWn2hZG3pPYQ8v~1$`m&M0@Hr(|&v+uyc znXk9Dv9+`Lob22YRBS9I>8tVVxX9WbcF70ED>OIHx%B1Al1tp5cWH*PbQCY&W@uH( zqcmNggCj}oz=~U^d5$C(PtfT2zsN85aiI}|xB>^qp^lD^_k8a&Ffjc8FOYWV6^abaSXBO-FoSu7gM0fv5)^PjCJ$G zrfiWdn#!$M)yARJBzL%%|G}lFHVp!LO>v4mF}G_j8&~Izx3hk*R@r3HI7~<9|khiJM0XKGVWxRdhMafSSK3E zJ!!+abN|eCHp@KqI$4-&@rtJ-UFiPzi9wfgOkaGNXQ4Oe!Ed{dKA%=jOL5)y>gI|f^1vj%M@PC>!Kla15dh^>ZhwT{Rgsx3C-zd;@P{YW1@BRmQyVLKjQ{Ugme#icf zrJwGa)gLp?)CkQEyPcBSd-W4L^A5?UVddMut=Vz=-NpzVAwvhZ^~*L}RhH&To0&)K zty0vOWzMY_WLWdxWBT&&RRSWsmn8ibhvaaTblzilpgeC)?CrMeTxQ)RmkbVwvz&gq VQ0-lAGXnzygQu&X%Q~loCIAprqSF8X delta 377 zcmZo;p3FQ!xt`I()5S5Qf^o@2TW@AZfwtpsdDJpelNB>k)x(m3W1J z3~P0BSfe+JHbr#EvuqJ4R%vwT5;##_zBBzqoZ0lfOFSOjJ^Ak3?=x@aOk}MuW;AaN z>bUgk49lJWVTav5s9$~0&)76+K?uXMOTYV{r58oE{&0wE$Zo5@kiC^tOQ9rn_e`dU z&8C9y*PUa%$oYup#KDW67K{aFRf2+gZ-(Byc{f>m#!umzeL^a1DrZ&h#m)0nGs@4) zKbiP1`0MdySz-vV^Q`pqvs*Vd{VQY z-LZ*@*O<#&boS&aPvf6$tVLg~eVh2Yw>=NN_9P>a;n~xvTQjtsLXQMrx^?Zy#UzO% z*H3R|*tqJyIP1@QHlL0^$j!6@&j4j{~EjP z4{W?BpU}~KK_a)-!Nh{abwz?Xhe;`yspq=HMdr(Im)zg8z2tSyd&}pQ7SH#5xG&hP z_9en(A^$4x!w*vaxSUV-VyFsz8=8;H4 z^IqrR{x{P&-JLG!H;Ts1ix=IxJn5XuX{}6|`nNT;<(vu+3a?At?NhtADcUV}1%rK4 z-Hi+$mcJQm<-Gg^Cwcv>ryVO`L3p@zH5Zuh69Kl3?zPEh^pb}RGk z*O}M~tma&K70TExy=AuS#@!pW8}d_`?|+kuTCMK(zTMaT&dociNw-?xOzTwdXPt9? z%8I?=N6%f$pU%+KSX+B>bBb1lxXq(m%?XMIDhzEaKKwfKOAPiD4BubKPGeh)eQ!;{*tf6h0^N?o^K z?k>00@on16)+T<}+gCqlK}*P@)7l~3Ry%W~8ZPfWzpgQ5pVEW$#mPxemR&5nbMRg1 zA%^C)^X>2L=kc{TZ74!E$_`Thmv0F51*~w|s1QIt_vO821&3f^P z%Xe{ap!Vd`%VakQ{P|aU{Lk&sd0s;M793jM8p$}lkK4rS`5m)7xdR{GE8F^>bzK`i zQIg?~a{ckCS2ye^(~scD;cU>|bxQuxbmrQ`_65-?;r0>__%qv1vNwsnU}a!nVDNPH Kb6Mw<&;$SrRL$xD From 44466752e4c4125a7f0351a9420d3a6ba32880d2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 21:31:58 +0000 Subject: [PATCH 406/628] some tidying --- kubejs/server_scripts/tfc/recipes.js | 36 ++- kubejs/server_scripts/tfc/tags.js | 10 +- .../ores_and_materials/recipes.quartzes.js | 9 +- .../tfg/primitive/recipes.clay.js | 64 +++++- .../tfg/primitive/recipes.vases.js | 4 +- kubejs/startup_scripts/tfc/constants.js | 206 +----------------- 6 files changed, 109 insertions(+), 220 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index c67e8352b..090c48f99 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -13,7 +13,41 @@ const registerTFCRecipes = (event) => { registerTFCDyeRecipes(event) // Добавление рецептов - global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { + TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "#forge:dusts/coke", output: "4x tfc:powder/coke", name: "coke_powder" }, + { input: "#forge:dusts/amethyst", output: "4x tfc:powder/amethyst", name: "amethyst_powder" }, + { input: "#forge:dusts/diamond", output: "4x tfc:powder/diamond", name: "diamond_powder" }, + { input: "#forge:dusts/emerald", output: "4x tfc:powder/emerald", name: "emerald_powder" }, + { input: "#forge:dusts/lapis", output: "4x tfc:powder/lapis_lazuli", name: "lapis_powder" }, + { input: "#forge:dusts/opal", output: "4x tfc:powder/opal", name: "opal_powder" }, + { input: "#forge:dusts/pyrite", output: "4x tfc:powder/pyrite", name: "pyrite_powder" }, + { input: "#forge:dusts/ruby", output: "4x tfc:powder/ruby", name: "ruby_powder" }, + { input: "#forge:dusts/sapphire", output: "4x tfc:powder/sapphire", name: "sapphire_powder" }, + { input: "#forge:dusts/topaz", output: "4x tfc:powder/topaz", name: "topaz_powder" }, + { input: "#forge:dusts/gold", output: "4x tfc:powder/native_gold", name: "gold_powder" }, + { input: "#forge:dusts/silver", output: "4x tfc:powder/native_silver", name: "silver_powder" }, + { input: "#forge:dusts/copper", output: "4x tfc:powder/native_copper", name: "copper_powder" }, + { input: "#forge:dusts/cassiterite", output: "4x tfc:powder/cassiterite", name: "cassiterite_powder" }, + { input: "#forge:dusts/bismuth", output: "4x tfc:powder/bismuthinite", name: "bismuth_powder" }, + { input: "#forge:dusts/garnierite", output: "4x tfc:powder/garnierite", name: "garnierite_powder" }, + { input: "#forge:dusts/nickel", output: "4x tfc:powder/garnierite", name: "nickel_powder" }, + { input: "#forge:dusts/sphalerite", output: "4x tfc:powder/sphalerite", name: "sphalerite_powder" }, + { input: "#forge:dusts/magnetite", output: "4x tfc:powder/magnetite", name: "magnetite_powder" }, + { input: "#forge:dusts/tetrahedrite", output: "4x tfc:powder/tetrahedrite", name: "tetrahedrite_powder" }, + { input: "#forge:dusts/malachite", output: "4x tfc:powder/malachite", name: "malachite_powder" }, + { input: "#forge:dusts/yellow_limonite", output: "4x tfc:powder/limonite", name: "limonite_powder" }, + { input: "#forge:dusts/hematite", output: "4x tfc:powder/hematite", name: "hematite_powder" }, + { input: "#forge:dusts/sulfur", output: "4x tfc:powder/sulfur", name: "sulfur_powder" }, + { input: "#forge:dusts/saltpeter", output: "4x tfc:powder/saltpeter", name: "saltpeter_powder" }, + { input: "#forge:dusts/salt", output: "4x tfc:powder/salt", name: "salt_powder" }, + { input: "#forge:dusts/graphite", output: "4x tfc:powder/graphite", name: "graphite_powder" }, + { input: "#forge:dusts/borax", output: "4x tfc:powder/flux", name: "flux_powder" }, + { input: "#forge:dusts/soda_ash", output: "4x tfc:powder/soda_ash", name: "soda_ash" }, + { input: "gtceu:charcoal_dust", output: "2x tfc:powder/charcoal", name: "charcoal" }, + { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" } + ]); + + TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { event.recipes.gtceu.macerator(`tfg:${element.name}`) .itemInputs(element.input) .itemOutputs(element.output) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index aa2caae27..09fb018dd 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -435,13 +435,9 @@ function registerTFCBlockTags(event) { event.add('tfc:can_be_snow_piled', 'tfc:groundcover/feather'); - event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/granite') - event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/diorite') - event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/gabbro') - event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/rhyolite') - event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/basalt') - event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/andesite') - event.add('minecraft:infiniburn_overworld', 'tfc:rock/magma/dacite') + global.TFC_MAGMA_BLOCKS.forEach(magma => { + event.add('minecraft:infiniburn_overworld', magma) + }) } /** @param {TagEvent.Fluid} event */ 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 876cf4955..7eee857e5 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -31,7 +31,14 @@ function registerTFGQuartzRecipes(event) { .duration(20) .EUt(30) - global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { + TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = /** @type {const} */ ([ + { 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" } + ]); + + TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) .itemInputs(element.input) .notConsumable('gtceu:bottle_casting_mold') diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 9c949dccc..1a307908c 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -14,7 +14,48 @@ function registerTFGClayRecipes(event) { event.shapeless('4x minecraft:clay_ball', ['minecraft:clay']) .id('tfg:shapeless/clay_block_to_balls') - global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { + TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "tfc:ceramic/unfired_ingot_mold", output: "tfc:ceramic/ingot_mold", name: "ingot_mold" }, + { input: "tfc:ceramic/unfired_pickaxe_head_mold", output: "tfc:ceramic/pickaxe_head_mold", name: "pickaxe_head_mold" }, + { input: "tfc:ceramic/unfired_propick_head_mold", output: "tfc:ceramic/propick_head_mold", name: "propick_head_mold" }, + { input: "tfc:ceramic/unfired_axe_head_mold", output: "tfc:ceramic/axe_head_mold", name: "axe_head_mold" }, + { input: "tfc:ceramic/unfired_shovel_head_mold", output: "tfc:ceramic/shovel_head_mold", name: "shovel_head_mold" }, + { input: "tfc:ceramic/unfired_hoe_head_mold", output: "tfc:ceramic/hoe_head_mold", name: "hoe_head_mold" }, + { input: "tfc:ceramic/unfired_chisel_head_mold", output: "tfc:ceramic/chisel_head_mold", name: "chisel_head_mold" }, + { input: "tfc:ceramic/unfired_hammer_head_mold", output: "tfc:ceramic/hammer_head_mold", name: "hammer_head_mold" }, + { input: "tfc:ceramic/unfired_saw_blade_mold", output: "tfc:ceramic/saw_blade_mold", name: "saw_blade_mold" }, + { input: "tfc:ceramic/unfired_javelin_head_mold", output: "tfc:ceramic/javelin_head_mold", name: "javelin_head_mold" }, + { input: "tfc:ceramic/unfired_sword_blade_mold", output: "tfc:ceramic/sword_blade_mold", name: "sword_blade_mold" }, + { input: "tfc:ceramic/unfired_mace_head_mold", output: "tfc:ceramic/mace_head_mold", name: "mace_head_mold" }, + { input: "tfc:ceramic/unfired_knife_blade_mold", output: "tfc:ceramic/knife_blade_mold", name: "knife_blade_mold" }, + { input: "tfc:ceramic/unfired_scythe_blade_mold", output: "tfc:ceramic/scythe_blade_mold", name: "scythe_blade_mold" }, + { input: "tfc:ceramic/unfired_bell_mold", output: "tfc:ceramic/bell_mold", name: "bell_mold" }, + { input: "tfc:ceramic/unfired_fire_ingot_mold", output: "tfc:ceramic/fire_ingot_mold", name: "fire_ingot_mold" }, + { input: "tfc:ceramic/unfired_brick", output: "minecraft:brick", name: "brick" }, + { input: "tfc:ceramic/unfired_crucible", output: "tfc:crucible", name: "crucible" }, + { input: "tfc:ceramic/unfired_flower_pot", output: "minecraft:flower_pot", name: "flower_pot" }, + { input: "tfc:ceramic/unfired_pan", output: "tfc:pan/empty", name: "pan" }, + { input: "tfc:ceramic/unfired_blowpipe", output: "tfc:ceramic_blowpipe", name: "ceramic_blowpipe" }, + { input: "tfc:ceramic/unfired_bowl", output: "tfc:ceramic/bowl", name: "bowl" }, + { input: "tfc:ceramic/unfired_fire_brick", output: "tfc:ceramic/fire_brick", name: "fire_brick" }, + { input: "tfc:ceramic/unfired_jug", output: "tfc:ceramic/jug", name: "jug" }, + { input: "tfc:ceramic/unfired_pot", output: "tfc:ceramic/pot", name: "pot" }, + { 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: "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" }, + { input: "firmalife:oven_chimney", output: "firmalife:cured_oven_chimney", name: "oven_chimney" }, + { input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" }, + { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, + { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, + { input: "tfg:unfired_rod_mold", output: "tfg:rod_mold", name: "rod_mold" }, + { input: "tfg:unfired_small_gear_mold", output: "tfg:small_gear_mold", name: "small_gear_mold" }, + { input: "tfg:unfired_nugget_mold", output: "tfg:nugget_mold", name: "nugget_mold" } + ]); + + TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { event.smelting(element.output, element.input) .id(`tfg:smelting/${element.name}`) }) @@ -27,8 +68,17 @@ function registerTFGClayRecipes(event) { .id(`tfg:smelting/${dye}_large_vessel`) }) - for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { - let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; + TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "5x minecraft:clay_ball", output: "2x tfc:ceramic/unfired_flower_pot", name: "flower_pot" }, + { input: "5x minecraft:clay_ball", output: "4x tfc:ceramic/unfired_bowl", name: "bowl" }, + { input: "5x minecraft:clay_ball", output: "10x rnr:unfired_roof_tile", name: "roof_tile" }, + { input: "5x minecraft:clay_ball", output: "firmalife:oven_top", name: "oven_top" }, + { input: "5x minecraft:clay_ball", output: "firmalife:oven_chimney", name: "oven_chimney" }, + { input: "5x minecraft:clay_ball", output: "firmalife:oven_bottom", name: "oven_bottom" } + ]); + + for (let i = 0; i < TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { + let element = TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) .itemInputs(element.input) @@ -38,8 +88,12 @@ function registerTFGClayRecipes(event) { .EUt(2) } - for (let i = 0; i < global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { - let element = global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; + TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" } + ]); + + for (let i = 0; i < TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { + let element = TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) .itemInputs(element.input) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.vases.js b/kubejs/server_scripts/tfg/primitive/recipes.vases.js index ac6355a85..a24bd5cb9 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.vases.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.vases.js @@ -54,6 +54,8 @@ function registerTFGVaseRecipes(event) { 'X X', 'XXXXX' ] - ).outsideSlotRequired(false) + ) + .ingredient('5x minecraft:clay_ball') + .outsideSlotRequired(false) .id('tfg:knapping/decorative_vase/unfired') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index cba6d17fe..24c389857 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -679,41 +679,6 @@ global.TFC_SOFTWOOD_TYPES = /** @type {const} */ ([ global.TFC_MUD_TYPES = /** @type {const} */ (["silt", "loam", "sandy_loam", "silty_loam"]); -global.TFC_WOOD_ITEM_TYPES_TO_WOOD_DUST = /** @type {const} */ ({ - "#tfc:lumber": { name: "lumber", output: ["1x gtceu:wood_dust"] }, - "#tfc:support_beams": { name: "support_beams", output: ["2x gtceu:wood_dust"] }, - "#tfc:minecarts": { name: "minecarts", output: ["5x gtceu:wood_dust", "1x gtceu:small_wrought_iron_dust"] }, - "#minecraft:signs": { name: "signs", output: ["1x gtceu:wood_dust"] }, - "#minecraft:hanging_signs": { name: "hanging_signs", output: ["1x gtceu:wood_dust"] }, - "#minecraft:logs": { name: "logs", output: ["6x gtceu:wood_dust"] }, - "#minecraft:planks": { name: "planks", output: ["1x gtceu:wood_dust"] }, - "#tfc:bookshelves": { name: "bookshelves", output: ["6x gtceu:wood_dust"] }, - "#minecraft:wooden_doors": { name: "wooden_doors", output: ["2x gtceu:wood_dust"] }, - "#minecraft:wooden_trapdoors": { name: "wooden_trapdoors", output: ["2x gtceu:wood_dust"] }, - "#minecraft:wooden_fences": { name: "wooden_fences", output: ["1x gtceu:wood_dust"] }, - "#forge:fence_gates/wooden": { name: "wooden_fence_gates", output: ["1x gtceu:wood_dust"] }, - "#minecraft:wooden_buttons": { name: "wooden_buttons", output: ["1x gtceu:wood_dust"] }, - "#minecraft:wooden_pressure_plates": { name: "wooden_pressure_plates", output: ["1x gtceu:wood_dust"] }, - "#minecraft:wooden_slabs": { name: "wooden_slabs", output: ["2x gtceu:wood_dust"] }, - "#minecraft:wooden_stairs": { name: "wooden_stairs", output: ["2x gtceu:wood_dust"] }, - "#tfc:tool_racks": { name: "tool_racks", output: ["1x gtceu:wood_dust"] }, - "#tfc:twigs": { name: "twigs", output: ["1x gtceu:wood_dust"] }, - "#tfc:workbenches": { name: "workbenches", output: ["1x gtceu:wood_dust"] }, - "#forge:chests/wooden": { name: "wooden_chests", output: ["8x gtceu:wood_dust"] }, - "#tfc:looms": { name: "looms", output: ["2x gtceu:wood_dust"] }, - "#tfc:sluices": { name: "sluices", output: ["4x gtceu:wood_dust"] }, - "#tfc:barrels": { name: "barrels", output: ["2x gtceu:wood_dust"] }, - "#tfc:lecterns": { name: "lecterns", output: ["4x gtceu:wood_dust"] }, - "#tfc:scribing_tables": { name: "scribing_tables", output: ["1x gtceu:wood_dust"] }, - "#tfc:jar_shelves": { name: "jar_shelves", output: ["1x gtceu:wood_dust"] }, - "#tfcastikorcarts:cart_wheel": { name: "", output: ["1x gtceu:wood_dust"] }, - "#tfcastikorcarts:plow": { name: "plow", output: ["2x gtceu:wood_dust"] }, - "#tfcastikorcarts:animal_cart": { name: "animal_cart", output: ["2x gtceu:wood_dust"] }, - "#tfcastikorcarts:supply_cart": { name: "supply_cart", output: ["2x gtceu:wood_dust"] }, - "#firmalife:food_shelves": { name: "food_shelves", output: ["2x gtceu:wood_dust"] }, - "#firmalife:hangers": { name: "hangers", output: ["1x gtceu:wood_dust"] } -}); - /** * Хранит названия типов полублоков из камня в TFC. (Не кирпичей) */ @@ -729,136 +694,6 @@ global.TFC_BRICK_SLAB_BLOCK_TYPES = /** @type {const} */ (["bricks", "mossy_bric */ global.SAND_COLORS = /** @type {const} */ (["brown", "white", "black", "red", "yellow", "green", "pink"]); -global.TFC_SIMPLE_MATERIALS = /** @type {const} */ ([ - "gypsum", - "cinnabar", - "cryolite", - "saltpeter", - "sylvite", - "borax", - "halite", - "amethyst", - "opal", - "pyrite", - "topaz", - "bituminous_coal", - "lignite", - "graphite", - "sulfur", - "diamond", - "emerald", - "lapis_lazuli", - "ruby", - "sapphire" -]); - -global.TFC_ORE_TYPES = /** @type {const} */ (["poor", "normal", "rich"]); - -global.TFC_ORE_MATERIALS = /** @type {const} */ ([ - "bismuthinite", - "cassiterite", - "garnierite", - "hematite", - "limonite", - "magnetite", - "malachite", - "native_copper", - "native_gold", - "native_silver", - "sphalerite", - "tetrahedrite" -]); - -global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "tfc:ceramic/unfired_ingot_mold", output: "tfc:ceramic/ingot_mold", name: "ingot_mold" }, - { input: "tfc:ceramic/unfired_pickaxe_head_mold", output: "tfc:ceramic/pickaxe_head_mold", name: "pickaxe_head_mold" }, - { input: "tfc:ceramic/unfired_propick_head_mold", output: "tfc:ceramic/propick_head_mold", name: "propick_head_mold" }, - { input: "tfc:ceramic/unfired_axe_head_mold", output: "tfc:ceramic/axe_head_mold", name: "axe_head_mold" }, - { input: "tfc:ceramic/unfired_shovel_head_mold", output: "tfc:ceramic/shovel_head_mold", name: "shovel_head_mold" }, - { input: "tfc:ceramic/unfired_hoe_head_mold", output: "tfc:ceramic/hoe_head_mold", name: "hoe_head_mold" }, - { input: "tfc:ceramic/unfired_chisel_head_mold", output: "tfc:ceramic/chisel_head_mold", name: "chisel_head_mold" }, - { input: "tfc:ceramic/unfired_hammer_head_mold", output: "tfc:ceramic/hammer_head_mold", name: "hammer_head_mold" }, - { input: "tfc:ceramic/unfired_saw_blade_mold", output: "tfc:ceramic/saw_blade_mold", name: "saw_blade_mold" }, - { input: "tfc:ceramic/unfired_javelin_head_mold", output: "tfc:ceramic/javelin_head_mold", name: "javelin_head_mold" }, - { input: "tfc:ceramic/unfired_sword_blade_mold", output: "tfc:ceramic/sword_blade_mold", name: "sword_blade_mold" }, - { input: "tfc:ceramic/unfired_mace_head_mold", output: "tfc:ceramic/mace_head_mold", name: "mace_head_mold" }, - { input: "tfc:ceramic/unfired_knife_blade_mold", output: "tfc:ceramic/knife_blade_mold", name: "knife_blade_mold" }, - { input: "tfc:ceramic/unfired_scythe_blade_mold", output: "tfc:ceramic/scythe_blade_mold", name: "scythe_blade_mold" }, - { input: "tfc:ceramic/unfired_bell_mold", output: "tfc:ceramic/bell_mold", name: "bell_mold" }, - { input: "tfc:ceramic/unfired_fire_ingot_mold", output: "tfc:ceramic/fire_ingot_mold", name: "fire_ingot_mold" }, - { input: "tfc:ceramic/unfired_brick", output: "minecraft:brick", name: "brick" }, - { input: "tfc:ceramic/unfired_crucible", output: "tfc:crucible", name: "crucible" }, - { input: "tfc:ceramic/unfired_flower_pot", output: "minecraft:flower_pot", name: "flower_pot" }, - { input: "tfc:ceramic/unfired_pan", output: "tfc:pan/empty", name: "pan" }, - { input: "tfc:ceramic/unfired_blowpipe", output: "tfc:ceramic_blowpipe", name: "ceramic_blowpipe" }, - { input: "tfc:ceramic/unfired_bowl", output: "tfc:ceramic/bowl", name: "bowl" }, - { input: "tfc:ceramic/unfired_fire_brick", output: "tfc:ceramic/fire_brick", name: "fire_brick" }, - { input: "tfc:ceramic/unfired_jug", output: "tfc:ceramic/jug", name: "jug" }, - { input: "tfc:ceramic/unfired_pot", output: "tfc:ceramic/pot", name: "pot" }, - { 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: "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" }, - { input: "firmalife:oven_chimney", output: "firmalife:cured_oven_chimney", name: "oven_chimney" }, - { input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" }, - { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, - { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, - { input: "tfg:unfired_rod_mold", output: "tfg:rod_mold", name: "rod_mold" }, - { input: "tfg:unfired_small_gear_mold", output: "tfg:small_gear_mold", name: "small_gear_mold" }, - { input: "tfg:unfired_nugget_mold", output: "tfg:nugget_mold", name: "nugget_mold" } -]); - -global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "5x minecraft:clay_ball", output: "2x tfc:ceramic/unfired_ingot_mold", name: "ingot_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_pickaxe_head_mold", name: "pickaxe_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_propick_head_mold", name: "propick_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_axe_head_mold", name: "axe_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_shovel_head_mold", name: "shovel_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_hoe_head_mold", name: "hoe_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_chisel_head_mold", name: "chisel_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_hammer_head_mold", name: "hammer_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_saw_blade_mold", name: "saw_blade_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_javelin_head_mold", name: "javelin_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_sword_blade_mold", name: "sword_blade_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_mace_head_mold", name: "mace_head_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_knife_blade_mold", name: "knife_blade_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_scythe_blade_mold", name: "scythe_blade_mold" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_bell_mold", name: "bell_mold" }, - { input: "5x minecraft:clay_ball", output: "2x tfc:ceramic/unfired_flower_pot", name: "flower_pot" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_pan", name: "pan" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_blowpipe", name: "ceramic_blowpipe" }, - { input: "5x minecraft:clay_ball", output: "4x tfc:ceramic/unfired_bowl", name: "bowl" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_jug", name: "jug" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_pot", name: "pot" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_spindle_head", name: "spindle_head" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_vessel", name: "vessel" }, - { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_large_vessel", name: "large_vessel" }, - { input: "5x minecraft:clay_ball", output: "tfcchannelcasting:unfired_heart_mold", name: "heart_mold" }, - { input: "5x minecraft:clay_ball", output: "10x rnr:unfired_roof_tile", name: "roof_tile" }, - { input: "5x minecraft:clay_ball", output: "firmalife:oven_top", name: "oven_top" }, - { input: "5x minecraft:clay_ball", output: "firmalife:oven_chimney", name: "oven_chimney" }, - { input: "5x minecraft:clay_ball", output: "firmalife:oven_bottom", name: "oven_bottom" }, - { input: "5x minecraft:clay_ball", output: "tfg:unfired_nugget_mold", name: "nugget_mold" } -]); - -global.TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_fire_ingot_mold", name: "fire_ingot_mold" }, - { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" }, - { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_channel", name: "channel" }, - { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_mold_table", name: "mold_table" }, - { input: "5x tfc:fire_clay", output: "tfg:unfired_rod_mold", name: "rod_mold" }, - { input: "5x tfc:fire_clay", output: "tfg:unfired_small_gear_mold", name: "small_gear_mold" } -]); - -global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = /** @type {const} */ ([ - { 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" } -]); - global.TFC_MEAT_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfc:food/horse_meat", output: "tfc:food/cooked_horse_meat", name: "cooked_horse_meat" }, { input: "tfc:food/bear", output: "tfc:food/cooked_bear", name: "cooked_bear" }, @@ -924,40 +759,6 @@ global.TFC_MEAT_RECIPE_COMPONENTS = /** @type {const} */ ([ ]); -global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "#forge:dusts/coke", output: "4x tfc:powder/coke", name: "coke_powder" }, - { input: "#forge:dusts/amethyst", output: "4x tfc:powder/amethyst", name: "amethyst_powder" }, - { input: "#forge:dusts/diamond", output: "4x tfc:powder/diamond", name: "diamond_powder" }, - { input: "#forge:dusts/emerald", output: "4x tfc:powder/emerald", name: "emerald_powder" }, - { input: "#forge:dusts/lapis", output: "4x tfc:powder/lapis_lazuli", name: "lapis_powder" }, - { input: "#forge:dusts/opal", output: "4x tfc:powder/opal", name: "opal_powder" }, - { input: "#forge:dusts/pyrite", output: "4x tfc:powder/pyrite", name: "pyrite_powder" }, - { input: "#forge:dusts/ruby", output: "4x tfc:powder/ruby", name: "ruby_powder" }, - { input: "#forge:dusts/sapphire", output: "4x tfc:powder/sapphire", name: "sapphire_powder" }, - { input: "#forge:dusts/topaz", output: "4x tfc:powder/topaz", name: "topaz_powder" }, - { input: "#forge:dusts/gold", output: "4x tfc:powder/native_gold", name: "gold_powder" }, - { input: "#forge:dusts/silver", output: "4x tfc:powder/native_silver", name: "silver_powder" }, - { input: "#forge:dusts/copper", output: "4x tfc:powder/native_copper", name: "copper_powder" }, - { input: "#forge:dusts/cassiterite", output: "4x tfc:powder/cassiterite", name: "cassiterite_powder" }, - { input: "#forge:dusts/bismuth", output: "4x tfc:powder/bismuthinite", name: "bismuth_powder" }, - { input: "#forge:dusts/garnierite", output: "4x tfc:powder/garnierite", name: "garnierite_powder" }, - { input: "#forge:dusts/nickel", output: "4x tfc:powder/garnierite", name: "nickel_powder" }, - { input: "#forge:dusts/sphalerite", output: "4x tfc:powder/sphalerite", name: "sphalerite_powder" }, - { input: "#forge:dusts/magnetite", output: "4x tfc:powder/magnetite", name: "magnetite_powder" }, - { input: "#forge:dusts/tetrahedrite", output: "4x tfc:powder/tetrahedrite", name: "tetrahedrite_powder" }, - { input: "#forge:dusts/malachite", output: "4x tfc:powder/malachite", name: "malachite_powder" }, - { input: "#forge:dusts/yellow_limonite", output: "4x tfc:powder/limonite", name: "limonite_powder" }, - { input: "#forge:dusts/hematite", output: "4x tfc:powder/hematite", name: "hematite_powder" }, - { input: "#forge:dusts/sulfur", output: "4x tfc:powder/sulfur", name: "sulfur_powder" }, - { input: "#forge:dusts/saltpeter", output: "4x tfc:powder/saltpeter", name: "saltpeter_powder" }, - { input: "#forge:dusts/salt", output: "4x tfc:powder/salt", name: "salt_powder" }, - { input: "#forge:dusts/graphite", output: "4x tfc:powder/graphite", name: "graphite_powder" }, - { input: "#forge:dusts/borax", output: "4x tfc:powder/flux", name: "flux_powder" }, - { input: "#forge:dusts/soda_ash", output: "4x tfc:powder/soda_ash", name: "soda_ash" }, - { input: "gtceu:charcoal_dust", output: "2x tfc:powder/charcoal", name: "charcoal" }, - { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" } -]); - global.TFC_GRAINS = /** @type {const} */ (["barley", "maize", "oat", "rye", "rice", "wheat"]); global.TFC_JAMS = /** @type {const} */ ([ @@ -987,12 +788,7 @@ global.TFC_JAMS = /** @type {const} */ ([ global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfc:plant/cherry_sapling", fluid_amount: 8000, output: "32x tfc:food/cherry", name: "cherry" }, - { - input: "tfc:plant/green_apple_sapling", - fluid_amount: 8000, - output: "32x tfc:food/green_apple", - name: "green_apple" - }, + { input: "tfc:plant/green_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/green_apple", name: "green_apple" }, { input: "tfc:plant/lemon_sapling", fluid_amount: 8000, output: "32x tfc:food/lemon", name: "lemon" }, { input: "tfc:plant/olive_sapling", fluid_amount: 8000, output: "32x tfc:food/olive", name: "olive" }, { input: "tfc:plant/orange_sapling", fluid_amount: 8000, output: "32x tfc:food/orange", name: "orange" }, From 5e330e2d1f8826833feb38fcc58c669cf9b62974 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 19 Dec 2025 23:55:29 +0000 Subject: [PATCH 407/628] some cleanup, fixed small gears not melting --- kubejs/server_scripts/tfc/recipes.js | 2 +- kubejs/server_scripts/tfc/recipes.materials.js | 12 +++++------- .../tfg/ores_and_materials/recipes.quartzes.js | 2 +- kubejs/server_scripts/tfg/primitive/recipes.clay.js | 7 +++---- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 090c48f99..4707863f8 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -13,7 +13,7 @@ const registerTFCRecipes = (event) => { registerTFCDyeRecipes(event) // Добавление рецептов - TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ + const TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "#forge:dusts/coke", output: "4x tfc:powder/coke", name: "coke_powder" }, { input: "#forge:dusts/amethyst", output: "4x tfc:powder/amethyst", name: "amethyst_powder" }, { input: "#forge:dusts/diamond", output: "4x tfc:powder/diamond", name: "diamond_powder" }, diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 9c9a8d58d..2e90975a1 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -621,7 +621,7 @@ function registerTFCMaterialsRecipes(event) { let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 9) if (!nuggetItem.isEmpty()) { - event.recipes.tfc.heating(`#forge:nuggets/${material.getName()}`, tfcProperty.getMeltTemp()) + event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144/9)) .id(`tfc:heating/metal/${material.getName()}_nugget`) @@ -640,18 +640,16 @@ function registerTFCMaterialsRecipes(event) { let smallGearItem = ChemicalHelper.get(TagPrefix.gearSmall, material, 1) if (!smallGearItem.isEmpty()) { - if (tfcProperty.getMeltTemp() <= 1540) { - event.recipes.tfc.heating(`gtceu:small_${material.getName()}_gear`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial, 144)) + event.recipes.tfc.heating(smallGearItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) .id(`tfc:heating/small_${material.getName()}_gear`) - } - event.recipes.tfc.anvil(`gtceu:small_${material.getName()}_gear`, `#forge:ingots/${material.getName()}`, ['hit_last', 'shrink_second_last', 'draw_third_last']) + event.recipes.tfc.anvil(smallGearItem, `#forge:ingots/${material.getName()}`, ['hit_last', 'shrink_second_last', 'draw_third_last']) .tier(tfcProperty.getTier()) .id(`tfc:anvil/small_${material.getName()}_gear`) if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(smallGearItem.withCount(1), 'tfg:small_gear_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.05) + event.recipes.tfc.casting(smallGearItem, 'tfg:small_gear_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.05) .id(`tfc:casting/small_${material.getName()}_gear`) } } 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 7eee857e5..e5474b941 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -31,7 +31,7 @@ function registerTFGQuartzRecipes(event) { .duration(20) .EUt(30) - TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = /** @type {const} */ ([ + const TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = /** @type {const} */ ([ { 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" }, diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 1a307908c..f61bf3c95 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -14,7 +14,7 @@ function registerTFGClayRecipes(event) { event.shapeless('4x minecraft:clay_ball', ['minecraft:clay']) .id('tfg:shapeless/clay_block_to_balls') - TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + const TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "tfc:ceramic/unfired_ingot_mold", output: "tfc:ceramic/ingot_mold", name: "ingot_mold" }, { input: "tfc:ceramic/unfired_pickaxe_head_mold", output: "tfc:ceramic/pickaxe_head_mold", name: "pickaxe_head_mold" }, { input: "tfc:ceramic/unfired_propick_head_mold", output: "tfc:ceramic/propick_head_mold", name: "propick_head_mold" }, @@ -49,7 +49,6 @@ function registerTFGClayRecipes(event) { { input: "firmalife:oven_chimney", output: "firmalife:cured_oven_chimney", name: "oven_chimney" }, { input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" }, { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, - { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, { input: "tfg:unfired_rod_mold", output: "tfg:rod_mold", name: "rod_mold" }, { input: "tfg:unfired_small_gear_mold", output: "tfg:small_gear_mold", name: "small_gear_mold" }, { input: "tfg:unfired_nugget_mold", output: "tfg:nugget_mold", name: "nugget_mold" } @@ -68,7 +67,7 @@ function registerTFGClayRecipes(event) { .id(`tfg:smelting/${dye}_large_vessel`) }) - TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + const TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x minecraft:clay_ball", output: "2x tfc:ceramic/unfired_flower_pot", name: "flower_pot" }, { input: "5x minecraft:clay_ball", output: "4x tfc:ceramic/unfired_bowl", name: "bowl" }, { input: "5x minecraft:clay_ball", output: "10x rnr:unfired_roof_tile", name: "roof_tile" }, @@ -88,7 +87,7 @@ function registerTFGClayRecipes(event) { .EUt(2) } - TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + const TFC_FIRE_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" } ]); From 6de6777850f1d6aa85e5791b7cd2e3a67f329ccd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 20 Dec 2025 15:16:05 +0000 Subject: [PATCH 408/628] fixs #2478 --- CHANGELOG.md | 1 + .../server_scripts/gregtech/recipes.materials.js | 15 ++++++++++----- .../server_scripts/gregtech/recipes.recycling.js | 14 +------------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70c155a89..d47fb3106 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Changes ### Bug fixes +- Fixes some curving press tool head recipes being cheaper than intended (#2478) @Pyritie ### Translation updates ## [0.11.12] - 19-12-2025 diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index c3fea2f30..6938448e4 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -77,11 +77,11 @@ function registerGTCEUMetalRecipes(event) { event.remove({ mod: 'gtceu', type: 'minecraft:crafting_shaped', output: toolHeadItem }) if (material.hasProperty(PropertyKey.INGOT)) { - const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); if (ingotItem.isEmpty() || ingotItem.hasTag('c:hidden_from_recipe_viewers')) return - const materialAmount = Math.floor(headTagPrefix.materialAmount() / GTValues.M) === 1 ? 1 : 2; + const materialAmount = Math.floor(headTagPrefix.materialAmount() / GTValues.M); event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${tagPrefixName}`) .itemInputs(ingotItem.copyWithCount(materialAmount)) @@ -90,7 +90,12 @@ function registerGTCEUMetalRecipes(event) { .duration(material.getMass() * 6) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.vintageimprovements.curving(toolHeadItem, ingotItem.copyWithCount(materialAmount)) + let input_array = []; + for (let i = 0; i < materialAmount; i++) { + input_array.push(ingotItem); + } + + event.recipes.vintageimprovements.curving(toolHeadItem, input_array) .head(extruderMold) .id(`tfg:vi/curving/${material.getName()}_ingot_to_${tagPrefixName}`) @@ -120,12 +125,12 @@ function registerGTCEUMetalRecipes(event) { } else if (material.hasProperty(PropertyKey.GEM)) { - const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, Math.floor(headTagPrefix.materialAmount() / GTValues.M)) if (gemItem.isEmpty()) return event.recipes.gtceu.laser_engraver(`tfg:engrave_${material.getName()}_gem_to_${tagPrefixName}`) - .itemInputs(gemItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M))) + .itemInputs(gemItem) .notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1)) .circuit(circuitMeta) .itemOutputs(toolHeadItem) diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js index 925f5f08f..e8981633c 100644 --- a/kubejs/server_scripts/gregtech/recipes.recycling.js +++ b/kubejs/server_scripts/gregtech/recipes.recycling.js @@ -126,19 +126,7 @@ function registerGTCEURecyclingRecipes(event) { // Iron Door - event.recipes.gtceu.macerator('gtceu:macerate_iron_door') - .itemInputs('minecraft:iron_door') - .itemOutputs('2x #forge:dusts/wrought_iron') - .duration(GTMaterials.WroughtIron.getMass() * 2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.arc_furnace('gtceu:arc_iron_door') - .itemInputs('minecraft:iron_door') - .itemOutputs('2x #forge:ingots/wrought_iron') - .duration(GTMaterials.WroughtIron.getMass() * 2) - .category(GTRecipeCategories.ARC_FURNACE_RECYCLING) - .EUt(GTValues.VA[GTValues.LV]) + TFGHelpers.registerMaterialInfo('minecraft:iron_door', { 'iron': 2 }) // #region Fix TFC hanging sign metal dupe for Macerator and Arc Furnace From cba070c81594063a451c179633207b031c6c6e64 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 20 Dec 2025 17:19:13 +0000 Subject: [PATCH 409/628] add arabic illages --- CHANGELOG.md | 1 + .../chests/arabic_illager_basic.json | 559 ++++++++++++++++++ .../chests/arabic_illager_smithy.json | 370 ++++++++++++ .../chests/nordic_illager_smithy.json | 47 +- .../structures/arabic/baseline/barracks.nbt | Bin 0 -> 10210 bytes .../structures/arabic/baseline/bend_left.nbt | Bin 0 -> 1074 bytes .../structures/arabic/baseline/bend_right.nbt | Bin 0 -> 1055 bytes .../tfg/structures/arabic/baseline/cross.nbt | Bin 0 -> 1494 bytes .../structures/arabic/baseline/fork_left.nbt | Bin 0 -> 1235 bytes .../structures/arabic/baseline/fork_right.nbt | Bin 0 -> 1254 bytes .../tfg/structures/arabic/baseline/house1.nbt | Bin 0 -> 5991 bytes .../tfg/structures/arabic/baseline/house2.nbt | Bin 0 -> 6657 bytes .../arabic/baseline/house_garden.nbt | Bin 0 -> 8158 bytes .../tfg/structures/arabic/baseline/smithy.nbt | Bin 0 -> 6514 bytes .../structures/arabic/baseline/stall_gray.nbt | Bin 0 -> 1077 bytes .../arabic/baseline/stall_green.nbt | Bin 0 -> 1076 bytes .../arabic/baseline/stall_yellow.nbt | Bin 0 -> 1068 bytes .../arabic/baseline/straight_long.nbt | Bin 0 -> 906 bytes .../arabic/baseline/straight_medium.nbt | Bin 0 -> 768 bytes .../arabic/baseline/straight_short.nbt | Bin 0 -> 630 bytes .../structures/arabic/baseline/t_junction.nbt | Bin 0 -> 1225 bytes .../tfg/structures/arabic/baseline/well.nbt | Bin 0 -> 2528 bytes .../structures/illager_generic/mobs/goat.nbt | Bin 0 -> 1063 bytes .../tfg/structures/yurts/baseline/house1.nbt | Bin 0 -> 6451 bytes .../tfg/structures/yurts/baseline/house2.nbt | Bin 0 -> 6126 bytes .../tfg/structures/yurts/baseline/house3.nbt | Bin 0 -> 6727 bytes .../tfg/structures/yurts/baseline/larder.nbt | Bin 0 -> 1936 bytes .../structures/yurts/baseline/monument.nbt | Bin 0 -> 1451 bytes .../yurts/baseline/shooting_range.nbt | Bin 0 -> 3050 bytes .../tfg/structures/yurts/baseline/stable.nbt | Bin 0 -> 2090 bytes .../yurts/baseline/throne_house.nbt | Bin 0 -> 14236 bytes .../tfg/structures/yurts/baseline/tower.nbt | Bin 0 -> 2290 bytes .../structures/yurts/baseline/workshop.nbt | Bin 0 -> 3387 bytes .../processor_list/illagers/arabic_paths.json | 103 ++++ .../illagers/arabic_structures.json | 50 ++ .../illagers/arabic_village_living.json | 25 + .../illagers/arabic_village.json | 21 + .../structure_set/illagers/norse_village.json | 4 +- .../arabic_village_living_buildings.json | 109 ++++ .../illagers/arabic_village_living_paths.json | 94 +++ .../arabic_village_living_start_pool.json | 15 + .../template_pool/illagers/mob_beast.json | 15 + .../template_pool/illagers/mob_goat.json | 15 + 43 files changed, 1400 insertions(+), 28 deletions(-) create mode 100644 kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json create mode 100644 kubejs/data/tfg/loot_tables/chests/arabic_illager_smithy.json create mode 100644 kubejs/data/tfg/structures/arabic/baseline/barracks.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/bend_left.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/bend_right.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/cross.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/fork_left.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/fork_right.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/house1.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/house2.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/house_garden.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/smithy.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/stall_gray.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/stall_green.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/stall_yellow.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/straight_long.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/straight_medium.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/straight_short.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/t_junction.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/well.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/mobs/goat.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/house1.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/house2.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/house3.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/larder.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/monument.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/shooting_range.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/stable.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/throne_house.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/tower.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/workshop.nbt create mode 100644 kubejs/data/tfg/worldgen/processor_list/illagers/arabic_paths.json create mode 100644 kubejs/data/tfg/worldgen/processor_list/illagers/arabic_structures.json create mode 100644 kubejs/data/tfg/worldgen/structure/illagers/arabic_village_living.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_buildings.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_paths.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_start_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/mob_beast.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/mob_goat.json diff --git a/CHANGELOG.md b/CHANGELOG.md index d47fb3106..6a1731687 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Changes +- Added some new illages to the hot and dry climates of the world! @MVG31 ### Bug fixes - Fixes some curving press tool head recipes being cheaper than intended (#2478) @Pyritie ### Translation updates diff --git a/kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json b/kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json new file mode 100644 index 000000000..38ef47961 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json @@ -0,0 +1,559 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/acacia", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/sapling/acacia", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/blackwood", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/sapling/blackwood", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/palm", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/sapling/palm", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wool", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:grh", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wool_yarn", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9, + "min": 5 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/light_gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:totem_0", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:totem_2", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:totem_3", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:rabbit_foot", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:sentry_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:vex_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:wild_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:coast_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/salt", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/saltpeter", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/sulfur", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/wood_ash", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/light_gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 20, + "min": 12 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:bone", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/compost", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/guano", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/honey", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:bowl", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:groundcover/pumice", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:conifer_rosin", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:beeswax", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:flint", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:tricalcium_phosphate_dust", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:charcoal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:glue", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "chalk:gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "chalk:light_gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "species:music_disc_lapidarian", + "weight": 10 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/chests/arabic_illager_smithy.json b/kubejs/data/tfg/loot_tables/chests/arabic_illager_smithy.json new file mode 100644 index 000000000..7f3e6f9d9 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/arabic_illager_smithy.json @@ -0,0 +1,370 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:charcoal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/ingot_mold", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:clay_ball", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 15, + "min": 9 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:mortar", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 15, + "min": 9 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:poor_raw_coal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:raw_coal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:rich_raw_coal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:cobalt_brass_nugget", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:cobalt_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "create:copper_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "create:zinc_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:lead_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "create:brass_nugget", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:bismuth_nugget", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/copper", + "weight": 20 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/wood", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/flux", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/lime", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:hematitic_glass_batch", + "weight": 30, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:olivine_glass_batch", + "weight": 30, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:volcanic_glass_batch", + "weight": 30, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:matches", + "weight": 70, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:sentry_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "minecraft:vex_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "minecraft:wild_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "minecraft:coast_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "alekiships:music_disc_pirate_crafting", + "weight": 10 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/chests/nordic_illager_smithy.json b/kubejs/data/tfg/loot_tables/chests/nordic_illager_smithy.json index ffe60e5c4..7f3e6f9d9 100644 --- a/kubejs/data/tfg/loot_tables/chests/nordic_illager_smithy.json +++ b/kubejs/data/tfg/loot_tables/chests/nordic_illager_smithy.json @@ -119,14 +119,14 @@ { "type": "minecraft:item", "name": "gtceu:cobalt_brass_nugget", - "weight": 40, + "weight": 80, "functions": [ { "add": false, "count": { "type": "minecraft:uniform", - "max": 4, - "min": 2 + "max": 10, + "min": 6 }, "function": "minecraft:set_count" } @@ -135,14 +135,14 @@ { "type": "minecraft:item", "name": "gtceu:cobalt_nugget", - "weight": 50, + "weight": 100, "functions": [ { "add": false, "count": { "type": "minecraft:uniform", - "max": 4, - "min": 2 + "max": 10, + "min": 6 }, "function": "minecraft:set_count" } @@ -151,14 +151,14 @@ { "type": "minecraft:item", "name": "create:copper_nugget", - "weight": 80, + "weight": 100, "functions": [ { "add": false, "count": { "type": "minecraft:uniform", - "max": 4, - "min": 2 + "max": 10, + "min": 6 }, "function": "minecraft:set_count" } @@ -167,14 +167,14 @@ { "type": "minecraft:item", "name": "create:zinc_nugget", - "weight": 40, + "weight": 100, "functions": [ { "add": false, "count": { "type": "minecraft:uniform", - "max": 4, - "min": 2 + "max": 10, + "min": 6 }, "function": "minecraft:set_count" } @@ -183,14 +183,14 @@ { "type": "minecraft:item", "name": "gtceu:lead_nugget", - "weight": 40, + "weight": 100, "functions": [ { "add": false, "count": { "type": "minecraft:uniform", - "max": 4, - "min": 2 + "max": 10, + "min": 6 }, "function": "minecraft:set_count" } @@ -199,14 +199,14 @@ { "type": "minecraft:item", "name": "create:brass_nugget", - "weight": 40, + "weight": 80, "functions": [ { "add": false, "count": { "type": "minecraft:uniform", - "max": 4, - "min": 2 + "max": 10, + "min": 6 }, "function": "minecraft:set_count" } @@ -215,14 +215,14 @@ { "type": "minecraft:item", "name": "gtceu:bismuth_nugget", - "weight": 60, + "weight": 80, "functions": [ { "add": false, "count": { "type": "minecraft:uniform", - "max": 4, - "min": 2 + "max": 10, + "min": 6 }, "function": "minecraft:set_count" } @@ -238,11 +238,6 @@ "name": "tfchotornot:tongs/wood", "weight": 30 }, - { - "type": "minecraft:item", - "name": "tfc:ceramic/vessel", - "weight": 50 - }, { "type": "minecraft:item", "name": "tfc:powder/flux", diff --git a/kubejs/data/tfg/structures/arabic/baseline/barracks.nbt b/kubejs/data/tfg/structures/arabic/baseline/barracks.nbt new file mode 100644 index 0000000000000000000000000000000000000000..fa92c96a339c3f40eeab55d4dede44bebaa5956d GIT binary patch literal 10210 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/bend_right.nbt b/kubejs/data/tfg/structures/arabic/baseline/bend_right.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5659e97457e9985110549a75ab5fa33359e5c120 GIT binary patch literal 1055 zcmb2|=3v-&$}N-O|Js=c^B$XtxM~J1QDJwrZjLOuF0V16cAM@lon5cO7Np)<+^Hlr zNl5uK`{(k%OM(pN&9yjHZQg8{aAR73&57jW{GMT6p<42{*B{ha`s}q{scnVS*yqWcQcbGgd zYBYS#_$zb9(c+S&bWi?K3?2u=Amn@ZnOmXRhgg ztB$2kpL;*S68LSUxc&*v+ zRmA&sWwYZoBo`g7-9E(uYB|&%Bv(D>%JAU1K0#ugqG614(vG$x1-zXPrGyTfs<35h zoORR%`=!T3TQ!_*htYwhjMLd-qzWVtq%urrjIo5cM(4q%hSN-X>^o#06nU?!nK?0S z@|Jl_5&j#u%rlorvAwkBir2iUQ71PCX;+4w>oL(zcbhdeC_QOOq-Loa26M+b(F-#r zGUs{C?VR{*n?BqWZWf}Fy=L+3$J!)Zpn z?|jou_AmJ=a-fPU!S<;2HRZFHlk;azeD?BVSlW`xsy}j%(i_q3z-}{&sP@(iH}}nJ z_TT?_{gjv2gIC^p(jGhG%K7qK`B?|^m(MQPK3~o|b^noV^Fu6;to!_0Z;ICa<2Q6C zgx}uwJ+?Na&c^=kkM@AyWgh9@{^_mYzg$-S`1kQ$owZ5JEY^g44fpwH|EJEU`tn=1 zzeRTcy?0CheR$OUknaDNi+9~QmwolN^sm~q+a)>TZ69y(*WESydibNm-L3q&`&VE8 zp1a+%+^uH&^tl`MhON5sThAwW#{cHnCE~xU>o)pd-nR25Z=K9~_xt&Bul0WIo*MPn z_(-k9GP5PEH#hdTyQgm7C;j}a>>-P}@~r>gOq6~6_sh>e8~P8wd>Hdp<8SFSzKuKg z#_{JC&%X6#w!yZ{+b%je|G(VH|9rDu!u^IBQ|9U)|ce#<*WtEku-0z+Hz8|w)ta9$Cp3E!z)dwui|JTf@JM^>s&ADs7 z+jq(dJ>O%`B+i>`8FtzFvf#mW(gg<&y_M(w-t;lfxMB`xPtm-k2P>LR3&+fR@QHQ0 z{*Ic1q8#fS3Rs)8MPe2{;9?E`a>Rux`KmDISC{uI)XioXx3j0)G=5}N6POW@u*R-= z<1e0LuZ$&DpHG-#r_MB)%SX*%=K&G6=HCmqN++zj%aHu`*rS9;JunWNME1LcH9MO( zKI1z!%NowvCj#T2ZtgU`cIRM3F?;e^*`88=hUB+w64~YlB6c$#yTxm8Ew5o?8FSB8 z>5UiC4Z`LhjHqQx{wmpX^|{Lmb-`DjEmc7Wr*f?eDM)S77LJ+u;1p}P-j1S!p&aX+ z3PhL3{43=9es9;l0};87Rvt)U zn#}E!XuzF_=DE1DwiaihelaaKKzPjb`_jkrQ3N0yY+}Xii_hHswdc4K!n+{93oo1p z@ic3=){dZqQ#sf9fV?dpvlHZP#T{G^Z9X4Xf6kbEm8b1#!Lv^+)75v>9DK^H7Y~YE zftW^6>}u?AIw)#usMEf=N@?M|7qVYB)a>{_ui03q{eAj*$!Ujcj~83KHkO!nICB2M z4KnM#&3yV{W};*Cs`FkT|LH{sFPj;)rT+W-$MUez|9$u8B+i`wRg&lQpEaP=y!p)j{nLv< z(t9Tx>wE@z#mFAyD;Tr4^)blXbs%p)1BU>KOi&uu`MlZgc;9!+vOVV^e&qPNq)A&e zX61uZEa7T9j1EraUKdmF6y(F!2U>nR7d>9{@5kQ5Ulen$KfW}#H+BD7x9<;^<*oLO zkLwk`dN!{nV%Lk}@a>DEzr|jj@_Jd+u7c~OXE}}buDZP`^6k|7w)^*LzF!p@`Tg?5 z+{)mc`Nvnkb-ih~#w^y_F!{Q=-oLH0|JYC8ow(}udi}fR=a1K~+wNTX|JAmdvYP7p zKfk`deJZnhUyY;v*&N%w+t&VixaZC3(!G&)-^NFnevQ4G7ykP8uAOuK8NLYrz0Lpq zzH3KcX6ydzzrM>R?&;+0U-S1~yP;c_8r+*~dOz&(%ar|R)qmIRxfPT1yGY_(`=-4$ z5vH+~lXpD%zVCME--z(w#ETcozVqwt(wd#PZ^!Q}iTU$GpLVBTyl}T~{=E6yV(Tlc z?n`{TB%hXfKX={v>$Q7#&a1i{7v^jmYt|t=y}si8@t-e#uiI^N-!#=)c5mLPvtR!l zdbKLc{Oasimw&IEUwb)s`_-rWD|q#n8R#B-cKKoN;(PnoE`R-c)!eq2^0m=tO4sC- zzkAIWZ+Gn*e_#EcE9>p+49(wt{BT2edHCy@m3!pb^!_fDIo*Hx+4%*h{}#|LP3i{Ka7+ZTv9?G5gY@N-xI#cUbynbMDpDtD)PknI4lt zC!Tw(JNLMbv0#DR$*0USYY#kS)??nm^S}t|UWV`=r&<`4pK>Hl94^(#a)$iZB z^Jut{@#3>)v+xDAWbU?$pIRK|37puh^iS3|eap>f6|tpmvvX@MrAx1MPTO+R?ezr7 zm4`WAOpwg|chM@vZFc<@zL^)F$**-zyH_fqXMF3=;?fg6X8$u}jTWD^k7_@Y@wxw+ zB3L*B>SVDKlNr{r6sR_6v&LwG!kle~5h%=M3Z8<(ob`bgLpbA(jvqf)8Q@3YQj7+?B$>s61L zvh40FlDTe|KrWoPg->~bbJ`Y3&({->#V%Q=xXqpja(RPVa`;mWl;*56+B=5F4e zweR>J7yCSXzAn$b>-W0MJIhukaq-1o*O~BgU0&>FJFR+~_j-4ex0aRK%ii4eyQ@y3 z{CD(qyY;8n&7HCFweY6;lF9$g%O#fGsoT4>|M_G4>%R}$?yWX)z23iL`urXG(~H;s z`qWf6_h!|tZR>wMJoYs&c>3$(kK0Ov?XSJ9+grI}_S-M>8ROrk`v0$9`|<13*gYlp z-$v=WvR@B*9C5Z^%6jgb^FLGUdv|{-yT3behh)s|+BoyMyZtqOu71xKYJcsjh>pyy zcQ0oinw#BLS?GV&V4i*GyR*v+UdSEuf8L*aeZJkf_-Tv3JdeCp{`BtIW$RDxUOBrg zn)mCL95u0N^|z+a|GxL`pVKv$man^gPe$sxpZZ;sb$e!;uPG0W4ioS8n!jw;?`5~& zuYPMDb8B|D@m=Ys%P;q>_AZ*a{PpWqbJx}0-70d{@)|$;uU&^9PtS?3uQAd8^R&SG lzfZ{e46^IiLwOINXJ{-6Gj+4~O5YF|wT1^^f7Ua|lH literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/fork_right.nbt b/kubejs/data/tfg/structures/arabic/baseline/fork_right.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5641bf38dd14588bb43eb0e5254749ff1ef9945f GIT binary patch literal 1254 zcmb2|=3tOL?Uu>#|LP3i{8w%wZO7&M4gc->9u`}2-9A9`cTRL^Wa(91sWS(@_C9vp zHd*5@``_!b?6Q*>ET2DJHCri?rQ+E6nc_)t6ScR7oV@Yx?UtY{JG)k8PWOEwFL!-D zdv}JmXzjIAJ(K6gRH&}GP;Gyysddq9X|<~JE3{{DBqX(UGK912P&y#WyiTIvXoEMi z9`6p52VM-}Ogn@Qq%urrjCsa2J#B`_jCP4UxuhMHmlk`b2{jlpOlCU6lwi~lX~Yw2 zzJsUpp^-}4=?M~g&Piw-V^{N;4~x{=PFq^fN@+ViQ$jC2X~&#Su+U5iz2~YEj16PX z9VxKX?_btGQwC-Y*MU%mbxZ|Q8&p&>;I;n!I(_=nXx_9}-${XCN zRC-`@@#6%^a|B(l&ic%=vGS7kGf#$N3_e^2+zlrgp4}~>x2qI z8&)&Lh(1`w7|uJ#UGvvj*R&loJ1166dC~<6_asQTXC7F}IGrtq6B6z`4~!a4$2^== z)otR>b!IZt=Oy81l)tWsIBBaDR@6UBa;5v(o-2#fp4}}EF1jbYWDdxvd|T#5(2_hjT|fV!cnzlvtVVX(_B+s;ilvv}B#?Q=gtITR|FkO#^AX zKIz%X#>%3Ec}xYO4XYVqR3B(DhI4`foN*mj!PSPoSd8EU!cPCy zkL>h~hySIxy-NPP_sVg;`+-J>YwL9z=5$W{H3MY1{A7@;lY`E2t3LPXxpI8T9Aky_ zq$PH0AV(etITB6X5sz9QkdOL3L7{DF;Lo@NoLYn+sYMi$TCzZ?<=3RsbH1;be*bmR z(%)aFtSs4d_?+*n%eA+6r){|X^4i_^%b)wq%-{D`eJbz1*Kc+e&-D6suUz~@((P~C zqGhMp@7Z_fhWqwSZw11>eY>|(|8iM*_V4GRkAENVsXKA?Q@Q+~{kQ%~{JZ|BY_Z+` zb^ouubNl^8Z`zkXMn67X{_?WyT&R5hi|I3S4;NdT_n4P$c)cysR&HKI>D%Pn@55fV zZ@b-M?^d&Yxn=C$>qmdyuKu|8_x*RJE5)jB@60Uvyi|=_{dcn6&Hl^VcHZSJlgW3x zoj)&p?)L9HPyLtqbB{Op^`V5cH-9g0Hj2L8`}x_tI~IHGioTsyHvZNA^7ZS(_xO*u ze`fus@HcZB-@cu@Bl&ZS#W%e)&&xTyt#ikQzmK!+&##`p=l-2H*06?_f9_qOyc|X=cLwK^~*q+ZSz`nCU;`1;TZZ=Pu}FaQ89vuWl4 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/house1.nbt b/kubejs/data/tfg/structures/arabic/baseline/house1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..6974d46162341e77560b7a10099c6530585f41e2 GIT binary patch literal 5991 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 Kw^!X_U;qFuzv6=c literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/house2.nbt b/kubejs/data/tfg/structures/arabic/baseline/house2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..b13a3f48c16569d8b7d4b0b65d58d56e5a032f11 GIT binary patch literal 6657 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 ZPoJE*(b;p`f9;?3Q}lOR?+s&Q006#Bo7n&W literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/smithy.nbt b/kubejs/data/tfg/structures/arabic/baseline/smithy.nbt new file mode 100644 index 0000000000000000000000000000000000000000..1f3ab03b83b45429b2afccd85fe40fccfcbd5e59 GIT binary patch literal 6514 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 If5yN70Ms}A)&Kwi literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/stall_gray.nbt b/kubejs/data/tfg/structures/arabic/baseline/stall_gray.nbt new file mode 100644 index 0000000000000000000000000000000000000000..d4306cab82a40af5f726f0bf31958e702aaf7097 GIT binary patch literal 1077 zcmb2|=3oGW|7T}7=HE6GIj$Mxm$EeSvWW9-?{dkqn+MC|&EG_P*>ahoahgVJuM3w- z?D^kpzpqtKa@L-t(Rpy%8pb(KJnKLGz4v>6M_E$KHH|BO^xXuU&Ss~^XP0c$POVy> z-0@E#V=1pGPhGp{l4-Z}HpDYVT}$BSoq3T(ZYNWJ%t7Iz)_zmR_-6S)|F_Ae#b?5d zkN2FPInDH8&#`Y+eaEw&Rjf$^Q%?MHt7ksmI7^OS?tFy78PkO?4JUuhVR63iyj|_X z4fg7c6FqGe9|ZX29vyU!v8i}-RO9-owI6S)$9&+fuIRG0IeJ*mFJqd`QMq}KSp7G$ z^M8AAP|oH?b2~y$-_3|mceASY#rLE)^L*b~lD(mQ*>Rbjrnd9GR+zcj^!=3l=#$am zzRpta&B12diVYw$6yTj7MC{Qhlk`+p>cPpHXyk>@)v zk3T4F_P1!?(^_sH(^a#V@uXWhnOnQMR!vWdVYHpj^lH+gn+^X?nsW8&`ttBDUi9F? zTD72_?wD0mQcncF{VjK0(}PD}a!SyYPX}BZt9W-5nltdPt+~E+ zhfxQo+%xIs>$%6@v-j;b-LV)g#5pK>)mbgNxtIuw>P<(-Mqe;r(SMPdM6co zXpLcV#OM6R=sidJkNVAMzF>0LO5xx40(-OI`5QyDvMdhNE}fOjr8XnWEth$^ ztKpfdiHH9*lrOJ2fA`IW6}91gy?3te>A7FqW>)o3kH@E0ucdv79LxDM7yiU+?f+R5 z?{&;Kj(oe?W!19=fwcHs@3=cNmjry7@#KS!@rU#&OG2&|B;9ni?-dj6GBjK%FROL< z)RIRV_;csK3_Lya&1=3-?AL>(CV5VMqY^sPfAIooRhtj;R$sTV+3Gqh7p|?($+q)8 z?_XElC=tmo{e8)-2QfZTi+43244u?=`JZdn#^xPvf(D<|LVs^;Td+EQ<-+}kZ+Ejv S$NumA$7nwP*ezXg1_l6_gAmvN literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/stall_green.nbt b/kubejs/data/tfg/structures/arabic/baseline/stall_green.nbt new file mode 100644 index 0000000000000000000000000000000000000000..3d6a0581d08d8cf44ff21d9b90bf3ae05b3ef948 GIT binary patch literal 1076 zcmb2|=3oGW|7T}7=HE6GIj$Mxm$EeSGSBN>r`g_YSp9xq-i^W+E0;4e=>~F1cZztd zn)jRc+uH9L?qMo{Ld|B8yf^rk+W)M3|9_sRwV_kCNY=lZf-Mtj*WG$975m0(=DpVv zZuP=jF11Oq)gR^w^1kbrAa>emUz|Mbudt{}%_rEZ=_i{%ReGW3w)NnQ?N5c~jzD=k01A zBG{`lsw&ssnPr*w=%A0yj81mrLc_;}d#7ay?)p@8g}eHSNc9yF{=YLX=v;-c6d#}e zB*g#i!9h8j8_n$%9|ZX29vyU!vFW=Pv8sCY%d3Br?ntNXIJY#q+1AAN*@?9;Kdw2x z*YHu{m-8LzPR=$-XFn$J%e^_+Y+JE`o&VzlMLC-z&FwoX9u@ZMe)WIxXy%1473=QI zk~_b;u)o!L9w+a&3j+MU{m-lJBr8LCXXn`8I4u9>(aZ~Hem2M2Tz@PV{i%INg_=q6 zKLK%&KHZT5hlHRa^ee zy(Z<#@tNmtNwEDVr^~hPOKRSpQ?W=DT5x*VIft1OC0aGtsm(sx@?Jr_|6c`(-V|$m)owptYEk&WrA1WDO+*YSCR#f%^3K-e;-^=;kRm;7}qL+&Pe+w9zye`n>y^#QlHKfg6? z(~UP?v+mu#xIO5;>8_Tthm!p{;ia`y9e?3Z~Le*1@{_tHge z%y-mR-CUN?q9ac+wAUtJB$kl=<-`Ctn zXUw?L&o?D8D5x-^UC#XTi;fv4rN_T_XIHl+1gTnkUj5KeP{ralWy59r8DDC7tD+kG z)PMa8`1EMq=Qn$vZWr&E`1QhO^`|W9Ntf=o%u(-aoBYqUD6_htS1I9%*_Ds#ypG}Z a0nYXZ!nwP9*Zp_>&**=2!beSU1_l7-%@{2J literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/stall_yellow.nbt b/kubejs/data/tfg/structures/arabic/baseline/stall_yellow.nbt new file mode 100644 index 0000000000000000000000000000000000000000..ff90623b84b4e7c183338d53d179ef84ba2be3a2 GIT binary patch literal 1068 zcmb2|=3oGW|7T}77B4mvIo{eL>|=IUW$xT}aogI@ZE?R}o4fqDpTBKs+eAl!T!*BV zJy(A7{#yGx#a*p|A@x?uY{}z-f0ll){{LO);Sr9tfj2(r_b9ZS$xe;WF4?G^`s>0G zgI|*ugf3p0_QCv&!q%KOEWd>pr1E~dFhSDyfuQz>4pAHBupc49Urc{+e!XH9W_&!y zwD`;qnaoJxa~W%{7u$pxA5S&~Q^HjrBF@V6U;R??VaM^N#5J70{WE*2l_jp(mSi*a zmu_fpJCo7D&j0a&qMXfJJJ0a&Hbg+f+dG>B+h0>s-B?RaLrQ;yata5^gEJ#m7%^{qEaSv}dSf z9KEpiT(_=hyUJ9iyzG@pTmFSQy_lbQcL7J@yoIy#Ua7~KYr!-To}>T>(@KR#Zi@bm12yDx3-ZVO7A{doPXX`wxj?oVAa z^U@qs!Cf~swJ!ZudCc`A)>o1RkIfkPy?@50C##mveSBH9HhtCMhfxPZHXBZka+7Ck-TQi) z@5}UQHY?w4P@NZhJGwmUiT#SVZ+C86s`D>=Y3yR}1Bp?_pZy!Hx&Itw2>-2fQ(smorsJs?EjMAQl+mUtAY1(|Jlu!{At$Q@mU z`JsNNk1e^s$*o-3ZGKN!@157b^E8%N@n4iYbkXp6^=z$N;f9v(qS^1KKB!uMgR|J+ z%Cb=QBmd>zv0wfy>AiH(Eap4uw>J15WC>n&@j%4QF2@VqbCxYDS^hx(ZRv`u`%WM0 zyK{1n-_GAW$1iH{Hdyh}ThWH?t3t&_r!N9&uRnweJmdbDthTy#sz<6H`@-*6x9x4e zt9dd}{PG7*ub@>~7Ax2MTR!pM0k0eC>gqjylM};&3L`q?wts$cV#b@-d>^W>v+*8W z;#D?j)tTce1&dnt{=2v|Kl{RErV`&vHZopucgmN|HLtC1%!uUotq$`mP*D3Dd!q80 vNx_-@UV7U&uWK;57?Uu>#f9{R5eV45m+7i{z^}qe2uCs$f<=f_`9jaE^+osIkm;H zfc<&iPL@l?XL=T-{_64yi+#RX{`M**bvF*(MK|k$S#xXQ4aHH>?WScL2btAx_$YaV==Bk(8huj1!R7K{?=6HmGc>4R(Gp9fMGh=7Tv>hp|2e=wUnY3BLICMBca1BR< z;0C3HqX)VgMVYl3!pLY(4O*;VR>5=4lnb_RZN@a&Lk- zI3k$95h2Rt4Tj)|-~dO&QAk8Ef+Iq6g9sR!Yyd%?4Il`Phz4*(@PQ+O3lb4b;E3P? zN5oY~L@E+rDj|M?j0{@DE1oImAvO=bG~yT^WIzO}qztv>5%T77E!`q_6a z*33+u({thd@vHUe{GY4(dH-%*G5>e{r{6d0ex^o0`5A7de%f;BzdZ}gkFSZp{Vi|S z{aYvV{^k|`zp&xu-@WqRX1`6pAHRO;%=O>C*Cu6ORkFQtPq*9p-mJx?8~BeOjMF#Y zy*l&G-FdJTf74In99H0JShK2Fu<=N_eg3s<}+U&^u_-@CN!cTb-;!ln{E{VUh wC&y0yNPJoOxAbz|E4N;K1~h~`QIu3b>@mcUMdU>0LMR;oB#j- literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/straight_medium.nbt b/kubejs/data/tfg/structures/arabic/baseline/straight_medium.nbt new file mode 100644 index 0000000000000000000000000000000000000000..64fc8d2f77dd964c6c7cfcceb33fb03ad5143fab GIT binary patch literal 768 zcmb2|=3uZr?Uu>#fA013d6x|sju)zz3Elo_{NRYQ!rOh?9mwqA)4z~{X8lec)4PFVM2UazNGOlI|<6R>a!Mi~!!Swi= zCm(b?;-c24`1MY1D4eu>(;UmxrC@8knZS_Io6(z5n;C44CD^&WpEm7Wx2iT{7}FY&2+a*a37%l6nE-;R z2TnCiWz=R5<69#W!McGfLG-{SFf=*xsqE+wHnG&%W@xtYmh@!~C+3 zyTxu^75Js`#iC?xba@>2R_V5P9-Hp8+$&wp{^{=Lr`PWOoXY+9&gOFSxIMkI-?qNq zzy8+3`NoA3YYpbN-~9ig>~f9#(uYBND&N(MZkxROe|q$jkKvn}pUMQS*MD)?PWsul zweri0&3Bb%gqQR4uGYKLTDLpue%rgEbv`v)^}lznz1orV+)94&{rh!Ua&J!8ZTMbz zIj+aKx^|zObG5Di=KWuSXQY3aVPQ0Rc{Y2W=(pDvZ~jO$-`CHSXny~kwRNHR(Y^B@ wy(&}xw|RGY{ch=n&#!GbufqTT-KWXj?{4oo{d>WR`mX!!AxBvhE literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/straight_short.nbt b/kubejs/data/tfg/structures/arabic/baseline/straight_short.nbt new file mode 100644 index 0000000000000000000000000000000000000000..83121f6740c4953eab3afe6ed32316f3d1870169 GIT binary patch literal 630 zcmb2|=3wwR?Uu>#f9{RbeU}YH*d9FIJy)pkA|{CG_pqhy`xVTNu-F=idU2$>BQ37iLn8dMp)nWnMma7J)#5J}KHaH(M_ zqc`(3Mjhq|whcN7kq0(4JY_h|IBj>z#?Rlat26gb+G)nm{48;~+5DYpg$Eur9A)%o zn8u*P7$LMlCBgGRP{UFNZ^mhCI=m558+Z~V4;VG1GM;9d#;U^}!8fD*#g9mf`8&5g zOHO+?&mi6KKvKg|#%^XYb{)nDrVT6!o(Cp1s4{vpPGizxjgZ=4l8_0~&v2Sy8mkU> zgxCg|1j_?O4X(?d|2%W2*7-~X&jyJEL$D*dnZb@=0y|<7#1TwjN0>ky!2osycLd)C znS`C*V*CHxZVXk~mAY-oW_dHk%eQ0SI2r#ajcbXWKVN6%Z;{+H4kR&*f8nx zR^#Q1UfrJX%ixK`GTo($ZR>J0mi3)UmMH#v;d1>n_W#@OOw?UmcxuDp)xV!@KL4-U V@~Ngre%;0VnHx?2WC=4c007Z0Bt`%L literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/t_junction.nbt b/kubejs/data/tfg/structures/arabic/baseline/t_junction.nbt new file mode 100644 index 0000000000000000000000000000000000000000..ebfe14399f8028f41ef6320883f14c90ab186d42 GIT binary patch literal 1225 zcmb2|=3q!T?Uu>#|L!c`{6}FDt?TVKCN8R5(f#fhyH@J_+|_!k*X?o@PnPhPk-q7- z=!^Up`SM8XClefIe3!A>tR>{taNO?uzJ6wRjpFA;;@_{vr#_i8``zb{a{b>|-&wkP zmu}wgmow{?rhjRcKlSnZ$BvBa-z*f$e@DN%XK>K4Ia+6GXh^7Uu5RIxi%`zv^I>QS(g8I~KwmJ{krS4@4NV zB%c-NF?BY$#&b}^_zY{Bo&k5`&jf>+4@7#Niu61+u~sQOR>Xw^b)9!SttkOQnROnI zz#2q)o^m6jGZWW;sGZK?_x+z_TAIPZou6Hv&kV8XpDN0g&DXjn;6zu;8V?W=aiXhr zO~eVWmNhOQ;!A5M>#-<*tu^X<6KrQ5JR`G9Kb@(OlT}SfBD*bNjbzitG>&7l6eUvI zb{;sxnx<&r{=QWGz5UDwD3+r*Bxc6ur`qEG_8o{oLNY(Q&KpnDH-MvS_r)cSioX_8 z+&S-H#An9Czt~Q5wXAVC!3A0a>6TK;+px5s-Q&Mm#nW7=TH6p ze!s=xU&sDgJ?42Wozs>OaX-PBY@lh%Ac>{GziRx0#Ngy*%& z8BK|6o-=|C)=V~7o)Dp)=yxyzgo+PpN?eNuiElSpp3pZ(?YSg^8HXZkCousVe)q_jGPX@Cfo6j!G(m6W4SVLBi}DMi&OOetk)dud_YSFvsLzBGN^ zaQ@DVr>D|+UhDqO?loSseS>6E;@;M?1tMstSp@|VB&ef$%9S>oE7wlhnc-*0>R zVBgNwvo^i>leRRo4I_GI7w#k2E9NbmaTzfZi6kJtO- zyz@(_x!lbkyD!z6=WH|IR~aRiYi#6v`)usLXzOSHAC>>LIKCljcYb{T|B&43{}m-a z&)$nac0QhSUf%QCE6>fpd_EHPxcK&_*XwJahlg&gxnaL?&Fc15H}%55hwhcDfBE(9 zymK!f?M-|B{nx|#&DZaoE!(HpzHrXJU@dw7Z@)`6$+!6yZhl*HKmPl^NPFGa*Y2Oa z`=@{1-Klp2ranG2XNOG-2VD?-M6z9mqOom-+tNo zbXiW0eJ;wqLuDY4BBpL+JizAS0;+1EDixxe#& zS;e#?H|ni)>%KPsFW$3A{Zj1TxBplhU#@&IPo04Q07M&i AjsO4v literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/arabic/baseline/well.nbt b/kubejs/data/tfg/structures/arabic/baseline/well.nbt new file mode 100644 index 0000000000000000000000000000000000000000..2d67e4b1383e5fcf5e33e597e0bd20e0664cdcfd GIT binary patch literal 2528 zcmb2|=3oGW|95A{7T-Q5**cv;tYOKn!l3Pav!5;Yw4QAJ{MPojUp8G{eXmG?Ytf7b zmiCr4f&U%WKHJI6W zlGE7Gg5|JGQzD=G@wp~o#zBMjgc;5TXA)BiINB^(4$HWq%RGF!Ckrfd3|%HM393g8 zU1p&<)SkbE>Sv)gC`vpN;3=LV1+xC2LHkP#8A+(jO$-@nsLW4P8K2`1Q*P9&)!Hlj zq$DIUPnM9#PY7b3EU0Fb!hU#DbK=c|8{Q;Dlo{w)OHBLw#KU;*o4^^Jygo@VFgke zeOkD8lHOyPfB#EEY_=VKp&v zuErKWE1T8LrEU`2`pnlnc7FZj@cB)rrb=Bq$@4m8VX0nw{XNMw#iD6yY;AMX4c^!^ ze{92(F?`wccWdh+y`8_a#PU$$=FqJO`i9`?ye5MqAJ`#D8L z+^WIY;LYDI=hsgXmpy(y*+5u&#*qUhe_~oBpRx0to+p7BVtwb1VG*o5VP~D0G56kc z6Yifoxr{+}^6WN0U|_%V^7mr7S(Pn`5XzJDv5ejMS%K%LM4aJqvkiXq?@Xh$&Aa)% z>4|M;Z4A%YaGtd>>aSXMpn3-+vrJ`(@wW%iO<=4s`&Ue^&7mgwSBu% z^4ar}>Dg^_uU@WQCi&GSlux+X+2D+##504!TZxahK-dC3ReIX(_Z|rF6hpE=)pFUY z<+4qQdzYbb1+Z4Fhb*?-(ZOQVS=5s5RE;TDUd}e3j zvpWW0&jj986EtpylP}N9yb$WNuullt9%$_EWZZvd@vgHE)5|NS2fTMpIUy=p1W^T+N*#Z?NjN23SYkffad+Wz^W(LE8Baf;dfqcik*m7VqjUdclh> z!r@jb{nWtJ0xS*Y2=u%%JEbUbHTTL-#>KmOPk|i#^$*kHUA?m`&Ckq{PCMsp+;6bz zc7>s_#MRtAGbDRnneDSLUf^9(2(~+IUQ3$XO!rdh{r<;yw^ZpXIj=i0L7VHT6iDoS z$#%&U`NWXzfnc?N8UpXSfvqW;At8fsC&D41@&V*>u*e1Lw{X`@aRzxA&6jgQ;jrQj z$m{3z4OZP=F|!yP&^9KYITr8o)kixvL?D6x<28(y~TCE0I zlFkeZEH*xSZe!W@{oKZ@wu2%fKd^4kL4Jv=(N`pyFMs^3bY{i9MKYk2V9Bz$s=J88 z?W@>Rfu2{oppcFR`DOcx&&+OL#iq*kywZJjlf~_;m}zm|3{Z%-r^zLTT2p*XIBHet6!5ujkKm2usemaX^Lbn6!kq-qm`(|9+)4vIesD^&G~s_WF>_ zdHLh#${C4u2O|EgkXtI#^wOe6G|h_dzeHNZx*HR;&7OGi>=bfdcVvRLA%v-yf8r_c z&OM6L&7XW~i@7&J+w_T-^Ui%7#&cupA-U1#`Q|^VGZOhgl|s=bKe127hc=`$N_^8{ zI6RLv;l^eLp3jpl->UOJl}Ze`A8`Ji&6Mnxmrs6W{iwPBzvkG|?(plr?=CI7apv@~ z+FN(d-4|JX{NuMuB;?CI=XtGZsVIupBT-Ro1e`;*1ret-5f?f0%5 zBGI+ue%m+KYRD;+oaHt%ZE+k&9-kg-~2mmmu{H(?PYOO*UO(? zwMu^3?XtgRUqd(Q+*LpAYJFhYj@)}wPM3bJc&Ya)z>~Z+-XfiT8VbR`2|(o$>o_vd()a?7!Z;`=}uKbzw1`y#a6|d`|i!Tzw36=wYVvIn%%j- z{eHcT-KcjrwED%Vvn88n+&6vq=l1iriWWzJ89pSKXZR+sZ9|r7xE*2-~B({Oz>k_kU}Zux>5CS5p3{~9`M$_hXD=l#A4bGv<3KKuW_GC9@#y?y0R=Rbb;w7POa z?9}bg@BIu9mhG|8xbye#tFw#Vo^##2B3$n_>&$KCA1}wvd;k1r!}a&)-&~HL|JLrg z{D!}Ot8VSSUVrb~+t<6le?DLL^I>Pn!%yFKcgt@6Uwz_6?BBf^UG>}R{cbnDyIFtt OKSPp*L#R^%0|NjI%m&W@ literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/mobs/goat.nbt b/kubejs/data/tfg/structures/illager_generic/mobs/goat.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4e2a610628f46a1cdb0deed3e7ac9996c47fbffe GIT binary patch literal 1063 zcmb2|=3sbm)Gd?Ye{Ja5d}&va`q#0$U;8@W4dMvl_}RkZ6snpxO`$aBlj5Xnyu2JM zFB#pFy?y!IIUVE25qv_An1qCc()DCc$rip~EmSCYz+>*G8uQ>(y}-RU6}gvPVo%*AR<7bZ^q5pcClqU-*PhtGqi^BELxTE6^d z$h<8d&)pL7XW92+wm??f3PsZb&EzJvE*_umw4F2C0`}_9G!W1_Y5B5P%4vf4$@3dy zBn=!Z-mHs>UBMarLdC-^F<0?yioM^G1B)kWHT_z4gvCnbx`0#b(hCtY?xj2Xs%<;R zZTawuL{{RegbUGTFaED@3aU|aUwuS8=+r=->c*VE#eYKsriE;6%hXKvAPUrpo zT_2TQ|7Pza=f7r;UMjdWi*oSsmF@a=O8S1?-yaXN-^Wz{c>4If-OrCky1_d(^{bv( zv$EJo@a#U3WZuuyVx?~=W@I{lu5h_okdicM*_pQaPtD}-Tza~ySo4=@Z+n-_qw2Ih z|6aUUzxMsQIvex6d28(_x0^V>k9a<1+0w`PpT*+u2(~BpZ7ch>aq3lG*BKoOXEM^* zJ#PQgYcp?}uI6&YMWt-pBRkbwFRr;Kx7|5*h`D0kVimKBzL_1*yEf^_>&;)^{lHQ$ zcvY{+=d8jh99mK*BMetY`^YSETBVsc*-!CP+B*F?lZ7At?D%m(=@jVT*o@7q< z@lWS3%WeL!COh$S!c%5Tv&Hjt+O~Jy?oRPgShOK1Ji_4Gw!LMuf8{RQbA6(K+3KIV zQ(fP8&+vZy|M1=Y@qeD}m|as>bX@#<-QUa2>D3;}ZHs%az6s7*w}^GEIp_1)HK&dU zJZ=>`U8H$so94r`D|xpLyJlZ^t?zDIy>pwotnsw6U;h2;Lh66My0@Bp){R)HS&o;a zypn2mBs@QV@ENPXvo1bX!DTHcnnUjd+0NP1Todk<{5?8<+x@=#zqWK#7T-T=S9f@> zwm?pj>GI`vSIUm)37xuoXU4{xMz&^`=Q#bn8~6Kf^vB!L(RMbM52t!pu>bdd^RATl la7~KUv18{d`XV008#c8Lt2U literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/house1.nbt b/kubejs/data/tfg/structures/yurts/baseline/house1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..fd8f504d47690b37e3433b8f4f7c09790e623490 GIT binary patch literal 6451 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 APXGV_ literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/house2.nbt b/kubejs/data/tfg/structures/yurts/baseline/house2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..0bec2d738a18ca48e5f259c9ce89223d53847403 GIT binary patch literal 6126 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 F1^`xpG&BGJ literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/house3.nbt b/kubejs/data/tfg/structures/yurts/baseline/house3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..060bce8ff1361c1cbec41ccbf68a404c81e7632d GIT binary patch literal 6727 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 Ymt}VE5_)uZ{-gZID(AP&DQ92+0Ity81poj5 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/shooting_range.nbt b/kubejs/data/tfg/structures/yurts/baseline/shooting_range.nbt new file mode 100644 index 0000000000000000000000000000000000000000..8ecf504b6914c9519fc07d548c5f610fd8ab0f6e GIT binary patch literal 3050 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 Ny=&j1x3fH17y$07%LxDg literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/tower.nbt b/kubejs/data/tfg/structures/yurts/baseline/tower.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7b0f7b03a1dfd2b2d00d37135a705b701ef6b917 GIT binary patch literal 2290 zcmb2|=3oGW|99uy&bu8Z)w=y#qt%j^TRizQyJwoecw)Cb_{*jjq4}&)i*l4UX-qJg z^M&`>qv$ZI-Y2@!*V0Leqg1&NQLZ#+}A1Z4%ZTuxR|~ zG;fOaj48WC_Z(OPMiq^om5Fh|GY>8?YW7TJn|z8#ZR$;K6t1O2u}p4`Y?EhYqi1F7 zV~;tWZ@CS+!n5L248IGiJ>^rI%I-7m!z>wlOW_lr6HA){(v$eAr#{{2Bp0U6QL1)) zy}W_hxroL>ro-pb%jezXJ-^HGnV?$ean8~?0mr#ZYu5Os?7I=ea`?HDgq`@o4?8)W zo}Jt)9eqBoARS~_(Vg~}r4lV)WnjqWgw3H1U(dXPN)f6Ez!mG912UJe%7f z$9D6Xzcs0cs?M>LgDn5GaoM4&d0ek6wbndexnbV&LsfDq-wKa$^$1JoKS``^Pc3tj zQ-4zEB&Yv`adK5#+=(}>XY8g~Zkl&9ig)7~WuDvbbJnsc7Vn>z{(Ppp#Itj+SQh%( zUyC_mEdFVOm13Csk^g)Ntj9RdoUBRxct7!M`x%pSDV)Jds35U+V>l;{JE)VdT(W~LEH)97Awti8)an!&2sgMoina;O#W2VG`+v_uktxi zY(5k5IVIa8{%OgbgG;_8bnL7bOAm@ueD>Am9Eh9xFR5Z3pOO2yIJ5Yf52ha7<0hg1 z#B%0({l`98Yo(g!oszt!uT#i=_*biKxqMqUBh=D^#!^)aHnD zJTZrJ=D`hh2lp5q)E3@zV97IXp4Z}iJDL;!9uh1!SQBsY2&BXPj(Xc}{}!vT70JBy zb_q9ro|)G#YGkdrS@@HMV!!aG3Ppa2GPzA>z%k``LZ-!PW&k^nb^VRcjEB$3f2%pL z;dA>=>E``A3)<$|&)d9qt_5P$$@7eXsh!FV@w`tyW;K z@Jp20Z9e07;!TT<--*X9HgPAI+vc|GY!)}FRxB1UVqfT|b_L-NTX};we-hsvdvO1) z#o=@FdqBSNce`_N!)JBncNOz_tm|ipgWMG-thia!s5$X_C@f~ahd%2wJ&VIP25)N8 z-X+|SJa?!0fhfy*g$h>1Vzm^u!@pQRpJG|>^MUE`FV^Ds_REgQ^1K#r{vO$DuqK}8 zUb^X_4Rwa9?<(>YUyHBl6MYr2uumA01uGW%34k&N$nD?6qmvVE{7cH_;kg}uX7B$Q zg5?G|^=CV*CARHPJ0i<-JKp$F-*>}#JN9=Nhb7E8u;I7F>73-5@y8^~s@RA?|E(ZZvF1xt7JcUf4BX- z>h79*cfzjz`dT;p{XMhw;o+{A-{sw^>u}wf{rPTcP^L%J+ z=6By$Zi|^6uHGygr*pd~y5y(c_N%!&ciYTe+cC9vQrJ7ssGsVYqVtx7ep6Yy ztUh@4&YAB%=U&|AT7Rj&Uqb)4#C7x6PhDfn?Eh6oKfTU&|Ie=(h0(Ec%z9@YUEg&} zyfj+u?3tRvz~{TKUM-5fc662Q>bW0xXI-y;_Wsl{pL?^D_twk3HqDKF_dWL9z7L`1 zMWOru%fJ5juk+Qu>J`>@?h5<*ZT6*_pHICzhxhlJZL|OE>Mp%`HtEKb+souXY2DBB zDGS`1TWV{3Q!W1M=BM3zGSlxi?L4*nsLAUkpFVwBWjep&#)S~`w^!p0-mP2pzpLe!pJ%(N*Wn-_Fk4;vSoK(Z>GS>(ZO~(`s(#wuTnQzPa_x zclxvY%_g`1JkmM+(8q>Py4URN_tOXW{S$U8&D~o6L^1SYdB6UzcZJ(SN;GXxNeapS zj88uPvncpYSgT3Z`|lrC-M2U%-d=mx*S+@g{$1Q96<;}(?(`RVG$`^j_Eqw6^6ASf z)qE}3a_8CYx0~MTiG`;#&-ZzL{O^muFXX>(W}n#KUGv?=FZ##)O{Mk`2RCwG-*)?u z>sp@&KPT1hd|#)u|ILZCn|o^a?|tofd~dh3jMJI3Ypi8X?fdsPUTNOnDcgVMyWag$ TF8TQn|L6F7;i``Nq8Jze68Dp) literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/workshop.nbt b/kubejs/data/tfg/structures/yurts/baseline/workshop.nbt new file mode 100644 index 0000000000000000000000000000000000000000..f88387dd9c7e749f6067c0b95e075e9b95e74eb6 GIT binary patch literal 3387 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 C>5dHm literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/worldgen/processor_list/illagers/arabic_paths.json b/kubejs/data/tfg/worldgen/processor_list/illagers/arabic_paths.json new file mode 100644 index 000000000..e9088cd9d --- /dev/null +++ b/kubejs/data/tfg/worldgen/processor_list/illagers/arabic_paths.json @@ -0,0 +1,103 @@ +{ + "processors": [ + { + "processor_type": "minecraft:rule", + "rules": [ + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "minecraft:water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/acacia" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "tfc:river_water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/acacia" + } + }, + + + + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:rock/gravel_road/claystone" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:rock/gravel_road/limestone" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.15 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "tfc:grass_path/sandy_loam" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "tfc:grass/sandy_loam" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 1.0 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:hoggin" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/processor_list/illagers/arabic_structures.json b/kubejs/data/tfg/worldgen/processor_list/illagers/arabic_structures.json new file mode 100644 index 000000000..fc091e687 --- /dev/null +++ b/kubejs/data/tfg/worldgen/processor_list/illagers/arabic_structures.json @@ -0,0 +1,50 @@ +{ + "processors": [ + { + "processor_type": "minecraft:rule", + "rules": [ + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "minecraft:water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/acacia" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "tfc:river_water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/acacia" + } + }, + + + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 1.0 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:hoggin" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure/illagers/arabic_village_living.json b/kubejs/data/tfg/worldgen/structure/illagers/arabic_village_living.json new file mode 100644 index 000000000..57d631889 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure/illagers/arabic_village_living.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:jigsaw", + "start_pool": "tfg:illagers/arabic_village_living_start_pool", + "size": 5, + "max_distance_from_center": 116, + "biomes": "#tfg:has_structure/illages", + "step": "surface_structures", + "terrain_adaptation": "beard_thin", + "start_height": { + "absolute": -1 + }, + "project_start_to_heightmap": "MOTION_BLOCKING", + "use_expansion_hack": false, + "adapt_noise": true, + "spawn_overrides": { + "creature": { + "bounding_box": "full", + "spawns": [] + }, + "monster": { + "bounding_box": "full", + "spawns": [] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json b/kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json new file mode 100644 index 000000000..2a74d0ac0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json @@ -0,0 +1,21 @@ +{ + "structures": [ + { + "structure": "tfg:illagers/arabic_village_living", + "weight": 100 + } + ], + "placement": { + "type": "tfc:climate", + "salt": 26256356324, + "spacing": 40, + "separation": 30, + "climate": { + "min_temperature": 10, + "max_temperature": 25, + "min_rainfall": 100, + "max_rainfall": 250, + "max_forest": "edge" + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json b/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json index 007b01c56..d04ff6361 100644 --- a/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json @@ -16,8 +16,8 @@ "separation": 30, "climate": { "min_temperature": -12, - "max_temperature": 5, - "min_rainfall": 200, + "max_temperature": 8, + "min_rainfall": 250, "max_forest": "edge" } } diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_buildings.json b/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_buildings.json new file mode 100644 index 000000000..ac82be9ee --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_buildings.json @@ -0,0 +1,109 @@ +{ + "name": "tfg:illagers/arabic_village_living_buildings", + "fallback": "tfg:illagers/arabic_village_living_paths", + "elements": [ + { + "weight": 100, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:arabic/baseline/house_garden", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid" + }, + "limit": 2 + } + }, + { + "weight": 100, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:arabic/baseline/smithy", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid" + }, + "limit": 1 + } + }, + { + "weight": 40, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:arabic/baseline/barracks", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid" + }, + "limit": 1 + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/house1", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/house2", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 30, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:arabic/baseline/stall_gray", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid" + }, + "limit": 2 + } + }, + { + "weight": 30, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:arabic/baseline/stall_green", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid" + }, + "limit": 2 + } + }, + { + "weight": 30, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:arabic/baseline/stall_yellow", + "processors": "tfg:illagers/arabic_structures", + "projection": "rigid" + }, + "limit": 2 + } + }, + { + "weight": 10, + "element": { + "projection": "rigid", + "element_type": "minecraft:empty_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_paths.json b/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_paths.json new file mode 100644 index 000000000..c1ec84c99 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_paths.json @@ -0,0 +1,94 @@ +{ + "name": "tfg:illagers/arabic_village_living_paths", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/straight_short", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/straight_medium", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/straight_long", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/bend_left", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/bend_right", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/t_junction", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/fork_left", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/fork_right", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 80, + "element": { + "location": "tfg:arabic/baseline/cross", + "processors": "tfg:illagers/arabic_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 10, + "element": { + "projection": "rigid", + "element_type": "minecraft:empty_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_start_pool.json b/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_start_pool.json new file mode 100644 index 000000000..1fb1c3597 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/arabic_village_living_start_pool.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:illagers/arabic_village_living_start_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:arabic/baseline/well", + "processors": "tfg:illagers/arabic_paths", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/mob_beast.json b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_beast.json new file mode 100644 index 000000000..137f09cbc --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_beast.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:illagers/mob_beast", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/mobs/beast", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/mob_goat.json b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_goat.json new file mode 100644 index 000000000..45e5aa5ab --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_goat.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:illagers/mob_goat", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/mobs/goat", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file From 8962abc743be136c422656bc421de9e4193a65cd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 20 Dec 2025 17:25:49 +0000 Subject: [PATCH 410/628] langs --- kubejs/assets/tfg/lang/en_us.json | 6 ++ kubejs/assets/tfg/lang/tr_tr.json | 137 ++++++++++++++++++++++++++++++ kubejs/assets/tfg/lang/zh_cn.json | 13 ++- 3 files changed, 153 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f394094b6..8daddd504 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1087,6 +1087,12 @@ "item.tfg.catalyser_pt_re_zsm": "Catalyser Pt-Re ZSM-5", "item.tfg.used_catalyser": "Used Catalyser Pt-Re ZSM-5", "item.tfg.loaded_resin": "Re-Loaded Resin", + "item.tfg.rod_mold": "Fire Rod Mold", + "item.tfg.small_gear_mold": "Fire Small Gear Mold", + "item.tfg.nugget_mold": "Nugget Mold", + "item.tfg.unfired_rod_mold": "Unfired Fire Rod Mold", + "item.tfg.unfired_small_gear_mold": "Unfired Fire Small Gear Mold", + "item.tfg.unfired_nugget_mold": "Unfired Nugget Mold", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", diff --git a/kubejs/assets/tfg/lang/tr_tr.json b/kubejs/assets/tfg/lang/tr_tr.json index eb30dc598..81b81f008 100644 --- a/kubejs/assets/tfg/lang/tr_tr.json +++ b/kubejs/assets/tfg/lang/tr_tr.json @@ -1,5 +1,142 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "quests.metal_age": "Metalurji Çağı", + "quests.metal_age.subtitle": "İlk Teknolojik Gelişmeleriniz!.", + "quests.metal_age.weld_bronze_ingots.title": "Bronzu kaynaklama", + "quests.metal_age.weld_bronze_ingots.subtitle": "bunlar kullanacağını söylemiştim", + "quests.metal_age.weld_bronze_ingots.desc": "herangi bir bronz çeşidinden 14 tane elde et, sonra onları bakır örste kaynakla.\n\n2. kademe örs Bizmut Bronzundan, Bronz yada Siyah Bronzdan yapılabilir, 3 tanesini karıştırmadan yapmak zorundasın.", + "quests.metal_age.anvil_recycling.title": "Örsü geri dönüştürmek mi?", + "quests.metal_age.anvil_recycling.subtitle": "14 külçe fazla gelmeye başladı değil mi?", + "quests.metal_age.anvil_recycling.desc": "yeni kademe örse geçtiğin zaman (Bakırdan Bronza, Bronzdan İşlenmiş Demire gibi olmak üzere), önceki kademe örs işe yaramaz hale gelir(bir nevi).\n\nHer neyse, metalden yapıldığından ötürü, you &ocan and should&r melt the previous tier of Anvil back into its liquid metal form!\nGrab a Vessel and place it on the right hand side of the Charcoal Forge interface, then place the Anvil and slowly heat it until it reaches the melting temperature. The molten metal will be deposited inside the Vessel, then you can cast it back into ingots or whatever you like!", + "quests.metal_age.bronze_anvil.title": "Kademe 2: Bronz Örs", + "quests.metal_age.bronze_anvil.subtitle": "basit mekanikal güç burda başlıyor", + "quests.metal_age.bronze_anvil.desc": "metallarle çalışmak sadece çift metal kaynamaklamaktan itibaren değil, aynı kademe veya daha üstü için örste çalışman gerekicek. Örs üzerinde çalışmak komplike olabilir, but there's an entry in the TFG Tips section of the field guide that goes into more detail.\n\nBronze also marks the start of automation, where you'll begin to harness mechanical power!", + "quests.metal_age.bronze_goodies.title": "bronze seviyesinde mekanik güç", + "quests.metal_age.bronze_goodies.subtitle": "Ah Hayır! Create gene", + "quests.metal_age.bronze_goodies.desc": "bronz yeterli kadar basit seviyede stress yükünü taşıyabilir ve bunu kullanabilirsin.\n\n&oİlkel Otomasyon&r ilgili göreve bakarak başlayabilirsin!", + "quests.metal_age.copper_diving.title": "Bakır Dalış Ekipmanları", + "quests.metal_age.copper_diving.subtitle": "madencilik yeterince tehlikeli gelmiyorsa", + "quests.metal_age.copper_diving.desc": "Su altı madenler sana sıkıntı mı çıkartıyor? Bakır Dalış Ekipman setini yapabilirsin, hava kaynağı ile 20 dakikaya kadar su altında durabilirsin!", + "quests.metal_age.bloomery.title": "Demir Eritme Fırını", + "quests.metal_age.bloomery.subtitle": "Demir Çağını arıyorsanız tam yerindesin!.", + "quests.metal_age.bloomery.desc": "Demir Eritme Fırını, işlenmemiş demir oluşturmanıza olanak tanıyan TerraFirmaCraft'ın Çoklu-bloğudur.. Demiri eritip dökmek, dökme demir olarak çıkar, Kırılgandır ve İşlenmiş Demir kadar güçlü veya dayanıklı değildir..\n\nDemir Eritme Fırını pahalıdır, cehver işleme hattı ve otomatik metal plaka yapan sistemi yapıp kurmak iyi bir yatırım olacaktır.\n\nSaha Rehberi, Demir Eritme Fırının nasıl çalıştığını ve gerekli duyduğu doğru orandaki demir ve odun kömürü oranları(1 külçe[144 mB] için 1 odun kömürü harcar) hakkında detaylı bir metin içerir..", + "quests.metal_age.mining.title": "Metalurji Çağında Madencilik", + "quests.metal_age.mining.subtitle": "KAYA VE TAŞ!", + "quests.metal_age.mining.desc": "Değerli kaynaklar ve cehverleri yer altından çıkarmak ve işlemek bu mod paketinin en önemli parçasıdır, ve inan bana Metalurji Çağı bir istisna değildir! ilerme katetmek için &lçok fazla&r madde ve metal harcıyacaksın , Madenci Çekici ile tek sefer birden fazla kazmak mümkün! bu alet normal kazmaya göre biraz daha yavaş olmasına rağmen tek kırışta 3x3x1 alanı kazar. eğer tek bir blok kırmak istiyorsan eğilerek kırman yeterlidir.", + "quests.metal_age.bellows.title": "Üfleç", + "quests.metal_age.bellows.subtitle": "Yüksek sıcaklıklara erişilebilir, küçük bir fiyatı ile.", + "quests.metal_age.bellows.desc": "üfleç ateş veya demirci ocağının sıcaklığını artırmak için hava üfleyen bir eşyadır, yakıtın üretiği ısıdan daha fazla ısı üretmesini sağlar, ama bu durum yakıtın süresini kısaltır.\n\ndaha yüksek sıcaklıklar belli başlı metal, ısıya dayanıklı porselen ve alaşımları eritmek ve pişirmek için gereklidir.\n\nkömür ve kok kömürü bu sıcaklıklara üfleç olmadan da ulaşırlar.", + "quests.metal_age.wrought_iron_anvil.title": "Kademe 3 Örs: İşlenmiş Demir", + "quests.metal_age.wrought_iron_anvil.subtitle": "Su değirmenleri, rüzgar değirmenleri ve daha fazla Greate!", + "quests.metal_age.wrought_iron_anvil.desc": "İşlenmiş Demir Örs ile İşlenmiş Demir Külçeleri plaka, alet başlıkları, gibi farklı öğelere dönüştürebileceksiniz.\n\nişlenmiş demirden yapılma alet ve zırhlar bronza göre çok ahım şahım özelik katmazlar, ama daha dayanıklılardırlar.\n\nBir sonraki örsü kademesini yapbilmek için zorlu ve önemli bir maceraya adım atacaksınız, yani bu noktada kendinize düzgün bir yere yerleşmek yeni şeyler keşfetmek ve bu modpaketinin sunduğu başka şeylere göz atmak için tam sırası.", + "quests.metal_age.coke_oven.title": "Kok Fırını", + "quests.metal_age.coke_oven.subtitle": "Sonunda, artık odun kömürü yığınına elveda", + "quests.metal_age.coke_oven.desc.1": "Kok Fırını senin ilk Greg Tech çoklu-bloğun! otomatik bir şekilde odun kömürü yapmanı ve başka güçlü yakıtları yapmanı sağlar. kok fırını 1 adet odunu 1 odun kömürüne ve 250 mB Creosote çevirir, tahtayı terbiye etmekte rol oynayan bir odun ürünü kimyasalıdır.\n\neğer kok fırını kontrol bloğunu yapar ve JEI ile tariflere bakarsan (standart olarak\"U\"tuşu),\"Çoklublok bilgisi\" isimli bir bölme ile karşılaşacaksın, aynı zamanda sana Çoklu-bloğu nasıl kuracağını da gösterir.\n\nbaşka bir yolu kontol bloğunu bir yere koy, ve eğilir vaziyete etkileşime geçin size eksik blokların hologramını gösterecektir.", + "quests.metal_age.coke_oven.desc.2": "kok fırınları kok fırını kapakları aracılığı ile otomasyona dökülebilir. bu kapaklar hem sıvı hemde eşyalar için giriş ve çıkış görevini aynı anda yaparlar.\n\nçok basit şekilde yapabilirsin, kok fırınına bir adet giriş için huni veya chute, bir sandık veya kasa 1. çıkışa, 2. çıkışa varil, fıçı, yada büyük tahta varil ise Creosote depolamak için. sandıklar kasalar gibi büyük eşyaları depolayamazlar örnek olarak odunlar. eğilerek sağ tıklarsan herangi bir greg tech borusunu tek yönlü yapabilirsin.", + "quests.metal_age.wrought_iron_goodies.title": "işlenmiş demir seviyesinde mekanik güç", + "quests.metal_age.wrought_iron_goodies.subtitle": "Bahsettiğiniz bu \"Andazit Alaşımı\" tam olarak ne?", + "quests.metal_age.wrought_iron_goodies.desc": "işlenmiş demir sayesinde Metal Casing yapabilir duruma geldin, create'deki gearbox gibi birçok mekanik parçanın ana gövdesini oluşturur. daha gelişmiş olanların bir kısmı için Çelik gereklidir, bu noktada otomatik ağaç ve tarım sistemi dizmek mümkün.\n\nCreosote Treated tahta kerestelerini oluşturmak için kullanılır, yani su değirmeni ve rüzgar değirmeni yapmakta kullanılır, hayvan gücüne göre daha gelişmiştir.", + "quests.metal_age.fire_clay_ingredients.title": "ısıya dayanıklı porselen tarifi (porselen takımı)", + "quests.metal_age.fire_clay_ingredients.subtitle": "Dur, daha karpuzu kesmedik.", + "quests.metal_age.fire_clay_ingredients.desc": "ısıya dayanıklı kili Kaolin, Grafit ve normal Kilden yapılmış özel bir kildir, böylelikle çok yüksek sıcaklıklara çıkabiliyor. Potanın iki farklı kullanım alanı vardır, birinci kil kabın daha gelişmiş bir halidir ve alaşım yapmayı kolaylaştırır, ve Yüksek Fırın için, yeni kademe örs ve metali yapmak için gereklidir, Çelik.\n\nçok uzaklara gidiceksin, Grafir ve Kaolin için evinden çok uzaklara gidiceksin, yani hazırlık en büyük anahtardır erken kalkan erken yol alır!", + "quests.metal_age.overworld_kaolin.title": "Kaolin kaynağı: Dünya", + "quests.metal_age.overworld_kaolin.subtitle": "Anlaşılan sizin memlekette orman kanunu geçerli", + "quests.metal_age.overworld_kaolin.desc": "Kaolin kili belli bölgede yüksek yerlerde, sıcaklık (en az ortalama 18°C), ve nem (en az 300mm yağış) önemli etmenlerdir. Kaolin kilini bulmak ve özeliklerini daha detaylı bilgi için Saha rehberini okuyunuz.\n\nGüneye gitmen gerekicek ama öyle böyle değil okyanusa açılıcak kadar. Kendini Demir Matara, yüksek miktarda Gıda, Kano, Kayık yada kayak hazırlayın, olabildiğince kaolin toplamak için taşınabilir depolama alanları yapın.\n\nTerraFirmaGreg ipuçları ve ulaşım araçları görev kısmına bakarak daha detaylı bilgi elde edinin.", + "quests.metal_age.beneath_kaolin.title": "Kaolin kaynağı: The Beneath", + "quests.metal_age.beneath_kaolin.subtitle": "Cehenneme kadar yolun var", + "quests.metal_age.beneath_kaolin.desc": "derine, daha DERİNLERE, Bedrock'u aşarak, The Beneath bulacaksınız, Her köşede akşam yemeği için sıraya girmiş yaratıklar ve labirent tipi mağara sistemi olan bir boyut. yüksek bölgelerde, yüksek bölgelerde Lush Hollow'u bulucaksınız, Kaolin Kilinin var olabileceği derinliklerde küçük yeşil bir vaha. belkide tanıdık bir yaratık onları koruyordur, her neyse...!\n\nHazır aşağıdasın, Antrasit de toplayabilirsin, Çeliği eritmek için mükemmel bir yakıt.\n\nBeneathde yaşamaya çalışmak zor, TerraFirmaGreg İpuçları görev kısmına ve Saha Rehberine bakarak bilgiler elde edebilirsin.", + "quests.metal_age.beneath_kaolin.task": "Bedrock seviyesinde inerek The Beneath'e giriş yap", + "quests.metal_age.overworld_graphite.title": "Grafit kaynağı: Dünya", + "quests.metal_age.overworld_graphite.subtitle": "yüzeydeki göstergeler sana yeterli olmaz mı?", + "quests.metal_age.overworld_graphite.desc": "grafit özelikle inanılmaz düz, geniş disk şekilinde var olurlar.\n\nderin mağaralara giderek araştırma yapman gerekicek! grafit cehver yatakları herangi bir taş türünde var olurlar ve beraberinde elmas ve kömür de bulunur. Her neyse, damarın derinliğinden dolayı, göstergeler yüzeyde var olmazlar. metal kalkan, Digger Helmet, Propik, ve dürbün gibi aletler işine yarayabilirler!", + "quests.metal_age.beneath_graphite.title": "Grafit kaynağı: The Beneath", + "quests.metal_age.beneath_graphite.subtitle": "yine Cehenneme kadar yolun var", + "quests.metal_age.beneath_graphite.desc": "derine, daha DERİNLERE, Bedrock'u aşarak, The Beneath bulacaksınız, Her köşede akşam yemeği için sıraya girmiş yaratıklar ve labirent tipi mağara sistemi olan bir boyut. Beneath'ın aşağı katlarında büyük, uzun grafit cehver damarları bulunur, belkide tanıdık bir yaratık onları koruyordur, her neyse...!\n\nHazır aşağıdasın, Antrasit de toplayabilirsin, Çeliği eritmek için mükemmel bir yakıt.\n\nBeneathde yaşamaya çalışmak zor, TerraFirmaGreg ipuçları görev kısmına ve Saha Rehberine bakarak bilgiler elde edebilirsin.", + "quests.metal_age.beneath_graphite.task": "Bedrock seviyesinde inerek The Beneath'e giriş yap", + "quests.metal_age.kaolin_clay.title": "Kaolin Kili", + "quests.metal_age.kaolin_clay.subtitle": "Kaolin Trek: Yeni Çağ", + "quests.metal_age.kaolin_clay.desc": "kaolin kilini bulunca, toplayabildiğin kadarını toplamalı ve götürmelisin! malesef ki, sadece yüzde 20 ihtimalle Kaolinite tozuna dönüşebilir, bunun için çukur ateşinde pişirirmesi önerilir, yer kazanamak ve işlemi hızlandırmak için.\n\nPota ve Yüksek Fırını yaptıktan sonra, daha fazlasına ihtiyacın olmayacak, ama evdeki hesap çarşıya uymaz o yüzden gereğinden daha fazlasını topla ve götür, böylelikle tekrar yolculuğa çıkmak zorunda kalmazsın.\n\nP.S.: eğer blood lily bulursan ama kil ortalıkta yoksa, biraz daha aşağısını kaz! Bazen biraz yerin altında çıkıyor.", + "quests.metal_age.graphite.title": "Grafit", + "quests.metal_age.graphite.subtitle": "kalemde kurşun var diyen gence tokat gibi cevap: kalemde grafit var", + "quests.metal_age.graphite.desc": "grafiti bulunca, toplayabildiğin kadar toplamalısın! kaolin kili kadar toplamana gerek yok.\ngrafit damarları zengindir ve beraberinde kömür ve elmas bulundurur, ve Çelik için kömüre ihtiyacın olacak.", + "quests.metal_age.graphite.task": "herangi bir formda grafit bul", + "quests.metal_age.fire_clay.title": "Ateşe Dayanıklı Kil", + "quests.metal_age.fire_clay.subtitle": "yakarım romayıda yakarım", + "quests.metal_age.fire_clay.desc": "kaolin kilini ısıtarak kaolin tozunu elde et. Demirci ocağında da yapabilirsin, ama büyük miktardaysa kil kaplara koyup çukur ateşinde pişirirmesi önerilir.\n\ngrafit konusuna gelince, cehveri normal iekilde işle, parçala toz hale getir ve tekrardan işlemden geçirerek pudra hale getirin.\n\nson olarak, 4 grafit pudrasını, 4 Kaolin tozunu, ve 1 kil ile birleştirerek ateşe dayanıklı kili oluştur.", + "quests.metal_age.fire_clay_products.title": "Ateşe Dayanaklı Kil ürünleri", + "quests.metal_age.fire_clay_products.subtitle": "10 dakikada yanmama garantili", + "quests.metal_age.fire_clay_products.desc": "sıradan kilde olduğu gibi, ateşe dayanıklı kil kırpılarak ateş için hazır hale getirir. en önemlisi, ateşe dayanıklı kil hem pota hemde ateşe dayanıklı tuğla yapımında kullanılır, ki ikiside yüksek fırın yapımında çok önemlidir.\n\naynı zamanda kalıp masası ve döküm kanalları yapılabilir, potadaki erimiş metali birden fazla kalıba doldurarak işi hızlandırır.\n\nSon olarak, ateşe dayanıklı kalıp var, ateşe dayanıklı kalıp kırılma ihtimali yüzde bir, normal kilden yapılma kalıp yüzde 10 ihtimal ile kırılır.", + "quests.metal_age.crucible.title": "Pota", + "quests.metal_age.crucible.subtitle": "metalleri profesyonel gibi erit", + "quests.metal_age.crucible.desc": "pota demirci ocağının üstüne koyulan bir eşyadır. 9 envanteri ve 4032mB sıvı depolamasına sahip , aynı zamanda yaptığın alaşımların yüzdesini gösteren bir gösterge. içindeki eşya ve sıvılar kırılsa bile içinde kalmaya devam ederler. aynı zamanda yüksek fırından domuz demirini toplamaya yarar.\n\naklında bulundur pota içindeki herşeyi çorba yapar gibi alaşım yapmaya çalışır - Tc dökümhanesi gibi ayırmaz - onun için temiz tutmak önemlidir.", + "quests.metal_age.fire_bricks.title": "Ateş Tuğlası", + "quests.metal_age.fire_bricks.subtitle": "yüksek fırın için", + "quests.metal_age.fire_bricks.desc": "Ateş tuğlaları yüksek fırının yapımında kullanılır, minimum fırın için en az 4 tuğla bloğuna ihtiyacın var.\n\ntuğlalar çeliğin daha verimli olması için yalıtım sağlar, tuğlanın çevresine 3 demir plaka, Blast Furnace Insulation kullanabilirsin", + "quests.metal_age.fully_stacked_blast_furnace.title": "son kademe yüksek fırın", + "quests.metal_age.fully_stacked_blast_furnace.subtitle": "tamamlanmış yüksek fırın", + "quests.metal_age.fully_stacked_blast_furnace.desc": "son kademe yüksek fırın en üst seviye metal eritme özeliği ile gelir. yapabileceğin kadar büyük yapmak iyi bir fikirdir, çünkü gelecek için çok fazla çeliğe ihtiyacın olacak.\n\nilk buharlı alaşım fırınını elde edince çok daha ucuza elde edebileceksin, böylelikle daha fazla tuğla yapmanı sağlıcak.", + "quests.metal_age.blast_furnace_fuel.title": "yüksek fırına yakıt", + "quests.metal_age.blast_furnace_fuel.subtitle": "önceki görevleri okuyup takip etmisindir umarım...", + "quests.metal_age.blast_furance_fuel.desc": "Çelik eritmek için odun kömürü yetersizdir. Kok veya taşkömürüne ihtiyacın var.\n\nKok fırınına kömür koyarak kok elde edilebilir, taşkömürü Beneath maden olarak çıkar.", + "quests.metal_age.blast_furnace.title": "yüksek fırın", + "quests.metal_age.blast_furnace.subtitle": "bak şurdaki yüksek fırın sana g...'", + "quests.metal_age.blast_furnace.desc": "yüksek fırın domuz demiri oluştumanıza yarayan bir multi-block yapıdır. demir, akı ve yakıt koyularak oluştururur (göreve bak) yüksek fırının içerisindeki domuz demiri sıvı haldedir, külçe halke getirilip işlenerek çeliğe dönüşür.\n\nyüksek fırının yüksek sıcaklıklara çıkması için, üfleçe ihtiyacın var, yüksek fırının içine tuyere koyman lazım ki havayı içeri üflesin.\n\nSaha rehberi sana yüksek fırınların nasıl çalıştığını nasıl kurulduğunu gösterir.", + "quests.metal_age.steel_anvil.title": "T4 Örs: Çelik", + "quests.metal_age.steel_anvil.subtitle": "işlenmiş demirden çeliğe büyük adım atmak demek", + "quests.metal_age.steel_anvil.desc": "Çelik örs ile, Çelik üstünde çalışarak onu farklı formlara sokabilirsin.\n\nÇelik eşyalar özelik olarak bronz ve demirdan daha iyidir, yani eski aletlerin kırılmak üzereyken yeni aletleri Çelikten yapmaya değer. ilerde çok fazla Çelikle ilgili alaşım yapcaksın, yani maden için yeni oyuncaklar yapmanı öneririm.", + "quests.metal_age.steel_goodies.title": "Çelik gücünde mekanik güç", + "quests.metal_age.steel_goodies.subtitle": "Üfle, Parçala, ve tut şunun ucundan düşüyelim abi", + "quests.metal_age.steel_goodies.desc": "Çelik yeni Greate kademesi açar, LS, artmış stress taşıma kapasitesi ile! yapabileceğin şeyler arasından Encased Fan, cehver yıkamayı otomatikleştirir, ve mekanik pompa, sıvı lojistiğine daha fazla imkan sunar.\n\nmekanik pompa işe yarar, zekice davranarak (yada zeki isen), yüksek fırını otomatiğe dökebilirsin (nerdeyse).", + "quests.metal_age.weak_steel.title": "Zayıf Çelik içeriği", + "quests.metal_age.weak_steel.subtitle": "matematik bilseydim okul okumazdım", + "quests.metal_age.weak_steel.desc": "Siyah çeliği yapmak için zayıf Çelik yapmak ana parçalardan biridir. 2 Parça Çelik, 1 Parça Nikel ve 1 Parça Siyah Bronz ile alaşım yapılabilir.\n\nzayıf çeliğin tarifine bakarak alaşım oranına daha detaylı bakabilirsin.", + "quests.metal_age.weak_steel.task1": "1 Parça Nikel", + "quests.metal_age.weak_steel.task2": "2 Parça Çelik", + "quests.metal_age.weak_steel.task3": "1 Part Siyah Bronz", + "quests.metal_age.highcarb_black_steel.title": "Siyah Çelik içerikleri", + "quests.metal_age.highcarb_black_steel.subtitle": "onun hakkında bir şey diyemiyoruz malesef", + "quests.metal_age.highcarb_black_steel.desc": "son iki kademe örs tamamen karmaşık alaşımlar ile yapılmaktadır. Zayıf Çeliği ile Domuz Demiri lehimlenerek yüksek karbon Siyah Çelik yapılabilir, daha sonra işlenerek Siyah çeliğe oda örse dönüşücek.", + "quests.metal_age.black_steel_anvil.title": "T5 Örs: Siyah Çelik", + "quests.metal_age.black_steel_anvil.subtitle": "Buhar gücü parmağınızın arasında!", + "quests.metal_age.black_steel_anvil.desc": "Siyah Çelik örs ile, Siyah Çelik üstünde çalışarak onu farklı formlara sokabilirsin.\n\nerken otomasyon çağında Siyah Çelik ile komple bir 2. sanayi devri açtın!\n\nbu kısımda ya sanayileşmeye başlarsın yada son kademe Çelikle ilgili şeyleride yapabilirsin. renkli Çeliklerden sonsuza kadar kaçamazsın, unutma!", + "quests.metal_age.black_steel_goodies.title": "Siyah Çelik seviyesinde otomasyon", + "quests.metal_age.black_steel_goodies.subtitle": "sanayi devri ve sonuçları", + "quests.metal_age.black_steel_goodies.desc": "Siyah Çelik ile buhar çağına başlıyabilirsin! güçlü buhar kazanları yapana kadar küçük buhar kazanları ile çalışıcaksın, bu yeni makineleri yakıtı fulle ve elektronik devre üretimine başla.", + "quests.metal_age.red_blu.title": "Kırmızı ve Mavi Çelik", + "quests.metal_age.red_blu.subtitle": "eski modlu minecraft'ın iki fantazi ürünü", + "quests.metal_age.red_blu.desc": "son kademe örs kırmızı veya mavi Çelikten de yapılabilir sonuçta aynı amaca hizmet ederler. ama ikiside farklı alaşımlanan ve farklı amaçlara hizmet eden iki farklı metaldir.\n\nMavi Çelik eşyalar hızlı ve sıcaklığa inanılmaz dayanıklıdır, kırmızı Çelik ise güçlü ve ömürlük dayanıklığa sahiptir.", + "quests.metal_age.weak_red_steel.title": "zayıf kırmızı Çelik tarifi", + "quests.metal_age.weak_red_steel.subtitle": "biraz bundan biraz şundan...", + "quests.metal_age.weak_red_steel.desc": "önceki gibi, Zayıf Kırmızı Çelik, Kırmızı Çeliğin ham maddesidir. Bu alaşım için 4 parça Siyah Çelik, 2 Parça Çelik, 1 Parça Pirinç, ve 1 parça Gül Altını.\n\nSıvı Zayıf Kırmızı çeliğin tarifine bakarak daha detaylı oranlarını öğrenebilirsin.", + "quests.metal_age.weak_red_steel.steel": "2 Parça Çelik", + "quests.metal_age.weak_red_steel.black_steel": "4 Parça Siyah Çelik", + "quests.metal_age.weak_red_steel.brass": "1 Parça Pirinç", + "quests.metal_age.weak_red_steel.rose_gold": "1 Parça Gül Altın", + "quests.metal_age.weak_blu_steel.title": "zayıf mavi Çelik tarifi", + "quests.metal_age.weak_blu_steel.subtitle": "patron çıldırdı.", + "quests.metal_age.weak_blu_steel.desc": "önceki gibi, Zayıf Mavi Çelik, Mavi Çeliğin ham maddesidir. Bu alaşım için 4 parça Siyah Çelik, 2 Parça Çelik, 1 parça Bismut Bronzu, ve 1 parça Sterling Gümüşü.\n\nSıvı Zayıf Mavi çeliğin tarifine bakarak daha detaylı oranlarını öğrenebilirsin.", + "quests.metal_age.weak_blue_steel.steel": "2 Parça Çelik", + "quests.metal_age.weak_blue_steel.black_steel": "4 Parça Siyah Çelik", + "quests.metal_age.weak_blue_steel.sterling_silver": "1 Parça Sterling Gümüşü", + "quests.metal_age.weak_blue_steel.bismuth_bronze": "1 Parça Bismut Bronzu", + "quests.metal_age.highcarb_red_steel.title": "Kırmızı Çelik içerikleri", + "quests.metal_age.highcarb_red_steel.subtitle": "sizce otet'in altında hayatta kalabilir mi?", + "quests.metal_age.highcarb_red_steel.desc": "Kırmızı Çelik hayatına Yüksek Karbon Kırmızı Çelik olarak başlar, yani Zayıf Kırmızı Çelik ile Siyah Çeliğin lehimlenmesi sonucu var olur. yinede örste dövülmesi lazım ki Kırmızı Çelik olsun", + "quests.metal_age.highcarb_blu_steel.title": "Mavi Çelik içerikleri", + "quests.metal_age.highcarb_blu_steel.subtitle": "öyle bir alaşım düşünün tungsten ile aynı erime sıcaklığna ait ama bil bakalım kim ocakta erimiyor?", + "quests.metal_age.highcarb_blu_steel.desc": "Mavi Çelik hayatına Yüksek Karbon Mavi Çelik olarak başlar, yani Zayıf Mavi Çelik ile Siyah Çeliğin lehimlenmesi sonucu var olur. yinede örste dövülmesi lazım ki Mavi Çelik olsun", + "quests.metal_age.redblu_anvil.title": "T6 Örs: Kırmızı yada Mavi Çelik", + "quests.metal_age.redblu_anvil.subtitle": "şimdi sıra Sarı Çelikte (!)", + "quests.metal_age.redblu_anvil.desc": "Son kademe ÖRS! Kırmızı ve Mavi Çelik üstünde çalışarak onu farklı formlara sokabilirsin.\n\nbu TerraFirmaCraft'ın son noktasıdır! 2. Sanayi devrimini başlatmak için düşük voltaj parçaların üretimine başla.", + "quests.metal_age.red_steel_flask.title": "Kırmızı Çelik Matara", + "quests.metal_age.red_steel_flask.subtitle": "aynı bokun laciverti (daha dayanıklısı)", + "quests.metal_age.red_steel_flask.desc": "Kırmızı Çelik Matara elde edebileceğin en iyi mataradır. Demir Matara ile aynı miktarda Sıvı tutuyor olması sizi yanıltmasın, çünkü Kırmızı Çelik Matara asla kırılmaz.", + "quests.metal_age.redblu_buckets.title": "Kova malzemeleri", + "quests.metal_age.redblu_buckets.subtitle": "mavi ile kırmızı birleşince mor olur demi? nah mor olur", + "quests.metal_age.redblu_buckets.desc": "Metalurji Çağının son görevi kova yapmaktır. şu ana kadar kullandığın herangi bir sıvı depolama ve tahta kovaya nazaran, Kova ile sıvıları başka yerden başka yere koyabilir ve en önemlisi lav taşıyabilirsin!.", + "quests.metal_age.this_is_a_bucket.title": "bu... bu bir kova?", + "quests.metal_age.this_is_a_bucket.subtitle": "Aman Allah'ım...", + "quests.metal_age.this_is_a_bucket.desc": "Tebrikler kova yapmayı başardın. Metalurji çağı resmi olarak bitti.\n\nşimdi git ve düşük voltaj parçalarını yapmaya başla!", "quests.stone_age": "Taş devri", "quests.stone_age.subtitle": "Mütevazi başlangıçlar", "quests.stone_age.foods.title": "Acıktın mı?", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e805095b7..529cf497f 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1181,6 +1181,12 @@ "item.tfg.catalyser_pt_re_zsm": "铂-铼/ZSM-5催化剂", "item.tfg.used_catalyser": "废铂-铼/ZSM-5催化剂", "item.tfg.loaded_resin": "再负载树脂", + "item.tfg.rod_mold": "耐火铸杆模具", + "item.tfg.small_gear_mold": "耐火小型齿轮模具", + "item.tfg.nugget_mold": "铸粒模具", + "item.tfg.unfired_rod_mold": "未烧制的耐火铸杆模具", + "item.tfg.unfired_small_gear_mold": "未烧制的耐火小型齿轮模具", + "item.tfg.unfired_nugget_mold": "未烧制的铸粒模具", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1654,10 +1660,11 @@ "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.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓", - "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓", + "tfg.tooltip.machine.one_energy_hatch": "只允许有且仅有§61个§f能源仓。", + "tfg.tooltip.machine.two_energy_hatches": "允许有最多§62个§r能源仓。", "tfg.tooltip.machine.subtick": "这台机器支持§2子刻机制§r!", - "tfg.tooltip.machine.coil_energy_discount": "使用§6白铜§r后的每个线圈等级可以减少§f10%§7的能源消耗。", + "tfg.tooltip.machine.coil_energy_discount": "使用§6白铜§r后的每个线圈等级可以减少10%的能源消耗。", + "tfg.tooltip.machine.coil_speed_discount": "§a白铜§7线圈会使处理速度减慢75%,§3坎塔尔合金§r后的每个线圈都会增加50%的速度。", "tfg.tooltip.machine.bioreactor_1": "§7化学与生物学的交汇§r", "tfg.tooltip.machine.bioreactor_2": "§7通过融合有机与无机成分制造合成生物制品§r", "tfg.tooltip.machine.growth_chamber_1": "§7孕育新生§r", From 757dd63ff65858cfc14eed684cabdcbe146930b0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 20 Dec 2025 17:58:23 +0000 Subject: [PATCH 411/628] Add mossy cobble to beneath, fix bastion loot chests (#2485) * add mossy cobble blobs to beneath * fix deepslate mossy cobble landslide * fix mossy cobble * fix bastion chests --- .../loot_tables/chests/bastion_bridge.json | 2 +- .../chests/bastion_hoglin_stable.json | 2 +- .../loot_tables/chests/bastion_other.json | 2 +- .../tfg/worldgen/biome/nether/ash_forest.json | 3 +- .../worldgen/biome/nether/basalt_deltas.json | 3 +- .../biome/nether/decaying_caverns.json | 3 +- .../worldgen/biome/nether/diorite_caves.json | 3 +- .../worldgen/biome/nether/gabbro_caves.json | 3 +- .../worldgen/biome/nether/gneiss_caves.json | 3 +- .../worldgen/biome/nether/granite_caves.json | 3 +- .../tfg/worldgen/biome/nether/lava_floes.json | 3 +- .../worldgen/biome/nether/lush_hollow.json | 4 +- .../worldgen/biome/nether/schist_caves.json | 3 +- .../worldgen/biome/nether/webbed_lair.json | 3 +- .../nether/terrain/mossy_cobble.json | 99 +++++++++++++++++++ .../nether/terrain/mossy_cobble.json | 24 +++++ .../tfg/natural_blocks/recipes.collapse.js | 2 +- 17 files changed, 150 insertions(+), 15 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mossy_cobble.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mossy_cobble.json diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json index 6aaa98888..95c89e635 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\":1},}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\":1}}" } ], "weight": 100 diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json index 3c73933cf..cb2e48916 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\": 1}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\": 1}}" } ], "weight": 100 diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json index e43b9d277..95c89e635 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\":1}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\":1}}" } ], "weight": 100 diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index c9cd4251f..3014a34d6 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -50,7 +50,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "minecraft:spring_delta", diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 6472a30a6..94e99b931 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -52,7 +52,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "minecraft:spring_delta", diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index 6cbfa40de..419bd5819 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -51,7 +51,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "beneath:blackstone_boulders", diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index c81f371e0..ad91ba528 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -47,7 +47,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "beneath:blackstone_boulders", diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index dbd3d9c92..35edf53c6 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -47,7 +47,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "beneath:blackstone_boulders", diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index 037f3abe5..8e48d183a 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -48,7 +48,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "beneath:blackstone_boulders", diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index ab5dc1fb6..5f8e8e0ac 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -48,7 +48,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "beneath:blackstone_boulders", diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index fc9ed3bef..a3163c71b 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -51,7 +51,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "minecraft:spring_delta", diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index e3c576ac1..ab9622948 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -46,7 +46,9 @@ [], "#tfg:nether_veins", "#tfg:nether_underground_decoration", - [], + [ + "tfg:nether/terrain/mossy_cobble" + ], [ "beneath:blackstone_boulders", "tfg:nether/surface/loose_deepslate", diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 8c88bae78..1f6c953fe 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -47,7 +47,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "beneath:blackstone_boulders", diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index 327f54f8f..68e4b223d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -40,7 +40,8 @@ "#tfg:nether_veins", "#tfg:nether_underground_decoration", [ - "tfg:nether/terrain/spring_lava" + "tfg:nether/terrain/spring_lava", + "tfg:nether/terrain/mossy_cobble" ], [ "beneath:blackstone_boulders", diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mossy_cobble.json b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mossy_cobble.json new file mode 100644 index 000000000..6883d59a0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/terrain/mossy_cobble.json @@ -0,0 +1,99 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0, + "size": 20, + "targets": [ + { + "state": { + "Name": "tfg:rock/mossy_cobble_deepslate" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:deepslate" + } + }, + { + "state": { + "Name": "tfg:rock/mossy_cobble_blackstone" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:blackstone" + } + }, + { + "state": { + "Name": "tfg:rock/mossy_cobble_dripstone" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "minecraft:dripstone_block" + } + }, + { + "state": { + "Name": "tfg:rock/mossy_cobble_crackrack" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "beneath:crackrack" + } + }, + { + "state": { + "Name": "tfc:rock/mossy_cobble/diorite" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/diorite" + } + }, + { + "state": { + "Name": "tfc:rock/mossy_cobble/gabbro" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/gabbro" + } + }, + { + "state": { + "Name": "tfc:rock/mossy_cobble/gneiss" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/gneiss" + } + }, + { + "state": { + "Name": "tfc:rock/mossy_cobble/granite" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/granite" + } + }, + { + "state": { + "Name": "tfc:rock/mossy_cobble/schist" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/schist" + } + }, + { + "state": { + "Name": "tfc:rock/mossy_cobble/basalt" + }, + "target": { + "predicate_type": "minecraft:block_match", + "block": "tfc:rock/raw/basalt" + } + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mossy_cobble.json b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mossy_cobble.json new file mode 100644 index 000000000..0255d382d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/nether/terrain/mossy_cobble.json @@ -0,0 +1,24 @@ +{ + "feature": "tfg:nether/terrain/mossy_cobble", + "placement": [ + { + "type": "minecraft:count", + "count": 20 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:trapezoid", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "absolute": 32 + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js index 2c39a3f07..25c6a741b 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.collapse.js @@ -22,7 +22,7 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile') event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate') - event.recipes.tfc.landslide('minecraft:mossy_cobbled_deepslate', 'minecraft:mossy_cobbled_deepslate') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_deepslate', 'tfg:rock/mossy_cobble_deepslate') event.recipes.tfc.landslide('tfg:rock/cobble_blackstone', 'tfg:rock/cobble_blackstone') event.recipes.tfc.landslide('tfg:rock/mossy_cobble_blackstone', 'tfg:rock/mossy_cobble_blackstone') event.recipes.tfc.landslide('tfg:rock/cobble_dripstone', 'tfg:rock/cobble_dripstone') From 6bc4bcbb4d9d5a7bddd03c8b9fdf8635528a8cbe Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 20 Dec 2025 18:03:03 +0000 Subject: [PATCH 412/628] fix some jigsaws turning into stairs instead of air --- .../tfg/structures/arabic/baseline/house2.nbt | Bin 6657 -> 6653 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/kubejs/data/tfg/structures/arabic/baseline/house2.nbt b/kubejs/data/tfg/structures/arabic/baseline/house2.nbt index b13a3f48c16569d8b7d4b0b65d58d56e5a032f11..d58f6eeb7a65688a0f26509ad91f8783b6a344fe 100644 GIT binary patch literal 6653 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 siRveNgj8u Date: Sat, 20 Dec 2025 10:21:35 -0800 Subject: [PATCH 413/628] Fixed inventoryHud overlap (#2484) --- config/InventoryHUD/curios.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/InventoryHUD/curios.json b/config/InventoryHUD/curios.json index ca2f9ff64..eb0aca1d4 100644 --- a/config/InventoryHUD/curios.json +++ b/config/InventoryHUD/curios.json @@ -1,6 +1,6 @@ { "clothes_hat": { - "x": 20, + "x": 30, "y": 98, "enabled": true, "halign": "LEFT", @@ -63,7 +63,7 @@ "valign": "BOTTOM" }, "clothes_torso": { - "x": 20, + "x": 30, "y": 80, "enabled": true, "halign": "LEFT", @@ -98,14 +98,14 @@ "valign": "TOP" }, "clothes_pants": { - "x": 20, + "x": 30, "y": 62, "enabled": true, "halign": "LEFT", "valign": "BOTTOM" }, "clothes_socks": { - "x": 20, + "x": 30, "y": 44, "enabled": true, "halign": "LEFT", From 7b43091b900bbca75ca2f95007a4d52f7cf5395d Mon Sep 17 00:00:00 2001 From: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> Date: Sat, 20 Dec 2025 10:22:24 -0800 Subject: [PATCH 414/628] added super silly secret item (#2482) --- kubejs/assets/emi/index/stacks/hidden.json | 3 ++- kubejs/server_scripts/extended_ae2/recipes.js | 13 +++++++++++++ kubejs/startup_scripts/gtceu/constants.js | 3 ++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/emi/index/stacks/hidden.json b/kubejs/assets/emi/index/stacks/hidden.json index ef4783295..c070e2285 100644 --- a/kubejs/assets/emi/index/stacks/hidden.json +++ b/kubejs/assets/emi/index/stacks/hidden.json @@ -1,5 +1,6 @@ { "removed": [ - "item:gtceu:sus_record" + "item:gtceu:sus_record", + "expatternprovider:fishbig" ] } \ No newline at end of file diff --git a/kubejs/server_scripts/extended_ae2/recipes.js b/kubejs/server_scripts/extended_ae2/recipes.js index 7160e76cb..13dd5c1f5 100644 --- a/kubejs/server_scripts/extended_ae2/recipes.js +++ b/kubejs/server_scripts/extended_ae2/recipes.js @@ -869,6 +869,19 @@ const registerExtendedAE2Recipes = (event) => { .EUt(GTValues.VA[GTValues.IV]) .dimension('ad_astra:moon') + event.recipes.shaped( + Item.of('expatternprovider:fishbig'), + [ + 'CCC', + 'CFC', + 'CCC' + ], + { + C: '#tfc:sewing_light_cloth', + F: '#minecraft:fishes' + } + ) + //#endregion } diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 69fb165d4..152c7923f 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -246,7 +246,8 @@ global.GTCEU_HIDED_ITEMS = /** @type {const} */ ([ "gtceu:iv_damascus_steel_wrench", "gtceu:lv_damascus_steel_screwdriver", - "gtceu:sus_record" + "gtceu:sus_record", + "expatternprovider:fishbig" ]); //#endregion From 64010830239eb165d14279c618c29441279818fd Mon Sep 17 00:00:00 2001 From: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> Date: Sat, 20 Dec 2025 10:22:58 -0800 Subject: [PATCH 415/628] Added hardened rock recipes (#2480) --- .../tfg/natural_blocks/recipes.rocks.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 50f268ca4..c9f7bcdee 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -48,7 +48,18 @@ function registerTFGRockRecipes(event) { { loose: 'minecraft:popped_chorus_fruit', block: '4x minecraft:purpur_block' }, - { loose: 'gtceu:stone_ingot', block: '4x minecraft:stone_bricks' } + { loose: 'gtceu:stone_ingot', block: '4x minecraft:stone_bricks' }, + + { loose: 'minecraft:deepslate', block: '2x tfg:rock/hardened_deepslate' }, + { loose: 'minecraft:blackstone', block: '2x tfg:rock/hardened_blackstone' }, + { loose: 'minecraft:dripstone_block', block: '2x tfg:rock/hardened_dripstone' }, + { loose: 'ad_astra:moon_stone', block: '2x tfg:rock/hardened_moon_stone' }, + { loose: 'ad_astra:moon_deepslate', block: '2x tfg:rock/hardened_moon_deepslate'}, + { loose: 'ad_astra:mars_stone', block: '2x tfg:rock/hardened_mars_stone'}, + { loose: 'ad_astra:venus_stone', block: '2x tfg:rock/hardened_venus_stone'}, + { loose: 'ad_astra:mercury_stone', block: '2x tfg:rock/hardened_mercury_stone'}, + { loose: 'ad_astra:glacio_stone', block: '2x tfg:rock/hardened_glacio_stone'}, + { loose: 'gtceu:red_granite', block: '2x tfg:rock/hardened_red_granite'} ] GLUEING_TOGETHER.forEach(x => { From a3013eec8cde8b38f8e1cada757c56758bba2916 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 20 Dec 2025 18:26:24 +0000 Subject: [PATCH 416/628] add multiblock wood tank quest, added tungsten line to oreproc section --- .../quests/chapters/ev__extreme_voltage.snbt | 7 +- .../quests/chapters/ore_processing.snbt | 8 ++- .../quests/chapters/questssteam_age.snbt | 67 ++++++++++++++----- kubejs/assets/tfg/lang/en_us.json | 6 +- 4 files changed, 69 insertions(+), 19 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 054f016f5..332cca8f7 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -161,8 +161,11 @@ y: -2.0d } { - dependencies: ["4EA8888B12D75BF1"] - dependency_requirement: "all_started" + dependencies: [ + "4EA8888B12D75BF1" + "00004BE1D77EA003" + ] + dependency_requirement: "one_completed" description: ["{quests.extreme_voltage.tunsgten_line_step_1.desc}"] icon: "gtceu:tungstic_acid_dust" id: "04682CD04FE0A56E" diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index 05323720f..d09cdf899 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -202,7 +202,13 @@ { id: "50BB4A87A144C6CD" linked_quest: "2814C6FA71B07C95" - x: 12.0d + x: 12.5d + y: -0.5d + } + { + id: "6F65BC54BA5491ED" + linked_quest: "04682CD04FE0A56E" + x: 11.5d y: -0.5d } ] diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index f1d6fdf7f..327213c5f 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -19,7 +19,7 @@ { id: "39027CF4DC307D33" linked_quest: "5E186CD5E83BFDF0" - x: -29.0d + x: -28.5d y: 2.0d } { @@ -40,7 +40,7 @@ linked_quest: "48A8E3210B2BAE1C" shape: "octagon" size: 2.0d - x: -29.0d + x: -28.5d y: 0.0d } { @@ -53,7 +53,7 @@ { id: "65E0B13E245D2E5F" linked_quest: "379F434116632A89" - x: -25.0d + x: -26.0d y: 1.0d } { @@ -79,7 +79,7 @@ ] description: ["{quests.steam_age.basic_millstone.desc}"] id: "48C1E980F7D64317" - size: 1.5d + size: 1.0d subtitle: "{quests.steam_age.basic_millstone.subtitle}" tasks: [{ id: "486DE7D228F3589B" @@ -87,7 +87,7 @@ type: "item" }] title: "{quests.steam_age.basic_millstone.title}" - x: -19.5d + x: -20.5d y: 0.0d } { @@ -105,12 +105,16 @@ type: "item" }] title: "{quests.steam_age.horse_crank.title}" - x: -23.5d + x: -24.5d y: -2.0d } { dependencies: ["7B045998769930F0"] - description: ["{quests.steam_age.helve_hammer.desc}"] + description: [ + "{quests.steam_age.helve_hammer.desc.1}" + "{@pagebreak}" + "{quests.steam_age.helve_hammer.desc.2}" + ] id: "611EB6284CA7119C" size: 1.0d subtitle: "{quests.steam_age.helve_hammer.subtitle}" @@ -120,7 +124,7 @@ type: "item" }] title: "{quests.steam_age.helve_hammer.title}" - x: -19.5d + x: -20.5d y: -4.0d } { @@ -148,7 +152,7 @@ } ] title: "{quests.steam_age.basic_greate.title}" - x: -19.5d + x: -20.5d y: -2.0d } { @@ -1173,7 +1177,7 @@ } ] title: "{quests.steam_age.create_tools.title}" - x: -21.5d + x: -22.5d y: -4.0d } { @@ -1247,6 +1251,7 @@ dependencies: ["1059288C22CB56BB"] dependency_requirement: "one_completed" description: ["{quests.steam_age.poor_paths.desc}"] + icon: "tfc:dirt/loam" id: "6356072A435EFE81" optional: true shape: "diamond" @@ -1286,13 +1291,14 @@ } ] title: "{quests.steam_age.poor_paths.title}" - x: -25.0d + x: -26.0d y: -3.5d } { dependencies: ["1059288C22CB56BB"] dependency_requirement: "one_completed" description: ["{quests.steam_age.normal_paths.desc}"] + icon: "tfc:grass_path/silty_loam" id: "494E81202B0F36A7" optional: true shape: "diamond" @@ -1337,7 +1343,7 @@ } ] title: "{quests.steam_age.normal_paths.title}" - x: -25.5d + x: -26.5d y: -2.0d } { @@ -1347,6 +1353,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.steam_age.good_paths.desc}"] + icon: "rnr:rock/sett_road/granite" id: "52A82511A64B0A5B" optional: true shape: "diamond" @@ -1394,7 +1401,7 @@ } ] title: "{quests.steam_age.good_paths.title}" - x: -25.0d + x: -26.0d y: -0.5d } { @@ -1454,7 +1461,7 @@ type: "item" }] title: "{quests.metal_age.bronze_goodies.title}" - x: -21.5d + x: -22.5d y: -2.0d } { @@ -1641,7 +1648,7 @@ type: "item" }] title: "{quests.steam_age.basic_mech_press.title}" - x: -17.5d + x: -18.5d y: -2.0d } { @@ -1718,6 +1725,36 @@ x: -12.0d y: 13.0d } + { + dependencies: ["0D0D461AE3A3F7BF"] + description: ["{quests.steam_age.multiblock_tank.desc}"] + icon: "gtceu:wooden_multiblock_tank" + id: "636B13A7B9755F2A" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.multiblock_tank.subtitle}" + tasks: [ + { + id: "0522DC5B9C4560B3" + item: "gtceu:wooden_multiblock_tank" + type: "item" + } + { + count: 24L + id: "6AE2B07A7FEA130F" + item: { Count: 24, id: "gtceu:wood_wall" } + type: "item" + } + { + id: "1580633542EB6DFB" + item: "gtceu:wooden_tank_valve" + type: "item" + } + ] + title: "{quests.steam_age.multiblock_tank.title}" + x: -16.5d + y: -2.0d + } ] subtitle: ["{quests.steam_age.subtitle}"] title: "{quests.steam_age}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 8daddd504..1b33043f3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3704,7 +3704,11 @@ "quests.steam_age.good_paths.desc": "These are the best kind of paths you could use, letting your crank output at 32 RPM. These kinds of paths also increases the player's move speed too, so they're great to pave your base with!", "quests.steam_age.helve_hammer.title": "Helve Hammer", "quests.steam_age.helve_hammer.subtitle": "CLANG... CLANG... CLANG...", - "quests.steam_age.helve_hammer.desc": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it by pressing the &2Throw Item key (Default: Q)&r, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", + "quests.steam_age.helve_hammer.desc.1": "Does crafting all those plates for a Bloomery look tedious? The &3Helve Hammer&r will automatically (but slowly) flatten double ingots into plates for you. You'll still have to do the welding yourself though. Simply place an anvil directly under the hammer and throw your double ingots onto it by pressing the &2Throw Item key (Default: Q)&r, then right-click the hammer to get your plates out.\n\nHigher tier anvils will also require fewer hits to make plates from the previous tier.", + "quests.steam_age.helve_hammer.desc.2": "Be sure to use cogs to increase its speed!\n\nIt may be unimpressive to start, but once you're able to increase its speed to 256 RPM with Steel cogs and shafts, the Helve Hammer will really start to shine.", + "quests.steam_age.multiblock_tank.title": "Multiblock Tanks", + "quests.steam_age.multiblock_tank.subtitle": "Huge amounts of fluid storage", + "quests.steam_age.multiblock_tank.desc": "Do you have a huge pile of wooden barrels as you try to store all that Creosote?\n\nLook no further than the Multiblock Tanks, where even the cheapest wooden one can hold a whopping 1,000 buckets. There's also Bronze and Steel versions if you need even more storage!\n\nTo automatically fill or drain the tanks, use a Valve.", "quests.steam_age.water_wheel.title": "Water Wheels", "quests.steam_age.water_wheel.subtitle": "Hope you set up your base near a river!", "quests.steam_age.water_wheel.desc": "Water wheels provide much more power than the Animal Crank, at the expense of requiring flowing water. You don't have the ability to move water sources yet, so you'll need to find a river to power these. Oceans and Lakes can also provide a little power, but if you're far inland, you're better off looking at building a windmill.\n\nYou can get treated wood by soaking any planks in creosote from your Coke Oven.", From 17df517c3d3e868b38d947b53e45dd039f2a826b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 20 Dec 2025 18:30:42 +0000 Subject: [PATCH 417/628] update changelog --- CHANGELOG.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a1731687..7d2250dea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,14 @@ ## Unreleased ### Changes +- Added casting molds for small gears, nuggets, and rods (#2470) @glitchplaysgames714 - Added some new illages to the hot and dry climates of the world! @MVG31 +- Added some mossy cobblestone to the beneath @Pyritie +- Hardened non-TFC rocks are now craftable (#2447) @glitchplaysgames714 ### Bug fixes -- Fixes some curving press tool head recipes being cheaper than intended (#2478) @Pyritie +- Fixed some curving press tool head recipes being cheaper than intended (#2478) @Pyritie +- Fixed some bastion chests being empty @Pyritie +- Fixed overlapping durability numbers on the curio HUD (#2484) @glitchplaysgames714 ### Translation updates ## [0.11.12] - 19-12-2025 From 695ce13d737111e5efd2fa9a9b017c758849b673 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 14:28:41 +0000 Subject: [PATCH 418/628] why is this 4000K --- kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 5075a1e8e..c78078fb4 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -100,7 +100,7 @@ const registerTFGNuclearMaterials = (event) => { .iconSet(GTMaterialIconSet.getByName('thick_fluid')) event.create('martian_sludge') - .liquid(new GTFluidBuilder().temperature(4239)) + .liquid(new GTFluidBuilder()) .components('1x unknown') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xd86f27) From 5279b6e999d67e2a3cbae202fa98d09ace0fb792 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 14:33:31 +0000 Subject: [PATCH 419/628] magma is now hot --- CHANGELOG.md | 2 ++ kubejs/server_scripts/tfchotornot/tags.js | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d2250dea..cd90328d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,11 +6,13 @@ - Added some new illages to the hot and dry climates of the world! @MVG31 - Added some mossy cobblestone to the beneath @Pyritie - Hardened non-TFC rocks are now craftable (#2447) @glitchplaysgames714 +- Magma blocks are now hot to hold @Pyritie ### Bug fixes - Fixed some curving press tool head recipes being cheaper than intended (#2478) @Pyritie - Fixed some bastion chests being empty @Pyritie - Fixed overlapping durability numbers on the curio HUD (#2484) @glitchplaysgames714 ### Translation updates +- Chinese (simplified) @jmecn ## [0.11.12] - 19-12-2025 ### Changes diff --git a/kubejs/server_scripts/tfchotornot/tags.js b/kubejs/server_scripts/tfchotornot/tags.js index 9bb1a6891..b320fb6f4 100644 --- a/kubejs/server_scripts/tfchotornot/tags.js +++ b/kubejs/server_scripts/tfchotornot/tags.js @@ -10,9 +10,15 @@ const registerHotOrNotItemTags = (event) => { }) event.add('tfchotornot:hot_whitelist', '#forge:hot_ingots') + event.add('tfchotornot:hot_whitelist', 'minecraft:magma_block') event.add('tfchotornot:cold_whitelist', 'minecraft:blue_ice') event.add('tfchotornot:cold_whitelist', 'tfg:dry_ice') + global.TFC_MAGMA_BLOCKS.forEach(magma => { + event.add('tfchotornot:hot_whitelist', magma) + }) + + event.add('firmalife:usable_on_oven', '#tfchotornot:insulating') event.add('tfg:insulating_container', 'gtceu:ulv_super_tank') From 4d1cb736855281c47c091dc56f06b18e6e9f74b8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 14:33:43 +0000 Subject: [PATCH 420/628] added two recolors of arabic houses --- .../tfg/structures/arabic/baseline/house3.nbt | Bin 0 -> 5998 bytes .../tfg/structures/arabic/baseline/house4.nbt | Bin 0 -> 5901 bytes .../arabic_village_living_buildings.json | 18 ++++++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 kubejs/data/tfg/structures/arabic/baseline/house3.nbt create mode 100644 kubejs/data/tfg/structures/arabic/baseline/house4.nbt diff --git a/kubejs/data/tfg/structures/arabic/baseline/house3.nbt b/kubejs/data/tfg/structures/arabic/baseline/house3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..a162e5170ce7f1cf0039f1edf165a3672aafe068 GIT binary patch literal 5998 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 Date: Sun, 21 Dec 2025 17:35:07 +0000 Subject: [PATCH 421/628] added yurt structures too --- CHANGELOG.md | 2 +- .../chests/yurts_illager_archery.json | 128 ++++ .../chests/yurts_illager_basic.json | 559 ++++++++++++++++++ .../chests/yurts_illager_smithy.json | 370 ++++++++++++ .../chests/yurts_illager_stable.json | 62 ++ .../illager_generic/huntmaster_camp.nbt | Bin 1642 -> 1797 bytes .../structures/illager_generic/mobs/horse.nbt | Bin 0 -> 1133 bytes .../illager_generic/small_camp_1.nbt | Bin 1106 -> 1133 bytes .../illager_generic/small_camp_2.nbt | Bin 1117 -> 1139 bytes .../structures/yurts/baseline/bend_left.nbt | Bin 0 -> 1070 bytes .../structures/yurts/baseline/bend_right.nbt | Bin 0 -> 1051 bytes .../tfg/structures/yurts/baseline/cross.nbt | Bin 0 -> 1488 bytes .../structures/yurts/baseline/fork_left.nbt | Bin 0 -> 1231 bytes .../structures/yurts/baseline/fork_right.nbt | Bin 0 -> 1249 bytes .../tfg/structures/yurts/baseline/house1.nbt | Bin 6451 -> 6451 bytes .../tfg/structures/yurts/baseline/house2.nbt | Bin 6126 -> 5720 bytes .../tfg/structures/yurts/baseline/house3.nbt | Bin 6727 -> 6166 bytes .../tfg/structures/yurts/baseline/larder.nbt | Bin 1936 -> 1962 bytes .../structures/yurts/baseline/monument.nbt | Bin 1451 -> 1565 bytes .../yurts/baseline/shooting_range.nbt | Bin 3050 -> 3965 bytes .../tfg/structures/yurts/baseline/stable.nbt | Bin 2090 -> 2236 bytes .../yurts/baseline/straight_long.nbt | Bin 0 -> 908 bytes .../yurts/baseline/straight_medium.nbt | Bin 0 -> 769 bytes .../yurts/baseline/straight_short.nbt | Bin 0 -> 631 bytes .../structures/yurts/baseline/t_junction.nbt | Bin 0 -> 1222 bytes .../yurts/baseline/throne_house.nbt | Bin 14236 -> 11692 bytes .../tfg/structures/yurts/baseline/tower.nbt | Bin 2290 -> 2417 bytes .../structures/yurts/baseline/workshop.nbt | Bin 3387 -> 2691 bytes .../processor_list/illagers/yurts_paths.json | 103 ++++ .../illagers/yurts_structures.json | 50 ++ .../illagers/yurts_village_living.json | 25 + .../structure_set/illagers/yurts_village.json | 21 + .../template_pool/illagers/mob_horse.json | 15 + .../yurts_village_living_buildings.json | 118 ++++ .../illagers/yurts_village_living_paths.json | 94 +++ .../yurts_village_living_start_pool.json | 15 + 36 files changed, 1561 insertions(+), 1 deletion(-) create mode 100644 kubejs/data/tfg/loot_tables/chests/yurts_illager_archery.json create mode 100644 kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json create mode 100644 kubejs/data/tfg/loot_tables/chests/yurts_illager_smithy.json create mode 100644 kubejs/data/tfg/loot_tables/chests/yurts_illager_stable.json create mode 100644 kubejs/data/tfg/structures/illager_generic/mobs/horse.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/bend_left.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/bend_right.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/cross.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/fork_left.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/fork_right.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/straight_long.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/straight_medium.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/straight_short.nbt create mode 100644 kubejs/data/tfg/structures/yurts/baseline/t_junction.nbt create mode 100644 kubejs/data/tfg/worldgen/processor_list/illagers/yurts_paths.json create mode 100644 kubejs/data/tfg/worldgen/processor_list/illagers/yurts_structures.json create mode 100644 kubejs/data/tfg/worldgen/structure/illagers/yurts_village_living.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/mob_horse.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_buildings.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_paths.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_start_pool.json diff --git a/CHANGELOG.md b/CHANGELOG.md index cd90328d8..f01422d79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ## Unreleased ### Changes - Added casting molds for small gears, nuggets, and rods (#2470) @glitchplaysgames714 -- Added some new illages to the hot and dry climates of the world! @MVG31 +- Added some new illages to the hot and dry, and cold and dry climates of the world! @MVG31 - Added some mossy cobblestone to the beneath @Pyritie - Hardened non-TFC rocks are now craftable (#2447) @glitchplaysgames714 - Magma blocks are now hot to hold @Pyritie diff --git a/kubejs/data/tfg/loot_tables/chests/yurts_illager_archery.json b/kubejs/data/tfg/loot_tables/chests/yurts_illager_archery.json new file mode 100644 index 000000000..07f192f54 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/yurts_illager_archery.json @@ -0,0 +1,128 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 16, + "min": 12 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:fletching", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:flint_arrow_head", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:bow", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:tipped_arrow", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:set_nbt", + "tag": "{Potion: \"minecraft:poison\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:tipped_arrow", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:set_nbt", + "tag": "{Potion: \"minecraft:weakness\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:tipped_arrow", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:set_nbt", + "tag": "{Potion: \"minecraft:harming\"}" + } + ] + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json b/kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json new file mode 100644 index 000000000..eaef2a59f --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json @@ -0,0 +1,559 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/chestnut", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/sapling/chestnut", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/pine", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/sapling/pine", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/lumber/ash", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wood/sapling/ash", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wool", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:grh", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wool_yarn", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9, + "min": 5 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/light_gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:totem_0", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:totem_2", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "primitive_creatures:totem_3", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:rabbit_foot", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:sentry_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:vex_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:wild_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:coast_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/salt", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/saltpeter", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/sulfur", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/wood_ash", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/light_gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 20, + "min": 12 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:bone", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/compost", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/guano", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/honey", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:bowl", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:groundcover/pumice", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:conifer_rosin", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:beeswax", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:flint", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:tricalcium_phosphate_dust", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:charcoal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:glue", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "chalk:gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "chalk:light_gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "species:music_disc_lapidarian", + "weight": 10 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/chests/yurts_illager_smithy.json b/kubejs/data/tfg/loot_tables/chests/yurts_illager_smithy.json new file mode 100644 index 000000000..7f3e6f9d9 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/yurts_illager_smithy.json @@ -0,0 +1,370 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:charcoal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/ingot_mold", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:clay_ball", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 15, + "min": 9 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:mortar", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 15, + "min": 9 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:poor_raw_coal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:raw_coal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:rich_raw_coal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:cobalt_brass_nugget", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:cobalt_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "create:copper_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "create:zinc_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:lead_nugget", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "create:brass_nugget", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:bismuth_nugget", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/copper", + "weight": 20 + }, + { + "type": "minecraft:item", + "name": "tfchotornot:tongs/wood", + "weight": 30 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/flux", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/lime", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:hematitic_glass_batch", + "weight": 30, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:olivine_glass_batch", + "weight": 30, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:volcanic_glass_batch", + "weight": 30, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:matches", + "weight": 70, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:sentry_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "minecraft:vex_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "minecraft:wild_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "minecraft:coast_armor_trim_smithing_template", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "alekiships:music_disc_pirate_crafting", + "weight": 10 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/chests/yurts_illager_stable.json b/kubejs/data/tfg/loot_tables/chests/yurts_illager_stable.json new file mode 100644 index 000000000..1ca0e3745 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/yurts_illager_stable.json @@ -0,0 +1,62 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:straw", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:lead", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:leather_horse_armor", + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:saddle", + "weight": 100 + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 16, + "min": 12 + }, + "function": "minecraft:set_count" + } + ] + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 6, + "min": 4 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/structures/illager_generic/huntmaster_camp.nbt b/kubejs/data/tfg/structures/illager_generic/huntmaster_camp.nbt index c3dcea4f5f373fe94f663f2544e4fd162b91fc27..86e7ff54dc2003b2ce495bb1e8bc89973c1fad09 100644 GIT binary patch literal 1797 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 DUvWaJ diff --git a/kubejs/data/tfg/structures/illager_generic/mobs/horse.nbt b/kubejs/data/tfg/structures/illager_generic/mobs/horse.nbt new file mode 100644 index 0000000000000000000000000000000000000000..8405efb9ce51e6a5160bb863926ab13bf01c44c3 GIT binary patch literal 1133 zcmb2|=3sDC@yKNOUmJQhTg6qR{`1Uv=hP%0ubZfA@#U#uRK}w@1?NzKT<3g7rZ!I{Qb#;%@rTz1!~vZr)`>@VC?IA z_4k_lzxQ6ZbKpG{Hs_NN!-eP**QG+NgUb8Y_^Yd~h&V2D{C`GZ*VePV3dW1>{(mVl z|C(mZRZls2uT_t2R#>I|x^pl_MdZEIwc^t@U3X73pIRt(sxf`blr_pb*`G#aSN1+D z@z+pmHhFT!U?qgo0fN$ zqQ)oZK4u9PoO@4sxqn;JpC4V!@_)8nG&J`s=zf`{yyH+xYuJPKUoNa+{C683RcHt- zdA9sUrDy4_>mo`=w|X7de*W_3srxsp>LedCU76)0dqiNDe+^=%7&GCcNJe0q|J@}SD`V%`NbBV^PV=G zGVhodHf>Z`U(GphXWX;Hx+|UY=7!Z+Iwp!FoZ?~q`tAZp?(|kGw?;GNlw4y=t(0Zw z<0lJG{@5^e!MrsGCr%JLJ@2l-#pr@H)w^=sSDilmAZU-1+In-JCBEFRugNS(&(p4m zQM+k<|Lz}?_-q6B2)m_WDuR2LvRL+9c=6dJIKTJg3fJ$e8t1p%D6{c8HP>Rj!t6+u zB?)ZCiza7k$jjtx_jqV}aeZB3`uF+y_5ZWKzPY>k`sYI`|GW%bFD#$9;lk5eC1t0r zt5@#1dRq3!;hQy2kDr&{Gv|F^^;reQQxA@|eHRUWcmIv%0iH|CdzV^uly51!@#raU zqJ`(Y+~VZcQW^by$2ZP>l3+G?0 z`ihuPdhiT|M{@+{F7%d8(8^zV)YJQ`<)xsK_ik?{Cmfhr(yXO+UMId*d$&*CmV&Dt zf)8f?s}Onm%lkUZ#p5~> z-M2MaJX$4IEB#^?-(Vo3`Eg#$?e2}Tk88Y8yKL5zh GzyJWF$2-FS literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/small_camp_1.nbt b/kubejs/data/tfg/structures/illager_generic/small_camp_1.nbt index a74a15a4f61b6d95a18e8da871924f2f9e93a1ee..59e711b7a60e716174f846984be8856038b32c8b 100644 GIT binary patch literal 1133 zcmb2|=3oGW|5s<+?Rsn`($HUL^H{}t?$Ql9Tgu-uFS)RL=j(TyE_6?8opw*^XrN54 zjJAiD(dK}vyVqar{-XKIAXrn1+?eHH0Lx(^JCTRZf_7W7*Qra)OOQxfcVfx4bGvFH%!{8) zo_qaaWS!ownNy747p2|x(XwawD0$`lk{YGSrxH_ws-U@@W-83l zJTy}YPAJZiJTwzZR8Ie#YJRzV->*5Ahh{3zS@`#D`mb{euM7Kp?n|cFo@06Fv*5m^ zQEmE$^Y}~w>je{)(~IlkKL5G$le0}hqANk7$L|LG6pF zr>E|gKJ;MkH>Lcer=0jgd>=k#{JBC)dz*WuT-pBR7yj<5vACL(@>sm!`;S?S|2=D~ zPI!OYJNfk8`EE8}uHS0id&mFZsk5hMuf2A;aP8_s%jwrlv)vV{S6}bt-Yv;K;W^)e z^RfpDm=ieebfz7A@Mw4Hi(Bi{KJ1HI{jxvSlYeEk;l)*9zF#+MiHnt8{T!*g=6681 zb*5AP3zho6KiQjKPo0?WSHPyv{I7XO?PjyH>wa(l{rfkMo83sj2NPEHd|r0#-R`?T|dsLw%Zi}&f9D+Lcl%vbVn zXLR0byLBUVaqe5S-nD05ZJjMYtJf^|bHcY3CN+Pje*Si>P<89w^wOeLD|##3Qw7R>jre@n5zR#>%C%EdGZ({r8%eN-1Ura4;Dr*txjQqF!1q-*|*%dAJ?ZT!DmtHIMKiz2d zc;dt-7B{`m|IOX|W@o+H)Hf&k-kv<;&E3l8r1SIg<>kx2v#B{ZFmf!n*JNqjaPYAdXZA2h!O>H8okTNp8Wb4I#E<3koU z>l%xL?ZPz`x8wW`7BxE_itBu7WxefZf_3qO$#btg^sGB~Yo=cM#b-TleZuP)g3f<8 zjwR$=OS)UZGnRBeIH6*pd{C0}oJWCM)8>p~yZrQD zzgC}*6qv($P_nH4_so5AN93L#`SMlan}u(!wDmx+QCi{V@Y=`fDpOo zn!kPLHe|_Bvuiij&s}P>C+>yY)Ub1Zt{(E~x@400qW7%g?~Ibiirbg1d%7gdvSX>C z>7H+!UwO6f^olg^>z=cH*~%h`vn9%}lU5gOnP_T1;X!p|n(uW?*YR(|T(O^cIu|9^@f zdU|P#-+%w?ngc!F1x3CL4}1H$N{)Y{iCm(A=N~g3FZ2HS zMiM?-zaG4@^X-o!XE`_L6V9e@r^!z_w&L$p!GE!dY+bLZ?sjph{EinV$E+Bt_*6>|GsM}kD6lk?)UrNZrqY~*JkO;C&_2u zi$C4Pu}X2z&RHv$h2-tw+n#yt=);V>HNm%cE}7$^&YU{`{qV6HcMI~rtuS%=JN5Hj@%E`(X4|ctoa~!iTG7+qGL!Ao)lD~|-dtOr ze){94fPm|(R$T2})mS^7`P#3G2cN7hJCOHqe&!tZ-ou+JzkPaJ%BR4;*~*Cj{N{`O amrmbz@^%x@``56a@z#nN8y|}^FaQARi8fRK diff --git a/kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt b/kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt index 6119022e5e2df415f006bceef29551d8302552cd..f8e28c734a29f5bc49f86a6cad659b905ff8c824 100644 GIT binary patch literal 1139 zcmb2|=3oGW|9fXR_CGceX^78BSIaG*DJm4jXntg`$DL=#^rAYMGgJkxpYXkN#X2+Q z=DU(zLXXbyKRy)y;5bj2wVztT~39)8cF zC$?29@646ny2TTuPOmLkf0t`lpqkE$x??k04hpb13-WXua2~QWFnoUC$ehXFJRkd< znW->`S-6E*GagH?4p6ndS0l&-R%!{EePWo^$oF!k(cP1i! zj-~yj3qvxW2T@;Q>P9jzY8%-ATmMEM-& zAYL} zXP0uHklH6!aP@50*JJON8&ocyb1HkE;RMEss(W5cDBomMbN%#}k{`3VEZ?1JoqTp} z#vQS5{qeyG_NTw|&-AR{kW~9)yWr=~TQ}L69&fKtn|}1G-^!x6)md?CS~i}&rZ!<; z*zIG#KJ#!-;*WK(D`7mUThM+=CqGXkre^!M;Ny3F?p=wF{AV(yWd5#nZq@9YA^T4} zI(A@To!!cv8}qaGiQhW^>*SO7_Wu_ZY`ysCDyQGW*5mb0%GYn(W$E+3uD*W$p);!G z$|l>Rb$9KF`{kQ6WvM|V%Rh;>qRpSy2hErg6rG-Rrm&_|;rB(2ly$RiJr&UW_3hE0 z_pbjxt$ERVb=As$^C!*ct^c`1J~@7t`BV-2NBh(Yc0Sy?A?ycR&9f$1uP*^l($-Fi zefm0grv8_Q9fxnnmo;WZuFZ+d+;^UPoq67U#$Shyuh^2^xG7+}(|PZM-u_b8-(21v zwbN-+(2j1c*kAV=zATh>YRJESRIl8zNbl;`Ad^;u&vU)|Z$15c@lg-k3b|pNfm$ek#~KXI&9%sq&|&J6%$f@{Ja3ttsLA<0s|u?!oNyWIJNnN1Oo#ACg?B_ delta 1097 zcmey&ahIcBzMF#q4F2z(;h2BhOr&AHht|ZmWtwa}N4MSHu$%qOwA;599pIDZ%DEA` zKs72&xtq!JcA>uYd-b>GZ#LCWnOLUbx=m+q-U}uc!GDUXFQhjdDwr&j}u~Y$|+ypy%s@ z8O1G=s~J`6YtMbGJi9sgIk!(sLYrMSYn##x#pfIkWo9ToKhRTaCsW)faE|4n4}uUp zC-Tq-O7J{9BXAB(tT|tK>HlA*We%%beIJ}Eisj(ezrIOm<}>f=-C^A(!BeH9mI`;= z*N%+z*rMgVPs5dIP1vdy{kNOycTCM&CvfY`U!|=ZcLv>3F^E3ZHT`Aaqe|&n-r^HN zYjhthn=AVI*1P2fm8<8R%8rxvXgDDgx8+22q{P10DOI=r`?kuIKRa|XOIvGu>)*@Q zMQ-SSI-H#LNPcaE{J+vee`;2)@jv_VVf>BMvfaU2^QW(xk*=MXvvs53k@Z)XZTe?Z zf4J#IviOAlScgLHI}43YueRn2w_o%3N}>7W?N8mF*?(8PyZqfvr;|ZpN7ozeHZE8( z|GZb;o86P%w|?7PXY}j$dV9?~SEBY<9n{?O;fMd9e^=eY+h5+7my=7HvGd6_r{dig z7oB~*^}fqmoz{~|AC4PLnLV{$^svhGTUNozeUE1|*Wc`QQ!KoCMW?-SQNG@}|8ZaR z&v)I6Si9=cf6bqf|EK%^()_lxGPL85@VjiL>!$jxTMwB(FcyCku&7qSln9 z1>&K5zU*cEm~7rs&v1YJ=Ga$FOJY{tUb@04@tO5>xvk#27f;>&?nvP~l}|a(g_gxG z-lena_=ihBQr^d$-==(UeoxZlcjrT`*G$Q4TYK~Q+keLUMEwHH-|P?yR3?Q>^<>;|9yGGK&jwKc+lzvelFf51W2-RpsL~ z0e+WPZ7DI|DI6dglmF_=go|mFJ7WF9cQ)-3&eYttsO80OmJH4LbC~x}XIoVLygRuf9=eRd5_#g+KwB`B@2hXU01d7R`?6n?>lp^o?aEccPpFmhIqIL)D;37~mixn8oeqAOng1uzf-_P(bY)G}|8H)Zrt#Nb&N^?e9h$TI zf{o8-+y7Fj%U>+=-+oyxjYIftz>3dH1M+9Qv2~s3^Krx(w4h|@sMgt`dg{vH$dtq+viiUpO=dYzogxQ?eF^T1NZ>1;7<1(F9+8NlH) zm06E_ht7jd-s}F9)nz`c4PDHW4~!a4Gpv&- zcnS(Fv4Y40sf^);KQ)an*-X6_%o#1Uxxsnum8^of{TI*wKM=Q6 z{daQRrumQe?X>U7n`IV!`)Kf8*6%yQUfUlx_+hxsPWOyot;M`4cX#K_>VNxU`Hx*s z@6Oh>Ze9N4Y3XME$En4ARnzKbEltjlGrPSpS8iGF>+-s+%Zb7p3w}&LZg;*~-uXsu z+qtiq?-e(Gz4yI$f7Fk=hD&937g+qb`+vtDbA5-ZpR@I+v*&G!U$5S?_WkA8x7*^@ zJ}bTA-~4Oe-P6;z?tK%#(&+Bpa{*=l7VQ3g*7bY1)yuS?zaRR4@$*#_aokj3U;qGh CJtD#Y literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/bend_right.nbt b/kubejs/data/tfg/structures/yurts/baseline/bend_right.nbt new file mode 100644 index 0000000000000000000000000000000000000000..23602f47629f0ae524cca5fff486445095e9ee0a GIT binary patch literal 1051 zcmb2|=3tPL^T=fQzjmf?-eWfbx7l}d{+-~MBzZ>Zgy^OV_inR9vPGt9Z&@*|EqRvi zgk0`f(r4ZlEiuuZl5)D_>hpsV0y$p&RY%pMS#NVM&6?W(Havey(B<5Tc|X7G3_H4u z`|MqdyPxL=mi6fU`ci6j_|0Jtb&*$J60aDmRiBKpOHpH%IBOvJ;1okR+YXZlmm0j8 z^_X|?JTPj|W{wI0*$bfTuQyeUVS=3xt%MJksy%Z} z|66rD_4?fV2_}bA4t!2|KKo389xvE6ry0PmImH;xx1;DlD#SIS4XYVqj?OuK#<;C= zp3sctEYCEbKdWqZe1_zr!+W=fI6y6j+Joe(=TaFSJl7{ktWz|MaZcLNcBFu}^P!Z` zVN(^hOpUjWx?sQbY|&N?XWL3ZZnPwx%J)dMhd;I=#B|2?M zZPhOw<4bn7d-*@^c0jiSyUi$~TW7t@iGP1^`TdXLr@p+7SgEut@%iFkKli<@HQtfC z=j-?16>Fya6}n}&DvKlb`L((0L-z46oUNF@E%*JdtDZkUekyn@_xIFRXRFQS-{WdK zZr@$|x_`CWm(I?_h!wxqPxw>6nz%XD5dHB|8pb%^38Su zv(vTDf0cZ*+qin|d+B=9A7>Sp%Iw;3`{!AHng2JrC&c}G_W5UH_|5gtIh|ks{_<{dHt>z|9tP42(PUBwd^1J)7I0BHx(Ed E0I_r)7XSbN literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/cross.nbt b/kubejs/data/tfg/structures/yurts/baseline/cross.nbt new file mode 100644 index 0000000000000000000000000000000000000000..cbe50770a580af6d5d780e8980288005fa180447 GIT binary patch literal 1488 zcmb2|=3sD;^T=fQe|P5Tyw@ort@ZaO{itFvblAhxe9oHH(1qv1Ot-vO&wgCls(d>) z^j^dEV}84;ywAn0W>*tfnRU75+xETR`*yEVId@b~=9T^G1D59XwKMh|`dR%(Ox$<- zPC23Hd+eFSd6O-}E^A*FJh)D};J_tWIq&aHALEQGbXeRh&!0-LIrx-Q&%fYj(`oUT zeGj-;!WDKf9TeqS7f{gJq+OMw)VT3gXG_(h@+-p9XAV6)DCwV2)5yu9CL*!=e8L*L z=8eC2j=eILSbDzmz!Ij(oIZL6tp^{}WxQpR$TmL^v3p~UQQ@&$yaw0u8a9?O_n4L& zT)T5HqL@ATtSp=p&k5y!zdE_o7$INk&yWl=hY`t;tA-7gCVgq%9mX^T8?BaJ?Nx2SYj5ITeU5kNH=~_x;|keFq|*e{A{O z5Xsf^^b_lJ{T($2MLE_v6tFgFi^ME^z{MK=<%A1U@>OBZuP*ObsGH4bJ^a6D&PSGG z;xil)oEo9th4?-2*BlNXErXc{o-hSVoC%s?Es^~$Va?9wjnDXw&9a^mUd-=@@6S=OXQ@XeQ; zb~wH5>4%w#mUG^+Nld$XGp`{raxR$JU#4txcEg%;Wz0OMU*(t|05f~GN++zj8^O7o zvF&N)HtB?jdFfzg*?oq?pKNaP8t9zgd>4t?(Q4P6SUK;jB+u#3YtDBD_$ytR%<*+e zleTEg$_J-d!qs*d9h}O&E~emV(`td3)(2WF(~E!1J}EivC-b9EEYsC@*c^Pytq1b0 zwm=Nnw;DUZzJ2l1Iz8f9Iw)e>Q!hR!l$Jbf^gr?6oWz;`FXW%waOV6kp0?DwYv~4F z^CO?x-#Kl0*y#Vmdmw{BUYt1})#pd<-FZp_*5+UX8!7nwL4bc&bmB3{BdRJW@-5_y^c%O~q*`+xgevDNbax2FbkcuS4#*34eF$1~ej4Y zxgjHC_iuLb*r{g?;&0cQ_MAVz>eJE9887mV`=9r}y{^8>>b@x7CHb_>`?>4R>;0-K zww*KeZK~;&%c;#4g+Kk*|Fw{>y=zTnTlp#A@TJiW8y p@57DJzWdjvr`5~z#QgHMoF>0~?tI7T|DXP2%V0QdUuMd{007p>|0Mtb literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/fork_left.nbt b/kubejs/data/tfg/structures/yurts/baseline/fork_left.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c0d762a5d3fd02d6469a32916449af9d62f7732d GIT binary patch literal 1231 zcmb2|=3q#Z^T=fQe|5&$zQthzt=xJNdiBPgn>s#mMONIu?Gou0nVOv_T|HyjPO%Gj zU+r81mK6_AQr?BX;_OkMx@{=F384Uyvc{nWE0}sl{O)>qqZ&n}&~!#~6GV41(Ivc*q(lm!9akqG&I? zgm30Vs}#3a239jm++IzPTi%sv_t5?RHk(z1xp*WnPVg$oMH&Kdv5f(=gBF?aK<&O8O}ME{Q151tnR)^GbMAk zU5t@?@QGnM$kk7o^_andt<4a__<)Nc{Kv73&AroLLH$0%YVldKKI}cXMbzlkvI#nxgToKZ{FG^qBq6kToj4m}qexLv-<3`zVOwg{+?<6#7Ag zKiJ6(5GS)joXobP=)hFwbutB_4XYVqSRW`odcOKxhVi68h*UkTineCv5#l3HonzU@+K&Ki=^l436i;Pm#lgk_-0;AQ(5br zh9u_k9wM3IHhbb0OnE|K%m;BW6Uf0cigokSXJ5a+RmkXVRY#`bl)L++UL1D58#a60 z9p3V*hZ8G0HUGSMRkmP9v2XCY*;>mUJcu!NUbcIe?(D09KOa|qUskg!EcI@$`?jaf zuJ$~;|Hj_jx5jLp?979uoHy<7y!gM?=1X$k{(F~>fBrcCb#1&|yv?jdx83i&_P=xe z^v=-QO2_?vIkt7%*6*tO`RNAl-&Zep?9F<$eAnIe*ZNC0%l^OoxO?xqm-YIl`}XeI z9R994cGc1s0cKYXLM}HS>r?+-Y<1KBa9;8D_ow#7e=9ZKvqmc1PG!oUt2>>q@|K#i zasR$%yFXxu_UyW-+r?M;pRZk2vt9JtyTTtO_i|#(Z_U}K<^J;g?d$ULzTEY;cYtJ-o(egF1PEJ6SD|FSQ(_uJ^E$-n>r7427{ literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/fork_right.nbt b/kubejs/data/tfg/structures/yurts/baseline/fork_right.nbt new file mode 100644 index 0000000000000000000000000000000000000000..150b9d1e0d5b72675c396939f531336981f4c739 GIT binary patch literal 1249 zcmb2|=3r=(^T=fQe|3g${wp_;w&QaBhW~bb4~q@?%N@Jn{I<~Pq2YHIF|w`8m*L+u zcfl9=FY)CvB_2#q=1gCm*VQ6)*tqW89=|i%MN6M)NzU3oH_XfTy#K?QE$MdQFIRni z{aZ0y>(`p8l5W=@Kyw4Z14np-8P{N zXx@Aud1FhMH6jhG8Ddx;XfcL!?(jMg%D9fJAhcmMTa4+0RqJ;?I^8ESceh=_j?XR! zDi>W2PO}K-*^zWWlv$5=hslFW4cd$`oDaMhrZdK{70i^5nUxrnFi&KLI_opf{2A(u z63hmg2hK34G0!NU@B3?$x(AYLP@Hz8z%tzd!$UBydbAa{&16Q>YiZ!mcV;s4XPizi zkX!n~T72fiG&Q$Zfs?eEVgw&_F@jyb6cX;L5SJT)!o9fJ`<3n`8%+a$t}~PG8T4OS zoTU1FMZ`(ltfVD!riMZNvp~*2nd(2G2xMH)xg#F7UZ-YCtaSIZ6juJKp_!hvgKq+( zrLc0Tu4a1Dl69(2eR{5JT{5S0;;v~^j17aXPXcL-0%?r(o~6$I>||pl*MU%mbxZ|Q z8&p&>;I;n!I4c>F>PW4m&+}Hh4n<-HRcd zX@}5(R8XKlW1D`Zen}-H(Dx?Ft?ZZmu5KJ8KfBJW_RSATRpUF)uk)OkDY3F2>{LUL z^X$}~+5{J!JK|C6bIOt#Y+F$i^pI-Q` z=-!!L?zi9HSz%{uGB^5rnf1M$?SFsF(foYY{O*cP_qMN%-KrOS^4{-nT#-4m&uu%s z_*47!?bpAZ)XlxzK6P$w!K>3d?%uumu5#zM*aWxx&$IsR=KmM}wvOX}cH!p0`SI85 zv&))o_jIf7-NU=D#mwVN?)qf{j-Ryr{R=fT6TLYc8WwP_9 zuiehS^VI)0fA4)wetak)?Zuymku%rkwrA$EoA<1DKex})sJUKd|3100efF|`+rKaV zvfT65@2`K8uA0C8otU`0S9;clT%~n6|G(TjfB9AO_t{7HZHahRsEIy^OME&?rSkH001&pN~!<= literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/house1.nbt b/kubejs/data/tfg/structures/yurts/baseline/house1.nbt index fd8f504d47690b37e3433b8f4f7c09790e623490..8c7658d69e18eb0188de39b872018884e01d2f42 100644 GIT binary patch literal 6451 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 O&)l#@qww!uMg{hu4d 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 APXGV_ diff --git a/kubejs/data/tfg/structures/yurts/baseline/house2.nbt b/kubejs/data/tfg/structures/yurts/baseline/house2.nbt index 0bec2d738a18ca48e5f259c9ce89223d53847403..23dc63195985c415284eabf5f1d1661a9837fc1e 100644 GIT binary patch literal 5720 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 literal 6126 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 F1^`xpG&BGJ diff --git a/kubejs/data/tfg/structures/yurts/baseline/house3.nbt b/kubejs/data/tfg/structures/yurts/baseline/house3.nbt index 060bce8ff1361c1cbec41ccbf68a404c81e7632d..2474198babda9a134c2dcf6b96c0eafadb0afa86 100644 GIT binary patch literal 6166 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 literal 1936 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 U(Kfu$z5n8VyX1$wQ_2|_0K91#o&W#< literal 1451 zcmb2|=3oGW|8M7>&wFepa7@$diaa~Fh;CP`PQZc_OSeCpm)$MbZTmIrf|)M&L{;aY zS36wg7vx_%u9fQkPHkSt{L5PmIt&wT1i2a8f4a<*+B?~&<%G)>vHddxI4;_&f0Mkq z{FIB0_UoUqx8MKN7FqSSB>hcwwabo`w;wX7^7RMo$(hV#cJSlRO=lC--E*!i?(IIF zTHNvY*+hnZmI}X|rsZb;ZSI%}ZE#F-RW@UMpw95eBOykpL$xtNQ9zsJk4wY+gK7*p z$C5M^rZFWQZJ7Uq$3FS_jRa$}bu14gbB^(+yg66Si08zV9)60=^kbpsF&jk$ycstp9q_MdlMlaJ(5uZ@A=ID_ zCRi(i8q}Hpq@@2SyvlohM~lR@knO#z^AxU|T{jZM#syG=|MAGn^YNL4-O>g;Ik$Qw7`Xjg~zO&o~mo7&bG_5IwMlA&u4G zI72ZHoM19gXDEge%NdHf3}6JCK{`V*m~b;ZefjI6dKO{9u+4e`C;z4;>WV*faVg%r zE?BU1cduZ)p7dU`?!&&9ZvQ>~>}vVt>^)ukOO^ zYpWExTYr3DdAh+cw|mc~h0}avOD~_ZDOnltdDj~0g=tIY-A`4DoxSa9CI7|qC$GN0 zzW3(Ww_m@?KX6mn7xA)e*7UF2R(z_RQYUiqao@bsH0QtTAI_hX^YG=P-Sr!G$aP3x zd=wY;OlVe}e`c1~=j?v#*elNFEdLv@?C!TY5BJ>Xch6tGcAZ#m zc=$85{GOHbd{-<|4~e_cQnYQ4TJ)pK*}uHch>3kSedHAtb1p{yNNt&*aM80Wl{}a3 z>dcwdjN*p!zaMUSz3W}r^Vs7&#ZqxM<`f;;bFkE>WFhC_NBa(z`W%`0dg6|UFYl(F zi-|uHx@Cu8_v^+TA2a(~PjAwHbn0@NNcZdR9S<|F_g#m`?|Jr1A+P4v?q{3cbniGa zo$p)xo76&Ef$2Xk9o#qd)T1f|y^G5HKblSn7k0{7PEU7GNewy{VdxwktbdckO{>Gf# zE^iAm@?HJGzN23qViwKU{t31khv8oTG@f)K=?D2)748Dn`_bQAViwImoqAIo?#S7nAzng9RqUUg^Rm;cumWNKen-9D=` zWwH0=uZ?f79r*U~#I{Rk4~3*XWRvNu-L9u)od0Fh?yIiFcmDDo-F!9G^2wFwaqG90 zEt<9IT(Pyq)+?#m%XQ;kRr<^3`eyt8S#S1@VQ%!{vRn7wo>Gc0b-(>sfZzH^eZ#_4 zyIzK^e`@jhy|dl?uYWzo&c9l>`uaAuEn%}-@7})iy|)KgT4}4+y>RY6e5v^B;&)&4 Ymt}VE5_)uZ{-gZID(AP&DQ92+0Ity81poj5 diff --git a/kubejs/data/tfg/structures/yurts/baseline/shooting_range.nbt b/kubejs/data/tfg/structures/yurts/baseline/shooting_range.nbt index 8ecf504b6914c9519fc07d548c5f610fd8ab0f6e..5c22dd6f45d8f22e74be805a077d7cd9b27af0d5 100644 GIT binary patch literal 3965 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 TYU=+lzm82yzS>;dgMk46_(gCB literal 2090 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 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/straight_medium.nbt b/kubejs/data/tfg/structures/yurts/baseline/straight_medium.nbt new file mode 100644 index 0000000000000000000000000000000000000000..4997aaa843281a1261de772666c2f32e0e82416f GIT binary patch literal 769 zcmb2|=3rPU=aI?qf9`eP{L2P1#|zcVgl<<#6g;vmxKSG};C`et`)OI;Q(f;>N2I0R zH+(BjC2e@Xv=J4#Vx6SFZedqod~Tx7n{R`lat* za^l#FMf3ZXbM1V8{CLyz^F?ZmGrzc~F@`a%VTsV(5R|a=z$7pXIsk&F8m2O8Gl%i5 zk%_R}z?C3+K&xSCBM7E8fMH{5V`^h4(`uG5&NW;Sq8qdlt{zy`7|OhwF^qZ5vl&xm z-m#waem(Wf$~vJ7{-3T)GhV(%1Z<6G0tjj*fMDtYur=&pYgob7Tsi=PMh8G}(*Y3F zf>^@}wk8W~%~gigjDI;k{*bS-EY3R9KXd8dq?29^QyH{b!?@OnLkI2-XcIV92up1a&rmpjX1w16qxtjH{W#Sl38Jm~O~QFg=jfaFxN^ zrdB_F+BcD%391KZVS&u%ONaM9IA1+kbW^mu?xz=RbNe5?Q7fr4-jTcKgZb}@^{!=C z+x56?zvRBYw)VQy+u!?aC+TcoSp4=?W6k%P>c{W?oN7&6_2y2mc>d$E@`t;AUtRWo zna>+`?K98oKH2a3Yhml2xkDs>-s|;;@=EUij})u?bM;MvRr{6K!oLjC50~UVZ~yq` zUs=cFSMMIyTy5KZ;ceLK+ZW>e*p=tMIh~pmY`W;i?rXElK literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/yurts/baseline/straight_short.nbt b/kubejs/data/tfg/structures/yurts/baseline/straight_short.nbt new file mode 100644 index 0000000000000000000000000000000000000000..224576df64704fcbf52542eff7f786bbaaac3517 GIT binary patch literal 631 zcmb2|=3v+?=aI?qf9?(6{L2Os>>rN5FH>iEe5CxrhTrQH`Z|QKpYXkVDqG6EZ@b|> z#`{w37sJ-Xeiom)X4lF4|9){&R`Y93#h6j=wjxu&Li?Qo4Mlfw)N$@-{sX>*|n{gVG4r_$e z29t!$14a$045t~UvFdO~h;5Kbusl%oT&JvR@8;>(v}byMHb{^w%lJIgTZ~gEj1bx&lAw7Ys9`CiH}f<$9p(tO4Lk{v2R1dN zGM;9f#;n60QBpDQ{F%GvM|zGjbTf)EgB@W3aRh@m$Pt`iM`(f_;mr(o1RK~9n;M=n zoMxP6o&NFje%TvMF8g(+m3*ue=GuGrsNI&E>rdz2;C*^>(k}0f`YFY)toFZYQng%i zWv*x3+T{1UpUtePx4HYP{lbqKuTR{2&lEfT>$7X${e5Tunx(0!f1=j&>i;M08{dic zYgd)a)Qg)huK$xBedOo*2=%9Pg4T7nXG)< zbIQNwe~RH z6J4!3`YDx)r@13LCrsr45nPcgCrssvyvaS8qi5?pp9ueNeP5rj85i#;R1=yJk+A1L zgfUCr?((_cL=c&nk^}=ICTsTnIdB@Y55+Ibh z(f<)xgGkR)Ze(<3;`$%C(>wgW|C3BhGq||(^N-IyYIBaC>S{GT?i8j2ac|rSua-3~ zAR^?1SL>RP6Q|;4xFoFknsTUWQ~4To^BFUpzd!X+G1z#ZqH$vy$FW(864`ADYb2Wj z(;_&|#3YC@6@Q5<|MYJ%_r3!WIMA6^%jkVv58tD^?ukwEPbLKVTiX~|vr$iQ@@vT+ zQ+b0m`5QpN+X4>WH4!I1IZYGavsDwaI&vZQmGQ-yid{Cvk6T`P#y^uVQA- z25Yu&kUS?dUr{2pZOwKc`^fy6b(`)P{Y`<`#a+zR_Eqee2+wQXGnx|DqCsxo4sv^b zq8~TNH*gUhWQT)YTKvSM`nLJJ{n=cJZ@gGGHb@dgMp>`psH@!PNF}E^&=lf${pRLN7 zKW+6o-ZMA87Ki`2*7_&@)LVgP64%Y&-9G$r{;RVAc5<w|nOuvs7unUA#AnVz;h-m15t0+~DE9mu9nHJ=1>o zYU=cY&^31N;wzFLm)OR}hv#01D_=X?_jSa*{JZtmHuZ70#by5Qx%&Ju_w@GVuQ|KQ fO?2(DpC4lG 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 Ny=&j1x3fH17y$07%LxDg diff --git a/kubejs/data/tfg/structures/yurts/baseline/tower.nbt b/kubejs/data/tfg/structures/yurts/baseline/tower.nbt index 7b0f7b03a1dfd2b2d00d37135a705b701ef6b917..9c267fa6e2b48aeecbb8de30670ed068fd4ad4c6 100644 GIT binary patch literal 2417 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 literal 2290 zcmb2|=3oGW|99uy&bu8Z)w=y#qt%j^TRizQyJwoecw)Cb_{*jjq4}&)i*l4UX-qJg z^M&`>qv$ZI-Y2@!*V0Leqg1&NQLZ#+}A1Z4%ZTuxR|~ zG;fOaj48WC_Z(OPMiq^om5Fh|GY>8?YW7TJn|z8#ZR$;K6t1O2u}p4`Y?EhYqi1F7 zV~;tWZ@CS+!n5L248IGiJ>^rI%I-7m!z>wlOW_lr6HA){(v$eAr#{{2Bp0U6QL1)) zy}W_hxroL>ro-pb%jezXJ-^HGnV?$ean8~?0mr#ZYu5Os?7I=ea`?HDgq`@o4?8)W zo}Jt)9eqBoARS~_(Vg~}r4lV)WnjqWgw3H1U(dXPN)f6Ez!mG912UJe%7f z$9D6Xzcs0cs?M>LgDn5GaoM4&d0ek6wbndexnbV&LsfDq-wKa$^$1JoKS``^Pc3tj zQ-4zEB&Yv`adK5#+=(}>XY8g~Zkl&9ig)7~WuDvbbJnsc7Vn>z{(Ppp#Itj+SQh%( zUyC_mEdFVOm13Csk^g)Ntj9RdoUBRxct7!M`x%pSDV)Jds35U+V>l;{JE)VdT(W~LEH)97Awti8)an!&2sgMoina;O#W2VG`+v_uktxi zY(5k5IVIa8{%OgbgG;_8bnL7bOAm@ueD>Am9Eh9xFR5Z3pOO2yIJ5Yf52ha7<0hg1 z#B%0({l`98Yo(g!oszt!uT#i=_*biKxqMqUBh=D^#!^)aHnD zJTZrJ=D`hh2lp5q)E3@zV97IXp4Z}iJDL;!9uh1!SQBsY2&BXPj(Xc}{}!vT70JBy zb_q9ro|)G#YGkdrS@@HMV!!aG3Ppa2GPzA>z%k``LZ-!PW&k^nb^VRcjEB$3f2%pL z;dA>=>E``A3)<$|&)d9qt_5P$$@7eXsh!FV@w`tyW;K z@Jp20Z9e07;!TT<--*X9HgPAI+vc|GY!)}FRxB1UVqfT|b_L-NTX};we-hsvdvO1) z#o=@FdqBSNce`_N!)JBncNOz_tm|ipgWMG-thia!s5$X_C@f~ahd%2wJ&VIP25)N8 z-X+|SJa?!0fhfy*g$h>1Vzm^u!@pQRpJG|>^MUE`FV^Ds_REgQ^1K#r{vO$DuqK}8 zUb^X_4Rwa9?<(>YUyHBl6MYr2uumA01uGW%34k&N$nD?6qmvVE{7cH_;kg}uX7B$Q zg5?G|^=CV*CARHPJ0i<-JKp$F-*>}#JN9=Nhb7E8u;I7F>73-5@y8^~s@RA?|E(ZZvF1xt7JcUf4BX- z>h79*cfzjz`dT;p{XMhw;o+{A-{sw^>u}wf{rPTcP^L%J+ z=6By$Zi|^6uHGygr*pd~y5y(c_N%!&ciYTe+cC9vQrJ7ssGsVYqVtx7ep6Yy ztUh@4&YAB%=U&|AT7Rj&Uqb)4#C7x6PhDfn?Eh6oKfTU&|Ie=(h0(Ec%z9@YUEg&} zyfj+u?3tRvz~{TKUM-5fc662Q>bW0xXI-y;_Wsl{pL?^D_twk3HqDKF_dWL9z7L`1 zMWOru%fJ5juk+Qu>J`>@?h5<*ZT6*_pHICzhxhlJZL|OE>Mp%`HtEKb+souXY2DBB zDGS`1TWV{3Q!W1M=BM3zGSlxi?L4*nsLAUkpFVwBWjep&#)S~`w^!p0-mP2pzpLe!pJ%(N*Wn-_Fk4;vSoK(Z>GS>(ZO~(`s(#wuTnQzPa_x zclxvY%_g`1JkmM+(8q>Py4URN_tOXW{S$U8&D~o6L^1SYdB6UzcZJ(SN;GXxNeapS zj88uPvncpYSgT3Z`|lrC-M2U%-d=mx*S+@g{$1Q96<;}(?(`RVG$`^j_Eqw6^6ASf z)qE}3a_8CYx0~MTiG`;#&-ZzL{O^muFXX>(W}n#KUGv?=FZ##)O{Mk`2RCwG-*)?u z>sp@&KPT1hd|#)u|ILZCn|o^a?|tofd~dh3jMJI3Ypi8X?fdsPUTNOnDcgVMyWag$ TF8TQn|L6F7;i``Nq8Jze68Dp) diff --git a/kubejs/data/tfg/structures/yurts/baseline/workshop.nbt b/kubejs/data/tfg/structures/yurts/baseline/workshop.nbt index f88387dd9c7e749f6067c0b95e075e9b95e74eb6..b306243b4ef111c12e08bcd1774d5918622006b2 100644 GIT binary patch literal 2691 zcmb2|=3oGW|97L#PP)BAkj>MfK6!opvHc&dUe7vxFKqUwT)%ra3d>fTtz5flvNrc5 zg-&acg%d9HY+ZS0viQm3C$^uIESEWQP4RGY$lm?!5H>M9$oM@AT%v zmoiF7f>KgF-p}oX#XTCkzU-&Y|;LO3h2~`|E@{NU8jh!=~<|(eW{RuH^;lUkQTiYMx8R)%Z zd;I9$YFpXHV7*v@#XHz*#4j8?Vio= z{&C&ik^NJRe00FVXdh2?839tle$-|-P~&Jn&BZR71YvZhisva)TM20wbk{<5|mil zlni(pUs@U{Dy21Z3QCBt7dWWx@_{RN58Jn!PacUXR=9G+2`W81Ay&-oEch|N#fI(i zrI|`e%Q|LADy6k`%v4ND12Lb;DakqM6hG%UcJyw7!M>O~yvMfRxBmQvcZx}Hq;}*BoBgrt&z1epusweLd7}EW z1;>6F?z4OUIMo0|iq1K3I@F%+@#}|nwN8(&tE<%2@*KNLEixa;oQhx_J8^>pt(_~Th$KZLYad{+1L_>X6NUytM%?Az&VYdHISN{#VR z@#2OKONS#ea|AZ$FDtQA-t;9-zP$P4S#A_^J;y<9rw?5Mdz4t#a~$kest9D!?|R@0 z4UZ&_IG%&uicnYN?6G@!ZPmXnHM{Lf@@08vnF?6(vkEtt6b*z^bsTHWXYZDpItuva?KDQ=3@#D%IJc1a%_3K1}s2U74~?Q|0p8edaab^3Xs3lAOq<;M=ZTNh4$X~VQN2jlFZP6~9 z#b1Bi{))&khldYmFL{uul^=K7r_iHzU8pMWvJG!ur>NaqRued-`s6X2O$PeYgqo~o z{_N)a9RBNMz4+(Yy;E41DQvKKzH1NvsbBN^>PP7$3g=vB^%qO|E;MWko*d z+@@+Z^I5I+*?9{s|Acvcjhn16|K*G2-Wra=zx%vm)(CCg@^jzxL$Cg9`eUv)-E7YM za{oT}S$mfreC;P8Q*x-8sr9UZ_Vy*a`(Ng!TmACdUYDG*qW4dx@~1U|@0hE1D6T4$ zFS~om?!3ZR-rxLhzp+pKYh3hx>y+>SmG?^@t>oLO&|W`j+ixr7?L6-!j!atV*1PuF zXBF|YC-|9buh{0wJkeG7>uYI~Zg5E>VsgORtle!+^PUH6+5F0XhW=^!#dAX&rhNX< zInAwq!AGmsgRwoQSDiHT+AVQ#-J_dI7q3dZ$efc>aAro=OutvW{~7*o45+^JA!=_& zcgn=x6B+ZI&3mT)U|4!?nbB0s#K|I2w|yF+D_cD6!^QdfCT|{nO47VEH9-H1 zd`A4AR+|;`oi+5Q%@#fX;AQ0BEnk%s%BSz?5Wmpzwe0$N)6M_hHTKmry$e*7EiGE~ z+bvJNJfHoV*}sZ-18vKLCHt56zFRJSvUir}%=$BR<;VTj|DQZp|NQ@37V+OoZI?%X z6g)T8f7f@GeDkIMPs%26{l7c+(eMA8?sLjHDMx-Znc3}aA)WfsMN2h&c|7;LGJ9dG zOI7tLw@MCt%XW-RmshOazajWfysf?L!q5N9>Z;QIKYihE$Ti=;c;WP}m3!u#`Whv_ zWt!6piDmrl*~eb&jydE!^+lya{+EYcXDg#Jn49GHJ(8c)#Ih@hD`V&BU%b;!?y2*< zBP?be5jv@>x$>I8>)_w{78j>i-?E%k6Bc^WQN42c4;4@0t!t$__m{uzb66X<^vSGA zjrYE^-~P*U?a;?l5%1@$Wh$B`azEv$+SQ%h5+W7WN4P9h{+gPwEN!tnX=fg3f892D z>&&B*V|Gg{pS0fNamkeCJCE<~F1R4d8uKIj$YH68pJx~DyW@4iX-ju%xWJOQZ(E*j zWjK6$$LrfwM#de@bAx8Cy#KRAf2~-Z*mNfU=_j>>Z-*5K`iI6&I@XZNef@pxi**ai zIaka+P;Mh4=m#yUe`)LJ7A!F?d-K3rU$}5C2%%7&a zuZ+=2SiU8>{>miR@}(;JQO|VL4jh=Yy!g`UWzQV%R8_yeyXT3(p#=e!{$i(@)%dOS z`j5un{&zxT)wRcuJ{X@^cKK~l=1-Q*PxF@82XtTlq&(xn>A$BwR~3gmt~=A6nw?p% zo9|L5kh%pxpJh8}{T~ z=e>9@VpX-i+d<>n`YWbPKa@8)sWbb(ZJ2jE?HR9saIvzhdVcuX=h+bl#2IuRJ<6Ir zO*D7ISBX6FOP(|3a;_Dw4w@G!UA6V$tz{)mWo!2ZEnY3c+Gj9f-<`~BecvLh%kSza zwj0WLSNt=6v+44-#&wsEnQd4m;iLAk#Mm)ZT&AY{T66s08$9+K(>Ru0J^AvY`&7mc jzF(T|?tJ}*H~de30oQfMNw@2j|FhlvcQocBaDA_=dY`Wb$BvrgywazRo{f8YxMc~~iV)R;)vu;T zUAoejcI3>7*QTz8XXPK3e+d5}ey8=_#B(0AX4d*kGwsMaJ?&dy`Tpl6-{+XerLVf; z;+p#DSc{kDchhb0%D+nu0}sD8nSXyu@Y1Hz6^}Mun!54+#`zrED?9mR>I>5z9AuI6 zd2!H1&gacR9@`lc*^R#?sL7oPNnlgwGIaaI)br%%f|;Ghlf)BL^bdH%HB8*Ypj^oa zmT-OWkadQ!KHFcP2M1f^dY-UKoa8n@Raj_aKL@Jgl4Q>kV+qf6gGuKSROTM^uxg%I z(q~h`ru>q}?UH3y+9Rw62v%1xx>boaOq|DBXe^wL;RaTTlids3p^oF3J<|f_I26b9 z*g##KbmhzuNeovqwmrS-7=3ube920KWd1ZIgT~`A5VY`k%);X_iT7g?zgKQt|G%Yk z*Y_I_HbhGnoB7?bZO)lbe1k8o9waMc>iH?vnC@7}Ps*#GUs_BII0S$80L&IJ%Un|MFQ zR?01xxBYofknQ*Lwr37BbK1J6Z;kS9k1xL28tnBnHm9N(AX|__&FIC?Sblh2waDUmL<8BB`a)*tiKQr;1&he4| z@?K}NVJ*|quZ)K`$zNvYIbA1P>-M*2OZdSJH77t$teDeptmACNdvF8K$!`)8(-ddg zB}BBPY;8`IoOG41E!AUN{ecZUC*N5az*L#A95zz9EWmSmf{!y;@ZQ41o=Ko|Nzl5i}flj(ntr92%iqt?MFf&KK zDbaHC19nAST}JR!m?4J3Hu z`TI@Ek3eF`q_w?q0srAmh0oL3-X%g+Vrc&bGV>*KTWaz$evp}VATy=fd7*qQDdhq(=Oq>c3tY{)sYhvD!hLr}^%2J)h`vHl0+d>v`y zxd%7ooGD>DyvgvgB+uz%Am2$F&vlopmIIl9UHj4x`S})yHx>GT%*0AcR8(LD3AAwg z#Kd#@A;<~sAa}`}+rx0U$l@~-&u>fiXW)`Z=R8Ql=KLOp!=G$G4*q-wsjN)g%lw&% z=e6t%@q~!?2lg-=t^#ShW^JHCx#_Lc7px51k7gt#MJ)r<&U15~d*NN@eY zJq(9`aX({~xE2r6`>(0e@Y4q-p4Yf!7xK;9_%F!=q^n!;BS>M}5pIJu`z1h087hHd z9An#8agaOqC&V=*{$>5F^Z}pojnBDoT8(ZJ$Z}*qxW0La8IJr}=Uk&k{^k(YGReN@Dhko(>bgcH-LzkoRp=rVIZhF}Ilt$LhePtb7Gy6>b zt8)2&pVBw(+HmEX$gW$WY55FDC!(cex#efF5hZ^1WRb${QUw>QrIt97#6HIu#alaXfWtY_QjKaX6x_DAdL)7K0)J=tD4 z@7Sxk{;R#t=YK1%50XFM{Wto4PH*I&zel^pH_o!yR`>Vh{b{EI_I_Tf7dLa$uinbk zpzT{atNvWl`Kq_JZtBh0nW56!S(OIKpQ8WnTKP6;ZfMs2->I7n;+Ir~Ui%&p|1{D6 z=~Jui#r5@5?O%ud>#TnMKj>%T{wvaJHhn(N^>*9$liTXH-%h$yTvYA1`u4Tv$+@*g zvvm^!Uu)-ksf+eKKQ=d+$EdLRPhoo3o1C5fzotu9%sq5jIi!F6=5Ws{vwzihrGL8g zHA=mG#hsSeUu$xGc1=$Hs@-b?-|KT%>+62|U;SqFuk9}rL%Oe&Uu(~EEBDdgzH;xK zQ>TC4x;6i;mibYWjkC3*Rj;osT+cN*<(t;L*{zpfh3(%~Z?V^y&$Xt)?DfB+Ykb0P zhWJizy}N$%sXgnCY0Z0{8Moqx)z)wRS1OWEU8)M~du{#f<@|ZpZ+>3=yw%fuS=F4bS?&J+oa*^3t7~wg;H)KDS!y{+_?g zKMKFcT=^g6zbf}hWb_KTo%uJUUl@ygnErm>?{(3i_ATMwem*xcZFb1pMY*3YKaIM| z-+od_Q>%LZw5R{R-k$cyaXTl^zU7O5UEE{vZgJYY__Lqa#!jsDk_bNg=H-QNfrfu~ zop?Jt^wGEMlI;GCUDK^}?=rZ}-*;)f@Na>gn}6>;Q+{>VPq#TwT|Wn%G;er+aQ&n! zbLMO}-Z-!1`@hZzn+03XHOf9&K6P96DnFjz%Pw8_oE1{u8~-OnX5R6&!2wTid-UF2 zW_`C^{M+Wry5@_@SAUrXhiyMs;9caw)J)Y-D7v( zh;4p-$hUCjv#P}(&Z@tg-8%L6rVHDrAN{4bed?@lVHP*m&g%cW!89#XzPo($=85m? z^%^Qle0Kj%ob~?C4~;pKOAS{)oxOgtZ`!-4Ztl`3Q)xbC8wYCo%xg+_g&h9-*COoj(s{dm zKFFy5wt-_i0nRN?A}_z7q4MqZj?8=IKDYh`v& zTISq1c6oXGpUr93@2yv#-Wpq2yM9h>&6czIzJ;4EJ>2)-YM-5s>5ZGQqE~lreS7rt zZ@+VEPVTakGIe{i{zcl4WR~3CPX}0g)gIh>8~nz{yW!We6^~Pk!%Ysj*G~Vw_N}47 z-96zo8$N!#R_Cx@C*s_x*}J!F6UzB)ld<~y;(NQ3_XpqVE?||N&QIcUR24uAP^gm|}K6cKi0s^>vSxwx2($a{kH# z@&D^;6wR5%;j(uyKy@Ow7-a2vp(xv|sx-RJk+5TAlOZ+YWYLDsZ3=9D3 C>5dHm diff --git a/kubejs/data/tfg/worldgen/processor_list/illagers/yurts_paths.json b/kubejs/data/tfg/worldgen/processor_list/illagers/yurts_paths.json new file mode 100644 index 000000000..ffe662188 --- /dev/null +++ b/kubejs/data/tfg/worldgen/processor_list/illagers/yurts_paths.json @@ -0,0 +1,103 @@ +{ + "processors": [ + { + "processor_type": "minecraft:rule", + "rules": [ + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "minecraft:water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/pine" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "tfc:river_water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/pine" + } + }, + + + + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:rock/gravel_road/slate" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:rock/gravel_road/phyllite" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.15 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "tfc:grass_path/silty_loam" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 0.1 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "tfc:grass/silty_loam" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 1.0 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:hoggin" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/processor_list/illagers/yurts_structures.json b/kubejs/data/tfg/worldgen/processor_list/illagers/yurts_structures.json new file mode 100644 index 000000000..b4451a848 --- /dev/null +++ b/kubejs/data/tfg/worldgen/processor_list/illagers/yurts_structures.json @@ -0,0 +1,50 @@ +{ + "processors": [ + { + "processor_type": "minecraft:rule", + "rules": [ + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "minecraft:water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/pine" + } + }, + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:block_match" + }, + "location_predicate": { + "block": "tfc:river_water", + "predicate_type": "minecraft:block_match" + }, + "output_state": { + "Name": "tfc:wood/planks/pine" + } + }, + + + { + "input_predicate": { + "block": "tfc:rock/bricks/andesite", + "predicate_type": "minecraft:random_block_match", + "probability": 1.0 + }, + "location_predicate": { + "predicate_type": "minecraft:always_true" + }, + "output_state": { + "Name": "rnr:hoggin" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure/illagers/yurts_village_living.json b/kubejs/data/tfg/worldgen/structure/illagers/yurts_village_living.json new file mode 100644 index 000000000..8d7dd8573 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure/illagers/yurts_village_living.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:jigsaw", + "start_pool": "tfg:illagers/yurts_village_living_start_pool", + "size": 5, + "max_distance_from_center": 116, + "biomes": "#tfg:has_structure/illages", + "step": "surface_structures", + "terrain_adaptation": "beard_thin", + "start_height": { + "absolute": -1 + }, + "project_start_to_heightmap": "MOTION_BLOCKING", + "use_expansion_hack": false, + "adapt_noise": true, + "spawn_overrides": { + "creature": { + "bounding_box": "full", + "spawns": [] + }, + "monster": { + "bounding_box": "full", + "spawns": [] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json b/kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json new file mode 100644 index 000000000..f1a76756f --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json @@ -0,0 +1,21 @@ +{ + "structures": [ + { + "structure": "tfg:illagers/yurts_village_living", + "weight": 100 + } + ], + "placement": { + "type": "tfc:climate", + "salt": 26256356324, + "spacing": 40, + "separation": 30, + "climate": { + "min_temperature": -12, + "max_temperature": 8, + "min_rainfall": 100, + "max_rainfall": 250, + "max_forest": "edge" + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/mob_horse.json b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_horse.json new file mode 100644 index 000000000..2ecd41ec2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_horse.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:illagers/mob_horse", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/mobs/horse", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_buildings.json b/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_buildings.json new file mode 100644 index 000000000..0362604d3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_buildings.json @@ -0,0 +1,118 @@ +{ + "name": "tfg:illagers/yurts_village_living_buildings", + "fallback": "tfg:illagers/yurts_village_living_paths", + "elements": [ + { + "weight": 100, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:yurts/baseline/larder", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid" + }, + "limit": 1 + } + }, + { + "weight": 100, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:yurts/baseline/workshop", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid" + }, + "limit": 1 + } + }, + { + "weight": 100, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:yurts/baseline/tower", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid" + }, + "limit": 2 + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/house1", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/house2", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/house3", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:yurts/baseline/stable", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid" + }, + "limit": 2 + } + }, + { + "weight": 100, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:yurts/baseline/shooting_range", + "processors": "tfg:illagers/yurts_structures", + "projection": "rigid" + }, + "limit": 1 + } + }, + { + "weight": 50, + "element": { + "element_type": "lithostitched:limited", + "delegate": { + "element_type": "minecraft:single_pool_element", + "location": "tfg:yurts/baseline/monument", + "processors": "tfg:illagers/yurts_paths", + "projection": "rigid" + }, + "limit": 1 + } + }, + { + "weight": 10, + "element": { + "projection": "rigid", + "element_type": "minecraft:empty_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_paths.json b/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_paths.json new file mode 100644 index 000000000..a7b7d49ea --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_paths.json @@ -0,0 +1,94 @@ +{ + "name": "tfg:illagers/yurts_village_living_paths", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/straight_short", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/straight_medium", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/straight_long", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/bend_left", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/bend_right", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/t_junction", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/fork_left", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/fork_right", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 80, + "element": { + "location": "tfg:yurts/baseline/cross", + "processors": "tfg:illagers/yurts_paths", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 10, + "element": { + "projection": "rigid", + "element_type": "minecraft:empty_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_start_pool.json b/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_start_pool.json new file mode 100644 index 000000000..c7eff737e --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/yurts_village_living_start_pool.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:illagers/yurts_village_living_start_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:yurts/baseline/throne_house", + "processors": "tfg:illagers/yurts_paths", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file From 7c96161bd75552ade884008abe71f85640b6a64e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 17:44:22 +0000 Subject: [PATCH 422/628] fixed mars saplings and glacian logs missing map color --- kubejs/startup_scripts/tfg/worldgen/blocks.trees.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js b/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js index b5142d066..1f7faf606 100644 --- a/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js +++ b/kubejs/startup_scripts/tfg/worldgen/blocks.trees.js @@ -13,6 +13,7 @@ function registerTFGWorldGenTrees(event) { .soundType('nether_wart') .defaultCutout() .noCollision() + .mapColor('crimson_nylium') event.create('tfg:saplings/warped', 'tfc:sapling') .features('tfg:mars/tree/warped') @@ -23,6 +24,7 @@ function registerTFGWorldGenTrees(event) { .soundType('nether_wart') .defaultCutout() .noCollision() + .mapColor('warped_nylium') event.create('tfg:saplings/alphacene', 'tfc:sapling') .features('species:alphacene_mushroom') @@ -33,6 +35,7 @@ function registerTFGWorldGenTrees(event) { .soundType('nether_wart') .defaultCutout() .noCollision() + .mapColor('gold') event.create('tfg:saplings/strophar', 'tfc:sapling') .features('tfg:mars/tree/strophar_mini') @@ -43,6 +46,7 @@ function registerTFGWorldGenTrees(event) { .soundType('nether_wart') .defaultCutout() .noCollision() + .mapColor('terracotta_magenta') event.create('tfg:saplings/aeronos', 'tfc:sapling') .features('tfg:mars/tree/aeronos_mini') @@ -53,6 +57,7 @@ function registerTFGWorldGenTrees(event) { .soundType('nether_wart') .defaultCutout() .noCollision() + .mapColor('color_light_green') event.create('tfg:saplings/glacian', 'tfc:sapling') .features('tfg:mars/tree/glacian_mini') @@ -95,6 +100,7 @@ function registerTFGWorldGenTrees(event) { .tagItem('ad_astra:glacian_logs') .tagBlock('minecraft:mineable/axe') .soundType('wood') + .mapColor('ice') .stripped(stripped => { stripped.tagBoth('minecraft:logs') stripped.tagItem('minecraft:logs_that_burn') @@ -107,6 +113,7 @@ function registerTFGWorldGenTrees(event) { .tagBoth('minecraft:logs') .tagBoth('c:hidden_from_recipe_viewers') .soundType('wood') + .mapColor('ice') .stripped(stripped => { stripped.tagBoth('minecraft:logs') stripped.tagBoth('c:hidden_from_recipe_viewers') From 8e77b5dfc5d02c048a36fc126bdd811dbfce71ee Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 18:08:59 +0000 Subject: [PATCH 423/628] Added a recipe to craft old gregtech facades into ones with a new texture --- CHANGELOG.md | 1 + kubejs/server_scripts/gregtech/recipes.js | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f01422d79..5131eb8fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Added some mossy cobblestone to the beneath @Pyritie - Hardened non-TFC rocks are now craftable (#2447) @glitchplaysgames714 - Magma blocks are now hot to hold @Pyritie +- Added a recipe to craft old gregtech facades into ones with a new texture @Pyritie ### Bug fixes - Fixed some curving press tool head recipes being cheaper than intended (#2478) @Pyritie - Fixed some bastion chests being empty @Pyritie diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 508996a71..1e9035862 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -190,6 +190,15 @@ const registerGTCEURecipes = (event) => { return result; }).id('gtceu:facade_cover32'); + event.shapeless(Item.of('gtceu:facade_cover', 8, '{Facade: {Count:1b,id:"minecraft:stone"}}'), ['4x gtceu:facade_cover', "#tfg:whitelisted/facades", '4x gtceu:facade_cover']) + .modifyResult((craftingGrid, result) => { + let blockID = craftingGrid.find(Ingredient.of("#tfg:whitelisted/facades")).id + + let facadeNBT = `{Facade: {Count:1b,id:` + `'${blockID}'` + `}}` + result.nbt = facadeNBT + return result; + }).id('gtceu:facade_cover_recycle'); + // Diamond gear event.recipes.gtceu.laser_engraver('tfg:diamond_gear') .itemInputs('4x #forge:plates/diamond') From 9a9083c9f79504d9e0cff826fb90481ce8867460 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 18:19:10 +0000 Subject: [PATCH 424/628] change the usable in pot/vat tags to moderate fluids and not all liquids --- kubejs/server_scripts/tfc/tags.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 09fb018dd..f0037ac84 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -656,8 +656,8 @@ function registerTFCFluidTags(event) { }); // Can use any liquid. - event.add('tfc:usable_in_pot', '#forge:liquid') - event.add('firmalife:usable_in_vat', '#forge:liquid') + event.add('tfc:usable_in_pot', '#forge:moderate_temperature_fluids') + event.add('firmalife:usable_in_vat', '#forge:moderate_temperature_fluids') // Can use only neutral fluids. event.add('tfc:usable_in_barrel', '#forge:neutral_fluids'); From f885552aebbfb31b2e7567b9232bcf60800a26fa Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 18:19:52 +0000 Subject: [PATCH 425/628] oh neutral is moderate temp + not an acid, gas etc --- kubejs/server_scripts/tfc/tags.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index f0037ac84..73d4c2d92 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -656,8 +656,8 @@ function registerTFCFluidTags(event) { }); // Can use any liquid. - event.add('tfc:usable_in_pot', '#forge:moderate_temperature_fluids') - event.add('firmalife:usable_in_vat', '#forge:moderate_temperature_fluids') + event.add('tfc:usable_in_pot', '#forge:neutral_fluids') + event.add('firmalife:usable_in_vat', '#forge:neutral_fluids') // Can use only neutral fluids. event.add('tfc:usable_in_barrel', '#forge:neutral_fluids'); From cabcdd6943afc11a9f6af99cf073d2efc953eee7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 19:03:40 +0000 Subject: [PATCH 426/628] increased rarity of the oil spouts since they're kinda ugly --- kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 89f7aa725..2bdc4c768 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/oil_spout.json @@ -3,7 +3,7 @@ "placement": [ { "type": "minecraft:rarity_filter", - "chance": 128 + "chance": 200 }, { "type": "tfc:climate", From 04d56390537903905405f7f8c8843fb632dbf613 Mon Sep 17 00:00:00 2001 From: bigtho80 <97521928+bigtho80@users.noreply.github.com> Date: Sun, 21 Dec 2025 21:42:46 +0100 Subject: [PATCH 427/628] Prevent placement of alcohol buckets (#2491) * Prevent alcohol bucket usage on right click Signed-off-by: bigtho80 <97521928+bigtho80@users.noreply.github.com> * Rename cancelalcoholbucket to cancelalcoholbucket.js Signed-off-by: bigtho80 <97521928+bigtho80@users.noreply.github.com> * rename cancelalcoholbucket.js into nonplaceableliquid.js and edit to add tfc:nonplaceable tag Signed-off-by: bigtho80 <97521928+bigtho80@users.noreply.github.com> * Add non-placeable liquid items to event Added various non-placeable liquid items to the event. Signed-off-by: bigtho80 <97521928+bigtho80@users.noreply.github.com> --------- Signed-off-by: bigtho80 <97521928+bigtho80@users.noreply.github.com> --- .../server_scripts/tfc/nonplaceableliquid.js | 5 ++++ kubejs/server_scripts/tfc/tags.js | 24 ++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 kubejs/server_scripts/tfc/nonplaceableliquid.js diff --git a/kubejs/server_scripts/tfc/nonplaceableliquid.js b/kubejs/server_scripts/tfc/nonplaceableliquid.js new file mode 100644 index 000000000..5d60d5f72 --- /dev/null +++ b/kubejs/server_scripts/tfc/nonplaceableliquid.js @@ -0,0 +1,5 @@ +ItemEvents.rightClicked(event => { + if (event.item.hasTag('tfc:nonplaceable')) { + event.cancel() + } +}) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 09fb018dd..253d820d1 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -85,6 +85,28 @@ function registerTFCItemTags(event) { usableOnToolRack.forEach((entry) => { event.add("tfc:usable_on_tool_rack", entry); }); + + //liquid non placeable + event.add("tfc:nonplaceable", "tfc:bucket/beer") + event.add("tfc:nonplaceable", "tfc:bucket/cider") + event.add("tfc:nonplaceable", "tfc:bucket/rum") + event.add("tfc:nonplaceable", "tfc:bucket/sake") + event.add("tfc:nonplaceable", "tfc:bucket/vodka") + event.add("tfc:nonplaceable", "tfc:bucket/whiskey") + event.add("tfc:nonplaceable", "tfc:bucket/corn_whiskey") + event.add("tfc:nonplaceable", "tfc:bucket/rye_whiskey") + + event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_beer") + event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_cider") + event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_rum") + event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_sake") + event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_vodka") + event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_whiskey") + 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("tfg:ferments_to_rennet", "tfc:food/soybean"); @@ -712,4 +734,4 @@ function registerTFCFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_black_steel"); event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_red_steel"); event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_blue_steel"); -} \ No newline at end of file +} From bbd0dbd947881e6425dda31e634c4b380febed68 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 21 Dec 2025 23:47:03 +0000 Subject: [PATCH 428/628] adding thermal vents, sulfur blobs and crystals --- .../textures/block/sulfur_block.png | Bin 0 -> 597 bytes .../tfg/worldgen/biome/venus/fumaroles.json | 13 ++-- .../tfg/worldgen/biome/venus/geysers.json | 3 +- .../tfg/worldgen/biome/venus/salt_flats.json | 4 +- .../biome/venus/stromatolite_beach.json | 11 +-- .../worldgen/biome/venus/sulfuric_ravine.json | 14 ++-- .../biome/venus/volcanic_mountains.json | 3 +- .../venus/surface/sulfur_crystals.json | 42 +++++++++++ .../venus/terrain/hot_spring_delta.json | 12 +-- .../venus/terrain/ignimbrite_columns.json | 71 ++++++++++++++++++ .../venus/terrain/ignimbrite_disk.json | 26 +++++++ .../venus/terrain/ignimbrite_tube_worms.json | 18 +++++ .../venus/terrain/ignimbrite_vents.json | 47 ++++++++++++ .../venus/terrain/lakes.json | 2 +- .../venus/terrain/sulfur_blob.json | 18 +++++ .../worldgen/noise_settings/venus_noise.json | 2 +- .../venus/surface/sulfur_patch.json | 26 +++++++ .../venus/terrain/sulfur_blob.json | 31 ++++++++ .../venus/terrain/thermal_vent.json | 46 ++++++++++++ .../venus/terrain/thermal_vent_rare.json | 46 ++++++++++++ kubejs/server_scripts/tfg/venus/tags.venus.js | 24 +++++- kubejs/startup_scripts/minecraft/constants.js | 4 - .../tfg/venus/blocks.venus_deco.js | 2 +- 23 files changed, 431 insertions(+), 34 deletions(-) create mode 100644 kubejs/assets/vintageimprovements/textures/block/sulfur_block.png create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/sulfur_crystals.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_blob.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/sulfur_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json diff --git a/kubejs/assets/vintageimprovements/textures/block/sulfur_block.png b/kubejs/assets/vintageimprovements/textures/block/sulfur_block.png new file mode 100644 index 0000000000000000000000000000000000000000..2ea74baf2c50d2532801d32e98cd400be90c7d05 GIT binary patch literal 597 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZ}PZ!4!i{8*l2lH+@h`92fh}gy^W85Iro!_)JnvDK@oeURr>aJuIL|d{>971W$v~_k?9p@YRTrK`YcATy zB62%K_}C%SzU6L-dn-ayI-eEuw&j}dtO%9a#FnVTu%h%~)ukflJwJ*a~a`mb!-(P#Yq518hHD{VuUujSO?I9tZ{WVH_)?DGe8{em_ zblRQJy0O5rv7h6%&6V73i}x+LX=xd8zs_W)oo&IFo+nRIeRo|?>3jzA%j@c>ru ze4Mp2dH02NKVM9ZKX7%In#=5)e@_1|S^ty$RuzW(3=9kmp00i_>zopr0L~2z Aq5uE@ literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 0484aa1c5..1919f5236 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -4,8 +4,8 @@ }, "downfall": 0, "effects": { - "sky_color": 10465603, - "fog_color": 9938052, + "sky_color": 11644227, + "fog_color": 10788996, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, @@ -20,7 +20,7 @@ "options": { "type": "minecraft:ash" }, - "probability": 0.1 + "probability": 0.03 } }, "features": [ @@ -38,9 +38,12 @@ "tfc:raw_boulder", "tfc:cobble_boulder", "tfc:raw_boulder_small_patch", - "tfc:cobble_boulder_small_patch" + "tfc:cobble_boulder_small_patch", + "tfg:venus/terrain/thermal_vent_rare" + ], + [ + "tfg:venus/surface/sulfur_patch" ], - [], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index c75ade2c8..48cd0de43 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -39,7 +39,8 @@ [ "tfc:raw_boulder_small_patch", "tfc:cobble_boulder_small_patch", - "tfg:venus/surface/geyser_source_patch" + "tfg:venus/surface/geyser_source_patch", + "tfg:venus/terrain/thermal_vent_rare" ], [], "#tfg:venus_top_layer_modification" diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 63ee49846..01722f1a0 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "sky_color": 10465603, - "fog_color": 9938052, + "fog_color": 12237498, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, @@ -20,7 +20,7 @@ "options": { "type": "minecraft:ash" }, - "probability": 0.1 + "probability": 0.02 } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 8d3c0451c..065dec95d 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -4,8 +4,8 @@ }, "downfall": 0, "effects": { - "sky_color": 10465603, - "fog_color": 9938052, + "sky_color": 11644227, + "fog_color": 10788996, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, @@ -20,7 +20,7 @@ "options": { "type": "minecraft:ash" }, - "probability": 0.1 + "probability": 0.05 } }, "features": [ @@ -37,10 +37,11 @@ "#tfg:venus_veins", "#tfg:venus_underground_decoration", [ - "tfg:venus/surface/stromatolite_cluster_patch" + "tfg:venus/surface/stromatolite_cluster_patch", + "tfg:venus/terrain/thermal_vent_rare" ], [ - + "tfg:venus/surface/sulfur_patch" ], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index b5bd95447..8be57e46a 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -4,8 +4,8 @@ }, "downfall": 0, "effects": { - "sky_color": 10465603, - "fog_color": 9938052, + "sky_color": 11644227, + "fog_color": 12232752, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, @@ -20,7 +20,7 @@ "options": { "type": "minecraft:ash" }, - "probability": 0.1 + "probability": 0.05 } }, "features": [ @@ -35,10 +35,14 @@ "#tfg:venus_veins", "#tfg:venus_underground_decoration", [ + "tfg:venus/terrain/sulfur_blob", "tfc:raw_boulder_small_patch", - "tfc:cobble_boulder_small_patch" + "tfc:cobble_boulder_small_patch", + "tfg:venus/terrain/thermal_vent" + ], + [ + "tfg:venus/surface/sulfur_patch" ], - [], "#tfg:venus_top_layer_modification" ], "has_precipitation": true, diff --git a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json index 73db60050..7a6b92b61 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json @@ -45,7 +45,8 @@ "tfc:raw_boulder", "tfc:cobble_boulder", "tfc:raw_boulder_small_patch", - "tfc:cobble_boulder_small_patch" + "tfc:cobble_boulder_small_patch", + "tfg:venus/terrain/thermal_vent_rare" ], [ "tfg:venus/terrain/lava_fill" diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/sulfur_crystals.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/sulfur_crystals.json new file mode 100644 index 000000000..65a026404 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/sulfur_crystals.json @@ -0,0 +1,42 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:sulphur_crystal" + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:air", + "tfg:fluid/sulfur_fumes" + ] + } + ] + } + } + ] + }, + "tries": 24, + "xz_spread": 3, + "y_spread": 0 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json index 02371764e..5e543a20e 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json @@ -1,9 +1,9 @@ { - "type": "minecraft:delta_feature", - "config": { - "contents": { - "Name": "tfg:geyser_slurry" - }, + "type": "minecraft:delta_feature", + "config": { + "contents": { + "Name": "tfg:fluid/geyser_slurry" + }, "rim": { "Name": "tfg:rock/raw/geyserite" }, @@ -21,5 +21,5 @@ "min_inclusive": 4 } } - } + } } \ 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/ignimbrite_columns.json new file mode 100644 index 000000000..bf53f5020 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json @@ -0,0 +1,71 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:block_column", + "config": { + "direction": "up", + "allowed_placement": { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:air", + "tfg:fluid/sulfur_fumes", + "tfg:fluid/geyser_slurry", + "minecraft:lava" + ] + }, + "prioritize_tip": false, + "layers": [ + { + "height": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 1, + "max_inclusive": 3 + } + }, + "provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:sulphuric_rock" + } + } + } + ] + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:air", + "minecraft:lava", + "tfg:fluid/sulfur_fumes", + "tfg:fluid/geyser_slurry" + ] + }, + { + "type": "minecraft:matching_blocks", + "offset": [ 0, -1, 0 ], + "blocks": "betterend:sulphuric_rock" + } + ] + } + } + ] + }, + "tries": 32, + "xz_spread": 3, + "y_spread": 0 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json new file mode 100644 index 000000000..37f12ab84 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_disk.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:disk", + "config": { + "state_provider": { + "fallback": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:sulphuric_rock" + } + }, + "rules": [] + }, + "radius": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 3, + "max_inclusive": 4 + } + }, + "half_height": 2, + "target": { + "type": "minecraft:matching_block_tag", + "tag": "ad_astra:venus_stone_replaceables" + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json new file mode 100644 index 000000000..a6eea8f10 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "tfg:attached_decorative_plant", + "config": { + "block": "betterend:tube_worm", + "heightRange": 5 + } + }, + "placement": [] + }, + "tries": 36, + "xz_spread": 4, + "y_spread": 0 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json new file mode 100644 index 000000000..dcbb0a413 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json @@ -0,0 +1,47 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:hydrothermal_vent" + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:air", + "tfg:fluid/sulfur_fumes" + ] + }, + { + "type": "minecraft:matching_blocks", + "offset": [ 0, -1, 0 ], + "blocks": "betterend:sulphuric_rock" + } + ] + } + } + ] + }, + "tries": 32, + "xz_spread": 2, + "y_spread": 0 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lakes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lakes.json index 25d0e1bf4..d6aae93b0 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lakes.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lakes.json @@ -4,7 +4,7 @@ "to_place": { "type": "minecraft:simple_state_provider", "state": { - "Name": "tfg:geyser_slurry", + "Name": "tfg:fluid/geyser_slurry", "Properties": { "level": "0" } diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_blob.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_blob.json new file mode 100644 index 000000000..e163d2da2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/sulfur_blob.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 15, + "targets": [ + { + "state": { + "Name": "vintageimprovements:sulfur_block" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "ad_astra:venus_stone_replaceables" + } + } + ] + } +} \ 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 80bcb2e05..166ef402a 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -3365,12 +3365,12 @@ { "Name": "create:ochrum" }, { "Name": "betterend:sulphuric_rock" }, { "Name": "betterend:sandy_jadestone" }, - { "Name": "betterend:lacugrove_bark" }, { "Name": "tfg:sandstone/raw/fluorapatite/brown" }, { "Name": "tfg:sandstone/raw/fluorapatite/orange" }, { "Name": "tfg:sandstone/raw/fluorapatite/yellow" }, { "Name": "tfg:sandstone/raw/fluorapatite/yellow" }, { "Name": "tfg:sandstone/raw/fluorapatite/yellow" }, + { "Name": "vintageimprovements:sulfur_block" }, { "Name": "tfc:raw_sandstone/black" } ], "fallback": { diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/sulfur_patch.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/sulfur_patch.json new file mode 100644 index 000000000..cdfa8aa91 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/sulfur_patch.json @@ -0,0 +1,26 @@ +{ + "feature": "beneath:sulfur_patch", + "placement": [ + { + "type": "minecraft:count", + "count": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE" + }, + { + "type": "tfc:near_fluid", + "fluids": [ + "tfg:sulfur_fumes" + ], + "radius": 5 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob.json new file mode 100644 index 000000000..091cc6827 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob.json @@ -0,0 +1,31 @@ +{ + "feature": { + "type": "tfc:if_then", + "config": { + "if": { + "feature": "tfg:venus/terrain/sulfur_blob", + "placement": [] + }, + "then": { + "feature": "tfg:venus/surface/sulfur_crystals", + "placement": [] + } + } + }, + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + } + ] +} \ 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 new file mode 100644 index 000000000..b50e70ebd --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent.json @@ -0,0 +1,46 @@ +{ + "feature": { + "type": "tfc:multiple", + "config": { + "features": [ + { + "feature": "tfg:venus/terrain/ignimbrite_disk", + "placement": [] + }, + { + "feature": "tfg:venus/terrain/ignimbrite_columns", + "placement": [] + }, + { + "feature": "tfg:venus/terrain/ignimbrite_vents", + "placement": [] + }, + { + "feature": "tfg:venus/terrain/ignimbrite_tube_worms", + "placement": [] + } + ] + } + }, + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:random_offset", + "xz_spread": 0, + "y_spread": -1 + } + ] +} \ No newline at end of file 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 new file mode 100644 index 000000000..fa99f779f --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/thermal_vent_rare.json @@ -0,0 +1,46 @@ +{ + "feature": { + "type": "tfc:multiple", + "config": { + "features": [ + { + "feature": "tfg:venus/terrain/ignimbrite_disk", + "placement": [] + }, + { + "feature": "tfg:venus/terrain/ignimbrite_columns", + "placement": [] + }, + { + "feature": "tfg:venus/terrain/ignimbrite_vents", + "placement": [] + }, + { + "feature": "tfg:venus/terrain/ignimbrite_tube_worms", + "placement": [] + } + ] + } + }, + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 4 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:random_offset", + "xz_spread": 0, + "y_spread": -1 + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index b41ce3ec4..877080d57 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -31,36 +31,52 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'ad_astra:venus_stone') event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_venus_stone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_venus') event.add('ad_astra:venus_stone_replaceables', 'gtceu:red_granite') event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_red_granite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_red_granite') event.add('ad_astra:venus_stone_replaceables', 'ad_astra:moon_deepslate') event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_moon_deepslate') event.add('ad_astra:venus_stone_replaceables', 'minecraft:deepslate') event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_deepslate') event.add('ad_astra:venus_stone_replaceables', 'minecraft:dripstone_block') event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_dripstone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/gravel_dripstone') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/granite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/granite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/granite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/diorite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/diorite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gabbro') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/gabbro') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/basalt') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/basalt') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/rhyolite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/andesite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/dacite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/dacite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/dacite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/slate') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/slate') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/slate') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/schist') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/schist') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/schist') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gneiss') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gneiss') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/gneiss') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/phyllite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/phyllite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/phyllite') 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', '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') @@ -73,8 +89,12 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/white') event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/yellow') event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/yellow') - event.add('ad_astra:venus_stone_replaceables', 'tfg:fluid/geyser_slurry') - event.add('ad_astra:venus_stone_replaceables', 'tfg:fluid/sulfur_fumes') + event.add('ad_astra:venus_stone_replaceables', 'tfc:sand/red') + event.add('ad_astra:venus_stone_replaceables', 'tfc:raw_sandstone/red') + event.add('ad_astra:venus_stone_replaceables', 'tfc:sand/black') + event.add('ad_astra:venus_stone_replaceables', 'tfc:raw_sandstone/black') + //event.add('ad_astra:venus_stone_replaceables', 'tfg:fluid/geyser_slurry') + //event.add('ad_astra:venus_stone_replaceables', 'tfg:fluid/sulfur_fumes') event.add('ad_astra:venus_stone_replaceables', 'minecraft:lava') event.add('ad_astra:venus_stone_replaceables', 'create:scoria') event.add('ad_astra:venus_stone_replaceables', 'create:scorchia') diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index e406882eb..6770553fe 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -470,14 +470,12 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:netherite_scrap', 'minecraft:suspicious_gravel', 'minecraft:gravel', - 'minecraft:large_fern', 'minecraft:tall_grass', 'minecraft:sculk_vein', 'minecraft:lily_pad', 'minecraft:vine', 'minecraft:seagrass', 'minecraft:grass', - 'minecraft:fern', 'minecraft:dandelion', 'minecraft:poppy', 'minecraft:blue_orchid', @@ -491,8 +489,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:cornflower', 'minecraft:lily_of_the_valley', 'minecraft:wither_rose', - 'minecraft:torchflower', - 'minecraft:pitcher_plant', 'minecraft:sculk', 'minecraft:sculk_vein', 'minecraft:sculk_catalyst', diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index 48ebb4aa1..a30788490 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -185,7 +185,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .particleOffset(0.3, 1, 0.3) .particleVelocity(0, 0.1, 0) .particle('minecraft:large_smoke') - .particleCount(5) + .particleCount(2) .particleForced(true) event.create('betterend:tube_worm', 'tfg:attached_decorative_plant') From 72f20ea7fbf3513dc7a461f2513d9d16a7e76384 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 00:32:32 +0000 Subject: [PATCH 429/628] fix fishbig --- kubejs/server_scripts/extended_ae2/recipes.js | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/kubejs/server_scripts/extended_ae2/recipes.js b/kubejs/server_scripts/extended_ae2/recipes.js index 13dd5c1f5..b1dbcb69b 100644 --- a/kubejs/server_scripts/extended_ae2/recipes.js +++ b/kubejs/server_scripts/extended_ae2/recipes.js @@ -869,18 +869,14 @@ const registerExtendedAE2Recipes = (event) => { .EUt(GTValues.VA[GTValues.IV]) .dimension('ad_astra:moon') - event.recipes.shaped( - Item.of('expatternprovider:fishbig'), - [ - 'CCC', - 'CFC', - 'CCC' - ], - { - C: '#tfc:sewing_light_cloth', - F: '#minecraft:fishes' - } - ) + event.shaped('expatternprovider:fishbig', [ + 'CCC', + 'CFC', + 'CCC' + ], { + C: '#tfc:sewing_light_cloth', + F: '#minecraft:fishes' + }).id('tfg:shaped/fishbig') //#endregion From 74a22fd9c9f1bb0e57e2f1b467145e736b0da801 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 01:43:49 +0000 Subject: [PATCH 430/628] add hydralux and some ambient sounds --- .../betterend/blockstates/hydralux.json | 14 ------ .../betterend/blockstates/hydralux_large.json | 13 +++++ .../blockstates/hydralux_sapling.json | 10 ++-- .../betterend/blockstates/hydralux_small.json | 9 ++++ kubejs/assets/betterend/lang/en_us.json | 3 +- kubejs/assets/betterend/lang/ja_jp.json | 3 +- kubejs/assets/betterend/lang/ru_ru.json | 3 +- kubejs/assets/betterend/lang/uk_ua.json | 3 +- kubejs/assets/betterend/lang/zh_cn.json | 3 +- .../models/block/hydralux_sapling_1.json | 2 +- .../models/block/hydralux_sapling_2.json | 2 +- .../models/block/hydralux_sapling_3.json | 2 +- .../models/block/hydralux_sapling_4.json | 2 +- .../betterend/models/block/hydralux_vine.json | 2 +- ...x_roots.json => hydralux_vine_bottom.json} | 0 .../betterend/models/item/hydralux_large.json | 6 +++ .../betterend/models/item/hydralux_small.json | 6 +++ .../biome/mars/martian_deep_desert.json | 6 +++ .../biome/mars/martian_dune_edge.json | 6 +++ .../worldgen/biome/mars/martian_dunes.json | 6 +++ .../tfg/worldgen/biome/venus/arachnoids.json | 7 ++- .../worldgen/biome/venus/fractured_pools.json | 7 ++- .../tfg/worldgen/biome/venus/fumaroles.json | 13 +++-- .../tfg/worldgen/biome/venus/geysers.json | 9 +++- .../biome/venus/jagged_tablelands.json | 7 ++- .../tfg/worldgen/biome/venus/salt_flats.json | 9 +++- .../biome/venus/stromatolite_beach.json | 8 +++- .../worldgen/biome/venus/sulfuric_ravine.json | 12 +++-- .../biome/venus/volcanic_mountains.json | 11 +++-- .../venus/surface/hydralux_large.json | 43 +++++++++++++++++ .../venus/surface/hydralux_sapling.json | 47 +++++++++++++++++++ .../venus/surface/hydralux_small.json | 43 +++++++++++++++++ .../venus/terrain/ignimbrite_columns.json | 2 +- .../venus/terrain/ignimbrite_vents.json | 4 +- .../venus/surface/hydralux.json | 37 +++++++++++++++ .../venus/surface/hydralux_rare.json | 37 +++++++++++++++ .../venus/terrain/sulfur_blob_rare.json | 31 ++++++++++++ .../tfg/venus/blocks.venus_deco.js | 24 ++++++++++ 38 files changed, 403 insertions(+), 49 deletions(-) delete mode 100644 kubejs/assets/betterend/blockstates/hydralux.json create mode 100644 kubejs/assets/betterend/blockstates/hydralux_large.json create mode 100644 kubejs/assets/betterend/blockstates/hydralux_small.json rename kubejs/assets/betterend/models/block/{hydralux_roots.json => hydralux_vine_bottom.json} (100%) create mode 100644 kubejs/assets/betterend/models/item/hydralux_large.json create mode 100644 kubejs/assets/betterend/models/item/hydralux_small.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_large.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_sapling.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_small.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux_rare.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob_rare.json diff --git a/kubejs/assets/betterend/blockstates/hydralux.json b/kubejs/assets/betterend/blockstates/hydralux.json deleted file mode 100644 index b8a984fc7..000000000 --- a/kubejs/assets/betterend/blockstates/hydralux.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "variants": { - "shape=flower_big_bottom": [ - { "model": "betterend:block/hydralux_flower_big_1_bottom" }, - { "model": "betterend:block/hydralux_flower_big_2_bottom" }, - { "model": "betterend:block/hydralux_flower_big_3_bottom" } - ], - "shape=flower_big_top": { "model": "betterend:block/hydralux_flower_big_top" }, - "shape=flower_small_bottom": { "model": "betterend:block/hydralux_flower_small_bottom" }, - "shape=flower_small_top": { "model": "betterend:block/hydralux_flower_small_top" }, - "shape=vine": { "model": "betterend:block/hydralux_vine" }, - "shape=roots": { "model": "betterend:block/hydralux_roots" } - } -} diff --git a/kubejs/assets/betterend/blockstates/hydralux_large.json b/kubejs/assets/betterend/blockstates/hydralux_large.json new file mode 100644 index 000000000..98fc5ef12 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/hydralux_large.json @@ -0,0 +1,13 @@ +{ + "variants": { + "height=0": { "model": "betterend:block/hydralux_vine_bottom" }, + "height=1": { "model": "betterend:block/hydralux_vine" }, + "height=2": [ + { "model": "betterend:block/hydralux_flower_big_1_bottom" }, + { "model": "betterend:block/hydralux_flower_big_2_bottom" }, + { "model": "betterend:block/hydralux_flower_big_3_bottom" } + ], + "height=3": { "model": "betterend:block/hydralux_flower_big_top" }, + "height=4": { "model": "" } + } +} diff --git a/kubejs/assets/betterend/blockstates/hydralux_sapling.json b/kubejs/assets/betterend/blockstates/hydralux_sapling.json index f0841963e..0e079837e 100644 --- a/kubejs/assets/betterend/blockstates/hydralux_sapling.json +++ b/kubejs/assets/betterend/blockstates/hydralux_sapling.json @@ -1,8 +1,10 @@ { "variants": { - "age=0": { "model": "betterend:block/hydralux_sapling_1" }, - "age=1": { "model": "betterend:block/hydralux_sapling_2" }, - "age=2": { "model": "betterend:block/hydralux_sapling_3" }, - "age=3": { "model": "betterend:block/hydralux_sapling_4" } + "": [ + { "model": "betterend:block/hydralux_sapling_1" }, + { "model": "betterend:block/hydralux_sapling_2" }, + { "model": "betterend:block/hydralux_sapling_3" }, + { "model": "betterend:block/hydralux_sapling_4" } + ] } } diff --git a/kubejs/assets/betterend/blockstates/hydralux_small.json b/kubejs/assets/betterend/blockstates/hydralux_small.json new file mode 100644 index 000000000..ba7bbcf0e --- /dev/null +++ b/kubejs/assets/betterend/blockstates/hydralux_small.json @@ -0,0 +1,9 @@ +{ + "variants": { + "height=0": { "model": "betterend:block/hydralux_vine_bottom" }, + "height=1": { "model": "betterend:block/hydralux_vine" }, + "height=2": { "model": "betterend:block/hydralux_flower_small_bottom" }, + "height=3": { "model": "betterend:block/hydralux_flower_small_top" }, + "height=4": { "model": "" } + } +} diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json index 41142b02d..fcb9d958b 100644 --- a/kubejs/assets/betterend/lang/en_us.json +++ b/kubejs/assets/betterend/lang/en_us.json @@ -55,7 +55,8 @@ "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", "block.betterend.hydrothermal_vent": "Thermal Vent", - "block.betterend.hydralux": "Hydralux", + "block.betterend.hydralux_small": "Hydralux", + "block.betterend.hydralux_large": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", diff --git a/kubejs/assets/betterend/lang/ja_jp.json b/kubejs/assets/betterend/lang/ja_jp.json index 37ae88053..e72e61194 100644 --- a/kubejs/assets/betterend/lang/ja_jp.json +++ b/kubejs/assets/betterend/lang/ja_jp.json @@ -48,7 +48,8 @@ "block.betterend.fracturn": "Fracturn", "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", - "block.betterend.hydralux": "Hydralux", + "block.betterend.hydralux_small": "Hydralux", + "block.betterend.hydralux_large": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", diff --git a/kubejs/assets/betterend/lang/ru_ru.json b/kubejs/assets/betterend/lang/ru_ru.json index ca2bf627b..144183629 100644 --- a/kubejs/assets/betterend/lang/ru_ru.json +++ b/kubejs/assets/betterend/lang/ru_ru.json @@ -48,7 +48,8 @@ "block.betterend.fracturn": "Фрактюрн", "block.betterend.glacian_hymenophore": "Гласиевый гименофор", "block.betterend.globulagus": "Глобулагус", - "block.betterend.hydralux": "Гидралюкс", + "block.betterend.hydralux_small": "Гидралюкс", + "block.betterend.hydralux_large": "Гидралюкс", "block.betterend.hydralux_sapling": "Отросток гидралюкса", "block.betterend.inflexia": "Инфлексия", "block.betterend.lacugrove": "Водоросли озёрного мангра", diff --git a/kubejs/assets/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json index d8d5bf67d..1d111511d 100644 --- a/kubejs/assets/betterend/lang/uk_ua.json +++ b/kubejs/assets/betterend/lang/uk_ua.json @@ -48,7 +48,8 @@ "block.betterend.fracturn": "Фрактурн", "block.betterend.glacian_hymenophore": "Гіменофор Ґлаціана", "block.betterend.globulagus": "Глобулагус", - "block.betterend.hydralux": "Гідралюкс", + "block.betterend.hydralux_large": "Гідралюкс", + "block.betterend.hydralux_small": "Гідралюкс", "block.betterend.hydralux_sapling": "Паросток Гідралюкса", "block.betterend.inflexia": "Інфлексія", "block.betterend.lacugrove": "Водорості Лакугроув", diff --git a/kubejs/assets/betterend/lang/zh_cn.json b/kubejs/assets/betterend/lang/zh_cn.json index bb9244343..156ab295a 100644 --- a/kubejs/assets/betterend/lang/zh_cn.json +++ b/kubejs/assets/betterend/lang/zh_cn.json @@ -55,7 +55,8 @@ "block.betterend.glacian_hymenophore": "霜原菌褶", "block.betterend.globulagus": "球囊藻", "block.betterend.hydrothermal_vent": "热泉喷口", - "block.betterend.hydralux": "水光莲", + "block.betterend.hydralux_small": "水光莲", + "block.betterend.hydralux_large": "水光莲", "block.betterend.hydralux_sapling": "水光莲苗", "block.betterend.inflexia": "曲枝草", "block.betterend.lacugrove": "泊林木海藻", diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_1.json b/kubejs/assets/betterend/models/block/hydralux_sapling_1.json index c433371b8..aea21f65c 100644 --- a/kubejs/assets/betterend/models/block/hydralux_sapling_1.json +++ b/kubejs/assets/betterend/models/block/hydralux_sapling_1.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cross", "textures": { - "texture": "betterend:block/hydralux_sapling_1" + "cross": "betterend:block/hydralux_sapling_1" } } \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_2.json b/kubejs/assets/betterend/models/block/hydralux_sapling_2.json index 8b3416b43..003f6f42a 100644 --- a/kubejs/assets/betterend/models/block/hydralux_sapling_2.json +++ b/kubejs/assets/betterend/models/block/hydralux_sapling_2.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cross", "textures": { - "texture": "betterend:block/hydralux_sapling_2" + "cross": "betterend:block/hydralux_sapling_2" } } \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_3.json b/kubejs/assets/betterend/models/block/hydralux_sapling_3.json index b584afc83..7c7083a3a 100644 --- a/kubejs/assets/betterend/models/block/hydralux_sapling_3.json +++ b/kubejs/assets/betterend/models/block/hydralux_sapling_3.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cross", "textures": { - "texture": "betterend:block/hydralux_sapling_3" + "cross": "betterend:block/hydralux_sapling_3" } } \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_4.json b/kubejs/assets/betterend/models/block/hydralux_sapling_4.json index 29d0571ea..8447696d4 100644 --- a/kubejs/assets/betterend/models/block/hydralux_sapling_4.json +++ b/kubejs/assets/betterend/models/block/hydralux_sapling_4.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cross", "textures": { - "texture": "betterend:block/hydralux_sapling_4" + "cross": "betterend:block/hydralux_sapling_4" } } \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/hydralux_vine.json b/kubejs/assets/betterend/models/block/hydralux_vine.json index ad34df156..4bf44c7ce 100644 --- a/kubejs/assets/betterend/models/block/hydralux_vine.json +++ b/kubejs/assets/betterend/models/block/hydralux_vine.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cross", "textures": { - "texture": "betterend:block/hydralux_vine" + "cross": "betterend:block/hydralux_vine" } } \ No newline at end of file diff --git a/kubejs/assets/betterend/models/block/hydralux_roots.json b/kubejs/assets/betterend/models/block/hydralux_vine_bottom.json similarity index 100% rename from kubejs/assets/betterend/models/block/hydralux_roots.json rename to kubejs/assets/betterend/models/block/hydralux_vine_bottom.json diff --git a/kubejs/assets/betterend/models/item/hydralux_large.json b/kubejs/assets/betterend/models/item/hydralux_large.json new file mode 100644 index 000000000..d3a1c3199 --- /dev/null +++ b/kubejs/assets/betterend/models/item/hydralux_large.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/hydralux_sapling_4" + } +} diff --git a/kubejs/assets/betterend/models/item/hydralux_small.json b/kubejs/assets/betterend/models/item/hydralux_small.json new file mode 100644 index 000000000..1dcb9cba5 --- /dev/null +++ b/kubejs/assets/betterend/models/item/hydralux_small.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/hydralux_sapling_2" + } +} 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 31f6e1288..95b93a589 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -13,6 +13,12 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.desert" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 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 0c2a223e7..d31e4baaa 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -13,6 +13,12 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.desert" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index d51fb49f4..3cb0ddee6 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -13,6 +13,12 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.desert" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index b5bd95447..bde6fef13 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -4,16 +4,21 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "sky_color": 10465603, "fog_color": 9938052, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index c55ed1b32..259eb1839 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -4,11 +4,16 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "fog_color": 9938052, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "sky_color": 10465603, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 1919f5236..951b5f9c6 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -4,21 +4,26 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "sky_color": 11644227, "fog_color": 10788996, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { "options": { - "type": "minecraft:ash" + "type": "minecraft:white_ash" }, "probability": 0.03 } @@ -35,6 +40,7 @@ "#tfg:venus_veins", "#tfg:venus_underground_decoration", [ + "tfg:venus/terrain/sulfur_blob_rare", "tfc:raw_boulder", "tfc:cobble_boulder", "tfc:raw_boulder_small_patch", @@ -42,7 +48,8 @@ "tfg:venus/terrain/thermal_vent_rare" ], [ - "tfg:venus/surface/sulfur_patch" + "tfg:venus/surface/sulfur_patch", + "tfg:venus/surface/hydralux_rare" ], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 48cd0de43..1f003659d 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -4,21 +4,26 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "sky_color": 10465603, "fog_color": 9938052, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { "options": { - "type": "minecraft:ash" + "type": "minecraft:white_ash" }, "probability": 0.1 } diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 0484aa1c5..3d0afe1af 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -4,16 +4,21 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "sky_color": 10465603, "fog_color": 9938052, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 01722f1a0..c1a5b4273 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -4,21 +4,26 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "sky_color": 10465603, "fog_color": 12237498, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { "options": { - "type": "minecraft:ash" + "type": "minecraft:white_ash" }, "probability": 0.02 } diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 065dec95d..14ab6fc24 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -4,6 +4,10 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "sky_color": 11644227, "fog_color": 10788996, "water_color": 8241044, @@ -13,12 +17,12 @@ "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { "options": { - "type": "minecraft:ash" + "type": "minecraft:white_ash" }, "probability": 0.05 } diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 8be57e46a..d474c79c9 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -4,16 +4,21 @@ }, "downfall": 0, "effects": { + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, "sky_color": 11644227, - "fog_color": 12232752, + "fog_color": 11575877, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { @@ -41,7 +46,8 @@ "tfg:venus/terrain/thermal_vent" ], [ - "tfg:venus/surface/sulfur_patch" + "tfg:venus/surface/sulfur_patch", + "tfg:venus/surface/hydralux" ], "#tfg:venus_top_layer_modification" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json index 7a6b92b61..e6cf0d645 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json @@ -4,16 +4,21 @@ }, "downfall": 0, "effects": { - "sky_color": 10465603, - "fog_color": 9938052, + "additions_sound": { + "sound": "minecraft:ambient.basalt_deltas.additions", + "tick_chance": 0.0111 + }, + "sky_color": 5450003, + "fog_color": 5450003, "water_color": 8241044, "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "minecraft:ambient.basalt_deltas.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "minecraft:ambient.basalt_deltas.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_large.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_large.json new file mode 100644 index 000000000..babc7cf32 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_large.json @@ -0,0 +1,43 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "tfg:tall_decorative_plant", + "config": { + "block": "betterend:hydralux_large", + "plantHeight": 4, + "minHeight": 5, + "maxHeight": 9, + "middle": 1 + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "tfg:fluid/sulfur_fumes" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "ad_astra:venus_stone_replaceables" + } + ] + } + } + ] + }, + "tries": 4, + "xz_spread": 10, + "y_spread": 0 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_sapling.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_sapling.json new file mode 100644 index 000000000..cdda2a5d4 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_sapling.json @@ -0,0 +1,47 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:hydralux_sapling", + "Properties": { + "fluid": "sulfur_fumes" + } + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "tfg:fluid/sulfur_fumes" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "ad_astra:venus_stone_replaceables" + } + ] + } + } + ] + }, + "tries": 18, + "xz_spread": 16, + "y_spread": 0 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_small.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_small.json new file mode 100644 index 000000000..04da10296 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/hydralux_small.json @@ -0,0 +1,43 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "tfg:tall_decorative_plant", + "config": { + "block": "betterend:hydralux_small", + "plantHeight": 4, + "minHeight": 3, + "maxHeight": 6, + "middle": 1 + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "tfg:fluid/sulfur_fumes" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "ad_astra:venus_stone_replaceables" + } + ] + } + } + ] + }, + "tries": 6, + "xz_spread": 10, + "y_spread": 0 + } +} \ 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/ignimbrite_columns.json index bf53f5020..5715015fa 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_columns.json @@ -22,7 +22,7 @@ "type": "minecraft:uniform", "value": { "min_inclusive": 1, - "max_inclusive": 3 + "max_inclusive": 4 } }, "provider": { diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json index dcbb0a413..2d620ef82 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json @@ -16,7 +16,7 @@ "placement": [ { "type": "minecraft:heightmap", - "heightmap": "OCEAN_FLOOR_WG" + "heightmap": "OCEAN_FLOOR" }, { "type": "minecraft:block_predicate_filter", @@ -41,7 +41,7 @@ ] }, "tries": 32, - "xz_spread": 2, + "xz_spread": 3, "y_spread": 0 } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux.json new file mode 100644 index 000000000..587031522 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux.json @@ -0,0 +1,37 @@ +{ + "feature": { + "type": "tfc:multiple", + "config": { + "features": [ + { + "feature": "tfg:venus/surface/hydralux_large", + "placement": [] + }, + { + "feature": "tfg:venus/surface/hydralux_small", + "placement": [] + }, + { + "feature": "tfg:venus/surface/hydralux_sapling", + "placement": [] + } + ] + } + }, + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 1 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux_rare.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux_rare.json new file mode 100644 index 000000000..acd708f5c --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/hydralux_rare.json @@ -0,0 +1,37 @@ +{ + "feature": { + "type": "tfc:multiple", + "config": { + "features": [ + { + "feature": "tfg:venus/surface/hydralux_large", + "placement": [] + }, + { + "feature": "tfg:venus/surface/hydralux_small", + "placement": [] + }, + { + "feature": "tfg:venus/surface/hydralux_sapling", + "placement": [] + } + ] + } + }, + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob_rare.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob_rare.json new file mode 100644 index 000000000..1872700a2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/sulfur_blob_rare.json @@ -0,0 +1,31 @@ +{ + "feature": { + "type": "tfc:if_then", + "config": { + "if": { + "feature": "tfg:venus/terrain/sulfur_blob", + "placement": [] + }, + "then": { + "feature": "tfg:venus/surface/sulfur_crystals", + "placement": [] + } + } + }, + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR_WG" + } + ] +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index a30788490..35f5341fa 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -261,4 +261,28 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .mapColor('terracotta_light_gray') .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + + // Plants + + event.create('betterend:hydralux_sapling', 'tfg:decorative_plant') + .soundType('nether_wart') + .mapColor('green_terracotta') + .box(2, 0, 2, 14, 13, 14) + .tagBlock('tfg:do_not_destroy_in_space') + + event.create('betterend:hydralux_small', 'tfg:tall_decorative_plant') + .height(4) + .soundType('nether_wart') + .mapColor('green_terracotta') + .box(3, 0, 3, 13, 16, 13) + .tagItem('tfg:venus_plants') + .tagBlock('tfg:do_not_destroy_in_space') + + event.create('betterend:hydralux_large', 'tfg:tall_decorative_plant') + .height(4) + .soundType('nether_wart') + .mapColor('green_terracotta') + .box(3, 0, 3, 13, 16, 13) + .tagItem('tfg:venus_plants') + .tagBlock('tfg:do_not_destroy_in_space') } \ No newline at end of file From 226a7fabd871404c3230868f93bcb31a696ce5c5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 02:01:57 +0000 Subject: [PATCH 431/628] added some ambient sound to mars --- kubejs/data/tfg/worldgen/biome/mars/amber_edge.json | 1 + kubejs/data/tfg/worldgen/biome/mars/amber_hills.json | 1 + kubejs/data/tfg/worldgen/biome/mars/amber_plains.json | 1 + kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json | 1 + kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json | 1 + kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json | 1 + kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json | 1 + kubejs/data/tfg/worldgen/biome/mars/martian_river.json | 1 + kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json | 1 + kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json | 1 + kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json | 1 + kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json | 1 + kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json | 1 + kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json | 1 + 14 files changed, 14 insertions(+) diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index 7853a4284..82643ec76 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -11,6 +11,7 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index 4e347cb58..16d3770cb 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -14,6 +14,7 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index 15fd11f88..d484c271f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -14,6 +14,7 @@ "sound": "minecraft:ambient.cave", "tick_delay": 6000 }, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 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 95b93a589..929da3955 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -7,6 +7,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, 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 d31e4baaa..5065cb5a8 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -7,6 +7,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index 3cb0ddee6..41d5843d7 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -7,6 +7,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index 364c3610e..36199c36e 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -8,6 +8,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index 1a9215d7d..941da9ca4 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -8,6 +8,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index 680384cef..d4a329101 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -5,6 +5,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index 8080bd92c..01c1655d9 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -8,6 +8,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index f797440be..394289493 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -8,6 +8,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index b9f379283..c214d278b 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -5,6 +5,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index 3f406a7c0..0f10d5eff 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -8,6 +8,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index ad4170e08..998ca165b 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -8,6 +8,7 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, + "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, From 6b2d37fb2062aee2a68a10a5796a913e52f3c829 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 17:39:51 +0000 Subject: [PATCH 432/628] more sounds --- config/ambientsounds-client.json | 8 +- kubejs/assets/tfg/sounds.json | 826 ++++++++++++++++++ .../tfg/worldgen/biome/mars/amber_edge.json | 14 +- .../tfg/worldgen/biome/mars/amber_hills.json | 14 +- .../tfg/worldgen/biome/mars/amber_plains.json | 14 +- .../biome/mars/martian_deep_desert.json | 8 +- .../biome/mars/martian_dune_edge.json | 8 +- .../worldgen/biome/mars/martian_dunes.json | 8 +- .../biome/mars/martian_mountains.json | 14 +- .../worldgen/biome/mars/martian_river.json | 14 +- .../worldgen/biome/mars/rusticus_edge.json | 8 +- .../worldgen/biome/mars/rusticus_hills.json | 14 +- .../worldgen/biome/mars/rusticus_plains.json | 14 +- .../tfg/worldgen/biome/mars/sangnum_edge.json | 8 +- .../worldgen/biome/mars/sangnum_hills.json | 14 +- .../worldgen/biome/mars/sangnum_plains.json | 14 +- .../biome/moon/lunar_asurine_dense.json | 6 +- .../biome/moon/lunar_asurine_sparse.json | 6 +- .../biome/moon/lunar_chorus_dense.json | 6 +- .../biome/moon/lunar_chorus_sparse.json | 6 +- .../biome/moon/lunar_corals_dense.json | 6 +- .../biome/moon/lunar_corals_sparse.json | 6 +- .../biome/moon/lunar_lights_dense.json | 6 +- .../biome/moon/lunar_lights_sparse.json | 6 +- .../tfg/worldgen/biome/moon/lunar_plains.json | 6 +- .../tfg/worldgen/biome/moon/lunar_sands.json | 6 +- .../tfg/worldgen/biome/nether/ash_forest.json | 6 +- .../worldgen/biome/nether/basalt_deltas.json | 6 +- .../biome/nether/decaying_caverns.json | 6 +- .../worldgen/biome/nether/diorite_caves.json | 6 +- .../worldgen/biome/nether/gabbro_caves.json | 6 +- .../worldgen/biome/nether/gneiss_caves.json | 6 +- .../worldgen/biome/nether/granite_caves.json | 6 +- .../tfg/worldgen/biome/nether/lava_floes.json | 6 +- .../worldgen/biome/nether/lush_hollow.json | 7 +- .../worldgen/biome/nether/schist_caves.json | 6 +- .../worldgen/biome/nether/webbed_lair.json | 7 +- .../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/stromatolite_beach.json | 5 +- .../worldgen/biome/venus/sulfuric_ravine.json | 6 +- .../biome/venus/volcanic_mountains.json | 6 +- 46 files changed, 1084 insertions(+), 97 deletions(-) create mode 100644 kubejs/assets/tfg/sounds.json diff --git a/config/ambientsounds-client.json b/config/ambientsounds-client.json index 875f15855..a1f0e85b0 100644 --- a/config/ambientsounds-client.json +++ b/config/ambientsounds-client.json @@ -202,9 +202,9 @@ "animal": { "animal": 1, "bird": { - "bird": 1, - "bird_day": 1, - "bird_night": 1 + "bird": 0.75, + "bird_day": 0.75, + "bird_night": 0.75 }, "cicadas": 1, "cricket": { @@ -215,7 +215,7 @@ }, "cave": 1, "weather": 1, - "wind": 1 + "wind": 0.75 }, "fade-volume": 0.005, "fade-pitch": 0.005, diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json new file mode 100644 index 000000000..6df29f9db --- /dev/null +++ b/kubejs/assets/tfg/sounds.json @@ -0,0 +1,826 @@ +{ + "ambient.upper_nether.loop": { + "sounds": [ + { + "name": "ambient/nether/crimson_forest/ambience", + "stream": true, + "volume": 0.74 + } + ] + }, + "ambient.upper_nether.additions": { + "sounds": [ + { + "name": "ambient/nether/crimson_forest/addition1", + "volume": 0.4, + "weight": 3 + }, + { + "name": "ambient/nether/crimson_forest/addition2", + "volume": 0.5, + "weight": 3 + }, + { + "name": "ambient/nether/crimson_forest/addition3", + "volume": 0.32, + "weight": 3 + }, + { + "name": "ambient/nether/crimson_forest/particles1", + "volume": 0.4, + "weight": 35 + }, + { + "name": "ambient/nether/crimson_forest/particles2", + "volume": 0.4, + "weight": 35 + }, + { + "name": "ambient/nether/crimson_forest/particles3", + "volume": 0.4, + "weight": 35 + }, + { + "name": "ambient/nether/crimson_forest/shine1", + "pitch": 0.5, + "volume": 0.1, + "weight": 6 + }, + { + "name": "ambient/nether/crimson_forest/shine2", + "pitch": 0.5, + "volume": 0.1, + "weight": 6 + }, + { + "name": "ambient/nether/crimson_forest/shine3", + "pitch": 0.5, + "volume": 0.1, + "weight": 6 + }, + { + "name": "ambient/nether/warped_forest/enish1", + "pitch": 0.2, + "volume": 0.1, + "weight": 10 + }, + { + "name": "ambient/nether/warped_forest/enish2", + "pitch": 0.2, + "volume": 0.1, + "weight": 6 + }, + { + "name": "ambient/nether/warped_forest/enish3", + "pitch": 0.2, + "volume": 0.07, + "weight": 6 + }, + { + "name": "ambient/nether/crimson_forest/shroom1", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/shroom2", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/shroom3", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/twang1", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/voom1", + "volume": 0.7, + "weight": 4 + }, + { + "name": "ambient/nether/crimson_forest/voom1", + "pitch": 0.8, + "volume": 0.7, + "weight": 4 + }, + { + "name": "ambient/nether/crimson_forest/voom2", + "volume": 0.7, + "weight": 4 + }, + { + "name": "ambient/nether/crimson_forest/voom2", + "pitch": 0.8, + "volume": 0.7, + "weight": 4 + }, + { + "name": "ambient/nether/nether_wastes/dark1", + "volume": 0.9, + "weight": 5 + }, + { + "name": "ambient/nether/nether_wastes/dark2", + "volume": 0.9, + "weight": 5 + }, + { + "name": "ambient/nether/nether_wastes/ground1", + "volume": 0.25, + "weight": 3 + }, + { + "name": "ambient/nether/nether_wastes/ground2", + "volume": 0.4 + }, + { + "name": "ambient/nether/nether_wastes/ground3", + "volume": 0.4 + }, + { + "name": "ambient/nether/nether_wastes/ground4", + "volume": 0.4 + }, + { + "name": "ambientsounds:cave/cave-water1", + "stream": true + }, + { + "name": "ambientsounds:cave/cave-water2", + "stream": true + }, + { + "name": "ambientsounds:cave/cave-water3", + "stream": true + }, + { + "name": "ambientsounds:cave/cave-water4", + "stream": true + }, + { + "name": "ambientsounds:cave/cave-water5", + "stream": true + }, + { + "name": "ambientsounds:cave/cave-large1", + "stream": true + }, + { + "name": "ambientsounds:cave/cave-large2", + "stream": true + }, + { + "name": "ambientsounds:cave/cave-lush", + "stream": true + } + ] + }, + "ambient.upper_nether.mood": { + "sounds": [ + "ambient/nether/crimson_forest/mood1", + "ambient/nether/crimson_forest/mood2", + "ambient/nether/crimson_forest/mood3", + "ambient/nether/warped_forest/creak1", + "ambient/nether/warped_forest/creak2", + "ambient/nether/warped_forest/creak3", + "ambient/nether/warped_forest/creak4", + "ambient/nether/warped_forest/creak5", + "ambient/cave/cave4", + "ambient/cave/cave7", + "ambient/cave/cave8", + "ambient/cave/cave9" + ] + }, + "ambient.lower_nether.loop": { + "sounds": [ + { + "name": "ambient/nether/nether_wastes/ambience", + "stream": true, + "volume": 0.77 + } + ] + }, + "ambient.lower_nether.additions": { + "sounds": [ + { + "name": "ambient/nether/basalt_deltas/basaltground1", + "volume": 0.55, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/basaltground2", + "volume": 0.55, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/basaltground3", + "volume": 0.55, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/debris1", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/debris2", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/debris3", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/long_debris1", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/long_debris2", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/plode1", + "volume": 0.5, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/plode2", + "volume": 0.5, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/plode3", + "volume": 0.5, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/twist1", + "volume": 0.66 + }, + { + "name": "ambient/nether/basalt_deltas/twist2", + "volume": 0.66 + }, + { + "name": "ambient/nether/basalt_deltas/twist3", + "volume": 0.77 + }, + { + "name": "ambient/nether/basalt_deltas/twist4", + "volume": 0.66 + } + ] + }, + "ambient.lower_nether.mood": { + "sounds": [ + "ambient/nether/nether_wastes/mood1", + "ambient/nether/nether_wastes/mood2", + "ambient/nether/nether_wastes/mood3", + "ambient/nether/nether_wastes/mood4", + "ambient/nether/nether_wastes/mood5" + ] + }, + "ambient.moon.additions": { + "sounds": [ + { + "name": "ambient/nether/warped_forest/addition1", + "pitch": 0.8, + "volume": 0.06, + "weight": 3 + }, + { + "name": "ambient/nether/warped_forest/addition2", + "pitch": 0.7, + "volume": 0.06, + "weight": 3 + }, + { + "name": "ambient/nether/warped_forest/addition3", + "pitch": 0.1, + "volume": 0.06, + "weight": 3 + }, + { + "name": "ambient/nether/warped_forest/addition4", + "volume": 0.07, + "weight": 3 + }, + { + "name": "ambient/nether/warped_forest/addition5", + "volume": 0.07, + "weight": 3 + }, + { + "name": "ambient/nether/warped_forest/addition6", + "volume": 0.15 + }, + { + "name": "ambient/nether/warped_forest/enish1", + "pitch": 0.2, + "volume": 0.1, + "weight": 10 + }, + { + "name": "ambient/nether/warped_forest/enish2", + "pitch": 0.2, + "volume": 0.1, + "weight": 6 + }, + { + "name": "ambient/nether/warped_forest/enish3", + "pitch": 0.2, + "volume": 0.07, + "weight": 6 + }, + { + "name": "ambient/nether/warped_forest/help1", + "volume": 0.2 + }, + { + "name": "ambient/nether/warped_forest/help2", + "volume": 0.2 + } + ] + }, + "ambient.moon.mood": { + "sounds": [ + "ambient/nether/warped_forest/mood1", + "ambient/nether/warped_forest/mood2", + "ambient/nether/warped_forest/mood3", + "ambient/nether/warped_forest/mood4", + "ambient/nether/warped_forest/mood5", + "ambient/nether/warped_forest/mood6", + "ambient/nether/warped_forest/mood7", + "ambient/nether/warped_forest/mood8" + ] + }, + "ambient.mars_desert.loop": { + "sounds": [ + { + "name": "ambient/nether/soulsand_valley/ambience", + "stream": true, + "volume": 0.85 + } + ] + }, + "ambient.mars_desert.additions": { + "sounds": [ + { + "name": "ambient/nether/basalt_deltas/click1", + "volume": 0.19, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click2", + "volume": 0.19, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click3", + "volume": 0.19, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click4", + "volume": 0.25, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click5", + "volume": 0.25, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click6", + "volume": 0.01, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click7", + "volume": 0.01, + "weight": 25 + }, + { + "name": "ambient/nether/basalt_deltas/click8", + "volume": 0.01, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand1", + "volume": 0.2, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand2", + "volume": 0.2, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand3", + "volume": 0.4, + "weight": 2 + }, + { + "name": "ambient/nether/soulsand_valley/wind1", + "volume": 0.3, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/wind1", + "pitch": 0.75, + "volume": 0.3, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/wind2", + "volume": 0.25, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/wind2", + "pitch": 0.75, + "volume": 0.3, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/wind3", + "volume": 0.25, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/wind3", + "pitch": 0.75, + "volume": 0.3, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/wind4", + "volume": 0.3, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/wind4", + "pitch": 0.75, + "volume": 0.3, + "weight": 25 + } + ] + }, + "ambient.mars_desert.mood": { + "sounds": [ + "ambient/nether/crimson_forest/voom1", + "ambient/nether/crimson_forest/voom2", + "ambient/nether/soulsand_valley/mood2", + "ambient/nether/nether_wastes/addition4", + "ambient/nether/nether_wastes/addition8" + ] + }, + "ambient.mars_land.loop": { + "sounds": [ + { + "name": "ambient/nether/soulsand_valley/ambience", + "stream": true, + "volume": 0.85 + } + ] + }, + "ambient.mars_land.additions": { + "sounds": [ + { + "name": "ambient/nether/basalt_deltas/click1", + "volume": 0.19, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click2", + "volume": 0.19, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click3", + "volume": 0.19, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click4", + "volume": 0.25, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click5", + "volume": 0.25, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click6", + "volume": 0.01, + "weight": 20 + }, + { + "name": "ambient/nether/basalt_deltas/click7", + "volume": 0.01, + "weight": 25 + }, + { + "name": "ambient/nether/basalt_deltas/click8", + "volume": 0.01, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand1", + "volume": 0.2, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand2", + "volume": 0.2, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand3", + "volume": 0.4, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/shroom1", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/shroom2", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/shroom3", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/twang1", + "volume": 0.25, + "weight": 2 + }, + { + "name": "ambient/nether/crimson_forest/particles1", + "volume": 0.4, + "weight": 35 + }, + { + "name": "ambient/nether/crimson_forest/particles2", + "volume": 0.4, + "weight": 35 + }, + { + "name": "ambient/nether/crimson_forest/particles3", + "volume": 0.4, + "weight": 35 + }, + { + "name": "ambient/nether/crimson_forest/addition1", + "volume": 0.4, + "weight": 3 + }, + { + "name": "ambient/nether/soulsand_valley/wind1", + "volume": 0.3, + "weight": 5 + }, + { + "name": "ambient/nether/soulsand_valley/wind1", + "pitch": 0.75, + "volume": 0.3, + "weight": 5 + }, + { + "name": "ambient/nether/soulsand_valley/wind2", + "volume": 0.25, + "weight": 5 + }, + { + "name": "ambient/nether/soulsand_valley/wind2", + "pitch": 0.75, + "volume": 0.3, + "weight": 5 + }, + { + "name": "ambient/nether/soulsand_valley/wind3", + "volume": 0.25, + "weight": 5 + }, + { + "name": "ambient/nether/soulsand_valley/wind3", + "pitch": 0.75, + "volume": 0.3, + "weight": 5 + }, + { + "name": "ambient/nether/soulsand_valley/wind4", + "volume": 0.3, + "weight": 5 + }, + { + "name": "ambient/nether/soulsand_valley/wind4", + "pitch": 0.75, + "volume": 0.3, + "weight": 5 + } + ] + }, + "ambient.mars_land.mood": { + "sounds": [ + "ambient/nether/crimson_forest/voom1", + "ambient/nether/crimson_forest/voom2", + "ambient/nether/soulsand_valley/mood2", + "ambient/nether/basalt_deltas/heavy_click1", + "ambient/nether/basalt_deltas/heavy_click2", + "ambient/nether/nether_wastes/addition4", + "ambient/nether/nether_wastes/addition8", + "ambient/nether/warped_forest/creak1", + "ambient/nether/warped_forest/creak2", + "ambient/nether/warped_forest/creak3", + "ambient/nether/warped_forest/creak4", + "ambient/nether/warped_forest/creak5" + ] + }, + "ambient.venus.loop": { + "sounds": [ + { + "name": "ambient/nether/basalt_deltas/ambience", + "stream": true, + "volume": 0.77 + } + ] + }, + "ambient.venus.additions": { + "sounds": [ + { + "name": "ambient/nether/soulsand_valley/sand1", + "volume": 0.2, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand2", + "volume": 0.2, + "weight": 25 + }, + { + "name": "ambient/nether/soulsand_valley/sand3", + "volume": 0.4, + "weight": 2 + }, + { + "name": "ambient/nether/basalt_deltas/basaltground1", + "volume": 0.55, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/basaltground2", + "volume": 0.55, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/basaltground3", + "volume": 0.55, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/debris1", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/debris2", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/debris3", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/long_debris1", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/long_debris2", + "volume": 0.35, + "weight": 40 + }, + { + "name": "ambient/nether/basalt_deltas/plode1", + "volume": 0.5, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/plode2", + "volume": 0.5, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/plode3", + "volume": 0.5, + "weight": 10 + }, + { + "name": "ambient/nether/basalt_deltas/twist1", + "volume": 0.66 + }, + { + "name": "ambient/nether/basalt_deltas/twist2", + "volume": 0.66 + }, + { + "name": "ambient/nether/basalt_deltas/twist3", + "volume": 0.77 + }, + { + "name": "ambient/nether/basalt_deltas/twist4", + "volume": 0.66 + }, + { + "name": "ambient/nether/nether_wastes/addition1", + "volume": 0.3 + }, + { + "name": "ambient/nether/nether_wastes/addition2", + "volume": 0.3 + }, + { + "name": "ambient/nether/nether_wastes/addition3", + "volume": 0.1 + }, + { + "name": "ambient/nether/nether_wastes/addition4", + "volume": 0.67, + "weight": 5 + }, + { + "name": "ambient/nether/nether_wastes/addition5", + "volume": 0.3 + }, + { + "name": "ambient/nether/nether_wastes/addition6", + "volume": 0.3 + }, + { + "name": "ambient/nether/nether_wastes/addition7", + "volume": 0.3 + }, + { + "name": "ambient/nether/nether_wastes/addition8", + "volume": 0.67, + "weight": 5 + }, + { + "name": "ambient/nether/nether_wastes/dark1", + "volume": 0.9, + "weight": 5 + }, + { + "name": "ambient/nether/nether_wastes/dark2", + "volume": 0.9, + "weight": 5 + }, + { + "name": "ambient/nether/nether_wastes/ground1", + "volume": 0.25, + "weight": 3 + }, + { + "name": "ambient/nether/nether_wastes/ground2", + "volume": 0.4 + }, + { + "name": "ambient/nether/nether_wastes/ground3", + "volume": 0.4 + }, + { + "name": "ambient/nether/nether_wastes/ground4", + "volume": 0.4 + } + ] + }, + "ambient.venus.mood": { + "sounds": [ + "ambient/nether/nether_wastes/mood1", + "ambient/nether/nether_wastes/mood2", + "ambient/nether/nether_wastes/mood4", + "ambient/nether/nether_wastes/mood5", + "ambient/nether/crimson_forest/addition1", + "ambient/nether/crimson_forest/shine1", + "ambient/nether/crimson_forest/shine2", + "ambient/nether/crimson_forest/shine3" + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index 82643ec76..d0cf68b21 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json @@ -8,10 +8,20 @@ "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "additions_sound": { + "sound": "tfg:ambient.mars_desert.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "tfg:ambient.mars_desert.loop", + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json index 16d3770cb..c4bae6a19 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json @@ -11,10 +11,20 @@ "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "tfg:ambient.mars_land.loop", + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json index d484c271f..bccfe5270 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json @@ -11,10 +11,20 @@ "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "tfg:ambient.mars_land.loop", + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 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 929da3955..40fc25932 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json @@ -7,13 +7,17 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_desert.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_desert.additions", + "tick_chance": 0.0111 + }, "music": { "max_delay": 24000, "min_delay": 12000, 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 5065cb5a8..399101ce8 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json @@ -7,13 +7,17 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_desert.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_desert.additions", + "tick_chance": 0.0111 + }, "music": { "max_delay": 24000, "min_delay": 12000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json index 41d5843d7..071f2bd85 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json @@ -7,13 +7,17 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_desert.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_desert.additions", + "tick_chance": 0.0111 + }, "music": { "max_delay": 24000, "min_delay": 12000, diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json index 36199c36e..347185c88 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json @@ -8,13 +8,23 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_land.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json index 941da9ca4..e64f1781a 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json +++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json @@ -8,13 +8,23 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_land.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json index d4a329101..71cfecd45 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -5,11 +5,15 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_desert.loop", + "additions_sound": { + "sound": "tfg:ambient.mars_desert.additions", + "tick_chance": 0.0111 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, "sky_color": 15117444, diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json index 01c1655d9..6afdb041b 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json @@ -8,13 +8,23 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_land.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json index 394289493..0afbc1e8c 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json @@ -8,13 +8,23 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_land.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index c214d278b..93a5f47f6 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -5,11 +5,15 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_desert.loop", + "additions_sound": { + "sound": "tfg:ambient.mars_desert.additions", + "tick_chance": 0.0111 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, "sky_color": 15117444, diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json index 0f10d5eff..c3f778902 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json @@ -8,13 +8,23 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_land.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json index 998ca165b..8e490005f 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json @@ -8,13 +8,23 @@ "downfall": 0.0, "effects": { "fog_color": 15117444, - "ambient_sound": "minecraft:ambient.soul_sand_valley.loop", + "ambient_sound": "tfg:ambient.mars_land.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.mars_land.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.mars_land.additions", + "tick_chance": 0.0111 + }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.badlands" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 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 50b30016a..834be3bf3 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, 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 33e629c0c..1ca35d83f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, 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 bddbdb78e..6e49e9199 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, 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 3c65763c0..ec5c4798e 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, 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 1bf04e72d..ccb473083 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, 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 3129db99b..296a273b1 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, 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 5df3baef0..b487c2c14 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, 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 634c86134..5c6200a5a 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index dbb4ef773..32153ef10 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index d74de9e89..8d688042f 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -8,10 +8,14 @@ "downfall": 0.0, "effects": { "fog_color": 0, + "additions_sound": { + "sound": "tfg:ambient.moon.additions", + "tick_chance": 0.0051 + }, "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.moon.mood", "tick_delay": 6000 }, "sky_color": 0, diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 3014a34d6..08c81cc64 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -5,15 +5,15 @@ "downfall": 0.5, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.lower_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.lower_nether.loop", "fog_color": 6840176, "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.lower_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 94e99b931..75f3e5720 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -5,15 +5,15 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.lower_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.lower_nether.loop", "fog_color": 6840176, "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.lower_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index 419bd5819..2dbf55b97 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -5,15 +5,15 @@ "downfall": 0.5, "effects": { "additions_sound": { - "sound": "minecraft:ambient.warped_forest.additions", + "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.warped_forest.loop", + "ambient_sound": "tfg:ambient.upper_nether.loop", "fog_color": 7369031, "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index ad91ba528..ee9cb81f5 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -6,14 +6,14 @@ "effects": { "fog_color": 9868701, "additions_sound": { - "sound": "minecraft:ambient.crimson_forest.additions", + "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "ambient_sound": "tfg:ambient.upper_nether.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.crimson_forest.mood", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index 35edf53c6..3fd6f8cb8 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -6,14 +6,14 @@ "effects": { "fog_color": 5855333, "additions_sound": { - "sound": "minecraft:ambient.crimson_forest.additions", + "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "ambient_sound": "tfg:ambient.upper_nether.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.crimson_forest.mood", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index 8e48d183a..ec01feca4 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -6,14 +6,14 @@ "effects": { "fog_color": 6641752, "additions_sound": { - "sound": "minecraft:ambient.crimson_forest.additions", + "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "ambient_sound": "tfg:ambient.upper_nether.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.crimson_forest.mood", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 5f8e8e0ac..5bbe7ae9a 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -6,14 +6,14 @@ "effects": { "fog_color": 9533575, "additions_sound": { - "sound": "minecraft:ambient.crimson_forest.additions", + "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "ambient_sound": "tfg:ambient.upper_nether.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.crimson_forest.mood", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index a3163c71b..f2e6129a8 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -5,15 +5,15 @@ "downfall": 0.5, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.lower_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.lower_nether.loop", "fog_color": 5450003, "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.lower_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index ab9622948..6c407718b 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -8,9 +8,14 @@ "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, + "additions_sound": { + "sound": "tfg:ambient.upper_nether.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "tfg:ambient.upper_nether.loop", "music": { "max_delay": 24000, "min_delay": 12000, diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 1f6c953fe..411aade9c 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -6,14 +6,14 @@ "effects": { "fog_color": 7175789, "additions_sound": { - "sound": "minecraft:ambient.crimson_forest.additions", + "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "minecraft:ambient.crimson_forest.loop", + "ambient_sound": "tfg:ambient.upper_nether.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.crimson_forest.mood", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, "music": { diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index 68e4b223d..6a164a71a 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -8,7 +8,7 @@ "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.upper_nether.mood", "tick_delay": 6000 }, "music": { @@ -17,6 +17,11 @@ "replace_current_music": false, "sound": "minecraft:music.overworld.dripstone_caves" }, + "additions_sound": { + "sound": "tfg:ambient.upper_nether.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "tfg:ambient.upper_nether.loop", "sky_color": 5799235, "water_color": 7255466, "water_fog_color": 3169873, diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index bde6fef13..cb8724edb 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index 259eb1839..cb198a5c2 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -5,15 +5,15 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "fog_color": 9938052, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "sky_color": 10465603, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 951b5f9c6..0f5bddbd8 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 11644227, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 1f003659d..d74c791da 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 3d0afe1af..e3f4ac752 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index c1a5b4273..71ab23d8f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 14ab6fc24..132008d84 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 11644227, @@ -14,10 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index d474c79c9..aa9d2d43c 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 11644227, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json index e6cf0d645..c6ed8bd23 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "minecraft:ambient.basalt_deltas.additions", + "sound": "tfg:ambient.venus.additions", "tick_chance": 0.0111 }, "sky_color": 5450003, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "minecraft:ambient.basalt_deltas.loop", + "ambient_sound": "tfg:ambient.venus.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.basalt_deltas.mood", + "sound": "tfg:ambient.venus.mood", "tick_delay": 6000 }, "particle": { From c725428991029547280a8eff923b4815e78f9e0d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 22:45:28 +0000 Subject: [PATCH 433/628] added milks to the placeable fluid blacklist --- CHANGELOG.md | 4 ++++ .../tfc/{nonplaceableliquid.js => events.js} | 0 kubejs/server_scripts/tfc/tags.js | 10 +++++++--- 3 files changed, 11 insertions(+), 3 deletions(-) rename kubejs/server_scripts/tfc/{nonplaceableliquid.js => events.js} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5131eb8fa..856caa9fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,14 @@ - Hardened non-TFC rocks are now craftable (#2447) @glitchplaysgames714 - Magma blocks are now hot to hold @Pyritie - Added a recipe to craft old gregtech facades into ones with a new texture @Pyritie +- Fluid sources of alcohol and milks are no longer placeable, so you can't drink from them infinitely any more @bigtho80 ### Bug fixes +- Fix for food stacking everywhere! @Mqrius - Fixed some curving press tool head recipes being cheaper than intended (#2478) @Pyritie - Fixed some bastion chests being empty @Pyritie - Fixed overlapping durability numbers on the curio HUD (#2484) @glitchplaysgames714 +- Fixed a potential crash involving the refrigerator @Redeix +- Fixed the evaporation tower requiring an input hatch even for recipes that don't have a fluid input @glitchplaysgames714 ### Translation updates - Chinese (simplified) @jmecn diff --git a/kubejs/server_scripts/tfc/nonplaceableliquid.js b/kubejs/server_scripts/tfc/events.js similarity index 100% rename from kubejs/server_scripts/tfc/nonplaceableliquid.js rename to kubejs/server_scripts/tfc/events.js diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 189251214..2fde44765 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -86,7 +86,13 @@ function registerTFCItemTags(event) { event.add("tfc:usable_on_tool_rack", entry); }); - //liquid non placeable + //liquid non placeable + 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:bucket/beer") event.add("tfc:nonplaceable", "tfc:bucket/cider") event.add("tfc:nonplaceable", "tfc:bucket/rum") @@ -95,7 +101,6 @@ function registerTFCItemTags(event) { event.add("tfc:nonplaceable", "tfc:bucket/whiskey") event.add("tfc:nonplaceable", "tfc:bucket/corn_whiskey") event.add("tfc:nonplaceable", "tfc:bucket/rye_whiskey") - event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_beer") event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_cider") event.add("tfc:nonplaceable", "tfcagedalcohol:bucket/aged_rum") @@ -105,7 +110,6 @@ 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") // Ингредиенты для закваски From e699bb278972c0d55f133465a3773b25e4899fa5 Mon Sep 17 00:00:00 2001 From: glitch714 <119386229+glitchplaysgames714@users.noreply.github.com> Date: Mon, 22 Dec 2025 14:54:55 -0800 Subject: [PATCH 434/628] Add scraping knives integration (#2494) * Redid recipes * merged recipe files --------- Co-authored-by: Pyritie --- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/tfcscraping/recipes.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 kubejs/server_scripts/tfcscraping/recipes.js diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 3bea31680..369950ec2 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -264,6 +264,7 @@ ServerEvents.recipes(event => { registerTFCAmbientalRecipes(event) registerTFCBetterBFRecipes(event) registerTFCLunchBoxRecipes(event) + registerTFCScrapingRecipes(event) registerTFCGroomingStationRecipes(event) registerTFCGurmanRecipes(event) registerTFGRecipes(event) diff --git a/kubejs/server_scripts/tfcscraping/recipes.js b/kubejs/server_scripts/tfcscraping/recipes.js new file mode 100644 index 000000000..0e74bea39 --- /dev/null +++ b/kubejs/server_scripts/tfcscraping/recipes.js @@ -0,0 +1,16 @@ +// priority: 0 +"use strict"; + +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerTFCScrapingRecipes = (event) => { + + event.remove({ input: 'tfcscraping:ceramic/scraping_knife_blade_mold'}) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/bismuth_bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:bismuth_bronze', 288), 0.1) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/black_bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:black_bronze', 288), 0.1) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:bronze', 288), 0.1) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/copper', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:copper', 288), 0.1) + +} \ No newline at end of file From b28fedfd3db44d851e85685bd12fb3eb31cb276f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 22:55:18 +0000 Subject: [PATCH 435/628] add tfc scraping knives to pakku --- pakku-lock.json | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/pakku-lock.json b/pakku-lock.json index 533ddb427..79d7019ee 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14056,6 +14056,47 @@ } ] }, + { + "pakku_id": "HmuVmQIxSjcXXYFw", + "pakku_links": [ + "64uacGcEw697jVGs" + ], + "type": "MOD", + "slug": { + "curseforge": "tfc-scraping-knives" + }, + "name": { + "curseforge": "Tfc Scraping Knives" + }, + "id": { + "curseforge": "1172700" + }, + "files": [ + { + "type": "curseforge", + "file_name": "tfcscraping-1.0.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6133/109/tfcscraping-1.0.2.jar", + "id": "6133109", + "parent_id": "1172700", + "hashes": { + "sha1": "a28cf46a637287b308058abb678fbf382198f3fe", + "md5": "ecfc30b2ba305d939c16099881b0a779" + }, + "required_dependencies": [ + "302973" + ], + "size": 177967, + "date_published": "2025-01-28T09:39:35.493Z" + } + ] + }, { "pakku_id": "UUgCxePdwRd5MyWw", "type": "MOD", From dfdc8937d888f0fbbdf886d51efe1e4161ed2cbb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 22:55:53 +0000 Subject: [PATCH 436/628] git moment --- kubejs/server_scripts/tfcscraping/recipes.js | 30 ++++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/kubejs/server_scripts/tfcscraping/recipes.js b/kubejs/server_scripts/tfcscraping/recipes.js index 0e74bea39..23d6ee49f 100644 --- a/kubejs/server_scripts/tfcscraping/recipes.js +++ b/kubejs/server_scripts/tfcscraping/recipes.js @@ -1,16 +1,16 @@ -// priority: 0 -"use strict"; - -/** - * - * @param {Internal.RecipesEventJS} event - */ -const registerTFCScrapingRecipes = (event) => { - - event.remove({ input: 'tfcscraping:ceramic/scraping_knife_blade_mold'}) - event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/bismuth_bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:bismuth_bronze', 288), 0.1) - event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/black_bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:black_bronze', 288), 0.1) - event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:bronze', 288), 0.1) - event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/copper', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:copper', 288), 0.1) - +// priority: 0 +"use strict"; + +/** + * + * @param {Internal.RecipesEventJS} event + */ +const registerTFCScrapingRecipes = (event) => { + + event.remove({ input: 'tfcscraping:ceramic/scraping_knife_blade_mold'}) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/bismuth_bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:bismuth_bronze', 288), 0.1) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/black_bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:black_bronze', 288), 0.1) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/bronze', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:bronze', 288), 0.1) + event.recipes.tfc.casting('tfcscraping:metal/scraping_knife_blade/copper', 'tfcscraping:ceramic/scraping_knife_blade_mold', TFC.fluidStackIngredient('gtceu:copper', 288), 0.1) + } \ No newline at end of file From 92b836688902b9a54c9986c495d10a074d0b718f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 22 Dec 2025 22:57:31 +0000 Subject: [PATCH 437/628] langs --- kubejs/assets/betterend/lang/en_us.json | 3 +-- kubejs/assets/betterend/lang/ja_jp.json | 3 +-- kubejs/assets/betterend/lang/ru_ru.json | 3 +-- kubejs/assets/betterend/lang/uk_ua.json | 3 +-- kubejs/assets/betterend/lang/zh_cn.json | 3 +-- kubejs/assets/tfg/lang/zh_cn.json | 6 +++++- 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json index fcb9d958b..41142b02d 100644 --- a/kubejs/assets/betterend/lang/en_us.json +++ b/kubejs/assets/betterend/lang/en_us.json @@ -55,8 +55,7 @@ "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", "block.betterend.hydrothermal_vent": "Thermal Vent", - "block.betterend.hydralux_small": "Hydralux", - "block.betterend.hydralux_large": "Hydralux", + "block.betterend.hydralux": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", diff --git a/kubejs/assets/betterend/lang/ja_jp.json b/kubejs/assets/betterend/lang/ja_jp.json index e72e61194..37ae88053 100644 --- a/kubejs/assets/betterend/lang/ja_jp.json +++ b/kubejs/assets/betterend/lang/ja_jp.json @@ -48,8 +48,7 @@ "block.betterend.fracturn": "Fracturn", "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", - "block.betterend.hydralux_small": "Hydralux", - "block.betterend.hydralux_large": "Hydralux", + "block.betterend.hydralux": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", diff --git a/kubejs/assets/betterend/lang/ru_ru.json b/kubejs/assets/betterend/lang/ru_ru.json index 144183629..ca2bf627b 100644 --- a/kubejs/assets/betterend/lang/ru_ru.json +++ b/kubejs/assets/betterend/lang/ru_ru.json @@ -48,8 +48,7 @@ "block.betterend.fracturn": "Фрактюрн", "block.betterend.glacian_hymenophore": "Гласиевый гименофор", "block.betterend.globulagus": "Глобулагус", - "block.betterend.hydralux_small": "Гидралюкс", - "block.betterend.hydralux_large": "Гидралюкс", + "block.betterend.hydralux": "Гидралюкс", "block.betterend.hydralux_sapling": "Отросток гидралюкса", "block.betterend.inflexia": "Инфлексия", "block.betterend.lacugrove": "Водоросли озёрного мангра", diff --git a/kubejs/assets/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json index 1d111511d..d8d5bf67d 100644 --- a/kubejs/assets/betterend/lang/uk_ua.json +++ b/kubejs/assets/betterend/lang/uk_ua.json @@ -48,8 +48,7 @@ "block.betterend.fracturn": "Фрактурн", "block.betterend.glacian_hymenophore": "Гіменофор Ґлаціана", "block.betterend.globulagus": "Глобулагус", - "block.betterend.hydralux_large": "Гідралюкс", - "block.betterend.hydralux_small": "Гідралюкс", + "block.betterend.hydralux": "Гідралюкс", "block.betterend.hydralux_sapling": "Паросток Гідралюкса", "block.betterend.inflexia": "Інфлексія", "block.betterend.lacugrove": "Водорості Лакугроув", diff --git a/kubejs/assets/betterend/lang/zh_cn.json b/kubejs/assets/betterend/lang/zh_cn.json index 156ab295a..bb9244343 100644 --- a/kubejs/assets/betterend/lang/zh_cn.json +++ b/kubejs/assets/betterend/lang/zh_cn.json @@ -55,8 +55,7 @@ "block.betterend.glacian_hymenophore": "霜原菌褶", "block.betterend.globulagus": "球囊藻", "block.betterend.hydrothermal_vent": "热泉喷口", - "block.betterend.hydralux_small": "水光莲", - "block.betterend.hydralux_large": "水光莲", + "block.betterend.hydralux": "水光莲", "block.betterend.hydralux_sapling": "水光莲苗", "block.betterend.inflexia": "曲枝草", "block.betterend.lacugrove": "泊林木海藻", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 529cf497f..73016156f 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -3791,7 +3791,11 @@ "quests.steam_age.good_paths.desc": "这是你能使用的最好的路面,能让的曲柄输出32RPM。这类小路也会增加玩家的移动速度,所以用它们铺设你的基地很棒!", "quests.steam_age.helve_hammer.title": "杠杆锤", "quests.steam_age.helve_hammer.subtitle": "哐……哐……哐……", - "quests.steam_age.helve_hammer.desc": "觉得为锻铁炉制作所有那些板件很繁琐吗?&3杠杆锤&r 能自动(但缓慢地)将双锭锻造成板材。不过,焊接工作仍需你亲自动手。只需在锤头正下方放置一个砧,按&2丢弃物品键(默认为Q)&r将双锭扔到上面,最后右键点击锤头即可取出板材。\n\n更高级的砧也能以更少的锤击次数,将前一级的材料加工成板件。", + "quests.steam_age.helve_hammer.desc.1": "觉得为锻铁炉制作所有那些板件很繁琐吗?&3杠杆锤&r 会自动(但缓慢地)将双锭锻造成板件给你。不过,焊接仍然需要你自己完成。只需在锤子正下方放置一个砧,按&2丢弃物品键(默认为Q)&r将双锭扔到上面,最后右键点击锤头即可取出板材。\n\n更高级的砧也能以更少的锤击次数,将前一级的材料加工成板件。", + "quests.steam_age.helve_hammer.desc.2": "记得使用齿轮来提高它的速度!\n\n起初它可能不起眼,但一旦你能用钢制齿轮和传动轴将其速度提升至256 RPM,杠杆锤的效率就会真正显现出来。", + "quests.steam_age.multiblock_tank.title": "多方块储罐", + "quests.steam_age.multiblock_tank.subtitle": "海量流体存储方案", + "quests.steam_age.multiblock_tank.desc": "你是否正面对一大堆木桶,只为储存所有的杂酚油而发愁?\n\n别再到处找了,试试多方块储罐吧!即使是最便宜的木质储罐,容量也高达足足1000桶。如果你需要更大的存储空间,还有青铜和钢制版本可供选择!\n\n要自动填充或排空储罐,请使用阀门。", "quests.steam_age.water_wheel.title": "水车", "quests.steam_age.water_wheel.subtitle": "希望你把基地建在河边!", "quests.steam_age.water_wheel.desc": "水车提供的动力远胜于动物曲柄,但代价是需要依赖流动的水源。目前你尚无法自主移动水源,因此需要寻找河流来驱动它们。海洋与湖泊虽也能提供少量动力,但若身处内陆,建造风车会是更明智的选择。\n\n你可以将任何木板浸泡在焦炉产出的杂酚油中,以此获得防腐木。", From dfe3b592ab605c85dc9a15cd93164d50a07e6e1e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 23 Dec 2025 17:10:46 +0000 Subject: [PATCH 438/628] langs --- CHANGELOG.md | 1 + kubejs/assets/ad_astra/lang/uk_ua.json | 1 + kubejs/assets/ae2/lang/uk_ua.json | 19 +- kubejs/assets/beneath/lang/ua_ua.json | 30 ++ kubejs/assets/betterend/lang/uk_ua.json | 21 + kubejs/assets/create/lang/uk_ua.json | 2 + kubejs/assets/greate/lang/uk_ua.json | 10 +- kubejs/assets/gtceu/lang/uk_ua.json | 32 +- kubejs/assets/tacz/lang/uk_ua.json | 10 +- kubejs/assets/tfc/lang/uk_ua.json | 5 +- kubejs/assets/tfg/lang/uk_ua.json | 558 +++++++++++++++++++----- kubejs/assets/tfg/lang/zh_cn.json | 2 +- 12 files changed, 557 insertions(+), 134 deletions(-) create mode 100644 kubejs/assets/beneath/lang/ua_ua.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 856caa9fb..f2a587e23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - Fixed the evaporation tower requiring an input hatch even for recipes that don't have a fluid input @glitchplaysgames714 ### Translation updates - Chinese (simplified) @jmecn +- Ukranian @MetEnBouldry ## [0.11.12] - 19-12-2025 ### Changes diff --git a/kubejs/assets/ad_astra/lang/uk_ua.json b/kubejs/assets/ad_astra/lang/uk_ua.json index 87c9f351a..3f1402c1b 100644 --- a/kubejs/assets/ad_astra/lang/uk_ua.json +++ b/kubejs/assets/ad_astra/lang/uk_ua.json @@ -1,6 +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.ad_astra.oxygen_distributor": "Розподілювач повітря", + "block.ad_astra.infernal_spire_block": "Пекельний шпиль", "block.ad_astra.moon_sand": "Місячний пісок", "block.ad_astra.moon_stone": "Необроблений Анортозит", "block.ad_astra.moon_cobblestone": "Анортоцитовий кругляк", diff --git a/kubejs/assets/ae2/lang/uk_ua.json b/kubejs/assets/ae2/lang/uk_ua.json index 90d62268a..a61c23369 100644 --- a/kubejs/assets/ae2/lang/uk_ua.json +++ b/kubejs/assets/ae2/lang/uk_ua.json @@ -2,5 +2,22 @@ "__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": "Пресформи для крафту здобуваються шляхом руйнування Таємничого куба. Таємничі куби розташовані в центрі метеоритів, які можна знайти на Місяці.", "gui.advanced_ae.AdvPatternProvider": "", - "gui.expandedae.exp_pattern_provider": "" + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.sky_dust": "Пил сувіту", + "block.ae2.sky_stone_block": "Необроблений сувіт", + "block.ae2.sky_stone_stairs": "Сувітові сходи", + "block.ae2.sky_stone_wall": "Сувітова стіна", + "block.ae2.sky_stone_slab": "Сувітова плита", + "block.ae2.smooth_sky_stone_block": "Гладкий сувіт", + "block.ae2.smooth_sky_stone_stairs": "Сувітові гладкі сходи", + "block.ae2.smooth_sky_stone_wall": "Сувітова гладка стіна", + "block.ae2.smooth_sky_stone_slab": "Сувітова гладка плита", + "block.ae2.sky_stone_brick": "Сувітові цеглини", + "block.ae2.sky_stone_brick_stairs": "Сувітові цегляні сходи", + "block.ae2.sky_stone_brick_wall": "Сувітова цегляна стіна", + "block.ae2.sky_stone_brick_slab": "Сувітова цегляна плита", + "block.ae2.sky_stone_small_brick": "Сувітові дрібні цеглини", + "block.ae2.sky_stone_small_brick_stairs": "Сувітові дрібноцегляні сходи", + "block.ae2.sky_stone_small_brick_wall": "Сувітова дрібноцегляна стіна", + "block.ae2.sky_stone_small_brick_slab": "Сувітова дрібноцегляна плита" } \ No newline at end of file diff --git a/kubejs/assets/beneath/lang/ua_ua.json b/kubejs/assets/beneath/lang/ua_ua.json new file mode 100644 index 000000000..b112e4f9e --- /dev/null +++ b/kubejs/assets/beneath/lang/ua_ua.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": "Розсипний Піроксеніт", + "block.beneath.blackstone_aqueduct": "Акведук із Піроксеніту", + "block.beneath.loose_blackstone": "Розсипний Піроксеніт", + "block.beneath.ore.nether_cursecoal": "Антрацитова Руда", + "block.beneath.ore.nether_cursecoal.prospected": "Антрацит", + "block.beneath.cursecoal_pile": "Купа Антрациту", + "block.beneath.ore.blackstone_sylvite": "Руда Сильвіну", + "block.beneath.crackrack": "Кератофір", + "block.beneath.soul_clay": "Брудна Глина", + "block.beneath.wood.log.crimson": "Багряний стовбур", + "block.beneath.wood.stripped_log.crimson": "Обтесаний багряний стовбур", + "block.beneath.wood.wood.crimson": "Багряні гіфи", + "block.beneath.wood.stripped_wood.crimson": "Обтесані багряні гіфи", + "block.beneath.wood.fallen_leaves.crimson": "Занепала червона ламела", + "block.beneath.wood.leaves.crimson": "Багряна пластинка", + "block.beneath.wood.log.warped": "Химерний стовбур", + "block.beneath.wood.stripped_log.warped": "Обтесаний химерний стовбур", + "block.beneath.wood.wood.warped": "Химерні гіфи", + "block.beneath.wood.stripped_wood.warped": "Обтесані химерні гіфи", + "block.beneath.wood.fallen_leaves.warped": "Занепала химерна ламела", + "block.beneath.wood.leaves.warped": "Химерна пластинка", + "block.beneath.ancient_altar": "Піроксенітовий постамент", + "item.beneath.cursed_hide": "Лавостійка Шкіра", + "item.beneath.blackstone_brick": "Цегла з Піроксеніту", + "item.beneath.cursecoal": "Антрацит", + "item.beneath.crackrack_rock": "Кератофірна Гірська Порода", + "item.beneath.loose_blackstone": "Розсипний Піроксеніт" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json index d8d5bf67d..bdbe1abd9 100644 --- a/kubejs/assets/betterend/lang/uk_ua.json +++ b/kubejs/assets/betterend/lang/uk_ua.json @@ -14,6 +14,7 @@ "block.betterend.bolux_mushroom": "Колонія грибів Болукса", "block.betterend.bolux_mushroom_wild": "Дика колонія грибів Болукса", "block.betterend.bolux_mushroom_dead": "Мертва колонія грибів Болукса", + "block.betterend.brimstone": "Брімстоун", "block.betterend.bushy_grass": "Новаграс", "block.betterend.bulb_moss": "Ламповий мох", "block.betterend.cave_bush": "Карминова Ламель", @@ -45,13 +46,20 @@ "block.betterend.filalux_wings": "Крила Філалюкса", "block.betterend.flamaea": "Гриб Фламаеа", "block.betterend.flammalix": "Гриб Фламмалікс", + "block.betterend.flavolite": "Необроблений леуцитит", + "block.betterend.flavolite_bricks": "Леуцититові цеглини", + "block.betterend.flavolite_pillar": "Леуцититовий стовп", + "block.betterend.flavolite_polished": "Полірований леуцитит", + "block.betterend.flavolite_tiles": "Леуцититові плитки", "block.betterend.fracturn": "Фрактурн", "block.betterend.glacian_hymenophore": "Гіменофор Ґлаціана", "block.betterend.globulagus": "Глобулагус", + "block.betterend.hydrothermal_vent": "Термальний жерло", "block.betterend.hydralux": "Гідралюкс", "block.betterend.hydralux_sapling": "Паросток Гідралюкса", "block.betterend.inflexia": "Інфлексія", "block.betterend.lacugrove": "Водорості Лакугроув", + "block.betterend.lacugrove_bark": "Необроблений адакіт", "block.betterend.lamellarium": "Ламелларіум", "block.betterend.lanceleaf": "Ланцелист", "block.betterend.lanceleaf_small": "Кинджал списолистий", @@ -59,6 +67,7 @@ "block.betterend.lucernia_leaves": "Ламель Люцернії", "block.betterend.lucernia_leaves_fallen": "Мала Ламель Люцернії", "block.betterend.lucernia_outer_leaves": "Гіфи Люцернії", + "block.betterend.lucernia_bark": "Диявольський шпиль", "block.betterend.lutebus": "Лутебус", "block.betterend.magnula": "Магнула", "block.betterend.nightshade_moss": "Мох Нокс", @@ -68,11 +77,23 @@ "block.betterend.rubinea": "Рубінеа", "block.betterend.ruscus": "Трава Рускус", "block.betterend.salteago": "Сальтеаго", + "block.betterend.sandy_jadestone": "Необроблений лампроїт", + "block.betterend.sandy_jadestone_bricks": "Лампроїтові цеглини", + "block.betterend.sandy_jadestone_pillar": "Лампроїтовий стовп", + "block.betterend.sandy_jadestone_polished": "Полірований лампроїт", + "block.betterend.sandy_jadestone_tiles": "Лампроїтові плитки", "block.betterend.selagine": "Селагіна", "block.betterend.shadow_berry": "Ягоди Нокс", "block.betterend.shadow_berry_wild": "Дикі ягоди Нокс", "block.betterend.shadow_berry_dead": "Мертві ягоди Нокс", "block.betterend.small_amaranita_mushroom": "Малий гриб Амаранита", + "block.betterend.sulphur_crystal": "Сірчаний кристал", + "block.betterend.sulphuric_rock": "Необроблений ігнімбрит", + "block.betterend.sulphuric_rock_bricks": "Ігнімбритові цеглини", + "block.betterend.sulphuric_rock_pillar": "Ігнімбритовий стовп", + "block.betterend.sulphuric_rock_polished": "Полірований ігнімбрит", + "block.betterend.sulphuric_rock_tiles": "Ігнімбритові плитки", + "block.betterend.tube_worm": "Трубчастий хробак", "block.betterend.twisted_moss": "Химерний мох", "block.betterend.twisted_umbrella_moss": "Химерний парасольковий мох", "block.betterend.twisted_umbrella_moss_tall": "Химерний парасольковий мох", diff --git a/kubejs/assets/create/lang/uk_ua.json b/kubejs/assets/create/lang/uk_ua.json index 11fa91458..0cc0e8fe8 100644 --- a/kubejs/assets/create/lang/uk_ua.json +++ b/kubejs/assets/create/lang/uk_ua.json @@ -1,6 +1,8 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.create.netherite_backtank": "Рюкзак із синьої сталі", + "block.create.shadow_casing": "Обшивка з чорної сталі", + "block.create.refined_radiance_casing": "Світна обшивка", "block.create.industrial_iron_block": "Промисловий Сталевий Блок", "block.create.weathered_iron_block": "Блок Вивітреної Сталі", "block.create.industrial_iron_window": "Промислове сталеве вікно", diff --git a/kubejs/assets/greate/lang/uk_ua.json b/kubejs/assets/greate/lang/uk_ua.json index 71f4581f0..bb850d344 100644 --- a/kubejs/assets/greate/lang/uk_ua.json +++ b/kubejs/assets/greate/lang/uk_ua.json @@ -32,11 +32,11 @@ "block.greate.large_andesite_alloy_cogwheel": "Велике базове зубчасте колесо", "block.greate.metal_girder_encased_andesite_alloy_shaft": "Базовий вал, обгорнутий металевою балкою", "block.greate.powered_andesite_alloy_shaft": "Базовий вал із приводом", - "item.greate.rubber_belt_connector": "Гумовий ремінь", - "item.greate.silicone_rubber_belt_connector": "Силіконовий гумовий ремінь", - "block.greate.polyethylene_belt_titanium": "Ремінь зі стирол-бутадієнової гуми", - "block.greate.polyethylene_belt_tungsten_steel": "Ремінь зі стирол-бутадієнової гуми", - "item.greate.polyethylene_belt_connector": "Ремінь зі стирол-бутадієнової гуми", + "item.greate.andesite_alloy_belt_connector": "Механічний ремінь із дощатим протектором", + "item.greate.stone_belt_connector": "Шкіряний механічний ремінь", + "item.greate.rubber_belt_connector": "Гумовий механічний ремінь", + "item.greate.silicone_rubber_belt_connector": "Механічний ремінь із силіконової гуми", + "item.greate.styrene_butadiene_rubber_belt_connector": "Механічний ремінь із стирол-бутадієнової гуми", "item.greate.andesite_alloy_vertical_gearbox": "Базовий вертикальний редуктор", "greate.recipe.packing": "Зварювання та Пакування", "greate.ponder.belt_casing.text_1": "Латунний або металевий кожух можна використовувати для декорування механічних ременів", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 31a9abeb0..ede196300 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -14,6 +14,7 @@ "block.gtceu.ostrum_harvester": "Збирач Острому", "block.gtceu.moon_dust_harvester": "Збирач Місячного Пилу", "block.tfg.ostrum_linear_accelerator": "Лінійний Прискорювач з Оструму", + "block.gtceu.coal_liquefaction_tower": "Вежа зрідження", "block.gtceu.ulv_super_tank": "Базовий супер резервувар", "block.gtceu.ulv_super_chest": "Базова супер скриня", "block.gtceu.ulv_hermetic_casing": "Базова герметична оболонка", @@ -49,10 +50,12 @@ "gtceu.ostrum_linear_accelerator": "Лінійний Прискорювач з Оструму", "gtceu.bioreactor": "Біореактор", "gtceu.growth_chamber": "Камера росту", + "gtceu.coal_liquefaction_tower": "Вежа зрідження", + "gtceu.smr_generator": "Мала модульна турбіна", "gtceu.tooltip.machine.moon_dust_harvester_1": "§7Позаземний пилосос§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7Збирає нескінченну кількість реголітового пилу залежно від біома, в якому він розміщений.§r", "gtceu.tooltip.machine.ostrum_harvester_1": "§7Юридично відмінний пряний повзун§r", - "gtceu.tooltip.machine.ostrum_harvester_2": "§7Збирає нескінченну кількість острумового пилу, якщо розміщений над родовищем оструму.§r", + "gtceu.tooltip.machine.ostrum_harvester_2": "§7Видобуває нескінченний пил оструму, якщо розміщено над родовищем оструму.§r", "gtceu.tooltip.machine.ostrum_harvester_3": "§7Потребує бурової рідини для роботи.§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_1": "§7Бозон Хіггса не входить у комплект§r", "gtceu.tooltip.machine.ostrum_linear_accelerator_2": "§7Розкладає острумовий пил на його компоненти. Потребує різні рідини з лінії поділу.§r", @@ -61,11 +64,11 @@ "gtceu.tooltip.machine.nuclear_fuel_factory_1": "§7Виробляє додатково пікантні стрижні§r", "gtceu.tooltip.machine.nuclear_fuel_factory_2": "§7Переробляє необроблений радіоактивний матеріал у подільне паливо.§r", "gtceu.tooltip.machine.steam_bloomery_1": "§7Покращуйте свою домницю силою пари!§r", - "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє залізовмісний пил або злитки у сирі залізні криці.§r", - "gtceu.tooltip.machine.steam_bloomery_3": "§7Використання коксу чи антрациту як палива подвоїть вихід.§r", + "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє пил або злитки, що містять залізо, у необроблені залізні криці.§r", + "gtceu.tooltip.machine.steam_bloomery_3": "§7Використання коксу або антрациту як пального подвоїть продуктивність.§r", "gtceu.tooltip.machine.steam_bloomery_4": "§7Може обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Фруктовий міксер§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Видобуває гази та рідини з вуглецевих твердих речовин§r", "item.gtceu.tiny_wood_dust": "Маленька купа хвойної целюлози", "item.gtceu.small_wood_dust": "Мала купа хвойної целюлози", "item.gtceu.wood_dust": "Хвойна целюлоза", @@ -129,6 +132,7 @@ "material.gtceu.ostrum": "Острум", "material.tfg.calorite": "Калорит", "material.tfg.etrium": "Етріум", + "material.gtceu.tarkianite": "Таркіаніт", "material.gtceu.aluminium_silicate": "Алюмосилікат", "material.gtceu.rocket_alloy_t1": "Алюміносталевий ракетний сплав R-класу", "material.gtceu.rocket_alloy_t2": "Ракетний титановий сплав ASM 4914", @@ -187,14 +191,18 @@ "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7Не видобуває рідини", "gtceu.machine.hp_steam_extractor.tooltip": "§7Не видобуває рідини", - "gtceu.jei.bedrock_fluid.moon_helium": "Місячний Гелій", - "gtceu.jei.bedrock_fluid.moon_helium_3": "Місячний Гелій-3", - "gtceu.jei.bedrock_fluid.moon_argon": "Місячний Аргон", - "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "Марсіанська Напівважка Амоніачна Вода", - "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Марсіанський Рідкий Діоксид Карбону", - "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Марсіанська важка аміачна вода", - "gtceu.jei.bedrock_fluid.liquid_ice": "Марсіанський лід", + "gtceu.jei.bedrock_fluid.nether_natural_gas_deposit": "Родовищe природного газу в Безодні", + "gtceu.jei.bedrock_fluid.moon_helium": "Місячне родовище гелію", + "gtceu.jei.bedrock_fluid.moon_helium_3": "Місячне родовище гелію-3", + "gtceu.jei.bedrock_fluid.moon_argon": "Місячне родовище аргону", + "gtceu.jei.bedrock_fluid.semiheavy_ammoniacal_water": "Марсіанське родовище напівважкої аміачної води", + "gtceu.jei.bedrock_fluid.liquid_carbon_dioxide": "Марсіанське родовище рідкого вуглекислого газу", + "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Марсіанське родовище важкої аміачної води", + "gtceu.jei.bedrock_fluid.liquid_ice": "Марсіанське родовище льоду", "gtceu.recipe.category.ingot_molding": "Формування матеріалів", + "block.gtceu.wire_coil.tooltip_pyro": "§8Піролізна піч, вежа зрідження та фабрика ядерного пального:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8Установка крекінгу, місячний та острумний збирачі:§r", + "tooltip.moldraw.shift_view": "§7§oУтримуйте (Shift), щоб побачити молекулярну структуру§r", "tagprefix.sword_head": "%s Лезо меча", "tagprefix.pickaxe_head": "%s Лезо кайла", "tagprefix.shovel_head": "%s Лезо лопати", diff --git a/kubejs/assets/tacz/lang/uk_ua.json b/kubejs/assets/tacz/lang/uk_ua.json index 5d6350e96..7ad948c7f 100644 --- a/kubejs/assets/tacz/lang/uk_ua.json +++ b/kubejs/assets/tacz/lang/uk_ua.json @@ -6,6 +6,8 @@ "applied_armorer.attachment.extended_mid_mag_aa_1.name": "Флюіксовий рифлений модуль", "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9Флюіксовий рифлений модуль", "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§dФлюіксовий рифлений модуль", + "applied_armorer.ammo.cluster_quartz_bullet.name": "§bКластерна кварцова оболонка", + "applied_armorer.ammo.etched_quartz_bullet.name": "§bГравійована кварцова куля", "applied_armorer.attachment.si_pricision.name": "§aПриціл високої точності", "applied_armorer.attachment.si_double_sided_mirror.name": "\"Подвійний дзеркальний\" приціл", "applied_armorer.attachment.si_ms_12.name": "§aMS-12 Приціл", @@ -24,9 +26,15 @@ "create_armorer.attachment.extended_mag_ca_1.name": "Інваровий магазин", "create_armorer.attachment.extended_mag_ca_2.name": "Магазин із мідним покриттям", "create_armorer.attachment.extended_mag_ca_3.name": "Магазин із латунним покриттям", - "create_armorer.ammo.rbapb.name": "Римований патрон із плоским зарядом", + "create_armorer.ammo.slap.name": "Куля SLAP", + "create_armorer.ammo.rbapb.name": "Куля з фланцем з тупим наконечником", + "create_armorer.gun.pistol_auto_stress": "Напівавтоматичний пістолет \"Стрес\"", "create_armorer.gun.mg_platemag_flywheel": "\"Маховиковий\" кулемет", "create_armorer.gun.rifle_assult_crane": "\"Кранова\" штурмова гвинтівка", + "create_armorer.gun.sniper_semi_clockwork": "Гвинтівка \"Клокворк\"", + "tacz.ammo.30_06.name": "Куля SLAP 30-06", + "tacz.ammo.12g.name": "Патрон 12 калібру", + "tacz.gun.m700.name": "Снайперська гвинтівка \"Клатч\"", "item.tacz.ammo_box.iron": "Сталевий ящик з набоями", "item.tacz.ammo_box.gold": "§9Ящик набоїв з магналію", "item.tacz.ammo_box.diamond": "§6Ящик набоїв з дешу" diff --git a/kubejs/assets/tfc/lang/uk_ua.json b/kubejs/assets/tfc/lang/uk_ua.json index 06cc3e6ee..edc2397b5 100644 --- a/kubejs/assets/tfc/lang/uk_ua.json +++ b/kubejs/assets/tfc/lang/uk_ua.json @@ -11,6 +11,8 @@ "item.tfc.powder.sulfur": "Сірчаний Порошок", "item.tfc.jute_net": "Мішковинна сітка", "item.tfc.dirty_jute_net": "Брудна мішковинна сітка", + "item.tfc.powder.salt": "Харчова сіль", + "item.tfc.blubber": "Тваринний жир", "tfc.jei.raw_hide_knapping": "Обробка Сирої Шкіри", "metal.tfg.redstone": "Редстоун", "metal.tfg.red_alloy": "Червоний сплав", @@ -25,6 +27,7 @@ "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "Колесо Гауда", "tfc.recipe.barrel.tfg.barrel.feta_wheel": "Колесо Фети", "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "Колесо Шоша", + "tfc.field_guide.book_landing_text": "Вітаю, мандрівнику! Ця книга стане джерелом усього, що тобі потрібно знати, досліджуючи світ TerraFirmaCraft (TFC) у $(bold)TerraFirmaGreg$().$(br)Ця книга доступна будь-коли через іконку праворуч у твоєму інвентарі.$(br)Онлайн-версію цього посібника можна знайти $(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/uk_ua/)тут$().$(br)Натисни на $(italic)Індекс записів$() і почни вводити, щоб $(bold)шукати$().", "trim_material.tfc.almandine_tfc": "Альмандин", "trim_material.tfc.andradite_tfc": "Андрадіт", "trim_material.tfc.blue_topaz_tfc": "Синій Топаз", @@ -42,7 +45,7 @@ "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": "Топаз", "trim_material.tfc.uvarovite_tfc": "Уваровіт", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 6929d180e..3fed4c242 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -35,6 +35,15 @@ "biome.tfg.mars/sangnum_edge": "Край Санґнум", "biome.tfg.mars/sangnum_plains": "Прерія Санґнум", "biome.tfg.mars/sangnum_hills": "Болото Санґнум", + "biome.tfg.venus/arachnoids": "Венеріанські арахноїди", + "biome.tfg.venus/fractured_pools": "Розколоті басейни", + "biome.tfg.venus/fumaroles": "Газоподібні фумароли", + "biome.tfg.venus/geysers": "Пекучий Гейзер", + "biome.tfg.venus/jagged_tablelands": "Зубчасті плоскогір'я", + "biome.tfg.venus/salt_flats": "Соляні рівнини", + "biome.tfg.venus/stromatolite_beach": "Строматолітовий пляж", + "biome.tfg.venus/sulfuric_ravine": "Сірчаний яр", + "biome.tfg.venus/volcanic_mountains": "Палючі вулкани", "block.tfg.piglin_disguise": "Маскування Пігліна", "block.tfg.piglin_disguise_block": "Маскування Пігліна", "block.tfg.dry_ice": "Сухий лід", @@ -242,20 +251,24 @@ "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": "Anorthosite Cobble 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_stone": "Мохові анортозитові цеглини", - "block.tfg.rock.mossy_bricks_moon_stone_stairs": "Сходи з мохових анортозитових цеглин", - "block.tfg.rock.mossy_bricks_moon_stone_slab": "Плита з мохових анортозитових цеглин", - "block.tfg.rock.mossy_bricks_moon_stone_wall": "Стіна з мохових анортозитових цеглин", + "block.tfg.rock.mossy_bricks_moon": "Mossy Anorthosite Bricks", + "block.tfg.rock.mossy_bricks_moon_stairs": "Mossy Anorthosite Brick Stairs", + "block.tfg.rock.mossy_bricks_moon_slab": "Mossy Anorthosite Brick Slab", + "block.tfg.rock.mossy_bricks_moon_wall": "Mossy Anorthosite Brick Wall", "block.tfg.rock.chiseled_bricks_moon_wall": "Стіна з різьбленого анортозиту", "block.tfg.rock.gravel_moon": "Гравій анортозиту", "block.tfg.spike.moon_stone_spike": "Шип з Анорозиту", "block.tfg.loose.moon_stone": "Рихлий Анорозитовий Камінь", "block.tfg.rock.aqueduct_moon_stone": "Акведук з анортозиту", + "block.tfg.rock.polished_moon_wall": "Polished Anorthosite Wall", + "block.tfg.rock.cracked_bricks_moon_stairs": "Cracked Anorthosite Brick Stairs", + "block.tfg.rock.cracked_bricks_moon_slab": "Cracked Anorthosite Brick Slab", + "block.tfg.rock.cracked_bricks_moon_wall": "Cracked Anorthosite Brick Wall", "block.tfg.rock.hardened_moon_deepslate": "Затверділий Норит", "block.tfg.rock.moon_deepslate_stairs": "Сходи з необробленого нориту", "block.tfg.rock.moon_deepslate_slab": "Плита з необробленого нориту", @@ -289,19 +302,25 @@ "block.tfg.spike.moon_deepslate_spike": "Норитовий шип", "block.tfg.loose.moon_deepslate": "Рихлий Норитовий Камінь", "block.tfg.rock.aqueduct_moon_deepslate": "Акведук з норіту", + "block.tfg.rock.mossy_bricks_moon_deepslate": "Mossy Norite Bricks", + "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "Mossy Norite Brick Stairs", + "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "Mossy Norite Brick Slab", + "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "Mossy Norite Brick Wall", "block.tfg.rock.hardened_mars_stone": "Затверділий Аргіліт", "block.tfg.rock.mars_stone_wall": "Стіна з необробленого аргіліту", - "block.tfg.rock.cobble_mars_stone_wall": "Стіна з кругляку аргіліту", + "block.tfg.rock.cobble_mars_wall": "Argillite Cobble Wall", "block.tfg.rock.mossy_cobble_mars": "Аргілітовий моховий кругляк", "block.tfg.rock.mossy_cobble_mars_stairs": "Сходи з аргілітового мохового кругляку", "block.tfg.rock.mossy_cobble_mars_slab": "Плита з аргілітового мохового кругляку", "block.tfg.rock.mossy_cobble_mars_wall": "Стіна з аргілітового мохового кругляку", "block.tfg.rock.polished_mars_wall": "Полірована аргілітова стіна", - "block.tfg.rock.mossy_bricks_mars_stone": "Моховиті аргілітові цеглини", - "block.tfg.rock.mossy_bricks_mars_stone_stairs": "Сходи з моховитих аргілітових цеглин", - "block.tfg.rock.mossy_bricks_mars_stone_slab": "Плита з моховитих аргілітових цеглин", - "block.tfg.rock.mossy_bricks_mars_stone_wall": "Стіна з моховитих аргілітових цеглин", - "block.tfg.rock.cracked_bricks_mars_stone_wall": "Стіна з тріснутих аргілітових цеглин", + "block.tfg.rock.mossy_bricks_mars": "Mossy Argillite Bricks", + "block.tfg.rock.mossy_bricks_mars_stairs": "Mossy Argillite Brick Stairs", + "block.tfg.rock.mossy_bricks_mars_slab": "Mossy Argillite Brick Slab", + "block.tfg.rock.mossy_bricks_mars_wall": "Mossy Argillite Brick Wall", + "block.tfg.rock.cracked_bricks_mars_stairs": "Cracked Argillite Brick Stairs", + "block.tfg.rock.cracked_bricks_mars_slab": "Cracked Argillite Brick Slab", + "block.tfg.rock.cracked_bricks_mars_wall": "Cracked Argillite Brick Wall", "block.tfg.rock.chiseled_bricks_mars_wall": "Стіна з тесаного аргіліту", "block.tfg.rock.gravel_mars": "Гравій аргіліту", "block.tfg.spike.mars_stone_spike": "Аргілітовий шип", @@ -309,17 +328,19 @@ "block.tfg.rock.aqueduct_mars_stone": "Акведук з аргиліту", "block.tfg.rock.hardened_venus_stone": "Затверділий Трахіт", "block.tfg.rock.venus_stone_wall": "Стіна з необробленого трахіту", - "block.tfg.rock.cobble_venus_stone_wall": "Стіна з трахітового кругляку", + "block.tfg.rock.cobble_venus_wall": "Trachyte Cobble Wall", "block.tfg.rock.mossy_cobble_venus": "Трахітовий моховий кругляк", "block.tfg.rock.mossy_cobble_venus_stairs": "Сходи з трахітового мохового кругляку", "block.tfg.rock.mossy_cobble_venus_slab": "Плита з трахітового мохового кругляку", "block.tfg.rock.mossy_cobble_venus_wall": "Стіна з трахітового мохового кругляку", "block.tfg.rock.polished_venus_wall": "Полірована трахітова стіна", - "block.tfg.rock.mossy_bricks_venus_stone": "Моховиті трахітові цеглини", - "block.tfg.rock.mossy_bricks_venus_stone_stairs": "Сходи з моховитих трахітових цеглин", - "block.tfg.rock.mossy_bricks_venus_stone_slab": "Плита з моховитих трахітових цеглин", - "block.tfg.rock.mossy_bricks_venus_stone_wall": "Стіна з моховитих трахітових цеглин", - "block.tfg.rock.cracked_bricks_venus_stone_wall": "Стіна з тріснутих трахітових цеглин", + "block.tfg.rock.mossy_bricks_venus": "Mossy Trachyte Bricks", + "block.tfg.rock.mossy_bricks_venus_stairs": "Mossy Trachyte Brick Stairs", + "block.tfg.rock.mossy_bricks_venus_slab": "Mossy Trachyte Brick Slab", + "block.tfg.rock.mossy_bricks_venus_wall": "Mossy Trachyte Brick Wall", + "block.tfg.rock.cracked_bricks_venus_stairs": "Cracked Trachyte Brick Stairs", + "block.tfg.rock.cracked_bricks_venus_slab": "Cracked Trachyte Brick Slab", + "block.tfg.rock.cracked_bricks_venus_wall": "Cracked Trachyte Brick Wall", "block.tfg.rock.chiseled_bricks_venus_wall": "Стіна з тесаного трахіту", "block.tfg.rock.gravel_venus": "Гравій трахіту", "block.tfg.spike.venus_stone_spike": "Трахітовий шип", @@ -327,17 +348,19 @@ "block.tfg.rock.aqueduct_venus_stone": "Акведук з трахіту", "block.tfg.rock.hardened_mercury_stone": "Затверділий Коматит", "block.tfg.rock.mercury_stone_wall": "Стіна з необробленого коматіїту", - "block.tfg.rock.cobble_mercury_stone_wall": "Стіна з коматитового кругляку", + "block.tfg.rock.cobble_mercury_wall": "Komatiite Cobble Wall", "block.tfg.rock.mossy_cobble_mercury": "Коматитовий моховий кругляк", "block.tfg.rock.mossy_cobble_mercury_stairs": "Сходи з коматитового мохового кругляку", "block.tfg.rock.mossy_cobble_mercury_slab": "Плита з коматитового мохового кругляку", "block.tfg.rock.mossy_cobble_mercury_wall": "Стіна з коматитового мохового кругляку", "block.tfg.rock.polished_mercury_wall": "Полірована коматіїтова стіна", - "block.tfg.rock.mossy_bricks_mercury_stone": "Моховиті коматіїтові цеглини", - "block.tfg.rock.mossy_bricks_mercury_stone_stairs": "Сходи з моховитих коматіїтових цеглин", - "block.tfg.rock.mossy_bricks_mercury_stone_slab": "Плита з моховитих коматіїтових цеглин", - "block.tfg.rock.mossy_bricks_mercury_stone_wall": "Стіна з моховитих коматіїтових цеглин", - "block.tfg.rock.cracked_bricks_mercury_stone_wall": "Стіна з тріснутих коматіїтових цеглин", + "block.tfg.rock.mossy_bricks_mercury": "Mossy Komatiite Bricks", + "block.tfg.rock.mossy_bricks_mercury_stairs": "Mossy Komatiite Brick Stairs", + "block.tfg.rock.mossy_bricks_mercury_slab": "Mossy Komatiite Brick Slab", + "block.tfg.rock.mossy_bricks_mercury_wall": "Mossy Komatiite Brick Wall", + "block.tfg.rock.cracked_bricks_mercury_stairs": "Cracked Komatiite Brick Stairs", + "block.tfg.rock.cracked_bricks_mercury_slab": "Cracked Komatiite Brick Slab", + "block.tfg.rock.cracked_bricks_mercury_wall": "Cracked Komatiite Brick Wall", "block.tfg.rock.chiseled_bricks_mercury_wall": "Стіна з тесаного коматіїту", "block.tfg.rock.gravel_mercury": "Гравій коматіїту", "block.tfg.spike.mercury_stone_spike": "Коматитовий шип", @@ -345,17 +368,19 @@ "block.tfg.rock.aqueduct_mercury_stone": "Акведук з коматиту", "block.tfg.rock.hardened_glacio_stone": "Затверділий Фоноліт", "block.tfg.rock.glacio_stone_wall": "Стіна з необробленого фоноліту", - "block.tfg.rock.cobble_glacio_stone_wall": "Стіна з фонолітового кругляку", + "block.tfg.rock.cobble_glacio_wall": "Phonolite Cobble Wall", "block.tfg.rock.mossy_cobble_glacio": "Фонолітовий моховий кругляк", "block.tfg.rock.mossy_cobble_glacio_stairs": "Сходи з фонолітового мохового кругляку", "block.tfg.rock.mossy_cobble_glacio_slab": "Плита з фонолітового мохового кругляку", "block.tfg.rock.mossy_cobble_glacio_wall": "Стіна з фонолітового мохового кругляку", "block.tfg.rock.polished_glacio_wall": "Полірована фонолітова стіна", - "block.tfg.rock.mossy_bricks_glacio_stone": "Моховиті фонолітові цеглини", - "block.tfg.rock.mossy_bricks_glacio_stone_stairs": "Сходи з моховитих фонолітових цеглин", - "block.tfg.rock.mossy_bricks_glacio_stone_slab": "Плита з моховитих фонолітових цеглин", - "block.tfg.rock.mossy_bricks_glacio_stone_wall": "Стіна з моховитих фонолітових цеглин", - "block.tfg.rock.cracked_bricks_glacio_stone_wall": "Стіна з тріснутих фонолітових цеглин", + "block.tfg.rock.mossy_bricks_glacio": "Mossy Phonolite Bricks", + "block.tfg.rock.mossy_bricks_glacio_stairs": "Mossy Phonolite Brick Stairs", + "block.tfg.rock.mossy_bricks_glacio_slab": "Mossy Phonolite Brick Slab", + "block.tfg.rock.mossy_bricks_glacio_wall": "Mossy Phonolite Brick Wall", + "block.tfg.rock.cracked_bricks_glacio_stairs": "Cracked Phonolite Brick Stairs", + "block.tfg.rock.cracked_bricks_glacio_slab": "Cracked Phonolite Brick Slab", + "block.tfg.rock.cracked_bricks_glacio_wall": "Cracked Phonolite Brick Wall", "block.tfg.rock.chiseled_bricks_glacio_wall": "Стіна з тесаного фоноліту", "block.tfg.rock.gravel_glacio": "Гравій фоноліту", "block.tfg.spike.glacio_stone_spike": "Фонолітовий шип", @@ -369,15 +394,19 @@ "block.tfg.rock.cobble_permafrost_stairs": "Сходи з пермафростового кругляку", "block.tfg.rock.cobble_permafrost_slab": "Плита з пермафростового кругляку", "block.tfg.rock.cobble_permafrost_wall": "Стіна з пермафростового кругляку", - "block.tfg.rock.mossy_cobble_permafrost_stairs": "Сходи з пермафростового мохового кругляку", - "block.tfg.rock.mossy_cobble_permafrost_slab": "Плита з пермафростового мохового кругляку", - "block.tfg.rock.mossy_cobble_permafrost_wall": "Стіна з пермафростового мохового кругляку", + "block.tfg.rock.mossy_cobble_permafrost": "Mossy Cobble Permafrost", + "block.tfg.rock.mossy_cobble_permafrost_stairs": "Mossy Cobble Permafrost Stairs", + "block.tfg.rock.mossy_cobble_permafrost_slab": "Mossy Cobble Permafrost Slab", + "block.tfg.rock.mossy_cobble_permafrost_wall": "Mossy Cobble Permafrost Wall", "block.tfg.rock.polished_permafrost_wall": "Полірована вічномерзлотна стіна", "block.tfg.rock.mossy_bricks_permafrost": "Моховиті цеглини з вічної мерзлоти", "block.tfg.rock.mossy_bricks_permafrost_stairs": "Сходи з моховитих цеглин з вічної мерзлоти", "block.tfg.rock.mossy_bricks_permafrost_slab": "Плита з моховитих цеглин з вічної мерзлоти", "block.tfg.rock.mossy_bricks_permafrost_wall": "Стіна з моховитих цеглин з вічної мерзлоти", - "block.tfg.rock.cracked_bricks_permafrost_stone_wall": "Стіна з тріснутих цеглин з вічної мерзлоти", + "block.tfg.rock.cracked_bricks_permafrost_stairs": "Cracked Permafrost Brick Stairs", + "block.tfg.rock.cracked_bricks_permafrost_slab": "Cracked Permafrost Brick Slab", + "block.tfg.rock.cracked_bricks_permafrost_wall": "Cracked Permafrost Brick Wall", + "block.tfg.rock.chiseled_bricks_permafrost_wall": "Chiseled Permafrost Wall", "block.tfg.rock.gravel_permafrost": "Гравій вічної мерзлоти", "block.tfg.spike.permafrost_spike": "Шип з Вічномерзлого Ґрунту", "block.tfg.loose.permafrost": "Відокремлений камінь вічної мерзлоти", @@ -416,11 +445,21 @@ "block.tfg.rock.cracked_bricks_stone_wall": "Стіна з тріснутих цеглин з реконструйованого каменю", "block.tfg.rock.aqueduct_stone": "Акведук з реконституйованого каменю", "block.tfg.rock.smooth_red_sandstone_wall": "Стіна з гладкого гематитового пісковику", + "block.tfg.rock.cut_red_sandstone_stairs": "Cut Hematitic Sandstone Stairs", "block.tfg.rock.cut_red_sandstone_wall": "Стіна з обробленого гематитового пісковику", + "block.tfg.rock.bricks_venus_sandstone_wall": "Trachyte Sandstone Brick Wall", + "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "Cracked Trachyte Sandstone Brick Stairs", + "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "Cracked Trachyte Sandstone Brick Slab", + "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "Cracked Trachyte Sandstone Brick Wall", + "block.tfg.rock.quartz_wall": "Quartz Wall", + "block.tfg.rock.smooth_quartz_wall": "Smooth Quartz Wall", "block.tfg.rock.raw.stromatolite": "Сирий строматоліт", "block.tfg.rock.spike.stromatolite": "Строматолітовий шип", + "block.tfg.stromatolite_cluster_small": "Малий кластер строматолітів", + "block.tfg.stromatolite_cluster_medium": "Великий кластер строматолітів", "block.tfg.rock.raw.geyserite": "Сирий Гейзерит", "block.tfg.rock.spike.geyserite": "Гейзеритовий шип", + "block.tfg.rock.halite": "Halite", "block.tfg.mushroom_roots": "Коріння грибів", "block.tfg.mushroom_sprouts": "Паростки грибів", "block.tfg.charred_log": "Обвуглена колода", @@ -493,8 +532,8 @@ "block.tfg.zpm_gas_pressurizer": "§dЕлітний Газовий Пресуризатор III§r", "block.tfg.uv_gas_pressurizer": "§3Ультимативний Газовий Пресуризатор§r", "block.tfg.fluid.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода", - "block.tfg.fluid.sulfur_fumes": "Сірчані випари", - "block.tfg.fluid.geyser_slurry": "Супернагрітий шлам", + "block.tfg.fluid.sulfur_fumes": "Густі сірчані випари", + "block.tfg.fluid.geyser_slurry": "Перегріта суспензія", "block.tfg.grass.mars_dirt": "Марсіанський ґрунт", "block.tfg.grass.mars_clay_dirt": "Марсіанський Глиняний Ґрунт", "block.tfg.grass.mars_farmland": "Марсіанське поле", @@ -577,6 +616,8 @@ "block.tfg.casings.heat_pipe_casing": "Теплотрубна оболонка", "block.tfg.glacian_wool_frame": "Обрамлена ґлаціанська вовна", "block.tfg.aes_insulation_frame": "Обрамлена AES ізоляція", + "block.tfg.machine_casing_power_casing": "Ізольований силовий кожух", + "block.tfg.active_power_transformer": "Активний енергетичний трансформатор", "block.tfg.sand.fluorapatite.blue": "Синій флуорапатитовий пісок", "block.tfg.sandstone.raw.fluorapatite.blue": "Необроблений Синій Флуорапатитовий Пісковик", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Стіна з Необробленого Синього Флуорапатитового Пісковику", @@ -656,6 +697,8 @@ "block.tfg.nuclear_turbine": "Ядерна парова турбіна", "block.tfg.evaporation_tower": "Випарна камера", "block.tfg.cooling_tower": "Ядерна градирня", + "block.tfg.smr_generator": "Мала модульна турбіна", + "block.tfg.casings.machine_casing_desh_ptfe": "Радіаційно-безпечний кожух із деша", "block.tfg.growth_monitor": "Монітор росту", "block.tfg.sample_rack": "Стійка для зразків", "block.tfg.casings.machine_casing_sterilizing_pipes": "Стерилізаційні труби", @@ -665,8 +708,8 @@ "block.tfg.impure_moderate_core_frame": "Каркас нечистого помірного ядра", "fluid.tfg.heavy_ammoniacal_water": "Важка аміачна вода", "fluid.tfg.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода", - "fluid.tfg.sulfur_fumes": "Сірчані випари", - "fluid.tfg.geyser_slurry": "Супернагрітий шлам", + "fluid.tfg.sulfur_fumes": "Густі сірчані випари", + "fluid.tfg.geyser_slurry": "Перегріта суспензія", "fluid.tfg.cryogenized_fluix": "Кріогенізований флюїкс", "item.tfg.antipoison_pill": "Антиотруйна Пілюля", "item.tfg.haste_pill": "Пілюля Прискорення", @@ -853,7 +896,7 @@ "item.tfg.food.cooked_beer_battered_cheese_curds": "Смажені сирні шматочки в пивному клярі", "item.tfg.food.raw_fries": "Сира картопля фрі", "item.tfg.food.cooked_fries": "Картопля фрі", - "item.tfg.food.poutine": "Пут'ін", + "item.tfg.food.poutine": "Путін", "item.tfg.food.brioche_dough": "Тісто бріош", "item.tfg.food.brioche_bun": "Булочка бріош", "item.tfg.food.raw_burger_patty": "Сира котлета для бургера", @@ -901,7 +944,7 @@ "item.tfg.marker.mercury_orbit": "Орбіта Меркурія", "item.tfg.marker.glacio_orbit": "Орбіта Європи", "item.tfg.railgun_ammo_shell": "Снаряд для рейкотрона", - "item.tfg.sulfur_fumes_bucket": "Відро з сірчаними випарами", + "item.tfg.sulfur_fumes_bucket": "Відро з густими сірчаними випарами", "item.tfg.geyser_slurry_bucket": "Відро з перегрітою пульпою", "item.tfg.cryogenized_fluix_bucket": "Відро кріофлюїксу", "item.tfg.fluix_bucket": "Відро з рідким флюїксом", @@ -1041,6 +1084,15 @@ "item.tfg.rough_endoplasmic_reticula": "Шорстка ендоплазматична сітка", "item.tfg.alpha_keratin": "α-Кератин", "item.tfg.progenitor_cells": "Клітини попередники", + "item.tfg.catalyser_pt_re_zsm": "Каталізатор Pt-Re ZSM-5", + "item.tfg.used_catalyser": "Використаний каталізатор Pt-Re ZSM-5", + "item.tfg.loaded_resin": "Перезаряджена смола", + "item.tfg.rod_mold": "Форма для вогняного стрижня", + "item.tfg.small_gear_mold": "Форма для малої вогняної шестерні", + "item.tfg.nugget_mold": "Форма для самородка", + "item.tfg.unfired_rod_mold": "Невипалена форма для вогняного стрижня", + "item.tfg.unfired_small_gear_mold": "Невипалена форма для малої вогняної шестерні", + "item.tfg.unfired_nugget_mold": "Невипалена форма для самородка", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканізований Латекс", "material.tfg.fluix": "Флюс", @@ -1155,6 +1207,56 @@ "material.tfg.zirconium_bromide": "Бромід цирконію (IV)", "material.tfg.zirconium_diboride": "Диборид цирконію", "material.tfg.boron_carbide": "Бор карбід", + "material.tfg.syngas": "Синтез газ", + "material.tfg.raw_aromatic_mix": "Первинна ароматична суміш", + "material.tfg.aromatic_feedstock": "Ароматична сировина", + "material.tfg.reformed_aromatic_feedstock": "Реформована ароматична сировина", + "material.tfg.reformate_gas": "Реформатний газ", + "material.tfg.cracker_off_gas": "Побічний газ від крекінгового реформату", + "material.tfg.btx_fuel": "BTX Паливо", + "material.tfg.critical_steam": "Критична пара", + "material.tfg.americium_241": "Америцій-241", + "material.tfg.californium_252": "Каліфорній-252", + "material.tfg.neptunium_237": "Нептуній-237", + "material.tfg.mixed_radioactive_fluid": "Змішана радіоактивна рідина", + "material.tfg.degraded_solvent_stream": "Потік деградованого розчинника", + "material.tfg.boron_enriched_coolant": "Збагачений бором охолоджувач", + "material.tfg.hot_boron_enriched_coolant": "Гарячий збагачений бором охолоджувач", + "material.tfg.polyalkylene_lubricant": "Поліалкіленовий мастильний матеріал", + "material.tfg.organic_degradation_slurry": "Шлам органічної деградації", + "material.tfg.gas_fraction": "Газова фракція", + "material.tfg.isotopic_solvent": "Ізотопний розчинник", + "material.tfg.residual_sludge": "Залишковий шлам", + "material.tfg.sodium_fluoride": "Флуорид натрію", + "material.tfg.trace_catalyst_salt_e": "Слідовий каталізаторний сіль E", + "material.tfg.copper_trace_catalyst_dust": "Слідовий каталізатор міді", + "material.tfg.organic_stabilizer": "Органічний стабілізатор", + "material.tfg.inert_dust_fraction": "Інертна фракція", + "material.tfg.recovered_ionic_complex": "Відновлений іонний комплекс", + "material.tfg.glucose": "Глюкоза", + "material.tfg.galactose": "Галактоза", + "material.tfg.fructose": "Фруктоза", + "material.tfg.sorbitol": "Сорбітол", + "material.tfg.14_sorbitan": "1,4-Сорбітан", + "material.tfg.isosorbide": "Ізосорбід", + "material.tfg.linolenic_acid": "α-Ліноленова кислота", + "material.tfg.isosorbide_ln": "Ізосорбід ліноленат", + "material.tfg.epox_isosorbide_ln": "Епоксидований ізосорбід ліноленат", + "material.tfg.ozone": "Озон", + "material.tfg.tin_chloride": "Хлорид стануму", + "material.tfg.cyclohexanone": "Циклогексанон", + "material.tfg.cyclohex_diperoxide": "1,1-Циклогександиїл дігідропероксид", + "material.tfg.aciditic_waste": "Кислотні відходи", + "material.tfg.propylene": "Пропілен", + "material.tfg.tpaoh": "Гідроксид тетрапропіламонію", + "material.tfg.sodium_silicate": "Натрій силікат", + "material.tfg.metal_rich_solution": "Металонасичений розчин", + "material.tfg.crude_mixed_gas": "Сирий змішаний газ", + "material.tfg.zsm5_gel": "Гель ZSM-5", + "material.tfg.leachate": "Ренійний фільтрат", + "material.tfg.clean_powder": "Очищений ресилікатний порошок", + "material.tfg.catalyser_powder": "Каталізаторний порошок Re ZSM-5", + "material.tfg.sodium_aluminium": "Натрій алюміній", "ore_vein.tfg.deep_sheldonite": "Шелдоніт і Борніт", "ore_vein.tfg.deep_garnet_amethyst": "Аметист і Гранат", "ore_vein.tfg.deep_garnet_opal": "Опал і Гранат", @@ -1327,6 +1429,19 @@ "entity.tfg.rnr_plow": "Візок для мощення", "effect.tfg.cooling": "§bОхолодження", "effect.tfg.warming": "§6Розігрів", + "effect.tfg.instant_radiation": "Миттєве випромінювання", + "effect.tfg.chemical_burns_warning": "Отримання хімічних опіків", + "effect.tfg.poison_warning": "Токсична речовина", + "effect.tfg.weak_poison_warning": "Слаботоксична речовина", + "effect.tfg.irritant_warning": "Подразнювальна речовина", + "effect.tfg.nausea_warning": "Нудотна речовина", + "effect.tfg.carcinogen_warning": "Канцерогенна речовина", + "effect.tfg.asbestosis_warning": "Азбестоз", + "effect.tfg.arsenicosis_warning": "Арсенікоз", + "effect.tfg.silicosis_warning": "Силікоз", + "effect.tfg.berylliosis_warning": "Бериліоз", + "effect.tfg.methanol_poisoning_warning": "Отруєння метанолом", + "effect.tfg.carbon_monoxide_poisoning_warning": "Отруєння монооксидом вуглецю", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "Вітряки залежать від відносної", @@ -1349,7 +1464,7 @@ "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": "Топаз", "trim_material.tfc.uvarovite_tfc": "Уваровіт", @@ -1383,10 +1498,14 @@ "tfg.emi.ore_veins.rock_types": "Зустрічається в типах порід:", "tfg.emi.ore_veins.rarity": "Рідкість: %d", "tfg.emi.ore_veins.density": "Щільність: %d", - "tfg.emi.ore_veins.y_ranges": "Глибина: %d до %d", + "tfg.emi.ore_veins.y_ranges": "Рівень Y: %d до %d", "tfg.emi.ore_veins.size": "Розмір: %d", "tfg.emi.ore_veins.height": "Висота: %d", "tfg.emi.ore_veins.radius": "Радіус: %d", + "ore_vein.tfg.rose_quartz": "Рожевий кварц", + "ore_vein.tfg.rose_quartz.emi.0": "Зустрічається в біомах", + "ore_vein.tfg.rose_quartz.emi.1": "низької висоти у кліматах", + "ore_vein.tfg.rose_quartz.emi.2": "нижче -10°C.", "emi.category.tfg.ore_vein_info": "Жили руди", "tfg.emi.liquid_bb_burn_time": "Тривалість: %d с", "tfg.emi.liquid_bb_superheat": "§lПерегрітий", @@ -1443,10 +1562,15 @@ "tfg.tooltip.cooling_foods": "§bОхолоджує вас на: 2°C", "tfg.tooltip.cooling_foods_strong": "§bОхолоджує вас на: 10°C", "tfg.tooltip.warming_foods": "§bОхолоджує вас на: 4°C", - "tfg.tooltip.machine.one_energy_hatch": "Приймає рівно §6Один§r енергетичний люк", - "tfg.tooltip.machine.two_energy_hatches": "Приймає до §6Двох§r енергетичних люків", + "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легших за повітря§7 газів.§r", + "tfg.tooltip.machine.one_energy_hatch": "Приймає рівно §6Один§r енергетичний люк.", + "tfg.tooltip.machine.two_energy_hatches": "Приймає до §6Двох§r енергетичних люків.", "tfg.tooltip.machine.subtick": "Ця машина підтримує §2Підтакт§r!", - "tfg.tooltip.machine.coil_energy_discount": "Кожна котушка після §6Мельхіору§r зменшує споживання енергії на §r10%§7.§r", + "tfg.tooltip.machine.coil_energy_discount": "Кожна котушка після §6Мельхіору§r зменшує витрат енергії на 10%.", + "tfg.tooltip.machine.coil_speed_discount": "§6Мельхіорові§r котушки працюють на 75% повільніше. Кожна котушка після §3Канталу§r збільшує швидкість обробки на 50%.", "tfg.tooltip.machine.bioreactor_1": "§7Хімія зустрічається з Біологією§r", "tfg.tooltip.machine.bioreactor_2": "§7Поєднує органічні та неорганічні інгредієнти для отримання синтетичних біологічних продуктів.§r", "tfg.tooltip.machine.growth_chamber_1": "§7Вирощування нового життя§r", @@ -1454,10 +1578,12 @@ "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", "tfg.tooltip.machine.evaporation_tower_2": "§7Позбавляється надлишкового розчинника, щоб сконденсувати розчини.§r", "tfg.tooltip.machine.electric_greenhouse_1": "§7Додає «Фабрику» у фабричне тваринництво§r", - "tfg.tooltip.machine.electric_greenhouse_2": "§7Використовує воду для вирощування дерев, культур та інших рослин. Може бути прискорене за допомогою добрив. Швидше й простіше, ніж інші способи вирощування рослин, але потребує енергії.§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Використовує воду для вирощування дерев, культур та інших рослин. Може бути прискорено за допомогою добрив. Швидше й простіше, ніж інші способи вирощування рослин, але коштує енергії.§r", "tfg.tooltip.machine.cooling_tower_1": "§7Нагрівання атмосфери§r", "tfg.tooltip.machine.cooling_tower_2": "§7Охолоджує гарячий теплоносій, розсіюючи надлишкове тепло в атмосферу.§r", "tfg.tooltip.obsolete.depreciated": "§cЗастаріле, більше не створюється", + "tfg.tooltip.antipoison_pill": "§9Лікує отруєння", + "tfg.tooltip.antipoison_tablet": "§9Усуває всі активні шкідливі ефекти", "tfg.tooltip.dna_syringe.empty": "§7Порожній шприц.§r", "tfg.tooltip.dna_syringe.dirty1": "§7Використаний шприц.§r", "tfg.tooltip.dna_syringe.dirty2": "§7Будьте обережні, щоб нікого не вколоти цим...§r", @@ -1480,8 +1606,10 @@ "tfg.tooltip.component.moderate_core_frame": "Можна розмістити всередині реактора поділу, щоб підвищити максимальне тепло на §910§r", "tfg.tooltip.component.dry_ice": "Може використовуватися як вхід у реакторі поділу для його охолодження, потребує тримача матеріалів", "tfg.tooltip.component.refrigerant_pellet": "Може використовуватися як вхід у реакторі поділу для його охолодження, потребує тримача матеріалів", - "tfg.tooltip.component.nuclear_turbine_1": "§eБазове виробництво:§r 4096 EU/t", + "tfg.tooltip.component.nuclear_turbine_1": "§eБазове виробництво:§r 8192 EU/t", "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": "Призначений для виробництва енергії з sCO₂ та малого модульного реактора \nВикористовуйте мастило та прискорювач для підвищення ефективності та керування контуром охолодження ММР.", "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", @@ -1489,6 +1617,19 @@ "tfg.gui.rnr_plow.width": "Ширина шляху: %d блоків", "tfg.gui.rnr_plow.empty_crushed_base_course": "§cВідсутній шар щебеневої основи!!", "tfg.tooltip.progenitor_cells.mob": "Тваринництво: ", + "tfg.tooltip.fake_nutrition_info_listener": "§7§oУтримуйте (Shift), щоб переглянути інформацію про поживність", + "tfg.tooltip.fake_nutrition_info": "§7Поживність:", + "tfg.tooltip.cheese_slice_microplastics": "§b- Мікропластик: 1.9", + "tfg.gui.menu.field_guide_splash_text": "Порада: Прочитайте польовий посібник!!!", + "tfg.gui.menu.ram_usage": "RAM:", + "tfg.gui.menu.fps_count": "FPS:", + "tfg.gui.smr_generator.credit": "Присвячено команді Frontiers", + "tfg.gui.smr_generator.lubricant_used": "Мастило: %s", + "tfg.gui.smr_generator.booster_used": "Прискорювач: %s", + "tfg.gui.max_energy_per_tick_amps.prefix": "Макс. EU/т: ", + "tfg.gui.consumes": "Споживає: ", + "tfg.gui.per_cycle": "за цикл", + "tfg.gui.cycle_duration": "Тривалість циклу: ", "tfc.jei.flint_knapping": "Обробка Кременю", "tfc.jei.straw_knapping": "Вибивання Соломи", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Фарбування", @@ -1728,6 +1869,69 @@ "quests.ae2.cell_component_64m.desc": "&c64M Компонент Зберігання MEGA&r — це найбільший, який можна створити у &8TerraFirmaGreg&r. Чесно кажучи, ми вважаємо, що він вам ніколи не знадобиться, але він існує для тих, хто прагне завершити колекцію.", "quests.ae2.oversize_interface.desc": "&dME Надвеликий Інтерфейс&r — це &dРозширений Me Інтерфейс&r, але кожен слот може вміщувати у 16 разів більше предметів або рідин. Якщо у вас є процеси, що потребують величезних кількостей, це може стати вашим основним інструментом.", "quests.ae2.assembler_matrix.desc": "&6Матриця Збирача&r — це, по суті, настроюваний мультиблок Молекулярного Збирача. Вимоги для цього квесту дозволяють зібрати версію, яку ми вважаємо достатньо потужною. За бажанням ви можете додати більше шарів &bЯдра Шаблону&r або &aЯдра Крафту&r.\n\nЯк завжди, зверніться до внутрішньоігрового гіда для детальної інформації.", + "quests.combat_tips.stone_main.title": "Кам’яна доба", + "quests.combat_tips.hammer.title": "Молоти", + "quests.combat_tips.hammer.subtitle": "Час помахати молотом!", + "quests.combat_tips.hammer.description": "Хоча бій може бути не першим, що спадає на думку при використанні молота, він може виявитися напрочуд ефективним. Молоти завдають &2Дробильних&r ушкоджень, що може допомогти проти Скелетів. \n\nДля отримання додаткової інформації про &cТипи ушкоджень&r звернися до &3Польового посібника&r.", + "quests.combat_tips.hammer.task": "Будь-який молот", + "quests.combat_tips.javelin.title": "Дротики", + "quests.combat_tips.javelin.subtitle": "Лук печерної людини", + "quests.combat_tips.javelin.description": "Якщо ти хочеш тримати ворогів на відстані, дротики — це саме та зброя для тебе. Вони є найранішими дальнобійними видами зброї, доступними тобі. Вони завдають &9Проникаючих&r ушкоджень, що може допомогти проти Зомбі. \n\nДля отримання додаткової інформації про &cТипи ушкоджень&r звернися до &3Польового посібника&r. \n\nКоли ти здобудеш шкіру, зможеш створити &5Колчан&r, який дозволить легко носити до 8 дротиків! ", + "quests.combat_tips.javelin.task": "Будь-який Дротик", + "quests.combat_tips.axe.title": "Сокири", + "quests.combat_tips.axe.subtitle": "Корисний не лише для дерева", + "quests.combat_tips.axe.description": "Поки ти не зможеш зробити покращення, сокира буде твоєю найнадійнішою зброєю. Окрім високої шкоди, вона завдає &6Ріжучих&r ушкоджень, що допоможе проти Криперів. \n\nДля отримання додаткової інформації про &cТипи ушкоджень&r звернися до &3Польового посібника&r.", + "quests.combat_tips.axe.task": "Будь-яка сокира", + "quests.combat_tips.knife.title": "Ножі", + "quests.combat_tips.knife.subtitle": "Тицяти-колоти", + "quests.combat_tips.knife.description": "Ножі найбільш корисні для крафту, але в разі потреби можуть стати зброєю. Вони завдають &9Проникаючих&r ушкоджень, що може допомогти проти Зомбі. \n\nДля отримання додаткової інформації про &cТипи ушкоджень&r звернися до &3Польового посібника&r.", + "quests.combat_tips.knife.task": "Будь-який ніж", + "quests.combat_tips.club.title": "Кремнієва дубина", + "quests.combat_tips.club.subtitle": "Гронк-Бонк", + "quests.combat_tips.club.description": "Крем’яні дубини є досить нетрадиційною зброєю. Замість того щоб завдавати шкоди, вони ламатимуть кістки ворогів, зупиняючи їх на місці. \n\nІ стандартну, і посилену крем’яну дубину можна створити з примітивних матеріалів. Посилена крем’яна дубина вирізняється швидшою швидкістю атаки та більшою міцністю.", + "quests.combat_tips.mold_main.title": "Примітивна металургія", + "quests.combat_tips.wood_shield.title": "Дерев'яний щит", + "quests.combat_tips.wood_shield.subtitle": "Скелети боляче б’ють, та ще й сильно", + "quests.combat_tips.wood_shield.description": "Щит захистить тебе від більшості джерел шкоди, на які ти його спрямуєш. Але май на увазі: він &4не&r захистить від вибухів.", + "quests.combat_tips.leather.title": "Шкіряні обладунки", + "quests.combat_tips.leather.subtitle": "Нарешті одяг", + "quests.combat_tips.leather.description": "Коли ти здобудеш шкіру, зможеш отримати свою першу справжню броню. Вона не надто хороша, але забезпечить додатковий захист, який може знадобитися. \n\nВона також дає невеликий опір проти &6Ріжучих&r ушкоджень.", + "quests.combat_tips.mold_weapons.title": "Формованa зброя", + "quests.combat_tips.mold_weapons.subtitle": "Сила металу", + "quests.combat_tips.mold_weapons.description": "Форми дозволяють створювати мідні та бронзові версії всієї зброї, включно з трьома новими типами: мечами, косами та булавами. \n\nМечі: Ця збалансована зброя завдає &6Ріжучих&r ушкоджень. \n\nКоси: Вони завдають більше шкоди, ніж мечі, але є повільнішими. Вони завдають &6Ріжучих&r ушкоджень. \n\nБулави: Це найкраща зброя, що завдає &2Дробильних&r ушкоджень.", + "quests.combat_tips.mold_weapons.task1": "Будь-який Меч", + "quests.combat_tips.mold_weapons.task2": "Будь-яка Коса", + "quests.combat_tips.mold_weapons.task3": "Будь-яка Булава", + "quests.combat_tips.bow.title": "Лук і стріли", + "quests.combat_tips.bow.subtitle": "А потім я отримав стрілу в коліно...", + "quests.combat_tips.bow.description": "Хоча дротики — це круто, важко перевершити лук зі стрілами. Стріли можуть бути дорогими, тож облаштувати пташину ферму — непогана ідея. Стріли завдають &9Проникаючих&r ушкоджень. \n\nКоли ти здобудеш шкіру, зможеш створити &5Колчан&r, який дозволить легко носити до 8 стосів стріл!", + "quests.combat_tips.bow.task2": "Будь-яка стріла", + "quests.combat_tips.bronze_main.title": "Бронзова доба", + "quests.combat_tips.forged_weapons.title": "Кована зброя", + "quests.combat_tips.forged_weapons.subtitle": "До кованого заліза й далі!", + "quests.combat_tips.forged_weapons.description": "Починаючи з кованого заліза й вище, для їхнього кування тобі знадобиться відповідна ковадла. Крім того, ковадла відкриває доступ до ножів м’ясника. \n\nНожі м’ясника: Вони швидші за мечі, але завдають менше шкоди. Вони дозволяють отримувати &cподвійну&r кількість м’яса з мобів. Це не впливає на інші трофеї.", + "quests.combat_tips.forged_weapons.task": "Будь-який ніж м’ясника", + "quests.combat_tips.shield.title": "Металевий щит", + "quests.combat_tips.shield.subtitle": "Преміум-захист", + "quests.combat_tips.shield.description": "Ось це вже справжні щити. Використання одного з них захистить тебе від будь-якої шкоди, включно з вибухами. \n\nДо того ж вони бувають у купі веселих форм!", + "quests.combat_tips.shield.task": "Будь-який металевий щит", + "quests.combat_tips.armor.title": "Металевий обладунок", + "quests.combat_tips.armor.subtitle": "Лише найяскравіший обладунок", + "quests.combat_tips.armor.description": "Металева броня потребує двоетапного процесу кування, але не лякайся його складності. Вона значно підвищить твої шанси на виживання, коли вирушиш у &dПідземелля&r або якщо доведеться відбиватися від групи &3Розбійників&r. \n\nУся металева броня надає додатковий захист від &6Ріжучих&r, &9Проникаючих&r та &2Дробильних&r ушкоджень", + "quests.combat_tips.armor.task1": "Будь-який металевий шолом", + "quests.combat_tips.armor.task2": "Будь-який металевий нагрудник", + "quests.combat_tips.armor.task3": "Будь-які металеві наголінники", + "quests.combat_tips.armor.task4": "Будь-які металеві чоботи", + "quests.combat_tips.iron_main.title": "Залізна Доба", + "quests.combat_tips.crossbow.title": "Арбалет", + "quests.combat_tips.crossbow.subtitle": "Це наче ручна гармата", + "quests.combat_tips.crossbow.description": "Простіше кажучи, він працює так само, як стандартний арбалет. Подібно до лука, ти можеш використовувати &5Колчан&r, щоб зберігати до 8 стосів стріл.", + "quests.combat_tips.flintlock_mechanism.title": "Крем’яний ударний механізм", + "quests.combat_tips.flintlock_mechanism.subtitle": "Іскри за потреби!", + "quests.combat_tips.flintlock_mechanism.description": "Це твій перший &2Механізм для рушниці&r, який є основним компонентом більшості видів вогнепальної зброї. &6Кремінний механізм&r дозволяє створити твої перші дві рушниці! Першою з них є &9Кремінний пістоль&r. \n\nКоли ти здобудеш сталь, зможеш виготовити значно дешевший &6Кремінний механізм&r.", + "quests.combat_tips.flintlock_gun.title": "Кременевий Пістолет", + "quests.combat_tips.flintlock_gun.subtitle": "Хапай свинець!", + "quests.combat_tips.flintlock_gun.description": "Ось момент, на який ти чекав — це рушниця. Вона не надто добра, але ж технології мусять із чогось починатися. Вогнепальна зброя має багато переваг у порівнянні з іншими дальнобійними видами зброї. Корисно для тебе зараз те, що &3Ґлейзи&r та &2Клейзи&r не можуть блокувати кулі. \n\nЩоб дізнатися більше про роботу рушниць TACZ, переглянь рушницю на початку цього розділу завдання.", "quests.tasktype.checkmark": "Натисніть тут, щоб завершити це завдання/квест", "quests.tasktype.item.any": "Будь-який тип предмету:", "quests.tasktype.lookat": "Погляньте на:", @@ -1743,7 +1947,7 @@ "quests.create_logistics": "Логістика Create", "quests.create_logistics.subtitle": "Управління складом для чайників", "quests.create_logistics.introduction.title": "Кмітливість у дії", - "quests.create_logistics.introduction.desc": "Використовуючи кілька машин із &3Create&r, ти зможеш суттєво покращити транспортування та зберігання предметів. А згодом, коли досягнеш &2Епохи Вольтаїки&r, зможеш навіть налаштувати процеси для автоматичного замовлення певних предметів або їх маршрутизації по базі!\n\nОскільки ця гілка квестів здебільшого стосується машин із Create, найкращим джерелом інформації (окрім самих квестів) буде &5Обмірковування&r машин — обов’язково переглянь відповідні записи.", + "quests.create_logistics.introduction.desc": "Використовуючи кілька машин із &3Create&r, ти зможеш суттєво покращити транспортування та зберігання предметів. А згодом, коли досягнеш &2Епохи Вольтаїки&r, зможеш навіть налаштувати процеси для автоматичного замовлення певних предметів або їх маршрутизації по базі!\n\nОскільки ця гілка квестів здебільшого стосується машин із Create, найкращим джерелом інформації, окрім самих квестів, буде &5Обмірковування&r машин — обов’язково переглянь відповідні записи.", "quests.create_logistics.packager.title": "Пакувальник", "quests.create_logistics.packager.subtitle": "Запакуй усе", "quests.create_logistics.packager.desc.1": "Коли подається &cсигнал редстоуну&r, &3Пакувальник&r запаковує предмети з блока, до якого він прикріплений (бік підключення можна змінити за допомогою &5гайкового ключа&r), і видає акуратну картонну упаковку. Кожна така упаковка має обсяг на 9 слотів, тож це чудовий спосіб переміщувати багато предметів одночасно. Щоб створити Пакувальник, знадобиться чимало &dКованого заліза&r та &dЕлектронна трубка&r, а також купа &dКартону&r (&dПапір&r і &dКлей&r).\n\nЗверни увагу: після створення Пакувальник працює без додаткового картону, тож про обслуговування можна не турбуватись!", @@ -1757,7 +1961,7 @@ "quests.create_logistics.package_filter.desc": "Упаковки можна маршрутизувати за допомогою спеціального &3Фільтра упаковок&r, який працює так само, як і будь-який інший фільтр у машинах &3Create&r, що підтримують фільтрувальні слоти. Просто клацни Пкм, тримаючи фільтр у руці, і введи адресу, яку потрібно фільтрувати — усі упаковки з відповідною адресою призначення проходитимуть далі. Це особливо корисно для &3Латунних тунелів&r, щоб твоя стрічкова мережа могла направляти упаковки за адресою.", "quests.create_logistics.postbox.title": "Поштомати", "quests.create_logistics.postbox.subtitle": "Вам лист", - "quests.create_logistics.postbox.desc.1": "&3Поштові скриньки&r використовуються для маршрутизації упаковок через &aЗалізничні мережі&r. Спершу клацни Пкм по &3Залізничній станції&r, щоб прив’язати скриньку до неї, а потім розмісти скриньку — з цього моменту всі потяги, що зупиняються на цій станції (якщо скринька розташована в межах 4 блоків), зможуть із нею взаємодіяти.\n\nТак само, як і &3Жабопорти&r, скриньки можна називати. Потяги, що проїжджають повз, забиратимуть усі упаковки, чия адреса призначення &не збігається&r з назвою скриньки. Натомість, якщо в потязі є упаковки, адреса яких &збігається&r з назвою скриньки, вони будуть автоматично передані до її інвентаря.", + "quests.create_logistics.postbox.desc.1": "&3Поштові скриньки&r використовуються для маршрутизації упаковок через &aЗалізничні мережі&r. Спершу клацни Пкм по &3Залізничній станції&r, щоб прив’язати скриньку до неї, а потім розмісти скриньку — з цього моменту всі потяги, що зупиняються на цій станції (якщо скринька розташована в межах 4 блоків), зможуть із нею взаємодіяти.\n\nТак само, як і &3Жабопорти&r, скриньки можна називати. Потяги, що проїжджають повз, забиратимуть усі упаковки, чия адреса призначення &не збігається&r з назвою скриньки. Натомість, якщо в потязі є упаковки, адреса яких &oзбігається&r з назвою скриньки, вони будуть автоматично передані до її інвентаря.", "quests.create_logistics.postbox.desc.2": "Ще одна класна річ щодо &3Поштових скриньок&r: під час автоматичного вилучення з них (через жолоби, воронки тощо) забираються лише ті пакування, чия адреса &aзбігається з назвою скриньки&r. Усі інші залишаються всередині, щоб пізніше бути завантаженими у потяги.", "quests.create_logistics.nbt_handling.title": "Розкажи більше", "quests.create_logistics.nbt_handling.subtitle": "Інша інформація про упаковки та адреси", @@ -2058,7 +2262,7 @@ "quests.extreme_voltage.tunsgten_line_step.title": "Зациклення карбонату натрію", "quests.extreme_voltage.tunsgten_line_step.subtitle": "Можливо, ти не захочеш добувати це вічно", "quests.extreme_voltage.tunsgten_line_step.desc.1": "Ідеально зациклити &5вольфрамову лінію&r — завдання не з найлегших, тож ми використаємо цей квест, щоб спрямувати тебе в правильному напрямку.\n\nОтриману &bсіль&r слід поєднати з &aвуглекислим газом&r та &6аміаком&r, щоб утворити &3хлорид амонію&r. Його можна електролізувати, аби відновити свій &6аміак&r і отримати &9хлороводневу кислоту&r, необхідну для &eвольфрамату натрію&r.\n\nУ цьому процесі також утворюється &bгідрокарбонат натрію&r, який слід електролізувати, щоб повернути свою &dкарбонат натрію&r.", - "quests.extreme_voltage.tunsgten_line_step.desc.2": "Нарешті, щоб замкнути цикл, тобі потрібно впоратися з &aвуглекислим газом&r. Ти можеш або розділити частину своєї &dкарбонаду натрію&r та електролізувати її, щоб відновити &aвуглець&r і &9кисень&r, отримавши назад трохи &aвуглекислого газу&r, або ж піти «в лоб» і використати дистиляцію &bрідкого повітря&r, щоб отримати нескінченне джерело &aвуглекислого газу&r.", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "Нарешті, щоб замкнути цикл, потрібно керувати своїм &aВуглекислим газом&r. Ви можете електролізувати &dГідрокарбонат натрію&r та &aВуглекислий газ&r і поєднати &bВуглець&r та &bКисень&r, отримані з кальциту та літію. Або застосувати грубу силу, використовуючи дистиляцію &bРідкого повітря&r для отримання нескінченного запасу &aВуглекислого газу&r.", "quests.extreme_voltage.tunsgten_line_step_1.title": "Нова вольфрамова лінія", "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "Чому? Просто чому?", "quests.extreme_voltage.tunsgten_line_step_1.desc": "&eВольфрамова лінія&r у TerraFirmaGreg була повністю перероблена, і тобі буде приємно (або й ні) дізнатися, що тепер вона &cнабагато складніша&r.\n\nМожливо &aповністю зациклити&r кожен матеріал у вольфрамовій лінії, але для цього потрібно чимало інженерії. Або ж ти можеш піти «в лоб» і &cмасово виробляти&r потрібні ресурси.\n\nНевелика підказка: на &4Марсі&r є кілька &aхороших жил руди&r для &eкарбонату натрію&r та &eвольфраму&r.\n\nНе поспішай, оптимізуй, і вольфрамова лінія стане основою твого прогресу в середній та пізній грі.", @@ -2106,6 +2310,17 @@ "quests.extreme_voltage.large_generators.desc": "Різні одноблокові генератори підтримують лише до HV, тож далі тобі доведеться використовувати багатоблоки для виробництва більшої кількості енергії. Два з найкращих варіантів на EV — це &dВелика газова турбіна&r та &dВеликий двигун внутрішнього згоряння&r, тож переходь до розділу “Енергетика GregTech”, щоб дізнатися більше про них.", "quests.extreme_voltage.large_centrifuge.subtitle": "Карусель матеріалів", "quests.extreme_voltage.large_centrifuge.desc": "&6Великий центрифужний блок&r є обов’язковим мультиблоком для вашої лінії поділу. \n\nВін підтримує до &52x EV енергетичних люків&r, що дозволяє обробляти &1IV-рівневі&r рецепти, використовуючи той самий механізм, що й ЕБП, тож він здаватиметься вам знайомим. \n\nЦя машина може працювати у двох режимах: &bЦентрифуга&r та &6Термічна центрифуга&r. Ви можете легко перемикати їх безпосередньо в інтерфейсі контролера, але, на жаль, вона не може керуватися через AE2 чи іншу автоматизацію. \n\nЗ цим покращенням ви нарешті зможете підняти свою &aобробку руди&r на абсолютно новий рівень швидкості.", + "quests.extreme_voltage.btx.title": "BTX Паливо", + "quests.extreme_voltage.btx.subtitle": "Давно загублений кузен нітробензолу", + "quests.extreme_voltage.btx.desc.1": "&eBTX Паливо&r є покращенням порівняно з &eРеформатним газом&r, будучи приблизно у п’ять разів потужнішим на мБ. Процес набагато більш виснажливий, але він забезпечує значне підсилення роботи твоїх &6Великих газових турбін&r. Як і його попередник, це паливо повністю відновлюване й може вироблятися виключно через &aПереробку деревини&r. \n\nЩоб пояснити, як створюється &eBTX Паливо&r, ми ділимо його обробку на три частини. &bКрафт BTX Палива&r, створення &eКаталізатора&r і нарешті цикл &eРенію&r та &eПлатини&r.", + "quests.extreme_voltage.btx.desc.2": "Почнемо з &bКрафту BTX Палива&r. Тобі потрібно змішати &eРеформатний газ&r із &eКаталізатором&r та невеликою кількістю &eПропену&r. Новий шлях обробки дозволяє виробляти &eМетанол&r із &eСинґазу&r, який потім можна перегнати у потрібний Пропен. Це чудовий спосіб повторно використати синґаз, що утворюється під час виробництва &eРеформатного газу&r. \n\nКоли це буде зроблено, перегонка &eДеревного дьогтю&r у &6Дистиляційній вежі&r забезпечить усе інше, що потрібно для завершення суміші. Досить просто. У наступних завданнях ми розглянемо, як створити &eКаталізатор&r та як ефективно його переробляти.", + "quests.extreme_voltage.btx_catalyser.title": "Каталізатор Pt-Re ZSM-5", + "quests.extreme_voltage.btx_catalyser.subtitle": "Яка складна назва", + "quests.extreme_voltage.btx_catalyser.desc": "Щоб створити &ePt-Re ZSM-5 Каталізатор&r, потрібно налагодити нескінченні джерела &aЛугу&r, &aНатрію&r та &dКварцу Нижнього світу&r, а також &aАмоніаку&r і &aЕтанолу&r. &bАлюміній&r буде повністю зациклений, тоді як інші матеріали лише частково відновлюватимуться. \n\nЯкщо ти не впевнений щодо &dКварцу Нижнього світу&r, переглянь ланцюг рецептів, що починається з &eПіску&r. &aНатрій&r, своєю чергою, легко отримати з обробки &bМорської води&r, а Луг — із деревної золи. \n\nНарешті, змішай усе разом із невеликою кількістю &5Платини&r та &5Ренію&r, щоб отримати свій &eКаталізатор&r. Добра новина полягає в тому, що і Платина, і Реній повністю переробляються в цьому процесі, тож хвилюватися не варто — їх доведеться видобути лише один раз.", + "quests.extreme_voltage.btx_loop.title": "Переробка використаного каталізатора", + "quests.extreme_voltage.btx_loop.subtitle": "Повернути якомога більше", + "quests.extreme_voltage.btx_loop.desc.1": "Остання частина цього ланцюга полягає у переробці використаного каталізатора. Загальний процес досить простий, а головною проблемою буде підтримання безперервного постачання &aУсилених епоксидних смоляних пластин&r та &eКлею&r. \n\nЯкщо у тебе досі працює &2система підсочки&r, цього більш ніж достатньо, щоб виробити всю смолу, необхідну для створення клею. Альтернативно, використання &bЕкстрактора&r на колодах також є цілком життєздатним варіантом. Цей метод трохи більш &cенергоємний&r, але вибір повністю залежить від твоєї інфраструктури.", + "quests.extreme_voltage.btx_loop.desc.2": "Невелика примітка щодо &9Розбавленої хлороводневої кислоти&r: її легко отримати реакцією &bВоди&r з &aХлором&r. Ти можеш зберігати свою &dХлорнуватисту кислоту&r або провести її &7Електроліз&r, якщо хочеш повернути &fполовину Хлору&r. \n\nЩо стосується &6Сульфатної кислоти&r, то ти вже маєш доступ до &aнескінченного джерела Сірки&r через свою систему &eПетрохімічної дистиляції&r. Якщо це ще не так, ми наполегливо радимо вирішити це якомога швидше. Альтернативно, &8Кам’яновугільний дьоготь&r, отриманий під час виробництва &bРеформатного газу&r, можна перетворити назад у &2Сірководень&r і зрештою знову очистити до &6Сірки&r.", "quests.gregtech_energy": "GregTech Енергія", "quests.gregtech_energy.subtitle": "Ото як усе це працює?", "quests.gregtech_energy.start.title": "Давай щось пояснимо", @@ -2114,14 +2329,14 @@ "quests.gregtech_energy.start.subtitle": "Все не так уже й погано, як ти думаєш", "quests.gregtech_energy.moving.title": "Переміщення твоєї енергії", "quests.gregtech_energy.moving.subtitle": "Отже, передача енергії, га", - "quests.gregtech_energy.moving.desc": "Передача енергії в GregTech потребує розуміння кількох основних механік.\n\nПо-перше, &bЕнергетичні рівні&r. Від &aLV&r до &cUHV&r — усе в GregTech (дроти, машини, рецепти) прив’язане до певного рівня. Щоб передавати енергію, потрібен &eправильний матеріал кабелю&r. Наприклад:\n&8•&r Олов’яний дріт = &aLV&r\n&8•&r Мідний дріт = &bMV&r\n\nПо-друге — механіка &bСили струму&r. Уяви, що 1 Ампер (або 1A) — це &eпакет енергії&r. Машини запитують ці \"пакети\", які потім проходять по дротах.\n&8•&r 1A на LV = &a32 EU&r\n&8•&r 1A на HV = &e512 EU&r\n\nБільшість машин і енергетичних шлюзів запитують максимум &62A&r.\n\nОпановування цих двох понять є ключем до подальшого розуміння енергорозподілу.", + "quests.gregtech_energy.moving.desc": "Передача енергії в GregTech означає розуміння кількох основних механік.\n\nПо-перше, &bЕнергетичні рівні&r. Від &aLV&r до &cUHV&r, усе в GregTech — дроти, машини, рецепти — прив’язане до рівня. Вам знадобиться &eправильний матеріал кабелю&r для передачі енергії. Наприклад:\n&8•&r Олов’яний дріт = &aLV&r\n&8•&r Мідний дріт = &bMV&r\n\nПо-друге, існує механіка &bАмперажу&r. Уявіть 1 Ампер (або 1A) як &eпакет енергії&r. Машини запитують «пакети» енергії, які потім надходять по дроту.\n&8•&r 1A рівня LV = &a32 EU&r\n&8•&r 1A рівня HV = &e512 EU&r\n\nБільшість машин та енергетичних люків запитують максимум &62A&r.\n\nОпанування цих двох понять є ключем перед тим, як переходити до розподілу енергії.", "quests.gregtech_energy.moving.task": "Я розумію", "quests.gregtech_energy.transformer.title": "Супер Трансформатор", "quests.gregtech_energy.transformer.subtitle": "Краще, ніж Оптимус Прайм", - "quests.gregtech_energy.transformer.desc": "У GregTech на кожну проблему знайдеться мультиблок-рішення. Зустрічай: &dАктивний Трансформатор&r.\n\nЦей монстр — твій фінальний трансформатор. Він здатен передавати енергію між будь-якими рівнями — від &aLV&r до &cUHV&r — без жодних вибухів. Але це ще не найцікавіше.\n\nВін може передавати енергію через Лазерні труби:\n&8•&r Лазери надсилають неймовірну кількість Амперів.\n&8•&r Без втрат. Без кабелів. Лише чиста енергія.\n&8•&r Є лише одна умова: &cмає бути ідеально пряма лінія&r.\n\nКоли кабелі не справляються — &lвикористовуй лазери&r.", + "quests.gregtech_energy.transformer.desc": "Для кожної проблеми в GregTech існує мультиблокове рішення. Зустрічай &dАктивний трансформатор&r. \n\nЦей монстр — твій найкращий трансформатор. Він може перетворювати енергію між будь-якими рівнями — від &aLV&r до &cUHV&r — без урахування ампер чи плутанини з купою одноблокових трансформаторів. \n\nАле це ще не найкраща частина: він може передавати енергію через Лазерні труби. \n&8•&r Лазери передають абсурдну кількість ампер. \n&8•&r Жодних втрат. Жодних кабелів. Лише чиста енергія. \n&8•&r Є лише одна умова: &cвони мають бути розташовані ідеально по прямій&r. \n\nКоли кабелі здаються слабкими, &lвикористовуй лазери&r.", "quests.gregtech_energy.moving_wire.title": "Рухаючись з дротами", "quests.gregtech_energy.moving_wire.subtitle": "Дивно розміщується", - "quests.gregtech_energy.moving_wire.desc": "Передача енергії в GregTech — справа непроста: &bбільшість кабелів мають втрати&r. З кожним блоком, з кожним ампером, частина енергії зникає під час руху дротами. Але рішення є:\n\n&8•&r Покрий дроти гумою. Це значно зменшить втрати енергії на відстані. Просто заглянь у квестові предмети для прикладу.\n&8•&r Використовуй дроти вищого рівня. Наприклад, платинові дроти втрачають лише 1 EU на блок — практично нічого, якщо врахувати, що вони передають до 8192 EU.\n&8•&r &bНадпровідники&r. Ці красені коштують недешево, але мають &90 втрат&r. Їм не потрібні гумові обгортки, і вони не завдають шкоди. Щоправда, зазвичай їх можна створити тільки ближче до завершення свого рівня.\n\nОптимізуй передачу енергії — &bзменшуй втрати&r та зроби свою систему ефективнішою.", + "quests.gregtech_energy.moving_wire.desc": "Передача енергії в GregTech — справа непроста: &bбільшість кабелів мають втрати&r. З кожним блоком, з кожним ампером, частина енергії зникає під час руху дротами. Але рішення є:\n\n&8•&r Покрий дроти гумою. Це значно зменшить втрати енергії на відстані. Просто заглянь у квестові предмети для прикладу.\n\n&8•&r Використовуй дроти вищого рівня. Наприклад, платинові дроти втрачають лише 1 EU на блок — практично нічого, якщо врахувати, що вони передають до 8192 EU.\n\n&8•&r &bНадпровідники&r. Ці красені коштують недешево, але мають &90 втрат&r. Їм не потрібні гумові обгортки, і вони не завдають шкоди. Щоправда, зазвичай їх можна створити тільки ближче до завершення свого рівня.\n\nОптимізуй передачу енергії — &bзменшуй втрати&r та зроби свою систему ефективнішою.", "quests.gregtech_energy.moving_wire.task": "Я завершив огляд дротів", "quests.gregtech_energy.moving_amp.title": "Керування Амперами", "quests.gregtech_energy.moving_amp.subtitle": "Воно горить?", @@ -2138,6 +2353,7 @@ "quests.gregtech_energy.lv_generator.desc.2": "&e1. Парова енергія&r:\n\nЦе найкласичніший метод. Ви можете перетворити пару, вироблену вашими Котлами Високого Тиску, на EU за допомогою Парової Турбіни.\n\nВона генерує &e32 EU/t&r при &e64 mB/t&r пари. Якщо ви оберете цей шлях, ми наполегливо рекомендуємо створити Великий Бронзовий Котел, який легко можна заправити лавою, крезотом або іншими твердими паливами (перевірте JEI!).", "quests.gregtech_energy.lv_generator.desc.3": "&e2. Обертальна енергія&r:\n\nВи можете використати обертальну енергію з модифікації Create разом з Альтернатором для генерації RF, а потім перетворити її на EU за допомогою &7Перетворювача LV&r.\n\n(Перевірте завдання \"Альтернатори\" у LV для отримання додаткової інформації.)", "quests.gregtech_energy.lv_generator.desc.4": "&e3. Біодизельна енергія (TFG-ексклюзив)&r:\n\nКанола та соняшники можна переробити у великі об’єми Масла з Насіння. Об'єднайте його з TFC-Спиртом, щоб отримати Біодизель.\n\nЦей метод може здатися складнішим, але Біодизель надзвичайно потужний на рівнях &7LV&r та &bMV&r. У майбутньому він добре масштабується аж до &5EV&r завдяки &eБіодизелю з Підвищеним Цетановим Числом&r.\n\nЩоб використовувати Біодизель, вам знадобиться &7LV&r Двигун Внутрішнього Згоряння. Хоча він може бути трохи дорожчим, кожен mB Біодизелю дає велику кількість EU, що спрощує транспортування та зберігання.\n\nВибір за вами — як почати своє енергетичне виробництво.", + "quests.gregtech_energy.lv_generator.desc.5": "&e4. Енергія з синтез-газу (ексклюзив TFG)&r:\n\nЗа допомогою &6Коксової печі&r та &6Вакуумної камери&r ви можете отримати цей ранньоігровий газ. Це не найсильніший варіант, але цілком достатній, якщо ви хочете йти шляхом &eЛише газовою&r енергетики. \nДля найкращої ефективності настійно рекомендується &6Create&r ферма дерев.", "quests.gregtech_energy.lv_generator.task": "Будь-який Генератор LV", "quests.gregtech_energy.mv_generator.title": "Генератори MV", "quests.gregtech_energy.mv_generator.subtitle": "У принципі такі самі, як і LV-генератори", @@ -2178,9 +2394,35 @@ "quests.gregtech_energy.lpt_fuel.task": "Я не хочу створювати відро Плазми", "quests.gregtech_energy.lgt_fuel.title": "Газові Палива", "quests.gregtech_energy.lgt_fuel.subtitle": "Улюбленець усіх", - "quests.gregtech_energy.lgt_fuel.desc.1": "Коли ми говоримо про газове паливо, насправді маємо на увазі лише одне — &eНітробензол&r.\n\nВи зможете виробляти його після досягнення рівня &6HV&r, і ми &aнаполегливо рекомендуємо&r його, якщо плануєте використовувати Велику Газову Турбіну.\n\nДо того як ви отримаєте доступ до Нітробензолу, &eБензол&r — це чудовий варіант для старту. Його можна добути з деревної ферми або шляхом переробки Важкої Нафти, якщо вам пощастило мати її поблизу.", - "quests.gregtech_energy.lgt_fuel.desc.2": "Виробництво Нітробензолу включає кілька етапів — аж поки ви створите свій перший Великий Хімічний Реактор (ВХР), який дозволить вам пропустити багато підетапів і спростити процес.\n\nУ цьому немає нічого надто складного: поєднайте Водень, Азот і Кисень, щоб створити &eНітратну Кислоту&r у необмеженій кількості. Що ж до Сірчаної Кислоти — ви, мабуть, уже знаєте, що це просто Сірка і Вода, правда ж?\n\nЩойно цей ланцюг запрацює, Нітробензол стає одним із найпотужніших палив для газових генераторів.", + "quests.gregtech_energy.lgt_fuel.desc.1": "Усі ці види палива використовуються для &2Газових турбін&r — розташовані тут від найменш ефективних до найкращих.\n\n&bГазова турбіна&r загалом трохи дешевша за свій аналог, &bГенератор згоряння&r, але &eГазові палива&r також менш енергоємні, ніж паливо для згоряння. Це не означає, що вони гірші — лише те, що вам знадобиться більше мілібакетів (mB), щоб досягти того самого виходу. \nПізніше в прогресії їх можна використовувати всередині &2Великої газової турбіни&r — дуже потужного мультиблоку, який потребує трохи більше керування.", + "quests.gregtech_energy.lgt_fuel.desc.2": "У TerraFirmaGreg &eГазове паливо&r було суттєво перебалансовано. &6Ми не рекомендуємо покладатися на &eБензол&r або &eНітробензол&r, оскільки вони були сильно ослаблені.&r На початку &7LV&r ми радимо використовувати &eСинтез-газ&r або &eЗВГ&r, якщо ви хочете переробляти нафтові піски. Пізніше ви можете перейти на &eРеформатний газ&r на рівні &bMV&r та ще більше покращити його виробництво після розблокування &2Крекера&r.", "quests.gregtech_energy.lgt_fuel.task": "Газ у відрі?", + "quests.gregtech_energy.syngas.title": "Синтез газ", + "quests.gregtech_energy.syngas.subtitle": "Я можу отримати газове паливо на LV?", + "quests.gregtech_energy.syngas.desc": "&eСинтез газ&r — це нове газове паливо TFG. Ви можете розблокувати його дуже рано на &8ULV&r і використовувати у своїх перших &6Газових турбінах&r під час &7LV&r. Це не надто потужне паливо, але його можна перетворити на цінні побічні продукти, такі як &eМастило&r, &eМетан&r та &eВодень&r.\n\nХоча воно не є найсильнішим варіантом і може бути складним для масштабування, використовуючи лише три &6Коксові печі&r та одну &6Варильню&r або &6Вакуумну камеру&r, ви можете виробляти стабільний запас, якого має вистачити, щоб досягти &bMV&r і розблокувати значно потужніший &eРеформатний газ&r.", + "quests.gregtech_energy.reformate_gas.title": "Реформатний газ", + "quests.gregtech_energy.reformate_gas.subtitle": "Це реформат — бензол?", + "quests.gregtech_energy.reformate_gas.desc.1": "&9Реформатний газ&r — це потужне й нове газоподібне паливо, яке на рівні &bMV&r зазвичай замінює бензол.\n\nЩоб його виробити, вам потрібно збудувати &6Вежу скраплення&r і добути трохи &5Ренію&r з жил &6Таркіаніту&r, які трапляються лише в сухому та спекотному кліматі. Дві &6Піролізні печі&r — одна для виробництва крезоту, інша для деревного дьогтю — забезпечать усі необхідні матеріали для створення цього палива. Не забудьте, що пару можна отримати за допомогою &6Нагрівача рідин&r, якщо хочете спростити схему.", + "quests.gregtech_energy.reformate_gas.desc.2": "Також важливо враховувати покращений вихід на &6HV&r при використанні &6Крекера&r. Це дозволить вам повторно використовувати більшу частину свого &5Ренію&r, роблячи Реформатний газ фактично нескінченним паливом.\n\nДодавання &9Азоту&r та &9Водню&r до процесу ще більше посилить продуктивність вашого виробництва.", + "quests.gregtech_energy.btx.title": "BTX Паливо", + "quests.gregtech_energy.btx.subtitle": "Це не корейська група", + "quests.gregtech_energy.btx.desc": "Отримання &5EV Енергетичних люків&r означає, що ти нарешті можеш розпочати виробництво &eBTX Палива&r (Бензол-Толуол-Ксилол). Це паливо прослужить тобі дуже довго й залишатиметься конкурентним у &6Великій турбіні&r аж до пізньої гри. Навіть якщо спершу це виглядає як грандіозне завдання, будь певен — воно того варте. \n\nЦя виробнича лінія потребує великої кількості продуктів на основі деревини. Смола знову стає актуальною через потребу в &eКлеї&r — ти можеш або пасивно підсочувати дерева, або видобувати її безпосередньо з колод. Також потрібно переганяти &eДеревний дьоготь&r у &6Дистиляційній башті&r. Окрім цього, переконайся, що можеш виробляти нескінченні кількості &eЕтанолу&r, &eКварцу Нижнього світу&r, &eНатрію&r, &eАмоніаку&r, &eЛугу&r та &eУсилених епоксидних смоляних листів&r. \n\nЯкщо хочеш більш детальний розбір виробничого ланцюга BTX Палива, звернися до розділу &5EV&r.", + "quests.gregtech_energy.fission_rod.title": "Паливо для поділу", + "quests.gregtech_energy.fission_rod.subtitle": "Не розігрій мене занадто сильно", + "quests.gregtech_energy.fission_rod.desc.1": "Матеріали для поділу Землі ще не реалізовані, але можуть з’явитися досить скоро", + "quests.gregtech_energy.fission_rod.desc.2": "", + "quests.gregtech_energy.fission_rod.task": "", + "quests.gregtech_energy.smr.title": "Малий модульний реактор", + "quests.gregtech_energy.smr.subtitle": "Нарешті — енергія для цих далеких форпостів", + "quests.gregtech_energy.smr.desc.1": "Малий модульний реактор ще не реалізований, але може з’явитися досить скоро", + "quests.gregtech_energy.smr.desc.2": "", + "quests.gregtech_energy.smr.task": "", + "quests.gregtech_energy.gasoline.title": "Бензин", + "quests.gregtech_energy.gasoline.subtitle": "Середня дитина", + "quests.gregtech_energy.gasoline.desc": "&aБензин&r — це справді потужне паливо для згоряння, яке ви розблокуєте на &6HV&r, але на практиці починаєте виробляти лише після побудови своїх перших &6Дистиляційних веж&r. &7Толуол&r легко виготовляється з &7Деревного дьогтю&r або &7Важкого палива&r, а все інше, що вам потрібно — це &dНафтовий газ&r, &8Нафта&r та суміш з &3Кисню&r, &bВодню&r і &1Вуглецю&r.\n\nЦе потужне паливо, досить просте у виробництві, і що ще краще — його можна покращити до &cБензину з високим октановим числом&r.", + "quests.gregtech_energy.high_gasoline.title": "Бензин з високим октановим числом (HOG)", + "quests.gregtech_energy.high_gasoline.subtitle": "Надзвичайно потужний", + "quests.gregtech_energy.high_gasoline.desc": "Пряме покращення &cБензину&r — це &5паливо, вдвічі потужніше&r. Попри назву, вам потрібно додати не лише &dОктан&r, а й інші матеріали з &8Петрохімії&r. На цьому етапі ми очікуємо, що ви вже зможете орієнтуватися в &bEMI&r і розпочати виготовлення цього надзвичайно потужного палива.", "quests.gregtech_energy.lst_fuel.title": "Це Пар", "quests.gregtech_energy.lst_fuel.subtitle": "Не надто великий вибір", "quests.gregtech_energy.lst_fuel.desc": "Пара — це не складно: просто кип’ятіть воду.\n\nЩоб робити це ефективно, ми рекомендуємо використовувати &6Великі Котли&r. Існує чотири варіанти: для &8ULV&r, &bMV&r, &5EV&r та &1IV&r. Кожен рівень суттєво збільшує обсяг виробленої пари.\n\nПроте майте на увазі: масштабування &dВеликої Парової Турбіни&r з цими котлами не найкраще порівняно з іншими методами генерації енергії.\n\nБільшість гравців ігнорують Титанові та Вольфрамовосталеві Котли — вони існують, якщо ви захочете, але створювати їх не надто вигідно. Пара просто не дуже добре масштабується!\n\nНагадуємо: &e2 mB&r пари = &e1 EU&r.", @@ -2188,7 +2430,7 @@ "quests.gregtech_energy.lst_fuel.task.1": "Великі котли", "quests.gregtech_energy.lce_fuel.title": "Рідке паливо", "quests.gregtech_energy.lce_fuel.subtitle": "Улюбленець забруднювачів", - "quests.gregtech_energy.lce_fuel.desc.1": "Усі ці види пального використовуються для &6Двигунів Внутрішнього Згоряння&r — ранжовані тут від найменш ефективного до найкращого.\n\nПід час &bMV&r ми рекомендуємо почати з Дизелю або Біодизелю. Згодом ви можете перейти на Цетан-Підсилений Дизель на рівні &6HV&r, змішуючи його з Азотом, Воднем і Киснем.", + "quests.gregtech_energy.lce_fuel.desc.1": "Усі ці види палива використовуються для &6Генераторів згоряння&r — розташовані тут у порядку від найменш ефективного до найкращого.\n\nНа ранніх етапах гри рекомендуємо почати з Дизеля або Біодизеля. Згодом, на рівні &6HV&r, ви зможете перейти на Дизель із підвищеним цетановим числом, змішуючи його з Азотом, Воднем і Киснем.", "quests.gregtech_energy.lce_fuel.desc.2": "Щойно ви досягнете рівня &5EV&r і отримаєте доступ до &6Дистиляційної Вежі&r, настав час переходити на Бензин і Високооктановий Бензин. Не варто робити це надто рано — нафти слід правильно дистилювати, і робити це за допомогою звичайної Дистилерії зовсім неефективно.\n\nДля роботи цієї системи вам знадобиться поєднання дистиляції нафти та обробки органічних сполук. На щастя, Піролізна Піч і Дистиляційна Вежа справляються з цим напрочуд ефективно.\n\nЯкщо вам вдасться забезпечити стабільне постачання Високооктанового Бензину, то зможете пройти весь модпак, використовуючи лише Двигуни Внутрішнього Згоряння.", "quests.gregtech_energy.lce_fuel.task": "У мене достатньо", "quests.gregtech_energy.large_solar.subtitle": "Величезна проста енергія", @@ -2227,14 +2469,14 @@ "quests.gregtech_energy.spending_energy.title": "Витрачання Енергії", "quests.gregtech_energy.spending_energy.subtitle": "О, ти витрачатимеш енергію", "quests.gregtech_energy.spending_energy.desc.1": "Як витратити всю цю енергію?\n\nКористуйтесь своїми машинами! Звучить просто, правда?\nНу... не зовсім. Є багато дрібних деталей, які варто вивчити, щоб допомогти вам у проходженні &3TerraFirmaGreg&r.\n\nБазові машини:\n- Ці машини прості.\n- Вони можуть запитувати до &a2A&r кожна.\n- Якщо подати енергію вищого рівня... &4\uD83D\uDCA5 вони вибухають&r.\n\nGregTech-мультиблоки:\nТут починається цікаве. Мультиблоки пропонують більше гнучкості та потужності — &eякщо&r ви розумієте, як вони працюють.", - "quests.gregtech_energy.spending_energy.desc.2": "Стандартна механіка:\n- Якщо мультиблок може приймати два енергетичних люки (більшість з них), це дозволяє використовувати рецепти вищого рівня, ніж базовий рівень машини.\n\nПриклад:\nЯкщо ви використовуєте Велику Змішувальну Ємність і встановите два енергетичних люки IV, вона зможе обробляти рецепти Змішувача рівня &cLuV&r.\n\nЦе одна з ключових переваг мультиблоків над одноблоковими машинами — щоб оновити їх до наступного рівня, достатньо замінити енергетичні люки, а не всю машину.", - "quests.gregtech_energy.spending_energy.desc.3": "Деякі мультиблоки приймають лише один енергетичний люк, але це не означає, що ви обмежені 1A!\n\nВи все ще можете використовувати енергетичний люк на 4A або 16A. Це дозволить &bРозгону&r рецептів, але не змінить їх рівень.\n\nПриклад:\nВеликий Збирач Схем приймає лише один енергетичний люк. Якщо встановити енергетичний люк IV на 4A, ви зможете розігнати всі рецепти рівня IV і нижче.\n\nОднак він не може створювати рецепти рівня LuV, оскільки машина не підтримує кілька люків. Це обмеження зроблено навмисно, щоб запобігти пропуску системи прогресу GregTech.", + "quests.gregtech_energy.spending_energy.desc.2": "Стандартна механіка:\n- Якщо мультиблок може приймати два енергетичних люки (а більшість з них можуть), це дозволяє використовувати рецепти вищого рівня, ніж базовий рівень машини.\n\nПриклад:\nЯкщо ви будуєте Електричну доменну піч і встановлюєте два &7LV&r енергетичних люки, вона зможе обробляти рецепти рівня &6MV&r для ЕДП.\n\nЦе одна з ключових переваг мультиблоків над одноблочними машинами — щоб оновити їх до наступного рівня, достатньо замінити лише енергетичні люки, а не всю машину.", + "quests.gregtech_energy.spending_energy.desc.3": "Деякі мультиблоки приймають лише один енергетичний люк, але це не означає, що ви обмежені лише 1 ампером!\n\nВи все одно можете використовувати 4A або 16A енергетичний люк. Це дозволить &bрозгін&r рецептів, але не підвищить їхній рівень.\n\nПриклад:\nВеликийсхематологічний збирач дозволяє встановити лише один енергетичний люк. Якщо ви встановите 4A IV енергетичний люк, ви зможете перевиконувати всі рецепти рівня IV і нижче.\n\nОднак він не зможе обробляти рецепти рівня LuV, оскільки машина не підтримує кілька люків. Це обмеження зроблено навмисно, щоб не порушити прогресію GregTech.", "quests.gregtech_energy.spending_energy.desc.4": "Тож пам’ятайте: більше амперів на одному люку означає швидшу обробку, але для розблокування рецептів вищого рівня потрібні два люки.", "quests.gregtech_energy.spending_energy.task": "Я розумію", "quests.gregtech_energy.overclock.title": "Розгін", "quests.gregtech_energy.overclock.subtitle": "Базова механіка покращення", "quests.gregtech_energy.overclock.desc.1": "Чули про розгін, але не зовсім розумієте, що це? Давайте трохи розберемось.\n\nПочнемо з основ:\n&dLV&r — максимум 32 EU/t — іноді менше, але ніколи більше.\n&dMV&r — до 128 EU/t.\n&dHV&r — досягає 512 EU/t.\nФактично, кожен рівень — це збільшення споживання енергії в 4 рази.", - "quests.gregtech_energy.overclock.desc.2": "Що відбувається, коли ви запускаєте рецепт нижчого рівня в машині вищого рівня? Це називається &eРозгоном&r!\n\nРецепт &dMV&r (33–128 EU/t), запущений у машині &dHV&r, буде: 1) споживати в 4 рази більше енергії, і 2) працювати в 2 рази швидше.\n\nТой самий рецепт MV у машині &dEV&r? Витрати енергії зростають у 8 разів, але швидкість — лише в 4 рази.\n\nЯк бачите, ефективніше по енергії використовувати кілька машин, ніж розігнати одну.\n\nАле будьмо чесні: у більшості схем ви надасте перевагу розгону, ніж будівництву купи однакових машин.\n\nВтім, добре знати це на ранньому етапі, коли енергії обмаль.", + "quests.gregtech_energy.overclock.desc.2": "Що відбувається, коли ви запускаєте рецепт нижчого рівня в машині вищого рівня? Це називається &eРозгоном&r!\n\nРецепт &dMV&r (33–128 EU/t), виконаний у машині &dHV&r, буде: \n1) Споживати в 4x більше енергії \n2) Виконуватись у 2x швидше\n\nТой самий рецепт MV у машині &dEV&r? \n16x споживання енергії, але лише 4x прискорення.\n\nЯк бачите, з точки зору енергоефективності краще використовувати кілька машин, ніж розганяти одну. \nАле будьмо чесні: у більшості випадків вам буде зручніше розганяти, ніж будувати десятки однакових машин.\n\nПроте це варто знати ще на початку гри, коли енергії обмаль.", "quests.gregtech_energy.overclock.desc.3": "Існує особливий тип розгону, доступний лише для кількох мультиблоків: &eІдеальний Розгін&r.\nТут замість 4x енергії за 2x швидкість ви отримуєте &a4x енергії&r за &a4x швидкість&r! Це робить його таким же ефективним, як і використання кількох машин.\n\nНаразі в TerraFirmaGreg це підтримують лише такі мультиблоки:\n- Електрична Доменна Піч\n- Плавильник Сплавів\n- Ротаційна Теплова Піч\n- Великий Хімічний Реактор\n- Електрична Теплиця", "quests.gregtech_energy.overclock.task": "Тобто червоні швидші, зрозуміло", "quests.gregtech_energy.blast_oc.title": "Вибуховий Розгін", @@ -2317,7 +2559,7 @@ "quests.high_voltage.vacuum_freezer.desc": "&3Вакуумна Морозильна Камера&r — це мультиблок, який використовується для охолодження &eГарячих Зливків&r. Усі зливки, створені в ЕДП з температурою понад &d1750K&r, потребують охолодження.\n\nУ більшості випадків &3Електрична Доменна Піч&r буде вузьким місцем, тому вам не потрібно турбуватись про розгін морозильної камери.\n\nОскільки &eГарячі Зливки&r &cзавдають шкоди&r при утриманні, маршрутизація предметів буде дуже корисною.", "quests.high_voltage.mv_superconductors.title": "MV Надпровідники", "quests.high_voltage.mv_superconductors.desc": "&a4A&r передача &bMV&r енергії може виглядати привабливо, але наразі тобі, ймовірно, це не потрібно. Втім, така опція завжди доступна, якщо знадобиться.", - "quests.high_voltage.circuit_assembler.title": "HV Збирач схем", + "quests.high_voltage.circuit_assembler.title": "HV схематологічний збирач", "quests.high_voltage.circuit_assembler.subtitle": "Вам знадобиться Чиста кімната, перш ніж ви зможете створити цей предмет", "quests.high_voltage.circuit_assembler.desc": "Наступний &3Збирач схем&r. Цей рівень Збирача схем потрібен лише для одного типу схем — твого першого &aМейнфрейму&r. Можливо, ти використаєш його лише один раз, перед переходом до &5EV Збирача схем&r.\n\nМожеш відкласти його до &5EV&r або просто використати для пришвидшеного складання схем.", "quests.high_voltage.microprocessor_mainframe.title": "Мейнфрейми — це перші IV схеми!", @@ -2326,6 +2568,7 @@ "quests.high_voltage.cleanroom.subtitle": "Вони посадили мене в кімнату... в чисту кімнату", "quests.high_voltage.cleanroom.desc.1": "&3Чиста кімната&r — це порожній багатоблок без забруднень. Надалі більшість нових &aрецептів, пов’язаних зі схемами&r, а також деякі унікальні блоки, як-от &3Обшивка для термоядерного реактора&r, потрібно буде запускати в машинах всередині чистої кімнати.\n\nЇї створення стане справжнім випробуванням для твоєї автоматизації &aПоліетилену&r — адже доведеться виготовити багато &dПласкриту&r та/або &dСкла для чистої кімнати&r.\n\nМи почнемо з &a5x5x5&r чистої кімнати, але варто збільшити її розмір, щойно відчуєш тісноту.", "quests.high_voltage.cleanroom.desc.2": "&l&3Лор:&r&o Чиста кімната походить з GregTech 5, але, як це часто буває, реалізація в GT5 була значно жорсткішою. Рецепти запускались незалежно від рівня чистоти, але мали %% шанс завершення, що дорівнював чистоті кімнати. Це призводило до численних випадкових втрат предметів.\n\n&oБільше того, якщо в Чистій кімнаті виникала проблема з обслуговуванням, рівень чистоти обмежувався 90%%, що означало втрату 10%% предметів.\n\n&oУ GTCEu Чиста кімната &6ніколи не анулює&f результати рецептів.", + "quests.high_voltage.cleanroom.task": "Люк технічного обслуговування або Автоматичний люк технічного обслуговування", "quests.high_voltage.prospector.title": "HV Розвідник", "quests.high_voltage.prospector.desc.1": "Цей Розвідник має &6більший радіус дії&r, ніж його &7LV&r-версія.\n\nЯкщо ти зробиш присідання та клацнеш правою кнопкою миші з Розвідником у руці, його режим зміниться на &6Режим пошуку рідин&r. У цьому режимі буде показано базовий &dвихід&r рідинних жил, а також рівень їх заповнення.\n\nЦе буде надзвичайно корисно для пошуку &9Гелію-3&r та &9Жил у корінній породі&r на Місяці.", "quests.high_voltage.prospector.desc.2": "&9Нагадування:&r Вихід &3Рідинної бурової установки&r прямо пропорційний “заповненості” жили. Якщо вона занадто низька, вихід за замовчуванням буде визначено в конфігурації CEu.\n\n&9Порада:&r Коли заповненість падає нижче 30%% (груба оцінка), варто розглянути можливість переходу до іншої жили задля ефективності витрат енергії. Можливо, тобі буде цікаво перейти на &3Вдосконалену рідинну бурову установку&r на рівні &5EV&r — вона не лише значно підвищує вихід, але й зменшує швидкість виснаження жили!\n\n&cУвага:&r Через баг відображення в Розвіднику може бути зміщене на один чанк, тому уникай розміщення установки в кутах рідинної жили — інакше можеш почати качати не ту рідину!", @@ -2336,7 +2579,8 @@ "quests.high_voltage.ptfe.subtitle": "Відомий також як — Тефлон", "quests.high_voltage.ptfe.desc": "&aПолітетрафторетилен (PTFE)&r — це &7вуглецево&r-&bфторний&r полімер. Подібно до ПВХ, PTFE можна використовувати для підвищення виходу &aПластикових плат&r та інших виробів. Наразі він застосовується для створення стінок &3Великого хімічного реактора&r.\n\n&3Хлор&r потрібен у цьому процесі, але його можна повністю переробити шляхом електролізу &aвідходів хлороводневої кислоти&r.\n\n&bФтор&r також буде використовуватись у процесах очищення &aУрану&r та &7Наквада&r.\n\n&9Порада:&r Відтепер варто затверджувати полімери у &dФормі&r (Злитків), адже їх легко формувати у потрібні деталі за допомогою &3Екструдера&r.", "quests.high_voltage.nitrobenzene.title": "Нітробензол", - "quests.high_voltage.nitrobenzene.desc": "Виробництво &aНітробензолу&r приблизно &6вчетверо&r підвищить енергоефективність &aБензолу&r. Це не може не тішити.\n\nЄ нюанс — потрібна &dДистильована вода&r і на кожному етапі витрачається трохи &dСірки&r.", + "quests.high_voltage.nitrobenzene.subtitle": "Тінь самого себе", + "quests.high_voltage.nitrobenzene.desc": "У TerraFirmaGreg &aНітробензол&r і &aБензол&r були суттєво ослаблені. Вони все ще можуть використовуватись як паливо, але тепер їх основне призначення — як інгредієнти в рецептах.\n\nЗверніть увагу, що створення Нітробензолу на кожному етапі споживає трохи &dСірки&r.", "quests.high_voltage.lcr.title": "Великий хімічний реактор", "quests.high_voltage.lcr.desc.1": "&3Великий Хімічний Реактор (ВХР)&r — це багатоблоковий &3Хімічний Реактор&r з більшою кількістю слотів введення/виведення. Його тефлонові оболонки дозволяють обробляти додаткові рецепти.\n\n&3ВХР&r здатен виконувати деякі ексклюзивні реакції, які дозволяють об'єднувати кілька стандартних етапів &3Хімічного Реактора&r в &6один етап&r. Приклади нижче:\n\n&9-&r &aДіоксид Нітрогену&r (для Азотної кислоти та Тетроксиду динітрогену) \n&9-&r &aСірчана кислота&r \n&9-&r &aФенол&r \n&9-&r &aЕпіхлоргідрин&r (потрібен для Епоксиду!) \n&9-&r &aЕпоксид&r", "quests.high_voltage.lcr.desc.2": "Існують також ексклюзивні рецепти для &3ВХР&r. Наприклад, &dРадон&r наразі можна створити лише в ВХР.\n\nУсі &dРозгони&r в &3ВХР&r мають &6100%% ефективність&r (так звані \"Ідеальні розгони\"); кожен розгін &5вчетверо&r пришвидшує обробку, на відміну від звичайного подвоєння.\n\n&3ВХР&r має ще одну &6перевагу&r: можна використати &32 Енергетичні люки&r, щоб запускати рецепти &5на наступному рівні&r, подібно до &3Електричної доменної печі&r.", @@ -2466,12 +2710,14 @@ "quests.high_voltage.final_dust.title": "Нескінченні Пили", "quests.high_voltage.final_dust.subtitle": "Нарешті нескінченні ресурси", "quests.high_voltage.final_dust.desc": "Це всі &cнескінченні ресурси&r, які ти можеш отримати на &7Місяці&r до відкриття більш вдосконалої обробки, доступної на &eВенері&r.\n\nЗ ними в тебе буде все необхідне, щоб продовжувати прогрес у &dGregTech&r — особливо для забезпечення &aобслуговування&r своєї Місячної Бази.\n\nЦі ресурси необхідні для:\n• Створення &dкомпонентів AE2&r\n• Виробництва &cнескінченного&r запасу &6Боєприпасів для Рельсотрона&r\n\nПасивна автоматизація тепер у твоїх руках — зроби крок і втіль це в життя!", + "quests.high_voltage.titanium_greate.title": "Титановий рівень Greate", + "quests.high_voltage.titanium_greate.desc": "Це фінальний рівень Greate, доступний у TerraFirmaGreg. Єдине «екстремальне», що він робить — це те, що він надзвичайно необов’язковий.", "quests.low_voltage": "&7LV&r – Низька напруга", "quests.low_voltage.subtitle": "Приборкай електрику та розпочни свою подорож у GregTech", "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 та початку електричної ери! \nЯкщо ти ще не створив &4Червону сталь&r, тепер доведеться це зробити, але натомість ти отримаєш &6нові способи&r покращити своє виробництво. \n\nЦе філософія GregTech: &6чим далі ти просуваєшся, тим кращими стають нові рецепти&r. \n\nСпробуй зробити щонайменше 3 або 4 корпуси для початку.", - "quests.low_voltage.lv_machine_hull.desc.2": "Для деяких гравців перехід на новий рівень означає створення першої &6схеми&r, для інших — &6корпусу машини&r або &6енергетичного люка&r. Ти можеш використовувати те, що найкраще підходить тобі, але для зручності ці завдання будуть орієнтуватися на корпус машини.", + "quests.low_voltage.lv_machine_hull.desc.2": "Для деяких гравців перехід на новий рівень асоціюється зі створенням першої &6мікросхеми&r, для інших — з &6корпусом машини&r або &6енергетичним люком&r. Ви можете обрати будь-який орієнтир, який вам зручний, але для впорядкування ці квести будуть орієнтуватися на корпус машини.\n\nНе знаєте, з чого почати? Ми радимо шукати машини, які здешевлять усе інше — почніть із того, що найбільше дратує.", "quests.low_voltage.lv_machine_casing.title": "Корпус машини LV для Create?", "quests.low_voltage.lv_machine_casing.subtitle": "Більше можливостей!", "quests.low_voltage.lv_machine_casing.desc": "Щоб зробити перехід на LV менш складним, &5TFG&r дає тобі можливість використовувати машини &6Create&r замість деяких машин &6GregTech&r. \n\nМи представили їх &6у минулому розділі&r, але просто знай: якщо існує альтернатива машині GregTech, ти матимеш вибір у межах завдання.", @@ -2482,7 +2728,7 @@ "quests.low_voltage.lv_age_progression.subtitle": "Забагато варіантів, занадто мало часу!", "quests.low_voltage.lv_age_progression.desc": "&7LV&r вимагатиме від тебе створення багатьох різних машин! Ось дружня порада, якщо тобі важко визначити цілі: вибери предмет у пізнішому квесті та рухайся назад від нього. \n\nЗважаючи на це... чому б не почати з &5Контролера термоядерного синтезу&r? Хоча, можливо, це трохи надто амбітно—давай перевіримо ближчу ціль. Ага, &3Електрична випалювальна піч&r—це головна кінцева мета &7LV&r, і вона чудово підходить як орієнтир. \n\nЕДП &aдорога&r, тому спочатку слід зосередитися на машинах для здешевлення компонентів і матеріалів. Наші квести намагатимуться спрямувати тебе у правильному напрямку. \n\nІнші важливі цілі—створення &3LV Асемблера&r, виробництво твоїх перших &aMV схем&r та отримання першого &bАсемблера схем&r.", "quests.low_voltage.lv_age_progression.task": "Я... здається, починаю розуміти, куди рухатися", - "quests.low_voltage.lv_steam_turbine.title": "Генерація електроенергії", + "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. \n&2Пізніше ви відкриєте цікавіші варіанти генерації енергії&r, такі як природні гази чи нафтопродукти. \n\nПри подачі Пари турбіна виробляє EU у співвідношенні &d2 мВ = 1 EU&r.", "quests.low_voltage.lv_steam_turbine.desc.2": "Якщо ти використовуєш одну &3Парову Турбіну&r, тобі потрібен лише &a1x Олов’яний Кабель&r. З іншого боку, якщо ти переходиш на &32 Парові Турбіни&r, тобі слід використовувати &a2x Олов’яні Кабелі&r — інакше вони можуть &cзгоріти&r. \n\nЦе відбувається через механіку &9Амперажу&r... але це буде пояснено пізніше, щоб ти міг насолоджуватися грою. Не хвилюйся!", @@ -2497,7 +2743,7 @@ "quests.low_voltage.link_chapter.title": "Поясніть мені енергію", "quests.low_voltage.link_chapter.subtitle": "Є цілий розділ, присвячений енергії", "quests.low_voltage.link_chapter.desc": "Переглянь розділ, натиснувши тут", - "quests.low_voltage.link_chapter.task": "Прочитай", + "quests.low_voltage.link_chapter.task": "Я це прочитав(ла)", "quests.low_voltage.lv_combuston_gen.title": "Генератор згоряння", "quests.low_voltage.lv_combuston_gen.subtitle": "Він вибухає і виробляє енергію", "quests.low_voltage.lv_combuston_gen.desc": "&7Генератор згоряння LV&r може бути трохи дорожчим у виготовленні порівняно з іншими генераторами, але його паливо містить багато енергії. Це полегшує транспортування, а якщо потрібно живити генератор далеко від бази, бочка, заповнений &2Біодизелем&r, зможе перенести велику кількість EU.\n\nЯк і інші &7Генератори LV&r, він виробляє &a32 EU/t&r.", @@ -2511,6 +2757,15 @@ "quests.low_voltage.lv_seeds.subtitle": "Це високі рослини", "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.desc": "Завдяки &7Синтез газу&r у вас тепер є реальна можливість використовувати &8Газову турбіну&r на рівні &7LV&r. Вона працює так само, як і інші &6генератори&r, але має бути трохи дешевшою за &6Генератор згоряння&r.", + "quests.low_voltage.lv_gas_syngas.title": "Синтез газ", + "quests.low_voltage.lv_gas_syngas.subtitle": "Не деревний газ", + "quests.low_voltage.lv_gas_syngas.desc": "Виробляти &7Синтез газ&r дуже просто. Вам потрібно лише &b3 Коксувальні печі&r на кожну &6Варильню&r або &6Вакуумну камеру&r. Потім збираєте &7деревину&r за допомогою &bФерми дерев Create&r, щоб мінімізувати витрати енергії — і можете насолоджуватись цим слабким, але легким у виробництві &7газового палива&r.", + "quests.low_voltage.lv_naphtha_light.title": "Нафта і Легке паливо", + "quests.low_voltage.lv_naphtha_light.subtitle": "З них можна виготовляти пластик", + "quests.low_voltage.lv_naphtha_light.desc": "Якщо ви справді ненавидите фермерство й надаєте перевагу пригодам у &6пустелі&r або видобутку величезних обсягів &7Нафтового піску&r, тоді, можливо, варто звернути увагу на &7Нафту&r (краще з &7Сирої нафти&r) або &7Легке паливо&r (краще з &7Нафти&r).\n\nВони досить хороші, враховуючи простоту виробництва, але на цьому етапі їх доведеться збирати вручну.", "quests.low_voltage.lv_turbo_charge.title": "Швидка зарядка", "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 Ампер на кожен предмет, який заряджає, що робить його &6вдвічі швидшим&r за &3Буфер батарей&r. Однак він не може розряджати. \n\n&eБудь-який&r Зарядний пристрій завершить цей квест.", @@ -2544,9 +2799,9 @@ "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 рідини.", + "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.2": "Універсальні Капсули вміщують до &dодного відра&r, але також можуть зберігати &9частки&r Відер. Вони особливо ідеальні, якщо ти хочеш зберегти залишкову рідину без потреби створювати цілу Бочку. \n\nКапсули, зроблені з матеріалів вищого рівня, можуть вміщувати ще більше рідини, але &9Бочки&r і &9Супер Резервуар&r матимуть більший об'єм. \n\nЯк і Бочки, Капсули можна помістити в сітку створення, щоб очистити їхній вміст.", - "quests.low_voltage.universal_cell.task": "", + "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 через свою вихідну грань. Щоб увімкнути автовивантаження, натисніть відповідну кнопку в GUI. \nАвтовивантаження рідин та предметів перемикаються окремо. \nДодатковий контроль над автовивантаженням можна отримати за допомогою &dФільтрів&r та &dНакладок&r, які пояснюються у завданні &dПоведінка накладок&r у цьому розділі.", @@ -2617,7 +2872,7 @@ "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.", + "quests.low_voltage.lv_mixer.desc": "Використання міксера &6значно пришвидшить&r процес виготовлення кольорової сталі, особливо &4червоної сталі&r для корпусів машин. Навіть якщо зараз вам здається, що він не потрібен — згодом він стане &6незамінним&r.\n\nВи звикли сплавляти матеріали в тиглі, але для всіх нових (а також старих) сплавів у GregTech правильний підхід — це &aзмішувати пил&r, а потім нагрівати його до злитків або витягувати у вигляді рідини. Не звертайте уваги на Alloy Blast Smelter у JEI — він з’явиться лише на рівні &5EV&r.", "quests.low_voltage.lv_mixer.task": "Від Create або GregTech", "quests.low_voltage.soldering_alloy.title": "Паяльний сплав", "quests.low_voltage.soldering_alloy.subtitle": "У мене є душа, але я не паяльник", @@ -2635,7 +2890,7 @@ "quests.low_voltage.t2_circuit_board.desc.2": "&l&3Лор:&r&o У GTCEu 1.12.2 ці друковані плати називалися &2Good Circuit Boards&f. Не зовсім відповідна назва, адже їх &4доволі складно&r створювати.", "quests.low_voltage.lv_diode.title": "Діод", "quests.low_voltage.lv_diode.subtitle": "Не піддавайся впливу EMI!", - "quests.low_voltage.lv_diode.desc": "Не дай JEI себе обдурити... зараз є лише один можливий рецепт для цього Примітивного Діода — той, що використовує рідке скло. \n\nДіоди мають &4неприємний рецепт&r, але вони стануть дешевшими та зручнішими, як тільки ти зможеш отримати &eПоліетилен&r. \n\nЦе необхідно для &dMV Схем&r.", + "quests.low_voltage.lv_diode.desc": "Не дайте JEI вас обдурити... наразі існує лише два можливих рецепти для цього Примітивного діода — ті, що з рідким склом.\n\nДіоди відомі своїм &4жахливим рецептом&r, але з часом вони стануть дешевшими й зручнішими, щойно ви отримаєте &eПоліетилен&r.\n\nЦе необхідно для &dMV Мікросхем&r.", "quests.low_voltage.1_mv_circuit.title": "Перший MV Контур!", "quests.low_voltage.1_mv_circuit.subtitle": "Це означає, що ми вже на рівні MV?", "quests.low_voltage.1_mv_circuit.desc": "Ну що... вже маєш Алюмінієві Злитки? \n\nКожна Електрична Епоха має Схеми, що відповідають її рівню. Гарна Електронна Схема — це &dперша MV Схема&r, яку ти можеш створити з трьох рівнів &bMV&r Схемотехніки. \n\nЗавжди шукай дешевші способи створення схем — нові набори рецептів стають доступними щоразу, коли ти створюєш новий рівень &2Збирача Схем&r. Зручно, що цей рівень Схем відкриває один прямо зараз! Його рецепти набагато дешевші, ніж у Деплойерів. \n\n&6Маючи це та Алюміній, ти отримаєш доступ до MV Машин.&r \n\nЯкщо тобі складно розібратися у хаосі схем GregTech, переглянь розділ &6Таблиця Прогресу&r.", @@ -2677,7 +2932,7 @@ "quests.low_voltage.lv_nitrogen.task": "Азот", "quests.low_voltage.lv_arc_furnace.title": "Дуговa Піч", "quests.low_voltage.lv_arc_furnace.subtitle": "Дугова піч ще ніколи не була такою гарною", - "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дугова піч&r використовує трохи &9кисню&r для виплавки предметів іншим способом, ніж звичайні печі. \n\nТи можеш використовувати її для простішого виробництва &aкованого заліза&r, подвоєння &aскла&r та отримання &aвідпаленого міді&r для дешевших електронних компонентів.\n\nВона також може переробляти різні компоненти та машини назад у їхні вихідні матеріали.", + "quests.low_voltage.lv_arc_furnace.desc.1": "&3Дугова піч&r використовує трохи &9Кисню&r, щоб переплавляти предмети іншим способом, ніж звичайні печі. \n\nВи можете застосовувати його для простішого отримання &aКованого заліза&r, подвоєння &aСкла&r та доступу до &aВідпаленого міді&r для дешевших електронних компонентів. \n\nВін також може переробляти різні компоненти та машини назад у їхні вихідні матеріали.", "quests.low_voltage.lv_arc_furnace.desc.2": "&l&3Лор:&r&o У попередніх версіях GregTech були і Дугова піч, і &bПлазмова дугова піч&f. У такому разі, чому б не використовувати одну машину для обох? \nНу, саме так ми і думали — але врешті-решт вирішили прибрати один із двох &bплазмових&f рецептів. А потім і другий &bплазмовий&f рецепт. \n\n&oКоротко кажучи, &bПлазмова дугова піч&f &4зникла&f. RIP.", "quests.low_voltage.lv_extractor.title": "Основи рідинної екстракції", "quests.low_voltage.lv_extractor.subtitle": "Екстрактор екстрагує...", @@ -2696,10 +2951,10 @@ "quests.low_voltage.mold_rotor.desc": "Використовуй обидві нові машини, щоб перетворити матеріал у рідину, а потім затвердити його назад у Ротор! Це поєднання значно спрощує створення Роторів — &6чотири Злитки на один Ротор&r. \n\nТи можеш зробити те саме для &6Шестерень&r та &6Малих Шестерень&r, які згодом будуть замінені, коли ти створиш &3MV Екструдер&r. \n\n&9Примітка:&r Деякі метали потребують вищої напруги, ніж &7LV&r, для Екстракції Рідини, тому слідкуй за рівнем рецепту в EMI.", "quests.low_voltage.mold_plate.title": "Ливарна форма та Гумові Листи", "quests.low_voltage.mold_plate.subtitle": "Ще дешевша гума", - "quests.low_voltage.mold_plate.desc": "Припини марнувати час із &6сплавною плавильною піччю&r. Тобі знадобиться багато &6гумових листів&r, а пізніше ти також використовуватимеш їх для інших видів пластмас. \n\nМожливо, ти думаєш, що можна використовувати екструдер для створення гумових листів, але &6твердотільний рідинний формувач&r може набагато більше, \nтоді як екструдер майже не має сенсу до &bMV&r.", + "quests.low_voltage.mold_plate.desc": "Припини марнувати час із &6Плавильною сплавів&r. Тобі знадобиться багато &6гумових листів&r, а пізніше ти також використовуватимеш їх для інших видів пластмас. \n\nМожливо, ти думаєш, що можна використовувати екструдер для створення гумових листів, але &6твердотільний рідинний формувач&r може набагато більше, \nтоді як екструдер майже не має сенсу до &bMV&r.", "quests.low_voltage.cupronickel_ingot.title": "Злитки мідно-нікелевого сплаву", "quests.low_voltage.cupronickel_ingot.subtitle": "Це сплав", - "quests.low_voltage.cupronickel_ingot.desc": "&7Велика частина прогресу в GregTech обертається навколо отримання нових матеріалів,\nякі ти використовуватимеш для покращення своїх машин або розблокування вдосконалених компонентів.&r\n\nПершим сплавом, з яким ти зіткнешся, буде &bМідно-нікелевий&r — початок довгої подорожі.\nЦей матеріал використовується для покращення твоєї &6Електричної Доменної Печі&r — важливого кроку в індустріальному розвитку.\n\nНа щастя, цей перший етап досить простий: базова &7Плавильня Сплавів LV&r впорається із завданням.\nТож навіть якщо рецепт вимагає &b128 Мідно-нікелевого&r — не хвилюйся, це простіше, ніж здається!&r\n\nЗгодом їхні аналоги стануть набагато складнішими, тож насолоджуйся простотою, поки вона триває!", + "quests.low_voltage.cupronickel_ingot.desc": "Велика частина прогресу в GregTech пов’язана з отриманням нових матеріалів, які ви будете використовувати для модернізації своїх машин або відкриття вдосконалених компонентів. \n\nОдним із таких матеріалів, з яким ви зіткнетеся, є &bМельхіор&r — початок довгої подорожі. \nЦей матеріал використовується для створення вашої першої &6Електричної доменної печі&r, що є важливим кроком у вашому промисловому розвитку. \n\nНа щастя, цей перший крок доволі простий: плавильник сплавів впорається із завданням. \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Мідно-нікелеві котушки дозволять ЕДП виконувати рецепти до &d1 800K&r (без урахування бонусів напруги). Це досить гаряче, якщо нас запитати.\n\n&6Підручник про котушки в вкладці &lЕнергія GregTech&r&6 — зазирни, щоб дізнатися більше!&r", @@ -2728,6 +2983,15 @@ "quests.low_voltage.mv_hull.subtitle": "Це йде досить добре, залишилося лише 7!", "quests.low_voltage.mv_hull.desc1": "Молодець, тепер у тебе є &bMV корпус машини&r, твоя перша &bMV схема&r і твій перший &6Збирач схем&r. \n\nЦе суть &6GregTech&r: на кожному рівні ти створюватимеш нові &6машини&r, використовуючи нові &6матеріали&r та &6хімікати&r. Ти отримаєш &5стільки задоволення&r, що ми навіть трохи заздримо!", "quests.low_voltage.mv_hull.desc2": "Перш ніж заглиблюватися в &bMV&r, пам’ятай, що в &6TFG&r ти можеш використовувати &6Create&r \nдля зміцнення своєї інфраструктури, якщо не хочеш надто покладатися на GregTech. Алюмінієві вали та зубчасті колеса мають у 4 рази більшу міцність на навантаження, ніж сталеві, тож ти зможеш запускати всі свої машини набагато швидше!", + "quests.low_voltage.aluminium_greate.title": "Алюмінієвий рівень Greate", + "quests.low_voltage.aluminium_greate.subtitle": "Також відомий як Середній Стрес", + "quests.low_voltage.aluminium_greate.desc": "Минуло чимало часу від вашого останнього оновлення, але тепер у вас є доступ до наступного рівня Greate шестерень та валів. Як і раніше, алюмінієві мають &bу чотири рази&r більшу міцність на навантаження, ніж сталеві. \n\nПродовження роботи з Greate після цього моменту є дуже необов’язковим, і ми радимо перейти до GregTech, але оновлення може допомогти вам «розспагетизувати» деякі старі схеми, якщо ви хочете й надалі їх використовувати. \n\nВи можете ще більше масштабувати навантаження за допомогою &eПарового двигуна&r або конвертувати EU у SU через &9Create Additions&r &eЕлектродвигун&r.", + "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.glowstone.title": "Постійне освітлення", + "quests.low_voltage.glowstone.subtitle": "Обхідний спосіб винайдення лампочок", + "quests.low_voltage.glowstone.desc": "Шукаєте дешеві, постійні джерела світла? Тепер, коли у вас є LV Екстрактор (а незабаром і LV Затверджувач рідин), ви можете нарешті використати весь той &6Сяючий пил&r, який знайшли в Безодні. Закінчився? Його можна зробити в Міксері.\n\nЗазирніть у JEI, щоб побачити всі нові джерела світла, які можна створити з рідкого сяючого каменю або блоків сяючого каменю. У GregTech також є варіанти, які виготовляються з сяючого пилу в збирачі.\n\nБонус: рідкий сяючий камінь можна використовувати як нескінченне паливо для ламп!", "quests.medium_voltage": "&bMV&r - Середня Напруга", "quests.medium_voltage.subtitle": "Занурення в нафтохімію та вдосконалення електроніки", "quests.medium_voltage.mv_machine_hull.title": "Ласкаво просимо до MV!", @@ -2739,7 +3003,7 @@ "quests.medium_voltage.mv_miner.title": "Автоматичне Видобування", "quests.medium_voltage.mv_miner.subtitle": "Так що вам набридло добувати самому?", "quests.medium_voltage.mv_miner.desc.1": "Ця добра душа&r буде добувати руди для тебе, якщо її розмістити над жилою. \n\nВертикальний діапазон необмежений під майнером. Горизонтальний діапазон відображається у підказці. \n\nВаріант &bMV&r може не мати достатнього діапазону для видобутку всієї жили, але варіант &6HV&r має, тому можливо варто зачекати. Отримай &eбудь-який&r, щоб завершити це завдання.", - "quests.medium_voltage.mv_miner.desc.2": "Тобі знадобиться &9Енергія&r. &aЗаряджені Батареї&r можуть працювати, але вони мають властивість швидко розряджатися, що трохи незручно. \n\nНайкраща рекомендація — використовувати заповнену &3Бочку&r з якимось паливом &7(якщо ти використовуєш Пар, це не спрацює!)&r та &3Генератор&r. \n\nРозмісти Бочку над Генератором і клацни по ньому &5Киянкою&r, щоб автоматично передавати паливо в Генератор.", + "quests.medium_voltage.mv_miner.desc.2": "Вам знадобиться &9Енергія&r. &aЗаряджені батареї&r можуть працювати, але вони мають властивість швидко розряджатися, що трохи незручно. \n\nНаша головна порада — використати заповнену &3Бочку&r із якимось паливом &7(якщо ви використовуєте пару — не спрацює!)&r та &3Генератор&r. \n\nРозмістіть бочку над генератором і клацніть по ньому правою кнопкою миші за допомогою &5Киянки&r або &5Викрутки&r, щоб автоматично передати паливо в генератор.", "quests.medium_voltage.mv_miner.desc.3": "&cПримітка:&r Не забудьте &dзавантажити чанки&r усіх 9 чанків руднох покладів &7(відкрийте карту, виділіть чанки за допомогою ctrl + лівий клік та увімкніть примусове завантаження після їх захоплення)&r. \n\n&9Порада:&r Ви можете використати &3ME скриню&r, &3Рюкзак&r або &3GT ящик&r як вихідний інвентар, щоб спростити транспортування руди додому. До речі, &3ME скриню&r можна живити безпосередньо від EU.", "quests.medium_voltage.mv_miner.task": "Будь-який бур", "quests.medium_voltage.mv_component.title": "Компоненти MV", @@ -2787,7 +3051,7 @@ "quests.medium_voltage.mv_fluid_rig.desc.1": "Володіння &3Рідинною Буровою Установкою&r — це значна інвестиція, але вона є &oбезпречно&r найважливішим &6джерелом Нафти&r. \n\nВона качає рідини з-під самої Еорінної породи. Зверни увагу, що рідини там насправді немає — вони лише імітуються. \n\nРідинні жили зберігаються у &cрегіонах розміром з чанки&r. Кожна жила містить різну рідину, але здебільшого це різні типи Нафти. \n\nТи поки що не можеш проводити розвідку рідинних жил &oпокищо&r — це стане доступним на рівні &6HV&r.", "quests.medium_voltage.mv_fluid_rig.desc.2": "Кожна жила генерується з різною базовою продуктивністю. Зазвичай це від &d150L&r до &d300L за секунду&r. \n\nПри виснаженні рідинні жили поступово вичерпуються. Це призводить до зменшення продуктивності рідини з часом, поки вона не досягне рівня виснаження. У цей момент тобі слід перемістити Установку до іншої жили. \n\n&3Базова Рідинна Бурова Установка&r працюватиме 100 000 операцій (по 1 секунді на операцію) до виснаження. Це достатньо для &6більш ніж 10 000&r відер Нафти. Установки вищого рівня значно збільшують продуктивність, одночасно зменшуючи швидкість виснаження.", "quests.medium_voltage.mv_fluid_rig.desc.3": "&lЩо можна знайти в &2Основному світі&r&l:&r\n\n&9Нафта:&r багатша на &aЛегке паливо&r — найцінніший варіант. \n&9Легка нафта:&r багатша на &aРафінерійний газ&r, придатний для виробництва енергії. \n&9Важка нафта:&r багатша на &aВажке паливо&r, яке має більш вузьке застосування, зокрема для отримання толуолу. \n&9Сира нафта:&r багатша на &aНафту&r, найкраще джерело нафтопродуктів на ранніх етапах гри. \n&9Природний газ:&r дає &aРафінерійний газ&r без потреби в перегонці. \n&9Морська вода:&r дає &aНатрій&r та &aХлор&r, корисні на пізніших етапах.", - "quests.medium_voltage.mv_fluid_rig.desc.4": "&lЩо ти можеш знайти в &cНезері&r&l:&r \n\n&9Природний Газ:&r дає &aРафінований Газ&r, але з вищим виходом, ніж у жилах Верхнього світу. \n&9Лава:&r сподіваюся, ти знаєш, що це таке. \n\nНа початку тобі, можливо, доведеться пробувати випадкові місця, поки не знайдеш щось корисне. Пам’ятай, що все, що ти качаєш, також можна використовувати для дозаправки твоєї Рідинної Установки.", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&lЩо можна знайти в &cБезодні&r&l:&r\n\n&9Природний газ:&r дає &aРафінерійний газ&r, але з вищим виходом, ніж жила в Overworld. \n&9Лава:&r сподіваємось, ви знаєте, що це таке.\n\nНа початку, можливо, доведеться бурити навмання, поки не знайдете щось корисне. Пам’ятайте: усе, що ви перекачуєте, також можна використати для заправки вашої Рідинної установки.", "quests.medium_voltage.mv_oilsands.title": "Симулятор Америки", "quests.medium_voltage.mv_oilsands.subtitle": "Цей квест був спонсорований Збройними Силами США", "quests.medium_voltage.mv_oilsands.desc": "Під землею ти можеш натрапити на чисті рудні жили нафтових пісків. Ти можеш &3центрифугувати&r пил, щоб отримати &aНафту&r. \n\n&9&lПримітка:&r&l Нафтовий шлях — один із варіантів отримання &9&lЕтилену&r&l. Інші шляхи включають використання Етанолу.&r \n\nНафта поки що є &dнеобов’язковою&r. Вона стане обов’язковою набагато пізніше, коли ти досягнеш рівня &5EV&r. \n\nНафта також може бути очищена у формі &aЛегкого Палива&r, &aДизеля&r або навіть &aБензину&r, які є чудовими варіантами для енергії. \n\nЯкщо ти обрав цей шлях, тобі варто використовувати його як для Енергії, так і для Етилену. \n\nНафтові піски — це &6відмінна стартова точка&r, яка допоможе тобі до моменту розблокування Рідинних Бурових Установок.", @@ -2811,9 +3075,13 @@ "quests.medium_voltage.mv_distillery.desc.3": "Це не означає, що &3Дистилярня&r гірша з двох. Вона відкривається раніше, і вона &dменша&r, &dдешевша&r та &dенергоефективніша&r на рецепт. \n\nЧесно кажучи, у багатьох випадках ти навіть не звернеш увагу на втрату інших рідин. \n\n&3Дистилярні&r — це ключовий компонент для генерації енергії, незалежно від того, чи обереш &aДизель&r або &aБензол&r. \n\nТобі, ймовірно, знадобиться багато таких установок на якомога нижчому рівні, щоб уникнути втрат енергії через Перевищення Тактової Частоти.", "quests.medium_voltage.mv_distillery.task": "Або LV, або MV Дистилярня", "quests.medium_voltage.mv_benzene.title": "Царство Бензолу", - "quests.medium_voltage.mv_benzene.subtitle": "Зрештою, це завжди Бензол", + "quests.medium_voltage.mv_benzene.subtitle": "Зрештою, це &lзавжди був&r Бензол", "quests.medium_voltage.mv_benzene.desc.1": "&aБензол&r — це &9Газове Паливо&r. Щоб уникнути зайвих труднощів, давай розглянемо два найкращі способи його отримання. \n\nПерший варіант зазвичай &dзаснований на деревині&r. Поклади колоди в &3Піролізну Піч&r, щоб отримати &9Деревний Дьоготь&r. Отримане Вугілля можна обробити в &3Екстракторах&r для ще більшої кількості &9Деревного Дьогтю&r, який потім &3дистилюється&r у &aБензол&r. \n\nДругий варіант &dзаснований на Важкій Нафті&r. Поклади Важку Нафту в &3Дистилярню&r, щоб отримати &9Важке Паливо&r, яке потім &aінтенсивно паро-крекінгується&r і &3дистилюється&r знову для отримання &aБензолу&r.", - "quests.medium_voltage.mv_benzene.desc.2": "Щоб отримати інформацію про обробку Нафти, переглянь квести про Легке Паливо та Нафту. \n\nЗагалом, краще пріоритизувати розміщення більшої кількості машин (&dпаралелізація&r), ніж розгін рецептів. Таким чином ти втратиш менше енергії під час обробки ресурсів. \n\n&aБензол&r спалюється в &3Газовій Турбіні&r. Це джерело енергії спочатку слабше, ніж його &eДизельний&r аналог, але отримує значний приріст при очищенні до &6Нітробензолу&r на рівні &6HV&r. Врешті-решт, вибір джерела енергії — твій.", + "quests.medium_voltage.mv_benzene.desc.2": "Щоб дізнатися, як обробляти нафту, зверніться до завдань із &dЛегким паливом&r та &dНафтою&r.\n\nЗагалом краще віддавати перевагу встановленню більшої кількості машин (&dпаралелізація&r), ніж розгону рецептів. Так ви витрачатимете менше енергії на обробку ресурсів.\n\n&aБензол&r спалюється в &3Газовій турбіні&r з досить поганим Ккд. Це джерело енергії спочатку слабше за свого &eДизельного&r родича, але його можна покращити, переробивши в &6Реформатний газ&r. Зрештою, вибір джерела енергії — за вами.", + "quests.medium_voltage.mv_benzene.desc.3": "&l&3Лор:&r&o Бензол був одним із найпотужніших газових палив ще з часів GTCEu — настільки ефективним, що став мемом. Але сьогодні його дні вже полічені майже всюди.", + "quests.medium_voltage.reformate_gas.title": "Царство Реформата", + "quests.medium_voltage.reformate_gas.subtitle": "Коли один гігант падає — інший постає", + "quests.medium_voltage.reformate_gas.desc": "&8Реформатний газ&r — це ваше нове основне газове паливо на рівні &bMV&r, якщо ви обрали цей шлях. Для ідеальної ефективності вам знадобиться лише &61 Вежа скраплення&r і &62 Піролізні печі&r — і ви зможете безперервно виробляти цей цінний газ.\n\nАле зачекайте, спершу потрібно знайти &5Реній&r — новий матеріал, який трапляється лише в гарячих і посушливих регіонах &7TerraFirmaCraft&r. Його витрати настільки малі, що однієї жили вистачить до кінця модпака, або принаймні до рівня &6HV&r, де — за допомогою &6Крекера&r — цей газ може стати справді нескінченним.", "quests.medium_voltage.mv_light_fuel.title": "Легке Паливо", "quests.medium_voltage.mv_light_fuel.subtitle": "Збільш яскравість світла тут, малятко", "quests.medium_voltage.mv_light_fuel.desc": "Дистиляція &aНафти&r дасть тобі Паливо, яке потрібно десульфуризувати. \n\n&aСірководень&r ідеально &dпереробляється&r в &3Електролізері&r. \n\nЩоб автоматизувати цей процес, просто розмісти &3Хімічний Реактор&r та &3Електролізер&r поруч один з одним. Не забудь скористатися &5Викруткою&r, щоб &4увімкнути введення з вихідного боку&r. \n\n&aЛегке Паливо&r — це хороший &9варіант для Енергії&r, але є дещо ще краще... перевір Квест ліворуч.", @@ -2822,6 +3090,10 @@ "quests.medium_voltage.mv_diesel.desc.1": "&aДизель&r — це &dНафтозалежне &9Паливо для Горіння&r. \n\nЩоб змішати &aЛегке Паливо&r та &aВажке Паливо&r, правильне співвідношення для &3Дистилярень&r — &63:2&r з &dНафти&r або &dСирої Нафти&r. \n\nЦе вимагатиме 3 Дистилятори для Легкого Палива або 2 Дистилятора для Важкого Палива.", "quests.medium_voltage.mv_diesel.desc.2": "Ти можеш &6значно&r скоротити кількість &dНафти&r, необхідної для виробництва &aВажкого Палива&r, використовуючи &dВажку Нафту&r. &dНафтові Піски&r — чудовий варіант, якщо ти вирішиш піти цим шляхом! \n\n&o(Для любителів математики: замість 8.33 Нафти -> 6 Дизеля, ти отримуєш 5 Нафти + 0.4 Важкої Нафти -> 6 Дизеля)&r \n\n&eПримітка:&r &cНе намагайся&r використовувати Нафту в &3Дистиляційній Вежі&r. Може здатися, що це гарна ідея, адже вона дає і Легке Паливо, і Важке Паливо. Однак цей процес вимагає значного розгону, щоб бути ефективним, і ти втратиш більше енергії, ніж варті побічні продукти.", "quests.medium_voltage.mv_diesel.desc.3": "Загалом, краще пріоритизувати розміщення більшої кількості машин (&dпаралелізація&r), ніж розгін рецептів. Таким чином ти втратиш менше енергії під час обробки ресурсів. \n\n&aДизель&r спалюється в &3Генераторі Горіння&r. Його можна додатково очистити до &6Цетан-Підсиленого Дизеля&r на рівні &6HV&r. У порівнянні з іншими джерелами енергії, він загалом ефективніший, але вимагає складнішої обробки. Якщо ти обираєш &eНафтовий&r шлях для &aПоліетилену&r, це може добре працювати з наявною інфраструктурою. Врешті-решт, вибір джерела енергії — твій.", + "quests.medium_voltage.coal_tower.title": "Вежа скраплення", + "quests.medium_voltage.coal_tower.subtitle": "Хто ж не любить нові багатоблоки", + "quests.medium_voltage.coal_tower.desc.1": "&bВежа скраплення&r — це нова &bбагатоблочна&r машина, яка використовується для виробництва &aРеформатного газу&r та його побічних продуктів: &7Кам’яновугільної смоли&r і &7Синтез-газу&r. Залежно від того, яку &9Котушку&r ви використовуєте, ви отримаєте знижку на &7тривалість рецепту&r для кожного рецепту. Просто наведіть курсор на котушку та натисніть Shift, щоб побачити її бонуси.\n\nЗверніть увагу, що &9Вежу скраплення&r можна прискорити за допомогою &8Водню&r — це зменшує тривалість рецепту, а отже, і витрати. Не забудьте встановити правильну &6схему&r, щоб усе працювало.\n\nДо речі, якщо ви не знали: одна секунда — це 20 тіків. Тож кількість, яку споживає машина за тікт, потрібно множити на 20, щоб дізнатися споживання за секунду.", + "quests.medium_voltage.coal_tower.desc.2": "&l&3Лор:&r&o Та сама людина, що створила Ядерний реактор, також розробила перший дизайн Вежі скраплення. Хіба це не божевілля.", "quests.medium_voltage.mv_jetpack.title": "Я Вірю, Що Можу Літати", "quests.medium_voltage.mv_jetpack.subtitle": "...ну, майже Летіти", "quests.medium_voltage.mv_jetpack.desc": "Цей Реактивний Ранець використовує більшість &aПалив для Горіння&r (за винятком масел) для забезпечення примітивної форми польоту. \n\nЗаправ його так само, як заповнюєш Бочку, або скористайся &3Консервувальною Машиною&r. \n\nНатисни &4H&r (за замовчуванням), щоб увімкнути Режим Зависання.", @@ -2852,7 +3124,7 @@ "quests.medium_voltage.mv_aciditic.title": "Це розплавить твою плоть", "quests.medium_voltage.mv_aciditic.subtitle": "...якщо ти не прочитаєш цей квест.", "quests.medium_voltage.mv_aciditic.desc.1": "Ти можеш помітити, що деякі рідини позначені як &aКислотні&r, і &9Сірчана Кислота&r — одна з них. \n\nЦе означає, що багато рідинних труб не зможуть безпечно їх транспортувати! \n\nНа рівні &bMV&r найдешевші труби для транспортування кислот — ймовірно, &aЗолоті&r, а більш дорогі &aВанадієво-Стальні&r або &aХромові&r займають друге та третє місце. \n\n&aНержавіюча Сталь&r або &aПолітетрафторетилен&r (спробуй вимовити це швидко) стануть доступними варіантами, коли ти досягнеш рівня &6HV&r.", - "quests.medium_voltage.mv_aciditic.desc.2": "У тебе є три варіанти зберігання кислот на цьому етапі: &dСкляні Флакони&r, &dЗолоті Бочки&r або &dСупер Баки&r. Скляні Флакони схожі на &9Рідинні Капсули&r і призначені для зберігання кислот. Золоті Бочки— очевидний вибір. Супер Баки стануть доступними після &9Поліетилену&r і можуть зберігати будь-яку рідину без обмежень. \n\n&cУВАГА:&r Кислоти у неправильних трубах можуть спричинити &cвтрати&r, &cзгоряння труб&r та високий ризик &cсмерті&r! Будь обережним! \n\n&l&3Лор:&r&o Механіка транспортування та зберігання кислот походить із GregTech 6.", + "quests.medium_voltage.mv_aciditic.desc.2": "У вас є три практичні варіанти зберігання кислот на цьому етапі: &dСкляні флакони&r, &dЗолоті бочки&r або &dСупер резервуар&r. Скляні флакони схожі на &9Рідинні комірки&r і спеціально призначені для зберігання кислот. Золоті бочки — це те, що й очікується. Супер резервуари можуть зберігати будь-яку рідину без обмежень, але вони найдорожчі.\n\n&cУВАГА:&r Кислоти в неправильних трубах призведуть до &cвтрати рідини&r, &cпошкодження труб&r і високої ймовірності &cсмерті&r! Будьте обережні!\n\n&l&3Лор:&r&o Механіка транспортування та зберігання кислот походить із GregTech 6.", "quests.medium_voltage.mv_aciditic.task": "Я професіонал у кислотах, не хвилюйся", "quests.medium_voltage.mv_hydrochloric.title": "Хлоридна Кислота", "quests.medium_voltage.mv_hydrochloric.subtitle": "Тобі знадобиться багато цього!", @@ -2873,9 +3145,6 @@ "quests.medium_voltage.mv_polyethylene.title": "Поліетилен", "quests.medium_voltage.mv_polyethylene.subtitle": "Перший полімер малюка!", "quests.medium_voltage.mv_polyethylene.desc": "Якщо хочеш бути менш офіційним, просто називай це пластиком. \n\nДля процесу полімеризації додай &aКисень&r, який дає кращий вихід, ніж Повітря, а потім затверди, як ти б зробив із Гумою. \n\n&aПоліетилен (PE)&r — це ключ до &6багатьох нових речей&r. Він зазвичай використовується у вигляді &dЛистів&r або у &dРідкій&r формі. \n\n&l&3Лор:&r&o У 1.12.2 GTCEu назва OreDict і рідинна назва для Поліетилену була &bplastic&f, для сумісності між модами.", - "quests.medium_voltage.mv_tank.title": "Супер Бак", - "quests.medium_voltage.mv_tank.subtitle": "Супер Баки — це ОР!", - "quests.medium_voltage.mv_tank.desc": "Ні, але серйозно. \n\nЦе &cu&6l&et&ai&bm&9a&5t&4e&r портативне рішення для зберігання рідин. &64 000 відер&r у одному блоці—без жодних обмежень щодо температури чи кислотності! \n\nЯк і Бочки, Супер Баки &6зберігають свої рідини при руйнуванні&r і можуть бути очищені у крафтовій сітці. \n\nЯкщо тобі потрібно &9ще більше&r місця для зберігання, зверни увагу на баки вищого рівня або AE2 Fluid Storage Cells.", "quests.medium_voltage.mv_pvc.title": "Полівінілхлорид", "quests.medium_voltage.mv_pvc.subtitle": "Ти вже зробив один полімер, що таке два?", "quests.medium_voltage.mv_pvc.desc": "&aПолівінілхлорид (PVC)&r — третій за обсягом виробництва пластик у реальному житті. У CEu його можна використовувати замість Поліетилену для створення &aПластикових Схем&r та інших предметів, щоб збільшити вихід. Він стає необхідним з рівня &5EV&r для обгортання Кабелів. \n\nТрубопроводи для предметів з PVC також мають &6найвищу пропускну здатність&r на деякий час, але більшість твоїх поточних налаштувань не потребуватиме такої швидкості. Все ж, корисно мати цю інформацію під рукою. \n\n&9Порада:&r Рідка форма PVC ніколи не використовується у базовому GTCEu, тому сміливо затверджуй весь матеріал у листи.", @@ -2945,8 +3214,8 @@ "quests.medium_voltage.mv_jetpack_2.desc": "Цей реактивний ранець дозволяє літати та потребує енергії. \n\nЗаряджай його так само, як і батарею. \n\nНатисни &4H&r (за замовчуванням), щоб увімкнути Режим Зависання. \n\n&o&8(Так, так, реактивний ранець має працювати на пропелентах. Ви завжди тут, щоб прискіпуватися.)&r", "quests.medium_voltage.mv_cutter.title": "Вдосконалений Різак", "quests.medium_voltage.mv_cutter.subtitle": "Оновлення, люди, оновлення!", - "quests.medium_voltage.mv_cutter.desc": "&3MV Різак&r необхідний для нарізання &7Силіконових Буль&r, щоб підготувати їх до &aЛазерного Гравіювання&r. \n\nРекомендуємо забезпечити цю машину стабільним потоком &dМастила&r, щоб скоротити час обробки. \n\nМастило можна &3зварити&r з &eНафти&r та &aТальку&r, &2Стеатиту&r або &cРедстоуну&r. \n\n&7Примітка: Ти можеш використовувати &6Велику&r &7версію, вона тепер має бак для заповнення рідиною&r&r", - "quests.medium_voltage.mv_cutter.task": "Будь-яка Броварня", + "quests.medium_voltage.mv_cutter.desc": "&3Різак Mv&r потрібен для нарізання &7Кремнієвих злитків&r, щоб підготувати їх до &aЛазерного гравіювання&r.\n\nРекомендуємо подавати в цю машину стабільний потік &dМастила&r, щоб зменшити час обробки.\n\nМастило можна &3зварити&r з &eНафти&r та &aТальку&r, &2Талькового каменю&r або &cРедстоуна&r.\n\n&7Примітка: Ви можете використати версію з &6Greate&r — вона має бак для заповнення рідиною&r", + "quests.medium_voltage.mv_cutter.task": "Будь-який Різак", "quests.medium_voltage.mv_laser_engraver.title": "Лазерне Гравіювання", "quests.medium_voltage.mv_laser_engraver.subtitle": "Це вершина технологій, але це також повільно", "quests.medium_voltage.mv_laser_engraver.desc": "&3Лазерний Гравер&r наносить візерунки на &9Силіконові Вафлі&r залежно від типу &9Лінзи&r, яку він отримує. Після гравіювання вафлі потрібно пропустити через &3Різальну Машину&r, щоб перетворити їх на компоненти, готові до використання в Схемах. \n\nГравери вищого рівня можуть гравіювати складніші вафлі для більш ефективних Схем.", @@ -2954,7 +3223,7 @@ "quests.medium_voltage.mv_silicon_boule.subtitle": "Ці вафлі повністю взаємозамінні", "quests.medium_voltage.mv_silicon_boule.desc": "&9Силіконові Булі&r створюються в &3ЕДП&r з половини стака &aСиліконового Пилу&r та дрібки &aАрсеніду Галію&r. Їх основне призначення — гравіювання &6Вафель для Схем&r. \n\nПісля створення Булі оброби її в &3Різаку&r, щоб отримати 16 Силіконових Вафель, готових до гравіювання. \n\n&cПопередження:&r Кожна Силіконова Буля займає &47.5 хвилин&r для створення при 120 EU/t, або 1,080,000 EU! Якщо ЕДП втратить живлення в процесі, рецепт почне &закривати прогрес&r. \n\nЗ огляду на це, Силіконові Булі створюються дуже довго, тому варто розглянути можливість паралельного виконання рецепту в декількох &3ЕДП&r та накопичення їх запасів.", "quests.medium_voltage.mv_silicon.title": "Силіконовий Пил", - "quests.medium_voltage.mv_silicon.subtitle": "", + "quests.medium_voltage.mv_silicon.subtitle": "Силіконія", "quests.medium_voltage.mv_silicon.desc.1": "Тобі доведеться звикнути до цього: у &dGregTech&r завжди є &aдекілька способів&r досягти бажаного—філософія, яку ми зберегли в &aTerrafirmaGreg&r. \n\nЩоб отримати &5Кремній&r, ми запропонуємо &cдва основні методи&r, щоб ти мав чіткі напрямки. \nЯк завжди, вирішувати тобі, що є &aнайкращим для твоєї ситуації&r.", "quests.medium_voltage.mv_silicon.desc.2": "Перший метод: &aвидобуток руд, багатих на кремній&r. Шукай жили &9Міки&r або &9Кіаніту&r—вони також містять &dАлюміній&r. Альтернативно, ти можеш &aелектролізувати пил цеоліту&r, який знаходиться у жилах &9Халькопіриту&r та &dРеальгару&r. \n\nДругий метод: &eвдосконалений, але потужний&r. Хоча він дорожчий у налаштуванні та повільніший на початку, на рівні &6HV&r і вище він стає &eнайкращим методом&r. \nДо того ж, він додатково генерує &9Кисень&r! Ідея проста: &aелектролізуй пил діоксиду кремнію&r, щоб отримати &9Кисень&r та &5Кремній&r. Ти можеш отримати &aпил діоксиду кремнію&r шляхом &9центрифугування пилу кременю&r, який, у свою чергу, добувається з &9Кременю&r, отриманого через &aпросіювання гравію&r. \n\nЦя система може легко стати &aповністю пасивною&r. Спробуй використати інструмент &aEMI Recipe Tree&r (у нижньому лівому куті екрану) для планування своїх конструкцій—це справді допомагає!", "quests.medium_voltage.mv_ulpic.title": "ULPIC Чіпи", @@ -2972,6 +3241,9 @@ "quests.medium_voltage.lsb.title": "Стає дуже парко", "quests.medium_voltage.lsb.subtitle": "Якщо у тебе необмежене паливо, це все одно може бути корисним", "quests.medium_voltage.lsb.desc": "Якщо ви &lдосі&r працюєте на &3Великому бронзовому котлі&r, можливо, варто перейти на &3Великий сталевий котел&r.\n\nВін трохи ефективніший за &3ВБК&r і виробляє &d1800 мБ/т пари&r.\n\nНа цьому етапі ми радимо вам спробувати й інші варіанти генерації енергії.", + "quests.medium_voltage.stainless_greate.title": "Рівень нержавіючої сталі Greate", + "quests.medium_voltage.stainless_greate.subtitle": "Високий Стрес", + "quests.medium_voltage.stainless_greate.desc": "Це завдання існує лише для того, щоб повідомити вам, що Greate має ще одне оновлення на цьому етапі. \n\nВи можете знайти наступний рівень дробильних коліс корисним, адже вони дають повну кількість побічних продуктів, так само як HV дробильник, але ще й здатні обробляти кілька предметів одночасно!", "quests.metal_age": "Епоха Металургії", "quests.metal_age.subtitle": "Ваші перші технологічні досягнення.", "quests.metal_age.weld_bronze_ingots.title": "Зварювання Бронзи", @@ -3043,7 +3315,7 @@ "quests.metal_age.crucible.desc": "Тигель встановлюється на горно. Він має 9 слотів інвентаря та місткість для 4032mB рідини, включаючи інтерфейс для перевірки співвідношення сплавів. Тигель зберігає свій вміст при руйнуванні. Також він може збирати сирий чавун, якщо його розмістити під доменною піччю.\n\nВарто пам’ятати, що тигель БУДЕ намагатися створювати сплав із усього, що є всередині — він не розділяє метали, як плавильня з Tinkers’ Construct, тому краще тримати його чистим, коли ви ним не користуєтеся.", "quests.metal_age.fire_bricks.title": "Вогнетривкі цеглини", "quests.metal_age.fire_bricks.subtitle": "Для доменної печі", - "quests.metal_age.fire_bricks.desc": "Вогнетривкі цеглини використовуються для будівництва доменної печі. Для створення печі вам знадобляться щонайменше 4 цеглини.\n\nЩоб забезпечити ефективний процес створення сталі, цегли потребують ізоляції. Ви можете або розмістити 3 листи ковкого заліза навколо вогнетривких цеглин, або використати ізоляцію для доменної печі", + "quests.metal_age.fire_bricks.desc": "Вогнетривкі цеглини використовуються для будівництва доменної печі, для цього потрібно щонайменше 4 цеглини. \n\nЩоб процес виробництва сталі був ефективним, цеглини потребують ізоляції, можна розмістити 3 ковані залізні пластини навколо вогнетривких цеглин, або використати ізоляцію доменної печі", "quests.metal_age.fully_stacked_blast_furnace.title": "Повністю укомплектована доменна піч", "quests.metal_age.fully_stacked_blast_furnace.subtitle": "Завершена доменна піч", "quests.metal_age.fully_stacked_blast_furnace.desc": "Повнорозмірна доменна піч здатна плавити та обробляти великі обсяги заліза одночасно. Коли буде можливість, варто зробити її більшою, адже в майбутньому тобі знадобиться багато сталі. \n\nПісля того, як ти отримаєш свою першу парову сплавну плавильню, ти зможеш створювати більше вогнетривких цеглин за нижчою ціною.", @@ -3067,7 +3339,7 @@ "quests.metal_age.weak_steel.task3": "1 Частина Чорної Бронзи", "quests.metal_age.highcarb_black_steel.title": "Інгредієнти чорної сталі", "quests.metal_age.highcarb_black_steel.subtitle": "Закон збереження матерії не застосовується", - "quests.metal_age.highcarb_black_steel.desc": "Останні дві ковадла виготовляються зі складних сплавів, для створення яких знадобиться багато металу. Слабка сталь і сирий чавун можуть бути зварені, щоб утворити високо вуглецеву чорну сталь, яку потім можна обробити на ковадлі для отримання чорної сталі.", + "quests.metal_age.highcarb_black_steel.desc": "Останні два ковадла виготовляються з комплексних сплавів, для створення яких знадобиться багато металу. Слабка сталь і чавун можуть бути зварені у Високовуглецеву чорну сталь, яку потім можна обробити на ковадлі, щоб отримати Чорну сталь.\n\nЩойно ви отримаєте Паровий палвильник сплавів, використовуйте його, щоб &6подвоїти вихід продукції&r.", "quests.metal_age.black_steel_anvil.title": "Ковадло T5: Чорна сталь", "quests.metal_age.black_steel_anvil.subtitle": "Парова енергія у вас на долоні", "quests.metal_age.black_steel_anvil.desc": "Завдяки Ковадлу з чорної сталі ти тепер зможеш обробляти злитки чорної сталі у різні предмети. \n\nКрім того, відкривається величезний новий розділ у главі Рання автоматизація, присвячений паровій енергії високого тиску! \n\nЗвідси ти можеш або одразу зануритися в індустріалізацію, або ж завершити останній рівень ковадел, якщо хочеш. \nАле уникати кольорової сталі вічно не вийде!", @@ -3092,23 +3364,27 @@ "quests.metal_age.weak_blue_steel.sterling_silver": "1 Частина Стерлінгового Срібла", "quests.metal_age.weak_blue_steel.bismuth_bronze": "1 Частина Вісмутової Бронзи", "quests.metal_age.highcarb_red_steel.title": "Інгредієнти червоної сталі", - "quests.metal_age.highcarb_red_steel.subtitle": "Чи може видалення матерії таким чином забезпечити енергію для ядерної бомби?", - "quests.metal_age.highcarb_red_steel.desc": "Червона сталь починається з високо вуглецевої червоної сталі, яку створюють, зварюючи слабку червону сталь та чорну сталь. Після цього її необхідно обробити на ковадлі, щоб перетворити на червону сталь", + "quests.metal_age.highcarb_red_steel.subtitle": "Minecraft — це не симулятор фізики", + "quests.metal_age.highcarb_red_steel.desc": "Червона сталь спочатку утворюється як Високовуглецева червона сталь, яку отримують шляхом зварювання Слабкої червоної сталі та Чорної сталі. Потім її потрібно обробити на ковадлі, щоб перетворити на Червону сталь.\n\nЯкщо у вас є Паровий плавильник сплавів, використовуйте його, щоб &6подвоїти вихід продукції&r.", "quests.metal_age.highcarb_blu_steel.title": "Інгредієнти синьої сталі", "quests.metal_age.highcarb_blu_steel.subtitle": "Лавуазьє перевертається в могилі", - "quests.metal_age.highcarb_blu_steel.desc": "Синя Сталь спочатку утворюється як Високовуглецева Синя Сталь, яку отримують шляхом зварювання Слабкої Синьої Сталі з Чорною Сталлю. Щоб перетворити на Синю Сталь, її потрібно обробити на Ковадлі", + "quests.metal_age.highcarb_blu_steel.desc": "Синя сталь спочатку утворюється як Високовуглецева синя сталь, яку отримують шляхом зварювання Слабкої синьої сталі та Чорної сталі. Потім її потрібно обробити на ковадлі, щоб перетворити на Синю сталь.\n\nЯкщо у вас є Паровий плавильник сплавів, використовуйте його, щоб &6подвоїти вихід продукції&r.", "quests.metal_age.redblu_anvil.title": "Ковадло T6: Червона або синя сталь", "quests.metal_age.redblu_anvil.subtitle": "Це завершено", "quests.metal_age.redblu_anvil.desc": "Останній рівень ковадла! З ковадлом 6-го рівня ви зможете обробляти як червоні, так і сині сталеві злитки у різноманітні предмети.\n\nЦе позначає завершення прогресії TerraFirmaCraft. Тепер настав час завершити Індустріальну Еру та створити свої перші низьковольтні схеми.", "quests.metal_age.red_steel_flask.title": "Фляга з червоної сталі", "quests.metal_age.red_steel_flask.subtitle": "Це ніщо в порівнянні з залізною флягою", - "quests.metal_age.red_steel_flask.desc": "Червона сталева фляга — це найкраща доступна фляга. Вона може вміщувати стільки ж рідини, як і залізна фляга, але червона сталева фляга ніколи не ламається.", + "quests.metal_age.red_steel_flask.desc": "Фляга з Червоної сталі — найкраща з доступних. Вона вміщує стільки ж рідини, скільки й Залізна фляга, але ніколи не ламається.\n\nЩодо Шовку — Фантоми трапляються по всьому Підземеллю, але найчастіше — на нижньому рівні.", "quests.metal_age.redblu_buckets.title": "Компоненти відра", "quests.metal_age.redblu_buckets.subtitle": "Реактор термоядерного синтезу у відрі", "quests.metal_age.redblu_buckets.desc": "Останнім завданням у Металургійній Ері є створення відра. На відміну від дерев'яного відра та інших контейнерів для рідин, які ви використовували до цього часу, відро можна використовувати для перенесення лави та переміщення вихідних блоків інших рідин.", "quests.metal_age.this_is_a_bucket.title": "Це... Відро.", "quests.metal_age.this_is_a_bucket.subtitle": "О, Боже...", "quests.metal_age.this_is_a_bucket.desc": "Вітаю вас зі створенням відра. Металургійна Ера офіційно завершена.\n\nНастав час приступити до роботи над компонентами низьковольтної електроніки!", + "quests.metal_age.temperature_protection.title": "Обладнання з Кольорової сталі", + "quests.metal_age.temperature_protection.subtitle": "Постійний захист від температури", + "quests.metal_age.temperature_protection.desc": "Втомився тримати щипці? Відмінні термозахисні властивості кольорової сталі передаються й на спорядження!\n\nОбладнання з &9Синьої сталі&r захищає від екстремального тепла — наприклад, при триманні розпечених злитків або ходінні по трубах із парою, тоді як обладнання з &cЧервоної сталі&r забезпечує такий самий захист, але від холоду. Нагрудники захищають інвентар, а черевики — від труб.\n\nПеревірте теги &6#hot_protection_equipment&r та &b#cold_protection_equipment&r, щоб побачити повний список!", + "quests.metal_age.temperature_protection.task": "Будь-яке обладнання з червоної або синьої сталі", "quests.ore_proc": "Обробка руди", "quests.ore_proc.subtitle": "Все, що вам потрібно, щоб максимально ефективно використовувати руду", "quests.ore_proc.native_ore.title": "Ласкаво просимо до обробки руди", @@ -3249,7 +3525,7 @@ "quests.space_survival.stone_dust_centrifuging.title": "Гелій-3", "quests.space_survival.stone_dust_centrifuging.subtitle": "Клоунський газ", "quests.space_survival.stone_dust_centrifuging.desc.1": "Місяць багатий на &eГелій-3&r — ще один важливий ресурс, але він захований у камені! Є два способи добути його:\n\n1) Якщо ти ще не налаштовував автоматизацію центрифугування кам’яного пилу, ось короткий вступ: каменедробарка може виробляти нескінченну кількість Необробленого каменю, який подрібнюється в пил за допомогою дробильника, а потім обробляється в центрифузі.\n\nТут, на Місяці, анортозит, норит і фоноліт можна переробляти в нескінченне джерело гелію-3!", - "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Викачати його з ґрунту за допомогою &9Рідинної бурової установки&r. Цей метод простіший, але не дає жодних корисних побічних продуктів.\n\nГелій-3 використовується для кількох речей, найважливіша з яких — виробництво додаткового повітря для дихання через &6Геліокс-3&r! Його також можна використовувати як «добриво» для плодів хорусу в електричній теплиці, а згодом — як ще одне паливо для термоядерної енергетики.", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Викачуйте його з-під землі за допомогою &9Рідинного буру&r. Цей метод простіший, але не дає жодних корисних побічних продуктів. \n\nГелій-3 використовується для кількох речей, найважливіша з яких — створення більшої кількості повітря для дихання через &6Геліокс-3&r! \nВи також можете застосовувати його як «добриво» для плодів хоруса в Електричній теплиці, а згодом — як ще одне паливо для термоядерної енергії.", "quests.space_survival.stone_dust_centrifuging.task": "Будь-яке ", "quests.space_survival.compressed_gases.title": "Стиснені гази, придатні для дихання", "quests.space_survival.compressed_gases.subtitle": "Бо чистий кисень — це смертельно небезпечно", @@ -3322,7 +3598,7 @@ "quests.space_survival.sandworm.desc": "Якщо ви наробите занадто багато шуму в пустелі, можете привернути увагу могутнього &6Піщаного Хробака&r! Це радше природна небезпека, ніж бос для вбивства, тож найкращий спосіб вижити — просто тікати! \n\nЯкщо ж вам вдасться достатньо разів влучити йому в голову &bвибуховим уроном&r, він залишить вас у спокої… на деякий час. \n\nНа щастя, Піщаний Хробак може пошкоджувати лише сутності, а не будівлі, і його приваблюють лише &6сліди гравців&r. Тож будь‑який спосіб тримати &bсвої ноги&r подалі від землі не розлютить його. Атмосфера занадто розріджена для літаків і дельтапланів, але є й інші інструменти...", "quests.space_survival.spice.title": "Поклад Острому", "quests.space_survival.spice.subtitle": "Пряність Меланж", - "quests.space_survival.spice.desc": "&dПоклади Оструму&r — це нерухомі блоки, які можна знайти лише в Глибокій Пустелі Марса, далеко від більш зелених зон. \nВони з’являються невеликими скупченнями й можуть бути зруйновані, щоб звільнити місце для вашого Збирача Оструму, якщо ті розташовані на схилі. Спробуйте використати &6Підзорну трубу&r, щоб помітити їх здалеку! \n\nВам доведеться продумати логістику на великі відстані, щоб доставляти Острум назад на базу. (Спробуйте поїзд, Акумулятори можуть транспортувати енергію!) \n\nОструм є ключовим ресурсом як для прогресу на рівні &5EV&r, так і для створення нескінченних руд із Марса.", + "quests.space_survival.spice.desc": "&dРодовища Оструму&r — це нерухомі блоки, які можна знайти лише в Глибокій пустелі Марса, далеко від більш зелених регіонів. Вони з’являються невеликими скупченнями, і їх можна зламати, щоб звільнити місце для вашого Збирача Оструму, якщо вони розташовані на схилі. Спробуйте скористатися &6Підзорною трубою&r, щоб побачити їх здалеку!\n\nВам доведеться продумати логістику на великі відстані, щоб доставити Острум назад на базу. (Спробуйте поїзд!)\n\nОструм — це критично важливий ресурс як для прогресу на рівні &5EV&r, так і для створення нескінченних руд на Марсі.", "quests.space_survival.spice.task": "Нехай прянощі течуть рікою", "quests.space_survival.mars_islands.title": "Марсіанські джунглі", "quests.space_survival.mars_islands.subtitle": "Це динозавр?!", @@ -3348,7 +3624,7 @@ "quests.space_survival.t2_space_suit.desc": "З цим наступним скафандром ви зможете вижити як у &bнайхолодніших&r, так і в &cнайспекотніших&r умовах, які тільки може підкинути космос! Він необхідний, щоб ви не згоріли миттєво, щойно ступить нога на &6Венеру&r чи &5Меркурій&r.\n\nЯк бонус, він також має додатковий захист і збільшений запас повітря!", "quests.space_survival.mars_tapping.title": "Крімсін і Ворпейн", "quests.space_survival.mars_tapping.subtitle": "Ти просто ОБОЖНЮЄШ збирати сік із дерев!", - "quests.space_survival.mars_tapping.desc": "Із червоних та викривлених грибів можна зібрати сік для отримання &4Крімсіну&r та &3Ворпейну&r відповідно.\n\nОбидва потрібні, щоб розпочати виробництво &9йоду&r, але вони рідко ростуть поруч, тож, можливо, доведеться трохи подорожувати. Червоні гриби частіше трапляються на східному боці Марса, а викривлені — на західному.\n\nНе забудьте, що можна підключати збір соку безпосередньо до відкритих труб GregTech!\n\n&9Порада:&r Хочете похизуватися? Ви також можете збудувати каное з червоних стовбурів і човен‑веслувальний або шлюп із викривлених!", + "quests.space_survival.mars_tapping.desc": "Червоні та химерні гриби можна під'єднувати до дерева для отримання &4Крімсену&r та &3Варпану&r відповідно. \n\nВам знадобляться обидва, щоб розпочати виробництво &9Йоду&r, але вони рідко ростуть в одному місці, тож доведеться трохи подорожувати. \nЧервоні гриби більше трапляються на східному боці Марса, а химерні — на західному. \nТакож ви можете отримати саджанці від відповідних ендерменів. \n\nНе забудьте, що можна напряму під'єднувати до відкритих рідинних труб GregTech! \n\n&9Порада:&r Хочете похизуватися? Ви можете збудувати каное з червоних стовбурів, а човен або шлюп — із химерних!", "quests.space_survival.iodine.title": "Лінія йоду", "quests.space_survival.iodine.subtitle": "Хімія грибів!", "quests.space_survival.iodine.desc": "Змішайте Крімсін і Ворпейн разом із криптоном із дистиляції марсіанського повітря (процес циклічний) та теплом від вашого ядерного реактора поділу — і ви отримаєте йод!\n\nЦей процес повільний, але наразі вам не знадобиться багато йоду, а на подальших планетах з’являться кращі методи його отримання.", @@ -3408,19 +3684,23 @@ "quests.steam_age.horse_crank.title": "Ваше перше джерело енергії", "quests.steam_age.horse_crank.subtitle": "Змусьте свою худобу платити оренду", "quests.steam_age.horse_crank.desc.1": "&3Тваринний Привід&r — це твій перше доступне джерело механічної енергії. Щоб ним скористатися, постав привід у центрі очищеної ділянки розміром 7x7 блоків і прив’яжи до нього тварину. Різні тварини генерують різну кількість потужності, а блоки під ним впливають на швидкість вихідної енергії. Зони кількох приводів можуть перекриватися.\n\nМожливо, доведеться тримати другий поводок, щоб приєднати тварину.", - "quests.steam_age.horse_crank.desc.2": "&3Маленькі тварини (8 SU):&r\nВовк, Собака, Свиня, Вівця, Коза, Альпака\n\n&3Середні тварини (12 SU):&r\nКорова, Осел\n\n&3Великі тварини (16 SU):&r\nКінь, Мул, Мускусний віл, Як", + "quests.steam_age.horse_crank.desc.2": "&3Малі тварини (8 ОО):&r \nВовк, Собака, Свиня, Вівця, Коза, Альпака\n\n&3Середні тварини (12 ОО):&r \nКорова, Осел\n\n&3Великі тварини (16 ОО):&r \nКінь, Мул, Мускусний віл, Як", "quests.steam_age.poor_paths.title": "Погані шляхи", "quests.steam_age.poor_paths.subtitle": "Це просто бруд", - "quests.steam_age.poor_paths.desc": "Це найгірший тип дороги, яку можна використовувати. Тваринний привід працюватиме зі швидкістю 2 об/хв.", + "quests.steam_age.poor_paths.desc": "Це найгірший тип дороги, яку можна використовувати. Тваринний привід працюватиме зі швидкістю 8 об/хв.", "quests.steam_age.normal_paths.title": "Середні шляхи", "quests.steam_age.normal_paths.subtitle": "Гаразд, ви доклали трохи зусиль", - "quests.steam_age.normal_paths.desc": "Середні доріжки працюють трохи краще — вони дозволяють тваринам обертати привід зі швидкістю 4 об/хв (RPM).\n\nПримітка: Блок доріжка з Грунту не можна розміщувати безпосередньо під Тваринним Приводом, тому в цьому місці доведеться використати Гравій.", + "quests.steam_age.normal_paths.desc": "Середні доріжки працюють трохи краще — вони дозволяють тваринам обертати привід зі швидкістю 16 об/хв \n\nПримітка: Блок доріжка з Грунту не можна розміщувати безпосередньо під Тваринним Приводом, тому в цьому місці доведеться використати Гравій.", "quests.steam_age.good_paths.title": "Great Path", "quests.steam_age.good_paths.subtitle": "Підкови не потрібні!", - "quests.steam_age.good_paths.desc": "Це найкращий тип шляхів, які ви можете використовувати, дозволяючи ручці досягати вихідної швидкості 8 об/хв. Такі шляхи також збільшують швидкість переміщення гравця, тому вони чудово підходять для прокладання вашої бази!", + "quests.steam_age.good_paths.desc": "Це найкращий тип шляхів, які ви можете використовувати, дозволяючи ручці досягати вихідної швидкості 32 об/хв. Такі шляхи також збільшують швидкість переміщення гравця, тому вони чудово підходять для прокладання вашої бази!", "quests.steam_age.helve_hammer.title": "Гойдельний молот", "quests.steam_age.helve_hammer.subtitle": "БАМ... БАМ... БАМ...", - "quests.steam_age.helve_hammer.desc": "Виготовлення всіх цих пластин для доменної печі виглядає виснажливим? &3Гойдельний молот&r автоматично (хоча й повільно) сплющуватиме подвійні злитки в пластини замість вас. Але зварювання все одно доведеться робити самостійно. Просто розмістіть ковадло безпосередньо під молотом і киньте на нього подвійні злитки, а потім натисніть правою кнопкою миші на молот, щоб забрати ваші пластини.\n\nКовадла вищого рівня також вимагатимуть менше ударів, щоб створити пластини з попереднього рівня.", + "quests.steam_age.helve_hammer.desc.1": "Виготовлення всіх тих пластин для домни здається виснажливим? &3Коромисловий молот&r автоматично (але повільно) розплющує подвійні злитки у пластини. Проте зварювання все одно доведеться виконувати вручну. Просто розмістіть ковадло безпосередньо під молотом і киньте на нього подвійні злитки, натиснувши &2клавішу кидання предмета (Типово: Q)&r, а потім клацніть правою кнопкою миші по молоту, щоб забрати готові пластини.\n\nКовадла вищого рівня також потребують менше ударів для виготовлення пластин із попереднього рівня.", + "quests.steam_age.helve_hammer.desc.2": "Обов’язково використовуй шестерні, щоб збільшити швидкість! \n\nСпочатку це може виглядати непереконливо, але коли ти зможеш розігнати його до 256 об/хв за допомогою сталевих шестерень і валів, &3Ковальський молот&r справді засяє.", + "quests.steam_age.multiblock_tank.title": "Багатоблочні резервуари", + "quests.steam_age.multiblock_tank.subtitle": "Величезні обсяги зберігання рідин", + "quests.steam_age.multiblock_tank.desc": "Маєш величезну купу дерев’яних бочок, намагаючись зберегти весь той креозот? \n\nТоді зверни увагу на багатоблочні резервуари, де навіть найдешевший дерев’яний може вмістити неймовірні 1 000 відер. Є також бронзові та сталеві варіанти, якщо потрібно ще більше місця для зберігання! \n\nЩоб автоматично наповнювати або спорожнювати резервуари, використовуй клапан.", "quests.steam_age.water_wheel.title": "Водяні колеса", "quests.steam_age.water_wheel.subtitle": "Сподіваюся, ви розмістили свою базу поруч із річкою!", "quests.steam_age.water_wheel.desc": "Водяні колеса забезпечують значно більше потужності, ніж тваринний привід, але потребують проточної води. Ви ще не маєте можливості пересувати джерела води, тож доведеться знайти річку, щоб живити їх. Океани й озера також можуть дати трохи енергії, але якщо ви далеко від узбережжя, краще розглянути будівництво вітряка. \n\nОброблену деревину можна отримати, замочивши будь‑які дошки в креозоті з вашої коксової печі.", @@ -3468,11 +3748,11 @@ "quests.steam_age.mold_table.desc.2": "Якщо хочете, можна використовувати Жолоб для скидання предметів у верхню частину доменної печі, а Автоматизатор для автоматичної роботи з міхами. Надмірне надування міхів швидко витратить міцність вашої Туєри, хоча трубами для предметів можна вставити нову.\n\nВи також можете використовувати помпу, щоб витягувати рідини з доменної печі та тигля одночасно, використовуючи Клапан для рідин, щоб зупинити помпу під час створення сплавів, і знову включити її після завершення.", "quests.steam_age.fluid_pipes.title": "Труби для Рідин", "quests.steam_age.fluid_pipes.subtitle": "Рідини, гази... ми не дискримінуємо", - "quests.steam_age.fluid_pipes.desc.1": "&bТруби для Рідин&r транспортуватимуть &7Пар&r між машинами за вас.\n\nКожна Труба має певну пропускну здатність у mB/т та &6Температурний Ліміт&r. Це важливо зараз, оскільки Пар може спалити Дерев'яні Труби. Деякі труби мають &bособливі&r властивості, про які зараз можна не турбуватися.\n\nКожен матеріал має кілька розмірів Труб. Чим більша Труба, тим &aвища&r пропускна здатність, але й тим &dдорожчий&r крафт. Наприклад, звичайна &6Бронзова Труба для Рідин&r передає 120mB/т. (Вона також має внутрішній буфер на 1,200mB!)\n\nНа початку ми рекомендуємо використовувати Дерев'яні труби для холодних рідин і Бронзові — для гарячих.", + "quests.steam_age.fluid_pipes.desc.1": "&bРідинні труби&r транспортують &7Пар&r між машинами замість вас.\n\nКожна труба має певну пропускну здатність у мБ/т, а також &6Температурне обмеження&r. Це важливо вже зараз, адже Пар може спалити дерев’яні труби. Деякі труби мають &bособливі&r властивості, про які поки що можна не турбуватись.\n\nКожен матеріал має кілька розмірів труб. Чим більша труба, тим &aвища&r її пропускна здатність, але й тим &dдорожче&r її виготовлення. Наприклад, звичайна &6Бронзова рідинна труба&r передає 120 мБ/т. (Вона також має внутрішній буфер на 1 200 мБ!)\n\nДля початку рекомендуємо використовувати дерев’яні труби для рідин кімнатної температури, а бронзові — для гарячих.", "quests.steam_age.fluid_pipes.desc.2": "&aНагадування:&r 1 секунда = 20 тактів... якщо сервер не лагає.\n\n&dПримітка:&r Труби стилю GT6 увімкнені. Це означає, що при розміщенні труб вони з'єднуються лише з блоком, до якого були встановлені. Щоб відкрити більше з'єднань, використовуйте ваш Гайковий Ключ на трубі.\n\nВи також можете натиснути Shift і клацнути правою кнопкою миші з вашим Гайковим Ключем, щоб вимкнути введення з певної сторони. Це може допомогти уникнути ефекту хитання (рух рідин у небажаному напрямку).", "quests.steam_age.fluid_drums.title": "Ефективне Зберігання Рідин", "quests.steam_age.fluid_drums.subtitle": "Я не думаю, що дерев'яна бочка може утримувати розплавлену сталь", - "quests.steam_age.fluid_drums.desc.1": "&6TFG&r може швидко стати &4переважним&r через велику кількість рідин, які він додає, тому ви, можливо, шукаєте спосіб їх зберігати.\n\nЗустрічайте... &aБочки&r! Вони мають великі внутрішні буфери, і будь-яку &aБочку&r можна розбити, підібрати, і вона &dзбереже рідину&r всередині. Клацання правою кнопкою миші за допомогою Киянки дозволяє Бочці злити її вміст у інший контейнер, розміщений під нею.", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&r може швидко стати &4переобтяженим&r через безліч рідин, які він додає, тож ви можете шукати спосіб їх зберігати. \n\nЗнайомтесь... &aБочки&r! Вони мають великі внутрішні буфери, і будь-яка &aБочка&r можна розбити та підняти — він &dзбереже рідину&r всередині. \n\nКлацання правою кнопкою миші за допомогою Киянки або Викрутки дозволяє бочці злити свій вміст у інший контейнер, розташований під ним.", "quests.steam_age.fluid_drums.desc.2": "&l&3Лор:&r&o Ці бочки насправді були перенесені з GregTech 6.", "quests.steam_age.boilers.title": "Парові Котли", "quests.steam_age.boilers.subtitle": "Переносна Парова Кімната", @@ -3518,7 +3798,7 @@ "quests.steam_age.extractor.desc": "Мало які предмети виготовляються в &3Екстракторі&r під час &6Парового віку&r, оскільки він не має можливості витягувати рідини.", "quests.steam_age.glass_tube.title": "Скляні Трубки", "quests.steam_age.glass_tube.subtitle": "Вам знадобиться багато таких", - "quests.steam_age.glass_tube.desc": "Хоча всі ці трубки можна виготовити вручну за допомогою склодувного мистецтва, набагато ефективніше створювати їх у Плавильній Печі Сплавів із відповідною формою. Потрібно багато скляного пилу? Ви можете склодувати 16 панелей одночасно, щоб потім переробити їх у дробарці, або скористатися Дробаркою Каменю та Кувальним Молотом, щоб отримати багато піску, а потім додати трохи пилу з Кременю, щоб перетворити його на скляний пил.", + "quests.steam_age.glass_tube.desc": "Хоча перші скляні трубки доведеться виготовляти вручну за допомогою видування скла, згодом набагато ефективніше буде створювати їх у вашому Плавильни сплаваів з відповідною формою.\n\nПотрібно багато скляного пилу? Ви можете або видувати одразу 16 скляних панелей і подрібнювати їх, або скористатися Каменедробаркою та Кувалдою, щоб отримати багато піску, а потім додати трохи кременевого пилу, щоб перетворити його на скляний пил.", "quests.steam_age.treated_planks.title": "Оброблені Дошки", "quests.steam_age.treated_planks.subtitle": "Також відомі як Оброблена Фанера", "quests.steam_age.treated_planks.desc": "Сподіваюся, ви накопичували свій креозот, адже виготовлення цих спресованих і оброблених дощок є ще одним способом його використання.\n\n&l&3Лор:&r&o У ранніх версіях TerraFirmaGreg це була точка, з якої ви могли насправді розпочати Create!", @@ -3584,7 +3864,7 @@ "quests.steam_age.lathe.desc": "&3Стрічковий шліфувальник&r може автоматично перетворювати один злиток на два стрижні, окремі болти на гвинти, полірувати коштовне каміння та виконувати ще кілька операцій. Якщо вам потрібна велика кількість стрижнів і гвинтів, ця машина стане гарною інвестицією.", "quests.steam_age.steel_saw.title": "Сталева Механічна Пилка", "quests.steam_age.steel_saw.subtitle": "Кам'яна Пилка та LV Різак в одному!", - "quests.steam_age.steel_saw.desc": "Це покращення твоєї Базової Механічної Пили, яке також може виконувати деякі металеві рецепти, наприклад, перетворювати стержні на чотири болти та різати блоки на пластини. Для всіх цих рецептів потрібна рідина, але наразі можна просто використовувати воду.\n\nТакож її можна застосувати для отримання дешевших Гумових Листів, якщо спочатку за допомогою Плавильної Печі Сплавів перетворити масу на блок.", + "quests.steam_age.steel_saw.desc": "Це оновлення вашої базової механічної пилки, яке також може обробляти деякі металеві рецепти, наприклад перетворення стрижнів на чотири болти та розрізання блоків на пластини. Усі ці рецепти вимагатимуть рідини, але наразі ви можете просто використовувати воду. \n\nВи також можете застосовувати її для дешевших гумових листів, якщо спершу використаєте плавильник сплавів, щоб перетворити вашу масу на блок. \n\nЩе не робили кобальтової латуні? Ви можете або сплавити її у тиглі, використовуючи будь-що, що плавиться у алюмосилікат, або застосувати міксер з алюмінієвим пилом із переробки руди.", "quests.steam_age.rolling_mill.title": "Вальцювальний Станок", "quests.steam_age.rolling_mill.subtitle": "Друга половина LV Згинального Верстата", "quests.steam_age.rolling_mill.desc.1": "З усіх машин парової епохи, які ви могли б створити, &3Вальцювальний Станок&r є одним з найкращих, з простої причини: він виготовляє одинарні пластини з одинарних злитків. Бонусом є те, що він також може виготовляти тонкі листи дешевше, ніж вручну!", @@ -3623,6 +3903,10 @@ "quests.steam_age.steel_mech_press.subtitle": "Майже ковальський молот", "quests.steam_age.steel_mech_press.desc.1": "Ковальський молото на парі високого тиску вже не за горами — він може робити майже все те, що й ця машина. Але якщо вам конче потрібні рецепти автоматичного зварювання вищого рівня — це ваш шанс.\n\nЯкщо ви не знайомі з ковальським молотом, то і він, і сталевий механічний прес можуть дробити руди (без побічних продуктів), перетворювати камінь у булижник, потім у гравій, а далі в пісок, а також розбивати цеглу. Однак лише ковальський молоток може запропонувати &3дешевший рецепт металевих пластин&r...", "quests.steam_age.steel_mech_press.desc.2": "&l&3Лор:&r&o Механічний прес з мода Create колись був ключовим елементом прогресу в пізній паровій епосі до версії 0.9 TerraFirmaGreg, адже він виробляв пластини за ще вигіднішим співвідношенням 5 до 4. Проте його реалізація насправді означала: «20 відсотків часу ви не отримуєте нічого», що змусило багатьох гравців заявити, як сильно вони люблять азартні ігри під час його використання.", + "quests.steam_age.supers.title": "Супер скрині та Супер резервуари", + "quests.steam_age.supers.subtitle": "Супершухляди для зберігання", + "quests.steam_age.supers.desc": "Це &cу&6ль&eт&aи&bм&9ти&5в&4не&r портативне рішення для зберігання, якщо у вас багато однотипних предметів або рідин. Хоча ці &dБазові&r (&8ULV&r) варіанти починаються з відносно невеликого обсягу, вищі рівні Суперскринь і Супербаків можуть вміщувати неймовірну кількість речей — усе в одному блоці, без урахування температури чи кислотності!\n\nЯк і Барабани, Супербаки та Суперскрині &6зберігають вміст після зламу&r, можуть бути очищені в крафтовій сітці та автоматично утилізують надлишки. Проте, на відміну від барабанів, Супербаки також &aбезпечно утримують&r свій вміст, запобігаючи опікам, обмороженню чи спливанню.\n\nЯкщо жадаєте &9ще більше&r зберігання — зверніть увагу на Суперпозиційні скрині та баки вищого рівня або комірки зберігання AE2.", + "quests.steam_age.supers.task": "Будь-яка супер скриня або резервуар", "quests.stone_age": "Кам’яна доба", "quests.stone_age.subtitle": "Скромний початок", "quests.stone_age.foods.title": "Зголоднів?", @@ -3781,6 +4065,11 @@ "quests.stone_age.hazards.subtitle": "Думали, що поверхня була складною? Помилково думали.", "quests.stone_age.hazards.desc.1": "Окрім монстрів, найбільшим викликом при видобутку є обвали. Якщо під Необробленим каменем або блоком руди є повітря, він вважається «непідтримуваним» і має шанс спричинити обвал кожного разу, коли поруч з ним добувається інший блок. Стелі печер вкриті загартованим каменем, який не спричиняє обвалів. \nЩоб зменшити ризик, найбезпечніше — добувати лише підлогу, але якщо ви хочете безпечно добувати щось інше, вам доведеться навчитися використовувати підпірки! Вони створюються з колод та пилки.", "quests.stone_age.hazards.desc.2": "Польовий довідник має більше деталей та діаграм про те, як саме працюють підпірки, але коротка версія: вам потрібно розташовувати їх ось так на відстані в чотири блоки одна від одної. Тільки верхні вертикальні підпірки фактично підтримують конструкцію, і вони мають невеликий радіус.", + "quests.stone_age.medical_conditions.title": "Медичні Стани", + "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.task": "Я власний лікар", "quests.stone_age.copper_for_anvil.title": "Мідь для ковадла", "quests.stone_age.copper_for_anvil.subtitle": "Вам краще звикнути до того, що потрібно здобувати 14 зливків чогось.", "quests.stone_age.copper_for_anvil.desc": "Ковадла недешеві! Для кожного ковадла потрібно 14 зливків, які потім зварюються у 7 подвійних зливків.\n\nЯкщо ви ще не почали видобуток, зараз саме час розпочати. Зібрати 126 шматків малої міді — це непросте завдання.", @@ -3790,7 +4079,7 @@ "quests.stone_age.create_forge.title": "Кузня", "quests.stone_age.create_forge.subtitle": "Тканина, до речі, не існує.", "quests.stone_age.create_forge.desc": "Кузня — це сучасна станція для створення, яка використовується для нагрівання матеріалів до високих температур. Час нагрівання матеріалів у кузні значно швидший, ніж у ямі для обпалювання, і набагато легше контролюється.\n\nДля створення кузні вам знадобиться щонайменше 7 одиниць деревного вугілля та 5 блоків кам'яного типу, таких як Необроблений камінь або бруківка. \nКузня не використовує колоди, натомість вона споживає деревне вугілля, кам'яне вугілля або кокс.\n\nПерегляньте польовий довідник, щоб знайти покрокові інструкції зі створення ями для деревного вугілля та кузні.", - "quests.stone_age.rock_anvil.title": "Кам'яна ковадла", + "quests.stone_age.rock_anvil.title": "Кам'яна Ковадло", "quests.stone_age.rock_anvil.subtitle": "Це не протримається довго", "quests.stone_age.rock_anvil.desc": "Ковадла є основою всього металооброблення на ранніх етапах гри. Щоб створити справжню металеву ковадлу, вам потрібно зварити зливки, використовуючи ковадлу попереднього рівня. Оскільки мідь є першим рівнем, ви повинні використовувати кам'яну ковадлу для їх зварювання. Ви можете створити кам'яну ковадлу, клацнувши правою кнопкою миші по блоку Необробленого магматичного каменю за допомогою молота. На жаль, зварювання зливків — це єдине, що вона може робити, вам знадобиться металева ковадла, щоб надавати їм форму.", "quests.stone_age.quern.title": "Жорна та ручний камінь", @@ -3818,13 +4107,15 @@ "quests.tfg.subtitle": "Ласкаво просимо до TerraFirmaGreg!", "quests.tfg.welcome.title": "Ласкаво просимо до TerraFirmaGreg!", "quests.tfg.welcome.subtitle": "Модпак виживання, яким він мав бути", - "quests.tfg.welcome.desc": "Дякуємо, що розпочав TerraFirmaGreg Modern!\n\nУ цьому модпаку тобі доведеться взяти під контроль незайману природу та перетворити її на індустріальне диво. Почни зі скромного збирання камінців, а заверши, подорожуючи міжзоряним простором!", + "quests.tfg.welcome.desc": "Дякуємо, що розпочали гру в TerraFirmaGreg Modern!\n\nУ цьому модпаці вам належить взяти під контроль незайману дику природу та перетворити її на індустріальне диво. Почніть зі скромного початку — підбираючи камінці, а завершите — мандруючи міжзоряним простором!", "quests.tfg.create_team.title": "Як створити команду?", "quests.tfg.create_team.subtitle": "Граєш з друзями?", "quests.tfg.create_team.desc": "Ти можеш створити команду, щоб виконувати квести разом. Для цього відкрий інвентар, а потім у верхньому лівому куті вибери кнопку із зображенням трьох кольорових людей. Після цього відкриється інтерфейс, у якому можна створити команду. Натисни кнопку §aСтворити команду§r, задай їй назву та, можливо, інші параметри. Після успішного створення команди ти зможеш запросити інших гравців за допомогою кнопки плюс у зеленому колі у верхньому правому куті. З цього моменту твої квести будуть синхронізовані, і будь-який член команди зможе їх виконувати. Успіхів!", "quests.tfg.capture_territory.title": "Як захопити територію?", "quests.tfg.capture_territory.subtitle": "А як завантажити чанки у своїй території?", - "quests.tfg.capture_territory.desc": "Якщо ти граєш на сервері, можливо, захочеш позначити свою територію, щоб інші гравці не могли втручатися. Використай клавішу відкриття заявок (за замовчуванням \"Ctrl+M\"), щоб відкрити вікно, потім клацни лівою кнопкою миші, щоб позначити чанк, і правою кнопкою, щоб зняти позначку. Є обмеження, тому ти не можеш позначити все. Ти можеш Shift+Лкм на чанку, щоб примусово завантажити його (\"chunk load\"), і Shift+Пкмкмщоб скасувати примусове завантаження. Позначені чанки включатимуть всю твою команду, якщо ти її використовуєш.", + "quests.tfg.capture_territory.desc": "Якщо ви граєте на сервері, можливо, вам захочеться захопити свою територію, щоб інші гравці не заважали. Натисніть клавішу відкриття меню привласнення (типово \"Ctrl+M\"), щоб відкрити вікно, потім клацніть лівою кнопкою миші, щоб захопити чанк, і правою — щоб скасувати захоплення.\n\nІснує обмеження на кількість чанків, які можна захопити, тож ви не зможете захопити все. Ви також можете натиснути Shift + Лкм по чанку, щоб примусово його завантажити (так зване \"chunk load\"), або Shift + ПКМ щоб скасувати це. Захоплення чанків поширюється на всю вашу команду, якщо ви в одній.", + "quests.tfg.chunk_limit.title": "Як збільшити ліміт завантаження чанків?", + "quests.tfg.chunk_limit.desc": "Якщо ви граєте на сервері, за замовчуванням у вас є лише невелика кількість доступних чанків із примусовим завантаженням.\n\nВласники серверів можуть змінити це (перевірте файл README.txt!), але якщо у вас є права оператора (або ввімкнені чіти), ви також можете скористатися командою \n&a/ftbchunks admin extra_force_load_chunks @p set X&r, \nде **X** — це новий ліміт.", "quests.tfg.field_guide.title": "Важлива інформація про квести!", "quests.tfg.field_guide.subtitle": "Мені потрібно читати більше?", "quests.tfg.field_guide.desc": "Квести ще в розробці, і ми постійно працюємо над їх покращенням! Багато інформації про конкретні механіки також є у твоєму \"Польовому довіднику\", який можна знайти через вкладку Книги в інвентарі.\n\nПам’ятай, що і JEI, і \"Польовий довідник\" — твої союзники, адже не все буде пояснено через квести.", @@ -3878,7 +4169,7 @@ "quests.tfg_tips.red_steel_backpack.title": "Рюкзак з Червоної Сталі", "quests.tfg_tips.red_steel_backpack.subtitle": "Крутіший за Рюкзак з Синьої Сталі", "quests.tfg_tips.red_steel_backpack.desc": "&4Рюкзак з Червоної Сталі&r — це твоє перше повноцінне покращення інвентарю рюкзака. \nВін має загальну кількість слотів &c54&r та може вміщувати &aдва покращення.&r", - "quests.tfg_tips.aluminium_backpack.title": "Рюкзак з Алюмінієвої Сталі", + "quests.tfg_tips.aluminium_backpack.title": "Рюкзак з Алюмінію", "quests.tfg_tips.aluminium_backpack.subtitle": "Це Алюміній чи Алюмініум?", "quests.tfg_tips.aluminium_backpack.desc": "&bРюкзак з Алюмінію&r — це твоє друге повноцінне покращенняінвентарюя рюкзака. \nВін має загальну кількість слотів &c81&r та може вміщувати &aтри покращення.&r", "quests.tfg_tips.titanium_backpack.title": "Рюкзак з Титану", @@ -3902,15 +4193,52 @@ "quests.tfg_tips.gt.title": "GregTech", "quests.tfg_tips.gt.subtitle": "Одна третина назви модпака, зрештою.", "quests.tfg_tips.gt.desc": "&3GregTech&r може бути досить складним, але ця гілка квестів має допомогти тобі розібратися.", + "quests.tfg_tips.gt_power_tools.title": "Електро-інструменти", + "quests.tfg_tips.gt_power_tools.subtitle": "Чоловіки хочуть лише одного, і це к&ляте& огидно", + "quests.tfg_tips.gt_power_tools.desc.1": "Як і будь-який хороший технічний мод, &5GregTech&r пропонує широкий вибір &6інструментів&r, які можна використовувати. \nЩоб вони працювали, їх потрібно &aзаряджати енергією&r — і є кілька способів зробити це: покласти інструмент у &6Батарейний буфер&r, у &dенергетичний слот&r машини або, ще краще, скористатися &eТурбо-зарядником&r. \n\nПам’ятай: заряджати предмет можна лише від джерела живлення &7того ж&r або &aвищого рівня&r. &cДжерела нижчого рівня&r не працюватимуть з інструментами вищого рівня — але не хвилюйся, &cнічого не повинно вибухнути&r. Напевно.", + "quests.tfg_tips.gt_power_tools.desc.2": "Більшість &5інструментів GregTech&r створюються з &6головки інструмента&r. Спробуй використовувати &aEMI&r, щоб дослідити, що можна з ними зробити — просто пам’ятай дві важливі речі: \n\n- Чим &eвищий рівень головки інструмента&r, тим &cпотужнішим&r буде інструмент і тим &6більший акумулятор&r він використовуватиме. \n- Не кожен інструмент підтримує кожен рівень головки. Наприклад, &6бензопила&r може бути створена лише з &7LV головкою інструмента&r.", "quests.tfg_tips.nano_saber.title": "Нано-шабля", "quests.tfg_tips.nano_saber.subtitle": "26 одиниць шкоди при активації!", - "quests.tfg_tips.nano_saber.desc": "&6Нано-шабля&r — це потужна зброя, яку ти зможеш розблокувати, коли досягнеш &5EV&r. Просто використовуй &dShift + Правий клік&r, щоб активувати &cbzzzzz режим&r.", - "quests.tfg_tips.gt_tools.title": "Інструменти GregTech", - "quests.tfg_tips.gt_tools.subtitle": "", - "quests.tfg_tips.gt_tools.desc": "Більшість &5інструментів GregTech&r створюються з &6головки інструмента&r. Спробуй використовувати &aEMI&r, щоб дослідити, що можна з ними зробити — просто пам’ятай дві важливі речі: \n\n- Чим &eвищий рівень головки інструмента&r, тим &cпотужнішим&r буде інструмент і тим &6більший акумулятор&r він використовуватиме. \n- Не кожен інструмент підтримує кожен рівень головки. Наприклад, &6бензопила&r може бути створена лише з &7LV головкою інструмента&r.", + "quests.tfg_tips.nano_saber.desc": "&6Нано-шабля&r — це потужна зброя, яку ви зможете розблокувати, коли досягнете пізнього рівня &5EV&r. Просто використайте &dShift + Пкм&r, щоб активувати &cрежим «бззззз»&r.", "quests.tfg_tips.magnets.title": "Магніти для предметів", - "quests.tfg_tips.magnets.subtitle": "", + "quests.tfg_tips.magnets.subtitle": "2010 подзвонив — він хоче назад свій джаггало-мем", "quests.tfg_tips.magnets.desc": "&6Магніт для предметів&r — це саме те, що ти очікуєш — магніт, який притягує &6предмети&r прямо до тебе. &aДуже корисно&r. Що ще можна бажати?", + "quests.tfg_tips.long_distance_items.title": "Далекобійні предметні труби", + "quests.tfg_tips.long_distance_items.subtitle": "Цікаво, як пересувати ці руди?", + "quests.tfg_tips.long_distance_items.desc": "&3Далекобійні предметні труби&r можна використовувати для транспортування предметів на великі відстані. Розмісти один кінцевий вузол на кожному кінці та з’єднай їх блоками трубопроводу. \n\nЦі труби миттєво передають предмети з боку введення на бік виведення. \n\nВони також мають мінімальну відстань між кінцевими вузлами, тож їх не можна застосовувати для короткодистанційних операцій.", + "quests.tfg_tips.long_distance_fluids.title": "Далекобійні рідинні труби", + "quests.tfg_tips.long_distance_fluids.subtitle": "Цікаво, як пересувати ту нафту?", + "quests.tfg_tips.long_distance_fluids.desc": "&3Далекобійні рідинні труби&r можна використовувати для пересилання рідин на великі відстані. Розмісти один кінцевий вузол на кожному кінці та з’єднай їх блоками трубопроводу. \n\nЦі труби миттєво передають рідину з боку введення на бік виведення. \n\nВони також мають мінімальну відстань між кінцевими вузлами, тож їх не можна застосовувати для короткодистанційних операцій. \n\nЦі труби мають репутацію &4багованих&r при налаштуванні. Якщо вони спершу не працюють, спробуй повернути кінцеві вузли за допомогою &eГайкового ключа&r.", + "quests.tfg_tips.crates.title": "Сховище GregTech", + "quests.tfg_tips.crates.subtitle": "Ранньо-ігрове буферування", + "quests.tfg_tips.crates.desc": "Теоретично, Ящики — це пряме покращення Скринь. Один блок простору, що вміщує більше предметів — чого ще можна бажати? \n\nВони дорожчі за звичайні Скрині й не можуть бути приєднані до механізмів Create, але здатні зберігати предмети будь-якого розміру та можуть &6приймати накладки&r, що робить їх ідеальними кандидатами для буферів в автоматизації.", + "quests.tfg_tips.tape.title": "Скотч для Ящиків", + "quests.tfg_tips.tape.subtitle": "Пересування речей", + "quests.tfg_tips.tape.desc": "Ти можеш клацнути ПКМ по Ящику зі Скотчем, і тоді він збереже свій вміст після руйнування, що значно полегшує його переміщення. Однак це працює лише один раз на кожну стрічку. \n\nДобре, що він дешевий!", + "quests.tfg_tips.terminal.subtitle": "Автоматичний збирач багатоблокових конструкцій", + "quests.tfg_tips.terminal.desc": "&bТермінал&r має одну головну мету, і &aми настійно рекомендуємо його створити&r. \n\nБудівництво всіх цих &eБагатоблоків&r може бути трохи &cлякаючим&r, чи не так? Ось порада: використай &dShift + ПКМ&r на будь-якому &6Контролері багатоблоку&r, щоб &aавтоматично зібрати всю конструкцію&r! \n\nМожливо, доведеться &eперемістити деякі шини та люки&r під свою конфігурацію, але загалом ця функція заощадить тобі &aбагато часу&r.", + "quests.tfg_tips.memory_card.subtitle": "Копіювати та вставити", + "quests.tfg_tips.memory_card.desc": "Коли ти намагаєшся &aпаралелізувати свою систему&r з більшою кількістю машин, може бути клопітно налаштовувати всі &eвходи&r та &eвиходи&r для кожної з них. Так, ми маємо на увазі тебе, &dСупер Скрині&r та &dРезервуари&r. \n\nЯкщо коли-небудь знадобиться цей маленький інструмент — не вагайся його використати.", + "quests.tfg_tips.portable_scanner.subtitle": "Для найцікавіших гравців GregTech", + "quests.tfg_tips.portable_scanner.desc.1": "&aПортативний сканер&r, або &aТрикордер&r, є інструментом налагодження GTCEu. \n\nЙого використання покаже деталі блока, інформацію про енергомережу, поточний стан і вміст, а також вплив на продуктивність. \n\nВін також відображає відсоток рідини, що залишилася у рідинній жилі для &3Рідинних бурових установок&r.", + "quests.tfg_tips.portable_scanner.desc.2": "&l&3Лор:&r&o Цей корисний пристрій походить із GregTech 5. Він був надзвичайно корисним у перші дні, адже графічні інтерфейси та WAILA майже не надавали інформації (фактично нічого).", + "quests.tfg_tips.duct_tape.subtitle": "Якщо ви не можете виправити це за допомогою цього, використовуйте більше!", + "quests.tfg_tips.duct_tape.desc": "Ти, мабуть, помітив, що більшість &eБагатоблоків&r потребують &6Люк обслуговування&r. До &6HV&r, де можна отримати &aАвтоматичний люк обслуговування&r, ти можеш використати цей предмет, щоб полагодити люк без потреби застосовувати всі інструменти для обслуговування. \n\nЦе може бути дуже корисним, якщо ти ще не хочеш вкладатися в &aАвто люк обслуговування&r або якщо ти просто &cще не дійшов до цього&r.", + "quests.tfg_tips.gt_filters.title": "Фільтри", + "quests.tfg_tips.gt_filters.desc": "З &5GregTech&r ти отримуєш доступ до різних &6фільтрів&r, які допомагають плавно перейти до &aавтоматизації&r. \nУсі вони сумісні з різними &dНакладками&r, про які ти дізнаєшся більше в розділі &7LV&r. \n\nТут ми представляємо ще два більш специфічні фільтри, які можуть бути &bкорисними&r у певних ситуаціях. \n\nЩоб використати фільтр, просто застосуй його як &dНакладку&r на будь-яку &5GT Машину&r або &6трубу&r.", + "quests.tfg_tips.smart_item_filter.subtitle": "Тук‑тук — хто там? Це MENSA!", + "quests.tfg_tips.smart_item_filter.desc.1": "У цьому завданні ми даруємо тобі &5прокляту мудрість&r... уміння легко автоматизувати Електролізер. \n\n&9Розумний фільтр предметів&r — це фільтр, що розпізнає Карти рецептів. Якщо розмістити його з боку машини, можна встановити режим \"&3Електролізер&r\", щоб дозволити вставку саме електролізованих предметів. Так, ти почув правильно — більше не потрібно фільтрувати вручну! \n\nІ це стає &aще кращим&r. Якщо поєднати цього хлопця з &aРоботизованою рукою&r, він подаватиме лише &6точну кількість&r предметів, необхідну для успішного рецепту в машину.", + "quests.tfg_tips.smart_item_filter.desc.2": "Встанови &aРоботизовану руку&r на свій Електролізер, відкрий його GUI та помісти всередину &9Розумний фільтр&r. Переконайся, що фільтр налаштований на Електролізер. \n\nДалі сконфігуруй його на &d&lІмпорт&r та &d&lТочне постачання&r. Нарешті, приєднай будь-яке сховище &7(підійде й Скриня)&r до тієї сторони, де ти розмістив &aРоботизовану руку&r. Та-да! Ти розібрався, як обробляти &6усі&r рецепти Електролізера! \n\nА що щодо виходу з &3Електролізера&r? Можна направити рідини до кількох Резервуарів— або навіть до &3Супер Резервуарів&r, якщо ти вже дійшов до цього етапу. Ми настійно рекомендуємо уникати будь-яких методів, що передбачають видалення рідин.&7.&8. окрім Води з очевидних причин.", + "quests.tfg_tips.smart_item_filter.desc.3": "&9Примітка:&r Роботизована рука повинна здійснювати передачу предметів, щоб її функція фільтрації працювала! Пряме вставляння в машину &7(наприклад, за допомогою Воронки!)&r ігноруватиме налаштування &dТочного постачання&r Роботизованої руки.", + "quests.tfg_tips.hazard_materials.title": "Небезпечні матеріали", + "quests.tfg_tips.hazard_materials.subtitle": "Небезпека задухи, від 3+ років", + "quests.tfg_tips.hazard_materials.desc": "У новій версії &5Gregtech&r було запроваджено &cсистему небезпек&r. Якщо утримувати &dShift&r, навівши курсор на &cНебезпечні матеріали&r, можна побачити, як вони можуть вплинути на тебе. \n\nМи настійно радимо використовувати належне &6захисне спорядження&r, щоб зберегти свої &cоргани неушкодженими&r.", + "quests.tfg_tips.face_mask.desc": "&6Захисна маска&r убереже тебе від &cвдихання небезпечного пилу&r. Вона досить &aпроста у створенні&r та має запобігти проблемам під час роботи з &5миш’яком&r.", + "quests.tfg_tips.rubber_gloves.desc": "&6Рукавички&r очевидно захистять тебе від &cнебезпеки контакту зі шкірою&r. Є два способи їх створити: &7довший і більш складний шлях&r через &2TerrafirmaCraft&r або значно &aпростішим методом&r за допомогою &6Високотемпературного парового рлавильника сплавів&r.", + "quests.tfg_tips.hazmat.title": "Костюм для роботи з небезпечними матеріалами", + "quests.tfg_tips.hazmat.desc": "&6Костюм для роботи з небезпечними матеріалами&r — це найкращий спосіб захистити себе від &cбудь-якої шкоди&r. Ти зможеш створити його, коли досягнеш &bMV&r, і &aтобі обов’язково варто витратити час, щоб це зробити&r.", + "quests.tfg_tips.armor.title": "Броня GregTech", + "quests.tfg_tips.armor.desc": "З &5GregTech&r приходить власна лінійка броні. Звісно, було круто носити &7металеві пластини&r, але тепер, коли ти став &bіндустріальним маніяком&r, можливо, настав час придивитися до &aтехнологічної броні&r. \n\n&5GregTech&r пропонує дві моделі. Перша стає доступною приблизно на рівні &6HV&r і забезпечує кращий захист, ніж будь-що, що ти носив раніше. Вона оснащена &eсильним утепленням&r, щоб витримувати суворий клімат Землі, і навіть може бути вдосконалена за допомогою &dРеактивного ранця&r. \n\nДруга модель буде доступна значно пізніше — приблизно на рівнях &1IV&r та &dLuV&r. Вона дозволить тобі &9дихати в космосі&r, використовуючи &3кисень&r.", "quests.tfg_tips.terrafirmacraft.title": "Доповнення TerraFirmaCraft", "quests.tfg_tips.terrafirmacraft.subtitle": "Інші дві третини назви модпака", "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&r — один з основних модів у &2TerraFirmaGreg.&r \nЦя гілка здебільшого зосереджується на деяких його функціях виживання та інших &dДоповненнях&r модпака, таких як &4Витриманий Алкоголь&r та &bТростини.&r", @@ -3922,6 +4250,10 @@ "quests.tfg_tips.hiking.subtitle": "&oЦі чоботи створені для ходьби", "quests.tfg_tips.hiking.desc": "&dПохідні чоботи&r дозволяють легше досліджувати ваш світ! Всі &dПохідні чоботи&r дозволяють проходити крізь високу траву без опору. Крім того, кожен рівень &dПохідних чобіт&r поступово дає більше &9броні&r, &9швидкості ходьби&r та &9опору до падіння&r разом з іншими бонусами.", "quests.tfg_tips.hiking.task": "Будь-які Похідні Чоботи", + "quests.tfg_tips.feeding_troughs.title": "Годівниця", + "quests.tfg_tips.feeding_troughs.subtitle": "Металевий помічник на фермі", + "quests.tfg_tips.feeding_troughs.desc": "Годівниці (також відомі як Станції догляду) — це спосіб автоматично годувати своїх тварин щоранку. Вони навіть мають опцію, яка дозволяє уникати годування тварин із максимальною прихильністю, якщо ти не хочеш їх розводити. \n\nВищі рівні забезпечують більший радіус ефективності. \n\n&3&lПорада:&r&o Не варто ставити годівницю прямо біля паркану, інакше тварини спробують використати її, щоб утекти зі свого загону!", + "quests.tfg_tips.feeding_troughs.task": "Будь-яка годівниця", "quests.tfg_tips.glassblowing.title": "Склодувне ремесло", "quests.tfg_tips.glassblowing.subtitle": "Реалістична робота зі склом!", "quests.tfg_tips.glassblowing.desc": "Щоб створити будь-яку &dСкляну Панель&r або &dБлок&r, тобі знадобиться &3склодувна&r установка. \n\n&3Склодувне ремесло&r потребує &aДухову трубку&r та платформу з відповідних блоків для заливання розплавленого скла. \nПереглянь &2Польовий Посібник&r, щоб дізнатися більше про форму платформи та допустимі блоки. Ти отримаєш доступ до склодувного ремесла, щойно зможеш обробляти &aЛатунь!&r", @@ -4179,7 +4511,7 @@ "quests.tfg_tips.create_tree_sugar.task": "Кленовий або Березовий Цукор", "quests.tfg_tips.create_rubber_ingot.title": "Гумовий злиток", "quests.tfg_tips.create_rubber_ingot.subtitle": "Ізолюй ці кабелі", - "quests.tfg_tips.create_rubber_ingot.desc": "Використовуючи &bВакуумну Камеру&r та додаткове нагрівання, ти можеш обробити &aЛатекс&r з різних дерев у &dНеоброблену Гумову Масу&r через спеціальний процес. Потім можна переплавити 3 &dНеоброблені Гумові Маси&r з невеликою кількістю &eСірчаного Пилу&r \nв &bСплавному Плавильнику&r, щоб створити &dГумові Злитки&r. Вони ідеально підходять для ізоляції кабелів і є необхідними для прогресу \nв &2Епоху Вольтаїки&r та далі...", + "quests.tfg_tips.create_rubber_ingot.desc": "Використовуючи &bВакуумну камеру&r та додатковий нагрів, ти можеш обробити &aЛатекс&r із різних дерев у &dСиру гумову масу&r через спеціальний процес. \nПотім можна переплавити 3 &dСирі гумові маси&r з невеликою кількістю &eПилу сірки&r у &bПлавильнику сплавів&r, щоб створити &dГумові злитки&r — ідеальні для ізоляції кабелів та абсолютно необхідні для просування у &2Вольтову епоху&r і далі... \n\n&9Порада:&r У міру прогресу з’явиться кілька способів зробити цей процес дешевшим і простішим. Постійно перевіряй EMI! Ти використовуватимеш Гуму ще довго, тож автоматизація цього процесу точно варта зусиль.", "quests.tfg_tips.transportation.title": "Транспортування", "quests.tfg_tips.transportation.subtitle": "Для подорожей цим величезним світом", "quests.tfg_tips.transportation.desc": "Світ — дуже велике місце, і тобі, можливо, доведеться подорожувати на великі відстані, \nщоб знайти конкретні ресурси для виживання та розвитку. Моди в цьому розділі нададуть тобі різноманітні варіанти транспорту.", @@ -4187,8 +4519,8 @@ "quests.tfg_tips.glider.subtitle": "Це не Breath of the Wild", "quests.tfg_tips.glider.desc": "&dДельтаплан&r можна використовувати для ковзання у повітрі. Ти &cне можеш набирати висоту&r з ним, але він корисний для подолання великих відстаней, \nякщо стрибати з висоти. \nЧудово поєднується з &bРеактивними Ранцями&r!", "quests.tfg_tips.reinforced_glider.title": "Посилений дельтаплан", - "quests.tfg_tips.reinforced_glider.subtitle": "Елітра витрачена не дарма...?", - "quests.tfg_tips.reinforced_glider.desc": "Якщо поєднати &aЕлітру&r, створену на &6HV&r, з &aДельтапланом&r, ти отримаєш &dПосилений планер&r. Він має більшу міцність і вищу межу швидкості.", + "quests.tfg_tips.reinforced_glider.subtitle": "Легкий, мов пір’їнка!", + "quests.tfg_tips.reinforced_glider.desc": "&dПосилений дельтаплан&r — це покращена версія &aДельтаплана&r. Завдяки вдосконаленій рамі з &aАлюмінію&r та полотну, виготовленому з &aПосиленої тканини&r або &aЛегкої тканини&r, ви тепер можете ширяти небом на &cподвійній швидкості&r! \nВін також має &cбільшу міцність&r, ніж звичайний дельтаплан, і може бути &cвідремонтований&r в збирачі. \n\n&3Порада:&r \nВикористання &aШовкової тканини&r або &aФантомного шовку&r, здобутих у &4Безодні&r, зменшує витрати тканини на &e2/3&r як для створення, так і для ремонту! \nДосягнувши рівня &6HV&r, ви також можете використовувати &aПолікапролактамову тканину&r як один із матеріалів зі зниженими витратами.", "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", "quests.tfg_tips.immersive_aircraft.subtitle": "Лети крізь небеса зі стилем.", "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive Aircraft&r — це мод, присвячений авіації, що дозволяє долати великі відстані у небі.", @@ -4253,7 +4585,7 @@ "quests.tfg_tips.firmaciv_info.desc": "&3Firma:Civ&r має 4 різні навігаційні інструменти, кожен з яких надає важливу інформацію про твоє місцезнаходження у світі. До них входять &dСекстант&r, &dНавігаційний хронометр&r, &dБарометр&r та &dКомпас&r; більше інформації про інструменти можна знайти у &2Польовому путівнику.&r \n\n&3&lЛор:&r&o За замовчуванням Firma:Civ прибирає координати, щоб змусити тебе використовувати її навігаційні інструменти. Ми не можемо зробити це тут, тому... використовуй їх, якщо хочеш зануритися в рольову гру.", "quests.tfg_tips.warfare.title": "Морська війна", "quests.tfg_tips.warfare.subtitle": "ВІДКРИЙТЕ ВОГОНЬ З УСІХ ГАРМАТ!", - "quests.tfg_tips.warfare.desc": "Ти можеш оснастити свою &bШлюпку&r вогневою міццю за допомогою &dГармати&r та гарматних ядер, якщо хочеш рознести щось на друзки. \n\nЩоб вистрілити з гармати, потрібно зарядити її &aПорохом, Необробленим Папером&r та своїм &aГарматним ядром&r. Потім запали ґніт за допомогою &cКременю та Сталі.&r", + "quests.tfg_tips.warfare.desc": "Ти можеш озброїти свій &bШлюп&r &dГарматою&r та ядрами, якщо захочеш рознести щось на друзки. Щоб вистрілити з гармати, потрібно зарядити її &aПорохом, Неочищеним папером&r та своїм &aГарматним ядром&r. Потім підпали ґніт за допомогою &cКресала та сталі.&r \n\nНемає &bШлюпа&r? Не хвилюйся! Гармати можна встановлювати й стріляти з землі так само, як і на &bШлюпі&r.", "quests.tfg_tips.kayak_materials.title": "Каяк", "quests.tfg_tips.kayak_materials.subtitle": "Здобудь собі цей каяк.", "quests.tfg_tips.kayak_materials.desc": "&dКаяк&r — це другий найпростіший човен, який можна створити, вимагаючи &bВоски&r для &aВодонепроникних шкір&r. Це також &cєдиний&r човен, який можна підібрати як предмет. Попри те, що він має &dодне пасажирське&r місце, це найшвидший човен у грі до сталевої епохи &dШлюпки!&r", @@ -4327,7 +4659,7 @@ "quests.tfg_tips.beehive.desc": "Щоб розпочати свою подорож у бджільництві, тобі знадобляться &bВулик&r та &aРамка для вулика.&r На відміну від звичайного Minecraft, вулики не з’являються природним чином— бджоли з’являються лише у створених гравцем &bВуликах&r з рамками, заселеними &eКоролевами.&r Шанс заселення рамки королевою залежить від випадковості, але ти можеш підвищити свої шанси, розмістивши &dквіти&r навколо вулика. \n\nЯк тільки рамка буде заселена, вона почне створювати бджіл, які вироблятимуть мед.", "quests.tfg_tips.not_the_bees.title": "Бджолярська броня", "quests.tfg_tips.not_the_bees.subtitle": "ТІЛЬКИ НЕ БДЖОЛИ!", - "quests.tfg_tips.not_the_bees.desc": "Бджоли не люблять, коли їх турбують і збирають їхній цінний мед та віск. Є три способи зробити це безпечно: \n\n* &dЗбір у нічний час&r \n* &dВикористання багаття&r \n* &dВикористання бджолярської броні&r", + "quests.tfg_tips.not_the_bees.desc": "Бджолам не подобається, коли їх турбують і збирають їхній дорогоцінний мед та віск або рухають рамки. Є три способи зробити це безпечно: \n\n* &dЗбір уночі&r \n* &dВикористання багаття&r \n* &dВикористання Броні пасічника&r", "quests.tfg_tips.not_the_bees.task": "Я використаю або Багаття, або почекаю Заходу сонця.", "quests.tfg_tips.honey.title": "Мед", "quests.tfg_tips.honey.subtitle": "Ой, халепа...", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 73016156f..b3ffb52df 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -4000,7 +4000,7 @@ "quests.steam_age.steel_mech_press.desc.2": "&l&3背景知识:&r&o在TerraFirmaGreg的0.9版本之前,机械动力冲压机曾是蒸汽时代后期的关键设备,因其能以5:4的更优比例生成板材。然而当时的实现机制实为“20%%概率血本无归”,这让许多使用者一边高呼自己热爱赌博一边继续使用。", "quests.steam_age.supers.title": "超级箱与超级缸", "quests.steam_age.supers.subtitle": "超级存储抽屉", - "quests.steam_age.supers.desc": "如果你有大量单一物品或流体,这是&c终&6极&e便&a携&b式&物&5品&4存储解决方案。虽然这些&d基础&r(&8ULV&r)型号起初容量相对较小,但更高级的超级箱和超级缸能容纳惊人数量的物品——所有东西都储存在单个方块中,且完全无视温度或酸度影响!\n\n与桶类似,超级缸和超级箱在&6被破坏时会保留内部物品&r,可通过合成栏清空其内容,并能自动清空任何溢出的内容。然而,与桶不同的是,超级缸还能&a安全地容纳&r其中的流体,防止你被烫伤、冻伤或飘起来。\n\n如果你渴望&9更大&r的存储空间,可以看看更高级的量子箱、量子缸或AE2存储元件。", + "quests.steam_age.supers.desc": "如果你有大量单一物品或流体,这是&c终&6极&e便&a携&b式&a物&5品&4存储解决方案。虽然这些&d基础&r(&8ULV&r)型号起初容量相对较小,但更高级的超级箱和超级缸能容纳惊人数量的物品——所有东西都储存在单个方块中,且完全无视温度或酸度影响!\n\n与桶类似,超级缸和超级箱在&6被破坏时会保留内部物品&r,可通过合成栏清空其内容,并能自动清空任何溢出的内容。然而,与桶不同的是,超级缸还能&a安全地容纳&r其中的流体,防止你被烫伤、冻伤或飘起来。\n\n如果你渴望&9更大&r的存储空间,可以看看更高级的量子箱、量子缸或AE2存储元件。", "quests.steam_age.supers.task": "任何超级箱或超级缸", "quests.stone_age": "石器时代", "quests.stone_age.subtitle": "简陋开端", From 9a08b553551d10a50b32a008b77d5a09e8f8eeac Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 23 Dec 2025 17:51:39 +0000 Subject: [PATCH 439/628] fix #2471 --- .../minecraft/textures/item/iron_nugget.png | Bin 1494 -> 262 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/kubejs/assets/minecraft/textures/item/iron_nugget.png b/kubejs/assets/minecraft/textures/item/iron_nugget.png index 503b9a14a548b596a1e0905e78ff55c7ac24d70f..8b3c75338eba1728cc66557e4926554921e0ef54 100644 GIT binary patch delta 234 zcmcb{-NrOQrGB@ki(^Oy-6$g(Xa_?0@BY$}VzFolv1K=CI7dv(O?rK9Gx*>-p3LAKN1s za!+*y&CZYHt!!eb;k1ISk^e62&bR?1Si=#la$>S$11!;NT>JM-; pF#P||wA17f0|Nsa$RErM?i2hK%d9^1F)%PNc)I$ztaD0e0ssO{V1xhw literal 1494 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_qXYnIRD+5xzcF$@#f@i7EL>sd^Q;1q>iyV_#8_n4FzjqL7rDo|$K>^nUk#C56ls zTcvPQUjyF)=hTc$kE){7;3~h6MhI|Z8xtBTx$+|-gpg^Jvqyke^gTP3i$ zR(Zu%AYpwa1+bEmY+EHqkcA2nz5xo(`9-M;rg~<&$%ZCI3g(u2hGqtqMkYE6Mh1rF z`Ud9uhQ_)EhE@hqbJP@rU|U{jQmW)>mYI`kt5h81?xf)9>TG6c zX=bKtq-O|rq_3})XI^nhVqS8pr;DvpMQ(v!W@d_&NlLP%fq}7+u7ydefo^h&iJ@+i zv1y8KibmP5+KFy%omZXhPOyaAOxb_$3>Ej2I2R;ftI z-cCH-;V1(GL!GCKV~EA++6kcKQVV01TJh)|Io0U(~#8?+0z4|vF>JG6T zF!}tkz_8}mCtlZIZ@xOp JF6*2UngFao;%xu` From 34edeccdf6422babd66ef6cdf1ebe3fded9ed599 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 23 Dec 2025 17:52:12 +0000 Subject: [PATCH 440/628] fix bud indicator loot tables and crafting recipe #2499 --- CHANGELOG.md | 1 + .../gregtech/recipes.materials.js | 2 +- .../tfg/ores_and_materials/loot.ores.js | 31 +++++-------------- kubejs/startup_scripts/gtceu/constants.js | 3 +- 4 files changed, 11 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f2a587e23..ebb0bd75c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Fixed overlapping durability numbers on the curio HUD (#2484) @glitchplaysgames714 - Fixed a potential crash involving the refrigerator @Redeix - Fixed the evaporation tower requiring an input hatch even for recipes that don't have a fluid input @glitchplaysgames714 +- Fixed loot tables for ore indicator buds @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 6938448e4..a913fae05 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -792,7 +792,7 @@ function registerGTCEUMetalRecipes(event) { let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( - ChemicalHelper.get(TagPrefix.surfaceRock, material, 1), [gem, '#tfc:chisels'])) + ChemicalHelper.get(TFGTagPrefix.budIndicator, material, 1), [gem, '#tfc:chisels'])) .id(`shapeless/${material.getName()}_bud_indicator`) event.shaped(smallDust, 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 c7bc3b175..60fb0ca79 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -23,15 +23,15 @@ const STONE_TYPES_TO_COBBLE = { granite: 'tfc:rock/cobble/granite', deepslate: 'minecraft:cobbled_deepslate', pyroxenite: 'tfg:rock/cobble_blackstone', - dripstone: 'tfg:block/rock/cobble_dripstone', - keratophyre: 'tfg:block/rock/cobble_crackrack', + dripstone: 'tfg:rock/cobble_dripstone', + keratophyre: 'tfg:rock/cobble_crackrack', moon_stone: 'ad_astra:moon_cobblestone', - moon_deepslate: 'ad_astra:moon_sand', + moon_deepslate: 'tfg:rock/cobble_moon_deepslate', mars_stone: 'ad_astra:mars_cobblestone', venus_stone: 'ad_astra:venus_cobblestone', mercury_stone: 'ad_astra:mercury_cobblestone', glacio_stone: 'ad_astra:glacio_cobblestone', - permafrost: 'gtceu:ice_dust' + permafrost: 'tfg:rock/cobble_permafrost' } const registerTFGOreLoots = (event) => { @@ -69,37 +69,22 @@ const registerTFGOreLoots = (event) => { // Indicator buds if (material.hasProperty(PropertyKey.GEM)) { - let normalDrop = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) - let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1) - let bud = ChemicalHelper.get(TagPrefix.surfaceRock, material, 1) + let bud = ChemicalHelper.get(TFGTagPrefix.budIndicator, material, 1).getItem().id; event.addBlockLootModifier(bud) .matchMainHand("tfc:gem_saw") - .addLoot(sawDrop); + .addLoot(ChemicalHelper.get(TagPrefix.gem, material, 1)); event.addBlockLootModifier(bud) .not(n => n.matchMainHand("tfc:gem_saw")) - .addLoot(normalDrop); + .addLoot(ChemicalHelper.get(TagPrefix.gemChipped, material, 1)); } let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - // I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS - let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`; - if (material === GTMaterials.Copper || material === GTMaterials.Gold || material === GTMaterials.Iron) { - rawOreBlock = `minecraft${rawOreBlock}`; - } else if (material === TFGHelpers.getMaterial('desh') - || material === TFGHelpers.getMaterial('ostrum') - || material === TFGHelpers.getMaterial('calorite')) { - rawOreBlock = `ad_astra${rawOreBlock}`; - } else if (material === $GreateMaterials.RoseQuartz) { - rawOreBlock = `greate${rawOreBlock}`; - } else { - rawOreBlock = `gtceu${rawOreBlock}`; - } - + let rawOreBlock = ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem().id; event.addBlockLootModifier(rawOreBlock) .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([4, 6], diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 152c7923f..69fb165d4 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -246,8 +246,7 @@ global.GTCEU_HIDED_ITEMS = /** @type {const} */ ([ "gtceu:iv_damascus_steel_wrench", "gtceu:lv_damascus_steel_screwdriver", - "gtceu:sus_record", - "expatternprovider:fishbig" + "gtceu:sus_record" ]); //#endregion From 5f30ee7c0cab1422b180716df34882a77718d7cf Mon Sep 17 00:00:00 2001 From: Xtrial-01 Date: Tue, 23 Dec 2025 19:04:58 +0100 Subject: [PATCH 441/628] adds fertilizer values for various gt dusts (#2501) --- kubejs/server_scripts/tfc/data.js | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index a1a852315..1d3dcad50 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -76,12 +76,38 @@ const registerTFCFertilizers = (event) => { event.fertilizer('gtceu:small_phosphorus_dust', null, 0.037, null) event.fertilizer('gtceu:phosphorus_dust', null, 0.15, null) + event.fertilizer('gtceu:tiny_bone_dust', null, 0.01, null) + event.fertilizer('gtceu:small_bone_dust', null, 0.025, null) + + event.fertilizer('gtceu:tiny_apatite_dust', null, 0.016, null) + event.fertilizer('gtceu:small_apatite_dust', null, 0.037, null) + event.fertilizer('gtceu:apatite_dust', null, 0.15, null) + + event.fertilizer('gtceu:tiny_tricalcium_phosphate_dust', null, 0.016, null) + event.fertilizer('gtceu:small_tricalcium_phosphate_dust', null, 0.037, null) + event.fertilizer('gtceu:tricalcium_phosphate_dust', null, 0.15, null) + + event.fertilizer('gtceu:tiny_phosphate_dust', null, 0.02, null) + event.fertilizer('gtceu:small_phosphate_dust', null, 0.05, null) + event.fertilizer('gtceu:phosphate_dust', null, 0.2, null) + event.fertilizer('gtceu:tiny_saltpeter_dust', 0.01, null, 0.038) event.fertilizer('gtceu:small_saltpeter_dust', 0.025, null, 0.0875) event.fertilizer('gtceu:saltpeter_dust', 0.10, null, 0.35) - event.fertilizer('gtceu:tiny_bone_dust', null, 0.01, null) - event.fertilizer('gtceu:small_bone_dust', null, 0.025, null) + event.fertilizer('gtceu:tiny_rock_salt_dust', null, null, 0.025) + event.fertilizer('gtceu:small_rock_salt_dust', null, null, 0.0625) + event.fertilizer('gtceu:rock_salt_dust', null, null, 0.25) + + event.fertilizer('gtceu:tiny_potassium_sulfate_dust', null, null, 0.03) + event.fertilizer('gtceu:small_potassium_sulfate_dust', null, null, 0.075) + event.fertilizer('gtceu:potassium_sulfate_dust', null, null, 0.3) + + 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) + + } From 89706bce3042c7d107b927327420a8aef9ccde98 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 23 Dec 2025 21:02:03 +0000 Subject: [PATCH 442/628] pakku update chalk, clienttweaks, lmft --- kubejs/assets/tfg/sounds.json | 286 +++++++++++++++++----------------- pakku-lock.json | 86 +++++----- 2 files changed, 186 insertions(+), 186 deletions(-) diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 6df29f9db..c9e38f4ee 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -2,7 +2,7 @@ "ambient.upper_nether.loop": { "sounds": [ { - "name": "ambient/nether/crimson_forest/ambience", + "name": "minecraft:ambient/nether/crimson_forest/ambience", "stream": true, "volume": 0.74 } @@ -11,170 +11,170 @@ "ambient.upper_nether.additions": { "sounds": [ { - "name": "ambient/nether/crimson_forest/addition1", + "name": "minecraft:ambient/nether/crimson_forest/addition1", "volume": 0.4, "weight": 3 }, { - "name": "ambient/nether/crimson_forest/addition2", + "name": "minecraft:ambient/nether/crimson_forest/addition2", "volume": 0.5, "weight": 3 }, { - "name": "ambient/nether/crimson_forest/addition3", + "name": "minecraft:ambient/nether/crimson_forest/addition3", "volume": 0.32, "weight": 3 }, { - "name": "ambient/nether/crimson_forest/particles1", + "name": "minecraft:ambient/nether/crimson_forest/particles1", "volume": 0.4, "weight": 35 }, { - "name": "ambient/nether/crimson_forest/particles2", + "name": "minecraft:ambient/nether/crimson_forest/particles2", "volume": 0.4, "weight": 35 }, { - "name": "ambient/nether/crimson_forest/particles3", + "name": "minecraft:ambient/nether/crimson_forest/particles3", "volume": 0.4, "weight": 35 }, { - "name": "ambient/nether/crimson_forest/shine1", + "name": "minecraft:ambient/nether/crimson_forest/shine1", "pitch": 0.5, "volume": 0.1, "weight": 6 }, { - "name": "ambient/nether/crimson_forest/shine2", + "name": "minecraft:ambient/nether/crimson_forest/shine2", "pitch": 0.5, "volume": 0.1, "weight": 6 }, { - "name": "ambient/nether/crimson_forest/shine3", + "name": "minecraft:ambient/nether/crimson_forest/shine3", "pitch": 0.5, "volume": 0.1, "weight": 6 }, { - "name": "ambient/nether/warped_forest/enish1", + "name": "minecraft:ambient/nether/warped_forest/enish1", "pitch": 0.2, "volume": 0.1, "weight": 10 }, { - "name": "ambient/nether/warped_forest/enish2", + "name": "minecraft:ambient/nether/warped_forest/enish2", "pitch": 0.2, "volume": 0.1, "weight": 6 }, { - "name": "ambient/nether/warped_forest/enish3", + "name": "minecraft:ambient/nether/warped_forest/enish3", "pitch": 0.2, "volume": 0.07, "weight": 6 }, { - "name": "ambient/nether/crimson_forest/shroom1", + "name": "minecraft:ambient/nether/crimson_forest/shroom1", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/shroom2", + "name": "minecraft:ambient/nether/crimson_forest/shroom2", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/shroom3", + "name": "minecraft:ambient/nether/crimson_forest/shroom3", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/twang1", + "name": "minecraft:ambient/nether/crimson_forest/twang1", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/voom1", + "name": "minecraft:ambient/nether/crimson_forest/voom1", "volume": 0.7, "weight": 4 }, { - "name": "ambient/nether/crimson_forest/voom1", + "name": "minecraft:ambient/nether/crimson_forest/voom1", "pitch": 0.8, "volume": 0.7, "weight": 4 }, { - "name": "ambient/nether/crimson_forest/voom2", + "name": "minecraft:ambient/nether/crimson_forest/voom2", "volume": 0.7, "weight": 4 }, { - "name": "ambient/nether/crimson_forest/voom2", + "name": "minecraft:ambient/nether/crimson_forest/voom2", "pitch": 0.8, "volume": 0.7, "weight": 4 }, { - "name": "ambient/nether/nether_wastes/dark1", + "name": "minecraft:ambient/nether/nether_wastes/dark1", "volume": 0.9, "weight": 5 }, { - "name": "ambient/nether/nether_wastes/dark2", + "name": "minecraft:ambient/nether/nether_wastes/dark2", "volume": 0.9, "weight": 5 }, { - "name": "ambient/nether/nether_wastes/ground1", + "name": "minecraft:ambient/nether/nether_wastes/ground1", "volume": 0.25, "weight": 3 }, { - "name": "ambient/nether/nether_wastes/ground2", + "name": "minecraft:ambient/nether/nether_wastes/ground2", "volume": 0.4 }, { - "name": "ambient/nether/nether_wastes/ground3", + "name": "minecraft:ambient/nether/nether_wastes/ground3", "volume": 0.4 }, { - "name": "ambient/nether/nether_wastes/ground4", + "name": "minecraft:ambient/nether/nether_wastes/ground4", "volume": 0.4 }, { - "name": "ambientsounds:cave/cave-water1", + "name": "minecraft:ambientsounds:cave/cave-water1", "stream": true }, { - "name": "ambientsounds:cave/cave-water2", + "name": "minecraft:ambientsounds:cave/cave-water2", "stream": true }, { - "name": "ambientsounds:cave/cave-water3", + "name": "minecraft:ambientsounds:cave/cave-water3", "stream": true }, { - "name": "ambientsounds:cave/cave-water4", + "name": "minecraft:ambientsounds:cave/cave-water4", "stream": true }, { - "name": "ambientsounds:cave/cave-water5", + "name": "minecraft:ambientsounds:cave/cave-water5", "stream": true }, { - "name": "ambientsounds:cave/cave-large1", + "name": "minecraft:ambientsounds:cave/cave-large1", "stream": true }, { - "name": "ambientsounds:cave/cave-large2", + "name": "minecraft:ambientsounds:cave/cave-large2", "stream": true }, { - "name": "ambientsounds:cave/cave-lush", + "name": "minecraft:ambientsounds:cave/cave-lush", "stream": true } ] @@ -198,7 +198,7 @@ "ambient.lower_nether.loop": { "sounds": [ { - "name": "ambient/nether/nether_wastes/ambience", + "name": "minecraft:ambient/nether/nether_wastes/ambience", "stream": true, "volume": 0.77 } @@ -207,74 +207,74 @@ "ambient.lower_nether.additions": { "sounds": [ { - "name": "ambient/nether/basalt_deltas/basaltground1", + "name": "minecraft:ambient/nether/basalt_deltas/basaltground1", "volume": 0.55, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/basaltground2", + "name": "minecraft:ambient/nether/basalt_deltas/basaltground2", "volume": 0.55, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/basaltground3", + "name": "minecraft:ambient/nether/basalt_deltas/basaltground3", "volume": 0.55, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/debris1", + "name": "minecraft:ambient/nether/basalt_deltas/debris1", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/debris2", + "name": "minecraft:ambient/nether/basalt_deltas/debris2", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/debris3", + "name": "minecraft:ambient/nether/basalt_deltas/debris3", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/long_debris1", + "name": "minecraft:ambient/nether/basalt_deltas/long_debris1", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/long_debris2", + "name": "minecraft:ambient/nether/basalt_deltas/long_debris2", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/plode1", + "name": "minecraft:ambient/nether/basalt_deltas/plode1", "volume": 0.5, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/plode2", + "name": "minecraft:ambient/nether/basalt_deltas/plode2", "volume": 0.5, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/plode3", + "name": "minecraft:ambient/nether/basalt_deltas/plode3", "volume": 0.5, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/twist1", + "name": "minecraft:ambient/nether/basalt_deltas/twist1", "volume": 0.66 }, { - "name": "ambient/nether/basalt_deltas/twist2", + "name": "minecraft:ambient/nether/basalt_deltas/twist2", "volume": 0.66 }, { - "name": "ambient/nether/basalt_deltas/twist3", + "name": "minecraft:ambient/nether/basalt_deltas/twist3", "volume": 0.77 }, { - "name": "ambient/nether/basalt_deltas/twist4", + "name": "minecraft:ambient/nether/basalt_deltas/twist4", "volume": 0.66 } ] @@ -291,61 +291,61 @@ "ambient.moon.additions": { "sounds": [ { - "name": "ambient/nether/warped_forest/addition1", + "name": "minecraft:ambient/nether/warped_forest/addition1", "pitch": 0.8, "volume": 0.06, "weight": 3 }, { - "name": "ambient/nether/warped_forest/addition2", + "name": "minecraft:ambient/nether/warped_forest/addition2", "pitch": 0.7, "volume": 0.06, "weight": 3 }, { - "name": "ambient/nether/warped_forest/addition3", + "name": "minecraft:ambient/nether/warped_forest/addition3", "pitch": 0.1, "volume": 0.06, "weight": 3 }, { - "name": "ambient/nether/warped_forest/addition4", + "name": "minecraft:ambient/nether/warped_forest/addition4", "volume": 0.07, "weight": 3 }, { - "name": "ambient/nether/warped_forest/addition5", + "name": "minecraft:ambient/nether/warped_forest/addition5", "volume": 0.07, "weight": 3 }, { - "name": "ambient/nether/warped_forest/addition6", + "name": "minecraft:ambient/nether/warped_forest/addition6", "volume": 0.15 }, { - "name": "ambient/nether/warped_forest/enish1", + "name": "minecraft:ambient/nether/warped_forest/enish1", "pitch": 0.2, "volume": 0.1, "weight": 10 }, { - "name": "ambient/nether/warped_forest/enish2", + "name": "minecraft:ambient/nether/warped_forest/enish2", "pitch": 0.2, "volume": 0.1, "weight": 6 }, { - "name": "ambient/nether/warped_forest/enish3", + "name": "minecraft:ambient/nether/warped_forest/enish3", "pitch": 0.2, "volume": 0.07, "weight": 6 }, { - "name": "ambient/nether/warped_forest/help1", + "name": "minecraft:ambient/nether/warped_forest/help1", "volume": 0.2 }, { - "name": "ambient/nether/warped_forest/help2", + "name": "minecraft:ambient/nether/warped_forest/help2", "volume": 0.2 } ] @@ -365,7 +365,7 @@ "ambient.mars_desert.loop": { "sounds": [ { - "name": "ambient/nether/soulsand_valley/ambience", + "name": "minecraft:ambient/nether/soulsand_valley/ambience", "stream": true, "volume": 0.85 } @@ -374,100 +374,100 @@ "ambient.mars_desert.additions": { "sounds": [ { - "name": "ambient/nether/basalt_deltas/click1", + "name": "minecraft:ambient/nether/basalt_deltas/click1", "volume": 0.19, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click2", + "name": "minecraft:ambient/nether/basalt_deltas/click2", "volume": 0.19, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click3", + "name": "minecraft:ambient/nether/basalt_deltas/click3", "volume": 0.19, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click4", + "name": "minecraft:ambient/nether/basalt_deltas/click4", "volume": 0.25, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click5", + "name": "minecraft:ambient/nether/basalt_deltas/click5", "volume": 0.25, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click6", + "name": "minecraft:ambient/nether/basalt_deltas/click6", "volume": 0.01, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click7", + "name": "minecraft:ambient/nether/basalt_deltas/click7", "volume": 0.01, "weight": 25 }, { - "name": "ambient/nether/basalt_deltas/click8", + "name": "minecraft:ambient/nether/basalt_deltas/click8", "volume": 0.01, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand1", + "name": "minecraft:ambient/nether/soulsand_valley/sand1", "volume": 0.2, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand2", + "name": "minecraft:ambient/nether/soulsand_valley/sand2", "volume": 0.2, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand3", + "name": "minecraft:ambient/nether/soulsand_valley/sand3", "volume": 0.4, "weight": 2 }, { - "name": "ambient/nether/soulsand_valley/wind1", + "name": "minecraft:ambient/nether/soulsand_valley/wind1", "volume": 0.3, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/wind1", + "name": "minecraft:ambient/nether/soulsand_valley/wind1", "pitch": 0.75, "volume": 0.3, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/wind2", + "name": "minecraft:ambient/nether/soulsand_valley/wind2", "volume": 0.25, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/wind2", + "name": "minecraft:ambient/nether/soulsand_valley/wind2", "pitch": 0.75, "volume": 0.3, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/wind3", + "name": "minecraft:ambient/nether/soulsand_valley/wind3", "volume": 0.25, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/wind3", + "name": "minecraft:ambient/nether/soulsand_valley/wind3", "pitch": 0.75, "volume": 0.3, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/wind4", + "name": "minecraft:ambient/nether/soulsand_valley/wind4", "volume": 0.3, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/wind4", + "name": "minecraft:ambient/nether/soulsand_valley/wind4", "pitch": 0.75, "volume": 0.3, "weight": 25 @@ -486,7 +486,7 @@ "ambient.mars_land.loop": { "sounds": [ { - "name": "ambient/nether/soulsand_valley/ambience", + "name": "minecraft:ambient/nether/soulsand_valley/ambience", "stream": true, "volume": 0.85 } @@ -495,140 +495,140 @@ "ambient.mars_land.additions": { "sounds": [ { - "name": "ambient/nether/basalt_deltas/click1", + "name": "minecraft:ambient/nether/basalt_deltas/click1", "volume": 0.19, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click2", + "name": "minecraft:ambient/nether/basalt_deltas/click2", "volume": 0.19, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click3", + "name": "minecraft:ambient/nether/basalt_deltas/click3", "volume": 0.19, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click4", + "name": "minecraft:ambient/nether/basalt_deltas/click4", "volume": 0.25, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click5", + "name": "minecraft:ambient/nether/basalt_deltas/click5", "volume": 0.25, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click6", + "name": "minecraft:ambient/nether/basalt_deltas/click6", "volume": 0.01, "weight": 20 }, { - "name": "ambient/nether/basalt_deltas/click7", + "name": "minecraft:ambient/nether/basalt_deltas/click7", "volume": 0.01, "weight": 25 }, { - "name": "ambient/nether/basalt_deltas/click8", + "name": "minecraft:ambient/nether/basalt_deltas/click8", "volume": 0.01, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand1", + "name": "minecraft:ambient/nether/soulsand_valley/sand1", "volume": 0.2, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand2", + "name": "minecraft:ambient/nether/soulsand_valley/sand2", "volume": 0.2, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand3", + "name": "minecraft:ambient/nether/soulsand_valley/sand3", "volume": 0.4, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/shroom1", + "name": "minecraft:ambient/nether/crimson_forest/shroom1", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/shroom2", + "name": "minecraft:ambient/nether/crimson_forest/shroom2", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/shroom3", + "name": "minecraft:ambient/nether/crimson_forest/shroom3", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/twang1", + "name": "minecraft:ambient/nether/crimson_forest/twang1", "volume": 0.25, "weight": 2 }, { - "name": "ambient/nether/crimson_forest/particles1", + "name": "minecraft:ambient/nether/crimson_forest/particles1", "volume": 0.4, "weight": 35 }, { - "name": "ambient/nether/crimson_forest/particles2", + "name": "minecraft:ambient/nether/crimson_forest/particles2", "volume": 0.4, "weight": 35 }, { - "name": "ambient/nether/crimson_forest/particles3", + "name": "minecraft:ambient/nether/crimson_forest/particles3", "volume": 0.4, "weight": 35 }, { - "name": "ambient/nether/crimson_forest/addition1", + "name": "minecraft:ambient/nether/crimson_forest/addition1", "volume": 0.4, "weight": 3 }, { - "name": "ambient/nether/soulsand_valley/wind1", + "name": "minecraft:ambient/nether/soulsand_valley/wind1", "volume": 0.3, "weight": 5 }, { - "name": "ambient/nether/soulsand_valley/wind1", + "name": "minecraft:ambient/nether/soulsand_valley/wind1", "pitch": 0.75, "volume": 0.3, "weight": 5 }, { - "name": "ambient/nether/soulsand_valley/wind2", + "name": "minecraft:ambient/nether/soulsand_valley/wind2", "volume": 0.25, "weight": 5 }, { - "name": "ambient/nether/soulsand_valley/wind2", + "name": "minecraft:ambient/nether/soulsand_valley/wind2", "pitch": 0.75, "volume": 0.3, "weight": 5 }, { - "name": "ambient/nether/soulsand_valley/wind3", + "name": "minecraft:ambient/nether/soulsand_valley/wind3", "volume": 0.25, "weight": 5 }, { - "name": "ambient/nether/soulsand_valley/wind3", + "name": "minecraft:ambient/nether/soulsand_valley/wind3", "pitch": 0.75, "volume": 0.3, "weight": 5 }, { - "name": "ambient/nether/soulsand_valley/wind4", + "name": "minecraft:ambient/nether/soulsand_valley/wind4", "volume": 0.3, "weight": 5 }, { - "name": "ambient/nether/soulsand_valley/wind4", + "name": "minecraft:ambient/nether/soulsand_valley/wind4", "pitch": 0.75, "volume": 0.3, "weight": 5 @@ -654,7 +654,7 @@ "ambient.venus.loop": { "sounds": [ { - "name": "ambient/nether/basalt_deltas/ambience", + "name": "minecraft:ambient/nether/basalt_deltas/ambience", "stream": true, "volume": 0.77 } @@ -663,150 +663,150 @@ "ambient.venus.additions": { "sounds": [ { - "name": "ambient/nether/soulsand_valley/sand1", + "name": "minecraft:ambient/nether/soulsand_valley/sand1", "volume": 0.2, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand2", + "name": "minecraft:ambient/nether/soulsand_valley/sand2", "volume": 0.2, "weight": 25 }, { - "name": "ambient/nether/soulsand_valley/sand3", + "name": "minecraft:ambient/nether/soulsand_valley/sand3", "volume": 0.4, "weight": 2 }, { - "name": "ambient/nether/basalt_deltas/basaltground1", + "name": "minecraft:ambient/nether/basalt_deltas/basaltground1", "volume": 0.55, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/basaltground2", + "name": "minecraft:ambient/nether/basalt_deltas/basaltground2", "volume": 0.55, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/basaltground3", + "name": "minecraft:ambient/nether/basalt_deltas/basaltground3", "volume": 0.55, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/debris1", + "name": "minecraft:ambient/nether/basalt_deltas/debris1", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/debris2", + "name": "minecraft:ambient/nether/basalt_deltas/debris2", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/debris3", + "name": "minecraft:ambient/nether/basalt_deltas/debris3", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/long_debris1", + "name": "minecraft:ambient/nether/basalt_deltas/long_debris1", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/long_debris2", + "name": "minecraft:ambient/nether/basalt_deltas/long_debris2", "volume": 0.35, "weight": 40 }, { - "name": "ambient/nether/basalt_deltas/plode1", + "name": "minecraft:ambient/nether/basalt_deltas/plode1", "volume": 0.5, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/plode2", + "name": "minecraft:ambient/nether/basalt_deltas/plode2", "volume": 0.5, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/plode3", + "name": "minecraft:ambient/nether/basalt_deltas/plode3", "volume": 0.5, "weight": 10 }, { - "name": "ambient/nether/basalt_deltas/twist1", + "name": "minecraft:ambient/nether/basalt_deltas/twist1", "volume": 0.66 }, { - "name": "ambient/nether/basalt_deltas/twist2", + "name": "minecraft:ambient/nether/basalt_deltas/twist2", "volume": 0.66 }, { - "name": "ambient/nether/basalt_deltas/twist3", + "name": "minecraft:ambient/nether/basalt_deltas/twist3", "volume": 0.77 }, { - "name": "ambient/nether/basalt_deltas/twist4", + "name": "minecraft:ambient/nether/basalt_deltas/twist4", "volume": 0.66 }, { - "name": "ambient/nether/nether_wastes/addition1", + "name": "minecraft:ambient/nether/nether_wastes/addition1", "volume": 0.3 }, { - "name": "ambient/nether/nether_wastes/addition2", + "name": "minecraft:ambient/nether/nether_wastes/addition2", "volume": 0.3 }, { - "name": "ambient/nether/nether_wastes/addition3", + "name": "minecraft:ambient/nether/nether_wastes/addition3", "volume": 0.1 }, { - "name": "ambient/nether/nether_wastes/addition4", + "name": "minecraft:ambient/nether/nether_wastes/addition4", "volume": 0.67, "weight": 5 }, { - "name": "ambient/nether/nether_wastes/addition5", + "name": "minecraft:ambient/nether/nether_wastes/addition5", "volume": 0.3 }, { - "name": "ambient/nether/nether_wastes/addition6", + "name": "minecraft:ambient/nether/nether_wastes/addition6", "volume": 0.3 }, { - "name": "ambient/nether/nether_wastes/addition7", + "name": "minecraft:ambient/nether/nether_wastes/addition7", "volume": 0.3 }, { - "name": "ambient/nether/nether_wastes/addition8", + "name": "minecraft:ambient/nether/nether_wastes/addition8", "volume": 0.67, "weight": 5 }, { - "name": "ambient/nether/nether_wastes/dark1", + "name": "minecraft:ambient/nether/nether_wastes/dark1", "volume": 0.9, "weight": 5 }, { - "name": "ambient/nether/nether_wastes/dark2", + "name": "minecraft:ambient/nether/nether_wastes/dark2", "volume": 0.9, "weight": 5 }, { - "name": "ambient/nether/nether_wastes/ground1", + "name": "minecraft:ambient/nether/nether_wastes/ground1", "volume": 0.25, "weight": 3 }, { - "name": "ambient/nether/nether_wastes/ground2", + "name": "minecraft:ambient/nether/nether_wastes/ground2", "volume": 0.4 }, { - "name": "ambient/nether/nether_wastes/ground3", + "name": "minecraft:ambient/nether/nether_wastes/ground3", "volume": 0.4 }, { - "name": "ambient/nether/nether_wastes/ground4", + "name": "minecraft:ambient/nether/nether_wastes/ground4", "volume": 0.4 } ] diff --git a/pakku-lock.json b/pakku-lock.json index 79d7019ee..66f9c4049 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2231,30 +2231,9 @@ "modrinth": "YWGP4Y1d" }, "files": [ - { - "type": "curseforge", - "file_name": "chalk-1.20.1-1.6.6.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6661/590/chalk-1.20.1-1.6.6.jar", - "id": "6661590", - "parent_id": "533748", - "hashes": { - "sha1": "4476abc4a3f707c2e82d91038972644d92752df5", - "md5": "dd6d469c96e448da033e28e0bcc3a116" - }, - "required_dependencies": [], - "size": 320854, - "date_published": "2025-06-17T15:51:12.797Z" - }, { "type": "modrinth", - "file_name": "chalk-1.20.1-1.6.6.jar", + "file_name": "chalk-1.20.1-1.6.7.jar", "mc_versions": [ "1.20.1" ], @@ -2262,16 +2241,37 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/YWGP4Y1d/versions/tRKPNWEg/chalk-1.20.1-1.6.6.jar", - "id": "tRKPNWEg", + "url": "https://cdn.modrinth.com/data/YWGP4Y1d/versions/egCIyHFr/chalk-1.20.1-1.6.7.jar", + "id": "egCIyHFr", "parent_id": "YWGP4Y1d", "hashes": { - "sha512": "c2c485321015847087c4724c768f5be7dffd24b1cb10be1e8e44f4dfcd42490dd6be82770c83ecba3344f93b4d66651c7bbc811f95ee300d889d11edf51b22f6", - "sha1": "4476abc4a3f707c2e82d91038972644d92752df5" + "sha512": "c983555fb6e26f1c70a8d24a5b80e369ec6884d413ff228ce4f0a03b46777f281e667df97badc3092cdbdfe7bae3c735a52c3dfd7d8312e065192e093d04343a", + "sha1": "42f34947910ca428497fac0bf2566a45959a51a5" }, "required_dependencies": [], - "size": 320854, - "date_published": "2025-06-17T15:50:40.420367Z" + "size": 322379, + "date_published": "2025-12-23T19:45:52.435072Z" + }, + { + "type": "curseforge", + "file_name": "chalk-1.20.1-1.6.7.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7370/654/chalk-1.20.1-1.6.7.jar", + "id": "7370654", + "parent_id": "533748", + "hashes": { + "sha1": "42f34947910ca428497fac0bf2566a45959a51a5", + "md5": "0f916c5dc990ba5fd942824f2b6d45f9" + }, + "required_dependencies": [], + "size": 322379, + "date_published": "2025-12-23T19:44:45.250Z" } ] }, @@ -2529,7 +2529,7 @@ "files": [ { "type": "modrinth", - "file_name": "clienttweaks-forge-1.20.1-11.1.5.jar", + "file_name": "clienttweaks-forge-1.20.1-11.1.6.jar", "mc_versions": [ "1.20", "1.20.1" @@ -2538,22 +2538,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/vPNqo58Q/versions/H8SeAE8l/clienttweaks-forge-1.20.1-11.1.5.jar", - "id": "H8SeAE8l", + "url": "https://cdn.modrinth.com/data/vPNqo58Q/versions/Febi39qw/clienttweaks-forge-1.20.1-11.1.6.jar", + "id": "Febi39qw", "parent_id": "vPNqo58Q", "hashes": { - "sha512": "83b3fd505453298e1b29483e4f30c096988479c909d0d6e79cda40bd310db6d3ba658d5a5a18c2625e74c4c71ea563646e75e7135e334cf51c14b5f925b4c19e", - "sha1": "14a951b96c22ed76057c1da4415f8234bcbc8dbc" + "sha512": "1b8ddf7ccb8fb5cd2248365534b80af10023821ec4d2786821edd744ae6ce01dc888ddf61f16e1a2a9f4f88041d06fc1a219aa9088625882f5b5739f68f29a1b", + "sha1": "94f11a58c3b971ea95971f297b7866ca27b73270" }, "required_dependencies": [ "MBAkmtvl" ], - "size": 137930, - "date_published": "2025-09-30T07:22:37.019245Z" + "size": 138121, + "date_published": "2025-12-22T08:28:32.495908Z" }, { "type": "curseforge", - "file_name": "clienttweaks-forge-1.20.1-11.1.5.jar", + "file_name": "clienttweaks-forge-1.20.1-11.1.6.jar", "mc_versions": [ "1.20.1", "1.20" @@ -2562,18 +2562,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7047/908/clienttweaks-forge-1.20.1-11.1.5.jar", - "id": "7047908", + "url": "https://edge.forgecdn.net/files/7364/655/clienttweaks-forge-1.20.1-11.1.6.jar", + "id": "7364655", "parent_id": "251407", "hashes": { - "sha1": "dd42a485ccb028b04425ed6bac050d547266dfd7", - "md5": "c2f2bfe44ae97b97dfd9751f3b771820" + "sha1": "7e65ea212c78629170ab97c7159cee1cf2ca89b0", + "md5": "7bd8201231121cbc56a3915aeafbf755" }, "required_dependencies": [ "531761" ], - "size": 137930, - "date_published": "2025-09-30T07:22:41.783Z" + "size": 138121, + "date_published": "2025-12-22T08:27:56.817Z" } ] }, @@ -8607,7 +8607,7 @@ ] }, { - "pakku_id": "OcjL6nfubOOv2SoV", + "pakku_id": "JAFcKq70FbrHc0oK", "type": "MOD", "side": "SERVER", "slug": { From a7dcafad784f7e54967bec75693e9b34d89870f0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 12:12:06 +0000 Subject: [PATCH 443/628] finally, sounds! --- kubejs/assets/tfg/sounds.json | 152 ++++++++++-------- .../tfg/worldgen/biome/mars/amber_edge.json | 2 +- .../worldgen/biome/mars/rusticus_edge.json | 6 + .../tfg/worldgen/biome/mars/sangnum_edge.json | 6 + .../biome/moon/lunar_asurine_dense.json | 2 +- .../biome/moon/lunar_asurine_sparse.json | 2 +- .../biome/moon/lunar_corals_dense.json | 2 +- .../biome/moon/lunar_corals_sparse.json | 2 +- .../biome/moon/lunar_lights_dense.json | 2 +- .../biome/moon/lunar_lights_sparse.json | 2 +- .../tfg/worldgen/biome/moon/lunar_plains.json | 2 +- .../tfg/worldgen/biome/moon/lunar_sands.json | 2 +- .../tfg/worldgen/biome/venus/arachnoids.json | 6 +- .../data/tfg/worldgen/biome/venus/beach.json | 7 +- .../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/stromatolite_beach.json | 6 +- .../worldgen/biome/venus/sulfuric_ravine.json | 6 +- .../biome/venus/volcanic_mountains.json | 6 +- kubejs/startup_scripts/main_startup_script.js | 6 +- kubejs/startup_scripts/tfg/sounds.js | 24 +++ 24 files changed, 168 insertions(+), 105 deletions(-) create mode 100644 kubejs/startup_scripts/tfg/sounds.js diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index c9e38f4ee..eaf1ad066 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -2,9 +2,39 @@ "ambient.upper_nether.loop": { "sounds": [ { - "name": "minecraft:ambient/nether/crimson_forest/ambience", + "name": "ambientsounds:cave/cave_lush", "stream": true, - "volume": 0.74 + "volume": 1 + }, + { + "name": "ambientsounds:animals/frog/frog-cave1", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water1", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water2", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water3", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water4", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water5", + "stream": true, + "volume": 1 } ] }, @@ -181,18 +211,14 @@ }, "ambient.upper_nether.mood": { "sounds": [ - "ambient/nether/crimson_forest/mood1", - "ambient/nether/crimson_forest/mood2", - "ambient/nether/crimson_forest/mood3", - "ambient/nether/warped_forest/creak1", - "ambient/nether/warped_forest/creak2", - "ambient/nether/warped_forest/creak3", - "ambient/nether/warped_forest/creak4", - "ambient/nether/warped_forest/creak5", - "ambient/cave/cave4", - "ambient/cave/cave7", - "ambient/cave/cave8", - "ambient/cave/cave9" + "minecraft:ambient/nether/crimson_forest/mood1", + "minecraft:ambient/nether/crimson_forest/mood2", + "minecraft:ambient/nether/crimson_forest/mood3", + "minecraft:ambient/nether/warped_forest/creak1", + "minecraft:ambient/nether/warped_forest/creak2", + "minecraft:ambient/nether/warped_forest/creak3", + "minecraft:ambient/nether/warped_forest/creak4", + "minecraft:ambient/nether/warped_forest/creak5" ] }, "ambient.lower_nether.loop": { @@ -281,11 +307,11 @@ }, "ambient.lower_nether.mood": { "sounds": [ - "ambient/nether/nether_wastes/mood1", - "ambient/nether/nether_wastes/mood2", - "ambient/nether/nether_wastes/mood3", - "ambient/nether/nether_wastes/mood4", - "ambient/nether/nether_wastes/mood5" + "minecraft:ambient/nether/nether_wastes/mood1", + "minecraft:ambient/nether/nether_wastes/mood2", + "minecraft:ambient/nether/nether_wastes/mood3", + "minecraft:ambient/nether/nether_wastes/mood4", + "minecraft:ambient/nether/nether_wastes/mood5" ] }, "ambient.moon.additions": { @@ -339,35 +365,27 @@ "pitch": 0.2, "volume": 0.07, "weight": 6 - }, - { - "name": "minecraft:ambient/nether/warped_forest/help1", - "volume": 0.2 - }, - { - "name": "minecraft:ambient/nether/warped_forest/help2", - "volume": 0.2 } ] }, "ambient.moon.mood": { "sounds": [ - "ambient/nether/warped_forest/mood1", - "ambient/nether/warped_forest/mood2", - "ambient/nether/warped_forest/mood3", - "ambient/nether/warped_forest/mood4", - "ambient/nether/warped_forest/mood5", - "ambient/nether/warped_forest/mood6", - "ambient/nether/warped_forest/mood7", - "ambient/nether/warped_forest/mood8" + "minecraft:ambient/nether/warped_forest/mood1", + "minecraft:ambient/nether/warped_forest/mood2", + "minecraft:ambient/nether/warped_forest/mood3", + "minecraft:ambient/nether/warped_forest/mood4", + "minecraft:ambient/nether/warped_forest/mood5", + "minecraft:ambient/nether/warped_forest/mood6", + "minecraft:ambient/nether/warped_forest/mood7", + "minecraft:ambient/nether/warped_forest/mood8" ] }, "ambient.mars_desert.loop": { "sounds": [ { - "name": "minecraft:ambient/nether/soulsand_valley/ambience", + "name": "ambientsounds:wind/light-wind3", "stream": true, - "volume": 0.85 + "volume": 0.50 } ] }, @@ -476,19 +494,19 @@ }, "ambient.mars_desert.mood": { "sounds": [ - "ambient/nether/crimson_forest/voom1", - "ambient/nether/crimson_forest/voom2", - "ambient/nether/soulsand_valley/mood2", - "ambient/nether/nether_wastes/addition4", - "ambient/nether/nether_wastes/addition8" + "minecraft:ambient/nether/crimson_forest/voom1", + "minecraft:ambient/nether/crimson_forest/voom2", + "minecraft:ambient/nether/soulsand_valley/mood2", + "minecraft:ambient/nether/nether_wastes/addition4", + "minecraft:ambient/nether/nether_wastes/addition8" ] }, "ambient.mars_land.loop": { "sounds": [ { - "name": "minecraft:ambient/nether/soulsand_valley/ambience", + "name": "ambientsounds:wind/light-wind2", "stream": true, - "volume": 0.85 + "volume": 0.50 } ] }, @@ -637,21 +655,21 @@ }, "ambient.mars_land.mood": { "sounds": [ - "ambient/nether/crimson_forest/voom1", - "ambient/nether/crimson_forest/voom2", - "ambient/nether/soulsand_valley/mood2", - "ambient/nether/basalt_deltas/heavy_click1", - "ambient/nether/basalt_deltas/heavy_click2", - "ambient/nether/nether_wastes/addition4", - "ambient/nether/nether_wastes/addition8", - "ambient/nether/warped_forest/creak1", - "ambient/nether/warped_forest/creak2", - "ambient/nether/warped_forest/creak3", - "ambient/nether/warped_forest/creak4", - "ambient/nether/warped_forest/creak5" + "minecraft:ambient/nether/crimson_forest/voom1", + "minecraft:ambient/nether/crimson_forest/voom2", + "minecraft:ambient/nether/soulsand_valley/mood2", + "minecraft:ambient/nether/basalt_deltas/heavy_click1", + "minecraft:ambient/nether/basalt_deltas/heavy_click2", + "minecraft:ambient/nether/nether_wastes/addition4", + "minecraft:ambient/nether/nether_wastes/addition8", + "minecraft:ambient/nether/warped_forest/creak1", + "minecraft:ambient/nether/warped_forest/creak2", + "minecraft:ambient/nether/warped_forest/creak3", + "minecraft:ambient/nether/warped_forest/creak4", + "minecraft:ambient/nether/warped_forest/creak5" ] }, - "ambient.venus.loop": { + "ambient.venus_surface.loop": { "sounds": [ { "name": "minecraft:ambient/nether/basalt_deltas/ambience", @@ -660,7 +678,7 @@ } ] }, - "ambient.venus.additions": { + "ambient.venus_surface.additions": { "sounds": [ { "name": "minecraft:ambient/nether/soulsand_valley/sand1", @@ -811,16 +829,16 @@ } ] }, - "ambient.venus.mood": { + "ambient.venus_surface.mood": { "sounds": [ - "ambient/nether/nether_wastes/mood1", - "ambient/nether/nether_wastes/mood2", - "ambient/nether/nether_wastes/mood4", - "ambient/nether/nether_wastes/mood5", - "ambient/nether/crimson_forest/addition1", - "ambient/nether/crimson_forest/shine1", - "ambient/nether/crimson_forest/shine2", - "ambient/nether/crimson_forest/shine3" + "minecraft:ambient/nether/nether_wastes/mood1", + "minecraft:ambient/nether/nether_wastes/mood2", + "minecraft:ambient/nether/nether_wastes/mood4", + "minecraft:ambient/nether/nether_wastes/mood5", + "minecraft:ambient/nether/crimson_forest/addition1", + "minecraft:ambient/nether/crimson_forest/shine1", + "minecraft:ambient/nether/crimson_forest/shine2", + "minecraft:ambient/nether/crimson_forest/shine3" ] } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json b/kubejs/data/tfg/worldgen/biome/mars/amber_edge.json index d0cf68b21..f04a04a10 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.badlands" + "sound": "minecraft:music.overworld.desert" }, "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 71cfecd45..3168d0016 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_edge.json @@ -16,6 +16,12 @@ "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.desert" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json index 93a5f47f6..4877e57e1 100644 --- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json +++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_edge.json @@ -16,6 +16,12 @@ "sound": "tfg:ambient.mars_desert.mood", "tick_delay": 6000 }, + "music": { + "max_delay": 24000, + "min_delay": 12000, + "replace_current_music": false, + "sound": "minecraft:music.overworld.desert" + }, "sky_color": 15117444, "water_color": 4159204, "water_fog_color": 1069623 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 834be3bf3..8919549db 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0005 }, "mood_sound": { "block_search_extent": 8, 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 1ca35d83f..07556e9eb 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0005 }, "mood_sound": { "block_search_extent": 8, 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 ccb473083..53ec3278d 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0005 }, "mood_sound": { "block_search_extent": 8, 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 296a273b1..53742f3dd 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0005 }, "mood_sound": { "block_search_extent": 8, 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 b487c2c14..0afe8b1ab 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0011 }, "mood_sound": { "block_search_extent": 8, 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 5c6200a5a..b37ef7ce8 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0011 }, "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index 32153ef10..6a7a803fb 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0005 }, "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index 8d688042f..f5146e1dc 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -10,7 +10,7 @@ "fog_color": 0, "additions_sound": { "sound": "tfg:ambient.moon.additions", - "tick_chance": 0.0051 + "tick_chance": 0.0005 }, "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index cb8724edb..3e33bbf24 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/beach.json b/kubejs/data/tfg/worldgen/biome/venus/beach.json index b9724aa48..807da30e9 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/beach.json @@ -10,10 +10,15 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, + "additions_sound": { + "sound": "tfg:ambient.venus_surface.additions", + "tick_chance": 0.0111 + }, + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "minecraft:ambient.cave", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index cb198a5c2..d0121f228 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -5,15 +5,15 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "fog_color": 9938052, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2.0, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "sky_color": 10465603, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 0f5bddbd8..d2cffa3c0 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 11644227, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index d74c791da..01f29fd97 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index e3f4ac752..97fe4b4c0 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 71ab23d8f..34e4e3de4 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 10465603, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 132008d84..af4ede1e4 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 11644227, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index aa9d2d43c..093908181 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 11644227, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json index c6ed8bd23..e07f4cc15 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json @@ -5,7 +5,7 @@ "downfall": 0, "effects": { "additions_sound": { - "sound": "tfg:ambient.venus.additions", + "sound": "tfg:ambient.venus_surface.additions", "tick_chance": 0.0111 }, "sky_color": 5450003, @@ -14,11 +14,11 @@ "water_fog_color": 10866612, "grass_color": 13758586, "foliage_color": 11653213, - "ambient_sound": "tfg:ambient.venus.loop", + "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, - "sound": "tfg:ambient.venus.mood", + "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, "particle": { diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 8d41ff94e..d0c502952 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -6,7 +6,7 @@ StartupEvents.registry('item', event => { }) StartupEvents.registry('block', event => { - registerTFGBlocks(event) + registerTFGBlocks(event) }) BlockEvents.modification(event => { @@ -28,6 +28,10 @@ StartupEvents.registry('fluid', event => { registerTFGFluids(event) }) +StartupEvents.registry('sound_event', event => { + registerTFGSounds(event) +}) + GTCEuStartupEvents.registry('gtceu:recipe_type', event => { registerGTCEuRecipeTypes(event) }) diff --git a/kubejs/startup_scripts/tfg/sounds.js b/kubejs/startup_scripts/tfg/sounds.js new file mode 100644 index 000000000..44974e4b0 --- /dev/null +++ b/kubejs/startup_scripts/tfg/sounds.js @@ -0,0 +1,24 @@ +// priority: 0 +"use strict"; + +function registerTFGSounds(event) { + + event.create('tfg:ambient.upper_nether.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:ambient.moon.additions') + event.create('tfg:ambient.moon.mood') + + 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.venus_surface.loop') + event.create('tfg:ambient.venus_surface.additions') + event.create('tfg:ambient.venus_surface.mood') +} \ No newline at end of file From e8e0a83370c591318d3fd50b91899f38e3d2c17b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 12:12:18 +0000 Subject: [PATCH 444/628] get rid of the sand particles on the screen --- config/enhancedvisuals-client.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/enhancedvisuals-client.json b/config/enhancedvisuals-client.json index 875cb240f..59e85044a 100644 --- a/config/enhancedvisuals-client.json +++ b/config/enhancedvisuals-client.json @@ -65,7 +65,7 @@ } }, "sand": { - "enabled": true, + "enabled": false, "opacity": 1.0, "duration": { "min": 100, From 8ea243705b8500e1bc8552d05c66d4b3662efb21 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 12:13:50 +0000 Subject: [PATCH 445/628] update greate config file format --- defaultconfigs/greate-server.toml | 60 ++----------------------------- 1 file changed, 2 insertions(+), 58 deletions(-) diff --git a/defaultconfigs/greate-server.toml b/defaultconfigs/greate-server.toml index afef19eff..c97be947b 100644 --- a/defaultconfigs/greate-server.toml +++ b/defaultconfigs/greate-server.toml @@ -7,54 +7,9 @@ fanSpeedMultiplier = 0.75 #Parameters and abilities of Greate's kinetic mechanisms [kinetics] - #. - #. - #Fine tune settings related to belts - [kinetics.belts] - - #. - #. - #Rubber Belt Settings - [kinetics.belts.rubber] - #. - #Maximum length in blocks of rubber mechanical belts - #Range: > 5 - rubberMaxBeltLength = 20 - - #. - #Silicone Rubber Belt Settings - [kinetics.belts.silicone] - #. - #Maximum length in blocks of silicone mechanical belts - #Range: > 5 - siliconeMaxBeltLength = 25 - - #. - #Polyethylene Belt Settings - [kinetics.belts.polyethylene] - #. - #Maximum length in blocks of polyethylene mechanical belts - #Range: > 5 - polyethyleneMaxBeltLength = 30 - - #. - #Polytetrafluoroethylene Belt Settings - [kinetics.belts.polytetrafluoroethylene] - #. - #Maximum length in blocks of polytetrafluoroethylene mechanical belts - #Range: > 5 - polytetrafluoroethyleneMaxBeltLength = 35 - - #. - #Polybenzimidazole Belt Settings - [kinetics.belts.polybenzimidazole] - #. - #Maximum length in blocks of polybenzimidazole mechanical belts - #Range: > 5 - polybenzimidazoleMaxBeltLength = 40 - [kinetics.stressValues] + #. #. #Fine tune the kinetic stats of individual components [kinetics.stressValues.v2] @@ -64,7 +19,6 @@ fanSpeedMultiplier = 0.75 [kinetics.stressValues.v2.impact] [kinetics.stressValues.v2.impact.andesite_alloy] - rubber_belt_andesite_alloy = 0.0 andesite_alloy_shaft = 0.0 andesite_encased_andesite_alloy_shaft = 0.0 brass_encased_andesite_alloy_shaft = 0.0 @@ -82,9 +36,9 @@ fanSpeedMultiplier = 0.75 andesite_alloy_millstone = 0.5 andesite_alloy_mechanical_saw = 0.5 andesite_alloy_mechanical_pump = 0.5 + andesite_alloy_belt = 0.0 [kinetics.stressValues.v2.impact.steel] - rubber_belt_steel = 0.0 steel_shaft = 0.0 andesite_encased_steel_shaft = 0.0 brass_encased_steel_shaft = 0.0 @@ -105,7 +59,6 @@ fanSpeedMultiplier = 0.75 tungsten_steel_gearbox = 0.0 tungsten_steel_crushing_wheel = 3.0 brass_encased_tungsten_steel_shaft = 0.0 - silicone_rubber_belt_stainless_steel = 0.0 andesite_encased_large_tungsten_steel_cogwheel = 0.0 andesite_encased_tungsten_steel_cogwheel = 0.0 stainless_steel_mechanical_saw = 4.0 @@ -127,7 +80,6 @@ fanSpeedMultiplier = 0.75 tungsten_steel_millstone = 3.0 brass_encased_stainless_steel_shaft = 0.0 tungsten_steel_mechanical_press = 6.0 - polyethylene_belt_tungsten_steel = 0.0 tungsten_steel_shaft = 0.0 stainless_steel_mechanical_mixer = 2.0 andesite_encased_stainless_steel_cogwheel = 0.0 @@ -140,7 +92,6 @@ fanSpeedMultiplier = 0.75 tungsten_steel_mechanical_pump = 3.0 [kinetics.stressValues.v2.impact.aluminium] - silicone_rubber_belt_aluminium = 0.0 aluminium_shaft = 0.0 andesite_encased_aluminium_shaft = 0.0 brass_encased_aluminium_shaft = 0.0 @@ -160,7 +111,6 @@ fanSpeedMultiplier = 0.75 aluminium_mechanical_pump = 1.5 [kinetics.stressValues.v2.impact.stainless_steel] - silicone_rubber_belt_stainless_steel = 0.0 stainless_steel_shaft = 0.0 andesite_encased_stainless_steel_shaft = 0.0 brass_encased_stainless_steel_shaft = 0.0 @@ -180,7 +130,6 @@ fanSpeedMultiplier = 0.75 stainless_steel_mechanical_pump = 2.0 [kinetics.stressValues.v2.impact.titanium] - polyethylene_belt_titanium = 0.0 titanium_shaft = 0.0 andesite_encased_titanium_shaft = 0.0 brass_encased_titanium_shaft = 0.0 @@ -200,7 +149,6 @@ fanSpeedMultiplier = 0.75 titanium_mechanical_pump = 2.5 [kinetics.stressValues.v2.impact.tungsten_steel] - polyethylene_belt_tungsten_steel = 0.0 tungsten_steel_shaft = 0.0 andesite_encased_tungsten_steel_shaft = 0.0 brass_encased_tungsten_steel_shaft = 0.0 @@ -220,7 +168,6 @@ fanSpeedMultiplier = 0.75 tungsten_steel_mechanical_pump = 3.0 [kinetics.stressValues.v2.impact.rhodium_plated_palladium] - polytetrafluoroethylene_belt_rhodium_plated_palladium = 0.0 rhodium_plated_palladium_shaft = 0.0 andesite_encased_rhodium_plated_palladium_shaft = 0.0 brass_encased_rhodium_plated_palladium_shaft = 0.0 @@ -240,7 +187,6 @@ fanSpeedMultiplier = 0.75 rhodium_plated_palladium_mechanical_pump = 3.5 [kinetics.stressValues.v2.impact.naquadah_alloy] - polytetrafluoroethylene_belt_naquadah_alloy = 0.0 naquadah_alloy_shaft = 0.0 andesite_encased_naquadah_alloy_shaft = 0.0 brass_encased_naquadah_alloy_shaft = 0.0 @@ -260,7 +206,6 @@ fanSpeedMultiplier = 0.75 naquadah_alloy_mechanical_pump = 4.0 [kinetics.stressValues.v2.impact.darmstadtium] - polybenzimidazole_belt_darmstadtium = 0.0 darmstadtium_shaft = 0.0 andesite_encased_darmstadtium_shaft = 0.0 brass_encased_darmstadtium_shaft = 0.0 @@ -280,7 +225,6 @@ fanSpeedMultiplier = 0.75 darmstadtium_mechanical_pump = 4.5 [kinetics.stressValues.v2.impact.neutronium] - polybenzimidazole_belt_neutronium = 0.0 neutronium_shaft = 0.0 andesite_encased_neutronium_shaft = 0.0 brass_encased_neutronium_shaft = 0.0 From d3adf40927257f6e7d26355131621ea523b76a64 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 13:32:41 +0000 Subject: [PATCH 446/628] ambient sounds adjustments, I think it works better with tfc now? still not perfect but it's never going to be --- CHANGELOG.md | 2 + config/ambientsounds-client.json | 9 +- .../basic/blockgroups/grass.json | 6 + .../ambientsounds/basic/blockgroups/ice.json | 8 ++ .../ambientsounds/basic/blockgroups/log.json | 9 ++ .../basic/blockgroups/log_cold.json | 7 + .../basic/blockgroups/log_jungle.json | 10 ++ .../basic/blockgroups/log_warm.json | 10 ++ .../ambientsounds/basic/blockgroups/sand.json | 9 ++ .../ambientsounds/basic/blockgroups/snow.json | 5 + .../basic/blockgroups/water.json | 5 + .../ambientsounds/basic/features/snow.json | 9 ++ .../basic/features/tree_cold.json | 19 +++ .../basic/features/tree_jungle.json | 19 +++ .../basic/features/tree_warm.json | 19 +++ .../ambientsounds/basic/regions/beach.json | 50 +++++++ .../basic/regions/forest.cold.json | 87 ++++++++++++ .../ambientsounds/basic/regions/forest.json | 82 ++++++++++++ .../ambientsounds/basic/regions/grass.json | 73 ++++++++++ .../ambientsounds/basic/regions/highland.json | 36 +++++ .../ambientsounds/basic/regions/jungle.json | 54 ++++++++ .../ambientsounds/basic/regions/lake.json | 25 ++++ .../ambientsounds/basic/regions/mesa.json | 20 +++ .../basic/regions/mushroom_fields.json | 48 +++++++ .../ambientsounds/basic/regions/ocean.json | 22 +++ .../basic/regions/ocean_deep.json | 32 +++++ .../ambientsounds/basic/regions/plains.json | 72 ++++++++++ .../ambientsounds/basic/regions/savanna.json | 125 ++++++++++++++++++ .../ambientsounds/basic/regions/snow.json | 9 ++ .../ambientsounds/basic/regions/swamp.json | 72 ++++++++++ .../ambientsounds/basic/regions/taiga.json | 73 ++++++++++ kubejs/startup_scripts/tfg/sounds.js | 4 + 32 files changed, 1026 insertions(+), 4 deletions(-) create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/grass.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/ice.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/log.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/log_cold.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/sand.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/snow.json create mode 100644 kubejs/assets/ambientsounds/basic/blockgroups/water.json create mode 100644 kubejs/assets/ambientsounds/basic/features/snow.json create mode 100644 kubejs/assets/ambientsounds/basic/features/tree_cold.json create mode 100644 kubejs/assets/ambientsounds/basic/features/tree_jungle.json create mode 100644 kubejs/assets/ambientsounds/basic/features/tree_warm.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/beach.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/forest.cold.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/forest.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/grass.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/highland.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/jungle.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/lake.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/mesa.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/ocean.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/ocean_deep.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/plains.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/savanna.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/snow.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/swamp.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/taiga.json diff --git a/CHANGELOG.md b/CHANGELOG.md index ebb0bd75c..5b188fe79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ - Magma blocks are now hot to hold @Pyritie - Added a recipe to craft old gregtech facades into ones with a new texture @Pyritie - Fluid sources of alcohol and milks are no longer placeable, so you can't drink from them infinitely any more @bigtho80 +- Changed the ambient sounds in the Beneath, added some to the moon and mars @Pyritie +- Tweaked the ambient sounds in the overworld @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed some curving press tool head recipes being cheaper than intended (#2478) @Pyritie diff --git a/config/ambientsounds-client.json b/config/ambientsounds-client.json index a1f0e85b0..1244a3329 100644 --- a/config/ambientsounds-client.json +++ b/config/ambientsounds-client.json @@ -202,9 +202,9 @@ "animal": { "animal": 1, "bird": { - "bird": 0.75, - "bird_day": 0.75, - "bird_night": 0.75 + "bird": 0.5, + "bird_day": 0.5, + "bird_night": 0.5 }, "cicadas": 1, "cricket": { @@ -215,7 +215,7 @@ }, "cave": 1, "weather": 1, - "wind": 0.75 + "wind": 0.65 }, "fade-volume": 0.005, "fade-pitch": 0.005, @@ -225,6 +225,7 @@ "ad_astra:moon_orbit", "ad_astra:venus_orbit", "ad_astra:mars_orbit", + "ad_astra:mercury", "ad_astra:mercury_orbit" ] } \ No newline at end of file diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/grass.json b/kubejs/assets/ambientsounds/basic/blockgroups/grass.json new file mode 100644 index 000000000..cfea52f20 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/grass.json @@ -0,0 +1,6 @@ +[ + "tfc:grass/loam", + "tfc:grass/silty_loam", + "tfc:grass/sandy_loam", + "tfc:grass/silt" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/ice.json b/kubejs/assets/ambientsounds/basic/blockgroups/ice.json new file mode 100644 index 000000000..9e24b58f1 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/ice.json @@ -0,0 +1,8 @@ +[ + "minecraft:ice", + "minecraft:packed_ice", + "minecraft:frosted_ice", + "minecraft:blue_ice", + "tfc:sea_ice", + "tfc:ice_pile" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log.json b/kubejs/assets/ambientsounds/basic/blockgroups/log.json new file mode 100644 index 000000000..c14e33670 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log.json @@ -0,0 +1,9 @@ +[ + "tfc:wood/log/oak", + "tfc:wood/log/birch", + "tfc:wood/log/chestnut", + "tfc:wood/log/maple", + "tfc:wood/log/sequoia", + "tfc:wood/log/sycamore", + "afc:wood/log/cypress" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log_cold.json b/kubejs/assets/ambientsounds/basic/blockgroups/log_cold.json new file mode 100644 index 000000000..8fd6a4951 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log_cold.json @@ -0,0 +1,7 @@ +[ + "tfc:wood/log/pine", + "tfc:wood/log/douglas_fir", + "tfc:wood/log/ash", + "tfc:wood/log/spruce", + "tfc:wood/log/aspen" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json b/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json new file mode 100644 index 000000000..4c17e218f --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json @@ -0,0 +1,10 @@ +[ + "tfc:wood/log/kapok", + "tfc:wood/log/hickory", + "tfc:wood/log/rosewood", + "afc:wood/log/mahogany", + "tfc:wood/log/willow", + "afc:wood/log/tualang", + "afc:wood/log/fig", + "afc:wood/log/hevea" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json b/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json new file mode 100644 index 000000000..75b8d4f86 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json @@ -0,0 +1,10 @@ +[ + "tfc:wood/log/blackwood", + "tfc:wood/log/acacia", + "tfc:wood/log/palm", + "afc:wood/log/ironwood", + "afc:wood/log/ipe", + "afc:wood/log/baobab", + "afc:wood/log/teak", + "afc:wood/log/eucalyptus" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/sand.json b/kubejs/assets/ambientsounds/basic/blockgroups/sand.json new file mode 100644 index 000000000..b925cad12 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/sand.json @@ -0,0 +1,9 @@ +[ + "tfc:sand/white", + "tfc:sand/yellow", + "tfc:sand/red", + "tfc:sand/brown", + "tfc:sand/green", + "tfc:sand/pink", + "tfc:sand/black" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/snow.json b/kubejs/assets/ambientsounds/basic/blockgroups/snow.json new file mode 100644 index 000000000..1009936ff --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/snow.json @@ -0,0 +1,5 @@ +[ + "minecraft:snow", + "minecraft:snow_block", + "tfc:snow_pile" +] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/water.json b/kubejs/assets/ambientsounds/basic/blockgroups/water.json new file mode 100644 index 000000000..c0a8b1fd7 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/blockgroups/water.json @@ -0,0 +1,5 @@ +[ + "minecraft:water", + "tfc:fluid/river_water", + "tfc:fluid/salt_water" +] diff --git a/kubejs/assets/ambientsounds/basic/features/snow.json b/kubejs/assets/ambientsounds/basic/features/snow.json new file mode 100644 index 000000000..c9ac77a59 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/features/snow.json @@ -0,0 +1,9 @@ +{ + "name": "snow", + "groups": [ + "snow" + ], + "low-count": 20, + "low-weight": 0.1, + "high-weight": 0.3 +} diff --git a/kubejs/assets/ambientsounds/basic/features/tree_cold.json b/kubejs/assets/ambientsounds/basic/features/tree_cold.json new file mode 100644 index 000000000..f9a8f34f8 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/features/tree_cold.json @@ -0,0 +1,19 @@ +{ + "name": "tree", + "and": [ + { + "groups": [ + "leave" + ], + "low-count": 5, + "high-count": 30 + }, + { + "groups": [ + "log_cold" + ], + "low-count": 3, + "high-count": 10 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/features/tree_jungle.json b/kubejs/assets/ambientsounds/basic/features/tree_jungle.json new file mode 100644 index 000000000..77c96df1d --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/features/tree_jungle.json @@ -0,0 +1,19 @@ +{ + "name": "tree", + "and": [ + { + "groups": [ + "leave" + ], + "low-count": 5, + "high-count": 30 + }, + { + "groups": [ + "log_jungle" + ], + "low-count": 3, + "high-count": 10 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/features/tree_warm.json b/kubejs/assets/ambientsounds/basic/features/tree_warm.json new file mode 100644 index 000000000..cc79fb85b --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/features/tree_warm.json @@ -0,0 +1,19 @@ +{ + "name": "tree", + "and": [ + { + "groups": [ + "leave" + ], + "low-count": 5, + "high-count": 30 + }, + { + "groups": [ + "log_warm" + ], + "low-count": 3, + "high-count": 10 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/beach.json b/kubejs/assets/ambientsounds/basic/regions/beach.json new file mode 100644 index 000000000..a7e31a1c4 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/beach.json @@ -0,0 +1,50 @@ +{ + "name": "beach", + "biomes": [ + "shore", + "tidal_flats" + ], + "sounds": [ + { + "name": "beach", + "files": [ + "ambientsounds:water.beach" + ], + "volume": 0.1 + }, + { + "name": "seagull", + "category": "bird_day", + "files": [ + "ambientsounds:animals.seagull" + ], + "volume": 0.4, + "pause": { + "min": 750, + "max": 1000 + } + }, + { + "name": "seagull-long", + "category": "bird_day", + "files": [ + "ambientsounds:animals.seagull-long" + ], + "length": { + "min": 30, + "max": 600 + }, + "pause": { + "min": 750, + "max": 1000 + } + }, + { + "name": "ocean", + "files": [ + "ambientsounds:water.ocean" + ], + "volume": 0.2 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/forest.cold.json b/kubejs/assets/ambientsounds/basic/regions/forest.cold.json new file mode 100644 index 000000000..9c8a520f9 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/forest.cold.json @@ -0,0 +1,87 @@ +{ + "name": "forest.cold", + "features": [ + "tree" + ], + "bad-regions": [ + "rain" + ], + "regions": [ + "surface" + ], + "temperature": { + "max": 0.5 + }, + "sounds": [ + { + "name": "bird-ambience", + "files": [ + "ambientsounds:animals.bird-ambience1", + "ambientsounds:animals.bird-ambience2", + "ambientsounds:animals.bird-ambience3", + "ambientsounds:animals.bird-ambience4", + "ambientsounds:animals.bird-ambience5", + "ambientsounds:animals.bird-ambience6", + "ambientsounds:animals.bird-ambience7", + "ambientsounds:animals.bird-ambience8", + "ambientsounds:animals.bird-ambience9", + "ambientsounds:animals.bird-ambience10", + "ambientsounds:animals.bird-ambience11" + ], + "length": { + "min": 2000, + "max": 3000 + }, + "transition": 400, + "category": "bird_day" + }, + { + "name": "crow", + "category": "bird", + "files": [ + "ambientsounds:animals.crow" + ], + "pause": { + "min": 800, + "max": 4000 + }, + "day": 1, + "night": 0.2 + }, + { + "name": "owl", + "files": [ + "ambientsounds:animals.owl" + ], + "pause": { + "min": 100, + "max": 500 + }, + "category": "bird_night" + }, + { + "name": "wolf", + "category": "animal", + "files": [ + "ambientsounds:animals.wolf" + ], + "pause": { + "min": 100, + "max": 600 + }, + "day": 0 + }, + { + "name": "long-wolf", + "category": "animal", + "files": [ + "ambientsounds:animals.long-wolf" + ], + "pause": { + "min": 12000, + "max": 72000 + }, + "day": 0 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/forest.json b/kubejs/assets/ambientsounds/basic/regions/forest.json new file mode 100644 index 000000000..1dd45d350 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/forest.json @@ -0,0 +1,82 @@ +{ + "name": "forest", + "features": [ + "tree_warm" + ], + "bad-regions": [ + "taiga", + "forest.roofed", + "jungle", + "rain" + ], + "variants": [ + { + "regions": [ + "surface" + ] + }, + { + "regions": [ + "swamp" + ], + "volume": 0.3 + } + ], + "sounds": [ + { + "name": "bird-warm", + "category": "bird_day", + "files": [ + "ambientsounds:animals.bird-ambience-warm1", + "ambientsounds:animals.bird-ambience-warm2" + ], + "length": { + "min": 2000, + "max": 3000 + }, + "overall-raining": false + }, + { + "name": "cricket", + "category": "cricket_day", + "files": [ + "ambientsounds:animals.cricket", + "ambientsounds:animals.cricket2", + "ambientsounds:animals.cricket3" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.25 + }, + { + "name": "cricket-warm-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-warm-night", + "ambientsounds:animals.cricket-warm-night2" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.3 + }, + { + "name": "owl", + "files": [ + "ambientsounds:animals.owl" + ], + "pause": { + "min": 100, + "max": 500 + }, + "category": "bird_night" + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/grass.json b/kubejs/assets/ambientsounds/basic/regions/grass.json new file mode 100644 index 000000000..c1a2dd336 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/grass.json @@ -0,0 +1,73 @@ +{ + "name": "grass", + "features": [ + "grass" + ], + "bad-regions": [ + "plains", + "savanna", + "swamp", + "ocean", + "jungle", + "rain", + "forest", + "forest.cold", + "taiga", + "snow" + ], + "bad-biomes": [ + "river", + "lake", + "mountain_lake", + "old_mountain_lake", + "oceanic_mountain_lake", + "plateau_lake", + "ocean", + "ocean_reef", + "deep_ocean", + "deep_ocean_trench" + ], + "sounds": [ + { + "name": "cricket", + "category": "cricket_day", + "files": [ + "ambientsounds:animals.cricket", + "ambientsounds:animals.cricket2", + "ambientsounds:animals.cricket3" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.05 + }, + { + "name": "cricket-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-night", + "ambientsounds:animals.cricket-night2", + "ambientsounds:animals.cricket-night3", + "ambientsounds:animals.cricket-night4" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.05 + }, + { + "name": "cicadas-night", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas-night" + ], + "time": "day" + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/highland.json b/kubejs/assets/ambientsounds/basic/regions/highland.json new file mode 100644 index 000000000..a4db51513 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/highland.json @@ -0,0 +1,36 @@ +{ + "name": "highland", + "biomes": [ + "old_mountains", + "old_mountain_lake", + "oceanic_mountains", + "oceanic_mountain_lake" + ], + "sounds": [ + { + "name": "heavy-wind", + "category": "wind", + "files": [ + "ambientsounds:wind.heavy-wind" + ], + "air": { + "min": 0.6 + }, + "volume": 0.5 + }, + { + "name": "wind-in-leaves", + "category": "wind", + "files": [ + "ambientsounds:wind.wind-in-leaves" + ], + "air": { + "min": 0.6 + }, + "features": [ + "tree" + ], + "volume": 0.5 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/jungle.json b/kubejs/assets/ambientsounds/basic/regions/jungle.json new file mode 100644 index 000000000..249b4a50d --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/jungle.json @@ -0,0 +1,54 @@ +{ + "name": "jungle", + "features": [ + "wood_jungle" + ], + "bad-biomes": [ + "mountain_lake", + "old_mountain_lake", + "oceanic_mountain_lake", + "plateau_lake", + "ocean", + "ocean_reef", + "deep_ocean", + "deep_ocean_trench", + "rain" + ], + "sounds": [ + { + "name": "cricket-jungle", + "category": "cricket_day", + "files": [ + "ambientsounds:animals.cricket-jungle" + ] + }, + { + "name": "cricket-jungle-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-jungle-night" + ] + }, + { + "name": "bird-ambience-jungle", + "category": "bird_day", + "files": [ + "ambientsounds:animals.bird-ambience-jungle", + "ambientsounds:animals.bird-ambience-jungle2" + ] + }, + { + "name": "bird-ambience-jungle-night", + "category": "bird_night", + "files": [ + "ambientsounds:animals.bird-ambience-jungle-night", + "ambientsounds:animals.bird-ambience-jungle-night2" + ], + "length": { + "min": 1500, + "max": 2000 + }, + "transition": 200 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/lake.json b/kubejs/assets/ambientsounds/basic/regions/lake.json new file mode 100644 index 000000000..336ea7287 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/lake.json @@ -0,0 +1,25 @@ +{ + "name": "lake", + "biomes": [ + "river", + "lake", + "mountain_lake", + "old_mountain_lake", + "oceanic_mountain_lake", + "plateau_lake", + "volcanic_mountain_lake", + "volcanic_oceanic_mountain_lake" + ], + "features": [ + "water" + ], + "sounds": [ + { + "name": "ocean", + "files": [ + "ambientsounds:water.ocean" + ], + "volume": 0.4 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/mesa.json b/kubejs/assets/ambientsounds/basic/regions/mesa.json new file mode 100644 index 000000000..c41ddb665 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/mesa.json @@ -0,0 +1,20 @@ +{ + "name": "mesa", + "biomes": [ + "mountains", + "mountain_lake", + "volcanic_mountains", + "volcanic_mountain_lake", + "volcanic_oceanic_mountains", + "volcanic_oceanic_mountain_lake" + ], + "sounds": [ + { + "name": "wind-mesa", + "category": "wind", + "files": [ + "ambientsounds:wind.mesa" + ] + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json b/kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json new file mode 100644 index 000000000..0559992d2 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json @@ -0,0 +1,48 @@ +{ + "name": "mushroom_fields", + "biomes": [ + "amber_hills", + "amber_plains", + "amber_edge", + "rusticus_hills", + "rusticus_plains", + "rusticus_edge", + "sangnum_hills", + "sangnum_plains", + "sangnum_edge" + ], + "sounds": [ + { + "name": "cicadas-mushroom-fields", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas-mushroom-fields" + ], + "volume": 0.5, + "day": 1, + "time": [ + "day", + "night" + ], + "night": "0.1" + }, + { + "name": "special-mushroom-fields", + "category": "animal", + "files": [ + "ambientsounds:animals.special-mushroom-fields" + ], + "volume": 0.5, + "day": 1, + "night": "0.2", + "length": { + "min": 40, + "max": 120 + }, + "pause": { + "min": 500, + "max": 2200 + } + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/ocean.json b/kubejs/assets/ambientsounds/basic/regions/ocean.json new file mode 100644 index 000000000..79b49076e --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/ocean.json @@ -0,0 +1,22 @@ +{ + "name": "ocean", + "biomes": [ + "ocean", + "ocean_reef" + ], + "features": [ + "water" + ], + "sound-collections": [ + "wind" + ], + "sounds": [ + { + "name": "ocean", + "files": [ + "ambientsounds:water.ocean" + ], + "volume": 0.1 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/ocean_deep.json b/kubejs/assets/ambientsounds/basic/regions/ocean_deep.json new file mode 100644 index 000000000..1f4083f39 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/ocean_deep.json @@ -0,0 +1,32 @@ +{ + "name": "ocean", + "biomes": [ + "deep_ocean", + "deep_ocean_trench" + ], + "features": [ + "ocean" + ], + "underwater": { + "min": 0.01, + "fade": 4 + }, + "mute": 0.1, + "mute-priority": 10, + "sounds": [ + { + "name": "whale", + "category": "animal", + "pause": { + "min": 100, + "max": 1000 + }, + "features": [ + "ocean" + ], + "files": [ + "ambientsounds:animals.whale" + ] + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/plains.json b/kubejs/assets/ambientsounds/basic/regions/plains.json new file mode 100644 index 000000000..c1ddf9447 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/plains.json @@ -0,0 +1,72 @@ +{ + "name": "plains", + "features": [ + "grass" + ], + "bad-regions": [ + "ocean", + "forest", + "savanna", + "swamp", + "highland", + "nether", + "rain", + "taiga", + "snow" + ], + "biomes": [ + "lake", + "plains", + "highlands", + "hills", + "old_mountains", + "rolling_hills", + "plateau", + "plateau_lake" + ], + "sounds": [ + { + "name": "cricket", + "category": "cricket_day", + "files": [ + "ambientsounds:animals.cricket", + "ambientsounds:animals.cricket2", + "ambientsounds:animals.cricket3" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.3 + }, + { + "name": "cricket-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-night", + "ambientsounds:animals.cricket-night2", + "ambientsounds:animals.cricket-night3", + "ambientsounds:animals.cricket-night4", + "ambientsounds:animals.cricket-night5" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.3 + }, + { + "name": "cicadas-night", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas-night" + ], + "time": "night", + "volume": 0.3 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/savanna.json b/kubejs/assets/ambientsounds/basic/regions/savanna.json new file mode 100644 index 000000000..b876efba6 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/savanna.json @@ -0,0 +1,125 @@ +{ + "name": "savanna", + "bad-regions": [ + "rain", + "snow" + ], + "biomes": [ + "badlands", + "canyons", + "inverted_canyons", + "low_canyons" + ], + "sounds": [ + { + "name": "cricket", + "category": "cricket_day", + "files": [ + "ambientsounds:animals.cricket", + "ambientsounds:animals.cricket2", + "ambientsounds:animals.cricket3" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.25 + }, + { + "name": "cicadas", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas" + ], + "overall-raining": false, + "day": 0.15, + "night": 0.01, + "length": { + "min": 100, + "max": 300 + }, + "pause": { + "min": 100, + "max": 600 + } + }, + { + "name": "cicadas-desert", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas-desert1", + "ambientsounds:animals.cicadas-desert2" + ], + "overall-raining": false, + "special-biomes": { + "temperature": { + "min": 0.8 + } + }, + "day": 1, + "night": 0, + "length": { + "min": 400, + "max": 900 + }, + "pause": { + "min": 500, + "max": 1000 + } + }, + { + "name": "cricket-warm-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-warm-night", + "ambientsounds:animals.cricket-warm-night2" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.3 + }, + { + "name": "wolf", + "category": "animal", + "files": [ + "ambientsounds:animals.wolf" + ], + "pause": { + "min": 100, + "max": 600 + }, + "day": 0 + }, + { + "name": "long-wolf", + "category": "animal", + "files": [ + "ambientsounds:animals.long-wolf" + ], + "pause": { + "min": 12000, + "max": 72000 + }, + "day": 0 + }, + { + "name": "bird-warm", + "category": "bird_day", + "files": [ + "ambientsounds:animals.bird-ambience-warm1", + "ambientsounds:animals.bird-ambience-warm2" + ], + "length": { + "min": 2000, + "max": 3000 + }, + "overall-raining": false + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/snow.json b/kubejs/assets/ambientsounds/basic/regions/snow.json new file mode 100644 index 000000000..30b9df5bf --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/snow.json @@ -0,0 +1,9 @@ +{ + "name": "snow", + "features": [ + "snow" + ], + "sound-collections": [ + "wind" + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/swamp.json b/kubejs/assets/ambientsounds/basic/regions/swamp.json new file mode 100644 index 000000000..02ef2c37e --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/swamp.json @@ -0,0 +1,72 @@ +{ + "name": "swamp", + "bad-regions": [ + "rain", + "snow" + ], + "biomes": [ + "salt_marsh", + "lowlands" + ], + "sounds": [ + { + "name": "cricket-swamp", + "category": "cricket_day", + "files": [ + "ambientsounds:animals.cricket-swamp" + ], + "volume": 0.3, + "overall-raining": false + }, + { + "name": "cricket-warm-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-warm-night", + "ambientsounds:animals.cricket-warm-night2" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.3 + }, + { + "name": "frog", + "category": "animal", + "files": [ + "ambientsounds:animals.frog1", + "ambientsounds:animals.frog2" + ], + "pause": { + "min": 100, + "max": 750 + }, + "day": 0.05, + "night": 0.15 + }, + { + "name": "mouring_dove", + "category": "animal", + "files": [ + "ambientsounds:animals.mouring_dove" + ], + "features": [ + "tree" + ], + "pause": { + "min": 100, + "max": 400 + }, + "time": { + "5": 0, + "6": 1, + "8": 1, + "9": 0 + }, + "volume": 0.14 + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/taiga.json b/kubejs/assets/ambientsounds/basic/regions/taiga.json new file mode 100644 index 000000000..d697d9f8d --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/taiga.json @@ -0,0 +1,73 @@ +{ + "name": "taiga", + "features": [ + "tree_cold" + ], + "bad-regions": [ + "rain" + ], + "bad-biomes": [ + "mountain_lake", + "old_mountain_lake", + "oceanic_mountain_lake", + "plateau_lake", + "ocean", + "ocean_reef", + "deep_ocean", + "deep_ocean_trench", + "rain" + ], + "sounds": [ + { + "name": "bird-ambience-huge", + "category": "bird_day", + "files": [ + "ambientsounds:animals.bird-ambience-huge1", + "ambientsounds:animals.bird-ambience-huge2", + "ambientsounds:animals.bird-ambience-huge3" + ], + "length": { + "min": 2000, + "max": 3000 + }, + "transition": 400 + }, + { + "name": "crow", + "category": "bird", + "files": [ + "ambientsounds:animals.crow" + ], + "pause": { + "min": 800, + "max": 4000 + }, + "day": 1, + "night": 0.2 + }, + { + "name": "wolf", + "category": "animal", + "files": [ + "ambientsounds:animals.wolf" + ], + "pause": { + "min": 100, + "max": 600 + }, + "day": 0 + }, + { + "name": "long-wolf", + "category": "animal", + "files": [ + "ambientsounds:animals.long-wolf" + ], + "pause": { + "min": 12000, + "max": 72000 + }, + "day": 0 + } + ] +} diff --git a/kubejs/startup_scripts/tfg/sounds.js b/kubejs/startup_scripts/tfg/sounds.js index 44974e4b0..2b383fcc6 100644 --- a/kubejs/startup_scripts/tfg/sounds.js +++ b/kubejs/startup_scripts/tfg/sounds.js @@ -18,6 +18,10 @@ function registerTFGSounds(event) { 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:ambient.venus_surface.loop') event.create('tfg:ambient.venus_surface.additions') event.create('tfg:ambient.venus_surface.mood') From ce9601d453f511953963c13b019c3b5e537d029a Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Wed, 24 Dec 2025 07:32:47 -0700 Subject: [PATCH 447/628] added quest for scraping knives (#2507) Signed-off-by: thederpysockdude123 --- .../quests/chapters/tips__tools.snbt | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 6ec2de534..c22705e7e 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -1404,7 +1404,7 @@ }] title: "{quests.tfg_tips.trowel.title}" x: -6.5d - y: 8.5d + y: 9.0d } { dependencies: ["150B7C5CD152E1BA"] @@ -1425,8 +1425,8 @@ type: "item" }] title: "{quests.tfg_tips.fishing_net.title}" - x: -3.0d - y: 7.0d + x: -2.5d + y: 7.5d } { dependencies: ["150B7C5CD152E1BA"] @@ -1447,7 +1447,7 @@ }] title: "{quests.tfg_tips.cane.title}" x: -2.5d - y: 8.5d + y: 9.0d } { dependencies: ["72B3EA6588E18CCC"] @@ -2289,8 +2289,8 @@ type: "item" }] title: "{quests.tfg_tips.digger_helmet.title}" - x: -6.0d - y: 7.0d + x: -6.5d + y: 7.5d } { dependencies: ["72B3EA6588E18CCC"] @@ -2888,7 +2888,28 @@ type: "item" }] title: "{quests.tfg_tips.feeding_troughs.title}" - x: -4.5d + x: -5.5d + y: 6.5d + } + { + dependencies: ["150B7C5CD152E1BA"] + description: ["{quests.tfg_tips.scraping_knives.desc}"] + id: "2301E2248A3560C8" + subtitle: "{quests.tfg_tips.scraping_knives.subtitle}" + tasks: [{ + id: "193C47D8A2AD2265" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(tfcscraping:scraping_knives))" + } + } + title: "{quests.tfg_tips.scraping_knives.task}" + type: "item" + }] + title: "{quests.tfg_tips.scraping_knives.title}" + x: -3.5d y: 6.5d } ] From 07727358bb556be6c59695e53afd91e2a1f02eb7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 14:38:03 +0000 Subject: [PATCH 448/628] increased maxTrackPlacementLength cuz why not #2504 --- defaultconfigs/create-server.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml index 65b760db3..0306ea44a 100644 --- a/defaultconfigs/create-server.toml +++ b/defaultconfigs/create-server.toml @@ -489,7 +489,7 @@ #. #Maximum length of track that can be placed as one batch or turn. #Range: 16 ~ 128 - maxTrackPlacementLength = 32 + maxTrackPlacementLength = 128 #. #Maximum length of a Train Stations' assembly track. #Range: > 5 From bc89e06240668921bcf5afd7be9d5c195f7b09df Mon Sep 17 00:00:00 2001 From: TomPlop Date: Wed, 24 Dec 2025 11:49:29 -0500 Subject: [PATCH 449/628] Fix gases (#2515) -Add dimension requirement (oupsie) -Add circuit 24 to BTX (CRITICAL CHANGE) Signed-off-by: TomPlop --- .../tfg/powergen/recipes.early_gas.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index d960d60b3..a6826317b 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -218,13 +218,17 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('tfg:syngas', 1)) .EUt(-(32)) .duration(20*0.2) - + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') + // Reformate Gas event.recipes.gtceu.gas_turbine('tfg:reformate_gas') // Gas Turbine .inputFluids(Fluid.of('tfg:reformate_gas', 1)) .EUt(-(32)) .duration(20*0.6) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') // BTX Fuel @@ -232,6 +236,8 @@ function registerTFGEarlyGasRecipes(event) { .inputFluids(Fluid.of('tfg:btx_fuel', 1)) .EUt(-(32)) .duration(20*2.6) + .dimension('minecraft:overworld') + .dimension('minecraft:the_nether') //#endregion @@ -310,7 +316,8 @@ function registerTFGEarlyGasRecipes(event) { .outputFluids(Fluid.of('tfg:btx_fuel', 48000)) .duration(20*6) .EUt(GTValues.VA[GTValues.IV]) - + .circuit(24) + // Loop event.recipes.gtceu.macerator('tfg:catalyser_power') @@ -365,4 +372,4 @@ function registerTFGEarlyGasRecipes(event) { -} \ No newline at end of file +} From 848b0db31b7c983d26ca652bf58b6aaba3c79af8 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Wed, 24 Dec 2025 13:01:48 -0700 Subject: [PATCH 450/628] Add new page with prospector GUI to drilling rig quest (#2517) * add new page with prospector GUI to drilling rig quest Signed-off-by: thederpysockdude123 * Add files via upload Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- .../quests/chapters/mv__medium_voltage.snbt | 3 +++ .../tfg/textures/quests/prospector_gui.png | Bin 0 -> 18342 bytes 2 files changed, 3 insertions(+) create mode 100644 kubejs/assets/tfg/textures/quests/prospector_gui.png diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index a6cb44d8f..af8feae53 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1033,6 +1033,9 @@ "{quests.medium_voltage.mv_fluid_rig.desc.3}" "{@pagebreak}" "{quests.medium_voltage.mv_fluid_rig.desc.4}" + "{@pagebreak}" + "{quests.medium_voltage.mv_fluid_rig.desc.5}" + "{image:tfg:textures/quests/prospector_gui.png width:200 height:120 align:center}" ] icon: "gtceu:mv_fluid_drilling_rig" id: "05ADBAE5B6F38956" diff --git a/kubejs/assets/tfg/textures/quests/prospector_gui.png b/kubejs/assets/tfg/textures/quests/prospector_gui.png new file mode 100644 index 0000000000000000000000000000000000000000..46ff117add1276c92d76dec3a11150b1378f615b GIT binary patch literal 18342 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 Date: Wed, 24 Dec 2025 14:32:59 -0700 Subject: [PATCH 451/628] add checkmark to cooked meat preservation quest for meats that are for some reason not included (#2508) * add checkmark to cooked meat preservation quest for meats that are for some reason not included Signed-off-by: thederpysockdude123 * Update queststfc_tips.snbt Signed-off-by: thederpysockdude123 * Update queststfc_tips.snbt Signed-off-by: Pyritie --------- Signed-off-by: thederpysockdude123 Signed-off-by: Pyritie Co-authored-by: Pyritie --- config/ftbquests/quests/chapters/queststfc_tips.snbt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 73a72333a..1062a46a6 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -1104,6 +1104,7 @@ "ftbfiltersystem:filter": "or(custom(HasPreservation/tfc:wood_grilled)custom(HasPreservation/firmaciv:oven_baked))" } } + optional_task: true title: "{quests.tfg_tips.cook_meat.task.1}" type: "item" } @@ -1116,9 +1117,15 @@ "ftbfiltersystem:filter": "or(item(tfc:wrought_iron_grill)item(firmalife:cured_oven_top))" } } + optional_task: true title: "{quests.tfg_tips.cook_meat.task.2}" type: "item" } + { + id: "3277299EE8419365" + title: "{quests.tasktype.checkmark}" + type: "checkmark" + } ] title: "{quests.tfg_tips.cook_meat.title}" x: 5.0d From b879d7eacca7572c9e9afe3df8baf65302d30f60 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Wed, 24 Dec 2025 22:33:34 +0100 Subject: [PATCH 452/628] Remove grappling hook warnings from quests (#2514) * Remove grappling hook dimension change warning * Remove grappling hook warnings --- .../quests/chapters/tips__tools.snbt | 28 +------------------ kubejs/assets/tfg/lang/en_us.json | 3 -- 2 files changed, 1 insertion(+), 30 deletions(-) diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index c22705e7e..f23ab8152 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -5,15 +5,6 @@ group: "19428C6E7A36D463" icon: "create:white_toolbox" id: "254D02A31AA8EB49" - images: [{ - color: 16762887 - height: 2.0d - image: "ftbquests:block/barrier_open" - rotation: 0.0d - width: 2.0d - x: -10.5d - y: 2.0d - }] order_index: 3 quest_links: [ { @@ -2005,23 +1996,6 @@ x: -8.0d y: 2.0d } - { - dependencies: ["7A200766AAC1EE19"] - description: ["{quests.tfg_tips.grapple_repair.desc}"] - icon: "createdeco:decal_warning" - id: "1F93C858F1D02F7C" - shape: "none" - size: 2.0d - subtitle: "{quests.tfg_tips.grapple_repair.subtitle}" - tasks: [{ - id: "1269BD886B07619D" - title: "{quests.tasktype.checkmark}" - type: "checkmark" - }] - title: "{quests.tfg_tips.grapple_repair.title}" - x: -10.5d - y: 2.0d - } { dependencies: ["6C64C20FF5DF972A"] description: ["{quests.tfg_tips.grapple_length.desc}"] @@ -2072,7 +2046,7 @@ y: 0.0d } { - dependencies: ["1F93C858F1D02F7C"] + dependencies: ["7A200766AAC1EE19"] description: [ "{quests.tfg_tips.grapple_upgrades.desc.1}" "{@pagebreak}" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 1b33043f3..55fda84f3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -4368,9 +4368,6 @@ "quests.tfg_tips.grappling_hook.title": "Grappling Hook", "quests.tfg_tips.grappling_hook.subtitle": "This is going to end poorly", "quests.tfg_tips.grappling_hook.desc": "By combining 2 pieces of &aRope Coil&r and a &bWrought Iron Pickaxe Head&r, you can create a &dGrappling Hook!&r An ideal tool for scaling big mountains, exploring large caves and traversing the world. It contains an &eupgrade system&r that allows you to combine and modify your &dHook&r to your leisure.", - "quests.tfg_tips.grapple_repair.title": "Grappling Hook Warnings", - "quests.tfg_tips.grapple_repair.subtitle": "READ ME, OR YOU MAY REGRET IT LATER!", - "quests.tfg_tips.grapple_repair.desc": "All your &dGrappling Hook&r &aupgrades&r are stored as NBT Data inside the item. This means trying to repair your hook using &canother&r Grappling Hook &l&cWILL destroy all your upgrades!&r\n\nInstead, you should place your &dGrappling Hook&r and some &bWrought Iron Dust&r in a &3Workbench&r to repair it.\n\nAlso, don't use your Grappling Hook when traveling between the Overworld and Beneath, it's rather deadly.", "quests.tfg_tips.grapple_upgrades.title": "Upgrading your Grappling Hook", "quests.tfg_tips.grapple_upgrades.subtitle": "Balanced around TFG, of course!", "quests.tfg_tips.grapple_upgrades.desc.1": "Upgrading your &dGrappling Hook&r consists of adding or removing items to it via the &3Workbench&r.&r\n\nTo see all the upgrades you can apply to your &dGrappling Hook&r, you can press the \"Usage\" key in &2EMI.&r\nEach of the custom recipes will contain text describing what changes are being applied.", From 7fafc92d3c9f8f5d127a180d27198f83ed9e232c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 21:34:31 +0000 Subject: [PATCH 453/628] unification of metal bars --- kubejs/server_scripts/create/recipes.js | 41 ++++++------ kubejs/server_scripts/createdeco/recipes.js | 63 +++++++++++++------ .../gregtech/recipes.materials.js | 16 ----- .../server_scripts/tfc/recipes.materials.js | 6 ++ 4 files changed, 73 insertions(+), 53 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 36ee3d403..e427ed0bb 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1234,7 +1234,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/clipboard') // Лестница из железа - event.shaped('6x create:andesite_ladder', [ + event.shaped('7x create:andesite_ladder', [ 'A A', 'AAA', 'A A' @@ -1242,8 +1242,10 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/tin_alloy' }).id('tfg:create/shaped/andesite_ladder') + TFGHelpers.registerMaterialInfo('createdeco:andesite_ladder', { 'tin_alloy': 0.5 }) + // Лестница из латуни - event.shaped('6x create:brass_ladder', [ + event.shaped('7x create:brass_ladder', [ 'A A', 'AAA', 'A A' @@ -1251,8 +1253,10 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/brass' }).id('tfg:create/shaped/brass_ladder') + TFGHelpers.registerMaterialInfo('createdeco:brass_ladder', { 'brass': 0.5 }) + // Лестница из железа - event.shaped('6x create:copper_ladder', [ + event.shaped('7x create:copper_ladder', [ 'A A', 'AAA', 'A A' @@ -1260,6 +1264,8 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/copper' }).id('tfg:create/shaped/copper_ladder') + TFGHelpers.registerMaterialInfo('createdeco:copper_ladder', { 'copper': 0.5 }) + // Леса из железа event.shaped('4x create:andesite_scaffolding', [ 'AAA', @@ -2373,23 +2379,22 @@ const registerCreateRecipes = (event) => { // Bars - event.recipes.gtceu.cutter('tfg:create_andesite_bars') - .itemInputs('#forge:plates/tin_alloy') - .itemOutputs('create:andesite_bars') - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) + event.stonecutting('4x create:andesite_bars', '#forge:ingots/tin_alloy') + event.stonecutting('4x create:brass_bars', '#forge:ingots/brass') + event.stonecutting('4x create:copper_bars', '#forge:ingots/copper') - event.recipes.gtceu.cutter('tfg:create_copper_bars') - .itemInputs('#forge:plates/copper') - .itemOutputs('create:copper_bars') - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) + event.recipes.tfc.anvil(`4x create:andesite_bars`, `#forge:ingots/tin_alloy`, ['shrink_last', 'punch_second_last', 'punch_third_last']) + .tier(3).id(`tfg:anvil/create_andesite_bars`) - event.recipes.gtceu.cutter('tfg:create_brass_bars') - .itemInputs('#forge:plates/brass') - .itemOutputs('create:brass_bars') - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) + event.recipes.tfc.anvil(`4x create:brass_bars`, `#forge:ingots/brass`, ['shrink_last', 'punch_second_last', 'punch_third_last']) + .tier(2).id(`tfg:anvil/create_brass_bars`) + + event.recipes.tfc.anvil(`4x create:copper_bars`, `#forge:ingots/copper`, ['shrink_last', 'punch_second_last', 'punch_third_last']) + .tier(1).id(`tfg:anvil/create_copper_bars`) + + TFGHelpers.registerMaterialInfo('create:andesite_bars', { 'tin_alloy': 0.25 }) + TFGHelpers.registerMaterialInfo('create:brass_bars', { 'brass': 0.25 }) + TFGHelpers.registerMaterialInfo('create:copper_bars', { 'copper': 0.25 }) // Doors diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index 40c502bbf..627b1cefd 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -240,41 +240,46 @@ const registerCreatedecoRecipes = (event) => { event.remove({ id: `createdeco:${bar.metal}_trapdoor` }) event.remove({ id: `createdeco:${bar.metal}_door` }) + let quarterMap = {}; + quarterMap[bar.material] = 0.25; + if (bar.metal !== 'iron') { + // Bars event.remove({ type: 'minecraft:stonecutting', output: `createdeco:${bar.metal}_bars` }) event.recipes.tfc.anvil(`4x createdeco:${bar.metal}_bars`, `#forge:ingots/${bar.material}`, ['shrink_last', 'punch_second_last', 'punch_third_last']) - .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars`) + .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars`) - event.recipes.gtceu.assembler(`tfg:${bar.material}_create_deco_bars`) - .itemInputs(`2x #forge:rods/${bar.material}`) - .itemOutputs(`4x createdeco:${bar.metal}_bars`) - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) - .circuit(12) + event.stonecutting(`4x createdeco:${bar.metal}_bars`, `#forge:ingots/${bar.material}`) + TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars`, quarterMap) + + // Door event.recipes.tfc.anvil(`createdeco:${bar.metal}_door`, `#forge:double_plates/${bar.material}`, ['draw_last', 'draw_second_last', 'punch_third_last']) - .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_door`) + .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_door`) event.recipes.gtceu.cutter(`tfg:${bar.material}_create_deco_door`) .itemInputs(`#forge:double_plates/${bar.material}`) .itemOutputs(`createdeco:${bar.metal}_door`) .duration(100) .EUt(GTValues.VA[GTValues.LV]) + + let twoMap = {}; + twoMap[bar.material] = 2; + TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_door`, twoMap) } + // Overlay bars event.remove({ type: 'minecraft:stonecutting', output: `createdeco:${bar.metal}_bars_overlay` }) - event.recipes.tfc.anvil(`2x createdeco:${bar.metal}_bars_overlay`, `#forge:ingots/${bar.material}`, ['draw_last', 'punch_second_last', 'punch_third_last']) - .tier(bar.tier).id(`createdeco:anvil/${bar.metal}_bars_overlay`) + event.recipes.tfc.anvil(`4x createdeco:${bar.metal}_bars_overlay`, `#forge:ingots/${bar.material}`, ['draw_last', 'punch_second_last', 'punch_third_last']) + .tier(bar.tier).id(`tfg:anvil/createdeco_${bar.metal}_bars_overlay`) - event.recipes.gtceu.assembler(`tfg:${bar.material}_create_deco_bars_overlay`) - .itemInputs(`1x #forge:rods/${bar.material}`, `1x #forge:plates/${bar.material}`) - .itemOutputs(`4x createdeco:${bar.metal}_bars_overlay`) - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) - .circuit(13) + event.stonecutting(`4x createdeco:${bar.metal}_bars_overlay`, `#forge:ingots/${bar.material}`) + TFGHelpers.registerMaterialInfo(`createdeco:${bar.metal}_bars_overlay`, quarterMap) + + // Facade event.shaped(`4x createdeco:${bar.metal}_facade`, [ ' A ', 'ABA', @@ -291,9 +296,11 @@ const registerCreatedecoRecipes = (event) => { event.shapeless(`createdeco:copper_trapdoor`, `tfc:metal/trapdoor/copper`) event.shapeless(`tfc:metal/trapdoor/copper`, `createdeco:copper_trapdoor`) + TFGHelpers.registerMaterialInfo('createdeco:copper_trapdoor', { 'copper': 1 }) event.shapeless(`createdeco:industrial_iron_trapdoor`, `tfc:metal/trapdoor/steel`) event.shapeless(`tfc:metal/trapdoor/steel`, `createdeco:industrial_iron_trapdoor`) + TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_trapdoor', { 'steel': 1 }) // TODO: move these two into the tag prefixes in tfg-core, then remove these recipes @@ -315,6 +322,8 @@ const registerCreatedecoRecipes = (event) => { .duration(GTMaterials.Brass.getMass()) .EUt(GTValues.VA[GTValues.ULV]) + TFGHelpers.registerMaterialInfo('createdeco:brass_trapdoor', { 'brass': 1 }) + event.recipes.tfc.anvil(`createdeco:zinc_trapdoor`, `#forge:ingots/zinc`, ['shrink_last', 'draw_second_last', 'draw_third_last']) .tier(1).id(`createdeco:anvil/zinc_trapdoor`) @@ -333,6 +342,8 @@ const registerCreatedecoRecipes = (event) => { .duration(GTMaterials.Zinc.getMass()) .EUt(GTValues.VA[GTValues.ULV]) + TFGHelpers.registerMaterialInfo('createdeco:zinc_trapdoor', { 'zinc': 1 }) + event.recipes.tfc.anvil(`createdeco:andesite_trapdoor`, `#forge:ingots/tin_alloy`, ['shrink_last', 'draw_second_last', 'draw_third_last']) .tier(3).id(`createdeco:anvil/andesite_trapdoor`) @@ -351,6 +362,8 @@ const registerCreatedecoRecipes = (event) => { .duration(GTMaterials.TinAlloy.getMass()) .EUt(GTValues.VA[GTValues.ULV]) + TFGHelpers.registerMaterialInfo('createdeco:andesite_trapdoor', { 'tin_alloy': 1 }) + // #endregion //#region Coins @@ -446,7 +459,7 @@ const registerCreatedecoRecipes = (event) => { // #region Ladders - event.shaped('6x createdeco:iron_ladder', [ + event.shaped('7x createdeco:iron_ladder', [ 'A A', 'AAA', 'A A' @@ -456,7 +469,9 @@ const registerCreatedecoRecipes = (event) => { event.stonecutting('2x createdeco:iron_ladder', '#forge:ingots/wrought_iron') - event.shaped('6x createdeco:zinc_ladder', [ + TFGHelpers.registerMaterialInfo('createdeco:iron_ladder', { 'wrought_iron': 0.5 }) + + event.shaped('7x createdeco:zinc_ladder', [ 'A A', 'AAA', 'A A' @@ -464,7 +479,9 @@ const registerCreatedecoRecipes = (event) => { A: '#forge:rods/zinc' }).id('tfg:createdeco/shaped/zinc_ladder') - event.shaped('6x createdeco:industrial_iron_ladder', [ + TFGHelpers.registerMaterialInfo('createdeco:zinc_ladder', { 'zinc': 0.5 }) + + event.shaped('7x createdeco:industrial_iron_ladder', [ 'A A', 'AAA', 'A A' @@ -472,6 +489,8 @@ const registerCreatedecoRecipes = (event) => { A: '#forge:rods/steel' }).id('tfg:createdeco/shaped/industrial_iron_ladder') + TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_ladder', { 'steel': 0.5 }) + // #endregion // #region Shipping Containers @@ -509,11 +528,17 @@ const registerCreatedecoRecipes = (event) => { // #region Sheet Metal event.stonecutting('4x createdeco:andesite_sheet_metal', '#forge:plates/tin_alloy') + TFGHelpers.registerMaterialInfo('createdeco:andesite_sheet_metal', { 'tin_alloy': 0.25 }) event.stonecutting('4x createdeco:brass_sheet_metal', '#forge:plates/brass') + TFGHelpers.registerMaterialInfo('createdeco:brass_sheet_metal', { 'brass': 0.25 }) event.stonecutting('4x createdeco:iron_sheet_metal', '#forge:plates/wrought_iron') + TFGHelpers.registerMaterialInfo('createdeco:iron_sheet_metal', { 'wrought_iron': 0.25 }) event.stonecutting('4x createdeco:copper_sheet_metal', '#forge:plates/copper') + TFGHelpers.registerMaterialInfo('createdeco:copper_sheet_metal', { 'copper': 0.25 }) event.stonecutting('4x createdeco:industrial_iron_sheet_metal', '#forge:plates/steel') + TFGHelpers.registerMaterialInfo('createdeco:industrial_iron_sheet_metal', { 'steel': 0.25 }) event.stonecutting('4x createdeco:zinc_sheet_metal', '#forge:plates/zinc') + TFGHelpers.registerMaterialInfo('createdeco:zinc_sheet_metal', { 'zinc': 0.25 }) // #endregion }; diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index a913fae05..74a77474f 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -1075,21 +1075,6 @@ function registerGTCEUMetalRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) } - /** - * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material - */ - const processBars = (material) => { - const barsStack = ChemicalHelper.get(TFGTagPrefix.bars, material, 4) - const ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (barsStack === null) return; - - event.recipes.gtceu.cutter(`tfg:${material.getName()}_bars`) - .itemInputs(ingotStack) - .itemOutputs(barsStack) - .duration(100) - .EUt(GTValues.VA[GTValues.LV]) - } - /** * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material */ @@ -1234,7 +1219,6 @@ function registerGTCEUMetalRecipes(event) { processTrapdoor(material) processChain(material) processBell(material) - processBars(material) processBuzzsawBlade(material) event.remove({ id: `gtceu:shaped/spring_${material.getName()}` }) diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 2e90975a1..c89a439d6 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -1303,6 +1303,12 @@ function registerTFCMaterialsRecipes(event) { .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_bars`) + event.stonecutting(`4x tfc:metal/bars/${material.getName()}`, ingotItem); + + let quarterMap = {}; + quarterMap[material.getName()] = 0.25; + TFGHelpers.registerMaterialInfo(`tfc:metal/bars/${material.getName()}`, quarterMap) + // 16x Решетка event.recipes.tfc.anvil(`8x tfc:metal/bars/${material.getName()}`, ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1), ['upset_last', 'punch_second_last', 'punch_third_last']) From cc5a094f6937e0634012b39dad1b373b37779251 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 21:34:39 +0000 Subject: [PATCH 454/628] more fiddling with sounds --- CHANGELOG.md | 6 + .../ambientsounds/basic/blockgroups/sand.json | 5 +- .../basic/blockgroups/water.json | 3 +- .../{ad_astra.json => ad_astra_mars.json} | 6 +- .../basic/dimensions/ad_astra_orbit.json | 21 +++ .../basic/dimensions/ad_astra_venus.json | 13 ++ .../ambientsounds/basic/regions/highland.json | 6 +- .../ambientsounds/basic/regions/lake.json | 3 +- .../ambientsounds/basic/regions/mesa.json | 6 +- .../basic/regions/mushroom_fields.json | 48 ------- .../ambientsounds/basic/regions/venus.json | 112 ++++++++++++++++ kubejs/assets/tfg/sounds.json | 103 ++------------- .../data/tfg/worldgen/biome/venus/beach.json | 121 ------------------ 13 files changed, 182 insertions(+), 271 deletions(-) rename kubejs/assets/ambientsounds/basic/dimensions/{ad_astra.json => ad_astra_mars.json} (80%) create mode 100644 kubejs/assets/ambientsounds/basic/dimensions/ad_astra_orbit.json create mode 100644 kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json delete mode 100644 kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json create mode 100644 kubejs/assets/ambientsounds/basic/regions/venus.json delete mode 100644 kubejs/data/tfg/worldgen/biome/venus/beach.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b188fe79..05e6949d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## Unreleased +### Breaking Changes +- The LCR recipe for BTX fuel now requires circuit 24, to fix a recipe conflict (#2515) @TomPlop ### Changes - Added casting molds for small gears, nuggets, and rods (#2470) @glitchplaysgames714 - Added some new illages to the hot and dry, and cold and dry climates of the world! @MVG31 @@ -9,16 +11,20 @@ - Magma blocks are now hot to hold @Pyritie - Added a recipe to craft old gregtech facades into ones with a new texture @Pyritie - Fluid sources of alcohol and milks are no longer placeable, so you can't drink from them infinitely any more @bigtho80 +- Added TFC scraping knives (#2494) @glitchplaysgames714 - Changed the ambient sounds in the Beneath, added some to the moon and mars @Pyritie - Tweaked the ambient sounds in the overworld @Pyritie +- Apatite, Tricalcium phosphate, rock salt, potassium sulfate, and ammonium chloride dusts now count as crop fertiliser (#2501) @Xtrial-01 ### Bug fixes - Fix for food stacking everywhere! @Mqrius +- Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius - Fixed some curving press tool head recipes being cheaper than intended (#2478) @Pyritie - Fixed some bastion chests being empty @Pyritie - Fixed overlapping durability numbers on the curio HUD (#2484) @glitchplaysgames714 - Fixed a potential crash involving the refrigerator @Redeix - Fixed the evaporation tower requiring an input hatch even for recipes that don't have a fluid input @glitchplaysgames714 - Fixed loot tables for ore indicator buds @Pyritie +- Fixed the new gas fuels being usable on other planets (#2515) @TomPlop ### Translation updates - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/sand.json b/kubejs/assets/ambientsounds/basic/blockgroups/sand.json index b925cad12..9160f6e45 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/sand.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/sand.json @@ -5,5 +5,8 @@ "tfc:sand/brown", "tfc:sand/green", "tfc:sand/pink", - "tfc:sand/black" + "tfc:sand/black", + "ad_astra:moon_sand", + "ad_astra:mars_sand", + "ad_astra:venus_sand" ] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/water.json b/kubejs/assets/ambientsounds/basic/blockgroups/water.json index c0a8b1fd7..12a7c542f 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/water.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/water.json @@ -1,5 +1,6 @@ [ "minecraft:water", "tfc:fluid/river_water", - "tfc:fluid/salt_water" + "tfc:fluid/salt_water", + "tfg:fluid/semiheavy_ammoniacal_water" ] diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json similarity index 80% rename from kubejs/assets/ambientsounds/basic/dimensions/ad_astra.json rename to kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json index 026482ab9..dcef09e9a 100644 --- a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra.json +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json @@ -1,9 +1,7 @@ { - "name": "ad_astra", + "name": "ad_astra_mars", "dimension-names": [ - "mars", - "venus", - "glacio" + "mars" ], "biome-selector": { "always": false diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_orbit.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_orbit.json new file mode 100644 index 000000000..e573f9f2b --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_orbit.json @@ -0,0 +1,21 @@ +{ + "name": "end", + "dimension-names": [ + "orbit" + ], + "rain": false, + "storm": false, + "average-height": 0, + "biome-selector": { + "always": false + }, + "regions": [ + { + "name": "unknown", + "volume": 0.3, + "sound-collections": [ + "suspense" + ] + } + ] +} diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json new file mode 100644 index 000000000..ec561ac77 --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json @@ -0,0 +1,13 @@ +{ + "name": "ad_astra_venus", + "dimension-names": [ + "venus" + ], + "rain": true, + "storm": true, + "biome-selector": { + "always": false + }, + "regions": [ + ] +} diff --git a/kubejs/assets/ambientsounds/basic/regions/highland.json b/kubejs/assets/ambientsounds/basic/regions/highland.json index a4db51513..552881d6b 100644 --- a/kubejs/assets/ambientsounds/basic/regions/highland.json +++ b/kubejs/assets/ambientsounds/basic/regions/highland.json @@ -4,7 +4,11 @@ "old_mountains", "old_mountain_lake", "oceanic_mountains", - "oceanic_mountain_lake" + "oceanic_mountain_lake", + "martian_mountains", + "rusticus_edge", + "amber_edge", + "sangnum_edge" ], "sounds": [ { diff --git a/kubejs/assets/ambientsounds/basic/regions/lake.json b/kubejs/assets/ambientsounds/basic/regions/lake.json index 336ea7287..169fb9015 100644 --- a/kubejs/assets/ambientsounds/basic/regions/lake.json +++ b/kubejs/assets/ambientsounds/basic/regions/lake.json @@ -8,7 +8,8 @@ "oceanic_mountain_lake", "plateau_lake", "volcanic_mountain_lake", - "volcanic_oceanic_mountain_lake" + "volcanic_oceanic_mountain_lake", + "martian_river" ], "features": [ "water" diff --git a/kubejs/assets/ambientsounds/basic/regions/mesa.json b/kubejs/assets/ambientsounds/basic/regions/mesa.json index c41ddb665..fce8bbf99 100644 --- a/kubejs/assets/ambientsounds/basic/regions/mesa.json +++ b/kubejs/assets/ambientsounds/basic/regions/mesa.json @@ -6,7 +6,11 @@ "volcanic_mountains", "volcanic_mountain_lake", "volcanic_oceanic_mountains", - "volcanic_oceanic_mountain_lake" + "volcanic_oceanic_mountain_lake", + "martian_deep_desert", + "martian_dunes", + "martian_dune_edge", + "jagged_tablelands" ], "sounds": [ { diff --git a/kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json b/kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json deleted file mode 100644 index 0559992d2..000000000 --- a/kubejs/assets/ambientsounds/basic/regions/mushroom_fields.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "mushroom_fields", - "biomes": [ - "amber_hills", - "amber_plains", - "amber_edge", - "rusticus_hills", - "rusticus_plains", - "rusticus_edge", - "sangnum_hills", - "sangnum_plains", - "sangnum_edge" - ], - "sounds": [ - { - "name": "cicadas-mushroom-fields", - "category": "cicadas", - "files": [ - "ambientsounds:animals.cicadas-mushroom-fields" - ], - "volume": 0.5, - "day": 1, - "time": [ - "day", - "night" - ], - "night": "0.1" - }, - { - "name": "special-mushroom-fields", - "category": "animal", - "files": [ - "ambientsounds:animals.special-mushroom-fields" - ], - "volume": 0.5, - "day": 1, - "night": "0.2", - "length": { - "min": 40, - "max": 120 - }, - "pause": { - "min": 500, - "max": 2200 - } - } - ] -} diff --git a/kubejs/assets/ambientsounds/basic/regions/venus.json b/kubejs/assets/ambientsounds/basic/regions/venus.json new file mode 100644 index 000000000..4cec2093a --- /dev/null +++ b/kubejs/assets/ambientsounds/basic/regions/venus.json @@ -0,0 +1,112 @@ +{ + "name": "venus", + "bad-regions": [ + "rain" + ], + "biomes": [ + "arachnoids", + "stromatolite_beach", + "fractured_pools", + "geysers", + "salt_flats", + "sulfuric_ravine", + "fumaroles" + ], + "sounds": [ + { + "name": "cricket", + "category": "cricket_day", + "files": [ + "ambientsounds:animals.cricket", + "ambientsounds:animals.cricket2", + "ambientsounds:animals.cricket3" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.25 + }, + { + "name": "cricket-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-night", + "ambientsounds:animals.cricket-night2", + "ambientsounds:animals.cricket-night3", + "ambientsounds:animals.cricket-night4" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.05 + }, + { + "name": "cicadas", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas" + ], + "overall-raining": false, + "day": 0.15, + "night": 0.01, + "length": { + "min": 100, + "max": 300 + }, + "pause": { + "min": 100, + "max": 600 + } + }, + { + "name": "cicadas-desert", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas-desert1", + "ambientsounds:animals.cicadas-desert2" + ], + "overall-raining": false, + "day": 1, + "night": 0, + "length": { + "min": 400, + "max": 900 + }, + "pause": { + "min": 500, + "max": 1000 + } + }, + { + "name": "cicadas-night", + "category": "cicadas", + "files": [ + "ambientsounds:animals.cicadas-night" + ], + "overall-raining": false, + "day": 0, + "night": 1 + }, + { + "name": "cricket-warm-night", + "category": "cricket_night", + "files": [ + "ambientsounds:animals.cricket-warm-night", + "ambientsounds:animals.cricket-warm-night2" + ], + "overall-raining": false, + "length": { + "min": 1000, + "max": 1500 + }, + "transition": 100, + "volume": 0.3 + } + ] +} diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index eaf1ad066..b6467f831 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -383,7 +383,7 @@ "ambient.mars_desert.loop": { "sounds": [ { - "name": "ambientsounds:wind/light-wind3", + "name": "ambientsounds:wind/howling-wind", "stream": true, "volume": 0.50 } @@ -445,50 +445,6 @@ "name": "minecraft:ambient/nether/soulsand_valley/sand3", "volume": 0.4, "weight": 2 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind1", - "volume": 0.3, - "weight": 25 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind1", - "pitch": 0.75, - "volume": 0.3, - "weight": 25 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind2", - "volume": 0.25, - "weight": 25 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind2", - "pitch": 0.75, - "volume": 0.3, - "weight": 25 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind3", - "volume": 0.25, - "weight": 25 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind3", - "pitch": 0.75, - "volume": 0.3, - "weight": 25 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind4", - "volume": 0.3, - "weight": 25 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind4", - "pitch": 0.75, - "volume": 0.3, - "weight": 25 } ] }, @@ -504,7 +460,7 @@ "ambient.mars_land.loop": { "sounds": [ { - "name": "ambientsounds:wind/light-wind2", + "name": "ambientsounds:animals/cicadas/cicadas-mushroom-fields", "stream": true, "volume": 0.50 } @@ -529,27 +485,27 @@ }, { "name": "minecraft:ambient/nether/basalt_deltas/click4", - "volume": 0.25, + "volume": 0.19, "weight": 20 }, { "name": "minecraft:ambient/nether/basalt_deltas/click5", - "volume": 0.25, + "volume": 0.19, "weight": 20 }, { "name": "minecraft:ambient/nether/basalt_deltas/click6", - "volume": 0.01, + "volume": 0.19, "weight": 20 }, { "name": "minecraft:ambient/nether/basalt_deltas/click7", - "volume": 0.01, + "volume": 0.19, "weight": 25 }, { "name": "minecraft:ambient/nether/basalt_deltas/click8", - "volume": 0.01, + "volume": 0.19, "weight": 25 }, { @@ -608,48 +564,9 @@ "weight": 3 }, { - "name": "minecraft:ambient/nether/soulsand_valley/wind1", - "volume": 0.3, - "weight": 5 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind1", - "pitch": 0.75, - "volume": 0.3, - "weight": 5 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind2", - "volume": 0.25, - "weight": 5 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind2", - "pitch": 0.75, - "volume": 0.3, - "weight": 5 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind3", - "volume": 0.25, - "weight": 5 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind3", - "pitch": 0.75, - "volume": 0.3, - "weight": 5 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind4", - "volume": 0.3, - "weight": 5 - }, - { - "name": "minecraft:ambient/nether/soulsand_valley/wind4", - "pitch": 0.75, - "volume": 0.3, - "weight": 5 + "name": "ambientsounds:animals/special/special-mushroom-fields", + "volume": 0.4, + "weight": 20 } ] }, diff --git a/kubejs/data/tfg/worldgen/biome/venus/beach.json b/kubejs/data/tfg/worldgen/biome/venus/beach.json deleted file mode 100644 index 807da30e9..000000000 --- a/kubejs/data/tfg/worldgen/biome/venus/beach.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "carvers": { - "air": [] - }, - "downfall": 0, - "effects": { - "sky_color": 10465603, - "fog_color": 9938052, - "water_color": 8241044, - "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, - "additions_sound": { - "sound": "tfg:ambient.venus_surface.additions", - "tick_chance": 0.0111 - }, - "ambient_sound": "tfg:ambient.venus_surface.loop", - "mood_sound": { - "block_search_extent": 8, - "offset": 2, - "sound": "tfg:ambient.venus_surface.mood", - "tick_delay": 6000 - }, - "particle": { - "options": { - "type": "minecraft:ash" - }, - "probability": 0.1 - } - }, - "features": [ - [ - "tfc:erosion" - ], - [], - [], - [], - [], - [], - "#tfg:venus_veins", - "#tfg:venus_underground_decoration", - [], - [], - "#tfg:venus_top_layer_modification" - ], - "has_precipitation": true, - "spawn_costs": { - "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 - }, - "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 - }, - "endermanoverhaul:nether_wastes_enderman": { - "energy_budget": 0.05, - "charge": 0.9 - }, - "minecraft:enderman": { - "energy_budget": 0.05, - "charge": 0.9 - }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, - "species:cliff_hanger": { - "energy_budget": 0.15, - "charge": 0.7 - } - }, - "spawners": { - "ambient": [], - "axolotls": [], - "creature": [], - "misc": [], - "monster": [ - { - "type": "endermanoverhaul:desert_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, - { - "type": "endermanoverhaul:savanna_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, - { - "type": "endermanoverhaul:nether_wastes_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, - { - "type": "minecraft:enderman", - "maxCount": 1, - "minCount": 1, - "weight": 20 - }, - { - "type": "ad_astra:sulfur_creeper", - "maxCount": 3, - "minCount": 1, - "weight": 100 - }, - { - "type": "species:cliff_hanger", - "maxCount": 3, - "minCount": 1, - "weight": 100 - } - ], - "underground_water_creature": [], - "water_ambient": [], - "water_creature": [] - }, - "temperature": 1.6 -} \ No newline at end of file From e03336b77917ac9883a3744f6516f3806b18276c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 21:36:37 +0000 Subject: [PATCH 455/628] fix being able to cycle mushroom expiration via mushroom block compression #2518 --- .../loot_tables/blocks/shroomlight.json | 2 +- kubejs/server_scripts/minecraft/recipes.js | 16 ++-------------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/kubejs/data/minecraft/loot_tables/blocks/shroomlight.json b/kubejs/data/minecraft/loot_tables/blocks/shroomlight.json index 8df9d37a0..5e17b1288 100644 --- a/kubejs/data/minecraft/loot_tables/blocks/shroomlight.json +++ b/kubejs/data/minecraft/loot_tables/blocks/shroomlight.json @@ -22,7 +22,7 @@ "entries": [ { "type": "minecraft:item", - "name": "minecraft:brown_mushroom_block" + "name": "minecraft:brown_mushroom" } ], "conditions": [ diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 64bf70cae..d18603be8 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -945,27 +945,15 @@ const registerMinecraftRecipes = (event) => { event.shapeless('4x minecraft:brown_mushroom', ['minecraft:brown_mushroom_block', '#forge:tools/knives']) .id('tfg:shapeless/cut_brown_mushroom_block') - event.recipes.gtceu.compressor('tfg:red_mushroom') - .itemInputs('4x minecraft:red_mushroom') - .itemOutputs('minecraft:red_mushroom_block') - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - - event.recipes.gtceu.compressor('tfg:brown_mushroom') - .itemInputs('4x minecraft:brown_mushroom') - .itemOutputs('minecraft:brown_mushroom_block') - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.chemical_bath('tfg:red_mushroom_to_shroomlight') - .itemInputs('minecraft:red_mushroom_block') + .itemInputs('4x minecraft:red_mushroom') .inputFluids(Fluid.of('gtceu:glowstone', 144)) .itemOutputs('minecraft:shroomlight') .duration(200) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.chemical_bath('tfg:brown_mushroom_to_shroomlight') - .itemInputs('minecraft:brown_mushroom_block') + .itemInputs('4x minecraft:brown_mushroom') .inputFluids(Fluid.of('gtceu:glowstone', 144)) .itemOutputs('minecraft:shroomlight') .duration(200) From 4465454a17c755e49efb70ce4ca78155b4d766ef Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 22:03:52 +0000 Subject: [PATCH 456/628] add crash assistant and ftb chunks x xaero's compat, update extreme sound muffler --- CHANGELOG.md | 2 + pakku-lock.json | 194 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 157 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05e6949d1..aa9e456c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,9 +25,11 @@ - Fixed the evaporation tower requiring an input hatch even for recipes that don't have a fluid input @glitchplaysgames714 - Fixed loot tables for ore indicator buds @Pyritie - Fixed the new gas fuels being usable on other planets (#2515) @TomPlop +- Fixed hot ingots melting packed ice into water sources @Mqrius ### Translation updates - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry +- Spanish @NikoNeko17 ## [0.11.12] - 19-12-2025 ### Changes diff --git a/pakku-lock.json b/pakku-lock.json index 66f9c4049..ded7567d4 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2511,7 +2511,10 @@ ] }, { - "pakku_id": "09bmfAq7PxUxWfZP", + "pakku_id": "Zx4piwuLwghFhuAX", + "pakku_links": [ + "vcmbP1ZpBZtFq3zT" + ], "type": "MOD", "side": "CLIENT", "slug": { @@ -2527,30 +2530,6 @@ "modrinth": "vPNqo58Q" }, "files": [ - { - "type": "modrinth", - "file_name": "clienttweaks-forge-1.20.1-11.1.6.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/vPNqo58Q/versions/Febi39qw/clienttweaks-forge-1.20.1-11.1.6.jar", - "id": "Febi39qw", - "parent_id": "vPNqo58Q", - "hashes": { - "sha512": "1b8ddf7ccb8fb5cd2248365534b80af10023821ec4d2786821edd744ae6ce01dc888ddf61f16e1a2a9f4f88041d06fc1a219aa9088625882f5b5739f68f29a1b", - "sha1": "94f11a58c3b971ea95971f297b7866ca27b73270" - }, - "required_dependencies": [ - "MBAkmtvl" - ], - "size": 138121, - "date_published": "2025-12-22T08:28:32.495908Z" - }, { "type": "curseforge", "file_name": "clienttweaks-forge-1.20.1-11.1.6.jar", @@ -2574,6 +2553,30 @@ ], "size": 138121, "date_published": "2025-12-22T08:27:56.817Z" + }, + { + "type": "modrinth", + "file_name": "clienttweaks-forge-1.20.1-11.1.6.jar", + "mc_versions": [ + "1.20", + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/vPNqo58Q/versions/Febi39qw/clienttweaks-forge-1.20.1-11.1.6.jar", + "id": "Febi39qw", + "parent_id": "vPNqo58Q", + "hashes": { + "sha512": "1b8ddf7ccb8fb5cd2248365534b80af10023821ec4d2786821edd744ae6ce01dc888ddf61f16e1a2a9f4f88041d06fc1a219aa9088625882f5b5739f68f29a1b", + "sha1": "94f11a58c3b971ea95971f297b7866ca27b73270" + }, + "required_dependencies": [ + "MBAkmtvl" + ], + "size": 138121, + "date_published": "2025-12-22T08:28:32.495908Z" } ] }, @@ -3412,6 +3415,76 @@ } ] }, + { + "pakku_id": "lePQHTl9cI4dUuqu", + "type": "MOD", + "side": "CLIENT", + "slug": { + "curseforge": "crash-assistant", + "modrinth": "crash-assistant" + }, + "name": { + "curseforge": "Crash Assistant", + "modrinth": "Crash Assistant" + }, + "id": { + "curseforge": "1154099", + "modrinth": "ix1qq8Ux" + }, + "files": [ + { + "type": "curseforge", + "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7330/477/CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", + "id": "7330477", + "parent_id": "1154099", + "hashes": { + "sha1": "4cc9d9e8cb0e615258acc7e81d27be10d34ae840", + "md5": "7d089103d00b7fb5afd7096afe317f81" + }, + "required_dependencies": [], + "size": 1230345, + "date_published": "2025-12-14T00:18:54.663Z" + }, + { + "type": "modrinth", + "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", + "mc_versions": [ + "1.19", + "1.19.1", + "1.19.2", + "1.19.3", + "1.19.4", + "1.20", + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/ix1qq8Ux/versions/uTKUXsEa/CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", + "id": "uTKUXsEa", + "parent_id": "ix1qq8Ux", + "hashes": { + "sha512": "4224e75cb3dd86ca40d7d28eb016ada18baf27e102137af2fc76b83efceaaa6a8d7979b3b5d369ecd864ad1bf4c27a20dd182e31cb19c05f1c7eb4939e73107e", + "sha1": "4cc9d9e8cb0e615258acc7e81d27be10d34ae840" + }, + "required_dependencies": [], + "size": 1230345, + "date_published": "2025-12-14T00:18:58.159121Z" + } + ] + }, { "pakku_id": "UK4MA17BjQa9613t", "type": "MOD", @@ -5453,7 +5526,7 @@ "files": [ { "type": "modrinth", - "file_name": "ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", + "file_name": "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5461,20 +5534,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/tTO5f5iv/ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", - "id": "tTO5f5iv", + "url": "https://cdn.modrinth.com/data/5IIKsxiL/versions/7daeCqUP/ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", + "id": "7daeCqUP", "parent_id": "5IIKsxiL", "hashes": { - "sha512": "2cd3be9ac975118f10d21c379db7ad1d5625c854ea45f7299da340abbd34b9d2863eda4a967ee1b57a1f78f1c08d8a86fb66b6ac4c9aadb9390071cf1c64e5d4", - "sha1": "1c7a54e1727f2ae4b1f18e1d7feb94a38e87d00f" + "sha512": "5fb4ef6bdcf344dae3af9f39a8ce510ebb3fe5d928ce17ba3067bb1e034e3eeb953c0fd905fa4462c1eb6b0d075d84f9fbf734dfc3b31423a75054b30281518a", + "sha1": "3b73ae534ff7e4f9c65e78c1f868655a23ab90c7" }, "required_dependencies": [], - "size": 267731, - "date_published": "2025-05-13T17:40:33.392430Z" + "size": 267751, + "date_published": "2025-12-23T21:58:19.811834Z" }, { "type": "curseforge", - "file_name": "ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", + "file_name": "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5482,16 +5555,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6526/566/ExtremeSoundMuffler-3.49.1-forge-1.20.1.jar", - "id": "6526566", + "url": "https://edge.forgecdn.net/files/7371/8/ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", + "id": "7371008", "parent_id": "363363", "hashes": { - "sha1": "1c7a54e1727f2ae4b1f18e1d7feb94a38e87d00f", - "md5": "3727846f67248980ac39b92464c627f2" + "sha1": "3b73ae534ff7e4f9c65e78c1f868655a23ab90c7", + "md5": "d03d1852c5a1701657af88f690ac5bb2" }, "required_dependencies": [], - "size": 267731, - "date_published": "2025-05-13T17:40:31.427Z" + "size": 267751, + "date_published": "2025-12-23T21:58:17.897Z" } ] }, @@ -5655,6 +5728,49 @@ } ] }, + { + "pakku_id": "iIWwbh74g7lpTP7d", + "pakku_links": [ + "MxMrrOyyu2PvCSN8", + "tdBDW3xpPBc3E2mt" + ], + "type": "MOD", + "slug": { + "curseforge": "ftbxaerocompat" + }, + "name": { + "curseforge": "FTB Chunks x Xaero's Compat" + }, + "id": { + "curseforge": "1357724" + }, + "files": [ + { + "type": "curseforge", + "file_name": "ftbxaerocompat-forge-1.1.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7365/97/ftbxaerocompat-forge-1.1.0.jar", + "id": "7365097", + "parent_id": "1357724", + "hashes": { + "sha1": "1891f5e557bd90307f2499c9a6ba077915222ad3", + "md5": "966a28493e055a0f199e559b701e5274" + }, + "required_dependencies": [ + "314906", + "317780" + ], + "size": 735934, + "date_published": "2025-12-22T12:04:11.870Z" + } + ] + }, { "pakku_id": "wrtHnSj8GEjPjzsm", "type": "MOD", From e2436dbf367f740325ce2791f5c6800bdb8341ef Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 22:35:38 +0000 Subject: [PATCH 457/628] fix sounds on mars + venus --- .../basic/dimensions/ad_astra_mars.json | 2 +- .../basic/dimensions/ad_astra_venus.json | 2 +- kubejs/assets/tfg/sounds.json | 28 +++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json index dcef09e9a..f3a996717 100644 --- a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mars.json @@ -4,7 +4,7 @@ "mars" ], "biome-selector": { - "always": false + "always": true }, "regions": [ { diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json index ec561ac77..f4984717e 100644 --- a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json @@ -6,7 +6,7 @@ "rain": true, "storm": true, "biome-selector": { - "always": false + "always": true }, "regions": [ ] diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index b6467f831..4358b496a 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -471,42 +471,42 @@ { "name": "minecraft:ambient/nether/basalt_deltas/click1", "volume": 0.19, - "weight": 20 + "weight": 10 }, { "name": "minecraft:ambient/nether/basalt_deltas/click2", "volume": 0.19, - "weight": 20 + "weight": 10 }, { "name": "minecraft:ambient/nether/basalt_deltas/click3", "volume": 0.19, - "weight": 20 + "weight": 10 }, { "name": "minecraft:ambient/nether/basalt_deltas/click4", "volume": 0.19, - "weight": 20 + "weight": 10 }, { "name": "minecraft:ambient/nether/basalt_deltas/click5", "volume": 0.19, - "weight": 20 + "weight": 10 }, { "name": "minecraft:ambient/nether/basalt_deltas/click6", "volume": 0.19, - "weight": 20 + "weight": 10 }, { "name": "minecraft:ambient/nether/basalt_deltas/click7", "volume": 0.19, - "weight": 25 + "weight": 10 }, { "name": "minecraft:ambient/nether/basalt_deltas/click8", "volume": 0.19, - "weight": 25 + "weight": 10 }, { "name": "minecraft:ambient/nether/soulsand_valley/sand1", @@ -521,27 +521,27 @@ { "name": "minecraft:ambient/nether/soulsand_valley/sand3", "volume": 0.4, - "weight": 2 + "weight": 25 }, { "name": "minecraft:ambient/nether/crimson_forest/shroom1", "volume": 0.25, - "weight": 2 + "weight": 4 }, { "name": "minecraft:ambient/nether/crimson_forest/shroom2", "volume": 0.25, - "weight": 2 + "weight": 4 }, { "name": "minecraft:ambient/nether/crimson_forest/shroom3", "volume": 0.25, - "weight": 2 + "weight": 4 }, { "name": "minecraft:ambient/nether/crimson_forest/twang1", "volume": 0.25, - "weight": 2 + "weight": 3 }, { "name": "minecraft:ambient/nether/crimson_forest/particles1", @@ -561,7 +561,7 @@ { "name": "minecraft:ambient/nether/crimson_forest/addition1", "volume": 0.4, - "weight": 3 + "weight": 5 }, { "name": "ambientsounds:animals/special/special-mushroom-fields", From f27a72300dcb0f6f150f9c2efd55e85c8827a9a8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 22:53:30 +0000 Subject: [PATCH 458/628] crash assistant config --- config/crash_assistant/config.toml | 253 +++ config/crash_assistant/config.toml.bak | 253 +++ .../README.md | 56 + config/crash_assistant/modlist.json | 1671 +++++++++++++++++ .../problematic_mods_config.json | 10 + 5 files changed, 2243 insertions(+) create mode 100644 config/crash_assistant/config.toml create mode 100644 config/crash_assistant/config.toml.bak create mode 100644 config/crash_assistant/crash_assistant_localization_overrides/README.md create mode 100644 config/crash_assistant/modlist.json create mode 100644 config/crash_assistant/problematic_mods_config.json diff --git a/config/crash_assistant/config.toml b/config/crash_assistant/config.toml new file mode 100644 index 000000000..0876e5bb0 --- /dev/null +++ b/config/crash_assistant/config.toml @@ -0,0 +1,253 @@ + +#General settings of Crash Assistant mod. +[general] + #Link which will be opened in browser on request_help_button pressed. + #If equals CHANGE_ME, will open Forge/NeoForge/Fabric/Quilt discord link. Names of communities/channels also will be used not from config, but according to this link. + #Must start with 'https://' or 'www.' + help_link = "https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues" + #Anyways log will be uploaded to mclo.gs, but with this option you can wrap link to gnomebot.dev for better formatting. + #If help_link equals 'CHANGE_ME', this value will be ignored and gnomebot.dev used. + #Supported values: mclo.gs / gnomebot.dev + upload_to = "gnomebot.dev" + #Show gui on minecraft crashed on modloading and FML error screen displayed. + show_on_fml_error_screen = true + #Close old CrashAssistantApp if it's still running when starting a new instance of Minecraft, to avoid confusing player with window from old crash. + kill_old_app = true + #If options.txt doesn't exist, the default language will be used. + default_lang = "en_us" + #By default, crash assistant will get the value for the current language from the overrides folder, then from the jar. + #By changing this option, it will first try to get it from the current overrides, then (if no override exists for this language) + #from the override for the language specified here, and only then from the jar language. + #Use "NONE" to disable this feature. Or language key, like "en_us" to enable it. + priority_lang_for_overrides = "NONE" + #By changing this value you can disable creating "crash_assistant_localization_overrides" folder and placing "README.md" file there. + generate_localization_overrides_folder_with_readme = true + #By default our process is scanning for terminated processes(they can appear with delay) and after finish of scan enabling upload buttons. + #This option can prevent this and enable individual upload buttons immediately after crash. + #However can confuse users and make them clicking individual upload buttons instead of Upload All Button. + prevent_upload_buttons_delay = false + #Before uploading the first log, requires the user to accept the privacy policy. + #Disabling this option may be illegal in some countries if you are modpack creator. Disable at your own risk. + enable_privacy_policy_acceptance = true + #Unfortunately mclogs censoring ip-like versions as has no way to determine if it's version or IP. + #This will prevent this by replacing dot's in them to dot-like symbol. + #Anti censoring only versions, IP's are kept censored. + enable_mclogs_anti_ip_like_version_censorer = true + #Prevents creating "crash_assistant" folder in the logs folder. + #So this option prevents our app logging at all. + #HIGHLY UNRECOMMENDED to disable! Contains many useful info. + prevent_generating_crash_assistant_app_logs = false + #Generates "logs/stderr_stream.log" with stderr stream. + #Since many launchers are not saving this info, which is extremely helpful for debugging some crashes. + #As only where crash reason is present. Keeps original stream untouched, just logs it to a file. + generate_own_launcher_log = true + #Here you can change priority for logs. + #For example if you want crash report to be shown earlier than latest.log in the available logs list. + #Supported values: https://github.com/KostromDan/Crash-Assistant/blob/1.19-1.20.1/app/src/main/java/dev/kostromdan/mods/crash_assistant/app/logs_analyser/LogType.java + #Usage: ["CRASH_REPORT", "LOG"] + logs_priority_overrides = [] + #List of blacklisted log files (checked with startswith()). This files won't show in GUI logs list. + blacklisted_logs = [] + +#A simplified GUI that hides the logs list until the user opts into Expert Mode. +[simple_mode] + #If enabled, the GUI starts in simple mode with logs hidden and a single "Show Logs (Expert Mode)" button. + #Disabled by default. + enabled = false + #If true, modpack creators always see the Expert Mode with logs visible, even if simple mode is enabled. + prevent_for_modpack_creators = true + #If true, hides the mod list changes section while simple mode is active. + hide_modlist_section = false + +#Here you can change text of lang placeHolders. +#Also you can change any text in lang files. +#You don't need to modify jar. You can change it in config/crash_assistant/lang. For more info read README.md file located where. +[text] + #$CONFIG.text.support_name$ in lang files will be replaced with this value. + #For example this placeHolder used in: "Request help in the $CONFIG.text.support_name$" + support_name = "TFG Github" + #$CONFIG.text.support_place$ in lang files will be replaced with this value. + support_place = "New Issue button" + #$CONFIG.text.modpack_name$ in lang files will be replaced with this value. + #For example this placeHolder used in: "Oops, $CONFIG.text.modpack_name$ crashed!" + #Supports Better Compatibility Checker integration. You can use $BCC.modpackName$, $BCC.modpackVersion$, etc and it will be replaced with value from BCC config. + modpack_name = "TerraFirmaGreg" + +#Settings of message generated by Upload all button +[generated_message] + #Add ### prefix before filename. + #This can prevent too small, hard to hit on mobile links. + h3_prefix = true + #Replaces "\n" separator between logs to " | " to make message vertically smaller. + one_line_logs = true + #Adds line in log list about this Intel processor can be corrupted. + intel_corrupted_notification = true + #If the modpack is created for a non-English-speaking audience, сhange this to the language the modpack is designed for. + #This lang will be used only for generating message by "Upload all..." button.Do not modify this value if there's a chance that the generated message will be sent to English-speaking communities. + generated_msg_lang = "en_us" + #This text will be under "$CONFIG.text.modpack_name$ crashed!" in generated message by Upload all button. + #You can include: + # * some form, which users should fill out. + # * additional information like Minecraft version, etc. + text_under_crashed = "" + #With this option you can notify user about something related with posting generated message. + #For example if they need to fill some option from "text_under_crashed", etc. + #Supports html formatting, placeholders. + #Leave empty to prevent showing this warning message. + warning_after_upload_all_button_press = "" + #Puts problematic frame from hs_err to message. + put_problematic_frame_to_message = true + #Puts analysis result(names of crash reasons) to message, instead of just count. + put_analysis_result_to_message = true + #Color modified mods count/analysis in msg with ANSI. + #Can be needed to be disabled if issues are reported to something not supporting ANSI codeblocks, like GitHub. + color_message = true + +#Settings of links copied by Upload and copy link buttons +[copied_links] + #With this option, you can customize how single links from individual upload buttons are copied, there + #log of small size was uploaded to a single link. + #For example, leave just $LINK$ to copy just link. + single_link = "$LOG_NAME$$FILE_NAME$: $LINK$" + #With this option, you can customize how links from individual upload buttons are copied, there + #log was split to the 2 parts (head and tail, due to too large size for single upload), but user only decided to copy only one of them (not message with both). + single_link_split = "$LOG_NAME$$FILE_NAME$($HEAD_OR_TAIL$): $LINK$ $TOO_BIG_REASONS$" + #With this option, you can customize how links from individual upload buttons are copied, there + #log was split to the 2 parts (head and tail, due to too large size for single upload), but user decided to copy message with both. + both_links_split = "$LOG_NAME$[$FILE_NAME$ $MSG_LANG.gui.split_log_dialog_head$](<$LINK_FIRST_LINES$>) / [$MSG_LANG.gui.split_log_dialog_tail$](<$LINK_LAST_LINES$>) $TOO_BIG_REASONS$" + #If enabled, disables the head/tail selection dialog for split logs on individual uploads and always copies message with both links. + skip_split_dialog = false + +#Settings of modlist feature. +#Adds in generated msg block about which mods modpack user added/removed/updated. +#Also you can see diff by running '/crash_assistant modlist diff' command. +[modpack_modlist] + #Enable feature. + enabled = true + #nicknames of players, who considered as modpack creator. + #Only this players can overwrite modlist.json + #If this feature is enabled and this array is empty, will be appended with nickname of current player. + #----------------------------------------------------------------------------------------------------- + #Warning! This is not displayed anywhere, it's just tech param used for modlist feature to work correctly. + #Here must be actual nicknames of people who work with the modpack and publishing releases! + #----------------------------------------------------------------------------------------------------- + modpack_creators = ["Pyritie", "Exception", "Xikaro", "Redeix", "Nebby", "GameStar", "TomTomTom"] + #If enabled, modlist.json will be overwritten on every launch(first tick of TitleScreen), + #then game is launched by modpack creator. + #So you won't forget to save it before publishing. + #If you want to save manually: disable this and use '/crash_assistant modlist save' command. + auto_update = true + #If enabled, will add resourcepacks to modlist.json + #After filename where will be ' (resourcepack)' suffix. + add_resourcepacks = false + #If enabled, will add modloader jar name to modlist, to easily track if user changed version of modloader. + add_modloader_jar_name = true + #If enabled, will add generated modlist.txt, with names of all mods / modids / mixin configs / jarjar mods info to logs. + add_modlist_txt_as_log = true + +#Settings of too many changes warning feature. +#Notifies end users of the modpack and saying they made too many changes to the modpack. +#Not displayed to the modpack creators. +[too_many_changes_warning] + #Set to the positive integer to enable feature. Set to negative integer to disable. + #How many changes end user should make for warning to be displayed. + count = -1 + #With this option, you can select the formulation of this warning, currently supported: + # - NOTIFY: Just saying to the end user that what they made many changes and adding random mods or clicking + #the "Update All" button is not a good idea without proper testing. It is expected to crash. + # - DROP_SUPPORT: Saying what you are not providing support for that amount of changes, suggesting the end user to + #re-install modpack or they are on their own with that amount of changes. + formulation_type = "NOTIFY" + +#Settings of analysis feature. +#Analysing logs for most common reasons of crashes and displaying recommendations with fixes. +[analysis] + #Enable feature. + enabled = true + #Here you can disable some Analysis by class names. + #List of them can be found here: dev.kostromdan.mods.crash_assistant.app.logs_analyser.crash_reasons + #For example "Create6Addons" + blacklisted_reasons = [] + +#Settings of analysis tools feature. +#Here you can enable disable showing some analysis tools fot end user. +[analysis_tools] + #Enable feature. + enabled = true + #Here you can disable some Analysis tools by class names. + #List of them can be found here: dev.kostromdan.mods.crash_assistant.app.gui.analysis + #For example "MCreatorModDetectorGUI" + blacklisted_tools = [] + +#Settings of '/crash_assistant crash' command feature. +[crash_command] + #Enable feature. + enabled = true + #To ensure the user really wants to crash the game, the command needs to be run again within this amount of seconds. + #Set to <= 0 to disable the confirmation. + seconds = 10 + +#Settings of notifying about intel corrupted processors. +[intel_corrupted] + #Enable feature. + enabled = true + +[greeting] + #You don't need to touch this option. + #On first world join of modpack creator if set to false shows greeting, then self enables. + shown_greeting = false + +#You can customise GUI with this options. +[gui_customisation] + #Will hide Upload All Button from GUI. + disable_upload_all_button = false + #Append comment text with notice about sending screenshot of this gui tells nothing to modpack creators. + show_dont_send_screenshot_of_gui_notice = true + #Animate border to request user attention even more. + screenshot_of_gui_notice_animated_border = true + #You can make Upload All Button bigger/smaller to request user attention. + #Default Swing font size is 12, Default for this button in crash assistant is 16. + #Not recommended to set it more than 16, as it will affect the increase of GUI size because all text won't fit. + upload_all_button_font_size = 16 + #Same as upload_all_button_font_size, but for Request Help button. + request_help_button_font_size = 16 + #Same as upload_all_button_font_size, but for the Simple Mode toggle button. + simple_mode_button_font_size = 16 + #You can change Upload All Button color to request user attention. + #format is "R_G_B", range is 0-255, for example "255_0_0" is red color. Use "default" to use default swing color. + #Default for this button is "0_178_0" (dark green color). + upload_all_button_foreground_color = "0_178_0" + #Same as upload_all_button_foreground_color, but for Request Help button. + #Default for this button is "0_0_178" (dark blue color). + request_help_button_foreground_color = "0_0_178" + #Same as upload_all_button_foreground_color, but for the Simple Mode toggle button. + simple_mode_button_foreground_color = "0_0_178" + #Same as upload_all_button_font_size, but for Auto-Fix button (in integrated GPU warning). + auto_fix_button_font_size = 16 + #Same as upload_all_button_foreground_color, but for Auto-Fix button (in integrated GPU warning). + #Default for this button is "0_178_0" (dark green color). + auto_fix_button_foreground_color = "0_178_0" + #Path to a modpack logo to display in the top of the GUI. + #Path is relative to the Minecraft instance folder. Leave empty to disable. + modpack_logo_path = "kubejs\assets\tfg\textures\gui\tfg_logo_icon_outline_white_sr_456p.gif" + #If true, the logo will be larger, Replacing a some of `don't send screenshot` notice. + #If false, it will be smaller and logo will be end right where the `don't send screenshot` notice starts. + #You should try both, but most likely: + #- If you have some long text in the discord description, you will love the small one. + #- If the text is short, you will love the large one. + modpack_logo_large_mode = false + #Limit modpack logo height. Default is -1, which means it's calculated automatically. + #By default, this should not be needed. But if you have heavily customized GUI or using + #a rectangle logo instead of square, you may want to decrease its size, so this option could be needed in such case. + limit_modpack_logo_height = -1 + #This option would be needed only if you limited modpack logo height. + #Otherwise, the logo will consume all available horizontal space. + #If true, the logo will be centered. If false, it will be aligned to the top. + modpack_logo_aligned_center = true + +#Checks crash_assistant compatibility with other incompatible mods. +#Highly unrecommended to disable! +[compatibility] + #Enable feature. + enabled = true + diff --git a/config/crash_assistant/config.toml.bak b/config/crash_assistant/config.toml.bak new file mode 100644 index 000000000..44671905a --- /dev/null +++ b/config/crash_assistant/config.toml.bak @@ -0,0 +1,253 @@ + +#General settings of Crash Assistant mod. +[general] + #Link which will be opened in browser on request_help_button pressed. + #If equals CHANGE_ME, will open Forge/NeoForge/Fabric/Quilt discord link. Names of communities/channels also will be used not from config, but according to this link. + #Must start with 'https://' or 'www.' + help_link = "https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues" + #Anyways log will be uploaded to mclo.gs, but with this option you can wrap link to gnomebot.dev for better formatting. + #If help_link equals 'CHANGE_ME', this value will be ignored and gnomebot.dev used. + #Supported values: mclo.gs / gnomebot.dev + upload_to = "gnomebot.dev" + #Show gui on minecraft crashed on modloading and FML error screen displayed. + show_on_fml_error_screen = true + #Close old CrashAssistantApp if it's still running when starting a new instance of Minecraft, to avoid confusing player with window from old crash. + kill_old_app = true + #If options.txt doesn't exist, the default language will be used. + default_lang = "en_us" + #By default, crash assistant will get the value for the current language from the overrides folder, then from the jar. + #By changing this option, it will first try to get it from the current overrides, then (if no override exists for this language) + #from the override for the language specified here, and only then from the jar language. + #Use "NONE" to disable this feature. Or language key, like "en_us" to enable it. + priority_lang_for_overrides = "NONE" + #By changing this value you can disable creating "crash_assistant_localization_overrides" folder and placing "README.md" file there. + generate_localization_overrides_folder_with_readme = true + #By default our process is scanning for terminated processes(they can appear with delay) and after finish of scan enabling upload buttons. + #This option can prevent this and enable individual upload buttons immediately after crash. + #However can confuse users and make them clicking individual upload buttons instead of Upload All Button. + prevent_upload_buttons_delay = false + #Before uploading the first log, requires the user to accept the privacy policy. + #Disabling this option may be illegal in some countries if you are modpack creator. Disable at your own risk. + enable_privacy_policy_acceptance = true + #Unfortunately mclogs censoring ip-like versions as has no way to determine if it's version or IP. + #This will prevent this by replacing dot's in them to dot-like symbol. + #Anti censoring only versions, IP's are kept censored. + enable_mclogs_anti_ip_like_version_censorer = true + #Prevents creating "crash_assistant" folder in the logs folder. + #So this option prevents our app logging at all. + #HIGHLY UNRECOMMENDED to disable! Contains many useful info. + prevent_generating_crash_assistant_app_logs = false + #Generates "logs/stderr_stream.log" with stderr stream. + #Since many launchers are not saving this info, which is extremely helpful for debugging some crashes. + #As only where crash reason is present. Keeps original stream untouched, just logs it to a file. + generate_own_launcher_log = true + #Here you can change priority for logs. + #For example if you want crash report to be shown earlier than latest.log in the available logs list. + #Supported values: https://github.com/KostromDan/Crash-Assistant/blob/1.19-1.20.1/app/src/main/java/dev/kostromdan/mods/crash_assistant/app/logs_analyser/LogType.java + #Usage: ["CRASH_REPORT", "LOG"] + logs_priority_overrides = [] + #List of blacklisted log files (checked with startswith()). This files won't show in GUI logs list. + blacklisted_logs = [] + +#A simplified GUI that hides the logs list until the user opts into Expert Mode. +[simple_mode] + #If enabled, the GUI starts in simple mode with logs hidden and a single "Show Logs (Expert Mode)" button. + #Disabled by default. + enabled = false + #If true, modpack creators always see the Expert Mode with logs visible, even if simple mode is enabled. + prevent_for_modpack_creators = true + #If true, hides the mod list changes section while simple mode is active. + hide_modlist_section = false + +#Here you can change text of lang placeHolders. +#Also you can change any text in lang files. +#You don't need to modify jar. You can change it in config/crash_assistant/lang. For more info read README.md file located where. +[text] + #$CONFIG.text.support_name$ in lang files will be replaced with this value. + #For example this placeHolder used in: "Request help in the $CONFIG.text.support_name$" + support_name = "TFG Github" + #$CONFIG.text.support_place$ in lang files will be replaced with this value. + support_place = "Issues tab" + #$CONFIG.text.modpack_name$ in lang files will be replaced with this value. + #For example this placeHolder used in: "Oops, $CONFIG.text.modpack_name$ crashed!" + #Supports Better Compatibility Checker integration. You can use $BCC.modpackName$, $BCC.modpackVersion$, etc and it will be replaced with value from BCC config. + modpack_name = "TerraFirmaGreg" + +#Settings of message generated by Upload all button +[generated_message] + #Add ### prefix before filename. + #This can prevent too small, hard to hit on mobile links. + h3_prefix = true + #Replaces "\n" separator between logs to " | " to make message vertically smaller. + one_line_logs = true + #Adds line in log list about this Intel processor can be corrupted. + intel_corrupted_notification = true + #If the modpack is created for a non-English-speaking audience, сhange this to the language the modpack is designed for. + #This lang will be used only for generating message by "Upload all..." button.Do not modify this value if there's a chance that the generated message will be sent to English-speaking communities. + generated_msg_lang = "en_us" + #This text will be under "$CONFIG.text.modpack_name$ crashed!" in generated message by Upload all button. + #You can include: + # * some form, which users should fill out. + # * additional information like Minecraft version, etc. + text_under_crashed = "" + #With this option you can notify user about something related with posting generated message. + #For example if they need to fill some option from "text_under_crashed", etc. + #Supports html formatting, placeholders. + #Leave empty to prevent showing this warning message. + warning_after_upload_all_button_press = "" + #Puts problematic frame from hs_err to message. + put_problematic_frame_to_message = true + #Puts analysis result(names of crash reasons) to message, instead of just count. + put_analysis_result_to_message = true + #Color modified mods count/analysis in msg with ANSI. + #Can be needed to be disabled if issues are reported to something not supporting ANSI codeblocks, like GitHub. + color_message = true + +#Settings of links copied by Upload and copy link buttons +[copied_links] + #With this option, you can customize how single links from individual upload buttons are copied, there + #log of small size was uploaded to a single link. + #For example, leave just $LINK$ to copy just link. + single_link = "$LOG_NAME$$FILE_NAME$: $LINK$" + #With this option, you can customize how links from individual upload buttons are copied, there + #log was split to the 2 parts (head and tail, due to too large size for single upload), but user only decided to copy only one of them (not message with both). + single_link_split = "$LOG_NAME$$FILE_NAME$($HEAD_OR_TAIL$): $LINK$ $TOO_BIG_REASONS$" + #With this option, you can customize how links from individual upload buttons are copied, there + #log was split to the 2 parts (head and tail, due to too large size for single upload), but user decided to copy message with both. + both_links_split = "$LOG_NAME$[$FILE_NAME$ $MSG_LANG.gui.split_log_dialog_head$](<$LINK_FIRST_LINES$>) / [$MSG_LANG.gui.split_log_dialog_tail$](<$LINK_LAST_LINES$>) $TOO_BIG_REASONS$" + #If enabled, disables the head/tail selection dialog for split logs on individual uploads and always copies message with both links. + skip_split_dialog = false + +#Settings of modlist feature. +#Adds in generated msg block about which mods modpack user added/removed/updated. +#Also you can see diff by running '/crash_assistant modlist diff' command. +[modpack_modlist] + #Enable feature. + enabled = true + #nicknames of players, who considered as modpack creator. + #Only this players can overwrite modlist.json + #If this feature is enabled and this array is empty, will be appended with nickname of current player. + #----------------------------------------------------------------------------------------------------- + #Warning! This is not displayed anywhere, it's just tech param used for modlist feature to work correctly. + #Here must be actual nicknames of people who work with the modpack and publishing releases! + #----------------------------------------------------------------------------------------------------- + modpack_creators = ["Exception", "Xikaro", "Redeix", "GameStar", "TomTomTom", "Pyritie"] + #If enabled, modlist.json will be overwritten on every launch(first tick of TitleScreen), + #then game is launched by modpack creator. + #So you won't forget to save it before publishing. + #If you want to save manually: disable this and use '/crash_assistant modlist save' command. + auto_update = true + #If enabled, will add resourcepacks to modlist.json + #After filename where will be ' (resourcepack)' suffix. + add_resourcepacks = false + #If enabled, will add modloader jar name to modlist, to easily track if user changed version of modloader. + add_modloader_jar_name = true + #If enabled, will add generated modlist.txt, with names of all mods / modids / mixin configs / jarjar mods info to logs. + add_modlist_txt_as_log = true + +#Settings of too many changes warning feature. +#Notifies end users of the modpack and saying they made too many changes to the modpack. +#Not displayed to the modpack creators. +[too_many_changes_warning] + #Set to the positive integer to enable feature. Set to negative integer to disable. + #How many changes end user should make for warning to be displayed. + count = -1 + #With this option, you can select the formulation of this warning, currently supported: + # - NOTIFY: Just saying to the end user that what they made many changes and adding random mods or clicking + #the "Update All" button is not a good idea without proper testing. It is expected to crash. + # - DROP_SUPPORT: Saying what you are not providing support for that amount of changes, suggesting the end user to + #re-install modpack or they are on their own with that amount of changes. + formulation_type = "NOTIFY" + +#Settings of analysis feature. +#Analysing logs for most common reasons of crashes and displaying recommendations with fixes. +[analysis] + #Enable feature. + enabled = true + #Here you can disable some Analysis by class names. + #List of them can be found here: dev.kostromdan.mods.crash_assistant.app.logs_analyser.crash_reasons + #For example "Create6Addons" + blacklisted_reasons = [] + +#Settings of analysis tools feature. +#Here you can enable disable showing some analysis tools fot end user. +[analysis_tools] + #Enable feature. + enabled = true + #Here you can disable some Analysis tools by class names. + #List of them can be found here: dev.kostromdan.mods.crash_assistant.app.gui.analysis + #For example "MCreatorModDetectorGUI" + blacklisted_tools = [] + +#Settings of '/crash_assistant crash' command feature. +[crash_command] + #Enable feature. + enabled = true + #To ensure the user really wants to crash the game, the command needs to be run again within this amount of seconds. + #Set to <= 0 to disable the confirmation. + seconds = 10 + +#Settings of notifying about intel corrupted processors. +[intel_corrupted] + #Enable feature. + enabled = true + +[greeting] + #You don't need to touch this option. + #On first world join of modpack creator if set to false shows greeting, then self enables. + shown_greeting = true + +#You can customise GUI with this options. +[gui_customisation] + #Will hide Upload All Button from GUI. + disable_upload_all_button = false + #Append comment text with notice about sending screenshot of this gui tells nothing to modpack creators. + show_dont_send_screenshot_of_gui_notice = true + #Animate border to request user attention even more. + screenshot_of_gui_notice_animated_border = true + #You can make Upload All Button bigger/smaller to request user attention. + #Default Swing font size is 12, Default for this button in crash assistant is 16. + #Not recommended to set it more than 16, as it will affect the increase of GUI size because all text won't fit. + upload_all_button_font_size = 16 + #Same as upload_all_button_font_size, but for Request Help button. + request_help_button_font_size = 16 + #Same as upload_all_button_font_size, but for the Simple Mode toggle button. + simple_mode_button_font_size = 16 + #You can change Upload All Button color to request user attention. + #format is "R_G_B", range is 0-255, for example "255_0_0" is red color. Use "default" to use default swing color. + #Default for this button is "0_178_0" (dark green color). + upload_all_button_foreground_color = "0_178_0" + #Same as upload_all_button_foreground_color, but for Request Help button. + #Default for this button is "0_0_178" (dark blue color). + request_help_button_foreground_color = "0_0_178" + #Same as upload_all_button_foreground_color, but for the Simple Mode toggle button. + simple_mode_button_foreground_color = "0_0_178" + #Same as upload_all_button_font_size, but for Auto-Fix button (in integrated GPU warning). + auto_fix_button_font_size = 16 + #Same as upload_all_button_foreground_color, but for Auto-Fix button (in integrated GPU warning). + #Default for this button is "0_178_0" (dark green color). + auto_fix_button_foreground_color = "0_178_0" + #Path to a modpack logo to display in the top of the GUI. + #Path is relative to the Minecraft instance folder. Leave empty to disable. + modpack_logo_path = "kubejs\assets\tfg\textures\gui\tfg_logo_icon_outline_white_sr_456p.gif" + #If true, the logo will be larger, Replacing a some of `don't send screenshot` notice. + #If false, it will be smaller and logo will be end right where the `don't send screenshot` notice starts. + #You should try both, but most likely: + #- If you have some long text in the discord description, you will love the small one. + #- If the text is short, you will love the large one. + modpack_logo_large_mode = false + #Limit modpack logo height. Default is -1, which means it's calculated automatically. + #By default, this should not be needed. But if you have heavily customized GUI or using + #a rectangle logo instead of square, you may want to decrease its size, so this option could be needed in such case. + limit_modpack_logo_height = -1 + #This option would be needed only if you limited modpack logo height. + #Otherwise, the logo will consume all available horizontal space. + #If true, the logo will be centered. If false, it will be aligned to the top. + modpack_logo_aligned_center = true + +#Checks crash_assistant compatibility with other incompatible mods. +#Highly unrecommended to disable! +[compatibility] + #Enable feature. + enabled = true + diff --git a/config/crash_assistant/crash_assistant_localization_overrides/README.md b/config/crash_assistant/crash_assistant_localization_overrides/README.md new file mode 100644 index 000000000..96429541b --- /dev/null +++ b/config/crash_assistant/crash_assistant_localization_overrides/README.md @@ -0,0 +1,56 @@ +# Localizing and Customizing Crash Assistant + +Hello, localizers and modpack creators! + +This guide explains how to contribute new translations to the mod and how to customize the text for your own modpack. + +## Contributing New Translations + +We welcome contributions for new languages or improvements to existing ones! + +To contribute, please create a **Pull Request** on our official GitHub repository with your new or modified language +files. + +* **GitHub Repository:** + [https://github.com/KostromDan/Crash-Assistant/](https://github.com/KostromDan/Crash-Assistant/) +* **Language File Location:** The source files are located at + `common_config/src/main/resources/crash_assistant_localization` in the repository. + +--- + +## Customizing Text for Your Modpack + +If you want to change any text in the mod for your modpack, please **do not edit the JAR file directly**. Instead, use +the built-in override system. + +### How to Override Text + +1. Navigate to the `config/crash_assistant/crash_assistant_localization_overrides/` directory in your Minecraft + instance. +2. Create a JSON file named after the language you want to modify (e.g., `en_us.json`, `ru_ru.json`, etc.). +3. Inside this file, you only need to add the keys and values for the text you wish to change. Any key you define here + will take precedence over the default text packed inside the mod. + +This method is perfect for tweaking a few lines of text or even adding a completely new, unsupported language to your +modpack. + +### Priority Language Overrides + +You can use the `general.priority_lang_for_overrides` config option to specify a primary language for your custom text. + +* **How it works:** If you set this option to `"en_us"`, any custom text you place in the `en_us.json` override file + will be used as the default for **all other languages**, unless a specific override for that key exists in their + respective language files (e.g., in `de_de.json`). This is useful for ensuring your custom messages appear + consistently for all users, regardless of their selected language. + +### Configuration Options + +* You can prevent the `crash_assistant_localization_overrides` folder and this README file from being generated by + setting `general.generate_localization_overrides_folder_with_readme` to `false`. + +### ⚠️ Important Warning + +Standard Minecraft localization methods, such as **resource packs** or scripting mods like **KubeJS**, +**will not work**. Crash Assistant uses its own internal system to load language files to ensure it can display +messages correctly, even when the main game has crashed or hasn't fully loaded. +Please use the override folder as described above. \ No newline at end of file diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json new file mode 100644 index 000000000..1d4778e6a --- /dev/null +++ b/config/crash_assistant/modlist.json @@ -0,0 +1,1671 @@ +{ + "fmlloader-1.20.1-47.4.6.jar (modloader)": { + "jarName": "fmlloader-1.20.1-47.4.6.jar (modloader)", + "modId": "forge", + "version": "fmlloader-1.20.1-47.4.6.jar" + }, + "[1.20.1-Forge] Additional Placements-2.3.1.jar": { + "jarName": "[1.20.1-Forge] Additional Placements-2.3.1.jar", + "modId": "additionalplacements", + "version": "2.3.1", + "curseForgeHash": 1876772441, + "modrinthHash": "536363d54e2902c7e5ba2d2901f4c9b30a96e4c5" + }, + "aaa_particles-1.20.1-1.4.11-forge.jar": { + "jarName": "aaa_particles-1.20.1-1.4.11-forge.jar", + "modId": "aaa_particles", + "version": "1.20.1-1.4.11", + "curseForgeHash": 1328063205, + "modrinthHash": "e046caeff220722933cb82097a62412d902f6002" + }, + "ad_astra-forge-1.20.1-1.15.20.jar": { + "jarName": "ad_astra-forge-1.20.1-1.15.20.jar", + "modId": "ad_astra", + "version": "1.15.20", + "curseForgeHash": 2713479490, + "modrinthHash": "537ac3e358a97efd7b03648a9bfd7b11f1ae7ff7" + }, + "adaptive_performance_tweaks_core_1.20.1-11.5.0.jar": { + "jarName": "adaptive_performance_tweaks_core_1.20.1-11.5.0.jar", + "modId": "adaptive_performance_tweaks_core", + "version": "11.5.0", + "curseForgeHash": 3101410022, + "modrinthHash": "eec168ef1210e1056f6aad6a3a9d7904f414bbdc" + }, + "adaptive_performance_tweaks_gamerules_1.20.1-11.5.0.jar": { + "jarName": "adaptive_performance_tweaks_gamerules_1.20.1-11.5.0.jar", + "modId": "adaptive_performance_tweaks_gamerules", + "version": "11.5.0", + "curseForgeHash": 3534179762, + "modrinthHash": "b29644ff148456224014597833fd4894e683ab95" + }, + "adaptive_performance_tweaks_items_1.20.1-11.5.0.jar": { + "jarName": "adaptive_performance_tweaks_items_1.20.1-11.5.0.jar", + "modId": "adaptive_performance_tweaks_items", + "version": "11.5.0", + "curseForgeHash": 1976151804, + "modrinthHash": "e70242b4b8fe82b6a5af786fe1e02f06bd354e50" + }, + "adaptive_performance_tweaks_player_1.20.1-11.5.0.jar": { + "jarName": "adaptive_performance_tweaks_player_1.20.1-11.5.0.jar", + "modId": "adaptive_performance_tweaks_player", + "version": "11.5.0", + "curseForgeHash": 191550392, + "modrinthHash": "1d571233979de03bd0a07d805f13e98abc7e5c31" + }, + "AdvancedPeripherals-1.20.1-0.7.46r.jar": { + "jarName": "AdvancedPeripherals-1.20.1-0.7.46r.jar", + "modId": "advancedperipherals", + "version": "0.7.46r", + "curseForgeHash": 3542595224, + "modrinthHash": "c9118e3bf16fae2c025a9a6398204e7ee84b3521" + }, + "ae2insertexportcard-1.20.1-1.3.0.jar": { + "jarName": "ae2insertexportcard-1.20.1-1.3.0.jar", + "modId": "ae2insertexportcard", + "version": "1.20.1-1.3.0", + "curseForgeHash": 2505693449, + "modrinthHash": "df8cbd8e49e001696a3d3e2c8352c3bb310e8c6f" + }, + "AE2NetworkAnalyzer-1.20-1.0.6-forge.jar": { + "jarName": "AE2NetworkAnalyzer-1.20-1.0.6-forge.jar", + "modId": "ae2netanalyser", + "version": "1.20-1.0.6-forge", + "curseForgeHash": 134614876, + "modrinthHash": "7616ab6cf999f1844edc87433f60dfe45d829ce8" + }, + "ae2wtlib-15.3.3-forge.jar": { + "jarName": "ae2wtlib-15.3.3-forge.jar", + "modId": "ae2wtlib", + "version": "15.3.3-forge", + "curseForgeHash": 3724438651, + "modrinthHash": "1a546af04844677542b6914191783c7de15364fc" + }, + "afc-1.0.20-1.20.1.jar": { + "jarName": "afc-1.0.20-1.20.1.jar", + "modId": "afc", + "version": "1.0.20-1.20.1", + "curseForgeHash": 3251600714, + "modrinthHash": "0a06e8bc356c10941324657d74bf2dd2a082c892" + }, + "ags_modernmarkings-0.4.4-1.20.1.jar": { + "jarName": "ags_modernmarkings-0.4.4-1.20.1.jar", + "modId": "ags_modernmarkings", + "version": "0.4.4-1.20.1", + "curseForgeHash": 3755807132, + "modrinthHash": "8102920535de97d06c4c7b05a39f44dd237a13f3" + }, + "AI-Improvements-1.20-0.5.2.jar": { + "jarName": "AI-Improvements-1.20-0.5.2.jar", + "modId": "aiimprovements", + "version": "0.5.2", + "curseForgeHash": 2983526960, + "modrinthHash": "11ad483d1fd1f7ebd84b4940b1dc0926b3e9daa8" + }, + "alekiNiftyShips-FORGE-1.20.1-1.0.14.jar": { + "jarName": "alekiNiftyShips-FORGE-1.20.1-1.0.14.jar", + "modId": "alekiships", + "version": "1.0.14", + "curseForgeHash": 370185248, + "modrinthHash": "c42aaab43cd524c45c4065996cc06b9b48c5682a" + }, + "alltheleaks-1.1.1+1.20.1-forge.jar": { + "jarName": "alltheleaks-1.1.1+1.20.1-forge.jar", + "modId": "alltheleaks", + "version": "1.1.1+1.20.1-forge", + "curseForgeHash": 1225915087, + "modrinthHash": "3c43c2e76093dc7ef5ad6e456d20da9674c653aa" + }, + "almanac-1.20.x-forge-1.0.2.jar": { + "jarName": "almanac-1.20.x-forge-1.0.2.jar", + "modId": "almanac", + "version": "1.0.2", + "curseForgeHash": 409215932, + "modrinthHash": "f0b711df59cd589b088e536ca4134c5e6e73fd58" + }, + "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar": { + "jarName": "AmbientSounds_FORGE_v6.3.1_mc1.20.1.jar", + "modId": "ambientsounds", + "version": "6.3.1", + "curseForgeHash": 1168047345, + "modrinthHash": "b6c676fbe4e586de6c266190943c069a0a49104d" + }, + "applied_ammo_box-1.0.0.jar": { + "jarName": "applied_ammo_box-1.0.0.jar", + "modId": "applied_ammo_box", + "version": "1.0.0", + "curseForgeHash": 719209453, + "modrinthHash": "3fc67723dc70b544b57ab0d0a34e2be991d285f9" + }, + "architectury-9.2.14-forge.jar": { + "jarName": "architectury-9.2.14-forge.jar", + "modId": "architectury", + "version": "9.2.14", + "curseForgeHash": 98480002, + "modrinthHash": "a52918a500ff421180a1cbd1a0cabee712134ec4" + }, + "astikorcarts-1.20.1-1.1.8.jar": { + "jarName": "astikorcarts-1.20.1-1.1.8.jar", + "modId": "astikorcarts", + "version": "1.1.8", + "curseForgeHash": 3288389065, + "modrinthHash": "49a8ac1c23282fe86420f0b4527e522421f2f692" + }, + "AttributeFix-Forge-1.20.1-21.0.4.jar": { + "jarName": "AttributeFix-Forge-1.20.1-21.0.4.jar", + "modId": "attributefix", + "version": "21.0.4", + "curseForgeHash": 381211649, + "modrinthHash": "6eb69343eb21d38f95d1b1d00e6bc777bdb336fa" + }, + "baguettelib-1.20.1-Forge-1.1.5.jar": { + "jarName": "baguettelib-1.20.1-Forge-1.1.5.jar", + "modId": "baguettelib", + "version": "1.1.5", + "curseForgeHash": 734602455, + "modrinthHash": "7aaab6216e7fc72e1606b1e35f1f56a18f01153f" + }, + "balm-forge-1.20.1-7.3.37-all.jar": { + "jarName": "balm-forge-1.20.1-7.3.37-all.jar", + "modId": "balm", + "version": "7.3.37", + "curseForgeHash": 3384992026, + "modrinthHash": "bb7af11fd4bc2e76fce98f90c752279ae381b934" + }, + "barrels_2012-2.1.jar": { + "jarName": "barrels_2012-2.1.jar", + "modId": "barrels_2012", + "version": "2.1", + "curseForgeHash": 1796431356, + "modrinthHash": "98ef976a9b356dce459fdd249ff19ad14fd375dd" + }, + "beneath-1.20.1-1.0.5.jar": { + "jarName": "beneath-1.20.1-1.0.5.jar", + "modId": "beneath", + "version": "1.0.5", + "curseForgeHash": 2046402937, + "modrinthHash": "12edd937a9070a71e50dcb53fd757b30d115bc2a" + }, + "betterp2p-1.5.0-forge.jar": { + "jarName": "betterp2p-1.5.0-forge.jar", + "modId": "betterp2p", + "version": "1.5.0", + "curseForgeHash": 1833303294, + "modrinthHash": "ee1a5e156b230474db0a57ce78174fcb1cd351e2" + }, + "BetterPingDisplay-1.20.1-1.1.jar": { + "jarName": "BetterPingDisplay-1.20.1-1.1.jar", + "modId": "betterpingdisplay", + "version": "1.1", + "curseForgeHash": 2297727680, + "modrinthHash": "6347a5bff9405c59ec7d428e5e24115f5b17a90b" + }, + "blur-forge-3.1.1.jar": { + "jarName": "blur-forge-3.1.1.jar", + "modId": "blur", + "version": "3.1.1", + "curseForgeHash": 1712179068, + "modrinthHash": "562f34155f3849463449aeb1ab54cc7064e4bc86" + }, + "Bookshelf-Forge-1.20.1-20.2.13.jar": { + "jarName": "Bookshelf-Forge-1.20.1-20.2.13.jar", + "modId": "bookshelf", + "version": "20.2.13", + "curseForgeHash": 2325681367, + "modrinthHash": "c53d9eb5ce9e8ef0f2ea9b11e478d84ce958c3e5" + }, + "botarium-forge-1.20.1-2.3.4.jar": { + "jarName": "botarium-forge-1.20.1-2.3.4.jar", + "modId": "botarium", + "version": "2.3.4", + "curseForgeHash": 752547332, + "modrinthHash": "a6928cb03b7c5f81900d3d3c8e8c8f6a89a51a5b" + }, + "buildinggadgets2-1.0.8.jar": { + "jarName": "buildinggadgets2-1.0.8.jar", + "modId": "buildinggadgets2", + "version": "1.0.8", + "curseForgeHash": 71960834, + "modrinthHash": "d06a806e8ca84a9e96a69c32da4b43226a51e0c9" + }, + "carpeted-1.20-1.4.jar": { + "jarName": "carpeted-1.20-1.4.jar", + "modId": "carpeted", + "version": "1.20-1.4", + "curseForgeHash": 3269794713, + "modrinthHash": "5f177a96a08454572723cf31fee9187c6bc1140e" + }, + "carryon-forge-1.20.1-2.1.2.7.jar": { + "jarName": "carryon-forge-1.20.1-2.1.2.7.jar", + "modId": "carryon", + "version": "2.1.2.7", + "curseForgeHash": 1899432453, + "modrinthHash": "9999714ca3dd2f2401f0396ca44f3b27c3784c4f" + }, + "cc-tweaked-1.20.1-forge-1.116.1.jar": { + "jarName": "cc-tweaked-1.20.1-forge-1.116.1.jar", + "modId": "computercraft", + "version": "1.116.1", + "curseForgeHash": 3415124440, + "modrinthHash": "117f78ad17ef779220b4bc028b130824034ec045" + }, + "chalk-1.20.1-1.6.7.jar": { + "jarName": "chalk-1.20.1-1.6.7.jar", + "modId": "chalk", + "version": "1.6.7", + "curseForgeHash": 2339474770, + "modrinthHash": "42f34947910ca428497fac0bf2566a45959a51a5" + }, + "chat_heads-0.14.2-forge-1.20.jar": { + "jarName": "chat_heads-0.14.2-forge-1.20.jar", + "modId": "chat_heads", + "version": "0.14.2", + "curseForgeHash": 1586719138, + "modrinthHash": "0410ab9636c69324e3671012af64c7743f6d6079" + }, + "cherishedworlds-forge-6.1.7+1.20.1.jar": { + "jarName": "cherishedworlds-forge-6.1.7+1.20.1.jar", + "modId": "cherishedworlds", + "version": "6.1.7+1.20.1", + "curseForgeHash": 2374033839, + "modrinthHash": "d3eb588c64691c9da83460e3b2e783401d337a34" + }, + "Chunky-1.3.146.jar": { + "jarName": "Chunky-1.3.146.jar", + "modId": "chunky", + "version": "1.3.146", + "curseForgeHash": 4160167965, + "modrinthHash": "0b782d12b4ac3b03a94c28f32e9b2d5587d1dd50" + }, + "cleanswing-1.20-1.8.jar": { + "jarName": "cleanswing-1.20-1.8.jar", + "modId": "cleanswing", + "version": "1.8", + "curseForgeHash": 2191402716, + "modrinthHash": "c128e24c47ab4a389b3868ff6913ee0631f254e8" + }, + "clienttweaks-forge-1.20.1-11.1.6.jar": { + "jarName": "clienttweaks-forge-1.20.1-11.1.6.jar", + "modId": "clienttweaks", + "version": "11.1.6", + "curseForgeHash": 3133195468, + "modrinthHash": "94f11a58c3b971ea95971f297b7866ca27b73270" + }, + "cloth-config-11.1.136-forge.jar": { + "jarName": "cloth-config-11.1.136-forge.jar", + "modId": "cloth_config", + "version": "11.1.136", + "curseForgeHash": 635589968, + "modrinthHash": "c65d07748acc57ceb45d53b3964368b84f34d54f" + }, + "colorwheel-forge-1.1.1+mc1.20.1.jar": { + "jarName": "colorwheel-forge-1.1.1+mc1.20.1.jar", + "modId": "colorwheel", + "version": "1.1.1+mc1.20.1", + "curseForgeHash": 3336786010, + "modrinthHash": "8ae48d07db5b42a55906e81f86e9eaffc6db0777" + }, + "colorwheel_patcher-forge-1.0.3+mc1.20.1.jar": { + "jarName": "colorwheel_patcher-forge-1.0.3+mc1.20.1.jar", + "modId": "colorwheel_patcher", + "version": "1.0.3+mc1.20.1", + "curseForgeHash": 604643776, + "modrinthHash": "af4ffc83e8fd4964c09d88035a7df64f1536f68b" + }, + "comforts-forge-6.4.0+1.20.1.jar": { + "jarName": "comforts-forge-6.4.0+1.20.1.jar", + "modId": "comforts", + "version": "6.4.0+1.20.1", + "curseForgeHash": 940613798, + "modrinthHash": "e7b9fe89566bb1ee013e33745f22f309f679536e" + }, + "constructionwand-1.20.1-2.11.jar": { + "jarName": "constructionwand-1.20.1-2.11.jar", + "modId": "constructionwand", + "version": "1.20.1-2.11", + "curseForgeHash": 1817683668, + "modrinthHash": "80bd5223cd8984dc1038cb9f2d1cb6b97f31998a" + }, + "Controlling-forge-1.20.1-12.0.2.jar": { + "jarName": "Controlling-forge-1.20.1-12.0.2.jar", + "modId": "controlling", + "version": "12.0.2", + "curseForgeHash": 2626540686, + "modrinthHash": "6195a3d1464f8fb641d7e165163aea1a857ce08e" + }, + "corpse-forge-1.20.1-1.0.23.jar": { + "jarName": "corpse-forge-1.20.1-1.0.23.jar", + "modId": "corpse", + "version": "1.20.1-1.0.23", + "curseForgeHash": 4064165869, + "modrinthHash": "78a776f057588a84a86c57dbe376b9b26f69f2c4" + }, + "corpsecurioscompat-1.20.1-Forge-3.1.3.jar": { + "jarName": "corpsecurioscompat-1.20.1-Forge-3.1.3.jar", + "modId": "corpsecurioscompat", + "version": "3.1.3", + "curseForgeHash": 314314029, + "modrinthHash": "3b36538ca8c6cc16982788c8e058cb726357a90c" + }, + "cosmeticarmorreworked-1.20.1-v1a.jar": { + "jarName": "cosmeticarmorreworked-1.20.1-v1a.jar", + "modId": "cosmeticarmorreworked", + "version": "1.20.1-v1a", + "curseForgeHash": 3614955629, + "modrinthHash": "afd9fa3fe95e8c086e8d439df403ed1e5ea5cbea" + }, + "craftingtweaks-forge-1.20.1-18.2.6.jar": { + "jarName": "craftingtweaks-forge-1.20.1-18.2.6.jar", + "modId": "craftingtweaks", + "version": "18.2.6", + "curseForgeHash": 791328458, + "modrinthHash": "f2091c7b171f1104bb22434d5b4a01ad678cdaf9" + }, + "CraftPresence-2.7.0+1.20.1-forge.jar": { + "jarName": "CraftPresence-2.7.0+1.20.1-forge.jar", + "modId": "craftpresence", + "version": "2.7.0", + "curseForgeHash": 2978888175, + "modrinthHash": "e37dbe8efb670d3a9e079e095d59410658c7e3e9" + }, + "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar": { + "jarName": "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", + "modId": "crash_assistant", + "version": "1.10.27", + "curseForgeHash": 2406153781, + "modrinthHash": "4cc9d9e8cb0e615258acc7e81d27be10d34ae840" + }, + "crashexploitfixer-forge-1.1.0+1.20.1.jar": { + "jarName": "crashexploitfixer-forge-1.1.0+1.20.1.jar", + "modId": "crashexploitfixer", + "version": "1.1.0", + "curseForgeHash": 4230663044, + "modrinthHash": "5dec3209e6dbb6c4fa06fb544e797608a1d58014" + }, + "create-1.20.1-6.0.8.jar": { + "jarName": "create-1.20.1-6.0.8.jar", + "modId": "create", + "version": "6.0.8", + "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", + "modId": "create_connected", + "version": "1.1.10-mc1.20.1", + "curseForgeHash": 198954090, + "modrinthHash": "eea1d04aee638689a99acf66457327b13a4b3f96" + }, + "create_factory_logistics-1.20.1-1.4.7.jar": { + "jarName": "create_factory_logistics-1.20.1-1.4.7.jar", + "modId": "create_factory_logistics", + "version": "1.4.7", + "curseForgeHash": 561746208, + "modrinthHash": "bf67707d1645197f27cd9a4abea13159fa0fef1e" + }, + "create_hypertube-0.3.0-FORGE.jar": { + "jarName": "create_hypertube-0.3.0-FORGE.jar", + "modId": "create_hypertube", + "version": "0.3.0", + "curseForgeHash": 302353697, + "modrinthHash": "476ae93802024b766badb15e538e0cf65a2e3fbd" + }, + "createaddition-1.20.1-1.3.3.jar": { + "jarName": "createaddition-1.20.1-1.3.3.jar", + "modId": "createaddition", + "version": "1.20.1-1.3.3", + "curseForgeHash": 3687173912, + "modrinthHash": "c7d464c451fdc2979bc29a67d7eec2a30858af12" + }, + "createdeco-2.0.3-1.20.1-forge.jar": { + "jarName": "createdeco-2.0.3-1.20.1-forge.jar", + "modId": "createdeco", + "version": "2.0.3-1.20.1-forge", + "curseForgeHash": 1368200461, + "modrinthHash": "54c8ad5686b846310bca9e69982a455e668dede3" + }, + "createhorsepower-1.20.1-1.1.0.jar": { + "jarName": "createhorsepower-1.20.1-1.1.0.jar", + "modId": "createhorsepower", + "version": "1.20.1-1.1.0", + "curseForgeHash": 2256443811, + "modrinthHash": "b4a5802ec8e5c1eef4fe69b9ca973eb7fe02ace9" + }, + "createliquidfuel-2.1.1-1.20.1.jar": { + "jarName": "createliquidfuel-2.1.1-1.20.1.jar", + "modId": "createliquidfuel", + "version": "2.1.1-1.20.1", + "curseForgeHash": 1069225375, + "modrinthHash": "d216cf52735f8e4d3594943139599f6b0b20b8cf" + }, + "createpickywheels-forge-1.20.1-6.0.6-2.jar": { + "jarName": "createpickywheels-forge-1.20.1-6.0.6-2.jar", + "modId": "createpickywheels", + "version": "1.20.1-6.0.6-2", + "curseForgeHash": 2218118416, + "modrinthHash": "698050b3f98b8fd9390b810741cf0eb08fee25ed" + }, + "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar": { + "jarName": "CreativeCore_FORGE_v2.12.32_mc1.20.1.jar", + "modId": "creativecore", + "version": "2.12.32", + "curseForgeHash": 4224935666, + "modrinthHash": "d49e8c29748677d0a530432f1c1bda4e9865da00" + }, + "Cucumber-1.20.1-7.0.16.jar": { + "jarName": "Cucumber-1.20.1-7.0.16.jar", + "modId": "cucumber", + "version": "7.0.16", + "curseForgeHash": 1548502984, + "modrinthHash": "88a9ec30e4acb5c80a3ae060ad70b79e945293c6" + }, + "curios-forge-5.14.1+1.20.1.jar": { + "jarName": "curios-forge-5.14.1+1.20.1.jar", + "modId": "curios", + "version": "5.14.1+1.20.1", + "curseForgeHash": 1288931317, + "modrinthHash": "452175b95ad3db6ff58bb8968f6bf7a9d1e0f480" + }, + "deafission-1.20.1-0.15.4.jar": { + "jarName": "deafission-1.20.1-0.15.4.jar", + "modId": "deafission", + "version": "1.20.1-0.15.4", + "curseForgeHash": 494193854, + "modrinthHash": "5b814421715f3f15606a4b2ecc23816432c6911c" + }, + "decay_2012-1.20.1-2.0.1.jar": { + "jarName": "decay_2012-1.20.1-2.0.1.jar", + "modId": "decay_2012", + "version": "2.0.1", + "curseForgeHash": 1396324362, + "modrinthHash": "c9290eefa38a51fca425af0d45dfcd46fe050483" + }, + "defaultoptions-forge-1.20.1-18.0.4.jar": { + "jarName": "defaultoptions-forge-1.20.1-18.0.4.jar", + "modId": "defaultoptions", + "version": "18.0.4", + "curseForgeHash": 3843138404, + "modrinthHash": "37ef64d3ae7fda292c882ee949a0280bf6c7f033" + }, + "diggerhelmet-1.20.1-1.0.0.26.jar": { + "jarName": "diggerhelmet-1.20.1-1.0.0.26.jar", + "modId": "diggerhelmet", + "version": "1.0.0.26", + "curseForgeHash": 518666616, + "modrinthHash": "3fe3d9911069db3c0d816bdbbed01193ba880087" + }, + "do_a_barrel_roll-forge-3.5.6+1.20.1.jar": { + "jarName": "do_a_barrel_roll-forge-3.5.6+1.20.1.jar", + "modId": "do_a_barrel_roll", + "version": "3.5.6+1.20.1", + "curseForgeHash": 4053708632, + "modrinthHash": "08b58bfbdf20660bdc5a0c4a0b088f7d89f40a38" + }, + "domum_ornamentum-1.20.1-1.0.292-snapshot-universal.jar": { + "jarName": "domum_ornamentum-1.20.1-1.0.292-snapshot-universal.jar", + "modId": "domum_ornamentum", + "version": "1.20.1-1.0.292-snapshot", + "curseForgeHash": 2581620858, + "modrinthHash": "1b3b96dda8dd4541afba652c7a975ba439fc1026" + }, + "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar": { + "jarName": "drippyloadingscreen_forge_3.1.0_MC_1.20.1.jar", + "modId": "drippyloadingscreen", + "version": "3.1.0", + "curseForgeHash": 1511780369, + "modrinthHash": "5c5e9dd39881b9b65dba7d7124690c51430a3ff1" + }, + "dsbg-1.0-1.20.1.jar": { + "jarName": "dsbg-1.0-1.20.1.jar", + "modId": "dsbg", + "version": "1.0-1.20.1", + "curseForgeHash": 4245851046, + "modrinthHash": "349a91654be8df6af5a19b02c7bb47758c09bac4" + }, + "embeddium-0.3.31+mc1.20.1.jar": { + "jarName": "embeddium-0.3.31+mc1.20.1.jar", + "modId": "embeddium", + "version": "0.3.31+mc1.20.1", + "curseForgeHash": 4281946638, + "modrinthHash": "bb2fa8f3e493af16af9160d049f96c614a1faf2f" + }, + "emi-1.1.22+1.20.1+forge.jar": { + "jarName": "emi-1.1.22+1.20.1+forge.jar", + "modId": "emi", + "version": "1.1.22+1.20.1+forge", + "curseForgeHash": 104637065, + "modrinthHash": "d8049d6ec86befcd100a0ff0fc8ebc289f735997" + }, + "endermanoverhaul-forge-1.20.1-1.0.4.jar": { + "jarName": "endermanoverhaul-forge-1.20.1-1.0.4.jar", + "modId": "endermanoverhaul", + "version": "1.0.4", + "curseForgeHash": 3681337800, + "modrinthHash": "636a2b20a5973fcb80016370865cb4251e029b6a" + }, + "EnhancedVisuals_FORGE_v1.8.2_mc1.20.1.jar": { + "jarName": "EnhancedVisuals_FORGE_v1.8.2_mc1.20.1.jar", + "modId": "enhancedvisuals", + "version": "1.8.2", + "curseForgeHash": 484254904, + "modrinthHash": "780caf39421ccfc495d14cb287856ced97c32985" + }, + "entityculling-forge-1.9.4-mc1.20.1.jar": { + "jarName": "entityculling-forge-1.9.4-mc1.20.1.jar", + "modId": "entityculling", + "version": "1.9.4", + "curseForgeHash": 744623401, + "modrinthHash": "2b19c5c38f88285aed2aad6a61eb622003540ee5" + }, + "etched-3.0.4.jar": { + "jarName": "etched-3.0.4.jar", + "modId": "etched", + "version": "3.0.4", + "curseForgeHash": 1564210994, + "modrinthHash": "4f440ac41309993a46e0ffcb2dd6106d7b92b3e2" + }, + "everycomp-1.20-2.9.12-forge.jar": { + "jarName": "everycomp-1.20-2.9.12-forge.jar", + "modId": "everycomp", + "version": "1.20-2.9.12", + "curseForgeHash": 1738563106, + "modrinthHash": "1a9fab9e9273ab45f0a312b7a71aeade41716a4a" + }, + "exposure-1.20.1-1.7.16-forge.jar": { + "jarName": "exposure-1.20.1-1.7.16-forge.jar", + "modId": "exposure", + "version": "1.7.16", + "curseForgeHash": 652681066, + "modrinthHash": "b1ec92eeafdc97e88e0baacd5d89f4c1f89a4bbc" + }, + "ExtendedAE-1.20-1.4.9-forge.jar": { + "jarName": "ExtendedAE-1.20-1.4.9-forge.jar", + "modId": "expatternprovider", + "version": "1.20-1.4.9-forge", + "curseForgeHash": 2620237685, + "modrinthHash": "55a8c773659036176142242ded460a4b88ee6fb0" + }, + "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar": { + "jarName": "ExtremeSoundMuffler-3.49.2-forge-1.20.1.jar", + "modId": "extremesoundmuffler", + "version": "3.48", + "curseForgeHash": 382750826, + "modrinthHash": "3b73ae534ff7e4f9c65e78c1f868655a23ab90c7" + }, + "fallingtrees-forge-0.12.7-1.20.jar": { + "jarName": "fallingtrees-forge-0.12.7-1.20.jar", + "modId": "fallingtrees", + "version": "0.12.7", + "curseForgeHash": 818594030, + "modrinthHash": "493724d09ba37fa140c6b360eb267cb5c563a35b" + }, + "fancymenu_forge_3.8.1_MC_1.20.1.jar": { + "jarName": "fancymenu_forge_3.8.1_MC_1.20.1.jar", + "modId": "fancymenu", + "version": "3.8.1", + "curseForgeHash": 3141943045, + "modrinthHash": "1fef1d8ab0dc2dec116bc6d6cb6f789fd33b23b0" + }, + "fast-ip-ping-v1.0.8-mc1.20.4-forge.jar": { + "jarName": "fast-ip-ping-v1.0.8-mc1.20.4-forge.jar", + "modId": "fastipping", + "version": "1.0.8", + "curseForgeHash": 3575355395, + "modrinthHash": "ceeeae222c51ae100e5126c4a5a7a05f4f3f4712" + }, + "FastSuite-1.20.1-5.1.0.jar": { + "jarName": "FastSuite-1.20.1-5.1.0.jar", + "modId": "fastsuite", + "version": "5.1.0", + "curseForgeHash": 2667792324, + "modrinthHash": "3a759dce0ddc91e299027faa800c0ee40ab90de8" + }, + "FastWorkbench-1.20.1-8.0.4.jar": { + "jarName": "FastWorkbench-1.20.1-8.0.4.jar", + "modId": "fastbench", + "version": "8.0.4", + "curseForgeHash": 3125406473, + "modrinthHash": "1a322a85e7c7024b8a0715c12d27b5ed0930d729" + }, + "ferritecore-6.0.1-forge.jar": { + "jarName": "ferritecore-6.0.1-forge.jar", + "modId": "ferritecore", + "version": "6.0.1", + "curseForgeHash": 2683111440, + "modrinthHash": "417fb6ce8f52abf40bd9d0390371790f9576f8ba" + }, + "FirmaCivilization-1.20.1-1.0.9.jar": { + "jarName": "FirmaCivilization-1.20.1-1.0.9.jar", + "modId": "firmaciv", + "version": "1.0.9", + "curseForgeHash": 1567808822, + "modrinthHash": "41e134f5dd02cc5030229c972b474a2e69793233" + }, + "firmacivplus-1.0.1-1.20.1.jar": { + "jarName": "firmacivplus-1.0.1-1.20.1.jar", + "modId": "firmacivplus", + "version": "1.0.1-1.20.1", + "curseForgeHash": 3617977798, + "modrinthHash": "5d21f85a95332dc002cd26ce085934a0d3605e08" + }, + "Firmalife-1.20.1-2.1.24.jar": { + "jarName": "Firmalife-1.20.1-2.1.24.jar", + "modId": "firmalife", + "version": "2.1.24", + "curseForgeHash": 3800287070, + "modrinthHash": "d4643d36fff9e4608e537ad9fae5704cad5bc4ac" + }, + "flickerfix-1.20.1-4.0.1.jar": { + "jarName": "flickerfix-1.20.1-4.0.1.jar", + "modId": "flickerfix", + "version": "4.0.1", + "curseForgeHash": 761957548, + "modrinthHash": "ffcf6207d71ba069a8baf18f6ac4ee8668376490" + }, + "FpsReducer2-forge-1.20.1-2.5.1.jar": { + "jarName": "FpsReducer2-forge-1.20.1-2.5.1.jar", + "modId": "fpsreducer", + "version": "1.20.1-2.5.1", + "curseForgeHash": 4111825473, + "modrinthHash": "4920a2e1d17090007179a568181624847fba0993" + }, + "FramedBlocks-9.4.2.jar": { + "jarName": "FramedBlocks-9.4.2.jar", + "modId": "framedblocks", + "version": "9.4.2", + "curseForgeHash": 3951488336, + "modrinthHash": "68b8301c8124dd00ea70c216066b1fe207e25345" + }, + "ftb-chunks-forge-2001.3.6.jar": { + "jarName": "ftb-chunks-forge-2001.3.6.jar", + "modId": "ftbchunks", + "version": "2001.3.6", + "curseForgeHash": 3415363214, + "modrinthHash": "7fde7917655a3356cab92f17ad2bca34962c4928" + }, + "ftb-essentials-forge-2001.2.3.jar": { + "jarName": "ftb-essentials-forge-2001.2.3.jar", + "modId": "ftbessentials", + "version": "2001.2.3", + "curseForgeHash": 1973516826, + "modrinthHash": "460ec092156d6b457bd91dc463ac1ee49e22442d" + }, + "ftb-filter-system-forge-20.0.1.jar": { + "jarName": "ftb-filter-system-forge-20.0.1.jar", + "modId": "ftbfiltersystem", + "version": "20.0.1", + "curseForgeHash": 2703039268, + "modrinthHash": "812de9759fe87cb405e14cbb0fe5b72a7ee11f42" + }, + "ftb-library-forge-2001.2.12.jar": { + "jarName": "ftb-library-forge-2001.2.12.jar", + "modId": "ftblibrary", + "version": "2001.2.12", + "curseForgeHash": 3807919150, + "modrinthHash": "7f36ec4af42ad1d69872c58022e93a9d1b9c82b7" + }, + "ftb-quests-forge-2001.4.17.jar": { + "jarName": "ftb-quests-forge-2001.4.17.jar", + "modId": "ftbquests", + "version": "2001.4.17", + "curseForgeHash": 1887235832, + "modrinthHash": "f7e4fec8991ce2b036ed4628e01fb48446a25ec7" + }, + "ftb-ranks-forge-2001.1.7.jar": { + "jarName": "ftb-ranks-forge-2001.1.7.jar", + "modId": "ftbranks", + "version": "2001.1.7", + "curseForgeHash": 1064675696, + "modrinthHash": "1ef101b4c5991cc239d9b56a95500e3b404228f7" + }, + "ftb-teams-forge-2001.3.1.jar": { + "jarName": "ftb-teams-forge-2001.3.1.jar", + "modId": "ftbteams", + "version": "2001.3.1", + "curseForgeHash": 1240744296, + "modrinthHash": "c2af94e0b86631cb75daa8de2377ff72527651ca" + }, + "ftb-xmod-compat-forge-2.1.3.jar": { + "jarName": "ftb-xmod-compat-forge-2.1.3.jar", + "modId": "ftbxmodcompat", + "version": "2.1.3", + "curseForgeHash": 2853914731, + "modrinthHash": "0584f628d2bc6a612d79dee368324357ebae1423" + }, + "ftbbackups2-forge-1.20-1.0.23.jar": { + "jarName": "ftbbackups2-forge-1.20-1.0.23.jar", + "modId": "ftbbackups2", + "version": "1.0.23", + "curseForgeHash": 2646303899, + "modrinthHash": "4b100de40338247a3fbf4d1fd1846257c5338189" + }, + "ftbxaerocompat-forge-1.1.0.jar": { + "jarName": "ftbxaerocompat-forge-1.1.0.jar", + "modId": "ftbxaerocompat", + "version": "1.1.0", + "curseForgeHash": 2958755560, + "modrinthHash": "1891f5e557bd90307f2499c9a6ba077915222ad3" + }, + "fullstackwatchdog-1.0.1+1.19.2-forge.jar": { + "jarName": "fullstackwatchdog-1.0.1+1.19.2-forge.jar", + "modId": "fullstackwatchdog", + "version": "1.0.1+1.19.2-forge", + "curseForgeHash": 3895274001, + "modrinthHash": "6f1e3a25c4a0258c2592fefb837f95a24eb3bfa0" + }, + "fzzy_config-0.7.4+1.20.1+forge.jar": { + "jarName": "fzzy_config-0.7.4+1.20.1+forge.jar", + "modId": "fzzy_config", + "version": "0.7.4+1.20.1+forge", + "curseForgeHash": 4069840182, + "modrinthHash": "b0213984f7591c3d1ec4ab5eebd87c605728d451" + }, + "geckolib-forge-1.20.1-4.8.2.jar": { + "jarName": "geckolib-forge-1.20.1-4.8.2.jar", + "modId": "geckolib", + "version": "4.8.2", + "curseForgeHash": 1555934041, + "modrinthHash": "395a9f21a36dc8466d67c2af67a904e7013460d1" + }, + "Glodium-1.20-1.5-forge.jar": { + "jarName": "Glodium-1.20-1.5-forge.jar", + "modId": "glodium", + "version": "1.20-1.5-forge", + "curseForgeHash": 3834018600, + "modrinthHash": "c7534db3248adfcf39a6158b423dfc9bfc99a378" + }, + "GoProne-forge-1.20.1-3.1.1.jar": { + "jarName": "GoProne-forge-1.20.1-3.1.1.jar", + "modId": "goprone", + "version": "3.1.1", + "curseForgeHash": 3514657032, + "modrinthHash": "a50de2b05daa2481ca7886e4425b2c66c3946b8c" + }, + "grapplingHookMod-Reforged-1.2.jar": { + "jarName": "grapplingHookMod-Reforged-1.2.jar", + "modId": "grapplemod", + "version": "1.20.1-v13", + "curseForgeHash": 3324262533, + "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" + }, + "greate-0.0.58.jar": { + "jarName": "greate-0.0.58.jar", + "modId": "greate", + "version": "0.0.58", + "curseForgeHash": 2882095596, + "modrinthHash": "52e244f91ecb56a69bcdec6d22a83047475eeb34" + }, + "gtceu-1.20.1-7.4.0.jar": { + "jarName": "gtceu-1.20.1-7.4.0.jar", + "modId": "gtceu", + "version": "7.4.0", + "curseForgeHash": 3505279105, + "modrinthHash": "19c638cb4913b0581da1e518771f41965f96932f" + }, + "gtmoldraw-2.0.3.jar": { + "jarName": "gtmoldraw-2.0.3.jar", + "modId": "moldraw", + "version": "2.0.3", + "curseForgeHash": 432163685, + "modrinthHash": "24e461ca4eac2877458e125dc4c9eb678ad3c270" + }, + "guideme-20.1.14.jar": { + "jarName": "guideme-20.1.14.jar", + "modId": "guideme", + "version": "20.1.14", + "curseForgeHash": 768472251, + "modrinthHash": "57d883148f04989128505a1bd8919629440f714f" + }, + "HangGlider-v8.0.1-1.20.1-Forge.jar": { + "jarName": "HangGlider-v8.0.1-1.20.1-Forge.jar", + "modId": "hangglider", + "version": "8.0.1", + "curseForgeHash": 2214578654, + "modrinthHash": "e4a5deeb545db6853ae4d668d0751228e641fc61" + }, + "horsescanswim-1.0.1.jar": { + "jarName": "horsescanswim-1.0.1.jar", + "modId": "horsescanswim", + "version": "1.0.1", + "curseForgeHash": 3166211669, + "modrinthHash": "9fa3a8acef83a37918fc38ca4d05a3211bc95a02" + }, + "ihearttfc-1.20.1-1.0.2.jar": { + "jarName": "ihearttfc-1.20.1-1.0.2.jar", + "modId": "ihearttfc", + "version": "1.0.2", + "curseForgeHash": 726705548, + "modrinthHash": "bc2d8febd3ddb7f5a0da5c840544ad49eb6e8625" + }, + "ImmediatelyFast-Forge-1.5.3+1.20.4.jar": { + "jarName": "ImmediatelyFast-Forge-1.5.3+1.20.4.jar", + "modId": "immediatelyfast", + "version": "1.5.3+1.20.4", + "curseForgeHash": 2056126318, + "modrinthHash": "d4695d013e9da7089e2906db3f56bc5398e478e2" + }, + "immersive_aircraft-1.4.0+1.20.1-forge.jar": { + "jarName": "immersive_aircraft-1.4.0+1.20.1-forge.jar", + "modId": "immersive_aircraft", + "version": "1.4.0+1.20.1", + "curseForgeHash": 506637697, + "modrinthHash": "64e6c792c5208005ee6b099e8fb7d2738873737d" + }, + "immersive_optimization-forge-1.20.1-0.1.0.jar": { + "jarName": "immersive_optimization-forge-1.20.1-0.1.0.jar", + "modId": "immersive_optimization", + "version": "0.1.0", + "curseForgeHash": 4155670972, + "modrinthHash": "58a2e199bf7992edb6ac765e7694be96cb53efde" + }, + "inventoryhud.forge.1.20.1-3.4.26.jar": { + "jarName": "inventoryhud.forge.1.20.1-3.4.26.jar", + "modId": "inventoryhud", + "version": "3.4.26", + "curseForgeHash": 2730214996, + "modrinthHash": "f0adda10a3d6549e6dfdffd41e72270c61c8a302" + }, + "invtweaks-1.20.1-1.1.0.jar": { + "jarName": "invtweaks-1.20.1-1.1.0.jar", + "modId": "invtweaks", + "version": "1.1.0", + "curseForgeHash": 2211584494, + "modrinthHash": "1550d40fd570ae88839382ea888dba9b5c3bd29c" + }, + "ItemPhysicLite_FORGE_v1.6.6_mc1.20.1.jar": { + "jarName": "ItemPhysicLite_FORGE_v1.6.6_mc1.20.1.jar", + "modId": "itemphysiclite", + "version": "1.6.6", + "curseForgeHash": 1934443491, + "modrinthHash": "4fc87af53afb8610e77710b30340783fc6bd0ccf" + }, + "Jade-1.20.1-Forge-11.13.2.jar": { + "jarName": "Jade-1.20.1-Forge-11.13.2.jar", + "modId": "jade", + "version": "11.13.2+forge", + "curseForgeHash": 305733389, + "modrinthHash": "1997e5fe2db3a0575ca79bfe4720019f01fd2b8c" + }, + "JadeAddons-1.20.1-Forge-5.5.0.jar": { + "jarName": "JadeAddons-1.20.1-Forge-5.5.0.jar", + "modId": "jadeaddons", + "version": "5.5.0+forge", + "curseForgeHash": 3691760882, + "modrinthHash": "5e74e87f61cf05c18457f09dfa1cb70332b6b777" + }, + "konkrete_forge_1.8.0_MC_1.20-1.20.1.jar": { + "jarName": "konkrete_forge_1.8.0_MC_1.20-1.20.1.jar", + "modId": "konkrete", + "version": "1.8.0", + "curseForgeHash": 3537653842, + "modrinthHash": "2019d821bed9071daabed43979433a5473ceee49" + }, + "kotlinforforge-4.12.0-all.jar": { + "jarName": "kotlinforforge-4.12.0-all.jar", + "curseForgeHash": 2392977662, + "modrinthHash": "962fdb760409d6d71cbf079235f1ca94e3863a22" + }, + "KryptonReforged-0.2.3.jar": { + "jarName": "KryptonReforged-0.2.3.jar", + "modId": "krypton", + "version": "0.2.3", + "curseForgeHash": 2538339304, + "modrinthHash": "92690482dad46a8c9cf28e4b6b26e49f4dc67095" + }, + "kubejs-create-forge-2001.3.0-build.8.jar": { + "jarName": "kubejs-create-forge-2001.3.0-build.8.jar", + "modId": "kubejs_create", + "version": "2001.3.0-build.8", + "curseForgeHash": 1559520977, + "modrinthHash": "cbeb6643d1cea979a7e01c87cfb08b9210a1c393" + }, + "kubejs-forge-2001.6.5-build.16.jar": { + "jarName": "kubejs-forge-2001.6.5-build.16.jar", + "modId": "kubejs", + "version": "2001.6.5-build.16", + "curseForgeHash": 2938549854, + "modrinthHash": "93fcf0eacc5dc08a4f719eaaed1dc93f0dc80f66" + }, + "kubejs_tfc-1.20.1-1.3.3.jar": { + "jarName": "kubejs_tfc-1.20.1-1.3.3.jar", + "modId": "kubejs_tfc", + "version": "1.3.3", + "curseForgeHash": 546789107, + "modrinthHash": "5561aa3db97bf01d0b02e09164276bba9b8f7fd8" + }, + "letmedespawn-1.20.x-forge-1.5.0.jar": { + "jarName": "letmedespawn-1.20.x-forge-1.5.0.jar", + "modId": "letmedespawn", + "version": "1.5.0", + "curseForgeHash": 3850440114, + "modrinthHash": "878dd35df02e1e17b7eb16113147f964eda8847f" + }, + "lithostitched-forge-1.20.1-1.4.11.jar": { + "jarName": "lithostitched-forge-1.20.1-1.4.11.jar", + "modId": "lithostitched", + "version": "1.4.11", + "curseForgeHash": 940772176, + "modrinthHash": "d1a755de84ee5d8910ff1e65e815473056e93ece" + }, + "lmft-1.0.4+1.20.1-forge.jar": { + "jarName": "lmft-1.0.4+1.20.1-forge.jar", + "modId": "lmft", + "version": "1.0.4+1.20.1", + "curseForgeHash": 1956694745, + "modrinthHash": "e44a12eb51813b16faaab89b8073ec63c746c1b0" + }, + "lodestone-1.20.1-1.6.4.1.jar": { + "jarName": "lodestone-1.20.1-1.6.4.1.jar", + "modId": "lodestone", + "version": "1.20.1-1.6.4.1", + "curseForgeHash": 2035895651, + "modrinthHash": "e6346060ae70cbf103b231d8a1536bcd044c84a8" + }, + "lootjs-forge-1.20.1-2.13.0.jar": { + "jarName": "lootjs-forge-1.20.1-2.13.0.jar", + "modId": "lootjs", + "version": "1.20.1-2.13.0", + "curseForgeHash": 4083554858, + "modrinthHash": "fdf90acf177c19bcbfaa08527f6568bd3e6e622e" + }, + "lootr-forge-1.20-0.7.35.94.jar": { + "jarName": "lootr-forge-1.20-0.7.35.94.jar", + "modId": "lootr", + "version": "0.7.35.94", + "curseForgeHash": 1036440574, + "modrinthHash": "1ec77a7df8adbf3290a296bf25b8f99f37a60020" + }, + "man_of_many_planes-0.2.0+1.20.1-forge.jar": { + "jarName": "man_of_many_planes-0.2.0+1.20.1-forge.jar", + "modId": "man_of_many_planes", + "version": "0.2.0+1.20.1", + "curseForgeHash": 1023939547, + "modrinthHash": "0037367a8af0d55a1b7f4c43dfc94cbdaca281db" + }, + "mcw_tfc_aio-0.2.30-1.20.1.jar": { + "jarName": "mcw_tfc_aio-0.2.30-1.20.1.jar", + "modId": "mcw_tfc_aio", + "version": "0.2.30-1.20.1", + "curseForgeHash": 1304754550, + "modrinthHash": "8a1f70ddd044142d4fa110fcb8dbd419565984a1" + }, + "Measurements-forge-1.20.1-2.0.1.jar": { + "jarName": "Measurements-forge-1.20.1-2.0.1.jar", + "modId": "measurements", + "version": "2.0.1", + "curseForgeHash": 4171871151, + "modrinthHash": "ea7c41e478903c3b9ccb37b67ff3ede9bdcaee9c" + }, + "megacells-forge-2.4.6-1.20.1.jar": { + "jarName": "megacells-forge-2.4.6-1.20.1.jar", + "modId": "megacells", + "version": "2.4.6-1.20.1", + "curseForgeHash": 361562206, + "modrinthHash": "ed6fd5eb0c782529be03f199d66d9a7c9eb2a518" + }, + "melody_forge_1.0.3_MC_1.20.1-1.20.4.jar": { + "jarName": "melody_forge_1.0.3_MC_1.20.1-1.20.4.jar", + "modId": "melody", + "version": "1.0.2", + "curseForgeHash": 841420877, + "modrinthHash": "e0942d396a70c09038e6c2e5e1da6505178249b8" + }, + "merequester-forge-1.20.1-1.1.5.jar": { + "jarName": "merequester-forge-1.20.1-1.1.5.jar", + "modId": "merequester", + "version": "1.20.1-1.1.5", + "curseForgeHash": 544928077, + "modrinthHash": "24e6611df470afd957eafd16c43890b7214e3da9" + }, + "modernfix-forge-5.25.2+mc1.20.1.jar": { + "jarName": "modernfix-forge-5.25.2+mc1.20.1.jar", + "modId": "modernfix", + "version": "5.25.2+mc1.20.1", + "curseForgeHash": 3074548209, + "modrinthHash": "4069534174e618393f0c14d9dc61ac27a04bb992" + }, + "moonlight-1.20-2.16.16-forge.jar": { + "jarName": "moonlight-1.20-2.16.16-forge.jar", + "modId": "moonlight", + "version": "1.20-2.16.16", + "curseForgeHash": 949178631, + "modrinthHash": "f1ad21bce5a4b96a1152d6cf83cfb27684fc4b6a" + }, + "morered-1.20.1-4.0.0.4.jar": { + "jarName": "morered-1.20.1-4.0.0.4.jar", + "modId": "morered", + "version": "4.0.0.4", + "curseForgeHash": 1106034845, + "modrinthHash": "1e49a2fca02e1059bf6c94f6292463ed6e4f6122" + }, + "MoreRed-CCT-Compat-1.20.1-1.0.0.jar": { + "jarName": "MoreRed-CCT-Compat-1.20.1-1.0.0.jar", + "modId": "moreredxcctcompat", + "version": "1.20.1-1.0.0", + "curseForgeHash": 2392924645, + "modrinthHash": "ed57300c9b6e335af2a6a386fc2d373b4b5daaf4" + }, + "MouseTweaks-forge-mc1.20.1-2.25.1.jar": { + "jarName": "MouseTweaks-forge-mc1.20.1-2.25.1.jar", + "modId": "mousetweaks", + "version": "2.25.1", + "curseForgeHash": 3001740257, + "modrinthHash": "d751153e722a4e014691c83f39f5b07c6ec5333c" + }, + "MyServerIsCompatible-1.20-1.0.jar": { + "jarName": "MyServerIsCompatible-1.20-1.0.jar", + "modId": "myserveriscompatible", + "version": "1.0", + "curseForgeHash": 274343097, + "modrinthHash": "a53abcabc6c3531667049be249b3fb165aad5468" + }, + "nanhealthfixer-1.20.1-0.0.1.jar": { + "jarName": "nanhealthfixer-1.20.1-0.0.1.jar", + "modId": "nanhealthfixer", + "version": "1.20.1-0.0.1", + "curseForgeHash": 2148475912, + "modrinthHash": "2e36f4c6311230f76459000161d3429be723b19d" + }, + "NoChatReports-FORGE-1.20.1-v2.2.2.jar": { + "jarName": "NoChatReports-FORGE-1.20.1-v2.2.2.jar", + "modId": "nochatreports", + "version": "1.20.1-v2.2.2", + "curseForgeHash": 393521612, + "modrinthHash": "069396e689ae887d065c8d61b7945e685fbcc65b" + }, + "Not Enough Recipe Book-FORGE-0.4.1+1.20.1.jar": { + "jarName": "Not Enough Recipe Book-FORGE-0.4.1+1.20.1.jar", + "modId": "nerb", + "version": "0.4.1", + "curseForgeHash": 1367373369, + "modrinthHash": "c0806369f4257149664904db44efc60bd1785c17" + }, + "notenoughanimations-forge-1.11.1-mc1.20.1.jar": { + "jarName": "notenoughanimations-forge-1.11.1-mc1.20.1.jar", + "modId": "notenoughanimations", + "version": "1.11.1", + "curseForgeHash": 1394524316, + "modrinthHash": "9aa8917d7c0a5311dc495da3c720434de49e0e24" + }, + "OctoLib-FORGE-0.5.0.1+1.20.1.jar": { + "jarName": "OctoLib-FORGE-0.5.0.1+1.20.1.jar", + "modId": "octolib", + "version": "0.5.0.1", + "curseForgeHash": 2265070471, + "modrinthHash": "9eab28baff36942e1c924489e34753df10f40208" + }, + "oculus-mc1.20.1-1.8.0.jar": { + "jarName": "oculus-mc1.20.1-1.8.0.jar", + "modId": "oculus", + "version": "1.8.0", + "curseForgeHash": 516527841, + "modrinthHash": "984f774e71790deaec674c7587bd24e0711871b2" + }, + "packetfixer-3.3.1-1.18-1.20.4-merged.jar": { + "jarName": "packetfixer-3.3.1-1.18-1.20.4-merged.jar", + "modId": "packetfixer", + "version": "3.3.1", + "curseForgeHash": 2235595709, + "modrinthHash": "0bef29023c8cadb2934d78a8b0066b49d4460974" + }, + "pandalib-forge-0.4.2-1.20.jar": { + "jarName": "pandalib-forge-0.4.2-1.20.jar", + "modId": "pandalib", + "version": "0.4.2", + "curseForgeHash": 3233971835, + "modrinthHash": "cc0332d3bbf7824b673abc59e231f1f5aafc6420" + }, + "particle_core-0.2.6+1.20.1+forge.jar": { + "jarName": "particle_core-0.2.6+1.20.1+forge.jar", + "modId": "particle_core", + "version": "0.2.6+1.20.1+forge", + "curseForgeHash": 4189650687, + "modrinthHash": "91f302ab9b85016aeb3a9a0e85b80650a1d2e984" + }, + "particular-1.20.1-Forge-1.2.7.jar": { + "jarName": "particular-1.20.1-Forge-1.2.7.jar", + "modId": "particular", + "version": "1.2.7", + "curseForgeHash": 547177644, + "modrinthHash": "db04a6b14b7fb219701c50907986384bca363298" + }, + "Patchouli-1.20.1-84.1-FORGE.jar": { + "jarName": "Patchouli-1.20.1-84.1-FORGE.jar", + "modId": "patchouli", + "version": "1.20.1-84.1-FORGE", + "curseForgeHash": 3571975239, + "modrinthHash": "e91d2e2f251375d647d592b670ea6f310c2554eb" + }, + "PickUpNotifier-v8.0.0-1.20.1-Forge.jar": { + "jarName": "PickUpNotifier-v8.0.0-1.20.1-Forge.jar", + "modId": "pickupnotifier", + "version": "8.0.0", + "curseForgeHash": 1083059147, + "modrinthHash": "378cc9730d1f11cd4c50add96263baccacdb4942" + }, + "Placebo-1.20.1-8.6.3.jar": { + "jarName": "Placebo-1.20.1-8.6.3.jar", + "modId": "placebo", + "version": "8.6.3", + "curseForgeHash": 3174429337, + "modrinthHash": "e85f53de2e582a79ce25ff1df1e7b5b5fc08440f" + }, + "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar": { + "jarName": "PlayerRevive_FORGE_v2.0.31_mc1.20.1.jar", + "modId": "playerrevive", + "version": "2.0.31", + "curseForgeHash": 2650963389, + "modrinthHash": "84c039f20b8f048c835c429c2c4a9fd82a5e65f6" + }, + "polylib-forge-2000.0.3-build.143.jar": { + "jarName": "polylib-forge-2000.0.3-build.143.jar", + "modId": "polylib", + "version": "2000.0.3-build.143", + "curseForgeHash": 3158966907, + "modrinthHash": "bf49919adc9e9109196762ff20030f823790e2db" + }, + "primitive_creatures_2.7forge1.20.1.jar": { + "jarName": "primitive_creatures_2.7forge1.20.1.jar", + "modId": "primitive_creatures", + "version": "2.5", + "curseForgeHash": 3260500527, + "modrinthHash": "f2fb38516941ac4193282af35bc2182ca98b17f5" + }, + "probejs-6.0.1-forge.jar": { + "jarName": "probejs-6.0.1-forge.jar", + "modId": "probejs", + "version": "6.0.1", + "curseForgeHash": 1763477494, + "modrinthHash": "5380211b1c2891f454a136545721526b184d8513" + }, + "PuzzlesLib-v8.1.33-1.20.1-Forge.jar": { + "jarName": "PuzzlesLib-v8.1.33-1.20.1-Forge.jar", + "modId": "puzzleslib", + "version": "8.1.33", + "curseForgeHash": 3151848185, + "modrinthHash": "285b7c7616971338ccbe0022c9ea0f8ad3036aaf" + }, + "radium-mc1.20.1-0.12.4+git.26c9d8e.jar": { + "jarName": "radium-mc1.20.1-0.12.4+git.26c9d8e.jar", + "modId": "radium", + "version": "0.12.4+git.26c9d8e", + "curseForgeHash": 1441086174, + "modrinthHash": "f5f5f792473bb7b85ec221f75c5afb3740afb13a" + }, + "resourcefulconfig-forge-1.20.1-2.1.3.jar": { + "jarName": "resourcefulconfig-forge-1.20.1-2.1.3.jar", + "modId": "resourcefulconfig", + "version": "2.1.3", + "curseForgeHash": 2554742015, + "modrinthHash": "597d40920dcc935f963842c817dcc4901862ab14" + }, + "resourcefullib-forge-1.20.1-2.1.29.jar": { + "jarName": "resourcefullib-forge-1.20.1-2.1.29.jar", + "modId": "resourcefullib", + "version": "2.1.29", + "curseForgeHash": 4227743239, + "modrinthHash": "6fc590a7c56a720fec57e290cbb0a106efbb3ffa" + }, + "rhino-forge-2001.2.3-build.10.jar": { + "jarName": "rhino-forge-2001.2.3-build.10.jar", + "modId": "rhino", + "version": "2001.2.3-build.10", + "curseForgeHash": 1432081092, + "modrinthHash": "c83c9b719a6bab33fbd2b3f2f680eb3adbfc1aa1" + }, + "rnr-0.2.2-1.20.1.jar": { + "jarName": "rnr-0.2.2-1.20.1.jar", + "modId": "rnr", + "version": "0.2.2-1.20.1", + "curseForgeHash": 891108730, + "modrinthHash": "ab28d720eb0094bd40c37726199831f4f60b4299" + }, + "Sacks \u0027N Such-1.20.1-1.2.4.jar": { + "jarName": "Sacks \u0027N Such-1.20.1-1.2.4.jar", + "modId": "sns", + "version": "1.2.4", + "curseForgeHash": 3392888044, + "modrinthHash": "9819909ff38f14408e313998d225e986333d52b7" + }, + "sandworm_mod-1.1.1.jar": { + "jarName": "sandworm_mod-1.1.1.jar", + "modId": "sandworm_mod", + "version": "1.1.1", + "curseForgeHash": 2555653342, + "modrinthHash": "c55788dcd8a1d24f4b41f20d40f5b670b163950a" + }, + "saturn-mc1.20.1-0.1.3.jar": { + "jarName": "saturn-mc1.20.1-0.1.3.jar", + "modId": "saturn", + "version": "0.1.3", + "curseForgeHash": 1313951597, + "modrinthHash": "ad93f99d46714c46aaa6a4409aeca506e9fcac99" + }, + "Searchables-forge-1.20.1-1.0.3.jar": { + "jarName": "Searchables-forge-1.20.1-1.0.3.jar", + "modId": "searchables", + "version": "1.0.3", + "curseForgeHash": 3494294894, + "modrinthHash": "5b976f6e76ec74cdef21865e31f56bcb11558db7" + }, + "ShoulderSurfing-Forge-1.20.1-4.17.0.jar": { + "jarName": "ShoulderSurfing-Forge-1.20.1-4.17.0.jar", + "modId": "shouldersurfing", + "version": "1.20.1-4.17.0", + "curseForgeHash": 3839312720, + "modrinthHash": "77741047e50205980a6eb518aec2514784584c09" + }, + "showcaseitem-1.20.1-1.2.jar": { + "jarName": "showcaseitem-1.20.1-1.2.jar", + "modId": "showcaseitem", + "version": "1.20.1-1.2", + "curseForgeHash": 563673003, + "modrinthHash": "282e08fc46b7e4bab61a8651b5fcc1ee1befddd9" + }, + "simplylight-1.20.1-1.4.6-build.50.jar": { + "jarName": "simplylight-1.20.1-1.4.6-build.50.jar", + "modId": "simplylight", + "version": "1.20.1-1.4.6-build.50", + "curseForgeHash": 2677835492, + "modrinthHash": "cfd851ffd2c3b451a96a19207dc6e084c1dfec73" + }, + "simplystacked-1.20-1.0.jar": { + "jarName": "simplystacked-1.20-1.0.jar", + "modId": "simplystacked", + "version": "1.20-1.0", + "curseForgeHash": 1003766549, + "modrinthHash": "c400ff4166daa70df65f7dfa65e2c06c9b5d70c9" + }, + "smoothboot(reloaded)-mc1.20.1-0.0.4.jar": { + "jarName": "smoothboot(reloaded)-mc1.20.1-0.0.4.jar", + "modId": "smoothboot", + "version": "0.0.4", + "curseForgeHash": 2392064616, + "modrinthHash": "3fd79132dba444bd109b5de4ad75dee06a48e130" + }, + "sodiumdynamiclights-forge-1.0.10-1.20.1.jar": { + "jarName": "sodiumdynamiclights-forge-1.0.10-1.20.1.jar", + "modId": "sodiumdynamiclights", + "version": "1.0.9", + "curseForgeHash": 4061843185, + "modrinthHash": "d27524e85bed0f0af83c03be46f9ca3eb02a1be9" + }, + "sodiumextras-forge-1.0.7-1.20.1.jar": { + "jarName": "sodiumextras-forge-1.0.7-1.20.1.jar", + "modId": "sodiumextras", + "version": "1.0.6", + "curseForgeHash": 3493046010, + "modrinthHash": "7603f44bc4750774fbbdc07a3153c391650fcf3d" + }, + "sodiumoptionsapi-forge-1.0.10-1.20.1.jar": { + "jarName": "sodiumoptionsapi-forge-1.0.10-1.20.1.jar", + "modId": "sodiumoptionsapi", + "version": "1.0.10", + "curseForgeHash": 2197810606, + "modrinthHash": "7529fbf938787ed13a251cbf40936f8c29ec4b6c" + }, + "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar": { + "jarName": "sophisticatedbackpacks-1.20.1-3.24.12.1411.jar", + "modId": "sophisticatedbackpacks", + "version": "3.24.12.1411", + "curseForgeHash": 2442024860, + "modrinthHash": "c6624f4719cfa8c15ef87860570a2748afd715da" + }, + "sophisticatedcore-1.20.1-1.2.107.1240.jar": { + "jarName": "sophisticatedcore-1.20.1-1.2.107.1240.jar", + "modId": "sophisticatedcore", + "version": "1.2.107.1240", + "curseForgeHash": 3130924746, + "modrinthHash": "a0a8e69b482e18bc82404c57f868db06d827ffca" + }, + "SoulBinding1.20.1(Forge)vs1.0.2.jar": { + "jarName": "SoulBinding1.20.1(Forge)vs1.0.2.jar", + "modId": "soulbinding", + "version": "1.20.1-1.0.2", + "curseForgeHash": 3826508951, + "modrinthHash": "b794e39c75a28753900dfe81d97137bc1d7b50d7" + }, + "sound-physics-remastered-forge-1.20.1-1.5.1.jar": { + "jarName": "sound-physics-remastered-forge-1.20.1-1.5.1.jar", + "modId": "sound_physics_remastered", + "version": "1.20.1-1.5.1", + "curseForgeHash": 1363428698, + "modrinthHash": "944b4673bcab118f411d050b2cd6b693262bb664" + }, + "species-3.5.jar": { + "jarName": "species-3.5.jar", + "modId": "species", + "version": "3.5", + "curseForgeHash": 4174736090, + "modrinthHash": "b4d924f4faf6eb201db04205b61fa1524a8b0178" + }, + "Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar": { + "jarName": "Steam_Rails-1.6.14-beta+forge-mc1.20.1.jar", + "modId": "railways", + "version": "1.6.14-beta+forge-mc1.20.1", + "curseForgeHash": 2914385349, + "modrinthHash": "90ea1d917bc20a5e4cc50abaa512d2084149dc64" + }, + "supermartijn642configlib-1.1.8-forge-mc1.20.jar": { + "jarName": "supermartijn642configlib-1.1.8-forge-mc1.20.jar", + "modId": "supermartijn642configlib", + "version": "1.1.8", + "curseForgeHash": 3016368264, + "modrinthHash": "f80f9eed728966adcfbcc848633e789645057281" + }, + "supermartijn642corelib-1.1.18-forge-mc1.20.1.jar": { + "jarName": "supermartijn642corelib-1.1.18-forge-mc1.20.1.jar", + "modId": "supermartijn642corelib", + "version": "1.1.18", + "curseForgeHash": 4078642907, + "modrinthHash": "d37e1148b512c67cee704635b4f07d1f9ea8c31c" + }, + "tacz-1.20.1-1.1.7-release.jar": { + "jarName": "tacz-1.20.1-1.1.7-release.jar", + "modId": "tacz", + "version": "1.1.7", + "curseForgeHash": 1186606411, + "modrinthHash": "869decffc818e6ccd7d6d0d734aecfaa265e908b" + }, + "tacz-tweaks-2.11.2-all.jar": { + "jarName": "tacz-tweaks-2.11.2-all.jar", + "modId": "tacztweaks", + "version": "2.11.2", + "curseForgeHash": 2376197194, + "modrinthHash": "889c0885b6388fc7966b956a5df4efbb1c758965" + }, + "taczammoquery-1.20.1-1.0.0.jar": { + "jarName": "taczammoquery-1.20.1-1.0.0.jar", + "modId": "taczammoquery", + "version": "1.20.1-1.0.0", + "curseForgeHash": 1292892332, + "modrinthHash": "e3d20ecf37d57b2ce0541cd0b082355853566296" + }, + "taczjs-forge-1.3.7-mc1.20.1.jar": { + "jarName": "taczjs-forge-1.3.7-mc1.20.1.jar", + "modId": "taczjs", + "version": "1.3.7-mc1.20.1", + "curseForgeHash": 1742901301, + "modrinthHash": "8a97de20e31f7e863a968f82fd90e196f4b3a3b3" + }, + "TerraFirmaCraft-Forge-1.20.1-3.2.19.jar": { + "jarName": "TerraFirmaCraft-Forge-1.20.1-3.2.19.jar", + "modId": "tfc", + "version": "3.2.19", + "curseForgeHash": 837967200, + "modrinthHash": "107d4aec4694c509ea7ea8f3963478ae8002f46e" + }, + "TerraFirmaGreg-Core-Modern-0.8.11.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.11.jar", + "modId": "tfg", + "version": "0.8.11", + "curseForgeHash": 48630112, + "modrinthHash": "5d2aaff9a32cdba01f1851bdc469aa8cdb292df6" + }, + "tfc_gurman-1.2.0.jar": { + "jarName": "tfc_gurman-1.2.0.jar", + "modId": "tfc_gurman", + "version": "1.1.0", + "curseForgeHash": 3362991748, + "modrinthHash": "4e219504c5ca011c2ea7036d6002d30ce14085c0" + }, + "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", + "modId": "punishment_for_death", + "version": "1.0.0.15", + "curseForgeHash": 174713763, + "modrinthHash": "7140887272d82f0a28734a4a1ff9e7d0a99ff25f" + }, + "tfc_ruins-1.0.1-forge-1.20.1.jar": { + "jarName": "tfc_ruins-1.0.1-forge-1.20.1.jar", + "modId": "tfc_ruins", + "version": "1.0.1", + "curseForgeHash": 301500460, + "modrinthHash": "a3759bcb6545195e680121c145608eeefc70a18a" + }, + "tfc_support_indicator-1.0.3+mc1.20.1.jar": { + "jarName": "tfc_support_indicator-1.0.3+mc1.20.1.jar", + "modId": "tfc_support_indicator", + "version": "1.0.3+mc1.20.1", + "curseForgeHash": 852302900, + "modrinthHash": "2cc053dc89943471f171d3473af9a0ee50c7a16b" + }, + "tfc_textile-1.0.5.jar": { + "jarName": "tfc_textile-1.0.5.jar", + "modId": "tfc_textile", + "version": "1.0.5", + "curseForgeHash": 2835188940, + "modrinthHash": "0f68aff31c58bcfd12306218766d24022d6e78db" + }, + "TFCAgedAlcohol-1.20.1-2.3.jar": { + "jarName": "TFCAgedAlcohol-1.20.1-2.3.jar", + "modId": "tfcagedalcohol", + "version": "2.3", + "curseForgeHash": 1683797447, + "modrinthHash": "e37031fe92336c8fe3b06c7b232da857f360d938" + }, + "tfcambiental-1.20.1-3.4.0.jar": { + "jarName": "tfcambiental-1.20.1-3.4.0.jar", + "modId": "tfcambiental", + "version": "1.20.1-3.4.0", + "curseForgeHash": 2082222095, + "modrinthHash": "4f506dcf9acd95c274225b6ea3dd7dd5cac996ab" + }, + "TFCAstikorCarts-1.20.1-1.1.8.3.jar": { + "jarName": "TFCAstikorCarts-1.20.1-1.1.8.3.jar", + "modId": "tfcastikorcarts", + "version": "1.1.8.3", + "curseForgeHash": 1729769370, + "modrinthHash": "1a64a638d83e7b33d1f4c589ac0bc3005ffec34f" + }, + "TFCBetterBlastFurnace-1.20.1-1.0.1.jar": { + "jarName": "TFCBetterBlastFurnace-1.20.1-1.0.1.jar", + "modId": "tfcbetterbf", + "version": "1.0.1", + "curseForgeHash": 876624666, + "modrinthHash": "deed557181e79cfa11ab29916d74801ba5d6dcd0" + }, + "tfccanes-2.1.2.jar": { + "jarName": "tfccanes-2.1.2.jar", + "modId": "tfccanes", + "version": "2.0.2", + "curseForgeHash": 1947739477, + "modrinthHash": "0c362ed60edfe797f020cc253cade2c732551522" + }, + "tfcchannelcasting-0.2.3-beta.jar": { + "jarName": "tfcchannelcasting-0.2.3-beta.jar", + "modId": "tfcchannelcasting", + "version": "0.2.3-beta", + "curseForgeHash": 3564038568, + "modrinthHash": "346a53a23f069d8f9b16f14ecef3b9ab247d0e49" + }, + "tfcgenviewer-1.20.1-1.5.1.jar": { + "jarName": "tfcgenviewer-1.20.1-1.5.1.jar", + "modId": "tfcgenviewer", + "version": "1.5.1", + "curseForgeHash": 2073154572, + "modrinthHash": "208e780e3f9fc4cbee1de4222d72408162b44a63" + }, + "tfcgroomer-1.20.1-0.2.3.jar": { + "jarName": "tfcgroomer-1.20.1-0.2.3.jar", + "modId": "tfcgroomer", + "version": "1.20.1-0.2.3", + "curseForgeHash": 2456188002, + "modrinthHash": "d528d3f837e7d1e93e1154b007a5493fca034a4c" + }, + "TFCHotOrNot-1.20.1-1.0.13.jar": { + "jarName": "TFCHotOrNot-1.20.1-1.0.13.jar", + "modId": "tfchotornot", + "version": "1.0.13", + "curseForgeHash": 499156272, + "modrinthHash": "383507ce61eaa1fe9368915536de8b3685517728" + }, + "TFCImprovedBadlands-1.20.1-1.0.2.jar": { + "jarName": "TFCImprovedBadlands-1.20.1-1.0.2.jar", + "modId": "tfcimprovedbadlands", + "version": "1.0.2", + "curseForgeHash": 2411075624, + "modrinthHash": "021052fcfdd3b51ec5c0b3e46974ecdfd641a0c8" + }, + "tfclunchbox-1.20.1-1.0.0.26.jar": { + "jarName": "tfclunchbox-1.20.1-1.0.0.26.jar", + "modId": "tfclunchbox", + "version": "1.0.0.26", + "curseForgeHash": 3150756370, + "modrinthHash": "e9ddf2c2ea8a3458c06ef31712543d201a1cb499" + }, + "tfcscraping-1.0.2.jar": { + "jarName": "tfcscraping-1.0.2.jar", + "modId": "tfcscraping", + "version": "1.0.2", + "curseForgeHash": 2333643070, + "modrinthHash": "a28cf46a637287b308058abb678fbf382198f3fe" + }, + "tfcstructuremodc-0.0.4.jar": { + "jarName": "tfcstructuremodc-0.0.4.jar", + "modId": "tfcstructuremodc", + "version": "0.0.1", + "curseForgeHash": 1490669427, + "modrinthHash": "30cdc7fb5e39545feaeb5f09b6fb4ccaf09aec14" + }, + "TFCTumbleweed-1.20.1-1.2.2.jar": { + "jarName": "TFCTumbleweed-1.20.1-1.2.2.jar", + "modId": "tfc_tumbleweed", + "version": "1.2.2", + "curseForgeHash": 3291823365, + "modrinthHash": "0b98dcc97f73d24707c3f4552145787e21d9b29b" + }, + "TFCVesselTooltip-1.20.1-1.1.jar": { + "jarName": "TFCVesselTooltip-1.20.1-1.1.jar", + "modId": "tfcvesseltooltip", + "version": "1.1", + "curseForgeHash": 2467902332, + "modrinthHash": "0ba5058d7a728119121acf09e0badb3c87d2f319" + }, + "TFCWeldButton-1.20.1-1.1.jar": { + "jarName": "TFCWeldButton-1.20.1-1.1.jar", + "modId": "tfcweldbutton", + "version": "1.1", + "curseForgeHash": 214270406, + "modrinthHash": "dda1ccb3f998e85de186c84162bf437f2e800031" + }, + "timeout_fixes-1.20.1-1.0.0.jar": { + "jarName": "timeout_fixes-1.20.1-1.0.0.jar", + "modId": "timeout_fixes", + "version": "1.20.1-1.0.0", + "curseForgeHash": 2965312512, + "modrinthHash": "1748e7fecde151d20eb96d62eecd7579858bb793" + }, + "toofast-1.20-0.4.3.5.jar": { + "jarName": "toofast-1.20-0.4.3.5.jar", + "modId": "toofast", + "version": "0.4.3.5", + "curseForgeHash": 165753123, + "modrinthHash": "a6163b39827b483fb2976c916d99fce6cbf247a9" + }, + "ToolBelt-1.20.1-1.20.02.jar": { + "jarName": "ToolBelt-1.20.1-1.20.02.jar", + "modId": "toolbelt", + "version": "1.20.02", + "curseForgeHash": 3460520715, + "modrinthHash": "3e4e2d2e3ee9486de4c6b64bcf8f25d87d55fc92" + }, + "toomanyrecipeviewers-0.7.0+mc.20.1.jar": { + "jarName": "toomanyrecipeviewers-0.7.0+mc.20.1.jar", + "modId": "toomanyrecipeviewers", + "version": "0.7.0+mc.20.1", + "curseForgeHash": 831210803, + "modrinthHash": "24973cc8530188fef712d34767a27d2f001c50e6" + }, + "tp_shooting-1.20.1-5.1.1+tacz1.1.6-all.jar": { + "jarName": "tp_shooting-1.20.1-5.1.1+tacz1.1.6-all.jar", + "modId": "tp_shooting", + "version": "1.20.1-5.1.1+tacz1.1.6", + "curseForgeHash": 3160316186, + "modrinthHash": "43c627e23f7e72ee011085a94bdc1ba57b86a7ba" + }, + "Tumbleweed-forge-1.20.1-0.5.5.jar": { + "jarName": "Tumbleweed-forge-1.20.1-0.5.5.jar", + "modId": "tumbleweed", + "version": "0.5.5", + "curseForgeHash": 1323601805, + "modrinthHash": "d3c2504eb77c98c6e6af49370a8370440aaded9a" + }, + "u_team_core-forge-1.20.1-5.1.4.382.jar": { + "jarName": "u_team_core-forge-1.20.1-5.1.4.382.jar", + "modId": "uteamcore", + "version": "5.1.4.382", + "curseForgeHash": 1183005945, + "modrinthHash": "45d737d4215c453c35bc8a16aa0c74d1179a0934" + }, + "UniLib-1.2.0+1.20.1-forge.jar": { + "jarName": "UniLib-1.2.0+1.20.1-forge.jar", + "modId": "unilib", + "version": "1.2.0", + "curseForgeHash": 1777031521, + "modrinthHash": "b8348dbe2ac3226613332eaf65d0fdfa6e76d8c3" + }, + "vintage_kubejs-1.20.1-1.0.0rc-2.jar": { + "jarName": "vintage_kubejs-1.20.1-1.0.0rc-2.jar", + "modId": "vintage_kubejs", + "version": "1.20.1-1.0.0rc-2", + "curseForgeHash": 2388627373, + "modrinthHash": "ca49a4163794cc0f94a31a17f6956be11979db53" + }, + "vintageimprovements-1.20.1-0.3.6.0.jar": { + "jarName": "vintageimprovements-1.20.1-0.3.6.0.jar", + "modId": "vintageimprovements", + "version": "1.20.1-0.3.6.0", + "curseForgeHash": 1485580658, + "modrinthHash": "a893480c03a2803b130f79b2124d27345779f531" + }, + "wab-1.20.1-1.3.2.jar": { + "jarName": "wab-1.20.1-1.3.2.jar", + "modId": "wan_ancient_beasts", + "version": "1.3.2", + "curseForgeHash": 2333549546, + "modrinthHash": "7298a59e383d2327e2acc49d8f1b132cedb8860b" + }, + "waterflasks-3.0.10.jar": { + "jarName": "waterflasks-3.0.10.jar", + "modId": "waterflasks", + "version": "3.0.10", + "curseForgeHash": 3195298370, + "modrinthHash": "d9e9fc125bd401601693de6d694bea43c3bf956e" + }, + "Waves-1.20.1-1.6.1.jar": { + "jarName": "Waves-1.20.1-1.6.1.jar", + "modId": "waves", + "version": "1.6.1", + "curseForgeHash": 1245342365, + "modrinthHash": "9704c7049b49ba6f5969ba2a1442490385764d03" + }, + "Xaeros_Minimap_25.2.10_Forge_1.20.jar": { + "jarName": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", + "modId": "xaerominimap", + "version": "25.2.10", + "curseForgeHash": 916576203, + "modrinthHash": "1f23df114da3a8603dbe4781c07e8acf20f6d1ce" + }, + "XaerosWorldMap_1.39.12_Forge_1.20.jar": { + "jarName": "XaerosWorldMap_1.39.12_Forge_1.20.jar", + "modId": "xaeroworldmap", + "version": "1.39.12", + "curseForgeHash": 3696490833, + "modrinthHash": "3c4005a400ba8270738bbe4c573526749ecf2f8f" + }, + "YeetusExperimentus-Forge-2.3.1-build.6+mc1.20.1.jar": { + "jarName": "YeetusExperimentus-Forge-2.3.1-build.6+mc1.20.1.jar", + "modId": "yeetusexperimentus", + "version": "2.3.1-build.6+mc1.20.1", + "curseForgeHash": 1963019301, + "modrinthHash": "6efdaf5d213f779e51aa84631a5f06a306351e75" + }, + "yet_another_config_lib_v3-3.6.6+1.20.1-forge.jar": { + "jarName": "yet_another_config_lib_v3-3.6.6+1.20.1-forge.jar", + "modId": "yet_another_config_lib_v3", + "version": "3.6.6+1.20.1-forge", + "curseForgeHash": 2226879195, + "modrinthHash": "644731e321c53a35a0b3177a3cc6347fe38002f4" + } +} \ No newline at end of file diff --git a/config/crash_assistant/problematic_mods_config.json b/config/crash_assistant/problematic_mods_config.json new file mode 100644 index 000000000..6213ef328 --- /dev/null +++ b/config/crash_assistant/problematic_mods_config.json @@ -0,0 +1,10 @@ +{ + "createdeco": { + "msg": "This crash happens sometimes. Launching the modpack again should make it disappear.", + "should_crash_on_startup": false + }, + "railways": { + "msg": "This crash happens sometimes. Launching the modpack again should make it disappear.", + "should_crash_on_startup": false + } +} \ No newline at end of file From bb02db6f25466fd56ce8a440f23d5c27a99000c7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 23:02:21 +0000 Subject: [PATCH 459/628] langs --- kubejs/assets/minecraft/lang/es_es.json | 103 ++++++++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 27 +++--- kubejs/assets/tfg/lang/es_es.json | 21 ++++ kubejs/assets/tfg/lang/fr_fr.json | 5 +- kubejs/assets/tfg/lang/ja_jp.json | 3 - kubejs/assets/tfg/lang/ru_ru.json | 122 ++++++++++++++++++++---- kubejs/assets/tfg/lang/uk_ua.json | 3 - kubejs/assets/tfg/lang/zh_cn.json | 3 - 8 files changed, 246 insertions(+), 41 deletions(-) create mode 100644 kubejs/assets/minecraft/lang/es_es.json create mode 100644 kubejs/assets/tfg/lang/es_es.json diff --git a/kubejs/assets/minecraft/lang/es_es.json b/kubejs/assets/minecraft/lang/es_es.json new file mode 100644 index 000000000..c990ae10a --- /dev/null +++ b/kubejs/assets/minecraft/lang/es_es.json @@ -0,0 +1,103 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.minecraft.iron_block": "Bloque de hierro fundido", + "block.minecraft.stone": "Piedra reconstituida", + "block.minecraft.stone_stairs": "Escaleras de piedra reconstituida", + "block.minecraft.stone_slab": "Losa de piedra reconstituida", + "block.minecraft.cobblestone": "Roca de piedra reconstituida", + "block.minecraft.cobblestone_stairs": "Escaleras de roca de piedra reconstituida", + "block.minecraft.cobblestone_slab": "Losa de roca de piedra Reconstituida", + "block.minecraft.cobblestone_wall": "Muro de roca de piedra Reconstituida", + "block.minecraft.mossy_cobblestone": "Roca de piedra Reconstituida Musgosa", + "block.minecraft.mossy_cobblestone_stairs": "Escaleras de roca de piedra reconstituida Musgosa", + "block.minecraft.mossy_cobblestone_slab": "Losa de roca de piedra reconstituida musgosa", + "block.minecraft.mossy_cobblestone_wall": "Muro de roca de piedra reconstituida musgoso", + "block.minecraft.smooth_stone": "Piedra reconstituida lisa", + "block.minecraft.smooth_stone_slab": "Losa de piedra reconstituida lisa", + "block.minecraft.stone_bricks": "Ladrillos de piedra reconstituida", + "block.minecraft.stone_bricks_stairs": "Escaleras de ladrillos de piedra reconstituida", + "block.minecraft.stone_bricks_slab": "Losa de ladrillos", + "block.minecraft.stone_bricks_wall": "Muro de ladrillos de piedra reconstituida", + "block.minecraft.cracked_stone_bricks": "Ladrillos de piedra reconstituida agrietados", + "block.minecraft.mossy_stone_bricks": "Ladrillos de piedra reconstituida musgosos", + "block.minecraft.mossy_stone_bricks_stairs": "Escaleras de ladrillos de piedra reconstituida musgosas", + "block.minecraft.mossy_stone_bricks_slab": "Losa de ladrillos de piedra reconstituida musgosa", + "block.minecraft.mossy_stone_bricks_wall": "Muro de ladrillos de piedra reconstituida musgosa", + "block.minecraft.chiseled_stone_bricks": "Ladrillos de piedra reconstituida cincelados", + "block.minecraft.chiseled_deepslate": "Migmatita cincelada", + "block.minecraft.cobbled_deepslate": "Roca de migmatita", + "block.minecraft.cobbled_deepslate_slab": "Losa de roca de migmatita", + "block.minecraft.cobbled_deepslate_stairs": "Escaleras de roca de migmatita", + "block.minecraft.cobbled_deepslate_wall": "Muro de roca de migmatita", + "block.minecraft.cracked_deepslate_bricks": "Ladrillos de migmatita agrietados", + "block.minecraft.cracked_deepslate_tiles": "Baldosas de migmatita agrietadas", + "block.minecraft.deepslate": "Migmatita en bruto", + "block.minecraft.deepslate_brick_slab": "Losa de ladrillos de migmatita", + "block.minecraft.deepslate_brick_stairs": "Escaleras de ladrillos de migmatita", + "block.minecraft.deepslate_brick_wall": "Muro de ladrillos de migmatita", + "block.minecraft.deepslate_bricks": "Ladrillos de migmatita", + "block.minecraft.deepslate_tile_slab": "Losa de baldosas de migmatita", + "block.minecraft.deepslate_tile_stairs": "Escaleras de baldosas de migmatita", + "block.minecraft.deepslate_tile_wall": "Muro de baldosas de migmatita", + "block.minecraft.deepslate_tiles": "Baldosas de migmatita", + "block.minecraft.infested_deepslate": "Migmatita infestada", + "block.minecraft.polished_deepslate": "Migmatita pulida", + "block.minecraft.polished_deepslate_slab": "Losa de migmatita pulida", + "block.minecraft.polished_deepslate_stairs": "Escaleras de migmatita pulida", + "block.minecraft.polished_deepslate_wall": "Muro de migmatita pulida", + "block.minecraft.blackstone": "Piroxenita en bruto", + "block.minecraft.blackstone_slab": "Losa de piroxenita", + "block.minecraft.blackstone_stairs": "Escaleras de piroxenita", + "block.minecraft.blackstone_wall": "Muro de piroxenita", + "block.minecraft.chiseled_polished_blackstone": "Piroxenita cincelada", + "block.minecraft.cracked_polished_blackstone_bricks": "Ladrillos de piroxenita agrietados", + "block.minecraft.gilded_blackstone": "Piroxenita áurea", + "block.minecraft.polished_blackstone": "Piroxenita pulida", + "block.minecraft.polished_blackstone_brick_slab": "Losa de ladrillos de piroxenita", + "block.minecraft.polished_blackstone_brick_stairs": "Escaleras de ladrillos de piroxenita", + "block.minecraft.polished_blackstone_brick_wall": "Muro de ladrillos de piroxenita", + "block.minecraft.polished_blackstone_bricks": "Ladrillos de piroxenita", + "block.minecraft.polished_blackstone_button": "Botón de piroxenita pulida", + "block.minecraft.polished_blackstone_pressure_plate": "Placa de presión de piroxenita pulida", + "block.minecraft.polished_blackstone_slab": "Losa de piroxenita pulida", + "block.minecraft.polished_blackstone_stairs": "Escaleras de piroxenita pulida", + "block.minecraft.polished_blackstone_wall": "Muro de piroxenita pulida", + "block.minecraft.dripstone_block": "Travertino en bruto", + "block.minecraft.nether_bricks": "Ladrillos de queratofiro", + "block.minecraft.nether_brick_fence": "Valla de ladrillos de queratofiro", + "block.minecraft.nether_brick_slab": "Losa de ladrillos de queratofiro", + "block.minecraft.nether_brick_wall": "Muro de ladrillos de queratofiro", + "block.minecraft.nether_brick_stairs": "Escaleras de ladrillos de queratofiro", + "block.minecraft.cracked_nether_bricks": "Ladrillos de queratofiro agrietados", + "block.minecraft.chiseled_nether_bricks": "Ladrillos de queratofiro cincelados", + "block.minecraft.magma_block": "Piroxenita de magma", + "block.minecraft.twisting_vines": "Tallo de brilloluz", + "block.minecraft.pearlescent_froglight": "Brilloluz perlado", + "block.minecraft.verdant_froglight": "Brilloluz verdante", + "block.minecraft.ochre_froglight": "Brilloluz ocre", + "block.minecraft.nether_wart_block": "Bloque de verruga carmesí", + "block.minecraft.weeping_vines_plant": "Planta de enredaderas carmesí", + "block.minecraft.weeping_vines": "Enredaderas carmesí", + "block.minecraft.red_sand": "Arena hematítica", + "block.minecraft.red_sandstone": "Arenisca hematítica", + "block.minecraft.red_sandstone_stairs": "Escaleras de arenisca hematítica", + "block.minecraft.red_sandstone_slab": "Losa de arenisca hematítica", + "block.minecraft.red_sandstone_wall": "Muro de arenisca hematítica", + "block.minecraft.chiseled_red_sandstone": "Arenisca hematítica cincelada", + "block.minecraft.smooth_red_sandstone": "Arenisca hematítica lisa", + "block.minecraft.smooth_red_sandstone_stairs": "Escaleras de arenisca hematítica lisa", + "block.minecraft.smooth_red_sandstone_slab": "Losa de arenisca hematítica lisa", + "block.minecraft.cut_red_sandstone": "Arenisca hematítica cortada", + "block.minecraft.cut_red_sandstone_slab": "Losa de arenisca hematítica cortada", + "entity.minecraft.furnace_minecart": "Vagoneta con caldera", + "item.minecraft.iron_nugget": "Pepita de hierro fundido", + "item.minecraft.iron_ingot": "Lingote de hierro fundido", + "item.minecraft.iron_block": "Bloque de hierro fundido", + "item.minecraft.netherite_leggings": "Grebas de buceo de acero azul", + "item.minecraft.netherite_boots": "Botas de buceo de acero azul", + "item.minecraft.string": "Hilo de seda", + "item.minecraft.glow_ink_sac": "Tinte brillante", + "item.minecraft.nether_brick": "Ladrillo de queratofiro", + "item.minecraft.furnace_minecart": "Vagoneta con caldera", + "material.tfg.dripstone": "Travertino" +} \ 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 55fda84f3..17784b859 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2261,7 +2261,7 @@ "quests.extreme_voltage.nano_ev.desc": "These could actually be cheaper to make than the &bMicroprocessor&r equivalent if you manage to mass-produce &bNano CPU&r efficiently. Once your &cFission Line&r is fully automated, these circuits will become an extremely cost-effective option for your high-end builds.\n\nAlso, note that you can use advanced SMD components from now on!", "quests.extreme_voltage.nano_iv.subtitle": "Getting closer to LuV technology", "quests.extreme_voltage.nano_iv.desc": "These &1IV&r Circuits still require one &bNano CPU Chip&r, so in that regard they aren’t actually cheaper than the &bMicroprocessors&r.\n\nHowever, they will be essential for progressing toward the next tier of technology.", - "quests.extreme_voltage.nano_luv.subtitle": "Your first IV circuits", + "quests.extreme_voltage.nano_luv.subtitle": "Your first LuV circuits", "quests.extreme_voltage.nano_luv.desc": "Congrats on successfully reaching a new tier of circuits! These &dLuV&r Circuits won’t have much use just yet, as you can’t craft any &dLuV&r machines before completing the &bPlatline&r, but they’ll still be valuable for crafting new &dAE2&r tools and components.\n\nMost of these recipes will require an &1IV&r Assembler, so be sure you have one ready.", "quests.extreme_voltage.me_part.title": "ME Multiblock Parts", "quests.extreme_voltage.me_part.subtitle": "Connect GregTech directly to your AE2 network", @@ -2442,7 +2442,7 @@ "quests.gregtech_energy.lce_fuel.desc.2": "Once you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to Gasoline and High Octane Gasoline. Don’t attempt this too early — oils need to be distilled properly, and doing it with a regular Distillery is not efficient at all.\n\nTo make this work, you'll need a combination of oil distillation and some organic compound processing. Thankfully, a Pyrolyse Oven and a Distillation Tower will handle it all smoothly.\n\nIf you manage a steady supply of High Octane Gasoline, you should be able to finish the entire modpack running only on Combustion Generators.", "quests.gregtech_energy.lce_fuel.task": "I got enough", "quests.gregtech_energy.large_solar.subtitle": "Huge Easy Power", - "quests.gregtech_energy.large_solar.desc.1": "The Large Solar Array MK I will be your go-to solution if you want to set up a larger base on the Moon.\n\nIt’s especially useful for &bAE2&r processing lines, and it can also power your Bedrock Miners.\n\nDon’t forget that you can use the GregTech Terminal item to build the multiblock instantly by sneak-right-clicking on the controller.\n\nCheck the available recipes by simply pressing &eU&r on the controller to see your options.", + "quests.gregtech_energy.large_solar.desc.1": "The Large Solar Array MK I will be your go-to solution if you want to set up a larger base on the Moon.\n\nIt’s especially useful for &bAE2&r processing lines, and it can also power your Moon Dust Harvesters.\n\nDon’t forget that you can use the GregTech Terminal item to build the multiblock instantly by sneak-right-clicking on the controller.\n\nCheck the available recipes by simply pressing &eU&r on the controller to see your options.", "quests.gregtech_energy.large_solar.desc.2": "&6The Large Solar Array MK I&r comes with &92 different recipes&r:\n\n&9• Passive Mode&r —\nThis mode slowly consumes &dPhotovoltaic Cells&r, meaning it's fine when you're actively setting up your base if you throw a stack in there, but won't last forever. It will only generate &62A HV&r during the day — enough for basic systems, but far from optimal.\n\n&9• Active Mode&r —\nIf you want to &amaximize the energy output&r, you’ll need to manage coolant. This will require your Moon Base to be more built up, but the reward is you get &52A EV&r instead!\n\nThere's also MK II and MK III versions for higher tiers, requiring more advanced coolants.", "quests.gregtech_energy.large_solar_t2.subtitle": "Even stronger", "quests.gregtech_energy.large_solar_t2.desc.1": "If you're building an &dAE2 base on the Moon&r, chances are you'll need a lot more energy. That's where the &6Large Solar Array MK II&r comes in!\n\nJust like the MK I, it offers 2 different recipes — but this time, neither is fully passive.", @@ -2450,7 +2450,7 @@ "quests.gregtech_energy.large_solar_t3.subtitle": "Maximal Power", "quests.gregtech_energy.large_solar_t3.desc": "The final tier is the &6Large Solar Array MK III&r. It works the same way as the MK II, but its new Solar Coolant requires the addition of &aArgon&r and &bSilica Aerogel&r.\n\nYou should already be familiar with &bSilica Aerogel&r — you used it in your &dRocket Tier 3&r.\nHowever, it's much harder to produce on the Moon, and you may need a constant supply shipped from &aEarth&r.\n\nWe’ll let you decide how to handle this logistical challenge — whether it’s through automation, or interplanetary transport, the choice is yours.\n\n&eHigh-tech energy&r demands &chigh-level infrastructure&r. Plan wisely!", "quests.gregtech_energy.solar_panel.subtitle": "Light in the Dark", - "quests.gregtech_energy.solar_panel.desc": "The Solar Panel will be your first source of power on the Moon.\n\nThey produce 32 EU/t during daytime, but keep in mind they actually generate RF, so you’ll need a Converter to transform it into EU.\n\nYou can use one &bMV Converter&r for up to 2 Solar Panels or a &6HV Converter&r for up to 4 Solar Panels.", + "quests.gregtech_energy.solar_panel.desc": "The Solar Panel will be your first source of power on the Moon.\n\nThey produce 32 EU/t during daytime, but keep in mind they actually generate FE, so you’ll need a Converter to transform it into EU.\n\nYou can use up to 4 Solar Panels on an &bMV Converter&r.", "quests.gregtech_energy.storage.title": "Storing Energy", "quests.gregtech_energy.storage.subtitle": "Gotta put all that juice somewhere", "quests.gregtech_energy.storage.desc": "Storing your energy is one of the most fundamental pillars of the power system in GregTech.\n\nWhy is that? Simply because even the strongest generators won't be enough to keep up when you start a big craft — especially in late game.\n\nTo deal with this, GregTech provides multiple solutions to store astronomical amounts of EU. These storages act as a buffer between your energy production and the machines that drain it during complex operations.\n\nWhether you’re preparing for a Fusion Reactor, an LCR, or any HV-IV scale crafting chain, you’ll need that extra backup of energy to keep everything stable.\n\nDon’t underestimate the power of a good battery — it may just be the thing that saves your base from a blackout during critical moments.", @@ -2485,7 +2485,7 @@ "quests.gregtech_energy.overclock.subtitle": "Basic upgrade mechanic", "quests.gregtech_energy.overclock.desc.1": "Have you heard about Overclocking, but don't really understand what it is? Let's take some time to explain it.\n\nWe should start with the basics:\n&dLV&r represents a maximum of 32 EU/t — sometimes less, but never more.\n&dMV&r goes up to 128 EU/t.\n&dHV&r reaches 512 EU/t.\nBasically, every tier is a 4x increase in power usage.", "quests.gregtech_energy.overclock.desc.2": "What happens when you run a lower-tier recipe in a higher-tier machine? That's what we call &eOverclocking&r!\n\nAn &dMV&r recipe (33–128 EU/t) run in an &dHV&r machine will both: 1) Use 4x more energy, and 2) Be 2x faster.\n\nThe same MV recipe in an &dEV&r machine? 16x the energy cost, but only 4x faster.\n\nAs you can see, it's more power efficient to use multiple machines rather than overclocking a single one.\nBut let's be real: in most setups, you’ll prefer overclocking to building a ton of the same machines.\n\nStill, it's good to know this early on, when energy is tight.", - "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Heat Furnace\n- Large Chemical Reactor\n- Electric Greenhouse", + "quests.gregtech_energy.overclock.desc.3": "There’s a special kind of overclocking exclusive to just a few multiblocks: &ePerfect Overclocking&r.\nHere, instead of 4x energy for 2x speed, you get &a4x energy&r for &a4x speed&r! This makes it just as efficient as running multiple machines.\n\nCurrently in TerraFirmaGreg, only the following multiblocks support this:\n- Electric Blast Furnace\n- Alloy Blast Smelter\n- Rotary Hearth Furnace\n- Large Chemical Reactor\n- Electric Greenhouse\n- Heat Exchanger", "quests.gregtech_energy.overclock.task": "So the red ones go faster, got it", "quests.gregtech_energy.blast_oc.title": "The Blast Overclocking", "quests.gregtech_energy.blast_oc.subtitle": "You don't need to understand this one", @@ -2496,7 +2496,7 @@ "quests.gregtech_energy.subtick.title": "Subtick", "quests.gregtech_energy.subtick.subtitle": "Parallel?", "quests.gregtech_energy.subtick.desc.1": "Another hidden mechanic in GregTech Multiblocks: the &dSubtick&r.\n\nWhat is it? Subtick activates when a recipe becomes so fast it takes less than one tick to process. Normally, machines can’t go faster than one recipe per tick — but with Subtick, they can!\n\nHow does it work? Once a recipe hits 1 tick duration, upgrading the Energy Hatch further won’t make it faster.\nBut thanks to Subtick, instead of wasting power, the machine will &aparallel the recipe internally&r.", - "quests.gregtech_energy.subtick.desc.2": "For example: If your Large Chemical Reactor (LCR) runs a LuV recipe at 1 tick, then at ZPM, it will run &e2 recipes per tick&r. Even faster hatches mean more internal parallel.\n\n&dNote&r: As of now, all the Large Machines can subtick in a limited way, but &aonly the LCR&r supports both Subtick and Perfect Overclocking. That’s also why there's no IV multiblock with parallel hatches for the LCR: it’s already doing it... but better.", + "quests.gregtech_energy.subtick.desc.2": "For example: If your Large Chemical Reactor (LCR) runs a LuV recipe at 1 tick, then at ZPM, it will run &e2 recipes per tick&r. Even faster hatches mean more internal parallel.\n\n&dNote&r: As of now, all the Large Machines can subtick in a limited way, but &aonly the LCR&r and &eHeat Exchanger&r support both Subtick and Perfect Overclocking. That’s also why there's no IV multiblock with parallel hatches for the LCR: it’s already doing it... but better.", "quests.gregtech_energy.parallel_hatch.title": "Parallel Hatch", "quests.gregtech_energy.parallel_hatch.subtitle": "Parallel again?", "quests.gregtech_energy.parallel_hatch.desc.1": "The &dParallel Hatch&r is the main draw of the Large Multiblocks.\n\nWhat does it do?\nWhere allowed (mostly on the Multiblocks crafted from the Alloy Blast Smelter), it lets you run &amultiple recipes at the same time&r.\n\nIt does this by consuming more energy per tick, but massively increasing throughput. Perfect if you’re mass-producing alloys, circuits, or plates.", @@ -2530,7 +2530,7 @@ "quests.high_voltage.chem_bath.desc": "The &3HV Chemical Bath&r is used to &ddye Lenses&r using &aChemical Dye&r. This will let you engrave more types of Wafers, and cool other kinds of Hot Ingots.", "quests.high_voltage.maintenance_hatches.title": "Advanced Maintenance", "quests.high_voltage.maintenance_hatches.subtitle": "I have become maintenance, eater of tape", - "quests.high_voltage.maintenance_hatches.desc.1": "You now have access to two &3new Maintenance Hatches&r. Both hatches &6do not require Maintenance&r when first placed in a Multiblock.\n\nThe &3Automatic Maintenance Hatch&r is pretty simple - it eliminates the need for Maintenance, &6forever&r.\n\nThe &3Configurable Maintenance Hatch&r is more interesting. You can configure it to cut off &a10%% duration&r on recipes, at the cost of making Maintenance happen three times as fast. That is &d16 real hours&r of activity. Additionally, you can use it on Multiblock Generators to increase the duration of the recipe, which indirectly increases their fuel efficiency by 10%!\n\n&9Reminder:&r You can put Tape in the maintenance Hatch to automatically fix problems.", + "quests.high_voltage.maintenance_hatches.desc.1": "You now have access to two &3new Maintenance Hatches&r. \n\nThe &3Automatic Maintenance Hatch&r is pretty simple - it eliminates the need for Maintenance, &6forever&r.\n\nThe &3Configurable Maintenance Hatch&r is more interesting. You can configure it to cut off &a10%% duration&r on recipes, at the cost of making Maintenance happen three times as fast. That is &d16 real hours&r of activity. Additionally, you can use it on Multiblock Generators to increase the duration of the recipe, which indirectly increases their fuel efficiency by 10%%!\n\n&9Reminder:&r You can put Tape in the maintenance Hatch to automatically fix problems.", "quests.high_voltage.maintenance_hatches.desc.2": "&l&3Lore:&r&o The Automatic Maintenance Hatch texture and mechanic comes from TecTech, an addon mod originally made for GregTech: New Horizons.\n\n&oYou'll see more from TecTech if you stick with us with the late game.", "quests.high_voltage.hv_components.title": "High Voltage Components", "quests.high_voltage.hv_components.subtitle": "We call this \"fun\"", @@ -3056,10 +3056,11 @@ "quests.medium_voltage.pyrolyse.desc.4": "&9&lNote:&r&l The Plant path is one path you can take towards &9&lEthylene&r&l, which is a necessary chemical in progressing to &6HV&r&l. The other path involves Oil.&r\n\nThe Pyrolyse Oven remains &doptional&r. However, it is very rewarding to construct one either for Power, or for the various Byproducts, and we highly recommend you give it a look.\n\n&l&3Lore:&r&o In GT5u, the structure for the Pyrolyse Oven was infamously a giant box with only 9 coils inside. Players usually spent several minutes debugging what is wrong due to a lack of a EMI preview.", "quests.medium_voltage.mv_fluid_rig.title": "Fluid Drilling Rigs", "quests.medium_voltage.mv_fluid_rig.subtitle": "Fluid Drilling Rigs in CEu!", - "quests.medium_voltage.mv_fluid_rig.desc.1": "It's quite the investment to own a &3Fluid Drilling Rig&r, but it is &oby far&r the most prominent &6source of Oil&r.\n\nIt pumps fluids from underneath Bedrock itself. Note that the fluids aren't actually there, instead being simulated.\n\nFluid veins are stored within &cchunk-sized regions&r. Each vein has a different fluid, but they are mostly types of Oil.\n\nYou can't carry out prospecting for fluid veins &oyet&r - this will come at &6HV&r.", - "quests.medium_voltage.mv_fluid_rig.desc.2": "Each vein generates with a different base yield. This is typically between &d150L&r to &d300L per second&r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time until it reaches its depletion yield. At that point, you should move the Rig to a different vein.\n\nA &3Basic Fluid Drilling Rig&r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for &6well over 10,000&r buckets of Oil. Higher tier Rigs will massively increase the yield, while also decreasing the depletion rate.", - "quests.medium_voltage.mv_fluid_rig.desc.3": "&lWhat you can find in the &2Overworld&r&l:&r\n\n&9Oil:&r richer in &aLight Fuel&r, the most appreciated variant.\n&9Light Oil:&r richer in &aRefinery Gas&r, usable for power.\n&9Heavy Oil:&r richer in &aHeavy Fuel&r, which has uses that are more niche but notably Toluene.\n&9Raw Oil:&r richer in &aNaphtha&r, the best source of the early-game oil products.\n&9Natural Gas:&r grants &aRefinery Gas&r with no distillation required.\n&9Sea Water:&r grants &aSodium&r and &aChlorine&r, useful later.", + "quests.medium_voltage.mv_fluid_rig.desc.1": "It's quite the investment to own a &3Fluid Drilling Rig&r, but it is &oby far&r the most prominent &6source of Oil&r.\n\nIt pumps fluids from underneath Bedrock itself. Note that the fluids aren't actually there, instead being simulated.\n\nFluid veins are stored within &cchunk-aligned regions&r. Each vein has a different fluid, but they are mostly types of Oil.\n\nYou can't carry out prospecting for fluid veins &oyet&r - this will come at &6HV&r.", + "quests.medium_voltage.mv_fluid_rig.desc.2": "Each vein generates with a different base yield. This is typically between &d150mB&r to &d300mB per second when using the &bAdvanced Fluid Drilling Rig&r also known as &bFluid Rig Mk1&r.\n\nWhen drained, fluid veins will slowly deplete. This will cause the fluid yield to decrease over time until it reaches its depletion yield. At that point, you should move the Rig to a different vein.\n\nA &3Basic Fluid Drilling Rig&r will last for 100,000 operations (with 1 second per operation) until depletion. This is enough for &6well over 10,000&r buckets of Oil. Higher tier Rigs will massively increase the yield based on the multiplier listed in their tooltip, while also decreasing the depletion rate.", + "quests.medium_voltage.mv_fluid_rig.desc.3": "&lWhat you can find in the &2Overworld&r&l:&r\n\n&9Oil:&r richer in &aLight Fuel&r, the most appreciated variant.\n&9Light Oil:&r richer in &aRefinery Gas&r, usable for power.\n&9Heavy Oil:&r richer in &aHeavy Fuel&r, which has uses that are more niche but notably Toluene.\n&9Raw Oil:&r richer in &aNaphtha&r, the best source of the early-game oil products.\n&9Natural Gas:&r grants &aRefinery Gas&r with no distillation required.\n&9Salt Water:&r grants &aSodium Hydroxide&r and &aChlorine&r, useful later.", "quests.medium_voltage.mv_fluid_rig.desc.4": "&lWhat you can find in the &cBeneath&r&l:&r\n\n&9Natural Gas:&r grants &aRefinery Gas&r but with higher yield than the Overworld vein.\n&9Lava:&r hopefully, you know what this is.\n\nWhen starting out, you may have to tap randomly until you find something you like. Remember that whatever you pump could also be used to refuel your Fluid Rig.", + "quests.medium_voltage.mv_fluid_rig.desc.5": "An example of Fluid Regions on &9The Moon&r:", "quests.medium_voltage.mv_oilsands.title": "America Simulator", "quests.medium_voltage.mv_oilsands.subtitle": "This quest was sponsored by the US Military", "quests.medium_voltage.mv_oilsands.desc": "Underground, you may come across pure Oilsands ore veins. You can &3centrifuge&r the Dust to get &aOil&r.\n\n&9&lNote:&r&l The Oil path is one path towards &9&lEthylene&r&l. The other paths involve getting natural with some Ethanol.&r\n\nFor now, Oil is &doptional&r. It becomes mandatory much later when you get to &5EV&r.\n\nOil can also be refined in the form of &aLight Fuel&r, &aDiesel&r or even &aGasoline&r, which are excellent power options.\n\nIf you chose this path, you should use it for both Power and Ethylene.\n\nOilsands are a &6great starting point&r - they'll tide you over until you unlock Fluid Drilling Rigs.", @@ -3283,7 +3284,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.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 wood treating.\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.", + "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.", "quests.metal_age.coke_oven.desc.2": "Coke Ovens can be fully automated using a Coke Oven Hatch. The Hatch is placed on the sides of the Oven and work as both Inputs and Outputs for both Items and Liquids.\n\nYou can easly create a simple, one way Coke Oven by using a Crate for the input, a Chest for the output, and a Drum, Barrel, or Large Wooden Tank to collect the Creosote. Unlike Chests, Crates are able to store large objects such as Logs. You can also sneak and right-click GregTech pipes with a wrench to make them one-way.", "quests.metal_age.wrought_iron_goodies.title": "Wrought Iron level Mechanical Power", "quests.metal_age.wrought_iron_goodies.subtitle": "What's this \"Andesite Alloy\" you speak of?", @@ -4262,6 +4263,10 @@ "quests.tfg_tips.feeding_troughs.subtitle": "Metallic Farmhand", "quests.tfg_tips.feeding_troughs.desc": "Feeding Troughs (also known as Grooming Stations) are a way to automatically feed your animals every morning. It even comes with an option to avoid feeding animals that are already at maximum familiarity, in case you don't want to breed them.\n\nHigher tiers come with a higher range of effectiveness.\n\n&3&lTip:&r&o You might not want to put one right next to your fence, otherwise animals will try to use it to escape their pen!", "quests.tfg_tips.feeding_troughs.task": "Any feeding trough", + "quests.tfg_tips.scraping_knives.title": "Scraping Knives", + "quests.tfg_tips.scraping_knives.subtitle": "The Cooler Scraping", + "quests.tfg_tips.scraping_knives.desc": "Tired of scraping each section of your hides, paper, or flax by hand? Try making a Scraping Knife!\n\nA basic copper or bronze scraping knife can scrape a full line of material at a time, with higher tier knives being capable of scraping more lines.", + "quests.tfg_tips.scraping_knives.task": "Any Scraping Knife", "quests.tfg_tips.glassblowing.title": "Glassblowing", "quests.tfg_tips.glassblowing.subtitle": "Realistic Glassworking!", "quests.tfg_tips.glassblowing.desc": "To make any sort of &dGlass Pane&r or &dBlock&r, you'll need a &3glassblowing&r setup.\n\n&3Glassblowing&r will require some sort of &aBlowpipe&r, and a platform made out of glassblowing blocks to pour the molten glass. Check out the &2Field Guide&r for more information on the shape of the platform and what blocks are valid. You'll have access to glassblowing as soon as you can shape &aBrass!&r", @@ -4578,7 +4583,7 @@ "quests.tfg_tips.biplane.desc": "The &3Biplane&r is a direct upgrade to the &bEconomy Plane&r, crafted using &aHulls, Steam-powered Aircraft Engines&r and an &aAluminium Plated Airplane Propeller.&r\n\nIt contains &b16 Inventory Slots&r, &a4 Upgrade Slots&r and &c1 Weapon Slot.&r Unlike the &dEconomy Plane&r, the &3Biplane&r can be &4boosted using rockets via a dedicated slot.&r", "quests.tfg_tips.scarlet_biplane.title": "Scarlet Biplane", "quests.tfg_tips.scarlet_biplane.subtitle": "What a sight to behold", - "quests.tfg_tips.scarlet_biplane.desc": "The &3Scarlet Biplane&r is one of the two final upgrades for &bPlanes&r, requiring &6HV&r components.\n\nIt contains &b27 Inventory Slots&r, &a4 Upgrade Slots&r, &c2 Weapon Slots&r, and also a &4Booster Slot&r, just like the regular biplane.\n\nWhile expensive, the &3Scarlet Biplane&r makes up for it with increased durability, increased max speed, and overall swag.", + "quests.tfg_tips.scarlet_biplane.desc": "The &3Scarlet Biplane&r is one of the two final upgrades for &bPlanes&r, requiring &bMV&r components.\n\nIt contains &b27 Inventory Slots&r, &a4 Upgrade Slots&r, &c2 Weapon Slots&r, and also a &4Booster Slot&r, just like the regular biplane.\n\nWhile expensive, the &3Scarlet Biplane&r makes up for it with increased durability, increased max speed, and overall swag.", "quests.tfg_tips.aluminium_hopper.title": "Aluminium Hopper", "quests.tfg_tips.aluminium_hopper.subtitle": "So light it floats on water!", "quests.tfg_tips.aluminium_hopper.desc": "The &3Aluminium Hopper&r is one of the two final upgrades for &bPlanes&r, requiring &6HV&r components.\n\nIt contains &b16 Inventory Slots&r, &a4 Upgrade Slots&r, &c2 Weapon Slots&r, 3 Seats, and also a &4Booster Slot&r, just like the regular biplane.\n\nWhile expensive, the &3Aluminium Hopper&r makes up for it with 3 total seats, and the ability to land on Water.", diff --git a/kubejs/assets/tfg/lang/es_es.json b/kubejs/assets/tfg/lang/es_es.json new file mode 100644 index 000000000..5d66edaa9 --- /dev/null +++ b/kubejs/assets/tfg/lang/es_es.json @@ -0,0 +1,21 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "quests.tfg": "TerraFirmaGreg - Modern", + "quests.tfg.subtitle": "Bienvenid@ a TerraFirmaGreg!", + "quests.tfg.welcome.title": "Bienvenid@ a TerraFirmaGreg!", + "quests.tfg.welcome.subtitle": "Modpack de Supervivencia como debería haber sido", + "quests.tfg.welcome.desc": "Gracias por comenzar en TerraFirmaGreg Modern!\n\nEn este modpack, tendrás la tarea de tomar el control de la naturaleza salvaje y hacerla un paraíso industrial. Inicia desde un humilde comienzo cogiendo rocas, y finaliza atravesando el espacio interestelar!", + "quests.tfg.create_team.title": "¿Cómo crear un equipo?", + "quests.tfg.create_team.subtitle": "¿Juegas con amigos?", + "quests.tfg.create_team.desc": "Puedes crear un equipo para completar misiones juntos. Para hacerlo, abre tu inventario, luego en la esquina superior izquierda selecciona el botón donde hay 3 personas coloridas, luego una interfaz se abrirá en la cual puedes crear un equipo. Dale click al botón §aCreate a team§r, luego dale un nombre y posiblemente otros parámetros, y luego de crear un equipo con éxito, puedes invitar otros jugadores a este usando el botón de más en el circulo verde en la esquina superior derecha. Desde este punto, tus misiones serán sincronizadas y cualquier miembro del equipo será capaz de completarlas. ¡Buena suerte!", + "quests.tfg.capture_territory.title": "¿Cómo capturar territorio?", + "quests.tfg.capture_territory.subtitle": "Y cómo cargar chunks en tu territorio", + "quests.tfg.capture_territory.desc": "Si juegas en un servidor, querrás reclamar tu territorio para que otros jugadores no interfieran. Usa la tecla de Open Claims (\"Ctrl+M\" por defecto) para abrir la pestaña, luego haz click izquierdo para reclamar un chunk y click derecho para abandonarlo.\n\nThere is a limit to this, so you can't claim everything. You can shift-left-click on a chunk to forceload (aka \"chunk load\") it, and shift-right-click to un-forceload it. Claiming chunks will include your whole team, if you're using one.", + "quests.tfg.chunk_limit.title": "¿Cómo incremento mi límite de carga de chunks?", + "quests.tfg.chunk_limit.desc": "Si juegas en un servidor, por defecto solo tienes una pequeña cantidad de cargas de chunk disponibles.\n\nLos dueños de servidores pueden configurar esto (¡revisar el archivo README.txt!), pero si tienes permisos de operador (o tienes trucos activados), puedes también usar §a/ftbchunks admin extra_force_load_chunks @p set X§r, donde X es el nuevo límite.", + "quests.tfg.field_guide.title": "¡Información importante sobre las misiones!", + "quests.tfg.field_guide.subtitle": "¿Tengo que seguir leyendo?", + "quests.tfg.field_guide.desc": "Estas misiones siguen en desarrollo, y seguimos trabajando en mejorarlas! Montones de información sobre mecánicas específicas se encuentran en tu Guía de Campo, accesible através de la pestaña del libro tab en tu inventario.\n\nRecuerda que JEI y la Guía de Campo son tus amigos, ya que no todo estará explícito en las misiones.", + "quests.tfg.books_again.title": "¿Necesitas los libros de nuevo?", + "quests.tfg.books_again.desc": "Aquí hay una misión repetible si quieres copias físicas del libro de misiones y la Guía de Campo de nuevo." +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 08bcf52cb..4fd23cb52 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -2570,7 +2570,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.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 wood treating.\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.", + "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.", "quests.metal_age.coke_oven.desc.2": "Coke Ovens can be fully automated using a Coke Oven Hatch. The Hatch is placed on the sides of the Oven and work as both Inputs and Outputs for both Items and Liquids.\n\nYou can easly create a simple, one way Coke Oven by using a Crate for the input, a Chest for the output, and a Drum, Barrel, or Large Wooden Tank to collect the Creosote. Unlike Chests, Crates are able to store large objects such as Logs. You can also sneak and right-click GregTech pipes with a wrench to make them one-way.", "quests.metal_age.wrought_iron_goodies.title": "Wrought Iron level Mechanical Power", "quests.metal_age.wrought_iron_goodies.subtitle": "What's this \"Andesite Alloy\" you speak of?", @@ -3510,9 +3510,6 @@ "quests.tfg_tips.grappling_hook.title": "Grappling Hook", "quests.tfg_tips.grappling_hook.subtitle": "This is going to end poorly", "quests.tfg_tips.grappling_hook.desc": "By combining 2 pieces of &aRope Coil&r and a &bWrought Iron Pickaxe Head&r, you can create a &dGrappling Hook!&r An ideal tool for scaling big mountains, exploring large caves and traversing the world. It contains an &eupgrade system&r that allows you to combine and modify your &dHook&r to your leisure.", - "quests.tfg_tips.grapple_repair.title": "Grappling Hook Warnings", - "quests.tfg_tips.grapple_repair.subtitle": "READ ME, OR YOU MAY REGRET IT LATER!", - "quests.tfg_tips.grapple_repair.desc": "All your &dGrappling Hook&r &aupgrades&r are stored as NBT Data inside the item. This means trying to repair your hook using &canother&r Grappling Hook &l&cWILL destroy all your upgrades!&r\n\nInstead, you should place your &dGrappling Hook&r and some &bWrought Iron Dust&r in a &3Workbench&r to repair it.\n\nAlso, don't use your Grappling Hook when traveling between the Overworld and Beneath, it's rather deadly.", "quests.tfg_tips.grapple_upgrades.title": "Upgrading your Grappling Hook", "quests.tfg_tips.grapple_upgrades.subtitle": "Balanced around TFG, of course!", "quests.tfg_tips.grapple_upgrades.desc.1": "Upgrading your &dGrappling Hook&r consists of adding or removing items to it via the &3Workbench&r.&r\n\nTo see all the upgrades you can apply to your &dGrappling Hook&r, you can press the \"Usage\" key in &2EMI.&r\nEach of the custom recipes will contain text describing what changes are being applied.", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 879e317a5..09cf1c870 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -4223,9 +4223,6 @@ "quests.tfg_tips.grappling_hook.title": "グラップリングフック", "quests.tfg_tips.grappling_hook.subtitle": "スタイリッシュ!", "quests.tfg_tips.grappling_hook.desc": "&aRope_Coil&r2つと&b錬鉄製つるはしヘッド&rを組み合わせることで、&dグラップリングフック&rを作成できます。\n大きな山を登ったり、大きな洞窟を探索したり、世界中を冒険するのに非常に有用な道具です。\n&eアップグレード&rすることができ、&dフックの部品&rを自由に組み合わせて改造することができます。", - "quests.tfg_tips.grapple_repair.title": "グラップリングフックの警告", - "quests.tfg_tips.grapple_repair.subtitle": "これを読まないと後悔するかもしれません!", - "quests.tfg_tips.grapple_repair.desc": "&dグラップリングフック&rの&aアップグレード&rはすべて、アイテム内にNBTデータとして保存されます。つまり、&c別の&rグラップリングフックを使用してフックを修理しようとすると、&l&cすべてのアップグレードが破壊されます!&r\n\n代わりに、&dグラップリングフック&rと&b錬鉄の粉&rを&3作業台&rに置いて修理する必要があります。\n\nまた、オーバーワールドとBeneathの間を移動するときにグラップリングフックを使用しないでください。非常に危険です。", "quests.tfg_tips.grapple_upgrades.title": "グラップリングフックのアップグレード", "quests.tfg_tips.grapple_upgrades.subtitle": "TFGによる抜群の調整", "quests.tfg_tips.grapple_upgrades.desc.1": "&dグラップリングフック&rは、&3作業台&rでアイテムを追加または削除することで改造することができます。&r\n\n&dグラップリングフック&rに適用できるすべてのアップグレードは、&2EMI&rで用途を表示キーを押すことで確認できます。\nレシピには、どのような変更が適用されているかを説明するテキストが載っています。", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 1b2b2cb5e..ad9367eb4 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -2037,9 +2037,9 @@ "quests.gregtech_energy.moving.subtitle": "Перемещение энергии... Каво?", "quests.gregtech_energy.moving.desc": "Для того, чтобы понять, как перемещать энергию в GregTech сперва нужно понять несколько ключевых механик.\n\nВо-первых, &bуровни напряжения&r. От &aLV&r до &cUHV&r, все в GregTech — провода, машины, рецепты — привязано к уровню напряжения. Тебе нужен будет &eправильный материал провода&r для перемещения энергии. Например:\n&8•&r Оловянный провод = &aLV&r\n&8•&r Медный провод = &bMV&r\n\nВо-вторых, есть механика &bАмпеража&r. 1 ампер (или 1А) можно представить в виде &eпакета энергии&r. Машины запращивают эти \"пакеты\" энергии, которые перемещаются по проводу.\n&8•&r 1A LV = &a32 EU&r\n&8•&r 1A HV = &e512 EU&r\n\nБольшинство машин запрашивают до &62A максимум&r.\n\nПонимание этих двух идей - ключ к правильному распределению энергии.", "quests.gregtech_energy.moving.task": "Я понял", - "quests.gregtech_energy.transformer.title": "Супер трансформер(трансформатор)", + "quests.gregtech_energy.transformer.title": "Супер трансформер", "quests.gregtech_energy.transformer.subtitle": "Лучше Оптимуса Прайма", - "quests.gregtech_energy.transformer.desc": "Для каждой проблемы у GregTech есть свое мультиблочное решение. Представляем вам &dАктивный трансформатор&r.\n\nЭтот зверь - ваш ультымативный трансформатор. Он может передавать энергию любого уровня — от &aLV&r до &cUHV&r, и без взрывов. И это даже не лучшее.\n\nОн может передавать энергию с помощью Передающих лазерных кабелей.\n&8•&r Лазеры передают огромное колличество ампер.\n&8•&r Без потерь. Без проводов. Просто чистая энергия.\n&8•&r Но есь нюанс: он &c может передавать энергию только по прямой&r.\n\nКогда кабелей не достаточно, &lиспользуй лазеры.", + "quests.gregtech_energy.transformer.desc": "Для каждой проблемы у GregTech есть свое мультиблочное решение. Представляем вам &dАктивный трансформатор&r.\n\nЭтот зверь - ваш ультимативный трансформатор. Он может передавать энергию любого уровня — от &aLV&r до &cUHV&r, и без взрывов. И это даже не лучшее.\n\nОн может передавать энергию с помощью Передающих лазерных кабелей.\n&8•&r Лазеры передают огромное колличество ампер.\n&8•&r Без потерь. Без проводов. Просто чистая энергия.\n&8•&r Но есть нюанс: он &c может передавать энергию только по прямой&r.\n\nКогда кабелей не достаточно, &lиспользуй лазеры.", "quests.gregtech_energy.moving_wire.title": "Перемещение с помощью проводов", "quests.gregtech_energy.moving_wire.subtitle": "Затейливы при размещении", "quests.gregtech_energy.moving_wire.desc": "Перемещать энергию в GregTech может быть каверзно — &bбольшинство проводов имеют потери&r. За каждый блок, за каждый ампер, ты можешь терять энергию по мере прохождении энергии через провода. Не бойся, этому есть решение:\n\n&8•&r Покрой свои провода резиной. Таким образом ты значительно снизишь потери с расстоянием. Посмотри квестовые предметы для примера.\n\n&8•&r Используй кабели более высокого напряжения. Платиновый кабель, например, теряет лишь 1 EU за блок — практически ничего по сравнению с 8192 EU, которые он может переместить.\n\n&8•&r &bСверхпроводники&r. Эти красавцы дороговатые, но они &9без потерь&r. Им не нужна изоляция и они не будут бить тебя током. Однако стоит знать, что обычно возможность их скрафтить появляется только в конце тира.\n\nОптимизируй потоки энергии — &bуменьши потери&r и делай свои системы более энергоэффективными.", @@ -2414,7 +2414,7 @@ "quests.high_voltage.final_dust.title": "Бесконечная пыль", "quests.high_voltage.final_dust.subtitle": "Наконец-то! Безграничные ресурсы", "quests.high_voltage.final_dust.desc": "Это все &cбесконечные ресурсы&r, которые вы можете получить на &7Луне&r до разблокировки более продвинутой переработки на &eВенере&r.\n\nС их помощью у вас будет всё необходимое для дальнейшего прогресса в &dGregTech&r — особенно для обеспечения &aобслуживания&r вашей Лунной базы.\n\nЭти ресурсы необходимы для:\n• Создания &dкомпонентов AE2&r\n• Производства &cбесконечного&r запаса &6Боеприпасов для Рельсотрона&r\n\nПассивная автоматизация теперь в ваших руках — сделайте этот шаг и воплотите её в жизнь!", - "quests.low_voltage": "&7LV&r - Low Voltage (Низкий Вольтаж)", + "quests.low_voltage": "&7LV&r - Низкое Напряжение", "quests.low_voltage.subtitle": "Подчините электричество и начните свое путешествие в GregTech", "quests.low_voltage.lv_machine_hull.title": "Корпус вашей второй машины", "quests.low_voltage.lv_machine_hull.subtitle": "Пришло время заняться электричеством.", @@ -2492,7 +2492,7 @@ "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 жидкости.", + "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.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": "Автоматический вывод из машины", @@ -2502,7 +2502,7 @@ "quests.low_voltage.machine_auto_output_behaviour.task": "Хм, как интересно!", "quests.low_voltage.programmed_circuits.title": "Интегральные схемы", "quests.low_voltage.programmed_circuits.subtitle": "Не хочешь тратить свои схемы на выбор крафтов?", - "quests.low_voltage.programmed_circuits.desc.1": "Нажав на &rслот конфигурации схемы в машинах&r, вы можете создать &bпризрачную запрограммированную схему&r. \n\nЭто фиктивная схема, которая позволяет выбирать заданную конфигурацию для рецептов. Теперь нет необходимости тратить ваши схемы на создание &bзапрограммированных схем&r. \n\n&dЭлектрические машины&r и &dInput bus&r предметов будут иметь слот для призрачной схемы.", + "quests.low_voltage.programmed_circuits.desc.1": "Нажав на &rслот конфигурации схемы в машинах&r, вы можете создать &bпризрачную запрограммированную схему&r. \n\nЭто фиктивная схема, которая позволяет выбирать заданную конфигурацию для рецептов. Теперь нет необходимости тратить ваши схемы на создание &bзапрограммированных схем&r. \n\n&dЭлектрические машины&r и &dПредметные входные люки&r будут иметь слот для призрачной схемы.", "quests.low_voltage.programmed_circuits.desc.2": "&l&3Лор:&r&o Эта функция изначально из GTNH.", "quests.low_voltage.programmed_circuits.task": "Я разобрался, мне не нужно крафтить схемы", "quests.low_voltage.lv_conveyor.title": "Модуль конвейера LV", @@ -3406,7 +3406,7 @@ "quests.steam_age.steel_millstone.desc": "С гораздо большей кинетической ёмкостью стальной жёрнов является отличным улучшением по сравнению с базовым, позволяя вращать его быстрее и дробить руды эффективнее. Отличное обновление для всех новых руд, которые скоро появятся!\n\nОднако, как и прежде, выход всё ещё идёт только в первый слот в JEI.", "quests.steam_age.steel_pump.title": "Работа с Жидкостями", "quests.steam_age.steel_pump.subtitle": "Вкусные трубы-спагетти", - "quests.steam_age.steel_pump.desc.1": "С наступлением Стальной Эпохи ты теперь можешь автоматизировать не только предметы, но и жидкости! &3Механический Насос&r способен выкачивать жидкости практически из чего угодно — бочек, тиглей и даже из самих источников. Его можно использовать как с трубами из Create, так и с трубами из GregTech, хотя их поведение немного отличается.", + "quests.steam_age.steel_pump.desc.1": "С наступлением Стальной Эпохи ты теперь можешь автоматизировать не только предметы, но и жидкости! &3Механическая помпа&r способна выкачивать жидкости практически из чего угодно — бочек, тиглей и даже из самих источников. Его можно использовать как с трубами из Create, так и с трубами из GregTech, хотя их поведение немного отличается.", "quests.steam_age.steel_pump.desc.2": "Трубы из Create не имеют внутреннего объёма, а переносят жидкость напрямую от источника к получателю. Щёлкни по ним медной облицовкой, чтобы «зафиксировать» соединения, а с помощью гаечного ключа можно открыть маленькое окошко, которое блокирует перекрёстные соединения — так можно прокладывать несколько труб рядом. Для работы труб Create требуется механический насос, и у каждого насоса дальность всего 16 блоков, но один насос может забирать жидкость сразу из нескольких источников.\nУ них также &9нет температурного лимита!&r", "quests.steam_age.steel_pump.desc.3": "Трубы из GregTech, наоборот, имеют свой внутренний объём и не нуждаются в насосе, если жидкость уже внутри. Как и предметные трубы, соединения можно настраивать — присядь и кликни по ним с пустой второй рукой, чтобы включить или отключить стороны. Рекомендуется сделать это на всех трубах, иначе жидкость будет «болтаться» внутри.\n\nНе соединяются механический насос и трубы GregTech? Просто дважды переверни насос (ПКМ с гаечным ключом), и всё заработает!", "quests.steam_age.mold_table.title": "Автоматизация Доменной Печи", @@ -3533,9 +3533,9 @@ "quests.steam_age.steel_saw.subtitle": "Камнерез и LV Резочная Машина в одном!", "quests.steam_age.steel_saw.desc": "Это улучшение вашей Базовой Механической Пилы, которое также может обрабатывать некоторые металлические рецепты, например, превращать прутья в четыре болта и распиливать блоки на пластины. Для работы всех этих рецептов требуется жидкость, но пока можно использовать воду.\n\nТакже её можно использовать для более дешёвых резиновых листов, если сначала использовать Печь для Сплавов, чтобы превратить вашу массу в блок.", "quests.steam_age.rolling_mill.title": "Прокатный Станок", - "quests.steam_age.rolling_mill.subtitle": "The other half of the LV Bender", - "quests.steam_age.rolling_mill.desc.1": "Of all the steam age machines you could make, the &3Rolling Mill&r is one of the best, for the simple reason that it makes single plates out of single ingots. It can also make thin sheets cheaper than by hand, as a bonus!", - "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.rolling_mill.subtitle": "Вторая половинка LV прокатного станка", + "quests.steam_age.rolling_mill.desc.1": "Среди всех машин, которые ты можешь сделать в паровом веке, &3Прокатный Станок&r одна из лучших, по промтой причине, что он может делать пластины 1 к 1. Он также может делать фольгу дешевле чем руками, как бонус!", + "quests.steam_age.rolling_mill.desc.2": "&l&Предистория:&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": "Стальной Механический Смеситель — это ещё одна из лучших машин Паровой Эпохи. Он может смешивать цветные стальные порошки гораздо эффективнее, чем Тигель! Он также способен выполнять множество других рецептов, включая некоторые с газами… особо об этом не задумывайтесь.\n\nДля рецептов, требующих нагрева, можно использовать Charcoal Forge или Горелку Всполоха, а Механическая Рука может автоматически подбрасывать топливо в любую из них.", @@ -3570,6 +3570,10 @@ "quests.steam_age.steel_mech_press.subtitle": "Почти как Кузнечный Молот", "quests.steam_age.steel_mech_press.desc.1": "Кузнечный Молот Высокого Давления совсем рядом и может делать почти всё, что умеет эта машина, но если вам срочно нужны рецепты более высокого уровня для автоматической сварки, это ваш шанс.\n\nЕсли вы не знакомы с Кузнечным Молотом, он и Стальной Механический Пресс могут дробить руды (без побочных продуктов), превращать камень в булыжник, затем в гравий и песок, а также ломать кирпичи. Однако только Кузнечный Молот предлагает &3дешевый рецепт металлических пластин&r...", "quests.steam_age.steel_mech_press.desc.2": "&l&3История:&r&o Механический Пресс Create раньше был ключевым элементом прогрессии поздней Паровой Эпохи до версии 0.9 TerraFirmaGreg, потому что производил пластины по ещё лучшему соотношению 5 к 4. Однако его реализация была фактически «20 процентов времени вы ничего не получаете», что заставляло многих утверждать, как им нравится азарт при его использовании.", + "quests.steam_age.supers.title": "Супер сундуки и Супер резервуары", + "quests.steam_age.supers.subtitle": "Супер ящики", + "quests.steam_age.supers.desc": "Это &cул&6ьт&eим&aа&bт&9и&5вн&4ые&r переносные хранилища предметов или жидкостей станут хорошим решением, если у тебя есть множество жидкости или предметов одного типа. Хотя эти &dбазовые&r (&8ULV&r) варианты изначально довольно маленькие, более высокие уровни Супер сундуков и Супер резервуаров могут вмещать просто безумное количество всего — и всё это в одном единственном блоке, без какого-либо учёта температуры или кислотности!/n/n Как и бочки, Супер сундуки и Супер резервуары &6сохраняют своё содержимое при разрушении&r, могут быть очищены в крафтовом меню и умеют автоматически удалять излишки. В отличие от бочек, однако, Супер резервуары также &aбезопасно сохраняют&r своё содержимое, не давая тебе обжечься, замёрзнуть или начать взлетать./n/nЕсли тебе хочется &9ещё больше&r места для хранения, обрати внимание на Квантовые супер сундуки и Супер резервуары более высоких тиров или ячейки хранения AE2.", + "quests.steam_age.supers.task": "Любой супер сундук или супер резервуар", "quests.stone_age": "Каменный век", "quests.stone_age.subtitle": "Скромные истоки", "quests.stone_age.foods.title": "Голодный?", @@ -3772,6 +3776,8 @@ "quests.tfg.capture_territory.title": "Как занять территорию?", "quests.tfg.capture_territory.subtitle": "И как загрузить чанки на вашей территории", "quests.tfg.capture_territory.desc": "Если вы играете на сервере, вы, вероятно, захотите занять свою территорию, чтобы другие игроки не смогли вам помешать. Используйте клавишу \"Менеджер владений\" (по умолчанию \"Ctrl+M\"), чтобы открыть интерфейс, затем нажмите ЛКМ, чтобы занять участок, и ПКМ, чтобы отменить владение. Существует ограничение, поэтому вы не сможете занять всё. Вы можете нажать Shift+ЛКМ по участку, чтобы принудительно загрузить его (известный как \"загрузчик чанков\"), и Shift+ПКМ, чтобы отменить принудительную загрузку. Владение чанками будет включать всю вашу команду, если она у вас есть.", + "quests.tfg.chunk_limit.title": "Как увеличить колличество подгружаемых чанков?", + "quests.tfg.chunk_limit.desc": "Если ты играешь на сервере, по умолчанию у тебя есть лишь небольшое колличество подгружаемых чанков.\n\nВладельцы серверов могут изменить это (проверь файл README.txt!), но если у тебя есть права администратора (или включенные читы), ты также можешь использовать команду &a/ftbchunks admin extra_force_load_chunks @p set X&r, где X - новое ограничение.", "quests.tfg.field_guide.title": "Важная информация насчет квестов!", "quests.tfg.field_guide.subtitle": "Мне нужно ещё больше читать?", "quests.tfg.field_guide.desc": "Квесты все ещё находятся на стадии разработки, и мы постоянно работаем над их улучшением! Много информации о конкретных механиках также можно найти в вашем полевом руководстве, доступном через вкладку в виде книги в вашем инвентаре.\n\nПомните, что JEI и Полевое руководство — ваши друзья, так как не всё будет объяснено в квестах.", @@ -3779,9 +3785,9 @@ "quests.tfg.books_again.desc": "Вот повторяющийся квест, если вы вновь захотите получить физические копии книги квестов и полевого руководства.", "quests.tfg_tips": "Советы - Выживание", "quests.tfg_tips.subtitle": "Советы и рекомендации, чтобы жилось чуть проще.", - "quests.tfg_tips.beginning.title": "Tips and Tricks be here!", - "quests.tfg_tips.beginning.subtitle": "Dear God that's a lot of branches...", - "quests.tfg_tips.beginning.desc": "This quest chapter gives you a lot, &o(and we do mean a lot)&r of tips on how to survive and thrive.\n\nEach quest branch representing major mods in &2TerraFirmaGreg&r, with tips to make the most out of them. None of these quests are necessary for progression, although some &omay&r be locked behind main questline tasks.", + "quests.tfg_tips.beginning.title": "Здесь вы найдете советы и рекомендации!", + "quests.tfg_tips.beginning.subtitle": "О боже, здесь много ответвлений...", + "quests.tfg_tips.beginning.desc": "Эта глава даст вам множество (и мы действительно имеем в виду множество) советов о том, как выжить и преуспеть.\n\nКаждая ветвь квеста представляет собой основные модификации в &2TerraFirmaGreg&r, с советами, как извлечь из них максимальную пользу. Ни один из этих квестов не является обязательным для прохождения игры, хотя некоторые из них могут быть заблокированы за выполнением заданий основной сюжетной линии.", "quests.tfg_tips.portable_storage.title": "Переносимые хранилища", "quests.tfg_tips.portable_storage.subtitle": "Оказывается, ваш инвентарь довольно мал.", "quests.tfg_tips.portable_storage.desc": "Во время путешествий вы можете исследовать &oмногое&r и в итоге собрать кучу хлама. Эта ветка квестов предлагает несколько вариантов расширения вашего инвентаря для похода.", @@ -3792,6 +3798,21 @@ "quests.tfg_tips.maxed_out_toolbelt.subtitle": "Похоже, этот пояс теперь весит очень много...", "quests.tfg_tips.maxed_out_toolbelt.desc": "&dПояс с инструментами&r может вместить 7 дополнительных сумок, целых 9 инструментов в одном поясе!", "quests.tfg_tips.maxed_out_toolbelt.task": "Получите полностью улучшенный пояс.", + "quests.tfg_tips.straw_basket.title": "Straw Basket", + "quests.tfg_tips.straw_basket.subtitle": "Проще некуда", + "quests.tfg_tips.straw_basket.desc": "&6Straw Basket&r это простая корзина, которая может быть невероятно полезной для управления инвентарём, пока более продвинутые варианты ещё недоступны.\n\nПросто оббей солому, чтобы получить свою собственную &6Straw Basket&r!", + "quests.tfg_tips.toolbox.title": "Ящики для инструментов", + "quests.tfg_tips.toolbox.subtitle": "Мечта строителей", + "quests.tfg_tips.toolbox.desc": "&dЯщик для инструментов&r имеет 8 слотов инвентаря, и каждый из них может хранить до 4 стаков предметов. Кроме того, ты можешь использовать &cклавишу быстрого доступа&r, чтобы открывать установленный &dящик для инструментов&r с расстояния в несколько блоков. Ты даже можешь &bпокрасить&r свой &dящик для инструментов&r, чтобы персонализировать его!", + "quests.tfg_tips.first_sacks.title": "Sacks для хранения", + "quests.tfg_tips.first_sacks.subtitle": "Следующий шаг после кувшинов", + "quests.tfg_tips.first_sacks.desc": "&6Leather Sack&r и &3Burlap Sack&r — это два варианта переносного хранилища, каждый со своими плюсами и минусами. Хорошей идеей будет посмотреть информацию о контейнере для каждого из них, чтобы узнать количество &dслотов для предметов&r, &dразмер стака&r и максимальный &dразмер предметов&r для каждого мешка.\n\n&l&3Совет:&r В &4&oПолевом справочнике&r есть более подробная информация о некоторых особых возможностях этих мешков.", + "quests.tfg_tips.special_sacks.title": "Специализированные Sacks", + "quests.tfg_tips.special_sacks.subtitle": "Подождите, сколько он может вместить?", + "quests.tfg_tips.special_sacks.desc": "&2Seed Pouch&r и &9Ore Sack&r — это два мешка, которые могут хранить только определённые типы предметов, но компенсируют это значительно &dбольшими размерами стаков&r.\n\n&2Seed Pouch&r может хранить до &c128&r штук &327&r различных видов семян.\n\n&9Ore Sack&r может хранить до &c512&r штук &39&r различных добытых ресурсов. Это значит, что в нём можно хранить такие предметы, как руды, камни, порошки и глины!", + "quests.tfg_tips.frame_pack.title": "Frame Pack", + "quests.tfg_tips.frame_pack.subtitle": "Наличие выбора — это хорошо!", + "quests.tfg_tips.frame_pack.desc": "&5Frame Pack&r даёт тебе &318&r слотов, каждый из которых может хранить до &c64&r предметов. Преимущество &5Frame Pack&r в том, что он игнорирует стандартный размер стака у предметов, которые ты в него кладёшь. Это значит, что всего ты можешь носить с собой до &c1152&r предметов!", "quests.tfg_tips.vessels.title": "Большие и маленькие сосуды", "quests.tfg_tips.vessels.subtitle": "Глина может быть вполне полезной", "quests.tfg_tips.vessels.desc": "&dМаленькие сосуды&r имеют 4 слота под хранение, в то время как &6Большой сосуд&r обладает целыми 9! &dМаленький сосуд&r нужен не только для хранения вещей, но также необходим для плавки и создания сплавов основных металлов.\n&6Большой сосуд&r тяжелее для переноски, но отлично подходит для сохранения еды.\n\n&l&3Совет:&r&o Большие сосуды можно использовать как рюкзаки на ранних этапах!", @@ -3843,6 +3864,46 @@ "quests.tfg_tips.magnets.title": "Предметный Магнит", "quests.tfg_tips.magnets.subtitle": "Притянет ваше барахло", "quests.tfg_tips.magnets.desc": "&6Предметный Магнит&r — это именно то о чем думаешь: магнит, который притягивает рядом лежащие &6предметы&r прямо к тебе. &aОчень полезно&r. Что ещё нужно?", + "quests.tfg_tips.gt_power_tools.title": "Электрические инструменты", + "quests.tfg_tips.gt_power_tools.subtitle": "Мужики думают только об одном, и это отвратительно!", + "quests.tfg_tips.gt_power_tools.desc.1": "Как и положено хорошему техномоду, &5GregTech&r предлагает широкий набор &6инструментов&r, которыми ты можешь пользоваться. Чтобы они работали, их нужно &aзаряжать энергией&r — и способов для этого несколько: положи инструмент в &6Батарейный буфер&r, в &dэнергетический слот&r машины или, что ещё лучше, используй &eзарядное устройство&r.\n\nПросто помни: ты можешь заряжать предмет только от источника энергии &7того же&r или &aболее высокого тира&r. &cИсточники более низкого тира&r не смогут зарядить инструменты высокого уровня — но не переживай, &cничего не должно взорваться&r. Наверное.", + "quests.tfg_tips.gt_power_tools.desc.2": "Большинство инструментов &5GregTech&r создаются из &6блоков питания&r. Попробуй воспользоваться &aEMI&r, чтобы посмотреть, что ты можешь с ними сделать — просто помни две важные вещи:\n\n- &eЧем выше тир блока питания&r, тем &cмощнее&r будет инструмент и тем &6большую батарею&r он будет использовать.\n- Не каждый инструмент поддерживает все тиры блоков питания. Например, &6Электропилу&r можно создать только с &7LV блоком питания&r.", + "quests.tfg_tips.long_distance_items.title": "Предметный трубопровод", + "quests.tfg_tips.long_distance_items.subtitle": "Задумываешься, как перемещать всю эту руду?", + "quests.tfg_tips.long_distance_items.desc": "&3Предметный трубопровод&r можно использовать для передачи предметов на большие расстояния. Установи по одному концу на каждой стороне и соедини их блоками трубопровода.\n\nЭти трубы мгновенно передают предметы со стороны входа на сторону выхода. \n\nТакже у них есть минимальная дистанция между концами труб, так что использовать их для коротких расстояний не получится.", + "quests.tfg_tips.long_distance_fluids.title": "Жидкостный трубопровод", + "quests.tfg_tips.long_distance_fluids.subtitle": "Задумываешься, как перемещать всю эту нефть?", + "quests.tfg_tips.long_distance_fluids.desc": "&3Жидкостный трубопровод&r можно использовать для передачи жидкостей на большие расстояния. Установи по одному концу на каждой стороне и соедини их блоками трубопровода.\n\nЭти трубы мгновенно передают жидкость со стороны входа на сторону выхода.\n\nТакже у них есть минимальная дистанция между концами труб, так что использовать их для коротких расстояний не получится.\n\nЭти трубы известны своей &4глючностью&r при настройке. Если они не работают с первого раза, попробуй повернуть концы с помощью &eГаечного ключа&r.", + "quests.tfg_tips.crates.title": "GregTech хранилища", + "quests.tfg_tips.crates.subtitle": "Буферы на ранней стадии игры", + "quests.tfg_tips.crates.desc": "В теории, Ящики — это прямое улучшение сундуков. Один блок, который хранит больше предметов — чего ещё можно желать?\n\nОни дороже обычных сундуков и не могут быть присоединены к механизмам Create, но могут хранить предметы любого размера и могут &6принимать улучшения механизмов&r, что делает их отличными кандидатами на буферы в автоматизации.", + "quests.tfg_tips.tape.title": "Скотч для ящиков", + "quests.tfg_tips.tape.subtitle": "Перемещение вещей", + "quests.tfg_tips.tape.desc": "Ты можешь кликнуть ПКМ по Ящику с помощью ленты — после этого ящик будет сохранять своё содержимое при разрушении, что делает его удобным для перемещения. Однако каждая лента работает только один раз.\n\nХорошо, что она дешёвая!", + "quests.tfg_tips.terminal.subtitle": "Автоматический строитель мультиблоков", + "quests.tfg_tips.terminal.desc": "&bТерминал&r имеет одну основную цель, и &aмы настоятельно советуем тебе его скрафтить&r.\n\nСтроительство всех этих &eмультиблоков&r может выглядеть довольно &cпугающе&r, правда? Тогда вот совет: используй &dShift + ПКМ&r по любому &6контроллеру мультиблока&r, чтобы &aавтоматически собрать всю структуру&r!\n\nВозможно, тебе придётся &eпереместить некоторые люки&r под свою схему, но в целом эта функция сэкономит тебе &aкучу времени&r.", + "quests.tfg_tips.memory_card.subtitle": "Ctrl+C Ctrl+V", + "quests.tfg_tips.memory_card.desc": "Когда ты пытаешься &aраспараллелить свою систему&r, добавляя больше машин, настройка всех &eвходов&r и &eвыходов&r для каждой из них может сильно раздражать. Да-да, мы смотрим на вас, &dСупер сундуки&r и &dСупер резервуары&r.\n\nЕсли тебе когда-нибудь понадобится этот небольшой инструмент, не стесняйся им пользоваться.", + "quests.tfg_tips.portable_scanner.subtitle": "Для любопытных игроков GregTech", + "quests.tfg_tips.portable_scanner.desc.1": "&aПортативный сканер&r, он же &aТрикодер&r, — это отладочный инструмент GTCEu.\n\nПри использовании он покажет тебе информацию о блоке, данные об энергетической сети, его текущее состояние и содержимое, а также влияние на производительность.\n\nТакже он отображает процент оставшейся жидкости в жиле для &3жидкостных буровых установок&r.", + "quests.tfg_tips.portable_scanner.desc.2": "&l&3Предистория:&r&o Этот маленький полезный девайс пришёл из GregTech 5. В ранние времена он был крайне полезен, потому что GUI и WAILA давали очень мало информации (по сути — почти никакой).", + "quests.tfg_tips.duct_tape.subtitle": "Если это не помогает, используйте больше этого!", + "quests.tfg_tips.duct_tape.desc": "Возможно, ты уже заметил, что большинству &eмультиблоков&r требуется &6люк обслуживания&r. До &6HV&r, когда ты сможешь получить &aавтоматический люк обслуживания&r, ты можешь использовать этот предмет, чтобы чинить люк, не применяя все инструменты для обслуживания.\n\nЭто может быть очень полезно, если ты пока не хочешь вкладываться в &aавтоматический люк обслуживания&r или если ты просто &cещё не дошёл до этого&r.", + "quests.tfg_tips.gt_filters.title": "Фильтры", + "quests.tfg_tips.gt_filters.desc": "С &5GregTech&r ты получаешь доступ к различным &6фильтрам&r, которые помогают упростить &aавтоматизацию&r. Все они совместимы с разными &dулучшениями машин&r, о которых ты узнаешь больше в главе &7LV&r.\n\nЗдесь мы представляем ещё два более специализированных фильтра, которые могут оказаться &bполезными&r в определённых ситуациях.\n\nЧтобы использовать фильтр, просто установи его как &dулучшение машины&r на любую &5GT машину&r или &6трубу&r.", + "quests.tfg_tips.smart_item_filter.subtitle": "Тук, тук - кто там? Это MENSA!", + "quests.tfg_tips.smart_item_filter.desc.1": "В этом квесте мы даруем тебе &5проклятую мудрость&r… способность легко автоматизировать Электролизёр.\n\n&9Умный предметный фильтр&r — это фильтр, который распознаёт карты рецептов. Если установить его на сторону машины, ты можешь выставить режим «&3Электролизёр&r», и он будет пропускать только предметы, подходящие для электролиза. Да-да — никакой ручной фильтрации!\n\nИ это ещё &aне предел&r. Если объединить этого красавца с &aРоборукой&r, она будет подавать в машину &6ровно то количество&r предметов, которое требуется для успешного рецепта.", + "quests.tfg_tips.smart_item_filter.desc.2": "Установи &aРоботизированный манипулятор&r на свой Электролизёр, открой его GUI, затем помести внутрь &9Умный фильтр&r. Убедись, что Умный фильтр настроен на Электролизёр.\n\nДалее настрой его на &d&lИмпорт&r и &d&lТочная подача&r. После этого подключи любой инвентарь &7(подойдёт обычный сундук)&r к той стороне, где ты установил &aРоботизированный манипулятор&r. Та-дам! Ты разобрался, как обрабатывать &6все&r рецепты Электролизёра!\n\nА что насчёт вывода &3Электролизёра&r? Скорее всего, тебе захочется направить жидкости в несколько резервуаров — или даже в &3Супер резервуары&r, если ты уже до них добрался. Мы настоятельно рекомендуем избегать любых методов, связанных с удалением жидкостей.&7.&8. за исключением воды по очевидным причинам.", + "quests.tfg_tips.smart_item_filter.desc.3": "&9Примечание:&r Роботизированный манипулятор должен сам выполнять перенос предметов, чтобы его фильтрация работала! Если вставлять предметы напрямую в машину &7(например, заталкивая их воронкой!)&r, настройка &dТочная подача&r Роботизированного манипулятора будет проигнорирована.", + "quests.tfg_tips.hazard_materials.title": "Опасные материалы", + "quests.tfg_tips.hazard_materials.subtitle": "Опасность удушья, для детей от 3 лет.", + "quests.tfg_tips.hazard_materials.desc": "С новой версией &5GregTech&r была введена &cсистема опасностей&r. Зажав &dShift&r и наведя курсор на &cопасные материалы&r, ты можешь увидеть, как именно они могут на тебя повлиять.\n\nМы настоятельно рекомендуем использовать подходящее &6защитное снаряжение&r, чтобы сохранить свои &cорганы в целости&r.", + "quests.tfg_tips.face_mask.desc": "&6Медицинская маска&r защитит тебя от &cвдыхания опасной пыли&r. Она &aдовольно легко крафтится&r и должна предотвратить проблемы при работе с &5мышьяком&r.", + "quests.tfg_tips.rubber_gloves.desc": "&6Резиновые перчатки&r, разумеется, защитят тебя от &cопасностей при контакте с кожей&r. Сделать их можно двумя способами: &7более долгим и сложным путём&r через &2TerraFirmaCraft&r или гораздо &aболее простым способом&r с помощью &6Паровой печи для сплавов высокого давления&r.", + "quests.tfg_tips.hazmat.title": "Защитный костюм для работы с опасными материалами", + "quests.tfg_tips.hazmat.desc": "&6Костюм для работы с опасными материалами&r — это лучший способ защитить себя от &cлюбого вида вреда&r. Ты сможешь скрафтить его, достигнув &bMV&r, и &aтебе определённо стоит найти время, чтобы это сделать&r.", + "quests.tfg_tips.armor.title": "Броня GregTech", + "quests.tfg_tips.armor.desc": "Вместе с &5GregTech&r ты получаешь собственную линейку брони. Конечно, раньше было круто носить &7металлические пластины&r, но теперь, когда ты &bиндустриальный маньяк&r, возможно, пришло время взглянуть на &aтехнологичную броню&r.\n\n&5GregTech&r предлагает две модели. Первая становится доступной примерно на &6HV&r и обеспечивает защиту лучше, чем всё, что ты носил раньше. Она оснащена &eмощной изоляцией&r, чтобы выдерживать суровый климат Земли, и её даже можно улучшить, добавив &dреактивный ранец&r.\n\nВторая модель станет доступна значительно позже — примерно на &1IV&r и &dLuV&r.", "quests.tfg_tips.terrafirmacraft.title": "Аддоны TerraFirmaCraft", "quests.tfg_tips.terrafirmacraft.subtitle": "Остальные две трети названия сборки", "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&r — один из основных модов в составе &2TerraFirmaGreg.&r Эта ветвь в основном сосредоточена на некоторых функциях выживания и других &dАддонах&r, присутствующих в сборке, таких как &4Aged Alcohol&r и &bCanes&r.", @@ -3850,6 +3911,14 @@ "quests.tfg_tips.cane.subtitle": "Ими даже можно стукнуть кого-нибудь!", "quests.tfg_tips.cane.desc": "&dТрость&r позволяет полностью игнорировать любые блоки, замедляющие движение, такие как &aснег&r, если вы держите ее в &cосновной&r или &cвторостепенной руке&r. Вдобавок она &bповышает высоту шага&r — другими словами, вы сможете подниматься на один блок без прыжка. А &dЖелезная трость&r даже позволяет перешагивать через заборы!", "quests.tfg_tips.cane.task": "Любая Трость", + "quests.tfg_tips.hiking.title": "Hiking Boots", + "quests.tfg_tips.hiking.subtitle": "&oЭти ботинки сделаны для ходьбы", + "quests.tfg_tips.hiking.desc": "&dHiking Boots&r позволяют тебе проще исслежовать твой мир! Все &dHiking Boots&r позволяют проходить через высокую траву без замедления. Дополнительно, каждый новый уровень &dHiking Boots&r дает больше &9брони&r, &9скорости передвижения&r, и &9сопротивления к паденяим&r.", + "quests.tfg_tips.hiking.task": "Любые Hiking Boots", + "quests.tfg_tips.feeding_troughs.title": "Кормушки", + "quests.tfg_tips.feeding_troughs.subtitle": "Металлический батрак", + "quests.tfg_tips.feeding_troughs.desc": "Кормушки (также известные как станции ухода) — это способ автоматически кормить твоих животных каждое утро. В них даже есть опция не кормить животных, у которых уже максимальный уровень привязанности, если ты не хочешь их разводить.\n\nБолее высокие тиры имеют больший радиус действия.\n\n&3&lСовет:&r&o Лучше не ставь такую вплотную к забору — иначе животные могут попытаться использовать её, чтобы сбежать из загона!", + "quests.tfg_tips.feeding_troughs.task": "Любая кормушка", "quests.tfg_tips.glassblowing.title": "Выдув стекла", "quests.tfg_tips.glassblowing.subtitle": "Реалистичное стеклоделие!", "quests.tfg_tips.glassblowing.desc": "Для создания любого вида &dстеклянной панели&r или &dблока&r, вам потребуется оборудование для &3выдувания стекла.&r\n\n&3Выдувание стекла&r требует &aТрубку стеклодува&r и платформы, сделанной из специальных блоков для стеклодувного дела, чтобы заливать расплавленное стекло. Обратитесь к &2Полевому руководству&r для получения информации о форме платформы и допустимых блоках. Вы сможете заниматься стеклодувным делом, как только научитесь обрабатывать &aлатунь!&r", @@ -3956,9 +4025,6 @@ "quests.tfg_tips.grappling_hook.title": "Крюк-кошка", "quests.tfg_tips.grappling_hook.subtitle": "Это плохо кончится", "quests.tfg_tips.grappling_hook.desc": "Объединив 4 штуки &aВитой веревки&r и &bОголовье кирки из кованого железа&r, вы сможете создать &dКрюк-кошку!&r Отличный инструмент для восхождения на горы, исследования пещер и перемещения по миру. Он поддерживает &eсистему улучшений&r, позволяющую комбинировать и настраивать &dКрюк&r по своему вкусу.", - "quests.tfg_tips.grapple_repair.title": "Ремонт вашего крюка", - "quests.tfg_tips.grapple_repair.subtitle": "ПРОЧТИ МЕНЯ, ИНАЧЕ ПОЖАЛЕЕШЬ ПОЗЖЕ!", - "quests.tfg_tips.grapple_repair.desc": "Все ваши &aулучшения&r &dКрюк-кошки&r хранятся в виде NBT-данных внутри предмета. Это означает, что попытка отремонтировать Крюк с помощью &cдругой&r Крюк-кошки &l&cУНИЧТОЖИТ все ваши улучшения!&r\n\nВместо этого вам следует поместить вашу &dКрюк-кошку&r и &bПыль кованого железа&r в &3верстак&r, чтобы отремонтировать ее.", "quests.tfg_tips.grapple_upgrades.title": "Улучшение вашей Крюк-кошки", "quests.tfg_tips.grapple_upgrades.subtitle": "Сбалансировано под TFG, разумеется!", "quests.tfg_tips.grapple_upgrades.desc.1": "Улучшение вашей &dКрюк-кошки&r состоит в добавлении или удалении предметов с помощью &3Верстака&r.&r\n\nЧтобы посмотреть все улучшения, которые вы можете применить к своей &dКрюк-кошки&r, нажмите клавишу \"Посмотреть применения\" в &2EMI.&r\nКаждый из кастомных рецептов будет содержать текст с описанием применяемых изменений.", @@ -4400,7 +4466,7 @@ "quests.tfg_tips.piglin_disguise.desc": "Чувствуете себя чужаком?\n &4Пиглины&r задирают вас в школе из-за внешности?\n Попробуйте надеть &aМаскировку пиглина&r — это отведет от вас лишнее внимание и поможет слиться с толпой.", "quests.tfg_tips.trowel.title": "Мастерок", "quests.tfg_tips.trowel.subtitle": "Вдохновлено Quark!", - "quests.tfg_tips.trowel.desc": "A &4Trowel&r is a tool for builders that can &brandomly place blocks&r located in the hotbar. Trowels can also use bricks and other useable items to randomize tiles for &5RNR Roads&r.", + "quests.tfg_tips.trowel.desc": "&4Мастерок&r — это инструмент для строителей, который может &bслучайным образом размещать блоки&r из хотбара. Мастерок также может использовать кирпичи и другие применимые предметы, чтобы случайным образом варьировать плитку для &5дорог&r.", "quests.tfg_tips.lunchbox.title": "Ланчбокс", "quests.tfg_tips.lunchbox.subtitle": "Карманный холодильник!", "quests.tfg_tips.lunchbox.desc": "Ланчбоксы имеют 9 слотов для еды, сохраняя ее свежей дольше.\nОхлаждающий ланчбокс обладает усиленным эффектом, но регулярно требуют лед или ледяную капсулу, которые со временем тают.", @@ -4432,5 +4498,27 @@ "quests.tfg_tips.tools_tips.harvest_basket.title": "Лукошко", "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "Для пекарей-кондитеров.", "quests.tfg_tips.tools_tips.harvest_basket.task": "Любое #tfg:harvester", - "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Лукошки (корзинки)&r&r — новый инструмент, созданный специально для &5TFG&r! Эти корзины позволяют собирать целые деревья и кусты с плодами одним кликом ПКМ! Обычное &6Лукошко&r имеет базовую прочность &n128&r. Но &3Алюминиевое лукошко&r не теряет прочности при использовании." + "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Лукошки (корзинки)&r&r — новый инструмент, созданный специально для &5TFG&r! Эти корзины позволяют собирать целые деревья и кусты с плодами одним кликом ПКМ! Обычное &6Лукошко&r имеет базовую прочность &n128&r. Но &3Алюминиевое лукошко&r не теряет прочности при использовании.", + "quests.tfg_tips.transportation_tips.rnr_plow.title": "Тележка для мощения", + "quests.tfg_tips.transportation_tips.rnr_plow.subtitle": "Римляне бы гордились.", + "quests.tfg_tips.transportation_tips.rnr_plow.desc": "Дороги — это замечательно! Но иногда надоедает щелкать правой кнопкой мыши. Вместо того чтобы строить дороги для своей лошади, «позвольте вашей лошади строить дороги для вас»! «Тележка для мощения» — это уникальная «тележка Астикор», разработанная для TFG. Эта тележка позволяет автоматически строить «дороги» с назначаемой шириной и даже режимом случайного выбора.", + "quests.tfg_tips.tools_tips.mattocks.title": "Кайло", + "quests.tfg_tips.tools_tips.mattocks.subtitle": "Когда лопата не работает", + "quests.tfg_tips.tools_tips.mattocks.task0": "Любое кайло", + "quests.tfg_tips.tools_tips.mattocks.task1": "Любой материал для дороги", + "quests.tfg_tips.tools_tips.mattocks.desc": "&cКайло&r — это твой главный инструмент для строительства дорог в TFG. Их можно получить, отливая в форму, как и любой другой инструмент TFC. Чтобы использовать кайло, переключи его режим (клавиша по умолчанию: &3&lN&r&r) на «Полный блок». \nЗатем ты можешь кликать ПКМ по земле или траве, чтобы утрамбовать её. После этого можно нанести &6насыпь&r, а затем уже материал на твой выбор.", + "quests.tfg_tips.tools_tips.base_course.title": "Основание покрытия", + "quests.tfg_tips.tools_tips.base_course.subtitle": "Фундамент всех хороших дорог.", + "quests.tfg_tips.tools_tips.base_course.task": "Посмотри на основание покрытия", + "quests.tfg_tips.tools_tips.gravel_roads.title": "Гравийные дороги", + "quests.tfg_tips.tools_tips.gravel_roads.subtitle": "Вас ждёт извилистая дорожка.", + "quests.tfg_tips.tools_tips.gravel_roads.task": "Любой материал для гравийных дорог", + "quests.tfg_tips.tools_tips.gravel_roads.desc": "Эти материалы, нанесенные на основание покрытия, образуют дороги, которые обеспечивают увеличение скорости передвижения на &b&l10%%&r&r.", + "quests.tfg_tips.tools_tips.brick_roads.title": "Брусчатная дорога", + "quests.tfg_tips.tools_tips.brick_roads.subtitle": "Скейтбордисты, берегитесь!", + "quests.tfg_tips.tools_tips.brick_roads.task": "Любой материал для брусчатки", + "quests.tfg_tips.tools_tips.brick_roads.desc": "Эти материалы, нанесенные на основание покрытия, образуют дороги, которые увеличивают скорость передвижения на &b&l20%%&r&r.", + "quests.tfg_tips.tools_tips.concrete_roads.title": "Бетонные дороги", + "quests.tfg_tips.tools_tips.concrete_roads.subtitle": "Почти стоят своих усилий.", + "quests.tfg_tips.tools_tips.concrete_roads.desc": "&6Жидкий бетон&r можно наносить на основание покрытия, чтобы создавать дороги, которые дают бонус &b&l30%%&r&r к скорости передвижения.\n\n&4Будь осторожен&r при создании бетонных дорог. Нужно соблюдать множество правил, чтобы не получить потрескавшуюся или испорченную поверхность. Подробные инструкции смотри в &3Полевом руководстве&r." } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 3fed4c242..a514dcc95 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -4360,9 +4360,6 @@ "quests.tfg_tips.grappling_hook.title": "Гак-кішка", "quests.tfg_tips.grappling_hook.subtitle": "Це закінчиться погано", "quests.tfg_tips.grappling_hook.desc": "Об'єднавши 2 шматки &aМотузкового Котка&r та &bЗалізне Кайло&r, ти можеш створити &dГак-кішку!&r Ідеальний інструмент для підйому на великі гори, дослідження печер та подорожей світом. сВін містить &eсистему покращень&r, яка дозволяє комбінувати та модифікувати твій &dГак&r на власний розсуд.", - "quests.tfg_tips.grapple_repair.title": "Попередження щодо гака-кішки", - "quests.tfg_tips.grapple_repair.subtitle": "ПРОЧИТАЙ МЕНЕ, АБО МОЖЕШ ПОШКОДУВАТИ ПІЗНІШЕ!", - "quests.tfg_tips.grapple_repair.desc": "Усі ваші &dпокращення гака-кішки&r зберігаються як NBT-дані всередині предмета. Це означає, що спроба відремонтувати ваш гак за допомогою &cіншого&r гака-кішки &l&cЗНИЩИТЬ усі ваші покращення!&r\n\nЗамість цього вам слід покласти свій &dгак-кішку&r та трохи &bпилу кованого заліза&r у &3Верстак&r, щоб відремонтувати його.\n\nТакож не використовуйте гак-кішку під час подорожей між Верхнім світом та Підземеллям — це може бути смертельно небезпечно.", "quests.tfg_tips.grapple_upgrades.title": "Покращення твого Гака-кішки", "quests.tfg_tips.grapple_upgrades.subtitle": "Збалансовано навколо TFG, звісно!", "quests.tfg_tips.grapple_upgrades.desc.1": "Покращення твого &dГака-кішки&r полягає у додаванні або видаленні предметів через &3Верстак&r.&r \n\nЩоб переглянути всі доступні покращення для &dГак-кішки&r, натисни клавішу \"Usage\" у &2EMI.&r \nКожен з спеціальних рецептів міститиме текст із описом внесених змін.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index b3ffb52df..8520ced96 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -4455,9 +4455,6 @@ "quests.tfg_tips.grappling_hook.title": "抓钩", "quests.tfg_tips.grappling_hook.subtitle": "这下场恐怕会不太妙", "quests.tfg_tips.grappling_hook.desc": "将2个&a黄麻绳&r与1个&b锻铁镐头&r组合,便可制作出&d抓钩&r!它是翻越崇山峻岭、探索巨洞深渊、纵横天地四方的理想工具。抓钩内置&e升级系统&r,可让你随心所欲地自由搭配与改造你的&d抓钩&r。", - "quests.tfg_tips.grapple_repair.title": "抓钩警告", - "quests.tfg_tips.grapple_repair.subtitle": "请阅读本说明,否则你日后可能会后悔!", - "quests.tfg_tips.grapple_repair.desc": "&d抓钩&r的所有&a升级&r数据都储存在物品的NBT标签内。这意味着若尝试使用&c另一个&r抓钩进行修复,&l&c将会永久损毁所有升级数据!&r\n\n正确修复方式:将你的&d抓钩&r与一些&b锻铁粉&r放入&3工作台&r进行修复。\n\n另外,在主世界与幽冥之地之间穿梭时切勿使用抓钩,这是非常危险的。", "quests.tfg_tips.grapple_upgrades.title": "升级你的抓钩", "quests.tfg_tips.grapple_upgrades.subtitle": "当然是围绕TFG平衡过了!", "quests.tfg_tips.grapple_upgrades.desc.1": "升级&d抓钩&r需要通过&3工作台&r为其添加或移除物品。\n\n若想查看&d抓钩&r所有的可升级内容,可按&2EMI&r的\"用途\"键。\n每个自定义配方都会附有文字,说明其所能带来的具体改变。", From cc3b650396412fc36154d0bdbd934b2da8c5b3f3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 24 Dec 2025 23:20:01 +0000 Subject: [PATCH 460/628] preemptively moving this to mercury --- config/ambientsounds-client.json | 1 - .../{ad_astra_orbit.json => ad_astra_mercury.json} | 5 ++--- kubejs/server_scripts/gregtech/recipes.materials.js | 3 +++ 3 files changed, 5 insertions(+), 4 deletions(-) rename kubejs/assets/ambientsounds/basic/dimensions/{ad_astra_orbit.json => ad_astra_mercury.json} (83%) diff --git a/config/ambientsounds-client.json b/config/ambientsounds-client.json index 1244a3329..9a09df752 100644 --- a/config/ambientsounds-client.json +++ b/config/ambientsounds-client.json @@ -225,7 +225,6 @@ "ad_astra:moon_orbit", "ad_astra:venus_orbit", "ad_astra:mars_orbit", - "ad_astra:mercury", "ad_astra:mercury_orbit" ] } \ No newline at end of file diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_orbit.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mercury.json similarity index 83% rename from kubejs/assets/ambientsounds/basic/dimensions/ad_astra_orbit.json rename to kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mercury.json index e573f9f2b..3a3b9e488 100644 --- a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_orbit.json +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_mercury.json @@ -1,11 +1,10 @@ { - "name": "end", + "name": "ad_astra_orbit", "dimension-names": [ - "orbit" + "mercury" ], "rain": false, "storm": false, - "average-height": 0, "biome-selector": { "always": false }, diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 74a77474f..bba94e7a8 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -807,6 +807,9 @@ function registerGTCEUMetalRecipes(event) { event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, amount), ChemicalHelper.get(TagPrefix.block, material, 1)) .recipeTier(0) .id(`greate:pressing/unpacking_${material.getName()}_block`) + + event.recipes.tfc.quern(ChemicalHelper.get(TagPrefix.dust, material, 1), ChemicalHelper.get(TagPrefix.gem, material, 1)) + .id(`tfg:quern/${material.getName()}_gem_to_dust`) } /** From 1031f3931e3ba5de5937ccadbd278e3e95bccf9e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 11:18:30 +0000 Subject: [PATCH 461/628] langs --- kubejs/assets/tfg/lang/zh_cn.json | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 8520ced96..f7b1fae56 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -2348,7 +2348,7 @@ "quests.extreme_voltage.nano_ev.desc": "如果你能实现&b纳米CPU&r的规模化高效生产,这类电路的实际制造成本或将低于等量&b微型处理器&r。当&c裂变生产线&r实现全自动化后,这些电路将成为高端设备制造的极致经济之选。\n\n同时请注意,从现在起你可以使用高级贴片元件了!", "quests.extreme_voltage.nano_iv.subtitle": "更接近LuV技术了", "quests.extreme_voltage.nano_iv.desc": "这些&1IV&r电路仍然需要一个&b纳米CPU芯片&r,就此而言其成本并未低于&b微型处理器&r。\n\n但它们是迈向更高技术层级的必备要素。", - "quests.extreme_voltage.nano_luv.subtitle": "你的第一批IV电路", + "quests.extreme_voltage.nano_luv.subtitle": "你的第一批LuV电路", "quests.extreme_voltage.nano_luv.desc": "恭喜你成功解锁新一代电路!这些&dLuV电路&r目前用途不多——在完成&b铂系生产线&r前你无法制造任何&dLuV机器&r,但它们对制作新型&dAE2&r工具与组件仍具有重要价值。\n\n大部分相关配方需在&1IV组装机&r中完成,请确保已备好该设备。", "quests.extreme_voltage.me_part.title": "ME多方块部件", "quests.extreme_voltage.me_part.subtitle": "将格雷科技直接连接到你的AE2网络", @@ -2529,7 +2529,7 @@ "quests.gregtech_energy.lce_fuel.desc.2": "当你达到&5EV&r阶段并建造&6蒸馏塔&r后,就可以转而使用汽油和高辛烷值汽油了。切勿过早尝试——油类需要被妥善分馏,使用普通蒸馏室来处理是极不经济的。\n\n为此,你需要结合原油分馏与一些有机化合物加工。所幸,一台热解炉和一座蒸馏塔即可流畅地处理全部流程。\n\n如果你能稳定供应高辛烷值汽油,仅靠内燃发电机就足以完成整个整合包的进程。", "quests.gregtech_energy.lce_fuel.task": "我足够了", "quests.gregtech_energy.large_solar.subtitle": "巨大的简易能源", - "quests.gregtech_energy.large_solar.desc.1": "若你计划在月球上建立更大型的基地,大型太阳能阵列MK I将是你的不二之选。\n\n它对于&bAE2&r自动化处理流水线尤其有用,同时也能为你的基岩矿机提供电力。\n\n别忘了,你可以使用格雷科技终端,通过潜行右键点击控制器,来瞬间搭建这个多方块结构。\n\n只需将鼠标指向控制器并按&eU&r键,即可查看可用的合成配方。", + "quests.gregtech_energy.large_solar.desc.1": "若你计划在月球上建立更大型的基地,大型太阳能阵列MK I将是你的不二之选。\n\n它对于&bAE2&r自动化处理流水线尤其有用,同时也能为你的月壤采集器提供电力。\n\n别忘了,你可以使用格雷科技终端,通过潜行右键点击控制器,来瞬间搭建这个多方块结构。\n\n只需将鼠标指向控制器并按&eU&r键,即可查看可用的合成配方。", "quests.gregtech_energy.large_solar.desc.2": "&6大型太阳能阵列MKI&r拥有&92种不同的工作模式&r:\n\n&9•被动模式&r—\n该模式会缓慢消耗&d光伏板&r。这意味着若你一次性投入一组光伏板,在基地建设阶段尚可维持,但无法永久运行。该模式仅在白天产生&62AHV&r的电流——足以支撑基础系统运转,但远非最优解。\n\n&9•主动模式&r—\n若想&a最大化能量产出&r,则需管理冷却剂。这将要求你的月球基地具备更完善的设施,但回报是可获得&52AEV&r的电流!\n\n另有针对更高阶需求的MKII与MKIII版本,需使用更先进的冷却剂。", "quests.gregtech_energy.large_solar_t2.subtitle": "甚至更强", "quests.gregtech_energy.large_solar_t2.desc.1": "若你在月球上建造&dAE2基地&r,很可能会需要更多能源。这时,&6大型太阳能阵列MK II&r便能派上用场!\n\n与其前代MK I一样,它提供两种合成配方——但这一次,两种配方都并非完全被动。", @@ -2537,7 +2537,7 @@ "quests.gregtech_energy.large_solar_t3.subtitle": "最大功率", "quests.gregtech_energy.large_solar_t3.desc": "最高等级的是&6大型太阳能阵列MK III&r。其运作方式与MK II相同,但其新型太阳能冷却剂需要额外添加&a氩气&r和&b硅凝胶&r。\n\n&b硅凝胶&r对你而言应已不再陌生——你曾在制造&d三级火箭&r时使用过它。\n然而,在月球上生产它将困难得多,你可能需要建立从&a地球&r持续运输补给的渠道。\n\n我们将让你自行决定如何应对这一物流挑战——无论是通过自动化生产,还是建立星际运输线,选择权在你手中。\n\n&e高科技能源&r意味着&c高水平的基础设施&r。请明智规划!", "quests.gregtech_energy.solar_panel.subtitle": "黑暗中的光明", - "quests.gregtech_energy.solar_panel.desc": "太阳能电池板将是你在月球上的第一个能源来源。\n\n它们在白天产生32EU/t,但请记住它们实际上产生RF,所以你需要一个转换器将其转化为EU。\n\n你可以使用一个&bMV转换器&r最多支持2个太阳能电池板,或者一个&6HV转换器&r最多支持4个太阳能电池板。", + "quests.gregtech_energy.solar_panel.desc": "太阳能电池板将是你在月球上的第一个能源来源。\n\n它们在白天产生32EU/t,但请记住它们实际上产生FE,所以你需要一个转换器将其转化为EU。\n\n一个&bMV转换器&r可以最多支持4个太阳能电池板。", "quests.gregtech_energy.storage.title": "储存能源", "quests.gregtech_energy.storage.subtitle": "得把所有这些能量存在某些地方", "quests.gregtech_energy.storage.desc": "在格雷科技中,储能是电力系统最核心的基石之一。\n\n为何如此?很简单:当你进行大型合成时——尤其是在游戏后期——即使是最强大的发电机也可能无法满足瞬时需求。\n\n为了解决这个问题,格雷科技提供了多种方案来存储海量的EU能量。这些储能单元能在你的能源生产端与进行复杂操作时消耗能源的机器之间,扮演关键的缓冲角色。\n\n无论你是在为启动聚变反应堆、大型化学反应器,还是任何HV-IV级别的大型合成链做准备,都需要这份额外的能量后备来确保整个系统稳定运行。\n\n切勿低估一个优质电池组的重要性——它很可能就是在关键时刻挽救你基地于停电危机的关键。", @@ -2572,7 +2572,7 @@ "quests.gregtech_energy.overclock.subtitle": "基本升级机制", "quests.gregtech_energy.overclock.desc.1": "你听说过超频,但不太明白它是什么?让我们花点时间解释一下。\n\n我们应该从基础开始:\n&d低压&r代表最多32EU/t——有时更少,但绝不会更多。\n&d中压&r达到128EU/t。\n&d高压&r达到512EU/t。\n基本上,每个等级的功耗增加4倍。", "quests.gregtech_energy.overclock.desc.2": "当你在更高等级的机器中运行较低等级的配方时会发生什么?这就是我们所说的&e超频&r!\n\n一个&d中压&r配方(33–128EU/t)在&d高压&r机器中运行将:1)使用4倍的能量,并且2)速度快2倍。\n\n同一个中压配方在&d超高压&r机器中?能量消耗是16倍,但速度只快4倍。\n\n如你所见,使用多台机器比超频单台机器能效更高。\n但说实话:在大多数设置中,你会更喜欢超频,而不是建造大量相同的机器。\n\n不过,在早期能源紧张的时候知道这一点是很好的。", - "quests.gregtech_energy.overclock.desc.3": "有一种特殊的超频只适用于少数多方块结构:&e完美超频&r。\n在这里,不是4倍能量换2倍速度,而是&a4倍能量&r换&a4倍速度&r!这使得它与运行多台机器一样高效。\n\n目前在TerraFirmaGreg中,只有以下多方块结构支持此功能:\n-电力高炉\n-合金冶炼炉\n-转底炉\n-大型化学反应釜\n-电力温室", + "quests.gregtech_energy.overclock.desc.3": "有一种特殊的超频只适用于少数多方块结构:&e完美超频&r。\n在这里,不是4倍能量换2倍速度,而是&a4倍能量&r换&a4倍速度&r!这使得它与运行多台机器一样高效。\n\n目前在TerraFirmaGreg中,只有以下多方块结构支持此功能:\n-电力高炉\n-合金冶炼炉\n-转底炉\n-大型化学反应釜\n-电力温室\n-热交换器", "quests.gregtech_energy.overclock.task": "所以红色的更快,懂了", "quests.gregtech_energy.blast_oc.title": "高炉超频", "quests.gregtech_energy.blast_oc.subtitle": "你不需要理解这个", @@ -2583,7 +2583,7 @@ "quests.gregtech_energy.subtick.title": "子刻(Subtick)", "quests.gregtech_energy.subtick.subtitle": "并行?", "quests.gregtech_energy.subtick.desc.1": "格雷科技多方块结构中的另一个隐藏机制:&d子刻&r。\n\n它是什么?当配方变得如此之快,以至于处理时间少于一游戏刻时,子刻就会激活。通常,机器不能快于每刻一个配方——但有了子刻,它们可以!\n\n它是如何工作的?一旦一个配方达到1刻的持续时间,进一步升级能源仓不会让它更快。\n但由于子刻,机器不会浪费电力,而是会&a在内部并行处理配方&r。", - "quests.gregtech_energy.subtick.desc.2": "例如:如果你的大型化学反应釜(LCR)在处理一个LuV级配方时速度为1个配方/刻,那么在ZPM电压下,它将能以&e2个配方/刻&r的速度运行。更高级的能量仓则意味着更高的内部并行处理数。\n\n&d注意&r:目前,所有大型机器都有限地支持子刻机制,但&a只有LCR&r同时支持子刻机制与完美超频。这也正是为什么LCR没有专用于IV阶段的多方块并行仓:因为它已经以更高效的方式实现了并行处理。", + "quests.gregtech_energy.subtick.desc.2": "例如:如果你的大型化学反应釜(LCR)在处理一个LuV级配方时速度为1个配方/刻,那么在ZPM电压下,它将能以&e2个配方/刻&r的速度运行。更高级的能量仓则意味着更高的内部并行处理数。\n\n&d注意&r:目前,所有大型机器都有限地支持子刻机制,但&a只有LCR&r和&e热交换器&r同时支持子刻机制与完美超频。这也正是为什么LCR没有专用于IV阶段的多方块并行仓:因为它已经以更高效的方式实现了并行处理。", "quests.gregtech_energy.parallel_hatch.title": "并行仓", "quests.gregtech_energy.parallel_hatch.subtitle": "又并行?", "quests.gregtech_energy.parallel_hatch.desc.1": "&d并行仓&r是大型多方块机器的核心亮点。\n\n它的作用是什么?\n在允许使用的情况下(主要指由合金冶炼炉制作的多方块机器),它能让你&a同时运行多个相同配方&r。\n\n其原理是通过每刻消耗更多能量,来大幅提升整体吞吐量。非常适合用于大规模生产合金、电路或板材。", @@ -2617,7 +2617,7 @@ "quests.high_voltage.chem_bath.desc": "&3HV化学浸洗机&r可使用&a化学染料&r对透镜进行&d染色&r。这将使你能够蚀刻更多类型的晶圆,并冷却其他类型的热锭。", "quests.high_voltage.maintenance_hatches.title": "高级维护", "quests.high_voltage.maintenance_hatches.subtitle": "我成了维护员,胶带的吞噬者", - "quests.high_voltage.maintenance_hatches.desc.1": "现已解锁两种&3新型维护仓&r。这两种维护仓在首次装入多方块结构时&6无需维护&r。\n\n&3自动维护仓&r功能简单直接——它能&6永久性&r消除维护需求。\n\n&3可配置维护仓&r则更有趣。你可以将其配置为缩短&a10%%&r配方耗时,但代价是维护需求速度提升至三倍(相当于&d16现实小时&r的运行周期)。若用于多方块发电机,则可延长配方耗时,间接提升10%%燃料效率!\n\n&9提示:&r将胶带放入维护仓可自动修复故障。", + "quests.high_voltage.maintenance_hatches.desc.1": "现已解锁两种&3新型维护仓&r。\n\n&3自动维护仓&r功能简单直接——它能&6永久性&r消除维护需求。\n\n&3可配置维护仓&r则更有趣。你可以将其配置为缩短&a10%%&r配方耗时,但代价是维护需求速度提升至三倍(相当于&d16现实小时&r的运行周期)。若用于多方块发电机,则可延长配方耗时,间接提升10%%燃料效率!\n\n&9提示:&r将胶带放入维护仓可自动修复故障。", "quests.high_voltage.maintenance_hatches.desc.2": "&l&3背景知识:&r&o自动维护仓的纹理与机制源自TecTech——最初为”格雷科技:新视野(GT:NH)“整合包开发的附属模组。\n\n&o若你随我们坚持游玩至后期阶段,将会接触到更多来自TecTech的内容。", "quests.high_voltage.hv_components.title": "高压组件", "quests.high_voltage.hv_components.subtitle": "我们称之为“乐趣”", @@ -3143,10 +3143,11 @@ "quests.medium_voltage.pyrolyse.desc.4": "&9&l注意:&r&l植物路线是获取&9&l乙烯&r&l的途径之一,该化学品是进阶&6HV&r阶段的必要材料。&l另一条路线需通过石油获取。&r\n\n热解炉仍属于&d可选&r设备。但无论是为能源生产还是多种副产品,建造它都能带来可观收益,我们强烈建议你了解其运作机制。\n\n&l&3背景只是:&r&o在GT5u版本中,热解炉结构曾是个著名的巨大箱体,内部仅放置9个线圈。由于缺少EMI预览功能,玩家往往需花费数分钟排查结构问题。", "quests.medium_voltage.mv_fluid_rig.title": "流体钻机", "quests.medium_voltage.mv_fluid_rig.subtitle": "格雷科技现代版中的流体钻机!", - "quests.medium_voltage.mv_fluid_rig.desc.1": "建造&3流体钻机&r确实需要不小投入,但这是&o目前&r最主流的&6石油获取方式&r。\n\n它能从基岩层下方抽取流体。需要注意的是这些流体并非真实存在,而是通过模拟计算生成。\n\n流体矿脉分布在&c区块大小区域&r内。每个矿脉蕴含不同流体,但大多以石油类为主。\n\n&o现阶段&r尚无法对流体矿脉进行勘探——该功能将在&6HV&r阶段开放。", - "quests.medium_voltage.mv_fluid_rig.desc.2": "每个矿脉会以不同的基础产量生成,通常介于&d150L/s&r至&d300L/s&r之间。\n\n当被抽取时,流体矿脉会逐渐枯竭。这将导致流体产量随时间推移不断下降,直至达到枯竭产量值。此时应将钻机转移至其他矿脉。\n\n&3基础流体钻机&r可持续运行10万次操作(每次操作1秒)直至矿脉枯竭,这足以产出&6远超1万桶&r的石油。更高级别的钻机将大幅提升产量,同时显著降低矿脉枯竭速度。", - "quests.medium_voltage.mv_fluid_rig.desc.3": "&l你可以在&2主世界&r&l中找到什么:&r\n\n&9石油:&r富含备受好评的&a轻燃油&r。\n&9轻油:&r富含&a炼油气&r,可用于发电。\n&9重油:&r富含&a重燃油&r,用途相对小众但可提取重要的&a甲苯&r。\n&9原油:&r富含&a石脑油&r,是早期石油产品的最佳来源。\n&9天然气:&r直接产出&a炼油气&r,无需蒸馏提纯。\n&9海水:&r可提取&a钠&r和&a氯&r,适用于后期生产。", + "quests.medium_voltage.mv_fluid_rig.desc.1": "建造&3流体钻机&r确实需要不小投入,但这是&o目前&r最主流的&6石油获取方式&r。\n\n它能从基岩层下方抽取流体。需要注意的是这些流体并非真实存在,而是通过模拟计算生成。\n\n流体矿脉分布在&c区块对齐的区域&r内。每个矿脉蕴含不同流体,但大多以石油类为主。\n\n&o现阶段&r尚无法对流体矿脉进行勘探——该功能将在&6HV&r阶段开放。", + "quests.medium_voltage.mv_fluid_rig.desc.2": "每个矿脉会以不同的基础产量生成流体。使用&b进阶流体钻机&r抽取时,产量通常介于&d150mB/s&r至&d300mB/s&r之间。\n\n当被抽取时,流体矿脉会逐渐枯竭。这将导致流体产量随时间推移不断下降,直至达到枯竭产量值。此时应将钻机转移至其他矿脉。\n\n&3基础流体钻机&r可持续运行10万次操作(每次操作1秒)直至矿脉枯竭,这足以产出&6远超1万桶&r的石油。更高级别的钻机将大幅提升产量,同时显著降低矿脉枯竭速度。", + "quests.medium_voltage.mv_fluid_rig.desc.3": "&l你可以在&2主世界&r&l中找到什么:&r\n\n&9石油:&r富含备受好评的&a轻燃油&r。\n&9轻油:&r富含&a炼油气&r,可用于发电。\n&9重油:&r富含&a重燃油&r,用途相对小众但可提取重要的&a甲苯&r。\n&9原油:&r富含&a石脑油&r,是早期石油产品的最佳来源。\n&9天然气:&r直接产出&a炼油气&r,无需蒸馏提纯。\n&9盐水:&r可提取&a氢氧化钠&r和&a氯&r,适用于后期生产。", "quests.medium_voltage.mv_fluid_rig.desc.4": "&l你可以在&c幽冥之地&r&l发现以下资源:&r\n\n&9天然气:&r产出&a炼油气&r且产量高于主世界矿脉。\n&9熔岩:&r希望你认得这个。\n\n起步阶段可能需要随机勘探直至找到理想资源。请注意,你抽取的任何流体均可作为流体钻机的补充燃料。", + "quests.medium_voltage.mv_fluid_rig.desc.5": "&9月球&r上的一个流体区域示例:", "quests.medium_voltage.mv_oilsands.title": "美国模拟器", "quests.medium_voltage.mv_oilsands.subtitle": "此任务由美国军方赞助", "quests.medium_voltage.mv_oilsands.desc": "在地下探索时,你可能会遇到纯油砂矿脉。通过&3离心机&r处理其粉末可获得&a石油&r。\n\n&9&l注意:&r&l石油路线是制备&9&l乙烯&r&l的途径之一,其他路线则涉及乙醇的自然制备法。&r\n\n目前石油获取属于&d可选&r内容,直到后期&5EV&r阶段才会成为必需资源。\n\n石油可精炼成&a轻燃油&r、&a柴油&r乃至&a汽油&r,这些都是极佳的能源选择。\n\n若选择此路线,建议将石油同时用于发电和生产乙烯。\n\n油砂矿是&6理想的起步选择&r——它们能支撑你直至解锁流体钻机技术。", @@ -3370,7 +3371,7 @@ "quests.metal_age.wrought_iron_anvil.desc": "有了锻铁砧,你将能够将锻铁锭加工成不同的物品,如薄板、工具头等。\n\n锻铁工具和盔甲相比青铜改进不大,但耐久度高得多。\n\n制作下一级砧的难度将有显著的提升,所以这是一个安顿下来并探索这个整合包提供的其他东西的好时机。", "quests.metal_age.coke_oven.title": "焦炉", "quests.metal_age.coke_oven.subtitle": "终于,不再需要木炭堆了", - "quests.metal_age.coke_oven.desc.1": "焦炉是你的第一个格雷科技多方块结构!它允许你自动生产木炭和其他强大的可燃物。焦炉会将一根原木烧成一个木炭和250mb的杂酚油,这是一种用于木材处理的重要化学品。\n\n如果你制作了焦炉主方块并在其上按下JEI的“用途”键(默认为“U”),你会找到一个名为“多方块信息”的选项卡,其中显示了如何在世界中建造焦炉。\n\n你也可以直接将控制器方块放在世界中,并在潜行时与之交互以创建缺失方块的全息图。", + "quests.metal_age.coke_oven.desc.1": "焦炉是你的第一个格雷科技多方块结构!它允许你自动生产木炭和其他强大的可燃物。焦炉会将一根原木烧成一个木炭和250mb的杂酚油,这是一种用于木材防腐的重要化学品,亦可作为一种前期燃料。\n\n如果你制作了焦炉主方块并在其上按下JEI的“用途”键(默认为“U”),你会找到一个名为“多方块信息”的选项卡,其中显示了如何在世界中建造焦炉。\n\n你也可以直接将控制器方块放在世界中,并在潜行时与之交互以创建缺失方块的全息图。", "quests.metal_age.coke_oven.desc.2": "焦炉可以通过安装焦炉仓来实现完全自动化。焦炉仓放置在焦炉侧面,可作为物品和液体的输入输出接口。\n\n你可以轻松搭建一个简单的单向自动化焦炉:用板条箱作为输入容器,箱子作为输出容器,再配备一个桶、木桶或大型木质储罐来收集木焦油。与普通箱子不同,板条箱能够存储原木等大型物品。此外,手持扳手潜行右键点击格雷科技的管道可将其设置为单向传输模式。", "quests.metal_age.wrought_iron_goodies.title": "锻铁级机械动力", "quests.metal_age.wrought_iron_goodies.subtitle": "你说的这个“安山合金”是什么?", @@ -4349,6 +4350,10 @@ "quests.tfg_tips.feeding_troughs.subtitle": "金属牧场助手", "quests.tfg_tips.feeding_troughs.desc": "喂食槽(亦称驯养站)能让你在每天早晨自动喂养动物。它甚至还有一个选项,可以避免喂养那些熟悉度已满的动物,以防你不想让它们繁殖。\n\n更高等级的喂养槽拥有更大的有效范围。\n\n&3&l提示:&r&o 你最好不要把它直接放在围栏旁边,否则动物们可能会试图利用它逃出围栏!", "quests.tfg_tips.feeding_troughs.task": "任何喂食槽", + "quests.tfg_tips.scraping_knives.title": "刮皮刀", + "quests.tfg_tips.scraping_knives.subtitle": "高效处理", + "quests.tfg_tips.scraping_knives.desc": "厌倦了手动刮制皮革、纸张或亚麻了吗?试试制作一把刮皮刀吧!\n\n一把基础的铜制或青铜刮皮刀就可以一次性处理一整行材料,而更高级的刮皮刀则能够处理更多行。", + "quests.tfg_tips.scraping_knives.task": "任意刮皮刀", "quests.tfg_tips.glassblowing.title": "玻璃吹制", "quests.tfg_tips.glassblowing.subtitle": "真实的玻璃工艺!", "quests.tfg_tips.glassblowing.desc": "制作任何类型的&d玻璃板&r或&d玻璃块&r,你都需要一套&3玻璃吹制&r设备。\n\n&3玻璃吹制&r需要一根&a吹管&r,以及一个用玻璃吹制方块搭建的平台来浇筑熔融玻璃。关于平台的具体形状和哪些方块符合要求,请查阅&2野外指南&r获取更多信息。当你能制作&a黄铜&r后即可解锁玻璃吹制工艺。", @@ -4665,7 +4670,7 @@ "quests.tfg_tips.biplane.desc": "&3双翼机&r是&b经济型飞机&r的直接升级版,用&a机身、蒸汽动力航空引擎&r和&a镀铝飞机螺旋桨&r制作。\n\n配备&b16个物品栏位&r,&a4个升级槽位&r和&c1个武器槽位&r。与&d经济型飞机&r不同,&3双翼机&r可通过专用槽位&4使用火箭助推&r。", "quests.tfg_tips.scarlet_biplane.title": "猩红双翼机", "quests.tfg_tips.scarlet_biplane.subtitle": "令人叹为观止", - "quests.tfg_tips.scarlet_biplane.desc": "&3猩红双翼机&r是&b飞机&r的两种终极升级形态之一,需&6HV&r组件。\n\n配备&b27个物品栏位&r,&a4个升级槽位&r,&c2个武器槽位&r,以及如普通双翼机的&4助推槽位&r。\n\n虽然造价昂贵,但&3猩红双翼机&r以更高的耐久度、最大速度和整体逼格弥补了这一点。", + "quests.tfg_tips.scarlet_biplane.desc": "&3猩红双翼机&r是&b飞机&r的两种终极升级形态之一,需&bMV&r组件。\n\n配备&b27个物品栏位&r,&a4个升级槽位&r,&c2个武器槽位&r,以及如普通双翼机的&4助推槽位&r。\n\n虽然造价昂贵,但&3猩红双翼机&r以更高的耐久度、最大速度和整体逼格弥补了这一点。", "quests.tfg_tips.aluminium_hopper.title": "铝制漏斗机", "quests.tfg_tips.aluminium_hopper.subtitle": "轻到能浮在水上!", "quests.tfg_tips.aluminium_hopper.desc": "&3铝制漏斗机&r是&b飞机&r的两种终极升级形态之一,需&6HV&r组件。\n\n配备&b16个物品栏位&r,&a4个升级槽位&r,&c2个武器槽位&r,3个座位,以及如普通双翼机的&4助推槽位&r。\n\n虽然造价昂贵,但&3铝制漏斗机&r配置了3个座位,且拥有水上着陆能力。", From 6d95f87218ba3dbc283228cffacad4c36b862cc5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 11:19:33 +0000 Subject: [PATCH 462/628] add some more species things --- CHANGELOG.md | 4 ++ kubejs/assets/species/lang/en_us.json | 5 +- .../species/textures/item/smoke_bomb.png | Bin 0 -> 422 bytes .../species/textures/item/wicked_mask.png | Bin 0 -> 460 bytes .../textures/item/wicked_mask_worn.png | Bin 0 -> 382 bytes .../species/textures/item/wicked_swapper.png | Bin 0 -> 387 bytes .../species/textures/item/wicked_treat.png | Bin 0 -> 464 bytes .../entities/badlands_enderman.json | 6 +- .../entities/dark_oak_enderman.json | 4 ++ .../loot_tables/entities/desert_enderman.json | 48 +++++++++++++ .../entities/end_islands_enderman.json | 4 ++ .../entities/mushroom_fields_enderman.json | 4 ++ .../entities/nether_wastes_enderman.json | 4 ++ .../entities/savanna_enderman.json | 63 ++++++++++++++++++ .../loot_tables/entities/swamp_enderman.json | 4 ++ .../entities/windswept_hills_enderman.json | 4 ++ .../server_scripts/endermanoverhaul/tags.js | 3 - kubejs/server_scripts/species/recipes.js | 55 +++++++++++++++ kubejs/server_scripts/species/tags.js | 2 + .../tfg/food/recipes.meal_bags.js | 2 +- kubejs/startup_scripts/species/constants.js | 4 -- 21 files changed, 206 insertions(+), 10 deletions(-) create mode 100644 kubejs/assets/species/textures/item/smoke_bomb.png create mode 100644 kubejs/assets/species/textures/item/wicked_mask.png create mode 100644 kubejs/assets/species/textures/item/wicked_mask_worn.png create mode 100644 kubejs/assets/species/textures/item/wicked_swapper.png create mode 100644 kubejs/assets/species/textures/item/wicked_treat.png create mode 100644 kubejs/data/endermanoverhaul/loot_tables/entities/desert_enderman.json create mode 100644 kubejs/data/endermanoverhaul/loot_tables/entities/savanna_enderman.json diff --git a/CHANGELOG.md b/CHANGELOG.md index aa9e456c6..703cd387f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ - Changed the ambient sounds in the Beneath, added some to the moon and mars @Pyritie - Tweaked the ambient sounds in the overworld @Pyritie - Apatite, Tricalcium phosphate, rock salt, potassium sulfate, and ammonium chloride dusts now count as crop fertiliser (#2501) @Xtrial-01 +- Added quern recipes for gems into dust @Pyritie +- Added recipes for smoke bombs, pet treats, and disguise kits, and added swapper pearls to the loot tables of various endermen @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius @@ -26,6 +28,8 @@ - Fixed loot tables for ore indicator buds @Pyritie - Fixed the new gas fuels being usable on other planets (#2515) @TomPlop - Fixed hot ingots melting packed ice into water sources @Mqrius +- Fixed inconsistent recipes for metal bars, now they all use the anvil or stonecutter. Also added recycling for them all @Pyritie +- Various quest fixes and improvements @thederpysockdude123 ### Translation updates - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/kubejs/assets/species/lang/en_us.json b/kubejs/assets/species/lang/en_us.json index dbc5806c7..abec0bba2 100644 --- a/kubejs/assets/species/lang/en_us.json +++ b/kubejs/assets/species/lang/en_us.json @@ -1,5 +1,8 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.species.alphacene_moss_block": "Glacian Cap", - "block.species.petrified_egg": "Goober Egg" + "block.species.petrified_egg": "Goober Egg", + "item.species.wicked_mask": "Disguise Kit", + "item.species.wicked_swapper": "Swapper Pearl", + "item.species.wicked_treat": "Pet Treat" } \ No newline at end of file diff --git a/kubejs/assets/species/textures/item/smoke_bomb.png b/kubejs/assets/species/textures/item/smoke_bomb.png new file mode 100644 index 0000000000000000000000000000000000000000..9607a825863df47a3a5bcc18d6280c04dc8a686c GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s6mPZ!4!i{7=9Y&{MKh_vo^cqx)GZHtrJL@SThOO}fiLL5t`HQZzoJhHPn_}RIO zOP$5t#iuv1%9dt$x3>kw)MUK4Cht(c|v^JmVf z6a%NLCF{QBefZS0yW2SDxa&57?Gg`v{1U5OeCEq>=L%acRp!vkf^q$I%e&w1@MNDo z^=-?68ndZ|3sVGsG+i%~Hk9$U6OYuN?Y_x_$BrSu)K-ycL-me+iM~vmy&6FZ|DyMN zw_u9b`Sj;K%l;B>!ItaZ+ootuW14)BV{y=F8$0v&#&as`Htl0hPS3t->`>IZER``O zPvHaWUq5jL!vj6d2gF6Z+GH|Jc7#q~+V)sWmm_iGDw9QbkJtNe5oj;2ny~X!$;15* a#ku8s#eEf)zhhuvVDNPHb6Mw<&;$TELbQzl literal 0 HcmV?d00001 diff --git a/kubejs/assets/species/textures/item/wicked_mask.png b/kubejs/assets/species/textures/item/wicked_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..acae21bfb2e9bfb916d5c6a4e75b5fb8f660f50d GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s7DPZ!4!i{7P^71zBs5ODRMcaKTOb!udXae{3r^-SL8MTH&8O9xV^E?AZg4b-%-F@Lt zU6=oI;n`=~zW+XJz{3zcYuP2?vx@>hX|gR6cyAjy?cv_#nNkc+91_Vde$U&MJK2?q z;knGUs3}1*{qB3dckeQE`@m55>}aBd3s1q$m=l|NKL7MN^5XYA0jBlWvvURfW3OK+ z)s=|Kmg{d@4nEmdT-bqT5T;Q@>*zXt#S literal 0 HcmV?d00001 diff --git a/kubejs/assets/species/textures/item/wicked_mask_worn.png b/kubejs/assets/species/textures/item/wicked_mask_worn.png new file mode 100644 index 0000000000000000000000000000000000000000..03540ca7d8fed4aa7f5748ade0b72cb1274d14e5 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0y~yU{GLSU=ZM7V_;w?XQ+*2U|`@Z@Q5sCVBi)8VMc~o zb0ioT7!5pK978-h-%d8{Yc>#Yy}z!AnfoV4X7FW&RWS`seRe@oe1~L%ly)#ob#rmxLy7pK@YT&KDbghU0|{FMi7{71{TmdBGH>yx@(Tx*v13 zFGLBqDc0V9Y{9qh{o*NAFTbqUkqYoyxK+(ls7c{Ljop3qgxk%!Z~Bfu{_*F=HeCka z%K|Kn423fHKbOXCzW?6vm_kc}1RG!bVU4AC@)CrimCqMHvT)1hZFs#aB(!ykkm8Z< zkG^c{uD@P?`th!JIYyq77`DGt7w*^jn|ydzOM&!$0VYM3Ag?7;LPA>&pS`V(usPiM n^35U*rUykk_o)6j!~fu3{mH%RkNp`K7#KWV{an^LB{Ts5j%1%C literal 0 HcmV?d00001 diff --git a/kubejs/assets/species/textures/item/wicked_swapper.png b/kubejs/assets/species/textures/item/wicked_swapper.png new file mode 100644 index 0000000000000000000000000000000000000000..cff5af54bdfada0c61cee4f3b5c093f5e258a1fa GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nk`PZ!4!i{7IXH~Jk45NX?Q#-k$?!@+FBpr>b0R`4R>jOj0qb$u#ALWfeOxClK; zlBs3k?F~+rk&t<@O5dS9&tyYM#tP@#-rVA9!v2?@eEah6{?GrxKi*&ZRx2~TDzM5f z{*LB*t=TIBY-*44S|6!0p0Ysqz>X{3o1D%IGK9<)W0)I0`QfJZnv6j??H~S}$ohBa zcOYj&*jgRONDoIzJHc}4sio(?CJQieY*S8IzW!bROEax4uaC|tb>?0&`=U<5jyKs= zTr*r;8Eo7=ZeLx-nxHrEdTG_n-gn{azuIe5BS)cTUaU z4`H9O8Vet6Ju7=&@}cQW3HE7Uc)y>^`>w34%^+}9`qg_=2BC`z)7>Q#&G%VaR8Kf& zv||7D7h7~vTvex;bf^~cw5~r`Yo;5bdyl<5N^Jf9pMRRzYMWeOOncK6B``-eRk~5(>a@D zzVGin{v#|7>k_ { const DISABLED_ITEMS = [ 'endermanoverhaul:corrupted_blade', - 'endermanoverhaul:savanna_hood', - 'endermanoverhaul:snowy_hood', - 'endermanoverhaul:bubble_pearl', 'endermanoverhaul:icy_pearl' ] diff --git a/kubejs/server_scripts/species/recipes.js b/kubejs/server_scripts/species/recipes.js index 2c7fe4c09..787f23665 100644 --- a/kubejs/server_scripts/species/recipes.js +++ b/kubejs/server_scripts/species/recipes.js @@ -99,4 +99,59 @@ function registerSpeciesRecipes(event) { B: 'species:kinetic_core', C: 'tacz:target' }).id('tfg:shaped/deflector_dummy') + + event.recipes.tfc.sewing('species:wicked_mask', + [ + 1, 0, 0, 1, 0, 0, 1, + 1, 0, 0, 1, 0, 0, 1, + 1, 0, 0, 1, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 1, + 0, 0, 0, 1, 0, 0, 1 + ], + [ + 1, 1, 1, 1, 0, 0, 0, 0, + 1, -1, -1, 1, 0, -1, -1, 0, + 1, 1, 1, 1, 0, 0, 0, 0, + 1, 1, -1, -1, -1, -1, 0, 0 + ]).id('tfg:sewing/wicked_mask') + + event.recipes.gtceu.assembler('tfg:wicked_mask') + .itemInputs('2x #tfc:sewing_light_cloth', '2x #tfc:sewing_dark_cloth', '3x #forge:string') + .itemOutputs('species:wicked_mask') + .EUt(GTValues.VA[GTValues.ULV]) + .duration(200) + + event.recipes.firmalife.mixing_bowl() + .outputItem('2x species:wicked_treat') + .itemIngredients(['#tfg:medicine', 'minecraft:bone_meal', 'minecraft:bone_meal']) + .id('tfg:mixing_bowl/wicked_treat') + + event.recipes.gtceu.mixer('tfg:wicked_treat') + .itemInputs('#tfg:medicine', '2x minecraft:bone_meal') + .itemOutputs('2x species:wicked_treat') + .EUt(GTValues.VA[GTValues.ULV]) + .duration(200) + + event.shaped('species:smoke_bomb', [ + ' A ', + 'BCB', + 'EDE' + ], { + A: '#forge:string', + B: 'minecraft:paper', + C: '#tfg:invisibility_ingredients', + D: 'gtceu:sticky_resin', + E: '#tfc:powders' + }).id('tfg:shaped/smoke_bomb') + + event.shaped('2x species:smoke_bomb', [ + ' B ', + 'BCB', + ' D ' + ], { + A: '#forge:string', + B: 'minecraft:paper', + C: '#tfg:invisibility_ingredients', + D: 'tfg:dry_ice', + }).id('tfg:shaped/smoke_bomb_dry_ice') } \ No newline at end of file diff --git a/kubejs/server_scripts/species/tags.js b/kubejs/server_scripts/species/tags.js index 651d2a748..0b0cce993 100644 --- a/kubejs/server_scripts/species/tags.js +++ b/kubejs/server_scripts/species/tags.js @@ -35,4 +35,6 @@ const registerSpeciesItemTags = (event) => { event.add('minecraft:wart_blocks', 'species:alphacene_mushroom_block') event.add('species:stackatick_tempt_items', 'tfc:sweetener') + + event.add('forge:ender_pearls', 'species:wicked_swapper') } diff --git a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js index 6eef4f4da..f1d7cd128 100644 --- a/kubejs/server_scripts/tfg/food/recipes.meal_bags.js +++ b/kubejs/server_scripts/tfg/food/recipes.meal_bags.js @@ -14,7 +14,7 @@ function registerTFGMealBagRecipes(event) { .notConsumable('gtceu:block_casting_mold') .itemOutputs('2x tfg:dry_ice') .duration(100) - .EUt(GTValues.VA[GTValues.MV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/liq_co2') .inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000)) diff --git a/kubejs/startup_scripts/species/constants.js b/kubejs/startup_scripts/species/constants.js index b3cd81106..ec40a9568 100644 --- a/kubejs/startup_scripts/species/constants.js +++ b/kubejs/startup_scripts/species/constants.js @@ -22,13 +22,9 @@ global.SPECIES_DISABLED_ITEMS = [ 'species:bewereager_head', 'species:quake_head', 'species:ghoul_head', - 'species:wicked_mask', - 'species:wicked_swapper', 'species:spectralibur', - 'species:smoke_bomb', 'species:wicked_dope', 'species:monster_meal', - 'species:wicked_treat', 'species:ghoul_tongue', 'species:broken_links', 'species:werefang', From c0a065dfbcd0039ffaefcd5f80b2be059e9b3adf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 11:28:51 +0000 Subject: [PATCH 463/628] add missing dependency for rnr roads that "fixes" the speed issue --- CHANGELOG.md | 1 + pakku-lock.json | 71 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 703cd387f..2882e2e2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - Fixed hot ingots melting packed ice into water sources @Mqrius - Fixed inconsistent recipes for metal bars, now they all use the anvil or stonecutter. Also added recycling for them all @Pyritie - Various quest fixes and improvements @thederpysockdude123 +- Added a missing dependency that fixes the rnr roads' crazy acceleration @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/pakku-lock.json b/pakku-lock.json index ded7567d4..b9f6e45a8 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1820,6 +1820,74 @@ } ] }, + { + "pakku_id": "8jcmjuoMhFDsALTg", + "pakku_links": [ + "3Hn4sTVbBvKyQJJS" + ], + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "block-runner", + "modrinth": "block-runner" + }, + "name": { + "curseforge": "Block Runner", + "modrinth": "Block Runner" + }, + "id": { + "curseforge": "442842", + "modrinth": "1VSGxqkt" + }, + "files": [ + { + "type": "curseforge", + "file_name": "BlockRunner-v8.0.4-1.20.1-Forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5157/20/BlockRunner-v8.0.4-1.20.1-Forge.jar", + "id": "5157020", + "parent_id": "442842", + "hashes": { + "sha1": "71fc6fe4b99dc495528edbb0be12b126eab64b6f", + "md5": "599fa317751adc86fafeef00fa9eb753" + }, + "required_dependencies": [ + "495476" + ], + "size": 76565, + "date_published": "2024-03-04T12:26:25.207Z" + }, + { + "type": "modrinth", + "file_name": "BlockRunner-v8.0.4-1.20.1-Forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/1VSGxqkt/versions/JCUr7it5/BlockRunner-v8.0.4-1.20.1-Forge.jar", + "id": "JCUr7it5", + "parent_id": "1VSGxqkt", + "hashes": { + "sha512": "d13dbe6d30092800f47006dc90754f2fd09422158b3d95f634325a1e82cb00c7898fde65d7bbdd6d95a6d004272227821b5bfb58be8c64af781d6b562e7ac48b", + "sha1": "71fc6fe4b99dc495528edbb0be12b126eab64b6f" + }, + "required_dependencies": [ + "QAGBst4M" + ], + "size": 76565, + "date_published": "2024-03-04T12:26:29.116774Z" + } + ] + }, { "pakku_id": "Yr24iolwXV9aFEWV", "type": "MOD", @@ -11245,7 +11313,8 @@ { "pakku_id": "Onv7E6XLSsx0NE2o", "pakku_links": [ - "64uacGcEw697jVGs" + "64uacGcEw697jVGs", + "8jcmjuoMhFDsALTg" ], "type": "MOD", "side": "BOTH", From dc91c1f7aec5b8e8e89c1ac89650972c45430f54 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 11:33:20 +0000 Subject: [PATCH 464/628] added saltpeter to cassiterite veins --- CHANGELOG.md | 1 + .../entries/tfg_ores/earth_ore_index.json | 6 +-- .../entries/tfg_ores/earth_vein_index.json | 50 +++++++++++++++---- .../entries/tfg_ores/nether_ore_index.json | 6 +-- .../entries/tfg_ores/nether_vein_index.json | 25 ++++++++-- .../entries/tfg_ores/earth_ore_index.json | 6 +-- .../entries/tfg_ores/earth_vein_index.json | 50 +++++++++++++++---- .../entries/tfg_ores/nether_ore_index.json | 6 +-- .../entries/tfg_ores/nether_vein_index.json | 25 ++++++++-- .../entries/tfg_ores/earth_ore_index.json | 6 +-- .../entries/tfg_ores/earth_vein_index.json | 50 +++++++++++++++---- .../entries/tfg_ores/nether_ore_index.json | 6 +-- .../entries/tfg_ores/nether_vein_index.json | 25 ++++++++-- .../entries/tfg_ores/earth_ore_index.json | 6 +-- .../entries/tfg_ores/earth_vein_index.json | 50 +++++++++++++++---- .../entries/tfg_ores/nether_ore_index.json | 6 +-- .../entries/tfg_ores/nether_vein_index.json | 25 ++++++++-- .../entries/tfg_ores/earth_ore_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 50 +++++++++++++++---- .../entries/tfg_ores/nether_ore_index.json | 4 +- .../entries/tfg_ores/nether_vein_index.json | 25 ++++++++-- .../entries/tfg_ores/earth_ore_index.json | 4 +- .../entries/tfg_ores/earth_vein_index.json | 50 +++++++++++++++---- .../entries/tfg_ores/nether_ore_index.json | 4 +- .../entries/tfg_ores/nether_vein_index.json | 25 ++++++++-- .../earth/vein/normal_cassiterite.json | 30 ++++++++--- .../earth/vein/surface_bismuthinite.json | 4 +- .../earth/vein/surface_cassiterite.json | 34 +++++++++---- .../earth/vein/surface_copper.json | 4 +- .../earth/vein/surface_sphalerite.json | 4 +- .../earth/vein/surface_tetrahedrite.json | 4 +- .../mars/vein/mars_surface_cassiterite.json | 10 ++-- .../nether/vein/nether_cassiterite.json | 30 ++++++++++- 33 files changed, 481 insertions(+), 154 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2882e2e2d..5c850f6e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - Apatite, Tricalcium phosphate, rock salt, potassium sulfate, and ammonium chloride dusts now count as crop fertiliser (#2501) @Xtrial-01 - Added quern recipes for gems into dust @Pyritie - Added recipes for smoke bombs, pet treats, and disguise kits, and added swapper pearls to the loot tables of various endermen @Pyritie +- Added a little saltpeter to cassiterite veins @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius 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 89c3c42d0..bf3d42fda 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Bornite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcite: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cobalt: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Cooperite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Diamond: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()", + "text": "$(li)Bornite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcite: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/earth_vein_index#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cobalt: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Cooperite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Diamond: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()", "type": "patchouli:text" }, { @@ -39,12 +39,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pyrope: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quartzite: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Salt: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Scheelite: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Pyrope: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quartzite: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Salt: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Scheelite: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/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 c3413c541..bd497aa70 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 @@ -563,7 +563,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", + "text": "$(thing)Percentage$(): 55%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", "type": "patchouli:multiblock" }, { @@ -583,13 +583,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Nitrogen$(br)$(thing)Formula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", @@ -615,7 +630,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", + "text": "$(thing)Percentage$(): 55%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", "type": "patchouli:multiblock" }, { @@ -635,13 +650,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Nitrogen$(br)$(thing)Formula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json index 066e4693c..643d1ab05 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Calcite: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/nether_vein_index#nether_cassiterite)40%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Cobalt: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Cooperite: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)Diamond: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Diatomite: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Electrotine: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()", + "text": "$(li)Calcite: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Cobalt: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Cooperite: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)Diamond: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Diatomite: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Electrotine: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()", "type": "patchouli:text" }, { @@ -39,12 +39,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Quartzite: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Ruby: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)Sapphire: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Scheelite: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Stibnite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()", + "text": "$(li)Quartzite: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Ruby: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Sapphire: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Scheelite: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Stibnite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)60%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", + "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", "type": "patchouli:text" }, { 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 58f18ab04..90920c3bc 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 @@ -396,7 +396,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", + "text": "$(thing)Percentage$(): 54%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", "type": "patchouli:multiblock" }, { @@ -416,13 +416,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", + "text": "$(thing)Percentage$(): 36%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 9%$(br)$(thing)Source of$(): Potassium, Nitrogen$(br)$(thing)Formula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", 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 89c3c42d0..bf3d42fda 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Bornite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcite: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cobalt: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Cooperite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Diamond: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()", + "text": "$(li)Bornite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcite: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/earth_vein_index#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cobalt: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)Cooperite: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Diamond: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomite: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()", "type": "patchouli:text" }, { @@ -39,12 +39,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Pyrope: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quartzite: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Salt: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Scheelite: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", + "text": "$(li)Pyrope: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Quartzite: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Realgar: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)Redstone: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Salt: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Scheelite: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/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 c3413c541..bd497aa70 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 @@ -563,7 +563,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", + "text": "$(thing)Percentage$(): 55%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", "type": "patchouli:multiblock" }, { @@ -583,13 +583,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Nitrogen$(br)$(thing)Formula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", @@ -615,7 +630,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", + "text": "$(thing)Percentage$(): 55%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", "type": "patchouli:multiblock" }, { @@ -635,13 +650,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Nitrogen$(br)$(thing)Formula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json index 066e4693c..643d1ab05 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Calcite: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/nether_vein_index#nether_cassiterite)40%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Cobalt: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Cooperite: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)Diamond: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Diatomite: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Electrotine: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()", + "text": "$(li)Calcite: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()$(li)Cassiterite Sand: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Chalcocite: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Chromite: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Cinnabar: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Coal: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Cobalt: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Cobaltite: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Cooperite: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)Diamond: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Diatomite: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Electrotine: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()", "type": "patchouli:text" }, { @@ -39,12 +39,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Quartzite: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Ruby: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)Sapphire: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Scheelite: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Stibnite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()", + "text": "$(li)Quartzite: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Red Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Redstone: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Ruby: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Sapphire: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Scheelite: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Soapstone: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)Sodalite: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Stibnite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)60%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", + "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", "type": "patchouli:text" }, { 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 58f18ab04..90920c3bc 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 @@ -396,7 +396,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 60%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", + "text": "$(thing)Percentage$(): 54%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): Sn", "type": "patchouli:multiblock" }, { @@ -416,13 +416,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 40%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", + "text": "$(thing)Percentage$(): 36%$(br)$(thing)Melts into$(): Tin$(br)$(thing)Formula$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Saltpeter", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 9%$(br)$(thing)Source of$(): Potassium, Nitrogen$(br)$(thing)Formula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", 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 eb4d0a765..62f893369 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 @@ -19,12 +19,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Bentonita: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Berílio: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Bórax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Chumbo: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Cianita: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()", + "text": "$(li)Bentonita: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)Berílio: $(l:tfg_ores/earth_vein_index#normal_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)Bórax: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)Bornita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/earth_vein_index#normal_coal)100%$(/l), $(l:tfg_ores/earth_vein_index#normal_graphite)30%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/earth_vein_index#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Chumbo: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Cianita: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/earth_vein_index#normal_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Cobalto: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Cooperita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Cromita: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Diamante: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Enxofre: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Espessartita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Espodumena: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Estanho: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Estibnita: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", + "text": "$(li)Cobalto: $(l:tfg_ores/earth_vein_index#normal_garnierite)15%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Cooperita: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)Cromita: $(l:tfg_ores/earth_vein_index#deep_magnetite)33%$(/l), $(l:tfg_ores/earth_vein_index#normal_magnetite)4%$(/l)$()$(li)Diamante: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Diatomita: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Enxofre: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Espessartita: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Espodumena: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Estanho: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Estibnita: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", "type": "patchouli:text" }, { @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Safira: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Sal: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Sheelita: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Sodalita: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarcianita: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()", + "text": "$(li)Safira: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Sal: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)Sodalita: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarcianita: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/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 1bedfdc71..0411088c3 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 @@ -801,7 +801,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 60%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): Sn", + "text": "$(thing)Porcentagem$(): 55%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): Sn", "type": "patchouli:multiblock" }, { @@ -821,13 +821,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 40%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): SnO₂", + "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Salitre", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Fonte de$(): Potássio, Nitrogênio$(br)$(thing)Fórmula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", @@ -853,7 +868,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 60%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): SnO₂", + "text": "$(thing)Porcentagem$(): 55%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): SnO₂", "type": "patchouli:multiblock" }, { @@ -873,13 +888,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 40%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): Sn", + "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): Sn", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Salitre", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Fonte de$(): Potássio, Nitrogênio$(br)$(thing)Fórmula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json index 15b2f4fd7..cf640e558 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json @@ -19,12 +19,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Berílio: $(l:tfg_ores/nether_vein_index#nether_beryllium)33%$(/l)$()$(li)Bórax: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)Bornita: $(l:tfg_ores/nether_vein_index#nether_sheldonite)41%$(/l), $(l:tfg_ores/nether_vein_index#nether_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/nether_vein_index#nether_cassiterite)40%$(/l)$()$(li)Chumbo: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Cianita: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Cobalto: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()", + "text": "$(li)Berílio: $(l:tfg_ores/nether_vein_index#nether_beryllium)33%$(/l)$()$(li)Bórax: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)Bornita: $(l:tfg_ores/nether_vein_index#nether_sheldonite)41%$(/l), $(l:tfg_ores/nether_vein_index#nether_topaz)15%$(/l)$()$(li)Calcita: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Calcocita: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Carvão: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()$(li)Chumbo: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Cianita: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)Cinábrio: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Cobaltita: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Cobalto: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Cobre Nativo: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Cooperita: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)Cromita: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Diamante: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Diatomita: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)Enxofre: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)Espessartita: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Estanho: $(l:tfg_ores/nether_vein_index#nether_cassiterite)60%$(/l)$()$(li)Estibnita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Fosfato Tricálcico: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Galena: $(l:tfg_ores/nether_vein_index#nether_silver)30%$(/l)$()$(li)Garnierita: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()", + "text": "$(li)Cooperita: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)Cromita: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Diamante: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Diatomita: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Eletrotina: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)Enxofre: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Esmeralda: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)Espessartita: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Estanho: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Estibnita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Fosfato Tricálcico: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Galena: $(l:tfg_ores/nether_vein_index#nether_silver)30%$(/l)$()$(li)Garnierita: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()", "type": "patchouli:text" }, { @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Salitre: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)Sheelita: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Silvita: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Sodalita: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Tório: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()", + "text": "$(li)Salitre: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Sheelita: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Silvita: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Sodalita: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Tório: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()", "type": "patchouli:text" }, { 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 65bd3f1a8..11f83bae3 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 @@ -488,7 +488,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 60%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): Sn", + "text": "$(thing)Porcentagem$(): 54%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): Sn", "type": "patchouli:multiblock" }, { @@ -508,13 +508,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 40%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): SnO₂", + "text": "$(thing)Porcentagem$(): 36%$(br)$(thing)Derrete em$(): Estanho$(br)$(thing)Fórmula$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Salitre", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 9%$(br)$(thing)Fonte de$(): Potássio, Nitrogênio$(br)$(thing)Fórmula$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", 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 abf597413..e09e96b18 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 @@ -24,7 +24,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Диатомовый пелит: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Жёлтый гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Изумруд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Касситеритовый песок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Кварцит: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(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#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()", + "text": "$(li)Диатомовый пелит: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Жёлтый гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)Изумруд: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/earth_vein_index#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Касситеритовый песок: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Кварцит: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(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#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()", "type": "patchouli:text" }, { @@ -34,12 +34,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Олово: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Опал: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Пентландит: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Пирит: $(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)Пиролюзит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Пироп: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Платина: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Повеллит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Поллуцит: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубин: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородная Золото: $(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)$()", + "text": "$(li)Олово: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Опал: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Пентландит: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Пирит: $(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)Пиролюзит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Пироп: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Платина: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Повеллит: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Поллуцит: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)Редстоун: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)Рубин: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)Самородная Золото: $(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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(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)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Сера: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/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_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибнит: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()", + "text": "$(li)Самородная Медь: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Самородная Серебро: $(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)Сапфир: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)Свинец: $(l:tfg_ores/earth_vein_index#normal_silver)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)11%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)7%$(/l)$()$(li)Селитра: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/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_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибнит: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/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 d5def4710..7de77292e 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 @@ -1530,7 +1530,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 60%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", + "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", "type": "patchouli:multiblock" }, { @@ -1550,13 +1550,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Селитра", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", @@ -1582,7 +1597,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 60%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", + "text": "$(thing)Процент руды$(): 55%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", "type": "patchouli:multiblock" }, { @@ -1602,13 +1617,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Селитра", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json index a28d311e8..c863eef1c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json @@ -24,12 +24,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)Жёлтый гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Изумруд: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)Кальцит: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Касситерит: $(l:tfg_ores/nether_vein_index#nether_cassiterite)40%$(/l)$()$(li)Касситеритовый песок: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Кварцит: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Киноварь: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Красный гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Лазурит: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()", + "text": "$(li)Жёлтый гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Изумруд: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)Кальцит: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Касситерит: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()$(li)Касситеритовый песок: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Кварцит: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Киноварь: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)Кобальт: $(l:tfg_ores/nether_vein_index#nether_garnierite)14%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)Красный гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Лазурит: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Лазурит 2: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Литий: $(l:tfg_ores/nether_vein_index#nether_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()$(li)Малахит: $(l:tfg_ores/nether_vein_index#nether_goethite)20%$(/l)$()$(li)Молибденит: $(l:tfg_ores/nether_vein_index#nether_molybdenum)31%$(/l)$()$(li)Монацит: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)Наквада: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)Незер-кварц: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Неодим: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)Никель: $(l:tfg_ores/nether_vein_index#nether_sheldonite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l), $(l:tfg_ores/nether_vein_index#nether_molybdenum)15%$(/l)$()$(li)Оливин: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Олово: $(l:tfg_ores/nether_vein_index#nether_cassiterite)60%$(/l)$()", + "text": "$(li)Лазурит 2: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Литий: $(l:tfg_ores/nether_vein_index#nether_scheelite)20%$(/l)$()$(li)Магнезит: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Магнетит: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()$(li)Малахит: $(l:tfg_ores/nether_vein_index#nether_goethite)20%$(/l)$()$(li)Молибденит: $(l:tfg_ores/nether_vein_index#nether_molybdenum)31%$(/l)$()$(li)Монацит: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)Наквада: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)Незер-кварц: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Неодим: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)Никель: $(l:tfg_ores/nether_vein_index#nether_sheldonite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l), $(l:tfg_ores/nether_vein_index#nether_molybdenum)15%$(/l)$()$(li)Оливин: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Олово: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()", "type": "patchouli:text" }, { @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Сапфир: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Свинец: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Селитра: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)Сера: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)Сильвин: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/nether_vein_index#nether_mica)33%$(/l)$()$(li)Смектическая глина: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Содалит: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Спасерит: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Стибнит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()", + "text": "$(li)Сапфир: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Свинец: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)Селитра: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Сера: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)Сильвин: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Синий топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Слюда: $(l:tfg_ores/nether_vein_index#nether_mica)33%$(/l)$()$(li)Смектическая глина: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Содалит: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Спасерит: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Стибнит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()", "type": "patchouli:text" }, { 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 7733ddf21..75357dc97 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 @@ -1229,7 +1229,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 60%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", + "text": "$(thing)Процент руды$(): 54%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): Sn", "type": "patchouli:multiblock" }, { @@ -1249,13 +1249,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 40%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", + "text": "$(thing)Процент руды$(): 36%$(br)$(thing)Плавится в$(): Олово$(br)$(thing)Формула$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Селитра", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 9%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", 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 1d37495c6..46bbdd955 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 @@ -24,7 +24,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Діамант: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Діатомітн: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Електротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Жовтий гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/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_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Каситеритові піски: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Кварцит: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Кіаніт: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()", + "text": "$(li)Гроссуляр: $(l:tfg_ores/earth_vein_index#normal_manganese)37%$(/l)$()$(li)Діамант: $(l:tfg_ores/earth_vein_index#normal_graphite)25%$(/l)$()$(li)Діатомітн: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)Електротин: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)Жовтий гранат: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)15%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/earth_vein_index#normal_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/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_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/earth_vein_index#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/earth_vein_index#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)Каситеритові піски: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)Кварцит: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)Кіаніт: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()", "type": "patchouli:text" }, { @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Нікель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)Оливін: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Олово: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)Опал: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Пентландит: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Пірит: $(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)Піролюзит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Піроп: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Платина: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Повеліт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Полюцит: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Нікель: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)Оливін: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)Олово: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Опал: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)Пентландит: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)Пірит: $(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)Піролюзит: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)Піроп: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/earth_vein_index#normal_apatite)15%$(/l)$()$(li)Платина: $(l:tfg_ores/earth_vein_index#deep_sheldonite)7%$(/l)$()$(li)Повеліт: $(l:tfg_ores/earth_vein_index#deep_molybdenum)17%$(/l)$()$(li)Полюцит: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/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 4c23681e7..6e89312f7 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 @@ -1490,7 +1490,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 60%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): Sn", + "text": "$(thing)Відсоток$(): 55%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): Sn", "type": "patchouli:multiblock" }, { @@ -1510,13 +1510,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 40%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): SnO₂", + "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Нітрат калію", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Джерело$(): Калію, Азот$(br)$(thing)Формула$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", @@ -1542,7 +1557,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 60%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): SnO₂", + "text": "$(thing)Відсоток$(): 55%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): SnO₂", "type": "patchouli:multiblock" }, { @@ -1562,13 +1577,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 40%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): Sn", + "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): Sn", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Нітрат калію", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Джерело$(): Калію, Азот$(br)$(thing)Формула$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json index 22f3dda26..579eb90c8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json @@ -24,7 +24,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Діамант: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Діатомітн: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Електротин: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)Жовтий гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Земля Фуллера: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Кальцит: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Каситерит: $(l:tfg_ores/nether_vein_index#nether_cassiterite)40%$(/l)$()$(li)Каситеритові піски: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Кварц Нижнього Світу: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Кварцит: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Кіаніт: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()", + "text": "$(li)Діамант: $(l:tfg_ores/nether_vein_index#nether_graphite)40%$(/l)$()$(li)Діатомітн: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)Електротин: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)Жовтий гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)Земля Фуллера: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Кальцит: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)Каситерит: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()$(li)Каситеритові піски: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)Кварц Нижнього Світу: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)Кварцит: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)Кіаніт: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()", "type": "patchouli:text" }, { @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Нітрат калію: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)Оливін: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Олово: $(l:tfg_ores/nether_vein_index#nether_cassiterite)60%$(/l)$()$(li)Опал: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)Пентландит: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_lubricant)15%$(/l)$()$(li)Пірит: $(l:tfg_ores/nether_vein_index#nether_sulfur)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Піроп: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)Платина: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)Повеліт: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)Полюцит: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)Редстоун: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()", + "text": "$(li)Нітрат калію: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Оливін: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)Олово: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Опал: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)Пентландит: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_lubricant)15%$(/l)$()$(li)Пірит: $(l:tfg_ores/nether_vein_index#nether_sulfur)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)Піроп: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)Платина: $(l:tfg_ores/nether_vein_index#nether_sheldonite)5%$(/l)$()$(li)Повеліт: $(l:tfg_ores/nether_vein_index#nether_molybdenum)10%$(/l)$()$(li)Полюцит: $(l:tfg_ores/nether_vein_index#nether_mica)20%$(/l)$()$(li)Редстоун: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)Рубін: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()", "type": "patchouli:text" }, { 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 502c8fb6b..efc819fdb 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 @@ -1137,7 +1137,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 60%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): Sn", + "text": "$(thing)Відсоток$(): 54%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): Sn", "type": "patchouli:multiblock" }, { @@ -1157,13 +1157,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 40%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): SnO₂", + "text": "$(thing)Відсоток$(): 36%$(br)$(thing)Розплавляється в$(): Олово$(br)$(thing)Формула$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "Нітрат калію", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 9%$(br)$(thing)Джерело$(): Калію, Азот$(br)$(thing)Формула$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", 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 d8d0d6af2..16c0a4e2a 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 @@ -24,7 +24,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()", + "text": "$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()", "type": "patchouli:text" }, { @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)铯榴石: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/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_spodumene)35%$(/l)$()$(li)锡石矿: $(l:tfg_ores/earth_vein_index#surface_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)锡石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)锡矿: $(l:tfg_ores/earth_vein_index#normal_cassiterite)60%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)40%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)雄黄: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)青金石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()", + "text": "$(li)铯榴石: $(l:tfg_ores/earth_vein_index#normal_mica)15%$(/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_spodumene)35%$(/l)$()$(li)锡石矿: $(l:tfg_ores/earth_vein_index#surface_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)35%$(/l), $(l:tfg_ores/earth_vein_index#surface_copper)5%$(/l)$()$(li)锡石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)35%$(/l)$()$(li)锡矿: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/earth_vein_index#deep_sapphire)27%$(/l)$()$(li)镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)10%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_lubricant)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)雄黄: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()$(li)青金石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/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 d5b8ed0d7..e735d0826 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 @@ -3279,7 +3279,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 60%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): SnO₂", + "text": "$(thing)百分比$(): 55%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): SnO₂", "type": "patchouli:multiblock" }, { @@ -3299,13 +3299,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 40%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): Sn", + "text": "$(thing)百分比$(): 35%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): Sn", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "硝石", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 10%$(br)$(thing)来源$(): 钾, 氮$(br)$(thing)化学式$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", @@ -3331,7 +3346,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 60%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): Sn", + "text": "$(thing)百分比$(): 55%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): Sn", "type": "patchouli:multiblock" }, { @@ -3351,13 +3366,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 40%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): SnO₂", + "text": "$(thing)百分比$(): 35%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "硝石", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 10%$(br)$(thing)来源$(): 钾, 氮$(br)$(thing)化学式$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json index bcf563877..2d0e70304 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json @@ -24,7 +24,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)石棉: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)石墨: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)硅岩: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)硅藻土: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l)$()$(li)硫: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)硼砂: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()", + "text": "$(li)石棉: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)石墨: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)硅岩: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)硅藻土: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)硫: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)硼砂: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()", "type": "patchouli:text" }, { @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)锡石矿: $(l:tfg_ores/nether_vein_index#nether_cassiterite)40%$(/l)$()$(li)锡石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)锡矿: $(l:tfg_ores/nether_vein_index#nether_cassiterite)60%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)镍矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l), $(l:tfg_ores/nether_vein_index#nether_molybdenum)15%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_lubricant)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)青金石: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)黄玉: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)黄色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)黄褐铁矿: $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/nether_vein_index#nether_sulfur)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)10%$(/l)$()$(li)黄铜矿: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()", + "text": "$(li)锡石矿: $(l:tfg_ores/nether_vein_index#nether_cassiterite)36%$(/l)$()$(li)锡石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)35%$(/l)$()$(li)锡矿: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/nether_vein_index#nether_sapphire)27%$(/l)$()$(li)镍矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l), $(l:tfg_ores/nether_vein_index#nether_molybdenum)15%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l), $(l:tfg_ores/nether_vein_index#nether_lubricant)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/nether_vein_index#nether_sphalerite)40%$(/l), $(l:tfg_ores/nether_vein_index#nether_sulfur)15%$(/l)$()$(li)青金石: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)黄玉: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)黄色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()$(li)黄褐铁矿: $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/nether_vein_index#nether_sulfur)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)10%$(/l)$()$(li)黄铜矿: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()", "type": "patchouli:text" }, { 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 8da28a074..d8f594432 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 @@ -2426,7 +2426,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 60%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): Sn", + "text": "$(thing)百分比$(): 54%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): Sn", "type": "patchouli:multiblock" }, { @@ -2446,13 +2446,28 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 40%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): SnO₂", + "text": "$(thing)百分比$(): 36%$(br)$(thing)熔化$(): 锡$(br)$(thing)化学式$(): SnO₂", "type": "patchouli:multiblock" }, { - "Type": "patchouli:empty", - "draw_filler": true, - "type": "patchouli:empty" + "Type": "patchouli:multiblock", + "name": "硝石", + "multiblock": { + "mapping": { + "0": "#forge:ores/saltpeter" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 9%$(br)$(thing)来源$(): 钾, 氮$(br)$(thing)化学式$(): KNO₃", + "type": "patchouli:multiblock" }, { "Type": "patchouli:text", diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json index 89a719d27..9739dd9e3 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/normal_cassiterite.json @@ -16,7 +16,7 @@ "with": [ { "block": "gtceu:granite_cassiterite_ore", - "weight": 40 + "weight": 35 }, { "block": "gtceu:raw_cassiterite_block", @@ -24,11 +24,15 @@ }, { "block": "gtceu:granite_tin_ore", - "weight": 60 + "weight": 55 }, { "block": "gtceu:raw_tin_block", "weight": 1 + }, + { + "block": "gtceu:granite_saltpeter_ore", + "weight": 10 } ] }, @@ -39,7 +43,7 @@ "with": [ { "block": "gtceu:diorite_cassiterite_ore", - "weight": 40 + "weight": 35 }, { "block": "gtceu:raw_cassiterite_block", @@ -47,11 +51,15 @@ }, { "block": "gtceu:diorite_tin_ore", - "weight": 60 + "weight": 55 }, { "block": "gtceu:raw_tin_block", "weight": 1 + }, + { + "block": "gtceu:diorite_saltpeter_ore", + "weight": 10 } ] }, @@ -62,7 +70,7 @@ "with": [ { "block": "gtceu:gabbro_cassiterite_ore", - "weight": 40 + "weight": 35 }, { "block": "gtceu:raw_cassiterite_block", @@ -70,11 +78,15 @@ }, { "block": "gtceu:gabbro_tin_ore", - "weight": 60 + "weight": 55 }, { "block": "gtceu:raw_tin_block", "weight": 1 + }, + { + "block": "gtceu:gabbro_saltpeter_ore", + "weight": 10 } ] } @@ -87,7 +99,11 @@ "blocks": [ { "block": "tfc:ore/small_cassiterite", - "weight": 100 + "weight": 90 + }, + { + "block": "gtceu:saltpeter_indicator", + "weight": 10 } ] } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json index e1795b96b..8a04a8d0a 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_bismuthinite.json @@ -243,8 +243,8 @@ "indicator": { "rarity": 12, "depth": 60, - "underground_rarity": 1, - "underground_count": 1, + "underground_rarity": 40, + "underground_count": 200, "blocks": [ { "block": "tfc:ore/small_bismuthinite", diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_cassiterite.json index 3ce8220f8..66226c172 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_cassiterite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_cassiterite.json @@ -16,11 +16,15 @@ "with": [ { "block": "gtceu:granite_cassiterite_ore", - "weight": 60 + "weight": 55 }, { "block": "gtceu:granite_tin_ore", - "weight": 40 + "weight": 35 + }, + { + "block": "gtceu:granite_saltpeter_ore", + "weight": 10 } ] }, @@ -31,11 +35,15 @@ "with": [ { "block": "gtceu:diorite_cassiterite_ore", - "weight": 60 + "weight": 55 }, { "block": "gtceu:diorite_tin_ore", - "weight": 40 + "weight": 35 + }, + { + "block": "gtceu:diorite_saltpeter_ore", + "weight": 10 } ] }, @@ -46,11 +54,15 @@ "with": [ { "block": "gtceu:gabbro_cassiterite_ore", - "weight": 60 + "weight": 55 }, { "block": "gtceu:gabbro_tin_ore", - "weight": 40 + "weight": 35 + }, + { + "block": "gtceu:gabbro_saltpeter_ore", + "weight": 10 } ] } @@ -58,12 +70,16 @@ "indicator": { "rarity": 12, "depth": 60, - "underground_rarity": 1, - "underground_count": 1, + "underground_rarity": 40, + "underground_count": 200, "blocks": [ { "block": "tfc:ore/small_cassiterite", - "weight": 100 + "weight": 90 + }, + { + "block": "gtceu:saltpeter_indicator", + "weight": 10 } ] } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json index 1e3d56b6b..e67409d5c 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_copper.json @@ -106,8 +106,8 @@ "indicator": { "rarity": 8, "depth": 60, - "underground_rarity": 1, - "underground_count": 1, + "underground_rarity": 40, + "underground_count": 200, "blocks": [ { "block": "gtceu:chalcopyrite_indicator", diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json index 729a85601..789a8deed 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_sphalerite.json @@ -204,8 +204,8 @@ "indicator": { "rarity": 12, "depth": 60, - "underground_rarity": 1, - "underground_count": 1, + "underground_rarity": 40, + "underground_count": 200, "blocks": [ { "block": "gtceu:sulfur_indicator", diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json index 220ceb0c8..3e5a693e0 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/vein/surface_tetrahedrite.json @@ -127,8 +127,8 @@ "indicator": { "rarity": 12, "depth": 60, - "underground_rarity": 1, - "underground_count": 1, + "underground_rarity": 40, + "underground_count": 200, "blocks": [ { "block": "tfc:ore/small_tetrahedrite", 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 b3724fcdb..f84c3b898 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 @@ -359,16 +359,12 @@ "indicator": { "rarity": 15, "depth": 40, - "underground_rarity": 1, - "underground_count": 1, + "underground_rarity": 40, + "underground_count": 200, "blocks": [ { "block": "tfc:ore/small_cassiterite", - "weight": 55 - }, - { - "block": "tfc:ore/small_cassiterite", - "weight": 35 + "weight": 90 }, { "block": "gtceu:saltpeter_indicator", diff --git a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json index d08470054..c70ee5809 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json +++ b/kubejs/data/tfg/worldgen/configured_feature/nether/vein/nether_cassiterite.json @@ -29,6 +29,10 @@ { "block": "gtceu:raw_tin_block", "weight": 2 + }, + { + "block": "gtceu:granite_saltpeter_ore", + "weight": 10 } ] }, @@ -52,6 +56,10 @@ { "block": "gtceu:raw_tin_block", "weight": 2 + }, + { + "block": "gtceu:diorite_saltpeter_ore", + "weight": 10 } ] }, @@ -75,6 +83,10 @@ { "block": "gtceu:raw_tin_block", "weight": 2 + }, + { + "block": "gtceu:gabbro_saltpeter_ore", + "weight": 10 } ] }, @@ -98,6 +110,10 @@ { "block": "gtceu:raw_tin_block", "weight": 2 + }, + { + "block": "gtceu:gneiss_saltpeter_ore", + "weight": 10 } ] }, @@ -121,6 +137,10 @@ { "block": "gtceu:raw_tin_block", "weight": 2 + }, + { + "block": "gtceu:schist_saltpeter_ore", + "weight": 10 } ] }, @@ -145,6 +165,10 @@ { "block": "gtceu:raw_tin_block", "weight": 2 + }, + { + "block": "gtceu:pyroxenite_saltpeter_ore", + "weight": 10 } ] } @@ -157,7 +181,11 @@ "blocks": [ { "block": "tfc:ore/small_cassiterite", - "weight": 100 + "weight": 90 + }, + { + "block": "gtceu:saltpeter_indicator", + "weight": 10 } ] } From a83f9f87590fee04a8f3dcb1cd8fe028a7c254c7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 12:24:46 +0000 Subject: [PATCH 465/628] move crankbow to steel tier --- kubejs/server_scripts/species/recipes.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/kubejs/server_scripts/species/recipes.js b/kubejs/server_scripts/species/recipes.js index 787f23665..ef88347cb 100644 --- a/kubejs/server_scripts/species/recipes.js +++ b/kubejs/server_scripts/species/recipes.js @@ -13,6 +13,9 @@ function registerSpeciesRecipes(event) { event.shapeless('species:music_disc_lapidarian', ['etched:blank_music_disc', 'tfc:rock/raw/basalt_slab']) event.shapeless('species:music_disk_spawner', ['etched:blank_music_disc', 'computercraft:disk']) + + // TODO: add recipes for its enchants? Quick Crank, Scattershot, Capacity, and Sparing + event.shaped('species:cranktrap', [ 'ABA', 'CDC', @@ -29,10 +32,10 @@ function registerSpeciesRecipes(event) { 'CBC', 'DED' ], { - A: '#forge:rods/black_steel', + A: '#forge:rods/steel', B: 'minecraft:crossbow', - C: '#forge:small_gears/steel', - D: 'tfc:metal/chain/black_steel', + C: '#forge:small_gears/wrought_iron', + D: 'tfc:metal/chain/steel', E: 'create:hand_crank' }).id('tfg:shaped/crankbow') @@ -142,7 +145,19 @@ function registerSpeciesRecipes(event) { C: '#tfg:invisibility_ingredients', D: 'gtceu:sticky_resin', E: '#tfc:powders' - }).id('tfg:shaped/smoke_bomb') + }).id('tfg:shaped/smoke_bomb_paper') + + event.shaped('species:smoke_bomb', [ + ' A ', + 'BC ', + 'EDE' + ], { + A: '#forge:string', + B: '#tfc:fired_vessels', + C: '#tfg:invisibility_ingredients', + D: 'gtceu:sticky_resin', + E: '#tfc:powders' + }).id('tfg:shaped/smoke_bomb_vessel') event.shaped('2x species:smoke_bomb', [ ' B ', From 4406eef411bb6fb965ed667f6cbb3b574b820c6f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 13:36:21 +0000 Subject: [PATCH 466/628] add trooper? and tweak beneath sounds --- kubejs/assets/tfg/sounds.json | 31 ++++++++++++++++++- .../tfg/worldgen/biome/nether/ash_forest.json | 8 ++--- .../biome/nether/decaying_caverns.json | 10 +++--- .../worldgen/biome/nether/diorite_caves.json | 6 ++-- .../worldgen/biome/nether/gabbro_caves.json | 6 ++-- .../worldgen/biome/nether/gneiss_caves.json | 6 ++-- .../worldgen/biome/nether/granite_caves.json | 6 ++-- .../worldgen/biome/nether/lush_hollow.json | 10 +++--- .../worldgen/biome/nether/schist_caves.json | 6 ++-- .../worldgen/biome/nether/webbed_lair.json | 12 +++---- kubejs/server_scripts/species/recipes.js | 29 ++++++----------- kubejs/startup_scripts/tfg/sounds.js | 3 +- 12 files changed, 76 insertions(+), 57 deletions(-) diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 4358b496a..1a9e7be7c 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -1,5 +1,5 @@ { - "ambient.upper_nether.loop": { + "ambient.upper_nether_lush.loop": { "sounds": [ { "name": "ambientsounds:cave/cave_lush", @@ -38,6 +38,35 @@ } ] }, + "ambient.upper_nether_cave.loop": { + "sounds": [ + { + "name": "ambientsounds:cave/cave-water1", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water2", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water3", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water4", + "stream": true, + "volume": 1 + }, + { + "name": "ambientsounds:cave/cave-water5", + "stream": true, + "volume": 1 + } + ] + }, "ambient.upper_nether.additions": { "sounds": [ { diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 08c81cc64..9102d14d7 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -102,10 +102,10 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 2, - "minCount": 1, - "weight": 10 + "type": "species:trooper", + "maxCount": 3, + "minCount": 2, + "weight": 50 }, { "type": "beneath:red_elk", diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index 2dbf55b97..239e984c5 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -8,7 +8,7 @@ "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_lush.loop", "fog_color": 7369031, "mood_sound": { "block_search_extent": 8, @@ -107,16 +107,16 @@ "axolotls": [], "creature": [ { - "type": "minecraft:frog", - "maxCount": 5, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, - "weight": 100 + "weight": 50 }, { "type": "beneath:red_elk", "maxCount": 3, "minCount": 2, - "weight": 50 + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index ee9cb81f5..a2c16252c 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -9,7 +9,7 @@ "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, @@ -100,8 +100,8 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 4, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, "weight": 50 }, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index 3fd6f8cb8..0f4244b9f 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -9,7 +9,7 @@ "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, @@ -100,8 +100,8 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 4, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, "weight": 50 }, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index ec01feca4..e5c647f8d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -9,7 +9,7 @@ "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, @@ -101,8 +101,8 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 4, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, "weight": 50 }, diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 5bbe7ae9a..86695fd2d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -9,7 +9,7 @@ "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, @@ -101,8 +101,8 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 4, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, "weight": 50 }, diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index 6c407718b..98221703a 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -15,7 +15,7 @@ "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_lush.loop", "music": { "max_delay": 24000, "min_delay": 12000, @@ -107,16 +107,16 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 4, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, - "weight": 100 + "weight": 50 }, { "type": "beneath:red_elk", "maxCount": 3, "minCount": 2, - "weight": 50 + "weight": 100 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 411aade9c..9e8e676a6 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -9,7 +9,7 @@ "sound": "tfg:ambient.upper_nether.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "mood_sound": { "block_search_extent": 8, "offset": 2, @@ -100,8 +100,8 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 4, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, "weight": 50 }, diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index 6a164a71a..f72ec776c 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -18,10 +18,10 @@ "sound": "minecraft:music.overworld.dripstone_caves" }, "additions_sound": { - "sound": "tfg:ambient.upper_nether.additions", + "sound": "tfg:ambient.upper_nether_cave.additions", "tick_chance": 0.0111 }, - "ambient_sound": "tfg:ambient.upper_nether.loop", + "ambient_sound": "tfg:ambient.upper_nether_cave.loop", "sky_color": 5799235, "water_color": 7255466, "water_fog_color": 3169873, @@ -103,16 +103,16 @@ ], "creature": [ { - "type": "minecraft:frog", - "maxCount": 4, + "type": "species:trooper", + "maxCount": 3, "minCount": 2, - "weight": 100 + "weight": 50 }, { "type": "beneath:red_elk", "maxCount": 3, "minCount": 2, - "weight": 50 + "weight": 100 } ], "misc": [], diff --git a/kubejs/server_scripts/species/recipes.js b/kubejs/server_scripts/species/recipes.js index ef88347cb..9dd84f942 100644 --- a/kubejs/server_scripts/species/recipes.js +++ b/kubejs/server_scripts/species/recipes.js @@ -105,11 +105,11 @@ function registerSpeciesRecipes(event) { event.recipes.tfc.sewing('species:wicked_mask', [ - 1, 0, 0, 1, 0, 0, 1, - 1, 0, 0, 1, 0, 0, 1, - 1, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 1 + 1, 0, 0, 0, 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, 0, 0, 0, 1, + 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 1, 1, 1, 1, 0, 0, 0, 0, @@ -135,7 +135,7 @@ function registerSpeciesRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) .duration(200) - event.shaped('species:smoke_bomb', [ + event.shaped('2x species:smoke_bomb', [ ' A ', 'BCB', 'EDE' @@ -144,10 +144,10 @@ function registerSpeciesRecipes(event) { B: 'minecraft:paper', C: '#tfg:invisibility_ingredients', D: 'gtceu:sticky_resin', - E: '#tfc:powders' + E: 'minecraft:gunpowder' }).id('tfg:shaped/smoke_bomb_paper') - event.shaped('species:smoke_bomb', [ + event.shaped('2x species:smoke_bomb', [ ' A ', 'BC ', 'EDE' @@ -156,17 +156,6 @@ function registerSpeciesRecipes(event) { B: '#tfc:fired_vessels', C: '#tfg:invisibility_ingredients', D: 'gtceu:sticky_resin', - E: '#tfc:powders' + E: 'minecraft:gunpowder' }).id('tfg:shaped/smoke_bomb_vessel') - - event.shaped('2x species:smoke_bomb', [ - ' B ', - 'BCB', - ' D ' - ], { - A: '#forge:string', - B: 'minecraft:paper', - C: '#tfg:invisibility_ingredients', - D: 'tfg:dry_ice', - }).id('tfg:shaped/smoke_bomb_dry_ice') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/sounds.js b/kubejs/startup_scripts/tfg/sounds.js index 2b383fcc6..b169ac3d1 100644 --- a/kubejs/startup_scripts/tfg/sounds.js +++ b/kubejs/startup_scripts/tfg/sounds.js @@ -3,7 +3,8 @@ function registerTFGSounds(event) { - event.create('tfg:ambient.upper_nether.loop') + event.create('tfg:ambient.upper_nether_lush.loop') + event.create('tfg:ambient.upper_nether_cave.loop') event.create('tfg:ambient.upper_nether.additions') event.create('tfg:ambient.upper_nether.mood') From bbf4ef41f534cc834cf080c29f80a85f27b2804e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 13:37:29 +0000 Subject: [PATCH 467/628] remove this --- config/crash_assistant/config.toml.bak | 253 ------------------------- 1 file changed, 253 deletions(-) delete mode 100644 config/crash_assistant/config.toml.bak diff --git a/config/crash_assistant/config.toml.bak b/config/crash_assistant/config.toml.bak deleted file mode 100644 index 44671905a..000000000 --- a/config/crash_assistant/config.toml.bak +++ /dev/null @@ -1,253 +0,0 @@ - -#General settings of Crash Assistant mod. -[general] - #Link which will be opened in browser on request_help_button pressed. - #If equals CHANGE_ME, will open Forge/NeoForge/Fabric/Quilt discord link. Names of communities/channels also will be used not from config, but according to this link. - #Must start with 'https://' or 'www.' - help_link = "https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues" - #Anyways log will be uploaded to mclo.gs, but with this option you can wrap link to gnomebot.dev for better formatting. - #If help_link equals 'CHANGE_ME', this value will be ignored and gnomebot.dev used. - #Supported values: mclo.gs / gnomebot.dev - upload_to = "gnomebot.dev" - #Show gui on minecraft crashed on modloading and FML error screen displayed. - show_on_fml_error_screen = true - #Close old CrashAssistantApp if it's still running when starting a new instance of Minecraft, to avoid confusing player with window from old crash. - kill_old_app = true - #If options.txt doesn't exist, the default language will be used. - default_lang = "en_us" - #By default, crash assistant will get the value for the current language from the overrides folder, then from the jar. - #By changing this option, it will first try to get it from the current overrides, then (if no override exists for this language) - #from the override for the language specified here, and only then from the jar language. - #Use "NONE" to disable this feature. Or language key, like "en_us" to enable it. - priority_lang_for_overrides = "NONE" - #By changing this value you can disable creating "crash_assistant_localization_overrides" folder and placing "README.md" file there. - generate_localization_overrides_folder_with_readme = true - #By default our process is scanning for terminated processes(they can appear with delay) and after finish of scan enabling upload buttons. - #This option can prevent this and enable individual upload buttons immediately after crash. - #However can confuse users and make them clicking individual upload buttons instead of Upload All Button. - prevent_upload_buttons_delay = false - #Before uploading the first log, requires the user to accept the privacy policy. - #Disabling this option may be illegal in some countries if you are modpack creator. Disable at your own risk. - enable_privacy_policy_acceptance = true - #Unfortunately mclogs censoring ip-like versions as has no way to determine if it's version or IP. - #This will prevent this by replacing dot's in them to dot-like symbol. - #Anti censoring only versions, IP's are kept censored. - enable_mclogs_anti_ip_like_version_censorer = true - #Prevents creating "crash_assistant" folder in the logs folder. - #So this option prevents our app logging at all. - #HIGHLY UNRECOMMENDED to disable! Contains many useful info. - prevent_generating_crash_assistant_app_logs = false - #Generates "logs/stderr_stream.log" with stderr stream. - #Since many launchers are not saving this info, which is extremely helpful for debugging some crashes. - #As only where crash reason is present. Keeps original stream untouched, just logs it to a file. - generate_own_launcher_log = true - #Here you can change priority for logs. - #For example if you want crash report to be shown earlier than latest.log in the available logs list. - #Supported values: https://github.com/KostromDan/Crash-Assistant/blob/1.19-1.20.1/app/src/main/java/dev/kostromdan/mods/crash_assistant/app/logs_analyser/LogType.java - #Usage: ["CRASH_REPORT", "LOG"] - logs_priority_overrides = [] - #List of blacklisted log files (checked with startswith()). This files won't show in GUI logs list. - blacklisted_logs = [] - -#A simplified GUI that hides the logs list until the user opts into Expert Mode. -[simple_mode] - #If enabled, the GUI starts in simple mode with logs hidden and a single "Show Logs (Expert Mode)" button. - #Disabled by default. - enabled = false - #If true, modpack creators always see the Expert Mode with logs visible, even if simple mode is enabled. - prevent_for_modpack_creators = true - #If true, hides the mod list changes section while simple mode is active. - hide_modlist_section = false - -#Here you can change text of lang placeHolders. -#Also you can change any text in lang files. -#You don't need to modify jar. You can change it in config/crash_assistant/lang. For more info read README.md file located where. -[text] - #$CONFIG.text.support_name$ in lang files will be replaced with this value. - #For example this placeHolder used in: "Request help in the $CONFIG.text.support_name$" - support_name = "TFG Github" - #$CONFIG.text.support_place$ in lang files will be replaced with this value. - support_place = "Issues tab" - #$CONFIG.text.modpack_name$ in lang files will be replaced with this value. - #For example this placeHolder used in: "Oops, $CONFIG.text.modpack_name$ crashed!" - #Supports Better Compatibility Checker integration. You can use $BCC.modpackName$, $BCC.modpackVersion$, etc and it will be replaced with value from BCC config. - modpack_name = "TerraFirmaGreg" - -#Settings of message generated by Upload all button -[generated_message] - #Add ### prefix before filename. - #This can prevent too small, hard to hit on mobile links. - h3_prefix = true - #Replaces "\n" separator between logs to " | " to make message vertically smaller. - one_line_logs = true - #Adds line in log list about this Intel processor can be corrupted. - intel_corrupted_notification = true - #If the modpack is created for a non-English-speaking audience, сhange this to the language the modpack is designed for. - #This lang will be used only for generating message by "Upload all..." button.Do not modify this value if there's a chance that the generated message will be sent to English-speaking communities. - generated_msg_lang = "en_us" - #This text will be under "$CONFIG.text.modpack_name$ crashed!" in generated message by Upload all button. - #You can include: - # * some form, which users should fill out. - # * additional information like Minecraft version, etc. - text_under_crashed = "" - #With this option you can notify user about something related with posting generated message. - #For example if they need to fill some option from "text_under_crashed", etc. - #Supports html formatting, placeholders. - #Leave empty to prevent showing this warning message. - warning_after_upload_all_button_press = "" - #Puts problematic frame from hs_err to message. - put_problematic_frame_to_message = true - #Puts analysis result(names of crash reasons) to message, instead of just count. - put_analysis_result_to_message = true - #Color modified mods count/analysis in msg with ANSI. - #Can be needed to be disabled if issues are reported to something not supporting ANSI codeblocks, like GitHub. - color_message = true - -#Settings of links copied by Upload and copy link buttons -[copied_links] - #With this option, you can customize how single links from individual upload buttons are copied, there - #log of small size was uploaded to a single link. - #For example, leave just $LINK$ to copy just link. - single_link = "$LOG_NAME$$FILE_NAME$: $LINK$" - #With this option, you can customize how links from individual upload buttons are copied, there - #log was split to the 2 parts (head and tail, due to too large size for single upload), but user only decided to copy only one of them (not message with both). - single_link_split = "$LOG_NAME$$FILE_NAME$($HEAD_OR_TAIL$): $LINK$ $TOO_BIG_REASONS$" - #With this option, you can customize how links from individual upload buttons are copied, there - #log was split to the 2 parts (head and tail, due to too large size for single upload), but user decided to copy message with both. - both_links_split = "$LOG_NAME$[$FILE_NAME$ $MSG_LANG.gui.split_log_dialog_head$](<$LINK_FIRST_LINES$>) / [$MSG_LANG.gui.split_log_dialog_tail$](<$LINK_LAST_LINES$>) $TOO_BIG_REASONS$" - #If enabled, disables the head/tail selection dialog for split logs on individual uploads and always copies message with both links. - skip_split_dialog = false - -#Settings of modlist feature. -#Adds in generated msg block about which mods modpack user added/removed/updated. -#Also you can see diff by running '/crash_assistant modlist diff' command. -[modpack_modlist] - #Enable feature. - enabled = true - #nicknames of players, who considered as modpack creator. - #Only this players can overwrite modlist.json - #If this feature is enabled and this array is empty, will be appended with nickname of current player. - #----------------------------------------------------------------------------------------------------- - #Warning! This is not displayed anywhere, it's just tech param used for modlist feature to work correctly. - #Here must be actual nicknames of people who work with the modpack and publishing releases! - #----------------------------------------------------------------------------------------------------- - modpack_creators = ["Exception", "Xikaro", "Redeix", "GameStar", "TomTomTom", "Pyritie"] - #If enabled, modlist.json will be overwritten on every launch(first tick of TitleScreen), - #then game is launched by modpack creator. - #So you won't forget to save it before publishing. - #If you want to save manually: disable this and use '/crash_assistant modlist save' command. - auto_update = true - #If enabled, will add resourcepacks to modlist.json - #After filename where will be ' (resourcepack)' suffix. - add_resourcepacks = false - #If enabled, will add modloader jar name to modlist, to easily track if user changed version of modloader. - add_modloader_jar_name = true - #If enabled, will add generated modlist.txt, with names of all mods / modids / mixin configs / jarjar mods info to logs. - add_modlist_txt_as_log = true - -#Settings of too many changes warning feature. -#Notifies end users of the modpack and saying they made too many changes to the modpack. -#Not displayed to the modpack creators. -[too_many_changes_warning] - #Set to the positive integer to enable feature. Set to negative integer to disable. - #How many changes end user should make for warning to be displayed. - count = -1 - #With this option, you can select the formulation of this warning, currently supported: - # - NOTIFY: Just saying to the end user that what they made many changes and adding random mods or clicking - #the "Update All" button is not a good idea without proper testing. It is expected to crash. - # - DROP_SUPPORT: Saying what you are not providing support for that amount of changes, suggesting the end user to - #re-install modpack or they are on their own with that amount of changes. - formulation_type = "NOTIFY" - -#Settings of analysis feature. -#Analysing logs for most common reasons of crashes and displaying recommendations with fixes. -[analysis] - #Enable feature. - enabled = true - #Here you can disable some Analysis by class names. - #List of them can be found here: dev.kostromdan.mods.crash_assistant.app.logs_analyser.crash_reasons - #For example "Create6Addons" - blacklisted_reasons = [] - -#Settings of analysis tools feature. -#Here you can enable disable showing some analysis tools fot end user. -[analysis_tools] - #Enable feature. - enabled = true - #Here you can disable some Analysis tools by class names. - #List of them can be found here: dev.kostromdan.mods.crash_assistant.app.gui.analysis - #For example "MCreatorModDetectorGUI" - blacklisted_tools = [] - -#Settings of '/crash_assistant crash' command feature. -[crash_command] - #Enable feature. - enabled = true - #To ensure the user really wants to crash the game, the command needs to be run again within this amount of seconds. - #Set to <= 0 to disable the confirmation. - seconds = 10 - -#Settings of notifying about intel corrupted processors. -[intel_corrupted] - #Enable feature. - enabled = true - -[greeting] - #You don't need to touch this option. - #On first world join of modpack creator if set to false shows greeting, then self enables. - shown_greeting = true - -#You can customise GUI with this options. -[gui_customisation] - #Will hide Upload All Button from GUI. - disable_upload_all_button = false - #Append comment text with notice about sending screenshot of this gui tells nothing to modpack creators. - show_dont_send_screenshot_of_gui_notice = true - #Animate border to request user attention even more. - screenshot_of_gui_notice_animated_border = true - #You can make Upload All Button bigger/smaller to request user attention. - #Default Swing font size is 12, Default for this button in crash assistant is 16. - #Not recommended to set it more than 16, as it will affect the increase of GUI size because all text won't fit. - upload_all_button_font_size = 16 - #Same as upload_all_button_font_size, but for Request Help button. - request_help_button_font_size = 16 - #Same as upload_all_button_font_size, but for the Simple Mode toggle button. - simple_mode_button_font_size = 16 - #You can change Upload All Button color to request user attention. - #format is "R_G_B", range is 0-255, for example "255_0_0" is red color. Use "default" to use default swing color. - #Default for this button is "0_178_0" (dark green color). - upload_all_button_foreground_color = "0_178_0" - #Same as upload_all_button_foreground_color, but for Request Help button. - #Default for this button is "0_0_178" (dark blue color). - request_help_button_foreground_color = "0_0_178" - #Same as upload_all_button_foreground_color, but for the Simple Mode toggle button. - simple_mode_button_foreground_color = "0_0_178" - #Same as upload_all_button_font_size, but for Auto-Fix button (in integrated GPU warning). - auto_fix_button_font_size = 16 - #Same as upload_all_button_foreground_color, but for Auto-Fix button (in integrated GPU warning). - #Default for this button is "0_178_0" (dark green color). - auto_fix_button_foreground_color = "0_178_0" - #Path to a modpack logo to display in the top of the GUI. - #Path is relative to the Minecraft instance folder. Leave empty to disable. - modpack_logo_path = "kubejs\assets\tfg\textures\gui\tfg_logo_icon_outline_white_sr_456p.gif" - #If true, the logo will be larger, Replacing a some of `don't send screenshot` notice. - #If false, it will be smaller and logo will be end right where the `don't send screenshot` notice starts. - #You should try both, but most likely: - #- If you have some long text in the discord description, you will love the small one. - #- If the text is short, you will love the large one. - modpack_logo_large_mode = false - #Limit modpack logo height. Default is -1, which means it's calculated automatically. - #By default, this should not be needed. But if you have heavily customized GUI or using - #a rectangle logo instead of square, you may want to decrease its size, so this option could be needed in such case. - limit_modpack_logo_height = -1 - #This option would be needed only if you limited modpack logo height. - #Otherwise, the logo will consume all available horizontal space. - #If true, the logo will be centered. If false, it will be aligned to the top. - modpack_logo_aligned_center = true - -#Checks crash_assistant compatibility with other incompatible mods. -#Highly unrecommended to disable! -[compatibility] - #Enable feature. - enabled = true - From ee04d7e4eb52b362b43dc3b768caaae0b7a93d90 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 15:56:04 +0000 Subject: [PATCH 468/628] nah move troopers to venus instead --- kubejs/data/tfg/worldgen/biome/nether/ash_forest.json | 6 ------ .../data/tfg/worldgen/biome/nether/decaying_caverns.json | 6 ------ kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json | 6 ------ kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json | 6 ------ kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json | 6 ------ kubejs/data/tfg/worldgen/biome/nether/granite_caves.json | 6 ------ kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json | 6 ------ kubejs/data/tfg/worldgen/biome/nether/schist_caves.json | 6 ------ kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json | 6 ------ kubejs/data/tfg/worldgen/biome/venus/fumaroles.json | 9 ++++++++- .../tfg/worldgen/biome/venus/stromatolite_beach.json | 9 ++++++++- .../data/tfg/worldgen/biome/venus/sulfuric_ravine.json | 9 ++++++++- .../tfg/worldgen/biome/venus/volcanic_mountains.json | 9 ++++++++- kubejs/server_scripts/tfg/venus/tags.venus.js | 1 + 14 files changed, 33 insertions(+), 58 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index 9102d14d7..3dfa2a653 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -101,12 +101,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 8, diff --git a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json index 239e984c5..75bf12f9c 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json +++ b/kubejs/data/tfg/worldgen/biome/nether/decaying_caverns.json @@ -106,12 +106,6 @@ ], "axolotls": [], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 3, diff --git a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json index a2c16252c..c9bbd3305 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/diorite_caves.json @@ -99,12 +99,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 8, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json index 0f4244b9f..82e8b535d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gabbro_caves.json @@ -99,12 +99,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 8, diff --git a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json index e5c647f8d..74159dd98 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/gneiss_caves.json @@ -100,12 +100,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 8, diff --git a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json index 86695fd2d..56aa7a5e7 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/granite_caves.json @@ -100,12 +100,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 8, diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index 98221703a..be5325af1 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -106,12 +106,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 3, diff --git a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json index 9e8e676a6..e0e450472 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json +++ b/kubejs/data/tfg/worldgen/biome/nether/schist_caves.json @@ -99,12 +99,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 8, diff --git a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json index f72ec776c..d91609c13 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json +++ b/kubejs/data/tfg/worldgen/biome/nether/webbed_lair.json @@ -102,12 +102,6 @@ } ], "creature": [ - { - "type": "species:trooper", - "maxCount": 3, - "minCount": 2, - "weight": 50 - }, { "type": "beneath:red_elk", "maxCount": 3, diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index d2cffa3c0..ce7bdd95b 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -83,7 +83,14 @@ "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "species:trooper", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], "misc": [], "monster": [ { diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index af4ede1e4..b6dd78d4a 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -80,7 +80,14 @@ "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "species:trooper", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], "misc": [], "monster": [ { diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 093908181..fde1b9812 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -81,7 +81,14 @@ "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "species:trooper", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], "misc": [], "monster": [ { diff --git a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json index e07f4cc15..8b51cb9ed 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json @@ -88,7 +88,14 @@ "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "species:trooper", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], "misc": [], "monster": [ { diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 877080d57..f2b77e41a 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -134,6 +134,7 @@ function registerTFGVenusEntityTypeTags(event) { "endermanoverhaul:nether_wastes_enderman", "ad_astra:sulfur_creeper", 'species:cliff_hanger', + 'species:trooper' ] ENTITIES.forEach(entity => { From 90151fe18a624153639ef60a670639b7c7c4fe95 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 16:28:45 +0000 Subject: [PATCH 469/628] fix crash assistant config --- config/crash_assistant/config.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/crash_assistant/config.toml b/config/crash_assistant/config.toml index 0876e5bb0..59df8ee79 100644 --- a/config/crash_assistant/config.toml +++ b/config/crash_assistant/config.toml @@ -195,7 +195,7 @@ [greeting] #You don't need to touch this option. #On first world join of modpack creator if set to false shows greeting, then self enables. - shown_greeting = false + shown_greeting = true #You can customise GUI with this options. [gui_customisation] @@ -229,7 +229,7 @@ auto_fix_button_foreground_color = "0_178_0" #Path to a modpack logo to display in the top of the GUI. #Path is relative to the Minecraft instance folder. Leave empty to disable. - modpack_logo_path = "kubejs\assets\tfg\textures\gui\tfg_logo_icon_outline_white_sr_456p.gif" + modpack_logo_path = "kubejs/assets/tfg/textures/gui/tfg_logo_icon_outline_white_sr_456p.gif" #If true, the logo will be larger, Replacing a some of `don't send screenshot` notice. #If false, it will be smaller and logo will be end right where the `don't send screenshot` notice starts. #You should try both, but most likely: From d6d73c27ab0de7b5174de5b3139fbb9d64f945e4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 16:46:14 +0000 Subject: [PATCH 470/628] fix not being able to use aged alcohols to make vinegar #2519 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfc/recipes.js | 101 ++++++++++++++------------- 2 files changed, 54 insertions(+), 48 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c850f6e9..f0719ec42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ - Fixed inconsistent recipes for metal bars, now they all use the anvil or stonecutter. Also added recycling for them all @Pyritie - Various quest fixes and improvements @thederpysockdude123 - Added a missing dependency that fixes the rnr roads' crazy acceleration @Pyritie +- Fixed not being able to use aged alcohols to make vinegar (#2519) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 4707863f8..f28655422 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -168,7 +168,7 @@ const registerTFCRecipes = (event) => { // Add circuit to gregtech salt water mixer recipe event.remove({ id: 'gtceu:mixer/salt_water' }) generateMixerRecipe(event, ['2x #forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], 1, Fluid.of('gtceu:salt_water', 1000), 40, 7, 64, 'tfg:gtceu/salt_water') - + event.recipes.tfc.barrel_instant() .inputItem(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Salt, 1)) .inputFluid(Fluid.of('minecraft:water', 1000)) @@ -213,7 +213,7 @@ const registerTFCRecipes = (event) => { .EUt(2) // Brass Mechanism - event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear') + event.replaceInput({ input: 'tfc:brass_mechanisms' }, 'tfc:brass_mechanisms', 'gtceu:small_brass_gear') // Rennet event.recipes.gtceu.fermenter('tfg:fermenter/vegetable_rennet') @@ -262,13 +262,13 @@ const registerTFCRecipes = (event) => { global.TFC_EQUIPMENT_METALS.forEach(material => { event.replaceInput({ id: `tfc:crafting/${material}_horse_armor` }, `tfc:jute_fiber`, `#tfg:burlap_fiber`) }) - + event.recipes.gtceu.centrifuge('tfg:soot') .itemInputs('tfc:soot') .itemOutputs('#forge:dusts/carbon') .duration(20) .EUt(2) - + event.recipes.gtceu.extruder('tfg:wrought_iron_grill_electric_only') .itemInputs('2x #forge:plates/wrought_iron') .notConsumable('tfg:large_casing_extruder_mold') @@ -276,51 +276,56 @@ const registerTFCRecipes = (event) => { .duration(60) .EUt(8) - //Jigabit's stupid acetic acid to vinegar conversion + // acetic acid to vinegar conversion - event.recipes.gtceu.mixer('vinegar_from_acetic_acid') - .inputFluids( - Fluid.of('minecraft:water', 950), - Fluid.of('gtceu:acetic_acid', 50) - ) - .outputFluids( - Fluid.of('tfc:vinegar', 1000) - ) - .circuit(1) - .duration(30) - .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.mixer('vinegar_from_acetic_acid') + .inputFluids( + Fluid.of('minecraft:water', 950), + Fluid.of('gtceu:acetic_acid', 50) + ) + .outputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .circuit(1) + .duration(30) + .EUt(GTValues.VA[GTValues.MV]) - event.recipes.gtceu.distillery('acetic_acid_from_vinegar') - .inputFluids( - Fluid.of('tfc:vinegar', 1000) - ) - .outputFluids( - Fluid.of('gtceu:acetic_acid', 50) - ) - .circuit(1) - .duration(50) - .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.distillery('acetic_acid_from_vinegar') + .inputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .outputFluids( + Fluid.of('gtceu:acetic_acid', 50) + ) + .circuit(1) + .duration(50) + .EUt(GTValues.VA[GTValues.MV]) - event.recipes.gtceu.distillery('water_from_vinegar') - .inputFluids( - Fluid.of('tfc:vinegar', 1000) - ) - .outputFluids( - Fluid.of('minecraft:water', 950) - ) - .circuit(2) - .duration(50) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.distillation_tower('vinegar_distillation') - .inputFluids( - Fluid.of('tfc:vinegar', 1000) - ) - .outputFluids( - Fluid.of('gtceu:acetic_acid', 50), - Fluid.of('minecraft:water', 950) - ) - .duration(80) - .EUt(GTValues.VA[GTValues.MV]) - + event.recipes.gtceu.distillery('water_from_vinegar') + .inputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .outputFluids( + Fluid.of('minecraft:water', 950) + ) + .circuit(2) + .duration(50) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.distillation_tower('vinegar_distillation') + .inputFluids( + Fluid.of('tfc:vinegar', 1000) + ) + .outputFluids( + Fluid.of('gtceu:acetic_acid', 50), + Fluid.of('minecraft:water', 950) + ) + .duration(80) + .EUt(GTValues.VA[GTValues.MV]) + + // fix alcohol tag for vinegar + event.recipes.tfc.barrel_sealed(8000) + .inputs('#tfc:foods/fruits', TFC.fluidStackIngredient('#tfg:alcohols', 250)) + .outputFluid(Fluid.of('tfc:vinegar', 250)) + .id('tfc:barrel/vinegar') } From c41ec4dd5f7459f918802954683cc63f20bb4abc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 17:04:51 +0000 Subject: [PATCH 471/628] fix unusable tfc stone knives that you can find in some ruins --- kubejs/server_scripts/tfc/tags.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 2fde44765..4d830893b 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -369,6 +369,12 @@ function registerTFCItemTags(event) { global.TFC_DRY_MUD_BRICKS.forEach((dryMudBrick) => { event.add("tfc:dry_mud_bricks", dryMudBrick); }); + + // Workaround for some of the ruin structures having tfc knives + event.add('tfc:knives', 'tfc:stone/knife/sedimentary') + event.add('tfc:knives', 'tfc:stone/knife/metamorphic') + event.add('tfc:knives', 'tfc:stone/knife/igneous_intrusive') + event.add('tfc:knives', 'tfc:stone/knife/igneous_extrusive') } /** @param {TagEvent.Block} event */ From 8502b3e380690d8f9ccabdd86b2b585bc346801c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 17:08:47 +0000 Subject: [PATCH 472/628] remove constant venus rain sounds --- .../assets/ambientsounds/basic/dimensions/ad_astra_venus.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json index f4984717e..6e0407b3f 100644 --- a/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json +++ b/kubejs/assets/ambientsounds/basic/dimensions/ad_astra_venus.json @@ -3,8 +3,6 @@ "dimension-names": [ "venus" ], - "rain": true, - "storm": true, "biome-selector": { "always": true }, From 83c90be1f058f0bb01ef5dbfa95f152e2a15f5c5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 17:16:36 +0000 Subject: [PATCH 473/628] too many trooper --- kubejs/data/tfg/worldgen/biome/venus/fumaroles.json | 1 + kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json | 1 + kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json | 1 + kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json | 1 + 4 files changed, 4 insertions(+) diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index ce7bdd95b..195a71a6e 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -80,6 +80,7 @@ "charge": 0.7 } }, + "creature_spawn_probability": 0.0001, "spawners": { "ambient": [], "axolotls": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index b6dd78d4a..0e3a91225 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -77,6 +77,7 @@ "charge": 0.7 } }, + "creature_spawn_probability": 0.0001, "spawners": { "ambient": [], "axolotls": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index fde1b9812..15fdec76a 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -78,6 +78,7 @@ "charge": 0.7 } }, + "creature_spawn_probability": 0.0001, "spawners": { "ambient": [], "axolotls": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json index 8b51cb9ed..967f4e282 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json +++ b/kubejs/data/tfg/worldgen/biome/venus/volcanic_mountains.json @@ -85,6 +85,7 @@ "charge": 0.7 } }, + "creature_spawn_probability": 0.0001, "spawners": { "ambient": [], "axolotls": [], From f3760f342e1f7fe69cdf50b33be44f66ab8a5bd0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 18:01:37 +0000 Subject: [PATCH 474/628] item textures for venus fluids, thanks ayzer --- .../tfg/models/item/geyser_slurry_bucket.json | 6 ++++++ .../tfg/models/item/sulfur_fumes_bucket.json | 6 ++++++ .../tfg/textures/item/geyser_slurry_bucket.png | Bin 0 -> 397 bytes .../tfg/textures/item/sulfur_fumes_bucket.png | Bin 0 -> 401 bytes 4 files changed, 12 insertions(+) create mode 100644 kubejs/assets/tfg/models/item/geyser_slurry_bucket.json create mode 100644 kubejs/assets/tfg/models/item/sulfur_fumes_bucket.json create mode 100644 kubejs/assets/tfg/textures/item/geyser_slurry_bucket.png create mode 100644 kubejs/assets/tfg/textures/item/sulfur_fumes_bucket.png diff --git a/kubejs/assets/tfg/models/item/geyser_slurry_bucket.json b/kubejs/assets/tfg/models/item/geyser_slurry_bucket.json new file mode 100644 index 000000000..22bbbf5bc --- /dev/null +++ b/kubejs/assets/tfg/models/item/geyser_slurry_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/geyser_slurry_bucket" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/sulfur_fumes_bucket.json b/kubejs/assets/tfg/models/item/sulfur_fumes_bucket.json new file mode 100644 index 000000000..60b931026 --- /dev/null +++ b/kubejs/assets/tfg/models/item/sulfur_fumes_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/sulfur_fumes_bucket" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/geyser_slurry_bucket.png b/kubejs/assets/tfg/textures/item/geyser_slurry_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..57cf950d4402ca94999c61eaeb1a93b94cb0072b GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7ojhF}Ln;`T^c#A&2FM)s z&tK8@pizE-BFpj=8%!p6_=xJS_gb|2zNl|GU-hKb|jVwdni2bn-hLPK7p`^UR`cifuyw1gSbxA>F%i=hnN8GesxJ9bjV@7k{?%PvGOJrY9#ee7wiPK3R58 z&6bK;`@9Z*-*)ur%fRIe4W;rfnYfC$TG-ni`TJE;E`PmMVQq0C)Adq8mV*T>LJfVn zw-q{+dL9Y1zg#_w(I6pGtUIhN(W90#VA|4@f2qohpKSh@F3XhCyv*FSXvXPHYm8T~ zdbR48v9GY_q=v|cUl}e2%wIT9qiB&A!=%R+ZCoo~OYOSMIgufUqvQQ=g`V(dmm^*p z8eidQP;0ij82pu&f#LuE2MhNrFfcH%fkKm+A#lfZ#hUL6niv=u7(8A5T-G@yGywqI CJ*)2k literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/sulfur_fumes_bucket.png b/kubejs/assets/tfg/textures/item/sulfur_fumes_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..2108e9ca52ada3951727e7f66bad4e1a1bdb2707 GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7-8@|!Ln;`T^zZd+4v=WO zpL8qA*UDf;bDj#1p3V-#LRp>`ZG)Vwoa|qZo7C^pyv&Go>l z)W`)L0d6~vq<-5i!(ovyOU+q-*E;P|*8q{$OMgyxE1lT%=K9=S>!!|hoACUnf^YCe zozp=_-W@jJIa0`T?o^!egw}WYCHYf|jkK6%E!J=f4+<6imABkQaD#&CyyuNZbw>5Q z6K&6Ju@u;F@}S*~*PnP9828F literal 0 HcmV?d00001 From 10128c80c83a32a82ad89abfcf055a2a5d925dc8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 18:52:47 +0000 Subject: [PATCH 475/628] these random rotations look bad --- .../tfg/blockstates/rock/hardened_dripstone.json | 8 -------- .../tfg/blockstates/rock/hardened_glacio_stone.json | 12 ------------ .../tfg/blockstates/rock/hardened_mars_stone.json | 12 ------------ .../tfg/blockstates/rock/hardened_mercury_stone.json | 12 ------------ .../blockstates/rock/hardened_moon_deepslate.json | 12 ------------ .../tfg/blockstates/rock/hardened_moon_stone.json | 12 ------------ .../tfg/blockstates/rock/hardened_venus_stone.json | 12 ------------ 7 files changed, 80 deletions(-) diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json b/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json index 7f7d85558..09a4b5395 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_dripstone.json @@ -4,17 +4,9 @@ { "model": "tfg:block/rock/hardened_dripstone" }, - { - "model": "tfg:block/rock/hardened_dripstone", - "y": 90 - }, { "model": "tfg:block/rock/hardened_dripstone", "y": 180 - }, - { - "model": "tfg:block/rock/hardened_dripstone", - "y": 270 } ] } diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json index 892d1df08..c63dce8fc 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_glacio_stone.json @@ -3,18 +3,6 @@ "": [ { "model": "tfg:block/rock/hardened_glacio_stone" - }, - { - "model": "tfg:block/rock/hardened_glacio_stone", - "y": 90 - }, - { - "model": "tfg:block/rock/hardened_glacio_stone", - "y": 180 - }, - { - "model": "tfg:block/rock/hardened_glacio_stone", - "y": 270 } ] } diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json index 26bca5e62..2bbc0d6bb 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_mars_stone.json @@ -3,18 +3,6 @@ "": [ { "model": "tfg:block/rock/hardened_mars_stone" - }, - { - "model": "tfg:block/rock/hardened_mars_stone", - "y": 90 - }, - { - "model": "tfg:block/rock/hardened_mars_stone", - "y": 180 - }, - { - "model": "tfg:block/rock/hardened_mars_stone", - "y": 270 } ] } diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json index 3f52469ea..f1c60d3a8 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_mercury_stone.json @@ -3,18 +3,6 @@ "": [ { "model": "tfg:block/rock/hardened_mercury_stone" - }, - { - "model": "tfg:block/rock/hardened_mercury_stone", - "y": 90 - }, - { - "model": "tfg:block/rock/hardened_mercury_stone", - "y": 180 - }, - { - "model": "tfg:block/rock/hardened_mercury_stone", - "y": 270 } ] } diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json index a169dfdfa..b144fa91d 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_moon_deepslate.json @@ -3,18 +3,6 @@ "": [ { "model": "tfg:block/rock/hardened_moon_deepslate" - }, - { - "model": "tfg:block/rock/hardened_moon_deepslate", - "y": 90 - }, - { - "model": "tfg:block/rock/hardened_moon_deepslate", - "y": 180 - }, - { - "model": "tfg:block/rock/hardened_moon_deepslate", - "y": 270 } ] } diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json index b10af23d5..a715df8aa 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_moon_stone.json @@ -3,18 +3,6 @@ "": [ { "model": "tfg:block/rock/hardened_moon_stone" - }, - { - "model": "tfg:block/rock/hardened_moon_stone", - "y": 90 - }, - { - "model": "tfg:block/rock/hardened_moon_stone", - "y": 180 - }, - { - "model": "tfg:block/rock/hardened_moon_stone", - "y": 270 } ] } diff --git a/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json b/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json index fae42973a..48a48bd71 100644 --- a/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json +++ b/kubejs/assets/tfg/blockstates/rock/hardened_venus_stone.json @@ -3,18 +3,6 @@ "": [ { "model": "tfg:block/rock/hardened_venus_stone" - }, - { - "model": "tfg:block/rock/hardened_venus_stone", - "y": 90 - }, - { - "model": "tfg:block/rock/hardened_venus_stone", - "y": 180 - }, - { - "model": "tfg:block/rock/hardened_venus_stone", - "y": 270 } ] } From 2ad3120a2feb252cbee11946898b8ae763372c00 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 18:53:48 +0000 Subject: [PATCH 476/628] add salt licks to salt flats --- .../data/tfg/worldgen/biome/venus/salt_flats.json | 4 +++- .../venus/surface/salt_lick_patch.json | 9 +++++++++ .../venus/surface/salt_lick_patch.json | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/salt_lick_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/salt_lick_patch.json diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 34e4e3de4..2ce19ef80 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -40,7 +40,9 @@ "#tfg:venus_veins", "#tfg:venus_underground_decoration", [], - [], + [ + "tfg:venus/surface/salt_lick_patch" + ], [] ], "has_precipitation": true, diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/salt_lick_patch.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/salt_lick_patch.json new file mode 100644 index 000000000..243abf0bc --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/salt_lick_patch.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 32, + "xz_spread": 8, + "y_spread": 1, + "feature": "tfc:salt_lick" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/salt_lick_patch.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/salt_lick_patch.json new file mode 100644 index 000000000..3e2f13d47 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/salt_lick_patch.json @@ -0,0 +1,15 @@ +{ + "feature": "tfg:venus/surface/salt_lick_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file From b917526fa621e63f9f6ee009c0e1ee136d868b8d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 22:57:07 +0000 Subject: [PATCH 477/628] tweaks to crash assistant --- config/crash_assistant/config.toml | 2 +- config/crash_assistant/problematic_mods_config.json | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/config/crash_assistant/config.toml b/config/crash_assistant/config.toml index 59df8ee79..f928162af 100644 --- a/config/crash_assistant/config.toml +++ b/config/crash_assistant/config.toml @@ -67,7 +67,7 @@ #For example this placeHolder used in: "Request help in the $CONFIG.text.support_name$" support_name = "TFG Github" #$CONFIG.text.support_place$ in lang files will be replaced with this value. - support_place = "New Issue button" + support_place = "the text boxes after pressing the green New Issue button" #$CONFIG.text.modpack_name$ in lang files will be replaced with this value. #For example this placeHolder used in: "Oops, $CONFIG.text.modpack_name$ crashed!" #Supports Better Compatibility Checker integration. You can use $BCC.modpackName$, $BCC.modpackVersion$, etc and it will be replaced with value from BCC config. diff --git a/config/crash_assistant/problematic_mods_config.json b/config/crash_assistant/problematic_mods_config.json index 6213ef328..7a73a41bf 100644 --- a/config/crash_assistant/problematic_mods_config.json +++ b/config/crash_assistant/problematic_mods_config.json @@ -1,10 +1,2 @@ { - "createdeco": { - "msg": "This crash happens sometimes. Launching the modpack again should make it disappear.", - "should_crash_on_startup": false - }, - "railways": { - "msg": "This crash happens sometimes. Launching the modpack again should make it disappear.", - "should_crash_on_startup": false - } } \ No newline at end of file From 4329e41af594fb81038ab5540d78977e43094625 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 22:58:21 +0000 Subject: [PATCH 478/628] blacklist landslide blocks from create contraptions --- kubejs/server_scripts/create/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index 312b484a6..c2eb91a4b 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -82,6 +82,7 @@ const registerCreateItemTags = (event) => { event.add('create:non_movable', 'tfg:spice') event.add('create:non_movable', 'tfg:geyser_source') event.add('create:non_movable', 'tfg:geyser_source_small') + event.add('create:non_movable', '#tfc:can_landslide') event.remove('create:stone_types/deepslate', 'minecraft:deepslate') event.remove('create:stone_types/dripstone', 'minecraft:dripstone_block') From cf34751456f4d18c4d7f360d7c46519c84b4f416 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 25 Dec 2025 23:17:17 +0000 Subject: [PATCH 479/628] log sound tweaks --- kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json | 3 --- kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json b/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json index 4c17e218f..e614593d6 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log_jungle.json @@ -1,10 +1,7 @@ [ "tfc:wood/log/kapok", - "tfc:wood/log/hickory", "tfc:wood/log/rosewood", "afc:wood/log/mahogany", - "tfc:wood/log/willow", "afc:wood/log/tualang", - "afc:wood/log/fig", "afc:wood/log/hevea" ] diff --git a/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json b/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json index 75b8d4f86..ac780cad8 100644 --- a/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json +++ b/kubejs/assets/ambientsounds/basic/blockgroups/log_warm.json @@ -5,6 +5,5 @@ "afc:wood/log/ironwood", "afc:wood/log/ipe", "afc:wood/log/baobab", - "afc:wood/log/teak", - "afc:wood/log/eucalyptus" + "afc:wood/log/teak" ] From c24dc58f14ed5289cabe50b0afd100906f21fba8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 26 Dec 2025 00:09:04 +0000 Subject: [PATCH 480/628] add frequent, tiny veins to salt flats and sulfuric ravine --- .../entries/tfg_ores/venus_ore_index.json | 22 ++ .../entries/tfg_ores/venus_vein_index.json | 181 +++++++++++++++ .../entries/tfg_ores/venus_ore_index.json | 22 ++ .../entries/tfg_ores/venus_vein_index.json | 181 +++++++++++++++ .../entries/tfg_ores/venus_ore_index.json | 22 ++ .../entries/tfg_ores/venus_vein_index.json | 181 +++++++++++++++ .../entries/tfg_ores/venus_ore_index.json | 22 ++ .../entries/tfg_ores/venus_vein_index.json | 181 +++++++++++++++ .../entries/tfg_ores/venus_ore_index.json | 22 ++ .../entries/tfg_ores/venus_vein_index.json | 181 +++++++++++++++ .../entries/tfg_ores/venus_ore_index.json | 22 ++ .../entries/tfg_ores/venus_vein_index.json | 181 +++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 4 + kubejs/assets/tfg/lang/fr_fr.json | 4 + kubejs/assets/tfg/lang/pt_br.json | 3 + kubejs/assets/tfg/lang/ru_ru.json | 3 + kubejs/assets/tfg/lang/uk_ua.json | 2 + kubejs/assets/tfg/lang/zh_cn.json | 2 + .../tfg/worldgen/biome/venus/salt_flats.json | 4 +- .../worldgen/biome/venus/sulfuric_ravine.json | 1 + .../venus/vein_manual/salt.json | 206 +++++++++++++++++ .../venus/vein_manual/sulfur.json | 218 ++++++++++++++++++ .../venus/vein_manual/salt.json | 4 + .../venus/vein_manual/sulfur.json | 4 + kubejs/server_scripts/tfg/tags.veins.js | 7 +- .../tfg/worldgen/tags.overworld.js | 3 + 26 files changed, 1681 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..94dc40ab4 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Ore Index", + "icon": "gtceu:sulfur_dust", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "This is the $(thing)Ore Index$() for $(thing)Venus$(). All ores are sorted alphabetically and then by richest to poorest vein type. You can click on them to learn more information about each vein.", + "title": "Venus Ore Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file 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 new file mode 100644 index 000000000..99745b157 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_vein_index.json @@ -0,0 +1,181 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Vein Index", + "icon": "gtceu:venus_stone_sulfur_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "This is the $(thing)Vein Index$() for $(item)Venus$(). Each Vein has details regarding its rarity, density, vein type, height found, sizes, what stones it spawns in, and more.", + "title": "Venus Vein Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)Sulfur & Pyrite$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 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" + }, + { + "Type": "patchouli:multiblock", + "name": "Salt", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sodium, Chlorine$(br)$(thing)Formula$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rock Salt", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lepidolite", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Potassium, Lithium, Aluminium, Fluorine$(br)$(thing)Formula$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Spodumene", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Lithium, Aluminium$(br)$(thing)Formula$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 15$(br)$(thing)Indicator Max Depth$(): 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" + }, + { + "Type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrite", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerite", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", + "type": "patchouli:multiblock" + } + ], + "sortnum": 9 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..94dc40ab4 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Ore Index", + "icon": "gtceu:sulfur_dust", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "This is the $(thing)Ore Index$() for $(thing)Venus$(). All ores are sorted alphabetically and then by richest to poorest vein type. You can click on them to learn more information about each vein.", + "title": "Venus Ore Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file 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 new file mode 100644 index 000000000..99745b157 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_vein_index.json @@ -0,0 +1,181 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Vein Index", + "icon": "gtceu:venus_stone_sulfur_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "This is the $(thing)Vein Index$() for $(item)Venus$(). Each Vein has details regarding its rarity, density, vein type, height found, sizes, what stones it spawns in, and more.", + "title": "Venus Vein Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)Sulfur & Pyrite$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 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" + }, + { + "Type": "patchouli:multiblock", + "name": "Salt", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sodium, Chlorine$(br)$(thing)Formula$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Rock Salt", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lepidolite", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Potassium, Lithium, Aluminium, Fluorine$(br)$(thing)Formula$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Spodumene", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Lithium, Aluminium$(br)$(thing)Formula$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 15$(br)$(thing)Indicator Max Depth$(): 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" + }, + { + "Type": "patchouli:multiblock", + "name": "Sulfur", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pyrite", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sphalerite", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", + "type": "patchouli:multiblock" + } + ], + "sortnum": 9 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..38050b2c8 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Ore Index", + "icon": "gtceu:sulfur_dust", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Este é o $(thing)Índice de Minérios$() para $(thing)Venus$(). Todos os minérios estão ordenados alfabeticamente e do veio mais rico para o mais pobre. Você pode clicar neles para saber mais sobre cada veio.", + "title": "Venus Ore Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Enxofre: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Espodumena: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Pirita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Sal: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file 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 new file mode 100644 index 000000000..90cb05028 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_vein_index.json @@ -0,0 +1,181 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Vein Index", + "icon": "gtceu:venus_stone_sulfur_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Este é o $(thing)Índice de Veios$() para $(item)Venus$(). Cada veio contém detalhes sobre sua raridade, densidade, tipo de veio, altura onde é encontrado, tamanhos, tipos de rocha em que aparece e mais.", + "title": "Venus Vein Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)Enxofre e Pirita$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)Salts & Spodumene$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Raridade$(): 100$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 15$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", + "title": "Enxofre e Pirita", + "type": "patchouli:text", + "anchor": "venus_manual_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Enxofre", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 50%$(br)$(thing)Fonte de$(): Enxofre$(br)$(thing)Fórmula$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Pirita", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Derrete em$(): Ferro Fundido$(br)$(thing)Fórmula$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Esfalerita", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Derrete em$(): Zinco$(br)$(thing)Fórmula$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Raridade$(): 100$(br)$(thing)Densidade$(): 0.2$(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.", + "title": "Salts & Spodumene", + "type": "patchouli:text", + "anchor": "venus_manual_salt" + }, + { + "Type": "patchouli:multiblock", + "name": "Sal", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 50%$(br)$(thing)Fonte de$(): Sódio, Cloro$(br)$(thing)Fórmula$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sal-gema", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lepidorita", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Potássio, Lítio, Alumínio, Flúor$(br)$(thing)Fórmula$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Espodumena", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Lítio, Alumínio$(br)$(thing)Fórmula$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + } + ], + "sortnum": 9 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..e6a7bcf43 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Ore Index", + "icon": "gtceu:sulfur_dust", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "This is the $(thing)Ore Index$() for $(thing)Venus$(). All ores are sorted alphabetically and then by richest to poorest vein type. You can click on them to learn more information about each vein.", + "title": "Venus Ore Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Каменная соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Пирит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Сера: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)Соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file 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 new file mode 100644 index 000000000..61a607b38 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_vein_index.json @@ -0,0 +1,181 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Vein Index", + "icon": "gtceu:venus_stone_sulfur_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "This is the $(thing)Vein Index$() for $(thing)Venus$(). Each Vein has details regarding its rarity, density, vein type, height found, sizes, what stones it spawns on, and more.", + "title": "Venus Vein Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)Сера и Пирит$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 100$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "title": "Salts & Spodumene", + "type": "patchouli:text", + "anchor": "venus_manual_salt" + }, + { + "Type": "patchouli:multiblock", + "name": "Соль", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Каменная соль", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Лепидолит", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Сподумен", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 100$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 15$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "title": "Сера и Пирит", + "type": "patchouli:text", + "anchor": "venus_manual_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Сера", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Пирит", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Сфалерит", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Плавится в$(): Цинк$(br)$(thing)Формула$(): ZnS", + "type": "patchouli:multiblock" + } + ], + "sortnum": 9 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..56888ade7 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Ore Index", + "icon": "gtceu:sulfur_dust", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Це $(thing)Індекс руд$() для $(thing)Venus$(). Усі руди відсортовані в алфавітному порядку, а потім — від найбагатших до найбідніших жил. Ви можете натиснути на них, щоб дізнатися більше про кожну жилу.", + "title": "Venus Ore Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Кам’яна сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Пірит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Сірка: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file 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 new file mode 100644 index 000000000..f6837e2ac --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_vein_index.json @@ -0,0 +1,181 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "Venus Vein Index", + "icon": "gtceu:venus_stone_sulfur_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "Це $(thing)Індекс жил$() для $(thing)Venus$(). Кожна жила містить інформацію про її рідкісність, щільність, тип, висоту залягання, розміри, породи, в яких вона з’являється, та інше.", + "title": "Venus Vein Index", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)Сірка та Пірит$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)Солі і Сподумен$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Рідкість$(): 100$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 15$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "title": "Сірка та Пірит", + "type": "patchouli:text", + "anchor": "venus_manual_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "Сірка", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 50%$(br)$(thing)Джерело$(): Сірки$(br)$(thing)Формула$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Пірит", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Розплавляється в$(): Чавун$(br)$(thing)Формула$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Сфалерит", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Розплавляється в$(): Цинк$(br)$(thing)Формула$(): ZnS", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:text", + "text": "$(thing)Рідкість$(): 100$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "title": "Солі і Сподумен", + "type": "patchouli:text", + "anchor": "venus_manual_salt" + }, + { + "Type": "patchouli:multiblock", + "name": "Сіль", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 50%$(br)$(thing)Джерело$(): Натрію, Хлору$(br)$(thing)Формула$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кам’яна сіль", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 20%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Лепідоліт", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Калію, Літію, Алюмінію, Фтору$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Сподумен", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Літію, Алюмінію$(br)$(thing)Формула$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + } + ], + "sortnum": 9 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json new file mode 100644 index 000000000..f277c2a06 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json @@ -0,0 +1,22 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "金星矿物索引", + "icon": "gtceu:sulfur_dust", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "这是 $(thing)金星$() 的 $(thing)矿物索引$()。所有矿物按字母顺序排序,然后按矿脉类型从最富集到最贫瘠排列。你可以点击它们以了解有关每种矿脉的更多信息。", + "title": "金星矿物索引", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()", + "type": "patchouli:text" + } + ], + "sortnum": 8 +} \ No newline at end of file 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 new file mode 100644 index 000000000..7879a69a8 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_vein_index.json @@ -0,0 +1,181 @@ +{ + "__credits__": "This page was automatically generated by OresToFieldGuide.", + "name": "金星矿脉索引", + "icon": "gtceu:venus_stone_sulfur_ore", + "category": "tfc:tfg_ores", + "read_by_default": true, + "secret": false, + "pages": [ + { + "Type": "patchouli:text", + "text": "这是 $(item)金星$() 的 $(thing)矿脉索引$()。每个矿脉都有关于其稀有度、密度、矿脉类型、生成高度、尺寸、生成于何种岩石中等详细信息。", + "title": "金星矿脉索引", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)$(l:tfg_ores/venus_vein_index#venus_manual_salt)盐, 锂辉石$()$()$(li)$(l:tfg_ores/venus_vein_index#venus_manual_sulfur)硫, 黄铁矿$()$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(thing)稀有度$(): 100$(br)$(thing)密度$(): 0.2$(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" + }, + { + "Type": "patchouli:multiblock", + "name": "盐", + "multiblock": { + "mapping": { + "0": "#forge:ores/salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 50%$(br)$(thing)来源$(): 钠, 氯$(br)$(thing)化学式$(): NaCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "岩盐", + "multiblock": { + "mapping": { + "0": "#forge:ores/rock_salt" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 20%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "锂云母", + "multiblock": { + "mapping": { + "0": "#forge:ores/lepidolite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 钾, 锂, 铝, 氟$(br)$(thing)化学式$(): KLi₃Al₄F₂O₁₀", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "锂辉石", + "multiblock": { + "mapping": { + "0": "#forge:ores/spodumene" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 锂, 铝$(br)$(thing)化学式$(): LiAlSi₂O₆", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, + { + "Type": "patchouli:text", + "text": "$(thing)稀有度$(): 100$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 15$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "title": "硫, 黄铁矿", + "type": "patchouli:text", + "anchor": "venus_manual_sulfur" + }, + { + "Type": "patchouli:multiblock", + "name": "硫", + "multiblock": { + "mapping": { + "0": "#forge:ores/sulfur" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 50%$(br)$(thing)来源$(): 硫$(br)$(thing)化学式$(): S", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "黄铁矿", + "multiblock": { + "mapping": { + "0": "#forge:ores/pyrite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 35%$(br)$(thing)熔化$(): 铸铁$(br)$(thing)化学式$(): FeS₂", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "闪锌矿", + "multiblock": { + "mapping": { + "0": "#forge:ores/sphalerite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 15%$(br)$(thing)熔化$(): 锌$(br)$(thing)化学式$(): ZnS", + "type": "patchouli:multiblock" + } + ], + "sortnum": 9 +} \ 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 17784b859..ad27503d7 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1403,6 +1403,10 @@ "ore_vein.tfg.nether_sylvite": "Sylvite", "ore_vein.tfg.nether_tetrahedrite": "Tetrahedrite", "ore_vein.tfg.nether_topaz": "Topaz & Chalcocite", + "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": "Sulfur & Pyrite", + "ore_vein.tfg.venus_manual_sulfur.emi.0": "Only in Sulfuric Ravine.", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Portal magic seems to be blocked by an unknown force, try reaching another dimension by going down or up", "tfg.tooltip.food_trait.refrigerating": "§bRefrigerating", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 4fd23cb52..5921a7598 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1164,6 +1164,10 @@ "ore_vein.tfg.nether_sylvite": "Sylvite", "ore_vein.tfg.nether_tetrahedrite": "Tetrahedrite", "ore_vein.tfg.nether_topaz": "Topaz & Chalcocite", + "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": "Sulfur & Pyrite", + "ore_vein.tfg.venus_manual_sulfur.emi.0": "Only in Sulfuric Ravine.", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Portal magic seems to be blocked by an unknown force, try reaching another dimension by going down or up", "tfg.tooltip.food_trait.refrigerating": "§bRefrigerating", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index d2366efae..bba736470 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -927,6 +927,9 @@ "ore_vein.tfg.nether_sylvite": "Silvita", "ore_vein.tfg.nether_tetrahedrite": "Tetraedrita", "ore_vein.tfg.nether_topaz": "Topázio e Calcosita", + "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": "Enxofre e Pirita", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "A magia do portal parece estar bloqueada por uma força desconhecida, tente alcançar outra dimensão descendo ou subindo", "tfg.tooltip.food_trait.refrigerating": "§9Refrigerando", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index ad9367eb4..9136db37f 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1237,6 +1237,9 @@ "ore_vein.tfg.nether_sylvite": "Сильвин", "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_sulfur": "Сера и Пирит", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магия портала заблокирована неизвестной силой, попробуйте получить доступ к измерению поднявшись в небо или спустившись в глубины.", "tfg.tooltip.food_trait.refrigerating": "§bRefrigerating", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index a514dcc95..9d5ca901b 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1396,6 +1396,8 @@ "ore_vein.tfg.nether_sylvite": "Сильвін", "ore_vein.tfg.nether_tetrahedrite": "Тетраедрит", "ore_vein.tfg.nether_topaz": "Топаз і Халькоцит", + "ore_vein.tfg.venus_manual_salt": "Солі і Сподумен", + "ore_vein.tfg.venus_manual_sulfur": "Сірка та Пірит", "tfg.creative_tab.tfg": "TerraFirmaGreg", "tfg.disabled_portal": "Магія порталу здається заблокованою невідомою силою, спробуйте дістатися до іншого виміру, спускаючись вниз або підіймаючись угору", "tfg.tooltip.food_trait.refrigerating": "§bОхолодження", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index f7b1fae56..f25dde829 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1490,6 +1490,8 @@ "ore_vein.tfg.nether_sylvite": "钾石盐", "ore_vein.tfg.nether_tetrahedrite": "黝铜矿", "ore_vein.tfg.nether_topaz": "黄玉, 辉铜矿", + "ore_vein.tfg.venus_manual_salt": "盐, 锂辉石", + "ore_vein.tfg.venus_manual_sulfur": "硫, 黄铁矿", "tfg.creative_tab.tfg": "群峦格雷(现代版)", "tfg.disabled_portal": "传送门魔法似乎被未知力量阻挡,请尝试通过向下或向上探索前往其他维度", "tfg.tooltip.food_trait.refrigerating": "§b冷藏保鲜", diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 2ce19ef80..50a15b7c0 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 @@ [], "#tfg:venus_veins", "#tfg:venus_underground_decoration", - [], + [ + "tfg:venus/vein_manual/salt" + ], [ "tfg:venus/surface/salt_lick_patch" ], diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 15fdec76a..6ca6e798f 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -41,6 +41,7 @@ "#tfg:venus_underground_decoration", [ "tfg:venus/terrain/sulfur_blob", + "tfg:venus/vein_manual/sulfur", "tfc:raw_boulder_small_patch", "tfc:cobble_boulder_small_patch", "tfg:venus/terrain/thermal_vent" 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 new file mode 100644 index 000000000..d0d4bedfa --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json @@ -0,0 +1,206 @@ +{ + "type": "tfc:disc_vein", + "config": { + "height": 6, + "size": 20, + "rarity": 100, + "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": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:venus_stone_salt_ore", + "weight": 50 + }, + { + "block": "gtceu:venus_stone_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:venus_stone_spodumene_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:dripstone_salt_ore", + "weight": 50 + }, + { + "block": "gtceu:dripstone_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:dripstone_spodumene_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/rhyolite" + ], + "with": [ + { + "block": "gtceu:rhyolite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:rhyolite_salt_ore", + "weight": 50 + }, + { + "block": "gtceu:rhyolite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:rhyolite_spodumene_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt" + ], + "with": [ + { + "block": "gtceu:basalt_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:basalt_salt_ore", + "weight": 50 + }, + { + "block": "gtceu:basalt_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:basalt_spodumene_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:andesite_salt_ore", + "weight": 50 + }, + { + "block": "gtceu:andesite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:andesite_spodumene_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_rock_salt_ore", + "weight": 20 + }, + { + "block": "gtceu:raw_rock_salt_block", + "weight": 1 + }, + { + "block": "gtceu:dacite_salt_ore", + "weight": 50 + }, + { + "block": "gtceu:dacite_lepidolite_ore", + "weight": 15 + }, + { + "block": "gtceu:dacite_spodumene_ore", + "weight": 15 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 30, + "blocks": [ + { + "block": "gtceu:rock_salt_indicator", + "weight": 10 + }, + { + "block": "gtceu:rock_salt_bud_indicator", + "weight": 10 + }, + { + "block": "gtceu:salt_indicator", + "weight": 25 + }, + { + "block": "gtceu:salt_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:lepidolite_indicator", + "weight": 15 + }, + { + "block": "gtceu:spodumene_indicator", + "weight": 15 + } + ] + } + } +} \ 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 new file mode 100644 index 000000000..e02e7fc75 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json @@ -0,0 +1,218 @@ +{ + "type": "tfc:cluster_vein", + "config": { + "size": 15, + "rarity": 100, + "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": 50 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:rhyolite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "gtceu:rhyolite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/basalt", + "minecraft:basalt" + ], + "with": [ + { + "block": "gtceu:basalt_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:basalt_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "gtceu:basalt_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "minecraft:dripstone_block" + ], + "with": [ + { + "block": "gtceu:dripstone_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:dripstone_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "gtceu:dripstone_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "ad_astra:venus_stone" + ], + "with": [ + { + "block": "gtceu:venus_stone_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:venus_stone_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "gtceu:venus_stone_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/andesite" + ], + "with": [ + { + "block": "gtceu:andesite_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:andesite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "gtceu:andesite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dacite" + ], + "with": [ + { + "block": "gtceu:dacite_sulfur_ore", + "weight": 50 + }, + { + "block": "gtceu:raw_sulfur_block", + "weight": 2 + }, + { + "block": "gtceu:dacite_pyrite_ore", + "weight": 35 + }, + { + "block": "gtceu:raw_pyrite_block", + "weight": 1 + }, + { + "block": "gtceu:dacite_sphalerite_ore", + "weight": 15 + }, + { + "block": "gtceu:raw_sphalerite_block", + "weight": 1 + } + ] + } + ], + "indicator": { + "rarity": 20, + "depth": 30, + "blocks": [ + { + "block": "gtceu:sulfur_indicator", + "weight": 50 + }, + { + "block": "gtceu:pyrite_indicator", + "weight": 35 + }, + { + "block": "tfc:ore/small_sphalerite", + "weight": 15 + } + ] + } + } +} \ 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 new file mode 100644 index 000000000..0d2f4aca3 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/salt.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:venus/vein_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 new file mode 100644 index 000000000..7979b73a1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/vein_manual/sulfur.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:venus/vein_manual/sulfur", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.veins.js b/kubejs/server_scripts/tfg/tags.veins.js index 6b1420420..d938a374f 100644 --- a/kubejs/server_scripts/tfg/tags.veins.js +++ b/kubejs/server_scripts/tfg/tags.veins.js @@ -48,7 +48,6 @@ const registerTFGOreVeinFeatures = (event) => { event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sphalerite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_spodumene') event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_sulfur') - event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tarkianite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tetrahedrite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_bismuthinite') event.add('tfc:in_biome/veins', 'tfg:earth/vein/surface_cassiterite') @@ -166,4 +165,10 @@ const registerTFGOreVeinFeatures = (event) => { // #endregion + + // #region venus ores + + + // #endregion + } diff --git a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js index 594d832ca..4bebe7ca2 100644 --- a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js +++ b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js @@ -75,6 +75,9 @@ function registerTFGOverworldPlacedFeatures(event) { event.add('tfc:in_biome/surface_decoration/plains', 'tfg:earth/rose_quartz/rose_quartz') event.add('tfc:in_biome/surface_decoration/lake', 'tfg:earth/rose_quartz/rose_quartz') + // Tarkianite + event.add('tfc:in_biome/veins', 'tfg:earth/vein/normal_tarkianite') + // Add back the non-ore ones event.add("tfc:in_biome/veins", "tfc:vein/gravel"); event.add("tfc:in_biome/veins", "tfc:vein/kaolin_disc"); From 485e68d0b0ae088f9f71671b9aef10e0d6f87260 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 26 Dec 2025 21:37:26 +0000 Subject: [PATCH 481/628] new trooper textures --- kubejs/assets/species/entity/treeper/trooper.png | Bin 0 -> 881 bytes .../species/entity/treeper/trooper_tame.png | Bin 0 -> 898 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/species/entity/treeper/trooper.png create mode 100644 kubejs/assets/species/entity/treeper/trooper_tame.png diff --git a/kubejs/assets/species/entity/treeper/trooper.png b/kubejs/assets/species/entity/treeper/trooper.png new file mode 100644 index 0000000000000000000000000000000000000000..b09fe26a964861273274f77713d4302248f78b7a GIT binary patch literal 881 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOKYMw5RAr*{UrrBqQ1PUBY zpYO}lq>|ku)vVy*5-6bDHGQ^0e`p%v26o}8Y?${yTHr?VjYLrrX=4_SkHKK?zE}ACA$*ltl!k=U#!jcsCDipZs{Li z|CKLm+fgE*>!P-SRjINv`|T3rpP8T7EJF;gNgflZwY@uSI(y&NRF8i=X?GKgW-%y= zuUB9{@i09J^EoJ7cW?}zTxqc8=7lcUljZ}0@hSHr)E+eE6b}D7fVaN zuG2l{$xtHpP+6@{|50Rc+mkP6Z_aw>Q}ldgoOMm&dS6?~Z$CZCecwJ<+c1-+7Pyg05#D)EnB}n&86j`tid(hOPsjd)K)K z3HjN5v3YaDILABwo`lf<^GD@7f>NY3de;@KvY2$??O$6E_d)6Dt`A%n9zJmv&x>Da zZt?78^>u0I&orzW_@aSu)31z?{Tp|Tcv-@(z1RZWp!oC(vHOntQsBt+6xR8Xw)g# z8#b9AI5(rtgICs-wXJK(jZexCBbse2F0|f~ak6koRGCrv`%3bm^)1!O>L>PdyYuMm zyPbN&;k&1BL*;_VhW;a7E0`3;Uv+V(9#U$Wz+~nqqiD@g&=7pUy-;QUgtZN(ib7?s zMh$!%3naOia{QR(4?H`;SY`b|GQonOpNC`iLIWA+V-A5le!U6Xne!X&GWE%9FfQZU zz<6CjPCDMYb*q`BvDw4_B|F?p8uSvl71d)q&9wfqnC+^teZ4B_A2S2P|Nql78fq9A f7}!8LhMB>oCnkRRLy5Z#3=9mOu6{1-oD!M<*u;P- literal 0 HcmV?d00001 diff --git a/kubejs/assets/species/entity/treeper/trooper_tame.png b/kubejs/assets/species/entity/treeper/trooper_tame.png new file mode 100644 index 0000000000000000000000000000000000000000..ed4428e56e64794a01384e8286e6568b6eed395f GIT binary patch literal 898 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK=AJH&Ar*{Urk(em5-8Gk zz9v_V(@A}^5oc3CSJMfOLs45elsvMouJirNniuV6JzY0yOGfbSLkF4`b%Yc6m;3Cv8NlYC#Oi(^Sf1L`@ffqV2%=#JS}o+ zCU1`QrHM0i-d=jq)T$yhTfj*Ag4FL{yLe3Uw(I6BxXb$ZwW!&L%(|lrb{k_KpJA)> z{qJ{WLfHNeu}K~|P917_Yxcgp^XJzi(`x|-cbre?W6T& z=CZe8S2LJCT;9+RX~lUPINwh{_@Bs4_l^flXI8vPD-1R^?LsfJeicCV7^;n z#iNLz?cYn1iabpYT-P-|q$#g3no5EMM=*Rde$@ap9w){*hV9{c=e>xjzoMHa}f|-`1~ZnT_I)j5iMFFRrS8 z%eJxY^yKN&`OJ*erdd!7!Td$Jz(w4W}9R z7zvm;Cz|L&ELfp4&4pF#P}j+;h(o1_lN;P!?il5Xer5x4B^diGhKE!PC{x JWt~$(6951 Date: Fri, 26 Dec 2025 21:37:34 +0000 Subject: [PATCH 482/628] fix venus veins --- .../tfg/worldgen/configured_feature/venus/vein_manual/salt.json | 2 ++ .../worldgen/configured_feature/venus/vein_manual/sulfur.json | 2 ++ 2 files changed, 4 insertions(+) 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 index d0d4bedfa..4d09ce34f 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json @@ -175,6 +175,8 @@ "indicator": { "rarity": 20, "depth": 30, + "underground_rarity": 40, + "underground_count": 150, "blocks": [ { "block": "gtceu:rock_salt_indicator", 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 index e02e7fc75..d946548f0 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json @@ -199,6 +199,8 @@ "indicator": { "rarity": 20, "depth": 30, + "underground_rarity": 40, + "underground_count": 150, "blocks": [ { "block": "gtceu:sulfur_indicator", From a74ff52e38a4bccd9131f9e129a6af62eab733e6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 26 Dec 2025 22:17:01 +0000 Subject: [PATCH 483/628] wrong sand tag --- kubejs/assets/forge/models/tag/item/sand.json | 3 +++ kubejs/server_scripts/tfg/primitive/recipes.clay.js | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 kubejs/assets/forge/models/tag/item/sand.json diff --git a/kubejs/assets/forge/models/tag/item/sand.json b/kubejs/assets/forge/models/tag/item/sand.json new file mode 100644 index 000000000..7a5974d0b --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/sand.json @@ -0,0 +1,3 @@ +{ + "parent": "tfc:item/sand/yellow" +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index f61bf3c95..9d6db8bbe 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -150,7 +150,7 @@ function registerTFGClayRecipes(event) { 'BBB' ], { A: 'minecraft:clay_ball', - B: '#minecraft:sand', + B: '#forge:sand', C: 'gtceu:brick_wooden_form' }).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay') @@ -160,7 +160,7 @@ function registerTFGClayRecipes(event) { .id('tfg:heating/coke_oven_bricks') event.recipes.gtceu.alloy_smelter('gtceu:coke_oven_brick') - .itemInputs('3x #minecraft:sand', '2x minecraft:clay_ball') + .itemInputs('3x #forge:sand', '2x minecraft:clay_ball') .itemOutputs('gtceu:coke_oven_brick') .duration(7.5 * 20) .EUt(GTValues.VA[GTValues.ULV]) From 9e27221791977b9e17922d7ab99ab617efc28076 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 26 Dec 2025 22:17:05 +0000 Subject: [PATCH 484/628] #809 finally got around to changing loose to cobble --- CHANGELOG.md | 1 + .../gregtech/recipes.removes.js | 7 + .../tfg/natural_blocks/recipes.rocks.js | 152 ++++++++---------- .../tfg/natural_blocks/recipes.tfc_stone.js | 73 ++------- kubejs/startup_scripts/tfg/constants.js | 98 +++++------ 5 files changed, 141 insertions(+), 190 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0719ec42..271886ee6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Breaking Changes - The LCR recipe for BTX fuel now requires circuit 24, to fix a recipe conflict (#2515) @TomPlop +- Loose stones now compress into cobblestone (without any mortar) and vice versa. So if you're currently using gravel to store your loose stones, uncraft them before updating. (#809) @Pyritie ### Changes - Added casting molds for small gears, nuggets, and rods (#2470) @glitchplaysgames714 - Added some new illages to the hot and dry, and cold and dry climates of the world! @MVG31 diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index dd8639443..3075b5634 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -34,6 +34,10 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_diorite') removeMaceratorRecipe(event, 'macerate_cobblestone_slab') removeMaceratorRecipe(event, 'macerate_andesite') + 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' }) + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_cobblestone_from_vine' }) //#endregion @@ -729,6 +733,9 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:laser_engraver/engrave_small_red_granite_bricks' }) event.remove({ id: 'gtceu:laser_engraver/engrave_square_red_granite_bricks' }) event.remove({ id: 'gtceu:laser_engraver/engrave_chiseled_red_granite' }) + event.remove({ id: 'gtceu:mixer/mossy_red_granite_cobblestone_from_moss_block' }) + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_red_granite_cobblestone_from_moss_block' }) + event.remove({ id: 'greate:mixing/integration/gtceu/mixer/mossy_red_granite_cobblestone_from_vine' }) event.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' }) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index c9f7bcdee..208c1f9f2 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -8,46 +8,21 @@ function registerTFGRockRecipes(event) { // #region GLUEING_TOGETHER - // loose rocks to cobble, bricks to brick blocks + // raw rock to hardened, bricks to brick blocks const GLUEING_TOGETHER = [ - { loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' }, { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, - - { loose: 'beneath:blackstone_pebble', block: 'tfg:rock/cobble_blackstone' }, { loose: 'beneath:blackstone_brick', block: '4x minecraft:polished_blackstone_bricks' }, - - { loose: 'tfg:loose/dripstone', block: 'tfg:rock/cobble_dripstone' }, { loose: 'tfg:brick/dripstone', block: '4x create:cut_dripstone_bricks' }, - - { loose: 'tfg:loose/crackrack', block: 'tfg:rock/cobble_crackrack' }, { loose: 'minecraft:nether_brick', block: '4x minecraft:nether_bricks' }, - - { loose: 'tfg:loose/moon_stone', block: 'ad_astra:moon_cobblestone' }, { loose: 'tfg:brick/moon_stone', block: '4x ad_astra:moon_stone_bricks' }, - - { loose: 'tfg:loose/moon_deepslate', block: 'tfg:rock/cobble_moon_deepslate' }, { loose: 'tfg:brick/moon_deepslate', block: '4x tfg:rock/bricks_moon_deepslate' }, - - { loose: 'tfg:loose/mars_stone', block: 'ad_astra:mars_cobblestone' }, { loose: 'tfg:brick/mars_stone', block: '4x ad_astra:mars_stone_bricks' }, - - { loose: 'tfg:loose/venus_stone', block: 'ad_astra:venus_cobblestone' }, { loose: 'tfg:brick/venus_stone', block: '4x ad_astra:venus_stone_bricks' }, - - { loose: 'tfg:loose/red_granite', block: 'gtceu:red_granite_cobblestone' }, { loose: 'tfg:brick/red_granite', block: '4x gtceu:red_granite_bricks' }, - - { loose: 'tfg:loose/mercury_stone', block: 'ad_astra:mercury_cobblestone' }, { loose: 'tfg:brick/mercury_stone', block: '4x ad_astra:mercury_stone_bricks' }, - - { loose: 'tfg:loose/glacio_stone', block: 'ad_astra:glacio_cobblestone' }, { loose: 'tfg:brick/glacio_stone', block: '4x ad_astra:glacio_stone_bricks' }, - - { loose: 'tfg:loose/permafrost', block: 'tfg:rock/cobble_permafrost' }, { loose: 'tfg:brick/permafrost', block: '4x ad_astra:permafrost_bricks' }, - { loose: 'minecraft:popped_chorus_fruit', block: '4x minecraft:purpur_block' }, - { loose: 'gtceu:stone_ingot', block: '4x minecraft:stone_bricks' }, { loose: 'minecraft:deepslate', block: '2x tfg:rock/hardened_deepslate' }, @@ -79,65 +54,51 @@ function registerTFGRockRecipes(event) { .circuit(1) .duration(50) .EUt(2) - - if( x.loose.includes('loose') || x.loose.includes('pebble') ){ - event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_${x.block}`.replace(/[: ]/g, '_')) - .itemInputs(`1x ${x.block}`) - .itemOutputs(`4x ${x.loose}`) - .circuit(1) - .duration(20) - .EUt(GTValues.VA[GTValues.ULV]) - } }) // #endregion GLUEING_TOGETHER // #region COBBLE_TO_LOOSE const COBBLE_TO_LOOSE = [ - { cobble: 'minecraft:blackstone', loose: 'beneath:blackstone_pebble' }, + { cobble: 'tfg:rock/cobble_blackstone', loose: 'beneath:blackstone_pebble' }, + { cobble: 'minecraft:cobbled_deepslate', loose: 'tfg:loose/deepslate' }, { cobble: 'tfg:rock/cobble_dripstone', loose: 'tfg:loose/dripstone' }, { cobble: 'tfg:rock/cobble_crackrack', loose: 'tfg:loose/crackrack' }, + { cobble: 'ad_astra:moon_cobblestone', loose: 'tfg:loose/moon_stone' }, { cobble: 'tfg:rock/cobble_moon_deepslate', loose: 'tfg:loose/moon_deepslate' }, - { cobble: 'gtceu:red_granite_cobblestone', loose: 'tfg:brick/red_granite' }, - { cobble: 'tfg:rock/cobble_permafrost', loose: 'tfg:loose/permafrost' }, - { cobble: 'gtceu:red_granite_cobblestone', loose: 'tfg:loose/red_granite' } + { cobble: 'ad_astra:mars_cobblestone', loose: 'tfg:loose/mars_stone' }, + { cobble: 'ad_astra:venus_cobblestone', loose: 'tfg:loose/venus_stone' }, + { cobble: 'ad_astra:mercury_cobblestone', loose: 'tfg:loose/mercury_stone' }, + { cobble: 'ad_astra:glacio_cobblestone', loose: 'tfg:loose/glacio_stone' }, + { cobble: 'gtceu:red_granite_cobblestone', loose: 'tfg:loose/red_granite' }, + { cobble: 'tfg:rock/cobble_permafrost', loose: 'tfg:loose/permafrost' } ] COBBLE_TO_LOOSE.forEach(x => { - event.shapeless(`4x ${x.loose}`, [x.cobble]) + event.shapeless(`4x ${x.loose}`, [x.cobble]); + + event.shaped(x.cobble, [ + 'AA', + 'AA' + ], { + A: x.loose + }); + + event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_${x.cobble}`.replace(/[: ]/g, '_')) + .itemInputs(`1x ${x.cobble}`) + .itemOutputs(`4x ${x.loose}`) + .circuit(1) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_${x.cobble}`.replace(/[: ]/g, '_')) + .itemInputs(`4x ${x.loose}`) + .itemOutputs(`1x ${x.cobble}`) + .circuit(1) + .duration(20) + .EUt(GTValues.VA[GTValues.ULV]) }) // #endregion COBBLE_TO_LOOSE - // #region LOOSE_TO_GRAVEL - const LOOSE_TO_GRAVEL = [ - { loose: 'tfg:loose/deepslate', gravel: 'tfg:rock/gravel_deepslate' }, - { loose: 'beneath:blackstone_pebble', gravel: 'tfg:rock/gravel_blackstone' }, - { loose: 'tfg:loose/dripstone', gravel: 'tfg:rock/gravel_dripstone' }, - { loose: 'tfg:loose/crackrack', gravel: 'tfg:rock/gravel_crackrack' }, - { loose: 'tfg:loose/moon_stone', gravel: 'tfg:rock/gravel_moon' }, - { loose: 'tfg:loose/moon_deepslate', gravel: 'tfg:rock/gravel_moon_deepslate' }, - { loose: 'tfg:loose/glacio_stone', gravel: 'tfg:rock/gravel_glacio' }, - { loose: 'tfg:loose/mars_stone', gravel: 'tfg:rock/gravel_mars' }, - { loose: 'tfg:loose/venus_stone', gravel: 'tfg:rock/gravel_venus' }, - { loose: 'tfg:loose/mercury_stone', gravel: 'tfg:rock/gravel_mercury' }, - { loose: 'tfg:loose/permafrost', gravel: 'tfg:rock/gravel_permafrost' }, - { loose: 'tfg:loose/red_granite', gravel: 'tfg:rock/gravel_red_granite' } - ] - - LOOSE_TO_GRAVEL.forEach(x => { - event.shapeless(x.gravel, [`4x ${x.loose}`]) - - event.shapeless(`16x ${x.loose}`, [`4x ${x.gravel}`]) - - var stone = x.gravel.replace('tfg:rock/gravel_', '') - event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_loose_${stone}_to_gravel`) - .itemInputs(`4x ${x.loose}`) - .itemOutputs(x.gravel) - .circuit(2) - .duration(30) - .EUt(GTValues.VA[GTValues.LV]) - - }) - // #region LOOSE_TO_BRICKS const LOOSE_TO_BRICKS = [ { loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }, @@ -200,11 +161,41 @@ function registerTFGRockRecipes(event) { .itemOutputs(x.aqueduct) .duration(50) .EUt(2) - }) - - + }) // #endregion AQUEDUCT + // #region COBBLE TO MOSSY COBBLE + + const COBBLE_TO_MOSSY = [ + { cobble: 'minecraft:cobblestone', mossy: 'minecraft:mossy_cobblestone' }, + { cobble: 'tfg:rock/cobble_blackstone', mossy: 'tfg:rock/mossy_cobble_blackstone' }, + { cobble: 'minecraft:cobbled_deepslate', mossy: 'tfg:rock/mossy_cobble_deepslate' }, + { cobble: 'tfg:rock/cobble_dripstone', mossy: 'tfg:rock/mossy_cobble_dripstone' }, + { cobble: 'tfg:rock/cobble_crackrack', mossy: 'tfg:rock/mossy_cobble_crackrack' }, + { cobble: 'ad_astra:moon_cobblestone', mossy: 'tfg:rock/mossy_cobble_moon' }, + { cobble: 'tfg:rock/cobble_moon_deepslate', mossy: 'tfg:rock/mossy_cobble_moon_deepslate' }, + { cobble: 'ad_astra:mars_cobblestone', mossy: 'tfg:rock/mossy_cobble_mars' }, + { cobble: 'ad_astra:venus_cobblestone', mossy: 'tfg:rock/mossy_cobble_venus' }, + { cobble: 'ad_astra:mercury_cobblestone', mossy: 'tfg:rock/mossy_cobble_mercury' }, + { cobble: 'ad_astra:glacio_cobblestone', mossy: 'tfg:rock/mossy_cobble_glacio' }, + { cobble: 'tfg:rock/cobble_permafrost', mossy: 'tfg:rock/mossy_cobble_permafrost' }, + { cobble: 'gtceu:red_granite_cobblestone', mossy: 'gtceu:mossy_red_granite_cobblestone' }, + { cobble: 'gtceu:light_concrete_cobblestone', mossy: 'gtceu:mossy_light_concrete_cobblestone' }, + { cobble: 'gtceu:dark_concrete_cobblestone', mossy: 'gtceu:mossy_dark_concrete_cobblestone' } + ]; + + COBBLE_TO_MOSSY.forEach(x => { + + event.recipes.gtceu.assembler(`${x.mossy}_cobble_rocks_to_mossy_cobble`.replace(/: /g, '_')) + .itemInputs(x.cobble, '#tfc:compost_greens_low') + .circuit(0) + .inputFluids("#tfg:clean_water 144") + .itemOutputs(x.mossy) + .duration(50) + .EUt(2) + }) + + // #endregion // #region RAW_TO_POLISHED const RAW_TO_POLISHED = [ @@ -390,7 +381,7 @@ function registerTFGRockRecipes(event) { .EUt(8) event.recipes.greate.pressing(x.cracked, x.raw) - .recipeTier(1) + .recipeTier(0) .id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) }) // #endregion CRACKING @@ -885,7 +876,7 @@ function registerTFGRockRecipes(event) { ]) CUT_GRIND.forEach(x => { - if (x.raw != null && x.dust != null ) { + if (x.raw != null && x.dust != null) { try{ event.recipes.gtceu.macerator(x.raw.replace(/.*:/g, 'macerate_')) .itemInputs(x.raw) @@ -940,7 +931,7 @@ function registerTFGRockRecipes(event) { } } if (x.wall != null) { - if (x.raw != null) { + if (x.raw != null) { if (x.stonecutting) { event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_')) } @@ -957,10 +948,9 @@ function registerTFGRockRecipes(event) { .EUt(2) .category(GTRecipeCategories.MACERATOR_RECYCLING) } - } - - if (x.loose != null && x.raw != null) { - event.shapeless(`4x ${x.loose}`, [x.raw]) + if (x.loose != null) { + event.shapeless(`2x ${x.loose}`, [x.wall]) + } } }) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js index 7b5869546..d60074501 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.tfc_stone.js @@ -33,10 +33,10 @@ function registerTFCStoneRecipes(event) { .itemInputs(`tfc:rock/raw/${stone}`) .itemOutputs(`tfc:rock/cobble/${stone}`) .duration(10) - .EUt(16) + .EUt(7) event.recipes.greate.pressing(`tfc:rock/cobble/${stone}`, `tfc:rock/raw/${stone}`) - .recipeTier(1) + .recipeTier(0) .id(`greate:pressing/${stone}_raw_to_cobble`) // Raw Pressure Plate @@ -63,33 +63,20 @@ function registerTFCStoneRecipes(event) { generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`) - // Gravel Crafting - event.shapeless(`1x tfc:rock/gravel/${stone}`, [ - `4x tfc:rock/loose/${stone}` - ]).id(`tfc:shapeless/loose_${stone}_to_gravel`) - - event.shapeless(`1x tfc:rock/gravel/${stone}`, [ - `4x tfc:rock/mossy_loose/${stone}` - ]).id(`tfc:shapeless/mossy_loose_${stone}_to_gravel`) - - event.shapeless(`16x tfc:rock/loose/${stone}`, [ - `4x tfc:rock/gravel/${stone}` - ]).id(`tfc:shapeless/gravel_to_loose_${stone}`) - - // Gravel Packing - event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_loose_${stone}_to_gravel`) + // Cobble Packing + event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_loose_${stone}_to_cobble`) .itemInputs(`4x tfc:rock/loose/${stone}`) - .itemOutputs(`1x tfc:rock/gravel/${stone}`) + .itemOutputs(`1x tfc:rock/cobble/${stone}`) .circuit(1) .duration(30) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_mossy_loose_${stone}_to_gravel`) + event.recipes.gtceu.packer(`tfc:gtceu/packer/packing_mossy_loose_${stone}_to_cobble`) .itemInputs(`4x tfc:rock/mossy_loose/${stone}`) - .itemOutputs(`1x tfc:rock/gravel/${stone}`) + .itemOutputs(`1x tfc:rock/mossy_cobble/${stone}`) .circuit(1) .duration(30) - .EUt(GTValues.VA[GTValues.LV]) + .EUt(GTValues.VA[GTValues.ULV]) // Cobble Unpacking event.recipes.gtceu.packer(`tfc:gtceu/packer/unpacking_${stone}_cobble_into_loose`) @@ -167,30 +154,12 @@ function registerTFCStoneRecipes(event) { .itemInputs(`tfc:rock/cobble/${stone}`) .itemOutputs(`tfc:rock/gravel/${stone}`) .duration(10) - .EUt(16) + .EUt(7) event.recipes.greate.pressing(`tfc:rock/gravel/${stone}`, `tfc:rock/cobble/${stone}`) - .recipeTier(1) + .recipeTier(0) .id(`greate:pressing/${stone}_cobble_to_gravel`) - // Glueing Losse to Cobble - event.shaped(`tfc:rock/cobble/${stone}`, [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: `tfc:rock/loose/${stone}`, - B: '#tfc:mortar' - }).id(`tfc:crafting/rock/${stone}_loose_rocks_to_cobble`) - - event.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`) - .itemInputs(`4x tfc:rock/loose/${stone}`) - .circuit(2) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(50) - .EUt(2) - // #endregion @@ -212,10 +181,10 @@ function registerTFCStoneRecipes(event) { .itemInputs(`tfc:rock/bricks/${stone}`) .itemOutputs(`tfc:rock/cracked_bricks/${stone}`) .duration(25) - .EUt(8) + .EUt(7) event.recipes.greate.pressing(`tfc:rock/cracked_bricks/${stone}`, `tfc:rock/bricks/${stone}`) - .recipeTier(1) + .recipeTier(0) .id(`greate:pressing/cracked_bricks_${stone}`) //#endregion @@ -223,22 +192,6 @@ function registerTFCStoneRecipes(event) { //#region Mossy Cobble // Cobble -> Mossy Cobble - event.shaped(`tfc:rock/mossy_cobble/${stone}`, [ - 'ABA', - 'BAB', - 'ABA' - ], { - A: `tfc:rock/mossy_loose/${stone}`, - B: '#tfc:mortar' - }).id(`tfc:crafting/rock/${stone}_mossy_loose_rocks_to_cobble`) - - event.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`) - .itemInputs(`4x tfc:rock/mossy_loose/${stone}`) - .circuit(0) - .inputFluids(Fluid.of('gtceu:concrete', 72)) - .itemOutputs(`tfc:rock/mossy_cobble/${stone}`) - .duration(50) - .EUt(2) event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`) .itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low') diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index a57d0665f..630c96719 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -216,91 +216,91 @@ global.STONE_CHARACS = { // Sets of stone block properties used for block regist /** @type {Hammering[]} */ global.HAMMERING = [ // Crushing relationships for manual block hammering, create press hammering and gtceu forge hammer crushing. // Beneath - { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, - { raw: 'minecraft:cobbled_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 16 }, + { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 7 }, + { raw: 'minecraft:cobbled_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_deepslate', hammered: 'tfc:sand/black', duration: 70, eu: 16 }, - { raw: 'minecraft:blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 16 }, + { raw: 'minecraft:blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_blackstone', hammered: 'tfc:sand/black', duration: 70, eu: 16 }, - { raw: 'minecraft:dripstone_block', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_dripstone', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 16 }, + { raw: 'minecraft:dripstone_block', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_dripstone', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_dripstone', hammered: 'tfc:sand/brown', duration: 70, eu: 16 }, - { raw: 'beneath:crackrack', hammered: 'tfg:rock/cobble_crackrack', duration: 10, eu: 16 }, - { raw: 'tfg:rock/cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 16 }, + { raw: 'beneath:crackrack', hammered: 'tfg:rock/cobble_crackrack', duration: 10, eu: 7 }, + { raw: 'tfg:rock/cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_crackrack', hammered: 'tfc:sand/pink', duration: 70, eu: 16 }, - { raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 16 }, + { raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 7 }, // Moon - { raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:moon_cobblestone', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_moon', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 16 }, + { raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 7 }, + { raw: 'ad_astra:moon_cobblestone', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_moon', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_moon', hammered: 'ad_astra:moon_sand', duration: 70, eu: 16 }, - { raw: 'ad_astra:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, - { raw: 'tfg:rock/cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'ad_astra:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 7 }, + { raw: 'tfg:rock/cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 10, eu: 16 }, - { raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_glacio', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 16 }, + { raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 7 }, + { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_glacio', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_glacio', hammered: 'tfc:sand/white', duration: 70, eu: 16 }, // Mars - { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:mars_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_mars', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, + { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 7 }, + { raw: 'ad_astra:mars_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_mars', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:mars_sand', duration: 70, eu: 16 }, { raw: 'minecraft:red_sandstone', hammered: '4x minecraft:red_sand', duration: 10, eu: 16 }, - { raw: 'gtceu:red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 16 }, - { raw: 'gtceu:red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 16 }, - { raw: 'gtceu:mossy_red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 16 }, + { raw: 'gtceu:red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 7 }, + { raw: 'gtceu:red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 7 }, + { raw: 'gtceu:mossy_red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_red_granite', hammered: 'minecraft:red_sand', duration: 70, eu: 16 }, // Venus - { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:venus_cobblestone', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_venus', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 16 }, + { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 7 }, + { raw: 'ad_astra:venus_cobblestone', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_venus', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_venus', hammered: 'ad_astra:venus_sand', duration: 70, eu: 16 }, { raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 16 }, // Mercury - { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, - { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, - { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_mercury', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 16 }, + { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 7 }, + { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 7 }, + { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_mercury', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_mercury', hammered: 'tfc:sand/red', duration: 70, eu: 16 }, // Europa - { raw: 'ad_astra:permafrost', hammered: 'tfg:rock/cobble_permafrost', duration: 10, eu: 16 }, - { raw: 'tfg:rock/cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 16 }, - { raw: 'tfg:rock/mossy_cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 16 }, + { raw: 'ad_astra:permafrost', hammered: 'tfg:rock/cobble_permafrost', duration: 10, eu: 7 }, + { raw: 'tfg:rock/cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 7 }, + { raw: 'tfg:rock/mossy_cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 7 }, { raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 16 }, // Misc - { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 16 }, + { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 7 }, - { raw: 'minecraft:stone', hammered: 'minecraft:cobblestone', duration: 10, eu: 16 } + { raw: 'minecraft:stone', hammered: 'minecraft:cobblestone', duration: 10, eu: 7 } ] global.COOLING_FOODS = [ From d8866f9738b2c0d32d0d07d94daf43f88b5357b1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 26 Dec 2025 22:34:55 +0000 Subject: [PATCH 485/628] fix forge fuels tag --- CHANGELOG.md | 1 + kubejs/server_scripts/tfc/data.js | 6 +++--- kubejs/server_scripts/tfc/tags.js | 21 +++++++++++++++++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 271886ee6..762a0227b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ - Various quest fixes and improvements @thederpysockdude123 - Added a missing dependency that fixes the rnr roads' crazy acceleration @Pyritie - Fixed not being able to use aged alcohols to make vinegar (#2519) @Pyritie +- Fix some forge fuels not having the right tag to actually be used as forge fuels @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 1d3dcad50..5e5386db3 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -34,11 +34,11 @@ const registerTFCFuels = (event) => { event.fuel('beneath:cursecoal', 1540, 2200, 1.0) - event.fuel('minecraft:charcoal_block', 1350, 1800 * 9, 1.0) + event.fuel('gtceu:charcoal_block', 1350, 1800 * 9, 1.0) event.fuel('gtceu:charcoal_dust', 1350, 600, 1.0) - event.fuel('minecraft:coal', 1415, 1900, 1.0) - event.fuel('minecraft:coal_block', 1415, 1900 * 9, 1.0) + event.fuel('minecraft:coal', 1415, 1900 / 2, 1.0) + event.fuel('minecraft:coal_block', 1415, 1900 * 4.5, 1.0) event.fuel('gtceu:flawless_coal_gem', 1415, 1900 * 2, 1.0) event.fuel('gtceu:exquisite_coal_gem', 1415, 1900 * 4, 1.0) event.fuel('gtceu:flawed_coal_gem', 1415, 1900 / 2, 1.0) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 4d830893b..f9aaed748 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -154,13 +154,30 @@ function registerTFCItemTags(event) { // Тэги для возможности использования разных углей в кузне event.add("tfc:forge_fuel", "minecraft:coal"); - event.add("tfc:forge_fuel", "beneath:cursecoal"); - event.add("tfc:forge_fuel", "gtceu:coke_gem"); + event.add("tfc:forge_fuel", "minecraft:coal_block"); + event.add("tfc:forge_fuel", 'gtceu:flawless_coal_gem'); + event.add("tfc:forge_fuel", 'gtceu:exquisite_coal_gem'); + event.add("tfc:forge_fuel", 'gtceu:flawed_coal_gem'); + event.add("tfc:forge_fuel", 'gtceu:chipped_coal_gem'); + event.add("tfc:forge_fuel", 'gtceu:crushed_coal_ore'); + event.add("tfc:forge_fuel", 'gtceu:purified_coal_ore'); + event.add("tfc:forge_fuel", 'gtceu:refined_coal_ore'); + event.add("tfc:forge_fuel", 'gtceu:impure_coal_dust'); + event.add("tfc:forge_fuel", "gtceu:rich_raw_coal"); event.add("tfc:forge_fuel", "gtceu:raw_coal"); event.add("tfc:forge_fuel", "gtceu:poor_raw_coal"); event.add("tfc:forge_fuel", "gtceu:coal_dust"); + event.add("tfc:forge_fuel", "gtceu:small_coal_dust"); + event.add("tfc:forge_fuel", "gtceu:tiny_coal_dust"); + + event.add("tfc:forge_fuel", "beneath:cursecoal"); + + event.add("tfc:forge_fuel", "gtceu:coke_gem"); + event.add("tfc:forge_fuel", "gtceu:coke_dust"); + event.add("tfc:forge_fuel", "gtceu:charcoal_dust"); + event.add("tfc:forge_fuel", "gtceu:charcoal_block"); // Change blast furnace to use coke event.remove("tfc:blast_furnace_fuel", "minecraft:coal"); From 70c0e8192301f4d872809dd64597162ca6f64a65 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 26 Dec 2025 23:20:42 +0000 Subject: [PATCH 486/628] fix gunpowder ratios --- kubejs/server_scripts/minecraft/recipes.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index d18603be8..a472e3d45 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1001,15 +1001,15 @@ const registerMinecraftRecipes = (event) => { //#region Gunpowder - event.shapeless('4x minecraft:gunpowder', + event.shapeless('6x minecraft:gunpowder', ['#forge:tools/mortars', '2x #forge:dusts/saltpeter', '#forge:dusts/sulfur', '3x #forge:dusts/charcoal']) .id('tfg:shapeless/gunpowder_charcoal') - event.shapeless('4x minecraft:gunpowder', + event.shapeless('6x minecraft:gunpowder', ['#forge:tools/mortars', '2x #forge:dusts/saltpeter', '#forge:dusts/sulfur', '3x #forge:dusts/coal']) .id('tfg:shapeless/gunpowder_coal') - event.shapeless('4x minecraft:gunpowder', + event.shapeless('6x minecraft:gunpowder', ['#forge:tools/mortars', '2x #forge:dusts/saltpeter', '#forge:dusts/sulfur', '3x #forge:dusts/carbon']) .id('tfg:shapeless/gunpowder_carbon') From 0dbb9ac78f62f365c77b7e91681001ba723fd2d4 Mon Sep 17 00:00:00 2001 From: Mqrius Date: Sat, 27 Dec 2025 00:29:47 +0100 Subject: [PATCH 487/628] Auto-eat blacklist (#2520) Goes with TerraFirmaGreg-Team/Core-Modern#228 --- kubejs/server_scripts/tfg/food/tags.food.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 9e5d65464..5e935fce4 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -331,6 +331,16 @@ function registerTFGFoodItemTags(event) { event.add('tfc:foods/usable_in_jam_sandwich', 'ad_astra:cheese') event.add('tfc:foods/usable_in_jam_sandwich_2', 'ad_astra:cheese') event.add('firmalife:foods/cheeses', 'ad_astra:cheese') + + // Auto-eat blacklist for backpack feeding upgrade and quarktech helmet + const AUTO_EAT_BLACKLIST = [ + '#tfg:medicine', + 'minecraft:rotten_flesh', + '#beneath:poisonous_mushrooms' + ] + AUTO_EAT_BLACKLIST.forEach(food => { + event.add('tfg:auto_eat_blacklist', food) + }) } function registerTFGFoodBlockTags(event) { From 952d14cf5a8529ca7aeb85211c5468b1e2466ce4 Mon Sep 17 00:00:00 2001 From: Jeuv <73312791+Jeuvke@users.noreply.github.com> Date: Fri, 26 Dec 2025 20:43:17 -0300 Subject: [PATCH 488/628] Removed cleanroom requirement from level emitter (#2529) Remove the cleanroom requirement from the AE2 level emitter, as it can be crafted in a crafting table as well. Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> --- kubejs/server_scripts/ae2/recipes.js | 1 - 1 file changed, 1 deletion(-) diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index 0bc16b7c4..bcefe61e3 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -1153,7 +1153,6 @@ const registerAE2Recipes = (event) => { .circuit(1) .duration(20) .EUt(480) - .cleanroom(CleanroomType.CLEANROOM) .addMaterialInfo(true) // Storage Bus From 29755f3f582412dbf80288fc6d1d30825aa206a6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 26 Dec 2025 23:57:07 +0000 Subject: [PATCH 489/628] langs --- kubejs/assets/species/lang/en_us.json | 8 +- kubejs/assets/species/lang/zh_cn.json | 20 +-- kubejs/assets/tfg/lang/en_us.json | 3 + kubejs/assets/tfg/lang/ru_ru.json | 191 +++++++++++++++++++++++--- 4 files changed, 191 insertions(+), 31 deletions(-) diff --git a/kubejs/assets/species/lang/en_us.json b/kubejs/assets/species/lang/en_us.json index abec0bba2..55599bd88 100644 --- a/kubejs/assets/species/lang/en_us.json +++ b/kubejs/assets/species/lang/en_us.json @@ -4,5 +4,11 @@ "block.species.petrified_egg": "Goober Egg", "item.species.wicked_mask": "Disguise Kit", "item.species.wicked_swapper": "Swapper Pearl", - "item.species.wicked_treat": "Pet Treat" + "item.species.wicked_treat": "Pet Treat", + "subtitles.item.species.wicked_mask.link": "Disguise Kit molds", + "subtitles.item.species.wicked_mask.equip": "Disguise Kit sticks", + "subtitles.item.species.wicked_swapper.throw": "Swapper Pearl flies", + "subtitles.item.species.wicked_swapper.fail": "Swapper Pearl drops", + "subtitles.item.species.wicked_swapper.teleport": "Swapper Pearl swaps", + "advancements.species.wicked_mask_wither.description": "Disguise yourself as a Wither using a Disguise Kit" } \ No newline at end of file diff --git a/kubejs/assets/species/lang/zh_cn.json b/kubejs/assets/species/lang/zh_cn.json index e3107d8eb..63e3f8fc0 100644 --- a/kubejs/assets/species/lang/zh_cn.json +++ b/kubejs/assets/species/lang/zh_cn.json @@ -366,7 +366,6 @@ "effect.species.combustion.description": "邪火效果。使受影响的实体在死亡时爆炸。爆炸范围和方块破坏强度随等级增加。", "effect.species.iron_will": "坚毅", "effect.species.iron_will.description": "邪火效果。免疫一切击退。", - "item.species.wicked_swapper": "邪火换位币", "item.species.wicked_wax": "邪火蜡", "item.species.monster_meal": "混沌食品", "item.species.monster_meal.desc.effect": "使食用的实体获得一个随机的邪火效果", @@ -377,11 +376,9 @@ "item.species.wicked_dope": "邪火膏", "item.species.wicked_dope.desc.effect": "使所有生效中的效果等级 +1 ", "item.species.wicked_dope.no_effects": "你没有任何效果来提升", - "item.species.wicked_mask": "邪火面具", "item.species.wicked_mask.desc.apply": "伪装成绑定的生物", "item.species.wicked_mask.desc.disguise.1": "%1$s + %2$s", "item.species.wicked_mask.desc.disguise.2": "选择生物", - "item.species.wicked_treat": "邪火点心", "item.species.wicked_treat.desc": "只能喂给宠物", "item.species.wicked_treat.desc.snatched": "夺躯 II (0:45)", "item.species.wicked_treat.desc.iron_will": "坚毅 (0:45)", @@ -395,11 +392,6 @@ "subtitles.entity.species.wicked.shoot": "邪火法师:发射", "subtitles.entity.species.wicked.spot": "邪火法师:跟随生物", "subtitles.entity.species.wicked.stop_haunting": "邪火法师:离开附身实体", - "subtitles.item.species.wicked_mask.link": "邪火面具:绑定", - "subtitles.item.species.wicked_mask.equip": "邪火面具:粘黏声", - "subtitles.item.species.wicked_swapper.throw": "邪火换位币:掷空", - "subtitles.item.species.wicked_swapper.fail": "邪火换位币:落地", - "subtitles.item.species.wicked_swapper.teleport": "邪火换位币:换位", "subtitles.item.species.smoke_bomb.charge": "玩家:准备", "subtitles.item.species.smoke_bomb.use": "烟雾弹:爆炸", "subtitles.item.species.wicked_wax.eat": "进食", @@ -408,7 +400,6 @@ "subtitles.item.species.wicked_dope.boost": "效果提升", "subtitles.item.species.wicked_dope.fail": "提升失败", "advancements.species.wicked_mask_wither.title": "我变成了凋零", - "advancements.species.wicked_mask_wither.description": "使用邪火面具伪装成凋零", "advancements.species.wicked_stop_haunting.title": "超度", "advancements.species.wicked_stop_haunting.description": "让一个邪火法师停止附身生物", "entity.species.bewereager": "渴血狼人", @@ -513,5 +504,14 @@ "advancements.species.fall_for_hanger.title": "初坠陷阱", "advancements.species.fall_for_hanger.description": "落入悬猎者的陷阱,这波算它们的", "advancements.species.fall_for_hanger_twice.title": "梅开二度奖", - "advancements.species.fall_for_hanger_twice.description": "再次落入悬猎者的陷阱,不是,你是不是压根没看路啊?" + "advancements.species.fall_for_hanger_twice.description": "再次落入悬猎者的陷阱,不是,你是不是压根没看路啊?", + "item.species.wicked_mask": "伪装工具包", + "item.species.wicked_swapper": "换位珠", + "item.species.wicked_treat": "宠物零食", + "subtitles.item.species.wicked_mask.link": "伪装工具包:绑定", + "subtitles.item.species.wicked_mask.equip": "伪装工具包:粘黏声", + "subtitles.item.species.wicked_swapper.throw": "换位珠:掷空", + "subtitles.item.species.wicked_swapper.fail": "换位珠:落地", + "subtitles.item.species.wicked_swapper.teleport": "换位珠:换位", + "advancements.species.wicked_mask_wither.description": "使用伪装工具包伪装成凋零" } \ 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 ad27503d7..91e424993 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1705,6 +1705,8 @@ "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.develop_black_and_white_film": "Developing film", + "tfc.recipe.barrel.tfg.barrel.develop_color_film": "Developing film", "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", @@ -4232,6 +4234,7 @@ "quests.tfg_tips.terminal.desc": "&bThe Terminal&r has one main purpose, and &awe highly encourage you to craft it&r.\n\nBuilding all these &eMultiblocks&r can be a bit &cintimidating&r, right? Well, here's a tip: use &dShift + Right-Click&r on any &6Multiblock Controller&r to &aautomatically assemble the entire structure&r!\n\nYou might need to &emove around some buses and hatches&r to suit your setup, but overall, this feature will save you a &alot of time&r.", "quests.tfg_tips.memory_card.subtitle": "Copy and Paste", "quests.tfg_tips.memory_card.desc": "When you try to &aparallelize your setup&r with more machines, it can be a bother to set all the &einputs&r and &eoutputs&r for each one. Yeah, we're thinking of you, &dSuper Chests&r and &dTanks&r.\n\nIf you ever find yourself needing this little tool, don't hesitate to use it.", + "quests.tfg_tips.portable_scanner.title": "Tricoder", "quests.tfg_tips.portable_scanner.subtitle": "For the nosiest GregTech players", "quests.tfg_tips.portable_scanner.desc.1": "The &aPortable Scanner&r, or &aTricorder&r, is GTCEu's debug tool.\n\nUsing it will show you a block's details, the details of the energy network, its current status and contents, and its impact on performance.\n\nIt'll also display a percentage of fluid remaining in the fluid vein for the &3Fluid Rigs&r.", "quests.tfg_tips.portable_scanner.desc.2": "&l&3Lore:&r&o This little useful device comes from GregTech 5. It was extremely useful in the early days, because very little information (basically nothing) was given by GUIs or WAILA.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 9136db37f..b5a005630 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -780,7 +780,6 @@ "item.tfg.food.cooked_limpet": "Жареное мясо рудовичка", "item.tfg.food.raw_moon_rabbit": "Сырая лунная крольчатина", "item.tfg.food.cooked_moon_rabbit": "Жареная лунная крольчатина", - "item.tfg.spawn_egg.moon_rabbit": "Яйцо призыва лунного кролика", "item.tfg.food.freeze_dried.red_grapes": "Лиофилизированный красный виноград", "item.tfg.food.freeze_dried.white_grapes": "Лиофилизированный белый виноград", "item.tfg.food.freeze_dried.glow_berries": "Лиофилизированные светящиеся ягоды", @@ -818,10 +817,8 @@ "item.tfg.food.ice_soup": "Ледяной суп", "item.tfg.food.raw_glacian_mutton": "Сырая гласианская баранина", "item.tfg.food.cooked_glacian_mutton": "Приготовленная гласианская баранина", - "item.tfg.spawn_egg.glacian_ram": "Яйцо призыва гласианского барана", "item.tfg.food.raw_sniffer_beef": "Сырое мясо нюхача", "item.tfg.food.cooked_sniffer_beef": "Приготовленное мясо нюхача", - "item.tfg.spawn_egg.sniffer": "Яйцо призыва нюхача", "item.tfg.food.raw_wraptor": "Сырое мясо ираптора", "item.tfg.food.cooked_wraptor": "Приготовленное мясо ираптора", "item.tfg.food.raw_springling_collar": "Сырая шейка долгошея", @@ -847,11 +844,37 @@ "item.tfg.food.cooked_cruncher_ribs": "Приготовленное ребрышки кусача", "item.tfg.food.raw_dino_nugget": "Сырые наггетсы из динозавра", "item.tfg.food.cooked_dino_nugget": "Приготовленные наггетсы из динозавра в пивном кляре", + "item.tfg.food.raw_beer_battered_cheese_curds": "Сырые сырные шарики в пивном кляре", + "item.tfg.food.cooked_beer_battered_cheese_curds": "Жареные сырные шарики в пивном кляре", + "item.tfg.food.raw_fries": "Сырой картофель фри", + "item.tfg.food.cooked_fries": "Картофель фри", + "item.tfg.food.poutine": "Путин", + "item.tfg.food.brioche_dough": "Тесто для бриошей", + "item.tfg.food.brioche_bun": "Булочка бриош", + "item.tfg.food.raw_burger_patty": "Сырая котлета для бургера", + "item.tfg.food.cooked_burger_patty": "Бургерная котлета", + "item.tfg.food.slice_of_cheese": "Кусочек \"сыррра\"", + "item.tfg.food.hamburger": "Гамбургер", + "item.tfg.food.cheeseburger": "Чизбургер", + "item.tfg.food.oatmeal": "Овсянка", + "item.tfg.food.raw_instant_mac": "Неприготовленные макароны с сыром быстрого приготовления", + "item.tfg.food.cooked_instant_mac": "Макароны с сыром быстрого приготовления", + "item.tfg.spice.bay_leaf": "Лавровый лист", + "item.tfg.spice.cardamom_pods": "Стручки кардамона", + "item.tfg.spice.cilantro_leaves": "Листья кинзы", + "item.tfg.spice.cumin_seeds": "Семена тмина", + "item.tfg.spice.oregano_leaves": "Листья орегано", + "item.tfg.spice.allspice": "Пименто", "item.tfg.roasted_sunflower_seeds": "Обжаренные семена подсолнуха", "item.tfg.sunflower_seeds": "Семена подсолнуха", "item.tfg.sunflower_product": "Шляпка подсолнуха", "item.tfg.rapeseed_seeds": "Семена канолы", "item.tfg.rapeseed_product": "Стручок канолы", + "item.tfg.spawn_egg.moon_rabbit": "Яйцо призыва лунного кролика", + "item.tfg.spawn_egg.surfer": "Яйцо призыва сёрфера", + "item.tfg.spawn_egg.wraptor": "Яйцо призыва ираптора", + "item.tfg.spawn_egg.glacian_ram": "Яйцо призыва гласианского барана", + "item.tfg.spawn_egg.sniffer": "Яйцо призыва нюхача", "item.tfg.flintlock_mechanism": "Ударно-кремнёвый замок", "item.tfg.advanced_clockwork_mechanism": "Продвинутый шестерёнчатый агрегат", "item.tfg.certus_mechanism": "Кварцевое устройство", @@ -1009,6 +1032,22 @@ "item.tfg.trapdoor_casting_mold": "Отливная форма (Люк)", "item.tfg.chain_casting_mold": "Отливная форма (Цепь)", "item.tfg.bell_casting_mold": "Отливная форма (Колокол)", + "item.tfg.rnr_plow": "Тележка для мощения", + "item.tfg.cobalt_brass_wheel": "Колесо (Кобальтовая латунь)", + "item.tfg.cellulose_matrix": "Целлюлозная матрица", + "item.tfg.smooth_endoplasmic_reticula": "Гладкая эндоплазматическая ретикула", + "item.tfg.rough_endoplasmic_reticula": "Шероховатая эндоплазматическая ретикула", + "item.tfg.alpha_keratin": "α-Кератин", + "item.tfg.progenitor_cells": "Клетки-предшественники", + "item.tfg.catalyser_pt_re_zsm": "Катализатор Pt-Re ZSM-5", + "item.tfg.used_catalyser": "Использованный катализатор Pt-Re ZSM-5", + "item.tfg.loaded_resin": "Насыщенная рением смола", + "item.tfg.rod_mold": "Огнеупорная форма стержня", + "item.tfg.small_gear_mold": "Огнеупорная форма маленькой шестерни", + "item.tfg.nugget_mold": "Форма самородка", + "item.tfg.unfired_rod_mold": "Необоженная огнеупорная форма стержня", + "item.tfg.unfired_small_gear_mold": "Необоженная огнеупорная форма маленькой шестерни", + "item.tfg.unfired_nugget_mold": "Необоженная форма самородка", "material.tfg.latex": "Латекс", "material.tfg.vulcanized_latex": "Вулканический латекс", "material.tfg.fluix": "Флюис", @@ -1098,6 +1137,81 @@ "material.tfg.cooked_mycelienzane": "1,3-Мицезоллий", "material.tfg.iodomethane": "Иодметан", "material.tfg.trideuteroiodomethane": "Иодметан-d3", + "material.tfg.lauryl_alcohol": "Лауриловый спирт", + "material.tfg.chlorosulfuric_acid": "Хлоросерная кислота", + "material.tfg.sodium_dodecyl_sulfate": "Додецил сульфат натрия", + "material.tfg.sodium_hypochlorite": "Натрий гипохлорит", + "material.tfg.mutative_yeast": "Мутантные дрожжи", + "material.tfg.proto_growth_medium": "Прото среда для выращивания", + "material.tfg.fibroblast_feeder_cells": "Фибробластные питающие клетки", + "material.tfg.gram_stain": "Краситель Грама", + "material.tfg.crystal_violet": "Кристалл-виолет", + "material.tfg.n_n_dimethylaniline": "N,N-диметиланилин", + "material.tfg.triglyceride_oil": "МСТ-масло", + "material.tfg.cholesterol": "Холестерин", + "material.tfg.butyric_acid": "Масляная кислота", + "material.tfg.citric_acid": "Лимонная кислота", + "material.tfg.sodium_dihydrogen_citrate": "Цитрат натрия 2-замещённый", + "material.tfg.light_stock": "Легкий бульон", + "material.tfg.rich_stock": "Наваристый бульон", + "material.tfg.brown_gravy": "Тёмная подливка", + "material.tfg.zircon": "Цирконий", + "material.tfg.silicon_tetrachloride": "Тетрахлорид кремния", + "material.tfg.zirconium_tetrachloride": "Тетрахлорид циркония", + "material.tfg.zirconium_oxide": "Диоксид циркония", + "material.tfg.zirconium_bromide": "Четырёхбромистый цирконий", + "material.tfg.zirconium_diboride": "Диборид циркония", + "material.tfg.boron_carbide": "Карбид бора", + "material.tfg.syngas": "Син-газ", + "material.tfg.raw_aromatic_mix": "Сырая ароматическая смесь", + "material.tfg.aromatic_feedstock": "Ароматическое сырье", + "material.tfg.reformed_aromatic_feedstock": "Реформированное ароматическое сырье", + "material.tfg.reformate_gas": "Риформат-газ", + "material.tfg.cracker_off_gas": "Остатки риформат-газа прошедшего крекинг", + "material.tfg.btx_fuel": "БТК", + "material.tfg.critical_steam": "Критический пар", + "material.tfg.americium_241": "Америций-241", + "material.tfg.californium_252": "Калифорний-252", + "material.tfg.neptunium_237": "Нептуний-237", + "material.tfg.mixed_radioactive_fluid": "Смешанная радиоактивная жидкость", + "material.tfg.degraded_solvent_stream": "Деградированный поток растворителя", + "material.tfg.boron_enriched_coolant": "Хладагент обогащенный бором", + "material.tfg.hot_boron_enriched_coolant": "Горячий хладагент обогащенный бором", + "material.tfg.polyalkylene_lubricant": "Полиалкиленовая смазка", + "material.tfg.organic_degradation_slurry": "Шлам органического разложения", + "material.tfg.gas_fraction": "Газовая фракция", + "material.tfg.isotopic_solvent": "Изотопный растворитель", + "material.tfg.residual_sludge": "Остаточный осадок", + "material.tfg.sodium_fluoride": "Фтористый натрий", + "material.tfg.trace_catalyst_salt_e": "Следовая каталитическая соль E", + "material.tfg.copper_trace_catalyst_dust": "Медный следовой катализатор", + "material.tfg.organic_stabilizer": "Органический стабилизатор", + "material.tfg.inert_dust_fraction": "Инертная фракция", + "material.tfg.recovered_ionic_complex": "Восстановленный ионный комплекс", + "material.tfg.glucose": "Глюкоза", + "material.tfg.galactose": "Галактоза", + "material.tfg.fructose": "Фруктоза", + "material.tfg.sorbitol": "Сорбитол", + "material.tfg.14_sorbitan": "1,4-сорбитан", + "material.tfg.isosorbide": "Изосорбид", + "material.tfg.linolenic_acid": "α-линоленовая кислота", + "material.tfg.isosorbide_ln": "Изосорбид соли линоленовой кислоты", + "material.tfg.epox_isosorbide_ln": "Эпоксидированный изосорбид соли линоленовой кислоты", + "material.tfg.ozone": "Озон", + "material.tfg.tin_chloride": "Двуххлористое олово", + "material.tfg.cyclohexanone": "Циклогексанон", + "material.tfg.cyclohex_diperoxide": "1,1-Циклогександиил дигидропероксид", + "material.tfg.aciditic_waste": "Кислотные отходы", + "material.tfg.propylene": "Пропилен", + "material.tfg.tpaoh": "Гидроксид тетрапропиламмония", + "material.tfg.sodium_silicate": "Силикат натрия", + "material.tfg.metal_rich_solution": "Богатый металлами раствор", + "material.tfg.crude_mixed_gas": "Сырая смесь газов", + "material.tfg.zsm5_gel": "ZSM-5 гель", + "material.tfg.leachate": "Рениевый фильтрат", + "material.tfg.clean_powder": "Силикатированный очищенный рениумный порошок", + "material.tfg.catalyser_powder": "Катализаторный рениумный порошок ZSM-5", + "material.tfg.sodium_aluminium": "Алюминат натрия", "ore_vein.tfg.deep_sheldonite": "Шелдонит и Борнит", "ore_vein.tfg.deep_garnet_amethyst": "Аметист и гранат", "ore_vein.tfg.deep_garnet_opal": "Опал и гранат", @@ -2094,8 +2208,8 @@ "quests.gregtech_energy.lst.desc.2": "Базовая выходная мощность LST составляет &e1024 EU/t&r. Рассмотрим пример: с держателем ротора IV (×4) и ротором турбины HSS-E (280%% мощности) ты получишь:\n1024 × 4 × 2.8 = &e11,468.8 EU/t&r — это примерно &a1.4A IV&r.\n\nЧтобы извлечь эту энергию, тебе понадобится либо IV выходной энергетический разъем, либо EV 16A выходной энергетический разъем.\n\nХотя БПТ не является популярным решением, если у тебя есть много больших котлов или доступ к большому количеству топлива, эти стальные недорогие турбины могут послужить вам очень неплохо.", "quests.gregtech_energy.lce.title": "Большой дизельный генератор", "quests.gregtech_energy.lce.subtitle": "Сжигает не только дизель", - "quests.gregtech_energy.lce.desc.1": "&6Большой дизельный генератор&r (&dБДГ&r) и &Улучшенный дизельный генератор&r (&dУДГ&r) — ваши главные варианты, если ты любишь перерабатывать нефть в топливо. Эти два &6плохих парня&r используют одни и те же виды топлива и даже выглядят почти одинаково — но для их создания требуются разные материалы.\n\nЧтобы скрафтить БДГ, тебе нужно достичь &5EV&r и открыть Титан, а также иметь как минимум одну схему IV. Для УДГ потребуется Вольфрамовая сталь и схема LuV — то, что ты уже должен уметь крафтить без особых проблем на &1IV&r.", - "quests.gregtech_energy.lce.desc.2": "Обе машины требуют входной люк для топлива, а также смазку. Для &dБДГ&r и &dУДГ&r добавление кислорода или жидкого кислорода соответственно даст вам &cогромный прирост энергии&r. Проверьте тултип у вашего топлива, чтобы сравнить, сколько дополнительной энергии вы получаете с окислителями — это действительно того стоит.\n\nИмейте в виду: обоим двигателям нужен люк глушителя.", + "quests.gregtech_energy.lce.desc.1": "&6Большой дизельный генератор&r (&dБДГ&r) и &5Улучшенный дизельный генератор&r (&dУДГ&r) — ваши главные варианты, если ты любишь перерабатывать нефть в топливо. Эти два &6плохих парня&r используют одни и те же виды топлива и даже выглядят почти одинаково — но для их создания требуются разные материалы.\n\nЧтобы скрафтить БДГ, тебе нужно достичь &5EV&r и открыть Титан, а также иметь как минимум одну схему EV. Для УДГ потребуется Вольфрамовая сталь и схема LuV — то, что ты уже должен уметь крафтить без особых проблем на &1IV&r.", + "quests.gregtech_energy.lce.desc.2": "Обе машины требуют входной люк для топлива, а также смазку. Для &dБДГ&r и &dУДГ&r добавление кислорода или жидкого кислорода соответственно даст вам &cогромный прирост энергии&r. Проверьте тултип у твоего топлива, чтобы сравнить, сколько дополнительной энергии ты получишь с окислителями — это действительно того стоит.\n\nИмей в виду: обоим двигателям нужен люк глушителя.", "quests.gregtech_energy.lpt_fuel.title": "Плазма", "quests.gregtech_energy.lpt_fuel.subtitle": "Она горячая", "quests.gregtech_energy.lpt_fuel.desc.1": "&6Large Plasma Turbines&r require high-tech fuels to run, and we recommend two strong options:\n\nThe first option becomes available with your MK1 Fusion Reactor: &eHelium Plasma&r.\nYou can create it using Deuterium and Tritium Gas — both gases are obtained by distilling &aLiquid Ender Air&r.\nThis fuel isn't the most powerful, but it's by far the easiest and earliest to produce.", @@ -2113,9 +2227,9 @@ "quests.gregtech_energy.reformate_gas.subtitle": "Это реформат Бензола?", "quests.gregtech_energy.reformate_gas.desc.1": "&9Риформат-газ&r — это новое и мощное газовое топливо, которое на этапе &bMV&r выполняет привычную роль бензола.\n\nДля его производства вам потребуется построить &6Башню сжижения угля&r и получить немного &5Рения&r из жил &6Таркианита&r, которые встречаются только в сухих и жарких климатах. Две &6Пиролизные печи&r — одна для производства креозота, другая древесной смолы — обеспечат все необходимые материалы для генерации этого топлива. Помните, что ты можешь производить пар с помощью &6жидкостный нагреватель&r, если хочешь упростить схему.", "quests.gregtech_energy.reformate_gas.desc.2": "Также важно учитывать повышенный выход продукции, доступный на этапе &6HV&r при использовании &6Крекингового завода&r. Это позволит тебе возвращать в цикл большую часть вашего &5Рения&r, делая реформат-газ фактически бесконечным топливом.\n\nДобавление &9Азота&r и &9Водорода&r в процесс ещё больше увеличит пропускную способность производства.", - "quests.gregtech_energy.btx.title": "BTX", - "quests.gregtech_energy.btx.subtitle": "Not a korean band", - "quests.gregtech_energy.btx.desc": "The BTX Fuel is NYI", + "quests.gregtech_energy.btx.title": "БТК", + "quests.gregtech_energy.btx.subtitle": "При чем тут биткоин?", + "quests.gregtech_energy.btx.desc": "Получив &5EV входные энергетические люки&r, ты наконец сможешь запустить производство &eБТК-топлива&r (Бензол-Толуол-Ксилол). Это топливо прослужит тебе очень долго и остаётся конкурентоспособным в &6Большой газовой турбине&r даже на поздних этапах игры. Даже если поначалу это выглядит как огромный объём работы, будь уверен — усилия полностью окупятся.\n\nЭта производственная линия требует большого количества ресурсов на основе древесины. Смола становится важной снова из-за необходимости в &eКлее&r — ты можешь либо пассивно собирать её с деревьев с помощью подсочки, либо добывать напрямую из брёвен. Также тебе понадобится перегонять &eДревесную смолу&r в &6Ректификационной колонне&r. Помимо этого, убедись, что ты можешь производить бесконечные объёмы &eЭтанола&r, &eНезер-кварца&r, &eНатрия&r, &eАммиака&r, &eЩёлочи&r и &eЛистов укреплённой эпоксидной смолы&r.\n\nЕсли тебе нужен более подробный разбор производственной цепочки БТК-топлива, обратись к главе &5EV&r.", "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", @@ -2287,7 +2401,8 @@ "quests.high_voltage.ptfe.subtitle": "Также известен как Тефлон", "quests.high_voltage.ptfe.desc": "&aПолитетрафторэтилен (ПТФЭ)&r представляет собой &7углеродно&r-&bфтористый&r полимер. Как и ПВХ, ПТФЭ можно использовать для увеличения производства пластиковых подложек и других поделок. В настоящее время из него делают стенки &3Больших химических реакторов&r.\n\nТак необходимы &3Хлор&r в этом процессе, полностью перерабатывается при электролизе отходов &aСоляной кислоты&r.\n\n&bФтор&r также будет использоваться в процессах очистки &aУрана&r и &7Наквады&r.\n\n&9Совет:&r Далее вам следует отливать полимеры в виде &dСлитка&r, поскольку им можно легко придать любую форму, которая вам понадобится, с помощью &3Экструдера&r.", "quests.high_voltage.nitrobenzene.title": "Нитробензол", - "quests.high_voltage.nitrobenzene.desc": "Производство &aНитробензола&r повысит энергоэффективность &aБензола&r примерно в &6четыре раза&r. Мы знаем, что вам это понравится. \n\nЗагвоздка в том, что для этого требуется &dДистиллированная вода&r, и с каждым этапом производства он потребляет по немножку &dСеру&r.", + "quests.high_voltage.nitrobenzene.subtitle": "Тень себя прошлого", + "quests.high_voltage.nitrobenzene.desc": "В TerraFirmaGreg &aнитробензол&r и &aбензол&r были сильно понерфлены. Их всё ещё можно использовать как топливо, но теперь основное их применение — в качестве ингредиентов.\n\nОбрати внимание, что при крафте нитробензола на каждом этапе расходуется немного &dсеры&r.", "quests.high_voltage.lcr.title": "Большой химический реактор", "quests.high_voltage.lcr.desc.1": "&3Большой химический реактор (LCR)&r — это мультиблочный &3Химический Реактор&r с увеличенным количеством входных и выходных слотов. Его тефлоновые корпуса позволяют обрабатывать дополнительные рецепты.\n\n&3LCR&r может выполнять эксклюзивные реакции, которые позволяют объединять несколько обычных шагов &3Химического Реактора&r в &6один шаг&r. Примеры ниже:\n\n&9-&r &aДиоксид Азота&r (для получения Азотной кислоты и Триоксида азота)\n&9-&r &aСерная кислота&r\n&9-&r &aФенол&r\n&9-&r &aЭпихлоргидрин&r (он необходим для Эпоксидной смолы!)\n&9-&r &aЭпоксидная смола&r", "quests.high_voltage.lcr.desc.2": "Есть также эксклюзивные рецепты для &3LCR&r. Например, &dРадон&r сейчас можно получить только в LCR.\n\nВсе &dРазгоны&r в &3LCR&r имеют &6100%% эффективность&r (известные как Идеальные разгоны); каждый разгон &5четырёхкратно ускоряет работу&r, вместо обычного удвоения.\n\nУ &3LCR&r есть ещё одно &6преимущество&r. Можно использовать &32 энергетических люка&r, чтобы запускать рецепты &5следующего уровня&r, аналогично &3Электрической Доменной Печи&r.", @@ -2417,6 +2532,8 @@ "quests.high_voltage.final_dust.title": "Бесконечная пыль", "quests.high_voltage.final_dust.subtitle": "Наконец-то! Безграничные ресурсы", "quests.high_voltage.final_dust.desc": "Это все &cбесконечные ресурсы&r, которые вы можете получить на &7Луне&r до разблокировки более продвинутой переработки на &eВенере&r.\n\nС их помощью у вас будет всё необходимое для дальнейшего прогресса в &dGregTech&r — особенно для обеспечения &aобслуживания&r вашей Лунной базы.\n\nЭти ресурсы необходимы для:\n• Создания &dкомпонентов AE2&r\n• Производства &cбесконечного&r запаса &6Боеприпасов для Рельсотрона&r\n\nПассивная автоматизация теперь в ваших руках — сделайте этот шаг и воплотите её в жизнь!", + "quests.high_voltage.titanium_greate.title": "Титановый тир Greate", + "quests.high_voltage.titanium_greate.desc": "Это последний уровень Greate, доступный в TerraFirmaGreg. Единственное его «экстремальное» преимущество заключается в том, что он совершенно необязателен.", "quests.low_voltage": "&7LV&r - Низкое Напряжение", "quests.low_voltage.subtitle": "Подчините электричество и начните свое путешествие в GregTech", "quests.low_voltage.lv_machine_hull.title": "Корпус вашей второй машины", @@ -2462,6 +2579,15 @@ "quests.low_voltage.lv_seeds.subtitle": "Это высокие растения", "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.desc": "С помощью &7Синтез-газа&r у тебя теперь есть рабочий способ использовать &8Газовую турбину&r на &7LV&r. Она работает точно так же, как и другие &6генераторы&r, но должна быть немного дешевле, чем &6Дизельные генераторы&r.", + "quests.low_voltage.lv_gas_syngas.title": "Синтез-газ", + "quests.low_voltage.lv_gas_syngas.subtitle": "Не древесный газ", + "quests.low_voltage.lv_gas_syngas.desc": "Производить &7Синтез-газ&r очень просто. Тебе всего лишь нужны &b3 Коксовые печи&r на каждую &6Варочную машину&r или &6Вакуумную камеру&r. Затем ты добываешь &7древесину&r с помощью &bфермы дерева Create&r, чтобы минимизировать затраты энергии, и можешь наслаждаться этим слабым, но очень простым в производстве &7газовым топливом&r.", + "quests.low_voltage.lv_naphtha_light.title": "Нафта и легкое топливо", + "quests.low_voltage.lv_naphtha_light.subtitle": "Из них можно делать пластик.", + "quests.low_voltage.lv_naphtha_light.desc": "Если ты действительно ненавидишь фермерство и предпочитаешь приключения по &6пустыне&r или добычу огромного колличества &7нефтяных песков&r, то, возможно, тебе стоит обратить внимание на &7Нафту&r (лучше из &7Средней нефти&r) или &7Лёгкое топливо&r (лучше из &7Нефти&r).\n\nБудучи довольно неплохими с учётом того, насколько легко они производятся, на этом этапе их всё же придётся добывать вручную.", "quests.low_voltage.lv_turbo_charge.title": "Зарядное Устройство", "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 Ампер для каждого заряжаемого им инструмента, что делает его в &6два раза быстрее&r, чем &3Батарейный буфер&r. Но оно не может разрядиться.\n\n&eЛюбое&r зарядное устройство выполнит этот квест.", @@ -2679,6 +2805,15 @@ "quests.low_voltage.mv_hull.subtitle": "Пока всё идёт хорошо, осталось ещё 7!", "quests.low_voltage.mv_hull.desc1": "Хорошая работа, Теперь у вас есть &bMV Корпус Машины&r, ваша первая &bMV Микросхема&r и ваш первый &6Сборщик Микросхем&r.\n\nЭто и есть суть &6GregTech&r. Каждую новую эпоху вы будете создавать новые &6машины&r используя новые &6материалы&r and &6химикаты&r. Вам будет &5Тааак Весело&r, мы даже завидуем вам!", "quests.low_voltage.mv_hull.desc2": "Перед тем как продвигаться дальше в &bMV&r, помните что &6TFG&r вы можете использовать &6Create&r чтобы закрепить свою инфраструктуру особо не полагаясь на GregTech. Алюминиевые валы и шестерёнки выдерживают нагрузку в 4 раза больше чем их стальные предшественники, так что с ними вы можете ускорить свои машины!", + "quests.low_voltage.aluminium_greate.title": "Алюминиевый тир Greate", + "quests.low_voltage.aluminium_greate.subtitle": "Так же известный как Medium Stress(MS)", + "quests.low_voltage.aluminium_greate.desc": "С последнего апгрейда прошло уже немало времени, но теперь у тебя есть доступ к следующему тиру шестерней и валов Greate. Как и раньше, алюминиевые варианты имеют &bв четыре раза&r большую максимальную нагрузку по сравнению со стальными.\n\nПродолжать развиваться в Create после этого момента — полностью необязательно, и мы советуем тебе переходить к GregTech, но этот апгрейд может помочь тебе немного «распутать спагетти» в старых схемах, если ты захочешь продолжить ими пользоваться.\n\nТы можешь дополнительно увеличить доступную нагрузку с помощью &eПаровых двигателей&r или преобразовать EU в SU через &eЭлектромотор&r из &9Create Additions&r.", + "quests.low_voltage.oil.title": "Нашли нефть рано?", + "quests.low_voltage.oil.subtitle": "Для LV достигаторов", + "quests.low_voltage.oil.desc": "Если во время своих путешествий ты находил залежи нефтяных песков или нефтяные источники (в пустынях), то ты действительно можешь начать понемногу использовать их уже на &7LV&r.\n\nТы можешь либо переработать их в Тяжёлое топливо и заправлять им свои котлы, либо, что ещё лучше, использовать их для производства небольшого количества &bПолиэтилена&r!\n\nПодробности этого процесса описаны в главе &bMV&r, но уже на этом этапе ты можешь применять полиэтилен для создания некоторых вещей, например более дешёвых Оболочек машин и Диодов.", + "quests.low_voltage.glowstone.title": "Постоянное освещение", + "quests.low_voltage.glowstone.subtitle": "Окольный способ изобретения лампочек", + "quests.low_voltage.glowstone.desc": "Ищешь дешёвые и постоянные источники света? Теперь, когда у тебя есть LV-экстрактор (а скоро появится и LV-жидкостный отвердитель), ты можешь пустить в дело всю ту &6Светокаменную пыль&r, которую нашёл в Бездне. Закончилась? Не беда — её можно сделать в Миксере или смешивателе.\n\nЗагляни в JEI, чтобы увидеть все новые источники света, которые ты можешь создать как из жидкого светокамня, так и из блоков светокамня. В GregTech также есть варианты, собираемые из светокаменной пыли в сборщике.\n\nВ качестве бонуса ты можешь использовать жидкий светокамень как бесконечное топливо для своих ламп!", "quests.medium_voltage": "&bMV&r - Среднее Напряжение", "quests.medium_voltage.subtitle": "Изучите нефтянную отрасль, а так же прикоснитесь к новой электроннике!", "quests.medium_voltage.mv_machine_hull.title": "Добро Пожаловать в MV!", @@ -2765,6 +2900,10 @@ "quests.medium_voltage.mv_benzene.subtitle": "В конце концов, это всегда бензол", "quests.medium_voltage.mv_benzene.desc.1": "&aБензол&r — это &9Газовое топливо&r. Чтобы избежать лишних сложностей, рассмотрим два лучших способа его получения.\n\nПервый вариант обычно &dна основе древесины&r. Поместите бревна в &3Пиролизную печь&r для получения &9Древесной смолы&r. Полученный древесный уголь можно переработвать в &3Экстракторах&r для получения ещё большего количества &9Древесной смолы&r, которую затем &3перегоняют&r для получения &aБензола&r.\n\nВторой вариант &dна основе тяжёлой нефти&r. Поместите тяжёлую нефть в &3Дистиллятор&r для получения &9Тяжёлого топлива&r, которое затем &aЖестко крекингуют паром&r и снова &3перегоняют&r для получения &aБензола&r.", "quests.medium_voltage.mv_benzene.desc.2": "Для информации о переработке нефти ознакомьтесь с заданиями по Лёгкому топливу и Нафте.\n\nВ целом лучше отдавать приоритет установке бОльшего количества машин (&dРаспараллеливание&r), а не ускорению рецептов (оверклоку). Так вы потеряете меньше энергии при переработке ресурсов.\n\n&aБензол&r сжигается в &3Газовой турбине&r. Этот источник энергии изначально слабее своего &eДизельного&r аналога, но получает значительный прирост при переработке в &6Нитробензол&r на уровне &6HV&r. В конечном итоге выбор источника энергии остаётся за вами.", + "quests.medium_voltage.mv_benzene.desc.3": "&l&3Предистория:&r&o Бензол был одним из самых мощных газовых топлив со времён GTCEu — настолько хорошим, что стал мемом. В наши дни его эпоха повсюду подходит к концу.", + "quests.medium_voltage.reformate_gas.title": "Реформатская церковь", + "quests.medium_voltage.reformate_gas.subtitle": "Когда один гигант падает, появляется новый.", + "quests.medium_voltage.reformate_gas.desc": "&8Риформат-газ&r — это твоё новое основное газовое топливо на &bMV&r, если ты решишь пойти этим путём. Для идеальной эффективности тебе нужны всего &61 Сжижающая колонна&r и &62 пиролизные печи&r, и ты сможешь начать непрерывное производство этого ценного газа.\n\nНо подожди — сначала тебе нужно найти &5рений&r, новый материал, который встречается только в жарких и сухих регионах &7TerraFirmaCraft&r. Расходуется его настолько мало, что одной жилы тебе хватит до самого конца сборки или как минимум до &6HV&r, где — с помощью &6крекингого завода&r — этот газ сможет стать по-настоящему бесконечным.", "quests.medium_voltage.mv_light_fuel.title": "Легкое Топливо", "quests.medium_voltage.mv_light_fuel.subtitle": "Легкая закуска", "quests.medium_voltage.mv_light_fuel.desc": "Перегонка &aнефти&r дарует вам топливо, которое нужно десульфуризировать.\n\n&aСероводород&r полностью &dперерабатывается&r в &3Электролизере&r.\n\nДля автоматизации этого процесса просто разместите &3Химический реактор&r и &3Электролизер&r рядом друг с другом. Обязательно используйте &5Отвёртку&r, чтобы &4включить подачу с выходной стороны&r.\n\n&aЛёгкое топливо&r — хороший вариант для &9энергии&r, но есть и нечто лучшее... смотрите квест левее.", @@ -2773,6 +2912,10 @@ "quests.medium_voltage.mv_diesel.desc.1": "&aДизель&r — это &dНефтяное &9Горючее топливо&r.\n\nДля смешивания &aЛёгкого топлива&r и &aТяжёлого топлива&r правильное соотношение для &3Дистилляторов&r — &63:2&r из &dНефти&r или &dСырой нефти&r.\n\nЭто означает необходимость 3 Дистилляторов для Лёгкого топлива и 2 Дистилляторов для Тяжёлого топлива.", "quests.medium_voltage.mv_diesel.desc.2": "Вы можете &6значительно&r сократить количество требуемой &dнефти&r, используя &dтяжёлую нефть&r именно для производства &aтяжёлого топлива&r. &dНефтеносный песок&r — отличный вариант, если вы выбрали этот путь!\n\n&o(Для любителей математики: вы переходите от 8.33 нефти -> 6 дизеля к 5 нефти + 0.4 тяжёлой нефти -> 6 дизеля)&r\n\n&eАХТУНГ:&r &cНЕ пытайтесь&r заливать нефть в &3Ректификационную колонну&r. Может показаться хорошей идеей, так как она даёт и лёгкое, и тяжёлое топливо. Однако этот процесс требует большого разгона, чтобы оправдать затраты времени, и вы потеряете больше энергии, чем стоит ценность побочных продуктов.", "quests.medium_voltage.mv_diesel.desc.3": "В целом лучше отдавать приоритет установке бОльшего количества машин (&dРаспараллеливание&r), а не ускорению рецептов (оверклоку). Так вы потеряете меньше энергии при переработке ресурсов.\n\n&aДизель&r сжигается в &3Дизельном генераторе&r. Его можно дополнительно переработать в &6Нитро-дизель&r на уровне &6HV&r. По сравнению с другими источниками энергии, он обычно более эффективен, но требует более сложной линии переработки. Если вы выбрали &eнефтяной&r путь для производства &aПолиэтилена&r, это отлично сочетается с существующей инфраструктурой. В конечном итоге выбор источника энергии остаётся за вами.", + "quests.medium_voltage.coal_tower.title": "Сжижающая колонна", + "quests.medium_voltage.coal_tower.subtitle": "Кто не любит новые мультиблоки", + "quests.medium_voltage.coal_tower.desc.1": "&bСжижающая колонна&r — это новый &bмультиблок&r, используемый в процессе производства &aриформат-газа&r и его побочных продуктов — &7каменноугольной смолы&r и &7синтез-газа&r. В зависимости от используемых &9катушек&r ты получишь уменьшение &7длительности рецептов&r. Просто используй shift-клик, наведя курсор на катушку, чтобы узнать её бонусы.\n\nОбрати внимание, что &9Сжижающую колонну&r можно ускорить с помощью &8водорода&r, уменьшая длительность, а значит и стоимость рецептов. Не забудь выставить правильную &6схему&r, чтобы всё работало.\n\nКстати, если ты не знал: одна секунда — это 20 тиков. Поэтому количество, потребляемое за тик, нужно умножить на 20, чтобы узнать расход в секунду.", + "quests.medium_voltage.coal_tower.desc.2": "&l&3Предистория:&r&o Тот же человек, который создал реактор деления, также разработал(а) первый проект сжижающей колонны, разве это не безумие?", "quests.medium_voltage.mv_jetpack.title": "Я Верю, Что Умею Летать", "quests.medium_voltage.mv_jetpack.subtitle": "...Ну, Почти полёт", "quests.medium_voltage.mv_jetpack.desc": "Этот реактивный ранец использует большинство видов &aГорючего топлива&r (исключая масла) для обеспечения примитивной формы полёта.\n\nЗаправляйте его так же, как &3Бочку&r, или с помощью &3Наполнителя&r.\n\nНажмите &4H&r (по умолчанию), чтобы включить режим парения.", @@ -2792,7 +2935,7 @@ "quests.medium_voltage.mv_fuel_cracking.subtitle": "Крекинг горючего может показаться сложным...", "quests.medium_voltage.mv_fuel_cracking.desc.1": "Отставить паннику! Мы будем делать это в основном для получения углеводородов. Существует множество способов получить &dэтилен&r из переработки нефти — легко запутаться во всех этих вариантах и рецептах! Лучший способ — подвергнуть &aнафту&r крекингу паром в &3химическом реакторе&r. Обязательно сделайте нафту прошедший &aЖЕСТКИЙ&r крегинг паром, чтобы получить больше этилена.", "quests.medium_voltage.mv_fuel_cracking.desc.2": "Достигнув уровня &6HV&r, вы сможете выполнять данный рецепт в &3Крекинговом заводе&r с эффективностью 100%%. В текущем же варианте, при использовании &3Химического реактора&r, потери составляют около &450%%&r. &9Примечание:&r Да, на данном этапе процесс выглядит крайне неэффективным — однако это хороший стимул для перехода на более высокий технологический уровень. &3Ректификационная колонна&r станет значительным улучшением для нефтехимического производства, но пока до неё далеко. На данный момент для получения &dэтилена&r придётся использовать &3Дистиллятор&r.", - "quests.medium_voltage.mv_ethylene.title": "Этилнен", + "quests.medium_voltage.mv_ethylene.title": "Этилен", "quests.medium_voltage.mv_ethylene.subtitle": "Один из многих углеводородов", "quests.medium_voltage.mv_ethylene.desc": "Наши искренние поздравления с достижением этого этапа! Способ получения &aЭтилена&r был описан в предыдущем задании — в зависимости от выбранного вами пути. Совсем скоро &aЭтилен&r понадобится для производства полимеров, а также он используется и в нескольких других химических реакциях.", "quests.medium_voltage.mv_sulfuric_acid.title": "Серная Кислота", @@ -2822,10 +2965,10 @@ "quests.medium_voltage.mv_long_pipe.desc.1": "&3Эти Жидкостные Трубопроводы&r позволяют транспортировать жидкости на большие расстояния. Установите по одному концу трубы на каждой из концов вашего маршрута и соедините их трубопроводными блоками. Эти трубы мгновенно передают жидкость с входной стороны на выходную. При этом у них есть минимальное расстояние между концами трубы, поэтому они не подходят для коротких дистанций.", "quests.medium_voltage.mv_long_pipe.desc.2": "Эти трубы имеют репутацию &4проблемных&r при настройке. Если они сначала не работают, попробуйте повернуть концы с помощью &eКлюча&r.", "quests.medium_voltage.mv_polyethylene.title": "Полиэтилен", - "quests.medium_voltage.mv_polyethylene.subtitle": "Корешь! это наш первый полимер!", + "quests.medium_voltage.mv_polyethylene.subtitle": "Корешь! Это наш первый полимер!", "quests.medium_voltage.mv_polyethylene.desc": "Если хотите проще, просто называйте это пластиком. Для процесса полимеризации добавьте &aкислород&r — он даёт лучший выход, чем воздух, затем отвердите так же, как с резиной в отвердителе. &aПолиэтилен (ПЭ)&r — ключ к открытию &6множества новых возможностей&r. Его обычно используют в виде &dлистов&r или &dжидкости&r. &l&3Предистория:&r&o В OreDict и названии жидкости для полиэтилена в версии 1.12.2 GTCEu использовалось &bplastic&f для совместимости между модами.", "quests.medium_voltage.mv_tank.title": "Супер Резервуар", - "quests.medium_voltage.mv_tank.subtitle": "Эти резвуары просто сверх имба", + "quests.medium_voltage.mv_tank.subtitle": "Эти резервуары просто имба", "quests.medium_voltage.mv_tank.desc": "Нет, а если серьёзно. Это — &cТ&6О&eП&aО&bВ&9О&5Е&r переносное решение для хранения жидкостей. &64 000 вёдер вместимости&r — в одном единственном блоке, без каких-либо ограничений по температуре или кислотности! Как и бочки, Супер резервуары &6сохраняют содержимое при разрушении&r и могут быть очищены в сетке крафта. Если тебе нужно &9ещё больше&r места, обрати внимание на Супер резвуары более высокого уровня или ячейки хранения жидкостей из AE2.", "quests.medium_voltage.mv_pvc.title": "Поливинилхлорид", "quests.medium_voltage.mv_pvc.subtitle": "У вас один полимер, скоро будет два!", @@ -2841,7 +2984,7 @@ "quests.medium_voltage.mv_inductor.subtitle": "Z = jwL", "quests.medium_voltage.mv_inductor.desc": "Компонент схемы, который теперь можно изготовить благодаря &3Улучшенной сборочной машине&r и &3Полиэтилену&r. Если хотите самый дешёвый рецепт, выбирайте &aНикель-цинковый феррит&r.", "quests.medium_voltage.mv_electronic_components.title": "Электрокомпоненты", - "quests.medium_voltage.mv_electronic_components.subtitle": "база системы развития GT.", + "quests.medium_voltage.mv_electronic_components.subtitle": "База системы развития GT.", "quests.medium_voltage.mv_electronic_components.desc": "Давайте поговорим об &dЭлектронных компонентах&r из &dGregTech&r. Они являются &cключевой частью&r прогрессии мода и используются для создания &aвсех схем&r в игре. Большинство компонентов имеют &aнесколько рецептов&r. В зависимости от выбранных &9материалов&r вы можете получить &eлучший выход&r. Рекомендуем ознакомиться с &aEMI&r и выбрать те, которые подходят именно вам. Эти компоненты можно создавать &cбольшими партиями&r — для ваших будущих схем потребуется &eочень много&r. Для &dТранзисторов&r вам понадобятся &5Кремниевые слитки&r... но к этому моменту вы должны уже &cхорошо разбираться&r в &cработе с горячими материалами&r, верно?", "quests.medium_voltage.mv_best_lv.title": "Хорошие LV электросхемы", "quests.medium_voltage.mv_best_lv.subtitle": "Приятно быть лучшим", @@ -2850,7 +2993,7 @@ "quests.medium_voltage.mv_best_mv.subtitle": "MV на высоте", "quests.medium_voltage.mv_best_mv.desc": "&6Лучшие схемы уровня MV&r! Вы будете создавать их на протяжении всей игры. Со временем (на уровне &9IV&r) они станут ещё дешевле.", "quests.medium_voltage.mv_second_hv.title": "Больше HV электросхем", - "quests.medium_voltage.mv_second_hv.subtitle": "да будет HV гринд", + "quests.medium_voltage.mv_second_hv.subtitle": "Да будет HV гринд", "quests.medium_voltage.mv_second_hv.desc": "Поздравляем с важным этапом &bMV главы&r. Улучшенные &6HV&r схемы — теперь гораздо &dдешевле&r и проще в изготовлении. Вы должны быть &aготовы перейти&r к HV главе, если только не собираетесь ещё увеличить производство энергии.", "quests.medium_voltage.mv_circuit_assembler.title": "Ваш второй Сборщик микросхем", "quests.medium_voltage.mv_circuit_assembler.subtitle": "Япиииии! Уяхууу...", @@ -2904,7 +3047,7 @@ "quests.medium_voltage.mv_silicon_boule.subtitle": "Эти пластины полностью взаимозаменяемы.", "quests.medium_voltage.mv_silicon_boule.desc": "&9Монокристалический кремний&r изготавливаются в &3Электрической доменной печи (ЭДП)&r из 32 &aКремниевой пыли&r и щепотки &aАрсенида галлия&r. Их основное назначение — легирование &6кремниевых пластин&r.\n\nПосле создания монокристалла нарежте его в &3Резочной Машине&r, чтобы получить 16 кремниевых пластин, готовых к гравировке.\n\n&cВнимание:&r Каждый кремниевый монокристалл требует &47.5 минут&r при 120 EU/t или 1,080,000 EU! Если ЭДП потеряет питание в процессе, прогресс рецепта будет &cсбрасываться&r.\n\nУчитывая это, изготовление кремниевых монокристаллов занимает очень много времени, поэтому рекомендуется запускать рецепт параллельно на нескольких &3Электрических доменных печах&r и делать запас.", "quests.medium_voltage.mv_silicon.title": "Кремниевая пыль", - "quests.medium_voltage.mv_silicon.subtitle": "она не воскресит вашь фуфыкс", + "quests.medium_voltage.mv_silicon.subtitle": "Она не воскресит вашь фуфыкс", "quests.medium_voltage.mv_silicon.desc.1": "К этому надо привыкнуть: в &dGregTech&r всегда есть &aнесколько способов&r достичь цели — философия, которую мы обязательно сохранили в &aTerrafirmaGreg&r. Чтобы получить &5Кремний&r, мы предлагаем &cдва основных метода&r, чтобы у тебя были чёткие направления. Как всегда, выбирать &aлучший вариант&r — только тебе.", "quests.medium_voltage.mv_silicon.desc.2": "Первый метод: &aдобыча руд, богатых кремнием&r. Ищи жилы &9Слюды&r или &9Ционита&r — они также содержат &dАлюминий&r. Или &aэлектролизируй порошок цеолита&r, который встречается в жилах &9Халькопирита&r и &dРеальгара&r.\n\nВторой метод: &eсложный, но эффективный&r. Хотя отладка процесса дороже и первые шаги идут медленно, этот способ становится &aлучшим&r на &6HV&r и уровнях выше. К тому же он даёт бонус — &9кислород&r! Суть проста: &aэлектролизируй порошок диоксида кремния&r в &9кислород&r и &5кремний&r. &aПорошок диоксида кремния&r получают центрифугированием &9кремниевой пыли&r. Кремний добывается &aпросеиванием гравия&r.\n\nЭту схему легко сделать &aполностью пассивной&r. Попробуй использовать инструмент &aEMI Дерево рецептов&r (внизу слева на экране) для планирования производства — это очень помогает!", "quests.medium_voltage.mv_ulpic.title": "ULPIC Чипы", @@ -2922,6 +3065,9 @@ "quests.medium_voltage.lsb.title": "Новый Бочек", "quests.medium_voltage.lsb.subtitle": "Если у вас есть много топлива, то это сгодится", "quests.medium_voltage.lsb.desc": "Если вы &lвсё ещё&r используете &3Большой Бронзовый Котёл&r, возможно, стоит перейти на &3Большой Стальной Котёл&r.\n\nОн немного эффективнее &3Большого Бронзового Котла&r и вырабатывает &d1800 mB/t пара&r.\n\nРекомендуем вам попробовать другие варианты генерации энергии на этом этапе.", + "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": "Ваши первые технологические достижения.", @@ -3060,6 +3206,10 @@ "quests.metal_age.this_is_a_bucket.title": "Это... Ведро.", "quests.metal_age.this_is_a_bucket.subtitle": "Боже правый...", "quests.metal_age.this_is_a_bucket.desc": "Поздравляем с созданием ведра. Век металлургии официально завершен.\n\nТеперь можешь приступать к созданию компонентов низкого напряжения!", + "quests.metal_age.temperature_protection.title": "Снаряжение из цветной стали", + "quests.metal_age.temperature_protection.subtitle": "Перманентная защита от внешней температуры", + "quests.metal_age.temperature_protection.desc": "Устал постоянно держать клещи? Отличные термозащитные свойства цветной стали распространяются и на снаряжение!\n\nСнаряжение из &9Синей стали&r защищает от экстремального жара — например, при удержании раскалённых слитков или при хождении по трубам, заполненным паром, а снаряжение из &cКрасной стали&r делает то же самое, но для холода. Нагрудники защищают твой инвентарь, а ботинки — от воздействия труб.\n\nЗагляни в теги &6#hot_protection_equipment&r и &b#cold_protection_equipment&r, чтобы увидеть полный список!", + "quests.metal_age.temperature_protection.task": "Любая экипировка из синей или красной стали", "quests.ore_proc": "Переработка руд", "quests.ore_proc.subtitle": "Всё, что вам нужно, чтобы получать по максимуму от ваших руд", "quests.ore_proc.native_ore.title": "Добро пожаловать в переработку руды", @@ -3521,7 +3671,7 @@ "quests.steam_age.resistors.subtitle": "Более... сопротивляющийся... компонент для схем", "quests.steam_age.resistors.desc": "Резисторы — это компоненты, которые используются для создания вашей первой Схемы.\n\nНе будет лишним сначала освоить рецепты с использованием &aПроволок&r, так как они экономят материалы в долгосрочной перспективе.\n\nПровода сейчас могут быть дорогими, но их стоимость сильно снизится, если вы создадите &3Наматыватель Пружин&r или &3Волочильный Станок&r в &7LV&r.", "quests.steam_age.coiling_machine.title": "Наматыватель Пружин", - "quests.steam_age.coiling_machine.subtitle": "LV Волочильный Станок, совмещённый с половиной LV Гибочным Станком!", + "quests.steam_age.coiling_machine.subtitle": "LV Волочильный Станок, совмещённый с половиной LV Прокатным Станком!", "quests.steam_age.coiling_machine.desc": "&3Наматыватель Пружин&r похож на LV Волочильный Станок, хотя у него нет возможности напрямую выдавать провода разного сечения. Тем не менее, это очень полезная инвестиция, чтобы сделать провода значительно дешевле.\n\nЭта машина также может делать более дешёвые пружины!", "quests.steam_age.curving_press.title": "Гибочный Пресс", "quests.steam_age.curving_press.subtitle": "Так же хорош, как LV Экструдер", @@ -3536,8 +3686,8 @@ "quests.steam_age.steel_saw.subtitle": "Камнерез и LV Резочная Машина в одном!", "quests.steam_age.steel_saw.desc": "Это улучшение вашей Базовой Механической Пилы, которое также может обрабатывать некоторые металлические рецепты, например, превращать прутья в четыре болта и распиливать блоки на пластины. Для работы всех этих рецептов требуется жидкость, но пока можно использовать воду.\n\nТакже её можно использовать для более дешёвых резиновых листов, если сначала использовать Печь для Сплавов, чтобы превратить вашу массу в блок.", "quests.steam_age.rolling_mill.title": "Прокатный Станок", - "quests.steam_age.rolling_mill.subtitle": "Вторая половинка LV прокатного станка", - "quests.steam_age.rolling_mill.desc.1": "Среди всех машин, которые ты можешь сделать в паровом веке, &3Прокатный Станок&r одна из лучших, по промтой причине, что он может делать пластины 1 к 1. Он также может делать фольгу дешевле чем руками, как бонус!", + "quests.steam_age.rolling_mill.subtitle": "Вторая половинка LV гибочного станка", + "quests.steam_age.rolling_mill.desc.1": "Среди всех машин, которые ты можешь сделать в паровом веке, &3Прокатный Станок&r одна из лучших, по простой причине, что он может делать пластины 1 к 1. Он также может делать фольгу дешевле чем руками, как бонус!", "quests.steam_age.rolling_mill.desc.2": "&l&Предистория:&r &oЭта машина существовала в более ранних версиях TFG, но он делал стержни вместо пластин, и лучший способ делать пластины до LV прокатного станка имел 20-и процентный шанс неудачи!&r", "quests.steam_age.steel_mixer.title": "Стальной Мехнический Смешиватель", "quests.steam_age.steel_mixer.subtitle": "Ранний LV Смешиватель", @@ -3887,6 +4037,7 @@ "quests.tfg_tips.terminal.desc": "&bТерминал&r имеет одну основную цель, и &aмы настоятельно советуем тебе его скрафтить&r.\n\nСтроительство всех этих &eмультиблоков&r может выглядеть довольно &cпугающе&r, правда? Тогда вот совет: используй &dShift + ПКМ&r по любому &6контроллеру мультиблока&r, чтобы &aавтоматически собрать всю структуру&r!\n\nВозможно, тебе придётся &eпереместить некоторые люки&r под свою схему, но в целом эта функция сэкономит тебе &aкучу времени&r.", "quests.tfg_tips.memory_card.subtitle": "Ctrl+C Ctrl+V", "quests.tfg_tips.memory_card.desc": "Когда ты пытаешься &aраспараллелить свою систему&r, добавляя больше машин, настройка всех &eвходов&r и &eвыходов&r для каждой из них может сильно раздражать. Да-да, мы смотрим на вас, &dСупер сундуки&r и &dСупер резервуары&r.\n\nЕсли тебе когда-нибудь понадобится этот небольшой инструмент, не стесняйся им пользоваться.", + "quests.tfg_tips.portable_scanner.title": "Портативный сканер", "quests.tfg_tips.portable_scanner.subtitle": "Для любопытных игроков GregTech", "quests.tfg_tips.portable_scanner.desc.1": "&aПортативный сканер&r, он же &aТрикодер&r, — это отладочный инструмент GTCEu.\n\nПри использовании он покажет тебе информацию о блоке, данные об энергетической сети, его текущее состояние и содержимое, а также влияние на производительность.\n\nТакже он отображает процент оставшейся жидкости в жиле для &3жидкостных буровых установок&r.", "quests.tfg_tips.portable_scanner.desc.2": "&l&3Предистория:&r&o Этот маленький полезный девайс пришёл из GregTech 5. В ранние времена он был крайне полезен, потому что GUI и WAILA давали очень мало информации (по сути — почти никакой).", @@ -3944,7 +4095,7 @@ "quests.tfg_tips.tallow.desc": "&dЖир&r можно использовать в качестве топлива для фонаря. Полного фонаря хватит на &c18&r дней.", "quests.tfg_tips.tallow.task": "Ведро жира", "quests.tfg_tips.olive_oil.title": "Топливо для фонаря: Оливковое масло", - "quests.tfg_tips.olive_oil.subtitle": "Чуточкуо'ливковогомасла", + "quests.tfg_tips.olive_oil.subtitle": "Чуточку оливкового масла", "quests.tfg_tips.olive_oil.desc": "&dОливковое масло&r можно использовать в качестве топлива. Хотя его и сложнее получить по сравнению с другими, но полного фонаря хватает на целых &c83&r дня!\n\n&3&lСовет:&r&o Доступ к электрическим механизмам уже на уровне &7LV&r значительно упростит обработку.", "quests.tfg_tips.olive_oil.task": "Ведро оливкового масла", "quests.tfg_tips.lava_lamp.title": "Топливо для фонаря: Лава?", @@ -4488,7 +4639,7 @@ "quests.tfg_tips.tools_tips.seed_oil.desc": "&dРастительное масло&r будет гореть на протяжении &c72&r дней.", "quests.tfg_tips.tools_tips.seed_oil.task": "Любое ведро растительного масла", "quests.tfg_tips.tools_tips.soybean_oil.title": "Топливо для фонаря: Соевое масло", - "quests.tfg_tips.tools_tips.soybean_oil.subtitle": "фонарь на белковой диете", + "quests.tfg_tips.tools_tips.soybean_oil.subtitle": "Фонарь на белковой диете", "quests.tfg_tips.tools_tips.soybean_oil.desc": "&dСоевое масло&r горит так же долго как и растительон масло — &c72&r дня. ", "quests.tfg_tips.tools_tips.soybean_oil.task": "Любое ведро соевого масла", "quests.tfg_tips.tools_tips.markings.title": "Метки", From 66f40b2824e666cf68c2a30c0776b618e05bcae9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 00:09:14 +0000 Subject: [PATCH 490/628] oops the trooper textures were in the wrong place --- kubejs/assets/species/entity/treeper/trooper.png | Bin 881 -> 0 bytes .../species/entity/treeper/trooper_tame.png | Bin 898 -> 0 bytes .../species/textures/entity/treeper/trooper.png | Bin 0 -> 754 bytes .../textures/entity/treeper/trooper_tame.png | Bin 0 -> 771 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 kubejs/assets/species/entity/treeper/trooper.png delete mode 100644 kubejs/assets/species/entity/treeper/trooper_tame.png create mode 100644 kubejs/assets/species/textures/entity/treeper/trooper.png create mode 100644 kubejs/assets/species/textures/entity/treeper/trooper_tame.png diff --git a/kubejs/assets/species/entity/treeper/trooper.png b/kubejs/assets/species/entity/treeper/trooper.png deleted file mode 100644 index b09fe26a964861273274f77713d4302248f78b7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 881 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOKYMw5RAr*{UrrBqQ1PUBY zpYO}lq>|ku)vVy*5-6bDHGQ^0e`p%v26o}8Y?${yTHr?VjYLrrX=4_SkHKK?zE}ACA$*ltl!k=U#!jcsCDipZs{Li z|CKLm+fgE*>!P-SRjINv`|T3rpP8T7EJF;gNgflZwY@uSI(y&NRF8i=X?GKgW-%y= zuUB9{@i09J^EoJ7cW?}zTxqc8=7lcUljZ}0@hSHr)E+eE6b}D7fVaN zuG2l{$xtHpP+6@{|50Rc+mkP6Z_aw>Q}ldgoOMm&dS6?~Z$CZCecwJ<+c1-+7Pyg05#D)EnB}n&86j`tid(hOPsjd)K)K z3HjN5v3YaDILABwo`lf<^GD@7f>NY3de;@KvY2$??O$6E_d)6Dt`A%n9zJmv&x>Da zZt?78^>u0I&orzW_@aSu)31z?{Tp|Tcv-@(z1RZWp!oC(vHOntQsBt+6xR8Xw)g# z8#b9AI5(rtgICs-wXJK(jZexCBbse2F0|f~ak6koRGCrv`%3bm^)1!O>L>PdyYuMm zyPbN&;k&1BL*;_VhW;a7E0`3;Uv+V(9#U$Wz+~nqqiD@g&=7pUy-;QUgtZN(ib7?s zMh$!%3naOia{QR(4?H`;SY`b|GQonOpNC`iLIWA+V-A5le!U6Xne!X&GWE%9FfQZU zz<6CjPCDMYb*q`BvDw4_B|F?p8uSvl71d)q&9wfqnC+^teZ4B_A2S2P|Nql78fq9A f7}!8LhMB>oCnkRRLy5Z#3=9mOu6{1-oD!M<*u;P- diff --git a/kubejs/assets/species/entity/treeper/trooper_tame.png b/kubejs/assets/species/entity/treeper/trooper_tame.png deleted file mode 100644 index ed4428e56e64794a01384e8286e6568b6eed395f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 898 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOK=AJH&Ar*{Urk(em5-8Gk zz9v_V(@A}^5oc3CSJMfOLs45elsvMouJirNniuV6JzY0yOGfbSLkF4`b%Yc6m;3Cv8NlYC#Oi(^Sf1L`@ffqV2%=#JS}o+ zCU1`QrHM0i-d=jq)T$yhTfj*Ag4FL{yLe3Uw(I6BxXb$ZwW!&L%(|lrb{k_KpJA)> z{qJ{WLfHNeu}K~|P917_Yxcgp^XJzi(`x|-cbre?W6T& z=CZe8S2LJCT;9+RX~lUPINwh{_@Bs4_l^flXI8vPD-1R^?LsfJeicCV7^;n z#iNLz?cYn1iabpYT-P-|q$#g3no5EMM=*Rde$@ap9w){*hV9{c=e>xjzoMHa}f|-`1~ZnT_I)j5iMFFRrS8 z%eJxY^yKN&`OJ*erdd!7!Td$Jz(w4W}9R z7zvm;Cz|L&ELfp4&4pF#P}j+;h(o1_lN;P!?il5Xer5x4B^diGhKE!PC{x JWt~$(6951+S2=UDwSIAN1tD6&vp|LtxR-J$+sL8jtzo z%!2dX)qYLzNSTqCn7CxU$D&gc#rP#>Y|CSwCeqNSg+I(?_8&%KO%iC*d z{9JI(_)>#H*Cg@JyMiLtY`pSkiOphziC37GKl3U~JhF159^?$&ZXT);lZ8{pGm1na{&WO+d6? zD)3>9y+=#J`m0mh+!Vta9rya=oeZn%;CYq0K(Z@$U);Bn!wUlRm@aI*ow9t>j=ukT zrrMu#*4uyOda5M5TQ<9W+s3f3Ew>lnoV(Fa>d4l=t}(|Ct~rxzT7Hq2Ss}$^24h6! zR#77b?SNgs*=Km#>^${g>t9!flEVkG-X(=SdwC=GCKJQ;!lY$MY(?H?y=RTMwV5qz zde6>LIk|6JO`pSJxp$T;o;&>E`^2*4*KhH-<9Y3OSg(f_htCswkWu!$LQKJWYHEc= zkE*Zp7pe5RzZn{LI~NKbD%$@wK4$8NB`18Qe=725N;)L*BXv(@dSl<+X}{HND;F_- zSnnmU>LBMfrx}4?zl5+I$voPfTw$@KT*7aiG~3>=@MGtl|8Oz}%w+ zuQ$E9V{RVUu`s9cKx1KzG25Z4+Ntx{1%Lk1dtXvgUvR3y?Xsw#T1$r2OowCaOFpWv zU%ha-vQ&+yiq)Tg(`S_)`&5}zzTR1{ls(t;+;m6L?~*f&9=uEbKSjRIdRf|B#@geB z>z&V9Ene`T*-9?ULBRFoWzX<}r>R^GZ~3RamvlZC{#3G!GnD&H&~0IHw>Lr2QP=wP z^uM3beeq(!%XN?W-hH_7yd^<3q()JryIqm#!{^hRgx#t>lzb2R{zs$Z&Jv5Bh{i&x zkCWPF?#MkDp)J6Zvrc?&#lb0)c0biQfA77K|c}es+rqKAD*KfNfUoZ)} zX~Hn=rh=L5;@sWkE9afxxcTE9&(zBiX~_#@C!YPfNcqmZb8q{%T(0wx)4jAU_e%}m z;wa^XnGAN$hjkJaXr&a_xgs&r{_}H)ceI4Ju;-+wzkbXpE#3uJu5@*Z8-ze z1cf+*l{u-A5pSywhu`d~R$0Hkbh>hY=I?60PnH7ve^)Y1{B%6LFV(E(-LLt*S!Zvn z9(Z}@-%lNf94oi?OUx&j@ElB*`TKRTQmJ~I8%Oo)um2xyY7uuWQJegwZArY31oQTu z@A7&HGkNp>F0u}nV)(w|i?f-<-?aj1DYkp3Fm8-4Ed1hEwZ-qxN#R*;tM7ezbX~EI cyP^K~^5m`Fm*;sgFfcH9y85}Sb4q9e0EbUyi~s-t literal 0 HcmV?d00001 From 21e9f7f49ccd890760962795e9971dfd0b1d5c74 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 00:09:33 +0000 Subject: [PATCH 491/628] actual working sealed barrel recipes for developing film --- CHANGELOG.md | 2 + .../assets/emi/recipe/filters/categories.json | 3 + kubejs/server_scripts/create/tags.js | 2 +- kubejs/server_scripts/exposure/recipes.js | 225 +++++++++--------- kubejs/server_scripts/gregtech/recipes.js | 16 +- .../tfc/item_stack_modifiers.js | 8 + 6 files changed, 143 insertions(+), 113 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 762a0227b..9b7423bf8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,8 @@ - Added quern recipes for gems into dust @Pyritie - Added recipes for smoke bombs, pet treats, and disguise kits, and added swapper pearls to the loot tables of various endermen @Pyritie - Added a little saltpeter to cassiterite veins @Pyritie +- Removed the cleanroom requirement for level emitters since they were also craftable in a crafting grid (#2529) @Jeuvke +- Added recipes for developing film in sealed barrels @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 3a5b4e82e..3efe1f4e2 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -84,6 +84,9 @@ { "id": "toomanyrecipeviewers:/create/potions" }, + { + "id": "toomanyrecipeviewers:/exposure/sequenced_color_film_developing" + }, { "id": "/gtceu.+potion_.+/" }, diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index c2eb91a4b..704c76b11 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -183,7 +183,7 @@ const registerCreateFluidTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'create:chocolate') event.add('c:hidden_from_recipe_viewers', 'create:honey') event.add('c:hidden_from_recipe_viewers', 'create:builders_tea') - event.add('c:hidden_from_recipe_viewers', 'create:uncraftable_potion') + event.add('c:hidden_from_recipe_viewers', 'create:potion') // Disable bulk blasting event.removeAll('create:fan_processing_catalysts/blasting') diff --git a/kubejs/server_scripts/exposure/recipes.js b/kubejs/server_scripts/exposure/recipes.js index 9b2505895..5e326c624 100644 --- a/kubejs/server_scripts/exposure/recipes.js +++ b/kubejs/server_scripts/exposure/recipes.js @@ -3,124 +3,127 @@ const registerExposureRecipes = (event) => { - event.remove({ id: 'exposure:sequenced_color_film_developing' }) - - // Lightroom - event.shaped('exposure:lightroom', [ - 'AB', - 'CC', - 'CC' - ], { - A: '#tfc:lamps', - B: 'minecraft:redstone_torch', - C: '#minecraft:planks' - }).id('exposure:lightroom') + event.remove({ id: 'exposure:sequenced_color_film_developing' }) - // Camera - event.shaped('exposure:camera', [ - 'ABC', - 'DED', - 'FDF' - ], { - A: 'minecraft:lever', - B: 'gtceu:wrought_iron_gear', - C: '#minecraft:wooden_buttons', - D: '#forge:plates/wrought_iron', - E: 'tfc:lens', - F: '#forge:screws/wrought_iron' - }).id('exposure:camera') + // Lightroom + event.shaped('exposure:lightroom', [ + 'AB', + 'CC', + 'CC' + ], { + A: '#tfc:lamps', + B: 'minecraft:redstone_torch', + C: '#minecraft:planks' + }).id('exposure:lightroom') - // Album - event.shapeless('exposure:album', [ - 'minecraft:writable_book', 'minecraft:paper', 'minecraft:paper' - ]).id('exposure:album') + // Camera + event.shaped('exposure:camera', [ + 'ABC', + 'DED', + 'FDF' + ], { + A: 'minecraft:lever', + B: 'gtceu:wrought_iron_gear', + C: '#minecraft:wooden_buttons', + D: '#forge:plates/wrought_iron', + E: 'tfc:lens', + F: '#forge:screws/wrought_iron' + }).id('exposure:camera') - // Black and White Film - event.shaped('exposure:black_and_white_film', [ - 'ABB', - 'CDD', - 'CEE' - ], { - A: '#forge:rings/wrought_iron', - B: '#forge:dyes/white', - C: '#forge:foils/wrought_iron', - D: '#forge:dusts/gunpowder', - E: 'tfc:food/dried_kelp', - }).id('exposure:black_and_white_film') + // Album + event.shapeless('exposure:album', [ + 'minecraft:writable_book', 'minecraft:paper', 'minecraft:paper' + ]).id('exposure:album') - // Colored Film - event.shaped('exposure:color_film', [ - 'ABB', - 'CDD', - 'CEE' - ], { - A: '#forge:rings/wrought_iron', - B: '#forge:dyes/blue', - C: '#forge:foils/wrought_iron', - D: '#forge:foils/gold', - E: 'tfc:food/dried_kelp', - }).id('exposure:color_film') + // Black and White Film + event.shaped('exposure:black_and_white_film', [ + 'ABB', + 'CDD', + 'CEE' + ], { + A: '#forge:rings/wrought_iron', + B: '#forge:dyes/white', + C: '#forge:foils/wrought_iron', + D: '#forge:dusts/gunpowder', + E: 'tfc:food/dried_kelp', + }).id('exposure:black_and_white_film') - event.recipes.createSequencedAssembly([ - 'exposure:developed_color_film', - ], 'exposure:color_film', [ - event.recipes.createFilling('exposure:color_film', ['exposure:color_film', Fluid.of('tfc:spring_water', 50)]), - ]).transitionalItem('exposure:color_film').loops(1).id('tfg:color_film_developing') + event.recipes.tfc.barrel_sealed(8000) + .inputs('exposure:black_and_white_film', Fluid.of('minecraft:water', 250)) + .outputItem(TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt')) + .id('tfg:develop_black_and_white_film') + // Colored Film + event.shaped('exposure:color_film', [ + 'ABB', + 'CDD', + 'CEE' + ], { + A: '#forge:rings/wrought_iron', + B: '#forge:dyes/blue', + C: '#forge:foils/wrought_iron', + D: '#forge:foils/gold', + E: 'tfc:food/dried_kelp', + }).id('exposure:color_film') - // Developed Black and White Film - event.custom({ - type: "exposure:film_developing", - film: { - item: "exposure:black_and_white_film" - }, - ingredients: [ - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "minecraft:water", - amount: 1000 - } - }, - ], - result: { - item: "exposure:developed_black_and_white_film" - } - }).id('exposure:developing_black_and_white_film') + event.recipes.tfc.barrel_sealed(8000) + .inputs('exposure:color_film', Fluid.of('tfc:spring_water', 250)) + .outputItem(TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt')) + .id('tfg:develop_color_film') - // Developed Color Film - event.custom({ - type: "exposure:film_developing", - film: { - item: "exposure:color_film" - }, - ingredients: [ - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "minecraft:water", - amount: 1000 - } - }, - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "minecraft:water", - amount: 1000 - } - }, - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "minecraft:water", - amount: 1000 - } - }, - ], - result: { - item: "exposure:developed_color_film" - } - }).id('exposure:developing_color_film') + // Developed Black and White Film + event.custom({ + type: "exposure:film_developing", + film: { + item: "exposure:black_and_white_film" + }, + ingredients: [ + { + type: "tfc:fluid_item", + fluid_ingredient: { + ingredient: "minecraft:water", + amount: 1000 + } + }, + ], + result: { + item: "exposure:developed_black_and_white_film" + } + }).id('exposure:developing_black_and_white_film') - event.replaceInput({id: 'exposure:interplanar_projector'}, 'minecraft:ender_eye', '#forge:plates/silver') + // Developed Color Film + event.custom({ + type: "exposure:film_developing", + film: { + item: "exposure:color_film" + }, + ingredients: [ + { + type: "tfc:fluid_item", + fluid_ingredient: { + ingredient: "tfc:spring_water", + amount: 1000 + } + }, + { + type: "tfc:fluid_item", + fluid_ingredient: { + ingredient: "tfc:spring_water", + amount: 1000 + } + }, + { + type: "tfc:fluid_item", + fluid_ingredient: { + ingredient: "tfc:spring_water", + amount: 1000 + } + }, + ], + result: { + item: "exposure:developed_color_film" + } + }).id('exposure:developing_color_film') + + event.replaceInput({ id: 'exposure:interplanar_projector' }, 'minecraft:ender_eye', '#forge:foils/silver') } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1e9035862..950e45fe6 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -367,6 +367,20 @@ const registerGTCEURecipes = (event) => { .EUt(GTValues.VA[GTValues.UV]) - event.replaceInput( {output: 'gtceu:nano_saber'}, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide' ) + event.replaceInput({ output: 'gtceu:nano_saber' }, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide') + + // Intentionally long to encourage reuse instead of mindlessly creating and distilling + event.recipes.gtceu.mixer('tfg:diluted_hcl_acid') + .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000), Fluid.of('minecraft:water')) + .outputFluids(Fluid.of('gtceu:diluted_hydrochloric_acid', 2000)) + .duration(30 * 20) + .EUt(GTValues.VA[GTValues.LV]) + + + event.recipes.gtceu.mixer('tfg:diluted_sulf_acid') + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 2000), Fluid.of('minecraft:water')) + .outputFluids(Fluid.of('gtceu:diluted_sulfuric_acid', 3000)) + .duration(30 * 20) + .EUt(GTValues.VA[GTValues.LV]) } diff --git a/kubejs/startup_scripts/tfc/item_stack_modifiers.js b/kubejs/startup_scripts/tfc/item_stack_modifiers.js index 8dfb811fe..713bcfab2 100644 --- a/kubejs/startup_scripts/tfc/item_stack_modifiers.js +++ b/kubejs/startup_scripts/tfc/item_stack_modifiers.js @@ -7,4 +7,12 @@ TFCEvents.registerItemStackModifier(event => { TFC.misc.getFood(output).setBowl(input) return output; }); + + event.withInput('tfg:copy_nbt', (output, input) => { + let { nbt } = input + if (nbt) { + output.orCreateTag.merge(nbt) + } + return output + }) }) \ No newline at end of file From cc31e49b6cae329f33ac0e90d1d172099dd59a75 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 00:23:12 +0000 Subject: [PATCH 492/628] langs, and cleanup propylene --- kubejs/assets/species/lang/en_us.json | 9 ++++++++- kubejs/assets/tfg/lang/en_us.json | 11 +++++------ kubejs/assets/tfg/lang/ja_jp.json | 5 ++--- kubejs/assets/tfg/lang/ru_ru.json | 1 - kubejs/assets/tfg/lang/uk_ua.json | 1 - kubejs/assets/tfg/lang/zh_cn.json | 1 - kubejs/startup_scripts/tfg/materials.power_rework.js | 8 -------- 7 files changed, 15 insertions(+), 21 deletions(-) diff --git a/kubejs/assets/species/lang/en_us.json b/kubejs/assets/species/lang/en_us.json index 55599bd88..535a349cf 100644 --- a/kubejs/assets/species/lang/en_us.json +++ b/kubejs/assets/species/lang/en_us.json @@ -10,5 +10,12 @@ "subtitles.item.species.wicked_swapper.throw": "Swapper Pearl flies", "subtitles.item.species.wicked_swapper.fail": "Swapper Pearl drops", "subtitles.item.species.wicked_swapper.teleport": "Swapper Pearl swaps", - "advancements.species.wicked_mask_wither.description": "Disguise yourself as a Wither using a Disguise Kit" + "advancements.species.wicked_mask_wither.description": "Disguise yourself as a Wither using a Disguise Kit", + "item.species.trooper_spawn_egg": "Sulfie Spawn Egg", + "entity.species.trooper": "Sulfie", + "subtitles.entity.species.trooper.death": "Sulfie dies", + "subtitles.entity.species.trooper.hurt": "Sulfie hurts", + "subtitles.entity.species.trooper.step": "Sulfie trots", + "subtitles.entity.species.trooper.uproot": "Sulfie uproots", + "subtitles.entity.species.trooper.plant": "Sulfie plants" } \ 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 91e424993..f69caba0a 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1084,9 +1084,9 @@ "item.tfg.rough_endoplasmic_reticula": "Rough Endoplasmic Reticula", "item.tfg.alpha_keratin": "α-Keratin", "item.tfg.progenitor_cells": "Progenitor Cells", - "item.tfg.catalyser_pt_re_zsm": "Catalyser Pt-Re ZSM-5", - "item.tfg.used_catalyser": "Used Catalyser Pt-Re ZSM-5", - "item.tfg.loaded_resin": "Re-Loaded Resin", + "item.tfg.catalyser_pt_re_zsm": "Platinum-Rhenium ZSM-5 Catalyzer", + "item.tfg.used_catalyser": "Used Platinum-Rhenium ZSM-5 Catalyzer", + "item.tfg.loaded_resin": "Rhenium-Loaded Resin", "item.tfg.rod_mold": "Fire Rod Mold", "item.tfg.small_gear_mold": "Fire Small Gear Mold", "item.tfg.nugget_mold": "Nugget Mold", @@ -1246,11 +1246,10 @@ "material.tfg.tin_chloride": "Stannous Chloride", "material.tfg.cyclohexanone": "Cyclohexanone", "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxide", - "material.tfg.aciditic_waste": "Aciditic Waste", - "material.tfg.propylene": "Propylene", + "material.tfg.aciditic_waste": "Acidic Epoxy Waste", "material.tfg.tpaoh": "Tetrapropylammonium Hydroxide", "material.tfg.sodium_silicate": "Sodium Silicate", - "material.tfg.metal_rich_solution": "Metal Rich Solution", + "material.tfg.metal_rich_solution": "Leachate Metal-Rich Solution", "material.tfg.crude_mixed_gas": "Crude Mixed Gas", "material.tfg.zsm5_gel": "ZSM-5 Gel", "material.tfg.leachate": "Rhenium Leachate", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 09cf1c870..af7177e25 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1203,11 +1203,10 @@ "material.tfg.tin_chloride": "Stannous Chloride", "material.tfg.cyclohexanone": "Cyclohexanone", "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxide", - "material.tfg.aciditic_waste": "Aciditic Waste", - "material.tfg.propylene": "Propylene", + "material.tfg.aciditic_waste": "Acidic Epoxy Waste", "material.tfg.tpaoh": "Tetrapropylammonium Hydroxide", "material.tfg.sodium_silicate": "Sodium Silicate", - "material.tfg.metal_rich_solution": "Metal Rich Solution", + "material.tfg.metal_rich_solution": "Leachate Metal-Rich Solution", "material.tfg.crude_mixed_gas": "Crude Mixed Gas", "material.tfg.zsm5_gel": "ZSM-5 Gel", "material.tfg.leachate": "Rhenium Leachate", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index b5a005630..862d4b3a7 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1202,7 +1202,6 @@ "material.tfg.cyclohexanone": "Циклогексанон", "material.tfg.cyclohex_diperoxide": "1,1-Циклогександиил дигидропероксид", "material.tfg.aciditic_waste": "Кислотные отходы", - "material.tfg.propylene": "Пропилен", "material.tfg.tpaoh": "Гидроксид тетрапропиламмония", "material.tfg.sodium_silicate": "Силикат натрия", "material.tfg.metal_rich_solution": "Богатый металлами раствор", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 9d5ca901b..7879150f4 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1247,7 +1247,6 @@ "material.tfg.cyclohexanone": "Циклогексанон", "material.tfg.cyclohex_diperoxide": "1,1-Циклогександиїл дігідропероксид", "material.tfg.aciditic_waste": "Кислотні відходи", - "material.tfg.propylene": "Пропілен", "material.tfg.tpaoh": "Гідроксид тетрапропіламонію", "material.tfg.sodium_silicate": "Натрій силікат", "material.tfg.metal_rich_solution": "Металонасичений розчин", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index f25dde829..2a5d1be24 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1341,7 +1341,6 @@ "material.tfg.cyclohexanone": "环己酮", "material.tfg.cyclohex_diperoxide": "1,1-环己烷二基二氢过氧化物", "material.tfg.aciditic_waste": "酸性废料", - "material.tfg.propylene": "丙烯", "material.tfg.tpaoh": "四丙基氢氧化铵", "material.tfg.sodium_silicate": "硅酸钠", "material.tfg.metal_rich_solution": "富金属溶液", diff --git a/kubejs/startup_scripts/tfg/materials.power_rework.js b/kubejs/startup_scripts/tfg/materials.power_rework.js index 30e215278..07ada788b 100644 --- a/kubejs/startup_scripts/tfg/materials.power_rework.js +++ b/kubejs/startup_scripts/tfg/materials.power_rework.js @@ -54,14 +54,6 @@ const registerTFGPowerReworkMaterials = (event) => { //#region Materials for BTX - // Propylene - event.create('tfg:propylene') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(350)) - .components('3x carbon', '6x hydrogen') - .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) - .color(0xffb347) - .secondaryColor(0xffe0b2) - // Crude Mixed Gas event.create('tfg:crude_mixed_gas') .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) From ace4176e84dba17478fe1ce86b5c09441b834b59 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 10:40:38 +0000 Subject: [PATCH 493/628] fix #2530 --- kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json b/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json index 6bdfe912e..90da1d915 100644 --- a/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json +++ b/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json @@ -2,7 +2,7 @@ "contents": [ { "index": 0, - "element": "Os", + "element": "Ru", "x": 0.0, "y": 0.0, "type": "atom" From 97e430b55e1ed30095f84ce4327ec4df77d58a8c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 14:04:08 +0000 Subject: [PATCH 494/628] update pakku --- pakku-lock.json | 125 ++++++++++++++++++++++++------------------------ 1 file changed, 62 insertions(+), 63 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index b9f6e45a8..20ea737db 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -3500,32 +3500,9 @@ "modrinth": "ix1qq8Ux" }, "files": [ - { - "type": "curseforge", - "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "forge", - "neoforge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7330/477/CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", - "id": "7330477", - "parent_id": "1154099", - "hashes": { - "sha1": "4cc9d9e8cb0e615258acc7e81d27be10d34ae840", - "md5": "7d089103d00b7fb5afd7096afe317f81" - }, - "required_dependencies": [], - "size": 1230345, - "date_published": "2025-12-14T00:18:54.663Z" - }, { "type": "modrinth", - "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", + "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.28.jar", "mc_versions": [ "1.19", "1.19.1", @@ -3540,16 +3517,39 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ix1qq8Ux/versions/uTKUXsEa/CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", - "id": "uTKUXsEa", + "url": "https://cdn.modrinth.com/data/ix1qq8Ux/versions/1mGJaICy/CrashAssistant-forge-1.19-1.20.1-1.10.28.jar", + "id": "1mGJaICy", "parent_id": "ix1qq8Ux", "hashes": { - "sha512": "4224e75cb3dd86ca40d7d28eb016ada18baf27e102137af2fc76b83efceaaa6a8d7979b3b5d369ecd864ad1bf4c27a20dd182e31cb19c05f1c7eb4939e73107e", - "sha1": "4cc9d9e8cb0e615258acc7e81d27be10d34ae840" + "sha512": "7bcf054ca17ba8f2852e8e8c2192e09e8a92291602e5a9f548bc22e55ddc8e6f271ae438ac06c70e9b4393b7cdae3c9e0e327bd2b168202c4d8eb4371ada1c01", + "sha1": "ff33e66ea1d828f0a5de39cf31d765e75d0a3859" }, "required_dependencies": [], - "size": 1230345, - "date_published": "2025-12-14T00:18:58.159121Z" + "size": 1231520, + "date_published": "2025-12-25T00:04:33.812161Z" + }, + { + "type": "curseforge", + "file_name": "CrashAssistant-forge-1.19-1.20.1-1.10.28.jar", + "mc_versions": [ + "1.20.1", + "1.20" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7374/762/CrashAssistant-forge-1.19-1.20.1-1.10.28.jar", + "id": "7374762", + "parent_id": "1154099", + "hashes": { + "sha1": "ff33e66ea1d828f0a5de39cf31d765e75d0a3859", + "md5": "9237488163b0053a047eafadc328812f" + }, + "required_dependencies": [], + "size": 1231520, + "date_published": "2025-12-25T00:04:30.453Z" } ] }, @@ -7924,44 +7924,43 @@ "files": [ { "type": "modrinth", - "file_name": "[1.18.2-1.20.1-1.21.1_ver_0.05]_Improved_Create_32x.zip", + "file_name": "[1.20.1_ver_0.06.1]_Improved_Create_32x.zip", "mc_versions": [ - "1.18.2", - "1.20.1", - "1.21.1" + "1.20", + "1.20.1" ], "loaders": [ "minecraft" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/ZyLGK5YD/versions/WIzHUaPB/[1.18.2-1.20.1-1.21.1_ver_0.05]_Improved_Create_32x.zip", - "id": "WIzHUaPB", + "url": "https://cdn.modrinth.com/data/ZyLGK5YD/versions/YcF3Jaah/[1.20.1_ver_0.06.1]_Improved_Create_32x.zip", + "id": "YcF3Jaah", "parent_id": "ZyLGK5YD", "hashes": { - "sha512": "7eb708a41e73a9c83bff005bcec2830594697d66cdbc4bb04d22e7c5013dc8d57f64a71ce355f77961309c3785eb3e145a9f2cace158c9a25849ba668a4235e0", - "sha1": "f3db3254d67ccb2a725df1d5ddc3729ef700c932" + "sha512": "5f23be27610562fcc3824f84aa4212a0af9d576b4500bb36ad362ee336fc35d80cd992fd20853477d1d24549a60d0531650b1c206c6e0781e19e68960fbe50ac", + "sha1": "bbb13393f052cee815db4a9908e5d30696f604dc" }, "required_dependencies": [], - "size": 7542322, - "date_published": "2025-09-22T15:23:01.988905Z" + "size": 12615396, + "date_published": "2025-12-27T08:18:58.690542Z" }, { "type": "curseforge", - "file_name": "[1.18.2-1.20.1-1.21.1_ver_0.05]_Improved_Create_32x.zip", + "file_name": "[1.20.1_ver_0.06.1]_Improved_Create_32x.zip", "mc_versions": [ "1.20.1" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7022/585/[1.18.2-1.20.1-1.21.1_ver_0.05]_Improved_Create_32x.zip", - "id": "7022585", + "url": "https://edge.forgecdn.net/files/7383/828/[1.20.1_ver_0.06.1]_Improved_Create_32x.zip", + "id": "7383828", "parent_id": "973588", "hashes": { - "sha1": "f3db3254d67ccb2a725df1d5ddc3729ef700c932", - "md5": "589525b651d24fa8aea5e33bb9f1b72f" + "sha1": "bbb13393f052cee815db4a9908e5d30696f604dc", + "md5": "17eeab5d55dc08e2d01658f85d0cd8f9" }, "required_dependencies": [], - "size": 7542322, - "date_published": "2025-09-22T15:23:11.737Z" + "size": 12615396, + "date_published": "2025-12-27T08:19:03.583Z" } ] }, @@ -14131,7 +14130,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.11.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.12.jar", "mc_versions": [ "1.20.1" ], @@ -14140,23 +14139,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/LlHAk3em/TerraFirmaGreg-Core-Modern-0.8.11.jar", - "id": "LlHAk3em", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/xLevdPCa/TerraFirmaGreg-Core-Modern-0.8.12.jar", + "id": "xLevdPCa", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "0ca79125debccf02c2f65bdf60be78ad6a80383ca250c2505f912b53364bb9de323214c40a4d74453e696ed382a21c21a002866e330226fa53436772f3f98b7c", - "sha1": "0590a2fd0a2a6730def92f60df285adb838b2162" + "sha512": "9af9237a291f0b911e420477cbb45aeaa18c12b41e0d8bd4d2c3cc5575dfb4129ab0e4144c9122c9bfcafef855c659e05c4fb4478b9a6817a8fc4def00995b04", + "sha1": "5dc28e3df1d3e2b5c17f0b6cf1b8b92790d7ea9b" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 9344637, - "date_published": "2025-12-19T11:54:06.090471Z" + "size": 9357821, + "date_published": "2025-12-27T13:29:26.042411Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.11.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.12.jar", "mc_versions": [ "1.20.1" ], @@ -14165,19 +14164,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7353/303/TerraFirmaGreg-Core-Modern-0.8.11.jar", - "id": "7353303", + "url": "https://edge.forgecdn.net/files/7384/528/TerraFirmaGreg-Core-Modern-0.8.12.jar", + "id": "7384528", "parent_id": "513402", "hashes": { - "sha1": "0590a2fd0a2a6730def92f60df285adb838b2162", - "md5": "fd7a169dc0a1a25da9877b8bb1b2cb41" + "sha1": "5dc28e3df1d3e2b5c17f0b6cf1b8b92790d7ea9b", + "md5": "253aa985ab553e2267228bdb76ae0243" }, "required_dependencies": [ - "890405", - "302973" + "302973", + "890405" ], - "size": 9344637, - "date_published": "2025-12-19T11:54:01.770Z" + "size": 9357821, + "date_published": "2025-12-27T13:29:21.377Z" } ] }, From 2b5b3a28b7542e7820392dbdc578463779421060 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 16:26:03 +0000 Subject: [PATCH 495/628] vexxed textures for armor --- .../entity/horse_armor/bismuth_bronze.png | Bin 0 -> 1966 bytes .../textures/entity/horse_armor/black_bronze.png | Bin 0 -> 1957 bytes .../textures/entity/horse_armor/black_steel.png | Bin 0 -> 1808 bytes .../textures/entity/horse_armor/blue_steel.png | Bin 0 -> 2004 bytes .../tfc/textures/entity/horse_armor/bronze.png | Bin 0 -> 1990 bytes .../tfc/textures/entity/horse_armor/copper.png | Bin 0 -> 1984 bytes .../textures/entity/horse_armor/red_steel.png | Bin 0 -> 1936 bytes .../tfc/textures/entity/horse_armor/steel.png | Bin 0 -> 1991 bytes .../textures/entity/horse_armor/wrought_iron.png | Bin 0 -> 1829 bytes .../textures/item/metal/boots/bismuth_bronze.png | Bin 0 -> 416 bytes .../textures/item/metal/boots/black_bronze.png | Bin 0 -> 437 bytes .../textures/item/metal/boots/black_steel.png | Bin 0 -> 451 bytes .../tfc/textures/item/metal/boots/blue_steel.png | Bin 0 -> 463 bytes .../tfc/textures/item/metal/boots/bronze.png | Bin 0 -> 369 bytes .../tfc/textures/item/metal/boots/copper.png | Bin 0 -> 328 bytes .../tfc/textures/item/metal/boots/red_steel.png | Bin 0 -> 493 bytes .../tfc/textures/item/metal/boots/steel.png | Bin 0 -> 544 bytes .../textures/item/metal/boots/wrought_iron.png | Bin 0 -> 363 bytes .../item/metal/chestplate/bismuth_bronze.png | Bin 0 -> 598 bytes .../item/metal/chestplate/black_bronze.png | Bin 0 -> 456 bytes .../item/metal/chestplate/black_steel.png | Bin 0 -> 567 bytes .../item/metal/chestplate/blue_steel.png | Bin 0 -> 536 bytes .../textures/item/metal/chestplate/bronze.png | Bin 0 -> 476 bytes .../textures/item/metal/chestplate/copper.png | Bin 0 -> 552 bytes .../textures/item/metal/chestplate/red_steel.png | Bin 0 -> 503 bytes .../tfc/textures/item/metal/chestplate/steel.png | Bin 0 -> 662 bytes .../item/metal/chestplate/wrought_iron.png | Bin 0 -> 501 bytes .../item/metal/greaves/bismuth_bronze.png | Bin 0 -> 447 bytes .../textures/item/metal/greaves/black_bronze.png | Bin 0 -> 455 bytes .../textures/item/metal/greaves/black_steel.png | Bin 0 -> 552 bytes .../textures/item/metal/greaves/blue_steel.png | Bin 0 -> 497 bytes .../tfc/textures/item/metal/greaves/bronze.png | Bin 0 -> 467 bytes .../tfc/textures/item/metal/greaves/copper.png | Bin 0 -> 491 bytes .../textures/item/metal/greaves/red_steel.png | Bin 0 -> 525 bytes .../tfc/textures/item/metal/greaves/steel.png | Bin 0 -> 660 bytes .../textures/item/metal/greaves/wrought_iron.png | Bin 0 -> 488 bytes .../item/metal/helmet/bismuth_bronze.png | Bin 0 -> 585 bytes .../textures/item/metal/helmet/black_bronze.png | Bin 0 -> 425 bytes .../textures/item/metal/helmet/black_steel.png | Bin 0 -> 448 bytes .../textures/item/metal/helmet/blue_steel.png | Bin 0 -> 524 bytes .../tfc/textures/item/metal/helmet/bronze.png | Bin 0 -> 395 bytes .../tfc/textures/item/metal/helmet/copper.png | Bin 0 -> 426 bytes .../tfc/textures/item/metal/helmet/red_steel.png | Bin 0 -> 546 bytes .../tfc/textures/item/metal/helmet/steel.png | Bin 0 -> 409 bytes .../textures/item/metal/helmet/wrought_iron.png | Bin 0 -> 411 bytes .../item/metal/horse_armor/bismuth_bronze.png | Bin 0 -> 386 bytes .../item/metal/horse_armor/black_bronze.png | Bin 0 -> 394 bytes .../item/metal/horse_armor/black_steel.png | Bin 0 -> 379 bytes .../item/metal/horse_armor/blue_steel.png | Bin 0 -> 395 bytes .../textures/item/metal/horse_armor/bronze.png | Bin 0 -> 399 bytes .../textures/item/metal/horse_armor/copper.png | Bin 0 -> 371 bytes .../item/metal/horse_armor/red_steel.png | Bin 0 -> 389 bytes .../textures/item/metal/horse_armor/steel.png | Bin 0 -> 396 bytes .../item/metal/horse_armor/wrought_iron.png | Bin 0 -> 377 bytes .../item/metal/shield/bismuth_bronze.png | Bin 0 -> 1127 bytes .../textures/item/metal/shield/black_bronze.png | Bin 0 -> 1169 bytes .../textures/item/metal/shield/black_steel.png | Bin 0 -> 1084 bytes .../textures/item/metal/shield/blue_steel.png | Bin 0 -> 957 bytes .../tfc/textures/item/metal/shield/bronze.png | Bin 0 -> 835 bytes .../tfc/textures/item/metal/shield/copper.png | Bin 0 -> 861 bytes .../tfc/textures/item/metal/shield/red_steel.png | Bin 0 -> 1279 bytes .../tfc/textures/item/metal/shield/steel.png | Bin 0 -> 1026 bytes .../textures/item/metal/shield/wrought_iron.png | Bin 0 -> 1014 bytes .../metal/unfinished_boots/bismuth_bronze.png | Bin 0 -> 422 bytes .../item/metal/unfinished_boots/black_bronze.png | Bin 0 -> 451 bytes .../item/metal/unfinished_boots/black_steel.png | Bin 0 -> 458 bytes .../item/metal/unfinished_boots/blue_steel.png | Bin 0 -> 504 bytes .../item/metal/unfinished_boots/bronze.png | Bin 0 -> 401 bytes .../item/metal/unfinished_boots/copper.png | Bin 0 -> 339 bytes .../item/metal/unfinished_boots/red_steel.png | Bin 0 -> 513 bytes .../item/metal/unfinished_boots/steel.png | Bin 0 -> 534 bytes .../item/metal/unfinished_boots/wrought_iron.png | Bin 0 -> 376 bytes .../unfinished_chestplate/bismuth_bronze.png | Bin 0 -> 618 bytes .../metal/unfinished_chestplate/black_bronze.png | Bin 0 -> 386 bytes .../metal/unfinished_chestplate/black_steel.png | Bin 0 -> 610 bytes .../metal/unfinished_chestplate/blue_steel.png | Bin 0 -> 531 bytes .../item/metal/unfinished_chestplate/bronze.png | Bin 0 -> 526 bytes .../item/metal/unfinished_chestplate/copper.png | Bin 0 -> 572 bytes .../metal/unfinished_chestplate/red_steel.png | Bin 0 -> 532 bytes .../item/metal/unfinished_chestplate/steel.png | Bin 0 -> 635 bytes .../metal/unfinished_chestplate/wrought_iron.png | Bin 0 -> 488 bytes .../metal/unfinished_greaves/bismuth_bronze.png | Bin 0 -> 479 bytes .../metal/unfinished_greaves/black_bronze.png | Bin 0 -> 483 bytes .../metal/unfinished_greaves/black_steel.png | Bin 0 -> 563 bytes .../item/metal/unfinished_greaves/blue_steel.png | Bin 0 -> 488 bytes .../item/metal/unfinished_greaves/bronze.png | Bin 0 -> 467 bytes .../item/metal/unfinished_greaves/copper.png | Bin 0 -> 504 bytes .../item/metal/unfinished_greaves/red_steel.png | Bin 0 -> 531 bytes .../item/metal/unfinished_greaves/steel.png | Bin 0 -> 667 bytes .../metal/unfinished_greaves/wrought_iron.png | Bin 0 -> 489 bytes .../metal/unfinished_helmet/bismuth_bronze.png | Bin 0 -> 625 bytes .../metal/unfinished_helmet/black_bronze.png | Bin 0 -> 314 bytes .../item/metal/unfinished_helmet/black_steel.png | Bin 0 -> 334 bytes .../item/metal/unfinished_helmet/blue_steel.png | Bin 0 -> 393 bytes .../item/metal/unfinished_helmet/bronze.png | Bin 0 -> 293 bytes .../item/metal/unfinished_helmet/copper.png | Bin 0 -> 428 bytes .../item/metal/unfinished_helmet/red_steel.png | Bin 0 -> 404 bytes .../item/metal/unfinished_helmet/steel.png | Bin 0 -> 324 bytes .../metal/unfinished_helmet/wrought_iron.png | Bin 0 -> 339 bytes .../models/armor/bismuth_bronze_layer_1.png | Bin 0 -> 1491 bytes .../models/armor/bismuth_bronze_layer_2.png | Bin 0 -> 803 bytes .../models/armor/black_bronze_layer_1.png | Bin 0 -> 1473 bytes .../models/armor/black_bronze_layer_2.png | Bin 0 -> 1022 bytes .../models/armor/black_steel_layer_1.png | Bin 0 -> 1674 bytes .../models/armor/black_steel_layer_2.png | Bin 0 -> 1067 bytes .../textures/models/armor/blue_steel_layer_1.png | Bin 0 -> 2095 bytes .../textures/models/armor/blue_steel_layer_2.png | Bin 0 -> 719 bytes .../tfc/textures/models/armor/bronze_layer_1.png | Bin 0 -> 1264 bytes .../tfc/textures/models/armor/bronze_layer_2.png | Bin 0 -> 563 bytes .../tfc/textures/models/armor/copper_layer_1.png | Bin 0 -> 1564 bytes .../tfc/textures/models/armor/copper_layer_2.png | Bin 0 -> 742 bytes .../textures/models/armor/red_steel_layer_1.png | Bin 0 -> 1701 bytes .../textures/models/armor/red_steel_layer_2.png | Bin 0 -> 742 bytes .../tfc/textures/models/armor/steel_layer_1.png | Bin 0 -> 1686 bytes .../tfc/textures/models/armor/steel_layer_2.png | Bin 0 -> 732 bytes .../models/armor/wrought_iron_layer_1.png | Bin 0 -> 1280 bytes .../models/armor/wrought_iron_layer_2.png | Bin 0 -> 913 bytes 117 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/black_steel.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/bronze.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/copper.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/red_steel.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/steel.png create mode 100644 kubejs/assets/tfc/textures/entity/horse_armor/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/boots/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/chestplate/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/greaves/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/helmet/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/horse_armor/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/shield/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_boots/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_greaves/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/bismuth_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/black_bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/black_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/blue_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/bronze.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/copper.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/red_steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/steel.png create mode 100644 kubejs/assets/tfc/textures/item/metal/unfinished_helmet/wrought_iron.png create mode 100644 kubejs/assets/tfc/textures/models/armor/bismuth_bronze_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/bismuth_bronze_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/black_bronze_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/black_bronze_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/black_steel_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/black_steel_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/blue_steel_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/blue_steel_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/bronze_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/bronze_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/copper_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/copper_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/red_steel_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/red_steel_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/steel_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/steel_layer_2.png create mode 100644 kubejs/assets/tfc/textures/models/armor/wrought_iron_layer_1.png create mode 100644 kubejs/assets/tfc/textures/models/armor/wrought_iron_layer_2.png diff --git a/kubejs/assets/tfc/textures/entity/horse_armor/bismuth_bronze.png b/kubejs/assets/tfc/textures/entity/horse_armor/bismuth_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..6c7c5c8342c051efe4eeff89d4e5459152f862d6 GIT binary patch literal 1966 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 Ofx*+&&t;ucLK6T3_^JB< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/entity/horse_armor/bronze.png b/kubejs/assets/tfc/textures/entity/horse_armor/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..40a2a16a269720cdea30647dc0c3e19e83b9a0ae GIT binary patch literal 1990 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 p`;e&&Q_oZo^k*H literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/entity/horse_armor/red_steel.png b/kubejs/assets/tfc/textures/entity/horse_armor/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..806495fa06a01dc0629800798f0cdd81a1c4f6ac GIT binary patch literal 1936 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 Bw7LKQ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/entity/horse_armor/wrought_iron.png b/kubejs/assets/tfc/textures/entity/horse_armor/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..c2fc89c9f133fde7bf9682c70132de71016f9808 GIT binary patch literal 1829 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 ki%vZHw7-7Iw!ih9`z7LsC1 zFfecyctjR6FmMZlFeAgPIT8#E4D2PIzOL-g*u=S*l~2vezsJD97~tvR7-Dhy?j-AM zCP$Ih{k%>6wJb&(_LXf95Q*XNOx)S3GWTDOu5J>Ol!$J~2gYERSoy0};m<{PU0S{N@-0|*W}oNzB~zya{oE&i z|0rAeHs95E4;tu7ZC!QAIJ5Nbiu6mTie+o=AJ-F0Y8E+=VRV%tbw=2t84-6&4Sc!} z*BvjgP_c>Ma)j;S$Cg+f1L=NYex++alTM~>K4_rZBH+ogKE~;M>dkf6OqvPpm?I&!wz#q2Lw)ljeq-6+MYjPd-;NuujOjvTBti zi^MhE_Pgx)`pm!X<~7B8dG5cSyf5NXRo$a=+cs{GW>{*Pb=6|e+pM#R`;+%YFl9Xa zDWu4tp~zCDC*3Y7=bsU`bIBsj>kI#W;r~(pi)Be%<5X4MOIZvI3=E#GelF{r5}E)- Cqqh$L literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/boots/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/boots/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..424e6d8b520fbd48d88e114df8beccfd72d1e708 GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCi5mvD~r<)iV7#L$bT^vI!PT!rp(VHnz z;#j@9xr9ez^CbbXCC@HQx}oqeA-Kb(_=~to%Y`fQiI@MfI_`GaVd~-`vCAUjuIDMm zc0Sp1nH%3sPpGG>t-WZy@BL?+_rLAle?R!Y(`TQK(a%jkc&Gb_rWdSI3Ev`gx3QV+ z&{m!}>+Pq?l@5G7YI%EOsENS&@8MlqjCUIkpZzM#uFe|8pU>dbr4sBac-uO~eEN(l zMV%`*Jc>`$+`{BwAhYoPiihGI$1eBSvNQZ|VbpvO#g=?NafSKME$%&MzHK>uBFFff zOw8#6TYF~CdUZdz?|%N3XJ?9an=@>D4P+P(y!(>II_>&4jTH0rUB8s2{3qMqnlF*@ z>cY$?%>T6ST)i*uXK-cqmDT-wzSytGP<^5q`kzy^GG*Jwz4xvp+n;JR(0Gp4_va_*alGm!sjtuXFN0o#R!f?`6C?XZC&u P1_lOCS3j3^P6Fdh=j7^+X&GJe(V;utn!#__K#}JFtSA#Zo9dZzn zd75Q^;8>W&IlZf5Vot06IJ{$Dw6f*PZ}z0*%*A5gnXhLqRyb57<0SB=b@>eyog2T_ z#FQ;Qc(vg%K2&?Uv=bqAKH^jF_s?|VvU%0qrm56^$I zzwNxisCjb9l4fhwV|51>dwyS8Sa#B(nwP;t>AdET!(#LKxVBusk#}xEjJ4YBvyuz} z`PU}6$Z1^Pb7!gO#8JjpOv)J^~HwPFP7_NG{IEGl9PEL?uy~4WL z#^&GoPal5t`|mq-gu`_nXKY|Zxg4{Zb6RD^AO6?pk`oeKM2{Oh_}$#j!+&qjp;t}s z`Q?&23=@MTW{aE(NbM?krNiIOYoMQL6q6uu(KJCLIUyk-qW;1EXX5&jkqKN0W-OEz{y+4msj~w{Q{*V9g6>f%| WZRuh^Sx$h0hQZU-&t;ucLK6Ua@_q{d literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/boots/red_steel.png b/kubejs/assets/tfc/textures/item/metal/boots/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3fe813cd7adb7e38123dee5673c1909330bb7e GIT binary patch literal 493 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF#)41KSNeAFfdkmx;TbdoIX3r-oq(S z;%NQ*ug{;dwzofMZtGT9kzldI^?{I!-`Tu}*Az@lMMYj-QMz(XNcZB46ce_GQ(7`o z6kSv=3gip?3BHiKLfwCD+p=>%?iQc>KKF2IedC@fTKY?WamSapy*#W_sTq1~Q=Q4F zh-s(1S6*tr`Ol|ZI4E0l(z27~YLcge91kZX8u~4dk~V!2l3kIuh(&0kps>4)5L3L) z8SkZji?1^$$RvFI7nhwQzhdgr$eN8Gmahts+M%Gr(&*CCy_d=LcG~x!k<1tFEU{c4 zeza8~bJmktzUQKK&(=CFzP|WQ-uLIqvPW7KG9*}pCN{o(S~mN__1gv|<>$WkraCzl zR0YW?isec-{JrwW!G4$WIobCQW_A{R-kK}n#}cpO^R8lfzR|Osc^`hi49WJXR=3=> z=jqG0z3tbp>oR0Y%nrY+m$_d)*(=$pT0N`kg8bXFg$>iaWaTH^wPSc;{^o$@+Kk&> qPMx9;-o24xI6F5z;>Yd&C-)yPD=1Br58echEe20lKbLh*2~7a8rqVwE literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/boots/steel.png b/kubejs/assets/tfc/textures/item/metal/boots/steel.png new file mode 100644 index 0000000000000000000000000000000000000000..abed46031511fd8cabd89bb47e7eae5b841d8bdb GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|Vb-5N14{zaoW!fq}im)7O>#8JjqVw)U(Ub2S(k7}t8bIEGl9K00Zmw~V92 z(fZw9tDbgweCT?5&NfKakZY2Yt)gerV zaawSKgUel!&fVJ|%k7ZiE{a*)I{8`IrqfMJ_vJl1`}^76_rD+PTgYf5J)2>I6UU(g z*MFT|#KOUB|4j8j;$Mft1~E3fs_zQV#h+DveP;SMEzmDy_00Kh+K;=mr_X2bXt=lI z*0JZjkDWUEQOXccQ=S@hqry zUStt>-nnO@*3RRpQ|+H7l&42Cr`%s`=cfI*Ltp7?v$+2J%|C0ok6Q*__O$HSxF=|F z3h$D4R&&i5x=(wHaJ7mo=khss=2ZFX_nBt1ZY%f+7ZWmJv(5FPK$sMPmOQC?lI%Os6e%Ji665b&nfuxTB5-# uRcG_5ppO5(-d&SD)_h$1{+-x=hE(reQRcd5jTsmi7(8A5T-G@yGywqG!s=Q8 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/boots/wrought_iron.png b/kubejs/assets/tfc/textures/item/metal/boots/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..6c88fdf6eeb71c28fc8687a44aff87aa741dcd7b GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=j7^+_k^kg}trr;>7=C!VIEGl9zB*}R-XQ~l zw*3lm3tuL28m7OTz<2jW*RG4QT8b?BAse^cJ#8$o(n)sK!tUc85ucj=3cL%*QDtL^ zzFNPj{(kK~Yw3S`C*7E#FLq9f`#{#$c@_Kzq@-=u=gqO1efDD1=Wo9*F;&NhZq?p@ zn&IUU(IwY4ojCe_9>214OZaAEjjelmHt3ta`Rj8oETPx7@^a*Xj4v;aO;(?F`gyZL z=+zuEd6CymA4{C-ChrzIpw6v$ViS+%Q^q9`;ymxzzf{$J+I^ehrP<`I*BGYEk2jg0 zwZF{hFDrjL|GyKh^$)y5LhpL@DPD_M7bM9x+vIm9%e)Yo|KEQxUaYNAEMM1D%fP_E N;OXk;vd$@?2>>5L|y-&Ap6PWA}H))#9z1qwLTvf7L`j2!dSp3NSUU%R2dChaVAK_C^s->vSo=|UH zzIean$@8DoC-|5tHV5WDILDe1$#r?7rqa*IM=O{7nW{U_>s0Gi)sVCPr-Nb`&VO|{ z-ITQRNJ$RY#BG9o%FThj^E5k_i~Ov3DtNT0^K!3j%jHr}8(nY3y%x?a24AIiB`(gY zoAk_o?6O)ZHZmc_PA6=BB z)KV~q@!Nf^0C%@3hpzorT(7)w8fx+Ngy2)I& z?gY*I_F_^FdcFy-+)7R?iYbX)%es2&f<@9bwQ?6qbnZ+#dyixKb8&_<&8kXs)b>VH z)RsHfRJR?l&O2GRo7v&&MuSpi!JVqo!R7{~&6_6&_wi{5?QH$h8+!bf)K9mzj5p`6 zWcR3P*RLy;(-Hn$vEvj+;nzK8N^{f>ZL#Rv@msC1 zFfecyctjR6FmMZlFeAgPIT8#E4D2PIzOL-g*u=S5Wn&j!{mj6?c*N7iF~s8Z(aC%J zZ#f7Yt+$)Ya)U)B?9->h=S@%691${PUE006UvHPvPxVhv}jBh&g6 z6@h1qi@Lha3*2AjY~DQUX65I5XAb z^}-f&%kpN5GOWvQtNB^8-ad7SI3+>&%NYp*2;^U&Q2>7`S|y>`6Uxqjz)o|)}WNxx>uuQ zcVAWEaXzQB`B3zKTkfS3f?n-@y=zw6lu1pCQo|}FdbhlnNmwYtd%I5P^I1`bEVJ~A zYVSXvCl-nX)`l)lyuIS4%pO3ELu0tX6B=qIE9uA+d}o8x;KYRNuBDwQ=rM&m(Sw$ zj6-#Xn_9(UuV1aPJ+JIJN%@_A*~3bqhPeCYS91I$+N3_tKV724$&fiqZ0Y=--@LK6 XAFdQi$+cr(U|{fc^>bP0l+XkK@cQ*I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/chestplate/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/chestplate/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9d71597a35bae8718688bbe7e3b5a9659091bf GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiVIJwS@4*EO42(-XT^vI!POqJ0=&c+m z(z>6eo29MAQ_xdTC{gX$AvZ%7?(PWPgATWJm=$vs7De2Q&e*Cmt@{Ui$Ora_2rW-z zUjt={rWT)xii#Uvrg6_aK3npp)1JG#zt1Z^zw`Z}^5cF_PuyK8v-9AeU&k7E?<*8I z<=&iNy4qMiS~00QWz(vBVU{yv8Bze|dh_|VG=M;wguvr;P zt>iopYi$0%`IU0y#~ItcafOs$uc)2BaaI206B#~iu?$;+=Kj2~$bL@HnWZm0&B9ac z*S|OZb@*j_(;7a97*C<#%V&;@?L96&L5GVwZlnF2Iup;LA4|MJ+UArvHyI6<8v0!!Z=SF95mL0!p&)?j6u<*B#>FVy4^?CJ$clPnfMm*U( z`Rvp>j`g26x+*Oe44*WE|N6d{3xmHMIBzb##me-N*CZFW#kE-pb}^eHGnL}i=KFq^ m3Q>Jum2deyzG?jt`@P3b{JF7R)0BaMfx*+&&t;ucLK6TR=H5I2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/chestplate/bronze.png b/kubejs/assets/tfc/textures/item/metal/chestplate/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..cee6095d5032548693ee74ec2289814caf872aba GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=j7^+XiRDFbM>YckW2UEzV~EA+qm%b$9|{mT zTJLqxvEztimxAmgg$`F4u16OZ$~Tw14k=if{C`1Tsb)!$HeV~BtjYs{C9W?L95|;= zIJlf&#%QVYS>;QZa3~ey;@<<{rxuT40%$#qSddyn_IBo zep0sDW8ae2g$`?2(vQ1`ytZsxc05P1dHY58N7EfV*2T`zK3L{$WMVsO`%#ZsTn$2= zZrUfNo5Z9uEbxo|amH?G)%t72Z?-TLL|7awW&2{4obzz=oZmdY{R>}eN^fLJQhiZ+ zEaY`iYTUWnBVGwNFXV~7{3gR=yLC5H^pAw9t{7vJoQX+~cG%eTt(25n|Nb&>V@ipQ z@Nw1$yCM}P`zGF;)cJVP^3trfwp8ylZqGL&P7&KelFEV2z zJCiKGCz~7Y%=bO4#+0&2^UIcf`Z`$$0?5F<+ a-XyQ}hnZ(&#8Jjq(5U<}!HX8;8#;u+%jv*GOmrl0#kS-KC zZqMn+!SY_oeR4oE=T_&o!>diF@EqKA^w8E|_H=XBmy4X+`}i95#AI4>T6-9o3v-;< z1ih-CvQ2ML?{qo6uw03SWhdX$x){%-_L}X-zw^KUUj6=H3rDZAot|zLL)v?$hF?#w zdgQ7^$V~B?m-?SA!Sufj!`qv0;y0B(`nfA1LL=jv`Td6_vN@L@d^vNJ|Fnkxgr%A? z-{-}IEsDwRn&5Fk=Ioh`yZ%Zx^q$$1A-^E;E>l45?sI$&YhPZ~U+HA+k8{k4W0)a>tmiK&@wyw^uJ%A@%Cb<%jBTqGcZi^+{{6$Fls#8JjqV2=n*P^6wZJn3O$T978Nlubt%YA(AL@ ztUmdFVR&b%zTUb%`FFXFCm3bR!(0rVR-ATXKe(DjQP%0(mYi~aCnr~R({^8W8X?>(=ryvP1e-Q@0sS$QYwAFe)E z=d~<2MCf9Pv)bjA_Wti*y`AiQ*z@Mq+v@7em-+i%DmlDb^%uKeVQ60Q7FDlwe{+V< z#+#>XH@E%x>6_YTW9J--^Z2?lyJ*dOAOf zi*UQXk(EBKnHVY7wM=@G?X`!w3?C8`8>`xa%tP6^*+;m0|DJ=^6!r`mR|ieb2Md#n7^ zz)Q{F*>;vbHxquWzq95m*YBma_x4tvKL0p*lXm1g`x=LTx7p%1&A(|7KDBr`Pj`n* z?WYhwKi}%-HkG$r{x_7|EnhfC^v7Ghi_TTo|%*`bKv;W@27UEWbIOH{?y?e zHZSZy<54HUhC8>czV-R8{@?KWclDI*=9c0r45v4}@VJw@eb+R9`*n%$Z!pX&ERJ@6 z6Lx*kHtC3Ip_bu6;G;57Rsu!9ceaj9Lr~ O3=E#GelF{r5}E*uBqN;w literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/chestplate/wrought_iron.png b/kubejs/assets/tfc/textures/item/metal/chestplate/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..431a4e2e6d476e2e3cedb6e0109a1683082ff00b GIT binary patch literal 501 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=j7^+P)hfkwZyW;yW0R+gV~EA+wUhVyJ$4Xj zwb!3AF-YfQPs+(t+BzKF>REtwHOGW1l zi-kT@4}}(L!O^$9gBjK|2s9bkY<-fq zo%=w61&c#=@B8bWi@dj7n^HDGz29k)4by|)rH4NBEdSm9NLxqm-^p#|Wx45(50!XN za<`hx_xGQ6xVY}3*EcjR4D@RD=M}Hr`Zni8+P6y_>gvb&CY(KYcG{cgC;h+kZ>vu1 zWb?Wkar)S|bd8=5lSWt#(^zdw1u$y_bzC{N1A;^_7)lburby;olNNL8whe=+tRx2hyVZ2i_%f?ZDL4JV7y0<|ZTfC?GvGOvOu9&TH zM8(2lne$#V^OFiCFC*Xm{QU85@xI~*{nNVH*T$Jo`uF_xZ%u~>BV zwVTk5SEb6f`4XTjecJ;$q?-8_N*Cnc*Obq=#Cf-&NyA9K z&*|e|zH`ouZY3OHNH)7Qmr* z$|`NQU-E^6IoGGoataV|J#}?bjOg+!TPhTep1jp`M%DC^&~?$7SBy<(^f{J)J2P$n z=jCn_)~01D=o@B68GWqyJ%{O}?wNUZKkC2nc0KA7-|@hniGhKE!PC{xWt~$(699g4 Bx@-Ud literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/greaves/black_bronze.png b/kubejs/assets/tfc/textures/item/metal/greaves/black_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..7a6fb697fd6c749ec89b7a99f1ee529926310f22 GIT binary patch literal 455 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^I}*92u;a2CB?r zU|`@Z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=j~v5B*2GkRFAoyEYw7~<*T7-Dhy?xgcx zOo<{#>y3BGuorqbZwT?oRODcDo-L;!f8_X!(5g-jCUZfT6qVKvH{)9kD;`h(pSJq) zG0C)mOv#e4??wBo-`U>Z`QiG6rjsWx?&MZ*m$7{Hk%*5ew1Y_58xNmfr1ohQSN&N-MY@lDD48zq7J%!*aIG zPd#q!Y)rqKX}0%iPdWSkMKiQ_9$fudpnvI|3Z18){(oR*`aR|2iqCQ33=9kmp00i_ I>zopr0M!k?a{vGU literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/greaves/black_steel.png b/kubejs/assets/tfc/textures/item/metal/greaves/black_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..bb65f8ba2bef75ab15e4bb572ff2e325815413b7 GIT binary patch literal 552 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=j7^-=O8oho6&(x=j9Wcj978NlubsR%TiQ|J zXuUYowk4NYiwdgMRkhxDJZPA}HNA~v_7abOk6T(;VwPQqERYb@W7@WbJ^MrLi^aD@ zF0J$5#iY*EqPI=3MPaU09w2@_jy$nOdr10pQ z3_I>gH)$Nntzrp0ks=eUH%(({#+B?HzWv)B6QZg@F08oz<;83Bt~ZS(X4}obw=-Yn z%e%bzgz>w}B8n^xdin2VmM?NJe`VTNWvljh#=ioG=g!lWsvlVGQ}PsY6Myb=Y~#%C z;C0t5uKs&}dCEzPZAHx*Ds#_jemb+wXqSch+_RpOT8g%o&GFm4)V}s-PIvE{tcmY` zPYdzNJg?%pY39NC@9h}`oNg$3YHmEgbc)y`Wk->qCzAW?|5bfyw7inJy+ok(&)z*p za;vPuLo5u(RdezAP-d{T>4Y1B0ilpUXO@geCx% C>h+KS literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/greaves/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/greaves/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea168c50f824812f450a1f0b7b0b97b3bc32d7a GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiVL_>XbNGKTFfi76x;TbdoPIjVU!%ED z;<$bOii<|o{F7zklD5Tms;qsYkm;Fs`COmgr0$}7XJdoB0+l`eWbUvHy|naZaF9H79+ari_>UMA^Q~CxT&~Oc`rb zHJm4hv~ng~pY4*wxqIv4>1p*0mrqnnyCiW&OU_zif3JPnt0|k0&r5MP*uSlB*{hIN z&wnMtiBna!H!AxrYr83+wlAS0C2Pj(Pu#OsDfcJ^y0%rw&-#^n@4*uLY4al^=RJ7z zYNGn)E`zQ)Z{96@x8`%=-b>dm`Z|jD96fBZb?b+JdY^v?CA_W z=Y0i3Q~aCFS0DOzP5iz%Pi6T9IXQ*{;ygRsZ09n*lhaz~89HN6q$oq)=HDEvRVvR} zY~JAzGV$iUT`UXc*d8ZH%-2GP*5u zZ&WRsx#g|dioXh54^^@JjV*io+x%YrVf9XrUB{)b3EpI2U|{fc^>bP0l+XkKbpO^I literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/greaves/bronze.png b/kubejs/assets/tfc/textures/item/metal/greaves/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..3451dc955c8c4bd94c0d870d2a7ded08505fe5f7 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=j7^-?Qk9n{cs&CHV}hrPV~EA+w-fh!GZji4 zvwt+PBZZ5vP=F=X<6%I6bJAiHkLm<(Z-p&SZY5lZ@)j^Lburo5>U<$!L6h#Kug*FP zEq1sZxjeZ;`jynHeRBfp9WEHx&j0?`?)~ZCHXoipESglJlxey1->Ux_R+=I$ennm8 z+tV2?tYRxVqJNKJ=blr)j!ikMTitP6Q%-K?;;?`(VYL)Kfrb}v5`wS#LJ^1Y9)7EZr?*7HK ztA6YeDmrrh_i6UK=9`2LoI5Bw^L=np#8Jjq(kk;$No5L9x7%Mzo978NlpPgjr%~U9H ztUg@NaY=JT;3H1)6oDrfE-0AZO315aVQ<|w&CbC&*O8acam!VK%7ET3=jMsx?5Y|i zk7REa9%gm)F7@rY9;>Tsd;9;-{qIkIwmZ*V-}1m+>~g02W*`3jwZ*Sj^8YYher?)G z7iWeWveFFRp#i0bC+?MU0#NJTg(_f{j=<>5b$UUdaqr$HlaKxN<39B+xO5_Yp06>WyhCAty0h~ zRq#}ja|x>nlQ4N#^<(nVe#Pl;uHR5u{C0U=vVY_0=GMrQGbbnA*?vo-ciM!R66IA# z@Bgm}KG7|-=Wv(C#Oy6GX-{1_*JdmA^)37(mb`2NYr<)xxpD9IW&|Jj`0(ZV@&%D; z_j5zdV{Dds* literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/greaves/red_steel.png b/kubejs/assets/tfc/textures/item/metal/greaves/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..404de3c120c2c24a8ad4891d46ccc999b250067d GIT binary patch literal 525 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCi5go1Vj}mhk7#L@Hx;TbdoIX3z&|BM4 zq;-Er!pR1m;HQlVlaHo3cg;u@Y%Mvotnw~%b~JOC*)>hp#I-E{9kkZg z$LcLxr&mw6*Im{H%x+8mlrF!%`^JPr9+DefRBzP%d71ExD?#(Wiq^xId;Av(nSHC@ ztjBU!w%@_)$tR<}=O4cBuz#MR$9%l_$JX!cxBGY6?|tH!y-w+6PMh$Q+8Hrvs~kpp35fdr;D*1dU=KCUfgkRKDjMw6O7KMedPL?@KHBu&a!9U c?78LNMD1MEy<}lO0|Nttr>mdKI;Vst0O+^k_5c6? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/greaves/steel.png b/kubejs/assets/tfc/textures/item/metal/greaves/steel.png new file mode 100644 index 0000000000000000000000000000000000000000..489c2ec7a420939701484ff3376c54aee794d2c8 GIT binary patch literal 660 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|Vb-5N14{zaoW!fq}im)7O>#8JjqVj53SMRy_s=CPhyd#}JFtODFHo7EY8n zZa;mBPF!<@_ZEA-dCmuJEOspP=yYCKqPeuhv}CdmA6HklwPneNd;#|3L0t-Ze3s`G z!?-lnxA^K+PL`Q6Y0KVyQ5wshE0ixYiJt$m@_zgCr=S1Yy=M;RS^C|;*7`a7&M9)M zq~6b-z9#90_}kpN&t+4qkJb9s|9`Zi_{`?%=XcJPIJWYdp%I&Y-2S9b51Hq9<=)Kg znEIjdF6E7{Uy>RS=#17r*-yE%{$Z}5ly0v%1&28H~ zUs>(EBjSA6S*29=_Pu3$LfH;%+b-zz=lg-&j;V_O&ljyOK6CG$UTaL()<^tq$B(ZJ z&CaRQ4?MB-$CjVMHS-T%7A|{j`jpA>$u)^pQp+cJZ@g@kq9ewcc`Qk=EUI0kNHfIL z@AI2Kn^+oJk5-=X>v1V-dv?<@-mX66+w9V%m1TZP*3CCNH*T=#UzREU|KOK5bM|kr zIREPwTTm5;;sq1kIo}trJYH9@d{tpj&q4Fg+N!HpxHM_bSk^j4&NEhh?mP}(CIP1j ze*P2UPbn{Lzg={=ie*8H=+s@0C&Zs>52`XW_5H1Wev8K|tJ33%`y<2kDidaj1tuoX zy2i@Xuqs$t>&=7}>pK~4s{8-e>%Cp{``V$U96el04sXKWoBlZUQT$sl*Y%@HUhE7E O3=E#GelF{r5}E+Sj47P} literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/greaves/wrought_iron.png b/kubejs/assets/tfc/textures/item/metal/greaves/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..d88bbc2524e2d623e28b3c0bb7e1caad1d50f0a6 GIT binary patch literal 488 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PVHNa$%Y0|NtR zfk$L90|U1(2s1Lwnj^u$z`$PO>Fdh=j7^+Po5LvaU;qOHW2vW$V~EA+t&@EH9y9Dl3E6jJe zEAsO1lr2$fPkfeq{84uK^7JW76?vG|CRa~N;b_>}rpw9@bnar*WEE$3mWrw>7Y@gH z=LMW{Oz!+#`QX#1E}Qv^PwzxtjA9PB*_9MoB0j@UJ#M2;%yo@h#VLv`M>i#0zyI`Y z=%mz{*E1Ox=4Km0T#t$QzEh>_UP|>^F?`GeqP`!=C!6-YhNw$7Vr oYuIi~n3+0r`L$Kg>W`@3E;za`Iy-480|Nttr>mdKI;Vst0J*r(Y5)KL literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/bismuth_bronze.png b/kubejs/assets/tfc/textures/item/metal/helmet/bismuth_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..fc4e36d531309d4944e53351ef472bf38667d343 GIT binary patch literal 585 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lNiW9CveN z)r@F&^;D~lvl}#5o8@j;s?=98fn{?;#fJyQRr|!}eXqX%{HNWI>jqk?=T}VGWB>8K zVR1yvI>{AX9%1KOD;8R`uj-J=E4m`ibmEYRrfyR5#3@e%zAJJEZ>l=S{9;R4@Bqc-(=#D(WO>pvSZ^v}C{*ysJnl%JIabvqw1#kMua?^0%1T>Jdt!H++hg9{sz zpZg{3efv4r>fwXm{C1{RU#j9gyo`jer)JFD^S*|+`hj~=6yG!L$xpA|{xL5n=iP)U zDW^=EJKwe)nb^)^urc;pbhJoUv7>LO%bjl;lYEvq7OxdF)@9$FH}OJR^RJUWO@GVZ po_JgTRi0r})w$2fzyE&_cI`a3a8ty`CkzY>44$rjF6*2UngD*D5552Z literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/black_bronze.png b/kubejs/assets/tfc/textures/item/metal/helmet/black_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..4153b8c26a88f451d5a3786bccee8e1796633c7e GIT binary patch literal 425 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lW2S(jqJIbr|F&l?0V?O>)SCJA{)*|RaMq8o((XR z^fioD={PCT5@cg@@41WDe$Q<#vPnyso<&{>BpCUV3H3vzuxoyebkK9eN(hQd=XMsdv&ZU$>`rsR@X_1omL!61B{+( zP2#Cs&*Ob1yuwdGim%1*hV$jz4QHeE{4VD%5dJ2>%kK10pmOggiSmy7d@rq@@BHss a!}wx$tMXGnrd13K3=E#GelF{r5}E+EM6TWd literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/black_steel.png b/kubejs/assets/tfc/textures/item/metal/helmet/black_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..93ddfdb77e8987736b6956dfc85ce314b88c2f83 GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lZ@mL)jaa} zT}-Z%UBr#~`E566^8Z+`^`!XNHve!n-dj24GnpMUSs5bqrZY4gzMZzayWpn93>B`Q za|&a{RSJvCyMtD;Oe%;qzgX-dpdWThK=4FP-v{-EjyZp_njEruCr!91v(``gp?|~q z_4!+@-r5>+t}ShPpi~#3BUU}hOVU+H{<0>+0uQySbF(~*CjGIHP~f>%QD56F(!uda zP0scEhd(J?Kj)NI#@%0{yj5$*`z?i)rM=T18Z1mPl9Javv8>%SyZ2;9k3od`6<@c< zCk{+D)LQ!Bw;e-*X!kpZXTR%AV#1oz)^jfnNm25gaKwv6iD{|GtiA7k{`|gYUtw10 w<$_le&$I=b`>o9~z37#cZB_dJ`7hR$YbJj>FVdQ&MBb@0RAAb`~Uy| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/helmet/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..bfab6b0276fbbb2724572eaafe22f666684e2a58 GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l)1MP=48Ffh*aba4!^IK6h_UT>#F zkz@7wCSHZoEgjvCv#fToxCT4>6$<{kvFnStiHqQ0PF^LCfNF)EKOF^iuO@Wg;V#eo zz|5+z=-9ky$9~?jwX>rHY(MDfKmT*CcpkI8hD6`V1PisF-AxZ?)M#CO`gE_V==nbp zCywlRwldQGYg+rJyN6c0Nw7;Y>8zJOwe~SHgV?iW8@WOm{%A)lD+=GAy?B?~3G>HV zvu1r=yrOa91Vwhm`#dj01YLOp^2;KkqW>7KKB<41(PMenn|EtB8JPc#T$;@g!Fqt< zsImX<>jlg*Z{Mvg+Od=Oz}BA*R-s4E9AWf$wt2?Pcqg6Px|4qDFnmo*|M336v2_eQ zhjv={PCSzy>(}?~eCI2vZGwyw-Ud1ISa!UU;t$`hk#)fIXyGL9IS-?6O1wQ#RQCPgjted z*Lu^UPUGo&y>`Z@h?=Q1%#8Jjq(v|u;aLn{UbMhQ{lZ}k7~_3u0&aJpaaXu$a<-{PPiE@ozC=H@AE^35%4BoFVrTP>j{Q-Acpfde1p z?+S?J%u1A!l#q~!v$12HF8)L;WyAGrf9pTIO5LI8^Fq(z`kyz))MvbnVB|J)oUzv6 z?DKbZP3_Ea%n4mlS?3IMcGu24=p8!!A;{X}^KBC+Jb#otLFmC@1BS!g=kscsHgCVX z?@Ym;o5CH}S$;^&`TB%Yx`AIJqD#>1!J&`gJf^yCJkx@V3Jkq9CEM=RrLSr16k@wz z@h`u?x#!`{c7GoJclIeM2?+@kor>O*Q##7#Oy#%DZ@W(^E@OpnAIcxvXDVW^= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/copper.png b/kubejs/assets/tfc/textures/item/metal/helmet/copper.png new file mode 100644 index 0000000000000000000000000000000000000000..10db5d4d6745707567b05c641fe4b1abe3f7d70e GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^PXNr}OT51_lPs z0*}aI1_r)EAj~ML;nl#vz`$PO>Fdh=j7^-CU$^VD*9!&)MsrUW#}JFtXD8YF9|{mT zT5sAjLp_K~U*MmLDWfox;ksUJ?m7kg2Kht%3!66=UXkE!Zf<5(oa)r-CVcGqmsz)% z3JpK@e4kf+ukv}^5ATxM+a|T{xpmC&n&|ny{zVH9RtQ~Pe{Z>Fom%9M7hgkGD^}F; zGOm~{_U_L0+^HfbRodrX7G84s;GWtfyNaHwcXyV@YA$y%dcAK$QM2&rH|m$2 ze9y_ylzPH(tJGybQ%(~gvj!l2PY-#w;IEDpR1vDp#<(slZ>wo<7?;wNOvx3_1i!A?h Y+_z0FU-_2TF9Hzopr0N`J)0RR91 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/red_steel.png b/kubejs/assets/tfc/textures/item/metal/helmet/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1b0c74502375c3cfd7edddab2edd0d5fa39d38 GIT binary patch literal 546 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>ll?O&i7AyBEn;bs+DP{1P*P_n9faEM9$&aDYd?LQyRG#C zFVp%7*-D1e=T=9&DgOSD)%vSd?M02?`Nv*Ly?EaGv3)xG^PKp2;ck}~c6$<@zUn%? zd-u<6LVmULPflE@wkc|*%#X>+&Tp=~?*Fck8mW{2_VF3365cPLf4`7ucsTR>8q55M zd$-iJQztvPOE@O!@i%PW>&DOW`s}?FX-9<(Pb%A1hXl7@z0Db=ukp*yJ}HjU;b>HTP_wknHGcYhPc)I$ztaD0e0s!o0?v(%l literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/steel.png b/kubejs/assets/tfc/textures/item/metal/helmet/steel.png new file mode 100644 index 0000000000000000000000000000000000000000..13cdf70545ef3f1f4f410d6050ae749650c20207 GIT binary patch literal 409 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xP1>rMq>17#JAXOFVsD*`Kj9aw_wyPugM1z`&^H>Eak-ar)?F`|d*y z0!QPY>}!;1%u(rF*_yphke}0Q)|Rp+`O{uHqS}JDcPE_`YFWLtyZ!?24Y_a0TTcrn zZ?V|1GOd2M@t*CQx&M?)xEgRMpW1x-Df@lTn&N*;SM2zB&0+U##$=u#FPY0CPAUuz zKh@j<3-1;)GTgo^$M7YpgT?T<#eBY9>n2T~d6LKU{_(Qy?z?Y0-Yr&iX`1!^aMHEj zyIyh;XPEx~aZ)ojIA#+5Cb4~UVP&#G;Y1sNQ?R=!WP zkV`a-pLYJr7TH%{*+p6e*Itu0%5C?#z3^(4v!g`ddV7V-Wh+7&xinJ~tE*cWQ+JED2|DV(SxB7cMygdKO-k*Up{#V8@E-J0hUD_3!$H2hA;OXk; Jvd$@?2>^{2r+@$e literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/helmet/wrought_iron.png b/kubejs/assets/tfc/textures/item/metal/helmet/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..b9710968c0247f886979686a870641598a0ee475 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>luwEa?YkT- zd-~Ceiw>7xv8;ELl8%WruAiN5(Y}A8u*>RlhA+v?4u3^XZr$MRC!pulB5>9C!WOIM zf4qfzJU6#@Pe`zG_KMUMI4*59?db8UxrK?*b$l}=Jv2Z5<>X&n&9G;BddXpxsJgf3 z_0DxpTV2G+aMxgG?ViKm)$ga@ep9`b!9a@da#@ginbCAEn@YK}lht-5KGV@DQoP*s zx-Wa%UEP{OCyu6NHU+n*Q=QmBS`ckU&2o%~3p00i_ I>zopr0Ijv7bN~PV literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/horse_armor/bismuth_bronze.png b/kubejs/assets/tfc/textures/item/metal/horse_armor/bismuth_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..ad38cb8c4f2d1ade90bcf8cb2fc174c47b07af40 GIT binary patch literal 386 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QdZM5UQ`c37@vU|{6;ba4!^IQ?|uLT~3l zkz@7c6_*dW9R4EOti5?nmSkJ#9nHmoMQ7n*$AwsYV9rz=a(B=6*LD79hpIQu-^ zT#Nm~vwtU9&AJ#1&Mn+}tm{Kf)yWeY4jz;@LXU>*TldpuR>q3 zN1NLZr!CF*#xDD9H*>u)gZ-KiCWg3m?>1a}_UM+zGKndl8agG_%++qK o**I^@e9x~h!;Ip8RM#>_f2|2qK7GTUfq{X+)78&qol`;+0G67mW&i*H literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/horse_armor/black_bronze.png b/kubejs/assets/tfc/textures/item/metal/horse_armor/black_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..cec438010ec6f957283c5614c886beb039319d76 GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QdZL}j@8Ma54rFffXHx;TbdoPIiSzt`aa znb!T$RpQYLTV~~mEortAEfio8FPyAX*>=g6|I*Rt1sB^_1PC}fO-(a!ZT+*dEo;}E zhgKd`vVY(G&8=G|C{lIL z54IJ0w-u^9KRj-Dnd4?sbKK-rs>AhnFPqQF%_~3u_Nb)tX{H2q9>x!k8!jF;etgn_ zp+`Ml>dC{^v$GGGFgj?qPMPGBt=G=%v$#*7xGp9!_FC76*awp{d#4C36){y5NILiK znb`8*$4lPEWuDSHF#A+jf!?O1q5l8? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/horse_armor/black_steel.png b/kubejs/assets/tfc/textures/item/metal/horse_armor/black_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..ff11d5d5d601e8e0fe2bf927e829922f142c1a68 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QdZMCJJwhc*Z?Ffej>x;TbdoPIj-px0ps z5!drmX6D@SxER9BwQEy=2&=uL*U9fl@QdZL{+tR{ol2Vfq_xN)5S5w;`GzWw%&&W zMB3)J+&g)}v7LuclBaG>&zo& z+wYxVj5=*q;b}KvaYxFX^?D=xfrIle=GO#aUSv%kXUz4})dbiOZVnCs%iK zmO5zelieeDQi5TvsT0Q(!#lBMnY-=gN8Ty8##A7)TS)z}o%At<7KiM!vr-M2`S_e= zjxWgTe~DWM4f$2y`b literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/horse_armor/bronze.png b/kubejs/assets/tfc/textures/item/metal/horse_armor/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..525d3c426e174d20ce9206e58f83610a0f9394a0 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QdZMCEvu-5w|Vp9hsP?#3+rDfH3f0y@`#7q?m6EuQSRew?KQgR-5<_AF22Q3W2t~(nr`>= zd)D8MDY5TnT%w!!@b3r8yCI z7`7TYpIY$r$Hu>1+k6c-W@k(5El@QdZL?sM#OS$V97#JBmT^vI!PCuQb@8KLM za;!f8jnbxNi8c}(!p)8n&Z|RplBzG-Opct+x;euNrr$cfRC0k; zZgc-X>G$gun+rI$e@|_WQ@^nFuWg*(dkZVe$2;TL6HL1pf#`&Pb_=H>B7=5 zvG05CoCnF5+jg=EZ@QXuA>!hljHyZ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/horse_armor/red_steel.png b/kubejs/assets/tfc/textures/item/metal/horse_armor/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..ff80e59ce4893757b793d4104abf835bf57a867e GIT binary patch literal 389 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QdZL{$vp+KL((7#M{-T^vI!PCuP&=*{dX z(7L}xhrRr1;&zt9jd7`}O)PJMX2%O|*?Q7mAm@nFhHLc+!YtB)t``(C1h)v}Jhf;! zAg6QMQ0ye@88gMH4?;F?e!sW2Kk;Gx)fLyL{*0`ZocKA+ds@}s*IV>ID}8l6`SIAU z>&zx%r4#n=`&{z(&;|{Ub@OTuDEOw<6e}){3%By>ycV_P+ND4*t<&mfmrdUrIB|O) z-;UeXDx1X^p38V?_Hd+6=T~t&aQw@;+lOBHol5>c<4jbWYonl}W@~ZZiZJE`U7nlw z@1{*y_Q>+bp4!Abf2OXN pJ-%hNvk2pvJF2NakN-Q)f1j~=a{BzZXABGs44$rjF6*2UngC*0q3Hks literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/horse_armor/steel.png b/kubejs/assets/tfc/textures/item/metal/horse_armor/steel.png new file mode 100644 index 0000000000000000000000000000000000000000..6fbdf5a4a616a4ae86a7013651d46bf9c76bfaa8 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QdZL=~i`h4~$2U|^K=ba4!^IQ?|uUa!Le z5^eLR%u{Vz&|D~Z#V@Y8IV6xfu9?HnDq_wN?HAWBt=-Gbt|`Lat=jcq!3D<^TQoaV zJ6#+tBF`1bs4O&-T+`kB{>#Ttd-?D4|IrW4F13A^TF0z8Z_cYu#;Z}W`cH~vczAlkgEuyu8dJ5a_69uIc6V8z&7+H(7$QE}F#I~# zaL&2?n(JW+)^zv7)6c4{d(OOIiW5iU6{*|%6f1atRMabfAu6zCS wOmy*m8)k+5TNhvc=6(6gnVd%x>R0>MgtxRw+aBM|z`(%Z>FVdQ&MBb@03R}=ZU6uP literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/horse_armor/wrought_iron.png b/kubejs/assets/tfc/textures/item/metal/horse_armor/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..65812d7b6f1c979915875350b10d59beed549cc5 GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QdZM3sbB?OsyKz`)4n>Eak-ar)`xjb6-- z0&V+Sa#Ck2&xsMv@lg}RJL&oI96BVJ7o4~C zXv7KGlXG1?R4vZxG2b`;zd`5E`l{OM=}GH%bw7Fb&97{h-Tyz67A@JO`{sAuOTK{H zW{#6oS{}CCG+FkpGWB4B#iY3RQ#87E*jcLOnJ{GNPG@L&$TC@K-aL8j*N<*l*~sl* zu$AqAWqS~pw$uNI^L9N?yfh^~e&J1<6Ay2i9P3&z<&fp^xTom}-&dSI`c$;}p@$cz zSa&5~`qMeg395(eo}AoN>^#Ag|F$lJ9Yc1m=DKUM6gW;XO`g^J*DC#a30J|ib4#A} c|LxE3`P_0LmdKI;Vst00c{#8vpH=O_GfHT;*5F;oipVb7?{6!x;TbJ96mce)?eCP zq)lGf;9jis?d*+5c0Bc7BF@nh+oI$WG<9{%*6_V={=Z!RVt&UWubr7oG&H)DJQz;@ zR4C=q+SXXL(Qx-O=U3mF=AOKDZ&rwf=lQc$=gyt`J+J)P9OE|q97g-+d*%0+{`tfI zem%Qg+Qm1gHogC@FSoX==Kgzj8zXDy5;ZramCOOUv#)$Meb;!ow}Zh<$(P|!6<4mw ztGSQ12y<2(WHoS5T4`)*3*BtvA1_$=!%P1F>qOyVeglD3IkvU^f|*4jxm)rYJNC)S zEGXFFy)|c&$E!(4WF|B8bvU`i-!Qz}!OJJ5w!nk6ZxsXY0fl)13cbO1?(lu7Ui^J> z>;xf|e`gO>b?xm9bqf(){ejCjbYqTmZNh}l-Np^x@ef5;{^Xo4@THS=&x7E@$swoJ zx?lEuiFb99?iG@eNHLI@a{kKM*)6864-P0)>8RbWTzlSH;KAEZ+|fSiQO9JpGPt}n zRF0p$9Bdipq&Ov@W5co^%NKU|ozPdBFD3W*=QD4y%aT9OonI3qyE)7`IP{$UIScFk zjj6X;?&{uH9r9$`l4HqpSzNj*RqOWsoa7Re&*-mGYI%Kjmik0B^@}X(41un8k2#we z%kR~FWmsg#WwU3$+zB(0^(vrSa0JuMh|Ub-^EKUV8yn8*E~nowgyrL+BcZcQBq8&&JhzSw;8&s^4L?{zM0 zmHu{XllE!(y8CBO-Iw;iW+&TN7VuU&MJoKX8n@2Y2^=+C7v9&O+OlMw`D}(Y+c$js z9c(slO>BJQn^Q*i|35JwEw4XSbeFd#>6i8lw#Tn`Gu+vs*ZAa##L0;oGh0p4YoE*9 z{L1&?Xh~bblKC_2jyw!&y&7MCm@{k7U9Fh-#{K$!ntT6qpD--04x5($zE$nN&hc-r zmSb8<}jSjM)1Ib_C;A77?4gsxiL>!#Y7cOY!#xm&-oFFLRDcUW?HOSR_5 z-I|Oxbsu>AKfhYb6epy5J=~D_N`L>tAG?^poU&KDuDShyYJvEL|5H6#(~g(A_aA+- z)l1Icdz9!kkuy=fclsoM-tGa}^7OvFV zxKMGYg+oq;$2rEy$E926<<8wB${monEcNupbt_-Y((3$jX$e#HRIalTJg2ukJ$>t= l;k4Y(Y32TTj_cpbf4t1(GM%YJhk=2C!PC{xWt~$(69AR425SHS literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/shield/black_bronze.png b/kubejs/assets/tfc/textures/item/metal/shield/black_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..e114a2aa812bb0f797cbc62dd6f77a4ecc1b1fc1 GIT binary patch literal 1169 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0XB4uCLY*0oMf1_lQ95>H=O_GfHT;w<7$zn=y%FtEsZx;TbJ96mcO-e1~X z5GO}|~M*I?-p@KchRVBmYZeTjeVi{&qp?W63SLsxo9ZB=qIQJKQ!!pV|z z?Oc_iSsahpJ-ZvmH(u*rc(B4&|MkqT=PbXU*;~%`FS+85TJg>Nob5lan%h_9ZO%}e zTl%-|^;_xlTbWos{)p(9c|*lhm#-mj$_-ul0E>08+Aad^O_~ffakC>VYE&O2?Dp?i zK08K$S!Jt*@a4xc??kIy7)1KAYn6;%u94+h_MtMjM>zJJc&`uxr>8NiypM5#w=}DgzSJv7v zhAz#EJfl(*V{)F+sLBf1m!v(yB!}T`lV;cSKm6dC|dt|HX=$x@kT_ zJU=95KMMA`JlUPcQ_9b>^K#wH6+4g4+bDdnL4NH!7#1Es@wD!#@;r_3)pJ6$SVE?DKeK!;9`|b6(H9=o+@E&oZFl9|%^{$A zE%)QASK5=J_O#oqJo>bLx3{i{Phm!1!%dcT^EiDc+vUqnYY(V!xYr*2=|BG@{@y#AA)cDw}Vhk|ijan;q_OzP%SuTBZ z^ItAJ^%_6F->*Afw=j0n%{R*?omrApaITOtA=;DJ1lQ%>dR&4vE?Jr-?dcj@m!-Cf> zvK~U`?#)&g^gYR)o~2W#TevgoY5)E><`ZHy>g;9rat)q*Jk{MHeCXZt{re{r`#rMG zceI`?UiJ1%#1x;o-;ZCP%(sM}i&SyCyJ?-*@~EYGkvV%$pVpNy b`Nx(a!g4IkTqlWvfq}u()z4*}Q$iB}u;3JO literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/shield/black_steel.png b/kubejs/assets/tfc/textures/item/metal/shield/black_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..df7ab888d4454fb716534381e0370f64baf53b83 GIT binary patch literal 1084 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0XB4uCLY*0oMf1_lQ95>H=O_GfI;4DxIWEAFgfU|>+s42dXl&d<$F%`0I5 z0q3IB#FEq$h4Rdj3%54?pu7>K%ll$ z*m9G){1HA@Bc3l#-0kyz{1;y*GvnS1R*uJ#U2i9t+*p+cSVr{lA9Psg8VWnk#AIlj?p;Zvssv9=lKoEQ#RaBT1k z?rCOV*x(ne^O&V@QbYBF%{p)43g2Sw3ueNf|iQ~L+Z~6Q8m!``- zKhfIo{uU267^JL9Etrb6&#q;ClCD@fooi>)Y{%zZTCyTShptiQE zuB~*|Bdad0+?DLf?8?QqIrY{L?y$-mbVTpe=PzHo*VUAfL3F|D)83)Z3=ukFCpN9Q z)yB?XmmrYzzo1b2>MZ^n_s{Q${@QpnY2mNC+Y(<*GLw&3AI{}+YHzCbUELN9g{22R z9k=t0e9|S_%$T+QrOuig2APMx*B+cuR*S-4w zTEl7n&QsDWTsu#hZR==^e4$lfJ<*GE#kr7r={+yI^06dO1V)CvgxV|>MwFeh}ibO0z5d%F6$taD0e0ssuj>2Ux6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/shield/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/shield/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..be16ba2988d2419f35dfdce3ff7170aca200fe94 GIT binary patch literal 957 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0XB4uCLY*0oMf1_lQ95>H=O_GfI;492=!RsCET7?{00T^vIq4!;fe^|+lN zQ5Tfevw7P!L+@;t0B7CB3jd}wD)6K@yW93R@~Fj?-%EXv+8%5B#z>9X(I$LOdoQmQ zTTmd^(NeuKA0OSfH7_u>EECJzINXClfU;KJf7mUtXA=+ zJjdw^i8WRC3hrqAX)HMVbz4XjL%D?VoO}Pe&d#@;fAGi~89kvEdx2@{Y0n=dwmJTG zTJ}13b|GK6+`b9XGV8k9S8ic2JNQt`QG!?NO>idTX>aL-CX;)6t2*yK(F)}M?NTDG zzKEgRy!m{7e6w{==$h>__o_@4yKwz!R!8i#yH0kS!%O?l_WVuz6H}$;(d=6=ZSR8A z^$qq37p;v_U$E}J+3m*ulG`|4SZ323vA)(dR@V;kTn}@YUA^{?&jdH6U9rKet+kEk zC6^ucV2w6aTe)R{k(J=uTESB>y46pAxrm$*y|DTE>Id)A0v;4E)B3@jxKrJP^IwCh z$-RveT!PKbP^h@bZ_%B(6$ZuJ zIZcf92NtQDa58KP694jM>!;VD3=HoNNHCnZli0H%yt}Wcd=*!W=$op;nmd=@nVTwY z9yMhZn?UawVTLOv3eioEUEcwW(@boU~i>Fb^bWu1C*ZPC@IjhAotpPBBT z6}c_ky5`ren25Mr0q@rzYIzk7(%#KIanenTts>fT0XNt8uW~oW4^w z*x|QR(fbo3el7>6)cUgCU}0aJwpGq#%f5^MnQnT>1WUm^D~-@c=Yc>^!0(wW@mFjX?}5C)BKM^wf_$w$~6-m0^5UYwgM? zQo8QM%bQQlRl2rZdMT;0lA}{aQSSf2^Fdsb?tecWR50@g_ubn!Oqk9coX5bxz~JfX K=d#Wzp$PzWgQ)ZX literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/shield/bronze.png b/kubejs/assets/tfc/textures/item/metal/shield/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6d75ba69709a688e099e2c4d8d992c1b09c65d GIT binary patch literal 835 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/shield/wrought_iron.png b/kubejs/assets/tfc/textures/item/metal/shield/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..09deca10f3d135ef459c58dec5a0a7b774337371 GIT binary patch literal 1014 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}Y)RhkE)4%caKYZ?lNlHo zI14-?iy0XB4uCLY*0oMf1_lQ95>H=O_GfI;3~I7VJZJo2U|??cba4!cIQ%x;H(S_I zqRuSk@?Q_%wYl5Y=m;@)iA{X4F~XiN?ufT`6MMhc$3+hgc5~hO$EY84TmHe)x2_^z zGc+G9ZO-_^5Pfm!>e(*0v&w@v9jaJi>}NhZH;I-1SB#nQZsYTx?Tp`B3qR0z?s_F7 zW8t~@m-=$GC24B9U&NG-PgYtfJ-kvZd%az_4BlkJ~*(;7mCnO6G+a6F7J$b}d!KuVayt1Veroc?p2IZrcpqO`&E(}%a^MoeoxEv~=TTQx{UDEIZju5ec^ zRp)8J9^p|r!e<&+ypX)Kiz_s+ zV)w3Hr*5xWsM+||Byd5o*Tl?OFN3$vwc?zV-Rabk6?z&3}Du{fcwzMVII} z?hJYKe%I#6Dc-6j>6`a39JO-bcv!vg=8MNgv1^(VRSqq`dtv8h4H2%_*XkC(a20pU zzt@x+`PyZ}{qM`(UF-Ef;+iDk_GaCEjz>l&PK$1yJfylSRB&4A)-uJNb~cB!6XNeX z&ao`Dy7q6y;+bcJ_OS$hJH9MYJN-b~gdf4C3vT9QNHsI7zwCaLT~(bk$86W*+$}ue z>*5xNuZ!!Jm4AKU%$YB{ivN`hlyYXCY`xzZSCVM_`2XYk4C{Srk?#k>JS4{O% zHlKL@~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_boots/bismuth_bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_boots/bismuth_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..423be08e9a3054e270bad6bd77912d0d73668003 GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF$Fd)?rCor7#NK`T^vI!PT!qq=*^TU zalBq!@1p05f@Z#%3DNA&)68Yr^pc{zgR{N2n15saC3Z1gAg6GWkxQSG#U4l3hkpE` z$G0zh_g1ef=JkHt^S}T6d;j@)_1)dmVkV!;_%vPP%?>+78RHe# zydS-J*5tJGz`>Uj&q#!RtLR^SyO`&+$VLvuJMZj-ZxpN9TC?q&ow-xOz}z%% z&lcz2-RxnD8gTe~DWM4fGZ(Gp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_boots/black_bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_boots/black_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..cabd42503d952e9f2fc5f1c27684d86b2f2747da GIT binary patch literal 451 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF-48{$5tgVFfayqx;TbdoW45Q-v3a5 z$kF<>ygMR9x;7|IY&j@!Wrl@9p3gZowRL)ae0n-{4CVX1)Xki3FmzjmC{J(@$O>G+ z-Mx}~Pk_R^JujclEA~J4_jAJ2`6j%RK2GtNb$0pEC#iF`W;)&ODkv{KombHQZTr!L z3|*1=vd=7TT0h(PQKz8a;eT;M{5M5yt`l7fs*g3dI86EYUSj{7$8Q%a8l;|^#GSA$ z-u5lyjm7s^v=hwcvn)F^X^X=Y7mH&D3OBghn$JG##SoVMBCAnDG4$!vz3(!8=gD6w z3s7FNiov3<*{aidm6wuCw8R>L6K|g1dHvb@RGO;*?_r1QrN6eR9+Cg_Jtxm4rvJc} z9hYBC;y8X`HS4v|$S*T3Z6|eY6-wRgv^7e-zEIg^%E^WoTXsdnZ__a2alUb-bZ&{2 zu4uOE^k&ueDLu>Y%*^%pAA4`j--rJ3QGfRzkr%krRP%G%UquE61_n=8KbLh*2~7Y` CN4`t| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_boots/black_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_boots/black_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ba3d6433105add8efc206479ef71d7a1b53036 GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF(rvdMkje07#PDnT^vI!PT!rl*Z)v} z$kBRJHQhbi)b=cCaA4=?ExC|UkgQ;&S#Q?EQ>St@A%#KI`4gKU%d+PSa+j#Rt2*|( z@Z8Slhvv64URZH`(xJD153lF0%amU#!f^U)+uR+2yiAu;GC5AWXu3+YdFm>jsFZu# zt+(y*r4`o&rtRFSp(DIMNR7vNPg3IVmi3Cf7v9a0-29R|P-J6Fz7W&?pkrk*i!?69 zf9w5{yX&^?^+QIbKGQa>Z%uu5dGh16`vlpQH%aDN>#@7H^ZcqkHu<=VYs9i|+NrA? z4`f)R{M^T6aLoVwe94X+xA10$^$`!=y_)sSRa`T5k>1iJH?s_-_%_N;ud(A_z*r{z zbynWCs2lI(x_@e$PY>s*+N=B9Yvqy9-NkO_K7U9vX2>;pWtwZP7q{_1&aXp{a?e$K z;z+3B7rYSU9;=UWc;QjF3e<`;N?}?muIh&`&xUBzOvEu2+8?5G4-OYb(w4+~(`04J5u_}7d zDZg6h$nv$je{6|9=&aix_g!(X&El!=KYsao`BJF+(F})Uucen2MLya8^T_+jI^p8g z4EbC>&Z23z`CS(UIcr-5OGQmwxY1zQLN04Im2l>UvvYH~mW#eSw|UXrNw=08@JAEh@vLJF-skVd^_vU>jPiNiAT<9@nX>V$pnp?mYtto42{HwW@7B8_lcQuDK_I34| zxJlMFkAJ=E?3tuA&4ZhvpZER?UG}^T*IEDba(_-+ugFl;9`^3~JAV-Yxyu1_Px`LC z#ae%5$pii*DXmF1vqk2Fh;rj`Up(i65EFx>y2ZZfpS;4B zynk~^zC?gM`owepc})tYc9wZTzgK*+;Gd~~=;}lr#SGI~`*-BdSh^=jB$n^Ih1DA4 zo%O!zH``ABJZiUf#i`rY^=biY-Gcv47f;rD`R&S+S0Ry3E0m_^=^tk_+qCH4g5WF} zUF9b_j0b!=Eh#jx5v^8%<2xE&G^8~^MU;jOXFFe^5AXa8hLhVIj7lHnIhb7Zq_NX&4WQZKDwOQ&{E56<=d&zf^Ill~K{X-ag)RQdb7q5T$ z;0n8pe~4PvY>OSKz2VK#ZJae?@$ m@!VIg^Zd|;6<@O}7&)gFCN5EM+{wVez~JfX=d#Wzp$PyF=zyyL literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_boots/red_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_boots/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..0998e907298fd80e6a7d83645225e661ea915000 GIT binary patch literal 513 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF;$f&8D(Dv2F5;57sn8b(`P5ydpHG3 z9IZe9FQzu-gTS5(1)MCrJnYlE7N~a2nsxWk+J|d>SzXPxa`ft66uNk2iV2&Li)%|* znqznh_)<)U@%V#nqU7R~O7W{rGkNCF@JqlP(Fgm(F$2IdnL) zG5a>#0$zpBKRRklT$g-vQ4n*iFy-Sem$9*DHn?#0XhOO9Ugg?3`KdQ8G&colF)rA7 zUFO^GxjWV|7sRa0xLLGwC*y-Fg`1vk`j*RH7^|+ra(S||uVd^J9|<-^#i(5$cNAG| zE)H%foqP98A$Q^NO$-sfJxN|KYm5w*mP|97{_(5(&NU$%*OPastFT<(=Bpr9lf!MV>@f0!=+@{)LP@;$93KiXUvJubIev z;CsxYKY@Q09y!^GvT=8FpE-AaqG{2TQ%{e0D<8esAuS=%^J(tG#O&hkTd%nO{UeB$g~TL#IW<_G8Q)(v%B zb^SrRvT8~4{Mh7@tT3=OK6+jM{)V@~HRpY`I0FC1EVjSD{E3`g9rK2e z*kdNXt=&=~YHCk!9kY5{CVhI9`n8P6(sg?JE7z_wh|yT743fLBT#@hl_l;|;4(2Wp z;a0rx)x>Xe>*bt@r=JTtdE77F8lqu%r?5a;<=Ge8@Xc?7rH=D5bRBhiq{=hn044e zz-4}Ky`opK0{ir=Adgn7<)WM{bMBdO9{RVu;qASDZ4ynMf})urT^5rl<|L<6CxOO{Z=}r!>?Kd2&<^1n($N&HS bgRL*J?77|9YabaH7#KWV{an^LB{Ts5laH8^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/bismuth_bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/bismuth_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..d760c79a73ff6a3368dc6e7f0cdf39c5e3d8318a GIT binary patch literal 618 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF)bFmSMpvA42<7BT^vI!PM@8;KRY;3 z9jY)IQ~dfKG~lFbikX?BIeok5-8O?^qYa{_@eH=(bNB znnIVJxq5i<<_fd^{J8sW=kuEV-{-vF`Qg68)V`A;R%-vv z-rxF?YO(v=e2<`)Gv-A1{SzwYuv(Uon>w|iOjcEL`eUY`ml6zKMtbu5tGe`GEl=iZ zKVTa8W=6oOu!!i$qe1KpMR}G=Zf&iTL_Qt7X6tp8>-cV02MhhuQlG|I-U4hrHIr*{ z8}whPr?6bSS3kvW{q&y=OYWOl-qU@=sk0zWobkf8?=xR+yA@sb{?pOJ>fe99+IQf} z?wb7#zaDCC%T2y*_V=LqkxG95gvK*zY>RI@-oEFqKczMMlJ~#2a?<_p3W}@`ET8Lq zC5CCWSwc$0j%GWzHrF&`=ao?hPnge@w748Fsc_{A!D;XGF6Pgc_^I}^S-B=oe_?qUPQ%49ae0xSY7uo^YQ!BM)DJ!&MuYEW?t}2NW-ON-BroS7Bgnr zl|<*-Y;XFJe{R$FT^(^6mvgsnte$=*ZvVlTH!Ux}3JUsJKk7F!Ffj6ax;TbdoW478uh$U= zk=FekOPe-5&f%D?%K4^EH|T_zw?mGu*!)A{n?I|*sb%O^aN^-gH1BlTaBbrW{*x*Z z-OKl!DStMn`r-LZL;kBta$2?Tb~k>yn_ysn<>A{Z=Rg10T3-G9dN3ogy3>3kUi1ivF?;42u>vWWxMn|c57_T&=gj@yvu{dbU|~! zN>_hLqR-TC@-G@s+fM(y>;8AyAMbr{Sy!#>P+IQPaPG1G%lMP|dhu-x+b&PubM%ux z^WG31QA^eXS4+G7<=;P2I?vA#@Z?J1nX;;i?xj;McpnYmIC!;`yWwXE(*f6|PK$3Y z2{RXPO0eE*aV^7aW!P$slb1iF*k{_!J#yK`enEERpC8}mUd(7&wQ9wxQ#VRK{%I&t z>kd1SJWGw!)$il2iqkhr1)Yw3cU>xUSiosR`-&5q?{2@fC}T1xi!GY9P5JXxRffEJ zhu6>8em_@^J*`wbO>ueVj=zjiiv73c-*{Z{c5MjY5d5#QJadV0D$ z%P6sJmzgKYt27eK6-FLDRsqF-aG#oE}N8di#@d4a^LCt%R1kc(pMN5 P7#KWV{an^LB{Ts5+LsXe literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3045fd4472b44a034d5d22ef8923be9c3b0c2e GIT binary patch literal 531 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiFP$jY2no{ zgDF9?7A{UilF%P)vPx~Rz2emo!m6VWAmxkre|dYe zK6@l{gJ@~*6pzg_cwXA=chXqYBVh9T+na2S6m!)}Mf&qzU#P7+S}Z$fqG)W=j>@`1 z4u@Lv^A}I@F`Rwvy{wsU-s=w==XkSwHcY>_m+1$C49gTe~DWM4fc#gi4 z&^EtM{$uye9;XQ%ZU!9+6W25ewBBvrrPE#S(7|4OM}CX@UXFR+)GRrwKP0f(=p?o? za`IWU95HaZmD1_+IML>;h1=u1`%1z?_vh~oy~-!!xi>BK`wnTSzJq$9u zv!TbFGbKF8YM0vd_boGT>$bk}`gbcpC*?=%s*MYd|JL5HliPv7v6$<1hrUdix5&i2p4z+1Ylq2(6a&wT&Sbm02aH?zB{ c4l?*pn6_-a6>r6S1_lNOPgg&ebxsLQ064bc00000 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/copper.png b/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/copper.png new file mode 100644 index 0000000000000000000000000000000000000000..b1474cf5b931886e2dcf3e307e953d1efc9288e3 GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF?|;2xv%*d7#L4_x;TbdoIX3rFhe*| zqHVr+mx;h0Z_6taT9zCMvi|c$#CeC}mAp=Y(w7e&ESlX^va;FvIA5zCpDfp|h!+nO zBsvyzN;)m{IK|7#`NT=v^YBHrr9uI(ET>rePcC`4yY~P0ef;*O=T4rtMaM6Y_;q^h|IK~>C zzzq3E#XOBJbE>)ZPo@R6JW*J7b)&0EQg_A?wl@=GRAzgA{BbrqWTE0BK?argqSww^ zDOz^aJ=;9rCiZ|))(R))2Y+|-hy2~Y^zl8-@6F+nH-G-pXGpMHyYpc|+O)7#@x?K! zHi8bKv$%h5iY+#_(?1~nZnkev(bT;6%Wt1wy6nRFnr|o4ORkvDF8RKj;f&9z6;8#8 z_m1-UJXjH@v+#(>Az{WS_gbCBZ8I*Pk4>QB*6&I~u1>gL0CT=l%gO1_n=8KbLh*2~7Z1zV}K1 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/red_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..fd92f2f54a44a043478e3bc2111984c9130f856f GIT binary patch literal 532 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF(c7yj>{i1FfcCkba4!^IDL1LefDh! ziDUI%-V;UgCNP^{Nw7INFQ?$8%7-8WxlLIo!Y_oMxMS=5a?;k>%bM69U%aqU?^J+{ zZ`-7!M|U}`C}}y6YL$5M3-_0q?`q#y%H6B~Q2$`rbz}3r^B6srm~>8AcDA#{V4}dX zv-X=?Zq_)dwCsFSvZlesOGvY`g+YOjNlEccj@`=M_}j;iW*pGn5S4dgRhI<^NA3JQ zI*cb)b;V@ot+(3{ouA!o+z^w^SN?s?H0h$XJKvRgPBoI3m-Cpav|3A;oiQ?WV^rP? z|Mn+QmopA_IbTl=6p1O{-D7*6L5+_oXlX}tLriwq>9d*KVhi6hZ_wa!y3VQ)+O_ey zsm0151`D&99+CVT>}87#r3!ZJPTzj-(tN&~Yqvj1^?dPLr>p7w@4dxAjjA&I+j{rt zoLsf4Z|-CN-TyC?&OEE$t0m?d$i3gz&PttaqCk&r|Ao@Gzk2Qp97tXMc#F?0=PjJo zA@ALopZ{LIzI0D?zW))1^?lJlzJ59K`*ZQXH+7%G_B=e@Kj-jg7p|X3=9mOu6{1-oD!MDpK>5GkGO}jIua&ykSYOp0sP$eW{%ccck z`7^fGJNT-saDCt>kzO!s#f|=tIz%Xd+zVM#{XF}r>*rl z9rj-+-+K0xQ%io%?#R5UHPv(edpje$h0nx-vQlcCc51Ko^;?$uyZq$Lo691i7hBi~ zq*vsKG@RX9x@5|}9aAQq-CD}jnAg^(qjx;%#i0O(xAkJ~ivyb$Dp;DIzUt5}_Nt#z zfTtwG(tPzgb)hd@jJK^h3RxX8m!+X{B6Ga| zy?ED?J33MgdOV_h?SH@f`T1Xzf35t`V#?`Mub(!*Ta|Xpm)E8@H2;}*?Vbh0nftTV zA6nemTYG%@p1pgWRiqT3r&VtG5>mbS50|DY`_H}C)?aBo_~?@HovEQdr^9v`{CT@> z&7?UqUB%skd&|NeOws$;Xz_QW-TrPii-zyk`O)eZx8yjjI>#EBwBdD&*G{GbbqhPf zze>EZdU)yk`aggEa9-XN&AMdD9iMxTR%~wPzpwWw)Rsa1&auR~i_gg=nZH@4n4M^_ peL|LjgE-qR0|VXJpC$e<2{*nvnPK^JF#`hwgQu&X%Q~loCIA4g8(;tc literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/wrought_iron.png b/kubejs/assets/tfc/textures/item/metal/unfinished_chestplate/wrought_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..20f4c6593a8334e64eb7cdf627a947a201f90194 GIT binary patch literal 488 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF%xxF_bfNps(P{>$93dUv#Yc5e{Z{rw9oi~bll3NW4jeB;&~ zkFu;%oAb;HsvL?Db7uSdoj)(5$THE8VMYulbEuKDzWugr!IqF&lY zW@cVXgBD)zew*~S?GQ`qbycIbbJ6Vz8T`n{942R oL+M_Iww6=>l+9EB&%KW^IsJgtn|HNE3=9kmp00i_>zopr0IxgHjsO4v literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/bismuth_bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/bismuth_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..f09a6216dd8e1c30b469fb4117475df749d920e0 GIT binary patch literal 479 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF*9xtrT8`m2F4su7sn8b(^rEGvky5) z)TSHXIH)EiRj6qi(C)mH&ox9qW%Yw+>rd*x;D2GSA##0}2$yavmmljyhb(r-@9G-r-ms%`Fi^B=eRjSs@B_B^S2#YV(zf? zDo17V(yJW3SJ-YUwR)K{aD?Au$}v&pTz6%o?u_H=7m6iCc9p(dc~hx1bLI|>`HPdI zt!vaDoSnAYwxGr{!LF=D&Xa-RUA~;4g`LmoBd4M{m|F8>8y`QuwNFSdphD2XE@aii zZ=dw8z4gpzn7;O6PPn1GbrIK{6G6KE^L`x`V7QUt#qeNDjo7kMX16Tom~CP^UT`c4 zIW0UjD`VSg6|H&Kc!O3w^;{S|-Qpng)T|4|l5(Qo9!`1DI9qr+({Z)EjScc29yRY( zUbtj|8vpi*Kkt8detX9xch8zC`yW-c&8M#=EY7Uy`Lpt-lIR9|X4M!eMu(i9+xCeE e-tw!y6IW87u})i5yd$S42%VyE{-7{;v@5K}- za;&~wZNW>-lfz(zFZq zv&E{89$b`LySn(D<@4Ro=e&>m@m*lDUs2^{)(c3~d{O071GfzHh{#*O$ zC)2bNhL{Go-JA!WA5f6(-mr1kv4Z zK>vSd%8OSn+BErbal(R^e+3n<B|XU#!fku)grc?&e$Bi#0ETS6z$bk$SXZ z!s91@rcAKc2`Mbg_Wxty~%IpS0^pGAhF9R zW%beIRlkZ^HP%XOW{}(7=J<(S=^jUo lgP%A4RAu_?UH`$jmT}I5+4qw_%7UVi!PC{xWt~$(698)e-iQDI literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/black_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/black_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..474536d35484e442ceff600cec37e8d438f94e37 GIT binary patch literal 563 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF$<&4CBGOL7#I(Dx;TbdoW48RJ6qaN zq}6^aU#D%q1G`(@mN=DOMb>2fT|8G*wse1!-@awbgjDf)5^WP)#To5Q7BoD6=stOo zUXt(JC-NcMFXQemE`Dd*^gn-VwD09S)3c9vY~G$dXYXD0kEgyp{PE&~Oo^4sWyuD{ z3sLu(_g8hk{;9F_%-0H~c?>f0va`0UtH-#BKZ)#`GHFBL^Xpedk0yC;j9|L(_B(^u zgmmd!3_JeWB`)rJ{j;UlYH^~=#)w5*kF5+Xw4E=Wn4$VN`N5S{X&*icS6ZphJa=mP z?!WUk6vdoZKOdAgiA7VjLGzff;x-A1(q%p=}#iFmd-eMQ}bkro6K>M)msJLhF#wC`@=q+ zZCkc?aWpM>(-?HBw0GUbq&r{>YG6-D++YbSoN9_`dYt+BsWGH%3kWxPNo={dZD# TPew2>Ffe$!`njxgN@xNA@MQd~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..fe8f7cdee7d9db18d18db5412c26d1be699dd967 GIT binary patch literal 488 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF-sYr%wv5F42-3oE{-7{=j=*?6p za@;(tor79+*Sf14 zT3Z9H+)HLpDsQyjGdb?5Pef1Kp*KsyS8luYB8oThTA--pB*Buk=b6i`4_tg`)%uBh zSJ-2_`Zp5~8F%~W>HKy%9d0hM^m9J{qmvw~l!7((7gSCV7Oosrls@`|z2{$~v-}e6V@jdo;KmCe3_^vd=TrP8e=*zDuLa)7fdRK3e?!U3O?|YNJ oUU;p*!UJp8|L^{O{sZgv=&dK;2tWJIz`(%Z>FVdQ&MBb@0LpREAOHXW literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..bd28771da7938feb5297b12e2dd728a1b3443ea5 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF-wiyyGGUw42%h$E{-7j2C0OzE|CLYxZ-rfpZp4>{f5algkV(MbDv(@=R!h$AU_vxzB z0%T&89=-HD!duE)d7Serze|4A{qNQH@4v6zA20Vu{~%}3$Cj5zZq5Ft{BlpghRQ{g z_iQ%jZ-~0e*;e~aPGNTNja&1!Zpbt(v^<&oxckZ}evhSU{Xx>}-CeXyHBaQK{mn~S ztfI4;e+CN-=m(%w$-X7tb)k%hzxHQ%B+J zivoom-oDrt`LjzW!t}L`#VhBxFUroEU3~wQds^qt$?C6WB?@1f&D~_WbDbo!vrD>7 zR_Jzp(Wg>BPklGO+IQ|(QOmBh3%SzF6L0bM>FGBdS${Kn*6&OIF2(;~lC7BiU=f4w RKL!Q{22WQ%mvv4FO#pDLzoY;F literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/copper.png b/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/copper.png new file mode 100644 index 0000000000000000000000000000000000000000..fc06092388fa8993a0b318e0f254cc74cae7f783 GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Mvg@ZaB6vJ4Ci zoCO|{#S9GG!XV7ZFl&wk0|NtliKnkC`!hCiF-uGKT%nT;42-RwE{-7{=3^*)>+ z(mMZI6GxJ@$kw_GB1#dC7Y-g&d=b(9>Y0DRh6m3c@fTe1y|A!ZAP7g@&2X zg++|Pw~}}zl{A{d9#5Gxoe>189%I>&N#uG-*fq*0~Q)b)r9+5Rwpf#6}Q+~qfl4ooMX@yy3xYg z$~CO(fW^xYkx0%756s>zdTVX+Q*_(iE%B2(1JZwHL=~qx|QWk z-uwS^neUp+%3FPP7W?xTTPnlKTkrM?yjPpsB_uEVd8xtNE~O*8Yb$2&o@m<3^7f0n zou&TEJNx%BDtuMVsBxJiu(i+Vz%9pvmsek%)xRs)e$kx`x13~K<}xraFnGH9xvXlpH8uo4pR?Oy}oAu(#{{`L)0t&93Va&hTv@OU+ z<$Beswgw*sRg0ThEmu#pt!l0fKOMRI%eM0O``-V3SN-9>ykUIJs*p`}vzRXI+kgIR z)a%zbm*p~lc=znsmo=3iAO3dsGVR|znUCcZ$FEGU*9Vrze3yu8`7qOGc0|;jJNFlb zeE#v(mL=ixw#;|=f-6r1Ov#dC@HJ4o_Go^a_(H+0%&BLTL<85g2RBKIIyj0??Al@d zQeb7r-0kOATJf!Ap5Hd*M3Uh3a?AfWP6|FXDyW^_dtG1iy0c%u-*RClSA9>0A5t2V z4{v{LTw>>>z9ul;Wzlq%lE)Gad!MEEm+Iq)=tU_3Hz{gKeoFQ&L;?3v)J|%uTeL kb5yhHYSs7uU;Z$jH`^u|zj0$E0|Nttr>mdKI;Vst0CxxK)Bpeg literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_greaves/steel.png new file mode 100644 index 0000000000000000000000000000000000000000..2bbf9159a3c07ef612307146da4378fb7c60089b GIT binary patch literal 667 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Otxco}#jZ{Gz; za29w(7Bet#3xhBt!>lS#w$2b;Z|JSAsUA2p(~DVR2niqU|Rem7#gibvd8xuH94lWL;x+ zJ>R1$cBDmm&B@B?PZW5c_kYfDv{>K##NcTCg7;tc+@JpZ;qN{C`hUKw#^xSVU*074 z&1QPVp65|97d|QKS55u%@w2*|R{xLBzk41Z7LMCrefVw))8eE>JsNxdewg?0qPoP> zX3^bQYulI}PY!N0T2x?N*q*iX%*Bs}``#CCw)Q(}ao~GxTf69zh@PySJ=L!+UcI|H zDSYkKh}Y5IpH|oW{xmhj%C&HL$Mc;G7QXD~iwkG*o$6?c-Cj7$FT?s0ll1G^ijmj7 zQ&MK;e6!r!8E3SqXWev-cOr*vBc`!B@GMyHbZJVx8pDOJLf$tSU+zw1Sy{rh{AEji zc9y1qQ$nOz?<~!&OD_mToZ|DS{;K@#HQ&U2{|;=@`DLwiskua-`DOH)mDP*_TrFZP z0zr9}>MPr2RgSBzm>VB(;ZxA!G_S3nxhEwHuV|NjGOc)$z#`jYA5UsN6MuFi;{K7( zF(#$liY#ScFFk*7A=#v~``kHc3DL^ zebKXd3=i0anwy=^=%4wRTs=F(#I3M=y7BiXmz*3=Crhz)>x(nam^s&tlG61p|0B5wCsH|;$ydN-T#WA)wN*n#UlnKi!_dX{>7CsRaa|j zZ7KVi;7Nz_y&VM}?23(A%gx8%-?2#I@P*9n`WxSBF?b41E}WoZzbeQpXZNZGhW>tj z4#k4IdQKdN3RiH1)mdBE+8!?5T@e?*RcR?p!n89IcKp-tX)_%!+_K!yedVlY%b2(o zCG7ZbYUCNbsQjT{_f7b6$0CW_>x$~jk1u%6xS>4YpjNcx*E15?Tcr-jD9E&XWtOLh z_g=hXWO}^tgtYQ;b@dm!79K4;^7gFhzwY%8&%d%I{%D(Gq@Rz#hU;C literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/bismuth_bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/bismuth_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..b1acda30248e08e35c81989d5f45b125919c8264 GIT binary patch literal 625 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Otxco}#jZ{Gz; za29w(7Bet#3xhBt!>lztmqW)Tq#& z*W%^aF+D4~i6vR#P1xlbH}0l*p7PqbuDxXXGIqxg4~l0=-b;U0nO5;IUU}Lag=uqs zB<~U5`}<_4Pmf))^y}$ow_0+Pv3rayCJ%Gu4!AT(1#?!Ln5 zpQcY5`oDxo?afLMn{{Nfrdoc?K^>Dom(!U{7dBqF@Vch%C*S{!md_VA-`W3Dpke3F z%u|h}^X}F@e8%1HyTHl$e(|xivor2mKACCxPSCRAmBy{#R`zRj%eK{jGF=|DHc#m! zSM)MZXYJsS=oLRFJ(zc~@o{!uT~x)SS}*7Iw;3j_;pp@^6S=_q-L1yY1vNP?5$Dzy zs@b)uXfr9aG~1nVntWL?@P_@C)dyb%^=(SquyMu1-Y>hqCNsxn$#eI8+5ek=_cadJ e_Mi42r44SKUS+pH?G*z91B0ilpUXO@geCy4p%{n& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/black_bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/black_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..3b44c033a1105f49443d78720a86a396deb25d6f GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lEak-aXL9c;!}g* z>;=0Py{nh_{d9JC!AJi2@kT->4zYpX>lb;eH1{-#9G=X6ULtN!<zopr E02WDdj{pDw literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/black_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/black_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..19814ec01b7122a088b175163eab7ad1210b1ca6 GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l4x2igQj?#0PiS;*%?vM> zALh*OZO>UU#9hmt^{c&q`}eZe?j@cw^Wwu5eIFg%9Anp7$5z|CSxxrsCwmK#mUp|$ i^JH_&tMg<&b9YUM{4Dvycp?J>1B0ilpUXO@geCwsDTYJ< literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/blue_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/blue_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..beef9de61defbaac47d4e9f516a224776a6f0222 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l*w?SABcC`ZZC58U%(%$N;Cc=e>ZEVtencN`CK*pm6qd_ z2d##`PbpST&}~>Iom5iH>##fU=-hpb3*`EZ6rY}bviV~}+~#fHRs@Aloa(2Rvbs5L zb6e`I6JG5KUKUoi8gs7RTb3}>Onkcf7U`?{g*FTa<}&#)`d;oWd9~?^(B?{obL-z- zDxRjC9si@^`^Q5wZXai7XwvX}KQAtRgHQGL|C_D|Mb6FGrC7F$VMC0r*FNKe+>b-J r7qQ%*3F6w{JM#W&m)S@8BkEcl#Uj5v4J;TK7#KWV{an^LB{Ts5BT}EE literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/bronze.png b/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..d077e54f32326fb156f7c8ea5af3feb4d903724c GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Q^cv>9|)e@%>G zU|`@Z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=j~v5AZGiuT7of5pJSu*uWKF~s6@a)JbF z&kdH%cWVAAf4*N|d;Y+I0|z$zc@fC-Rp*9@`q32zAmEYt!O-KxEW0Itd*9>3%9|)e@%>G zU|`@Z@Q5sCVBi)8VMc~ob0ioT7}!fZeO=j~v5AZGsu}dQ{b68WwDfdw46!(Ub<%#n zLjfYk>cb@s!Qd(_%$*ny2du9 zr>F4DW!~vt7ti$IJhR^^*FTj9!aw-l|9ax&8X@kxo%%w2Q@S&btag`O%Kt*cUAtH#;e=D+>> f?xXF&pRBI4N&{vr3x3YPz`)??>gTe~DWM4fKzFJ5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/red_steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/red_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..7ac49b51834d97b920f346aabe396e127e1bf76f GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lEak-ar){cLvLnB zf!6&~Cp>jp$5qtpdgKtZ>QTwn4ZR9nP1~YwW~3_2?fv$X@#UMGqe{IUW{(H@$`{&x%uex$yUy=4XeAD*d zL3c07SvxZyX&?PN_x#yIixl6;y*r}+X*Hw5y5q?VO;x=9DIZ;?Er?Uj;Qg>)sN+g~ zz{Xq#TjTypYo1_X0nQ^&52oeFT|HK$wMfP7@AnU!T5@T#Z?pfu$-uzC;OXk;vd$@? F2>`mPsRsZ6 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/steel.png b/kubejs/assets/tfc/textures/item/metal/unfinished_helmet/steel.png new file mode 100644 index 0000000000000000000000000000000000000000..e00aa2f7c11087bebbee0d766e24530b706db625 GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lEak-ar*7V-CTzp z1YG-*By(EVB+11FY}hEM+L83QUh7}8nD;c3ZIjN4?_!MJ*gutV@`43ZAH02b=1!vA zhtFD~2Op-)O1b&AELE0m=P$2`JMU&b?sw-(tH3$E=n;-1X)g`=5^-$F~J&EqSY zd})hqN0ZFdCm5wRPSHs#{`L3XYyFby<|78HTrMvAkUHle2k3-{QHP;|T!C4XJt}Aj{Z!lW@m|FU+e&27i z57~zChMt$Mt?A@o_^{(@Kx>jbqvxb;pN}#<)@Tw?OwoILFKug?!s7C@#qPE23_fYW z3>mv8EV%D@KPP0WsKs+X+YhM=N}1P6S67FI=~wdfF)%o_T-bHc>~v1W+;8`pJ2;G{ z-*{hkEu(nH)wquGmQ)$*tqb|~FiiesUc~VHa^{B*$HOh;_mdKI;Vst0OZ+$7XSbN literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/bismuth_bronze_layer_1.png b/kubejs/assets/tfc/textures/models/armor/bismuth_bronze_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..969c9092e335197533c1eb32f9e41343219f80b7 GIT binary patch literal 1491 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!H~g`!Fp++ z$}9#32F?PH$YKTtzJnmlxMO1WTLuOO_7YEDSN3OY5?uW1mWp5IGBB_vc)B=-WZb(N zxj$RkUF2WNm6a3r9%9OUxRs6Pm_p)BiR2QAmXN3&0jq_ZmiWxl4wVpg`q#MItUx7v ziKpPBphE|bNEFX0y`jLzlfAy%^hU-~-EH$kF5R9TyLQX#7w%K8OT0gK?o9Rj>ifSJ z3e+qK(k`Bs9w4o?NV?k~IyPb#=gtKV>$89S{X1XLCs1pv(e{$!2Xlh9o=`3l+5hKD z;+oImf5bM}IRCyVQIWT8*92~^Wx6`&|6Sd^K!|Ub!LE%R5l)BJJbiY3nfj?;=YQ<@ zttZgJp2iUPGid7x!iKW)?o9fUYn^(Ucv?z#RGfhE7Hr>t^4_lc+e&kcrGFW%O&-ig1@Cy@5} zi_Mix`;Q;a9*un;)MaAwe)Ch&nmzw`_O5fh%ClrbiHJvuq)@2wg-rXK|MfEq_uM+6 zpycitx^(I60Mll@-IhP_sc9~mDtaR zvzKQR~-DGDCl z(6%^8`}5|>-uIcqFK5TNv`uIKul>=td0O70AnoGqf*rZd9T^L%?Udl*gV&E+;vK&YVw+Y;COB7#ezX&w&H3x( zeS7nXx4fAuE2JFvC{#|!`j)$~np~e<=fA=?ZqXkXi-rWB zuE76)U(N10{5oBI`i*;0|uP?N{P1{qq)m9Hi6d_nY%K`)5#Hx&f$Qa6)b4SIWTonD+8lTN&A-_< zBG3k*tnntGDWQ>tmBUY>tU! zE|{VCBPdE~eZSLz|GtNw_=+x=KbP&4SGixEXSl`tPyDYXZtOO5vRlc(z`)??>gTe~ HDWM4fj0?Te literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/bismuth_bronze_layer_2.png b/kubejs/assets/tfc/textures/models/armor/bismuth_bronze_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..753ca4f486f382b4d878af99f98e56f50fc5cd14 GIT binary patch literal 803 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!H~g`!Fp++ z$}9#32F?PH$YKTtzQZ8Qcszea3IhWJdx@v7EBiAx2`+APhhK_+85o#0c)B=-WZZi@ z!`E9nP^4{sm|EQkYLefm*sf=43&(<4W81U%%@0V&RR9uT?c3arIF?aq-N4PP^Ybl_>b+z1KeaR!Gn- z$J8;C^-J^d(1iHqTn>f1Ri00=cm8yElCIj0Hx2V^1l9Nd-Rihtf6f9nABBA1mDv zzo&mXy{y5Td7jPeEetjb&1TLn&bMcZhzd~MIZJW=DXm3zSM>VqYmb~h8GfqL$DnWi z+bL7LCZ0~uXV?Oeel#lnI~S|(|TdW z>{pk#{=EJ}{;u7;50CCRakY4MLFW^p2NQpPPwAV+yP1iz)Y{2zYUm!r{iSpH67>Yn zHMToOGKU3a>-fFq-R@j#w@^TOYl~y$rtsSgx+_lo5uZDArk%}Z@fD_y`(FtvaLu(d zUfm)4@at#u|7+eHYH>>z4lcaI$UiSYI_=klO^K7Vr(Ae0JpEh)w>2-9u%7WAWp`hX z#?F;Hj&_=D-?m!hczj@r>*LVdDVdI;*LdQWYdxRNJGtC=v-q#e&-U{>Gu;u+n!Nku zqb+{_J@}6Xh^p+IwQ$?@3w_tS+fGG)SS+cPwjj#nw|kYI4bwlSs=ieD?XRCnGB7YO Nc)I$ztaD0e0swMGXm
+6MHRp=Rl)y;D)|UybGu0eo5VMATGt~_?6yw zi4PJuj*9*^*rq5wnN4t^-Ikut+>}N;mc@0vZcaU%X`bI7I9GqaF!%QC+4>(ZyJg?4 z?0gp2|GfO&&(GHG2kkChzIL49KyK-?n)OQ;F*HbTuMhqp{G{6G7<7I1{re7(#d$1r8yHaoYg zck+TQJtPwp4#f2#80i#H2Cbw9{5ITIfu@U4Z__U9xeM-`7LYDd4A zSV@=MUiRik`X#n*S+jj#w5q>s2okqxwRdd^w4Ku+@nd)TI|hagGqPs*&3ngvO?m5; z0F^MK3;W{anF}6-RcdI(DErpFd{cJuH%r{PxAV5yi3yc)`YWG3dvDI(BNMF>em6Mx z%T;KV+2+>fA4?D~06eTIXg`j4twpDUvNYCO&Qoyu3e(xA36J(T#5l~ebrgh1!u%0q~l|mrPjec5d>MRf9{ zEe9`N4BWPTJA3dWAGv(-Vw2VXn!CEVdU|>^TDc}o>r(pqy?M^XSq-h%%?rZ05B^G0 zy>D=Ffy+6C^t4MiCvCNK7BsN4>wEYx@z1ZzygBN^dp=!0|9;Q?=8qo>dwP36&Y66; zuWC=tb`t^X4A8az%vQ?~|ju`JDm>fU-I_b*=ZkDNMRWO>mU|a2z0AG-_BP9& zU8j2I#_GN={&3fyfg!x^r{4QD$CiB(S?nSF^;WLdI^7?i+cqdicU_9m4!$onyUQ)z z`5d3WTqbA7AI;z_EA1yeue8h=p460IU_HK2#^Is+{~2*Lb~{e+3V#kc6MNC{k=x4p z42Ov~rMG&0+&8W3k(2xOcYkNH{-3DtBeH0PQpLuIlYR>}PUBM0Rd{*S{{M%|HU>&7 sHp=fiE4gW({GVkn{yL>Eom9`5rZ;1O0Yj!00|Nttr>mdKI;Vst0CQxzJpcdz literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/black_bronze_layer_2.png b/kubejs/assets/tfc/textures/models/armor/black_bronze_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc0d1ee5013d9fd714d23ff8b3b3b6c0809be2d GIT binary patch literal 1022 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!Ja{zL3j1n z#25w!2F?PH$YKTtzQZ8Qcszea3IhWJdx@v7EBiAx2~Gu$rd9qQ7#NtlJzX3_GVZ;d zaoS%xT;y2&wm{cl3E}fcc7#s8=Be^Lb;FY#nJcG=IEDsx=B&~SFn4^rC^mhry{cDv z$;G@wtGI-?&N?5-@;J~oi|JV5ld3k!WHxjCBRjZfNK1!%X(Y5~*=4HCFSady{`=j| z=X0zd9B5=_=aaE0cyPecx$w^k$v%0@;O~{Qr97=fc)IUz6rRhlBUUcWnE(HNrjW_+ z9P+|maLiYle>uX4$Ifc2VVu5TOs~S<$Tv1weupFCj=c|NxWHvKEp_9zeaB8kO{~7$ zxvS$s2>+-1^_87IdfW~cHA1DuTlr6JQs7UB6jN_fWVl!9y~`^~0 z#Ew=aeq8cJifgPre)6v!rm6IuYG>?N zKKaBXm8|V=;|(@REYp0o{kHO}3dsd~m6SyC7c8@?k@~qO=Q(fa^_Khl^0W0avvc+5 z+gVwt91v`_R6^MB19_pb+Cet!J2=M5X*K3|@zcaqg3 ls-M1PzHn{r*6Tmm&o@8QT+e##Dgy%pgQu&X%Q~loCICKr-)aB= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/black_steel_layer_1.png b/kubejs/assets/tfc/textures/models/armor/black_steel_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..87c41ed7387982d57aa002678768a78e0241a7e9 GIT binary patch literal 1674 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9;Xep2*t>i( z0|NtRfk$L90|Vbd5N6ylG5ak80|R@Br>`sfGd4+XE)l06Idd2o*u*_u978hh9gV!3 zC+sfrPs}Ik{H@M8K4R`4kLL9}(O_D%NTG0Q_YYBlJ$}Cv&bh9e5T)q2RKue+HpKbT zSvKKGvf*BdRgLGrys5Zuw$b)RTEfe4_p$Ku6^E7-f7Ws++R6WX{+vQlrMdA+x|2T~ zv02aXS?R<3{eQD0y!7>bT9-{ZrO@zC-06XdrE&R@!a1jJ94IgS{^Q6=&8|6un*Q91 zM&JE~E_=z$yOU&dOFY)+WAna+3>oZ4_Lv4msI8NkZy^%$@}%G-_uj3$mTjII^rPV4 z%7XfPk$eaHjE_xy&}Af5XRxHDtlEFSmCc!mxicO(3E#|)d114VqjTHrCvTNg`-S!y z@MOR_4H?Hh}Jn|Uo25)-RC5cwzE?Z>Ps1+n7m|5xxX{S^@( z&;CWc;$H5RB}e+XxjEk5G5nop#b;M%!~R9Q=HGK;h6nje&-^y=EiA8=uHRSNy?V8F zOl)jo=sJdig4fq{9qJE8zJIK5EZNzc)%o^j}|s{gxxT;8(;{ZMJuNdbhEvr~cfRACnvs^B~XR)Pqxt^EE~F^mVg} z8W$B+>lrru`)0#mC?gF@>rxL_Mt`ZTKVjshx#rYV#n(F*g_9=#Ted*lHSpN-=;-JdZVLmwva`AOsu=#P z4PCe3A-md+%6aM6(n4?56)U<-7Lm(6ThOx1_1b}E?Uo03Z{0G=e1G<0;Ind;pa@^D z&F$%IK{H~rs^^)1myh?p^PS`0l;gQ>l}FTAjuiH|@7~?FBJ86c&(|t}1!}2j@5*P* znfdvCtKzlhh8Ck{e>s8fT_<;HG(7kHt*&pU@w9H%D!cRxm1PA7F0WelsHNUJZ_~z| sFZXaeTiy2zjep*I=8aNz+!uXQ*B8}Hd8b}6FfcH9y85}Sb4q9e00H44!~g&Q literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/black_steel_layer_2.png b/kubejs/assets/tfc/textures/models/armor/black_steel_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e46c391048ff4ff3e0fc86677b820d4a5d51f824 GIT binary patch literal 1067 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9;Xep2*t>i( z0|NtRfk$L90|Vb-5N14{zaoW!fq}im)7O>#8Ji@R0sAA}nLG>(%sV_?978hhy^T1Z zf7?u=HuLS0Wjd9cGIzBWPng7L+Ld^)O|Ixu;_`p1qs#9sTrOL~^&obes3Wt<e>#bSa;)_c^Pv_GAnVB8IB&WTGkwOSVJ+1je(E6CaSaCNxEXTeP-tjW4l zyvr3sKb>3@QNbj$yGy5o)P+d&f`BdOvj=g%uzmlkMY1; z1qaPmozoMRY3c+W-1a>AjQfo{cZ?oLCVN~K3G$j8uQ%P^)8S!u!@3s?KC`7;7`NHV zPZXGNS)#|V;N01ArxUFkwQsY%Hhq4`+KEFas4;|dN{~WJ%@yW3bN$yXZ>Tyu^RMLw zfhQI7*w0xqB<#P4Xq2>D}66`3M2@y9ed$1m7(FLn)O^hza|CqZZ*A`9L(o$k@Okug9 z-_aWr4EBH8#TvWytjIiur6N;;CTN|MRi0kjT6K2j+0~EM&)LuIeqc}bto6)N4{8i; ztmo%k$v*eynr6bywWpPSR0?q@Zoa*!K|1`y(Q^x4A4&L;mi#a+y-YH(JLP)zxtyCe z^}Ct!tQz&E%zK`={IX%*+XdH83vRyu_R)56eZ3N?&0h~0Okbb-_WS+1b|>Kl2eY?- z+jGC&d*#Qs>W&k3ADwvl#*OR2hHS|^)^qz5^X>ju?*IS(N5gEk=Q4Ur0}6Bg9C2LF zE_%G9<-mITue=5;g_!qwN*8Fls<716e9OuF=Ou7J!dazdVucEePLN?($SRd|Z}Hu} zDlD_MBo_G{{c);&=KmV*jGx9`md?O~}#cio`J1ehgOSdiDdF$HGM2SP6ZCVmD g`gZi( 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 XBqoLYSeMAaz`)??>gTe~DWM4f4&+CB literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/bronze_layer_1.png b/kubejs/assets/tfc/textures/models/armor/bronze_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..17f1a700acf661d8ae24c639412b9a2d071dbede GIT binary patch literal 1264 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!Ja{zL3j1n z#25w!2F?PH$YKTtzJnmlxMO1WTLuOO_7YEDSN3OY5{wr76OIXQVqjpY^>lFz$+&kn z(mq2vT;l&+!3={rB~m@w$ubtoJWdIG#}oL^PDtUryNTtpR1DKW=YyGTLbo)xln8wl zNj5OFSon65ZiPWffuh)nX95z9npPcxVXbVouN@BS?&Z7m{mZ+%mb*maRev__sQ$k1 z_vgR&-v8EStvz<`SC{pE6GjFNQK=0xm}9${8FZdKcz*xBmc&EDYyJ*l`>vKG7_u{1 z2rRZq`pa^uI4eIWR|uAIR{Sqojq_Nl#fZ%{}fMD=ZQ}Yj)vwFPgUgXsVTI( z)YUFmzR5ED&)3QI|6VNo9e>R(b|-{J;DR zSM=JA?|%KFxk#t&lIPXW(rm&LPJceJ$RR>r@!a%cN&n*>KD~?&UVPDKImv!ieEq$U z51$^)eJ}n0=kK}E>%}(ikN(*D{CU6Jt}p)#O5NUA1;m_7-BEPEW;Utv?fU(5j-GC2xK;P9wP@4!hf!xfZdi4-q~g_IiqLQTcKFyRF`{(iNbDyJll=1h3@Xm8SAfzsQyWt+A? z?AmJc^>@dilHO~nyC+RG)0N&OcD#A(O+M)p>jtHdSuG%8;aM3CSGTH zxuomXQeLaNua$fZAAX$=K9T+N{ktlL%CF0quBGiTwdG{^@p8Ip&Hobf35;#)KK*RZ zlD)O#*=ki6whd;7^WWchKgAI5o>9O3Q2F|hj0XpAtvNpLWLe~FMushgXWgT%f@bPm ziVvH_Hk0+_h0lxG6w;#1d`>^pXKApXH}Chk%0XtXiJ=D03yJt=lK&TRYmKFHe@ce_*acnvLwru*(OF^qLQU%KX9* zP~1Gl{M~)$y-`Ott8brp-|pR}MVCbc|F&j+J#-(GOK)w-nc>Txbot11wetTNqK*#c gAzkMTUVYSeHT%5v$j7%X3=9kmp00i_>zopr0HA?e_5c6? literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/bronze_layer_2.png b/kubejs/assets/tfc/textures/models/armor/bronze_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fea30c22d2bedcafc0aa8ea420be7fc9264dafe3 GIT binary patch literal 563 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!Ja{zL3j1n z#25w!2F?PH$YKTtzQZ8Qcszea3IhWJdx@v7EBiAx2~J*<-uIa^7#J82c)B=-WZZju zeWSN@qQvo!>&+%@YdjpSqSBJRGl1!MqfA&qr}ygst1ahFCJ1oF{^q~Y@V}|6xsmPC zMaL5pUM*O9B8SOjEDCgIzMx}O(zR`66=>a4K>TU*8O5nVyfAD z=#5`x!MTQa^Zrj4ytd*>cKWdct!skT-~DNP=(_EPT~`{qmTEUVOPyrLoB}sG1`BI-hg(#g0a;#hG#8FuPj_Gfe{pVeC zy<9fN?PEyLo%{G|%#?%_A%@?l)fUchGB7$BWmUfLq}Q>t-mjleFE+oGZnNVZx19YK z{W&|7C649$-LYzPx9j7N(pknGAzc4s*T>0I{qI+<+Q#9=B(m>q_4zh8(X{(EySLPp z)_#Ay_CD*c#1_+%tNzL7Rp+l{3eYmM{8Q?Yy#8{uNnecD(PiQDduGR#SBCzr-^u;u z@Fme>%a8eOKcKcWY4TcmQ@cIYek*SrDT|p@IQfmAgTe~DWM4fhf(<| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/copper_layer_1.png b/kubejs/assets/tfc/textures/models/armor/copper_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..71dd22423c2a28f33e329d64b0ae966d1d604ec8 GIT binary patch literal 1564 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!Ja{zL3j1n z#25w!2F?PH$YKTtzJnmlxMO1WTLuOO_7YEDSN3OY5{wesmX4PXGBB{N^mK6y$+-76 z(lWh}HDC(_pXw-TZbc%IJmse=u`Z+tk9#UL& z#hKs3W9ihWt*`n;G^aHLi(dE0)$cIE>Sdi z=58RU-ge{6mbEhv9LTd~Xh>em;VRm}#J~Nz^SAAL7-jaFSX|?3GizAL>ygIA(ev}+ zi>1;3k|*ywo%P^P=GLd03p8h+5mC@iJ#xe(DQVYJwi)}(`d)8;w{;ua8{0yWqL?;~ z4;yA`p75Hv#KlZ7eHDKUH{HI%Aab3#>osF?xQLdkerB6aB|Uw&{Pyd4*SpWRFE_u!@N3GH+!H6Xx+6NbPx~{GTYiPu zvZB)-o0zzrohON=OmVN6;B)xucJ|jNug6MC1xeo8Fz5AEEqUR~GqgoEc4tLzyt~)P zWQp6U$|uiM-@Mp#V8aHEzO9o!Gf0(nt1T8RZcS2M`cLb+t4HpXB};U6=`JgM`g(qd z6vNNLNh*m8_ZGYAA3I`lWYxrHK}k<@{xFsW=DIAKar$tYnc~colg{s)b$f9nm&$Y1 zHR}Io#{c`}ZJQ;(mpM_jJw7e{Rm%Ok#~rs+wRtO}vn05*ceee$bVf$ykN@m>v)bOZ zZoe18=-|_tusgEm)8+HK(taFV-+yX{@a}MR^Am4_`O75=B6sXwRkE`pBj9O-_LfJx zZ+*87SJznP(lS*h&n?aDPV(LAst4by3O4+ASSlI)J}e@*PI2;o|CTp~=d-8Yej2yN z)U`nTYFq22U0H3J=lX*i!$dN;9-j2L zEVVG+`>DR1R0!jPH#>s`SmhWFSjD#dzj{@^;Nyh_zf#gIkCaU?p7p19;%Wv4?)2lo z-^;isoZ;`=x@h(?gPLa&GNA=6$!jJ4y-<0w!)FmQ!#&$#p82&ln}3N^2tGBvaOGKD z>drO}n@Ka7a?-fc&(C#AI1``FGWlZ1=I4Hm8;u42u(qr!xZPe`{orx)jr*x9jm4IV zC>&31S;VzzsnCvB|DM~&x#z_xy`TKp=w(K<7~`x@w|?kw**FEVZr$9rczPbk^300n z#nachIF{U;z1_)J<;m3Csx7S+J}%1?o_+QZJ=Ib3OLs|xOp;yy%~gh5!uBm?yRdt{%rf&J$jehjJdREbf`xc-BX8rX~Xuzq>xKJio_Ai$mPq8qYone4aYz z|KE2im34b|FlcUbxyE2%YPogWf*0LP)2sbuS|6-$vF&7NY`aP6g%>632z#S-hZo>$LU_4`UjMSA(+ztf~0K39Eu{W|5)8ejfn=Nv>{ zo&O=XtVBXKygingWug$PobuwwqW6k5zU7Okvt7_KKOQCMb0pD7>flDv3&FFWZnbyZ zvb#KC``jmmxvu=KqC57=u^juO^8RidKj+7n*^fC~r@C>yIKUptpkih6^m?t-lL+lQ zar`cg>Rvnd%2}|?OZcGuasSSr?3EXn-YzdWY`r^FUcTj-Z=~kr05R5tl#&|Pr%_7_ z4vSn^RcbVO?dp4xs_a`{PQSiXC?H1ZwR&~oBA2VPx60l1P@SLI(0M|n;qQzNA4RQm zlLOX8hg+|2&y>8`)D*Bq{NV4v6FWb7S?FVdQ&MBb@0A0-2G5`Po literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/copper_layer_2.png b/kubejs/assets/tfc/textures/models/armor/copper_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6fa419408b321c91ae9af87daa092ee0aed949 GIT binary patch literal 742 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!Ja{zL3j1n z#25w!2F?PH$YKTtzQZ8Qcszea3IhWJdx@v7EBiAx2~H6nySEi`3=B-go-U3d8TZ~! z_w@)#6lt5k`dNlma!=PR$L^eq7nb~R-qNu#R+?F{%k~OF0jiR05RNa<$b5)sJ zo(K0-*VOPFwRm50;dR#H=TZC&d)ICIo7@a?-(l&!9#=zEQurGkS`OT?S+#KCvYy)P z_DJypxy%$jF{T4$8-!fXGX#Xj1xDy?sQcY|XqoK;cNIsQ%mptbFS)T@y7IA+xKlJ_4C05}BFReB|Q}JZ>H*osD`S%g^Wt+;R&g&Gv z{^XjLwkJpZeqnmSckT_cOwHTRir$_TaO(ZN{9iMfyQMyEm|t-z;go!e)wBm6&%Vx? zYX5THv!%Dsc7>dIb?Dq~|Bw6SCiESBR~B+R!dJEObL6w^kfk>bA_ETna1K1SY`>w@ ztfd>*$dr1jiv?OHZr(7<%jnrRMfXLsKiU6it}!o(T4Q!aRW?3q_xJen0}j=zHQg6Q vYS(_q3_4XClpizuv+efnr|xG8{^316*J)#&gU3e(1_lOCS3j3^P6i( z0|NtRfk$L90|Vbd5N6ylG5ak80|R@Br>`sfGd3wM1@6snGG;I^uo-!}IEG~0I~#e> zTRKwWzpr{qfx-jjmYppV6kcrTYF%r~;cc_kWbcYr-5aOpX>o{hwSLpTar#h`>%tAT zPdBy3W}J0hI&V@p`|hTNQ(Y!>RY*EXC{8eHeE4?Z&wKl3`b-KGzR9n0^2f8Yzw6#t z?|=WjcCn7pvB?)Tj+yYDKYvc-N6uA)A2XIc{MRgB7`1A_GYgLlslM61b1e9->8^e} z&+*o(!~zD{^DoQ(ZYtCM|IqZBu6N?9TcsB|A3u0}jxno``F3gRXY)kMV+M;~A4)8; zJ1!CSEPcK0|F!w^_dm#}Y*aT{`+9+)@8KQmy6^jh8eU8Oqo6z2G;#O3^ySxey)E<1 z1n19__{VfDNHZ^Y&!e9{ZR?i?)m%0B5v6ssf0{UmYXAGEM(yzWPx~(jUdV6Q^SSPI zX%1WJ{+hq5VxHDBGdJig%vAc4f9PZ0MUCQv3U9(@7<+s>>0Z|<{fM!s?&Z@Uc11qf zh96&8UOm<7o9$b8wk&qeG%dM;yhA@HuJpXKw|qBqOO4v$?LL=3TkF`nUJKIn+pV>^ z)+(Fp`S)^u>pYu0v&JA+_tV^SzA!c_pD%x8kra1H;N_amerxu5g+8GZFPPY@37Mj> zPIBg~Biql%Z`fbWal5qeUKVT7!D*RAQKwfWevphkzC6u1!2Qe%D#wF@3dML-U)&rHj@`vDxQu{cv#G?nx?)LZ0cq3-&gvlzc1aFBEr> zao8JkbldsLU-L9V85ox5KF{2Kvhq>Ktj8U$*Kb*CxcjbeWjgSAvvKR+f8zBY9vN;Z zZrE_H)i70e>Z2{6x4o`9)OYA>ySPlyxCbJW)ccx0hjFW{{`=53`ANZg z%X3SEBJCzWbbMGN+btr^yKzI(;>HvcEt#2&6Q;4TFML-%Z&7pI>4&cv-I%OTZ1b7C zeDg93HOET(`6oZDW_Zciuas2%?MxazFn7jd&UYkR|GGv6&+ zvZLStze5B&TPXjJ`Su#mr*61-v77zRqNTG#w#AxncwQj6*(~m3)lMy=^QF(bTO>`y zyE*5*NI&wS=#`J#;uD5!JPX<#ZnbPVeqrf{7@fAl*yB6aaVzKr+ke^ht$xEkL5Ekm zI*(L}GM=CG^Pc*8v#ElJqHN>BVuu@Tt#5b9eO2Fn_K8rGn9D!q$;m!fI8~;;x0!wX z#FZrla=E2m3_Y)RxwoF$+OG3x-BHHBWpj2sygvWA3!|z#cW|gp#m5MpJvTBq)=o&~ zDW7+iS(^3Xn_7mG>irCR-1o+~Zi?l&dipBgOJCd53UdY3l9Zcm{6&6!e95UY-^S_J z`R_^MCx1pU2wpoKYN&RvY+l*#Eg_CIzxHnspSnWjfrjx(N$s4=W|w^1;#7}LsB+#t z!OO1lNo380ti_vdF(*iiXwAI*_V@PO=oa%-NlV@O4Y{ojCk(~9l$9JS=cvVdFRic_ zn6WBJPmDP@G$$^mMty%%ujolZu1G7b;*B$&pD_w`&HWzm;kdmtYoO!0=xI%daj`rf3)jjb00870nY$1mRb zB5MDw$G4m^CK~EZ7Mj>Ir|3x=XRqqIin_98KYp|R6QAyAyUX>M#ouKUzD|C!A$|{2 zLxzIT$CJH&_RW{q*_!ec<_1`+G)r7*kj!E^@m#!N!op96AB@dq+h<3;*zhJky<{8z VW0fzb7#J8BJYD@<);T3K0RY~^Eaw0K literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/red_steel_layer_2.png b/kubejs/assets/tfc/textures/models/armor/red_steel_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4740624d40a1c2fd9a1bd4397ccb90fcc8160054 GIT binary patch literal 742 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9;Xep2*t>i( z0|NtRfk$L90|Vb-5N14{zaoW!fq}im)7O>#8JiRrx32g^0UibhreaSQ$B>MBZ>Mea zmJXCTZZCCmF*~EY>K&mY0vj5q@l87FYHk?2MwaXP(tr%djAc&$8p~D&FKlL2-<_fp znYD7V9$#D2A_3NohjrUea5k!!7sRwz^)H!arqGymFWvIq-S7AAelNfOdoMd%^T7lI z2_6W=Hm@u9xajRZ_FW9kPs%GU2;1Ad(3FTg`}}cR(3GVqHM>sSZU1g@*S6tTSj;A! zKN^oTI5apG_8U!A(q>`kpLKSjbZo;KfdwJ$KcD^*tDoiXai-s2yncR$S$-LlUsJ=T zDLU7;N3i7DX|qHo9NHA|aZlfDFNWD?Z-3x?LEw!+EI%7n5Dpy@2gkm&S7c3Ei)d`se8P-?viQ(~Tq9u0UGkf0s+S|uCXBD$U?#g4`=igi0zrB20$m@y;!KD^=Z6EyJE^qsq@y+%3 zzh^ZFn)4JMp3uGGsOOn#+4`#AUi`Rm^^Ja88@n)>MH$B+MG8?M&ao!h3{{`j)% ww(I43lD^aY9P$_YH#y9Iz3hECV;$q2nUx|hrg5e*FfcH9y85}Sb4q9e0IT#>@c;k- literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/steel_layer_1.png b/kubejs/assets/tfc/textures/models/armor/steel_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7725b5f14be03aa46ca5c209e2861f42f662d276 GIT binary patch literal 1686 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9L7zc^L7soQ z$9@I|2F?PH$YKTtzJnmlxMO1WTLuOO_7YEDSN3OYlAKJIXR7l085r1uiqU^&DMNc5u?NpVA`34TFzrm-LyfDZ(WYQHq!*j?(|Liylb7g3744Z+K-kF*S{(; zyh`*?jr85NEptYNLEZh!1`Hf6LCXWR>`fS2j=4GP%>J-ZY2h=5fVs;rtGFKxF1NNn zf5}5Nn8SlHW`E&jvDK`NPN~6bq(1AMUG1K&(&XxUxHbQLZHU}MRpr%|cU^spEz+da zo<;8BkU4d0S)!5xE5m}6mqqXYYA~=oRd5lwdc?q}&b zVe;~?(nqF-d57D(lqSC^oNQ86zr{G}lG#L$i@Vw-rb(<@B)rJTGBMJUq2c`V=kkkf z-+jL@uR-L&`z5cL8Mu2szW-5Ex6kkQqPcwPl(W{%qK1ME z-&f>DT5i$g5|hy0UGKl=ii)}7n`uqCrkF9%^H%Q*zW?^})J6t=$Xu6@@_v^bDtm`W$JfF*TG1^)!LrP8J z@_~rdXWwn6ySgu7wg30diz5?g1=l1vSsn{BH^;Ua_ z&S?&9MfT|{s#!cHu^cu~@D#e_KYz{2-FNRdsTNC4_ba=3_N*^ML(MK3D@0V{`_j<;x87}v4?%VV$QMDz$E#Gp7t!;D|-?XX48@xh$r>eNUYs}S}`D=r= z1Fx6qTCIsn6Q{4v>ghk5_PB71o6?L~GoCDbd(Gaq;M&E4z!UzyK32CfzME>8swlR3 zec3Hk`Dxm!-z!tN_=PX4YHo<$wSBMSJ@z+uB0W65&l8Dya?PWq-N@3&$|!8f|If)` zWzT*X7@j?Rua@^z?@^acVZJNBbbN2~TkadUV3lD{Uyo?3Y-#eAeFr4i+Sh$3SoXg= zR!Mc`-&c(8-QKCWW^%`0oRGLb*=t$BpCg7ULdK>4A091!nKJ$FqpMs_2h)}qSL(da zc+R$6lgmus_UJa)8L7 zGhA4>)NSsOY-R9BPRR)iR{S&GLJstU`-%Fw{}PbtQ>XU@=3o8le@twfcWrHi(e&5+3>Qzb9_xBmnv|qs zTbRSj@K|-z$ImgddEcuYzcpu??rqL#m;5*JJiFm^H#*mU#b4v-Nh-&`xXDCblxo#~ z8T4aXw!8HdGwa>2LQbE0-F2?x*X~)fuiZ5Z*Z$A6xKCwg{$r?qSI-fnY0KfN z;<99-#xxhn!xNsoi<`(^{CpXyY?4Q59c;E9o%+K$9W@ce(bWjlB zfKV|eOCGW3-~O7jFE4M6_y1x>8FgDemqS763JS3;dQV*+p1n_YZ(pCj^ilC0NscK;em+_cJe8rFAkzXu*R$eEq#2-kqHjyC9~}oVR&hLV0Js-n}y+Yj#;L zuvoZ%``$J4{7-oqO1#`YdH%efi>oRn<)j@$L+|P9TzK?(;VLbL)7{-OSGMH zQ1Mx@etJNBe&_!$DQkXNKloF=B=6CO7v}%^%8X|6l-{(r|MYROg!v!y$iH7^F5jrW zBevJXbmxruv)!kq?&eq+z`xttdik&YvuY!+%09NpXYl>Ja0OTNuDtCPhYW7szMblQ z{q4n*v3$OtFN(g=yCM1X&+0n1^U??IKU^OAxoG$D<9=zCg`F=vrnDpq#rGNuaDIMt ov)JTp`fuhV;g8dQh0jhFz8+)TBY5;30|Nttr>mdKI;Vst0IY#f2><{9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/models/armor/wrought_iron_layer_1.png b/kubejs/assets/tfc/textures/models/armor/wrought_iron_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4171aacfadd61316e8cf5acca411be02b669f360 GIT binary patch literal 1280 zcmeAS@N?(olHy`uVBq!ia0y~yU~phyU{K&-V_;xdG`FsWfq{W7$=lt9!H~g`!Fp++ z$}9#32F?PH$YKTtzJnmlxMO1WTLuOO_7YEDSN3OYlB_1YxhFnpGcd69db&7#9pm zbWh*Uvh@}dLxPFap?5b|=wD@IC_C@A{PUicrX_dp@i9F4b+%}h)0K+*pA)|4FbFt^ zsD52)B@%kF^t{)srbLN_riKj-nn7tF&xSCR#J0cQrKpg#l~tmRG4}fY3V~CRQx>&N z`nc}3SXRxH-c|;I^d*liTBZH_BzoJ98Y^(NoLB7Gm{jZ#BvIohP{i8s%I2uJ%)CBUQqRQTF$4Hq*sCe28cD3D>duh}0KA-{3+Zt;To?Y}y>WQ|Vl zZcBXdw3~09UAFV}Qb)&kzYbl{a0t=kRAI2Nvgu&`ye(p24^-7wdFXt#eJ^CG!L&J&lv@-7uL_Mg9%`Lao2 zQB@FA!`d|M2`lC9w$ICyukt^$W35G>ajE1KS$2l0E6h_}7iI0{g^WLsf^UH-<7*@95zj>GY$=CDte zWlv7I6Fu5aKQ+%U0hUW}FFyJDVmzZYIA51#91HATj)T=cTZ#SERpn|AFCnOGF| zc)4#vWt-zX-3l#ckv&O zrd>+uu3yu+7;2B0_*(Q$mS789Z+z@PEuZh~?yK_s{}=zbUtcR!vfQSm?3>)3=O1kS zzo?gp-Tz!rQo-OFYV>q%jHH1SFDpaf`^g6*kM90rFw^J5v$N}0R=)cBZ}p#54!ift zYOGS?n|*DEz^N%6PpVlgZyq%~{@o^_P;gGMMwil~`@6pcObOXGYi&cD+#(U*yykzb zi}qhG5tr3_Gf(!{Wv6|ACpxR1Vp&ubqBhynkYUZb^^JyNTDnslzyDt@RvE76yhZMd zzLUd*!md>vwJ&8~p8O^M?~lNuy=KcfAFIpTpOa}YVz8#Ok4 z#1GfMzw3Oy+CSWweSr$UhNt1WEGd!DgA3{l-+sUTd;L1qlT(jtJ6@`g{l4#Gu5#G@ tUx#P?ToJqIbnottMXNV5)OdchqEicpppr|+vPJvz8~*KUY+HZ(TFxcAJ~{hk>*Q_ge*EX!FtMcix17)ABZV@j zo*KFLn}@Y{7<+vGGAF3z@ka}Wr$v!Z*Q{Op>D}4eZ5QDL;-^*)G*ZzEDnYP@sFm>xkxq{M?HCinW zUYrNk&NlzI%lF!~u&eK)rn%b49XH@%;5mF?lg_i}_K$YTG0a+LdY+|KK*pw`FTe0&VN2D+5Gd* za^2_$7azB0ad9Y`*?vD=TlA=L*L99ZSv-9F@oVPoH|R-}NZBkLvWLs@k^R?>fBP7% zzNvluoBH!~(A<-zlS*P)E7q;{+V?1wLyCQEOVp#YN_$r_G1y%H8#u|z@lpC_W5Fni zTy?*10^LV9WNY0QyY|JIoP+j;)sk$ozGx~EQEGU`lWkBxPoF>jWNv4x9{SaMkzn<9&`|GZ1p z?{rvK2TbQK_ Date: Sat, 27 Dec 2025 21:37:51 +0000 Subject: [PATCH 496/628] exposure mod overhaul --- CHANGELOG.md | 2 +- .../ftbquests/quests/chapters/queststfg.snbt | 8 + .../quests/chapters/tips__tools.snbt | 4 +- .../assets/emi/recipe/filters/categories.json | 3 + kubejs/assets/tfg/lang/en_us.json | 3 + kubejs/server_scripts/exposure/recipes.js | 167 +++++++++++------- kubejs/server_scripts/exposure/tags.js | 4 + kubejs/startup_scripts/tfg/fluids.js | 12 +- .../tfg/primitive/materials.primitive.js | 7 + 9 files changed, 138 insertions(+), 72 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b7423bf8..a68bab162 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,7 @@ - Added recipes for smoke bombs, pet treats, and disguise kits, and added swapper pearls to the loot tables of various endermen @Pyritie - Added a little saltpeter to cassiterite veins @Pyritie - Removed the cleanroom requirement for level emitters since they were also craftable in a crafting grid (#2529) @Jeuvke -- Added recipes for developing film in sealed barrels @Pyritie +- Overhauled photographic film development @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius diff --git a/config/ftbquests/quests/chapters/queststfg.snbt b/config/ftbquests/quests/chapters/queststfg.snbt index 2862604f9..7de9b687a 100644 --- a/config/ftbquests/quests/chapters/queststfg.snbt +++ b/config/ftbquests/quests/chapters/queststfg.snbt @@ -5,6 +5,14 @@ group: "19428C6E7A36D463" icon: "tfg:terra_firma_greg" id: "5DD2C08324B24805" + images: [{ + height: 2.0d + image: "tfg:textures/gui/tfg_logo_title_4181x688_with_shadow.png" + rotation: 0.0d + width: 12.15406976744186d + x: 0.0d + y: -3.0d + }] order_index: 0 quest_links: [ ] quests: [ diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index f23ab8152..61c9792cd 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -1882,12 +1882,12 @@ id: "15AD11C9C5249AAF" subtitle: "{quests.tfg_tips.camera_attachments.subtitle}" tasks: [{ - id: "79F9084E031CFAF3" + id: "4DD87BA6E5997784" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(minecraft:redstone_lamp)item(minecraft:spyglass))" + "ftbfiltersystem:filter": "or(item(minecraft:spyglass)item_tag(exposure:flashes))" } } title: "{quests.tfg_tips.camera_attachments.task}" diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 3efe1f4e2..8f4beb6a2 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -84,6 +84,9 @@ { "id": "toomanyrecipeviewers:/create/potions" }, + { + "id": "toomanyrecipeviewers:/exposure/sequenced_black_and_white_film_developing" + }, { "id": "toomanyrecipeviewers:/exposure/sequenced_color_film_developing" }, diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f69caba0a..ba39c38f2 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -711,6 +711,8 @@ "fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes", "fluid.tfg.geyser_slurry": "Super Heated Slurry", "fluid.tfg.cryogenized_fluix": "Cryogenized Fluix", + "fluid.tfg.bw_photographic_developer": "Black and White Photographic Developer", + "fluid.tfg.color_photographic_developer": "Color Photographic Developer", "item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.haste_pill": "Haste Pill", "item.tfg.night_vision_pill": "Night Vision Pill", @@ -1097,6 +1099,7 @@ "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", "material.tfg.conifer_pitch": "Conifer Pitch", + "material.tfg.pyrogallol": "Pyrogallol", "material.gtceu.lactose": "Lactose", "material.tfg.gabbro": "Gabbro", "material.tfg.shale": "Shale", diff --git a/kubejs/server_scripts/exposure/recipes.js b/kubejs/server_scripts/exposure/recipes.js index 5e326c624..3bb130821 100644 --- a/kubejs/server_scripts/exposure/recipes.js +++ b/kubejs/server_scripts/exposure/recipes.js @@ -3,8 +3,12 @@ const registerExposureRecipes = (event) => { + const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") + event.remove({ id: 'exposure:sequenced_color_film_developing' }) + event.replaceInput({ id: 'exposure:interplanar_projector' }, 'minecraft:ender_eye', '#forge:foils/silver') + // Lightroom event.shaped('exposure:lightroom', [ 'AB', @@ -23,11 +27,11 @@ const registerExposureRecipes = (event) => { 'FDF' ], { A: 'minecraft:lever', - B: 'gtceu:wrought_iron_gear', + B: '#forge:small_gears', C: '#minecraft:wooden_buttons', D: '#forge:plates/wrought_iron', E: 'tfc:lens', - F: '#forge:screws/wrought_iron' + F: '#forge:screws/any_bronze' }).id('exposure:camera') // Album @@ -35,11 +39,11 @@ const registerExposureRecipes = (event) => { 'minecraft:writable_book', 'minecraft:paper', 'minecraft:paper' ]).id('exposure:album') - // Black and White Film + // Film event.shaped('exposure:black_and_white_film', [ 'ABB', 'CDD', - 'CEE' + ' EE' ], { A: '#forge:rings/wrought_iron', B: '#forge:dyes/white', @@ -48,16 +52,10 @@ const registerExposureRecipes = (event) => { E: 'tfc:food/dried_kelp', }).id('exposure:black_and_white_film') - event.recipes.tfc.barrel_sealed(8000) - .inputs('exposure:black_and_white_film', Fluid.of('minecraft:water', 250)) - .outputItem(TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt')) - .id('tfg:develop_black_and_white_film') - - // Colored Film event.shaped('exposure:color_film', [ 'ABB', 'CDD', - 'CEE' + ' EE' ], { A: '#forge:rings/wrought_iron', B: '#forge:dyes/blue', @@ -66,64 +64,97 @@ const registerExposureRecipes = (event) => { E: 'tfc:food/dried_kelp', }).id('exposure:color_film') - event.recipes.tfc.barrel_sealed(8000) - .inputs('exposure:color_film', Fluid.of('tfc:spring_water', 250)) + // Creating the developer + + // Pyrogallol + event.recipes.tfc.pot(['tfc:powder/saltpeter'], Fluid.of('tfc:tannin', 500), 30 * 20, 750) + .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) + .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) + .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) + .outputItem('tfg:pyrogallol_dust') + .id('tfg:vat/tannin_to_soda_ash') + + event.recipes.gtceu.chemical_reactor('tfg:tannin_to_pyrogallol_saltpeter') + .itemInputs('tfc:powder/saltpeter') + .inputFluids(Fluid.of('tfc:tannin', 500)) + .itemOutputs('tfg:pyrogallol_dust') + .duration(200) + .EUt(7) + + event.recipes.gtceu.chemical_reactor('tfg:tannin_to_pyrogallol_soda_ash') + .itemInputs('tfc:powder/soda_ash') + .inputFluids(Fluid.of('tfc:tannin', 500)) + .itemOutputs('tfg:pyrogallol_dust') + .duration(200) + .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) + .fluidOutput(Fluid.of('tfg:bw_photographic_developer', 1000)) + .id('tfg:pot/bw_developer') + + event.recipes.gtceu.mixer('tfg:bw_developer') + .itemInputs('#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:black_printing_dyes') + .inputFluids(Fluid.of('tfc:lye', 1000)) + .outputFluids(Fluid.of('tfg:bw_photographic_developer', 1000)) + .duration(200) + .EUt(7) + + event.recipes.gtceu.mixer('tfg:color_developer') + .itemInputs('#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:cyan_printing_dyes', '#exposure:yellow_printing_dyes', '#exposure:magenta_printing_dyes') + .inputFluids(Fluid.of('tfc:lye', 1000)) + .outputFluids(Fluid.of('tfg:color_photographic_developer', 1000)) + .duration(200) + .EUt(7) + + // Developing film + event.recipes.tfc.barrel_sealed(4000) + .inputs('exposure:black_and_white_film', Fluid.of('tfg:bw_photographic_developer', 250)) + .outputItem(TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt').asCanonClass()) + .id('tfg:barrel/develop_black_and_white_film') + + event.recipes.gtceu.food_processor('black_and_white_film') + .itemInputs('exposure:black_and_white_film') + .inputFluids(Fluid.of('tfg:bw_photographic_developer', 250)) + .itemOutputs('exposure:developed_black_and_white_film') + .duration(60 * 20) + .EUt(2) + + $ISPRecipeLogic.RegisterRecipeData('food_processor/black_and_white_film', + [Ingredient.of('exposure:black_and_white_film')], + TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt').asCanonClass(), + []) + + // Developing color film + event.recipes.tfc.barrel_sealed(4000) + .inputs('exposure:color_film', Fluid.of('tfg:color_photographic_developer', 250)) .outputItem(TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt')) - .id('tfg:develop_color_film') + .id('tfg:barrel/develop_color_film') - // Developed Black and White Film - event.custom({ - type: "exposure:film_developing", - film: { - item: "exposure:black_and_white_film" - }, - ingredients: [ - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "minecraft:water", - amount: 1000 - } - }, - ], - result: { - item: "exposure:developed_black_and_white_film" - } - }).id('exposure:developing_black_and_white_film') + event.recipes.gtceu.food_processor('color_film') + .itemInputs('exposure:color_film') + .inputFluids(Fluid.of('tfg:color_photographic_developer', 250)) + .itemOutputs('exposure:developed_color_film') + .duration(60 * 20) + .EUt(2) - // Developed Color Film - event.custom({ - type: "exposure:film_developing", - film: { - item: "exposure:color_film" - }, - ingredients: [ - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "tfc:spring_water", - amount: 1000 - } - }, - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "tfc:spring_water", - amount: 1000 - } - }, - { - type: "tfc:fluid_item", - fluid_ingredient: { - ingredient: "tfc:spring_water", - amount: 1000 - } - }, - ], - result: { - item: "exposure:developed_color_film" - } - }).id('exposure:developing_color_film') - - event.replaceInput({ id: 'exposure:interplanar_projector' }, 'minecraft:ender_eye', '#forge:foils/silver') + $ISPRecipeLogic.RegisterRecipeData('food_processor/color_film', + [Ingredient.of('exposure:color_film')], + TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt').asCanonClass(), + []) } \ No newline at end of file diff --git a/kubejs/server_scripts/exposure/tags.js b/kubejs/server_scripts/exposure/tags.js index 80690c1fb..5e4b04c34 100644 --- a/kubejs/server_scripts/exposure/tags.js +++ b/kubejs/server_scripts/exposure/tags.js @@ -11,4 +11,8 @@ const registerExposureItemTags = (evt) => { evt.add('exposure:magenta_printing_dyes', '#forge:dyes/magenta') evt.add('exposure:photo_agers', '#forge:dyes/brown') + + evt.add('exposure:flashes', 'simplylight:illuminant_block') + evt.add('exposure:flashes', 'create:rose_quartz_lamp') + evt.add('exposure:flashes', 'gtceu:white_lamp') } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index ddf04bc53..3f9cadb31 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -3,12 +3,22 @@ const registerTFGFluids = (event) => { + event.create('tfg:bw_photographic_developer') + .thinTexture(0xa84d11) + .bucketColor(0xa84d11) + .noBlock() + + event.create('tfg:color_photographic_developer') + .thinTexture(0xba6900) + .bucketColor(0xba6900) + .noBlock() + // Moon event.create('tfg:cryogenized_fluix') .thickTexture(0xde8cfb) .bucketColor(0xde8cfb) - .luminosity(14) .temperature(10) + .noBlock() // Mars event.create('tfg:heavy_ammoniacal_water') diff --git a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js index c5230e941..9edbd241e 100644 --- a/kubejs/startup_scripts/tfg/primitive/materials.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/materials.primitive.js @@ -88,4 +88,11 @@ function registerTFGPrimitiveMaterials(event) { .color(0xEEB9AD) .secondaryColor(0xF6A797) .formula("Al2Si2O5(OH)4") + + // Film developing + event.create('tfg:pyrogallol') + .dust() + .color(0xf0ccb4) + .formula("C6H3(OH)3") + .iconSet('rough') } \ No newline at end of file From 493918d52ce1ed4a82f5aa74cea08f880eed437c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 21:57:16 +0000 Subject: [PATCH 497/628] rearrange planet quest chapters --- .../quests/chapters/ev__extreme_voltage.snbt | 2 +- .../quests/chapters/iv__insane_voltage.snbt | 2 +- .../chapters/luv__ludicrous_voltage.snbt | 2 +- config/ftbquests/quests/chapters/mars.snbt | 584 +++++++++++++++++ .../{space_survival.snbt => moon.snbt} | 609 +----------------- .../quests/chapters/progression.snbt | 2 +- kubejs/assets/tfg/lang/en_us.json | 10 +- kubejs/assets/tfg/lang/fr_fr.json | 6 +- 8 files changed, 611 insertions(+), 606 deletions(-) create mode 100644 config/ftbquests/quests/chapters/mars.snbt rename config/ftbquests/quests/chapters/{space_survival.snbt => moon.snbt} (53%) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 332cca8f7..9c2dda84d 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -14,7 +14,7 @@ x: 10.0d y: 7.0d }] - order_index: 0 + order_index: 1 quest_links: [ { id: "0D951ADFB3AF2E74" diff --git a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt index b8e0d0de8..b9f8a7c11 100644 --- a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt +++ b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt @@ -5,7 +5,7 @@ group: "21D975CEBDE06BA9" icon: "tfg:iv_universal_circuit" id: "32EF20533F323E02" - order_index: 1 + order_index: 3 quest_links: [{ id: "0D1F45B8DE565153" linked_quest: "6ECAD339C91EF194" diff --git a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt index ed1da9a5d..3e310246d 100644 --- a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt +++ b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt @@ -5,7 +5,7 @@ group: "21D975CEBDE06BA9" icon: "tfg:luv_universal_circuit" id: "262A03F6F4EC713C" - order_index: 2 + order_index: 4 quest_links: [ { id: "217218CFDDD8EAC4" diff --git a/config/ftbquests/quests/chapters/mars.snbt b/config/ftbquests/quests/chapters/mars.snbt new file mode 100644 index 000000000..04ed480cc --- /dev/null +++ b/config/ftbquests/quests/chapters/mars.snbt @@ -0,0 +1,584 @@ +{ + default_hide_dependency_lines: false + default_quest_shape: "" + filename: "mars" + group: "21D975CEBDE06BA9" + icon: "ad_astra:mars_globe" + id: "671B872DCEFCA5DD" + order_index: 2 + quest_links: [ ] + quests: [ + { + description: [ + "{quests.extreme_voltage.mars.desc.1}" + "{@pagebreak}" + "{quests.extreme_voltage.mars.desc.2}" + "{@pagebreak}" + "{quests.extreme_voltage.mars.desc.3}" + ] + id: "1777E6C81C8353D5" + shape: "octagon" + size: 3.0d + subtitle: "{quests.extreme_voltage.mars.subtitle}" + tasks: [{ + dimension: "ad_astra:mars" + icon: "ad_astra:mars_globe" + id: "4A794ADEE7A89594" + title: "{quests.extreme_voltage.mars.task}" + type: "dimension" + }] + title: "{quests.extreme_voltage.mars.title}" + x: 13.5d + y: -8.0d + } + { + dependencies: ["1777E6C81C8353D5"] + dependency_requirement: "one_completed" + description: ["{quests.space_survival.semiheavy_ammoniacal_water.desc}"] + icon: "tfg:semiheavy_ammoniacal_water_bucket" + id: "4259CD4F819806AB" + subtitle: "{quests.space_survival.semiheavy_ammoniacal_water.subtitle}" + tasks: [{ + id: "1221D18D1C6690BD" + item: "tfg:semiheavy_ammoniacal_water_bucket" + type: "item" + }] + title: "{quests.space_survival.semiheavy_ammoniacal_water.title}" + x: 15.0d + y: -6.5d + } + { + dependencies: ["1777E6C81C8353D5"] + description: ["{quests.space_survival.mars_islands.desc}"] + icon: "tfg:grass/rusticus_mycelium" + id: "5AC5AAB9B3758E30" + subtitle: "{quests.space_survival.mars_islands.subtitle}" + tasks: [{ + id: "019AC4216D25FA19" + type: "checkmark" + }] + title: "{quests.space_survival.mars_islands.title}" + x: 13.5d + y: -4.0d + } + { + dependencies: ["1777E6C81C8353D5"] + description: ["{quests.space_survival.mars_desert.desc}"] + id: "70F93982FC045A08" + subtitle: "{quests.space_survival.mars_desert.subtitle}" + tasks: [{ + biome: "tfg:mars/martian_deep_desert" + icon: "minecraft:red_sand" + id: "4935048F5603F79B" + title: "{quests.space_survival.mars_desert.task}" + type: "biome" + }] + title: "{quests.space_survival.mars_desert.title}" + x: 10.0d + y: -8.0d + } + { + dependencies: ["70F93982FC045A08"] + description: ["{quests.space_survival.sandworm.desc}"] + icon: "sandworm_mod:sandworm_tooth" + id: "62A5111836CB4D37" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.sandworm.subtitle}" + tasks: [ + { + id: "028ACAA581D97577" + item: "sandworm_mod:sandworm_tooth" + type: "item" + } + { + id: "5F74F03288BDE713" + item: "sandworm_mod:thumper" + optional_task: true + type: "item" + } + ] + title: "{quests.space_survival.sandworm.title}" + x: 9.0d + y: -8.0d + } + { + dependencies: [ + "70F93982FC045A08" + "2F711C064635EF2D" + ] + dependency_requirement: "one_completed" + description: ["{quests.space_survival.spice.desc}"] + icon: "tfg:spice" + id: "0CA5B715B76E4A5B" + shape: "hexagon" + size: 1.5d + subtitle: "{quests.space_survival.spice.subtitle}" + tasks: [{ + icon: "tfg:spice" + id: "00C333C49F5BBFC2" + observe_type: 0 + timer: 0L + title: "{quests.space_survival.spice.task}" + to_observe: "tfg:spice" + type: "observation" + }] + title: "{quests.space_survival.spice.title}" + x: 10.0d + y: -6.0d + } + { + dependencies: ["1777E6C81C8353D5"] + description: ["{quests.space_survival.mars_poles.desc}"] + icon: "tfg:mars_ice" + id: "3768570EC6535DBB" + subtitle: "{quests.space_survival.mars_poles.subtitle}" + tasks: [{ + id: "677DF79B4DE1D571" + type: "checkmark" + }] + title: "{quests.space_survival.mars_poles.title}" + x: 17.0d + y: -8.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.heavy_ammoniacal_water.desc}"] + icon: "tfg:heavy_ammoniacal_water_bucket" + id: "204DDAFEA40C0146" + subtitle: "{quests.space_survival.heavy_ammoniacal_water.subtitle}" + tasks: [{ + id: "33C86463603C272D" + item: "tfg:heavy_ammoniacal_water_bucket" + type: "item" + }] + title: "{quests.space_survival.heavy_ammoniacal_water.title}" + x: 15.0d + y: -4.0d + } + { + dependencies: ["00E2E32B33A65301"] + description: ["{quests.space_survival.glacian_wool.desc}"] + id: "0967CE7F5DFF5CF6" + subtitle: "{quests.space_survival.glacian_wool.subtitle}" + tasks: [{ + count: 7L + id: "2713B99184310ED3" + item: "tfg:glacian_wool" + type: "item" + }] + title: "{quests.space_survival.glacian_wool.title}" + x: 17.0d + y: -6.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.soarer.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 20" + icon: "wan_ancient_beasts:soarer_egg" + id: "2F711C064635EF2D" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.soarer.subtitle}" + tasks: [{ + icon: "wan_ancient_beasts:soarer_egg" + id: "30A4901728CBF789" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.soarer.task}" + to_observe: "wan_ancient_beasts:soarer" + type: "observation" + }] + title: "{quests.space_survival.soarer.title}" + x: 10.0d + y: -4.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.sniffer_or_wraptor.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 11" + id: "5F0D553D08A5985C" + subtitle: "{quests.space_survival.sniffer_or_wraptor.subtitle}" + tasks: [ + { + icon: "minecraft:sniffer_egg" + id: "6339BB0940C0BE77" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.sniffer_or_wraptor.task_1}" + to_observe: "tfg:sniffer" + type: "observation" + } + { + icon: "species:wraptor_egg" + id: "76B6F02F4DCFC4A0" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.sniffer_or_wraptor.task_2}" + to_observe: "tfg:wraptor" + type: "observation" + } + ] + title: "{quests.space_survival.sniffer_or_wraptor.title}" + x: 10.0d + y: -2.0d + } + { + dependencies: ["3768570EC6535DBB"] + description: ["{quests.space_survival.glacian_ram.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 15" + id: "00E2E32B33A65301" + subtitle: "{quests.space_survival.glacian_ram.subtitle}" + tasks: [{ + icon: "ad_astra:glacian_ram_spawn_egg" + id: "20B88332B3FED126" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.glacian_ram.task}" + to_observe: "tfg:glacian_ram" + type: "observation" + }] + title: "{quests.space_survival.glacian_ram.title}" + x: 17.0d + y: -7.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.mars_tapping.desc}"] + id: "155F421FC2F39C3C" + subtitle: "{quests.space_survival.mars_tapping.subtitle}" + tasks: [ + { + icon: "beneath:wood/log/crimson" + id: "5C76478F563CE947" + observe_type: 1 + timer: 0L + to_observe: "#tfc:crimson_logs" + type: "observation" + } + { + icon: "beneath:wood/log/warped" + id: "2D46DA77329E9F66" + observe_type: 1 + timer: 0L + to_observe: "#tfc:warped_logs" + type: "observation" + } + ] + title: "{quests.space_survival.mars_tapping.title}" + x: 15.5d + y: -2.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.mars_crops.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_crops" + id: "52E45601E8575846" + subtitle: "{quests.space_survival.mars_crops.subtitle}" + tasks: [{ + id: "72E35CA3CF29585B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(betterend:amber_root_seeds)item(betterend:blossom_berry_seeds)item(betterend:cave_pumpkin_plant_seeds)item(betterend:chorus_mushroom_seeds)item(betterend:shadow_berry_seeds)item(betterend:bolux_mushroom_seeds))" + } + } + title: "{quests.space_survival.mars_crops.task}" + type: "item" + }] + title: "{quests.space_survival.mars_crops.title}" + x: 13.5d + y: -1.5d + } + { + dependencies: ["0967CE7F5DFF5CF6"] + description: ["{quests.space_survival.t2_space_suit.desc}"] + id: "6D7ADBBCEF5770B6" + shape: "hexagon" + size: 1.5d + subtitle: "{quests.space_survival.t2_space_suit.subtitle}" + tasks: [ + { + id: "0D11FBA73B54918F" + item: { + Count: 1 + id: "ad_astra:netherite_space_helmet" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "04A7D0429E419846" + item: { + Count: 1 + id: "ad_astra:netherite_space_suit" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "608858DB0AEA4378" + item: { + Count: 1 + id: "ad_astra:netherite_space_pants" + tag: { + Damage: 0 + } + } + type: "item" + } + { + id: "5BC5195C7775137C" + item: { + Count: 1 + id: "ad_astra:netherite_space_boots" + tag: { + Damage: 0 + } + } + type: "item" + } + ] + title: "{quests.space_survival.t2_space_suit.title}" + x: 17.0d + y: 0.5d + } + { + dependencies: ["5F0D553D08A5985C"] + dependency_requirement: "one_completed" + description: ["{quests.space_survival.mineral_rich_wool.desc}"] + id: "75DE44FFAC51DD60" + subtitle: "{quests.space_survival.mineral_rich_wool.subtitle}" + tasks: [{ + id: "4295E3343126DFEF" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:mineral_rich_wool)" + } + } + title: "Any #tfg:mineral_rich_wool" + type: "item" + }] + title: "{quests.space_survival.mineral_rich_wool.title}" + x: 10.0d + y: -1.0d + } + { + dependencies: ["75DE44FFAC51DD60"] + description: ["{quests.space_survival.aes_insulation.desc}"] + id: "14710D52AE1732FD" + shape: "hexagon" + size: 1.5d + subtitle: "{quests.space_survival.aes_insulation.subtitle}" + tasks: [{ + id: "44970A2CAF24030A" + item: "tfg:mli_shielding" + type: "item" + }] + title: "{quests.space_survival.aes_insulation.title}" + x: 10.0d + y: 0.5d + } + { + dependencies: [ + "52E45601E8575846" + "5F0D553D08A5985C" + ] + description: ["{quests.space_survival.bulbkin_pie.desc}"] + icon: { + 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: "tfg:food/cooked_dino_nugget" + } + id: "1AC201876984D248" + optional: true + shape: "heart" + size: 1.5d + subtitle: "{quests.space_survival.bulbkin_pie.subtitle}" + tasks: [ + { + id: "5F863BCE6DAA30D6" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(betterend:cave_pumpkin_pie))" + } + } + type: "item" + } + { + id: "0B5E81AEEDFE0B7A" + 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: "tfg:food/cooked_dino_nugget" + } + type: "item" + } + ] + title: "{quests.space_survival.bulbkin_pie.title}" + x: 13.5d + y: 0.0d + } + { + dependencies: ["155F421FC2F39C3C"] + description: ["{quests.space_survival.iodine.desc}"] + id: "00202200344F3456" + subtitle: "{quests.space_survival.iodine.subtitle}" + tasks: [{ + id: "0F811696C5BB0AA5" + item: "gtceu:iodine_dust" + type: "item" + }] + title: "{quests.space_survival.iodine.title}" + x: 15.5d + y: -1.0d + } + { + dependencies: ["5AC5AAB9B3758E30"] + description: ["{quests.space_survival.surfer.desc}"] + guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 17" + id: "43EBECA48E341C47" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.surfer.subtitle}" + tasks: [{ + icon: "wan_ancient_beasts:surfer_egg" + id: "7D1D6851ABB1B5E7" + observe_type: 5 + timer: 0L + title: "{quests.space_survival.surfer.task}" + to_observe: "tfg:surfer" + type: "observation" + }] + title: "{quests.space_survival.surfer.title}" + x: 10.0d + y: -3.0d + } + { + dependencies: ["5F0D553D08A5985C"] + dependency_requirement: "one_completed" + description: ["{quests.space_survival.mars_nest.desc}"] + id: "63F1FC03DC3198AB" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.mars_nest.subtitle}" + tasks: [{ + id: "71BA5426AA25BED0" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:large_nest_box)item(tfg:large_nest_box_warped))" + } + } + title: "{quests.space_survival.mars_nest.task}" + type: "item" + }] + title: "{quests.space_survival.mars_nest.title}" + x: 9.0d + y: -2.0d + } + { + dependencies: ["6D7ADBBCEF5770B6"] + description: ["{quests.space_survival.venus.desc}"] + id: "5F3B9E4565922E77" + shape: "octagon" + size: 3.0d + subtitle: "{quests.space_survival.venus.subtitle}" + tasks: [{ + dimension: "ad_astra:venus" + icon: "ad_astra:venus_globe" + id: "40A3104927F366FF" + type: "dimension" + }] + title: "{quests.space_survival.venus.title}" + x: 10.5d + y: 4.5d + } + { + dependencies: ["6D7ADBBCEF5770B6"] + description: ["{quests.space_survival.mercury.desc}"] + id: "5F937028722EB4C6" + shape: "octagon" + size: 3.0d + subtitle: "{quests.space_survival.mercury.subtitle}" + tasks: [{ + dimension: "ad_astra:mercury" + icon: "ad_astra:mercury_globe" + id: "7B5C6F856AE2380E" + type: "dimension" + }] + title: "{quests.space_survival.mercury.title}" + x: 16.5d + y: 4.5d + } + { + dependencies: ["1777E6C81C8353D5"] + description: ["{quests.space_survival.mars_shields.desc}"] + id: "6E757133FA00C40D" + optional: true + shape: "heart" + subtitle: "{quests.space_survival.mars_shields.subtitle}" + tasks: [{ + id: "603BD6E2915EB75B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(species:ricoshield)item(wan_ancient_beasts:reinforced_shield)item(endermanoverhaul:corrupted_shield))" + } + } + title: "{quests.space_survival.mras_shields.task}" + type: "item" + }] + title: "{quests.space_survival.mars_shields.title}" + x: 12.0d + y: -6.5d + } + ] + subtitle: ["{quests.mars.subtitle}"] + title: "{quests.mars}" +} diff --git a/config/ftbquests/quests/chapters/space_survival.snbt b/config/ftbquests/quests/chapters/moon.snbt similarity index 53% rename from config/ftbquests/quests/chapters/space_survival.snbt rename to config/ftbquests/quests/chapters/moon.snbt index e5c942a16..5a95bb6e8 100644 --- a/config/ftbquests/quests/chapters/space_survival.snbt +++ b/config/ftbquests/quests/chapters/moon.snbt @@ -1,21 +1,10 @@ { default_hide_dependency_lines: false default_quest_shape: "" - filename: "space_survival" - group: "19428C6E7A36D463" - icon: { - Count: 1 - id: "ad_astra:tier_1_rocket" - tag: { - BotariumData: { - StoredFluids: [{ - Amount: 0L - Fluid: "minecraft:empty" - }] - } - } - } - id: "671B872DCEFCA5DD" + filename: "moon" + group: "21D975CEBDE06BA9" + icon: "ad_astra:moon_globe" + id: "5AB29618BD995CF0" images: [ { alpha: 150 @@ -115,10 +104,10 @@ y: -8.0d } ] - order_index: 4 + order_index: 0 quest_links: [ { - id: "62E455D8BAA50151" + id: "7372A22303CF751A" linked_quest: "00A2566109144D7F" shape: "octagon" size: 3.0d @@ -126,13 +115,13 @@ y: -3.0d } { - id: "168AECC70E7A9302" + id: "440BBB64384A9ECD" linked_quest: "038B204DAC9C863D" x: -4.0d y: -5.5d } { - id: "652DC031E6BEF58B" + id: "17C857D222995604" linked_quest: "3FBDC8552F7D8008" shape: "none" size: 2.0d @@ -140,25 +129,25 @@ y: -8.0d } { - id: "57EEF4CC674B1C3B" + id: "2A631E133FEB54A9" linked_quest: "6752CC523D38A214" x: -5.5d y: -5.5d } { - id: "52ABE7722ABB3281" + id: "25F53D39F1EEAC02" linked_quest: "0585527D1854628B" x: -1.0d y: 1.0d } { - id: "44E5362EDCDE6A5C" + id: "6032382FF4E3A440" linked_quest: "3AEAB1930F4CC034" x: -1.0d y: 2.0d } { - id: "1EABB6DEF6179357" + id: "1E65B1AC5F11948C" linked_quest: "7CA3A5EFE3D5B688" x: -1.0d y: 3.0d @@ -721,577 +710,7 @@ x: 3.0d y: -4.0d } - { - description: [ - "{quests.extreme_voltage.mars.desc.1}" - "{@pagebreak}" - "{quests.extreme_voltage.mars.desc.2}" - "{@pagebreak}" - "{quests.extreme_voltage.mars.desc.3}" - ] - id: "1777E6C81C8353D5" - shape: "octagon" - size: 3.0d - subtitle: "{quests.extreme_voltage.mars.subtitle}" - tasks: [{ - dimension: "ad_astra:mars" - icon: "ad_astra:mars_globe" - id: "4A794ADEE7A89594" - title: "{quests.extreme_voltage.mars.task}" - type: "dimension" - }] - title: "{quests.extreme_voltage.mars.title}" - x: 13.5d - y: -8.0d - } - { - dependencies: ["1777E6C81C8353D5"] - dependency_requirement: "one_completed" - description: ["{quests.space_survival.semiheavy_ammoniacal_water.desc}"] - icon: "tfg:semiheavy_ammoniacal_water_bucket" - id: "4259CD4F819806AB" - subtitle: "{quests.space_survival.semiheavy_ammoniacal_water.subtitle}" - tasks: [{ - id: "1221D18D1C6690BD" - item: "tfg:semiheavy_ammoniacal_water_bucket" - type: "item" - }] - title: "{quests.space_survival.semiheavy_ammoniacal_water.title}" - x: 15.0d - y: -6.5d - } - { - dependencies: ["1777E6C81C8353D5"] - description: ["{quests.space_survival.mars_islands.desc}"] - icon: "tfg:grass/rusticus_mycelium" - id: "5AC5AAB9B3758E30" - subtitle: "{quests.space_survival.mars_islands.subtitle}" - tasks: [{ - id: "019AC4216D25FA19" - type: "checkmark" - }] - title: "{quests.space_survival.mars_islands.title}" - x: 13.5d - y: -4.0d - } - { - dependencies: ["1777E6C81C8353D5"] - description: ["{quests.space_survival.mars_desert.desc}"] - id: "70F93982FC045A08" - subtitle: "{quests.space_survival.mars_desert.subtitle}" - tasks: [{ - biome: "tfg:mars/martian_deep_desert" - icon: "minecraft:red_sand" - id: "4935048F5603F79B" - title: "{quests.space_survival.mars_desert.task}" - type: "biome" - }] - title: "{quests.space_survival.mars_desert.title}" - x: 10.0d - y: -8.0d - } - { - dependencies: ["70F93982FC045A08"] - description: ["{quests.space_survival.sandworm.desc}"] - icon: "sandworm_mod:sandworm_tooth" - id: "62A5111836CB4D37" - optional: true - shape: "heart" - subtitle: "{quests.space_survival.sandworm.subtitle}" - tasks: [ - { - id: "028ACAA581D97577" - item: "sandworm_mod:sandworm_tooth" - type: "item" - } - { - id: "5F74F03288BDE713" - item: "sandworm_mod:thumper" - optional_task: true - type: "item" - } - ] - title: "{quests.space_survival.sandworm.title}" - x: 9.0d - y: -8.0d - } - { - dependencies: [ - "70F93982FC045A08" - "2F711C064635EF2D" - ] - dependency_requirement: "one_completed" - description: ["{quests.space_survival.spice.desc}"] - icon: "tfg:spice" - id: "0CA5B715B76E4A5B" - shape: "hexagon" - size: 1.5d - subtitle: "{quests.space_survival.spice.subtitle}" - tasks: [{ - icon: "tfg:spice" - id: "00C333C49F5BBFC2" - observe_type: 0 - timer: 0L - title: "{quests.space_survival.spice.task}" - to_observe: "tfg:spice" - type: "observation" - }] - title: "{quests.space_survival.spice.title}" - x: 10.0d - y: -6.0d - } - { - dependencies: ["1777E6C81C8353D5"] - description: ["{quests.space_survival.mars_poles.desc}"] - icon: "tfg:mars_ice" - id: "3768570EC6535DBB" - subtitle: "{quests.space_survival.mars_poles.subtitle}" - tasks: [{ - id: "677DF79B4DE1D571" - type: "checkmark" - }] - title: "{quests.space_survival.mars_poles.title}" - x: 17.0d - y: -8.0d - } - { - dependencies: ["5AC5AAB9B3758E30"] - description: ["{quests.space_survival.heavy_ammoniacal_water.desc}"] - icon: "tfg:heavy_ammoniacal_water_bucket" - id: "204DDAFEA40C0146" - subtitle: "{quests.space_survival.heavy_ammoniacal_water.subtitle}" - tasks: [{ - id: "33C86463603C272D" - item: "tfg:heavy_ammoniacal_water_bucket" - type: "item" - }] - title: "{quests.space_survival.heavy_ammoniacal_water.title}" - x: 15.0d - y: -4.0d - } - { - dependencies: ["00E2E32B33A65301"] - description: ["{quests.space_survival.glacian_wool.desc}"] - id: "0967CE7F5DFF5CF6" - subtitle: "{quests.space_survival.glacian_wool.subtitle}" - tasks: [{ - count: 7L - id: "2713B99184310ED3" - item: "tfg:glacian_wool" - type: "item" - }] - title: "{quests.space_survival.glacian_wool.title}" - x: 17.0d - y: -6.0d - } - { - dependencies: ["5AC5AAB9B3758E30"] - description: ["{quests.space_survival.soarer.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 20" - icon: "wan_ancient_beasts:soarer_egg" - id: "2F711C064635EF2D" - optional: true - shape: "heart" - subtitle: "{quests.space_survival.soarer.subtitle}" - tasks: [{ - icon: "wan_ancient_beasts:soarer_egg" - id: "30A4901728CBF789" - observe_type: 5 - timer: 0L - title: "{quests.space_survival.soarer.task}" - to_observe: "wan_ancient_beasts:soarer" - type: "observation" - }] - title: "{quests.space_survival.soarer.title}" - x: 10.0d - y: -4.0d - } - { - dependencies: ["5AC5AAB9B3758E30"] - description: ["{quests.space_survival.sniffer_or_wraptor.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 11" - id: "5F0D553D08A5985C" - subtitle: "{quests.space_survival.sniffer_or_wraptor.subtitle}" - tasks: [ - { - icon: "minecraft:sniffer_egg" - id: "6339BB0940C0BE77" - observe_type: 5 - timer: 0L - title: "{quests.space_survival.sniffer_or_wraptor.task_1}" - to_observe: "tfg:sniffer" - type: "observation" - } - { - icon: "species:wraptor_egg" - id: "76B6F02F4DCFC4A0" - observe_type: 5 - timer: 0L - title: "{quests.space_survival.sniffer_or_wraptor.task_2}" - to_observe: "tfg:wraptor" - type: "observation" - } - ] - title: "{quests.space_survival.sniffer_or_wraptor.title}" - x: 10.0d - y: -2.0d - } - { - dependencies: ["3768570EC6535DBB"] - description: ["{quests.space_survival.glacian_ram.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 15" - id: "00E2E32B33A65301" - subtitle: "{quests.space_survival.glacian_ram.subtitle}" - tasks: [{ - icon: "ad_astra:glacian_ram_spawn_egg" - id: "20B88332B3FED126" - observe_type: 5 - timer: 0L - title: "{quests.space_survival.glacian_ram.task}" - to_observe: "tfg:glacian_ram" - type: "observation" - }] - title: "{quests.space_survival.glacian_ram.title}" - x: 17.0d - y: -7.0d - } - { - dependencies: ["5AC5AAB9B3758E30"] - description: ["{quests.space_survival.mars_tapping.desc}"] - id: "155F421FC2F39C3C" - subtitle: "{quests.space_survival.mars_tapping.subtitle}" - tasks: [ - { - icon: "beneath:wood/log/crimson" - id: "5C76478F563CE947" - observe_type: 1 - timer: 0L - to_observe: "#tfc:crimson_logs" - type: "observation" - } - { - icon: "beneath:wood/log/warped" - id: "2D46DA77329E9F66" - observe_type: 1 - timer: 0L - to_observe: "#tfc:warped_logs" - type: "observation" - } - ] - title: "{quests.space_survival.mars_tapping.title}" - x: 15.5d - y: -2.0d - } - { - dependencies: ["5AC5AAB9B3758E30"] - description: ["{quests.space_survival.mars_crops.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_crops" - id: "52E45601E8575846" - subtitle: "{quests.space_survival.mars_crops.subtitle}" - tasks: [{ - id: "72E35CA3CF29585B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(betterend:amber_root_seeds)item(betterend:blossom_berry_seeds)item(betterend:cave_pumpkin_plant_seeds)item(betterend:chorus_mushroom_seeds)item(betterend:shadow_berry_seeds)item(betterend:bolux_mushroom_seeds))" - } - } - title: "{quests.space_survival.mars_crops.task}" - type: "item" - }] - title: "{quests.space_survival.mars_crops.title}" - x: 13.5d - y: -1.5d - } - { - dependencies: ["0967CE7F5DFF5CF6"] - description: ["{quests.space_survival.t2_space_suit.desc}"] - id: "6D7ADBBCEF5770B6" - shape: "hexagon" - size: 1.5d - subtitle: "{quests.space_survival.t2_space_suit.subtitle}" - tasks: [ - { - id: "0D11FBA73B54918F" - item: { - Count: 1 - id: "ad_astra:netherite_space_helmet" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "04A7D0429E419846" - item: { - Count: 1 - id: "ad_astra:netherite_space_suit" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "608858DB0AEA4378" - item: { - Count: 1 - id: "ad_astra:netherite_space_pants" - tag: { - Damage: 0 - } - } - type: "item" - } - { - id: "5BC5195C7775137C" - item: { - Count: 1 - id: "ad_astra:netherite_space_boots" - tag: { - Damage: 0 - } - } - type: "item" - } - ] - title: "{quests.space_survival.t2_space_suit.title}" - x: 17.0d - y: 0.5d - } - { - dependencies: ["5F0D553D08A5985C"] - dependency_requirement: "one_completed" - description: ["{quests.space_survival.mineral_rich_wool.desc}"] - id: "75DE44FFAC51DD60" - subtitle: "{quests.space_survival.mineral_rich_wool.subtitle}" - tasks: [{ - id: "4295E3343126DFEF" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfg:mineral_rich_wool)" - } - } - title: "Any #tfg:mineral_rich_wool" - type: "item" - }] - title: "{quests.space_survival.mineral_rich_wool.title}" - x: 10.0d - y: -1.0d - } - { - dependencies: ["75DE44FFAC51DD60"] - description: ["{quests.space_survival.aes_insulation.desc}"] - id: "14710D52AE1732FD" - shape: "hexagon" - size: 1.5d - subtitle: "{quests.space_survival.aes_insulation.subtitle}" - tasks: [{ - id: "44970A2CAF24030A" - item: "tfg:mli_shielding" - type: "item" - }] - title: "{quests.space_survival.aes_insulation.title}" - x: 10.0d - y: 0.5d - } - { - dependencies: [ - "52E45601E8575846" - "5F0D553D08A5985C" - ] - description: ["{quests.space_survival.bulbkin_pie.desc}"] - icon: { - 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: "tfg:food/cooked_dino_nugget" - } - id: "1AC201876984D248" - optional: true - shape: "heart" - size: 1.5d - subtitle: "{quests.space_survival.bulbkin_pie.subtitle}" - tasks: [ - { - id: "5F863BCE6DAA30D6" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(betterend:cave_pumpkin_pie))" - } - } - type: "item" - } - { - id: "0B5E81AEEDFE0B7A" - 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: "tfg:food/cooked_dino_nugget" - } - type: "item" - } - ] - title: "{quests.space_survival.bulbkin_pie.title}" - x: 13.5d - y: 0.0d - } - { - dependencies: ["155F421FC2F39C3C"] - description: ["{quests.space_survival.iodine.desc}"] - id: "00202200344F3456" - subtitle: "{quests.space_survival.iodine.subtitle}" - tasks: [{ - id: "0F811696C5BB0AA5" - item: "gtceu:iodine_dust" - type: "item" - }] - title: "{quests.space_survival.iodine.title}" - x: 15.5d - y: -1.0d - } - { - dependencies: ["5AC5AAB9B3758E30"] - description: ["{quests.space_survival.surfer.desc}"] - guide_page: "tfc:field_guide tfc:tfg_tips/space_fauna 17" - id: "43EBECA48E341C47" - optional: true - shape: "heart" - subtitle: "{quests.space_survival.surfer.subtitle}" - tasks: [{ - icon: "wan_ancient_beasts:surfer_egg" - id: "7D1D6851ABB1B5E7" - observe_type: 5 - timer: 0L - title: "{quests.space_survival.surfer.task}" - to_observe: "tfg:surfer" - type: "observation" - }] - title: "{quests.space_survival.surfer.title}" - x: 10.0d - y: -3.0d - } - { - dependencies: ["5F0D553D08A5985C"] - dependency_requirement: "one_completed" - description: ["{quests.space_survival.mars_nest.desc}"] - id: "63F1FC03DC3198AB" - optional: true - shape: "heart" - subtitle: "{quests.space_survival.mars_nest.subtitle}" - tasks: [{ - id: "71BA5426AA25BED0" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfg:large_nest_box)item(tfg:large_nest_box_warped))" - } - } - title: "{quests.space_survival.mars_nest.task}" - type: "item" - }] - title: "{quests.space_survival.mars_nest.title}" - x: 9.0d - y: -2.0d - } - { - dependencies: ["6D7ADBBCEF5770B6"] - description: ["{quests.space_survival.venus.desc}"] - id: "5F3B9E4565922E77" - shape: "octagon" - size: 3.0d - subtitle: "{quests.space_survival.venus.subtitle}" - tasks: [{ - dimension: "ad_astra:venus" - icon: "ad_astra:venus_globe" - id: "40A3104927F366FF" - type: "dimension" - }] - title: "{quests.space_survival.venus.title}" - x: 10.5d - y: 4.5d - } - { - dependencies: ["6D7ADBBCEF5770B6"] - description: ["{quests.space_survival.mercury.desc}"] - id: "5F937028722EB4C6" - shape: "octagon" - size: 3.0d - subtitle: "{quests.space_survival.mercury.subtitle}" - tasks: [{ - dimension: "ad_astra:mercury" - icon: "ad_astra:mercury_globe" - id: "7B5C6F856AE2380E" - type: "dimension" - }] - title: "{quests.space_survival.mercury.title}" - x: 18.0d - y: 4.5d - } - { - dependencies: ["1777E6C81C8353D5"] - description: ["{quests.space_survival.mars_shields.desc}"] - id: "6E757133FA00C40D" - optional: true - shape: "heart" - subtitle: "{quests.space_survival.mars_shields.subtitle}" - tasks: [{ - id: "603BD6E2915EB75B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(species:ricoshield)item(wan_ancient_beasts:reinforced_shield)item(endermanoverhaul:corrupted_shield))" - } - } - title: "{quests.space_survival.mras_shields.task}" - type: "item" - }] - title: "{quests.space_survival.mars_shields.title}" - x: 12.0d - y: -6.5d - } ] - subtitle: ["{quests.space_survival.subtitle}"] - title: "{quests.space_survival}" + subtitle: ["{quests.moon.subtitle}"] + title: "{quests.moon}" } diff --git a/config/ftbquests/quests/chapters/progression.snbt b/config/ftbquests/quests/chapters/progression.snbt index d9b96e2a6..f8f21e818 100644 --- a/config/ftbquests/quests/chapters/progression.snbt +++ b/config/ftbquests/quests/chapters/progression.snbt @@ -12,7 +12,7 @@ } } id: "28EBC0FF82EFD94B" - order_index: 5 + order_index: 4 quest_links: [ { id: "77A0335E38D755CA" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ba39c38f2..cf3bf1644 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3513,8 +3513,8 @@ "quests.ore_proc.gem_slurry.subtitle": "We... are the crystal—hblrlrlr", "quests.ore_proc.gem_slurry.desc": "&6Gem Slurries&r are optional but short processing lines for Ruby, Sapphire, and Green Sapphire to squeeze a bit more resources out of them. Compared to electrolysis:\n\n- &cRuby Slurry&r returns almost 3x as much Aluminium and Chromium\n\n- &9Sapphire Slurry&r returns 2x as much Aluminium\n\n- &aGreen Sapphire Slurry&r returns 2x as much Aluminium and a little extra Beryllium\n\nAnd on top of that, they all have a small chance to return some extra Titanium, Iron, and Vanadium too!", "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", - "quests.space_survival": "Tips - Space Survival", - "quests.space_survival.subtitle": "The one place that hasn't been corrupted by capitalism... Space!", + "quests.moon": "The Moon", + "quests.moon.subtitle": "The one place that hasn't been corrupted by capitalism... Space!", "quests.space_survival.preparations.title": "Pre-Launch Preparations", "quests.space_survival.preparations.subtitle": "Make sure you're ready!", "quests.space_survival.preparations.desc": "Eager to launch into the final frontier? We totally get the enthusiasm but you can't just hurl yourself into space and hope to survive! &9Preparation&r is key to survival, or you'll just end up back in the Stone Age banging rocks together for a few seconds before suffocating to death.\n\nMake sure you have at least the following:\n- A Space Suit and a full drum of breathable gas\n- A Rocket with another full drum of spare Fuel\n- A Launch Pad so you can return\n- Plenty of food and water\n- A weapon and shield in case the Moon's haunted...", @@ -3606,6 +3606,8 @@ "quests.space_survival.soulbound.subtitle": "You're a long way from spawn", "quests.space_survival.soulbound.desc.1": "In TerraFirmaGreg, you can set your spawn on any dimension (even The Beneath!), but unless you've got a bunch of extra space suits lying around, respawning on the Moon might complicate things.\n\nFirst of all, you'll definitely want your bed to be inside an oxygenated area, so you don't immediately die as soon as you respawn (though in case of a blackout, you should have enough time to break your bed and reset your spawn).", "quests.space_survival.soulbound.desc.2": "Secondly, you can upgrade each piece of your Space Suit with a &bSoul Pearl&r. This will make them stay equipped when you die!\n\nYou can get these from any of the tougher, hostile Endermen on the Moon.\n\nWe promise it's sci-fi and not magic.", + "quests.mars": "Surviving Mars", + "quests.mars.subtitle": "The shifting sands await", "quests.space_survival.mars_desert.title": "The Martian Desert", "quests.space_survival.mars_desert.subtitle": "Sand, sand everywhere", "quests.space_survival.mars_desert.desc": "The majority of Mars is covered in a vast desert. Not much lives here except the occasional Stackatick, and of course the giant &6Sandworms&r. If this is your first time here, you'll want to find somewhere more hospitable! Otherwise, you'll want to keep searching...", @@ -4467,7 +4469,7 @@ "quests.tfg_tips.selfie.desc": "With your &bCamera&r open, you can press F5 to enable &bSelfie Mode&r, which as the name suggests, allows you to take selfies.", "quests.tfg_tips.camera_attachments.title": "Camera Attachments", "quests.tfg_tips.camera_attachments.subtitle": "Improve your Camera", - "quests.tfg_tips.camera_attachments.desc": "By interacting with the &dCamera&r while sneaking, you'll open the camera GUI. This not only allows you to place your desired &aFilm Roll&r, it allows you to attach addons to your camera with new functionalities.\n\n&dRedstone Lamp&r: Works as a flashlight, illuminating dark environments.\n&dSpyglass&r: Enables zooming, letting you take pictures of objects far away.", + "quests.tfg_tips.camera_attachments.desc": "By interacting with the &dCamera&r while sneaking, you'll open the camera GUI. This not only allows you to place your desired &aFilm Roll&r, it allows you to attach addons to your camera with new functionalities.\n\n&dToggleable Light Source&r: Works as a flash bulb, illuminating dark environments.\n&dSpyglass&r: Enables zooming, letting you take pictures of objects far away.", "quests.tfg_tips.camera_attachments.task": "A Redstone Lamp or a Spyglass", "quests.tfg_tips.filters.title": "Color Filters", "quests.tfg_tips.filters.subtitle": "Changing the look of your photos.", @@ -4481,7 +4483,7 @@ "quests.tfg_tips.film_rolls.desc": "To begin taking pictures you'll need to craft one of two kinds of film roll: &0Black and White Film&r, and &dColored Film.&r", "quests.tfg_tips.developing_film.title": "Developing Films", "quests.tfg_tips.developing_film.subtitle": "Pretend you're a printer", - "quests.tfg_tips.developing_film.desc": "Once you've taken your pictures you can begin &adevelopment&r by soaking the films in &bWater.&r Afterwards, you'll need to craft a &dLightroom&r.\n\nThe lightroom is used to develop film, needing a strong light source above the block, and the following four dyes: &3Cyan&r, &5Magenta&r, &eYellow&r and &0Black&r, known as CMYK.\n&0Black and White Film&r will only need &0Black Dye&r while &dColored Film&r will need the entire &3C&5M&eY&0K&r set.\n\nIf you fancy more interesting processing, you can work with the &cChromatic Process...&r", + "quests.tfg_tips.developing_film.desc": "Once you've taken your pictures you can begin &adevelopment&r by soaking the films in the appropriate &bDeveloper&r. Afterwards, you'll need to craft a &dLightroom&r.\n\nThe lightroom is used to develop film, needing a strong light source above the block, and the following four dyes: &3Cyan&r, &5Magenta&r, &eYellow&r and &0Black&r, known as CMYK.\n&0Black and White Film&r will only need &0Black Dye&r while &dColored Film&r will need the entire &3C&5M&eY&0K&r set.\n\nIf you fancy more interesting processing, you can work with the &cChromatic Process...&r", "quests.tfg_tips.photo.title": "Your first Photo", "quests.tfg_tips.photo.subtitle": "Congratulations!", "quests.tfg_tips.photo.desc": "You can do multiple things with it with your &dPhotograph.&r\n\nYou can &bCopy&r it by utilizing a blank sheet of &aPaper&r and the required &aDyes&r used to develop the original.\n\nYou can also &bStack&r pictures to keep them neatly organized in your inventory, check EMI to know how to.\n\nYou can also artificially &cage&r a picture by applying &6Brown Dye&r to it, making it look like it has gone through the years.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 5921a7598..212834276 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -3599,8 +3599,8 @@ "quests.tfg_tips.selfie.desc": "With your &bCamera&r open, you can press F5 to enable &bSelfie Mode&r, which as the name suggests, allows you to take selfies.", "quests.tfg_tips.camera_attachments.title": "Camera Attachments", "quests.tfg_tips.camera_attachments.subtitle": "Improve your Camera", - "quests.tfg_tips.camera_attachments.desc": "By interacting with the &dCamera&r while sneaking, you'll open the camera GUI. This not only allows you to place your desired &aFilm Roll&r, it allows you to attach addons to your camera with new functionalities.\n\n&dRedstone Lamp&r: Works as a flashlight, illuminating dark environments.\n&dSpyglass&r: Enables zooming, letting you take pictures of objects far away.", - "quests.tfg_tips.camera_attachments.task": "A Redstone Lamp or a Spyglass", + "quests.tfg_tips.camera_attachments.desc": "By interacting with the &dCamera&r while sneaking, you'll open the camera GUI. This not only allows you to place your desired &aFilm Roll&r, it allows you to attach addons to your camera with new functionalities.\n\n&dToggleable Light Source&r: Works as a flash bulb, illuminating dark environments.\n&dSpyglass&r: Enables zooming, letting you take pictures of objects far away.", + "quests.tfg_tips.camera_attachments.task": "A Toggleable Light Source or a Spyglass", "quests.tfg_tips.filters.title": "Color Filters", "quests.tfg_tips.filters.subtitle": "Changing the look of your photos.", "quests.tfg_tips.filters.desc": "Using a &aGlass Pane&r, you can apply a &dFilter&r to a picture. Simply open your camera GUI and assign it to the camera filter slot. With &dFilters&r you can change the overall color composition of your pictures. For instance, you can make a picture look extra cold by applying a &3Cyan&r or &bLight Blue&r filter to it.", @@ -3613,7 +3613,7 @@ "quests.tfg_tips.film_rolls.desc": "To begin taking pictures you'll need to craft one of two kinds of film roll: &0Black and White Film&r, and &dColored Film.&r", "quests.tfg_tips.developing_film.title": "Developing Films", "quests.tfg_tips.developing_film.subtitle": "Pretend you're a printer", - "quests.tfg_tips.developing_film.desc": "Once you've taken your pictures you can begin &adevelopment&r by soaking the films in &bWater.&r Afterwards, you'll need to craft a &dLightroom&r.\n\nThe lightroom is used to develop film, needing a strong light source above the block, and the following four dyes: &3Cyan&r, &5Magenta&r, &eYellow&r and &0Black&r, known as CMYK.\n&0Black and White Film&r will only need &0Black Dye&r while &dColored Film&r will need the entire &3C&5M&eY&0K&r set.\n\nIf you fancy more interesting processing, you can work with the &cChromatic Process...&r", + "quests.tfg_tips.developing_film.desc": "Once you've taken your pictures you can begin &adevelopment&r by soaking the films in the appropriate &bDeveloper&r. Afterwards, you'll need to craft a &dLightroom&r.\n\nThe lightroom is used to develop film, needing a strong light source above the block, and the following four dyes: &3Cyan&r, &5Magenta&r, &eYellow&r and &0Black&r, known as CMYK.\n&0Black and White Film&r will only need &0Black Dye&r while &dColored Film&r will need the entire &3C&5M&eY&0K&r set.\n\nIf you fancy more interesting processing, you can work with the &cChromatic Process...&r", "quests.tfg_tips.photo.title": "Your first Photo", "quests.tfg_tips.photo.subtitle": "Congratulations!", "quests.tfg_tips.photo.desc": "You can do multiple things with it with your &dPhotograph.&r\n\nYou can &bCopy&r it by utilizing a blank sheet of &aPaper&r and the required &aDyes&r used to develop the original.\n\nYou can also &bStack&r pictures to keep them neatly organized in your inventory, check EMI to know how to.\n\nYou can also artificially &cage&r a picture by applying &6Brown Dye&r to it, making it look like it has gone through the years.", From 8fb4196d675364b07ea731ec20cf64dec9c2f29a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 27 Dec 2025 22:13:37 +0000 Subject: [PATCH 498/628] lang --- kubejs/assets/tfg/lang/en_us.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index cf3bf1644..beb0850a3 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -3513,7 +3513,7 @@ "quests.ore_proc.gem_slurry.subtitle": "We... are the crystal—hblrlrlr", "quests.ore_proc.gem_slurry.desc": "&6Gem Slurries&r are optional but short processing lines for Ruby, Sapphire, and Green Sapphire to squeeze a bit more resources out of them. Compared to electrolysis:\n\n- &cRuby Slurry&r returns almost 3x as much Aluminium and Chromium\n\n- &9Sapphire Slurry&r returns 2x as much Aluminium\n\n- &aGreen Sapphire Slurry&r returns 2x as much Aluminium and a little extra Beryllium\n\nAnd on top of that, they all have a small chance to return some extra Titanium, Iron, and Vanadium too!", "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", - "quests.moon": "The Moon", + "quests.moon": "The &dMoon&r", "quests.moon.subtitle": "The one place that hasn't been corrupted by capitalism... Space!", "quests.space_survival.preparations.title": "Pre-Launch Preparations", "quests.space_survival.preparations.subtitle": "Make sure you're ready!", @@ -3606,7 +3606,7 @@ "quests.space_survival.soulbound.subtitle": "You're a long way from spawn", "quests.space_survival.soulbound.desc.1": "In TerraFirmaGreg, you can set your spawn on any dimension (even The Beneath!), but unless you've got a bunch of extra space suits lying around, respawning on the Moon might complicate things.\n\nFirst of all, you'll definitely want your bed to be inside an oxygenated area, so you don't immediately die as soon as you respawn (though in case of a blackout, you should have enough time to break your bed and reset your spawn).", "quests.space_survival.soulbound.desc.2": "Secondly, you can upgrade each piece of your Space Suit with a &bSoul Pearl&r. This will make them stay equipped when you die!\n\nYou can get these from any of the tougher, hostile Endermen on the Moon.\n\nWe promise it's sci-fi and not magic.", - "quests.mars": "Surviving Mars", + "quests.mars": "Surviving &4Mars&r", "quests.mars.subtitle": "The shifting sands await", "quests.space_survival.mars_desert.title": "The Martian Desert", "quests.space_survival.mars_desert.subtitle": "Sand, sand everywhere", From 64322a817341013d02c47e643fa24087dc056c52 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 00:19:12 +0000 Subject: [PATCH 499/628] moved planets to their own category --- config/ftbquests/quests/chapter_groups.snbt | 1 + config/ftbquests/quests/chapters/ev__extreme_voltage.snbt | 2 +- config/ftbquests/quests/chapters/iv__insane_voltage.snbt | 2 +- config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt | 2 +- config/ftbquests/quests/chapters/mars.snbt | 4 ++-- config/ftbquests/quests/chapters/moon.snbt | 2 +- kubejs/assets/tfg/lang/en_us.json | 5 +++-- 7 files changed, 10 insertions(+), 8 deletions(-) diff --git a/config/ftbquests/quests/chapter_groups.snbt b/config/ftbquests/quests/chapter_groups.snbt index f58f45f15..f794c7967 100644 --- a/config/ftbquests/quests/chapter_groups.snbt +++ b/config/ftbquests/quests/chapter_groups.snbt @@ -2,6 +2,7 @@ chapter_groups: [ { id: "19428C6E7A36D463", title: "{quests.groups.tips}" } { id: "31B01EAD21CA863A", title: "{quests.groups.technological_help}" } + { id: "36FC51ACEF38D994", title: "{quests.groups.space_survival}" } { id: "3C4612A920658A7E", title: "{quests.groups.primitive}" } { id: "44D0F3E5067B5AB8", title: "{quests.groups.voltaic_age}" } { id: "21D975CEBDE06BA9", title: "{quests.groups.space_age}" } diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 9c2dda84d..332cca8f7 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -14,7 +14,7 @@ x: 10.0d y: 7.0d }] - order_index: 1 + order_index: 0 quest_links: [ { id: "0D951ADFB3AF2E74" diff --git a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt index b9f8a7c11..b8e0d0de8 100644 --- a/config/ftbquests/quests/chapters/iv__insane_voltage.snbt +++ b/config/ftbquests/quests/chapters/iv__insane_voltage.snbt @@ -5,7 +5,7 @@ group: "21D975CEBDE06BA9" icon: "tfg:iv_universal_circuit" id: "32EF20533F323E02" - order_index: 3 + order_index: 1 quest_links: [{ id: "0D1F45B8DE565153" linked_quest: "6ECAD339C91EF194" diff --git a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt index 3e310246d..ed1da9a5d 100644 --- a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt +++ b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt @@ -5,7 +5,7 @@ group: "21D975CEBDE06BA9" icon: "tfg:luv_universal_circuit" id: "262A03F6F4EC713C" - order_index: 4 + order_index: 2 quest_links: [ { id: "217218CFDDD8EAC4" diff --git a/config/ftbquests/quests/chapters/mars.snbt b/config/ftbquests/quests/chapters/mars.snbt index 04ed480cc..48f971db3 100644 --- a/config/ftbquests/quests/chapters/mars.snbt +++ b/config/ftbquests/quests/chapters/mars.snbt @@ -2,10 +2,10 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "mars" - group: "21D975CEBDE06BA9" + group: "36FC51ACEF38D994" icon: "ad_astra:mars_globe" id: "671B872DCEFCA5DD" - order_index: 2 + order_index: 1 quest_links: [ ] quests: [ { diff --git a/config/ftbquests/quests/chapters/moon.snbt b/config/ftbquests/quests/chapters/moon.snbt index 5a95bb6e8..521c0eb83 100644 --- a/config/ftbquests/quests/chapters/moon.snbt +++ b/config/ftbquests/quests/chapters/moon.snbt @@ -2,7 +2,7 @@ default_hide_dependency_lines: false default_quest_shape: "" filename: "moon" - group: "21D975CEBDE06BA9" + group: "36FC51ACEF38D994" icon: "ad_astra:moon_globe" id: "5AB29618BD995CF0" images: [ diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index beb0850a3..b400db645 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1958,6 +1958,7 @@ "quests.groups.interstellar": "Interstellar Age", "quests.groups.technological_help": "Technological Help", "quests.groups.tips": "Tips", + "quests.groups.space_survival": "Space Survival", "quests.computer": "ComputerCraft", "quests.computer.subtitle": "A very powerful Lua scripting mod", "quests.create_logistics": "Create Logistics", @@ -3513,7 +3514,7 @@ "quests.ore_proc.gem_slurry.subtitle": "We... are the crystal—hblrlrlr", "quests.ore_proc.gem_slurry.desc": "&6Gem Slurries&r are optional but short processing lines for Ruby, Sapphire, and Green Sapphire to squeeze a bit more resources out of them. Compared to electrolysis:\n\n- &cRuby Slurry&r returns almost 3x as much Aluminium and Chromium\n\n- &9Sapphire Slurry&r returns 2x as much Aluminium\n\n- &aGreen Sapphire Slurry&r returns 2x as much Aluminium and a little extra Beryllium\n\nAnd on top of that, they all have a small chance to return some extra Titanium, Iron, and Vanadium too!", "quests.ore_proc.gem_slurry.task": "Any Gem Slurry Ore", - "quests.moon": "The &dMoon&r", + "quests.moon": "The Moon", "quests.moon.subtitle": "The one place that hasn't been corrupted by capitalism... Space!", "quests.space_survival.preparations.title": "Pre-Launch Preparations", "quests.space_survival.preparations.subtitle": "Make sure you're ready!", @@ -3606,7 +3607,7 @@ "quests.space_survival.soulbound.subtitle": "You're a long way from spawn", "quests.space_survival.soulbound.desc.1": "In TerraFirmaGreg, you can set your spawn on any dimension (even The Beneath!), but unless you've got a bunch of extra space suits lying around, respawning on the Moon might complicate things.\n\nFirst of all, you'll definitely want your bed to be inside an oxygenated area, so you don't immediately die as soon as you respawn (though in case of a blackout, you should have enough time to break your bed and reset your spawn).", "quests.space_survival.soulbound.desc.2": "Secondly, you can upgrade each piece of your Space Suit with a &bSoul Pearl&r. This will make them stay equipped when you die!\n\nYou can get these from any of the tougher, hostile Endermen on the Moon.\n\nWe promise it's sci-fi and not magic.", - "quests.mars": "Surviving &4Mars&r", + "quests.mars": "Surviving Mars", "quests.mars.subtitle": "The shifting sands await", "quests.space_survival.mars_desert.title": "The Martian Desert", "quests.space_survival.mars_desert.subtitle": "Sand, sand everywhere", From 593e250e603a57a22a468f693aa28e4a57a3256c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 00:59:48 +0000 Subject: [PATCH 500/628] text for ev assembler quest --- .../quests/chapters/ev__extreme_voltage.snbt | 8 +++++++- kubejs/assets/tfg/lang/en_us.json | 14 +++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 332cca8f7..36e09f67a 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -191,15 +191,21 @@ { dependencies: ["4EA8888B12D75BF1"] dependency_requirement: "all_started" - description: [""] + description: [ + "{quests.extreme_voltage.assembler.desc.1}" + "{@pagebreak}" + "{quests.extreme_voltage.assembler.desc.2}" + ] id: "601088B7920140B2" shape: "octagon" size: 2.0d + subtitle: "{quests.extreme_voltage.assembler.subtitle}" tasks: [{ id: "2B895EE3AD917E30" item: "gtceu:ev_assembler" type: "item" }] + title: "{quests.extreme_voltage.assembler.title}" x: -0.75d y: 3.0d } diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index b400db645..f5fc84556 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2096,7 +2096,11 @@ "quests.extreme_voltage.cracker.desc": "The &3Cracker&r is a multiblock built with the sole purpose of cracking fluids. It comes with all the recipes of &3Chemical Reactor&r Cracking, but it is &6lossless&r.\n\nThis is a great way to save a lot of Fuel in the long term!\n\nHigher Coil tiers provide a small energy discount - up to 70%% with the best Coils available.", "quests.extreme_voltage.ev_components.title": "Extreme Voltage Components", "quests.extreme_voltage.ev_components.subtitle": "The \"Fun\" will never stop", - "quests.extreme_voltage.ev_components.desc": "&7By now, you should be getting used to the pattern with every new Energy Tier comes a fresh batch of components.&r\n\nThe &5EV&r tier comes with a few twists - first, &eNeodymium&r. You might already have some stored from your earlier mining trips, but you’ll also find it in large quantities when processing &eMonazite Ore&r.\n\nSecondly, Sensors and Emitters require &bCryogenized Fluix Pearls&r. Hopefully your &dMoon&r infrastructure is up and running to supply them efficiently.\n\nLastly, Motors require Kanthal wire. If you've been diligently upgrading your EBF, these should be significantly faster to craft than when you made them in MV (and you can recycle your old coils too!), but the Alloy Blast Smelter will be able to make this even faster.", + "quests.extreme_voltage.ev_components.desc": "&7By now, you should be getting used to the pattern: with every new Energy Tier comes a fresh batch of components.&r\n\nThe &5EV&r tier comes with a few twists - first, &eNeodymium&r. You might already have some stored from your earlier mining trips, but you’ll also find it in large quantities when processing &eMonazite Ore&r.\n\nSecondly, Sensors and Emitters require &bCryogenized Fluix Pearls&r. Hopefully your &dMoon&r infrastructure is up and running to supply them efficiently.\n\nLastly, Motors require Kanthal wire. If you've been diligently upgrading your EBF, these should be significantly faster to craft than when you made them in MV (and you can recycle your old coils too!), but the Alloy Blast Smelter will be able to make this even faster.", + "quests.extreme_voltage.assembler.title": "EV Assembler", + "quests.extreme_voltage.assembler.subtitle": "Last step before some Extreme power generation!", + "quests.extreme_voltage.assembler.desc.1": "You know what to do with this by now, but this is a good time to give you a heads up that now is the time to scale up your factory if you haven't already done so.\n\nTake your time to set up AE2 all over your base, making it print you dozens of new machines to keep your factory running at tip-top shape, because if you don't, the rest of EV is going to hit you like a brick wall.\n\nDon't wait to find out the hard way!", + "quests.extreme_voltage.assembler.desc.2": "At the very least, here's what we recommend before pushing further into EV:\n\n&9-&r Passive production of Rubber, Polyethylene, Oxygen, Hydrogen, Nitrogen, and Chlorine\n&9-&r At least two general-purpose EBFs, and a few LCRs\n&9-&r AE2 patterns for a circuit of every tier and most of the common crafting components like motors, pumps, plates, and wires\n&9-&r A dedicated ore processing setup\n&9-&r A couple EV amps worth of power generation (see the below quests)\n\nYou can do it, you've made it this far already!", "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.", @@ -2304,8 +2308,8 @@ "quests.extreme_voltage.wood_distillation.desc.2": "These three are the important products from &aWood Vinegar&r Distillation:\n\n&9-&r Acetic Acid: useful to make more Acetone\n\n&9-&r Methanol: a moderately important hydrocarbon\n\n&9-&r Acetone: useful for Epoxy and Gasoline", "quests.extreme_voltage.wood_distillation.desc.3": "It's also possible to use a \"full combo\" of 4 &3DTs&r - input &aCharcoal Byproducts&r into a first tower, splitting into &aWood Tar&r, &aWood Gas&r and &aWood Vinegar&r.\n\nThis isn't the most efficient cost-to-production ratio, but the option is there if you get bored.", "quests.extreme_voltage.wood_distillation.task": "Any of these", - "quests.extreme_voltage.new_qol.title": "New QoL?", - "quests.extreme_voltage.new_qol.desc": "Here's some useful tools that you've unlocked with the EV Assembler.", + "quests.extreme_voltage.new_qol.title": "New quality of life tools?", + "quests.extreme_voltage.new_qol.desc": "Here's some useful gadgets that you've unlocked with the EV Assembler.", "quests.extreme_voltage.building_gadgets.title": "Building Gadgets", "quests.extreme_voltage.building_gadgets.subtitle": "Paving over beautiful landscapes with just one press of a button!", "quests.extreme_voltage.building_gadgets.desc": "Looking to expand your factory building even further? Want to just paste down another multiblock? Or is that mountain blocking your view?\n\nLook no further than Building Gadgets, a collection of tools that can do all that and more. These are your perfect building tools going forward, and they come with a manual too!", @@ -2545,7 +2549,7 @@ "quests.high_voltage.hv_components.subtitle": "We call this \"fun\"", "quests.high_voltage.hv_components.desc.1": "Just like &bMV&r, you'll need to make higher-tier components.\n\nThe painful &dFlawless Gems&r have been replaced with slightly-more-painful &dVitrified Ender Pearls&r. Also notice that the &aMotors&r require &d2x Silver Cables&r.\n&aHulls&r and &aMachines&r use &dGold Cables&r.\n\nFinally, a use for that stockpile of Gold!", "quests.high_voltage.hv_components.desc.2": "&9&lTips to make life less painful:&r\n\n- Use &dElectrotine decomposition&r and &dOre Processing&r for &eElectrum&r.\n- Use the &3Chemical Bath&r with &dMercury&r for &eGold&r and &eSilver&r from a wide variety of ores.", - "quests.high_voltage.assembler.title": "HV Assembling Machine", + "quests.high_voltage.assembler.title": "HV Assembler", "quests.high_voltage.assembler.desc": "The &3HV Assembler&r is the next step in progression, but also unlocks a handful of useful utilities - check around this quest for more.\n\nYou will need this &6HV Assembler&r to make your &dRocket&r.", "quests.high_voltage.lenses.title": "I see the world in colour", "quests.high_voltage.lenses.desc": "The &aSimple System on Chip&r will be used for the best &dULV Circuit&r recipe.\n\nWe'd also recommend going out of your way to make all the other useful colored Lenses ahead of time. They are listed here in an &eoptional&r task.", @@ -2553,7 +2557,7 @@ "quests.high_voltage.ulv_circuits.desc": "&8ULV&r Circuits are used in some &9AE2&r recipes and &aCreate&r recipes.", "quests.high_voltage.hv_energy_hatch.title": "Upgrade your EBF II", "quests.high_voltage.hv_energy_hatch.subtitle": "Noticing a pattern here?", - "quests.high_voltage.hv_energy_hatch.desc": "The &aLow Power Integrated Circuit&r requires an &3HV Cutting Machine&r inside your &3Cleanroom&r.\n\n&3HV Energy Hatches&r will be nice additions so you can run your Multiblocks (mainly your Electric Blast Furnace and Large Chemical Reactor) directly off a &6HV&r line.", + "quests.high_voltage.hv_energy_hatch.desc": "The &aLow Power Integrated Circuit&r requires an &3HV Cutter&r inside your &3Cleanroom&r.\n\n&3HV Energy Hatches&r will be nice additions so you can run your Multiblocks (mainly your Electric Blast Furnace and Large Chemical Reactor) directly off a &6HV&r line.", "quests.high_voltage.chem_reactor.title": "High Voltage Chemistry", "quests.high_voltage.chem_reactor.desc": "The &3HV Chemical Reactor&r unlocks a ton of new recipes. Ah, who doesn't love the ever-growing demand on more advanced Chemistry?\n\n&9Note:&r We've actually unlocked a ton of new content by reaching &6HV&r. However, not every processing line or item is crucial right now. It'd make the &6HV&r chapter far too dense if we included everything!\n\nYou could still check out the &5EV&r Chapter if you want to push yourself.", "quests.high_voltage.rutile_loop.title": "Almost Titanium", From 65b9083aad85bd2a3ec881590043dfbf7493b1fc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 10:19:16 +0000 Subject: [PATCH 501/628] lower the temp of new gas fuels --- .../tfg/materials.power_rework.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/kubejs/startup_scripts/tfg/materials.power_rework.js b/kubejs/startup_scripts/tfg/materials.power_rework.js index 07ada788b..89b206f34 100644 --- a/kubejs/startup_scripts/tfg/materials.power_rework.js +++ b/kubejs/startup_scripts/tfg/materials.power_rework.js @@ -5,13 +5,13 @@ const registerTFGPowerReworkMaterials = (event) => { // Syngas event.create('tfg:syngas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(650)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(320)) .components('11x carbon', '20x hydrogen', '12x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) // Raw Aromatic Mix event.create('tfg:raw_aromatic_mix') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(420)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) .components('137x carbon', '154x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x8a4b3d) @@ -19,7 +19,7 @@ const registerTFGPowerReworkMaterials = (event) => { // Aromatic Feedstock event.create('tfg:aromatic_feedstock') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(450)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) .components('67x carbon', '74x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x915c2f) @@ -27,7 +27,7 @@ const registerTFGPowerReworkMaterials = (event) => { // Reformed Aromatic Feedstock event.create('tfg:reformed_aromatic_feedstock') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) .components('133x carbon', '146x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x4e6b83) @@ -35,13 +35,13 @@ const registerTFGPowerReworkMaterials = (event) => { // Reformate Gas event.create('tfg:reformate_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(320)) .components('13x carbon', '63x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) // Cracker Off-Gas event.create('tfg:cracker_off_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(480)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) .components('31x carbon', '128x hydrogen', '2x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xa36f2a) @@ -49,14 +49,14 @@ const registerTFGPowerReworkMaterials = (event) => { // Reformate Gas event.create('tfg:btx_fuel') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(320)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) //#region Materials for BTX // Crude Mixed Gas event.create('tfg:crude_mixed_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x9bb6c9) .secondaryColor(0xd7e7ef) @@ -88,7 +88,7 @@ const registerTFGPowerReworkMaterials = (event) => { // ZSM-5 Gel event.create('tfg:zsm5_gel') - .liquid(new GTFluidBuilder().temperature(323)) + .liquid(new GTFluidBuilder().temperature(320)) .components('24x carbon', '128x hydrogen', '12x nitrogen', '5x silicon', '1x aluminium', '34x oxygen', '31x sodium') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xf2e8d6) From ef786e55dd7580600055bfe8588bcf5881ed3e32 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 10:48:23 +0000 Subject: [PATCH 502/628] update pakku --- CHANGELOG.md | 1 + pakku-lock.json | 118 ++++++++++++++++++++++++------------------------ 2 files changed, 60 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a68bab162..d15ba8a8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - Added a little saltpeter to cassiterite veins @Pyritie - Removed the cleanroom requirement for level emitters since they were also craftable in a crafting grid (#2529) @Jeuvke - Overhauled photographic film development @Pyritie +- Lowered the temperature of gas fuels and their related gases/fluids @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius diff --git a/pakku-lock.json b/pakku-lock.json index 20ea737db..f3ed997ad 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -5416,7 +5416,7 @@ "files": [ { "type": "modrinth", - "file_name": "everycomp-1.20-2.9.12-forge.jar", + "file_name": "everycomp-1.20-2.9.13-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5424,22 +5424,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/Wa7DK8Yb/everycomp-1.20-2.9.12-forge.jar", - "id": "Wa7DK8Yb", + "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/QHk3kJYC/everycomp-1.20-2.9.13-forge.jar", + "id": "QHk3kJYC", "parent_id": "eiktJyw1", "hashes": { - "sha512": "db03a2c4724a347428ba15c7a8979838aea8e92d221db16baba0b2a05a59d774b9da24791063060000244de9a2eaa9b4ea3e208cbbea91a7eed044b3b3a763db", - "sha1": "1a9fab9e9273ab45f0a312b7a71aeade41716a4a" + "sha512": "aa306f92b4ef8eeec7eb99ef0c24de65c041888eb1432db98eeb630a827bdd895bb472bf2983fa31322090c05a13c28b6da88c5c5162c5d4044e6d9c2b58ddcf", + "sha1": "2c78942c7396b1fab9e53e4ee8172f7ce0ba4482" }, "required_dependencies": [ "twkfQtEc" ], - "size": 2807757, - "date_published": "2025-11-21T09:08:18.503085Z" + "size": 2828451, + "date_published": "2025-12-26T06:16:33.147989Z" }, { "type": "curseforge", - "file_name": "everycomp-1.20-2.9.12-forge.jar", + "file_name": "everycomp-1.20-2.9.13-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5447,18 +5447,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7245/151/everycomp-1.20-2.9.12-forge.jar", - "id": "7245151", + "url": "https://edge.forgecdn.net/files/7379/475/everycomp-1.20-2.9.13-forge.jar", + "id": "7379475", "parent_id": "628539", "hashes": { - "sha1": "1a9fab9e9273ab45f0a312b7a71aeade41716a4a", - "md5": "85cf20ae4cbe5ac2f13b489258cb15f8" + "sha1": "2c78942c7396b1fab9e53e4ee8172f7ce0ba4482", + "md5": "a3d97f3b2a8b828d6c6296487b231cbd" }, "required_dependencies": [ "499980" ], - "size": 2807757, - "date_published": "2025-11-21T09:08:07.257Z" + "size": 2828451, + "date_published": "2025-12-26T06:16:23.010Z" } ] }, @@ -6720,31 +6720,9 @@ "modrinth": "wbgfS34j" }, "files": [ - { - "type": "curseforge", - "file_name": "FramedBlocks-9.4.2.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6685/443/FramedBlocks-9.4.2.jar", - "id": "6685443", - "parent_id": "441647", - "hashes": { - "sha1": "68b8301c8124dd00ea70c216066b1fe207e25345", - "md5": "aaf372a3d903d167c138e2eb8110078b" - }, - "required_dependencies": [], - "size": 4251277, - "date_published": "2025-06-23T01:59:51.940Z" - }, { "type": "modrinth", - "file_name": "FramedBlocks-9.4.2.jar", + "file_name": "FramedBlocks-9.4.3.jar", "mc_versions": [ "1.20.1" ], @@ -6753,16 +6731,38 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/wbgfS34j/versions/7rttes4D/FramedBlocks-9.4.2.jar", - "id": "7rttes4D", + "url": "https://cdn.modrinth.com/data/wbgfS34j/versions/lSiHA1qU/FramedBlocks-9.4.3.jar", + "id": "lSiHA1qU", "parent_id": "wbgfS34j", "hashes": { - "sha512": "51229b5b63a2b631682a0702a8525bdf54e53a1ecb6410331086073aa058040cde9724304cf29bce08583bebdd0c2eb6f103cd192fc10b2f246d19af05701fc5", - "sha1": "68b8301c8124dd00ea70c216066b1fe207e25345" + "sha512": "19a098bbf9ee7ee39f6b785bbce5f87b9dca58a491fa16eba2f38cfa106f37ee90c1ce56686a50adef8f5d3086e3c22a6127ed02bdf3f80d57297c8f7c1b49fc", + "sha1": "740c0feaab75455f32df7e137389f77c83fb490c" }, "required_dependencies": [], - "size": 4251277, - "date_published": "2025-06-23T02:00:24.225175Z" + "size": 4251314, + "date_published": "2025-12-28T01:00:09.136616Z" + }, + { + "type": "curseforge", + "file_name": "FramedBlocks-9.4.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge", + "neoforge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7386/520/FramedBlocks-9.4.3.jar", + "id": "7386520", + "parent_id": "441647", + "hashes": { + "sha1": "740c0feaab75455f32df7e137389f77c83fb490c", + "md5": "9afefc077f00c192b0f953c2987c5a66" + }, + "required_dependencies": [], + "size": 4251314, + "date_published": "2025-12-28T00:58:18.240Z" } ] }, @@ -9515,7 +9515,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.16-forge.jar", + "file_name": "moonlight-1.20-2.16.18-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9524,38 +9524,38 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/DhH5mm9z/moonlight-1.20-2.16.16-forge.jar", - "id": "DhH5mm9z", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/lWv6Lb1p/moonlight-1.20-2.16.18-forge.jar", + "id": "lWv6Lb1p", "parent_id": "twkfQtEc", "hashes": { - "sha512": "1fd7d3aca0fa88bcc7c805b4afb0e2662756d5bac390234197896875334f136a52a46e1d26efd0da05c1da3a26f1c66ee8c070ec053895a15010047c8be5e344", - "sha1": "f1ad21bce5a4b96a1152d6cf83cfb27684fc4b6a" + "sha512": "4d28ee5fc7718557316f6140bdf4786dfb22231259bd1928aa52dfe37755643e784f9712b5780f7be58bb8825205e077de5309703f5d735f9a5559649406dfea", + "sha1": "48dc8e4c200c487df69195fe503dc67493050b6b" }, "required_dependencies": [], - "size": 1333455, - "date_published": "2025-11-06T12:29:54.395045Z" + "size": 1337852, + "date_published": "2025-12-27T17:10:55.594221Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.16-forge.jar", + "file_name": "moonlight-1.20-2.16.18-forge.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7191/950/moonlight-1.20-2.16.16-forge.jar", - "id": "7191950", + "url": "https://edge.forgecdn.net/files/7385/185/moonlight-1.20-2.16.18-forge.jar", + "id": "7385185", "parent_id": "499980", "hashes": { - "sha1": "f1ad21bce5a4b96a1152d6cf83cfb27684fc4b6a", - "md5": "cc2852f794f2a3bb835c6507d8276dc4" + "sha1": "48dc8e4c200c487df69195fe503dc67493050b6b", + "md5": "9007cb60750897152f0952d46d39de95" }, "required_dependencies": [], - "size": 1333455, - "date_published": "2025-11-06T12:29:47.037Z" + "size": 1337852, + "date_published": "2025-12-27T17:10:47.130Z" } ] }, From af012b44361196fe9b8b333fbac9ad4f372207b6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 10:49:46 +0000 Subject: [PATCH 503/628] langs --- kubejs/assets/species/lang/zh_cn.json | 16 +++++++------- kubejs/assets/tfg/lang/zh_cn.json | 31 +++++++++++++++++++-------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/kubejs/assets/species/lang/zh_cn.json b/kubejs/assets/species/lang/zh_cn.json index 63e3f8fc0..82565a6a5 100644 --- a/kubejs/assets/species/lang/zh_cn.json +++ b/kubejs/assets/species/lang/zh_cn.json @@ -120,8 +120,7 @@ "item.species.ancient_pinecone": "远古松果", "block.species.trooper": "果立怕", "block.species.potted_trooper": "果立怕盆栽", - "entity.species.trooper": "果立怕", - "item.species.trooper_spawn_egg": "果立怕刷怪蛋", + "item.species.trooper_spawn_egg": "硫力怕刷怪蛋", "subtitles.entity.species.treeper.death": "树立怕:死亡", "subtitles.entity.species.treeper.hurt": "树立怕:受伤", "subtitles.entity.species.treeper.idle": "树立怕:低语", @@ -131,11 +130,6 @@ "subtitles.entity.species.treeper.step": "树立怕:游荡", "subtitles.entity.species.treeper.shake_fail": "树立怕:晃动", "subtitles.entity.species.treeper.shake_success": "树立怕:掉落树苗", - "subtitles.entity.species.trooper.death": "果立怕:死亡", - "subtitles.entity.species.trooper.hurt": "果立怕:受伤", - "subtitles.entity.species.trooper.step": "果立怕:小步疾跑", - "subtitles.entity.species.trooper.uproot": "果立怕:拔根而起", - "subtitles.entity.species.trooper.plant": "果立怕:扎根", "advancements.species.burn_treeper_into_place.title": "神经损伤", "advancements.species.burn_treeper_into_place.description": "灼烧树立怕以防止它移动", "advancements.species.tame_trooper.title": "我为树立怕代言", @@ -513,5 +507,11 @@ "subtitles.item.species.wicked_swapper.throw": "换位珠:掷空", "subtitles.item.species.wicked_swapper.fail": "换位珠:落地", "subtitles.item.species.wicked_swapper.teleport": "换位珠:换位", - "advancements.species.wicked_mask_wither.description": "使用伪装工具包伪装成凋零" + "advancements.species.wicked_mask_wither.description": "使用伪装工具包伪装成凋零", + "entity.species.trooper": "硫力怕", + "subtitles.entity.species.trooper.death": "硫力怕:死亡", + "subtitles.entity.species.trooper.hurt": "硫力怕:受伤", + "subtitles.entity.species.trooper.step": "硫力怕:小步疾跑", + "subtitles.entity.species.trooper.uproot": "硫力怕:拔根而起", + "subtitles.entity.species.trooper.plant": "硫力怕:扎根" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 2a5d1be24..bcb3e6343 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -711,6 +711,8 @@ "fluid.tfg.sulfur_fumes": "浓硫酸烟雾", "fluid.tfg.geyser_slurry": "超高温浆液", "fluid.tfg.cryogenized_fluix": "低温福鲁伊克斯", + "fluid.tfg.bw_photographic_developer": "黑白摄影显影剂", + "fluid.tfg.color_photographic_developer": "彩色摄影显影剂", "quests.naming-1": "t - Title", "quests.naming-2": "st - Subtitle", "quests.naming-3": "d* - Description, where * description number, for example: d1, d2, d3, d4...", @@ -1180,7 +1182,7 @@ "item.tfg.progenitor_cells": "祖细胞", "item.tfg.catalyser_pt_re_zsm": "铂-铼/ZSM-5催化剂", "item.tfg.used_catalyser": "废铂-铼/ZSM-5催化剂", - "item.tfg.loaded_resin": "再负载树脂", + "item.tfg.loaded_resin": "铼负载树脂", "item.tfg.rod_mold": "耐火铸杆模具", "item.tfg.small_gear_mold": "耐火小型齿轮模具", "item.tfg.nugget_mold": "铸粒模具", @@ -1191,6 +1193,7 @@ "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", "material.tfg.conifer_pitch": "松脂", + "material.tfg.pyrogallol": "焦棓酚", "material.gtceu.lactose": "乳糖", "material.tfg.gabbro": "辉长岩", "material.tfg.shale": "页岩", @@ -1340,10 +1343,10 @@ "material.tfg.tin_chloride": "氯化亚锡", "material.tfg.cyclohexanone": "环己酮", "material.tfg.cyclohex_diperoxide": "1,1-环己烷二基二氢过氧化物", - "material.tfg.aciditic_waste": "酸性废料", + "material.tfg.aciditic_waste": "酸性环氧废料", "material.tfg.tpaoh": "四丙基氢氧化铵", "material.tfg.sodium_silicate": "硅酸钠", - "material.tfg.metal_rich_solution": "富金属溶液", + "material.tfg.metal_rich_solution": "浸出富金属溶液", "material.tfg.crude_mixed_gas": "粗混合气", "material.tfg.zsm5_gel": "ZSM-5凝胶", "material.tfg.leachate": "铼浸出液", @@ -1789,6 +1792,8 @@ "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": "染色", @@ -2038,6 +2043,7 @@ "quests.groups.interstellar": "星际时代", "quests.groups.technological_help": "技术帮助", "quests.groups.tips": "提示与技巧", + "quests.groups.space_survival": "太空生存", "quests.computer": "计算机工艺", "quests.computer.subtitle": "一款非常强大的Lua脚本模组", "quests.create_logistics": "机械动力物流", @@ -2176,6 +2182,10 @@ "quests.extreme_voltage.ev_components.title": "超高压组件", "quests.extreme_voltage.ev_components.subtitle": "“乐趣”永不停歇", "quests.extreme_voltage.ev_components.desc": "&7到现在,你应该已经习惯了每个新能量等级都伴随一批新组件的模式了。&r\n\n&5EV&r等级有一些变化——首先是&e钕&r。你可能在早期挖矿旅行中已经储存了一些,但在处理&e独居石矿石&r时也会发现大量钕。\n\n其次,传感器和发射器需要&b低温福鲁伊克斯珍珠&r。希望你的&d月球&r基础设施已经建成并能有效供应它们。\n\n最后,电机需要坎塔尔合金线缆。如果你一直在勤勉地升级你的电力高炉,制造它们应该比在MV时快得多(而且你还可以回收旧线圈!),但合金冶炼炉能使其更快。", + "quests.extreme_voltage.assembler.title": "EV组装机", + "quests.extreme_voltage.assembler.subtitle": "开启EV发电前的最后冲刺!", + "quests.extreme_voltage.assembler.desc.1": "至此,这台机器的用法你应该已经了然于胸。现在正是提醒你的最佳时机:如果还没行动,请立刻着手扩建你的工厂。\n\n是时候在你的基地全面部署AE2自动化了,让它为你源源不断地生产出数十台新机器,确保整条生产线以最高效率运转。否则,EV阶段接下来的挑战,会像一堵高墙般让你寸步难行。\n\n千万别等到撞了南墙才后悔!", + "quests.extreme_voltage.assembler.desc.2": "在我们深入探讨EV阶段之前,以下是我们推荐的最低准备清单:\n\n&9-&r建立橡胶、聚乙烯、氧气、氢气、氮气与氯气的自动化产线\n&9-&r至少备好两台电力高炉和多台大型化学反应釜\n&9-&r在AE2中为所有等级的电路,以及马达、泵、板材、线缆等常用部件制作好样板\n&9-&r搭建一套专用的矿物处理系统\n&9-&r准备好能满足数安EV级电力需求的发电阵列(详见后续任务)\n\n你绝对能做到,毕竟一路闯关至此,早已证明你的实力!", "quests.extreme_voltage.t2_rocket.title": "火箭2:钛合金狂欢", "quests.extreme_voltage.t2_rocket.subtitle": "这个是紫色的", "quests.extreme_voltage.t2_rocket.desc": "这款新型火箭应该不难组装,但你会注意到材料成本相比之前的型号有明显提升。\n\n升级后的&6火箭合金&r现在需要同时使用&b蒸馏水&r和&b低温福鲁伊克斯&r进行冷却处理。\n\n请确保已完善搭建&e钛&r生产线,后续阶段将需要大量钛材!建立连续生产线会为你免去不少麻烦。", @@ -2383,8 +2393,8 @@ "quests.extreme_voltage.wood_distillation.desc.2": "这三种是&a木醋酸&r蒸馏的重要产物:\n\n&9-&r 乙酸:用于制造更多丙酮\n\n&9-&r 甲醇:一种中等重要的碳氢化合物\n\n&9-&r 丙酮:用于环氧树脂和汽油", "quests.extreme_voltage.wood_distillation.desc.3": "也可以使用4个&3蒸馏塔&r的“完全组合”——将&a木炭副产品&r输入第一个塔,分离成&a木焦油&r、&a木煤气&r和&a木醋酸&r。\n\n虽然这不是最优的成本效益比,但如果你觉得无聊,这个选项也是存在的。", "quests.extreme_voltage.wood_distillation.task": "以下任何一个", - "quests.extreme_voltage.new_qol.title": "生活品质全新升级", - "quests.extreme_voltage.new_qol.desc": "这里是你通过EV组装机解锁的一些实用工具。", + "quests.extreme_voltage.new_qol.title": "提升生活品质的新工具?", + "quests.extreme_voltage.new_qol.desc": "这里是你通过EV组装机解锁的一些实用小工具。", "quests.extreme_voltage.building_gadgets.title": "建筑小帮手", "quests.extreme_voltage.building_gadgets.subtitle": "一键搞定美景铺路!", "quests.extreme_voltage.building_gadgets.desc": "想要进一步扩展你的工厂建设吗?想一键粘贴另一个多方块结构吗?还是觉得那座山遮挡了你的视线?\n\n建筑小帮手 (Building Gadgets) 套件非你莫属——这套工具不仅能实现上述所有需求,更能超越你的想象。它们将成为你未来建设的完美工具,还配备了详尽的手册!", @@ -3593,8 +3603,8 @@ "quests.ore_proc.gem_slurry.subtitle": "我们…是水晶——咕噜咕噜…", "quests.ore_proc.gem_slurry.desc": "&6宝石浆液&r是针对红宝石、蓝宝石和绿色蓝宝石的可选但快捷的处理路线,能从它们身上榨取更多资源。与直接电解相比:\n\n-&c红宝石浆液&r能产出近3倍的铝和铬\n\n-&9蓝宝石浆液&r能产出2倍的铝\n\n-&a绿色蓝宝石浆液&r能产出2倍的铝以及一些额外的铍\n\n除此之外,它们都有小概率额外产出一些钛、铁和钒", "quests.ore_proc.gem_slurry.task": "任意宝石矿浆液", - "quests.space_survival": "提示与技巧-太空生存篇", - "quests.space_survival.subtitle": "那个尚未被资本主义腐蚀的地方……太空!", + "quests.moon": "月球", + "quests.moon.subtitle": "那个尚未被资本主义腐蚀的地方……太空!", "quests.space_survival.preparations.title": "发射前准备", "quests.space_survival.preparations.subtitle": "确保你准备好了!", "quests.space_survival.preparations.desc": "渴望飞向最后的边疆?我们完全理解你的热情,但你不能就这么把自己扔进太空然后指望能活下来!&9准备&r是生存的关键,否则你只会回到石器时代,敲几下石头然后窒息而死。\n\n确保你至少拥有以下物品:\n-一套航天服和一满桶可呼吸气体\n-一枚火箭和另一满桶备用燃料\n-一个发射台,以便你能返回\n-充足的食物和水\n-一件武器和盾牌,以防月球闹鬼……", @@ -3686,6 +3696,8 @@ "quests.space_survival.soulbound.subtitle": "你离出生点很远了", "quests.space_survival.soulbound.desc.1": "在TerraFirmaGreg整合包中,你可以在任何维度(甚至包括&6幽冥之地&r!)设置重生点,但除非你备有大量多余的&9航天服&r,否则在月球重生可能会引发一系列连锁问题。\n\n首要,你的床必须放置在&a充氧区域&r内部,否则重生瞬间将立即因窒息死亡(不过若发生停电事故,你仍应有足够时间破坏床具并重新设置重生点)。", "quests.space_survival.soulbound.desc.2": "其次,你可以用一个“灵魂宝珠”升级你的每一件航天服。这样在你死亡时它们也会保持穿戴状态!\n\n你可以从月球上任何更强大且具有攻击性的末影人身上获取这些灵魂宝珠。\n\n我们保证这是科幻设定,而非魔法元素。", + "quests.mars": "火星求生", + "quests.mars.subtitle": "流沙静候,征程伊始", "quests.space_survival.mars_desert.title": "火星荒漠", "quests.space_survival.mars_desert.subtitle": "沙,到处都是沙", "quests.space_survival.mars_desert.desc": "火星的绝大部分地表都被广袤无垠的沙漠覆盖。除偶尔出没的叠爪兽与巨型&6沙虫&r外,这片土地几乎荒无人烟。若是初临此地,你应当寻找更适宜生存的区域!否则…唯有在这无垠沙海中继续探寻……", @@ -4316,6 +4328,7 @@ "quests.tfg_tips.terminal.desc": "&b终端&r有一个主要用途,并且&a我们强烈建议你制作一个&r。\n\n建造所有这些&e多方块结构&r可能有点&c令人望而生畏&r,对吧?好吧,这里有个技巧:在任意&6多方块结构控制器&r上使用&dShift + 右键点击&r,即可&a自动组装整个结构&r!\n\n你可能需要&e移动一些总线或舱口&r以适应你的布局,但总体来说,这个功能将为你节省&a大量时间&r。", "quests.tfg_tips.memory_card.subtitle": "复制和粘贴", "quests.tfg_tips.memory_card.desc": "当你尝试&a并行化你的生产线&r、铺设更多机器时,为每一台都设置所有的&e输入&r和&e输出&r可能会很麻烦。是的,我们说的就是你,&d超级箱&r和&d超级缸&r。\n\n如果你发现自己需要这个小工具,别犹豫,直接用吧。", + "quests.tfg_tips.portable_scanner.title": "三录仪", "quests.tfg_tips.portable_scanner.subtitle": "献给最好奇的格雷科技玩家", "quests.tfg_tips.portable_scanner.desc.1": "&a便携式扫描仪&r(或称 &a三录仪&r),是GTCEu的调试工具。\n\n使用它可以查看方块的详细信息、能量网络的细节、当前状态与内容物,以及它对性能的影响。\n\n它还会为&3流体钻机&r显示流体矿脉的剩余百分比。", "quests.tfg_tips.portable_scanner.desc.2": "&l&3背景知识:&r&o这个实用的小设备来自格雷科技5。在早期它极其有用,因为那时的GUI或WAILA提供的信息非常少(基本上什么都没有)。", @@ -4546,7 +4559,7 @@ "quests.tfg_tips.selfie.desc": "打开&b相机&r后按F5启用&b自拍模式&r,如名所示,可拍摄自拍照。", "quests.tfg_tips.camera_attachments.title": "相机配件", "quests.tfg_tips.camera_attachments.subtitle": "升级你的相机", - "quests.tfg_tips.camera_attachments.desc": "潜行时交互&d相机&r打开GUI界面。不仅可放入&a胶卷&r,还可附加功能附件。\n\n&d红石灯&r:作为手电筒,照亮黑暗环境。\n&d望远镜&r:启用缩放,拍摄远处物体。", + "quests.tfg_tips.camera_attachments.desc": "潜行时交互&d相机&r打开GUI界面。不仅可放入&a胶卷&r,还可附加功能附件。\n\n&d可开关光源&r:充当闪光灯,照亮黑暗环境。\n&d望远镜&r:启用缩放,拍摄远处物体。", "quests.tfg_tips.camera_attachments.task": "红石灯或望远镜", "quests.tfg_tips.filters.title": "色彩滤镜", "quests.tfg_tips.filters.subtitle": "改变照片风格", @@ -4560,7 +4573,7 @@ "quests.tfg_tips.film_rolls.desc": "要开始拍照,你需要先制作两种胶卷中的一种:&0黑白胶卷&r或&d彩色胶卷&r。", "quests.tfg_tips.developing_film.title": "冲洗胶卷", "quests.tfg_tips.developing_film.subtitle": "假装你是打印机", - "quests.tfg_tips.developing_film.desc": "拍摄完成后,你可以通过将胶片浸泡在&b水&r中来开始&a显影&r。之后,你需要合成一个&d暗室&r。\n\n暗室用于冲洗胶片,其上方需要一个强光源,并需要以下四种染料:&3青色&r、&5品红色&r、&e黄色&r和&0黑色&r,即&3C&5M&eY&0K&r色彩模式。\n&0黑白胶片&r仅需&0黑色染料&r,而&d彩色胶片&r则需要完整的&3青&5红&e黄&0黑&r套装。\n\n若想尝试更有趣的处理方式,你可以探索&c彩色冲印工艺&r……", + "quests.tfg_tips.developing_film.desc": "拍摄完成后,你可以通过将胶片浸泡在适当的&b显影剂&r中来开始&a显影&r。之后,你需要合成一个&d暗室&r。\n\n暗室用于冲洗胶片,其上方需要一个强光源,并需要以下四种染料:&3青色&r、&5品红色&r、&e黄色&r和&0黑色&r,即&3C&5M&eY&0K&r色彩模式。\n&0黑白胶片&r仅需&0黑色染料&r,而&d彩色胶片&r则需要完整的&3青&5红&e黄&0黑&r套装。\n\n若想尝试更有趣的处理方式,你可以探索&c彩色冲印工艺&r……", "quests.tfg_tips.photo.title": "你的首张照片", "quests.tfg_tips.photo.subtitle": "恭喜!", "quests.tfg_tips.photo.desc": "你可以对&d照片&r进行多种处理:\n\n•使用空白&a纸张&r和冲洗原图所需的&a染料&r即可&b复制&r照片\n\n•通过&b堆叠&r功能整理背包中的照片(具体操作方式可查询EMI)\n\n•添加&6棕色染料&r进行人工&c做旧&r,使照片呈现岁月斑驳的质感", From a69b5827cb83c6c65a51a2800d9463d87a030d23 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 11:08:46 +0000 Subject: [PATCH 504/628] tweak gas fuel temps more --- .../tfg/materials.power_rework.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/kubejs/startup_scripts/tfg/materials.power_rework.js b/kubejs/startup_scripts/tfg/materials.power_rework.js index 89b206f34..30350bc6b 100644 --- a/kubejs/startup_scripts/tfg/materials.power_rework.js +++ b/kubejs/startup_scripts/tfg/materials.power_rework.js @@ -5,13 +5,13 @@ const registerTFGPowerReworkMaterials = (event) => { // Syngas event.create('tfg:syngas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill()) .components('11x carbon', '20x hydrogen', '12x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) // Raw Aromatic Mix event.create('tfg:raw_aromatic_mix') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(420)) .components('137x carbon', '154x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x8a4b3d) @@ -19,7 +19,7 @@ const registerTFGPowerReworkMaterials = (event) => { // Aromatic Feedstock event.create('tfg:aromatic_feedstock') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(450)) .components('67x carbon', '74x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x915c2f) @@ -27,7 +27,7 @@ const registerTFGPowerReworkMaterials = (event) => { // Reformed Aromatic Feedstock event.create('tfg:reformed_aromatic_feedstock') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) .components('133x carbon', '146x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x4e6b83) @@ -35,13 +35,13 @@ const registerTFGPowerReworkMaterials = (event) => { // Reformate Gas event.create('tfg:reformate_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill()) .components('13x carbon', '63x hydrogen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) // Cracker Off-Gas event.create('tfg:cracker_off_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(480)) .components('31x carbon', '128x hydrogen', '2x oxygen') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xa36f2a) @@ -49,14 +49,14 @@ const registerTFGPowerReworkMaterials = (event) => { // Reformate Gas event.create('tfg:btx_fuel') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill()) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) //#region Materials for BTX // Crude Mixed Gas event.create('tfg:crude_mixed_gas') - .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0x9bb6c9) .secondaryColor(0xd7e7ef) @@ -88,7 +88,7 @@ const registerTFGPowerReworkMaterials = (event) => { // ZSM-5 Gel event.create('tfg:zsm5_gel') - .liquid(new GTFluidBuilder().temperature(320)) + .liquid(new GTFluidBuilder().temperature(323)) .components('24x carbon', '128x hydrogen', '12x nitrogen', '5x silicon', '1x aluminium', '34x oxygen', '31x sodium') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xf2e8d6) From 63aae3191bae59a7a9b4ae80932aad2b3dd8260a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 11:39:30 +0000 Subject: [PATCH 505/628] fix some powder recipes --- kubejs/server_scripts/tfc/recipes.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index f28655422..bae982345 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -30,7 +30,6 @@ const registerTFCRecipes = (event) => { { input: "#forge:dusts/cassiterite", output: "4x tfc:powder/cassiterite", name: "cassiterite_powder" }, { input: "#forge:dusts/bismuth", output: "4x tfc:powder/bismuthinite", name: "bismuth_powder" }, { input: "#forge:dusts/garnierite", output: "4x tfc:powder/garnierite", name: "garnierite_powder" }, - { input: "#forge:dusts/nickel", output: "4x tfc:powder/garnierite", name: "nickel_powder" }, { input: "#forge:dusts/sphalerite", output: "4x tfc:powder/sphalerite", name: "sphalerite_powder" }, { input: "#forge:dusts/magnetite", output: "4x tfc:powder/magnetite", name: "magnetite_powder" }, { input: "#forge:dusts/tetrahedrite", output: "4x tfc:powder/tetrahedrite", name: "tetrahedrite_powder" }, @@ -43,7 +42,7 @@ const registerTFCRecipes = (event) => { { input: "#forge:dusts/graphite", output: "4x tfc:powder/graphite", name: "graphite_powder" }, { input: "#forge:dusts/borax", output: "4x tfc:powder/flux", name: "flux_powder" }, { input: "#forge:dusts/soda_ash", output: "4x tfc:powder/soda_ash", name: "soda_ash" }, - { input: "gtceu:charcoal_dust", output: "2x tfc:powder/charcoal", name: "charcoal" }, + { input: "gtceu:charcoal_dust", output: "4x tfc:powder/charcoal", name: "charcoal" }, { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" } ]); From 7a2ed6251eb60b41f2babaf7825419d92de22b5e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 16:26:42 +0000 Subject: [PATCH 506/628] added buffs to wine --- CHANGELOG.md | 1 + kubejs/client_scripts/tooltips.js | 15 +++++++++++++++ .../firmalife/tfc/drinkables/dessert_wine.json | 11 +++++++++++ .../data/firmalife/tfc/drinkables/red_wine.json | 11 +++++++++++ .../data/firmalife/tfc/drinkables/rose_wine.json | 11 +++++++++++ .../firmalife/tfc/drinkables/sparkling_wine.json | 11 +++++++++++ .../data/firmalife/tfc/drinkables/white_wine.json | 11 +++++++++++ 7 files changed, 71 insertions(+) create mode 100644 kubejs/data/firmalife/tfc/drinkables/dessert_wine.json create mode 100644 kubejs/data/firmalife/tfc/drinkables/red_wine.json create mode 100644 kubejs/data/firmalife/tfc/drinkables/rose_wine.json create mode 100644 kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json create mode 100644 kubejs/data/firmalife/tfc/drinkables/white_wine.json diff --git a/CHANGELOG.md b/CHANGELOG.md index d15ba8a8e..0634d4714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ - Removed the cleanroom requirement for level emitters since they were also craftable in a crafting grid (#2529) @Jeuvke - Overhauled photographic film development @Pyritie - Lowered the temperature of gas fuels and their related gases/fluids @Pyritie +- Added buff effects to wine @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index c722b13df..929ff81e7 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -398,4 +398,19 @@ const registerTooltips = (event) => { event.addAdvanced(['tfc:bucket/spring_water'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.warming_foods')); }) + event.addAdvanced(['firmalife:bucket/red_wine'], (item, advanced, text) => { + text.add(1, Text.of("Strength (05:20)").blue()); + }) + event.addAdvanced(['firmalife:bucket/rose_wine'], (item, advanced, text) => { + text.add(1, Text.of("Dolphin's Grace (05:20)").blue()); + }) + event.addAdvanced(['firmalife:bucket/white_wine'], (item, advanced, text) => { + text.add(1, Text.of("Wither Resistance (05:20)").blue()); + }) + event.addAdvanced(['firmalife:bucket/dessert_wine'], (item, advanced, text) => { + text.add(1, Text.of("Knockback Resistance (05:20)").blue()); + }) + event.addAdvanced(['firmalife:bucket/sparkling_wine'], (item, advanced, text) => { + text.add(1, Text.of("Jump Boost II (05:20)").blue()); + }) } diff --git a/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json b/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json new file mode 100644 index 000000000..686a1157f --- /dev/null +++ b/kubejs/data/firmalife/tfc/drinkables/dessert_wine.json @@ -0,0 +1,11 @@ +{ + "ingredient": "firmalife:dessert_wine", + "thirst": 15, + "effects": [ + { + "type": "species:iron_will", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/firmalife/tfc/drinkables/red_wine.json b/kubejs/data/firmalife/tfc/drinkables/red_wine.json new file mode 100644 index 000000000..12c0c6a23 --- /dev/null +++ b/kubejs/data/firmalife/tfc/drinkables/red_wine.json @@ -0,0 +1,11 @@ +{ + "ingredient": "firmalife:red_wine", + "thirst": 15, + "effects": [ + { + "type": "minecraft:strength", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/firmalife/tfc/drinkables/rose_wine.json b/kubejs/data/firmalife/tfc/drinkables/rose_wine.json new file mode 100644 index 000000000..3c0747575 --- /dev/null +++ b/kubejs/data/firmalife/tfc/drinkables/rose_wine.json @@ -0,0 +1,11 @@ +{ + "ingredient": "firmalife:rose_wine", + "thirst": 15, + "effects": [ + { + "type": "minecraft:dolphins_grace", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json b/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json new file mode 100644 index 000000000..e0004b982 --- /dev/null +++ b/kubejs/data/firmalife/tfc/drinkables/sparkling_wine.json @@ -0,0 +1,11 @@ +{ + "ingredient": "firmalife:dessert_wine", + "thirst": 15, + "effects": [ + { + "type": "minecraft:jump_boost", + "duration": 6400, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/firmalife/tfc/drinkables/white_wine.json b/kubejs/data/firmalife/tfc/drinkables/white_wine.json new file mode 100644 index 000000000..7b7bc3c28 --- /dev/null +++ b/kubejs/data/firmalife/tfc/drinkables/white_wine.json @@ -0,0 +1,11 @@ +{ + "ingredient": "firmalife:white_wine", + "thirst": 15, + "effects": [ + { + "type": "species:wither_resistance", + "duration": 6400, + "amplifier": 0 + } + ] +} \ No newline at end of file From a15c2840ac50569d499a9f7adac1531903183582 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 16:26:49 +0000 Subject: [PATCH 507/628] update modlist --- config/crash_assistant/modlist.json | 57 ++++++++++++++++------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 1d4778e6a..734dbc542 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -200,6 +200,13 @@ "curseForgeHash": 2297727680, "modrinthHash": "6347a5bff9405c59ec7d428e5e24115f5b17a90b" }, + "BlockRunner-v8.0.4-1.20.1-Forge.jar": { + "jarName": "BlockRunner-v8.0.4-1.20.1-Forge.jar", + "modId": "blockrunner", + "version": "8.0.4", + "curseForgeHash": 1808343910, + "modrinthHash": "71fc6fe4b99dc495528edbb0be12b126eab64b6f" + }, "blur-forge-3.1.1.jar": { "jarName": "blur-forge-3.1.1.jar", "modId": "blur", @@ -368,12 +375,12 @@ "curseForgeHash": 2978888175, "modrinthHash": "e37dbe8efb670d3a9e079e095d59410658c7e3e9" }, - "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar": { - "jarName": "CrashAssistant-forge-1.19-1.20.1-1.10.27.jar", + "CrashAssistant-forge-1.19-1.20.1-1.10.28.jar": { + "jarName": "CrashAssistant-forge-1.19-1.20.1-1.10.28.jar", "modId": "crash_assistant", - "version": "1.10.27", - "curseForgeHash": 2406153781, - "modrinthHash": "4cc9d9e8cb0e615258acc7e81d27be10d34ae840" + "version": "1.10.28", + "curseForgeHash": 2399972476, + "modrinthHash": "ff33e66ea1d828f0a5de39cf31d765e75d0a3859" }, "crashexploitfixer-forge-1.1.0+1.20.1.jar": { "jarName": "crashexploitfixer-forge-1.1.0+1.20.1.jar", @@ -564,12 +571,12 @@ "curseForgeHash": 1564210994, "modrinthHash": "4f440ac41309993a46e0ffcb2dd6106d7b92b3e2" }, - "everycomp-1.20-2.9.12-forge.jar": { - "jarName": "everycomp-1.20-2.9.12-forge.jar", + "everycomp-1.20-2.9.13-forge.jar": { + "jarName": "everycomp-1.20-2.9.13-forge.jar", "modId": "everycomp", - "version": "1.20-2.9.12", - "curseForgeHash": 1738563106, - "modrinthHash": "1a9fab9e9273ab45f0a312b7a71aeade41716a4a" + "version": "1.20-2.9.13", + "curseForgeHash": 473863607, + "modrinthHash": "2c78942c7396b1fab9e53e4ee8172f7ce0ba4482" }, "exposure-1.20.1-1.7.16-forge.jar": { "jarName": "exposure-1.20.1-1.7.16-forge.jar", @@ -669,12 +676,12 @@ "curseForgeHash": 4111825473, "modrinthHash": "4920a2e1d17090007179a568181624847fba0993" }, - "FramedBlocks-9.4.2.jar": { - "jarName": "FramedBlocks-9.4.2.jar", + "FramedBlocks-9.4.3.jar": { + "jarName": "FramedBlocks-9.4.3.jar", "modId": "framedblocks", - "version": "9.4.2", - "curseForgeHash": 3951488336, - "modrinthHash": "68b8301c8124dd00ea70c216066b1fe207e25345" + "version": "9.4.3", + "curseForgeHash": 380347176, + "modrinthHash": "740c0feaab75455f32df7e137389f77c83fb490c" }, "ftb-chunks-forge-2001.3.6.jar": { "jarName": "ftb-chunks-forge-2001.3.6.jar", @@ -1024,12 +1031,12 @@ "curseForgeHash": 3074548209, "modrinthHash": "4069534174e618393f0c14d9dc61ac27a04bb992" }, - "moonlight-1.20-2.16.16-forge.jar": { - "jarName": "moonlight-1.20-2.16.16-forge.jar", + "moonlight-1.20-2.16.18-forge.jar": { + "jarName": "moonlight-1.20-2.16.18-forge.jar", "modId": "moonlight", - "version": "1.20-2.16.16", - "curseForgeHash": 949178631, - "modrinthHash": "f1ad21bce5a4b96a1152d6cf83cfb27684fc4b6a" + "version": "1.20-2.16.18", + "curseForgeHash": 4116986064, + "modrinthHash": "48dc8e4c200c487df69195fe503dc67493050b6b" }, "morered-1.20.1-4.0.0.4.jar": { "jarName": "morered-1.20.1-4.0.0.4.jar", @@ -1395,12 +1402,12 @@ "curseForgeHash": 837967200, "modrinthHash": "107d4aec4694c509ea7ea8f3963478ae8002f46e" }, - "TerraFirmaGreg-Core-Modern-0.8.11.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.11.jar", + "TerraFirmaGreg-Core-Modern-0.8.12.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.12.jar", "modId": "tfg", - "version": "0.8.11", - "curseForgeHash": 48630112, - "modrinthHash": "5d2aaff9a32cdba01f1851bdc469aa8cdb292df6" + "version": "0.8.12", + "curseForgeHash": 3927177398, + "modrinthHash": "5dc28e3df1d3e2b5c17f0b6cf1b8b92790d7ea9b" }, "tfc_gurman-1.2.0.jar": { "jarName": "tfc_gurman-1.2.0.jar", From 771ccdfea4e82dee2b148b10f07a73b9d03a9409 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 16:43:24 +0000 Subject: [PATCH 508/628] unhide automated shaped/shapeless crafting recipe tabs --- kubejs/assets/emi/recipe/filters/categories.json | 6 ------ 1 file changed, 6 deletions(-) diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 8f4beb6a2..dcdcb9d9f 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -42,12 +42,6 @@ { "category": "gtceu:ore_vein_diagram" }, - { - "category": "create:automatic_shaped" - }, - { - "category": "create:automatic_shapeless" - }, { "category": "greate:automatic_brewing" }, From 2d694cef6d4674e4e3f39bc7b5e27a18577c0e47 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 17:01:04 +0000 Subject: [PATCH 509/628] langs, update tooltips --- kubejs/assets/tfg/lang/en_us.json | 16 ++++++++-------- kubejs/assets/tfg/lang/ja_jp.json | 4 ++-- kubejs/client_scripts/tooltips.js | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index f5fc84556..08987b400 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1054,8 +1054,8 @@ "item.tfg.beaker.filled": "Beaker of %s", "item.tfg.flask": "Flask", "item.tfg.flask.filled": "Flask of %s", - "item.tfg.vial": "Vial", - "item.tfg.vial.filled": "Vial of %s", + "item.tfg.vial": "Pipette", + "item.tfg.vial.filled": "Pipette of %s", "item.tfg.lab_equipment": "Lab Equipment", "item.tfg.dirty_lab_equipment": "Dirty Lab Equipment", "item.tfg.wireless_card": "Interplanetary Wireless Card", @@ -1256,8 +1256,8 @@ "material.tfg.crude_mixed_gas": "Crude Mixed Gas", "material.tfg.zsm5_gel": "ZSM-5 Gel", "material.tfg.leachate": "Rhenium Leachate", - "material.tfg.clean_powder": "Re-Silicate Clean Powder", - "material.tfg.catalyser_powder": "Catalyser Re ZSM-5 Powder", + "material.tfg.clean_powder": "Re-Silicate Clean", + "material.tfg.catalyser_powder": "Rhenium ZSM-5 Catalyzer", "material.tfg.sodium_aluminium": "Sodium Aluminium", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", @@ -2335,12 +2335,12 @@ "quests.extreme_voltage.btx.subtitle": "Long lost cousin of Nitrobenzene", "quests.extreme_voltage.btx.desc.1": "The &eBTX Fuel&r is an upgrade over &eReformate Gas&r, being around five times more potent per mB. The process is much more tedious, but it provides a significant upgrade for running your &6Large Gas Turbines&r. Like its predecessor, this fuel is fully renewable and can be produced entirely through &aTree Processing&r.\n\nTo explain how &eBTX Fuel&r is made, we divide its processing into three parts: the &bBTX Fuel crafting&r itself, the crafting of the &eCatalyst&r, and finally how to loop &eRhenium&r and &ePlatinum&r.", "quests.extreme_voltage.btx.desc.2": "Let’s start with the &bBTX Fuel&r crafting. You will need to mix &eReformate Gas&r with the &eCatalyst&r and a small amount of &ePropene&r. A new processing path allows you to produce &eMethanol&r from &eSyngas&r, which can then be distilled into the required Propene. This is a good way to reuse the Syngas generated during &eReformate Gas&r production.\n\nOnce that is done, distilling &eWood Tar&r in a &6Distillation Tower&r will provide everything else you need to complete the mix. Simple enough. In the next quests, we will cover how to craft the &eCatalyst&r and how to recycle it efficiently.", - "quests.extreme_voltage.btx_catalyser.title": "Catalyser Pt-Re ZSM-5", + "quests.extreme_voltage.btx_catalyser.title": "Platinum-Rhenium ZSM-5 Catalyzer", "quests.extreme_voltage.btx_catalyser.subtitle": "What a complex name", - "quests.extreme_voltage.btx_catalyser.desc": "To craft the &ePt-Re ZSM-5 Catalyst&r, you will need to set up infinite sources of &aLye&r, &aSodium&r, and &dNether Quartz&r, as well as &aAmmonia&r and &aEthanol&r. The &bAluminum&r will be fully looped, while the other materials will only be partially recovered.\n\nIf you are unsure about &dNether Quartz&r, take a look at the recipe chain starting from &eSand&r. &aSodium&r, on the other hand, can be obtained easily from &bSea Water&r processing, and Lye can be from Wood Ash.\n\nFinally, mix everything together with some &5Platinum&r and &5Rhenium&r to obtain your &eCatalyst&r. The good news is that both Platinum and Rhenium are fully recycled in this process, so there is no need to worry - you will only have to mine them once.", - "quests.extreme_voltage.btx_loop.title": "Recycling the Used Catalyser", + "quests.extreme_voltage.btx_catalyser.desc": "To craft the &ePlatinum-Rhenium ZSM-5 Catalyzer&r, you will need to set up infinite sources of &aLye&r, &aSodium&r, and &dNether Quartz&r, as well as &aAmmonia&r and &aEthanol&r. The &bAluminum&r will be fully looped, while the other materials will only be partially recovered.\n\nIf you are unsure about &dNether Quartz&r, take a look at the recipe chain starting from &eSand&r. &aSodium&r, on the other hand, can be obtained easily from &bSea Water&r processing, and Lye can be from Wood Ash.\n\nFinally, mix everything together with some &5Platinum&r and &5Rhenium&r to obtain your &eCatalyst&r. The good news is that both Platinum and Rhenium are fully recycled in this process, so there is no need to worry - you will only have to mine them once.", + "quests.extreme_voltage.btx_loop.title": "Recycling the Used Catalyzer", "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 Catalyser. 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.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 &8Coal Tar&r obtained while producing &bReformate Gas&r can be reconverted into &2Hydrogen Sulfide&r and ultimately refined back into &6Sulfur&r.", "quests.gregtech_energy": "GregTech Energy", "quests.gregtech_energy.subtitle": "So how does all of that work?", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index af7177e25..419abbdc2 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1015,8 +1015,8 @@ "item.tfg.beaker.filled": "Beaker of %s", "item.tfg.flask": "Flask", "item.tfg.flask.filled": "Flask of %s", - "item.tfg.vial": "Vial", - "item.tfg.vial.filled": "Vial of %s", + "item.tfg.vial": "Pipette", + "item.tfg.vial.filled": "Pipette of %s", "item.tfg.lab_equipment": "Lab Equipment", "item.tfg.dirty_lab_equipment": "Dirty Lab Equipment", "item.tfg.wireless_card": "星間対応無線カード", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 929ff81e7..d67113414 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -271,10 +271,10 @@ const registerTooltips = (event) => { event.addAdvanced(['tfc:crucible'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "4,032")) }) - event.addAdvanced(['waterflasks:red_steel_flask'], (item, advanced, text) => { + 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")) }) - event.addAdvanced(['waterflasks:iron_flask', 'tfc:wooden_bucket', 'firmalife:mixing_bowl'], (item, advanced, text) => { + event.addAdvanced(['tfc:wooden_bucket', 'firmalife:mixing_bowl'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "1,000")) }) event.addAdvanced(['waterflasks:leather_flask'], (item, advanced, text) => { From 7f0d0f905b4ca73cb97705c92efbe1ba70370769 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 17:08:19 +0000 Subject: [PATCH 510/628] replace all dark grey text with medium grey text, for readability --- kubejs/assets/tfg/lang/en_us.json | 44 +++++++++++++++---------------- kubejs/assets/tfg/lang/fr_fr.json | 28 ++++++++++---------- kubejs/assets/tfg/lang/ja_jp.json | 40 ++++++++++++++-------------- kubejs/assets/tfg/lang/ru_ru.json | 42 ++++++++++++++--------------- kubejs/assets/tfg/lang/uk_ua.json | 44 +++++++++++++++---------------- kubejs/assets/tfg/lang/zh_cn.json | 44 +++++++++++++++---------------- 6 files changed, 121 insertions(+), 121 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 08987b400..656611a98 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1882,7 +1882,7 @@ "quests.ae2.cell_component_1m.desc": "The &3MEGA Storage Components&r will need an &bAssembly Line&r. Note that the non-Moon recipe must be crafted within a Cleanroom, or you can use a Cleaning Maintenance Hatch if you have access to one.\n\nNo need for that on the Moon though.", "quests.ae2.cell_component_4m.desc": "Simply bigger and more expensive.", "quests.ae2.cell_component_16m.desc": "This one can only be made on the &cMoon&r and nowhere else. It will also require a Cleanroom environment, so if you don’t want to bother with a Cleanroom on the &cMoon&r, you should make the &7Cleaning Maintenance Hatch&r.\n\nIt will also need some research. Refer to the &cZPM&r Chapter if you don’t know what that means.", - "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &8TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", + "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &cTerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", "quests.ae2.oversize_interface.desc": "The &dME Oversize Interface&r is a &dME Extended Interface&r but each slot can hold 16x more items or fluids. If you have processes that need huge quantities, this could be your go-to.", "quests.ae2.assembler_matrix.desc": "The &6Assembler Matrix&r is basically a customizable multiblock Molecular Assembler. The requirements for this quest should let you build one that we deem quite strong enough. You could add more layers of &bPattern Core&r or &aCraft Core&r if you want to.\n\nAs usual, check the in-game guide for detailed informations.", "quests.combat_tips.stone_main.title": "Stone Age", @@ -2341,7 +2341,7 @@ "quests.extreme_voltage.btx_loop.title": "Recycling the Used Catalyzer", "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 &8Coal 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.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.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", @@ -2350,14 +2350,14 @@ "quests.gregtech_energy.start.subtitle": "It's not as bad as you think", "quests.gregtech_energy.moving.title": "Moving your Energy", "quests.gregtech_energy.moving.subtitle": "So, energy transfer, huh", - "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire = &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", + "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&7•&r Tin wire = &aLV&r\n&7•&r Copper wire = &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&7•&r 1A of LV = &a32 EU&r\n&7•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", "quests.gregtech_energy.moving.task": "I understand", "quests.gregtech_energy.transformer.title": "The Super Transformer", "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", - "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can transform energy between any tiers — from &aLV&r to &cUHV&r — without caring about amps or a mess of single block transformers.\n\nBut that's not even the best part: it can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", + "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can transform energy between any tiers — from &aLV&r to &cUHV&r — without caring about amps or a mess of single block transformers.\n\nBut that's not even the best part: it can transmit energy using Laser Pipes.\n&7•&r Lasers send absurd amounts of Amps.\n&7•&r No loss. No cables. Just pure energy.\n&7•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", "quests.gregtech_energy.moving_wire.title": "Moving with wires", "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", - "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", + "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&7•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n\n&7•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n\n&7•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", "quests.gregtech_energy.moving_wire.task": "I finished looking at wires", "quests.gregtech_energy.moving_amp.title": "Managing Amp", "quests.gregtech_energy.moving_amp.subtitle": "It burns?", @@ -2440,10 +2440,10 @@ "quests.gregtech_energy.smr.task": "", "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, &8Naphtha&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.", + "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.", "quests.gregtech_energy.high_gasoline.title": "High Octane Gasoline (HOG)", "quests.gregtech_energy.high_gasoline.subtitle": "Highly Powerful", - "quests.gregtech_energy.high_gasoline.desc": "The direct upgrade of &cGasoline&r is a &5two times more powerful fuel&r. As the name doesn't suggest, you have to add not only &dOctane&r but also other materials from &8Petrochem&r. At that point, we expect you to be able to navigate through &bEMI&r and begin the fabrication of this insanely strong fuel.", + "quests.gregtech_energy.high_gasoline.desc": "The direct upgrade of &cGasoline&r is a &5two times more powerful fuel&r. As the name doesn't suggest, you have to add not only &dOctane&r but also other materials from &7Petrochem&r. At that point, we expect you to be able to navigate through &bEMI&r and begin the fabrication of this insanely strong fuel.", "quests.gregtech_energy.lst_fuel.title": "This is Steam", "quests.gregtech_energy.lst_fuel.subtitle": "Not much of a choice", "quests.gregtech_energy.lst_fuel.desc": "Steam isn’t complicated — just boil water.\n\nTo do it efficiently, we recommend using &6Large Boilers&r. There's four versions: one each for &8ULV&r, &bMV&r, &5EV&r, and &1IV&r. Each tier provides a strong increase in steam output.\n\nHowever, be aware: the scaling of the &dLarge Steam Turbine&r with these boilers is not the best compared to other power generation methods.\n\nMost players will skip the Titanium and Tungstensteel Boilers — they exist if you want them, but aren’t worth building. Steam just doesn't scale very well!\n\nAs a reminder: &e2 mB&r of steam = &e1 EU&r.", @@ -2482,7 +2482,7 @@ "quests.gregtech_energy.pss.title": "The Power Substation", "quests.gregtech_energy.pss.subtitle": "All your eggs in one basket", "quests.gregtech_energy.pss.desc.1": "The &dPower Substation&r — also known as the &dPSS&r — is the &6ultimate custom battery multiblock&r. Once you're able to craft it in &1IV&r, it should easily serve as your base's central source of power, so it can be a good thing to focus towards.\n\nIt can store so much energy... you’d probably need multiple lifetimes to fill it.", - "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &8Amperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", + "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &cAmperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", "quests.gregtech_energy.batteries.title": "Super Batteries", "quests.gregtech_energy.batteries.subtitle": "Sci-Fi power storage", "quests.gregtech_energy.batteries.desc": "In &7LV&r and &bMV&r, you probably built your first batteries made of Sodium or Lithium.\n\nBut let’s be real — these are the weakest batteries GregTech has to offer.\n\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\nThey are much more potent, store way more energy, and can help you push your factory to the next tier.\n\nAre they more expensive? Of course. But let’s be real...\nPower is Power. Who’s counting?", @@ -2518,14 +2518,14 @@ "quests.gregtech_energy.rotor.title": "Turbine Rotors", "quests.gregtech_energy.rotor.subtitle": "So many choices!", "quests.gregtech_energy.rotor.desc.1": "Rotor Holders naturally require a Rotor to use, but there's a lot of options and they all have different stats, so what do they all mean?\n\nHigher &9Efficiency&r will increase the time each mB of fuel is used for, effectively reducing fuel usage. Meanwhile, &9Power&r will increase how much EU the turbine will generate. Lastly, &9Durability&r should be obvious.", - "quests.gregtech_energy.rotor.desc.2": "Ideally, you'll want to maximize all three, but the choice will depend on how much fuel you're producing, how many turbines you have, and how often you want to replace them, so there's no definitive correct answer. &8(Besides neutronium, of course...)&r\n\nThat being said, if you're completely lost, we recommend Vanadium Steel in &6HV&r, Ultimet in &5EV&r, and HSS-S in &9IV&r.\n\nUnfortunately, you can't automatically pipe new rotors into rotor holders as they need the block in front of them to be completely empty, but a &aMechanical Arm&r will work!", + "quests.gregtech_energy.rotor.desc.2": "Ideally, you'll want to maximize all three, but the choice will depend on how much fuel you're producing, how many turbines you have, and how often you want to replace them, so there's no definitive correct answer. &7(Besides neutronium, of course...)&r\n\nThat being said, if you're completely lost, we recommend Vanadium Steel in &6HV&r, Ultimet in &5EV&r, and HSS-S in &9IV&r.\n\nUnfortunately, you can't automatically pipe new rotors into rotor holders as they need the block in front of them to be completely empty, but a &aMechanical Arm&r will work!", "quests.gregtech_energy.rotor.task": "Any Turbine Rotor", "quests.gregtech_energy.fission_reactor.title": "Fission Reactor MK I", "quests.gregtech_energy.fission_reactor.subtitle": "Strap yourself in, this is complicated", "quests.gregtech_energy.fission_reactor.desc.1": "The &dFission Reactor&r is certainly an uncommon sight in GregTech - both in theme, and how it works. But fear not, we are here to guide you with this multi-purpose big-brain multiblock!\n\nWe'll spare you the physics for now, &efellow engineer&r. The most important thing you should know is that the reactor is like a big thermal &dbattery-generator&r. You input proper fuel, and get &cheat&r (just like &6EU/t&r) that gets stored in the reactor as &crising temperature&r (stored &6EU&r).\n\nYou can then transfer this heat to &9coolant fluids&r for running turbines, or performing EBF-style crafting recipes. Sometimes you may even have &ctoo much&r of it. And oh, you also get new elements to make new fuels and circuits and stuff. Maybe explore the solar system a bit more? Boring stuff.", "quests.gregtech_energy.fission_reactor.desc.2": "To start off, get your hands on some &dThorium&r. Remember to wear all the relevant PPE - &eDeatek Intergalactic&r is not responsible for any bodily harm resulting from improper handling of fissile materials. We really shouldn't have to remind you at this point anymore. Check the hazards quest if you need a refresher.\n\nNext, craft some empty &dFuel Rods&r and fill them with the &dNuclear Fuel Processing Plant&r. The rods are reusable, so you don't have to make too many. In fact, you might want to make just a single one for now.\n\nYou'll of course need a completed reactor, too. Check the EMI preview. Note how there is a central column of Fuel Holders, and then some optional columns for Components and Material Holders - more of these later.\n\nWait. Why just a &osingle&r rod? Oh, are &ewe&r glad you asked. Let's delve deep into the reactor mechanics in the next page.", "quests.gregtech_energy.fission_reactor.desc.3": "The more fuel rods you have installed in the reactor, the &chotter&r it gets. And the hotter it is, the more heat it is able to transfer out to the coolant fluid and processable items. But physics has its limits, and the reactor can only ever get &cso hot&r, so don't install too many fuel cells.\n\nBut fear not! Unlike how the &0big-oil&r propaganda machine insists, nuclear energy is &aperfectly safe&r. Should the heat level of the reactor border dangerous territory, the reactor enters an &9automatic cooldown sequence&r, and won't start again until all heat has been &asafely dissipated&r. It's quite slow, though.\n\nThere has to be a way to make it hotter and faster? Once again, good thing you asked! &eOur brilliant engineers&r have a solution for you!", - "quests.gregtech_energy.fission_reactor.desc.4": "In addition to the 5 &dFuel Holders&r, you can install &oup to&r 20 &dComponents&r. The reactors from some other manufacturers require very exact positioning, but our reactor is smarter. The &6stats&r of all installed ones will simply be &6summed up&r, and that's it!\n\nCurrently, the reactor is able to utilize them in three&8*&r different ways:\n&e1)&r Max temperature &7(insulator)&r\n&e2)&r Efficiency &7(fuel lasts longer)&r\n&e3)&r Throttle &7(slows down the reactions)&r\n\n&8*)&r It's possible your local galaxy doesn't have the necessary materials for all of them. We estimate to find materials only for the first category.\n\nBut be wary. Rising the &ctemperature&r comes with a &cdownside&r.", + "quests.gregtech_energy.fission_reactor.desc.4": "In addition to the 5 &dFuel Holders&r, you can install &oup to&r 20 &dComponents&r. The reactors from some other manufacturers require very exact positioning, but our reactor is smarter. The &6stats&r of all installed ones will simply be &6summed up&r, and that's it!\n\nCurrently, the reactor is able to utilize them in three&7*&r different ways:\n&e1)&r Max temperature &7(insulator)&r\n&e2)&r Efficiency &7(fuel lasts longer)&r\n&e3)&r Throttle &7(slows down the reactions)&r\n\n&7*)&r It's possible your local galaxy doesn't have the necessary materials for all of them. We estimate to find materials only for the first category.\n\nBut be wary. Rising the &ctemperature&r comes with a &cdownside&r.", "quests.gregtech_energy.fission_reactor.desc.5": "While a &chotter&r reactor makes coolants and processing &cfaster&r, it is also more demaning for the fuel rods. Each fuel rod has limited durability, and this scales linearly with the temperature.\n\nAs you need more fuel rods for the higher heat, this in effect makes the damage scale &nquadratically&r. If you want to heat coolants the most efficiently, you'll use low temperature. But if you want faster fissile conversion, use as high a heat as the insulation allows.", "quests.gregtech_energy.fission_reactor.desc.6": "You are finally ready to take a look at the various recipes involving the reactor; check where the &dcontroller&r is used, and you'll find three &eEMI&r tabs:\n\n&e1)&r Fission Reactor &7(fuels and compatible coolants)&r\n&e2)&r Fission Heat Processing &7(think: EBF)&r\n&e3)&r Fission Products &7(when the fuel runs out)&r\n&e4)&r The multiblock preview\n\nVarious &afuels&r are only compatible with certain &9coolant fluids&r, so pay attention to this. And once a fuel rod is completely used up, statistical certainty can safely state it having &btra&dns&rf&dor&bmed&r into new elements.\n\nThe processing recipes on the other hand can run regardless of the fuel, as long as the temperature level is high enough.", "quests.gregtech_energy.fission_reactor.desc.7": "The simplified math is as follows: with sufficient coolant fluid and a &c100%%&r heat fuel rod, the reactor will reach a temperature of about &c200&r. This can also be referred to as heat level, or just heat. Having &dtwo&r &c100%%&r fuel cells is equal to &done&r &c200%%&r cell, and both lead to about &c400&r heat.\n\nThis is because the fuel rod generates &6200 HU/t&r (heat units). Coolant fluids are able to extract &61 HU/t&r per &c1&r degree of heat.\n\nIf the reactor's max heat is &c190&r, a &c100%%&r fuel cell will overheat it. You can increase this with the components, or alternatively &dactive coolants&r via the processing system. Each recipe has a heat impact.", @@ -2613,7 +2613,7 @@ "quests.high_voltage.tnt.desc.3": "We don't have any easy tips to give you for &aToluene&r. It's going to be tricky no matter which route you take.\n\nThat being said, don't miss out on the direct &aHeavy Fuel&r to &aToluene&r recipe in the single block &3Distillery&r.\n\n&aToluene&r can also optionally be used in &5EV&r to make &dGasoline&r.\n\n&cTNT&r is used in the &3Implosion Compressor&r to make Gems. It also blows stuff up.", "quests.high_voltage.ender_pearls.title": "Ender Pearls", "quests.high_voltage.ender_pearls.subtitle": "Sci-fi gemstones, or something", - "quests.high_voltage.ender_pearls.desc": "You won't find any Endermen dropping Ender Pearls in TFG.\nEven the ones lurking in the Beneath won’t help you there.\n\nInstead, your only option for now is to craft them yourself:\n\nCombine &2Beryllium Dust&r and &2Potassium Dust&r in a &6HV&r Mixer to create the elusive &5Ender Dust&r.\n\nOnce that's done, throw it into an &8Implosion Compressor&r and recreate the iconic Ender Pearl — GregTech style.", + "quests.high_voltage.ender_pearls.desc": "You won't find any Endermen dropping Ender Pearls in TFG.\nEven the ones lurking in the Beneath won’t help you there.\n\nInstead, your only option for now is to craft them yourself:\n\nCombine &2Beryllium Dust&r and &2Potassium Dust&r in a &6HV&r Mixer to create the elusive &5Ender Dust&r.\n\nOnce that's done, throw it into an &7Implosion Compressor&r and recreate the iconic Ender Pearl — GregTech style.", "quests.high_voltage.boules.title": "Phosphorus Boules", "quests.high_voltage.boules.subtitle": "That's dope, bro!", "quests.high_voltage.boules.desc": "Doping is the process of intentionally introducing impurities into semiconductors to alter their properties.\n\n&7Silicon&r can be doped with small amounts of &ePhosphorus&r to make a better &eSilicon Boule&r.\n\nPhosphorus-doped Silicon Boules typically yield &68 times&r more wafers than their non-doped counterparts. However, they are not strictly needed until &5EV&r, where they'll be used in more complex wafers.\n\n&9Note&r: All processing of Phosphorus Boules and Wafers will require a &dCleanroom&r.", @@ -2650,7 +2650,7 @@ "quests.high_voltage.hv_hull.subtitle": "Soon to be a minestronaut", "quests.high_voltage.hv_hull.desc.1": "&2We hope you're getting the hang of &9GregTech&r, because now it's time to push your skills a bit further.\nIn this chapter, you'll unlock &eadvanced multiblocks&r, &ecomplex processes&r, and even take your first steps onto the &fMoon&r!\n\n&6For this chapter, you have two main goals :&r\n- Craft your first &5EV&r Machine Hull\n- Begin your journey to the &fMoon&r\n\nUnlocking the Moon will also grant access to &bCertus Quartz&r, paving the way for &dApplied Energistics 2&r. You’re free to tackle these objectives in any order you prefer.", "quests.high_voltage.hv_hull.desc.2": "To craft the &5EV&r Machine Hull:\n- Build your first &aCleanroom&r\n- Construct a &bVacuum Freezer&r to cool hot ingots\n- Process &9Rutile&r into &7Titanium&r\n\nYou'll find plenty of &9Rutile&r on the &fMoon&r, but it can also be located in &eBauxite&r veins in the &aOverworld&r.", - "quests.high_voltage.hv_hull.desc.3": "To reach the Moon:\n- Craft a generous amount of &6Rocket Alloy&r\n- Create your first &eEnder Eye&r using the &3Chemical Bath&r and the &8Implosion Compressor&r\n- Prepare all the &bequipment&r you'll need to &bbreathe in space&r\n\nGetting the &bVacuum Freezer&r and &6better coils&r will speed up &6Rocket Alloy&r production, but they’re not mandatory.\n\n&dChoose your path!&r", + "quests.high_voltage.hv_hull.desc.3": "To reach the Moon:\n- Craft a generous amount of &6Rocket Alloy&r\n- Create your first &eEnder Eye&r using the &3Chemical Bath&r and the &7Implosion Compressor&r\n- Prepare all the &bequipment&r you'll need to &bbreathe in space&r\n\nGetting the &bVacuum Freezer&r and &6better coils&r will speed up &6Rocket Alloy&r production, but they’re not mandatory.\n\n&dChoose your path!&r", "quests.high_voltage.nichrome.title": "Nichrome Ingots", "quests.high_voltage.nichrome.subtitle": "It doesn't have much use", "quests.high_voltage.nichrome.desc": "Your third alloy is here and it's essential for your next set of coils in the &6EBF&r.\n\nAs usual you will need &9128 ingots&r but this time you’ll notice that you can’t use a &6Chemical Washer&r. Instead, you're required to use a &6Vacuum Freezer&r.\n\nGood news: it’s actually simpler and faster.\n\nYou’ll only be using &6Nichrome&r for these coils, but don’t get too comfortable — it will return later for the next set of &5RTM Coils&r.", @@ -2719,7 +2719,7 @@ "quests.high_voltage.moon_harvester.desc": "The &7Moon&r is your first entry into &einfinite ores&r — but it’s a slow one.\nYou will need to harvest different kinds of &bRegolith Dust&r, each obtainable only in a specific biome.\nTo do this, you’ll rely on the &6Moon Harvester&r. There are two important things to remember when using it:\n\n• It requires an &9Input Bus&r so you can set the right &9circuit&r.\n• It supports &ecoils&r just like the &6Cracker&r — the higher the tier of your coils, the bigger the energy discount.\nThis is especially useful when harvesting Regolith far from your base.\n\nOf course, raw dust isn’t enough.\nYou’ll need a &asmall processing line&r to extract resources from the Regolith dust. So make sure to bring them to your &7Moon base&r for processing.", "quests.high_voltage.regolith_vapor.title": "Regolith Vapor", "quests.high_voltage.regolith_vapor.subtitle": "The little something to make dusts into ores", - "quests.high_voltage.regolith_vapor.desc": "To process your &bRegolith Dust&r, you’ll need &bRegolith Vapor&r — and setting it up is a bit more involved.\n\nHere’s what you’ll need:\n\n• &7Lunar Sand&r — obtainable infinitely with a &6Rock Breaker&r.\n• &eCarbon Dioxide&r — produced from &9Oxygen&r and &8Carbon Dust&r (easy, thanks to the infinite &bDiamond Dust&r you’ll be getting).\n• &9Nitrogen&r — acquired through the cultivation of &dChorus Fruits&r.\n\nTip: You can loop your &9Oxygen&r through &bSilicon Dioxide&r, which also gives you a steady bonus of &eSilicon Dust&r — a very useful side product.", + "quests.high_voltage.regolith_vapor.desc": "To process your &bRegolith Dust&r, you’ll need &bRegolith Vapor&r — and setting it up is a bit more involved.\n\nHere’s what you’ll need:\n\n• &7Lunar Sand&r — obtainable infinitely with a &6Rock Breaker&r.\n• &eCarbon Dioxide&r — produced from &9Oxygen&r and &7Carbon Dust&r (easy, thanks to the infinite &bDiamond Dust&r you’ll be getting).\n• &9Nitrogen&r — acquired through the cultivation of &dChorus Fruits&r.\n\nTip: You can loop your &9Oxygen&r through &bSilicon Dioxide&r, which also gives you a steady bonus of &eSilicon Dust&r — a very useful side product.", "quests.high_voltage.regolith_vapor.task": "Got it", "quests.high_voltage.regolith_dust.title": "Regolith for each biomes", "quests.high_voltage.regolith_dust.subtitle": "The three musketeers", @@ -2780,7 +2780,7 @@ "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.desc": "With the help of &7Syngas&r, you now have a viable way to use the &8Gas 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_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", "quests.low_voltage.lv_gas_syngas.desc": "Making &7Syngas&r is really easy. You simply need &b3 Coke Ovens&r for each &6Brewery&r or &6Vacuum Chamber&r. Then you collect &7wood&r with the help of a &bCreate Tree Farm&r to minimize the energy costs, and you can enjoy this weak but easy-to-make &7gas fuel&r.", @@ -3033,7 +3033,7 @@ "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.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&8We’re not sorry.&r", + "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", "quests.medium_voltage.mv_extruder.desc": "We &lSINCERELY&r hope at &cno&r point you made the &7LV&r Extruder, because only the &bMV&r Extruder is actually useful. If you did, immediately &arecycle it&r through the Arc Furnace.\n\nThe Extruder shapes solid materials into (almost!) any form using &aIngots&r. This is a great way to reduce the amount of microcrafting, as well as keeping a high conversion ratio.\n\nThe Extruder can make &6Bolts&r, &6&6Small Gears&r, &6Gears&r, and &6&6Rings&r at the highest efficiency in a single step!\n\nYou may also like to use it for &dPipes&r, &dScrews&r, and &dRotors&r.", @@ -3045,7 +3045,7 @@ "quests.medium_voltage.mv_mixer.desc": "If you're wanting to dive into &bMV&r, start here.\n\nThe dusts created in an &3MV Mixer&r have great utility.", "quests.medium_voltage.mv_energy.title": "Electricity Generation in MV", "quests.medium_voltage.mv_energy.subtitle": "Things are 'boutta get rough", - "quests.medium_voltage.mv_energy.desc.1": "Hello there, and welcome to &bMV Energy Production&r.\n\nIn this quest, we’ll go over the different options available to keep your &bMV machines&r powered and running smoothly.\n\nWe won’t cover this in every chapter, so we highly recommend that you &aread the dedicated chapter on GregTech Energy&r for a deeper understanding of how everything works.\n\nFor now, here are your &athree main options&r:\n\n&8- &bUse an MV Generator&r to directly produce &bMV-level energy&r.\n\n&8- &bStep up your &7LV&r power by using transformers&r, with a &e4:1 ratio&r between &7LV&r and &bMV&r.\n\n&8- &bConvert RF&r using your &dAlternator&r to get &bMV energy&r directly.\n\n", + "quests.medium_voltage.mv_energy.desc.1": "Hello there, and welcome to &bMV Energy Production&r.\n\nIn this quest, we’ll go over the different options available to keep your &bMV machines&r powered and running smoothly.\n\nWe won’t cover this in every chapter, so we highly recommend that you &aread the dedicated chapter on GregTech Energy&r for a deeper understanding of how everything works.\n\nFor now, here are your &athree main options&r:\n\n&7- &bUse an MV Generator&r to directly produce &bMV-level energy&r.\n\n&7- &bStep up your &7LV&r power by using transformers&r, with a &e4:1 ratio&r between &7LV&r and &bMV&r.\n\n&7- &bConvert RF&r using your &dAlternator&r to get &bMV energy&r directly.\n\n", "quests.medium_voltage.mv_energy.desc.2": "Higher-tier Generators will increase their fuel consumption proportionally to their Generation rate, keeping the duration of fuels and the specific amount of energy from fuels the same. The &3Advanced Steam Turbine&r will use &d5,120 mB Steam&r per second, equivalent to &d256 mB/t&r.\n\nGet &eany&r of the generators to complete this quest, but you may prefer starting off with the &3Advanced Steam Turbine&r.", "quests.medium_voltage.mv_energy.desc.3": "There are a few new power options available for &bMV&r. Selecting the Generators and pressing &4U&r will let you see which fuels count as &aCombustion&r or &aGas&r.\n\nQuests in the top left corner of this Chapter are for the valuable Power options.\n\nIf you stick to &9Steam&r for your Power generation, you'll probably need a &3Large Boiler&r.", "quests.medium_voltage.mv_energy.desc.4": "&3Transformers&r allow you to step up and down safely between Voltage tiers. They convert the power they receive into an equivalent amount of power 1 voltage tier above or below the input voltage.\n\nApart from running machines on different voltage tiers, Transformers come in handy for transporting power across longer distances, as cable loss has less of an effect at higher voltages. Just like real life!", @@ -3103,7 +3103,7 @@ "quests.medium_voltage.mv_benzene.desc.3": "&l&3Lore:&r&o Benzene has been one of the most powerful gas fuels since GTCEu - so good that it became a meme. Nowadays, its days are numbered everywhere.", "quests.medium_voltage.reformate_gas.title": "The Reformate Church", "quests.medium_voltage.reformate_gas.subtitle": "When one giant falls, a new one arises", - "quests.medium_voltage.reformate_gas.desc": "The &8Reformate Gas&r is your new go-to gas fuel at &bMV&r if that's the path you want to take. For perfect efficiency, you only need &61 Liquefaction Tower&r and &62 Pyrolyze Ovens&r, and you can start producing this precious gas non-stop.\n\nOh wait, first you need to find &5Rhenium&r, a new material only found within the hot and dry region of &7TerraFirmaCraft&r. The amounts consumed are so low that one vein should last you to the end of the modpack, or at the very least to &6HV&r, where - with the help of the &6Cracker&r - this gas can become truly infinite.", + "quests.medium_voltage.reformate_gas.desc": "The &7Reformate Gas&r is your new go-to gas fuel at &bMV&r if that's the path you want to take. For perfect efficiency, you only need &61 Liquefaction Tower&r and &62 Pyrolyze Ovens&r, and you can start producing this precious gas non-stop.\n\nOh wait, first you need to find &5Rhenium&r, a new material only found within the hot and dry region of &7TerraFirmaCraft&r. The amounts consumed are so low that one vein should last you to the end of the modpack, or at the very least to &6HV&r, where - with the help of the &6Cracker&r - this gas can become truly infinite.", "quests.medium_voltage.mv_light_fuel.title": "Light Fuel", "quests.medium_voltage.mv_light_fuel.subtitle": "Turn up the lights in here, baby", "quests.medium_voltage.mv_light_fuel.desc": "Distillating &aOil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aLight Fuel&r is a good &9Power&r option, but there's something even greater... check the Quest to the left.", @@ -3114,7 +3114,7 @@ "quests.medium_voltage.mv_diesel.desc.3": "In general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aDiesel&r is burned in a &3Combustion Generator&r. It can be further refined to &6Cetane-Boosted Diesel&r in &6HV&r. Compared to the other power sources, it is generally more efficient, but a more demanding processing line. If you take the &eOil&r route for &aPolyethylene&r, this can work great with existing infrastructure. Ultimately, the power source you want to use is your choice.", "quests.medium_voltage.coal_tower.title": "Liquefaction Tower", "quests.medium_voltage.coal_tower.subtitle": "Who doesn't love new Multiblocks", - "quests.medium_voltage.coal_tower.desc.1": "The &bLiquefaction Tower&r is a new &bmultiblock&r used in the process of making &aReformate Gas&r and its byproducts, &7Coal Tar&r and &7Syngas&r. Depending on the &9Coil&r you use, you will get a discount on the &7recipe duration&r of every recipe. Simply use shift-click while hovering on a coil to know its bonuses.\n\nNotice that the &9Liquefaction Tower&r can be boosted by using &8Hydrogen&r, reducing the duration and therefore the cost. Don't forget to set the right &6circuit&r so it works.\n\nBy the way, if you don't know, a second is 20 ticks. So the amount it consumes per tick has to be multiplied by 20 to know how much it consumes per second.", + "quests.medium_voltage.coal_tower.desc.1": "The &bLiquefaction Tower&r is a new &bmultiblock&r used in the process of making &aReformate Gas&r and its byproducts, &7Coal Tar&r and &7Syngas&r. Depending on the &9Coil&r you use, you will get a discount on the &7recipe duration&r of every recipe. Simply use shift-click while hovering on a coil to know its bonuses.\n\nNotice that the &9Liquefaction Tower&r can be boosted by using &7Hydrogen&r, reducing the duration and therefore the cost. Don't forget to set the right &6circuit&r so it works.\n\nBy the way, if you don't know, a second is 20 ticks. So the amount it consumes per tick has to be multiplied by 20 to know how much it consumes per second.", "quests.medium_voltage.coal_tower.desc.2": "&l&3Lore:&r&o The same person who made the Fission Reactor also made the first design of the Liquefaction Tower, isn't it crazy.", "quests.medium_voltage.mv_jetpack.title": "I Believe I Can Fly", "quests.medium_voltage.mv_jetpack.subtitle": "...well, almost Fly", @@ -3233,7 +3233,7 @@ "quests.medium_voltage.mv_cells.desc": "Aluminium Cells are a big upgrade over the Steel Cells or Universal Fluid Cells.\n\nThey can hold any fraction of Fluid - up to &d32 buckets&r!", "quests.medium_voltage.mv_jetpack_2.title": "I Believe I Can Fly II", "quests.medium_voltage.mv_jetpack_2.subtitle": "...still not quite there.", - "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&8(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", + "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&7(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", "quests.medium_voltage.mv_cutter.title": "Advanced Cutter", "quests.medium_voltage.mv_cutter.subtitle": "Upgrades, people, upgrades!", "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note: You could use the &6Greate&r &7version, it has a tank to fill with fluid&r", @@ -4253,7 +4253,7 @@ "quests.tfg_tips.gt_filters.desc": "With &5GregTech&r, you get access to various &6filters&r that help you ease into &aautomation&r. All of them are compatible with different &dCovers&r, which you'll learn more about during the &7LV&r Chapter.\n\nHere, we're introducing two more specific filters that you might find &bhandy&r in certain situations.\n\nTo use a filter, simply apply it as a &dCover&r on any &5GT Machine&r or &6pipe&r.", "quests.tfg_tips.smart_item_filter.subtitle": "Knock, knock - who's that? It's MENSA!", "quests.tfg_tips.smart_item_filter.desc.1": "In this quest, we'll bestow upon you &5cursed wisdom&r... the ability to easily automate the Electrolyzer.\n\nThe &9Smart Item Filter&r is a filter that recognises Recipe Maps. When placed on the side of a machine, you can set it to \"&3Electrolyzer&r\" to allow insertion of electrolyzable items specifically. You heard that right - no need to filter manually!\n\nOh, and it only gets &abetter&r. If you combine this bad boy with a &aRobot Arm&r, it'll only supply the &6exact amount&r of items required for a successful recipe to the machine.", - "quests.tfg_tips.smart_item_filter.desc.2": "Place the &aRobot Arm&r on your Electrolyzer, open its GUI, then place the &9Smart Filter&r inside. Ensure that the Smart Filter is set to Electrolyzer.\n\nNext, configure it to &d&lImport&r and &d&lSupply Exact&r. Finally, attach any inventory &7(a chest will do)&r onto the side where you placed the &aRobot Arm&r. Ta-dah! You've figured out how to handle &6all&r Electrolyzer recipes!\n\nWhat about the output of the &3Electrolyzer&r? You may want to route the Fluids to several Tanks - or even &3Super Tanks&r if you've gotten that far. We highly recommend that you avoid any methods involving voiding Fluids.&7.&8. except for Water for obvious reasons.", + "quests.tfg_tips.smart_item_filter.desc.2": "Place the &aRobot Arm&r on your Electrolyzer, open its GUI, then place the &9Smart Filter&r inside. Ensure that the Smart Filter is set to Electrolyzer.\n\nNext, configure it to &d&lImport&r and &d&lSupply Exact&r. Finally, attach any inventory &7(a chest will do)&r onto the side where you placed the &aRobot Arm&r. Ta-dah! You've figured out how to handle &6all&r Electrolyzer recipes!\n\nWhat about the output of the &3Electrolyzer&r? You may want to route the Fluids to several Tanks - or even &3Super Tanks&r if you've gotten that far. We highly recommend that you avoid any methods involving voiding Fluids.&7.&7. except for Water for obvious reasons.", "quests.tfg_tips.smart_item_filter.desc.3": "&9Note:&r The Robot Arm has to facilitate the item transfer for its filtering functionality to work! Inserting directly into the machine &7(for instance, pushing with a Hopper!)&r will ignore the Robot Arm's &dSupply Exact&r setting.", "quests.tfg_tips.hazard_materials.title": "Hazardous Materials", "quests.tfg_tips.hazard_materials.subtitle": "Choking Hazard, Ages 3+", @@ -4555,7 +4555,7 @@ "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&r comes with &aAircraft Upgrades&r, which you can install in your to improve your aircraft stats, such as velocity, takeoff speed, fuel consumption, etc. There are two types of upgrades: &bregular&r and &dtiered.&r\n\nThe ones in this quest are the &bregular&r upgrades, think you can get them all?", "quests.tfg_tips.steam_upgrades.title": "Aircraft Upgrades: Steam", "quests.tfg_tips.steam_upgrades.subtitle": "Immersive Aircraft meets GregTech Tiering!", - "quests.tfg_tips.steam_upgrades.desc": "The second kind of aircraft upgrades are the &dTiered Upgrades.&r These are made to match the &3GregTech&r tiering system, going from &8Steam&r up to &5EV.&r\n\nSteam upgrades are the easiest and earliest to craft, requiring at the very least knowledge of &bBlack Steel.&r\n\n&dSteam-powered Aircraft Engines&r are used in the creation of more sophisticated aircrafts such as the &eBiplane&r and the &cWarship.&r", + "quests.tfg_tips.steam_upgrades.desc": "The second kind of aircraft upgrades are the &dTiered Upgrades.&r These are made to match the &3GregTech&r tiering system, going from &7Steam&r up to &5EV.&r\n\nSteam upgrades are the easiest and earliest to craft, requiring at the very least knowledge of &bBlack Steel.&r\n\n&dSteam-powered Aircraft Engines&r are used in the creation of more sophisticated aircrafts such as the &eBiplane&r and the &cWarship.&r", "quests.tfg_tips.steam_upgrades.task": "Any steam tier aircraft upgrade", "quests.tfg_tips.lv_upgrades.title": "Aircraft Upgrades: LV", "quests.tfg_tips.lv_upgrades.subtitle": "Red and Blue, certainly not clashing.", @@ -4843,7 +4843,7 @@ "quests.tfg_tips.tools_tips.subtitle": "How to tighten and loosen 101.", "quests.tfg_tips.tools_tips.tools.title": "Tools", "quests.tfg_tips.tools_tips.tools.subtitle": "It's all a hammer anyways.", - "quests.tfg_tips.tools_tips.tools.desc": "The only thing seperating man from animal is our use of &l&bTools&r&r. &8&oExcept for apes, monkeys, dolphins, crows, otters, octo.......&r&r Use your skills and tools to make the most of this world, and &5save yourself&r some effort.", + "quests.tfg_tips.tools_tips.tools.desc": "The only thing seperating man from animal is our use of &l&bTools&r&r. &7&oExcept for apes, monkeys, dolphins, crows, otters, octo.......&r&r Use your skills and tools to make the most of this world, and &5save yourself&r some effort.", "quests.tfg_tips.tools_tips.seed_oil.title": "Lamp Fuel: Seed Oil", "quests.tfg_tips.tools_tips.seed_oil.subtitle": "Smells good when it burns.", "quests.tfg_tips.tools_tips.seed_oil.desc": "&dSeed Oil&r will last you an impressive &c72&r days.", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 212834276..b8bbf9430 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1548,7 +1548,7 @@ "quests.ae2.cell_component_1m.desc": "The &3MEGA Storage Components&r will need an &bAssembly Line&r. Note that the non-Moon recipe must be crafted within a Cleanroom, or you can use a Cleaning Maintenance Hatch if you have access to one.\n\nNo need for that on the Moon though.", "quests.ae2.cell_component_4m.desc": "Simply bigger and more expensive.", "quests.ae2.cell_component_16m.desc": "This one can only be made on the &cMoon&r and nowhere else. It will also require a Cleanroom environment, so if you don’t want to bother with a Cleanroom on the &cMoon&r, you should make the &7Cleaning Maintenance Hatch&r.\n\nIt will also need some research. Refer to the &cZPM&r Chapter if you don’t know what that means.", - "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &8TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", + "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &cTerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", "quests.ae2.oversize_interface.desc": "The &dME Oversize Interface&r is a &dME Extended Interface&r but each slot can hold 16x more items or fluids. If you have processes that need huge quantities, this could be your go-to.", "quests.ae2.assembler_matrix.desc": "The &6Assembler Matrix&r is basically a customizable multiblock Molecular Assembler. The requirements for this quest should let you build one that we deem quite strong enough. You could add more layers of &bPattern Core&r or &aCraft Core&r if you want to.\n\nAs usual, check the in-game guide for detailed informations.", "quests.tasktype.checkmark": "Click here to complete this quest/task", @@ -1696,14 +1696,14 @@ "quests.gregtech_energy.start.subtitle": "It's not as bad as you think", "quests.gregtech_energy.moving.title": "Moving your Energy", "quests.gregtech_energy.moving.subtitle": "So, energy transfer, huh", - "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&8•&r Tin wire = &aLV&r\n&8•&r Copper wire= &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&8•&r 1A of LV = &a32 EU&r\n&8•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", + "quests.gregtech_energy.moving.desc": "Moving Energy in GregTech means understanding a few core mechanics.\n\nFirst, &bEnergy Tiers&r. From &aLV&r to &cUHV&r, everything in GregTech — wires, machines, recipes — is tied to a tier. You’ll need the &ecorrect cable material&r to move energy. For example:\n&7•&r Tin wire = &aLV&r\n&7•&r Copper wire= &bMV&r\n\nSecond, you’ve got the &bAmperage&r mechanic. Think of 1 Amp (or 1A) as &ea packet of energy&r. Machines request energy \"packets\", which then get sent down the wire.\n&7•&r 1A of LV = &a32 EU&r\n&7•&r 1A of HV = &e512 EU&r\n\nMost machines and energy hatches will only request &62A at maximum&r.\n\nMastering these two ideas is key before going further into energy distribution.", "quests.gregtech_energy.moving.task": "I understand", "quests.gregtech_energy.transformer.title": "The Super Transformer", "quests.gregtech_energy.transformer.subtitle": "Better than Optimus Prime", - "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can channel energy between any tiers — from &aLV&r to &cUHV&r — with no explosions. But that's not even the best part.\n\nIt can transmit energy using Laser Pipes.\n&8•&r Lasers send absurd amounts of Amps.\n&8•&r No loss. No cables. Just pure energy.\n&8•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", + "quests.gregtech_energy.transformer.desc": "For every problem, GregTech has a multiblock solution. Enter the &dActive Transformer&r.\n\nThis beast is your ultimate transformer. It can channel energy between any tiers — from &aLV&r to &cUHV&r — with no explosions. But that's not even the best part.\n\nIt can transmit energy using Laser Pipes.\n&7•&r Lasers send absurd amounts of Amps.\n&7•&r No loss. No cables. Just pure energy.\n&7•&r Only one catch: it &chas to be in a perfectly straight line&r.\n\nWhen cables feel weak, &luse lasers.", "quests.gregtech_energy.moving_wire.title": "Moving with wires", "quests.gregtech_energy.moving_wire.subtitle": "Funky to place", - "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&8•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n&8•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n&8•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", + "quests.gregtech_energy.moving_wire.desc": "Moving energy around in GregTech can be tricky — &bmost cables are lossy&r. For every block, for every amp, you might lose energy as it travels through your wires. But don’t worry, there are solutions:\n\n&7•&r Cover your wires with rubber. By doing so, you'll significantly reduce energy loss over distance. Just check the quest items for a reference.\n&7•&r Use higher-tier cables. Platinum cables, for example, only lose 1 EU per block — practically nothing when compared to the 8192 EU it can carry.\n&7•&r &bSuperconductors&r. These beauties are a bit pricier, but they have &9zero loss&r. They don’t need rubber covers, and won't zap you either. Just be aware that they're usually only craftable near the end of their tier.\n\nOptimize your energy flow — &breduce losses&r and make your systems more efficient.", "quests.gregtech_energy.moving_wire.task": "I finished looking at wires", "quests.gregtech_energy.moving_amp.title": "Managing Amp", "quests.gregtech_energy.moving_amp.subtitle": "It burns?", @@ -1801,7 +1801,7 @@ "quests.gregtech_energy.pss.title": "The Power Substation", "quests.gregtech_energy.pss.subtitle": "All your eggs in one basket", "quests.gregtech_energy.pss.desc.1": "The &dPower Substation&r — also known as the &dPSS&r — is the &6ultimate custom battery multiblock&r. Once you're able to craft it in &1IV&r, it should easily serve as your base's central source of power, so it can be a good thing to focus towards.\n\nIt can store so much energy... you’d probably need multiple lifetimes to fill it.", - "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &8Amperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", + "quests.gregtech_energy.pss.desc.2": "&eHow it works&r:\n- Build the structure using &aPalladium Substation Casings&r.\n- Add at least &b1 Energy Hatch&r (input) and &b1 Dynamo Hatch&r (output).\n- It accepts &aany hatch&r — &7Amperage-based&r or &6Laser&r.\n- &cNo risk of explosion&r — transformers are &aintegrated&r.\n\n&eCapacitor Layers&r:\n- You can add up to &d17 layers&r of &9Capacitor Blocks&r on top of the structure.\n- Each layer must be &cfully filled&r — no gaps.\n- Mix &fempty&r and &6full&r capacitors however you like.\n\nSurround each layer with &bLaminated Glass&r.\n\nLet’s be honest: &cYou’ll never need 17 layers&r... but hey, it’s nice to dream big.\nIf you ever do build a full 17-layer PSS, &lplease send help&r — you’ve gone too far.", "quests.gregtech_energy.batteries.title": "Super Batteries", "quests.gregtech_energy.batteries.subtitle": "Sci-Fi power storage", "quests.gregtech_energy.batteries.desc": "In &7LV&r and &bMV&r, you probably built your first batteries made of Sodium or Lithium.\n\nBut let’s be real — these are the weakest batteries GregTech has to offer.\n\nIn this quest, we’ll look at the powerful alternatives: the &acrystal batteries&r.\nThey are much more potent, store way more energy, and can help you push your factory to the next tier.\n\nAre they more expensive? Of course. But let’s be real...\nPower is Power. Who’s counting?", @@ -1837,7 +1837,7 @@ "quests.gregtech_energy.rotor.title": "Turbine Rotors", "quests.gregtech_energy.rotor.subtitle": "So many choices!", "quests.gregtech_energy.rotor.desc.1": "Rotor Holders naturally require a Rotor to use, but there's a lot of options and they all have different stats, so what do they all mean?\n\nHigher &9Efficiency&r will increase the time each mB of fuel is used for, effectively reducing fuel usage. Meanwhile, &9Power&r will increase how much EU the turbine will generate. Lastly, &9Durability&r should be obvious.", - "quests.gregtech_energy.rotor.desc.2": "Ideally, you'll want to maximize all three, but the choice will depend on how much fuel you're producing, how many turbines you have, and how often you want to replace them, so there's no definitive correct answer. &8(Besides neutronium, of course...)&r\n\nThat being said, if you're completely lost, we recommend Vanadium Steel in &6HV&r, Ultimet in &5EV&r, and HSS-S in &9IV&r.\n\nUnfortunately, you can't automatically pipe new rotors into rotor holders as they need the block in front of them to be completely empty, but a &aMechanical Arm&r will work!", + "quests.gregtech_energy.rotor.desc.2": "Ideally, you'll want to maximize all three, but the choice will depend on how much fuel you're producing, how many turbines you have, and how often you want to replace them, so there's no definitive correct answer. &7(Besides neutronium, of course...)&r\n\nThat being said, if you're completely lost, we recommend Vanadium Steel in &6HV&r, Ultimet in &5EV&r, and HSS-S in &9IV&r.\n\nUnfortunately, you can't automatically pipe new rotors into rotor holders as they need the block in front of them to be completely empty, but a &aMechanical Arm&r will work!", "quests.gregtech_energy.rotor.task": "Any Turbine Rotor", "quests.high_voltage": "&6HV&r - High Voltage", "quests.high_voltage.subtitle": "Upgrade your power, learn about the Cleanroom, make more chemicals, and get ready for Space", @@ -1920,7 +1920,7 @@ "quests.high_voltage.tnt.desc.3": "We don't have any easy tips to give you for &aToluene&r. It's going to be tricky no matter which route you take.\n\nThat being said, don't miss out on the direct &aHeavy Fuel&r to &aToluene&r recipe in the single block &3Distillery&r.\n\n&aToluene&r can also optionally be used in &5EV&r to make &dGasoline&r.\n\n&cTNT&r is used in the &3Implosion Compressor&r to make Gems. It also blows stuff up.", "quests.high_voltage.ender_pearls.title": "Ender Pearls", "quests.high_voltage.ender_pearls.subtitle": "Sci-fi gemstones, or something", - "quests.high_voltage.ender_pearls.desc": "You won't find any Endermen dropping Ender Pearls in TFG.\nEven the ones lurking in the Beneath won’t help you there.\n\nInstead, your only option for now is to craft them yourself:\n\nCombine &2Beryllium Dust&r and &2Potassium Dust&r in a &6HV&r Mixer to create the elusive &5Ender Dust&r.\n\nOnce that's done, throw it into an &8Implosion Compressor&r and recreate the iconic Ender Pearl — GregTech style.", + "quests.high_voltage.ender_pearls.desc": "You won't find any Endermen dropping Ender Pearls in TFG.\nEven the ones lurking in the Beneath won’t help you there.\n\nInstead, your only option for now is to craft them yourself:\n\nCombine &2Beryllium Dust&r and &2Potassium Dust&r in a &6HV&r Mixer to create the elusive &5Ender Dust&r.\n\nOnce that's done, throw it into an &7Implosion Compressor&r and recreate the iconic Ender Pearl — GregTech style.", "quests.high_voltage.boules.title": "Phosphorus Boules", "quests.high_voltage.boules.subtitle": "That's dope, bro!", "quests.high_voltage.boules.desc": "Doping is the process of intentionally introducing impurities into semiconductors to alter their properties.\n\n&7Silicon&r can be doped with small amounts of &ePhosphorus&r to make a better &eSilicon Boule&r.\n\nPhosphorus-doped Silicon Boules typically yield &68 times&r more wafers than their non-doped counterparts. However, they are not strictly needed until &5EV&r, where they'll be used in more complex wafers.\n\n&9Note&r: All processing of Phosphorus Boules and Wafers will require a &dCleanroom&r.", @@ -1957,7 +1957,7 @@ "quests.high_voltage.hv_hull.subtitle": "Soon to be a minestronaut", "quests.high_voltage.hv_hull.desc.1": "&2We hope you're getting the hang of &9GregTech&r, because now it's time to push your skills a bit further.\nIn this chapter, you'll unlock &eadvanced multiblocks&r, &ecomplex processes&r, and even take your first steps onto the &fMoon&r!\n\n&6For this chapter, you have two main goals :&r\n- Craft your first &5EV&r Machine Hull\n- Begin your journey to the &fMoon&r\n\nUnlocking the Moon will also grant access to &bCertus Quartz&r, paving the way for &dApplied Energistics 2&r. You’re free to tackle these objectives in any order you prefer.", "quests.high_voltage.hv_hull.desc.2": "To craft the &5EV&r Machine Hull:\n- Build your first &aCleanroom&r\n- Construct a &bVacuum Freezer&r to cool hot ingots\n- Process &9Rutile&r into &7Titanium&r\n\nYou'll find plenty of &9Rutile&r on the &fMoon&r, but it can also be located in &eBauxite&r veins in the &aOverworld&r.", - "quests.high_voltage.hv_hull.desc.3": "To reach the Moon:\n- Craft a generous amount of &6Rocket Alloy&r\n- Create your first &eEnder Eye&r using the &3Chemical Bath&r and the &8Implosion Compressor&r\n- Prepare all the &bequipment&r you'll need to &bbreathe in space&r\n\nGetting the &bVacuum Freezer&r and &6better coils&r will speed up &6Rocket Alloy&r production, but they’re not mandatory.\n\n&dChoose your path!&r", + "quests.high_voltage.hv_hull.desc.3": "To reach the Moon:\n- Craft a generous amount of &6Rocket Alloy&r\n- Create your first &eEnder Eye&r using the &3Chemical Bath&r and the &7Implosion Compressor&r\n- Prepare all the &bequipment&r you'll need to &bbreathe in space&r\n\nGetting the &bVacuum Freezer&r and &6better coils&r will speed up &6Rocket Alloy&r production, but they’re not mandatory.\n\n&dChoose your path!&r", "quests.high_voltage.nichrome.title": "Nichrome Ingots", "quests.high_voltage.nichrome.subtitle": "It doesn't have much use", "quests.high_voltage.nichrome.desc": "Your third alloy is here and it's essential for your next set of coils in the &6EBF&r.\n\nAs usual you will need &9128 ingots&r but this time you’ll notice that you can’t use a &6Chemical Washer&r. Instead, you're required to use a &6Vacuum Freezer&r.\n\nGood news: it’s actually simpler and faster.\n\nYou’ll only be using &6Nichrome&r for these coils, but don’t get too comfortable — it will return later for the next set of &5RTM Coils&r.", @@ -2026,7 +2026,7 @@ "quests.high_voltage.moon_harvester.desc": "The &7Moon&r is your first entry into &einfinite ores&r — but it’s a slow one.\nYou will need to harvest different kinds of &bRegolith Dust&r, each obtainable only in a specific biome.\nTo do this, you’ll rely on the &6Moon Harvester&r. There are two important things to remember when using it:\n\n• It requires an &9Input Bus&r so you can set the right &9circuit&r.\n• It supports &ecoils&r just like the &6Cracker&r — the higher the tier of your coils, the bigger the energy discount.\nThis is especially useful when harvesting Regolith far from your base.\n\nOf course, raw dust isn’t enough.\nYou’ll need a &asmall processing line&r to extract resources from the Regolith dust. So make sure to bring them to your &7Moon base&r for processing.", "quests.high_voltage.regolith_vapor.title": "Regolith Vapor", "quests.high_voltage.regolith_vapor.subtitle": "The little something to make dusts into ores", - "quests.high_voltage.regolith_vapor.desc": "To process your &bRegolith Dust&r, you’ll need &bRegolith Vapor&r — and setting it up is a bit more involved.\n\nHere’s what you’ll need:\n\n• &7Lunar Sand&r — obtainable infinitely with a &6Rock Breaker&r.\n• &eCarbon Dioxide&r — produced from &9Oxygen&r and &8Carbon Dust&r (easy, thanks to the infinite &bDiamond Dust&r you’ll be getting).\n• &9Nitrogen&r — acquired through the cultivation of &dChorus Fruits&r.\n\nTip: You can loop your &9Oxygen&r through &bSilicon Dioxide&r, which also gives you a steady bonus of &eSilicon Dust&r — a very useful side product.", + "quests.high_voltage.regolith_vapor.desc": "To process your &bRegolith Dust&r, you’ll need &bRegolith Vapor&r — and setting it up is a bit more involved.\n\nHere’s what you’ll need:\n\n• &7Lunar Sand&r — obtainable infinitely with a &6Rock Breaker&r.\n• &eCarbon Dioxide&r — produced from &9Oxygen&r and &7Carbon Dust&r (easy, thanks to the infinite &bDiamond Dust&r you’ll be getting).\n• &9Nitrogen&r — acquired through the cultivation of &dChorus Fruits&r.\n\nTip: You can loop your &9Oxygen&r through &bSilicon Dioxide&r, which also gives you a steady bonus of &eSilicon Dust&r — a very useful side product.", "quests.high_voltage.regolith_vapor.task": "Got it", "quests.high_voltage.regolith_dust.title": "Regolith for each biomes", "quests.high_voltage.regolith_dust.subtitle": "The three musketeers", @@ -2319,7 +2319,7 @@ "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.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&8We’re not sorry.&r", + "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", "quests.medium_voltage.mv_extruder.desc": "We &lSINCERELY&r hope at &cno&r point you made the &7LV&r Extruder, because only the &bMV&r Extruder is actually useful. If you did, immediately &arecycle it&r through the Arc Furnace.\n\nThe Extruder shapes solid materials into (almost!) any form using &aIngots&r. This is a great way to reduce the amount of microcrafting, as well as keeping a high conversion ratio.\n\nThe Extruder can make &6Bolts&r, &6Small Gears&r, &6Gears&r, and &6Rings&r at the highest efficiency in a single step!\n\nYou may also like to use it for &dPipes&r, &dScrews&r, and &dRotors&r.", @@ -2331,7 +2331,7 @@ "quests.medium_voltage.mv_mixer.desc": "If you're wanting to dive into &bMV&r, start here.\n\nThe dusts created in an &3MV Mixer&r have great utility.", "quests.medium_voltage.mv_energy.title": "Electricity Generation in MV", "quests.medium_voltage.mv_energy.subtitle": "Things are 'boutta get rough", - "quests.medium_voltage.mv_energy.desc.1": "Hello there, and welcome to &bMV Energy Production&r.\n\nIn this quest, we’ll go over the different options available to keep your &bMV machines&r powered and running smoothly.\n\nWe won’t cover this in every chapter, so we highly recommend that you &aread the dedicated chapter on GregTech Energy&r for a deeper understanding of how everything works.\n\nFor now, here are your &athree main options&r:\n\n&8- &bUse an MV Generator&r to directly produce &bMV-level energy&r.\n\n&8- &bStep up your &7LV&r power by using transformers&r, with a &e4:1 ratio&r between &7LV&r and &bMV&r.\n\n&8- &bConvert RF&r using your &dAlternator&r to get &bMV energy&r directly.\n\n", + "quests.medium_voltage.mv_energy.desc.1": "Hello there, and welcome to &bMV Energy Production&r.\n\nIn this quest, we’ll go over the different options available to keep your &bMV machines&r powered and running smoothly.\n\nWe won’t cover this in every chapter, so we highly recommend that you &aread the dedicated chapter on GregTech Energy&r for a deeper understanding of how everything works.\n\nFor now, here are your &athree main options&r:\n\n&7- &bUse an MV Generator&r to directly produce &bMV-level energy&r.\n\n&7- &bStep up your &7LV&r power by using transformers&r, with a &e4:1 ratio&r between &7LV&r and &bMV&r.\n\n&7- &bConvert RF&r using your &dAlternator&r to get &bMV energy&r directly.\n\n", "quests.medium_voltage.mv_energy.desc.2": "Higher-tier Generators will increase their fuel consumption proportionally to their Generation rate, keeping the duration of fuels and the specific amount of energy from fuels the same. The &3Advanced Steam Turbine&r will use &d5,120 mB Steam&r per second, equivalent to &d256 mB/t&r.\n\nGet &eany&r of the generators to complete this quest, but you may prefer starting off with the &3Advanced Steam Turbine&r.", "quests.medium_voltage.mv_energy.desc.3": "There are a few new power options available for &bMV&r. Selecting the Generators and pressing &4U&r will let you see which fuels count as &aCombustion&r or &aGas&r.\n\nQuests in the top left corner of this Chapter are for the valuable Power options.\n\nIf you stick to &9Steam&r for your Power generation, you'll probably need a &3Large Boiler&r.", "quests.medium_voltage.mv_energy.desc.4": "&3Transformers&r allow you to step up and down safely between Voltage tiers. They convert the power they receive into an equivalent amount of power 1 voltage tier above or below the input voltage.\n\nApart from running machines on different voltage tiers, Transformers come in handy for transporting power across longer distances, as cable loss has less of an effect at higher voltages. Just like real life!", @@ -2513,7 +2513,7 @@ "quests.medium_voltage.mv_cells.desc": "Aluminium Cells are a big upgrade over the Steel Cells or Universal Fluid Cells.\n\nThey can hold any fraction of Fluid - up to &d32 buckets&r!", "quests.medium_voltage.mv_jetpack_2.title": "I Believe I Can Fly II", "quests.medium_voltage.mv_jetpack_2.subtitle": "...still not quite there.", - "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&8(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", + "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&7(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", "quests.medium_voltage.mv_cutter.title": "Advanced Cutter", "quests.medium_voltage.mv_cutter.subtitle": "Upgrades, people, upgrades!", "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note : You could use the &6Greate&r &7version, it has now a tank to fill with it fluid&r&r", @@ -3677,7 +3677,7 @@ "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&r comes with &aAircraft Upgrades&r, which you can install in your to improve your aircraft stats, such as velocity, takeoff speed, fuel consumption, etc. There are two types of upgrades: &bregular&r and &dtiered.&r\n\nThe ones in this quest are the &bregular&r upgrades, think you can get them all?", "quests.tfg_tips.steam_upgrades.title": "Aircraft Upgrades: Steam", "quests.tfg_tips.steam_upgrades.subtitle": "Immersive Aircraft meets GregTech Tiering!", - "quests.tfg_tips.steam_upgrades.desc": "The second kind of aircraft upgrades are the &dTiered Upgrades.&r These are made to match the &3GregTech&r tiering system, going from &8Steam&r up to &5EV.&r\n\nSteam upgrades are the easiest and earliest to craft, requiring at the very least knowledge of &bBlack Steel.&r\n\n&dSteam-powered Aircraft Engines&r are used in the creation of more sophisticated aircrafts such as the &eBiplane&r and the &cWarship.&r", + "quests.tfg_tips.steam_upgrades.desc": "The second kind of aircraft upgrades are the &dTiered Upgrades.&r These are made to match the &3GregTech&r tiering system, going from &7Steam&r up to &5EV.&r\n\nSteam upgrades are the easiest and earliest to craft, requiring at the very least knowledge of &bBlack Steel.&r\n\n&dSteam-powered Aircraft Engines&r are used in the creation of more sophisticated aircrafts such as the &eBiplane&r and the &cWarship.&r", "quests.tfg_tips.steam_upgrades.task": "Any steam tier aircraft upgrade", "quests.tfg_tips.lv_upgrades.title": "Aircraft Upgrades: LV", "quests.tfg_tips.lv_upgrades.subtitle": "Red and Blue, certainly not clashing.", @@ -3965,7 +3965,7 @@ "quests.tfg_tips.tools_tips.subtitle": "How to tighten and loosen 101.", "quests.tfg_tips.tools_tips.tools.title": "Tools", "quests.tfg_tips.tools_tips.tools.subtitle": "It's all a hammer anyways.", - "quests.tfg_tips.tools_tips.tools.desc": "The only thing seperating man from animal is our use of &l&bTools&r&r. &8&oExcept for apes, monkeys, dolphins, crows, otters, octo.......&r&r Use your skills and tools to make the most of this world, and &5save yourself&r some effort.", + "quests.tfg_tips.tools_tips.tools.desc": "The only thing seperating man from animal is our use of &l&bTools&r&r. &7&oExcept for apes, monkeys, dolphins, crows, otters, octo.......&r&r Use your skills and tools to make the most of this world, and &5save yourself&r some effort.", "quests.tfg_tips.tools_tips.seed_oil.title": "Lamp Fuel: Seed Oil", "quests.tfg_tips.tools_tips.seed_oil.subtitle": "Smells good when it burns.", "quests.tfg_tips.tools_tips.seed_oil.desc": "&dSeed Oil&r will last you an impressive &c72&r days.", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 419abbdc2..efe2c8361 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -1819,7 +1819,7 @@ "quests.ae2.cell_component_1m.desc": "&3MEGAストレージコンポーネント&rを作るには、&bアセンブリライン&rが必要です。地球などの通常環境で作る場合はクリーンルーム内でクラフトするか、利用可能であればクリーニングメンテナンスハッチを使ってください。\n\n月面ではその手順は不要です。", "quests.ae2.cell_component_4m.desc": "大きくて高い。それだけ。", "quests.ae2.cell_component_16m.desc": "このアイテムは&c月面&rでのみ作成可能です。その他の場所では作れません。そのうえで、クリーンルームが必須となるため、&c月面&rでクリーンルームを準備したくない場合は、&7クリーニングメンテナンスハッチ&rを用意してください。\n\nさらに、作成には一定の研究も必要です。詳細が分からない場合は、&cZPM&rの章を確認してください。", - "quests.ae2.cell_component_64m.desc": "&c64MMEGAストレージコンポーネント&rは、&8TerraFirmaGreg&rにおける最大のストレージコンポーネントです。実際にはほとんど必要ないと思いますが、欲しくなる人もいるかもしれません。", + "quests.ae2.cell_component_64m.desc": "&c64MMEGAストレージコンポーネント&rは、&7TerraFirmaGreg&rにおける最大のストレージコンポーネントです。実際にはほとんど必要ないと思いますが、欲しくなる人もいるかもしれません。", "quests.ae2.oversize_interface.desc": "&dME特大インターフェース&rは、&dME拡張インターフェース&rのさらなる強化版で、各スロットに16倍のアイテムや液体を格納できます。大量処理を行う場合に非常に便利です。", "quests.ae2.assembler_matrix.desc": "&6組立マトリックス&rは、カスタマイズ可能なマルチブロック形式の分子組立機です。このクエストのTasksに沿えば、十分に強力なものを組み立てられるでしょう。必要に応じて&bパターンコア&rや&aクラフトコア&rを追加して拡張することも可能です。\n\n詳しい情報は、ゲーム内ガイドで確認してください。", "quests.tasktype.checkmark": "Click here to complete this quest/task", @@ -2208,14 +2208,14 @@ "quests.gregtech_energy.start.subtitle": "一度理解すれば簡単です", "quests.gregtech_energy.moving.title": "送電について", "quests.gregtech_energy.moving.subtitle": "電力の運搬", - "quests.gregtech_energy.moving.desc": "GregTechで電力を運搬を行うには、いくつかの基本的な仕組みを理解しておく必要があります。\n\nまずは&b電圧のティア&rについて。GregTechのあらゆるもの(ワイヤー、機械、レシピ)は&aLV&rから&cUHV&rまでのティアに分類されています。電力を正しく伝えるには、&e電圧に合った素材の電線&rを使う必要があります。\n例:\n&8•&r錫ワイヤー=&aLV&r\n&8•&r銅ワイヤー=&bMV&r\n\n次に重要なのが&bアンペア(A)&rの仕組みです。1アンペア(1A)は&eエネルギーの1パケット&rのようなもので、機械は必要に応じてこの「パケット」を要求し、電線を通して受け取ります。\n1アンペアごとの電力量は電圧によって異なります。電圧ごとに4倍ずつ上昇します\n例:\n&8•&rLVの1A=&a32EU&r\n&8•&rMVの1A=&e128EU&r\n\nほとんどの機械やエネルギーハッチは、最大でも&62A&rまでしか要求できません。\n\n電圧とアンペアを理解することが、GregTechの電力の扱いをマスターするための第一歩です。", + "quests.gregtech_energy.moving.desc": "GregTechで電力を運搬を行うには、いくつかの基本的な仕組みを理解しておく必要があります。\n\nまずは&b電圧のティア&rについて。GregTechのあらゆるもの(ワイヤー、機械、レシピ)は&aLV&rから&cUHV&rまでのティアに分類されています。電力を正しく伝えるには、&e電圧に合った素材の電線&rを使う必要があります。\n例:\n&7•&r錫ワイヤー=&aLV&r\n&7•&r銅ワイヤー=&bMV&r\n\n次に重要なのが&bアンペア(A)&rの仕組みです。1アンペア(1A)は&eエネルギーの1パケット&rのようなもので、機械は必要に応じてこの「パケット」を要求し、電線を通して受け取ります。\n1アンペアごとの電力量は電圧によって異なります。電圧ごとに4倍ずつ上昇します\n例:\n&7•&rLVの1A=&a32EU&r\n&7•&rMVの1A=&e128EU&r\n\nほとんどの機械やエネルギーハッチは、最大でも&62A&rまでしか要求できません。\n\n電圧とアンペアを理解することが、GregTechの電力の扱いをマスターするための第一歩です。", "quests.gregtech_energy.moving.task": "I understand", "quests.gregtech_energy.transformer.title": "大型変圧器", "quests.gregtech_energy.transformer.subtitle": "IMEの予測変換よりも優秀です", - "quests.gregtech_energy.transformer.desc": "GregTechでは、どんな問題もマルチブロックが解決してくれます。&d大型変圧器&rもきっとあなたの抱えている問題を解決してくれるでしょう。\n\nこの装置は、まさに究極の変圧器です。&aLV&rから&cUHV&rまで、どんな電圧にも対応して安全に電力を送ることができます。しかも、それだけではありません。\n\nこの変圧器はレーザーパイプを使って電力を転送できます。レーザーパイプの特徴として:\n&8•&r驚くほど大量のアンペアを送信可能\n&8•&r電力損失がゼロ。ケーブルも不要。\n&8•&rただし、&cレーザーは完全に直線で配置する必要がある&r。\n\nケーブルに限界を感じたら&lレーザーを使いましょう。", + "quests.gregtech_energy.transformer.desc": "GregTechでは、どんな問題もマルチブロックが解決してくれます。&d大型変圧器&rもきっとあなたの抱えている問題を解決してくれるでしょう。\n\nこの装置は、まさに究極の変圧器です。&aLV&rから&cUHV&rまで、どんな電圧にも対応して安全に電力を送ることができます。しかも、それだけではありません。\n\nこの変圧器はレーザーパイプを使って電力を転送できます。レーザーパイプの特徴として:\n&7•&r驚くほど大量のアンペアを送信可能\n&7•&r電力損失がゼロ。ケーブルも不要。\n&7•&rただし、&cレーザーは完全に直線で配置する必要がある&r。\n\nケーブルに限界を感じたら&lレーザーを使いましょう。", "quests.gregtech_energy.moving_wire.title": "電線による送電", "quests.gregtech_energy.moving_wire.subtitle": "少々クセがあります", - "quests.gregtech_energy.moving_wire.desc": "GregTechでは、他の工業Modとは違い、送電に制限をかける要素がいくつかあります。\n例えば、&b多くのケーブルには電力の損失があり&r、ブロックごと・アンペアごとに少しずつ電力が失われていきます。ですが安心してください、対策はあります。\n\n&8•&rケーブルをゴムで被覆しましょう。これだけでもエネルギー損失を大幅に抑えられます。クエストアイテムを確認してみてください。\n&8•&r長距離の伝送には高電圧のケーブルを使うのも効果的です。たとえばプラチナケーブルなら、8192EUも伝えられるなかで、1ブロックあたりの損失はたった1EUなのでほとんど誤差のようなものです。\n&8•&rそして最高の手段は&b超伝導体&rを使うことです。コストはかかりますが、&9完全に損失がゼロ&rです。被覆も不要で、感電の心配もありません。ただし、基本的にそのティアの終盤にならないと作成できません。\n\n送電を最適化し、&b損失を抑えて&r、より効率的に運用しましょう。", + "quests.gregtech_energy.moving_wire.desc": "GregTechでは、他の工業Modとは違い、送電に制限をかける要素がいくつかあります。\n例えば、&b多くのケーブルには電力の損失があり&r、ブロックごと・アンペアごとに少しずつ電力が失われていきます。ですが安心してください、対策はあります。\n\n&7•&rケーブルをゴムで被覆しましょう。これだけでもエネルギー損失を大幅に抑えられます。クエストアイテムを確認してみてください。\n&7•&r長距離の伝送には高電圧のケーブルを使うのも効果的です。たとえばプラチナケーブルなら、8192EUも伝えられるなかで、1ブロックあたりの損失はたった1EUなのでほとんど誤差のようなものです。\n&7•&rそして最高の手段は&b超伝導体&rを使うことです。コストはかかりますが、&9完全に損失がゼロ&rです。被覆も不要で、感電の心配もありません。ただし、基本的にそのティアの終盤にならないと作成できません。\n\n送電を最適化し、&b損失を抑えて&r、より効率的に運用しましょう。", "quests.gregtech_energy.moving_wire.task": "I finished looking at wires", "quests.gregtech_energy.moving_amp.title": "アンペアの扱い", "quests.gregtech_energy.moving_amp.subtitle": "うわっ!燃えた!?", @@ -2298,10 +2298,10 @@ "quests.gregtech_energy.smr.task": "", "quests.gregtech_energy.gasoline.title": "ガソリン", "quests.gregtech_energy.gasoline.subtitle": "燃料界のスーパースター", - "quests.gregtech_energy.gasoline.desc": "&aガソリン&rは&6HV&rで解禁される非常に強力な燃焼燃料ですが、&6蒸留塔&rを建設してから本格的な生産を始めるのが現実的です。&7トルエン&rは&7木質タール&rや&7重質燃料&rから簡単に作成でき、それ以外に必要なものは&d精製ガス&r、&8ナフサ&r、そして&3酸素&r・&b水素&r・&1炭素&rの化合物たちです。\n\n高い性能を持ち、比較的簡単に製造できるうえ、さらに&c高オクタン価ガソリン&rへとアップグレードすることも可能です。", + "quests.gregtech_energy.gasoline.desc": "&aガソリン&rは&6HV&rで解禁される非常に強力な燃焼燃料ですが、&6蒸留塔&rを建設してから本格的な生産を始めるのが現実的です。&7トルエン&rは&7木質タール&rや&7重質燃料&rから簡単に作成でき、それ以外に必要なものは&d精製ガス&r、&7ナフサ&r、そして&3酸素&r・&b水素&r・&1炭素&rの化合物たちです。\n\n高い性能を持ち、比較的簡単に製造できるうえ、さらに&c高オクタン価ガソリン&rへとアップグレードすることも可能です。", "quests.gregtech_energy.high_gasoline.title": "高オクタン価ガソリン(ハイオク)", "quests.gregtech_energy.high_gasoline.subtitle": "ハイオク満タンで", - "quests.gregtech_energy.high_gasoline.desc": "&cガソリン&rの直接的なアップグレードで、&5性能が2倍に強化された燃料&rです。名前からは分かりにくいですが、&dオクタン&rだけでなく、&8石油化学&r由来の他の素材も追加する必要があります。\n\nこの段階まで来れたあなたなら、&bEMI&rを使ってレシピを把握し、この非常に強力な燃料を自力で製造できるようになっていることでしょう。", + "quests.gregtech_energy.high_gasoline.desc": "&cガソリン&rの直接的なアップグレードで、&5性能が2倍に強化された燃料&rです。名前からは分かりにくいですが、&dオクタン&rだけでなく、&7石油化学&r由来の他の素材も追加する必要があります。\n\nこの段階まで来れたあなたなら、&bEMI&rを使ってレシピを把握し、この非常に強力な燃料を自力で製造できるようになっていることでしょう。", "quests.gregtech_energy.lst_fuel.title": "蒸気", "quests.gregtech_energy.lst_fuel.subtitle": "ある意味水力発電", "quests.gregtech_energy.lst_fuel.desc": "蒸気を作るのは簡単です。ただ水を沸かすだけですから。\n\n大量の蒸気を生産するなら&6大型ボイラー&rの使用をおすすめします。バージョンは4種類で、それぞれ&8ULV&r、&bMV&r、&5EV&r、&1IV&r用のものがあります。ティアが上がるごとに蒸気の生産量も大幅に増えます。\n\n注意:これらのボイラーを使ったとしても、&d大型蒸気タービン&rの性能は他の発電方法ほどではありません。\n\nほとんどのプレイヤーはチタンやタングステンスチールボイラーを使うことはありません。作れはしますが、その価値がほとんどありません。蒸気は単純ですが、性能が頭打ちになりがちです。\n\n参考までに:&e2mB&rの蒸気=&e1EU&r。", @@ -2340,7 +2340,7 @@ "quests.gregtech_energy.pss.title": "大型蓄電器", "quests.gregtech_energy.pss.subtitle": "ところがどっこい...夢じゃありません!", "quests.gregtech_energy.pss.desc.1": "&d大型蓄電器&r(通称:&dPSS&r)は、&6超強力な蓄電用のマルチブロック&rです。\n\nEVから使えるようになるので、もし、電力に不安を抱えていたらすぐにでも作りましょう。あなたの不安を消し飛ばすほどの莫大な蓄電量を誇ります。\n\n桁外れの蓄電容量だけでなく、そのほかにも電力の管理を非常に楽にしてくれる要素を持っています。", - "quests.gregtech_energy.pss.desc.2": "&e扱い方&r:\n-まず&aパラジウム製大型蓄電器用外装&rで本体を組み立てましょう。\n-入力用に&bエネルギーハッチ&rを1つ、出力用に&bダイナモハッチ&rを1つ以上設置します。\n-対応ハッチは自由で、&8アンペア型&rでも&6レーザー型&rでもOK。\n-&c爆発の心配は不要&rです——使った蓄電ブロックにかかわらず&aどんな電圧でも&r受け入れます。\n\n&e蓄電層について&r:\n-上部には最大&d17層&rまでの&9蓄電ブロック&rを積み重ねられます。\n-各層は&c隙間なく&r設置する必要があります。\n-&f空&rのものと&6バッテリーが入っている&rものが混ざっていても構いません。\n\nそして蓄電層を&b合わせガラス&rで囲めば完成です。\n\n正直言って、&c17層も積む必要なんてまずありません&r...ロマンを追い求めるなら別ですが。\nもし本当に17層フルのPSSを作ったなら、&lSNSで自慢しましょう&r。", + "quests.gregtech_energy.pss.desc.2": "&e扱い方&r:\n-まず&aパラジウム製大型蓄電器用外装&rで本体を組み立てましょう。\n-入力用に&bエネルギーハッチ&rを1つ、出力用に&bダイナモハッチ&rを1つ以上設置します。\n-対応ハッチは自由で、&7アンペア型&rでも&6レーザー型&rでもOK。\n-&c爆発の心配は不要&rです——使った蓄電ブロックにかかわらず&aどんな電圧でも&r受け入れます。\n\n&e蓄電層について&r:\n-上部には最大&d17層&rまでの&9蓄電ブロック&rを積み重ねられます。\n-各層は&c隙間なく&r設置する必要があります。\n-&f空&rのものと&6バッテリーが入っている&rものが混ざっていても構いません。\n\nそして蓄電層を&b合わせガラス&rで囲めば完成です。\n\n正直言って、&c17層も積む必要なんてまずありません&r...ロマンを追い求めるなら別ですが。\nもし本当に17層フルのPSSを作ったなら、&lSNSで自慢しましょう&r。", "quests.gregtech_energy.batteries.title": "強力なバッテリー", "quests.gregtech_energy.batteries.subtitle": "IC2のその先へ", "quests.gregtech_energy.batteries.desc": "&7LV&rや&bMV&rの頃に、ナトリウム電池やリチウム電池を初めて作ったと思います。\n\nその頃は、バッテリーの性能に満足できないこともあったと思います。\n\nこのクエストでは、そのようなバッテリーとは比べ物にならないほど強力な「&aクリスタルバッテリー&r」系統を紹介します。\nエネルギー容量も出力も段違いで、きっとバッテリーで不満を感じることはなくなるでしょう。\n\nもちろんコストはやや高めです。ですが、そんなの問題じゃありません。\n電力は正義。細かいことを気にする必要はないのです", @@ -2376,14 +2376,14 @@ "quests.gregtech_energy.rotor.title": "タービンローター", "quests.gregtech_energy.rotor.subtitle": "豊富な品揃え", "quests.gregtech_energy.rotor.desc.1": "ローターホルダーを使うにはローターが必要ですが、種類が多く、それぞれ性能が異なります。では、具体的に何が違うのでしょうか?\n\n&9タービン効率&rが高いほど、同じ燃料量でより長く発電機を稼働でき、燃費が良くなります。&9タービンパワー&rが高いほど、発電できるEUの量が増えます。そして&9耐久値&rは、そのローターがどれくらい長持ちするかを示しています。", - "quests.gregtech_energy.rotor.desc.2": "もちろん、効率・パワー・耐久値の3つをすべてが高い方がいいですが、現実的には「燃料生産量」「タービンの数」「ローター交換の手間」などによって最適解は変わります。つまり、これといった正解はないのです。&8(まあ、ニュートロニウムを除けばですが...)&r\n\n迷った場合は、&6HV&r帯ではバナジウム鋼、&5EV&rではアルティメット、&9IV&rではHSS-Sを使うのがおすすめです。\n\n\n\nなお、ローターホルダーは正面が塞がっていると動作しないため、新しいローターをパイプなどで自動補充することはできませんが、&aメカニカルアーム&rであれば問題なく交換できます!", + "quests.gregtech_energy.rotor.desc.2": "もちろん、効率・パワー・耐久値の3つをすべてが高い方がいいですが、現実的には「燃料生産量」「タービンの数」「ローター交換の手間」などによって最適解は変わります。つまり、これといった正解はないのです。&7(まあ、ニュートロニウムを除けばですが...)&r\n\n迷った場合は、&6HV&r帯ではバナジウム鋼、&5EV&rではアルティメット、&9IV&rではHSS-Sを使うのがおすすめです。\n\n\n\nなお、ローターホルダーは正面が塞がっていると動作しないため、新しいローターをパイプなどで自動補充することはできませんが、&aメカニカルアーム&rであれば問題なく交換できます!", "quests.gregtech_energy.rotor.task": "Any Turbine Rotor", "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のようなもの」だということです。\n適切な燃料を投入すると、&c熱量&r(&6EU/t&rのようなもの)というエネルギーを発生させ、それを炉内に&c熱&rとして蓄積します(つまり、&6EU&rを貯めているのです)。\n\nその熱を&9冷却液&rに移してタービンを回したり、熱が余っていたら熱を利用したクラフトに使うことなどもできます。\n\n副産物として新しい元素を入手し、新しい核燃料や上位の回路などを作ることもできます。ついでに太陽系の探検でもしてみますか?まあそんなことに興味はないですよね。", "quests.gregtech_energy.fission_reactor.desc.2": "まずは&dトリウム&rを用意してください。取扱いは危険ですので必ず保護具を着用してください。(&eディーテック宇宙技術社&rは一切の事故の責任を負いません。危険防止クエストで安全な手順を確認してください。)\n\n次に、空の&d燃料棒&rを作って&d核燃料形成機&rで燃料を注入してください。燃料棒は再利用できますから大量に作る必要はなく、最初は1本だけ作れば十分です。\n\n次に、核分裂炉を完成させてください。構造はEMIで確認できます。\n中央には燃料を入れるための「燃料棒格納部」を立てて、周囲に耐熱フレームやマテリアルホルダーなどの「コンポーネント」を追加できる構成になっています(詳しくは後ほど)。\n\n「なぜ1本だけ?」と疑問に思いましたか。良い疑問です。次のページで核分裂炉の仕組みをじっくり解説いたします。", "quests.gregtech_energy.fission_reactor.desc.3": "炉内に入れる&d燃料棒&rが多いほど、&c温度は上昇しやすく&rなります。そして温度が高いほど、より多くの熱を冷却液などへと移すことができます。しかし耐えられる熱には限界があり、炉は&c一定の温度&rまでにしか達しないため、あまり多くの燃料棒を入れすぎないようにしてください。\n\nとはいえご安心ください!&0Mek至上主義者&rの喧伝は誤りであり、核分裂というのは&a完璧に安全&rです!\n炉内の温度が危険域に近づくと、炉は&9自動的にクールダウンモード&rに入り、すべての熱が&a安全域まで発散&rされるまで再稼働しません。ただしクールダウン期間はかなり長いです。\n\nもっと高温かつ高速にする方法はあるのか、気になってきましたか?&e我々が誇る素晴らしき部隊&rがあなたのための解決策を用意しています。", - "quests.gregtech_energy.fission_reactor.desc.4": "5つの&d燃料棒格納部&rのほかに、最大で&o20個&rの「&dコンポーネント&r」を組み込むことができます。他社の核分裂炉は厄介な構造なものも多くありますが、当社製の核分裂炉はとてもスマートです。設置したコンポーネントの&6ステータス&rは単純に&6合算&rされ、その結果が反映されます。\n\n現時点の核分裂炉で利用できるコンポーネントの効果は次の3種類です:\n&e1)&r最大温度上昇&7(耐熱性強化)&r\n&e2)&r効率向上&7(燃料の消費を抑える)&r\n&e3)&rスロットル調整&7(反応速度を制御)&r\n\n&8*)&rただし、あなたの手の届く場所にある素材では、まだすべてのコンポーネントを作ることはできないかもしれません。現在のところ、初歩的なコンポーネント用の素材しか確認されていないようです。\n\nそれから注意点として&c温度&rを上げることには&cデメリット&rも伴います。", + "quests.gregtech_energy.fission_reactor.desc.4": "5つの&d燃料棒格納部&rのほかに、最大で&o20個&rの「&dコンポーネント&r」を組み込むことができます。他社の核分裂炉は厄介な構造なものも多くありますが、当社製の核分裂炉はとてもスマートです。設置したコンポーネントの&6ステータス&rは単純に&6合算&rされ、その結果が反映されます。\n\n現時点の核分裂炉で利用できるコンポーネントの効果は次の3種類です:\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しますが、&d燃料棒&rの消耗が激しくなります。各燃料棒の耐久は温度に比例して減少し、また高温にするためには、必要本数も増えるため、全体の損耗は&n二次的&rに増加します。\n\n燃料効率を考えるならば低温運転が有利ですし、燃料をより早く消費し、副産物に変換したいなら耐熱性能が許す限り高温にするのがよいでしょう。", "quests.gregtech_energy.fission_reactor.desc.6": "これで核分裂炉を運用する際の事前知識は揃いました。それでは、具体的にどのようなレシピを実行できるのか確認しましょう。&d核分裂炉MK_I&rを&eEMI&rで調べると、3つのレシピが表示されます:\n\n&e1)&rFission_Reactor&7(対応している燃料と冷却液の一覧)&r\n&e2)&rFission_Heat_Processing&7(例:EBFのような高温処理)&r\n&e3)&rFission_Products&7(燃料が使い切られたときの副産物)&r\n&e4)&rマルチブロック情報\n\nそれぞれの&a燃料&rは特定の&9冷却液&rとしか組み合わせられないため、対応関係をよく確認してください。\nまた燃料棒が寿命を迎えると、新たな元素へと遷移します。\n\n一方で、処理レシピは十分な温度があれば燃料の種類に関係なく動作します。", "quests.gregtech_energy.fission_reactor.desc.7": "簡略化した計算は次の通りです。十分な量の冷却液と&cHeat:100%&rの燃料棒を使用すると、炉内は約&c200&rの温度に達します。これは熱量レベル、または単に「熱」とも呼ばれます。&d2&r本の&c100%&r燃料棒を使用することは、&d1&r本の&c200%&r燃料棒を使用するのと同じで、どちらも約&c400&rのHeatを生み出します。\n\nこれは燃料棒が1本あたり&6200HU/t&r(Heat_Units)を生成するためです。冷却液は&c1&r度あたり&61HU/t&rの熱を吸収できます。\n\n炉の耐熱許容量が&c190&rの場合、&c100%&rの燃料棒でも過熱状態になってしまいます。これを回避するには、コンポーネントを追加して耐熱許容量を上げるか、あるいは&d冷却材&rを使用します。使う冷却材によって冷却性能は異なります。", @@ -2470,7 +2470,7 @@ "quests.high_voltage.tnt.desc.3": "&aトルエン&rは基本的にある程度作るのが面倒です。\n\nその中でも&3蒸留機&rで&a重質燃料&rを直接&aトルエン&rに変換するレシピは有用です。\n\nトルエンは&dガソリン&rの素材としても使います。\n\n&cTNT&rは&3内破圧縮機&rで使いますし、発破して採掘するなどの用途もあります。", "quests.high_voltage.ender_pearls.title": "エンダーパール", "quests.high_voltage.ender_pearls.subtitle": "非科学的結晶体", - "quests.high_voltage.ender_pearls.desc": "TFGでは、エンダーマンが純正のエンダーパールを落としてくれません。\n「Beneath」にいる連中も例外ではなく、頼りにはなりません。\n\nそのため、今のところエンダーパールを手に入れるには作るしかありません。\n\n&6HV&rミキサーで&2ベリリウム&rと&2カリウム&rを混合し、&5エンダーダスト&rを作るか、エンダーマンが落とす亜種のエンダーパールを砕きます。\n\nそれを&8内破圧縮機&rに入れれば、あのエンダーパールを科学技術によって作り出すことができます。", + "quests.high_voltage.ender_pearls.desc": "TFGでは、エンダーマンが純正のエンダーパールを落としてくれません。\n「Beneath」にいる連中も例外ではなく、頼りにはなりません。\n\nそのため、今のところエンダーパールを手に入れるには作るしかありません。\n\n&6HV&rミキサーで&2ベリリウム&rと&2カリウム&rを混合し、&5エンダーダスト&rを作るか、エンダーマンが落とす亜種のエンダーパールを砕きます。\n\nそれを&7内破圧縮機&rに入れれば、あのエンダーパールを科学技術によって作り出すことができます。", "quests.high_voltage.boules.title": "リン添加シリコン単結晶", "quests.high_voltage.boules.subtitle": "いいからドーピングだ!", "quests.high_voltage.boules.desc": "ドーピングとは、半導体の性質を変えるために、意図的に不純物を加える技術です。\n\n&7シリコン&rに少量の&eリン&rを混ぜてドーピングすることで、品質の高い&eシリコン単結晶&rを作ることができます。\n\nリンでドーピングしたシリコン単結晶は、通常のものに比べて最大&68倍&rものウェハーを生産できます。&5EV&r以降では、より高度なウェハーの製造にも使われます。\n\n&9注意&r:リン添加シリコンウェハーの加工は、&dクリーンルーム&rの中でする必要があります。", @@ -2507,7 +2507,7 @@ "quests.high_voltage.hv_hull.subtitle": "偉大な一歩を踏み出そう", "quests.high_voltage.hv_hull.desc.1": "そろそろ&2&9GregTech&rに慣れてきましたか?ここからは、より一層できることが増えていきます。\nこの章では、&e高度なマルチブロック&rや&e複雑な工程&rを扱い、そしてついに&f月&rへと向かう準備を始めます!\n\n&6この章の主な目標は以下の2つです:&r\n-&5EV&rマシン筐体を作ること\n-&f月&rへの冒険を始めること\n\n月へ到達すると、&bケルタスクォーツ&rが採掘できるようになり、&dAE2&rの要素が解禁されます。どちらを目指すのも自由です。", "quests.high_voltage.hv_hull.desc.2": "&5EV&rマシン筐体を作るためには、次の準備が必要です:\n-&aクリーンルーム&rを建造する\n-熱いインゴットを冷やすための&b真空冷却機&rを用意する\n-&9ルチル&rを加工して&7チタン&rを精製する\n\n&f月&rでは&9ルチル&rが豊富に見つかりますが、&aオーバーワールド&rの&eボーキサイト&r鉱脈などからも多少は入手可能です。", - "quests.high_voltage.hv_hull.desc.3": "月に行くためには、以下の工程を踏みましょう:\n-大量の&6ロケット合金&rを用意する\n-&8内破圧縮機&rと&3熱分解炉&rで、&eエンダーパール&rを加工する\n- 宇宙空間で&b生存できる&rように、必要な&b宇宙服&rを揃える\n\n&b真空冷却機&rや&6上位のコイル&rを使えば&6ロケット合金&rの製造速度を上げられますが、なくても問題はありません。\n\n&dさあ、自分の進む道を選びましょう!&r", + "quests.high_voltage.hv_hull.desc.3": "月に行くためには、以下の工程を踏みましょう:\n-大量の&6ロケット合金&rを用意する\n-&7内破圧縮機&rと&3熱分解炉&rで、&eエンダーパール&rを加工する\n- 宇宙空間で&b生存できる&rように、必要な&b宇宙服&rを揃える\n\n&b真空冷却機&rや&6上位のコイル&rを使えば&6ロケット合金&rの製造速度を上げられますが、なくても問題はありません。\n\n&dさあ、自分の進む道を選びましょう!&r", "quests.high_voltage.nichrome.title": "ニクロムインゴット", "quests.high_voltage.nichrome.subtitle": "使い道はそう多くないです", "quests.high_voltage.nichrome.desc": "これは3番目の&6EBF&rコイルの素材です。\nこれまでと同じく&9128個のインゴット&rが必要です。\n冷却には&6化学槽&rではなく、&6真空冷却機&rを使わなければなりません。真空冷却機なら冷却処理をより効率的に行うことができます。\n\n今回は&6ニクロム&rのみを使ってコイルを作りますが、この素材は後の&5RTMコイル&rの製作でも再び必要になりますので覚えておきましょう。", @@ -2576,7 +2576,7 @@ "quests.high_voltage.moon_harvester.desc": "&7月&rでは、いくつかの鉱石の&e無限化&rができます。\nそのためには異なる種類の鉱石の&b岩屑(がんせつ)&rを集める必要がありますが、それぞれ特定のバイオームでしか入手できません。\n岩屑の採取には&6ムーンハーベスター&rを使用します。使う際に覚えておくべき重要なポイントが2つあります:\n\n•&9回路&rを設定するために、&9搬入バス&rが必要です。\n•&6クラッカー&rと同様に、使うコイルのグレードが高いほど、エネルギー消費が軽減されます。\nこれは特に、基地から離れた場所で岩屑を採取する際に役立ちます。\n\n集めた岩屑はそのままでは使うことができません。\n岩屑から資源を抽出するために&a小規模な処理ライン&rを組む必要があります。&7月面基地&rを発展させましょう!", "quests.high_voltage.regolith_vapor.title": "月面堆積粉塵", "quests.high_voltage.regolith_vapor.subtitle": "宇宙塵", - "quests.high_voltage.regolith_vapor.desc": "&b岩屑&rを処理するには、&b月面堆積粉塵&rが必要になります。ただし、その準備には少し手間がかかります。\n\n必要なものは以下の通りです:\n\n• &7月の砂&r——&6破砕機&rを使えば無限に入手できます。\n• &e二酸化炭素&r——&9酸素&rと&8炭素&r(&bダイヤモンドの粉&rから入手可能)から生成できます。\n•&9窒素&r——&dコーラスフルーツ&rの栽培によって生成できます。\n\nTips:を&b二酸化ケイ素&rから&9酸素&rを取り出す過程で、安定した量の&eケイ素&rを副産物として得られます。非常に便利な副収入源ですね。", + "quests.high_voltage.regolith_vapor.desc": "&b岩屑&rを処理するには、&b月面堆積粉塵&rが必要になります。ただし、その準備には少し手間がかかります。\n\n必要なものは以下の通りです:\n\n• &7月の砂&r——&6破砕機&rを使えば無限に入手できます。\n• &e二酸化炭素&r——&9酸素&rと&7炭素&r(&bダイヤモンドの粉&rから入手可能)から生成できます。\n•&9窒素&r——&dコーラスフルーツ&rの栽培によって生成できます。\n\nTips:を&b二酸化ケイ素&rから&9酸素&rを取り出す過程で、安定した量の&eケイ素&rを副産物として得られます。非常に便利な副収入源ですね。", "quests.high_voltage.regolith_vapor.task": "Got it", "quests.high_voltage.regolith_dust.title": "バイオームごとの岩屑", "quests.high_voltage.regolith_dust.subtitle": "月面スタンプラリー", @@ -2637,7 +2637,7 @@ "quests.low_voltage.lv_seeds.task": "Canola or Sunflowers", "quests.low_voltage.lv_gas_turbine.title": "ガスタービン発電", "quests.low_voltage.lv_gas_turbine.subtitle": "ちょっと背伸びした発電", - "quests.low_voltage.lv_gas_turbine.desc": "&7合成ガス&rがあれば、&7LV&rでも&8ガスタービン&rを実用的に使うことができます。他の&6発電機&rと扱いはほとんど変わりませんが、&6燃焼発電機&rよりもわずかにコストパフォーマンスの面で優れています。", + "quests.low_voltage.lv_gas_turbine.desc": "&7合成ガス&rがあれば、&7LV&rでも&7ガスタービン&rを実用的に使うことができます。他の&6発電機&rと扱いはほとんど変わりませんが、&6燃焼発電機&rよりもわずかにコストパフォーマンスの面で優れています。", "quests.low_voltage.lv_gas_syngas.title": "合成ガス", "quests.low_voltage.lv_gas_syngas.subtitle": "木質ガスじゃないよ", "quests.low_voltage.lv_gas_syngas.desc": "&7合成ガス&rの作成はとても簡単です。&6醸造機&rまたは&6Vacuum Chamber&r1台につき、&bコークス炉&rを3台用意するだけで十分です。そのうえで、エネルギー消費の不要な&bCreate式の自動植林施設&rで&7原木&rを集めれば、初期から&7ガス燃料&rを気軽に利用できるようになります。", @@ -2899,7 +2899,7 @@ "quests.medium_voltage.mv_mixer.desc": "&bMV&r機械が揃ってきたのなら、そろそろこれを作る時。\n\n&3MVミキサー&rで作れるアイテムには、有用なものがとても多いです。", "quests.medium_voltage.mv_energy.title": "MV時代の電力事情", "quests.medium_voltage.mv_energy.subtitle": "さらなる苦役のはじまり", - "quests.medium_voltage.mv_energy.desc.1": "このクエストでは、&bMV機械&rを安定稼働するために必要となる、電力の生産方法について紹介していきます。\n\n今後は電力時代のクエストタブで発電方法について触れることはしない予定なので、HV以降はGregtechエネルギーについてのクエストタブを参照してください。\n\nMVで取れる方法は&a3種類&rあります。\n\n&81.&bMV発電機&rで&bMV電力&rを生産する。\n\n&82.&b&7LV&r電力を昇圧する&r。交換比は&e4:1&r。\n\n&83.&bFE&rから&dエネルギー変換器&rで変換する。\n\n", + "quests.medium_voltage.mv_energy.desc.1": "このクエストでは、&bMV機械&rを安定稼働するために必要となる、電力の生産方法について紹介していきます。\n\n今後は電力時代のクエストタブで発電方法について触れることはしない予定なので、HV以降はGregtechエネルギーについてのクエストタブを参照してください。\n\nMVで取れる方法は&a3種類&rあります。\n\n&71.&bMV発電機&rで&bMV電力&rを生産する。\n\n&72.&b&7LV&r電力を昇圧する&r。交換比は&e4:1&r。\n\n&73.&bFE&rから&dエネルギー変換器&rで変換する。\n\n", "quests.medium_voltage.mv_energy.desc.2": "上位の発電機では、発電量に比例して燃料消費速度が上昇します。あくまで消費速度が上がるだけで、燃料あたりの発電量は常に同じです。&3発展型蒸気タービン&rは、毎秒&d5120mB&rの蒸気を消費します。1tickあたりの消費量で表すと、&d256mB/t&rです。\n\nいずれかの発電機を作成すると、クエストクリアとなります。おそらく最初に作るのは&3発展型蒸気タービン&rになるかと思います。", "quests.medium_voltage.mv_energy.desc.3": "蒸気タービン以外にも、&bMV&rの発電機はいくつか存在します。インベントリ内で発電機にカーソルを合わせ、&4U&rキー(初期設定の場合)を押すことで、発電機ごとに使用できる燃料の種類を確認することができます。\n\n本チャプターの左上では、色々な発電方法が紹介されているので、確認しておきましょう。\n\n&9蒸気タービン&rを使用する場合は、&3大型ボイラー&rを作成しないと蒸気の消費量がかなり厳しいです。", "quests.medium_voltage.mv_energy.desc.4": "&3変圧器&rを使用することで、安全に電圧を上げ下げすることができます。変圧器を通った電気は、モードに応じて1段階上または下の電圧に変換されます。\n\n変圧器の役割には、異なる電圧の機械を動かすことに加えて、長距離の電力輸送があげられます。というのも、電圧が上がれば上がるほどケーブルの減衰による影響は小さくなるからです。この辺りの仕様は現実と同じです。", @@ -2956,7 +2956,7 @@ "quests.medium_voltage.mv_benzene.desc.3": "&l&3余談:&r&oベンゼンはGTCEuの頃からずっと抜群に強力なガス燃料で、あまりにも強力だったのでミームにまでなってたんだよ。でも今は、その栄光は見る影もなくなって...以前ほどの活躍は見込めないかもね。", "quests.medium_voltage.reformate_gas.title": "ガス革命", "quests.medium_voltage.reformate_gas.subtitle": "引導を渡す", - "quests.medium_voltage.reformate_gas.desc": "&8改質ガス&rは、&bMV&rでのガス燃料として非常に優秀です。MVでガス発電を選ぶならぜひ主力にしたい燃料です。最適な効率で運用するには、&61基の液化塔&rと&62基の熱分解炉&rをそろえるだけでよく、そこからはこの優秀なガスを安定して生産できます。\n\nただし、その前に&5レニウム&rを確保する必要があります。これは&7TerraFirmaCraft&rの暑く乾燥したバイオームでのみ入手できる新しい素材です。使用量はごく少ないため、鉱脈を1つ見つけてしまえば、モッドパックの終盤まで、少なくとも&6HV&rに到達するまでは十分足りるでしょう。&6HV&rに到達し、&6クラッカー&rを使えるようになれば、このガスは事実上無限供給も可能になります。", + "quests.medium_voltage.reformate_gas.desc": "&7改質ガス&rは、&bMV&rでのガス燃料として非常に優秀です。MVでガス発電を選ぶならぜひ主力にしたい燃料です。最適な効率で運用するには、&61基の液化塔&rと&62基の熱分解炉&rをそろえるだけでよく、そこからはこの優秀なガスを安定して生産できます。\n\nただし、その前に&5レニウム&rを確保する必要があります。これは&7TerraFirmaCraft&rの暑く乾燥したバイオームでのみ入手できる新しい素材です。使用量はごく少ないため、鉱脈を1つ見つけてしまえば、モッドパックの終盤まで、少なくとも&6HV&rに到達するまでは十分足りるでしょう。&6HV&rに到達し、&6クラッカー&rを使えるようになれば、このガスは事実上無限供給も可能になります。", "quests.medium_voltage.mv_light_fuel.title": "軽質燃料", "quests.medium_voltage.mv_light_fuel.subtitle": "とてもかるい", "quests.medium_voltage.mv_light_fuel.desc": "石油の蒸留で得られる燃料には硫黄が含まれているため、それらを除去するための手順が必要です。\n\n水素との反応で作られる&a硫化水素&rは、&3電解槽&rを用いることで再利用することができます。\n\n&3化学反応器&rと&3電解槽&rを隣接させることで、このプロセスを簡単に自動化することができます。この方法を使う場合、機械の設定画面を開き、搬出面からの搬入を許可するように設定しましょう。\n\n&a軽質燃料&rは、そこそこ高性能な燃料です。ただし、次のクエストではさらに高性能な燃料が紹介されています。", @@ -2967,7 +2967,7 @@ "quests.medium_voltage.mv_diesel.desc.3": "したがって、下位の蒸留機を多数作成して加工する方が、結果的にはお得です。\n\n&aディーゼル&rは&3燃焼発電機&rで使用することができます。また、&6HV&r時代になると、&6セタン添加ディーゼル&rへの加工が解禁されます。他の燃料に比べ、ディーゼルはより高効率ですが、引き換えに精製プロセスがやや複雑です。&e石油プラスチック&rを目指す場合であれば、既存の機械で作成できるため、選択肢として有効でしょう。", "quests.medium_voltage.coal_tower.title": "液化塔", "quests.medium_voltage.coal_tower.subtitle": "マルチブロックなんてあればあるだけいいですからね", - "quests.medium_voltage.coal_tower.desc.1": "&b液化塔&r は、&a改質ガス&rをはじめ、&7コールタール&rや&7合成ガス&rなどの副産物を作るための新しい&bマルチブロック機械&rです。使う&9コイル&rの素材によって、&7EU/t&rの消費量が割引されます。コイルにカーソルを合わせてshiftを押せば、その割引効果を確認できます。\n\nまた、&9液化塔&rは&8水素&rを投入することで稼働をブーストでき、処理時間が短くなる分、消費エネルギーも削減されます。動かす際は、適切な&6回路番号&rの設定を忘れないようにしてください。\n\n補足として、1秒=20tickです。そのため、tickごとの消費量に20を掛ければ、1秒あたりの消費量が求められます。", + "quests.medium_voltage.coal_tower.desc.1": "&b液化塔&r は、&a改質ガス&rをはじめ、&7コールタール&rや&7合成ガス&rなどの副産物を作るための新しい&bマルチブロック機械&rです。使う&9コイル&rの素材によって、&7EU/t&rの消費量が割引されます。コイルにカーソルを合わせてshiftを押せば、その割引効果を確認できます。\n\nまた、&9液化塔&rは&7水素&rを投入することで稼働をブーストでき、処理時間が短くなる分、消費エネルギーも削減されます。動かす際は、適切な&6回路番号&rの設定を忘れないようにしてください。\n\n補足として、1秒=20tickです。そのため、tickごとの消費量に20を掛ければ、1秒あたりの消費量が求められます。", "quests.medium_voltage.coal_tower.desc.2": "&l&3余談:&r&o実は、核分裂炉を作った人と、液化塔の初期デザインを作った人は同じなんだよ。すごいな。", "quests.medium_voltage.mv_jetpack.title": "鳥人間あらわる", "quests.medium_voltage.mv_jetpack.subtitle": "鳥……鳥?", @@ -3086,7 +3086,7 @@ "quests.medium_voltage.mv_cells.desc": "アルミニウムセルは、従来のセルの強化版です。その容量はなんと&dバケツ32杯分&r!", "quests.medium_voltage.mv_jetpack_2.title": "鳥人間あらわる その2", "quests.medium_voltage.mv_jetpack_2.subtitle": "……まあ、一応飛べるけど……", - "quests.medium_voltage.mv_jetpack_2.desc": "電動ジェットパックは、電力を消費して空を飛ぶことができます。\n\n充電方法は普通のバッテリーと同じです。\n\n&4H&r(初期設定)を押すと、ホバーモードへの切り替えが可能です。\n\n&o&8(「ジェット」と言っているのにジェット推進じゃないって?そういう重箱の隅を突くのはやめましょう?ね?)&r", + "quests.medium_voltage.mv_jetpack_2.desc": "電動ジェットパックは、電力を消費して空を飛ぶことができます。\n\n充電方法は普通のバッテリーと同じです。\n\n&4H&r(初期設定)を押すと、ホバーモードへの切り替えが可能です。\n\n&o&7(「ジェット」と言っているのにジェット推進じゃないって?そういう重箱の隅を突くのはやめましょう?ね?)&r", "quests.medium_voltage.mv_cutter.title": "発展型裁断機", "quests.medium_voltage.mv_cutter.subtitle": "強化!強化!また強化!", "quests.medium_voltage.mv_cutter.desc": "&aレーザー刻印機&rを使用するためには、&3MV裁断機&rで&7シリコン単結晶&rを切断する必要があります。\n\n&d潤滑油&rがあれば、加工時間が大幅に短縮されるので、必ず用意しておきましょう。\n\n潤滑油は&3醸造機&rで&e石油&r、&a滑石&r、&2石鹸石&r、&cレッドストーン&rなどを加工して作られます。\n\n&7ヒント:&6Greate&r&7のメカニカルソーでも、同じ加工ができます。液体タンクが搭載されているため、潤滑油による加速が可能です。&r&r", @@ -4090,7 +4090,7 @@ "quests.tfg_tips.gt_filters.desc": "&5GregTech&rには、&a自動化&rをスムーズに進めるための様々な&6フィルター&rが存在します。これらはすべて、&dカバー&rと組み合わせて使用することができます。(カバーの詳細な説明は&「7LV&r」の章のクエストに載っています。)\n\nここでは、特定の状況で&b便利&rに使える、さらに2種類の特化フィルターをご紹介します。\n\nフィルターを使う場合は、&5機械またはカバーのGUI内で取り付ける&rか、もしくは&6機械やパイプ&rに&dカバー&rとして取り付けることができます。", "quests.tfg_tips.smart_item_filter.subtitle": "Knock, knock - who's that? It's MENSA!", "quests.tfg_tips.smart_item_filter.desc.1": "このクエストでは、あなたに&5禁断の知識&r――すなわち、電解槽を簡単に自動化する能力を授けましょう。\n\n&9スマートアイテムフィルター&rは、機械で動作するレシピを認識できるフィルターです。機械の側面に取り付けて「&3電解槽&r」を指定すれば、電解可能なアイテムだけを自動で投入するよう設定できます。そうです、もう手動でフィルタリングする必要はありません!\n\nさらに&aもっと便利&rにすることもできますよ!このフィルターを&aロボットアーム&rと組み合わせると、機械がレシピを成立させるために必要な&6ぴったりの量&rだけを供給するようになってくれます。", - "quests.tfg_tips.smart_item_filter.desc.2": "&aロボットアーム&rを電解槽に取り付け、ロボットアームのGUIを開いて&9スマートフィルター&rをセットします。スマートフィルターが電解槽に設定されていることを確認してくださいね。\n\n次に、動作モードを「&d&lモード:搬入&r」と「&d&l供給モード&r」に設定します。最後に、&aロボットアーム&rを取り付けた側面に、インベントリ(&7チェストなどで十分です&r)を接続してください。これで&6すべて&rの電解槽レシピの処理に対応しました!\n\nでは、&3電解槽&rの排出物はどうしましょう?液体は複数のタンクへ、あるいは進行度次第では&3スーパータンク&rへ流すと良いでしょう。液体を破棄するような方法は極力避けることを強くおすすめいたします。&7.&8.まあ、水なんかは別ですが。", + "quests.tfg_tips.smart_item_filter.desc.2": "&aロボットアーム&rを電解槽に取り付け、ロボットアームのGUIを開いて&9スマートフィルター&rをセットします。スマートフィルターが電解槽に設定されていることを確認してくださいね。\n\n次に、動作モードを「&d&lモード:搬入&r」と「&d&l供給モード&r」に設定します。最後に、&aロボットアーム&rを取り付けた側面に、インベントリ(&7チェストなどで十分です&r)を接続してください。これで&6すべて&rの電解槽レシピの処理に対応しました!\n\nでは、&3電解槽&rの排出物はどうしましょう?液体は複数のタンクへ、あるいは進行度次第では&3スーパータンク&rへ流すと良いでしょう。液体を破棄するような方法は極力避けることを強くおすすめいたします。&7.&7.まあ、水なんかは別ですが。", "quests.tfg_tips.smart_item_filter.desc.3": "&9注意:&rロボットアームのフィルタリング機能を正しく動作させるには、必ずロボットアーム自身がアイテム搬入を担当している必要があります!\n\n機械へ直接アイテムを入れてしまう(&7例:ホッパーなどによる搬入&r)と、ロボットアームの&d供給モード&r設定は無視されてしまいますのでご注意ください。", "quests.tfg_tips.hazard_materials.title": "危険物", "quests.tfg_tips.hazard_materials.subtitle": "対象年齢:3歳以上", @@ -4388,7 +4388,7 @@ "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive_Aircraft&rでは&a航空機のアップグレード&rが可能で、航空機の性能(速度、離陸速度、燃料消費量など)を向上させるために導入できます。\nアップグレードには、&b通常&rのものとと&d上位&rのものの2種類があります。\n\nこのクエストのものは&b通常&rのアップグレードです。すべて作れますか?", "quests.tfg_tips.steam_upgrades.title": "航空機のアップグレード:蒸気時代", "quests.tfg_tips.steam_upgrades.subtitle": "Immersive AircraftがGregTechに対応!", - "quests.tfg_tips.steam_upgrades.desc": "航空機アップグレードには&dグレード&rがあります。これは&3GregTech&rの階層化システムに合わせて、&8蒸気時代&rから&5EV時代&rまでのものがあります。\n\n蒸気時代のアップグレードは最も簡単で、最も早く作成できます。作るには&bブラックスチール&rが必要になります。\n\n&d蒸気機関のエンジン&rは、&e複葉機&rや&c飛行艦&rなどの洗練された航空機の作成にも使用されます。", + "quests.tfg_tips.steam_upgrades.desc": "航空機アップグレードには&dグレード&rがあります。これは&3GregTech&rの階層化システムに合わせて、&7蒸気時代&rから&5EV時代&rまでのものがあります。\n\n蒸気時代のアップグレードは最も簡単で、最も早く作成できます。作るには&bブラックスチール&rが必要になります。\n\n&d蒸気機関のエンジン&rは、&e複葉機&rや&c飛行艦&rなどの洗練された航空機の作成にも使用されます。", "quests.tfg_tips.steam_upgrades.task": "スチームティアの航空機アップグレード", "quests.tfg_tips.lv_upgrades.title": "航空機のアップグレード:LV", "quests.tfg_tips.lv_upgrades.subtitle": "虚式「茈」", @@ -4676,7 +4676,7 @@ "quests.tfg_tips.tools_tips.subtitle": "物は使いよう", "quests.tfg_tips.tools_tips.tools.title": "ツール", "quests.tfg_tips.tools_tips.tools.subtitle": "どう使うか", - "quests.tfg_tips.tools_tips.tools.desc": "人間と動物を隔てる唯一のものは、&l&b道具&r&rの使用です。&8&oサル、イルカ、カラス、ラッコ、タコを例外として...&r&r\n道具と技術を駆使して、&5できる限り楽に&r進めましょう。", + "quests.tfg_tips.tools_tips.tools.desc": "人間と動物を隔てる唯一のものは、&l&b道具&r&rの使用です。&7&oサル、イルカ、カラス、ラッコ、タコを例外として...&r&r\n道具と技術を駆使して、&5できる限り楽に&r進めましょう。", "quests.tfg_tips.tools_tips.seed_oil.title": "ランタン燃料:種油", "quests.tfg_tips.tools_tips.seed_oil.subtitle": "生まれるはずだった命の輝き", "quests.tfg_tips.tools_tips.seed_oil.desc": "&d種油&rは、&c72&r日間持続します。", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 862d4b3a7..d061c354b 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1764,7 +1764,7 @@ "quests.ae2.cell_component_1m.desc": "The &3MEGA Storage Components&r will need an &bAssembly Line&r. Note that the non-Moon recipe must be crafted within a Cleanroom, or you can use a Cleaning Maintenance Hatch if you have access to one.\n\nNo need for that on the Moon though.", "quests.ae2.cell_component_4m.desc": "Simply bigger and more expensive.", "quests.ae2.cell_component_16m.desc": "This one can only be made on the &cMoon&r and nowhere else. It will also require a Cleanroom environment, so if you don’t want to bother with a Cleanroom on the &cMoon&r, you should make the &7Cleaning Maintenance Hatch&r.\n\nIt will also need some research. Refer to the &cZPM&r Chapter if you don’t know what that means.", - "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &8TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", + "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &7TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", "quests.ae2.oversize_interface.desc": "The &dME Oversize Interface&r is a &dME Extended Interface&r but each slot can hold 16x more items or fluids. If you have processes that need huge quantities, this could be your go-to.", "quests.ae2.assembler_matrix.desc": "The &6Assembler Matrix&r is basically a customizable multiblock Molecular Assembler. The requirements for this quest should let you build one that we deem quite strong enough. You could add more layers of &bPattern Core&r or &aCraft Core&r if you want to.\n\nAs usual, check the in-game guide for detailed informations.", "quests.tasktype.checkmark": "Нажмите, чтобы закончить квест/задание", @@ -2151,14 +2151,14 @@ "quests.gregtech_energy.start.subtitle": "Все не на столько плохо, как ты думаешь", "quests.gregtech_energy.moving.title": "Перемещение энергии", "quests.gregtech_energy.moving.subtitle": "Перемещение энергии... Каво?", - "quests.gregtech_energy.moving.desc": "Для того, чтобы понять, как перемещать энергию в GregTech сперва нужно понять несколько ключевых механик.\n\nВо-первых, &bуровни напряжения&r. От &aLV&r до &cUHV&r, все в GregTech — провода, машины, рецепты — привязано к уровню напряжения. Тебе нужен будет &eправильный материал провода&r для перемещения энергии. Например:\n&8•&r Оловянный провод = &aLV&r\n&8•&r Медный провод = &bMV&r\n\nВо-вторых, есть механика &bАмпеража&r. 1 ампер (или 1А) можно представить в виде &eпакета энергии&r. Машины запращивают эти \"пакеты\" энергии, которые перемещаются по проводу.\n&8•&r 1A LV = &a32 EU&r\n&8•&r 1A HV = &e512 EU&r\n\nБольшинство машин запрашивают до &62A максимум&r.\n\nПонимание этих двух идей - ключ к правильному распределению энергии.", + "quests.gregtech_energy.moving.desc": "Для того, чтобы понять, как перемещать энергию в GregTech сперва нужно понять несколько ключевых механик.\n\nВо-первых, &bуровни напряжения&r. От &aLV&r до &cUHV&r, все в GregTech — провода, машины, рецепты — привязано к уровню напряжения. Тебе нужен будет &eправильный материал провода&r для перемещения энергии. Например:\n&7•&r Оловянный провод = &aLV&r\n&7•&r Медный провод = &bMV&r\n\nВо-вторых, есть механика &bАмпеража&r. 1 ампер (или 1А) можно представить в виде &eпакета энергии&r. Машины запращивают эти \"пакеты\" энергии, которые перемещаются по проводу.\n&7•&r 1A LV = &a32 EU&r\n&7•&r 1A HV = &e512 EU&r\n\nБольшинство машин запрашивают до &62A максимум&r.\n\nПонимание этих двух идей - ключ к правильному распределению энергии.", "quests.gregtech_energy.moving.task": "Я понял", "quests.gregtech_energy.transformer.title": "Супер трансформер", "quests.gregtech_energy.transformer.subtitle": "Лучше Оптимуса Прайма", - "quests.gregtech_energy.transformer.desc": "Для каждой проблемы у GregTech есть свое мультиблочное решение. Представляем вам &dАктивный трансформатор&r.\n\nЭтот зверь - ваш ультимативный трансформатор. Он может передавать энергию любого уровня — от &aLV&r до &cUHV&r, и без взрывов. И это даже не лучшее.\n\nОн может передавать энергию с помощью Передающих лазерных кабелей.\n&8•&r Лазеры передают огромное колличество ампер.\n&8•&r Без потерь. Без проводов. Просто чистая энергия.\n&8•&r Но есть нюанс: он &c может передавать энергию только по прямой&r.\n\nКогда кабелей не достаточно, &lиспользуй лазеры.", + "quests.gregtech_energy.transformer.desc": "Для каждой проблемы у GregTech есть свое мультиблочное решение. Представляем вам &dАктивный трансформатор&r.\n\nЭтот зверь - ваш ультимативный трансформатор. Он может передавать энергию любого уровня — от &aLV&r до &cUHV&r, и без взрывов. И это даже не лучшее.\n\nОн может передавать энергию с помощью Передающих лазерных кабелей.\n&7•&r Лазеры передают огромное колличество ампер.\n&7•&r Без потерь. Без проводов. Просто чистая энергия.\n&7•&r Но есть нюанс: он &c может передавать энергию только по прямой&r.\n\nКогда кабелей не достаточно, &lиспользуй лазеры.", "quests.gregtech_energy.moving_wire.title": "Перемещение с помощью проводов", "quests.gregtech_energy.moving_wire.subtitle": "Затейливы при размещении", - "quests.gregtech_energy.moving_wire.desc": "Перемещать энергию в GregTech может быть каверзно — &bбольшинство проводов имеют потери&r. За каждый блок, за каждый ампер, ты можешь терять энергию по мере прохождении энергии через провода. Не бойся, этому есть решение:\n\n&8•&r Покрой свои провода резиной. Таким образом ты значительно снизишь потери с расстоянием. Посмотри квестовые предметы для примера.\n\n&8•&r Используй кабели более высокого напряжения. Платиновый кабель, например, теряет лишь 1 EU за блок — практически ничего по сравнению с 8192 EU, которые он может переместить.\n\n&8•&r &bСверхпроводники&r. Эти красавцы дороговатые, но они &9без потерь&r. Им не нужна изоляция и они не будут бить тебя током. Однако стоит знать, что обычно возможность их скрафтить появляется только в конце тира.\n\nОптимизируй потоки энергии — &bуменьши потери&r и делай свои системы более энергоэффективными.", + "quests.gregtech_energy.moving_wire.desc": "Перемещать энергию в GregTech может быть каверзно — &bбольшинство проводов имеют потери&r. За каждый блок, за каждый ампер, ты можешь терять энергию по мере прохождении энергии через провода. Не бойся, этому есть решение:\n\n&7•&r Покрой свои провода резиной. Таким образом ты значительно снизишь потери с расстоянием. Посмотри квестовые предметы для примера.\n\n&7•&r Используй кабели более высокого напряжения. Платиновый кабель, например, теряет лишь 1 EU за блок — практически ничего по сравнению с 8192 EU, которые он может переместить.\n\n&7•&r &bСверхпроводники&r. Эти красавцы дороговатые, но они &9без потерь&r. Им не нужна изоляция и они не будут бить тебя током. Однако стоит знать, что обычно возможность их скрафтить появляется только в конце тира.\n\nОптимизируй потоки энергии — &bуменьши потери&r и делай свои системы более энергоэффективными.", "quests.gregtech_energy.moving_wire.task": "Я закончил смотреть на провода", "quests.gregtech_energy.moving_amp.title": "Управление амперами", "quests.gregtech_energy.moving_amp.subtitle": "Оно горит?", @@ -2241,10 +2241,10 @@ "quests.gregtech_energy.smr.task": "", "quests.gregtech_energy.gasoline.title": "Бензин", "quests.gregtech_energy.gasoline.subtitle": "Средний ребёнок", - "quests.gregtech_energy.gasoline.desc": "&aБензин&r — это действительно мощное жидкое топливо, которое вы открываете на этапе &6HV&r, но на практике начинаете производить его лишь после постройки первых &6Ректификационных колонн&r. &7Толуол&r легко получается из &7Древесной смолы&r или &7Тяжёлого топлива&r, а всё остальное, что вам понадобится, — это &dНефтяной газ&r, &8Нафта&r и смесь из &3Кислорода&r, &bВодорода&r и &1Углерода&r.\n\nОн мощный, довольно простой в производстве и, что ещё лучше, его можно улучшить до &cВысокооктанового бензина&r.", + "quests.gregtech_energy.gasoline.desc": "&aБензин&r — это действительно мощное жидкое топливо, которое вы открываете на этапе &6HV&r, но на практике начинаете производить его лишь после постройки первых &6Ректификационных колонн&r. &7Толуол&r легко получается из &7Древесной смолы&r или &7Тяжёлого топлива&r, а всё остальное, что вам понадобится, — это &dНефтяной газ&r, &7Нафта&r и смесь из &3Кислорода&r, &bВодорода&r и &1Углерода&r.\n\nОн мощный, довольно простой в производстве и, что ещё лучше, его можно улучшить до &cВысокооктанового бензина&r.", "quests.gregtech_energy.high_gasoline.title": "Высокооктановый бензин", "quests.gregtech_energy.high_gasoline.subtitle": "Крайне мощный", - "quests.gregtech_energy.high_gasoline.desc": "Прямое улучшение &cБензина&r — это &5топливо в два раза мощнее&r. Как ни странно, по названию этого не скажешь: вам нужно добавить не только &dОктан&r, но и другие продукты &8Нефтепродуктов&r. На этом этапе мы ожидаем, что вы уже умеете ориентироваться в &bEMI&r и можете начать производство этого безумно мощного топлива.", + "quests.gregtech_energy.high_gasoline.desc": "Прямое улучшение &cБензина&r — это &5топливо в два раза мощнее&r. Как ни странно, по названию этого не скажешь: вам нужно добавить не только &dОктан&r, но и другие продукты &7Нефтепродуктов&r. На этом этапе мы ожидаем, что вы уже умеете ориентироваться в &bEMI&r и можете начать производство этого безумно мощного топлива.", "quests.gregtech_energy.lst_fuel.title": "Это пар", "quests.gregtech_energy.lst_fuel.subtitle": "Не в масть тебе такие котлы", "quests.gregtech_energy.lst_fuel.desc": "Пар — это несложно: просто вскипяти воду.\n\nДля эффективного производства мы рекомендуем использовать &6Большие котлы&r. Существует четыре версии: для &8ULV&r, &bMV&r, &5EV&r и &1IV&r. Каждый уровень даёт значительный прирост выхода пара.\n\nОднако имейте в виду: масштабирование &dБольшой паровой турбины&r с этими котлами не самое эффективное по сравнению с другими способами генерации энергии.\n\nБольшинство игроков пропускают титановые и вольфрамстальные котлы — они существуют, если тебе очень хочется, но строить их невыгодно. Пар просто плохо масштабируется!\n\nНапоминание: &e2 mB&r пара = &e1 EU&r.", @@ -2283,7 +2283,7 @@ "quests.gregtech_energy.pss.title": "Силовая подстанция", "quests.gregtech_energy.pss.subtitle": "Все яйца в одну корзину", "quests.gregtech_energy.pss.desc.1": "&dСиловая подстанция&r — это &6ультимативный настраиваемый батарейный мультиблок&r. Как только ты сможешь скрафтить её на этапе &1IV&r, она без проблем станет центральным источником энергии твоей базы, так что имеет смысл сделать её одной из ключевых целей.\n\nОна способна хранить столько энергии… что, возможно, тебе понадобится несколько жизней, чтобы заполнить её полностью.", - "quests.gregtech_energy.pss.desc.2": "&eКак это работает&r:\n- Построй структуру, используя &aПаладиевые корпуса подстанции&r.\n- Добавь как минимум &b1 энергетический входной разъем&r и &b1 энергетический выходной разъем&r.\n- Она принимает &aлюбой тип разъемов&r — &8амперные&r или &6лазерные&r.\n- &cНикакого риска взрыва&r — трансформаторы &aвстроены&r.\n\n&eСлои накопителей&r:\n- Ты можешь добавить до &d17 слоёв&r &9блоков накопителей&r поверх структуры.\n- Каждый слой должен быть &cполностью заполнен&r — без пустот.\n- Смешивай &fпустые&r и &6заполненные&r накопители как угодно.\n\nКаждый слой должен быть окружён &bЛаминированным стеклом&r.\n\nДавай честно: &cтебе никогда не понадобится 17 слоёв&r... но мечтать масштабно никто не запрещал.\nЕсли ты всё же построишь подстанцию с полными 17 слоями, &lпожалуйста, пришли помощь&r — ты зашёл слишком далеко.", + "quests.gregtech_energy.pss.desc.2": "&eКак это работает&r:\n- Построй структуру, используя &aПаладиевые корпуса подстанции&r.\n- Добавь как минимум &b1 энергетический входной разъем&r и &b1 энергетический выходной разъем&r.\n- Она принимает &aлюбой тип разъемов&r — &7амперные&r или &6лазерные&r.\n- &cНикакого риска взрыва&r — трансформаторы &aвстроены&r.\n\n&eСлои накопителей&r:\n- Ты можешь добавить до &d17 слоёв&r &9блоков накопителей&r поверх структуры.\n- Каждый слой должен быть &cполностью заполнен&r — без пустот.\n- Смешивай &fпустые&r и &6заполненные&r накопители как угодно.\n\nКаждый слой должен быть окружён &bЛаминированным стеклом&r.\n\nДавай честно: &cтебе никогда не понадобится 17 слоёв&r... но мечтать масштабно никто не запрещал.\nЕсли ты всё же построишь подстанцию с полными 17 слоями, &lпожалуйста, пришли помощь&r — ты зашёл слишком далеко.", "quests.gregtech_energy.batteries.title": "Супер батарейки", "quests.gregtech_energy.batteries.subtitle": "Фантастическое хранилище энергии", "quests.gregtech_energy.batteries.desc": "На этапах &7LV&r и &bMV&r ты, скорее всего, собрал свои первые батареи из натрия или лития.\n\nНо давай честно — это самые слабые батареи, которые может предложить GregTech.\n\nВ этом задании мы рассмотрим мощные альтернативы: &aкристальные батареи&r.\nОни значительно сильнее, хранят куда больше энергии и помогут тебе продвинуть свою фабрику на следующий тир.\n\nОни дороже? Конечно.\nНо давай будем честны…\nЭнергия есть энергия. Кто тут вообще считает?", @@ -2319,14 +2319,14 @@ "quests.gregtech_energy.rotor.title": "Роторы турбин", "quests.gregtech_energy.rotor.subtitle": "Так много вариантов!", "quests.gregtech_energy.rotor.desc.1": "Держатели роторов, разумеется, требуют установленный ротор, но вариантов существует много, и у каждого свои характеристики — так что же всё это значит?\n\nБолее высокая &9Эффективность&r увеличивает время, в течение которого используется каждый мБ топлива, фактически снижая его расход. В то же время &9Мощность&r повышает количество EU, которое будет вырабатывать турбина. Ну а &9Прочность&r, думаю, объяснять не нужно.", - "quests.gregtech_energy.rotor.desc.2": "В идеале тебе хочется максимизировать все три показателя, но выбор будет зависеть от того, сколько топлива ты производишь, сколько у тебя турбин и как часто ты готов их заменять, так что единственно правильного ответа здесь нет. &8(Ну, кроме нейтрония, конечно...)&r\n\nТем не менее, если ты совсем теряешься, мы рекомендуем: ванадиевую сталь на этапе &6HV&r, ультимет на &5EV&r и HSS-S на &9IV&r.\n\nК сожалению, автоматически подавать новые роторы в держатели с помощью труб нельзя, так как блок перед ними должен быть полностью пустым, но &aмеханическая рука&r с этим отлично справится!", + "quests.gregtech_energy.rotor.desc.2": "В идеале тебе хочется максимизировать все три показателя, но выбор будет зависеть от того, сколько топлива ты производишь, сколько у тебя турбин и как часто ты готов их заменять, так что единственно правильного ответа здесь нет. &7(Ну, кроме нейтрония, конечно...)&r\n\nТем не менее, если ты совсем теряешься, мы рекомендуем: ванадиевую сталь на этапе &6HV&r, ультимет на &5EV&r и HSS-S на &9IV&r.\n\nК сожалению, автоматически подавать новые роторы в держатели с помощью труб нельзя, так как блок перед ними должен быть полностью пустым, но &aмеханическая рука&r с этим отлично справится!", "quests.gregtech_energy.rotor.task": "Любой ротор турбины", "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.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На данный момент реактор умеет использовать их тремя&8*&r разными способами:\n&e1)&r Максимальная температура &7(изоляция)&r\n&e2)&r Эффективность &7(топливо служит дольше)&r\n&e3)&r Дросселирование &7(замедляет реакции)&r\n\n&8*)&r Возможно, в твоей галактике нет необходимых материалов для всех вариантов. Мы предполагаем, что материалы доступны только для первой категории.\n\nНо будь осторожен. Повышение &cтемпературы&r имеет и &cобратную сторону&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. Если ты хочешь максимально эффективно нагревать охлаждающие жидкости, используй низкую температуру. А если тебе нужна более быстрая переработка ядерных материалов — поднимай температуру настолько высоко, насколько позволяет изоляция.", "quests.gregtech_energy.fission_reactor.desc.6": "Ты наконец готов взглянуть на различные рецепты, связанные с реактором. Посмотри, где используется &dконтроллер&r, и ты увидишь три вкладки &eEMI&r:\n\n&e1)&r Ядерный реактор &7(топливо и совместимые охлаждающие жидкости)&r\n&e2)&r Теплообмен ядерного реактора &7(по принципу ЭДП)&r\n&e3)&r Продукты деления &7(когда топливо заканчивается)&r\n&e4)&r Превью мультиблока\n\nРазличные &aтоплива&r совместимы только с определёнными &9охлаждающими жидкостями&r, так что обязательно обращай на это внимание. А когда топливный стержень полностью выработается, статистическая вероятность с уверенностью говорит о том, что он &bт&dра&dнс&r&dф&bо&dр&bм&dи&bр&dо&bв&dа&bл&dс&bя&r в новые элементы.\n\nРецепты переработки, в свою очередь, могут выполняться независимо от топлива — при условии, что уровень температуры достаточно высок.", "quests.gregtech_energy.fission_reactor.desc.7": "Упрощённая математика выглядит так: при достаточном количестве охлаждающей жидкости и топливном стержне с &c100%%&r тепловыделением реактор достигнет температуры примерно &c200&r. Это также можно называть уровнем тепла или просто теплом. Наличие &dдвух&r топливных стержней с &c100%%&r эквивалентно &dодному&r стержню с &c200%%&r — в обоих случаях это приводит примерно к &c400&r тепла.\n\nЭто происходит потому, что топливный стержень генерирует &6200 HU/t&r (единиц тепла). Охлаждающие жидкости способны забирать &61 HU/t&r на каждый &c1&r градус тепла.\n\nЕсли максимальное тепло реактора составляет &c190&r, то топливный стержень с &c100%%&r его перегреет. Ты можешь увеличить этот предел с помощью изоляции или, альтернативно, использовать &dактивные охлаждающие жидкости&r через систему переработки. У каждого рецепта есть своё тепловое воздействие.", @@ -2413,7 +2413,7 @@ "quests.high_voltage.tnt.desc.3": "У нас нет простых советов по производству &aТолуола&r. Этот процесс будет сложным вне зависимости от выбранного вами способа.\n\nТем не менее, обратите внимание на прямой рецепт превращения &aТяжёлого топлива&r в &aТолуол&r в одноблочном &3Дистилляторе&r — это может значительно упростить задачу.\n\n&aТолуол&r также можно использовать в &5EV&r для получения &dБензина&r, что открывает дополнительные возможности для производства топлива.\n\n&cДинамит&r используется в &3Имплозионном Компрессоре&r для создания Самоцветов, а также служит взрывчатым веществом для разрушения объектов.", "quests.high_voltage.ender_pearls.title": "Жемчуг края", "quests.high_voltage.ender_pearls.subtitle": "Какие-то Сай-Фай брюлики, или что-то в этом духе...", - "quests.high_voltage.ender_pearls.desc": "В TFG вы не найдёте Эндерменов, которые дропают Жемчуг Эндера.\nДаже те, что скрываются в Бездне, не помогут вам.\n\nВаш единственный вариант — изготовить их самостоятельно:\n\nСмешайте &2Пыль Бериллия&r и &2Пыль Калия&r в &6HV&r Смесителе, чтобы получить редкую &5Эндер-пыль&r.\n\nПосле этого поместите её в &8Имплозионный Компрессор&r и и жахните как следует и будет вам Жемчуг Эндера — в стиле GregTech.", + "quests.high_voltage.ender_pearls.desc": "В TFG вы не найдёте Эндерменов, которые дропают Жемчуг Эндера.\nДаже те, что скрываются в Бездне, не помогут вам.\n\nВаш единственный вариант — изготовить их самостоятельно:\n\nСмешайте &2Пыль Бериллия&r и &2Пыль Калия&r в &6HV&r Смесителе, чтобы получить редкую &5Эндер-пыль&r.\n\nПосле этого поместите её в &7Имплозионный Компрессор&r и и жахните как следует и будет вам Жемчуг Эндера — в стиле GregTech.", "quests.high_voltage.boules.title": "Легирование Фосфором", "quests.high_voltage.boules.subtitle": "Это ж допинг, бро!", "quests.high_voltage.boules.desc": "Легирование — это процесс преднамеренного введения примесей в полупроводники для изменения их электрических свойств.\n\n&7Кремний&r можно легировать небольшим количеством &eФосфора&r, чтобы получить улучшенный &eМонокристалический кремний&r.\n\nМонокристалический кремний, легированный фосфором, обычно даёт в &68 раз&r больше пластин, чем его нелегированные аналоги. Однако они не являются строго необходимыми до &5EV&r, где они будут использоваться в более сложных пластинах.\n\n&9Примечание&r: Для любой обработки фосфорных монокристаллов и пластин потребуется &dЧистая комната&r.", @@ -2450,7 +2450,7 @@ "quests.high_voltage.hv_hull.subtitle": "Скоро стану майноастронавтом", "quests.high_voltage.hv_hull.desc.1": "&2Мы надеемся, что вы освоили &9GregTech&r, потому что теперь пришло время немного расширить свои навыки.\nВ этой главе вы разблокируете &eпродвинутуые мультиблоки&r, &eболее сложные химические процессы&r и даже сделаете свои первые шаги на &fЛуне&r!\n\n&6В этой главе у вас есть две ключевые цели:&r\n- Создайте свой первый &5EV&r Корпус машины\n- Долететь до &fЛуны&r\n\nОткрытие Луны также предоставит доступ к &bИстинному кварцу&r, ступая на путь открытия &dApplied Energistics 2&r. Вы можете решать эти задачи в любом порядке.", "quests.high_voltage.hv_hull.desc.2": "Чтобы собрать корпус машины &5EV&r:\n- Постройте свою первую &aЧистую комнату&r\n- Соберите &bВакуумнуый холодильник&r для охлаждения горячих слитков.\n- Переработайте &9Рутил&r в &7Титан&r\n\nВы найдете кучу &9Рутила&r на &fЛуне&r, но его также можно найти в жилах &eБоксита&r в &aВерхнем мире&r.", - "quests.high_voltage.hv_hull.desc.3": "Чтобы добраться до Луны:\n- выплавьте достаточно &6Ракетного сплава&r\n- Создайте своё первое &eОко края&r, используя &3Химическую ванну&r и &8Имплозионный компрессор&r\n- Подготовьте все &bоборудование&r, которое вам понадобится, чтобы &bдышать в космосе&r\n\nПолучение &bВакуумного холодильника&r и &6более продвинутых катушек для EBF&r ускорит производство &6Ракетного сплава&r, но это не является обязательным.\n\n&dВыберите свой путь!&r", + "quests.high_voltage.hv_hull.desc.3": "Чтобы добраться до Луны:\n- выплавьте достаточно &6Ракетного сплава&r\n- Создайте своё первое &eОко края&r, используя &3Химическую ванну&r и &7Имплозионный компрессор&r\n- Подготовьте все &bоборудование&r, которое вам понадобится, чтобы &bдышать в космосе&r\n\nПолучение &bВакуумного холодильника&r и &6более продвинутых катушек для EBF&r ускорит производство &6Ракетного сплава&r, но это не является обязательным.\n\n&dВыберите свой путь!&r", "quests.high_voltage.nichrome.title": "Нихромовые слитки", "quests.high_voltage.nichrome.subtitle": "Особой пользы от их нет.", "quests.high_voltage.nichrome.desc": "Ваш третий сплав готов и необходим для следующего набора катушек в &6EBF&r.\n\nКак обычно, потребуется &9128 слитков&r, но на этот раз вы не сможете использовать &6Химическую Мойку&r. Вместо этого понадобится &6Вакуумный Холодильник&r.\n\nХорошие новости: процесс стал проще и быстрее.\n\nДля этих катушек вы будете использовать только &6Нихром&r, но не расслабляйтесь — он вернётся для следующего набора &5RTM Катушек&r.", @@ -2519,7 +2519,7 @@ "quests.high_voltage.moon_harvester.desc": "&7Луна&r — ваш первый шаг в мир &eбесконечной руды&r, но сам процесс медленный. Вам предстоит собирать разные виды &bРеголитовой пыли&r, каждая из которых доступна только в своём биоме. Для этого понадобится &6Лунный сборщик пыли&r. Важно помнить две вещи:\n\n• Для настройки нужен &9Входной люк&r, чтобы выставить правильную &9схему&r.\n• Он поддерживает &eКатушки&r, как и &6Крекинговый завод&r — чем круче катушки, тем больше экономия энергии. Особенно полезно при сборе Реголита далеко от базы.\n\nРазумеется, одной непереработанной пыли недостаточно. Нужна &aНебольшая линия переработки&r для извлечения ресурсов из пыли Реголита. Обязательно доставляйте её на вашу &7Лунную базу&r для переработки.", "quests.high_voltage.regolith_vapor.title": "Реголитовый пар", "quests.high_voltage.regolith_vapor.subtitle": "Небольшой этап для получения руды", - "quests.high_voltage.regolith_vapor.desc": "Чтобы переработать &bРеголитовую пыль&r, вам понадобится &bПар Реголита&r — его цепочка получения немного сложнее.\n\nВам понадобятся:\n\n• &7Лунный Песок&r — бесконечно добываемый с помощью &6Камнелома&r.\n• &eДвуокись углерода&r — производится из &9Кислорода&r и &8Угольной пыли&r (просто, за счёт бесконечной &bАлмазной Пыли&r, которую вы будете получать).\n• &9Азот&r — получаемый через выращивание &dПлодов Хоруса&r.\n\nСовет: можно переработать ваш &9Кислород&r через &bДиоксид Кремния&r, что также даст постоянный бонус в виде &eПыли Кремния&r — очень полезного побочного продукта.", + "quests.high_voltage.regolith_vapor.desc": "Чтобы переработать &bРеголитовую пыль&r, вам понадобится &bПар Реголита&r — его цепочка получения немного сложнее.\n\nВам понадобятся:\n\n• &7Лунный Песок&r — бесконечно добываемый с помощью &6Камнелома&r.\n• &eДвуокись углерода&r — производится из &9Кислорода&r и &7Угольной пыли&r (просто, за счёт бесконечной &bАлмазной Пыли&r, которую вы будете получать).\n• &9Азот&r — получаемый через выращивание &dПлодов Хоруса&r.\n\nСовет: можно переработать ваш &9Кислород&r через &bДиоксид Кремния&r, что также даст постоянный бонус в виде &eПыли Кремния&r — очень полезного побочного продукта.", "quests.high_voltage.regolith_vapor.task": "Жмай это", "quests.high_voltage.regolith_dust.title": "Реголит для каждого биома", "quests.high_voltage.regolith_dust.subtitle": "Три Мушкитёра", @@ -2580,7 +2580,7 @@ "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.desc": "С помощью &7Синтез-газа&r у тебя теперь есть рабочий способ использовать &8Газовую турбину&r на &7LV&r. Она работает точно так же, как и другие &6генераторы&r, но должна быть немного дешевле, чем &6Дизельные генераторы&r.", + "quests.low_voltage.lv_gas_turbine.desc": "С помощью &7Синтез-газа&r у тебя теперь есть рабочий способ использовать &7Газовую турбину&r на &7LV&r. Она работает точно так же, как и другие &6генераторы&r, но должна быть немного дешевле, чем &6Дизельные генераторы&r.", "quests.low_voltage.lv_gas_syngas.title": "Синтез-газ", "quests.low_voltage.lv_gas_syngas.subtitle": "Не древесный газ", "quests.low_voltage.lv_gas_syngas.desc": "Производить &7Синтез-газ&r очень просто. Тебе всего лишь нужны &b3 Коксовые печи&r на каждую &6Варочную машину&r или &6Вакуумную камеру&r. Затем ты добываешь &7древесину&r с помощью &bфермы дерева Create&r, чтобы минимизировать затраты энергии, и можешь наслаждаться этим слабым, но очень простым в производстве &7газовым топливом&r.", @@ -2833,7 +2833,7 @@ "quests.medium_voltage.electrolyzer.title": "Улучшенный Электролизёр", "quests.medium_voltage.electrolyzer.subtitle": "Мы доползли до MV, Яре-яре...", "quests.medium_voltage.electrolyzer.desc.1": "&bЭтот механизм должен показаться знакомым&r — вы уже видели его раньше.\n&2Мы настоятельно рекомендуем скрафтить его как можно скорее,&r так как он откроет кучу новых источников &7Алюминия&r.\n\nДо этого единственным способом было &9электролиз Сапфира&r для получения &7Алюминиевой пыли&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&8И нам совсем не жаль.&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": "Самое большая обновка, которую вы запилите", "quests.medium_voltage.mv_extruder.desc": "Мы &lИСКРЕННЕ&r надеемся, что вы &cНИКОГДА&r не делали &7LV&r Экструдер, потому что только &bMV&r Экструдер действительно полезен. Если всё же сделали — сразу &aпереработайте его&r в Дуговой печи.\n\nЭкструдер формирует твёрдые материалы в (почти!) любые формы из &aСлитков&r. Это отличный способ сократить количество микрокрафта и сохранить высокий коэффициент конверсии.\n\nЭкструдер может изготавливать &6Болты&r, &6&6Малые шестерни&r, &6Шестерни&r и &6&6Кольца&r с максимальной эффективностью за один шаг!\n\nТакже можно использовать его для &dТруб&r, &dВинтов&r и &dРоторв&r.", @@ -2845,7 +2845,7 @@ "quests.medium_voltage.mv_mixer.desc": "Если хотите погрузиться в &bMV&r, начните от суда.\n\nСмеси, создаваемые в &3MV Смесителе&r, очень полезны.", "quests.medium_voltage.mv_energy.title": "Электрогенерация в MV", "quests.medium_voltage.mv_energy.subtitle": "Ща буит жеска...", - "quests.medium_voltage.mv_energy.desc.1": "Приветствуем вас в разделе &bПроизводство энергии MV&r.\n\nВ этом квесте мы рассмотрим разные варианты, которые помогут поддерживать работу ваших &bMV механизмов&r в бесперебойном режиме.\n\nМы не будем затрагивать эту тему в каждом разделе, поэтому настоятельно рекомендуем &aпрочитать отдельный раздел о энергии GregTech&r для более глубокого понимания всех процессов.\n\nА пока у вас есть &aтри основных варианта&r:\n\n&8- &bИспользовать MV Генератор&r для прямого производства &bэнергии уровня MV&r.\n\n&8- &bПоднять мощность &7LV&r с помощью трансформаторов&r, с коэффициентом &e4:1&r между &7LV&r и &bMV&r.\n\n&8- &bПреобразовывать RF&r при помощи &dАльтернативого генератора&r для получения &bэнергии MV&r напрямую.\n\n", + "quests.medium_voltage.mv_energy.desc.1": "Приветствуем вас в разделе &bПроизводство энергии MV&r.\n\nВ этом квесте мы рассмотрим разные варианты, которые помогут поддерживать работу ваших &bMV механизмов&r в бесперебойном режиме.\n\nМы не будем затрагивать эту тему в каждом разделе, поэтому настоятельно рекомендуем &aпрочитать отдельный раздел о энергии GregTech&r для более глубокого понимания всех процессов.\n\nА пока у вас есть &aтри основных варианта&r:\n\n&7- &bИспользовать MV Генератор&r для прямого производства &bэнергии уровня MV&r.\n\n&7- &bПоднять мощность &7LV&r с помощью трансформаторов&r, с коэффициентом &e4:1&r между &7LV&r и &bMV&r.\n\n&7- &bПреобразовывать RF&r при помощи &dАльтернативого генератора&r для получения &bэнергии MV&r напрямую.\n\n", "quests.medium_voltage.mv_energy.desc.2": "Генераторы более высокого уровня будут пропорционально увеличивать расход топлива в зависимости от своей мощности, сохраняя при этом продолжительность работы топлива и удельное количество энергии от топлива неизменными. &3Улучшенная Паровая Турбина&r будет использовать &d5120 mB пара&r в секунду, что эквивалентно &d256 mB/t&r.\n\nДля выполнения задания получите &eлюбой&r из генераторов, но для начала вы можете предпочесть &3Улучшенную Паровую Турбину&r.", "quests.medium_voltage.mv_energy.desc.3": "Для &bMV&r доступно несколько новых вариантов генерации энергии. Выбрав Генераторы и нажав &4U&r, вы сможете увидеть, какие виды &aГорючего&r или &aГаза&r подходят для нужного типа генератора.\n\nЗадания в верхнем левом углу этого раздела посвящены крутым вариантам генерации энергии.\n\nЕсли вы продолжите использовать &9Пар&r для производства энергии, вам, скорее всего, понадобится &3Большой Паровой Котёл&r.", "quests.medium_voltage.mv_energy.desc.4": "&3Трансформаторы&r позволяют безопасно повышать и понижать напряжение между уровнями. Они преобразуют получаемую энергию в эквивалентное количество энергии на 1 уровень напряжения выше или ниже входного.\n\nПомимо возможности запускать машины на разных уровнях напряжения, трансформаторы полезны для передачи энергии на большие расстояния, так как потери в кабелях меньше при высоком напряжении. Как и в реальной жизни!", @@ -2902,7 +2902,7 @@ "quests.medium_voltage.mv_benzene.desc.3": "&l&3Предистория:&r&o Бензол был одним из самых мощных газовых топлив со времён GTCEu — настолько хорошим, что стал мемом. В наши дни его эпоха повсюду подходит к концу.", "quests.medium_voltage.reformate_gas.title": "Реформатская церковь", "quests.medium_voltage.reformate_gas.subtitle": "Когда один гигант падает, появляется новый.", - "quests.medium_voltage.reformate_gas.desc": "&8Риформат-газ&r — это твоё новое основное газовое топливо на &bMV&r, если ты решишь пойти этим путём. Для идеальной эффективности тебе нужны всего &61 Сжижающая колонна&r и &62 пиролизные печи&r, и ты сможешь начать непрерывное производство этого ценного газа.\n\nНо подожди — сначала тебе нужно найти &5рений&r, новый материал, который встречается только в жарких и сухих регионах &7TerraFirmaCraft&r. Расходуется его настолько мало, что одной жилы тебе хватит до самого конца сборки или как минимум до &6HV&r, где — с помощью &6крекингого завода&r — этот газ сможет стать по-настоящему бесконечным.", + "quests.medium_voltage.reformate_gas.desc": "&7Риформат-газ&r — это твоё новое основное газовое топливо на &bMV&r, если ты решишь пойти этим путём. Для идеальной эффективности тебе нужны всего &61 Сжижающая колонна&r и &62 пиролизные печи&r, и ты сможешь начать непрерывное производство этого ценного газа.\n\nНо подожди — сначала тебе нужно найти &5рений&r, новый материал, который встречается только в жарких и сухих регионах &7TerraFirmaCraft&r. Расходуется его настолько мало, что одной жилы тебе хватит до самого конца сборки или как минимум до &6HV&r, где — с помощью &6крекингого завода&r — этот газ сможет стать по-настоящему бесконечным.", "quests.medium_voltage.mv_light_fuel.title": "Легкое Топливо", "quests.medium_voltage.mv_light_fuel.subtitle": "Легкая закуска", "quests.medium_voltage.mv_light_fuel.desc": "Перегонка &aнефти&r дарует вам топливо, которое нужно десульфуризировать.\n\n&aСероводород&r полностью &dперерабатывается&r в &3Электролизере&r.\n\nДля автоматизации этого процесса просто разместите &3Химический реактор&r и &3Электролизер&r рядом друг с другом. Обязательно используйте &5Отвёртку&r, чтобы &4включить подачу с выходной стороны&r.\n\n&aЛёгкое топливо&r — хороший вариант для &9энергии&r, но есть и нечто лучшее... смотрите квест левее.", @@ -2913,7 +2913,7 @@ "quests.medium_voltage.mv_diesel.desc.3": "В целом лучше отдавать приоритет установке бОльшего количества машин (&dРаспараллеливание&r), а не ускорению рецептов (оверклоку). Так вы потеряете меньше энергии при переработке ресурсов.\n\n&aДизель&r сжигается в &3Дизельном генераторе&r. Его можно дополнительно переработать в &6Нитро-дизель&r на уровне &6HV&r. По сравнению с другими источниками энергии, он обычно более эффективен, но требует более сложной линии переработки. Если вы выбрали &eнефтяной&r путь для производства &aПолиэтилена&r, это отлично сочетается с существующей инфраструктурой. В конечном итоге выбор источника энергии остаётся за вами.", "quests.medium_voltage.coal_tower.title": "Сжижающая колонна", "quests.medium_voltage.coal_tower.subtitle": "Кто не любит новые мультиблоки", - "quests.medium_voltage.coal_tower.desc.1": "&bСжижающая колонна&r — это новый &bмультиблок&r, используемый в процессе производства &aриформат-газа&r и его побочных продуктов — &7каменноугольной смолы&r и &7синтез-газа&r. В зависимости от используемых &9катушек&r ты получишь уменьшение &7длительности рецептов&r. Просто используй shift-клик, наведя курсор на катушку, чтобы узнать её бонусы.\n\nОбрати внимание, что &9Сжижающую колонну&r можно ускорить с помощью &8водорода&r, уменьшая длительность, а значит и стоимость рецептов. Не забудь выставить правильную &6схему&r, чтобы всё работало.\n\nКстати, если ты не знал: одна секунда — это 20 тиков. Поэтому количество, потребляемое за тик, нужно умножить на 20, чтобы узнать расход в секунду.", + "quests.medium_voltage.coal_tower.desc.1": "&bСжижающая колонна&r — это новый &bмультиблок&r, используемый в процессе производства &aриформат-газа&r и его побочных продуктов — &7каменноугольной смолы&r и &7синтез-газа&r. В зависимости от используемых &9катушек&r ты получишь уменьшение &7длительности рецептов&r. Просто используй shift-клик, наведя курсор на катушку, чтобы узнать её бонусы.\n\nОбрати внимание, что &9Сжижающую колонну&r можно ускорить с помощью &7водорода&r, уменьшая длительность, а значит и стоимость рецептов. Не забудь выставить правильную &6схему&r, чтобы всё работало.\n\nКстати, если ты не знал: одна секунда — это 20 тиков. Поэтому количество, потребляемое за тик, нужно умножить на 20, чтобы узнать расход в секунду.", "quests.medium_voltage.coal_tower.desc.2": "&l&3Предистория:&r&o Тот же человек, который создал реактор деления, также разработал(а) первый проект сжижающей колонны, разве это не безумие?", "quests.medium_voltage.mv_jetpack.title": "Я Верю, Что Умею Летать", "quests.medium_voltage.mv_jetpack.subtitle": "...Ну, Почти полёт", @@ -3035,7 +3035,7 @@ "quests.medium_voltage.mv_cells.desc": "Алюминиевые капсулы — крутое улучшение по сравнению со стальными или универсальными капсулами для жидкостей.\n\nОни могут хранить любое нецелое количество ведер жидкости — вплоть до &d32 ведер&r!", "quests.medium_voltage.mv_jetpack_2.title": "Я Верю, Что Умею Летать II", "quests.medium_voltage.mv_jetpack_2.subtitle": "...пока не совсем там.", - "quests.medium_voltage.mv_jetpack_2.desc": "Вот этот Реактивный ранец позволяет летать на Электроэнергии.\n\nЗаряжайте его так же, как батареи.\n\nНажмите &4H&r (по умолчанию), чтобы включить режим парения.\n\n&o&8(Да-да, реактивный ранец должен работать на реактивном топливе... да не придирайтесь.))0)0)&r", + "quests.medium_voltage.mv_jetpack_2.desc": "Вот этот Реактивный ранец позволяет летать на Электроэнергии.\n\nЗаряжайте его так же, как батареи.\n\nНажмите &4H&r (по умолчанию), чтобы включить режим парения.\n\n&o&7(Да-да, реактивный ранец должен работать на реактивном топливе... да не придирайтесь.))0)0)&r", "quests.medium_voltage.mv_cutter.title": "Улучшенная Резочная Машина", "quests.medium_voltage.mv_cutter.subtitle": "Апгрейд, Господа, Апгрейд", "quests.medium_voltage.mv_cutter.desc": "&3Улучшенная Резочная Машина&r нужена для резки &7кремниевых монокристаллов&r, чтобы подготовить их к &aлазерной гравировке&r. Рекомендуется постоянно подавать &dсмазку&r, чтобы сократить время работы. Смазку можно приготовить из &eнефти&r и &aталька&r, &2мыльного камня&r или &cкрасного камня&r. &7Примечание: можно использовать улучшенную версию &6Greate&r, у которой есть встроенный бак для жидкости.", @@ -4046,7 +4046,7 @@ "quests.tfg_tips.gt_filters.desc": "С &5GregTech&r ты получаешь доступ к различным &6фильтрам&r, которые помогают упростить &aавтоматизацию&r. Все они совместимы с разными &dулучшениями машин&r, о которых ты узнаешь больше в главе &7LV&r.\n\nЗдесь мы представляем ещё два более специализированных фильтра, которые могут оказаться &bполезными&r в определённых ситуациях.\n\nЧтобы использовать фильтр, просто установи его как &dулучшение машины&r на любую &5GT машину&r или &6трубу&r.", "quests.tfg_tips.smart_item_filter.subtitle": "Тук, тук - кто там? Это MENSA!", "quests.tfg_tips.smart_item_filter.desc.1": "В этом квесте мы даруем тебе &5проклятую мудрость&r… способность легко автоматизировать Электролизёр.\n\n&9Умный предметный фильтр&r — это фильтр, который распознаёт карты рецептов. Если установить его на сторону машины, ты можешь выставить режим «&3Электролизёр&r», и он будет пропускать только предметы, подходящие для электролиза. Да-да — никакой ручной фильтрации!\n\nИ это ещё &aне предел&r. Если объединить этого красавца с &aРоборукой&r, она будет подавать в машину &6ровно то количество&r предметов, которое требуется для успешного рецепта.", - "quests.tfg_tips.smart_item_filter.desc.2": "Установи &aРоботизированный манипулятор&r на свой Электролизёр, открой его GUI, затем помести внутрь &9Умный фильтр&r. Убедись, что Умный фильтр настроен на Электролизёр.\n\nДалее настрой его на &d&lИмпорт&r и &d&lТочная подача&r. После этого подключи любой инвентарь &7(подойдёт обычный сундук)&r к той стороне, где ты установил &aРоботизированный манипулятор&r. Та-дам! Ты разобрался, как обрабатывать &6все&r рецепты Электролизёра!\n\nА что насчёт вывода &3Электролизёра&r? Скорее всего, тебе захочется направить жидкости в несколько резервуаров — или даже в &3Супер резервуары&r, если ты уже до них добрался. Мы настоятельно рекомендуем избегать любых методов, связанных с удалением жидкостей.&7.&8. за исключением воды по очевидным причинам.", + "quests.tfg_tips.smart_item_filter.desc.2": "Установи &aРоботизированный манипулятор&r на свой Электролизёр, открой его GUI, затем помести внутрь &9Умный фильтр&r. Убедись, что Умный фильтр настроен на Электролизёр.\n\nДалее настрой его на &d&lИмпорт&r и &d&lТочная подача&r. После этого подключи любой инвентарь &7(подойдёт обычный сундук)&r к той стороне, где ты установил &aРоботизированный манипулятор&r. Та-дам! Ты разобрался, как обрабатывать &6все&r рецепты Электролизёра!\n\nА что насчёт вывода &3Электролизёра&r? Скорее всего, тебе захочется направить жидкости в несколько резервуаров — или даже в &3Супер резервуары&r, если ты уже до них добрался. Мы настоятельно рекомендуем избегать любых методов, связанных с удалением жидкостей.&7.&7. за исключением воды по очевидным причинам.", "quests.tfg_tips.smart_item_filter.desc.3": "&9Примечание:&r Роботизированный манипулятор должен сам выполнять перенос предметов, чтобы его фильтрация работала! Если вставлять предметы напрямую в машину &7(например, заталкивая их воронкой!)&r, настройка &dТочная подача&r Роботизированного манипулятора будет проигнорирована.", "quests.tfg_tips.hazard_materials.title": "Опасные материалы", "quests.tfg_tips.hazard_materials.subtitle": "Опасность удушья, для детей от 3 лет.", @@ -4344,7 +4344,7 @@ "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&r включает систему &aУлучшений авиации&r, которые можно установить для повышения характеристик: скорости, взлетной тяги, расхода топлива и т.д. Существует два типа улучшений: &bобычные&r и &dуровневые.&r\n\nВ этом квесте — &bобычные&r улучшения. Думаете, соберете их все?", "quests.tfg_tips.steam_upgrades.title": "Улучшения для авиации: Паровые", "quests.tfg_tips.steam_upgrades.subtitle": "Immersive Aircraft встречает систему уровней GregTech!", - "quests.tfg_tips.steam_upgrades.desc": "Второй тип улучшений авиации — &dуровневые улучшения.&r Они соответствуют системе уровней &3GregTech,&r начиная с &8Паровых&r и заканчивая &5EV.&r\n\nПаровые улучшения — самые простые и доступные в кратчайший срок. Для их создания потребуются минимум знаний о &bЧерной стали.&r\n\n&dСтальные бойлеры&r используются при постройке более сложных летательных аппаратов, таких как &eБиплан&r и &cВоенный дирижабль.&r", + "quests.tfg_tips.steam_upgrades.desc": "Второй тип улучшений авиации — &dуровневые улучшения.&r Они соответствуют системе уровней &3GregTech,&r начиная с &7Паровых&r и заканчивая &5EV.&r\n\nПаровые улучшения — самые простые и доступные в кратчайший срок. Для их создания потребуются минимум знаний о &bЧерной стали.&r\n\n&dСтальные бойлеры&r используются при постройке более сложных летательных аппаратов, таких как &eБиплан&r и &cВоенный дирижабль.&r", "quests.tfg_tips.steam_upgrades.task": "Любое улучшение парового уровня для авиации", "quests.tfg_tips.lv_upgrades.title": "Улучшения для авиации: LV", "quests.tfg_tips.lv_upgrades.subtitle": "Красный и синий, безусловно не конфликтующие.", @@ -4632,7 +4632,7 @@ "quests.tfg_tips.tools_tips.subtitle": "Как затягивать и ослаблять 101.", "quests.tfg_tips.tools_tips.tools.title": "Инструменты", "quests.tfg_tips.tools_tips.tools.subtitle": "В любом случае это всего лишь молоток.", - "quests.tfg_tips.tools_tips.tools.desc": "Единственное, что отличает человека от животного — это наше использование &l&bинструментов&r&r. &8&oЗа исключением обезьян, дельфинов, ворон, выдр, осьминогов и других...&r&r Используй свои умения и инструменты, чтобы извлечь максимум из этого мира и &5сэкономить себе&r усилия.", + "quests.tfg_tips.tools_tips.tools.desc": "Единственное, что отличает человека от животного — это наше использование &l&bинструментов&r&r. &7&oЗа исключением обезьян, дельфинов, ворон, выдр, осьминогов и других...&r&r Используй свои умения и инструменты, чтобы извлечь максимум из этого мира и &5сэкономить себе&r усилия.", "quests.tfg_tips.tools_tips.seed_oil.title": "Топливо для фонаря: Растительное масло", "quests.tfg_tips.tools_tips.seed_oil.subtitle": "Когда горит, пахнет приятно.", "quests.tfg_tips.tools_tips.seed_oil.desc": "&dРастительное масло&r будет гореть на протяжении &c72&r дней.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 7879150f4..b970c20a3 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1867,7 +1867,7 @@ "quests.ae2.cell_component_1m.desc": "&3Компоненти Зберігання Mega&r потребуватимуть &bЛінії Збирання&r. Зверніть увагу, що рецепт для Землі має виготовлятися в Чистій кімнаті, або ви можете використати Чистий Люк Обслуговування, якщо маєте доступ до нього.\n\nНа Місяці це не потрібно.", "quests.ae2.cell_component_4m.desc": "Просто більший та дорожчий.", "quests.ae2.cell_component_16m.desc": "Цей можна виготовити лише на &cМісяці&r і ніде більше. Також знадобиться середовище Чистої кімнати, тож якщо ви не хочете морочитися з Чистою кімнатою на &cМісяці&r, слід створити &7Чистий Люк Обслуговування&r.\n\nТакож потрібні деякі дослідження. Зверніться до розділу &cZPM&r, якщо не знаєте, що це означає.", - "quests.ae2.cell_component_64m.desc": "&c64M Компонент Зберігання MEGA&r — це найбільший, який можна створити у &8TerraFirmaGreg&r. Чесно кажучи, ми вважаємо, що він вам ніколи не знадобиться, але він існує для тих, хто прагне завершити колекцію.", + "quests.ae2.cell_component_64m.desc": "&c64M Компонент Зберігання MEGA&r — це найбільший, який можна створити у &7TerraFirmaGreg&r. Чесно кажучи, ми вважаємо, що він вам ніколи не знадобиться, але він існує для тих, хто прагне завершити колекцію.", "quests.ae2.oversize_interface.desc": "&dME Надвеликий Інтерфейс&r — це &dРозширений Me Інтерфейс&r, але кожен слот може вміщувати у 16 разів більше предметів або рідин. Якщо у вас є процеси, що потребують величезних кількостей, це може стати вашим основним інструментом.", "quests.ae2.assembler_matrix.desc": "&6Матриця Збирача&r — це, по суті, настроюваний мультиблок Молекулярного Збирача. Вимоги для цього квесту дозволяють зібрати версію, яку ми вважаємо достатньо потужною. За бажанням ви можете додати більше шарів &bЯдра Шаблону&r або &aЯдра Крафту&r.\n\nЯк завжди, зверніться до внутрішньоігрового гіда для детальної інформації.", "quests.combat_tips.stone_main.title": "Кам’яна доба", @@ -2321,7 +2321,7 @@ "quests.extreme_voltage.btx_loop.title": "Переробка використаного каталізатора", "quests.extreme_voltage.btx_loop.subtitle": "Повернути якомога більше", "quests.extreme_voltage.btx_loop.desc.1": "Остання частина цього ланцюга полягає у переробці використаного каталізатора. Загальний процес досить простий, а головною проблемою буде підтримання безперервного постачання &aУсилених епоксидних смоляних пластин&r та &eКлею&r. \n\nЯкщо у тебе досі працює &2система підсочки&r, цього більш ніж достатньо, щоб виробити всю смолу, необхідну для створення клею. Альтернативно, використання &bЕкстрактора&r на колодах також є цілком життєздатним варіантом. Цей метод трохи більш &cенергоємний&r, але вибір повністю залежить від твоєї інфраструктури.", - "quests.extreme_voltage.btx_loop.desc.2": "Невелика примітка щодо &9Розбавленої хлороводневої кислоти&r: її легко отримати реакцією &bВоди&r з &aХлором&r. Ти можеш зберігати свою &dХлорнуватисту кислоту&r або провести її &7Електроліз&r, якщо хочеш повернути &fполовину Хлору&r. \n\nЩо стосується &6Сульфатної кислоти&r, то ти вже маєш доступ до &aнескінченного джерела Сірки&r через свою систему &eПетрохімічної дистиляції&r. Якщо це ще не так, ми наполегливо радимо вирішити це якомога швидше. Альтернативно, &8Кам’яновугільний дьоготь&r, отриманий під час виробництва &bРеформатного газу&r, можна перетворити назад у &2Сірководень&r і зрештою знову очистити до &6Сірки&r.", + "quests.extreme_voltage.btx_loop.desc.2": "Невелика примітка щодо &9Розбавленої хлороводневої кислоти&r: її легко отримати реакцією &bВоди&r з &aХлором&r. Ти можеш зберігати свою &dХлорнуватисту кислоту&r або провести її &7Електроліз&r, якщо хочеш повернути &fполовину Хлору&r. \n\nЩо стосується &6Сульфатної кислоти&r, то ти вже маєш доступ до &aнескінченного джерела Сірки&r через свою систему &eПетрохімічної дистиляції&r. Якщо це ще не так, ми наполегливо радимо вирішити це якомога швидше. Альтернативно, &7Кам’яновугільний дьоготь&r, отриманий під час виробництва &bРеформатного газу&r, можна перетворити назад у &2Сірководень&r і зрештою знову очистити до &6Сірки&r.", "quests.gregtech_energy": "GregTech Енергія", "quests.gregtech_energy.subtitle": "Ото як усе це працює?", "quests.gregtech_energy.start.title": "Давай щось пояснимо", @@ -2330,14 +2330,14 @@ "quests.gregtech_energy.start.subtitle": "Все не так уже й погано, як ти думаєш", "quests.gregtech_energy.moving.title": "Переміщення твоєї енергії", "quests.gregtech_energy.moving.subtitle": "Отже, передача енергії, га", - "quests.gregtech_energy.moving.desc": "Передача енергії в GregTech означає розуміння кількох основних механік.\n\nПо-перше, &bЕнергетичні рівні&r. Від &aLV&r до &cUHV&r, усе в GregTech — дроти, машини, рецепти — прив’язане до рівня. Вам знадобиться &eправильний матеріал кабелю&r для передачі енергії. Наприклад:\n&8•&r Олов’яний дріт = &aLV&r\n&8•&r Мідний дріт = &bMV&r\n\nПо-друге, існує механіка &bАмперажу&r. Уявіть 1 Ампер (або 1A) як &eпакет енергії&r. Машини запитують «пакети» енергії, які потім надходять по дроту.\n&8•&r 1A рівня LV = &a32 EU&r\n&8•&r 1A рівня HV = &e512 EU&r\n\nБільшість машин та енергетичних люків запитують максимум &62A&r.\n\nОпанування цих двох понять є ключем перед тим, як переходити до розподілу енергії.", + "quests.gregtech_energy.moving.desc": "Передача енергії в GregTech означає розуміння кількох основних механік.\n\nПо-перше, &bЕнергетичні рівні&r. Від &aLV&r до &cUHV&r, усе в GregTech — дроти, машини, рецепти — прив’язане до рівня. Вам знадобиться &eправильний матеріал кабелю&r для передачі енергії. Наприклад:\n&7•&r Олов’яний дріт = &aLV&r\n&7•&r Мідний дріт = &bMV&r\n\nПо-друге, існує механіка &bАмперажу&r. Уявіть 1 Ампер (або 1A) як &eпакет енергії&r. Машини запитують «пакети» енергії, які потім надходять по дроту.\n&7•&r 1A рівня LV = &a32 EU&r\n&7•&r 1A рівня HV = &e512 EU&r\n\nБільшість машин та енергетичних люків запитують максимум &62A&r.\n\nОпанування цих двох понять є ключем перед тим, як переходити до розподілу енергії.", "quests.gregtech_energy.moving.task": "Я розумію", "quests.gregtech_energy.transformer.title": "Супер Трансформатор", "quests.gregtech_energy.transformer.subtitle": "Краще, ніж Оптимус Прайм", - "quests.gregtech_energy.transformer.desc": "Для кожної проблеми в GregTech існує мультиблокове рішення. Зустрічай &dАктивний трансформатор&r. \n\nЦей монстр — твій найкращий трансформатор. Він може перетворювати енергію між будь-якими рівнями — від &aLV&r до &cUHV&r — без урахування ампер чи плутанини з купою одноблокових трансформаторів. \n\nАле це ще не найкраща частина: він може передавати енергію через Лазерні труби. \n&8•&r Лазери передають абсурдну кількість ампер. \n&8•&r Жодних втрат. Жодних кабелів. Лише чиста енергія. \n&8•&r Є лише одна умова: &cвони мають бути розташовані ідеально по прямій&r. \n\nКоли кабелі здаються слабкими, &lвикористовуй лазери&r.", + "quests.gregtech_energy.transformer.desc": "Для кожної проблеми в GregTech існує мультиблокове рішення. Зустрічай &dАктивний трансформатор&r. \n\nЦей монстр — твій найкращий трансформатор. Він може перетворювати енергію між будь-якими рівнями — від &aLV&r до &cUHV&r — без урахування ампер чи плутанини з купою одноблокових трансформаторів. \n\nАле це ще не найкраща частина: він може передавати енергію через Лазерні труби. \n&7•&r Лазери передають абсурдну кількість ампер. \n&7•&r Жодних втрат. Жодних кабелів. Лише чиста енергія. \n&7•&r Є лише одна умова: &cвони мають бути розташовані ідеально по прямій&r. \n\nКоли кабелі здаються слабкими, &lвикористовуй лазери&r.", "quests.gregtech_energy.moving_wire.title": "Рухаючись з дротами", "quests.gregtech_energy.moving_wire.subtitle": "Дивно розміщується", - "quests.gregtech_energy.moving_wire.desc": "Передача енергії в GregTech — справа непроста: &bбільшість кабелів мають втрати&r. З кожним блоком, з кожним ампером, частина енергії зникає під час руху дротами. Але рішення є:\n\n&8•&r Покрий дроти гумою. Це значно зменшить втрати енергії на відстані. Просто заглянь у квестові предмети для прикладу.\n\n&8•&r Використовуй дроти вищого рівня. Наприклад, платинові дроти втрачають лише 1 EU на блок — практично нічого, якщо врахувати, що вони передають до 8192 EU.\n\n&8•&r &bНадпровідники&r. Ці красені коштують недешево, але мають &90 втрат&r. Їм не потрібні гумові обгортки, і вони не завдають шкоди. Щоправда, зазвичай їх можна створити тільки ближче до завершення свого рівня.\n\nОптимізуй передачу енергії — &bзменшуй втрати&r та зроби свою систему ефективнішою.", + "quests.gregtech_energy.moving_wire.desc": "Передача енергії в GregTech — справа непроста: &bбільшість кабелів мають втрати&r. З кожним блоком, з кожним ампером, частина енергії зникає під час руху дротами. Але рішення є:\n\n&7•&r Покрий дроти гумою. Це значно зменшить втрати енергії на відстані. Просто заглянь у квестові предмети для прикладу.\n\n&7•&r Використовуй дроти вищого рівня. Наприклад, платинові дроти втрачають лише 1 EU на блок — практично нічого, якщо врахувати, що вони передають до 8192 EU.\n\n&7•&r &bНадпровідники&r. Ці красені коштують недешево, але мають &90 втрат&r. Їм не потрібні гумові обгортки, і вони не завдають шкоди. Щоправда, зазвичай їх можна створити тільки ближче до завершення свого рівня.\n\nОптимізуй передачу енергії — &bзменшуй втрати&r та зроби свою систему ефективнішою.", "quests.gregtech_energy.moving_wire.task": "Я завершив огляд дротів", "quests.gregtech_energy.moving_amp.title": "Керування Амперами", "quests.gregtech_energy.moving_amp.subtitle": "Воно горить?", @@ -2420,10 +2420,10 @@ "quests.gregtech_energy.smr.task": "", "quests.gregtech_energy.gasoline.title": "Бензин", "quests.gregtech_energy.gasoline.subtitle": "Середня дитина", - "quests.gregtech_energy.gasoline.desc": "&aБензин&r — це справді потужне паливо для згоряння, яке ви розблокуєте на &6HV&r, але на практиці починаєте виробляти лише після побудови своїх перших &6Дистиляційних веж&r. &7Толуол&r легко виготовляється з &7Деревного дьогтю&r або &7Важкого палива&r, а все інше, що вам потрібно — це &dНафтовий газ&r, &8Нафта&r та суміш з &3Кисню&r, &bВодню&r і &1Вуглецю&r.\n\nЦе потужне паливо, досить просте у виробництві, і що ще краще — його можна покращити до &cБензину з високим октановим числом&r.", + "quests.gregtech_energy.gasoline.desc": "&aБензин&r — це справді потужне паливо для згоряння, яке ви розблокуєте на &6HV&r, але на практиці починаєте виробляти лише після побудови своїх перших &6Дистиляційних веж&r. &7Толуол&r легко виготовляється з &7Деревного дьогтю&r або &7Важкого палива&r, а все інше, що вам потрібно — це &dНафтовий газ&r, &7Нафта&r та суміш з &3Кисню&r, &bВодню&r і &1Вуглецю&r.\n\nЦе потужне паливо, досить просте у виробництві, і що ще краще — його можна покращити до &cБензину з високим октановим числом&r.", "quests.gregtech_energy.high_gasoline.title": "Бензин з високим октановим числом (HOG)", "quests.gregtech_energy.high_gasoline.subtitle": "Надзвичайно потужний", - "quests.gregtech_energy.high_gasoline.desc": "Пряме покращення &cБензину&r — це &5паливо, вдвічі потужніше&r. Попри назву, вам потрібно додати не лише &dОктан&r, а й інші матеріали з &8Петрохімії&r. На цьому етапі ми очікуємо, що ви вже зможете орієнтуватися в &bEMI&r і розпочати виготовлення цього надзвичайно потужного палива.", + "quests.gregtech_energy.high_gasoline.desc": "Пряме покращення &cБензину&r — це &5паливо, вдвічі потужніше&r. Попри назву, вам потрібно додати не лише &dОктан&r, а й інші матеріали з &7Петрохімії&r. На цьому етапі ми очікуємо, що ви вже зможете орієнтуватися в &bEMI&r і розпочати виготовлення цього надзвичайно потужного палива.", "quests.gregtech_energy.lst_fuel.title": "Це Пар", "quests.gregtech_energy.lst_fuel.subtitle": "Не надто великий вибір", "quests.gregtech_energy.lst_fuel.desc": "Пара — це не складно: просто кип’ятіть воду.\n\nЩоб робити це ефективно, ми рекомендуємо використовувати &6Великі Котли&r. Існує чотири варіанти: для &8ULV&r, &bMV&r, &5EV&r та &1IV&r. Кожен рівень суттєво збільшує обсяг виробленої пари.\n\nПроте майте на увазі: масштабування &dВеликої Парової Турбіни&r з цими котлами не найкраще порівняно з іншими методами генерації енергії.\n\nБільшість гравців ігнорують Титанові та Вольфрамовосталеві Котли — вони існують, якщо ви захочете, але створювати їх не надто вигідно. Пара просто не дуже добре масштабується!\n\nНагадуємо: &e2 mB&r пари = &e1 EU&r.", @@ -2462,7 +2462,7 @@ "quests.gregtech_energy.pss.title": "Електрична Підстанція", "quests.gregtech_energy.pss.subtitle": "Усе в одну карту", "quests.gregtech_energy.pss.desc.1": "&dПідстанція живлення&r — також відома як &dPSS&r — це &6ультимативна призначена для користувача батарейна мультиструктура&r. Щойно ви зможете створити її на &1IV&r, вона легко стане центральним джерелом енергії вашої бази, тож варто на це орієнтуватися.\n\nВона здатна зберігати стільки енергії... вам би знадобилося кілька життів, щоб її заповнити.", - "quests.gregtech_energy.pss.desc.2": "&eЯк це працює&r: \n- Побудуй структуру, використовуючи &aОбшивку Підстанції з Паладію&r. \n- Додай щонайменше &b1 Енергетичний Люк&r (вхід) та &b1 Динамо Люк&r (вихід). \n- Приймає &aбудь-який люк&r — &8на основі амперажу&r або &6лазерний&r. \n- &cНемає ризику вибуху&r — трансформатори &aінтегровані&r. \n\n&eШари Конденсаторів&r: \n- Можна додати до &d17 шарів&r &9Блоків Конденсаторів&r поверх структури. \n- Кожен шар має бути &cповністю заповнений&r — без прогалин. \n- Можна змішувати &fпорожні&r та &6заповнені&r конденсатори як завгодно. \n\nОточи кожен шар &bЛамінованим Склом&r. \n\nБудьмо чесними: &cТобі ніколи не знадобиться 17 шарів&r... але, знаєш, мріяти не заборонено. \nЯкщо ти справді побудуєш повну 17-шарову Підстанцію, &lбудь ласка, звернись до лікаря&r — ти зайшов надто далеко.", + "quests.gregtech_energy.pss.desc.2": "&eЯк це працює&r: \n- Побудуй структуру, використовуючи &aОбшивку Підстанції з Паладію&r. \n- Додай щонайменше &b1 Енергетичний Люк&r (вхід) та &b1 Динамо Люк&r (вихід). \n- Приймає &aбудь-який люк&r — &7на основі амперажу&r або &6лазерний&r. \n- &cНемає ризику вибуху&r — трансформатори &aінтегровані&r. \n\n&eШари Конденсаторів&r: \n- Можна додати до &d17 шарів&r &9Блоків Конденсаторів&r поверх структури. \n- Кожен шар має бути &cповністю заповнений&r — без прогалин. \n- Можна змішувати &fпорожні&r та &6заповнені&r конденсатори як завгодно. \n\nОточи кожен шар &bЛамінованим Склом&r. \n\nБудьмо чесними: &cТобі ніколи не знадобиться 17 шарів&r... але, знаєш, мріяти не заборонено. \nЯкщо ти справді побудуєш повну 17-шарову Підстанцію, &lбудь ласка, звернись до лікаря&r — ти зайшов надто далеко.", "quests.gregtech_energy.batteries.title": "Супер Акумулятори", "quests.gregtech_energy.batteries.subtitle": "Науково-фантастичне зберігання енергії", "quests.gregtech_energy.batteries.desc": "У &7LV&r та &bMV&r ви, ймовірно, створили свої перші батареї з Натрію або Літію.\n\nАле будьмо чесні — це найслабші батареї, які пропонує GregTech.\n\nУ цьому завданні ми розглянемо потужні альтернативи: &aкристалічні батареї&r.\nВони значно потужніші, зберігають набагато більше енергії та допоможуть вам підняти фабрику на новий рівень.\n\nВони дорожчі? Звісно. Але будьмо чесні...\nЕнергія — це енергія. Хто її рахує?", @@ -2498,14 +2498,14 @@ "quests.gregtech_energy.rotor.title": "Ротори турбіни", "quests.gregtech_energy.rotor.subtitle": "Стільки варіантів!", "quests.gregtech_energy.rotor.desc.1": "Тримачі роторів природно вимагають встановлення Ротора, але існує багато варіантів, і всі вони мають різні характеристики. То що ж вони означають?\n\nВища &9Ефективність&r збільшує час використання кожного мБ палива, фактично зменшуючи його витрати. Тим часом &9Потужність&r підвищує кількість EU, яку генерує турбіна. І нарешті, &9Міцність&r — це очевидний параметр.", - "quests.gregtech_energy.rotor.desc.2": "В ідеалі ви захочете максимізувати всі три параметри, але вибір залежатиме від того, скільки палива ви виробляєте, скільки турбін маєте та як часто готові їх замінювати, тож однозначно правильного варіанту немає. &8(Окрім нейтронію, звісно...)&r\n\nЗ огляду на це, якщо ви зовсім розгубилися, ми рекомендуємо ванадієву сталь у &6HV&r, Ultimet у &5EV&r та HSS-S у &9IV&r.\n\nНа жаль, ви не можете автоматично подавати нові ротори в тримачі роторів, оскільки блок перед ними має бути повністю порожнім, але &aМеханічна рука&r чудово впорається!", + "quests.gregtech_energy.rotor.desc.2": "В ідеалі ви захочете максимізувати всі три параметри, але вибір залежатиме від того, скільки палива ви виробляєте, скільки турбін маєте та як часто готові їх замінювати, тож однозначно правильного варіанту немає. &7(Окрім нейтронію, звісно...)&r\n\nЗ огляду на це, якщо ви зовсім розгубилися, ми рекомендуємо ванадієву сталь у &6HV&r, Ultimet у &5EV&r та HSS-S у &9IV&r.\n\nНа жаль, ви не можете автоматично подавати нові ротори в тримачі роторів, оскільки блок перед ними має бути повністю порожнім, але &aМеханічна рука&r чудово впорається!", "quests.gregtech_energy.rotor.task": "Будь-які ротори турбіни", "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. Стрижні багаторазові, тож виготовляти їх забагато не потрібно. Власне, наразі вам може вистачити одного.\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Наразі реактор може використовувати їх трьома&8*&r різними способами: \n&e1)&r Максимальна температура &7(ізолятор)&r \n&e2)&r Ефективність &7(паливо служить довше)&r \n&e3)&r Регулювання &7(уповільнює реакції)&r \n\n&8*)&r Можливо, у вашій локальній галактиці немає необхідних матеріалів для всіх категорій. Ми оцінюємо, що знайти матеріали вдасться лише для першої.\n\nАле будьте обережні. Підвищення &cтемператури&r має і &cнедолік&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. Якщо ви хочете найефективніше нагрівати охолоджувачі, використовуйте низьку температуру. Але якщо вам потрібне швидше перетворення подільних матеріалів, застосовуйте настільки високу температуру, наскільки дозволяє ізоляція.", "quests.gregtech_energy.fission_reactor.desc.6": "Ви нарешті готові ознайомитися з різними рецептами, пов’язаними з реактором; перевірте, де використовується &dконтролер&r, і ви знайдете три вкладки &eEMI&r:\n\n&e1)&r Ядерний реактор &7(палива та сумісні охолоджувачі)&r \n&e2)&r Обробка тепла реактора &7(аналог ЕПП — електропечі високої температури)&r \n&e3)&r Продукти поділу &7(коли паливо вичерпується)&r \n&e4)&r Попередній перегляд мультиблоку \n\nРізні &aпалива&r сумісні лише з певними &9охолоджувальними рідинами&r, тож звертайте на це увагу. \nА коли паливний стрижень повністю вичерпується, можна з упевненістю сказати, що він &bперет&dвор&bився&r на нові елементи. \n\nНатомість рецепти обробки можуть виконуватися незалежно від палива, якщо рівень температури достатньо високий.", "quests.gregtech_energy.fission_reactor.desc.7": "Спрощена математика така: за наявності достатньої кількості охолоджувальної рідини та &c100%%&r паливного стрижня тепла реактор досягне температури приблизно &c200&r. Це також можна називати рівнем тепла або просто теплом. Використання &dдвох&r &c100%%&r паливних елементів еквівалентне &dодному&r &c200%%&r елементу, і обидва варіанти дають близько &c400&r тепла.\n\nЦе відбувається тому, що паливний стрижень генерує &6200 HU/t&r (одиниць тепла). Охолоджувальні рідини здатні відводити &61 HU/t&r на кожен &c1&r градус тепла.\n\nЯкщо максимальна температура реактора становить &c190&r, то &c100%%&r паливний елемент його перегріє. Це можна компенсувати за допомогою компонентів або ж використовуючи &dактивні охолоджувачі&r через систему обробки. Кожен рецепт має свій тепловий вплив.", @@ -2593,7 +2593,7 @@ "quests.high_voltage.tnt.desc.3": "Ніяких простих порад щодо &aТолуолу&r ми не маємо — яким би шляхом ти не пішов, це буде непросто.\n\nАле не пропусти прямий рецепт з &aВажкого пального&r у &aТолуол&r у одноблоковій &3Дистилярні&r.\n\n&aТолуол&r також можна опціонально використати на &5EV&r рівні для створення &dБензину&r.\n\n&cТНТ&r використовується в &3Імплозійному компресорі&r для створення Самоцвітів. А ще він вибухає.", "quests.high_voltage.ender_pearls.title": "Перлини Енду", "quests.high_voltage.ender_pearls.subtitle": "Технологічні дорогоцінності", - "quests.high_voltage.ender_pearls.desc": "Жоден Ендермен не впустить Перлину Краю у TFG.\nНавіть ті, що причаїлись у Безодні, не допоможуть.\n\nНатомість твій єдиний варіант наразі — створити її власноруч:\n\nЗмішай &2Пил Берилію&r та &2Пил Калію&r у &6HV&r Змішувачі, щоб отримати рідкісний &5Пил Ендер&r.\n\nА потім закинь його в &8Імплозійний компресор&r і відтвори знакову Перлину Краю — у стилі GregTech.", + "quests.high_voltage.ender_pearls.desc": "Жоден Ендермен не впустить Перлину Краю у TFG.\nНавіть ті, що причаїлись у Безодні, не допоможуть.\n\nНатомість твій єдиний варіант наразі — створити її власноруч:\n\nЗмішай &2Пил Берилію&r та &2Пил Калію&r у &6HV&r Змішувачі, щоб отримати рідкісний &5Пил Ендер&r.\n\nА потім закинь його в &7Імплозійний компресор&r і відтвори знакову Перлину Краю — у стилі GregTech.", "quests.high_voltage.boules.title": "Фосфорні булі", "quests.high_voltage.boules.subtitle": "Жесть, як круто!", "quests.high_voltage.boules.desc": "Допування — це процес навмисного введення домішок у напівпровідники для зміни їхніх властивостей.\n\n&7Кремній&r можна допувати невеликою кількістю &eФосфору&r, щоб отримати вдосконалену &eКремнієву булю&r.\n\nБулі з допованим фосфором зазвичай дають &68 разів&r більше пластин, ніж їх недоповані аналоги. Проте вони не є строго необхідними до &5EV&r, де використовуються для складніших пластин.\n\n&9Примітка&r: Уся обробка фосфорних булів і пластин потребує &dЧистої кімнати&r.", @@ -2630,7 +2630,7 @@ "quests.high_voltage.hv_hull.subtitle": "Скоро станеш мінестронавтом", "quests.high_voltage.hv_hull.desc.1": "&2Сподіваємось, ти вже освоївся з &9GregTech&r, бо настав час трохи підвищити рівень своїх навичок. \nУ цьому розділі ти відкриєш &eпросунуті мультиблоки&r, &eскладні процеси&r і навіть зробиш перші кроки на &fМісяць&r!\n\n&6У цьому розділі перед тобою стоять дві основні цілі:&r \n- Створити свою першу &5EV&r Машинну Оболонку \n- Розпочати подорож на &fМісяць&r\n\nВідкриття Місяця також надасть доступ до &bІстинний Кварц&r, що відкриває шлях до &dApplied Energistics 2&r. \nТи можеш виконувати ці завдання в будь-якому порядку — як тобі зручно.", "quests.high_voltage.hv_hull.desc.2": "Щоб створити &5EV&r Машинну Оболонку:\n- Побудуй свою першу &aЧисту Кімнату&r \n- Зроби &bВакуумну Морозильну Камеру&r для охолодження гарячих злитків \n- Оброби &9Рутил&r у &7Титан&r\n\n&9Рутил&r у великій кількості можна знайти на &fМісяці&r, але він також трапляється в жилах &eБокситу&r в &aОсновному світі&r.", - "quests.high_voltage.hv_hull.desc.3": "Щоб дістатися до &fМісяця&r:\n- Створи достатню кількість &6Ракетного Сплаву&r \n- Виготов свою перше &eОко Енду&r за допомогою &3Хімічної Ванни&r та &8Імплозійного Компресора&r \n- Підготуй усе &bспорядження&r, необхідне для &bдихання в космосі&r\n\nОтримання &bВакуумної Морозильної Камери&r та &6покращених котушок&r пришвидшить виробництво &6Ракетного Сплаву&r, але це не обов’язково.\n\n&dОбери свій шлях!&r", + "quests.high_voltage.hv_hull.desc.3": "Щоб дістатися до &fМісяця&r:\n- Створи достатню кількість &6Ракетного Сплаву&r \n- Виготов свою перше &eОко Енду&r за допомогою &3Хімічної Ванни&r та &7Імплозійного Компресора&r \n- Підготуй усе &bспорядження&r, необхідне для &bдихання в космосі&r\n\nОтримання &bВакуумної Морозильної Камери&r та &6покращених котушок&r пришвидшить виробництво &6Ракетного Сплаву&r, але це не обов’язково.\n\n&dОбери свій шлях!&r", "quests.high_voltage.nichrome.title": "Злитки Ніхрому", "quests.high_voltage.nichrome.subtitle": "З нього мало користі", "quests.high_voltage.nichrome.desc": "Ваш третій сплав уже тут, і він необхідний для наступного набору котушок у &6ЕДП&r.\n\nЯк і зазвичай, вам знадобиться &9128 злитків&r, але цього разу ви помітите, що не можна використати &6Хімічну мийну машину&r. Натомість потрібно скористатися &6Вакуумною морозильною камерою&r.\n\nДобра новина: це насправді простіше й швидше.\n\nДля цих котушок ви використовуватимете лише &6ніхром&r, але не розслабляйтеся — він ще знадобиться пізніше для наступного набору &5RTM котушок&r.", @@ -2699,7 +2699,7 @@ "quests.high_voltage.moon_harvester.desc": "&7Місяць&r — ваш перший крок у світ &eнескінченних руд&r, але він повільний.\nВам доведеться збирати різні види &bПилу Реголіту&r, кожен з яких можна отримати лише в певному біомі.\nДля цього ви будете використовувати &6Місячний Жнивар&r. Є два важливих моменти, про які слід пам’ятати при його використанні:\n\n• Потрібен &9Ввідний Люк&r, щоб встановити правильну & мікросхему&r.\n• Підтримує &eкотушки&r так само, як &6Cracker&r — чим вищий рівень котушок, тим більша економія енергії.\nЦе особливо корисно при зборі Реголіту далеко від вашої бази.\n\nЗвісно, необробленого пилу недостатньо.\nПотрібна &aневелика лінія обробки&r, щоб витягти ресурси з пилу Реголіту. Тож обов’язково привезіть їх на вашу &7Місячну базу&r для обробки.", "quests.high_voltage.regolith_vapor.title": "Випарний Реголіт", "quests.high_voltage.regolith_vapor.subtitle": "Невеликий пристрій, щоб перетворювати пил у руди", - "quests.high_voltage.regolith_vapor.desc": "Щоб переробити ваш &bПил Реголіту&r, вам знадобиться &bВипарний Реголіт&r — і його налаштування трохи складніше.\n\nОсь що вам буде потрібно:\n\n• &7Місячний Пісок&r — можна отримати нескінченно за допомогою &6Глибинного Бура&r.\n• &eДіоксид Карбону&r — виробляється з &9Кисню&r та &8Вугільного Пилу&r (легко, завдяки нескінченному &bАлмазному Пилу&r, який ви отримаєте).\n• &9Азот&r — добувається через вирощування &dПлодів Хоруса&r.\n\nПорада: можна пропускати ваш &9Кисень&r через &bДіоксид Кремнію&r, що також дає постійний бонус у вигляді &eПилу Кремнію&r — дуже корисний побічний продукт.", + "quests.high_voltage.regolith_vapor.desc": "Щоб переробити ваш &bПил Реголіту&r, вам знадобиться &bВипарний Реголіт&r — і його налаштування трохи складніше.\n\nОсь що вам буде потрібно:\n\n• &7Місячний Пісок&r — можна отримати нескінченно за допомогою &6Глибинного Бура&r.\n• &eДіоксид Карбону&r — виробляється з &9Кисню&r та &7Вугільного Пилу&r (легко, завдяки нескінченному &bАлмазному Пилу&r, який ви отримаєте).\n• &9Азот&r — добувається через вирощування &dПлодів Хоруса&r.\n\nПорада: можна пропускати ваш &9Кисень&r через &bДіоксид Кремнію&r, що також дає постійний бонус у вигляді &eПилу Кремнію&r — дуже корисний побічний продукт.", "quests.high_voltage.regolith_vapor.task": "Зрозуміло", "quests.high_voltage.regolith_dust.title": "Реголіт у кожному біомі", "quests.high_voltage.regolith_dust.subtitle": "Три мушкетери", @@ -2760,7 +2760,7 @@ "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.desc": "Завдяки &7Синтез газу&r у вас тепер є реальна можливість використовувати &8Газову турбіну&r на рівні &7LV&r. Вона працює так само, як і інші &6генератори&r, але має бути трохи дешевшою за &6Генератор згоряння&r.", + "quests.low_voltage.lv_gas_turbine.desc": "Завдяки &7Синтез газу&r у вас тепер є реальна можливість використовувати &7Газову турбіну&r на рівні &7LV&r. Вона працює так само, як і інші &6генератори&r, але має бути трохи дешевшою за &6Генератор згоряння&r.", "quests.low_voltage.lv_gas_syngas.title": "Синтез газ", "quests.low_voltage.lv_gas_syngas.subtitle": "Не деревний газ", "quests.low_voltage.lv_gas_syngas.desc": "Виробляти &7Синтез газ&r дуже просто. Вам потрібно лише &b3 Коксувальні печі&r на кожну &6Варильню&r або &6Вакуумну камеру&r. Потім збираєте &7деревину&r за допомогою &bФерми дерев Create&r, щоб мінімізувати витрати енергії — і можете насолоджуватись цим слабким, але легким у виробництві &7газового палива&r.", @@ -3013,7 +3013,7 @@ "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До цього моменту єдиним способом було &9електролізувати сапфір&r, щоб отримати &7Алюмінієвий пил&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&8І ми не шкодуємо.&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": "Найбільше оновлення, яке ти зробиш", "quests.medium_voltage.mv_extruder.desc": "Ми &lЩИРО&r сподіваємося, що ти &cніколи&r не робив &7LV&r екструдер, адже справді корисним є лише &bMV&r екструдер. Якщо ж зробив — негайно &aпереплав&r його в дуговій печі.\n\nЕкструдер формує тверді матеріали, майже, в будь-яку форму, використовуючи &aзлитки&r. Це чудовий спосіб зменшити кількість мікрокрафту та водночас зберегти високий коефіцієнт переробки.\n\nЕкструдер може виготовляти &6болти&r, &6&6малі шестерні&r, &6шестерні&r та &6&6кільця&r з максимальною ефективністю в один крок!\n\nТакож його зручно використовувати для &dтруб&r, &dгвинтів&r і &dроторів&r.", @@ -3025,7 +3025,7 @@ "quests.medium_voltage.mv_mixer.desc": "Якщо ти хочеш зануритися в &bMV&r, почни тут. \n\nПил, створений у &3MV Змішувачі&r, має велику корисність.", "quests.medium_voltage.mv_energy.title": "Генерація електроенергії в MV", "quests.medium_voltage.mv_energy.subtitle": "Скоро стане жорстко", - "quests.medium_voltage.mv_energy.desc.1": "Привіт і ласкаво просимо до &bMV Виробництва Енергії&r. \n\nУ цьому завданні ми розглянемо різні варіанти, які допоможуть підтримувати роботу твоїх &bMV машин&r безперебійно. \n\nМи не будемо розглядати це в кожному розділі, тому настійно рекомендуємо тобі &aпрочитати спеціальний розділ про Енергію GregTech&r, щоб глибше зрозуміти, як усе працює. \n\nА поки що ось твої &aтри основні варіанти&r: \n\n&8- &bВикористовуй MV Генератор&r для прямого виробництва &bMV-рівня енергії&r. \n\n&8- &bПідвищуй потужність &7LV&r за допомогою трансформаторів&r, з &e4:1 співвідношенням&r між &7LV&r та &bMV&r. \n\n&8- &bКонвертуй RF&r за допомогою &dАльтернатора&r, щоб отримати &bMV енергію&r безпосередньо\n\n", + "quests.medium_voltage.mv_energy.desc.1": "Привіт і ласкаво просимо до &bMV Виробництва Енергії&r. \n\nУ цьому завданні ми розглянемо різні варіанти, які допоможуть підтримувати роботу твоїх &bMV машин&r безперебійно. \n\nМи не будемо розглядати це в кожному розділі, тому настійно рекомендуємо тобі &aпрочитати спеціальний розділ про Енергію GregTech&r, щоб глибше зрозуміти, як усе працює. \n\nА поки що ось твої &aтри основні варіанти&r: \n\n&7- &bВикористовуй MV Генератор&r для прямого виробництва &bMV-рівня енергії&r. \n\n&7- &bПідвищуй потужність &7LV&r за допомогою трансформаторів&r, з &e4:1 співвідношенням&r між &7LV&r та &bMV&r. \n\n&7- &bКонвертуй RF&r за допомогою &dАльтернатора&r, щоб отримати &bMV енергію&r безпосередньо\n\n", "quests.medium_voltage.mv_energy.desc.2": "Генератори вищого рівня збільшуватимуть споживання палива пропорційно до їхньої швидкості генерації, зберігаючи тривалість використання палива та конкретну кількість енергії від нього незмінними. &3Вдосконалена Парова Турбіна&r використовуватиме &d5,120 мБ Пара&r за секунду, що еквівалентно &d256 мБ/т&r. \n\nОтримай &eбудь-який&r з генераторів, щоб завершити це завдання, але тобі може бути зручніше почати з &3Вдосконалої Парової Турбіни&r.", "quests.medium_voltage.mv_energy.desc.3": "Є кілька нових варіантів енергопостачання для &bMV&r. Вибери Генератори та натисни &4U&r, щоб побачити, які палива належать до &aЗгоряння&r або &aГазу&r. \n\nЗавдання у верхньому лівому куті цього розділу присвячені цінним варіантам енергопостачання. \n\nЯкщо ти залишишся на &9Парі&r для генерації енергії, тобі, ймовірно, знадобиться &3Великий Котел&r.", "quests.medium_voltage.mv_energy.desc.4": "&3Трансформатори&r дозволяють безпечно підвищувати та знижувати напругу між рівнями. Вони перетворюють отриману енергію в еквівалентну кількість енергії на 1 рівень напруги вище або нижче від вхідної напруги. \n\nОкрім роботи машин на різних рівнях напруги, Трансформатори корисні для передачі енергії на великі відстані, оскільки втрати в кабелях менші при вищих напругах. Як і в реальному житті!", @@ -3082,7 +3082,7 @@ "quests.medium_voltage.mv_benzene.desc.3": "&l&3Лор:&r&o Бензол був одним із найпотужніших газових палив ще з часів GTCEu — настільки ефективним, що став мемом. Але сьогодні його дні вже полічені майже всюди.", "quests.medium_voltage.reformate_gas.title": "Царство Реформата", "quests.medium_voltage.reformate_gas.subtitle": "Коли один гігант падає — інший постає", - "quests.medium_voltage.reformate_gas.desc": "&8Реформатний газ&r — це ваше нове основне газове паливо на рівні &bMV&r, якщо ви обрали цей шлях. Для ідеальної ефективності вам знадобиться лише &61 Вежа скраплення&r і &62 Піролізні печі&r — і ви зможете безперервно виробляти цей цінний газ.\n\nАле зачекайте, спершу потрібно знайти &5Реній&r — новий матеріал, який трапляється лише в гарячих і посушливих регіонах &7TerraFirmaCraft&r. Його витрати настільки малі, що однієї жили вистачить до кінця модпака, або принаймні до рівня &6HV&r, де — за допомогою &6Крекера&r — цей газ може стати справді нескінченним.", + "quests.medium_voltage.reformate_gas.desc": "&7Реформатний газ&r — це ваше нове основне газове паливо на рівні &bMV&r, якщо ви обрали цей шлях. Для ідеальної ефективності вам знадобиться лише &61 Вежа скраплення&r і &62 Піролізні печі&r — і ви зможете безперервно виробляти цей цінний газ.\n\nАле зачекайте, спершу потрібно знайти &5Реній&r — новий матеріал, який трапляється лише в гарячих і посушливих регіонах &7TerraFirmaCraft&r. Його витрати настільки малі, що однієї жили вистачить до кінця модпака, або принаймні до рівня &6HV&r, де — за допомогою &6Крекера&r — цей газ може стати справді нескінченним.", "quests.medium_voltage.mv_light_fuel.title": "Легке Паливо", "quests.medium_voltage.mv_light_fuel.subtitle": "Збільш яскравість світла тут, малятко", "quests.medium_voltage.mv_light_fuel.desc": "Дистиляція &aНафти&r дасть тобі Паливо, яке потрібно десульфуризувати. \n\n&aСірководень&r ідеально &dпереробляється&r в &3Електролізері&r. \n\nЩоб автоматизувати цей процес, просто розмісти &3Хімічний Реактор&r та &3Електролізер&r поруч один з одним. Не забудь скористатися &5Викруткою&r, щоб &4увімкнути введення з вихідного боку&r. \n\n&aЛегке Паливо&r — це хороший &9варіант для Енергії&r, але є дещо ще краще... перевір Квест ліворуч.", @@ -3093,7 +3093,7 @@ "quests.medium_voltage.mv_diesel.desc.3": "Загалом, краще пріоритизувати розміщення більшої кількості машин (&dпаралелізація&r), ніж розгін рецептів. Таким чином ти втратиш менше енергії під час обробки ресурсів. \n\n&aДизель&r спалюється в &3Генераторі Горіння&r. Його можна додатково очистити до &6Цетан-Підсиленого Дизеля&r на рівні &6HV&r. У порівнянні з іншими джерелами енергії, він загалом ефективніший, але вимагає складнішої обробки. Якщо ти обираєш &eНафтовий&r шлях для &aПоліетилену&r, це може добре працювати з наявною інфраструктурою. Врешті-решт, вибір джерела енергії — твій.", "quests.medium_voltage.coal_tower.title": "Вежа скраплення", "quests.medium_voltage.coal_tower.subtitle": "Хто ж не любить нові багатоблоки", - "quests.medium_voltage.coal_tower.desc.1": "&bВежа скраплення&r — це нова &bбагатоблочна&r машина, яка використовується для виробництва &aРеформатного газу&r та його побічних продуктів: &7Кам’яновугільної смоли&r і &7Синтез-газу&r. Залежно від того, яку &9Котушку&r ви використовуєте, ви отримаєте знижку на &7тривалість рецепту&r для кожного рецепту. Просто наведіть курсор на котушку та натисніть Shift, щоб побачити її бонуси.\n\nЗверніть увагу, що &9Вежу скраплення&r можна прискорити за допомогою &8Водню&r — це зменшує тривалість рецепту, а отже, і витрати. Не забудьте встановити правильну &6схему&r, щоб усе працювало.\n\nДо речі, якщо ви не знали: одна секунда — це 20 тіків. Тож кількість, яку споживає машина за тікт, потрібно множити на 20, щоб дізнатися споживання за секунду.", + "quests.medium_voltage.coal_tower.desc.1": "&bВежа скраплення&r — це нова &bбагатоблочна&r машина, яка використовується для виробництва &aРеформатного газу&r та його побічних продуктів: &7Кам’яновугільної смоли&r і &7Синтез-газу&r. Залежно від того, яку &9Котушку&r ви використовуєте, ви отримаєте знижку на &7тривалість рецепту&r для кожного рецепту. Просто наведіть курсор на котушку та натисніть Shift, щоб побачити її бонуси.\n\nЗверніть увагу, що &9Вежу скраплення&r можна прискорити за допомогою &7Водню&r — це зменшує тривалість рецепту, а отже, і витрати. Не забудьте встановити правильну &6схему&r, щоб усе працювало.\n\nДо речі, якщо ви не знали: одна секунда — це 20 тіків. Тож кількість, яку споживає машина за тікт, потрібно множити на 20, щоб дізнатися споживання за секунду.", "quests.medium_voltage.coal_tower.desc.2": "&l&3Лор:&r&o Та сама людина, що створила Ядерний реактор, також розробила перший дизайн Вежі скраплення. Хіба це не божевілля.", "quests.medium_voltage.mv_jetpack.title": "Я Вірю, Що Можу Літати", "quests.medium_voltage.mv_jetpack.subtitle": "...ну, майже Летіти", @@ -3212,7 +3212,7 @@ "quests.medium_voltage.mv_cells.desc": "Алюмінієві Капсули — це значне покращення порівняно зі Сталевими Капсулами або Універсальними Капсулами Рідини. \n\nВони можуть утримувати будь-яку частку рідини — до &d32 відер&r!", "quests.medium_voltage.mv_jetpack_2.title": "Я вірю, що можу літати II", "quests.medium_voltage.mv_jetpack_2.subtitle": "...ще не зовсім там.", - "quests.medium_voltage.mv_jetpack_2.desc": "Цей реактивний ранець дозволяє літати та потребує енергії. \n\nЗаряджай його так само, як і батарею. \n\nНатисни &4H&r (за замовчуванням), щоб увімкнути Режим Зависання. \n\n&o&8(Так, так, реактивний ранець має працювати на пропелентах. Ви завжди тут, щоб прискіпуватися.)&r", + "quests.medium_voltage.mv_jetpack_2.desc": "Цей реактивний ранець дозволяє літати та потребує енергії. \n\nЗаряджай його так само, як і батарею. \n\nНатисни &4H&r (за замовчуванням), щоб увімкнути Режим Зависання. \n\n&o&7(Так, так, реактивний ранець має працювати на пропелентах. Ви завжди тут, щоб прискіпуватися.)&r", "quests.medium_voltage.mv_cutter.title": "Вдосконалений Різак", "quests.medium_voltage.mv_cutter.subtitle": "Оновлення, люди, оновлення!", "quests.medium_voltage.mv_cutter.desc": "&3Різак Mv&r потрібен для нарізання &7Кремнієвих злитків&r, щоб підготувати їх до &aЛазерного гравіювання&r.\n\nРекомендуємо подавати в цю машину стабільний потік &dМастила&r, щоб зменшити час обробки.\n\nМастило можна &3зварити&r з &eНафти&r та &aТальку&r, &2Талькового каменю&r або &cРедстоуна&r.\n\n&7Примітка: Ви можете використати версію з &6Greate&r — вона має бак для заповнення рідиною&r", @@ -4229,7 +4229,7 @@ "quests.tfg_tips.gt_filters.desc": "З &5GregTech&r ти отримуєш доступ до різних &6фільтрів&r, які допомагають плавно перейти до &aавтоматизації&r. \nУсі вони сумісні з різними &dНакладками&r, про які ти дізнаєшся більше в розділі &7LV&r. \n\nТут ми представляємо ще два більш специфічні фільтри, які можуть бути &bкорисними&r у певних ситуаціях. \n\nЩоб використати фільтр, просто застосуй його як &dНакладку&r на будь-яку &5GT Машину&r або &6трубу&r.", "quests.tfg_tips.smart_item_filter.subtitle": "Тук‑тук — хто там? Це MENSA!", "quests.tfg_tips.smart_item_filter.desc.1": "У цьому завданні ми даруємо тобі &5прокляту мудрість&r... уміння легко автоматизувати Електролізер. \n\n&9Розумний фільтр предметів&r — це фільтр, що розпізнає Карти рецептів. Якщо розмістити його з боку машини, можна встановити режим \"&3Електролізер&r\", щоб дозволити вставку саме електролізованих предметів. Так, ти почув правильно — більше не потрібно фільтрувати вручну! \n\nІ це стає &aще кращим&r. Якщо поєднати цього хлопця з &aРоботизованою рукою&r, він подаватиме лише &6точну кількість&r предметів, необхідну для успішного рецепту в машину.", - "quests.tfg_tips.smart_item_filter.desc.2": "Встанови &aРоботизовану руку&r на свій Електролізер, відкрий його GUI та помісти всередину &9Розумний фільтр&r. Переконайся, що фільтр налаштований на Електролізер. \n\nДалі сконфігуруй його на &d&lІмпорт&r та &d&lТочне постачання&r. Нарешті, приєднай будь-яке сховище &7(підійде й Скриня)&r до тієї сторони, де ти розмістив &aРоботизовану руку&r. Та-да! Ти розібрався, як обробляти &6усі&r рецепти Електролізера! \n\nА що щодо виходу з &3Електролізера&r? Можна направити рідини до кількох Резервуарів— або навіть до &3Супер Резервуарів&r, якщо ти вже дійшов до цього етапу. Ми настійно рекомендуємо уникати будь-яких методів, що передбачають видалення рідин.&7.&8. окрім Води з очевидних причин.", + "quests.tfg_tips.smart_item_filter.desc.2": "Встанови &aРоботизовану руку&r на свій Електролізер, відкрий його GUI та помісти всередину &9Розумний фільтр&r. Переконайся, що фільтр налаштований на Електролізер. \n\nДалі сконфігуруй його на &d&lІмпорт&r та &d&lТочне постачання&r. Нарешті, приєднай будь-яке сховище &7(підійде й Скриня)&r до тієї сторони, де ти розмістив &aРоботизовану руку&r. Та-да! Ти розібрався, як обробляти &6усі&r рецепти Електролізера! \n\nА що щодо виходу з &3Електролізера&r? Можна направити рідини до кількох Резервуарів— або навіть до &3Супер Резервуарів&r, якщо ти вже дійшов до цього етапу. Ми настійно рекомендуємо уникати будь-яких методів, що передбачають видалення рідин.&7.&7. окрім Води з очевидних причин.", "quests.tfg_tips.smart_item_filter.desc.3": "&9Примітка:&r Роботизована рука повинна здійснювати передачу предметів, щоб її функція фільтрації працювала! Пряме вставляння в машину &7(наприклад, за допомогою Воронки!)&r ігноруватиме налаштування &dТочного постачання&r Роботизованої руки.", "quests.tfg_tips.hazard_materials.title": "Небезпечні матеріали", "quests.tfg_tips.hazard_materials.subtitle": "Небезпека задухи, від 3+ років", @@ -4527,7 +4527,7 @@ "quests.tfg_tips.aircraft_upgrades.desc": "&2Immersive Aircraft&r має &aОновлення Авіації&r, які можна встановити, щоб покращити характеристики літальних апаратів, зокрема швидкість, швидкість зльоту, витрати пального тощо. Існує два типи оновлень: &bзвичайні&r та &dрангові.&r \n\nУ цьому завданні представлені &bзвичайні&r оновлення. Думаєш, зможеш зібрати їх усі?", "quests.tfg_tips.steam_upgrades.title": "Оновлення авіації: Парові", "quests.tfg_tips.steam_upgrades.subtitle": "Immersive Aircraft зустрічається з ранжуванням GregTech!", - "quests.tfg_tips.steam_upgrades.desc": "Другий тип оновлень авіації — це &dРангові Оновлення.&r Вони створені відповідно до &3GregTech&r системи рангів, починаючи з &8Парового&r рівня і аж до &5EV.&r \n\nПарові оновлення — найпростіші та найраніші у створенні, вони вимагають хоча б базових знань про &bЧорну Сталь.&r \n\n&dПарові Авіаційні Двигуни&r використовуються для створення більш складних літальних апаратів, таких як &eБіплан&r та &cВійськовий Корабель.&r", + "quests.tfg_tips.steam_upgrades.desc": "Другий тип оновлень авіації — це &dРангові Оновлення.&r Вони створені відповідно до &3GregTech&r системи рангів, починаючи з &7Парового&r рівня і аж до &5EV.&r \n\nПарові оновлення — найпростіші та найраніші у створенні, вони вимагають хоча б базових знань про &bЧорну Сталь.&r \n\n&dПарові Авіаційні Двигуни&r використовуються для створення більш складних літальних апаратів, таких як &eБіплан&r та &cВійськовий Корабель.&r", "quests.tfg_tips.steam_upgrades.task": "Будь-яке парове оновлення авіації", "quests.tfg_tips.lv_upgrades.title": "Оновлення авіації: LV", "quests.tfg_tips.lv_upgrades.subtitle": "Червоний і синій — точно не конфліктують.", @@ -4815,7 +4815,7 @@ "quests.tfg_tips.tools_tips.subtitle": "Основи закручування й відкручування 101.", "quests.tfg_tips.tools_tips.tools.title": "Інструменти", "quests.tfg_tips.tools_tips.tools.subtitle": "Та зрештою — все одно молоток.", - "quests.tfg_tips.tools_tips.tools.desc": "Єдине, що відрізняє людину від тварини — це наше використання &l&bІнструментів&r&r. &8&oХоча... мавпи, мавпенята, дельфіни, ворони, видри, восьминоги…&r&r Використовуй свої навички та інструменти, щоб якнайкраще прожити цей світ і &5зекономити собі&r трохи зусиль", + "quests.tfg_tips.tools_tips.tools.desc": "Єдине, що відрізняє людину від тварини — це наше використання &l&bІнструментів&r&r. &7&oХоча... мавпи, мавпенята, дельфіни, ворони, видри, восьминоги…&r&r Використовуй свої навички та інструменти, щоб якнайкраще прожити цей світ і &5зекономити собі&r трохи зусиль", "quests.tfg_tips.tools_tips.seed_oil.title": "Пальне для Лампи: Олія з Насіння", "quests.tfg_tips.tools_tips.seed_oil.subtitle": "Смачно пахне, коли горить.", "quests.tfg_tips.tools_tips.seed_oil.desc": "&dОлія з Насіння&r слугуватиме тобі вражаючі &c72&r дні.", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index bcb3e6343..b23ba11ea 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1967,7 +1967,7 @@ "quests.ae2.cell_component_1m.desc": "制作&3MEGA存储组件&r需要使用&b装配线&r。请注意,非月球配方必须在洁净室内制作,若条件允许也可使用清洁维护仓进行替代。\n\n不过在月球上制作则无需满足这些环境要求。", "quests.ae2.cell_component_4m.desc": "只是更大更昂贵。", "quests.ae2.cell_component_16m.desc": "该组件仅限在&c月球&r制作,其他任何场所均无法生产。同时,其制造过程需要超净间环境。若你不愿在&c月球&r搭建洁净间,建议制作&7清洁维护仓&r作为替代方案。\n\n此外,制造该组件还需完成前置科研解锁。若不清楚具体流程,请查阅&cZPM&r章节的相关说明。", - "quests.ae2.cell_component_64m.desc": "&c64M存储组件&r是你在&8TerraFirmaGreg&r中可以制作的最大组件。老实说,我们相信你永远不需要它,但它为完美主义者而存在。", + "quests.ae2.cell_component_64m.desc": "&c64M存储组件&r是你在&7TerraFirmaGreg&r中可以制作的最大组件。老实说,我们相信你永远不需要它,但它为完美主义者而存在。", "quests.ae2.oversize_interface.desc": "&dME超大接口&r是一个&dME扩展接口&r,但每个槽位可以容纳16倍多的物品或流体。如果你有需要大量物品或流体的流程,这可能是你的首选。", "quests.ae2.assembler_matrix.desc": "&6装配矩阵&r基本上是一个可定制的多方块分子装配室。此任务的要求应让你能够构建一个我们认为足够强大的装配矩阵。如果你愿意,可以添加更多&b样板核心&r或&a合成核心&r层。\n\n像往常一样,查看游戏内指南以获取详细信息。", "quests.combat_tips.stone_main.title": "石器时代", @@ -2426,7 +2426,7 @@ "quests.extreme_voltage.btx_loop.title": "回收使废催化剂", "quests.extreme_voltage.btx_loop.subtitle": "尽可能多地回收利用", "quests.extreme_voltage.btx_loop.desc.1": "这条生产链的最后一部分是回收废催化剂。整个过程相当简单,主要的挑战将是维持&a强化环氧树脂板&r和&e胶水&r的持续供应。\n\n如果你的&2树脂采集系统&r仍在运行,它应该足以生产制作胶水所需的所有树脂。或者,对原木使用&b提取机&r也是一个完全可行的选择。这种方法稍微更&c耗电&r,但选择完全取决于你的基础设施。", - "quests.extreme_voltage.btx_loop.desc.2": "关于&9稀盐酸&r的一点说明:它可以很容易地通过&b水&r与&a氯气&r反应制得。你可以储存&d次氯酸&r,或选择电解它以回收&f一半的氯气&r。\n\n至于&6硫酸&r,你应该已经通过&e石油化工蒸馏&r装置获得了无限的硫磺来源。如果还没有,我们强烈建议你尽快解决这个问题。此外,生产&b重整气&r时获得的&8煤焦油&r可以重新转化为&2硫化氢&r,并最终精炼回&6硫&r。", + "quests.extreme_voltage.btx_loop.desc.2": "关于&9稀盐酸&r的一点说明:它可以很容易地通过&b水&r与&a氯气&r反应制得。你可以储存&d次氯酸&r,或选择电解它以回收&f一半的氯气&r。\n\n至于&6硫酸&r,你应该已经通过&e石油化工蒸馏&r装置获得了无限的硫磺来源。如果还没有,我们强烈建议你尽快解决这个问题。此外,生产&b重整气&r时获得的&7煤焦油&r可以重新转化为&2硫化氢&r,并最终精炼回&6硫&r。", "quests.gregtech_energy": "格雷科技能源", "quests.gregtech_energy.subtitle": "这一切到底是怎么工作的?", "quests.gregtech_energy.start.title": "让我们做些解释", @@ -2435,14 +2435,14 @@ "quests.gregtech_energy.start.subtitle": "没你想的那么糟", "quests.gregtech_energy.moving.title": "传输你的能量", "quests.gregtech_energy.moving.subtitle": "所以,能量传输,嗯", - "quests.gregtech_energy.moving.desc": "在格雷科技中传输能量需要理解几个核心机制。\n\n首先是&b能量等级&r。从&aLV&r到&cUHV&r,格雷科技中的一切——电线、机器、配方——都与等级挂钩。你需要使用&e正确的电缆材料&r来传输能量。例如:\n&8•&r锡导线=&aLV&r\n&8•&r铜导线=&bMV&r\n\n其次是&b电流&r机制。可将1安培(1A)视作&e一个能量包&r。设备会请求能量\"包\",随后这些能量包会通过导线传输。\n&8•&r1A低压电流=&a32EU&r\n&8•&r1A高压电流=&e512EU&r\n\n大多数机器和能源仓最多只会请求&62A&r的电流。\n\n掌握这两个概念是进一步学习能量分配的关键。", + "quests.gregtech_energy.moving.desc": "在格雷科技中传输能量需要理解几个核心机制。\n\n首先是&b能量等级&r。从&aLV&r到&cUHV&r,格雷科技中的一切——电线、机器、配方——都与等级挂钩。你需要使用&e正确的电缆材料&r来传输能量。例如:\n&7•&r锡导线=&aLV&r\n&7•&r铜导线=&bMV&r\n\n其次是&b电流&r机制。可将1安培(1A)视作&e一个能量包&r。设备会请求能量\"包\",随后这些能量包会通过导线传输。\n&7•&r1A低压电流=&a32EU&r\n&7•&r1A高压电流=&e512EU&r\n\n大多数机器和能源仓最多只会请求&62A&r的电流。\n\n掌握这两个概念是进一步学习能量分配的关键。", "quests.gregtech_energy.moving.task": "我明白了", "quests.gregtech_energy.transformer.title": "超级变压器", "quests.gregtech_energy.transformer.subtitle": "比擎天柱还厉害", - "quests.gregtech_energy.transformer.desc": "格雷科技为每个问题都准备了多方块解决方案,&d有源变压器&r便是其中之一。\n\n此装置堪称终极变压器,能够在&aLV&r至&cUHV&r的任意等级间传输能量,且无需顾虑电流数或一堆杂乱无章的单方块变压器。\n\n但这并非其最突出的优势:它能够通过激光管道传输能量。\n&8•&r激光可传输超大安培能量\n&8•&r零损耗、无电缆,纯粹的能量传输\n&8•&r唯一限制:管道&c必须保持绝对直线&r\n\n当电缆传输能力不足时,请&l采用激光方案&r。", + "quests.gregtech_energy.transformer.desc": "格雷科技为每个问题都准备了多方块解决方案,&d有源变压器&r便是其中之一。\n\n此装置堪称终极变压器,能够在&aLV&r至&cUHV&r的任意等级间传输能量,且无需顾虑电流数或一堆杂乱无章的单方块变压器。\n\n但这并非其最突出的优势:它能够通过激光管道传输能量。\n&7•&r激光可传输超大安培能量\n&7•&r零损耗、无电缆,纯粹的能量传输\n&7•&r唯一限制:管道&c必须保持绝对直线&r\n\n当电缆传输能力不足时,请&l采用激光方案&r。", "quests.gregtech_energy.moving_wire.title": "用导线传输", "quests.gregtech_energy.moving_wire.subtitle": "放置起来有点意思", - "quests.gregtech_energy.moving_wire.desc": "在格雷科技中传输能量可能颇具挑战——&b多数电缆存在能量损耗&r。能量在导线中每传输一格距离、每安培电流都可能产生损耗。但无需担心,现有解决方案如下:\n\n&8•&r为电缆包裹橡胶包覆层。此举可显著降低长距离传输中的能量损耗,具体请参照任务物品示例。\n\n&8•&r采用更高等级的电缆。例如铂电缆每格仅损耗1EU,相较于其8192EU的传输容量而言几乎可忽略不计。\n\n&8•&r使用&b超导电缆&r。这类电缆成本稍高,但具备&9零损耗&r特性。它们无需橡胶包覆且不会对玩家造成电击,但需注意通常需在对应科技阶段的后期方可制造。\n\n优化能量传输体系——&b降低损耗&r,提升系统能效。", + "quests.gregtech_energy.moving_wire.desc": "在格雷科技中传输能量可能颇具挑战——&b多数电缆存在能量损耗&r。能量在导线中每传输一格距离、每安培电流都可能产生损耗。但无需担心,现有解决方案如下:\n\n&7•&r为电缆包裹橡胶包覆层。此举可显著降低长距离传输中的能量损耗,具体请参照任务物品示例。\n\n&7•&r采用更高等级的电缆。例如铂电缆每格仅损耗1EU,相较于其8192EU的传输容量而言几乎可忽略不计。\n\n&7•&r使用&b超导电缆&r。这类电缆成本稍高,但具备&9零损耗&r特性。它们无需橡胶包覆且不会对玩家造成电击,但需注意通常需在对应科技阶段的后期方可制造。\n\n优化能量传输体系——&b降低损耗&r,提升系统能效。", "quests.gregtech_energy.moving_wire.task": "我看完导线部分了", "quests.gregtech_energy.moving_amp.title": "管理电流", "quests.gregtech_energy.moving_amp.subtitle": "它会烧掉?", @@ -2525,10 +2525,10 @@ "quests.gregtech_energy.smr.task": "", "quests.gregtech_energy.gasoline.title": "汽油", "quests.gregtech_energy.gasoline.subtitle": "中间档位的选择", - "quests.gregtech_energy.gasoline.desc": "&a汽油&r是一种在&6HV&r阶段解锁的强力燃料,但实际上通常是在建造第一座&6分馏塔&r后才开始生产。&7甲苯&r可轻易从&7木焦油&r或&7重燃油&r中制得,其他所需原料则为&d炼厂气&r、&8石脑油&r以及&3氧气&r、&b氢气&r和&1碳&r的混合物。\n\n它强度高,制作相当简便,更妙的是还能升级为&c高标号汽油&r。", + "quests.gregtech_energy.gasoline.desc": "&a汽油&r是一种在&6HV&r阶段解锁的强力燃料,但实际上通常是在建造第一座&6分馏塔&r后才开始生产。&7甲苯&r可轻易从&7木焦油&r或&7重燃油&r中制得,其他所需原料则为&d炼厂气&r、&7石脑油&r以及&3氧气&r、&b氢气&r和&1碳&r的混合物。\n\n它强度高,制作相当简便,更妙的是还能升级为&c高标号汽油&r。", "quests.gregtech_energy.high_gasoline.title": "高辛烷值汽油", "quests.gregtech_energy.high_gasoline.subtitle": "动力澎湃", - "quests.gregtech_energy.high_gasoline.desc": "作为&c汽油&r的直接升级版,这是&5燃料效能翻倍&r的强化型号。虽其名称未明示,但你不仅需要添加&d辛烷&r,还需加入其他来自&8石油化工&r的原料。至此,我们期望你已能熟练运用&bEMI&r,并开始制备这种性能惊人的强力燃料。", + "quests.gregtech_energy.high_gasoline.desc": "作为&c汽油&r的直接升级版,这是&5燃料效能翻倍&r的强化型号。虽其名称未明示,但你不仅需要添加&d辛烷&r,还需加入其他来自&7石油化工&r的原料。至此,我们期望你已能熟练运用&bEMI&r,并开始制备这种性能惊人的强力燃料。", "quests.gregtech_energy.lst_fuel.title": "这是蒸汽", "quests.gregtech_energy.lst_fuel.subtitle": "没什么选择余地", "quests.gregtech_energy.lst_fuel.desc": "蒸汽并不复杂——只需烧水。\n\n要高效地实现这一点,我们推荐使用&6大型锅炉&r。共有四种版本:分别对应&8ULV&r、&bMV&r、&5EV&r和&1IV&r阶段。每个等级都能显著提升蒸汽产量。\n\n但要注意:与其他发电方式相比,&d大型蒸汽涡轮&r配合这些锅炉的扩展性并不理想。\n\n大多数玩家会跳过钛和钨钢锅炉——它们确实存在,但不值得建造。蒸汽系统的扩展能力确实有限!\n\n温馨提示:&e2mB&r蒸汽=&e1EU&r电力。", @@ -2567,7 +2567,7 @@ "quests.gregtech_energy.pss.title": "蓄能变电站", "quests.gregtech_energy.pss.subtitle": "把所有鸡蛋放在一个篮子里", "quests.gregtech_energy.pss.desc.1": "&d蓄能变电站&r——也称为&dPSS&r——是&6终极的可定制电池多方块结构&r。当你在&1IV&r阶段能够建造它时,它便能轻松成为你基地的中央供电源,因此值得作为重点发展目标。\n\n它的能量储量如此庞大……或许需要耗尽几辈子的时间才能将它填满。", - "quests.gregtech_energy.pss.desc.2": "&e运作原理&r:\n-使用&a镀钯变电站机械外壳&r搭建结构。\n-至少安装&b1个能源仓&r(输入)与&b1个动力仓&r(输出)。\n-它支持&a任意类型的输入仓&r——包括&8基于电流的常规输入&r或&6激光输入&r。\n-&c无爆炸风险&r——变压器已&a集成&r于内部。\n\n&e电容层配置&r:\n-你可在结构顶部叠加最多&d17层&r&9电容块&r。\n-每层必须&c完全铺满&r——不允许有任何空缺。\n-可随意混合使用&f空电容&r与&6满电容&r。\n\n每层周围需用&b夹层玻璃&r包裹。\n\n说真的:&c你永远用不到17层&r……不过,心怀梦想总是好的。\n如果你真的建成了满17层的蓄能变电站,&l请速来求助&r——你已走火入魔。", + "quests.gregtech_energy.pss.desc.2": "&e运作原理&r:\n-使用&a镀钯变电站机械外壳&r搭建结构。\n-至少安装&b1个能源仓&r(输入)与&b1个动力仓&r(输出)。\n-它支持&a任意类型的输入仓&r——包括&7基于电流的常规输入&r或&6激光输入&r。\n-&c无爆炸风险&r——变压器已&a集成&r于内部。\n\n&e电容层配置&r:\n-你可在结构顶部叠加最多&d17层&r&9电容块&r。\n-每层必须&c完全铺满&r——不允许有任何空缺。\n-可随意混合使用&f空电容&r与&6满电容&r。\n\n每层周围需用&b夹层玻璃&r包裹。\n\n说真的:&c你永远用不到17层&r……不过,心怀梦想总是好的。\n如果你真的建成了满17层的蓄能变电站,&l请速来求助&r——你已走火入魔。", "quests.gregtech_energy.batteries.title": "超级电池", "quests.gregtech_energy.batteries.subtitle": "科幻能源存储", "quests.gregtech_energy.batteries.desc": "在&7LV&r和&bMV&r阶段,你或许已经制造出了第一批钠电池或锂电池。\n\n但说实话——这些都是格雷科技中最基础的电池配置。\n\n在本任务中,我们将关注更强大的替代品:&a水晶电池&r。\n它们性能更强、储能密度更高,能助你将工厂推向新的等级。\n\n它们更昂贵吗?当然。但事实是……\n能量即是力量。谁还在意代价呢?", @@ -2603,14 +2603,14 @@ "quests.gregtech_energy.rotor.title": "涡轮转子", "quests.gregtech_energy.rotor.subtitle": "有太多选择了!", "quests.gregtech_energy.rotor.desc.1": "转子支架自然需要安装转子才能使用,但可选种类繁多且属性各异,这些数值究竟意味着什么?\n\n更高的&9效率&r会延长每mB燃料的燃烧时间,从而有效降低燃料消耗。而&9功率&r则直接提升涡轮机的发电量。至于&9耐久度&r,其作用不言自明。", - "quests.gregtech_energy.rotor.desc.2": "理想情况下,你自然希望三项属性全部最大化,但具体选择取决于你的燃料产量、拥有的涡轮机数量以及你愿意更换转子的频率,因此并无绝对的正确答案。&8(当然,中子素除外…)&r\n\n话虽如此,如果你毫无头绪,我们推荐:在&6HV&r阶段使用钒钢转子,在&5EV&r阶段使用哈氏合金转子,在&9IV&r阶段使用高速钢-S转子。\n\n遗憾的是,你无法通过管道自动将新转子输入转子支架,因其前方必须保持完全空旷,但使用&a机械臂&r则可实现自动化更换!", + "quests.gregtech_energy.rotor.desc.2": "理想情况下,你自然希望三项属性全部最大化,但具体选择取决于你的燃料产量、拥有的涡轮机数量以及你愿意更换转子的频率,因此并无绝对的正确答案。&7(当然,中子素除外…)&r\n\n话虽如此,如果你毫无头绪,我们推荐:在&6HV&r阶段使用钒钢转子,在&5EV&r阶段使用哈氏合金转子,在&9IV&r阶段使用高速钢-S转子。\n\n遗憾的是,你无法通过管道自动将新转子输入转子支架,因其前方必须保持完全空旷,但使用&a机械臂&r则可实现自动化更换!", "quests.gregtech_energy.rotor.task": "任意涡轮转子", "quests.gregtech_energy.fission_reactor.title": "裂变反应堆MK I", "quests.gregtech_energy.fission_reactor.subtitle": "系好安全带,这很复杂", "quests.gregtech_energy.fission_reactor.desc.1": "&d裂变反应堆&r在格雷科技中确实是个非同寻常的存在——无论是其设计主题还是运作原理。但请别担心,我们将通过这个多功能的高精尖多方块结构为你提供详细指导!\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。请务必穿戴好所有相关的&e个人防护装备&r——&eDeatek Intergalactic&r对于因不当处理裂变材料造成的任何身体伤害概不负责。说真的,到了这个阶段我们本不该再提醒你了。如果你需要复习,请查看关于危险品的任务说明。\n\n接下来,制作一些空的&d燃料棒&r,并使用&d核燃料处理厂&r为其填充燃料。燃料棒是可重复使用的,因此你不需要制作太多。事实上,我们建议你目前只制作一根就够了。\n\n当然,你还需要一个建造完成的反应堆。请查看EMI预览。注意结构中有一列核心的燃料仓,以及一些可选的组件和材料仓——这些我们稍后会详细解释。\n\n等等。为什么只建议制作&o一根&r燃料棒呢?哦,&e我们&r很高兴你提出了这个问题。让我们在下一页深入探讨反应堆的运行机制。", "quests.gregtech_energy.fission_reactor.desc.3": "反应堆内安装的&c燃料棒越多&r,其运行温度就&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最多&r20个&d组件&r。其他厂商的反应堆可能需要非常精确的定位,但我们的反应堆更加智能。所有已安装组件的&6属性&r将简单地&6叠加计算&r,仅此而已!\n\n目前,反应堆能以三种&8*&r方式利用这些组件:\n&e1)&r提升最高温度&7(绝缘体)&r\n&e2)&r提高效率&7(延长燃料持续时间)&r\n&e3)&r控制节流&7(减缓反应速度)&r\n\n&8*)&r你所在星系的资源可能无法支持所有类型。我们预估目前仅能找到第一类组件所需的材料。\n\n但请谨记:提升&c温度&r会带来相应的&c代价&r。", + "quests.gregtech_energy.fission_reactor.desc.4": "除了5个&d燃料仓&r外,你还可以安装&o最多&r20个&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,但也会显著增加燃料棒的&c损耗&r。每根燃料棒都有有限的耐久度,其损耗速度与温度呈&c线性&r增长关系。\n\n由于更高的热量需要安装更多燃料棒,这实际上使得总体损耗&n呈二次方增长&r。若追求冷却剂加热的&c最高能效&r,建议采用低温运行;但若需要&c最大化裂变物质转化速度&r,则应在绝缘材料允许范围内使用最高温度。", "quests.gregtech_energy.fission_reactor.desc.6": "现在你终于可以查看反应堆相关的各种配方了。请查看使用&d控制器&r的配方,你将会发现三个&eEMI&r标签页:\n\n&e1)&r裂变反应堆&7(燃料与兼容冷却剂)&r\n&e2)&r裂变热加工&7(类似于电弧炉)&r\n&e3)&r裂变产物&7(当燃料耗尽时)&r\n&e4)&r多方块结构预览\n\n请注意,不同的&a燃料&r仅与特定的&9冷却剂流体&r兼容。一旦燃料棒完全耗尽,可以确定它已经&b转&d变&r成了新的元素。\n\n另一方面,只要温度水平足够高,处理配方就可以运行,与所使用的燃料种类无关。", "quests.gregtech_energy.fission_reactor.desc.7": "简化的计算原理如下:在拥有充足冷却剂流体和一根&c100%%&r热值燃料棒的情况下,反应堆将达到约&c200&r的温度(可称作热量等级或简称为热量)。使用&d两根&r&c100%%&r燃料棒等效于使用&d一根&r&c200%%&r燃料棒,二者均可使热量达到约&c400&r。\n\n这是因为每根燃料棒可产生&6200HU/t&r(热力单位)。冷却剂流体每&c1&r度热量可提取&61HU/t&r。\n\n若反应堆的最大热量上限为&c190&r,则&c100%%&r的燃料棒将导致其过热。你可以通过安装组件提升该上限,或通过处理系统使用&d主动冷却剂&r。每个处理配方均会产生特定的热量影响。", @@ -2698,7 +2698,7 @@ "quests.high_voltage.tnt.desc.3": "对于&a甲苯&r,我们没有任何简单的技巧可以给你。无论你采取哪条路线,它都会很棘手。\n\n话虽如此,单方块&3蒸馏室&r存在将&a重燃油&r直接蒸馏成&a甲苯&r的配方,不要忽略此方法。\n\n&a甲苯&r还可在&5EV&r阶段作为可选材料用于制造&d汽油&r。\n\n&cTNT&r主要用于&3聚爆压缩机&r中制造宝石,当然它也能炸毁东西。", "quests.high_voltage.ender_pearls.title": "末影珍珠", "quests.high_voltage.ender_pearls.subtitle": "科幻宝石,或类似的东西", - "quests.high_voltage.ender_pearls.desc": "在 TFG 中,你不会找到任何掉落末影珍珠的末影人。\n即使在幽冥之地潜行的那些也帮不了你。\n\n相反,目前你唯一的选项是自己制作:\n\n在&6高压&r搅拌机中结合&2铍粉&r和&2钾粉&r,创造出难以捉摸的&5末影粉&r。\n\n完成后,将其扔进&8聚爆压缩机&r中,以格雷科技的风格重现标志性的末影珍珠。", + "quests.high_voltage.ender_pearls.desc": "在 TFG 中,你不会找到任何掉落末影珍珠的末影人。\n即使在幽冥之地潜行的那些也帮不了你。\n\n相反,目前你唯一的选项是自己制作:\n\n在&6高压&r搅拌机中结合&2铍粉&r和&2钾粉&r,创造出难以捉摸的&5末影粉&r。\n\n完成后,将其扔进&7聚爆压缩机&r中,以格雷科技的风格重现标志性的末影珍珠。", "quests.high_voltage.boules.title": "磷掺杂的单晶硅", "quests.high_voltage.boules.subtitle": "太牛了,兄弟!", "quests.high_voltage.boules.desc": "掺杂是故意向半导体中引入杂质以改变其特性的过程。\n\n&7硅&r可以用少量&e磷&r掺杂,以制造更好的&e单晶硅&r。\n\n磷掺杂的硅晶锭通常比未掺杂的对应物产量高&68倍&r。然而,在&5EV&r阶段之前并不严格需要,届时它们将用于更复杂的晶圆。\n\n&9注意&r:所有磷掺杂的单晶硅和晶圆的处理都需要&d超净间&r。", @@ -2735,7 +2735,7 @@ "quests.high_voltage.hv_hull.subtitle": "即将成为太空矿工", "quests.high_voltage.hv_hull.desc.1": "&2我们希望你已经掌握了&9格雷科技&r的窍门,现在该是进一步提升技能的时候了。\n在本章节中,你将解锁&e高级多方块结构&r、&e复杂工艺流程&r,甚至迈出登陆&f月球&r的第一步!\n\n&6本章两大核心目标:&r\n- 制造第一个&5EV机器外壳&r\n- 开启你的&f月球&r征程\n\n解锁月球还将带来&b赛特斯石英&r资源,为构建&d应用能源2&r系统铺平道路。你可自由选择完成这些目标的顺序。", "quests.high_voltage.hv_hull.desc.2": "制作&5EV&r机器外壳需完成以下步骤:\n-建造你的第一个&a超净间&r\n-建造一个&b真空冷冻机&r用于冷却热锭\n-将&9金红石&r加工成&7钛&r\n\n你可在&f月球&r找到大量&9金红石&r,此外&a主世界&r的&e铝土矿&r矿脉中也蕴藏该资源。", - "quests.high_voltage.hv_hull.desc.3": "登陆月球需完成:\n-制备足量&6火箭合金&r\n-通过&3化学浸洗器&r与&8聚爆压缩机&r制作首个&e末影之眼&r\n-备齐在太空中呼吸所需的&b全套装备&r\n\n配备&b真空冷冻机&r与&6高级线圈&r可加速&6火箭合金&r生产,但非强制要求。\n\n&d选择你的路线!&r", + "quests.high_voltage.hv_hull.desc.3": "登陆月球需完成:\n-制备足量&6火箭合金&r\n-通过&3化学浸洗器&r与&7聚爆压缩机&r制作首个&e末影之眼&r\n-备齐在太空中呼吸所需的&b全套装备&r\n\n配备&b真空冷冻机&r与&6高级线圈&r可加速&6火箭合金&r生产,但非强制要求。\n\n&d选择你的路线!&r", "quests.high_voltage.nichrome.title": "镍铬合金锭", "quests.high_voltage.nichrome.subtitle": "它没多大用处", "quests.high_voltage.nichrome.desc": "第三代合金现已问世,这是制作&6电力高炉&r下一级线圈的核心材料。\n\n照例你需要准备&9128个锭&r,但这次你会发现无法使用&6化学浸洗机&r,而必须改用&6真空冷冻机&r进行处理。\n\n好消息是:新流程实际上更简单快速。\n\n当前线圈仅需使用&6镍铬合金&r,但别掉以轻心——后续&5钌钨钼合金线圈&r仍会用到这种材料。", @@ -2804,7 +2804,7 @@ "quests.high_voltage.moon_harvester.desc": "&7月球&r是你获取&e无限矿石&r的起点——但速度很慢。\n你需要采集多种&b风化土粉&r,且每种仅能在特定生物群系获取。\n为此需依赖&6月壤采集器&r运作,使用时请牢记两个关键要点:\n\n•它需要配备一个&9输入总线&r,以便设置正确的&9电路&r。\n•它支持&e线圈&r升级(与&6裂化机&r机制相同)——线圈等级越高,能耗减免越显著。\n这对远离基地采集风化土时尤为重要\n\n当然,原始粉尘还需加工。\n你需要搭建一条&a小型处理产线&r从风化土粉尘中提取资源,请务必将其运回&7月球基地&r进行处理。", "quests.high_voltage.regolith_vapor.title": "风化土蒸气", "quests.high_voltage.regolith_vapor.subtitle": "将尘土变为矿石的小东西", - "quests.high_voltage.regolith_vapor.desc": "处理&b风化土粉尘&r需要制备&b风化土蒸气&r——这套系统的搭建稍显复杂。\n\n所需材料如下:\n\n•&7月沙&r——可通过&6碎岩机&r无限获取\n•&e二氧化碳&r——由&9氧气&r与&8碳粉&r制成(得益于无限供应的&b钻石粉尘&r,此步骤十分轻松)\n•&9氮气&r——通过种植&d紫颂果&r获取\n\n提示:你可以利用&b二氧化硅&r循环获得氧气,同时可以稳定获取&e硅粉&r——一种非常实用的副产物。", + "quests.high_voltage.regolith_vapor.desc": "处理&b风化土粉尘&r需要制备&b风化土蒸气&r——这套系统的搭建稍显复杂。\n\n所需材料如下:\n\n•&7月沙&r——可通过&6碎岩机&r无限获取\n•&e二氧化碳&r——由&9氧气&r与&7碳粉&r制成(得益于无限供应的&b钻石粉尘&r,此步骤十分轻松)\n•&9氮气&r——通过种植&d紫颂果&r获取\n\n提示:你可以利用&b二氧化硅&r循环获得氧气,同时可以稳定获取&e硅粉&r——一种非常实用的副产物。", "quests.high_voltage.regolith_vapor.task": "我明白了", "quests.high_voltage.regolith_dust.title": "每个生物群系的风化土", "quests.high_voltage.regolith_dust.subtitle": "三个火枪手", @@ -2865,7 +2865,7 @@ "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.desc": "借助&7合成气&r,你现在拥有了在&7LV&r阶段使用&8燃气轮机&r的可行方案。它们与其他&6发电机&r工作原理完全相同,但应比&6内燃机&r略微节省材料。", + "quests.low_voltage.lv_gas_turbine.desc": "借助&7合成气&r,你现在拥有了在&7LV&r阶段使用&7燃气轮机&r的可行方案。它们与其他&6发电机&r工作原理完全相同,但应比&6内燃机&r略微节省材料。", "quests.low_voltage.lv_gas_syngas.title": "合成气", "quests.low_voltage.lv_gas_syngas.subtitle": "并非木煤气", "quests.low_voltage.lv_gas_syngas.desc": "制造&7合成气&r非常简单。你只需为每台&6酿造室&r或&6真空腔室&r配备&b3座焦炉&r。然后借助&b机械动力树场&r收集&7木材&r以最大程度降低能耗,就能享受这种虽弱但易于生产的&7气体燃料&r了。", @@ -3118,7 +3118,7 @@ "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.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&8我们并不抱歉。&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": "你将进行最重大的升级", "quests.medium_voltage.mv_extruder.desc": "我们&l真诚地&r希望你&c从未&r制作过&7LV&r压模器,因为只有&bMV&r压模器才真正实用。如果已经制作了,请立即通过电弧炉将其&a回收&r。\n\n压模器能使用&a锭&r将固体材料塑造成(几乎!)任何形状。这是减少微合成步骤并保持高转化效率的绝佳方式。\n\n压模器可以单步最高效地制作&6螺栓&r、&6小型齿轮&r、&6齿轮&r和&6环&r!\n\n你还可以用它来制造&d管道&r、&d螺丝&r和&d转子&r。", @@ -3130,7 +3130,7 @@ "quests.medium_voltage.mv_mixer.desc": "若想深入&bMV&r阶段,请从这里开始。\n\n&3MV搅拌机&r产出的粉末具有重要用途。", "quests.medium_voltage.mv_energy.title": "在MV阶段发电", "quests.medium_voltage.mv_energy.subtitle": "事情即将变得棘手", - "quests.medium_voltage.mv_energy.desc.1": "你好!欢迎来到&bMV能源生产&r。\n\n本章节将为你介绍维持&bMV机器&r稳定运行的各种供电方案。\n\n由于不会在每个章节都重复说明,我们强烈建议你&a仔细阅读格雷科技能源的专题章节&r以深入了解能源系统运作原理。\n\n目前你有&a三种主要选择&r:\n\n&8-使用&bMV发电机&r直接产生&bMV级电能&r\n\n&8-通过变压器将&7LV&r电能升压&r,&7LV&r与&bMV&r的转换比例为&e4:1&r\n\n&8-通过&d交流发电机&r将RF转化为&bMV电能&r\n", + "quests.medium_voltage.mv_energy.desc.1": "你好!欢迎来到&bMV能源生产&r。\n\n本章节将为你介绍维持&bMV机器&r稳定运行的各种供电方案。\n\n由于不会在每个章节都重复说明,我们强烈建议你&a仔细阅读格雷科技能源的专题章节&r以深入了解能源系统运作原理。\n\n目前你有&a三种主要选择&r:\n\n&7-使用&bMV发电机&r直接产生&bMV级电能&r\n\n&7-通过变压器将&7LV&r电能升压&r,&7LV&r与&bMV&r的转换比例为&e4:1&r\n\n&7-通过&d交流发电机&r将RF转化为&bMV电能&r\n", "quests.medium_voltage.mv_energy.desc.2": "更高级的发电机将按比例提升燃料消耗以匹配其发电率,同时保持燃料燃烧时长与能量产出总量不变。&3进阶蒸汽轮机&r每秒消耗&d5120mB蒸汽&r,等效于&d256mB/t&r。\n\n本任务只需获得&e任意一种&r发电机即可完成,但建议优先选择&3进阶蒸汽轮机&r。", "quests.medium_voltage.mv_energy.desc.3": "&bMV&r阶段提供了几种新的发电方案。选中发电机后按下&4U&r键可查看哪些燃料属于&a燃油&r或&a燃气&r。\n\n本章节左上角的任务将指引你获取高效发电方案。\n\n若你坚持使用&9蒸汽&r发电,可能需要配备&3大型锅炉&r。", "quests.medium_voltage.mv_energy.desc.4": "&3变压器&r能安全实现不同电压等级间的升压与降压。它们将接收到的电力转换为比输入电压高或低一个等级的等量电力。\n\n除了驱动不同电压等级的机器外,变压器还能用于长距离电力传输——因为更高电压下线路损耗的影响更小。这和现实世界如出一辙!", @@ -3188,7 +3188,7 @@ "quests.medium_voltage.mv_benzene.desc.3": "&l&3背景知识:&r&o自GTCEu以来,苯一直是最强大的气体燃料之一——其性能之强甚至成了一个梗。如今,它的辉煌时代在任何地方都屈指可数了。", "quests.medium_voltage.reformate_gas.title": "重整气教派", "quests.medium_voltage.reformate_gas.subtitle": "当一位巨人倒下,新的巨人已然崛起。", - "quests.medium_voltage.reformate_gas.desc": "如果这是你选择的路径,那么&8重整气&r将是你在&bMV&r阶段新的首选气体燃料。为实现完美效率,你只需要 &61座液化塔&r和&62座热解炉&r,便能开始不间断地产出这种珍贵气体。\n\n哦等等,首先你需要找到&5铼&r,这是一种仅在&7群峦传说&r干热区域发现的新材料。其消耗量极低,一个矿脉就足以支撑你直到整合包毕业,或者至少到&6HV&r阶段——届时,在 &6裂解机&r的帮助下,这种气体才能真正实现无限生产。", + "quests.medium_voltage.reformate_gas.desc": "如果这是你选择的路径,那么&7重整气&r将是你在&bMV&r阶段新的首选气体燃料。为实现完美效率,你只需要 &61座液化塔&r和&62座热解炉&r,便能开始不间断地产出这种珍贵气体。\n\n哦等等,首先你需要找到&5铼&r,这是一种仅在&7群峦传说&r干热区域发现的新材料。其消耗量极低,一个矿脉就足以支撑你直到整合包毕业,或者至少到&6HV&r阶段——届时,在 &6裂解机&r的帮助下,这种气体才能真正实现无限生产。", "quests.medium_voltage.mv_light_fuel.title": "轻燃油", "quests.medium_voltage.mv_light_fuel.subtitle": "把这里的灯点亮,宝贝", "quests.medium_voltage.mv_light_fuel.desc": "蒸馏&a原油&r可获得需要脱硫处理的燃料。\n\n&a硫化氢&r能在&3电解机&r中完美&d循环利用&r。\n\n要实现自动化流程,只需将&3化学反应釜&r与&3电解机&r相邻放置。记得使用&5螺丝刀&r&4启用输出面的输入功能&r。\n\n&a轻燃油&r是不错的&9发电&r选择,但还有更高效的方案……请查看左侧任务指引。", @@ -3199,7 +3199,7 @@ "quests.medium_voltage.mv_diesel.desc.3": "总体而言,优先部署更多机器(&d并行处理&r)比超频配方更有效率。这种方式能在处理资源时减少能量损耗。\n\n&a柴油&r通过&3内燃发电机&r燃烧发电。在&6HV&r阶段可进一步精炼成&6高十六烷值柴油&r。与其他能源相比,柴油总体效率更高,但加工流程更为复杂。若你选择&e石油&r路线生产&a聚乙烯&r,现有基础设施便能完美适配此方案。最终选择何种能源仍取决于你。", "quests.medium_voltage.coal_tower.title": "液化塔", "quests.medium_voltage.coal_tower.subtitle": "谁会不爱新的多方块结构呢", - "quests.medium_voltage.coal_tower.desc.1": "&b液化塔&r是一个新的&b多方块结构&r,用于生产&a重整气&r及其副产品&7煤焦油&r和&7合成气&r。根据你使用的&9线圈&r,每个配方所需的&执行时间&r将获得折扣。将鼠标悬停在线圈上并按shift键即可查看其加成效果。\n\n注意,&9液化塔&r可通过使用&8氢气&r来加速,从而减少耗时并降低总能耗。别忘了设置正确的&6电路配置&r以确保其正常运行。\n\n顺带一提,游戏内1秒等于20游戏刻。因此,要计算其每秒消耗,需将每游戏刻消耗量乘以20。", + "quests.medium_voltage.coal_tower.desc.1": "&b液化塔&r是一个新的&b多方块结构&r,用于生产&a重整气&r及其副产品&7煤焦油&r和&7合成气&r。根据你使用的&9线圈&r,每个配方所需的&执行时间&r将获得折扣。将鼠标悬停在线圈上并按shift键即可查看其加成效果。\n\n注意,&9液化塔&r可通过使用&7氢气&r来加速,从而减少耗时并降低总能耗。别忘了设置正确的&6电路配置&r以确保其正常运行。\n\n顺带一提,游戏内1秒等于20游戏刻。因此,要计算其每秒消耗,需将每游戏刻消耗量乘以20。", "quests.medium_voltage.coal_tower.desc.2": "&l&3背景知识:&r&o设计出核裂变反应堆的同一个人,也绘制了液化塔的初版蓝图,这难道不疯狂吗。", "quests.medium_voltage.mv_jetpack.title": "我相信我能飞", "quests.medium_voltage.mv_jetpack.subtitle": "...嗯,几乎能飞", @@ -3318,7 +3318,7 @@ "quests.medium_voltage.mv_cells.desc": "铝单元相较于钢单元或通用流体单元是一次重大升级。\n\n它们能够存储任意比例流体——最多&d32桶&r!", "quests.medium_voltage.mv_jetpack_2.title": "我相信我能飞 II", "quests.medium_voltage.mv_jetpack_2.subtitle": "……仍未臻完美", - "quests.medium_voltage.mv_jetpack_2.desc": "这款喷气背包可实现飞行功能,但需消耗能量。\n\n充电方式与电池相同。\n\n按&4H&r(默认)启用悬停模式。\n\n&o&8(是是是,喷气背包本该靠推进剂工作——你们总爱吹毛求疵。)&r", + "quests.medium_voltage.mv_jetpack_2.desc": "这款喷气背包可实现飞行功能,但需消耗能量。\n\n充电方式与电池相同。\n\n按&4H&r(默认)启用悬停模式。\n\n&o&7(是是是,喷气背包本该靠推进剂工作——你们总爱吹毛求疵。)&r", "quests.medium_voltage.mv_cutter.title": "进阶切割机", "quests.medium_voltage.mv_cutter.subtitle": "升级,大伙,升级啊!", "quests.medium_voltage.mv_cutter.desc": "&3MV切割机&r用于切割&7单晶硅&r,为后续的&a激光蚀刻机&r做准备。\n\n建议持续供应&d润滑剂&r以大幅缩短加工时间。\n\n润滑剂可通过&e石油&r与&a滑石&r、&2皂石&r或&c红石&r通过&3酿造室&r制备。\n\n&7注:也可选用&6格雷机械&r版本的切割机,它可以用流体储罐来填充液体&r", @@ -4338,7 +4338,7 @@ "quests.tfg_tips.gt_filters.desc": "使用&5格雷科技&r,你可以获得多种&6过滤卡&r,它们能帮助你轻松实现&a自动化&r。所有这些过滤卡都与不同的&d覆盖板&r兼容,你将在&7LV&r章节了解更多相关内容。\n\n在这里,我们将介绍两种在特定情况下你可能会觉得&b方便&r的、更具体的过滤卡。\n\n要使用过滤卡,只需将其作为&d覆盖板&r应用到任何&5格雷机器&r或&6管道&r上。", "quests.tfg_tips.smart_item_filter.subtitle": "敲门,谁呀?是高智商俱乐部!", "quests.tfg_tips.smart_item_filter.desc.1": "在这个任务中,我们将赐予你&5“受诅咒的智慧”&r……轻松自动化电解机的能力。\n\n&9智能物品过滤卡&r是一种能识别配方图谱的过滤卡。当将其放置于机器侧面时,你可以将其设置为“&3电解机&r”,以专门允许可电解物品的输入。你没听错——无需手动过滤!\n\n哦,而且它只会变得&a更好&r。如果你把这个好家伙和&a机械臂&r组合使用,它将只会为机器供应成功执行配方所需的&6精确数量&r的物品。", - "quests.tfg_tips.smart_item_filter.desc.2": "将&a机械臂&r放在你的电解机上,打开其GUI,然后将&9智能过滤卡&r放入其中。确保智能过滤卡已设置为电解机。\n\n接下来,将其配置为&d&l输入&r和&d&l精确供应&r。最后,在任何你放置了&a机械臂&r的侧面连接一个物品栏&7(箱子就行)&r。嗒-哒!你已经搞明白如何处理&6所有&r电解机配方了!\n\n那&3电解机&r的产出物呢?你可能想把流体导向几个储罐——如果你已经玩到那一步了,甚至是&3超级缸&r。我们强烈建议你避免任何涉及流体销毁的方法。&7.&8. 除了水,原因显而易见。", + "quests.tfg_tips.smart_item_filter.desc.2": "将&a机械臂&r放在你的电解机上,打开其GUI,然后将&9智能过滤卡&r放入其中。确保智能过滤卡已设置为电解机。\n\n接下来,将其配置为&d&l输入&r和&d&l精确供应&r。最后,在任何你放置了&a机械臂&r的侧面连接一个物品栏&7(箱子就行)&r。嗒-哒!你已经搞明白如何处理&6所有&r电解机配方了!\n\n那&3电解机&r的产出物呢?你可能想把流体导向几个储罐——如果你已经玩到那一步了,甚至是&3超级缸&r。我们强烈建议你避免任何涉及流体销毁的方法。&7.&7. 除了水,原因显而易见。", "quests.tfg_tips.smart_item_filter.desc.3": "&9注意:&r 机械臂必须参与物品传输,其过滤功能才能生效!直接向机器输入物品&7(例如,用漏斗推送!)&r 会忽略机械臂的&d精确供应&r设置。", "quests.tfg_tips.hazard_materials.title": "危险材料", "quests.tfg_tips.hazard_materials.subtitle": "窒息危险,3岁以上适用", @@ -4640,7 +4640,7 @@ "quests.tfg_tips.aircraft_upgrades.desc": "&2沉浸式飞机&r配备&a飞机升级&r系统,可安装升级模块来提升飞机属性,如速度、起飞速度、燃料消耗等。升级分两种类型:&b普通型&r和&d分级型&r。\n\n本任务要求的是&b普通型&r升级,你能集齐全部吗?", "quests.tfg_tips.steam_upgrades.title": "飞机升级:蒸汽级", "quests.tfg_tips.steam_upgrades.subtitle": "沉浸式飞机遇见格雷科技分级体系!", - "quests.tfg_tips.steam_upgrades.desc": "第二种飞机升级是&d分级升级&r。这些匹配&3格雷科技&r分级系统,从&8蒸汽级&r到&5EV级&r。\n\n蒸汽升级是最简单且最早可制作的,至少需掌握&b黑钢&r相关知识。\n\n&d蒸汽动力航空引擎&r用于制造更精密的飞机(如&e双翼机&r和&c战斗飞艇&r)。", + "quests.tfg_tips.steam_upgrades.desc": "第二种飞机升级是&d分级升级&r。这些匹配&3格雷科技&r分级系统,从&7蒸汽级&r到&5EV级&r。\n\n蒸汽升级是最简单且最早可制作的,至少需掌握&b黑钢&r相关知识。\n\n&d蒸汽动力航空引擎&r用于制造更精密的飞机(如&e双翼机&r和&c战斗飞艇&r)。", "quests.tfg_tips.steam_upgrades.task": "任何蒸汽级飞机升级", "quests.tfg_tips.lv_upgrades.title": "飞机升级:LV级", "quests.tfg_tips.lv_upgrades.subtitle": "红与蓝,肯定不冲突。", @@ -4928,7 +4928,7 @@ "quests.tfg_tips.tools_tips.subtitle": "拧紧和松开的入门指南", "quests.tfg_tips.tools_tips.tools.title": "工具", "quests.tfg_tips.tools_tips.tools.subtitle": "反正都是个锤子", - "quests.tfg_tips.tools_tips.tools.desc": "人类与动物的唯一区别在于我们对&l&b工具&r的运用。&8&o除了猿、猴子、海豚、乌鸦、水獭、章鱼.......&r善用你的技能与工具去征服这个世界,顺便也给&5自己&r省些力气。", + "quests.tfg_tips.tools_tips.tools.desc": "人类与动物的唯一区别在于我们对&l&b工具&r的运用。&7&o除了猿、猴子、海豚、乌鸦、水獭、章鱼.......&r善用你的技能与工具去征服这个世界,顺便也给&5自己&r省些力气。", "quests.tfg_tips.tools_tips.seed_oil.title": "灯油:种子油", "quests.tfg_tips.tools_tips.seed_oil.subtitle": "燃烧时闻起来不错", "quests.tfg_tips.tools_tips.seed_oil.desc": "&d种子油&r将持续令人影响深刻的&c72&r天。", From 3c4882ceebbd2f5656ae5be367c33e107a97f150 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 17:17:10 +0000 Subject: [PATCH 511/628] 0.11.13, last release of the year! --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0634d4714..7eb3c4733 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog ## Unreleased +### Changes +### Bug fixes + +## [0.11.13] - 28-12-2025 ### Breaking Changes - The LCR recipe for BTX fuel now requires circuit 24, to fix a recipe conflict (#2515) @TomPlop - Loose stones now compress into cobblestone (without any mortar) and vice versa. So if you're currently using gravel to store your loose stones, uncraft them before updating. (#809) @Pyritie From a785143a2eceef39037c2c6b681a38f1cd517a5d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 20:53:22 +0000 Subject: [PATCH 512/628] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7eb3c4733..3f13f6dc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ - Chinese (simplified) @jmecn - Ukranian @MetEnBouldry - Spanish @NikoNeko17 +- Turkish @MVG31 ## [0.11.12] - 19-12-2025 ### Changes From 0049a2755a09ab71d4a31d8f0cb58b8a294de09a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 23:10:03 +0000 Subject: [PATCH 513/628] pakku --- pakku-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index f3ed997ad..1887b9e6a 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -9515,7 +9515,7 @@ "files": [ { "type": "modrinth", - "file_name": "moonlight-1.20-2.16.18-forge.jar", + "file_name": "moonlight-1.20-2.16.19-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9524,20 +9524,20 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/lWv6Lb1p/moonlight-1.20-2.16.18-forge.jar", - "id": "lWv6Lb1p", + "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/ZBeK8kT5/moonlight-1.20-2.16.19-forge.jar", + "id": "ZBeK8kT5", "parent_id": "twkfQtEc", "hashes": { - "sha512": "4d28ee5fc7718557316f6140bdf4786dfb22231259bd1928aa52dfe37755643e784f9712b5780f7be58bb8825205e077de5309703f5d735f9a5559649406dfea", - "sha1": "48dc8e4c200c487df69195fe503dc67493050b6b" + "sha512": "d687d18d8796c9bb1bfa8f6cbf08a41594c96ecbf5bd97253d59d5f2fbd15841c63cf159dc89a7157c8e71058d88f15b2f03beef5fe7bcd672e4d9eed84d3cf8", + "sha1": "de55e348bdf3a3ac7520fde157654d615967f9b1" }, "required_dependencies": [], - "size": 1337852, - "date_published": "2025-12-27T17:10:55.594221Z" + "size": 1354950, + "date_published": "2025-12-28T12:21:11.913916Z" }, { "type": "curseforge", - "file_name": "moonlight-1.20-2.16.18-forge.jar", + "file_name": "moonlight-1.20-2.16.19-forge.jar", "mc_versions": [ "1.20.1" ], @@ -9546,16 +9546,16 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7385/185/moonlight-1.20-2.16.18-forge.jar", - "id": "7385185", + "url": "https://edge.forgecdn.net/files/7388/296/moonlight-1.20-2.16.19-forge.jar", + "id": "7388296", "parent_id": "499980", "hashes": { - "sha1": "48dc8e4c200c487df69195fe503dc67493050b6b", - "md5": "9007cb60750897152f0952d46d39de95" + "sha1": "de55e348bdf3a3ac7520fde157654d615967f9b1", + "md5": "bfa3f531468e3c0cef07edbad1a4fbc9" }, "required_dependencies": [], - "size": 1337852, - "date_published": "2025-12-27T17:10:47.130Z" + "size": 1354950, + "date_published": "2025-12-28T12:21:00.210Z" } ] }, From 65e39bf4fe0c71df9b8f351038b447e0a3b2c224 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 28 Dec 2025 23:43:47 +0000 Subject: [PATCH 514/628] ethanol and methanol are drinkable now too I guess --- CHANGELOG.md | 2 +- kubejs/client_scripts/tooltips.js | 52 +++++++++++-------- kubejs/data/gtceu/tfc/drinkables/ethanol.json | 16 ++++++ .../data/gtceu/tfc/drinkables/methanol.json | 16 ++++++ kubejs/server_scripts/tfg/tags.js | 5 ++ 5 files changed, 68 insertions(+), 23 deletions(-) create mode 100644 kubejs/data/gtceu/tfc/drinkables/ethanol.json create mode 100644 kubejs/data/gtceu/tfc/drinkables/methanol.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f13f6dc8..f9a830884 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,7 @@ - Removed the cleanroom requirement for level emitters since they were also craftable in a crafting grid (#2529) @Jeuvke - Overhauled photographic film development @Pyritie - Lowered the temperature of gas fuels and their related gases/fluids @Pyritie -- Added buff effects to wine @Pyritie +- Added drink effects to wines, ethanol, and methanol @Pyritie ### Bug fixes - Fix for food stacking everywhere! @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index d67113414..0528360e3 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -119,16 +119,16 @@ const registerTooltips = (event) => { // Insulation event.addAdvanced(['create:copper_diving_helmet', 'create:copper_backtank', 'create:copper_diving_boots'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.copper_diving_suit_warmth')); - text.add(2, Text.translate('tfg.tooltip.armor.copper_diving_suit_insulation')); + text.add(2, Text.translate('tfg.tooltip.armor.copper_diving_suit_insulation')); }) event.addAdvanced(['create:netherite_diving_helmet', 'create:netherite_backtank', 'create:netherite_diving_boots', 'minecraft:netherite_leggings', 'minecraft:netherite_boots'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.netherite_diving_suit_warmth')); - text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')); + text.add(2, Text.translate('tfg.tooltip.armor.netherite_diving_suit_insulation')); text.add(3, Text.translate('tfg.tooltip.armor.netherite_diving_suit_set')); }) event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:advanced_nanomuscle_chestplate'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.nanomuscle_warmth')); - text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')); + text.add(2, Text.translate('tfg.tooltip.armor.nanomuscle_insulation')); text.add(3, Text.translate('tfg.tooltip.armor.nanomuscle_set')); if (item === 'gtceu:nanomuscle_leggings') { text.add(4, Text.translate('tfg.tooltip.armor.nanomuscle_legs_buff')); @@ -136,7 +136,7 @@ const registerTooltips = (event) => { }) event.addAdvanced(['gtceu:quarktech_helmet', 'gtceu:quarktech_chestplate', 'gtceu:quarktech_leggings', 'gtceu:quarktech_boots', 'gtceu:advanced_quarktech_chestplate'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.quarktech_warmth')); - text.add(2, Text.translate('tfg.tooltip.armor.quarktech_insulation')); + text.add(2, Text.translate('tfg.tooltip.armor.quarktech_insulation')); text.add(3, Text.translate('tfg.tooltip.armor.quarktech_set')); }) event.addAdvanced([ @@ -145,7 +145,7 @@ const registerTooltips = (event) => { 'ad_astra:jet_suit_helmet', 'ad_astra:jet_suit', 'ad_astra:jet_suit_pants', 'ad_astra:jet_suit_boots' ], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.armor.space_suit_warmth')); - text.add(2, Text.translate('tfg.tooltip.armor.space_suit_insulation')); + text.add(2, Text.translate('tfg.tooltip.armor.space_suit_insulation')); text.add(3, Text.translate('tfg.tooltip.armor.space_suit_set')); }) @@ -211,12 +211,12 @@ const registerTooltips = (event) => { event.addAdvanced(['tfg:sniffer_egg'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.attribution.sniffer')); - text.add(2, Text.translate('tfg.tooltip.large_egg')) + text.add(2, Text.translate('tfg.tooltip.large_egg')) }) event.addAdvanced(['tfg:wraptor_egg'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.attribution.wraptor')); - text.add(2, Text.translate('tfg.tooltip.large_egg')) + text.add(2, Text.translate('tfg.tooltip.large_egg')) }) event.addAdvanced(['tfg:sniffer_wool'], (item, advanced, text) => { @@ -357,60 +357,68 @@ const registerTooltips = (event) => { // Drink effects event.addAdvanced(['tfc_gurman:compote_bucket'], (item, advanced, text) => { - text.add(1, Text.of("Jump Boost II (00:30)").blue()); + 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) => { - text.add(1, Text.of("Strength (01:20)").blue()); + 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) => { - text.add(1, Text.of("Haste (00:30)").blue()); + 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) => { - text.add(1, Text.of("Speed (00:30)").blue()); + 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) => { - text.add(1, Text.of("Haste (00:30)").blue()); + 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) => { - text.add(1, Text.of("Regeneration (00:30)").blue()); + text.add(1, Text.translate("effect.minecraft.regeneration").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) event.addAdvanced(['tfc_gurman:tea_chamomile_bucket'], (item, advanced, text) => { - text.add(1, Text.of("Resistance (00:30)").blue()); + text.add(1, Text.translate("effect.minecraft.resistance").append(Text.of(" (00:30)")).blue()); text.add(2, Text.translate('tfg.tooltip.warming_foods')); }) event.addAdvanced(['tfc_gurman:tea_nettle_bucket'], (item, advanced, text) => { - text.add(1, Text.of("Slow Falling (00:30)").blue()); + 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) => { - text.add(1, Text.of("Absorption (00:30)").blue()); + 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) => { - text.add(1, Text.of("Strength (02:40)").blue()); + text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (02:40)")).blue()); text.add(2, Text.translate('tfg.tooltip.cooling_foods')); }) event.addAdvanced(['tfc:bucket/spring_water'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.warming_foods')); }) event.addAdvanced(['firmalife:bucket/red_wine'], (item, advanced, text) => { - text.add(1, Text.of("Strength (05:20)").blue()); + text.add(1, Text.translate("effect.minecraft.strength").append(Text.of(" (05:20)")).blue()); }) event.addAdvanced(['firmalife:bucket/rose_wine'], (item, advanced, text) => { - text.add(1, Text.of("Dolphin's Grace (05:20)").blue()); + text.add(1, Text.translate("effect.minecraft.dolphins_grace").append(Text.of(" (05:20)")).blue()); }) event.addAdvanced(['firmalife:bucket/white_wine'], (item, advanced, text) => { - text.add(1, Text.of("Wither Resistance (05:20)").blue()); + text.add(1, Text.translate("effect.species.wither_resistance").append(Text.of(" (05:20)")).blue()); }) event.addAdvanced(['firmalife:bucket/dessert_wine'], (item, advanced, text) => { - text.add(1, Text.of("Knockback Resistance (05:20)").blue()); + text.add(1, Text.translate("effect.species.iron_will").append(Text.of(" (05:20)")).blue()); }) event.addAdvanced(['firmalife:bucket/sparkling_wine'], (item, advanced, text) => { - text.add(1, Text.of("Jump Boost II (05:20)").blue()); + text.add(1, Text.translate("effect.minecraft.jump_boost").append(Text.of(" II (05:20)")).blue()); + }) + event.addAdvanced(['gtceu:ethanol_bucket'], (item, advanced, text) => { + text.add(1, Text.translate("effect.minecraft.nausea").append(Text.of(" (01:00)")).red()); + text.add(1, Text.translate("effect.minecraft.poison").append(Text.of(" II (00:30)")).red()); + }) + event.addAdvanced(['gtceu:methanol_bucket'], (item, advanced, text) => { + text.add(1, Text.translate("effect.minecraft.blindness").append(Text.of(" (05:00)")).red()); + text.add(1, Text.translate("effect.minecraft.wither").append(Text.of(" II (01:00)")).red()); }) } diff --git a/kubejs/data/gtceu/tfc/drinkables/ethanol.json b/kubejs/data/gtceu/tfc/drinkables/ethanol.json new file mode 100644 index 000000000..96e808d58 --- /dev/null +++ b/kubejs/data/gtceu/tfc/drinkables/ethanol.json @@ -0,0 +1,16 @@ +{ + "ingredient": "gtceu:ethanol", + "thirst": 5, + "effects": [ + { + "type": "minecraft:nausea", + "duration": 1200, + "amplifier": 0 + }, + { + "type": "minecraft:poison", + "duration": 600, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/data/gtceu/tfc/drinkables/methanol.json b/kubejs/data/gtceu/tfc/drinkables/methanol.json new file mode 100644 index 000000000..cba19d83e --- /dev/null +++ b/kubejs/data/gtceu/tfc/drinkables/methanol.json @@ -0,0 +1,16 @@ +{ + "ingredient": "gtceu:methanol", + "thirst": 5, + "effects": [ + { + "type": "minecraft:blindness", + "duration": 6000, + "amplifier": 0 + }, + { + "type": "minecraft:wither", + "duration": 1200, + "amplifier": 1 + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index e9344dd39..0aec9d510 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -162,6 +162,11 @@ const registerTFGFluidTags = (event) => { event.add('tfc:drinkables', 'tfg:light_stock') event.add('tfc:any_drinkables', 'tfg:light_stock') + event.add('tfc:drinkables', 'gtceu:ethanol') + event.add('tfc:any_drinkables', 'gtceu:ethanol') + event.add('tfc:drinkables', 'gtceu:methanol') + event.add('tfc:any_drinkables', 'gtceu:methanol') + global.BREATHABLE_COMPRESSED_AIRS.forEach(x => { event.add('tfg:breathable_compressed_air', x) }) From 41f1e063e85c5a080bbc3e0447e1b201a8c7c019 Mon Sep 17 00:00:00 2001 From: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> Date: Mon, 29 Dec 2025 15:10:37 -0300 Subject: [PATCH 515/628] Change small gear mold capacity from 288 to 144 (#2544) This will fix the issue #2543, were small gears used double the intended value. Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --- kubejs/startup_scripts/tfg/primitive/items.primitive.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js index edf9039a2..4b38b1910 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -162,7 +162,7 @@ function registerTFGPrimitiveItems(event) { ]) event.create('tfg:small_gear_mold', 'tfc:mold') - .capacity(288) + .capacity(144) .texture("base", "tfg:item/mold/fired/small_gear_mold_empty") .texture("fluid", "tfg:item/mold/fired/small_gear_mold_overlay") .tag('tfc:fired_molds') From 2fba5ae8cc42ca76624299232c471ea04ce7fdd4 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 29 Dec 2025 12:11:09 -0600 Subject: [PATCH 516/628] mini fixes (#2545) --- kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json | 4 ++++ kubejs/server_scripts/tacz/recipes.ammo.js | 2 ++ 2 files changed, 6 insertions(+) diff --git a/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json b/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json index 90da1d915..332f31714 100644 --- a/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json +++ b/kubejs/assets/gtceu/molecules/ruthenium_tetroxide.json @@ -42,6 +42,7 @@ "solid", "solid" ], + "centered": true, "type": "bond" }, { @@ -51,6 +52,7 @@ "solid", "solid" ], + "centered": true, "type": "bond" }, { @@ -60,6 +62,7 @@ "solid", "solid" ], + "centered": true, "type": "bond" }, { @@ -69,6 +72,7 @@ "solid", "solid" ], + "centered": true, "type": "bond" } ] diff --git a/kubejs/server_scripts/tacz/recipes.ammo.js b/kubejs/server_scripts/tacz/recipes.ammo.js index 2fbc8f20f..5b2200f4c 100644 --- a/kubejs/server_scripts/tacz/recipes.ammo.js +++ b/kubejs/server_scripts/tacz/recipes.ammo.js @@ -90,6 +90,7 @@ function registerTACZAmmoRecipes(event){ .itemOutputs(Item.of('tacz:ammo', 4, '{AmmoId:"tacz:45_70"}')) .EUt(GTValues.VA[GTValues.LV]) + .circuit(4) .duration(20) //Clockwork era @@ -99,6 +100,7 @@ function registerTACZAmmoRecipes(event){ .itemOutputs(Item.of('tacz:ammo', 4, '{AmmoId:"create_armorer:rbapb"}')) .EUt(GTValues.VA[GTValues.LV]) + .circuit(1) .duration(20) event.recipes.gtceu.assembler('tfg_tacz:rb_small') .itemInputs('4x #forge:nuggets/lead','2x #forge:foils/copper', '4x tfg:small_bullet_casing', From d88dd3b3fe6474e908caa739a42d980b3ce7eaf7 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 29 Dec 2025 23:31:36 -0600 Subject: [PATCH 517/628] probably fixed the arc furnace air recipe Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/create/recipes.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index e427ed0bb..ed6d00b93 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1242,7 +1242,7 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/tin_alloy' }).id('tfg:create/shaped/andesite_ladder') - TFGHelpers.registerMaterialInfo('createdeco:andesite_ladder', { 'tin_alloy': 0.5 }) + TFGHelpers.registerMaterialInfo('create:andesite_ladder', { 'tin_alloy': 0.5 }) // Лестница из латуни event.shaped('7x create:brass_ladder', [ @@ -1253,7 +1253,7 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/brass' }).id('tfg:create/shaped/brass_ladder') - TFGHelpers.registerMaterialInfo('createdeco:brass_ladder', { 'brass': 0.5 }) + TFGHelpers.registerMaterialInfo('create:brass_ladder', { 'brass': 0.5 }) // Лестница из железа event.shaped('7x create:copper_ladder', [ @@ -1264,7 +1264,7 @@ const registerCreateRecipes = (event) => { A: '#forge:rods/copper' }).id('tfg:create/shaped/copper_ladder') - TFGHelpers.registerMaterialInfo('createdeco:copper_ladder', { 'copper': 0.5 }) + TFGHelpers.registerMaterialInfo('create:copper_ladder', { 'copper': 0.5 }) // Леса из железа event.shaped('4x create:andesite_scaffolding', [ From fa5c1c6569a8209a70871d6cd973b22e29967c8f Mon Sep 17 00:00:00 2001 From: Xikaro Date: Tue, 30 Dec 2025 18:15:27 +0500 Subject: [PATCH 518/628] add: updates to all configs --- .gitignore | 10 +- .../server-overrides/config/ftbbackups2.json | 73 + config/ae2/client.json | 27 +- config/ae2/common.json | 2 + config/alltheleaks.json | 7 +- config/ambientsounds-client.json | 49 +- config/applied_ammo_box-common.toml | 11 + config/attributefix.json | 150 +- config/blockrunner-client.toml | 5 + config/blockrunner.json | 11 + config/chat_heads.json5 | 1 + config/clienttweaks-common.toml | 2 + config/colorwheel-client.toml | 7 + config/crash_assistant/config.toml | 8 +- config/crash_assistant/modlist.json | 20 +- .../problematic_mods_config.json | 4 + config/drippyloadingscreen/options.txt | 47 +- config/everycomp-common.toml | 4 + config/everycomp-hazardous.toml | 21 + config/extremesoundmuffler-client.toml | 45 + config/fallingtrees_common.json | 244 +- config/fancymenu/options.txt | 24 +- config/fancymenu/ui_themes/dark.json | 81 + config/fancymenu/ui_themes/light.json | 81 + config/ftbbackups2.json | 6 +- config/ihearttfc-client.toml | 13 + config/immersive_aircraft.json | 146 +- config/immersive_optimization.json | 82 +- config/jade/plugins.json | 12 +- config/jade/sort-order.json | 5 + config/lithostitched.json | 8 + config/lootr-common.toml | 2 + config/modernfix-mixins.properties | 8 +- config/moonlight-common.toml | 2 + config/packetfixer.properties | 2 +- config/railways-client.toml | 14 - config/shouldersurfing-client.toml | 340 +++ config/sophisticatedcore-client.toml | 2 + .../allowed_sounds.properties | 1897 -------------- .../occlusion.properties | 364 +-- .../reflectivity.properties | 356 +-- .../sound_rates.properties | 2303 +++++++++++++++++ config/tfc_gurman-common.toml | 10 + config/tfcambiental-client.toml | 2 +- config/timeout_fixes-common.toml | 6 + config/tp_shooting-client.toml | 14 + config/transition.json | 4 + config/trender.json | 4 + config/waves-common.toml | 34 +- config/waves/waves.json | 2 +- defaultconfigs/create-server.toml | 3 + defaultconfigs/create_hypertube-server.toml | 29 +- defaultconfigs/createhorsepower-server.toml | 4 +- defaultconfigs/goprone-server.toml | 19 + defaultconfigs/jumbofurnace-server.toml | 10 + defaultconfigs/railways-server.toml | 15 - .../sophisticatedbackpacks-server.toml | 30 + defaultconfigs/tfcambiental-server.toml | 19 + defaultconfigs/tfg-server.toml | 8 + 59 files changed, 4054 insertions(+), 2655 deletions(-) create mode 100644 .pakku/server-overrides/config/ftbbackups2.json create mode 100644 config/applied_ammo_box-common.toml create mode 100644 config/blockrunner-client.toml create mode 100644 config/blockrunner.json create mode 100644 config/colorwheel-client.toml create mode 100644 config/extremesoundmuffler-client.toml create mode 100644 config/ihearttfc-client.toml create mode 100644 config/lithostitched.json create mode 100644 config/shouldersurfing-client.toml delete mode 100644 config/sound_physics_remastered/allowed_sounds.properties create mode 100644 config/sound_physics_remastered/sound_rates.properties create mode 100644 config/tfc_gurman-common.toml create mode 100644 config/timeout_fixes-common.toml create mode 100644 config/tp_shooting-client.toml create mode 100644 config/transition.json create mode 100644 config/trender.json create mode 100644 defaultconfigs/goprone-server.toml create mode 100644 defaultconfigs/jumbofurnace-server.toml create mode 100644 defaultconfigs/tfcambiental-server.toml diff --git a/.gitignore b/.gitignore index 34d3703fa..36bbc1365 100644 --- a/.gitignore +++ b/.gitignore @@ -64,6 +64,7 @@ defaultconfigs/ftbranks/players.snbt /.bobby/ /.mixin.out/ +/tacz/tacz_default_gun /classOut /backups /profileImage @@ -91,6 +92,7 @@ defaultconfigs/ftbranks/players.snbt /chiselsandbits /gtceu/prospection_cache /data +/ESM # Client data bansoukou @@ -115,6 +117,8 @@ optionsshaders.txt OpenComputersMod-* hei_bookmarks.ini icon.png +EffekseerNativeForJava.dll +libEffekseerNativeForJava.so # Server data # .pakku/server-overrides/libraries @@ -125,6 +129,6 @@ icon.png # .pakku/server-overrides/mods # .pakku/server-overrides/user_jvm_args.txt -/tacz/tacz_default_gun -EffekseerNativeForJava.dll -libEffekseerNativeForJava.so + + + diff --git a/.pakku/server-overrides/config/ftbbackups2.json b/.pakku/server-overrides/config/ftbbackups2.json new file mode 100644 index 000000000..c83ca4361 --- /dev/null +++ b/.pakku/server-overrides/config/ftbbackups2.json @@ -0,0 +1,73 @@ +{ + // Allow the creation of backups automatically + "enabled": true, + // Permission level to use the /backup command + "command_permission_level": 3, + // Only send backup status to server ops + "notify_op_only": true, + // Don't send backup status at all + "do_not_notify": true, + /* Backup retention mode. Valid Modes: MAX_BACKUPS, TIERED + Note: TIERED mode is an experimental feature, Use at your own risk. + */ + "retention_mode": "MAX_BACKUPS", + // Applies to retention_mode:MAX_BACKUPS, Sets the maximum number of backups to keep + "max_backups": 3, + // Applies to retention_mode:TIERED, The latest x number of backups will be retained + "keep_latest": 3, + // Applies to retention_mode:TIERED, Sets number of hourly backups to keep + "keep_hourly": 1, + // Applies to retention_mode:TIERED, Sets number of daily backups to keep + "keep_daily": 1, + // Applies to retention_mode:TIERED, Sets number of weekly backups to keep + "keep_weekly": 1, + // Applies to retention_mode:TIERED, Sets number of monthly backups to keep + "keep_monthly": 1, + /* This is done with an implementation of cron from the Quartz java library. + More info here + (http://www.cronmaker.com) + */ + "backup_cron": "0 15 10 * * ? *", + // Time between manual backups using the command + "manual_backups_time": 0, + // Only run a backup if a player has been online since the last backup + "only_if_players_been_online": true, + // Additional directories to include in backup + "additional_directories": [], + /* Additional files and directories to include in backup. + Can specify a file name, path relative to server directory or wildcard file path + Examples: (All file paths are relative to server root) + fileName.txt Any/all file named "fileName.txt" + folder/file.txt Exact file path + folder/ Everything in this folder + path/starts/with* Any files who's path starts with + *path/ends/with.txt Any files who's path ends with + *path/contains* Any files who's path contains + */ + "additional_files": [], + // Display file size in backup message + "display_file_size": false, + // backup location + "backup_location": ".", + // Specify the backup format. Valid options are ZIP and DIRECTORY + "backup_format": "ZIP", + // Minimum free disk space in MB. If a backup's creation would leave less than this amount of disk space remaining, the backup will be aborted. + "minimum_free_space": 51200, + // If the previous backup failed due to lack of space, the oldest backup will be deleted to free space. + "free_space_if_needed": true, + /* Specify files or folders to be excluded. + Can specify a file name, path relative to server directory or wildcard file path + Examples: (All file paths are relative to server root) + fileName.txt Any/all file named "fileName.txt" + folder/file.txt Exact file path + folder/ Everything in this folder + path/starts/with* Any files who's path starts with + *path/ends/with.txt Any files who's path ends with + *path/contains* Any files who's path contains + */ + "excluded": [ + "DistantHorizons.sqlite" + ], + // The dimension used when creating backup preview image, specify "all" to enable automatic detection of primary dimension (can be very slow) + "preview_dimension": "minecraft:overworld" +} \ No newline at end of file diff --git a/config/ae2/client.json b/config/ae2/client.json index 5def997ef..76072eb77 100644 --- a/config/ae2/client.json +++ b/config/ae2/client.json @@ -5,6 +5,8 @@ "enableFacadesInJEI": true, "enableFacadeRecipesInJEI_comment": "Show facade recipes in JEI for supported blocks", "enableFacadeRecipesInJEI": true, + "exposeInventoryToEmi_comment": "Expose the full network inventory to EMI, which might cause performance problems.", + "exposeInventoryToEmi": false, "enableEffects": true, "useTerminalUseLargeFont": false, "useColoredCraftingStatus": true, @@ -16,10 +18,33 @@ "showPlacementPreview": true, "notifyForFinishedCraftingJobs_comment": "Show toast when long-running crafting jobs finish.", "notifyForFinishedCraftingJobs": true, + "fancyPatternTooltips_comment": "Show fancy tooltips for encoded patterns.", + "fancyPatternTooltips": true, "clearGridOnClose_comment": "Automatically clear the crafting/encoding grid when closing the terminal", "clearGridOnClose": false, "terminalMargin_comment": "The vertical margin to apply when sizing terminals. Used to make room for centered item mod search bars", - "terminalMargin": 25 + "terminalMargin": 25, + "autoPauseTerminal_comment": "Pause the terminal exactly like when pressing shift, except done automatically", + "autoPauseTerminal": false + }, + "widgetNumbers": { + "_comment": "Number button values in the level emitter config panel and the craft order amount picker", + "widgetNumberBase1_comment": "Value of the first button when not pressing shift or ctrl", + "widgetNumberBase1": 1, + "widgetNumberBase2_comment": "Value of the second button when not pressing shift or ctrl", + "widgetNumberBase2": 10, + "widgetNumberBase3_comment": "Value of the third button when not pressing shift or ctrl", + "widgetNumberBase3": 100, + "widgetNumberBase4_comment": "Value of the fourth button when not pressing shift or ctrl", + "widgetNumberBase4": 1000, + "widgetNumberAlt1_comment": "Value of the first button when pressing shift or ctrl", + "widgetNumberAlt1": 1, + "widgetNumberAlt2_comment": "Value of the second button when pressing shift or ctrl", + "widgetNumberAlt2": 16, + "widgetNumberAlt3_comment": "Value of the third button when pressing shift or ctrl", + "widgetNumberAlt3": 32, + "widgetNumberAlt4_comment": "Value of the fourth button when pressing shift or ctrl", + "widgetNumberAlt4": 64 }, "terminals": { "terminalStyle": "small", diff --git a/config/ae2/common.json b/config/ae2/common.json index 2c91128bd..2e4bb8227 100644 --- a/config/ae2/common.json +++ b/config/ae2/common.json @@ -7,6 +7,8 @@ "tinyTntBlockDamage": true, "channels_comment": "Changes the channel capacity that cables provide in AE2.", "channels": "default", + "controllerLength_comment": "Maximum length for AE controllers", + "controllerLength": 11, "spatialAnchorEnableRandomTicks_comment": "Whether Spatial Anchors should force random chunk ticks and entity spawning.", "spatialAnchorEnableRandomTicks": true }, diff --git a/config/alltheleaks.json b/config/alltheleaks.json index dcf6e81ce..9f532945e 100644 --- a/config/alltheleaks.json +++ b/config/alltheleaks.json @@ -1,5 +1,10 @@ { "preventSearchIgnoredItems": false, "ingredientDedupe": false, - "resourceLocationDedupe": false + "resourceLocationDedupe": false, + "debugItemStackModifications": false, + "logIntervalInMinutes": 10, + "showSummaryOnDebugScreen": true, + "memoryUsageWarningPercentage": 90, + "debugThreadsStuck": false } \ No newline at end of file diff --git a/config/ambientsounds-client.json b/config/ambientsounds-client.json index 9a09df752..c73d140af 100644 --- a/config/ambientsounds-client.json +++ b/config/ambientsounds-client.json @@ -8,6 +8,9 @@ }, "dimensions": { "abyssalcraft": 1, + "ad_astra_mars": 1, + "ad_astra_mercury": 1, + "ad_astra_venus": 1, "betweenlands": 1, "cave": 1, "end": 1, @@ -17,14 +20,21 @@ "nether": 1, "surface": 1, "twilightforest": 1, - "void": 1, - "ad_astra": 1 + "void": 1 }, "regions": { "abyssalcraft_dark": { "overall": 1, "suspense.suspense": 1 }, + "ad_astra_mars_wind": { + "overall": 1, + "wind.light-wind": 1 + }, + "ad_astra_mercury_unknown": { + "overall": 1, + "suspense.suspense": 1 + }, "end_unknown": { "overall": 1, "suspense.suspense": 1 @@ -49,7 +59,8 @@ "overall": 1, "beach": 1, "seagull": 1, - "seagull-long": 1 + "seagull-long": 1, + "ocean": 1 }, "cave_ambience": { "overall": 1, @@ -86,11 +97,17 @@ }, "forest_cold": { "overall": 1, - "crow": 1 + "bird-ambience": 1, + "crow": 1, + "owl": 1, + "wolf": 1, + "long-wolf": 1 }, "forest": { "overall": 1, - "bird-ambience": 1, + "bird-warm": 1, + "cricket": 1, + "cricket-warm-night": 1, "owl": 1 }, "forest_roofed": { @@ -115,6 +132,10 @@ "bird-ambience-jungle": 1, "bird-ambience-jungle-night": 1 }, + "lake": { + "overall": 1, + "ocean": 1 + }, "mesa": { "overall": 1, "wind-mesa": 1 @@ -157,6 +178,10 @@ "overall": 1, "wind.light-wind": 1 }, + "snow": { + "overall": 1, + "wind.light-wind": 1 + }, "space": { "overall": 1 }, @@ -182,7 +207,10 @@ }, "taiga": { "overall": 1, - "bird-ambience-huge": 1 + "bird-ambience-huge": 1, + "crow": 1, + "wolf": 1, + "long-wolf": 1 }, "underwater": { "overall": 1, @@ -193,6 +221,15 @@ "overall": 1, "underworld": 1 }, + "venus": { + "overall": 1, + "cricket": 1, + "cricket-night": 1, + "cicadas": 1, + "cicadas-desert": 1, + "cicadas-night": 1, + "cricket-warm-night": 1 + }, "warden": { "overall": 1, "warden": 1 diff --git a/config/applied_ammo_box-common.toml b/config/applied_ammo_box-common.toml new file mode 100644 index 000000000..a7fb3dd30 --- /dev/null +++ b/config/applied_ammo_box-common.toml @@ -0,0 +1,11 @@ + +[power] + #Energy consumed per round of ammo retrieved from an ammo box, default: 1000.0 + #Range: 0.0 ~ 1.7976931348623157E308 + AmmoBoxUsePowerPerAmmo = 1000.0 + +[jei] + #Modify the recipe content displayed in JEI, Normally, there is no need to disable this + #When creating custom modpacks, disable this if fake recipes remain after deleting the default crafting recipes + JeiRecipeDisplayCorrection = true + diff --git a/config/attributefix.json b/config/attributefix.json index 770c5f0c0..226d7129b 100644 --- a/config/attributefix.json +++ b/config/attributefix.json @@ -1,16 +1,5 @@ { "attributes": { - "tacz:tacz.bullet_resistance": { - "enabled": false, - "min": { - "default": 0, - "value": 0 - }, - "max": { - "default": 1, - "value": 1 - } - }, "forge:step_height_addition": { "enabled": false, "min": { @@ -33,17 +22,6 @@ "value": 2048 } }, - "minecraft:generic.flying_speed": { - "enabled": true, - "min": { - "default": 0, - "value": 0 - }, - "max": { - "default": 1024, - "value": 1024 - } - }, "forge:nametag_distance": { "enabled": false, "min": { @@ -55,17 +33,6 @@ "value": 64 } }, - "minecraft:generic.movement_speed": { - "enabled": true, - "min": { - "default": 0, - "value": 0 - }, - "max": { - "default": 1024, - "value": 1024 - } - }, "forge:entity_gravity": { "enabled": false, "min": { @@ -88,17 +55,6 @@ "value": 1024 } }, - "minecraft:generic.max_health": { - "enabled": true, - "min": { - "default": 1, - "value": 1 - }, - "max": { - "default": 1024, - "value": 1000000 - } - }, "minecraft:generic.attack_speed": { "enabled": true, "min": { @@ -121,6 +77,17 @@ "value": 1000000 } }, + "lodestone:magic_proficiency": { + "enabled": false, + "min": { + "default": 0, + "value": 0 + }, + "max": { + "default": 2048, + "value": 2048 + } + }, "minecolonies:mc_mob_damage": { "enabled": false, "min": { @@ -143,6 +110,83 @@ "value": 1024 } }, + "minecraft:generic.armor": { + "enabled": true, + "min": { + "default": 0, + "value": 0 + }, + "max": { + "default": 30, + "value": 1000000 + } + }, + "forge:entity_reach": { + "enabled": false, + "min": { + "default": 0, + "value": 0 + }, + "max": { + "default": 1024, + "value": 1024 + } + }, + "tacz:tacz.bullet_resistance": { + "enabled": false, + "min": { + "default": 0, + "value": 0 + }, + "max": { + "default": 1, + "value": 1 + } + }, + "sns:extra_fall_distance": { + "enabled": false, + "min": { + "default": 0, + "value": 0 + }, + "max": { + "default": 64, + "value": 64 + } + }, + "minecraft:generic.flying_speed": { + "enabled": true, + "min": { + "default": 0, + "value": 0 + }, + "max": { + "default": 1024, + "value": 1024 + } + }, + "minecraft:generic.movement_speed": { + "enabled": true, + "min": { + "default": 0, + "value": 0 + }, + "max": { + "default": 1024, + "value": 1024 + } + }, + "minecraft:generic.max_health": { + "enabled": true, + "min": { + "default": 1, + "value": 1 + }, + "max": { + "default": 1024, + "value": 1000000 + } + }, "minecraft:zombie.spawn_reinforcements": { "enabled": true, "min": { @@ -176,15 +220,15 @@ "value": 1000000 } }, - "minecraft:generic.armor": { - "enabled": true, + "lodestone:magic_resistance": { + "enabled": false, "min": { - "default": 0, - "value": 0 + "default": 1, + "value": 1 }, "max": { - "default": 30, - "value": 1000000 + "default": 2048, + "value": 2048 } }, "forge:swim_speed": { @@ -220,15 +264,15 @@ "value": 1000000 } }, - "forge:entity_reach": { + "lodestone:magic_damage": { "enabled": false, "min": { "default": 0, "value": 0 }, "max": { - "default": 1024, - "value": 1024 + "default": 2048, + "value": 2048 } } } diff --git a/config/blockrunner-client.toml b/config/blockrunner-client.toml new file mode 100644 index 000000000..cb8a96d4d --- /dev/null +++ b/config/blockrunner-client.toml @@ -0,0 +1,5 @@ +#Prevent running on blocks with higher speeds from changing the field of view. +disable_field_of_view_changes = true +#Add a tooltip to blocks that have an altered block speed with the multiplier. +block_speed_multiplier_tooltip = true + diff --git a/config/blockrunner.json b/config/blockrunner.json new file mode 100644 index 000000000..0f8a78d4c --- /dev/null +++ b/config/blockrunner.json @@ -0,0 +1,11 @@ +{ + "schema_version": "2", + "minecraft:dirt_path": 1.35, + "#blockrunner:slow_blocks": 0.65, + "#blockrunner:very_slow_blocks": 0.45, + "#blockrunner:quick_blocks": 1.35, + "#blockrunner:very_quick_blocks": 1.55, + "#blockrunner:slightly_slow_blocks": 0.85, + "#blockrunner:slightly_quick_blocks": 1.15, + "#minecraft:stone_bricks": 1.15 +} \ No newline at end of file diff --git a/config/chat_heads.json5 b/config/chat_heads.json5 index e1d42f383..01b112a23 100644 --- a/config/chat_heads.json5 +++ b/config/chat_heads.json5 @@ -4,5 +4,6 @@ "senderDetection": "UUID_AND_HEURISTIC", "smartHeuristics": true, "handleSystemMessages": true, + "drawShadow": true, "nameAliases": { } } \ No newline at end of file diff --git a/config/clienttweaks-common.toml b/config/clienttweaks-common.toml index 48651a458..00cf2b62a 100644 --- a/config/clienttweaks-common.toml +++ b/config/clienttweaks-common.toml @@ -56,4 +56,6 @@ fireworkItems = ["minecraft:firework_rocket"] #Blocks that should be protected in the prevent accidental mining tweak. fragileBlocks = ["minecraft:large_amethyst_bud", "minecraft:medium_amethyst_bud", "minecraft:small_amethyst_bud", "minecraft:budding_amethyst"] + #Items that count as food for the offhand-torch and -use tweak options. + foodItems = ["supplementaries:lunch_basket"] diff --git a/config/colorwheel-client.toml b/config/colorwheel-client.toml new file mode 100644 index 000000000..0fbcfceb7 --- /dev/null +++ b/config/colorwheel-client.toml @@ -0,0 +1,7 @@ +#Should display a message when an incompatible shaderpack is used. +alertIncompatiblePack = true +#Should display a message when a broken shaderpack is used. +alertBrokenPack = true +#Should fallback mode be used for non supported shaderpacks. +enableFallbackMode = false + diff --git a/config/crash_assistant/config.toml b/config/crash_assistant/config.toml index f928162af..d110c1492 100644 --- a/config/crash_assistant/config.toml +++ b/config/crash_assistant/config.toml @@ -8,7 +8,7 @@ #Anyways log will be uploaded to mclo.gs, but with this option you can wrap link to gnomebot.dev for better formatting. #If help_link equals 'CHANGE_ME', this value will be ignored and gnomebot.dev used. #Supported values: mclo.gs / gnomebot.dev - upload_to = "gnomebot.dev" + upload_to = "mclo.gs" #Show gui on minecraft crashed on modloading and FML error screen displayed. show_on_fml_error_screen = true #Close old CrashAssistantApp if it's still running when starting a new instance of Minecraft, to avoid confusing player with window from old crash. @@ -65,13 +65,13 @@ [text] #$CONFIG.text.support_name$ in lang files will be replaced with this value. #For example this placeHolder used in: "Request help in the $CONFIG.text.support_name$" - support_name = "TFG Github" + support_name = "TerraFirmaGreg-Github" #$CONFIG.text.support_place$ in lang files will be replaced with this value. support_place = "the text boxes after pressing the green New Issue button" #$CONFIG.text.modpack_name$ in lang files will be replaced with this value. #For example this placeHolder used in: "Oops, $CONFIG.text.modpack_name$ crashed!" #Supports Better Compatibility Checker integration. You can use $BCC.modpackName$, $BCC.modpackVersion$, etc and it will be replaced with value from BCC config. - modpack_name = "TerraFirmaGreg" + modpack_name = "TerraFirmaGreg-Modern" #Settings of message generated by Upload all button [generated_message] @@ -170,7 +170,7 @@ blacklisted_reasons = [] #Settings of analysis tools feature. -#Here you can enable disable showing some analysis tools fot end user. +#Here you can enable or disable showing some analysis tools for end user. [analysis_tools] #Enable feature. enabled = true diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 734dbc542..8c6d49e04 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1,8 +1,8 @@ { - "fmlloader-1.20.1-47.4.6.jar (modloader)": { - "jarName": "fmlloader-1.20.1-47.4.6.jar (modloader)", + "fmlloader-1.20.1-47.4.13.jar (modloader)": { + "jarName": "fmlloader-1.20.1-47.4.13.jar (modloader)", "modId": "forge", - "version": "fmlloader-1.20.1-47.4.6.jar" + "version": "fmlloader-1.20.1-47.4.13.jar" }, "[1.20.1-Forge] Additional Placements-2.3.1.jar": { "jarName": "[1.20.1-Forge] Additional Placements-2.3.1.jar", @@ -958,8 +958,8 @@ "jarName": "lmft-1.0.4+1.20.1-forge.jar", "modId": "lmft", "version": "1.0.4+1.20.1", - "curseForgeHash": 1956694745, - "modrinthHash": "e44a12eb51813b16faaab89b8073ec63c746c1b0" + "curseForgeHash": 3540923086, + "modrinthHash": "3c0dc40afb617ca2b5b2bbb4f7e831bd75009753" }, "lodestone-1.20.1-1.6.4.1.jar": { "jarName": "lodestone-1.20.1-1.6.4.1.jar", @@ -1031,12 +1031,12 @@ "curseForgeHash": 3074548209, "modrinthHash": "4069534174e618393f0c14d9dc61ac27a04bb992" }, - "moonlight-1.20-2.16.18-forge.jar": { - "jarName": "moonlight-1.20-2.16.18-forge.jar", + "moonlight-1.20-2.16.19-forge.jar": { + "jarName": "moonlight-1.20-2.16.19-forge.jar", "modId": "moonlight", - "version": "1.20-2.16.18", - "curseForgeHash": 4116986064, - "modrinthHash": "48dc8e4c200c487df69195fe503dc67493050b6b" + "version": "1.20-2.16.19", + "curseForgeHash": 2861614006, + "modrinthHash": "de55e348bdf3a3ac7520fde157654d615967f9b1" }, "morered-1.20.1-4.0.0.4.jar": { "jarName": "morered-1.20.1-4.0.0.4.jar", diff --git a/config/crash_assistant/problematic_mods_config.json b/config/crash_assistant/problematic_mods_config.json index 7a73a41bf..680dd9548 100644 --- a/config/crash_assistant/problematic_mods_config.json +++ b/config/crash_assistant/problematic_mods_config.json @@ -1,2 +1,6 @@ { + "example_modid": { + "msg": "Custom msg on crash for this mod id. You can use $JAR_NAME$ placeholder, which will be replaced with jar name. You can use HTML here, it will work.", + "should_crash_on_startup": true + } } \ No newline at end of file diff --git a/config/drippyloadingscreen/options.txt b/config/drippyloadingscreen/options.txt index 65c3a59cf..67ef67835 100644 --- a/config/drippyloadingscreen/options.txt +++ b/config/drippyloadingscreen/options.txt @@ -1,6 +1,49 @@ ##[general] B:early_fade_out_elements = 'true'; -B:fade_out_loading_screen = 'true'; B:allow_universal_layouts = 'false'; -B:wait_for_textures_in_loading = 'true'; \ No newline at end of file +B:fade_out_loading_screen = 'true'; +B:wait_for_textures_in_loading = 'true'; + + +##[early_loading] + +I:early_loading_top_right_watermark_position_offset_y = '0'; +I:early_loading_bottom_left_watermark_position_offset_x = '0'; +I:early_loading_bottom_left_watermark_position_offset_y = '0'; +B:early_loading_hide_logger = 'false'; +I:early_loading_bar_width = '400'; +I:early_loading_bar_position_offset_y = '50'; +I:early_loading_top_right_watermark_height = '100'; +S:early_loading_bottom_right_watermark_texture_path = '/config/fancymenu/assets/some_image.png'; +I:early_loading_top_right_watermark_position_offset_x = '0'; +S:early_loading_top_left_watermark_texture_path = '/config/fancymenu/assets/some_image.png'; +I:early_loading_bottom_right_watermark_height = '100'; +I:early_loading_bar_position_offset_x = '0'; +I:early_loading_logo_height = '120'; +I:early_loading_top_right_watermark_width = '100'; +I:early_loading_bottom_right_watermark_position_offset_y = '0'; +I:early_loading_window_height = '-1'; +S:early_loading_bar_progress_texture_path = '/config/fancymenu/assets/some_bar_progress_image.png'; +I:early_loading_bottom_right_watermark_position_offset_x = '0'; +S:early_loading_background_texture_path = '/config/fancymenu/assets/some_image.png'; +B:early_loading_background_preserve_aspect_ratio = 'true'; +I:early_loading_top_left_watermark_width = '100'; +B:early_loading_hide_logo = 'false'; +S:early_loading_bar_background_texture_path = '/config/fancymenu/assets/some_bar_background_image.png'; +S:early_loading_logo_texture_path = '/config/fancymenu/assets/some_image.png'; +S:early_loading_bottom_left_watermark_texture_path = '/config/fancymenu/assets/some_image.png'; +I:early_loading_top_left_watermark_position_offset_y = '0'; +I:early_loading_top_left_watermark_position_offset_x = '0'; +I:early_loading_logo_width = '480'; +S:early_loading_top_right_watermark_texture_path = '/config/fancymenu/assets/some_image.png'; +I:early_loading_bottom_left_watermark_width = '100'; +I:early_loading_bottom_right_watermark_width = '100'; +I:early_loading_bottom_left_watermark_height = '100'; +I:early_loading_bar_height = '40'; +S:early_loading_window_title = 'Minecraft'; +I:early_loading_top_left_watermark_height = '100'; +I:early_loading_window_width = '-1'; +I:early_loading_logo_position_offset_y = '-50'; +B:early_loading_hide_bar = 'false'; +I:early_loading_logo_position_offset_x = '0'; \ No newline at end of file diff --git a/config/everycomp-common.toml b/config/everycomp-common.toml index 073eb95ed..f6d3e07ee 100644 --- a/config/everycomp-common.toml +++ b/config/everycomp-common.toml @@ -12,6 +12,10 @@ generate_dynamic_assets = true #Allow the item_search or searchBar to be visible. tab_item_search = true + #If set to true, then all of the generated items will not be put into the mod's tab. + no_mod_creative_tab = false + #Generate blocktype tags for every block type. This will be applied to all the mods that use the system, not just Every Compat. It's currently off and Can make pack a bit faster. Turn on if you need it. + generate_blocktype_tags = false [general.tooltips] #Enabled tooltips showing which mod an EC item is from diff --git a/config/everycomp-hazardous.toml b/config/everycomp-hazardous.toml index 55a35bf79..c469e4378 100644 --- a/config/everycomp-hazardous.toml +++ b/config/everycomp-hazardous.toml @@ -12,6 +12,8 @@ # # Module - is a Supported Mod, just a modId is sufficient. # EntrySet - is a FurnitureType or DecorativeType that Wood-Good is supporting via the mod. it is either block or item. +# Wood-Mods - Biomes O' Plenty, The Twilight Forest, so on... +# Supported-Mods - The mods that EveryCompat is currently supporting # # NOTE: blacklisting a Module will be applied to Wood-Good, Stone-Zone, Gems-Realm # @@ -38,6 +40,7 @@ # "variantvanillablocks:chest", COMMENT: variantvanillablocks:oak_chest without "oak" # "chipped:.*" COMMENT: .* is an regex which will exclude all of EntrySets from one Module - Wood-Good ONLY # ] + # NOTE: This excluded one entryset from all WoodTypes/LeavesTypes # blacklist = [] @@ -50,3 +53,21 @@ # blacklist = [] +[block] + #Exclude a specific WoodType/LeavesType block + # This is only applied to Wood-Good. + # EXAMPLE: blacklist = [ + # "chipped/biomesoplenty/checkered_redwood_trapdoor", COMMENT: excluded a checkered_trapdoor from Chipped with Biomes-O'-Plenty's redwood + # "variantvanillablocks/biomesoplenty/fir_chest", COMMENT: excluded a chest from Variant-Vanilla-Blocks with Biomes-O'-Plenty's fir + # ".*/biomesoplenty/fir_chest", COMMENT: .* is an RegEx, so it exclude fir_chest from any Supported-Mods with just Biomes-O'-Plenty (Wood-Mods) + # "chipped/.*/fir_chest", COMMENT: .* is an RegEx, so it exclude fir_chest from any Wood-Mods with just chipped (Supported-Mod) + # ".*fir_chest", COMMENT: .* is an RegEx, so it exclude fir_chest from any Supported-Mods & Wood-Mods + # ] + # + blacklist = [] + +[other] + #Disable all of Supported Mods on EveryCompat's side. This feature is same as Library-Section which do not have any Wood Modules. + #WARNING: If the config between CLIENT & SERVER are not the same, then you won't able to join a server + include_all_wood_modules = true + diff --git a/config/extremesoundmuffler-client.toml b/config/extremesoundmuffler-client.toml new file mode 100644 index 000000000..bab3a17df --- /dev/null +++ b/config/extremesoundmuffler-client.toml @@ -0,0 +1,45 @@ + +#General settings +[general] + #Blacklisted Sounds - add the name of the sounds to blacklist, separated with comma + forbiddenSounds = ["ui.", "music.", "ambient."] + #Allow the "ALL" sounds list to include the blacklisted sounds? + lawfulAllList = false + #Volume set when pressed the mute button by default + #Range: 0.0 ~ 0.9 + defaultMuteVolume = 0.0 + #Set to true to move the muffle and play buttons to the left side of the GUI + leftButtons = false + #Show tips in the Muffler screen? + showTip = true + #Whether or not use the dark theme + useDarkTheme = false + +#Inventory button settings +[inventory_button] + #Disable the Muffle button in the player inventory? + disableInventoryButton = false + #Coordinates for the Muffler button in the player inventory. + # You can change this in game by holding the RMB over the button and draging it around + #Range: > -2147483648 + invButtonX = 75 + #Coordinates for the Muffler button in the player inventory. + #You can change this in game by holding the RMB over the button and draging it around + #Range: > -2147483648 + invButtonY = 7 + #Disable the Muffle button in the creative player inventory? + disableCreativeInventoryButton = false + #Coordinates for the Muffler button in the creative player inventory. + # You can change this in game by holding the RMB over the button and draging it around + #Range: > -2147483648 + creativeInvButtonX = 2 + #Coordinates for the Muffler button in the creative player inventory. + #You can change this in game by holding the RMB over the button and draging it around + #Range: > -2147483648 + creativeInvButtonY = 2 + +#Anchor settings +[Anchors] + #Disable the Anchors? + disableAnchors = false + diff --git a/config/fallingtrees_common.json b/config/fallingtrees_common.json index f8e545647..16e175457 100644 --- a/config/fallingtrees_common.json +++ b/config/fallingtrees_common.json @@ -1,126 +1,126 @@ { - "disableCrouchMining": false, - "disableExtraToolDamage": false, - "disableExtraFoodExhaustion": false, - "treeLifetimeLength": 4.0, - "dynamicMiningSpeed": { - "disable": false, - "speedMultiplication": 0.05, - "maxSpeedMultiplication": 16.0 + "disableCrouchMining": false, + "disableExtraToolDamage": false, + "disableExtraFoodExhaustion": false, + "treeLifetimeLength": 4.0, + "dynamicMiningSpeed": { + "disable": false, + "speedMultiplication": 0.05, + "maxSpeedMultiplication": 16.0 + }, + "trees": { + "standardTree": { + "algorithm": { + "maxLeavesRadius": 25, + "maxLogAmount": 512, + "shouldFallOnMaxLogAmount": true, + "shouldIgnorePersistentLeaves": true + }, + "logFilter": { + "whitelistedTags": [ + "minecraft:logs" + ], + "whitelist": [ + "minecraft:mushroom_stem", + "beneath:wood/log/crimson", + "beneath:wood/stripped_log/crimson", + "beneath:wood/wood/crimson", + "beneath:wood/stripped_wood/crimson", + "beneath:wood/log/warped", + "beneath:wood/stripped_log/warped", + "beneath:wood/wood/warped", + "beneath:wood/stripped_wood/warped", + "ad_astra:aeronos_stem", + "ad_astra:strophar_stem" + ], + "blacklist": [] + }, + "leavesFilter": { + "whitelistedTags": [ + "minecraft:leaves" + ], + "whitelist": [ + "minecraft:red_mushroom_block", + "minecraft:brown_mushroom_block", + "minecraft:shroomlight", + "species:alphacene_mushroom_block", + "species:alphacene_mushroom_growth", + "minecraft:nether_wart_block", + "minecraft:warped_wart_block", + "beneath:wood/leaves/crimson", + "beneath:wood/leaves/warped", + "ad_astra:aeronos_cap", + "ad_astra:strophar_cap" + ], + "blacklist": [] + }, + "extraBlockFilter": { + "whitelistedTags": [], + "whitelist": [ + "minecraft:vine", + "minecraft:bee_nest", + "minecraft:cocoa" + ], + "blacklist": [] + }, + "enabled": true, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [ + "minecraft:axes" + ], + "whitelist": [], + "blacklist": [] + } }, - "trees": { - "standardTree": { - "algorithm": { - "maxLeavesRadius": 25, - "maxLogAmount": 512, - "shouldFallOnMaxLogAmount": true, - "shouldIgnorePersistentLeaves": true - }, - "logFilter": { - "whitelistedTags": [ - "minecraft:logs" - ], - "whitelist": [ - "minecraft:mushroom_stem", - "beneath:wood/log/crimson", - "beneath:wood/stripped_log/crimson", - "beneath:wood/wood/crimson", - "beneath:wood/stripped_wood/crimson", - "beneath:wood/log/warped", - "beneath:wood/stripped_log/warped", - "beneath:wood/wood/warped", - "beneath:wood/stripped_wood/warped", - "ad_astra:aeronos_stem", - "ad_astra:strophar_stem" - ], - "blacklist": [] - }, - "leavesFilter": { - "whitelistedTags": [ - "minecraft:leaves" - ], - "whitelist": [ - "minecraft:red_mushroom_block", - "minecraft:brown_mushroom_block", - "minecraft:shroomlight", - "species:alphacene_mushroom_block", - "species:alphacene_mushroom_growth", - "minecraft:nether_wart_block", - "minecraft:warped_wart_block", - "beneath:wood/leaves/crimson", - "beneath:wood/leaves/warped", - "ad_astra:aeronos_cap", - "ad_astra:strophar_cap" - ], - "blacklist": [] - }, - "extraBlockFilter": { - "whitelistedTags": [], - "whitelist": [ - "minecraft:vine", - "minecraft:bee_nest", - "minecraft:cocoa" - ], - "blacklist": [] - }, - "enabled": true, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [ - "minecraft:axes" - ], - "whitelist": [], - "blacklist": [] - } - }, - "verticalTree": { - "filter": { - "whitelistedTags": [], - "whitelist": [ - "minecraft:cactus", - "minecraft:bamboo" - ], - "blacklist": [] - }, - "enabled": true, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [ - "minecraft:axes" - ], - "whitelist": [], - "blacklist": [] - } - }, - "chorusTree": { - "enabled": false, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [], - "whitelist": [ - "tfg:charred_log" - ], - "blacklist": [] - } - }, - "mushroomTree": { - "stemFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - }, - "capFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - }, - "enabled": true, - "onlyFallWithRequiredTool": false, - "allowedToolFilter": { - "whitelistedTags": [], - "whitelist": [], - "blacklist": [] - } - } + "verticalTree": { + "filter": { + "whitelistedTags": [], + "whitelist": [ + "minecraft:cactus", + "minecraft:bamboo" + ], + "blacklist": [] + }, + "enabled": true, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [ + "minecraft:axes" + ], + "whitelist": [], + "blacklist": [] + } + }, + "chorusTree": { + "enabled": false, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [], + "whitelist": [ + "tfg:charred_log" + ], + "blacklist": [] + } + }, + "mushroomTree": { + "stemFilter": { + "whitelistedTags": [], + "whitelist": [], + "blacklist": [] + }, + "capFilter": { + "whitelistedTags": [], + "whitelist": [], + "blacklist": [] + }, + "enabled": true, + "onlyFallWithRequiredTool": false, + "allowedToolFilter": { + "whitelistedTags": [], + "whitelist": [], + "blacklist": [] + } } + } } \ No newline at end of file diff --git a/config/fancymenu/options.txt b/config/fancymenu/options.txt index 00ba655f9..12de0eee3 100644 --- a/config/fancymenu/options.txt +++ b/config/fancymenu/options.txt @@ -1,8 +1,8 @@ ##[general] +B:force_fullscreen = 'false'; I:default_gui_scale = '-1'; B:play_vanilla_menu_music = 'true'; -B:force_fullscreen = 'false'; ##[customization] @@ -15,19 +15,19 @@ B:advanced_customization_mode = 'false'; ##[loading] S:preload_resources = '[cubic_panorama]beneath%!source_end!%[slideshow]new_loading_screen%!source_end!%'; -S:custom_game_intro_skip_text = ''; B:allow_game_intro_skip = 'true'; S:game_intro_animation_name = ''; B:game_intro_fade_out = 'true'; +S:custom_game_intro_skip_text = ''; ##[window] +S:custom_window_icon_16 = '/config/fancymenu/assets/icons/icon16x16.png'; B:show_custom_window_icon = 'true'; S:custom_window_icon_macos = '/config/fancymenu/assets/icons/macOS.icns'; S:custom_window_icon_32 = '/config/fancymenu/assets/icons/icon32x32.png'; S:custom_window_title = 'TerraFirmaGreg-Modern'; -S:custom_window_icon_16 = '/config/fancymenu/assets/icons/icon16x16.png'; ##[multiplayer_screen] @@ -45,36 +45,38 @@ B:show_singleplayer_screen_world_icons = 'true'; B:layout_editor_grid_snapping = 'true'; B:anchor_overlay_change_anchor_on_area_hover = 'true'; B:show_layout_editor_grid = 'true'; +S:anchor_overlay_color_base_override = ''; +B:enable_element_rotation_controls = 'true'; +F:anchor_overlay_opacity_normal = '0.5'; +F:anchor_overlay_opacity_busy = '0.7'; +D:anchor_overlay_hover_charging_time_seconds = '2.0'; B:anchor_overlay_change_anchor_on_element_hover = 'true'; S:anchor_overlay_visibility_mode = 'dragging'; B:anchor_overlay_show_all_connection_lines = 'false'; F:layout_editor_grid_snapping_strength = '1.0'; -S:anchor_overlay_color_base_override = ''; I:layout_editor_grid_size = '10'; B:invert_anchor_overlay_color = 'false'; B:enable_buddy = 'true'; S:anchor_overlay_color_border_override = ''; -F:anchor_overlay_opacity_normal = '0.5'; -F:anchor_overlay_opacity_busy = '0.7'; -D:anchor_overlay_hover_charging_time_seconds = '2.0'; +B:enable_element_tilting_controls = 'true'; ##[ui] -I:context_menu_hover_open_speed = '1'; -S:ui_theme = 'dark'; F:ui_scale = '4.0'; B:play_ui_click_sounds = 'true'; B:enable_ui_text_shadow = 'false'; +I:context_menu_hover_open_speed = '1'; +S:ui_theme = 'dark'; ##[debug_overlay] B:debug_overlay_show_basic_screen_category = 'true'; -B:debug_overlay_show_system_category = 'true'; -B:debug_overlay_show_advanced_screen_category = 'true'; B:show_debug_overlay = 'false'; B:debug_overlay_show_resources_category = 'true'; +B:debug_overlay_show_system_category = 'true'; +B:debug_overlay_show_advanced_screen_category = 'true'; ##[tutorial] diff --git a/config/fancymenu/ui_themes/dark.json b/config/fancymenu/ui_themes/dark.json index 9ad7950f4..67b5605f4 100644 --- a/config/fancymenu/ui_themes/dark.json +++ b/config/fancymenu/ui_themes/dark.json @@ -19,9 +19,24 @@ "layout_editor_element_border_color_selected": { "hex": "#03DBFCFF" }, + "layout_editor_element_border_rotation_controls_color": { + "hex": "#9E2BFFFF" + }, + "layout_editor_element_border_vertical_tilting_controls_color": { + "hex": "#FFB52BFF" + }, + "layout_editor_element_border_horizontal_tilting_controls_color": { + "hex": "#91FF2BFF" + }, "layout_editor_element_dragging_not_allowed_color": { "hex": "#E83609C8" }, + "layout_editor_element_border_display_line_background_color": { + "hex": "#00000080" + }, + "layout_editor_element_border_display_line_text_color": { + "hex": "#FFFFFFFF" + }, "layout_editor_anchor_point_overlay_color_base": { "hex": "#25B479FF" }, @@ -76,6 +91,72 @@ "list_entry_color_selected_hovered": { "hex": "#323232FF" }, + "actions_entry_background_color_action": { + "hex": "#3A3F44FF" + }, + "actions_entry_background_color_action_hover": { + "hex": "#44494EFF" + }, + "actions_entry_background_color_if": { + "hex": "#263F55FF" + }, + "actions_entry_background_color_if_hover": { + "hex": "#2D516EFF" + }, + "actions_entry_background_color_else_if": { + "hex": "#392D4FFF" + }, + "actions_entry_background_color_else_if_hover": { + "hex": "#463A5FFF" + }, + "actions_entry_background_color_else": { + "hex": "#4E3721FF" + }, + "actions_entry_background_color_else_hover": { + "hex": "#5F462DFF" + }, + "actions_entry_background_color_while": { + "hex": "#234A42FF" + }, + "actions_entry_background_color_while_hover": { + "hex": "#2D5C52FF" + }, + "actions_entry_background_color_folder": { + "hex": "#50303CFF" + }, + "actions_entry_background_color_folder_hover": { + "hex": "#613E4DFF" + }, + "actions_entry_background_color_generic_block": { + "hex": "#3A3B3EFF" + }, + "actions_entry_background_color_generic_block_hover": { + "hex": "#47484CFF" + }, + "actions_chain_indicator_color": { + "hex": "#587096B4" + }, + "actions_chain_indicator_hovered_color": { + "hex": "#64B5F6D2" + }, + "actions_chain_indicator_selected_color": { + "hex": "#FFC147DC" + }, + "actions_minimap_background_color": { + "hex": "#181B20C8" + }, + "actions_minimap_border_color": { + "hex": "#5E636CDC" + }, + "actions_minimap_viewport_color": { + "hex": "#FFFFFF23" + }, + "actions_minimap_viewport_border_color": { + "hex": "#D2DEFF64" + }, + "actions_minimap_tooltip_border_color": { + "hex": "#78AADCDC" + }, "text_editor_sidebar_color": { "hex": "#313335FF" }, diff --git a/config/fancymenu/ui_themes/light.json b/config/fancymenu/ui_themes/light.json index 4c56d55cf..6971d4415 100644 --- a/config/fancymenu/ui_themes/light.json +++ b/config/fancymenu/ui_themes/light.json @@ -19,9 +19,24 @@ "layout_editor_element_border_color_selected": { "hex": "#03DBFCFF" }, + "layout_editor_element_border_rotation_controls_color": { + "hex": "#9E2BFFFF" + }, + "layout_editor_element_border_vertical_tilting_controls_color": { + "hex": "#FFB52BFF" + }, + "layout_editor_element_border_horizontal_tilting_controls_color": { + "hex": "#91FF2BFF" + }, "layout_editor_element_dragging_not_allowed_color": { "hex": "#E83609C8" }, + "layout_editor_element_border_display_line_background_color": { + "hex": "#00000080" + }, + "layout_editor_element_border_display_line_text_color": { + "hex": "#FFFFFFFF" + }, "layout_editor_anchor_point_overlay_color_base": { "hex": "#25B479FF" }, @@ -76,6 +91,72 @@ "list_entry_color_selected_hovered": { "hex": "#AFAFAFFF" }, + "actions_entry_background_color_action": { + "hex": "#E0E0E0FF" + }, + "actions_entry_background_color_action_hover": { + "hex": "#CECECEFF" + }, + "actions_entry_background_color_if": { + "hex": "#C9DBEFFF" + }, + "actions_entry_background_color_if_hover": { + "hex": "#B8CEE8FF" + }, + "actions_entry_background_color_else_if": { + "hex": "#E9D7F0FF" + }, + "actions_entry_background_color_else_if_hover": { + "hex": "#D8C6E3FF" + }, + "actions_entry_background_color_else": { + "hex": "#F3E1C7FF" + }, + "actions_entry_background_color_else_hover": { + "hex": "#E5D1B6FF" + }, + "actions_entry_background_color_while": { + "hex": "#CCEBE3FF" + }, + "actions_entry_background_color_while_hover": { + "hex": "#BCDED4FF" + }, + "actions_entry_background_color_folder": { + "hex": "#F2D5DBFF" + }, + "actions_entry_background_color_folder_hover": { + "hex": "#E6C7CEFF" + }, + "actions_entry_background_color_generic_block": { + "hex": "#E5E5E5FF" + }, + "actions_entry_background_color_generic_block_hover": { + "hex": "#D2D2D2FF" + }, + "actions_chain_indicator_color": { + "hex": "#8CAAD296" + }, + "actions_chain_indicator_hovered_color": { + "hex": "#6895D7BE" + }, + "actions_chain_indicator_selected_color": { + "hex": "#DCA236D2" + }, + "actions_minimap_background_color": { + "hex": "#ECECECC8" + }, + "actions_minimap_border_color": { + "hex": "#ACACACDC" + }, + "actions_minimap_viewport_color": { + "hex": "#5050503C" + }, + "actions_minimap_viewport_border_color": { + "hex": "#D2DEFF64" + }, + "actions_minimap_tooltip_border_color": { + "hex": "#78AADCDC" + }, "text_editor_sidebar_color": { "hex": "#A4A4A4FF" }, diff --git a/config/ftbbackups2.json b/config/ftbbackups2.json index 32efe057c..bedb47018 100644 --- a/config/ftbbackups2.json +++ b/config/ftbbackups2.json @@ -27,7 +27,7 @@ More info here (http://www.cronmaker.com) */ - "backup_cron": "0 0 0/1 1/1 * ? *", + "backup_cron": "0 15 10 * * ? *", // Time between manual backups using the command "manual_backups_time": 0, // Only run a backup if a player has been online since the last backup @@ -52,9 +52,9 @@ // Specify the backup format. Valid options are ZIP and DIRECTORY "backup_format": "ZIP", // Minimum free disk space in MB. If a backup's creation would leave less than this amount of disk space remaining, the backup will be aborted. - "minimum_free_space": 0, + "minimum_free_space": 51200, // If the previous backup failed due to lack of space, the oldest backup will be deleted to free space. - "free_space_if_needed": false, + "free_space_if_needed": true, /* Specify files or folders to be excluded. Can specify a file name, path relative to server directory or wildcard file path Examples: (All file paths are relative to server root) diff --git a/config/ihearttfc-client.toml b/config/ihearttfc-client.toml new file mode 100644 index 000000000..8d328eea6 --- /dev/null +++ b/config/ihearttfc-client.toml @@ -0,0 +1,13 @@ +#Renders partial hearts when your health total is not evenly divisible into heart values. +renderPartialHearts = true +#Uses 5x5 hearts instead of the vanilla 9x9, with a value of 25 each instead of 100. Will show a more precise total health value when partial hearts are turned off. +useSmallHearts = false +#Uses empty droplets for the thirst bar instead of puddles. +useEmptyDroplets = false +#Display saturation on the hunger bar like the popular mod "Appleskin". +displayAppleskinLikeSaturation = true +#Use pictographic half-eaten food for food icons instead of just cutting the full food image in half. +useHalfEatenFood = true +#Use the space that is normally taken up by the experience bar to show the current temperature. Overrides the TFC experience bar config. +showTemperatureInsteadOfExperience = true + diff --git a/config/immersive_aircraft.json b/config/immersive_aircraft.json index 67ff523d1..e6ba1c420 100644 --- a/config/immersive_aircraft.json +++ b/config/immersive_aircraft.json @@ -1,75 +1,75 @@ { - "enableDropsForNonPlayer": true, - "enableCrashExplosion": true, - "enableCrashBlockDestruction": false, - "enableCrashFire": false, - "crashExplosionRadius": 2.0, - "crashDamage": 2.0, - "preventKillThroughCrash": true, - "healthBarRow": 0, - "damagePerHealthPoint": 30, - "separateCamera": true, - "useThirdPersonByDefault": true, - "enableTrails": true, - "renderDistance": 192.0, - "fuelConsumption": 1.0, - "windClearWeather": 1.0, - "windRainWeather": 3.0, - "windThunderWeather": 3.0, - "repairSpeed": 0.025, - "repairExhaustion": 0.5, - "collisionDamage": true, - "collisionDamageMultiplier": 40.0, - "burnFuelInCreative": false, - "acceptVanillaFuel": true, - "useCustomKeybindSystem": true, - "showHotbarEngineGauge": true, - "weaponsAreDestructive": false, - "dropAircraft": true, - "dropInventory": true, - "dropUpgrades": false, - "regenerateHealthEveryNTicks": 0, - "requireShiftForRepair": false, - "bombBayEntity": { - "minecraft:egg": "tfc:chicken" - }, - "rotaryCannonDamage": 5.0, - "heavyCrossBowVelocity": 3.0, - "fuelList": { - "minecraft:blaze_powder": 1200, - "gtceu:coke_gem": 1200, - "beneath:cursecoal": 1200 - }, - "validDimensions": { - "minecraft:the_end": true, - "minecraft:the_nether": true, - "minecraft:overworld": true, - "ad_astra:earth_orbit": false, - "ad_astra:moon": false, - "ad_astra:moon_orbit": false, - "ad_astra:mars": false, - "ad_astra:mars_orbit": false, - "ad_astra:venus": true, - "ad_astra:venus_orbit": false, - "ad_astra:mercury": false, - "ad_astra:mercury_orbit": false, - "ad_astra:glacio": false, - "ad_astra:glacio_orbit": false - }, - "gunpowderAmmunition": { - "minecraft:gunpowder": 100 - }, - "arrowAmmunition": { - "minecraft:arrow": 100, - "minecraft:spectral_arrow": 100, - "minecraft:tipped_arrow": 100 - }, - "bombBayAmmunition": { - "minecraft:tnt": 100, - "gtceu:powderbarrel": 80, - "gtceu:industrial_tnt": 50, - "gtceu:dynamite": 200 - }, - "version": 1, - "name": "immersive_aircraft" + "enableDropsForNonPlayer": true, + "enableCrashExplosion": true, + "enableCrashBlockDestruction": false, + "enableCrashFire": false, + "crashExplosionRadius": 2.0, + "crashDamage": 2.0, + "preventKillThroughCrash": true, + "healthBarRow": 0, + "damagePerHealthPoint": 30, + "separateCamera": true, + "useThirdPersonByDefault": true, + "enableTrails": true, + "renderDistance": 192.0, + "fuelConsumption": 1.0, + "windClearWeather": 1.0, + "windRainWeather": 3.0, + "windThunderWeather": 3.0, + "repairSpeed": 0.025, + "repairExhaustion": 0.5, + "collisionDamage": true, + "collisionDamageMultiplier": 40.0, + "burnFuelInCreative": false, + "acceptVanillaFuel": true, + "useCustomKeybindSystem": true, + "showHotbarEngineGauge": true, + "weaponsAreDestructive": false, + "dropAircraft": true, + "dropInventory": true, + "dropUpgrades": false, + "regenerateHealthEveryNTicks": 0, + "requireShiftForRepair": false, + "bombBayEntity": { + "minecraft:egg": "tfc:chicken" + }, + "rotaryCannonDamage": 5.0, + "heavyCrossBowVelocity": 3.0, + "fuelList": { + "minecraft:blaze_powder": 1200, + "gtceu:coke_gem": 1200, + "beneath:cursecoal": 1200 + }, + "validDimensions": { + "minecraft:the_end": true, + "minecraft:the_nether": true, + "minecraft:overworld": true, + "ad_astra:earth_orbit": false, + "ad_astra:moon": false, + "ad_astra:moon_orbit": false, + "ad_astra:mars": false, + "ad_astra:mars_orbit": false, + "ad_astra:venus": true, + "ad_astra:venus_orbit": false, + "ad_astra:mercury": false, + "ad_astra:mercury_orbit": false, + "ad_astra:glacio": false, + "ad_astra:glacio_orbit": false + }, + "gunpowderAmmunition": { + "minecraft:gunpowder": 100 + }, + "arrowAmmunition": { + "minecraft:arrow": 100, + "minecraft:spectral_arrow": 100, + "minecraft:tipped_arrow": 100 + }, + "bombBayAmmunition": { + "minecraft:tnt": 100, + "gtceu:powderbarrel": 80, + "gtceu:industrial_tnt": 50, + "gtceu:dynamite": 200 + }, + "version": 1, + "name": "immersive_aircraft" } \ No newline at end of file diff --git a/config/immersive_optimization.json b/config/immersive_optimization.json index 8f8728a8c..4597219e1 100644 --- a/config/immersive_optimization.json +++ b/config/immersive_optimization.json @@ -1,43 +1,43 @@ { - "_documentation": "https://github.com/Luke100000/ImmersiveOptimization/wiki", - "enableEntities": true, - "enableBlockEntities": true, - "enableDistanceCulling": true, - "enableTrackingCulling": true, - "enableViewportCulling": true, - "minDistance": 6, - "blocksPerLevel": 64, - "blocksPerLevelDistanceCulled": 10, - "blocksPerLevelTrackingCulled": 10, - "blocksPerLevelViewportCulled": 20, - "maxLevel": 20, - "blocksPerLevelBlockEntities": 32, - "entityTickBudget": 30.0, - "stressedThreshold": 45, - "dimensions": { - "minecraft:overworld": true, - "minecraft:the_nether": true, - "minecraft:the_end": true, - "ad_astra:earth_orbit": true, - "ad_astra:moon": true, - "ad_astra:moon_orbit": true, - "ad_astra:mars": true, - "ad_astra:mars_orbit": true, - "ad_astra:venus": true, - "ad_astra:venus_orbit": true, - "ad_astra:mercury": true, - "ad_astra:mercury_orbit": true, - "ad_astra:glacio": true, - "ad_astra:glacio_orbit": true - }, - "entities": { - "fromanotherworld:starship": false, - "minecraft:player": false, - "minecraft:arrow": false, - "create": false, - "minecraft:ender_dragon": false, - "sandworm_mod": false - }, - "version": 2, - "name": "immersive_optimization" + "_documentation": "https://github.com/Luke100000/ImmersiveOptimization/wiki", + "enableEntities": true, + "enableBlockEntities": true, + "enableDistanceCulling": true, + "enableTrackingCulling": true, + "enableViewportCulling": true, + "minDistance": 6, + "blocksPerLevel": 64, + "blocksPerLevelDistanceCulled": 10, + "blocksPerLevelTrackingCulled": 10, + "blocksPerLevelViewportCulled": 20, + "maxLevel": 20, + "blocksPerLevelBlockEntities": 32, + "stressedThreshold": 45, + "minDecreaseFactor": 0.25, + "dimensions": { + "minecraft:overworld": true, + "minecraft:the_nether": true, + "minecraft:the_end": true, + "ad_astra:earth_orbit": true, + "ad_astra:moon": true, + "ad_astra:moon_orbit": true, + "ad_astra:mars": true, + "ad_astra:mars_orbit": true, + "ad_astra:venus": true, + "ad_astra:venus_orbit": true, + "ad_astra:mercury": true, + "ad_astra:mercury_orbit": true, + "ad_astra:glacio": true, + "ad_astra:glacio_orbit": true + }, + "entities": { + "fromanotherworld:starship": false, + "minecraft:player": false, + "minecraft:arrow": false, + "create": false, + "minecraft:ender_dragon": false, + "sandworm_mod": false + }, + "version": 2, + "name": "immersive_optimization" } \ No newline at end of file diff --git a/config/jade/plugins.json b/config/jade/plugins.json index a11eac63b..e440742bb 100644 --- a/config/jade/plugins.json +++ b/config/jade/plugins.json @@ -54,9 +54,6 @@ "painting": true, "chiseled_bookshelf": true }, - "greate": { - "belt_icon": true - }, "jadeaddons.create": { "filter": true, "backtank_capacity": true, @@ -90,7 +87,8 @@ "stained_color": true, "hazard_cleaner_provider": true, "cable_info": true, - "parallel_info": true + "parallel_info": true, + "data_bank": true }, "jade": { "coordinates.rel": false, @@ -155,6 +153,7 @@ "sapling": true, "rabbit": true, "composter": true, + "surfer": true, "decaying": true, "wall_torch": true, "windmill": true, @@ -193,9 +192,14 @@ "candle": true, "jack_o_lantern": true, "firepit": true, + "soarer": true, "wet_concrete": true, "ingot_pile": true }, + "deafission": { + "reactor": true, + "battery": true + }, "firmaciv": { "tfc_chest": true, "barrel": true diff --git a/config/jade/sort-order.json b/config/jade/sort-order.json index 7676c82ec..7956abee5 100644 --- a/config/jade/sort-order.json +++ b/config/jade/sort-order.json @@ -28,6 +28,8 @@ "create:goggles": null, "create:hide_boiler_tanks": null, "create:placard": null, + "deafission:battery": null, + "deafission:reactor": null, "expatternprovider:jade_chamber": null, "expatternprovider:jade_wireless": null, "expatternprovider:tile_data": null, @@ -69,6 +71,7 @@ "gtceu:controllable_provider": null, "gtceu:custom_fluid_storage": null, "gtceu:custom_item_storage": null, + "gtceu:data_bank": null, "gtceu:electric_container_provider": null, "gtceu:energy_converter_provider": null, "gtceu:exhaust_vent_info": null, @@ -193,7 +196,9 @@ "tfc:rabbit": null, "tfc:sapling": null, "tfc:sheet_pile": null, + "tfc:soarer": null, "tfc:squid": null, + "tfc:surfer": null, "tfc:torch": null, "tfc:wall_torch": null, "tfc:water_wheel": null, diff --git a/config/lithostitched.json b/config/lithostitched.json new file mode 100644 index 000000000..65a3b5519 --- /dev/null +++ b/config/lithostitched.json @@ -0,0 +1,8 @@ +{ + // If disabled, some mod compat features will be turned off to prioritize parity with vanilla seeds. + // The following features will break if disabled: + // - Custom wood type shipwrecks + // - Structure optimizations + "breaks_seed_parity": true, + "log_debug_messages": false +} \ No newline at end of file diff --git a/config/lootr-common.toml b/config/lootr-common.toml index 7fc827ea7..5ed06f7af 100644 --- a/config/lootr-common.toml +++ b/config/lootr-common.toml @@ -84,4 +84,6 @@ refresh_structures = [] refresh_all = false #if true, all block entities will be checked before being added to the ticker for an eligible loot table. enable this if a huge quantity of containers are clogging the conversion system; note that aggressive mode may prevent certain chests from properly converted even though eligible aggressive_mode = false +#allows players to open Lootr containers within spawn protection areas +bypass_spawn_protection = true diff --git a/config/modernfix-mixins.properties b/config/modernfix-mixins.properties index 0a656c7f5..f516e79ff 100644 --- a/config/modernfix-mixins.properties +++ b/config/modernfix-mixins.properties @@ -50,6 +50,7 @@ # mixin.feature.spark_profile_launch=false # (default) # mixin.feature.spark_profile_world_join=false # (default) # mixin.feature.stalled_chunk_load_detection=false # (default) +# mixin.feature.suppress_narrator_stacktrace=true # (default) # mixin.feature.warn_missing_perf_mods=true # (default) # mixin.launch.class_search_cache=true # (default) # mixin.perf.blast_search_trees=true # (default) @@ -62,6 +63,7 @@ # mixin.perf.chunk_meshing=true # (default) # mixin.perf.clear_mixin_classinfo=false # (default) # mixin.perf.compact_bit_storage=true # (default) +# mixin.perf.compact_mojang_registries=true # (default) # mixin.perf.compress_unihex_font=true # (default) # mixin.perf.datapack_reload_exceptions=true # (default) # mixin.perf.dedicated_reload_executor=true # (default) @@ -74,7 +76,6 @@ # mixin.perf.dynamic_resources.ctm=true # (default) # mixin.perf.dynamic_resources.ldlib=true # (default) # mixin.perf.dynamic_resources.supermartijncore=true # (default) -# mixin.perf.dynamic_sounds=true # (default) # mixin.perf.dynamic_structure_manager=true # (default) # mixin.perf.fast_forge_dummies=true # (default) # mixin.perf.fast_registry_validation=true # (default) @@ -97,19 +98,19 @@ # mixin.perf.reduce_blockstate_cache_rebuilds=true # (default) # mixin.perf.remove_biome_temperature_cache=true # (default) # mixin.perf.remove_spawn_chunks=false # (default) +# mixin.perf.resourcefullib_highlight_deduplication=true # (default) # mixin.perf.resourcepacks=true # (default) # mixin.perf.smart_ingredient_sync=true # (default) # mixin.perf.state_definition_construct=true # (default) # mixin.perf.tag_id_caching=true # (default) # mixin.perf.thread_priorities=false # (overridden for mod compat) # mixin.perf.ticking_chunk_alloc=true # (default) -# mixin.perf.worldgen_allocation=false # (default) +# mixin.perf.worldgen_allocation=true # (default) # mixin.safety=true # (default) # # User overrides go here. mixin.bugfix.packet_leak=true mixin.feature.disable_unihex_font=true -mixin.feature.spark_profile_launch=false mixin.perf.clear_mixin_classinfo=true mixin.perf.deduplicate_location=true mixin.perf.dynamic_entity_renderers=true @@ -117,4 +118,3 @@ mixin.perf.dynamic_resources=true mixin.perf.faster_item_rendering=true mixin.perf.remove_spawn_chunks=true mixin.perf.smart_ingredient_sync=false -mixin.perf.worldgen_allocation=true diff --git a/config/moonlight-common.toml b/config/moonlight-common.toml index 0dbf52d84..eba15ddf6 100644 --- a/config/moonlight-common.toml +++ b/config/moonlight-common.toml @@ -6,4 +6,6 @@ extra_debug = false #Enable this will list each BlockTypes' Children. The List of BlockTypes' children will be also in the same file via EXTRA_DEBUG. NOTE: To enable this, EXTRA_DEBUG must be enabled, too. extra_children_debug = false + #Global datapack folder. A folder where you can store and load datapacks for all your worlds automatically. Set to empty string to disable + global_datapacks_folder = "moonlight-global-datapacks" diff --git a/config/packetfixer.properties b/config/packetfixer.properties index bf2f88ce1..78648fc50 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,7 +1,7 @@ #Packet Fixer config file. #Default values (minecraft default): nbtMaxSize 2097152, packetSize 1048576, decoderSize 8388608 and varInt21Size 3. #Max values are 2147483647 for packetSize/decoderSize/varInt21 and 9223372036854775807 for nbtMaxSize. -#Sat Jul 19 21:52:19 YEKT 2025 +#Tue Dec 30 17:41:22 YEKT 2025 utfSize=3276700 allSizesUnlimited=true forceUnlimitedNbtEnabled=false diff --git a/config/railways-client.toml b/config/railways-client.toml index 36b4db25d..41aea197a 100644 --- a/config/railways-client.toml +++ b/config/railways-client.toml @@ -64,17 +64,3 @@ #Spawn steam on an interval spawnSteam = false - #. - #Journeymap Settings - [client.journeymap] - #. - #[in Ticks] - #Journeymap train overlay update time - #Range: 1 ~ 600 - updateRate = 1 - #. - #[in Ticks] - #Journeymap train overlay old marker removal check time - #Range: 10 ~ 1200 - removeObsoleteRate = 200 - diff --git a/config/shouldersurfing-client.toml b/config/shouldersurfing-client.toml new file mode 100644 index 000000000..c5d5ec178 --- /dev/null +++ b/config/shouldersurfing-client.toml @@ -0,0 +1,340 @@ + +[camera] + #The distance multiplier on whether or not to hide the player model if the camera gets too close to it. Set to 0 to disable. + #Range: 0.0 ~ 1.7976931348623157E308 + keep_camera_out_of_head_distance_multiplier = 0.75 + #Size of the camera adjustment per step. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + camera_step_size = 0.025 + #The speed multiplier at which the camera transitions between positions. + #Range: 0.05 ~ 1.0 + camera_transition_speed_multiplier = 0.25 + #The angle at which the camera will be centered when looking down. Set to 0 to disable. + #Range: 0.0 ~ 90.0 + center_camera_when_looking_down_angle = 1.0 + #Whether or not to dynamically adjust camera offsets depending on space constraints. + dynamically_adjust_offsets = true + #Whether or not to decouple the camera rotation from the player rotation. + decoupled_camera = true + #Whether or not to orient the camera rotation when the player is teleported. This includes passenger (dis-)mounting and traveling through portals. + orient_camera_on_teleport = true + #Whether or not to apply the FOV override when in shoulder surfing perspective. + fov_override_enabled = false + #The camera FOV when in shoulder surfing perspective. Depends on config option 'fov_override_enabled'. + #Range: 30.0 ~ 110.0 + fov_override = 70.0 + #Whether to apply view bobbing in shoulder surfing perspective. Set to INHERIT to inherit vanilla setting. + #Allowed Values: INHERIT, ON, OFF + view_bobbing_mode = "INHERIT" + + [camera.offset] + #Third person camera x-offset. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + offset_x = -0.75 + #Third person camera y-offset. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + offset_y = 0.0 + #Third person camera z-offset. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + offset_z = 4.0 + + [camera.offset.presets] + #A list of x-offset presets that can be toggled via the 'Toggle X-Offset Presets' keybind. WARNING: Duplicate entries can result in undefined behavior! + presets_offset_x = [] + #A list of y-offset presets that can be toggled via the 'Toggle Y-Offset Presets' keybind. WARNING: Duplicate entries can result in undefined behavior! + presets_offset_y = [] + #A list of z-offset presets that can be toggled via the 'Toggle Z-Offset Presets' keybind. WARNING: Duplicate entries can result in undefined behavior! + presets_offset_z = [] + + [camera.offset.min] + #When x-offset is limited this is the minimum amount. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + min_offset_x = -3.0 + #When y-offset is limited this is the minimum amount. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + min_offset_y = -1.0 + #When z-offset is limited this is the minimum amount. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + min_offset_z = -3.0 + + [camera.offset.max] + #When x-offset is limited this is the maximum amount. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + max_offset_x = 3.0 + #When y-offset is limited this is the maximum amount. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + max_offset_y = 1.5 + #When z-offset is limited this is the maximum amount. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + max_offset_z = 5.0 + + [camera.offset.limits] + #Whether or not x-offset adjustment has limits. + unlimited_offset_x = false + #Whether or not y-offset adjustment has limits. + unlimited_offset_y = false + #Whether or not z-offset adjustment has limits. + unlimited_offset_z = false + + [camera.offset.multiplier] + + [camera.offset.multiplier.passenger] + #x-offset multiplier for when the player is a passenger. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_x = 1.0 + #y-offset multiplier for when the player is a passenger. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_y = 1.0 + #z-offset multiplier for when the player is a passenger. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_z = 1.0 + + [camera.offset.multiplier.sprint] + #x-offset multiplier for when the player is sprinting. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_x = 1.0 + #y-offset multiplier for when the player is sprinting. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_y = 1.0 + #z-offset multiplier for when the player is sprinting. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_z = 1.0 + + [camera.offset.multiplier.aiming] + #x-offset multiplier for when the player is aiming. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_x = 1.0 + #y-offset multiplier for when the player is aiming. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_y = 1.0 + #z-offset multiplier for when the player is aiming. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_z = 1.0 + + [camera.offset.multiplier.fall_flying] + #x-offset multiplier for when using Elytra. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_x = 1.0 + #y-offset multiplier for when using Elytra. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_y = 1.0 + #z-offset multiplier for when using Elytra. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_z = 1.0 + + [camera.offset.multiplier.climbing] + #x-offset multiplier for when the player is climbing. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_x = 0.0 + #y-offset multiplier for when the player is climbing. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_y = 1.0 + #z-offset multiplier for when the player is climbing. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + multiplier_offset_z = 1.0 + + [camera.offset.modifiers] + + [camera.offset.modifiers.passenger] + #x-offset modifier for when the player is a passenger. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_x = 0.0 + #y-offset modifier for when the player is a passenger. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_y = 0.0 + #z-offset modifier for when the player is a passenger. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_z = 0.0 + + [camera.offset.modifiers.sprint] + #x-offset modifier for when the player is sprinting. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_x = 0.0 + #y-offset modifier for when the player is sprinting. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_y = 0.0 + #z-offset modifier for when the player is sprinting. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_z = 0.0 + + [camera.offset.modifiers.aiming] + #x-offset modifier for when the player is aiming. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_x = 0.0 + #y-offset modifier for when the player is aiming. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_y = 0.0 + #z-offset modifier for when the player is aiming. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_z = 0.0 + + [camera.offset.modifiers.fall_flying] + #x-offset modifier for when using Elytra. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_x = 0.0 + #y-offset modifier for when using Elytra. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_y = 0.0 + #z-offset modifier for when using Elytra. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_z = 0.0 + + [camera.offset.modifiers.climbing] + #x-offset modifier for when the player is climbing. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_x = 0.0 + #y-offset modifier for when the player is climbing. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_y = 0.0 + #z-offset modifier for when the player is climbing. + #Range: -1.7976931348623157E308 ~ 1.7976931348623157E308 + modifier_offset_z = 0.0 + + [camera.camera_drag] + #x-axis multiplier for camera drag. + #Range: 0.0 ~ 5.0 + multiplier_axis_x = 0.0 + #y-axis multiplier for camera drag. + #Range: 0.0 ~ 5.0 + multiplier_axis_y = 0.0 + #z-axis multiplier for camera drag. + #Range: 0.0 ~ 5.0 + multiplier_axis_z = 0.0 + + [camera.camera_sway] + #The maximum x-axis angle in degrees. Set to 0 to disable. + #Range: -30.0 ~ 30.0 + max_angle_axis_x = 0.0 + #The maximum x-axis angle in degrees. Set to 0 to disable. + #Range: -30.0 ~ 30.0 + max_angle_axis_z = 0.0 + #The velocity of the player in blocks per second, where the maximum camera x-axis sway is applied. + #Range: 0.05 ~ 1000.0 + max_velocity_axis_x = 5.0 + #The velocity of the player in blocks per second, where the maximum camera z-axis sway is applied. + #Range: 0.05 ~ 1000.0 + max_velocity_axis_z = 5.0 + +[perspective] + #The default perspective when you load the game. + #Allowed Values: FIRST_PERSON, THIRD_PERSON_BACK, THIRD_PERSON_FRONT, SHOULDER_SURFING + default_perspective = "FIRST_PERSON" + #Whether or not to remember the last perspective used. + remember_last_perspective = true + #Whether or not to replace the default third person perspective. + replace_default_perspective = false + #Whether or not the first person perspective is enabled. + first_person_enabled = true + #Whether or not the third person front perspective is enabled. + third_person_front_enabled = true + #Whether or not the third person back perspective is enabled. + third_person_back_enabled = true + +[player] + #Whether or not to adjust the player model transparency when view is obstructed. Changing this value may require a game restart to take full effect. + adjust_player_transparency = true + #Whether or not to turn the player model transparent when aiming. This config option only applies when adjust player transparency is enabled. + turn_player_transparent_when_aiming = false + #The angle at which the player will no longer be rendered when looking up. Set to 0 to disable. + #Range: 0.0 ~ 90.0 + hide_player_when_looking_up_angle = 0.0 + #Whether the x-rot of the player should follow the camera x-rot. This config option only applies when camera is decoupled. + player_x_rot_follows_camera = false + #Whether the y-rot of the player should follow the camera y-rot. This config option only applies when camera is decoupled. + player_y_rot_follows_camera = false + #The maximum angle to which the player y-rot follows the camera y-rot. This config option only applies when player y-rot follows camera option is enabled. + #Range: 0.0 ~ 180.0 + player_y_rot_follow_angle_limit = 90.0 + + [player.turning] + #Whether to turn the player when using an item. This config option only applies when camera is decoupled. + #Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET + when_using_item = "ALWAYS" + #Whether to turn the player when attacking. This config option only applies when camera is decoupled. + #Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET + when_attacking = "REQUIRES_TARGET" + #Whether to turn the player when interacting with blocks. This config option only applies when camera is decoupled. + #Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET + when_interacting = "ALWAYS" + #Whether to turn the player when picking blocks or entities. This config option only applies when camera is decoupled. + #Allowed Values: ALWAYS, NEVER, REQUIRES_TARGET + when_picking = "ALWAYS" + #The time in ticks the player will remain turned after the interaction has ended. Set to 0 to disable. This config option only applies when camera is decoupled. + #Range: > 0 + turning_lock_time = 4 + +[object_picker] + #The raytrace distance used for the dynamic crosshair. + #Range: 0.0 ~ 1.7976931348623157E308 + custom_raytrace_distance = 400.0 + #Whether or not to use the custom raytrace distance used for the dynamic crosshair. + use_custom_raytrace_distance = true + + [object_picker.pick_origin] + #The origin where the entity pick starts when using the static crosshair. + #Allowed Values: PLAYER, CAMERA + entity_pick_origin = "PLAYER" + #The origin where the block pick starts when using the static crosshair. + #Allowed Values: PLAYER, CAMERA + block_pick_origin = "PLAYER" + + [object_picker.pick_vector] + #The vector direction of the raytrace when picking objects. This config option only applies when using the dynamic crosshair. + #Allowed Values: PLAYER, CAMERA + pick_vector = "CAMERA" + +[crosshair] + #Crosshair type to use for shoulder surfing. + #Allowed Values: ADAPTIVE, DYNAMIC, STATIC, STATIC_WITH_1PP, DYNAMIC_WITH_1PP + crosshair_type = "STATIC" + #Items that when held, trigger the dynamic crosshair in adaptive mode. This config option supports regular expressions. Example: 'minecraft:.*sword' matches 'minecraft:wooden_sword' and 'minecraft:netherite_sword'. + adaptive_crosshair_hold_items = ["minecraft:snowball", "minecraft:egg", "minecraft:experience_bottle", "minecraft:ender_pearl", "minecraft:splash_potion", "minecraft:fishing_rod", "minecraft:lingering_potion"] + #Items that when used, trigger the dynamic crosshair in adaptive mode. This config option supports regular expressions. Example: 'minecraft:.*sword' matches 'minecraft:wooden_sword' and 'minecraft:netherite_sword'. + adaptive_crosshair_use_items = [] + #Item properties of an item, that when held, trigger the dynamic crosshair in adaptive mode. + adaptive_crosshair_hold_item_properties = ["minecraft:charged"] + #Item properties of an item, that when used, trigger the dynamic crosshair in adaptive mode. + adaptive_crosshair_use_item_properties = ["minecraft:pull", "minecraft:throwing"] + + [crosshair.obstruction] + #When the crosshair type is static, shows an additional indicator on obstacles that stand between you and your target. + show_obstruction_indicator = true + #Only show the obstruction indicator when using items that would trigger the adaptive crosshair. + only_when_aiming = true + #Hide the obstruction indicator when it is too close to the main crosshair. Distance measured in scaled pixels. + #Range: > 0 + min_distance_to_crosshair = 8 + #Ignore obstructions that are too far away from the player. Distance measured in blocks. Set to 0 to disable. + #Range: 0.0 ~ 1.7976931348623157E308 + max_distance_to_obstruction = 20.0 + + [crosshair.visibility] + #Crosshair visibility for first person. + #Allowed Values: ALWAYS, NEVER, WHEN_AIMING, WHEN_IN_RANGE, WHEN_AIMING_OR_IN_RANGE + first_person = "ALWAYS" + #Crosshair visibility for third person back. + #Allowed Values: ALWAYS, NEVER, WHEN_AIMING, WHEN_IN_RANGE, WHEN_AIMING_OR_IN_RANGE + third_person_back = "NEVER" + #Crosshair visibility for third person front. + #Allowed Values: ALWAYS, NEVER, WHEN_AIMING, WHEN_IN_RANGE, WHEN_AIMING_OR_IN_RANGE + third_person_front = "NEVER" + #Crosshair visibility for shoulder surfing. + #Allowed Values: ALWAYS, NEVER, WHEN_AIMING, WHEN_IN_RANGE, WHEN_AIMING_OR_IN_RANGE + shoulder_surfing = "ALWAYS" + +[audio] + #Whether to center sounds made by the player. + center_player_sounds = false + +[integrations] + + [integrations.curios] + #Items that when equipped in a curios slot, trigger the dynamic crosshair in adaptive mode. This config option supports regular expressions. The curios slot must be specified before the expression and is separated by an '@' character. Example: 'ring@angelring:.*_ring' matches 'angelring:diamond_ring' and 'angelring:angel_ring' when equipped in the 'ring' slot. + adaptive_crosshair_items = [] + #Item properties of an item, that when equipped in a curios slot, trigger the dynamic crosshair in adaptive mode. Example: 'necklace@charged' + adaptive_crosshair_item_properties = [] + + [integrations.epicfight] + #Whether to allow target lock-on when camera is decoupled. + decoupled_camera_lock_on = false + diff --git a/config/sophisticatedcore-client.toml b/config/sophisticatedcore-client.toml index 7f5845dc7..30cd4d397 100644 --- a/config/sophisticatedcore-client.toml +++ b/config/sophisticatedcore-client.toml @@ -6,4 +6,6 @@ sortButtonsPosition = "TITLE_LINE_RIGHT" #Whether click sound should play when custom buttons are clicked in gui playButtonSound = true + #Whether scrolling in inventory should be handled by Mouse Tweaks mod if it is in the pack + mouseTweaksScrollEnabled = true diff --git a/config/sound_physics_remastered/allowed_sounds.properties b/config/sound_physics_remastered/allowed_sounds.properties deleted file mode 100644 index 6b370c3b7..000000000 --- a/config/sound_physics_remastered/allowed_sounds.properties +++ /dev/null @@ -1,1897 +0,0 @@ -# Allowed sounds -# Set to 'false' to disable sound physics for that sound - -minecraft\:entity.parrot.imitate.vindicator=true -tfc\:block.thin.fall=true -minecraft\:item.bucket.fill=true -gtceu\:chemical=true -minecraft\:entity.sniffer.digging=true -minecraft\:block.lodestone.place=true -minecraft\:music.overworld.bamboo_jungle=true -minecraft\:entity.hoglin.death=true -minecraft\:block.cherry_wood_fence_gate.open=true -minecraft\:entity.parrot.imitate.witch=true -minecraft\:entity.pillager.celebrate=true -minecraft\:block.chiseled_bookshelf.insert.enchanted=true -minecraft\:entity.mule.eat=true -minecraft\:item.trident.thunder=true -minecraft\:block.bamboo_wood_door.open=true -minecraft\:entity.piglin.ambient=true -minecraft\:block.pink_petals.step=true -create_connected\:interlude_music=true -tfc\:block.charcoal.break=true -minecraft\:block.bamboo_wood_pressure_plate.click_on=true -minecraft\:music.overworld.jagged_peaks=true -endermanoverhaul\:ancient_pearl_hit=true -tfc\:entity.lake_trout.ambient=true -minecraft\:block.bamboo_sapling.break=true -minecraft\:block.note_block.banjo=true -minecraft\:entity.llama.step=true -create\:clipboard_check=true -tfc\:item.armor.equip_steel=true -minecraft\:item.flintandsteel.use=true -minecraft\:entity.shulker.open=true -minecraft\:block.note_block.imitate.creeper=true -minecraft\:entity.skeleton_horse.hurt=true -minecraft\:block.powder_snow.break=true -minecraft\:entity.camel.eat=true -tfc\:entity.wildebeest.death=true -minecraft\:entity.mule.death=true -minecraft\:entity.magma_cube.hurt_small=true -tfc\:entity.penguin.ambient=true -minecraft\:block.roots.hit=true -minecraft\:entity.sniffer.step=true -minecraft\:entity.player.attack.crit=true -minecraft\:entity.silverfish.death=true -minecraft\:entity.axolotl.splash=true -minecraft\:block.frogspawn.hatch=true -minecraft\:music.overworld.cherry_grove=true -create\:sanding_short=true -endermanoverhaul\:dark_oak_enderman_ambient=true -minecraft\:entity.camel.saddle=true -minecraft\:block.froglight.hit=true -etched\:ui.etching_table.take_result=true -minecraft\:block.nether_sprouts.place=true -immersive_aircraft\:cannon=true -minecraft\:block.fungus.place=true -minecraft\:block.gilded_blackstone.step=true -minecraft\:entity.piglin.retreat=true -minecraft\:entity.armor_stand.hit=true -minecraft\:ambient.basalt_deltas.loop=true -minecraft\:entity.skeleton_horse.step_water=true -minecraft\:music.menu=true -minecraft\:block.sculk_vein.place=true -create\:whistle_low=true -minecraft\:block.anvil.hit=true -minecraft\:entity.chicken.step=true -minecraft\:entity.cat.beg_for_food=true -minecraft\:block.wood.fall=true -minecraft\:entity.camel.hurt=true -minecraft\:entity.zombie.break_wooden_door=true -create\:mechanical_press_activation_belt_compounded_1=true -minecraft\:entity.goat.screaming.horn_break=true -tfc\:entity.dog.attack=true -minecraft\:entity.sniffer.digging_stop=true -minecraft\:ambient.warped_forest.mood=true -tfc\:entity.boar.death=true -exposure\:item.photograph.rustle=true -minecraft\:block.wood.place=true -minecraft\:block.anvil.land=true -tfc\:entity.peafowl.hurt=true -minecraft\:item.firecharge.use=true -minecraft\:entity.horse.jump=true -minecraft\:block.pointed_dripstone.drip_lava=true -tfc\:entity.bear.sleep=true -tfc\:entity.hyena.death=true -exposure\:item.camera.dial_click=true -endermanoverhaul\:dark_oak_enderman_darkness=true -minecraft\:entity.parrot.imitate.pillager=true -tfc\:entity.hyena.attack=true -minecraft\:entity.ravager.death=true -endermanoverhaul\:plant_enderman_hurt=true -minecraft\:block.grindstone.use=true -minecraft\:entity.firework_rocket.twinkle_far=true -minecraft\:block.powder_snow.place=true -minecraft\:entity.illusioner.prepare_blindness=true -minecraft\:entity.camel.death=true -minecraft\:entity.llama.chest=true -tfc\:entity.turkey.step=true -minecraft\:block.ladder.fall=true -minecraft\:block.candle.step=true -minecraft\:block.coral_block.break=true -minecraft\:block.soul_sand.step=true -tfc\:entity.dog.hurt=true -tfc\:entity.smallmouth_bass.ambient=true -minecraft\:block.cherry_sapling.step=true -minecraft\:entity.evoker.prepare_summon=true -minecraft\:entity.armor_stand.fall=true -minecraft\:block.netherite_block.place=true -minecraft\:entity.turtle.ambient_land=true -minecraft\:block.bamboo_sapling.place=true -minecraft\:entity.piglin.admiring_item=true -minecraft\:block.calcite.fall=true -minecraft\:block.cherry_wood.break=true -minecraft\:entity.enderman.stare=true -tfc\:entity.boar.step=true -minecraft\:entity.generic.big_fall=true -minecraft\:block.cherry_leaves.hit=true -tfc\:entity.cougar.hurt=true -chalk\:item.glow_applied=true -minecraft\:entity.wandering_trader.no=true -minecraft\:block.wool.hit=true -minecraft\:entity.tadpole.flop=true -minecraft\:block.netherrack.place=true -minecraft\:block.ladder.step=true -minecraft\:block.candle.fall=true -tfc\:entity.bear.step=true -minecraft\:block.packed_mud.hit=true -minecraft\:entity.phantom.flap=true -minecraft\:item.hoe.till=true -minecraft\:block.tuff.step=true -minecraft\:block.cherry_sapling.fall=true -minecraft\:block.gilded_blackstone.fall=true -minecraft\:block.wart_block.step=true -minecraft\:entity.turtle.hurt=true -minecraft\:entity.dolphin.play=true -minecraft\:block.note_block.bit=true -minecraft\:block.sculk_sensor.fall=true -minecraft\:entity.villager.celebrate=true -minecraft\:block.lodestone.break=true -astikorcarts\:entity.cart.detach=true -minecraft\:block.basalt.step=true -minecraft\:entity.polar_bear.hurt=true -exposure\:item.photograph_frame.remove_item=true -minecraft\:entity.parrot.imitate.wither=true -gtceu\:jet_engine=true -minecraft\:entity.fox.screech=true -minecraft\:block.sculk_sensor.clicking_stop=true -endermanoverhaul\:soul_pearl_hit=true -minecraft\:entity.vex.death=true -tfc\:entity.tfc_wolf.ambient=true -minecraft\:entity.bee.loop=true -minecraft\:entity.vex.charge=true -minecraft\:block.beehive.work=true -gtceu\:cooling=true -createaddition\:little_zap=true -immersive_aircraft\:propeller_small=true -minecraft\:entity.skeleton_horse.jump_water=true -minecraft\:entity.zombie_villager.death=true -tfc\:item.javelin.hit=true -tfc\:block.thin.place=true -minecraft\:entity.horse.ambient=true -minecraft\:entity.villager.work_armorer=true -minecraft\:block.mud_bricks.fall=true -minecraft\:entity.phantom.death=true -minecraft\:block.tripwire.detach=true -minecraft\:block.deepslate.place=true -tfc\:block.charcoal.place=true -tfc\:entity.jellyfish.hurt=true -minecraft\:entity.ender_dragon.death=true -minecraft\:block.sand.hit=true -minecraft\:entity.leash_knot.place=true -minecraft\:entity.strider.retreat=true -minecraft\:entity.cow.step=true -minecraft\:entity.allay.item_taken=true -minecraft\:block.note_block.imitate.zombie=true -minecraft\:entity.mooshroom.convert=true -minecraft\:entity.warden.death=true -minecraft\:block.sculk_sensor.step=true -tfc\:entity.cougar.ambient=true -minecraft\:item.armor.equip_leather=true -minecraft\:block.bell.resonate=true -minecraft\:entity.mooshroom.milk=true -minecraft\:block.dispenser.fail=true -minecraft\:entity.endermite.death=true -minecraft\:entity.goat.screaming.prepare_ram=true -minecraft\:block.nether_sprouts.break=true -minecraft\:block.respawn_anchor.ambient=true -gtceu\:drill=true -chalk\:ambient.glowing=true -astikorcarts\:entity.cart.place=true -minecraft\:item.crossbow.shoot=true -minecraft\:entity.bee.sting=true -minecraft\:block.deepslate.break=true -immersive_aircraft\:woosh=true -minecraft\:block.chest.open=true -minecraft\:block.netherite_block.break=true -minecraft\:block.note_block.cow_bell=true -minecraft\:block.iron_door.open=true -minecraft\:block.fungus.break=true -gtceu\:motor=true -tfc\:block.thin.break=true -minecraft\:entity.strider.happy=true -gtceu\:turbine=true -tfc\:entity.alpaca.hurt=true -minecraft\:ambient.soul_sand_valley.additions=true -minecraft\:block.slime_block.place=true -tfc\:item.knapping.leather=true -minecraft\:block.sculk_vein.break=true -minecraft\:block.fire.ambient=true -minecraft\:block.wooden_trapdoor.open=true -gtceu\:spray_can=true -minecraft\:entity.ravager.stunned=true -minecraft\:block.nether_wood.fall=true -minecraft\:entity.fox.aggro=true -minecraft\:entity.player.levelup=true -minecraft\:entity.dolphin.hurt=true -exposure\:item.camera.lens_insert=true -minecraft\:entity.glow_item_frame.place=true -minecraft\:entity.player.small_fall=true -tfc\:block.charcoal.fall=true -minecraft\:entity.skeleton.step=true -minecraft\:music_disc.13=true -minecraft\:entity.bee.death=true -minecraft\:entity.parrot.imitate.wither_skeleton=true -endermanoverhaul\:corrupted_pearl_hit=true -minecraft\:music_disc.11=true -minecraft\:block.wart_block.hit=true -minecraft\:block.wet_grass.step=true -minecraft\:entity.pillager.ambient=true -minecraft\:entity.experience_bottle.throw=true -minecraft\:entity.wither_skeleton.ambient=true -minecraft\:item.trident.riptide_3=true -minecraft\:item.trident.riptide_2=true -minecraft\:block.calcite.break=true -minecraft\:block.pointed_dripstone.fall=true -minecraft\:entity.piglin_brute.hurt=true -minecraft\:block.nether_gold_ore.fall=true -minecraft\:entity.fox.eat=true -minecraft\:block.azalea.break=true -minecraft\:entity.armor_stand.place=true -minecraft\:item.trident.riptide_1=true -minecraft\:block.wet_grass.fall=true -minecraft\:block.mud_bricks.step=true -minecraft\:entity.pig.hurt=true -minecraft\:block.bamboo_wood_hanging_sign.fall=true -minecraft\:entity.wolf.pant=true -minecraft\:block.sweet_berry_bush.place=true -minecraft\:entity.parrot.imitate.endermite=true -minecraft\:block.tuff.fall=true -minecraft\:block.ancient_debris.hit=true -gtceu\:mixer=true -minecraft\:block.netherite_block.step=true -minecraft\:entity.frog.death=true -minecraft\:entity.endermite.hurt=true -minecraft\:block.deepslate.hit=true -minecraft\:entity.evoker.prepare_wololo=true -minecraft\:entity.warden.sniff=true -tfc\:entity.gazelle.hurt=true -tfc\:entity.rainbow_trout.flop=true -minecraft\:entity.polar_bear.ambient_baby=true -tfc\:item.armor.equip_black_steel=true -minecraft\:block.sculk.hit=true -minecraft\:block.gravel.place=true -minecraft\:block.deepslate_bricks.break=true -tfc\:block.charcoal.step=true -minecraft\:entity.warden.nearby_closer=true -minecraft\:entity.wolf.shake=true -immersive_aircraft\:propeller=true -minecraft\:entity.firework_rocket.launch=true -minecraft\:block.basalt.break=true -tfc\:entity.rat.step=true -minecraft\:block.hanging_roots.fall=true -minecraft\:block.ender_chest.open=true -minecraft\:entity.piglin.jealous=true -create\:controller_take=true -minecraft\:block.sculk_sensor.hit=true -minecraft\:entity.camel.step_sand=true -tfc\:entity.quail.ambient=true -minecraft\:block.bamboo_wood.break=true -minecraft\:entity.parrot.imitate.ender_dragon=true -minecraft\:block.dispenser.dispense=true -minecraft\:block.sculk.fall=true -minecraft\:block.water.ambient=true -minecraft\:entity.donkey.eat=true -minecraft\:item.bucket.empty_tadpole=true -minecraft\:block.moss_carpet.hit=true -minecraft\:ambient.underwater.enter=true -minecraft\:entity.puffer_fish.hurt=true -minecraft\:entity.piglin.celebrate=true -minecraft\:entity.husk.ambient=true -gtceu\:combustion=true -tfc\:entity.dog.sleep=true -minecraft\:entity.guardian.death=true -minecraft\:entity.stray.step=true -minecraft\:entity.shulker.death=true -minecraft\:entity.camel.dash_ready=true -minecraft\:entity.iron_golem.repair=true -minecraft\:block.large_amethyst_bud.break=true -minecraft\:block.shulker_box.close=true -minecraft\:block.deepslate_bricks.place=true -minecraft\:entity.guardian.flop=true -minecraft\:entity.piglin_brute.ambient=true -minecraft\:entity.chicken.death=true -minecraft\:entity.glow_item_frame.remove_item=true -minecraft\:entity.salmon.hurt=true -minecraft\:entity.spider.death=true -create\:clipboard_erase=true -minecraft\:entity.turtle.shamble_baby=true -create\:mixing=true -create\:confirm=true -minecraft\:ui.button.click=true -tfc\:entity.boar.ambient=true -tfc\:entity.bluegill.hurt=true -minecraft\:entity.generic.death=true -minecraft\:block.bamboo_wood_button.click_off=true -minecraft\:block.sculk_vein.fall=true -minecraft\:entity.hoglin.retreat=true -minecraft\:block.wooden_trapdoor.close=true -minecraft\:block.roots.fall=true -minecraft\:block.shroomlight.hit=true -minecraft\:block.flowering_azalea.break=true -tfc\:entity.tfc_wolf.death=true -minecraft\:block.nether_wood.step=true -tfc\:entity.rooster.cry=true -tfc\:entity.bongo.ambient=true -minecraft\:block.sculk_shrieker.hit=true -endermanoverhaul\:plant_enderman_ambient=true -minecraft\:block.honey_block.fall=true -minecraft\:block.hanging_roots.hit=true -gtceu\:wrench=true -minecraft\:block.moss_carpet.fall=true -minecraft\:item.trident.throw=true -minecraft\:entity.armor_stand.break=true -minecraft\:entity.goat.prepare_ram=true -tfc\:entity.turkey.ambient=true -minecraft\:entity.player.attack.nodamage=true -minecraft\:entity.cow.milk=true -minecraft\:entity.hoglin.ambient=true -minecraft\:entity.llama.ambient=true -minecraft\:block.nylium.fall=true -minecraft\:block.sculk.step=true -minecraft\:entity.strider.step_lava=true -minecraft\:block.sweet_berry_bush.break=true -minecraft\:block.calcite.place=true -minecraft\:entity.snow_golem.ambient=true -tfc\:entity.rainbow_trout.death=true -minecraft\:block.metal.step=true -minecraft\:entity.donkey.angry=true -gtceu\:replicator=true -tfc\:entity.bluegill.ambient=true -minecraft\:ui.toast.in=true -minecraft\:block.wart_block.fall=true -minecraft\:block.slime_block.break=true -minecraft\:entity.enderman.ambient=true -minecraft\:item.crossbow.loading_start=true -minecraft\:entity.shulker.shoot=true -minecraft\:entity.drowned.swim=true -minecraft\:block.wet_grass.break=true -minecraft\:block.note_block.bass=true -tfc\:entity.lion.hurt=true -minecraft\:block.stem.hit=true -minecraft\:entity.parrot.imitate.ghast=true -minecraft\:block.honey_block.step=true -tfc\:entity.bongo.death=true -minecraft\:entity.squid.ambient=true -minecraft\:entity.strider.ambient=true -minecraft\:entity.ghast.ambient=true -exposure\:item.camera.generic_click=true -chalk\:block.mark_removed=true -minecraft\:ambient.underwater.loop=true -tfc\:entity.lake_trout.flop=true -minecraft\:block.respawn_anchor.set_spawn=true -minecraft\:block.wooden_pressure_plate.click_off=true -minecraft\:entity.experience_orb.pickup=true -minecraft\:entity.villager.work_fisherman=true -minecraft\:block.hanging_roots.step=true -minecraft\:entity.skeleton.ambient=true -minecraft\:music.overworld.forest=true -minecraft\:item.trident.return=true -minecraft\:entity.turtle.egg_crack=true -minecraft\:block.gilded_blackstone.break=true -tfc\:entity.pheasant.step=true -minecraft\:entity.magma_cube.jump=true -tfc\:entity.duck.step=true -minecraft\:block.mud.step=true -minecraft\:block.end_portal_frame.fill=true -create\:cranking_compounded_1=true -minecraft\:item.elytra.flying=true -minecraft\:entity.goat.screaming.ram_impact=true -minecraft\:block.lava.ambient=true -minecraft\:entity.rabbit.death=true -fallingtrees\:tree_fall=true -minecraft\:entity.camel.stand=true -minecraft\:block.cake.add_candle=true -minecraft\:block.slime_block.step=true -minecraft\:block.nether_gold_ore.step=true -create\:crushing_3=true -create\:crushing_2=true -minecraft\:entity.spider.ambient=true -create\:crushing_1=true -minecraft\:block.nether_wood_door.close=true -minecraft\:block.bamboo_wood.place=true -exposure\:block.lightroom.print=true -minecraft\:block.fungus.step=true -create\:whistle_train_low=true -minecraft\:entity.horse.breathe=true -tfc\:entity.tiger.death=true -minecraft\:entity.tropical_fish.death=true -minecraft\:block.moss_carpet.step=true -minecraft\:block.note_block.chime=true -minecraft\:entity.cow.death=true -minecraft\:ambient.crimson_forest.mood=true -minecraft\:ambient.underwater.loop.additions=true -minecraft\:block.bamboo_wood_hanging_sign.hit=true -minecraft\:entity.skeleton_horse.ambient_water=true -minecraft\:entity.hostile.death=true -minecraft\:block.chain.hit=true -minecraft\:entity.warden.roar=true -minecraft\:block.flowering_azalea.place=true -tfc\:entity.sabertooth.step=true -minecraft\:block.mud.hit=true -minecraft\:entity.minecart.inside.underwater=true -minecraft\:entity.strider.hurt=true -tfc\:item.armor.equip_bismuth_bronze=true -create\:chiff=true -minecraft\:entity.evoker.prepare_attack=true -minecraft\:block.note_block.imitate.wither_skeleton=true -minecraft\:item.bundle.drop_contents=true -minecraft\:entity.horse.angry=true -minecraft\:entity.zoglin.ambient=true -minecraft\:block.stone.hit=true -exposure\:item.camera.shutter_close=true -minecraft\:block.nylium.step=true -minecraft\:block.soul_sand.fall=true -create\:mechanical_press_activation_belt=true -minecraft\:entity.strider.saddle=true -minecraft\:entity.zombie_horse.hurt=true -endermanoverhaul\:icy_pearl_hit=true -minecraft\:entity.cod.ambient=true -minecraft\:entity.player.hurt_freeze=true -minecraft\:block.enchantment_table.use=true -minecraft\:block.bell.use=true -minecraft\:entity.frog.long_jump=true -minecraft\:entity.hostile.splash=true -minecraft\:block.large_amethyst_bud.place=true -minecraft\:block.weeping_vines.break=true -minecraft\:block.wood.step=true -minecraft\:block.wet_grass.place=true -minecraft\:entity.goat.screaming.hurt=true -minecraft\:item.bucket.fill_tadpole=true -minecraft\:block.bamboo_wood_hanging_sign.step=true -minecraft\:block.note_block.guitar=true -minecraft\:item.bottle.fill_dragonbreath=true -minecraft\:entity.rabbit.hurt=true -minecraft\:entity.wandering_trader.reappeared=true -create\:haunted_bell_convert=true -minecraft\:item.honey_bottle.drink=true -minecraft\:entity.turtle.death=true -minecraft\:entity.pig.saddle=true -minecraft\:entity.parrot.imitate.guardian=true -minecraft\:entity.tadpole.death=true -minecraft\:entity.fox.ambient=true -minecraft\:entity.villager.work_farmer=true -tfc\:item.pan.use=true -minecraft\:block.roots.step=true -minecraft\:block.fungus.hit=true -gtceu\:electrolyzer=true -minecraft\:entity.villager.work_shepherd=true -minecraft\:entity.player.hurt_sweet_berry_bush=true -minecraft\:block.sculk_vein.step=true -minecraft\:block.pointed_dripstone.place=true -minecraft\:block.slime_block.fall=true -minecraft\:block.decorated_pot.place=true -minecraft\:entity.fishing_bobber.retrieve=true -minecraft\:entity.axolotl.idle_water=true -minecraft\:music.overworld.grove=true -minecraft\:block.weeping_vines.place=true -minecraft\:block.note_block.didgeridoo=true -tfc\:entity.penguin.hurt=true -tfc\:entity.tiger.attack=true -minecraft\:entity.wandering_trader.trade=true -create\:whistle_train_manual_low=true -minecraft\:block.nether_ore.hit=true -minecraft\:entity.vex.hurt=true -minecraft\:block.fence_gate.open=true -minecraft\:block.sweet_berry_bush.pick_berries=true -minecraft\:entity.ender_dragon.ambient=true -minecraft\:block.stone.break=true -tfc\:entity.moose.hurt=true -minecraft\:block.sniffer_egg.plop=true -minecraft\:entity.ravager.celebrate=true -minecraft\:block.chain.step=true -minecraft\:block.suspicious_gravel.break=true -minecraft\:block.mud.fall=true -minecraft\:block.lava.pop=true -exposure\:item.camera.film_advance_last=true -exposure\:item.camera.film_advance=true -tfc\:entity.lake_trout.hurt=true -minecraft\:entity.item_frame.break=true -minecraft\:block.amethyst_block.hit=true -minecraft\:block.beacon.ambient=true -create\:saw_activate_wood=true -minecraft\:entity.guardian.hurt_land=true -tfc\:block.wattle.daubed=true -minecraft\:entity.fox.hurt=true -minecraft\:entity.panda.death=true -create\:peculiar_bell_use=true -minecraft\:item.totem.use=true -minecraft\:entity.fishing_bobber.splash=true -minecraft\:music_disc.wait=true -minecraft\:ambient.underwater.loop.additions.ultra_rare=true -gtceu\:arc=true -minecraft\:block.honey_block.slide=true -minecraft\:block.nether_ore.fall=true -minecraft\:entity.skeleton_horse.ambient=true -minecraft\:block.soul_soil.place=true -tfc\:entity.bear.hurt=true -create\:potato_hit=true -tfc\:entity.musk_ox.step=true -minecraft\:block.wooden_button.click_on=true -minecraft\:block.shroomlight.break=true -minecraft\:entity.squid.hurt=true -minecraft\:block.rooted_dirt.hit=true -minecraft\:block.cherry_wood_trapdoor.open=true -minecraft\:block.roots.place=true -minecraft\:block.mud.break=true -minecraft\:entity.arrow.hit_player=true -minecraft\:block.mud.place=true -minecraft\:block.muddy_mangrove_roots.fall=true -minecraft\:entity.illusioner.death=true -minecraft\:entity.shulker.hurt_closed=true -minecraft\:entity.silverfish.hurt=true -minecraft\:item.spyglass.use=true -minecraft\:entity.parrot.imitate.hoglin=true -exposure\:item.camera.flash=true -tfc\:entity.ramming.impact=true -tfc\:entity.moose.attack=true -minecraft\:entity.iron_golem.step=true -minecraft\:block.blastfurnace.fire_crackle=true -minecraft\:block.chain.fall=true -tfc\:entity.rainbow_trout.ambient=true -minecraft\:block.honey_block.hit=true -minecraft\:entity.magma_cube.death_small=true -minecraft\:entity.fox.teleport=true -minecraft\:entity.phantom.hurt=true -minecraft\:block.candle.hit=true -minecraft\:block.portal.travel=true -minecraft\:item.brush.brushing.gravel.complete=true -create\:saw_activate_stone=true -minecraft\:entity.goat.screaming.eat=true -minecraft\:entity.allay.ambient_with_item=true -minecraft\:music_disc.otherside=true -minecraft\:entity.slime.death=true -tfc\:entity.manatee.ambient=true -tfc\:entity.turkey.death=true -minecraft\:entity.skeleton.hurt=true -minecraft\:block.moss_carpet.place=true -minecraft\:block.nether_wood_door.open=true -playerrevive\:death=true -minecraft\:block.big_dripleaf.step=true -minecraft\:block.bamboo.hit=true -tfc\:entity.caribou.death=true -minecraft\:block.bamboo_wood_pressure_plate.click_off=true -minecraft\:item.trident.hit_ground=true -minecraft\:item.brush.brushing.gravel=true -minecraft\:block.portal.ambient=true -minecraft\:block.snow.place=true -minecraft\:entity.stray.hurt=true -minecraft\:music_disc.blocks=true -endermanoverhaul\:summoner_pearl_hit=true -minecraft\:entity.ender_dragon.hurt=true -minecraft\:entity.glow_squid.ambient=true -minecraft\:item.honeycomb.wax_on=true -minecraft\:entity.wither.break_block=true -minecraft\:entity.sniffer.sniffing=true -minecraft\:block.ender_chest.close=true -tfc\:item.armor.equip_wrought_iron=true -minecraft\:entity.witch.ambient=true -immersive_aircraft\:engine_start=true -minecraft\:block.respawn_anchor.deplete=true -minecraft\:block.candle.break=true -minecraft\:block.spore_blossom.break=true -minecraft\:block.amethyst_block.place=true -minecraft\:item.armor.equip_diamond=true -minecraft\:block.nether_wood.place=true -minecraft\:block.pointed_dripstone.drip_water=true -minecraft\:entity.blaze.shoot=true -minecraft\:block.nether_gold_ore.break=true -minecraft\:entity.sheep.shear=true -minecraft\:entity.ender_pearl.throw=true -minecraft\:block.beacon.activate=true -minecraft\:block.tuff.break=true -minecraft\:entity.turtle.egg_hatch=true -immersive_aircraft\:repair=true -minecraft\:block.redstone_torch.burnout=true -minecraft\:intentionally_empty=true -minecraft\:entity.zombified_piglin.angry=true -gtceu\:furnace=true -minecraft\:block.fungus.fall=true -minecraft\:block.moss.step=true -minecraft\:block.dispenser.launch=true -minecraft\:entity.cat.hiss=true -minecraft\:block.nether_wart.break=true -minecraft\:entity.goat.long_jump=true -minecraft\:entity.ravager.roar=true -minecraft\:block.note_block.imitate.ender_dragon=true -create\:sanding_long=true -minecraft\:entity.blaze.hurt=true -firmalife\:item.hollow_shell.blow=true -minecraft\:block.sniffer_egg.crack=true -minecraft\:entity.endermite.ambient=true -minecraft\:block.ancient_debris.step=true -minecraft\:entity.panda.bite=true -minecraft\:entity.parrot.imitate.silverfish=true -create\:slime_added=true -minecraft\:block.polished_deepslate.step=true -minecraft\:block.bamboo_wood.fall=true -minecraft\:entity.wandering_trader.hurt=true -minecraft\:entity.dolphin.ambient_water=true -tfc\:entity.turkey.hurt=true -endermanoverhaul\:tall_enderman_ambient=true -railways\:handcar_cogs=true -cccbridge\:cage_unlock=true -minecraft\:entity.bat.death=true -minecraft\:item.bottle.fill=true -tfc\:entity.moose.ambient=true -minecraft\:entity.piglin.converted_to_zombified=true -minecraft\:entity.arrow.shoot=true -minecraft\:ambient.warped_forest.additions=true -minecraft\:block.nether_ore.step=true -minecraft\:entity.strider.step=true -minecraft\:entity.goat.death=true -minecraft\:entity.panda.aggressive_ambient=true -minecraft\:block.big_dripleaf.hit=true -minecraft\:entity.husk.converted_to_zombie=true -minecraft\:entity.villager.work_cleric=true -minecraft\:block.bubble_column.bubble_pop=true -minecraft\:entity.phantom.swoop=true -minecraft\:entity.piglin_brute.death=true -minecraft\:entity.llama.death=true -minecraft\:entity.piglin.hurt=true -minecraft\:entity.parrot.imitate.phantom=true -minecraft\:music.overworld.lush_caves=true -tfc\:entity.jellyfish.ambient=true -minecraft\:entity.boat.paddle_land=true -minecraft\:entity.frog.tongue=true -minecraft\:music_disc.ward=true -minecraft\:entity.fox.sniff=true -minecraft\:entity.wither_skeleton.hurt=true -minecraft\:block.azalea_leaves.fall=true -minecraft\:entity.wither_skeleton.step=true -minecraft\:entity.drowned.hurt_water=true -gtceu\:wirecutter=true -minecraft\:block.tuff.hit=true -minecraft\:entity.sheep.hurt=true -tfc\:entity.crappie.death=true -minecraft\:block.metal.fall=true -minecraft\:block.netherite_block.fall=true -minecraft\:entity.pig.step=true -minecraft\:entity.villager.yes=true -minecraft\:music.nether.soul_sand_valley=true -minecraft\:entity.ender_dragon.growl=true -minecraft\:entity.vindicator.hurt=true -create\:blaze_munch=true -minecraft\:entity.llama.swag=true -minecraft\:block.small_dripleaf.break=true -create_connected\:elevator_music=true -minecraft\:entity.villager.work_toolsmith=true -minecraft\:item.bucket.fill_fish=true -minecraft\:block.moss_carpet.break=true -minecraft\:block.bamboo_sapling.hit=true -tfc\:entity.moose.death=true -minecraft\:block.nether_wood_hanging_sign.break=true -minecraft\:block.spore_blossom.place=true -minecraft\:entity.enderman.scream=true -minecraft\:block.soul_sand.hit=true -exposure\:item.photograph.break=true -minecraft\:entity.parrot.imitate.warden=true -minecraft\:entity.minecart.riding=true -minecraft\:block.tuff.place=true -minecraft\:block.soul_soil.break=true -minecraft\:entity.illusioner.prepare_mirror=true -minecraft\:entity.elder_guardian.death=true -create\:mechanical_press_activation_compounded_1=true -minecraft\:block.ladder.hit=true -minecraft\:entity.polar_bear.warning=true -minecraft\:block.amethyst_block.break=true -minecraft\:entity.piglin_brute.converted_to_zombified=true -minecraft\:entity.parrot.imitate.magma_cube=true -minecraft\:block.small_dripleaf.place=true -minecraft\:entity.cat.purreow=true -minecraft\:block.beacon.deactivate=true -minecraft\:music_disc.pigstep=true -tfc\:entity.dog.step=true -minecraft\:entity.parrot.imitate.elder_guardian=true -playerrevive\:revived=true -immersive_aircraft\:warship=true -minecraft\:block.conduit.attack.target=true -minecraft\:music.overworld.flower_forest=true -minecraft\:entity.arrow.hit=true -tfc\:entity.quail.hurt=true -minecraft\:item.ink_sac.use=true -minecraft\:entity.witch.death=true -minecraft\:entity.squid.death=true -minecraft\:block.gilded_blackstone.hit=true -tfc\:entity.yak.hurt=true -minecraft\:entity.sheep.ambient=true -minecraft\:block.bone_block.place=true -minecraft\:entity.cow.ambient=true -minecraft\:entity.tropical_fish.flop=true -minecraft\:block.frogspawn.place=true -minecraft\:entity.snow_golem.shear=true -minecraft\:block.azalea_leaves.step=true -minecraft\:entity.panda.ambient=true -minecraft\:block.polished_deepslate.fall=true -minecraft\:item.armor.equip_chain=true -minecraft\:entity.dolphin.ambient=true -minecraft\:entity.parrot.imitate.zombie=true -minecraft\:block.snow.break=true -minecraft\:block.lily_pad.place=true -gtceu\:compressor=true -tfc\:entity.wildebeest.hurt=true -minecraft\:entity.zombie_villager.hurt=true -minecraft\:item.bucket.empty_milk=true -minecraft\:entity.dolphin.eat=true -minecraft\:entity.evoker.hurt=true -tfc\:entity.sabertooth.ambient=true -minecraft\:block.gravel.hit=true -minecraft\:item.bucket.fill_lava=true -minecraft\:entity.magma_cube.squish_small=true -minecraft\:entity.bee.pollinate=true -minecraft\:entity.ocelot.hurt=true -minecraft\:block.sand.place=true -gtceu\:portal_closing=true -minecraft\:entity.generic.small_fall=true -minecraft\:block.chiseled_bookshelf.hit=true -tfc\:entity.deer.step=true -tfc\:entity.wildebeest.attack=true -minecraft\:block.chain.break=true -gtceu\:assembler=true -minecraft\:entity.ravager.hurt=true -minecraft\:block.weeping_vines.fall=true -minecraft\:block.soul_soil.step=true -minecraft\:block.bamboo_wood_hanging_sign.break=true -minecraft\:block.wooden_button.click_off=true -minecraft\:entity.wandering_trader.death=true -minecraft\:entity.warden.dig=true -minecraft\:entity.guardian.attack=true -minecraft\:entity.bee.loop_aggressive=true -minecraft\:block.scaffolding.hit=true -minecraft\:event.raid.horn=true -minecraft\:entity.goat.screaming.death=true -minecraft\:ambient.nether_wastes.mood=true -minecraft\:block.anvil.destroy=true -minecraft\:block.cherry_wood.place=true -minecraft\:block.bamboo_wood_button.click_on=true -minecraft\:block.hanging_roots.break=true -minecraft\:block.netherrack.break=true -minecraft\:block.respawn_anchor.charge=true -tfc\:block.bloomery.crackle=true -minecraft\:block.pink_petals.break=true -minecraft\:entity.piglin.death=true -minecraft\:entity.warden.listening_angry=true -minecraft\:entity.witch.hurt=true -minecraft\:entity.player.breath=true -minecraft\:entity.dolphin.swim=true -minecraft\:entity.stray.death=true -minecraft\:block.deepslate_tiles.step=true -minecraft\:block.wet_grass.hit=true -minecraft\:block.ancient_debris.fall=true -minecraft\:block.note_block.pling=true -minecraft\:entity.ghast.warn=true -minecraft\:entity.warden.heartbeat=true -minecraft\:entity.skeleton_horse.death=true -minecraft\:entity.sniffer.scenting=true -tfc\:entity.pheasant.hurt=true -minecraft\:entity.parrot.imitate.husk=true -minecraft\:block.spore_blossom.hit=true -minecraft\:entity.tadpole.grow_up=true -waterflasks\:item.flaskbreak=true -minecraft\:entity.axolotl.attack=true -minecraft\:entity.polar_bear.step=true -exposure\:item.photograph_frame.break=true -minecraft\:entity.turtle.hurt_baby=true -tfc\:entity.duck.ambient=true -minecraft\:entity.horse.land=true -tfc\:entity.bongo.step=true -minecraft\:entity.parrot.step=true -tfc\:entity.tiger.hurt=true -minecraft\:music.dragon=true -minecraft\:block.big_dripleaf.place=true -minecraft\:block.nether_sprouts.hit=true -gtceu\:centrifuge=true -minecraft\:block.lava.extinguish=true -minecraft\:block.basalt.fall=true -minecraft\:entity.player.big_fall=true -minecraft\:entity.villager.work_librarian=true -minecraft\:block.stone_button.click_off=true -minecraft\:block.dripstone_block.hit=true -minecraft\:entity.slime.hurt=true -minecraft\:block.end_gateway.spawn=true -minecraft\:entity.iron_golem.attack=true -immersive_aircraft\:engine_start_warship=true -tfc\:entity.peafowl.death=true -minecraft\:entity.chicken.egg=true -tfc\:entity.jellyfish.death=true -minecraft\:block.amethyst_cluster.hit=true -minecraft\:entity.zoglin.hurt=true -minecraft\:block.ladder.break=true -minecraft\:block.bubble_column.whirlpool_inside=true -minecraft\:entity.glow_item_frame.break=true -minecraft\:item.crossbow.hit=true -minecraft\:entity.elder_guardian.hurt_land=true -minecraft\:block.end_portal.spawn=true -minecraft\:music_disc.cat=true -minecraft\:music.overworld.snowy_slopes=true -minecraft\:block.bamboo_wood.step=true -minecraft\:entity.generic.burn=true -minecraft\:block.bubble_column.whirlpool_ambient=true -tfc\:block.quern.drag=true -minecraft\:block.composter.empty=true -minecraft\:block.sculk.break=true -tfc\:entity.boar.hurt=true -minecraft\:entity.zombie_villager.converted=true -minecraft\:block.chain.place=true -minecraft\:entity.shulker.teleport=true -tfc\:random.dirt_slide_short=true -minecraft\:entity.sniffer.happy=true -minecraft\:block.bone_block.break=true -minecraft\:item.glow_ink_sac.use=true -tfc\:entity.crappie.flop=true -minecraft\:entity.leash_knot.break=true -minecraft\:entity.zombie_villager.ambient=true -minecraft\:entity.enderman.death=true -minecraft\:block.froglight.break=true -create\:contraption_assemble=true -tfc\:block.anvil.hit=true -minecraft\:ambient.underwater.loop.additions.rare=true -minecraft\:block.calcite.step=true -minecraft\:entity.zoglin.attack=true -minecraft\:block.stone.fall=true -minecraft\:ui.loom.take_result=true -minecraft\:entity.puffer_fish.flop=true -minecraft\:block.big_dripleaf.tilt_down=true -minecraft\:entity.parrot.death=true -tfc\:entity.lion.death=true -minecraft\:block.hanging_roots.place=true -minecraft\:block.amethyst_block.fall=true -minecraft\:block.note_block.xylophone=true -minecraft\:entity.elder_guardian.ambient_land=true -minecraft\:entity.rabbit.ambient=true -tfc\:item.firestarter.use=true -minecraft\:entity.blaze.death=true -patchouli\:book_flip=true -minecraft\:block.beehive.exit=true -minecraft\:entity.vex.ambient=true -minecraft\:block.dripstone_block.break=true -minecraft\:block.coral_block.place=true -tfc\:block.scribing_table.use=true -exposure\:item.camera.button_click=true -createaddition\:tesla_coil=true -minecraft\:block.shroomlight.place=true -minecraft\:entity.guardian.ambient_land=true -minecraft\:block.coral_block.step=true -gtceu\:saw=true -minecraft\:entity.generic.eat=true -minecraft\:item.bucket.fill_milk=true -tfc\:block.barrel.open=true -minecraft\:block.weeping_vines.step=true -tfc\:entity.peafowl.ambient=true -minecraft\:block.moss.fall=true -tfc\:block.charcoal.hit=true -minecraft\:block.cherry_wood.hit=true -guideme\:guide.click=true -minecraft\:entity.axolotl.swim=true -minecraft\:block.slime_block.hit=true -minecraft\:entity.husk.step=true -minecraft\:entity.zombie.death=true -create\:contraption_disassemble=true -create\:wrench_rotate=true -minecraft\:entity.ender_dragon.shoot=true -minecraft\:block.sculk_catalyst.hit=true -minecraft\:entity.zombie.step=true -minecraft\:block.stone.place=true -tfc\:entity.crocodile.attack=true -minecraft\:entity.allay.item_given=true -minecraft\:entity.wolf.howl=true -minecraft\:entity.pig.ambient=true -tfc\:entity.smallmouth_bass.death=true -minecraft\:entity.iron_golem.death=true -tfc\:entity.caribou.hurt=true -minecraft\:block.nether_wood_trapdoor.close=true -minecraft\:entity.item_frame.place=true -minecraft\:music.overworld.jungle=true -minecraft\:block.chiseled_bookshelf.pickup=true -minecraft\:entity.item_frame.remove_item=true -tfc\:entity.rat.ambient=true -minecraft\:entity.warden.ambient=true -tfc\:entity.bluegill.flop=true -minecraft\:block.flowering_azalea.hit=true -minecraft\:block.nether_gold_ore.place=true -minecraft\:entity.iron_golem.damage=true -minecraft\:block.candle.place=true -minecraft\:block.beehive.enter=true -minecraft\:entity.elder_guardian.curse=true -minecraft\:entity.firework_rocket.blast=true -minecraft\:entity.wolf.whine=true -minecraft\:ambient.basalt_deltas.mood=true -gtceu\:boiler=true -minecraft\:block.coral_block.fall=true -minecraft\:block.stone.step=true -minecraft\:block.nether_wood.break=true -minecraft\:block.sculk.place=true -minecraft\:entity.llama.eat=true -tfc\:entity.smallmouth_bass.hurt=true -create\:mechanical_press_activation=true -minecraft\:entity.generic.splash=true -minecraft\:block.sculk_catalyst.place=true -minecraft\:entity.frog.ambient=true -minecraft\:entity.wolf.step=true -minecraft\:entity.slime.squish=true -minecraft\:block.sniffer_egg.hatch=true -minecraft\:block.froglight.place=true -minecraft\:entity.bat.loop=true -minecraft\:item.bucket.empty_fish=true -minecraft\:entity.goat.eat=true -minecraft\:entity.hoglin.step=true -minecraft\:entity.illusioner.hurt=true -minecraft\:entity.slime.death_small=true -minecraft\:entity.zombie.ambient=true -minecraft\:block.sand.break=true -minecraft\:block.amethyst_block.step=true -minecraft\:block.decorated_pot.break=true -minecraft\:entity.goat.hurt=true -minecraft\:entity.generic.extinguish_fire=true -minecraft\:block.metal.hit=true -minecraft\:entity.rabbit.attack=true -minecraft\:block.muddy_mangrove_roots.step=true -tfc\:item.cool=true -minecraft\:block.big_dripleaf.break=true -minecraft\:entity.guardian.ambient=true -minecraft\:block.tripwire.attach=true -exposure\:item.camera.release_button_click=true -tfc\:entity.grouse.death=true -minecraft\:block.suspicious_gravel.place=true -minecraft\:entity.goat.screaming.long_jump=true -minecraft\:block.ladder.place=true -minecraft\:block.dripstone_block.place=true -minecraft\:block.bamboo_wood_hanging_sign.place=true -minecraft\:entity.hostile.swim=true -tfc\:entity.tfc_wolf.hurt=true -minecraft\:block.nether_wood_fence_gate.open=true -minecraft\:entity.tnt.primed=true -minecraft\:block.soul_soil.fall=true -minecraft\:block.big_dripleaf.fall=true -minecraft\:entity.generic.swim=true -minecraft\:block.stone_button.click_on=true -minecraft\:entity.slime.squish_small=true -tfc\:entity.peafowl.step=true -minecraft\:entity.villager.work_cartographer=true -minecraft\:entity.warden.nearby_closest=true -minecraft\:block.fence_gate.close=true -minecraft\:entity.mule.ambient=true -tfc\:block.thin.hit=true -minecraft\:block.beehive.drip=true -minecraft\:block.campfire.crackle=true -minecraft\:block.comparator.click=true -minecraft\:block.metal_pressure_plate.click_off=true -minecraft\:item.armor.equip_iron=true -minecraft\:entity.panda.sneeze=true -minecraft\:entity.dolphin.jump=true -minecraft\:music_disc.relic=true -gtceu\:science=true -minecraft\:block.sculk_catalyst.fall=true -minecraft\:block.ancient_debris.break=true -minecraft\:item.nether_wart.plant=true -minecraft\:entity.fox.spit=true -minecraft\:block.chiseled_bookshelf.break=true -buildinggadgets2\:beep=true -minecraft\:block.cherry_leaves.fall=true -minecraft\:block.azalea_leaves.break=true -minecraft\:entity.hostile.big_fall=true -minecraft\:entity.turtle.death_baby=true -minecraft\:entity.cod.death=true -minecraft\:entity.player.death=true -minecraft\:block.scaffolding.fall=true -minecraft\:block.lantern.fall=true -create\:cranking=true -minecraft\:entity.splash_potion.throw=true -cucumber\:watering_can=true -minecraft\:block.bone_block.step=true -minecraft\:entity.dolphin.splash=true -createaddition\:loud_zap=true -minecraft\:entity.wither.ambient=true -minecraft\:block.wart_block.place=true -minecraft\:entity.creeper.primed=true -minecraft\:entity.horse.eat=true -tfc\:random.rock_slide_short=true -endermanoverhaul\:cave_enderman_ambient=true -minecraft\:block.copper.place=true -minecraft\:entity.elder_guardian.hurt=true -minecraft\:entity.polar_bear.ambient=true -minecraft\:block.nether_wood_button.click_off=true -minecraft\:block.chest.locked=true -tfc\:entity.duck.death=true -minecraft\:entity.frog.step=true -minecraft\:block.small_amethyst_bud.break=true -minecraft\:entity.wolf.ambient=true -minecraft\:block.cherry_wood.fall=true -minecraft\:block.nether_wood_pressure_plate.click_on=true -minecraft\:block.decorated_pot.fall=true -exposure\:item.photograph_frame.add_item=true -minecraft\:block.candle.extinguish=true -minecraft\:weather.rain=false -minecraft\:entity.phantom.ambient=true -minecraft\:entity.cat.death=true -tfc\:entity.rat.hurt=true -minecraft\:block.sand.step=true -minecraft\:entity.goat.screaming.ambient=true -minecraft\:entity.ender_dragon.flap=true -create\:whistle_train=true -tfc\:entity.caribou.ambient=true -create\:funnel_flap=true -minecraft\:block.conduit.deactivate=true -tfc\:block.thatch.fall=true -minecraft\:entity.generic.hurt=true -minecraft\:entity.puffer_fish.death=true -minecraft\:entity.turtle.egg_break=true -minecraft\:entity.elder_guardian.death_land=true -minecraft\:entity.magma_cube.death=true -tfc\:entity.lion.attack=true -minecraft\:item.spyglass.stop_using=true -minecraft\:entity.donkey.ambient=true -minecraft\:ui.loom.select_pattern=true -minecraft\:weather.rain.above=false -tfc\:entity.musk_ox.death=true -tfc\:entity.smallmouth_bass.flop=true -create\:wrench_remove_compounded_1=true -minecraft\:block.wooden_door.open=true -minecraft\:ambient.crimson_forest.loop=true -minecraft\:block.cherry_wood_button.click_on=true -gtceu\:sus=true -gtceu\:macerator=true -minecraft\:block.pumpkin.carve=true -tfc\:block.bellows.blow=true -minecraft\:block.vine.fall=true -minecraft\:block.cherry_wood_trapdoor.close=true -minecraft\:block.decorated_pot.step=true -minecraft\:item.shield.block=true -minecraft\:block.note_block.snare=true -minecraft\:block.copper.break=true -minecraft\:block.grass.break=true -minecraft\:block.metal.place=true -minecraft\:entity.allay.hurt=true -minecraft\:block.vine.hit=true -minecraft\:block.wart_block.break=true -minecraft\:entity.zombie_horse.ambient=true -minecraft\:block.nether_ore.place=true -minecraft\:block.sculk_catalyst.step=true -minecraft\:entity.horse.death=true -minecraft\:entity.parrot.imitate.ravager=true -tfc\:random.rock_slide_long_fake=true -minecraft\:entity.item.break=true -minecraft\:entity.wandering_trader.yes=true -minecraft\:entity.blaze.burn=true -tfc\:block.thatch.step=true -minecraft\:entity.mooshroom.suspicious_milk=true -minecraft\:entity.pig.death=true -minecraft\:entity.zombie.infect=true -tfc\:entity.cougar.sleep=true -minecraft\:block.sand.fall=true -minecraft\:item.bundle.remove_one=true -minecraft\:entity.hoglin.hurt=true -minecraft\:entity.horse.hurt=true -minecraft\:block.polished_deepslate.place=true -minecraft\:entity.creeper.death=true -minecraft\:block.honey_block.break=true -minecraft\:block.sculk_catalyst.break=true -minecraft\:entity.squid.squirt=true -minecraft\:entity.villager.work_leatherworker=true -endermanoverhaul\:cave_enderman_hurt=true -minecraft\:block.stone_pressure_plate.click_on=true -minecraft\:ui.toast.challenge_complete=true -chalk\:item.chalk_box_open=true -minecraft\:entity.guardian.death_land=true -tfc\:item.jug.blow=true -minecraft\:block.pink_petals.place=true -minecraft\:block.cherry_wood_pressure_plate.click_off=true -minecraft\:entity.hoglin.converted_to_zombified=true -minecraft\:block.nether_wood_fence_gate.close=true -minecraft\:music_disc.stal=true -create\:mixing_compounded_1=true -minecraft\:block.sculk_vein.hit=true -tfc\:entity.rat.death=true -minecraft\:entity.firework_rocket.large_blast_far=true -minecraft\:entity.parrot.imitate.zoglin=true -minecraft\:entity.drowned.ambient_water=true -minecraft\:entity.fish.swim=true -minecraft\:entity.sniffer.drop_seed=true -minecraft\:entity.villager.ambient=true -tfc\:entity.crappie.hurt=true -cccbridge\:cage_lock=true -minecraft\:block.lantern.step=true -patchouli\:book_open=true -tfc\:entity.tiger.sleep=true -create\:whistle_high=true -minecraft\:block.note_block.harp=true -minecraft\:entity.parrot.imitate.shulker=true -minecraft\:entity.axolotl.death=true -exposure\:item.camera.lens_remove=true -exposure\:item.camera.viewfinder_open=true -minecraft\:entity.skeleton_horse.gallop_water=true -minecraft\:music_disc.mellohi=true -minecraft\:music.overworld.frozen_peaks=true -minecraft\:entity.drowned.ambient=true -minecraft\:entity.elder_guardian.ambient=true -minecraft\:block.nether_wood_hanging_sign.hit=true -exposure\:item.photograph_frame.place=true -minecraft\:block.rooted_dirt.place=true -tfc\:entity.rainbow_trout.hurt=true -minecraft\:block.vine.step=true -minecraft\:block.azalea_leaves.place=true -exposure\:item.camera.viewfinder_close=true -minecraft\:music.credits=true -minecraft\:entity.zombie.converted_to_drowned=true -minecraft\:block.note_block.flute=true -tfc\:entity.largemouth_bass.hurt=true -minecraft\:entity.zombified_piglin.ambient=true -minecraft\:entity.fox.death=true -minecraft\:block.bone_block.fall=true -minecraft\:item.crossbow.quick_charge_2=true -minecraft\:item.crossbow.quick_charge_1=true -minecraft\:entity.player.splash=true -minecraft\:block.amethyst_block.chime=true -minecraft\:entity.husk.death=true -minecraft\:music_disc.far=true -minecraft\:music.end=true -create\:potato_hit_compounded_1=true -minecraft\:item.bucket.empty_powder_snow=true -minecraft\:item.bucket.fill_powder_snow=true -minecraft\:block.scaffolding.step=true -minecraft\:entity.firework_rocket.large_blast=true -minecraft\:entity.panda.eat=true -minecraft\:item.crossbow.quick_charge_3=true -minecraft\:entity.wither_skeleton.death=true -minecraft\:ambient.cave=true -minecraft\:block.cave_vines.pick_berries=true -minecraft\:entity.spider.step=true -minecraft\:entity.illusioner.mirror_move=true -tfc\:item.fertilizer.use=true -minecraft\:block.pointed_dripstone.drip_lava_into_cauldron=true -create\:steam=true -minecraft\:entity.salmon.ambient=true -minecraft\:entity.slime.hurt_small=true -minecraft\:block.azalea.step=true -minecraft\:entity.wolf.death=true -minecraft\:entity.wandering_trader.disappeared=true -minecraft\:block.pointed_dripstone.land=true -minecraft\:block.small_amethyst_bud.place=true -minecraft\:entity.mule.angry=true -minecraft\:entity.husk.hurt=true -minecraft\:block.snow.hit=true -tfc\:entity.manatee.hurt=true -tfc\:entity.boar.attack=true -minecraft\:block.portal.trigger=true -minecraft\:entity.puffer_fish.sting=true -minecraft\:block.grass.hit=true -minecraft\:block.conduit.ambient=true -minecraft\:block.deepslate_tiles.fall=true -gtceu\:portable_scanner=true -minecraft\:block.stone_pressure_plate.click_off=true -minecraft\:block.bubble_column.upwards_inside=true -minecraft\:block.copper.hit=true -minecraft\:entity.parrot.hurt=true -minecraft\:entity.horse.gallop=true -create\:copper_armor_equip=true -minecraft\:entity.allay.item_thrown=true -minecraft\:entity.zombie_horse.death=true -minecraft\:block.grass.place=true -minecraft\:entity.evoker.ambient=true -tfc\:block.peat.hit=true -minecraft\:entity.zoglin.death=true -minecraft\:entity.parrot.imitate.slime=true -minecraft\:block.bamboo_wood_trapdoor.open=true -exposure\:item.camera.film_removed=true -minecraft\:block.cave_vines.hit=true -minecraft\:block.barrel.close=true -minecraft\:entity.chicken.ambient=true -minecraft\:entity.cat.hurt=true -tfc\:random.rock_smash=true -minecraft\:entity.guardian.hurt=true -minecraft\:entity.hoglin.angry=true -minecraft\:entity.ghast.death=true -minecraft\:music_disc.mall=true -minecraft\:entity.silverfish.step=true -tfc\:entity.duck.hurt=true -tfc\:entity.manatee.death=true -minecraft\:entity.turtle.shamble=true -minecraft\:entity.shulker_bullet.hurt=true -minecraft\:music.game=true -minecraft\:block.nether_ore.break=true -minecraft\:item.bucket.empty=true -minecraft\:block.calcite.hit=true -minecraft\:block.decorated_pot.shatter=true -minecraft\:block.sculk_shrieker.step=true -tfc\:entity.sabertooth.death=true -minecraft\:entity.snowball.throw=true -minecraft\:block.chorus_flower.grow=true -minecraft\:entity.hostile.small_fall=true -minecraft\:block.bubble_column.upwards_ambient=true -tfc\:entity.hyena.hurt=true -minecraft\:entity.hoglin.attack=true -minecraft\:entity.warden.nearby_close=true -minecraft\:block.cave_vines.place=true -minecraft\:block.nylium.hit=true -minecraft\:item.bucket.empty_lava=true -tfc\:entity.caribou.step=true -minecraft\:block.azalea.fall=true -ae2\:guide.click=true -tfc\:item.armor.equip_blue_steel=true -minecraft\:block.nether_wood_hanging_sign.step=true -minecraft\:block.nether_wood_hanging_sign.place=true -minecraft\:entity.player.burp=true -minecraft\:block.cherry_wood_button.click_off=true -create\:schematicannon_launch_block=true -minecraft\:block.bamboo_wood_trapdoor.close=true -minecraft\:entity.item.pickup=true -minecraft\:entity.villager.work_butcher=true -minecraft\:entity.player.attack.knockback=true -exposure\:item.photograph.place=true -minecraft\:block.bamboo.step=true -minecraft\:block.stem.place=true -minecraft\:block.cherry_wood_hanging_sign.step=true -minecraft\:block.amethyst_cluster.break=true -minecraft\:block.glass.place=true -minecraft\:item.armor.equip_elytra=true -minecraft\:entity.cat.stray_ambient=true -minecraft\:block.small_dripleaf.step=true -minecraft\:entity.strider.eat=true -minecraft\:entity.player.hurt_drown=true -gtceu\:fire=true -exposure\:item.camera.lens_ring_click=true -minecraft\:block.growing_plant.crop=true -minecraft\:entity.lingering_potion.throw=true -minecraft\:block.cherry_sapling.hit=true -minecraft\:block.deepslate_bricks.fall=true -minecraft\:entity.zombie.attack_iron_door=true -minecraft\:entity.camel.ambient=true -minecraft\:entity.ghast.shoot=true -minecraft\:music.overworld.stony_peaks=true -minecraft\:block.cherry_leaves.place=true -minecraft\:block.bamboo.fall=true -minecraft\:block.composter.fill_success=true -minecraft\:ambient.nether_wastes.loop=true -minecraft\:entity.turtle.swim=true -minecraft\:music.under_water=true -gtceu\:portal_opening=true -minecraft\:entity.glow_squid.squirt=true -endermanoverhaul\:bubble_pearl_hit=true -minecraft\:music.overworld.meadow=true -minecraft\:entity.player.attack.sweep=true -tfc\:entity.grouse.step=true -minecraft\:block.soul_soil.hit=true -minecraft\:block.tripwire.click_on=true -minecraft\:entity.evoker.death=true -minecraft\:entity.goat.ambient=true -minecraft\:item.dye.use=true -minecraft\:entity.sniffer.hurt=true -minecraft\:block.dripstone_block.fall=true -minecraft\:block.glass.break=true -minecraft\:block.note_block.hat=true -gtceu\:file=true -minecraft\:block.cherry_leaves.break=true -minecraft\:entity.bat.ambient=true -minecraft\:block.flowering_azalea.step=true -minecraft\:item.armor.equip_turtle=true -minecraft\:entity.skeleton_horse.swim=true -minecraft\:block.mangrove_roots.place=true -minecraft\:entity.drowned.hurt=true -minecraft\:entity.player.swim=true -tfc\:item.armor.equip_bronze=true -minecraft\:entity.bat.takeoff=true -minecraft\:entity.parrot.imitate.zombie_villager=true -minecraft\:entity.painting.break=true -tfc\:item.armor.equip_red_steel=true -minecraft\:block.anvil.fall=true -minecraft\:block.hanging_sign.hit=true -alekiships\:music_disc_pirate_crafting=true -minecraft\:entity.warden.angry=true -exposure\:item.camera.filter_remove=true -minecraft\:entity.cow.hurt=true -minecraft\:entity.mooshroom.eat=true -minecraft\:block.chiseled_bookshelf.insert=true -tfc\:entity.largemouth_bass.ambient=true -minecraft\:block.sculk_shrieker.fall=true -minecraft\:block.iron_trapdoor.close=true -minecraft\:block.suspicious_gravel.step=true -minecraft\:entity.parrot.imitate.spider=true -minecraft\:block.sculk_shrieker.shriek=true -minecraft\:block.chest.close=true -minecraft\:entity.dolphin.attack=true -minecraft\:block.frogspawn.break=true -create\:train=true -minecraft\:entity.parrot.eat=true -minecraft\:item.bone_meal.use=true -minecraft\:block.small_dripleaf.fall=true -minecraft\:entity.vindicator.celebrate=true -minecraft\:entity.ocelot.ambient=true -minecraft\:entity.shulker.hurt=true -minecraft\:music.overworld.badlands=true -minecraft\:block.cave_vines.break=true -minecraft\:entity.player.attack.weak=true -gtceu\:plunger=true -minecraft\:entity.firework_rocket.shoot=true -minecraft\:block.deepslate_bricks.step=true -create\:funnel_flap_compounded_1=true -minecraft\:block.cherry_wood_hanging_sign.fall=true -gtceu\:computation=true -minecraft\:entity.lightning_bolt.thunder=false -minecraft\:entity.parrot.ambient=true -tfc\:entity.yak.death=true -minecraft\:block.cherry_wood.step=true -minecraft\:block.stem.break=true -minecraft\:entity.villager.death=true -minecraft\:block.suspicious_gravel.fall=true -minecraft\:block.amethyst_cluster.place=true -exposure\:item.camera.shutter_open=true -minecraft\:entity.villager.trade=true -minecraft\:entity.drowned.death_water=true -minecraft\:entity.cat.purr=true -minecraft\:block.conduit.ambient.short=true -minecraft\:block.piston.contract=true -tfc\:block.wattle.dyed=true -minecraft\:block.sculk_sensor.place=true -tfc\:entity.pheasant.ambient=true -minecraft\:entity.splash_potion.break=true -minecraft\:block.cherry_wood_pressure_plate.click_on=true -minecraft\:entity.item_frame.add_item=true -minecraft\:block.dripstone_block.step=true -minecraft\:entity.zombie_villager.step=true -tfc\:entity.tiger.step=true -minecraft\:block.glass.fall=true -minecraft\:block.lodestone.step=true -tfc\:entity.alpaca.step=true -minecraft\:entity.parrot.imitate.piglin=true -tfc\:entity.wildebeest.step=true -minecraft\:block.fire.extinguish=true -tfc\:entity.gazelle.ambient=true -gtceu\:metal_pipe=true -minecraft\:entity.panda.step=true -minecraft\:entity.player.hurt_on_fire=true -fallingtrees\:tree_impact=true -minecraft\:block.mud_bricks.place=true -tfc\:entity.moose.step=true -minecraft\:entity.tropical_fish.ambient=true -minecraft\:entity.sniffer.death=true -minecraft\:block.packed_mud.break=true -tfc\:item.javelin.hit_ground=true -minecraft\:entity.puffer_fish.blow_out=true -minecraft\:block.nether_wood_hanging_sign.fall=true -minecraft\:entity.parrot.imitate.vex=true -minecraft\:entity.fox.bite=true -minecraft\:ambient.warped_forest.loop=true -minecraft\:block.flowering_azalea.fall=true -minecraft\:block.sculk.spread=true -minecraft\:entity.camel.step=true -minecraft\:block.metal.break=true -create\:whistle_train_manual=true -minecraft\:ambient.crimson_forest.additions=true -minecraft\:block.cherry_wood_fence_gate.close=true -minecraft\:entity.piglin.step=true -minecraft\:entity.fishing_bobber.throw=true -minecraft\:block.packed_mud.fall=true -minecraft\:entity.horse.armor=true -minecraft\:block.amethyst_block.resonate=true -minecraft\:block.hanging_sign.step=true -minecraft\:block.nether_sprouts.step=true -minecraft\:block.nether_gold_ore.hit=true -minecraft\:block.mud_bricks.break=true -minecraft\:entity.painting.place=true -minecraft\:entity.parrot.imitate.drowned=true -gtceu\:chainsaw=true -minecraft\:entity.warden.sonic_charge=true -tfc\:entity.lion.sleep=true -minecraft\:block.chiseled_bookshelf.pickup.enchanted=true -minecraft\:music_disc.strad=true -minecraft\:entity.blaze.ambient=true -minecraft\:block.amethyst_cluster.fall=true -minecraft\:entity.cod.flop=true -minecraft\:entity.zombie_villager.cure=true -minecraft\:entity.dolphin.death=true -minecraft\:entity.warden.step=true -minecraft\:block.anvil.step=true -minecraft\:block.packed_mud.step=true -minecraft\:block.hanging_sign.fall=true -minecraft\:entity.sheep.step=true -minecraft\:entity.parrot.imitate.evoker=true -minecraft\:entity.cat.ambient=true -tfc\:item.ceramic.break=true -minecraft\:block.polished_deepslate.break=true -minecraft\:item.trident.hit=true -minecraft\:entity.magma_cube.hurt=true -minecraft\:block.wooden_pressure_plate.click_on=true -minecraft\:entity.generic.explode=true -minecraft\:block.nether_sprouts.fall=true -create\:depot_plop=true -minecraft\:entity.horse.saddle=true -minecraft\:block.lever.click=true -tfc\:block.wattle.woven=true -tfc\:entity.crocodile.hurt=true -minecraft\:block.roots.break=true -minecraft\:block.nether_wood_pressure_plate.click_off=true -minecraft\:entity.silverfish.ambient=true -create\:fwoomp=true -minecraft\:entity.zombified_piglin.death=true -minecraft\:block.bone_block.hit=true -minecraft\:entity.witch.celebrate=true -minecraft\:block.amethyst_cluster.step=true -tfc\:entity.cougar.death=true -minecraft\:ambient.soul_sand_valley.mood=true -tfc\:entity.alpaca.ambient=true -tfc\:block.large_vessel.close=true -tfc\:entity.bear.attack=true -minecraft\:block.powder_snow.hit=true -minecraft\:block.ancient_debris.place=true -minecraft\:entity.wither.death=true -minecraft\:block.sculk_sensor.break=true -gtceu\:bath=true -minecraft\:entity.ghast.scream=true -minecraft\:block.glass.step=true -minecraft\:block.lodestone.fall=true -minecraft\:block.sculk_catalyst.bloom=true -tfc\:entity.bluegill.death=true -minecraft\:block.cherry_wood_door.close=true -tfc\:entity.lake_trout.death=true -minecraft\:entity.llama.hurt=true -minecraft\:block.mangrove_roots.break=true -minecraft\:ui.stonecutter.select_recipe=true -minecraft\:entity.donkey.death=true -minecraft\:entity.allay.ambient_without_item=true -minecraft\:entity.rabbit.jump=true -astikorcarts\:entity.cart.attach=true -minecraft\:music.nether.basalt_deltas=true -minecraft\:entity.goat.screaming.milk=true -minecraft\:entity.warden.tendril_clicks=true -exposure\:item.camera.shutter_ticking=true -tfc\:block.peat.step=true -minecraft\:block.gravel.step=true -minecraft\:entity.ravager.attack=true -create\:crafter_craft=true -minecraft\:entity.parrot.imitate.blaze=true -minecraft\:entity.sniffer.searching=true -minecraft\:entity.snow_golem.death=true -tfc\:block.tool_rack.place=true -minecraft\:block.pointed_dripstone.hit=true -minecraft\:block.anvil.break=true -minecraft\:music.nether.nether_wastes=true -minecraft\:block.candle.ambient=true -minecraft\:block.nether_bricks.place=true -minecraft\:entity.zombified_piglin.hurt=true -minecraft\:entity.camel.dash=true -minecraft\:block.netherrack.fall=true -minecraft\:entity.ocelot.death=true -create\:worldshaper_place=true -minecraft\:item.shield.break=true -tfc\:block.peat.break=true -minecraft\:entity.player.hurt=true -minecraft\:item.armor.equip_generic=true -minecraft\:block.deepslate_bricks.hit=true -minecraft\:block.lantern.break=true -minecraft\:block.frogspawn.fall=true -tfc\:entity.lion.step=true -minecraft\:entity.turtle.lay_egg=true -create\:schematicannon_finish=true -minecraft\:block.cave_vines.fall=true -minecraft\:entity.wither.shoot=true -create\:train2=true -minecraft\:block.deepslate_tiles.place=true -minecraft\:entity.firework_rocket.twinkle=true -minecraft\:block.spore_blossom.fall=true -create\:train3=true -minecraft\:block.hanging_sign.place=true -minecraft\:block.netherite_block.hit=true -minecraft\:item.chorus_fruit.teleport=true -minecraft\:block.decorated_pot.hit=true -tfc\:entity.pheasant.death=true -minecraft\:block.deepslate.step=true -minecraft\:entity.villager.work_weaponsmith=true -minecraft\:block.chiseled_bookshelf.fall=true -minecraft\:block.gilded_blackstone.place=true -minecraft\:block.medium_amethyst_bud.break=true -minecraft\:entity.salmon.flop=true -gtceu\:cut=true -minecraft\:block.cherry_sapling.place=true -minecraft\:block.mud_bricks.hit=true -minecraft\:block.iron_door.close=true -minecraft\:block.mangrove_roots.fall=true -tfc\:entity.lion.ambient=true -minecraft\:item.armor.equip_gold=true -minecraft\:block.sculk_shrieker.break=true -create\:scroll_value=true -minecraft\:block.soul_sand.break=true -create\:whistle=true -gtceu\:soft_hammer=true -tfc\:entity.wildebeest.ambient=true -minecraft\:entity.generic.drink=true -minecraft\:entity.ghast.hurt=true -minecraft\:block.packed_mud.place=true -minecraft\:item.bucket.fill_axolotl=true -minecraft\:block.azalea_leaves.hit=true -endermanoverhaul\:bubble_pearl_thrown=true -minecraft\:block.cave_vines.step=true -minecraft\:entity.goat.step=true -minecraft\:entity.firework_rocket.blast_far=true -minecraft\:music.nether.crimson_forest=true -tfc\:entity.cougar.attack=true -minecraft\:item.goat_horn.sound.7=false -minecraft\:item.goat_horn.sound.6=false -minecraft\:block.sculk_shrieker.place=true -minecraft\:item.goat_horn.sound.5=false -minecraft\:item.goat_horn.sound.4=false -minecraft\:block.polished_deepslate.hit=true -minecraft\:item.bundle.insert=true -minecraft\:block.nether_bricks.hit=true -minecraft\:block.metal_pressure_plate.click_on=true -tfc\:block.loom.weave=true -tfc\:entity.manatee.flop=true -minecraft\:block.moss.break=true -minecraft\:item.goat_horn.sound.3=false -minecraft\:item.goat_horn.sound.2=false -minecraft\:item.goat_horn.sound.1=false -minecraft\:item.goat_horn.sound.0=false -minecraft\:block.pointed_dripstone.break=true -minecraft\:block.soul_sand.place=true -minecraft\:block.nether_wood_button.click_on=true -tfc\:entity.tfc_wolf.step=true -tfc\:entity.largemouth_bass.death=true -tfc\:entity.crappie.ambient=true -tfc\:item.javelin.throw=true -minecraft\:block.deepslate.fall=true -minecraft\:entity.wandering_trader.drink_milk=true -minecraft\:entity.parrot.imitate.creeper=true -minecraft\:entity.egg.throw=true -minecraft\:entity.magma_cube.squish=true -minecraft\:block.wool.break=true -minecraft\:entity.skeleton.shoot=true -minecraft\:entity.piglin_brute.step=true -gtceu\:screwdriver=true -tfc\:entity.alpaca.death=true -minecraft\:entity.drowned.death=true -minecraft\:block.weeping_vines.hit=true -minecraft\:block.bamboo_wood.hit=true -minecraft\:entity.bee.hurt=true -minecraft\:block.frogspawn.step=true -tfc\:entity.quail.death=true -minecraft\:block.vine.place=true -minecraft\:item.crossbow.loading_end=true -minecraft\:music.overworld.dripstone_caves=true -minecraft\:entity.player.attack.strong=true -tfc\:block.barrel.close=true -minecraft\:block.beehive.shear=true -minecraft\:entity.snow_golem.shoot=true -minecraft\:block.moss.hit=true -minecraft\:entity.panda.pre_sneeze=true -create\:controller_put=true -minecraft\:entity.cat.eat=true -tfc\:entity.jellyfish.flop=true -minecraft\:block.smithing_table.use=true -minecraft\:block.stem.fall=true -minecraft\:block.conduit.activate=true -railways\:conductor_whistle=true -minecraft\:ui.toast.out=true -tfc\:entity.grouse.ambient=true -minecraft\:block.mangrove_roots.step=true -waves\:waves.waves_breaking=true -minecraft\:entity.ender_eye.death=true -minecraft\:block.chorus_flower.death=true -minecraft\:block.deepslate_tiles.break=true -minecraft\:entity.vindicator.ambient=true -minecraft\:entity.frog.hurt=true -minecraft\:entity.puffer_fish.blow_up=true -minecraft\:block.basalt.place=true -minecraft\:block.muddy_mangrove_roots.place=true -minecraft\:music.overworld.sparse_jungle=true -minecraft\:entity.glow_squid.hurt=true -minecraft\:entity.zoglin.step=true -minecraft\:entity.elder_guardian.flop=true -minecraft\:entity.lightning_bolt.impact=true -minecraft\:entity.panda.cant_breed=true -minecraft\:item.book.page_turn=true -minecraft\:block.pink_petals.hit=true -minecraft\:entity.bat.hurt=true -minecraft\:entity.fox.sleep=true -minecraft\:block.medium_amethyst_bud.place=true -minecraft\:music.overworld.old_growth_taiga=true -minecraft\:block.sign.waxed_interact_fail=true -minecraft\:entity.glow_squid.death=true -minecraft\:ui.cartography_table.take_result=true -minecraft\:entity.zombie.attack_wooden_door=true -minecraft\:entity.illusioner.cast_spell=true -minecraft\:entity.salmon.death=true -minecraft\:entity.hostile.hurt=true -minecraft\:block.anvil.place=true -minecraft\:block.brewing_stand.brew=true -minecraft\:block.bamboo.break=true -create\:whistle_train_manual_low_end=true -minecraft\:block.glass.hit=true -minecraft\:block.shroomlight.fall=true -create\:deny=true -tfc\:item.armor.equip_copper=true -minecraft\:item.crop.plant=true -minecraft\:music_disc.chirp=true -tfc\:entity.deer.hurt=true -minecraft\:block.frogspawn.hit=true -minecraft\:entity.chicken.hurt=true -minecraft\:block.furnace.fire_crackle=true -minecraft\:entity.horse.step_wood=true -tfc\:entity.penguin.death=true -minecraft\:block.note_block.bell=true -create\:depot_slide=true -minecraft\:block.nether_wood.hit=true -minecraft\:entity.warden.agitated=true -minecraft\:entity.panda.worried_ambient=true -minecraft\:block.copper.step=true -minecraft\:entity.wolf.hurt=true -minecraft\:entity.enderman.teleport=true -minecraft\:block.lodestone.hit=true -minecraft\:block.gravel.fall=true -minecraft\:block.pointed_dripstone.step=true -minecraft\:entity.skeleton.death=true -minecraft\:block.deepslate_tiles.hit=true -minecraft\:entity.warden.sonic_boom=true -minecraft\:entity.llama.angry=true -minecraft\:entity.glow_item_frame.add_item=true -minecraft\:entity.wither.spawn=true -minecraft\:block.wool.place=true -minecraft\:block.stem.step=true -minecraft\:block.hanging_sign.break=true -minecraft\:block.gravel.break=true -minecraft\:block.vine.break=true -minecraft\:entity.warden.listening=true -minecraft\:block.basalt.hit=true -minecraft\:block.smoker.smoke=true -minecraft\:entity.wolf.growl=true -minecraft\:music_disc.5=true -minecraft\:entity.pillager.death=true -minecraft\:entity.ravager.step=true -create\:wrench_remove=true -minecraft\:item.axe.scrape=true -minecraft\:item.crossbow.loading_middle=true -minecraft\:entity.evoker.celebrate=true -minecraft\:block.copper.fall=true -minecraft\:entity.drowned.shoot=true -minecraft\:block.wood.hit=true -minecraft\:entity.zombie.hurt=true -gtceu\:mortar=true -minecraft\:block.composter.ready=true -tfc\:entity.sabertooth.hurt=true -exposure\:item.camera.interplanar_projector.project=true -minecraft\:entity.frog.eat=true -minecraft\:entity.parrot.imitate.illusioner=true -minecraft\:block.nether_bricks.step=true -tfc\:entity.crocodile.ambient=true -minecraft\:entity.illusioner.ambient=true -minecraft\:ambient.nether_wastes.additions=true -endermanoverhaul\:tall_enderman_death=true -chalk\:item.chalk_box_close=true -minecraft\:entity.camel.sit=true -minecraft\:entity.parrot.fly=true -tfc\:block.peat.fall=true -minecraft\:entity.boat.paddle_water=true -tfc\:entity.tfc_wolf.attack=true -minecraft\:entity.stray.ambient=true -minecraft\:entity.horse.step=true -tfc\:entity.bongo.hurt=true -tfc\:item.armor.equip_black_bronze=true -minecraft\:entity.enderman.hurt=true -minecraft\:item.shovel.flatten=true -minecraft\:item.bottle.empty=true -minecraft\:block.note_block.basedrum=true -minecraft\:block.sculk.charge=true -minecraft\:entity.item_frame.rotate_item=true -minecraft\:item.axe.strip=true -minecraft\:entity.axolotl.idle_air=true -minecraft\:block.netherrack.step=true -tfc\:entity.dog.ambient=true -minecraft\:entity.puffer_fish.ambient=true -createaddition\:electric_motor_buzz=true -minecraft\:entity.panda.hurt=true -minecraft\:block.powder_snow.step=true -tfc\:entity.hyena.sleep=true -tfc\:entity.bear.death=true -minecraft\:entity.shulker.close=true -minecraft\:block.shroomlight.step=true -tfc\:block.peat.place=true -tfc\:entity.tfc_wolf.sleep=true -minecraft\:entity.ender_eye.launch=true -tfc\:block.thatch.break=true -minecraft\:block.bamboo.place=true -tfc\:entity.crocodile.death=true -minecraft\:block.pointed_dripstone.drip_water_into_cauldron=true -tfc\:entity.dog.death=true -minecraft\:block.shulker_box.open=true -minecraft\:block.piston.extend=true -tfc\:entity.gazelle.death=true -minecraft\:entity.slime.attack=true -minecraft\:block.rooted_dirt.break=true -tfc\:entity.tiger.ambient=true -minecraft\:entity.goat.ram_impact=true -tfc\:block.crop.stick_add=true -minecraft\:entity.warden.hurt=true -minecraft\:ui.stonecutter.take_result=true -minecraft\:block.wool.step=true -tfc\:entity.hyena.ambient=true -minecraft\:block.bamboo_wood_fence_gate.open=true -tfc\:random.rock_slide_long=true -tfc\:entity.sabertooth.attack=true -minecraft\:block.cherry_wood_hanging_sign.break=true -minecraft\:entity.creeper.hurt=true -minecraft\:block.note_block.imitate.piglin=true -tfc\:block.thatch.hit=true -minecraft\:item.bucket.empty_axolotl=true -minecraft\:block.tripwire.click_off=true -minecraft\:entity.wandering_trader.ambient=true -minecraft\:block.iron_trapdoor.open=true -minecraft\:music.nether.warped_forest=true -minecraft\:block.suspicious_sand.step=true -minecraft\:entity.piglin_brute.angry=true -minecraft\:block.bamboo_wood_door.close=true -minecraft\:entity.spider.hurt=true -minecraft\:entity.witch.drink=true -endermanoverhaul\:tall_enderman_stare=true -minecraft\:entity.player.splash.high_speed=true -minecraft\:entity.donkey.hurt=true -minecraft\:entity.sniffer.eat=true -minecraft\:entity.snow_golem.hurt=true -minecraft\:block.bamboo_wood_fence_gate.close=true -minecraft\:block.nether_bricks.fall=true -minecraft\:block.beacon.power_select=true -minecraft\:block.suspicious_sand.break=true -minecraft\:block.snow.step=true -minecraft\:block.suspicious_gravel.hit=true -create\:whistle_train_manual_end=true -exposure\:item.photograph_frame.rotate_item=true -minecraft\:block.anvil.use=true -minecraft\:item.goat_horn.play=true -minecraft\:entity.minecart.inside=true -minecraft\:entity.wither.hurt=true -minecraft\:block.nylium.place=true -minecraft\:entity.shulker.ambient=true -tfc\:entity.largemouth_bass.flop=true -tfc\:entity.cougar.step=true -minecraft\:entity.tadpole.hurt=true -minecraft\:block.big_dripleaf.tilt_up=true -gtceu\:forge_hammer=true -minecraft\:block.froglight.step=true -chalk\:item.chalk_box_change=true -endermanoverhaul\:dark_oak_enderman_stare=true -minecraft\:block.suspicious_sand.fall=true -minecraft\:block.sculk_sensor.clicking=true -tfc\:entity.quail.step=true -minecraft\:entity.villager.hurt=true -minecraft\:block.suspicious_sand.place=true -minecraft\:block.coral_block.hit=true -minecraft\:entity.pillager.hurt=true -tfc\:entity.crocodile.sleep=true -create\:cogs=true -minecraft\:entity.cod.hurt=true -minecraft\:entity.parrot.imitate.skeleton=true -minecraft\:entity.piglin.angry=true -minecraft\:entity.zoglin.angry=true -tfc\:entity.musk_ox.hurt=true -minecraft\:entity.glow_item_frame.rotate_item=true -tfc\:entity.sabertooth.sleep=true -minecraft\:block.mangrove_roots.hit=true -minecraft\:block.powder_snow.fall=true -minecraft\:entity.warden.attack_impact=true -minecraft\:block.muddy_mangrove_roots.break=true -minecraft\:block.azalea.place=true -minecraft\:entity.ravager.ambient=true -minecraft\:entity.strider.death=true -minecraft\:ambient.underwater.exit=true -minecraft\:entity.parrot.imitate.stray=true -minecraft\:entity.slime.jump=true -create\:crafter_click_compounded_1=true -minecraft\:item.brush.brushing.sand=true -minecraft\:entity.mule.hurt=true -minecraft\:block.rooted_dirt.step=true -minecraft\:entity.axolotl.hurt=true -minecraft\:entity.villager.no=true -minecraft\:block.azalea.hit=true -tfc\:item.knapping.clay=true -minecraft\:music.overworld.swamp=true -minecraft\:music.creative=true -tfc\:entity.crocodile.step=true -minecraft\:entity.villager.work_fletcher=true -minecraft\:entity.villager.work_mason=true -create\:haunted_bell_use=true -minecraft\:entity.skeleton.converted_to_stray=true -create\:controller_click=true -minecraft\:entity.allay.death=true -minecraft\:block.spore_blossom.step=true -create\:spout=true -minecraft\:music.overworld.desert=true -minecraft\:block.suspicious_sand.hit=true -minecraft\:block.wooden_door.close=true -minecraft\:block.nylium.break=true -tfc\:entity.yak.step=true -minecraft\:item.axe.wax_off=true -minecraft\:entity.evoker.cast_spell=true -minecraft\:particle.soul_escape=true -minecraft\:block.chiseled_bookshelf.step=true -minecraft\:block.froglight.fall=true -minecraft\:block.honey_block.place=true -tfc\:entity.bear.ambient=true -minecraft\:entity.mule.chest=true -minecraft\:block.scaffolding.place=true -tfc\:block.large_vessel.open=true -tfc\:entity.deer.death=true -minecraft\:block.netherrack.hit=true -minecraft\:entity.wandering_trader.drink_potion=true -create\:contraption_assemble_compounded_1=true -minecraft\:block.snow.fall=true -minecraft\:entity.tropical_fish.hurt=true -minecraft\:block.cherry_sapling.break=true -minecraft\:entity.polar_bear.death=true -minecraft\:block.pink_petals.fall=true -minecraft\:block.cherry_wood_hanging_sign.hit=true -tfc\:entity.musk_ox.ambient=true -minecraft\:music.overworld.deep_dark=true -tfc\:block.barrel.drip=true -minecraft\:block.chiseled_bookshelf.place=true -minecraft\:block.cherry_wood_door.open=true -minecraft\:item.lodestone_compass.lock=true -exposure\:item.camera.filter_insert=true -minecraft\:block.note_block.imitate.skeleton=true -tfc\:entity.penguin.step=true -createaddition\:electric_charge=true -minecraft\:block.rooted_dirt.fall=true -minecraft\:block.lantern.hit=true -minecraft\:entity.sniffer.idle=true -tfc\:entity.hyena.step=true -minecraft\:block.grass.fall=true -minecraft\:entity.evoker_fangs.attack=true -minecraft\:entity.witch.throw=true -minecraft\:block.crop.break=true -minecraft\:entity.donkey.chest=true -minecraft\:item.brush.brushing.generic=true -minecraft\:block.cherry_leaves.step=true -minecraft\:block.cherry_wood_hanging_sign.place=true -tfc\:entity.gazelle.step=true -minecraft\:entity.zombie.destroy_egg=true -minecraft\:entity.drowned.step=true -minecraft\:block.muddy_mangrove_roots.hit=true -minecraft\:block.wool.fall=true -minecraft\:entity.endermite.step=true -minecraft\:entity.parrot.imitate.piglin_brute=true -create\:crafter_click=true -minecraft\:entity.shulker_bullet.hit=true -minecraft\:block.note_block.iron_xylophone=true -minecraft\:entity.vindicator.death=true -tfc\:entity.deer.ambient=true -minecraft\:block.nether_bricks.break=true -minecraft\:entity.warden.emerge=true -minecraft\:block.small_dripleaf.hit=true -minecraft\:ambient.soul_sand_valley.loop=true -minecraft\:item.armor.equip_netherite=true -minecraft\:item.brush.brushing.sand.complete=true -minecraft\:block.barrel.open=true -gtceu\:miner=true -tfc\:item.knapping.stone=true -minecraft\:entity.phantom.bite=true -minecraft\:entity.sheep.death=true -minecraft\:block.grass.step=true -minecraft\:entity.dragon_fireball.explode=true -minecraft\:entity.mooshroom.shear=true -minecraft\:entity.goat.horn_break=true -tfc\:block.thatch.place=true -minecraft\:entity.iron_golem.hurt=true -minecraft\:entity.llama.spit=true -minecraft\:ambient.basalt_deltas.additions=true -minecraft\:entity.goat.milk=true -minecraft\:entity.slime.jump_small=true -minecraft\:entity.frog.lay_spawn=true -chalk\:item.chalk_draw=true -tfc\:entity.grouse.hurt=true -tfc\:block.thin.step=true -minecraft\:block.nether_wood_trapdoor.open=true -minecraft\:block.lantern.place=true -minecraft\:block.moss.place=true -minecraft\:block.wood.break=true -minecraft\:enchant.thorns.hit=true -tfc\:entity.yak.ambient=true -minecraft\:block.scaffolding.break=true -minecraft\:block.composter.fill=true -immersive_aircraft\:propeller_tiny=true -minecraft\:item.book.put=true diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties index b0f3a0daf..53adea71f 100644 --- a/config/sound_physics_remastered/occlusion.properties +++ b/config/sound_physics_remastered/occlusion.properties @@ -9,211 +9,211 @@ # By block ID: # minecraft\:oak_log=1.0 -# Slime Block (Sound Type) -SLIME_BLOCK=1.0 -# Copper (Sound Type) -COPPER=1.0 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=1.0 -# Roots (Sound Type) -ROOTS=0.0 -# Shroomlight (Sound Type) -SHROOMLIGHT=1.0 -# Froglight (Sound Type) -FROGLIGHT=1.0 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=1.0 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.0 -# Suspicious Gravel (Sound Type) -SUSPICIOUS_GRAVEL=1.0 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=1.0 +# Amethyst (Sound Type) +AMETHYST=1.0 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=1.0 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=1.0 # Anvil (Sound Type) ANVIL=1.0 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=1.0 -# Powder Snow (Sound Type) -POWDER_SNOW=0.1 -# Spore Blossom (Sound Type) -SPORE_BLOSSOM=0.0 -# Soul Soil (Sound Type) -SOUL_SOIL=1.0 -# Wet Grass (Sound Type) -WET_GRASS=0.1 -# Deepslate Bricks (Sound Type) -DEEPSLATE_BRICKS=1.0 +# Azalea (Sound Type) +AZALEA=1.0 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=1.0 +# Bamboo (Sound Type) +BAMBOO=0.1 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.1 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=1.0 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=1.0 +# Basalt (Sound Type) +BASALT=1.0 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=1.0 +# Bone Block (Sound Type) +BONE_BLOCK=1.0 +# Calcite (Sound Type) +CALCITE=1.0 +# Candle (Sound Type) +CANDLE=1.0 +# Cave Vines (Sound Type) +CAVE_VINES=1.0 +# Chain (Sound Type) +CHAIN=0.0 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=1.0 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=1.0 +# Cherry Wood (Sound Type) +CHERRY_WOOD=1.0 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=1.0 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=1.0 +# Copper (Sound Type) +COPPER=1.0 +# Coral Block (Sound Type) +CORAL_BLOCK=1.0 # Crop (Sound Type) CROP=0.0 # Decorated Pot (Sound Type) DECORATED_POT=1.0 -# Scaffolding (Sound Type) -SCAFFOLDING=0.0 -# Nether Bricks (Sound Type) -NETHER_BRICKS=1.0 -# Vine (Sound Type) -VINE=0.0 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.0 -# Calcite (Sound Type) -CALCITE=1.0 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=1.0 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=1.0 -# Bamboo Wood (Sound Type) -BAMBOO_WOOD=1.0 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=1.0 -# Bone Block (Sound Type) -BONE_BLOCK=1.0 -# Sculk (Sound Type) -SCULK=1.0 -# Wood (Sound Type) -WOOD=1.0 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.0 -# Soul Sand (Sound Type) -SOUL_SAND=1.0 -# Sculk Vein (Sound Type) -SCULK_VEIN=1.0 -# Twisting Vines (Sound Type) -TWISTING_VINES=0.0 -# Small Amethyst Bud (Sound Type) -SMALL_AMETHYST_BUD=0.0 -# Basalt (Sound Type) -BASALT=1.0 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.1 -# Nether Wart (Sound Type) -NETHER_WART=1.0 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=1.0 -# Sand (Sound Type) -SAND=1.0 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=1.0 +# Deepslate (Sound Type) +DEEPSLATE=1.0 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.0 # Deepslate Tiles (Sound Type) DEEPSLATE_TILES=1.0 # Dripstone Block (Sound Type) DRIPSTONE_BLOCK=1.0 -# Mud (Sound Type) -MUD=1.0 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.0 -# Wart Block (Sound Type) -WART_BLOCK=1.0 -# Amethyst (Sound Type) -AMETHYST=1.0 -# Hanging Sign (Sound Type) -HANGING_SIGN=1.0 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.0 -# Large Amethyst Bud (Sound Type) -LARGE_AMETHYST_BUD=0.0 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=1.0 -# Azalea (Sound Type) -AZALEA=1.0 -# Stone (Sound Type) -STONE=1.0 -# Fungus (Sound Type) -FUNGUS=0.0 -# Small Dripleaf (Sound Type) -SMALL_DRIPLEAF=0.0 -# Lantern (Sound Type) -LANTERN=1.0 -# Lodestone (Sound Type) -LODESTONE=1.0 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.0 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=1.0 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=1.0 -# Candle (Sound Type) -CANDLE=1.0 -# Bamboo (Sound Type) -BAMBOO=0.1 -# Nether Ore (Sound Type) -NETHER_ORE=1.0 -# Cave Vines (Sound Type) -CAVE_VINES=1.0 -# Glass (Sound Type) -GLASS=0.1 -# Ladder (Sound Type) -LADDER=0.0 -# Stem (Sound Type) -STEM=1.0 -# Hard Crop (Sound Type) -HARD_CROP=1.0 -# Chain (Sound Type) -CHAIN=0.0 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=1.0 -# Wool (Sound Type) -WOOL=1.5 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.1 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=1.0 -# Nylium (Sound Type) -NYLIUM=1.0 -# Packed Mud (Sound Type) -PACKED_MUD=1.0 -# Metal (Sound Type) -METAL=1.0 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=1.0 +# Froglight (Sound Type) +FROGLIGHT=1.0 # Frogspawn (Sound Type) FROGSPAWN=1.0 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.0 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=1.0 -# Nether Wood (Sound Type) -NETHER_WOOD=1.0 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=1.0 -# Moss (Sound Type) -MOSS=0.75 -# Sculk Catalyst (Sound Type) -SCULK_CATALYST=1.0 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=1.0 -# Deepslate (Sound Type) -DEEPSLATE=1.0 -# Snow (Sound Type) -SNOW=0.1 -# Coral Block (Sound Type) -CORAL_BLOCK=1.0 -# Hanging Roots (Sound Type) -HANGING_ROOTS=1.0 -# Mangrove Roots (Sound Type) -MANGROVE_ROOTS=1.0 -# Mud Bricks (Sound Type) -MUD_BRICKS=1.0 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=1.0 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.0 +# Fungus (Sound Type) +FUNGUS=0.0 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=1.0 +# Glass (Sound Type) +GLASS=0.1 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.0 # Grass (Sound Type) GRASS=1.0 # Gravel (Sound Type) GRAVEL=1.0 +# Hanging Roots (Sound Type) +HANGING_ROOTS=1.0 +# Hanging Sign (Sound Type) +HANGING_SIGN=1.0 +# Hard Crop (Sound Type) +HARD_CROP=1.0 # Honey Block (Sound Type) HONEY_BLOCK=0.5 -# Azalea Leaves (Sound Type) -AZALEA_LEAVES=1.0 -# Cherry Wood (Sound Type) -CHERRY_WOOD=1.0 -# Tuff (Sound Type) -TUFF=1.0 +# Ladder (Sound Type) +LADDER=0.0 +# Lantern (Sound Type) +LANTERN=1.0 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.0 # Lily Pad (Sound Type) LILY_PAD=0.0 +# Lodestone (Sound Type) +LODESTONE=1.0 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=1.0 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.0 +# Metal (Sound Type) +METAL=1.0 +# Moss (Sound Type) +MOSS=0.75 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.1 +# Mud (Sound Type) +MUD=1.0 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=1.0 +# Mud Bricks (Sound Type) +MUD_BRICKS=1.0 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.0 # Netherrack (Sound Type) NETHERRACK=1.0 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.0 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.0 +# Nether Ore (Sound Type) +NETHER_ORE=1.0 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=1.0 +# Nether Wart (Sound Type) +NETHER_WART=1.0 +# Nether Wood (Sound Type) +NETHER_WOOD=1.0 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=1.0 +# Nylium (Sound Type) +NYLIUM=1.0 +# Packed Mud (Sound Type) +PACKED_MUD=1.0 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.0 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.0 +# Powder Snow (Sound Type) +POWDER_SNOW=0.1 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=1.0 +# Roots (Sound Type) +ROOTS=0.0 +# Sand (Sound Type) +SAND=1.0 +# Scaffolding (Sound Type) +SCAFFOLDING=0.0 +# Sculk (Sound Type) +SCULK=1.0 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=1.0 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=1.0 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=1.0 +# Sculk Vein (Sound Type) +SCULK_VEIN=1.0 +# Shroomlight (Sound Type) +SHROOMLIGHT=1.0 +# Slime Block (Sound Type) +SLIME_BLOCK=1.0 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.0 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.0 +# Snow (Sound Type) +SNOW=0.1 +# Soul Sand (Sound Type) +SOUL_SAND=1.0 +# Soul Soil (Sound Type) +SOUL_SOIL=1.0 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.0 +# Stem (Sound Type) +STEM=1.0 +# Stone (Sound Type) +STONE=1.0 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=1.0 # Suspicious Sand (Sound Type) SUSPICIOUS_SAND=1.0 -# Water (Block) -minecraft\:water=0.25 -# Lava (Block) -minecraft\:lava=0.75 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.0 +# Tuff (Sound Type) +TUFF=1.0 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.0 +# Vine (Sound Type) +VINE=0.0 +# Wart Block (Sound Type) +WART_BLOCK=1.0 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.0 +# Wet Grass (Sound Type) +WET_GRASS=0.1 +# Wood (Sound Type) +WOOD=1.0 +# Wool (Sound Type) +WOOL=1.5 # Jukebox (Block) minecraft\:jukebox=0.0 +# Lava (Block) +minecraft\:lava=0.75 +# Water (Block) +minecraft\:water=0.25 diff --git a/config/sound_physics_remastered/reflectivity.properties b/config/sound_physics_remastered/reflectivity.properties index f6471f930..9386f0971 100644 --- a/config/sound_physics_remastered/reflectivity.properties +++ b/config/sound_physics_remastered/reflectivity.properties @@ -9,205 +9,205 @@ # By block ID: # minecraft\:oak_log=1.0 -# Slime Block (Sound Type) -SLIME_BLOCK=0.5 -# Copper (Sound Type) -COPPER=1.25 -# Cherry Sapling (Sound Type) -CHERRY_SAPLING=0.5 -# Roots (Sound Type) -ROOTS=0.5 -# Shroomlight (Sound Type) -SHROOMLIGHT=0.5 -# Froglight (Sound Type) -FROGLIGHT=0.5 -# Rooted Dirt (Sound Type) -ROOTED_DIRT=0.5 -# Nether Gold Ore (Sound Type) -NETHER_GOLD_ORE=1.1 -# Suspicious Gravel (Sound Type) -SUSPICIOUS_GRAVEL=0.5 -# Flowering Azalea (Sound Type) -FLOWERING_AZALEA=0.5 +# Amethyst (Sound Type) +AMETHYST=1.5 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=0.5 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=0.5 # Anvil (Sound Type) ANVIL=0.5 -# Decorated Pot Cracked (Sound Type) -DECORATED_POT_CRACKED=0.5 -# Powder Snow (Sound Type) -POWDER_SNOW=0.5 -# Spore Blossom (Sound Type) -SPORE_BLOSSOM=0.5 -# Soul Soil (Sound Type) -SOUL_SOIL=0.2 -# Wet Grass (Sound Type) -WET_GRASS=0.5 -# Deepslate Bricks (Sound Type) -DEEPSLATE_BRICKS=1.5 +# Azalea (Sound Type) +AZALEA=0.5 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=0.5 +# Bamboo (Sound Type) +BAMBOO=0.5 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.5 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=0.5 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=0.5 +# Basalt (Sound Type) +BASALT=1.5 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=0.5 +# Bone Block (Sound Type) +BONE_BLOCK=1.5 +# Calcite (Sound Type) +CALCITE=1.5 +# Candle (Sound Type) +CANDLE=0.5 +# Cave Vines (Sound Type) +CAVE_VINES=0.5 +# Chain (Sound Type) +CHAIN=0.5 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=0.5 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=0.5 +# Cherry Wood (Sound Type) +CHERRY_WOOD=0.5 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=0.5 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=0.5 +# Copper (Sound Type) +COPPER=1.25 +# Coral Block (Sound Type) +CORAL_BLOCK=0.2 # Crop (Sound Type) CROP=0.5 # Decorated Pot (Sound Type) DECORATED_POT=0.5 -# Scaffolding (Sound Type) -SCAFFOLDING=0.5 -# Nether Bricks (Sound Type) -NETHER_BRICKS=1.5 -# Vine (Sound Type) -VINE=0.5 -# Medium Amethyst Bud (Sound Type) -MEDIUM_AMETHYST_BUD=0.5 -# Calcite (Sound Type) -CALCITE=1.5 -# Bamboo Wood Hanging Sign (Sound Type) -BAMBOO_WOOD_HANGING_SIGN=0.5 -# Gilded Blackstone (Sound Type) -GILDED_BLACKSTONE=0.5 -# Bamboo Wood (Sound Type) -BAMBOO_WOOD=0.5 -# Ancient Debris (Sound Type) -ANCIENT_DEBRIS=0.5 -# Bone Block (Sound Type) -BONE_BLOCK=1.5 -# Sculk (Sound Type) -SCULK=0.5 -# Wood (Sound Type) -WOOD=0.4 -# Netherite Block (Sound Type) -NETHERITE_BLOCK=1.5 -# Soul Sand (Sound Type) -SOUL_SAND=0.2 -# Sculk Vein (Sound Type) -SCULK_VEIN=0.5 -# Twisting Vines (Sound Type) -TWISTING_VINES=0.5 -# Small Amethyst Bud (Sound Type) -SMALL_AMETHYST_BUD=0.5 -# Basalt (Sound Type) -BASALT=1.5 -# Bamboo Sapling (Sound Type) -BAMBOO_SAPLING=0.5 -# Nether Wart (Sound Type) -NETHER_WART=0.5 -# Nether Wood Hanging Sign (Sound Type) -NETHER_WOOD_HANGING_SIGN=0.5 -# Sand (Sound Type) -SAND=0.2 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=0.5 +# Deepslate (Sound Type) +DEEPSLATE=1.5 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.5 # Deepslate Tiles (Sound Type) DEEPSLATE_TILES=1.5 # Dripstone Block (Sound Type) DRIPSTONE_BLOCK=0.5 -# Mud (Sound Type) -MUD=0.5 -# Weeping Vines (Sound Type) -WEEPING_VINES=0.5 -# Wart Block (Sound Type) -WART_BLOCK=0.5 -# Amethyst (Sound Type) -AMETHYST=1.5 -# Hanging Sign (Sound Type) -HANGING_SIGN=0.5 -# Glow Lichen (Sound Type) -GLOW_LICHEN=0.5 -# Large Amethyst Bud (Sound Type) -LARGE_AMETHYST_BUD=0.5 -# Sculk Sensor (Sound Type) -SCULK_SENSOR=0.5 -# Azalea (Sound Type) -AZALEA=0.5 -# Stone (Sound Type) -STONE=1.5 -# Fungus (Sound Type) -FUNGUS=0.5 -# Small Dripleaf (Sound Type) -SMALL_DRIPLEAF=0.5 -# Lantern (Sound Type) -LANTERN=0.5 -# Lodestone (Sound Type) -LODESTONE=0.5 -# Pointed Dripstone (Sound Type) -POINTED_DRIPSTONE=0.5 -# Big Dripleaf (Sound Type) -BIG_DRIPLEAF=0.5 -# Chiseled Bookshelf (Sound Type) -CHISELED_BOOKSHELF=0.5 -# Candle (Sound Type) -CANDLE=0.5 -# Bamboo (Sound Type) -BAMBOO=0.5 -# Nether Ore (Sound Type) -NETHER_ORE=1.1 -# Cave Vines (Sound Type) -CAVE_VINES=0.5 -# Glass (Sound Type) -GLASS=0.75 -# Ladder (Sound Type) -LADDER=0.5 -# Stem (Sound Type) -STEM=0.4 -# Hard Crop (Sound Type) -HARD_CROP=0.5 -# Chain (Sound Type) -CHAIN=0.5 -# Nether Sprouts (Sound Type) -NETHER_SPROUTS=0.5 -# Wool (Sound Type) -WOOL=0.1 -# Moss Carpet (Sound Type) -MOSS_CARPET=0.5 -# Cherry Leaves (Sound Type) -CHERRY_LEAVES=0.5 -# Nylium (Sound Type) -NYLIUM=0.5 -# Packed Mud (Sound Type) -PACKED_MUD=0.5 -# Metal (Sound Type) -METAL=1.25 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=0.5 +# Froglight (Sound Type) +FROGLIGHT=0.5 # Frogspawn (Sound Type) FROGSPAWN=0.5 -# Sweet Berry Bush (Sound Type) -SWEET_BERRY_BUSH=0.5 -# Sculk Shrieker (Sound Type) -SCULK_SHRIEKER=0.5 -# Nether Wood (Sound Type) -NETHER_WOOD=0.5 -# Amethyst Cluster (Sound Type) -AMETHYST_CLUSTER=0.5 -# Moss (Sound Type) -MOSS=0.1 -# Sculk Catalyst (Sound Type) -SCULK_CATALYST=0.5 -# Muddy Mangrove Roots (Sound Type) -MUDDY_MANGROVE_ROOTS=0.5 -# Deepslate (Sound Type) -DEEPSLATE=1.5 -# Snow (Sound Type) -SNOW=0.15 -# Coral Block (Sound Type) -CORAL_BLOCK=0.2 -# Hanging Roots (Sound Type) -HANGING_ROOTS=0.5 -# Mangrove Roots (Sound Type) -MANGROVE_ROOTS=0.5 -# Mud Bricks (Sound Type) -MUD_BRICKS=0.5 -# Cherry Wood Hanging Sign (Sound Type) -CHERRY_WOOD_HANGING_SIGN=0.5 -# Polished Deepslate (Sound Type) -POLISHED_DEEPSLATE=1.5 +# Fungus (Sound Type) +FUNGUS=0.5 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=0.5 +# Glass (Sound Type) +GLASS=0.75 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.5 # Grass (Sound Type) GRASS=0.3 # Gravel (Sound Type) GRAVEL=0.3 +# Hanging Roots (Sound Type) +HANGING_ROOTS=0.5 +# Hanging Sign (Sound Type) +HANGING_SIGN=0.5 +# Hard Crop (Sound Type) +HARD_CROP=0.5 # Honey Block (Sound Type) HONEY_BLOCK=0.1 -# Azalea Leaves (Sound Type) -AZALEA_LEAVES=0.5 -# Cherry Wood (Sound Type) -CHERRY_WOOD=0.5 -# Tuff (Sound Type) -TUFF=1.5 +# Ladder (Sound Type) +LADDER=0.5 +# Lantern (Sound Type) +LANTERN=0.5 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.5 # Lily Pad (Sound Type) LILY_PAD=0.5 +# Lodestone (Sound Type) +LODESTONE=0.5 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=0.5 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.5 +# Metal (Sound Type) +METAL=1.25 +# Moss (Sound Type) +MOSS=0.1 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.5 +# Mud (Sound Type) +MUD=0.5 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=0.5 +# Mud Bricks (Sound Type) +MUD_BRICKS=0.5 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.5 # Netherrack (Sound Type) NETHERRACK=1.1 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.5 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.1 +# Nether Ore (Sound Type) +NETHER_ORE=1.1 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=0.5 +# Nether Wart (Sound Type) +NETHER_WART=0.5 +# Nether Wood (Sound Type) +NETHER_WOOD=0.5 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=0.5 +# Nylium (Sound Type) +NYLIUM=0.5 +# Packed Mud (Sound Type) +PACKED_MUD=0.5 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.5 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.5 +# Powder Snow (Sound Type) +POWDER_SNOW=0.5 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=0.5 +# Roots (Sound Type) +ROOTS=0.5 +# Sand (Sound Type) +SAND=0.2 +# Scaffolding (Sound Type) +SCAFFOLDING=0.5 +# Sculk (Sound Type) +SCULK=0.5 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=0.5 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=0.5 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=0.5 +# Sculk Vein (Sound Type) +SCULK_VEIN=0.5 +# Shroomlight (Sound Type) +SHROOMLIGHT=0.5 +# Slime Block (Sound Type) +SLIME_BLOCK=0.5 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.5 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.5 +# Snow (Sound Type) +SNOW=0.15 +# Soul Sand (Sound Type) +SOUL_SAND=0.2 +# Soul Soil (Sound Type) +SOUL_SOIL=0.2 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.5 +# Stem (Sound Type) +STEM=0.4 +# Stone (Sound Type) +STONE=1.5 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=0.5 # Suspicious Sand (Sound Type) SUSPICIOUS_SAND=0.5 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.5 +# Tuff (Sound Type) +TUFF=1.5 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.5 +# Vine (Sound Type) +VINE=0.5 +# Wart Block (Sound Type) +WART_BLOCK=0.5 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.5 +# Wet Grass (Sound Type) +WET_GRASS=0.5 +# Wood (Sound Type) +WOOD=0.4 +# Wool (Sound Type) +WOOL=0.1 diff --git a/config/sound_physics_remastered/sound_rates.properties b/config/sound_physics_remastered/sound_rates.properties new file mode 100644 index 000000000..9ff573f0d --- /dev/null +++ b/config/sound_physics_remastered/sound_rates.properties @@ -0,0 +1,2303 @@ +# Max sounds per tick. +# Set to '-1' for an unlimited number of sounds per tick processed. +# Set to '0' to disable sound physics for that sound. +# Set to '>=1' to configure the maximum number of sounds per tick processed. +# This can help prevent lag when some mod or mechanism produces hundreds of sounds per tick. + +minecraft\:ambient.basalt_deltas.additions=-1 +minecraft\:ambient.basalt_deltas.loop=-1 +minecraft\:ambient.basalt_deltas.mood=-1 +minecraft\:ambient.cave=-1 +minecraft\:ambient.crimson_forest.additions=-1 +minecraft\:ambient.crimson_forest.loop=-1 +minecraft\:ambient.crimson_forest.mood=-1 +chalk\:ambient.glowing=-1 +tfg\:ambient.lower_nether.additions=-1 +tfg\:ambient.lower_nether.loop=-1 +tfg\:ambient.lower_nether.mood=-1 +tfg\:ambient.mars_desert.additions=-1 +tfg\:ambient.mars_desert.loop=-1 +tfg\:ambient.mars_desert.mood=-1 +tfg\:ambient.mars_land.additions=-1 +tfg\:ambient.mars_land.loop=-1 +tfg\:ambient.mars_land.mood=-1 +tfg\:ambient.moon.additions=-1 +tfg\:ambient.moon.mood=-1 +minecraft\:ambient.nether_wastes.additions=-1 +minecraft\:ambient.nether_wastes.loop=-1 +minecraft\:ambient.nether_wastes.mood=-1 +minecraft\:ambient.soul_sand_valley.additions=-1 +minecraft\:ambient.soul_sand_valley.loop=-1 +minecraft\:ambient.soul_sand_valley.mood=-1 +minecraft\:ambient.underwater.enter=-1 +minecraft\:ambient.underwater.exit=-1 +minecraft\:ambient.underwater.loop=-1 +minecraft\:ambient.underwater.loop.additions=-1 +minecraft\:ambient.underwater.loop.additions.rare=-1 +minecraft\:ambient.underwater.loop.additions.ultra_rare=-1 +tfg\:ambient.upper_nether.additions=-1 +tfg\:ambient.upper_nether.mood=-1 +tfg\:ambient.upper_nether_cave.loop=-1 +tfg\:ambient.upper_nether_lush.loop=-1 +tfg\:ambient.venus_surface.additions=-1 +tfg\:ambient.venus_surface.loop=-1 +tfg\:ambient.venus_surface.mood=-1 +minecraft\:ambient.warped_forest.additions=-1 +minecraft\:ambient.warped_forest.loop=-1 +minecraft\:ambient.warped_forest.mood=-1 +endermanoverhaul\:ancient_pearl_hit=-1 +gtceu\:arc=-1 +gtceu\:assembler=-1 +gtceu\:bath=-1 +buildinggadgets2\:beep=-1 +create\:blaze_munch=-1 +species\:block.alphacene_foliage.break=-1 +species\:block.alphacene_foliage.fall=-1 +species\:block.alphacene_foliage.hit=-1 +species\:block.alphacene_foliage.place=-1 +species\:block.alphacene_foliage.step=-1 +species\:block.alphacene_grass.break=-1 +species\:block.alphacene_grass.fall=-1 +species\:block.alphacene_grass.hit=-1 +species\:block.alphacene_grass.place=-1 +species\:block.alphacene_grass.step=-1 +species\:block.alphacene_moss.break=-1 +species\:block.alphacene_moss.fall=-1 +species\:block.alphacene_moss.hit=-1 +species\:block.alphacene_moss.place=-1 +species\:block.alphacene_moss.step=-1 +minecraft\:block.amethyst_block.break=-1 +minecraft\:block.amethyst_block.chime=-1 +minecraft\:block.amethyst_block.fall=-1 +minecraft\:block.amethyst_block.hit=-1 +minecraft\:block.amethyst_block.place=-1 +minecraft\:block.amethyst_block.resonate=-1 +minecraft\:block.amethyst_block.step=-1 +minecraft\:block.amethyst_cluster.break=-1 +minecraft\:block.amethyst_cluster.fall=-1 +minecraft\:block.amethyst_cluster.hit=-1 +minecraft\:block.amethyst_cluster.place=-1 +minecraft\:block.amethyst_cluster.step=-1 +minecraft\:block.ancient_debris.break=-1 +minecraft\:block.ancient_debris.fall=-1 +minecraft\:block.ancient_debris.hit=-1 +minecraft\:block.ancient_debris.place=-1 +minecraft\:block.ancient_debris.step=-1 +minecraft\:block.anvil.break=-1 +minecraft\:block.anvil.destroy=-1 +minecraft\:block.anvil.fall=-1 +minecraft\:block.anvil.hit=-1 +tfc\:block.anvil.hit=-1 +minecraft\:block.anvil.land=-1 +minecraft\:block.anvil.place=-1 +minecraft\:block.anvil.step=-1 +minecraft\:block.anvil.use=-1 +minecraft\:block.azalea.break=-1 +minecraft\:block.azalea.fall=-1 +minecraft\:block.azalea.hit=-1 +minecraft\:block.azalea.place=-1 +minecraft\:block.azalea.step=-1 +minecraft\:block.azalea_leaves.break=-1 +minecraft\:block.azalea_leaves.fall=-1 +minecraft\:block.azalea_leaves.hit=-1 +minecraft\:block.azalea_leaves.place=-1 +minecraft\:block.azalea_leaves.step=-1 +minecraft\:block.bamboo.break=-1 +minecraft\:block.bamboo.fall=-1 +minecraft\:block.bamboo.hit=-1 +minecraft\:block.bamboo.place=-1 +minecraft\:block.bamboo.step=-1 +minecraft\:block.bamboo_sapling.break=-1 +minecraft\:block.bamboo_sapling.hit=-1 +minecraft\:block.bamboo_sapling.place=-1 +minecraft\:block.bamboo_wood.break=-1 +minecraft\:block.bamboo_wood.fall=-1 +minecraft\:block.bamboo_wood.hit=-1 +minecraft\:block.bamboo_wood.place=-1 +minecraft\:block.bamboo_wood.step=-1 +minecraft\:block.bamboo_wood_button.click_off=-1 +minecraft\:block.bamboo_wood_button.click_on=-1 +minecraft\:block.bamboo_wood_door.close=-1 +minecraft\:block.bamboo_wood_door.open=-1 +minecraft\:block.bamboo_wood_fence_gate.close=-1 +minecraft\:block.bamboo_wood_fence_gate.open=-1 +minecraft\:block.bamboo_wood_hanging_sign.break=-1 +minecraft\:block.bamboo_wood_hanging_sign.fall=-1 +minecraft\:block.bamboo_wood_hanging_sign.hit=-1 +minecraft\:block.bamboo_wood_hanging_sign.place=-1 +minecraft\:block.bamboo_wood_hanging_sign.step=-1 +minecraft\:block.bamboo_wood_pressure_plate.click_off=-1 +minecraft\:block.bamboo_wood_pressure_plate.click_on=-1 +minecraft\:block.bamboo_wood_trapdoor.close=-1 +minecraft\:block.bamboo_wood_trapdoor.open=-1 +minecraft\:block.barrel.close=-1 +tfc\:block.barrel.close=-1 +tfc\:block.barrel.drip=-1 +minecraft\:block.barrel.open=-1 +tfc\:block.barrel.open=-1 +minecraft\:block.basalt.break=-1 +minecraft\:block.basalt.fall=-1 +minecraft\:block.basalt.hit=-1 +minecraft\:block.basalt.place=-1 +minecraft\:block.basalt.step=-1 +minecraft\:block.beacon.activate=-1 +minecraft\:block.beacon.ambient=-1 +minecraft\:block.beacon.deactivate=-1 +minecraft\:block.beacon.power_select=-1 +minecraft\:block.beehive.drip=-1 +minecraft\:block.beehive.enter=-1 +minecraft\:block.beehive.exit=-1 +minecraft\:block.beehive.shear=-1 +minecraft\:block.beehive.work=-1 +minecraft\:block.bell.resonate=-1 +minecraft\:block.bell.use=-1 +tfc\:block.bellows.blow=-1 +minecraft\:block.big_dripleaf.break=-1 +minecraft\:block.big_dripleaf.fall=-1 +minecraft\:block.big_dripleaf.hit=-1 +minecraft\:block.big_dripleaf.place=-1 +minecraft\:block.big_dripleaf.step=-1 +minecraft\:block.big_dripleaf.tilt_down=-1 +minecraft\:block.big_dripleaf.tilt_up=-1 +species\:block.birt_dwelling.collect=-1 +species\:block.birt_dwelling.enter=-1 +species\:block.birt_dwelling.exit=-1 +species\:block.birt_dwelling.work=-1 +species\:block.birtday_cake.blow=-1 +species\:block.birtday_cake.break=-1 +species\:block.birtday_cake.fall=-1 +species\:block.birtday_cake.hit=-1 +species\:block.birtday_cake.place=-1 +species\:block.birtday_cake.step=-1 +minecraft\:block.blastfurnace.fire_crackle=-1 +tfc\:block.bloomery.crackle=-1 +minecraft\:block.bone_block.break=-1 +minecraft\:block.bone_block.fall=-1 +minecraft\:block.bone_block.hit=-1 +minecraft\:block.bone_block.place=-1 +minecraft\:block.bone_block.step=-1 +minecraft\:block.brewing_stand.brew=-1 +minecraft\:block.bubble_column.bubble_pop=-1 +minecraft\:block.bubble_column.upwards_ambient=-1 +minecraft\:block.bubble_column.upwards_inside=-1 +minecraft\:block.bubble_column.whirlpool_ambient=-1 +minecraft\:block.bubble_column.whirlpool_inside=-1 +minecraft\:block.cake.add_candle=-1 +minecraft\:block.calcite.break=-1 +minecraft\:block.calcite.fall=-1 +minecraft\:block.calcite.hit=-1 +minecraft\:block.calcite.place=-1 +minecraft\:block.calcite.step=-1 +minecraft\:block.campfire.crackle=-1 +minecraft\:block.candle.ambient=-1 +minecraft\:block.candle.break=-1 +minecraft\:block.candle.extinguish=-1 +minecraft\:block.candle.fall=-1 +minecraft\:block.candle.hit=-1 +minecraft\:block.candle.place=-1 +minecraft\:block.candle.step=-1 +minecraft\:block.cave_vines.break=-1 +minecraft\:block.cave_vines.fall=-1 +minecraft\:block.cave_vines.hit=-1 +minecraft\:block.cave_vines.pick_berries=-1 +minecraft\:block.cave_vines.place=-1 +minecraft\:block.cave_vines.step=-1 +minecraft\:block.chain.break=-1 +minecraft\:block.chain.fall=-1 +minecraft\:block.chain.hit=-1 +minecraft\:block.chain.place=-1 +minecraft\:block.chain.step=-1 +tfc\:block.charcoal.break=-1 +tfc\:block.charcoal.fall=-1 +tfc\:block.charcoal.hit=-1 +tfc\:block.charcoal.place=-1 +tfc\:block.charcoal.step=-1 +minecraft\:block.cherry_leaves.break=-1 +minecraft\:block.cherry_leaves.fall=-1 +minecraft\:block.cherry_leaves.hit=-1 +minecraft\:block.cherry_leaves.place=-1 +minecraft\:block.cherry_leaves.step=-1 +minecraft\:block.cherry_sapling.break=-1 +minecraft\:block.cherry_sapling.fall=-1 +minecraft\:block.cherry_sapling.hit=-1 +minecraft\:block.cherry_sapling.place=-1 +minecraft\:block.cherry_sapling.step=-1 +minecraft\:block.cherry_wood.break=-1 +minecraft\:block.cherry_wood.fall=-1 +minecraft\:block.cherry_wood.hit=-1 +minecraft\:block.cherry_wood.place=-1 +minecraft\:block.cherry_wood.step=-1 +minecraft\:block.cherry_wood_button.click_off=-1 +minecraft\:block.cherry_wood_button.click_on=-1 +minecraft\:block.cherry_wood_door.close=-1 +minecraft\:block.cherry_wood_door.open=-1 +minecraft\:block.cherry_wood_fence_gate.close=-1 +minecraft\:block.cherry_wood_fence_gate.open=-1 +minecraft\:block.cherry_wood_hanging_sign.break=-1 +minecraft\:block.cherry_wood_hanging_sign.fall=-1 +minecraft\:block.cherry_wood_hanging_sign.hit=-1 +minecraft\:block.cherry_wood_hanging_sign.place=-1 +minecraft\:block.cherry_wood_hanging_sign.step=-1 +minecraft\:block.cherry_wood_pressure_plate.click_off=-1 +minecraft\:block.cherry_wood_pressure_plate.click_on=-1 +minecraft\:block.cherry_wood_trapdoor.close=-1 +minecraft\:block.cherry_wood_trapdoor.open=-1 +minecraft\:block.chest.close=-1 +minecraft\:block.chest.locked=-1 +minecraft\:block.chest.open=-1 +minecraft\:block.chiseled_bookshelf.break=-1 +minecraft\:block.chiseled_bookshelf.fall=-1 +minecraft\:block.chiseled_bookshelf.hit=-1 +minecraft\:block.chiseled_bookshelf.insert=-1 +minecraft\:block.chiseled_bookshelf.insert.enchanted=-1 +minecraft\:block.chiseled_bookshelf.pickup=-1 +minecraft\:block.chiseled_bookshelf.pickup.enchanted=-1 +minecraft\:block.chiseled_bookshelf.place=-1 +minecraft\:block.chiseled_bookshelf.step=-1 +minecraft\:block.chorus_flower.death=-1 +minecraft\:block.chorus_flower.grow=-1 +minecraft\:block.comparator.click=-1 +minecraft\:block.composter.empty=-1 +minecraft\:block.composter.fill=-1 +minecraft\:block.composter.fill_success=-1 +minecraft\:block.composter.ready=-1 +minecraft\:block.conduit.activate=-1 +minecraft\:block.conduit.ambient=-1 +minecraft\:block.conduit.ambient.short=-1 +minecraft\:block.conduit.attack.target=-1 +minecraft\:block.conduit.deactivate=-1 +minecraft\:block.copper.break=-1 +minecraft\:block.copper.fall=-1 +minecraft\:block.copper.hit=-1 +minecraft\:block.copper.place=-1 +minecraft\:block.copper.step=-1 +minecraft\:block.coral_block.break=-1 +minecraft\:block.coral_block.fall=-1 +minecraft\:block.coral_block.hit=-1 +minecraft\:block.coral_block.place=-1 +minecraft\:block.coral_block.step=-1 +species\:block.cranktrap.break=-1 +species\:block.cranktrap.close=-1 +species\:block.cranktrap.fall=-1 +species\:block.cranktrap.hit=-1 +species\:block.cranktrap.open=-1 +species\:block.cranktrap.place=-1 +species\:block.cranktrap.step=-1 +minecraft\:block.crop.break=-1 +tfc\:block.crop.stick_add=-1 +minecraft\:block.decorated_pot.break=-1 +minecraft\:block.decorated_pot.fall=-1 +minecraft\:block.decorated_pot.hit=-1 +minecraft\:block.decorated_pot.place=-1 +minecraft\:block.decorated_pot.shatter=-1 +minecraft\:block.decorated_pot.step=-1 +minecraft\:block.deepslate.break=-1 +minecraft\:block.deepslate.fall=-1 +minecraft\:block.deepslate.hit=-1 +minecraft\:block.deepslate.place=-1 +minecraft\:block.deepslate.step=-1 +minecraft\:block.deepslate_bricks.break=-1 +minecraft\:block.deepslate_bricks.fall=-1 +minecraft\:block.deepslate_bricks.hit=-1 +minecraft\:block.deepslate_bricks.place=-1 +minecraft\:block.deepslate_bricks.step=-1 +minecraft\:block.deepslate_tiles.break=-1 +minecraft\:block.deepslate_tiles.fall=-1 +minecraft\:block.deepslate_tiles.hit=-1 +minecraft\:block.deepslate_tiles.place=-1 +minecraft\:block.deepslate_tiles.step=-1 +minecraft\:block.dispenser.dispense=-1 +minecraft\:block.dispenser.fail=-1 +minecraft\:block.dispenser.launch=-1 +minecraft\:block.dripstone_block.break=-1 +minecraft\:block.dripstone_block.fall=-1 +minecraft\:block.dripstone_block.hit=-1 +minecraft\:block.dripstone_block.place=-1 +minecraft\:block.dripstone_block.step=-1 +wan_ancient_beasts\:block.egg.hatched=-1 +minecraft\:block.enchantment_table.use=-1 +minecraft\:block.end_gateway.spawn=-1 +minecraft\:block.end_portal.spawn=-1 +minecraft\:block.end_portal_frame.fill=-1 +minecraft\:block.ender_chest.close=-1 +minecraft\:block.ender_chest.open=-1 +minecraft\:block.fence_gate.close=-1 +minecraft\:block.fence_gate.open=-1 +minecraft\:block.fire.ambient=-1 +minecraft\:block.fire.extinguish=-1 +minecraft\:block.flowering_azalea.break=-1 +minecraft\:block.flowering_azalea.fall=-1 +minecraft\:block.flowering_azalea.hit=-1 +minecraft\:block.flowering_azalea.place=-1 +minecraft\:block.flowering_azalea.step=-1 +minecraft\:block.froglight.break=-1 +minecraft\:block.froglight.fall=-1 +minecraft\:block.froglight.hit=-1 +minecraft\:block.froglight.place=-1 +minecraft\:block.froglight.step=-1 +minecraft\:block.frogspawn.break=-1 +minecraft\:block.frogspawn.fall=-1 +minecraft\:block.frogspawn.hatch=-1 +minecraft\:block.frogspawn.hit=-1 +minecraft\:block.frogspawn.place=-1 +minecraft\:block.frogspawn.step=-1 +species\:block.frozen_hair.break=-1 +species\:block.frozen_hair.fall=-1 +species\:block.frozen_hair.hit=-1 +species\:block.frozen_hair.place=-1 +species\:block.frozen_hair.step=-1 +species\:block.frozen_meat.break=-1 +species\:block.frozen_meat.fall=-1 +species\:block.frozen_meat.hit=-1 +species\:block.frozen_meat.place=-1 +species\:block.frozen_meat.step=-1 +minecraft\:block.fungus.break=-1 +minecraft\:block.fungus.fall=-1 +minecraft\:block.fungus.hit=-1 +minecraft\:block.fungus.place=-1 +minecraft\:block.fungus.step=-1 +minecraft\:block.furnace.fire_crackle=-1 +minecraft\:block.gilded_blackstone.break=-1 +minecraft\:block.gilded_blackstone.fall=-1 +minecraft\:block.gilded_blackstone.hit=-1 +minecraft\:block.gilded_blackstone.place=-1 +minecraft\:block.gilded_blackstone.step=-1 +minecraft\:block.glass.break=-1 +minecraft\:block.glass.fall=-1 +minecraft\:block.glass.hit=-1 +minecraft\:block.glass.place=-1 +minecraft\:block.glass.step=-1 +minecraft\:block.grass.break=-1 +minecraft\:block.grass.fall=-1 +minecraft\:block.grass.hit=-1 +minecraft\:block.grass.place=-1 +minecraft\:block.grass.step=-1 +minecraft\:block.gravel.break=-1 +minecraft\:block.gravel.fall=-1 +minecraft\:block.gravel.hit=-1 +minecraft\:block.gravel.place=-1 +minecraft\:block.gravel.step=-1 +minecraft\:block.grindstone.use=-1 +minecraft\:block.growing_plant.crop=-1 +minecraft\:block.hanging_roots.break=-1 +minecraft\:block.hanging_roots.fall=-1 +minecraft\:block.hanging_roots.hit=-1 +minecraft\:block.hanging_roots.place=-1 +minecraft\:block.hanging_roots.step=-1 +minecraft\:block.hanging_sign.break=-1 +minecraft\:block.hanging_sign.fall=-1 +minecraft\:block.hanging_sign.hit=-1 +minecraft\:block.hanging_sign.place=-1 +minecraft\:block.hanging_sign.step=-1 +minecraft\:block.honey_block.break=-1 +minecraft\:block.honey_block.fall=-1 +minecraft\:block.honey_block.hit=-1 +minecraft\:block.honey_block.place=-1 +minecraft\:block.honey_block.slide=-1 +minecraft\:block.honey_block.step=-1 +species\:block.hopelight.break=-1 +species\:block.hopelight.place=-1 +minecraft\:block.iron_door.close=-1 +minecraft\:block.iron_door.open=-1 +minecraft\:block.iron_trapdoor.close=-1 +minecraft\:block.iron_trapdoor.open=-1 +minecraft\:block.ladder.break=-1 +minecraft\:block.ladder.fall=-1 +minecraft\:block.ladder.hit=-1 +minecraft\:block.ladder.place=-1 +minecraft\:block.ladder.step=-1 +minecraft\:block.lantern.break=-1 +minecraft\:block.lantern.fall=-1 +minecraft\:block.lantern.hit=-1 +minecraft\:block.lantern.place=-1 +minecraft\:block.lantern.step=-1 +minecraft\:block.large_amethyst_bud.break=-1 +minecraft\:block.large_amethyst_bud.place=-1 +tfc\:block.large_vessel.close=-1 +tfc\:block.large_vessel.open=-1 +minecraft\:block.lava.ambient=-1 +minecraft\:block.lava.extinguish=-1 +minecraft\:block.lava.pop=-1 +minecraft\:block.lever.click=-1 +exposure\:block.lightroom.print=-1 +minecraft\:block.lily_pad.place=-1 +minecraft\:block.lodestone.break=-1 +minecraft\:block.lodestone.fall=-1 +minecraft\:block.lodestone.hit=-1 +minecraft\:block.lodestone.place=-1 +minecraft\:block.lodestone.step=-1 +tfc\:block.loom.weave=-1 +minecraft\:block.mangrove_roots.break=-1 +minecraft\:block.mangrove_roots.fall=-1 +minecraft\:block.mangrove_roots.hit=-1 +minecraft\:block.mangrove_roots.place=-1 +minecraft\:block.mangrove_roots.step=-1 +chalk\:block.mark_removed=-1 +minecraft\:block.medium_amethyst_bud.break=-1 +minecraft\:block.medium_amethyst_bud.place=-1 +minecraft\:block.metal.break=-1 +minecraft\:block.metal.fall=-1 +minecraft\:block.metal.hit=-1 +minecraft\:block.metal.place=-1 +minecraft\:block.metal.step=-1 +minecraft\:block.metal_pressure_plate.click_off=-1 +minecraft\:block.metal_pressure_plate.click_on=-1 +minecraft\:block.moss.break=-1 +minecraft\:block.moss.fall=-1 +minecraft\:block.moss.hit=-1 +minecraft\:block.moss.place=-1 +minecraft\:block.moss.step=-1 +minecraft\:block.moss_carpet.break=-1 +minecraft\:block.moss_carpet.fall=-1 +minecraft\:block.moss_carpet.hit=-1 +minecraft\:block.moss_carpet.place=-1 +minecraft\:block.moss_carpet.step=-1 +minecraft\:block.mud.break=-1 +minecraft\:block.mud.fall=-1 +minecraft\:block.mud.hit=-1 +minecraft\:block.mud.place=-1 +minecraft\:block.mud.step=-1 +minecraft\:block.mud_bricks.break=-1 +minecraft\:block.mud_bricks.fall=-1 +minecraft\:block.mud_bricks.hit=-1 +minecraft\:block.mud_bricks.place=-1 +minecraft\:block.mud_bricks.step=-1 +minecraft\:block.muddy_mangrove_roots.break=-1 +minecraft\:block.muddy_mangrove_roots.fall=-1 +minecraft\:block.muddy_mangrove_roots.hit=-1 +minecraft\:block.muddy_mangrove_roots.place=-1 +minecraft\:block.muddy_mangrove_roots.step=-1 +minecraft\:block.nether_bricks.break=-1 +minecraft\:block.nether_bricks.fall=-1 +minecraft\:block.nether_bricks.hit=-1 +minecraft\:block.nether_bricks.place=-1 +minecraft\:block.nether_bricks.step=-1 +minecraft\:block.nether_gold_ore.break=-1 +minecraft\:block.nether_gold_ore.fall=-1 +minecraft\:block.nether_gold_ore.hit=-1 +minecraft\:block.nether_gold_ore.place=-1 +minecraft\:block.nether_gold_ore.step=-1 +minecraft\:block.nether_ore.break=-1 +minecraft\:block.nether_ore.fall=-1 +minecraft\:block.nether_ore.hit=-1 +minecraft\:block.nether_ore.place=-1 +minecraft\:block.nether_ore.step=-1 +minecraft\:block.nether_sprouts.break=-1 +minecraft\:block.nether_sprouts.fall=-1 +minecraft\:block.nether_sprouts.hit=-1 +minecraft\:block.nether_sprouts.place=-1 +minecraft\:block.nether_sprouts.step=-1 +minecraft\:block.nether_wart.break=-1 +minecraft\:block.nether_wood.break=-1 +minecraft\:block.nether_wood.fall=-1 +minecraft\:block.nether_wood.hit=-1 +minecraft\:block.nether_wood.place=-1 +minecraft\:block.nether_wood.step=-1 +minecraft\:block.nether_wood_button.click_off=-1 +minecraft\:block.nether_wood_button.click_on=-1 +minecraft\:block.nether_wood_door.close=-1 +minecraft\:block.nether_wood_door.open=-1 +minecraft\:block.nether_wood_fence_gate.close=-1 +minecraft\:block.nether_wood_fence_gate.open=-1 +minecraft\:block.nether_wood_hanging_sign.break=-1 +minecraft\:block.nether_wood_hanging_sign.fall=-1 +minecraft\:block.nether_wood_hanging_sign.hit=-1 +minecraft\:block.nether_wood_hanging_sign.place=-1 +minecraft\:block.nether_wood_hanging_sign.step=-1 +minecraft\:block.nether_wood_pressure_plate.click_off=-1 +minecraft\:block.nether_wood_pressure_plate.click_on=-1 +minecraft\:block.nether_wood_trapdoor.close=-1 +minecraft\:block.nether_wood_trapdoor.open=-1 +minecraft\:block.netherite_block.break=-1 +minecraft\:block.netherite_block.fall=-1 +minecraft\:block.netherite_block.hit=-1 +minecraft\:block.netherite_block.place=-1 +minecraft\:block.netherite_block.step=-1 +minecraft\:block.netherrack.break=-1 +minecraft\:block.netherrack.fall=-1 +minecraft\:block.netherrack.hit=-1 +minecraft\:block.netherrack.place=-1 +minecraft\:block.netherrack.step=-1 +minecraft\:block.note_block.banjo=-1 +minecraft\:block.note_block.basedrum=-1 +minecraft\:block.note_block.bass=-1 +minecraft\:block.note_block.bell=-1 +minecraft\:block.note_block.bit=-1 +minecraft\:block.note_block.chime=-1 +minecraft\:block.note_block.cow_bell=-1 +minecraft\:block.note_block.didgeridoo=-1 +minecraft\:block.note_block.flute=-1 +minecraft\:block.note_block.guitar=-1 +minecraft\:block.note_block.harp=-1 +minecraft\:block.note_block.hat=-1 +species\:block.note_block.imitate.bewereager=-1 +minecraft\:block.note_block.imitate.creeper=-1 +minecraft\:block.note_block.imitate.ender_dragon=-1 +species\:block.note_block.imitate.ghoul=-1 +minecraft\:block.note_block.imitate.piglin=-1 +species\:block.note_block.imitate.quake=-1 +minecraft\:block.note_block.imitate.skeleton=-1 +species\:block.note_block.imitate.wicked=-1 +minecraft\:block.note_block.imitate.wither_skeleton=-1 +minecraft\:block.note_block.imitate.zombie=-1 +minecraft\:block.note_block.iron_xylophone=-1 +minecraft\:block.note_block.pling=-1 +species\:block.note_block.quake_synth=-1 +minecraft\:block.note_block.snare=-1 +minecraft\:block.note_block.xylophone=-1 +minecraft\:block.nylium.break=-1 +minecraft\:block.nylium.fall=-1 +minecraft\:block.nylium.hit=-1 +minecraft\:block.nylium.place=-1 +minecraft\:block.nylium.step=-1 +minecraft\:block.packed_mud.break=-1 +minecraft\:block.packed_mud.fall=-1 +minecraft\:block.packed_mud.hit=-1 +minecraft\:block.packed_mud.place=-1 +minecraft\:block.packed_mud.step=-1 +tfc\:block.peat.break=-1 +tfc\:block.peat.fall=-1 +tfc\:block.peat.hit=-1 +tfc\:block.peat.place=-1 +tfc\:block.peat.step=-1 +species\:block.petrified_egg.crack=-1 +species\:block.petrified_egg.hatch=-1 +species\:block.petrified_egg.plop=-1 +minecraft\:block.pink_petals.break=-1 +minecraft\:block.pink_petals.fall=-1 +minecraft\:block.pink_petals.hit=-1 +minecraft\:block.pink_petals.place=-1 +minecraft\:block.pink_petals.step=-1 +minecraft\:block.piston.contract=-1 +minecraft\:block.piston.extend=-1 +minecraft\:block.pointed_dripstone.break=-1 +minecraft\:block.pointed_dripstone.drip_lava=-1 +minecraft\:block.pointed_dripstone.drip_lava_into_cauldron=-1 +minecraft\:block.pointed_dripstone.drip_water=-1 +minecraft\:block.pointed_dripstone.drip_water_into_cauldron=-1 +minecraft\:block.pointed_dripstone.fall=-1 +minecraft\:block.pointed_dripstone.hit=-1 +minecraft\:block.pointed_dripstone.land=-1 +minecraft\:block.pointed_dripstone.place=-1 +minecraft\:block.pointed_dripstone.step=-1 +minecraft\:block.polished_deepslate.break=-1 +minecraft\:block.polished_deepslate.fall=-1 +minecraft\:block.polished_deepslate.hit=-1 +minecraft\:block.polished_deepslate.place=-1 +minecraft\:block.polished_deepslate.step=-1 +minecraft\:block.portal.ambient=-1 +minecraft\:block.portal.travel=-1 +minecraft\:block.portal.trigger=-1 +minecraft\:block.powder_snow.break=-1 +minecraft\:block.powder_snow.fall=-1 +minecraft\:block.powder_snow.hit=-1 +minecraft\:block.powder_snow.place=-1 +minecraft\:block.powder_snow.step=-1 +minecraft\:block.pumpkin.carve=-1 +tfc\:block.quern.drag=-1 +minecraft\:block.redstone_torch.burnout=-1 +minecraft\:block.respawn_anchor.ambient=-1 +minecraft\:block.respawn_anchor.charge=-1 +minecraft\:block.respawn_anchor.deplete=-1 +minecraft\:block.respawn_anchor.set_spawn=-1 +minecraft\:block.rooted_dirt.break=-1 +minecraft\:block.rooted_dirt.fall=-1 +minecraft\:block.rooted_dirt.hit=-1 +minecraft\:block.rooted_dirt.place=-1 +minecraft\:block.rooted_dirt.step=-1 +minecraft\:block.roots.break=-1 +minecraft\:block.roots.fall=-1 +minecraft\:block.roots.hit=-1 +minecraft\:block.roots.place=-1 +minecraft\:block.roots.step=-1 +minecraft\:block.sand.break=-1 +minecraft\:block.sand.fall=-1 +minecraft\:block.sand.hit=-1 +minecraft\:block.sand.place=-1 +minecraft\:block.sand.step=-1 +minecraft\:block.scaffolding.break=-1 +minecraft\:block.scaffolding.fall=-1 +minecraft\:block.scaffolding.hit=-1 +minecraft\:block.scaffolding.place=-1 +minecraft\:block.scaffolding.step=-1 +tfc\:block.scribing_table.use=-1 +minecraft\:block.sculk.break=-1 +minecraft\:block.sculk.charge=-1 +minecraft\:block.sculk.fall=-1 +minecraft\:block.sculk.hit=-1 +minecraft\:block.sculk.place=-1 +minecraft\:block.sculk.spread=-1 +minecraft\:block.sculk.step=-1 +minecraft\:block.sculk_catalyst.bloom=-1 +minecraft\:block.sculk_catalyst.break=-1 +minecraft\:block.sculk_catalyst.fall=-1 +minecraft\:block.sculk_catalyst.hit=-1 +minecraft\:block.sculk_catalyst.place=-1 +minecraft\:block.sculk_catalyst.step=-1 +minecraft\:block.sculk_sensor.break=-1 +minecraft\:block.sculk_sensor.clicking=-1 +minecraft\:block.sculk_sensor.clicking_stop=-1 +minecraft\:block.sculk_sensor.fall=-1 +minecraft\:block.sculk_sensor.hit=-1 +minecraft\:block.sculk_sensor.place=-1 +minecraft\:block.sculk_sensor.step=-1 +minecraft\:block.sculk_shrieker.break=-1 +minecraft\:block.sculk_shrieker.fall=-1 +minecraft\:block.sculk_shrieker.hit=-1 +minecraft\:block.sculk_shrieker.place=-1 +minecraft\:block.sculk_shrieker.shriek=-1 +minecraft\:block.sculk_shrieker.step=-1 +minecraft\:block.sculk_vein.break=-1 +minecraft\:block.sculk_vein.fall=-1 +minecraft\:block.sculk_vein.hit=-1 +minecraft\:block.sculk_vein.place=-1 +minecraft\:block.sculk_vein.step=-1 +minecraft\:block.shroomlight.break=-1 +minecraft\:block.shroomlight.fall=-1 +minecraft\:block.shroomlight.hit=-1 +minecraft\:block.shroomlight.place=-1 +minecraft\:block.shroomlight.step=-1 +minecraft\:block.shulker_box.close=-1 +minecraft\:block.shulker_box.open=-1 +minecraft\:block.sign.waxed_interact_fail=-1 +minecraft\:block.slime_block.break=-1 +minecraft\:block.slime_block.fall=-1 +minecraft\:block.slime_block.hit=-1 +minecraft\:block.slime_block.place=-1 +minecraft\:block.slime_block.step=-1 +minecraft\:block.small_amethyst_bud.break=-1 +minecraft\:block.small_amethyst_bud.place=-1 +minecraft\:block.small_dripleaf.break=-1 +minecraft\:block.small_dripleaf.fall=-1 +minecraft\:block.small_dripleaf.hit=-1 +minecraft\:block.small_dripleaf.place=-1 +minecraft\:block.small_dripleaf.step=-1 +minecraft\:block.smithing_table.use=-1 +minecraft\:block.smoker.smoke=-1 +minecraft\:block.sniffer_egg.crack=-1 +minecraft\:block.sniffer_egg.hatch=-1 +minecraft\:block.sniffer_egg.plop=-1 +minecraft\:block.snow.break=-1 +minecraft\:block.snow.fall=-1 +minecraft\:block.snow.hit=-1 +minecraft\:block.snow.place=-1 +minecraft\:block.snow.step=-1 +minecraft\:block.soul_sand.break=-1 +minecraft\:block.soul_sand.fall=-1 +minecraft\:block.soul_sand.hit=-1 +minecraft\:block.soul_sand.place=-1 +minecraft\:block.soul_sand.step=-1 +minecraft\:block.soul_soil.break=-1 +minecraft\:block.soul_soil.fall=-1 +minecraft\:block.soul_soil.hit=-1 +minecraft\:block.soul_soil.place=-1 +minecraft\:block.soul_soil.step=-1 +species\:block.speclight.break=-1 +species\:block.speclight.fall=-1 +species\:block.speclight.hit=-1 +species\:block.speclight.off=-1 +species\:block.speclight.on=-1 +species\:block.speclight.place=-1 +species\:block.speclight.step=-1 +species\:block.spectralibur.can_be_pulled1=-1 +species\:block.spectralibur.can_be_pulled2=-1 +species\:block.spectralibur.can_be_pulled3=-1 +species\:block.spectralibur.cant_pull=-1 +species\:block.spectralibur.extract=-1 +species\:block.spectralibur.go_in=-1 +species\:block.spectralibur.go_in_fully=-1 +species\:block.spectralibur.pull=-1 +species\:block.spectralibur_pedestal.activate=-1 +species\:block.spectralibur_pedestal.deactivate=-1 +minecraft\:block.spore_blossom.break=-1 +minecraft\:block.spore_blossom.fall=-1 +minecraft\:block.spore_blossom.hit=-1 +minecraft\:block.spore_blossom.place=-1 +minecraft\:block.spore_blossom.step=-1 +species\:block.springling_egg.crack=-1 +species\:block.springling_egg.hatch=-1 +species\:block.springling_egg.plop=-1 +minecraft\:block.stem.break=-1 +minecraft\:block.stem.fall=-1 +minecraft\:block.stem.hit=-1 +minecraft\:block.stem.place=-1 +minecraft\:block.stem.step=-1 +minecraft\:block.stone.break=-1 +minecraft\:block.stone.fall=-1 +minecraft\:block.stone.hit=-1 +minecraft\:block.stone.place=-1 +minecraft\:block.stone.step=-1 +minecraft\:block.stone_button.click_off=-1 +minecraft\:block.stone_button.click_on=-1 +minecraft\:block.stone_pressure_plate.click_off=-1 +minecraft\:block.stone_pressure_plate.click_on=-1 +minecraft\:block.suspicious_gravel.break=-1 +minecraft\:block.suspicious_gravel.fall=-1 +minecraft\:block.suspicious_gravel.hit=-1 +minecraft\:block.suspicious_gravel.place=-1 +minecraft\:block.suspicious_gravel.step=-1 +minecraft\:block.suspicious_sand.break=-1 +minecraft\:block.suspicious_sand.fall=-1 +minecraft\:block.suspicious_sand.hit=-1 +minecraft\:block.suspicious_sand.place=-1 +minecraft\:block.suspicious_sand.step=-1 +minecraft\:block.sweet_berry_bush.break=-1 +minecraft\:block.sweet_berry_bush.pick_berries=-1 +minecraft\:block.sweet_berry_bush.place=-1 +tfc\:block.thatch.break=-1 +tfc\:block.thatch.fall=-1 +tfc\:block.thatch.hit=-1 +tfc\:block.thatch.place=-1 +tfc\:block.thatch.step=-1 +tfc\:block.thin.break=-1 +tfc\:block.thin.fall=-1 +tfc\:block.thin.hit=-1 +tfc\:block.thin.place=-1 +tfc\:block.thin.step=-1 +tfc\:block.tool_rack.place=-1 +minecraft\:block.tripwire.attach=-1 +minecraft\:block.tripwire.click_off=-1 +minecraft\:block.tripwire.click_on=-1 +minecraft\:block.tripwire.detach=-1 +minecraft\:block.tuff.break=-1 +minecraft\:block.tuff.fall=-1 +minecraft\:block.tuff.hit=-1 +minecraft\:block.tuff.place=-1 +minecraft\:block.tuff.step=-1 +minecraft\:block.vine.break=-1 +minecraft\:block.vine.fall=-1 +minecraft\:block.vine.hit=-1 +minecraft\:block.vine.place=-1 +minecraft\:block.vine.step=-1 +minecraft\:block.wart_block.break=-1 +minecraft\:block.wart_block.fall=-1 +minecraft\:block.wart_block.hit=-1 +minecraft\:block.wart_block.place=-1 +minecraft\:block.wart_block.step=-1 +minecraft\:block.water.ambient=-1 +tfc\:block.wattle.daubed=-1 +tfc\:block.wattle.dyed=-1 +tfc\:block.wattle.woven=-1 +minecraft\:block.weeping_vines.break=-1 +minecraft\:block.weeping_vines.fall=-1 +minecraft\:block.weeping_vines.hit=-1 +minecraft\:block.weeping_vines.place=-1 +minecraft\:block.weeping_vines.step=-1 +minecraft\:block.wet_grass.break=-1 +minecraft\:block.wet_grass.fall=-1 +minecraft\:block.wet_grass.hit=-1 +minecraft\:block.wet_grass.place=-1 +minecraft\:block.wet_grass.step=-1 +minecraft\:block.wood.break=-1 +minecraft\:block.wood.fall=-1 +minecraft\:block.wood.hit=-1 +minecraft\:block.wood.place=-1 +minecraft\:block.wood.step=-1 +minecraft\:block.wooden_button.click_off=-1 +minecraft\:block.wooden_button.click_on=-1 +minecraft\:block.wooden_door.close=-1 +minecraft\:block.wooden_door.open=-1 +minecraft\:block.wooden_pressure_plate.click_off=-1 +minecraft\:block.wooden_pressure_plate.click_on=-1 +minecraft\:block.wooden_trapdoor.close=-1 +minecraft\:block.wooden_trapdoor.open=-1 +minecraft\:block.wool.break=-1 +minecraft\:block.wool.fall=-1 +minecraft\:block.wool.hit=-1 +minecraft\:block.wool.place=-1 +minecraft\:block.wool.step=-1 +species\:block.wraptor_egg.break=-1 +species\:block.wraptor_egg.crack=-1 +species\:block.wraptor_egg.hatch=-1 +gtceu\:boiler=-1 +patchouli\:book_flip=-1 +patchouli\:book_open=-1 +endermanoverhaul\:bubble_pearl_hit=-1 +endermanoverhaul\:bubble_pearl_thrown=-1 +cccbridge\:cage_lock=-1 +cccbridge\:cage_unlock=-1 +immersive_aircraft\:cannon=-1 +create\:cardboard_bonk=-1 +endermanoverhaul\:cave_enderman_ambient=-1 +endermanoverhaul\:cave_enderman_hurt=-1 +gtceu\:centrifuge=-1 +gtceu\:chainsaw=-1 +gtceu\:chemical=-1 +create\:chiff=-1 +create\:clipboard_check=-1 +create\:clipboard_erase=-1 +create\:cogs=-1 +gtceu\:combustion=-1 +gtceu\:compressor=-1 +gtceu\:computation=-1 +railways\:conductor_whistle=-1 +create\:confirm=-1 +create\:confirm_2=-1 +create\:contraption_assemble=-1 +create\:contraption_assemble_compounded_1=-1 +create\:contraption_disassemble=-1 +create\:controller_click=-1 +create\:controller_put=-1 +create\:controller_take=-1 +gtceu\:cooling=-1 +create\:copper_armor_equip=-1 +endermanoverhaul\:corrupted_pearl_hit=-1 +create\:crafter_click=-1 +create\:crafter_click_compounded_1=-1 +create\:crafter_craft=-1 +create\:cranking=-1 +create\:cranking_compounded_1=-1 +create\:crushing_1=-1 +create\:crushing_2=-1 +create\:crushing_3=-1 +gtceu\:cut=-1 +endermanoverhaul\:dark_oak_enderman_ambient=-1 +endermanoverhaul\:dark_oak_enderman_darkness=-1 +endermanoverhaul\:dark_oak_enderman_stare=-1 +playerrevive\:death=-1 +create\:deny=-1 +create\:depot_plop=-1 +create\:depot_slide=-1 +create\:desk_bell=-1 +gtceu\:drill=-1 +species\:effect.birtd.applied=-1 +species\:effect.bloodlust.feed=-1 +species\:effect.bloodlust.removed=-1 +species\:effect.gut_feeling.applied=-1 +species\:effect.gut_feeling.roar=-1 +species\:effect.gut_feeling.spawn=-1 +createaddition\:electric_charge=-1 +createaddition\:electric_motor_buzz=-1 +gtceu\:electrolyzer=-1 +create_connected\:elevator_music=-1 +minecraft\:enchant.thorns.hit=-1 +immersive_aircraft\:engine_start=-1 +immersive_aircraft\:engine_start_bamboo_hopper=-1 +immersive_aircraft\:engine_start_warship=-1 +minecraft\:entity.allay.ambient_with_item=-1 +minecraft\:entity.allay.ambient_without_item=-1 +minecraft\:entity.allay.death=-1 +minecraft\:entity.allay.hurt=-1 +minecraft\:entity.allay.item_given=-1 +minecraft\:entity.allay.item_taken=-1 +minecraft\:entity.allay.item_thrown=-1 +tfc\:entity.alpaca.ambient=-1 +tfc\:entity.alpaca.death=-1 +tfc\:entity.alpaca.hurt=-1 +tfc\:entity.alpaca.step=-1 +minecraft\:entity.armor_stand.break=-1 +minecraft\:entity.armor_stand.fall=-1 +minecraft\:entity.armor_stand.hit=-1 +minecraft\:entity.armor_stand.place=-1 +minecraft\:entity.arrow.hit=-1 +minecraft\:entity.arrow.hit_player=-1 +minecraft\:entity.arrow.shoot=-1 +minecraft\:entity.axolotl.attack=-1 +minecraft\:entity.axolotl.death=-1 +minecraft\:entity.axolotl.hurt=-1 +minecraft\:entity.axolotl.idle_air=-1 +minecraft\:entity.axolotl.idle_water=-1 +minecraft\:entity.axolotl.splash=-1 +minecraft\:entity.axolotl.swim=-1 +minecraft\:entity.bat.ambient=-1 +minecraft\:entity.bat.death=-1 +minecraft\:entity.bat.hurt=-1 +minecraft\:entity.bat.loop=-1 +minecraft\:entity.bat.takeoff=-1 +tfc\:entity.bear.ambient=-1 +tfc\:entity.bear.attack=-1 +tfc\:entity.bear.death=-1 +tfc\:entity.bear.hurt=-1 +tfc\:entity.bear.sleep=-1 +tfc\:entity.bear.step=-1 +minecraft\:entity.bee.death=-1 +minecraft\:entity.bee.hurt=-1 +minecraft\:entity.bee.loop=-1 +minecraft\:entity.bee.loop_aggressive=-1 +minecraft\:entity.bee.pollinate=-1 +minecraft\:entity.bee.sting=-1 +species\:entity.bewereager.bite=-1 +species\:entity.bewereager.celebrate=-1 +species\:entity.bewereager.death=-1 +species\:entity.bewereager.howl=-1 +species\:entity.bewereager.howl_strength=-1 +species\:entity.bewereager.hurt=-1 +species\:entity.bewereager.idle=-1 +species\:entity.bewereager.jump=-1 +species\:entity.bewereager.land=-1 +species\:entity.bewereager.shake=-1 +species\:entity.bewereager.slash=-1 +species\:entity.bewereager.speed=-1 +species\:entity.bewereager.split=-1 +species\:entity.bewereager.step=-1 +species\:entity.bewereager.stun=-1 +species\:entity.bewereager.transform=-1 +species\:entity.bewereager.transform_start=-1 +species\:entity.birt.death=-1 +species\:entity.birt.fly=-1 +species\:entity.birt.hurt=-1 +species\:entity.birt.idle=-1 +species\:entity.birt.message=-1 +species\:entity.birt.search=-1 +minecraft\:entity.blaze.ambient=-1 +minecraft\:entity.blaze.burn=-1 +minecraft\:entity.blaze.death=-1 +minecraft\:entity.blaze.hurt=-1 +minecraft\:entity.blaze.shoot=-1 +tfc\:entity.bluegill.ambient=-1 +tfc\:entity.bluegill.death=-1 +tfc\:entity.bluegill.flop=-1 +tfc\:entity.bluegill.hurt=-1 +tfc\:entity.boar.ambient=-1 +tfc\:entity.boar.attack=-1 +tfc\:entity.boar.death=-1 +tfc\:entity.boar.hurt=-1 +tfc\:entity.boar.step=-1 +minecraft\:entity.boat.paddle_land=-1 +minecraft\:entity.boat.paddle_water=-1 +tfc\:entity.bongo.ambient=-1 +tfc\:entity.bongo.death=-1 +tfc\:entity.bongo.hurt=-1 +tfc\:entity.bongo.step=-1 +minecraft\:entity.camel.ambient=-1 +minecraft\:entity.camel.dash=-1 +minecraft\:entity.camel.dash_ready=-1 +minecraft\:entity.camel.death=-1 +minecraft\:entity.camel.eat=-1 +minecraft\:entity.camel.hurt=-1 +minecraft\:entity.camel.saddle=-1 +minecraft\:entity.camel.sit=-1 +minecraft\:entity.camel.stand=-1 +minecraft\:entity.camel.step=-1 +minecraft\:entity.camel.step_sand=-1 +tfc\:entity.caribou.ambient=-1 +tfc\:entity.caribou.death=-1 +tfc\:entity.caribou.hurt=-1 +tfc\:entity.caribou.step=-1 +astikorcarts\:entity.cart.attach=-1 +astikorcarts\:entity.cart.detach=-1 +astikorcarts\:entity.cart.place=-1 +minecraft\:entity.cat.ambient=-1 +minecraft\:entity.cat.beg_for_food=-1 +minecraft\:entity.cat.death=-1 +minecraft\:entity.cat.eat=-1 +minecraft\:entity.cat.hiss=-1 +minecraft\:entity.cat.hurt=-1 +minecraft\:entity.cat.purr=-1 +minecraft\:entity.cat.purreow=-1 +minecraft\:entity.cat.stray_ambient=-1 +minecraft\:entity.chicken.ambient=-1 +minecraft\:entity.chicken.death=-1 +minecraft\:entity.chicken.egg=-1 +minecraft\:entity.chicken.hurt=-1 +minecraft\:entity.chicken.step=-1 +species\:entity.cliff_hanger.attach=-1 +species\:entity.cliff_hanger.attack=-1 +species\:entity.cliff_hanger.death=-1 +species\:entity.cliff_hanger.hurt=-1 +species\:entity.cliff_hanger.idle=-1 +species\:entity.cliff_hanger.idle_pulling=-1 +species\:entity.cliff_hanger.shoot=-1 +species\:entity.cliff_hanger.step=-1 +minecraft\:entity.cod.ambient=-1 +minecraft\:entity.cod.death=-1 +minecraft\:entity.cod.flop=-1 +minecraft\:entity.cod.hurt=-1 +species\:entity.coil.adjust=-1 +species\:entity.coil.link=-1 +species\:entity.coil.place=-1 +species\:entity.coil.remove=-1 +tfc\:entity.cougar.ambient=-1 +tfc\:entity.cougar.attack=-1 +tfc\:entity.cougar.death=-1 +tfc\:entity.cougar.hurt=-1 +tfc\:entity.cougar.sleep=-1 +tfc\:entity.cougar.step=-1 +minecraft\:entity.cow.ambient=-1 +minecraft\:entity.cow.death=-1 +minecraft\:entity.cow.hurt=-1 +minecraft\:entity.cow.milk=-1 +minecraft\:entity.cow.step=-1 +tfc\:entity.crappie.ambient=-1 +tfc\:entity.crappie.death=-1 +tfc\:entity.crappie.flop=-1 +tfc\:entity.crappie.hurt=-1 +minecraft\:entity.creeper.death=-1 +minecraft\:entity.creeper.hurt=-1 +minecraft\:entity.creeper.primed=-1 +tfc\:entity.crocodile.ambient=-1 +tfc\:entity.crocodile.attack=-1 +tfc\:entity.crocodile.death=-1 +tfc\:entity.crocodile.hurt=-1 +tfc\:entity.crocodile.sleep=-1 +tfc\:entity.crocodile.step=-1 +species\:entity.cruncher.death=-1 +species\:entity.cruncher.hurt=-1 +species\:entity.cruncher.idle=-1 +species\:entity.cruncher.roar=-1 +species\:entity.cruncher.spit=-1 +species\:entity.cruncher.step=-1 +species\:entity.cruncher.stomp=-1 +species\:entity.cruncher.stun=-1 +wan_ancient_beasts\:entity.crusher.attack=-1 +wan_ancient_beasts\:entity.crusher.attack_area=-1 +wan_ancient_beasts\:entity.crusher.hurt=-1 +wan_ancient_beasts\:entity.crusher.idle=-1 +species\:entity.deepfish.death=-1 +species\:entity.deepfish.flop=-1 +species\:entity.deepfish.hurt=-1 +species\:entity.deepfish.idle=-1 +tfc\:entity.deer.ambient=-1 +tfc\:entity.deer.death=-1 +tfc\:entity.deer.hurt=-1 +tfc\:entity.deer.step=-1 +species\:entity.deflector_dummy.absorb=-1 +species\:entity.deflector_dummy.attack=-1 +species\:entity.deflector_dummy.break=-1 +species\:entity.deflector_dummy.deflect=-1 +species\:entity.deflector_dummy.hurt=-1 +species\:entity.deflector_dummy.place=-1 +tfc\:entity.dog.ambient=-1 +tfc\:entity.dog.attack=-1 +tfc\:entity.dog.death=-1 +tfc\:entity.dog.hurt=-1 +tfc\:entity.dog.sleep=-1 +tfc\:entity.dog.step=-1 +minecraft\:entity.dolphin.ambient=-1 +minecraft\:entity.dolphin.ambient_water=-1 +minecraft\:entity.dolphin.attack=-1 +minecraft\:entity.dolphin.death=-1 +minecraft\:entity.dolphin.eat=-1 +minecraft\:entity.dolphin.hurt=-1 +minecraft\:entity.dolphin.jump=-1 +minecraft\:entity.dolphin.play=-1 +minecraft\:entity.dolphin.splash=-1 +minecraft\:entity.dolphin.swim=-1 +minecraft\:entity.donkey.ambient=-1 +minecraft\:entity.donkey.angry=-1 +minecraft\:entity.donkey.chest=-1 +minecraft\:entity.donkey.death=-1 +minecraft\:entity.donkey.eat=-1 +minecraft\:entity.donkey.hurt=-1 +minecraft\:entity.dragon_fireball.explode=-1 +minecraft\:entity.drowned.ambient=-1 +minecraft\:entity.drowned.ambient_water=-1 +minecraft\:entity.drowned.death=-1 +minecraft\:entity.drowned.death_water=-1 +minecraft\:entity.drowned.hurt=-1 +minecraft\:entity.drowned.hurt_water=-1 +minecraft\:entity.drowned.shoot=-1 +minecraft\:entity.drowned.step=-1 +minecraft\:entity.drowned.swim=-1 +tfc\:entity.duck.ambient=-1 +tfc\:entity.duck.death=-1 +tfc\:entity.duck.hurt=-1 +tfc\:entity.duck.step=-1 +wan_ancient_beasts\:entity.eater.baby_roar=-1 +wan_ancient_beasts\:entity.eater.bite=-1 +wan_ancient_beasts\:entity.eater.death=-1 +wan_ancient_beasts\:entity.eater.hit=-1 +wan_ancient_beasts\:entity.eater.idle=-1 +wan_ancient_beasts\:entity.eater.roar=-1 +wan_ancient_beasts\:entity.eater.sleep=-1 +wan_ancient_beasts\:entity.eater.step=-1 +minecraft\:entity.egg.throw=-1 +minecraft\:entity.elder_guardian.ambient=-1 +minecraft\:entity.elder_guardian.ambient_land=-1 +minecraft\:entity.elder_guardian.curse=-1 +minecraft\:entity.elder_guardian.death=-1 +minecraft\:entity.elder_guardian.death_land=-1 +minecraft\:entity.elder_guardian.flop=-1 +minecraft\:entity.elder_guardian.hurt=-1 +minecraft\:entity.elder_guardian.hurt_land=-1 +minecraft\:entity.ender_dragon.ambient=-1 +minecraft\:entity.ender_dragon.death=-1 +minecraft\:entity.ender_dragon.flap=-1 +minecraft\:entity.ender_dragon.growl=-1 +minecraft\:entity.ender_dragon.hurt=-1 +minecraft\:entity.ender_dragon.shoot=-1 +minecraft\:entity.ender_eye.death=-1 +minecraft\:entity.ender_eye.launch=-1 +minecraft\:entity.ender_pearl.throw=-1 +minecraft\:entity.enderman.ambient=-1 +minecraft\:entity.enderman.death=-1 +minecraft\:entity.enderman.hurt=-1 +minecraft\:entity.enderman.scream=-1 +minecraft\:entity.enderman.stare=-1 +minecraft\:entity.enderman.teleport=-1 +minecraft\:entity.endermite.ambient=-1 +minecraft\:entity.endermite.death=-1 +minecraft\:entity.endermite.hurt=-1 +minecraft\:entity.endermite.step=-1 +minecraft\:entity.evoker.ambient=-1 +minecraft\:entity.evoker.cast_spell=-1 +minecraft\:entity.evoker.celebrate=-1 +minecraft\:entity.evoker.death=-1 +minecraft\:entity.evoker.hurt=-1 +minecraft\:entity.evoker.prepare_attack=-1 +minecraft\:entity.evoker.prepare_summon=-1 +minecraft\:entity.evoker.prepare_wololo=-1 +minecraft\:entity.evoker_fangs.attack=-1 +minecraft\:entity.experience_bottle.throw=-1 +minecraft\:entity.experience_orb.pickup=-1 +minecraft\:entity.firework_rocket.blast=-1 +minecraft\:entity.firework_rocket.blast_far=-1 +minecraft\:entity.firework_rocket.large_blast=-1 +minecraft\:entity.firework_rocket.large_blast_far=-1 +minecraft\:entity.firework_rocket.launch=-1 +minecraft\:entity.firework_rocket.shoot=-1 +minecraft\:entity.firework_rocket.twinkle=-1 +minecraft\:entity.firework_rocket.twinkle_far=-1 +minecraft\:entity.fish.swim=-1 +minecraft\:entity.fishing_bobber.retrieve=-1 +minecraft\:entity.fishing_bobber.splash=-1 +minecraft\:entity.fishing_bobber.throw=-1 +minecraft\:entity.fox.aggro=-1 +minecraft\:entity.fox.ambient=-1 +minecraft\:entity.fox.bite=-1 +minecraft\:entity.fox.death=-1 +minecraft\:entity.fox.eat=-1 +minecraft\:entity.fox.hurt=-1 +minecraft\:entity.fox.screech=-1 +minecraft\:entity.fox.sleep=-1 +minecraft\:entity.fox.sniff=-1 +minecraft\:entity.fox.spit=-1 +minecraft\:entity.fox.teleport=-1 +minecraft\:entity.frog.ambient=-1 +minecraft\:entity.frog.death=-1 +minecraft\:entity.frog.eat=-1 +minecraft\:entity.frog.hurt=-1 +minecraft\:entity.frog.lay_spawn=-1 +minecraft\:entity.frog.long_jump=-1 +minecraft\:entity.frog.step=-1 +minecraft\:entity.frog.tongue=-1 +tfc\:entity.gazelle.ambient=-1 +tfc\:entity.gazelle.death=-1 +tfc\:entity.gazelle.hurt=-1 +tfc\:entity.gazelle.step=-1 +minecraft\:entity.generic.big_fall=-1 +minecraft\:entity.generic.burn=-1 +minecraft\:entity.generic.death=-1 +minecraft\:entity.generic.drink=-1 +minecraft\:entity.generic.eat=-1 +minecraft\:entity.generic.explode=-1 +minecraft\:entity.generic.extinguish_fire=-1 +minecraft\:entity.generic.hurt=-1 +minecraft\:entity.generic.small_fall=-1 +minecraft\:entity.generic.splash=-1 +minecraft\:entity.generic.swim=-1 +minecraft\:entity.ghast.ambient=-1 +minecraft\:entity.ghast.death=-1 +minecraft\:entity.ghast.hurt=-1 +minecraft\:entity.ghast.scream=-1 +minecraft\:entity.ghast.shoot=-1 +minecraft\:entity.ghast.warn=-1 +species\:entity.ghoul.aggro=-1 +species\:entity.ghoul.angry=-1 +species\:entity.ghoul.attack=-1 +species\:entity.ghoul.confused=-1 +species\:entity.ghoul.death=-1 +species\:entity.ghoul.hurt=-1 +species\:entity.ghoul.idle=-1 +species\:entity.ghoul.infect=-1 +species\:entity.ghoul.searching=-1 +species\:entity.ghoul.step=-1 +wan_ancient_beasts\:entity.glider.death=-1 +wan_ancient_beasts\:entity.glider.flap=-1 +wan_ancient_beasts\:entity.glider.flap_start=-1 +wan_ancient_beasts\:entity.glider.hurt=-1 +wan_ancient_beasts\:entity.glider.idle=-1 +wan_ancient_beasts\:entity.glider.landing=-1 +minecraft\:entity.glow_item_frame.add_item=-1 +minecraft\:entity.glow_item_frame.break=-1 +minecraft\:entity.glow_item_frame.place=-1 +minecraft\:entity.glow_item_frame.remove_item=-1 +minecraft\:entity.glow_item_frame.rotate_item=-1 +minecraft\:entity.glow_squid.ambient=-1 +minecraft\:entity.glow_squid.death=-1 +minecraft\:entity.glow_squid.hurt=-1 +minecraft\:entity.glow_squid.squirt=-1 +minecraft\:entity.goat.ambient=-1 +minecraft\:entity.goat.death=-1 +minecraft\:entity.goat.eat=-1 +minecraft\:entity.goat.horn_break=-1 +minecraft\:entity.goat.hurt=-1 +minecraft\:entity.goat.long_jump=-1 +minecraft\:entity.goat.milk=-1 +minecraft\:entity.goat.prepare_ram=-1 +minecraft\:entity.goat.ram_impact=-1 +minecraft\:entity.goat.screaming.ambient=-1 +minecraft\:entity.goat.screaming.death=-1 +minecraft\:entity.goat.screaming.eat=-1 +minecraft\:entity.goat.screaming.horn_break=-1 +minecraft\:entity.goat.screaming.hurt=-1 +minecraft\:entity.goat.screaming.long_jump=-1 +minecraft\:entity.goat.screaming.milk=-1 +minecraft\:entity.goat.screaming.prepare_ram=-1 +minecraft\:entity.goat.screaming.ram_impact=-1 +minecraft\:entity.goat.step=-1 +species\:entity.goober.death=-1 +species\:entity.goober.eat=-1 +species\:entity.goober.hurt=-1 +species\:entity.goober.idle=-1 +species\:entity.goober.idle_resting=-1 +species\:entity.goober.lay_down=-1 +species\:entity.goober.rear_up=-1 +species\:entity.goober.sneeze=-1 +species\:entity.goober.step=-1 +species\:entity.goober.yawn=-1 +tfc\:entity.grouse.ambient=-1 +tfc\:entity.grouse.death=-1 +tfc\:entity.grouse.hurt=-1 +tfc\:entity.grouse.step=-1 +minecraft\:entity.guardian.ambient=-1 +minecraft\:entity.guardian.ambient_land=-1 +minecraft\:entity.guardian.attack=-1 +minecraft\:entity.guardian.death=-1 +minecraft\:entity.guardian.death_land=-1 +minecraft\:entity.guardian.flop=-1 +minecraft\:entity.guardian.hurt=-1 +minecraft\:entity.guardian.hurt_land=-1 +species\:entity.hanger.pull=-1 +minecraft\:entity.hoglin.ambient=-1 +minecraft\:entity.hoglin.angry=-1 +minecraft\:entity.hoglin.attack=-1 +minecraft\:entity.hoglin.converted_to_zombified=-1 +minecraft\:entity.hoglin.death=-1 +minecraft\:entity.hoglin.hurt=-1 +minecraft\:entity.hoglin.retreat=-1 +minecraft\:entity.hoglin.step=-1 +minecraft\:entity.horse.ambient=-1 +minecraft\:entity.horse.angry=-1 +minecraft\:entity.horse.armor=-1 +minecraft\:entity.horse.breathe=-1 +minecraft\:entity.horse.death=-1 +minecraft\:entity.horse.eat=-1 +minecraft\:entity.horse.gallop=-1 +minecraft\:entity.horse.hurt=-1 +minecraft\:entity.horse.jump=-1 +minecraft\:entity.horse.land=-1 +minecraft\:entity.horse.saddle=-1 +minecraft\:entity.horse.step=-1 +minecraft\:entity.horse.step_wood=-1 +minecraft\:entity.hostile.big_fall=-1 +minecraft\:entity.hostile.death=-1 +minecraft\:entity.hostile.hurt=-1 +minecraft\:entity.hostile.small_fall=-1 +minecraft\:entity.hostile.splash=-1 +minecraft\:entity.hostile.swim=-1 +minecraft\:entity.husk.ambient=-1 +minecraft\:entity.husk.converted_to_zombie=-1 +minecraft\:entity.husk.death=-1 +minecraft\:entity.husk.hurt=-1 +minecraft\:entity.husk.step=-1 +tfc\:entity.hyena.ambient=-1 +tfc\:entity.hyena.attack=-1 +tfc\:entity.hyena.death=-1 +tfc\:entity.hyena.hurt=-1 +tfc\:entity.hyena.sleep=-1 +tfc\:entity.hyena.step=-1 +minecraft\:entity.illusioner.ambient=-1 +minecraft\:entity.illusioner.cast_spell=-1 +minecraft\:entity.illusioner.death=-1 +minecraft\:entity.illusioner.hurt=-1 +minecraft\:entity.illusioner.mirror_move=-1 +minecraft\:entity.illusioner.prepare_blindness=-1 +minecraft\:entity.illusioner.prepare_mirror=-1 +minecraft\:entity.iron_golem.attack=-1 +minecraft\:entity.iron_golem.damage=-1 +minecraft\:entity.iron_golem.death=-1 +minecraft\:entity.iron_golem.hurt=-1 +minecraft\:entity.iron_golem.repair=-1 +minecraft\:entity.iron_golem.step=-1 +minecraft\:entity.item.break=-1 +minecraft\:entity.item.pickup=-1 +minecraft\:entity.item_frame.add_item=-1 +minecraft\:entity.item_frame.break=-1 +minecraft\:entity.item_frame.place=-1 +minecraft\:entity.item_frame.remove_item=-1 +minecraft\:entity.item_frame.rotate_item=-1 +tfc\:entity.jellyfish.ambient=-1 +tfc\:entity.jellyfish.death=-1 +tfc\:entity.jellyfish.flop=-1 +tfc\:entity.jellyfish.hurt=-1 +tfc\:entity.lake_trout.ambient=-1 +tfc\:entity.lake_trout.death=-1 +tfc\:entity.lake_trout.flop=-1 +tfc\:entity.lake_trout.hurt=-1 +tfc\:entity.largemouth_bass.ambient=-1 +tfc\:entity.largemouth_bass.death=-1 +tfc\:entity.largemouth_bass.flop=-1 +tfc\:entity.largemouth_bass.hurt=-1 +species\:entity.leaf_hanger.attack=-1 +species\:entity.leaf_hanger.catch=-1 +species\:entity.leaf_hanger.death=-1 +species\:entity.leaf_hanger.hurt=-1 +species\:entity.leaf_hanger.idle=-1 +species\:entity.leaf_hanger.idle_pulling=-1 +species\:entity.leaf_hanger.shoot=-1 +species\:entity.leaf_hanger.step=-1 +minecraft\:entity.leash_knot.break=-1 +minecraft\:entity.leash_knot.place=-1 +minecraft\:entity.lightning_bolt.impact=-1 +minecraft\:entity.lightning_bolt.thunder=0 +species\:entity.limpet.break=-1 +species\:entity.limpet.death=-1 +species\:entity.limpet.deflect=-1 +species\:entity.limpet.hurt=-1 +species\:entity.limpet.idle=-1 +species\:entity.limpet.step=-1 +minecraft\:entity.lingering_potion.throw=-1 +tfc\:entity.lion.ambient=-1 +tfc\:entity.lion.attack=-1 +tfc\:entity.lion.death=-1 +tfc\:entity.lion.hurt=-1 +tfc\:entity.lion.sleep=-1 +tfc\:entity.lion.step=-1 +minecraft\:entity.llama.ambient=-1 +minecraft\:entity.llama.angry=-1 +minecraft\:entity.llama.chest=-1 +minecraft\:entity.llama.death=-1 +minecraft\:entity.llama.eat=-1 +minecraft\:entity.llama.hurt=-1 +minecraft\:entity.llama.spit=-1 +minecraft\:entity.llama.step=-1 +minecraft\:entity.llama.swag=-1 +minecraft\:entity.magma_cube.death=-1 +minecraft\:entity.magma_cube.death_small=-1 +minecraft\:entity.magma_cube.hurt=-1 +minecraft\:entity.magma_cube.hurt_small=-1 +minecraft\:entity.magma_cube.jump=-1 +minecraft\:entity.magma_cube.squish=-1 +minecraft\:entity.magma_cube.squish_small=-1 +species\:entity.mammutilation.bleed=-1 +species\:entity.mammutilation.cough=-1 +species\:entity.mammutilation.death=-1 +species\:entity.mammutilation.howl=-1 +species\:entity.mammutilation.hurt=-1 +species\:entity.mammutilation.idle=-1 +species\:entity.mammutilation.mammutiful_howl=-1 +species\:entity.mammutilation.mammutiful_idle=-1 +tfc\:entity.manatee.ambient=-1 +tfc\:entity.manatee.death=-1 +tfc\:entity.manatee.flop=-1 +tfc\:entity.manatee.hurt=-1 +minecraft\:entity.minecart.inside=-1 +minecraft\:entity.minecart.inside.underwater=-1 +minecraft\:entity.minecart.riding=-1 +tfc\:entity.moose.ambient=-1 +tfc\:entity.moose.attack=-1 +tfc\:entity.moose.death=-1 +tfc\:entity.moose.hurt=-1 +tfc\:entity.moose.step=-1 +minecraft\:entity.mooshroom.convert=-1 +minecraft\:entity.mooshroom.eat=-1 +minecraft\:entity.mooshroom.milk=-1 +minecraft\:entity.mooshroom.shear=-1 +minecraft\:entity.mooshroom.suspicious_milk=-1 +minecraft\:entity.mule.ambient=-1 +minecraft\:entity.mule.angry=-1 +minecraft\:entity.mule.chest=-1 +minecraft\:entity.mule.death=-1 +minecraft\:entity.mule.eat=-1 +minecraft\:entity.mule.hurt=-1 +tfc\:entity.musk_ox.ambient=-1 +tfc\:entity.musk_ox.death=-1 +tfc\:entity.musk_ox.hurt=-1 +tfc\:entity.musk_ox.step=-1 +minecraft\:entity.ocelot.ambient=-1 +minecraft\:entity.ocelot.death=-1 +minecraft\:entity.ocelot.hurt=-1 +minecraft\:entity.painting.break=-1 +minecraft\:entity.painting.place=-1 +minecraft\:entity.panda.aggressive_ambient=-1 +minecraft\:entity.panda.ambient=-1 +minecraft\:entity.panda.bite=-1 +minecraft\:entity.panda.cant_breed=-1 +minecraft\:entity.panda.death=-1 +minecraft\:entity.panda.eat=-1 +minecraft\:entity.panda.hurt=-1 +minecraft\:entity.panda.pre_sneeze=-1 +minecraft\:entity.panda.sneeze=-1 +minecraft\:entity.panda.step=-1 +minecraft\:entity.panda.worried_ambient=-1 +minecraft\:entity.parrot.ambient=-1 +minecraft\:entity.parrot.death=-1 +minecraft\:entity.parrot.eat=-1 +minecraft\:entity.parrot.fly=-1 +minecraft\:entity.parrot.hurt=-1 +minecraft\:entity.parrot.imitate.blaze=-1 +minecraft\:entity.parrot.imitate.creeper=-1 +minecraft\:entity.parrot.imitate.drowned=-1 +minecraft\:entity.parrot.imitate.elder_guardian=-1 +minecraft\:entity.parrot.imitate.ender_dragon=-1 +minecraft\:entity.parrot.imitate.endermite=-1 +minecraft\:entity.parrot.imitate.evoker=-1 +minecraft\:entity.parrot.imitate.ghast=-1 +minecraft\:entity.parrot.imitate.guardian=-1 +minecraft\:entity.parrot.imitate.hoglin=-1 +minecraft\:entity.parrot.imitate.husk=-1 +minecraft\:entity.parrot.imitate.illusioner=-1 +minecraft\:entity.parrot.imitate.magma_cube=-1 +minecraft\:entity.parrot.imitate.phantom=-1 +minecraft\:entity.parrot.imitate.piglin=-1 +minecraft\:entity.parrot.imitate.piglin_brute=-1 +minecraft\:entity.parrot.imitate.pillager=-1 +minecraft\:entity.parrot.imitate.ravager=-1 +minecraft\:entity.parrot.imitate.shulker=-1 +minecraft\:entity.parrot.imitate.silverfish=-1 +minecraft\:entity.parrot.imitate.skeleton=-1 +minecraft\:entity.parrot.imitate.slime=-1 +minecraft\:entity.parrot.imitate.spider=-1 +minecraft\:entity.parrot.imitate.stray=-1 +minecraft\:entity.parrot.imitate.vex=-1 +minecraft\:entity.parrot.imitate.vindicator=-1 +minecraft\:entity.parrot.imitate.warden=-1 +minecraft\:entity.parrot.imitate.witch=-1 +minecraft\:entity.parrot.imitate.wither=-1 +minecraft\:entity.parrot.imitate.wither_skeleton=-1 +minecraft\:entity.parrot.imitate.zoglin=-1 +minecraft\:entity.parrot.imitate.zombie=-1 +minecraft\:entity.parrot.imitate.zombie_villager=-1 +minecraft\:entity.parrot.step=-1 +tfc\:entity.peafowl.ambient=-1 +tfc\:entity.peafowl.death=-1 +tfc\:entity.peafowl.hurt=-1 +tfc\:entity.peafowl.step=-1 +tfc\:entity.penguin.ambient=-1 +tfc\:entity.penguin.death=-1 +tfc\:entity.penguin.hurt=-1 +tfc\:entity.penguin.step=-1 +minecraft\:entity.phantom.ambient=-1 +minecraft\:entity.phantom.bite=-1 +minecraft\:entity.phantom.death=-1 +minecraft\:entity.phantom.flap=-1 +minecraft\:entity.phantom.hurt=-1 +minecraft\:entity.phantom.swoop=-1 +tfc\:entity.pheasant.ambient=-1 +tfc\:entity.pheasant.death=-1 +tfc\:entity.pheasant.hurt=-1 +tfc\:entity.pheasant.step=-1 +minecraft\:entity.pig.ambient=-1 +minecraft\:entity.pig.death=-1 +minecraft\:entity.pig.hurt=-1 +minecraft\:entity.pig.saddle=-1 +minecraft\:entity.pig.step=-1 +minecraft\:entity.piglin.admiring_item=-1 +minecraft\:entity.piglin.ambient=-1 +minecraft\:entity.piglin.angry=-1 +minecraft\:entity.piglin.celebrate=-1 +minecraft\:entity.piglin.converted_to_zombified=-1 +minecraft\:entity.piglin.death=-1 +minecraft\:entity.piglin.hurt=-1 +minecraft\:entity.piglin.jealous=-1 +minecraft\:entity.piglin.retreat=-1 +minecraft\:entity.piglin.step=-1 +minecraft\:entity.piglin_brute.ambient=-1 +minecraft\:entity.piglin_brute.angry=-1 +minecraft\:entity.piglin_brute.converted_to_zombified=-1 +minecraft\:entity.piglin_brute.death=-1 +minecraft\:entity.piglin_brute.hurt=-1 +minecraft\:entity.piglin_brute.step=-1 +minecraft\:entity.pillager.ambient=-1 +minecraft\:entity.pillager.celebrate=-1 +minecraft\:entity.pillager.death=-1 +minecraft\:entity.pillager.hurt=-1 +minecraft\:entity.player.attack.crit=-1 +minecraft\:entity.player.attack.knockback=-1 +minecraft\:entity.player.attack.nodamage=-1 +minecraft\:entity.player.attack.strong=-1 +minecraft\:entity.player.attack.sweep=-1 +minecraft\:entity.player.attack.weak=-1 +minecraft\:entity.player.big_fall=-1 +minecraft\:entity.player.breath=-1 +minecraft\:entity.player.burp=-1 +minecraft\:entity.player.death=-1 +minecraft\:entity.player.hurt=-1 +minecraft\:entity.player.hurt_drown=-1 +minecraft\:entity.player.hurt_freeze=-1 +minecraft\:entity.player.hurt_on_fire=-1 +minecraft\:entity.player.hurt_sweet_berry_bush=-1 +minecraft\:entity.player.levelup=-1 +minecraft\:entity.player.small_fall=-1 +minecraft\:entity.player.splash=-1 +minecraft\:entity.player.splash.high_speed=-1 +minecraft\:entity.player.swim=-1 +minecraft\:entity.polar_bear.ambient=-1 +minecraft\:entity.polar_bear.ambient_baby=-1 +minecraft\:entity.polar_bear.death=-1 +minecraft\:entity.polar_bear.hurt=-1 +minecraft\:entity.polar_bear.step=-1 +minecraft\:entity.polar_bear.warning=-1 +minecraft\:entity.puffer_fish.ambient=-1 +minecraft\:entity.puffer_fish.blow_out=-1 +minecraft\:entity.puffer_fish.blow_up=-1 +minecraft\:entity.puffer_fish.death=-1 +minecraft\:entity.puffer_fish.flop=-1 +minecraft\:entity.puffer_fish.hurt=-1 +minecraft\:entity.puffer_fish.sting=-1 +tfc\:entity.quail.ambient=-1 +tfc\:entity.quail.death=-1 +tfc\:entity.quail.hurt=-1 +tfc\:entity.quail.step=-1 +species\:entity.quake.absorb=-1 +species\:entity.quake.attack=-1 +species\:entity.quake.charge=-1 +species\:entity.quake.death=-1 +species\:entity.quake.finishes_unscrewing=-1 +species\:entity.quake.hurt=-1 +species\:entity.quake.recharge=-1 +species\:entity.quake.shield=-1 +species\:entity.quake.step=-1 +species\:entity.quake.unscrews=-1 +minecraft\:entity.rabbit.ambient=-1 +minecraft\:entity.rabbit.attack=-1 +minecraft\:entity.rabbit.death=-1 +minecraft\:entity.rabbit.hurt=-1 +minecraft\:entity.rabbit.jump=-1 +tfc\:entity.rainbow_trout.ambient=-1 +tfc\:entity.rainbow_trout.death=-1 +tfc\:entity.rainbow_trout.flop=-1 +tfc\:entity.rainbow_trout.hurt=-1 +tfc\:entity.ramming.impact=-1 +tfc\:entity.rat.ambient=-1 +tfc\:entity.rat.death=-1 +tfc\:entity.rat.hurt=-1 +tfc\:entity.rat.step=-1 +minecraft\:entity.ravager.ambient=-1 +minecraft\:entity.ravager.attack=-1 +minecraft\:entity.ravager.celebrate=-1 +minecraft\:entity.ravager.death=-1 +minecraft\:entity.ravager.hurt=-1 +minecraft\:entity.ravager.roar=-1 +minecraft\:entity.ravager.step=-1 +minecraft\:entity.ravager.stunned=-1 +tfc\:entity.rooster.cry=-1 +tfc\:entity.sabertooth.ambient=-1 +tfc\:entity.sabertooth.attack=-1 +tfc\:entity.sabertooth.death=-1 +tfc\:entity.sabertooth.hurt=-1 +tfc\:entity.sabertooth.sleep=-1 +tfc\:entity.sabertooth.step=-1 +minecraft\:entity.salmon.ambient=-1 +minecraft\:entity.salmon.death=-1 +minecraft\:entity.salmon.flop=-1 +minecraft\:entity.salmon.hurt=-1 +minecraft\:entity.sheep.ambient=-1 +minecraft\:entity.sheep.death=-1 +minecraft\:entity.sheep.hurt=-1 +minecraft\:entity.sheep.shear=-1 +minecraft\:entity.sheep.step=-1 +minecraft\:entity.shulker.ambient=-1 +minecraft\:entity.shulker.close=-1 +minecraft\:entity.shulker.death=-1 +minecraft\:entity.shulker.hurt=-1 +minecraft\:entity.shulker.hurt_closed=-1 +minecraft\:entity.shulker.open=-1 +minecraft\:entity.shulker.shoot=-1 +minecraft\:entity.shulker.teleport=-1 +minecraft\:entity.shulker_bullet.hit=-1 +minecraft\:entity.shulker_bullet.hurt=-1 +minecraft\:entity.silverfish.ambient=-1 +minecraft\:entity.silverfish.death=-1 +minecraft\:entity.silverfish.hurt=-1 +minecraft\:entity.silverfish.step=-1 +minecraft\:entity.skeleton.ambient=-1 +minecraft\:entity.skeleton.converted_to_stray=-1 +minecraft\:entity.skeleton.death=-1 +minecraft\:entity.skeleton.hurt=-1 +minecraft\:entity.skeleton.shoot=-1 +minecraft\:entity.skeleton.step=-1 +minecraft\:entity.skeleton_horse.ambient=-1 +minecraft\:entity.skeleton_horse.ambient_water=-1 +minecraft\:entity.skeleton_horse.death=-1 +minecraft\:entity.skeleton_horse.gallop_water=-1 +minecraft\:entity.skeleton_horse.hurt=-1 +minecraft\:entity.skeleton_horse.jump_water=-1 +minecraft\:entity.skeleton_horse.step_water=-1 +minecraft\:entity.skeleton_horse.swim=-1 +minecraft\:entity.slime.attack=-1 +minecraft\:entity.slime.death=-1 +minecraft\:entity.slime.death_small=-1 +minecraft\:entity.slime.hurt=-1 +minecraft\:entity.slime.hurt_small=-1 +minecraft\:entity.slime.jump=-1 +minecraft\:entity.slime.jump_small=-1 +minecraft\:entity.slime.squish=-1 +minecraft\:entity.slime.squish_small=-1 +tfc\:entity.smallmouth_bass.ambient=-1 +tfc\:entity.smallmouth_bass.death=-1 +tfc\:entity.smallmouth_bass.flop=-1 +tfc\:entity.smallmouth_bass.hurt=-1 +minecraft\:entity.sniffer.death=-1 +minecraft\:entity.sniffer.digging=-1 +minecraft\:entity.sniffer.digging_stop=-1 +minecraft\:entity.sniffer.drop_seed=-1 +minecraft\:entity.sniffer.eat=-1 +minecraft\:entity.sniffer.happy=-1 +minecraft\:entity.sniffer.hurt=-1 +minecraft\:entity.sniffer.idle=-1 +minecraft\:entity.sniffer.scenting=-1 +minecraft\:entity.sniffer.searching=-1 +minecraft\:entity.sniffer.sniffing=-1 +minecraft\:entity.sniffer.step=-1 +minecraft\:entity.snow_golem.ambient=-1 +minecraft\:entity.snow_golem.death=-1 +minecraft\:entity.snow_golem.hurt=-1 +minecraft\:entity.snow_golem.shear=-1 +minecraft\:entity.snow_golem.shoot=-1 +minecraft\:entity.snowball.throw=-1 +wan_ancient_beasts\:entity.soarer.attack=-1 +wan_ancient_beasts\:entity.soarer.flap=-1 +wan_ancient_beasts\:entity.soarer.flap_start=-1 +wan_ancient_beasts\:entity.soarer.glide=-1 +wan_ancient_beasts\:entity.soarer.idle=-1 +wan_ancient_beasts\:entity.soarer.landing=-1 +species\:entity.spectre.attack=-1 +species\:entity.spectre.dash=-1 +species\:entity.spectre.death=-1 +species\:entity.spectre.fly=-1 +species\:entity.spectre.hulking_attack=-1 +species\:entity.spectre.hurt=-1 +species\:entity.spectre.idle=-1 +species\:entity.spectre.jousting_attack=-1 +species\:entity.spectre.spawn=-1 +species\:entity.spectre.spot=-1 +minecraft\:entity.spider.ambient=-1 +minecraft\:entity.spider.death=-1 +minecraft\:entity.spider.hurt=-1 +minecraft\:entity.spider.step=-1 +minecraft\:entity.splash_potion.break=-1 +minecraft\:entity.splash_potion.throw=-1 +species\:entity.springling.death=-1 +species\:entity.springling.eat=-1 +species\:entity.springling.extend=-1 +species\:entity.springling.extend_finish=-1 +species\:entity.springling.hurt=-1 +species\:entity.springling.idle=-1 +species\:entity.springling.step=-1 +minecraft\:entity.squid.ambient=-1 +minecraft\:entity.squid.death=-1 +minecraft\:entity.squid.hurt=-1 +minecraft\:entity.squid.squirt=-1 +species\:entity.stackatick.death=-1 +species\:entity.stackatick.eat=-1 +species\:entity.stackatick.goofy_aah_step=-1 +species\:entity.stackatick.hurt=-1 +species\:entity.stackatick.idle=-1 +species\:entity.stackatick.sit=-1 +species\:entity.stackatick.snoring=-1 +species\:entity.stackatick.stand_up=-1 +species\:entity.stackatick.step=-1 +minecraft\:entity.stray.ambient=-1 +minecraft\:entity.stray.death=-1 +minecraft\:entity.stray.hurt=-1 +minecraft\:entity.stray.step=-1 +minecraft\:entity.strider.ambient=-1 +minecraft\:entity.strider.death=-1 +minecraft\:entity.strider.eat=-1 +minecraft\:entity.strider.happy=-1 +minecraft\:entity.strider.hurt=-1 +minecraft\:entity.strider.retreat=-1 +minecraft\:entity.strider.saddle=-1 +minecraft\:entity.strider.step=-1 +minecraft\:entity.strider.step_lava=-1 +wan_ancient_beasts\:entity.surfer.death=-1 +wan_ancient_beasts\:entity.surfer.death_baby=-1 +wan_ancient_beasts\:entity.surfer.fast_swim=-1 +wan_ancient_beasts\:entity.surfer.fast_swim_baby=-1 +wan_ancient_beasts\:entity.surfer.hurt=-1 +wan_ancient_beasts\:entity.surfer.idle=-1 +wan_ancient_beasts\:entity.surfer.idle_baby=-1 +wan_ancient_beasts\:entity.surfer.idle_to_relax=-1 +wan_ancient_beasts\:entity.surfer.idle_to_relax_baby=-1 +wan_ancient_beasts\:entity.surfer.idle_water=-1 +wan_ancient_beasts\:entity.surfer.idle_water_baby=-1 +wan_ancient_beasts\:entity.surfer.jump_landing=-1 +wan_ancient_beasts\:entity.surfer.jump_landing_baby=-1 +wan_ancient_beasts\:entity.surfer.jump_pose=-1 +wan_ancient_beasts\:entity.surfer.jump_pose_baby=-1 +wan_ancient_beasts\:entity.surfer.jump_start=-1 +wan_ancient_beasts\:entity.surfer.jump_start_baby=-1 +wan_ancient_beasts\:entity.surfer.relax=-1 +wan_ancient_beasts\:entity.surfer.relax_baby=-1 +wan_ancient_beasts\:entity.surfer.relax_to_idle=-1 +wan_ancient_beasts\:entity.surfer.relax_to_idle_baby=-1 +wan_ancient_beasts\:entity.surfer.roar=-1 +wan_ancient_beasts\:entity.surfer.roar_baby=-1 +wan_ancient_beasts\:entity.surfer.run=-1 +wan_ancient_beasts\:entity.surfer.run_baby=-1 +wan_ancient_beasts\:entity.surfer.swim=-1 +wan_ancient_beasts\:entity.surfer.swim_baby=-1 +wan_ancient_beasts\:entity.surfer.walk=-1 +wan_ancient_beasts\:entity.surfer.walk_baby=-1 +minecraft\:entity.tadpole.death=-1 +minecraft\:entity.tadpole.flop=-1 +minecraft\:entity.tadpole.grow_up=-1 +minecraft\:entity.tadpole.hurt=-1 +tfc\:entity.tfc_wolf.ambient=-1 +tfc\:entity.tfc_wolf.attack=-1 +tfc\:entity.tfc_wolf.death=-1 +tfc\:entity.tfc_wolf.hurt=-1 +tfc\:entity.tfc_wolf.sleep=-1 +tfc\:entity.tfc_wolf.step=-1 +tfc\:entity.tiger.ambient=-1 +tfc\:entity.tiger.attack=-1 +tfc\:entity.tiger.death=-1 +tfc\:entity.tiger.hurt=-1 +tfc\:entity.tiger.sleep=-1 +tfc\:entity.tiger.step=-1 +minecraft\:entity.tnt.primed=-1 +species\:entity.treeper.burn=-1 +species\:entity.treeper.death=-1 +species\:entity.treeper.hurt=-1 +species\:entity.treeper.idle=-1 +species\:entity.treeper.idle_planted=-1 +species\:entity.treeper.plant=-1 +species\:entity.treeper.shake_fail=-1 +species\:entity.treeper.shake_success=-1 +species\:entity.treeper.step=-1 +species\:entity.treeper.uproot=-1 +species\:entity.trooper.death=-1 +species\:entity.trooper.hurt=-1 +species\:entity.trooper.leaves=-1 +species\:entity.trooper.plant=-1 +species\:entity.trooper.step=-1 +species\:entity.trooper.uproot=-1 +minecraft\:entity.tropical_fish.ambient=-1 +minecraft\:entity.tropical_fish.death=-1 +minecraft\:entity.tropical_fish.flop=-1 +minecraft\:entity.tropical_fish.hurt=-1 +tfc\:entity.turkey.ambient=-1 +tfc\:entity.turkey.death=-1 +tfc\:entity.turkey.hurt=-1 +tfc\:entity.turkey.step=-1 +minecraft\:entity.turtle.ambient_land=-1 +minecraft\:entity.turtle.death=-1 +minecraft\:entity.turtle.death_baby=-1 +minecraft\:entity.turtle.egg_break=-1 +minecraft\:entity.turtle.egg_crack=-1 +minecraft\:entity.turtle.egg_hatch=-1 +minecraft\:entity.turtle.hurt=-1 +minecraft\:entity.turtle.hurt_baby=-1 +minecraft\:entity.turtle.lay_egg=-1 +minecraft\:entity.turtle.shamble=-1 +minecraft\:entity.turtle.shamble_baby=-1 +minecraft\:entity.turtle.swim=-1 +minecraft\:entity.vex.ambient=-1 +minecraft\:entity.vex.charge=-1 +minecraft\:entity.vex.death=-1 +minecraft\:entity.vex.hurt=-1 +minecraft\:entity.villager.ambient=-1 +minecraft\:entity.villager.celebrate=-1 +minecraft\:entity.villager.death=-1 +minecraft\:entity.villager.hurt=-1 +minecraft\:entity.villager.no=-1 +minecraft\:entity.villager.trade=-1 +minecraft\:entity.villager.work_armorer=-1 +minecraft\:entity.villager.work_butcher=-1 +minecraft\:entity.villager.work_cartographer=-1 +minecraft\:entity.villager.work_cleric=-1 +minecraft\:entity.villager.work_farmer=-1 +minecraft\:entity.villager.work_fisherman=-1 +minecraft\:entity.villager.work_fletcher=-1 +minecraft\:entity.villager.work_leatherworker=-1 +minecraft\:entity.villager.work_librarian=-1 +minecraft\:entity.villager.work_mason=-1 +minecraft\:entity.villager.work_shepherd=-1 +minecraft\:entity.villager.work_toolsmith=-1 +minecraft\:entity.villager.work_weaponsmith=-1 +minecraft\:entity.villager.yes=-1 +minecraft\:entity.vindicator.ambient=-1 +minecraft\:entity.vindicator.celebrate=-1 +minecraft\:entity.vindicator.death=-1 +minecraft\:entity.vindicator.hurt=-1 +wan_ancient_beasts\:entity.walker.death=-1 +wan_ancient_beasts\:entity.walker.hit=-1 +wan_ancient_beasts\:entity.walker.idle=-1 +wan_ancient_beasts\:entity.walker.step=-1 +minecraft\:entity.wandering_trader.ambient=-1 +minecraft\:entity.wandering_trader.death=-1 +minecraft\:entity.wandering_trader.disappeared=-1 +minecraft\:entity.wandering_trader.drink_milk=-1 +minecraft\:entity.wandering_trader.drink_potion=-1 +minecraft\:entity.wandering_trader.hurt=-1 +minecraft\:entity.wandering_trader.no=-1 +minecraft\:entity.wandering_trader.reappeared=-1 +minecraft\:entity.wandering_trader.trade=-1 +minecraft\:entity.wandering_trader.yes=-1 +minecraft\:entity.warden.agitated=-1 +minecraft\:entity.warden.ambient=-1 +minecraft\:entity.warden.angry=-1 +minecraft\:entity.warden.attack_impact=-1 +minecraft\:entity.warden.death=-1 +minecraft\:entity.warden.dig=-1 +minecraft\:entity.warden.emerge=-1 +minecraft\:entity.warden.heartbeat=-1 +minecraft\:entity.warden.hurt=-1 +minecraft\:entity.warden.listening=-1 +minecraft\:entity.warden.listening_angry=-1 +minecraft\:entity.warden.nearby_close=-1 +minecraft\:entity.warden.nearby_closer=-1 +minecraft\:entity.warden.nearby_closest=-1 +minecraft\:entity.warden.roar=-1 +minecraft\:entity.warden.sniff=-1 +minecraft\:entity.warden.sonic_boom=-1 +minecraft\:entity.warden.sonic_charge=-1 +minecraft\:entity.warden.step=-1 +minecraft\:entity.warden.tendril_clicks=-1 +species\:entity.wicked.death=-1 +species\:entity.wicked.haunt=-1 +species\:entity.wicked.hurt=-1 +species\:entity.wicked.idle=-1 +species\:entity.wicked.idle_haunting=-1 +species\:entity.wicked.shoot=-1 +species\:entity.wicked.spot=-1 +species\:entity.wicked.stop_haunting=-1 +tfc\:entity.wildebeest.ambient=-1 +tfc\:entity.wildebeest.attack=-1 +tfc\:entity.wildebeest.death=-1 +tfc\:entity.wildebeest.hurt=-1 +tfc\:entity.wildebeest.step=-1 +minecraft\:entity.witch.ambient=-1 +minecraft\:entity.witch.celebrate=-1 +minecraft\:entity.witch.death=-1 +minecraft\:entity.witch.drink=-1 +minecraft\:entity.witch.hurt=-1 +minecraft\:entity.witch.throw=-1 +minecraft\:entity.wither.ambient=-1 +minecraft\:entity.wither.break_block=-1 +minecraft\:entity.wither.death=-1 +minecraft\:entity.wither.hurt=-1 +minecraft\:entity.wither.shoot=-1 +minecraft\:entity.wither.spawn=-1 +minecraft\:entity.wither_skeleton.ambient=-1 +minecraft\:entity.wither_skeleton.death=-1 +minecraft\:entity.wither_skeleton.hurt=-1 +minecraft\:entity.wither_skeleton.step=-1 +minecraft\:entity.wolf.ambient=-1 +minecraft\:entity.wolf.death=-1 +minecraft\:entity.wolf.growl=-1 +minecraft\:entity.wolf.howl=-1 +minecraft\:entity.wolf.hurt=-1 +minecraft\:entity.wolf.pant=-1 +minecraft\:entity.wolf.shake=-1 +minecraft\:entity.wolf.step=-1 +minecraft\:entity.wolf.whine=-1 +species\:entity.wraptor.aggro=-1 +species\:entity.wraptor.agitated=-1 +species\:entity.wraptor.attack=-1 +species\:entity.wraptor.death=-1 +species\:entity.wraptor.egg=-1 +species\:entity.wraptor.feather_loss=-1 +species\:entity.wraptor.hurt=-1 +species\:entity.wraptor.idle=-1 +species\:entity.wraptor.shear=-1 +species\:entity.wraptor.step=-1 +tfc\:entity.yak.ambient=-1 +tfc\:entity.yak.death=-1 +tfc\:entity.yak.hurt=-1 +tfc\:entity.yak.step=-1 +minecraft\:entity.zoglin.ambient=-1 +minecraft\:entity.zoglin.angry=-1 +minecraft\:entity.zoglin.attack=-1 +minecraft\:entity.zoglin.death=-1 +minecraft\:entity.zoglin.hurt=-1 +minecraft\:entity.zoglin.step=-1 +minecraft\:entity.zombie.ambient=-1 +minecraft\:entity.zombie.attack_iron_door=-1 +minecraft\:entity.zombie.attack_wooden_door=-1 +minecraft\:entity.zombie.break_wooden_door=-1 +minecraft\:entity.zombie.converted_to_drowned=-1 +minecraft\:entity.zombie.death=-1 +minecraft\:entity.zombie.destroy_egg=-1 +minecraft\:entity.zombie.hurt=-1 +minecraft\:entity.zombie.infect=-1 +minecraft\:entity.zombie.step=-1 +minecraft\:entity.zombie_horse.ambient=-1 +minecraft\:entity.zombie_horse.death=-1 +minecraft\:entity.zombie_horse.hurt=-1 +minecraft\:entity.zombie_villager.ambient=-1 +minecraft\:entity.zombie_villager.converted=-1 +minecraft\:entity.zombie_villager.cure=-1 +minecraft\:entity.zombie_villager.death=-1 +minecraft\:entity.zombie_villager.hurt=-1 +minecraft\:entity.zombie_villager.step=-1 +minecraft\:entity.zombified_piglin.ambient=-1 +minecraft\:entity.zombified_piglin.angry=-1 +minecraft\:entity.zombified_piglin.death=-1 +minecraft\:entity.zombified_piglin.hurt=-1 +minecraft\:event.raid.horn=-1 +gtceu\:file=-1 +gtceu\:fire=-1 +deafission\:fission_loop=-1 +gtceu\:forge_hammer=-1 +create\:frogport_catch=-1 +create\:frogport_close=-1 +create\:frogport_deposit=-1 +create\:frogport_open=-1 +create\:funnel_flap=-1 +create\:funnel_flap_compounded_1=-1 +gtceu\:furnace=-1 +create\:fwoomp=-1 +ad_astra\:gravity_normalizer_idle=-1 +ae2\:guide.click=-1 +guideme\:guide.click=-1 +tacz\:gun=-1 +railways\:handcar_cogs=-1 +create\:haunted_bell_convert=-1 +create\:haunted_bell_use=-1 +endermanoverhaul\:icy_pearl_hit=-1 +minecraft\:intentionally_empty=-1 +create_connected\:interlude_music=-1 +tfc\:item.armor.equip_bismuth_bronze=-1 +tfc\:item.armor.equip_black_bronze=-1 +tfc\:item.armor.equip_black_steel=-1 +tfc\:item.armor.equip_blue_steel=-1 +tfc\:item.armor.equip_bronze=-1 +minecraft\:item.armor.equip_chain=-1 +tfc\:item.armor.equip_copper=-1 +minecraft\:item.armor.equip_diamond=-1 +minecraft\:item.armor.equip_elytra=-1 +minecraft\:item.armor.equip_generic=-1 +minecraft\:item.armor.equip_gold=-1 +minecraft\:item.armor.equip_iron=-1 +minecraft\:item.armor.equip_leather=-1 +minecraft\:item.armor.equip_netherite=-1 +tfc\:item.armor.equip_red_steel=-1 +tfc\:item.armor.equip_steel=-1 +minecraft\:item.armor.equip_turtle=-1 +tfc\:item.armor.equip_wrought_iron=-1 +minecraft\:item.axe.scrape=-1 +minecraft\:item.axe.strip=-1 +minecraft\:item.axe.wax_off=-1 +species\:item.birt_egg.hit=-1 +species\:item.birt_egg.throw=-1 +minecraft\:item.bone_meal.use=-1 +minecraft\:item.book.page_turn=-1 +minecraft\:item.book.put=-1 +minecraft\:item.bottle.empty=-1 +minecraft\:item.bottle.fill=-1 +minecraft\:item.bottle.fill_dragonbreath=-1 +minecraft\:item.brush.brushing.generic=-1 +minecraft\:item.brush.brushing.gravel=-1 +minecraft\:item.brush.brushing.gravel.complete=-1 +minecraft\:item.brush.brushing.sand=-1 +minecraft\:item.brush.brushing.sand.complete=-1 +minecraft\:item.bucket.empty=-1 +minecraft\:item.bucket.empty_axolotl=-1 +minecraft\:item.bucket.empty_fish=-1 +minecraft\:item.bucket.empty_lava=-1 +minecraft\:item.bucket.empty_milk=-1 +minecraft\:item.bucket.empty_powder_snow=-1 +minecraft\:item.bucket.empty_tadpole=-1 +minecraft\:item.bucket.fill=-1 +minecraft\:item.bucket.fill_axolotl=-1 +minecraft\:item.bucket.fill_fish=-1 +minecraft\:item.bucket.fill_lava=-1 +minecraft\:item.bucket.fill_milk=-1 +minecraft\:item.bucket.fill_powder_snow=-1 +minecraft\:item.bucket.fill_tadpole=-1 +minecraft\:item.bundle.drop_contents=-1 +minecraft\:item.bundle.insert=-1 +minecraft\:item.bundle.remove_one=-1 +exposure\:item.camera.button_click=-1 +exposure\:item.camera.dial_click=-1 +exposure\:item.camera.film_advance=-1 +exposure\:item.camera.film_advance_last=-1 +exposure\:item.camera.film_removed=-1 +exposure\:item.camera.filter_insert=-1 +exposure\:item.camera.filter_remove=-1 +exposure\:item.camera.flash=-1 +exposure\:item.camera.generic_click=-1 +exposure\:item.camera.interplanar_projector.project=-1 +exposure\:item.camera.lens_insert=-1 +exposure\:item.camera.lens_remove=-1 +exposure\:item.camera.lens_ring_click=-1 +exposure\:item.camera.release_button_click=-1 +exposure\:item.camera.shutter_close=-1 +exposure\:item.camera.shutter_open=-1 +exposure\:item.camera.shutter_ticking=-1 +exposure\:item.camera.viewfinder_close=-1 +exposure\:item.camera.viewfinder_open=-1 +tfc\:item.ceramic.break=-1 +chalk\:item.chalk_box_change=-1 +chalk\:item.chalk_box_close=-1 +chalk\:item.chalk_box_open=-1 +chalk\:item.chalk_draw=-1 +minecraft\:item.chorus_fruit.teleport=-1 +tfc\:item.cool=-1 +species\:item.cracked_wraptor_egg.slurp=-1 +species\:item.crankbow.load_arrow=-1 +species\:item.crankbow.pull=-1 +species\:item.crankbow.quick_pull=-1 +species\:item.crankbow.remove_arrow=-1 +species\:item.crankbow.shoot=-1 +species\:item.crankbow.shoot_spare=-1 +species\:item.crankbow.speed=-1 +species\:item.crankbow.stop=-1 +minecraft\:item.crop.plant=-1 +minecraft\:item.crossbow.hit=-1 +minecraft\:item.crossbow.loading_end=-1 +minecraft\:item.crossbow.loading_middle=-1 +minecraft\:item.crossbow.loading_start=-1 +minecraft\:item.crossbow.quick_charge_1=-1 +minecraft\:item.crossbow.quick_charge_2=-1 +minecraft\:item.crossbow.quick_charge_3=-1 +minecraft\:item.crossbow.shoot=-1 +minecraft\:item.dye.use=-1 +minecraft\:item.elytra.flying=-1 +tfc\:item.fertilizer.use=-1 +minecraft\:item.firecharge.use=-1 +tfc\:item.firestarter.use=-1 +waterflasks\:item.flaskbreak=-1 +minecraft\:item.flintandsteel.use=-1 +chalk\:item.glow_applied=-1 +minecraft\:item.glow_ink_sac.use=-1 +minecraft\:item.goat_horn.play=-1 +minecraft\:item.goat_horn.sound.0=0 +minecraft\:item.goat_horn.sound.1=0 +minecraft\:item.goat_horn.sound.2=0 +minecraft\:item.goat_horn.sound.3=0 +minecraft\:item.goat_horn.sound.4=0 +minecraft\:item.goat_horn.sound.5=0 +minecraft\:item.goat_horn.sound.6=0 +minecraft\:item.goat_horn.sound.7=0 +species\:item.harpoon.anchor=-1 +species\:item.harpoon.pull=-1 +species\:item.harpoon.retrieved=-1 +species\:item.harpoon.start_ziplining=-1 +species\:item.harpoon.thrown=-1 +species\:item.harpoon.ziplining=-1 +minecraft\:item.hoe.till=-1 +firmalife\:item.hollow_shell.blow=-1 +minecraft\:item.honey_bottle.drink=-1 +minecraft\:item.honeycomb.wax_on=-1 +species\:item.ichor_bottle.applied=-1 +minecraft\:item.ink_sac.use=-1 +tfc\:item.javelin.hit=-1 +tfc\:item.javelin.hit_ground=-1 +tfc\:item.javelin.throw=-1 +tfc\:item.jug.blow=-1 +tfc\:item.knapping.clay=-1 +tfc\:item.knapping.leather=-1 +tfc\:item.knapping.stone=-1 +minecraft\:item.lodestone_compass.lock=-1 +species\:item.monster_meal.apply=-1 +minecraft\:item.nether_wart.plant=-1 +tfc\:item.pan.use=-1 +exposure\:item.photograph.break=-1 +exposure\:item.photograph.place=-1 +exposure\:item.photograph.rustle=-1 +exposure\:item.photograph_frame.add_item=-1 +exposure\:item.photograph_frame.break=-1 +exposure\:item.photograph_frame.place=-1 +exposure\:item.photograph_frame.remove_item=-1 +exposure\:item.photograph_frame.rotate_item=-1 +species\:item.ricoshield.absorb=-1 +species\:item.ricoshield.attack=-1 +minecraft\:item.shield.block=-1 +minecraft\:item.shield.break=-1 +minecraft\:item.shovel.flatten=-1 +species\:item.smoke_bomb.charge=-1 +species\:item.smoke_bomb.use=-1 +species\:item.spectralibur.collect_soul=-1 +species\:item.spectralibur.release_spectre=-1 +species\:item.spectralibur.start_charging=-1 +species\:item.spectralibur.use_soul=-1 +minecraft\:item.spyglass.stop_using=-1 +minecraft\:item.spyglass.use=-1 +minecraft\:item.totem.use=-1 +minecraft\:item.trident.hit=-1 +minecraft\:item.trident.hit_ground=-1 +minecraft\:item.trident.return=-1 +minecraft\:item.trident.riptide_1=-1 +minecraft\:item.trident.riptide_2=-1 +minecraft\:item.trident.riptide_3=-1 +minecraft\:item.trident.throw=-1 +minecraft\:item.trident.thunder=-1 +species\:item.wicked_dope.boost=-1 +species\:item.wicked_dope.fail=-1 +species\:item.wicked_mask.equip=-1 +species\:item.wicked_mask.link=-1 +species\:item.wicked_swapper.fail=-1 +species\:item.wicked_swapper.teleport=-1 +species\:item.wicked_swapper.throw=-1 +species\:item.wicked_treat.apply=-1 +species\:item.wicked_wax.eat=-1 +species\:item.youth_potion.baby=-1 +species\:item.youth_potion.stumped=-1 +create\:item_hatch=-1 +create\:item_hatch_compounded_1=-1 +gtceu\:jet_engine=-1 +createaddition\:little_zap=-1 +createaddition\:loud_zap=-1 +gtceu\:macerator=-1 +create\:mechanical_press_activation=-1 +create\:mechanical_press_activation_belt=-1 +create\:mechanical_press_activation_belt_compounded_1=-1 +create\:mechanical_press_activation_compounded_1=-1 +gtceu\:metal_pipe=-1 +gtceu\:miner=-1 +gtceu\:mixer=-1 +create\:mixing=-1 +create\:mixing_compounded_1=-1 +gtceu\:mortar=-1 +gtceu\:motor=-1 +minecraft\:music.creative=-1 +minecraft\:music.credits=-1 +species\:music.disc.dial=-1 +species\:music.disc.lapidarian=-1 +species\:music.disk.spawner=-1 +minecraft\:music.dragon=-1 +minecraft\:music.end=-1 +minecraft\:music.game=-1 +species\:music.happy_birtday=-1 +minecraft\:music.menu=-1 +minecraft\:music.nether.basalt_deltas=-1 +minecraft\:music.nether.crimson_forest=-1 +minecraft\:music.nether.nether_wastes=-1 +minecraft\:music.nether.soul_sand_valley=-1 +minecraft\:music.nether.warped_forest=-1 +minecraft\:music.overworld.badlands=-1 +minecraft\:music.overworld.bamboo_jungle=-1 +minecraft\:music.overworld.cherry_grove=-1 +minecraft\:music.overworld.deep_dark=-1 +minecraft\:music.overworld.desert=-1 +minecraft\:music.overworld.dripstone_caves=-1 +minecraft\:music.overworld.flower_forest=-1 +minecraft\:music.overworld.forest=-1 +minecraft\:music.overworld.frozen_peaks=-1 +minecraft\:music.overworld.grove=-1 +minecraft\:music.overworld.jagged_peaks=-1 +minecraft\:music.overworld.jungle=-1 +minecraft\:music.overworld.lush_caves=-1 +minecraft\:music.overworld.meadow=-1 +minecraft\:music.overworld.old_growth_taiga=-1 +minecraft\:music.overworld.snowy_slopes=-1 +minecraft\:music.overworld.sparse_jungle=-1 +minecraft\:music.overworld.stony_peaks=-1 +minecraft\:music.overworld.swamp=-1 +minecraft\:music.under_water=-1 +minecraft\:music_disc.11=-1 +minecraft\:music_disc.13=-1 +minecraft\:music_disc.5=-1 +minecraft\:music_disc.blocks=-1 +minecraft\:music_disc.cat=-1 +minecraft\:music_disc.chirp=-1 +minecraft\:music_disc.far=-1 +minecraft\:music_disc.mall=-1 +minecraft\:music_disc.mellohi=-1 +minecraft\:music_disc.otherside=-1 +minecraft\:music_disc.pigstep=-1 +minecraft\:music_disc.relic=-1 +minecraft\:music_disc.stal=-1 +minecraft\:music_disc.strad=-1 +minecraft\:music_disc.wait=-1 +minecraft\:music_disc.ward=-1 +alekiships\:music_disc_pirate_crafting=-1 +ad_astra\:oxygen_intake=-1 +ad_astra\:oxygen_outtake=-1 +create\:package_pop=-1 +create\:package_pop_compounded_1=-1 +create\:packager=-1 +minecraft\:particle.soul_escape=-1 +create\:peculiar_bell_use=-1 +endermanoverhaul\:plant_enderman_ambient=-1 +endermanoverhaul\:plant_enderman_hurt=-1 +gtceu\:plunger=-1 +gtceu\:portable_scanner=-1 +gtceu\:portal_closing=-1 +gtceu\:portal_opening=-1 +create\:potato_hit=-1 +create\:potato_hit_compounded_1=-1 +immersive_aircraft\:propeller=-1 +immersive_aircraft\:propeller_bamboo_hopper=-1 +immersive_aircraft\:propeller_small=-1 +immersive_aircraft\:propeller_tiny=-1 +tfc\:random.dirt_slide_short=-1 +tfc\:random.rock_slide_long=-1 +tfc\:random.rock_slide_long_fake=-1 +tfc\:random.rock_slide_short=-1 +tfc\:random.rock_smash=-1 +immersive_aircraft\:repair=-1 +gtceu\:replicator=-1 +playerrevive\:revived=-1 +ad_astra\:rocket=-1 +ad_astra\:rocket_launch=-1 +create\:sanding_long=-1 +create\:sanding_short=-1 +gtceu\:saw=-1 +create\:saw_activate_stone=-1 +create\:saw_activate_wood=-1 +create\:schematicannon_finish=-1 +create\:schematicannon_launch_block=-1 +gtceu\:science=-1 +gtceu\:screwdriver=-1 +create\:scroll_value=-1 +ad_astra\:sliding_door_close=-1 +ad_astra\:sliding_door_open=-1 +create\:slime_added=-1 +gtceu\:soft_hammer=-1 +endermanoverhaul\:soul_pearl_hit=-1 +create\:spout=-1 +gtceu\:spray_can=-1 +create\:steam=-1 +create\:stock_link=-1 +create\:stock_ticker_request=-1 +create\:stock_ticker_trade=-1 +create_hypertube\:suction=-1 +endermanoverhaul\:summoner_pearl_hit=-1 +gtceu\:sus=-1 +endermanoverhaul\:tall_enderman_ambient=-1 +endermanoverhaul\:tall_enderman_death=-1 +endermanoverhaul\:tall_enderman_stare=-1 +tacz\:target_block_hit=-1 +createaddition\:tesla_coil=-1 +sandworm_mod\:thumper=-1 +create\:train=-1 +create\:train2=-1 +create\:train3=-1 +create_hypertube\:traveling=-1 +fallingtrees\:tree_fall=-1 +fallingtrees\:tree_impact=-1 +gtceu\:turbine=-1 +minecraft\:ui.button.click=-1 +minecraft\:ui.cartography_table.take_result=-1 +etched\:ui.etching_table.take_result=-1 +minecraft\:ui.loom.select_pattern=-1 +minecraft\:ui.loom.take_result=-1 +minecraft\:ui.stonecutter.select_recipe=-1 +minecraft\:ui.stonecutter.take_result=-1 +minecraft\:ui.toast.challenge_complete=-1 +minecraft\:ui.toast.in=-1 +minecraft\:ui.toast.out=-1 +immersive_aircraft\:warship=-1 +cucumber\:watering_can=-1 +waves\:waves.waves_breaking=-1 +minecraft\:weather.rain=0 +minecraft\:weather.rain.above=0 +create\:whistle=-1 +create\:whistle_high=-1 +create\:whistle_low=-1 +create\:whistle_train=-1 +create\:whistle_train_low=-1 +create\:whistle_train_manual=-1 +create\:whistle_train_manual_end=-1 +create\:whistle_train_manual_low=-1 +create\:whistle_train_manual_low_end=-1 +gtceu\:wirecutter=-1 +immersive_aircraft\:woosh=-1 +create\:worldshaper_place=-1 +sandworm_mod\:worm_breach=-1 +sandworm_mod\:worm_burrow=-1 +sandworm_mod\:worm_land=-1 +sandworm_mod\:worm_roar=-1 +sandworm_mod\:worm_spawn=-1 +sandworm_mod\:worm_warning_1=-1 +sandworm_mod\:worm_warning_2=-1 +ad_astra\:wrench=-1 +gtceu\:wrench=-1 +create\:wrench_remove=-1 +create\:wrench_remove_compounded_1=-1 +create\:wrench_rotate=-1 diff --git a/config/tfc_gurman-common.toml b/config/tfc_gurman-common.toml new file mode 100644 index 000000000..56eb2e10d --- /dev/null +++ b/config/tfc_gurman-common.toml @@ -0,0 +1,10 @@ +#Whether to log the dirt block on common setup +logDirtBlock = true +#A magic number +#Range: > 0 +magicNumber = 42 +#What you want the introduction message to be for the magic number +magicNumberIntroduction = "The magic number is... " +#A list of items to log on common setup. +items = ["minecraft:iron_ingot"] + diff --git a/config/tfcambiental-client.toml b/config/tfcambiental-client.toml index cd82a3e24..edec1e8a4 100644 --- a/config/tfcambiental-client.toml +++ b/config/tfcambiental-client.toml @@ -1,4 +1,3 @@ -#For all ARGB values, set to 00000000 to disable the feature in that season #How dark should the noise be at most? Set to 0 to disable noise entirely #Range: 0.0 ~ 0.5 noiseDarkness = 0.18 @@ -25,3 +24,4 @@ useFahrenheit = false #Offset the GUI elements. Useful if you're using a resourcep ack that changes the health or hunger bars #Range: 0.0 ~ 3.4028234663852886E38 guiOffset = 8.0 + diff --git a/config/timeout_fixes-common.toml b/config/timeout_fixes-common.toml new file mode 100644 index 000000000..c2e982118 --- /dev/null +++ b/config/timeout_fixes-common.toml @@ -0,0 +1,6 @@ + +#General mod settings +[general] + #Range: 1 ~ 30000 + timeoutInSeconds = 240 + diff --git a/config/tp_shooting-client.toml b/config/tp_shooting-client.toml new file mode 100644 index 000000000..ad310fdbf --- /dev/null +++ b/config/tp_shooting-client.toml @@ -0,0 +1,14 @@ +#Make fov scale at shoulder surfing view constant, ignoring scopes on current gun +constant_aiming_zoom_scale = true +#FOV scale for constant_aiming_fov_scale +#Range: 0.0 ~ 1.7976931348623157E308 +constant_aiming_zoom_scale_value = 3.125 +#(Locked) ads speed for constant_aiming_fov_scale +#Range: 0.0 ~ 1.7976931348623157E308 +constant_aiming_ads_speed = 1.0 +#This option is broken and has no effect on TaC Zero. +#========================== Original Description ========================== +#If enabled, tapping the aim button will put you in/out of first person view +#This only works while TAC's Config.CLIENT.controls.holdToAim is set to true +dynamic_aim_mode = true + diff --git a/config/transition.json b/config/transition.json new file mode 100644 index 000000000..652c133b8 --- /dev/null +++ b/config/transition.json @@ -0,0 +1,4 @@ +{ + "version": 1, + "userConsentedToSendCrashReports": false +} \ No newline at end of file diff --git a/config/trender.json b/config/trender.json new file mode 100644 index 000000000..f07510e2c --- /dev/null +++ b/config/trender.json @@ -0,0 +1,4 @@ +{ + "version": 1, + "style": "VANILLA_OLD" +} \ No newline at end of file diff --git a/config/waves-common.toml b/config/waves-common.toml index 8bab5484b..4899ee43b 100644 --- a/config/waves-common.toml +++ b/config/waves-common.toml @@ -1,5 +1,3 @@ -#Toggle the spawning of wave entities? This prevents the waves from depositing blocks on the shores. True = enabled. -toggleWaveEntities = true #Toggle whether or not waves should be able to interact (push) with nearby entities? True = enabled. waveEntityInteraction = true #Toggle whether spawning should be equally distributed across distance from the player or have a higher chance to spawn near the player. True = equal distribution. @@ -53,28 +51,20 @@ waveInteractionForceFactor = 1.0 #Range: > 1 waveInteractionUpdateFrequency = 4 -[Debug] +["Debug, Processing and Caching"] #Enable debug? debug = false - #Axis rotation index. - #Range: 0 ~ 5 - axisIndex = 0 - #Axis rotation. - #Range: -360.0 ~ 360.0 - axisRotation = 0.0 - -[Caching] + #Enable parallel processing for performance-critical tasks. + #When enabled, certain operations - such as wave spawning, shore detection, and entity interactions - + #may be executed concurrently across multiple threads. This can significantly improve performance on multi-core systems. + #Recommended for servers with high entity load. + parallelProcessing = true #Toggle whether or not caches should be utilized. For larger servers with lots of activity, the benefit of using caches give diminishing returns. useCaches = true - #How often the caches should be purged. The time is in ticks, so 20 ticks = 1 second. - #Range: > 1 - cacheUpdateFrequency = 12000 - #Cache nearest found shore positions? - cacheNearestShorePos = true - #Cache all found shore positions? - cacheShorePos = false - #Cache if shore positions are surrounded by water? - cacheSurroundedByWater = false - #Cache amount of surrounding blocks that are water? - cacheSurroundingWaterAmount = false + #How often the caches should be updated. The time is in ticks, so 20 ticks = 1 second. Set to 0 to disable cache updates. + #Range: > 0 + cacheUpdateFrequency = 6000 + #How often the caches should be reset. The time is in ticks, so 20 ticks = 1 second. Set to 0 to disable cache updates. + #Range: > 0 + cacheResetFrequency = 24000 diff --git a/config/waves/waves.json b/config/waves/waves.json index 78e7c362d..6064ec4b0 100644 --- a/config/waves/waves.json +++ b/config/waves/waves.json @@ -1,6 +1,6 @@ { "auto_update": true, - "version": "1.5.1", + "version": "1.6.1", "waves": [ { "dimensions": [ diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml index 0306ea44a..7d235c600 100644 --- a/defaultconfigs/create-server.toml +++ b/defaultconfigs/create-server.toml @@ -203,6 +203,9 @@ #Whether the players hitbox should be expanded to the size of the contraption hitbox. #[Technical] syncPlayerPickupHitboxWithContraptionHitbox = false + #. + #Whether to prevent block dropping when contraption is placed inside in-world blocks. + noDropWhenContraptionReplaceBlocks = false #. #Configure speed/capacity levels for requirements and indicators. diff --git a/defaultconfigs/create_hypertube-server.toml b/defaultconfigs/create_hypertube-server.toml index 0bcd1a986..9fd8ac354 100644 --- a/defaultconfigs/create_hypertube-server.toml +++ b/defaultconfigs/create_hypertube-server.toml @@ -1,8 +1,29 @@ #Change these settings to customize the server-side behavior of the mod. ["Travel Settings"] - #Allow fish to go through the tubes. (experimental) - allowFishTravel = true - #Allow villagers to go through the tubes. - allowVillagerTravel = true + #How to handle entity travel permissions: + #TAG_ONLY - Use only the 'create_hypertube:traveller_entities' tag from datapacks + #WHITELIST - Only entities in the whitelist can travel (ignores tag) + #BLACKLIST - All entities can travel except those in the blacklist + #TAG_WITH_BLACKLIST - Use tag but exclude entities in the blacklist + #Allowed Values: TAG_ONLY, WHITELIST, BLACKLIST, TAG_WITH_BLACKLIST + entityListMode = "BLACKLIST" + #Entities that CAN travel (only used when mode is WHITELIST). + #Use entity registry names like 'minecraft:villager' or 'create:package' + entityWhitelist = ["minecraft:player", "minecraft:villager", "minecraft:wandering_trader", "create:package"] + #Entities that CANNOT travel (used in BLACKLIST and TAG_WITH_BLACKLIST modes). + #Use entity registry names like 'minecraft:creeper' or 'minecraft:wither' + entityBlacklist = ["minecraft:wither", "minecraft:ender_dragon"] + #Multiplier for the speed of the tubes. Default is 1.0, which is normal speed. (THIS IS HIGHLY EXPERIMENTAL) + #Range: 0.5 ~ 99.0 + speedMultiplier = 1.0 + +#Stress Settings +["Stress Settings"] + #Stress impact of the Hyper Entrance block. + #Range: 0.0 ~ 100.0 + entranceStressImpact = 4.0 + #Stress impact of the Hyper Accelerator block. + #Range: 0.0 ~ 100.0 + acceleratorStressImpact = 4.0 diff --git a/defaultconfigs/createhorsepower-server.toml b/defaultconfigs/createhorsepower-server.toml index 521d4e8b8..99f557598 100644 --- a/defaultconfigs/createhorsepower-server.toml +++ b/defaultconfigs/createhorsepower-server.toml @@ -24,9 +24,9 @@ poorPathBlock = ["tfc:rooted_dirt/sandy_loam", "tfc:clay/sandy_loam", "tfc:dirt/ #Types of blocks valid as "Normal" quality normalPathBlock = ["tfc:rock/gravel/granite", "tfc:rock/gravel/diorite", "tfc:rock/gravel/gabbro", "tfc:rock/gravel/shale", "tfc:rock/gravel/claystone", "tfc:rock/gravel/limestone", "tfc:rock/gravel/conglomerate", "tfc:rock/gravel/dolomite", "tfc:rock/gravel/chert", "tfc:rock/gravel/schist", "tfc:rock/gravel/phyllite", "tfc:rock/gravel/slate", "tfc:rock/gravel/quartzite", "tfc:rock/gravel/dacite", "tfc:rock/gravel/andesite", "tfc:rock/gravel/basalt", "tfc:rock/gravel/rhyolite", "tfc:rock/gravel/chalk", "tfc:rock/gravel/marble", "tfg:rock/gravel_dripstone", "tfg:rock/gravel_deepslate", "tfg:rock/gravel_blackstone", "tfg:rock/gravel_moon", "tfg:rock/gravel_moon_deepslate", "tfg:rock/gravel_glacio", "tfg:rock/gravel_mars", "tfg:rock/gravel_venus", "tfg:rock/gravel_mercury", "tfg:rock/gravel_crackrack", "tfc:grass_path/silt", "tfc:grass_path/loam", "tfc:grass_path/sandy_loam", "tfc:grass_path/silty_loam", "tfg:grass/mars_path", "rnr:hoggin"] #Types of blocks valid as "Great" quality -greatPathBlock = ["rnr:rock/gravel_road/chert", "rnr:rock/gravel_road/chalk", "rnr:rock/gravel_road/rhyolite", "rnr:rock/gravel_road/basalt", "rnr:rock/gravel_road/andesite", "rnr:rock/gravel_road/claystone", "rnr:rock/gravel_road/limestone", "rnr:rock/gravel_road/conglomerate", "rnr:rock/gravel_road/dolomite", "rnr:rock/sett_road/granite", "rnr:rock/sett_road/diorite", "rnr:rock/sett_road/chalk", "rnr:rock/sett_road/rhyolite", "rnr:rock/sett_road/basalt", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/sett_road/andesite", "rnr:rock/cobbled_road/chert", "rnr:rock/cobbled_road/dolomite", "rnr:rock/gravel_road/granite", "rnr:rock/gravel_road/marble", "rnr:rock/gravel_road/schist", "rnr:rock/gravel_road/phyllite", "rnr:rock/gravel_road/slate", "rnr:rock/gravel_road/quartzite", "rnr:rock/gravel_road/dacite", "rnr:rock/macadam_road/rhyolite", "rnr:rock/macadam_road/chalk", "rnr:rock/macadam_road/chert", "rnr:rock/macadam_road/dolomite", "rnr:rock/macadam_road/conglomerate", "rnr:rock/macadam_road/limestone", "rnr:rock/macadam_road/gabbro", "rnr:rock/macadam_road/claystone", "rnr:rock/macadam_road/shale", "rnr:rock/macadam_road/gneiss", "rnr:rock/macadam_road/marble", "rnr:rock/macadam_road/schist", "rnr:rock/macadam_road/phyllite", "rnr:rock/macadam_road/slate", "rnr:rock/macadam_road/quartzite", "rnr:rock/macadam_road/dacite", "rnr:rock/macadam_road/andesite", "rnr:rock/macadam_road/basalt", "rnr:rock/gravel_road/diorite", "rnr:rock/gravel_road/gabbro", "rnr:rock/gravel_road/shale", "rnr:rock/macadam_road/diorite", "rnr:rock/macadam_road/granite", "rnr:rock/cobbled_road/conglomerate", "rnr:rock/cobbled_road/limestone", "rnr:rock/cobbled_road/claystone", "rnr:rock/cobbled_road/shale", "rnr:rock/cobbled_road/gabbro", "rnr:rock/cobbled_road/diorite", "rnr:rock/cobbled_road/granite", "rnr:rock/cobbled_road/phyllite", "rnr:rock/cobbled_road/schist", "rnr:rock/cobbled_road/slate", "rnr:rock/cobbled_road/quartzite", "rnr:rock/cobbled_road/dacite", "rnr:rock/cobbled_road/andesite", "rnr:rock/cobbled_road/rhyolite", "rnr:rock/cobbled_road/basalt", "rnr:rock/cobbled_road/chalk", "rnr:rock/cobbled_road/gneiss", "rnr:rock/cobbled_road/marble", "rnr:rock/sett_road/chert", "rnr:rock/sett_road/dolomite", "rnr:rock/sett_road/conglomerate", "rnr:rock/sett_road/limestone", "rnr:rock/sett_road/claystone", "rnr:rock/sett_road/shale", "rnr:rock/sett_road/gabbro", "rnr:rock/flagstones/gneiss", "rnr:rock/flagstones/marble", "rnr:black_sandstone_flagstones", "rnr:brown_sandstone_flagstones", "rnr:green_sandstone_flagstones", "rnr:pink_sandstone_flagstones", "rnr:red_sandstone_flagstones", "rnr:white_sandstone_flagstones", "rnr:yellow_sandstone_flagstones", "rnr:concrete_road_sett", "rnr:brick_road", "rnr:rock/sett_road/marble", "rnr:rock/sett_road/gneiss", "rnr:rock/sett_road/schist", "rnr:rock/sett_road/phyllite", "rnr:rock/sett_road/slate", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/flagstones/chert", "rnr:rock/flagstones/dolomite", "rnr:rock/flagstones/conglomerate", "rnr:rock/flagstones/limestone", "rnr:rock/flagstones/claystone", "rnr:rock/flagstones/shale", "rnr:rock/flagstones/gabbro", "rnr:rock/flagstones/diorite", "rnr:rock/flagstones/granite", "rnr:rock/flagstones/schist", "rnr:rock/flagstones/phyllite", "rnr:rock/flagstones/slate", "rnr:rock/flagstones/quartzite", "rnr:rock/flagstones/andesite", "rnr:rock/flagstones/dacite", "rnr:rock/flagstones/basalt", "rnr:rock/flagstones/rhyolite", "rnr:rock/flagstones/chalk", "greate:andesite_shaft", "greate:steel_shaft", "greate:andesite_cogwheel", "greate:steel_cogwheel", "greate:large_andesite_cogwheel", "greate:large_steel_cogwheel"] +greatPathBlock = ["rnr:rock/gravel_road/chert", "rnr:rock/gravel_road/chalk", "rnr:rock/gravel_road/rhyolite", "rnr:rock/gravel_road/basalt", "rnr:rock/gravel_road/andesite", "rnr:rock/gravel_road/claystone", "rnr:rock/gravel_road/limestone", "rnr:rock/gravel_road/conglomerate", "rnr:rock/gravel_road/dolomite", "rnr:rock/sett_road/granite", "rnr:rock/sett_road/diorite", "rnr:rock/sett_road/chalk", "rnr:rock/sett_road/rhyolite", "rnr:rock/sett_road/basalt", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/sett_road/andesite", "rnr:rock/cobbled_road/chert", "rnr:rock/cobbled_road/dolomite", "rnr:rock/gravel_road/granite", "rnr:rock/gravel_road/marble", "rnr:rock/gravel_road/schist", "rnr:rock/gravel_road/phyllite", "rnr:rock/gravel_road/slate", "rnr:rock/gravel_road/quartzite", "rnr:rock/gravel_road/dacite", "rnr:rock/macadam_road/rhyolite", "rnr:rock/macadam_road/chalk", "rnr:rock/macadam_road/chert", "rnr:rock/macadam_road/dolomite", "rnr:rock/macadam_road/conglomerate", "rnr:rock/macadam_road/limestone", "rnr:rock/macadam_road/gabbro", "rnr:rock/macadam_road/claystone", "rnr:rock/macadam_road/shale", "rnr:rock/macadam_road/gneiss", "rnr:rock/macadam_road/marble", "rnr:rock/macadam_road/schist", "rnr:rock/macadam_road/phyllite", "rnr:rock/macadam_road/slate", "rnr:rock/macadam_road/quartzite", "rnr:rock/macadam_road/dacite", "rnr:rock/macadam_road/andesite", "rnr:rock/macadam_road/basalt", "rnr:rock/gravel_road/diorite", "rnr:rock/gravel_road/gabbro", "rnr:rock/gravel_road/shale", "rnr:rock/macadam_road/diorite", "rnr:rock/macadam_road/granite", "rnr:rock/cobbled_road/conglomerate", "rnr:rock/cobbled_road/limestone", "rnr:rock/cobbled_road/claystone", "rnr:rock/cobbled_road/shale", "rnr:rock/cobbled_road/gabbro", "rnr:rock/cobbled_road/diorite", "rnr:rock/cobbled_road/granite", "rnr:rock/cobbled_road/phyllite", "rnr:rock/cobbled_road/schist", "rnr:rock/cobbled_road/slate", "rnr:rock/cobbled_road/quartzite", "rnr:rock/cobbled_road/dacite", "rnr:rock/cobbled_road/andesite", "rnr:rock/cobbled_road/rhyolite", "rnr:rock/cobbled_road/basalt", "rnr:rock/cobbled_road/chalk", "rnr:rock/cobbled_road/gneiss", "rnr:rock/cobbled_road/marble", "rnr:rock/sett_road/chert", "rnr:rock/sett_road/dolomite", "rnr:rock/sett_road/conglomerate", "rnr:rock/sett_road/limestone", "rnr:rock/sett_road/claystone", "rnr:rock/sett_road/shale", "rnr:rock/sett_road/gabbro", "rnr:rock/flagstones/gneiss", "rnr:rock/flagstones/marble", "rnr:black_sandstone_flagstones", "rnr:brown_sandstone_flagstones", "rnr:green_sandstone_flagstones", "rnr:pink_sandstone_flagstones", "rnr:red_sandstone_flagstones", "rnr:white_sandstone_flagstones", "rnr:yellow_sandstone_flagstones", "rnr:concrete_road_sett", "rnr:brick_road", "rnr:rock/sett_road/marble", "rnr:rock/sett_road/gneiss", "rnr:rock/sett_road/schist", "rnr:rock/sett_road/phyllite", "rnr:rock/sett_road/slate", "rnr:rock/sett_road/quartzite", "rnr:rock/sett_road/dacite", "rnr:rock/flagstones/chert", "rnr:rock/flagstones/dolomite", "rnr:rock/flagstones/conglomerate", "rnr:rock/flagstones/limestone", "rnr:rock/flagstones/claystone", "rnr:rock/flagstones/shale", "rnr:rock/flagstones/gabbro", "rnr:rock/flagstones/diorite", "rnr:rock/flagstones/granite", "rnr:rock/flagstones/schist", "rnr:rock/flagstones/phyllite", "rnr:rock/flagstones/slate", "rnr:rock/flagstones/quartzite", "rnr:rock/flagstones/andesite", "rnr:rock/flagstones/dacite", "rnr:rock/flagstones/basalt", "rnr:rock/flagstones/rhyolite", "rnr:rock/flagstones/chalk", "greate:steel_shaft", "greate:steel_cogwheel", "greate:large_steel_cogwheel"] #Valid "Small" creatures -smallCreatures = ["tfc:wolf", "tfc:dog", "tfc:pig", "tfc:sheep", "tfc:goat", "tfc:alpaca", "tfg:glacian_ram", "tfg:wraptor", "species:springaling", "tfg:surfer"] +smallCreatures = ["tfc:wolf", "tfc:dog", "tfc:pig", "tfc:sheep", "tfc:goat", "tfc:alpaca", "tfg:glacian_ram", "tfg:wraptor", "tfg:surfer"] #Valid "Medium" creatures mediumCreatures = ["tfc:cow", "tfc:donkey", "tfc:dolphin", "wan_ancient_beasts:glider", "wan_ancient_beasts:soarer"] #Valid "Large" creatures diff --git a/defaultconfigs/goprone-server.toml b/defaultconfigs/goprone-server.toml new file mode 100644 index 000000000..1220f9fb2 --- /dev/null +++ b/defaultconfigs/goprone-server.toml @@ -0,0 +1,19 @@ + +#Toggles to allow/disable going prone in various circumstances +[allowProne] + #Allow while flying (applies any time the player is off the ground) + flying = true + #Allow while riding another entity + #If this is true, then you cannot go prone while riding any entities in the tag "goprone:blacklisted_entities" but you can when riding any others + #If this is false, then you can go prone while riding any entities in the tag "goprone:whitelisted_entities" but you cannot when riding any others + riding = false + #Allow while climbing (applies any time the player is on a climbable block) + climbing = false + +#Other options not related to when you can go prone +[other] + #Can players jump while prone + isJumpingAllowed = true + #Can players sprint while prone. Also controls whether sprinting is cancelled when going prone + isSprintingAllowed = true + diff --git a/defaultconfigs/jumbofurnace-server.toml b/defaultconfigs/jumbofurnace-server.toml new file mode 100644 index 000000000..299c60cd4 --- /dev/null +++ b/defaultconfigs/jumbofurnace-server.toml @@ -0,0 +1,10 @@ + +["Cooking Settings"] + #Cook Time: Time in ticks needed for one cooking cycle + #Range: > 1 + cooktime = 200 + +["Construction Settings"] + #Shearable: Allow jumbo furnaces to be cleanly dismantled with shears + shearable = true + diff --git a/defaultconfigs/railways-server.toml b/defaultconfigs/railways-server.toml index 78e74925a..d282598e3 100644 --- a/defaultconfigs/railways-server.toml +++ b/defaultconfigs/railways-server.toml @@ -47,21 +47,6 @@ #Range: 1 ~ 600 whistleRebindRate = 10 -#. -#Journeymap compat settings -[journeymap] - #. - #. - #[in Ticks] - #Outside-of-render-distance train sync time - #Range: 10 ~ 600 - farTrainSyncTicks = 200 - #. - #[in Ticks] - #In-render-distance train sync time - #Range: 1 ~ 600 - nearTrainSyncTicks = 5 - #. #Realism Settings [realism] diff --git a/defaultconfigs/sophisticatedbackpacks-server.toml b/defaultconfigs/sophisticatedbackpacks-server.toml index 5fac59eaa..74707a196 100644 --- a/defaultconfigs/sophisticatedbackpacks-server.toml +++ b/defaultconfigs/sophisticatedbackpacks-server.toml @@ -21,6 +21,8 @@ canBePlacedInContainerItems = false #Maximum number of upgrades of type per backpack in format of "UpgradeRegistryName[or UpgradeGroup]|MaxNumber" maxUpgradesPerStorage = ["furnace_upgrades|1", "stack_upgrades|3", "jukebox_upgrades|1"] + #If true, disallows all blocks from connecting to backpacks + allBlockConnectionsDisallowed = false #Leather Backpack Settings [server.leatherBackpack] @@ -415,6 +417,32 @@ #Chance increase per looting level of mob dropping backpack #Range: 0.0 ~ 0.3 lootingChanceIncreasePerLevel = 0.15 + #Weight of selecting a Leather Backpack when an entity spawns with a backpack + #Range: 0 ~ 9999 + leatherWeight = 625 + #Weight of selecting a Copper Backpack when an entity spawns with a backpack + #Range: 0 ~ 9999 + copperWeight = 250 + #Weight of selecting a Iron Backpack when an entity spawns with a backpack + #Range: 0 ~ 9999 + ironWeight = 125 + #Weight of selecting a Gold Backpack when an entity spawns with a backpack + #Range: 0 ~ 9999 + goldWeight = 25 + #Weight of selecting a Diamond Backpack when an entity spawns with a backpack + #Range: 0 ~ 9999 + diamondWeight = 5 + #Weight of selecting a Netherite Backpack when an entity spawns with a backpack + #Range: 0 ~ 9999 + netheriteWeight = 1 + #Minimum tier of backpack mobs are equipped with at mid local difficulty (above 1/3 of max, 0 is leather) + #Range: 0 ~ 6 + minBackpackTierMidDifficulty = 1 + #Minimum tier of backpack mobs are equipped with at high local difficulty (above 2/3 of max, 0 is leather) + #Range: 0 ~ 6 + minBackpackTierHighDifficulty = 2 + #If local difficulty is taken into consideration when determining the difficulty. If local difficulty is high enough then it will use difficulty settings above + localDifficultyEffectsBackpackSpawns = true [server.nerfs] #Determines if too many backpacks in player's inventory cause slowness to the player @@ -427,6 +455,8 @@ slownessLevelsPerAdditionalBackpack = 1.0 #Determines if active upgrades will only work in the backpack that's worn by the player. Active upgrades are for example magnet, pickup, cooking, feeding upgrades. onlyWornBackpackTriggersUpgrades = true + #Effect that is applied to player when they have too many backpacks. Can be any effect including modded ones like overencumbered effect some mods have. + nerfEffect = "minecraft:slowness" #Copper Backpack Settings [server.copperBackpack] diff --git a/defaultconfigs/tfcambiental-server.toml b/defaultconfigs/tfcambiental-server.toml new file mode 100644 index 000000000..d9603f267 --- /dev/null +++ b/defaultconfigs/tfcambiental-server.toml @@ -0,0 +1,19 @@ +#The durability value of Burlap material clothing. +#Range: > 0 +durabilityBurlapClothes = 3000 +#The durability value of Insulated Leather material clothing. +#Range: > 0 +durabilityInsulatedLeatherClothes = 2500 +#The durability value of the Leather Apron clothing. +#Range: > 0 +durabilityLeatherApronClothes = 1000 +#The durability value of Silk material clothing. +#Range: > 0 +durabilitySilkClothes = 3000 +#The durability value of Straw material clothing. +#Range: > 0 +durabilityStrawClothes = 100 +#The durability value of Wool material clothing. +#Range: > 0 +durabilityWoolClothes = 3000 + diff --git a/defaultconfigs/tfg-server.toml b/defaultconfigs/tfg-server.toml index 3c9973a47..88812038f 100644 --- a/defaultconfigs/tfg-server.toml +++ b/defaultconfigs/tfg-server.toml @@ -131,3 +131,11 @@ #Blacklist of entity IDs that cannot be sampled by the DNA syringe. Can be empty. syringeBlacklist = [] +[mars_climate] + #The chance that sand piles will accumulate during a sandstorm. Lower values = faster sand pile accumulation, but also more block updates (aka lag). + #Range: > 1 + sandAccumulateChance = 20 + #The chance that sand piles will decumulate during a sandstoem. Lower values = faster sand dispersal, but also more block updates (aka lag). + #Range: > 1 + sandDecumulateChance = 36 + From 73ca05140260ad580d550abe64b80b5b4b728e44 Mon Sep 17 00:00:00 2001 From: Domi <1492543+FakeDomi@users.noreply.github.com> Date: Tue, 30 Dec 2025 20:23:50 +0100 Subject: [PATCH 519/628] Update ExtendedAE package name in InvTweaks exclusions (#2556) --- config/invtweaks-client.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/invtweaks-client.toml b/config/invtweaks-client.toml index 4f81d5e47..8bbc4332b 100644 --- a/config/invtweaks-client.toml +++ b/config/invtweaks-client.toml @@ -90,7 +90,7 @@ sortRange = "" [[sorting.containerOverrides]] - containerClass = "com.github.glodblock.epp.client.gui.*" + containerClass = "com.glodblock.github.extendedae.client.gui.*" sortRange = "" [[sorting.containerOverrides]] From e60ff4cde4d0afeb5de05c91459139ff75f329b4 Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Tue, 30 Dec 2025 12:24:38 -0700 Subject: [PATCH 520/628] change energy acceptor to use a machine hull instead of a converter, because it doesn't convert! (#2553) Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/ae2/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js index bcefe61e3..de386e5f0 100644 --- a/kubejs/server_scripts/ae2/recipes.js +++ b/kubejs/server_scripts/ae2/recipes.js @@ -652,7 +652,7 @@ const registerAE2Recipes = (event) => { // Energy Acceptor event.recipes.gtceu.assembler('tfg:ae2/energy_acceptor') - .itemInputs('5x gtceu:silver_double_cable', 'gtceu:hv_1a_energy_converter', 'gtceu:annealed_copper_single_cable') + .itemInputs('5x gtceu:silver_double_cable', 'gtceu:hv_machine_hull', 'gtceu:annealed_copper_single_cable') .itemOutputs('ae2:energy_acceptor') .circuit(1) .duration(520) From d87df5c33b7ad776e91131054d07b3ae3ae57c88 Mon Sep 17 00:00:00 2001 From: Redeix Date: Tue, 30 Dec 2025 13:33:22 -0600 Subject: [PATCH 521/628] Update CHANGELOG Signed-off-by: Redeix --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9a830884..c503b3b72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased ### Changes +- change energy acceptor to use a machine hull instead of a converter. (#2553) @thederpysockdude123 +- Update ExtendedAE package name in InvTweaks exclusions. (#2556) @FakeDomi ### Bug fixes ## [0.11.13] - 28-12-2025 From e159279787d8f04339603be416c91f2f758cd135 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 22:06:12 +0000 Subject: [PATCH 522/628] remove ANSI coloring in clipboard message because github doesn't support it --- config/crash_assistant/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/crash_assistant/config.toml b/config/crash_assistant/config.toml index d110c1492..b9e28590b 100644 --- a/config/crash_assistant/config.toml +++ b/config/crash_assistant/config.toml @@ -101,7 +101,7 @@ put_analysis_result_to_message = true #Color modified mods count/analysis in msg with ANSI. #Can be needed to be disabled if issues are reported to something not supporting ANSI codeblocks, like GitHub. - color_message = true + color_message = false #Settings of links copied by Upload and copy link buttons [copied_links] From 0f96e851895207080eca30a739d89e348263133a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:09:19 +0000 Subject: [PATCH 523/628] pakku --- pakku-lock.json | 219 +++++++++++++++++++----------------------------- 1 file changed, 88 insertions(+), 131 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 1887b9e6a..9f816a6d0 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -2797,7 +2797,7 @@ "files": [ { "type": "modrinth", - "file_name": "colorwheel-forge-1.1.1+mc1.20.1.jar", + "file_name": "colorwheel-forge-1.1.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2805,22 +2805,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/X6DowH3e/colorwheel-forge-1.1.1+mc1.20.1.jar", - "id": "X6DowH3e", + "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/JxjWeQlq/colorwheel-forge-1.1.2+mc1.20.1.jar", + "id": "JxjWeQlq", "parent_id": "BzHgFoGz", "hashes": { - "sha512": "d919e95c6eed99a223ac6bc7f9c3b8c350dc1ea4279c4cdbd7ebfa78d3bc6dadeccac34a9fc68d229fbfd7c25e267e7caa8b0ca3051907e411b03f444f9b9c1c", - "sha1": "8ae48d07db5b42a55906e81f86e9eaffc6db0777" + "sha512": "55129a2321ca775254e0b51592c76949b193f3852fa5e5f4fb163f4f77a418dcf10f878bcfc688a79aad180e3193dcca8b65fedb5973bb2069c95ecc366cfc7d", + "sha1": "08089e16b24756e0ef1e50967dcf2286b20f5923" }, "required_dependencies": [ "GchcoXML" ], - "size": 363116, - "date_published": "2025-10-26T13:17:13.808921Z" + "size": 364012, + "date_published": "2025-12-30T19:51:44.638593Z" }, { "type": "curseforge", - "file_name": "colorwheel-forge-1.1.1+mc1.20.1.jar", + "file_name": "colorwheel-forge-1.1.2+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2828,18 +2828,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7152/24/colorwheel-forge-1.1.1+mc1.20.1.jar", - "id": "7152024", + "url": "https://edge.forgecdn.net/files/7397/568/colorwheel-forge-1.1.2+mc1.20.1.jar", + "id": "7397568", "parent_id": "1254143", "hashes": { - "sha1": "8ae48d07db5b42a55906e81f86e9eaffc6db0777", - "md5": "49f685588964cf263b24071e7014de92" + "sha1": "08089e16b24756e0ef1e50967dcf2286b20f5923", + "md5": "972d1865c0611ca0464c49e70f76868f" }, "required_dependencies": [ "581495" ], - "size": 363116, - "date_published": "2025-10-26T13:17:11.663Z" + "size": 364012, + "date_published": "2025-12-30T19:51:46.823Z" } ] }, @@ -2862,7 +2862,7 @@ "files": [ { "type": "modrinth", - "file_name": "colorwheel_patcher-forge-1.0.3+mc1.20.1.jar", + "file_name": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2870,20 +2870,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/KPsw5jDu/versions/Bborq7rl/colorwheel_patcher-forge-1.0.3+mc1.20.1.jar", - "id": "Bborq7rl", + "url": "https://cdn.modrinth.com/data/KPsw5jDu/versions/1JZBSXYs/colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", + "id": "1JZBSXYs", "parent_id": "KPsw5jDu", "hashes": { - "sha512": "ae240222084eebb4b4f2a0257559e9baa9a5bd02a1f934da3697dd343320fc1a3b692b5c63366e0304159f7c60a95387e0f6b00fc51b609d45b7abbe72e7c635", - "sha1": "af4ffc83e8fd4964c09d88035a7df64f1536f68b" + "sha512": "d9979e73e4086e0ebd4143b4b639a30a077607d3462e35477f4c4ece433995542c6434f18f42dfc5c894151c833e5fa488bde4caea4aff843f970bafeade2afb", + "sha1": "a8ae8241362d7de40fd8909f942c3b1362779bd6" }, "required_dependencies": [], - "size": 206475, - "date_published": "2025-10-26T13:18:40.538117Z" + "size": 207040, + "date_published": "2025-12-30T19:53:19.416175Z" }, { "type": "curseforge", - "file_name": "colorwheel_patcher-forge-1.0.3+mc1.20.1.jar", + "file_name": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2891,16 +2891,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7152/28/colorwheel_patcher-forge-1.0.3+mc1.20.1.jar", - "id": "7152028", + "url": "https://edge.forgecdn.net/files/7397/574/colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", + "id": "7397574", "parent_id": "1285475", "hashes": { - "sha1": "af4ffc83e8fd4964c09d88035a7df64f1536f68b", - "md5": "70841d578540ed1eb488429981cba900" + "sha1": "a8ae8241362d7de40fd8909f942c3b1362779bd6", + "md5": "2cc3663f6ad63a6f63c78dee2fffe0b7" }, "required_dependencies": [], - "size": 206475, - "date_published": "2025-10-26T13:18:39.243Z" + "size": 207040, + "date_published": "2025-12-30T19:53:17.543Z" } ] }, @@ -5288,7 +5288,7 @@ "files": [ { "type": "modrinth", - "file_name": "entityculling-forge-1.9.4-mc1.20.1.jar", + "file_name": "entityculling-forge-1.9.5-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5296,20 +5296,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/GpUlMGON/entityculling-forge-1.9.4-mc1.20.1.jar", - "id": "GpUlMGON", + "url": "https://cdn.modrinth.com/data/NNAgCjsB/versions/ZqOeqW60/entityculling-forge-1.9.5-mc1.20.1.jar", + "id": "ZqOeqW60", "parent_id": "NNAgCjsB", "hashes": { - "sha512": "f8f9ce531f7f878443a29cb12eed5dd40b25faf83d8fab8fef99b2e6058c5e6ac3d3fb6602abb4669e79b294dc8a9ecec324f632e0a637f70b09a5b6f402b70e", - "sha1": "2b19c5c38f88285aed2aad6a61eb622003540ee5" + "sha512": "f102a06dbe5f77d2b5737da4ed9484cdd6ab604a0e068245520247016b28c2936cef743038a2c7f3756ed0d07d140d6f21d0d1c47dea396e75e4a25165428a02", + "sha1": "524be2ed63e9f131a17393ead67cd3fddc97ca2b" }, "required_dependencies": [], - "size": 1568324, - "date_published": "2025-12-09T21:09:58.011151Z" + "size": 1569588, + "date_published": "2025-12-30T15:26:02.452876Z" }, { "type": "curseforge", - "file_name": "entityculling-forge-1.9.4-mc1.20.1.jar", + "file_name": "entityculling-forge-1.9.5-mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -5317,16 +5317,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7313/354/entityculling-forge-1.9.4-mc1.20.1.jar", - "id": "7313354", + "url": "https://edge.forgecdn.net/files/7396/677/entityculling-forge-1.9.5-mc1.20.1.jar", + "id": "7396677", "parent_id": "448233", "hashes": { - "sha1": "2b19c5c38f88285aed2aad6a61eb622003540ee5", - "md5": "fdc791c2247535f6602650a3cc6f8f36" + "sha1": "524be2ed63e9f131a17393ead67cd3fddc97ca2b", + "md5": "9de621a952ae3f73774bad91e6f4c718" }, "required_dependencies": [], - "size": 1568324, - "date_published": "2025-12-09T21:09:55.243Z" + "size": 1569588, + "date_published": "2025-12-30T15:25:59.370Z" } ] }, @@ -5796,49 +5796,6 @@ } ] }, - { - "pakku_id": "iIWwbh74g7lpTP7d", - "pakku_links": [ - "MxMrrOyyu2PvCSN8", - "tdBDW3xpPBc3E2mt" - ], - "type": "MOD", - "slug": { - "curseforge": "ftbxaerocompat" - }, - "name": { - "curseforge": "FTB Chunks x Xaero's Compat" - }, - "id": { - "curseforge": "1357724" - }, - "files": [ - { - "type": "curseforge", - "file_name": "ftbxaerocompat-forge-1.1.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7365/97/ftbxaerocompat-forge-1.1.0.jar", - "id": "7365097", - "parent_id": "1357724", - "hashes": { - "sha1": "1891f5e557bd90307f2499c9a6ba077915222ad3", - "md5": "966a28493e055a0f199e559b701e5274" - }, - "required_dependencies": [ - "314906", - "317780" - ], - "size": 735934, - "date_published": "2025-12-22T12:04:11.870Z" - } - ] - }, { "pakku_id": "wrtHnSj8GEjPjzsm", "type": "MOD", @@ -6591,7 +6548,7 @@ "files": [ { "type": "modrinth", - "file_name": "Firmalife-1.20.1-2.1.24.jar", + "file_name": "Firmalife-1.20.1-2.1.25.jar", "mc_versions": [ "1.20.1" ], @@ -6600,42 +6557,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/eaGYPROS/Firmalife-1.20.1-2.1.24.jar", - "id": "eaGYPROS", + "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/Qz8OzhXv/Firmalife-1.20.1-2.1.25.jar", + "id": "Qz8OzhXv", "parent_id": "5bKeBHw2", "hashes": { - "sha512": "d2bf1e3631796ef427cccdc52ce8cfe00677b827cf592154f2d6841bf5d0f7c42e2d7aeed6f8db30af5d733635a58429bbd3b96fc6fc7ebc4e32e600173b04e6", - "sha1": "d4643d36fff9e4608e537ad9fae5704cad5bc4ac" + "sha512": "5cff31bf79b53ed938703c407c5681040e2b9dbecb23756dd0863267752b1ec9c88861b2cea4a9894a5243ac20c0b80891daa24789a58d04842083606248a520", + "sha1": "9c80bd40edf4625e578e42d8f7bf5f34f43215ee" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 4665098, - "date_published": "2025-11-04T02:00:10.446982Z" + "size": 4669651, + "date_published": "2025-12-29T13:59:48.290400Z" }, { "type": "curseforge", - "file_name": "Firmalife-1.20.1-2.1.24.jar", + "file_name": "Firmalife-1.20.1-2.1.25.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7184/123/Firmalife-1.20.1-2.1.24.jar", - "id": "7184123", + "url": "https://edge.forgecdn.net/files/7392/481/Firmalife-1.20.1-2.1.25.jar", + "id": "7392481", "parent_id": "453394", "hashes": { - "sha1": "d4643d36fff9e4608e537ad9fae5704cad5bc4ac", - "md5": "58f007a7d86c013b37c89a36620db1cf" + "sha1": "9c80bd40edf4625e578e42d8f7bf5f34f43215ee", + "md5": "fc506b07e5168a2cf5e88851f39110b8" }, "required_dependencies": [ "302973" ], - "size": 4665098, - "date_published": "2025-11-04T02:00:07.587Z" + "size": 4669651, + "date_published": "2025-12-29T13:59:45.783Z" } ] }, @@ -7130,7 +7087,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.58.jar", + "file_name": "greate-0.0.59.jar", "mc_versions": [ "1.20.1" ], @@ -7139,23 +7096,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/TT9ck8vt/greate-0.0.58.jar", - "id": "TT9ck8vt", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/vYPdRVCR/greate-0.0.59.jar", + "id": "vYPdRVCR", "parent_id": "8wDcQuht", "hashes": { - "sha512": "646589a6f6278e42af03860a85dfd864fd620f1b4825f340781285736417307f4803c32ec5615045c207fd75d64a137268bff661432f35f4431f339a1905a82f", - "sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34" + "sha512": "58b21629d73b3ff1808b1ac7f3ac8def7eeff0ef803d779165dbce59a57e1e39e38d4b5934a01b36d5398c6fbd6e7aec400c04bbcd613b3a1d5c661a66bf65d9", + "sha1": "dc87ce9d17abc7967e26aac5d9e3480d4e36c7d1" }, "required_dependencies": [ "7tG215v7", "LNytGWDc" ], - "size": 1466358, - "date_published": "2025-12-14T02:44:12.871560Z" + "size": 1252913, + "date_published": "2025-12-30T21:34:48.471572Z" }, { "type": "curseforge", - "file_name": "greate-0.0.58.jar", + "file_name": "greate-0.0.59.jar", "mc_versions": [ "1.20.1" ], @@ -7164,19 +7121,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7330/800/greate-0.0.58.jar", - "id": "7330800", + "url": "https://edge.forgecdn.net/files/7397/872/greate-0.0.59.jar", + "id": "7397872", "parent_id": "901996", "hashes": { - "sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34", - "md5": "137b5a28b5ec63caaeb004f2520a7b9c" + "sha1": "dc87ce9d17abc7967e26aac5d9e3480d4e36c7d1", + "md5": "80f5d8e86c6d52f34308214b19ac98ea" }, "required_dependencies": [ - "328085", - "890405" + "890405", + "328085" ], - "size": 1466358, - "date_published": "2025-12-14T02:44:10.940Z" + "size": 1252913, + "date_published": "2025-12-30T21:34:45.940Z" } ] }, @@ -11595,7 +11552,7 @@ "files": [ { "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.17.0.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", "mc_versions": [ "1.20", "1.20.1" @@ -11604,20 +11561,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/EAmVtA50/ShoulderSurfing-Forge-1.20.1-4.17.0.jar", - "id": "EAmVtA50", + "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/HB8m5p83/ShoulderSurfing-Forge-1.20.1-4.18.1.jar", + "id": "HB8m5p83", "parent_id": "kepjj2sy", "hashes": { - "sha512": "67d14cc08a9e2c26e1df2a72283cf564b89c8235b1fc7489f2eac0665653d525f3265d9231b8e73e7de86d29359819a9089000fb24c3cb857c85579ecac8e4f5", - "sha1": "77741047e50205980a6eb518aec2514784584c09" + "sha512": "6d8799f69fb75d6cffdebb0f104e44a4c46e395cb939903c1e9571b88ddaf5486b71d79f3b418e035d0a78cf1eb7e97ae01aca8ae42b661fe8c407f7fd85d624", + "sha1": "77b9cd4384a622f709ae69decb3ad4e6e44afe38" }, "required_dependencies": [], - "size": 263677, - "date_published": "2025-12-07T19:55:42.391935Z" + "size": 263854, + "date_published": "2025-12-29T15:34:50.408021Z" }, { "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.17.0.jar", + "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", "mc_versions": [ "1.20.1", "1.20" @@ -11626,16 +11583,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7305/583/ShoulderSurfing-Forge-1.20.1-4.17.0.jar", - "id": "7305583", + "url": "https://edge.forgecdn.net/files/7392/767/ShoulderSurfing-Forge-1.20.1-4.18.1.jar", + "id": "7392767", "parent_id": "243190", "hashes": { - "sha1": "77741047e50205980a6eb518aec2514784584c09", - "md5": "906de79806f24c12d188126b47afa35f" + "sha1": "77b9cd4384a622f709ae69decb3ad4e6e44afe38", + "md5": "2c9bb3b79c50608ab4b18163f20be4dc" }, "required_dependencies": [], - "size": 263677, - "date_published": "2025-12-07T19:55:42.833Z" + "size": 263854, + "date_published": "2025-12-29T15:34:59.683Z" } ] }, From 7ac48e644373abffa2b2da2ca792ab13d3203074 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:18:38 +0000 Subject: [PATCH 524/628] update modlist --- config/crash_assistant/modlist.json | 95 +++++++++++++---------------- 1 file changed, 44 insertions(+), 51 deletions(-) diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index 8c6d49e04..d5bbc8fcd 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -190,8 +190,8 @@ "jarName": "betterp2p-1.5.0-forge.jar", "modId": "betterp2p", "version": "1.5.0", - "curseForgeHash": 1833303294, - "modrinthHash": "ee1a5e156b230474db0a57ce78174fcb1cd351e2" + "curseForgeHash": 263356958, + "modrinthHash": "528ccd37ba0dad755e875601bb3326bdeb0f3d4a" }, "BetterPingDisplay-1.20.1-1.1.jar": { "jarName": "BetterPingDisplay-1.20.1-1.1.jar", @@ -239,8 +239,8 @@ "jarName": "carpeted-1.20-1.4.jar", "modId": "carpeted", "version": "1.20-1.4", - "curseForgeHash": 3269794713, - "modrinthHash": "5f177a96a08454572723cf31fee9187c6bc1140e" + "curseForgeHash": 1311864805, + "modrinthHash": "0a34572db968e103bb783c854943548e475f6ea7" }, "carryon-forge-1.20.1-2.1.2.7.jar": { "jarName": "carryon-forge-1.20.1-2.1.2.7.jar", @@ -305,19 +305,19 @@ "curseForgeHash": 635589968, "modrinthHash": "c65d07748acc57ceb45d53b3964368b84f34d54f" }, - "colorwheel-forge-1.1.1+mc1.20.1.jar": { - "jarName": "colorwheel-forge-1.1.1+mc1.20.1.jar", + "colorwheel-forge-1.1.2+mc1.20.1.jar": { + "jarName": "colorwheel-forge-1.1.2+mc1.20.1.jar", "modId": "colorwheel", - "version": "1.1.1+mc1.20.1", - "curseForgeHash": 3336786010, - "modrinthHash": "8ae48d07db5b42a55906e81f86e9eaffc6db0777" + "version": "1.1.2+mc1.20.1", + "curseForgeHash": 4284935425, + "modrinthHash": "08089e16b24756e0ef1e50967dcf2286b20f5923" }, - "colorwheel_patcher-forge-1.0.3+mc1.20.1.jar": { - "jarName": "colorwheel_patcher-forge-1.0.3+mc1.20.1.jar", + "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar": { + "jarName": "colorwheel_patcher-forge-1.0.4+mc1.20.1.jar", "modId": "colorwheel_patcher", - "version": "1.0.3+mc1.20.1", - "curseForgeHash": 604643776, - "modrinthHash": "af4ffc83e8fd4964c09d88035a7df64f1536f68b" + "version": "1.0.4+mc1.20.1", + "curseForgeHash": 2060817090, + "modrinthHash": "a8ae8241362d7de40fd8909f942c3b1362779bd6" }, "comforts-forge-6.4.0+1.20.1.jar": { "jarName": "comforts-forge-6.4.0+1.20.1.jar", @@ -337,8 +337,8 @@ "jarName": "Controlling-forge-1.20.1-12.0.2.jar", "modId": "controlling", "version": "12.0.2", - "curseForgeHash": 2626540686, - "modrinthHash": "6195a3d1464f8fb641d7e165163aea1a857ce08e" + "curseForgeHash": 2144346557, + "modrinthHash": "f6d3cdd3ec68c5590cf5b2e89c38dbf031824bfd" }, "corpse-forge-1.20.1-1.0.23.jar": { "jarName": "corpse-forge-1.20.1-1.0.23.jar", @@ -557,12 +557,12 @@ "curseForgeHash": 484254904, "modrinthHash": "780caf39421ccfc495d14cb287856ced97c32985" }, - "entityculling-forge-1.9.4-mc1.20.1.jar": { - "jarName": "entityculling-forge-1.9.4-mc1.20.1.jar", + "entityculling-forge-1.9.5-mc1.20.1.jar": { + "jarName": "entityculling-forge-1.9.5-mc1.20.1.jar", "modId": "entityculling", - "version": "1.9.4", - "curseForgeHash": 744623401, - "modrinthHash": "2b19c5c38f88285aed2aad6a61eb622003540ee5" + "version": "1.9.5", + "curseForgeHash": 538559316, + "modrinthHash": "524be2ed63e9f131a17393ead67cd3fddc97ca2b" }, "etched-3.0.4.jar": { "jarName": "etched-3.0.4.jar", @@ -655,12 +655,12 @@ "curseForgeHash": 3617977798, "modrinthHash": "5d21f85a95332dc002cd26ce085934a0d3605e08" }, - "Firmalife-1.20.1-2.1.24.jar": { - "jarName": "Firmalife-1.20.1-2.1.24.jar", + "Firmalife-1.20.1-2.1.25.jar": { + "jarName": "Firmalife-1.20.1-2.1.25.jar", "modId": "firmalife", - "version": "2.1.24", - "curseForgeHash": 3800287070, - "modrinthHash": "d4643d36fff9e4608e537ad9fae5704cad5bc4ac" + "version": "2.1.25", + "curseForgeHash": 737375744, + "modrinthHash": "9c80bd40edf4625e578e42d8f7bf5f34f43215ee" }, "flickerfix-1.20.1-4.0.1.jar": { "jarName": "flickerfix-1.20.1-4.0.1.jar", @@ -746,13 +746,6 @@ "curseForgeHash": 2646303899, "modrinthHash": "4b100de40338247a3fbf4d1fd1846257c5338189" }, - "ftbxaerocompat-forge-1.1.0.jar": { - "jarName": "ftbxaerocompat-forge-1.1.0.jar", - "modId": "ftbxaerocompat", - "version": "1.1.0", - "curseForgeHash": 2958755560, - "modrinthHash": "1891f5e557bd90307f2499c9a6ba077915222ad3" - }, "fullstackwatchdog-1.0.1+1.19.2-forge.jar": { "jarName": "fullstackwatchdog-1.0.1+1.19.2-forge.jar", "modId": "fullstackwatchdog", @@ -795,12 +788,12 @@ "curseForgeHash": 3324262533, "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" }, - "greate-0.0.58.jar": { - "jarName": "greate-0.0.58.jar", + "greate-0.0.59.jar": { + "jarName": "greate-0.0.59.jar", "modId": "greate", - "version": "0.0.58", - "curseForgeHash": 2882095596, - "modrinthHash": "52e244f91ecb56a69bcdec6d22a83047475eeb34" + "version": "0.0.59", + "curseForgeHash": 3700389471, + "modrinthHash": "dc87ce9d17abc7967e26aac5d9e3480d4e36c7d1" }, "gtceu-1.20.1-7.4.0.jar": { "jarName": "gtceu-1.20.1-7.4.0.jar", @@ -958,8 +951,8 @@ "jarName": "lmft-1.0.4+1.20.1-forge.jar", "modId": "lmft", "version": "1.0.4+1.20.1", - "curseForgeHash": 3540923086, - "modrinthHash": "3c0dc40afb617ca2b5b2bbb4f7e831bd75009753" + "curseForgeHash": 1956694745, + "modrinthHash": "e44a12eb51813b16faaab89b8073ec63c746c1b0" }, "lodestone-1.20.1-1.6.4.1.jar": { "jarName": "lodestone-1.20.1-1.6.4.1.jar", @@ -1000,8 +993,8 @@ "jarName": "Measurements-forge-1.20.1-2.0.1.jar", "modId": "measurements", "version": "2.0.1", - "curseForgeHash": 4171871151, - "modrinthHash": "ea7c41e478903c3b9ccb37b67ff3ede9bdcaee9c" + "curseForgeHash": 230863047, + "modrinthHash": "8b98cf208b3b21f4996d86fc9c6960b192da77f7" }, "megacells-forge-2.4.6-1.20.1.jar": { "jarName": "megacells-forge-2.4.6-1.20.1.jar", @@ -1252,15 +1245,15 @@ "jarName": "Searchables-forge-1.20.1-1.0.3.jar", "modId": "searchables", "version": "1.0.3", - "curseForgeHash": 3494294894, - "modrinthHash": "5b976f6e76ec74cdef21865e31f56bcb11558db7" + "curseForgeHash": 3171281796, + "modrinthHash": "ed5a23ec30c90fd06b3f1d8140614028e1fafaee" }, - "ShoulderSurfing-Forge-1.20.1-4.17.0.jar": { - "jarName": "ShoulderSurfing-Forge-1.20.1-4.17.0.jar", + "ShoulderSurfing-Forge-1.20.1-4.18.1.jar": { + "jarName": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", "modId": "shouldersurfing", - "version": "1.20.1-4.17.0", - "curseForgeHash": 3839312720, - "modrinthHash": "77741047e50205980a6eb518aec2514784584c09" + "version": "1.20.1-4.18.1", + "curseForgeHash": 1413955737, + "modrinthHash": "77b9cd4384a622f709ae69decb3ad4e6e44afe38" }, "showcaseitem-1.20.1-1.2.jar": { "jarName": "showcaseitem-1.20.1-1.2.jar", @@ -1406,8 +1399,8 @@ "jarName": "TerraFirmaGreg-Core-Modern-0.8.12.jar", "modId": "tfg", "version": "0.8.12", - "curseForgeHash": 3927177398, - "modrinthHash": "5dc28e3df1d3e2b5c17f0b6cf1b8b92790d7ea9b" + "curseForgeHash": 3615222056, + "modrinthHash": "320db558605f446a76db4355e1a8e1b008c33630" }, "tfc_gurman-1.2.0.jar": { "jarName": "tfc_gurman-1.2.0.jar", From a9d35deaa1e75c40e876d55cf19defe72491f998 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:33:23 +0000 Subject: [PATCH 525/628] add back ftbxaerocompat --- pakku-lock.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/pakku-lock.json b/pakku-lock.json index 9f816a6d0..77cf60959 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -5796,6 +5796,49 @@ } ] }, + { + "pakku_id": "WqKV4LDCkOlDGtOe", + "pakku_links": [ + "MxMrrOyyu2PvCSN8", + "tdBDW3xpPBc3E2mt" + ], + "type": "MOD", + "slug": { + "curseforge": "ftbxaerocompat" + }, + "name": { + "curseforge": "FTB Chunks x Xaero's Compat" + }, + "id": { + "curseforge": "1357724" + }, + "files": [ + { + "type": "curseforge", + "file_name": "ftbxaerocompat-forge-1.1.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7398/199/ftbxaerocompat-forge-1.1.1.jar", + "id": "7398199", + "parent_id": "1357724", + "hashes": { + "sha1": "c36353b31e1e613294609730d3e01bb49e0cf7bd", + "md5": "b6d9d2b2ffcba5fe09e29eb50861157c" + }, + "required_dependencies": [ + "314906", + "317780" + ], + "size": 735931, + "date_published": "2025-12-30T23:16:40.530Z" + } + ] + }, { "pakku_id": "wrtHnSj8GEjPjzsm", "type": "MOD", From 1174669b3e52853c4a4e666c08bb4a705f3f0327 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:35:35 +0000 Subject: [PATCH 526/628] sorted out a new greate version --- config/greate-recipes.yaml | 4 ++ kubejs/server_scripts/greate/recipes.js | 70 +++++++++---------- .../server_scripts/greate/recipes.removes.js | 43 +++++++----- kubejs/startup_scripts/greate/constants.js | 2 +- 4 files changed, 67 insertions(+), 52 deletions(-) diff --git a/config/greate-recipes.yaml b/config/greate-recipes.yaml index 26c8e0850..352b7b5fd 100644 --- a/config/greate-recipes.yaml +++ b/config/greate-recipes.yaml @@ -5,6 +5,10 @@ enableGTWireCoatingRecipes: true # Enable/Disable harder recipes for various Create blocks & items. enableHardCreateRecipes: false +# Should certain Create items that have a GTCEu counterpart be used in recipes? +# If false, GTCEu items will be used instead. +useCreateItemsInRecipes: false + # 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.js b/kubejs/server_scripts/greate/recipes.js index b7117ab1f..6298b3e77 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -16,67 +16,67 @@ function registerGreateRecipes(event) { // #region Shafts event.shapeless('9x greate:andesite_alloy_shaft', ['#forge:plates/black_bronze', '#forge:tools/saws']) - .id('gtceu:shaped/andesite_alloy_shaft_black_bronze') + .id('greate:shaped/andesite_alloy_shaft_black_bronze') event.shapeless('9x greate:andesite_alloy_shaft', ['#forge:plates/bronze', '#forge:tools/saws']) - .id('gtceu:shaped/andesite_alloy_shaft_bronze') + .id('greate:shaped/andesite_alloy_shaft_bronze') event.shapeless('9x greate:andesite_alloy_shaft', ['#forge:plates/bismuth_bronze', '#forge:tools/saws']) - .id('gtceu:shaped/andesite_alloy_shaft_bismuth_bronze') + .id('greate:shaped/andesite_alloy_shaft_bismuth_bronze') event.shapeless('9x greate:steel_shaft', ['#forge:plates/steel', '#forge:tools/saws']) - .id('gtceu:shaped/steel_shaft') + .id('greate:shaped/steel_shaft') event.shapeless('9x greate:aluminium_shaft', ['#forge:plates/aluminium', '#forge:tools/saws']) - .id('gtceu:shaped/aluminium_shaft') + .id('greate:shaped/aluminium_shaft') event.shapeless('9x greate:stainless_steel_shaft', ['#forge:plates/stainless_steel', '#forge:tools/saws']) - .id('gtceu:shaped/stainless_steel_shaft') + .id('greate:shaped/stainless_steel_shaft') event.shapeless('9x greate:titanium_shaft', ['#forge:plates/titanium', '#forge:tools/saws']) - .id('gtceu:shaped/titanium_shaft') + .id('greate:shaped/titanium_shaft') - event.recipes.gtceu.cutter('andesite_alloy_shaft') + event.recipes.gtceu.cutter('greate:andesite_alloy_shaft') .itemInputs('#forge:plates/bronze') .itemOutputs('9x greate:andesite_alloy_shaft') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) .removePreviousMaterialInfo() - event.recipes.gtceu.cutter('andesite_alloy_shaft_black') + event.recipes.gtceu.cutter('greate:andesite_alloy_shaft_black') .itemInputs('#forge:plates/black_bronze') .itemOutputs('9x greate:andesite_alloy_shaft') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.cutter('andesite_alloy_shaft_bismuth') + event.recipes.gtceu.cutter('greate:andesite_alloy_shaft_bismuth') .itemInputs('#forge:plates/bismuth_bronze') .itemOutputs('9x greate:andesite_alloy_shaft') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) - event.recipes.gtceu.cutter('steel_shaft') + event.recipes.gtceu.cutter('greate:steel_shaft') .itemInputs('#forge:plates/steel') .itemOutputs('9x greate:steel_shaft') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) .addMaterialInfo(true) - event.recipes.gtceu.cutter('aluminium_shaft') + event.recipes.gtceu.cutter('greate:aluminium_shaft') .itemInputs('#forge:plates/aluminium') .itemOutputs('9x greate:aluminium_shaft') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) .addMaterialInfo(true) - event.recipes.gtceu.cutter('stainless_steel_shaft') + event.recipes.gtceu.cutter('greate:stainless_steel_shaft') .itemInputs('#forge:plates/stainless_steel') .itemOutputs('9x greate:stainless_steel_shaft') .duration(100) .EUt(GTValues.VA[GTValues.ULV]) .addMaterialInfo(true) - event.recipes.gtceu.cutter('titanium_shaft') + event.recipes.gtceu.cutter('greate:titanium_shaft') .itemInputs('#forge:plates/titanium') .itemOutputs('9x greate:titanium_shaft') .duration(100) @@ -648,7 +648,7 @@ function registerGreateRecipes(event) { }).id('tfg:shaped/wood_belt_connector') removeMaceratorRecipe(event, 'macerate_andesite_alloy_belt_connector') - event.remove({ id: 'gtceu:shaped/andesite_alloy_belt_connector' }) + event.remove({ id: 'greate:shaped/andesite_alloy_belt_connector' }) event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_belt_connector' }) event.remove({ id: 'gtceu:arc_furnace/arc_andesite_alloy_belt_connector' }) @@ -673,7 +673,7 @@ function registerGreateRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) removeMaceratorRecipe(event, 'macerate_stone_belt_connector') - event.remove({ id: 'gtceu:shaped/stone_belt_connector' }) + event.remove({ id: 'greate:shaped/stone_belt_connector' }) TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', { 'air': 1 }); @@ -695,7 +695,7 @@ function registerGreateRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) .addMaterialInfo(true) - event.remove({ id: 'gtceu:shaped/rubber_belt_connector' }) + event.remove({ id: 'greate:shaped/rubber_belt_connector' }) removeMaceratorRecipe(event, 'macerate_rubber_belt_connector') event.remove({ id: 'gtceu:extractor/extract_rubber_belt_connector' }) @@ -719,7 +719,7 @@ function registerGreateRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) .addMaterialInfo(true) - event.remove({ id: 'gtceu:shaped/silicone_rubber_belt_connector' }) + event.remove({ id: 'greate:shaped/silicone_rubber_belt_connector' }) removeMaceratorRecipe(event, 'macerate_silicone_rubber_belt_connector') event.remove({ id: 'gtceu:extractor/extract_silicone_rubber_belt_connector' }) @@ -743,7 +743,7 @@ function registerGreateRecipes(event) { .EUt(GTValues.VA[GTValues.ULV]) .addMaterialInfo(true) - event.remove({ id: 'gtceu:shaped/styrene_butadiene_rubber_belt_connector' }) + event.remove({ id: 'greate:shaped/styrene_butadiene_rubber_belt_connector' }) removeMaceratorRecipe(event, 'macerate_styrene_butadiene_rubber_belt_connector') event.remove({ id: 'gtceu:extractor/extract_styrene_butadiene_rubber_belt_connector' }) @@ -852,9 +852,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/steel', C: '#forge:tools/wrenches', D: '#forge:rods/long/steel' - }).id('gtceu:shaped/steel_whisk') + }).id('greate:shaped/steel_whisk') - event.recipes.gtceu.extruder('gtceu:steel_whisk') + event.recipes.gtceu.extruder('greate:steel_whisk') .itemInputs('4x #forge:ingots/steel') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:steel_whisk') @@ -874,9 +874,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/aluminium', C: '#forge:tools/wrenches', D: '#forge:rods/long/aluminium' - }).id('gtceu:shaped/aluminium_whisk') + }).id('greate:shaped/aluminium_whisk') - event.recipes.gtceu.extruder('gtceu:aluminium_whisk') + event.recipes.gtceu.extruder('greate:aluminium_whisk') .itemInputs('4x #forge:ingots/aluminium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:aluminium_whisk') @@ -896,9 +896,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/stainless_steel', C: '#forge:tools/wrenches', D: '#forge:rods/long/stainless_steel' - }).id('gtceu:shaped/stainless_steel_whisk') + }).id('greate:shaped/stainless_steel_whisk') - event.recipes.gtceu.extruder('gtceu:stainless_steel_whisk') + event.recipes.gtceu.extruder('greate:stainless_steel_whisk') .itemInputs('4x #forge:ingots/stainless_steel') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:stainless_steel_whisk') @@ -918,9 +918,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/titanium', C: '#forge:tools/wrenches', D: '#forge:rods/long/titanium' - }).id('gtceu:shaped/titanium_whisk') + }).id('greate:shaped/titanium_whisk') - event.recipes.gtceu.extruder('gtceu:titanium_whisk') + event.recipes.gtceu.extruder('greate:titanium_whisk') .itemInputs('4x #forge:ingots/titanium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:titanium_whisk') @@ -940,9 +940,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/tungsten_steel', C: '#forge:tools/wrenches', D: '#forge:rods/long/tungsten_steel' - }).id('gtceu:shaped/tungsten_steel_whisk') + }).id('greate:shaped/tungsten_steel_whisk') - event.recipes.gtceu.extruder('gtceu:tungsten_steel_whisk') + event.recipes.gtceu.extruder('greate:tungsten_steel_whisk') .itemInputs('4x #forge:ingots/tungsten_steel') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:tungsten_steel_whisk') @@ -962,9 +962,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/rhodium_plated_palladium', C: '#forge:tools/wrenches', D: '#forge:rods/long/rhodium_plated_palladium' - }).id('gtceu:shaped/rhodium_plated_palladium_whisk') + }).id('greate:shaped/rhodium_plated_palladium_whisk') - event.recipes.gtceu.extruder('gtceu:rhodium_plated_palladium_whisk') + event.recipes.gtceu.extruder('greate:rhodium_plated_palladium_whisk') .itemInputs('4x #forge:ingots/rhodium_plated_palladium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:rhodium_plated_palladium_whisk') @@ -984,9 +984,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/naquadah_alloy', C: '#forge:tools/wrenches', D: '#forge:rods/long/naquadah_alloy' - }).id('gtceu:shaped/naquadah_alloy_whisk') + }).id('greate:shaped/naquadah_alloy_whisk') - event.recipes.gtceu.extruder('gtceu:naquadah_alloy_whisk') + event.recipes.gtceu.extruder('greate:naquadah_alloy_whisk') .itemInputs('4x #forge:ingots/naquadah_alloy') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:naquadah_alloy_whisk') @@ -1006,9 +1006,9 @@ function registerGreateRecipes(event) { B: '#forge:rings/darmstadtium', C: '#forge:tools/wrenches', D: '#forge:rods/long/darmstadtium' - }).id('gtceu:shaped/darmstadtium_whisk') + }).id('greate:shaped/darmstadtium_whisk') - event.recipes.gtceu.extruder('gtceu:darmstadtium_whisk') + event.recipes.gtceu.extruder('greate:darmstadtium_whisk') .itemInputs('4x #forge:ingots/darmstadtium') .notConsumable('tfg:whisk_extruder_mold') .itemOutputs('gtceu:darmstadtium_whisk') diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 71722cfe8..1f49ddb72 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -24,22 +24,22 @@ function removeGreateRecipes(event) { event.remove({ mod: 'greate', input: 'create:andesite_alloy' }); event.remove({ mod: 'greate', output: 'minecraft:bamboo_pressure_plate'}) - event.remove({ id: 'gtceu:shaped/andesite_alloy_shaft' }) - event.remove({ id: 'gtceu:shaped/andesite_alloy_cogwheel' }) - event.remove({ id: 'gtceu:shaped/andesite_alloy_large_cogwheel' }) - event.remove({ id: 'gtceu:shaped/andesite_alloy_large_cogwheel_from_little' }) - event.remove({ id: 'gtceu:shaped/steel_cogwheel' }) - event.remove({ id: 'gtceu:shaped/steel_large_cogwheel' }) - event.remove({ id: 'gtceu:shaped/steel_large_cogwheel_from_little' }) - event.remove({ id: 'gtceu:shaped/aluminium_cogwheel' }) - event.remove({ id: 'gtceu:shaped/aluminium_large_cogwheel' }) - event.remove({ id: 'gtceu:shaped/aluminium_large_cogwheel_from_little' }) - event.remove({ id: 'gtceu:shaped/stainless_steel_cogwheel' }) - event.remove({ id: 'gtceu:shaped/stainless_steel_large_cogwheel' }) - event.remove({ id: 'gtceu:shaped/stainless_steel_large_cogwheel_from_little' }) - event.remove({ id: 'gtceu:shaped/titanium_cogwheel' }) - event.remove({ id: 'gtceu:shaped/titanium_large_cogwheel' }) - event.remove({ id: 'gtceu:shaped/titanium_large_cogwheel_from_little' }) + event.remove({ id: 'greate:shaped/andesite_alloy_shaft' }) + event.remove({ id: 'greate:shaped/andesite_alloy_cogwheel' }) + event.remove({ id: 'greate:shaped/andesite_alloy_large_cogwheel' }) + event.remove({ id: 'greate:shaped/andesite_alloy_large_cogwheel_from_little' }) + event.remove({ id: 'greate:shaped/steel_cogwheel' }) + event.remove({ id: 'greate:shaped/steel_large_cogwheel' }) + event.remove({ id: 'greate:shaped/steel_large_cogwheel_from_little' }) + event.remove({ id: 'greate:shaped/aluminium_cogwheel' }) + event.remove({ id: 'greate:shaped/aluminium_large_cogwheel' }) + event.remove({ id: 'greate:shaped/aluminium_large_cogwheel_from_little' }) + event.remove({ id: 'greate:shaped/stainless_steel_cogwheel' }) + event.remove({ id: 'greate:shaped/stainless_steel_large_cogwheel' }) + event.remove({ id: 'greate:shaped/stainless_steel_large_cogwheel_from_little' }) + event.remove({ id: 'greate:shaped/titanium_cogwheel' }) + event.remove({ id: 'greate:shaped/titanium_large_cogwheel' }) + event.remove({ id: 'greate:shaped/titanium_large_cogwheel_from_little' }) removeCutterRecipe(event, "andesite_alloy_shaft") removeCutterRecipe(event, "andesite_alloy_shaft_water") @@ -66,6 +66,17 @@ function removeGreateRecipes(event) { event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_shaft' }) + event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_steel_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_aluminium_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_stainless_steel_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_titanium_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_large_andesite_alloy_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_large_steel_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_large_aluminium_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_large_stainless_steel_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_large_titanium_cogwheel' }) + event.remove({ id: 'gtceu:extractor/extract_andesite_alloy' }) event.remove({ id: 'gtceu:extractor/extract_steel_alloy'}) event.remove({ id: 'gtceu:extractor/extract_aluminium_alloy' }) diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index 5155df690..5d7c82439 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -2,7 +2,7 @@ "use strict"; global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ - "create:andesite_alloy", + "greate:andesite_alloy_alloy", "greate:steel_alloy", "greate:aluminium_alloy", "greate:stainless_steel_alloy", From 6b184ddf3c148b25372049f8b9e6d16c136f51a6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:45:51 +0000 Subject: [PATCH 527/628] I think it's just sandwiches? #2551 --- kubejs/server_scripts/species/tags.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubejs/server_scripts/species/tags.js b/kubejs/server_scripts/species/tags.js index 0b0cce993..7fb416847 100644 --- a/kubejs/server_scripts/species/tags.js +++ b/kubejs/server_scripts/species/tags.js @@ -25,6 +25,10 @@ const registerSpeciesItemTags = (event) => { event.add('tfg:martian_eggs', 'species:springling_egg') event.add('tfg:martian_eggs', 'species:petrified_egg') + event.add('tfc:foods', 'species:birt_egg') + event.add('tfc:foods', 'species:birtday_cake') + event.add('tfc:foods', 'species:birtday_cake_slice') + event.add('species:goober_breed_items', '#forge:mushrooms') event.add('species:cruncher_eats', '#tfc:foods/meats') From 5693767ea62a31a1c2f7af652605a6557fac7dc0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:51:31 +0000 Subject: [PATCH 528/628] fixed cake #2558 --- CHANGELOG.md | 10 ++++++++++ kubejs/server_scripts/tfg/food/recipes.food.js | 18 ++++++++++++------ kubejs/server_scripts/tfg/food/tags.food.js | 1 + 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c503b3b72..73318c5e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,17 @@ ### Changes - change energy acceptor to use a machine hull instead of a converter. (#2553) @thederpysockdude123 - Update ExtendedAE package name in InvTweaks exclusions. (#2556) @FakeDomi +- Pickled eggs can now be used in sandwiches (#2551) @Pyritie +### Mod updates +- New [Greate changelog](https://github.com/GreateBeyondTheHorizon/Greate/releases/tag/0.0.59) +- New [Firmalife changelog](https://github.com/eerussianguy/firmalife/releases/tag/v2.1.25) ### Bug fixes +- Fixed cake recipes returning nothing in a food processor (#2558) @Pyritie +- Fixed a crash when generating chunks sometimes @Satherov +### Translation updates +- Chinese (simplified) @jmecn +- Chinese (traditional) @CrazyO9 +- Russian @Petr211071 ## [0.11.13] - 28-12-2025 ### Breaking Changes diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 1210e0ab4..a592c4cfb 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -970,37 +970,43 @@ function registerTFGFoodRecipes(event) { processorRecipe("vanilla_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/strawberry', 'firmalife:spice/vanilla'], fluidInputs: [Fluid.of("tfcchannelcasting:white_chocolate", 400)], - itemOutputs: ["tfc:cake"] + itemOutputs: ["tfc:cake"], + itemOutputProvider: TFC.isp.of("tfc:cake").copyOldestFood() }) processorRecipe("milk_chocolate_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'], fluidInputs: [Fluid.of("tfcchannelcasting:milk_chocolate", 400)], - itemOutputs: ["createaddition:chocolate_cake"] + itemOutputs: ["createaddition:chocolate_cake"], + itemOutputProvider: TFC.isp.of("createaddition:chocolate_cake").copyOldestFood() }) processorRecipe("dark_chocolate_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'], fluidInputs: [Fluid.of("tfcchannelcasting:dark_chocolate", 400)], - itemOutputs: ["createaddition:chocolate_cake"] + itemOutputs: ["createaddition:chocolate_cake"], + itemOutputProvider: TFC.isp.of("createaddition:chocolate_cake").copyOldestFood() }) processorRecipe("maple_honey_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'], fluidInputs: [Fluid.of("afc:maple_syrup", 1000)], - itemOutputs: ["createaddition:honey_cake"] + itemOutputs: ["createaddition:honey_cake"], + itemOutputProvider: TFC.isp.of("createaddition:honey_cake").copyOldestFood() }) processorRecipe("birch_honey_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'], fluidInputs: [Fluid.of("afc:birch_syrup", 1000)], - itemOutputs: ["createaddition:honey_cake"] + itemOutputs: ["createaddition:honey_cake"], + itemOutputProvider: TFC.isp.of("createaddition:honey_cake").copyOldestFood() }) processorRecipe("birtday_cake", 300, GTValues.VA[GTValues.HV], { itemInputs: ['createaddition:cake_base', '4x species:birt_egg', '4x tfc:food/blueberry', '2x minecraft:chorus_fruit', 'gtceu:blue_alloy_single_wire'], fluidInputs: [Fluid.of('gtceu:helium_3', 50)], - itemOutputs: ["species:birtday_cake"] + itemOutputs: ["species:birtday_cake"], + itemOutputProvider: TFC.isp.of("species:birtday_cake").copyOldestFood() }) //#endregion diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index 5e935fce4..c4bc0ca81 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -315,6 +315,7 @@ function registerTFGFoodItemTags(event) { event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/boiled_egg"); event.add("tfc:foods/usable_in_sandwich", "tfc:food/cooked_egg"); event.add("tfc:foods/usable_in_sandwich", "tfc:food/boiled_egg"); + event.add("tfc:foods/usable_in_sandwich", "tfc:food/pickled_egg"); event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom') event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom') From 33e38a7c968982c53554c9c109472589377bad53 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:51:37 +0000 Subject: [PATCH 529/628] pakku --- pakku-lock.json | 60 ++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 77cf60959..a9492bf8d 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12682,32 +12682,9 @@ "modrinth": "tr715LZ4" }, "files": [ - { - "type": "curseforge", - "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7096/292/TFCBetterBlastFurnace-1.20.1-1.0.1.jar", - "id": "7096292", - "parent_id": "1046432", - "hashes": { - "sha1": "deed557181e79cfa11ab29916d74801ba5d6dcd0", - "md5": "542a4ea966f16f18fe6262c5d009a7f3" - }, - "required_dependencies": [ - "302973" - ], - "size": 22675, - "date_published": "2025-10-11T21:07:54.880Z" - }, { "type": "modrinth", - "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.1.jar", + "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.2.jar", "mc_versions": [ "1.20.1" ], @@ -12715,18 +12692,41 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/tr715LZ4/versions/MyOPcTS9/TFCBetterBlastFurnace-1.20.1-1.0.1.jar", - "id": "MyOPcTS9", + "url": "https://cdn.modrinth.com/data/tr715LZ4/versions/vdRmPxPV/TFCBetterBlastFurnace-1.20.1-1.0.2.jar", + "id": "vdRmPxPV", "parent_id": "tr715LZ4", "hashes": { - "sha512": "ea85cde0e166c3e1561acf06330aaf3a07336ed02f6f87117689cab2575b1333e2d5ec43d1e44f7f828be3ab28fbc6be20055aa5417befed66ebaafe6b529417", - "sha1": "2f0171f5cd2a2b2210425027ec5a29148cfee8b2" + "sha512": "636086142963badbda90a3e4bd573790c9a0d32ee4b63c7b5245692a4672c057d48e575ea2a5bb7f82da662c75d7748585e7e818c1540faeef021350adf2fba3", + "sha1": "e40bc10f114bce20b9c003a7d42a97834d5a1bcc" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 22675, - "date_published": "2025-10-11T20:59:58.399976Z" + "size": 22983, + "date_published": "2025-12-30T22:54:19.887776Z" + }, + { + "type": "curseforge", + "file_name": "TFCBetterBlastFurnace-1.20.1-1.0.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7398/149/TFCBetterBlastFurnace-1.20.1-1.0.2.jar", + "id": "7398149", + "parent_id": "1046432", + "hashes": { + "sha1": "e40bc10f114bce20b9c003a7d42a97834d5a1bcc", + "md5": "b2a4def055ed078d64ef6b1f6ebfd302" + }, + "required_dependencies": [ + "302973" + ], + "size": 22983, + "date_published": "2025-12-30T22:54:18.363Z" } ] }, From 430b574a9c1f6755f55a3b1244cd9556a3f11e6b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Tue, 30 Dec 2025 23:55:37 +0000 Subject: [PATCH 530/628] langs --- kubejs/assets/ad_astra/lang/zh_tw.json | 169 +++++++ .../additionalplacements/lang/zh_tw.json | 32 ++ kubejs/assets/ae2/lang/zh_tw.json | 23 + .../ae2insertexportcard/lang/zh_tw.json | 8 + .../assets/ags_modernmarkings/lang/zh_tw.json | 125 ++++++ kubejs/assets/alekiroofs/lang/zh_tw.json | 15 + kubejs/assets/alekiships/lang/zh_tw.json | 123 ++++++ kubejs/assets/beneath/lang/zh_tw.json | 272 ++++++++++++ kubejs/assets/betterend/lang/en_us.json | 3 +- kubejs/assets/betterend/lang/ja_jp.json | 3 +- kubejs/assets/betterend/lang/ru_ru.json | 3 +- kubejs/assets/betterend/lang/uk_ua.json | 3 +- kubejs/assets/betterend/lang/zh_cn.json | 3 +- kubejs/assets/betterend/lang/zh_tw.json | 123 ++++++ .../assets/constructionwand/lang/zh_tw.json | 7 + kubejs/assets/create/lang/zh_tw.json | 110 +++++ kubejs/assets/createdeco/lang/zh_tw.json | 418 ++++++++++++++++++ .../assets/createhorsepower/lang/zh_tw.json | 4 + kubejs/assets/deafission/lang/zh_tw.json | 50 +++ kubejs/assets/diggerhelmet/lang/zh_tw.json | 39 ++ .../assets/domum_ornamentum/lang/zh_tw.json | 210 +++++++++ .../assets/endermanoverhaul/lang/zh_tw.json | 29 ++ kubejs/assets/firmaciv/lang/zh_tw.json | 241 ++++++++++ kubejs/assets/firmacivplus/lang/zh_tw.json | 63 +++ kubejs/assets/firmalife/lang/zh_tw.json | 23 + kubejs/assets/tfg/lang/en_us.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 20 +- 27 files changed, 2105 insertions(+), 16 deletions(-) create mode 100644 kubejs/assets/ad_astra/lang/zh_tw.json create mode 100644 kubejs/assets/additionalplacements/lang/zh_tw.json create mode 100644 kubejs/assets/ae2/lang/zh_tw.json create mode 100644 kubejs/assets/ae2insertexportcard/lang/zh_tw.json create mode 100644 kubejs/assets/ags_modernmarkings/lang/zh_tw.json create mode 100644 kubejs/assets/alekiroofs/lang/zh_tw.json create mode 100644 kubejs/assets/alekiships/lang/zh_tw.json create mode 100644 kubejs/assets/beneath/lang/zh_tw.json create mode 100644 kubejs/assets/betterend/lang/zh_tw.json create mode 100644 kubejs/assets/constructionwand/lang/zh_tw.json create mode 100644 kubejs/assets/create/lang/zh_tw.json create mode 100644 kubejs/assets/createdeco/lang/zh_tw.json create mode 100644 kubejs/assets/createhorsepower/lang/zh_tw.json create mode 100644 kubejs/assets/deafission/lang/zh_tw.json create mode 100644 kubejs/assets/diggerhelmet/lang/zh_tw.json create mode 100644 kubejs/assets/domum_ornamentum/lang/zh_tw.json create mode 100644 kubejs/assets/endermanoverhaul/lang/zh_tw.json create mode 100644 kubejs/assets/firmaciv/lang/zh_tw.json create mode 100644 kubejs/assets/firmacivplus/lang/zh_tw.json create mode 100644 kubejs/assets/firmalife/lang/zh_tw.json diff --git a/kubejs/assets/ad_astra/lang/zh_tw.json b/kubejs/assets/ad_astra/lang/zh_tw.json new file mode 100644 index 000000000..9ed77bfca --- /dev/null +++ b/kubejs/assets/ad_astra/lang/zh_tw.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": "可呼吸空氣分配器", + "block.ad_astra.infernal_spire_block": "煉獄尖刺", + "block.ad_astra.moon_sand": "月砂", + "block.ad_astra.moon_stone": "天然斜長岩", + "block.ad_astra.moon_cobblestone": "斜長岩圓石", + "block.ad_astra.moon_cobblestone_slab": "斜長岩圓石半磚", + "block.ad_astra.moon_cobblestone_stairs": "斜長岩圓石階梯", + "block.ad_astra.moon_pillar": "斜長岩柱", + "block.ad_astra.moon_stone_brick_slab": "斜長岩磚半磚", + "block.ad_astra.moon_stone_brick_stairs": "斜長岩磚階梯", + "block.ad_astra.moon_stone_brick_wall": "斜長岩磚牆", + "block.ad_astra.moon_stone_bricks": "斜長岩磚", + "block.ad_astra.moon_stone_slab": "天然斜長岩半磚", + "block.ad_astra.moon_stone_stairs": "天然斜長岩階梯", + "block.ad_astra.chiseled_moon_stone_bricks": "雕刻斜長岩磚", + "block.ad_astra.chiseled_moon_stone_slab": "雕刻斜長岩半磚", + "block.ad_astra.chiseled_moon_stone_stairs": "雕刻斜長岩階梯", + "block.ad_astra.cracked_moon_stone_bricks": "裂紋斜長岩磚", + "block.ad_astra.polished_moon_stone": "拋光斜長岩", + "block.ad_astra.polished_moon_stone_slab": "拋光斜長岩半磚", + "block.ad_astra.polished_moon_stone_stairs": "拋光斜長岩階梯", + "block.ad_astra.sky_stone": "隕石", + "block.ad_astra.moon_deepslate": "天然蘇長岩", + "block.ad_astra.cheese_block": "月球起司方塊", + "block.ad_astra.moon_cheese_ore": "斜長岩起司礦石", + "block.ad_astra.glacian_log": "霜原菌柄", + "block.ad_astra.stripped_glacian_log": "剝皮霜原菌柄", + "block.ad_astra.glacian_leaves": "霜原菌葉", + "block.ad_astra.mars_sand": "泥板岩砂", + "block.ad_astra.mars_stone": "天然泥岩", + "block.ad_astra.mars_cobblestone": "泥岩圓石", + "block.ad_astra.mars_cobblestone_slab": "泥岩圓石半磚", + "block.ad_astra.mars_cobblestone_stairs": "泥岩圓石階梯", + "block.ad_astra.mars_pillar": "泥岩柱", + "block.ad_astra.mars_stone_brick_slab": "泥岩磚半磚", + "block.ad_astra.mars_stone_brick_stairs": "泥岩磚階梯", + "block.ad_astra.mars_stone_brick_wall": "泥岩磚牆", + "block.ad_astra.mars_stone_bricks": "泥岩磚", + "block.ad_astra.mars_stone_slab": "天然泥岩半磚", + "block.ad_astra.mars_stone_stairs": "天然泥岩階梯", + "block.ad_astra.chiseled_mars_stone_bricks": "雕刻泥岩磚", + "block.ad_astra.chiseled_mars_stone_slab": "雕刻泥岩半磚", + "block.ad_astra.chiseled_mars_stone_stairs": "雕刻泥岩階梯", + "block.ad_astra.cracked_mars_stone_bricks": "裂紋泥岩磚", + "block.ad_astra.polished_mars_stone": "拋光泥岩", + "block.ad_astra.polished_mars_stone_slab": "拋光泥岩半磚", + "block.ad_astra.polished_mars_stone_stairs": "拋光泥岩階梯", + "block.ad_astra.conglomerate": "礫岩", + "block.ad_astra.polished_conglomerate": "拋光礫岩", + "block.ad_astra.venus_sand": "粗面岩砂", + "block.ad_astra.venus_stone": "天然粗面岩", + "block.ad_astra.venus_cobblestone": "粗面岩圓石", + "block.ad_astra.venus_cobblestone_slab": "粗面岩圓石半磚", + "block.ad_astra.venus_cobblestone_stairs": "粗面岩圓石階梯", + "block.ad_astra.venus_pillar": "粗面岩柱", + "block.ad_astra.venus_stone_brick_slab": "粗面岩磚半磚", + "block.ad_astra.venus_stone_brick_stairs": "粗面岩磚階梯", + "block.ad_astra.venus_stone_brick_wall": "粗面岩磚牆", + "block.ad_astra.venus_stone_bricks": "粗面岩磚", + "block.ad_astra.venus_stone_slab": "天然粗面岩半磚", + "block.ad_astra.venus_stone_stairs": "天然粗面岩階梯", + "block.ad_astra.chiseled_venus_stone_bricks": "雕刻粗面岩磚", + "block.ad_astra.chiseled_venus_stone_slab": "雕刻粗面岩半磚", + "block.ad_astra.chiseled_venus_stone_stairs": "雕刻粗面岩階梯", + "block.ad_astra.cracked_venus_stone_bricks": "裂紋粗面岩磚", + "block.ad_astra.polished_venus_stone": "拋光粗面岩", + "block.ad_astra.polished_venus_stone_slab": "拋光粗面岩半磚", + "block.ad_astra.polished_venus_stone_stairs": "拋光粗面岩階梯", + "block.ad_astra.venus_sandstone": "粗面岩砂岩", + "block.ad_astra.venus_sandstone_bricks": "粗面岩砂岩磚", + "block.ad_astra.venus_sandstone_brick_slab": "粗面岩砂岩磚半磚", + "block.ad_astra.venus_sandstone_brick_stairs": "粗面岩砂岩磚階梯", + "block.ad_astra.cracked_venus_sandstone_bricks": "裂紋粗面岩砂岩磚", + "block.ad_astra.mercury_stone": "天然科馬提岩", + "block.ad_astra.mercury_cobblestone": "科馬提岩圓石", + "block.ad_astra.mercury_cobblestone_slab": "科馬提岩圓石半磚", + "block.ad_astra.mercury_cobblestone_stairs": "科馬提岩圓石階梯", + "block.ad_astra.mercury_pillar": "科馬提岩柱", + "block.ad_astra.mercury_stone_brick_slab": "科馬提岩磚半磚", + "block.ad_astra.mercury_stone_brick_stairs": "科馬提岩磚階梯", + "block.ad_astra.mercury_stone_brick_wall": "科馬提岩磚牆", + "block.ad_astra.mercury_stone_bricks": "科馬提岩磚", + "block.ad_astra.mercury_stone_slab": "天然科馬提岩半磚", + "block.ad_astra.mercury_stone_stairs": "天然科馬提岩階梯", + "block.ad_astra.chiseled_mercury_stone_bricks": "雕刻科馬提岩磚", + "block.ad_astra.chiseled_mercury_stone_slab": "雕刻科馬提岩半磚", + "block.ad_astra.chiseled_mercury_stone_stairs": "雕刻科馬提岩階梯", + "block.ad_astra.cracked_mercury_stone_bricks": "裂紋科馬提岩磚", + "block.ad_astra.polished_mercury_stone": "拋光科馬提岩", + "block.ad_astra.polished_mercury_stone_slab": "拋光科馬提岩半磚", + "block.ad_astra.polished_mercury_stone_stairs": "拋光科馬提岩階梯", + "block.ad_astra.glacio_stone": "天然響岩", + "block.ad_astra.glacio_cobblestone": "響岩圓石", + "block.ad_astra.glacio_cobblestone_slab": "響岩圓石半磚", + "block.ad_astra.glacio_cobblestone_stairs": "響岩圓石階梯", + "block.ad_astra.glacio_pillar": "響岩柱", + "block.ad_astra.glacio_stone_brick_slab": "響岩磚半磚", + "block.ad_astra.glacio_stone_brick_stairs": "響岩磚階梯", + "block.ad_astra.glacio_stone_brick_wall": "響岩磚牆", + "block.ad_astra.glacio_stone_bricks": "響岩磚", + "block.ad_astra.glacio_stone_slab": "天然響岩半磚", + "block.ad_astra.glacio_stone_stairs": "天然響岩階梯", + "block.ad_astra.chiseled_glacio_stone_bricks": "雕刻響岩磚", + "block.ad_astra.chiseled_glacio_stone_slab": "雕刻響岩半磚", + "block.ad_astra.chiseled_glacio_stone_stairs": "雕刻響岩階梯", + "block.ad_astra.cracked_glacio_stone_bricks": "裂紋響岩磚", + "block.ad_astra.polished_glacio_stone": "拋光響岩", + "block.ad_astra.polished_glacio_stone_slab": "拋光響岩半磚", + "block.ad_astra.polished_glacio_stone_stairs": "拋光響岩階梯", + "block.ad_astra.glacio_globe": "歐羅巴星儀", + "entity.ad_astra.corrupted_lunarian": "月球殭屍", + "entity.ad_astra.martian_raptor": "骷髏迅猛龍", + "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": "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": "進階光伏板", + "item.ad_astra.photovoltaic_vesnium_cell": "高效光伏板", + "item.ad_astra.ostrum_tank": "紫金推進燃料槽", + "item.ad_astra.steel_engine": "鋼製火箭引擎", + "item.ad_astra.desh_engine": "戴斯火箭引擎", + "item.ad_astra.ostrum_engine": "紫金火箭引擎", + "item.ad_astra.netherite_space_helmet": "§b鎢鋼太空頭盔", + "item.ad_astra.netherite_space_suit": "§b鎢鋼太空服", + "item.ad_astra.netherite_space_pants": "§b鎢鋼太空褲", + "item.ad_astra.netherite_space_boots": "§b鎢鋼太空靴", + "item.ad_astra.cheese": "月球起司", + "dimension.ad_astra.glacio": "歐羅巴", + "dimension.ad_astra.glacio_orbit": "歐羅巴軌道", + "painting.ad_astra.glacio.title": "歐羅巴", + "planet.ad_astra.glacio": "歐羅巴", + "planet.ad_astra.glacio_orbit": "歐羅巴軌道", + "tagprefix.moon_stone": "斜長岩 %s 礦石", + "tagprefix.moon_deepslate": "蘇長岩 %s 礦石", + "tagprefix.mars_stone": "泥岩 %s 礦石", + "tagprefix.venus_stone": "粗面岩 %s 礦石", + "tagprefix.mercury_stone": "科馬提岩 %s 礦石", + "tagprefix.glacio_stone": "響岩 %s 礦石", + "info.ad_astra.solar_panel": "白天利用陽光產生能量。注意:能量產量會依所在星球的環境條件而有所不同。", + "tooltip.ad_astra.energy": "%s FE / %s FE", + "tooltip.ad_astra.energy_generation_per_tick": "每刻產生 %s FE", + "tooltip.ad_astra.energy_in": "輸入:%s FE/t", + "tooltip.ad_astra.energy_out": "輸出:%s FE/t", + "tooltip.ad_astra.energy_per_tick": "%s FE/t", + "tooltip.ad_astra.energy_transfer_tick": "傳輸:%s FE/t", + "tooltip.ad_astra.energy_use_per_tick": "每刻消耗 %s FE", + "tooltip.ad_astra.max_energy_in": "最大輸入:%s FE/t", + "tooltip.ad_astra.max_energy_out": "最大輸出:%s FE/t", + "tooltip.ad_astra.max_generation": "最大產生:%s FE/t", + "tooltip.ad_astra.max_fluid_in": "最大輸入:%s mB/t", + "tooltip.ad_astra.max_fluid_out": "最大輸出:%s mB/t", + "tooltip.ad_astra.fluid": "%s mB / %s mB %s", + "tooltip.ad_astra.fluid_generation_per_iteration": "每次迭代產生 %s mB", + "tooltip.ad_astra.fluid_in": "輸入:%s mB/t", + "tooltip.ad_astra.fluid_out": "輸出:%s mB/t", + "tooltip.ad_astra.fluid_per_tick": "%s mB/t", + "tooltip.ad_astra.fluid_transfer_tick": "傳輸:%s mB/t", + "tooltip.ad_astra.fluid_use_per_iteration": "每次迭代消耗 %s mB" +} \ No newline at end of file diff --git a/kubejs/assets/additionalplacements/lang/zh_tw.json b/kubejs/assets/additionalplacements/lang/zh_tw.json new file mode 100644 index 000000000..c6000c4d4 --- /dev/null +++ b/kubejs/assets/additionalplacements/lang/zh_tw.json @@ -0,0 +1,32 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "tooltip.additionalplacements.vertical_placement": "可垂直放置", + "tooltip.additionalplacements.stair_connections.all_connections": "允許同時進行垂直與水平連接(依放置方向)", + "tooltip.additionalplacements.stair_connections.no_mixed_connections": "僅允許垂直連接(依放置方向)", + "tooltip.additionalplacements.stair_connections.no_vertical_connections": "不允許垂直連接(依放置方向)", + "tooltip.additionalplacements.ceiling_placement": "可放置於天花板", + "msg.additionalplacements.mismatchedtags.0": "[額外放置] 偵測到生成方塊存在缺失及/或多餘的標籤。請使用「", + "msg.additionalplacements.mismatchedtags.1": "」產生標籤,然後使用「", + "msg.additionalplacements.mismatchedtags.2": "」重新載入標籤(若失敗請重新載入世界)。詳細資訊請查看遊戲輸出紀錄,或於設定檔中停用此訊息。", + "msg.additionalplacements.generate.failure.definition": "產生資料包時發生錯誤:無法複製資料包定義", + "msg.additionalplacements.generate.failure.tag": "產生資料包時發生錯誤:無法儲存標籤 %s", + "msg.additionalplacements.generate.failure.initialization": "產生資料包時發生錯誤:無法初始化資料包", + "msg.additionalplacements.generate.success": "標籤匯出完成", + "msg.additionalplacements.generate.notfixed": "自動建立標籤未能解決標籤不一致的問題,需要手動修正。請確保已啟用標籤不一致的記錄功能並檢查遊戲輸出紀錄。此操作需要具備資料包建立以及新增/移除方塊標籤的相關知識。", + "key.categories.additionalplacements": "額外放置", + "key.additionalplacements.placement_toggle": "切換放置邏輯", + "msg.additionalplacements.placement_enable": "已啟用額外放置的放置邏輯", + "msg.additionalplacements.placement_disable": "已停用額外放置的放置邏輯", + "msg.additionalplacements.disconnected": "額外放置設定發生衝突", + "msg.additionalplacements.errors.type": "以下生成類型拒絕了連接:", + "msg.additionalplacements.errors.client": "用戶端拒絕:", + "msg.additionalplacements.errors.server": "伺服器端拒絕:", + "msg.additionalplacements.stairs.data_not_found": "未從用戶端接收到樓梯連接設定資料", + "msg.additionalplacements.stairs.connections_type_not_found": "未知的樓梯連接類型 %s", + "msg.additionalplacements.stairs.mismatched.header": "以下樓梯方塊使用了錯誤的連接類型,必須設定為:", + "additionalplacements.stairs.connections_type.all_connections": "允許所有連接", + "additionalplacements.stairs.connections_type.no_mixed_connections": "不允許混合連接", + "additionalplacements.stairs.connections_type.no_vertical_connections": "不允許垂直連接", + "msg.additionalplacements.stairs.mismatched.footer": "若要連接至此伺服器,請修正 config/additionalplacements-bootup.toml 中的設定項目並重新啟動遊戲。", + "commands.ap_stairs_state_debug.wrong_block": "%s 不是有效的方塊,必須是具有附加狀態的樓梯方塊。" +} \ No newline at end of file diff --git a/kubejs/assets/ae2/lang/zh_tw.json b/kubejs/assets/ae2/lang/zh_tw.json new file mode 100644 index 000000000..3af601962 --- /dev/null +++ b/kubejs/assets/ae2/lang/zh_tw.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": "壓印模板可透過破壞神秘方塊取得,而神秘方塊位於月球隕石的核心。", + "gui.advanced_ae.AdvPatternProvider": "", + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.sky_dust": "隕石粉", + "block.ae2.sky_stone_block": "天然隕石岩", + "block.ae2.sky_stone_stairs": "隕石岩階梯", + "block.ae2.sky_stone_wall": "隕石岩牆", + "block.ae2.sky_stone_slab": "隕石岩半磚", + "block.ae2.smooth_sky_stone_block": "平滑隕石岩", + "block.ae2.smooth_sky_stone_stairs": "平滑隕石岩階梯", + "block.ae2.smooth_sky_stone_wall": "平滑隕石岩牆", + "block.ae2.smooth_sky_stone_slab": "平滑隕石岩半磚", + "block.ae2.sky_stone_brick": "隕石岩磚", + "block.ae2.sky_stone_brick_stairs": "隕石岩磚階梯", + "block.ae2.sky_stone_brick_wall": "隕石岩磚牆", + "block.ae2.sky_stone_brick_slab": "隕石岩磚半磚", + "block.ae2.sky_stone_small_brick": "小型隕石岩磚", + "block.ae2.sky_stone_small_brick_stairs": "小型隕石岩磚階梯", + "block.ae2.sky_stone_small_brick_wall": "小型隕石岩磚牆", + "block.ae2.sky_stone_small_brick_slab": "小型隕石岩磚半磚" +} \ No newline at end of file diff --git a/kubejs/assets/ae2insertexportcard/lang/zh_tw.json b/kubejs/assets/ae2insertexportcard/lang/zh_tw.json new file mode 100644 index 000000000..6ecee4182 --- /dev/null +++ b/kubejs/assets/ae2insertexportcard/lang/zh_tw.json @@ -0,0 +1,8 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.ae2insertexportcard": "AE2 輸入/輸出卡", + "item.ae2insertexportcard.insert_card": "輸入卡", + "item.ae2insertexportcard.export_card": "輸出卡", + "gui.ae2insertexportcard.whitelist": "白名單", + "gui.ae2insertexportcard.blacklist": "黑名單" +} \ No newline at end of file diff --git a/kubejs/assets/ags_modernmarkings/lang/zh_tw.json b/kubejs/assets/ags_modernmarkings/lang/zh_tw.json new file mode 100644 index 000000000..3f5ca45e4 --- /dev/null +++ b/kubejs/assets/ags_modernmarkings/lang/zh_tw.json @@ -0,0 +1,125 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.ags_modernmarkings.chalk": "粉筆", + "block.ags_modernmarkings.floor_marking_nostep": "禁止踩踏地面標示", + "block.ags_modernmarkings.floor_marking_white_arrow": "白色箭頭地面標示", + "block.ags_modernmarkings.floor_marking_white_double_arrow": "白色雙箭頭地面標示", + "block.ags_modernmarkings.floor_marking_white_lane": "白色通道線地面標示", + "block.ags_modernmarkings.floor_marking_white_square": "白色方框地面標示", + "block.ags_modernmarkings.floor_marking_yellow_arrow": "黃色箭頭地面標示", + "block.ags_modernmarkings.floor_marking_yellow_sideline": "黃色邊線地面標示", + "block.ags_modernmarkings.floor_marking_yellow_square": "黃色方框地面標示", + "block.ags_modernmarkings.floor_marking_yellow_stripes": "黃色條紋地面標示", + "block.ags_modernmarkings.floor_marking_black_singleline": "黑色單線地面標示", + "block.ags_modernmarkings.floor_marking_blue_singleline": "藍色單線地面標示", + "block.ags_modernmarkings.floor_marking_green_singleline": "綠色單線地面標示", + "block.ags_modernmarkings.floor_marking_orange_singleline": "橘色單線地面標示", + "block.ags_modernmarkings.floor_marking_white_singleline": "白色單線地面標示", + "block.ags_modernmarkings.floor_marking_yellow_singleline": "黃色單線地面標示", + "block.ags_modernmarkings.floor_marking_red_singleline": "紅色單線地面標示", + "block.ags_modernmarkings.floor_marking_black_corner": "黑色角線地面標示", + "block.ags_modernmarkings.floor_marking_blue_corner": "藍色角線地面標示", + "block.ags_modernmarkings.floor_marking_green_corner": "綠色角線地面標示", + "block.ags_modernmarkings.floor_marking_orange_corner": "橘色角線地面標示", + "block.ags_modernmarkings.floor_marking_white_corner": "白色角線地面標示", + "block.ags_modernmarkings.floor_marking_yellow_corner": "黃色角線地面標示", + "block.ags_modernmarkings.floor_marking_red_corner": "紅色角線地面標示", + "block.ags_modernmarkings.floor_marking_yellow_hazardline": "黃色警戒線地面標示", + "block.ags_modernmarkings.floor_marking_red_hazardline": "紅色警戒線地面標示", + "block.ags_modernmarkings.floor_marking_whiteblack_hazardline": "黑白警戒線地面標示", + "block.ags_modernmarkings.floor_marking_noentry": "禁止進入地面標示", + "block.ags_modernmarkings.floor_marking_redx": "紅色 X 地面標示", + "block.ags_modernmarkings.floor_marking_danger_red": "紅色危險標示", + "block.ags_modernmarkings.floor_marking_danger_yellow": "黃色危險標示", + "block.ags_modernmarkings.floor_marking_white_lane_cross": "白色通道交叉標示", + "block.ags_modernmarkings.floor_marking_yellow_lane": "黃色通道標示", + "block.ags_modernmarkings.floor_marking_exit": "出口標示", + "block.ags_modernmarkings.wall_marking_number_0": "數字 0 牆面標示", + "block.ags_modernmarkings.wall_marking_number_1": "數字 1 牆面標示", + "block.ags_modernmarkings.wall_marking_number_2": "數字 2 牆面標示", + "block.ags_modernmarkings.wall_marking_number_3": "數字 3 牆面標示", + "block.ags_modernmarkings.wall_marking_number_4": "數字 4 牆面標示", + "block.ags_modernmarkings.wall_marking_number_5": "數字 5 牆面標示", + "block.ags_modernmarkings.wall_marking_number_6": "數字 6 牆面標示", + "block.ags_modernmarkings.wall_marking_number_7": "數字 7 牆面標示", + "block.ags_modernmarkings.wall_marking_number_8": "數字 8 牆面標示", + "block.ags_modernmarkings.wall_marking_number_9": "數字 9 牆面標示", + "block.ags_modernmarkings.wall_marking_number_no": "編號牆面標示", + "block.ags_modernmarkings.wall_marking_number_numero": "號碼牆面標示", + "block.ags_modernmarkings.wall_marking_number_dash": "橫線牆面標示", + "block.ags_modernmarkings.wall_marking_number_comma": "逗號牆面標示", + "block.ags_modernmarkings.wall_marking_number_period": "句點牆面標示", + "block.ags_modernmarkings.wall_marking_exclamation_mark": "驚嘆號牆面標示", + "block.ags_modernmarkings.wall_marking_question_mark": "問號牆面標示", + "block.ags_modernmarkings.wall_marking_arrowleft": "左箭頭牆面標示", + "block.ags_modernmarkings.wall_marking_arrowright": "右箭頭牆面標示", + "block.ags_modernmarkings.wall_marking_hazardline_right": "右轉角警戒線牆面標示", + "block.ags_modernmarkings.wall_marking_hazardline_left": "左轉角警戒線牆面標示", + "block.ags_modernmarkings.wall_marking_warning_danger": "危險警告牆面標示", + "block.ags_modernmarkings.wall_marking_exit": "出口牆面標示", + "block.ags_modernmarkings.wall_marking_hazard_diamond": "危險物質菱形牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_production": "生產區牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_radiation": "輻射警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_pinch": "夾傷危險警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_frost": "低溫警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_chemical": "化學品警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_electric": "電氣警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_storage": "倉儲區牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_fire": "火災警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_magic": "魔法警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_gears": "機械區牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_laser": "雷射警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_fluid": "流體警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_mob": "生物警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_production": "黃色生產區牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_radiation": "黃色輻射警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_pinch": "黃色夾傷危險警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_frost": "黃色低溫警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_chemical": "黃色化學品警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_electric": "黃色電氣警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_storage": "黃色倉儲區牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_fire": "黃色火災警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_magic": "黃色魔法警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_gears": "黃色機械區牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_laser": "黃色雷射警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_fluid": "黃色流體警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_yellow_mob": "黃色生物警示牆面標示", + "block.ags_modernmarkings.wall_marking_symbol_jeo": "JEO 節目標誌", + "block.ags_modernmarkings.wall_marking_voltage_steam": "蒸汽等級牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_ulv": "ULV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_lv": "LV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_mv": "MV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_hv": "HV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_ev": "EV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_iv": "IV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_luv": "LuV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_zpm": "ZPM 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_uv": "UV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_uhv": "UHV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_uev": "UEV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_uiv": "UIV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_umv": "UMV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_uxv": "UXV 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_max": "最大電壓牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_pert": "每刻牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_eu": "EU 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_rf": "RF 牆面標示", + "block.ags_modernmarkings.wall_marking_voltage_fe": "FE 牆面標示", + "creativetab.floor_markings": "地面標示", + "creativetab.wall_markings": "牆面標示", + "tooltip.ags_modernmarkings.floormarkingbasic": "地面標示", + "tooltip.ags_modernmarkings.floormarking_redline": "不良品、廢料區、紅色標示區域", + "tooltip.ags_modernmarkings.floormarking_yellowline": "通道、輸送線、作業單元", + "tooltip.ags_modernmarkings.floormarking_orangeline": "待檢物品放置區", + "tooltip.ags_modernmarkings.floormarking_greenline": "生產-成品區", + "tooltip.ags_modernmarkings.floormarking_blueline": "生產-原料區", + "tooltip.ags_modernmarkings.floormarking_whiteline": "其他未分類顏色物品", + "tooltip.ags_modernmarkings.floormarking_blackline": "生產-在製品區", + "tooltip.ags_modernmarkings.floormarking_yellowhazard": "可能存在物理或健康危害", + "tooltip.ags_modernmarkings.floormarking_redhazard": "為確保安全,請保持距離", + "tooltip.ags_modernmarkings.floormarking_whitehazard": "為操作安全,請保持距離", + "tooltip.ags_modernmarkings.wallmarking_basic": "牆面標示", + "tooltip.ags_modernmarkings.wallmarking_power": "電力相關牆面標示", + "tooltip.ags_modernmarkings.wallmarking_jeo": "產品置入!", + "tooltip.ags_modernmarkings.wallmarking_diamond": "NFPA 704 標準,用於標示危險物質的風險等級" +} \ No newline at end of file diff --git a/kubejs/assets/alekiroofs/lang/zh_tw.json b/kubejs/assets/alekiroofs/lang/zh_tw.json new file mode 100644 index 000000000..7412d2724 --- /dev/null +++ b/kubejs/assets/alekiroofs/lang/zh_tw.json @@ -0,0 +1,15 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.alekiroofs.baobab_roofing": "猴麵包木屋頂", + "block.alekiroofs.crimson_roofing": "緋紅菌屋頂", + "block.alekiroofs.cypress_roofing": "柏木屋頂", + "block.alekiroofs.eucalyptus_roofing": "桉木屋頂", + "block.alekiroofs.fig_roofing": "無花果木屋頂", + "block.alekiroofs.hevea_roofing": "三葉膠木屋頂", + "block.alekiroofs.ipe_roofing": "重蟻木屋頂", + "block.alekiroofs.ironwood_roofing": "鐵木屋頂", + "block.alekiroofs.mahogany_roofing": "桃花心木屋頂", + "block.alekiroofs.teak_roofing": "柚木屋頂", + "block.alekiroofs.tualang_roofing": "大乾巴豆木屋頂", + "block.alekiroofs.warped_roofing": "詭異菌屋頂" +} \ No newline at end of file diff --git a/kubejs/assets/alekiships/lang/zh_tw.json b/kubejs/assets/alekiships/lang/zh_tw.json new file mode 100644 index 000000000..5eb83121e --- /dev/null +++ b/kubejs/assets/alekiships/lang/zh_tw.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.", + "alekiships.advancements.armor_stand_on_boat.description": "在船上放置一個沒有生命的同伴", + "alekiships.advancements.armor_stand_on_boat.title": "威爾森!!!!!!!", + "alekiships.advancements.cannon.description": "合成火砲", + "alekiships.advancements.cannon.title": "砲火來襲", + "alekiships.advancements.dye_ship_black.description": "將一艘黑色的船命名為「Black Pearl」(黑珍珠號)", + "alekiships.advancements.dye_ship_black.title": "他是我見過最厲害的海盜", + "alekiships.advancements.full_broadside.description": "舷側齊射", + "alekiships.advancements.full_broadside.title": "怒海爭鋒", + "alekiships.advancements.ride_barrel.description": "乘著木桶漂流", + "alekiships.advancements.ride_barrel.title": "孤海浮沉", + "alekiships.advancements.rowboat_completed.description": "建造划艇", + "alekiships.advancements.rowboat_completed.title": "蒙特雷克運河", + "alekiships.advancements.sloop_completed.description": "建造單桅縱帆船", + "alekiships.advancements.sloop_completed.title": "耶斯勒碼頭", + "alekiships.config.server.windAffectsBoatsWithNoAnchor": "風會影響未下錨的船隻", + "alekiships.failed_multiblock_detection": "未找到有效的船體結構", + "alekiships.jade.compartment_block": "船艙 %s", + "block.alekiships.cleat": "纜樁", + "block.alekiships.oarlock": "槳座", + "block.alekiships.watercraft_frame_angled": "斜面船匠腳手架", + "block.alekiships.watercraft_frame_flat": "平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.acacia": "金合歡木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.bamboo": "竹製斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.birch": "樺木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.cherry": "櫻花木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.crimson": "緋紅木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.dark_oak": "黑橡木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.jungle": "叢林木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.mangrove": "紅樹木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.oak": "橡木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.spruce": "杉木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.angled.warped": "詭異木斜面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.acacia": "金合歡木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.bamboo": "竹製平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.birch": "樺木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.cherry": "櫻花木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.crimson": "緋紅木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.dark_oak": "黑橡木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.jungle": "叢林木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.mangrove": "紅樹木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.oak": "橡木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.spruce": "杉木平面船匠腳手架", + "block.alekiships.wood.watercraft_frame.flat.warped": "詭異木平面船匠腳手架", + "config.jade.plugin_alekiships.block": "船艙方塊", + "config.jade.plugin_alekiships.brewing_stand": "船艙釀造台", + "config.jade.plugin_alekiships.furnace": "船艙熔爐", + "config.jade.plugin_alekiships.jukebox": "船艙唱片機", + "config.jade.plugin_alekiships.note_block": "船艙音符盒", + "creativetab.alekiships_tab": "AlekI 的精巧船隻", + "eject_passengers": "撤出乘員", + "entity.alekiships.cannon": "火砲", + "entity.alekiships.cannonball": "砲彈", + "entity.alekiships.compartment_barrel": "船艙木桶", + "entity.alekiships.compartment_blast_furnace": "船艙高爐", + "entity.alekiships.compartment_block": "船艙方塊", + "entity.alekiships.compartment_brewing_stand": "船艙釀造台", + "entity.alekiships.compartment_cartography_table": "船艙製圖台", + "entity.alekiships.compartment_chest": "船艙箱子", + "entity.alekiships.compartment_crafting_table": "船艙工作台", + "entity.alekiships.compartment_empty": "船艙空位", + "entity.alekiships.compartment_ender_chest": "船艙終界箱", + "entity.alekiships.compartment_furnace": "船艙熔爐", + "entity.alekiships.compartment_grindstone": "船艙砂輪", + "entity.alekiships.compartment_jukebox": "船艙唱片機", + "entity.alekiships.compartment_loom": "船艙紡織機", + "entity.alekiships.compartment_note_block": "船艙音符盒", + "entity.alekiships.compartment_shulker_box": "船艙界伏盒", + "entity.alekiships.compartment_smithing_table": "船艙鍛造台", + "entity.alekiships.compartment_smoker": "船艙煙燻爐", + "entity.alekiships.compartment_stonecutter": "船艙切石機", + "entity.alekiships.rowboat.acacia": "金合歡木划艇", + "entity.alekiships.rowboat.bamboo": "竹製划艇", + "entity.alekiships.rowboat.birch": "樺木划艇", + "entity.alekiships.rowboat.cherry": "櫻花木划艇", + "entity.alekiships.rowboat.crimson": "緋紅木划艇", + "entity.alekiships.rowboat.dark_oak": "黑橡木划艇", + "entity.alekiships.rowboat.jungle": "叢林木划艇", + "entity.alekiships.rowboat.mangrove": "紅樹木划艇", + "entity.alekiships.rowboat.oak": "橡木划艇", + "entity.alekiships.rowboat.spruce": "杉木划艇", + "entity.alekiships.rowboat.warped": "詭異木划艇", + "entity.alekiships.sloop.acacia": "金合歡木單桅縱帆船", + "entity.alekiships.sloop.bamboo": "竹製單桅縱帆船", + "entity.alekiships.sloop.birch": "樺木單桅縱帆船", + "entity.alekiships.sloop.cherry": "櫻花木單桅縱帆船", + "entity.alekiships.sloop.crimson": "緋紅木單桅縱帆船", + "entity.alekiships.sloop.dark_oak": "黑橡木單桅縱帆船", + "entity.alekiships.sloop.jungle": "叢林木單桅縱帆船", + "entity.alekiships.sloop.mangrove": "紅樹木單桅縱帆船", + "entity.alekiships.sloop.oak": "橡木單桅縱帆船", + "entity.alekiships.sloop.spruce": "杉木單桅縱帆船", + "entity.alekiships.sloop.warped": "詭異木單桅縱帆船", + "entity.alekiships.sloop_construction.acacia": "金合歡木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.bamboo": "竹製單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.birch": "樺木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.cherry": "櫻花木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.crimson": "緋紅木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.dark_oak": "黑橡木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.jungle": "叢林木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.mangrove": "紅樹木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.oak": "橡木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.spruce": "杉木單桅縱帆船(施工中)", + "entity.alekiships.sloop_construction.warped": "詭異木單桅縱帆船(施工中)", + "entity.alekiships.vehicle_anchor": "船錨", + "entity.alekiships.vehicle_cleat": "纜樁", + "entity.alekiships.vehicle_collider": "載具", + "entity.alekiships.vehicle_construction": "建造單位", + "entity.alekiships.vehicle_mast": "桅杆", + "entity.alekiships.vehicle_part": "船體零件", + "entity.alekiships.vehicle_switch_sail": "船帆", + "entity.alekiships.vehicle_switch_windlass": "絞盤", + "item.alekiships.anchor": "船錨", + "item.alekiships.cannon": "火砲", + "item.alekiships.cannonball": "砲彈", + "item.alekiships.music_disc_pirate_crafting": "音樂唱片", + "item.alekiships.music_disc_pirate_crafting.desc": "Captain Thrack - Pirate Crafting", + "item.alekiships.oar": "船槳", + "item.alekiships.rowboat_icon_only": "划艇(僅圖示)", + "item.alekiships.sloop_icon_only": "單桅縱帆船(僅圖示)", + "press_button": "按下" +} \ No newline at end of file diff --git a/kubejs/assets/beneath/lang/zh_tw.json b/kubejs/assets/beneath/lang/zh_tw.json new file mode 100644 index 000000000..a4d56295c --- /dev/null +++ b/kubejs/assets/beneath/lang/zh_tw.json @@ -0,0 +1,272 @@ +{ + "__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": "鬆散輝石岩", + "block.beneath.blackstone_aqueduct": "輝石岩引水橋", + "block.beneath.loose_blackstone": "鬆散輝石岩", + "block.beneath.ore.nether_cursecoal": "混合岩無煙煤礦石", + "block.beneath.ore.nether_cursecoal.prospected": "無煙煤", + "block.beneath.cursecoal_pile": "無煙煤堆", + "block.beneath.ore.blackstone_sylvite": "輝石岩鉀石鹽礦石", + "block.beneath.crackrack": "天然角斑岩", + "block.beneath.soul_clay": "泥濘黏土", + "block.beneath.wood.log.crimson": "緋紅菌柄", + "block.beneath.wood.stripped_log.crimson": "去皮緋紅菌柄", + "block.beneath.wood.wood.crimson": "緋紅菌核", + "block.beneath.wood.stripped_wood.crimson": "去皮緋紅菌核", + "block.beneath.wood.fallen_leaves.crimson": "緋紅瓣葉落葉", + "block.beneath.wood.leaves.crimson": "緋紅瓣葉", + "block.beneath.wood.log.warped": "詭異菌柄", + "block.beneath.wood.stripped_log.warped": "去皮詭異菌柄", + "block.beneath.wood.wood.warped": "詭異菌核", + "block.beneath.wood.stripped_wood.warped": "去皮詭異菌核", + "block.beneath.wood.fallen_leaves.warped": "詭異瓣葉落葉", + "block.beneath.wood.leaves.warped": "詭異瓣葉", + "block.beneath.ancient_altar": "輝石岩基座", + "item.beneath.wood.lumber.crimson": "緋紅木材", + "item.beneath.wood.sign.crimson": "緋紅木告示牌", + "item.beneath.wood.boat.crimson": "緋紅木船", + "block.beneath.wood.twig.crimson": "緋紅樹枝", + "item.beneath.wood.chest_minecart.crimson": "緋紅木運輸礦車", + "block.beneath.wood.potted_sapling.crimson": "緋紅樹苗盆栽", + "block.beneath.wood.planks.crimson": "緋紅木木板", + "block.beneath.wood.planks.crimson_tool_rack": "緋紅木工具架", + "block.beneath.wood.planks.crimson_loom": "緋紅木織布機", + "block.beneath.wood.planks.crimson_bookshelf": "緋紅木書架", + "block.beneath.wood.planks.crimson_workbench": "緋紅木工作台", + "block.beneath.wood.vertical_support.crimson": "緋紅木支撐梁", + "block.beneath.wood.horizontal_support.crimson": "緋紅木支撐梁", + "item.beneath.wood.support.crimson": "緋紅木支撐梁", + "block.beneath.wood.chest.crimson": "緋紅木箱子", + "block.beneath.wood.trapped_chest.crimson": "緋紅木陷阱箱", + "block.beneath.wood.sluice.crimson": "緋紅木洗礦槽", + "block.beneath.wood.planks.crimson_sign": "緋紅木告示牌", + "block.beneath.wood.planks.crimson_wall_sign": "緋紅木牆面告示牌", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.crimson": "鉍青銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.crimson": "牆面鉍青銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.black_bronze.crimson": "黑青銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.crimson": "牆面黑青銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.bronze.crimson": "青銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bronze.crimson": "牆面青銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.copper.crimson": "銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.copper.crimson": "牆面銅緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.wrought_iron.crimson": "鍛鐵緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.crimson": "牆面鍛鐵緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.steel.crimson": "鋼緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.steel.crimson": "牆面鋼緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.black_steel.crimson": "黑鋼緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.crimson": "牆面黑鋼緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.blue_steel.crimson": "藍鋼緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.crimson": "牆面藍鋼緋紅木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.red_steel.crimson": "紅鋼緋紅木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.crimson": "牆面紅鋼緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.bismuth_bronze.crimson": "鉍青銅緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.black_bronze.crimson": "黑青銅緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.bronze.crimson": "青銅緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.copper.crimson": "銅緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.wrought_iron.crimson": "鍛鐵緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.steel.crimson": "鋼緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.black_steel.crimson": "黑鋼緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.blue_steel.crimson": "藍鋼緋紅木懸掛式告示牌", + "item.beneath.wood.hanging_sign.red_steel.crimson": "紅鋼緋紅木懸掛式告示牌", + "block.beneath.wood.barrel.crimson": "緋紅木大桶", + "block.beneath.wood.lectern.crimson": "緋紅木講台", + "block.beneath.wood.scribing_table.crimson": "緋紅木書寫桌", + "block.beneath.wood.sewing_table.crimson": "緋紅木縫紉桌", + "block.beneath.wood.jar_shelf.crimson": "緋紅木置物櫃", + "block.beneath.wood.axle.crimson": "緋紅木傳動軸", + "block.beneath.wood.bladed_axle.crimson": "緋紅木葉片傳動軸", + "block.beneath.wood.encased_axle.crimson": "緋紅木封裝傳動軸", + "block.beneath.wood.clutch.crimson": "緋紅木離合器", + "block.beneath.wood.gear_box.crimson": "緋紅木齒輪箱", + "block.beneath.wood.windmill.crimson": "緋紅木風車", + "block.beneath.wood.water_wheel.crimson": "緋紅木水車", + "block.beneath.wood.planks.crimson_door": "緋紅木門", + "block.beneath.wood.planks.crimson_trapdoor": "緋紅木地板門", + "block.beneath.wood.planks.crimson_fence": "緋紅木柵欄", + "block.beneath.wood.planks.crimson_log_fence": "緋紅木原木柵欄", + "block.beneath.wood.planks.crimson_fence_gate": "緋紅木柵欄門", + "block.beneath.wood.planks.crimson_button": "緋紅木按鈕", + "block.beneath.wood.planks.crimson_pressure_plate": "緋紅木壓力板", + "block.beneath.wood.planks.crimson_slab": "緋紅木半磚", + "block.beneath.wood.planks.crimson_stairs": "緋紅木階梯", + "block.beneath.wood.sapling.crimson": "緋紅樹苗", + "item.beneath.wood.lumber.warped": "詭異木材", + "item.beneath.wood.sign.warped": "詭異木告示牌", + "item.beneath.wood.boat.warped": "詭異木船", + "block.beneath.wood.twig.warped": "詭異樹枝", + "item.beneath.wood.chest_minecart.warped": "詭異木運輸礦車", + "block.beneath.wood.potted_sapling.warped": "詭異樹苗盆栽", + "block.beneath.wood.planks.warped": "詭異木木板", + "block.beneath.wood.planks.warped_tool_rack": "詭異木工具架", + "block.beneath.wood.planks.warped_loom": "詭異木織布機", + "block.beneath.wood.planks.warped_bookshelf": "詭異木書架", + "block.beneath.wood.planks.warped_workbench": "詭異木工作台", + "block.beneath.wood.vertical_support.warped": "詭異木支撐梁", + "block.beneath.wood.horizontal_support.warped": "詭異木支撐梁", + "item.beneath.wood.support.warped": "詭異木支撐梁", + "block.beneath.wood.chest.warped": "詭異木箱子", + "block.beneath.wood.trapped_chest.warped": "詭異木陷阱箱", + "block.beneath.wood.sluice.warped": "詭異木洗礦槽", + "block.beneath.wood.planks.warped_sign": "詭異木告示牌", + "block.beneath.wood.planks.warped_wall_sign": "詭異木牆面告示牌", + "beneath.creative_tab.beneath": "幽冥之地物品", + "entity.beneath.leviathan_fireball": "烈焰海怪火球", + "entity.beneath.blaze_leviathan": "烈焰海怪", + "entity.beneath.red_elk": "紅麋鹿", + "beneath.nutrient.decay": "腐化:§e%s%%", + "beneath.nutrient.death": "死亡:§7%s%%", + "beneath.nutrient.destruction": "毀滅:§6%s%%", + "beneath.nutrient.flame": "烈焰:§c%s%%", + "beneath.nutrient.sorrow": "悲傷:§9%s%%", + "beneath.block_entity.hellforge": "地獄熔爐", + "beneath.screen.juicer": "榨汁器", + "beneath.screen.juicer.mushrooms": "給我一些蘑菇吧!", + "beneath.screen.lost_page": "失落書頁", + "beneath.screen.lost_page.cost": "代價", + "beneath.screen.lost_page.reward": "獎勵", + "beneath.screen.lost_page.punishment": "懲罰", + "beneath.lost_page.cobble": "任何圓石", + "beneath.punishment": "你受到了……%s 的懲罰", + "beneath.enum.punishment.none": "沒有任何懲罰!", + "beneath.enum.punishment.levitation": "漂浮!", + "beneath.enum.punishment.drunkenness": "整天醉醺醺!", + "beneath.enum.punishment.blaze_inferno": "烈焰使者煉獄!", + "beneath.enum.punishment.infestation": "蠹蟲侵擾!", + "beneath.enum.punishment.withering": "凋零!", + "beneath.enum.punishment.slime": "史萊姆!", + "beneath.enum.punishment.unknown": "§k未知", + "beneath.sacrifice.error": "獻祭失敗:找不到所需材料。", + "item.beneath.juicer.filled": "榨汁器(%s)", + "death.attack.beneath.sulfur": "%1$s 使用鐵製工具開採硫磺時把自己炸飛了。", + "death.attack.beneath.sulfur.player": "%1$s 在試圖逃離 %2$s 時,使用鐵製工具開採硫磺把自己炸飛了。", + "entity.beneath.boat.crimson": "緋紅木船", + "entity.beneath.boat.warped": "詭異木船", + "entity.beneath.chest_boat.crimson": "緋紅木運輸船", + "entity.beneath.chest_boat.warped": "詭異木運輸船", + "item.beneath.gold_chunk": "金塊", + "item.beneath.pure_death": "純淨死亡", + "item.beneath.pure_decay": "純淨腐化", + "item.beneath.pure_destruction": "純淨毀滅", + "item.beneath.pure_sorrow": "純淨悲傷", + "item.beneath.pure_flame": "純淨烈焰", + "item.beneath.agonizing_fertilizer": "痛苦肥料", + "item.beneath.crimson_straw": "緋紅乾草", + "item.beneath.warped_straw": "詭異乾草", + "item.beneath.ghost_pepper": "幽靈椒", + "item.beneath.juicer": "榨汁器", + "item.beneath.raw_slime": "生史萊姆", + "item.beneath.lost_page": "失落書頁", + "item.beneath.spawn_egg.red_elk": "紅麋鹿生怪蛋", + "block.beneath.ore.poor_nether_gold": "貧瘠下界金礦石", + "block.beneath.ore.poor_nether_gold.prospected": "下界金", + "block.beneath.ore.normal_nether_gold": "普通下界金礦石", + "block.beneath.ore.normal_nether_gold.prospected": "下界金", + "block.beneath.ore.rich_nether_gold": "富集下界金礦石", + "block.beneath.ore.rich_nether_gold.prospected": "下界金", + "block.beneath.ore.nether_pyrite": "下界黃鐵礦礦石", + "block.beneath.ore.nether_pyrite.prospected": "下界黃鐵礦", + "block.beneath.ore.blackstone_sylvite.prospected": "黑石鉀石鹽", + "block.beneath.ore.slimed_netherrack": "史萊姆下界岩礦石", + "block.beneath.ore.slimed_netherrack.prospected": "史萊姆下界岩", + "block.minecraft.nether_quartz_ore.prospected": "下界石英", + "block.beneath.haunted_spike": "幽魂尖刺", + "block.beneath.glowstone_spike": "螢石尖刺", + "block.beneath.nether_pebble": "下界岩卵石", + "block.beneath.sulfur": "硫磺", + "block.beneath.crop.crimson_roots": "緋紅菌索", + "item.beneath.seeds.crimson_roots": "緋紅菌索種子", + "block.beneath.crop.ghost_pepper": "幽靈椒", + "item.beneath.seeds.ghost_pepper": "幽靈椒種子", + "block.beneath.crop.gleamflower": "瑩光花", + "item.beneath.seeds.gleamflower": "瑩光花種子", + "block.beneath.crop.nether_wart": "下界疙瘩", + "item.beneath.seeds.nether_wart": "下界疙瘩種子", + "block.beneath.crop.warped_roots": "詭異菌索", + "item.beneath.seeds.warped_roots": "詭異菌索種子", + "block.beneath.gleamflower": "瑩光花", + "block.beneath.burpflower": "打嗝花", + "block.beneath.unposter": "蘑菇培育桶", + "block.beneath.hellforge": "地獄熔爐", + "block.beneath.hellforge_side": "地獄熔爐", + "block.beneath.soul_farmland": "靈魂耕地", + "block.beneath.mushroom.button": "鈕扣菇", + "item.beneath.food.button": "鈕扣菇", + "block.beneath.mushroom.chantrelle": "雞油菌", + "item.beneath.food.chantrelle": "雞油菌", + "block.beneath.mushroom.death_cap": "毒鵝膏", + "item.beneath.food.death_cap": "毒鵝膏", + "block.beneath.mushroom.destroying_angels": "毀滅天使菇", + "item.beneath.food.destroying_angels": "毀滅天使菇", + "block.beneath.mushroom.fools_funnel": "愚者漏斗菇", + "item.beneath.food.fools_funnel": "愚者漏斗菇", + "block.beneath.mushroom.oyster": "牡蠣菇", + "item.beneath.food.oyster": "牡蠣菇", + "block.beneath.mushroom.parasol": "傘菇", + "item.beneath.food.parasol": "傘菇", + "block.beneath.mushroom.portobello": "雙孢蘑菇", + "item.beneath.food.portobello": "雙孢蘑菇", + "block.beneath.mushroom.shittake": "香菇", + "item.beneath.food.shittake": "香菇", + "block.beneath.mushroom.sulfur_tuft": "硫磺簇菇", + "item.beneath.food.sulfur_tuft": "硫磺簇菇", + "block.beneath.cobblerack": "卵石岩", + "block.beneath.fungal_cobblerack": "菌絲卵石岩", + "block.beneath.warped_thatch": "詭異乾草塊", + "block.beneath.crimson_thatch": "緋紅乾草塊", + "block.beneath.hellbricks": "地獄磚", + "tfc.recipe.barrel.tfc.barrel.mortar": "砂漿", + "block.beneath.wood.planks.hanging_sign.bismuth_bronze.warped": "鉍青銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bismuth_bronze.warped": "牆面鉍青銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.black_bronze.warped": "黑青銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_bronze.warped": "牆面黑青銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.bronze.warped": "青銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.bronze.warped": "牆面青銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.copper.warped": "銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.copper.warped": "牆面銅詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.wrought_iron.warped": "鍛鐵詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.wrought_iron.warped": "牆面鍛鐵詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.steel.warped": "鋼詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.steel.warped": "牆面鋼詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.black_steel.warped": "黑鋼詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.black_steel.warped": "牆面黑鋼詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.blue_steel.warped": "藍鋼詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.blue_steel.warped": "牆面藍鋼詭異木懸掛式告示牌", + "block.beneath.wood.planks.hanging_sign.red_steel.warped": "紅鋼詭異木懸掛式告示牌", + "block.beneath.wood.planks.wall_hanging_sign.red_steel.warped": "牆面紅鋼詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.bismuth_bronze.warped": "鉍青銅詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.black_bronze.warped": "黑青銅詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.bronze.warped": "青銅詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.copper.warped": "銅詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.wrought_iron.warped": "鍛鐵詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.steel.warped": "鋼詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.black_steel.warped": "黑鋼詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.blue_steel.warped": "藍鋼詭異木懸掛式告示牌", + "item.beneath.wood.hanging_sign.red_steel.warped": "紅鋼詭異木懸掛式告示牌", + "block.beneath.wood.barrel.warped": "詭異木大桶", + "block.beneath.wood.lectern.warped": "詭異木講台", + "block.beneath.wood.scribing_table.warped": "詭異木書寫桌", + "block.beneath.wood.sewing_table.warped": "詭異木縫紉桌", + "block.beneath.wood.jar_shelf.warped": "詭異木置物櫃", + "block.beneath.wood.axle.warped": "詭異木傳動軸", + "block.beneath.wood.bladed_axle.warped": "詭異木葉片傳動軸", + "block.beneath.wood.encased_axle.warped": "詭異木封裝傳動軸", + "block.beneath.wood.clutch.warped": "詭異木離合器", + "block.beneath.wood.gear_box.warped": "詭異木齒輪箱", + "block.beneath.wood.windmill.warped": "詭異木風車", + "block.beneath.wood.water_wheel.warped": "詭異木水車", + "block.beneath.wood.planks.warped_door": "詭異木門", + "block.beneath.wood.planks.warped_trapdoor": "詭異木地板門", + "block.beneath.wood.planks.warped_fence": "詭異木柵欄", + "block.beneath.wood.planks.warped_log_fence": "詭異木原木柵欄", + "block.beneath.wood.planks.warped_fence_gate": "詭異木柵欄門", + "block.beneath.wood.planks.warped_button": "詭異木按鈕", + "block.beneath.wood.planks.warped_pressure_plate": "詭異木壓力板", + "block.beneath.wood.planks.warped_slab": "詭異木半磚", + "block.beneath.wood.planks.warped_stairs": "詭異木階梯", + "block.beneath.wood.sapling.warped": "詭異樹苗", + "item.beneath.cursed_hide": "耐火皮革", + "item.beneath.blackstone_brick": "輝石岩磚", + "item.beneath.cursecoal": "無煙煤", + "item.beneath.crackrack_rock": "角斑岩", + "item.beneath.loose_blackstone": "鬆散輝石岩" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json index 41142b02d..fcb9d958b 100644 --- a/kubejs/assets/betterend/lang/en_us.json +++ b/kubejs/assets/betterend/lang/en_us.json @@ -55,7 +55,8 @@ "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", "block.betterend.hydrothermal_vent": "Thermal Vent", - "block.betterend.hydralux": "Hydralux", + "block.betterend.hydralux_small": "Hydralux", + "block.betterend.hydralux_large": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", diff --git a/kubejs/assets/betterend/lang/ja_jp.json b/kubejs/assets/betterend/lang/ja_jp.json index 37ae88053..e72e61194 100644 --- a/kubejs/assets/betterend/lang/ja_jp.json +++ b/kubejs/assets/betterend/lang/ja_jp.json @@ -48,7 +48,8 @@ "block.betterend.fracturn": "Fracturn", "block.betterend.glacian_hymenophore": "Glacian Hymenophore", "block.betterend.globulagus": "Globulagus", - "block.betterend.hydralux": "Hydralux", + "block.betterend.hydralux_small": "Hydralux", + "block.betterend.hydralux_large": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", "block.betterend.lacugrove": "Lacugrove Algae", diff --git a/kubejs/assets/betterend/lang/ru_ru.json b/kubejs/assets/betterend/lang/ru_ru.json index ca2bf627b..144183629 100644 --- a/kubejs/assets/betterend/lang/ru_ru.json +++ b/kubejs/assets/betterend/lang/ru_ru.json @@ -48,7 +48,8 @@ "block.betterend.fracturn": "Фрактюрн", "block.betterend.glacian_hymenophore": "Гласиевый гименофор", "block.betterend.globulagus": "Глобулагус", - "block.betterend.hydralux": "Гидралюкс", + "block.betterend.hydralux_small": "Гидралюкс", + "block.betterend.hydralux_large": "Гидралюкс", "block.betterend.hydralux_sapling": "Отросток гидралюкса", "block.betterend.inflexia": "Инфлексия", "block.betterend.lacugrove": "Водоросли озёрного мангра", diff --git a/kubejs/assets/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json index bdbe1abd9..40768fd35 100644 --- a/kubejs/assets/betterend/lang/uk_ua.json +++ b/kubejs/assets/betterend/lang/uk_ua.json @@ -55,7 +55,8 @@ "block.betterend.glacian_hymenophore": "Гіменофор Ґлаціана", "block.betterend.globulagus": "Глобулагус", "block.betterend.hydrothermal_vent": "Термальний жерло", - "block.betterend.hydralux": "Гідралюкс", + "block.betterend.hydralux_large": "Гідралюкс", + "block.betterend.hydralux_small": "Гідралюкс", "block.betterend.hydralux_sapling": "Паросток Гідралюкса", "block.betterend.inflexia": "Інфлексія", "block.betterend.lacugrove": "Водорості Лакугроув", diff --git a/kubejs/assets/betterend/lang/zh_cn.json b/kubejs/assets/betterend/lang/zh_cn.json index bb9244343..156ab295a 100644 --- a/kubejs/assets/betterend/lang/zh_cn.json +++ b/kubejs/assets/betterend/lang/zh_cn.json @@ -55,7 +55,8 @@ "block.betterend.glacian_hymenophore": "霜原菌褶", "block.betterend.globulagus": "球囊藻", "block.betterend.hydrothermal_vent": "热泉喷口", - "block.betterend.hydralux": "水光莲", + "block.betterend.hydralux_small": "水光莲", + "block.betterend.hydralux_large": "水光莲", "block.betterend.hydralux_sapling": "水光莲苗", "block.betterend.inflexia": "曲枝草", "block.betterend.lacugrove": "泊林木海藻", diff --git a/kubejs/assets/betterend/lang/zh_tw.json b/kubejs/assets/betterend/lang/zh_tw.json new file mode 100644 index 000000000..e37a790a2 --- /dev/null +++ b/kubejs/assets/betterend/lang/zh_tw.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": "空界草", + "block.betterend.amaranita_stem": "紫荊菌柄", + "block.betterend.amber_grass": "琥珀草", + "block.betterend.amber_root_wild": "野生琥珀根", + "block.betterend.amber_root_dead": "枯萎的琥珀根", + "block.betterend.amber_root": "琥珀根", + "block.betterend.aurant_polypore": "金橙孔菌", + "block.betterend.blooming_cooksonia": "盛放的庫克遜蕨", + "block.betterend.blossom_berry": "百花果", + "block.betterend.blossom_berry_wild": "野生百花果", + "block.betterend.blossom_berry_dead": "枯萎的百花果", + "block.betterend.bolux_mushroom": "波魯克斯菌叢", + "block.betterend.bolux_mushroom_wild": "野生波魯克斯菌叢", + "block.betterend.bolux_mushroom_dead": "枯萎的波魯克斯菌叢", + "block.betterend.brimstone": "硫磺石", + "block.betterend.bushy_grass": "新星草", + "block.betterend.bulb_moss": "球莖苔", + "block.betterend.cave_bush": "朱紅瓣葉", + "block.betterend.cave_bush_fallen": "小型朱紅瓣葉", + "block.betterend.cave_grass": "朱砂蘚", + "block.betterend.cave_pumpkin": "球莖南瓜", + "block.betterend.cave_pumpkin_wild": "野生球莖藤", + "block.betterend.cave_pumpkin_dead": "枯萎的球莖藤", + "block.betterend.cave_pumpkin_plant": "球莖藤", + "block.betterend.charnia_cyan": "青碧查尼藻", + "block.betterend.charnia_green": "翠綠查尼藻", + "block.betterend.charnia_light_blue": "水藍查尼藻", + "block.betterend.charnia_orange": "橙黃查尼藻", + "block.betterend.charnia_purple": "紫晶查尼藻", + "block.betterend.charnia_red": "赤焰查尼藻", + "block.betterend.chorus_grass": "終界頌草", + "block.betterend.chorus_lily": "終界頌百合", + "block.betterend.chorus_mushroom": "查爾米菌叢", + "block.betterend.chorus_mushroom_wild": "野生查爾米菌叢", + "block.betterend.chorus_mushroom_dead": "枯萎的查爾米菌叢", + "block.betterend.clawfern": "獸爪蕨", + "block.betterend.crystal_grass": "晶光草", + "block.betterend.end_lily": "戴摩斯花", + "block.betterend.end_lily_seed": "戴摩斯花苗", + "block.betterend.end_lotus_flower": "福柏斯蓮", + "block.betterend.end_lotus_leaf": "福柏斯蓮葉", + "block.betterend.end_lotus_stem": "福柏斯蓮莖", + "block.betterend.end_lotus_seed": "福柏斯蓮苗", + "block.betterend.filalux_wings": "絲光翅葉", + "block.betterend.flamaea": "焰心菇", + "block.betterend.flammalix": "焰頂菇", + "block.betterend.flavolite": "天然白榴石岩", + "block.betterend.flavolite_bricks": "白榴石岩磚", + "block.betterend.flavolite_pillar": "白榴石岩柱", + "block.betterend.flavolite_polished": "拋光白榴石岩", + "block.betterend.flavolite_tiles": "白榴石岩瓦", + "block.betterend.fracturn": "碎晶蕨", + "block.betterend.glacian_hymenophore": "霜原菌褶", + "block.betterend.globulagus": "球囊藻", + "block.betterend.hydrothermal_vent": "熱泉噴口", + "block.betterend.hydralux": "水光蓮", + "block.betterend.hydralux_sapling": "水光蓮苗", + "block.betterend.inflexia": "曲枝草", + "block.betterend.lacugrove": "泊林木藻叢", + "block.betterend.lacugrove_bark": "天然埃達克岩", + "block.betterend.lamellarium": "疊層藻", + "block.betterend.lanceleaf": "矛葉草", + "block.betterend.lanceleaf_small": "矛葉刃", + "block.betterend.large_amaranita_mushroom": "大型紫荊菇", + "block.betterend.lucernia_leaves": "露瑟尼亞瓣葉", + "block.betterend.lucernia_leaves_fallen": "小型露瑟尼亞瓣葉", + "block.betterend.lucernia_outer_leaves": "露瑟尼亞菌核", + "block.betterend.lucernia_bark": "殘酷尖刺", + "block.betterend.lutebus": "琉特草", + "block.betterend.magnula": "磁光草", + "block.betterend.nightshade_moss": "夜影苔", + "block.betterend.orango": "橙光菇", + "block.betterend.pond_anemone": "水葵", + "block.betterend.purple_polypore": "紫孔菌", + "block.betterend.rubinea": "紅玉草", + "block.betterend.ruscus": "假葉草", + "block.betterend.salteago": "鹽晶草", + "block.betterend.sandy_jadestone": "天然煌斑岩", + "block.betterend.sandy_jadestone_bricks": "煌斑岩磚", + "block.betterend.sandy_jadestone_pillar": "煌斑岩柱", + "block.betterend.sandy_jadestone_polished": "拋光煌斑岩", + "block.betterend.sandy_jadestone_tiles": "煌斑岩瓦", + "block.betterend.selagine": "卷柏", + "block.betterend.shadow_berry": "夜影漿果", + "block.betterend.shadow_berry_wild": "野生夜影漿果", + "block.betterend.shadow_berry_dead": "枯萎的夜影漿果", + "block.betterend.small_amaranita_mushroom": "赤星青莖菇", + "block.betterend.sulphur_crystal": "硫磺晶體", + "block.betterend.sulphuric_rock": "天然熔灰岩", + "block.betterend.sulphuric_rock_bricks": "熔灰岩磚", + "block.betterend.sulphuric_rock_pillar": "熔灰岩柱", + "block.betterend.sulphuric_rock_polished": "拋光熔灰岩", + "block.betterend.sulphuric_rock_tiles": "熔灰岩瓦", + "block.betterend.tube_worm": "管蟲", + "block.betterend.twisted_moss": "纏結苔", + "block.betterend.twisted_umbrella_moss": "纏結傘苔", + "block.betterend.twisted_umbrella_moss_tall": "高纏結傘苔", + "block.betterend.twisted_vine": "纏結藤", + "block.betterend.umbrella_moss": "傘苔", + "block.betterend.umbrella_moss_tall": "高傘苔", + "block.betterend.vaiolush_fern": "幽藍蕨", + "item.betterend.amber_root_product": "琥珀新芽", + "item.betterend.amber_root_seeds": "琥珀新芽種子", + "item.betterend.blossom_berry_product": "百花果", + "item.betterend.blossom_berry_seeds": "百花果種子", + "item.betterend.bolux_mushroom_cooked": "熟波魯克斯菌", + "item.betterend.bolux_mushroom_product": "波魯克斯菌", + "item.betterend.bolux_mushroom_seeds": "波魯克斯菌孢子", + "item.betterend.cave_pumpkin_chunks": "球莖南瓜塊", + "item.betterend.cave_pumpkin_product": "球莖南瓜", + "item.betterend.cave_pumpkin_plant_seeds": "球莖南瓜種子", + "item.betterend.cave_pumpkin_pie_dough": "球莖南瓜派麵團", + "item.betterend.cave_pumpkin_pie_raw": "生球莖南瓜派", + "item.betterend.cave_pumpkin_pie": "球莖南瓜派", + "item.betterend.chorus_mushroom_cooked": "熟查爾米菌", + "item.betterend.chorus_mushroom_product": "查爾米菌", + "item.betterend.chorus_mushroom_seeds": "查爾米菌孢子", + "item.betterend.shadow_berry_cooked": "熟夜影漿果", + "item.betterend.shadow_berry_product": "夜影漿果", + "item.betterend.shadow_berry_seeds": "夜影漿果種子" +} \ No newline at end of file diff --git a/kubejs/assets/constructionwand/lang/zh_tw.json b/kubejs/assets/constructionwand/lang/zh_tw.json new file mode 100644 index 000000000..a29301193 --- /dev/null +++ b/kubejs/assets/constructionwand/lang/zh_tw.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.", + "item.constructionwand.stone_wand": "銅質建築杖", + "item.constructionwand.iron_wand": "鍛鐵建築杖", + "item.constructionwand.diamond_wand": "藍鋼建築杖", + "item.constructionwand.infinity_wand": "鈦合金智慧建築杖" +} \ No newline at end of file diff --git a/kubejs/assets/create/lang/zh_tw.json b/kubejs/assets/create/lang/zh_tw.json new file mode 100644 index 000000000..9f7f2d25c --- /dev/null +++ b/kubejs/assets/create/lang/zh_tw.json @@ -0,0 +1,110 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.create.netherite_backtank": "藍鋼背罐", + "block.create.shadow_casing": "黑鋼機殼", + "block.create.refined_radiance_casing": "精煉光輝機殼", + "block.create.industrial_iron_block": "工業鋼方塊", + "block.create.weathered_iron_block": "風化鋼方塊", + "block.create.industrial_iron_window": "工業鋼窗", + "block.create.weathered_iron_window": "風化工業鋼窗", + "block.create.industrial_iron_window_pane": "工業鋼窗板", + "block.create.weathered_iron_window_pane": "風化工業鋼窗板", + "block.create.dark_oak_window": "黑橡木窗", + "block.create.dark_oak_window_pane": "黑橡木窗板", + "block.create.cherry_window": "櫻花木窗", + "block.create.cherry_window_pane": "櫻花木窗板", + "block.create.spruce_window": "杉木窗", + "block.create.spruce_window_pane": "杉木窗板", + "block.create.jungle_window": "叢林木窗", + "block.create.jungle_window_pane": "叢林木窗板", + "block.create.birch_window": "樺木窗", + "block.create.birch_window_pane": "樺木窗板", + "block.create.acacia_window": "金合歡木窗", + "block.create.acacia_window_pane": "金合歡木窗板", + "block.create.andesite_bars": "安山岩金屬柵欄", + "block.create.andesite_belt_funnel": "安山岩輸送帶漏斗", + "block.create.andesite_casing": "安山岩機殼", + "block.create.andesite_door": "安山岩門", + "block.create.andesite_encased_cogwheel": "安山岩封裝齒輪", + "block.create.andesite_encased_large_cogwheel": "安山岩封裝大型齒輪", + "block.create.andesite_encased_shaft": "安山岩封裝傳動軸", + "block.create.andesite_funnel": "安山岩漏斗", + "block.create.andesite_ladder": "安山岩梯子", + "block.create.andesite_scaffolding": "安山岩鷹架", + "block.create.andesite_tunnel": "安山岩隧道", + "block.create.andesite_table_cloth": "安山岩桌布", + "block.create.cut_deepslate": "切製深板岩", + "block.create.cut_deepslate_stairs": "切製深板岩階梯", + "block.create.cut_deepslate_slab": "切製深板岩半磚", + "block.create.cut_deepslate_wall": "切製深板岩牆", + "block.create.polished_cut_deepslate": "拋光切製深板岩", + "block.create.polished_cut_deepslate_stairs": "拋光切製深板岩階梯", + "block.create.polished_cut_deepslate_slab": "拋光切製深板岩半磚", + "block.create.polished_cut_deepslate_wall": "拋光切製深板岩牆", + "block.create.cut_deepslate_bricks": "切製深板岩磚", + "block.create.cut_deepslate_brick_stairs": "切製深板岩磚階梯", + "block.create.cut_deepslate_brick_slab": "切製深板岩磚半磚", + "block.create.cut_deepslate_brick_wall": "切製深板岩磚牆", + "block.create.small_deepslate_bricks": "小型深板岩磚", + "block.create.small_deepslate_brick_stairs": "小型深板岩磚階梯", + "block.create.small_deepslate_brick_slab": "小型深板岩磚半磚", + "block.create.small_deepslate_brick_wall": "小型深板岩磚牆", + "block.create.layered_deepslate": "層疊深板岩", + "block.create.deepslate_pillar": "深板岩柱", + "block.create.cut_dripstone": "切製鐘乳石", + "block.create.cut_dripstone_stairs": "切製鐘乳石階梯", + "block.create.cut_dripstone_slab": "切製鐘乳石半磚", + "block.create.cut_dripstone_wall": "切製鐘乳石牆", + "block.create.polished_cut_dripstone": "拋光切製鐘乳石", + "block.create.polished_cut_dripstone_stairs": "拋光切製鐘乳石階梯", + "block.create.polished_cut_dripstone_slab": "拋光切製鐘乳石半磚", + "block.create.polished_cut_dripstone_wall": "拋光切製鐘乳石牆", + "block.create.cut_dripstone_bricks": "切製鐘乳石磚", + "block.create.cut_dripstone_brick_stairs": "切製鐘乳石磚階梯", + "block.create.cut_dripstone_brick_slab": "切製鐘乳石磚半磚", + "block.create.cut_dripstone_brick_wall": "切製鐘乳石磚牆", + "block.create.small_dripstone_bricks": "小型鐘乳石磚", + "block.create.small_dripstone_brick_stairs": "小型鐘乳石磚階梯", + "block.create.small_dripstone_brick_slab": "小型鐘乳石磚半磚", + "block.create.small_dripstone_brick_wall": "小型鐘乳石磚牆", + "block.create.layered_dripstone": "層疊鐘乳石", + "block.create.dripstone_pillar": "鐘乳石柱", + "block.create.cut_granite": "切製花崗岩", + "block.create.cut_granite_stairs": "切製花崗岩階梯", + "block.create.cut_granite_slab": "切製花崗岩半磚", + "block.create.cut_granite_wall": "切製花崗岩牆", + "block.create.polished_cut_granite": "拋光切製花崗岩", + "block.create.polished_cut_granite_stairs": "拋光切製花崗岩階梯", + "block.create.polished_cut_granite_slab": "拋光切製花崗岩半磚", + "block.create.polished_cut_granite_wall": "拋光切製花崗岩牆", + "block.create.cut_granite_bricks": "切製花崗岩磚", + "block.create.cut_granite_brick_stairs": "切製花崗岩磚階梯", + "block.create.cut_granite_brick_slab": "切製花崗岩磚半磚", + "block.create.cut_granite_brick_wall": "切製花崗岩磚牆", + "block.create.small_granite_bricks": "小型花崗岩磚", + "block.create.small_granite_brick_stairs": "小型花崗岩磚階梯", + "block.create.small_granite_brick_slab": "小型花崗岩磚半磚", + "block.create.small_granite_brick_wall": "小型花崗岩磚牆", + "block.create.layered_granite": "層疊花崗岩", + "block.create.granite_pillar": "花崗岩柱", + "item.create.netherite_diving_helmet.tooltip.summary": "與「藍鋼背罐」一同裝備時,可保護你免於「極端高溫」傷害。為了安全起見,腿部與腳部也必須穿戴「藍鋼潛水裝備」。", + "item.create.netherite_backtank": "藍鋼背罐", + "item.create.netherite_diving_helmet": "藍鋼潛水頭盔", + "item.create.netherite_diving_boots": "藍鋼潛水靴", + "item.create.copper_sheet": "銅板", + "item.create.brass_sheet": "黃銅板", + "item.create.golden_sheet": "金板", + "item.create.crushed_raw_gold": "粉碎金原礦", + "item.create.crushed_raw_copper": "粉碎銅原礦", + "item.create.crushed_raw_zinc": "粉碎鋅原礦", + "item.create.crushed_raw_silver": "粉碎銀原礦", + "item.create.crushed_raw_tin": "粉碎錫原礦", + "item.create.crushed_raw_lead": "粉碎鉛原礦", + "create.ponder.andesite_tunnel.header": "使用安山岩隧道", + "create.ponder.andesite_tunnel.text_1": "安山岩隧道可覆蓋在輸送帶上", + "create.ponder.andesite_tunnel.text_2": "當安山岩隧道存在側向連接時……", + "create.ponder.belt_casing.text_1": "黃銅機殼或安山岩機殼可用於裝飾輸送帶", + "create.ponder.brass_funnel.text_1": "安山岩漏斗一次只能輸出一個物品", + "create.ponder.cogwheel_casing.text_1": "黃銅機殼或安山岩機殼可用於裝飾齒輪", + "create.ponder.shaft_casing.text_1": "黃銅機殼或安山岩機殼可用於裝飾傳動軸" +} \ No newline at end of file diff --git a/kubejs/assets/createdeco/lang/zh_tw.json b/kubejs/assets/createdeco/lang/zh_tw.json new file mode 100644 index 000000000..33f3bcc94 --- /dev/null +++ b/kubejs/assets/createdeco/lang/zh_tw.json @@ -0,0 +1,418 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createdeco.andesite_bars": "安山合金欄杆", + "block.createdeco.andesite_bars_overlay": "安山合金欄板", + "block.createdeco.andesite_window": "安山合金窗戶", + "block.createdeco.andesite_window_pane": "安山合金窗格", + "block.createdeco.andesite_mesh_fence": "安山合金網狀欄杆", + "block.createdeco.andesite_catwalk": "安山合金棧道", + "block.createdeco.andesite_catwalk_stairs": "安山合金棧道樓梯", + "block.createdeco.andesite_catwalk_railing": "安山合金棧道扶手", + "block.createdeco.andesite_support_wedge": "安山合金支撐楔", + "block.createdeco.andesite_hull": "安山合金列車外殼", + "block.createdeco.andesite_support": "安山合金支架", + "block.createdeco.yellow_andesite_lamp": "黃色安山合金籠燈", + "block.createdeco.red_andesite_lamp": "紅色安山合金籠燈", + "block.createdeco.blue_andesite_lamp": "藍色安山合金籠燈", + "block.createdeco.green_andesite_lamp": "綠色安山合金籠燈", + "block.createdeco.andesite_sheet_metal": "安山合金金屬板", + "block.createdeco.andesite_door": "安山合金門", + "block.createdeco.locked_andesite_door": "上鎖的安山合金門", + "block.createdeco.andesite_trapdoor": "安山合金活板門", + "block.createdeco.andesite_facade": "安山合金牆面", + "block.createdeco.iron_bars": "鍛鐵欄杆", + "block.createdeco.iron_bars_overlay": "鍛鐵欄板", + "block.createdeco.iron_window": "鍛鐵窗戶", + "block.createdeco.iron_window_pane": "鍛鐵窗格", + "block.createdeco.iron_mesh_fence": "鍛鐵網狀欄杆", + "block.createdeco.iron_catwalk": "鍛鐵棧道", + "block.createdeco.iron_catwalk_stairs": "鍛鐵棧道樓梯", + "block.createdeco.iron_catwalk_railing": "鍛鐵棧道扶手", + "block.createdeco.iron_support_wedge": "鍛鐵支撐楔", + "block.createdeco.iron_hull": "鍛鐵列車外殼", + "block.createdeco.iron_support": "鍛鐵支架", + "block.createdeco.yellow_iron_lamp": "黃色鍛鐵籠燈", + "block.createdeco.red_iron_lamp": "紅色鍛鐵籠燈", + "block.createdeco.blue_iron_lamp": "藍色鍛鐵籠燈", + "block.createdeco.green_iron_lamp": "綠色鍛鐵籠燈", + "block.createdeco.iron_sheet_metal": "鍛鐵金屬板", + "block.createdeco.iron_door": "鍛鐵門", + "block.createdeco.locked_iron_door": "上鎖的鍛鐵門", + "block.createdeco.iron_trapdoor": "鍛鐵活板門", + "block.createdeco.iron_facade": "鍛鐵牆面", + "block.createdeco.iron_coinstack": "鍛鐵硬幣堆", + "block.createdeco.netherite_coinstack": "獄髓硬幣堆", + "block.createdeco.industrial_iron_coinstack": "鋼硬幣堆", + "block.createdeco.industrial_iron_bars": "鋼欄杆", + "block.createdeco.industrial_iron_bars_overlay": "鋼欄板", + "block.createdeco.industrial_iron_window": "鋼窗戶", + "block.createdeco.industrial_iron_window_pane": "鋼窗格", + "block.createdeco.industrial_iron_mesh_fence": "鋼網狀欄杆", + "block.createdeco.industrial_iron_catwalk": "鋼棧道", + "block.createdeco.industrial_iron_catwalk_stairs": "鋼棧道樓梯", + "block.createdeco.industrial_iron_catwalk_railing": "鋼棧道扶手", + "block.createdeco.industrial_iron_support_wedge": "鋼支撐楔", + "block.createdeco.industrial_iron_hull": "鋼列車外殼", + "block.createdeco.industrial_iron_support": "鋼支架", + "block.createdeco.yellow_industrial_iron_lamp": "黃色鋼籠燈", + "block.createdeco.red_industrial_iron_lamp": "紅色鋼籠燈", + "block.createdeco.blue_industrial_iron_lamp": "藍色鋼籠燈", + "block.createdeco.green_industrial_iron_lamp": "綠色鋼籠燈", + "block.createdeco.industrial_iron_sheet_metal": "鋼板", + "block.createdeco.industrial_iron_door": "鋼門", + "block.createdeco.locked_industrial_iron_door": "上鎖的鋼門", + "block.createdeco.industrial_iron_trapdoor": "鋼活板門", + "block.createdeco.industrial_iron_ladder": "鋼梯", + "block.createdeco.industrial_iron_facade": "鋼牆面", + "item.createdeco.iron_coin": "鍛鐵硬幣", + "item.createdeco.netherite_coin": "獄髓硬幣", + "item.createdeco.industrial_iron_coin": "鋼硬幣", + "item.createdeco.iron_coinstack": "鍛鐵硬幣堆", + "item.createdeco.netherite_coinstack": "獄髓硬幣堆", + "item.createdeco.industrial_iron_coinstack": "鋼硬幣堆", + "block.createdeco.black_placard": "黑色標示牌", + "block.createdeco.black_shipping_container": "黑色貨櫃", + "block.createdeco.blue_brass_lamp": "藍色黃銅籠燈", + "block.createdeco.blue_brick_slab": "藍色磚半磚", + "block.createdeco.blue_brick_stairs": "藍色磚樓梯", + "block.createdeco.blue_brick_wall": "藍色磚牆", + "block.createdeco.blue_bricks": "藍色磚塊", + "block.createdeco.blue_copper_lamp": "藍色銅籠燈", + "block.createdeco.blue_placard": "藍色標示牌", + "block.createdeco.blue_shipping_container": "藍色貨櫃", + "block.createdeco.blue_zinc_lamp": "藍色鋅籠燈", + "block.createdeco.brass_bars": "黃銅欄杆", + "block.createdeco.brass_bars_overlay": "黃銅欄板", + "block.createdeco.brass_catwalk": "黃銅棧道", + "block.createdeco.brass_catwalk_railing": "黃銅棧道扶手", + "block.createdeco.brass_catwalk_stairs": "黃銅棧道樓梯", + "block.createdeco.brass_coinstack": "黃銅硬幣堆", + "block.createdeco.brass_door": "黃銅門", + "block.createdeco.brass_facade": "黃銅牆面", + "block.createdeco.brass_hull": "黃銅列車外殼", + "block.createdeco.brass_mesh_fence": "黃銅網狀欄杆", + "block.createdeco.brass_sheet_metal": "黃銅金屬板", + "block.createdeco.brass_support": "黃銅支架", + "block.createdeco.brass_support_wedge": "黃銅支撐楔", + "block.createdeco.brass_trapdoor": "黃銅活板門", + "block.createdeco.brass_window": "黃銅窗戶", + "block.createdeco.brass_window_pane": "黃銅窗格", + "block.createdeco.brown_placard": "棕色標示牌", + "block.createdeco.brown_shipping_container": "棕色貨櫃", + "block.createdeco.copper_bars": "銅欄杆", + "block.createdeco.copper_bars_overlay": "銅欄板", + "block.createdeco.copper_catwalk": "銅棧道", + "block.createdeco.copper_catwalk_railing": "銅棧道扶手", + "block.createdeco.copper_catwalk_stairs": "銅棧道樓梯", + "block.createdeco.copper_coinstack": "銅硬幣堆", + "block.createdeco.copper_door": "銅門", + "block.createdeco.copper_facade": "銅牆面", + "block.createdeco.copper_hull": "銅列車外殼", + "block.createdeco.copper_mesh_fence": "銅網狀欄杆", + "block.createdeco.copper_sheet_metal": "銅金屬板", + "block.createdeco.copper_support": "銅支架", + "block.createdeco.copper_support_wedge": "銅支撐楔", + "block.createdeco.copper_trapdoor": "銅活板門", + "block.createdeco.copper_window": "銅窗戶", + "block.createdeco.copper_window_pane": "銅窗格", + "item.createdeco.brass_coin": "黃銅硬幣", + "item.createdeco.brass_coinstack": "黃銅硬幣堆", + "item.createdeco.copper_coin": "銅硬幣", + "item.createdeco.copper_coinstack": "銅硬幣堆", + "item.createdeco.gold_coin": "金硬幣", + "item.createdeco.gold_coinstack": "金硬幣堆", + "item.createdeco.zinc_coin": "鋅硬幣", + "item.createdeco.zinc_coinstack": "鋅硬幣堆", + "item.createdeco.zinc_sheet": "鋅金屬板", + "block.createdeco.corner_blue_brick_slab": "轉角皓石藍磚半磚", + "block.createdeco.corner_blue_brick_stairs": "轉角皓石藍磚樓梯", + "block.createdeco.corner_blue_brick_wall": "轉角皓石藍磚牆", + "block.createdeco.corner_blue_bricks": "轉角皓石藍磚", + "block.createdeco.corner_dean_brick_slab": "轉角赭砂黃磚半磚", + "block.createdeco.corner_dean_brick_stairs": "轉角赭砂黃磚樓梯", + "block.createdeco.corner_dean_brick_wall": "轉角赭砂黃磚牆", + "block.createdeco.corner_dean_bricks": "轉角赭砂黃磚", + "block.createdeco.corner_dusk_brick_slab": "轉角焦渣黑磚半磚", + "block.createdeco.corner_dusk_brick_stairs": "轉角焦渣黑磚樓梯", + "block.createdeco.corner_dusk_brick_wall": "轉角焦渣黑磚牆", + "block.createdeco.corner_dusk_bricks": "轉角焦渣黑磚", + "block.createdeco.corner_pearl_brick_slab": "轉角石灰白磚半磚", + "block.createdeco.corner_pearl_brick_stairs": "轉角石灰白磚樓梯", + "block.createdeco.corner_pearl_brick_wall": "轉角石灰白磚牆", + "block.createdeco.corner_pearl_bricks": "轉角石灰白磚", + "block.createdeco.corner_red_brick_slab": "轉角紅磚半磚", + "block.createdeco.corner_red_brick_stairs": "轉角紅磚樓梯", + "block.createdeco.corner_red_brick_wall": "轉角紅磚牆", + "block.createdeco.corner_red_bricks": "轉角紅磚", + "block.createdeco.corner_scarlet_brick_slab": "轉角緋岩紅磚半磚", + "block.createdeco.corner_scarlet_brick_stairs": "轉角緋岩紅磚樓梯", + "block.createdeco.corner_scarlet_brick_wall": "轉角緋岩紅磚牆", + "block.createdeco.corner_scarlet_bricks": "轉角緋岩紅磚", + "block.createdeco.corner_umber_brick_slab": "轉角熔渣棕磚半磚", + "block.createdeco.corner_umber_brick_stairs": "轉角熔渣棕磚樓梯", + "block.createdeco.corner_umber_brick_wall": "轉角熔渣棕磚牆", + "block.createdeco.corner_umber_bricks": "轉角熔渣棕磚", + "block.createdeco.corner_verdant_brick_slab": "轉角輝岩綠磚半磚", + "block.createdeco.corner_verdant_brick_stairs": "轉角輝岩綠磚樓梯", + "block.createdeco.corner_verdant_brick_wall": "轉角輝岩綠磚牆", + "block.createdeco.corner_verdant_bricks": "轉角輝岩綠磚", + "block.createdeco.cracked_blue_brick_slab": "裂紋皓石藍磚半磚", + "block.createdeco.cracked_blue_brick_stairs": "裂紋皓石藍磚樓梯", + "block.createdeco.cracked_blue_brick_wall": "裂紋皓石藍磚牆", + "block.createdeco.cracked_blue_bricks": "裂紋皓石藍磚", + "block.createdeco.cracked_dean_brick_slab": "裂紋赭砂黃磚半磚", + "block.createdeco.cracked_dean_brick_stairs": "裂紋赭砂黃磚樓梯", + "block.createdeco.cracked_dean_brick_wall": "裂紋赭砂黃磚牆", + "block.createdeco.cracked_dean_bricks": "裂紋赭砂黃磚", + "block.createdeco.cracked_dusk_brick_slab": "裂紋焦渣黑磚半磚", + "block.createdeco.cracked_dusk_brick_stairs": "裂紋焦渣黑磚樓梯", + "block.createdeco.cracked_dusk_brick_wall": "裂紋焦渣黑磚牆", + "block.createdeco.cracked_dusk_bricks": "裂紋焦渣黑磚", + "block.createdeco.cracked_pearl_brick_slab": "裂紋石灰白磚半磚", + "block.createdeco.cracked_pearl_brick_stairs": "裂紋石灰白磚樓梯", + "block.createdeco.cracked_pearl_brick_wall": "裂紋石灰白磚牆", + "block.createdeco.cracked_pearl_bricks": "裂紋石灰白磚", + "block.createdeco.cracked_red_brick_slab": "裂紋紅磚半磚", + "block.createdeco.cracked_red_brick_stairs": "裂紋紅磚樓梯", + "block.createdeco.cracked_red_brick_wall": "裂紋紅磚牆", + "block.createdeco.cracked_red_bricks": "裂紋紅磚", + "block.createdeco.cracked_scarlet_brick_slab": "裂紋緋岩紅磚半磚", + "block.createdeco.cracked_scarlet_brick_stairs": "裂紋緋岩紅磚樓梯", + "block.createdeco.cracked_scarlet_brick_wall": "裂紋緋岩紅磚牆", + "block.createdeco.cracked_scarlet_bricks": "裂紋緋岩紅磚", + "block.createdeco.cracked_umber_brick_slab": "裂紋熔渣棕磚半磚", + "block.createdeco.cracked_umber_brick_stairs": "裂紋熔渣棕磚樓梯", + "block.createdeco.cracked_umber_brick_wall": "裂紋熔渣棕磚牆", + "block.createdeco.cracked_umber_bricks": "裂紋熔渣棕磚", + "block.createdeco.cracked_verdant_brick_slab": "裂紋輝岩綠磚半磚", + "block.createdeco.cracked_verdant_brick_stairs": "裂紋輝岩綠磚樓梯", + "block.createdeco.cracked_verdant_brick_wall": "裂紋輝岩綠磚牆", + "block.createdeco.cracked_verdant_bricks": "裂紋輝岩綠磚", + "block.createdeco.cyan_placard": "青色標示牌", + "block.createdeco.cyan_shipping_container": "青色貨櫃", + "block.createdeco.dean_brick_slab": "赭砂黃磚半磚", + "block.createdeco.dean_brick_stairs": "赭砂黃磚樓梯", + "block.createdeco.dean_brick_wall": "赭砂黃磚牆", + "block.createdeco.dean_bricks": "赭砂黃磚", + "block.createdeco.decal_creeper": "苦力怕圖案貼標", + "block.createdeco.decal_cross": "交叉圖案貼標", + "block.createdeco.decal_down": "向下箭頭圖案貼標", + "block.createdeco.decal_down_left": "左下箭頭圖案貼標", + "block.createdeco.decal_down_right": "右下箭頭圖案貼標", + "block.createdeco.decal_electrical": "帶電圖案貼標", + "block.createdeco.decal_fire": "火焰圖案貼標", + "block.createdeco.decal_fire_diamond": "危險品菱形貼標", + "block.createdeco.decal_flow": "水流圖案貼標", + "block.createdeco.decal_fluid": "流體圖案貼標", + "block.createdeco.decal_ice": "低溫圖案貼標", + "block.createdeco.decal_left": "向左箭頭圖案貼標", + "block.createdeco.decal_no_entry": "禁止進入圖案貼標", + "block.createdeco.decal_radioactive": "輻射圖案貼標", + "block.createdeco.decal_right": "向右箭頭圖案貼標", + "block.createdeco.decal_skull": "骷髏圖案貼標", + "block.createdeco.decal_top_left": "左上箭頭圖案貼標", + "block.createdeco.decal_top_right": "右上箭頭圖案貼標", + "block.createdeco.decal_up": "向上箭頭圖案貼標", + "block.createdeco.decal_warning": "警告圖案貼標", + "block.createdeco.dusk_brick_slab": "焦渣黑磚半磚", + "block.createdeco.dusk_brick_stairs": "焦渣黑磚樓梯", + "block.createdeco.dusk_brick_wall": "焦渣黑磚牆", + "block.createdeco.dusk_bricks": "焦渣黑磚", + "block.createdeco.gold_coinstack": "金硬幣堆", + "block.createdeco.gray_placard": "灰色標示牌", + "block.createdeco.gray_shipping_container": "灰色貨櫃", + "block.createdeco.green_brass_lamp": "綠色黃銅籠燈", + "block.createdeco.green_copper_lamp": "綠色銅籠燈", + "block.createdeco.green_placard": "綠色標示牌", + "block.createdeco.green_shipping_container": "綠色貨櫃", + "block.createdeco.green_zinc_lamp": "綠色鋅籠燈", + "block.createdeco.light_blue_placard": "淡藍色標示牌", + "block.createdeco.light_blue_shipping_container": "淡藍色貨櫃", + "block.createdeco.light_gray_placard": "淡灰色標示牌", + "block.createdeco.light_gray_shipping_container": "淡灰色貨櫃", + "block.createdeco.lime_placard": "黃綠色標示牌", + "block.createdeco.lime_shipping_container": "黃綠色貨櫃", + "block.createdeco.locked_brass_door": "上鎖的黃銅門", + "block.createdeco.locked_copper_door": "上鎖的銅門", + "block.createdeco.locked_zinc_door": "上鎖的鋅門", + "block.createdeco.long_blue_brick_slab": "條狀皓石藍磚半磚", + "block.createdeco.long_blue_brick_stairs": "條狀皓石藍磚樓梯", + "block.createdeco.long_blue_brick_wall": "條狀皓石藍磚牆", + "block.createdeco.long_blue_bricks": "條狀皓石藍磚", + "block.createdeco.long_dean_brick_slab": "條狀赭砂黃磚半磚", + "block.createdeco.long_dean_brick_stairs": "條狀赭砂黃磚樓梯", + "block.createdeco.long_dean_brick_wall": "條狀赭砂黃磚牆", + "block.createdeco.long_dean_bricks": "條狀赭砂黃磚", + "block.createdeco.long_dusk_brick_slab": "條狀焦渣黑磚半磚", + "block.createdeco.long_dusk_brick_stairs": "條狀焦渣黑磚樓梯", + "block.createdeco.long_dusk_brick_wall": "條狀焦渣黑磚牆", + "block.createdeco.long_dusk_bricks": "條狀焦渣黑磚", + "block.createdeco.long_pearl_brick_slab": "條狀石灰白磚半磚", + "block.createdeco.long_pearl_brick_stairs": "條狀石灰白磚樓梯", + "block.createdeco.long_pearl_brick_wall": "條狀石灰白磚牆", + "block.createdeco.long_pearl_bricks": "條狀石灰白磚", + "block.createdeco.long_red_brick_slab": "條狀紅磚半磚", + "block.createdeco.long_red_brick_stairs": "條狀紅磚樓梯", + "block.createdeco.long_red_brick_wall": "條狀紅磚牆", + "block.createdeco.long_red_bricks": "條狀紅磚", + "block.createdeco.long_scarlet_brick_slab": "條狀緋岩紅磚半磚", + "block.createdeco.long_scarlet_brick_stairs": "條狀緋岩紅磚樓梯", + "block.createdeco.long_scarlet_brick_wall": "條狀緋岩紅磚牆", + "block.createdeco.long_scarlet_bricks": "條狀緋岩紅磚", + "block.createdeco.long_umber_brick_slab": "條狀熔渣棕磚半磚", + "block.createdeco.long_umber_brick_stairs": "條狀熔渣棕磚樓梯", + "block.createdeco.long_umber_brick_wall": "條狀熔渣棕磚牆", + "block.createdeco.long_umber_bricks": "條狀熔渣棕磚", + "block.createdeco.long_verdant_brick_slab": "條狀輝岩綠磚半磚", + "block.createdeco.long_verdant_brick_stairs": "條狀輝岩綠磚樓梯", + "block.createdeco.long_verdant_brick_wall": "條狀輝岩綠磚牆", + "block.createdeco.long_verdant_bricks": "條狀輝岩綠磚", + "block.createdeco.magenta_placard": "洋紅色標示牌", + "block.createdeco.magenta_shipping_container": "洋紅色貨櫃", + "block.createdeco.mossy_blue_brick_slab": "覆苔皓石藍磚半磚", + "block.createdeco.mossy_blue_brick_stairs": "覆苔皓石藍磚樓梯", + "block.createdeco.mossy_blue_brick_wall": "覆苔皓石藍磚牆", + "block.createdeco.mossy_blue_bricks": "覆苔皓石藍磚", + "block.createdeco.mossy_dean_brick_slab": "覆苔赭砂黃磚半磚", + "block.createdeco.mossy_dean_brick_stairs": "覆苔赭砂黃磚樓梯", + "block.createdeco.mossy_dean_brick_wall": "覆苔赭砂黃磚牆", + "block.createdeco.mossy_dean_bricks": "覆苔赭砂黃磚", + "block.createdeco.mossy_dusk_brick_slab": "覆苔焦渣黑磚半磚", + "block.createdeco.mossy_dusk_brick_stairs": "覆苔焦渣黑磚樓梯", + "block.createdeco.mossy_dusk_brick_wall": "覆苔焦渣黑磚牆", + "block.createdeco.mossy_dusk_bricks": "覆苔焦渣黑磚", + "block.createdeco.mossy_pearl_brick_slab": "覆苔石灰白磚半磚", + "block.createdeco.mossy_pearl_brick_stairs": "覆苔石灰白磚樓梯", + "block.createdeco.mossy_pearl_brick_wall": "覆苔石灰白磚牆", + "block.createdeco.mossy_pearl_bricks": "覆苔石灰白磚", + "block.createdeco.mossy_red_brick_slab": "覆苔紅磚半磚", + "block.createdeco.mossy_red_brick_stairs": "覆苔紅磚樓梯", + "block.createdeco.mossy_red_brick_wall": "覆苔紅磚牆", + "block.createdeco.mossy_red_bricks": "覆苔紅磚", + "block.createdeco.mossy_scarlet_brick_slab": "覆苔緋岩紅磚半磚", + "block.createdeco.mossy_scarlet_brick_stairs": "覆苔緋岩紅磚樓梯", + "block.createdeco.mossy_scarlet_brick_wall": "覆苔緋岩紅磚牆", + "block.createdeco.mossy_scarlet_bricks": "覆苔緋岩紅磚", + "block.createdeco.mossy_umber_brick_slab": "覆苔熔渣棕磚半磚", + "block.createdeco.mossy_umber_brick_stairs": "覆苔熔渣棕磚樓梯", + "block.createdeco.mossy_umber_brick_wall": "覆苔熔渣棕磚牆", + "block.createdeco.mossy_umber_bricks": "覆苔熔渣棕磚", + "block.createdeco.mossy_verdant_brick_slab": "覆苔輝岩綠磚半磚", + "block.createdeco.mossy_verdant_brick_stairs": "覆苔輝岩綠磚樓梯", + "block.createdeco.mossy_verdant_brick_wall": "覆苔輝岩綠磚牆", + "block.createdeco.mossy_verdant_bricks": "覆苔輝岩綠磚", + "block.createdeco.orange_placard": "橘色標示牌", + "block.createdeco.orange_shipping_container": "橘色貨櫃", + "block.createdeco.pearl_brick_slab": "石灰白磚半磚", + "block.createdeco.pearl_brick_stairs": "石灰白磚樓梯", + "block.createdeco.pearl_brick_wall": "石灰白磚牆", + "block.createdeco.pearl_bricks": "石灰白磚", + "block.createdeco.pink_placard": "粉紅色標示牌", + "block.createdeco.pink_shipping_container": "粉紅色貨櫃", + "block.createdeco.purple_placard": "紫色標示牌", + "block.createdeco.purple_shipping_container": "紫色貨櫃", + "block.createdeco.red_brass_lamp": "紅色黃銅籠燈", + "block.createdeco.red_copper_lamp": "紅色銅籠燈", + "block.createdeco.red_placard": "紅色標示牌", + "block.createdeco.red_shipping_container": "紅色貨櫃", + "block.createdeco.red_zinc_lamp": "紅色鋅籠燈", + "block.createdeco.scarlet_brick_slab": "緋岩紅磚半磚", + "block.createdeco.scarlet_brick_stairs": "緋岩紅磚樓梯", + "block.createdeco.scarlet_brick_wall": "緋岩紅磚牆", + "block.createdeco.scarlet_bricks": "緋岩紅磚", + "block.createdeco.short_blue_brick_slab": "密砌皓石藍磚半磚", + "block.createdeco.short_blue_brick_stairs": "密砌皓石藍磚樓梯", + "block.createdeco.short_blue_brick_wall": "密砌皓石藍磚牆", + "block.createdeco.short_blue_bricks": "密砌皓石藍磚", + "block.createdeco.short_dean_brick_slab": "密砌赭砂黃磚半磚", + "block.createdeco.short_dean_brick_stairs": "密砌赭砂黃磚樓梯", + "block.createdeco.short_dean_brick_wall": "密砌赭砂黃磚牆", + "block.createdeco.short_dean_bricks": "密砌赭砂黃磚", + "block.createdeco.short_dusk_brick_slab": "密砌焦渣黑磚半磚", + "block.createdeco.short_dusk_brick_stairs": "密砌焦渣黑磚樓梯", + "block.createdeco.short_dusk_brick_wall": "密砌焦渣黑磚牆", + "block.createdeco.short_dusk_bricks": "密砌焦渣黑磚", + "block.createdeco.short_pearl_brick_slab": "密砌石灰白磚半磚", + "block.createdeco.short_pearl_brick_stairs": "密砌石灰白磚樓梯", + "block.createdeco.short_pearl_brick_wall": "密砌石灰白磚牆", + "block.createdeco.short_pearl_bricks": "密砌石灰白磚", + "block.createdeco.short_red_brick_slab": "密砌紅磚半磚", + "block.createdeco.short_red_brick_stairs": "密砌紅磚樓梯", + "block.createdeco.short_red_brick_wall": "密砌紅磚牆", + "block.createdeco.short_red_bricks": "密砌紅磚", + "block.createdeco.short_scarlet_brick_slab": "密砌緋岩紅磚半磚", + "block.createdeco.short_scarlet_brick_stairs": "密砌緋岩紅磚樓梯", + "block.createdeco.short_scarlet_brick_wall": "密砌緋岩紅磚牆", + "block.createdeco.short_scarlet_bricks": "密砌緋岩紅磚", + "block.createdeco.short_umber_brick_slab": "密砌熔渣棕磚半磚", + "block.createdeco.short_umber_brick_stairs": "密砌熔渣棕磚樓梯", + "block.createdeco.short_umber_brick_wall": "密砌熔渣棕磚牆", + "block.createdeco.short_umber_bricks": "密砌熔渣棕磚", + "block.createdeco.short_verdant_brick_slab": "密砌輝岩綠磚半磚", + "block.createdeco.short_verdant_brick_stairs": "密砌輝岩綠磚樓梯", + "block.createdeco.short_verdant_brick_wall": "密砌輝岩綠磚牆", + "block.createdeco.short_verdant_bricks": "密砌輝岩綠磚", + "block.createdeco.tiled_blue_brick_slab": "密鋪皓石藍磚半磚", + "block.createdeco.tiled_blue_brick_stairs": "密鋪皓石藍磚樓梯", + "block.createdeco.tiled_blue_brick_wall": "密鋪皓石藍磚牆", + "block.createdeco.tiled_blue_bricks": "密鋪皓石藍磚", + "block.createdeco.tiled_dean_brick_slab": "密鋪赭砂黃磚半磚", + "block.createdeco.tiled_dean_brick_stairs": "密鋪赭砂黃磚樓梯", + "block.createdeco.tiled_dean_brick_wall": "密鋪赭砂黃磚牆", + "block.createdeco.tiled_dean_bricks": "密鋪赭砂黃磚", + "block.createdeco.tiled_dusk_brick_slab": "密鋪焦渣黑磚半磚", + "block.createdeco.tiled_dusk_brick_stairs": "密鋪焦渣黑磚樓梯", + "block.createdeco.tiled_dusk_brick_wall": "密鋪焦渣黑磚牆", + "block.createdeco.tiled_dusk_bricks": "密鋪焦渣黑磚", + "block.createdeco.tiled_pearl_brick_slab": "密鋪石灰白磚半磚", + "block.createdeco.tiled_pearl_brick_stairs": "密鋪石灰白磚樓梯", + "block.createdeco.tiled_pearl_brick_wall": "密鋪石灰白磚牆", + "block.createdeco.tiled_pearl_bricks": "密鋪石灰白磚", + "block.createdeco.tiled_red_brick_slab": "密鋪紅磚半磚", + "block.createdeco.tiled_red_brick_stairs": "密鋪紅磚樓梯", + "block.createdeco.tiled_red_brick_wall": "密鋪紅磚牆", + "block.createdeco.tiled_red_bricks": "密鋪紅磚", + "block.createdeco.tiled_scarlet_brick_slab": "密鋪緋岩紅磚半磚", + "block.createdeco.tiled_scarlet_brick_stairs": "密鋪緋岩紅磚樓梯", + "block.createdeco.tiled_scarlet_brick_wall": "密鋪緋岩紅磚牆", + "block.createdeco.tiled_scarlet_bricks": "密鋪緋岩紅磚", + "block.createdeco.tiled_umber_brick_slab": "密鋪熔渣棕磚半磚", + "block.createdeco.tiled_umber_brick_stairs": "密鋪熔渣棕磚樓梯", + "block.createdeco.tiled_umber_brick_wall": "密鋪熔渣棕磚牆", + "block.createdeco.tiled_umber_bricks": "密鋪熔渣棕磚", + "block.createdeco.tiled_verdant_brick_slab": "密鋪輝岩綠磚半磚", + "block.createdeco.tiled_verdant_brick_stairs": "密鋪輝岩綠磚樓梯", + "block.createdeco.tiled_verdant_brick_wall": "密鋪輝岩綠磚牆", + "block.createdeco.tiled_verdant_bricks": "密鋪輝岩綠磚", + "block.createdeco.umber_brick_slab": "熔渣棕磚半磚", + "block.createdeco.umber_brick_stairs": "熔渣棕磚樓梯", + "block.createdeco.umber_brick_wall": "熔渣棕磚牆", + "block.createdeco.umber_bricks": "熔渣棕磚", + "block.createdeco.verdant_brick_slab": "輝岩綠磚半磚", + "block.createdeco.verdant_brick_stairs": "輝岩綠磚樓梯", + "block.createdeco.verdant_brick_wall": "輝岩綠磚牆", + "block.createdeco.verdant_bricks": "輝岩綠磚", + "block.createdeco.white_shipping_container": "白色貨櫃", + "block.createdeco.yellow_brass_lamp": "黃色黃銅籠燈", + "block.createdeco.yellow_copper_lamp": "黃色銅籠燈", + "block.createdeco.yellow_placard": "黃色標示牌", + "block.createdeco.yellow_shipping_container": "黃色貨櫃", + "block.createdeco.yellow_zinc_lamp": "黃色鋅籠燈", + "block.createdeco.zinc_bars": "鋅欄杆", + "block.createdeco.zinc_bars_overlay": "鋅欄板", + "block.createdeco.zinc_catwalk": "鋅棧道", + "block.createdeco.zinc_catwalk_railing": "鋅棧道扶手", + "block.createdeco.zinc_catwalk_stairs": "鋅棧道樓梯", + "block.createdeco.zinc_coinstack": "鋅硬幣堆", + "block.createdeco.zinc_door": "鋅門", + "block.createdeco.zinc_facade": "鋅牆面", + "block.createdeco.zinc_hull": "鋅列車外殼", + "block.createdeco.zinc_ladder": "鋅梯", + "block.createdeco.zinc_mesh_fence": "鋅網狀欄杆", + "block.createdeco.zinc_sheet_metal": "鋅金屬板", + "block.createdeco.zinc_support": "鋅支架", + "block.createdeco.zinc_support_wedge": "鋅支撐楔", + "block.createdeco.zinc_trapdoor": "鋅活板門", + "block.createdeco.zinc_window": "鋅窗戶", + "block.createdeco.zinc_window_pane": "鋅窗格" +} \ No newline at end of file diff --git a/kubejs/assets/createhorsepower/lang/zh_tw.json b/kubejs/assets/createhorsepower/lang/zh_tw.json new file mode 100644 index 000000000..a23916578 --- /dev/null +++ b/kubejs/assets/createhorsepower/lang/zh_tw.json @@ -0,0 +1,4 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.createhorsepower.horse_crank": "畜力把手" +} \ No newline at end of file diff --git a/kubejs/assets/deafission/lang/zh_tw.json b/kubejs/assets/deafission/lang/zh_tw.json new file mode 100644 index 000000000..a519b6ef8 --- /dev/null +++ b/kubejs/assets/deafission/lang/zh_tw.json @@ -0,0 +1,50 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.deafission.fission_reactor_mk1": "裂變反應爐 MK I", + "block.deafission.fission_reactor_mk2": "裂變反應爐 MK II", + "block.deafission.fuel_holder": "燃料支架", + "deafission.machine.fuel_holder.tooltip": "用於存放並固定核反應爐的燃料棒,確保裂變反應能夠安全進行。", + "block.deafission.material_holder": "材料支架", + "deafission.machine.material_holder.tooltip": "用於存放以熱輻射為基礎的裂變反應爐合成配方所需的輸入材料。", + "block.deafission.redstone_port": "紅石端口", + "deafission.machine.redstone_port.tooltip": "使用扳手切換運作模式。", + "deafission.redstone_port.mode.heat": "輸出熱量/最大值", + "deafission.redstone_port.mode.fuels": "輸出燃料數/支架數", + "deafission.fission_reactor.gui.mode.default": "正常運作", + "deafission.fission_reactor.gui.mode.cooldown": "冷卻中", + "deafission.fission_reactor.gui.stats": "%s 熱 %s 限 %s 效", + "deafission.fission_reactor.gui.recipe": "配方:%s", + "deafission.fission_reactor.gui.recipe_none": "配方:無", + "deafission.fission_reactor.gui.coolant": "冷卻劑:%s mB/t", + "deafission.fission_reactor.gui.coolant_missing": "冷卻劑:%s(剩餘 %s%%)", + "deafission.fission_reactor.gui.fuel": "燃料:%s 損耗度", + "deafission.fission_reactor.gui.fuel_throttle": "燃料:%s 損耗度 @ %s%%", + "deafission.fission_reactor.gui.cooling": "冷卻:%s HU/t", + "deafission.fission_reactor.gui.heating": "加熱:%s HU/t", + "deafission.fission_reactor.gui.processing": "處理中:%s HU/t", + "deafission.fission_reactor.gui.mass": "熱容量:%s HU/°", + "deafission.fission_reactor.gui.heat": "熱量:%s / %s", + "item.deafission.fuelcell_plutonium_x1": "鈽燃料單元", + "item.deafission.fuelcell_thorium_x1": "釷燃料單元", + "item.deafission.fuelcell_uranium_x1": "鈾燃料單元", + "material.deafission.flibe": "氟化鋰鈹冷卻劑", + "material.deafission.flibe_hot": "氟化鋰鈹冷卻劑(高溫)", + "tooltip.deafission.fuelcell.rodcount": "燃料棒數量:%s", + "tooltip.deafission.fuelcell.heat": "熱量:%s%%", + "tooltip.deafission.fuelcell.avgheat": "平均生命週期:%s 熱量", + "tooltip.deafission.fuelcell.avgheat_none": "平均生命週期:§7--- §r熱量", + "config.jade.plugin_deafission.reactor": "顯示反應爐資訊", + "deafission.recipe.heat_per_tick": "熱量:-%s HU/t", + "deafission.recipe.coolant_heat_per_tick": "熱量:-%s HU/t/°", + "deafission.fission_reactor_coolant": "裂變反應爐", + "deafission.fission_reactor_processing": "裂變熱處理", + "deafission.fission_reactor_fuel": "裂變產物", + "emi.category.deafission.fission_component": "裂變反應爐組件", + "emi.deafission.heat_component_key": "最大熱量:", + "emi.deafission.heat_component_value": "%d°", + "emi.deafission.throttle_component_key": "功率限制:", + "emi.deafission.throttle_component_value": "%d", + "emi.deafission.efficiency_component_key": "效率:", + "emi.deafission.efficiency_component_value": "%d", + "deafission.subtitles.reactor_loop": "反應爐嗡鳴聲" +} \ No newline at end of file diff --git a/kubejs/assets/diggerhelmet/lang/zh_tw.json b/kubejs/assets/diggerhelmet/lang/zh_tw.json new file mode 100644 index 000000000..1a56f1921 --- /dev/null +++ b/kubejs/assets/diggerhelmet/lang/zh_tw.json @@ -0,0 +1,39 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.diggerhelmet": "礦工頭盔", + "entity.diggerhelmet.candleslime": "蠟燭史萊姆", + "item.diggerhelmet.candleslime_spawn_egg": "蠟燭史萊姆 生怪蛋", + "item.diggerhelmet.digger_helmet": "礦工頭盔", + "item.diggerhelmet.digger_helmet.main": "別碰蠟燭!", + "tooltip.diggerhelmet.digger_helmet.hold_shift": "按住 §eSHIFT§7 查看詳細資訊", + "tooltip.diggerhelmet.digger_helmet.tooltip3": "哎呀!我被燙到了,最好別去碰蠟燭", + "tooltip.diggerhelmet.digger_helmet.shift_info": "手持頭盔時,按下 Shift + 右鍵即可開啟介面", + "tooltip.diggerhelmet.digger_helmet.wool_lining_active": "§a已安裝羊毛襯裡-提供保暖效果", + "tooltip.diggerhelmet.digger_helmet.silk_lining_active": "§b已安裝絲綢襯裡-提供降溫效果", + "tooltip.diggerhelmet.digger_helmet.lining_needed": "§e請安裝襯裡以獲得溫度調節效果", + "tfcambiental.tooltip.warmth_attribute": "保暖值", + "tfcambiental.tooltip.cooling_attribute": "降溫值", + "tfcambiental.tooltip.insulation_attribute": "隔熱值", + "item.diggerhelmet.mining_speed_modifier": "挖掘速度模組", + "item.diggerhelmet.mining_speed_modifier.desc.base": "安裝於礦工頭盔時,可提升挖掘速度:", + "item.diggerhelmet.mining_speed_modifier.desc.pickaxe": "十字鎬 ×%.1f", + "item.diggerhelmet.mining_speed_modifier.desc.shovel": "鏟子 ×%.1f", + "item.diggerhelmet.auto_drink_modifier": "自動飲水模組", + "tooltip.diggerhelmet.cooldown": "安裝於礦工頭盔時,會自動從物品欄補充水分", + "item.diggerhelmet.eternal_candle": "永恆蠟燭", + "tooltip.diggerhelmet.eternal_candle.main": "永恆之火的神秘來源", + "tooltip.diggerhelmet.eternal_candle.shift_info": "由蠟燭史萊姆或手持蠟燭的殭屍掉落", + "tooltip.diggerhelmet.eternal_candle.more_info": "你可能需要擊殺更多殭屍,因為它們手中的永恆蠟燭並非 100% 掉落。祝你好運!", + "block.diggerhelmet.eternal_candle": "永恆蠟燭", + "item.diggerhelmet.wool_lining": "羊毛襯裡", + "tooltip.diggerhelmet.wool_lining.main": "提供溫暖且舒適的效果", + "tooltip.diggerhelmet.wool_lining.usage": "安裝於礦工頭盔中,可獲得溫度調節效果", + "item.diggerhelmet.silk_lining": "絲綢襯裡", + "tooltip.diggerhelmet.silk_lining.main": "提供清涼且輕盈的效果", + "tooltip.diggerhelmet.silk_lining.usage": "安裝於礦工頭盔中,可獲得降溫效果", + "gui.diggerhelmet.slot_info.title": "插槽資訊", + "gui.diggerhelmet.slot_info.left_slot": "左側插槽:自動飲水模組", + "gui.diggerhelmet.slot_info.center_slot": "中央插槽:挖掘速度模組", + "gui.diggerhelmet.slot_info.right_slot": "右側插槽:襯裡(羊毛或絲綢)", + "gui.diggerhelmet.slot_info.right_slot_disabled": "右側插槽:襯裡(需要 TFC Ambiental 模組)" +} \ No newline at end of file diff --git a/kubejs/assets/domum_ornamentum/lang/zh_tw.json b/kubejs/assets/domum_ornamentum/lang/zh_tw.json new file mode 100644 index 000000000..c76b8292d --- /dev/null +++ b/kubejs/assets/domum_ornamentum/lang/zh_tw.json @@ -0,0 +1,210 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.domum_ornamentum.architectscutter": "建築師切割機", + "block.domum_ornamentum.beige_bricks": "米色磚塊", + "block.domum_ornamentum.beige_stone_bricks": "米色石磚", + "block.domum_ornamentum.black_floating_carpet": "黑色浮空地毯", + "block.domum_ornamentum.blockbarreldeco_onside": "橫放木桶", + "block.domum_ornamentum.blockbarreldeco_standing": "直立木桶", + "block.domum_ornamentum.blue_floating_carpet": "藍色浮空地毯", + "block.domum_ornamentum.brown_bricks": "棕色磚塊", + "block.domum_ornamentum.brown_floating_carpet": "棕色浮空地毯", + "block.domum_ornamentum.brown_stone_bricks": "棕色石磚", + "block.domum_ornamentum.cream_bricks": "奶油色磚塊", + "block.domum_ornamentum.cream_stone_bricks": "奶油色石磚", + "block.domum_ornamentum.roan_bricks": "斑駁磚塊", + "block.domum_ornamentum.roan_stone_bricks": "斑駁石磚", + "block.domum_ornamentum.cyan_floating_carpet": "青色浮空地毯", + "block.domum_ornamentum.gray_floating_carpet": "灰色浮空地毯", + "block.domum_ornamentum.green_floating_carpet": "綠色浮空地毯", + "block.domum_ornamentum.light_blue_floating_carpet": "淺藍色浮空地毯", + "block.domum_ornamentum.light_gray_floating_carpet": "淺灰色浮空地毯", + "block.domum_ornamentum.lime_floating_carpet": "淺綠色浮空地毯", + "block.domum_ornamentum.magenta_floating_carpet": "洋紅色浮空地毯", + "block.domum_ornamentum.orange_floating_carpet": "橘色浮空地毯", + "block.domum_ornamentum.pink_floating_carpet": "粉紅色浮空地毯", + "block.domum_ornamentum.purple_floating_carpet": "紫色浮空地毯", + "block.domum_ornamentum.red_floating_carpet": "紅色浮空地毯", + "block.domum_ornamentum.sand_bricks": "沙磚", + "block.domum_ornamentum.sand_stone_bricks": "砂岩磚", + "block.domum_ornamentum.white_floating_carpet": "白色浮空地毯", + "block.domum_ornamentum.yellow_floating_carpet": "黃色浮空地毯", + "cuttergroup.domum_ornamentum.avanilla": "基礎方塊", + "cuttergroup.domum_ornamentum.btimberframe": "木構框架", + "cuttergroup.domum_ornamentum.cshingle": "屋瓦", + "cuttergroup.domum_ornamentum.ddoor": "門", + "cuttergroup.domum_ornamentum.etrapdoor": "活板門", + "cuttergroup.domum_ornamentum.fpanel": "面板", + "cuttergroup.domum_ornamentum.gpillar": "柱子", + "cuttergroup.domum_ornamentum.hpaperwall": "薄牆", + "cuttergroup.domum_ornamentum.ilight": "燈具", + "cuttergroup.domum_ornamentum.jbrick": "磚塊", + "cuttergroup.domum_ornamentum.kpost": "立柱", + "domum_ornamentum.allbrick.column.format": "主要材料:%s", + "domum_ornamentum.architectscutter": "建築師切割機", + "domum_ornamentum.block.format": "材料:%s", + "domum_ornamentum.blockpillar.name.format": "圓形%s柱", + "domum_ornamentum.blockypillar.name.format": "方塊%s柱", + "domum_ornamentum.dark_brick.name.format": "深色%s磚塊", + "domum_ornamentum.dark_brick_stair.name.format": "深色%s磚樓梯", + "domum_ornamentum.desc.center": "中心%s", + "domum_ornamentum.desc.frame": "邊框%s", + "domum_ornamentum.desc.main": "主要%s", + "domum_ornamentum.desc.material": "材料:%s", + "domum_ornamentum.desc.onlyone": "%s", + "domum_ornamentum.desc.shingle": "屋瓦%s", + "domum_ornamentum.desc.support": "支撐%s", + "domum_ornamentum.door.block.format": "材料:%s", + "domum_ornamentum.door.name.format": "%s門", + "domum_ornamentum.door.type.format": "樣式:%s", + "domum_ornamentum.door.type.name.full": "實心", + "domum_ornamentum.door.type.name.port.manteau": "斗篷造型", + "domum_ornamentum.door.type.name.vertically.striped": "垂直條紋", + "domum_ornamentum.door.type.name.waffle": "格狀", + "domum_ornamentum.extra.name.format": "%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.black": "黑色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.blue": "藍色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.brown": "棕色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.cyan": "青色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.gray": "灰色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.green": "綠色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.light_blue": "淺藍色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.light_gray": "淺灰色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.lime": "淺綠色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.magenta": "洋紅色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.orange": "橘色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.pink": "粉紅色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.purple": "紫色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.red": "紅色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.white": "白色%s附加裝飾方塊", + "domum_ornamentum.extra.name.format.yellow": "黃色%s附加裝飾方塊", + "domum_ornamentum.fancydoor.center.block.format": " - 材料:%s", + "domum_ornamentum.fancydoor.center.header": "中心:", + "domum_ornamentum.fancydoor.frame.block.format": " - 材料:%s", + "domum_ornamentum.fancydoor.frame.header": "邊框:", + "domum_ornamentum.fancydoor.name.format": "精緻%s門", + "domum_ornamentum.fancydoor.type.format": "樣式:%s", + "domum_ornamentum.fancydoor.type.name.creeper": "苦力怕", + "domum_ornamentum.fancydoor.type.name.full": "實心", + "domum_ornamentum.fancytrapdoor.center.block.format": " - 材料:%s", + "domum_ornamentum.fancytrapdoor.center.header": "中心:", + "domum_ornamentum.fancytrapdoor.frame.block.format": " - 材料:%s", + "domum_ornamentum.fancytrapdoor.frame.header": "邊框:", + "domum_ornamentum.fancytrapdoor.name.format": "精緻%s活板門", + "domum_ornamentum.fancytrapdoor.type.format": "樣式:%s", + "domum_ornamentum.fancytrapdoor.type.name.creeper": "苦力怕", + "domum_ornamentum.fancytrapdoor.type.name.full": "實心", + "domum_ornamentum.fence-gate.name.format": "%s柵欄門", + "domum_ornamentum.fence.name.format": "%s柵欄", + "domum_ornamentum.group": "分類:", + "domum_ornamentum.light.center.block.format": " - 材料:%s", + "domum_ornamentum.light.center.header": "中心:", + "domum_ornamentum.light.frame.block.format": " - 材料:%s", + "domum_ornamentum.light.frame.header": "邊框:", + "domum_ornamentum.light.frame.name.format": "鑲邊%s", + "domum_ornamentum.light.frame.type.center_light": "中心", + "domum_ornamentum.light.frame.type.crossed_light": "十字", + "domum_ornamentum.light.frame.type.fancy_light": "精緻", + "domum_ornamentum.light.frame.type.format": " - 樣式:%s", + "domum_ornamentum.light.frame.type.four_light": "四邊", + "domum_ornamentum.light.frame.type.framed_light": "鑲邊", + "domum_ornamentum.light.frame.type.horizontal_light": "水平", + "domum_ornamentum.light.frame.type.vertical_light": "垂直", + "domum_ornamentum.light_brick.name.format": "亮色%s磚塊", + "domum_ornamentum.light_brick_stair.name.format": "亮色%s磚樓梯", + "domum_ornamentum.origin.tooltip": "由建築師切割機製作", + "domum_ornamentum.panel.block.format": "材料:%s", + "domum_ornamentum.panel.name.format": "%s面板", + "domum_ornamentum.panel.type.format": "樣式:%s", + "domum_ornamentum.panel.type.name.boss": "凸起", + "domum_ornamentum.panel.type.name.coffer": "內凹", + "domum_ornamentum.panel.type.name.full": "實心", + "domum_ornamentum.panel.type.name.horizontal.bars": "水平欄杆", + "domum_ornamentum.panel.type.name.horizontally.squiggly.striped": "水平波浪條紋", + "domum_ornamentum.panel.type.name.horizontally.striped": "水平條紋", + "domum_ornamentum.panel.type.name.moulding": "線板", + "domum_ornamentum.panel.type.name.port.manteau": "斗篷造型", + "domum_ornamentum.panel.type.name.porthole": "舷窗", + "domum_ornamentum.panel.type.name.roundel": "圓飾", + "domum_ornamentum.panel.type.name.slot": "狹縫", + "domum_ornamentum.panel.type.name.vertical.bars": "垂直欄杆", + "domum_ornamentum.panel.type.name.vertically.squiggly.striped": "垂直波浪條紋", + "domum_ornamentum.panel.type.name.vertically.striped": "垂直條紋", + "domum_ornamentum.panel.type.name.waffle": "格狀", + "domum_ornamentum.paperwall.center.format": " - 中心:%s", + "domum_ornamentum.paperwall.frame.format": " - 邊框:%s", + "domum_ornamentum.paperwall.header": "材料:", + "domum_ornamentum.paperwall.name.format": "%s鑲邊薄牆", + "domum_ornamentum.pillar.column.format": "主要材料:%s", + "domum_ornamentum.pillar.header": "樣式:", + "domum_ornamentum.post.block.format": "材料:%s", + "domum_ornamentum.post.name.format": "%s立柱", + "domum_ornamentum.post.type.format": "樣式:%s", + "domum_ornamentum.post.type.name.double": "雙柱", + "domum_ornamentum.post.type.name.heavy": "厚底", + "domum_ornamentum.post.type.name.pinched": "收腰", + "domum_ornamentum.post.type.name.plain": "單柱", + "domum_ornamentum.post.type.name.quad": "四柱", + "domum_ornamentum.post.type.name.turned": "中段加粗", + "domum_ornamentum.shingle.main.format": "主要材料:%s", + "domum_ornamentum.shingle.name.format.block.domum_ornamentum.shingle": "%s屋瓦", + "domum_ornamentum.shingle.name.format.block.domum_ornamentum.shingle_flat": "%s平屋瓦", + "domum_ornamentum.shingle.name.format.block.domum_ornamentum.shingle_flat_lower": "%s低平屋瓦", + "domum_ornamentum.shingle.support.format": "支撐:%s", + "domum_ornamentum.shingle_slab.cover.format": "覆蓋物:%s", + "domum_ornamentum.shingle_slab.main.format": "主要材料:%s", + "domum_ornamentum.shingle_slab.name.format": "%s屋瓦半磚", + "domum_ornamentum.shingle_slab.support.format": "支撐:%s", + "domum_ornamentum.slab.name.format": "%s半磚", + "domum_ornamentum.squarepillar.name.format": "方形%s柱", + "domum_ornamentum.stair.name.format": "%s樓梯", + "domum_ornamentum.timber.center.block.format": " - 材料:%s", + "domum_ornamentum.timber.center.header": "中心:", + "domum_ornamentum.timber.frame.block.format": " - 材料:%s", + "domum_ornamentum.timber.frame.header": "邊框:", + "domum_ornamentum.timber.frame.name.format": "鑲邊%s", + "domum_ornamentum.timber.frame.type.double_crossed": "雙十字", + "domum_ornamentum.timber.frame.type.down_gated": "下門型", + "domum_ornamentum.timber.frame.type.format": " - 樣式:%s", + "domum_ornamentum.timber.frame.type.framed": "鑲邊", + "domum_ornamentum.timber.frame.type.horizontal_plain": "水平紋", + "domum_ornamentum.timber.frame.type.one_crossed_lr": "左上右下斜線", + "domum_ornamentum.timber.frame.type.one_crossed_rl": "右上左下斜線", + "domum_ornamentum.timber.frame.type.plain": "垂直紋", + "domum_ornamentum.timber.frame.type.side_framed": "側邊鑲邊", + "domum_ornamentum.timber.frame.type.side_framed_horizontal": "側邊鑲邊(水平)", + "domum_ornamentum.timber.frame.type.up_gated": "上門型", + "domum_ornamentum.trapdoor.block.format": "材料:%s", + "domum_ornamentum.trapdoor.name.format": "%s活板門", + "domum_ornamentum.trapdoor.type.format": "樣式:%s", + "domum_ornamentum.trapdoor.type.name.boss": "凸起", + "domum_ornamentum.trapdoor.type.name.coffer": "內凹", + "domum_ornamentum.trapdoor.type.name.full": "實心", + "domum_ornamentum.trapdoor.type.name.horizontal.bars": "水平欄杆", + "domum_ornamentum.trapdoor.type.name.horizontally.squiggly.striped": "水平波浪條紋", + "domum_ornamentum.trapdoor.type.name.horizontally.striped": "水平條紋", + "domum_ornamentum.trapdoor.type.name.moulding": "線板", + "domum_ornamentum.trapdoor.type.name.port.manteau": "斗篷造型", + "domum_ornamentum.trapdoor.type.name.porthole": "舷窗", + "domum_ornamentum.trapdoor.type.name.roundel": "圓飾", + "domum_ornamentum.trapdoor.type.name.slot": "狹縫", + "domum_ornamentum.trapdoor.type.name.vertical.bars": "垂直欄杆", + "domum_ornamentum.trapdoor.type.name.vertically.squiggly.striped": "垂直波浪條紋", + "domum_ornamentum.trapdoor.type.name.vertically.striped": "垂直條紋", + "domum_ornamentum.trapdoor.type.name.waffle": "格狀", + "domum_ornamentum.variant": "樣式:", + "domum_ornamentum.wall.name.format": "%s牆", + "itemGroup.domum_ornamentum.doors": "DO|門", + "itemGroup.domum_ornamentum.extra-blocks": "DO|裝飾方塊", + "itemGroup.domum_ornamentum.fences": "DO|柵欄", + "itemGroup.domum_ornamentum.floating-carpets": "DO|浮空地毯", + "itemGroup.domum_ornamentum.general": "家居裝飾(DO)", + "itemGroup.domum_ornamentum.paperwalls": "DO|鑲邊薄牆", + "itemGroup.domum_ornamentum.posts": "DO|立柱", + "itemGroup.domum_ornamentum.shingle_slabs": "DO|屋瓦半磚", + "itemGroup.domum_ornamentum.shingles": "DO|屋瓦", + "itemGroup.domum_ornamentum.slabs": "DO|半磚", + "itemGroup.domum_ornamentum.stairs": "DO|樓梯", + "itemGroup.domum_ornamentum.timber_frames": "DO|鑲邊方塊", + "itemGroup.domum_ornamentum.walls": "DO|牆" +} \ No newline at end of file diff --git a/kubejs/assets/endermanoverhaul/lang/zh_tw.json b/kubejs/assets/endermanoverhaul/lang/zh_tw.json new file mode 100644 index 000000000..51bfdc362 --- /dev/null +++ b/kubejs/assets/endermanoverhaul/lang/zh_tw.json @@ -0,0 +1,29 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.endermanoverhaul.nether_wastes_enderman": "洞穴末影人", + "entity.endermanoverhaul.dark_oak_enderman": "灰燼末影人", + "entity.endermanoverhaul.mushroom_fields_enderman": "蘑菇末影人", + "entity.endermanoverhaul.swamp_enderman": "覆苔末影人", + "entity.endermanoverhaul.scarab": "甲蟲", + "entity.endermanoverhaul.soulsand_valley_enderman": "光花侵染末影人", + "entity.endermanoverhaul.windswept_hills_enderman": "月海末影人", + "entity.endermanoverhaul.end_enderman": "男中音合唱末影人", + "entity.endermanoverhaul.end_islands_enderman": "女高音合唱末影人", + "entity.endermanoverhaul.spirit": "彗星", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "洞穴末影人生怪蛋", + "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "灰燼末影人生怪蛋", + "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "蘑菇末影人生怪蛋", + "item.endermanoverhaul.swamp_enderman_spawn_egg": "覆苔末影人生怪蛋", + "item.endermanoverhaul.scarab_spawn_egg": "甲蟲生怪蛋", + "item.endermanoverhaul.soulsand_valley_enderman_spawn_egg": "光花侵染末影人生怪蛋", + "item.endermanoverhaul.windswept_hills_enderman_spawn_egg": "月海末影人生怪蛋", + "item.endermanoverhaul.end_enderman_spawn_egg": "男中音合唱末影人生怪蛋", + "item.endermanoverhaul.end_islands_enderman_spawn_egg": "女高音合唱末影人生怪蛋", + "item.endermanoverhaul.spirit_spawn_egg": "彗星生怪蛋", + "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "洞穴末影人:低鳴", + "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "洞穴末影人:受傷", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "灰燼末影人:低鳴", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.darkness": "灰燼末影人:暗影降臨", + "subtitles.endermanoverhaul.entity.dark_oak_enderman.stare": "灰燼末影人:嘶吼", + "tag.item.endermanoverhaul.ender_pearls": "終界珍珠" +} \ No newline at end of file diff --git a/kubejs/assets/firmaciv/lang/zh_tw.json b/kubejs/assets/firmaciv/lang/zh_tw.json new file mode 100644 index 000000000..b1e1fe9b0 --- /dev/null +++ b/kubejs/assets/firmaciv/lang/zh_tw.json @@ -0,0 +1,241 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.firmaciv.rowboat.acacia": "相思木划艇", + "entity.firmaciv.rowboat.ash": "梣木划艇", + "entity.firmaciv.rowboat.aspen": "白楊木划艇", + "entity.firmaciv.rowboat.birch": "樺木划艇", + "entity.firmaciv.rowboat.blackwood": "黑木划艇", + "entity.firmaciv.rowboat.chestnut": "栗木划艇", + "entity.firmaciv.rowboat.douglas_fir": "花旗松木划艇", + "entity.firmaciv.rowboat.hickory": "山胡桃木划艇", + "entity.firmaciv.rowboat.kapok": "木棉木划艇", + "entity.firmaciv.rowboat.mangrove": "紅樹木划艇", + "entity.firmaciv.rowboat.maple": "楓木划艇", + "entity.firmaciv.rowboat.oak": "橡木划艇", + "entity.firmaciv.rowboat.palm": "棕櫚木划艇", + "entity.firmaciv.rowboat.pine": "松木划艇", + "entity.firmaciv.rowboat.rosewood": "玫瑰木划艇", + "entity.firmaciv.rowboat.sequoia": "紅杉木划艇", + "entity.firmaciv.rowboat.spruce": "杉木划艇", + "entity.firmaciv.rowboat.sycamore": "懸鈴木划艇", + "entity.firmaciv.rowboat.white_cedar": "白雪松木划艇", + "entity.firmaciv.rowboat.willow": "柳木划艇", + "entity.firmaciv.sloop.acacia": "相思木單桅縱帆船", + "entity.firmaciv.sloop.ash": "梣木單桅縱帆船", + "entity.firmaciv.sloop.aspen": "白楊木單桅縱帆船", + "entity.firmaciv.sloop.birch": "樺木單桅縱帆船", + "entity.firmaciv.sloop.blackwood": "黑木單桅縱帆船", + "entity.firmaciv.sloop.chestnut": "栗木單桅縱帆船", + "entity.firmaciv.sloop.douglas_fir": "花旗松木單桅縱帆船", + "entity.firmaciv.sloop.hickory": "山胡桃木單桅縱帆船", + "entity.firmaciv.sloop.kapok": "木棉木單桅縱帆船", + "entity.firmaciv.sloop.mangrove": "紅樹木單桅縱帆船", + "entity.firmaciv.sloop.maple": "楓木單桅縱帆船", + "entity.firmaciv.sloop.oak": "橡木單桅縱帆船", + "entity.firmaciv.sloop.palm": "棕櫚木單桅縱帆船", + "entity.firmaciv.sloop.pine": "松木單桅縱帆船", + "entity.firmaciv.sloop.rosewood": "玫瑰木單桅縱帆船", + "entity.firmaciv.sloop.sequoia": "紅杉木單桅縱帆船", + "entity.firmaciv.sloop.spruce": "杉木單桅縱帆船", + "entity.firmaciv.sloop.sycamore": "懸鈴木單桅縱帆船", + "entity.firmaciv.sloop.white_cedar": "白雪松木單桅縱帆船", + "entity.firmaciv.sloop.willow": "柳木單桅縱帆船", + "entity.firmaciv.sloop_construction.acacia": "相思木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.ash": "梣木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.aspen": "白楊木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.birch": "樺木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.blackwood": "黑木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.chestnut": "栗木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.douglas_fir": "花旗松木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.hickory": "山胡桃木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.kapok": "木棉木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.mangrove": "紅樹木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.maple": "楓木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.oak": "橡木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.palm": "棕櫚木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.pine": "松木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.rosewood": "玫瑰木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.sequoia": "紅杉木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.spruce": "杉木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.sycamore": "懸鈴木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.white_cedar": "白雪松木單桅縱帆船(施工中)", + "entity.firmaciv.sloop_construction.willow": "柳木單桅縱帆船(施工中)", + "entity.firmaciv.dugout_canoe.acacia": "相思木獨木舟", + "entity.firmaciv.dugout_canoe.ash": "梣木獨木舟", + "entity.firmaciv.dugout_canoe.aspen": "白楊木獨木舟", + "entity.firmaciv.dugout_canoe.birch": "樺木獨木舟", + "entity.firmaciv.dugout_canoe.blackwood": "黑木獨木舟", + "entity.firmaciv.dugout_canoe.chestnut": "栗木獨木舟", + "entity.firmaciv.dugout_canoe.douglas_fir": "花旗松木獨木舟", + "entity.firmaciv.dugout_canoe.hickory": "山胡桃木獨木舟", + "entity.firmaciv.dugout_canoe.kapok": "木棉木獨木舟", + "entity.firmaciv.dugout_canoe.mangrove": "紅樹木獨木舟", + "entity.firmaciv.dugout_canoe.maple": "楓木獨木舟", + "entity.firmaciv.dugout_canoe.oak": "橡木獨木舟", + "entity.firmaciv.dugout_canoe.palm": "棕櫚木獨木舟", + "entity.firmaciv.dugout_canoe.pine": "松木獨木舟", + "entity.firmaciv.dugout_canoe.rosewood": "玫瑰木獨木舟", + "entity.firmaciv.dugout_canoe.sequoia": "紅杉木獨木舟", + "entity.firmaciv.dugout_canoe.spruce": "杉木獨木舟", + "entity.firmaciv.dugout_canoe.sycamore": "懸鈴木獨木舟", + "entity.firmaciv.dugout_canoe.white_cedar": "白雪松木獨木舟", + "entity.firmaciv.dugout_canoe.willow": "柳木獨木舟", + "block.firmaciv.thatch_roofing_stairs": "茅草屋頂樓梯", + "block.firmaciv.thatch_roofing_slab": "茅草屋頂半磚", + "block.firmaciv.thatch_roofing": "茅草屋頂", + "entity.firmaciv.kayak": "皮划艇", + "entity.firmaciv.cannon": "加農砲", + "entity.firmaciv.compartment_tfc_chest": "船艙箱", + "entity.firmaciv.compartment_tfc_barrel": "船艙木桶", + "entity.firmaciv.compartment_large_vessel": "大型容器艙", + "config.jade.plugin_firmaciv.barrel": "船艙木桶", + "config.jade.plugin_firmaciv.tfc_chest": "TFC 船艙箱", + "itemGroup.firmaciv": "群巒傳說:航海文明", + "creativetab.firmaciv_tab": "群巒傳說:航海文明", + "creativetab.watercraft_tab": "水上載具", + "creativetab.navigation_tab": "航海工具", + "tfc.recipe.barrel.firmaciv.barrel.large_waterproof_hide_olive": "大型防水皮革", + "tfc.recipe.barrel.firmaciv.barrel.large_waterproof_hide_tallow": "大型防水皮革", + "copy_latitude": "複製緯度到剪貼簿", + "copy_longitude": "複製經度到剪貼簿", + "copy_latlon": "複製經緯度到剪貼簿", + "copy_altitude": "複製海拔高度到剪貼簿", + "latitude": "緯度", + "longitude": "經度", + "altitude": "海拔高度", + "degrees": "度", + "sea_level": "海平面", + "north": "北", + "south": "南", + "east": "東", + "west": "西", + "above": "上方", + "below": "下方", + "meters": "公尺", + "press_button": "按下", + "eject_passengers": "彈出乘客", + "restless_passenger": "這位乘客顯得坐立不安。", + "firmaciv.advancements.kayak_paddle.title": "雙重麻煩", + "firmaciv.advancements.kayak_paddle.description": "製作一支皮划艇槳", + "firmaciv.advancements.canoe.title": "火力全開", + "firmaciv.advancements.canoe.description": "嘗試點燃獨木舟船體", + "firmaciv.advancements.oar.title": "划動吧,我的槳", + "firmaciv.advancements.oar.description": "製作一支船槳", + "firmaciv.advancements.kayak.title": "今晚,我送你回家", + "firmaciv.advancements.kayak.description": "製作一艘皮划艇", + "firmaciv.advancements.nav_clock.title": "分秒必爭", + "firmaciv.advancements.nav_clock.description": "製作一個領航員時計", + "firmaciv.advancements.sextant.title": "星光指引", + "firmaciv.advancements.sextant.description": "製作一個六分儀", + "firmaciv.advancements.barometer.title": "衝浪還是滑草?", + "firmaciv.advancements.barometer.description": "製作一個晴雨表", + "firmaciv.advancements.oarlock.title": "蒙特雷克切口", + "firmaciv.advancements.oarlock.description": "鍛造一支船槳", + "firmaciv.jei.transfer.error.barrel_sealed": "木桶目前已密封", + "block.firmaciv.watercraft_frame_angled": "斜面船匠腳手架", + "block.firmaciv.watercraft_frame_flat": "平面船匠腳手架", + "item.firmaciv.unfinished_barometer": "未完成的晴雨表", + "item.firmaciv.unfinished_nav_clock": "未完成的領航員時計", + "item.firmaciv.unfinished_sextant": "未完成的六分儀", + "item.firmaciv.cannon_barrel": "砲管", + "item.firmaciv.small_triangular_sail": "小型三角帆", + "item.firmaciv.medium_triangular_sail": "中型三角帆", + "item.firmaciv.large_triangular_sail": "大型三角帆", + "item.firmaciv.cannon": "加農砲", + "item.firmaciv.sloop_icon_only": "僅顯示圖示", + "item.firmaciv.canoe_icon_only": "僅顯示圖示", + "item.firmaciv.canoe_with_paddle_icon_only": "僅顯示圖示", + "item.firmaciv.kayak_with_paddle_icon_only": "僅顯示圖示", + "item.firmaciv.rowboat_icon_only": "僅顯示圖示", + "item.firmaciv.copper_bolt": "銅製螺栓", + "item.firmaciv.kayak": "皮划艇", + "item.firmaciv.large_waterproof_hide": "大型防水皮革", + "item.firmaciv.nav_toolkit": "領航員工具箱", + "item.firmaciv.barometer": "晴雨表", + "item.firmaciv.sextant": "六分儀", + "item.firmaciv.nav_clock": "領航員時計", + "item.firmaciv.firmaciv_compass": "指南針(校正至正北)", + "item.firmaciv.kayak_paddle": "皮划艇槳", + "item.firmaciv.canoe_paddle": "獨木舟槳", + "block.firmaciv.wood.acacia_roofing": "相思木屋頂", + "block.firmaciv.wood.ash_roofing": "梣木屋頂", + "block.firmaciv.wood.aspen_roofing": "白楊木屋頂", + "block.firmaciv.wood.birch_roofing": "樺木屋頂", + "block.firmaciv.wood.blackwood_roofing": "黑木屋頂", + "block.firmaciv.wood.chestnut_roofing": "栗木屋頂", + "block.firmaciv.wood.douglas_fir_roofing": "花旗松木屋頂", + "block.firmaciv.wood.hickory_roofing": "山胡桃木屋頂", + "block.firmaciv.wood.kapok_roofing": "木棉木屋頂", + "block.firmaciv.wood.mangrove_roofing": "紅樹木屋頂", + "block.firmaciv.wood.maple_roofing": "楓木屋頂", + "block.firmaciv.wood.oak_roofing": "橡木屋頂", + "block.firmaciv.wood.palm_roofing": "棕櫚木屋頂", + "block.firmaciv.wood.pine_roofing": "松木屋頂", + "block.firmaciv.wood.rosewood_roofing": "玫瑰木屋頂", + "block.firmaciv.wood.sequoia_roofing": "紅杉木屋頂", + "block.firmaciv.wood.spruce_roofing": "杉木屋頂", + "block.firmaciv.wood.sycamore_roofing": "懸鈴木屋頂", + "block.firmaciv.wood.white_cedar_roofing": "白雪松木屋頂", + "block.firmaciv.wood.willow_roofing": "柳木屋頂", + "block.firmaciv.wood.watercraft_frame.flat.acacia": "相思木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.acacia": "相思木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.acacia": "相思木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.ash": "梣木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.ash": "梣木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.ash": "梣木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.aspen": "白楊木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.aspen": "白楊木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.aspen": "白楊木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.birch": "樺木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.birch": "樺木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.birch": "樺木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.blackwood": "黑木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.blackwood": "黑木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.blackwood": "黑木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.chestnut": "栗木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.chestnut": "栗木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.chestnut": "栗木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.douglas_fir": "花旗松木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.douglas_fir": "花旗松木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.douglas_fir": "花旗松木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.hickory": "山胡桃木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.hickory": "山胡桃木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.hickory": "山胡桃木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.kapok": "木棉木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.kapok": "木棉木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.kapok": "木棉木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.mangrove": "紅樹木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.mangrove": "紅樹木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.mangrove": "紅樹木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.maple": "楓木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.maple": "楓木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.maple": "楓木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.oak": "橡木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.oak": "橡木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.oak": "橡木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.palm": "棕櫚木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.palm": "棕櫚木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.palm": "棕櫚木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.pine": "松木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.pine": "松木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.pine": "松木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.rosewood": "玫瑰木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.rosewood": "玫瑰木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.rosewood": "玫瑰木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.sequoia": "紅杉木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.sequoia": "紅杉木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.sequoia": "紅杉木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.spruce": "杉木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.spruce": "杉木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.spruce": "杉木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.sycamore": "懸鈴木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.sycamore": "懸鈴木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.sycamore": "懸鈴木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.white_cedar": "白雪松木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.white_cedar": "白雪松木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.white_cedar": "白雪松木獨木舟組件", + "block.firmaciv.wood.watercraft_frame.flat.willow": "柳木平面船匠腳手架", + "block.firmaciv.wood.watercraft_frame.angled.willow": "柳木斜面船匠腳手架", + "block.firmaciv.wood.canoe_component_block.willow": "柳木獨木舟組件", + "item.firmaciv.rope_coil": "黃麻繩" +} \ No newline at end of file diff --git a/kubejs/assets/firmacivplus/lang/zh_tw.json b/kubejs/assets/firmacivplus/lang/zh_tw.json new file mode 100644 index 000000000..0ad388d93 --- /dev/null +++ b/kubejs/assets/firmacivplus/lang/zh_tw.json @@ -0,0 +1,63 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.firmacivplus.wood.baobab_roofing": "猴麵包樹木屋頂", + "block.firmacivplus.wood.canoe_component_block.crimson": "緋紅蕈木獨木舟組件", + "block.firmacivplus.wood.canoe_component_block.cypress": "柏木獨木舟組件", + "block.firmacivplus.wood.canoe_component_block.fig": "無花果木獨木舟組件", + "block.firmacivplus.wood.canoe_component_block.tualang": "大甘巴豆木獨木舟組件", + "block.firmacivplus.wood.crimson_roofing": "緋紅蕈木屋頂", + "block.firmacivplus.wood.cypress_roofing": "柏木屋頂", + "block.firmacivplus.wood.eucalyptus_roofing": "桉木屋頂", + "block.firmacivplus.wood.fig_roofing": "無花果木屋頂", + "block.firmacivplus.wood.hevea_roofing": "橡膠木屋頂", + "block.firmacivplus.wood.ipe_roofing": "重蟻木屋頂", + "block.firmacivplus.wood.ironwood_roofing": "鐵木屋頂", + "block.firmacivplus.wood.mahogany_roofing": "桃花心木屋頂", + "block.firmacivplus.wood.teak_roofing": "柚木屋頂", + "block.firmacivplus.wood.tualang_roofing": "大甘巴豆木屋頂", + "block.firmacivplus.wood.warped_roofing": "扭曲蕈木屋頂", + "block.firmacivplus.wood.watercraft_frame.angled.baobab": "猴麵包樹木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.angled.eucalyptus": "桉木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.angled.hevea": "橡膠木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.angled.ipe": "重蟻木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.angled.ironwood": "鐵木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.angled.mahogany": "桃花心木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.angled.teak": "柚木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.angled.warped": "扭曲蕈木斜面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.baobab": "猴麵包樹木平面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.eucalyptus": "桉木平面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.hevea": "橡膠木平面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.ipe": "重蟻木平面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.ironwood": "鐵木平面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.mahogany": "桃花心木平面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.teak": "柚木平面船匠腳手架", + "block.firmacivplus.wood.watercraft_frame.flat.warped": "扭曲蕈木平面船匠腳手架", + "entity.firmacivplus.dugout_canoe.crimson": "緋紅蕈木獨木舟", + "entity.firmacivplus.dugout_canoe.cypress": "柏木獨木舟", + "entity.firmacivplus.dugout_canoe.fig": "無花果木獨木舟", + "entity.firmacivplus.dugout_canoe.tualang": "大甘巴豆木獨木舟", + "entity.firmacivplus.rowboat.baobab": "猴麵包樹木划艇", + "entity.firmacivplus.rowboat.eucalyptus": "桉木划艇", + "entity.firmacivplus.rowboat.hevea": "橡膠木划艇", + "entity.firmacivplus.rowboat.ipe": "重蟻木划艇", + "entity.firmacivplus.rowboat.ironwood": "鐵木划艇", + "entity.firmacivplus.rowboat.mahogany": "桃花心木划艇", + "entity.firmacivplus.rowboat.teak": "柚木划艇", + "entity.firmacivplus.rowboat.warped": "扭曲蕈木划艇", + "entity.firmacivplus.sloop.baobab": "猴麵包樹木單桅縱帆船", + "entity.firmacivplus.sloop.eucalyptus": "桉木單桅縱帆船", + "entity.firmacivplus.sloop.hevea": "橡膠木單桅縱帆船", + "entity.firmacivplus.sloop.ipe": "重蟻木單桅縱帆船", + "entity.firmacivplus.sloop.ironwood": "鐵木單桅縱帆船", + "entity.firmacivplus.sloop.mahogany": "桃花心木單桅縱帆船", + "entity.firmacivplus.sloop.teak": "柚木單桅縱帆船", + "entity.firmacivplus.sloop.warped": "扭曲蕈木單桅縱帆船", + "entity.firmacivplus.sloop_construction.baobab": "猴麵包樹木單桅縱帆船", + "entity.firmacivplus.sloop_construction.eucalyptus": "桉木單桅縱帆船", + "entity.firmacivplus.sloop_construction.hevea": "橡膠木單桅縱帆船", + "entity.firmacivplus.sloop_construction.ipe": "重蟻木單桅縱帆船", + "entity.firmacivplus.sloop_construction.ironwood": "鐵木單桅縱帆船", + "entity.firmacivplus.sloop_construction.mahogany": "桃花心木單桅縱帆船", + "entity.firmacivplus.sloop_construction.teak": "柚木單桅縱帆船", + "entity.firmacivplus.sloop_construction.warped": "扭曲蕈木單桅縱帆船" +} \ No newline at end of file diff --git a/kubejs/assets/firmalife/lang/zh_tw.json b/kubejs/assets/firmalife/lang/zh_tw.json new file mode 100644 index 000000000..c42e985b7 --- /dev/null +++ b/kubejs/assets/firmalife/lang/zh_tw.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.", + "block.firmalife.weathered_treated_wood_greenhouse_roof_top": "风化的涂蜡防腐木温室屋顶", + "block.firmalife.weathered_treated_wood_greenhouse_roof": "风化的涂蜡防腐木温室屋檐", + "block.firmalife.weathered_treated_wood_greenhouse_wall": "风化的涂蜡防腐木温室墙", + "block.firmalife.weathered_treated_wood_greenhouse_port": "风化的涂蜡防腐木温室接口", + "block.firmalife.weathered_treated_wood_greenhouse_panel_wall": "风化蜡防腐木温室板墙", + "block.firmalife.weathered_treated_wood_greenhouse_panel_roof": "风化的涂蜡防腐木温室板屋顶", + "block.firmalife.weathered_treated_wood_greenhouse_trapdoor": "风化的涂蜡防腐木温室活板门", + "block.firmalife.weathered_treated_wood_greenhouse_door": "风化的涂蜡防腐木温室门", + "block.firmalife.treated_wood_greenhouse_roof_top": "涂蜡的防腐木温室屋顶", + "block.firmalife.treated_wood_greenhouse_roof": "涂蜡的防腐木温室屋檐", + "block.firmalife.treated_wood_greenhouse_wall": "涂蜡的防腐木温室墙", + "block.firmalife.treated_wood_greenhouse_port": "涂蜡的防腐木温室接口", + "block.firmalife.treated_wood_greenhouse_panel_wall": "涂蜡的防腐木温室板墙", + "block.firmalife.treated_wood_greenhouse_panel_roof": "涂蜡的防腐木温室板屋顶", + "block.firmalife.treated_wood_greenhouse_trapdoor": "涂蜡的防腐木温室活板门", + "block.firmalife.treated_wood_greenhouse_door": "涂蜡的防腐木温室门", + "block.firmalife.treated_wood": "涂蜡的防腐木", + "item.firmalife.treated_lumber": "涂蜡木材", + "greenhouse.firmalife.treated_wood": "涂蜡的防腐木", + "firmalife.jade.needs_peel": "需要用夹子或防烫手套才能安全取出物品" +} \ 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 656611a98..081576af1 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2726,7 +2726,7 @@ "quests.high_voltage.regolith_dust.desc": "You can obtain &b4 different types of Regolith Dust&r, each producing unique resources.\n\nEach type is tied to a specific &7deep biome&r on the &7Moon&r. Keep in mind: these biomes are not directly connected to each other, so you’ll need to explore a bit.\n\nFinding the right biome is made much easier with the &aXaero Map&r — use it to quickly locate where each dust can be harvested.", "quests.high_voltage.dusty_ores.title": "Dusty Ores", "quests.high_voltage.dusty_ores.subtitle": "Are you telling more Ore Processing?", - "quests.high_voltage.dusty_ores.desc": "The &7Dusty Ore&r is an exclusive &dTerraFirmaGreg&r ore type. All the &cinfinite ores&r you’ll obtain on the &7Moon&r — and later on &4Mars&r — will appear as Dusty Ores.\n\nAt this stage, the only way to process them is by using a &6Centrifuge&r to extract their dusts.\n\nPretty limiting, right? Don’t worry — you’ll unlock far &ebetter processing&r options once you reach &eVenus&r!\n\nPro tip: You can already speed things up with a &6Large Chemical Reactor&r. Thanks to &bPerfect Overcloaking&r, it can handle Dusty Ores much faster than the basic recipe suggests.", + "quests.high_voltage.dusty_ores.desc": "The &7Dusty Ore&r is an exclusive &dTerraFirmaGreg&r ore type. All the &cinfinite ores&r you’ll obtain on the &7Moon&r — and later on &4Mars&r — will appear as Dusty Ores.\n\nAt this stage, the only way to process them is by using a &6Centrifuge&r to extract their dusts.\n\nPretty limiting, right? Don’t worry — you’ll unlock far &ebetter processing&r options once you reach &eVenus&r!\n\nPro tip: You can already speed things up with a &6Large Chemical Reactor&r. Thanks to &bPerfect Overclocking&r, it can handle Dusty Ores much faster than the basic recipe suggests.", "quests.high_voltage.dusty_ores.task": "All the Moon Dusty Ores", "quests.high_voltage.final_dust.title": "Infinite Dusts", "quests.high_voltage.final_dust.subtitle": "Finally infinite resources", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index b23ba11ea..c3ddad4de 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1148,8 +1148,8 @@ "item.tfg.beaker.filled": "%s烧杯", "item.tfg.flask": "烧瓶", "item.tfg.flask.filled": "%s烧瓶", - "item.tfg.vial": "试管", - "item.tfg.vial.filled": "%s试管", + "item.tfg.vial": "移液管", + "item.tfg.vial.filled": "%s移液管", "item.tfg.lab_equipment": "实验器材", "item.tfg.dirty_lab_equipment": "污染的实验器材", "item.tfg.wireless_card": "星际无线升级卡", @@ -1350,8 +1350,8 @@ "material.tfg.crude_mixed_gas": "粗混合气", "material.tfg.zsm5_gel": "ZSM-5凝胶", "material.tfg.leachate": "铼浸出液", - "material.tfg.clean_powder": "纯净铼硅酸盐粉末", - "material.tfg.catalyser_powder": "铼/ZSM-5催化剂粉末", + "material.tfg.clean_powder": "纯净铼硅酸盐", + "material.tfg.catalyser_powder": "铼/ZSM-5催化剂", "material.tfg.sodium_aluminium": "铝钠合金", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", @@ -1967,7 +1967,7 @@ "quests.ae2.cell_component_1m.desc": "制作&3MEGA存储组件&r需要使用&b装配线&r。请注意,非月球配方必须在洁净室内制作,若条件允许也可使用清洁维护仓进行替代。\n\n不过在月球上制作则无需满足这些环境要求。", "quests.ae2.cell_component_4m.desc": "只是更大更昂贵。", "quests.ae2.cell_component_16m.desc": "该组件仅限在&c月球&r制作,其他任何场所均无法生产。同时,其制造过程需要超净间环境。若你不愿在&c月球&r搭建洁净间,建议制作&7清洁维护仓&r作为替代方案。\n\n此外,制造该组件还需完成前置科研解锁。若不清楚具体流程,请查阅&cZPM&r章节的相关说明。", - "quests.ae2.cell_component_64m.desc": "&c64M存储组件&r是你在&7TerraFirmaGreg&r中可以制作的最大组件。老实说,我们相信你永远不需要它,但它为完美主义者而存在。", + "quests.ae2.cell_component_64m.desc": "&c64M存储组件&r是你在&cTerraFirmaGreg&r中可以制作的最大组件。老实说,我们相信你永远不需要它,但它为完美主义者而存在。", "quests.ae2.oversize_interface.desc": "&dME超大接口&r是一个&dME扩展接口&r,但每个槽位可以容纳16倍多的物品或流体。如果你有需要大量物品或流体的流程,这可能是你的首选。", "quests.ae2.assembler_matrix.desc": "&6装配矩阵&r基本上是一个可定制的多方块分子装配室。此任务的要求应让你能够构建一个我们认为足够强大的装配矩阵。如果你愿意,可以添加更多&b样板核心&r或&a合成核心&r层。\n\n像往常一样,查看游戏内指南以获取详细信息。", "quests.combat_tips.stone_main.title": "石器时代", @@ -2423,7 +2423,7 @@ "quests.extreme_voltage.btx_catalyser.title": "铂-铼/ZSM-5催化剂", "quests.extreme_voltage.btx_catalyser.subtitle": "多么复杂的名字", "quests.extreme_voltage.btx_catalyser.desc": "要制作&e铂-铼/ZSM-5催化剂&r,你需要建立&a碱&r、&a钠&r和&d下界石英&r的无限来源,以及&a氨&r和&a乙醇&r。&b铝&r将被完全循环利用,而其他材料只能部分回收。\n\n如果你不确定&d下界石英&r的来源,可以看看从&e沙子&r开始的配方链。另一方面,&a钠&r可以通过处理&b海水&r轻松获得,而碱可以通过草木灰获取。\n\n最后,将所有东西与一些&5铂&r和&5铼&r混合,即可得到你的&e催化剂&r。好消息是,铂和铼在此过程中都会被完全回收,因此无需担心,你只需要开采一次即可。", - "quests.extreme_voltage.btx_loop.title": "回收使废催化剂", + "quests.extreme_voltage.btx_loop.title": "回收废催化剂", "quests.extreme_voltage.btx_loop.subtitle": "尽可能多地回收利用", "quests.extreme_voltage.btx_loop.desc.1": "这条生产链的最后一部分是回收废催化剂。整个过程相当简单,主要的挑战将是维持&a强化环氧树脂板&r和&e胶水&r的持续供应。\n\n如果你的&2树脂采集系统&r仍在运行,它应该足以生产制作胶水所需的所有树脂。或者,对原木使用&b提取机&r也是一个完全可行的选择。这种方法稍微更&c耗电&r,但选择完全取决于你的基础设施。", "quests.extreme_voltage.btx_loop.desc.2": "关于&9稀盐酸&r的一点说明:它可以很容易地通过&b水&r与&a氯气&r反应制得。你可以储存&d次氯酸&r,或选择电解它以回收&f一半的氯气&r。\n\n至于&6硫酸&r,你应该已经通过&e石油化工蒸馏&r装置获得了无限的硫磺来源。如果还没有,我们强烈建议你尽快解决这个问题。此外,生产&b重整气&r时获得的&7煤焦油&r可以重新转化为&2硫化氢&r,并最终精炼回&6硫&r。", @@ -2525,7 +2525,7 @@ "quests.gregtech_energy.smr.task": "", "quests.gregtech_energy.gasoline.title": "汽油", "quests.gregtech_energy.gasoline.subtitle": "中间档位的选择", - "quests.gregtech_energy.gasoline.desc": "&a汽油&r是一种在&6HV&r阶段解锁的强力燃料,但实际上通常是在建造第一座&6分馏塔&r后才开始生产。&7甲苯&r可轻易从&7木焦油&r或&7重燃油&r中制得,其他所需原料则为&d炼厂气&r、&7石脑油&r以及&3氧气&r、&b氢气&r和&1碳&r的混合物。\n\n它强度高,制作相当简便,更妙的是还能升级为&c高标号汽油&r。", + "quests.gregtech_energy.gasoline.desc": "&a汽油&r是一种在&6HV&r阶段解锁的强力燃料,但实际上通常是在建造第一座&6分馏塔&r后才开始生产。&7甲苯&r可轻易从&7木焦油&r或&7重燃油&r中制得,其他所需原料则为&d炼厂气&r、&e石脑油&r以及&3氧气&r、&b氢气&r和&1碳&r的混合物。\n\n它强度高,制作相当简便,更妙的是还能升级为&c高标号汽油&r。", "quests.gregtech_energy.high_gasoline.title": "高辛烷值汽油", "quests.gregtech_energy.high_gasoline.subtitle": "动力澎湃", "quests.gregtech_energy.high_gasoline.desc": "作为&c汽油&r的直接升级版,这是&5燃料效能翻倍&r的强化型号。虽其名称未明示,但你不仅需要添加&d辛烷&r,还需加入其他来自&7石油化工&r的原料。至此,我们期望你已能熟练运用&bEMI&r,并开始制备这种性能惊人的强力燃料。", @@ -2567,7 +2567,7 @@ "quests.gregtech_energy.pss.title": "蓄能变电站", "quests.gregtech_energy.pss.subtitle": "把所有鸡蛋放在一个篮子里", "quests.gregtech_energy.pss.desc.1": "&d蓄能变电站&r——也称为&dPSS&r——是&6终极的可定制电池多方块结构&r。当你在&1IV&r阶段能够建造它时,它便能轻松成为你基地的中央供电源,因此值得作为重点发展目标。\n\n它的能量储量如此庞大……或许需要耗尽几辈子的时间才能将它填满。", - "quests.gregtech_energy.pss.desc.2": "&e运作原理&r:\n-使用&a镀钯变电站机械外壳&r搭建结构。\n-至少安装&b1个能源仓&r(输入)与&b1个动力仓&r(输出)。\n-它支持&a任意类型的输入仓&r——包括&7基于电流的常规输入&r或&6激光输入&r。\n-&c无爆炸风险&r——变压器已&a集成&r于内部。\n\n&e电容层配置&r:\n-你可在结构顶部叠加最多&d17层&r&9电容块&r。\n-每层必须&c完全铺满&r——不允许有任何空缺。\n-可随意混合使用&f空电容&r与&6满电容&r。\n\n每层周围需用&b夹层玻璃&r包裹。\n\n说真的:&c你永远用不到17层&r……不过,心怀梦想总是好的。\n如果你真的建成了满17层的蓄能变电站,&l请速来求助&r——你已走火入魔。", + "quests.gregtech_energy.pss.desc.2": "&e运作原理&r:\n-使用&a镀钯变电站机械外壳&r搭建结构。\n-至少安装&b1个能源仓&r(输入)与&b1个动力仓&r(输出)。\n-它支持&a任意类型的输入仓&r——包括&c基于电流的常规输入&r或&6激光输入&r。\n-&c无爆炸风险&r——变压器已&a集成&r于内部。\n\n&e电容层配置&r:\n-你可在结构顶部叠加最多&d17层&r&9电容块&r。\n-每层必须&c完全铺满&r——不允许有任何空缺。\n-可随意混合使用&f空电容&r与&6满电容&r。\n\n每层周围需用&b夹层玻璃&r包裹。\n\n说真的:&c你永远用不到17层&r……不过,心怀梦想总是好的。\n如果你真的建成了满17层的蓄能变电站,&l请速来求助&r——你已走火入魔。", "quests.gregtech_energy.batteries.title": "超级电池", "quests.gregtech_energy.batteries.subtitle": "科幻能源存储", "quests.gregtech_energy.batteries.desc": "在&7LV&r和&bMV&r阶段,你或许已经制造出了第一批钠电池或锂电池。\n\n但说实话——这些都是格雷科技中最基础的电池配置。\n\n在本任务中,我们将关注更强大的替代品:&a水晶电池&r。\n它们性能更强、储能密度更高,能助你将工厂推向新的等级。\n\n它们更昂贵吗?当然。但事实是……\n能量即是力量。谁还在意代价呢?", @@ -2865,7 +2865,7 @@ "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.desc": "借助&7合成气&r,你现在拥有了在&7LV&r阶段使用&7燃气轮机&r的可行方案。它们与其他&6发电机&r工作原理完全相同,但应比&6内燃机&r略微节省材料。", + "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": "并非木煤气", "quests.low_voltage.lv_gas_syngas.desc": "制造&7合成气&r非常简单。你只需为每台&6酿造室&r或&6真空腔室&r配备&b3座焦炉&r。然后借助&b机械动力树场&r收集&7木材&r以最大程度降低能耗,就能享受这种虽弱但易于生产的&7气体燃料&r了。", @@ -3130,7 +3130,7 @@ "quests.medium_voltage.mv_mixer.desc": "若想深入&bMV&r阶段,请从这里开始。\n\n&3MV搅拌机&r产出的粉末具有重要用途。", "quests.medium_voltage.mv_energy.title": "在MV阶段发电", "quests.medium_voltage.mv_energy.subtitle": "事情即将变得棘手", - "quests.medium_voltage.mv_energy.desc.1": "你好!欢迎来到&bMV能源生产&r。\n\n本章节将为你介绍维持&bMV机器&r稳定运行的各种供电方案。\n\n由于不会在每个章节都重复说明,我们强烈建议你&a仔细阅读格雷科技能源的专题章节&r以深入了解能源系统运作原理。\n\n目前你有&a三种主要选择&r:\n\n&7-使用&bMV发电机&r直接产生&bMV级电能&r\n\n&7-通过变压器将&7LV&r电能升压&r,&7LV&r与&bMV&r的转换比例为&e4:1&r\n\n&7-通过&d交流发电机&r将RF转化为&bMV电能&r\n", + "quests.medium_voltage.mv_energy.desc.1": "你好!欢迎来到&bMV能源生产&r。\n\n本章节将为你介绍维持&bMV机器&r稳定运行的各种供电方案。\n\n由于不会在每个章节都重复说明,我们强烈建议你&a仔细阅读格雷科技能源的专题章节&r以深入了解能源系统运作原理。\n\n目前你有&a三种主要选择&r:\n\n&7-使用&bMV发电机&r直接产生&bMV级电能&r\n\n&7-通过变压器将&7LV&r电能升压&r,&7LV&r与&bMV&r的转换比例为&e4:1&r\n\n&7-通过&d交流发电机&r将RF转化为&bMV电能&r\n\n", "quests.medium_voltage.mv_energy.desc.2": "更高级的发电机将按比例提升燃料消耗以匹配其发电率,同时保持燃料燃烧时长与能量产出总量不变。&3进阶蒸汽轮机&r每秒消耗&d5120mB蒸汽&r,等效于&d256mB/t&r。\n\n本任务只需获得&e任意一种&r发电机即可完成,但建议优先选择&3进阶蒸汽轮机&r。", "quests.medium_voltage.mv_energy.desc.3": "&bMV&r阶段提供了几种新的发电方案。选中发电机后按下&4U&r键可查看哪些燃料属于&a燃油&r或&a燃气&r。\n\n本章节左上角的任务将指引你获取高效发电方案。\n\n若你坚持使用&9蒸汽&r发电,可能需要配备&3大型锅炉&r。", "quests.medium_voltage.mv_energy.desc.4": "&3变压器&r能安全实现不同电压等级间的升压与降压。它们将接收到的电力转换为比输入电压高或低一个等级的等量电力。\n\n除了驱动不同电压等级的机器外,变压器还能用于长距离电力传输——因为更高电压下线路损耗的影响更小。这和现实世界如出一辙!", From 3ba1411737b28d65d01bd71fdbde4f941e87c030 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 00:04:26 +0000 Subject: [PATCH 531/628] emi categories --- kubejs/assets/emi/category/properties/ae2_p2p_attunement.json | 2 +- .../emi/category/properties/diggerhelmet_helmet_repair.json | 2 +- .../category/properties/domum_ornamentum_architects_cutter.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/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 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json b/kubejs/assets/emi/category/properties/ae2_p2p_attunement.json index bd9501a4b..77df76d37 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":168}} \ 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..db7a788ab 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":163}} \ 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..baa7beb50 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":167}} \ 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..77156f055 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":161}} \ 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 4659a3036..8a808ccf3 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":173}} \ No newline at end of file +{"exposure:photograph_stacking":{"order":162}} \ 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..eb210dcf7 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":166}} \ 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 4ed74f9cf..3678d67d1 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":162}} \ No newline at end of file +{"greate:automatic_packing":{"order":175}} \ 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 552776e1d..8080e35cc 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":160}} \ No newline at end of file +{"greate:automatic_shaped":{"order":173}} \ 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 76cb5fc0f..0b7a0b31e 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":161}} \ No newline at end of file +{"greate:automatic_shapeless":{"order":174}} \ 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..dfb2ea8ed 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":165}} \ 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..91b6e6c98 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":160}} \ 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..6176a3709 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":164}} \ 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 0e6a31d02..42452df10 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":174}} \ No newline at end of file +{"tacz:attachment_query":{"order":169}} \ 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 d1f3145d1..f021df1bc 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":175}} \ No newline at end of file +{"taczammoquery:ammo_query":{"order":170}} \ No newline at end of file From 76f70a8356526403700aecd6aae367799c8a0bc5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 00:04:29 +0000 Subject: [PATCH 532/628] cl --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73318c5e4..159ddebf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,12 @@ - change energy acceptor to use a machine hull instead of a converter. (#2553) @thederpysockdude123 - Update ExtendedAE package name in InvTweaks exclusions. (#2556) @FakeDomi - Pickled eggs can now be used in sandwiches (#2551) @Pyritie +- Changed small gear mold capacity from 288 to 144mb (#2544) @JeanRdSz ### Mod updates - New [Greate changelog](https://github.com/GreateBeyondTheHorizon/Greate/releases/tag/0.0.59) - New [Firmalife changelog](https://github.com/eerussianguy/firmalife/releases/tag/v2.1.25) ### Bug fixes +- Fixed recipe conflict between Rimmed Blunt Bullet and 45-70 Bullet (#2545) @BlueBoat29 - Fixed cake recipes returning nothing in a food processor (#2558) @Pyritie - Fixed a crash when generating chunks sometimes @Satherov ### Translation updates From 3dce03058a56ea6b75df897d2a5edd79318f3a44 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 00:31:11 +0000 Subject: [PATCH 533/628] 0.11.14 --- CHANGELOG.md | 8 +++++++- config/crash_assistant/modlist.json | 17 ++++++++++----- pakku-lock.json | 32 ++++++++++++++--------------- 3 files changed, 35 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 159ddebf7..4814497d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,12 @@ ## Unreleased ### Changes -- change energy acceptor to use a machine hull instead of a converter. (#2553) @thederpysockdude123 +### Bug fixes +### Translation updates + +## [0.11.14] - 31-12-2025 +### Changes +- Change energy acceptor to use a machine hull instead of a converter. (#2553) @thederpysockdude123 - Update ExtendedAE package name in InvTweaks exclusions. (#2556) @FakeDomi - Pickled eggs can now be used in sandwiches (#2551) @Pyritie - Changed small gear mold capacity from 288 to 144mb (#2544) @JeanRdSz @@ -10,6 +15,7 @@ - New [Greate changelog](https://github.com/GreateBeyondTheHorizon/Greate/releases/tag/0.0.59) - New [Firmalife changelog](https://github.com/eerussianguy/firmalife/releases/tag/v2.1.25) ### Bug fixes +- Fixed issue where the arc furnace was generating annealed copper nuggets out of nothing @BlueBoat29 - Fixed recipe conflict between Rimmed Blunt Bullet and 45-70 Bullet (#2545) @BlueBoat29 - Fixed cake recipes returning nothing in a food processor (#2558) @Pyritie - Fixed a crash when generating chunks sometimes @Satherov diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index d5bbc8fcd..b4218ae78 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -746,6 +746,13 @@ "curseForgeHash": 2646303899, "modrinthHash": "4b100de40338247a3fbf4d1fd1846257c5338189" }, + "ftbxaerocompat-forge-1.1.1.jar": { + "jarName": "ftbxaerocompat-forge-1.1.1.jar", + "modId": "ftbxaerocompat", + "version": "1.1.1", + "curseForgeHash": 2050132927, + "modrinthHash": "c36353b31e1e613294609730d3e01bb49e0cf7bd" + }, "fullstackwatchdog-1.0.1+1.19.2-forge.jar": { "jarName": "fullstackwatchdog-1.0.1+1.19.2-forge.jar", "modId": "fullstackwatchdog", @@ -1458,12 +1465,12 @@ "curseForgeHash": 1729769370, "modrinthHash": "1a64a638d83e7b33d1f4c589ac0bc3005ffec34f" }, - "TFCBetterBlastFurnace-1.20.1-1.0.1.jar": { - "jarName": "TFCBetterBlastFurnace-1.20.1-1.0.1.jar", + "TFCBetterBlastFurnace-1.20.1-1.0.2.jar": { + "jarName": "TFCBetterBlastFurnace-1.20.1-1.0.2.jar", "modId": "tfcbetterbf", - "version": "1.0.1", - "curseForgeHash": 876624666, - "modrinthHash": "deed557181e79cfa11ab29916d74801ba5d6dcd0" + "version": "1.0.2", + "curseForgeHash": 122027446, + "modrinthHash": "e40bc10f114bce20b9c003a7d42a97834d5a1bcc" }, "tfccanes-2.1.2.jar": { "jarName": "tfccanes-2.1.2.jar", diff --git a/pakku-lock.json b/pakku-lock.json index a9492bf8d..7d40ddd51 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14130,7 +14130,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.12.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.13.jar", "mc_versions": [ "1.20.1" ], @@ -14139,23 +14139,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/xLevdPCa/TerraFirmaGreg-Core-Modern-0.8.12.jar", - "id": "xLevdPCa", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/HelwhGEr/TerraFirmaGreg-Core-Modern-0.8.13.jar", + "id": "HelwhGEr", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "9af9237a291f0b911e420477cbb45aeaa18c12b41e0d8bd4d2c3cc5575dfb4129ab0e4144c9122c9bfcafef855c659e05c4fb4478b9a6817a8fc4def00995b04", - "sha1": "5dc28e3df1d3e2b5c17f0b6cf1b8b92790d7ea9b" + "sha512": "23a7efa66051fec7fae0245eb224a0ca0161292c6cac3eb7455351e722a980baa4bab8e2a7d40a5c9464669fd5eecaec136f8895b185a7daecbbc8722bf208f4", + "sha1": "557984bbe48f571e60426b370d6fa52baa4a1cef" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 9357821, - "date_published": "2025-12-27T13:29:26.042411Z" + "size": 9358358, + "date_published": "2025-12-31T00:11:28.087747Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.12.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.13.jar", "mc_versions": [ "1.20.1" ], @@ -14164,19 +14164,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7384/528/TerraFirmaGreg-Core-Modern-0.8.12.jar", - "id": "7384528", + "url": "https://edge.forgecdn.net/files/7398/423/TerraFirmaGreg-Core-Modern-0.8.13.jar", + "id": "7398423", "parent_id": "513402", "hashes": { - "sha1": "5dc28e3df1d3e2b5c17f0b6cf1b8b92790d7ea9b", - "md5": "253aa985ab553e2267228bdb76ae0243" + "sha1": "557984bbe48f571e60426b370d6fa52baa4a1cef", + "md5": "7c86acba0fbfa684caf532b3dbc07edb" }, "required_dependencies": [ - "302973", - "890405" + "890405", + "302973" ], - "size": 9357821, - "date_published": "2025-12-27T13:29:21.377Z" + "size": 9358358, + "date_published": "2025-12-31T00:11:23.020Z" } ] }, From 2de2c7793e221389063ec429db1cba9881c00014 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 01:15:50 +0000 Subject: [PATCH 534/628] depots are now forge insulation --- CHANGELOG.md | 1 + kubejs/server_scripts/tfc/tags.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4814497d8..3ffc80c58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Changes +- Create Depots now count as forge insulation, so a basin can output directly onto one @Pyritie ### Bug fixes ### Translation updates diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index f9aaed748..708eedae4 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -476,6 +476,7 @@ function registerTFCBlockTags(event) { const brick_blacklist = "drying|slab|stairs|wall|additionalplacements"; event.add("tfc:bloomery_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); event.add("tfc:forge_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); + event.add("tfc:forge_insulation", 'create:depot'); global.TFC_STONE_TYPES.forEach((stone) => { event.add("minecraft:stone_buttons", `tfc:rock/button/${stone}`); From 4d81c4f7bbba65288fe6f7075c26b4fd3b2bac62 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 01:42:36 +0000 Subject: [PATCH 535/628] cl --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ffc80c58..584467168 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,6 @@ ## Unreleased ### Changes -- Create Depots now count as forge insulation, so a basin can output directly onto one @Pyritie ### Bug fixes ### Translation updates @@ -12,6 +11,7 @@ - Update ExtendedAE package name in InvTweaks exclusions. (#2556) @FakeDomi - Pickled eggs can now be used in sandwiches (#2551) @Pyritie - Changed small gear mold capacity from 288 to 144mb (#2544) @JeanRdSz +- Create Depots now count as forge insulation, so a basin can output directly onto one @Pyritie ### Mod updates - New [Greate changelog](https://github.com/GreateBeyondTheHorizon/Greate/releases/tag/0.0.59) - New [Firmalife changelog](https://github.com/eerussianguy/firmalife/releases/tag/v2.1.25) From 040ccfda2c41af98cf86f67aadc9c1ca11dce4fe Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 11:56:42 +0000 Subject: [PATCH 536/628] fix greate stress levels #2564 --- CHANGELOG.md | 1 + config/crash_assistant/modlist.json | 10 +-- defaultconfigs/greate-server.toml | 89 ------------------- .../greate/material_modification.js | 16 ++++ kubejs/startup_scripts/greate/materials.js | 26 +++--- 5 files changed, 36 insertions(+), 106 deletions(-) create mode 100644 kubejs/startup_scripts/greate/material_modification.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 584467168..9503c712d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Changes ### Bug fixes +- Fixed Greate stress levels (#2564) @Pyritie ### Translation updates ## [0.11.14] - 31-12-2025 diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index b4218ae78..e453588be 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -1402,12 +1402,12 @@ "curseForgeHash": 837967200, "modrinthHash": "107d4aec4694c509ea7ea8f3963478ae8002f46e" }, - "TerraFirmaGreg-Core-Modern-0.8.12.jar": { - "jarName": "TerraFirmaGreg-Core-Modern-0.8.12.jar", + "TerraFirmaGreg-Core-Modern-0.8.13.jar": { + "jarName": "TerraFirmaGreg-Core-Modern-0.8.13.jar", "modId": "tfg", - "version": "0.8.12", - "curseForgeHash": 3615222056, - "modrinthHash": "320db558605f446a76db4355e1a8e1b008c33630" + "version": "0.8.13", + "curseForgeHash": 1252674808, + "modrinthHash": "557984bbe48f571e60426b370d6fa52baa4a1cef" }, "tfc_gurman-1.2.0.jar": { "jarName": "tfc_gurman-1.2.0.jar", diff --git a/defaultconfigs/greate-server.toml b/defaultconfigs/greate-server.toml index c97be947b..cdf03e0a6 100644 --- a/defaultconfigs/greate-server.toml +++ b/defaultconfigs/greate-server.toml @@ -1,7 +1,3 @@ -#. -#Multiplier used for calculating how many ticks should initially be removed in fan processing recipes, based on how fast the fan is spinning. -#Range: 0.0 ~ 3.4028234663852886E38 -fanSpeedMultiplier = 0.75 #. #Parameters and abilities of Greate's kinetic mechanisms @@ -243,91 +239,6 @@ fanSpeedMultiplier = 0.75 neutronium_mechanical_saw = 5.0 neutronium_mechanical_pump = 5.0 - #. - #Fine tune settings related to tiers - [kinetics.stressValues.v2.maxCapacity] - - #. - #. - #Settings related to andesite tier machines - [kinetics.stressValues.v2.maxCapacity.andesite] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - andesiteMaxCapacity = 32 - - #. - #Settings related to steel tier machines - [kinetics.stressValues.v2.maxCapacity.steel] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - steelMaxCapacity = 128 - - #. - #Settings related to aluminium tier machines - [kinetics.stressValues.v2.maxCapacity.aluminium] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - aluminiumMaxCapacity = 512 - - #. - #Settings related to stainless steel tier machines - [kinetics.stressValues.v2.maxCapacity.stainlessSteel] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - stainlessSteelMaxCapacity = 2048 - - #. - #Settings related to titanium tier machines - [kinetics.stressValues.v2.maxCapacity.titanium] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - titaniumMaxCapacity = 8192 - - #. - #Settings related to tungstensteel tier machines - [kinetics.stressValues.v2.maxCapacity.tungstensteel] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - tungstensteelMaxCapacity = 32768 - - #. - #Settings related to palladium tier machines - [kinetics.stressValues.v2.maxCapacity.palladium] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - palladiumMaxCapacity = 131072 - - #. - #Settings related to naquadah tier machines - [kinetics.stressValues.v2.maxCapacity.naquadah] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - naquadahMaxCapacity = 524288 - - #. - #Settings related to darmstadtium tier machines - [kinetics.stressValues.v2.maxCapacity.darmstadtium] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - darmstadtiumMaxCapacity = 2097152 - - #. - #Settings related to neutronium tier machines - [kinetics.stressValues.v2.maxCapacity.neutronium] - #. - #Configure the max stress a kinetic block of this tier can support. - #Range: > -2147483648 - neutroniumMaxCapacity = 8388608 - #. #Fine tune settings related to pumps [kinetics.pumps] diff --git a/kubejs/startup_scripts/greate/material_modification.js b/kubejs/startup_scripts/greate/material_modification.js new file mode 100644 index 000000000..21b3e8055 --- /dev/null +++ b/kubejs/startup_scripts/greate/material_modification.js @@ -0,0 +1,16 @@ +// priority: 0 +"use strict"; + +const registerGreateMaterialModification = (event) => { + + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + + // Add flags + $GreateMaterials.RoseQuartz.addFlags( + GTMaterialFlags.GENERATE_LENS + ); + + // Material composition + $GreateMaterials.AndesiteAlloy.setComponents([]) + $GreateMaterials.AndesiteAlloy.setFormula("?") +} \ No newline at end of file diff --git a/kubejs/startup_scripts/greate/materials.js b/kubejs/startup_scripts/greate/materials.js index 8a176bd71..562be0323 100644 --- a/kubejs/startup_scripts/greate/materials.js +++ b/kubejs/startup_scripts/greate/materials.js @@ -1,10 +1,11 @@ +// priority: 0 "use strict"; - const registerGreateMaterials = (event) => { // Belt materials should already have an ingot and plate item already const $BeltProperty = Java.loadClass("electrolyte.greate.content.gtceu.material.BeltProperty") const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + const $GreatePropertyKeys = Java.loadClass("electrolyte.greate.content.gtceu.material.GreatePropertyKeys") // Wood belt $GreateMaterials.AndesiteAlloy.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([$GreateMaterials.AndesiteAlloy], 5)) @@ -25,16 +26,17 @@ const registerGreateMaterials = (event) => { GTMaterials.SiliconeRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.StainlessSteel, GTMaterials.Aluminium], 25)) GTMaterials.StyreneButadieneRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Titanium, GTMaterials.StainlessSteel], 30)) -} -const registerGreateMaterialModification = (event) => { - - const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") - - $GreateMaterials.RoseQuartz.addFlags( - GTMaterialFlags.GENERATE_LENS - ); - - $GreateMaterials.AndesiteAlloy.setComponents([]) - $GreateMaterials.AndesiteAlloy.setFormula("?") + // Change stress levels + let capacity = 32; + $GreateMaterials.AndesiteAlloy.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity); + GTMaterials.Steel.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.Aluminium.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.StainlessSteel.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.Titanium.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.TungstenSteel.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.RhodiumPlatedPalladium.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.NaquadahAlloy.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.Darmstadtium.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); + GTMaterials.Neutronium.getProperty($GreatePropertyKeys.KINETIC).setMaxCapacity(capacity *= 4); } \ No newline at end of file From 73421dbc51b6b97081c66ebc3363e0d5d4088f08 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 12:57:34 +0000 Subject: [PATCH 537/628] lang --- kubejs/assets/species/lang/en_us.json | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/species/lang/en_us.json b/kubejs/assets/species/lang/en_us.json index 535a349cf..8a6bbf4a8 100644 --- a/kubejs/assets/species/lang/en_us.json +++ b/kubejs/assets/species/lang/en_us.json @@ -10,12 +10,17 @@ "subtitles.item.species.wicked_swapper.throw": "Swapper Pearl flies", "subtitles.item.species.wicked_swapper.fail": "Swapper Pearl drops", "subtitles.item.species.wicked_swapper.teleport": "Swapper Pearl swaps", - "advancements.species.wicked_mask_wither.description": "Disguise yourself as a Wither using a Disguise Kit", "item.species.trooper_spawn_egg": "Sulfie Spawn Egg", + "item.species.wicked_treat.desc.snatched": "Super Speed II (0:45)", + "item.species.wicked_treat.desc.iron_will": "Knockback Resistance (0:45)", "entity.species.trooper": "Sulfie", "subtitles.entity.species.trooper.death": "Sulfie dies", "subtitles.entity.species.trooper.hurt": "Sulfie hurts", "subtitles.entity.species.trooper.step": "Sulfie trots", "subtitles.entity.species.trooper.uproot": "Sulfie uproots", - "subtitles.entity.species.trooper.plant": "Sulfie plants" + "subtitles.entity.species.trooper.plant": "Sulfie plants", + "effect.species.iron_will": "Knockback Resistance", + "effect.species.iron_will.description": "Prevents all knockback.", + "effect.species.snatched": "Super Speed", + "effect.species.snatched.description": "Grants faster Movement Speed scaling with levels. Makes affected entities taller and thinner." } \ No newline at end of file From ad1bba71586fe1f18289e1ca75fc09a73d7c39fa Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 13:06:31 +0000 Subject: [PATCH 538/628] tweak loot table --- kubejs/data/tfg/loot_tables/chests/cruncher_nest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/data/tfg/loot_tables/chests/cruncher_nest.json b/kubejs/data/tfg/loot_tables/chests/cruncher_nest.json index bbbe7e297..665cb3693 100644 --- a/kubejs/data/tfg/loot_tables/chests/cruncher_nest.json +++ b/kubejs/data/tfg/loot_tables/chests/cruncher_nest.json @@ -22,7 +22,7 @@ "functions": [ { "function": "minecraft:set_nbt", - "tag": "{BotariumData: {StoredFluids: [{Amount: 1000, Fluid: \"tfg:compressed_heliox_3\"}]}}" + "tag": "{BotariumData: {StoredFluids: [{Amount: 1000, Fluid: \"tfg:compressed_nitrox\"}]}}" } ] }, From 66194767febc56cd663219a6b2f02bb0a58b7444 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 16:51:39 +0000 Subject: [PATCH 539/628] does this fix fishbig? --- kubejs/assets/emi/index/stacks/hidden.json | 3 +- .../startup_scripts/extended_ae2/constants.js | 33 +------------------ 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/kubejs/assets/emi/index/stacks/hidden.json b/kubejs/assets/emi/index/stacks/hidden.json index c070e2285..ef4783295 100644 --- a/kubejs/assets/emi/index/stacks/hidden.json +++ b/kubejs/assets/emi/index/stacks/hidden.json @@ -1,6 +1,5 @@ { "removed": [ - "item:gtceu:sus_record", - "expatternprovider:fishbig" + "item:gtceu:sus_record" ] } \ No newline at end of file diff --git a/kubejs/startup_scripts/extended_ae2/constants.js b/kubejs/startup_scripts/extended_ae2/constants.js index 486627ec1..26cf04231 100644 --- a/kubejs/startup_scripts/extended_ae2/constants.js +++ b/kubejs/startup_scripts/extended_ae2/constants.js @@ -1,15 +1,10 @@ -// priority: -100 +// priority: 0 "use strict"; global.EXTENDED_AE2_DISABLED_ITEMS = [ 'expatternprovider:infinity_cell', - 'expatternprovider:fishbig', - //'expatternprovider:pattern_provider_upgrade', - //'expatternprovider:interface_upgrade', 'expatternprovider:io_bus_upgrade', - //'expatternprovider:pattern_terminal_upgrade', - //'expatternprovider:drive_upgrade', 'expatternprovider:ex_inscriber', 'expatternprovider:crystal_fixer', @@ -17,30 +12,4 @@ global.EXTENDED_AE2_DISABLED_ITEMS = [ 'expatternprovider:caner', 'expatternprovider:circuit_cutter', 'expatternprovider:silicon_block' - - - //в будущем будет крафт - /* - 'expatternprovider:ex_io_port', - 'expatternprovider:wireless_tool', - 'expatternprovider:wireless_connect', - 'expatternprovider:active_formation_plane', - 'expatternprovider:wireless_ex_pat', - 'expatternprovider:pattern_modifier', - 'expatternprovider:threshold_level_emitter', - - 'expatternprovider:ex_export_bus_part', - 'expatternprovider:ex_import_bus_part', - 'expatternprovider:ex_pattern_access_part', - 'expatternprovider:me_packing_tape', - 'expatternprovider:tag_storage_bus', - 'expatternprovider:tag_export_bus', - 'expatternprovider:mod_storage_bus', - 'expatternprovider:mod_export_bus', - 'expatternprovider:precise_export_bus', - 'expatternprovider:ingredient_buffer', - 'expatternprovider:ex_drive', - 'expatternprovider:ex_molecular_assembler', - - */ ] \ No newline at end of file From 7ccdf959e7e947d6ec8bd80aa2e4576a8c55374c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 18:28:21 +0000 Subject: [PATCH 540/628] happy new year --- CHANGELOG.md | 6 +- config/crash_assistant/modlist.json | 30 ++++----- pakku-lock.json | 96 ++++++++++++++--------------- 3 files changed, 68 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9503c712d..6c126c467 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,13 @@ ## Unreleased ### Changes ### Bug fixes -- Fixed Greate stress levels (#2564) @Pyritie ### Translation updates +## [0.11.15] - 31-12-2025 +### Bug fixes +- Fixed Greate stress levels (#2564) @Pyritie +- Fixed crash when looking at steam engines while holding a shaft (#2565) + ## [0.11.14] - 31-12-2025 ### Changes - Change energy acceptor to use a machine hull instead of a converter. (#2553) @thederpysockdude123 diff --git a/config/crash_assistant/modlist.json b/config/crash_assistant/modlist.json index e453588be..fd6a18dda 100644 --- a/config/crash_assistant/modlist.json +++ b/config/crash_assistant/modlist.json @@ -179,12 +179,12 @@ "curseForgeHash": 1796431356, "modrinthHash": "98ef976a9b356dce459fdd249ff19ad14fd375dd" }, - "beneath-1.20.1-1.0.5.jar": { - "jarName": "beneath-1.20.1-1.0.5.jar", + "beneath-1.20.1-1.0.6.jar": { + "jarName": "beneath-1.20.1-1.0.6.jar", "modId": "beneath", - "version": "1.0.5", - "curseForgeHash": 2046402937, - "modrinthHash": "12edd937a9070a71e50dcb53fd757b30d115bc2a" + "version": "1.0.6", + "curseForgeHash": 4114027705, + "modrinthHash": "fc9208fa33d9f6868ab123dc0a73049fe3805201" }, "betterp2p-1.5.0-forge.jar": { "jarName": "betterp2p-1.5.0-forge.jar", @@ -655,12 +655,12 @@ "curseForgeHash": 3617977798, "modrinthHash": "5d21f85a95332dc002cd26ce085934a0d3605e08" }, - "Firmalife-1.20.1-2.1.25.jar": { - "jarName": "Firmalife-1.20.1-2.1.25.jar", + "Firmalife-1.20.1-2.1.26.jar": { + "jarName": "Firmalife-1.20.1-2.1.26.jar", "modId": "firmalife", - "version": "2.1.25", - "curseForgeHash": 737375744, - "modrinthHash": "9c80bd40edf4625e578e42d8f7bf5f34f43215ee" + "version": "2.1.26", + "curseForgeHash": 1770069402, + "modrinthHash": "679e75ed6d8180457f0593a1e3f9b0077a1dca9c" }, "flickerfix-1.20.1-4.0.1.jar": { "jarName": "flickerfix-1.20.1-4.0.1.jar", @@ -795,12 +795,12 @@ "curseForgeHash": 3324262533, "modrinthHash": "aa53625ab5e145c6aa196645335b062b37ae82da" }, - "greate-0.0.59.jar": { - "jarName": "greate-0.0.59.jar", + "greate-0.0.60.jar": { + "jarName": "greate-0.0.60.jar", "modId": "greate", - "version": "0.0.59", - "curseForgeHash": 3700389471, - "modrinthHash": "dc87ce9d17abc7967e26aac5d9e3480d4e36c7d1" + "version": "0.0.60", + "curseForgeHash": 1014860832, + "modrinthHash": "3fc325df338f275847344f553ad81c3e9be0bc80" }, "gtceu-1.20.1-7.4.0.jar": { "jarName": "gtceu-1.20.1-7.4.0.jar", diff --git a/pakku-lock.json b/pakku-lock.json index 7d40ddd51..365c15b14 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1638,7 +1638,7 @@ "files": [ { "type": "modrinth", - "file_name": "beneath-1.20.1-1.0.5.jar", + "file_name": "beneath-1.20.1-1.0.6.jar", "mc_versions": [ "1.20.1" ], @@ -1647,42 +1647,42 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/6VieRZiz/versions/d0xgZnLe/beneath-1.20.1-1.0.5.jar", - "id": "d0xgZnLe", + "url": "https://cdn.modrinth.com/data/6VieRZiz/versions/vJG1yevl/beneath-1.20.1-1.0.6.jar", + "id": "vJG1yevl", "parent_id": "6VieRZiz", "hashes": { - "sha512": "0eec3b25e7aebb8df74804d70a054c96e529f3d4cd437173219f891badef05d98996adcae387e6808e6489e18253aa73e6bd1193cfb9dcaf7ac26c92819e6bc8", - "sha1": "12edd937a9070a71e50dcb53fd757b30d115bc2a" + "sha512": "a609b95ec50aa9be9260beef01bc5cd8915de1c65abc8c6b7ae65dbb70ee5c0c643d20bbafac2772e95977660843b6c4b920161b62845ae1d96e7801dedc97ca", + "sha1": "fc9208fa33d9f6868ab123dc0a73049fe3805201" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 1500972, - "date_published": "2025-08-19T22:18:43.907020Z" + "size": 1519342, + "date_published": "2025-12-31T15:16:00.623753Z" }, { "type": "curseforge", - "file_name": "beneath-1.20.1-1.0.5.jar", + "file_name": "beneath-1.20.1-1.0.6.jar", "mc_versions": [ "1.20.1" ], "loaders": [ - "neoforge", - "forge" + "forge", + "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6905/461/beneath-1.20.1-1.0.5.jar", - "id": "6905461", + "url": "https://edge.forgecdn.net/files/7400/831/beneath-1.20.1-1.0.6.jar", + "id": "7400831", "parent_id": "1113980", "hashes": { - "sha1": "12edd937a9070a71e50dcb53fd757b30d115bc2a", - "md5": "aeda5af6cf8575a816f7c4ea1630ca97" + "sha1": "fc9208fa33d9f6868ab123dc0a73049fe3805201", + "md5": "cc72b044f795960451830fe49837bcb2" }, "required_dependencies": [ "302973" ], - "size": 1500972, - "date_published": "2025-08-19T22:18:40.447Z" + "size": 1519342, + "date_published": "2025-12-31T15:15:58.277Z" } ] }, @@ -6591,7 +6591,7 @@ "files": [ { "type": "modrinth", - "file_name": "Firmalife-1.20.1-2.1.25.jar", + "file_name": "Firmalife-1.20.1-2.1.26.jar", "mc_versions": [ "1.20.1" ], @@ -6600,22 +6600,22 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/Qz8OzhXv/Firmalife-1.20.1-2.1.25.jar", - "id": "Qz8OzhXv", + "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/owVJs9G8/Firmalife-1.20.1-2.1.26.jar", + "id": "owVJs9G8", "parent_id": "5bKeBHw2", "hashes": { - "sha512": "5cff31bf79b53ed938703c407c5681040e2b9dbecb23756dd0863267752b1ec9c88861b2cea4a9894a5243ac20c0b80891daa24789a58d04842083606248a520", - "sha1": "9c80bd40edf4625e578e42d8f7bf5f34f43215ee" + "sha512": "049c2a69eb6364af0e925ee613fff85df2a9b0d3d035eed96351cca1abada7e395f0735ba7d523d0bac9ccfbd9d9bc50c8a977f38721a459341559280fbc2015", + "sha1": "679e75ed6d8180457f0593a1e3f9b0077a1dca9c" }, "required_dependencies": [ "JaCEZUhg" ], - "size": 4669651, - "date_published": "2025-12-29T13:59:48.290400Z" + "size": 4669647, + "date_published": "2025-12-31T14:44:50.567174Z" }, { "type": "curseforge", - "file_name": "Firmalife-1.20.1-2.1.25.jar", + "file_name": "Firmalife-1.20.1-2.1.26.jar", "mc_versions": [ "1.20.1" ], @@ -6624,18 +6624,18 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7392/481/Firmalife-1.20.1-2.1.25.jar", - "id": "7392481", + "url": "https://edge.forgecdn.net/files/7400/700/Firmalife-1.20.1-2.1.26.jar", + "id": "7400700", "parent_id": "453394", "hashes": { - "sha1": "9c80bd40edf4625e578e42d8f7bf5f34f43215ee", - "md5": "fc506b07e5168a2cf5e88851f39110b8" + "sha1": "679e75ed6d8180457f0593a1e3f9b0077a1dca9c", + "md5": "8ca3fc3c054741d0d6cc6e1b2070efaa" }, "required_dependencies": [ "302973" ], - "size": 4669651, - "date_published": "2025-12-29T13:59:45.783Z" + "size": 4669647, + "date_published": "2025-12-31T14:44:46.977Z" } ] }, @@ -7130,7 +7130,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.59.jar", + "file_name": "greate-0.0.60.jar", "mc_versions": [ "1.20.1" ], @@ -7139,23 +7139,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/vYPdRVCR/greate-0.0.59.jar", - "id": "vYPdRVCR", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/lkpf6G04/greate-0.0.60.jar", + "id": "lkpf6G04", "parent_id": "8wDcQuht", "hashes": { - "sha512": "58b21629d73b3ff1808b1ac7f3ac8def7eeff0ef803d779165dbce59a57e1e39e38d4b5934a01b36d5398c6fbd6e7aec400c04bbcd613b3a1d5c661a66bf65d9", - "sha1": "dc87ce9d17abc7967e26aac5d9e3480d4e36c7d1" + "sha512": "2584a6b23bbcbfe0d25c4a6af60485e30cf083ff322271d5ee2a566c35943daca86b0edd71d98786811f633af04b5a7f73db9e9f3ac8b72e385b97c1769e7126", + "sha1": "3fc325df338f275847344f553ad81c3e9be0bc80" }, "required_dependencies": [ - "7tG215v7", - "LNytGWDc" + "LNytGWDc", + "7tG215v7" ], - "size": 1252913, - "date_published": "2025-12-30T21:34:48.471572Z" + "size": 1253032, + "date_published": "2025-12-31T17:41:02.391758Z" }, { "type": "curseforge", - "file_name": "greate-0.0.59.jar", + "file_name": "greate-0.0.60.jar", "mc_versions": [ "1.20.1" ], @@ -7164,19 +7164,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7397/872/greate-0.0.59.jar", - "id": "7397872", + "url": "https://edge.forgecdn.net/files/7401/392/greate-0.0.60.jar", + "id": "7401392", "parent_id": "901996", "hashes": { - "sha1": "dc87ce9d17abc7967e26aac5d9e3480d4e36c7d1", - "md5": "80f5d8e86c6d52f34308214b19ac98ea" + "sha1": "3fc325df338f275847344f553ad81c3e9be0bc80", + "md5": "f521d8a849e0a56b5ba2051a81bb684d" }, "required_dependencies": [ - "890405", - "328085" + "328085", + "890405" ], - "size": 1252913, - "date_published": "2025-12-30T21:34:45.940Z" + "size": 1253032, + "date_published": "2025-12-31T17:41:00.300Z" } ] }, From 3a590aca60fcc2c45dbd95435d1c1d5ced6ffcb3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 31 Dec 2025 23:59:28 +0000 Subject: [PATCH 541/628] Feature/steam multis (#2574) * init * langs? * more steam multis --- .../chapters/applied_energistics_2.snbt | 20 + .../quests/chapters/hv__high_voltage.snbt | 2 +- .../quests/chapters/lv__low_voltage.snbt | 30 +- .../quests/chapters/ore_processing.snbt | 20 +- .../quests/chapters/questssteam_age.snbt | 366 +++++++++++++----- kubejs/assets/gtceu/lang/en_us.json | 8 +- kubejs/assets/gtceu/lang/ja_jp.json | 4 +- kubejs/assets/gtceu/lang/ru_ru.json | 2 +- kubejs/assets/gtceu/lang/uk_ua.json | 4 +- kubejs/assets/gtceu/lang/zh_cn.json | 4 +- kubejs/assets/sandworm_mod/lang/en_us.json | 6 + .../tfg/blockstates/steam_bloomery.json | 19 + .../assets/tfg/blockstates/steam_fuser.json | 19 + .../assets/tfg/blockstates/steam_presser.json | 19 + .../tfg/blockstates/steam_squasher.json | 19 + .../blockstates/steam_thermal_centrifuge.json | 19 + kubejs/assets/tfg/lang/en_us.json | 19 +- kubejs/assets/tfg/lang/fr_fr.json | 2 +- kubejs/assets/tfg/lang/ru_ru.json | 2 +- .../models/block/machines/steam_bloomery.json | 86 ++++ .../models/block/machines/steam_fuser.json | 110 ++++++ .../models/block/machines/steam_presser.json | 86 ++++ .../models/block/machines/steam_squasher.json | 90 +++++ .../machines/steam_thermal_centrifuge.json | 110 ++++++ .../tfg/models/item/steam_bloomery.json | 3 + .../assets/tfg/models/item/steam_fuser.json | 3 + .../assets/tfg/models/item/steam_presser.json | 3 + .../tfg/models/item/steam_squasher.json | 3 + .../models/item/steam_thermal_centrifuge.json | 3 + .../steam_bloomery/overlay_front.png | Bin .../steam_bloomery/overlay_front_active.png | Bin .../overlay_front_active.png.mcmeta | 0 kubejs/client_scripts/tooltips.js | 28 +- kubejs/server_scripts/firmalife/recipes.js | 15 - .../gregtech/recipes.machines.js | 41 +- .../tfg/machines/recipes.multiblocks.js | 75 +++- .../tfg/natural_blocks/recipes.rocks.js | 2 - .../tfg/powergen/nuclear/recipes.nuclear.js | 1 - .../primitive/recipes.glue_and_chipboard.js | 59 ++- .../server_scripts/tfg/recipes.temporary.js | 1 + .../vintage_improvements/recipes.js | 2 +- kubejs/startup_scripts/gtceu/machines.js | 41 -- kubejs/startup_scripts/gtceu/recipe_types.js | 7 - kubejs/startup_scripts/tfg/blocks.js | 4 + 44 files changed, 1142 insertions(+), 215 deletions(-) create mode 100644 kubejs/assets/sandworm_mod/lang/en_us.json create mode 100644 kubejs/assets/tfg/blockstates/steam_bloomery.json create mode 100644 kubejs/assets/tfg/blockstates/steam_fuser.json create mode 100644 kubejs/assets/tfg/blockstates/steam_presser.json create mode 100644 kubejs/assets/tfg/blockstates/steam_squasher.json create mode 100644 kubejs/assets/tfg/blockstates/steam_thermal_centrifuge.json create mode 100644 kubejs/assets/tfg/models/block/machines/steam_bloomery.json create mode 100644 kubejs/assets/tfg/models/block/machines/steam_fuser.json create mode 100644 kubejs/assets/tfg/models/block/machines/steam_presser.json create mode 100644 kubejs/assets/tfg/models/block/machines/steam_squasher.json create mode 100644 kubejs/assets/tfg/models/block/machines/steam_thermal_centrifuge.json create mode 100644 kubejs/assets/tfg/models/item/steam_bloomery.json create mode 100644 kubejs/assets/tfg/models/item/steam_fuser.json create mode 100644 kubejs/assets/tfg/models/item/steam_presser.json create mode 100644 kubejs/assets/tfg/models/item/steam_squasher.json create mode 100644 kubejs/assets/tfg/models/item/steam_thermal_centrifuge.json rename kubejs/assets/tfg/textures/block/{ => machines}/steam_bloomery/overlay_front.png (100%) rename kubejs/assets/tfg/textures/block/{ => machines}/steam_bloomery/overlay_front_active.png (100%) rename kubejs/assets/tfg/textures/block/{ => machines}/steam_bloomery/overlay_front_active.png.mcmeta (100%) diff --git a/config/ftbquests/quests/chapters/applied_energistics_2.snbt b/config/ftbquests/quests/chapters/applied_energistics_2.snbt index 8a53c009a..86e58834a 100644 --- a/config/ftbquests/quests/chapters/applied_energistics_2.snbt +++ b/config/ftbquests/quests/chapters/applied_energistics_2.snbt @@ -1263,6 +1263,26 @@ x: 5.0d y: -3.5d } + { + dependencies: ["386C54268DA9F2BF"] + description: ["{quests.ae2.universal_circuits.desc}"] + id: "4F3B767032E0282F" + subtitle: "{quests.ae2.universal_circuits.subtitle}" + tasks: [{ + id: "7427AEBF61BFC772" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfg:ulv_universal_circuit)item(tfg:lv_universal_circuit)item(tfg:mv_universal_circuit)item(tfg:hv_universal_circuit)item(tfg:ev_universal_circuit)item(tfg:iv_universal_circuit)item(tfg:luv_universal_circuit)item(tfg:zpm_universal_circuit)item(tfg:uv_universal_circuit)item(tfg:uhv_universal_circuit))" + } + } + type: "item" + }] + title: "{quests.ae2.universal_circuits.title}" + x: -2.0d + y: -9.0d + } ] subtitle: ["{quests.ae2.subtitle}"] title: "{quests.ae2}" diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index cb45408b1..98dd688e6 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -441,7 +441,7 @@ icon: "gtceu:hv_circuit_assembler" id: "6B1595678ECB7AC8" shape: "octagon" - size: 3.0d + size: 1.5d subtitle: "{quests.high_voltage.circuit_assembler.subtitle}" tasks: [{ id: "337D8EF42A7BD3A2" diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 09d2663e7..ceb6ee679 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -21,6 +21,18 @@ x: -8.0d y: 11.5d } + { + id: "46612C429BCA8A18" + linked_quest: "6BAC3BE1D4FE0F6B" + x: 7.5d + y: 4.0d + } + { + id: "5E5AD44B50E0B15B" + linked_quest: "31A6A236B6710B95" + x: 7.5d + y: 5.0d + } ] quests: [ { @@ -191,7 +203,7 @@ ] title: "{quests.low_voltage.lv_battery_preparation.title}" x: 7.5d - y: 0.0d + y: -0.5d } { dependencies: [ @@ -342,7 +354,11 @@ y: 2.5d } { - dependencies: ["6E186F9C57155BFA"] + dependencies: [ + "6E186F9C57155BFA" + "46FA9DD4755A5548" + ] + dependency_requirement: "one_completed" description: [ "{quests.low_voltage.lbb.desc.1}" "{@pagebreak}" @@ -474,7 +490,7 @@ }] title: "{quests.low_voltage.lv_battery.title}" x: 7.5d - y: 1.5d + y: 1.0d } { dependencies: ["3E6DC423FE4A99F7"] @@ -504,7 +520,7 @@ }] title: "{quests.low_voltage.lv_battery_buffer_4x.title}" x: 7.5d - y: 3.0d + y: 2.5d } { dependencies: ["1646BF9194100E57"] @@ -612,7 +628,7 @@ }] title: "{quests.low_voltage.lv_ore_prospector.title}" x: 9.0d - y: 1.5d + y: 1.0d } { dependencies: [ @@ -1217,7 +1233,7 @@ }] title: "{quests.low_voltage.lv_turbo_charge.title}" x: 9.0d - y: 0.0d + y: -0.5d } { dependencies: ["22510C5F2386B453"] @@ -1378,7 +1394,7 @@ type: "item" }] x: 9.0d - y: 3.0d + y: 2.5d } { dependencies: ["2CDB9778C7A30044"] diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index d09cdf899..b5b4c3520 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -19,7 +19,7 @@ image: "ftblibrary:icons/star" rotation: 0.0d width: 2.0d - x: -0.5d + x: -2.5d y: -6.5d } { @@ -484,10 +484,15 @@ y: -0.5d } { - dependencies: ["0F0525A70047EEB2"] + dependencies: [ + "0F0525A70047EEB2" + "701BCADAE5CF6CA5" + ] + dependency_requirement: "one_completed" description: ["{quests.ore_proc.thermal_centrifuge.desc}"] icon: "gtceu:lv_thermal_centrifuge" id: "6BAC3BE1D4FE0F6B" + optional: true subtitle: "{quests.ore_proc.thermal_centrifuge.subtitle}" tasks: [{ disable_toast: true @@ -496,7 +501,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lv_thermal_centrifuge)item(gtceu:mv_thermal_centrifuge)item(gtceu:hv_thermal_centrifuge)item(gtceu:ev_thermal_centrifuge)item(gtceu:iv_thermal_centrifuge)item(gtceu:luv_thermal_centrifuge)item(gtceu:zpm_thermal_centrifuge)item(gtceu:uv_thermal_centrifuge))" + "ftbfiltersystem:filter": "or(item(gtceu:lv_thermal_centrifuge)item(gtceu:mv_thermal_centrifuge)item(gtceu:hv_thermal_centrifuge)item(gtceu:ev_thermal_centrifuge)item(gtceu:iv_thermal_centrifuge)item(gtceu:luv_thermal_centrifuge)item(gtceu:zpm_thermal_centrifuge)item(gtceu:uv_thermal_centrifuge)item(tfg:steam_thermal_centrifuge))" } } title: "{quests.ore_proc.thermal_centrifuge.task}" @@ -507,10 +512,15 @@ y: -6.5d } { - dependencies: ["0F0525A70047EEB2"] + dependencies: [ + "0F0525A70047EEB2" + "701BCADAE5CF6CA5" + ] + dependency_requirement: "one_completed" description: ["{quests.ore_proc.sifter.desc}"] icon: "gtceu:lv_sifter" id: "31A6A236B6710B95" + optional: true subtitle: "{quests.ore_proc.sifter.subtitle}" tasks: [{ disable_toast: true @@ -519,7 +529,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:lv_sifter)item(gtceu:mv_sifter)item(gtceu:hv_sifter)item(gtceu:ev_sifter)item(gtceu:iv_sifter)item(gtceu:luv_sifter)item(gtceu:zpm_sifter)item(gtceu:uv_sifter))" + "ftbfiltersystem:filter": "or(item(vintageimprovements:vibrating_table)item(gtceu:lv_sifter)item(gtceu:mv_sifter)item(gtceu:hv_sifter)item(gtceu:ev_sifter)item(gtceu:iv_sifter)item(gtceu:luv_sifter)item(gtceu:zpm_sifter)item(gtceu:uv_sifter))" } } title: "{quests.ore_proc.sifter.task}" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 327213c5f..43bdf0a82 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -26,14 +26,14 @@ id: "0CE64B9914191C56" linked_quest: "6FFD4990FF07078A" shape: "diamond" - x: -11.5d - y: 9.5d + x: -9.5d + y: 11.5d } { id: "23A27702FF816291" linked_quest: "6903C72A254A7B08" - x: -14.5d - y: 6.0d + x: -12.5d + y: 8.0d } { id: "1F1E7097C015BE33" @@ -47,8 +47,8 @@ id: "7C03FE015586C652" linked_quest: "55213ACBF5F5D398" shape: "heart" - x: -15.0d - y: 13.0d + x: -12.0d + y: 16.0d } { id: "65E0B13E245D2E5F" @@ -60,15 +60,22 @@ id: "68F5E521F2DB0A86" linked_quest: "0404FBCC34011053" shape: "heart" - x: -14.0d - y: 13.0d + x: -13.0d + y: 16.0d } { id: "38ECA3FEC2B6A6A6" linked_quest: "533F32CCAD9D5B51" shape: "heart" - x: -19.5d - y: 11.5d + x: -18.5d + y: 12.5d + } + { + id: "61DCD50394B7FF0E" + linked_quest: "33263404ED38C6D2" + shape: "heart" + x: -22.5d + y: 4.0d } ] quests: [ @@ -267,7 +274,7 @@ }] title: "{quests.steam_age.boilers.title}" x: -19.5d - y: 7.5d + y: 6.75d } { dependencies: ["32046292AA5B0E30"] @@ -436,8 +443,8 @@ type: "item" }] title: "{quests.steam_age.crushing_wheel.title}" - x: -21.5d - y: 11.5d + x: -20.5d + y: 12.5d } { dependencies: ["7DB7AB5349218605"] @@ -460,10 +467,16 @@ item: "gtceu:treated_wood_plate" type: "item" } + { + id: "1497E51C6C204557" + item: "gtceu:treated_wood_normal_fluid_pipe" + optional_task: true + type: "item" + } ] title: "{quests.steam_age.treated_planks.title}" - x: -20.5d - y: 9.5d + x: -19.5d + y: 10.5d } { dependencies: [ @@ -483,7 +496,7 @@ }] title: "{quests.steam_age.electron_tube.title}" x: -19.5d - y: 14.5d + y: 15.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -509,14 +522,13 @@ } ] title: "{quests.steam_age.miner.title}" - x: -12.0d - y: 15.0d + x: -10.0d + y: 17.0d } { dependencies: [ "22E604DB7E7E87FB" "09E12A399EE0A628" - "1912758422EEB006" ] dependency_requirement: "one_completed" description: ["{quests.steam_age.glass_tube.desc}"] @@ -528,8 +540,8 @@ type: "item" }] title: "{quests.steam_age.glass_tube.title}" - x: -25.0d - y: 14.5d + x: -23.5d + y: 15.0d } { dependencies: ["033E74BC588E7EAD"] @@ -551,8 +563,8 @@ } ] title: "{quests.steam_age.deployers.title}" - x: -16.5d - y: 12.0d + x: -15.5d + y: 15.0d } { dependencies: ["1912758422EEB006"] @@ -574,8 +586,8 @@ } ] title: "{quests.steam_age.molding.title}" - x: -25.0d - y: 9.5d + x: -23.5d + y: 12.5d } { dependencies: ["033E74BC588E7EAD"] @@ -589,22 +601,22 @@ type: "item" }] title: "{quests.steam_age.mech_crafter.title}" - x: -20.5d - y: 12.0d + x: -19.5d + y: 12.5d } { dependencies: ["46FA9DD4755A5548"] description: ["{quests.steam_age.steam_bloomery.desc}"] - icon: "gtceu:steam_bloomery" + icon: "tfg:steam_bloomery" id: "0805CCABC8E7F6CF" optional: true shape: "heart" - size: 1.5d + size: 1.0d subtitle: "{quests.steam_age.steam_bloomery.subtitle}" tasks: [ { id: "72D748120CACABE2" - item: "gtceu:steam_bloomery" + item: "tfg:steam_bloomery" type: "item" } { @@ -630,8 +642,8 @@ } ] title: "{quests.steam_age.steam_bloomery.title}" - x: -22.5d - y: 4.0d + x: -16.5d + y: 5.5d } { dependencies: ["05CC8C5E63CD1DB8"] @@ -684,8 +696,8 @@ type: "item" }] title: "{quests.steam_age.circuit_boards.title}" - x: -11.5d - y: 8.5d + x: -9.5d + y: 10.5d } { dependencies: ["46FA9DD4755A5548"] @@ -699,8 +711,8 @@ type: "item" }] title: "{quests.steam_age.compressor.title}" - x: -19.5d - y: 9.5d + x: -16.5d + y: 8.5d } { dependencies: ["46FA9DD4755A5548"] @@ -716,7 +728,7 @@ }] title: "{quests.steam_age.alloy_smelter.title}" x: -22.5d - y: 9.5d + y: 8.5d } { dependencies: [ @@ -735,7 +747,7 @@ }] title: "{quests.steam_age.forge_hammer.title}" x: -22.5d - y: 8.0d + y: 6.5d } { dependencies: [ @@ -753,8 +765,8 @@ type: "item" }] title: "{quests.steam_age.vacuum_tubes.title}" - x: -10.0d - y: 12.0d + x: -8.0d + y: 14.0d } { dependencies: ["7DB7AB5349218605"] @@ -768,7 +780,7 @@ }] title: "{quests.steam_age.wood_plank.title}" x: -16.5d - y: 9.5d + y: 11.5d } { dependencies: ["46FA9DD4755A5548"] @@ -785,7 +797,7 @@ }] title: "{quests.steam_age.extractor.title}" x: -16.5d - y: 7.5d + y: 6.5d } { dependencies: [ @@ -804,8 +816,8 @@ type: "item" }] title: "{quests.steam_age.resistors.title}" - x: -7.0d - y: 9.5d + x: -5.0d + y: 11.5d } { dependencies: ["2C35D4E01AEC02AA"] @@ -820,8 +832,8 @@ type: "item" }] title: "{quests.steam_age.coiling_machine.title}" - x: -7.0d - y: 14.0d + x: -5.0d + y: 16.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -836,8 +848,8 @@ type: "item" }] title: "{quests.steam_age.steel_mixer.title}" - x: -7.0d - y: 12.5d + x: -5.0d + y: 14.5d } { dependencies: ["2C35D4E01AEC02AA"] @@ -851,8 +863,8 @@ type: "item" }] title: "{quests.steam_age.lathe.title}" - x: -8.0d - y: 15.0d + x: -6.0d + y: 17.0d } { dependencies: [ @@ -871,8 +883,8 @@ type: "item" }] title: "{quests.steam_age.centrifuge.title}" - x: -20.5d - y: 11.0d + x: -19.5d + y: 11.5d } { dependencies: [ @@ -889,8 +901,8 @@ type: "item" }] title: "{quests.steam_age.vibrating_table.title}" - x: -10.0d - y: 15.0d + x: -8.0d + y: 17.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -909,8 +921,8 @@ type: "item" }] title: "{quests.steam_age.rolling_mill.title}" - x: -7.0d - y: 11.0d + x: -5.0d + y: 13.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -924,8 +936,8 @@ type: "item" }] title: "{quests.steam_age.steel_saw.title}" - x: -9.0d - y: 15.0d + x: -7.0d + y: 17.0d } { dependencies: ["2C35D4E01AEC02AA"] @@ -939,8 +951,8 @@ type: "item" }] title: "{quests.steam_age.curving_press.title}" - x: -11.0d - y: 15.0d + x: -9.0d + y: 17.0d } { dependencies: [ @@ -956,7 +968,7 @@ type: "item" }] title: "{quests.steam_age.steam_furnace.title}" - x: -16.5d + x: -22.5d y: 5.5d } { @@ -1007,14 +1019,15 @@ } ] title: "{quests.steam_age.steam_oven.title}" - x: -16.5d - y: 4.0d + x: -24.5d + y: 5.5d } { dependencies: ["46FA9DD4755A5548"] description: ["{quests.steam_age.rock_crusher.desc}"] id: "2491CB5921B66446" optional: true + shape: "heart" subtitle: "{quests.steam_age.rock_crusher.subtitle}" tasks: [{ id: "5CA302572EF6D4E1" @@ -1022,8 +1035,8 @@ type: "item" }] title: "{quests.steam_age.rock_crusher.title}" - x: -22.5d - y: 7.0d + x: -16.5d + y: 7.5d } { dependencies: [ @@ -1060,7 +1073,7 @@ ] title: "{quests.steam_age.red_alloy.title}" x: -22.5d - y: 13.5d + y: 12.5d } { dependencies: ["51CBF7378FFAD514"] @@ -1149,8 +1162,8 @@ type: "item" }] title: "{quests.steam_age.potin.title}" - x: -5.5d - y: 12.5d + x: -3.5d + y: 14.5d } { dependencies: ["6F1BC99BE641B671"] @@ -1206,8 +1219,8 @@ } ] title: "{quests.steam_age.trains.title}" - x: -16.5d - y: 13.0d + x: -15.5d + y: 16.0d } { dependencies: ["6AA07588374B59AB"] @@ -1220,8 +1233,8 @@ type: "item" }] title: "{quests.steam_age.vacuum_chamber.title}" - x: -14.5d - y: 12.0d + x: -12.5d + y: 15.0d } { description: ["{quests.metal_age.black_steel_goodies.desc}"] @@ -1423,8 +1436,8 @@ type: "item" }] title: "{quests.steam_age.lv_circuit.title}" - x: -10.0d - y: 6.0d + x: -8.0d + y: 8.0d } { description: ["{quests.steam_age.paper.desc}"] @@ -1438,8 +1451,8 @@ type: "item" }] title: "{quests.steam_age.paper.title}" - x: -5.5d - y: 9.5d + x: -3.5d + y: 11.5d } { description: ["{quests.metal_age.bronze_goodies.desc}"] @@ -1520,6 +1533,7 @@ description: ["{quests.steam_age.steam_macerator.desc}"] id: "6CF7DCC996BACBFA" optional: true + shape: "heart" subtitle: "{quests.steam_age.steam_macerator.subtitle}" tasks: [{ id: "19146D7510558652" @@ -1528,7 +1542,7 @@ }] title: "{quests.steam_age.steam_macerator.title}" x: -22.5d - y: 6.0d + y: 7.5d } { dependencies: [ @@ -1537,18 +1551,42 @@ ] dependency_requirement: "one_completed" description: ["{quests.steam_age.steam_grinder.desc}"] + icon: "gtceu:steam_grinder" id: "0CC370A6FC56935B" optional: true shape: "heart" subtitle: "{quests.steam_age.steam_grinder.subtitle}" - tasks: [{ - id: "1CD61C4F273665DE" - item: "gtceu:steam_grinder" - type: "item" - }] + tasks: [ + { + id: "1CD61C4F273665DE" + item: "gtceu:steam_grinder" + type: "item" + } + { + count: 22L + id: "71D6716A2B985592" + item: { Count: 22, id: "gtceu:steam_machine_casing" } + type: "item" + } + { + id: "26D9013B4161E463" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "7D354B529103D126" + item: "gtceu:steam_input_bus" + type: "item" + } + { + id: "63B935735E346133" + item: "gtceu:steam_output_bus" + type: "item" + } + ] title: "{quests.steam_age.steam_grinder.title}" - x: -25.0d - y: 6.0d + x: -24.5d + y: 7.5d } { dependencies: ["32046292AA5B0E30"] @@ -1579,8 +1617,8 @@ type: "item" }] title: "{quests.steam_age.resin_boards.title}" - x: -13.5d - y: 9.5d + x: -11.5d + y: 11.5d } { dependencies: ["6E8CEE02CB5B678B"] @@ -1630,7 +1668,7 @@ }] title: "{quests.steam_age.packager.title}" x: -19.5d - y: 17.0d + y: 17.5d } { dependencies: [ @@ -1722,8 +1760,8 @@ type: "item" }] title: "{quests.steam_age.supers.title}" - x: -12.0d - y: 13.0d + x: -10.5d + y: 13.5d } { dependencies: ["0D0D461AE3A3F7BF"] @@ -1755,6 +1793,156 @@ x: -16.5d y: -2.0d } + { + dependencies: ["59F7F7A8C76DE31C"] + description: ["{quests.steam_age.steam_presser.desc}"] + icon: "tfg:steam_presser" + id: "65B6E2DACCF9159C" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.steam_presser.subtitle}" + tasks: [ + { + id: "0AEC3F770A6166A4" + item: "tfg:steam_presser" + type: "item" + } + { + id: "5CC7BDBF599B405A" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "4998CA4B8DDF6E02" + item: "gtceu:steam_input_bus" + type: "item" + } + { + id: "31A69C679FC6F99A" + item: "gtceu:steam_output_bus" + type: "item" + } + { + count: 12L + id: "709D4C32D2F43ABD" + item: "gtceu:steam_machine_casing" + type: "item" + } + { + count: 4L + id: "559F1DA9AF2EC5C3" + item: { Count: 4, id: "gtceu:steel_machine_casing" } + type: "item" + } + { + count: 8L + id: "769C82179FD4F75B" + item: { Count: 8, id: "create:metal_girder" } + type: "item" + } + ] + title: "{quests.steam_age.steam_presser.title}" + x: -24.5d + y: 6.5d + } + { + dependencies: ["1912758422EEB006"] + description: ["{quests.steam_age.steam_fuser.desc}"] + icon: "tfg:steam_fuser" + id: "49F5B708E8F59ABF" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.steam_fuser.subtitle}" + tasks: [ + { + id: "29EB9A9D81750312" + item: "tfg:steam_fuser" + type: "item" + } + { + id: "5496E814C911D5C1" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "40181C28B6560C94" + item: "gtceu:steam_output_bus" + type: "item" + } + { + id: "249376D261C69933" + item: "gtceu:steam_input_bus" + type: "item" + } + { + count: 8L + id: "790DDB716EAE9769" + item: { Count: 8, id: "gtceu:steam_machine_casing" } + type: "item" + } + { + count: 8L + id: "266BA05C0A212C6C" + item: { Count: 8, id: "gtceu:bronze_firebox_casing" } + type: "item" + } + ] + title: "{quests.steam_age.steam_fuser.title}" + x: -24.5d + y: 8.5d + } + { + dependencies: ["7DB7AB5349218605"] + description: ["{quests.steam_age.steam_squasher.desc}"] + icon: "tfg:steam_squasher" + id: "60399CB594078DE2" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.steam_squasher.subtitle}" + tasks: [ + { + id: "74B02BED5D414B4C" + item: "tfg:steam_squasher" + type: "item" + } + { + id: "3BBEAD3334C1E3D0" + item: "gtceu:steam_input_hatch" + type: "item" + } + { + id: "6D8C5AA895D6DC15" + item: "gtceu:steam_output_bus" + type: "item" + } + { + id: "0D2DC79ED3C74B1F" + item: "gtceu:steam_input_bus" + type: "item" + } + { + count: 7L + id: "4BDAA78AC3C92713" + item: "gtceu:steam_machine_casing" + type: "item" + } + { + count: 3L + id: "4DFE7CD587BFFAB9" + item: { Count: 3, id: "gtceu:bronze_machine_casing" } + type: "item" + } + { + count: 6L + id: "7C5983298F614109" + item: { Count: 6, id: "gtceu:steel_frame" } + type: "item" + } + ] + title: "{quests.steam_age.steam_squasher.title}" + x: -14.5d + y: 8.5d + } ] subtitle: ["{quests.steam_age.subtitle}"] title: "{quests.steam_age}" diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index af50b8063..c385bb74a 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -2,7 +2,11 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s Surface Bud", "block.gtceu.greenhouse": "Greenhouse", - "block.gtceu.steam_bloomery": "Steam Bloomery", + "block.tfg.steam_bloomery": "Steam Bloomery", + "block.tfg.steam_thermal_centrifuge": "Steam Thermal Centrifuge", + "block.tfg.steam_fuser": "Steam Fuser", + "block.tfg.steam_squasher": "Steam Squasher", + "block.tfg.steam_presser": "Steam Presser", "block.gtceu.large_solar_panel": "§9Large Solar Array MK I", "block.gtceu.large_solar_panel_tier2": "§bLarge Solar Array MK II", "block.gtceu.large_solar_panel_tier3": "§cLarge Solar Array MK III", @@ -66,7 +70,7 @@ "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", - "gtceu.tooltip.machine.steam_bloomery_4": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.steam_parallel": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 92adeb03e..a63de7c45 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -2,7 +2,7 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s Surface Bud", "block.gtceu.greenhouse": "電気温室", - "block.gtceu.steam_bloomery": "蒸気式塊鉄炉", + "block.tfg.steam_bloomery": "蒸気式塊鉄炉", "block.gtceu.large_solar_panel": "§9大型ソーラーアレイMK I", "block.gtceu.large_solar_panel_tier2": "§b大型ソーラーアレイMK II", "block.gtceu.large_solar_panel_tier3": "§c大型ソーラーアレイMK III", @@ -66,7 +66,7 @@ "gtceu.tooltip.machine.steam_bloomery_1": "§7Upgrade your Bloomery with the power of Steam!§r", "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", - "gtceu.tooltip.machine.steam_bloomery_4": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", + "gtceu.tooltip.machine.steam_parallel": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 254a2e60c..e3149ce5f 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -2,7 +2,7 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "Поверхностная друза (%s)", "block.gtceu.greenhouse": "Теплица", - "block.gtceu.steam_bloomery": "Паровой сыродутный горн", + "block.tfg.steam_bloomery": "Паровой сыродутный горн", "block.gtceu.large_solar_panel": "§9Large Solar Array MK I", "block.gtceu.large_solar_panel_tier2": "§bLarge Solar Array MK II", "block.gtceu.large_solar_panel_tier3": "§cLarge Solar Array MK III", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index ede196300..3792258f7 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -2,7 +2,7 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s Поверхнева Друза", "block.gtceu.greenhouse": "Теплиця", - "block.gtceu.steam_bloomery": "Парова Сиродутна Піч", + "block.tfg.steam_bloomery": "Парова Сиродутна Піч", "block.gtceu.large_solar_panel": "§9Велика сонячна матриця MK I", "block.gtceu.large_solar_panel_tier2": "§bВелика сонячна матриця MK II", "block.gtceu.large_solar_panel_tier3": "§cВелика сонячна матриця MK III", @@ -66,7 +66,7 @@ "gtceu.tooltip.machine.steam_bloomery_1": "§7Покращуйте свою домницю силою пари!§r", "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє пил або злитки, що містять залізо, у необроблені залізні криці.§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7Використання коксу або антрациту як пального подвоїть продуктивність.§r", - "gtceu.tooltip.machine.steam_bloomery_4": "§7Може обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", + "gtceu.tooltip.machine.steam_parallel": "§7Може обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Фруктовий міксер§r", "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Видобуває гази та рідини з вуглецевих твердих речовин§r", "item.gtceu.tiny_wood_dust": "Маленька купа хвойної целюлози", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 48a78abd1..4a094e0e3 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -2,7 +2,7 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.bud_indicator": "%s 表面芽", "block.gtceu.greenhouse": "温室", - "block.gtceu.steam_bloomery": "蒸汽锻铁炉", + "block.tfg.steam_bloomery": "蒸汽锻铁炉", "block.gtceu.large_solar_panel": "§9大型太阳能阵列 MK I", "block.gtceu.large_solar_panel_tier2": "§b大型太阳能阵列 MK II", "block.gtceu.large_solar_panel_tier3": "§c大型太阳能阵列 MK III", @@ -66,7 +66,7 @@ "gtceu.tooltip.machine.steam_bloomery_1": "§7用蒸汽动力升级你的锻铁炉!§r", "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7使用焦煤或无烟煤可倍增产量。§r", - "gtceu.tooltip.machine.steam_bloomery_4": "§7支持最多8组配方并行处理,相应调整蒸汽需求。§r", + "gtceu.tooltip.machine.steam_parallel": "§7支持最多8组配方并行处理,相应调整蒸汽需求。§r", "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7奶昔制造机§r", "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7从碳质固体中提取燃气和流体§r", "item.gtceu.tiny_wood_dust": "小撮软木浆", diff --git a/kubejs/assets/sandworm_mod/lang/en_us.json b/kubejs/assets/sandworm_mod/lang/en_us.json new file mode 100644 index 000000000..9281db3ff --- /dev/null +++ b/kubejs/assets/sandworm_mod/lang/en_us.json @@ -0,0 +1,6 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.sandworm_mod.worm_chain": "Sandworm", + "entity.sandworm_mod.worm_head_segment": "Sandworm Head", + "entity.sandworm_mod.worm_segment": "Sandworm Body" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/steam_bloomery.json b/kubejs/assets/tfg/blockstates/steam_bloomery.json new file mode 100644 index 000000000..c83f32133 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/steam_bloomery.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/steam_bloomery", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/steam_bloomery" + }, + "facing=south": { + "model": "tfg:block/machines/steam_bloomery", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/steam_bloomery", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/steam_fuser.json b/kubejs/assets/tfg/blockstates/steam_fuser.json new file mode 100644 index 000000000..eff6ab041 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/steam_fuser.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/steam_fuser", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/steam_fuser" + }, + "facing=south": { + "model": "tfg:block/machines/steam_fuser", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/steam_fuser", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/steam_presser.json b/kubejs/assets/tfg/blockstates/steam_presser.json new file mode 100644 index 000000000..30bb0ccd3 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/steam_presser.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/steam_presser", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/steam_presser" + }, + "facing=south": { + "model": "tfg:block/machines/steam_presser", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/steam_presser", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/steam_squasher.json b/kubejs/assets/tfg/blockstates/steam_squasher.json new file mode 100644 index 000000000..f1a4f1e21 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/steam_squasher.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/steam_squasher", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/steam_squasher" + }, + "facing=south": { + "model": "tfg:block/machines/steam_squasher", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/steam_squasher", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/steam_thermal_centrifuge.json b/kubejs/assets/tfg/blockstates/steam_thermal_centrifuge.json new file mode 100644 index 000000000..573435d86 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/steam_thermal_centrifuge.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/steam_thermal_centrifuge", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/steam_thermal_centrifuge" + }, + "facing=south": { + "model": "tfg:block/machines/steam_thermal_centrifuge", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/steam_thermal_centrifuge", + "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 081576af1..54e683aea 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1857,7 +1857,7 @@ "quests.ae2.interplanetary_wireless.desc": "You can upgrade your Wireless Terminal with this special Card, allowing access to your network from any distance, even on different worlds! Sounds too good to be true? There's a major catch — transferring items uses a huge amount of energy.\n\nYou can sort of get around this with some Energy Cards and a battery in your inventory set to Discharge Mode, but it should work well enough for those times when you accidentally left something at your base on Earth and don't want to fly all the way back.\n\nFor proper automated transfer, you'll need a Railgun.", "quests.ae2.iv.title": "IV Tier AE2", "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", - "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &1two IV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", + "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &5two EV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", "quests.ae2.accumulation_processor.desc": "The &eAccumulation Processor&r will require a large amount of Silicon for each craft.\n\nWe hope you already have a dedicated EBF producing Silicon, or at least a strong infrastructure to manufacture it quickly.\n\nPrepare accordingly, as you’ll need plenty of it!", "quests.ae2.mega_crafting.desc": "These are a neat upgrade for your &bCrafting CPU&r.\n\nThey will help to speed up your auto-crafting and allow you to handle larger jobs with ease.", "quests.ae2.mega_battery.desc": "A &ebigger battery&r for a bigger network. Nothing else to it!", @@ -2582,7 +2582,7 @@ "quests.high_voltage.mv_superconductors.desc": "&a4A&r of &bMV&r energy transmission may be appealing, but you probably don't need these at this point. The option is always there if you need it.", "quests.high_voltage.circuit_assembler.title": "HV Circuit Assembler", "quests.high_voltage.circuit_assembler.subtitle": "You will need the Cleanroom before you can craft this one", - "quests.high_voltage.circuit_assembler.desc": "The next &3Circuit Assembler&r. This tier of Circuit Assembler is only required for one type of Circuit - your first ever &aMainframe&r. You may have only one use for them, the &5EV Circuit Assembler&r.\n\nYou can put this off until &5EV&r or simply just use it for faster circuits making.", + "quests.high_voltage.circuit_assembler.desc": "The next &3Circuit Assembler&r. This tier of Circuit Assembler is only required for one type of Circuit - your first ever &aMainframe&r. You may have only one use for them, the &5EV Circuit Assembler&r.\n\nOther than that, the HV Circuit Assembler is also required to make AE2's Processors.\n\nYou can put this off until &5EV&r or simply just use it for faster circuit making.", "quests.high_voltage.microprocessor_mainframe.title": "Mainframes - first IV Circuits!", "quests.high_voltage.microprocessor_mainframe.desc": "The first &1IV&r circuit. Congratulations on making it this far!\n\nThis will be used when you get to &5EV&r, or you can use it right now to craft an Advanced Nanosuit Chestplate, a big upgrade to your jetpack!.\n\n&l&3Lore:&r&o The original texture for the Mainframes was taken from an image of an IBM zEnterprise mainframe.", "quests.high_voltage.cleanroom.title": "The Cleanroom", @@ -2756,7 +2756,7 @@ "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.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.", + "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.lv_polariser.title": "Basic Polarizer", "quests.low_voltage.lv_polariser.subtitle": "The Polarizer polarizes!", @@ -3493,7 +3493,7 @@ "quests.ore_proc.macerator_separator.task": "Any Macerator", "quests.ore_proc.thermal_centrifuge.title": "The Thermal Centrifuge", "quests.ore_proc.thermal_centrifuge.subtitle": "The go-to for most purified ores", - "quests.ore_proc.thermal_centrifuge.desc": "For all your other Purified Ores that doesn't need special treatment, it's best to run them through the &dThermal Centrifuge&r. This machine can produce byproducts at a reliable rate, while only using electricity. It's quite slow, however, so we suggest making multiple machines.", + "quests.ore_proc.thermal_centrifuge.desc": "For all your other Purified Ores that doesn't need special treatment, it's best to run them through the &dThermal Centrifuge&r. This machine can produce byproducts at a reliable rate, without needing any other ingredients. It's quite slow, however, so we suggest either making multiple machines or the steam parallel multiblock.", "quests.ore_proc.thermal_centrifuge.task": "Any Thermal Centrifuge", "quests.ore_proc.sifter.title": "The Sifter", "quests.ore_proc.sifter.subtitle": "The Skyblock Simulator", @@ -3790,7 +3790,7 @@ "quests.steam_age.steam_furnace.subtitle": "The Steam Furnace furnaces...", "quests.steam_age.steam_furnace.desc": "Want to quickly smelt something into an ingot? The &3Steam Furnace&r does just that! It can turn many ores and dusts quickly into their ingot form, at the expense of not getting any byproducts.", "quests.steam_age.steam_oven.title": "Steam Oven", - "quests.steam_age.steam_oven.subtitle": "The Steam Grinder's big brother", + "quests.steam_age.steam_oven.subtitle": "The Steam Furnace's big brother", "quests.steam_age.steam_oven.desc.1": "&o...or little brother. Don't let him know!&r\n\nThe &3Steam Oven&r is a great multiblock option if you need &6effortlessly smelt large quantities of items.&r No more lines of furnaces that you have to manually empty and refuel!\n\nIt effectively behaves as a parallel furnace, smelting up to 8 items at a time for a low cost of Steam.", "quests.steam_age.steam_oven.desc.2": "&l&3Lore:&r&o This Multiblock - despite being very similar to its brother, the Steam Grinder - isn't ported from a GregTech version or addon. Its actual progenitor is the Steam Oven from Railcraft, which dates back to 1.4.7!", "quests.steam_age.steam_macerator.title": "Steam Macerator", @@ -3931,6 +3931,15 @@ "quests.steam_age.supers.subtitle": "Super Storage Drawers", "quests.steam_age.supers.desc": "This is the &cu&6l&et&ai&bm&9a&5t&4e&r portable item and storage solution if you have a lot of single items or fluids. While these &dBasic&r (&8ULV&r) ones start out relatively small, higher tiers of Super chests and tanks can hold an insane amount of stuff - all in one single block without any regards to temperature or acidity!\n\nLike Drums, Super Tanks and Chests &6keep their contents when broken&r, can be cleared in the crafting grid, and can automatically void any overflow. Unlike drums, however, Super Tanks also &asafely contain&r their contents, preventing you from getting burnt, frozen, or floating.\n\nIf you hunger for &9even more&r storage, take a look at higher tier Quantum Chests and Tanks or AE2 Storage Cells.", "quests.steam_age.supers.task": "Any super chest or tank", + "quests.steam_age.steam_presser.title": "Steam Presser", + "quests.steam_age.steam_presser.subtitle": "The Steam Forge Hammer's aunt", + "quests.steam_age.steam_presser.desc": "The &3Steam Presser&r is a multiblock parallel version of the Forge Hammer.\n\nIf you're doing something where the forge hammer is a bottleneck, this upgrade might be useful. Otherwise, skip it.", + "quests.steam_age.steam_fuser.title": "Steam Fuser", + "quests.steam_age.steam_fuser.subtitle": "The Steam Alloy Smelter's cousin (twice removed)", + "quests.steam_age.steam_fuser.desc": "The &3Steam Fusor&r is a bigger and badder version of the Steam Alloy Smelter. Making a lot of alloys and need them fast? You'd like one of these!", + "quests.steam_age.steam_squasher.title": "Steam Squasher", + "quests.steam_age.steam_squasher.subtitle": "The Steam Compressor's childhood friend", + "quests.steam_age.steam_squasher.desc": "Need a lot of things compressed at the same time? The &3Steam Squasher&r is a multiblock parallel Compressor that may prove useful.", "quests.stone_age": "Stone Age", "quests.stone_age.subtitle": "Humble Beginnings", "quests.stone_age.foods.title": "Hungry?", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index b8bbf9430..98e0fce23 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1523,7 +1523,7 @@ "quests.ae2.interplanetary_wireless.desc": "You can upgrade your Wireless Terminal with this special Card, allowing access to your network from any distance, even on different worlds! Sounds too good to be true? There's a major catch — transferring items uses a huge amount of energy.\n\nYou can sort of get around this with some Energy Cards and a battery in your inventory set to Discharge Mode, but it should work well enough for those times when you accidentally left something at your base on Earth and don't want to fly all the way back.\n\nFor proper automated transfer, you'll need a Railgun.", "quests.ae2.iv.title": "IV Tier AE2", "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", - "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &1two IV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", + "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &5two EV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", "quests.ae2.accumulation_processor.desc": "The &eAccumulation Processor&r will require a large amount of Silicon for each craft.\n\nWe hope you already have a dedicated EBF producing Silicon, or at least a strong infrastructure to manufacture it quickly.\n\nPrepare accordingly, as you’ll need plenty of it!", "quests.ae2.mega_crafting.desc": "These are a neat upgrade for your &bCrafting CPU&r.\n\nThey will help to speed up your auto-crafting and allow you to handle larger jobs with ease.", "quests.ae2.mega_battery.desc": "A &ebigger battery&r for a bigger network. Nothing else to it!", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index d061c354b..cc6f17ce8 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1739,7 +1739,7 @@ "quests.ae2.interplanetary_wireless.desc": "You can upgrade your Wireless Terminal with this special Card, allowing access to your network from any distance, even on different worlds! Sounds too good to be true? There's a major catch — transferring items uses a huge amount of energy.\n\nYou can sort of get around this with some Energy Cards and a battery in your inventory set to Discharge Mode, but it should work well enough for those times when you accidentally left something at your base on Earth and don't want to fly all the way back.\n\nFor proper automated transfer, you'll need a Railgun.", "quests.ae2.iv.title": "IV Tier AE2", "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", - "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &1two IV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", + "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &5two EV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", "quests.ae2.accumulation_processor.desc": "The &eAccumulation Processor&r will require a large amount of Silicon for each craft.\n\nWe hope you already have a dedicated EBF producing Silicon, or at least a strong infrastructure to manufacture it quickly.\n\nPrepare accordingly, as you’ll need plenty of it!", "quests.ae2.mega_crafting.desc": "These are a neat upgrade for your &bCrafting CPU&r.\n\nThey will help to speed up your auto-crafting and allow you to handle larger jobs with ease.", "quests.ae2.mega_battery.desc": "A &ebigger battery&r for a bigger network. Nothing else to it!", diff --git a/kubejs/assets/tfg/models/block/machines/steam_bloomery.json b/kubejs/assets/tfg/models/block/machines/steam_bloomery.json new file mode 100644 index 000000000..5227238d0 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/steam_bloomery.json @@ -0,0 +1,86 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:steam_bloomery", + "texture_overrides": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/steam_bloomery/overlay_front_active" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/steam_bloomery/overlay_front_active" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/steam_bloomery/overlay_front_active" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "tfg:block/machines/steam_bloomery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/steam_bloomery/overlay_front_active" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/steam_fuser.json b/kubejs/assets/tfg/models/block/machines/steam_fuser.json new file mode 100644 index 000000000..07f9b8670 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/steam_fuser.json @@ -0,0 +1,110 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:steam_fuser", + "texture_overrides": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks" + }, + "dynamic_renders": [ + { + "type": "gtceu:boiler_multi_parts", + "casing_block": { + "Name": "gtceu:steam_machine_casing" + }, + "firebox_active": { + "Name": "gtceu:bronze_firebox_casing", + "Properties": { + "active": "true" + } + }, + "firebox_idle": { + "Name": "gtceu:bronze_firebox_casing", + "Properties": { + "active": "false" + } + } + } + ], + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_paused_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_paused_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/alloy_smelter/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/alloy_smelter/overlay_front_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/steam_presser.json b/kubejs/assets/tfg/models/block/machines/steam_presser.json new file mode 100644 index 000000000..b088103a0 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/steam_presser.json @@ -0,0 +1,86 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:steam_presser", + "texture_overrides": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/forge_hammer/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/forge_hammer/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/forge_hammer/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/forge_hammer/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/forge_hammer/overlay_front_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/steam_squasher.json b/kubejs/assets/tfg/models/block/machines/steam_squasher.json new file mode 100644 index 000000000..e2b41d508 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/steam_squasher.json @@ -0,0 +1,90 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:steam_squasher", + "texture_overrides": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", + "overlay_front": "gtceu:block/machines/compressor/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/compressor/overlay_front_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/steam_thermal_centrifuge.json b/kubejs/assets/tfg/models/block/machines/steam_thermal_centrifuge.json new file mode 100644 index 000000000..270c629d8 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/steam_thermal_centrifuge.json @@ -0,0 +1,110 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:steam_thermal_centrifuge", + "texture_overrides": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing" + }, + "dynamic_renders": [ + { + "type": "gtceu:boiler_multi_parts", + "casing_block": { + "Name": "gtceu:industrial_steam_casing" + }, + "firebox_active": { + "Name": "gtceu:steel_firebox_casing", + "Properties": { + "active": "true" + } + }, + "firebox_idle": { + "Name": "gtceu:steel_firebox_casing", + "Properties": { + "active": "false" + } + } + } + ], + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_paused_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front_paused", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_paused_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "gtceu:block/casings/gcym/industrial_steam_casing", + "overlay_front": "gtceu:block/machines/thermal_centrifuge/overlay_front_active", + "overlay_front_emissive": "gtceu:block/machines/thermal_centrifuge/overlay_front_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/steam_bloomery.json b/kubejs/assets/tfg/models/item/steam_bloomery.json new file mode 100644 index 000000000..f37cc19e8 --- /dev/null +++ b/kubejs/assets/tfg/models/item/steam_bloomery.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/steam_bloomery" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/steam_fuser.json b/kubejs/assets/tfg/models/item/steam_fuser.json new file mode 100644 index 000000000..421b4d1ca --- /dev/null +++ b/kubejs/assets/tfg/models/item/steam_fuser.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/steam_fuser" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/steam_presser.json b/kubejs/assets/tfg/models/item/steam_presser.json new file mode 100644 index 000000000..5588b3d45 --- /dev/null +++ b/kubejs/assets/tfg/models/item/steam_presser.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/steam_presser" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/steam_squasher.json b/kubejs/assets/tfg/models/item/steam_squasher.json new file mode 100644 index 000000000..e44a2bda6 --- /dev/null +++ b/kubejs/assets/tfg/models/item/steam_squasher.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/steam_squasher" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/steam_thermal_centrifuge.json b/kubejs/assets/tfg/models/item/steam_thermal_centrifuge.json new file mode 100644 index 000000000..7854ac2af --- /dev/null +++ b/kubejs/assets/tfg/models/item/steam_thermal_centrifuge.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/steam_thermal_centrifuge" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/steam_bloomery/overlay_front.png similarity index 100% rename from kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front.png rename to kubejs/assets/tfg/textures/block/machines/steam_bloomery/overlay_front.png diff --git a/kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/steam_bloomery/overlay_front_active.png similarity index 100% rename from kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front_active.png rename to kubejs/assets/tfg/textures/block/machines/steam_bloomery/overlay_front_active.png diff --git a/kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/steam_bloomery/overlay_front_active.png.mcmeta similarity index 100% rename from kubejs/assets/tfg/textures/block/steam_bloomery/overlay_front_active.png.mcmeta rename to kubejs/assets/tfg/textures/block/machines/steam_bloomery/overlay_front_active.png.mcmeta diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 0528360e3..352a1b847 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -68,8 +68,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(2, Text.translate('gtceu.tooltip.machine.ostrum_linear_accelerator_3')); - 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')); @@ -84,11 +84,27 @@ const registerTooltips = (event) => { text.add(3, Text.translate('tfg.tooltip.machine.coil_speed_discount')); text.add(4, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) - event.addAdvanced(['gtceu:steam_bloomery'], (item, advanced, text) => { + event.addAdvanced(['tfg:steam_bloomery'], (item, advanced, text) => { text.add(1, Text.translate('gtceu.tooltip.machine.steam_bloomery_1')); text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_2')); - text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_3')); - text.add(2, Text.translate('gtceu.tooltip.machine.steam_bloomery_4')); + text.add(3, Text.translate('gtceu.tooltip.machine.steam_bloomery_3')); + text.add(4, Text.translate('gtceu.tooltip.machine.steam_parallel')); + }) + event.addAdvanced(['tfg:steam_thermal_centrifuge'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.machine.lv_thermal_centrifuge.tooltip')); + text.add(2, Text.translate('gtceu.tooltip.machine.steam_parallel')); + }) + event.addAdvanced(['tfg:steam_fuser'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.machine.hp_steam_alloy_smelter.tooltip')); + text.add(2, Text.translate('gtceu.tooltip.machine.steam_parallel')); + }) + event.addAdvanced(['tfg:steam_squasher'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.machine.hp_steam_compressor.tooltip')); + text.add(2, Text.translate('gtceu.tooltip.machine.steam_parallel')); + }) + event.addAdvanced(['tfg:steam_presser'], (item, advanced, text) => { + text.add(1, Text.translate('gtceu.machine.hp_steam_forge_hammer.tooltip')); + text.add(2, Text.translate('gtceu.tooltip.machine.steam_parallel')); }) event.addAdvanced(['gtceu:large_chemical_reactor'], (item, advanced, text) => { text.add(1, Text.translate('tfg.tooltip.machine.perfect_overclock')); @@ -98,7 +114,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(3, Text.translate('tfg.tooltip.machine.one_energy_hatch')); + text.add(4, Text.translate('tfg.tooltip.machine.one_energy_hatch')); }) // Hot or not containers diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index de40b9c9a..a17c366ec 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -558,21 +558,6 @@ const registerFirmaLifeRecipes = (event) => { .EUt(GTValues.VA[GTValues.ULV]) .duration(200) - event.recipes.firmalife.mixing_bowl() - .itemIngredients(['#tfg:wood_dusts', '#tfg:wood_dusts', 'tfc:glue']) - .outputItem('2x tfg:chipboard_composite') - .id('tfg:mixing_bowl/chipboard_composite_glue') - - event.recipes.firmalife.mixing_bowl() - .itemIngredients(['#tfg:wood_dusts', '#tfg:wood_dusts', '#tfg:wood_dusts', '#tfg:wood_dusts', 'gtceu:sticky_resin']) - .outputItem('4x tfg:chipboard_composite') - .id('tfg:mixing_bowl/chipboard_composite_resin') - - event.recipes.firmalife.mixing_bowl() - .itemIngredients(['#tfg:wood_dusts', '#tfg:wood_dusts', '#forge:wax']) - .outputItem('2x tfg:chipboard_composite') - .id('tfg:mixing_bowl/chipboard_composite_wax') - // Dough global.TFC_GRAINS.forEach(grain => { diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index d51f2945e..6603488ac 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -781,6 +781,22 @@ function registerGTCEuMachineRecipes(event) { B: '#forge:tools/hammers' }).addMaterialInfo().id('gtceu:shaped/steel_hull') + event.recipes.gtceu.shaped('gtceu:bronze_machine_casing', [ + ' A ', + 'ABA', + ' A ' + ], { + A: ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Bronze, 1), + B: '#forge:tools/hammers' + }).addMaterialInfo().id('gtceu:shaped/bronze_hull') + + event.recipes.gtceu.assembler('bronze_machine_casing') + .itemInputs('4x #forge:ingots/bronze') + .itemOutputs('gtceu:bronze_machine_casing') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) + removeMaceratorRecipe(event, 'macerate_steam_input_hatch') event.recipes.gtceu.shaped('gtceu:steam_input_hatch', [ 'ACA', @@ -799,7 +815,7 @@ function registerGTCEuMachineRecipes(event) { 'ABA' ], { A: 'gtceu:bronze_plate', - B: ChemicalHelper.get(TagPrefix.gear, GTMaterials.Invar, 1), + B: ChemicalHelper.get(TagPrefix.gear, GTMaterials.Potin, 1), C: 'gtceu:hp_steam_macerator' }).addMaterialInfo().id('gtceu:shaped/steam_grinder') @@ -810,7 +826,7 @@ function registerGTCEuMachineRecipes(event) { 'ABA' ], { A: 'gtceu:bronze_plate', - B: 'gtceu:heatproof_machine_casing', + B: ChemicalHelper.get(TagPrefix.gear, GTMaterials.Invar, 1), C: 'gtceu:hp_steam_furnace' }).addMaterialInfo().id('gtceu:shaped/steam_oven') @@ -845,9 +861,9 @@ function registerGTCEuMachineRecipes(event) { ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Ultimet, 1) ) .itemOutputs('gtceu:palladium_substation') - .duration(20 * 2.5) .circuit(6) - .EUt(GTValues.VA[GTValues.LV]) + .duration(20 * 2.5) + .EUt(GTValues.VHA[GTValues.LV]) removeMaceratorRecipe(event, 'macerate_power_substation') @@ -862,4 +878,21 @@ function registerGTCEuMachineRecipes(event) { D: 'gtceu:palladium_substation' }).addMaterialInfo().id('gtceu:shaped/power_substation') + event.recipes.gtceu.shaped('2x gtceu:industrial_steam_casing', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: '#forge:plates/brass', + B: '#forge:tools/hammers', + C: '#forge:frames/steel', + D: '#forge:tools/wrenches' + }).addMaterialInfo().id('tfg:shaped/industrial_steam_casing') + + event.recipes.gtceu.assembler('industrial_steam_casing') + .itemInputs('6x #forge:plates/brass', '#forge:frames/steel') + .itemOutputs('2x gtceu:industrial_steam_casing') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VHA[GTValues.LV]) } diff --git a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js index 29dc5e567..65f5b2f21 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -49,7 +49,7 @@ function registerTFGMultiblockRecipes(event) { }).id('gtceu:shaped/electric_blast_furnace2') // TFG customs - event.shaped('tfg:electric_greenhouse', [ + event.recipes.gtceu.shaped('tfg:electric_greenhouse', [ 'ABA', 'CDC', 'BCB' @@ -58,9 +58,9 @@ function registerTFGMultiblockRecipes(event) { B: '#forge:single_cables/copper', C: 'tfc:compost', D: 'gtceu:steel_machine_casing' - }).id('tfg:shaped/electric_greenhouse') + }).addMaterialInfo().id('tfg:shaped/electric_greenhouse') - event.shaped('gtceu:steam_bloomery', [ + event.recipes.gtceu.shaped('tfg:steam_bloomery', [ 'CEC', 'DAD', 'CBC' @@ -70,9 +70,51 @@ function registerTFGMultiblockRecipes(event) { C: '#forge:rods/black_steel', D: '#forge:screws/wrought_iron', E: '#forge:tools/wrenches' - }) + }).addMaterialInfo().id('tfg:shaped/steam_bloomery') - event.shaped('tfg:ostrum_linear_accelerator', [ + event.recipes.gtceu.shaped('tfg:steam_thermal_centrifuge', [ + 'ACA', + 'DBD', + 'ACA' + ], { + A: '#forge:plates/brass', + B: 'create:steam_engine', + C: ChemicalHelper.get(TagPrefix.gear, GTMaterials.Invar, 1), + D: '#gtceu:circuits/lv' + }).addMaterialInfo().id('tfg:shaped/steam_thermal_centrifuge') + + event.recipes.gtceu.shaped('tfg:steam_fuser', [ + 'ABA', + 'ACA', + 'ABA' + ], { + A: '#forge:plates/bronze', + B: 'gtceu:potin_large_fluid_pipe', + C: 'gtceu:hp_steam_alloy_smelter' + }).addMaterialInfo().id('gtceu:shaped/steam_fuser') + + event.recipes.gtceu.shaped('tfg:steam_squasher', [ + 'ABA', + 'ACA', + 'ABA' + ], { + A: '#forge:plates/brass', + B: 'gtceu:potin_large_fluid_pipe', + C: 'gtceu:hp_steam_compressor' + }).addMaterialInfo().id('gtceu:shaped/steam_squasher') + + event.recipes.gtceu.shaped('tfg:steam_presser', [ + 'ADA', + 'ACA', + 'ABA' + ], { + A: '#forge:plates/brass', + B: 'tfc:metal/anvil/steel', + C: 'gtceu:hp_steam_forge_hammer', + D: 'gtceu:potin_large_fluid_pipe' + }).addMaterialInfo().id('gtceu:shaped/steam_presser') + + event.recipes.gtceu.shaped('tfg:ostrum_linear_accelerator', [ 'USU', 'WZW', 'PTP' @@ -83,8 +125,7 @@ function registerTFGMultiblockRecipes(event) { U: '#forge:double_plates/stellite_100', T: '#forge:single_cables/platinum', P: 'gtceu:iv_electric_pump' - } - ).id('tfg:shaped/ostrum_linear_accelerator') + }).addMaterialInfo().id('tfg:shaped/ostrum_linear_accelerator') event.recipes.gtceu.assembler('tfg:ostrum_harvester') .itemInputs( @@ -123,7 +164,7 @@ function registerTFGMultiblockRecipes(event) { Z: 'gtceu:ev_machine_hull' }).addMaterialInfo().id('tfg:shaped/evaporation_tower') - event.shaped('deafission:fission_reactor_mk1', [ + event.recipes.gtceu.shaped('deafission:fission_reactor_mk1', [ 'TUT', 'WZW', 'TUT' @@ -132,10 +173,9 @@ function registerTFGMultiblockRecipes(event) { W: '#gtceu:circuits/ev', U: 'gtceu:hv_field_generator', Z: 'gtceu:ev_machine_hull' - } - ).id('tfg:shaped/fission_reactor_mk1') + }).addMaterialInfo().id('tfg:shaped/fission_reactor_mk1') - event.shaped('gtceu:nuclear_fuel_factory', [ + event.recipes.gtceu.shaped('gtceu:nuclear_fuel_factory', [ 'TUT', 'WZW', 'TBT' @@ -145,10 +185,9 @@ function registerTFGMultiblockRecipes(event) { U: 'gtceu:ev_emitter', Z: 'gtceu:ev_machine_hull', B: 'gtceu:ev_robot_arm' - } - ).id('tfg:shaped/nuclear_fuel_factory') + }).addMaterialInfo().id('tfg:shaped/nuclear_fuel_factory') - event.shaped('gtceu:heat_exchanger', [ + event.recipes.gtceu.shaped('gtceu:heat_exchanger', [ 'TUT', 'WZW', 'GBG' @@ -159,10 +198,9 @@ function registerTFGMultiblockRecipes(event) { Z: 'gtceu:ev_machine_hull', B: 'gtceu:ev_fluid_regulator', G: '#forge:gears/ostrum_iodide' - } - ).id('tfg:shaped/heat_exchanger') + }).addMaterialInfo().id('tfg:shaped/heat_exchanger') - event.shaped('tfg:nuclear_turbine', [ + event.recipes.gtceu.shaped('tfg:nuclear_turbine', [ 'CTC', 'TZT', 'BTB' @@ -171,8 +209,7 @@ function registerTFGMultiblockRecipes(event) { Z: 'gtceu:ev_machine_hull', B: 'gtceu:ultimet_large_item_pipe', C: '#gtceu:circuits/ev' - } - ).id('tfg:shaped/nuclear_turbine') + }).addMaterialInfo().id('tfg:shaped/nuclear_turbine') event.recipes.gtceu.shaped('gtceu:coal_liquefaction_tower', [ 'ABA', diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 208c1f9f2..425001285 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -1195,14 +1195,12 @@ function registerTFGRockRecipes(event) { .itemOutputs('ad_astra:permafrost') .duration(40*20) .EUt(2) - .dimension('ad_astra:glacio') event.recipes.gtceu.compressor('tfg:venus_sandstone') .itemInputs('4x ad_astra:venus_sand') .itemOutputs('ad_astra:venus_sandstone') .duration(40*20) .EUt(2) - .dimension('ad_astra:mars') // #endregion COMPRESSOR diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index ce0b60834..167cda1d1 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -141,7 +141,6 @@ function registerTFGNuclearRecipes(event) { .outputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000)) .duration(20*16) .EUt(GTValues.VA[GTValues.IV]) - .dimension('ad_astra:mars') event.recipes.gtceu.large_chemical_reactor('plutonium_dust') .itemInputs('#forge:dusts/refined_nuclear_residue') 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 29ccd1771..b6d6c956d 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.glue_and_chipboard.js @@ -29,6 +29,21 @@ function registerTFGChipboardRecipes(event) { .EUt(5) // Chipboard + event.recipes.firmalife.mixing_bowl() + .itemIngredients(['#tfg:wood_dusts', '#tfg:wood_dusts', 'tfc:glue']) + .outputItem('2x tfg:chipboard_composite') + .id('tfg:mixing_bowl/chipboard_composite_glue') + + event.recipes.firmalife.mixing_bowl() + .itemIngredients(['#tfg:wood_dusts', '#tfg:wood_dusts', '#tfg:wood_dusts', '#tfg:wood_dusts', 'gtceu:sticky_resin']) + .outputItem('4x tfg:chipboard_composite') + .id('tfg:mixing_bowl/chipboard_composite_resin') + + event.recipes.firmalife.mixing_bowl() + .itemIngredients(['#tfg:wood_dusts', '#tfg:wood_dusts', '#forge:wax']) + .outputItem('2x tfg:chipboard_composite') + .id('tfg:mixing_bowl/chipboard_composite_wax') + event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax') .itemInputs('2x #tfg:wood_dusts', '1x #forge:wax') @@ -50,7 +65,6 @@ function registerTFGChipboardRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.mixer('gtceu:chipboard_composite_fluid_glue') .itemInputs('1x #tfg:wood_dusts') .inputFluids(Fluid.of('gtceu:glue', 25)) @@ -58,6 +72,49 @@ function registerTFGChipboardRecipes(event) { .duration(10) .EUt(GTValues.VA[GTValues.LV]) + // Pre-treated chipboard + event.recipes.firmalife.mixing_bowl() + .itemIngredients(['gtceu:treated_wood_dust', 'gtceu:treated_wood_dust', 'tfc:glue']) + .outputItem('2x tfg:treated_chipboard_composite') + .id('tfg:mixing_bowl/treated_chipboard_composite_glue') + + event.recipes.firmalife.mixing_bowl() + .itemIngredients(['gtceu:treated_wood_dust', 'gtceu:treated_wood_dust', 'gtceu:treated_wood_dust', 'gtceu:treated_wood_dust', 'gtceu:sticky_resin']) + .outputItem('4x tfg:treated_chipboard_composite') + .id('tfg:mixing_bowl/treated_chipboard_composite_resin') + + event.recipes.firmalife.mixing_bowl() + .itemIngredients(['gtceu:treated_wood_dust', 'gtceu:treated_wood_dust', '#forge:wax']) + .outputItem('2x tfg:treated_chipboard_composite') + .id('tfg:mixing_bowl/treated_chipboard_composite_wax') + + event.recipes.gtceu.mixer('gtceu:treated_chipboard_composite_wax') + .itemInputs('2x gtceu:treated_wood_dust', '1x #forge:wax') + .itemOutputs('2x tfg:treated_chipboard_composite') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('gtceu:treated_chipboard_composite_resin') + .itemInputs('4x gtceu:treated_wood_dust', '1x gtceu:sticky_resin') + .itemOutputs('4x tfg:treated_chipboard_composite') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('gtceu:treated_chipboard_composite_glue') + .itemInputs('2x gtceu:treated_wood_dust', '1x tfc:glue') + .itemOutputs('2x tfg:treated_chipboard_composite') + .duration(100) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('gtceu:treated_chipboard_composite_fluid_glue') + .itemInputs('1x gtceu:treated_wood_dust') + .inputFluids(Fluid.of('gtceu:glue', 25)) + .itemOutputs('1x tfg:treated_chipboard_composite') + .duration(10) + .EUt(GTValues.VA[GTValues.LV]) + + + // event.recipes.gtceu.compressor('gtceu:wood_mdf') .itemInputs('1x tfg:chipboard_composite') .itemOutputs('gtceu:wood_plate') diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index 349d3e852..2365c1fca 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -9,6 +9,7 @@ function registerTFGTemporaryRecipes(event) { event.shapeless('vintageimprovements:belt_grinder', 'vintageimprovements:lathe') event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator') + event.shapeless('tfg:steam_bloomery', 'gtceu:steam_bloomery') event.shapeless('greate:rose_quartz_dust', 'gtceu:rose_quartz_dust') event.shapeless('greate:tiny_rose_quartz_dust', 'gtceu:tiny_rose_quartz_dust') diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 7bc7f8907..982e93d67 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -56,7 +56,7 @@ function registerVintageImprovementsRecipes(event) { ' A ' ], { A: '#forge:plates/treated_wood', - B: '#forge:rods/long/black_steel', + B: '#forge:rods/long/steel', C: 'create:andesite_casing', D: '#forge:frames/treated_wood', E: 'greate:steel_cogwheel' diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 7f2d2099f..864e69f0e 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -2,49 +2,8 @@ const registerGTCEuMachines = (event) => { - const $SteamMulti = Java.loadClass('com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine'); - const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") const CoilWorkableElectricMultiblockMachine = Java.loadClass("com.gregtechceu.gtceu.api.machine.multiblock.CoilWorkableElectricMultiblockMachine") - //#region Steam Bloomery - - event.create('steam_bloomery', 'multiblock') - .machine((holder) => new $SteamMulti(holder, 8)) - .rotationState(RotationState.NON_Y_AXIS) - .recipeType('steam_bloomery') - .recipeModifier((machine, recipe) => $SteamMulti.recipeModifier(machine, recipe), true) - .appearanceBlock(GTBlocks.CASING_BRONZE_BRICKS) - .pattern(definition => FactoryBlockPattern.start() - .aisle(" F ", " C ", " E ", " E ", " E ") - .aisle("FCF", "C#C", "E#E", "E#E", "E#E") - .aisle(" F ", "CXC", " E ", " E ", " E ") - .where('X', Predicates.controller(Predicates.blocks(definition.get()))) - .where('C', Predicates.blockTag($Tags.block("tfc:bloomery_insulation"))) - .where('F', Predicates.blocks(GTBlocks.FIREBOX_BRONZE.get()) - .or(Predicates.abilities(PartAbility.STEAM).setExactLimit(1))) - .where('E', Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setMaxGlobalLimited(2) - .or(Predicates.abilities(PartAbility.STEAM_EXPORT_ITEMS).setExactLimit(1)) - .or(Predicates.blockTag($Tags.block("tfc:bloomery_insulation")))) - .where('#', Predicates.air()) - .where(' ', Predicates.any()) - .build() - ) - .shapeInfo(controller => MultiblockShapeInfo.builder() - .aisle(" F ", " C ", " C ", " C ", " C ") - .aisle("FCF", "C#C", "C#C", "C#C", "C#C") - .aisle(" i ", "CXC", " O ", " I ", " C ") - .where('X', controller, Direction.SOUTH) - .where('C', Block.getBlock('tfc:rock/bricks/rhyolite')) - .where('F', GTBlocks.FIREBOX_BRONZE.get()) - .where('i', GTMachines.STEAM_HATCH, Direction.SOUTH) - .where('O', GTMachines.STEAM_EXPORT_BUS, Direction.SOUTH) - .where('I', GTMachines.STEAM_IMPORT_BUS, Direction.SOUTH) - .build() - ) - .workableCasingModel( - "gtceu:block/casings/solid/machine_casing_bronze_plated_bricks", - "tfg:block/steam_bloomery") - //#endregion //#region Large Solar Panels //Tier 1 diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 39c361169..3cffd2c81 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -1,12 +1,5 @@ const registerGTCEuRecipeTypes = (event) => { - event.create('steam_bloomery') - .category('steam_bloomery') - .setEUIO('in') - .setMaxIOSize(2, 1, 0, 0) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) - .setSound(GTSoundEntries.FIRE) - event.create('large_solar_panel') .category('generator') .setEUIO('out') diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 85b9d9286..c358ce8c7 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -28,4 +28,8 @@ const registerTFGBlocks = (event) => { .requiresTool(false) .textureAll('tfg:item/deprecated') + event.create('gtceu:steam_bloomery') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .requiresTool(false) + .textureAll('tfg:item/deprecated') } From e76fd7fe3d718b45230f5e5ae3a286619a2ad643 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 01:32:13 +0000 Subject: [PATCH 542/628] bunch o quest stuff --- .../quests/chapters/ev__extreme_voltage.snbt | 1 + .../quests/chapters/hv__high_voltage.snbt | 21 ++++---- .../quests/chapters/lv__low_voltage.snbt | 51 ++++++++++++------- .../quests/chapters/mv__medium_voltage.snbt | 3 +- .../quests/chapters/questssteam_age.snbt | 3 +- .../quests/chapters/tips__tools.snbt | 1 + kubejs/assets/tfg/lang/en_us.json | 19 +++++-- 7 files changed, 63 insertions(+), 36 deletions(-) diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 36e09f67a..ea9572fe3 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -1778,6 +1778,7 @@ dependencies: ["3A2E442E4D84C891"] description: ["{quests.extreme_voltage.cracker.desc}"] id: "36B9B5024356C53C" + shape: "octagon" size: 1.5d subtitle: "{quests.extreme_voltage.cracker.subtitle}" tasks: [{ diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index 98dd688e6..d3a7a0289 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -188,8 +188,6 @@ description: ["{quests.high_voltage.assembler.desc}"] icon: "gtceu:hv_assembler" id: "16B735F9C391D260" - shape: "octagon" - size: 2.0d tasks: [{ id: "1B70E35262CA2CB8" item: "gtceu:hv_assembler" @@ -255,8 +253,6 @@ description: ["{quests.high_voltage.hv_energy_hatch.desc}"] icon: "gtceu:hv_energy_input_hatch" id: "5DBBD9B1F5B01F4E" - shape: "octagon" - size: 1.5d subtitle: "{quests.high_voltage.hv_energy_hatch.subtitle}" tasks: [ { @@ -285,8 +281,6 @@ description: ["{quests.high_voltage.chem_reactor.desc}"] icon: "gtceu:hv_chemical_reactor" id: "390E59F05132FCB8" - shape: "octagon" - size: 2.0d tasks: [{ id: "652CFAE1FA60F3E2" item: "gtceu:hv_chemical_reactor" @@ -917,8 +911,6 @@ description: ["{quests.high_voltage.hv_mixer.desc}"] icon: "gtceu:hv_mixer" id: "05ABC370D7153350" - shape: "octagon" - size: 1.5d subtitle: "{quests.high_voltage.hv_mixer.subtitle}" tasks: [{ id: "6D522B2EF097AA95" @@ -1294,10 +1286,19 @@ { dependencies: ["3FBDC8552F7D8008"] description: ["{quests.high_voltage.gun.desc}"] + icon: { + Count: 1 + id: "tacz:modern_kinetic_gun" + tag: { + GunCurrentAmmoCount: 10 + GunFireMode: "SEMI" + GunId: "create_armorer:sniper_semi_clockwork" + HasBulletInBarrel: 1b + } + } id: "74C6DD5F67B1731F" optional: true shape: "heart" - size: 1.5d subtitle: "{quests.high_voltage.gun.subtitle}" tasks: [ { @@ -1358,7 +1359,7 @@ ] title: "{quests.high_voltage.gun.title}" x: 10.0d - y: -4.5d + y: -4.0d } { dependencies: ["00A2566109144D7F"] diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index ceb6ee679..520ed4a20 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -7,14 +7,6 @@ id: "7D50771C3FE033D7" order_index: 0 quest_links: [ - { - id: "13EDC87034A162DE" - linked_quest: "2CDB9778C7A30044" - shape: "octagon" - size: 2.0d - x: 5.5d - y: 8.5d - } { id: "0EA7766FE6845121" linked_quest: "0FFBB6177DEB0A23" @@ -120,7 +112,7 @@ y: -4.5d } { - dependencies: ["2CDB9778C7A30044"] + dependencies: ["7FA1525D681C4B4A"] description: [ "{quests.low_voltage.lv_steam_turbine.desc.1}" "{@pagebreak}" @@ -141,7 +133,7 @@ y: 9.5d } { - dependencies: ["2CDB9778C7A30044"] + dependencies: ["7FA1525D681C4B4A"] description: ["{quests.low_voltage.lv_amp_explanation.desc}"] id: "7B0FF43022F6C2EC" optional: true @@ -350,8 +342,8 @@ type: "item" }] title: "{quests.low_voltage.lv_polariser.title}" - x: 5.5d - y: 2.5d + x: -1.0d + y: -0.5d } { dependencies: [ @@ -610,6 +602,7 @@ "02FDECC931B5E8EF" ] description: ["{quests.low_voltage.lv_ore_prospector.desc}"] + icon: "gtceu:prospector.lv" id: "2E36E5755B2F551C" optional: true shape: "heart" @@ -1397,7 +1390,7 @@ y: 2.5d } { - dependencies: ["2CDB9778C7A30044"] + dependencies: ["7FA1525D681C4B4A"] description: ["{quests.steam_age.alternator.desc.1}"] id: "2DC24661CAD557B0" optional: true @@ -1512,9 +1505,9 @@ } { dependencies: [ - "2CDB9778C7A30044" "522E08B1592136D5" "36FED1B6CFF7C60A" + "7FA1525D681C4B4A" ] dependency_requirement: "one_completed" description: ["{quests.low_voltage.lv_combuston_gen.desc}"] @@ -1532,10 +1525,10 @@ y: 11.0d } { - dependencies: ["2CDB9778C7A30044"] + dependencies: ["22510C5F2386B453"] description: [ "{quests.low_voltage.link_chapter.desc}:" - "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"2CDB9778C7A30044\" } }" + "{ \"text\": \"▶▶▶▶▶▶▶\", \"underlined\": \"true\", \"clickEvent\": { \"action\": \"change_page\", \"value\": \"06B2E38F7DCF2678\" } }" ] icon: "createdeco:decal_electrical" id: "7FA1525D681C4B4A" @@ -1549,7 +1542,7 @@ }] title: "{quests.low_voltage.link_chapter.title}" x: 5.5d - y: 6.5d + y: 8.5d } { dependencies: ["5F3063C539C9CBBF"] @@ -1676,8 +1669,8 @@ } { dependencies: [ - "2CDB9778C7A30044" "0404FBCC34011053" + "7FA1525D681C4B4A" ] description: ["{quests.low_voltage.lv_gas_turbine.desc}"] id: "1AD51E2B66EA7F67" @@ -1760,6 +1753,28 @@ x: -8.0d y: 5.5d } + { + dependencies: ["22510C5F2386B453"] + description: [ + "{quests.low_voltage.lost.desc.1}" + "{@pagebreak}" + "{quests.low_voltage.lost.desc.2}" + "{@pagebreak}" + "{quests.low_voltage.lost.desc.3}" + ] + icon: "gtceu:lv_sensor" + id: "7906B0DB8DE8038F" + shape: "circle" + subtitle: "{quests.low_voltage.lost.subtitle}" + tasks: [{ + id: "079BC5815364308D" + title: "{quests.low_voltage.lost.task}" + type: "checkmark" + }] + title: "{quests.low_voltage.lost.title}" + x: 1.5d + y: 5.0d + } ] subtitle: ["{quests.low_voltage.subtitle}"] title: "{quests.low_voltage}" diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index af8feae53..0426f5e78 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -318,8 +318,7 @@ description: ["{quests.medium_voltage.mv_component.desc}"] icon: "gtceu:mv_electric_motor" id: "1BE0349B8F3890D3" - shape: "octagon" - size: 1.5d + size: 1.0d subtitle: "{quests.medium_voltage.mv_component_.subtitle}" tasks: [ { diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index 43bdf0a82..c83057919 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -258,7 +258,8 @@ "{quests.steam_age.boilers.desc.2}" ] id: "46FA9DD4755A5548" - size: 1.5d + shape: "octagon" + size: 2.0d subtitle: "{quests.steam_age.boilers.subtitle}" tasks: [{ id: "07FFA9C76EE39D36" diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index 61c9792cd..9f57ea394 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -2746,6 +2746,7 @@ type: "item" } { + disable_toast: true id: "2BF805FFBA137197" item: { Count: 1 diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 54e683aea..e86e841c7 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1855,6 +1855,9 @@ "quests.ae2.wireless_access.desc": "Once you've made it to &5EV&r, you'll gain access to the ME Wireless Access Point, which basically acts like a WiFi Router for your ME network. Connect it to a central point in your base, shove as many Wireless Booster cards as you want to increase its range (and power draw), and then link a Wireless Terminal to it.\n\nOnce you have Epoxy and Rhodium, you'll be able to combine all of your Wireless Terminals together via a Universal Terminal!", "quests.ae2.interplanetary_wireless.subtitle": "Forgot something at home?", "quests.ae2.interplanetary_wireless.desc": "You can upgrade your Wireless Terminal with this special Card, allowing access to your network from any distance, even on different worlds! Sounds too good to be true? There's a major catch — transferring items uses a huge amount of energy.\n\nYou can sort of get around this with some Energy Cards and a battery in your inventory set to Discharge Mode, but it should work well enough for those times when you accidentally left something at your base on Earth and don't want to fly all the way back.\n\nFor proper automated transfer, you'll need a Railgun.", + "quests.ae2.universal_circuits.title": "Universal Circuits", + "quests.ae2.universal_circuits.subtitle": "Oh so THAT's what these are for!", + "quests.ae2.universal_circuits.desc": "Ever wondered what the point of the Universal Circuit items was? Besides nice quest icons, they're primarily used for AE2!\n\nAE2 doesn't handle item tags in patterns well, so the universal circuits are designed to be used in any patterns that require circuits. This way, whenever you unlock a new kind of circuit, you only need to add one pattern to convert the new circuit into the universal one, instead of updating &oall&r of your old patterns!", "quests.ae2.iv.title": "IV Tier AE2", "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &5two EV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", @@ -2582,7 +2585,7 @@ "quests.high_voltage.mv_superconductors.desc": "&a4A&r of &bMV&r energy transmission may be appealing, but you probably don't need these at this point. The option is always there if you need it.", "quests.high_voltage.circuit_assembler.title": "HV Circuit Assembler", "quests.high_voltage.circuit_assembler.subtitle": "You will need the Cleanroom before you can craft this one", - "quests.high_voltage.circuit_assembler.desc": "The next &3Circuit Assembler&r. This tier of Circuit Assembler is only required for one type of Circuit - your first ever &aMainframe&r. You may have only one use for them, the &5EV Circuit Assembler&r.\n\nOther than that, the HV Circuit Assembler is also required to make AE2's Processors.\n\nYou can put this off until &5EV&r or simply just use it for faster circuit making.", + "quests.high_voltage.circuit_assembler.desc": "The next &3Circuit Assembler&r. This tier of Circuit Assembler is only required for one type of Circuit - your first ever &aMainframe&r, but you won't be able to craft that until Mars in &5EV&r. You may have only one use for them, the &5EV Circuit Assembler&r.\n\nOther than that, the &6HV&r Circuit Assembler is also required to make AE2's &eProcessors&r.\n\nYou can put this off until &5EV&r or simply just use it for faster circuit making.", "quests.high_voltage.microprocessor_mainframe.title": "Mainframes - first IV Circuits!", "quests.high_voltage.microprocessor_mainframe.desc": "The first &1IV&r circuit. Congratulations on making it this far!\n\nThis will be used when you get to &5EV&r, or you can use it right now to craft an Advanced Nanosuit Chestplate, a big upgrade to your jetpack!.\n\n&l&3Lore:&r&o The original texture for the Mainframes was taken from an image of an IBM zEnterprise mainframe.", "quests.high_voltage.cleanroom.title": "The Cleanroom", @@ -2704,7 +2707,7 @@ "quests.high_voltage.gun.subtitle": "And if that don't work, use more gun", "quests.high_voltage.gun.task1": "Any gun", "quests.high_voltage.gun.task2": "Any medicine or aged alcohol", - "quests.high_voltage.gun.desc": "Getting a little too comfortable on Earth? You won't be alone on the moon, so make sure you're well prepared to defend yourself - you'll need more than just a sword or some stone javelins.\n\n&4The Moon is dangerous&r and you wouldn't want to lose your precious Rocket right?\n\nPick out a nice gun (if you're not sure, we recommend the &o\"Clockwork\" Sniper&r), craft some ammo, and maybe try out some attachments if you're feeling fancy.\n\nIt's also a good idea to bring some nutritious food to raise your max HP (try the meal bags!) as well as some alcohol and medicine for buffs and healing.", + "quests.high_voltage.gun.desc": "Getting a little too comfortable on Earth? You won't be alone on the moon, so make sure you're well prepared to defend yourself - you'll need more than just a sword or some stone javelins.\n\n&4The Moon is dangerous&r and you wouldn't want to lose your precious Rocket right?\n\nPick out a nice gun (if you're not sure, we recommend the &o\"Clockwork\" Rifle&r), craft some ammo, and maybe try out some attachments if you're feeling fancy.\n\nIt's also a good idea to bring some nutritious food to raise your max HP (try the meal bags!) as well as some alcohol and medicine for buffs and healing.", "quests.high_voltage.space_survival.title": "Home away from home", "quests.high_voltage.space_survival.subtitle": "More than just a mining dimension", "quests.high_voltage.space_survival.desc": "If you haven't already, be sure to check out the &3Tips - Space Survival&r quest chapter! It contains all the information you'll need to establish a proper moon colony.", @@ -2749,6 +2752,12 @@ "quests.low_voltage.lv_age_progression.subtitle": "Too many options, too little time!", "quests.low_voltage.lv_age_progression.desc": "&7LV&r will require you to craft a lot of different machines! Here's a friendly tip if you're struggling to set goals: pick an item in a later quest and go backwards from there.\n\nWith that in mind... why don't we start with a &5Fusion Controller&r? Never mind, slightly too ambitious - let's check a closer goal instead. Ah, yes, the &3Electric Blast Furnace&r - the main end goal of &7LV&r - should be a good target.\n\nThe EBF is &aexpensive&r, which is why you should initially focus on machines to make components and materials cheaper. Our quests will try to will guide you in the right direction.\n\nOther important goals are crafting the &3LV Assembler&r, making your first &aMV Circuits&r and getting your first &bCircuit Assembler&r.", "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.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.", @@ -3236,7 +3245,7 @@ "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&7(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", "quests.medium_voltage.mv_cutter.title": "Advanced Cutter", "quests.medium_voltage.mv_cutter.subtitle": "Upgrades, people, upgrades!", - "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note: You could use the &6Greate&r &7version, it has a tank to fill with fluid&r", + "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.", "quests.medium_voltage.mv_cutter.task": "Any Cutter", "quests.medium_voltage.mv_laser_engraver.title": "Laser Engraving", "quests.medium_voltage.mv_laser_engraver.subtitle": "This is peak technology, this is slow also", @@ -3785,7 +3794,7 @@ "quests.steam_age.boilers.tasks": "Any High Pressure Steam Boiler", "quests.steam_age.steam_bloomery.title": "Steam Bloomery", "quests.steam_age.steam_bloomery.subtitle": "The Bloomery's uncle", - "quests.steam_age.steam_bloomery.desc": "You're always going to need a lot of Wrought Iron, so why not automate your Bloomery? The next closest way to automate wrought iron is way off in LV. The Steam Bloomery is a new multiblock that'll automate your old TFC bloomery, and do it faster too! Like with the Coke Oven, you can press the JEI 'Uses' key (defaults to \"U\") to show the multiblock preview tab. Click on individual blocks to see what's valid in each location.", + "quests.steam_age.steam_bloomery.desc": "You're always going to need a lot of Wrought Iron, so why not automate your Bloomery? The next closest way to automate wrought iron is way off in LV.\n\nThe &3Steam Bloomery&r is a new multiblock that'll automate your old TFC bloomery, and do it faster too!\n\nLike with the Coke Oven, you can press the JEI 'Uses' key (defaults to \"U\") to show the multiblock preview tab. Click on individual blocks to see what's valid in each location.", "quests.steam_age.steam_furnace.title": "Steam Furnace", "quests.steam_age.steam_furnace.subtitle": "The Steam Furnace furnaces...", "quests.steam_age.steam_furnace.desc": "Want to quickly smelt something into an ingot? The &3Steam Furnace&r does just that! It can turn many ores and dusts quickly into their ingot form, at the expense of not getting any byproducts.", @@ -3936,7 +3945,7 @@ "quests.steam_age.steam_presser.desc": "The &3Steam Presser&r is a multiblock parallel version of the Forge Hammer.\n\nIf you're doing something where the forge hammer is a bottleneck, this upgrade might be useful. Otherwise, skip it.", "quests.steam_age.steam_fuser.title": "Steam Fuser", "quests.steam_age.steam_fuser.subtitle": "The Steam Alloy Smelter's cousin (twice removed)", - "quests.steam_age.steam_fuser.desc": "The &3Steam Fusor&r is a bigger and badder version of the Steam Alloy Smelter. Making a lot of alloys and need them fast? You'd like one of these!", + "quests.steam_age.steam_fuser.desc": "The &3Steam Fuser&r is a bigger and badder version of the Steam Alloy Smelter. Making a lot of alloys and need them fast? You'd like one of these!", "quests.steam_age.steam_squasher.title": "Steam Squasher", "quests.steam_age.steam_squasher.subtitle": "The Steam Compressor's childhood friend", "quests.steam_age.steam_squasher.desc": "Need a lot of things compressed at the same time? The &3Steam Squasher&r is a multiblock parallel Compressor that may prove useful.", From 5e034790ac8fdd08c17ace88d8cf5aee58b287e6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 01:32:44 +0000 Subject: [PATCH 543/628] cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c126c467..ce78aa55b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Changes +- Added new steam multiblocks for the alloy smelter, compressor, forge hammer, and thermal centrifuge @Pyritie ### Bug fixes ### Translation updates From e218cf8167ae04ff92cdc31f3c0e4bd5dd35b48a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 14:16:33 +0000 Subject: [PATCH 544/628] add crafting table recipes for gearboxes #2577 --- CHANGELOG.md | 1 + kubejs/server_scripts/greate/recipes.js | 115 ++++++++++++++++++ .../greate/recipes.recycling.js | 15 +++ 3 files changed, 131 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce78aa55b..8d1e1ee26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Changes - Added new steam multiblocks for the alloy smelter, compressor, forge hammer, and thermal centrifuge @Pyritie ### Bug fixes +- Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie ### Translation updates ## [0.11.15] - 31-12-2025 diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 6298b3e77..7c6935782 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -87,6 +87,29 @@ function registerGreateRecipes(event) { // #region Gearboxes + event.shaped('greate:andesite_alloy_gearbox', [ + ' A ', + 'ABA', + 'CA ' + ], { + A: 'greate:andesite_alloy_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/andesite_alloy_gearbox') + + event.shaped('greate:andesite_alloy_vertical_gearbox', [ + 'A A', + ' B ', + 'ACA' + ], { + A: 'greate:andesite_alloy_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/andesite_alloy_vertical_gearbox') + + event.shapeless('greate:andesite_alloy_gearbox', ['greate:andesite_alloy_vertical_gearbox']) + event.shapeless('greate:andesite_alloy_vertical_gearbox', ['greate:andesite_alloy_gearbox']) + event.recipes.gtceu.assembler('greate:andesite_alloy_gearbox') .itemInputs('create:andesite_casing', '4x greate:andesite_alloy_shaft') .itemOutputs('greate:andesite_alloy_gearbox') @@ -97,6 +120,29 @@ function registerGreateRecipes(event) { TFGHelpers.registerMaterialInfo('greate:andesite_alloy_gearbox', { 'wood': 1, 'wrought_iron': 1 }); TFGHelpers.registerMaterialInfo('greate:andesite_alloy_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1 }); + event.shaped('greate:steel_gearbox', [ + ' A ', + 'ABA', + 'CA ' + ], { + A: 'greate:steel_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/steel_gearbox') + + event.shaped('greate:steel_vertical_gearbox', [ + 'A A', + ' B ', + 'ACA' + ], { + A: 'greate:steel_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/steel_vertical_gearbox') + + event.shapeless('greate:steel_gearbox', ['greate:steel_vertical_gearbox']) + event.shapeless('greate:steel_vertical_gearbox', ['greate:steel_gearbox']) + event.recipes.gtceu.assembler('greate:steel_gearbox') .itemInputs('create:andesite_casing', '4x greate:steel_shaft') .itemOutputs('greate:steel_gearbox') @@ -107,6 +153,29 @@ function registerGreateRecipes(event) { TFGHelpers.registerMaterialInfo('greate:steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); TFGHelpers.registerMaterialInfo('greate:steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); + event.shaped('greate:aluminium_gearbox', [ + ' A ', + 'ABA', + 'CA ' + ], { + A: 'greate:aluminium_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/aluminium_gearbox') + + event.shaped('greate:aluminium_vertical_gearbox', [ + 'A A', + ' B ', + 'ACA' + ], { + A: 'greate:aluminium_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/aluminium_vertical_gearbox') + + event.shapeless('greate:aluminium_gearbox', ['greate:aluminium_vertical_gearbox']) + event.shapeless('greate:aluminium_vertical_gearbox', ['greate:aluminium_gearbox']) + event.recipes.gtceu.assembler('greate:aluminium_gearbox') .itemInputs('create:andesite_casing', '4x greate:aluminium_shaft') .itemOutputs('greate:aluminium_gearbox') @@ -117,6 +186,29 @@ function registerGreateRecipes(event) { TFGHelpers.registerMaterialInfo('greate:aluminium_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); TFGHelpers.registerMaterialInfo('greate:aluminium_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); + event.shaped('greate:stainless_steel_gearbox', [ + ' A ', + 'ABA', + 'CA ' + ], { + A: 'greate:stainless_steel_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/stainless_steel_gearbox') + + event.shaped('greate:stainless_steel_vertical_gearbox', [ + 'A A', + ' B ', + 'ACA' + ], { + A: 'greate:stainless_steel_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/stainless_steel_vertical_gearbox') + + event.shapeless('greate:stainless_steel_gearbox', ['greate:stainless_steel_vertical_gearbox']) + event.shapeless('greate:stainless_steel_vertical_gearbox', ['greate:stainless_steel_gearbox']) + event.recipes.gtceu.assembler('greate:stainless_steel_gearbox') .itemInputs('create:andesite_casing', '4x greate:stainless_steel_shaft') .itemOutputs('greate:stainless_steel_gearbox') @@ -127,6 +219,29 @@ function registerGreateRecipes(event) { TFGHelpers.registerMaterialInfo('greate:stainless_steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); TFGHelpers.registerMaterialInfo('greate:stainless_steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); + event.shaped('greate:titanium_gearbox', [ + ' A ', + 'ABA', + 'CA ' + ], { + A: 'greate:titanium_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/titanium_gearbox') + + event.shaped('greate:titanium_vertical_gearbox', [ + 'A A', + ' B ', + 'ACA' + ], { + A: 'greate:titanium_shaft', + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/titanium_vertical_gearbox') + + event.shapeless('greate:titanium_gearbox', ['greate:titanium_vertical_gearbox']) + event.shapeless('greate:titanium_vertical_gearbox', ['greate:titanium_gearbox']) + event.recipes.gtceu.assembler('greate:titanium_gearbox') .itemInputs('create:andesite_casing', '4x greate:titanium_shaft') .itemOutputs('greate:titanium_gearbox') diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js index c9a55500e..517809086 100644 --- a/kubejs/server_scripts/greate/recipes.recycling.js +++ b/kubejs/server_scripts/greate/recipes.recycling.js @@ -57,5 +57,20 @@ function registerGreateRecyclingRecipes(event) { event.recipes.tfc.extra_products_shapeless_crafting('4x greate:titanium_shaft', event.shapeless('create:andesite_casing', ['greate:titanium_gearbox', '#forge:tools/hammers'])) + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:andesite_alloy_shaft', + event.shapeless('create:andesite_casing', ['greate:andesite_alloy_vertical_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:steel_shaft', + event.shapeless('create:andesite_casing', ['greate:steel_vertical_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:aluminium_shaft', + event.shapeless('create:andesite_casing', ['greate:aluminium_vertical_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:stainless_steel_shaft', + event.shapeless('create:andesite_casing', ['greate:stainless_steel_vertical_gearbox', '#forge:tools/hammers'])) + + event.recipes.tfc.extra_products_shapeless_crafting('4x greate:titanium_shaft', + event.shapeless('create:andesite_casing', ['greate:titanium_vertical_gearbox', '#forge:tools/hammers'])) + // #endregion } \ No newline at end of file From deb7c60ecd53298610226ab521102fba59dcff1f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 14:16:58 +0000 Subject: [PATCH 545/628] langs --- CHANGELOG.md | 1 + kubejs/assets/framedblocks/lang/zh_cn.json | 301 ++++++++++++++++++--- kubejs/assets/gtceu/lang/zh_cn.json | 4 + kubejs/assets/sandworm_mod/lang/zh_cn.json | 6 + kubejs/assets/species/lang/zh_cn.json | 15 +- kubejs/assets/tfg/lang/zh_cn.json | 42 ++- 6 files changed, 318 insertions(+), 51 deletions(-) create mode 100644 kubejs/assets/sandworm_mod/lang/zh_cn.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d1e1ee26..196b7485e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie ### Translation updates +- Chinese (simplified) @jmecn ## [0.11.15] - 31-12-2025 ### Bug fixes diff --git a/kubejs/assets/framedblocks/lang/zh_cn.json b/kubejs/assets/framedblocks/lang/zh_cn.json index f9270aa91..b1dacf823 100644 --- a/kubejs/assets/framedblocks/lang/zh_cn.json +++ b/kubejs/assets/framedblocks/lang/zh_cn.json @@ -1,110 +1,349 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.framedblocks.framed_activator_rail_slope": "激活铁轨坡框架", + "block.framedblocks.framed_adj_double_copycat_panel": "可调复合仿制竖板框架", + "block.framedblocks.framed_adj_double_copycat_slab": "可调复合仿制台阶框架", + "block.framedblocks.framed_adj_double_panel": "可调复合竖板框架", + "block.framedblocks.framed_adj_double_slab": "可调复合台阶框架", "block.framedblocks.framed_bars": "铁栅栏框架", + "block.framedblocks.framed_bookshelf": "书架框架", "block.framedblocks.framed_bouncy_cube": "黏液块框架", "block.framedblocks.framed_button": "按钮框架", + "block.framedblocks.framed_centered_panel": "居中竖板框架", + "block.framedblocks.framed_centered_slab": "居中台阶框架", + "block.framedblocks.framed_checkered_cube": "棋盘纹方块框架", + "block.framedblocks.framed_checkered_cube_segment": "棋盘纹方块分段框架", + "block.framedblocks.framed_checkered_panel": "棋盘纹竖板框架", + "block.framedblocks.framed_checkered_panel_segment": "棋盘纹竖板分段框架", + "block.framedblocks.framed_checkered_slab": "棋盘纹台阶框架", + "block.framedblocks.framed_checkered_slab_segment": "棋盘纹台阶分段框架", "block.framedblocks.framed_chest": "箱子框架", + "block.framedblocks.framed_chiseled_bookshelf": "雕纹书架框架", "block.framedblocks.framed_collapsible_block": "自定义方块框架", + "block.framedblocks.framed_collapsible_copycat_block": "自定义仿制方块框架", + "block.framedblocks.framed_compound_slope_panel": "复合坡竖板框架", + "block.framedblocks.framed_compound_slope_slab": "复合坡台阶框架", "block.framedblocks.framed_corner_pillar": "角柱框架", "block.framedblocks.framed_corner_slope": "角坡框架", + "block.framedblocks.framed_corner_strip": "角条框架", "block.framedblocks.framed_cube": "框架块", + "block.framedblocks.framed_detector_rail_slope": "探测铁轨坡框架", + "block.framedblocks.framed_divided_panel_horizontal": "分割竖板框架(水平)", + "block.framedblocks.framed_divided_panel_vertical": "分割竖板框架(垂直)", + "block.framedblocks.framed_divided_slab": "分割台阶框架", + "block.framedblocks.framed_divided_slope": "分割坡框架", + "block.framedblocks.framed_divided_stairs": "分割楼梯框架", "block.framedblocks.framed_door": "门框架", "block.framedblocks.framed_double_corner": "复合角框架", - "block.framedblocks.framed_double_panel": "复合侧板框架", + "block.framedblocks.framed_double_half_slope": "复合半坡框架", + "block.framedblocks.framed_double_half_stairs": "复合半楼梯框架", + "block.framedblocks.framed_double_panel": "复合竖板框架", + "block.framedblocks.framed_double_prism": "复合棱柱框架", "block.framedblocks.framed_double_prism_corner": "复合棱框架", "block.framedblocks.framed_double_slab": "复合台阶框架", "block.framedblocks.framed_double_slope": "复合坡框架", - "block.framedblocks.framed_double_slope_panel": "复合高坡框架", - "block.framedblocks.framed_double_slope_slab": "台阶复合坡框架", + "block.framedblocks.framed_double_slope_panel": "复合坡竖板框架", + "block.framedblocks.framed_double_slope_slab": "复合坡台阶框架", + "block.framedblocks.framed_double_sloped_prism": "复合坡棱柱框架", "block.framedblocks.framed_double_stairs": "复合楼梯框架", "block.framedblocks.framed_double_threeway_corner": "复合三角框架", - "block.framedblocks.framed_elevated_double_slope_slab": "复合高坡台阶框架", - "block.framedblocks.framed_elevated_slope_slab": "高坡框架", - "block.framedblocks.framed_extended_double_slope_panel": "复合竖向高坡框架", - "block.framedblocks.framed_extended_slope_panel": "竖向高坡框架", + "block.framedblocks.framed_double_threeway_corner_pillar": "复合三角柱框架", + "block.framedblocks.framed_elevated_double_slope_edge": "抬升复合坡边缘框架", + "block.framedblocks.framed_elevated_double_slope_slab": "抬升复合坡台阶框架", + "block.framedblocks.framed_elevated_slope_edge": "抬升坡边缘框架", + "block.framedblocks.framed_elevated_slope_slab": "抬升坡台阶框架", + "block.framedblocks.framed_ext_corner_slope_panel": "延伸角坡竖板框架", + "block.framedblocks.framed_ext_corner_slope_panel_w": "延伸角坡竖板框架", + "block.framedblocks.framed_ext_double_corner_slope_panel": "延伸复合角坡竖板框架", + "block.framedblocks.framed_ext_double_corner_slope_panel_w": "延伸复合角坡竖板框架", + "block.framedblocks.framed_ext_inner_corner_slope_panel": "延伸内角坡竖板框架", + "block.framedblocks.framed_ext_inner_corner_slope_panel_w": "延伸内角坡竖板框架", + "block.framedblocks.framed_ext_inner_double_corner_slope_panel": "延伸内复合角坡竖板框架", + "block.framedblocks.framed_ext_inner_double_corner_slope_panel_w": "延伸内复合角坡竖板框架", + "block.framedblocks.framed_extended_double_slope_panel": "延伸复合坡竖板框架", + "block.framedblocks.framed_extended_slope_panel": "延伸坡竖板框架", + "block.framedblocks.framed_fancy_activator_rail": "花式激活铁轨框架", + "block.framedblocks.framed_fancy_activator_rail_slope": "花式激活铁轨坡框架", + "block.framedblocks.framed_fancy_detector_rail": "花式探测铁轨框架", + "block.framedblocks.framed_fancy_detector_rail_slope": "花式探测铁轨坡框架", + "block.framedblocks.framed_fancy_powered_rail": "花式充能铁轨框架", + "block.framedblocks.framed_fancy_powered_rail_slope": "花式充能铁轨坡框架", + "block.framedblocks.framed_fancy_rail": "花式铁轨框架", + "block.framedblocks.framed_fancy_rail_slope": "花式铁轨坡框架", "block.framedblocks.framed_fence": "栅栏框架", + "block.framedblocks.framed_fence_gate": "栅栏门框架", + "block.framedblocks.framed_flat_double_slope_panel_corner": "扁平复合坡竖板角框架", + "block.framedblocks.framed_flat_double_slope_slab_corner": "扁平复合坡台阶角框架", + "block.framedblocks.framed_flat_elev_double_slope_slab_corner": "扁平抬升复合坡台阶角框架", + "block.framedblocks.framed_flat_elev_inner_double_slope_slab_corner": "扁平抬升内复合坡台阶角框架", + "block.framedblocks.framed_flat_elev_inner_slope_slab_corner": "扁平抬升内坡台阶角框架", + "block.framedblocks.framed_flat_elev_slope_slab_corner": "扁平抬升坡台阶角框架", + "block.framedblocks.framed_flat_ext_double_slope_panel_corner": "扁平延伸复合坡竖板角框架", + "block.framedblocks.framed_flat_ext_inner_double_slope_panel_corner": "扁平延伸内复合坡竖板角框架", + "block.framedblocks.framed_flat_ext_inner_slope_panel_corner": "扁平延伸内坡竖板角框架", + "block.framedblocks.framed_flat_ext_slope_panel_corner": "扁平延伸坡竖板角框架", + "block.framedblocks.framed_flat_inner_slope_panel_corner": "扁平内坡竖板角框架", + "block.framedblocks.framed_flat_inner_slope_slab_corner": "扁平内坡台阶角框架", + "block.framedblocks.framed_flat_inv_double_slope_panel_corner": "扁平反向复合坡竖板角框架", + "block.framedblocks.framed_flat_inv_double_slope_slab_corner": "扁平反向复合坡台阶角框架", + "block.framedblocks.framed_flat_slope_panel_corner": "扁平坡竖板角框架", + "block.framedblocks.framed_flat_slope_slab_corner": "扁平坡台阶角框架", + "block.framedblocks.framed_flat_stacked_inner_slope_panel_corner": "扁平堆叠内坡竖板角框架", + "block.framedblocks.framed_flat_stacked_inner_slope_slab_corner": "扁平堆叠内坡台阶角框架", + "block.framedblocks.framed_flat_stacked_slope_panel_corner": "扁平堆叠坡竖板角框架", + "block.framedblocks.framed_flat_stacked_slope_slab_corner": "扁平堆叠坡台阶角框架", "block.framedblocks.framed_floor_board": "地板框架", "block.framedblocks.framed_flower_pot": "花盆框架", - "block.framedblocks.framed_fence_gate": "栅栏门框架", "block.framedblocks.framed_gate": "门框架", - "block.framedblocks.framed_gold_pressure_plate": "轻质测重压力板框架", + "block.framedblocks.framed_glowing_cube": "发光方块框架", + "block.framedblocks.framed_glowing_item_frame": "发光物品展示框框架", + "block.framedblocks.framed_gold_pressure_plate": "轻质压力板框架", "block.framedblocks.framed_half_pillar": "半柱框架", + "block.framedblocks.framed_half_slope": "半坡框架", "block.framedblocks.framed_half_stairs": "半楼梯框架", - "block.framedblocks.framed_horizontal_pane": "水平板框架", + "block.framedblocks.framed_hanging_sign": "悬挂告示牌框架", + "block.framedblocks.framed_horizontal_pane": "水平玻璃板框架", "block.framedblocks.framed_inner_corner_slope": "内角坡框架", + "block.framedblocks.framed_inner_prism": "内棱柱框架", "block.framedblocks.framed_inner_prism_corner": "内棱框架", + "block.framedblocks.framed_inner_sloped_prism": "内坡棱柱框架", "block.framedblocks.framed_inner_threeway_corner": "内三角框架", - "block.framedblocks.framed_inv_double_slope_panel": "竖直反向复合坡框架", - "block.framedblocks.framed_inv_double_slope_slab": "台阶反向复合坡框架", + "block.framedblocks.framed_inv_double_corner_slope_panel": "反向复合角坡竖板框架", + "block.framedblocks.framed_inv_double_corner_slope_panel_w": "反向复合角坡竖板框架", + "block.framedblocks.framed_inv_double_slope_panel": "反向复合坡竖板框架", + "block.framedblocks.framed_inv_double_slope_slab": "反向复合坡台阶框架", "block.framedblocks.framed_iron_door": "铁门框架", + "block.framedblocks.framed_iron_gate": "铁制大门框架", "block.framedblocks.framed_iron_pressure_plate": "重质压力板框架", "block.framedblocks.framed_iron_trapdoor": "铁活板门框架", + "block.framedblocks.framed_item_frame": "物品展示框框架", "block.framedblocks.framed_ladder": "梯子框架", "block.framedblocks.framed_large_button": "大按钮框架", + "block.framedblocks.framed_large_corner_slope_panel": "大角坡竖板框架", + "block.framedblocks.framed_large_corner_slope_panel_w": "大角坡竖板框架", + "block.framedblocks.framed_large_double_corner_slope_panel": "大复合角坡竖板框架", + "block.framedblocks.framed_large_double_corner_slope_panel_w": "大复合角坡竖板框架", + "block.framedblocks.framed_large_inner_corner_slope_panel": "大内角坡竖板框架", + "block.framedblocks.framed_large_inner_corner_slope_panel_w": "大内角坡竖板框架", "block.framedblocks.framed_large_stone_button": "大石头按钮框架", "block.framedblocks.framed_lattice_block": "格架方块", "block.framedblocks.framed_lever": "拉杆框架", + "block.framedblocks.framed_masonry_corner": "石工角框架", + "block.framedblocks.framed_masonry_corner_segment": "石工角分段框架", + "block.framedblocks.framed_mini_cube": "微型方块框架", "block.framedblocks.framed_obsidian_pressure_plate": "黑曜石压力板框架", + "block.framedblocks.framed_one_way_window": "单向玻璃框架", "block.framedblocks.framed_pane": "玻璃板框架", "block.framedblocks.framed_panel": "竖板框架", "block.framedblocks.framed_pillar": "柱框架", "block.framedblocks.framed_post": "杆框架", + "block.framedblocks.framed_powered_rail_slope": "充能铁轨坡框架", "block.framedblocks.framed_pressure_plate": "压力板框架", - "block.framedblocks.framed_prism": "三棱柱框架", + "block.framedblocks.framed_prism": "棱柱框架", "block.framedblocks.framed_prism_corner": "棱框架", "block.framedblocks.framed_pyramid": "角锥框架", "block.framedblocks.framed_pyramid_slab": "角锥台阶框架", - "block.framedblocks.framed_rail_slope": "铁路坡框架", + "block.framedblocks.framed_rail_slope": "铁轨坡框架", "block.framedblocks.framed_redstone_block": "红石块框架", + "block.framedblocks.framed_redstone_torch": "红石火把框架", "block.framedblocks.framed_secret_storage": "木桶框架", "block.framedblocks.framed_sign": "告示牌框架", "block.framedblocks.framed_slab": "台阶框架", "block.framedblocks.framed_slab_corner": "台阶角框架", "block.framedblocks.framed_slab_edge": "台阶边缘框架", + "block.framedblocks.framed_sliced_stairs_panel": "切边楼梯框架(竖板)", + "block.framedblocks.framed_sliced_stairs_slab": "切边楼梯框架(台阶)", "block.framedblocks.framed_slope": "坡框架", - "block.framedblocks.framed_slope_panel": "竖向坡框架", - "block.framedblocks.framed_slope_slab": "台阶坡框架", - "block.framedblocks.framed_sloped_prism": "三棱柱坡框架", + "block.framedblocks.framed_slope_edge": "坡边缘框架", + "block.framedblocks.framed_slope_panel": "坡竖板框架", + "block.framedblocks.framed_slope_slab": "坡台阶框架", + "block.framedblocks.framed_sloped_prism": "坡棱柱框架", + "block.framedblocks.framed_sloped_stairs": "坡楼梯框架", + "block.framedblocks.framed_small_corner_slope_panel": "小角坡竖板框架", + "block.framedblocks.framed_small_corner_slope_panel_w": "小角坡竖板框架", + "block.framedblocks.framed_small_double_corner_slope_panel": "小复合角坡竖板框架", + "block.framedblocks.framed_small_double_corner_slope_panel_w": "小复合角坡竖板框架", + "block.framedblocks.framed_small_inner_corner_slope_panel": "小内角坡竖板框架", + "block.framedblocks.framed_small_inner_corner_slope_panel_w": "小内角坡竖板框架", "block.framedblocks.framed_soul_torch": "灵魂火把框架", + "block.framedblocks.framed_stacked_corner_slope_panel": "堆叠角坡竖板框架", + "block.framedblocks.framed_stacked_corner_slope_panel_w": "堆叠角坡竖板框架", + "block.framedblocks.framed_stacked_inner_corner_slope_panel": "堆叠内角坡竖板框架", + "block.framedblocks.framed_stacked_inner_corner_slope_panel_w": "堆叠内角坡竖板框架", + "block.framedblocks.framed_stacked_slope_edge": "堆叠坡边缘框架", + "block.framedblocks.framed_stacked_slope_panel": "堆叠坡竖板框架", + "block.framedblocks.framed_stacked_slope_slab": "堆叠坡台阶框架", "block.framedblocks.framed_stairs": "楼梯框架", "block.framedblocks.framed_stone_button": "石头按钮框架", "block.framedblocks.framed_stone_pressure_plate": "石头压力板框架", "block.framedblocks.framed_target": "标靶框架", + "block.framedblocks.framed_thick_lattice": "厚格架框架", "block.framedblocks.framed_threeway_corner": "三角框架", + "block.framedblocks.framed_threeway_corner_pillar": "三角柱框架", "block.framedblocks.framed_torch": "火把框架", "block.framedblocks.framed_trapdoor": "活板门框架", - "block.framedblocks.framed_vertical_double_stairs": "竖向复合台阶框架", - "block.framedblocks.framed_vertical_half_stairs": "竖向半楼梯框架", - "block.framedblocks.framed_vertical_stairs": "竖向楼梯框架", + "block.framedblocks.framed_tube": "管状框架", + "block.framedblocks.framed_vertical_divided_stairs": "垂直分割楼梯框架", + "block.framedblocks.framed_vertical_double_half_slope": "垂直复合半坡框架", + "block.framedblocks.framed_vertical_double_half_stairs": "垂直复合半楼梯框架", + "block.framedblocks.framed_vertical_double_stairs": "垂直复合楼梯框架", + "block.framedblocks.framed_vertical_half_slope": "垂直半坡框架", + "block.framedblocks.framed_vertical_half_stairs": "垂直半楼梯框架", + "block.framedblocks.framed_vertical_sliced_stairs": "垂直切边楼梯框架", + "block.framedblocks.framed_vertical_sloped_stairs": "垂直坡楼梯框架", + "block.framedblocks.framed_vertical_stairs": "垂直楼梯框架", "block.framedblocks.framed_wall": "墙框架", "block.framedblocks.framed_wall_board": "墙板框架", + "block.framedblocks.framed_wall_hanging_sign": "悬挂告示牌框架", "block.framedblocks.framed_wall_sign": "告示牌框架", - "button.framedblocks.gui.done": "完成", + "block.framedblocks.framed_waterloggable_gold_pressure_plate": "轻质压力板框架", + "block.framedblocks.framed_waterloggable_iron_pressure_plate": "重质压力板框架", + "block.framedblocks.framed_waterloggable_obsidian_pressure_plate": "黑曜石压力板框架", + "block.framedblocks.framed_waterloggable_pressure_plate": "压力板框架", + "block.framedblocks.framed_waterloggable_stone_pressure_plate": "石头压力板框架", + "block.framedblocks.framing_saw": "框架锯", + "block.framedblocks.powered_framing_saw": "动力框架锯", + "config.framedblocks.client.altGhostRenderer": "使用替代放置预览渲染器", + "config.framedblocks.client.camoMessageVerbosity": "伪装块禁用信息详细程度", + "config.framedblocks.client.camoRotationMode": "伪装块旋转覆盖层:显示模式", + "config.framedblocks.client.conTexMode": "连接纹理模式", + "config.framedblocks.client.detailedCulling": "详细剔除", + "config.framedblocks.client.discreteUVSteps": "使用离散UV步长", + "config.framedblocks.client.fancyHitboxes": "花式碰撞箱", + "config.framedblocks.client.forceAoOnGlowingBlocks": "强制在发光框架块上应用环境光遮蔽", + "config.framedblocks.client.itemFrameBackgroundMode": "物品展示框背景覆盖层:显示模式", + "config.framedblocks.client.oneWayWindowMode": "单向玻璃覆盖层:显示模式", + "config.framedblocks.client.prismOffsetMode": "棱柱偏移覆盖层:显示模式", + "config.framedblocks.client.reinforcedMode": "强化覆盖层:显示模式", + "config.framedblocks.client.showAllRecipePermutationsInEmi": "在EMI中显示所有框架锯配方变体", + "config.framedblocks.client.showButtonPlateTypeOverlay": "显示按钮和压力板类型覆盖层", + "config.framedblocks.client.showGhostBlocks": "显示幽灵方块", + "config.framedblocks.client.showSpecialCubeTypeOverlay": "显示特殊方块类型覆盖层", + "config.framedblocks.client.solidFrameMode": "实心框架模式", + "config.framedblocks.client.splitLineMode": "可折叠方块分割线覆盖层:显示模式", + "config.framedblocks.client.stateLockMode": "状态锁定覆盖层:显示模式", + "config.framedblocks.client.toggleWaterlogMode": "切换可含水覆盖层:显示模式", + "config.framedblocks.client.toggleYSlopeMode": "切换Y轴坡面覆盖层:显示模式", + "config.framedblocks.common.fireproofBlocks": "防火方块", + "config.framedblocks.server.allowBlockEntities": "允许方块实体", + "config.framedblocks.server.consumeCamoItem": "消耗伪装物品", + "config.framedblocks.server.enableIntangibleFeature": "启用无形化功能", + "config.framedblocks.server.glowstoneLightLevel": "荧石光照等级", + "config.framedblocks.server.intangibleMarkerItem": "无形化标记物品", + "config.framedblocks.server.oneWayWindowOwnable": "单向玻璃可拥有性", + "config.jade.plugin_framedblocks.framed_item_frame": "物品展示框框架", "desc.framedblocks.blueprint_block": "内置方块:%s", - "desc.framedblocks.blueprint_camo": "外表方块:%s", - "desc.framedblocks.blueprint_cant_copy": "此方块目前无法被复制", - "desc.framedblocks.blueprint_cant_place_fluid_camo": "目前无法复制填充有流体的方块", - "desc.framedblocks.blueprint_illuminated": "点亮:%s", + "desc.framedblocks.blueprint_camo": "伪装方块:%s", + "desc.framedblocks.blueprint_cant_copy": "此方块目前无法被复制!", + "desc.framedblocks.blueprint_cant_place_fluid_camo": "目前无法复制填充有流体的伪装方块!", "desc.framedblocks.blueprint_false": "否", - "desc.framedblocks.blueprint_true": "是", + "desc.framedblocks.blueprint_illuminated": "点亮:%s", + "desc.framedblocks.blueprint_intangible": "无形化:%s", "desc.framedblocks.blueprint_invalid": "无效的", - "block.framedblocks.framed_iron_gate": "铁制大门框架", + "desc.framedblocks.blueprint_missing_materials": "缺少所需材料:", "desc.framedblocks.blueprint_none": "无", + "desc.framedblocks.blueprint_reinforced": "已强化:%s", + "desc.framedblocks.blueprint_true": "是", + "desc.framedblocks.slope_slab.place_upside_down": "按住潜行键以倒置放置", "framedblocks.key.categories.framedblocks": "框架方块", - "framedblocks.key.update_cull": "更新culling cache", + "framedblocks.key.update_cull": "更新剔除缓存", "item.framedblocks.framed_blueprint": "框架蓝图", "item.framedblocks.framed_hammer": "框架锤", "item.framedblocks.framed_key": "框架钥匙", + "item.framedblocks.framed_reinforcement": "框架强化材料", "item.framedblocks.framed_screwdriver": "框架螺丝刀", "item.framedblocks.framed_wrench": "框架扳手", "itemGroup.framed_blocks": "框架方块", - "msg.framedblocks.camo.blacklisted": "该方块在黑名单中!", - "msg.framedblocks.camo.block_entity": "实体方块不得放入框架中!", + "msg.framedblocks.camo.blacklisted": "该方块不得作为伪装块使用!", + "msg.framedblocks.camo.block_entity": "含有方块实体的方块不得放入框架中!", + "msg.framedblocks.camo.non_solid": "未标记的非实心方块不得放入框架中!", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_0": "第一格中存在错误的添加剂成分", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_1": "第二格中存在错误的添加剂成分", + "msg.framedblocks.frame_crafter.fail.incorrect_additive_2": "第三格中存在错误的添加剂成分", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_0": "第一格中添加剂成分数量不足", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_1": "第二格中添加剂成分数量不足", + "msg.framedblocks.frame_crafter.fail.insufficient_additive_2": "第三格中添加剂成分数量不足", + "msg.framedblocks.frame_crafter.fail.material_lcm": "输入物品过少,无法均匀转换为此输出", + "msg.framedblocks.frame_crafter.fail.material_value": "可用输入材料不足", + "msg.framedblocks.frame_crafter.fail.missing_additive_0": "第一格中缺少添加剂成分", + "msg.framedblocks.frame_crafter.fail.missing_additive_1": "第二格中缺少添加剂成分", + "msg.framedblocks.frame_crafter.fail.missing_additive_2": "第三格中缺少添加剂成分", + "msg.framedblocks.frame_crafter.fail.output_size": "结果数量超过最大堆叠大小", + "msg.framedblocks.frame_crafter.fail.success": "可合成", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_0": "第一格中存在意外的添加剂成分", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_1": "第二格中存在意外的添加剂成分", + "msg.framedblocks.frame_crafter.fail.unexpected_additive_2": "第三格中存在意外的添加剂成分", + "msg.framedblocks.framing_saw.transfer.invalid_recipe": "配方无效", + "msg.framedblocks.framing_saw.transfer.not_implemented": "传输未实现,不会转移任何物品", "msg.framedblocks.lock_state": "现在该方块状态为 %s", "msg.framedblocks.lock_state.locked": "锁定", "msg.framedblocks.lock_state.unlocked": "未锁定", + "msg.framedblocks.powered_saw.status": "状态:", + "msg.framedblocks.powered_saw.status.no_match": "配方不匹配", + "msg.framedblocks.powered_saw.status.no_recipe": "无配方", + "msg.framedblocks.powered_saw.status.ready": "就绪", + "msg.framedblocks.prism_offset.switch": "使用框架锤敲击以切换偏移", + "msg.framedblocks.split_line.switch": "使用框架扳手敲击以切换分割线方向", "title.framedblocks.framed_chest": "箱子框架", "title.framedblocks.framed_secret_storage": "木桶框架", + "title.framedblocks.framing_saw": "框架锯", + "title.framedblocks.powered_framing_saw": "动力框架锯", + "title.framedblocks.powered_saw.target_block": "目标:", "title.framedblocks.sign.edit": "编辑告示牌", - "tooltip.framedblocks.lock_state": "状态 %s" + "tooltip.framedblocks.camo_rotation.false": "目标伪装块不可旋转", + "tooltip.framedblocks.camo_rotation.true": "目标伪装块可旋转", + "tooltip.framedblocks.frame_bg.set_camo": "使用框架锤敲击以将伪装块设为背景", + "tooltip.framedblocks.frame_bg.set_leather": "使用框架锤敲击以将皮革设为背景", + "tooltip.framedblocks.frame_bg.use_camo": "物品展示框框架使用伪装块作为背景", + "tooltip.framedblocks.frame_bg.use_leather": "物品展示框框架使用皮革作为背景", + "tooltip.framedblocks.framing_saw.have_item_none": "无", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_item": "拥有%s,但需要%s", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_item_count": "拥有%s个物品,但至少需要%s个", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_material_count": "拥有%s材料,但至少需要%s材料", + "tooltip.framedblocks.framing_saw.have_x_but_need_y_tag": "拥有%s,但需要任意%s", + "tooltip.framedblocks.framing_saw.loose_additive": "该物品由添加剂成分合成,这些成分将丢失", + "tooltip.framedblocks.framing_saw.material": "材料价值:%s", + "tooltip.framedblocks.framing_saw.output_count": "结果数量:%s,最大数量:%s", + "tooltip.framedblocks.framing_saw.press_to_show": "按下[%s]以显示所有可能的物品", + "tooltip.framedblocks.is_waterloggable.false": "方块不可含水。", + "tooltip.framedblocks.is_waterloggable.true": "方块可含水。", + "tooltip.framedblocks.lock_state": "状态 %s", + "tooltip.framedblocks.make_waterloggable.false": "使用框架锤敲击以使其不可含水", + "tooltip.framedblocks.make_waterloggable.true": "使用框架锤敲击以使其可含水", + "tooltip.framedblocks.one_way_window.clear_face": "潜行时使用框架扳手敲击以清除透视面", + "tooltip.framedblocks.one_way_window.curr_face": "当前透视面:%s", + "tooltip.framedblocks.one_way_window.dir.down": "下", + "tooltip.framedblocks.one_way_window.dir.east": "东", + "tooltip.framedblocks.one_way_window.dir.north": "北", + "tooltip.framedblocks.one_way_window.dir.south": "南", + "tooltip.framedblocks.one_way_window.dir.up": "上", + "tooltip.framedblocks.one_way_window.dir.west": "西", + "tooltip.framedblocks.one_way_window.face.down": "下", + "tooltip.framedblocks.one_way_window.face.east": "东", + "tooltip.framedblocks.one_way_window.face.none": "无", + "tooltip.framedblocks.one_way_window.face.north": "北", + "tooltip.framedblocks.one_way_window.face.south": "南", + "tooltip.framedblocks.one_way_window.face.up": "上", + "tooltip.framedblocks.one_way_window.face.west": "西", + "tooltip.framedblocks.one_way_window.face_abbr.down": "下", + "tooltip.framedblocks.one_way_window.face_abbr.east": "东", + "tooltip.framedblocks.one_way_window.face_abbr.none": "-", + "tooltip.framedblocks.one_way_window.face_abbr.north": "北", + "tooltip.framedblocks.one_way_window.face_abbr.south": "南", + "tooltip.framedblocks.one_way_window.face_abbr.up": "上", + "tooltip.framedblocks.one_way_window.face_abbr.west": "西", + "tooltip.framedblocks.one_way_window.set_face": "使用框架扳手敲击以将透视面设为%s", + "tooltip.framedblocks.powered_saw.energy": "%s / %s FE", + "tooltip.framedblocks.powered_saw.status.no_recipe": "未选择配方,点击目标格并放入任意框架方块以选择配方", + "tooltip.framedblocks.prism_offset.false": "三角纹理未偏移。", + "tooltip.framedblocks.prism_offset.true": "三角纹理偏移了半个方块。", + "tooltip.framedblocks.reinforce_state": "方块%s。", + "tooltip.framedblocks.reinforce_state.false": "未强化", + "tooltip.framedblocks.reinforce_state.true": "已强化", + "tooltip.framedblocks.split_line.false": "变形面的分割线沿陡对角线延伸。", + "tooltip.framedblocks.split_line.true": "变形面的分割线沿缓对角线延伸。", + "tooltip.framedblocks.y_slope": "方块使用%s面作为垂直坡面。", + "tooltip.framedblocks.y_slope.horizontal": "水平", + "tooltip.framedblocks.y_slope.toggle": "使用框架扳手敲击以切换至%s面", + "tooltip.framedblocks.y_slope.vertical": "垂直" } \ 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 4a094e0e3..1d34bb02b 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -3,6 +3,10 @@ "block.bud_indicator": "%s 表面芽", "block.gtceu.greenhouse": "温室", "block.tfg.steam_bloomery": "蒸汽锻铁炉", + "block.tfg.steam_thermal_centrifuge": "大型蒸汽热力离心机", + "block.tfg.steam_fuser": "大型蒸汽合金炉", + "block.tfg.steam_squasher": "大型蒸汽压缩机", + "block.tfg.steam_presser": "大型蒸汽锻造锤", "block.gtceu.large_solar_panel": "§9大型太阳能阵列 MK I", "block.gtceu.large_solar_panel_tier2": "§b大型太阳能阵列 MK II", "block.gtceu.large_solar_panel_tier3": "§c大型太阳能阵列 MK III", diff --git a/kubejs/assets/sandworm_mod/lang/zh_cn.json b/kubejs/assets/sandworm_mod/lang/zh_cn.json new file mode 100644 index 000000000..a2b8d28a6 --- /dev/null +++ b/kubejs/assets/sandworm_mod/lang/zh_cn.json @@ -0,0 +1,6 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.sandworm_mod.worm_chain": "沙虫", + "entity.sandworm_mod.worm_head_segment": "沙虫头部", + "entity.sandworm_mod.worm_segment": "沙虫躯体" +} \ No newline at end of file diff --git a/kubejs/assets/species/lang/zh_cn.json b/kubejs/assets/species/lang/zh_cn.json index 82565a6a5..127111949 100644 --- a/kubejs/assets/species/lang/zh_cn.json +++ b/kubejs/assets/species/lang/zh_cn.json @@ -354,12 +354,8 @@ "block.species.wicked_candle": "邪火蜡烛", "effect.species.tanked": "厚躯", "effect.species.tanked.description": "邪火效果。随着等级提升,赋予更多生命值、更多伤害,并降低移动速度。使受影响的实体从外观上看起来更宽。", - "effect.species.snatched": "夺躯", - "effect.species.snatched.description": "邪火效果。根据等级提升移动速度。使受影响的实体从外观上看起来更高更瘦。", "effect.species.combustion": "燃躯", "effect.species.combustion.description": "邪火效果。使受影响的实体在死亡时爆炸。爆炸范围和方块破坏强度随等级增加。", - "effect.species.iron_will": "坚毅", - "effect.species.iron_will.description": "邪火效果。免疫一切击退。", "item.species.wicked_wax": "邪火蜡", "item.species.monster_meal": "混沌食品", "item.species.monster_meal.desc.effect": "使食用的实体获得一个随机的邪火效果", @@ -374,8 +370,6 @@ "item.species.wicked_mask.desc.disguise.1": "%1$s + %2$s", "item.species.wicked_mask.desc.disguise.2": "选择生物", "item.species.wicked_treat.desc": "只能喂给宠物", - "item.species.wicked_treat.desc.snatched": "夺躯 II (0:45)", - "item.species.wicked_treat.desc.iron_will": "坚毅 (0:45)", "item.species.wicked_treat.desc.regeneration": "生命恢复 (0:45)", "item.species.wicked_treat.desc.strength": "力量 (0:20)", "subtitles.entity.species.wicked.death": "邪火法师:死亡", @@ -507,11 +501,16 @@ "subtitles.item.species.wicked_swapper.throw": "换位珠:掷空", "subtitles.item.species.wicked_swapper.fail": "换位珠:落地", "subtitles.item.species.wicked_swapper.teleport": "换位珠:换位", - "advancements.species.wicked_mask_wither.description": "使用伪装工具包伪装成凋零", + "item.species.wicked_treat.desc.snatched": "超级迅捷 II (0:45)", + "item.species.wicked_treat.desc.iron_will": "击退抗性 (0:45)", "entity.species.trooper": "硫力怕", "subtitles.entity.species.trooper.death": "硫力怕:死亡", "subtitles.entity.species.trooper.hurt": "硫力怕:受伤", "subtitles.entity.species.trooper.step": "硫力怕:小步疾跑", "subtitles.entity.species.trooper.uproot": "硫力怕:拔根而起", - "subtitles.entity.species.trooper.plant": "硫力怕:扎根" + "subtitles.entity.species.trooper.plant": "硫力怕:扎根", + "effect.species.iron_will": "击退抗性", + "effect.species.iron_will.description": "免疫一切击退。", + "effect.species.snatched": "超级迅捷", + "effect.species.snatched.description": "根据等级提升移动速度。使受影响的实体从外观上看起来更高更瘦。" } \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index c3ddad4de..aaec701fd 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1940,9 +1940,12 @@ "quests.ae2.wireless_access.desc": "当你进展到&5EV&r阶段时,将解锁ME无线访问点,其功能相当于ME网络的WiFi路由器。将其连接至基地的中心节点,插入任意数量的无线信号增幅卡以扩大覆盖范围(同时会增加能耗),随后将无线终端与之绑定。\n\n当具备环氧树脂与铑材料后,便可通过通用终端将所有无线终端整合为一体!", "quests.ae2.interplanetary_wireless.subtitle": "把东西忘在家里了?", "quests.ae2.interplanetary_wireless.desc": "这张特殊卡片可以升级你的无线终端,让你能在任何距离下访问网络,哪怕是不同的世界!这听起来好得令人难以置信?它有一个重大缺点——传输物品会消耗巨量能源。\n\n你可以通过在物品栏中配置一些能源卡和设置为放电模式的电池来勉强解决,但当你把东西忘在地球基地又不想飞回去时,它应该能足够好用。\n\n要进行恰当的自动化传输,你还是需要一个轨道炮。", + "quests.ae2.universal_circuits.title": "通用电路", + "quests.ae2.universal_circuits.subtitle": "原来如此,这就是它们的用途!", + "quests.ae2.universal_circuits.desc": "是不是一直好奇这些“通用电路”到底有什么用?除了当个好看的任务图标,它们主要是用在AE2里的!\n\n因为AE2的样板不怎么认物品标签,所以这些通用电路就是设计来当“万金油”的,任何需要电路的样板都能用它。这样一来,每当你解锁一种新电路,你只需要添加一个样板来将新电路转化为通用电路,而无需更新你&o所有&r的旧样板!", "quests.ae2.iv.title": "IV级AE2", "quests.ae2.iv.desc": "一旦你达到&1IV&r等级,整个分支即可完全解锁。", - "quests.ae2.accumulation_press.desc": "要获得这个&e新型压印模板&r,你需要投入一些资源。\n\n首先,你必须用&1两个IV级能源仓&r升级你的聚爆压缩机。\n\n然后,如果你还没有的话,为自己准备一台新的IV级激光蚀刻机。\n\n最后,准备大量的工业TNT——这是&c唯一有效&r的TNT类型。\n\n仔细计划,这一步要求相当高!", + "quests.ae2.accumulation_press.desc": "要获得这个&e新型压印模板&r,你需要投入一些资源。\n\n首先,你必须用&5两个EV级能源仓&r升级你的聚爆压缩机。\n\n然后,如果你还没有的话,为自己准备一台新的IV级激光蚀刻机。\n\n最后,准备大量的工业TNT——这是&c唯一有效&r的TNT类型。\n\n仔细计划,这一步要求相当高!", "quests.ae2.accumulation_processor.desc": "&e累加处理器&r每次制作需要大量硅。\n\n我们希望你已经有一个专门的电力高炉生产硅,或者至少有一个强大的基础设施来快速制造它。\n\n请相应准备,因为你会需要很多!", "quests.ae2.mega_crafting.desc": "这些是对&b合成单元&r的巧妙升级。\n\n它们将有助于加速自动合成,并让你轻松处理更大的任务。", "quests.ae2.mega_battery.desc": "更大的网络需要&e更大的电池&r。仅此而已!", @@ -2113,7 +2116,7 @@ "quests.development.explanation.desc.1": "格雷科技的&l电路发展进程&r起初可能看起来令人生畏,但其实没那么糟。\n\n首先,你需要明白相同等级的电路是可以互换的。例如,制作一个&6HV&r&6搅拌机&r,你可以使用任何&6HV等级&r的电路。", "quests.development.explanation.desc.2": "现在,我们来谈谈&l进程&r。你可能已经注意到,每个电路在其图标上都有一个颜色代码和一个名称。例如,所有的&a量子处理器&r都是&a绿色&r的,并且在&1IV级&r电路组装机中制作。要制作一个,你首先需要前一级的电路——这就是为什么,要制作你的第一个&dLuV&r&d电路&r(纳米处理器主机),你必须从制作一个纳米处理器开始,并逐步完成每一个&7步骤&r。在这个例子中,这需要三个步骤。\n\n这就是为什么每一行中最右侧的&6电路&r在&a制作&r上总是更实惠:它们需要更少的&7步骤&r。", "quests.development.explanation.desc.3": "此外,我们还添加了&l通用电路&r。它们可以用任何等级的&6电路&r——无论是&1IV级&r、&dLuV级&r、&3UV级&r还是其他任何等级——&a合成&r而来,并且在与应用能源2(AE2)进行&9自动化&r时极其有用。请尝试在你所有的&f样板&r中都使用&l通用电路&r进行编码,这样,每当你升级到更好的电路时,你就不必重新制作所有的&f样板&r——只需要重新制作那些用于合成通用电路的样板即可。", - "quests.development.explanation.task": "好的,我读完了全部三页", + "quests.development.explanation.task": "OK,这三页我全都读过了", "quests.development.ulv.title": "&8ULV&r电路", "quests.development.ulv.subtitle": "", "quests.development.ulv.desc": "在这一行你可以看到蒸汽时代,或者说&8ULV&r等级的等效电路。", @@ -2538,7 +2541,7 @@ "quests.gregtech_energy.lce_fuel.subtitle": "污染者的最爱", "quests.gregtech_energy.lce_fuel.desc.1": "所有这些燃料均用于&6内燃发电机&r——此处按效率从低到高排列。\n\n在游戏早期阶段,我们建议从柴油或生物柴油起步。待发展到&6HV&r阶段后,可通过将柴油与氮气、氢气及氧气混合,升级使用&6高十六烷值柴油&r。", "quests.gregtech_energy.lce_fuel.desc.2": "当你达到&5EV&r阶段并建造&6蒸馏塔&r后,就可以转而使用汽油和高辛烷值汽油了。切勿过早尝试——油类需要被妥善分馏,使用普通蒸馏室来处理是极不经济的。\n\n为此,你需要结合原油分馏与一些有机化合物加工。所幸,一台热解炉和一座蒸馏塔即可流畅地处理全部流程。\n\n如果你能稳定供应高辛烷值汽油,仅靠内燃发电机就足以完成整个整合包的进程。", - "quests.gregtech_energy.lce_fuel.task": "我足够了", + "quests.gregtech_energy.lce_fuel.task": "我都懂了", "quests.gregtech_energy.large_solar.subtitle": "巨大的简易能源", "quests.gregtech_energy.large_solar.desc.1": "若你计划在月球上建立更大型的基地,大型太阳能阵列MK I将是你的不二之选。\n\n它对于&bAE2&r自动化处理流水线尤其有用,同时也能为你的月壤采集器提供电力。\n\n别忘了,你可以使用格雷科技终端,通过潜行右键点击控制器,来瞬间搭建这个多方块结构。\n\n只需将鼠标指向控制器并按&eU&r键,即可查看可用的合成配方。", "quests.gregtech_energy.large_solar.desc.2": "&6大型太阳能阵列MKI&r拥有&92种不同的工作模式&r:\n\n&9•被动模式&r—\n该模式会缓慢消耗&d光伏板&r。这意味着若你一次性投入一组光伏板,在基地建设阶段尚可维持,但无法永久运行。该模式仅在白天产生&62AHV&r的电流——足以支撑基础系统运转,但远非最优解。\n\n&9•主动模式&r—\n若想&a最大化能量产出&r,则需管理冷却剂。这将要求你的月球基地具备更完善的设施,但回报是可获得&52AEV&r的电流!\n\n另有针对更高阶需求的MKII与MKIII版本,需使用更先进的冷却剂。", @@ -2667,7 +2670,7 @@ "quests.high_voltage.mv_superconductors.desc": "传输&a4A&r的&bMV&r电能或许颇具吸引力,但现阶段你可能并不需要这些。若有需要,该方案始终作为备选存在。", "quests.high_voltage.circuit_assembler.title": "HV电路组装机", "quests.high_voltage.circuit_assembler.subtitle": "制作此设备前需要先建造超净间", - "quests.high_voltage.circuit_assembler.desc": "下一代&3电路组装机&r。这个等级的电路组装机只用于一种电路——你的第一个&a主机&r。你拿它们可能只有一个用途,就是制作&5EV电路组装机&r。\n\n你可以推迟到&5EV&r阶段再建造,或直接使用它来加速电路制造。", + "quests.high_voltage.circuit_assembler.desc": "下一代&3电路组装机&r。这个等级的电路组装机只用于一种电路——你的第一个&a主机&r,不过这东西得等到&5EV&r阶段上了火星才能做。你拿它们可能只有一个用途,就是制作&5EV电路组装机&r。\n\n除此之外,&6HV&r电路组装机也是制作AE2&e处理器&r的必备机器。\n\n你可以推迟到&5EV&r阶段再建造,或直接使用它来加速电路制造。", "quests.high_voltage.microprocessor_mainframe.title": "主机——第一个IV电路!", "quests.high_voltage.microprocessor_mainframe.desc": "第一个&1IV&r电路。祝贺你成功抵达此阶段!\n\n该电路将在你进入&5EV&r阶段时使用,也可立即用于制作进阶纳米服胸甲——这是对现有喷气背包的重大升级!\n\n&l&3背景知识:&r&o主机的原始纹理取自一张IBM zEnterprise主机的图片。", "quests.high_voltage.cleanroom.title": "超净间", @@ -2789,7 +2792,7 @@ "quests.high_voltage.gun.subtitle": "如果那不起作用,就带更多的枪", "quests.high_voltage.gun.task1": "任何枪", "quests.high_voltage.gun.task2": "任何药品或陈酿酒", - "quests.high_voltage.gun.desc": "在地球上过得有点太安逸了?月球可并不安宁,请务必做好自卫准备——光靠剑或石矛可不够。\n\n&4月球危机四伏&r,而且你也不想弄丢宝贵的火箭吧?\n\n挑选一把好枪(如果你拿不准,我们推荐&o\"发条\"狙击枪&r),备足弹药,若想更讲究还可以试试加装配件。\n\n建议携带提升生命上限的营养食品(试试餐包!),以及提供增益与治疗效果的酒与药品。", + "quests.high_voltage.gun.desc": "在地球上过得有点太安逸了?月球可并不安宁,请务必做好自卫准备——光靠剑或石矛可不够。\n\n&4月球危机四伏&r,而且你也不想弄丢宝贵的火箭吧?\n\n挑选一把好枪(如果你拿不准,我们推荐&o\"发条\"步枪&r),备足弹药,若想更讲究还可以试试加装配件。\n\n建议携带提升生命上限的营养食品(试试餐包!),以及提供增益与治疗效果的酒与药品。", "quests.high_voltage.space_survival.title": "远离家乡的基地", "quests.high_voltage.space_survival.subtitle": "不仅仅是一个采矿维度", "quests.high_voltage.space_survival.desc": "若尚未查看,请务必阅读&3提示与技巧-太空生存篇&r任务章节!其中包含建立完善月球基地所需的全套知识体系。", @@ -2834,6 +2837,12 @@ "quests.low_voltage.lv_age_progression.subtitle": "选择太多,时间太少!", "quests.low_voltage.lv_age_progression.desc": "&7LV&r阶段需要你制作多种不同的机器!如果你在目标规划上遇到困难,这里有个友好提示:可以选择后续任务中的某个物品,然后倒推所需的制作步骤。\n\n既然如此……我们何不从&5聚变控制器&r开始呢?好吧,这目标有点好高骛远——还是先定个更接近的目标吧。对了,&3电力高炉&r作为&7LV&r阶段的终极目标,应该是个不错的目标。\n\n电力高炉的&a造价昂贵&r,因此你应该先专注于制造能降低组件和材料成本的机器。我们的任务体系会为你指引正确方向。\n\n其他重要目标包括制作&3LV组装机&r、生产首批&aMV电路&r,以及获得第一台&b电路组装器&r。", "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.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的比例输出电力。", @@ -2841,7 +2850,7 @@ "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.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.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.lv_polariser.title": "基础两极磁化机", "quests.low_voltage.lv_polariser.subtitle": "两极磁化机用于磁化!", @@ -2849,7 +2858,7 @@ "quests.low_voltage.link_chapter.title": "给我解释一下能量", "quests.low_voltage.link_chapter.subtitle": "有一整章关于能量的内容", "quests.low_voltage.link_chapter.desc": "点击此处查看章节", - "quests.low_voltage.link_chapter.task": "我读完了", + "quests.low_voltage.link_chapter.task": "我读过了", "quests.low_voltage.lv_combuston_gen.title": "内燃发电机", "quests.low_voltage.lv_combuston_gen.subtitle": "它会轰隆作响并产生能量", "quests.low_voltage.lv_combuston_gen.desc": "&7LV内燃发电机&r的制作成本可能略高于其他发电机,但其燃料蕴含极高能量。这使得它更便于携带——当需要为远离基地的发电机供能时,一桶&2生物柴油&r即可传输大量电力。\n\n与其他&7LV发电机&r一样,它可产生&a32EU/t&r的能量。", @@ -2974,7 +2983,7 @@ "quests.low_voltage.lv_electroliser.title": "基础电解机", "quests.low_voltage.lv_electroliser.subtitle": "嗡嗡作响", "quests.low_voltage.lv_electroliser.desc.1": "&l矿石处理之外的用途:&r\n\n与离心机类似,此设备功能极为丰富——我们难以在此一一列举!幸运的是,它属于造价最低的&7LV&r机器之一,建议在需要时立即入手。", - "quests.low_voltage.lv_electroliser.desc.2": "&ld对于矿石处理:&r\n\n好吧,刚才的说法不够准确——它并非&o直接&r用于矿物处理,实际主要参与&a粉末的电解分解&r。不过大多数实用的电解配方都&b锁定在MV阶段&r。你可以通过物品提示框中的&e化学式&r来预判电解产物。", + "quests.low_voltage.lv_electroliser.desc.2": "&l对于矿石处理:&r\n\n好吧,刚才的说法不够准确——它并非&o直接&r用于矿物处理,实际主要参与&a粉末的电解分解&r。不过大多数实用的电解配方都&b锁定在MV阶段&r。你可以通过物品提示框中的&e化学式&r来预判电解产物。", "quests.low_voltage.lv_electroliser.desc.3": "&c注意!&r受矿物特性影响,将金属粉尘直接冶炼成锭相比电解分解能获得更高金属产量,但代价是你会损失粉尘中蕴含的其他副产品。必须根据需求权衡:优先追求直接收益,还是最大化获取副产物种类。", "quests.low_voltage.lv_mixer.title": "基础搅拌机", "quests.low_voltage.lv_mixer.subtitle": "搅拌机用于搅拌……", @@ -3321,7 +3330,7 @@ "quests.medium_voltage.mv_jetpack_2.desc": "这款喷气背包可实现飞行功能,但需消耗能量。\n\n充电方式与电池相同。\n\n按&4H&r(默认)启用悬停模式。\n\n&o&7(是是是,喷气背包本该靠推进剂工作——你们总爱吹毛求疵。)&r", "quests.medium_voltage.mv_cutter.title": "进阶切割机", "quests.medium_voltage.mv_cutter.subtitle": "升级,大伙,升级啊!", - "quests.medium_voltage.mv_cutter.desc": "&3MV切割机&r用于切割&7单晶硅&r,为后续的&a激光蚀刻机&r做准备。\n\n建议持续供应&d润滑剂&r以大幅缩短加工时间。\n\n润滑剂可通过&e石油&r与&a滑石&r、&2皂石&r或&c红石&r通过&3酿造室&r制备。\n\n&7注:也可选用&6格雷机械&r版本的切割机,它可以用流体储罐来填充液体&r", + "quests.medium_voltage.mv_cutter.desc": "&3MV切割机&r用于切割&7单晶硅&r,为后续的&a激光蚀刻机&r做准备。\n\n建议持续供应&d润滑剂&r以大幅缩短加工时间。\n\n润滑剂可通过&e石油&r与&a滑石&r、&2皂石&r或&c红石&r通过&3酿造室&r制备。", "quests.medium_voltage.mv_cutter.task": "任何切割机", "quests.medium_voltage.mv_laser_engraver.title": "激光蚀刻机", "quests.medium_voltage.mv_laser_engraver.subtitle": "这是顶尖技术,这也很慢", @@ -3578,7 +3587,7 @@ "quests.ore_proc.macerator_separator.task": "任何研磨机", "quests.ore_proc.thermal_centrifuge.title": "热力离心机", "quests.ore_proc.thermal_centrifuge.subtitle": "处理大多数纯净矿石的首选", - "quests.ore_proc.thermal_centrifuge.desc": "对于所有其他不需要特殊处理的纯净矿石,最好让它们通过&d热力离心机&r。这台机器可以以可靠的速度生产副产物,并且只用电。然而,它相当慢,因此我们建议制造多台机器。", + "quests.ore_proc.thermal_centrifuge.desc": "对于所有其他不需要特殊处理的纯净矿石,最佳去处就是&d热力离心机&r。这台机器可以稳定的速率产出副产物,并且不需要任何其他原料。不过它的速度相当慢,因此我们建议要么多造几台,要么直接使用蒸汽并行多方块结构。", "quests.ore_proc.thermal_centrifuge.task": "任何热力离心机", "quests.ore_proc.sifter.title": "筛选机", "quests.ore_proc.sifter.subtitle": "空岛模拟器", @@ -3870,12 +3879,12 @@ "quests.steam_age.boilers.tasks": "任意高压蒸汽锅炉", "quests.steam_age.steam_bloomery.title": "蒸汽锻铁炉", "quests.steam_age.steam_bloomery.subtitle": "锻铁炉的叔叔", - "quests.steam_age.steam_bloomery.desc": "你总会需要大量锻铁,何不将你的锻铁炉自动化?下一个最接近的锻铁自动化方法要等到LV阶段。蒸汽锻铁炉是一个新的多方块结构,能让你原有的群峦传说锻铁炉实现自动化,且效率更高!与焦炉类似,你可以按下JEI中的\"用途\"键(默认为\"U\"键)来显示多方块结构预览界面。点击其中的各个方块可以查看每个位置允许使用的方块类型。", + "quests.steam_age.steam_bloomery.desc": "你总会需要大量锻铁,何不将你的锻铁炉自动化?下一个最接近的锻铁自动化方法要等到LV阶段。\n\n&3蒸汽锻铁炉&r是一个新的多方块结构,能让你原有的群峦传说锻铁炉实现自动化,且效率更高!\n\n与焦炉类似,你可以按下JEI中的\"用途\"键(默认为\"U\"键)来显示多方块结构预览界面。点击其中的各个方块可以查看每个位置允许使用的方块类型。", "quests.steam_age.steam_furnace.title": "蒸汽熔炉", "quests.steam_age.steam_furnace.subtitle": "蒸汽熔炉用于熔炼……", "quests.steam_age.steam_furnace.desc": "需要快速将物品熔炼成金属锭?&3蒸汽熔炉&r正是为此而生!它能将许多矿石和粉尘快速转化为金属锭,但代价是无法获得任何副产品。", "quests.steam_age.steam_oven.title": "蒸汽熔炼炉", - "quests.steam_age.steam_oven.subtitle": "蒸汽碾磨机的大哥", + "quests.steam_age.steam_oven.subtitle": "蒸汽熔炉的大哥", "quests.steam_age.steam_oven.desc.1": "&o……或者说是小弟。别让它知道!&r\n\n&3蒸汽熔炼炉&r是个理想的多方块选择,当你需要&6轻松熔炼大量物品时&r。再也不必手动清空和补充一整排熔炉了!\n\n它本质上如同并行工作的熔炉,可同时熔炼多达8个物品,仅需消耗少量蒸汽。", "quests.steam_age.steam_oven.desc.2": "&l&3背景知识:&r&o这个多方块结构——尽管与其兄弟蒸汽碾磨机极为相似——并非移植自格雷科技本体或附属模组。它的真正原型是来自铁路(Railcraft)模组的蒸汽炉,其历史可追溯到1.4.7版本!&r", "quests.steam_age.steam_macerator.title": "蒸汽研磨机", @@ -4016,6 +4025,15 @@ "quests.steam_age.supers.subtitle": "超级存储抽屉", "quests.steam_age.supers.desc": "如果你有大量单一物品或流体,这是&c终&6极&e便&a携&b式&a物&5品&4存储解决方案。虽然这些&d基础&r(&8ULV&r)型号起初容量相对较小,但更高级的超级箱和超级缸能容纳惊人数量的物品——所有东西都储存在单个方块中,且完全无视温度或酸度影响!\n\n与桶类似,超级缸和超级箱在&6被破坏时会保留内部物品&r,可通过合成栏清空其内容,并能自动清空任何溢出的内容。然而,与桶不同的是,超级缸还能&a安全地容纳&r其中的流体,防止你被烫伤、冻伤或飘起来。\n\n如果你渴望&9更大&r的存储空间,可以看看更高级的量子箱、量子缸或AE2存储元件。", "quests.steam_age.supers.task": "任何超级箱或超级缸", + "quests.steam_age.steam_presser.title": "大型蒸汽锻造锤", + "quests.steam_age.steam_presser.subtitle": "蒸汽锻造锤的姑妈", + "quests.steam_age.steam_presser.desc": "大型蒸汽锻造锤是蒸汽锻造锤的多方块并行升级版本。\n\n如果锻造锤成为了你生产线中的瓶颈,这个升级或许能派上用场。否则,可以跳过它。", + "quests.steam_age.steam_fuser.title": "大型蒸汽合金炉", + "quests.steam_age.steam_fuser.subtitle": "蒸汽合金炉的远房表亲", + "quests.steam_age.steam_fuser.desc": "&3大型蒸汽合金炉&r是蒸汽合金炉的升级版,体型更大,性能更强。需要大量、快速地生产合金吗?这台机器正合你意!", + "quests.steam_age.steam_squasher.title": "大型蒸汽压缩机", + "quests.steam_age.steam_squasher.subtitle": "蒸汽压缩机的青梅竹马", + "quests.steam_age.steam_squasher.desc": "需要同时压缩大量材料?&3大型蒸汽压缩机&r作为一款多方块并行压缩机,或许能帮上忙。", "quests.stone_age": "石器时代", "quests.stone_age.subtitle": "简陋开端", "quests.stone_age.foods.title": "饿了?", From 231780d7d01dd34c2a4f86495616edb2e5475ca2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 14:17:40 +0000 Subject: [PATCH 546/628] reduced space Y level --- CHANGELOG.md | 1 + config/ad_astra.jsonc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 196b7485e..e9425cb10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased ### Changes - Added new steam multiblocks for the alloy smelter, compressor, forge hammer, and thermal centrifuge @Pyritie +- Reduced the Y level that ad astra considers "space" so rocket launches are faster @Pyritie ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie ### Translation updates diff --git a/config/ad_astra.jsonc b/config/ad_astra.jsonc index 38ab7b500..f255b90f0 100644 --- a/config/ad_astra.jsonc +++ b/config/ad_astra.jsonc @@ -14,7 +14,7 @@ * The y level where rockets should leave the dimension and enter space. * Type: Integer */ - "atmosphereLeave": 600, + "atmosphereLeave": 400, // A comma-separated list of planet IDs that should be hidden from the planets screen. e.g. minecraft:overworld,ad_astra:moon,ad_astra:mars,ad_astra:venus,ad_astra:mercury,ad_astra:glacio "disabledPlanets": "", // Disables oxygen damage. From c3eb6a40583841a9a80e5cb62463ceebcbe3d2c6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 15:40:36 +0000 Subject: [PATCH 547/628] a workaround for bacon and dried fruit questions --- kubejs/assets/tfg/lang/en_us.json | 2 + kubejs/server_scripts/firmalife/recipes.js | 215 +++++++++++---------- kubejs/server_scripts/firmalife/tags.js | 8 + 3 files changed, 128 insertions(+), 97 deletions(-) diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index e86e841c7..ef111dc2e 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1643,6 +1643,8 @@ "tfg.gui.consumes": "Consumes: ", "tfg.gui.per_cycle": "per cycle", "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", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index a17c366ec..8d0592e21 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -879,12 +879,12 @@ const registerFirmaLifeRecipes = (event) => { setChocolateHeating('dark') //fixing the bread unrotting - event.remove({ id: 'firmalife:crafting/oat_slice'}) - event.remove({ id: 'firmalife:crafting/wheat_slice'}) - event.remove({ id: 'firmalife:crafting/barley_slice'}) - event.remove({ id: 'firmalife:crafting/maize_slice'}) - event.remove({ id: 'firmalife:crafting/rice_slice'}) - event.remove({ id: 'firmalife:crafting/rye_slice'}) + event.remove({ id: 'firmalife:crafting/oat_slice' }) + event.remove({ id: 'firmalife:crafting/wheat_slice' }) + event.remove({ id: 'firmalife:crafting/barley_slice' }) + event.remove({ id: 'firmalife:crafting/maize_slice' }) + event.remove({ id: 'firmalife:crafting/rice_slice' }) + event.remove({ id: 'firmalife:crafting/rye_slice' }) event.recipes.tfc.advanced_shapeless_crafting( TFC.itemStackProvider.of('2x firmalife:food/oat_slice').copyFood(), @@ -912,109 +912,130 @@ const registerFirmaLifeRecipes = (event) => { .id(`tfg:crafting/rye_slice`) //fixing the cheese curd unrotting - event.remove({ id: 'firmalife:crafting/cheddar_wheel'}) - event.remove({ id: 'firmalife:crafting/chevre_wheel'}) - event.remove({ id: 'firmalife:crafting/rajya_metok_wheel'}) - event.remove({ id: 'firmalife:barrel/gouda'}) - event.remove({ id: 'firmalife:barrel/feta'}) - event.remove({ id: 'firmalife:barrel/shosha'}) + event.remove({ id: 'firmalife:crafting/cheddar_wheel' }) + event.remove({ id: 'firmalife:crafting/chevre_wheel' }) + event.remove({ id: 'firmalife:crafting/rajya_metok_wheel' }) + event.remove({ id: 'firmalife:barrel/gouda' }) + event.remove({ id: 'firmalife:barrel/feta' }) + event.remove({ id: 'firmalife:barrel/shosha' }) event.recipes.tfc.advanced_shaped_crafting( TFC.itemStackProvider.of('firmalife:cheddar_wheel').copyFood(), [ - 'AAA', - 'BBB', - 'AAA' - ], { - A: 'tfc:powder/salt', - B: TFC.ingredient.notRotten('firmalife:food/milk_curd') - }, 0, 0).id('tfg:crafting/cheddar_wheel') + 'AAA', + 'BBB', + 'AAA' + ], { + A: 'tfc:powder/salt', + B: TFC.ingredient.notRotten('firmalife:food/milk_curd') + }, 0, 0).id('tfg:crafting/cheddar_wheel') event.recipes.tfc.advanced_shaped_crafting( TFC.itemStackProvider.of('firmalife:chevre_wheel').copyFood(), [ - 'AAA', - 'BBB', - 'AAA' - ], { - A: 'tfc:powder/salt', - B: TFC.ingredient.notRotten('firmalife:food/goat_curd') - }, 0, 0).id('tfg:crafting/chevre_wheel') + 'AAA', + 'BBB', + 'AAA' + ], { + A: 'tfc:powder/salt', + B: TFC.ingredient.notRotten('firmalife:food/goat_curd') + }, 0, 0).id('tfg:crafting/chevre_wheel') event.recipes.tfc.advanced_shaped_crafting( TFC.itemStackProvider.of('firmalife:rajya_metok_wheel').copyFood(), [ - 'AAA', - 'BBB', - 'AAA' - ], { - A: 'tfc:powder/salt', - B: TFC.ingredient.notRotten('firmalife:food/yak_curd') - }, 0, 0).id('tfg:crafting/rajya_metok_wheel') - event.custom({ - "type": "tfc:barrel_sealed", - "input_item": { - "count": 3, - "ingredient": { - "type": "tfc:not_rotten", - "ingredient": { "item": "firmalife:food/milk_curd" } - } - }, - "input_fluid": { - "ingredient": "tfc:salt_water", - "amount": 750 - }, - "output_item": { - "item": "firmalife:gouda_wheel" - }, - "duration": 16000 - }).id('tfg:barrel/gouda_wheel') - event.custom({ - "type": "tfc:barrel_sealed", - "input_item": { - "count": 3, - "ingredient": { - "type": "tfc:not_rotten", - "ingredient": { "item": "firmalife:food/goat_curd" } - } - }, - "input_fluid": { - "ingredient": "tfc:salt_water", - "amount": 750 - }, - "output_item": { - "item": "firmalife:feta_wheel" - }, - "duration": 16000 - }).id('tfg:barrel/feta_wheel') - event.custom({ - "type": "tfc:barrel_sealed", - "input_item": { - "count": 3, - "ingredient": { - "type": "tfc:not_rotten", - "ingredient": { "item": "firmalife:food/yak_curd" } - } - }, - "input_fluid": { - "ingredient": "tfc:salt_water", - "amount": 750 - }, - "output_item": { - "item": "firmalife:shosha_wheel" - }, - "duration": 16000 - }).id('tfg:barrel/shosha_wheel') - + 'AAA', + 'BBB', + 'AAA' + ], { + A: 'tfc:powder/salt', + B: TFC.ingredient.notRotten('firmalife:food/yak_curd') + }, 0, 0).id('tfg:crafting/rajya_metok_wheel') + event.custom({ + "type": "tfc:barrel_sealed", + "input_item": { + "count": 3, + "ingredient": { + "type": "tfc:not_rotten", + "ingredient": { "item": "firmalife:food/milk_curd" } + } + }, + "input_fluid": { + "ingredient": "tfc:salt_water", + "amount": 750 + }, + "output_item": { + "item": "firmalife:gouda_wheel" + }, + "duration": 16000 + }).id('tfg:barrel/gouda_wheel') + event.custom({ + "type": "tfc:barrel_sealed", + "input_item": { + "count": 3, + "ingredient": { + "type": "tfc:not_rotten", + "ingredient": { "item": "firmalife:food/goat_curd" } + } + }, + "input_fluid": { + "ingredient": "tfc:salt_water", + "amount": 750 + }, + "output_item": { + "item": "firmalife:feta_wheel" + }, + "duration": 16000 + }).id('tfg:barrel/feta_wheel') + event.custom({ + "type": "tfc:barrel_sealed", + "input_item": { + "count": 3, + "ingredient": { + "type": "tfc:not_rotten", + "ingredient": { "item": "firmalife:food/yak_curd" } + } + }, + "input_fluid": { + "ingredient": "tfc:salt_water", + "amount": 750 + }, + "output_item": { + "item": "firmalife:shosha_wheel" + }, + "duration": 16000 + }).id('tfg:barrel/shosha_wheel') + // #region Oven heating recipes - + event.recipes.tfc.heating(`firmalife:oven_top`, 1399) - .resultItem(`firmalife:cured_oven_top`) - .id(`tfg:heating/oven_top`) + .resultItem(`firmalife:cured_oven_top`) + .id(`tfg:heating/oven_top`) event.recipes.tfc.heating(`firmalife:oven_chimney`, 1399) - .resultItem(`firmalife:cured_oven_chimney`) - .id(`tfg:heating/oven_chimney`) + .resultItem(`firmalife:cured_oven_chimney`) + .id(`tfg:heating/oven_chimney`) event.recipes.tfc.heating(`firmalife:oven_bottom`, 1399) - .resultItem(`firmalife:cured_oven_bottom`) - .id(`tfg:heating/oven_bottom`) + .resultItem(`firmalife:cured_oven_bottom`) + .id(`tfg:heating/oven_bottom`) event.recipes.tfc.heating(`firmalife:oven_hopper`, 1399) - .resultItem(`firmalife:cured_oven_hopper`) - .id(`tfg:heating/oven_hopper`) + .resultItem(`firmalife:cured_oven_hopper`) + .id(`tfg:heating/oven_hopper`) + + // #endregion + + // #region How do I make yeast starter??? + + event.recipes.kubejs.shapeless(Item.of('4x firmalife:food/bacon').withName(Text.translate('tfg.emi.bacon_requirement')), [ + 'tfc:food/pork', + '#forge:tools/knives', + 'tfc:powder/salt' + ]) + .modifyResult((craftingGrid, result) => { + result.resetHoverName(); + return result; + }) + .id('firmalife:crafting/bacon') + + event.recipes.tfc.barrel_sealed(72000) + .inputFluid(Fluid.of('minecraft:water', 100)) + .inputItem(TFC.ingredient.hasTrait(Ingredient.of('#tfg:dried_fruit'), "firmalife:dried")) + .outputFluid(Fluid.of('firmalife:yeast_starter', 100)) + .id('firmalife:barrel/yeast_starter') // #endregion } diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index e8746e3c1..0a66fefd9 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -16,6 +16,14 @@ const registerFirmaLifeItemTags = (event) => { // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + + // Make our own "dried fruit" tag so we can display something in EMI - used for yeast starter + const fruitArray = Ingredient.of('#tfc:foods/fruits').itemIds.toArray().map(String) + fruitArray.forEach(fruit => { + if (fruit !== 'betterend:shadow_berry_cooked' && fruit !== 'minecraft:popped_chorus_fruit') { + event.add('tfg:dried_fruit', fruit) + } + }) } const registerFirmaLifeBlockTags = (event) => { From 17ff3d9566ee977462dbcef4e1bbbb213da99650 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 16:23:21 +0000 Subject: [PATCH 548/628] illager loot nerfs --- CHANGELOG.md | 1 + .../chests/arabic_illager_basic.json | 4 ++-- .../chests/nordic_illager_basic.json | 4 ++-- .../chests/yurts_illager_basic.json | 4 ++-- .../structures/arabic/baseline/barracks.nbt | Bin 10210 -> 10240 bytes .../tfg/structures/arabic/baseline/house3.nbt | Bin 5998 -> 5997 bytes .../tfg/structures/arabic/baseline/house4.nbt | Bin 5901 -> 5956 bytes .../arabic/baseline/house_garden.nbt | Bin 8158 -> 8193 bytes .../tfg/structures/arabic/baseline/smithy.nbt | Bin 6514 -> 6514 bytes .../structures/arabic/baseline/stall_gray.nbt | Bin 1077 -> 1024 bytes .../arabic/baseline/stall_green.nbt | Bin 1076 -> 1071 bytes .../arabic/baseline/stall_yellow.nbt | Bin 1068 -> 1062 bytes .../tfg/structures/yurts/baseline/house1.nbt | Bin 6451 -> 6444 bytes .../tfg/structures/yurts/baseline/house2.nbt | Bin 5720 -> 5936 bytes .../tfg/structures/yurts/baseline/house3.nbt | Bin 6166 -> 6156 bytes .../tfg/structures/yurts/baseline/stable.nbt | Bin 2236 -> 2276 bytes .../yurts/baseline/throne_house.nbt | Bin 11692 -> 11682 bytes .../tfg/structures/yurts/baseline/tower.nbt | Bin 2417 -> 2380 bytes .../primitive_creatures/loot.js | 14 +++++++------- kubejs/server_scripts/tfg/loot.js | 4 ++-- 20 files changed, 16 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9425cb10..d95ad7435 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Changes - Added new steam multiblocks for the alloy smelter, compressor, forge hammer, and thermal centrifuge @Pyritie - Reduced the Y level that ad astra considers "space" so rocket launches are faster @Pyritie +- Reduced the amount of loot vases in the newer illages, and reduced how much loot you get from them @Pyritie ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie ### Translation updates diff --git a/kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json b/kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json index 38ef47961..fd5632223 100644 --- a/kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json +++ b/kubejs/data/tfg/loot_tables/chests/arabic_illager_basic.json @@ -249,7 +249,7 @@ { "type": "minecraft:item", "name": "tfc:powder/sulfur", - "weight": 50, + "weight": 80, "functions": [ { "add": false, @@ -329,7 +329,7 @@ { "type": "minecraft:item", "name": "minecraft:emerald", - "weight": 50, + "weight": 80, "functions": [ { "add": false, diff --git a/kubejs/data/tfg/loot_tables/chests/nordic_illager_basic.json b/kubejs/data/tfg/loot_tables/chests/nordic_illager_basic.json index 08f9b91fb..e119ad391 100644 --- a/kubejs/data/tfg/loot_tables/chests/nordic_illager_basic.json +++ b/kubejs/data/tfg/loot_tables/chests/nordic_illager_basic.json @@ -249,7 +249,7 @@ { "type": "minecraft:item", "name": "tfc:powder/sulfur", - "weight": 50, + "weight": 80, "functions": [ { "add": false, @@ -329,7 +329,7 @@ { "type": "minecraft:item", "name": "minecraft:emerald", - "weight": 50, + "weight": 80, "functions": [ { "add": false, diff --git a/kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json b/kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json index eaef2a59f..1d5b919cf 100644 --- a/kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json +++ b/kubejs/data/tfg/loot_tables/chests/yurts_illager_basic.json @@ -249,7 +249,7 @@ { "type": "minecraft:item", "name": "tfc:powder/sulfur", - "weight": 50, + "weight": 80, "functions": [ { "add": false, @@ -329,7 +329,7 @@ { "type": "minecraft:item", "name": "minecraft:emerald", - "weight": 50, + "weight": 80, "functions": [ { "add": false, diff --git a/kubejs/data/tfg/structures/arabic/baseline/barracks.nbt b/kubejs/data/tfg/structures/arabic/baseline/barracks.nbt index fa92c96a339c3f40eeab55d4dede44bebaa5956d..b651d20c28b326922b0836ff4628472ba740db5c 100644 GIT binary patch literal 10240 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 literal 10210 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 Y6FcRp>WaL-%YW6cdBLdt;T8h}0BA3yz5oCK delta 4842 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
6^_~`yk5`$L3q{Ca(3( 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 ZPoJE*(b;p`f9;?3Q}lOR?+s&Q006#Bo7n&W diff --git a/kubejs/data/tfg/structures/arabic/baseline/smithy.nbt b/kubejs/data/tfg/structures/arabic/baseline/smithy.nbt index 1f3ab03b83b45429b2afccd85fe40fccfcbd5e59..8d0153fd19573648d2d4d8b6b2bf2c9087a6dc7c 100644 GIT binary patch literal 6514 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 IpD{2101-eYZ2$lO literal 6514 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 If5yN70Ms}A)&Kwi diff --git a/kubejs/data/tfg/structures/arabic/baseline/stall_gray.nbt b/kubejs/data/tfg/structures/arabic/baseline/stall_gray.nbt index d4306cab82a40af5f726f0bf31958e702aaf7097..62b0ffe17f8e4b5d168e0ac33df9c40e21270030 100644 GIT binary patch literal 1024 zcmb2|=3oGW|7WNB7T-1#aG1`J>Rocj;+*PUlj%PCwlCIYTicdZy;^B3)4`IdqH=(7 z;fh!GFZRC+GE$k$;+PU;{jn#fx#ob~8$J6e3~Lnfj^3ZcM?^rIt3$Nbam^1+;jfaPj#OpIp8hdM_i?e> zbC1tHZxVCX)!I$__%q_z^JK~S{xT1eCFl32R@tT8Nxo=sjpcIjvd8y2+DiNH`iN}c z<4jo5uE_ZM0zO?F-J+cXb`%f)fKX3jgGbw^rR z-u-`1jhcj%!0G4COf?=25Ccr02E6*@dCb=Ay8Xt}=}j+x-q|s8-ucyq{YRbWbGES< zm^8fnd8e;B=ZW#b2@Gv)2K)X@X!s*A{XEO#)BJ^C89nc+N5-W}3Q zwb(0zIZm$nBJ$~5(Jap1$ttTY_ZYhFO#Cz<&FfL-;u5CS@uF@2W}52iG@9E1h?m7GNW}e~CTpGbER(V}fN<7})sN+Lef|2gW z!Z`lu7JYFR+|7&Z zrXNbaz|fqo?c#qhx_$kk2l_|+cdjZgT~+eEXG&UlzE+^!j4fB*Oc1NkH?ELeDtVdL zZsFS{^6rzp&hDJ^#NGeu!*f%_cJNu>yFA_fe983~mHWHjU6Sy5S+aV@IcK5Pn=3xF z{hzUNJMX78F6(@6`?o)ycmBoCbNT!Mi)ST1n&aOm79Skva;)qU*R&ZH7hA3N?FruT bvsLmN`}N%E-aG!X|6|RZcTvz>jDZ0FM11&C literal 1077 zcmb2|=3oGW|7T}7=HE6GIj$Mxm$EeSvWW9-?{dkqn+MC|&EG_P*>ahoahgVJuM3w- z?D^kpzpqtKa@L-t(Rpy%8pb(KJnKLGz4v>6M_E$KHH|BO^xXuU&Ss~^XP0c$POVy> z-0@E#V=1pGPhGp{l4-Z}HpDYVT}$BSoq3T(ZYNWJ%t7Iz)_zmR_-6S)|F_Ae#b?5d zkN2FPInDH8&#`Y+eaEw&Rjf$^Q%?MHt7ksmI7^OS?tFy78PkO?4JUuhVR63iyj|_X z4fg7c6FqGe9|ZX29vyU!v8i}-RO9-owI6S)$9&+fuIRG0IeJ*mFJqd`QMq}KSp7G$ z^M8AAP|oH?b2~y$-_3|mceASY#rLE)^L*b~lD(mQ*>Rbjrnd9GR+zcj^!=3l=#$am zzRpta&B12diVYw$6yTj7MC{Qhlk`+p>cPpHXyk>@)v zk3T4F_P1!?(^_sH(^a#V@uXWhnOnQMR!vWdVYHpj^lH+gn+^X?nsW8&`ttBDUi9F? zTD72_?wD0mQcncF{VjK0(}PD}a!SyYPX}BZt9W-5nltdPt+~E+ zhfxQo+%xIs>$%6@v-j;b-LV)g#5pK>)mbgNxtIuw>P<(-Mqe;r(SMPdM6co zXpLcV#OM6R=sidJkNVAMzF>0LO5xx40(-OI`5QyDvMdhNE}fOjr8XnWEth$^ ztKpfdiHH9*lrOJ2fA`IW6}91gy?3te>A7FqW>)o3kH@E0ucdv79LxDM7yiU+?f+R5 z?{&;Kj(oe?W!19=fwcHs@3=cNmjry7@#KS!@rU#&OG2&|B;9ni?-dj6GBjK%FROL< z)RIRV_;csK3_Lya&1=3-?AL>(CV5VMqY^sPfAIooRhtj;R$sTV+3Gqh7p|?($+q)8 z?_XElC=tmo{e8)-2QfZTi+43244u?=`JZdn#^xPvf(D<|LVs^;Td+EQ<-+}kZ+Ejv S$NumA$7nwP*ezXg1_l6_gAmvN diff --git a/kubejs/data/tfg/structures/arabic/baseline/stall_green.nbt b/kubejs/data/tfg/structures/arabic/baseline/stall_green.nbt index 3d6a0581d08d8cf44ff21d9b90bf3ae05b3ef948..d8c4918b867d7378fcdb1d0f99ae0b2126b2c265 100644 GIT binary patch literal 1071 zcmb2|=3oGW|7WK==HE6GIj$Mxm$NhSGLOcs(`6DHR=?kuC$ZtQ!2$<=W|pW$B4$FG z6GCjhOTUSJ@5z_yy(mR2`Vw1#P*nY=zxV#zP7G?fz|}gdK8;23N{!gJ%}(LFoz(cP znl8q(=x$lqcJRMJb4bu_&Tr}t(@k$UJExg6y01B)9QJ{AOZ^ z#v=DRfuDEg#f1LS4tC>@32N~I+3Um>y6dh{+Y_MwCNTI-V6e@Xbf@B#%Wfn#_T|Sl$8E*z*v<=oEGPZZCu2i=$;Y zI~hOsfAMH%q5c0BL8YX0r7e#hP2^O*+PL5Y^PXJ`zRipIlNYhF-*%_VjO8z`rJUTh zKr8*D^5t2gdl$d9{;n)y)fTx(`|=r+7o{gzy+zKRnKpH*rOw4ilb;+~uym5EV>xT| zq79Qa6=+Dad4ljAS<+AU|Fn0ysJ zZ+iE;QRUlnDi&!%3tsQ?a-2Ddqm@%vwZ*KxYvFDmM#rj})3>+PFIpbz_{rV5{CdQW z=|*?A?AMB#BG~mWWK+_qf@RZRlr3N3@$T^y?FG++9O8mZxG(JA>2`48(#``0T19+$ zrpiZmoLJ%&(Is#kYO!Hsn>wNv)wrkDhiscqQ_cOFEImdWJDQQ<;_Yl$9S9z(SC6li%>L`Eg zt58Q)jajb_D^<=hoVcNp^|kGeWe>9We(D%Sy-@pWd-<73(wCeq7dDxFU%qg{D(OXh zkKSGR$yu9Xc*pYYR^OR#k{ep|pPH?n`e0eun+{8fS3LBQbb=#j)+wuC9$$$6j*LWp8Mc=E09zJ|HlA~bv1KG#l zMPFp{S;@X`cb=WC{=?$DY0Xfb22JwDg`BOuhibc^0-2HRjr?L#$RpIFUrBY UJ__Ca)BKP1z*nX@lf)Pp0D#gG761SM literal 1076 zcmb2|=3oGW|7T}7=HE6GIj$Mxm$EeSGSBN>r`g_YSp9xq-i^W+E0;4e=>~F1cZztd zn)jRc+uH9L?qMo{Ld|B8yf^rk+W)M3|9_sRwV_kCNY=lZf-Mtj*WG$975m0(=DpVv zZuP=jF11Oq)gR^w^1kbrAa>emUz|Mbudt{}%_rEZ=_i{%ReGW3w)NnQ?N5c~jzD=k01A zBG{`lsw&ssnPr*w=%A0yj81mrLc_;}d#7ay?)p@8g}eHSNc9yF{=YLX=v;-c6d#}e zB*g#i!9h8j8_n$%9|ZX29vyU!vFW=Pv8sCY%d3Br?ntNXIJY#q+1AAN*@?9;Kdw2x z*YHu{m-8LzPR=$-XFn$J%e^_+Y+JE`o&VzlMLC-z&FwoX9u@ZMe)WIxXy%1473=QI zk~_b;u)o!L9w+a&3j+MU{m-lJBr8LCXXn`8I4u9>(aZ~Hem2M2Tz@PV{i%INg_=q6 zKLK%&KHZT5hlHRa^ee zy(Z<#@tNmtNwEDVr^~hPOKRSpQ?W=DT5x*VIft1OC0aGtsm(sx@?Jr_|6c`(-V|$m)owptYEk&WrA1WDO+*YSCR#f%^3K-e;-^=;kRm;7}qL+&Pe+w9zye`n>y^#QlHKfg6? z(~UP?v+mu#xIO5;>8_Tthm!p{;ia`y9e?3Z~Le*1@{_tHge z%y-mR-CUN?q9ac+wAUtJB$kl=<-`Ctn zXUw?L&o?D8D5x-^UC#XTi;fv4rN_T_XIHl+1gTnkUj5KeP{ralWy59r8DDC7tD+kG z)PMa8`1EMq=Qn$vZWr&E`1QhO^`|W9Ntf=o%u(-aoBYqUD6_htS1I9%*_Ds#ypG}Z a0nYXZ!nwP9*Zp_>&**=2!beSU1_l7-%@{2J diff --git a/kubejs/data/tfg/structures/arabic/baseline/stall_yellow.nbt b/kubejs/data/tfg/structures/arabic/baseline/stall_yellow.nbt index ff90623b84b4e7c183338d53d179ef84ba2be3a2..9f23f5f5895ba1501f905c164d259a62b52e4e25 100644 GIT binary patch literal 1062 zcmb2|=3oGW|7WK==HE6GIj$MxC$ckg@|#O?yY6mV{C;1a#D>!b3mp8JS)vw+Y!lL) z5MuLP`c3rvlV-Wzi&Vs-FR>K}Mb&@&d+)#P=SV{*bB!y1jFmYSe%rcXy>!V|&D39> z$2a`yUeIcG#o&khJB6)RzOnrlUQo&V?ZO03-v@%)A38*99M^mZ5-u_Q(NvWqzj|iU zwpp5KHC-m_In_J@az=(8%IB9-AFF}Cm?>lBkh#@qeqc^)j8+pUpQ*KXyzyN zl8<+G?Z3T1LU5y@;4Y&O(K8FKi;C-nnwV#YT}=~Tc+~x5tK-B;sh;Ml-2oBakycYq z&*6?zYoD2psl^&&7IgH*Gjq;`^$WMU2_CX>E`J_v|HYw*_;=2z! z{}X8JR##iFwTz|p{XS~B^Lgnc}G^3JX$Od@OdZ}6P> z#AnHx=U@V!>m~L^=x)h5^SDxTiIwg}&PNab-1K@W?EPSK z<*se3F6A;!_^>SId9TnNlP+09Y}?;gt+6jc zAMF(AbF}4{w^l&5<)l@OXv<5dKT}SwS}C;h)=N#F;I-TP3zn%^&aq|lJEpR9Rolkg zulD?3tiui|T2&oRxb|)Hq^`qmCH2?btB);NdA`AZmtQ`ITIi;UA*pt1jl!xj$K9vz zTkq)4ec`1`{jI5cDr{z#&EojRo0M|b{H$f5Nlj&?;EX!)z1h1pQXLLnzWQ`aq-fW> zDv#@1?--Rf7B7`Nvsn0i;hDNT^-z}5hi`L#PjtKRDLm^1`?8W~t&-pTzr@2HryuSR HV_*OPLaYw> literal 1068 zcmb2|=3oGW|7T}77B4mvIo{eL>|=IUW$xT}aogI@ZE?R}o4fqDpTBKs+eAl!T!*BV zJy(A7{#yGx#a*p|A@x?uY{}z-f0ll){{LO);Sr9tfj2(r_b9ZS$xe;WF4?G^`s>0G zgI|*ugf3p0_QCv&!q%KOEWd>pr1E~dFhSDyfuQz>4pAHBupc49Urc{+e!XH9W_&!y zwD`;qnaoJxa~W%{7u$pxA5S&~Q^HjrBF@V6U;R??VaM^N#5J70{WE*2l_jp(mSi*a zmu_fpJCo7D&j0a&qMXfJJJ0a&Hbg+f+dG>B+h0>s-B?RaLrQ;yata5^gEJ#m7%^{qEaSv}dSf z9KEpiT(_=hyUJ9iyzG@pTmFSQy_lbQcL7J@yoIy#Ua7~KYr!-To}>T>(@KR#Zi@bm12yDx3-ZVO7A{doPXX`wxj?oVAa z^U@qs!Cf~swJ!ZudCc`A)>o1RkIfkPy?@50C##mveSBH9HhtCMhfxPZHXBZka+7Ck-TQi) z@5}UQHY?w4P@NZhJGwmUiT#SVZ+C86s`D>=Y3yR}1Bp?_pZy!Hx&Itw2>-2fQ(smorsJs?EjMAQl+mUtAY1(|Jlu!{At$Q@mU z`JsNNk1e^s$*o-3ZGKN!@157b^E8%N@n4iYbkXp6^=z$N;f9v(qS^1KKB!uMgR|J+ z%Cb=QBmd>zv0wfy>AiH(Eap4uw>J15WC>n&@j%4QF2@VqbCxYDS^hx(ZRv`u`%WM0 zyK{1n-_GAW$1iH{Hdyh}ThWH?t3t&_r!N9&uRnweJmdbDthTy#sz<6H`@-*6x9x4e zt9dd}{PG7*ub@>~7Ax2MTR!pM0k0eC>gqjylM};&3L`q?wts$cV#b@-d>^W>v+*8W z;#D?j)tTce1&dnt{=2v|Kl{RErV`&vHZopucgmN|HLtC1%!uUotq$`mP*D3Dd!q80 vNx_-@UV7U&uWK;5 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 O^E=Ly6bswO$N&Im4InuH literal 6451 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 literal 5720 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 diff --git a/kubejs/data/tfg/structures/yurts/baseline/house3.nbt b/kubejs/data/tfg/structures/yurts/baseline/house3.nbt index 2474198babda9a134c2dcf6b96c0eafadb0afa86..28d91a292eb8874c40dd6342122947cc9ab84dbc 100644 GIT binary patch literal 6156 zcmb2|=3oGW|8M8MEmA&S+BW+K+Yb3(TT-kiy$wyW>{HeXoMX`=>m608YrW}oXwV;V zQ--!98SN5R&NPTjJ;nOOt%z|aQ@leF^UwLeJ@^lZA2>6|Zuv>pqeshDcf~bVT)6wZ z_IJsAIflcHLA6&;En0tgS`L62w0wzO)n!2 zYPpZOJ$G)))QI^%X(lsw+wAs)9hDr*QV(v?mB_Peei>z8%iVUG8y-y`_C3jLPTL{F za`>r&gdY3B0!xmz(~br)d`%CF1bC)5C+v`6G2Q_2?KTa6UY_a86L#3J9)7ARq33_F zppvWYbg)6pyrzerL|{^&xZdJhd24|rE)@vPphS_`{^`mAtR^AUod%_(1PlM&QA11xmR+?UIqI{Jh=uN^BDTgju9&u}lyt@(_ zNpIg?^3nWecXo^Jj6T-GXDbb2-X!cW{SzQq-PM>GX|VK$waMj;8OyT|7Hn*OY5X{l zE8BK|xY_Do5)zr`bEEpw4;Zk&u1|e7AyMkJU25Cy{jKfU*75e({D}trHWr-j~Nf2oqw>Z??ZM-uFa9C@ITsXXKwvt zWN>Mg=25$d|EJd{Z#6x5V2h4K=Giqz^AdK6fn5DE=EAC9b_+m(w<+P4n9uPhaOyqg zCjauzma6?OX-htzd-eHU>8 zrV~%2;v{ZO%vu{2Cov-^PUg~eVXwlwi)RMKe9v5#ebF!T4F8MQLcZL~OrEuyK(kbm zjalJW$z>b=O_YS>O0QpgT#VtlbK}MI0|pQHbU@{#uUeVGoVElD-h%~FO%J~?248xf zI!kly>h)K?i+DPNq;~A&YMZ?}VMh$CfHe<4SP<8sS@}`x?36tfYtL-a-NSIWlCkYG z6Qpp47rmM<|5%+ZD3-gPUICU*s`=w(lq?K3)btu3Q|q*>rXBSKnEhYdP;Po4L-_ zI!N}a$R8%|HI+RjW^9x+*W0(>YHUxJu_v`55BW^l5ZXS zTCj52)RH{SNLbzCVY+sSvBb({Q?H2`EVcYEJ4>_j&7RV5-ZK7 z+2m^91eXF!enox~=?Ss--pSl{T6T}W%GG0&&Lu3l6>(|j;uLW3Ong<~nQjpCuHj)3 zJI{00d+w97N>Az=1g+JpycoJkJXW=u(alQS!>Sn^jy>PmE$1Hec-}qhT)mrdF88uz zP;EEyoDs;>%{@!_C0_1P?%kPh_^i=2p1FJ92fIMcb=x!Ctd?K7S8f0*Dkq*(*!o?B zCwW_EtX1=sd(1`#mn2;-3G|e(O*COqp6jSG_n=3*fM>danU#0Cz)5b9^d}~e^d1I~ zwEh7Ph;X&=B=HLS@Lk{ZDjD6ZmV3lCOgyJKNjzaman}=8iI;PfK#5~f?n73Imo+Kf9uay&{Pxn{6w3LxR{Oe*>ZJf3r( z(lqg}&F#;K|xo3&7#7iAzw06Rh&*8q$x4%x;_C%_| z9)4lGyt%`B)$`jAS#DK1VP4zLDocAyTfVgEhYO8nw?4M@wHB_N zEq~!I&#Su^V$Dv+@`Y$$?=lH}zIb!W!lki%i~p;{xlFzvoF=~deY3@hPxW*CzjW;D zIOae7-{1Ss|6dJiHj#1v{8iuFkhg1wo8zpujmtI}bR0fu7RvQ8@Gr~8KVM$*wBHru361)IP@PtHym?)NN1^HFNU%oLRE$&mS6eT$-zTWB%oZSA}x;oqu=# zD%$ch{!QRiB;QuHJpW;@;ZuuiH0%`?sR5@PnDz>HTZs+oS9B#JgSpZ&o?E zUqg)XYuUuV-g5)BVs%*$2TpKJcDg-1`R}7I6+ibMeyZ(V`+vr}-TNO4{9m>2inx7y zj5&LV`QE2ub7Q8={_pws$<-;(oVm~Hzt<1@W9Qd(=uyJei-#}Q$msQLwwd|z>gUw~ z=2O|1Gnf9q9>3>%p#|@`#VHfh*k66m{gwXNukI~(T($I^J@Arr-`O^PY+cjS;)P4JZ z*S@QF7j2!J9esO6$?|r-6?dG@OyKk2toB1>J@%s!{oeRa57_w;Yw-bf8>N29~b z3fKNQI$PUzJ=a37`?;b2riG%H<(cC^>j*z4Q$+qCv=TN?6ltM1aS$6MDrg2bwqow|QX6(RT$e(f#a!tA5ya?7H1{zgYuAIOynm$1Ab@f6_N=hW<$xLQ`PzZ*Ko7xt87M ze-;ZY?XriM1ky4^tB!wB$j9djuk;pxS=9ndyU@)qPyU8Yc$LLI_P@@5`;!07?ayL! z6y1L-Xw{GWWI}{R9p5j>wOx4 z==E(=wEC`ZvtJxq_(!kme?-{R3)i)KwEC`VvxUm659e8B5w~6cmJTVbNjF>Z=*PL7fTJJh-dxc2*m|?0=<)Jr^{ejBE&eIK z;BH)ao!@Gh=A#R`9)Im}6g~c0v>DZwKTTmrKbG75+gVqC+e!5Je)%unQKJ7lOTn>U zJ)$V~rCs~?Ijwy3TGUH4etp2IA62bEN8{rc zhJ3spzN+5-#C7efRjd$ExV`fk7KeO95Tf==yVn2E46Qlpzw(jxzgO|upGE7pK5Ez6 z_h@;@M->14i@rAnA`H^>f0{W&r_A~v_Ury{HT$3G_;p6u(T}Td;tAre$Kjjp7ls!8 z`Mhoas{dQf;@8hWO%>=7>;LMz*qeKY&h1HmeadhxELEg6YxTW9!xkz7O+No;fg=56 z$M4(sj-A_+Ui>sTYHIBJGu39`G=rR|KIdnImhClue=|n$opYtM_2+qKMIYHssY_q> z&iUo}Ggo52-M_|Xg#MX1GwA5Yxj#4mD!>1?^!6+DYYV#`r=$B>I;8N= znLpN1qT=h*zK52}9Z8J4vHZ$=!DFjkCDOZ37EE#b_0&C5g`h^};|De}Y=OJ# z-fcZwyleVH3ybf^D1qwlhZ^i&nW2 z#vr~+Qa09%_sg>jm%U>*_#7`i?ws*SQqJODiY39>JxfiZ`R~26T zm&W3~^V+1elS=dRH)$;|EvVx?9vA-RhCCA@l1$xA(b|^L(Ev75F_X z|1|mXV^0geOA7s8&RFtq`tZVJPHX1IPWj$P3vMhwefrh5R`dD)xc6?o>wD?5?ftw< z@vHOg-pETl?XQ|F zX1L$(J=bg!zIL*Tq4wUbEpaS`HfKs7M(DDZeY{lUw0BG8%jp+0#bQECeJ*KSaeZ5) z|4wYZtlqPwXXNDjOXcRfK3;5bf%V-7n=_jX?7F%oZEbv;PkVKn9<`2K!F`9*WPP|| z{+eES*34D6=e2Foh>Zo+dnVnWEA7!i!eO`3a@9dh@XP;i(nP+Qp^=!)F zH!o9Tv{qj~zBK!W=NrrG^JnHu-oAhGNWJAXZnvsEf9^jl+PXOPT*;flj0ra<{7B1O zk$n5>@qYrI(&yS1KT$H%e;j^uP54?Bxn-r%H&(3D{_K4_aq6$V4`U49iX88uo zdq>)L%YN7-xASGg`iB%@9@>Y*|OzN zMRx99`s{bg)eUou&VTLttY`YpfbV?wYlrJ52PIF=f6G#mzPYyD^pLq-?zgHpyQ6Qt zFZlFEufy8sPWsJd`+hDhNQ|lr*H)i3`MlY|c5z%_ z{1MH#276Qgv{!6ChZ{1b40M^7 zgE{9CEao08uxd8E_;W^Lmh|zIw$I!=&%<*sPd-yn*ZA-c)8U`2U?FjdbNU8z;uC!S z>^f|4+h&U7xnP4i%fI^i8y&9XYWpn0^ITH`ERgCzC(Tr5 zZkyenu%nV=S>gc`UWq)r=1ge=S?0FW-0*1nuKY^O_!h5`js9 z;(Ci`Wz=FxTq+QnL5U)>`%}natR^AUod%_(1PlM$Qmy5c4Ls|HMH^ zugu_%RNWiF>aMm-34_)f(I%ITGM48aDA?Hi(&+I=n>Anm#6{}AUYxkZc6*-1Jh{U% zx&NlkOm175`)i71-v3q7TP_DoQ7c&TGc^!=Xe zJ+vN2eZQfxO5;M!NxUiJ>*d0@e;_C@#VzbWNUv=%()Utm|qMWatuKbugD^qIA zWwQ+TRj*$)wIwW>wM}Sxo92&3rTGeZmfzHMtQpC%%e!|8TgnQT|-_+bVtIIpVj!`lNBi?eR7) zpHWs&8@Fn{>Rjo0YhZQGl3$URBzr>ay|cMz9GX)<9i%jTE&u2Jw#)Plf@Jk7x!hJA zR`s7f?+v){4_XTrxw`ZY~ z_pVPq$2uuKVM%f06W805_hwXY5>HrS+_41efQtP=R?9uCnl)eik(~vuDBCVef>K%u z+u^JB75$-B!k(WuWE(tNcW_2ETkTh#Ux$8&weHyGZG6dc=_k96wueOmJtb@__Z(j+ zx!Lp0CCMe9=1pmvcurwb8`v5}iI+S|FL~Uonms^OYot}PM_dC)8tjTEtRU%1Mv!z| z!^C^+6ZahWefm;q-AQhPOO~#mn0iY5ChlQSo*S&9f579p$VpI&@nr_FxleX4Q?F)p zvx)~BC_YI%Vaey#C#(|ZxNDX8^JQN%$l@BsO2)R& zOg$w?s-RZ<_|p#&-5ah1R>bq1RpR9wC6G%`gY7e#bS`1Z<{nruLfZ}#&&7+*-5+in z?fI(#l3d#^gX+2&eU33fw)aJn*p=s|&T@K_uw=7OaEEM9$+S$ajf?pvoZ|}ui8YH@ zOT2ueaFow&Rrt~y2R*j#0+nuI)05bhuf7U;o$ zwkYULE?8_nNbK8WkXT*N8(FZ}G?3V}Ng%N(wd`1L31f-O-Ym}KJgF~NOA@w$h1+AOGhRRWNZ=FxMGGFAiWSOK%0J0j@h?|M<>kqvMkg=*yZNiop6mRfpG)?C*qnLm zW8d+Iclv+5KDcLcZ~OA+g*H}^F8}^SRvFD<%QTB$6=?G8pU#JO=bf&WKI-3mIbqug zy{fqHnQPp>--ut5C3f}D#P12+HKKk&|L+)cY>VXEc4wm96|Ksx6IN|{r@dmEFJBqo zt%KjY9UoeAY%L8~wX>j3>`drs@zV7lU4NARo0WGx`=1$i+RLbx(|Ml`y6t58yIH}v zdBugZ-(TicUCn!;_xh+_b)0f=*Ok53)HheGToTK>__s+^+v55~XU>J+ubwzR?f)K$ zm4daBeDl}-`Mv-DkNIuay_*tu-1zg@Y+0P#Z|@={Iz}g z+;#t6#co?QA+#y;`ZAlH)m{Rk*(E!OvU)w{2<5xXh`SR{h zmD7J7ZdU*2)A{G4{O7IjEB^Y&>og^NIez~C>;1Fi%+tgB?Zf(C-k4x_Ro6iqM z?mPUvYVTJSiQlI+et)g8`1<^&&(S$??|Sdv|9$@Y+tuyrujHdZ|i&4o<2&=&(C{(^N9U>|Eo93+^&3nXB&F@-147JKaReO z+N~wIdF6cG<+kg;x2wdlc#5&T+Hy(e`PG%z_pEWhzW2`UM}Hj+g3i{7{a7rXam{7g zw8^cLmger%kq+-hU{#(1(cWqri>+QZ*bq`m*4Eeum;kT7e@!wajN?(3L?#HTk;jC5fKL)Mcy?N@b z{Xed|AO7>S-%sB6QO1`S$NP;!UoM{*6#Dn_s<2-Lmk+gX{B^(PYW(&uFYa@R%?a_I zcBjd@T7xP4`R8KM5|KG`{15ABob9=$a4y6ptL;bNto>SC$8J6gH0D&l{Pu8_n7*ET zg?YToybx{OSvk4?=H#kFm@NjnZr82)*SubSFL!I740P&emiJY zMBMExkXUuXsv4KoMLFfUzlDEE=lrg-e{ta1DbBU0_MLZJ->&se#${#F&#cvfsrOgE zZCv?j`xdQf`^$e!e)T;3j+{&Fs^f1RtwQg}xvYHjO~FfaJA2@&9kw027B}B+*1!-B zI{Mb}%G}aB>6;<6jg~_*~(Y-()bW zT3~4xy7}dQO0fyAirB~gH}-2^^1HeHMQo0u+iwM}+L513h={1;`=z*@VtI-!5| zO0UZ0_n9gj1r9fOn7-4if&^^gR^6ptPq)7H&kWVs-+k}Cc&KIBSFXifPrr7#iJpEf z+N(9~y0%oP&iZhZRS|LPGeS1*iTfG(b=`j5?Z(+58*9?9tw{QLZcX6PPje#|cRjV< z>?V4;Jgrx2+WRxhukJ2hS2uIx-PfniXQG;LaYa()-bH~&KUKNHt(scDAavuOx&84W z@AGG`PWt)1xz2O-BfE`$D>uEr_3eO>$KtN1Ti3dYp3aU2IcgioQMsl_NkQ_9c9iI8 z`;Gq$L7u;(8~Ud-{G+g_eMq6G{nDpGtEOnJd$b%bSMR#| zkyf3TX!ytJ_2td0f1HNtTm3^bH0G%P%15t6y+p&;2dvsr)f#m4s`k_Sp9_V*o@$JJ z{9ko#*VFmiRqKNLe)}}}AuF1qHLX7CLvobp>GzCbtHPt+{o)E-?;u)U+ZuEbq_}$Y;S2|JRc)AN6&=JL7Y= z@Z#GuS7gQSUd?$05zs&P_6#)d`?XKedbcb0XPoW35|6vC=jZaRtZvw8>#@AcS~h6a zj=3{~j?U%N488MmLybT0cH`>(OG7vQDft0*_=+r89GEgwYwEt= zjoq$WpCr2~qAm?f9yxzz{^eCSDol63-YQ-vlCraQ-uLR3k707hax7o*PYT%kM}>Fs znZuLcuSx28eDS2xr{}M3J~Z*z{Ike=&vwO2I-KI%SBpjb&0;(!vo{}^&%gX{;0%_- zIz7+hlI6}97yfyk_)50+ZKb*W%L|94XD@uN9M|%>Nc>WU{BRk8J<(FR{|6I0kW%jP0HRs>PzPY%2z4yJhexLU2{HM`3IcRq8O8MTs%TBFO zc)23y)c-KaorXRWKd(&;o?3SBmTT&}8}iRGZ*crEsrHOrzr1JLd-L>F>k}XKZ@#>+ zUhKNL2({pRxx3he`nkA!_xpH>$)I`TcYDZJT=S{7uJojcr z;ksFYQA>m4*M67XTJ>`^&+U>LBk6hHL!W!i_))UQ=UL)5pQf$OOWS9zzxHxda^>&a zf@`+qr<^qUp00cF*t*I&IdXZw>%-+Mp75XAyS8j?X-f-Bb>AzazHFA#oAqAp*6$iEUL|{dn-eZk{F#?8eg8R4>~u9{B8 z`k|&D9-op{UVeY+v#spswDqI@Q>-=1CvYI*NjlQ^g4 zr`V2F*0+9U|32NiefF2bmlw_o+gwl~^mEmW_w!jZrCihl?HqqkKC)k9Yee9lscfre z$mdR5;&t?ELGqsi{z6y3g@`UIOuF;o*~g_UTbD-VNq0u|uPS{W`s9U<_}@!Mc6@s6 zUHm7jY{m8I)2v_pnBw;8>l3xzCz*_buPo_5)T_I;JJed#P=EXC?P9A+>le-P{QYus z_lkf=`F(j)i@lc^DOtw;-M-%|y=uIeCBkr{K;pV$N8egiz&yjbS94zQ ztIhhkv3di0;Z)Csd`)#zLeoz0uYA~AS@G9ZXxZj{w;r$Bc&YE`<3g#F@HzLh>(|S0 zm#*0RHDcYw)%yBVazEC7SQn!?-{bPgd`|4XCgQh#52rQez_xJ0@iL&J{B{uJ0`fPW~)eW{x%xL;ff$Q9- z;*X-f8{9sLYkkbm-}Zi^TgA)E&lVitw}0thG4=ERnsyvLQadsC)l>bc)!KP^h2>QX zKYbF@Zr+>uUs&35}{`TZrQU!0$jrdjf z@A=%i|Ljj!%J{&|C{%H6aQY|maQ?VJv;w+8Ba)qPS2OZ`J1oZ?4Et;$DtWZIcGh}eJ7o~>-^Hc zJa3;bUfQ{C+tpXT#ffJg?cc{a+bp}d*yT^{)dx&9I%k;E9;Vr_KGvS$aIl3-Ey!SF zlV{JH^PdzS^UiEN?R@`i1y|aG#0P0itioC|JT}gcIH29?3^=k+5Ng$1 zCR=-KOLO9_g9dLCW|SGMsXt&)e_+Eu#=|x&hi!O7^!dx4b~h#V8DM68EuG^+-<{i2PApM*#LqjHg$^f%$}OSCTBIzQ>+Q@G$h87^le9P zI3G7YdE~HUT7deTbKgDZO1547C|X+MI@cjkJ>UwbXsMIyT#rEYqN{~ZoUGR02t9sL z`reMd#m8-w(~lb$m7!8rZm0Ux=Nvus^dXOOYI;z5+r&-EAmf<8#)W{4Q*xbqBJ}t~ z?w5O#!e!m_e>}G8le4bWH4ZBCt2^B@W$t8uBjwcPzqL}2i=Rt+_^F_6;wIyj#)my_ zPJH#F%c^ma-+~pwTCZBVtR^nk}Yxckl?8TA+b9Yq8_G)5UX-@*FN=Y6e@NpSC~cHW${I;jvNdHvd1i z*P0UB($8;wKGUjMuKG#Z488ZVCA?K{K7OfmzQmWd;BV*b#9IejjyM}IzxBV%a~UMG z`DM-gjQNRdx90DZTqb+Q;dimQu;w>m?HMg^)I;W2OO(9>r}O6rdA8V>8ESrclS$~FRjJw%4f^#_spN3=QeBSr8=9V zbq72?UlFf5Q~YvP;*v_Om!Cv;{i@!1#^ZCyrF-cfX-g`#GWmPf*cxmqGq_|k738*+ zOKd|j*p<%)dsb(pyiHhAX?5}6m9roXd~UOrPx^M^#4TmzZ1%(FWO;V4fAl{eA#>xz zt>niS{#`oj@wo)-s+TUmd6dsy?))a{Hfy=?+jzfp$M1r168raL2@7wHtew35+3MK9 zXREEEx34e18oFzh*Y8bhUma<&4|BaaYstE8x8G#VR#&?be)Za(tn23Mxqt7Sy(dp^ zclRpi>e$fI$urzvFFLdBWu|ca_SaWm-(IzA-<|x;pL~mV-g@F2E%)Y?BAGTQ;vJ%6HFJ+ilA4TK7~;a{vAl`szyNVF`9YKQ;y5 zc(ZEN-6gvZmsW*}uQor+KKc9CFZZt1{`jx{DbDxyjhl-ew?0etJ(=nJ%}H;2=r(WZ zXvRtN%D1IFjm>{(-TmwAmz$q{n9rTOqSdqOnS6U$eMYZt>=gT_OJkp&Ge5Y$Yx~`= z-Ag(D-+H$DS<11@li{xy-AlclG~e{1#Y>&NRaKVI5=wElUV&Cjc` zKlc6(w71B0+4|#fBGuHogcFkK|yCTRn;3f`T9TqxcuhplWUbP z)&FYNO<}g#Z#D11&oh2~4;}ogt@ats-_&k*kgrXwXZDZBZxTwl<{x6Y#gQx?_r>{&+L$&)4cpld-J=RvtJx<*d|CtFaPa&^roIgUqZ(7?}zF(rCm0E+wpcj zkN#WL$IIqMe%Kv2@$%to4&N`STsyc(yZHZ_zc0>5&iyuwu+Vf4;JCi=o5a0jX)UkoVQApw7KCUf3k#`n) zG%mUJ`X_tk-S|DeC*4g>K3h5Kww?iV1=}XOu<#sA>^8JncEyko%z`8oPuU zWd_Br=X}JgI$kmzu43kS&1>LeEpbgcA)@xchI3aO3bxZt4?Y_n4dlF^b`zzhP^`)o0 zuRx);^gNOEztKH&b(?U{levL&INd(=i5w3Gr%0hvxJ!1@ zT<16lss|k56fJaeo#P>>UUanZhtsX~H$>H?zPo+6peSS!88g1SQvVKGrklebYbo zxpqly)62~IM`<(43~b--FEpO0G(Y0t8Be=~N%s$Ks0Hi!&DZwTMq=Chgc)Tu%Pw55 zdk9kOV=b{vmgh2`TG*2_RdVy2H_T(deEHwf*@?Ffe%WGQYP{z8L5NU}&1|<@>Jsq> zS-8|f3??>pit@a!ta*0m58ttHgPi*ZTe#e2-CcZst(wHLyT+T!Kv^ntpZBeU9-m_` z@wH{Xx0sm-=ddfEE%&sx>rV!IW64iFn5UqMA@UN)`jLeU-u_rK4XkD2v)xNTu5Zg^ zS3diF;x|sWS?`tK3ip`YcfX}Bk-4vbOTFp5=6xI9CoK8-j{kGzyR;=UwVyuL{KTky zHaPx;;rXT6O%tE3Tyi@6#jA5gGeOL~pC_F0_#ARcP9m~8A?0ntl1eR*;lZBOD=zT4 z&00R`+l3P#kAz$T^U4e^*-YKy?siR1GSXTib6(#T{&S&!{_|$e^Ma_7la8#;k-0U0 zw<)T-E?M&TXoc98`aerQcE3)`Tcox!@A9#ly{EfMVpV59 z%Lnsg?6$p1-`q@_W;nv#ZmJtEb+4e|K4E?M=Hax~p&P ztKE3AOC^4;QN_)iYvEtl>CAqcRlXxKHvHx<-`r%8lX|A{WviF%t}Whg(!GDW+5G)# zzi++zuu1y!7UzBE^IktWXEW{lC0+eL1(oaFKb>+e4vy+%ZoR*S>;0)u&x+=&AD#WH zXs_? z*}f{5#iQ!lG*!)ayM^{`UXg#yUQ(uBxm?K9`16{7-xuDLmr8a{Kgyq(7{2qn?}z(u za)1BHNjy|<@^YP>=;JL{+A&8XZ^K<_vg81-3_@}H~-$6PoKVh z%A0NaGHdQVm1`GI{||X;w|17!*7Tc~Uu$VzyM5I+Eb?%AYGQxWrVRfnPmZrK+x&am zZ@-Q6t^4{v&(=TBz5R9Kg#G`M-fjN==i8I32WvKY{mGD7T_15``?JT_-oI6Fy&h@L zA!+jc_Z64xsmc5T*81;qUWb~s-u`l|Wwy%t%X-hk@1ET6SLYG#88-L+@5fi#)|h2( z^kZLbHEm<#yIaX78LOOsEBWpcPt47qaNAfyEVZ=m=F;ss!5P~;H{au%#%=!d;4KXs zKG)A5i|zJXsnz;@o?>b;XOi8%Uo4t0PJh!*xuAcr;J%$NTXXCW(=G?;#E4e)xjW^4 zzjFQlcDKs;@Up6&Th_N!va2NzSiS%LMsxM&&5NV&ZD32CdNXpGjQ_%)iTkD2{PjD3 z{M*muqxb56@_X9nU5}IfcK31pOSX51IbPn~E+_xOFZ{&wh!Fu TYU=+lzm82yzS>;dgMk46_(gCB diff --git a/kubejs/data/tfg/structures/yurts/baseline/throne_house.nbt b/kubejs/data/tfg/structures/yurts/baseline/throne_house.nbt index 08933834be05824c16a1d15d98ef38f610184a7e..95e355099e1b5002ec140da3113a1381836eeb6f 100644 GIT binary patch literal 11682 zcmb2|=3oGW|8M8MEsj1p_1=1qCYB#+S;zX0zrOMMj8%5}=8a}2(1Ru0 zrmp>as!1cDiCrav!DQ1MucyWTF8tyD`79>jS0GElugWOpf|O0OLpQly>#r@G|M|}4 zyUY34m(5;wJ;%4bULwcL*ZBX}1%J2R{`V_t{mnWXsrfZ_x&N>HuAl9jZuR;++uQqF z?r*F#ocD>hCf8)%%`*wxjAr<;ZJvAZO^U%?o@LVyzDYBvmON9(Ry^ULOq#)W*5dc3 z#rn;G_Zo;nCqEvWm|!Ng&t|a=+hUt-g{7+JHTn+{L{BQ-G$!18Vtrmi{*Z=zUR>-+ z<5TSh#Gz>3_<4bLErE7-cI}#!K7~J#IAjge_9ljS+br$=I2hap>5OX)jJvxJWMO#X z6yi|Po?iFwOVKu=zXO&*dcg`Mr5frCX(_TV?70S6=f1L4n>%1ZkV`<5SNk#hyGo5AIP~FPwp%3+Dd^1$)5Uuji9wqm^j3GD z`Sbc-(H-G4X>6OP9xO4M@s=mey!qzogm1<(nt7fXGzV_nQU3L{)Mi0rX-Q;7>di0H z4ECZahUUjw#O&iv&8hhu^Er^Kefp8{@Aoh7F7Cx+Oy5W@jy zX6uRk=1Ca(o;uH9mCrloW8VBS)nK>enK-u1^AGC$D9}!Wn*CEC?O^-d89yC*Hp^C; z9$Ybpb8(Sc RPTIq*CoIPBNA*e{C=TxA9mis}C`~zV0CZ&SetrCWw8cIw(o-oB6 zfkN&z1XeOX(|{Cz=}PLi$AgToRT&Gqw0y~W=U>uXD3|Q#|fg)%}2<96jX}3 zK|Kd8!oDl7R|9!AM6Nlok_RCfvX;~B>a2t+$(~iF2UkQ1gD8#lhgR(2TKq|?=aW{? zDpOe(yE`3{Q;ict&b0(u3cEe^kpOYt%DP>>ml*O^cG>iUD{fi$tlE1RMnU2OoKF*< z9A;VkNwMctyMdPcp%pb8#Bjis#l3!;ZGy%`q(f+O1=mHguJ=3)wEiDh@rQZwC;pyO z_F&E&hQ&opJ*PMgwA2si9LcVpm^mx_FFPzx=^RN?PupfZ<8Dv(+f;+!l4l&*if0^L z5pgH`1?$dZCCP3_xu1C$NUyIqeH0~q@wsQuX9t7X7q<%aNTq8h&sp13XeIf$#OT<~ zzGF8#XZG@>J^aaaZc^C1^+zmT8NW}dNt@BS<9kw?a&uti;@KZ7cS+7)4yC4ltgMop zzZ^oPn?L^i#_hV7!Kq{js=k=+XOK1LZ%^Sj<71X5B%UiI&pDhiC-2OPIh8XC*Z#g} zad$>!$M3u|D}HjjofUTnx#*K|Pn7zB5+jMNehoKICS0*%bXzN&Fy)*<)?9|o8~koW z$9m`J9alP-lV%Vt*%Q4vcUHuKH)%21`pq}bC-51~ILzaA^wGVm@8?+xojG>Z)E4AZ z$;UZqJ)5T*o(nr>F&FIF9QVg>j-PR3dweZQ`@HLhYen-b)qkB~H(dPZ@>z-Hvkm?9 zljp=8v)C=Uu_16{Lt(a%IJbmo_g)_Pcd0#_=Nq1@J7&Qy`B)~Ur+9|pxx`}@-;E#f zE&g;PP~Z4;pFfr?e|Bl-o<-?*D!Zi9jlpSao6)hCDLt1@N~Bv$ zJ+C{n!Rmt9M(n9=m$=?i{AY&qO3lmmgSR$(m-~TxeQjzWl%rseQA96U3fPVPF0EoR__4 zQ{;u`%~xwI((Odf__19+olvIy?BJ`t>%X|G&S;%cx1;L4cDgy|ve^f}usH8Of~d>f z?ppWkDxWc@I(%aTq*7x(c)@>B660drXtHqkVV-CE5+1xuHISA>6p!$75`*E>XWqx+ z>_7bze-9eEw0v^mdxKZ^60ht%yrQ~2@H^k)cd~A_;s&pFHUyq$?WxjBxKhlxcpmqR zIWx4*Up~FOq%F|uu*TfPDd!Bl(j}G}_gs>6d&#r7r0wLzpUphaoDW`jz2Xt;V%+Gn zLUW*DYoOuM_>iL_ZiLa4dC{W55=5Y?NufT8A$ZW9gpfTi{)S~oNo-x#8VIHSH3s5D z3&Z1&%DSPUm&}X5JWLmuVrSqbFR_%r=MuXcNT@NeR7m3Mn*%G-+1+fd4PM=B3_Q=* zQ&pA_GMB~eC%fCv_W9a@h3!P3=jp}xeBqNAvZv4J-D{1<`}&ODt>H`D6>0ge9$b`<+R zmzOAi_wo<(<8!ui>l3EbC)~ODqN{$NobkIe=PGk{e=NM8S92#ZSJ@ctwH7|g3Q-@^M`pc z$cnzXAoDkVmgupzF8kM5`26%a`@6?}FTY&@agK2YNIBbEsPdH{<(6AN^Y>UUFSF!w ztK>O0x7-@k-TS)k-Ff3v$p-Iy?tlb4!GZ^O6c;}?lqk=8XT$dR+}Y>*SDOm;SVxzG z6JO!;_vh?)_kQQ^v92!%S^fT;y}`Sldq3Ha&An)y|3Ocr+|B;~-MJTcgEYUG%b$2h za_?uw9_!=fb}fa^f1GPKcqelo++;sC_v`u}A6^?St~pU%6l34;S)%7Pdx2bY;a`Sx z&`J|hbsC&X{vE!*8q#t<_SJhw%<e*8;sPJKem{npRma_04JkTJF5 z=j_`-7J=K+_u8LT8OPj7jLC27w(fa-wg8+Z3inFty)#&6ei)S3{?`j z_G4cw*6dMNKe$7#U-xrm#r7GmKSosc2Q(Gh%4xqB{N;9LhaCTM{+`z#BQC0ctc>YD ze#*LA2*j;S4{QpoYb*TAp#6TKm%+O5BbCg@zILstP(HXLPVhOe#C7dQ^JGEf9>&L2 zu5-*2V%B@CGmlx{0rJ0S;lIYhy-FbehadULe(Y-($n$Z6AkS+*`oj#;QJ;WNd^2kg zG8a^&;L(0LlL*!G7?E?$^`#+_6vOxuL}M>5pvK9{&o8>1!&i)hq_d${zwrIZHfs zmbiZZQ4PoAU(s{;6JzSTKP&dU&M&lUDg3K@uH9hW{-Zwyj(y#3A%AGcKe6Y|_d?gz za6GO`0IB8g0jX^)1Pw#96xteql(QcLDL(*GE+_HaS>ihLk!AcN|pK?dbN201bp zWbyu9kj2}l%6RS8zdk`30eFH5#zL*kf#0#^31p~Q9O%Z75zksofj8*YBEap}Ezy=p(UN7?mA zUT1y`O3DeKq|D#*nXTt_W8u99P;^KetYbe0a?pV%RfoSG0Qp)@0u)5d;2=r>1rdJ_ zD2N(CL1b$H3L^HjqxPJ~h*k{_&;uY3{}X%O>-TssBPb!6Cx8+X8z>>&YXBuAX;4A} zIYoWP9VU>9daw$9kP1+dqYJWn|4~rvYzMjXpV)Kx88ZKO{F`P8Qhgk(S^}gRRHErZ zO0;$R!6|*aMgKui+B5_uWKiIR&pDnD^S%pI0>*-}#a?Zw`f{-Pbs+WkM4ubZVD0}K zc?OgX4FC1U!tw}6b39nHH%K#jo&qbExL$0O4$6&+pqyvdQfR9VO0&<8K#Jn8b3n;< zo-ioc7K8Ful^-bCp6>)XNgZVBUlmYJoqq&8f^zKZWRR2Ugg`mfADmM?K{@rW3Mf?O zgA?FnP^i=ifnv`eR3!ZJ1jU{`xI9n?#U62r&otFfJGY777*u8xHer(Jf0aE8zcqh1 z-oyC#mnSHN*>{3cn0g_olipDHJ|C3S{;HglHh8s0{@C2(xwB^++F^VxS2$Rr{MfEs zP#Ys+yRT2;9m&_*IyHN&lkb{=+88N%aR%>vE+6GSHaBxu#laoMzT)~4<;z|^Vtsth zBz8~2ot;y=#e1yNOFlLgKJNi3o^uhT*cha^*bSuE?+Hlp*O)!qq~-M`%GW&yw>%%8 z`x*n%J`be5xbS0BVS0*QoON%%c#pMm@yDh>sEEP4o--f=<9AdX-0@irWZ*rpfwMu{ zD<^}r=NEw#GlFb?a}1>TE=ciaX^`Tw#~|DDV)i7&oV^2*D+I|I^MT}!Jp{>FfDDps z?-uV_ZND322@^;z?g2=S8zfiR2(m=K;A2za*En%~iSYU5AZ8_2W++IMAFQAN8}s*5 z*~P{^x1Yb$dHtt%M&a)}P_D$>#5?;=zGQydq`?0sdbL5G5xrLpj}&vO2r=yq$6c|X&jTGt*f{#1PZj(E@M)v?9#2738B&R;(J z!{%-enA+QO{_^P`Hc-lXz2)*^edly@KXY(rd2hy?d|ji@>wlhiDvy5g=i{2&Ip=>( zUfvw}Iic*=m%#sjo_;*}<4;Y2k+lCV-{<9zAO2kP((l;f!2cgJF63_0JN7v6^IuEr zod5fmH=q3S@bvS^H^2Po4zIV9=jDj-5>Yca0)LG`) zKT7}GovD5G*ay$zFKj>Wet5a%|Dv6B$N$%qel^+u_}*&kymsk%^@bMt`5&I9ZT@QC zRzIWuyx;nlf6~k>X73BiSZyiub@}G|eZTbCC)dl&tEtnx{r~UH%V(cu{1gAb_Wy7H z`Tpmg*Bk%6U;pQ^y!F|*-)F^}J?p>K7|Fl?%6@nD{f{pTjCM$zGn;)cdEfG#e{yF3 zeYyE(ed(-wlOLvByLY+d*Q@j2^-mrZG@qSUZ?W^&w>i=Gbl*?=erosAzeRbK%Nx>v z-u|e|e!i&Y_uiwo@8@ny%iVN0XWRdGIe+$?eKy_v%I~KyettMv-~Z|DpH08}j~@=4 zeQdqmLV=I}j;4HgDfDmJrFUnR?v>cjAK6?Jm|FXteanJ5S9JB&3s0M>-|bjqs($wb zbJg_XOXZKE|9!B1^J(AiJ*TTb=2%F}%;%Z+McsVY#n)4(ckFyRt0Uj#+N_T2vpObz z)l+}8H2R*dg1Tzn&IONzx5os0?2O)b`uwN)`u9Fve6+bn-23_c*gcPb-aQvzQ@Nt4 zCg1SH_gQ}@U;MB}_Wk@{i@!Ck*ZaNIEGGT!e1Gj;gIXAVv?y>Kc z^T+y&Yku{z&Of(5(`t6l`T2T3KQ)^(&;PPtLT3B__M3m-rrc3$yIF9-uKITW@y$1Xta&--oBQRT<-KgnH?OuYRXe=={JlSg#b)~| z{U;fy0_y0^LPP?cd8`l3Tu#xU#d;8Z`wl{tY=fabL zOT$AsLvF5J#j@&6Xed+Yx7AvWTI{K-KTY4L)&Ab@U|n%)ldS!GTgiU))86}M&q>-Z ze}7)gvK$?~;9IO;j;8!6`BXLa@2gdJPlukasM&V)O`P7(`P;eosh_%F+wGCqetXTyNe1ry>VH2^ zPCx#3-KN@Y?TtPt zH<*6g<=f2lo6mmyl4DUVrrOQ^R@r*C&8|Q9AD_+-U3O<(|EhqccB@X;G8Tt!ySCue z_9Kj!!{y%1{UyK=`pS7jjaId~d{bU6M~l{1#Rxl=J(Kwz*W0l;O+6&vv_Hz$)_d*k z{j+1Xe^-C|-?s95>+ihMRRK#2mg}wD6uws}MDvceeMhL~3c1hg#YJ!Azx%+bV;;_* zpd9*&F=vUFZ9{L!O7;yCwZ1Z#1ud03;I?YbLxyku2~B@rADwNTvu{$GiQeXSXznnGSR!y=e_Pno%A|CZ~pmnzb@ZQ*feFP+#Daax9|J)%zKYt{E@>wsw^7 zX8x8RUVM40bkyz1zu$*Ri#)S6U2lG5@3P;w%Y@{7&Mp6(6ukZKvGd0ke@v-co45J% zulKWhH+vSpUBB!4|5qQs{EB}Y^MCc^%wM~YUH|{;-=VFS?tgs~`Dy(*ze&v7u3svv zzLPKCbnW!+`L^@7b@zD(|9MhhS7Rjq=CQlHy=?!ynm^a&&)?enx8%yITmRyxC;oeQ zmBU_U`+v(iJKH+bOUM6vw#+Qo4^=D$O z3x5miod5gwl}*?p9!I}5{7s3@jH1|xJ5U})vmy;72f`5)j zOkKR``GWsjZk@9UU#fXqd;XDCYj(dXF%O9>zxr~Tts`e>)>X}*rD1cG5Dcz*PG_g7 zrQvhmwQ0RxXLXl1^jd7`F6mWQRs}EdT5IKsV1SJ(YX>PZTK`8O?5X3;RXSH6nPuzh zRWt=Gz4k~cG>biAiPuAQdCt&RG9oL3o-cS>&%5lL<7t0^RaY!Ef|j0hoTydG*A=p| zIADp_+~#TbWrLqDc&g3;Q|>XXxHV7fHTKM7*R^+C z5p=#8F6uG0N={^D(D~+R|2daiL8PBAKyf+9F;V}v-*_#v-EhwFAk10s&-R6^q?p*c!(-~9?85(*fm45*hm`KR3yPG<{T@@JO1nZ< zhAu~9fKtOTnJw>DUA`NTdN*`ADDAHHD|g1C^pN!dxudH@{<$^mj}3XcB21`7t2JCm zXq8Bur^kw*3RT60UJs|XkSJKUWyPtz&#p=z<-TwH-y&@32isz&sfWIw;SA-vZ>%1o zS#y3)0I`C9CPz%&mA-G?sbkrpT=msQ{FA}d`6SA6oPB?&=AXBM_MKp=e*213X=~S? zIsV@yZ0QHTUjL-fYq9Y=Q!7;$dOiF)wMDD-dN?Rd;yqUcRn!s|T(f&$(dkd8(l=_g zmS_D@3R`+DeBJ6zp|7;Q|YAp0xyWVBhm0w;<&=~c9 zRf3jY3s(YbNxl1Z>h6i*T<_z5>VOOci9X$>H8(1r^Og3Bpx4?HwYKgPS{d{^Tq*Qb zWxx`zSdgJ#y+DkZ@YLPw!kfNwt-1mcaKXwrRT^5Bm$A3#^s8<2kF65<_iw6yQs}Gm zpe+4wDm35x&Q%WO`d|4h{>UnkfA1&ht_|N+x>smTc)-$iAd9P1gRnBzt-iGS_0)vD zOz;EiADcbEMvB=>$^0Ls04`FBBbFMgxeRLhr~ z-t#GPjn~8Hj{7@8SN>k`dR5N#+JFuGPE&XBcZF#FvC&v~YS(wi?Kym2D}ug*DnNOW zm2k$UceNMp1}y#XdBORl&{uXEK}+8?uUoyT*!lN@=xO10y`h?W^xsX6fYdo)-JsEPRF+O~0^mXlnRji?}aOEAP&{tJYcWDuu*!M2{dP>(?^|wjb(r=*DyKjfb z)Ln6%AuDSOCu(g4C3=J~C>Ms6W>rT~yqX3kM|7!2=3I&H8D3ZLfMIby@pF8gF3k5r^^?mcdy1=Q; z(zn>}8m<5142}~}mBFqWqFEz9C1B}?+5k{J;)qMop8uCGC=bbhS$uVS=l8sX-0IUI zKMU7*J?i{IlI<4~Qa!~qA`>zwW z^ut##r>TdoYjcKj#jjTh(X83~>2t)?L-lT^74rXm*M#TYJR`HGfB&`cMc+SO|LXO{ z?BlLD&y_(xs#GhESIuo+RKDiAZSj}BuU71??<3Y12YhLJVa2`_xjnSyPuV$;?Adk2 z0bj1&$B<3iQdPF&&*t|lf_}(+0hJ8TL0RKGCf7(ybNu6vlZU$l|L^&Gdvbd7%Qt_1Nw`B|*WG5cTt`*QPYe4X`=(~rd;pM2iW{#KpCHS)djLD7Bt z6i)5Foum7BZ%p!qe;bZ%tlM8QKfO7!{>uj=f18~BrB=Sj#Z~*3FaGy<>FIr56W1r- z%>8z&fnV*dd(Ew7%b!-%hTC|*xBAAOzE(wj^1qjFE_%*Z>id1zy#M*}&6k(=&*Sks zHu+!9jemE=|Gs?i@bbZ*2}b_k*Rq`tm%DNK-$|R`JlCEH(AKu>2JZkZ}zioMQ z`1zZezwM7-PH(=LImJlGZr2=d|ESONc>U%2e!czm=tuX#5-W+;%$ny(f07J#Rw>;M zT;5!k`Ef~YmHPR^Up~Km^5gBBf1l>I|L=bCVe!u?MSq^^e_HzZ&!0yXCx1LN()DO` zJoozC{6!Z(ygFQ4aq-jN<+|p!^XmQ;Z86A?Tl@2g%dczYo2S_B+d1dP^R(=6k;ld} z>uy0fv2|NVTm(o!+^_ln$goD=WAe?Is5V*THh`3Ekox6gZaxl;1|)(EQ@zd1Jb zd)Cx^|I{pNUpMQ*&#FSsN4oZL^(Mb32UpeZd|bQ6XJ3o&zm_HSztz92p51uwU199~ zlwaW&*UsttwK+U&*By>MN8gs*&X%!%-S5}C`N!j5pU;<1>UaIN?3wqyBfsR{+V?J4 z^S(|_?R~m|RL#eyd9PM~yZU``^^E#Im5Fb4dBeK?yx!gV{d>s$H14~v&hOi2`ObFM z^L4&gUPn9c-M?hZw&)+Pmbctq|8H)!(mR)VRprTFXT5t+V>YLL%d(w0**AZ?)?fR- Z{9uZe{tYws|I2^=zs~jjvDkWM1_1HUqx=8> literal 11692 zcmb2|=3oGW|8M7J7f0WmIO?2(DpC4lG zeVw=UdtCL$g6)}AXRnp~Xg`>C+2r&2_P5XTe*f%^+x$1h#O`0tt-7nf>u39>TfIKd z_O|@i{2Mm%{y!P*%%sleq!~m@`lvVGJeN>rG$W7g^67*!;~9H-((IcpPbBae&-mT6 z^Ly9M=?69P4-kW%R6K4>Fq5*gS!~0$*k)T{soHss{(}V3lZrPB6XKp*pVyE-q#>Ud zH}|CRsdfY6P&BXnyg<8_K)XA;tR|;V;ZGzES;Mrwi6P!LOS>9>gWDjTajk)IclUuT z3{RXw94gxLYhOYcC~W@lEdH~n7!)@4hc!q*<;>68KXD2Ps2b$#y0*Z& zcd;N3pEo!~0@@AJe2)y9zr+1pPNJXRo7YshRf@V*mi~X`GcOPn=&eMMwi!P@^n6n6 z`SkGM)tNSnYdDBQ6*oRSlzi$e@$~TF)y9=>KLvHm3Rt6Q;#Qv$TbJvYe1k%X1AxjGuS12KC$(Dax*_HZEy;P zwDJ$EfEoiajB)WNww_bc23pV}^otR)G(--r8=?+m0LWyvo=?Z}+RPKCz);A&hCsBG z^ORR&s(AuP0_4CO-Fr3)8fV>QS$xgc07Rjg4-$gPT=O+Jwc0?d|KJK6w#9q6z-X6z zr74*INuuXeGLmGLufeKoESFCwgskOsyE+R@Rf@Vj4V9P*F8xB*zEt@1(CrK~Xc6I@ z_1<9BH@?ML?+y0yxLv)M81hyYMm_bBm}(3uuKAVa)g-3!Cx+Oy1pX9od+JOS2b4oU z)IHfqQi=p+)i;h$dRd@J8!4S5=LDxc+r(!stGrpiVd6n>EqTUCrz|PWy7}f=i|cW0 zo97>tNik@b?CCnXw=Hf$wvTyQ$esi_j#;T|LdrXh!RE?Hk@vmHUK_2VUPZx$vw3cj5b^XWZBpe{wT_T(wK` z`sK4b=H(sx`o(D7^67=PdwX8LOpQ68ckJsMx9464r;;J4`l6}2MCqKrJ&)g{%REq(e6;yR45!;qNw>4Y309Ilv(yi~ zNioQp$FTSrr-4_xgsFc+CQ7Jf@kQ*JISUOV-<(v0k#+4nlv z{ZvSsQol>`_{%hz<ekK1F`%k(!-wtn zW(Rjv9-7w4+A~`{XJ*6!oSZw^FS5V)%vRr1Q@%OYbmPYs(UQk+o&r06ZqMT! z_v4($^2+DTePMC%#@nP@XD$59A6xA0dHltwZ}aSh{5{hCv3tH5^=+PC2#Nxk6mS%@ zOCGm8V{z_pPsD*8AFn(ukT9ROONQ_9vEb>46Yo^KDzX4+<7+Q`{L+h$KkLWbrx7X= z+ruwK_PI7ib{tJSlap>>E$L(4{4&)bFMio(neQx*zolB8F7yX+lONTsfB3z|=JB@} ztLf=qdT#p{Vh#Cs$9rx+E;xSkq=lck)w$*wJJru!J!=uJ|9DolSSF7V+_Inv{ z8`jo;y%+v1PYC2Y&bGQvM4i^Nt6ZY=y@BQTbxDlS%B^YPe3zq4Zn%+}x>&p9nc9N~ z?w(FCGeVTu@S+=oF+(QbMu5jQ_LRK=8uFU&cWm$B71iy5-}x55lXbgm4RX=fm;)=G zGr8G{8@$@t5O|)or%ErOC~1|AzyAD7l5Q_~7MHXIS{>Gyn>ghhDE}-q?ztqX=KlP< z(Twk`&g&OIbv>5>L`Ugwk60gn zyJ*%Mo_NRZ)@j3o#@um#)w|Ce6P;~$&h7DIzQ^C*#N0`|GjDFUb~C)!IInx4XM< z-e>;#dGY6ew)<~i|NPJ4<+raF|7$D+DTxmMUj^28K;u6iRATgp`SCZmx%F1z*Plvm zH-Ghqc`-=De{OxkoqsDo^Y`4gFa6gT_^+|BdX4tKpJ``y?6rTs@$IqWwYxt;9Q}JI z$kF!KL5_aDYscXgI}Y!#jh}9wQ1s~Cx0+aRd*awzS?m9AV*b9C+`j(}$o%PG^EZ9w z@A<^vbGx|=Wd4P7$p(4+w|=r8dmC*1zeM`|{Jh71A<#kv z-+rng@zhXad;U96fAHGwUG|{<;Euhe&kZHEZwCvqJ^pro?(u{>|8{?t=($}#|NrV| z9tL^+_rPiK*xSd}|KFJ1vp2|-zYntdvGxB0JNDK+mzUUn{r#SU)}eRe{{M;Je*OI? ziJsf9%k5eUtN)&BH&`cs;HSW`ugn(mhj!F4Ja?9O>MU{Hc*CQ^`Nw)bDZam5Sj&1Y z*0-zKU9)cTwNQ|9vg_)DYzK>*WuNWZy>?)rz09H(2-n&`t}sp>v_#wc(0+bR^gnq!8-mU;KtsuuZf#2;^f=keBQ`KlAszRxbqkM+Fo@^N)Z+ zXfh~-;EFe2t@wWcNiQf3|H7$#`DG$h*Rq~ND#6$39|hUE)B>EDcI*=YxpF$#l|f;D zK0BUy^5gi|rDr6sPk&^?_P8p1&hdnp_g$YQdS1sC$~6bdH5cyH2BnAcqoDM#Zifu( zkQ8_g$Y&z&W%Ge553cwCh*hd(ifzvr`J&+EoQyOu&* zgLCbB#A88fPlD9iNrKd>KL&S0AOA`LDWBg1Qa%}^yw(VmUj2{#obdhCZac~6p%PEQ z==$Wxd$=A~70m&+uVeiCK5O;7K3N#oT4-yTSH}U8;ZFn!D}sbU_F94rQa=u|_zB43 zc`_i2CxabX6mzbn@cl<{x-$dC)BR(h5W5YICuvY{+)@_UY13DFt^^=Z$1u-@954=f>>3_W)ln4HrffC~VV=tK( ze`$=o@Z7qar=I`B*8?Rz#}i`seU4Y~97Aw2Krvx;EZJZk`?6#kw#^SV@+YMoO!nSu zEA9KCJn>$?JgGYT^#CYLJXs_*e8C^MsiCZcx_C z2YXl-?$_;|>!@MLk#rf6wcDkkx;6L00bvr}ph2cm5N5ES;0YU7scD&tLz#6ePY+1Y{04Km7^<$?0+iSVP z!4lh#@5)W$di*V7yRT2;9l4p^;yt%7mwaq0te&M8XOQQA`6&0Xx0$;t4(_n^71x*8 zp8piol97zvlW@mwF-UPbNb&C;kmC6lL5hWURvg?>Yb(C~?XlzB$KJl)S#fX$L_}X= z`}*e~?J+TX5kb!^IK(^n1 z0@6Mkq&=zBCrTJ|$W!)Ds2bEBJL_N9D51?8nX?o(nSXkL#Hol{>)v;!nlb?}+!D zUL9K;Z=jdIHueudsT@ z!<)~WH-BS`&oPVspZlZz=lM5ZW}VAVZ@&D}yLH>F!-4fyzwfU2pJec}{o%*->6`xE z|Nr^E`E2&j`G2PWn?66r=iIaVGyko(|M#(fZrb|44?iDVV!wOFnf~vuoW4IRuQ8g# zbFO{!*=65b=4a}y&)sZaYxjS>-{oqnIcIKF&+?0}tNlMI#^zDl<+uFm;r8>2Pw#$u z_fuTu_C4|Ebl;17(5cto_w+$zU;h5>6~A|%y|%`8+w8O7jxT@QZ8kgpUcmeC#oZ4t z|Cf4t`)B6&`91B6&3fZw7Ycm*_cP_gNuhsjm)@OOYAe5=JF>YZFtzqK`<4ZBuITEk z7oIj%zuU3KRQ>J==Bnw%m+X7yZ%PLzis*3kN-B>XZip5wB>%r;nG`mwMG>+m+l?C_~mCp z$)$ceSB)adwt(6rRks7 zdx!3SaXxMF!Nuy6KZ>XCKKt&y+G8`rGi}Y^Zr-jlns@fta^L4m>}Q>;&oZ%?8C!dG zCeM7^`oB+~<<$Ip)$RTG-L|H0=jZW8n?8^CWjnli^2a5y|4kZM?nmvoF+E=9Y};bT z>iY9;kM(c0TzInL(&|+#tKNi#GKGFyrPZkQJ9MhU)aFg0Kc8>ZYR|VnP*`Ek3ULQ-`qRrQ~Va; zeap{Yb-z_U_o(KXTQ%j8EqiSDd9Nti@ostHmHEuuU8l+)UA1RBTj;&_n-56!&bPIa z-+p?{$w>zM^L&1#A3xuJD>U_Y4*&7=x4{;6v*j25e_C+sPW4AqjSu?a(GJhJ?kLND z{r9=T=68GLyv%<^^Ahx?cdjvxPo2H^<;#L^HeO=vHer{u1B_edWAik9M`Xd{bU6M~l{1#fW<>dnWTcuD4@x zntDjSX@A^ZTko^C_fMa*{k!_x|F)ICJAdbut_oOMuv~BDrtrN=A)0rz?YlxXSIB){ zFD7~;|J?^R9rJMW1m)0IY&lE3?l$y>td!m`QLB{MENE%o0k>6a5}CjGCp7&1_~@*x zS-iKg)bhx3U*LZveXHj8 z^B>Jqpa1xI^yZr__H%jFyw86+{P^U8zu!MTHF}+K>)-cVa!>b1>Q>)<*YNlC)xF== zUeDegclmFu^*kQ6^vjiZm)y=Ri>tkxGso}N;TkKsUiIltG5@bkez`TjRD54)&EIJ2 zZhKR|e^*|9oxf}UhqceoU$!ru^XJ;3o$uVe;yxdoT=)9iwUpiS<9u#^{A?6u|65*O z?tJ~9!^h?Ar2FU9{kSfF?pErnk}Ioj{fnRe>;I2e9QJbC|6A^xA-C7&Qv3hl)`azK z4`SOFe17#gj`!eov8MXXR@>sa4@Re6%RjqLeCE1bxxbuYv;LKpHfRR6DX3p#|1{Tb z!sq_CroN?lANd@erk-8pwcwPM+5h+RwB~}CWudA8sds;G+@AB?aN((2+n2p-(aOF* zYnSkgS6}9>*z|7I<+}k( z!{#c5W?j_`f-}HIZM2Fhzxr}ocCoU7rP!QUWY(fD?d3^R?L0UD7Bi1CeN8N`orcZ`AjMYX0eEsNcQfRCAQ4 z0A-07oChlQtT?sz*;DDG-0{Z$Rl=5jFfDePdg%HY&QPv+WAzZtnzM5Ph!y;EIb!Or zw0-MN9n%iws;@qBJ_$l4hjOh~Q3=u9GigG=(hpuvPE!wQb8-?bxW6M*^UqsB`(7|r zzkS82w6*Kc^#3nhE_EYj*D|I{nGZY3iZZ+8|@sgY4QjDPZY`UxWoC%WI!b zdpgxWDU|E|l^-TyORt5mTfHgtwYFm|YiL%jYS7XT|E9KRyQ}zcaP;c7Jjx zSN;D}?i;nfes5L^&HC@P#0#8n{%)J7)%xG=^YV>at^Z>;E&b`W{akp{Pp(y0etIqO znhWv>7RIU4(5ljXLTADQke!8MIn1He&Y!17Z}a|ExW?-(%s*S}RfCp(1DXAAs>jq@ z`-N5p{RV|-IB}l(jc)ZjcGp!`z8{4WYkt=jmOD@VwQq+9l(72;V}ZoL_Q9ed=(YCs zP|Foxr!Lsn1df-W-?_@6uj&GjBCl4y9*KtV{-~VOz`)Knme7jQPenzhGdicKkcjX$dhp!ia3~ClyC9;ptYemox zD~*L%1Yd}6)N0+Y|L$_c)I;Sbr(JWLyNhp@{Qt)hQxAP_w(AOw{BHGP+EY+)t;cKB zrgxB94p1oFTb!CN-yFy3$Sz9wsk`JwRt8-M)vU55u~Ywoqu_mVDA)V=pP_3& zVZs^8RUaP%D*7EcL%HJFRYNpuWTyly{ZJYJ6THv=t8@+6MVd9TUrxJ*^5td7mYm-6 z={7hn38VwG#3BD>cEr>}_4Y45zPf#++T39K-qclpK=segT&Jmro^Rs}<(hw6Ekv^> zZ+5`a4^Tl+6|m>J<_~LmbHn(Z(A2p1rhR{?W(~N!{|PGZpMxra`Ro5Eg)RMXKals{ z@p|FUQ=`p{*xx^1|8?q%+CQcHg!cOGITs$ZO2jUn^WMg|;|pHMzAim0vp0EfpW{XA zYp*3l_A2h`bJRp`$>{E%ySdNtV)bT_?APrWvXX1x$?E-oXT3_qj_og~U;xz?50gQ` z_Z^(u%746$m}(W@8KPP9zTjnf$oE&XEPuRZ3(?$TZoSa!;b%}DI1egE>_Fwnj~Y-p zviIix&QQ&b`z~ddo%_A`V2<3rWk3Dz9Q*zGw#D9xsxK)e)zM;_H)LcH(k+}o*bO)`Txz2pBFDbOewID z?mItg?dFd+W9IyuemJxEJ^$H9E7jl1+E$spthbY}on=#RD7W?5?uEhiKYv}3*SY_7 z>C678ufHchdnV6y?!$*yM$fjF+Sx?gweDUjzP|tK+ou}e&(GVJ@$}VvGj6vXb=UvC z{Jc89PW{KTi{g(@ru(zK6>V9x=KIVCJoVcYPTjtpqkFu1&%XKJ zi;JoADz5x{Q8KGf-%G~V{ja+B^4gh7@kck^ezTQP-shHg&9!CApH|fR+j!?!zxnPL z?b)aPck<20kIh_VzP7KIKfiz0T$}1YB?UI~zN8=iRz3gw@@Dt*Z0XG>ZSHQjOf|5G zHhb>*zha)&_I(-of4@fBU2(56+7(gx#qz>}`o9j(CLMbI^y);b%O8)v`T5#ecF(@g zug(9~*0z1_KKWClbmQse72T_2g+55H*Z%ZkJJNX{JMLjd>zVyk3 zky&!*-JPe4A6`AWxBlLzzv;T>wzKNKC2cXtiTAa9YVq$_`Q|Sr_0^RzGiNWHd!ffa zwJPKNla!K+_dL@Js_b^#Id)ym?Eid>`O2oK+xmL_pRF!=hksGaikmI7<-65vn|*)o zFFt+IYTt#---j1FK5`QNnZNgVT#d+m9oa37@q4z+t~jyI_ON|Nj)6_K``*Q$PZm^F zUFmCoD{k3;=G%`aDONLTd6#+EB)$I=r>DGsTJ+Bcw;F0J>-We^oB!o}*m`?Yz5UJX zf3)xX-@W(V&&A(D*MDcb^X*lUvHYCV73+`YKJ=)p`Ir*<^WD={S=-8K7k*aVWP8M` zzutb<-;$j|HL-0$D5+;>)N*VXI$_8GpDo%MVj@0HiHo%iluvSnNJk6-OA zx7YuhTdnlYWnNWv^4D4K9^{zKiI2J*W7hNL?d$Jg)t!qdnfdxju5G%`5B~H`c_EW$S*Nk+m*%p|#962*B&aY7R~j%LQExD`vl9~* zGMLjK$YN*rR_yU*IiZrs9{=e_f0RV_C?wSE%899+qkHW5&7>L_#oD;}=nsqNo_-jW zlJh=ShhO*D^3zE*yPn(=?)!MP^=LrJ&sR!KTly1fZs{I7emqI3e_g`=V}?RA<ulQ7pgqj3`d76S(=|3r?m^e z;b@X&yvg{e_2{9b4K>G-5)C8llIPs6aBZpS|1vren+J3YQdmT<18p zyj!@0)8o3c#N*4UhWlnj`S|}=9t)3WJQ(iqK~$io^~}2a7HqFq zOFW-&z|yAC_*%HL$}+L`uc1EH>MtI##Lig&vcE~s@j|L$MEub$(LMgVk0#WLUe@EB zquRJxrJ#>vpHkEMjtAOz>K{q0*=M21Z)iOy!CkzxeL8I2t)Fd* zS(=Y>KNg;Mfc>?!M7rOD!<;o1jr|HAHcIH!8=Px85Gi2c%_Q&nK$)}Vjd7w*y^3PJ zielUhS-%a+9CKI?PH(8;{r2juw$qy%={qC*7u-7d=&6mc+`$CHqd!{IKTMowxh0!_ z+y8?lg-q#w56<{M=y_Xja89iGsn#-Yff7y+@e9HRc9RacJJqliO9;N%vR?Dh@g$A1 zs+xJbzCQgSb+CYmZFTocgXjBO3?p=tKMOm}aW`l>z;6BCXX360EN{h{uUap=n`CiN zd|Up(5>8NYbR%qGXqz&^rGsQvf`Re1d`)Go#@Z~(ii1Q^|_+NzxZSii> z^Sq#{7<)d!r~h;D_VlEU9UOC%nVxezvN?2Iy!)G}`;Q2oYxAEw+r{tRo7Z>7-{FC< zzz-Jn4+pER$ecVpVFAc)&RtF(*E!l2alhURvb#zjWb3`|%o}mU^r2J1PXA8a_R~FC28 z!hB`-zh3v)rh2;Q>K!3xcg@?hIW=sB&ASse`O{7wP21g}zgnjF<`N$s*Y5g7~x_|nrBYQ(s-!EPD;&S*` z>2i4^OOrp6v+LH+Qd`^gO@8LhD?Bxei(_ZrPY*WRx%2oT-=lqbzWw>J*N$&jJHCBV zRm~K;eP1^`&#t*rWm}a!xkt)m-yiSeOO3MUL_TBAp_u_MbJB}O;x8~LS z+WOZzV(R9Z)nzlD_wHMg^K#$2+?Tf;t8VLTS$Du!X34+i+(+jUCtiI1YUk!xKlfH= z{MgfWCzoSi>wY`YZCBFkFYo&49)0LdYV_{iMqAo9&UP}J_F9KA#pc}E2d|R88{g~A zk!SMvn!4PrPWsCGobAz{dsktf_>-nc#7JTz?DGTCiy-o~lwQhz@tOVrjISncEZa>r`< zUANRw+k)z{RHryeKkdyvCzhUieeG$~Q*W`@SI1PQzkK68b<62SkI>vj`meVdt-g9i zBj{$<-3|S3!mg!RM*QcgBhp!<(BM| zeoc@8Z}8s!`POdMmA)a8)>Hp7?)l_4z5LB2tuKG? za@!XDd@v!cd_v;hB4*<^e!sY1{Cpa*x_^4+M4sycH>y{^FSvT`^1oH9D}|S4-Hv<9 zQ5r7ac&K-JUt{S_!5g1nN|a1z=Zcs6^w8^RWsaZl$*KoC#LwO4-TSd__r|#sZU^2w z>rr3%UqQ5X!^=5UZHbpd(_TfrHItiM#`QS2^7O;YcTN7aeB8Zq&)*-O)^qnh)L*bU zFYi}WRN$rZhzI%8G2eTLVM5Oylz5lf6cKzj|pJHNd znzgrF@=pI)ZY&{kEO*($c=>mXOnN=HdUEBB1d?veb6Dn9eogAdzQsxD^?|*=(xa}v V4cWl{KlMNJ!<|cf7X~sg001k(v3vjk literal 2417 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 diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js index e96ef7a91..bbb54d19f 100644 --- a/kubejs/server_scripts/primitive_creatures/loot.js +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -35,7 +35,7 @@ function registerPrimitiveCreaturesLoots(event) { Item.of('tfc:food/strawberry', 4), Item.of('tfc:food/wintergreen_berry', 5)]) .addAlternativesLoot( - LootEntry.of('gtceu:cobalt_brass_hoe').damage([0.3, 0.9]).when(c => c.randomChance(0.1)), + LootEntry.of('gtceu:cobalt_brass_hoe').damage([0.2, 0.5]).when(c => c.randomChance(0.1)), LootEntry.of('sns:straw_basket').when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)), @@ -54,7 +54,7 @@ function registerPrimitiveCreaturesLoots(event) { .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([3, 4], ['gtceu:tricalcium_phosphate_dust']) .addAlternativesLoot( - LootEntry.of('gtceu:cobalt_brass_mortar').damage([0.3, 0.9]).when(c => c.randomChance(0.3)), + LootEntry.of('gtceu:cobalt_brass_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)), LootEntry.of('firmalife:beeswax')) @@ -73,7 +73,7 @@ function registerPrimitiveCreaturesLoots(event) { .addWeightedLoot([0, 2], ['minecraft:flint']) .addWeightedLoot([1, 3], ['minecraft:bone']) .addAlternativesLoot( - LootEntry.of('gtceu:cobalt_brass_shovel').damage([0.3, 0.9]).when(c => c.randomChance(0.5)), + LootEntry.of('gtceu:cobalt_brass_shovel').damage([0.2, 0.5]).when(c => c.randomChance(0.5)), LootEntry.of('minecraft:skeleton_skull').when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:grh')) // battered wool event.addEntityLootModifier('primitive_creatures:iloger_3') @@ -91,7 +91,7 @@ function registerPrimitiveCreaturesLoots(event) { .addWeightedLoot([4, 8], ['firmalife:food/nightshade_berry']) .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addAlternativesLoot( - LootEntry.of('minecraft:bow').damage([0.3, 0.9]).when(c => c.randomChance(0.5)), + LootEntry.of('minecraft:bow').damage([0.2, 0.5]).when(c => c.randomChance(0.5)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)), LootEntry.of('sns:quiver')) @@ -129,7 +129,7 @@ function registerPrimitiveCreaturesLoots(event) { .addWeightedLoot([1, 2], ['primitive_creatures:f_1']) // primitive explosives .addWeightedLoot([2, 4], ['minecraft:gunpowder']) .addAlternativesLoot( - LootEntry.of('gtceu:cobalt_brass_mortar').damage([0.5, 0.9]).when(c => c.randomChance(0.3)), + LootEntry.of('gtceu:cobalt_brass_mortar').damage([0.2, 0.5]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:grh')) // battered wool @@ -147,7 +147,7 @@ function registerPrimitiveCreaturesLoots(event) { .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([0, 2], ['primitive_creatures:grh']) // battered wool .addAlternativesLoot( - LootEntry.of('gtceu:cobalt_brass_butchery_knife').damage([0.3, 0.9]).when(c => c.randomChance(0.3)), + LootEntry.of('gtceu:cobalt_brass_butchery_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)), LootEntry.of('minecraft:lead')) @@ -181,7 +181,7 @@ function registerPrimitiveCreaturesLoots(event) { .addWeightedLoot([2, 3], ['tfg:food/raw_long_pig_filet']) .addWeightedLoot([2, 4], ['minecraft:emerald']) .addAlternativesLoot( - LootEntry.of('gtceu:cobalt_brass_knife').damage([0.3, 0.7]).when(c => c.randomChance(0.3)), + LootEntry.of('gtceu:cobalt_brass_knife').damage([0.2, 0.5]).when(c => c.randomChance(0.3)), LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.05)), LootEntry.of('primitive_creatures:grh')) // battered wool) diff --git a/kubejs/server_scripts/tfg/loot.js b/kubejs/server_scripts/tfg/loot.js index bde84e8cc..173f8e745 100644 --- a/kubejs/server_scripts/tfg/loot.js +++ b/kubejs/server_scripts/tfg/loot.js @@ -9,7 +9,7 @@ function registerTFGLoots(event) { .removeLoot(Ingredient.all) //ore .pool((pool) => { - pool.rolls([4, 6]); + pool.rolls([2, 4]); pool.addAlternativesLoot( LootEntry.of('tfc:ore/normal_bismuthinite').when((c) => c.randomChance(0.1)), LootEntry.of('tfc:ore/rich_bismuthinite').when((c) => c.randomChance(0.2)), @@ -39,7 +39,7 @@ function registerTFGLoots(event) { }) //seeds .pool((pool) => { - pool.rolls([2, 8]); + pool.rolls([2, 4]); pool.addAlternativesLoot( LootEntry.of('tfc:seeds/onion').when((c) => c.randomChance(0.2)), LootEntry.of('tfc:seeds/cabbage').when((c) => c.randomChance(0.2)), From 5d4fd1c739714a7e5181741c14137a92651ce8c0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 19:39:06 +0000 Subject: [PATCH 549/628] more stuff for the volcano biome --- .../ambientsounds/basic/regions/venus.json | 4 +- .../betterend/blockstates/shadow_plant.json | 12 +++ .../betterend/blockstates/twisted_vine.json | 10 +- kubejs/assets/betterend/lang/en_us.json | 3 +- .../models/block/shadow_plant_1.json | 6 ++ .../models/block/shadow_plant_2.json | 6 ++ .../models/block/shadow_plant_3.json | 6 ++ .../models/block/shadow_plant_4.json | 6 ++ .../models/block/shadow_plant_5.json | 6 ++ .../models/block/shadow_plant_6.json | 6 ++ .../models/block/twisted_vine_bottom_1.json | 6 ++ .../models/block/twisted_vine_bottom_2.json | 6 ++ .../models/block/twisted_vine_middle_1.json | 6 ++ .../models/block/twisted_vine_middle_2.json | 6 ++ .../models/block/twisted_vine_top.json | 76 +++++++++++++ .../betterend/models/item/shadow_plant.json | 6 ++ .../betterend/textures/block/twisted_vine.png | Bin 328 -> 368 bytes .../textures/block/twisted_vine_bottom.png | Bin 294 -> 299 bytes .../textures/block/twisted_vine_roots.png | Bin 277 -> 370 bytes .../assets/tfg/blockstates/lava_source.json | 7 ++ .../assets/tfg/blockstates/smoker_source.json | 7 ++ kubejs/assets/tfg/lang/en_us.json | 6 +- kubejs/assets/tfg/lang/uk_ua.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 2 +- .../assets/tfg/models/block/lava_source.json | 65 +++++++++++ .../tfg/models/block/smoker_source.json | 65 +++++++++++ .../assets/tfg/models/item/lava_source.json | 6 ++ .../assets/tfg/models/item/smoker_source.json | 6 ++ .../block/planets/venus/lava_source.png | Bin 0 -> 506 bytes .../block/planets/venus/smoker_source.png | Bin 0 -> 452 bytes kubejs/data/ad_astra/dimension/venus.json | 6 +- ...ountains.json => scorching_volcanoes.json} | 21 +++- .../venus/surface/geyser_source_patch.json | 101 +++++++++--------- .../venus/surface/lava_source_patch.json | 44 ++++++++ .../venus/surface/shadow_plant_patch.json | 44 ++++++++ .../venus/surface/smoker_source_patch.json | 44 ++++++++ .../venus/surface/sulfur_crystals.json | 66 ++++++++---- .../venus/surface/twisted_vine.json | 43 ++++++++ .../venus/terrain/basalt_columns_large.json | 19 ++++ .../venus/terrain/basalt_columns_small.json | 13 +++ .../worldgen/noise_settings/venus_noise.json | 19 +++- .../venus/surface/geyser_source_patch.json | 38 ++----- .../venus/surface/lava_source_patch.json | 15 +++ .../venus/surface/shadow_plant_patch.json | 15 +++ .../venus/surface/smoker_source_patch.json | 15 +++ .../venus/surface/twisted_vine.json | 19 ++++ .../venus/terrain/basalt_columns_large.json | 19 ++++ .../venus/terrain/basalt_columns_small.json | 19 ++++ .../venus/terrain/basalt_pillar.json | 27 +++++ kubejs/server_scripts/tfg/venus/tags.venus.js | 5 +- .../server_scripts/tfg/worldgen/entities.js | 7 ++ .../tfg/worldgen/select_climates.js | 7 ++ kubejs/startup_scripts/tfg/constants.js | 2 +- .../tfg/venus/blocks.venus_deco.js | 38 +++++++ .../tfg/worldgen/register_climates.js | 37 ++++++- 55 files changed, 896 insertions(+), 124 deletions(-) create mode 100644 kubejs/assets/betterend/blockstates/shadow_plant.json create mode 100644 kubejs/assets/betterend/models/block/shadow_plant_1.json create mode 100644 kubejs/assets/betterend/models/block/shadow_plant_2.json create mode 100644 kubejs/assets/betterend/models/block/shadow_plant_3.json create mode 100644 kubejs/assets/betterend/models/block/shadow_plant_4.json create mode 100644 kubejs/assets/betterend/models/block/shadow_plant_5.json create mode 100644 kubejs/assets/betterend/models/block/shadow_plant_6.json create mode 100644 kubejs/assets/betterend/models/block/twisted_vine_bottom_1.json create mode 100644 kubejs/assets/betterend/models/block/twisted_vine_bottom_2.json create mode 100644 kubejs/assets/betterend/models/block/twisted_vine_middle_1.json create mode 100644 kubejs/assets/betterend/models/block/twisted_vine_middle_2.json create mode 100644 kubejs/assets/betterend/models/block/twisted_vine_top.json create mode 100644 kubejs/assets/betterend/models/item/shadow_plant.json create mode 100644 kubejs/assets/tfg/blockstates/lava_source.json create mode 100644 kubejs/assets/tfg/blockstates/smoker_source.json create mode 100644 kubejs/assets/tfg/models/block/lava_source.json create mode 100644 kubejs/assets/tfg/models/block/smoker_source.json create mode 100644 kubejs/assets/tfg/models/item/lava_source.json create mode 100644 kubejs/assets/tfg/models/item/smoker_source.json create mode 100644 kubejs/assets/tfg/textures/block/planets/venus/lava_source.png create mode 100644 kubejs/assets/tfg/textures/block/planets/venus/smoker_source.png rename kubejs/data/tfg/worldgen/biome/venus/{volcanic_mountains.json => scorching_volcanoes.json} (85%) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/lava_source_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/shadow_plant_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/smoker_source_patch.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/twisted_vine.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_large.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/terrain/basalt_columns_small.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/lava_source_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/shadow_plant_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/smoker_source_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/twisted_vine.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/basalt_columns_large.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/basalt_columns_small.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/terrain/basalt_pillar.json diff --git a/kubejs/assets/ambientsounds/basic/regions/venus.json b/kubejs/assets/ambientsounds/basic/regions/venus.json index 4cec2093a..b52db9052 100644 --- a/kubejs/assets/ambientsounds/basic/regions/venus.json +++ b/kubejs/assets/ambientsounds/basic/regions/venus.json @@ -10,7 +10,9 @@ "geysers", "salt_flats", "sulfuric_ravine", - "fumaroles" + "fumaroles", + "jagged_tablelands", + "scorching_volcanoes" ], "sounds": [ { diff --git a/kubejs/assets/betterend/blockstates/shadow_plant.json b/kubejs/assets/betterend/blockstates/shadow_plant.json new file mode 100644 index 000000000..08fb1caee --- /dev/null +++ b/kubejs/assets/betterend/blockstates/shadow_plant.json @@ -0,0 +1,12 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/shadow_plant_1" }, + { "model": "betterend:block/shadow_plant_2" }, + { "model": "betterend:block/shadow_plant_3" }, + { "model": "betterend:block/shadow_plant_4" }, + { "model": "betterend:block/shadow_plant_5" }, + { "model": "betterend:block/shadow_plant_6" } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/betterend/blockstates/twisted_vine.json b/kubejs/assets/betterend/blockstates/twisted_vine.json index 718311e23..b713a16a7 100644 --- a/kubejs/assets/betterend/blockstates/twisted_vine.json +++ b/kubejs/assets/betterend/blockstates/twisted_vine.json @@ -1,13 +1,15 @@ { "variants": { - "shape=top": { "model": "betterend:block/twisted_vine_top" }, - "shape=middle": [ + "height=0": { "model": "betterend:block/twisted_vine_top" }, + "height=1": [ { "model": "betterend:block/twisted_vine_middle_1" }, { "model": "betterend:block/twisted_vine_middle_2" } ], - "shape=bottom": [ + "height=2": [ { "model": "betterend:block/twisted_vine_bottom_1" }, { "model": "betterend:block/twisted_vine_bottom_2" } - ] + ], + "height=3": { "model": "" }, + "height=4": { "model": "" } } } diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json index fcb9d958b..11244c122 100644 --- a/kubejs/assets/betterend/lang/en_us.json +++ b/kubejs/assets/betterend/lang/en_us.json @@ -87,6 +87,7 @@ "block.betterend.shadow_berry": "Nox Berries", "block.betterend.shadow_berry_wild": "Wild Nox Berries", "block.betterend.shadow_berry_dead": "Dead Nox Berries", + "block.betterend.shadow_plant": "Blackened Ashgrass", "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom", "block.betterend.sulphur_crystal": "Sulfur Crystal", "block.betterend.sulphuric_rock": "Raw Ignimbrite", @@ -98,7 +99,7 @@ "block.betterend.twisted_moss": "Twisted Moss", "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss", "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss", - "block.betterend.twisted_vine": "Twisted Vine", + "block.betterend.twisted_vine": "Carbonic Vine", "block.betterend.umbrella_moss": "Umbrella Moss", "block.betterend.umbrella_moss_tall": "Umbrella Moss", "block.betterend.vaiolush_fern": "Vaiolush Fern", diff --git a/kubejs/assets/betterend/models/block/shadow_plant_1.json b/kubejs/assets/betterend/models/block/shadow_plant_1.json new file mode 100644 index 000000000..8966a93e7 --- /dev/null +++ b/kubejs/assets/betterend/models/block/shadow_plant_1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/shadow_plant" + } +} diff --git a/kubejs/assets/betterend/models/block/shadow_plant_2.json b/kubejs/assets/betterend/models/block/shadow_plant_2.json new file mode 100644 index 000000000..e5b0883c7 --- /dev/null +++ b/kubejs/assets/betterend/models/block/shadow_plant_2.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_inverted", + "textures": { + "cross": "betterend:block/shadow_plant" + } +} diff --git a/kubejs/assets/betterend/models/block/shadow_plant_3.json b/kubejs/assets/betterend/models/block/shadow_plant_3.json new file mode 100644 index 000000000..747d552e8 --- /dev/null +++ b/kubejs/assets/betterend/models/block/shadow_plant_3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/shadow_plant_potted" + } +} diff --git a/kubejs/assets/betterend/models/block/shadow_plant_4.json b/kubejs/assets/betterend/models/block/shadow_plant_4.json new file mode 100644 index 000000000..33760a4c8 --- /dev/null +++ b/kubejs/assets/betterend/models/block/shadow_plant_4.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_inverted", + "textures": { + "cross": "betterend:block/shadow_plant_potted" + } +} diff --git a/kubejs/assets/betterend/models/block/shadow_plant_5.json b/kubejs/assets/betterend/models/block/shadow_plant_5.json new file mode 100644 index 000000000..27fc96c3f --- /dev/null +++ b/kubejs/assets/betterend/models/block/shadow_plant_5.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_inverted", + "textures": { + "cross": "betterend:block/tail_moss" + } +} diff --git a/kubejs/assets/betterend/models/block/shadow_plant_6.json b/kubejs/assets/betterend/models/block/shadow_plant_6.json new file mode 100644 index 000000000..e2110fee0 --- /dev/null +++ b/kubejs/assets/betterend/models/block/shadow_plant_6.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "betterend:block/tail_moss" + } +} diff --git a/kubejs/assets/betterend/models/block/twisted_vine_bottom_1.json b/kubejs/assets/betterend/models/block/twisted_vine_bottom_1.json new file mode 100644 index 000000000..c64d397a7 --- /dev/null +++ b/kubejs/assets/betterend/models/block/twisted_vine_bottom_1.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion", + "textures": { + "texture": "betterend:block/twisted_vine_bottom" + } +} diff --git a/kubejs/assets/betterend/models/block/twisted_vine_bottom_2.json b/kubejs/assets/betterend/models/block/twisted_vine_bottom_2.json new file mode 100644 index 000000000..13696d557 --- /dev/null +++ b/kubejs/assets/betterend/models/block/twisted_vine_bottom_2.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion_inverted", + "textures": { + "texture": "betterend:block/twisted_vine_bottom" + } +} diff --git a/kubejs/assets/betterend/models/block/twisted_vine_middle_1.json b/kubejs/assets/betterend/models/block/twisted_vine_middle_1.json new file mode 100644 index 000000000..50cd9cb87 --- /dev/null +++ b/kubejs/assets/betterend/models/block/twisted_vine_middle_1.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion", + "textures": { + "texture": "betterend:block/twisted_vine" + } +} diff --git a/kubejs/assets/betterend/models/block/twisted_vine_middle_2.json b/kubejs/assets/betterend/models/block/twisted_vine_middle_2.json new file mode 100644 index 000000000..eb0a34031 --- /dev/null +++ b/kubejs/assets/betterend/models/block/twisted_vine_middle_2.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion_inverted", + "textures": { + "texture": "betterend:block/twisted_vine" + } +} diff --git a/kubejs/assets/betterend/models/block/twisted_vine_top.json b/kubejs/assets/betterend/models/block/twisted_vine_top.json new file mode 100644 index 000000000..c6cbd1d12 --- /dev/null +++ b/kubejs/assets/betterend/models/block/twisted_vine_top.json @@ -0,0 +1,76 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/twisted_vine", + "texture": "betterend:block/twisted_vine", + "roots": "betterend:block/twisted_vine_roots" + }, + "elements": [ + { + "__comment": "PlaneX1", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 13.75, 0, 2.25 ], + "to": [ 13.751, 16, 18.25 ], + "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX4", + "from": [ 5, 0, 0.5 ], + "to": [ 5.001, 16, 16.5 ], + "rotation": { "origin": [ 5, 0, 0.5 ], "axis": "y", "angle": 22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + }, + { + "__comment": "PlaneZ5", + "from": [ 0.5, 0, 11 ], + "to": [ 16.5, 16, 11.001 ], + "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + }, + { + "__comment": "PlaneX4", + "from": [ 11, 0, 0.5 ], + "to": [ 11.001, 16, 16.5 ], + "rotation": { "origin": [ 11, 0, 0.5 ], "axis": "y", "angle": -22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + }, + { + "__comment": "PlaneZ5", + "from": [ 0.5, 0, 5 ], + "to": [ 16.5, 16, 5.001 ], + "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/item/shadow_plant.json b/kubejs/assets/betterend/models/item/shadow_plant.json new file mode 100644 index 000000000..e7b848fa4 --- /dev/null +++ b/kubejs/assets/betterend/models/item/shadow_plant.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/shadow_plant" + } +} diff --git a/kubejs/assets/betterend/textures/block/twisted_vine.png b/kubejs/assets/betterend/textures/block/twisted_vine.png index 9403574843b777f53648bf9ec26586fe064c552f..47a64f263a60569c4f89e5199279d352343f5de1 100644 GIT binary patch delta 352 zcmX@X^nq!DWIY=L1B3kM|A`C?44efXk;M!Q+`=Ht$S`Y;1Oo%3lBbJfh(+(zNe5Ro zC5W`x>o*E=bhdD3PTZj#{_dYx>IJpiA{a?{QEyK z&7xT1#et6%Q~uWJGpu`kDsA&by*Tx*MHiktEz-RFGK67U{q41L{Fc`(_GfN5nzS&z za^7~IIy>G~tBhuC&z!{|(I#go)yt;JsL-Xv$kF7$aB9;ZIYmz)&chpAXPr$u%vWJI z-*n^2oXBZwuD?!XyZ(Bs>z3T;|Bo%Esd)bCy=PoCPo3et^qu$LAJ#Gy$hdRoZNL5h zh?nL}AGN)U>}@kXRPBwdu$%8z+^x~|q`-pbcGC9SoCmVD3N`$!S=X95t1drjT58bs zt&ATkYc#mjaSWGr~sQESZh z<>YAxr@0OZbGwp*t6KN4h@IHn*wVI}=jZ8dJwF~v`^#9QT$VHXyn*M0_VjrglBL-m zM~>7Vur5kSnL5o-(0pA)&BfIDrN&Y!Zz?l2qHBycpV}tr%pStY^2o@bu)SkjHjm5% zVU8=O4(t`x+Tz2pOlQWf-G;YP+Ozv}g{0po2k%~O>vAQd;7Ob2^SH`mD=NP8AMrT$ VIh=XIQ3eJE22WQ%mvv4FO#p9Ai%I|h diff --git a/kubejs/assets/betterend/textures/block/twisted_vine_bottom.png b/kubejs/assets/betterend/textures/block/twisted_vine_bottom.png index 44dfe5ad5f6d16174887d1d1a9413c02c34e5fbe..c1518f352e691de1e0b84db21e787370fc69377d 100644 GIT binary patch delta 283 zcmZ3+w3=yxWIY=L1B3kM|A`C?44efXk;M!Q+`=Ht$S`Y;1Oo%ZT~8Os5R2Zk6BqWi z8i=^Ghq9D6=Ljrte5l8zQmVqjqR80j_^G~z^?sAmPXCKGpURvov)oPJ&Uv{-{KxgE zX|BsMC#`>2{I`^YL13bZZ?gD;twD%ecAaxLqZ25? nSul6f)+s?nb}!BMGKkoCh1eaMxxto!fq}u()z4*}Q$iB}hHP^I delta 278 zcmZ3@w2WzjWIYQ51H;x|=C2qS7~XoiIEGZrX`Qg!?{I*Ci+^v&qt_0pOB?!PJ~gO_ zG_rZ!QB>4m_&9+l$g5uB|3UqUKLP}rWH}dVZkw@q?p)Wpkix{Y_Ab?+kDVt@)uiVg z+GpIZv$MEM=hcC|n${(AEmIulN2_b6o38WqcwzP6f~I(%gh{=*Ou@?=9tDRwgZnHO ztzy<}^hlYmo6aY>_KoQVmw7!)O5PYg+kSi3qs{AWieAk)BWUz}4c`gwozK0}HuP?( zC}6H|E^3ynR@<^;lb|AV(|rf8`*$Mxe>iaE@vt%7c2V;D%%-Wq!{WuQa_Jt+k|i6q lsJK_1_5ZiFzEPi(^RmNi{uloiGcYhPc)I$ztaD0e0sy}Zc&`8e diff --git a/kubejs/assets/betterend/textures/block/twisted_vine_roots.png b/kubejs/assets/betterend/textures/block/twisted_vine_roots.png index a68c549b74b79940b8588d6e4dbbe8b860162934..8dcb9b9166192140ce36284882f3b30437ad1ac0 100644 GIT binary patch delta 354 zcmbQr^oePLWIY=L1B3kM|A`C?44efXk;M!Q+`=Ht$S`Y;1Oo%3il>WXh(+(#e%ri5 z4g#(Ai(?Wj8>E9HnWR!O?gl1E^*Crx&^^-6dVKN1$6|L_Gz?~mT+Dl8v2jAcvYB(g zKdaq+I&HIH!{LVtzyHQD^rTrGDBCUCa5pb~tIp{b6JOT)4R>3vz1|wj60tU{%q(t_ zO8hKN=8Uy(D>p`P94OkUb8ySGPr=H4$&543KUYn*n#*+{$87Vj6eG=c#$%5+GPneW zm~xv+^?KDEmRWaQo8kE5i;{fp^-k};S7&Z(IQ}^C=;fDBS`vR~FWJF<;lu^|N@yHl5Ms;#l`ogF^kXN#rv z{B=Fixu#`d>t*!n*PeN(>KAysD05$R`kjiI`dfQDqW^p-d-BRFce>?;I(FZ8>vX=p z&6T|Ur{w#wh@I6-=8Ei(nQ3;}&o1g?NRs<()h{P*{ya4K%gG42+)Mi|$@#V0D{d+Y VmJ8x6Vqjok@O1TaS?83{1OV!Of2{xj diff --git a/kubejs/assets/tfg/blockstates/lava_source.json b/kubejs/assets/tfg/blockstates/lava_source.json new file mode 100644 index 000000000..53b3726e0 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/lava_source.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/lava_source" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/smoker_source.json b/kubejs/assets/tfg/blockstates/smoker_source.json new file mode 100644 index 000000000..1de3f05c2 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/smoker_source.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/smoker_source" + } + } +} \ 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 ef111dc2e..37a394129 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -43,7 +43,7 @@ "biome.tfg.venus/salt_flats": "Salt Flats", "biome.tfg.venus/stromatolite_beach": "Stromatolite Beach", "biome.tfg.venus/sulfuric_ravine": "Sulfuric Ravine", - "biome.tfg.venus/volcanic_mountains": "Scorching Volcanoes", + "biome.tfg.venus/scorching_volcanoes": "Scorching Volcanoes", "block.tfg.piglin_disguise": "Piglin Disguise", "block.tfg.piglin_disguise_block": "Piglin Disguise", "block.tfg.dry_ice": "Dry Ice", @@ -459,6 +459,10 @@ "block.tfg.stromatolite_cluster_medium": "Large Stromatolite Cluster", "block.tfg.rock.raw.geyserite": "Raw Geyserite", "block.tfg.rock.spike.geyserite": "Geyserite Spike", + "block.tfg.geyser_source_small": "Small Steaming Geyser", + "block.tfg.geyser_source": "Steaming Geyser", + "block.tfg.smoker_source": "Volcanic Smoker", + "block.tfg.lava_source": "Lava Vent", "block.tfg.rock.halite": "Halite", "block.tfg.mushroom_roots": "Mushroom Roots", "block.tfg.mushroom_sprouts": "Mushroom Sprouts", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index b970c20a3..333c4a8d4 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -43,7 +43,7 @@ "biome.tfg.venus/salt_flats": "Соляні рівнини", "biome.tfg.venus/stromatolite_beach": "Строматолітовий пляж", "biome.tfg.venus/sulfuric_ravine": "Сірчаний яр", - "biome.tfg.venus/volcanic_mountains": "Палючі вулкани", + "biome.tfg.venus/scorching_volcanoes": "Палючі вулкани", "block.tfg.piglin_disguise": "Маскування Пігліна", "block.tfg.piglin_disguise_block": "Маскування Пігліна", "block.tfg.dry_ice": "Сухий лід", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index aaec701fd..e2bdc744f 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -43,7 +43,7 @@ "biome.tfg.venus/salt_flats": "盐滩", "biome.tfg.venus/stromatolite_beach": "叠层石滩", "biome.tfg.venus/sulfuric_ravine": "硫酸峡谷", - "biome.tfg.venus/volcanic_mountains": "灼热火山", + "biome.tfg.venus/scorching_volcanoes": "灼热火山", "block.tfg.piglin_disguise": "猪灵伪装", "block.tfg.piglin_disguise_block": "猪灵伪装", "block.tfg.dry_ice": "干冰", diff --git a/kubejs/assets/tfg/models/block/lava_source.json b/kubejs/assets/tfg/models/block/lava_source.json new file mode 100644 index 000000000..48139f706 --- /dev/null +++ b/kubejs/assets/tfg/models/block/lava_source.json @@ -0,0 +1,65 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "render_type": "cutout_mipped", + "textures": { + "0": "tfg:block/planets/venus/lava_source", + "particle": "tfg:block/planets/venus/lava_source" + }, + "elements": [ + { + "from": [0.8, 0, 8], + "to": [15.2, 16, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0.8], + "to": [8, 16, 15.2], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 2.5], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 2.5], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [0, 2, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "translation": [0, 2, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/smoker_source.json b/kubejs/assets/tfg/models/block/smoker_source.json new file mode 100644 index 000000000..c8969467c --- /dev/null +++ b/kubejs/assets/tfg/models/block/smoker_source.json @@ -0,0 +1,65 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "render_type": "cutout_mipped", + "textures": { + "0": "tfg:block/planets/venus/smoker_source", + "particle": "tfg:block/planets/venus/smoker_source" + }, + "elements": [ + { + "from": [0.8, 0, 8], + "to": [15.2, 16, 8], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + }, + { + "from": [8, 0, 0.8], + "to": [8, 16, 15.2], + "shade": false, + "rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8], "rescale": true}, + "faces": { + "north": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 2.5], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 2.5], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "translation": [0, 2, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "translation": [0, 2, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/lava_source.json b/kubejs/assets/tfg/models/item/lava_source.json new file mode 100644 index 000000000..1b4b23d49 --- /dev/null +++ b/kubejs/assets/tfg/models/item/lava_source.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:block/planets/venus/lava_source" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/smoker_source.json b/kubejs/assets/tfg/models/item/smoker_source.json new file mode 100644 index 000000000..9f6860a25 --- /dev/null +++ b/kubejs/assets/tfg/models/item/smoker_source.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:block/planets/venus/smoker_source" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/planets/venus/lava_source.png b/kubejs/assets/tfg/textures/block/planets/venus/lava_source.png new file mode 100644 index 0000000000000000000000000000000000000000..cc2c1ce2dcde92ac66e8bd43dbbfc21a91d1f644 GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_s78o-U3d7QJsL`DY6UiX5%ie-dwPym8CrYh}S+QCl;)l~iZvu#~4MH|eoVuVeem zRVQfP^h@y0k*OY~iDJ%L3%OM1nw??ckkL*hQ7Z3Pyg;-<4x{)_H?#$;XM5v z4c2R4Kbw?VtfuNYD?o4Bjs2U>zuqp(kSDjL;@6viTEp z7TP5+eppd^y5_?!hBrCaI2X-$+goL4*yAj7dSO~LOJL6_wJBbyaix5&f(aV#Z*s0h z#_sC5{{G|BFD;?hQy=gPG&pYF^u$Qw*NPk_2a)#8!g=yB##*xlTnyv(vp4MC&|tuJ zeA7?1md7oRC!fEP!_6>N>rkPQ@ee82A3@K~*=J4C5@=H3D0ucf;H6GLyqDI~Q|Ikx zWc6N@ia%Ae%S*J`c)r)lu2Ui@O)IapJZ4F+JcT}+-#PgHh*DF>hP!$HGd_L2 z$#HmsMIYmixb?O5d*f!Wd+l-g%CB?Ve;ml#YP9eD+_;|tq#9R(I_efG14=}WZcQVSWry?G29Zol=BXzMwiylb6umy+Ld z;pwMaE&3#R*q&7O1#zAK{6lU7>xP>-XMWbODRe2VT9srr`>XKjO-H`h+MHj!N^91# zgWGa1nQYz1;L@VeHN$VY#?l@4-}|Tu%k{G}#9kL { case "ad_astra:venus": newHP = 70; } } + else if (type === "minecraft:magma_cube") { + switch (dimension) { + // use default for beneath + case "ad_astra:venus": newHp = entity.health * 6; + } + } if (newHP === 0) return; diff --git a/kubejs/server_scripts/tfg/worldgen/select_climates.js b/kubejs/server_scripts/tfg/worldgen/select_climates.js index 0fda74bd9..d31b1ecb7 100644 --- a/kubejs/server_scripts/tfg/worldgen/select_climates.js +++ b/kubejs/server_scripts/tfg/worldgen/select_climates.js @@ -14,9 +14,16 @@ TFCEvents.selectClimateModel(event => { event.setModel('tfg:mars_climate'); break; + case 'ad_astra:venus': + event.setModel('tfg:venus_climate'); + break; + case 'ad_astra:earth_orbit': case 'ad_astra:moon_orbit': case 'ad_astra:mars_orbit': + case 'ad_astra:venus_orbit': + case 'ad_astra:mercury_orbit': + case 'ad_astra:glacio_orbit': event.setModel('tfg:orbit_climate'); break; diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 630c96719..efbac9cbe 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -122,7 +122,7 @@ global.VENUS_BIOMES = [ 'tfg:venus/salt_flats', 'tfg:venus/stromatolite_beach', 'tfg:venus/sulfuric_ravine', - 'tfg:venus/volcanic_mountains' + 'tfg:venus/scorching_volcanoes' ] /** diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index 35f5341fa..e8a14ea49 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -24,6 +24,28 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .particleCount(2) .particleForced(false) + event.create('tfg:smoker_source', 'tfg:particle_emitter_decoration') + .soundType('dripstone_block') + .mapColor('color_gray') + .resistance(6) + .hardness(1.5) + .particleOffset(0.3, 1, 0.3) + .particleVelocity(0, 0.05, 0) + .particle('minecraft:campfire_cosy_smoke') + .particleCount(1) + .particleForced(false) + + event.create('tfg:lava_source', 'tfg:particle_emitter_decoration') + .soundType('dripstone_block') + .mapColor('color_black') + .resistance(6) + .hardness(1.5) + .particleOffset(0.3, 0.5, 0.3) + .particleVelocity(0, 0, 0) + .particle('lava') + .particleCount(1) + .particleForced(false) + //Geyserite event.create('tfg:rock/raw/geyserite', 'tfc:raw_rock') .textureAll('tfg:block/planets/venus/geyserite') @@ -285,4 +307,20 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 16, 13) .tagItem('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') + + event.create('betterend:shadow_plant', 'tfg:decorative_plant') + .soundType('crop') + .mapColor('color_black') + .box(2, 0, 2, 14, 13, 13) + .tagItem('tfg:venus_plants') + .tagBlock('tfg:do_not_destroy_in_space') + + event.create('betterend:twisted_vine', 'tfg:tall_decorative_plant') + .height(3) + .soundType('crop') + .mapColor('color_black') + .box(3, 0, 3, 13, 16, 13) + .tagItem('tfg:venus_plants') + .tagBlock('tfg:do_not_destroy_in_space') + } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/worldgen/register_climates.js b/kubejs/startup_scripts/tfg/worldgen/register_climates.js index 946e6d24a..4cee7a697 100644 --- a/kubejs/startup_scripts/tfg/worldgen/register_climates.js +++ b/kubejs/startup_scripts/tfg/worldgen/register_climates.js @@ -162,7 +162,7 @@ TFCEvents.registerClimateModel(event => { }) builder.setAirFog((level, pos, calendarTicks) => 0) - builder.setWaterFog((level, pos, calendarTicks) => 0.6) + builder.setWaterFog((level, pos, calendarTicks) => 0.02) builder.setWindVector((level, block, calendarTicks) => builder.vector(0, 0)) }) @@ -176,7 +176,7 @@ TFCEvents.registerClimateModel(event => { builder.setAverageTemperatureCalculation((level, pos) => -270) builder.setAverageRainfallCalculation((level, pos) => 0) builder.setAirFog((level, pos, calendarTicks) => 0) - builder.setWaterFog((level, pos, calendarTicks) => 0.25) + builder.setWaterFog((level, pos, calendarTicks) => 0.02) builder.setWindVector((level, block, calendarTicks) => builder.vector(0, 0)) }) @@ -192,7 +192,7 @@ TFCEvents.registerClimateModel(event => { builder.setAverageTemperatureCalculation((level, pos) => -5) builder.setAverageRainfallCalculation((level, pos) => 0) builder.setAirFog((level, pos, calendarTicks) => 0) - builder.setWaterFog((level, pos, calendarTicks) => 0.25) + builder.setWaterFog((level, pos, calendarTicks) => 0.02) builder.setWindVector((level, block, calendarTicks) => builder.vector(0, 0)) }) @@ -226,4 +226,35 @@ TFCEvents.registerClimateModel(event => { builder.setAirFog(controller.createFogCallback(builder)); builder.setWindVector(controller.createWindCallback(builder)); }) + + event.register('tfg:venus_climate', builder => { + + builder.setCurrentTemperatureCalculation((level, pos, calendarTicks, daysInMonth) => { + if (OxygenAPI.hasOxygen(level, pos.above())) { + return OXYGENATED_TEMP; + } + + let avgTemp = calcAverage(pos.z, global.VENUS_PLANET_SIZE, 454, 474); + return calcCurrentTemp(avgTemp, 58, pos.y, calendarTicks, 10, 670, 1); + }) + + builder.setAverageTemperatureCalculation((level, pos) => { + return calcAverage(pos.z, global.VENUS_PLANET_SIZE, 454, 474); + }) + + builder.setAverageRainfallCalculation((level, pos) => { + return 300; + }) + + builder.setAirFog((level, pos, calendarTicks) => 0) + builder.setWaterFog((level, pos, calendarTicks) => 0.6) + builder.setWindVector((level, block, calendarTicks) => { + const strength = Math.max(0, Math.sin(calendarTicks / 10000)) * 0.2; + + const newX = Math.cos(calendarTicks / 2400) * strength; + const newZ = Math.sin(calendarTicks / 2400) * strength; + + return builder.vector(newX, newZ); + }) + }) }) \ No newline at end of file From 651b779ac16ba6b6b1b9cdde6d6c61fc20c65b4f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 19:41:02 +0000 Subject: [PATCH 550/628] make illages spawn more spread out --- .../tfg/worldgen/structure_set/illagers/arabic_village.json | 6 +++--- .../tfg/worldgen/structure_set/illagers/illager_camps.json | 4 ++-- .../structure_set/illagers/illager_forest_roaming.json | 4 ++-- .../tfg/worldgen/structure_set/illagers/norse_village.json | 6 +++--- .../tfg/worldgen/structure_set/illagers/yurts_village.json | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json b/kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json index 2a74d0ac0..d72ea3701 100644 --- a/kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/arabic_village.json @@ -8,10 +8,10 @@ "placement": { "type": "tfc:climate", "salt": 26256356324, - "spacing": 40, - "separation": 30, + "spacing": 60, + "separation": 45, "climate": { - "min_temperature": 10, + "min_temperature": 8, "max_temperature": 25, "min_rainfall": 100, "max_rainfall": 250, diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json index 4096f4a32..9de015cb9 100644 --- a/kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json @@ -8,8 +8,8 @@ "placement": { "type": "tfc:climate", "salt": 96263635, - "spacing": 40, - "separation": 30, + "spacing": 50, + "separation": 40, "climate": { "min_temperature": -12, "max_temperature": 25, diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json index 7f55a757a..87d5252f3 100644 --- a/kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json @@ -8,8 +8,8 @@ "placement": { "type": "tfc:climate", "salt": 74256242524, - "spacing": 35, - "separation": 25, + "spacing": 40, + "separation": 30, "climate": { "min_temperature": -12, "max_temperature": 25, diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json b/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json index d04ff6361..3aab480c9 100644 --- a/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/norse_village.json @@ -12,11 +12,11 @@ "placement": { "type": "tfc:climate", "salt": 26256356324, - "spacing": 40, - "separation": 30, + "spacing": 60, + "separation": 45, "climate": { "min_temperature": -12, - "max_temperature": 8, + "max_temperature": 2, "min_rainfall": 250, "max_forest": "edge" } diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json b/kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json index f1a76756f..f4ea7425e 100644 --- a/kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/yurts_village.json @@ -8,11 +8,11 @@ "placement": { "type": "tfc:climate", "salt": 26256356324, - "spacing": 40, - "separation": 30, + "spacing": 60, + "separation": 45, "climate": { "min_temperature": -12, - "max_temperature": 8, + "max_temperature": 2, "min_rainfall": 100, "max_rainfall": 250, "max_forest": "edge" From 03d4e72202261f82de108769d52f92405bf7bc95 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 19:44:49 +0000 Subject: [PATCH 551/628] adjusted spacing of other ruins --- CHANGELOG.md | 1 + .../structure_set/ancient_monument_1.json | 4 +-- .../structure_set/limestone_church.json | 4 +-- .../worldgen/structure_set/tower_1.json | 4 +-- .../worldgen/structure_set/ruins.json | 26 +++++++++++++++++++ 5 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 kubejs/data/tfc_ruins/worldgen/structure_set/ruins.json diff --git a/CHANGELOG.md b/CHANGELOG.md index d95ad7435..3403fbd36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Added new steam multiblocks for the alloy smelter, compressor, forge hammer, and thermal centrifuge @Pyritie - Reduced the Y level that ad astra considers "space" so rocket launches are faster @Pyritie - Reduced the amount of loot vases in the newer illages, and reduced how much loot you get from them @Pyritie +- Illages and the smaller mud brick ruins are now a little rarer, and the stone brick ruins are a little more common ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie ### Translation updates diff --git a/kubejs/data/tfc_ruined_world/worldgen/structure_set/ancient_monument_1.json b/kubejs/data/tfc_ruined_world/worldgen/structure_set/ancient_monument_1.json index 3d4cf89c4..9b4106c08 100644 --- a/kubejs/data/tfc_ruined_world/worldgen/structure_set/ancient_monument_1.json +++ b/kubejs/data/tfc_ruined_world/worldgen/structure_set/ancient_monument_1.json @@ -11,8 +11,8 @@ ], "placement": { "salt": 1442136154, - "spacing": 50, - "separation": 30, + "spacing": 40, + "separation": 25, "type": "minecraft:random_spread" } } \ No newline at end of file diff --git a/kubejs/data/tfc_ruined_world/worldgen/structure_set/limestone_church.json b/kubejs/data/tfc_ruined_world/worldgen/structure_set/limestone_church.json index 8caa99546..f3d6a08b8 100644 --- a/kubejs/data/tfc_ruined_world/worldgen/structure_set/limestone_church.json +++ b/kubejs/data/tfc_ruined_world/worldgen/structure_set/limestone_church.json @@ -23,8 +23,8 @@ ], "placement": { "salt": 1442136151, - "spacing": 50, - "separation": 35, + "spacing": 45, + "separation": 25, "type": "minecraft:random_spread" } } \ No newline at end of file diff --git a/kubejs/data/tfc_ruined_world/worldgen/structure_set/tower_1.json b/kubejs/data/tfc_ruined_world/worldgen/structure_set/tower_1.json index 798b8ee98..d2d043efa 100644 --- a/kubejs/data/tfc_ruined_world/worldgen/structure_set/tower_1.json +++ b/kubejs/data/tfc_ruined_world/worldgen/structure_set/tower_1.json @@ -23,8 +23,8 @@ ], "placement": { "salt": 1442136152, - "spacing": 45, - "separation": 25, + "spacing": 35, + "separation": 15, "type": "minecraft:random_spread" } } \ No newline at end of file diff --git a/kubejs/data/tfc_ruins/worldgen/structure_set/ruins.json b/kubejs/data/tfc_ruins/worldgen/structure_set/ruins.json new file mode 100644 index 000000000..ea30d1eee --- /dev/null +++ b/kubejs/data/tfc_ruins/worldgen/structure_set/ruins.json @@ -0,0 +1,26 @@ +{ + "structures": [ + { + "structure": "tfc_ruins:ruin_small", + "weight": 4 + }, + { + "structure": "tfc_ruins:ruin_beach", + "weight": 3 + }, + { + "structure": "tfc_ruins:ruin_rich", + "weight": 2 + } + ], + "placement": { + "type": "minecraft:random_spread", + "salt": 9134739237, + "exclusion_zone": { + "other_set": "minecraft:strongholds", + "chunk_count": 6 + }, + "spacing": 35, + "separation": 10 + } +} \ No newline at end of file From 8ee28e76a67f51bc20bf622e8ba0611dc05882bd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 23:31:11 +0000 Subject: [PATCH 552/628] more venus stuff --- .../tfg/blockstates/pile/volcanic_ash.json | 28 +++++++ kubejs/assets/tfg/lang/en_us.json | 3 +- .../block/pile/volcanic_ash/ash_block.json | 6 ++ .../block/pile/volcanic_ash/ash_height10.json | 7 ++ .../block/pile/volcanic_ash/ash_height12.json | 7 ++ .../block/pile/volcanic_ash/ash_height14.json | 7 ++ .../block/pile/volcanic_ash/ash_height2.json | 7 ++ .../block/pile/volcanic_ash/ash_height4.json | 7 ++ .../block/pile/volcanic_ash/ash_height6.json | 7 ++ .../block/pile/volcanic_ash/ash_height8.json | 7 ++ .../tfg/models/item/pile/volcanic_ash.json | 3 + .../block/planets/venus/volcanic_ash.png | Bin 0 -> 373 bytes .../biome/venus/scorching_volcanoes.json | 10 ++- .../worldgen/biome/venus/sulfuric_ravine.json | 4 - .../venus/surface/pile_black_sand.json | 55 ++++++++++++++ .../venus/surface/pile_volcanic_ash.json | 55 ++++++++++++++ .../venus/terrain/ignimbrite_tube_worms.json | 43 ++++++++++- .../venus/terrain/ignimbrite_vents.json | 69 ++++++++++++------ .../venus/surface/pile_black_sand.json | 19 +++++ .../venus/surface/pile_volcanic_ash.json | 16 ++++ .../venus/terrain/thermal_vent.json | 6 +- kubejs/server_scripts/tfg/venus/tags.venus.js | 5 ++ .../server_scripts/tfg/worldgen/entities.js | 2 +- .../tfg/venus/blocks.venus_deco.js | 6 +- 24 files changed, 345 insertions(+), 34 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/pile/volcanic_ash.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_block.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height10.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height12.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height14.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height2.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height4.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height6.json create mode 100644 kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height8.json create mode 100644 kubejs/assets/tfg/models/item/pile/volcanic_ash.json create mode 100644 kubejs/assets/tfg/textures/block/planets/venus/volcanic_ash.png create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_black_sand.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_volcanic_ash.json diff --git a/kubejs/assets/tfg/blockstates/pile/volcanic_ash.json b/kubejs/assets/tfg/blockstates/pile/volcanic_ash.json new file mode 100644 index 000000000..e692796c4 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/pile/volcanic_ash.json @@ -0,0 +1,28 @@ +{ + "variants": { + "layers=1": { + "model": "tfg:block/pile/volcanic_ash/ash_height2" + }, + "layers=2": { + "model": "tfg:block/pile/volcanic_ash/ash_height4" + }, + "layers=3": { + "model": "tfg:block/pile/volcanic_ash/ash_height6" + }, + "layers=4": { + "model": "tfg:block/pile/volcanic_ash/ash_height8" + }, + "layers=5": { + "model": "tfg:block/pile/volcanic_ash/ash_height10" + }, + "layers=6": { + "model": "tfg:block/pile/volcanic_ash/ash_height12" + }, + "layers=7": { + "model": "tfg:block/pile/volcanic_ash/ash_height14" + }, + "layers=8": { + "model": "tfg:block/pile/volcanic_ash/ash_block" + } + } +} \ 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 37a394129..e8d54c66e 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -467,7 +467,7 @@ "block.tfg.mushroom_roots": "Mushroom Roots", "block.tfg.mushroom_sprouts": "Mushroom Sprouts", "block.tfg.charred_log": "Charred Log", - "block.tfg.ash_pile": "Ash Pile", + "block.tfg.ash_pile": "Wood Ash Pile", "block.tfg.pile.white_sand": "White Sand", "block.tfg.pile.black_sand": "Black Sand", "block.tfg.pile.brown_sand": "Brown Sand", @@ -482,6 +482,7 @@ "block.tfg.pile.venus_sand_covering": "Trachyte Sand", "block.tfg.pile.hematitic_sand": "Hematitic Sand", "block.tfg.pile.hematitic_sand_covering": "Hematitic Sand", + "block.tfg.pile.volcanic_ash": "Volcanic Ash Pile", "block.tfg.lunar_roots": "Lunar Lightblooms", "block.tfg.lunar_sprouts": "Lunar Lightgrass", "block.tfg.lunar_chorus_plant": "Chorus Plant", diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_block.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_block.json new file mode 100644 index 000000000..a4ad75964 --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height10.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height10.json new file mode 100644 index 000000000..7aad8a3c5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height10.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/ash_pile/ash_height10", + "textures": { + "particle": "tfg:block/planets/venus/volcanic_ash", + "texture": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height12.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height12.json new file mode 100644 index 000000000..6bf32c727 --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height12.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/ash_pile/ash_height12", + "textures": { + "particle": "tfg:block/planets/venus/volcanic_ash", + "texture": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height14.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height14.json new file mode 100644 index 000000000..6c760db71 --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height14.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/ash_pile/ash_height14", + "textures": { + "particle": "tfg:block/planets/venus/volcanic_ash", + "texture": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height2.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height2.json new file mode 100644 index 000000000..119ff312d --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height2.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/ash_pile/ash_height2", + "textures": { + "particle": "tfg:block/planets/venus/volcanic_ash", + "texture": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height4.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height4.json new file mode 100644 index 000000000..595ff167f --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height4.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/ash_pile/ash_height4", + "textures": { + "particle": "tfg:block/planets/venus/volcanic_ash", + "texture": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height6.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height6.json new file mode 100644 index 000000000..3b3b8b81d --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height6.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/ash_pile/ash_height6", + "textures": { + "particle": "tfg:block/planets/venus/volcanic_ash", + "texture": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height8.json b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height8.json new file mode 100644 index 000000000..dd568468a --- /dev/null +++ b/kubejs/assets/tfg/models/block/pile/volcanic_ash/ash_height8.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/ash_pile/ash_height8", + "textures": { + "particle": "tfg:block/planets/venus/volcanic_ash", + "texture": "tfg:block/planets/venus/volcanic_ash" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/pile/volcanic_ash.json b/kubejs/assets/tfg/models/item/pile/volcanic_ash.json new file mode 100644 index 000000000..9d59a55c3 --- /dev/null +++ b/kubejs/assets/tfg/models/item/pile/volcanic_ash.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/pile/volcanic_ash/ash_block" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/planets/venus/volcanic_ash.png b/kubejs/assets/tfg/textures/block/planets/venus/volcanic_ash.png new file mode 100644 index 0000000000000000000000000000000000000000..1f657c59b26470198a8073115aac32faeab9080f GIT binary patch literal 373 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_nlTPZ!4!i{8@7(OpjscwGG54>9Hcco(CPZ1~r3N?}zMlj61AtDe-<+Re8QWo_8K z`TMfnogClp{r?&&DtK`6%ol;mbMMYQvt;+o;!WSv&UvOKrOlA^cVXCYjmhF<+Od1H z4cXG%LNDH3zGL@FEjhvU3G+Jc#%$@uVH|3xmBwWGQ+mD7$b z&NF`!ZJ{W_bX4h)e(S2FwO^eUzMExp?7&?^<7-jN16>}N``_)1PQB@*5t7cm-Qm&l z%q+WO3QGTOHtl|FukY(JVdioV-ux2%mhbY<-}M;ACEeS&*F1aeb*aDUhw_ikT4r5v cd>`X_6OAKhO+J=0FfcH9y85}Sb4q9e0Kn&>QUCw| literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index ca1df7de1..fd3a9e83c 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -60,7 +60,9 @@ "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/shadow_plant_patch", + "tfg:venus/surface/pile_volcanic_ash", + "tfg:venus/surface/pile_black_sand" ], [ "tfg:venus/terrain/lava_fill" @@ -86,12 +88,16 @@ "charge": 0.9 }, "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, + "energy_budget": 0.15, "charge": 0.7 }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 } }, "creature_spawn_probability": 0.0001, diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index 6ca6e798f..cbadde1f0 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -70,10 +70,6 @@ "energy_budget": 0.05, "charge": 0.9 }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.json new file mode 100644 index 000000000..b9bc3ca6a --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_black_sand.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": "layers", + "values": { + "type": "minecraft:biased_to_bottom", + "value": { + "min_inclusive": 1, + "max_inclusive": 2 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:pile/black_sand" + } + } + } + } + }, + "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": 16, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.json b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.json new file mode 100644 index 000000000..e0e523bb8 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/surface/pile_volcanic_ash.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": "layers", + "values": { + "type": "minecraft:biased_to_bottom", + "value": { + "min_inclusive": 1, + "max_inclusive": 2 + } + }, + "source": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "tfg:pile/volcanic_ash" + } + } + } + } + }, + "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": 16, + "y_spread": 2 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json index a6eea8f10..d8b77e7ed 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_tube_worms.json @@ -3,10 +3,47 @@ "config": { "feature": { "feature": { - "type": "tfg:attached_decorative_plant", + "type": "lithostitched:select", "config": { - "block": "betterend:tube_worm", - "heightRange": 5 + "features": [ + { + "feature": { + "feature": { + "type": "tfg:attached_decorative_plant", + "config": { + "block": "betterend:tube_worm", + "heightRange": 5 + } + }, + "placement": [] + }, + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + }, + { + "feature": { + "feature": { + "type": "tfg:attached_decorative_plant", + "config": { + "block": { + "Name": "betterend:tube_worm", + "Properties": { + "fluid": "sulfur_fumes" + } + }, + "heightRange": 5 + } + }, + "placement": [] + }, + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "tfg:fluid/sulfur_fumes" + } + } + ] } }, "placement": [] diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json index 2d620ef82..8e736180b 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/ignimbrite_vents.json @@ -3,14 +3,53 @@ "config": { "feature": { "feature": { - "type": "minecraft:simple_block", + "type": "lithostitched:select", "config": { - "to_place": { - "type": "minecraft:simple_state_provider", - "state": { - "Name": "betterend:hydrothermal_vent" + "features": [ + { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:hydrothermal_vent" + } + } + } + }, + "placement": [] + }, + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + }, + { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:hydrothermal_vent", + "Properties": { + "fluid": "sulfur_fumes" + } + } + } + } + }, + "placement": [] + }, + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "tfg:fluid/sulfur_fumes" + } } - } + ] } }, "placement": [ @@ -21,21 +60,9 @@ { "type": "minecraft:block_predicate_filter", "predicate": { - "type": "minecraft:all_of", - "predicates": [ - { - "type": "minecraft:matching_blocks", - "blocks": [ - "minecraft:air", - "tfg:fluid/sulfur_fumes" - ] - }, - { - "type": "minecraft:matching_blocks", - "offset": [ 0, -1, 0 ], - "blocks": "betterend:sulphuric_rock" - } - ] + "type": "minecraft:matching_blocks", + "offset": [ 0, -1, 0 ], + "blocks": "betterend:sulphuric_rock" } } ] diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_black_sand.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_black_sand.json new file mode 100644 index 000000000..6eb8f33b1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_black_sand.json @@ -0,0 +1,19 @@ +{ + "feature": "tfg:venus/surface/pile_black_sand", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_volcanic_ash.json b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_volcanic_ash.json new file mode 100644 index 000000000..3a6c8954d --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/venus/surface/pile_volcanic_ash.json @@ -0,0 +1,16 @@ +{ + "feature": "tfg:venus/surface/pile_volcanic_ash", + "placement": [ + { + "type": "minecraft:count", + "count": 2 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] +} \ 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 b50e70ebd..eadd12694 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 @@ -25,7 +25,11 @@ "placement": [ { "type": "minecraft:rarity_filter", - "chance": 1 + "chance": 2 + }, + { + "type": "minecraft:count", + "count": 2 }, { "type": "minecraft:in_square" diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index d7d0e690b..4e56b8a28 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -108,6 +108,10 @@ function registerTFGVenusBlockTags(event) { event.add('tfc:can_carve', '#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:can_landslide', 'tfg:sand/fluorapatite/blue') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/brown') @@ -139,6 +143,7 @@ function registerTFGVenusEntityTypeTags(event) { ENTITIES.forEach(entity => { event.add('ad_astra:can_survive_extreme_heat', entity) event.add('ad_astra:lives_without_oxygen', entity) + event.add('gtceu:heat_immune', entity) }) event.add('tfc:deals_slashing_damage', 'endermanoverhaul:desert_enderman') diff --git a/kubejs/server_scripts/tfg/worldgen/entities.js b/kubejs/server_scripts/tfg/worldgen/entities.js index 9415715c4..b4ea1c57c 100644 --- a/kubejs/server_scripts/tfg/worldgen/entities.js +++ b/kubejs/server_scripts/tfg/worldgen/entities.js @@ -79,7 +79,7 @@ EntityEvents.spawned((event) => { else if (type === "minecraft:magma_cube") { switch (dimension) { // use default for beneath - case "ad_astra:venus": newHp = entity.health * 6; + case "ad_astra:venus": newHP = entity.maxHealth * 6; } } diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index e8a14ea49..f8eec30b8 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -5,6 +5,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('tfg:geyser_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') .mapColor('color_white') + .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) .particleOffset(0.3, 1, 0.3) @@ -16,6 +17,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') .mapColor('color_white') + .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) .particleOffset(0.3, 1, 0.3) @@ -27,6 +29,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('tfg:smoker_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') .mapColor('color_gray') + .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) .particleOffset(0.3, 1, 0.3) @@ -38,6 +41,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('tfg:lava_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') .mapColor('color_black') + .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) .particleOffset(0.3, 0.5, 0.3) @@ -311,7 +315,7 @@ function registerTFGWorldGenVenusDecoBlocks(event) { event.create('betterend:shadow_plant', 'tfg:decorative_plant') .soundType('crop') .mapColor('color_black') - .box(2, 0, 2, 14, 13, 13) + .box(3, 0, 3, 13, 10, 13) .tagItem('tfg:venus_plants') .tagBlock('tfg:do_not_destroy_in_space') From ab17defe5d44d445515220e0abd467797335f26e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 23:35:00 +0000 Subject: [PATCH 553/628] fix greate alloys being visible in emi --- kubejs/startup_scripts/greate/constants.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index 5d7c82439..25070f941 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -2,16 +2,15 @@ "use strict"; global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ - "greate:andesite_alloy_alloy", - "greate:steel_alloy", - "greate:aluminium_alloy", - "greate:stainless_steel_alloy", - "greate:titanium_alloy", - "greate:tungsten_steel_alloy", - "greate:rhodium_plated_palladium_alloy", - "greate:naquadah_alloy_alloy", - "greate:darmstadtium_alloy", - "greate:neutronium_alloy", + "gtceu:steel_alloy", + "gtceu:aluminium_alloy", + "gtceu:stainless_steel_alloy", + "gtceu:titanium_alloy", + "gtceu:tungsten_steel_alloy", + "gtceu:rhodium_plated_palladium_alloy", + "gtceu:naquadah_alloy_alloy", + "gtceu:darmstadtium_alloy", + "gtceu:neutronium_alloy", "gtceu:neutronium_whisk", "greate:polyethylene_belt_connector", From ea00a2a569705c42328dfce5872db22d4f0af867 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 1 Jan 2026 23:42:25 +0000 Subject: [PATCH 554/628] update pakku, put colorwheel on client-side only mod list --- pakku-lock.json | 134 ++++++++++++++++++++++++------------------------ pakku.json | 6 +++ 2 files changed, 73 insertions(+), 67 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 365c15b14..7f9ea3076 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -7130,7 +7130,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.60.jar", + "file_name": "greate-0.0.61.jar", "mc_versions": [ "1.20.1" ], @@ -7139,23 +7139,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/lkpf6G04/greate-0.0.60.jar", - "id": "lkpf6G04", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/bZDj2HqJ/greate-0.0.61.jar", + "id": "bZDj2HqJ", "parent_id": "8wDcQuht", "hashes": { - "sha512": "2584a6b23bbcbfe0d25c4a6af60485e30cf083ff322271d5ee2a566c35943daca86b0edd71d98786811f633af04b5a7f73db9e9f3ac8b72e385b97c1769e7126", - "sha1": "3fc325df338f275847344f553ad81c3e9be0bc80" + "sha512": "bfee9bf3bbaaf4f0027100008030d6cd69fb09fd6a352b644a910523e2bf53837123cd6221fc5606d670637584901693d278e27b7d1485b592a4b4650a15944d", + "sha1": "1ad889dbd2838045a2df194bfc757b9bae57d273" }, "required_dependencies": [ - "LNytGWDc", - "7tG215v7" + "7tG215v7", + "LNytGWDc" ], - "size": 1253032, - "date_published": "2025-12-31T17:41:02.391758Z" + "size": 1253065, + "date_published": "2026-01-01T21:21:45.604190Z" }, { "type": "curseforge", - "file_name": "greate-0.0.60.jar", + "file_name": "greate-0.0.61.jar", "mc_versions": [ "1.20.1" ], @@ -7164,19 +7164,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7401/392/greate-0.0.60.jar", - "id": "7401392", + "url": "https://edge.forgecdn.net/files/7405/523/greate-0.0.61.jar", + "id": "7405523", "parent_id": "901996", "hashes": { - "sha1": "3fc325df338f275847344f553ad81c3e9be0bc80", - "md5": "f521d8a849e0a56b5ba2051a81bb684d" + "sha1": "1ad889dbd2838045a2df194bfc757b9bae57d273", + "md5": "0446ffaa7cafa06d3148a1944a81b431" }, "required_dependencies": [ - "328085", - "890405" + "890405", + "328085" ], - "size": 1253032, - "date_published": "2025-12-31T17:41:00.300Z" + "size": 1253065, + "date_published": "2026-01-01T21:21:43.007Z" } ] }, @@ -7259,7 +7259,7 @@ "files": [ { "type": "curseforge", - "file_name": "gtmoldraw-2.0.3.jar", + "file_name": "gtmoldraw-3.0.0.jar", "mc_versions": [ "1.20.1" ], @@ -7267,18 +7267,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7197/440/gtmoldraw-2.0.3.jar", - "id": "7197440", + "url": "https://edge.forgecdn.net/files/7404/876/gtmoldraw-3.0.0.jar", + "id": "7404876", "parent_id": "1348330", "hashes": { - "sha1": "24e461ca4eac2877458e125dc4c9eb678ad3c270", - "md5": "17c62be2923f14033a672d43c205e259" + "sha1": "9377694e2e3d8c62bdacd400e125acc732c54803", + "md5": "e6d36dbc5383b0649bbfa76a829c6170" }, "required_dependencies": [ "890405" ], - "size": 826764, - "date_published": "2025-11-08T02:41:54.790Z" + "size": 907581, + "date_published": "2026-01-01T18:19:59.917Z" } ] }, @@ -14926,7 +14926,7 @@ "files": [ { "type": "modrinth", - "file_name": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", + "file_name": "Xaeros_Minimap_25.3.2_Forge_1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -14935,20 +14935,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/VfhlV9am/Xaeros_Minimap_25.2.10_Forge_1.20.jar", - "id": "VfhlV9am", + "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/33Ak0hoU/Xaeros_Minimap_25.3.2_Forge_1.20.jar", + "id": "33Ak0hoU", "parent_id": "1bokaNcj", "hashes": { - "sha512": "936d2608d74c9a4d702efce51e0197f19f947997af768cb558f4cc5323ea4c5f12ee11b519df4071bdbc8c2aca8caa1baa18f702ef32c24bc4ea78fdbac483b2", - "sha1": "1f23df114da3a8603dbe4781c07e8acf20f6d1ce" + "sha512": "a4188f0ae4e89d917bac55524e0ec96dc46588bf4fb2b7633a5b0289e1e30b624465dffec127b24419f639199c02fe1afc9074af9204c82bb71e0f213b85ce5a", + "sha1": "9acd244e79dcac0aa5ec51669993df1575ba13a8" }, "required_dependencies": [], - "size": 1723029, - "date_published": "2025-07-17T09:12:11.932921Z" + "size": 2128565, + "date_published": "2025-12-31T16:49:25.421097Z" }, { "type": "curseforge", - "file_name": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", + "file_name": "Xaeros_Minimap_25.3.2_Forge_1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -14957,16 +14957,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6778/28/Xaeros_Minimap_25.2.10_Forge_1.20.jar", - "id": "6778028", + "url": "https://edge.forgecdn.net/files/7400/975/Xaeros_Minimap_25.3.2_Forge_1.20.jar", + "id": "7400975", "parent_id": "263420", "hashes": { - "sha1": "1f23df114da3a8603dbe4781c07e8acf20f6d1ce", - "md5": "2b2bfaf3a1872b83c57aaa51c73f10d9" + "sha1": "9acd244e79dcac0aa5ec51669993df1575ba13a8", + "md5": "9c9832e2b8f9f512384103d95c899e64" }, "required_dependencies": [], - "size": 1723029, - "date_published": "2025-07-17T08:16:50.807Z" + "size": 2128565, + "date_published": "2025-12-31T16:02:21.343Z" } ] }, @@ -14989,7 +14989,7 @@ "files": [ { "type": "modrinth", - "file_name": "XaerosWorldMap_1.39.12_Forge_1.20.jar", + "file_name": "XaerosWorldMap_1.40.2_Forge_1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -14998,20 +14998,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/ATTRzxT3/XaerosWorldMap_1.39.12_Forge_1.20.jar", - "id": "ATTRzxT3", + "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/U3stuFts/XaerosWorldMap_1.40.2_Forge_1.20.jar", + "id": "U3stuFts", "parent_id": "NcUtCpym", "hashes": { - "sha512": "06d68367ec0a3eed9c13a6c02ce4a93d9375c6b32cb8c3e77a7c62f3e3ea6bfadbfae70d0e5f115e2b353d4b186e6cf80bcc73df5b13362d5d18f25fb2a9d6d1", - "sha1": "3c4005a400ba8270738bbe4c573526749ecf2f8f" + "sha512": "73d0d8c8e055a944b428ce6626983ae684482186378ed074115ce503a83c2d2c08f6e484e9cb56a108691b9ad92ee384487f5093f82638138aa58ef28e180f80", + "sha1": "3b7bee7dd8f3f105bbeef162a475c0d356c02468" }, "required_dependencies": [], - "size": 960799, - "date_published": "2025-07-17T08:55:30.592486Z" + "size": 1380181, + "date_published": "2025-12-31T17:14:38.735506Z" }, { "type": "curseforge", - "file_name": "XaerosWorldMap_1.39.12_Forge_1.20.jar", + "file_name": "XaerosWorldMap_1.40.2_Forge_1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -15020,16 +15020,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6778/91/XaerosWorldMap_1.39.12_Forge_1.20.jar", - "id": "6778091", + "url": "https://edge.forgecdn.net/files/7401/84/XaerosWorldMap_1.40.2_Forge_1.20.jar", + "id": "7401084", "parent_id": "317780", "hashes": { - "sha1": "3c4005a400ba8270738bbe4c573526749ecf2f8f", - "md5": "002d9a661be7e982db177d7b0fc8d49e" + "sha1": "3b7bee7dd8f3f105bbeef162a475c0d356c02468", + "md5": "8bccfbb95c6ab634b1adbeb995721670" }, "required_dependencies": [], - "size": 960799, - "date_published": "2025-07-17T08:39:43.103Z" + "size": 1380181, + "date_published": "2025-12-31T16:20:22.467Z" } ] }, @@ -15222,7 +15222,7 @@ "files": [ { "type": "modrinth", - "file_name": "tacz-1.20.1-1.1.7-release.jar", + "file_name": "tacz-1.20.1-1.1.7-hotfix.jar", "mc_versions": [ "1.20", "1.20.1" @@ -15231,20 +15231,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/SzzJttH8/versions/fErpFI0g/tacz-1.20.1-1.1.7-release.jar", - "id": "fErpFI0g", + "url": "https://cdn.modrinth.com/data/SzzJttH8/versions/CkNQpQcx/tacz-1.20.1-1.1.7-hotfix.jar", + "id": "CkNQpQcx", "parent_id": "SzzJttH8", "hashes": { - "sha512": "3f4aa30d50e75b1e4e5291c4eee59107da60355c5e4b59fc3be0bc84e611d1acf0320aa8a7b905ab42d0c464d19765e58bac16e9ad6770860c19695e887ccc94", - "sha1": "869decffc818e6ccd7d6d0d734aecfaa265e908b" + "sha512": "17d17133243de268cc2d071261e69e747a01b3ab64ab1cf0eec17054e4f19bf8cf30ef1c7ed3e1600523cd9061b38728810b92aefa4246f615001f835a25dc37", + "sha1": "7d4f578a42c9b880744ea6058a495847aac9e4c3" }, "required_dependencies": [], - "size": 52403127, - "date_published": "2025-12-01T04:26:59.653447Z" + "size": 52425650, + "date_published": "2026-01-01T09:15:14.812661Z" }, { "type": "curseforge", - "file_name": "tacz-1.20.1-1.1.7-release.jar", + "file_name": "tacz-1.20.1-1.1.7-hotfix.jar", "mc_versions": [ "1.20.1" ], @@ -15252,16 +15252,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7278/3/tacz-1.20.1-1.1.7-release.jar", - "id": "7278003", + "url": "https://edge.forgecdn.net/files/7401/617/tacz-1.20.1-1.1.7-hotfix.jar", + "id": "7401617", "parent_id": "1028108", "hashes": { - "sha1": "869decffc818e6ccd7d6d0d734aecfaa265e908b", - "md5": "27696ec987eefbec8e7ba6596e418b35" + "sha1": "7d4f578a42c9b880744ea6058a495847aac9e4c3", + "md5": "e91391b09e25ec5994c28593117f5908" }, "required_dependencies": [], - "size": 52403127, - "date_published": "2025-11-30T12:53:47.060Z" + "size": 52425650, + "date_published": "2025-12-31T19:00:25.193Z" } ] }, diff --git a/pakku.json b/pakku.json index c9a1ae485..faf8a0638 100644 --- a/pakku.json +++ b/pakku.json @@ -256,6 +256,12 @@ "detected-setblock-be-gone": { "side": "BOTH" }, + "colorwheel": { + "side": "CLIENT" + }, + "colorwheel-patcher": { + "side": "CLIENT" + }, "autopack-director": { "export": false }, From d61a3b4a67e6da19e2ea81879b4dae27624b641f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 00:17:23 +0000 Subject: [PATCH 555/628] add blazes --- kubejs/data/tfg/dimension_type/venus.json | 10 +--- .../biome/venus/scorching_volcanoes.json | 46 +++++++++---------- kubejs/server_scripts/tfg/venus/tags.venus.js | 7 ++- .../server_scripts/tfg/worldgen/entities.js | 7 +++ 4 files changed, 38 insertions(+), 32 deletions(-) diff --git a/kubejs/data/tfg/dimension_type/venus.json b/kubejs/data/tfg/dimension_type/venus.json index 9795e2356..aa7b8af81 100644 --- a/kubejs/data/tfg/dimension_type/venus.json +++ b/kubejs/data/tfg/dimension_type/venus.json @@ -10,14 +10,8 @@ "infiniburn": "#minecraft:infiniburn_overworld", "logical_height": 384, "min_y": -64, - "monster_spawn_block_light_limit": 0, - "monster_spawn_light_level": { - "type": "minecraft:uniform", - "value": { - "max_inclusive": 15, - "min_inclusive": 0 - } - }, + "monster_spawn_block_light_limit": 15, + "monster_spawn_light_level": 7, "natural": true, "piglin_safe": true, "respawn_anchor_works": false, diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index fd3a9e83c..7b8343f26 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -71,14 +71,6 @@ ], "has_precipitation": true, "spawn_costs": { - "endermanoverhaul:desert_enderman": { - "energy_budget": 0.05, - "charge": 0.9 - }, - "endermanoverhaul:savanna_enderman": { - "energy_budget": 0.05, - "charge": 0.9 - }, "endermanoverhaul:nether_wastes_enderman": { "energy_budget": 0.05, "charge": 0.9 @@ -91,6 +83,10 @@ "energy_budget": 0.15, "charge": 0.7 }, + "primitivecreatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 @@ -98,6 +94,10 @@ "minecraft:magma_cube": { "energy_budget": 0.15, "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 } }, "creature_spawn_probability": 0.0001, @@ -114,18 +114,6 @@ ], "misc": [], "monster": [ - { - "type": "endermanoverhaul:desert_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, - { - "type": "endermanoverhaul:savanna_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, { "type": "endermanoverhaul:nether_wastes_enderman", "maxCount": 1, @@ -136,13 +124,13 @@ "type": "minecraft:enderman", "maxCount": 1, "minCount": 1, - "weight": 20 + "weight": 10 }, { "type": "ad_astra:sulfur_creeper", - "maxCount": 3, + "maxCount": 2, "minCount": 1, - "weight": 100 + "weight": 50 }, { "type": "minecraft:magma_cube", @@ -150,6 +138,18 @@ "minCount": 2, "weight": 100 }, + { + "type": "minecraft:blaze", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, + { + "type": "primitivecreatures:golem_2", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, { "type": "species:cliff_hanger", "maxCount": 3, diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 4e56b8a28..971bec9f9 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -132,12 +132,15 @@ function registerTFGVenusBiomeTags(event) { function registerTFGVenusEntityTypeTags(event) { const ENTITIES = [ 'minecraft:enderman', + 'minecraft:magma_cube', + 'minecraft:blaze', "endermanoverhaul:desert_enderman", "endermanoverhaul:savanna_enderman", "endermanoverhaul:nether_wastes_enderman", "ad_astra:sulfur_creeper", 'species:cliff_hanger', - 'species:trooper' + 'species:trooper', + 'primitivecreatures:golem_2' ] ENTITIES.forEach(entity => { @@ -150,6 +153,8 @@ function registerTFGVenusEntityTypeTags(event) { event.add('tfc:deals_slashing_damage', 'endermanoverhaul:savanna_enderman') event.add('tfc:deals_slashing_damage', 'endermanoverhaul:nether_wastes_enderman') event.add('tfc:deals_slashing_damage', 'species:cliff_hanger') + event.add('tfc:deals_crushing_damage', 'minecraft:magma_cube') + event.add('tfc:deals_crushing_damage', 'primitivecreatures:golem_2') } function registerTFGVenusPlacedFeatures(event) { diff --git a/kubejs/server_scripts/tfg/worldgen/entities.js b/kubejs/server_scripts/tfg/worldgen/entities.js index b4ea1c57c..c3e885a28 100644 --- a/kubejs/server_scripts/tfg/worldgen/entities.js +++ b/kubejs/server_scripts/tfg/worldgen/entities.js @@ -28,6 +28,7 @@ const NEW_MOB_MAX_HP = { "ad_astra:sulfur_creeper": 60, "species:cliff_hanger": 75, "species:trooper": 20, + "minecraft:blaze": 50, // europa mobs "endermanoverhaul:ice_spikes_enderman": 85, @@ -82,6 +83,12 @@ EntityEvents.spawned((event) => { case "ad_astra:venus": newHP = entity.maxHealth * 6; } } + else if (type === "primitivecreatures:golem_2") { + switch (dimension) { + // use default for beneath + case "ad_astra:venus": newHP = 80; + } + } if (newHP === 0) return; From 7dba51879743da867dd88926ec597476c233eb36 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 00:31:53 +0000 Subject: [PATCH 556/628] add funny bug mod, downgrade xaeros updates because they crash on startup --- pakku-lock.json | 118 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 90 insertions(+), 28 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 7f9ea3076..c131ad1fc 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14926,7 +14926,7 @@ "files": [ { "type": "modrinth", - "file_name": "Xaeros_Minimap_25.3.2_Forge_1.20.jar", + "file_name": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -14935,20 +14935,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/33Ak0hoU/Xaeros_Minimap_25.3.2_Forge_1.20.jar", - "id": "33Ak0hoU", + "url": "https://cdn.modrinth.com/data/1bokaNcj/versions/VfhlV9am/Xaeros_Minimap_25.2.10_Forge_1.20.jar", + "id": "VfhlV9am", "parent_id": "1bokaNcj", "hashes": { - "sha512": "a4188f0ae4e89d917bac55524e0ec96dc46588bf4fb2b7633a5b0289e1e30b624465dffec127b24419f639199c02fe1afc9074af9204c82bb71e0f213b85ce5a", - "sha1": "9acd244e79dcac0aa5ec51669993df1575ba13a8" + "sha512": "936d2608d74c9a4d702efce51e0197f19f947997af768cb558f4cc5323ea4c5f12ee11b519df4071bdbc8c2aca8caa1baa18f702ef32c24bc4ea78fdbac483b2", + "sha1": "1f23df114da3a8603dbe4781c07e8acf20f6d1ce" }, "required_dependencies": [], - "size": 2128565, - "date_published": "2025-12-31T16:49:25.421097Z" + "size": 1723029, + "date_published": "2025-07-17T09:12:11.932921Z" }, { "type": "curseforge", - "file_name": "Xaeros_Minimap_25.3.2_Forge_1.20.jar", + "file_name": "Xaeros_Minimap_25.2.10_Forge_1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -14957,16 +14957,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7400/975/Xaeros_Minimap_25.3.2_Forge_1.20.jar", - "id": "7400975", + "url": "https://edge.forgecdn.net/files/6778/28/Xaeros_Minimap_25.2.10_Forge_1.20.jar", + "id": "6778028", "parent_id": "263420", "hashes": { - "sha1": "9acd244e79dcac0aa5ec51669993df1575ba13a8", - "md5": "9c9832e2b8f9f512384103d95c899e64" + "sha1": "1f23df114da3a8603dbe4781c07e8acf20f6d1ce", + "md5": "2b2bfaf3a1872b83c57aaa51c73f10d9" }, "required_dependencies": [], - "size": 2128565, - "date_published": "2025-12-31T16:02:21.343Z" + "size": 1723029, + "date_published": "2025-07-17T08:16:50.807Z" } ] }, @@ -14989,7 +14989,7 @@ "files": [ { "type": "modrinth", - "file_name": "XaerosWorldMap_1.40.2_Forge_1.20.jar", + "file_name": "XaerosWorldMap_1.39.12_Forge_1.20.jar", "mc_versions": [ "1.20", "1.20.1" @@ -14998,20 +14998,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/U3stuFts/XaerosWorldMap_1.40.2_Forge_1.20.jar", - "id": "U3stuFts", + "url": "https://cdn.modrinth.com/data/NcUtCpym/versions/ATTRzxT3/XaerosWorldMap_1.39.12_Forge_1.20.jar", + "id": "ATTRzxT3", "parent_id": "NcUtCpym", "hashes": { - "sha512": "73d0d8c8e055a944b428ce6626983ae684482186378ed074115ce503a83c2d2c08f6e484e9cb56a108691b9ad92ee384487f5093f82638138aa58ef28e180f80", - "sha1": "3b7bee7dd8f3f105bbeef162a475c0d356c02468" + "sha512": "06d68367ec0a3eed9c13a6c02ce4a93d9375c6b32cb8c3e77a7c62f3e3ea6bfadbfae70d0e5f115e2b353d4b186e6cf80bcc73df5b13362d5d18f25fb2a9d6d1", + "sha1": "3c4005a400ba8270738bbe4c573526749ecf2f8f" }, "required_dependencies": [], - "size": 1380181, - "date_published": "2025-12-31T17:14:38.735506Z" + "size": 960799, + "date_published": "2025-07-17T08:55:30.592486Z" }, { "type": "curseforge", - "file_name": "XaerosWorldMap_1.40.2_Forge_1.20.jar", + "file_name": "XaerosWorldMap_1.39.12_Forge_1.20.jar", "mc_versions": [ "1.20.1", "1.20" @@ -15020,16 +15020,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7401/84/XaerosWorldMap_1.40.2_Forge_1.20.jar", - "id": "7401084", + "url": "https://edge.forgecdn.net/files/6778/91/XaerosWorldMap_1.39.12_Forge_1.20.jar", + "id": "6778091", "parent_id": "317780", "hashes": { - "sha1": "3b7bee7dd8f3f105bbeef162a475c0d356c02468", - "md5": "8bccfbb95c6ab634b1adbeb995721670" + "sha1": "3c4005a400ba8270738bbe4c573526749ecf2f8f", + "md5": "002d9a661be7e982db177d7b0fc8d49e" }, "required_dependencies": [], - "size": 1380181, - "date_published": "2025-12-31T16:20:22.467Z" + "size": 960799, + "date_published": "2025-07-17T08:39:43.103Z" } ] }, @@ -15132,6 +15132,68 @@ } ] }, + { + "pakku_id": "khWQzXac8AltkIMj", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "arthropocolypse", + "modrinth": "arthropocolypse" + }, + "name": { + "curseforge": "[Deprecated] Arthropocolypse", + "modrinth": "Arthropocolypse" + }, + "id": { + "curseforge": "1018606", + "modrinth": "uiAP959w" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "arthropocolypse-1.0.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5397/648/arthropocolypse-1.0.6.jar", + "id": "5397648", + "parent_id": "1018606", + "hashes": { + "sha1": "c43b2c1e8a9fa11d139a202e37054a01db8fd677", + "md5": "a5a26adcf2c12df3777543fdf424c169" + }, + "required_dependencies": [], + "size": 612137, + "date_published": "2024-06-04T11:30:24.383Z" + }, + { + "type": "modrinth", + "file_name": "arthropocolypse-1.0.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/uiAP959w/versions/4WlOZtq0/arthropocolypse-1.0.6.jar", + "id": "4WlOZtq0", + "parent_id": "uiAP959w", + "hashes": { + "sha512": "c00b798b8ecf7aad09f400601cacec8107649240e75e1ba87851e4007a30febf498d524ef818ab00472a739f6b237f8130060f0e3ae051314dfb069569d72c7b", + "sha1": "c43b2c1e8a9fa11d139a202e37054a01db8fd677" + }, + "required_dependencies": [], + "size": 612137, + "date_published": "2024-06-04T11:34:01.710669Z" + } + ] + }, { "pakku_id": "MpkpUO55EJhBt1az", "pakku_links": [ From 849f50aaf1e39c1597f7bfbf8fc1dfc45512bb88 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 00:43:05 +0000 Subject: [PATCH 557/628] more venus sound tweaks --- config/ambientsounds-client.json | 6 +++--- kubejs/assets/ambientsounds/basic/regions/venus.json | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/config/ambientsounds-client.json b/config/ambientsounds-client.json index c73d140af..eedba20d7 100644 --- a/config/ambientsounds-client.json +++ b/config/ambientsounds-client.json @@ -224,11 +224,11 @@ "venus": { "overall": 1, "cricket": 1, - "cricket-night": 1, + "cricket-night": 0.7, "cicadas": 1, "cicadas-desert": 1, - "cicadas-night": 1, - "cricket-warm-night": 1 + "cicadas-night": 0.7, + "cricket-warm-night": 0.7 }, "warden": { "overall": 1, diff --git a/kubejs/assets/ambientsounds/basic/regions/venus.json b/kubejs/assets/ambientsounds/basic/regions/venus.json index b52db9052..6dd4189d8 100644 --- a/kubejs/assets/ambientsounds/basic/regions/venus.json +++ b/kubejs/assets/ambientsounds/basic/regions/venus.json @@ -11,8 +11,7 @@ "salt_flats", "sulfuric_ravine", "fumaroles", - "jagged_tablelands", - "scorching_volcanoes" + "jagged_tablelands" ], "sounds": [ { From 5b60f268cfc463a93f8ebadfb06b3c4ea82fcc66 Mon Sep 17 00:00:00 2001 From: The Compendium System / The Atlassian Collective <91026414+Xaligal@users.noreply.github.com> Date: Fri, 2 Jan 2026 05:45:16 +0100 Subject: [PATCH 558/628] glowstone and lamp balancing (#2581) * glowstone and lamp balancing * moved glowstone thingies * fix evil glowstone recipes * make tungsten thingy have a liquid form * evil bronze recipes * fixed ratios (I'm a little special ok) * fixed ratios electric boogalo * deleted weird red alloy recipe + fixed abs temps * fixed ratios electrocution boogalo --------- Co-authored-by: Redeix --- kubejs/server_scripts/ad_astra/recipes.js | 4 +- kubejs/server_scripts/createdeco/recipes.js | 2 +- .../tfg/ores_and_materials/recipes.alloys.js | 74 +++++++++++++++---- kubejs/startup_scripts/tfg/materials.js | 1 + 4 files changed, 62 insertions(+), 19 deletions(-) diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js index 250a1732d..b953d9c70 100644 --- a/kubejs/server_scripts/ad_astra/recipes.js +++ b/kubejs/server_scripts/ad_astra/recipes.js @@ -288,7 +288,7 @@ const registerAdAstraRecipes = (event) => { //#region Decoration blocks global.MINECRAFT_DYE_NAMES.forEach(color => { - event.shaped(`ad_astra:${color}_industrial_lamp`, [ + event.shaped(`2x ad_astra:${color}_industrial_lamp`, [ ' N ', 'DTD', ' P ' @@ -300,7 +300,7 @@ const registerAdAstraRecipes = (event) => { }) .id(`tfg:shaped/ad_astra_${color}_industrial_lamp`); - event.shaped(`ad_astra:small_${color}_industrial_lamp`, [ + event.shaped(`2x ad_astra:small_${color}_industrial_lamp`, [ ' N ', 'DTD', ' P ' diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js index 627b1cefd..148bc5606 100644 --- a/kubejs/server_scripts/createdeco/recipes.js +++ b/kubejs/server_scripts/createdeco/recipes.js @@ -131,7 +131,7 @@ const registerCreatedecoRecipes = (event) => { // Loop through each lamp type and color to create the recipes lampTypes.forEach(lampType => { lampColors.forEach(lampColor => { - let output = `createdeco:${lampColor}_${lampType}_lamp`; // Define the output item ID + let output = `2x createdeco:${lampColor}_${lampType}_lamp`; // Define the output item ID lampRecipe(output, lampType, lampColor); // Call the lampRecipe function for each combination }); }); 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 6700415b1..8beef8cc9 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.alloys.js @@ -91,6 +91,36 @@ function registerTFGAlloyingRecipes(event) { event.smelting('gtceu:rose_gold_ingot', '#forge:dusts/rose_gold') .id('tfg:smelting/rose_gold_ingot') + event.recipes.gtceu.alloy_blast_smelter('tfg:abs_bismuth_bronze') + .itemInputs('1x gtceu:bismuth_dust', '3x gtceu:copper_dust', '1x gtceu:zinc_dust') + .outputFluids(Fluid.of('gtceu:bismuth_bronze', 720)) + .circuit(4) + .blastFurnaceTemp(1357) + .duration(300) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.alloy_blast_smelter('tfg:abs_black_bronze') + .itemInputs('3x gtceu:copper_dust', '1x gtceu:gold_dust', '1x gtceu:silver_dust') + .outputFluids(Fluid.of('gtceu:black_bronze', 720)) + .circuit(4) + .blastFurnaceTemp(1357) + .duration(300) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.mixer('tfg:bismuth_bronze_from_raw') + .itemInputs('1x gtceu:bismuth_dust', '3x gtceu:copper_dust', '1x gtceu:zinc_dust') + .itemOutputs('5x gtceu:bismuth_bronze_dust') + .circuit(2) + .duration(100) + .EUt(7) + + event.recipes.gtceu.mixer('tfg:black_bronze_from_raw') + .itemInputs('3x gtceu:copper_dust', '1x gtceu:gold_dust', '1x gtceu:silver_dust') + .itemOutputs('5x gtceu:black_bronze_dust') + .circuit(2) + .duration(100) + .EUt(7) + //#endregion // Rose Gold + Sterling Silver @@ -126,15 +156,6 @@ function registerTFGAlloyingRecipes(event) { }); }); - // Red alloy, because crucible always makes 4+1=5 - - event.recipes.gtceu.alloy_blast_smelter('red_alloy') - .itemInputs('1x gtceu:copper_dust', '4x minecraft:redstone') - .outputFluids(Fluid.of('gtceu:red_alloy', 720)) - .circuit(5) - .duration(75) - .EUt(GTValues.VA[GTValues.LV]) - event.remove({ id: 'gtceu:mixer/red_alloy' }) // incorrect on purpose to prevent a greate duplicate recipe (the id becomes mixer/mixer/red_alloy) event.recipes.gtceu.mixer('gtceu:mixer/red_alloy') @@ -183,20 +204,41 @@ function registerTFGAlloyingRecipes(event) { 3, [], 500, 7, 64, 'gtceu:mixer/rose_gold') // Glowstone - event.recipes.gtceu.mixer('gtceu:lv_glowstone') + event.recipes.gtceu.mixer('tfg:lv_glowstone') .itemInputs('gtceu:gold_dust', 'minecraft:redstone', 'gtceu:sulfur_dust') .itemOutputs('2x minecraft:glowstone_dust') .circuit(8) .duration(1200) .EUt(30) - event.recipes.gtceu.alloy_blast_smelter('abs:liquid_glowstone') - .itemInputs('#forge:dusts/gold', '#forge:dusts/redstone', '#forge:dusts/sulfur') - .outputFluids(Fluid.of('gtceu:glowstone', 288)) - .duration(20 * 60 / 1.3) - .EUt(GTValues.VA[GTValues.LV]) - .blastFurnaceTemp(1064) + event.recipes.gtceu.alloy_blast_smelter('tfg:liquid_glowstone') + .itemInputs('10x #forge:dusts/gold', '10x #forge:dusts/redstone', '10x #forge:dusts/sulfur') + .outputFluids(Fluid.of('gtceu:glowstone', 2880)) .circuit(9) + .blastFurnaceTemp(1064) + .duration(12000) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_dynamite') + .itemInputs('5x #forge:dusts/glowstone', '2x gtceu:dynamite') + .itemOutputs('1x minecraft:glowstone') + .chancedOutput('#forge:dusts/ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_tnt') + .itemInputs('5x #forge:dusts/glowstone', '4x minecraft:tnt') + .itemOutputs('1x minecraft:glowstone') + .chancedOutput('#forge:dusts/ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.implosion_compressor('tfg:glowstone_block_industrial_tnt') + .itemInputs('5x #forge:dusts/glowstone', '1x gtceu:industrial_tnt') + .itemOutputs('1x minecraft:glowstone') + .chancedOutput('#forge:dusts/ash', 2500, 0) + .duration(20) + .EUt(GTValues.VA[GTValues.LV]) // New Alloys diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index f3fad7184..061ae2404 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -105,6 +105,7 @@ const registerTFGMaterials = (event) => { .secondaryColor(0xfffef0) .iconSet(GTMaterialIconSet.getByName('tfc_cassiterite')) .ingot() + .liquid() .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) .rotorStats(250, 90, 2 ,620) .flags( From 090f954cd251ea7eaf9bf35111af243a2fb92bc0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 13:04:17 +0000 Subject: [PATCH 559/628] my bad #2551 --- kubejs/server_scripts/tfg/food/tags.food.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js index c4bc0ca81..97826d234 100644 --- a/kubejs/server_scripts/tfg/food/tags.food.js +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -315,7 +315,7 @@ function registerTFGFoodItemTags(event) { event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/boiled_egg"); event.add("tfc:foods/usable_in_sandwich", "tfc:food/cooked_egg"); event.add("tfc:foods/usable_in_sandwich", "tfc:food/boiled_egg"); - event.add("tfc:foods/usable_in_sandwich", "tfc:food/pickled_egg"); + event.add("tfc:foods/usable_in_sandwich", "firmalife:food/pickled_egg"); event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom') event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom') From ec0e6656b400610c37f88fe19611652a019614f2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 13:22:30 +0000 Subject: [PATCH 560/628] cleanup greate a bit, remove gearbox extractor recipes --- kubejs/server_scripts/greate/recipes.js | 176 +++--------------- .../greate/recipes.recycling.js | 33 +--- .../server_scripts/greate/recipes.removes.js | 91 +++------ kubejs/startup_scripts/greate/constants.js | 22 +++ 4 files changed, 79 insertions(+), 243 deletions(-) diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index 7c6935782..2f48a8e4f 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -87,168 +87,52 @@ function registerGreateRecipes(event) { // #region Gearboxes - event.shaped('greate:andesite_alloy_gearbox', [ - ' A ', - 'ABA', - 'CA ' - ], { - A: 'greate:andesite_alloy_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/andesite_alloy_gearbox') + global.AVAILABLE_GREATE_MATERIAL_TIERS.forEach(tier => { - event.shaped('greate:andesite_alloy_vertical_gearbox', [ - 'A A', - ' B ', - 'ACA' - ], { - A: 'greate:andesite_alloy_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/andesite_alloy_vertical_gearbox') + event.shaped(`greate:${tier}_gearbox`, [ + ' A ', + 'ABA', + 'CA ' + ], { + A: `greate:${tier}_shaft`, + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id(`tfg:shaped/${tier}_gearbox`) - event.shapeless('greate:andesite_alloy_gearbox', ['greate:andesite_alloy_vertical_gearbox']) - event.shapeless('greate:andesite_alloy_vertical_gearbox', ['greate:andesite_alloy_gearbox']) + event.shaped(`greate:${tier}_vertical_gearbox`, [ + 'A A', + ' B ', + 'ACA' + ], { + A: `greate:${tier}_shaft`, + B: 'create:andesite_casing', + C: '#forge:tools/wrenches' + }).id(`tfg:shaped/${tier}_vertical_gearbox`) + + event.shapeless(`greate:${tier}_gearbox`, [`greate:${tier}_vertical_gearbox`]) + event.shapeless(`greate:${tier}_vertical_gearbox`, [`greate:${tier}_gearbox`]) + + event.recipes.gtceu.assembler(`greate:${tier}_gearbox`) + .itemInputs('create:andesite_casing', `4x greate:${tier}_shaft`) + .itemOutputs(`greate:${tier}_gearbox`) + .circuit(5) + .duration(50) + .EUt(GTValues.VA[GTValues.ULV]) + }) - event.recipes.gtceu.assembler('greate:andesite_alloy_gearbox') - .itemInputs('create:andesite_casing', '4x greate:andesite_alloy_shaft') - .itemOutputs('greate:andesite_alloy_gearbox') - .circuit(5) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) TFGHelpers.registerMaterialInfo('greate:andesite_alloy_gearbox', { 'wood': 1, 'wrought_iron': 1 }); TFGHelpers.registerMaterialInfo('greate:andesite_alloy_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1 }); - event.shaped('greate:steel_gearbox', [ - ' A ', - 'ABA', - 'CA ' - ], { - A: 'greate:steel_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/steel_gearbox') - - event.shaped('greate:steel_vertical_gearbox', [ - 'A A', - ' B ', - 'ACA' - ], { - A: 'greate:steel_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/steel_vertical_gearbox') - - event.shapeless('greate:steel_gearbox', ['greate:steel_vertical_gearbox']) - event.shapeless('greate:steel_vertical_gearbox', ['greate:steel_gearbox']) - - event.recipes.gtceu.assembler('greate:steel_gearbox') - .itemInputs('create:andesite_casing', '4x greate:steel_shaft') - .itemOutputs('greate:steel_gearbox') - .circuit(5) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('greate:steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); TFGHelpers.registerMaterialInfo('greate:steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'steel': 4/9 }); - event.shaped('greate:aluminium_gearbox', [ - ' A ', - 'ABA', - 'CA ' - ], { - A: 'greate:aluminium_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/aluminium_gearbox') - - event.shaped('greate:aluminium_vertical_gearbox', [ - 'A A', - ' B ', - 'ACA' - ], { - A: 'greate:aluminium_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/aluminium_vertical_gearbox') - - event.shapeless('greate:aluminium_gearbox', ['greate:aluminium_vertical_gearbox']) - event.shapeless('greate:aluminium_vertical_gearbox', ['greate:aluminium_gearbox']) - - event.recipes.gtceu.assembler('greate:aluminium_gearbox') - .itemInputs('create:andesite_casing', '4x greate:aluminium_shaft') - .itemOutputs('greate:aluminium_gearbox') - .circuit(5) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('greate:aluminium_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); TFGHelpers.registerMaterialInfo('greate:aluminium_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'aluminium': 4/9 }); - event.shaped('greate:stainless_steel_gearbox', [ - ' A ', - 'ABA', - 'CA ' - ], { - A: 'greate:stainless_steel_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/stainless_steel_gearbox') - - event.shaped('greate:stainless_steel_vertical_gearbox', [ - 'A A', - ' B ', - 'ACA' - ], { - A: 'greate:stainless_steel_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/stainless_steel_vertical_gearbox') - - event.shapeless('greate:stainless_steel_gearbox', ['greate:stainless_steel_vertical_gearbox']) - event.shapeless('greate:stainless_steel_vertical_gearbox', ['greate:stainless_steel_gearbox']) - - event.recipes.gtceu.assembler('greate:stainless_steel_gearbox') - .itemInputs('create:andesite_casing', '4x greate:stainless_steel_shaft') - .itemOutputs('greate:stainless_steel_gearbox') - .circuit(5) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('greate:stainless_steel_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); TFGHelpers.registerMaterialInfo('greate:stainless_steel_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'stainless_steel': 4/9 }); - event.shaped('greate:titanium_gearbox', [ - ' A ', - 'ABA', - 'CA ' - ], { - A: 'greate:titanium_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/titanium_gearbox') - - event.shaped('greate:titanium_vertical_gearbox', [ - 'A A', - ' B ', - 'ACA' - ], { - A: 'greate:titanium_shaft', - B: 'create:andesite_casing', - C: '#forge:tools/wrenches' - }).id('tfg:shaped/titanium_vertical_gearbox') - - event.shapeless('greate:titanium_gearbox', ['greate:titanium_vertical_gearbox']) - event.shapeless('greate:titanium_vertical_gearbox', ['greate:titanium_gearbox']) - - event.recipes.gtceu.assembler('greate:titanium_gearbox') - .itemInputs('create:andesite_casing', '4x greate:titanium_shaft') - .itemOutputs('greate:titanium_gearbox') - .circuit(5) - .duration(50) - .EUt(GTValues.VA[GTValues.ULV]) - TFGHelpers.registerMaterialInfo('greate:titanium_gearbox', { 'wood': 1, 'wrought_iron': 1, 'titanium': 4/9 }); TFGHelpers.registerMaterialInfo('greate:titanium_vertical_gearbox', { 'wood': 1, 'wrought_iron': 1, 'titanium': 4/9 }); diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js index 517809086..aef21936b 100644 --- a/kubejs/server_scripts/greate/recipes.recycling.js +++ b/kubejs/server_scripts/greate/recipes.recycling.js @@ -42,35 +42,10 @@ function registerGreateRecyclingRecipes(event) { // #region Gearbox - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:andesite_alloy_shaft', - event.shapeless('create:andesite_casing', ['greate:andesite_alloy_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:steel_shaft', - event.shapeless('create:andesite_casing', ['greate:steel_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:aluminium_shaft', - event.shapeless('create:andesite_casing', ['greate:aluminium_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:stainless_steel_shaft', - event.shapeless('create:andesite_casing', ['greate:stainless_steel_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:titanium_shaft', - event.shapeless('create:andesite_casing', ['greate:titanium_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:andesite_alloy_shaft', - event.shapeless('create:andesite_casing', ['greate:andesite_alloy_vertical_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:steel_shaft', - event.shapeless('create:andesite_casing', ['greate:steel_vertical_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:aluminium_shaft', - event.shapeless('create:andesite_casing', ['greate:aluminium_vertical_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:stainless_steel_shaft', - event.shapeless('create:andesite_casing', ['greate:stainless_steel_vertical_gearbox', '#forge:tools/hammers'])) - - event.recipes.tfc.extra_products_shapeless_crafting('4x greate:titanium_shaft', - event.shapeless('create:andesite_casing', ['greate:titanium_vertical_gearbox', '#forge:tools/hammers'])) + global.GREATE_MATERIAL_TIERS.forEach(tier => { + event.recipes.tfc.extra_products_shapeless_crafting(`4x greate:${tier}_shaft`, + event.shapeless('create:andesite_casing', [`greate:${tier}_gearbox`, '#forge:tools/hammers'])) + }) // #endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 1f49ddb72..0177031bf 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -23,82 +23,37 @@ function removeGreateRecipes(event) { event.remove({ mod: 'greate', input: 'create:andesite_alloy' }); event.remove({ mod: 'greate', output: 'minecraft:bamboo_pressure_plate'}) - - event.remove({ id: 'greate:shaped/andesite_alloy_shaft' }) - event.remove({ id: 'greate:shaped/andesite_alloy_cogwheel' }) - event.remove({ id: 'greate:shaped/andesite_alloy_large_cogwheel' }) - event.remove({ id: 'greate:shaped/andesite_alloy_large_cogwheel_from_little' }) - event.remove({ id: 'greate:shaped/steel_cogwheel' }) - event.remove({ id: 'greate:shaped/steel_large_cogwheel' }) - event.remove({ id: 'greate:shaped/steel_large_cogwheel_from_little' }) - event.remove({ id: 'greate:shaped/aluminium_cogwheel' }) - event.remove({ id: 'greate:shaped/aluminium_large_cogwheel' }) - event.remove({ id: 'greate:shaped/aluminium_large_cogwheel_from_little' }) - event.remove({ id: 'greate:shaped/stainless_steel_cogwheel' }) - event.remove({ id: 'greate:shaped/stainless_steel_large_cogwheel' }) - event.remove({ id: 'greate:shaped/stainless_steel_large_cogwheel_from_little' }) - event.remove({ id: 'greate:shaped/titanium_cogwheel' }) - event.remove({ id: 'greate:shaped/titanium_large_cogwheel' }) - event.remove({ id: 'greate:shaped/titanium_large_cogwheel_from_little' }) - removeCutterRecipe(event, "andesite_alloy_shaft") - removeCutterRecipe(event, "andesite_alloy_shaft_water") - removeCutterRecipe(event, "andesite_alloy_shaft_distilled_water") - removeCutterRecipe(event, "steel_shaft") - removeCutterRecipe(event, "steel_shaft_water") - removeCutterRecipe(event, "steel_shaft_distilled_water") - removeCutterRecipe(event, "aluminium_shaft") - removeCutterRecipe(event, "aluminium_shaft_water") - removeCutterRecipe(event, "aluminium_shaft_distilled_water") - removeCutterRecipe(event, "stainless_steel_shaft") - removeCutterRecipe(event, "stainless_steel_shaft_water") - removeCutterRecipe(event, "stainless_steel_shaft_distilled_water") - removeCutterRecipe(event, "titanium_shaft") - removeCutterRecipe(event, "titanium_shaft_water") - removeCutterRecipe(event, "titanium_shaft_distilled_water") + global.GREATE_MATERIAL_TIERS.forEach(tier => { + + event.remove({ id: `greate:shaped/${tier}_shaft` }) + event.remove({ id: `greate:shaped/${tier}_cogwheel` }) + event.remove({ id: `greate:shaped/${tier}_large_cogwheel` }) + event.remove({ id: `greate:shaped/${tier}_large_cogwheel_from_little` }) + + removeCutterRecipe(event, `${tier}_shaft`) + removeCutterRecipe(event, `${tier}_shaft_water`) + removeCutterRecipe(event, `${tier}_shaft_distilled_water`) + + event.remove({ id: `gtceu:smelting/smelt_dust_${tier}_to_ingot` }) + removeMaceratorRecipe(event, `macerate_${tier}`) + + event.remove({ id: `gtceu:extractor/extract_${tier}` }) + event.remove({ id: `gtceu:extractor/extract_${tier}_shaft` }) + event.remove({ id: `gtceu:extractor/extract_${tier}_cogwheel` }) + event.remove({ id: `gtceu:extractor/extract_${tier}_alloy` }) + event.remove({ id: `gtceu:extractor/extract_${tier}_gearbox` }) + event.remove({ id: `gtceu:extractor/extract_${tier}_vertical_gearbox` }) + }) event.remove({ id: 'greate:milling/integration/gtceu/macerator/macerate_marble'}) event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_andesite_alloy' }) event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' }) - - event.remove({ id: 'gtceu:smelting/smelt_dust_andesite_alloy_to_ingot' }) - event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_shaft' }) - - event.remove({ id: 'gtceu:extractor/extract_andesite_alloy_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_steel_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_aluminium_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_stainless_steel_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_titanium_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_large_andesite_alloy_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_large_steel_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_large_aluminium_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_large_stainless_steel_cogwheel' }) - event.remove({ id: 'gtceu:extractor/extract_large_titanium_cogwheel' }) - + event.remove({ id: 'gtceu:shaped/andesite_alloy_shaft' }) event.remove({ id: 'gtceu:extractor/extract_andesite_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_steel_alloy'}) - event.remove({ id: 'gtceu:extractor/extract_aluminium_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_stainless_steel_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_titanium_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_tungsten_steel_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_rhodium_plated_palladium_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_naquadah_alloy_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_darmstadtium_alloy' }) - event.remove({ id: 'gtceu:extractor/extract_neutronium_alloy' }) - - removeMaceratorRecipe(event, 'macerate_andesite_alloy') - removeMaceratorRecipe(event, 'macerate_steel_alloy') - removeMaceratorRecipe(event, 'macerate_aluminium_alloy') - removeMaceratorRecipe(event, 'macerate_stainless_steel_alloy') - removeMaceratorRecipe(event, 'macerate_titanium_alloy') - removeMaceratorRecipe(event, 'macerate_tungsten_steel_alloy') - removeMaceratorRecipe(event, 'macerate_rhodium_plated_palladium_alloy') - removeMaceratorRecipe(event, 'macerate_naquadah_alloy_alloy') - removeMaceratorRecipe(event, 'macerate_darmstadtium_alloy') - removeMaceratorRecipe(event, 'macerate_neutronium_alloy') - + event.remove({ id: /^greate:mixing\/integration\/create\/.*/ }) event.remove({ id: /^greate:sawing\/integration\/create\/.*/ }) event.remove({ id: /^greate:splashing\/integration\/create\/.*/ }) diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index 25070f941..7259a3d08 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -1,7 +1,29 @@ // priority: -100 "use strict"; +global.GREATE_MATERIAL_TIERS = [ + 'andesite_alloy', + 'steel', + 'aluminium', + 'stainless_steel', + 'titanium', + 'tungsten_steel', + 'rhodium_plated_palladium', + 'naquadah_alloy', + 'darmstadtium', + 'neutronium' +]; + +global.AVAILABLE_GREATE_MATERIAL_TIERS = [ + 'andesite_alloy', + 'steel', + 'aluminium', + 'stainless_steel', + 'titanium' +]; + global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ + "greate:andesite_alloy_alloy", "gtceu:steel_alloy", "gtceu:aluminium_alloy", "gtceu:stainless_steel_alloy", From 8c7f63c7b06d031f99cfe2297e0999611d51f3fd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 13:28:25 +0000 Subject: [PATCH 561/628] sound adjustments --- kubejs/assets/tfg/sounds.json | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/kubejs/assets/tfg/sounds.json b/kubejs/assets/tfg/sounds.json index 1a9e7be7c..56ed1adba 100644 --- a/kubejs/assets/tfg/sounds.json +++ b/kubejs/assets/tfg/sounds.json @@ -2,7 +2,7 @@ "ambient.upper_nether_lush.loop": { "sounds": [ { - "name": "ambientsounds:cave/cave_lush", + "name": "ambientsounds:cave/cave-lush", "stream": true, "volume": 1 }, @@ -203,38 +203,6 @@ { "name": "minecraft:ambient/nether/nether_wastes/ground4", "volume": 0.4 - }, - { - "name": "minecraft:ambientsounds:cave/cave-water1", - "stream": true - }, - { - "name": "minecraft:ambientsounds:cave/cave-water2", - "stream": true - }, - { - "name": "minecraft:ambientsounds:cave/cave-water3", - "stream": true - }, - { - "name": "minecraft:ambientsounds:cave/cave-water4", - "stream": true - }, - { - "name": "minecraft:ambientsounds:cave/cave-water5", - "stream": true - }, - { - "name": "minecraft:ambientsounds:cave/cave-large1", - "stream": true - }, - { - "name": "minecraft:ambientsounds:cave/cave-large2", - "stream": true - }, - { - "name": "minecraft:ambientsounds:cave/cave-lush", - "stream": true } ] }, From 9e77ddfd61d27fd5679e384b6d958d2fc0ba9a3c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 18:42:58 +0000 Subject: [PATCH 562/628] more bug stuff! --- .../spawn/CustomSpawn.toml | 16 +- config/arthropocolypse.toml | 78 ++++++ kubejs/assets/ae2/lang/ru_ru.json | 3 +- kubejs/assets/arthropocolypse/lang/en_us.json | 37 +++ kubejs/assets/extendedae/lang/ru_ru.json | 10 + kubejs/assets/merequester/lang/ru_ru.json | 26 ++ kubejs/assets/tfc/lang/en_us.json | 1 + kubejs/assets/tfg/lang/ru_ru.json | 224 +++++++++--------- .../structure_set/desert_nest_avoid.json | 4 + kubejs/data/tfg/dimension_type/venus.json | 2 +- .../tfg/worldgen/biome/venus/arachnoids.json | 70 +++++- .../worldgen/biome/venus/fractured_pools.json | 66 +++++- .../tfg/worldgen/biome/venus/fumaroles.json | 50 ++-- .../tfg/worldgen/biome/venus/geysers.json | 80 ++++++- .../biome/venus/jagged_tablelands.json | 96 ++++++-- .../tfg/worldgen/biome/venus/salt_flats.json | 72 ++++-- .../biome/venus/scorching_volcanoes.json | 66 ++++-- .../biome/venus/stromatolite_beach.json | 46 +++- .../worldgen/biome/venus/sulfuric_ravine.json | 46 +++- .../server_scripts/arthropocolypse/recipes.js | 43 ++++ kubejs/server_scripts/arthropocolypse/tags.js | 14 ++ kubejs/server_scripts/main_server_script.js | 2 + kubejs/server_scripts/tfc_gurman/recipes.js | 12 +- kubejs/server_scripts/tfg/venus/tags.venus.js | 40 +++- .../server_scripts/tfg/worldgen/entities.js | 118 +++++++-- .../arthropocolypse/constants.js | 12 + 26 files changed, 956 insertions(+), 278 deletions(-) create mode 100644 config/arthropocolypse.toml create mode 100644 kubejs/assets/arthropocolypse/lang/en_us.json create mode 100644 kubejs/assets/extendedae/lang/ru_ru.json create mode 100644 kubejs/assets/merequester/lang/ru_ru.json create mode 100644 kubejs/data/arthropocolypse/tags/worldgen/structure_set/desert_nest_avoid.json create mode 100644 kubejs/server_scripts/arthropocolypse/recipes.js create mode 100644 kubejs/server_scripts/arthropocolypse/tags.js create mode 100644 kubejs/startup_scripts/arthropocolypse/constants.js diff --git a/config/adaptive_performance_tweaks/spawn/CustomSpawn.toml b/config/adaptive_performance_tweaks/spawn/CustomSpawn.toml index 58831562f..6bea8dfdb 100644 --- a/config/adaptive_performance_tweaks/spawn/CustomSpawn.toml +++ b/config/adaptive_performance_tweaks/spawn/CustomSpawn.toml @@ -1,8 +1,8 @@ #Adaptive Performance Tweaks: Spawn ["Custom Spawn Config"] - Enabled = false - Id = "_config" + Enabled = true + Id = "TFG" #Range: 1 ~ 64 MaxPassiveMobsPerPlayer = 4 #Range: 1 ~ 512 @@ -12,19 +12,19 @@ #List of passive Mobs to optimize in the format ["minecraft:bat", "minecraft:cat", ..] PassiveMobsList = [] #Range: 1 ~ 64 - MaxNeutralMobsPerPlayer = 4 + MaxNeutralMobsPerPlayer = 16 #Range: 1 ~ 512 - MaxNeutralMobsPerWorld = 16 + MaxNeutralMobsPerWorld = 32 #Range: 1 ~ 1024 MaxNeutralMobsPerServer = 320 #List of neutral Mobs to optimize in the format ["minecraft:bee", "minecraft:wolf", ..] - NeutralMobsList = [] + NeutralMobsList = ["arthropocolypse:prairie_grasshopper", "arthropocolypse:field_cricket", "arthropocolypse:ice_crawler", "arthropocolypse:worker_ant", "arthropocolypse:soldier_ant", "arthropocolypse:stag_beetle", "arthropocolypse:stag_beetle_larva", "arthropocolypse:wharf_roach", "arthropocolypse:platerodrilus", "arthropocolypse:mealworm_beetle", "arthropocolypse:mealworm"] #Range: 1 ~ 64 - MaxHostileMobsPerPlayer = 4 + MaxHostileMobsPerPlayer = 8 #Range: 1 ~ 512 - MaxHostileMobsPerWorld = 16 + MaxHostileMobsPerWorld = 32 #Range: 1 ~ 1024 MaxHostileMobsPerServer = 320 #List of hostile Mobs to optimize in the format ["minecraft:blaze", "minecraft:cave_spider", ..] - HostileMobsList = [] + HostileMobsList = ["arthropocolypse:millipede_head", "minecraft:blaze", "minecraft:magma_cube", "primitive_creatures:golem_2", "ad_astra:sulfur_creeper", "species:cliff_hanger"] diff --git a/config/arthropocolypse.toml b/config/arthropocolypse.toml new file mode 100644 index 000000000..cbca1c9f8 --- /dev/null +++ b/config/arthropocolypse.toml @@ -0,0 +1,78 @@ + +[spawning] + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Millipede Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Millipede Spawn Chance" = 1.0 + #Max World Y Level to spawning + #Range: -64 ~ 128 + "Millipede Spawn Height" = 200 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Field Cricket Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Field Cricket Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Prairie Grasshopper Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Prairie Grasshopper Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Worker Ant Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Worker Ant Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Soldier Ant Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Soldier Ant Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Ice Crawler Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Ice Crawler Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Wharf Roach Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Wharf Roach Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Stag Beetle Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Stag Beetle Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Stag Beetle Larva Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Stag Beetle Larva Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Mealworm Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Mealworm Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Mealworm Beetle Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Mealworm Beetle Spawn Chance" = 1.0 + #Spawn Weight, 0 to disable spawn + #Range: 0 ~ 1000 + "Platerodrilus Spawn Weight" = 100 + #Random Chance to spawning + #Range: 0.0 ~ 1.0 + "Platerodrilus Spawn Chance" = 1.0 + diff --git a/kubejs/assets/ae2/lang/ru_ru.json b/kubejs/assets/ae2/lang/ru_ru.json index 2014cb8d5..9164a0ffe 100644 --- a/kubejs/assets/ae2/lang/ru_ru.json +++ b/kubejs/assets/ae2/lang/ru_ru.json @@ -8,5 +8,6 @@ "item.ae2.cell_component_256k": "256К МЭ компонент хранения", "item.ae2.item_storage_cell_256k": "256К МЭ предметная ячейка хранения", "item.ae2.fluid_storage_cell_256k": "256К МЭ жидкостная ячейка хранения", - "block.ae2.256k_crafting_storage": "Хранилище для изготовления на 256К" + "block.ae2.256k_crafting_storage": "Хранилище для изготовления на 256К", + "item.ae2.pattern_box": "Коробка для шаблонов" } \ No newline at end of file diff --git a/kubejs/assets/arthropocolypse/lang/en_us.json b/kubejs/assets/arthropocolypse/lang/en_us.json new file mode 100644 index 000000000..11544735c --- /dev/null +++ b/kubejs/assets/arthropocolypse/lang/en_us.json @@ -0,0 +1,37 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", + "entity.arthropocolypse.prairie_grasshopper": "Cimbrophlebia", + "entity.arthropocolypse.field_cricket": "Glisachaemus Hopper", + "entity.arthropocolypse.ice_crawler": "Obsidian Paleophaedon", + "entity.arthropocolypse.behemoth_desert_spider": "Behemoth Mongolarachne Queen", + "entity.arthropocolypse.behemoth_desert_scorpion": "Royal Guard Liassoscorpionides", + "entity.arthropocolypse.worker_ant": "Worker Formicium", + "entity.arthropocolypse.soldier_ant": "Soldier Formicium", + "entity.arthropocolypse.stag_beetle": "Horned Protognathinus Beetle", + "entity.arthropocolypse.stag_beetle_larva": "Horned Protognathinus Beetle Larva", + "entity.arthropocolypse.wharf_roach": "Arostropsis Weevil", + "entity.arthropocolypse.platerodrilus": "Bulwark Platerodrilus", + "entity.arthropocolypse.mealworm_beetle": "Manobiomorpha Beetle", + "entity.arthropocolypse.mealworm": "Manobiomorpha Beetle Larva", + "entity.arthropocolypse.millipede_head": "Assassin Chilognatha", + "item.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", + "item.arthropocolypse.beetle_fragment": "Chitin Fragment", + "item.arthropocolypse.beetle_fragment_block": "Chitin Block", + "item.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", + "item.arthropocolypse.chiseled_beetle_fragment_block": "Chiseled Chitin Block", + "item.arthropocolypse.polished_beetle_fragment_block": "Polished Chitin Block", + "item.arthropocolypse.tiled_beetle_fragment_block": "Tiled Chitin Block", + "item.arthropocolypse.beetle_fragment_block_stairs": "Chitin Block Stairs", + "item.arthropocolypse.beetle_fragment_block_bricks_stairs": "Chitin Bricks Stairs", + "item.arthropocolypse.polished_beetle_fragment_block_stairs": "Polished Chitin Stairs", + "item.arthropocolypse.tiled_beetle_fragment_block_stairs": "Tiled Chitin Stairs", + "item.arthropocolypse.beetle_fragment_block_slab": "Chitin Block Slab", + "item.arthropocolypse.beetle_fragment_block_bricks_slab": "Chitin Bricks Slab", + "item.arthropocolypse.polished_beetle_fragment_block_slab": "Polished Chitin Slab", + "item.arthropocolypse.tiled_beetle_fragment_block_slab": "Tiled Chitin Slab", + "item.arthropocolypse.beetle_fragment_block_wall": "Chitin Block Wall", + "item.arthropocolypse.beetle_fragment_block_bricks_wall": "Chitin Bricks Wall", + "item.arthropocolypse.polished_beetle_fragment_block_wall": "Polished Chitin Wall", + "item.arthropocolypse.tiled_beetle_fragment_block_wall": "Tiled Chitin Wall" +} \ No newline at end of file diff --git a/kubejs/assets/extendedae/lang/ru_ru.json b/kubejs/assets/extendedae/lang/ru_ru.json new file mode 100644 index 000000000..b6bfcb09e --- /dev/null +++ b/kubejs/assets/extendedae/lang/ru_ru.json @@ -0,0 +1,10 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.extendedae.assembler_matrix_frame": "Рамка матрицы сборщика", + "block.extendedae.assembler_matrix_wall": "Стенка матрицы сборщика", + "block.extendedae.assembler_matrix_glass": "Стекло матрицы сборщика", + "block.extendedae.assembler_matrix_pattern": "Ядро матрицы сборщика", + "block.extendedae.assembler_matrix_crafter": "Крафтовое ядро матрицы сборщика", + "block.extendedae.assembler_matrix_speed": "Ядро ускорения матрицы сборщика", + "item.extendedae.oversize_interface_part": "МЭ Сверхразмерный интерфейс" +} \ No newline at end of file diff --git a/kubejs/assets/merequester/lang/ru_ru.json b/kubejs/assets/merequester/lang/ru_ru.json new file mode 100644 index 000000000..1cf1392c1 --- /dev/null +++ b/kubejs/assets/merequester/lang/ru_ru.json @@ -0,0 +1,26 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "itemGroup.merequester.tab": "ME Requester", + "item.merequester.requester_terminal": "МЭ терминал запроса", + "block.merequester.requester": "МЭ заказчик", + "gui.merequester.requester_terminal": "МЭ терминал запросов", + "gui.merequester.no_requesters": "Не найдено ни одного запросчика МЭ!", + "tooltip.merequester.requester_desc": "Автоматически поддерживает запасы предметов и жидкостей, запрашивая новые партии при необходимости. Должен быть подключен к МЭ сети и может быть доступен с помощью МЭ терминала запроса. При поломке теряет свои настройки. Настройки могут быть скопированы с помощью карты памяти.", + "tooltip.merequester.shift_for_more": "%s подробнее", + "tooltip.merequester.enter_to_submit": "%s представить", + "tooltip.merequester.whole_number": "Должно быть целое число!", + "tooltip.merequester.locked": "Заблокировано! Запрос в процессе выполнения.", + "tooltip.merequester.toggle": "Переключить запрос", + "tooltip.merequester.amount": "Сумма к запасам", + "tooltip.merequester.batch": "Размер пакета", + "tooltip.merequester.submit": "Внести изменения", + "tooltip.merequester.status": "Состояние запроса", + "tooltip.merequester.idle": "Простой", + "tooltip.merequester.idle_desc": "Запросчик простаивает, когда запрашиваемое количество уже достигнуто или для этого предмета или жидкости нет шаблона крафтинга.", + "tooltip.merequester.missing": "Недостающие ингредиенты", + "tooltip.merequester.missing_desc": "Системе не хватает ингредиентов для создания требуемого предмета или жидкости. Процесс будет продолжен, когда ингредиенты будут доступны.", + "tooltip.merequester.link": "Создание", + "tooltip.merequester.link_desc": "В настоящее время система готовит требуемый предмет или жидкость.", + "tooltip.merequester.export": "Экспорт", + "tooltip.merequester.export_desc": "Заказчик пытается экспортировать результаты обработки в систему. Если запросчик находится в этом статусе долгое время, то для экспорта нет свободного места." +} \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json index ecb8b205d..7b9b9af21 100644 --- a/kubejs/assets/tfc/lang/en_us.json +++ b/kubejs/assets/tfc/lang/en_us.json @@ -27,6 +27,7 @@ "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "Gouda Wheel", "tfc.recipe.barrel.tfg.barrel.feta_wheel": "Feta Wheel", "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "Shosha Wheel", + "tfc.jei.goat_horn_knapping": "Chitin Knapping Recipe", "tfc.field_guide.book_landing_text": "Welcome traveller! This book will be the source of all you need to know as you explore the world of TerraFirmaCraft (TFC) in $(bold)TerraFirmaGreg$().$(br)This book is accessible at any time via the icon on the right side of your inventory.$(br)You can find an online copy of this guide $(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/en_us/)here$().$(br)Click on the $(italic)Entry Index$() and start typing to $(bold)search$().", "trim_material.tfc.almandine_tfc": "Almandine", "trim_material.tfc.andradite_tfc": "Andradite", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index cc6f17ce8..f22e3ce46 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1654,119 +1654,119 @@ "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.", "quests.ae2": "Applied Energistics 2", "quests.ae2.subtitle": "Самый мощный инструмент, который поможет вам с GregTech, открывается после вашего первого полёта на Луну", - "quests.ae2.certus_quartz.title": "Certus Quartz", - "quests.ae2.certus_quartz.subtitle": "One small step for you, one giant leap for logistics", - "quests.ae2.certus_quartz.desc": "With your first step on the Moon comes access to your first &bCertus Quartz&r vein.\nDon't worry, they're quite common and should be easy to locate, though having a decent Ore Prospector wouldn't hurt.\n\nWhether you decide to set up a miner or manually dig out a full vein, make sure to gather a hefty amount, as you'll need it to progress through AE2.", - "quests.ae2.certus_quartz.task": "Certus Quartz Ore", - "quests.ae2.polarizer.title": "Polarizer", - "quests.ae2.polarizer.subtitle": "Redstone isn't enough", - "quests.ae2.polarizer.desc": "One of your main resources for Applied Energistics 2 will be &bCharged Certus Quartz&r.\n\nTo obtain it, there’s really only one method: the &6HV&r Polarizer.\n\nYou’ll quickly notice how long this recipe takes, so it’s strongly recommended to dedicate a Polarizer exclusively to this task.\n\nIt may seem expensive or daunting at first, but don't worry—it’s absolutely worth it.\n\nAlso, remember not to charge all your Certus Quartz!\nYou’ll need some uncharged ones for items like the Annihilation Core, so always keep a small reserve on hand.", - "quests.ae2.hv_machines.title": "The Three Musketeers", - "quests.ae2.hv_machines.subtitle": "Or is it four?", - "quests.ae2.hv_machines.desc": "The &eSifter&r is used for ore processing to increase your yield of Certus Quartz, Quartzite, Nether Quartz, Ruby, and Armalcolite—all of which are essential for AE2. Alternatively, you can smelt the ores directly in a Furnace if you're in a rush, but you'll lose out on a lot of free resources by doing that.\n\nThe second machine, the &eMixer&r, is your only method to create &dFluix Crystals&r (more about that in the next quest). Don’t forget that you can also use the Greate Mixer as a &6HS&r-tier machine.\n\nThirdly, a &eLaser Engraver&r can combine lesser quality gems together into Exquisite, which will give you better Fluix yields.\n\nLastly, keep in mind that an &eAutoclave&r can help you generate even more gems from dusts. Once you have the resources, crafting one will make your life significantly easier.", - "quests.ae2.hv_machines.task": "Greate or GregTech?", - "quests.ae2.fluix_crystal.subtitle": "Energetic Crystal", - "quests.ae2.fluix_crystal.desc": "As you can see, there are multiple ways to create Fluix Crystals using a Mixer.\n\nThe higher the purity of your input gems, the better the yield — that’s exactly why we recommended crafting a &eSifter&r earlier.\n\nYou’ll need a massive amount of Fluix Crystals, especially since the &5liquid version&r is used in most Applied Energistics 2 recipes.\n\nSo prepare yourself—you’re going to need a lot!", - "quests.ae2.extractor.title": "Fluid Extractor", - "quests.ae2.extractor.subtitle": "The precious fluix", - "quests.ae2.extractor.desc": "Most of your Fluix Crystals will be converted into &5Liquid Fluix&r.\nHowever, make sure to keep a few in their crystal form for the occasional recipe that specifically requires it.\n\nAny &eExtractor&r will do the job here — no need for anything fancy.", - "quests.ae2.extractor.task": "Any Extractor", - "quests.ae2.fluix_liquid.title": "Liquid Fluix", - "quests.ae2.fluix_liquid.subtitle": "The Moon is so cheap", - "quests.ae2.fluix_liquid.desc": "We told you you'd need a vast quantity of Liquid Fluix… but we didn’t mention there’s a way to drastically increase your yield per Fluix Crystal.\n\nIntroducing: &bCryogenized Fluix&r, an ultra-cold fluid only craftable on the Moon using a &bVacuum Freezer&r. Simply combine Liquid Fluix with Helium-3!\n\nThis special fluid can be used as a substitute in nearly all recipes that require Liquid Fluix—but only when you're crafting on the Moon.\n\nMoon-based AE2 recipes come with huge benefits: reduced energy costs, less components needed, or sometimes both! Investing in a proper Moon base for AE2 production will pay off massively, especially in early game.\n\nIt’s not strictly mandatory — yet. But setting up a second base now will ease your future progression, as planet-based infrastructure becomes essential later on. So… why not get ahead of the curve?", - "quests.ae2.ae_processor.title": "Processors", - "quests.ae2.ae_processor.subtitle": "AE2 Components", - "quests.ae2.ae_processor.desc": "All three &eProcessors&r will be used extensively across Applied Energistics 2 recipes.\n\nThis also gives you a great opportunity to see how effective the &3Moon&r recipes can be for crafting them.\n\nBut in the end, the choice is yours — build your infrastructure where it suits you best.", - "quests.ae2.forming_press.title": "Forming Press", - "quests.ae2.forming_press.subtitle": "Small is good too", - "quests.ae2.forming_press.desc": "To get the printed circuits, you'll need to craft the &6HV&r Forming Press.\n\nThe good news? It has multiple input slots, meaning you can insert all your circuit presses at once, so a single Forming Press is enough to handle every printed circuit type.", - "quests.ae2.ae_press.title": "Inscriber Press", - "quests.ae2.ae_press.subtitle": "Treasure hunt", - "quests.ae2.ae_press.desc": "One of the last things you’ll need before diving fully into Applied Energistics 2 is collecting the 4 &ePresses&r.\n\nTo obtain them, you must locate an &eAE2 Meteorite&r on the &3Moon&r — they will look like dark spheres at the bottom of large craters. Luckily, they aren't particularly rare, and a single meteorite will contain all four Presses.\n\n&cBe careful though&r — these meteorites are often guarded, so gear up, bring an ore prospector if you have one, and happy hunting!", - "quests.ae2.ae_guide.title": "Welcome to AE2", - "quests.ae2.ae_guide.subtitle": "Another free book for your collection!", - "quests.ae2.ae_guide.desc": "Here you are, ready to begin your &bAE2&r infrastructure!\n\nThis chapter will mainly guide you through what you can and cannot craft yet.\nWe’ll also highlight the most important items you should focus on.\n\nHowever, to fully understand Applied Energistics 2, we strongly recommend using the &bG&r keybind (similar to Create's Ponder system) or open the &bME Guide&r we provide as a reward from this quest. It’s the best in-game tutorial for AE2.\nAlternatively, watch some online videos about AE2 on &61.20.1&r for more detailed explanations — AE2 is a very popular mod, so there's a ton of tutorials out there!\n\n&dPro tip&r: Many &bAE2&r recipes have alternative Moon recipes that are much cheaper. Once again, investing in your Moon base will greatly reward you throughout the entire game.", - "quests.ae2.hv.title": "HV Tier AE2", - "quests.ae2.hv.desc": "This entire branch is fully unlockable in &6HV&r!", - "quests.ae2.ae_controller.subtitle": "The beating heart of your ME network", - "quests.ae2.ae_controller.desc": "To get started, you’ll need to power your &bME Network&r. These are the two &bAE2&r blocks that can directly accept &bEU&r energy.\n\nWe strongly recommend crafting a &bME Controller&r, as &bchannels&r are enabled in TerraFirmaGreg, and the &bME Controller&r is the best way to manage multiple channels efficiently.\n\nThis is also a great time to use the in-game guide (press &aU&r on a &bME Controller&r) or watch some videos about &bAE2&r on version 1.20.1 to learn more!", - "quests.ae2.drive.subtitle": "The brains of the network", - "quests.ae2.drive.desc": "You will need to store your disks, and thanks to the &bMEGA&r addon, you now have an extra option.\n\nYou should start with a &bME Drive&r. It can store up to &e10&r disks and consumes &e4 EU/t&r. This will be your main storage solution.\n\nThe other option is the &bME Cell Dock&r. It only stores &e1&r disk but consumes just &e1 EU/t&r, and it can be placed directly on a cable like a cover. This makes it quite useful for &aSubnets&r.", - "quests.ae2.cell_housing.desc": "The &bME Cell Housing&r exists in two versions: one for &aItems&r and one for &9Fluids&r.\n\nYou can take their Storage Component out using a &ePacker&r or simply by Sneak + Right-click while holding the storage cell in your hand.", - "quests.ae2.cables.subtitle": "The arteries of the network", - "quests.ae2.cables.desc": "Your basic cables to connect your &bAE2&r infrastructure.\n\nRemember that regular cables carry only &e8 Channels&r, while &6Dense Cables&r can carry up to &a32 Channels&r.\n\nGood news: in &2TFG&r, you can directly craft the &9Smart Cables&r! They are very helpful as they show a &evisual indicator&r for the number of used channels.", - "quests.ae2.terminals.subtitle": "The... fingers? of the network?", - "quests.ae2.terminals.desc": "These terminals are mandatory to access your ME Network and to set up your auto-crafting system.", - "quests.ae2.molecular_assembler.desc": "The &9Molecular Assembler&r is basically your auto-crafting table.\n\nYou can use it for passive crafting, or combine it with a &9Pattern Provider&r.\n\nAs always, check the in-game guide using &eG&r to learn more about it.", - "quests.ae2.crafting_unit.subtitle": "The second? brains of the network", - "quests.ae2.crafting_unit.desc": "The &dCrafting Unit&r works the same way as your &bME Cell Housing&r.\n\nUse a &6Packer&r to make it functional — by itself, it serves no purpose, though you can use it to complete multi-blocks.\n\nIt’s your mandatory structure to run your &bAE2&r auto-crafting.\n\nAs usual, use the in-game guide from &bAE2&r to learn more about the &dCrafting CPU&r.", - "quests.ae2.crafting_storage.desc": "These are mandatory for any sort of auto crafting — the bigger the storage, the bigger the recipe chain that can be done with one request. You can also place multiple of them next to each other to add their storage size.\n\nUse the in-game guide for further details — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", - "quests.ae2.crafting_storage.task": "Any crafting storage", - "quests.ae2.pattern_provider.subtitle": "These tell your machines how to craft things", - "quests.ae2.pattern_provider.desc": "The &9Pattern Provider&r is a modern &bAE2&r block. If you're only familiar with AE2 in previous versions of Minecraft, this is the block that you put your patterns into now instead of an Interface.\n\nIt can push items into the connected inventory on a crafting request, and pushing items back into it will send them back to your ME storage.\n\nIf you connect these to your GregTech machines, make sure you select the \"Allow Input From Output Face\" option on them so you can both input and output from the same side!\n\nAs always, check the in-game guide using &eG&r to learn more about it.", - "quests.ae2.pattern_provider.task": "Either Pattern Provider", - "quests.ae2.pattern.subtitle": "Crafting instructions", - "quests.ae2.pattern.desc": "Each of these tells your ME system how to craft a specific item. You'll need one for every single recipe, so it's worth aiming for the most efficient way to craft a ton of these.\n\nTo clear a Pattern, simply Sneak + Right-click them.\n\nUse the in-game guide for full details on how to use them, just remember to set the pattern type to \"Processing\" for any recipes that'll go in GregTech machines.", - "quests.ae2.interface.subtitle": "I'm giving up on the body part analogy", - "quests.ae2.interface.desc": "The &dME Interface&r is one of your bread and butter tools to get items or fluids out of, or inside, your network.\n\nIf you've only used AE2 in older Minecraft versions, these now only make network contents passively available for other things to pull out of, and don't actively push anything or hold patterns. You'll want the Pattern Provider for that.\n\nThe ME Interface can do way too many things to list here, so check the in-game guide using &eG&r to learn more about it.", - "quests.ae2.interface_automation.title": "Interface Automation", - "quests.ae2.interface_automation.desc": "The best way to passively route items and fluids around your base is through the &bME Interface&r. Since Interfaces don't push out their contents, you'll need to slap a cover on your machine or pipe.\n\nRemember to enable the &eAllow Input&r option on the Output face in your GregTech machine's GUI, in order to push and pull from the same side.\n\nUsing filters on your covers can also be a handy way for multiple machines to pull out of the same Interface.\n\nTo avoid overfilling a machine's item input slots, you'll need to use a Robot Arm cover on &eKeep Exact&r mode with a filter.\n\nThe fluid input doesn’t have this issue, as it will fill only one slot automatically.", - "quests.ae2.crafting_accelerator.desc": "Simply use the in-game guide — it will explain everything far better than we ever could in a quest.\n\nTake your time to read it, it’s a great resource!", - "quests.ae2.export_bus.desc": "The &dME Export Bus&r is a strong tool to get items or fluids out of your &dME Network&r.\nOnce you're able to craft them, you should especially look at the &eExtendedAE&r ones, as they can be of great help for some automation.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", - "quests.ae2.export_bus.task": "Any Export Bus", - "quests.ae2.import_bus.desc": "The &dME Import Bus&r is one way to get items and fluids into your &dME Network&r. You could also just push items and fluids into an Interface or Pattern Provider for the same result, though, so Import Buses are more niche.\n\n&cImportant note&r: These have much more of a &4TPS impact&r than something like ME Interfaces, so it's best to use them sparingly.", - "quests.ae2.storage_bus.desc": "The &bME Storage Bus&r is how you tell your ME network about items and fluids stored somewhere outside of ME Drives. They can be very powerful in combination with Super Tanks and Super Chests — just be sure to give the Storage Bus a higher &ePriority&r than your Drive, and partition it to the item or fluid you want to store, so your network tries to put things there first.\n\nStorage Buses are also essential for setting up Subnets — check out the in-game guide for more details on how those work.\n\nAlso, &aExtended AE&r comes with a lot of Storage Bus variants that may come in handy later. For example, you could tell your network to \"store\" all of your &6hot ingots&r in your Vacuum Freezer.", - "quests.ae2.storage_bus.task": "Any Storage Bus variant", - "quests.ae2.cell_component_1k.desc": "The &bStorage Component&r will be a core part of your progression through &aAE2&r, and they can be quite expensive, even though you will need them to make your &bStorage Cells&r.\n\nThe &e1k ME Storage Component&r is simple enough to not have a specialized moon recipe, but all of the others do, and since the Storage Components get exponentially more expensive... have we convinced you to make a Moon base yet?", - "quests.ae2.cell_component_4k.desc": "Take a look at how the &e4k Storage Component&r has a tremendously cheaper recipe on the &dMoon&r. This will be a consistent trend — the Moon recipes will always use one circuit tier lower than the non-Moon ones.", - "quests.ae2.cell_component_16k.desc": "The &e16k Storage Component&r is starting to get exponentially more expensive, so now you can really start seeing the savings from having a Moon base.\n\nYou do have a Moon base, right?", - "quests.ae2.p2p.title": "P2P Tunneling", - "quests.ae2.p2p.desc": "Channels are enabled here by default, so you may want to learn about &dP2P&r. They're essentially a way to condense multiple channels down into a single channel, letting you carry hundreds of them across your base through a single cable.\n\nAs usual, we advise you to use the in-game guide for more detailed information, and there's also plenty of video tutorials out there that you may find useful.\n\nWe also recommend making the &bAdvanced Memory Card&r from &dBetter P2P&r as soon as possible. It will be a big help when you've got many different P2P tunnels to deal with. You can even place a load of &dME P2P Inputs&r on your ME Controller ahead of time, and connect them to an output whenever you need.", - "quests.ae2.p2p.task": "Any P2P Tunnel", - "quests.ae2.cell_workbench.desc": "The &bCell Workbench&r is used to customize your storage cells.\n\nYou can give them &aWhitelist&r/&cBlacklist&r filters or partitions, or add upgrades like the &4Overflow Destruction Card&r — but be cautious with this one!\n\nThe &bIO Port&r is used to \"defragment\" your drives, if you've got the same items scattered across several of them.", - "quests.ae2.requester.desc.1": "The &aME Requester&r may be one of your &6strongest tools&r if you want to build your automation around &eauto-crafting&r and not passive production.\n\nIt can send Crafting Request batches of an item when your network has fewer than a specified amount.\n\nIf you are using a lot of &dCrafting Upgrades&r, you'd be better off using this machine as it will have much less of an impact on your &cTPS&r.", - "quests.ae2.requester.desc.2": "Also note that you can set your Crafting CPUs to be dedicated to Player-started crafting, automatic crafting requests, or neither, which can be useful to stop your Requesters from hogging all your CPUs.\n\nIf you like, you can also make a specialized &bTerminal&r to have access to all your Requesters from one place.", - "quests.ae2.emitters.desc": "&bEmitters&r and the &bToggle Bus&r are your way to manage &cRedstone&r signals in &bAE2&r.\n\nThe Level Emitter is especially useful for setting up passive production when combined with the GregTech Machine Controller Cover!\n\nCheck the in-game guide for more detailed information.", - "quests.ae2.batteries.desc": "These are the batteries for your ME Network. You may not need them at the beginning, but just keep them in mind — your energy cost could rise quickly, and a blackout in your ME Network can be a really dangerous situation.", - "quests.ae2.cutting_knife.title": "Cutting Knives", - "quests.ae2.cutting_knife.desc": "These are tools for easily renaming all of your ME components. Why would you want to do this? If you rename your Pattern Providers, their names will show up in the Pattern Terminal, which can be very handy for keeping track of which Pattern Provider is connected to which machine.\n\nFor example &oSmall Gear Extruder&r as a name for the Pattern Provider would let you easily know that this Extruder contains a Small Gear mold, so you should only put Small Gear patterns in it.", - "quests.ae2.cutting_knife.task": "Either cutting knife", - "quests.ae2.pattern_box.desc": "The Pattern Box can carry around all your Blank and Encoded Patterns in one inventory slot, and they will be visible in any AE2 device UI as long as the box is somewhere in your inventory.", - "quests.ae2.wireless_access.title": "ME Wireless Network", - "quests.ae2.wireless_access.subtitle": "Get Free WiFi Anywhere You Go", - "quests.ae2.wireless_access.desc": "Once you've made it to &5EV&r, you'll gain access to the ME Wireless Access Point, which basically acts like a WiFi Router for your ME network. Connect it to a central point in your base, shove as many Wireless Booster cards as you want to increase its range (and power draw), and then link a Wireless Terminal to it.\n\nOnce you have Epoxy and Rhodium, you'll be able to combine all of your Wireless Terminals together via a Universal Terminal!", - "quests.ae2.interplanetary_wireless.subtitle": "Forgot something at home?", - "quests.ae2.interplanetary_wireless.desc": "You can upgrade your Wireless Terminal with this special Card, allowing access to your network from any distance, even on different worlds! Sounds too good to be true? There's a major catch — transferring items uses a huge amount of energy.\n\nYou can sort of get around this with some Energy Cards and a battery in your inventory set to Discharge Mode, but it should work well enough for those times when you accidentally left something at your base on Earth and don't want to fly all the way back.\n\nFor proper automated transfer, you'll need a Railgun.", - "quests.ae2.iv.title": "IV Tier AE2", - "quests.ae2.iv.desc": "This entire branch becomes fully unlockable once you reach &1IV&r.", + "quests.ae2.certus_quartz.title": "Истинный кварц", + "quests.ae2.certus_quartz.subtitle": "Один маленький шаг для тебя, один гигантский скачок для логистики", + "quests.ae2.certus_quartz.desc": "С твоим первым шагом на Луну ты получаешь доступ к первой жиле &bистинного кварца&r.\nНе переживай — они довольно распространены и их легко найти, хотя наличие хорошего разведочного сканера точно не помешает.\n\nНезависимо от того, решишь ли ты использовать шахтеры или вручную выкопать всю жилу, обязательно добудь приличное количество, так как оно понадобится для продвижения в AE2.", + "quests.ae2.certus_quartz.task": "Руда истинного кварца", + "quests.ae2.polarizer.title": "Поляризатор", + "quests.ae2.polarizer.subtitle": "Просто редстоуна недостаточно", + "quests.ae2.polarizer.desc": "Одним из основных ресурсов для Applied Energistics 2 будет &bзаряженный кристалл истинного кварц&r.\n\nПолучить его можно только одним способом — с помощью &6HV&r-поляризатора.\n\nТы быстро заметишь, насколько долгий это процесс, поэтому настоятельно рекомендуется выделить отдельный поляризатор.\n\nПоначалу это может показаться дорогим или пугающим, но не переживай — оно того стоит.\n\nТакже помни: не заряжай весь истинный кварц!\nТебе может понадобятся незаряженный кварц, например для Ядер уничтожения, поэтому всегда держи небольшой запас.", + "quests.ae2.hv_machines.title": "Три мушкетёра", + "quests.ae2.hv_machines.subtitle": "Или всё-таки четыре?", + "quests.ae2.hv_machines.desc": "&eПросеиватель&r используется для переработки руд и увеличения выхода истинного кварца, кварцита, незер-кварца, рубина и армалколита — всех необходимых ресурсов для AE2. В качестве альтернативы ты можешь переплавлять руды напрямую в печи, если торопишься, но при этом потеряешь много бесплатных ресурсов.\n\nВторая машина — &eМиксер&r — это единственный способ создать &dфлюисовые кристаллы&r (подробнее об этом в следующем задании). Не забывай, что Greate смешиватель также можно использовать как машину уровня &6HS&r.\n\nТретья — &eЛазерный гравировщик&r — позволяет объединять кристаллы более низкого качества в безупречные, что даёт лучший выход флюиса.\n\nИ наконец, &eАвтоклав&r может помочь получить ещё больше кристаллов из пыли. Как только у тебя появятся ресурсы, его создание значительно упростит тебе жизнь.", + "quests.ae2.hv_machines.task": "Greate или GregTech?", + "quests.ae2.fluix_crystal.subtitle": "Энергетический кристалл", + "quests.ae2.fluix_crystal.desc": "Как ты видишь, существует несколько способов создания флюисовых кристаллов с помощью миксера.\n\nЧем выше чистота исходных кристаллов, тем выше выход — именно поэтому мы ранее рекомендовали создать &eПросеиватель&r.\n\nТебе понадобится огромное количество флюисовых кристаллов, особенно учитывая, что &5жидкий флюс&r используется в большинстве рецептов Applied Energistics 2.\n\nТак что готовься — их потребуется очень много!", + "quests.ae2.extractor.title": "Экстрактор", + "quests.ae2.extractor.subtitle": "Драгоценный флюис", + "quests.ae2.extractor.desc": "Большая часть твоих кристаллов флюиса будет преобразована в &5жидкий флюис&r.\nОднако обязательно оставь несколько в кристальном виде для редких рецептов, которые требуют именно его.\n\nЛюбой &eэкстрактор&r подойдёт для этой задачи — ничего особенного не требуется.", + "quests.ae2.extractor.task": "Любой экстрактор", + "quests.ae2.fluix_liquid.title": "Жидкий флюис", + "quests.ae2.fluix_liquid.subtitle": "Луна — это так дёшево", + "quests.ae2.fluix_liquid.desc": "Мы говорили, что тебе понадобится огромное количество жидкого флюиса… но не упомянули, что существует способ значительно увеличить выход с одного кристалла флюиса.\n\nПредставляем: &bкриогенный флюис&r — сверххолодная жидкость, которую можно создать только на Луне с помощью &bвакуумного холодильника&r. Просто объедини жидкий флюис с гелием-3!\n\nЭту особую жидкость можно использовать в качестве замены почти во всех рецептах, требующих жидкий флюис, — но только при крафте на Луне.\n\nЛунные рецепты AE2 дают огромные преимущества: сниженные энергозатраты, меньшее количество компонентов или иногда и то и другое!\nИнвестиции в полноценную лунную базу для производства AE2 окупятся с лихвой, особенно на ранних этапах игры.\n\nЭто не является строго обязательным — пока что. Но создание второй базы уже сейчас облегчит дальнейшее развитие, так как инфраструктура на планетах станет необходимой позже. Так почему бы не сыграть на опережение?", + "quests.ae2.ae_processor.title": "Процессоры", + "quests.ae2.ae_processor.subtitle": "Компоненты AE2", + "quests.ae2.ae_processor.desc": "Все три типа &eпроцессоров&r будут широко использоваться во множестве рецептов Applied Energistics 2.\n\nЭто также отличная возможность увидеть, насколько эффективными могут быть &3лунные&r рецепты для их создания.\n\nНо в конечном итоге выбор за тобой — строй инфраструктуру там, где тебе удобнее всего.", + "quests.ae2.forming_press.title": "Формовочный пресс", + "quests.ae2.forming_press.subtitle": "Маленькое — тоже хорошо", + "quests.ae2.forming_press.desc": "Чтобы получить печатные схемы, тебе потребуется создать &6HV&r формовочный пресс.\n\nХорошая новость? У него есть несколько входных слотов, а значит ты можешь вставить все печати(прессы) одновременно, и одного формовочного пресса будет достаточно для содния всех типов процессоров.", + "quests.ae2.ae_press.title": "Печати для вырезателя", + "quests.ae2.ae_press.subtitle": "А где вырезатель?", + "quests.ae2.ae_press.desc": "Одним из последних шагов перед полным погружением в Applied Energistics 2 является сбор всех 4 &eпечатей&r.\n\nЧтобы получить их, тебе нужно найти &eметеорит AE2&r на &3Луне&r — они выглядят как тёмные сферы на дне больших кратеров. К счастью, они встречаются не так уж редко, и в одном метеорите находятся все четыре печати.\n\n&cНо будь осторожен&r — такие метеориты часто охраняются, так что экипируйся, возьми разведочный сканер, если он у тебя есть, и удачной охоты!", + "quests.ae2.ae_guide.title": "Добро пожаловать в AE2", + "quests.ae2.ae_guide.subtitle": "Ещё одна бесплатная книга в твою коллекцию!", + "quests.ae2.ae_guide.desc": "Вот ты и готов начать создание своей инфраструктуры &bAE2&r!\n\nЭта глава в основном проведёт тебя через то, что ты уже можешь и не можешь крафтить.\nМы также выделим самые важные предметы, на которых стоит сосредоточиться.\n\nОднако, чтобы полностью понять Applied Energistics 2, мы настоятельно рекомендуем использовать привязку клавиши &bG&r (аналогично системе размышления из Create) или открыть &bРуководство&r, которое ты получишь в награду за это задание. Это лучший внутриигровой учебник по AE2.\nТакже ты можешь посмотреть обучающие видео по AE2 для версии &61.20.1&r — AE2 является очень популярным модом, так что в сети есть множество руководств!\n\n&dСовет профессионала&r: у многих рецептов &bAE2&r есть альтернативные лунные рецепты, которые значительно дешевле. В очередной раз, инвестиции в лунную базу будут щедро вознаграждены на протяжении всей игры.", + "quests.ae2.hv.title": "AE2 HV", + "quests.ae2.hv.desc": "Вся эта ветка полностью открывается на &6HV&r!", + "quests.ae2.ae_controller.subtitle": "Бьющееся сердце твоей ME-сети", + "quests.ae2.ae_controller.desc": "Для начала тебе нужно запитать свою &bМЭ-сеть&r. Это два блока &bAE2&r, которые могут напрямую принимать энергию &bEU&r.\n\nМы настоятельно рекомендуем создать &bМЭ-регулятора&r, так как в TerraFirmaGreg включены &bканалы&r, а &bМЭ-регулятор&r — лучший способ эффективно управлять большим колличеством каналов.\n\nЭто также отличное время, чтобы воспользоваться внутриигровым руководством (нажми &aU&r на &bME-регулятор&r) или посмотреть видео про &bAE2&r для версии 1.20.1, чтобы узнать больше!", + "quests.ae2.drive.subtitle": "Мозг сети", + "quests.ae2.drive.desc": "Тебе понадобится место для хранения дисков, и благодаря аддону &bMEGA&r у тебя теперь есть дополнительный вариант.\n\nНачать стоит с &bМЭ-дисковода&r. Он может хранить до &e10&r дисков и потребляет &e4 EU/t&r. Это будет твоё основное хранилище.\n\nДругой вариант — &bМЭ станция для ячеек&r. Он хранит всего &e1&r диск, но потребляет лишь &e1 EU/t&r и может устанавливаться прямо на кабель. Это делает его очень полезным для &aподсетей&r.", + "quests.ae2.cell_housing.desc": "&bМЭ корпус&r существует в двух версиях: для &aпредметов&r и для &9жидкостей&r.\n\nТы можешь извлечь компонент хранения с помощью &eупаковщика&r или просто зажав Shift и кликнув правой кнопкой мыши, держа ячейку хранения в руке.", + "quests.ae2.cables.subtitle": "Артерии сети", + "quests.ae2.cables.desc": "Базовые кабели для соединения твоей инфраструктуры &bAE2&r.\n\nПомни, что обычные кабели передают только &e8 каналов&r, тогда как &6плотные кабели&r(они названы непрозрачными) могут передавать до &a32 каналов&r.\n\nХорошая новость: в &2TFG&r ты можешь напрямую крафтить &9умные кабели&r! Они очень полезны, так как показывают &eвизуальный индикатор&r количества используемых каналов.", + "quests.ae2.terminals.subtitle": "Эм… пальцы? сети?", + "quests.ae2.terminals.desc": "Эти терминалы необходимы для доступа к твоей МЭ-сети и для настройки системы автокрафта.", + "quests.ae2.molecular_assembler.desc": "&9Молекулярный сборщик&r — это, по сути, твой автоматический верстак.\n\nТы можешь использовать его для пассивного крафта или объединить с &9поставщиком шаблонов&r.\n\nКак всегда, загляни во внутриигровое руководство с помощью &eG&r, чтобы узнать больше.", + "quests.ae2.crafting_unit.subtitle": "Второй? мозг сети", + "quests.ae2.crafting_unit.desc": "&dБлоки создания&r работает так же, как &bМЭ корпус ячейки&r.\n\nИспользуй &6упаковщик&r, чтобы сделать его функциональным — сам по себе он не имеет назначения, хотя может использоваться для сборки мультиблоков.\n\nЭто обязательная структура для работы автокрафта &bAE2&r.\n\nКак обычно, используй внутриигровое руководство &bAE2&r, чтобы узнать больше о &dпроцессоре крафта&r.", + "quests.ae2.crafting_storage.desc": "Эти блоки обязательны для любого автокрафта — чем больше хранилище, тем более длинные цепочки рецептов можно выполнить по одному запросу. Ты также можешь размещать несколько таких блоков рядом, чтобы суммировать их объём.\n\nИспользуй внутриигровое руководство для получения дополнительных деталей — оно объяснит всё гораздо лучше, чем мы когда-либо смогли бы в описании задания.\n\nНе торопись и внимательно прочитай его — это отличный источник информации!", + "quests.ae2.crafting_storage.task": "Любое хранилище для изготовления", + "quests.ae2.pattern_provider.subtitle": "Они указывают вашим машинам, как что-либо крафтить", + "quests.ae2.pattern_provider.desc": "&9МЭ Поставщик шаблонов&r — это современный блок &bAE2&r. Если ты знаком с AE2 только по более старым версиям Minecraft, то теперь именно в этот блок вставляются шаблоны, а не в интерфейс.\n\nОн может отправлять предметы в подключённый инвентарь по запросу на крафт, а возврат предметов обратно в него отправит их обратно в ME-сеть.\n\nЕсли ты подключаешь его к машинам GregTech, обязательно включи опцию \"Разрешить ввод со стороны выхода\", чтобы можно было и вводить, и выводить предметы с одной и той же стороны!\n\nКак всегда, загляни во внутриигровое руководство, нажав &eG&r, чтобы узнать больше.", + "quests.ae2.pattern_provider.task": "Любой поставщик шаблонов", + "quests.ae2.pattern.subtitle": "Инструкции крафта", + "quests.ae2.pattern.desc": "Каждый из них сообщает твоей ME-системе, как скрафтить конкретный предмет. Он понадобится для каждого отдельного рецепта, поэтому стоит сразу стремиться к наиболее эффективному способу массового их производства.\n\nЧтобы очистить шаблон, просто зажми Shift и кликни по нему правой кнопкой мыши.\n\nИспользуй внутриигровое руководство для получения полной информации о том, как ими пользоваться, и не забудь установить тип шаблона \"Обработки\" для рецептов, которые будут выполняться в машинах GregTech.", + "quests.ae2.interface.subtitle": "Я сдаюсь с аналогиями частей тела", + "quests.ae2.interface.desc": "&dМЭ-интерфейс&r — один из твоих основных инструментов для ввода и вывода предметов или жидкостей из сети.\n\nЕсли ты использовал AE2 только в старых версиях Minecraft, то теперь эти блоки лишь пассивно предоставляют содержимое сети для извлечения другими системами и не отправляют предметы активно и не хранят шаблоны. Для этого тебе понадобится поставщик шаблонов.\n\nМЭ-интерфейс умеет слишком многое, чтобы перечислять всё здесь, поэтому обязательно загляни во внутриигровое руководство, нажав &eG&r, чтобы узнать больше.", + "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.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, чем, например, МЭ-интерфейсы, поэтому использовать их стоит умеренно.", + "quests.ae2.storage_bus.desc": "&bМЭ шина хранения&r — это способ сообщить МЭ сети о предметах и жидкостях, хранящихся где-то вне ME дисков. В сочетании с супер резервуарами и супер сундуками они могут быть очень мощными — просто обязательно задай шине хранения более высокий &eприоритет&r, чем у диска, и ограничь её конкретным предметом или жидкостью, чтобы сеть в первую очередь пыталась помещать всё именно туда.\n\nШины хранения также необходимы для настройки подсетей — загляни во внутриигровое руководство, чтобы узнать больше о том, как они работают.\n\nКроме того, &aExtended AE&r добавляет множество вариантов шин хранения, которые могут пригодиться позже. Например, ты можешь сказать сети \"хранить\" все свои &6горячие слитки&r в вакуумном холодильнике.", + "quests.ae2.storage_bus.task": "Любой вариант шины хранения", + "quests.ae2.cell_component_1k.desc": "&bКомпонент хранения&r будет ключевой частью твоего прогресса в &aAE2&r, и он может быть довольно дорогим, несмотря на то, что он нужен для создания &bячеек хранения&r.\n\n&e1k МЭ компонент хранения&r достаточно прост и не имеет специального лунного рецепта, но все остальные — имеют. А поскольку компоненты хранения становятся экспоненциально дороже… мы уже убедили тебя построить базу на Луне?", + "quests.ae2.cell_component_4k.desc": "Обрати внимание, насколько у &e4k компонента хранения&r рецепт на &dЛуне&r дешевле. Это будет постоянной тенденцией — лунные рецепты всегда используют схемы на один уровень ниже, чем не лунные.", + "quests.ae2.cell_component_16k.desc": "&e16k компонент хранения&r начинает экспоненциально дорожать, так что теперь ты действительно можешь почувствовать выгоду от наличия лунной базы.\n\nУ тебя ведь есть база на Луне, правда?", + "quests.ae2.p2p.title": "P2P-туннели", + "quests.ae2.p2p.desc": "Каналы здесь включены по умолчанию, поэтому тебе стоит разобраться с &dP2P&r. По сути, это способ сжать несколько каналов в один, позволяя передавать сотни каналов по всей базе через один-единственный кабель.\n\nКак обычно, мы советуем воспользоваться внутриигровым руководством для получения более подробной информации, а также существует множество видеоуроков, которые могут оказаться полезными.\n\nМы также рекомендуем как можно раньше сделать &bРасширенную карту памяти&r из &dBetter P2P&r. Она сильно поможет, когда тебе придётся иметь дело с большим количеством разных P2P-туннелей. Ты даже можешь заранее разместить несколько &dМЭ P2P водов&r на ME-контроллере и подключать их к выходу тогда, когда это потребуется.", + "quests.ae2.p2p.task": "Любой P2P-туннель", + "quests.ae2.cell_workbench.desc": "&bВерстак для камер&r используется для настройки твоих ячеек хранения.\n\nТы можешь задать им фильтры &aБелого спичка&r/&cЧёрного списка&r или разделы, а также добавить улучшения вроде &4Пустотной карты&r — но с этим улучшением будь осторожен!\n\n&bМЭ порт ввода/вывода&r используется для \"дефрагментации\" твоих дисков, если одни и те же предметы распределены по нескольким из них.", + "quests.ae2.requester.desc.1": "&aМЭ заказчик&r может стать одним из твоих &6самых мощных инструментов&r, если ты хочешь строить автоматизацию вокруг &eавтокрафта&r, а не пассивного производства.\n\nОн может отправлять пакеты запросов на крафт предмета, когда в сети его становится меньше заданного количества.\n\nЕсли ты используешь много &dКарт изготовления&r, лучше воспользуйся этой машиной, так как она оказывает значительно меньшее влияние на ваш &cTPS&r.", + "quests.ae2.requester.desc.2": "Также обратите внимание, что ты можешь настроить ваши хранилища для изготовлений так, чтобы они были выделены под крафт, запускаемый игроком, автоматические запросы крафта или ни то ни другое. Это может быть полезно, чтобы Заказчики не занимали все твои хранилища для изготовлений.\n\nПри желании ты также можешь создать специализированный &bМЭ терминал запросов&r, чтобы иметь доступ ко всем твоим Запросчикам из одного места.", + "quests.ae2.emitters.desc": "&bИзлучатели уровня&r и &bшина переключения&r — это твои инструменты для управления сигналами &cредстоуна&r в &bAE2&r.\n\nИзлучатели уровня особенно полезен для настройки пассивного производства в сочетании с контроллером механизма GregTech!\n\nДля более подробной информации загляни во внутриигровое руководство.", + "quests.ae2.batteries.desc": "Это батареи для твоей МЭ-сети. В начале они могут тебе не понадобиться, но имейте их в виду — энергопотребление может быстро вырасти, а отключение питания в МЭ-сети может оказаться действительно опасной ситуацией.", + "quests.ae2.cutting_knife.title": "Режущие ножи", + "quests.ae2.cutting_knife.desc": "Это инструменты для удобного переименования всех твоих МЭ-компонентов. Зачем это нужно? Если ты переименуешь свои поставщики шаблонов, их имена будут отображаться в терминале доступа к шаблонам, что очень удобно для отслеживания того, какой поставщик шаблонов подключён к какой машине.\n\nНапример, имя &oSmall Gear Extruder&r для поставщика шаблонов позволит тебе сразу понять, что этот экструдер содержит форму для малых шестерён, и что в него следует помещать только шаблоны малых шестерён.", + "quests.ae2.cutting_knife.task": "Любой режущий нож", + "quests.ae2.pattern_box.desc": "Коробка для шаблонов может переносить все твои пустые и закодированные шаблоны в одном слоте инвентаря, и они будут видны в интерфейсе любого устройства AE2, пока коробка находится где-либо в вашем инвентаре.", + "quests.ae2.wireless_access.title": "Беспроводная МЭ-сеть", + "quests.ae2.wireless_access.subtitle": "Бесплатный Wi-Fi где бы вы ни были", + "quests.ae2.wireless_access.desc": "Как только ты достигнешь уровня &5EV&r, ты получишь доступ к МЭ беспроводной точке доступа, который по сути работает как Wi-Fi роутер для твоей МЭ-сети. Подключи его к центральной точке базы, установите столько беспроводных усилитилей, сколько захочешь, чтобы увеличить радиус действия (и энергопотребление), а затем привяжи к нему беспроводной терминал.\n\nКак только у тебя появятся эпоксидная смола и родий, ты сможешь объединить все твои беспроводные терминалы в один универсальный терминал!", + "quests.ae2.interplanetary_wireless.subtitle": "Забыли что-то дома?", + "quests.ae2.interplanetary_wireless.desc": "Ты можешь улучшить свой беспроводной терминал с помощью этой специальной карты, получив доступ к сети с любого расстояния, даже из других миров! Звучит слишком хорошо, чтобы быть правдой? Есть серьёзный подвох — передача предметов потребляет огромное количество энергии.\n\nЧастично это можно обойти с помощью энергетических карт и батареек в твоем инвентаре, установленной в режим разрядки, и этого будет достаточно для случаев, когда ты случайно забыл что-то на базе на Земле и не хочешь лететь обратно.\n\nДля полноценной автоматической передачи тебе понадобится рельсотрон.", + "quests.ae2.iv.title": "AE2 уровня IV", + "quests.ae2.iv.desc": "Вся эта ветка становится полностью доступной, как только ты достигнешь &1IV&r.", "quests.ae2.accumulation_press.desc": "To get this &eNew Inscriber Press&r, you will need to invest a bit.\n\nFirst, you must upgrade your Implosion Compressor with &5two EV Energy Hatches&r.\n\nThen, get yourself a new IV Laser Engraver if you don't already have one.\n\nAnd finally, prepare a lot of Industrial TNT — it’s the &conly one that works&r for this process.\n\nPlan carefully, as this step is quite demanding!", - "quests.ae2.accumulation_processor.desc": "The &eAccumulation Processor&r will require a large amount of Silicon for each craft.\n\nWe hope you already have a dedicated EBF producing Silicon, or at least a strong infrastructure to manufacture it quickly.\n\nPrepare accordingly, as you’ll need plenty of it!", - "quests.ae2.mega_crafting.desc": "These are a neat upgrade for your &bCrafting CPU&r.\n\nThey will help to speed up your auto-crafting and allow you to handle larger jobs with ease.", - "quests.ae2.mega_battery.desc": "A &ebigger battery&r for a bigger network. Nothing else to it!", - "quests.ae2.extended_pattern_access.desc": "The &eExtended Pattern Terminal&r is a wonderful upgrade to manage all your patterns in an easier way.\n\nYou get &6more search options&r for your patterns, and with how many you should be getting now, it will be a huge QoL improvement.\n\nMake the \"upgrade\" version to simply sneak-right-click your existing pattern providers to upgrade them without having to take all the patterns out.", - "quests.ae2.extended_pattern_access.task": "Either the part or the upgrade", - "quests.ae2.extended_interface.desc": "Here they are, your bigger &bInterface&r with an upgrade so you don't even need to disconnect them to upgrade.\n\nYou will be quite happy with them!", - "quests.ae2.extended_interface.task": "Either the part or the upgrade", - "quests.ae2.extended_patprov.desc": "Here they are, your bigger &bPattern Providers&r with an upgrade so you don't even need to disconnect them to upgrade.\n\nYou will be quite happy with them!", - "quests.ae2.extended_patprov.task": "Either the part or the upgrade", - "quests.ae2.extended_drive.desc": "The &dME Extended Drive&r will &6double&r the amount of &eStorage Cells&r you can have within it.\n\nYou can also craft the &eupgrade&r to simply &aRight Click&r your existing ME Drives without having to take your discs out, and it won't cost you more.", - "quests.ae2.extended_drive.task": "Either the part or the upgrade", - "quests.ae2.extended_import_export.desc": "These are eight times faster than their regular counterparts. Enjoy!", - "quests.ae2.extended_import_export.task": "Either the part or the upgrade", - "quests.ae2.extended_io_port.desc": "This upgrade will let you &atransfer faster&r while also offering &6more upgrade slots&r if needed.", - "quests.ae2.extended_molecular_assembler.desc": "The upgrade of the &bMolecular Assembler&r.\n\nIt runs &68 crafting jobs&r at the same time and goes &62 times faster&r.\n\nEven though you can only use it with a normal &bPattern Provider&r, it will be a &agreat upgrade&r before you get the &dMatrix Multiblock&r a bit later on.", - "quests.ae2.wireless.desc": "The &aME Wireless Connector&r is your go-to if you don't want to put down massive lines of &bME Cables&r. They effectively work like short-range Quantum Tunnels, but have a limited range and don't work across dimensions. That would be too easy, wouldn't it?\n\nDon't forget to check the in-game guide with &eG&r to learn about how they work and their limitations.", - "quests.ae2.mega_cell_housing.desc": "These &bCell Housings&r work the same way as the basic ones, but you will need these to make the bigger disks from &dMEGA&r.", - "quests.ae2.cell_component_64k.desc": "Now that you have &1IV&r Circuits, you can make this enormous &5Storage Component&r. Aren't you glad you made a Moon base?", - "quests.ae2.cell_component_256k.desc": "The &c256k ME Storage Component&r is the last one you can make with a regular Assembler, and it's so big that you may never need any of the bigger sizes.\n\nUnless you're up for the challenge, of course.", - "quests.ae2.luv.title": "LuV Tier AE2", - "quests.ae2.luv.desc": "This branch becomes unlockable once you reach &dLuV&r.", - "quests.ae2.cell_component_1m.desc": "The &3MEGA Storage Components&r will need an &bAssembly Line&r. Note that the non-Moon recipe must be crafted within a Cleanroom, or you can use a Cleaning Maintenance Hatch if you have access to one.\n\nNo need for that on the Moon though.", - "quests.ae2.cell_component_4m.desc": "Simply bigger and more expensive.", - "quests.ae2.cell_component_16m.desc": "This one can only be made on the &cMoon&r and nowhere else. It will also require a Cleanroom environment, so if you don’t want to bother with a Cleanroom on the &cMoon&r, you should make the &7Cleaning Maintenance Hatch&r.\n\nIt will also need some research. Refer to the &cZPM&r Chapter if you don’t know what that means.", - "quests.ae2.cell_component_64m.desc": "The &c64M MEGA Storage Component&r is the biggest one you can make in &7TerraFirmaGreg&r. Honestly, we believe you'll never need it, but it’s there for completionists.", - "quests.ae2.oversize_interface.desc": "The &dME Oversize Interface&r is a &dME Extended Interface&r but each slot can hold 16x more items or fluids. If you have processes that need huge quantities, this could be your go-to.", - "quests.ae2.assembler_matrix.desc": "The &6Assembler Matrix&r is basically a customizable multiblock Molecular Assembler. The requirements for this quest should let you build one that we deem quite strong enough. You could add more layers of &bPattern Core&r or &aCraft Core&r if you want to.\n\nAs usual, check the in-game guide for detailed informations.", + "quests.ae2.accumulation_processor.desc": "&eаккумулирующий процессор&r будет требовать большое количество кремния для каждого крафта.\n\nНадеемся, что у тебя уже есть отдельная ЭДП, производящая кремний, или хотя бы мощная инфраструктура для его быстрого производства.\n\nПодготовься соответствующим образом, так как его понадобится очень много!", + "quests.ae2.mega_crafting.desc": "Это отличное улучшение для твоего &bхранилища для изготовления&r.\n\nОно поможет ускорить автокрафт и позволит без проблем справляться с более крупными задачами.", + "quests.ae2.mega_battery.desc": "&eБолее ёмкая батарея&r для более крупной сети. Ничего лишнего!", + "quests.ae2.extended_pattern_access.desc": "&eРасширенный терминал доступа к шаблонам&r — замечательное улучшение, позволяющее тебе гораздо удобнее управлять всеми шаблонами.\n\nТы получаешь &6больше вариантов поиска&r по шаблонам, и с учётом того, сколько их у тебя теперь будет, это станет огромным улучшением удобства.\n\nСкрафти версию \"улучшения\", чтобы просто зажать Shift и кликнуть правой кнопкой мыши по существующим поставщикам шаблонов, улучшив их без необходимости вынимать все шаблоны.", + "quests.ae2.extended_pattern_access.task": "Либо компонент, либо улучшение", + "quests.ae2.extended_interface.desc": "Вот они — твои расширенные &bинтерфейсы&r или улучшение, благодаря которому тебе даже не нужно отключать их для апгрейда.\n\nТы точно останешься ими доволен!", + "quests.ae2.extended_interface.task": "Либо компонент, либо улучшение", + "quests.ae2.extended_patprov.desc": "Вот они — твои расширенные &bпоставщики шаблонов&r с улучшением, позволяющим обновлять их без отключения.\n\nТы точно останешься ими доволен!", + "quests.ae2.extended_patprov.task": "Либо компонент, либо улучшение", + "quests.ae2.extended_drive.desc": "&dРасширенный дисковод&r &6удваивает&r количество &eячеек хранения&r, которые ты можешь в него поставить.\n\nТы также можешь скрафтить &eулучшение&r, чтобы просто &aкликнуть правой кнопкой мыши&r по существующим МЭ-дисководам, не опусташая их, и это не будет стоить дороже.", + "quests.ae2.extended_drive.task": "Либо компонент, либо улучшение", + "quests.ae2.extended_import_export.desc": "Они в восемь раз быстрее своих обычных аналогов. Наслаждайся!", + "quests.ae2.extended_import_export.task": "Либо компонент, либо улучшение", + "quests.ae2.extended_io_port.desc": "Это улучшение позволит тебе &aперемещать быстрее&r, а также при необходимости предоставит &6больше слотов улучшений&r.", + "quests.ae2.extended_molecular_assembler.desc": "Улучшение для &bМолекулярного сборщика&r.\n\nОн выполняет &68 заданий крафта&r одновременно и работает в &62 раза быстрее&r.\n\nХотя его можно использовать только с &bПоставщиком шаблонов&r, это будет &aотличное улучшение&r перед тем, как ты чуть позже получишь &dмультиблочную матрицу сборщика&r.", + "quests.ae2.wireless.desc": "&aМЭ беспроводной соединитель&r — твой лучший выбор, если ты не хочешь прокладывать огромные линии из &bкабелей&r. По сути, они работают как квантовые туннели малого радиуса действия, но имеют ограниченную дальность и не работают между измерениями. Слишком просто было бы, правда?\n\nНе забудь заглянуть во внутриигровое руководство, нажав &eG&r, чтобы узнать, как они работают и каковы их ограничения.", + "quests.ae2.mega_cell_housing.desc": "Эти &bКорпусы для ячеек&r работают так же, как и базовые, но они понадобятся тебе для создания более крупных дисков из &dMEGA&r.", + "quests.ae2.cell_component_64k.desc": "Теперь, когда у тебя есть схемы &1IV&r, ты можешь создать этот огромный &5компонент хранения&r. Рад, что построил лунную базу?", + "quests.ae2.cell_component_256k.desc": "&c256k МЭ компонент хранения&r — последний, который ты можешь создать с помощью обычного ассемблера, и он настолько велик, что тебе, возможно, никогда не понадобятся ещё большие размеры.\n\nНу, разве что ты готов принять вызов.", + "quests.ae2.luv.title": "AE2 уровня LuV", + "quests.ae2.luv.desc": "Эта ветка становится доступной, как только ты достигнешь уровня &dLuV&r.", + "quests.ae2.cell_component_1m.desc": "Для &3МЕГА компонентов хранения&r тебе понадобится &bСборочный конвейер&r. Обрати внимание: рецепт без Луны должен крафтиться в чистой комнате, либо ты можешь использовать &7Люк обслюживания автоматической фильтрации&r, если у тебя есть к нему доступ.\n\nНа Луне это, впрочем, не требуется.", + "quests.ae2.cell_component_4m.desc": "Просто больше и дороже.", + "quests.ae2.cell_component_16m.desc": "Этот компонент можно создать только на &cЛуне&r и нигде больше. Также потребуется среда чистой комнаты, так что если ты не хочешь возиться с чистой комнатой на &cЛуне&r, тебе стоит сделать &7Люк обслюживания автоматической фильтрации&r.\n\nТакже понадобится исследование. Загляни в главу &cZPM&r, если не знаешь, что это означает.", + "quests.ae2.cell_component_64m.desc": "&c64M МЭ МЕГА компонент хранения&r — самый большой компонент, который ты можешь создать в &7TerraFirmaGreg&r. Честно говоря, мы считаем, что он тебе никогда не понадобится, но он есть для коллекционеров и перфекционистов.", + "quests.ae2.oversize_interface.desc": "&dМЭ Сверхразмерный интерфейс&r — это &dМЭ расширенный интерфейс&r, но каждый слот может хранить в 16 раз больше предметов или жидкостей. Если у тебя есть процессы, требующие огромных объёмов, это может стать твоим основным выбором.", + "quests.ae2.assembler_matrix.desc": "&6Матрица сборщика&r — это по сути настраиваемый мультиблок молекулярного сборщика. Требования этого квеста позволят тебе построить вариант, который мы считаем достаточно мощным. При желании ты можешь добавить больше слоёв &bЯдер матрицы&r или &aКрафтовых ядер матрицы&r.\n\nКак обычно, загляни во внутриигровое руководство за подробной информацией.", "quests.tasktype.checkmark": "Нажмите, чтобы закончить квест/задание", "quests.tasktype.item.any": "Любой предмет типа:", "quests.tasktype.lookat": "Посмотреть на:", diff --git a/kubejs/data/arthropocolypse/tags/worldgen/structure_set/desert_nest_avoid.json b/kubejs/data/arthropocolypse/tags/worldgen/structure_set/desert_nest_avoid.json new file mode 100644 index 000000000..14735be37 --- /dev/null +++ b/kubejs/data/arthropocolypse/tags/worldgen/structure_set/desert_nest_avoid.json @@ -0,0 +1,4 @@ +{ + "replace": true, + "values": [] +} \ No newline at end of file diff --git a/kubejs/data/tfg/dimension_type/venus.json b/kubejs/data/tfg/dimension_type/venus.json index aa7b8af81..b46147bce 100644 --- a/kubejs/data/tfg/dimension_type/venus.json +++ b/kubejs/data/tfg/dimension_type/venus.json @@ -11,7 +11,7 @@ "logical_height": 384, "min_y": -64, "monster_spawn_block_light_limit": 15, - "monster_spawn_light_level": 7, + "monster_spawn_light_level": 15, "natural": true, "piglin_safe": true, "respawn_anchor_works": false, diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index 3e33bbf24..45cc1550c 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -64,19 +64,73 @@ "energy_budget": 0.05, "charge": 0.9 }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "ad_astra:sulfur_creeper": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "primitive_creatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, + "creature_spawn_probability": 0.2, "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "arthropocolypse:prairie_grasshopper", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "arthropocolypse:field_cricket", + "maxCount": 5, + "minCount": 3, + "weight": 100 + }, + { + "type": "arthropocolypse:mealworm_beetle", + "maxCount": 2, + "minCount": 1, + "weight": 70 + }, + { + "type": "arthropocolypse:stag_beetle", + "maxCount": 2, + "minCount": 1, + "weight": 70 + }, + { + "type": "arthropocolypse:soldier_ant", + "maxCount": 6, + "minCount": 4, + "weight": 100 + }, + { + "type": "arthropocolypse:worker_ant", + "maxCount": 3, + "minCount": 2, + "weight": 50 + } + ], "misc": [], "monster": [ { @@ -104,14 +158,14 @@ "weight": 20 }, { - "type": "ad_astra:sulfur_creeper", + "type": "species:cliff_hanger", "maxCount": 3, "minCount": 1, "weight": 100 }, { - "type": "species:cliff_hanger", - "maxCount": 3, + "type": "arthropocolypse:millipede_head", + "maxCount": 1, "minCount": 1, "weight": 100 } diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index d0121f228..f61d31b3a 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -58,19 +58,67 @@ "energy_budget": 0.05, "charge": 0.9 }, + "species:cliff_hanger": { + "energy_budget": 0.15, + "charge": 0.7 + }, "ad_astra:sulfur_creeper": { "energy_budget": 0.15, "charge": 0.7 }, - "species:cliff_hanger": { + "primitive_creatures:golem_2": { "energy_budget": 0.15, "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, + "creature_spawn_probability": 0.2, "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "arthropocolypse:mealworm_beetle", + "maxCount": 4, + "minCount": 2, + "weight": 30 + }, + { + "type": "arthropocolypse:stag_beetle", + "maxCount": 4, + "minCount": 2, + "weight": 40 + }, + { + "type": "arthropocolypse:platerodrilus", + "maxCount": 4, + "minCount": 2, + "weight": 60 + }, + { + "type": "arthropocolypse:ice_crawler", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, + { + "type": "arthropocolypse:wharf_roach", + "maxCount": 4, + "minCount": 2, + "weight": 40 + } + ], "misc": [], "monster": [ { @@ -81,13 +129,7 @@ }, { "type": "endermanoverhaul:savanna_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, - { - "type": "endermanoverhaul:nether_wastes_enderman", - "maxCount": 1, + "maxCount": 2, "minCount": 1, "weight": 100 }, @@ -108,6 +150,12 @@ "maxCount": 3, "minCount": 1, "weight": 100 + }, + { + "type": "arthropocolypse:millipede_head", + "maxCount": 1, + "minCount": 1, + "weight": 100 } ], "underground_water_creature": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 195a71a6e..9f0d864f9 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -71,16 +71,32 @@ "energy_budget": 0.05, "charge": 0.9 }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "ad_astra:sulfur_creeper": { + "energy_budget": 0.2, + "charge": 0.4 + }, + "primitive_creatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, - "creature_spawn_probability": 0.0001, + "creature_spawn_probability": 0.01, "spawners": { "ambient": [], "axolotls": [], @@ -89,6 +105,18 @@ "type": "species:trooper", "maxCount": 3, "minCount": 2, + "weight": 100 + }, + { + "type": "arthropocolypse:prairie_grasshopper", + "maxCount": 2, + "minCount": 1, + "weight": 50 + }, + { + "type": "arthropocolypse:field_cricket", + "maxCount": 2, + "minCount": 1, "weight": 50 } ], @@ -98,25 +126,19 @@ "type": "endermanoverhaul:desert_enderman", "maxCount": 1, "minCount": 1, - "weight": 100 + "weight": 50 }, { "type": "endermanoverhaul:savanna_enderman", "maxCount": 1, "minCount": 1, - "weight": 100 - }, - { - "type": "endermanoverhaul:nether_wastes_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 + "weight": 50 }, { "type": "minecraft:enderman", "maxCount": 1, "minCount": 1, - "weight": 20 + "weight": 10 }, { "type": "ad_astra:sulfur_creeper", diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 01f29fd97..0f313c9e9 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -68,19 +68,67 @@ "energy_budget": 0.05, "charge": 0.9 }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "ad_astra:sulfur_creeper": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "primitive_creatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.8 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.8 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, + "creature_spawn_probability": 0.2, "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "minecraft:strider", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, + { + "type": "arthropocolypse:mealworm_beetle", + "maxCount": 2, + "minCount": 1, + "weight": 50 + }, + { + "type": "arthropocolypse:stag_beetle", + "maxCount": 2, + "minCount": 1, + "weight": 50 + }, + { + "type": "arthropocolypse:ice_crawler", + "maxCount": 4, + "minCount": 2, + "weight": 100 + }, + { + "type": "arthropocolypse:wharf_roach", + "maxCount": 4, + "minCount": 2, + "weight": 70 + } + ], "misc": [], "monster": [ { @@ -109,15 +157,33 @@ }, { "type": "ad_astra:sulfur_creeper", - "maxCount": 3, - "minCount": 1, + "maxCount": 4, + "minCount": 2, "weight": 100 }, + { + "type": "minecraft:magma_cube", + "maxCount": 2, + "minCount": 1, + "weight": 50 + }, + { + "type": "minecraft:blaze", + "maxCount": 2, + "minCount": 1, + "weight": 50 + }, { "type": "species:cliff_hanger", "maxCount": 3, "minCount": 1, "weight": 100 + }, + { + "type": "arthropocolypse:millipede_head", + "maxCount": 1, + "minCount": 1, + "weight": 70 } ], "underground_water_creature": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 97fe4b4c0..506ac3bd9 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -23,9 +23,9 @@ }, "particle": { "options": { - "type": "minecraft:ash" + "type": "minecraft:white_ash" }, - "probability": 0.1 + "probability": 0.02 } }, "features": [ @@ -66,36 +66,84 @@ "energy_budget": 0.05, "charge": 0.9 }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "ad_astra:sulfur_creeper": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "primitive_creatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, + "creature_spawn_probability": 0.1, "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "minecraft:strider", + "maxCount": 2, + "minCount": 1, + "weight": 10 + }, + { + "type": "arthropocolypse:field_cricket", + "maxCount": 3, + "minCount": 2, + "weight": 50 + }, + { + "type": "arthropocolypse:mealworm_beetle", + "maxCount": 6, + "minCount": 3, + "weight": 100 + }, + { + "type": "arthropocolypse:mealworm", + "maxCount": 6, + "minCount": 3, + "weight": 100 + }, + { + "type": "arthropocolypse:platerodrilus", + "maxCount": 4, + "minCount": 2, + "weight": 50 + }, + { + "type": "arthropocolypse:wharf_roach", + "maxCount": 4, + "minCount": 2, + "weight": 30 + }, + { + "type": "arthropocolypse:ice_crawler", + "maxCount": 4, + "minCount": 2, + "weight": 30 + } + ], "misc": [], "monster": [ - { - "type": "endermanoverhaul:desert_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, { "type": "endermanoverhaul:savanna_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, - { - "type": "endermanoverhaul:nether_wastes_enderman", - "maxCount": 1, + "maxCount": 2, "minCount": 1, "weight": 100 }, @@ -103,7 +151,7 @@ "type": "minecraft:enderman", "maxCount": 1, "minCount": 1, - "weight": 20 + "weight": 10 }, { "type": "ad_astra:sulfur_creeper", @@ -116,6 +164,12 @@ "maxCount": 3, "minCount": 1, "weight": 100 + }, + { + "type": "arthropocolypse:millipede_head", + "maxCount": 2, + "minCount": 1, + "weight": 100 } ], "underground_water_creature": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index 50a15b7c0..be1fd8050 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -65,24 +65,66 @@ "energy_budget": 0.05, "charge": 0.9 }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "ad_astra:sulfur_creeper": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "primitive_creatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, + "creature_spawn_probability": 0.05, "spawners": { "ambient": [], "axolotls": [], - "creature": [], + "creature": [ + { + "type": "arthropocolypse:prairie_grasshopper", + "maxCount": 2, + "minCount": 1, + "weight": 100 + }, + { + "type": "arthropocolypse:field_cricket", + "maxCount": 2, + "minCount": 1, + "weight": 50 + }, + { + "type": "arthropocolypse:wharf_roach", + "maxCount": 2, + "minCount": 1, + "weight": 100 + }, + { + "type": "arthropocolypse:platerodrilus", + "maxCount": 1, + "minCount": 1, + "weight": 70 + } + ], "misc": [], "monster": [ { "type": "endermanoverhaul:desert_enderman", - "maxCount": 1, + "maxCount": 2, "minCount": 1, "weight": 100 }, @@ -92,29 +134,11 @@ "minCount": 1, "weight": 100 }, - { - "type": "endermanoverhaul:nether_wastes_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, { "type": "minecraft:enderman", "maxCount": 1, "minCount": 1, "weight": 20 - }, - { - "type": "ad_astra:sulfur_creeper", - "maxCount": 3, - "minCount": 1, - "weight": 100 - }, - { - "type": "species:cliff_hanger", - "maxCount": 3, - "minCount": 1, - "weight": 100 } ], "underground_water_creature": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 7b8343f26..8cb53c082 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -71,6 +71,14 @@ ], "has_precipitation": true, "spawn_costs": { + "endermanoverhaul:desert_enderman": { + "energy_budget": 0.05, + "charge": 0.9 + }, + "endermanoverhaul:savanna_enderman": { + "energy_budget": 0.05, + "charge": 0.9 + }, "endermanoverhaul:nether_wastes_enderman": { "energy_budget": 0.05, "charge": 0.9 @@ -79,37 +87,53 @@ "energy_budget": 0.05, "charge": 0.9 }, + "species:cliff_hanger": { + "energy_budget": 0.3, + "charge": 0.3 + }, "ad_astra:sulfur_creeper": { "energy_budget": 0.15, - "charge": 0.7 + "charge": 0.6 }, - "primitivecreatures:golem_2": { + "primitive_creatures:golem_2": { "energy_budget": 0.15, - "charge": 0.7 - }, - "species:cliff_hanger": { - "energy_budget": 0.15, - "charge": 0.7 - }, - "minecraft:magma_cube": { - "energy_budget": 0.15, - "charge": 0.7 + "charge": 0.6 }, "minecraft:blaze": { "energy_budget": 0.15, - "charge": 0.7 + "charge": 0.6 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.6 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, - "creature_spawn_probability": 0.0001, + "creature_spawn_probability": 0.2, "spawners": { "ambient": [], "axolotls": [], "creature": [ { - "type": "species:trooper", + "type": "arthropocolypse:ice_crawler", + "maxCount": 2, + "minCount": 1, + "weight": 50 + }, + { + "type": "arthropocolypse:stag_beetle_larva", + "maxCount": 4, + "minCount": 3, + "weight": 100 + }, + { + "type": "arthropocolypse:stag_beetle", "maxCount": 3, "minCount": 2, - "weight": 50 + "weight": 100 } ], "misc": [], @@ -145,9 +169,15 @@ "weight": 100 }, { - "type": "primitivecreatures:golem_2", - "maxCount": 4, - "minCount": 2, + "type": "arthropocolypse:millipede_head", + "maxCount": 1, + "minCount": 1, + "weight": 100 + }, + { + "type": "primitive_creatures:golem_2", + "maxCount": 3, + "minCount": 1, "weight": 100 }, { diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index 0e3a91225..b2ccf6b27 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -68,16 +68,32 @@ "energy_budget": 0.05, "charge": 0.9 }, - "ad_astra:sulfur_creeper": { - "energy_budget": 0.2, - "charge": 0.7 - }, "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "ad_astra:sulfur_creeper": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "primitive_creatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, - "creature_spawn_probability": 0.0001, + "creature_spawn_probability": 0.1, "spawners": { "ambient": [], "axolotls": [], @@ -86,6 +102,18 @@ "type": "species:trooper", "maxCount": 3, "minCount": 2, + "weight": 100 + }, + { + "type": "arthropocolypse:prairie_grasshopper", + "maxCount": 3, + "minCount": 1, + "weight": 50 + }, + { + "type": "arthropocolypse:field_cricket", + "maxCount": 3, + "minCount": 1, "weight": 50 } ], @@ -103,17 +131,11 @@ "minCount": 1, "weight": 100 }, - { - "type": "endermanoverhaul:nether_wastes_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, { "type": "minecraft:enderman", "maxCount": 1, "minCount": 1, - "weight": 20 + "weight": 10 }, { "type": "ad_astra:sulfur_creeper", diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index cbadde1f0..a2f7da5ab 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -73,9 +73,29 @@ "species:cliff_hanger": { "energy_budget": 0.15, "charge": 0.7 + }, + "ad_astra:sulfur_creeper": { + "energy_budget": 0.2, + "charge": 0.4 + }, + "primitive_creatures:golem_2": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:blaze": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "minecraft:magma_cube": { + "energy_budget": 0.15, + "charge": 0.7 + }, + "arthropocolypse:millipede_head": { + "energy_budget": 0.05, + "charge": 0.9 } }, - "creature_spawn_probability": 0.0001, + "creature_spawn_probability": 0.1, "spawners": { "ambient": [], "axolotls": [], @@ -84,7 +104,13 @@ "type": "species:trooper", "maxCount": 3, "minCount": 2, - "weight": 50 + "weight": 100 + }, + { + "type": "arthropocolypse:platerodrilus", + "maxCount": 3, + "minCount": 1, + "weight": 40 } ], "misc": [], @@ -101,12 +127,6 @@ "minCount": 1, "weight": 100 }, - { - "type": "endermanoverhaul:nether_wastes_enderman", - "maxCount": 1, - "minCount": 1, - "weight": 100 - }, { "type": "minecraft:enderman", "maxCount": 1, @@ -115,8 +135,8 @@ }, { "type": "ad_astra:sulfur_creeper", - "maxCount": 3, - "minCount": 1, + "maxCount": 4, + "minCount": 2, "weight": 100 }, { @@ -124,6 +144,12 @@ "maxCount": 3, "minCount": 1, "weight": 100 + }, + { + "type": "arthropocolypse:millipede_head", + "maxCount": 1, + "minCount": 1, + "weight": 100 } ], "underground_water_creature": [], diff --git a/kubejs/server_scripts/arthropocolypse/recipes.js b/kubejs/server_scripts/arthropocolypse/recipes.js new file mode 100644 index 000000000..b531f740b --- /dev/null +++ b/kubejs/server_scripts/arthropocolypse/recipes.js @@ -0,0 +1,43 @@ +"use strict"; + +/** + * + * @param {Internal.RecipesEventJS} event + */ +function registerArthropocolypseRecipes(event) { + event.remove({ id: 'arthropocolypse:beetle_helmet' }); + event.remove({ id: 'arthropocolypse:beetle_chestplate' }); + event.remove({ id: 'arthropocolypse:beetle_leggings' }); + event.remove({ id: 'arthropocolypse:beetle_boots' }); + event.remove({ id: 'arthropocolypse:energy_bar' }); + event.remove({ id: 'arthropocolypse:gilded_scale_elytra' }); + event.remove({ id: 'arthropocolypse:mandible_shear' }); + event.remove({ id: 'arthropocolypse:mandible_dagger' }); + event.remove({ id: 'arthropocolypse:cooked_ice_crawler_meat' }); + event.remove({ id: 'minecraft:cooked_ice_crawler_meat_from_smoking' }); + event.remove({ id: 'arthropocolypse:polished_beetle_fragment_block' }); + event.remove({ id: 'arthropocolypse:beetle_fragment_block_bricks' }); + event.remove({ id: 'arthropocolypse:beetle_fragment_block_stairs' }); + event.remove({ id: 'arthropocolypse:beetle_fragment_block_slabs' }); + event.remove({ id: 'arthropocolypse:beetle_fragment_block_wall' }); + event.remove({ id: 'arthropocolypse:tiled_beetle_fragment_block' }); + event.remove({ id: 'arthropocolypse:beetle_fragment_block_bricks_stairs' }); + event.remove({ id: 'arthropocolypse:beetle_fragment_block_bricks_slabs' }); + event.remove({ id: 'arthropocolypse:beetle_fragment_block_bricks_wall' }); + event.remove({ id: 'arthropocolypse:polished_beetle_fragment_block_stairs' }); + event.remove({ id: 'arthropocolypse:polished_beetle_fragment_block_slabs' }); + event.remove({ id: 'arthropocolypse:polished_beetle_fragment_block_wall' }); + event.remove({ id: 'arthropocolypse:tiled_beetle_fragment_block_stairs' }); + event.remove({ id: 'arthropocolypse:tiled_beetle_fragment_block_slabs' }); + event.remove({ id: 'arthropocolypse:tiled_beetle_fragment_block_wall' }); + + + + //event.recipes.tfc.knapping('arthropocolypse:mandible_dagger', 'tfc:goat_horn', [ + // ' X ', + // ' XX ', + // ' XX ', + // ' XX ', + // ' XX ' + //]).ingredient('arthropocolypse:mandible_part').outsideSlotRequired(false).id('tfg:knapping/mandible_dagger') +} \ No newline at end of file diff --git a/kubejs/server_scripts/arthropocolypse/tags.js b/kubejs/server_scripts/arthropocolypse/tags.js new file mode 100644 index 000000000..7f5fa0b61 --- /dev/null +++ b/kubejs/server_scripts/arthropocolypse/tags.js @@ -0,0 +1,14 @@ +"use strict"; + +/** + * + * @param {TagEvent.Item} event + */ +const registerArthropocolypseItemTags = (event) => { + global.ARTHROPOCOLYPSE_DISABLED_ITEMS.forEach(element => { + event.removeAllTagsFrom(element); + event.add("c:hidden_from_recipe_viewers", element) + }); + + event.add('tfc:any_knapping', 'arthropocolypse:mandible_part'); +} \ 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 369950ec2..72e9e2bd8 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -11,6 +11,7 @@ ServerEvents.tags('item', event => { registerAFCItemTags(event) registerAlekiroofsItemTags(event) registerAlekishipsItemTags(event) + registerArthropocolypseItemTags(event) registerAsticorCartsItemTags(event) registerBeneathItemTags(event) registerChalkItemTags(event); @@ -207,6 +208,7 @@ ServerEvents.recipes(event => { registerAlekishipsRecipes(event) registerAE2Recipes(event) registerAFCRecipes(event) + registerArthropocolypseRecipes(event) registerAsticorCartsRecipes(event) registerAE2InsertExportCardRecipes(event) registerAE2NetworkAnalyzerRecipes(event) diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index 55de880ee..ae7bf5d8e 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -29,15 +29,15 @@ function registerTFCGurmanRecipes(event) { TFC.isp.of('tfc_gurman:pepperoni_pizza').firmaLifeCopyDynamicFood().asCanonClass(), []) - event.recipes.gtceu.food_oven('havai_pizza') - .itemInputs('tfc_gurman:raw_havai_pizza') - .itemOutputs('tfc_gurman:havai_pizza') + event.recipes.gtceu.food_oven('hawaiian_pizza') + .itemInputs('tfc_gurman:raw_hawaiian_pizza') + .itemOutputs('tfc_gurman:hawaiian_pizza') .duration(200) .EUt(GTValues.VA[GTValues.LV]) - $ISPRecipeLogic.RegisterRecipeData('food_oven/havai_pizza', - [Ingredient.of('tfc_gurman:raw_havai_pizza')], - TFC.isp.of('tfc_gurman:havai_pizza').firmaLifeCopyDynamicFood().asCanonClass(), + $ISPRecipeLogic.RegisterRecipeData('food_oven/hawaiian_pizza', + [Ingredient.of('tfc_gurman:raw_hawaiian_pizza')], + TFC.isp.of('tfc_gurman:hawaiian_pizza').firmaLifeCopyDynamicFood().asCanonClass(), []) event.recipes.gtceu.food_oven('four_cheeses_pizza') diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js index 971bec9f9..e9be39331 100644 --- a/kubejs/server_scripts/tfg/venus/tags.venus.js +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -56,6 +56,7 @@ function registerTFGVenusBlockTags(event) { event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/basalt') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/basalt') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/magma/basalt') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/rhyolite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/andesite') event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/gravel/andesite') @@ -112,6 +113,12 @@ function registerTFGVenusBlockTags(event) { 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", "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('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/brown') @@ -134,18 +141,37 @@ function registerTFGVenusEntityTypeTags(event) { 'minecraft:enderman', 'minecraft:magma_cube', 'minecraft:blaze', + 'minecraft:strider', "endermanoverhaul:desert_enderman", "endermanoverhaul:savanna_enderman", "endermanoverhaul:nether_wastes_enderman", "ad_astra:sulfur_creeper", 'species:cliff_hanger', 'species:trooper', - 'primitivecreatures:golem_2' + 'primitive_creatures:golem_2', + 'arthropocolypse:scarab', + 'arthropocolypse:prairie_grasshopper', + 'arthropocolypse:field_cricket', + 'arthropocolypse:ice_crawler', + 'arthropocolypse:behemoth_desert_spider', + 'arthropocolypse:behemoth_desert_scorpion', + 'arthropocolypse:worker_ant', + 'arthropocolypse:soldier_ant', + 'arthropocolypse:stag_beetle', + 'arthropocolypse:stag_beetle_larva', + 'arthropocolypse:wharf_roach', + 'arthropocolypse:platerodrilus', + 'arthropocolypse:mealworm_beetle', + 'arthropocolypse:mealworm', + 'arthropocolypse:millipede_head', + 'arthropocolypse:millipede_body', + 'arthropocolypse:millipede_tail' ] ENTITIES.forEach(entity => { event.add('ad_astra:can_survive_extreme_heat', entity) event.add('ad_astra:lives_without_oxygen', entity) + event.add('ad_astra:can_survive_in_acid_rain', entity) event.add('gtceu:heat_immune', entity) }) @@ -154,7 +180,17 @@ function registerTFGVenusEntityTypeTags(event) { event.add('tfc:deals_slashing_damage', 'endermanoverhaul:nether_wastes_enderman') event.add('tfc:deals_slashing_damage', 'species:cliff_hanger') event.add('tfc:deals_crushing_damage', 'minecraft:magma_cube') - event.add('tfc:deals_crushing_damage', 'primitivecreatures:golem_2') + event.add('tfc:deals_crushing_damage', 'primitive_creatures:golem_2') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:scarab') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:ice_crawler') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:behemoth_desert_spider') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:behemoth_desert_scorpion') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:soldier_ant') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:stag_beetle') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:wharf_roach') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:platerodrilus') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:mealworm_beetle') + event.add('tfc:deals_piercing_damage', 'arthropocolypse:millipede_head') } function registerTFGVenusPlacedFeatures(event) { diff --git a/kubejs/server_scripts/tfg/worldgen/entities.js b/kubejs/server_scripts/tfg/worldgen/entities.js index c3e885a28..a0fdce629 100644 --- a/kubejs/server_scripts/tfg/worldgen/entities.js +++ b/kubejs/server_scripts/tfg/worldgen/entities.js @@ -23,12 +23,30 @@ const NEW_MOB_MAX_HP = { "species:cruncher": 1200, // venus mobs - "endermanoverhaul:savanna_enderman": 65, - "endermanoverhaul:desert_enderman": 70, + "endermanoverhaul:savanna_enderman": 85, + "endermanoverhaul:desert_enderman": 90, "ad_astra:sulfur_creeper": 60, - "species:cliff_hanger": 75, - "species:trooper": 20, - "minecraft:blaze": 50, + "species:cliff_hanger": 95, + "species:trooper": 30, + "minecraft:blaze": 80, + "minecraft:strider": 50, + 'arthropocolypse:scarab': 10, + 'arthropocolypse:prairie_grasshopper': 15, + 'arthropocolypse:field_cricket': 20, + 'arthropocolypse:ice_crawler': 70, + 'arthropocolypse:behemoth_desert_spider': 1300, + 'arthropocolypse:behemoth_desert_scorpion': 200, + 'arthropocolypse:worker_ant': 30, + 'arthropocolypse:soldier_ant': 60, + 'arthropocolypse:stag_beetle': 90, + 'arthropocolypse:stag_beetle_larva': 20, + 'arthropocolypse:wharf_roach': 20, + 'arthropocolypse:platerodrilus': 95, + 'arthropocolypse:mealworm_beetle': 50, + 'arthropocolypse:mealworm': 15, + 'arthropocolypse:millipede_head': 110, + 'arthropocolypse:millipede_body': 110, + 'arthropocolypse:millipede_tail': 110, // europa mobs "endermanoverhaul:ice_spikes_enderman": 85, @@ -52,6 +70,46 @@ const NEW_MOB_ARMOR = { "species:cliff_hanger": 2, }; +const NEEDS_FIREPROOFING = [ + "primitive_creatures:golem_2", + "endermanoverhaul:savanna_enderman", + "endermanoverhaul:desert_enderman", + 'arthropocolypse:scarab', + 'arthropocolypse:prairie_grasshopper', + 'arthropocolypse:field_cricket', + 'arthropocolypse:ice_crawler', + 'arthropocolypse:behemoth_desert_spider', + 'arthropocolypse:behemoth_desert_scorpion', + 'arthropocolypse:worker_ant', + 'arthropocolypse:soldier_ant', + 'arthropocolypse:stag_beetle', + 'arthropocolypse:stag_beetle_larva', + 'arthropocolypse:wharf_roach', + 'arthropocolypse:platerodrilus', + 'arthropocolypse:mealworm_beetle', + 'arthropocolypse:mealworm', + 'arthropocolypse:millipede_head', + 'arthropocolypse:millipede_body', + 'arthropocolypse:millipede_tail' +]; + +const VENUS_DAMAGE_BUFFING = { + "primitive_creatures:golem_2": 10, + "endermanoverhaul:savanna_enderman": 10, + "endermanoverhaul:desert_enderman": 10, + 'arthropocolypse:scarab': 4, + 'arthropocolypse:ice_crawler': 12, + 'arthropocolypse:behemoth_desert_spider': 30, + 'arthropocolypse:behemoth_desert_scorpion': 20, + 'arthropocolypse:worker_ant': 10, + 'arthropocolypse:soldier_ant': 15, + 'arthropocolypse:stag_beetle': 8, + 'arthropocolypse:wharf_roach': 8, + 'arthropocolypse:platerodrilus': 14, + 'arthropocolypse:mealworm_beetle': 8, + 'arthropocolypse:millipede_head': 20, +}; + // Easier to just keep all entities in here for balancing instead of spreading them around @@ -65,50 +123,60 @@ EntityEvents.spawned((event) => { switch (dimension) { // use default for beneath case "ad_astra:moon": newHP = 45; - case "ad_astra:mars": newHP = 55; - case "ad_astra:venus": newHP = 65; - case "ad_astra:mercury": newHP = 65; - case "ad_astra:glacio": newHP = 75; + case "ad_astra:mars": newHP = 65; + case "ad_astra:venus": newHP = 75; + case "ad_astra:mercury": newHP = 75; + case "ad_astra:glacio": newHP = 85; } } else if (type === "endermanoverhaul:nether_wastes_enderman") { switch (dimension) { // use default for beneath - case "ad_astra:venus": newHP = 70; + case "ad_astra:venus": newHP = 80; } } else if (type === "minecraft:magma_cube") { switch (dimension) { // use default for beneath - case "ad_astra:venus": newHP = entity.maxHealth * 6; + case "ad_astra:venus": newHP = entity.maxHealth * 7; } } - else if (type === "primitivecreatures:golem_2") { + else if (type === "primitive_creatures:golem_2") { switch (dimension) { // use default for beneath - case "ad_astra:venus": newHP = 80; + case "ad_astra:venus": newHP = 90; } } - if (newHP === 0) - return; + // Add fire immunity to some things + if (NEEDS_FIREPROOFING.includes(type)) { + entity.potionEffects.add("minecraft:fire_resistance", -1, 0, true, false); + } - let baseHealth = entity.maxHealth; - let missingHealth = newHP - baseHealth; + if (newHP !== 0) { + let baseHealth = entity.maxHealth; + let missingHealth = newHP - baseHealth; - entity.modifyAttribute("minecraft:generic.max_health", "tfg_health_buff_id", missingHealth, "addition"); + entity.modifyAttribute("minecraft:generic.max_health", "tfg_health_buff_id", missingHealth, "addition"); - if (missingHealth > 0) { - entity.health += missingHealth; + if (missingHealth > 0) { + entity.health += missingHealth; + } } let newArmor = NEW_MOB_ARMOR[type] ?? 0; - if (newArmor === 0) - return; + if (newArmor !== 0) { + let baseArmor = entity.armor; + let missingArmor = newArmor - baseArmor; + entity.modifyAttribute("minecraft:generic.armor", "tfg_armor_buff_id", missingArmor, "addition"); + } - let baseArmor = entity.armor; - let missingArmor = newArmor - baseArmor; - entity.modifyAttribute("minecraft:generic.armor", "tfg_armor_buff_id", missingArmor, "addition"); + let newAttack = VENUS_DAMAGE_BUFFING[type] ?? 0 + if (dimension === "ad_astra:venus" && newAttack !== 0) { + let baseAttack = entity.attack_damage; + let missingAttack = newAttack - baseAttack; + entity.modifyAttribute("minecraft:generic.attack_damage", "tfg_attack_buff_id", missingAttack, "addition"); + } }) \ No newline at end of file diff --git a/kubejs/startup_scripts/arthropocolypse/constants.js b/kubejs/startup_scripts/arthropocolypse/constants.js new file mode 100644 index 000000000..b3db71b5d --- /dev/null +++ b/kubejs/startup_scripts/arthropocolypse/constants.js @@ -0,0 +1,12 @@ +// priority: -100 +"use strict"; + +global.ARTHROPOCOLYPSE_DISABLED_ITEMS = [ + 'arthropocolypse:beetle_helmet', + 'arthropocolypse:beetle_chestplate', + 'arthropocolypse:beetle_leggings', + 'arthropocolypse:beetle_boots', + 'arthropocolypse:gilded_scale_elytra', + 'arthropocolypse:gilded_double_head_axe', + 'arthropocolypse:carrot_piece' +]; \ No newline at end of file From a41fe31d9e6297d66d9d7b479e09b584a70f7c70 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 20:00:07 +0000 Subject: [PATCH 563/628] langs --- kubejs/assets/ae2/lang/ru_ru.json | 3 ++- kubejs/assets/arthropocolypse/lang/en_us.json | 18 +++++++++--------- kubejs/assets/tfg/lang/ru_ru.json | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/kubejs/assets/ae2/lang/ru_ru.json b/kubejs/assets/ae2/lang/ru_ru.json index 9164a0ffe..887edcac4 100644 --- a/kubejs/assets/ae2/lang/ru_ru.json +++ b/kubejs/assets/ae2/lang/ru_ru.json @@ -9,5 +9,6 @@ "item.ae2.item_storage_cell_256k": "256К МЭ предметная ячейка хранения", "item.ae2.fluid_storage_cell_256k": "256К МЭ жидкостная ячейка хранения", "block.ae2.256k_crafting_storage": "Хранилище для изготовления на 256К", - "item.ae2.pattern_box": "Коробка для шаблонов" + "item.ae2.pattern_box": "Коробка для шаблонов", + "block.ae2.controller": "МЭ контроллер" } \ No newline at end of file diff --git a/kubejs/assets/arthropocolypse/lang/en_us.json b/kubejs/assets/arthropocolypse/lang/en_us.json index 11544735c..464829f2f 100644 --- a/kubejs/assets/arthropocolypse/lang/en_us.json +++ b/kubejs/assets/arthropocolypse/lang/en_us.json @@ -1,20 +1,20 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "entity.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", - "entity.arthropocolypse.prairie_grasshopper": "Cimbrophlebia", - "entity.arthropocolypse.field_cricket": "Glisachaemus Hopper", - "entity.arthropocolypse.ice_crawler": "Obsidian Paleophaedon", + "entity.arthropocolypse.prairie_grasshopper": "Giant Cimbrophlebia Hopper", + "entity.arthropocolypse.field_cricket": "Glisachaemus Salthopper", + "entity.arthropocolypse.ice_crawler": "Obsidian Paleophaedon Beetle", "entity.arthropocolypse.behemoth_desert_spider": "Behemoth Mongolarachne Queen", "entity.arthropocolypse.behemoth_desert_scorpion": "Royal Guard Liassoscorpionides", - "entity.arthropocolypse.worker_ant": "Worker Formicium", - "entity.arthropocolypse.soldier_ant": "Soldier Formicium", + "entity.arthropocolypse.worker_ant": "Worker Formicium Ant", + "entity.arthropocolypse.soldier_ant": "Soldier Formicium Ant", "entity.arthropocolypse.stag_beetle": "Horned Protognathinus Beetle", "entity.arthropocolypse.stag_beetle_larva": "Horned Protognathinus Beetle Larva", "entity.arthropocolypse.wharf_roach": "Arostropsis Weevil", - "entity.arthropocolypse.platerodrilus": "Bulwark Platerodrilus", - "entity.arthropocolypse.mealworm_beetle": "Manobiomorpha Beetle", - "entity.arthropocolypse.mealworm": "Manobiomorpha Beetle Larva", - "entity.arthropocolypse.millipede_head": "Assassin Chilognatha", + "entity.arthropocolypse.platerodrilus": "Bulwark Platerodrilus Beetle", + "entity.arthropocolypse.mealworm_beetle": "Manobiomorpha Flea Beetle", + "entity.arthropocolypse.mealworm": "Manobiomorpha Flea Beetle Larva", + "entity.arthropocolypse.millipede_head": "Assassin Chilognatha Millipede", "item.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", "item.arthropocolypse.beetle_fragment": "Chitin Fragment", "item.arthropocolypse.beetle_fragment_block": "Chitin Block", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index f22e3ce46..19dbaf4c7 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1689,7 +1689,7 @@ "quests.ae2.hv.title": "AE2 HV", "quests.ae2.hv.desc": "Вся эта ветка полностью открывается на &6HV&r!", "quests.ae2.ae_controller.subtitle": "Бьющееся сердце твоей ME-сети", - "quests.ae2.ae_controller.desc": "Для начала тебе нужно запитать свою &bМЭ-сеть&r. Это два блока &bAE2&r, которые могут напрямую принимать энергию &bEU&r.\n\nМы настоятельно рекомендуем создать &bМЭ-регулятора&r, так как в TerraFirmaGreg включены &bканалы&r, а &bМЭ-регулятор&r — лучший способ эффективно управлять большим колличеством каналов.\n\nЭто также отличное время, чтобы воспользоваться внутриигровым руководством (нажми &aU&r на &bME-регулятор&r) или посмотреть видео про &bAE2&r для версии 1.20.1, чтобы узнать больше!", + "quests.ae2.ae_controller.desc": "Для начала тебе нужно запитать свою &bМЭ-сеть&r. Это два блока &bAE2&r, которые могут напрямую принимать энергию &bEU&r.\n\nМы настоятельно рекомендуем создать &bМЭ-контроллера&r, так как в TerraFirmaGreg включены &bканалы&r, а &bМЭ-контроллер&r — лучший способ эффективно управлять большим колличеством каналов.\n\nЭто также отличное время, чтобы воспользоваться внутриигровым руководством (нажми &aU&r на &bME-регулятор&r) или посмотреть видео про &bAE2&r для версии 1.20.1, чтобы узнать больше!", "quests.ae2.drive.subtitle": "Мозг сети", "quests.ae2.drive.desc": "Тебе понадобится место для хранения дисков, и благодаря аддону &bMEGA&r у тебя теперь есть дополнительный вариант.\n\nНачать стоит с &bМЭ-дисковода&r. Он может хранить до &e10&r дисков и потребляет &e4 EU/t&r. Это будет твоё основное хранилище.\n\nДругой вариант — &bМЭ станция для ячеек&r. Он хранит всего &e1&r диск, но потребляет лишь &e1 EU/t&r и может устанавливаться прямо на кабель. Это делает его очень полезным для &aподсетей&r.", "quests.ae2.cell_housing.desc": "&bМЭ корпус&r существует в двух версиях: для &aпредметов&r и для &9жидкостей&r.\n\nТы можешь извлечь компонент хранения с помощью &eупаковщика&r или просто зажав Shift и кликнув правой кнопкой мыши, держа ячейку хранения в руке.", From 0db62a839a6d80fff5698912b6f70a03450641e6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 20:00:12 +0000 Subject: [PATCH 564/628] update tfc-gurman --- kubejs/server_scripts/tfc_gurman/recipes.js | 204 ++++++++------------ pakku-lock.json | 39 ++-- 2 files changed, 103 insertions(+), 140 deletions(-) diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index ae7bf5d8e..dc4af8e74 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -3,6 +3,7 @@ function registerTFCGurmanRecipes(event) { const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") + const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient") //#region Food Oven Recipes @@ -283,35 +284,35 @@ function registerTFCGurmanRecipes(event) { // Borscht event.recipes.gtceu.food_processor('borscht') .circuit(20) - .itemInputs('tfc:food/beet', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato') + .itemInputs('tfc:food/beet', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:borscht') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/borscht', - [Ingredient.of('tfc:food/beet'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato')], - TFC.isp.of('tfc_gurman:borscht').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/beet'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:borscht').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Schi event.recipes.gtceu.food_processor('schi') .circuit(20) - .itemInputs('tfc:food/cabbage', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato') + .itemInputs('2x tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:schi') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/schi', - [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato')], - TFC.isp.of('tfc_gurman:schi').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:schi').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Coffee event.recipes.gtceu.food_processor('coffee') .circuit(2) - .itemInputs('firmalife:food/roasted_cocoa_beans', 'firmalife:food/roasted_cocoa_beans') + .itemInputs('2x firmalife:food/roasted_cocoa_beans') .inputFluids(Fluid.of('minecraft:water', 1000)) .outputFluids(Fluid.of('tfc_gurman:coffee', 1000)) .duration(300) @@ -320,7 +321,7 @@ function registerTFCGurmanRecipes(event) { // Cocoa event.recipes.gtceu.food_processor('cocoa') .circuit(1) - .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_powder', 'minecraft:sugar') + .itemInputs('2x firmalife:food/cocoa_powder') .inputFluids('#tfc:milks 1000') .outputFluids(Fluid.of('tfc_gurman:cocoa', 1000)) .duration(300) @@ -329,7 +330,7 @@ function registerTFCGurmanRecipes(event) { // Compote event.recipes.gtceu.food_processor('compote') .circuit(2) - .itemInputs('#tfc:foods/fruits', '#tfc:foods/fruits') + .itemInputs('2x #tfc:foods/fruits') .inputFluids(Fluid.of('minecraft:water', 1000)) .outputFluids(Fluid.of('tfc_gurman:compote', 1000)) .duration(300) @@ -338,7 +339,7 @@ function registerTFCGurmanRecipes(event) { // Lemonade event.recipes.gtceu.food_processor('lemonade') .circuit(2) - .itemInputs('tfc:food/lemon', 'tfc:food/lemon') + .itemInputs('2x tfc:food/lemon', '#tfc:sweetener') .inputFluids(Fluid.of('minecraft:water', 1000)) .outputFluids(Fluid.of('tfc_gurman:lemonade', 1000)) .duration(1500) @@ -356,7 +357,7 @@ function registerTFCGurmanRecipes(event) { // Tea Mint event.recipes.gtceu.food_processor('tea_mint') .circuit(2) - .itemInputs('tfc_gurman:dried_mint_leaves', 'tfc_gurman:dried_mint_leaves') + .itemInputs('2x tfc_gurman:dried_mint_leaves') .inputFluids(Fluid.of('minecraft:water', 1000)) .outputFluids(Fluid.of('tfc_gurman:tea_mint', 1000)) .duration(300) @@ -365,7 +366,7 @@ function registerTFCGurmanRecipes(event) { // Tea Chamomile event.recipes.gtceu.food_processor('tea_chamomile') .circuit(2) - .itemInputs('tfc_gurman:dried_chamomile_leaves', 'tfc_gurman:dried_chamomile_leaves') + .itemInputs('2x tfc_gurman:dried_chamomile_leaves') .inputFluids(Fluid.of('minecraft:water', 1000)) .outputFluids(Fluid.of('tfc_gurman:tea_chamomile', 1000)) .duration(300) @@ -374,7 +375,7 @@ function registerTFCGurmanRecipes(event) { // Tea Rosehip event.recipes.gtceu.food_processor('tea_rosehip') .circuit(2) - .itemInputs('tfc_gurman:dried_rosehip_leaves', 'tfc_gurman:dried_rosehip_leaves') + .itemInputs('2x tfc_gurman:dried_rosehip_leaves') .inputFluids(Fluid.of('minecraft:water', 1000)) .outputFluids(Fluid.of('tfc_gurman:tea_rosehip', 1000)) .duration(300) @@ -383,7 +384,7 @@ function registerTFCGurmanRecipes(event) { // Tea Nettle event.recipes.gtceu.food_processor('tea_nettle') .circuit(2) - .itemInputs('tfc_gurman:dried_nettle_leaves', 'tfc_gurman:dried_nettle_leaves') + .itemInputs('2x tfc_gurman:dried_nettle_leaves') .inputFluids(Fluid.of('minecraft:water', 1000)) .outputFluids(Fluid.of('tfc_gurman:tea_nettle', 1000)) .duration(300) @@ -392,348 +393,309 @@ function registerTFCGurmanRecipes(event) { // Solyanka event.recipes.gtceu.food_processor('solyanka') .circuit(20) - .itemInputs('#tfc:foods/meats', 'tfc:food/cabbage', 'tfc:food/onion', 'tfc:food/tomato', 'tfc:food/olive') + .itemInputs('#tfc:foods/meats', 'tfc:food/cabbage', 'tfc:food/onion', 'tfc:food/tomato', 'tfc:food/olive', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:solyanka') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/solyanka', - [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/olive')], - TFC.isp.of('tfc_gurman:solyanka').copyFood().asCanonClass(), + [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/olive'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:solyanka').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Okroshka event.recipes.gtceu.food_processor('okroshka') .circuit(20) - .itemInputs('tfc:food/cabbage', 'tfc:food/tomato', 'tfc:food/potato', 'tfc:food/onion', 'minecraft:egg') + .itemInputs('tfc:food/cabbage', 'tfc:food/tomato', 'tfc:food/potato', 'tfc:food/onion', '#firmalife:foods/raw_eggs', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:okroshka') .inputFluids(Fluid.of('tfc_gurman:kvass', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/okroshka', - [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:food/onion'), Ingredient.of('minecraft:egg')], - TFC.isp.of('tfc_gurman:okroshka').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:food/onion'), Ingredient.of('#firmalife:foods/raw_eggs'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:okroshka').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Zama event.recipes.gtceu.food_processor('zama') .circuit(20) - .itemInputs('tfc:food/chicken', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:powder/salt', 'tfc:food/garlic') + .itemInputs('tfc:food/chicken', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:powder/salt', 'tfc:food/garlic', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:zama') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/zama', - [Ingredient.of('tfc:food/chicken'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic')], - TFC.isp.of('tfc_gurman:zama').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/chicken'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:zama').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Curry event.recipes.gtceu.food_processor('curry') .circuit(16) - .itemInputs('#tfc:foods/cooked_meats', '#tfc:foods/vegetables', 'tfc:powder/salt', 'tfc:food/cooked_rice') + .itemInputs('#tfc:foods/cooked_meats', '#tfc:foods/vegetables', 'tfc:powder/salt', 'tfc:food/cooked_rice', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:curry') .inputFluids('#tfc:milks 1000') .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/curry', - [Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/cooked_rice')], - TFC.isp.of('tfc_gurman:curry').copyFood().asCanonClass(), + [Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/cooked_rice'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:curry').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Goulash event.recipes.gtceu.food_processor('goulash') .circuit(16) - .itemInputs('#tfc:foods/raw_meats', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt') + .itemInputs('#tfc:foods/raw_meats', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:goulash') .inputFluids(Fluid.of('minecraft:water', 100)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/goulash', - [Ingredient.of('#tfc:foods/raw_meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:goulash').copyFood().asCanonClass(), + [Ingredient.of('#tfc:foods/raw_meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:goulash').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Pho event.recipes.gtceu.food_processor('pho') .circuit(16) - .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/garlic', 'tfc:powder/salt') + .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:pho') .inputFluids(Fluid.of('minecraft:water', 100)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/pho', - [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:pho').copyFood().asCanonClass(), + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:pho').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Bouillabaisse event.recipes.gtceu.food_processor('bouillabaisse') .circuit(16) - .itemInputs('#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt') + .itemInputs('#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:bouillabaisse') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/bouillabaisse', - [Ingredient.of('#firmalife:foods/raw_fish'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:bouillabaisse').copyFood().asCanonClass(), + [Ingredient.of('#firmalife:foods/raw_fish'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:bouillabaisse').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Ramen with Beef event.recipes.gtceu.food_processor('ramen_beef') .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/beef', 'tfc:food/onion') + .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/beef', 'tfc:food/onion', '2x #tfc:bowls') .itemOutputs('2x tfc_gurman:ramen_with_beef') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_beef', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/beef'), Ingredient.of('tfc:food/onion')], - TFC.isp.of('tfc_gurman:ramen_with_beef').copyFood().asCanonClass(), + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('tfc:food/beef'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], + TFC.isp.of('tfc_gurman:ramen_with_beef').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Ramen with Camelidae event.recipes.gtceu.food_processor('ramen_camelidae') .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/camelidae', 'tfc:food/onion') + .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/camelidae', 'tfc:food/onion', '2x #tfc:bowls') .itemOutputs('2x tfc_gurman:ramen_with_camelidae') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_camelidae', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/camelidae'), Ingredient.of('tfc:food/onion')], - TFC.isp.of('tfc_gurman:ramen_with_camelidae').copyFood().asCanonClass(), + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('tfc:food/camelidae'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], + TFC.isp.of('tfc_gurman:ramen_with_camelidae').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Ramen with Chevon event.recipes.gtceu.food_processor('ramen_chevon') .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'tfc:food/chevon', 'tfc:food/onion') + .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/chevon', 'tfc:food/onion', '2x #tfc:bowls') .itemOutputs('2x tfc_gurman:ramen_with_chevon') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_chevon', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('tfc:food/chevon'), Ingredient.of('tfc:food/onion')], - TFC.isp.of('tfc_gurman:ramen_with_chevon').copyFood().asCanonClass(), + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('tfc:food/chevon'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], + TFC.isp.of('tfc_gurman:ramen_with_chevon').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Ramen with Bacon event.recipes.gtceu.food_processor('ramen_bacon') .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', 'minecraft:egg', 'firmalife:food/bacon', 'tfc:food/onion') + .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'firmalife:food/bacon', 'tfc:food/onion', '2x #tfc:bowls') .itemOutputs('2x tfc_gurman:ramen_with_bacon') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_bacon', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('minecraft:egg'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('tfc:food/onion')], - TFC.isp.of('tfc_gurman:ramen_with_bacon').copyFood().asCanonClass(), + [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], + TFC.isp.of('tfc_gurman:ramen_with_bacon').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Biryani event.recipes.gtceu.food_processor('biryani') .circuit(20) - .itemInputs('tfc:food/rice_grain', '#tfc:foods/meats', 'tfc:food/onion', 'tfc:food/carrot', 'tfc:food/tomato') + .itemInputs('tfc:food/rice_grain', '#tfc:foods/meats', 'tfc:food/onion', 'tfc:food/carrot', 'tfc:food/tomato', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:biryani') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/biryani', - [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/tomato')], - TFC.isp.of('tfc_gurman:biryani').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/tomato'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:biryani').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Fried Rice event.recipes.gtceu.food_processor('fried_rice') .circuit(16) - .itemInputs('tfc:food/cooked_rice', '#forge:eggs', '#tfc:foods/vegetables', 'tfc:powder/salt') + .itemInputs('tfc:food/cooked_rice', '#forge:eggs', '#tfc:foods/vegetables', 'tfc:powder/salt', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:fried_rice') .inputFluids(Fluid.of('minecraft:water', 100)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/fried_rice', - [Ingredient.of('tfc:food/cooked_rice'), Ingredient.of('#forge:eggs'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:fried_rice').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/cooked_rice'), Ingredient.of('#forge:eggs'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:fried_rice').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Kimchi event.recipes.gtceu.food_processor('kimchi') .circuit(20) - .itemInputs('tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt') + .itemInputs('tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:kimchi') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/kimchi', - [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:kimchi').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:kimchi').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Dolma event.recipes.gtceu.food_processor('dolma') .circuit(16) - .itemInputs('#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt') + .itemInputs('#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt', '2x #tfc:bowls') .itemOutputs('2x tfc_gurman:dolma') .inputFluids(Fluid.of('minecraft:water', 1000)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/dolma', - [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/rice_grain'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:dolma').copyFood().asCanonClass(), + [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/rice_grain'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 2)], + TFC.isp.of('tfc_gurman:dolma').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Spaghetti Bolognese event.recipes.gtceu.food_processor('spaghetti_bolognese') .circuit(18) - .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic') + .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:spaghetti_bolognese') .inputFluids(Fluid.of('minecraft:water', 500)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/spaghetti_bolognese', - [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic')], - TFC.isp.of('tfc_gurman:spaghetti_bolognese').copyFood().asCanonClass(), + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:spaghetti_bolognese').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Pasta Carbonara event.recipes.gtceu.food_processor('pasta_carbonara') .circuit(18) - .itemInputs('firmalife:food/cooked_pasta', 'firmalife:food/bacon', 'minecraft:egg', 'firmalife:food/shredded_cheese', 'tfc:powder/salt') + .itemInputs('firmalife:food/cooked_pasta', 'firmalife:food/bacon', '#firmalife:foods/raw_eggs', 'firmalife:food/shredded_cheese', 'tfc:powder/salt', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:pasta_carbonara') .inputFluids(Fluid.of('minecraft:water', 500)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/pasta_carbonara', - [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('minecraft:egg'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:pasta_carbonara').copyFood().asCanonClass(), + [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:pasta_carbonara').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Ratatouille event.recipes.gtceu.food_processor('ratatouille') .circuit(18) - .itemInputs('tfc:food/tomato', 'tfc:food/pumpkin_chunks', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic') + .itemInputs('tfc:food/tomato', 'tfc:food/pumpkin_chunks', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls') .itemOutputs('3x tfc_gurman:ratatouille') .inputFluids(Fluid.of('minecraft:water', 500)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/ratatouille', - [Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/pumpkin_chunks'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic')], - TFC.isp.of('tfc_gurman:ratatouille').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/pumpkin_chunks'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), $SizedIngredient.create('#tfc:bowls', 3)], + TFC.isp.of('tfc_gurman:ratatouille').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Risotto event.recipes.gtceu.food_processor('risotto') .circuit(18) - .itemInputs('tfc:food/rice_grain', '#firmalife:foods/cheeses', '#tfc:foods/vegetables') + .itemInputs('tfc:food/rice_grain', '#firmalife:foods/cheeses', '#tfc:foods/vegetables', '2x #tfc:bowls') .itemOutputs('3x tfc_gurman:risotto') .inputFluids(Fluid.of('minecraft:water', 100)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/risotto', - [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#firmalife:foods/cheeses'), Ingredient.of('#tfc:foods/vegetables')], - TFC.isp.of('tfc_gurman:risotto').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#firmalife:foods/cheeses'), Ingredient.of('#tfc:foods/vegetables'), $SizedIngredient.create('#tfc:bowls', 2)], + TFC.isp.of('tfc_gurman:risotto').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Porridge event.recipes.gtceu.food_processor('porridge') .circuit(18) - .itemInputs('#tfc:foods/grains', 'tfc:powder/salt') + .itemInputs('#tfc:foods/grains', 'tfc:powder/salt', '#tfc:bowls') .itemOutputs('tfc_gurman:porridge') .inputFluids(Fluid.of('minecraft:water', 250)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/porridge', - [Ingredient.of('#tfc:foods/grains'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:porridge').copyFood().asCanonClass(), + [Ingredient.of('#tfc:foods/grains'), Ingredient.of('tfc:powder/salt'), Ingredient.of('#tfc:bowls')], + TFC.isp.of('tfc_gurman:porridge').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Mamaliga event.recipes.gtceu.food_processor('mamaliga') .circuit(16) - .itemInputs('tfc:food/maize_grain', 'tfc:powder/salt') + .itemInputs('tfc:food/maize_grain', 'tfc:powder/salt', '#tfc:bowls') .itemOutputs('tfc_gurman:mamaliga') .inputFluids(Fluid.of('minecraft:water', 250)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga', - [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), - []) - - event.recipes.gtceu.food_processor('mamaliga_2') - .circuit(16) - .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') - .itemOutputs('2x tfc_gurman:mamaliga') - .inputFluids(Fluid.of('minecraft:water', 250)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_2', - [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), - []) - - event.recipes.gtceu.food_processor('mamaliga_3') - .circuit(16) - .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') - .itemOutputs('3x tfc_gurman:mamaliga') - .inputFluids(Fluid.of('minecraft:water', 250)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_3', - [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), - []) - - event.recipes.gtceu.food_processor('mamaliga_4') - .circuit(16) - .itemInputs('tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:food/maize_grain', 'tfc:powder/salt') - .itemOutputs('4x tfc_gurman:mamaliga') - .inputFluids(Fluid.of('minecraft:water', 250)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga_4', - [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt')], - TFC.isp.of('tfc_gurman:mamaliga').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt'), Ingredient.of('#tfc:bowls')], + TFC.isp.of('tfc_gurman:mamaliga').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) // Adjika event.recipes.gtceu.food_processor('adjika') .circuit(8) - .itemInputs('tfc:food/green_bell_pepper', 'tfc:food/red_bell_pepper', 'tfc:powder/salt', 'tfc:food/garlic', 'firmalife:plant/cilantro') + .itemInputs('tfc:food/green_bell_pepper', 'tfc:food/red_bell_pepper', 'tfc:powder/salt', 'tfc:food/garlic', 'firmalife:plant/cilantro', '5x #tfc:bowls') .itemOutputs('5x tfc_gurman:adjika') .inputFluids(Fluid.of('minecraft:water', 500)) .duration(300) .EUt(8) $ISPRecipeLogic.RegisterRecipeData('food_processor/adjika', - [Ingredient.of('tfc:food/green_bell_pepper'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic'), Ingredient.of('firmalife:plant/cilantro')], - TFC.isp.of('tfc_gurman:adjika').copyFood().asCanonClass(), + [Ingredient.of('tfc:food/green_bell_pepper'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic'), Ingredient.of('firmalife:plant/cilantro'), $SizedIngredient.create('#tfc:bowls', 5)], + TFC.isp.of('tfc_gurman:adjika').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), []) //#endregion @@ -780,6 +742,7 @@ function registerTFCGurmanRecipes(event) { // #region Crafting table foods + // TODO: unfinished event.recipes.gtceu.food_processor('margarita_pizza') .circuit(4) .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') @@ -801,7 +764,4 @@ function registerTFCGurmanRecipes(event) { event.shapeless('4x tfc_gurman:raw_takoyaki', ['tfg:food/raw_crawlermari', '#tfc:foods/flour', '#forge:eggs', 'tfc:powder/salt']); // #endregion - - // TODO: - // buffs for the various drinks? } diff --git a/pakku-lock.json b/pakku-lock.json index c131ad1fc..17c86438a 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12932,28 +12932,31 @@ "files": [ { "type": "modrinth", - "file_name": "tfc_gurman-1.2.0.jar", + "file_name": "tfc_gurman-1.3.0.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/ERme2o65/versions/Cz4jYtUl/tfc_gurman-1.2.0.jar", - "id": "Cz4jYtUl", + "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": "ad839d5f2b963d433fd9a9ff965953c7dcbebf5a7b1f660ed5d84b440a2af047a0684b01d0391c012ca69ea8e49a9973f1d7400f40c1e16b0877c8c08f942b7e", - "sha1": "4e219504c5ca011c2ea7036d6002d30ce14085c0" + "sha512": "b82f4b893f85f152a305a9949df8a87337b2e1d75e80a1723c512de5ede3dfa056f17a2186511acf96556e4b5ce1b1c55927d6f97fabf109ac8fdf8ba20f197c", + "sha1": "c55512789128af89d57fe0c9a2f3b4d59a491724" }, - "required_dependencies": [], - "size": 518871, - "date_published": "2025-11-28T21:26:28.110692Z" + "required_dependencies": [ + "JaCEZUhg", + "5bKeBHw2" + ], + "size": 542077, + "date_published": "2026-01-02T13:41:35.488377Z" }, { "type": "curseforge", - "file_name": "tfc_gurman-1.2.0.jar", + "file_name": "tfc_gurman-1.3.0.jar", "mc_versions": [ "1.20.1" ], @@ -12961,19 +12964,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7272/449/tfc_gurman-1.2.0.jar", - "id": "7272449", + "url": "https://edge.forgecdn.net/files/7408/157/tfc_gurman-1.3.0.jar", + "id": "7408157", "parent_id": "1363944", "hashes": { - "sha1": "4e219504c5ca011c2ea7036d6002d30ce14085c0", - "md5": "a10ca1fd4dd5f98f9f646d713995e95e" + "sha1": "c55512789128af89d57fe0c9a2f3b4d59a491724", + "md5": "fd8ba6a9ec34193beda55f5d34e359f1" }, "required_dependencies": [ - "453394", - "302973" + "302973", + "453394" ], - "size": 518871, - "date_published": "2025-11-28T21:24:49.587Z" + "size": 542077, + "date_published": "2026-01-02T13:43:05.680Z" } ] }, From 0ed3d48dd9f2b7c3403ea41f402f271920301e29 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 20:06:43 +0000 Subject: [PATCH 565/628] fix being able to put wrong metals into the new fire clay molds --- .../tfg/primitive/tags.primitive.js | 25 +++++++++++++++++++ kubejs/server_scripts/tfg/tags.js | 2 ++ .../tfg/primitive/items.primitive.js | 3 +++ 3 files changed, 30 insertions(+) diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js index 02915188c..22246eba6 100644 --- a/kubejs/server_scripts/tfg/primitive/tags.primitive.js +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -85,4 +85,29 @@ function registerTFGPrimitiveBlockTags(event) { //added for QOL but doesnt harvest anything event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_red') event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_white') +} + +function registerTFGPrimitiveFluidTags(event) { + event.add('tfg:usable_in_small_gear_mold', 'gtceu:copper') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:tin') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:sterling_silver') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:bismuth_bronze') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:bronze') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:zinc') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:silver') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:potin') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:bismuth') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:lead') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:nickel') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:brass') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:gold') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:red_alloy') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:black_bronze') + event.add('tfg:usable_in_small_gear_mold', 'gtceu:rose_gold') + + event.add('tfg:usable_in_rod_mold', 'gtceu:red_alloy') + event.add('tfg:usable_in_rod_mold', 'gtceu:bronze') + event.add('tfg:usable_in_rod_mold', 'gtceu:bismuth_bronze') + event.add('tfg:usable_in_rod_mold', 'gtceu:black_bronze') + event.add('tfg:usable_in_rod_mold', 'gtceu:brass') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 0aec9d510..7d5730ff0 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -137,6 +137,8 @@ const registerTFGBlockTags = (event) => { //#region Fluids const registerTFGFluidTags = (event) => { + registerTFGPrimitiveFluidTags(event) + event.add('tfg:clean_water', 'minecraft:water') event.add('tfg:clean_water', 'tfc:river_water') event.add('tfg:clean_water', 'tfc:spring_water') diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js index 4b38b1910..210b42f18 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -144,6 +144,7 @@ function registerTFGPrimitiveItems(event) { .texture("fluid", "tfg:item/mold/fired/rod_mold_overlay") .tag('tfc:fired_molds') .tag('tfc:molds') + .fluidTagAccept('tfg:usable_in_rod_mold') .tfcccAllowedInMoldTable([ "XXXXXXXXXXXXXX", "XXXXXXXXXXXXXX", @@ -167,6 +168,7 @@ function registerTFGPrimitiveItems(event) { .texture("fluid", "tfg:item/mold/fired/small_gear_mold_overlay") .tag('tfc:fired_molds') .tag('tfc:molds') + .fluidTagAccept('tfg:usable_in_small_gear_mold') .tfcccAllowedInMoldTable([ "XXXXXXXXXXXXXX", "XXXXXXX XXXX", @@ -190,6 +192,7 @@ function registerTFGPrimitiveItems(event) { .texture("fluid", "tfg:item/mold/fired/nugget_mold_overlay") .tag('tfc:fired_molds') .tag('tfc:molds') + .fluidTagAccept('tfc:usable_in_ingot_mold') .tfcccAllowedInMoldTable([ "XXXXXXXXXXXXXX", "XXXXXXXXXXXXXX", From dd997448ef98d6807639578ba8b756f5fe331e85 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 20:17:20 +0000 Subject: [PATCH 566/628] rebalanced how much aluminium silicate that other things melt into, so it doesn't create aluminium out of nothing --- kubejs/data/tfg/worldgen/biome/venus/geysers.json | 4 ++-- kubejs/startup_scripts/gtceu/material_modification.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index 0f313c9e9..c9a3f347b 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -165,13 +165,13 @@ "type": "minecraft:magma_cube", "maxCount": 2, "minCount": 1, - "weight": 50 + "weight": 30 }, { "type": "minecraft:blaze", "maxCount": 2, "minCount": 1, - "weight": 50 + "weight": 70 }, { "type": "species:cliff_hanger", diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 50476a695..7e9b74dbc 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -147,9 +147,9 @@ const registerGTCEuMaterialModification = (event) => { let AlSi = GTMaterials.get('aluminium_silicate') AlSi.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, 1)) GTMaterials.Kyanite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 95)) - GTMaterials.Mica.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 90)) - GTMaterials.Spodumene.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 85)) - GTMaterials.Pollucite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 85)) + GTMaterials.Mica.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 40)) + GTMaterials.Spodumene.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 30)) + GTMaterials.Pollucite.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1540, 1540, 1540, AlSi, 1, 25)) GTMaterials.Gold.addFlags(GENERATE_BELL); From cd0d9145a1a9776884e933ff39117202bcecf7fe Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 20:19:19 +0000 Subject: [PATCH 567/628] fix #2588 --- kubejs/server_scripts/tfg/food/recipes.food.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index a592c4cfb..2fd6beaff 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -1656,7 +1656,8 @@ function registerTFGFoodRecipes(event) { 'gtceu:calcium_hydroxide_dust' ], fluidInputs: ['gtceu:sulfuric_acid 100'], - itemOutputs: ['2x tfg:citric_acid_dust' ] + itemOutputs: ['2x tfg:citric_acid_dust' ], + itemOutputProvider: TFC.isp.of('2x tfg:citric_acid_dust') }); // Slice of "Cheese" From 29782635b560f666b81c29f7c3d30891b87925a6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 20:27:30 +0000 Subject: [PATCH 568/628] change magnesium dioboride cooling --- kubejs/server_scripts/gregtech/recipes.js | 24 +++++++++++----------- kubejs/server_scripts/minecraft/recipes.js | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 950e45fe6..dc3bb4756 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -80,37 +80,37 @@ const registerGTCEURecipes = (event) => { //#endregion - // #region Move MV superconductor to early HV instead of post-vac freezer + // #region Move MV superconductor to mid-late MV instead of post-vac freezer - event.remove({ id: 'gtceu:shaped/hv_chemical_bath' }) - event.shaped('gtceu:hv_chemical_bath', [ + event.remove({ id: 'gtceu:shaped/mv_chemical_bath' }) + event.shaped('gtceu:mv_chemical_bath', [ 'ABC', 'DEA', 'FGF' ], { - A: 'gtceu:hv_conveyor_module', - B: 'gtceu:tempered_glass', - C: 'gtceu:gold_single_cable', - D: 'gtceu:hv_electric_pump', + A: 'gtceu:mv_conveyor_module', + B: '#forge:glass', + C: 'gtceu:copper_single_cable', + D: 'gtceu:mv_electric_pump', // swap one of the tempered glass for a PE pipe to ensure they've finished the plastic part of MV E: 'gtceu:polyethylene_normal_fluid_pipe', - F: '#gtceu:circuits/hv', - G: 'gtceu:hv_machine_hull' - }).id('tfg:shaped/hv_chemical_bath') + F: '#gtceu:circuits/mv', + G: 'gtceu:mv_machine_hull' + }).id('tfg:shaped/mv_chemical_bath') event.recipes.gtceu.chemical_bath('tfg:magnesium_diboride_cool_down_distilled_water') .itemInputs('gtceu:hot_magnesium_diboride_ingot') .inputFluids(Fluid.of('gtceu:distilled_water', 100)) .itemOutputs('gtceu:magnesium_diboride_ingot') .duration(250) - .EUt(480) + .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.chemical_bath('tfg:magnesium_diboride_cool_down') .itemInputs('gtceu:hot_magnesium_diboride_ingot') .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs('gtceu:magnesium_diboride_ingot') .duration(400) - .EUt(480) + .EUt(GTValues.VA[GTValues.MV]) // #endregion diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index a472e3d45..2909ccf4d 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -988,14 +988,14 @@ const registerMinecraftRecipes = (event) => { .inputFluids(Fluid.of('gtceu:glowstone', 512)) .itemOutputs('16x minecraft:glow_ink_sac') .duration(20) - .EUt(GTValues.VA[GTValues.HV]) + .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.chemical_bath('minecraft:glow_inc_sac1') .itemInputs("#forge:dyes/black") .inputFluids(Fluid.of('gtceu:glowstone', 144)) .itemOutputs('minecraft:glow_ink_sac') .duration(40) - .EUt(GTValues.VA[GTValues.MV]) + .EUt(GTValues.VA[GTValues.LV]) //#endregion From 33a4905a95ab32d0296cbecfb9c08e04f243a263 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 20:35:44 +0000 Subject: [PATCH 569/628] update changelog --- CHANGELOG.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3403fbd36..eaf60e30d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,23 @@ - Added new steam multiblocks for the alloy smelter, compressor, forge hammer, and thermal centrifuge @Pyritie - Reduced the Y level that ad astra considers "space" so rocket launches are faster @Pyritie - Reduced the amount of loot vases in the newer illages, and reduced how much loot you get from them @Pyritie -- Illages and the smaller mud brick ruins are now a little rarer, and the stone brick ruins are a little more common +- Illages and the smaller mud brick ruins are now a little rarer, and the stone brick ruins are a little more common @Pyritie +- Magnesium Diboride now only requires an MV chem bath to cool, but the MV chem bath now also requires a little plastic to craft (#2575) @Pyritie +- Added an implosion compressor recipe for glowstone dust to glowstone blocks (#2581) @Xaligal +- Ad astra and Create Deco lamps are now half as expensive to craft (#2581) @Xaligal +- Added alloy blast smelter recipes for black bronze and bismuth bronze (#2581) @Xaligal +- The alloy blast smelter recipe for glowstone has been adjusted (#2581) @Xaligal ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie +- Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 +- Fixed wrong small cogwheel rotation rendering @Electrolyte220 +- Fixed citric acid food processor recipe producing nothing (#2588) @Pyritie +- Fixed not being able to use pickled eggs in sandwiches (#2551) @Pyritie +- Fixed how much aluminium silicate you get from mica, pollucite, and spodumene to more accurately reflect how much aluminium they have @Pyritie +- Fixed being able to put liquid metals into the new molds that didn't have a recipe @Pyritie ### Translation updates - Chinese (simplified) @jmecn +- Russian @Petr211071 ## [0.11.15] - 31-12-2025 ### Bug fixes From 35214065a653247857d13a14155af57270f557d1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 21:10:50 +0000 Subject: [PATCH 570/628] langs --- kubejs/assets/arthropocolypse/lang/en_us.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kubejs/assets/arthropocolypse/lang/en_us.json b/kubejs/assets/arthropocolypse/lang/en_us.json index 464829f2f..87cc912b7 100644 --- a/kubejs/assets/arthropocolypse/lang/en_us.json +++ b/kubejs/assets/arthropocolypse/lang/en_us.json @@ -16,6 +16,14 @@ "entity.arthropocolypse.mealworm": "Manobiomorpha Flea Beetle Larva", "entity.arthropocolypse.millipede_head": "Assassin Chilognatha Millipede", "item.arthropocolypse.scarab": "Behemoth Mongolarachne Larva", + "item.arthropocolypse.field_cricket_egg": "Glisachaemus Salthopper Egg", + "item.arthropocolypse.stag_beetle_egg": "Horned Protognathinus Beetle Egg", + "item.arthropocolypse.stag_beetle_larva": "Horned Protognathinus Beetle Larva", + "item.arthropocolypse.mealworm_egg": "Manobiomorpha Flea Beetle Egg", + "item.arthropocolypse.mealworm": "Manobiomorpha Flea Beetle Larva", + "item.arthropocolypse.ice_crawler_meat": "Raw Obsidian Paleophaedon Beetle", + "item.arthropocolypse.cooked_ice_crawler_meat": "Cooked Obsidian Paleophaedon Beetle", + "item.arthropocolypse.energy_bar": "Bug Snacks", "item.arthropocolypse.beetle_fragment": "Chitin Fragment", "item.arthropocolypse.beetle_fragment_block": "Chitin Block", "item.arthropocolypse.beetle_fragment_block_bricks": "Chitin Bricks", From c156605375203c56bf3f0ab21d0935bd6df167dc Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 23:26:27 +0000 Subject: [PATCH 571/628] move gurman recipes to the nicer syntax, make the food helper methods globals --- kubejs/server_scripts/tfc_gurman/recipes.js | 953 ++++++------------ .../server_scripts/tfg/food/recipes.food.js | 506 +++++----- .../tfc/item_stack_modifiers.js | 22 +- 3 files changed, 569 insertions(+), 912 deletions(-) diff --git a/kubejs/server_scripts/tfc_gurman/recipes.js b/kubejs/server_scripts/tfc_gurman/recipes.js index dc4af8e74..8c0b80b00 100644 --- a/kubejs/server_scripts/tfc_gurman/recipes.js +++ b/kubejs/server_scripts/tfc_gurman/recipes.js @@ -2,758 +2,390 @@ "use strict"; function registerTFCGurmanRecipes(event) { - const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") - const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient") - //#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'); - // Pizzas - event.recipes.gtceu.food_oven('margarita_pizza') - .itemInputs('tfc_gurman:raw_margarita_pizza') - .itemOutputs('tfc_gurman:margarita_pizza') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) + global.cookingRecipe(event, 'tandoori_chicken', 'tfc_gurman:raw_tandoori_chicken', 'tfc_gurman:tandoori_chicken'); - $ISPRecipeLogic.RegisterRecipeData('food_oven/margarita_pizza', - [Ingredient.of('tfc_gurman:raw_margarita_pizza')], - TFC.isp.of('tfc_gurman:margarita_pizza').firmaLifeCopyDynamicFood().asCanonClass(), - []) + global.cookingRecipe(event, 'placinda', 'tfc_gurman:raw_placinda', 'tfc_gurman:placinda'); - event.recipes.gtceu.food_oven('pepperoni_pizza') - .itemInputs('tfc_gurman:raw_pepperoni_pizza') - .itemOutputs('tfc_gurman:pepperoni_pizza') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) + global.cookingRecipe(event, 'tonkatsu', 'tfc_gurman:raw_tonkatsu', 'tfc_gurman:tonkatsu'); - $ISPRecipeLogic.RegisterRecipeData('food_oven/pepperoni_pizza', - [Ingredient.of('tfc_gurman:raw_pepperoni_pizza')], - TFC.isp.of('tfc_gurman:pepperoni_pizza').firmaLifeCopyDynamicFood().asCanonClass(), - []) + global.cookingRecipe(event, 'takoyaki', 'tfc_gurman:raw_takoyaki', 'tfc_gurman:takoyaki'); - event.recipes.gtceu.food_oven('hawaiian_pizza') - .itemInputs('tfc_gurman:raw_hawaiian_pizza') - .itemOutputs('tfc_gurman:hawaiian_pizza') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) + global.cookingRecipe(event, 'bulgogi', 'tfc_gurman:raw_bulgogi', 'tfc_gurman:bulgogi'); - $ISPRecipeLogic.RegisterRecipeData('food_oven/hawaiian_pizza', - [Ingredient.of('tfc_gurman:raw_hawaiian_pizza')], - TFC.isp.of('tfc_gurman:hawaiian_pizza').firmaLifeCopyDynamicFood().asCanonClass(), - []) + global.cookingRecipe(event, 'bratwurst', 'tfc_gurman:raw_bratwurst', 'tfc_gurman:bratwurst'); + + global.cookingRecipe(event, 'crepes', 'tfc_gurman:raw_crepes', 'tfc_gurman:crepes'); + + global.cookingRecipe(event, 'chebureki', 'tfc_gurman:raw_chebureki', 'tfc_gurman:chebureki'); - event.recipes.gtceu.food_oven('four_cheeses_pizza') - .itemInputs('tfc_gurman:raw_four_cheeses_pizza') - .itemOutputs('tfc_gurman:four_cheeses_pizza') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) + global.cookingRecipe(event, 'khachapuri', 'tfc_gurman:raw_khachapuri', 'tfc_gurman:khachapuri'); - $ISPRecipeLogic.RegisterRecipeData('food_oven/four_cheeses_pizza', - [Ingredient.of('tfc_gurman:raw_four_cheeses_pizza')], - TFC.isp.of('tfc_gurman:four_cheeses_pizza').firmaLifeCopyDynamicFood().asCanonClass(), - []) + global.cookingRecipe(event, 'lavash_wrap', 'tfc_gurman:raw_lavash_wrap', 'tfc_gurman:lavash_wrap'); - event.recipes.gtceu.food_oven('four_meats_pizza') - .itemInputs('tfc_gurman:raw_four_meats_pizza') - .itemOutputs('tfc_gurman:four_meats_pizza') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/four_meats_pizza', - [Ingredient.of('tfc_gurman:raw_four_meats_pizza')], - TFC.isp.of('tfc_gurman:four_meats_pizza').firmaLifeCopyDynamicFood().asCanonClass(), - []) - - event.recipes.gtceu.food_oven('neapolitano_pizza') - .itemInputs('tfc_gurman:raw_neapolitano_pizza') - .itemOutputs('tfc_gurman:neapolitano_pizza') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/neapolitano_pizza', - [Ingredient.of('tfc_gurman:raw_neapolitano_pizza')], - TFC.isp.of('tfc_gurman:neapolitano_pizza').firmaLifeCopyDynamicFood().asCanonClass(), - []) - - event.recipes.gtceu.food_oven('croissants') - .itemInputs('tfc_gurman:raw_croissants') - .itemOutputs('tfc_gurman:croissants') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/croissants', - [Ingredient.of('tfc_gurman:raw_croissants')], - TFC.isp.of('tfc_gurman:croissants').firmaLifeCopyDynamicFood().asCanonClass(), - []) - - event.recipes.gtceu.food_oven('kiev_cutlets') - .itemInputs('tfc_gurman:raw_kiev_cutlets') - .itemOutputs('tfc_gurman:kiev_cutlets') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/kiev_cutlets', - [Ingredient.of('tfc_gurman:raw_kiev_cutlets')], - TFC.isp.of('tfc_gurman:kiev_cutlets').firmaLifeCopyDynamicFood().asCanonClass(), - []) - - event.recipes.gtceu.food_oven('quiche') - .itemInputs('tfc_gurman:raw_quiche') - .itemOutputs('tfc_gurman:quiche') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/quiche', - [Ingredient.of('tfc_gurman:raw_quiche')], - TFC.isp.of('tfc_gurman:quiche').firmaLifeCopyDynamicFood().asCanonClass(), - []) - - event.recipes.gtceu.food_oven('tandoori_chicken') - .itemInputs('tfc_gurman:raw_tandoori_chicken') - .itemOutputs('tfc_gurman:tandoori_chicken') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/tandoori_chicken', - [Ingredient.of('tfc_gurman:raw_tandoori_chicken')], - TFC.isp.of('tfc_gurman:tandoori_chicken').firmaLifeCopyDynamicFood().asCanonClass(), - []) - - event.recipes.gtceu.food_oven('placinda') - .itemInputs('tfc_gurman:raw_placinda') - .itemOutputs('tfc_gurman:placinda') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/placinda', - [Ingredient.of('tfc_gurman:raw_placinda')], - TFC.isp.of('tfc_gurman:placinda').firmaLifeCopyDynamicFood().asCanonClass(), - []) - - event.recipes.gtceu.food_oven('tonkatsu') - .itemInputs('tfc_gurman:raw_tonkatsu') - .itemOutputs('tfc_gurman:tonkatsu') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/tonkatsu', - [Ingredient.of('tfc_gurman:raw_tonkatsu')], - TFC.isp.of('tfc_gurman:tonkatsu').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('takoyaki') - .itemInputs('tfc_gurman:raw_takoyaki') - .itemOutputs('tfc_gurman:takoyaki') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/takoyaki', - [Ingredient.of('tfc_gurman:raw_takoyaki')], - TFC.isp.of('tfc_gurman:takoyaki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('bulgogi') - .itemInputs('tfc_gurman:raw_bulgogi') - .itemOutputs('tfc_gurman:bulgogi') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/bulgogi', - [Ingredient.of('tfc_gurman:raw_bulgogi')], - TFC.isp.of('tfc_gurman:bulgogi').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('bratwurst') - .itemInputs('tfc_gurman:raw_bratwurst') - .itemOutputs('tfc_gurman:bratwurst') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/bratwurst', - [Ingredient.of('tfc_gurman:raw_bratwurst')], - TFC.isp.of('tfc_gurman:bratwurst').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('crepes') - .itemInputs('tfc_gurman:raw_crepes') - .itemOutputs('tfc_gurman:crepes') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/crepes', - [Ingredient.of('tfc_gurman:raw_crepes')], - TFC.isp.of('tfc_gurman:crepes').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('chebureki') - .itemInputs('tfc_gurman:raw_chebureki') - .itemOutputs('tfc_gurman:chebureki') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/chebureki', - [Ingredient.of('tfc_gurman:raw_chebureki')], - TFC.isp.of('tfc_gurman:chebureki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('khachapuri') - .itemInputs('tfc_gurman:raw_khachapuri') - .itemOutputs('tfc_gurman:khachapuri') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/khachapuri', - [Ingredient.of('tfc_gurman:raw_khachapuri')], - TFC.isp.of('tfc_gurman:khachapuri').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('lavash_wrap') - .itemInputs('tfc_gurman:raw_lavash_wrap') - .itemOutputs('tfc_gurman:lavash_wrap') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/lavash_wrap', - [Ingredient.of('tfc_gurman:raw_lavash_wrap')], - TFC.isp.of('tfc_gurman:lavash_wrap').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('syrniki') - .itemInputs('tfc_gurman:raw_syrniki') - .itemOutputs('tfc_gurman:syrniki') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/syrniki', - [Ingredient.of('tfc_gurman:raw_syrniki')], - TFC.isp.of('tfc_gurman:syrniki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - event.recipes.gtceu.food_oven('oladyi') - .itemInputs('tfc_gurman:raw_oladyi') - .itemOutputs('tfc_gurman:oladyi') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/oladyi', - [Ingredient.of('tfc_gurman:raw_oladyi')], - TFC.isp.of('tfc_gurman:oladyi').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) + global.cookingRecipe(event, 'syrniki', 'tfc_gurman:raw_syrniki', 'tfc_gurman:syrniki'); + + global.cookingRecipe(event, 'oladyi', 'tfc_gurman:raw_oladyi', 'tfc_gurman:oladyi'); // Falafel - from soybean (no raw version) - event.recipes.gtceu.food_oven('falafel') - .itemInputs('tfc:food/soybean') - .itemOutputs('tfc_gurman:falafel') - .duration(200) - .EUt(GTValues.VA[GTValues.LV]) + global.cookingRecipe(event, 'falafel', 'tfc:food/soybean', 'tfc_gurman:falafel'); - $ISPRecipeLogic.RegisterRecipeData('food_oven/falafel', - [Ingredient.of('tfc:food/soybean')], - TFC.isp.of('tfc_gurman:falafel').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) + global.cookingRecipe(event, 'pelmeni', 'tfc_gurman:raw_pelmeni', 'tfc_gurman:pelmeni', '#tfg:clean_water 500'); - // Pelmeni (cooking raw pelmeni) - event.recipes.gtceu.food_oven('pelmeni') - .itemInputs('tfc_gurman:raw_pelmeni') - .itemOutputs('tfc_gurman:pelmeni') - .inputFluids(Fluid.of('minecraft:water', 500)) - .duration(200) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/pelmeni', - [Ingredient.of('tfc_gurman:raw_pelmeni')], - TFC.isp.of('tfc_gurman:pelmeni').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) - - // Vareniki (cooking raw vareniki) - event.recipes.gtceu.food_oven('vareniki') - .itemInputs('tfc_gurman:raw_vareniki') - .itemOutputs('tfc_gurman:vareniki') - .inputFluids(Fluid.of('minecraft:water', 500)) - .duration(200) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_oven/vareniki', - [Ingredient.of('tfc_gurman:raw_vareniki')], - TFC.isp.of('tfc_gurman:vareniki').copyFood().addTrait("firmalife:oven_baked").asCanonClass(), - []) + global.cookingRecipe(event, 'vareniki', 'tfc_gurman:raw_vareniki', 'tfc_gurman:vareniki', '#tfg:clean_water 500'); //#endregion //#region Food Processor Recipes // Borscht - event.recipes.gtceu.food_processor('borscht') - .circuit(20) - .itemInputs('tfc:food/beet', 'tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:borscht') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/borscht', - [Ingredient.of('tfc:food/beet'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:borscht').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['3x tfc_gurman:borscht'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:borscht').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Schi - event.recipes.gtceu.food_processor('schi') - .circuit(20) - .itemInputs('2x tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/tomato', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:schi') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/schi', - [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:schi').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) - + 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'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:schi').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); + // Coffee - event.recipes.gtceu.food_processor('coffee') - .circuit(2) - .itemInputs('2x firmalife:food/roasted_cocoa_beans') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:coffee', 1000)) - .duration(300) - .EUt(8) + 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'], + circuit: 2 + }); // Cocoa - event.recipes.gtceu.food_processor('cocoa') - .circuit(1) - .itemInputs('2x firmalife:food/cocoa_powder') - .inputFluids('#tfc:milks 1000') - .outputFluids(Fluid.of('tfc_gurman:cocoa', 1000)) - .duration(300) - .EUt(8) + global.processorRecipe(event, 'cocoa', 1000, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x firmalife:food/cocoa_powder'], + fluidInputs: ['#tfc:milks 1000'], + fluidOutputs: ['tfc_gurman:cocoa 1000'], + circuit: 1 + }); // Compote - event.recipes.gtceu.food_processor('compote') - .circuit(2) - .itemInputs('2x #tfc:foods/fruits') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:compote', 1000)) - .duration(300) - .EUt(8) + global.processorRecipe(event, 'compote', 1000, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x #tfc:foods/fruits'], + fluidInputs: ['minecraft:water 1000'], + fluidOutputs: ['tfc_gurman:compote 1000'], + circuit: 2 + }); // Lemonade - event.recipes.gtceu.food_processor('lemonade') - .circuit(2) - .itemInputs('2x tfc:food/lemon', '#tfc:sweetener') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:lemonade', 1000)) - .duration(1500) - .EUt(8) + global.processorRecipe(event, 'lemonade', 1500, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x tfc:food/lemon', '#tfc:sweetener'], + fluidInputs: ['minecraft:water 1000'], + fluidOutputs: ['tfc_gurman:lemonade 1000'], + circuit: 2 + }); // Kvass - event.recipes.gtceu.food_processor('kvass') - .circuit(2) - .itemInputs('2x #tfc:foods/grains') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:kvass', 1000)) - .duration(2400) - .EUt(8) + global.processorRecipe(event, 'kvass', 2400, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x #tfc:foods/grains'], + fluidInputs: ['minecraft:water 1000'], + fluidOutputs: ['tfc_gurman:kvass 1000'], + circuit: 2 + }); // Tea Mint - event.recipes.gtceu.food_processor('tea_mint') - .circuit(2) - .itemInputs('2x tfc_gurman:dried_mint_leaves') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:tea_mint', 1000)) - .duration(300) - .EUt(8) + global.processorRecipe(event, 'tea_mint', 200, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x tfc_gurman:dried_mint_leaves'], + fluidInputs: ['minecraft:water 1000'], + fluidOutputs: ['tfc_gurman:tea_mint 1000'], + circuit: 2 + }); // Tea Chamomile - event.recipes.gtceu.food_processor('tea_chamomile') - .circuit(2) - .itemInputs('2x tfc_gurman:dried_chamomile_leaves') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:tea_chamomile', 1000)) - .duration(300) - .EUt(8) + global.processorRecipe(event, 'tea_chamomile', 200, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x tfc_gurman:dried_chamomile_leaves'], + fluidInputs: ['minecraft:water 1000'], + fluidOutputs: ['tfc_gurman:tea_chamomile 1000'], + circuit: 2 + }); // Tea Rosehip - event.recipes.gtceu.food_processor('tea_rosehip') - .circuit(2) - .itemInputs('2x tfc_gurman:dried_rosehip_leaves') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:tea_rosehip', 1000)) - .duration(300) - .EUt(8) + global.processorRecipe(event, 'tea_rosehip', 200, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x tfc_gurman:dried_rosehip_leaves'], + fluidInputs: ['minecraft:water 1000'], + fluidOutputs: ['tfc_gurman:tea_rosehip 1000'], + circuit: 2 + }); // Tea Nettle - event.recipes.gtceu.food_processor('tea_nettle') - .circuit(2) - .itemInputs('2x tfc_gurman:dried_nettle_leaves') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .outputFluids(Fluid.of('tfc_gurman:tea_nettle', 1000)) - .duration(300) - .EUt(8) + global.processorRecipe(event, 'tea_nettle', 200, GTValues.VHA[GTValues.LV], { + itemInputs: ['2x tfc_gurman:dried_nettle_leaves'], + fluidInputs: ['minecraft:water 1000'], + fluidOutputs: ['tfc_gurman:tea_nettle 1000'], + circuit: 2 + }); // Solyanka - event.recipes.gtceu.food_processor('solyanka') - .circuit(20) - .itemInputs('#tfc:foods/meats', 'tfc:food/cabbage', 'tfc:food/onion', 'tfc:food/tomato', 'tfc:food/olive', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:solyanka') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/solyanka', - [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/olive'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:solyanka').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:solyanka').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Okroshka - event.recipes.gtceu.food_processor('okroshka') - .circuit(20) - .itemInputs('tfc:food/cabbage', 'tfc:food/tomato', 'tfc:food/potato', 'tfc:food/onion', '#firmalife:foods/raw_eggs', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:okroshka') - .inputFluids(Fluid.of('tfc_gurman:kvass', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/okroshka', - [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:food/onion'), Ingredient.of('#firmalife:foods/raw_eggs'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:okroshka').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:okroshka').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Zama - event.recipes.gtceu.food_processor('zama') - .circuit(20) - .itemInputs('tfc:food/chicken', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:powder/salt', 'tfc:food/garlic', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:zama') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/zama', - [Ingredient.of('tfc:food/chicken'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:zama').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:zama').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Curry - event.recipes.gtceu.food_processor('curry') - .circuit(16) - .itemInputs('#tfc:foods/cooked_meats', '#tfc:foods/vegetables', 'tfc:powder/salt', 'tfc:food/cooked_rice', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:curry') - .inputFluids('#tfc:milks 1000') - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/curry', - [Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/cooked_rice'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:curry').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:curry').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Goulash - event.recipes.gtceu.food_processor('goulash') - .circuit(16) - .itemInputs('#tfc:foods/raw_meats', 'tfc:food/onion', 'tfc:food/potato', 'tfc:powder/salt', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:goulash') - .inputFluids(Fluid.of('minecraft:water', 100)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/goulash', - [Ingredient.of('#tfc:foods/raw_meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/potato'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:goulash').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:goulash').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Pho - event.recipes.gtceu.food_processor('pho') - .circuit(16) - .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:pho') - .inputFluids(Fluid.of('minecraft:water', 100)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/pho', - [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:pho').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:pho').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Bouillabaisse - event.recipes.gtceu.food_processor('bouillabaisse') - .circuit(16) - .itemInputs('#firmalife:foods/raw_fish', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:bouillabaisse') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/bouillabaisse', - [Ingredient.of('#firmalife:foods/raw_fish'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:bouillabaisse').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:bouillabaisse').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Ramen with Beef - event.recipes.gtceu.food_processor('ramen_beef') - .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/beef', 'tfc:food/onion', '2x #tfc:bowls') - .itemOutputs('2x tfc_gurman:ramen_with_beef') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_beef', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('tfc:food/beef'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], - TFC.isp.of('tfc_gurman:ramen_with_beef').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 21, + itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_beef').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Ramen with Camelidae - event.recipes.gtceu.food_processor('ramen_camelidae') - .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/camelidae', 'tfc:food/onion', '2x #tfc:bowls') - .itemOutputs('2x tfc_gurman:ramen_with_camelidae') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_camelidae', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('tfc:food/camelidae'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], - TFC.isp.of('tfc_gurman:ramen_with_camelidae').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 21, + itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_camelidae').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Ramen with Chevon - event.recipes.gtceu.food_processor('ramen_chevon') - .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'tfc:food/chevon', 'tfc:food/onion', '2x #tfc:bowls') - .itemOutputs('2x tfc_gurman:ramen_with_chevon') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_chevon', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('tfc:food/chevon'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], - TFC.isp.of('tfc_gurman:ramen_with_chevon').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 21, + itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_chevon').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Ramen with Bacon - event.recipes.gtceu.food_processor('ramen_bacon') - .circuit(21) - .itemInputs('firmalife:food/raw_egg_noodles', '#firmalife:foods/raw_eggs', 'firmalife:food/bacon', 'tfc:food/onion', '2x #tfc:bowls') - .itemOutputs('2x tfc_gurman:ramen_with_bacon') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/ramen_bacon', - [Ingredient.of('firmalife:food/raw_egg_noodles'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('tfc:food/onion'), $SizedIngredient.create('#tfc:bowls', 2)], - TFC.isp.of('tfc_gurman:ramen_with_bacon').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 21, + itemOutputProvider: TFC.isp.of('2x tfc_gurman:ramen_with_bacon').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Biryani - event.recipes.gtceu.food_processor('biryani') - .circuit(20) - .itemInputs('tfc:food/rice_grain', '#tfc:foods/meats', 'tfc:food/onion', 'tfc:food/carrot', 'tfc:food/tomato', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:biryani') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/biryani', - [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/tomato'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:biryani').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:biryani').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Fried Rice - event.recipes.gtceu.food_processor('fried_rice') - .circuit(16) - .itemInputs('tfc:food/cooked_rice', '#forge:eggs', '#tfc:foods/vegetables', 'tfc:powder/salt', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:fried_rice') - .inputFluids(Fluid.of('minecraft:water', 100)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/fried_rice', - [Ingredient.of('tfc:food/cooked_rice'), Ingredient.of('#forge:eggs'), Ingredient.of('#tfc:foods/vegetables'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:fried_rice').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 16, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:fried_rice').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Kimchi - event.recipes.gtceu.food_processor('kimchi') - .circuit(20) - .itemInputs('tfc:food/cabbage', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', 'tfc:powder/salt', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:kimchi') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/kimchi', - [Ingredient.of('tfc:food/cabbage'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:kimchi').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 20, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:kimchi').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Dolma - event.recipes.gtceu.food_processor('dolma') - .circuit(16) - .itemInputs('#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt', '2x #tfc:bowls') - .itemOutputs('2x tfc_gurman:dolma') - .inputFluids(Fluid.of('minecraft:water', 1000)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/dolma', - [Ingredient.of('#tfc:foods/meats'), Ingredient.of('tfc:food/rice_grain'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 2)], - TFC.isp.of('tfc_gurman:dolma').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + global.processorRecipe(event, 'dolma', 300, GTValues.VA[GTValues.LV], { + itemInputs: ['#tfc:foods/meats', 'tfc:food/rice_grain', 'tfc:powder/salt', '2x #tfc:bowls'], + fluidInputs: ['minecraft:water 1000'], + itemOutputs: ['2x tfc_gurman:dolma'], + circuit: 16, + itemOutputProvider: TFC.isp.of('2x tfc_gurman:dolma').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Spaghetti Bolognese - event.recipes.gtceu.food_processor('spaghetti_bolognese') - .circuit(18) - .itemInputs('firmalife:food/cooked_pasta', '#tfc:foods/cooked_meats', 'tfc:food/tomato', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:spaghetti_bolognese') - .inputFluids(Fluid.of('minecraft:water', 500)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/spaghetti_bolognese', - [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('#tfc:foods/cooked_meats'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:spaghetti_bolognese').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 18, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:spaghetti_bolognese').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Pasta Carbonara - event.recipes.gtceu.food_processor('pasta_carbonara') - .circuit(18) - .itemInputs('firmalife:food/cooked_pasta', 'firmalife:food/bacon', '#firmalife:foods/raw_eggs', 'firmalife:food/shredded_cheese', 'tfc:powder/salt', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:pasta_carbonara') - .inputFluids(Fluid.of('minecraft:water', 500)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/pasta_carbonara', - [Ingredient.of('firmalife:food/cooked_pasta'), Ingredient.of('firmalife:food/bacon'), Ingredient.of('#firmalife:foods/raw_eggs'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:powder/salt'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:pasta_carbonara').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 18, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:pasta_carbonara').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Ratatouille - event.recipes.gtceu.food_processor('ratatouille') - .circuit(18) - .itemInputs('tfc:food/tomato', 'tfc:food/pumpkin_chunks', 'tfc:food/carrot', 'tfc:food/onion', 'tfc:food/garlic', '3x #tfc:bowls') - .itemOutputs('3x tfc_gurman:ratatouille') - .inputFluids(Fluid.of('minecraft:water', 500)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/ratatouille', - [Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/pumpkin_chunks'), Ingredient.of('tfc:food/carrot'), Ingredient.of('tfc:food/onion'), Ingredient.of('tfc:food/garlic'), $SizedIngredient.create('#tfc:bowls', 3)], - TFC.isp.of('tfc_gurman:ratatouille').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 18, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:ratatouille').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Risotto - event.recipes.gtceu.food_processor('risotto') - .circuit(18) - .itemInputs('tfc:food/rice_grain', '#firmalife:foods/cheeses', '#tfc:foods/vegetables', '2x #tfc:bowls') - .itemOutputs('3x tfc_gurman:risotto') - .inputFluids(Fluid.of('minecraft:water', 100)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/risotto', - [Ingredient.of('tfc:food/rice_grain'), Ingredient.of('#firmalife:foods/cheeses'), Ingredient.of('#tfc:foods/vegetables'), $SizedIngredient.create('#tfc:bowls', 2)], - TFC.isp.of('tfc_gurman:risotto').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 18, + itemOutputProvider: TFC.isp.of('3x tfc_gurman:risotto').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Porridge - event.recipes.gtceu.food_processor('porridge') - .circuit(18) - .itemInputs('#tfc:foods/grains', 'tfc:powder/salt', '#tfc:bowls') - .itemOutputs('tfc_gurman:porridge') - .inputFluids(Fluid.of('minecraft:water', 250)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/porridge', - [Ingredient.of('#tfc:foods/grains'), Ingredient.of('tfc:powder/salt'), Ingredient.of('#tfc:bowls')], - TFC.isp.of('tfc_gurman:porridge').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 18, + itemOutputProvider: TFC.isp.of('tfc_gurman:porridge').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Mamaliga - event.recipes.gtceu.food_processor('mamaliga') - .circuit(16) - .itemInputs('tfc:food/maize_grain', 'tfc:powder/salt', '#tfc:bowls') - .itemOutputs('tfc_gurman:mamaliga') - .inputFluids(Fluid.of('minecraft:water', 250)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/mamaliga', - [Ingredient.of('tfc:food/maize_grain'), Ingredient.of('tfc:powder/salt'), Ingredient.of('#tfc:bowls')], - TFC.isp.of('tfc_gurman:mamaliga').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + circuit: 16, + itemOutputProvider: TFC.isp.of('tfc_gurman:mamaliga').simpleModifier('tfg:force_add_bowl').copyOldestFood() + }); // Adjika - event.recipes.gtceu.food_processor('adjika') - .circuit(8) - .itemInputs('tfc:food/green_bell_pepper', 'tfc:food/red_bell_pepper', 'tfc:powder/salt', 'tfc:food/garlic', 'firmalife:plant/cilantro', '5x #tfc:bowls') - .itemOutputs('5x tfc_gurman:adjika') - .inputFluids(Fluid.of('minecraft:water', 500)) - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/adjika', - [Ingredient.of('tfc:food/green_bell_pepper'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc:powder/salt'), Ingredient.of('tfc:food/garlic'), Ingredient.of('firmalife:plant/cilantro'), $SizedIngredient.create('#tfc:bowls', 5)], - TFC.isp.of('tfc_gurman:adjika').copyFood().simpleModifier('tfg:add_bowl').asCanonClass(), - []) + 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'], + 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() + }); //#endregion // #region Drying + 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"], + circuit: 6 + }); - event.recipes.gtceu.food_processor("dried_mint") - .itemInputs("tfc:plant/foxglove") - .itemOutputs("tfc_gurman:dried_mint_leaves") - .inputFluids(Fluid.of('gtceu:nitrogen', 100)) - .EUt(8) - .duration(200) - .circuit(6) - .addDataString("action", "tfg.food_recipe.drying") + 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"], + circuit: 6 + }); - event.recipes.gtceu.food_processor("dried_chamomile") - .itemInputs("tfc:plant/lilac") - .itemOutputs("tfc_gurman:dried_chamomile_leaves") - .inputFluids(Fluid.of('gtceu:nitrogen', 100)) - .EUt(8) - .duration(200) - .circuit(6) - .addDataString("action", "tfg.food_recipe.drying") - - event.recipes.gtceu.food_processor("dried_rosehip") - .itemInputs("tfc:plant/rose") - .itemOutputs("tfc_gurman:dried_rosehip_leaves") - .inputFluids(Fluid.of('gtceu:nitrogen', 100)) - .EUt(8) - .duration(200) - .circuit(6) - .addDataString("action", "tfg.food_recipe.drying") - - event.recipes.gtceu.food_processor("dried_nettle") - .itemInputs("tfc:plant/trillium") - .itemOutputs("tfc_gurman:dried_nettle_leaves") - .inputFluids(Fluid.of('gtceu:nitrogen', 100)) - .EUt(8) - .duration(200) - .circuit(6) - .addDataString("action", "tfg.food_recipe.drying") + 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"], + 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"], + circuit: 6 + }); // #endregion Drying // #region Crafting table foods // TODO: unfinished - event.recipes.gtceu.food_processor('margarita_pizza') - .circuit(4) - .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') - .duration(300) - .EUt(8) - - $ISPRecipeLogic.RegisterRecipeData('food_processor/margarita_pizza', - [Ingredient.of('firmalife:food/pizza_dough'), Ingredient.of('firmalife:food/shredded_cheese'), Ingredient.of('tfc:food/tomato'), Ingredient.of('tfc:food/red_bell_pepper'), Ingredient.of('tfc_gurman:plant_mix'), Ingredient.of('firmalife:food/tomato_sauce')], - TFC.isp.of('tfc_gurman:raw_margarita_pizza').copyFood().asCanonClass(), - []) + 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 @@ -761,7 +393,12 @@ function registerTFCGurmanRecipes(event) { event.replaceInput({ id: "tfc_gurman:crafting/tiramisu" }, "minecraft:sugar", "#tfg:sugars"); - event.shapeless('4x tfc_gurman:raw_takoyaki', ['tfg:food/raw_crawlermari', '#tfc:foods/flour', '#forge:eggs', 'tfc:powder/salt']); + 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'), + TFC.ingredient.notRotten('#forge:eggs'), + 'tfc:powder/salt' + ]).id('tfg:shapeless/takoyaki_from_crawlermari'); // #endregion } diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index 2fd6beaff..e79b3ee58 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -1,127 +1,128 @@ // priority: 0 "use strict"; + +const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") +const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient") +const Sized = (ing, amount) => $SizedIngredient.create(ing, amount) + +/** +* @typedef {Object} FoodRecipeData +* @property {number?} circuit +* @property {Internal.GTRecipeComponents$FluidIngredientJS_[]?} fluidInputs +* @property {Internal.FluidStackJS[]?} fluidOutputs +* @property {(string | [string, Internal.Ingredient])[]?} itemInputs +* @property {string[]?} itemOutputs Ingredient outputs - first output is replaced with ISP output if defined +* @property {Internal.ItemStackProviderJS?} itemOutputProvider ItemStackProvider which provides the recipe output. +* @property {boolean?} daytime +* @property {boolean?} perTick +* @property {(string | [string, Internal.GTRecipeSchema$GTRecipeJS.dimension])?} dimension +* @property {Internal.GTRecipeSchema$GTRecipeJS.cleanroom?} cleanroom CleanroomType +* @property {string[]?} notConsumable +* +* **NOTE:** TFC Ingredients do not support item counts higher than 1. Do `Sized(TFCIngredient('item:item'), count)` instead of `TFCIngredient('[count]x item:item')` +*/ +//#region Helper funcs + +/** +* @param {"food_oven"|"food_processor"} type +* @param {string} id +* @param {number} duration +* @param {number} EUt +* @param {string} text +* @param {FoodRecipeData} data +*/ +global.registerFoodRecipe = (event, type, id, duration, EUt, text, data) => { + if (data.itemInputs === undefined) data.itemInputs = [] + if (data.itemOutputs === undefined) data.itemOutputs = [] + if (data.fluidInputs === undefined) data.fluidInputs = [] + if (data.fluidOutputs === undefined) data.fluidOutputs = [] + if (data.notConsumable === undefined) data.notConsumable = [] + let gregInputs = [], inputs = [] + let outputFirstIndex = (data.itemOutputProvider === undefined) ? 0 : 1 + data.itemInputs.forEach(item => { + if (typeof item === "string") { + gregInputs.push(item) + + const match = item.match(/^(\d+)\s*x\s*/i); + let count = 1 + if (match) { + count = parseInt(match[1]); + item = item.slice(match[0].length); + } + inputs.push($SizedIngredient.create(item, count)) + } else { + gregInputs.push(item[0]) + inputs.push(item[1]) + } + }) + + $ISPRecipeLogic.RegisterRecipeData(`${type }/${ id}`, inputs, (data.itemOutputProvider === undefined) ? null : data.itemOutputProvider.asCanonClass(), data.itemOutputs.slice(outputFirstIndex).map(i => Item.of(i))) + + let r = event.recipes.gtceu[type](id) + .duration(duration) + .EUt(EUt) + + if (data.circuit) r.circuit(data.circuit) + if (data.daytime) r.daytime(data.daytime) + if (data.perTick) r.perTick(data.perTick) + if (data.dimension) r.dimension(data.dimension) + if (data.cleanroom) r.cleanroom(data.cleanroom) + if (data.notConsumable.length > 0) r.notConsumable(data.notConsumable) + if (data.itemOutputs.length > 0) r.itemOutputs(data.itemOutputs) + if (data.itemInputs.length > 0) r.itemInputs(data.itemInputs) + if (data.fluidInputs.length > 0) r.inputFluids(data.fluidInputs); + if (data.fluidOutputs.length > 0) r.outputFluids(data.fluidOutputs); + if (text !== "") r.addDataString("action", text); + + return r; +} + +/** +* @param {string} id +* @param {number} duration +* @param {number} EUt +* @param {FoodRecipeData} data +*/ +global.processorRecipe = (event, id, duration, EUt, data) => global.registerFoodRecipe(event, "food_processor", id, duration, EUt, "", data) + +/** +* @param {string} id +* @param {number} duration +* @param {number} EUt +* @param {FoodRecipeData} data +* @param {string} text +*/ +global.processorRecipeText = (event, id, duration, EUt, text, data) => global.registerFoodRecipe(event, "food_processor", id, duration, EUt, text, data) + +/** +* @param {string} id +* @param {string} input +* @param {string} out +* @param {Internal.FluidIngredient?} fluid +* @param {boolean?} isFirmaDynamic +*/ +global.cookingRecipe = (event, id, input, out, fluid, isFirmaDynamic) => { + return global.registerFoodRecipe(event, "food_oven", id, 20 * 10, GTValues.VA[GTValues.LV], "", { + itemInputs: [input], + itemOutputs: [out], + fluidInputs: (fluid === undefined) ? [] : [fluid], + itemOutputProvider: ((isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood()).addTrait("firmalife:oven_baked") + }) +} + +//#endregion + + /** * @param {Internal.RecipesEventJS} event */ function registerTFGFoodRecipes(event) { - const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic") - const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient") - const Sized = (ing, amount) => $SizedIngredient.create(ing, amount) - - /** - * @typedef {Object} FoodRecipeData - * @property {number?} circuit - * @property {Internal.GTRecipeComponents$FluidIngredientJS_[]?} fluidInputs - * @property {Internal.FluidStackJS[]?} fluidOutputs - * @property {(string | [string, Internal.Ingredient])[]?} itemInputs - * @property {string[]?} itemOutputs Ingredient outputs - first output is replaced with ISP output if defined - * @property {Internal.ItemStackProviderJS?} itemOutputProvider ItemStackProvider which provides the recipe output. - * @property {boolean?} daytime - * @property {boolean?} perTick - * @property {(string | [string, Internal.GTRecipeSchema$GTRecipeJS.dimension])?} dimension - * @property {Internal.GTRecipeSchema$GTRecipeJS.cleanroom?} cleanroom CleanroomType - * @property {string[]?} notConsumable - * - * **NOTE:** TFC Ingredients do not support item counts higher than 1. Do `Sized(TFCIngredient('item:item'), count)` instead of `TFCIngredient('[count]x item:item')` - */ - - //#region Helper funcs - - /** - * @param {"food_oven"|"food_processor"} type - * @param {string} id - * @param {number} duration - * @param {number} EUt - * @param {string} text - * @param {FoodRecipeData} data - */ - function registerFoodRecipe(type, id, duration, EUt, text, data) { - if (data.itemInputs === undefined) data.itemInputs = [] - if (data.itemOutputs === undefined) data.itemOutputs = [] - if (data.fluidInputs === undefined) data.fluidInputs = [] - if (data.fluidOutputs === undefined) data.fluidOutputs = [] - if (data.notConsumable === undefined) data.notConsumable = [] - let gregInputs = [], inputs = [] - let outputFirstIndex = (data.itemOutputProvider === undefined) ? 0 : 1 - data.itemInputs.forEach(item => { - if (typeof item === "string") { - gregInputs.push(item) - - const match = item.match(/^(\d+)\s*x\s*/i); - let count = 1 - if (match) { - count = parseInt(match[1]); - item = item.slice(match[0].length); - } - inputs.push($SizedIngredient.create(item, count)) - } else { - gregInputs.push(item[0]) - inputs.push(item[1]) - } - }) - - $ISPRecipeLogic.RegisterRecipeData(`${type }/${ id}`, inputs, (data.itemOutputProvider === undefined) ? null : data.itemOutputProvider.asCanonClass(), data.itemOutputs.slice(outputFirstIndex).map(i => Item.of(i))) - - let r = event.recipes.gtceu[type](id) - .duration(duration) - .EUt(EUt) - - if (data.circuit) r.circuit(data.circuit) - if (data.daytime) r.daytime(data.daytime) - if (data.perTick) r.perTick(data.perTick) - if (data.dimension) r.dimension(data.dimension) - if (data.cleanroom) r.cleanroom(data.cleanroom) - if (data.notConsumable.length > 0) r.notConsumable(data.notConsumable) - if (data.itemOutputs.length > 0) r.itemOutputs(data.itemOutputs) - if (data.itemInputs.length > 0) r.itemInputs(data.itemInputs) - if (data.fluidInputs.length > 0) r.inputFluids(data.fluidInputs); - if (data.fluidOutputs.length > 0) r.outputFluids(data.fluidOutputs); - if (text !== "") r.addDataString("action", text); - - return r; - } - - /** - * @param {string} id - * @param {number} duration - * @param {number} EUt - * @param {FoodRecipeData} data - */ - const processorRecipe = (id, duration, EUt, data) => registerFoodRecipe("food_processor", id, duration, EUt, "", data) - - /** - * @param {string} id - * @param {number} duration - * @param {number} EUt - * @param {FoodRecipeData} data - * @param {string} text - */ - const processorRecipeText = (id, duration, EUt, text, data) => registerFoodRecipe("food_processor", id, duration, EUt, text, data) - - /** - * @param {string} id - * @param {string} input - * @param {string} out - * @param {Internal.FluidIngredient?} fluid - * @param {boolean?} isFirmaDynamic - */ - function cookingRecipe(id, input, out, fluid, isFirmaDynamic) { - return registerFoodRecipe("food_oven", id, 20 * 10, GTValues.VA[GTValues.LV], "", { - itemInputs: [input], - itemOutputs: [out], - fluidInputs: (fluid === undefined) ? [] : [fluid], - itemOutputProvider: ((isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood()).addTrait("firmalife:oven_baked") - }) - } - - //#endregion - //#region Meat cooking global.TFC_MEAT_RECIPE_COMPONENTS.forEach(item => { - cookingRecipe(item.name, item.input, item.output) + global.cookingRecipe(event, item.name, item.input, item.output) }) //#endregion @@ -130,7 +131,7 @@ function registerTFGFoodRecipes(event) { global.TFC_GRAINS.forEach(grain => { // Raw crop to grain - processorRecipe(`${grain}_grain`, 100, 8, { + global.processorRecipe(event, `${grain}_grain`, 100, 8, { circuit: 30, itemInputs: [`tfc:food/${grain}`], itemOutputs: [`tfc:food/${grain}_grain`], @@ -138,7 +139,7 @@ function registerTFGFoodRecipes(event) { }) // Grain to flour - processorRecipe(`${grain}_flour`, 100, 8, { + global.processorRecipe(event, `${grain}_flour`, 100, 8, { circuit: 31, itemInputs: [`tfc:food/${grain}_grain`], itemOutputs: [`2x tfc:food/${grain}_flour`], @@ -155,7 +156,7 @@ function registerTFGFoodRecipes(event) { }, 0, 0).id(`tfg:mortar/${grain}_flour`) // Flatbread dough - processorRecipe(`${grain}_flatbread_dough`, 300, 8, { + global.processorRecipe(event, `${grain}_flatbread_dough`, 300, 8, { itemInputs: [`tfc:food/${grain}_flour`], itemOutputs: [`2x tfc:food/${grain}_dough`], circuit: 1, @@ -164,7 +165,7 @@ function registerTFGFoodRecipes(event) { }) // Firmalife dough - processorRecipe(`${grain}_dough`, 300, 16, { + global.processorRecipe(event, `${grain}_dough`, 300, 16, { itemInputs: [`tfc:food/${grain}_flour`, `#tfc:sweetener`], itemOutputs: [`4x firmalife:food/${grain}_dough`], circuit: 1, @@ -173,10 +174,10 @@ function registerTFGFoodRecipes(event) { }) // Bread baking - cookingRecipe(`${grain}_flatbread`, `tfc:food/${grain}_dough`, `firmalife:food/${grain}_flatbread`) - cookingRecipe(`${grain}_bread`, `firmalife:food/${grain}_dough`, `tfc:food/${grain}_bread`) + global.cookingRecipe(event, `${grain}_flatbread`, `tfc:food/${grain}_dough`, `firmalife:food/${grain}_flatbread`) + global.cookingRecipe(event, `${grain}_bread`, `firmalife:food/${grain}_dough`, `tfc:food/${grain}_bread`) - processorRecipe(`${grain}_bread_slice`, 10, 8, { + global.processorRecipe(event, `${grain}_bread_slice`, 10, 8, { circuit: 1, itemInputs: [`tfc:food/${grain}_bread`], itemOutputs: [`2x firmalife:food/${grain}_slice`], @@ -187,7 +188,7 @@ function registerTFGFoodRecipes(event) { let breadTypes = [["bread", `tfc:food/${grain}_bread`], ["flatbread", `firmalife:food/${grain}_flatbread`], ["slice", `firmalife:food/${grain}_slice`]] breadTypes.forEach((type) => { - processorRecipe(`${grain}_${type[0]}_sandwich`, 100, 16, { + global.processorRecipe(event, `${grain}_${type[0]}_sandwich`, 100, 16, { circuit: 3, itemInputs: [`2x ${type[1]}`, "3x #tfc:foods/usable_in_sandwich"], itemOutputs: [`2x tfc:food/${grain}_bread_sandwich`], @@ -200,7 +201,7 @@ function registerTFGFoodRecipes(event) { //Note: Jam needs to be first in the recipe code or else it will consider it as the usable_in_jam_sandwhich ingredients. //1 Jam - processorRecipe(`${grain}_${type[0]}_jam_sandwich_1`, 100, 16, { + global.processorRecipe(event, `${grain}_${type[0]}_jam_sandwich_1`, 100, 16, { circuit: 4, itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich_2'], itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, 'tfc:empty_jar'], @@ -212,7 +213,7 @@ function registerTFGFoodRecipes(event) { }) //2 Jam - processorRecipe(`${grain}_${type[0]}_jam_sandwich_2`, 100, 16, { + global.processorRecipe(event, `${grain}_${type[0]}_jam_sandwich_2`, 100, 16, { circuit: 4, itemInputs: [`2x ${type[1]}`, '2x #tfc:foods/preserves', '1x #tfc:foods/usable_in_jam_sandwich_2'], itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, '2x tfc:empty_jar'], @@ -224,7 +225,7 @@ function registerTFGFoodRecipes(event) { }) //3 Jam - processorRecipe(`${grain}_${type[0]}_jam_sandwich_3`, 100, 16, { + global.processorRecipe(event, `${grain}_${type[0]}_jam_sandwich_3`, 100, 16, { circuit: 4, itemInputs: [`2x ${type[1]}`, '3x #tfc:foods/preserves'], itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, '3x tfc:empty_jar'], @@ -244,11 +245,11 @@ function registerTFGFoodRecipes(event) { //#region Firmalife global.FIRMALIFE_COOKING_RECIPE_COMPONENTS.forEach(item => { - cookingRecipe(item.name, item.input, item.output, undefined, true) + global.cookingRecipe(event, item.name, item.input, item.output, undefined, true) }) // Pineapple fiber - processorRecipe("firmalife:crafting/pineapple_fiber", 300, 16, { + global.processorRecipe(event, "firmalife:crafting/pineapple_fiber", 300, 16, { circuit: 3, itemInputs: ["firmalife:food/pineapple"], fluidInputs: [Fluid.of('gtceu:nitrogen', 100)], @@ -275,20 +276,20 @@ function registerTFGFoodRecipes(event) { .duration(300) .EUt(GTValues.VA[GTValues.LV]) - processorRecipe(`${item.id}_curd`, 1200, 16, { + global.processorRecipe(event, `${item.id}_curd`, 1200, 16, { itemOutputs: [item.curd], fluidInputs: [Fluid.of(item.curdled_fluid, 1000)], itemOutputProvider: TFC.isp.of(item.curd).resetFood() }) - processorRecipe(`${item.id}_unsalted_cheese_wheel`, 8000, 16, { + global.processorRecipe(event, `${item.id}_unsalted_cheese_wheel`, 8000, 16, { itemInputs: [`3x ${item.curd}`], itemOutputs: [item.unsalted_wheel], fluidInputs: [Fluid.of('tfc:salt_water', 750)], itemOutputProvider: TFC.isp.of(item.unsalted_wheel).copyOldestFood() }) - processorRecipe(`${item.id}_unsalted_cheese_cutting`, 100, 8, { + global.processorRecipe(event, `${item.id}_unsalted_cheese_cutting`, 100, 8, { itemInputs: [item.unsalted_wheel], itemOutputs: [`4x ${item.unsalted_cheese}`], itemOutputProvider: TFC.isp.of(`4x ${item.unsalted_cheese}`).copyOldestFood() @@ -297,14 +298,14 @@ function registerTFGFoodRecipes(event) { if (item.salted_wheel === null || item.salted_cheese === null) return; - processorRecipe(`${item.id}_salted_cheese_wheel`, 1000, 16, { + global.processorRecipe(event, `${item.id}_salted_cheese_wheel`, 1000, 16, { circuit: 2, itemInputs: [`3x ${item.curd}`, `6x tfc:powder/salt`], itemOutputs: [item.salted_wheel], itemOutputProvider: TFC.isp.of(item.salted_wheel).copyOldestFood() }) - processorRecipe(`${item.id}_salted_cheese_cutting`, 100, 8, { + global.processorRecipe(event, `${item.id}_salted_cheese_cutting`, 100, 8, { itemInputs: [item.salted_wheel], itemOutputs: [`4x ${item.salted_cheese}`], itemOutputProvider: TFC.isp.of(`4x ${item.salted_cheese}`).copyOldestFood() @@ -313,7 +314,7 @@ function registerTFGFoodRecipes(event) { // Milks - processorRecipe(`white_chocolate_blend`, 300, 16, { + global.processorRecipe(event, `white_chocolate_blend`, 300, 16, { circuit: 3, itemInputs: ['2x firmalife:food/cocoa_butter', '#tfc:sweetener'], fluidInputs: ['#tfc:milks 1000'], @@ -321,7 +322,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('2x firmalife:food/white_chocolate_blend').resetFood() }) - processorRecipe(`dark_chocolate_blend`, 300, 16, { + global.processorRecipe(event, `dark_chocolate_blend`, 300, 16, { circuit: 2, itemInputs: ['2x firmalife:food/cocoa_powder', '#tfc:sweetener'], fluidInputs: ['#tfc:milks 1000'], @@ -329,7 +330,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('2x firmalife:food/dark_chocolate_blend').resetFood() }) - processorRecipe(`milk_chocolate_blend`, 300, 16, { + global.processorRecipe(event, `milk_chocolate_blend`, 300, 16, { circuit: 1, itemInputs: ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener'], fluidInputs: ['#tfc:milks 1000'], @@ -338,7 +339,7 @@ function registerTFGFoodRecipes(event) { }) // TODO: this has nutrition dynamically set in the pot recipe, can we do that here? - processorRecipe(`egg_noodles`, 50, 8, { + global.processorRecipe(event, `egg_noodles`, 50, 8, { circuit: 6, itemInputs: ["#tfc:foods/flour", 'tfc:powder/salt', '#forge:eggs'], fluidInputs: ['#tfc:milks 1000'], @@ -346,7 +347,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of("firmalife:food/raw_egg_noodles").copyOldestFood() }) - processorRecipe(`rice_noodles`, 50, 8, { + global.processorRecipe(event, `rice_noodles`, 50, 8, { itemInputs: ["tfc:food/rice_flour", 'tfc:food/maize_flour', 'tfc:powder/salt'], fluidInputs: ['#tfc:milks 1000'], itemOutputs: ['2x firmalife:food/raw_rice_noodles'], @@ -370,7 +371,7 @@ function registerTFGFoodRecipes(event) { for (const ctype of chocolateType) { for (const cshape of chocolateShape) { - processorRecipe(`${ctype}_${cshape}_melting`, 100, 16, { + global.processorRecipe(event, `${ctype}_${cshape}_melting`, 100, 16, { circuit: 1, itemInputs:[cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], fluidOutputs:[cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], @@ -380,7 +381,7 @@ function registerTFGFoodRecipes(event) { for (const ctype of chocolateType) { for (const cshape of chocolateShape) { - processorRecipe(`${ctype}_${cshape}_casting`, 100, 16, { + global.processorRecipe(event, `${ctype}_${cshape}_casting`, 100, 16, { fluidInputs: [cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], itemOutputs: [cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], itemOutputProvider: TFC.isp.of(cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`).resetFood(), @@ -410,7 +411,7 @@ function registerTFGFoodRecipes(event) { const brining_ingredients = smoking_meats.concat(brining_veg); brining_ingredients.forEach(item => { - processorRecipeText(`${item.replace(/:/g, "/")}/brining`, 200, 16, "tfg.food_recipe.brining", { + global.processorRecipeText(event, `${item.replace(/:/g, "/")}/brining`, 200, 16, "tfg.food_recipe.brining", { circuit: 5, itemInputs: [item], itemOutputs: [item], @@ -420,7 +421,7 @@ function registerTFGFoodRecipes(event) { }) smoking_meats.forEach(item => { - processorRecipeText(`${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", { + global.processorRecipeText(event, `${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", { circuit: 6, itemInputs: [item], itemOutputs: [item], @@ -430,7 +431,7 @@ function registerTFGFoodRecipes(event) { }) smoking_cheese.forEach(item => { - processorRecipeText(`${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", { + global.processorRecipeText(event, `${item.replace(/:/g, "/")}/smoking`, 200, 16, "tfg.food_recipe.smoking", { circuit: 6, itemInputs: [item], itemOutputs: [item], @@ -440,7 +441,7 @@ function registerTFGFoodRecipes(event) { }) drying_fruits.forEach(item => { - processorRecipeText(`${item.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", { + global.processorRecipeText(event, `${item.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", { circuit: 6, itemInputs: [item], itemOutputs: [item], @@ -450,7 +451,7 @@ function registerTFGFoodRecipes(event) { }) drying_recipes.forEach(item => { - processorRecipeText(`${item.input.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", { + global.processorRecipeText(event, `${item.input.replace(/:/g, "/")}/drying`, 200, 16, "tfg.food_recipe.drying", { circuit: 6, itemInputs: [item.input], itemOutputs: [item.output], @@ -460,7 +461,7 @@ function registerTFGFoodRecipes(event) { }) global.FOOD_FRUIT.forEach(fruit => { - processorRecipeText(`${fruit.name}/drying`, 100, 120, "tfg.food_recipe.freeze_drying", { + global.processorRecipeText(event, `${fruit.name}/drying`, 100, 120, "tfg.food_recipe.freeze_drying", { circuit: 7, itemInputs: [fruit.id, 'tfg:foil_pack', 'tfg:dry_ice'], itemOutputs: [`tfg:food/freeze_dried/${fruit.name}`], @@ -472,7 +473,7 @@ function registerTFGFoodRecipes(event) { //#region Meal Bags //1 Input - processorRecipeText('meal_bag/1', 100, 120, "tfg.food_recipe.freeze_drying", { + global.processorRecipeText(event, 'meal_bag/1', 100, 120, "tfg.food_recipe.freeze_drying", { circuit: 10, itemInputs: ['1x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], itemOutputs: ['2x tfg:food/meal_bag'], @@ -483,7 +484,7 @@ function registerTFGFoodRecipes(event) { }) //2 Input - processorRecipeText('meal_bag/2', 100, 120, "tfg.food_recipe.freeze_drying", { + global.processorRecipeText(event, 'meal_bag/2', 100, 120, "tfg.food_recipe.freeze_drying", { circuit: 11, itemInputs: ['2x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], itemOutputs: ['2x tfg:food/meal_bag'], @@ -494,7 +495,7 @@ function registerTFGFoodRecipes(event) { }) //3 Input - processorRecipeText('meal_bag/3', 100, 120, "tfg.food_recipe.freeze_drying", { + global.processorRecipeText(event, 'meal_bag/3', 100, 120, "tfg.food_recipe.freeze_drying", { circuit: 12, itemInputs: ['3x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], itemOutputs: ['2x tfg:food/meal_bag'], @@ -505,7 +506,7 @@ function registerTFGFoodRecipes(event) { }) //4 Input - processorRecipeText('meal_bag/4', 100, 120, "tfg.food_recipe.freeze_drying", { + global.processorRecipeText(event, 'meal_bag/4', 100, 120, "tfg.food_recipe.freeze_drying", { circuit: 13, itemInputs: ['4x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], itemOutputs: ['2x tfg:food/meal_bag'], @@ -516,7 +517,7 @@ function registerTFGFoodRecipes(event) { }) //5 Input - processorRecipeText('meal_bag/5', 100, 120, "tfg.food_recipe.freeze_drying", { + global.processorRecipeText(event, 'meal_bag/5', 100, 120, "tfg.food_recipe.freeze_drying", { circuit: 14, itemInputs: ['5x #tfg:foods/usable_in_meal_bag', '2x tfg:foil_pack', 'tfg:dry_ice'], itemOutputs: ['2x tfg:food/meal_bag'], @@ -531,7 +532,7 @@ function registerTFGFoodRecipes(event) { //#region Jams global.TFC_JAMS.forEach(name => { - processorRecipe(`${name}_jam`, 200, 8, { + global.processorRecipe(event, `${name}_jam`, 200, 8, { circuit: 15, itemInputs: [`4x tfc:food/${name}`, "#tfc:sweetener", "4x #tfc:empty_jar_with_lid"], fluidInputs: ['#tfg:clean_water 100'], @@ -539,7 +540,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}`).copyFood() }) - processorRecipe(`${name}_jam_no_seal`, 200, 8, { + global.processorRecipe(event, `${name}_jam_no_seal`, 200, 8, { circuit: 16, itemInputs: [`4x tfc:food/${name}`, "#tfc:sweetener", "4x tfc:empty_jar"], fluidInputs: ['#tfg:clean_water 100'], @@ -549,7 +550,7 @@ function registerTFGFoodRecipes(event) { }) global.FIRMALIFE_JAMS.forEach(name => { - processorRecipe(`${name}_jam`, 200, 8, { + global.processorRecipe(event, `${name}_jam`, 200, 8, { circuit: 15, itemInputs: [`4x firmalife:food/${name}`, "#tfc:sweetener", "4x #tfc:empty_jar_with_lid"], fluidInputs: ['#tfg:clean_water 100'], @@ -557,7 +558,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`4x firmalife:jar/${name}`).copyFood() }) - processorRecipe(`${name}_jam_no_seal`, 200, 8, { + global.processorRecipe(event, `${name}_jam_no_seal`, 200, 8, { circuit: 16, itemInputs: [`4x firmalife:food/${name}`, "#tfc:sweetener", "4x tfc:empty_jar"], fluidInputs: ['#tfg:clean_water 100'], @@ -569,21 +570,21 @@ function registerTFGFoodRecipes(event) { //#endregion //#region Misc - cookingRecipe("pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta", "#tfg:clean_water 100") + global.cookingRecipe(event, "pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta", "#tfg:clean_water 100") - cookingRecipe("corn_tortilla", "firmalife:food/masa", "firmalife:food/corn_tortilla") + global.cookingRecipe(event, "corn_tortilla", "firmalife:food/masa", "firmalife:food/corn_tortilla") - cookingRecipe("baked_potato", "tfc:food/potato", "tfc:food/baked_potato") + global.cookingRecipe(event, "baked_potato", "tfc:food/potato", "tfc:food/baked_potato") - cookingRecipe("cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice", "#tfg:clean_water 200") + global.cookingRecipe(event, "cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice", "#tfg:clean_water 200") - processorRecipe("pasta_tomato_sauce", 60, 8, { + global.processorRecipe(event, "pasta_tomato_sauce", 60, 8, { itemInputs: ["firmalife:food/cooked_pasta", "firmalife:food/tomato_sauce"], itemOutputs: ["firmalife:food/pasta_with_tomato_sauce"], itemOutputProvider: TFC.isp.of('firmalife:food/pasta_with_tomato_sauce').copyFood() }) - processorRecipe(`masa_flour`, 100, 8, { + global.processorRecipe(event, `masa_flour`, 100, 8, { circuit: 31, itemInputs: [`firmalife:food/nixtamal`], itemOutputs: [`4x firmalife:food/masa_flour`], @@ -608,7 +609,7 @@ function registerTFGFoodRecipes(event) { B: '#forge:tools/mortars' }, 0, 0).id(`tfg:mortar/olive_paste`) - processorRecipe('firmalife_masa', 300, 2, { + global.processorRecipe(event, 'firmalife_masa', 300, 2, { circuit: 3, itemInputs: ["firmalife:food/masa_flour"], fluidInputs: ['#tfg:clean_water 100'], @@ -616,13 +617,13 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of("2x firmalife:food/masa").copyFood() }) - processorRecipe("tortilla_chips", 40, 16, { + global.processorRecipe(event, "tortilla_chips", 40, 16, { itemInputs: ["firmalife:food/taco_shell", "tfc:powder/salt"], itemOutputs: ["firmalife:food/tortilla_chips"], itemOutputProvider: TFC.isp.of("firmalife:food/tortilla_chips").copyFood() }) - processorRecipe("tomato_sauce", 300, 8, { + global.processorRecipe(event, "tomato_sauce", 300, 8, { circuit: 1, itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfc:food/garlic'], fluidInputs: ['#tfg:clean_water 200'], @@ -630,34 +631,34 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('5x firmalife:food/tomato_sauce').copyOldestFood() }) - processorRecipe("tomato_sauce_mix", 600, 8, { + global.processorRecipe(event, "tomato_sauce_mix", 600, 8, { circuit: 2, itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfc:food/garlic'], itemOutputs: ['5x firmalife:food/tomato_sauce_mix'], itemOutputProvider: TFC.isp.of('5x firmalife:food/tomato_sauce_mix').copyOldestFood() }) - processorRecipe("tomato_sauce_from_mix", 200, 8, { + global.processorRecipe(event, "tomato_sauce_from_mix", 200, 8, { itemInputs: ['firmalife:food/tomato_sauce_mix'], fluidInputs: ['#tfg:clean_water 200'], itemOutputs: ['firmalife:food/tomato_sauce'], itemOutputProvider: TFC.isp.of('firmalife:food/tomato_sauce').copyOldestFood() }) - processorRecipe("olive_paste", 60, 8, { + global.processorRecipe(event, "olive_paste", 60, 8, { itemInputs: ['tfc:food/olive'], itemOutputs: ['2x tfc:olive_paste'], itemOutputProvider: TFC.isp.of('2x tfc:olive_paste'), circuit: 3 }) - processorRecipe("soybean_paste", 60, 8, { + global.processorRecipe(event, "soybean_paste", 60, 8, { itemInputs: ['firmalife:food/dehydrated_soybeans'], itemOutputs: ['firmalife:food/soybean_paste'], itemOutputProvider: TFC.isp.of('firmalife:food/soybean_paste').copyOldestFood() }) - processorRecipeText('calorie_paste', 100, 512, "tfg.food_recipe.freeze_drying", { + global.processorRecipeText(event, 'calorie_paste', 100, 512, "tfg.food_recipe.freeze_drying", { circuit: 8, itemInputs: ['firmalife:food/soybean_paste', 'tfg:foil_pack', '2x gtceu:small_meat_dust', 'tfg:dry_ice'], itemOutputs: ['tfg:food/calorie_paste'], @@ -665,7 +666,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('tfg:food/calorie_paste').copyOldestFood().addTrait('tfg:freeze_dried') }) - processorRecipe("boiled_egg", 200, 16, { + global.processorRecipe(event, "boiled_egg", 200, 16, { circuit: 1, itemInputs: ["#firmalife:foods/raw_eggs"], fluidInputs: ["#tfg:clean_water 200"], @@ -674,16 +675,16 @@ function registerTFGFoodRecipes(event) { }) //Kelp - cookingRecipe("dried_kelp_a", "tfc:plant/winged_kelp", "tfc:food/dried_kelp") - cookingRecipe("dried_kelp_b", "tfc:plant/leafy_kelp", "tfc:food/dried_kelp") - cookingRecipe("dried_kelp_c", "tfc:plant/giant_kelp_flower", "tfc:food/dried_kelp") + global.cookingRecipe(event, "dried_kelp_a", "tfc:plant/winged_kelp", "tfc:food/dried_kelp") + global.cookingRecipe(event, "dried_kelp_b", "tfc:plant/leafy_kelp", "tfc:food/dried_kelp") + global.cookingRecipe(event, "dried_kelp_c", "tfc:plant/giant_kelp_flower", "tfc:food/dried_kelp") //Seaweed - cookingRecipe("dried_seaweed_a", "tfc:food/fresh_seaweed", "tfc:food/dried_seaweed") - cookingRecipe("dried_seaweed_b", "tfc:groundcover/seaweed", "tfc:food/dried_seaweed") + global.cookingRecipe(event, "dried_seaweed_a", "tfc:food/fresh_seaweed", "tfc:food/dried_seaweed") + global.cookingRecipe(event, "dried_seaweed_b", "tfc:groundcover/seaweed", "tfc:food/dried_seaweed") // Vinegar - processorRecipe('vinegar_alcohol', 600, GTValues.VA[GTValues.LV], { + global.processorRecipe(event, 'vinegar_alcohol', 600, GTValues.VA[GTValues.LV], { circuit: 5, itemInputs: ['#tfc:foods/fruits'], fluidInputs: ['#tfg:alcohols 250'], @@ -692,7 +693,7 @@ function registerTFGFoodRecipes(event) { //#region Pizza - processorRecipe("pizza_no_extra", 600, 16, { + global.processorRecipe(event, "pizza_no_extra", 600, 16, { circuit: 3, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -702,7 +703,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("pizza_1_extra", 600, GTValues.VHA[GTValues.MV], { + global.processorRecipe(event, "pizza_1_extra", 600, GTValues.VHA[GTValues.MV], { circuit: 1, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "#firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -712,7 +713,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("pizza_2_extra", 600, GTValues.VHA[GTValues.MV], { + global.processorRecipe(event, "pizza_2_extra", 600, GTValues.VHA[GTValues.MV], { circuit: 2, itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "2x #firmalife:foods/pizza_ingredients"], itemOutputs: ["firmalife:food/raw_pizza"], @@ -722,7 +723,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("pizza_dough", 300, 16, { + global.processorRecipe(event, "pizza_dough", 300, 16, { itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'], fluidInputs: ['#firmalife:oils 100'], itemOutputs: ['4x firmalife:food/pizza_dough'], @@ -731,14 +732,14 @@ function registerTFGFoodRecipes(event) { //#endregion - processorRecipe("shredded_cheese", 100, 16, { + global.processorRecipe(event, "shredded_cheese", 100, 16, { itemInputs: ['#firmalife:foods/cheeses'], itemOutputs: ['4x firmalife:food/shredded_cheese'], circuit: 30, itemOutputProvider: TFC.isp.of('4x firmalife:food/shredded_cheese').copyFood() }) - processorRecipe("basil", 20, 16, { + global.processorRecipe(event, "basil", 20, 16, { itemInputs: ['firmalife:plant/basil'], itemOutputs: ['2x firmalife:spice/basil_leaves'], circuit: 30, @@ -747,33 +748,33 @@ function registerTFGFoodRecipes(event) { //#region Ice cream - processorRecipe("vanilla_ice_cream", 300, 16, { + global.processorRecipe(event, "vanilla_ice_cream", 300, 16, { itemInputs: ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla'], itemOutputs: ['2x firmalife:food/vanilla_ice_cream'], fluidInputs: [Fluid.of('firmalife:cream', 1000)], itemOutputProvider: TFC.isp.of("2x firmalife:food/vanilla_ice_cream").resetFood() }) - processorRecipe("chocolate_ice_cream", 300, 16, { + global.processorRecipe(event, "chocolate_ice_cream", 300, 16, { itemInputs: ['firmalife:food/vanilla_ice_cream'], itemOutputs: ['firmalife:food/chocolate_ice_cream'], fluidInputs: [Fluid.of('tfcchannelcasting:milk_chocolate', 100)], itemOutputProvider: TFC.isp.of("firmalife:food/chocolate_ice_cream").resetFood() }) - processorRecipe("strawberry_ice_cream", 300, 16, { + global.processorRecipe(event, "strawberry_ice_cream", 300, 16, { itemInputs: ['firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry'], itemOutputs: ['firmalife:food/strawberry_ice_cream'], itemOutputProvider: TFC.isp.of("firmalife:food/strawberry_ice_cream").resetFood() }) - processorRecipe("cookie_dough_ice_cream", 300, 16, { + global.processorRecipe(event, "cookie_dough_ice_cream", 300, 16, { itemInputs: [`firmalife:food/vanilla_ice_cream`, `firmalife:food/chocolate_chip_cookie_dough`], itemOutputs: [`2x firmalife:food/cookie_dough_ice_cream`], itemOutputProvider: TFC.isp.of("firmalife:food/cookie_dough_ice_cream").resetFood() }) - processorRecipe("banana_split", 500, 16, { + global.processorRecipe(event, "banana_split", 500, 16, { itemInputs: ['firmalife:food/vanilla_ice_cream', 'firmalife:food/strawberry_ice_cream', 'firmalife:food/chocolate_ice_cream', 'firmalife:food/pineapple', 'tfc:food/cherry', '2x tfc:food/banana'], itemOutputs: ['2x firmalife:food/banana_split'], itemOutputProvider: TFC.isp.of('2x firmalife:food/banana_split').resetFood() @@ -781,14 +782,14 @@ function registerTFGFoodRecipes(event) { //#endregion - processorRecipe("butter", 300, 16, { + global.processorRecipe(event, "butter", 300, 16, { itemInputs: ["tfc:powder/salt"], fluidInputs: [Fluid.of('firmalife:cream', 1000)], itemOutputs: ["firmalife:food/butter"], itemOutputProvider: TFC.isp.of('firmalife:food/butter').resetFood() }) - processorRecipe("pie_dough", 300, 16, { + global.processorRecipe(event, "pie_dough", 300, 16, { circuit: 2, itemInputs: ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour'], fluidInputs: ['#tfg:clean_water 1000'], @@ -796,7 +797,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('firmalife:food/pie_dough').copyOldestFood() }) - processorRecipe("pumpkin_pie_dough", 300, 16, { + global.processorRecipe(event, "pumpkin_pie_dough", 300, 16, { circuit: 2, itemInputs: ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour'], fluidInputs: ['#tfg:clean_water 1000'], @@ -804,25 +805,25 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('firmalife:food/pumpkin_pie_dough').copyOldestFood() }) - processorRecipe("raw_pumpkin_pie", 20, 8, { + global.processorRecipe(event, "raw_pumpkin_pie", 20, 8, { itemInputs: ["firmalife:food/pumpkin_pie_dough", "#firmalife:pie_pans"], itemOutputs: ["firmalife:food/raw_pumpkin_pie"], itemOutputProvider: TFC.isp.of("firmalife:food/raw_pumpkin_pie").copyFood() }) - processorRecipe("cookie_dough", 300, 16, { + global.processorRecipe(event, "cookie_dough", 300, 16, { itemInputs: ['#tfc:sweetener', '#forge:eggs', 'firmalife:food/butter', '#tfc:foods/flour', "firmalife:spice/vanilla"], itemOutputs: ['4x firmalife:food/cookie_dough'], itemOutputProvider: TFC.isp.of('4x firmalife:food/cookie_dough').copyOldestFood() }) - processorRecipe("chocolate_chip_cookie_dough", 300, 16, { + global.processorRecipe(event, "chocolate_chip_cookie_dough", 300, 16, { itemInputs: ['4x firmalife:food/cookie_dough', '#firmalife:foods/chocolate'], itemOutputs: ['4x firmalife:food/chocolate_chip_cookie_dough'], itemOutputProvider: TFC.isp.of('4x firmalife:food/chocolate_chip_cookie_dough').copyOldestFood() }) - processorRecipe("hardtack_dough", 300, 16, { + global.processorRecipe(event, "hardtack_dough", 300, 16, { itemInputs: ['tfc:powder/salt', '#tfc:foods/flour'], fluidInputs: ['#tfg:clean_water 1000'], itemOutputs: ['4x firmalife:food/hardtack_dough'], @@ -830,47 +831,47 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyFood() }) - processorRecipe("yeast_starter", 1200, 8, { + global.processorRecipe(event, "yeast_starter", 1200, 8, { circuit: 2, fluidInputs: [Fluid.of('firmalife:yeast_starter', 100)], fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)], itemInputs: ['#tfc:foods/flour'] }) - processorRecipe("yeast_starter_from_water", 7200, 8, { + global.processorRecipe(event, "yeast_starter_from_water", 7200, 8, { circuit: 10, itemInputs: ['#tfc:foods/fruits'], fluidInputs: ['#tfg:clean_water 100'], fluidOutputs: [Fluid.of('firmalife:yeast_starter', 100)] }) - processorRecipe("cocoa_dust", 100, 4, { + global.processorRecipe(event, "cocoa_dust", 100, 4, { circuit: 1, itemInputs: ["firmalife:food/roasted_cocoa_beans"], itemOutputs: ["gtceu:cocoa_dust"], itemOutputProvider: TFC.isp.of("gtceu:cocoa_dust") }) - processorRecipe("cocoa_butter", 100, 4, { + global.processorRecipe(event, "cocoa_butter", 100, 4, { circuit: 2, itemInputs: ["firmalife:food/roasted_cocoa_beans"], itemOutputs: ["firmalife:food/cocoa_butter"], itemOutputProvider: TFC.isp.of("firmalife:food/cocoa_butter") }) - processorRecipe("red_grapes", 50, 8, { + global.processorRecipe(event, "red_grapes", 50, 8, { itemInputs: ["firmalife:food/red_grapes"], itemOutputs: ["firmalife:food/smashed_red_grapes"], itemOutputProvider: TFC.isp.of('firmalife:food/smashed_red_grapes').copyFood() }) - processorRecipe("white_grapes", 50, 8, { + global.processorRecipe(event, "white_grapes", 50, 8, { itemInputs: ["firmalife:food/white_grapes"], itemOutputs: ["firmalife:food/smashed_white_grapes"], itemOutputProvider: TFC.isp.of('firmalife:food/smashed_white_grapes').copyFood() }) - processorRecipe("cured_maize", 300, 8, { + global.processorRecipe(event, "cured_maize", 300, 8, { circuit: 1, itemInputs: ["tfc:food/maize_grain"], inputFluids: [Fluid.of('tfc:limewater', 100)], @@ -878,7 +879,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('firmalife:food/cured_maize').copyFood() }) - processorRecipe("soy_mixture", 300, 8, { + global.processorRecipe(event, "soy_mixture", 300, 8, { circuit: 1, itemInputs: ["tfc:food/soybean", 'tfc:powder/salt'], fluidInputs: ['#tfg:clean_water 50'], @@ -886,56 +887,56 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyFood() }) - processorRecipe("brown_mushroom", 100, 8, { + global.processorRecipe(event, "brown_mushroom", 100, 8, { circuit: 30, itemInputs: ["minecraft:brown_mushroom_block"], itemOutputs: ["4x minecraft:brown_mushroom"], itemOutputProvider: TFC.isp.of("4x minecraft:brown_mushroom").resetFood() }) - processorRecipe("red_mushroom", 100, 8, { + global.processorRecipe(event, "red_mushroom", 100, 8, { circuit: 30, itemInputs: ["minecraft:red_mushroom_block"], itemOutputs: ["4x minecraft:red_mushroom"], itemOutputProvider: TFC.isp.of("4x minecraft:red_mushroom").resetFood() }) - processorRecipe("cut_pumpkin", 100, 8, { + global.processorRecipe(event, "cut_pumpkin", 100, 8, { circuit: 30, itemInputs: ["tfc:pumpkin"], itemOutputs: ["4x tfc:food/pumpkin_chunks"], itemOutputProvider: TFC.isp.of("4x tfc:food/pumpkin_chunks").copyFood() }) - processorRecipe("cut_melon", 100, 8, { + global.processorRecipe(event, "cut_melon", 100, 8, { circuit: 30, itemInputs: ["tfc:melon"], itemOutputs: ["4x tfc:food/melon_slice"], itemOutputProvider: TFC.isp.of("4x tfc:food/melon_slice").copyFood() }) - processorRecipe("salsa", 300, 8, { + global.processorRecipe(event, "salsa", 300, 8, { circuit: 1, itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfg:spice/cilantro_leaves'], itemOutputs: ['5x firmalife:food/salsa'], itemOutputProvider: TFC.isp.of('5x firmalife:food/salsa').copyFood() }) - processorRecipe("bacon", 300, 8, { + global.processorRecipe(event, "bacon", 300, 8, { circuit: 1, itemInputs: ['tfc:food/pork', 'tfc:powder/salt'], itemOutputs: ['4x firmalife:food/bacon'], itemOutputProvider: TFC.isp.of('4x firmalife:food/bacon').copyFood() }) - processorRecipe("pickled_egg", 1000, 8, { + global.processorRecipe(event, "pickled_egg", 1000, 8, { circuit: 1, itemInputs: ['minecraft:clay_ball', 'tfc:powder/wood_ash', 'tfc:powder/salt', 'tfc:food/boiled_egg'], itemOutputs: ['firmalife:food/pickled_egg'], itemOutputProvider: TFC.isp.of('firmalife:food/pickled_egg').copyFood() }) - processorRecipe("garlic_bread", 300, 8, { + global.processorRecipe(event, "garlic_bread", 300, 8, { circuit: 1, itemInputs: ['firmalife:food/toast', 'firmalife:food/butter', 'tfc:food/garlic'], itemOutputs: ['firmalife:food/garlic_bread'], @@ -945,7 +946,7 @@ function registerTFGFoodRecipes(event) { //#region Alcohols global.TFC_ALCOHOL.forEach(alcohol => { - processorRecipe(alcohol.id.replace(/:/g, "_"), 2400, 1, { + global.processorRecipe(event, alcohol.id.replace(/:/g, "_"), 2400, 1, { itemInputs: [alcohol.ingredient], fluidInputs: ['#tfg:clean_water 500', 'firmalife:yeast_starter 10'], fluidOutputs: [Fluid.of(alcohol.id, 500)], @@ -957,7 +958,7 @@ function registerTFGFoodRecipes(event) { //#endregion //#region Cakes - processorRecipe("cake_base", 300, 8, { + global.processorRecipe(event, "cake_base", 300, 8, { circuit: 4, itemInputs: ["#forge:eggs", "2x #tfg:sugars", "2x #tfc:foods/flour"], fluidInputs: ['#tfc:milks 1000'], @@ -965,44 +966,44 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of("createaddition:cake_base").copyOldestFood() }) - cookingRecipe("baked_cake_base", "createaddition:cake_base", "createaddition:cake_base_baked") + global.cookingRecipe(event, "baked_cake_base", "createaddition:cake_base", "createaddition:cake_base_baked") - processorRecipe("vanilla_cake", 300, 8, { + global.processorRecipe(event, "vanilla_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/strawberry', 'firmalife:spice/vanilla'], fluidInputs: [Fluid.of("tfcchannelcasting:white_chocolate", 400)], itemOutputs: ["tfc:cake"], itemOutputProvider: TFC.isp.of("tfc:cake").copyOldestFood() }) - processorRecipe("milk_chocolate_cake", 300, 8, { + global.processorRecipe(event, "milk_chocolate_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'], fluidInputs: [Fluid.of("tfcchannelcasting:milk_chocolate", 400)], itemOutputs: ["createaddition:chocolate_cake"], itemOutputProvider: TFC.isp.of("createaddition:chocolate_cake").copyOldestFood() }) - processorRecipe("dark_chocolate_cake", 300, 8, { + global.processorRecipe(event, "dark_chocolate_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '3x tfc:food/cherry', 'firmalife:food/cocoa_powder'], fluidInputs: [Fluid.of("tfcchannelcasting:dark_chocolate", 400)], itemOutputs: ["createaddition:chocolate_cake"], itemOutputProvider: TFC.isp.of("createaddition:chocolate_cake").copyOldestFood() }) - processorRecipe("maple_honey_cake", 300, 8, { + global.processorRecipe(event, "maple_honey_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'], fluidInputs: [Fluid.of("afc:maple_syrup", 1000)], itemOutputs: ["createaddition:honey_cake"], itemOutputProvider: TFC.isp.of("createaddition:honey_cake").copyOldestFood() }) - processorRecipe("birch_honey_cake", 300, 8, { + global.processorRecipe(event, "birch_honey_cake", 300, 8, { itemInputs: ['createaddition:cake_base_baked', '4x firmalife:raw_honey'], fluidInputs: [Fluid.of("afc:birch_syrup", 1000)], itemOutputs: ["createaddition:honey_cake"], itemOutputProvider: TFC.isp.of("createaddition:honey_cake").copyOldestFood() }) - processorRecipe("birtday_cake", 300, GTValues.VA[GTValues.HV], { + global.processorRecipe(event, "birtday_cake", 300, GTValues.VA[GTValues.HV], { itemInputs: ['createaddition:cake_base', '4x species:birt_egg', '4x tfc:food/blueberry', '2x minecraft:chorus_fruit', 'gtceu:blue_alloy_single_wire'], fluidInputs: [Fluid.of('gtceu:helium_3', 50)], itemOutputs: ["species:birtday_cake"], @@ -1012,7 +1013,7 @@ function registerTFGFoodRecipes(event) { //#endregion //#region Soup - processorRecipe("grain_soup", 300, 8, { + global.processorRecipe(event, "grain_soup", 300, 8, { circuit: 20, itemInputs: [ '3x #tfc:bowls', @@ -1033,7 +1034,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("fruit_soup", 200, 8, { + global.processorRecipe(event, "fruit_soup", 200, 8, { circuit: 21, itemInputs: [ '3x #tfc:bowls', @@ -1054,7 +1055,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("vegetables_soup", 200, 8, { + global.processorRecipe(event, "vegetables_soup", 200, 8, { circuit: 22, itemInputs: [ '3x #tfc:bowls', @@ -1075,7 +1076,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("protein_soup", 200, 8, { + global.processorRecipe(event, "protein_soup", 200, 8, { circuit: 23, itemInputs: [ '3x #tfc:bowls', @@ -1096,7 +1097,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("dairy_soup", 200, 8, { + global.processorRecipe(event, "dairy_soup", 200, 8, { circuit: 24, itemInputs: [ '3x #tfc:bowls', @@ -1173,17 +1174,20 @@ function registerTFGFoodRecipes(event) { //#endregion //Golden Apple - processorRecipe('golden_apple_from_red', 30 * 20, GTValues.VA[GTValues.HV], { + global.processorRecipe(event, 'golden_apple_from_red', 30 * 20, GTValues.VA[GTValues.HV], { itemInputs: ['tfc:food/red_apple'], fluidInputs: [Fluid.of('gtceu:gold', 144 * 8)], itemOutputs: ['minecraft:golden_apple'], - circuit: 5 + circuit: 5, + itemOutputProvider: TFC.isp.of('minecraft:golden_apple').resetFood() }) - processorRecipe('golden_apple_from_green', 30 * 20, GTValues.VA[GTValues.HV], { + + global.processorRecipe(event, 'golden_apple_from_green', 30 * 20, GTValues.VA[GTValues.HV], { itemInputs: ['tfc:food/green_apple'], fluidInputs: [Fluid.of('gtceu:gold', 144 * 8)], itemOutputs: ['minecraft:golden_apple'], - circuit: 5 + circuit: 5, + itemOutputProvider: TFC.isp.of('minecraft:golden_apple').resetFood() }) //#region New foods @@ -1276,14 +1280,14 @@ function registerTFGFoodRecipes(event) { [TFC.ingredient.notRotten('betterend:cave_pumpkin'), '#tfc:knives'], 'betterend:cave_pumpkin') .id(`tfg:crafting/cave_pumpkin_chunks_knife`) - processorRecipe("cut_cave_pumpkin", 100, 8, { + global.processorRecipe(event, "cut_cave_pumpkin", 100, 8, { circuit: 30, itemInputs: ["betterend:cave_pumpkin"], itemOutputs: ["4x betterend:cave_pumpkin_chunks"], itemOutputProvider: TFC.isp.of("4x betterend:cave_pumpkin_chunks").copyFood() }) - processorRecipe("cave_pumpkin_pie_dough", 300, GTValues.VA[GTValues.HV], { + global.processorRecipe(event, "cave_pumpkin_pie_dough", 300, GTValues.VA[GTValues.HV], { itemInputs: ['#tfg:martian_eggs', '2x betterend:cave_pumpkin_chunks', 'betterend:amber_root_product', 'tfg:wraptor_sugar'], fluidInputs: ['minecraft:water 1000'], itemOutputs: ["betterend:cave_pumpkin_pie_dough"], @@ -1307,7 +1311,7 @@ function registerTFGFoodRecipes(event) { '#firmalife:pie_pans' ]).id(`tfg:shapeless/cave_pumpkin_pie_raw`) - processorRecipe("raw_cave_pumpkin_pie", 20, 8, { + global.processorRecipe(event, "raw_cave_pumpkin_pie", 20, 8, { itemInputs: [`betterend:cave_pumpkin_pie_dough`, "#firmalife:pie_pans"], itemOutputs: ["betterend:cave_pumpkin_pie_raw"], itemOutputProvider: TFC.isp.of("betterend:cave_pumpkin_pie_raw").copyFood() @@ -1315,7 +1319,7 @@ function registerTFGFoodRecipes(event) { // Dino nugs - registerFoodRecipe("food_oven", "raw_dino_nugget", 300, GTValues.VA[GTValues.LV], 'tfg.food_recipe.deep_frying', { + global.registerFoodRecipe(event, "food_oven", "raw_dino_nugget", 300, GTValues.VA[GTValues.LV], 'tfg.food_recipe.deep_frying', { itemInputs: ["tfg:food/raw_dino_nugget"], itemOutputs: ["tfg:food/cooked_dino_nugget"], fluidInputs: ['#firmalife:oils 100'], @@ -1327,7 +1331,7 @@ function registerTFGFoodRecipes(event) { [(portion) => portion.nutrientModifier(2.0)]) }) - processorRecipe("raw_dino_nuggets", 300, GTValues.VA[GTValues.HV], { + global.processorRecipe(event, "raw_dino_nuggets", 300, GTValues.VA[GTValues.HV], { itemInputs: ['#tfg:raw_dinosaur_meat', '3x #tfc:foods/flour', 'tfc:powder/salt'], fluidInputs: ['tfc:beer 200'], notConsumable: ['gtceu:nugget_casting_mold'], @@ -1339,7 +1343,7 @@ function registerTFGFoodRecipes(event) { ) }) - processorRecipe("raw_dino_nuggets_aged_beer", 300, GTValues.VA[GTValues.HV], { + global.processorRecipe(event, "raw_dino_nuggets_aged_beer", 300, GTValues.VA[GTValues.HV], { itemInputs: ['#tfg:raw_dinosaur_meat', '3x #tfc:foods/flour', 'tfc:powder/salt'], fluidInputs: ['tfcagedalcohol:aged_beer 200'], notConsumable: ['gtceu:nugget_casting_mold'], @@ -1381,14 +1385,14 @@ function registerTFGFoodRecipes(event) { 'tfc:food/potato' ).id(`tfg:crafting/raw_fries_knife`); - processorRecipe('raw_fries', 20*1, 8, { + global.processorRecipe(event, 'raw_fries', 20*1, 8, { itemInputs: ['tfc:food/potato'], itemOutputs: ['4x tfg:food/raw_fries'], circuit: 7, itemOutputProvider: TFC.isp.of('4x tfg:food/raw_fries').copyFood() }); - registerFoodRecipe('food_oven', 'cooked_fries', 20*6, GTValues.VA[GTValues.ULV], 'tfg.food_recipe.deep_frying', { + global.registerFoodRecipe(event, 'food_oven', 'cooked_fries', 20*6, GTValues.VA[GTValues.ULV], 'tfg.food_recipe.deep_frying', { itemInputs: ['tfg:food/raw_fries'], itemOutputs: ['tfg:food/cooked_fries'], fluidInputs: ['#firmalife:oils 100'], @@ -1396,7 +1400,7 @@ function registerTFGFoodRecipes(event) { }); // Beer Battered Cheese Curds - registerFoodRecipe('food_oven', 'cooked_beer_battered_cheese_curds', 20*6, GTValues.VA[GTValues.ULV], 'tfg.food_recipe.deep_frying', { + global.registerFoodRecipe(event, 'food_oven', 'cooked_beer_battered_cheese_curds', 20*6, GTValues.VA[GTValues.ULV], 'tfg.food_recipe.deep_frying', { itemInputs: ['tfg:food/raw_beer_battered_cheese_curds'], itemOutputs: ['tfg:food/cooked_beer_battered_cheese_curds'], fluidInputs: ['#firmalife:oils 100'], @@ -1408,7 +1412,7 @@ function registerTFGFoodRecipes(event) { */ const beer = ['tfc:beer', 'tfcagedalcohol:aged_beer']; beer.forEach(beerType => { - processorRecipe(`raw_beer_battered_cheese_curds/${beerType.replace(':', '_')}`, 20*5, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, `raw_beer_battered_cheese_curds/${beerType.replace(':', '_')}`, 20*5, GTValues.VA[GTValues.ULV], { itemInputs: ['4x #tfg:foods/cheese_curds', '#tfc:foods/flour', 'tfc:powder/salt', '#forge:eggs'], fluidInputs: [`${beerType} 100`], itemOutputs: ['4x tfg:food/raw_beer_battered_cheese_curds'], @@ -1456,7 +1460,7 @@ function registerTFGFoodRecipes(event) { // Prosessor burgers allow extra ingredients. for (let i = 1; i <= 5; i++) { - processorRecipe(`hamburger_${i}`, 20*1, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, `hamburger_${i}`, 20*1, GTValues.VA[GTValues.ULV], { itemInputs: [`${i}x #tfg:foods/usable_in_burgers`, '2x tfg:food/brioche_bun'], itemOutputs: ['tfg:food/hamburger'], circuit: i, @@ -1468,7 +1472,7 @@ function registerTFGFoodRecipes(event) { }; for (let i = 1; i <= 4; i++) { - processorRecipe(`cheeseburger_${i}`, 20*1, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, `cheeseburger_${i}`, 20*1, GTValues.VA[GTValues.ULV], { itemInputs: [`${i}x #tfg:foods/usable_in_burgers`, '2x tfg:food/brioche_bun', '#tfg:foods/cheeses'], itemOutputs: ['tfg:food/cheeseburger'], circuit: i, @@ -1500,7 +1504,7 @@ function registerTFGFoodRecipes(event) { .outputItem('6x tfg:food/brioche_dough') .id('tfg:mixing_bowl/brioche_dough'); - processorRecipe('brioche_dough/tirage_mixture', 20*2, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, 'brioche_dough/tirage_mixture', 20*2, GTValues.VA[GTValues.ULV], { itemInputs: ['2x #tfc:foods/flour', '#forge:eggs', 'firmalife:tirage_mixture'], fluidInputs: ['#tfc:milks 500'], itemOutputs: ['6x tfg:food/brioche_dough'], @@ -1508,7 +1512,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('6x tfg:food/brioche_dough').copyOldestFood() }); - processorRecipe('brioche_dough/yeast', 20*2, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, 'brioche_dough/yeast', 20*2, GTValues.VA[GTValues.ULV], { itemInputs: ['2x #tfc:foods/flour', '#forge:eggs', '#tfc:sweetener'], fluidInputs: ['#tfc:milks 500', 'firmalife:yeast_starter 100'], itemOutputs: ['6x tfg:food/brioche_dough'], @@ -1516,7 +1520,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of('6x tfg:food/brioche_dough').copyOldestFood() }); - cookingRecipe('brioche_bun', 'tfg:food/brioche_dough', 'tfg:food/brioche_bun'); + global.cookingRecipe(event, 'brioche_bun', 'tfg:food/brioche_dough', 'tfg:food/brioche_bun'); // Burger Patty event.recipes.tfc.advanced_shapeless_crafting( @@ -1527,7 +1531,7 @@ function registerTFGFoodRecipes(event) { ] ).id('tfg:crafting/raw_burger_patty'); - processorRecipe('raw_burger_patty', 20*1, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, 'raw_burger_patty', 20*1, GTValues.VA[GTValues.ULV], { itemInputs: ['#tfg:foods/burger_meats'], itemOutputs: ['tfg:food/raw_burger_patty'], notConsumable: ['gtceu:wire_extruder_mold'], @@ -1550,7 +1554,7 @@ function registerTFGFoodRecipes(event) { .fluidOutput(Fluid.of('tfg:rich_stock', 1000) ).id('tfg:pot/rich_stock'); - processorRecipe('rich_stock', 20*5, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, 'rich_stock', 20*5, GTValues.VA[GTValues.ULV], { itemInputs: [ '#tfg:foods/makes_rich_stock', '#tfc:foods/vegetables', @@ -1578,7 +1582,7 @@ function registerTFGFoodRecipes(event) { .fluidOutput(Fluid.of('tfg:light_stock', 1000) ).id('tfg:pot/light_stock'); - processorRecipe('light_stock', 20*5, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, 'light_stock', 20*5, GTValues.VA[GTValues.ULV], { itemInputs: [ '#tfg:foods/makes_light_stock', '#tfc:foods/vegetables', @@ -1591,7 +1595,7 @@ function registerTFGFoodRecipes(event) { }); // Brown Gravy - processorRecipe('brown_gravy', 20*5, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, 'brown_gravy', 20*5, GTValues.VA[GTValues.ULV], { itemInputs: [ '#tfc:foods/flour', 'firmalife:food/butter', @@ -1602,7 +1606,7 @@ function registerTFGFoodRecipes(event) { }); // Poutine - processorRecipe('poutine', 20*10, GTValues.VA[GTValues.LV], { + global.processorRecipe(event, 'poutine', 20*10, GTValues.VA[GTValues.LV], { itemInputs: [ '4x tfg:food/cooked_fries', '#tfg:foods/cheese_curds', @@ -1618,7 +1622,7 @@ function registerTFGFoodRecipes(event) { // Oatmeal for (let i = 1; i <= 4; i++) { - processorRecipe(`oatmeal_${i}`, 20*15, GTValues.VA[GTValues.LV], { + global.processorRecipe(event, `oatmeal_${i}`, 20*15, GTValues.VA[GTValues.LV], { itemInputs: [ '4x #tfc:bowls', 'tfc:food/oat_grain', @@ -1650,7 +1654,7 @@ function registerTFGFoodRecipes(event) { .EUt(GTValues.VA[GTValues.HV]); // Citric Acid - processorRecipe('citric_acid', 20*20, GTValues.VA[GTValues.HV], { + global.processorRecipe(event, 'citric_acid', 20*20, GTValues.VA[GTValues.HV], { itemInputs: [ '#tfg:foods/citrus_fruits', 'gtceu:calcium_hydroxide_dust' @@ -1674,14 +1678,14 @@ function registerTFGFoodRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) // Instant Mac - processorRecipe('raw_instant_mac', 20 * 10, GTValues.VA[GTValues.LV], { + global.processorRecipe(event, 'raw_instant_mac', 20 * 10, GTValues.VA[GTValues.LV], { itemInputs: ['firmalife:food/raw_egg_noodles', '#tfg:foods/cheeses', '2x create:cardboard'], itemOutputs: ['2x tfg:food/raw_instant_mac'], fluidInputs: ['gtceu:polyethylene 100'], itemOutputProvider: TFC.isp.of('2x tfg:food/raw_instant_mac').copyFood() }); - registerFoodRecipe('food_oven', 'cooked_instant_mac', 20 * 1, GTValues.VA[GTValues.LV], '' ,{ + global.registerFoodRecipe(event, 'food_oven', 'cooked_instant_mac', 20 * 1, GTValues.VA[GTValues.LV], '' ,{ itemInputs: ['tfg:food/raw_instant_mac'], itemOutputs: ['tfg:food/cooked_instant_mac'], fluidInputs: ['#tfc:milks 500'], @@ -1724,7 +1728,7 @@ function registerTFGFoodRecipes(event) { //#endregion - processorRecipe('nixtamal', 20*30, GTValues.VA[GTValues.ULV], { + global.processorRecipe(event, 'nixtamal', 20*30, GTValues.VA[GTValues.ULV], { itemInputs: ['firmalife:food/cured_maize'], fluidInputs: ['#tfg:clean_water 100'], itemOutputs: ['firmalife:food/nixtamal'], diff --git a/kubejs/startup_scripts/tfc/item_stack_modifiers.js b/kubejs/startup_scripts/tfc/item_stack_modifiers.js index 713bcfab2..2f1261fd7 100644 --- a/kubejs/startup_scripts/tfc/item_stack_modifiers.js +++ b/kubejs/startup_scripts/tfc/item_stack_modifiers.js @@ -3,15 +3,31 @@ TFCEvents.registerItemStackModifier(event => { + // for adding bowls to dynamic_bowl-type foods event.withInput('tfg:add_bowl', (output, input) => { TFC.misc.getFood(output).setBowl(input) return output; }); + // for adding bowls to foods that are not dynamic_bowls + event.withInput('tfg:force_add_bowl', (output, input) => { + if (input.nbt) { + output.orCreateTag.merge(input.nbt) + } + + if (output.nbt) { + output.nbt.put('bowl', { Count: 1, id: 'minecraft:bowl' }); + } + else { + output.nbt = { bowl: { Count: true, id: 'minecraft:bowl' }}; + } + return output; + }); + + // if you're doing any sort of recipe where you need the nbt copied from input to output event.withInput('tfg:copy_nbt', (output, input) => { - let { nbt } = input - if (nbt) { - output.orCreateTag.merge(nbt) + if (input.nbt) { + output.orCreateTag.merge(input.nbt) } return output }) From 11320b049b5bb68f6281ba524ebe73e1446565b5 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 2 Jan 2026 23:48:11 +0000 Subject: [PATCH 572/628] add grain to oatmeal --- kubejs/server_scripts/tfg/food/recipes.food.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index e79b3ee58..d475724d6 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -1633,7 +1633,7 @@ function registerTFGFoodRecipes(event) { itemOutputs: ['4x tfg:food/oatmeal'], circuit: i, itemOutputProvider: TFC.isp.of('4x tfg:food/oatmeal').simpleModifier('tfg:add_bowl').meal( - (food) => food.hunger(5).water(5).saturation(1).decayModifier(1.4).dairy(1.5), + (food) => food.hunger(5).water(5).saturation(1).decayModifier(1.4).grain(0.8).dairy(1.5), [(portion) => portion.nutrientModifier(0.7).saturationModifier(0.7)] ) }); From 51cbadb5055c43455c823c558413e451b5de34e2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 00:19:49 +0000 Subject: [PATCH 573/628] ad astra cheese inconsistency --- kubejs/server_scripts/ad_astra/data.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/ad_astra/data.js b/kubejs/server_scripts/ad_astra/data.js index ac8b03a0b..ad35b45b0 100644 --- a/kubejs/server_scripts/ad_astra/data.js +++ b/kubejs/server_scripts/ad_astra/data.js @@ -14,8 +14,8 @@ function registerTFCDataForAdAstra(event) { event.foodItem('ad_astra:cheese', food => { food.hunger(3) - food.saturation(3) - food.dairy(1.2) + food.saturation(2) + food.dairy(3) food.decayModifier(0.9) }) From 502751fb7287cbb3f528eea33af8de9faeadf2d0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 00:20:29 +0000 Subject: [PATCH 574/628] renamed thorium --- CHANGELOG.md | 2 ++ kubejs/assets/gtceu/lang/en_us.json | 1 + kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js | 1 - kubejs/startup_scripts/gtceu/constants.js | 3 ++- kubejs/startup_scripts/gtceu/material_modification.js | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eaf60e30d..9c969eaf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Ad astra and Create Deco lamps are now half as expensive to craft (#2581) @Xaligal - Added alloy blast smelter recipes for black bronze and bismuth bronze (#2581) @Xaligal - The alloy blast smelter recipe for glowstone has been adjusted (#2581) @Xaligal +- Renamed Thorium (the non-isotope one) to Thorianite to better indicate that it's only an ore @Pyritie ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie - Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 @@ -19,6 +20,7 @@ - Fixed not being able to use pickled eggs in sandwiches (#2551) @Pyritie - Fixed how much aluminium silicate you get from mica, pollucite, and spodumene to more accurately reflect how much aluminium they have @Pyritie - Fixed being able to put liquid metals into the new molds that didn't have a recipe @Pyritie +- Added some grain nutrition to oatmeal @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index c385bb74a..33c11eb3e 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -147,6 +147,7 @@ "material.tfg.calorite": "Calorite", "material.tfg.etrium": "Etrium", "material.gtceu.tarkianite": "Tarkianite", + "material.gtceu.thorium": "Thorianite", "material.gtceu.aluminium_silicate": "Aluminium Silicate", "material.gtceu.rocket_alloy_t1": "R-Aluminosteel Rocket Alloy", "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy", diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 167cda1d1..e548d5e55 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -76,7 +76,6 @@ function registerTFGNuclearRecipes(event) { //#region Processing Fuels event.recipes.gtceu.centrifuge('thorium_isotope') - //.inputFluids(Fluid.of('minecraft:water', 50)) .itemInputs('9x #forge:dusts/thorium') .chancedOutput('#forge:dusts/thorium_230', 9000, 0) .itemOutputs('8x #forge:dusts/thorium_232') diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 69fb165d4..543da5b3f 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -230,7 +230,8 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:thorium_block", "gtceu:thorium_plate", "gtceu:double_thorium_plate", - "gtceu:thorium_rod" + "gtceu:thorium_rod", + "gtceu:thorium_bucket" ]); //#endregion diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 7e9b74dbc..faa0bd8b6 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -459,4 +459,5 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') GTMaterials.GraniteRed.setComponents([]) GTMaterials.GraniteRed.setFormula("?") + GTMaterials.Thorium.setFormula('ThO2') } \ No newline at end of file From 08372c190cb889f974cf08b762d6a5795653fed8 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 12:06:48 +0000 Subject: [PATCH 575/628] make these two venus veins more common --- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 18 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 18 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 18 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 18 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 18 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/venus_vein_index.json | 18 ++-- .../venus/vein_manual/salt.json | 70 +++++++------- .../venus/vein_manual/sulfur.json | 96 +++++-------------- 14 files changed, 119 insertions(+), 167 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json index 94dc40ab4..199ea4958 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()", + "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()", "type": "patchouli:text" } ], 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 99745b157..9585d526b 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)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 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" @@ -41,7 +41,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sodium, Chlorine$(br)$(thing)Formula$(): NaCl", + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Source of$(): Sodium, Chlorine$(br)$(thing)Formula$(): NaCl", "type": "patchouli:multiblock" }, { @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -81,7 +81,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Potassium, Lithium, Aluminium, Fluorine$(br)$(thing)Formula$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Source of$(): Potassium, Lithium, Aluminium, Fluorine$(br)$(thing)Formula$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -101,7 +101,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Lithium, Aluminium$(br)$(thing)Formula$(): LiAlSi₂O₆", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Source of$(): Lithium, Aluminium$(br)$(thing)Formula$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 15$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 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" @@ -133,7 +133,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", "type": "patchouli:multiblock" }, { @@ -153,7 +153,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): FeS₂", + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): FeS₂", "type": "patchouli:multiblock" }, { @@ -173,7 +173,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", "type": "patchouli:multiblock" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json index 94dc40ab4..199ea4958 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()", + "text": "$(li)Lepidolite: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pyrite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Salt: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Spodumene: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Sulfur: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()", "type": "patchouli:text" } ], 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 99745b157..9585d526b 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)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Disc Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Height$(): 6$(br)$(thing)Indicator Max Depth$(): 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" @@ -41,7 +41,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sodium, Chlorine$(br)$(thing)Formula$(): NaCl", + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Source of$(): Sodium, Chlorine$(br)$(thing)Formula$(): NaCl", "type": "patchouli:multiblock" }, { @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 20%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", + "text": "$(thing)Percentage$(): 10%$(br)$(thing)Source of$(): Potassium, Chlorine$(br)$(thing)Formula$(): KCl", "type": "patchouli:multiblock" }, { @@ -81,7 +81,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Potassium, Lithium, Aluminium, Fluorine$(br)$(thing)Formula$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Source of$(): Potassium, Lithium, Aluminium, Fluorine$(br)$(thing)Formula$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -101,7 +101,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Lithium, Aluminium$(br)$(thing)Formula$(): LiAlSi₂O₆", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Source of$(): Lithium, Aluminium$(br)$(thing)Formula$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Rarity$(): 100$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 15$(br)$(thing)Indicator Max Depth$(): 30$(br2)$(thing)Stone Types$(): Andesite, Basalt, Dacite, Rhyolite, Trachyte, Travertine$(br2)Only appears in the $(thing)Sulfuric Ravines$() biome.", + "text": "$(thing)Rarity$(): 30$(br)$(thing)Density$(): 0.2$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 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" @@ -133,7 +133,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 50%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", + "text": "$(thing)Percentage$(): 80%$(br)$(thing)Source of$(): Sulfur$(br)$(thing)Formula$(): S", "type": "patchouli:multiblock" }, { @@ -153,7 +153,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 35%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): FeS₂", + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Cast Iron$(br)$(thing)Formula$(): FeS₂", "type": "patchouli:multiblock" }, { @@ -173,7 +173,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", + "text": "$(thing)Percentage$(): 5%$(br)$(thing)Melts into$(): Zinc$(br)$(thing)Formula$(): ZnS", "type": "patchouli:multiblock" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json index 38050b2c8..bc8531b62 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Enxofre: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Espodumena: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Pirita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Sal: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()", + "text": "$(li)Enxofre: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Esfalerita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)Espodumena: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Pirita: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Sal: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()", "type": "patchouli:text" } ], 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 90cb05028..74a356323 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$(): 100$(br)$(thing)Densidade$(): 0.2$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Tamanho$(): 15$(br)$(thing)Profundidade Máxima do Indicador$(): 30$(br2)$(thing)Tipos de Pedra$(): Andesito, Basalto, Dacito, Riolito, Traquito, Travertino", + "text": "$(thing)Raridade$(): 30$(br)$(thing)Densidade$(): 0.2$(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", "title": "Enxofre e Pirita", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -41,7 +41,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 50%$(br)$(thing)Fonte de$(): Enxofre$(br)$(thing)Fórmula$(): S", + "text": "$(thing)Porcentagem$(): 80%$(br)$(thing)Fonte de$(): Enxofre$(br)$(thing)Fórmula$(): S", "type": "patchouli:multiblock" }, { @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Derrete em$(): Ferro Fundido$(br)$(thing)Fórmula$(): FeS₂", + "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Derrete em$(): Ferro Fundido$(br)$(thing)Fórmula$(): FeS₂", "type": "patchouli:multiblock" }, { @@ -81,12 +81,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Derrete em$(): Zinco$(br)$(thing)Fórmula$(): ZnS", + "text": "$(thing)Porcentagem$(): 5%$(br)$(thing)Derrete em$(): Zinco$(br)$(thing)Fórmula$(): ZnS", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Raridade$(): 100$(br)$(thing)Densidade$(): 0.2$(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$(): 30$(br)$(thing)Densidade$(): 0.2$(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.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -108,7 +108,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 50%$(br)$(thing)Fonte de$(): Sódio, Cloro$(br)$(thing)Fórmula$(): NaCl", + "text": "$(thing)Porcentagem$(): 80%$(br)$(thing)Fonte de$(): Sódio, Cloro$(br)$(thing)Fórmula$(): NaCl", "type": "patchouli:multiblock" }, { @@ -128,7 +128,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 20%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", + "text": "$(thing)Porcentagem$(): 10%$(br)$(thing)Fonte de$(): Potássio, Cloro$(br)$(thing)Fórmula$(): KCl", "type": "patchouli:multiblock" }, { @@ -148,7 +148,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Potássio, Lítio, Alumínio, Flúor$(br)$(thing)Fórmula$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Porcentagem$(): 5%$(br)$(thing)Fonte de$(): Potássio, Lítio, Alumínio, Flúor$(br)$(thing)Fórmula$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -168,7 +168,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Lítio, Alumínio$(br)$(thing)Fórmula$(): LiAlSi₂O₆", + "text": "$(thing)Porcentagem$(): 5%$(br)$(thing)Fonte de$(): Lítio, Alumínio$(br)$(thing)Fórmula$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json index e6a7bcf43..89ad8275e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Каменная соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Пирит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Сера: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)Соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", + "text": "$(li)Каменная соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пирит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сера: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Соль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", "type": "patchouli:text" } ], 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 61a607b38..23eabe80c 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)Редкость$(): 100$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", + "text": "$(thing)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): дискообразная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Высота$(): 6$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит$(br2)Only appears in the $(thing)Salt Flats$() biome.", "title": "Salts & Spodumene", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -41,7 +41,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", + "text": "$(thing)Процент руды$(): 80%$(br)$(thing)Хромит$(): Натрий, Хлор$(br)$(thing)Формула$(): NaCl", "type": "patchouli:multiblock" }, { @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 20%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Хлор$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -81,7 +81,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Калий, Литий, Алюминий, Фтор$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -101,7 +101,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Хромит$(): Литий, Алюминий$(br)$(thing)Формула$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)Редкость$(): 100$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 15$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", + "text": "$(thing)Редкость$(): 30$(br)$(thing)Плотность$(): 0.2$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 40 — 65$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 30$(br2)$(thing)Виды камней$(): Андезит, Базальт, Дацит, Риолит, Травертин, Трахит", "title": "Сера и Пирит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -133,7 +133,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 50%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", + "text": "$(thing)Процент руды$(): 80%$(br)$(thing)Хромит$(): Сера$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -153,7 +153,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeS₂", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Плавится в$(): Железо$(br)$(thing)Формула$(): FeS₂", "type": "patchouli:multiblock" }, { @@ -173,7 +173,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Плавится в$(): Цинк$(br)$(thing)Формула$(): ZnS", + "text": "$(thing)Процент руды$(): 5%$(br)$(thing)Плавится в$(): Цинк$(br)$(thing)Формула$(): ZnS", "type": "patchouli:multiblock" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json index 56888ade7..8c06e3518 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Кам’яна сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Пірит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()$(li)Сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)Сірка: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", + "text": "$(li)Кам’яна сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Пірит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)Сіль: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)Сірка: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)Сподумен: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()", "type": "patchouli:text" } ], 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 f6837e2ac..0802695cd 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)Рідкість$(): 100$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 15$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 30$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", "title": "Сірка та Пірит", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -41,7 +41,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 50%$(br)$(thing)Джерело$(): Сірки$(br)$(thing)Формула$(): S", + "text": "$(thing)Відсоток$(): 80%$(br)$(thing)Джерело$(): Сірки$(br)$(thing)Формула$(): S", "type": "patchouli:multiblock" }, { @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Розплавляється в$(): Чавун$(br)$(thing)Формула$(): FeS₂", + "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Розплавляється в$(): Чавун$(br)$(thing)Формула$(): FeS₂", "type": "patchouli:multiblock" }, { @@ -81,12 +81,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Розплавляється в$(): Цинк$(br)$(thing)Формула$(): ZnS", + "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Розплавляється в$(): Цинк$(br)$(thing)Формула$(): ZnS", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", - "text": "$(thing)Рідкість$(): 100$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", + "text": "$(thing)Рідкість$(): 30$(br)$(thing)Щільність$(): 0.2$(br)$(thing)Тип$(): Дискова вена$(br)$(thing)Y$(): 40 — 65$(br)$(thing)Розмір$(): 20$(br)$(thing)Висота$(): 6$(br)$(thing)Індикатор Max Depth$(): 30$(br2)$(thing)Типи каменю$(): Андезит, Базальт, Дацит, Ріоліт, Травертин, Трахіт", "title": "Солі і Сподумен", "type": "patchouli:text", "anchor": "venus_manual_salt" @@ -108,7 +108,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 50%$(br)$(thing)Джерело$(): Натрію, Хлору$(br)$(thing)Формула$(): NaCl", + "text": "$(thing)Відсоток$(): 80%$(br)$(thing)Джерело$(): Натрію, Хлору$(br)$(thing)Формула$(): NaCl", "type": "patchouli:multiblock" }, { @@ -128,7 +128,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 20%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", + "text": "$(thing)Відсоток$(): 10%$(br)$(thing)Джерело$(): Калію, Хлору$(br)$(thing)Формула$(): KCl", "type": "patchouli:multiblock" }, { @@ -148,7 +148,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Калію, Літію, Алюмінію, Фтору$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Джерело$(): Калію, Літію, Алюмінію, Фтору$(br)$(thing)Формула$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -168,7 +168,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Літію, Алюмінію$(br)$(thing)Формула$(): LiAlSi₂O₆", + "text": "$(thing)Відсоток$(): 5%$(br)$(thing)Джерело$(): Літію, Алюмінію$(br)$(thing)Формула$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json index f277c2a06..2f591ffef 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)20%$(/l)$()$(li)盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)50%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)50%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)15%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)35%$(/l)$()", + "text": "$(li)岩盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)10%$(/l)$()$(li)盐: $(l:tfg_ores/venus_vein_index#venus_manual_salt)80%$(/l)$()$(li)硫: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)80%$(/l)$()$(li)锂云母: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)锂辉石: $(l:tfg_ores/venus_vein_index#venus_manual_salt)5%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)5%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/venus_vein_index#venus_manual_sulfur)15%$(/l)$()", "type": "patchouli:text" } ], 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 7879a69a8..1bd0290b4 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)稀有度$(): 100$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 盘状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)高度$(): 6$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 30$(br)$(thing)密度$(): 0.2$(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" @@ -41,7 +41,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 50%$(br)$(thing)来源$(): 钠, 氯$(br)$(thing)化学式$(): NaCl", + "text": "$(thing)百分比$(): 80%$(br)$(thing)来源$(): 钠, 氯$(br)$(thing)化学式$(): NaCl", "type": "patchouli:multiblock" }, { @@ -61,7 +61,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 20%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", + "text": "$(thing)百分比$(): 10%$(br)$(thing)来源$(): 钾, 氯$(br)$(thing)化学式$(): KCl", "type": "patchouli:multiblock" }, { @@ -81,7 +81,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 钾, 锂, 铝, 氟$(br)$(thing)化学式$(): KLi₃Al₄F₂O₁₀", + "text": "$(thing)百分比$(): 5%$(br)$(thing)来源$(): 钾, 锂, 铝, 氟$(br)$(thing)化学式$(): KLi₃Al₄F₂O₁₀", "type": "patchouli:multiblock" }, { @@ -101,7 +101,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 锂, 铝$(br)$(thing)化学式$(): LiAlSi₂O₆", + "text": "$(thing)百分比$(): 5%$(br)$(thing)来源$(): 锂, 铝$(br)$(thing)化学式$(): LiAlSi₂O₆", "type": "patchouli:multiblock" }, { @@ -111,7 +111,7 @@ }, { "Type": "patchouli:text", - "text": "$(thing)稀有度$(): 100$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 15$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", + "text": "$(thing)稀有度$(): 30$(br)$(thing)密度$(): 0.2$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 40 — 65$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 30$(br2)$(thing)岩石类型$(): 安山岩, 流纹岩, 玄武岩, 石灰华, 粗面岩, 英安岩", "title": "硫, 黄铁矿", "type": "patchouli:text", "anchor": "venus_manual_sulfur" @@ -133,7 +133,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 50%$(br)$(thing)来源$(): 硫$(br)$(thing)化学式$(): S", + "text": "$(thing)百分比$(): 80%$(br)$(thing)来源$(): 硫$(br)$(thing)化学式$(): S", "type": "patchouli:multiblock" }, { @@ -153,7 +153,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 35%$(br)$(thing)熔化$(): 铸铁$(br)$(thing)化学式$(): FeS₂", + "text": "$(thing)百分比$(): 15%$(br)$(thing)熔化$(): 铸铁$(br)$(thing)化学式$(): FeS₂", "type": "patchouli:multiblock" }, { @@ -173,7 +173,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 15%$(br)$(thing)熔化$(): 锌$(br)$(thing)化学式$(): ZnS", + "text": "$(thing)百分比$(): 5%$(br)$(thing)熔化$(): 锌$(br)$(thing)化学式$(): ZnS", "type": "patchouli:multiblock" } ], 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 index 4d09ce34f..149759fec 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json @@ -3,7 +3,7 @@ "config": { "height": 6, "size": 20, - "rarity": 100, + "rarity": 30, "density": 0.2, "min_y": 40, "max_y": 65, @@ -16,23 +16,23 @@ "with": [ { "block": "gtceu:venus_stone_rock_salt_ore", - "weight": 20 + "weight": 10 }, { - "block": "gtceu:raw_rock_salt_block", + "block": "gtceu:raw_salt_block", "weight": 1 }, { "block": "gtceu:venus_stone_salt_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:venus_stone_lepidolite_ore", - "weight": 15 + "weight": 5 }, { "block": "gtceu:venus_stone_spodumene_ore", - "weight": 15 + "weight": 5 } ] }, @@ -43,23 +43,23 @@ "with": [ { "block": "gtceu:dripstone_rock_salt_ore", - "weight": 20 + "weight": 10 }, { - "block": "gtceu:raw_rock_salt_block", + "block": "gtceu:raw_salt_block", "weight": 1 }, { "block": "gtceu:dripstone_salt_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:dripstone_lepidolite_ore", - "weight": 15 + "weight": 5 }, { "block": "gtceu:dripstone_spodumene_ore", - "weight": 15 + "weight": 5 } ] }, @@ -70,23 +70,23 @@ "with": [ { "block": "gtceu:rhyolite_rock_salt_ore", - "weight": 20 + "weight": 10 }, { - "block": "gtceu:raw_rock_salt_block", + "block": "gtceu:raw_salt_block", "weight": 1 }, { "block": "gtceu:rhyolite_salt_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:rhyolite_lepidolite_ore", - "weight": 15 + "weight": 5 }, { "block": "gtceu:rhyolite_spodumene_ore", - "weight": 15 + "weight": 5 } ] }, @@ -97,23 +97,23 @@ "with": [ { "block": "gtceu:basalt_rock_salt_ore", - "weight": 20 + "weight": 10 }, { - "block": "gtceu:raw_rock_salt_block", + "block": "gtceu:raw_salt_block", "weight": 1 }, { "block": "gtceu:basalt_salt_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:basalt_lepidolite_ore", - "weight": 15 + "weight": 5 }, { "block": "gtceu:basalt_spodumene_ore", - "weight": 15 + "weight": 5 } ] }, @@ -124,23 +124,23 @@ "with": [ { "block": "gtceu:andesite_rock_salt_ore", - "weight": 20 + "weight": 10 }, { - "block": "gtceu:raw_rock_salt_block", + "block": "gtceu:raw_salt_block", "weight": 1 }, { "block": "gtceu:andesite_salt_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:andesite_lepidolite_ore", - "weight": 15 + "weight": 5 }, { "block": "gtceu:andesite_spodumene_ore", - "weight": 15 + "weight": 5 } ] }, @@ -151,32 +151,32 @@ "with": [ { "block": "gtceu:dacite_rock_salt_ore", - "weight": 20 + "weight": 10 }, { - "block": "gtceu:raw_rock_salt_block", + "block": "gtceu:raw_salt_block", "weight": 1 }, { "block": "gtceu:dacite_salt_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:dacite_lepidolite_ore", - "weight": 15 + "weight": 5 }, { "block": "gtceu:dacite_spodumene_ore", - "weight": 15 + "weight": 5 } ] } ], "indicator": { - "rarity": 20, + "rarity": 10, "depth": 30, "underground_rarity": 40, - "underground_count": 150, + "underground_count": 180, "blocks": [ { "block": "gtceu:rock_salt_indicator", @@ -196,11 +196,11 @@ }, { "block": "gtceu:lepidolite_indicator", - "weight": 15 + "weight": 5 }, { "block": "gtceu:spodumene_indicator", - "weight": 15 + "weight": 5 } ] } 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 index d946548f0..e9054a1dd 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/sulfur.json @@ -1,8 +1,8 @@ { "type": "tfc:cluster_vein", "config": { - "size": 15, - "rarity": 100, + "size": 20, + "rarity": 30, "density": 0.2, "min_y": 40, "max_y": 65, @@ -15,7 +15,7 @@ "with": [ { "block": "gtceu:rhyolite_sulfur_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:raw_sulfur_block", @@ -23,19 +23,11 @@ }, { "block": "gtceu:rhyolite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_pyrite_block", - "weight": 1 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", "weight": 15 }, { - "block": "gtceu:raw_sphalerite_block", - "weight": 1 + "block": "gtceu:rhyolite_sphalerite_ore", + "weight": 5 } ] }, @@ -47,7 +39,7 @@ "with": [ { "block": "gtceu:basalt_sulfur_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:raw_sulfur_block", @@ -55,19 +47,11 @@ }, { "block": "gtceu:basalt_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_pyrite_block", - "weight": 1 - }, - { - "block": "gtceu:basalt_sphalerite_ore", "weight": 15 }, { - "block": "gtceu:raw_sphalerite_block", - "weight": 1 + "block": "gtceu:basalt_sphalerite_ore", + "weight": 5 } ] }, @@ -78,7 +62,7 @@ "with": [ { "block": "gtceu:dripstone_sulfur_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:raw_sulfur_block", @@ -86,19 +70,11 @@ }, { "block": "gtceu:dripstone_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_pyrite_block", - "weight": 1 - }, - { - "block": "gtceu:dripstone_sphalerite_ore", "weight": 15 }, { - "block": "gtceu:raw_sphalerite_block", - "weight": 1 + "block": "gtceu:dripstone_sphalerite_ore", + "weight": 5 } ] }, @@ -109,7 +85,7 @@ "with": [ { "block": "gtceu:venus_stone_sulfur_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:raw_sulfur_block", @@ -117,19 +93,11 @@ }, { "block": "gtceu:venus_stone_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_pyrite_block", - "weight": 1 - }, - { - "block": "gtceu:venus_stone_sphalerite_ore", "weight": 15 }, { - "block": "gtceu:raw_sphalerite_block", - "weight": 1 + "block": "gtceu:venus_stone_sphalerite_ore", + "weight": 5 } ] }, @@ -140,7 +108,7 @@ "with": [ { "block": "gtceu:andesite_sulfur_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:raw_sulfur_block", @@ -148,19 +116,11 @@ }, { "block": "gtceu:andesite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_pyrite_block", - "weight": 1 - }, - { - "block": "gtceu:andesite_sphalerite_ore", "weight": 15 }, { - "block": "gtceu:raw_sphalerite_block", - "weight": 1 + "block": "gtceu:andesite_sphalerite_ore", + "weight": 5 } ] }, @@ -171,7 +131,7 @@ "with": [ { "block": "gtceu:dacite_sulfur_ore", - "weight": 50 + "weight": 80 }, { "block": "gtceu:raw_sulfur_block", @@ -179,19 +139,11 @@ }, { "block": "gtceu:dacite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:raw_pyrite_block", - "weight": 1 - }, - { - "block": "gtceu:dacite_sphalerite_ore", "weight": 15 }, { - "block": "gtceu:raw_sphalerite_block", - "weight": 1 + "block": "gtceu:dacite_sphalerite_ore", + "weight": 5 } ] } @@ -200,19 +152,19 @@ "rarity": 20, "depth": 30, "underground_rarity": 40, - "underground_count": 150, + "underground_count": 180, "blocks": [ { "block": "gtceu:sulfur_indicator", - "weight": 50 + "weight": 80 }, { "block": "gtceu:pyrite_indicator", - "weight": 35 + "weight": 15 }, { "block": "tfc:ore/small_sphalerite", - "weight": 15 + "weight": 5 } ] } From fc4d0b416bb4cd12422f989f1b9743a6e58daf6d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 13:52:03 +0000 Subject: [PATCH 576/628] added mars lapis vein, and a way to get wax and latex in mars steam age --- CHANGELOG.md | 1 + .../entries/tfg_ores/mars_ore_index.json | 13 +- .../entries/tfg_ores/mars_vein_index.json | 94 +++++++++- .../entries/tfg_ores/mars_ore_index.json | 13 +- .../entries/tfg_ores/mars_vein_index.json | 94 +++++++++- .../entries/tfg_ores/mars_ore_index.json | 13 +- .../entries/tfg_ores/mars_vein_index.json | 94 +++++++++- .../entries/tfg_ores/mars_ore_index.json | 13 +- .../entries/tfg_ores/mars_vein_index.json | 94 +++++++++- .../entries/tfg_ores/mars_ore_index.json | 13 +- .../entries/tfg_ores/mars_vein_index.json | 96 +++++++++- .../entries/tfg_ores/mars_ore_index.json | 15 +- .../entries/tfg_ores/mars_vein_index.json | 94 +++++++++- .../mars/vein/mars_lapis.json | 176 ++++++++++++++++++ .../placed_feature/mars/vein/mars_lapis.json | 5 + .../server_scripts/tfg/mars/recipes.iodine.js | 23 ++- .../server_scripts/tfg/mars/recipes.mars.js | 23 ++- kubejs/server_scripts/tfg/tags.veins.js | 1 + 18 files changed, 837 insertions(+), 38 deletions(-) create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lapis.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_lapis.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c969eaf6..05394e8cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Added alloy blast smelter recipes for black bronze and bismuth bronze (#2581) @Xaligal - The alloy blast smelter recipe for glowstone has been adjusted (#2581) @Xaligal - Renamed Thorium (the non-isotope one) to Thorianite to better indicate that it's only an ore @Pyritie +- Added a way to get wax and latex in the steam age for those of you starting on mars @Pyritie ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie - Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json index 718015567..e0e7e3c86 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", "type": "patchouli:text" }, { @@ -24,17 +24,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", + "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartzite: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Salt: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()", + "text": "$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartzite: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Salt: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorium: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Uraninite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()", + "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorium: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Uraninite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()", "type": "patchouli:text" } ], 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 b7c906bc8..64cabd0b8 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", "type": "patchouli:text" }, { @@ -1240,6 +1240,98 @@ "draw_filler": true, "type": "patchouli:empty" }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", + "title": "Lapis, Lazurite, & Sodalite", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Lazurite", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Aluminium, Calcium, Sodium$(br)$(thing)Formula$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sodalite", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Aluminium, Sodium$(br)$(thing)Formula$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lapis", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Lazurite, Sodalite, Pyrite, Calcite", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Calcite", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Calcium$(br)$(thing)Formula$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json index 718015567..e0e7e3c86 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", + "text": "$(li)Almandine: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Apatite: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Asbestos: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Barite: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasite: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxite: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Beryllium: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuth: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornite: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcite: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Cassiterite: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Chalcopyrite: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Chromite: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Coal: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()", "type": "patchouli:text" }, { @@ -24,17 +24,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", + "text": "$(li)Lapis: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurite: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lead: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Lepidolite: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Lithium: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazite: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Native Copper: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Native Gold: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Native Silver: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Neodymium: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Nickel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Pentlandite: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pitchblende: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Platinum: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartzite: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Salt: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()", + "text": "$(li)Pyrite: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pyrochlore: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pyrolusite: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Pyrope: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Quartzite: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rock Salt: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Ruby: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Salt: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Saltpeter: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sapphire: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Scheelite: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Soapstone: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorium: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Uraninite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()", + "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorium: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Uraninite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Yellow Limonite: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()", "type": "patchouli:text" } ], 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 b7c906bc8..64cabd0b8 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", "type": "patchouli:text" }, { @@ -1240,6 +1240,98 @@ "draw_filler": true, "type": "patchouli:empty" }, + { + "Type": "patchouli:text", + "text": "$(thing)Rarity$(): 200$(br)$(thing)Density$(): 0.25$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 30$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Chalk, Chert, Dolomite, Limestone, Shale", + "title": "Lapis, Lazurite, & Sodalite", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Lazurite", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 35%$(br)$(thing)Source of$(): Aluminium, Calcium, Sodium$(br)$(thing)Formula$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sodalite", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Aluminium, Sodium$(br)$(thing)Formula$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lapis", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Lazurite, Sodalite, Pyrite, Calcite", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Calcite", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Calcium$(br)$(thing)Formula$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 230$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 42$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Basalt, Chalk, Chert, Claystone, Gabbro, Limestone, Red Granite, Shale, Trachyte", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json index b21b41ef8..abe8bbde7 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Almandina: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Amianto: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Apatita: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Barita: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxita: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Berílio: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornita: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcita: $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Carvão: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()", + "text": "$(li)Almandina: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)Amianto: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)Apatita: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)Areia Glauconita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Barita: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)Bastnasita: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)Bauxita: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Berílio: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)Bismuto: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)Bornita: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)Calcita: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Calcopirita: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Carvão: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Cassiterita: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()", "type": "patchouli:text" }, { @@ -24,17 +24,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)Fosfato Tricálcico: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierita: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Gipsita: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Glossulária: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Goethita: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Grafite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Hematita: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Limonita Amarela: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Lítio: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazita: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()", + "text": "$(li)Fosfato Tricálcico: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Galena: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)Garnierita: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)Gipsita: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Glossulária: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Goethita: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Grafite: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Hematita: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)Lápis-lazúri: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Lazurita: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Lepidorita: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Limonita Amarela: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Lítio: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Monazita: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartzito: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()", + "text": "$(li)Neodímio: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Níquel: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Ouro Nativo: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Pechblenda: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Pedra-sabão: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Pentlandita: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Pirita: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Pirocloro: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Pirolusita: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Piropo: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Platina: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Prata Nativa: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Quartzito: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Realgar: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Sal: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Tório: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstato: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Uraninita: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()", + "text": "$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Sal: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Sodalita: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Tório: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Tungstato: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)Uraninita: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()", "type": "patchouli:text" } ], 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 7833d38d5..f40a867be 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematita e Limonita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematita e Limonita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lápis-lazúri, Lazurita e Sodalita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", "type": "patchouli:text" }, { @@ -1332,6 +1332,98 @@ "draw_filler": true, "type": "patchouli:empty" }, + { + "Type": "patchouli:text", + "text": "$(thing)Raridade$(): 200$(br)$(thing)Densidade$(): 0.25$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 30$(br)$(thing)Profundidade Máxima do Indicador$(): 20$(br2)$(thing)Tipos de Pedra$(): Argilita, Calcário, Cherte, Dolomito, Folhelho, Giz", + "title": "Lápis-lazúri, Lazurita e Sodalita", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Lazurita", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 35%$(br)$(thing)Fonte de$(): Alumínio, Cálcio, Sódio$(br)$(thing)Fórmula$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Sodalita", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 25%$(br)$(thing)Fonte de$(): Alumínio, Sódio$(br)$(thing)Fórmula$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Lápis-lazúri", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 25%$(br)$(thing)Fonte de$(): Lazurita, Sodalita, Pirita, Calcita", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Calcita", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Cálcio$(br)$(thing)Fórmula$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Raridade$(): 230$(br)$(thing)Densidade$(): 0.3$(br)$(thing)Tipo$(): Veio Aglomerado$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Tamanho$(): 42$(br)$(thing)Profundidade Máxima do Indicador$(): 15$(br2)$(thing)Tipos de Pedra$(): Argilita, Argilito, Basalto, Calcário, Cherte, Folhelho, Gabro, Giz, Red Granite, Traquito", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json index c2696cce5..e1be823e0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json @@ -19,22 +19,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()", + "text": "$(li)Гётит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гипс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Глауконитовый песок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графит: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Жёлтый лимонит: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелёный сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Изумруд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Каменная соль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Касситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Литий: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Никель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пирит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Пиролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Пироп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()", + "text": "$(li)Лазурит 2: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепидолит: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Литий: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Мыльный камень: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Никель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пирит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Пиролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Пироп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пирохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Соль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Стибнит: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", + "text": "$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубин: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородная Золото: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородная Медь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородная Серебро: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфир: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинец: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Селитра: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Сера: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Содалит: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Соль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Спасерит: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Танталит: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торий: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уголь: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Уранинит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хромит: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Шеелит: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()", + "text": "$(li)Стибнит: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталит: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торий: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уголь: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Уранинит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хромит: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Шеелит: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Шелдонит: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()", "type": "patchouli:text" } ], 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 660f54d6d..e14750575 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганец и Тантал$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеелит и Вольфрамат$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарниерит и Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит и Лимонит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графит и Алмаз$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Изумруд и Бериллий$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Касситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лазурит, Лазурит 2 и Содалит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганец и Тантал$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Медь и Халькопирит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Серебро, Галена и Свинец$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит & Пирит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраэдрит (обычный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраэдрит (Поверхностный)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеелит и Вольфрамат$()$()", "type": "patchouli:text" }, { @@ -1772,6 +1772,98 @@ "text": "$(thing)Процент руды$(): 10%$(br)$(thing)Хромит$(): Калий, Азот$(br)$(thing)Формула$(): KNO₃", "type": "patchouli:multiblock" }, + { + "Type": "patchouli:text", + "text": "$(thing)Редкость$(): 200$(br)$(thing)Плотность$(): 0.25$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 30$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Доломит, Известняк, Кремнистый сланец, Мел, Сланец", + "title": "Лазурит, Лазурит 2 и Содалит", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Лазурит", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 35%$(br)$(thing)Хромит$(): Алюминий, Кальций, Натрий$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Содалит", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Алюминий, Натрий$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Лазурит 2", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 25%$(br)$(thing)Хромит$(): Лазурит, Содалит, Пирит, Кальцит", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кальцит", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Кальций$(br)$(thing)Формула$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Редкость$(): 230$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 42$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Аргиллит, Базальт, Габбро, Известняк, Кремнистый сланец, Мел, Сланец, Трахит", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json index a0613df0b..a4c6f5ff1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json @@ -19,22 +19,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", + "text": "$(li)Гетит: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)Гіпс: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Главконітний пісок: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Графіт: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)Гроссуляр: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Діамант: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)Електротин: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)Жовтий лимоніт: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)Зелений сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Кальцит: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Кам’яна сіль: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Каситерит: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)Кварцит: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)Кобальтит: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Лепідоліт: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Літій: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Нікель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пірит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Піроп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()", + "text": "$(li)Лазурит: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)Лапіс: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Лепідоліт: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)Літій: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)Монацит: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)Неодим: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)Нікель: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)Нітрат калію: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Олово: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Пентландит: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)Пірит: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)Піролюзит: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)Піроп: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)Пірохлор: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сіль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Спесартін: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()", + "text": "$(li)Платина: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)Реальгар: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)Редстоун: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Рубін: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Самородна Золото: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)Самородна Мідь: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Самородна Срібла: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)Сапфір: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Свинець: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)Сіль: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Сірка: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Смарагд: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)Соапостон: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Содаліт: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталіт: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торій: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Ураніт: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хроміт: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", + "text": "$(li)Спесартін: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталіт: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торій: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Ураніт: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хроміт: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)Шеєліт: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", "type": "patchouli:text" } ], 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 51200e18e..2fd88c06a 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 @@ -14,12 +14,12 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмандин і Сапфір$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит і Пірохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит і Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борніт і Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Вісмут$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Вугілля і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарнієрит і Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Золото, Електротин і Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Каситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Азбест і Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганець і Тантал$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Альмандин і Сапфір$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит і Пірохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит і Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Борніт і Куперит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Вісмут$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Вугілля і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)Гарнієрит і Кобальтит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Гематит та Лімоніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)Графіт і Діамант$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Золото, Електротин і Боксит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)Каситерит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Кварцит, Азбест і Барит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Лапіс, Лазурит та Содаліт$()$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Настуран, Торій і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Настуран, Торій і Уранініт$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Редстоун і Хроміт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Солі і Сподумен$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Стеатит, Тальк і Глауконіт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Сфалерит і Галеніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраедрит (Звичайний)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеєліт та Вольфрам$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганець і Тантал$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Настуран, Торій і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Настуран, Торій і Уранініт$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Редстоун і Хроміт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Солі і Сподумен$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Стеатит, Тальк і Глауконіт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Сфалерит і Галеніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраедрит (Звичайний)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеєліт та Вольфрам$()$()", "type": "patchouli:text" }, { @@ -1173,6 +1173,98 @@ "draw_filler": true, "type": "patchouli:empty" }, + { + "Type": "patchouli:text", + "text": "$(thing)Рідкість$(): 200$(br)$(thing)Щільність$(): 0.25$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 30$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргіліт, Вапняк, Глинистий сланець, Доломіт, Крейда, Кременистий сланець", + "title": "Лапіс, Лазурит та Содаліт", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "Лазурит", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 35%$(br)$(thing)Джерело$(): Алюмінію, Кальцію, Натрію$(br)$(thing)Формула$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Содаліт", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 25%$(br)$(thing)Джерело$(): Алюмінію, Натрію$(br)$(thing)Формула$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Лапіс", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 25%$(br)$(thing)Джерело$(): Лазуриту, Содаліту, Пириту, Кальциту", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "Кальцит", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Кальцію$(br)$(thing)Формула$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)Рідкість$(): 230$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 42$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргиліт, Аргіліт, Базальт, Вапняк, Габро, Глинистий сланець, Крейда, Кременистий сланець, Трахіт", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json index d269c420a..64b8ecced 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json @@ -14,27 +14,32 @@ }, { "Type": "patchouli:text", - "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()", + "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()", + "text": "$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()", + "text": "$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)蓝金石: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)钍矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)锂云母: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)锂矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()", + "text": "$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)钍矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)锂辉石: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)锡石矿: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)锡矿: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)镍矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)雄黄: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)黄褐铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()$(li)黄铜矿: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)黝铜矿: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()", + "text": "$(li)锂云母: $(l:tfg_ores/mars_vein_index#mars_salt)15%$(/l)$()$(li)锂矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)19%$(/l)$()$(li)锂辉石: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)锡石矿: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)55%$(/l)$()$(li)锡矿: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)锰铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)镁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)26%$(/l)$()$(li)镍矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)23%$(/l)$()$(li)镍黄铁矿: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)闪锌矿: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)雄黄: $(l:tfg_ores/mars_vein_index#mars_beryllium)15%$(/l)$()$(li)青金石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)黄褐铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)33%$(/l)$()$(li)黄铁矿: $(l:tfg_ores/mars_vein_index#mars_sulfur)42%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)10%$(/l)$()", + "type": "patchouli:text" + }, + { + "Type": "patchouli:text", + "text": "$(li)黄铜矿: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)黝铜矿: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()", "type": "patchouli:text" } ], 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 2491654a3..00254a17e 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)辉铋矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)金矿, 蓝石, 铝土矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)铁铝榴石, 蓝宝石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)闪锌矿, 方铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)黝铜矿 (普通)$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)赤铁矿, 褐铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)辉铋矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)金矿, 蓝石, 铝土矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)铁铝榴石, 蓝宝石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)铜矿, 黄铜矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)银矿, 方铅矿, 铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)锡石矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)锰矿, 钽矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)闪锌矿, 方铅矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)闪锌矿, 黄铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)青金石, 蓝金石, 方钠石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)黝铜矿 (地表)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)黝铜矿 (普通)$()$()", "type": "patchouli:text" }, { @@ -2232,6 +2232,98 @@ "draw_filler": true, "type": "patchouli:empty" }, + { + "Type": "patchouli:text", + "text": "$(thing)稀有度$(): 200$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 30$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 白云岩, 白垩岩, 石灰岩, 页岩", + "title": "青金石, 蓝金石, 方钠石", + "type": "patchouli:text", + "anchor": "mars_lapis" + }, + { + "Type": "patchouli:multiblock", + "name": "蓝金石", + "multiblock": { + "mapping": { + "0": "#forge:ores/lazurite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 35%$(br)$(thing)来源$(): 铝, 钙, 钠$(br)$(thing)化学式$(): Al₆Si₆Ca₈Na₈", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "方钠石", + "multiblock": { + "mapping": { + "0": "#forge:ores/sodalite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 25%$(br)$(thing)来源$(): 铝, 钠$(br)$(thing)化学式$(): Al₃Si₃Na₄Cl", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "青金石", + "multiblock": { + "mapping": { + "0": "#forge:ores/lapis" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 25%$(br)$(thing)来源$(): 蓝金石, 方钠石, 黄铁矿, 方解石", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:multiblock", + "name": "方解石", + "multiblock": { + "mapping": { + "0": "#forge:ores/calcite" + }, + "pattern": [ + [ + "0" + ], + [ + " " + ] + ] + }, + "enable_visualize": false, + "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 钙$(br)$(thing)化学式$(): CaCO₃", + "type": "patchouli:multiblock" + }, + { + "Type": "patchouli:empty", + "draw_filler": true, + "type": "patchouli:empty" + }, { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 140$(br)$(thing)密度$(): 0.25$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 80 — 180$(br)$(thing)尺寸$(): 45$(br)$(thing)指示器最大深度$(): 40$(br2)$(thing)岩石类型$(): 泥板岩, 燧石, 玄武岩, 白云岩, 白垩岩, 石灰岩, 砾岩, 粗面岩, 粘土岩, 红花岗岩, 花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lapis.json b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lapis.json new file mode 100644 index 000000000..be3e3e3f7 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/vein/mars_lapis.json @@ -0,0 +1,176 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "type": "tfc:cluster_vein", + "config": { + "size": 30, + "rarity": 200, + "density": 0.25, + "min_y": 0, + "max_y": 70, + "random_name": "mars_lapis", + "blocks": [ + { + "replace": [ + "ad_astra:mars_stone" + ], + "with": [ + { + "block": "gtceu:mars_stone_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:mars_stone_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:mars_stone_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:mars_stone_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/shale" + ], + "with": [ + { + "block": "gtceu:shale_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:shale_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:shale_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:shale_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/limestone" + ], + "with": [ + { + "block": "gtceu:limestone_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:limestone_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:limestone_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:limestone_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/dolomite" + ], + "with": [ + { + "block": "gtceu:dolomite_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:dolomite_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:dolomite_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:dolomite_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chert" + ], + "with": [ + { + "block": "gtceu:chert_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:chert_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:chert_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:chert_calcite_ore", + "weight": 15 + } + ] + }, + { + "replace": [ + "tfc:rock/raw/chalk" + ], + "with": [ + { + "block": "gtceu:chalk_lazurite_ore", + "weight": 35 + }, + { + "block": "gtceu:chalk_sodalite_ore", + "weight": 25 + }, + { + "block": "gtceu:chalk_lapis_ore", + "weight": 25 + }, + { + "block": "gtceu:chalk_calcite_ore", + "weight": 15 + } + ] + } + ], + "indicator": { + "rarity": 15, + "depth": 20, + "underground_rarity": 40, + "underground_count": 200, + "blocks": [ + { + "block": "gtceu:lazurite_bud_indicator", + "weight": 35 + }, + { + "block": "gtceu:sodalite_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:lapis_bud_indicator", + "weight": 25 + }, + { + "block": "gtceu:calcite_indicator", + "weight": 15 + } + ] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_lapis.json b/kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_lapis.json new file mode 100644 index 000000000..c7d06a734 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/vein/mars_lapis.json @@ -0,0 +1,5 @@ +{ + "__credits__": "This vein was automatically generated by OresToFieldGuide.", + "feature": "tfg:mars/vein/mars_lapis", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/recipes.iodine.js b/kubejs/server_scripts/tfg/mars/recipes.iodine.js index 371c0a9fc..d4ac26ee0 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.iodine.js +++ b/kubejs/server_scripts/tfg/mars/recipes.iodine.js @@ -37,15 +37,29 @@ function registerTFGMarsIodineRecipes(event) { .inputFluids(Fluid.of('tfg:crimsene', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) .outputFluids(Fluid.of('gtceu:carbon_monoxide', 1000)) .itemOutputs('#forge:gems/crimsene') - .duration(20 * 30) - .EUt(GTValues.VA[GTValues.EV]) + .duration(20 * 60) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.firmalife.vat() + .inputs('10x tfg:dry_ice', Fluid.of('tfg:crimsene', 200)) + .outputItem('tfg:crimsene_gem') + .length(300) + .temperature(100) + .id('tfg:vat/crimsene') event.recipes.gtceu.autoclave('tfg:warpane') .inputFluids(Fluid.of('tfg:warpane', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) .outputFluids(Fluid.of('gtceu:hydrogen', 1000)) .itemOutputs('#forge:gems/warpane') - .duration(20 * 30) - .EUt(GTValues.VA[GTValues.EV]) + .duration(20 * 60) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.firmalife.vat() + .inputs('10x tfg:dry_ice', Fluid.of('tfg:warpane', 200)) + .outputItem('tfg:warpane_gem') + .length(300) + .temperature(100) + .id('tfg:vat/warpane') event.recipes.gtceu.macerator('tfg:crimsene') .itemInputs('#forge:gems/crimsene') @@ -99,4 +113,5 @@ function registerTFGMarsIodineRecipes(event) { .outputFluids(Fluid.of('tfg:heavy_water', 1500)) .duration(20 * 5) .EUt(GTValues.VA[GTValues.MV]) + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 35439105a..12360bb6f 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -14,7 +14,7 @@ function registerTFGMarsRecipes(event) { .inputFluids(Fluid.of('tfg:mars_air', 10000)) .outputFluids(Fluid.of('gtceu:carbon_dioxide', 3900), Fluid.of('gtceu:nitrogen', 1000), Fluid.of('gtceu:argon', 500)) .duration(1600) - .EUt(GTValues.VA[GTValues.MV]) + .EUt(GTValues.VA[GTValues.LV]) // TODO: move neon and xenon somewhere else event.recipes.gtceu.distillation_tower('tfg:distill_liquid_mars_air') @@ -251,5 +251,24 @@ function registerTFGMarsRecipes(event) { generateGreenHouseRecipe(event, '8x betterend:shadow_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') + event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') + + // Mars primitive stuff + + event.recipes.vintageimprovements.vacuumizing( + [Fluid.of('tfg:latex', 100), Fluid.of('gtceu:ammonia', 100)], + [Fluid.of('tfg:warpane', 100), Fluid.of('tfg:crimsene', 100)]) + .secondaryFluidInput(1) + .secondaryFluidOutput(1) + .processingTime(1000) + .heated() + .id('tfg:vacuumizing/mars_latex') + + event.recipes.vintageimprovements.vacuumizing( + [Fluid.of('minecraft:water', 250), Fluid.of('gtceu:ammonia', 250)], + Fluid.of('tfg:semiheavy_ammoniacal_water', 1000)) + .secondaryFluidOutput(1) + .processingTime(300) + .heated() + .id('tfg:vacummizing/mars_water') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.veins.js b/kubejs/server_scripts/tfg/tags.veins.js index d938a374f..3ab4438e6 100644 --- a/kubejs/server_scripts/tfg/tags.veins.js +++ b/kubejs/server_scripts/tfg/tags.veins.js @@ -72,6 +72,7 @@ const registerTFGOreVeinFeatures = (event) => { event.add('tfg:mars_veins', 'tfg:mars/vein/mars_sapphire') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_graphite') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_hematite') + event.add('tfg:mars_veins', 'tfg:mars/vein/mars_lapis') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_lubricant') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_neodynium') event.add('tfg:mars_veins', 'tfg:mars/vein/mars_nickel') From b2ff7c95d088ce442269a96bf43b0361467fe50d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 14:23:24 +0000 Subject: [PATCH 577/628] cl + pakku --- CHANGELOG.md | 2 ++ pakku-lock.json | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05394e8cf..b43081fc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - The alloy blast smelter recipe for glowstone has been adjusted (#2581) @Xaligal - Renamed Thorium (the non-isotope one) to Thorianite to better indicate that it's only an ore @Pyritie - Added a way to get wax and latex in the steam age for those of you starting on mars @Pyritie +- Changed the Rover's step height from 1 block to 1.2 blocks (about 4 extra 'pixels') @Pyritie ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie - Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 @@ -22,6 +23,7 @@ - Fixed how much aluminium silicate you get from mica, pollucite, and spodumene to more accurately reflect how much aluminium they have @Pyritie - Fixed being able to put liquid metals into the new molds that didn't have a recipe @Pyritie - Added some grain nutrition to oatmeal @Pyritie +- Fixed hot-protection chestplates not fully protecting against GT hot ingots (#2598) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/pakku-lock.json b/pakku-lock.json index 17c86438a..f8858e283 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -14444,7 +14444,7 @@ "files": [ { "type": "modrinth", - "file_name": "toomanyrecipeviewers-0.7.0+mc.20.1.jar", + "file_name": "toomanyrecipeviewers-0.7.1+mc.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -14452,22 +14452,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/yFypjcfd/versions/KfDtkeCS/toomanyrecipeviewers-0.7.0+mc.20.1.jar", - "id": "KfDtkeCS", + "url": "https://cdn.modrinth.com/data/yFypjcfd/versions/OtMd1Eg9/toomanyrecipeviewers-0.7.1+mc.20.1.jar", + "id": "OtMd1Eg9", "parent_id": "yFypjcfd", "hashes": { - "sha512": "db2d525c3d6f5b1771dc8348e74cbf60bb6406a340af043690c3800be495230b6defcad38e35a61aede43eb03eb65e599570a1b212a394b51c726db687de58f8", - "sha1": "24973cc8530188fef712d34767a27d2f001c50e6" + "sha512": "a4e7f351f25e5dddc0e61b5afa91222ebd2f878e0a8803bf20cf5373cca3be20136a40d001cfa7fcc076b10555cd0c9aba8e8ad32d11a5be06e9b331db28b7dc", + "sha1": "29bec57f882d3a4bab4a2dc4c46e19cadcd32c67" }, "required_dependencies": [ "fRiHVvU7" ], - "size": 1666127, - "date_published": "2025-11-25T00:22:16.932262Z" + "size": 1667055, + "date_published": "2026-01-03T00:51:46.557524Z" }, { "type": "curseforge", - "file_name": "toomanyrecipeviewers-0.7.0+mc.20.1.jar", + "file_name": "toomanyrecipeviewers-0.7.1+mc.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -14475,18 +14475,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7259/315/toomanyrecipeviewers-0.7.0+mc.20.1.jar", - "id": "7259315", + "url": "https://edge.forgecdn.net/files/7410/427/toomanyrecipeviewers-0.7.1+mc.20.1.jar", + "id": "7410427", "parent_id": "1194921", "hashes": { - "sha1": "24973cc8530188fef712d34767a27d2f001c50e6", - "md5": "f9d556546061c90499fa6fc0c462c00e" + "sha1": "29bec57f882d3a4bab4a2dc4c46e19cadcd32c67", + "md5": "1419bf0ba0f79042abe7af61f567d7ea" }, "required_dependencies": [ "580555" ], - "size": 1666127, - "date_published": "2025-11-25T00:22:12.340Z" + "size": 1667055, + "date_published": "2026-01-03T00:51:42.943Z" } ] }, From 38fb98f06064ed250859e6e5876e7a85ac424363 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 14:25:07 +0000 Subject: [PATCH 578/628] langs --- kubejs/assets/minecraft/lang/en_gb.json | 4 +- kubejs/assets/minecraft/lang/en_us.json | 4 +- kubejs/assets/sns/lang/ru_ru.json | 71 +++++++++++++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 1 + kubejs/assets/tfg/lang/fr_fr.json | 1 + kubejs/assets/tfg/lang/pt_br.json | 1 + kubejs/assets/tfg/lang/ru_ru.json | 23 ++++---- kubejs/assets/tfg/lang/uk_ua.json | 1 + kubejs/assets/tfg/lang/zh_cn.json | 1 + 9 files changed, 94 insertions(+), 13 deletions(-) create mode 100644 kubejs/assets/sns/lang/ru_ru.json diff --git a/kubejs/assets/minecraft/lang/en_gb.json b/kubejs/assets/minecraft/lang/en_gb.json index ae1f36035..99a3ad8ba 100644 --- a/kubejs/assets/minecraft/lang/en_gb.json +++ b/kubejs/assets/minecraft/lang/en_gb.json @@ -75,5 +75,7 @@ "item.minecraft.glow_ink_sac": "Glowing Dye", "item.minecraft.nether_brick": "Keratophyre Brick", "item.minecraft.furnace_minecart": "Minecart with Boiler", - "material.tfg.dripstone": "Travertine" + "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" } \ No newline at end of file diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index 6f97684eb..e1f5742cd 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -99,5 +99,7 @@ "item.minecraft.glow_ink_sac": "Glowing Dye", "item.minecraft.nether_brick": "Keratophyre Brick", "item.minecraft.furnace_minecart": "Minecart with Boiler", - "material.tfg.dripstone": "Travertine" + "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" } \ No newline at end of file diff --git a/kubejs/assets/sns/lang/ru_ru.json b/kubejs/assets/sns/lang/ru_ru.json new file mode 100644 index 000000000..93cc05081 --- /dev/null +++ b/kubejs/assets/sns/lang/ru_ru.json @@ -0,0 +1,71 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "item.sns.black_steel_toe_hiking_boots": "Походные ботинки (Чёрная сталь)", + "item.sns.blue_steel_toe_hiking_boots": "Походные ботинки (Синяя сталь)", + "item.sns.bound_leather_strip": "Укреплённая кожаная полоска", + "item.sns.buckle": "Пряжка", + "item.sns.burlap_sack": "Мешок из мешковины", + "item.sns.frame_pack": "Каркасный рюкзак", + "item.sns.hiking_boots": "Походные ботинки", + "item.sns.leather_sack": "Кожаный мешок", + "item.sns.leather_strip": "Кожаная полоска", + "item.sns.lunchbox": "Ланчбокс", + "item.sns.metal.horseshoe.black_steel": "Подкова из чёрной стали", + "item.sns.metal.horseshoe.blue_steel": "Подкова из синей стали", + "item.sns.metal.horseshoe.red_steel": "Подкова из красной стали", + "item.sns.metal.horseshoe.steel": "Стальная подкова", + "item.sns.metal.horseshoes.black_steel": "Подковы из чёрной стали", + "item.sns.metal.horseshoes.blue_steel": "Подковы из синей стали", + "item.sns.metal.horseshoes.red_steel": "Подковы из красной стали", + "item.sns.metal.horseshoes.steel": "Стальные подковы", + "item.sns.mob_net": "Сеть для мобов", + "item.sns.ore_sack": "Мешок для руды", + "item.sns.pack_frame": "Каркас рюкзака", + "item.sns.quiver": "Колчан", + "item.sns.red_steel_toe_hiking_boots": "Походные ботинки (Красная сталь)", + "item.sns.reinforced_fabric": "Укреплённая ткань", + "item.sns.reinforced_fiber": "Укреплённая нить", + "item.sns.seed_pouch": "Мешочек для семян", + "item.sns.steel_toe_hiking_boots": "Походные ботинки (Сталь)", + "item.sns.straw_basket": "Соломенная корзина", + "item.sns.unfinished_leather_sack": "Незавершённый кожаный мешок", + "pack.sns.description": "Sacks 'N Such Resources", + "sns.advancements.frame_pack.description": "Используйте сталь, чтобы создать каркасный рюкзак. Насколько Sophisticated?", + "sns.advancements.frame_pack.title": "Не Sophisticated рюкзак", + "sns.advancements.hiking_boots.description": "Создайте высококачественные ботинки, помогающие исследовать мир пешком", + "sns.advancements.hiking_boots.title": "Эти ботинки созданы для ходьбы", + "sns.advancements.leather_sack.description": "Создайте кожаный мешок из самой лучшей кожи", + "sns.advancements.leather_sack.title": "Кожаный мешок", + "sns.advancements.lunchbox.description": "Скуйте ланчбокс", + "sns.advancements.lunchbox.title": "Еда с собой", + "sns.advancements.steel_horseshoes.description": "Создайте подковы из стали. Как будто они зачарованы", + "sns.advancements.steel_horseshoes.title": "Скоростные подковы", + "sns.advancements.steel_toe_hiking_boots.description": "Защитите свои пальцы ног сталью", + "sns.advancements.steel_toe_hiking_boots.title": "Защита для пальчиков", + "sns.advancements.straw_basket.description": "Создайте примитивную корзину из соломы", + "sns.advancements.straw_basket.title": "Соломенная корзина", + "sns.creative_tab.sacks": "Sacks 'N Such", + "sns.disabled": "Отключено", + "sns.enabled": "Включено", + "sns.extra_fall_distance": "Безопасная высота падения", + "sns.key.openItemContainer": "Открыть контейнер", + "sns.key.pickup": "Переключить автоподбор", + "sns.stack_name.mob_net.with_mob": "%s (%s)", + "sns.status.item_container.no_pickup": "Автоподбор для %s отключён", + "sns.status.mob_net.cannot_capture_generic": "Нельзя поймать %s", + "sns.status.mob_net.cannot_capture_players": "Нельзя ловить игроков", + "sns.status.mob_net.cannot_capture_size": "%s слишком большой для поимки", + "sns.status.mob_net.cannot_place": "Недостаточно места, чтобы выпустить пойманного %s", + "sns.status.sack.auto_pickup": "Автоподбор: %s", + "sns.tooltip.food_trait.lunchbox": "Сохранено в ланчбоксе", + "sns.tooltip.hiking_boots.prevents_slow": "Предотвращает замедление в высокой траве", + "sns.tooltip.horseshoe.modifier": "При езде на лошади:", + "sns.tooltip.item_container.allowed_size": "Максимальный размер: %s", + "sns.tooltip.item_container.slot_capacity": "Вместимость слота: %s", + "sns.tooltip.item_container.slot_count": "Количество слотов: %s", + "sns.tooltip.item_container.tooltip.inventory_interaction": "Взаимодействие с инвентарём: %s", + "sns.tooltip.item_container.tooltip.pickup": "Автоподбор: %s", + "sns.tooltip.item_container.tooltip.shift": "Удерживайте (Shift) для информации о контейнере", + "sns.tooltip.item_container.tooltip.void": "Удаление предметов: %s", + "sns.tooltip.lunchbox.selected_slot": "Выбранный слот: %s" +} \ 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 e8d54c66e..5a77f630b 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1332,6 +1332,7 @@ "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Graphite & Diamond", "ore_vein.tfg.mars_hematite": "Hematite & Limonite", + "ore_vein.tfg.mars_lapis": "Lapis, Lazurite, & Sodalite", "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Bastnasite & Monazite", "ore_vein.tfg.mars_nickel": "Garnierite & Cobaltite", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 98e0fce23..1d2dbb2a0 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1086,6 +1086,7 @@ "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Graphite & Diamond", "ore_vein.tfg.mars_hematite": "Hematite & Limonite", + "ore_vein.tfg.mars_lapis": "Lapis, Lazurite, & Sodalite", "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Bastnasite & Monazite", "ore_vein.tfg.mars_nickel": "Garnierite & Cobaltite", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index bba736470..4ff151945 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -849,6 +849,7 @@ "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Grafite e Diamante", "ore_vein.tfg.mars_hematite": "Hematita e Limonita", + "ore_vein.tfg.mars_lapis": "Lápis-lazúri, Lazurita e Sodalita", "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Bastnasita e Monazita", "ore_vein.tfg.mars_nickel": "Garnierita e Cobaltita", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 19dbaf4c7..d930f6c11 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1272,6 +1272,7 @@ "ore_vein.tfg.mars_sapphire": "Gold, Electrotine, & Bauxite", "ore_vein.tfg.mars_graphite": "Графит и Алмаз", "ore_vein.tfg.mars_hematite": "Гематит и Лимонит", + "ore_vein.tfg.mars_lapis": "Лазурит, Лазурит 2 и Содалит", "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Бастнезит и Монацит", "ore_vein.tfg.mars_nickel": "Гарниерит и Кобальтит", @@ -3950,21 +3951,21 @@ "quests.tfg_tips.maxed_out_toolbelt.subtitle": "Похоже, этот пояс теперь весит очень много...", "quests.tfg_tips.maxed_out_toolbelt.desc": "&dПояс с инструментами&r может вместить 7 дополнительных сумок, целых 9 инструментов в одном поясе!", "quests.tfg_tips.maxed_out_toolbelt.task": "Получите полностью улучшенный пояс.", - "quests.tfg_tips.straw_basket.title": "Straw Basket", + "quests.tfg_tips.straw_basket.title": "Соломенная корзина", "quests.tfg_tips.straw_basket.subtitle": "Проще некуда", - "quests.tfg_tips.straw_basket.desc": "&6Straw Basket&r это простая корзина, которая может быть невероятно полезной для управления инвентарём, пока более продвинутые варианты ещё недоступны.\n\nПросто оббей солому, чтобы получить свою собственную &6Straw Basket&r!", + "quests.tfg_tips.straw_basket.desc": "&6Соломенная корзина&r это простая корзина, которая может быть невероятно полезной для управления инвентарём, пока более продвинутые варианты ещё недоступны.\n\nПросто оббей солому, чтобы получить свою собственную &6Соломенная корзину&r!", "quests.tfg_tips.toolbox.title": "Ящики для инструментов", "quests.tfg_tips.toolbox.subtitle": "Мечта строителей", "quests.tfg_tips.toolbox.desc": "&dЯщик для инструментов&r имеет 8 слотов инвентаря, и каждый из них может хранить до 4 стаков предметов. Кроме того, ты можешь использовать &cклавишу быстрого доступа&r, чтобы открывать установленный &dящик для инструментов&r с расстояния в несколько блоков. Ты даже можешь &bпокрасить&r свой &dящик для инструментов&r, чтобы персонализировать его!", - "quests.tfg_tips.first_sacks.title": "Sacks для хранения", + "quests.tfg_tips.first_sacks.title": "Мешки для хранения", "quests.tfg_tips.first_sacks.subtitle": "Следующий шаг после кувшинов", - "quests.tfg_tips.first_sacks.desc": "&6Leather Sack&r и &3Burlap Sack&r — это два варианта переносного хранилища, каждый со своими плюсами и минусами. Хорошей идеей будет посмотреть информацию о контейнере для каждого из них, чтобы узнать количество &dслотов для предметов&r, &dразмер стака&r и максимальный &dразмер предметов&r для каждого мешка.\n\n&l&3Совет:&r В &4&oПолевом справочнике&r есть более подробная информация о некоторых особых возможностях этих мешков.", - "quests.tfg_tips.special_sacks.title": "Специализированные Sacks", + "quests.tfg_tips.first_sacks.desc": "&6Кожаный мешок&r и &3Мешок из мешковины&r — это два варианта переносного хранилища, каждый со своими плюсами и минусами. Хорошей идеей будет посмотреть информацию о контейнере для каждого из них, чтобы узнать количество &dслотов для предметов&r, &dразмер стака&r и максимальный &dразмер предметов&r для каждого мешка.\n\n&l&3Совет:&r В &4&oПолевом справочнике&r есть более подробная информация о некоторых особых возможностях этих мешков.", + "quests.tfg_tips.special_sacks.title": "Специализированные мешки", "quests.tfg_tips.special_sacks.subtitle": "Подождите, сколько он может вместить?", - "quests.tfg_tips.special_sacks.desc": "&2Seed Pouch&r и &9Ore Sack&r — это два мешка, которые могут хранить только определённые типы предметов, но компенсируют это значительно &dбольшими размерами стаков&r.\n\n&2Seed Pouch&r может хранить до &c128&r штук &327&r различных видов семян.\n\n&9Ore Sack&r может хранить до &c512&r штук &39&r различных добытых ресурсов. Это значит, что в нём можно хранить такие предметы, как руды, камни, порошки и глины!", - "quests.tfg_tips.frame_pack.title": "Frame Pack", + "quests.tfg_tips.special_sacks.desc": "&2Мешочек для семян&r и &9Мешок для руд&r — это два мешка, которые могут хранить только определённые типы предметов, но компенсируют это значительно &dбольшими размерами стаков&r.\n\n&2Seed Pouch&r может хранить до &c128&r штук &327&r различных видов семян.\n\n&9Мешок для руд&r может хранить до &c512&r штук &39&r различных добытых ресурсов. Это значит, что в нём можно хранить такие предметы, как руды, камни, порошки и глины!", + "quests.tfg_tips.frame_pack.title": "Каркасный рюкзак", "quests.tfg_tips.frame_pack.subtitle": "Наличие выбора — это хорошо!", - "quests.tfg_tips.frame_pack.desc": "&5Frame Pack&r даёт тебе &318&r слотов, каждый из которых может хранить до &c64&r предметов. Преимущество &5Frame Pack&r в том, что он игнорирует стандартный размер стака у предметов, которые ты в него кладёшь. Это значит, что всего ты можешь носить с собой до &c1152&r предметов!", + "quests.tfg_tips.frame_pack.desc": "&5Каркасный рюкзак&r даёт тебе &318&r слотов, каждый из которых может хранить до &c64&r предметов. Преимущество &5Каркасного рюкзака&r в том, что он игнорирует стандартный размер стака у предметов, которые ты в него кладёшь. Это значит, что всего ты можешь носить с собой до &c1152&r предметов!", "quests.tfg_tips.vessels.title": "Большие и маленькие сосуды", "quests.tfg_tips.vessels.subtitle": "Глина может быть вполне полезной", "quests.tfg_tips.vessels.desc": "&dМаленькие сосуды&r имеют 4 слота под хранение, в то время как &6Большой сосуд&r обладает целыми 9! &dМаленький сосуд&r нужен не только для хранения вещей, но также необходим для плавки и создания сплавов основных металлов.\n&6Большой сосуд&r тяжелее для переноски, но отлично подходит для сохранения еды.\n\n&l&3Совет:&r&o Большие сосуды можно использовать как рюкзаки на ранних этапах!", @@ -4064,10 +4065,10 @@ "quests.tfg_tips.cane.subtitle": "Ими даже можно стукнуть кого-нибудь!", "quests.tfg_tips.cane.desc": "&dТрость&r позволяет полностью игнорировать любые блоки, замедляющие движение, такие как &aснег&r, если вы держите ее в &cосновной&r или &cвторостепенной руке&r. Вдобавок она &bповышает высоту шага&r — другими словами, вы сможете подниматься на один блок без прыжка. А &dЖелезная трость&r даже позволяет перешагивать через заборы!", "quests.tfg_tips.cane.task": "Любая Трость", - "quests.tfg_tips.hiking.title": "Hiking Boots", + "quests.tfg_tips.hiking.title": "Походные ботинки", "quests.tfg_tips.hiking.subtitle": "&oЭти ботинки сделаны для ходьбы", - "quests.tfg_tips.hiking.desc": "&dHiking Boots&r позволяют тебе проще исслежовать твой мир! Все &dHiking Boots&r позволяют проходить через высокую траву без замедления. Дополнительно, каждый новый уровень &dHiking Boots&r дает больше &9брони&r, &9скорости передвижения&r, и &9сопротивления к паденяим&r.", - "quests.tfg_tips.hiking.task": "Любые Hiking Boots", + "quests.tfg_tips.hiking.desc": "&dПоходные ботинки&r позволяют тебе проще исслежовать твой мир! Все &dПоходные ботинки&r позволяют проходить через высокую траву без замедления. Дополнительно, каждый новый уровень &dПоходные ботинки&r дает больше &9брони&r, &9скорости передвижения&r, и &9сопротивления к паденяим&r.", + "quests.tfg_tips.hiking.task": "Любые Походные ботинки", "quests.tfg_tips.feeding_troughs.title": "Кормушки", "quests.tfg_tips.feeding_troughs.subtitle": "Металлический батрак", "quests.tfg_tips.feeding_troughs.desc": "Кормушки (также известные как станции ухода) — это способ автоматически кормить твоих животных каждое утро. В них даже есть опция не кормить животных, у которых уже максимальный уровень привязанности, если ты не хочешь их разводить.\n\nБолее высокие тиры имеют больший радиус действия.\n\n&3&lСовет:&r&o Лучше не ставь такую вплотную к забору — иначе животные могут попытаться использовать её, чтобы сбежать из загона!", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 333c4a8d4..7ba52305a 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1317,6 +1317,7 @@ "ore_vein.tfg.mars_sapphire": "Золото, Електротин і Боксит", "ore_vein.tfg.mars_graphite": "Графіт і Діамант", "ore_vein.tfg.mars_hematite": "Гематит та Лімоніт", + "ore_vein.tfg.mars_lapis": "Лапіс, Лазурит та Содаліт", "ore_vein.tfg.mars_lubricant": "Стеатит, Тальк і Глауконіт", "ore_vein.tfg.mars_neodynium": "Бастнезит і Монацит", "ore_vein.tfg.mars_nickel": "Гарнієрит і Кобальтит", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e2bdc744f..0312731b2 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1414,6 +1414,7 @@ "ore_vein.tfg.mars_sapphire": "金矿, 蓝石, 铝土矿", "ore_vein.tfg.mars_graphite": "石墨, 钻石", "ore_vein.tfg.mars_hematite": "赤铁矿, 褐铁矿", + "ore_vein.tfg.mars_lapis": "青金石, 蓝金石, 方钠石", "ore_vein.tfg.mars_lubricant": "皂石, 滑石, 海绿石矿砂", "ore_vein.tfg.mars_neodynium": "氟碳镧铈矿, 独居石", "ore_vein.tfg.mars_nickel": "硅镁镍矿, 辉钴矿", From 28d24e91f042bd221fd339ba1d67a886fd5a7637 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Sat, 3 Jan 2026 17:53:05 +0300 Subject: [PATCH 579/628] Sns's field guide chapter ru_ru translation (#2599) * Sns ru_ru translation Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * Sns category ru translation Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * Delete mob net page Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * Delete sns's lunchbox page Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --------- Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../ru_ru/categories/sacks_n_such.json | 6 ++++ .../ru_ru/entries/sns/burlap_sack.json | 18 +++++++++++ .../ru_ru/entries/sns/frame_pack.json | 18 +++++++++++ .../ru_ru/entries/sns/hiking_boots.json | 17 +++++++++++ .../ru_ru/entries/sns/horseshoes.json | 30 +++++++++++++++++++ .../ru_ru/entries/sns/item_containers.json | 20 +++++++++++++ .../ru_ru/entries/sns/leather_sack.json | 17 +++++++++++ .../ru_ru/entries/sns/ore_sack.json | 18 +++++++++++ .../field_guide/ru_ru/entries/sns/quiver.json | 18 +++++++++++ .../entries/sns/safety_toe_hiking_boots.json | 22 ++++++++++++++ .../ru_ru/entries/sns/seed_pouch.json | 18 +++++++++++ .../ru_ru/entries/sns/straw_basket.json | 17 +++++++++++ 12 files changed, 219 insertions(+) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json new file mode 100644 index 000000000..5d8e79645 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json @@ -0,0 +1,6 @@ +{ + "name": "Sacks 'N Such", + "description": "Всё, что вам нужно знать о Sacks 'N Such", + "icon": "sns:textures/item/icon/leather_sack.png", + "sortnum": 3 +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json new file mode 100644 index 000000000..a2ae38ea8 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json @@ -0,0 +1,18 @@ +{ + "name": "Мешок из мешковины", + "category": "tfc:sacks_n_such", + "icon": "sns:burlap_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:burlap_sack", + "text": "$(item)Мешок из мешковины$() — это тип $(l:sns/item_containers)предметного контейнера$() с немного большей вместимостью, чем у $(item)кожаного мешка$()." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/burlap_sack", + "text": "По умолчанию они могут вмещать предметы максимум $(thing)маленького$() размера." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json new file mode 100644 index 000000000..723db287e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json @@ -0,0 +1,18 @@ +{ + "name": "Каркасный рюкзак", + "category": "tfc:sacks_n_such", + "icon": "sns:frame_pack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:frame_pack", + "text": "$(item)Каркасный рюкзак$() — это тип $(l:sns/item_containers)предметного контейнера$(), по сути являющийся TFC сундуком на вашей спине. Как и TFC сундук, он учитывает $(l:getting_started/size_and_weight)систему размеров$() TFC." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/frame_pack", + "text": "По умолчанию они могут вмещать предметы максимум $(thing)большого$() размера." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json new file mode 100644 index 000000000..587d028b9 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json @@ -0,0 +1,17 @@ +{ + "name": "Походные ботинки", + "category": "tfc:sacks_n_such", + "icon": "sns:hiking_boots", + "pages": [ + { + "type": "patchouli:text", + "text": "Каждому исследователю нужна хорошая пара ботинок. Они позволяют быстро пробираться сквозь траву, дают небольшое ускорение и увеличивают безопасную высоту падения." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/hiking_boots", + "text": "Эти ботинки созданы для ходьбы." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json new file mode 100644 index 000000000..0d1be3c6e --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json @@ -0,0 +1,30 @@ +{ + "name": "Подковы", + "category": "tfc:sacks_n_such", + "icon": "sns:metal/horseshoe/steel", + "pages": [ + { + "type": "patchouli:text", + "text": "$(item)Подковы$() выковываются по отдельности, а затем объединяются вместе в крафтовом меню. Разве ты не знал, что у лошадей 4 ноги? $(br)$(br)Кстати, с хорошими подковами — очень хорошая идея именно привязывать свою лошадь, тк обычная яма не сработает!" + }, + { + "type": "tfc:sns/better_anvil_recipe", + "recipe": "sns:anvil/metal/horseshoe/steel", + "recipe2": "sns:anvil/metal/horseshoe/black_steel", + "recipe3": "sns:anvil/metal/horseshoe/blue_steel", + "recipe4": "sns:anvil/metal/horseshoe/red_steel", + "text4": "Каждой лошади нужны подковы" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/metal/horseshoes/steel", + "recipe2": "sns:crafting/metal/horseshoes/black_steel" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/metal/horseshoes/blue_steel", + "recipe2": "sns:crafting/metal/horseshoes/red_steel" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json new file mode 100644 index 000000000..7a9778063 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json @@ -0,0 +1,20 @@ +{ + "name": "Предметные контейнеры", + "category": "tfc:sacks_n_such", + "icon": "sns:straw_basket", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Предметные контейнеры$() — это основные предметы, которые добавляет данный мод. У них есть 6 основных характеристик, которые можно увидеть, удерживая $(3)Shift$(clear), наведя курсор на предмет. $(li)$(thing)Количество слотов$(): сколько слотов он имеет. $(li)$(thing)Вместимость слота$(): сколько предметов может хранить один слот. $(li)$(thing)Допустимый размер$(): максимально допустимый $(l:getting_started/size_and_weight)размер TFC$() для слотов." + }, + { + "type": "patchouli:text", + "text": "$(li)$(thing)Автоподбор$() — может ли он подбирать предметы автоматически. Shift + ПКМ или используйте $(k:sns.key.pickup) для переключения. $(li)$(thing)Удаление предметов$() — может ли он удалять лишние предметы. Для переключения используйте Ctrl + ЛКМ. $(li)$(thing)Взаимодействие с инвентарём$() — можно ли вносить и извлекать предметы, кликая по контейнеру, как у сосудов TFC или ванильных мешков. $(br)Все $(thing)предметные контейнеры$() поддерживают ванильную функцию выбора блока через $(k:pickItem)" + }, + { + "type": "patchouli:text", + "text": "Для авторов модпаков или просто тех, кто хочет настраивать различные вещи. Все$(thing) предметные контейнеры$() имеют тег \"черного списка\", который включает $(bold)sns:prevented_in_item_containers$(). Схема именования — $(bold)prevented_in_$(), например соломенная корзина использует $(bold)sns:prevented_in_straw_basket$(). $(thing)Предметные контейнеры$() со специальными тегами \"белого списка\" будут перечислены в соответствующей главе." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json new file mode 100644 index 000000000..1e74961bb --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json @@ -0,0 +1,17 @@ +{ + "name": "Кожаный мешок", + "category": "tfc:sacks_n_such", + "icon": "sns:leather_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:leather_sack", + "text": "$(item)Кожаный мешок$() — это тип $(l:sns/item_containers)предметного контейнера$() и похож на сосуд с немного большей вместимостью. По умолчанию он может вмещать предметы максимум $(thing)обычного$() размера." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/leather_sack" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json new file mode 100644 index 000000000..07a33739b --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json @@ -0,0 +1,18 @@ +{ + "name": "Мешок для руды", + "category": "tfc:sacks_n_such", + "icon": "sns:ore_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:ore_sack", + "text": "$(item)Мешок для руды$() — это тип $(l:sns/item_containers)предметного контейнера$(), предназначенный для хранения больших количеств одного вида руды или подобных предметов, что делает его чрезвычайно полезным при добыче руды. $(br2)По умолчанию он вмещает ошеломляющие 512 предметов." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/ore_sack", + "text": "Для авторов модпаков или просто тех, кто хочет добавить дополнительные руды, смотрите тег $(bold)sns:allowed_in_ore_sack$() — большинство аддонов должно поддерживаться автоматически." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json new file mode 100644 index 000000000..29e2bbe0f --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json @@ -0,0 +1,18 @@ +{ + "name": "Колчан", + "category": "tfc:sacks_n_such", + "icon": "sns:quiver", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:quiver", + "text": "$(item)Колчан$() — это тип $(l:sns/item_containers)предметного контейнера$() и лучший друг любого любителя дальнего боя, будь то тот, кто любит $(item)копья$(), или предпочитающий лук. $(br)При использовании лука предметы для \"боеприпасов\" берутся сначала из колчана, а также он заменяет метаемые копья." + }, + { + "type": "tfc:knapping_recipe", + "recipe": "sns:leather_knapping/quiver", + "text": "Для авторов модпаков или просто тех, кто хочет добавить поддержку дополнительных \"боеприпасов\", смотрите тег $(bold)sns:allowed_in_quiver$(). Учтите, что пополнение копий работает только с копьями TFC (или из аддонов)." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json new file mode 100644 index 000000000..bfe25043c --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json @@ -0,0 +1,22 @@ +{ + "name": "Стальные походные ботинки", + "category": "tfc:sacks_n_such", + "icon": "sns:steel_toe_hiking_boots", + "pages": [ + { + "type": "patchouli:text", + "text": "Как $(l:sns/hiking_boots)походные ботинки$(), но безопаснее благодаря стальным носкам. Жаль только, что никто ещё не изобрёл каску" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/steel_toe_hiking_boots", + "recipe2": "sns:crafting/black_steel_toe_hiking_boots" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/blue_steel_toe_hiking_boots", + "recipe2": "sns:crafting/red_steel_toe_hiking_boots" + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json new file mode 100644 index 000000000..e4f5108d0 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json @@ -0,0 +1,18 @@ +{ + "name": "Мешочек для семян", + "category": "tfc:sacks_n_such", + "icon": "sns:seed_pouch", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:seed_pouch", + "text": "$(item)Мешочек для семян$() — это тип $(l:sns/item_containers)предметного контейнера$(), предназначенный для хранения большого разнообразия семян, что делает его очень полезным при фермерстве. $(br2)По умолчанию в нём 27 слотов, каждый из которых может вмещать до 64 семян." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/seed_pouch", + "text": "Для авторов модпаков или просто тех, кто хочет добавить дополнительные семена, смотрите тег $(bold)sns:allowed_in_seed_pouch$() — большинство аддонов должно поддерживаться автоматически." + } + ], + "read_by_default": true +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json new file mode 100644 index 000000000..4235304ea --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json @@ -0,0 +1,17 @@ +{ + "name": "Соломенная корзина", + "category": "tfc:sacks_n_such", + "icon": "sns:straw_basket", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:straw_basket", + "text": "$(item)Соломенная корзина$() — это тип $(l:sns/item_containers)предметного контейнера$() и по сути является более дешёвым сосудом. По умолчанию она может вмещать предметы максимум $(thing)маленького$() размера." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/straw_basket" + } + ], + "read_by_default": true +} \ No newline at end of file From d1aa8aff47006cd03ebad25e7737d671e1dd8582 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 14:54:50 +0000 Subject: [PATCH 580/628] merge --- .../ru_ru/categories/sacks_n_such.json | 10 ++-- .../ru_ru/entries/sns/burlap_sack.json | 34 +++++------ .../ru_ru/entries/sns/frame_pack.json | 34 +++++------ .../ru_ru/entries/sns/hiking_boots.json | 32 +++++----- .../ru_ru/entries/sns/horseshoes.json | 58 +++++++++---------- .../ru_ru/entries/sns/item_containers.json | 38 ++++++------ .../ru_ru/entries/sns/leather_sack.json | 32 +++++----- .../ru_ru/entries/sns/ore_sack.json | 34 +++++------ .../field_guide/ru_ru/entries/sns/quiver.json | 34 +++++------ .../entries/sns/safety_toe_hiking_boots.json | 42 +++++++------- .../ru_ru/entries/sns/seed_pouch.json | 34 +++++------ .../ru_ru/entries/sns/straw_basket.json | 32 +++++----- 12 files changed, 207 insertions(+), 207 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json index 5d8e79645..7d0c9a01c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/categories/sacks_n_such.json @@ -1,6 +1,6 @@ -{ - "name": "Sacks 'N Such", - "description": "Всё, что вам нужно знать о Sacks 'N Such", - "icon": "sns:textures/item/icon/leather_sack.png", - "sortnum": 3 +{ + "name": "Sacks 'N Such", + "description": "Всё, что вам нужно знать о Sacks 'N Such", + "icon": "sns:textures/item/icon/leather_sack.png", + "sortnum": 3 } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json index a2ae38ea8..1c39392a6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/burlap_sack.json @@ -1,18 +1,18 @@ -{ - "name": "Мешок из мешковины", - "category": "tfc:sacks_n_such", - "icon": "sns:burlap_sack", - "pages": [ - { - "type": "patchouli:spotlight", - "item": "sns:burlap_sack", - "text": "$(item)Мешок из мешковины$() — это тип $(l:sns/item_containers)предметного контейнера$() с немного большей вместимостью, чем у $(item)кожаного мешка$()." - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/burlap_sack", - "text": "По умолчанию они могут вмещать предметы максимум $(thing)маленького$() размера." - } - ], - "read_by_default": true +{ + "name": "Мешок из мешковины", + "category": "tfc:sacks_n_such", + "icon": "sns:burlap_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:burlap_sack", + "text": "$(item)Мешок из мешковины$() — это тип $(l:sns/item_containers)предметного контейнера$() с немного большей вместимостью, чем у $(item)кожаного мешка$()." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/burlap_sack", + "text": "По умолчанию они могут вмещать предметы максимум $(thing)маленького$() размера." + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json index 723db287e..9c1d7fa64 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/frame_pack.json @@ -1,18 +1,18 @@ -{ - "name": "Каркасный рюкзак", - "category": "tfc:sacks_n_such", - "icon": "sns:frame_pack", - "pages": [ - { - "type": "patchouli:spotlight", - "item": "sns:frame_pack", - "text": "$(item)Каркасный рюкзак$() — это тип $(l:sns/item_containers)предметного контейнера$(), по сути являющийся TFC сундуком на вашей спине. Как и TFC сундук, он учитывает $(l:getting_started/size_and_weight)систему размеров$() TFC." - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/frame_pack", - "text": "По умолчанию они могут вмещать предметы максимум $(thing)большого$() размера." - } - ], - "read_by_default": true +{ + "name": "Каркасный рюкзак", + "category": "tfc:sacks_n_such", + "icon": "sns:frame_pack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:frame_pack", + "text": "$(item)Каркасный рюкзак$() — это тип $(l:sns/item_containers)предметного контейнера$(), по сути являющийся TFC сундуком на вашей спине. Как и TFC сундук, он учитывает $(l:getting_started/size_and_weight)систему размеров$() TFC." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/frame_pack", + "text": "По умолчанию они могут вмещать предметы максимум $(thing)большого$() размера." + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json index 587d028b9..046c328f9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/hiking_boots.json @@ -1,17 +1,17 @@ -{ - "name": "Походные ботинки", - "category": "tfc:sacks_n_such", - "icon": "sns:hiking_boots", - "pages": [ - { - "type": "patchouli:text", - "text": "Каждому исследователю нужна хорошая пара ботинок. Они позволяют быстро пробираться сквозь траву, дают небольшое ускорение и увеличивают безопасную высоту падения." - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/hiking_boots", - "text": "Эти ботинки созданы для ходьбы." - } - ], - "read_by_default": true +{ + "name": "Походные ботинки", + "category": "tfc:sacks_n_such", + "icon": "sns:hiking_boots", + "pages": [ + { + "type": "patchouli:text", + "text": "Каждому исследователю нужна хорошая пара ботинок. Они позволяют быстро пробираться сквозь траву, дают небольшое ускорение и увеличивают безопасную высоту падения." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/hiking_boots", + "text": "Эти ботинки созданы для ходьбы." + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json index 0d1be3c6e..3ddd6f339 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/horseshoes.json @@ -1,30 +1,30 @@ -{ - "name": "Подковы", - "category": "tfc:sacks_n_such", - "icon": "sns:metal/horseshoe/steel", - "pages": [ - { - "type": "patchouli:text", - "text": "$(item)Подковы$() выковываются по отдельности, а затем объединяются вместе в крафтовом меню. Разве ты не знал, что у лошадей 4 ноги? $(br)$(br)Кстати, с хорошими подковами — очень хорошая идея именно привязывать свою лошадь, тк обычная яма не сработает!" - }, - { - "type": "tfc:sns/better_anvil_recipe", - "recipe": "sns:anvil/metal/horseshoe/steel", - "recipe2": "sns:anvil/metal/horseshoe/black_steel", - "recipe3": "sns:anvil/metal/horseshoe/blue_steel", - "recipe4": "sns:anvil/metal/horseshoe/red_steel", - "text4": "Каждой лошади нужны подковы" - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/metal/horseshoes/steel", - "recipe2": "sns:crafting/metal/horseshoes/black_steel" - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/metal/horseshoes/blue_steel", - "recipe2": "sns:crafting/metal/horseshoes/red_steel" - } - ], - "read_by_default": true +{ + "name": "Подковы", + "category": "tfc:sacks_n_such", + "icon": "sns:metal/horseshoe/steel", + "pages": [ + { + "type": "patchouli:text", + "text": "$(item)Подковы$() выковываются по отдельности, а затем объединяются вместе в крафтовом меню. Разве ты не знал, что у лошадей 4 ноги? $(br)$(br)Кстати, с хорошими подковами — очень хорошая идея именно привязывать свою лошадь, тк обычная яма не сработает!" + }, + { + "type": "tfc:sns/better_anvil_recipe", + "recipe": "sns:anvil/metal/horseshoe/steel", + "recipe2": "sns:anvil/metal/horseshoe/black_steel", + "recipe3": "sns:anvil/metal/horseshoe/blue_steel", + "recipe4": "sns:anvil/metal/horseshoe/red_steel", + "text4": "Каждой лошади нужны подковы" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/metal/horseshoes/steel", + "recipe2": "sns:crafting/metal/horseshoes/black_steel" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/metal/horseshoes/blue_steel", + "recipe2": "sns:crafting/metal/horseshoes/red_steel" + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json index 7a9778063..44309ff8d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/item_containers.json @@ -1,20 +1,20 @@ -{ - "name": "Предметные контейнеры", - "category": "tfc:sacks_n_such", - "icon": "sns:straw_basket", - "pages": [ - { - "type": "patchouli:text", - "text": "$(thing)Предметные контейнеры$() — это основные предметы, которые добавляет данный мод. У них есть 6 основных характеристик, которые можно увидеть, удерживая $(3)Shift$(clear), наведя курсор на предмет. $(li)$(thing)Количество слотов$(): сколько слотов он имеет. $(li)$(thing)Вместимость слота$(): сколько предметов может хранить один слот. $(li)$(thing)Допустимый размер$(): максимально допустимый $(l:getting_started/size_and_weight)размер TFC$() для слотов." - }, - { - "type": "patchouli:text", - "text": "$(li)$(thing)Автоподбор$() — может ли он подбирать предметы автоматически. Shift + ПКМ или используйте $(k:sns.key.pickup) для переключения. $(li)$(thing)Удаление предметов$() — может ли он удалять лишние предметы. Для переключения используйте Ctrl + ЛКМ. $(li)$(thing)Взаимодействие с инвентарём$() — можно ли вносить и извлекать предметы, кликая по контейнеру, как у сосудов TFC или ванильных мешков. $(br)Все $(thing)предметные контейнеры$() поддерживают ванильную функцию выбора блока через $(k:pickItem)" - }, - { - "type": "patchouli:text", - "text": "Для авторов модпаков или просто тех, кто хочет настраивать различные вещи. Все$(thing) предметные контейнеры$() имеют тег \"черного списка\", который включает $(bold)sns:prevented_in_item_containers$(). Схема именования — $(bold)prevented_in_$(), например соломенная корзина использует $(bold)sns:prevented_in_straw_basket$(). $(thing)Предметные контейнеры$() со специальными тегами \"белого списка\" будут перечислены в соответствующей главе." - } - ], - "read_by_default": true +{ + "name": "Предметные контейнеры", + "category": "tfc:sacks_n_such", + "icon": "sns:straw_basket", + "pages": [ + { + "type": "patchouli:text", + "text": "$(thing)Предметные контейнеры$() — это основные предметы, которые добавляет данный мод. У них есть 6 основных характеристик, которые можно увидеть, удерживая $(3)Shift$(clear), наведя курсор на предмет. $(li)$(thing)Количество слотов$(): сколько слотов он имеет. $(li)$(thing)Вместимость слота$(): сколько предметов может хранить один слот. $(li)$(thing)Допустимый размер$(): максимально допустимый $(l:getting_started/size_and_weight)размер TFC$() для слотов." + }, + { + "type": "patchouli:text", + "text": "$(li)$(thing)Автоподбор$() — может ли он подбирать предметы автоматически. Shift + ПКМ или используйте $(k:sns.key.pickup) для переключения. $(li)$(thing)Удаление предметов$() — может ли он удалять лишние предметы. Для переключения используйте Ctrl + ЛКМ. $(li)$(thing)Взаимодействие с инвентарём$() — можно ли вносить и извлекать предметы, кликая по контейнеру, как у сосудов TFC или ванильных мешков. $(br)Все $(thing)предметные контейнеры$() поддерживают ванильную функцию выбора блока через $(k:pickItem)" + }, + { + "type": "patchouli:text", + "text": "Для авторов модпаков или просто тех, кто хочет настраивать различные вещи. Все$(thing) предметные контейнеры$() имеют тег \"черного списка\", который включает $(bold)sns:prevented_in_item_containers$(). Схема именования — $(bold)prevented_in_$(), например соломенная корзина использует $(bold)sns:prevented_in_straw_basket$(). $(thing)Предметные контейнеры$() со специальными тегами \"белого списка\" будут перечислены в соответствующей главе." + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json index 1e74961bb..ff12fe3b2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/leather_sack.json @@ -1,17 +1,17 @@ -{ - "name": "Кожаный мешок", - "category": "tfc:sacks_n_such", - "icon": "sns:leather_sack", - "pages": [ - { - "type": "patchouli:spotlight", - "item": "sns:leather_sack", - "text": "$(item)Кожаный мешок$() — это тип $(l:sns/item_containers)предметного контейнера$() и похож на сосуд с немного большей вместимостью. По умолчанию он может вмещать предметы максимум $(thing)обычного$() размера." - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/leather_sack" - } - ], - "read_by_default": true +{ + "name": "Кожаный мешок", + "category": "tfc:sacks_n_such", + "icon": "sns:leather_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:leather_sack", + "text": "$(item)Кожаный мешок$() — это тип $(l:sns/item_containers)предметного контейнера$() и похож на сосуд с немного большей вместимостью. По умолчанию он может вмещать предметы максимум $(thing)обычного$() размера." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/leather_sack" + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json index 07a33739b..4ed321cb1 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/ore_sack.json @@ -1,18 +1,18 @@ -{ - "name": "Мешок для руды", - "category": "tfc:sacks_n_such", - "icon": "sns:ore_sack", - "pages": [ - { - "type": "patchouli:spotlight", - "item": "sns:ore_sack", - "text": "$(item)Мешок для руды$() — это тип $(l:sns/item_containers)предметного контейнера$(), предназначенный для хранения больших количеств одного вида руды или подобных предметов, что делает его чрезвычайно полезным при добыче руды. $(br2)По умолчанию он вмещает ошеломляющие 512 предметов." - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/ore_sack", - "text": "Для авторов модпаков или просто тех, кто хочет добавить дополнительные руды, смотрите тег $(bold)sns:allowed_in_ore_sack$() — большинство аддонов должно поддерживаться автоматически." - } - ], - "read_by_default": true +{ + "name": "Мешок для руды", + "category": "tfc:sacks_n_such", + "icon": "sns:ore_sack", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:ore_sack", + "text": "$(item)Мешок для руды$() — это тип $(l:sns/item_containers)предметного контейнера$(), предназначенный для хранения больших количеств одного вида руды или подобных предметов, что делает его чрезвычайно полезным при добыче руды. $(br2)По умолчанию он вмещает ошеломляющие 512 предметов." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/ore_sack", + "text": "Для авторов модпаков или просто тех, кто хочет добавить дополнительные руды, смотрите тег $(bold)sns:allowed_in_ore_sack$() — большинство аддонов должно поддерживаться автоматически." + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json index 29e2bbe0f..490102889 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/quiver.json @@ -1,18 +1,18 @@ -{ - "name": "Колчан", - "category": "tfc:sacks_n_such", - "icon": "sns:quiver", - "pages": [ - { - "type": "patchouli:spotlight", - "item": "sns:quiver", - "text": "$(item)Колчан$() — это тип $(l:sns/item_containers)предметного контейнера$() и лучший друг любого любителя дальнего боя, будь то тот, кто любит $(item)копья$(), или предпочитающий лук. $(br)При использовании лука предметы для \"боеприпасов\" берутся сначала из колчана, а также он заменяет метаемые копья." - }, - { - "type": "tfc:knapping_recipe", - "recipe": "sns:leather_knapping/quiver", - "text": "Для авторов модпаков или просто тех, кто хочет добавить поддержку дополнительных \"боеприпасов\", смотрите тег $(bold)sns:allowed_in_quiver$(). Учтите, что пополнение копий работает только с копьями TFC (или из аддонов)." - } - ], - "read_by_default": true +{ + "name": "Колчан", + "category": "tfc:sacks_n_such", + "icon": "sns:quiver", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:quiver", + "text": "$(item)Колчан$() — это тип $(l:sns/item_containers)предметного контейнера$() и лучший друг любого любителя дальнего боя, будь то тот, кто любит $(item)копья$(), или предпочитающий лук. $(br)При использовании лука предметы для \"боеприпасов\" берутся сначала из колчана, а также он заменяет метаемые копья." + }, + { + "type": "tfc:knapping_recipe", + "recipe": "sns:leather_knapping/quiver", + "text": "Для авторов модпаков или просто тех, кто хочет добавить поддержку дополнительных \"боеприпасов\", смотрите тег $(bold)sns:allowed_in_quiver$(). Учтите, что пополнение копий работает только с копьями TFC (или из аддонов)." + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json index bfe25043c..f9b9fe101 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/safety_toe_hiking_boots.json @@ -1,22 +1,22 @@ -{ - "name": "Стальные походные ботинки", - "category": "tfc:sacks_n_such", - "icon": "sns:steel_toe_hiking_boots", - "pages": [ - { - "type": "patchouli:text", - "text": "Как $(l:sns/hiking_boots)походные ботинки$(), но безопаснее благодаря стальным носкам. Жаль только, что никто ещё не изобрёл каску" - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/steel_toe_hiking_boots", - "recipe2": "sns:crafting/black_steel_toe_hiking_boots" - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/blue_steel_toe_hiking_boots", - "recipe2": "sns:crafting/red_steel_toe_hiking_boots" - } - ], - "read_by_default": true +{ + "name": "Стальные походные ботинки", + "category": "tfc:sacks_n_such", + "icon": "sns:steel_toe_hiking_boots", + "pages": [ + { + "type": "patchouli:text", + "text": "Как $(l:sns/hiking_boots)походные ботинки$(), но безопаснее благодаря стальным носкам. Жаль только, что никто ещё не изобрёл каску" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/steel_toe_hiking_boots", + "recipe2": "sns:crafting/black_steel_toe_hiking_boots" + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/blue_steel_toe_hiking_boots", + "recipe2": "sns:crafting/red_steel_toe_hiking_boots" + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json index e4f5108d0..4dfa29a7b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/seed_pouch.json @@ -1,18 +1,18 @@ -{ - "name": "Мешочек для семян", - "category": "tfc:sacks_n_such", - "icon": "sns:seed_pouch", - "pages": [ - { - "type": "patchouli:spotlight", - "item": "sns:seed_pouch", - "text": "$(item)Мешочек для семян$() — это тип $(l:sns/item_containers)предметного контейнера$(), предназначенный для хранения большого разнообразия семян, что делает его очень полезным при фермерстве. $(br2)По умолчанию в нём 27 слотов, каждый из которых может вмещать до 64 семян." - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/seed_pouch", - "text": "Для авторов модпаков или просто тех, кто хочет добавить дополнительные семена, смотрите тег $(bold)sns:allowed_in_seed_pouch$() — большинство аддонов должно поддерживаться автоматически." - } - ], - "read_by_default": true +{ + "name": "Мешочек для семян", + "category": "tfc:sacks_n_such", + "icon": "sns:seed_pouch", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:seed_pouch", + "text": "$(item)Мешочек для семян$() — это тип $(l:sns/item_containers)предметного контейнера$(), предназначенный для хранения большого разнообразия семян, что делает его очень полезным при фермерстве. $(br2)По умолчанию в нём 27 слотов, каждый из которых может вмещать до 64 семян." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/seed_pouch", + "text": "Для авторов модпаков или просто тех, кто хочет добавить дополнительные семена, смотрите тег $(bold)sns:allowed_in_seed_pouch$() — большинство аддонов должно поддерживаться автоматически." + } + ], + "read_by_default": true } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json index 4235304ea..595d55dce 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/sns/straw_basket.json @@ -1,17 +1,17 @@ -{ - "name": "Соломенная корзина", - "category": "tfc:sacks_n_such", - "icon": "sns:straw_basket", - "pages": [ - { - "type": "patchouli:spotlight", - "item": "sns:straw_basket", - "text": "$(item)Соломенная корзина$() — это тип $(l:sns/item_containers)предметного контейнера$() и по сути является более дешёвым сосудом. По умолчанию она может вмещать предметы максимум $(thing)маленького$() размера." - }, - { - "type": "patchouli:crafting", - "recipe": "sns:crafting/straw_basket" - } - ], - "read_by_default": true +{ + "name": "Соломенная корзина", + "category": "tfc:sacks_n_such", + "icon": "sns:straw_basket", + "pages": [ + { + "type": "patchouli:spotlight", + "item": "sns:straw_basket", + "text": "$(item)Соломенная корзина$() — это тип $(l:sns/item_containers)предметного контейнера$() и по сути является более дешёвым сосудом. По умолчанию она может вмещать предметы максимум $(thing)маленького$() размера." + }, + { + "type": "patchouli:crafting", + "recipe": "sns:crafting/straw_basket" + } + ], + "read_by_default": true } \ No newline at end of file From f5391ed20e7ddc872bc2571b067b50651ed20c38 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 15:02:21 +0000 Subject: [PATCH 581/628] more mars ice caves --- .../tfg/worldgen/placed_feature/mars/underground/ice_cave.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/underground/ice_cave.json b/kubejs/data/tfg/worldgen/placed_feature/mars/underground/ice_cave.json index 39a11ee38..a9f8d69e2 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/mars/underground/ice_cave.json +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/underground/ice_cave.json @@ -3,7 +3,7 @@ "placement": [ { "type": "tfc:climate", - "max_temperature": -105 + "max_temperature": -75 }, { "type": "minecraft:count", From e42db7c5f97c22e5504bec342655ec97c470dbde Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 16:46:46 +0000 Subject: [PATCH 582/628] red sandstone stuff --- .../assets/endermanoverhaul/lang/en_us.json | 8 +++-- kubejs/assets/minecraft/lang/en_gb.json | 35 +++++++++++++++---- kubejs/assets/minecraft/lang/en_us.json | 8 ++--- .../minecraft/models/block/red_sandstone.json | 6 ++++ .../models/block/red_sandstone_slab.json | 6 ++++ .../models/block/red_sandstone_slab_top.json | 6 ++++ .../models/block/red_sandstone_stairs.json | 6 ++++ .../block/red_sandstone_stairs_inner.json | 6 ++++ .../block/red_sandstone_stairs_outer.json | 6 ++++ .../block/red_sandstone_wall_inventory.json | 6 ++++ .../models/block/red_sandstone_wall_post.json | 6 ++++ .../models/block/red_sandstone_wall_side.json | 6 ++++ .../block/red_sandstone_wall_side_tall.json | 6 ++++ 13 files changed, 99 insertions(+), 12 deletions(-) create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_slab.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_stairs.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_wall_inventory.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_wall_post.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_wall_side.json create mode 100644 kubejs/assets/minecraft/models/block/red_sandstone_wall_side_tall.json diff --git a/kubejs/assets/endermanoverhaul/lang/en_us.json b/kubejs/assets/endermanoverhaul/lang/en_us.json index 9f8aee6e7..e9b45fcc9 100644 --- a/kubejs/assets/endermanoverhaul/lang/en_us.json +++ b/kubejs/assets/endermanoverhaul/lang/en_us.json @@ -1,6 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.endermanoverhaul.nether_wastes_enderman": "Deep Cave Enderman", + "entity.endermanoverhaul.nether_wastes_enderman": "Fiery Enderman", "entity.endermanoverhaul.dark_oak_enderman": "Ashen Enderman", "entity.endermanoverhaul.mushroom_fields_enderman": "Mushroom Enderman", "entity.endermanoverhaul.swamp_enderman": "Mossy Enderman", @@ -10,7 +10,9 @@ "entity.endermanoverhaul.end_enderman": "Baritone Choral Enderman", "entity.endermanoverhaul.end_islands_enderman": "Soprano Choral Enderman", "entity.endermanoverhaul.spirit": "Comet", - "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Deep Cave Enderman Spawn Egg", + "entity.endermanoverhaul.desert_enderman": "Lost Enderman", + "entity.endermanoverhaul.savanna_enderman": "Sandy Enderman", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Fiery Enderman Spawn Egg", "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "Ashen Enderman Spawn Egg", "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "Mushroom Enderman Spawn Egg", "item.endermanoverhaul.swamp_enderman_spawn_egg": "Mossy Enderman Spawn Egg", @@ -20,6 +22,8 @@ "item.endermanoverhaul.end_enderman_spawn_egg": "Baritone Choral Enderman Spawn Egg", "item.endermanoverhaul.end_islands_enderman_spawn_egg": "Soprano Choral Enderman Spawn Egg", "item.endermanoverhaul.spirit_spawn_egg": "Comet Spawn Egg", + "item.endermanoverhaul.desert_enderman_spawn_egg": "Lost Enderman Spawn Egg", + "item.endermanoverhaul.savanna_enderman_spawn_egg": "Sandy Enderman Spawn Egg", "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "Deep Cave Enderman vwoops", "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "Deep Cave Enderman hurts", "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "Ashen Enderman vwoops", diff --git a/kubejs/assets/minecraft/lang/en_gb.json b/kubejs/assets/minecraft/lang/en_gb.json index 99a3ad8ba..e0456b5e5 100644 --- a/kubejs/assets/minecraft/lang/en_gb.json +++ b/kubejs/assets/minecraft/lang/en_gb.json @@ -1,6 +1,29 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "block.minecraft.iron_block": "Cast Iron Block", + "block.minecraft.stone": "Reconstituted Stone", + "block.minecraft.stone_stairs": "Reconstituted Stone Stairs", + "block.minecraft.stone_slab": "Reconstituted Stone Slab", + "block.minecraft.cobblestone": "Reconstituted Stone Cobble", + "block.minecraft.cobblestone_stairs": "Reconstituted Stone Cobble Stairs", + "block.minecraft.cobblestone_slab": "Reconstituted Stone Cobble Slab", + "block.minecraft.cobblestone_wall": "Reconstituted Stone Cobble Wall", + "block.minecraft.mossy_cobblestone": "Mossy Reconstituted Stone Cobble", + "block.minecraft.mossy_cobblestone_stairs": "Mossy Reconstituted Stone Cobble Stairs", + "block.minecraft.mossy_cobblestone_slab": "Mossy Reconstituted Stone Cobble Slab", + "block.minecraft.mossy_cobblestone_wall": "Mossy Reconstituted Stone Cobble Wall", + "block.minecraft.smooth_stone": "Polished Reconstituted Stone", + "block.minecraft.smooth_stone_slab": "Polished Reconstituted Stone Slab", + "block.minecraft.stone_bricks": "Reconstituted Stone Bricks", + "block.minecraft.stone_bricks_stairs": "Reconstituted Stone Brick Stairs", + "block.minecraft.stone_bricks_slab": "Reconstituted Stone Brick Slab", + "block.minecraft.stone_bricks_wall": "Reconstituted Stone Brick Wall", + "block.minecraft.cracked_stone_bricks": "Cracked Reconstituted Stone Bricks", + "block.minecraft.mossy_stone_bricks": "Mossy Reconstituted Stone Bricks", + "block.minecraft.mossy_stone_bricks_stairs": "Mossy Reconstituted Stone Bricks Stairs", + "block.minecraft.mossy_stone_bricks_slab": "Mossy Reconstituted Stone Bricks Slab", + "block.minecraft.mossy_stone_bricks_wall": "Mossy Reconstituted Stone Bricks Wall", + "block.minecraft.chiseled_stone_bricks": "Chiseled Reconstituted Stone Bricks", "block.minecraft.chiseled_deepslate": "Chiseled Migmatite", "block.minecraft.cobbled_deepslate": "Migmatite Cobble", "block.minecraft.cobbled_deepslate_slab": "Cobbled Migmatite Slab", @@ -26,8 +49,8 @@ "block.minecraft.blackstone_slab": "Pyroxenite Slab", "block.minecraft.blackstone_stairs": "Pyroxenite Stairs", "block.minecraft.blackstone_wall": "Pyroxenite Wall", - "block.minecraft.chiseled_polished_blackstone": "Chiseled Polished Pyroxenite", - "block.minecraft.cracked_polished_blackstone_bricks": "Cracked Polished Pyroxenite Bricks", + "block.minecraft.chiseled_polished_blackstone": "Chiseled Pyroxenite", + "block.minecraft.cracked_polished_blackstone_bricks": "Cracked Pyroxenite Bricks", "block.minecraft.gilded_blackstone": "Gilded Pyroxenite", "block.minecraft.polished_blackstone": "Polished Pyroxenite", "block.minecraft.polished_blackstone_brick_slab": "Pyroxenite Brick Slab", @@ -56,10 +79,10 @@ "block.minecraft.weeping_vines_plant": "Crimson Vines Plant", "block.minecraft.weeping_vines": "Crimson Vines", "block.minecraft.red_sand": "Hematitic Sand", - "block.minecraft.red_sandstone": "Hematitic Sandstone", - "block.minecraft.red_sandstone_stairs": "Hematitic Sandstone Stairs", - "block.minecraft.red_sandstone_slab": "Hematitic Sandstone Slab", - "block.minecraft.red_sandstone_wall": "Hematitic Sandstone Wall", + "block.minecraft.red_sandstone": "Raw Hematitic Sandstone", + "block.minecraft.red_sandstone_stairs": "Raw Hematitic Sandstone Stairs", + "block.minecraft.red_sandstone_slab": "Raw Hematitic Sandstone Slab", + "block.minecraft.red_sandstone_wall": "Raw Hematitic Sandstone Wall", "block.minecraft.chiseled_red_sandstone": "Chiseled Hematitic Sandstone", "block.minecraft.smooth_red_sandstone": "Smooth Hematitic Sandstone", "block.minecraft.smooth_red_sandstone_stairs": "Smooth Hematitic Sandstone Stairs", diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json index e1f5742cd..f411c7d30 100644 --- a/kubejs/assets/minecraft/lang/en_us.json +++ b/kubejs/assets/minecraft/lang/en_us.json @@ -79,10 +79,10 @@ "block.minecraft.weeping_vines_plant": "Crimson Vines Plant", "block.minecraft.weeping_vines": "Crimson Vines", "block.minecraft.red_sand": "Hematitic Sand", - "block.minecraft.red_sandstone": "Hematitic Sandstone", - "block.minecraft.red_sandstone_stairs": "Hematitic Sandstone Stairs", - "block.minecraft.red_sandstone_slab": "Hematitic Sandstone Slab", - "block.minecraft.red_sandstone_wall": "Hematitic Sandstone Wall", + "block.minecraft.red_sandstone": "Raw Hematitic Sandstone", + "block.minecraft.red_sandstone_stairs": "Raw Hematitic Sandstone Stairs", + "block.minecraft.red_sandstone_slab": "Raw Hematitic Sandstone Slab", + "block.minecraft.red_sandstone_wall": "Raw Hematitic Sandstone Wall", "block.minecraft.chiseled_red_sandstone": "Chiseled Hematitic Sandstone", "block.minecraft.smooth_red_sandstone": "Smooth Hematitic Sandstone", "block.minecraft.smooth_red_sandstone_stairs": "Smooth Hematitic Sandstone Stairs", diff --git a/kubejs/assets/minecraft/models/block/red_sandstone.json b/kubejs/assets/minecraft/models/block/red_sandstone.json new file mode 100644 index 000000000..1411b50bc --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_slab.json b/kubejs/assets/minecraft/models/block/red_sandstone_slab.json new file mode 100644 index 000000000..58fb2d9ab --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_slab.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "all": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json b/kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json new file mode 100644 index 000000000..67aa0c82b --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "all": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_stairs.json b/kubejs/assets/minecraft/models/block/red_sandstone_stairs.json new file mode 100644 index 000000000..666ff2f89 --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_stairs.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "all": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json new file mode 100644 index 000000000..cda8c0757 --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "all": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json new file mode 100644 index 000000000..c6a5b7453 --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "all": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_wall_inventory.json b/kubejs/assets/minecraft/models/block/red_sandstone_wall_inventory.json new file mode 100644 index 000000000..56ced25b2 --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_wall_post.json b/kubejs/assets/minecraft/models/block/red_sandstone_wall_post.json new file mode 100644 index 000000000..f18e723df --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_wall_side.json b/kubejs/assets/minecraft/models/block/red_sandstone_wall_side.json new file mode 100644 index 000000000..811b52dfd --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_wall_side_tall.json b/kubejs/assets/minecraft/models/block/red_sandstone_wall_side_tall.json new file mode 100644 index 000000000..bb475502a --- /dev/null +++ b/kubejs/assets/minecraft/models/block/red_sandstone_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "minecraft:block/red_sandstone_bottom" + } +} \ No newline at end of file From 2a00a4b4c65b3277f487485a17bd88a78be56d17 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 16:46:56 +0000 Subject: [PATCH 583/628] venus --- CHANGELOG.md | 3 + .../tfg/worldgen/biome/venus/arachnoids.json | 4 +- .../worldgen/biome/venus/fractured_pools.json | 12 +- .../tfg/worldgen/biome/venus/fumaroles.json | 2 - .../tfg/worldgen/biome/venus/geysers.json | 6 +- .../biome/venus/jagged_tablelands.json | 2 - .../tfg/worldgen/biome/venus/salt_flats.json | 30 +-- .../biome/venus/scorching_volcanoes.json | 2 - .../biome/venus/stromatolite_beach.json | 2 - .../worldgen/biome/venus/sulfuric_ravine.json | 10 +- .../venus/vein_manual/salt.json | 8 +- .../worldgen/noise_settings/venus_noise.json | 178 +++++++++++------- .../gregtech/recipes.removes.js | 3 + .../tfg/worldgen/register_climates.js | 4 +- 14 files changed, 156 insertions(+), 110 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b43081fc6..0ec644849 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - Renamed Thorium (the non-isotope one) to Thorianite to better indicate that it's only an ore @Pyritie - Added a way to get wax and latex in the steam age for those of you starting on mars @Pyritie - Changed the Rover's step height from 1 block to 1.2 blocks (about 4 extra 'pixels') @Pyritie +- Fixed/improved behaviour of GregTech solar things on non-overworld dimensions, so rain in the overworld doesn't stop the solar array from working on the moon, and mars sandstorms affect solar things as well (#2140) @Pyritie ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie - Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 @@ -24,6 +25,8 @@ - Fixed being able to put liquid metals into the new molds that didn't have a recipe @Pyritie - Added some grain nutrition to oatmeal @Pyritie - Fixed hot-protection chestplates not fully protecting against GT hot ingots (#2598) @Pyritie +- Fixed hermetic sandstone's appearance so it looks similar to TFC's raw sandstone @Pyritie +- Fixed granite magma blocks not looking like granite @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json index 45cc1550c..ca349ad00 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json +++ b/kubejs/data/tfg/worldgen/biome/venus/arachnoids.json @@ -12,8 +12,6 @@ "fog_color": 9938052, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, @@ -25,7 +23,7 @@ "options": { "type": "minecraft:ash" }, - "probability": 0.1 + "probability": 0.05 } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json index f61d31b3a..b1bcc3911 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fractured_pools.json @@ -9,6 +9,9 @@ "tick_chance": 0.0111 }, "fog_color": 9938052, + "sky_color": 10465603, + "water_color": 8241044, + "water_fog_color": 10866612, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, @@ -16,9 +19,12 @@ "sound": "tfg:ambient.venus_surface.mood", "tick_delay": 6000 }, - "sky_color": 10465603, - "water_color": 8241044, - "water_fog_color": 10866612 + "particle": { + "options": { + "type": "minecraft:ash" + }, + "probability": 0.05 + } }, "features": [ [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json index 9f0d864f9..16633d82a 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json +++ b/kubejs/data/tfg/worldgen/biome/venus/fumaroles.json @@ -12,8 +12,6 @@ "fog_color": 10788996, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/venus/geysers.json b/kubejs/data/tfg/worldgen/biome/venus/geysers.json index c9a3f347b..869d87241 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/geysers.json +++ b/kubejs/data/tfg/worldgen/biome/venus/geysers.json @@ -12,8 +12,6 @@ "fog_color": 9938052, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, @@ -23,9 +21,9 @@ }, "particle": { "options": { - "type": "minecraft:white_ash" + "type": "minecraft:ash" }, - "probability": 0.1 + "probability": 0.07 } }, "features": [ diff --git a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json index 506ac3bd9..68cd4aab3 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json +++ b/kubejs/data/tfg/worldgen/biome/venus/jagged_tablelands.json @@ -12,8 +12,6 @@ "fog_color": 9938052, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json index be1fd8050..4eb638dd6 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json +++ b/kubejs/data/tfg/worldgen/biome/venus/salt_flats.json @@ -12,8 +12,6 @@ "fog_color": 12237498, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, @@ -90,34 +88,40 @@ "charge": 0.9 } }, - "creature_spawn_probability": 0.05, + "creature_spawn_probability": 0.07, "spawners": { "ambient": [], "axolotls": [], "creature": [ { "type": "arthropocolypse:prairie_grasshopper", - "maxCount": 2, - "minCount": 1, + "maxCount": 4, + "minCount": 2, "weight": 100 }, { "type": "arthropocolypse:field_cricket", - "maxCount": 2, - "minCount": 1, - "weight": 50 + "maxCount": 4, + "minCount": 2, + "weight": 100 }, { "type": "arthropocolypse:wharf_roach", "maxCount": 2, "minCount": 1, - "weight": 100 + "weight": 70 }, { - "type": "arthropocolypse:platerodrilus", - "maxCount": 1, - "minCount": 1, - "weight": 70 + "type": "arthropocolypse:mealworm_beetle", + "maxCount": 4, + "minCount": 2, + "weight": 30 + }, + { + "type": "arthropocolypse:stag_beetle", + "maxCount": 4, + "minCount": 2, + "weight": 40 } ], "misc": [], diff --git a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json index 8cb53c082..71655ba51 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json +++ b/kubejs/data/tfg/worldgen/biome/venus/scorching_volcanoes.json @@ -12,8 +12,6 @@ "fog_color": 5450003, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json index b2ccf6b27..54e087d94 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json +++ b/kubejs/data/tfg/worldgen/biome/venus/stromatolite_beach.json @@ -12,8 +12,6 @@ "fog_color": 10788996, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, diff --git a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json index a2f7da5ab..c9caf6c65 100644 --- a/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json +++ b/kubejs/data/tfg/worldgen/biome/venus/sulfuric_ravine.json @@ -12,8 +12,6 @@ "fog_color": 11575877, "water_color": 8241044, "water_fog_color": 10866612, - "grass_color": 13758586, - "foliage_color": 11653213, "ambient_sound": "tfg:ambient.venus_surface.loop", "mood_sound": { "block_search_extent": 8, @@ -110,7 +108,13 @@ "type": "arthropocolypse:platerodrilus", "maxCount": 3, "minCount": 1, - "weight": 40 + "weight": 20 + }, + { + "type": "arthropocolypse:prairie_grasshopper", + "maxCount": 3, + "minCount": 2, + "weight": 70 } ], "misc": [], 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 index 149759fec..ca56083f5 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json +++ b/kubejs/data/tfg/worldgen/configured_feature/venus/vein_manual/salt.json @@ -180,19 +180,19 @@ "blocks": [ { "block": "gtceu:rock_salt_indicator", - "weight": 10 + "weight": 5 }, { "block": "gtceu:rock_salt_bud_indicator", - "weight": 10 + "weight": 5 }, { "block": "gtceu:salt_indicator", - "weight": 25 + "weight": 40 }, { "block": "gtceu:salt_bud_indicator", - "weight": 25 + "weight": 40 }, { "block": "gtceu:lepidolite_indicator", diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json index 1486614e7..50fead7fc 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -240,16 +240,6 @@ }, - - - - - - - - - - "surface_rule": { "type": "minecraft:sequence", "sequence": [ @@ -2782,12 +2772,56 @@ "type": "minecraft:stone_depth", "offset": 0, "surface_type": "ceiling", - "add_surface_depth": true, + "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "minecraft:tuff" } + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.4 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.4, + "max_threshold": 0.5 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:block", + "result_state": { "Name": "minecraft:tuff" } + } + ] } }, { @@ -2912,20 +2946,6 @@ "type": "minecraft:block", "result_state": { "Name": "minecraft:tuff" } } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } } ] } @@ -3052,20 +3072,6 @@ "type": "minecraft:block", "result_state": { "Name": "minecraft:tuff" } } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } - } } ] } @@ -3075,7 +3081,7 @@ "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:powder_snow", - "min_threshold": 0.3, + "min_threshold": 0.4, "max_threshold": 0.5 }, "then_run": { @@ -3192,20 +3198,6 @@ "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } - } } ] } @@ -4245,6 +4237,64 @@ "then_run": { "type": "minecraft:sequence", "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:stone_depth", + "offset": 0, + "surface_type": "ceiling", + "add_surface_depth": false, + "secondary_depth_range": 0 + }, + "then_run": { + "type": "minecraft:sequence", + "sequence": [ + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.1, + "max_threshold": 0.2 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.2, + "max_threshold": 0.4 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/brown" } + } + }, + { + "type": "minecraft:condition", + "if_true": { + "type": "minecraft:noise_threshold", + "noise": "minecraft:powder_snow", + "min_threshold": 0.4, + "max_threshold": 0.5 + }, + "then_run": { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } + } + }, + { + "type": "minecraft:block", + "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } + } + ] + } + }, { "type": "minecraft:condition", "if_true": { @@ -4544,7 +4594,7 @@ "if_true": { "type": "minecraft:noise_threshold", "noise": "minecraft:powder_snow", - "min_threshold": 0.3, + "min_threshold": 0.4, "max_threshold": 0.5 }, "then_run": { @@ -4818,20 +4868,6 @@ "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } } - }, - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:stone_depth", - "offset": 0, - "surface_type": "ceiling", - "add_surface_depth": true, - "secondary_depth_range": 0 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } - } } ] } diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 3075b5634..71af8d64d 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -689,6 +689,9 @@ function removeGTCEURecipes(event) { removeMaceratorRecipe(event, 'macerate_wool') + removeMaceratorRecipe(event, 'macerate_enchanting_table') + event.remove({ id: 'gtceu:arc_furnace/arc_enchanting_table' }) + event.remove({ id: 'gtceu:gas_collector/nether_air' }) event.remove({ id: 'gtceu:gas_collector/ender_air' }) // TODO: uncomment with venus update diff --git a/kubejs/startup_scripts/tfg/worldgen/register_climates.js b/kubejs/startup_scripts/tfg/worldgen/register_climates.js index 4cee7a697..12e9b7a0c 100644 --- a/kubejs/startup_scripts/tfg/worldgen/register_climates.js +++ b/kubejs/startup_scripts/tfg/worldgen/register_climates.js @@ -238,16 +238,18 @@ TFCEvents.registerClimateModel(event => { return calcCurrentTemp(avgTemp, 58, pos.y, calendarTicks, 10, 670, 1); }) + // Add a little variation for these builder.setAverageTemperatureCalculation((level, pos) => { return calcAverage(pos.z, global.VENUS_PLANET_SIZE, 454, 474); }) builder.setAverageRainfallCalculation((level, pos) => { - return 300; + return calcAverage(pos.x, global.VENUS_PLANET_SIZE / 4, 250, 350); }) builder.setAirFog((level, pos, calendarTicks) => 0) builder.setWaterFog((level, pos, calendarTicks) => 0.6) + // Make up something for the wind. Apparently Venus irl is not very windy on the surface builder.setWindVector((level, block, calendarTicks) => { const strength = Math.max(0, Math.sin(calendarTicks / 10000)) * 0.2; From 532929209cea34488966065ec7f7280e5c58db9d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 17:37:39 +0000 Subject: [PATCH 584/628] change moldraw configs to show alloy ratios instead of by-mass --- config/moldraw.yaml | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/config/moldraw.yaml b/config/moldraw.yaml index 85f917542..79bfa8716 100644 --- a/config/moldraw.yaml +++ b/config/moldraw.yaml @@ -1,14 +1,29 @@ enabled: true -debugMode: false - -coloredAtoms: true - -useMaterialColors: false - onlyShowOnShift: true -defaultColor: e +color: + colors: true -scale: 20 + useMaterialColors: false + + defaultColor: e + + minimumBrightness: 0.1 + +molecule: + showMolecules: true + + moleculeScale: 20 + +alloy: + showAlloys: true + + pieChartRadius: 32 + + recursive: true + + partsByMass: false + +debugMode: false From 11ca916b454ddd85db82251cc154e8c6ab8bcdf3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 3 Jan 2026 17:53:33 +0000 Subject: [PATCH 585/628] fix red sandstone again lol --- .../minecraft/models/block/red_sandstone_slab.json | 4 +++- .../minecraft/models/block/red_sandstone_slab_top.json | 4 +++- .../minecraft/models/block/red_sandstone_stairs.json | 10 ++++++---- .../models/block/red_sandstone_stairs_inner.json | 4 +++- .../models/block/red_sandstone_stairs_outer.json | 4 +++- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_slab.json b/kubejs/assets/minecraft/models/block/red_sandstone_slab.json index 58fb2d9ab..252d98e0c 100644 --- a/kubejs/assets/minecraft/models/block/red_sandstone_slab.json +++ b/kubejs/assets/minecraft/models/block/red_sandstone_slab.json @@ -1,6 +1,8 @@ { "parent": "minecraft:block/slab", "textures": { - "all": "minecraft:block/red_sandstone_bottom" + "bottom": "minecraft:block/red_sandstone_bottom", + "side": "minecraft:block/red_sandstone_bottom", + "top": "minecraft:block/red_sandstone_bottom" } } \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json b/kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json index 67aa0c82b..dc4b5cb82 100644 --- a/kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json +++ b/kubejs/assets/minecraft/models/block/red_sandstone_slab_top.json @@ -1,6 +1,8 @@ { "parent": "minecraft:block/slab_top", "textures": { - "all": "minecraft:block/red_sandstone_bottom" + "bottom": "minecraft:block/red_sandstone_bottom", + "side": "minecraft:block/red_sandstone_bottom", + "top": "minecraft:block/red_sandstone_bottom" } } \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_stairs.json b/kubejs/assets/minecraft/models/block/red_sandstone_stairs.json index 666ff2f89..b69671478 100644 --- a/kubejs/assets/minecraft/models/block/red_sandstone_stairs.json +++ b/kubejs/assets/minecraft/models/block/red_sandstone_stairs.json @@ -1,6 +1,8 @@ { - "parent": "minecraft:block/stairs", - "textures": { - "all": "minecraft:block/red_sandstone_bottom" - } + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "minecraft:block/red_sandstone_bottom", + "side": "minecraft:block/red_sandstone_bottom", + "top": "minecraft:block/red_sandstone_bottom" + } } \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json index cda8c0757..98cd1e27c 100644 --- a/kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json +++ b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_inner.json @@ -1,6 +1,8 @@ { "parent": "minecraft:block/inner_stairs", "textures": { - "all": "minecraft:block/red_sandstone_bottom" + "bottom": "minecraft:block/red_sandstone_bottom", + "side": "minecraft:block/red_sandstone_bottom", + "top": "minecraft:block/red_sandstone_bottom" } } \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json index c6a5b7453..b4b1302d7 100644 --- a/kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json +++ b/kubejs/assets/minecraft/models/block/red_sandstone_stairs_outer.json @@ -1,6 +1,8 @@ { "parent": "minecraft:block/outer_stairs", "textures": { - "all": "minecraft:block/red_sandstone_bottom" + "bottom": "minecraft:block/red_sandstone_bottom", + "side": "minecraft:block/red_sandstone_bottom", + "top": "minecraft:block/red_sandstone_bottom" } } \ No newline at end of file From 194af1202a2afcaf6469562661699b4118b4d0fd Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Sun, 4 Jan 2026 06:00:43 +0300 Subject: [PATCH 586/628] Update ru_ru dairy (#2606) Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../ru_ru/entries/mechanics/dairy.json | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/dairy.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/dairy.json index 39876257f..6838a671c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/dairy.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/mechanics/dairy.json @@ -1,27 +1,12 @@ { - "__comment__": "This file was automatically created by mcresources", "name": "Молочные продукты", "category": "tfc:mechanics", "icon": "tfc:textures/item/food/cheese.png", "pages": [ { "type": "patchouli:text", - "text": "$(thing)Молочные продукты$() - это $(l:getting_started/food_and_water#nutrients)Питательное вещество$(), получаемое из молока, произведенного $(l:mechanics/animal_husbandry#dairy_animals)Молочными животными$(). Его можно пить или перерабатывать в $(thing)Сыр$(). Пить можно из кувшина, и это всегда восстанавливает $(l:getting_started/food_and_water#thirst)Жажду$(). Однако, это добавляет к питанию только после употребления пищи. На практике это означает, что пить молоко дважды подряд неэффективно. Перед этим должен быть прием пищи.", + "text": "$(l:firmalife/cheese)Проверь соответствующую главу в Firmalife для актуальной информации.$()", "title": "Молочные продукты" - }, - { - "type": "patchouli:text", - "text": "Чтобы начать процесс $(thing)Сыроварения$(), добавьте $(thing)Молоко$() и $(thing)Уксус$() в $(l:mechanics/barrels)Бочку$() в соотношении 9: 1. Это проще всего сделать, наполнив бочку 9 ведрами молока и добавив одно ведро уксуса. Это дает $(thing)Молочный уксус$()." - }, - { - "type": "tfc:sealed_barrel_recipe", - "recipe": "tfc:barrel/curdling", - "text": "Как только молоко и уксус смешаны, оно свернется, если его запечатать в бочке на восемь часов. Для этого не требуются дополнительные ингредиенты, кроме времени." - }, - { - "type": "tfc:sealed_barrel_recipe", - "recipe": "tfc:barrel/cheese", - "text": "Затем сыр делается путем повторного запечатывания свернувшегося молока в бочке на восемь часов. Сыр - это долговечный молочный продукт, который может быть использован в некоторых блюдах для добавления молочных продуктов, таких как $(l:mechanics/sandwiches)Бутерброды$()." } ], "read_by_default": true, @@ -29,4 +14,4 @@ "minecraft:milk_bucket": 0, "tfc:food/cheese": 1 } -} \ No newline at end of file +} From 481a3f028acde1e15cf255a4b9e79f7d109af693 Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Sun, 4 Jan 2026 11:02:43 +0800 Subject: [PATCH 587/628] Update zh_cn translation for patchouli book (#2607) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: update mis translations in zh_ch, change Location to 位置 * feat: add Screwdriver to the drums page. * fix: update zh_cn translation for Blust Furnace Insulation * fix: rename Chinese translation for --------- Co-authored-by: 闫茂源 --- .../field_guide/zh_cn/entries/mechanics/blast_furnace.json | 2 +- .../field_guide/zh_cn/entries/tfg_tips/faqs.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/blast_furnace.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/blast_furnace.json index 6bcb88bac..b1329f3d2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/blast_furnace.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/mechanics/blast_furnace.json @@ -15,7 +15,7 @@ }, { "type": "patchouli:text", - "text": "接下来就可以开始搭建高炉的$(thing)烟囱$()了。烟囱必须用足以承受炼钢高温的$(l:mechanics/fire_clay#fire_bricks)强化耐火砖$()搭建。强化砖可通过手持铸铁板或锻铁板,对耐火砖块用$(item)$(k:key.sneak)$()+$(item)$(k:key.use)$()点击各个外露面进行包覆,或直接合成$(l:mechanics/blast_furnace_insulation)高炉保温板$()。" + "text": "接下来就可以开始搭建高炉的$(thing)烟囱$()了。烟囱必须用足以承受炼钢高温的$(l:mechanics/fire_clay#fire_bricks)强化耐火砖$()搭建。强化砖可通过手持铸铁板或锻铁板,对耐火砖块用$(item)$(k:key.sneak)$()+$(item)$(k:key.use)$()点击各个外露面进行包覆,或直接合成$(l:mechanics/blast_furnace_insulation)高炉隔热板$()。" }, { "type": "patchouli:multiblock", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json index 5cdd2e8af..d2d7879f7 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json @@ -12,7 +12,7 @@ }, { "type": "patchouli:text", - "text": "$(li)$(l:tfg_tips/faqs#boats)我的船为什么会沉?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作酵母起子?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作菠萝纤维?$()$(li)$(l:tfg_tips/faqs#jam)如何制作果酱?$()$(li)$(l:tfg_tips/faqs#resin)如何制作橡胶?$()$(li)$(l:tfg_tips/faqs#chunks)如何强制加载区块或提升加载上限?$()" + "text": "$(li)$(l:tfg_tips/faqs#boats)我的船为什么会沉?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作酵种?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作菠萝纤维?$()$(li)$(l:tfg_tips/faqs#jam)如何制作果酱?$()$(li)$(l:tfg_tips/faqs#resin)如何制作橡胶?$()$(li)$(l:tfg_tips/faqs#chunks)如何强制加载区块或提升加载上限?$()" }, { "type": "patchouli:text", @@ -22,7 +22,7 @@ { "type": "patchouli:text", "anchor": "dried_fruit", - "text": "$(italic)如何制作酵母起子或菠萝纤维?$()$(br2)请先使用$(item)干燥垫$()将水果晒干,随后按照$(l:firmalife/bread)面包$()或$(l:firmalife/berry_bushes)菠萝布$()章节的步骤操作。" + "text": "$(italic)如何制作酵种或菠萝纤维?$()$(br2)请先使用$(item)干燥垫$()将水果晒干,随后按照$(l:firmalife/bread)面包$()或$(l:firmalife/berry_bushes)菠萝布$()章节的步骤操作。" }, { "type": "patchouli:text", From b1cb85219019426d1d569b05596d28456f54a415 Mon Sep 17 00:00:00 2001 From: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> Date: Sun, 4 Jan 2026 09:25:56 -0300 Subject: [PATCH 588/628] Tooltip correction (#2609) * Change small gear mold capacity from 288 to 144 This will fix the issue #2543, were small gears used double the intended value. Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> * Update fluid storage capacity tooltips for items Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --------- Signed-off-by: Jean Roberto de Souza <81846511+JeanRdSz@users.noreply.github.com> --- kubejs/client_scripts/tooltips.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 352a1b847..2a72f591c 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -293,10 +293,10 @@ const registerTooltips = (event) => { event.addAdvanced(['tfc:wooden_bucket', 'firmalife:mixing_bowl'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "1,000")) }) - event.addAdvanced(['waterflasks:leather_flask'], (item, advanced, text) => { + event.addAdvanced(['waterflasks:leather_flask','tfc:silica_glass_bottle'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "500")) }) - event.addAdvanced(['tfc:hematitic_glass_bottle', 'tfc:silica_glass_bottle', 'tfc:volcanic_glass_bottle', 'tfc:olivine_glass_bottle'], (item, advanced, text) => { + event.addAdvanced(['tfc:hematitic_glass_bottle', 'tfc:volcanic_glass_bottle', 'tfc:olivine_glass_bottle'], (item, advanced, text) => { text.add(1, Text.translate("gtceu.universal.tooltip.fluid_storage_capacity", "400")) }) event.addAdvanced(['#tfc:lamps'], (item, advanced, text) => { From 2d74532f534cc94ec856a7ebe96190d69b5ca86f Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Sun, 4 Jan 2026 05:27:59 -0700 Subject: [PATCH 589/628] Update recipes.js (#2610) Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/railways/recipes.js | 73 ++++++++++++++++++----- 1 file changed, 59 insertions(+), 14 deletions(-) diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js index 4efb3f49b..866d4be89 100644 --- a/kubejs/server_scripts/railways/recipes.js +++ b/kubejs/server_scripts/railways/recipes.js @@ -67,6 +67,14 @@ const registerRailWaysRecipes = (event) => { .EUt(28) .addMaterialInfo(true) + event.recipes.gtceu.assembler(`tfg:railways/wooden_headstock_screwlink_coupler`) + .itemInputs(`railways:screwlink_coupler`, `#minecraft:wooden_slabs`) + .circuit(1) + .itemOutputs(`railways:wooden_headstock_screwlink_coupler`) + .duration(200) + .EUt(28) + .addMaterialInfo(true) + event.recipes.gtceu.assembler(`tfg:railways/buffer`) .itemInputs(`6x #forge:rods/long/steel`, `2x railways:small_buffer`) .circuit(1) @@ -133,6 +141,43 @@ const registerRailWaysRecipes = (event) => { //#endregion + //portable fuel interface + event.shaped('railways:portable_fuel_interface', [ + 'C ', + 'BAD', + ], { + A: 'create:portable_fluid_interface', + B: 'create:railway_casing', + C: '#forge:tools/wrenches', + D: 'create_factory_logistics:fluid_mechanism', + }).id('tfg:railways/shaped/portable_fuel_interface') + + event.recipes.gtceu.assembler('tfg:railways/portable_fuel_interface') + .itemInputs('create:portable_fluid_interface', 'create:railway_casing', 'create_factory_logistics:fluid_mechanism') + .circuit(1) + .itemOutputs('railways:portable_fuel_interface') + .duration(200) + .EUt(28) + + //fuel tank + event.shaped('railways:fuel_tank', [ + 'CE ', + 'BAD', + ], { + A: 'create:fluid_tank', + B: 'create:railway_casing', + C: '#forge:tools/screwdrivers', + D: 'create:electron_tube', + E: 'firmalife:reinforced_glass', + }).id('tfg:railways/shaped/fuel_tank') + + event.recipes.gtceu.assembler('tfg:railways/fuel_tank') + .itemInputs ('create:fluid_tank', 'create:railway_casing', 'create:electron_tube', 'firmalife:reinforced_glass') + .circuit(1) + .itemOutputs('railways:fuel_tank') + .duration(200) + .EUt(28) + // Переключатель пути поезда из андезита event.shaped('railways:track_switch_andesite', [ 'BAB', @@ -216,13 +261,13 @@ const registerRailWaysRecipes = (event) => { 'DA ' ], { A: '#forge:storage_blocks/charcoal', - B: '#forge:bolts/black_steel', - C: '#forge:plates/black_steel', + B: '#forge:bolts/iron', + C: '#forge:plates/iron', D: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_caboosestyle') event.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle') - .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:bolts/black_steel', '#forge:plates/black_steel') + .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:bolts/iron', '#forge:plates/iron') .circuit(4) .itemOutputs('railways:smokestack_caboosestyle') .duration(200) @@ -234,12 +279,12 @@ const registerRailWaysRecipes = (event) => { 'BAB' ], { A: '#forge:storage_blocks/charcoal', - B: '#forge:bolts/black_steel', + B: '#forge:bolts/iron', C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_long') event.recipes.gtceu.assembler('tfg:railways/smokestack_long') - .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:bolts/black_steel') + .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:bolts/iron') .circuit(5) .itemOutputs('railways:smokestack_long') .duration(200) @@ -252,12 +297,12 @@ const registerRailWaysRecipes = (event) => { 'BAB' ], { A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', + B: '#forge:plates/iron', C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_coalburner') event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner') - .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') + .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/iron') .circuit(6) .itemOutputs('railways:smokestack_coalburner') .duration(200) @@ -269,12 +314,12 @@ const registerRailWaysRecipes = (event) => { 'BAB' ], { A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', + B: '#forge:plates/iron', C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_oilburner') event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') - .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') + .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/iron') .circuit(7) .itemOutputs('railways:smokestack_oilburner') .duration(200) @@ -286,12 +331,12 @@ const registerRailWaysRecipes = (event) => { 'BAB' ], { A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', + B: '#forge:plates/iron', C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_streamlined') event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined') - .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/black_steel') + .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/iron') .circuit(8) .itemOutputs('railways:smokestack_streamlined') .duration(200) @@ -304,13 +349,13 @@ const registerRailWaysRecipes = (event) => { 'BAB' ], { A: '#forge:storage_blocks/charcoal', - B: '#forge:plates/black_steel', - C: '#forge:bolts/black_steel', + B: '#forge:plates/iron', + C: '#forge:bolts/iron', D: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_woodburner') event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner') - .itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/black_steel', '2x #forge:bolts/black_steel') + .itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/iron', '2x #forge:bolts/iron') .circuit(9) .itemOutputs('railways:smokestack_woodburner') .duration(200) From bbc4730c6c74ed2f5360818ebc798e65889ae45e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 4 Jan 2026 12:39:36 +0000 Subject: [PATCH 590/628] fix #2612 --- CHANGELOG.md | 7 ++++++- kubejs/server_scripts/firmalife/recipes.js | 18 ------------------ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ec644849..d7201c1bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Added a way to get wax and latex in the steam age for those of you starting on mars @Pyritie - Changed the Rover's step height from 1 block to 1.2 blocks (about 4 extra 'pixels') @Pyritie - Fixed/improved behaviour of GregTech solar things on non-overworld dimensions, so rain in the overworld doesn't stop the solar array from working on the moon, and mars sandstorms affect solar things as well (#2140) @Pyritie +- Added missing recipes for some Steam 'n' Rails items, and changed the smokestacks to use cast iron instead of black steel (#2610) @thederpysockdude123 ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie - Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 @@ -26,7 +27,11 @@ - Added some grain nutrition to oatmeal @Pyritie - Fixed hot-protection chestplates not fully protecting against GT hot ingots (#2598) @Pyritie - Fixed hermetic sandstone's appearance so it looks similar to TFC's raw sandstone @Pyritie -- Fixed granite magma blocks not looking like granite @Pyritie +- Fixed some issues with the food autostacking changes in a previous version (#2580) @Mqrius +- Fixed a crash with meal ingredient stacking on servers @Mqrius +- Fixed some translation inconsistencies in the field guide (#2606, #2607) @jmecn @Petr211071 +- Fixed incorrect fluid tooltips for the silica glass bottle and iron flask (#2608) @JeanRdSz @Pyritie +- Removed some dough mixing bowl recipes that tried to output more than 5 ingredients because that's the mixing bowl's maximum (#2612) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 8d0592e21..5e194056a 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -686,30 +686,12 @@ const registerFirmaLifeRecipes = (event) => { .outputItem(`4x firmalife:food/${grain}_dough`) .id(`tfg:mixing_bowl/${grain}_dough`) - event.recipes.firmalife.mixing_bowl() - .ingredients([ - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - `#tfc:sweetener`, - `#tfc:sweetener`], - Fluid.of('firmalife:yeast_starter', 400)) - .outputItem(`8x firmalife:food/${grain}_dough`) - .id(`tfg:mixing_bowl/${grain}_dough_2`) - event.recipes.firmalife.mixing_bowl() .ingredients([ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`)], Fluid.of('minecraft:water', 100)) .outputItem(`4x tfc:food/${grain}_dough`) .id(`tfg:mixing_bowl/${grain}_flatbread_dough`) - - event.recipes.firmalife.mixing_bowl() - .ingredients([ - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`)], - Fluid.of('minecraft:water', 200)) - .outputItem(`8x tfc:food/${grain}_dough`) - .id(`tfg:mixing_bowl/${grain}_flatbread_dough_2`) }) event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`2x firmalife:food/hardtack_dough`).copyFood(), [ From be0e8c0510f76543fdc7df7ccc5e88a279d559b0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 4 Jan 2026 13:03:05 +0000 Subject: [PATCH 591/628] fix #2603 --- CHANGELOG.md | 3 ++- kubejs/server_scripts/tfc/data.js | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7201c1bb..4dd91a947 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,7 +24,7 @@ - Fixed not being able to use pickled eggs in sandwiches (#2551) @Pyritie - Fixed how much aluminium silicate you get from mica, pollucite, and spodumene to more accurately reflect how much aluminium they have @Pyritie - Fixed being able to put liquid metals into the new molds that didn't have a recipe @Pyritie -- Added some grain nutrition to oatmeal @Pyritie +- Added some grain nutrition to oatmeal (#2469) @Pyritie - Fixed hot-protection chestplates not fully protecting against GT hot ingots (#2598) @Pyritie - Fixed hermetic sandstone's appearance so it looks similar to TFC's raw sandstone @Pyritie - Fixed some issues with the food autostacking changes in a previous version (#2580) @Mqrius @@ -32,6 +32,7 @@ - Fixed some translation inconsistencies in the field guide (#2606, #2607) @jmecn @Petr211071 - Fixed incorrect fluid tooltips for the silica glass bottle and iron flask (#2608) @JeanRdSz @Pyritie - Removed some dough mixing bowl recipes that tried to output more than 5 ingredients because that's the mixing bowl's maximum (#2612) @Pyritie +- Fixed missing heat definition for soybeans (#2603) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 5e5386db3..7fe74b566 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -25,6 +25,9 @@ const registerTFCHeats = (event) => { // Baked Potato event.itemHeat('tfc:food/baked_potato', 1.0, null, null) + + // Soybean + event.itemHeat('tfc:food/soybean', 1.0, null, null) } From 21f9074a0047663c7e1a2de08ce2d2521becfdc6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 4 Jan 2026 14:45:07 +0000 Subject: [PATCH 592/628] fixed bacon deleting all the food traits on crafting --- CHANGELOG.md | 1 + kubejs/server_scripts/firmalife/recipes.js | 25 ++++++++++++------- .../server_scripts/tfg/food/recipes.food.js | 9 +++++-- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dd91a947..97a69ae52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - Fixed incorrect fluid tooltips for the silica glass bottle and iron flask (#2608) @JeanRdSz @Pyritie - Removed some dough mixing bowl recipes that tried to output more than 5 ingredients because that's the mixing bowl's maximum (#2612) @Pyritie - Fixed missing heat definition for soybeans (#2603) @Pyritie +- Fixed crafting bacon removing all the other food traits @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 5e194056a..868eb0a84 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -1000,24 +1000,31 @@ const registerFirmaLifeRecipes = (event) => { // #endregion - // #region How do I make yeast starter??? - - event.recipes.kubejs.shapeless(Item.of('4x firmalife:food/bacon').withName(Text.translate('tfg.emi.bacon_requirement')), [ - 'tfc:food/pork', - '#forge:tools/knives', - 'tfc:powder/salt' - ]) + // Adds a tooltip to the bacon craft to tell people it needs to be smoked first, + // and adds traits that normally disappear on the craft + + event.recipes.tfc.advanced_shapeless_crafting( + TFC.isp.of(Item.of('4x firmalife:food/bacon') + .withName(Text.translate('tfg.emi.bacon_requirement'))) + .addTrait("firmalife:smoked") + .addTrait("tfc:brined") + .addTrait("tfc:salted"), + [ + TFC.ingredient.notRotten(TFC.ingredient.hasTrait('tfc:food/pork', "firmalife:smoked")), + '#forge:tools/knives', + 'tfc:powder/salt' + ]) .modifyResult((craftingGrid, result) => { result.resetHoverName(); return result; }) .id('firmalife:crafting/bacon') + // Replacement for yeast starter recipe that uses a different, more descriptive tag + event.recipes.tfc.barrel_sealed(72000) .inputFluid(Fluid.of('minecraft:water', 100)) .inputItem(TFC.ingredient.hasTrait(Ingredient.of('#tfg:dried_fruit'), "firmalife:dried")) .outputFluid(Fluid.of('firmalife:yeast_starter', 100)) .id('firmalife:barrel/yeast_starter') - - // #endregion } diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index d475724d6..17feb698f 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -841,7 +841,7 @@ function registerTFGFoodRecipes(event) { global.processorRecipe(event, "yeast_starter_from_water", 7200, 8, { circuit: 10, itemInputs: ['#tfc:foods/fruits'], - fluidInputs: ['#tfg:clean_water 100'], + fluidInputs: ['#tfg:clean_water 100', 'gtceu:nitrogen 100'], fluidOutputs: [Fluid.of('firmalife:yeast_starter', 100)] }) @@ -926,7 +926,12 @@ function registerTFGFoodRecipes(event) { circuit: 1, itemInputs: ['tfc:food/pork', 'tfc:powder/salt'], itemOutputs: ['4x firmalife:food/bacon'], - itemOutputProvider: TFC.isp.of('4x firmalife:food/bacon').copyFood() + fluidInputs: ['gtceu:wood_gas 5', 'tfc:brine 100'], + itemOutputProvider: TFC.isp.of('4x firmalife:food/bacon') + .addTrait("firmalife:smoked") + .addTrait("tfc:brined") + .addTrait("tfc:salted") + .copyFood() }) global.processorRecipe(event, "pickled_egg", 1000, 8, { From 53f8443fc00e26dd4a5531cff785e6a1b98f6dd4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 4 Jan 2026 14:46:15 +0000 Subject: [PATCH 593/628] bumped animal spawns on the moon --- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json | 2 +- kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) 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 8919549db..a8e0f54b3 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_dense.json @@ -56,7 +56,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00003, + "creature_spawn_probability": 0.0003, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, 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 07556e9eb..2895ad9b1 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_asurine_sparse.json @@ -60,7 +60,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00006, + "creature_spawn_probability": 0.0006, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, 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 6e49e9199..53dd80166 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_dense.json @@ -55,7 +55,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00003, + "creature_spawn_probability": 0.0003, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, 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 ec5c4798e..dc0984985 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_chorus_sparse.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00006, + "creature_spawn_probability": 0.0006, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, 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 53ec3278d..a313d8db6 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_dense.json @@ -54,7 +54,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00003, + "creature_spawn_probability": 0.0003, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, 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 53742f3dd..3897eeeb7 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_corals_sparse.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00006, + "creature_spawn_probability": 0.0006, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, 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 0afe8b1ab..3ece7dd46 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_dense.json @@ -55,7 +55,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00003, + "creature_spawn_probability": 0.0003, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, 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 b37ef7ce8..82b5a6914 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_lights_sparse.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.00006, + "creature_spawn_probability": 0.0006, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json index 6a7a803fb..031090ba2 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_plains.json @@ -58,7 +58,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0001, + "creature_spawn_probability": 0.001, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, diff --git a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json index f5146e1dc..2839d273a 100644 --- a/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json +++ b/kubejs/data/tfg/worldgen/biome/moon/lunar_sands.json @@ -67,7 +67,7 @@ ] ], "has_precipitation": false, - "creature_spawn_probability": 0.0001, + "creature_spawn_probability": 0.001, "spawn_costs": { "species:limpet": { "energy_budget": 0.15, From 451441f4ca61c76cef4275e335aed99706526523 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 4 Jan 2026 14:54:31 +0000 Subject: [PATCH 594/628] langs --- kubejs/assets/arthropocolypse/lang/zh_cn.json | 45 +++++++++++++++++++ kubejs/assets/betterend/lang/zh_cn.json | 3 +- .../assets/endermanoverhaul/lang/zh_cn.json | 8 +++- kubejs/assets/gtceu/lang/zh_cn.json | 1 + kubejs/assets/minecraft/lang/zh_cn.json | 12 ++--- kubejs/assets/tfc/lang/zh_cn.json | 1 + kubejs/assets/tfg/lang/en_us.json | 4 +- kubejs/assets/tfg/lang/zh_cn.json | 11 ++++- 8 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 kubejs/assets/arthropocolypse/lang/zh_cn.json diff --git a/kubejs/assets/arthropocolypse/lang/zh_cn.json b/kubejs/assets/arthropocolypse/lang/zh_cn.json new file mode 100644 index 000000000..d5aa88677 --- /dev/null +++ b/kubejs/assets/arthropocolypse/lang/zh_cn.json @@ -0,0 +1,45 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.arthropocolypse.scarab": "巨兽蒙古拉蛛幼虫", + "entity.arthropocolypse.prairie_grasshopper": "巨翅辛布跳虫", + "entity.arthropocolypse.field_cricket": "盐地格利沙蟀", + "entity.arthropocolypse.ice_crawler": "黑曜古畏甲虫", + "entity.arthropocolypse.behemoth_desert_spider": "巨兽蒙古拉蛛后", + "entity.arthropocolypse.behemoth_desert_scorpion": "皇家利阿索蝎", + "entity.arthropocolypse.worker_ant": "工蚁", + "entity.arthropocolypse.soldier_ant": "兵蚁", + "entity.arthropocolypse.stag_beetle": "角额原颚甲虫", + "entity.arthropocolypse.stag_beetle_larva": "角额原颚甲虫幼虫", + "entity.arthropocolypse.wharf_roach": "阿罗斯特罗普西斯象甲", + "entity.arthropocolypse.platerodrilus": "板盾甲虫", + "entity.arthropocolypse.mealworm_beetle": "玛诺跳甲虫", + "entity.arthropocolypse.mealworm": "玛诺跳甲虫幼虫", + "entity.arthropocolypse.millipede_head": "刺袭颚唇马陆", + "item.arthropocolypse.scarab": "巨兽蒙古拉蛛幼虫", + "item.arthropocolypse.field_cricket_egg": "盐地格利沙蟀卵", + "item.arthropocolypse.stag_beetle_egg": "角额原颚甲虫卵", + "item.arthropocolypse.stag_beetle_larva": "角额原颚甲虫幼虫", + "item.arthropocolypse.mealworm_egg": "玛诺跳甲虫卵", + "item.arthropocolypse.mealworm": "玛诺跳甲虫幼虫", + "item.arthropocolypse.ice_crawler_meat": "生黑曜古畏甲虫肉", + "item.arthropocolypse.cooked_ice_crawler_meat": "熟黑曜古畏甲虫肉", + "item.arthropocolypse.energy_bar": "昆虫零食", + "item.arthropocolypse.beetle_fragment": "几丁质碎片", + "item.arthropocolypse.beetle_fragment_block": "几丁质方块", + "item.arthropocolypse.beetle_fragment_block_bricks": "几丁质砖", + "item.arthropocolypse.chiseled_beetle_fragment_block": "雕纹几丁质方块", + "item.arthropocolypse.polished_beetle_fragment_block": "磨制几丁质方块", + "item.arthropocolypse.tiled_beetle_fragment_block": "瓦片几丁质方块", + "item.arthropocolypse.beetle_fragment_block_stairs": "几丁质方块楼梯", + "item.arthropocolypse.beetle_fragment_block_bricks_stairs": "几丁质砖楼梯", + "item.arthropocolypse.polished_beetle_fragment_block_stairs": "磨制几丁质楼梯", + "item.arthropocolypse.tiled_beetle_fragment_block_stairs": "瓦片几丁质楼梯", + "item.arthropocolypse.beetle_fragment_block_slab": "几丁质方块台阶", + "item.arthropocolypse.beetle_fragment_block_bricks_slab": "几丁质砖台阶", + "item.arthropocolypse.polished_beetle_fragment_block_slab": "磨制几丁质台阶", + "item.arthropocolypse.tiled_beetle_fragment_block_slab": "瓦片几丁质台阶", + "item.arthropocolypse.beetle_fragment_block_wall": "几丁质方块墙", + "item.arthropocolypse.beetle_fragment_block_bricks_wall": "几丁质砖墙", + "item.arthropocolypse.polished_beetle_fragment_block_wall": "磨制几丁质墙", + "item.arthropocolypse.tiled_beetle_fragment_block_wall": "瓦片几丁质墙" +} \ No newline at end of file diff --git a/kubejs/assets/betterend/lang/zh_cn.json b/kubejs/assets/betterend/lang/zh_cn.json index 156ab295a..40f9cd8f7 100644 --- a/kubejs/assets/betterend/lang/zh_cn.json +++ b/kubejs/assets/betterend/lang/zh_cn.json @@ -87,6 +87,7 @@ "block.betterend.shadow_berry": "夜影浆果", "block.betterend.shadow_berry_wild": "野生夜影浆果", "block.betterend.shadow_berry_dead": "枯萎的夜影浆果", + "block.betterend.shadow_plant": "焦黑的灰草", "block.betterend.small_amaranita_mushroom": " 赤星青茎菇", "block.betterend.sulphur_crystal": "硫磺晶体", "block.betterend.sulphuric_rock": "天然熔灰岩", @@ -98,7 +99,7 @@ "block.betterend.twisted_moss": "缠结苔", "block.betterend.twisted_umbrella_moss": "缠结伞苔", "block.betterend.twisted_umbrella_moss_tall": "高缠结伞苔", - "block.betterend.twisted_vine": "缠结藤", + "block.betterend.twisted_vine": "碳酸藤", "block.betterend.umbrella_moss": "伞苔", "block.betterend.umbrella_moss_tall": "高伞苔", "block.betterend.vaiolush_fern": "幽蓝蕨", diff --git a/kubejs/assets/endermanoverhaul/lang/zh_cn.json b/kubejs/assets/endermanoverhaul/lang/zh_cn.json index 3f918e189..4a6887698 100644 --- a/kubejs/assets/endermanoverhaul/lang/zh_cn.json +++ b/kubejs/assets/endermanoverhaul/lang/zh_cn.json @@ -1,6 +1,6 @@ { "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.endermanoverhaul.nether_wastes_enderman": "洞穴末影人", + "entity.endermanoverhaul.nether_wastes_enderman": "狂躁末影人", "entity.endermanoverhaul.dark_oak_enderman": "灰烬末影人", "entity.endermanoverhaul.mushroom_fields_enderman": "蘑菇末影人", "entity.endermanoverhaul.swamp_enderman": "覆苔末影人", @@ -10,7 +10,9 @@ "entity.endermanoverhaul.end_enderman": "男中音合唱末影人", "entity.endermanoverhaul.end_islands_enderman": "女高音合唱末影人", "entity.endermanoverhaul.spirit": "彗星", - "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "洞穴末影人刷怪蛋", + "entity.endermanoverhaul.desert_enderman": "迷失末影人", + "entity.endermanoverhaul.savanna_enderman": "沙地末影人", + "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "狂躁末影人刷怪蛋", "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "灰烬末影人刷怪蛋", "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "蘑菇末影人刷怪蛋", "item.endermanoverhaul.swamp_enderman_spawn_egg": "覆苔末影人刷怪蛋", @@ -20,6 +22,8 @@ "item.endermanoverhaul.end_enderman_spawn_egg": "男中音合唱末影人刷怪蛋", "item.endermanoverhaul.end_islands_enderman_spawn_egg": "女高音合唱末影人刷怪蛋", "item.endermanoverhaul.spirit_spawn_egg": "彗星刷怪蛋", + "item.endermanoverhaul.desert_enderman_spawn_egg": "迷失末影人刷怪蛋", + "item.endermanoverhaul.savanna_enderman_spawn_egg": "沙地末影人刷怪蛋", "subtitles.endermanoverhaul.entity.cave_enderman.ambient": "洞穴末影人:低鸣", "subtitles.endermanoverhaul.entity.cave_enderman.hurt": "洞穴末影人:受伤", "subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "灰烬末影人:低鸣", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 1d34bb02b..766ed6a5a 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -147,6 +147,7 @@ "material.tfg.calorite": "耐热金属", "material.tfg.etrium": "埃忒恩", "material.gtceu.tarkianite": "塔基安矿", + "material.gtceu.thorium": "方钍石", "material.gtceu.aluminium_silicate": "硅酸铝", "material.gtceu.rocket_alloy_t1": "R型铝钢火箭合金", "material.gtceu.rocket_alloy_t2": "ASM 4914 钛合金火箭合金", diff --git a/kubejs/assets/minecraft/lang/zh_cn.json b/kubejs/assets/minecraft/lang/zh_cn.json index 89cffd042..7657ccf5f 100644 --- a/kubejs/assets/minecraft/lang/zh_cn.json +++ b/kubejs/assets/minecraft/lang/zh_cn.json @@ -79,10 +79,10 @@ "block.minecraft.weeping_vines_plant": "绯红藤蔓植株", "block.minecraft.weeping_vines": "绯红藤蔓", "block.minecraft.red_sand": "赤铁矿砂", - "block.minecraft.red_sandstone": "赤铁矿砂岩", - "block.minecraft.red_sandstone_stairs": "赤铁矿砂岩楼梯", - "block.minecraft.red_sandstone_slab": "赤铁矿砂岩台阶", - "block.minecraft.red_sandstone_wall": "赤铁矿砂岩墙", + "block.minecraft.red_sandstone": "天然赤铁矿砂岩", + "block.minecraft.red_sandstone_stairs": "天然赤铁矿砂岩楼梯", + "block.minecraft.red_sandstone_slab": "天然赤铁矿砂岩台阶", + "block.minecraft.red_sandstone_wall": "天然赤铁矿砂岩墙", "block.minecraft.chiseled_red_sandstone": "雕纹赤铁矿砂岩", "block.minecraft.smooth_red_sandstone": "平滑赤铁矿砂岩", "block.minecraft.smooth_red_sandstone_stairs": "平滑赤铁矿砂岩楼梯", @@ -99,5 +99,7 @@ "item.minecraft.glow_ink_sac": "荧光染料", "item.minecraft.nether_brick": "角斑岩砖", "item.minecraft.furnace_minecart": "动力矿车", - "material.tfg.dripstone": "石灰华" + "material.tfg.dripstone": "石灰华", + "death.attack.magic": "%1$s 被毒死了", + "death.attack.magic.player": "%1$s在试图逃离%2$s时被毒死了" } \ No newline at end of file diff --git a/kubejs/assets/tfc/lang/zh_cn.json b/kubejs/assets/tfc/lang/zh_cn.json index 1e58a1ac0..52fd0339f 100644 --- a/kubejs/assets/tfc/lang/zh_cn.json +++ b/kubejs/assets/tfc/lang/zh_cn.json @@ -27,6 +27,7 @@ "tfc.recipe.barrel.tfg.barrel.gouda_wheel": "荷兰高德奶酪轮", "tfc.recipe.barrel.tfg.barrel.feta_wheel": "希腊菲达奶酪轮", "tfc.recipe.barrel.tfg.barrel.shosha_wheel": "喜马拉雅奶酪轮", + "tfc.jei.goat_horn_knapping": "几丁质加工配方", "tfc.field_guide.book_landing_text": "旅行者,欢迎你!本书将是你探索$(bold)TFG$()整合包中群峦传说世界时,一切所需知识的源泉。$(br)你随时可以通过物品栏右侧的图标访问本书。$(br)你可以在$(bold)$(l:https://terrafirmagreg-team.github.io/Field-Guide-Modern/zh_cn/)此处$()找到本指南的在线版本。$(br)点击$(italic)条目索引$()并开始输入以$(bold)搜索$()。", "trim_material.tfc.almandine_tfc": "铁铝榴石", "trim_material.tfc.andradite_tfc": "钙铁榴石", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 5a77f630b..ba58a26fd 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -2143,8 +2143,8 @@ "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.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\nWhile exploring, you might come across &6Martian Ruins&r containing &eAtomic Casings&r and &eHigh Temperature Smelting Casings&r. These won’t replace the massive number you’ll need later, but they can give you a small head start while scouting for the perfect base location.&r", - "quests.extreme_voltage.important_info.desc.2": "When it comes to your Martian infrastructure, there are two main approaches:&r\n\n• &aPreparation-focused&r: Build everything required for your full &6Fission Line&r before establishing your base. This means an enormous material investment, but allows you to be self-sufficient once operational.\n\n• &aProgressive setup&r: Start smaller with your &6Nuclear Fuel Factory&r, your first &6Fission Reactor&r (running on &eThorium&r), and a &6Nuclear Turbine&r. This route is faster to start, but managing energy will be rough until your fission system stabilizes.\n\nEither way, we always recommend having an exploration mission before you start settling down!", + "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!", + "quests.extreme_voltage.important_info.desc.2": "When it comes to your Martian infrastructure, there are two main approaches:&r\n\n• &aPreparation-focused&r: Build everything required for your full &6Fission Line&r before establishing your base. This means an enormous material investment, but allows you to be self-sufficient once operational.\n\n• &aProgressive setup&r: Start smaller with your &6Nuclear Fuel Factory&r, your first &6Fission Reactor&r (running on &eThorium&r), and a &6Nuclear Turbine&r. This route is faster to start, but managing energy will be rough until your fission system stabilizes.", "quests.extreme_voltage.important_info.desc.3": "Because every kind of combustion-based energy won't work on Mars, you’ll want to bring a good stock of &bLapotron Crystals&r to power your first recipes and oxygen systems.\n\nWe also strongly recommend setting up a &6Distillation Tower&r. &eMartian Air&r can be processed into breathable &bAir&r and several other useful gases. Alternatively, everything for Compressed Nitrox can come from the local Semiheavy Ammoniacal Water.\n\nSurvival on Mars isn’t about luck, it’s about preparation!", "quests.extreme_voltage.important_info.task": "It's Marsing Time", "quests.extreme_voltage.dense_lead.title": "Faster Dense Lead Plates", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 0312731b2..3a82f8734 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -43,7 +43,7 @@ "biome.tfg.venus/salt_flats": "盐滩", "biome.tfg.venus/stromatolite_beach": "叠层石滩", "biome.tfg.venus/sulfuric_ravine": "硫酸峡谷", - "biome.tfg.venus/scorching_volcanoes": "灼热火山", + "biome.tfg.venus/scorching_volcanoes": "炽热火山", "block.tfg.piglin_disguise": "猪灵伪装", "block.tfg.piglin_disguise_block": "猪灵伪装", "block.tfg.dry_ice": "干冰", @@ -459,11 +459,15 @@ "block.tfg.stromatolite_cluster_medium": "大型叠层石簇", "block.tfg.rock.raw.geyserite": "天然硅华", "block.tfg.rock.spike.geyserite": "硅华尖刺", + "block.tfg.geyser_source_small": "小型蒸汽间歇泉", + "block.tfg.geyser_source": "蒸汽间歇泉", + "block.tfg.smoker_source": "熔岩烟道", + "block.tfg.lava_source": "熔岩喷口", "block.tfg.rock.halite": "岩晶", "block.tfg.mushroom_roots": "菌丝根须", "block.tfg.mushroom_sprouts": "菌丝嫩芽", "block.tfg.charred_log": "焦化原木", - "block.tfg.ash_pile": "灰烬堆", + "block.tfg.ash_pile": "草木灰堆", "block.tfg.pile.white_sand": "白沙", "block.tfg.pile.black_sand": "黑沙", "block.tfg.pile.brown_sand": "棕沙", @@ -478,6 +482,7 @@ "block.tfg.pile.venus_sand_covering": "粗面岩沙", "block.tfg.pile.hematitic_sand": "赤铁矿沙", "block.tfg.pile.hematitic_sand_covering": "赤铁矿沙", + "block.tfg.pile.volcanic_ash": "火山灰堆", "block.tfg.lunar_roots": "月球光绽花", "block.tfg.lunar_sprouts": "月球光颖草", "block.tfg.lunar_chorus_plant": "紫颂植株", @@ -1729,6 +1734,8 @@ "tfg.gui.consumes": "消耗:", "tfg.gui.per_cycle": "每周期", "tfg.gui.cycle_duration": "周期时长:", + "tfg.emi.bacon_requirement": "培根 - 必须先对生猪肉进行烟熏处理", + "tag.item.tfg.dried_fruit": "干果", "tfc.jei.flint_knapping": "打制石器", "tfc.jei.straw_knapping": "编制干草", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "染色", From 37b6c42940133f87032a8246ddd55dd82f10813d Mon Sep 17 00:00:00 2001 From: Xtrial-01 Date: Sun, 4 Jan 2026 20:12:47 +0100 Subject: [PATCH 595/628] Remove leftover gt reconstituted stone recipes | Add recipes for new Create:Hypertubes items (#2615) * Reconstituted Stone recipe descrepancies removal * create: hypertubes redstone detector and tube scanner attachements recipes * nvm kjs/damage/kjs/stone stays --- .../create_hypertube/recipes.js | 28 +++++++++++++++ .../gregtech/recipes.removes.js | 36 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/kubejs/server_scripts/create_hypertube/recipes.js b/kubejs/server_scripts/create_hypertube/recipes.js index 39b640b69..b2a5179cf 100644 --- a/kubejs/server_scripts/create_hypertube/recipes.js +++ b/kubejs/server_scripts/create_hypertube/recipes.js @@ -39,4 +39,32 @@ function registerCreateHypertubeRecipes(event) { .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 144)) .EUt(GTValues.VA[GTValues.HV]) .duration(100) + + event.recipes.gtceu.assembler('create_hypertube:redstone_detector_tube_attachment') + .itemInputs('#forge:plates/stainless_steel', 'gtceu:activity_detector_cover', 'ae2:charged_certus_quartz_crystal') + .itemOutputs('create_hypertube:redstone_detector_tube_attachment') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 288)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(100) + + event.recipes.gtceu.assembler('create_hypertube:redstone_detector_tube_attachment_sbr') + .itemInputs('#forge:plates/stainless_steel', 'gtceu:activity_detector_cover', 'ae2:charged_certus_quartz_crystal') + .itemOutputs('create_hypertube:redstone_detector_tube_attachment') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 144)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(100) + + event.recipes.gtceu.assembler('create_hypertube:tube_scanner_attachment') + .itemInputs('#forge:plates/stainless_steel', 'gtceu:activity_detector_cover', 'ae2:fluix_crystal') + .itemOutputs('create_hypertube:tube_scanner_attachment') + .inputFluids(Fluid.of('gtceu:silicone_rubber', 288)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(100) + + event.recipes.gtceu.assembler('create_hypertube:tube_scanner_attachment_sbr') + .itemInputs('#forge:plates/stainless_steel', 'gtceu:activity_detector_cover', 'ae2:fluix_crystal') + .itemOutputs('create_hypertube:tube_scanner_attachment') + .inputFluids(Fluid.of('gtceu:styrene_butadiene_rubber', 144)) + .EUt(GTValues.VA[GTValues.HV]) + .duration(100) } diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index 71af8d64d..eeba94f4c 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -182,6 +182,39 @@ function removeGTCEURecipes(event) { // #endregion + // #region Reconstituted Stone + + event.remove({ id: 'gtceu:shaped/cobblestone_wall_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_wall_saw' }) + event.remove({ id: 'gtceu:shaped/stone_brick_stair_saw' }) + event.remove({ id: 'gtceu:shaped/stone_brick_wall_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_stone_brick_stair_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_stone_brick_slab_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_stone_brick_wall_saw' }) + + // #endregion + + // #region Cut Copper + + event.remove({ id: 'gtceu:shaped/cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/cut_copper_slab_saw' }) + event.remove({ id: 'gtceu:shaped/exposed_cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/exposed_cut_copper_slab_saw' }) + event.remove({ id: 'gtceu:shaped/weathered_cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/weathered_cut_copper_slab_saw' }) + event.remove({ id: 'gtceu:shaped/oxidized_cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/oxidized_cut_copper_slab_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_cut_copper_slab_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_exposed_cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_exposed_cut_copper_slab_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_weathered_cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_weathered_cut_copper_slab_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_oxidized_cut_copper_stair_saw' }) + event.remove({ id: 'gtceu:shaped/waxed_oxidized_cut_copper_slab_saw' }) + + // #endregion + // #region Plant Ball event.remove({ id: 'gtceu:compressor/plant_ball_from_wheat' }) @@ -505,6 +538,9 @@ function removeGTCEURecipes(event) { //#endregion + // Iron nugget saw recipe + event.remove({ id: 'gtceu:shapeless/nugget_disassembling_iron'}) + // Удаление рецептов связанных с Primitive Blast Furnace event.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) removeMaceratorRecipe(event, 'macerate_primitive_blast_furnace') From 95002cbe5c446f327261494969c17b22e507107f Mon Sep 17 00:00:00 2001 From: Inceitious <124896643+Inceitious@users.noreply.github.com> Date: Mon, 5 Jan 2026 03:13:44 +0800 Subject: [PATCH 596/628] Update recipes.materials.js (#2613) Minor change of lamps from 576mb to 144mb --- kubejs/server_scripts/gregtech/recipes.materials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index bba94e7a8..ea95f9635 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -891,7 +891,7 @@ function registerGTCEUMetalRecipes(event) { event.recipes.gtceu.assembler(`tfg:${material.getName()}_lamp_from_liquid`) .itemInputs(unfinishedLampStack) - .inputFluids(Fluid.of(GTMaterials.Glass.getFluid(), 576)) + .inputFluids(Fluid.of(GTMaterials.Glass.getFluid(), 144)) .itemOutputs(finishedLampStack) .duration(material.getMass() * 7) .circuit(13) From 6aa8c08bce502a92c6e901c9700aa72a44a9bf70 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Mon, 5 Jan 2026 00:36:48 +0300 Subject: [PATCH 597/628] FAQ field guide changes (#2618) * Update ru_ru dairy Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * Few fixes and a bit ru_ru translation --------- Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> --- .../en_us/entries/tfg_tips/faqs.json | 9 +--- .../ru_ru/entries/tfg_tips/faqs.json | 43 +++++++++++++++++++ .../uk_ua/entries/tfg_tips/faqs.json | 9 +--- .../zh_cn/entries/tfg_tips/faqs.json | 9 +--- 4 files changed, 49 insertions(+), 21 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json index ce8574c54..69a7d3473 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/faqs.json @@ -13,7 +13,7 @@ }, { "type": "patchouli:text", - "text": "$(li)$(l:tfg_tips/faqs#boats)Why did my boat sink?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make yeast starter?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make pineapple fiber?$()$(li)$(l:tfg_tips/faqs#jam)How do I make jam?$()$(li)$(l:tfg_tips/faqs#resin)How do I make Rubber?$()$(li)$(l:tfg_tips/faqs#chunks)How do I force-load a chunk or increase my limit?$()" + "text": "$(li)$(l:tfg_tips/faqs#boats)Why did my boat sink?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make yeast starter?$()$(li)$(l:tfg_tips/faqs#dried_fruit)How do I make pineapple fiber?$()$(li)$(l:tfg_tips/faqs#resin)How do I make Rubber?$()$(li)$(l:tfg_tips/faqs#chunks)How do I force-load a chunk or increase my limit?$()" }, { "type": "patchouli:text", @@ -25,11 +25,6 @@ "anchor": "dried_fruit", "text": "$(italic)How do I make yeast starter or pineapple fiber?$()$(br2)Make sure you dry the fruit first using a $(item)Drying Mat$(). Then follow the rest of the steps for $(l:firmalife/bread)bread$() or $(l:firmalife/berry_bushes)pineapple leather$()." }, - { - "type": "patchouli:text", - "anchor": "jam", - "text": "$(italic)How do I make jam?$()$(br2)It's easiest with a $(l:firmalife/oven_appliances#vat)Vat$(). Follow the steps in that section, but you don't need to make a $(thing)Jarring Station$() or $(thing)Lids$() unless you want to automate it. Just right-click the Vat of $(thing)Fruity Fluid$() with an empty jar, then right-click it again to take it out, and it should be full of jam and sealed.$(br2)Make sure you $(bold)close the lid$() on the Vat with $(item)$(k:sneak)$() + $(item)$(k:use)$()!" - }, { "type": "patchouli:text", "anchor": "chunks", @@ -38,7 +33,7 @@ { "type": "patchouli:text", "anchor": "resin", - "text": "$(italic)How do I make rubber?$()$(br2)Sticky Resin is no longer what you are looking for! First, grow some $(thing)Latex$()-producing trees and make some $(thing)Tree Taps$(). Place a tree tap on the trunk of each tree (more taps on a tree just splits the output). You can collect the Latex that comes out with a $(tfc:mechanics/barrels)Barrel$()." + "text": "$(italic)How do I make rubber?$()$(br2)Sticky Resin is no longer what you are looking for! First, grow some $(thing)Latex$()-producing trees and make some $(thing)Tree Taps$(). Place a tree tap on the trunk of each tree (more taps on a tree just splits the output). You can collect the Latex that comes out with a $(l:mechanics/barrels)Barrel$()." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json new file mode 100644 index 000000000..cfe128d36 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_tips/faqs.json @@ -0,0 +1,43 @@ +{ + "name": "Часто задаваемые вопросы", + "icon": "minecraft:spyglass", + "category": "tfc:tfg_tips", + "read_by_default": true, + "priority": true, + "pages": + [ + { + "type": "patchouli:text", + "title": "ЧАВО", + "text": "Застрял на чём-то? Попробуй сначала просмотреть эту книгу и задания, но если ты все еще не можешь найти ответ, ты можешь задать вопрос на нашем сайте. $(l:https://discord.com/invite/AEaCzCTUwQ)Discord$() или $(l:https://www.reddit.com/r/TerraFirmaGreg)Subreddit$()!" + }, + { + "type": "patchouli:text", + "text": "$(li)$(l:tfg_tips/faqs#boats)Почему моя лодка тонет?$()$(li)$(l:tfg_tips/faqs#dried_fruit)Как мне сделать дрожжи?$()$(li)$(l:tfg_tips/faqs#dried_fruit)Как мне сделать ананосовое волокно?$()$(li)$(l:tfg_tips/faqs#resin)Как мне сделать резину?$()$(li)$(l:tfg_tips/faqs#chunks)Как подгрузить чанки или увеличить их лимит?$()" + }, + { + "type": "patchouli:text", + "anchor": "boats", + "text": "$(italic)Почему моя лодка тонет?$()$(br2)Постройте лодку на суше, а затем толкайте её или используйте $(item)поводок$(), чтобы толкать ее. Если она уже затонула, ничего страшного, сделайте новое." + }, + { + "type": "patchouli:text", + "anchor": "dried_fruit", + "text": "$(italic)Как мне сделать дрожжи или ананосовое волокно?$()$(br2)Перед использованием обязательно высушите фрукты используя $(item)Настил для сушки$(). Затем выполните остальные шаги для $(l:firmalife/bread)хлеба$() или $(l:firmalife/berry_bushes)ананасовой кожи$()." + }, + { + "type": "patchouli:text", + "anchor": "chunks", + "text": "$(italic)Как подгрузить чанки или увеличить их лимит?$()$(br2)Открой карту на клавишу $(item)$(k:key.ftbchunks.claim_manager)$(), затем shift ЛКМ по чанку. Shift ПКМ для снятия клейма.$(br2)Для увеличения количества подгружаемых чанков, используй команду $(item)/ftbchunks admin extra_force_load_chunks @p set X$(), где X - новый лимит." + }, + { + "type": "patchouli:text", + "anchor": "resin", + "text": "$(italic)Как мне сделать резину?$()$(br2)Резина(предмет) — это больше не то, что вам нужно! Сначала вырасти деревья, дающие $(thing)Латекс$() и скрафтите несколько $(thing)Краников для подсочки$(). Установите Краник для подсочки на каждом дереве. (Больше краников на одном дереве просто разделит выход).Вы можете собирать латекс с помощью $(l:mechanics/barrels)Бочек$()." + }, + { + "type": "patchouli:text", + "text": "Быстрее всего сварить латекс в $(l:firmalife/oven_appliances#vat)Чане$(). Соедини латекс с $(item)Порошком серы$() в чане (Передроби пыль серы), нагрей и $(bold)закрой крышкку$() чана с помощью клавиш $(item)$(k:sneak)$() + $(item)$(k:use)$(). Ты получишь $(thing)Вулканизированный латекс$(), который ты можешь вакуумировать в $(thing)Вакуумной камере$() для этой долгожданной резины!$(br2)Позже, $(thing)LV Центрифуга$() позволит тебе получить $(thing)Необработанную резину$() напрямую с бревен латексных деревьев." + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json index 22216117b..2797b56d2 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/faqs.json @@ -12,7 +12,7 @@ }, { "type": "patchouli:text", - "text": "$(li)$(l:tfg_tips/faqs#boats)Чому мій човен потонув?$()\n$(li)$(l:tfg_tips/faqs#dried_fruit)Як зробити закваску?$()\n$(li)$(l:tfg_tips/faqs#dried_fruit)Як зробити волокно з ананаса?$()\n$(li)$(l:tfg_tips/faqs#jam)Як приготувати джем?$()\n$(li)$(l:tfg_tips/faqs#resin)Як зробити гуму?$()\n$(li)$(l:tfg_tips/faqs#chunks)Як примусово завантажити чанк або збільшити ліміт?$()" + "text": "$(li)$(l:tfg_tips/faqs#boats)Чому мій човен потонув?$()\n$(li)$(l:tfg_tips/faqs#dried_fruit)Як зробити закваску?$()\n$(li)$(l:tfg_tips/faqs#dried_fruit)Як зробити волокно з ананаса?$()$()\n$(li)$(l:tfg_tips/faqs#resin)Як зробити гуму?$()\n$(li)$(l:tfg_tips/faqs#chunks)Як примусово завантажити чанк або збільшити ліміт?$()" }, { "type": "patchouli:text", @@ -24,11 +24,6 @@ "anchor": "dried_fruit", "text": "$(italic)Як приготувати дріжджову закваску або ананасову клітковину?$()$(br2)Обов'язково спочатку висушіть фрукти, використовуючи $(item)Сушильний килимок$(). Потім виконайте решту кроків для $(l:firmalife/bread)хлібу$() або $(l:firmalife/berry_bushes)ананасової шкіри$()." }, - { - "type": "patchouli:text", - "anchor": "jam", - "text": "$(italic)Як зробити джем?$()$(br2)\nНайпростіше — за допомогою $(l:firmalife/oven_appliances#vat)чану$(). Дотримуйтесь кроків із цього розділу, але вам не обов’язково робити $(thing)станцію для консервування$() чи $(thing)кришки$(), якщо не хочете автоматизувати процес. Просто клацніть правою кнопкою миші по чану з $(thing)фруктовою рідиною$(), тримаючи порожню банку, потім клацніть ще раз, щоб дістати її — і вона буде повною джему та запечатаною.$(br2)\nОбов’язково $(bold)закрийте кришку$() на чані, використавши $(item)$(k:sneak)$() + $(item)$(k:use)$()!" - }, { "type": "patchouli:text", "anchor": "chunks", @@ -37,7 +32,7 @@ { "type": "patchouli:text", "anchor": "resin", - "text": "$(italic)Як зробити гуму?$()$(br2)Клейка смола більше не те, що тобі потрібно! Спочатку вирости кілька дерев, що виробляють $(thing)латекс$(), і зроби кілька $(thing)Cокозбірників$(). Встанови сокозбірник на стовбур кожного дерева (більше сокозбірників на одному дереві лише розподіляють вихід). Зібраний латекс можна збирати за допомогою $(tfc:mechanics/barrels)Діжки$()." + "text": "$(italic)Як зробити гуму?$()$(br2)Клейка смола більше не те, що тобі потрібно! Спочатку вирости кілька дерев, що виробляють $(thing)латекс$(), і зроби кілька $(thing)Cокозбірників$(). Встанови сокозбірник на стовбур кожного дерева (більше сокозбірників на одному дереві лише розподіляють вихід). Зібраний латекс можна збирати за допомогою $(l:mechanics/barrels)Діжки$()." }, { "type": "patchouli:text", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json index d2d7879f7..656bfcdf0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/faqs.json @@ -12,7 +12,7 @@ }, { "type": "patchouli:text", - "text": "$(li)$(l:tfg_tips/faqs#boats)我的船为什么会沉?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作酵种?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作菠萝纤维?$()$(li)$(l:tfg_tips/faqs#jam)如何制作果酱?$()$(li)$(l:tfg_tips/faqs#resin)如何制作橡胶?$()$(li)$(l:tfg_tips/faqs#chunks)如何强制加载区块或提升加载上限?$()" + "text": "$(li)$(l:tfg_tips/faqs#boats)我的船为什么会沉?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作酵种?$()$(li)$(l:tfg_tips/faqs#dried_fruit)如何制作菠萝纤维?$()$(li)$(l:tfg_tips/faqs#resin)如何制作橡胶?$()$(li)$(l:tfg_tips/faqs#chunks)如何强制加载区块或提升加载上限?$()" }, { "type": "patchouli:text", @@ -24,11 +24,6 @@ "anchor": "dried_fruit", "text": "$(italic)如何制作酵种或菠萝纤维?$()$(br2)请先使用$(item)干燥垫$()将水果晒干,随后按照$(l:firmalife/bread)面包$()或$(l:firmalife/berry_bushes)菠萝布$()章节的步骤操作。" }, - { - "type": "patchouli:text", - "anchor": "jam", - "text": "$(italic)如何制作果酱?$()$(br2)使用$(l:firmalife/oven_appliances#vat)锅$()最为便捷。参照该章节流程操作时请注意:除非需要自动化生产,否则无需制作$(thing)装罐台$()或$(thing)罐盖$()。直接手持空罐右键点击盛有$(thing)果汁液体$()的锅,再次右键即可取得封装完成的果酱。$(br2)务必使用$(item)$(k:sneak)$() + $(item)$(k:use)$()为锅$(bold)盖上盖子$()!" - }, { "type": "patchouli:text", "anchor": "chunks", @@ -37,7 +32,7 @@ { "type": "patchouli:text", "anchor": "resin", - "text": "$(italic)如何制作橡胶?$()$(br2)黏性树脂不再是你的目标!请先种植若干产$(thing)乳胶$()的树木并制作$(thing)树汁导管$()。将树汁导管安装在树干上(单棵树安装多个树汁导管只会分流产量)。通过$(tfc:mechanics/barrels)木桶$()收集渗出的乳胶。" + "text": "$(italic)如何制作橡胶?$()$(br2)黏性树脂不再是你的目标!请先种植若干产$(thing)乳胶$()的树木并制作$(thing)树汁导管$()。将树汁导管安装在树干上(单棵树安装多个树汁导管只会分流产量)。通过$(l:mechanics/barrels)木桶$()收集渗出的乳胶。" }, { "type": "patchouli:text", From 434a36d0b834493304a4ba660bb0dbadab198472 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 4 Jan 2026 23:59:55 +0000 Subject: [PATCH 598/628] added new radioactive hazard effect, langs --- .../quests/chapters/ev__extreme_voltage.snbt | 2 +- kubejs/assets/gtceu/lang/en_us.json | 3 + kubejs/assets/gtceu/lang/ja_jp.json | 3 + kubejs/assets/gtceu/lang/ru_ru.json | 3 + kubejs/assets/gtceu/lang/uk_ua.json | 3 + kubejs/assets/gtceu/lang/zh_cn.json | 3 + kubejs/assets/tfg/lang/en_us.json | 11 +- kubejs/assets/tfg/lang/ja_jp.json | 2 + kubejs/assets/tfg/lang/ru_ru.json | 362 +++++++++--------- kubejs/assets/tfg/lang/uk_ua.json | 8 +- kubejs/assets/tfg/lang/zh_cn.json | 2 + .../tfg/models/item/paracetamol_pill.json | 6 + .../assets/tfg/models/item/rad_away_pill.json | 6 + .../tfg/textures/mob_effect/cooling.png | Bin 972 -> 354 bytes .../textures/mob_effect/nausea_warning.png | Bin 466 -> 597 bytes .../mob_effect/radioactive_warning.png | Bin 0 -> 419 bytes .../tfg/textures/mob_effect/warming.png | Bin 913 -> 321 bytes .../mob_effect/weak_poison_warning.png | Bin 345 -> 528 bytes kubejs/server_scripts/gregtech/recipes.js | 3 +- .../tfg/primitive/medicine/tags.medicine.js | 4 +- kubejs/startup_scripts/gtceu/constants.js | 6 +- .../gtceu/material_modification.js | 4 +- 22 files changed, 243 insertions(+), 188 deletions(-) create mode 100644 kubejs/assets/tfg/models/item/paracetamol_pill.json create mode 100644 kubejs/assets/tfg/models/item/rad_away_pill.json create mode 100644 kubejs/assets/tfg/textures/mob_effect/radioactive_warning.png diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index ea9572fe3..12b4667e5 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -2139,7 +2139,7 @@ id: "4AD96212525517CD" rewards: [{ id: "1F7C92A8EF2F84A0" - item: "gtceu:rad_away_pill" + item: "tfg:rad_away_pill" type: "item" }] shape: "diamond" diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 33c11eb3e..85a0c37d7 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -193,6 +193,9 @@ "material.gtceu.uranium_pellet": "Uranium Pellet", "material.gtceu.thorium_pellet": "Thorium Pellet", "material.gtceu.ostrum_iodide": "Ostrum Iodide", + "material.gtceu.americium": "Americium 243", + "material.gtceu.uranium": "Uranium 238", + "material.gtceu.plutonium": "Plutonium 239", "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/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index a63de7c45..426e38373 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -188,6 +188,9 @@ "material.gtceu.uranium_pellet": "ウランペレット", "material.gtceu.thorium_pellet": "トリウムペレット", "material.gtceu.ostrum_iodide": "ヨウ化オストラム", + "material.gtceu.americium": "アメリシウム243", + "material.gtceu.uranium": "ウラン238", + "material.gtceu.plutonium": "プルトニウム239", "material.gtceu.residual_radioactive_concoction": "残留放射性混合物", "material.gtceu.regolith_vapor": "月面堆積粉塵", "material.gtceu.dense_ostrum_vapor": "重質オストラム粉塵", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index e3149ce5f..51dfe31bd 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -166,6 +166,9 @@ "material.gtceu.uranium_pellet": "Uranium Pellet", "material.gtceu.thorium_pellet": "Thorium Pellet", "material.gtceu.ostrum_iodide": "Ostrum Iodide", + "material.gtceu.americium": "Америций 243", + "material.gtceu.uranium": "Уран 238", + "material.gtceu.plutonium": "Плутоний 239", "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/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 3792258f7..6f4bb6bd3 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -179,6 +179,9 @@ "material.gtceu.thorium_pellet": "Торієва гранула", "material.gtceu.ostrum_iodide": "Йодит Оструму", "material.gtceu.residual_radioactive_concoction": "Залишкова Радіоактивна Суміш", + "material.gtceu.americium": "Америцій 243", + "material.gtceu.uranium": "Уран 238", + "material.gtceu.plutonium": "Плутоній 239", "material.gtceu.regolith_vapor": "Випаровування Реголіту", "material.gtceu.dense_ostrum_vapor": "Густе Випаровування Острому", "material.gtceu.lightweight_ostrum_vapor": "Легке Випаровування Острому", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 766ed6a5a..dfb3968e8 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -194,6 +194,9 @@ "material.gtceu.thorium_pellet": "钍燃料丸", "material.gtceu.ostrum_iodide": "碘化紫金", "material.gtceu.residual_radioactive_concoction": "放射性残液", + "material.gtceu.americium": "镅-243", + "material.gtceu.uranium": "铀-238", + "material.gtceu.plutonium": "钚-239", "material.gtceu.regolith_vapor": "风化土蒸气", "material.gtceu.dense_ostrum_vapor": "致密紫金蒸气", "material.gtceu.lightweight_ostrum_vapor": "轻质紫金蒸气", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index ba58a26fd..5529e7e5c 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -742,6 +742,8 @@ "item.tfg.invisibility_salvo": "Invisibility Salvo", "item.tfg.luck_salvo": "Luck Salvo", "item.tfg.resistance_salvo": "Resistance Salvo", + "item.tfg.paracetamol_pill": "Paracetamol Pill", + "item.tfg.rad_away_pill": "RadAway™ Pill", "item.tfg.paraffin_wax": "Paraffin Wax", "item.tfg.flint_arrow_head": "Flint Arrow Head", "item.tfg.fletching": "Fletching", @@ -1223,9 +1225,9 @@ "material.tfg.cracker_off_gas": "Cracked Reformate Off-Gas", "material.tfg.btx_fuel": "BTX Fuel", "material.tfg.critical_steam": "Critical Steam", - "material.tfg.americium_241": "Americium-241", - "material.tfg.californium_252": "Californium-252", - "material.tfg.neptunium_237": "Neptunium-237", + "material.tfg.americium_241": "Americium 241", + "material.tfg.californium_252": "Californium 252", + "material.tfg.neptunium_237": "Neptunium 237", "material.tfg.mixed_radioactive_fluid": "Mixed Radioactive Fluid", "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", "material.tfg.boron_enriched_coolant": "Boron Enriched Coolant", @@ -1461,6 +1463,9 @@ "effect.tfg.berylliosis_warning": "Berylliosis", "effect.tfg.methanol_poisoning_warning": "Methanol Poisoning", "effect.tfg.carbon_monoxide_poisoning_warning": "Carbon Monoxide Poisoning", + "effect.tfg.radioactive_warning": "Irradiated", + "gtceu.medical_condition.radioactive": "§4Irradiated", + "symptom.tfg.glowing": "Glowing", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "Windmills are affected by relative", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index efe2c8361..9833c29f1 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -698,6 +698,8 @@ "item.tfg.invisibility_salvo": "透明化の軟膏", "item.tfg.luck_salvo": "幸運の軟膏", "item.tfg.resistance_salvo": "耐性の軟膏", + "item.tfg.paracetamol": "アセトアミノフェン", + "item.tfg.rad_away_pill": "RadAway™錠", "item.tfg.paraffin_wax": "パラフィンワックス", "item.tfg.flint_arrow_head": "火打石の矢じり", "item.tfg.fletching": "矢羽根", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index d930f6c11..748cdff1c 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -688,6 +688,8 @@ "item.tfg.invisibility_salvo": "Мазь невидимости", "item.tfg.luck_salvo": "Мазь везения", "item.tfg.resistance_salvo": "Мазь сопротивления", + "item.tfg.paracetamol_pill": "Таблетка парацетамола", + "item.tfg.rad_away_pill": "Таблетка Антирадина", "item.tfg.paraffin_wax": "Парафин", "item.tfg.flint_arrow_head": "Наконечник стрелы из кремня", "item.tfg.fletching": "Оперение", @@ -1170,9 +1172,9 @@ "material.tfg.cracker_off_gas": "Остатки риформат-газа прошедшего крекинг", "material.tfg.btx_fuel": "БТК", "material.tfg.critical_steam": "Критический пар", - "material.tfg.americium_241": "Америций-241", - "material.tfg.californium_252": "Калифорний-252", - "material.tfg.neptunium_237": "Нептуний-237", + "material.tfg.americium_241": "Америций 241", + "material.tfg.californium_252": "Калифорний 252", + "material.tfg.neptunium_237": "Нептуний 237", "material.tfg.mixed_radioactive_fluid": "Смешанная радиоактивная жидкость", "material.tfg.degraded_solvent_stream": "Деградированный поток растворителя", "material.tfg.boron_enriched_coolant": "Хладагент обогащенный бором", @@ -3321,179 +3323,182 @@ "quests.ore_proc.gem_slurry.subtitle": "Мы... кристаллы...", "quests.ore_proc.gem_slurry.desc": "&6Дроблённые Самоцветы&r — это опциональные, но короткие линии переработки для Рубинов, Сапфиров и Зелёных Сапфиров, чтобы выжать немного больше ресурсов из них. В сравнении с электролизом:\n\n- &cДробленный Рубин&r даёт почти в 3 раза больше Алюминия и Хрома\n\n- &9Дробленный Сапфир&r даёт в 2 раза больше Алюминия\n\n- &aДробленный Зелёный Сапфир&r даёт в 2 раза больше Алюминия и немного Бериллия\n\nИ вдобавок, все они имеют небольшой шанс дать немного Титана, Железа и Ванадия!", "quests.ore_proc.gem_slurry.task": "Любой Дробленный Самоцвет", - "quests.space_survival": "Советы - Космическое выживание", - "quests.space_survival.subtitle": "Единственное место, которое не было испорчено капитализмом... Космос!", - "quests.space_survival.preparations.title": "Pre-Launch Preparations", - "quests.space_survival.preparations.subtitle": "Make sure you're ready!", - "quests.space_survival.preparations.desc": "Eager to launch into the final frontier? We totally get the enthusiasm but you can't just hurl yourself into space and hope to survive! &9Preparation&r is key to survival, or you'll just end up back in the Stone Age banging rocks together for a few seconds before suffocating to death.\n\nMake sure you have at least the following:\n- A Space Suit and a full drum of breathable gas\n- A Rocket with another full drum of spare Fuel\n- A Launch Pad so you can return\n- Plenty of food and water\n- A weapon and shield in case the Moon's haunted...", - "quests.space_survival.food.title": "Space Food", - "quests.space_survival.food.subtitle": "Long lasting food for long journeys", - "quests.space_survival.food.desc": "Consider bringing along some &dSpace Food&r for the journey ahead! It's simple to make and comes with a long shelf life. &9Freeze-Dried Fruit&r are a tasty snack, &bMeal Bags&r can hold any normal kind of food you'd have on Earth, and there's also &aCalorie Paste&r for a nutritionally complete but gross meal. You can reuse the Foil Packs when you're finished, too!", - "quests.space_survival.food.task": "Any space food", - "quests.space_survival.satellite.title": "Space Stations", - "quests.space_survival.satellite.subtitle": "For when you really want to get away from it all", - "quests.space_survival.satellite.desc": "By keeping the above items in your inventory, you'll be able to build a &9Space Station&r in orbit once you launch! There's not really much to do up there, and they're totally optional, but if you want a void dimension with no gravity for whatever reason, or just &oreally&r like sky diving, they're an option.", - "quests.space_survival.flag.title": "Flag Planter", + "quests.moon": "Луна", + "quests.moon.subtitle": "Единственное место, которое не было испорчено капитализмом... Космос!", + "quests.space_survival.preparations.title": "Предполётная подготовка", + "quests.space_survival.preparations.subtitle": "Убедитесь, что вы готовы!", + "quests.space_survival.preparations.desc": "Сгораете от нетерпения отправиться к последнему рубежу? Мы полностью понимаем ваш энтузиазм, но нельзя просто так запулить себя в космос и надеяться на выживание! &9Подготовка&r — это залог успеха, иначе вы просто окажетесь в каменном веке, стуча камнем о камень в течение нескольких секунд, прежде чем задохнуться.\n\nУбедитесь, что у вас есть как минимум следующее:\n- Скафандр и полный баллон дыхательной смеси;\n- Ракета с ещё одним полным баком запасного топлива;\n- Стартовая площадка, чтобы вы могли вернуться;\n- Достаточный запас еды и воды;\n- Оружие и щит на случай, если на Луне водятся призраки...", + "quests.space_survival.food.title": "Космическая еда", + "quests.space_survival.food.subtitle": "Еда с долгим сроком хранения для долгих путешествий", + "quests.space_survival.food.desc": "Подумайте о том, чтобы взять с собой немного &dкосмической еды&r в дорогу! Её просто готовить, и она долго хранится. &9Лиофилизированные фрукты&r — вкусный перекус, &bпакеты с едой&r могут содержать любую обычную пищу, которую вы едите на Земле, а ещё есть &aкалорийная паста&r — питательная, но довольно противная на вкус. Кстати, пустой фольгированный пакет можно использовать повторно!", + "quests.space_survival.food.task": "Любая космическая еда", + "quests.space_survival.satellite.title": "Космические станции", + "quests.space_survival.satellite.subtitle": "Для тех, кто действительно хочет сбежать от всего мира", + "quests.space_survival.satellite.desc": "Имея вышеуказанные предметы в инвентаре, вы сможете построить &9космическую станцию&r на орбите сразу после запуска! Там особо нечем заняться, и они совершенно необязательны, но если вам нужно пустотное измерение без гравитации по какой-либо причине или вы &oочень&r любите скайдайвинг, то это отличный вариант.", + "quests.space_survival.flag.title": "Флагшток", "quests.space_survival.flag.subtitle": "LunaFirmaCraft", - "quests.space_survival.flag.desc": "Introduce yourself to the Moon by planting a flag with whatever image you like on it!", - "quests.space_survival.flag.task": "Any Flag", - "quests.space_survival.chorus.title": "Chorus Fruit", - "quests.space_survival.chorus.subtitle": "Is this the End?", - "quests.space_survival.chorus.desc": "&5Chorus Fruit&r serves a pretty crucial role on the Moon - it will be your main source of Nitrogen. To get started, find some Chorus Plants, parkour up to the top, and break the &5Chorus Flowers&r. Breaking the plant from the bottom will not get you any of the Chorus Flowers! Next up, grow the Chorus Flowers in an Electric Greenhouse to get a renewable source of Chorus Fruit, and from there, you can process them into Biomass and Nitrogen with a Brewery and Fermenter respectively. You can also distill the Biomass into Carbon for more Rocket Fuel!", - "quests.space_survival.rover.title": "Space Rover", - "quests.space_survival.rover.subtitle": "Your getaway vehicle", - "quests.space_survival.rover.desc": "You had to leave your fancy jetpack at home, there's no atmosphere for airplanes, and horses can't survive, so how are you supposed to get around?\n\nThe &bRover&r is a vehicle that can hold up to two passengers, runs on combustible fuels (Diesels, Gasolines, and Rocket Fuel), and even has an inventory and radio that can play real-world radio stations!", - "quests.space_survival.solar_panels.title": "Solar Panels", - "quests.space_survival.solar_panels.subtitle": "Praise the Sun!", - "quests.space_survival.solar_panels.desc": "There are very few energy sources available on the Moon, but these &eSolar Panels&r have a lovely view of the Sun from up here!\n\nOn the moon, each Solar Panel provides the equivalent of &932 EU/t&r during the day with no fuel or upkeep needed, but they only produce an eighth of that down on the Earth's surface. Bring along a whole bunch of them!", - "quests.space_survival.stone_dust_centrifuging.title": "Helium-3", - "quests.space_survival.stone_dust_centrifuging.subtitle": "Clown gas", - "quests.space_survival.stone_dust_centrifuging.desc.1": "The Moon is full of &eHelium-3&r, another important resource, but it's stuck inside the stone! There's two ways to get your hands on some:\n\n1) If you haven't set up any stone dust centrifuging automation before, here's a quick introduction: A Rock Crusher can produce infinite raw stone, which a Macerator crushes into dust for a Centrifuge to process.\n\nHere on the Moon, Anorthosite, Norite, and Phonolite can thus be processed into an infinite source of Helium-3!", - "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Pump it out of the ground with a &9Fluid Rig&r This method is simpler, but doesn't come with any useful byproducts.\n\nHelium-3 is used for several things, of which the most important is making more air to breathe via &6Heliox-3&r! You can also use it as \"fertilizer\" for Chorus Fruit in the Electric Greenhouse, and eventually as another fuel for Fusion Power.", - "quests.space_survival.stone_dust_centrifuging.task": "Any ", - "quests.space_survival.compressed_gases.title": "Compressed Breathable Gases", - "quests.space_survival.compressed_gases.subtitle": "Because pure Oxygen is deadly", - "quests.space_survival.compressed_gases.desc": "Find yourself a little short of breath? You'll need something to breathe up in space, so you'll want to look at producing any of these compressed gases, based off real-world ones used for deep sea diving!\n\nYou can fill your space suit with them the same way you'd fill up a bucket, or if you bring along a &bGas Tank&r you'll be able to \"drink\" from it to replenish your suit without taking it off.\n\n&2Nitrox&r is probably the easiest to produce on Earth, while you can set up &eHeliox-3&r on the Moon.\n\nA full space suit (2500mB) will last about &c45 minutes&r.", - "quests.space_survival.compressed_gases.task": "Any compressed breathable gas", - "quests.space_survival.zip_gun.title": "Zip Gun", - "quests.space_survival.zip_gun.subtitle": "Like a jetpack in the palm of your hand", - "quests.space_survival.zip_gun.desc": "A Zip Gun can be filled up with any of the below Compressed Gases to shoot out air, pushing you around in low gravity environments. They're essential if you want to build anything in orbit!", - "quests.space_survival.air_distributor.title": "Setting up a permanent base", - "quests.space_survival.air_distributor.subtitle": "A holiday home", - "quests.space_survival.air_distributor.desc.1": "So far you may be surviving, but do you want to truly &othrive&r? If you're wanting to set up a more permanent base, look no further than the &6Air Distributor&r! Feed it one of the compressed gases from earlier and it will \"oxygenate\" a large enclosed area, letting you take your helmet off, grow crops, and place a water source without it freezing.\n\nAny solid block will work to build your base out of, but you'll want a proper airlock to ensure the gas doesn't all escape in a &cvortex&r.", - "quests.space_survival.air_distributor.desc.2": "The oxygenated area will be at a constant 15C for any crops you'd like to grow (though the Electric Greenhouse doesn't mind), and the water source staying liquid will also let you easily electrolyze it for a source of &bOxygen&r. You can also use a Diode block to transfer power through the walls while keeping them sealed, just like in a cleanroom.", - "quests.space_survival.oxygen_info.title": "More Moon base machines", - "quests.space_survival.oxygen_info.subtitle": "Home comforts", - "quests.space_survival.oxygen_info.desc": "The Oxygen Detector is a simple machine that emits a redstone signal whenever it's in an oxygenated area.\n\nThe Vent is a solid block that can also let breathable air through without causing a vortex.\n\nThe Gravity Normalizer can change the gravity of an area within an enclosed space similar to how an Air Distributor works, but is a little too expensive at the moment.", - "quests.space_survival.railgun.title": "Interplanetary Logistics", - "quests.space_survival.railgun.subtitle": "Ender chest? Never heard of her!", - "quests.space_survival.railgun.desc.1": "&7In &bTerraFirmaGreg&r, transporting items across dimensions or over long distances requires you to build special &6multiblock structures&r.\n\nThis system is &apowerful and flexible&r, offering multiple settings that let you customize logistics to perfectly suit your needs.\n\nThis is the perfect system to transport all of your &apassively-produced&r resources to exactly where they're needed on other planets! And it comes with a powerful &dconfiguration system&r to let you control everything from a single place.", - "quests.space_survival.railgun.desc.2": "To set it up, you'll need three components:\n\n&6• Interplanetary Railgun&r — this is the &bsender&r that launches items across space.\n\n&6• Interplanetary Receiver&r — this is the &breceiver&r that catches and stores incoming items.\n\n&6• Interplanetary Logistics Monitor&r — this acts as the &9central control&r, where you define the rules and behavior of the entire transport system.\n\nWith these machines, you can automate large-scale transfers efficiently — even between planets!", - "quests.space_survival.railgun.task": "Let's dig into Interplanetary logistics", - "quests.space_survival.interplanetary_railgun.title": "Interplanetary Railgun", - "quests.space_survival.interplanetary_railgun.subtitle": "What we call the sender", - "quests.space_survival.raiinterplanetary_railgunlgun.desc.1": "&6The Interplanetary Railgun&r acts as your &bsender multiblock&r.\n\nIt’s the structure responsible for launching items toward distant &3receivers&r — but it can’t receive anything itself.", - "quests.space_survival.raiinterplanetary_railgunlgun.desc.2": "To function correctly, it requires several components:\n\n&9• Energy Hatch&r — provides the power needed to launch items. Without energy, nothing moves.\n&9• Railgun Ammo Loader&r — must be filled with ammo. One unit is consumed per launch.\n&9• Input Buses&r — you can add as many as you can fit, to insert the items you want to send.\n\n&cImportant:&r This multiblock can only &osend&r items. Make sure your &6Interplanetary Railgun&r is always chunkloaded!", - "quests.space_survival.ammo_railgun.title": "Railgun Ammo", - "quests.space_survival.ammo_railgun.subtitle": "You didn't think it would be free?", - "quests.space_survival.ammo_railgun.desc.1": "&7Each &6Interplanetary Railgun&r requires a special type of &eammo&r — think of it as a package used to transport items.\nEach launch consumes exactly &cone unit&r of ammo and can send &dthree stacks&r of items.\n\nTo load it, you’ll need a &6Railgun Ammo Loader&r as part of your structure.\nYou can insert ammo manually or automate the process.\n\n&9We strongly recommend&r setting up a passive production line to keep your loader filled continuously — this ensures a smooth and reliable logistics chain.", - "quests.space_survival.ammo_railgun.desc.2": "There are multiple recipes available to craft ammo:\n\n• Lower-tier recipes are simpler but produce fewer units.\n• Higher-tier recipes yield &amuch more ammo&r, but require more advanced resources and machines.&r\n• Specialized ammo that you can only craft on certain planets. Check the recipes.\n\nPlan your production based on your &3logistics scale&r — interplanetary trade waits for no one!", - "quests.space_survival.input_bus_railgun.title": "Railgun Input Bus", - "quests.space_survival.input_bus_railgun.subtitle": "Sender only", - "quests.space_survival.input_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Interplanetary Logistics Monitor&r &con the left of this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nWhen opening the &6Sender&r logistics screen on the &dInterplanetary Logistics Monitor&r, you'll notice the familiar &9Programmed Circuit&r from GregTech.\nThis circuit number is the core identifier for setting up routing rules.\n\nThe number you assign will apply a specific rule to all Input Buses in your Railgun structure that are configured with that same circuit number.\n\nThis allows you to fine-tune what items are sent where and with which rules, based on the circuit used.", - "quests.space_survival.input_bus_railgun.desc.2": "&2How to configure it:&r\n→ Open the GUI of any &9Railgun Input Bus&r\n→ Select the number you want — just like in any other GregTech machine\n\nThis lets you create powerful logic like:\n&7• Circuit 1&r → send to Moon base\n&7• Circuit 2&r → send to Mars\n&7• Circuit 3&r → send to Orbital Station\n\nWith proper circuit setup, you can automate interplanetary trade like a true industrial tycoon!\n\n&9Note&r: You cannot send anything with the &7#tfg:cannot_launch_in_railgun&r tag.", - "quests.space_survival.input_bus_railgun.task": "Any Railgun Input Bus", - "quests.space_survival.monitor_railgun.title": "Interplanetary Logistics Monitor", - "quests.space_survival.monitor_railgun.subtitle": "Super Computer", - "quests.space_survival.monitor_railgun.desc.1": "&6The Interplanetary Logistics Monitor&r is your logistics command center — the true bread and butter of interplanetary transport.\n\nIt’s a &asingle block&r, requires &ono energy&r, and will automatically detect every &6Railgun Sender&r and &3Receiver&r you’ve built.", - "quests.space_survival.monitor_railgun.desc.2": "It may look simple, but it hides powerful tools under the hood.\nLet’s go over the basics:\n\n&9• When you open the Monitor&r, you'll see a list of all your Senders and Receivers.\nYou have to &ename each one&r.\n\n&9• To create a logistic rule:&r\n → Click the right arrow to select a Sender\n → Press &a+&r to add a new rule\n → Choose the destination Receiver from your list\n\nIf your &6Railgun&r has ammo and energy, and the &3Receiver&r has space — the shipment will launch instantly!\n\nNow that you've got the basics, let’s dive into the more advanced features in the next quests...", - "quests.space_survival.redstone_railgun.title": "Redstone Control", - "quests.space_survival.redstone_railgun.subtitle": "Redstone rules in Minecraft", - "quests.space_survival.redstone_railgun.desc": "&6The Redstone Rule&r is simple — but incredibly powerful when used well.\n\nIn the &6Sender&r rules interface, enabling this rule means that a &credstone signal&r must be present on the &9Input Bus&r for it to send items.\n\nIn the &3Receiver&r rules interface, you can configure the rule so that an &9Output Bus&r will only accept items based on the redstone signal on that specific block.\n\nTime to use your redstone logic skills!\nWhether it's with an &dAE2 Level Emitter&r, from &aCreate redstone utilities&r, or good old vanilla mechanisms — this rule lets you synchronize logistics with your factory state like a pro.", - "quests.space_survival.redstone_railgun.task": "Understood", - "quests.space_survival.robot_arm_railgun.title": "Supply Exact", - "quests.space_survival.robot_arm_railgun.subtitle": "It's a Gregtech pack you know", - "quests.space_survival.robot_arm_railgun.desc": "&6The Item Rule&r works similarly to a &9GregTech Robot Arm&r set to &eSupply Exact&r.\nIt can only be configured from the &6Sender&r rules interface.\n\nWith this rule active, the &9Railgun&r will only send the &aexact quantity&r when available in the &9Input Bus&r.\n\n&2How to set it up:&r\n→ Drag items into the filter from your &dEMI&r interface\n→ Use &aleft and right clicks&r to adjust the quantity\n→ You can also bookmark items for quick access and configuration\n\nThis rule is perfect for precise automation — ideal for batch crafting or resource quotas.", - "quests.space_survival.robot_arm_railgun.task": "Understood", - "quests.space_survival.delay_railgun.title": "Delay", - "quests.space_survival.delay_railgun.subtitle": "Sometime you just want to wait", - "quests.space_survival.delay_railgun.desc": "&6The Delay Rule&r is simple, but useful for managing item flow timing.\n\n&2On the Sender side:&r\nItems will only be sent after the &9Input Bus&r hasn't received any new item for a set amount of time (in seconds).\nThis helps avoid sending items too frequently when inputs are constantly changing.\n\n&2On the Receiver side:&r\nThe rule defines a delay before an &9Output Bus&r can receive another batch of items.\nThis can be useful to prevent overflow or to pace item insertion into slower systems.\n\nIdeal for syncing with machines that need breathing room between operations, or to prevent unnecessary waste of ammo.", - "quests.space_survival.delay_railgun.task": "Understood", - "quests.space_survival.receiver_railgun.title": "Interplanetary Receiver", - "quests.space_survival.receiver_railgun.subtitle": "The Receiver", - "quests.space_survival.receiver_railgun.desc.1": "&6The Interplanetary Receiver&r, as its name suggests, is designed to &3receive items&r sent by the Railgun.\n\nIt’s a &asmall and simple multiblock&r that requires no energy or maintenance — just build it and you're ready to go!", - "quests.space_survival.receiver_railgun.desc.2": "Its flexibility lies in the number of &9Output Buses&r you can attach.\nThe more you add, the more items it can handle simultaneously.\n\n&2Setup is easy:&r\n• Build the structure\n• Add as many Output Buses as you need\n• Done — it’s ready to receive!\n\nNo fuel, no maintenance — just pure logistics power.\nMake sure it’s properly chunkloaded, and let the items rain in!", - "quests.space_survival.output_bus_railgun.title": "Railgun Output Bus", - "quests.space_survival.output_bus_railgun.subtitle": "Receiver only", - "quests.space_survival.output_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Railgun Input Bus&r &cabove this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nJust like how your &6Railgun Input Buses&r can be assigned a &9circuit number&r, you can do the same with the &3Output Buses&r on your &3Receiver&r.", - "quests.space_survival.output_bus_railgun.desc.2": "This feature serves two main purposes:&r\n\n&9• Direct item flow&r —\nYou can control which Output Bus receives items.\nTo do this, simply assign a circuit number to the Output Bus,\nthen select that number in your Sender’s rule via the &6Logistics Monitor&r.\n\n&9• Conditional rules&r —\nYou can also set rules to &cstop sending items&r if the circuit rule isn’t respected.\nThis is done not from the Sender tab, but by opening the &3Receiver&r tab in the Monitor.\nFor each circuit number, you can assign a rule that applies only to Output Buses using that number.", - "quests.space_survival.output_bus_railgun.desc.3": "To learn more about the available rule types, make sure to check the &7three quests above this one&r.\n\nThey go over each rule in detail and explain how to use them effectively.", - "quests.space_survival.output_bus_railgun.task": "Any Railgun Output Bus", - "quests.space_survival.soulbound.title": "Extraterrestrial Death", - "quests.space_survival.soulbound.subtitle": "You're a long way from spawn", - "quests.space_survival.soulbound.desc.1": "In TerraFirmaGreg, you can set your spawn on any dimension (even The Beneath!), but unless you've got a bunch of extra space suits lying around, respawning on the Moon might complicate things.\n\nFirst of all, you'll definitely want your bed to be inside an oxygenated area, so you don't immediately die as soon as you respawn (though in case of a blackout, you should have enough time to break your bed and reset your spawn).", - "quests.space_survival.soulbound.desc.2": "Secondly, you can upgrade each piece of your Space Suit with a &bSoul Pearl&r. This will make them stay equipped when you die!\n\nYou can get these from any of the tougher, hostile Endermen on the Moon.\n\nWe promise it's sci-fi and not magic.", - "quests.space_survival.mars_desert.title": "The Martian Desert", - "quests.space_survival.mars_desert.subtitle": "Sand, sand everywhere", - "quests.space_survival.mars_desert.desc": "The majority of Mars is covered in a vast desert. Not much lives here except the occasional Stackatick, and of course the giant &6Sandworms&r. If this is your first time here, you'll want to find somewhere more hospitable! Otherwise, you'll want to keep searching...", - "quests.space_survival.mars_desert.task": "Visit the Martian Deep Desert biome", - "quests.space_survival.sandworm.title": "The Sandworm", - "quests.space_survival.sandworm.subtitle": "SHAI-HULUD", - "quests.space_survival.sandworm.desc": "If you make too much noise in the desert, you might attract the attention of the mighty &6Sandworm&r! It's more of an environmental hazard than a boss to kill, so your best way of surviving it is to run away!\n\nIf you manage to hit its head enough times with &bexplosion damage&r, it will leave you alone... for a while.\n\nThankfully, the Sandworm can only damage entities, not buildings, and is only attracted to the &6footsteps of players&r, so any way to keep &byour own feet&r off the ground won't anger it. The atmosphere is too thin for airplanes and hang gliders, but there are other tools...", - "quests.space_survival.spice.title": "Ostrum Deposits", - "quests.space_survival.spice.subtitle": "Spice Melange", - "quests.space_survival.spice.desc": "&dOstrum Deposits&r are immovable blocks that you can only find in the Martian Deep Desert, far away from any of the more lush areas. They spawn in small blobs, and can be broken to make space for your Ostrum Harvester if they're on a slope. Try using a &6Spyglass&r to find them from a distance!\n\nYou'll have to figure out some long-distance logistics to ship your Ostrum back to your base. (Try a train!)\n\nOstrum is a crucial resource for both &5EV&r progression and making infinite ores from Mars.", - "quests.space_survival.spice.task": "The spice must flow", - "quests.space_survival.mars_islands.title": "The Martian Jungles", - "quests.space_survival.mars_islands.subtitle": "Is that a dinosaur?!", - "quests.space_survival.mars_islands.desc": "Dotted around the vast Martian deserts are small \"islands\" of life and vegetation, which are probably where you'll want to set up your base. Surviving here will be much easier than in the desert!", - "quests.space_survival.semiheavy_ammoniacal_water.title": "Semiheavy Ammoniacal Water", - "quests.space_survival.semiheavy_ammoniacal_water.subtitle": "Fancy a drink?", - "quests.space_survival.semiheavy_ammoniacal_water.desc": "The water on Mars is &bSemiheavy&r which means it contains one Deuterium atom, and is also full of &aAmmonia&r, a great antifreeze, which is how it can stay liquid despite the very low temperatures.\n\nIt's technically drinkable, but you'll likely want to distill it into normal Water first. You can also move source blocks of Semiheavy Ammoniacal Water around and get more of it via an Aqueous Accumulator, just like regular Water.\n\nYou can also centrifuge the Ammonium Chloride out from it and electrolyze it as a source of &3Nitrogen&r. Easy Nitrox from just one source!", - "quests.space_survival.heavy_ammoniacal_water.title": "Heavy Ammoniacal Water", - "quests.space_survival.heavy_ammoniacal_water.subtitle": "The Cooler Ammoniacal Water", - "quests.space_survival.heavy_ammoniacal_water.desc": "&2Heavy Ammoniacal Water&r is another kind of fluid that can only be found deep underground via a Fluid Drilling Rig. You can only find it in these lush areas of Mars, not the desert!\n\nYou can separate it into Heavy Water, which is important for Fission power.", - "quests.space_survival.mars_poles.title": "The Martian Poles", - "quests.space_survival.mars_poles.subtitle": "Cold enough for CO₂ to freeze!", - "quests.space_survival.mars_poles.desc": "Is Mars not cold enough for you?\n\nHead up (or down) towards one of its poles at Z=+15000/-5000. If anything's able to live there, surely it must have amazing insulative properties...", - "quests.space_survival.glacian_ram.title": "Glacian Sheep", - "quests.space_survival.glacian_ram.subtitle": "Life at -110 C", - "quests.space_survival.glacian_ram.desc": "&dGlacian Rams&r and &dEwes&r can only be found on the Martian poles. You might want to bring a breeding couple back to your base.\n\nGot a long journey? Consider using an AE2 Spatial Storage Cell to carry them around in your pocket.", - "quests.space_survival.glacian_ram.task": "Find a Glacian Ram or Ewe", - "quests.space_survival.glacian_wool.title": "Glacian Wool", - "quests.space_survival.glacian_wool.subtitle": "What an incredible insulator!", - "quests.space_survival.glacian_wool.desc": "Unlike regular Sheep on Earth, killing a Glacian one will only give you normal Wool. You'll need to build up their familiarity and shear them if you want the special &dGlacian Wool&r.\n\nYou'll need 7 of it for a full Tungstensteel Space Suit, but you can also use it as a great component for your Fission Reactor to increase its maximum heat.\n\nYou can also turn it into regular Wool Yarn and Cloth if you want more of that for some reason.", - "quests.space_survival.t2_space_suit.title": "Tungstensteel Space Suit", - "quests.space_survival.t2_space_suit.subtitle": "Extremophilia!", - "quests.space_survival.t2_space_suit.desc": "With this next space suit, you'll be able to survive both the &bcoldest&r and the &chottest&r environments that space can throw at you! It's required to stop you from immediately combusting as soon as you set foot on &6Venus&r and &5Mercury&r.\n\nAs a bonus, it also comes with some extra armor and air capacity!", - "quests.space_survival.mars_tapping.title": "Crimsene and Warpane", - "quests.space_survival.mars_tapping.subtitle": "You LOVE tree tapping!", - "quests.space_survival.mars_tapping.desc": "Crimson and Warped Mushrooms can be tree tapped for &4Crimsene&r and &3Warpane&r respectively.\n\nYou'll need both to get started on producing &9Iodine&r, but they don't often grow in the same place, so you might need to travel a bit. Crimson Mushrooms grow more on the East side of Mars, while Warped grow more on the West. You can also obtain the saplings from the corresponding Endermen.\n\nDon't forget that you can tap directly into open GregTech fluid pipes!\n\n&9Tip:&r Want to show off? You can also build a canoe out of Crimson Stems, and build a Rowboat or Sloop out of Warped ones!", - "quests.space_survival.iodine.title": "The Iodine Line", - "quests.space_survival.iodine.subtitle": "Mushroom chemistry!", - "quests.space_survival.iodine.desc": "Mix together the Crimsene and Warpane, along with some Krypton from Mars Air Distillation (it's looped) and the heat from your Fission Reactor, and you'll get Iodine!\n\nThis process is slow, but you shouldn't need a lot of it for now, and there will be better methods of obtaining Iodine on further planets.", - "quests.space_survival.mars_crops.title": "Martian Crops", - "quests.space_survival.mars_crops.subtitle": "They give HOW much nutrition?!", - "quests.space_survival.mars_crops.desc": "Mars is home to six new crops - three &afruit&r, two &2vegetable&r, and one &6grain&r. They're packed full of nutrients and can be used to prepare similar food to those on Earth, such as sandwiches, soups, and meal bags.\n\nA few of them are toxic if eaten raw, however, so be sure to cook it first!\n\nCheck the Field Guide for full details on how to grow each one. You can grow them in the dirt, in a Firmalife Greenhouse, or in an Electric Greenhouse.", - "quests.space_survival.mars_crops.task": "Any Martian Seed", - "quests.space_survival.bulbkin_pie.title": "Mars Cuisine", - "quests.space_survival.bulbkin_pie.subtitle": "Even more culinary atrocities at your disposal", - "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.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.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.", - "quests.space_survival.sniffer_or_wraptor.task_1": "Find a Sniffer", - "quests.space_survival.sniffer_or_wraptor.task_2": "Find a Wraptor", - "quests.space_survival.mars_nest.title": "Large Thatch Nest", - "quests.space_survival.mars_nest.subtitle": "A big nest for big eggs", - "quests.space_survival.mars_nest.desc": "You remember how to gather thatch, right?\n\nWarped and Crimson Thatch can be gathered from various small plants, as well as any Warped and Crimson Lamella you happen to find.\n\nJust like birds on Earth, Sniffers and Wraptors require nests to lay their eggs. Only, y'know, much bigger.", - "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.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.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.", - "quests.space_survival.mras_shields.task": "Any Advanced Shield", - "quests.space_survival.mercury.title": "I'm on &5Mercury&r...?", - "quests.space_survival.mercury.subtitle": "Wait, what happened here?!", - "quests.space_survival.mercury.desc": "&5Mercury&r will be a secondary planet for the upcoming &1IV&r rework in TFG 0.12. Stay tuned!", - "quests.space_survival.mercury.task": "Land on Mercury", - "quests.space_survival.venus.title": "I'm on &6Venus&r!", - "quests.space_survival.venus.subtitle": "Cloudy with a chance of sulfuric acid rain", - "quests.space_survival.venus.desc": "&6Venus&r will be the primary planet for the upcoming &1IV&r rework in TFG 0.12. Stay tuned!", - "quests.space_survival.venus.task": "Land on Venus", + "quests.space_survival.flag.desc": "Заявите о себе на Луне, установив флаг с любым изображением, которое вам нравится!", + "quests.space_survival.flag.task": "Любой флаг", + "quests.space_survival.chorus.title": "Плод хоруса", + "quests.space_survival.chorus.subtitle": "Это Энд?", + "quests.space_survival.chorus.desc": "&5Плод хоруса&r играет довольно важную роль на Луне — он станет вашим основным источником азота. Для начала найдите растения хоруса, заберитесь наверх и сломайте &5хорусовый цветок&r. Если сломать растение снизу, вы не получите цветков! Затем вырастите их в электротеплице для бесконечного получения плодов, после чего их можно переработать в биомассу и азот с помощью варочной машины и ферменатора соответственно. Биомассу также можно перегнать в углерод для получения ракетного топлива!", + "quests.space_survival.rover.title": "Вездеход", + "quests.space_survival.rover.subtitle": "Ваше средство передвижения", + "quests.space_survival.rover.desc": "Вам пришлось оставить свой модный джетпак дома, для самолётов здесь нет атмосферы, а лошади не выживут. Так как же вам передвигаться?\n\n&bВездеход&r — это транспортное средство, вмещающее до двух пассажиров, работающее на топливе (дизель, бензин или ракетное топливо), имеющее собственный инвентарь и даже радио, которое может ловить реальные радиостанции!", + "quests.space_survival.solar_panels.title": "Солнечные панели", + "quests.space_survival.solar_panels.subtitle": "Вославь Солнце!", + "quests.space_survival.solar_panels.desc": "На Луне очень мало источников энергии, но зато с этих &eсолнечных панелей&r открывается прекрасный вид на Солнце!\n\nЗдесь каждая панель вырабатывает эквивалент &932 EU/t&r днём без затрат топлива и обслуживания, тогда как на поверхности Земли они производят лишь восьмую часть от этого. Берите с собой побольше!", + "quests.space_survival.solar_panels.task": "Любой преобразователь FE в EU", + "quests.space_survival.stone_dust_centrifuging.title": "Гелий-3", + "quests.space_survival.stone_dust_centrifuging.subtitle": "Веселящий газ", + "quests.space_survival.stone_dust_centrifuging.desc.1": "Луна полна &eгелия-3&r, ещё одного важного ресурса, но он заперт внутри камня! Есть два способа его получить:\n\n1) Если вы раньше не настраивали автоматизацию центрифугирования каменной пыли, вот краткое введение: камнелом производит бесконечный булыжник, измельчитель дробит его в пыль, а центрифуга перерабатывает её.\n\nЗдесь, на Луне, анортозит, норит и фонолит можно переработать в бесконечный источник гелия-3!", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Выкачивайте его из-под земли с помощью &9жидкостной буровой установки&r. Этот метод проще, но вы не получите полезных побочных продуктов.\n\nГелий-3 используется для нескольких вещей, самой важной из которых является создание дыхательной смеси через &6Гелиокс-3&r! Также его можно использовать как «удобрение» для хоруса в электротеплице, а в будущем — как топливо для термоядерного синтеза.", + "quests.space_survival.stone_dust_centrifuging.task": "Любой способ", + "quests.space_survival.compressed_gases.title": "Сжатые дыхательные газы", + "quests.space_survival.compressed_gases.subtitle": "Потому что чистый кислород смертелен", + "quests.space_survival.compressed_gases.desc": "Чувствуете одышку? В космосе нужно чем-то дышать, так что вам стоит заняться производством этих сжатых газов, основанных на реальных смесях для глубоководных погружений!\n\nВы можете заправить скафандр так же, как наполняете ведро, или, если возьмете с собой &bгазовый баллон&r, сможете «пить» из него, пополняя запас костюма, не снимая его.\n\n&2Нитрокс&r, вероятно, проще всего производить на Земле, в то время как &eГелиокс-3&r можно наладить на Луне.\n\nПолного скафандра (2500 мБ) хватит примерно на &c45 минут&r.", + "quests.space_survival.compressed_gases.task": "Любой сжатый дыхательный газ", + "quests.space_survival.zip_gun.title": "Воздушный пистолет", + "quests.space_survival.zip_gun.subtitle": "Джетпак на ладони", + "quests.space_survival.zip_gun.desc": "Воздушный пистолет можно заправить любым из указанных выше сжатых газов, чтобы выстреливать воздухом, толкая вас в условиях низкой гравитации. Они незаменимы, если вы планируете строить что-то на орбите!", + "quests.space_survival.air_distributor.title": "Обустройство постоянной базы", + "quests.space_survival.air_distributor.subtitle": "Дом для отпуска", + "quests.space_survival.air_distributor.desc.1": "До сих пор вы просто выживали, но не хотите ли вы по-настоящему &oпроцветать&r? Если вы планируете построить постоянную базу, вам не обойтись без &6системы подачи искусственного воздуха&r! Подайте в него один из сжатых газов, и он наполнит кислородом большую закрытую область, позволяя вам снимать шлем, выращивать урожай и ставить воду, не боясь, что она замёрзнет.\n\nДля постройки базы подойдет любой твёрдый блок, но вам понадобится настоящий шлюз, чтобы газ не улетел в космический &cвихрь&r.", + "quests.space_survival.air_distributor.desc.2": "В зоне с кислородом будет поддерживаться постоянная температура 15°C для ваших растений (хотя электротеплице на это плевать), а жидкая вода позволит легко проводить электролиз для получения &bкислорода&r. Также можно использовать диод для передачи энергии через стены, сохраняя их герметичность, как в чистой комнате.", + "quests.space_survival.oxygen_info.title": "Больше механизмов лунной базы", + "quests.space_survival.oxygen_info.subtitle": "Домашний уют", + "quests.space_survival.oxygen_info.desc": "Детектор кислорода — это простой прибор, который подает сигнал редстоуна, когда находится в зоне с воздухом.\n\nВентиляция — это твёрдый блок, который пропускает дыхательную смесь, не вызывая вихря.\n\nГенератор гравитации может изменять гравитацию в закрытом помещении аналогично системе подачи искусственного воздуха, но на данный момент он слишком дорог.", + "quests.space_survival.railgun.title": "Межпланетная логистика", + "quests.space_survival.railgun.subtitle": "Эндер-сундук? Не слышал о таком!", + "quests.space_survival.railgun.desc.1": "&7В &bTerraFirmaGreg&r для транспортировки предметов между измерениями или на большие расстояния требуется строить специальные &6многоблочные структуры&r.\n\nЭта система &aмощная и гибкая&r, предлагающая множество настроек для адаптации логистики под ваши нужды.\n\nЭто идеальный способ доставлять все ваши &aпассивно производимые&r ресурсы именно туда, где они нужны на других планетах! К тому же, здесь есть продвинутая &dсистема конфигурации&r, позволяющая управлять всем из одного места.", + "quests.space_survival.railgun.desc.2": "Для настройки вам понадобятся три компонента:\n\n&6• Межпланетный рельсотрон&r — это &bотправитель&r, который запускает предметы через космос.\n\n&6• Межпланетный приёмник&r — это &bприёмник&r, который ловит и хранит входящие грузы.\n\n&6• Межпланетный логистический монитор&r — это &9центр управления&r, где вы определяете правила и поведение всей транспортной системы.\n\nС этими машинами вы сможете эффективно автоматизировать крупномасштабные перевозки — даже между планетами!", + "quests.space_survival.railgun.task": "Изучим межпланетную логистику", + "quests.space_survival.interplanetary_railgun.title": "Межпланетный рельсотрон", + "quests.space_survival.interplanetary_railgun.subtitle": "То, что мы называем отправителем", + "quests.space_survival.raiinterplanetary_railgunlgun.desc.1": "&6Межпланетный рельсотрон&r служит вашим &bмногоблоком-отправителем&r.\n\nЭто структура, отвечающая за запуск предметов к далёким &3приёмникам&r, но сам он ничего принимать не может.", + "quests.space_survival.raiinterplanetary_railgunlgun.desc.2": "Для работы ему требуются несколько компонентов:\n\n&9• Энергетический входной разъём&r — обеспечивает питание для запуска. Без энергии ничего не сдвинется.\n&9• Загрузчик патронов рельсотрона&r — должен быть заполнен снарядами. Один снаряд тратится на один запуск.\n&9• Предметный входной люк&r — вы можете добавить столько, сколько влезет, чтобы вставлять предметы для отправки.\n\n&cВажно:&r Этот многоблок может только &oотправлять&r. Убедитесь, что чанк с вашим &6рельсотроном&r всегда прогружен!", + "quests.space_survival.ammo_railgun.title": "Снаряды для рельсотрона", + "quests.space_survival.ammo_railgun.subtitle": "Вы же не думали, что это будет бесплатно?", + "quests.space_survival.ammo_railgun.desc.1": "&7Каждому &6межпланетному рельсотрону&r требуются специальные &eснаряды&r — считайте это контейнером для перевозки.\nКаждый запуск потребляет ровно &cодну единицу&r боеприпасов и может отправить &dтри стака&r предметов.\n\nДля заправки вам понадобится &6загрузчик патронов рельсотрона&r в составе структуры.\nСнаряды можно вставлять вручную или автоматизировать процесс.\n\n&9Мы настоятельно рекомендуем&r настроить линию пассивного производства, чтобы ваш загрузчик всегда был полон — это обеспечит бесперебойную работу логистики.", + "quests.space_survival.ammo_railgun.desc.2": "Существует несколько рецептов создания снарядов:\n\n• Низкоуровневые рецепты проще, но дают мало единиц.\n• Высокоуровневые рецепты дают &aгораздо больше снарядов&r, но требуют продвинутых ресурсов и машин.&r\n• Специализированные снаряды можно скрафтить только на определенных планетах. Проверьте рецепты.\n\nПланируйте производство исходя из &3масштабов вашей логистики&r — межпланетная торговля не ждет!", + "quests.space_survival.input_bus_railgun.title": "Входной люк рельсотрона", + "quests.space_survival.input_bus_railgun.subtitle": "Только для отправки", + "quests.space_survival.input_bus_railgun.desc.1": "&cЕсли вы ещё не читали квест про &6межпланетный логистический монитор&r &cслева от этого, обязательно ознакомьтесь с ним сначала — этот квест опирается на те знания.&r\n\nПри открытии экрана логистики &dотправителя&r на &dмониторе&r вы заметите знакомую &9интегральную схему&r из GregTech.\nНомер этой схемы является основным идентификатором для настройки правил маршрутизации.\n\nНазначенный номер применит конкретное правило ко всем входным люкам вашего рельсотрона, которые настроены на тот же номер схемы.\n\nЭто позволяет тонко настраивать, какие предметы куда отправляются и по каким правилам.", + "quests.space_survival.input_bus_railgun.desc.2": "&2Как настроить:&r\n→ Откройте интерфейс любого &9входного люка рельсотрона&r\n→ Выберите нужный номер — точно так же, как в любой другой машине GregTech\n\nЭто позволяет создавать мощную логику, например:\n&7• Схема 1&r → отправка на лунную базу\n&7• Схема 2&r → отправка на Марс\n&7• Схема 3&r → отправка на орбитальную станцию\n\nС правильной настройкой схем вы сможете автоматизировать межпланетную торговлю как настоящий промышленный магнат!\n\n&9Примечание&r: Вы не можете отправить ничего с тегом &7#tfg:cannot_launch_in_railgun&r.", + "quests.space_survival.input_bus_railgun.task": "Любой входной люк межпланетного рельсотрона", + "quests.space_survival.monitor_railgun.title": "Межпланетный логистический монитор", + "quests.space_survival.monitor_railgun.subtitle": "Суперкомпьютер", + "quests.space_survival.monitor_railgun.desc.1": "&6Межпланетный логистический монитор&r — это ваш командный центр, основа основ межпланетных перевозок.\n\nЭто &aодиночный блок&r, который &oне требует энергии&r и автоматически обнаруживает каждый построенный вами &6отправитель&r и &3приёмник&r.", + "quests.space_survival.monitor_railgun.desc.2": "Он может выглядеть просто, но внутри скрыты мощные инструменты.\nДавайте разберем основы:\n\n&9• Открыв монитор&r, вы увидите список всех ваших отправителей и приёмников. Вы должны &eдать имя каждому из них&r.\n\n&9• Чтобы создать правило логистики:&r\n → Нажмите на стрелку вправо, чтобы выбрать отправитель\n → Нажмите &a+&r для добавления нового правила\n → Выберите приёмник назначения из вашего списка\n\nЕсли у вашего &6рельсотрона&r есть снаряды и энергия, а в &3приёмнике&r есть место — груз будет запущен мгновенно!\n\nТеперь, когда вы освоили основы, давайте перейдем к более продвинутым функциям в следующих квестах...", + "quests.space_survival.redstone_railgun.title": "Управление редстоуном", + "quests.space_survival.redstone_railgun.subtitle": "Редстоун правит миром Minecraft", + "quests.space_survival.redstone_railgun.desc": "&6Правило редстоуна&r простое, но невероятно мощное при правильном использовании.\n\nВ интерфейсе правил &6отправителя&r включение этого правила означает, что на &9входном люке&r должен присутствовать &cсигнал редстоуна&r для отправки предметов.\n\nВ интерфейсе правил &3приёмника&r вы можете настроить правило так, что &3выходной люк&r будет принимать предметы только при наличии сигнала редстоуна на этом конкретном блоке.\n\nВремя применить ваши навыки инженера! Будь то &dизлучатель уровней AE2&r, механизмы из &aCreate&r или старая добрая ванильная логика — это правило позволит вам синхронизировать логистику с состоянием вашей фабрики.", + "quests.space_survival.redstone_railgun.task": "Понятно", + "quests.space_survival.robot_arm_railgun.title": "Точная поставка", + "quests.space_survival.robot_arm_railgun.subtitle": "Это же GregTech, вы же знаете", + "quests.space_survival.robot_arm_railgun.desc": "&6Правило предметов&r работает аналогично &9роботизированному манипулятору GregTech&r в режиме &eточной поставки (Supply Exact)&r.\nОно настраивается только в интерфейсе &6отправителя&r.\n\nПри активном правиле &9рельсотрон&r отправит предметы только тогда, когда во &9входном люке&r наберется &aточное количество&r.\n\n&2Как настроить:&r\n→ Перетащите предметы в фильтр из интерфейса &dEMI&r\n→ Используйте &aлевый и правый клик&r для настройки количества\n→ Вы также можете добавлять предметы в закладки для быстрого доступа\n\nЭто правило идеально подходит для точной автоматизации — например, для крафта порциями или соблюдения квот ресурсов.", + "quests.space_survival.robot_arm_railgun.task": "Понятно", + "quests.space_survival.delay_railgun.title": "Задержка", + "quests.space_survival.delay_railgun.subtitle": "Иногда нужно просто подождать", + "quests.space_survival.delay_railgun.desc": "&6Правило задержки&r простое, но полезное для управления временем потока предметов.\n\n&2На стороне отправителя:&r\nПредметы будут отправлены только после того, как &9входной люк&r не получал новых предметов в течение заданного времени (в секундах).\nЭто помогает избежать слишком частых запусков при постоянном изменении входа.\n\n&2На стороне приёмника:&r\nПравило определяет задержку перед тем, как &9выходной люк&r сможет принять следующую партию.\nПолезно для предотвращения переполнения или для замедления подачи предметов в медленные системы.\n\nИдеально для синхронизации с машинами, которым нужна передышка между операциями, или для экономии снарядов.", + "quests.space_survival.delay_railgun.task": "Понятно", + "quests.space_survival.receiver_railgun.title": "Межпланетный приёмник", + "quests.space_survival.receiver_railgun.subtitle": "Тот, кто принимает", + "quests.space_survival.receiver_railgun.desc.1": "&6Межпланетный приёмник&r, как следует из названия, предназначен для &3приёма предметов&r, отправленных рельсотроном.\n\nЭто &aнебольшой и простой многоблок&r, не требующий энергии или обслуживания — просто постройте его, и он готов к работе!", + "quests.space_survival.receiver_railgun.desc.2": "Его гибкость заключается в количестве &9выходных люков&r, которые вы можете подключить.\nЧем их больше, тем больше предметов он сможет обрабатывать одновременно.\n\n&2Настройка проста:&r\n• Постройте структуру;\n• Добавьте столько выходных люков, сколько нужно;\n• Готово — он готов к приёму!\n\nНикакого топлива, никакого обслуживания — только мощь логистики. Убедитесь, что он прогружен, и пусть ресурсы сыплются дождем!", + "quests.space_survival.output_bus_railgun.title": "Выходной люк рельсотрона", + "quests.space_survival.output_bus_railgun.subtitle": "Только для приёма", + "quests.space_survival.output_bus_railgun.desc.1": "&cЕсли вы ещё не читали квест про &6входной люк рельсотрона&r &cвыше, обязательно ознакомьтесь сначала с ним — этот квест дополняет его.&r\n\nТочно так же, как вашим &6входным люкам&r можно назначить &9номер схемы&r, вы можете сделать то же самое с &3выходными люками&r на вашем &3приёмнике&r.", + "quests.space_survival.output_bus_railgun.desc.2": "Эта функция служит двум основным целям:&r\n\n&9• Прямое распределение потока&r — вы можете контролировать, какой именно люк получает предметы. Просто назначьте номер схемы люку и выберите этот номер в правиле отправителя через &6логистический монитор&r.\n\n&9• Условные правила&r — вы также можете установить правила для &cостановки отправки предметов&r, если правило схемы не соблюдается. Это делается не во вкладке отправителя, а во вкладке &3приёмника&r в мониторе. Для каждого номера схемы можно назначить правило, которое будет применяться только к люкам с этим номером.", + "quests.space_survival.output_bus_railgun.desc.3": "Чтобы узнать больше о доступных типах правил, обязательно изучите &7три квеста выше&r. В них подробно разбирается каждое правило и способы их эффективного использования.", + "quests.space_survival.output_bus_railgun.task": "Любой выходной люк межпланетного рельсотрона", + "quests.space_survival.soulbound.title": "Внеземная смерть", + "quests.space_survival.soulbound.subtitle": "Вы далеко от спавна", + "quests.space_survival.soulbound.desc.1": "В TerraFirmaGreg вы можете установить точку возрождения в любом измерении (даже в Бездне!), но если у вас нет кучи запасных скафандров, возрождение на Луне может всё усложнить.\n\nПрежде всего, вам определенно стоит поставить кровать в зоне с кислородом, чтобы не умереть сразу после возрождения (хотя в случае отключения энергии у вас должно быть достаточно времени, чтобы сломать кровать и сбросить спавн).", + "quests.space_survival.soulbound.desc.2": "Во-вторых, вы можете улучшить каждую часть своего скафандра с помощью &bжемчуга душ&r. Это позволит им оставаться на вас после смерти!\n\nИх можно выбить из более сильных и враждебных эндерменов на Луне.\n\nМы обещаем, это научная фантастика, а не магия.", + "quests.mars": "Выживание на Марсе", + "quests.mars.subtitle": "Зыбучие пески ждут", + "quests.space_survival.mars_desert.title": "Марсианская пустыня", + "quests.space_survival.mars_desert.subtitle": "Песок, повсюду песок", + "quests.space_survival.mars_desert.desc": "Большая часть Марса покрыта бескрайней пустыней. Здесь мало кто живет, кроме редких жуков-перевозчиков и, конечно же, гигантских &6песчаных червей&r. Если вы здесь впервые, лучше поискать более гостеприимное место! Иначе вам придется продолжить поиски...", + "quests.space_survival.mars_desert.task": "Посетите биом глубокой марсианской пустыни", + "quests.space_survival.sandworm.title": "Песчаный червь", + "quests.space_survival.sandworm.subtitle": "ШАЙ-ХУЛУД", + "quests.space_survival.sandworm.desc": "Если вы будете слишком сильно шуметь в пустыне, то можете привлечь внимание могучего &6песчаного червя&r! Это скорее стихийное бедствие, чем босс, которого нужно убить, так что лучший способ выжить — просто бежать!\n\nЕсли вам удастся достаточное количество раз попасть ему в голову &bвзрывным уроном&r, он оставит вас в покое... на какое-то время.\n\nК счастью, червь наносит урон только сущностям, а не постройкам, и его привлекают только &6шаги игроков&r. Так что любой способ не касаться &bногами&r земли не разозлит его. Атмосфера слишком разрежена для самолётов и дельтапланов, но есть другие инструменты...", + "quests.space_survival.spice.title": "Залежи острума", + "quests.space_survival.spice.subtitle": "Пряность Меланж", + "quests.space_survival.spice.desc": "&dЗалежи острума&r — это неподвижные блоки, которые можно найти только в глубокой марсианской пустыне, вдали от цветущих зон. Они спавнятся небольшими скоплениями; их можно сломать, если они мешают установке сборщика острума. Попробуйте использовать &6подзорную трубу&r, чтобы найти их издалека!\n\nВам придется продумать логистику, чтобы доставлять острум на базу. (Попробуйте поезд!)\n\nОструм — важнейший ресурс как для развития в &5тире EV&r, так и для создания бесконечных руд из Марса.", + "quests.space_survival.spice.task": "Пряность должна течь", + "quests.space_survival.mars_islands.title": "Марсианские джунгли", + "quests.space_survival.mars_islands.subtitle": "Это что, динозавр?!", + "quests.space_survival.mars_islands.desc": "Среди бескрайних марсианских пустынь разбросаны небольшие «островки» жизни и растительности — именно там вам, скорее всего, захочется обустроить базу. Выжить здесь будет гораздо проще, чем в пустыне!", + "quests.space_survival.semiheavy_ammoniacal_water.title": "Полутяжёлая аммиачная вода", + "quests.space_survival.semiheavy_ammoniacal_water.subtitle": "Хотите глоточек?", + "quests.space_survival.semiheavy_ammoniacal_water.desc": "Вода на Марсе &bполутяжёлая&r, что означает содержание в ней одного атома дейтерия, а также она полна &aаммиака&r — отличного антифриза, благодаря которому она остается жидкой даже при очень низких температурах.\n\nТехнически она пригодна для питья, но вы наверняка захотите сначала перегнать её в обычную воду. Источники полутяжелой воды можно переносить и размножать с помощью жидкосного коллектора, как и обычную воду.\n\nТакже из неё можно центрифугировать хлорид аммония и электролизовать его для получения &3азота&r. Простой способ получить нитрокс из одного источника!", + "quests.space_survival.heavy_ammoniacal_water.title": "Тяжёлая аммиачная вода", + "quests.space_survival.heavy_ammoniacal_water.subtitle": "Более крутая аммиачная вода", + "quests.space_survival.heavy_ammoniacal_water.desc": "&2Тяжёлая аммиачная вода&r — ещё один вид жидкости, который можно найти только глубоко под землей с помощью буровой установки. Её можно найти только в цветущих зонах Марса, не в пустыне!\n\nЕё можно разделить на тяжёлую воду, которая важна для ядерной энергетики.", + "quests.space_survival.mars_poles.title": "Полюса Марса", + "quests.space_survival.mars_poles.subtitle": "Достаточно холодно, чтобы CO₂ замёрз!", + "quests.space_survival.mars_poles.desc": "Марс кажется вам недостаточно холодным?\n\nОтправляйтесь к одному из его полюсов по координатам Z=+15000/-5000. Если там что-то и способно выжить, то оно наверняка обладает потрясающими изоляционными свойствами...", + "quests.space_survival.glacian_ram.title": "Гласианская овца", + "quests.space_survival.glacian_ram.subtitle": "Жизнь при -110°C", + "quests.space_survival.glacian_ram.desc": "&dГласианские бараны&r и &dовцы&r обитают только на марсианских полюсах. Возможно, вы захотите привезти племенную пару на свою базу.\n\nПредстоит долгий путь? Воспользуйтесь пространственной ячейкой хранения AE2, чтобы носить их прямо в кармане.", + "quests.space_survival.glacian_ram.task": "Найдите гласианского барана или овцу", + "quests.space_survival.glacian_wool.title": "Гласианская шерсть", + "quests.space_survival.glacian_wool.subtitle": "Невероятный изолятор!", + "quests.space_survival.glacian_wool.desc": "В отличие от обычных овец на Земле, убийство гласианской овцы даст вам только обычную шерсть. Вам нужно будет повысить их уровень доверия и состричь её, чтобы получить особую &dгласианскую шерсть&r.\n\nВам понадобится 7 единиц для полного скафандра из вольфрамовой стали, но её также можно использовать как отличный компонент для ядерного реактора, чтобы увеличить его максимальный нагрев.\n\nВы также можете превратить её в обычную шерсяную нить и ткань, если вам это зачем-то нужно.", + "quests.space_survival.t2_space_suit.title": "Скафандр из вольфрамовой стали", + "quests.space_survival.t2_space_suit.subtitle": "Экстремофилия!", + "quests.space_survival.t2_space_suit.desc": "С этим новым скафандром вы сможете выжить в самых &bхолодных&r и самых &cгорячих&r условиях, которые только может предложить космос! Он необходим, чтобы вы не сгорели заживо, как только ступите на &6Венеру&r или &5Меркурий&r.\n\nВ качестве бонуса он дает больше защиты и вмещает больше воздуха!", + "quests.space_survival.mars_tapping.title": "Багреллий и Искажеллий", + "quests.space_survival.mars_tapping.subtitle": "Вы же ОБОЖАЕТЕ собирать смолу!", + "quests.space_survival.mars_tapping.desc": "Из багряных и искажённых грибов можно добывать &4Багреллий&r и &3Искажеллий&r соответственно с помощью краника.\n\nОба вещества понадобятся для производства &9йода&r, но они редко растут в одном месте, так что придётся попутешествовать. Багряные грибы чаще встречаются на восточной стороне Марса, а искажённые — на западной. Вы также можете получить их саженцы от соответствующих эндерменов.\n\nНе забудьте, что можно подключаться краником прямо к открытым трубам GregTech!\n\n&9Совет:&r Хотите похвастаться? Вы можете построить каноэ из багряных стеблей, а также гребную лодку или шлюп из искажённых!", + "quests.space_survival.iodine.title": "Линия йода", + "quests.space_survival.iodine.subtitle": "Химия на грибах!", + "quests.space_survival.iodine.desc": "Смешайте багрелий и искажеллий вместе с криптоном из дистилляции марсианского воздуха (процесс зациклен) и добавьте тепла от ядерного реактора — и вы получите йод!\n\nЭтот процесс медленный, но на данный момент вам не понадобится много йода, а в будущем на других планетах появятся более эффективные методы его получения.", + "quests.space_survival.mars_crops.title": "Марсианские культуры", + "quests.space_survival.mars_crops.subtitle": "Сколько-сколько они дают сытости?!", + "quests.space_survival.mars_crops.desc": "На Марсе растет шесть новых культур: три &aфрукта&r, два &2овоща&r и один &6злак&r. Они полны питательных веществ, и из них можно готовить еду, аналогичную земной: сэндвичи, супы и пакеты с едой.\n\nОднако некоторые из них токсичны в сыром виде, так что обязательно сначала приготовьте их!\n\nПодробности о выращивании каждой культуры ищите в Полевом руководстве. Их можно растить в обычном грунте, в теплице FirmaLife или в электротеплице.", + "quests.space_survival.mars_crops.task": "Любое марсианское семя", + "quests.space_survival.bulbkin_pie.title": "Марсианская кухня", + "quests.space_survival.bulbkin_pie.subtitle": "Ещё больше кулинарных извращений в вашем распоряжении", + "quests.space_survival.bulbkin_pie.desc": "Из яиц ирапторов можно получить заменитель сахара, а яйца нюхачей полны сливок.\n\n&eЛукыквенный пирог&r — это, пожалуй, вершина марсианской кухни; он дает огромное количество различных питательных веществ, хоть его и муторно готовить.\n\n&eНаггетсы из динозавра в пивном кляре&r сочетают в себе уйму белка с небольшим количеством злаков; их тоже можно упаковывать в пакеты с едой.\n\n&9Совет:&r Это не совсем еда, но если смешать лукыквенную мякоть и блоки альфаценового гриба, можно получить светокаменную пыль.", + "quests.space_survival.soarer.title": "Пархатель", + "quests.space_survival.soarer.subtitle": "Подбросить?", + "quests.space_survival.soarer.desc": "Самолёты на Марсе не работают, а в вашем скафандре нет джетпака, так что летать больше никак нельзя, верно?\n\nЕсли вам удастся найти неуловимого &4пархателя&r, вы сможете приручить его сырой рыбой и оседлать, чтобы с лёгкостью парить в марсианском небе.\n\nОни не могут летать вечно (индикатор крыльев слева вверху), и им нужно время от времени приземляться. Тем не менее, это отличный вариант для путешествий на дальние расстояния, к тому же они не злят песчаного червя!\n\n&9Примечание&r: Пархатели не могут выжить на очень жарких планетах, таких как &6Венера&r.", + "quests.space_survival.soarer.task": "Найдите порхателя", + "quests.space_survival.surfer.title": "Сёрфер", + "quests.space_survival.surfer.subtitle": "Хотите поплавать?", + "quests.space_survival.surfer.desc": "&bСёрферов&r можно найти в небольших водоемах. Их можно приручить, подкравшись к ним, пока они лежат на берегу, и накормив сырой рыбой. Приручив сёрфера и надев седло, вы сможете быстро плавать под водой.\n\nНа Марсе это может показаться не слишком полезным, но помните, что вы можете переносить существ с помощью пространственных ячеек хранения AE2, а в будущем вас ждет некая ледяная океаническая луна...\n\n&9Примечание&r: Сёрферы не могут выжить на очень жарких планетах, таких как &6Венера&r.", + "quests.space_survival.surfer.task": "Найдите сёрфера", + "quests.space_survival.sniffer_or_wraptor.title": "Нюхачи и ирапторы", + "quests.space_survival.sniffer_or_wraptor.subtitle": "Как корова и курица", + "quests.space_survival.sniffer_or_wraptor.desc": "&2Нюхачи&r и &dирапторы&r встречаются по всему Марсу. Их можно одомашнить ради мяса, яиц и, что самое важное, их богатых минералами пучков меха и перьев.\n\nОни едят любые марсианские культуры. Вы можете автоматизировать их кормление и разведение с помощью кормушек, как на Земле.", + "quests.space_survival.sniffer_or_wraptor.task_1": "Найдите нюхача", + "quests.space_survival.sniffer_or_wraptor.task_2": "Найдите ираптора", + "quests.space_survival.mars_nest.title": "Большой насест из соломы", + "quests.space_survival.mars_nest.subtitle": "Большой насест для больших яиц", + "quests.space_survival.mars_nest.desc": "Вы же помните, как собирать солому?\n\nИскажённую и багряную солому можно собрать с различных мелких растений, а также из любых найденных вами пластинок искажённого или багряного гриба.\n\nКак и земным птицам, нюхачам и ирапторам нужны насесты, чтобы нести яйца. Только, ну вы поняли, насесты побольше.", + "quests.space_survival.mars_nest.task": "Любой насест", + "quests.space_survival.mineral_rich_wool.title": "Богатая минералами шерсть", + "quests.space_survival.mineral_rich_wool.subtitle": "Накопленная за годы пыльных бурь", + "quests.space_survival.mineral_rich_wool.desc": "Как только ваши нюхачи или ирапторы станут достаточно ручными, вы сможете состричь с них богатые минералами пучки меха или перья.\n\nИх можно переплавить в доменной печи для получения бесконечного и дешёвого источника щелочноземельного силиката. Они также являются необходимым компонентом для создания &6био-ЩЗС укрепленного R-полиуретанового пенопласта&r.", + "quests.space_survival.aes_insulation.title": "Многослойное изоляционное покрытие", + "quests.space_survival.aes_insulation.subtitle": "Не сэндвич-мороженое", + "quests.space_survival.aes_insulation.desc": "Возможно, сейчас это не находит широкого применения, но в будущем это станет критически важным компонентом для вашей ракеты &1типа IV&r.", + "quests.space_survival.mars_shields.title": "Улучшенные щиты", + "quests.space_survival.mars_shields.subtitle": "Не пора ли обновить ваш старый железный щит?", + "quests.space_survival.mars_shields.desc": " &3Усиленный щит&r отражает урон обратно атакующим, подобно зачарованию «Шипы». Материалы для его крафта можно добыть с крушителей и пожирателей.\n\n&5Испорченный щит&r случайным образом телепортирует атакующих, что полезно для удержания их на расстоянии... но иногда они могут оказаться прямо за вашей спиной. Зубы для него можно выбить из пещерных эндерменов под поверхностью.\n\n&4Отражающий щит&r поглощает определенное количество урона, а затем выпускает ударную волну, калеча всех вокруг. Кинетическое ядро для него — редкий дроп с враждебных големов в марсианских пещерах.", + "quests.space_survival.mras_shields.task": "Любой улучшенный щит", + "quests.space_survival.mercury.title": "Я на &5Меркурии&r...?", + "quests.space_survival.mercury.subtitle": "Стой, а что здесь произошло?!", + "quests.space_survival.mercury.desc": "&5Меркурий&r станет второстепенной планетой в грядущем обновлении тира &1IV&r в TFG 0.12. Следите за новостями!", + "quests.space_survival.mercury.task": "Высадитесь на Меркурии", + "quests.space_survival.venus.title": "Я на &6Венере&r!", + "quests.space_survival.venus.subtitle": "Облачно, возможны осадки в виде серной кислоты", + "quests.space_survival.venus.desc": "&6Венера&r станет основной планетой в грядущем обновлении тира &1IV&r в TFG 0.12. Следите за новостями!", + "quests.space_survival.venus.task": "Высадитесь на Венере", "quests.steam_age": "Ранняя автоматизация", "quests.steam_age.subtitle": "От примитивных машин до паровой энергии", "quests.steam_age.basic_greate.title": "Основы Greate", @@ -3853,7 +3858,7 @@ "quests.stone_age.first_saw.title": "Металлическая пила", "quests.stone_age.first_saw.subtitle": "Время для твоего первого металлического инструмента", "quests.stone_age.first_saw.desc.1": "Чтобы начать изготовление пилы, добавьте в сосуд не менее 144mb руды желаемого металла. После этого поместите сосуд в земляную печь и зажгите ее.\n\nКогда печь прогорит, быстро поднимите сосуд, пока он еще горячий, держа деревянные клещи в свободной руке, и взаимодействуйте с ним, чтобы открыть интерфейс литья. Просто поместите форму полотна пилы в слот интерфейса литья и наблюдайте, как она наполняется вашим первым оголовьем пилы. После этого соедините оголовье с палкой, и у вас получится пила!", - "quests.stone_age.first_saw.desc.2": "Хотя самым простым металлом для работы является медь, вы можете попробовать свои силы в процессе создания сплавов. Задача этого квеста принимает предмет так из меди, так и из сплавов бронзы.\n\n&lВисмутовая бронза&r: Медь, висмут и цинк. Самая слабая из бронз, но ее легче всего изготовить.\n\n&lБронза&r: Медь и олово. Это самая средняя из бронз.\n\n&lЧерная бронза&r: Медь, Золото и Серебро: Лучшая бронза в ранней игре, но она значительно дороже.", + "quests.stone_age.first_saw.desc.2": "Хотя самым простым металлом для работы является медь, вы можете попробовать свои силы в процессе создания сплавов. Задача этого квеста принимает предмет как из меди, так и из сплавов бронзы.\n\n&lВисмутовая бронза&r: Медь, висмут и цинк. Самая слабая из бронз, но ее легче всего изготовить.\n\n&lБронза&r: Медь и олово. Это средняя из бронз.\n\n&lЧерная бронза&r: Медь, золото и серебро: Лучшая бронза в ранней игре, но она значительно дороже.", "quests.stone_age.first_saw.tasks.1": "Медное или бронзовое оголовье пилы.", "quests.stone_age.first_saw.tasks.2": "Медная или бронзовая пила.", "quests.stone_age.craft_lumber.title": "Время верстака", @@ -3885,6 +3890,11 @@ "quests.stone_age.hazards.subtitle": "Думал, на поверхности было сложно? Ошибаешься.", "quests.stone_age.hazards.desc.1": "Помимо монстров, самой большой проблемой при добыче является борьба с обрушениями. Если под блоком сырой породы или руды есть воздух, он считается \"безопорным\" и имеет шанс начать обвал каждый раз, когда будет добыт соседний блок. Потолки пещер покрыты укрепленной породой, которая не вызывает обвала. Чтобы облегчить добычу, самое безопасное, что вы можете сделать, - это просто добывать пол, но если вы хотите безопасно добывать что-то еще, вам придется научиться использовать опоры! Они создаются с помощью бревен и пилы.", "quests.stone_age.hazards.desc.2": "В Полевом руководстве есть больше подробностей и изображений о том, как именно работают опоры, но вкратце: размещайте их вот так, в пределах четырех блоков друг от друга. Только верхние вертикальные балки будут фактически поддерживать что-либо, и они имеют небольшой радиус.", + "quests.stone_age.medical_conditions.title": "Медицинские показатели", + "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.task": "Сам себе врач", "quests.stone_age.copper_for_anvil.title": "Медь для наковальни", "quests.stone_age.copper_for_anvil.subtitle": "Привыкай добывать 14 слитков чего-либо ", "quests.stone_age.copper_for_anvil.desc": "Наковальни не дешевы! Каждая наковальня требует 14 слитков, которые затем свариваются в 7 двойных слитков.\n\nЕсли вы еще не начали добывать медь, то вам стоит начать добывать ее, ведь собрать 126 кусочков меди очень сложно.", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 7ba52305a..0b679e3bc 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -735,6 +735,8 @@ "item.tfg.invisibility_salvo": "Залп Невидимості", "item.tfg.luck_salvo": "Залп Удачі", "item.tfg.resistance_salvo": "Залп Опору", + "item.tfg.paracetamol_pill": "Пігулка парацетамолу", + "item.tfg.rad_away_pill": "Пігулка антирадину™", "item.tfg.paraffin_wax": "Парафіновий Віск", "item.tfg.flint_arrow_head": "Кременевий Наконечник Стріли", "item.tfg.fletching": "Оперення", @@ -1215,9 +1217,9 @@ "material.tfg.cracker_off_gas": "Побічний газ від крекінгового реформату", "material.tfg.btx_fuel": "BTX Паливо", "material.tfg.critical_steam": "Критична пара", - "material.tfg.americium_241": "Америцій-241", - "material.tfg.californium_252": "Каліфорній-252", - "material.tfg.neptunium_237": "Нептуній-237", + "material.tfg.americium_241": "Америцій 241", + "material.tfg.californium_252": "Каліфорній 252", + "material.tfg.neptunium_237": "Нептуній 237", "material.tfg.mixed_radioactive_fluid": "Змішана радіоактивна рідина", "material.tfg.degraded_solvent_stream": "Потік деградованого розчинника", "material.tfg.boron_enriched_coolant": "Збагачений бором охолоджувач", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 3a82f8734..29ee52cf9 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -836,6 +836,8 @@ "item.tfg.invisibility_salvo": "隐身药膏", "item.tfg.luck_salvo": "幸运药膏", "item.tfg.resistance_salvo": "抗性提升药膏", + "item.tfg.paracetamol_pill": "对乙酰氨基酚药片", + "item.tfg.rad_away_pill": "消辐宁™药片", "item.tfg.paraffin_wax": "石蜡", "item.tfg.flint_arrow_head": "燧石箭头", "item.tfg.fletching": "箭羽", diff --git a/kubejs/assets/tfg/models/item/paracetamol_pill.json b/kubejs/assets/tfg/models/item/paracetamol_pill.json new file mode 100644 index 000000000..845b7dea0 --- /dev/null +++ b/kubejs/assets/tfg/models/item/paracetamol_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "gtceu:item/paracetamol_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/rad_away_pill.json b/kubejs/assets/tfg/models/item/rad_away_pill.json new file mode 100644 index 000000000..aaec1fa82 --- /dev/null +++ b/kubejs/assets/tfg/models/item/rad_away_pill.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "gtceu:item/rad_away_pill" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/mob_effect/cooling.png b/kubejs/assets/tfg/textures/mob_effect/cooling.png index 609186a2badfdf665879c7018dba22031c8d8275..06feddf71fc121f273b1b543694e932f52f076bc 100644 GIT binary patch delta 328 zcmX@Z{)lOUay&b91yoot6+Ka^Es=n2=Z@mZe1*S>%Eip~no50@&f jINzrid2E08kKdhTV}|&)++P9=3=9mOu6{1-oD!M<=RT2i delta 951 zcmaFFbcTI`ay?^frn7T^r?ay{K~a8MW=<*tgT}<#iMAex9b}Hi2XCzlVR@^dG-;vL zO;=YLZ_)0Agn*!bR&)38 z;p@8v&S%xXJAZL~iZ5G*%Oiu!yxkSe6=jz%S-ux$k8lj?INzzxyG!At^7Yi|_br~w zidCc?@KAl$$$TVfU+Yt`G*)NTd5U~mtK5D%-AZl!ESA1CB(b;pllZUAx4b63HgOj` zDwNdW+|t9r{ttg$dG@nq%kQYv zv%IL;__n|Bz;^B{tGE5F&AI(m_`q+Tm`vaLoor`nC&lGv9aK(8klwK)FYA+B!A@o# z`U*`8*TV`UOHd8Qxuw0$#pjf6-pJF`C`J#rdEsJ3ITr z?q=tO53Ve9R%8(oIr!+pEw!DqzQjD<`&_R0|C3U!WgAbvWlp!;bN+p$<@@S{HkXuW zmu;F8!b1!=ck)GPeaL5G|7;b=x^lMgb#||nb6?&Ha;*BS^kb{sO$+PS^-`+o=qqMK1Md{HdoAStcy91}SET4xW~+sVU4fQYFmBp&v&M6-IlucZQ=54?WT(~I6gP;arE}|S!YAHJU1-idt3S0eB+X@ z`)eioGuN$KFy)XMClgQm{>ttD@10@kas46b%CqL_5f(SiR`1|f-Q9Oqg?vzB`p0Zj z`>En_JEuhVgG*EF6FWKrA|n!XoJ^z)H+>XsnDE+roMDGi zjaNje#}1(rCHxG}&rjR1O`O+a=`GG5TN-xjO6>`|;-q_Ms=%SC0u3`{??3olG;2!M z@--2>J8ZwSUf!OoR$%%>oT1)n{lAyj7=P;QJpHwtFDU=sVi*2NXQk&eT2#JZ&t93P zckTXzO;(KVC5I zhnh~+()R~lr}(a2##im0{-N*Ohs`^?FNF!8^E3a)U0m{|RWs*3LqaU?Pu7diH`UJw zw`AO6sd8#rZ%k2_dU9;kqUG|-+28z*6)DQxS62~It+|Z-ZBVWB)Tcf^(~J!tulfC} zCSaPep`~rc^w*yqIe#fJo=$dGNtm@x{nfpT;?I(87QH>ZQ}r|V^{j>JVfR;G_T3*i zeN$1W-km+i4g~1?`P)~mZvP(7VDNE4LQ>Xs#T6zi_wn<5{kQYm{}<-*LjSky{`sqk Qfq{X+)78&qol`;+0BZvb2mk;8 delta 420 zcmcc0a*26@MLlDSr;B5VMeo!}=e?O6MULAq)?3}(_QWeig~PF0F#F}SiccB!xqn$F z28geo?I@t3=d#-4&?6;N*=sZZ7`oQ#=cj$E-S^)1+rc3D>&qv_U&;J+?7e2g`Q64d z^X`7GEZ;Wu$_Ja9-(GJD(UIs4Vz}XXp^%elifniDDZR%pd$z^bPY*Y@-FR#21pVhh z$K<6%%A^8cceOn~xhZ*KsZQT&J^$tjK^qTf%*Z&rdiFdIO^v5_mELSIGdlSAWezXf ziH@l7?J8NZxeJ7fe?EEl?ncjYV_9q8c)r6O?-%k~t=q*grHgeQ+roEj2@-BL-+n74 zGu^I>WqR_-fF~(7bSC4O#jN$b=O?>0H=ojb*T;Jx@o1XFkzK!RqCSY}GE}_z-g=|u zc3tc~S8lzit4ppbq}j~PZPc<)ZaUp}^y$}z$%}2>4!ShAuRB~*874GA$M@#OjEdha z?+y9Sug~^ewJ2)c)$Keg|6>kjeLEZGTb?_iROit58G#0gB7f%OOuEzopr0LKr^JOBUy diff --git a/kubejs/assets/tfg/textures/mob_effect/radioactive_warning.png b/kubejs/assets/tfg/textures/mob_effect/radioactive_warning.png new file mode 100644 index 0000000000000000000000000000000000000000..b70cfb00c34d6c00f269325dafd2d368a5fa0e46 GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0X7ltGxWVyS%@ z0|R5Ir;B5VMeo^3`@Nk4MULB_m$&sP&dD@XTD9;1mrRt>^SWF=UPp`VrtGeNIoEBy z@nk|apW_5QJ}yN`)0;xPue|52zn)w9{npv*0m1j5#_>J>{j}!%_XhUwR+>Mw?M|I$ z61ewUyM@7kIYWQKX$7T?1`K=GIh*xAR8QzQE~=PQ9$?TsM?TbJsj$oAWvixh@y0J~ zP+?8WH$0+03%-(@bV7CVz6%)XUq`_2i01d$m>Mqc2K+UmyBzSFk_% z)6)0nCzTcd!fvY-%UtTXdTTCYQKx;v-veKd_#F89HjwG}O0|_GObI9cU+-MA&G+Z4 z&bhbD8{@7YeDy_gzQpIPiYG7b@Ld0T#Vjtn*~eFeN39BsnqanOTkqAE!CEF;G}xyr zFaK~N{ix%ebXVrpm&0xMSx*RlvO|1g#EfUBnLhA2e6DQSb@`L6%KgtR4e?#Rd28Y%1_lNOPgg&ebxsLQ0LAyXga7~l literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/mob_effect/warming.png b/kubejs/assets/tfg/textures/mob_effect/warming.png index 72ae45afb1accc765355b3591bc559a2b5f31098..977056ee0fe8b0ab2adb28815fb02028f55e1eff 100644 GIT binary patch delta 295 zcmbQpevoN`ay&o?48=%xp47<&9_r@Ql_(>nf1V1EpoG0JJ_fja!!1wN0%dazmUY%*vx;(U$GG9k&ExPzg=b#`% zLh!VTl$%E4q7&yZTKX&4&Gr9LFDL$Y*X|zkuNzbAOFw$8VPIfj@O1TaS?83{1OOYi Be{%o; delta 891 zcmX@eG?9IRay?^nrn7T^r?ay{K~a8MW=<*tgT}<#iMAex9b}Hi2QSsqZ7LHeJP|PW z%_60~rCqKY0&a1wwVDz0i`7?Zl8Ctb!L1J-98bD>@MvT>d$^;(ABIBlIU=!3j{H|` z6*H8R`TqFs-s5+z9WugZW_>%t5W2aiL`m=2r`1UhME`Oma46RQP)U1r@=TK0yvMKQ z?DpMrt(^9Kr@gy}<_w+>okt9pNsE1C`}k(r(&BsSe495d5tuLRFID3B$bH>uz5RuH zmO3BKY?$bKUbwyUXps2n*fXcvylk9h0z-N~waz)s^<4K{*4A^kzCY3D5!*7A=Xz$J zVxy|c#3l~O(vX1GR*kh%n)Pazw#a|~&~NomWM@iI=z$X(8>B)!`sDxc*Oh0BEnj|T zNrKFa+Kq4f3l%nSZ;{&ew>IbYTHyo#d15kU>(_FgshxE1MaD$sgaYXuJKkk{k}KHB z++*`{lA`6L`O5-ynBJ#<@vThwAtn(~T%G;?@fXGuLE)#(4;)l92we20w7>j&ed+ga z?`M|P+gr33_47};sl>p*z?S6g?!o{DKb?2iGcYi47I;J!Gcf2WgD_*oQu{In1_t&L zPhVH|mz?ZEf((kv?{pX#7$i$vBTAg}b8}PkN*J7rQWHy3QxwWGOEMJPJ$(bh8~MZ; z7#OoWT^vI!PM@84Ui)xiy~OeO`EO^N8D>lS76%5c;ZXOCXWywP{xtr8Fb>;uATRN_4Us-AFfZ0dObNNCFsqszW0Zo zch`C5$t5mZzp*)^>|t}{@*OpL8J~rudNn%!+)JpH_*l;Rp^d#_r*7TuN7L&YW>p=1 ze3Cis*DQx}<=eqt4BOPE{Nad@b-Hz|>CXJ=m1omWxNW{-W@T8ClHz*hd1dPIZT8{% z4`)_-wHkj~UVX=vJ0;2WSovDX?#6}6ZG8-Pj(1(DIK1cCmd&l+L uGIW{ZlNAlJpNtt2GB5mkzrN}J@_UTg5j~COTwa=>==5~;b6Mw<&;$Tmo0nw( diff --git a/kubejs/assets/tfg/textures/mob_effect/weak_poison_warning.png b/kubejs/assets/tfg/textures/mob_effect/weak_poison_warning.png index 657e1fa4656c070a6cc8d12c9451b77176c006bf..1fba3ae2536876b2ea080fe5527817de7c6c38b9 100644 GIT binary patch delta 481 zcmcb~G=XJ;W&I&f7sn8b-nEl9dP^rt9IL>Rubg7w#-ymOvK3J*?M|ChF8VHf z@Mu-ZNB$Lm4gaJ2d5g^2^em)PX4?9<*B;oKSud9Bh zTY8dEg6c%EQ>~sae|K@P<@w0W?L4`?m|rt0mEp>-EgQ|V4$JPT?>w#_k=j#pZvKy~ zbmjTV8*d!>aej;XuM&H=E$&83=N9E`H~RjT|7O1=5X=uF<^-x+x*t|NK2 zimd2T1%{JLckks&>G2K6nG^mup8T_r*Wps&%U|!R*U8p>n|Q7>nd!st z>CW|vXR^GGS_oNeJN^H~x3AO7HiQep2+!cIZX55FR%8M05sPkGAAaPMl+>xFTu qN(;rh!e(B1u77Wml;nG!=lg#x^=suzKh40vz~JfX=d#Wzp$PyM^yl{g delta 297 zcmbQha+7I-Wj(j2i(`mI@7qaxy_g+ETKC`OZCl{4pdlR-<|@FldrDYSSF3`KS=ny~ zF}ucuROK7oO4G!|^k(twU=a-BP*jX8Uw5?aWWTah_WoywWY5j4e#gUeV!e6G{zdQ2 zSSL8nL7qFH*xKoR;|bVpq{(1_lNOPgg&ebxsLQ E08-b1CIA2c diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index dc3bb4756..1d30c6362 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -368,6 +368,8 @@ const registerGTCEURecipes = (event) => { event.replaceInput({ output: 'gtceu:nano_saber' }, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide') + event.replaceOutput({ id: 'gtceu:canner/pack_paracetamol' }, 'gtceu:paracetamol_pill', 'tfg:paracetamol_pill') + event.replaceOutput({ id: 'gtceu:canner/pack_rad_away' }, 'gtceu:rad_away_pill', 'tfg:rad_away_pill') // Intentionally long to encourage reuse instead of mindlessly creating and distilling event.recipes.gtceu.mixer('tfg:diluted_hcl_acid') @@ -376,7 +378,6 @@ const registerGTCEURecipes = (event) => { .duration(30 * 20) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.mixer('tfg:diluted_sulf_acid') .inputFluids(Fluid.of('gtceu:sulfuric_acid', 2000), Fluid.of('minecraft:water')) .outputFluids(Fluid.of('gtceu:diluted_sulfuric_acid', 3000)) diff --git a/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js index ace86bfef..85d964511 100644 --- a/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js +++ b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js @@ -26,8 +26,8 @@ function registerTFGMedicineItemTags(event) { event.add('tfg:medicine', 'tfg:luck_salvo') event.add('tfg:medicine', 'tfg:resistance_salvo') event.add('tfg:medicine', 'tfg:instant_health_salvo') - event.add('tfg:medicine', 'gtceu:paracetamol_pill') - event.add('tfg:medicine', 'gtceu:rad_away_pill') + event.add('tfg:medicine', 'tfg:paracetamol_pill') + event.add('tfg:medicine', 'tfg:rad_away_pill') event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 543da5b3f..92c377a5e 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -231,7 +231,11 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:thorium_plate", "gtceu:double_thorium_plate", "gtceu:thorium_rod", - "gtceu:thorium_bucket" + "gtceu:thorium_bucket", + + // Replaced with our own + "gtceu:paracetamol_pill", + "gtceu:rad_away_pill" ]); //#endregion diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index faa0bd8b6..f3639c0d4 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -12,6 +12,7 @@ const registerGTCEuMaterialModification = (event) => { const $ITEM_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.ItemPipeProperties') const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty') + const $TFGT_MEDICAL_CONDITIONS = Java.loadClass('su.terrafirmagreg.core.common.data.tfgt.TFGTMedicalConditions') const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags') @@ -368,7 +369,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Cobaltite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false)); GTMaterials.Galena.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.WEAK_POISON, 1, false)); GTMaterials.Chromite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.IRRITANT, 1, false)); - GTMaterials.Thorium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.ANY, GTMedicalConditions.CARCINOGEN, 1, true)); + GTMaterials.Thorium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.ANY, $TFGT_MEDICAL_CONDITIONS.RADIOACTIVE, 1, true)); // This contains hazardous elements so GT tags it as hazardous automatically GTMaterials.get('ostrum').getProperties().removeProperty(PropertyKey.HAZARD); @@ -460,4 +461,5 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.GraniteRed.setComponents([]) GTMaterials.GraniteRed.setFormula("?") GTMaterials.Thorium.setFormula('ThO2') + GTMaterials.Americium.setFormula('Am²⁴³') } \ No newline at end of file From d9c35bba9d80b947faaa1665a59376dbc81f6650 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 00:00:01 +0000 Subject: [PATCH 599/628] fix #2619 --- kubejs/server_scripts/tfg/machines/tags.facades.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/tfg/machines/tags.facades.js b/kubejs/server_scripts/tfg/machines/tags.facades.js index 97fd56085..4afd087c3 100644 --- a/kubejs/server_scripts/tfg/machines/tags.facades.js +++ b/kubejs/server_scripts/tfg/machines/tags.facades.js @@ -127,6 +127,7 @@ function registerTFGFacadeWhitelistItemTags(event) { 'gtceu:spatial_storage_hazard_sign_block', 'gtceu:turret_hazard_sign_block', 'gtceu:void_hazard_sign_block', + 'gtceu:high_temperature_hazard_sign_block', 'gtceu:yellow_stripes_block_a', 'gtceu:yellow_stripes_block_b', From 895fe026c37f34bab1c74bdc936793eccc7a261c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 00:09:37 +0000 Subject: [PATCH 600/628] temp fix for a tfc-gurman tag error --- kubejs/server_scripts/tfg/tags.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 7d5730ff0..3a474fde3 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -18,6 +18,9 @@ const registerTFGItemTags = (event) => { registerTFGMarsItemTags(event) registerTFGVenusItemTags(event) + // TEMPORARY, REMOVE WHEN GURMAN FIXES THIS + event.remove('tfc:foods', 'tfc_gurman:havai_pizza') + //Circuit Stuff event.add('tfg:components/uv_leds', 'tfg:uv_led') event.add('tfg:components/uv_leds', 'tfg:smd_uv_led') From 60afdc7f55677c3e400ae95767012854c2100c08 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 00:16:02 +0000 Subject: [PATCH 601/628] fix ladder consistency #2616 --- kubejs/server_scripts/gregtech/recipes.js | 9 +++++++++ kubejs/server_scripts/gregtech/recipes.removes.js | 1 + kubejs/server_scripts/tfg/mars/recipes.mars.js | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 1d30c6362..d5ffa3ccb 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -384,4 +384,13 @@ const registerGTCEURecipes = (event) => { .duration(30 * 20) .EUt(GTValues.VA[GTValues.LV]) + // Ladder consistency + event.replaceOutput({ id: 'gtceu:assembler/ladder' }, 'minecraft:ladder', '8x minecraft:ladder') + + event.recipes.gtceu.assembler('tfg:ladder_from_lumber') + .itemInputs('#tfc:lumber') + .itemOutputs('8x minecraft:ladder') + .circuit(7) + .duration(40) + .EUt(4) } diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index eeba94f4c..3cf084f57 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -701,6 +701,7 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:assembler/spyglass' }) event.remove({ id: 'gtceu:assembler/assemble_purpur_into_stair' }) event.remove({ id: 'gtceu:assembler/stonecutter' }) + event.remove({ id: 'gtceu:assembler/cartography_table' }) event.remove({ id: 'gtceu:centrifuge/decomposition_centrifuging__blaze' }) diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 12360bb6f..3b4149e2e 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -69,7 +69,7 @@ function registerTFGMarsRecipes(event) { woodBuilder(event, wood.name, wood.lumber, wood.logs, wood.log, wood.stripped_log, wood.plank, wood.stair, wood.slab, wood.door, wood.trapdoor, wood.fence, wood.fence_gate, wood.support, wood.pressure_plate, wood.button) }) - event.shaped('16x ad_astra:aeronos_ladder', [ + event.shaped('8x ad_astra:aeronos_ladder', [ 'A A', 'ABA', 'A A' @@ -78,7 +78,7 @@ function registerTFGMarsRecipes(event) { B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), }).id('tfg:shaped/aeronos_ladder') - event.shaped('16x ad_astra:strophar_ladder', [ + event.shaped('8x ad_astra:strophar_ladder', [ 'A A', 'ABA', 'A A' From c9f1a8dcf5a1f3f2ed67dc495adbae543b024173 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 01:09:47 +0000 Subject: [PATCH 602/628] fix filter on gurman recipes since they're still broken, tweak blast furnace tips section --- CHANGELOG.md | 2 ++ .../entries/tfg_tips/blast_furnace_tips.json | 6 +++--- kubejs/assets/tfg_excludes.zip | Bin 32940 -> 32951 bytes 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 97a69ae52..993525886 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - Changed the Rover's step height from 1 block to 1.2 blocks (about 4 extra 'pixels') @Pyritie - Fixed/improved behaviour of GregTech solar things on non-overworld dimensions, so rain in the overworld doesn't stop the solar array from working on the moon, and mars sandstorms affect solar things as well (#2140) @Pyritie - Added missing recipes for some Steam 'n' Rails items, and changed the smokestacks to use cast iron instead of black steel (#2610) @thederpysockdude123 +- Added missing recipes for new Hypertube redstone things (#2615) @Xtrial-01 ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie - Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 @@ -34,6 +35,7 @@ - Removed some dough mixing bowl recipes that tried to output more than 5 ingredients because that's the mixing bowl's maximum (#2612) @Pyritie - Fixed missing heat definition for soybeans (#2603) @Pyritie - Fixed crafting bacon removing all the other food traits @Pyritie +- Fixed lamps costing 4x as much glass when crafted in an assembler as opposed to elsewhere (#2613) @Inceitious ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json index bc3a89ef9..52011ad60 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/blast_furnace_tips.json @@ -13,7 +13,7 @@ { "type": "patchouli:spotlight", "item": "gtceu:compressed_fireclay", - "text": "Before you use all your fire clay on 20 fire bricks, note that once you get into the steam age, you can create fire bricks out of only clay, through $(item)Compressed Fireclay$() (you'll need steam machines for the clay dust). This allows you to save $(item)Kaolinite$() and $(item)Graphite$() for $(thing)Casting Tables$()." + "text": "Before you use all your fire clay on 20 fire bricks, note that once you get into the steam age, you can craft it for significantly cheaper. This allows you to save $(item)Kaolinite$() and $(item)Graphite$() for $(thing)Casting Tables$()." }, { "type": "patchouli:spotlight", @@ -33,11 +33,11 @@ }, { "type": "patchouli:text", - "text": "You can pump liquid directly out of the blast furnace using a Create $(item)Mechanical Pump$(). Pump into a $(l:tfc:tfcchannelcasting/channel_casting)Mold Table$() and extract the ingots with a hopper or chute: Easy automation!$(br2)You can automate the bellows with a $(item)Deployer$() too! Just be careful, as using the bellows excessively consumes more fuel and breaks your $(thing)tuyere$() faster.$(br2)You can process the resulting $(item)Pig Iron$() and $(item)High Carbon Steel$() in a $(thing)Forge Hammer$()." + "text": "You can pump liquid directly out of the blast furnace using a Create $(item)Mechanical Pump$(). Pump into a $(l:tfc:tfcchannelcasting/channel_casting)Mold Table$() and extract the ingots with a hopper or chute: Easy automation!$(br2)You can automate the bellows with a $(item)Deployer$() too! Just be careful, as using the bellows excessively consumes more fuel and breaks your $(thing)tuyere$() faster.$(br2)You can process the resulting $(item)Pig Iron$() and $(item)High Carbon Steel$() in a $(thing)Forge Hammer$() or $(thing)Helve Hammer$()." }, { "type": "patchouli:text", - "text": "You can automatically replace broken tuyeres with a hopper facing into the blast furnace." + "text": "You can automatically replace broken tuyeres with a hopper or item pipe facing into the blast furnace." } ] } \ No newline at end of file diff --git a/kubejs/assets/tfg_excludes.zip b/kubejs/assets/tfg_excludes.zip index bf2b199b06d9a9659b7f83780d0c1846b89b3d81..fc97c92b32bcb25b07e0f3253141f5a1a77a00ed 100644 GIT binary patch delta 497 zcmZ3}$h5tYsXoA)nMH(wfq{czC9`Tw*ZKQ*N*Ng#TsRmQxEUB23KEmE^>UMQQ%e%} zPCcJ@+kofT`E$V{c6^S#vSl}!bG|Ryo}`d5bJNZfixe+;TvU2*XBC-uSW0B0{-i&i zf9e+fi+I0#)jR{4SMT}nt$EdFA~LT>b$5t;u;!2E(;fEQU-|3(ml#cVh-bi;%@JPNBo!DX zemh95Kf{2%jMqT&p6%uOdS&N{p4%N&!aPphs|!3=>_`~ z#r!_gC&G3{=E`@W&yMUpW!xX-j?8nr+f|yI*z|JV>R*b}jahZJMJ~E*v#wS(SHZ%| zGxl+PIO`eNo_T2pw-`liHp@JhnDMl<_L7Ef%C47Y3G6GvHr)F^e;d!FygJ3wD|eU6 zU05;wG~3Y!yX@U6?}qL&_!m}i_GEYbzen%=>KQgqW(=qkm1n>bNt1un>qxjh`Vexf j_6{SA?)<&`!p+({jFW8|v>4}2PH(VhdsWZCz`y_iPiEq# delta 486 zcmdnq$h4-BsXoA)nMH(wfq{eJPjGGYjh|Brvltl|Y&jShxEUB23KEmE^>UMQQ%e%} zPTkvg#ewJe>$}S>mb$!9;*yeMsB&qa@YKhq^X5s5O|ow}OWyYhcW78H@t$?&iT$?v zZ#Dn+#Lbety!Ph@fxF(9C#yca8JXpARy^ov{~F=CASpS!$tUXYRbdE>JaTPH})5T2U6Q8tvT zUo8941%~d&2dBO}vBc=M<%;@4&lDtilI7FvbEWT#zrS(G zJaXz}lJ3TPIY-{43$oARi#sy+>-KimXU6HJkGwdq`fHcOEnD2bq@Shy;-&3{yQLD| zCh7)nl;PQyl^dBQWnF1C&%~2`YFvrb26mJ1KjOKjlj Date: Mon, 5 Jan 2026 01:22:44 +0000 Subject: [PATCH 603/628] DA NETHERLANDS --- .../en_us/entries/firmaciv/beneath.json | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json new file mode 100644 index 000000000..546f5f928 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json @@ -0,0 +1,37 @@ +{ + "name": "Beneath", + "category": "tfc:firmaciv", + "icon": "beneath:wood/sapling/crimson", + "flag": "mod:beneath", + "read_by_default": true, + "sortnum": 100, + "pages": [ + { + "type": "patchouli:text", + "text": "Way off on the far reaches of Mars, you can find both Crimson and Warped wood to create some rather flashy $(l:firmaciv/watercraft)Boats$()." + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:spotlight", + "title": "Softwoods", + "text": "Softwoods have sufficiently soft enough pulp and bark that they're perfect for creating $(l:firmaciv/canoe)Dugout Canoes$()", + "item": "beneath:wood/stripped_log/crimson" + }, + { + "type": "patchouli:text", + "text": "$(li)Crimson$()" + }, + { + "type": "patchouli:spotlight", + "title": "Hardwoods", + "text": "Known for their exceptional sturdiness, Hardwood trees are ideal for creating larger and sophisticated Watercrafts such as $(l:firmaciv/rowboat)Rowboats$() and $(l:firmaciv/sloop)Sloops$()", + "item": "beneath:wood/planks/warped" + }, + { + "type": "patchouli:text", + "text": "$(li)Warped$()" + } + ] +} \ No newline at end of file From a6c4e02e360da12c475f27ced600ec5499ff168c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 01:38:51 +0000 Subject: [PATCH 604/628] recolored diamond gregtech things --- kubejs/startup_scripts/gtceu/material_modification.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index f3639c0d4..58ef061c1 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -440,6 +440,8 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.RhodiumPlatedPalladium.setMaterialARGB(0xFFC2EC) GTMaterials.Rhenium.setMaterialARGB(0x8cb07f) GTMaterials.Rhenium.setMaterialSecondaryARGB(0x9ccbd6) + GTMaterials.Diamond.setMaterialARGB(0x4AEDD9) + GTMaterials.Diamond.setMaterialSecondaryARGB(0x1AAAA7) global.MINECRAFT_DYE_NAMES.forEach(colorName => { From 772d859d4b0f3c1b64383e0700516d9bd8f9fc18 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 01:42:06 +0000 Subject: [PATCH 605/628] changelog, langs --- CHANGELOG.md | 6 ++++++ kubejs/assets/tfg/lang/en_us.json | 8 ++++---- kubejs/assets/tfg/lang/ru_ru.json | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 993525886..359a6d617 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,11 @@ - Fixed/improved behaviour of GregTech solar things on non-overworld dimensions, so rain in the overworld doesn't stop the solar array from working on the moon, and mars sandstorms affect solar things as well (#2140) @Pyritie - Added missing recipes for some Steam 'n' Rails items, and changed the smokestacks to use cast iron instead of black steel (#2610) @thederpysockdude123 - Added missing recipes for new Hypertube redstone things (#2615) @Xtrial-01 +- Recolored diamond GregTech things to match the color of the vanilla diamond item @Pyritie +#### Hazard changes +- Added a new medical condition, Irradiated, caused by the Radioactive hazard which all radioactive things (including naquadria and neutronium) now have instead of Carcinogenic. It has the same symptoms/side effects as carcinogenic. +- Paracetamol now cures carcinogenic, and Rad-Away cures both carcinogenic and irradiated. This is because you encounter carcinogenic hazards much sooner than radioactive ones, so the only cure for radioactive being way in HV didn't make much sense. In order to change the effects of these pills, we had to make new items, so any existing ones won't have these changes, sorry. +- Weakly Poisonous is no longer permanent and heals over time like other conditions. ### Bug fixes - Fixed missing crafting table recipes for greate gearboxes (#2577) @Pyritie - Fixed crashing when attaching shafts to a steam engine (#2578, #2579) @Electrolyte220 @@ -36,6 +41,7 @@ - Fixed missing heat definition for soybeans (#2603) @Pyritie - Fixed crafting bacon removing all the other food traits @Pyritie - Fixed lamps costing 4x as much glass when crafted in an assembler as opposed to elsewhere (#2613) @Inceitious +- Fixed some inconsistent ladder recipes (#2616) @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Russian @Petr211071 diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 5529e7e5c..36c9c8dfd 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1452,8 +1452,8 @@ "effect.tfg.warming": "§6Warming", "effect.tfg.instant_radiation": "Instant Radiation", "effect.tfg.chemical_burns_warning": "Suffering Chemical Burns", - "effect.tfg.poison_warning": "Toxic Material", - "effect.tfg.weak_poison_warning": "Weakly Toxic Material", + "effect.tfg.poison_warning": "Poisonous Material", + "effect.tfg.weak_poison_warning": "Weakly Poisonous Material", "effect.tfg.irritant_warning": "Irritant Material", "effect.tfg.nausea_warning": "Nauseous Material", "effect.tfg.carcinogen_warning": "Carcinogenic Material", @@ -1464,7 +1464,7 @@ "effect.tfg.methanol_poisoning_warning": "Methanol Poisoning", "effect.tfg.carbon_monoxide_poisoning_warning": "Carbon Monoxide Poisoning", "effect.tfg.radioactive_warning": "Irradiated", - "gtceu.medical_condition.radioactive": "§4Irradiated", + "gtceu.medical_condition.radioactive": "§4Radioactive", "symptom.tfg.glowing": "Glowing", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", @@ -2333,7 +2333,7 @@ "quests.extreme_voltage.gasoline.desc": "&aGasoline&r is an extremely powerful Combustion Fuel. It's over &63 times&r as energy dense as &dDiesel&r!\n\n&9Note:&r This Combustion Fuel exists solely as a &echallenge&r for you to overcome if you desire to take on it.\n\nIt's completely &doptional&r, so we'll let you figure out how to obtain it, without any further tips.", "quests.extreme_voltage.radiation.title": "Dealing with Radiation", "quests.extreme_voltage.radiation.subtitle": "Extra Spicy Materials", - "quests.extreme_voltage.radiation.desc.1": "While GregTech doesn't have any sort of \"ambient radiation\" like some other mods do, &aradioactive materials&r are still dangerous to the player when held! This applies to any item that says it's &eCarcinogenic&r and is caused by &eAny Contact&r.\n\nThere's a few ways to mitigate this, and the easiest is to just avoid contact with the items in the first place - move them around with pipes, backpacks, or even Small Vessels. The less time you have them in your inventory, the better!", + "quests.extreme_voltage.radiation.desc.1": "While GregTech doesn't have any sort of \"ambient radiation\" like some other mods do, &aradioactive materials&r are still dangerous to the player when held! This applies to any item that says it's &4Radioactive&r and is caused by &eAny Contact&r.\n\nThere's a few ways to mitigate this, and the easiest is to just avoid contact with the items in the first place - move them around with pipes, backpacks, or even Small Vessels. The less time you have them in your inventory, the better!", "quests.extreme_voltage.radiation.desc.2": "Besides this, you'll want some other ways to protect yourself. Wearing equipment tagged as &e#ppe_armor&r in all four slots will protect you from radiation. However, this will still damage the equipment over time (at a rate equivalent to how much the radiation would affect you), &oexcept&r for the &6Hazardous Material Suit&r, which will never take damage from it.\n\nThe downside is that the hazmat suit isn't a space suit, so on Mars it's up to you whether you want to set up an enclosed Oxygenated base for the hazmat suit, or just take the durability damage on your space suit.", "quests.extreme_voltage.radiation.desc.3": "Lastly, you can check your radiation poisoning at any time with the &a/medical_condition query&r command. If it gets too high, you will start taking occasional damage or just suddenly die, so you want to prevent it.\n\nThe only other way to treat it is to craft and eat &bRad Away&r pills, which will each remove 50%% of the build-up.", "quests.extreme_voltage.radiation.task": "Safety First!", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index 748cdff1c..c022d36b7 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -2134,7 +2134,7 @@ "quests.extreme_voltage.gasoline.desc": "&aGasoline&r is an extremely powerful Combustion Fuel. It's over &63 times&r as energy dense as &dDiesel&r!\n\n&9Note:&r This Combustion Fuel exists solely as a &echallenge&r for you to overcome if you desire to take on it.\n\nIt's completely &doptional&r, so we'll let you figure out how to obtain it, without any further tips.", "quests.extreme_voltage.radiation.title": "Dealing with Radiation", "quests.extreme_voltage.radiation.subtitle": "Extra Spicy Materials", - "quests.extreme_voltage.radiation.desc.1": "While GregTech doesn't have any sort of \"ambient radiation\" like some other mods do, &aradioactive materials&r are still dangerous to the player when held! This applies to any item that says it's &eCarcinogenic&r and is caused by &eAny Contact&r.\n\nThere's a few ways to mitigate this, and the easiest is to just avoid contact with the items in the first place - move them around with pipes, backpacks, or even Small Vessels. The less time you have them in your inventory, the better!", + "quests.extreme_voltage.radiation.desc.1": "While GregTech doesn't have any sort of \"ambient radiation\" like some other mods do, &aradioactive materials&r are still dangerous to the player when held! This applies to any item that says it's &4Radioactive&r and is caused by &eAny Contact&r.\n\nThere's a few ways to mitigate this, and the easiest is to just avoid contact with the items in the first place - move them around with pipes, backpacks, or even Small Vessels. The less time you have them in your inventory, the better!", "quests.extreme_voltage.radiation.desc.2": "Besides this, you'll want some other ways to protect yourself. Wearing equipment tagged as &e#ppe_armor&r in all four slots will protect you from radiation. However, this will still damage the equipment over time (at a rate equivalent to how much the radiation would affect you), &oexcept&r for the &6Hazardous Material Suit&r, which will never take damage from it.\n\nThe downside is that the hazmat suit isn't a space suit, so on Mars it's up to you whether you want to set up an enclosed Oxygenated base for the hazmat suit, or just take the durability damage on your space suit.", "quests.extreme_voltage.radiation.desc.3": "Lastly, you can check your radiation poisoning at any time with the &a/medical_condition query&r command. If it gets too high, you will start taking occasional damage or just suddenly die, so you want to prevent it.\n\nThe only other way to treat it is to craft and eat &bRad Away&r pills, which will each remove 50%% of the build-up.", "quests.extreme_voltage.radiation.task": "Safety First!", From 4b97a0164c6becb312372eb40983a5b6610fbb26 Mon Sep 17 00:00:00 2001 From: Petr211071 <55793813+Petr211071@users.noreply.github.com> Date: Mon, 5 Jan 2026 04:57:00 +0300 Subject: [PATCH 606/628] ru_ru translation update (#2622) * Update arborfirmacraft.json Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * Update beneath.json Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * Marsian trees Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> * remove burn warning Signed-off-by: Pyritie --------- Signed-off-by: Petr211071 <55793813+Petr211071@users.noreply.github.com> Signed-off-by: Pyritie Co-authored-by: Pyritie --- .../entries/firmaciv/arborfirmacraft.json | 16 ++++++++-------- .../ru_ru/entries/firmaciv/beneath.json | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/arborfirmacraft.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/arborfirmacraft.json index 2e4f1ebc8..3ec25eb9c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/arborfirmacraft.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/arborfirmacraft.json @@ -8,30 +8,30 @@ "pages": [ { "type": "patchouli:text", - "text": "If you see Tualang or Fig trees in your travels, you'll be pleased to know that you'll be able to create $(l:firmaciv/watercraft)Boats$() with them just like any other kind of Wood" + "text": "Если во время своих путешествий вы встретите деревья Компассии или Инжира, вам будет приятно узнать, что из них можно создавать $(l:firmaciv/watercraft)Лодки$() так же, как и из любого другого вида древесины." }, { "type": "patchouli:empty" }, { "type": "patchouli:spotlight", - "title": "Softwoods", - "text": "Softwoods have sufficiently soft enough pulp and bark that they're perfect for creating $(l:firmaciv/canoe)Dugout Canoes$()", + "title": "Мягкие породы древесины", + "text": "Мягкие породы имеют достаточно мягкую древесину и кору, благодаря чему они идеально подходят для создания $(l:firmaciv/canoe)Долблёных каноэ$()", "item": "afc:wood/stripped_log/tualang,afc:wood/stripped_log/fig,afc:wood/stripped_log/cypress" }, { "type": "patchouli:text", - "text": "$(li)Tualang$() $(li)Fig$() $(li)Cypress$()" + "text": "$(li)Компассия$() $(li)Инжир$() $(li)Кипарис$()" }, { "type": "patchouli:spotlight", - "title": "Hardwoods", - "text": "Known for their exceptional sturdiness, Hardwood trees are ideal for creating larger and sophisticated Watercrafts such as $(l:firmaciv/rowboat)Rowboats$() and $(l:firmaciv/sloop)Sloops$()", + "title": "Твёрдые породы древесины", + "text": "Известные своей исключительной прочностью, твёрдые породы древесины идеально подходят для создания более крупных и сложных водных судов, таких как $(l:firmaciv/rowboat)Гребные Лодки$() и $(l:firmaciv/sloop)Шлюпы$()", "item": "afc:wood/planks/baobab,afc:wood/planks/eucalyptus,afc:wood/planks/mahogany,afc:wood/planks/hevea,afc:wood/planks/teak,afc:wood/planks/ironwood,afc:wood/planks/ipe" }, { "type": "patchouli:text", - "text": "$(li)Baobab$() $(li)Eucalyptus$() $(li)Mahogany$() $(li)Hevea$() $(li)Teak$() $(li)Ironwood$() $(li)Ipe$()" + "text": "$(li)Баобаб$() $(li)Эвкалипт$() $(li)Махагония$() $(li)Гевея$() $(li)Тиковое Дерево$() $(li)Железное Дерево$() $(li)Ипе$()" } ] -} \ No newline at end of file +} diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json index c69005a38..f15c477cb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json @@ -1,5 +1,5 @@ { - "name": "Beneath", + "name": "Бездна", "category": "tfc:firmaciv", "icon": "beneath:wood/sapling/crimson", "flag": "mod:beneath", @@ -8,30 +8,30 @@ "pages": [ { "type": "patchouli:text", - "text": "Deep within the nether you can utilize both Crimson and Warped wood to create some rather flashy $(l:firmaciv/watercraft)Boats$().$(br2)Format Error: Due to a limitation, Watercrafts created with these materials are NOT impervious to lava, you WILL sink and BURN." + "text": "Далеко-далеко, на самых дальних окраинах Марса вы можете найти и использовать Багряные и Искаженные деревья для создания $(l:firmaciv/watercraft)Лодок$()." }, { "type": "patchouli:empty" }, { "type": "patchouli:spotlight", - "title": "Softwoods", - "text": "Softwoods have sufficiently soft enough pulp and bark that they're perfect for creating $(l:firmaciv/canoe)Dugout Canoes$()", + "title": "Мягкие породы древесины", + "text": "Мягкие породы имеют достаточно мягкую древесину и кору, благодаря чему они идеально подходят для создания $(l:firmaciv/canoe)Долблёных каноэ$()", "item": "beneath:wood/stripped_log/crimson" }, { "type": "patchouli:text", - "text": "$(li)Crimson$()" + "text": "$(li)Багряная Древесина$()" }, { "type": "patchouli:spotlight", - "title": "Hardwoods", - "text": "Known for their exceptional sturdiness, Hardwood trees are ideal for creating larger and sophisticated Watercrafts such as $(l:firmaciv/rowboat)Rowboats$() and $(l:firmaciv/sloop)Sloops$()", + "title": "Твёрдые породы древесины", + "text": "Известные своей исключительной прочностью, твёрдые породы древесины идеально подходят для создания более крупных и сложных водных судов, таких как $(l:firmaciv/rowboat)Гребные Лодки$() и $(l:firmaciv/sloop)Шлюпы$()", "item": "beneath:wood/planks/warped" }, { "type": "patchouli:text", - "text": "$(li)Warped$()" + "text": "$(li)Искаженная Древесина$()" } ] -} \ No newline at end of file +} From b6c68ac93484ab0baa8f24b4247fa0c48e73d2d6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 02:04:46 +0000 Subject: [PATCH 607/628] buffed hp of beasts --- CHANGELOG.md | 1 + .../tfg/worldgen/{entities.js => events.entities.js} | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) rename kubejs/server_scripts/tfg/worldgen/{entities.js => events.entities.js} (99%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 359a6d617..e05e27ca4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - Added missing recipes for some Steam 'n' Rails items, and changed the smokestacks to use cast iron instead of black steel (#2610) @thederpysockdude123 - Added missing recipes for new Hypertube redstone things (#2615) @Xtrial-01 - Recolored diamond GregTech things to match the color of the vanilla diamond item @Pyritie +- Buffed the HP of the Illager Beast @Pyritie #### Hazard changes - Added a new medical condition, Irradiated, caused by the Radioactive hazard which all radioactive things (including naquadria and neutronium) now have instead of Carcinogenic. It has the same symptoms/side effects as carcinogenic. - Paracetamol now cures carcinogenic, and Rad-Away cures both carcinogenic and irradiated. This is because you encounter carcinogenic hazards much sooner than radioactive ones, so the only cure for radioactive being way in HV didn't make much sense. In order to change the effects of these pills, we had to make new items, so any existing ones won't have these changes, sorry. diff --git a/kubejs/server_scripts/tfg/worldgen/entities.js b/kubejs/server_scripts/tfg/worldgen/events.entities.js similarity index 99% rename from kubejs/server_scripts/tfg/worldgen/entities.js rename to kubejs/server_scripts/tfg/worldgen/events.entities.js index a0fdce629..8534d677a 100644 --- a/kubejs/server_scripts/tfg/worldgen/entities.js +++ b/kubejs/server_scripts/tfg/worldgen/events.entities.js @@ -2,6 +2,9 @@ "use strict"; const NEW_MOB_MAX_HP = { + // earth mobs + "primitive_creatures:beast": 40, + // moon mobs "endermanoverhaul:end_enderman": 50, "endermanoverhaul:end_islands_enderman": 120, @@ -165,7 +168,6 @@ EntityEvents.spawned((event) => { } } - let newArmor = NEW_MOB_ARMOR[type] ?? 0; if (newArmor !== 0) { let baseArmor = entity.armor; From b50c48c0353f562f8e1e2c1a077f3802795f8075 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 02:07:20 +0000 Subject: [PATCH 608/628] rename the beneath boat entry --- .../field_guide/en_us/entries/firmaciv/beneath.json | 2 +- .../field_guide/ru_ru/entries/firmaciv/beneath.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json index 546f5f928..38da342d6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/firmaciv/beneath.json @@ -1,5 +1,5 @@ { - "name": "Beneath", + "name": "Martian Boats", "category": "tfc:firmaciv", "icon": "beneath:wood/sapling/crimson", "flag": "mod:beneath", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json index f15c477cb..72dd719ef 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/firmaciv/beneath.json @@ -1,5 +1,5 @@ { - "name": "Бездна", + "name": "Mарсианские лодки", "category": "tfc:firmaciv", "icon": "beneath:wood/sapling/crimson", "flag": "mod:beneath", From 0c56f0e7a80436a3b25ddf1f17b5ae62b44b784f Mon Sep 17 00:00:00 2001 From: Yan <115050813@qq.com> Date: Mon, 5 Jan 2026 13:45:29 +0800 Subject: [PATCH 609/628] feat: update zh_cn translation (#2623) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 闫茂源 --- .../zh_cn/entries/firmaciv/beneath.json | 37 +++++++++++++++++++ .../entries/tfg_tips/blast_furnace_tips.json | 6 +-- 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json new file mode 100644 index 000000000..bcaf258e9 --- /dev/null +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/firmaciv/beneath.json @@ -0,0 +1,37 @@ +{ + "name": "幽冥之地", + "category": "tfc:firmaciv", + "icon": "beneath:wood/sapling/crimson", + "flag": "mod:beneath", + "read_by_default": true, + "sortnum": 100, + "pages": [ + { + "type": "patchouli:text", + "text": "在火星遥远的边疆,你可以找到绯红木和诡异木,用来建造相当不错的$(l:firmaciv/watercraft)船$()。" + }, + { + "type": "patchouli:empty" + }, + { + "type": "patchouli:spotlight", + "title": "软木", + "text": "软木的木质和树皮足够柔软,非常适合制作$(l:firmaciv/canoe)独木舟$()。", + "item": "beneath:wood/stripped_log/crimson" + }, + { + "type": "patchouli:text", + "text": "$(li)绯红木$()" + }, + { + "type": "patchouli:spotlight", + "title": "硬木", + "text": "硬木以其卓越的坚固性著称,是建造更大、更精密船只的理想选择,例如$(l:firmaciv/rowboat)划艇$()和$(l:firmaciv/sloop)单桅纵帆船$()。", + "item": "beneath:wood/planks/warped" + }, + { + "type": "patchouli:text", + "text": "$(li)诡异木$()" + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json index c4fcfc9da..69ac4a0e3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/blast_furnace_tips.json @@ -12,7 +12,7 @@ { "type": "patchouli:spotlight", "item": "gtceu:compressed_fireclay", - "text": "在将耐火黏土全部用于制作20块耐火砖前,请注意:进入蒸汽时代后,你可通过$(item)压缩耐火黏土$()(需要蒸汽机器制备黏土粉)仅用黏土制作耐火砖。这能让你节省$(item)高岭土$()与$(item)石墨$()用于制作$(thing)铸造台$()。" + "text": "在将耐火黏土全部用于制作20块耐火砖前,请注意:进入蒸汽时代后,你就能以低得多的成本制作它。这能让你节省$(item)高岭土$()与$(item)石墨$()用于制作$(thing)铸造台$()。" }, { "type": "patchouli:spotlight", @@ -32,11 +32,11 @@ }, { "type": "patchouli:text", - "text": "你可以使用机械动力的$(item)动力泵$()直接从高炉泵出液态金属。将其导入$(l:tfc:tfcchannelcasting/channel_casting)铸造台$()后,用漏斗或溜槽提取锭——轻松实现自动化!$(br2)还可使用$(item)机械手$()自动拉动风箱!但需注意:过度使用风箱会加速燃料消耗并加快$(thing)吹风管$()的损坏速度。$(br2)产出的$(item)生铁$()与$(item)高碳钢$()可通过$(thing)锻造锤$()进行加工。" + "text": "你可以使用机械动力的$(item)动力泵$()直接从高炉泵出液态金属。将其导入$(l:tfc:tfcchannelcasting/channel_casting)铸造台$()后,用漏斗或溜槽提取锭——轻松实现自动化!$(br2)还可使用$(item)机械手$()自动拉动风箱!但需注意:过度使用风箱会加速燃料消耗并加快$(thing)吹风管$()的损坏速度。$(br2)产出的$(item)生铁$()与$(item)高碳钢$()可通过$(thing)锻造锤$()或$(thing)杠杆锤$()进行加工。" }, { "type": "patchouli:text", - "text": "你可以用朝向高炉的漏斗自动替换破损的风管。" + "text": "你可以用朝向高炉的漏斗或物品管道自动替换破损的风管。" } ] } \ No newline at end of file From 2e6f78845c548bc59ebacae17bd1efae356bdd1f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:13:51 +0000 Subject: [PATCH 610/628] add recipe to make unrefined paper with the helve #2621 --- CHANGELOG.md | 1 + kubejs/server_scripts/tfg/primitive/recipes.paper.js | 2 ++ kubejs/server_scripts/vintage_improvements/recipes.js | 11 +++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e05e27ca4..240953a52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Added missing recipes for new Hypertube redstone things (#2615) @Xtrial-01 - Recolored diamond GregTech things to match the color of the vanilla diamond item @Pyritie - Buffed the HP of the Illager Beast @Pyritie +- Added a thermochemically treated hardwood dust -> soaked unrefined paper recipe to the helve hammer (#2621) @Pyritie #### Hazard changes - Added a new medical condition, Irradiated, caused by the Radioactive hazard which all radioactive things (including naquadria and neutronium) now have instead of Carcinogenic. It has the same symptoms/side effects as carcinogenic. - Paracetamol now cures carcinogenic, and Rad-Away cures both carcinogenic and irradiated. This is because you encounter carcinogenic hazards much sooner than radioactive ones, so the only cure for radioactive being way in HV didn't make much sense. In order to change the effects of these pills, we had to make new items, so any existing ones won't have these changes, sorry. diff --git a/kubejs/server_scripts/tfg/primitive/recipes.paper.js b/kubejs/server_scripts/tfg/primitive/recipes.paper.js index 63cc6a933..9fba0ec9e 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.paper.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.paper.js @@ -156,9 +156,11 @@ function registerTFGPapermakingRecipes(event) { //Beat thermochemically treated hardwood dust into soaked unrefined paper event.recipes.tfc.anvil('tfg:soaked_unrefined_paper', 'gtceu:thermochemically_treated_hardwood_dust', ['hit_last', 'hit_second_last', 'hit_third_last']) .id('tfg:anvil/soaked_unrefined_paper') + event.recipes.greate.pressing(Item.of('tfg:soaked_unrefined_paper'), 'gtceu:thermochemically_treated_hardwood_dust') .recipeTier(0) .id('greate:pressing/soaked_unrefined_paper') + event.custom({ type: "firmalife:stomping", ingredient: { diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 982e93d67..5bbe2ba16 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -166,8 +166,7 @@ function registerVintageImprovementsRecipes(event) { ] let HAMMERING_ITEMS = [ - { input: 'tfc:raw_iron_bloom', output: 'tfc:refined_iron_bloom', blows: STARTING_BLOWS }, - { input: 'tfc:refined_iron_bloom', output: 'gtceu:wrought_iron_ingot', blows: STARTING_BLOWS } + { input: 'gtceu:thermochemically_treated_hardwood_dust', output: 'tfg:soaked_unrefined_paper', blows: STARTING_BLOWS } ] HAMMERING_MATERIALS.forEach(x => { @@ -175,6 +174,11 @@ function registerVintageImprovementsRecipes(event) { x.blows--; }) + HAMMERING_ITEMS.forEach(x => { + generateHammeringRecipe(event, x.material, x.blows, 'copper'); + x.blows--; + }) + // Tier 2 HAMMERING_MATERIALS.push({ material: GTMaterials.Bronze, blows: STARTING_BLOWS }) HAMMERING_MATERIALS.push({ material: GTMaterials.BlackBronze, blows: STARTING_BLOWS }) @@ -183,6 +187,9 @@ function registerVintageImprovementsRecipes(event) { HAMMERING_MATERIALS.push({ material: GTMaterials.RedAlloy, blows: STARTING_BLOWS }) HAMMERING_MATERIALS.push({ material: GTMaterials.Potin, blows: STARTING_BLOWS }) + HAMMERING_ITEMS.push({ input: 'tfc:raw_iron_bloom', output: 'tfc:refined_iron_bloom', blows: STARTING_BLOWS }) + HAMMERING_ITEMS.push({ input: 'tfc:refined_iron_bloom', output: 'gtceu:wrought_iron_ingot', blows: STARTING_BLOWS }) + HAMMERING_MATERIALS.forEach(x => { generateHammeringRecipe(event, x.material, x.blows, 'bronze'); generateHammeringRecipe(event, x.material, x.blows, 'black_bronze'); From 16c44e78fb2dcadcfd3162b851b5222caad621e7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:14:17 +0000 Subject: [PATCH 611/628] nah ok this can start with fewer hits --- kubejs/server_scripts/vintage_improvements/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 5bbe2ba16..59f60bc7b 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -166,7 +166,7 @@ function registerVintageImprovementsRecipes(event) { ] let HAMMERING_ITEMS = [ - { input: 'gtceu:thermochemically_treated_hardwood_dust', output: 'tfg:soaked_unrefined_paper', blows: STARTING_BLOWS } + { input: 'gtceu:thermochemically_treated_hardwood_dust', output: 'tfg:soaked_unrefined_paper', blows: 3 } ] HAMMERING_MATERIALS.forEach(x => { From 71ad3bf3aabf8279aaff8739875cb2932ab14b0e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:22:02 +0000 Subject: [PATCH 612/628] langs --- kubejs/assets/gtceu/lang/zh_cn.json | 2 +- kubejs/assets/tfg/lang/zh_cn.json | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index dfb3968e8..b56445918 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -193,10 +193,10 @@ "material.gtceu.uranium_pellet": "铀燃料丸", "material.gtceu.thorium_pellet": "钍燃料丸", "material.gtceu.ostrum_iodide": "碘化紫金", - "material.gtceu.residual_radioactive_concoction": "放射性残液", "material.gtceu.americium": "镅-243", "material.gtceu.uranium": "铀-238", "material.gtceu.plutonium": "钚-239", + "material.gtceu.residual_radioactive_concoction": "放射性残液", "material.gtceu.regolith_vapor": "风化土蒸气", "material.gtceu.dense_ostrum_vapor": "致密紫金蒸气", "material.gtceu.lightweight_ostrum_vapor": "轻质紫金蒸气", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 29ee52cf9..231c5ca62 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1548,6 +1548,9 @@ "effect.tfg.berylliosis_warning": "铍中毒", "effect.tfg.methanol_poisoning_warning": "甲醇中毒", "effect.tfg.carbon_monoxide_poisoning_warning": "一氧化碳中毒", + "effect.tfg.radioactive_warning": "辐射", + "gtceu.medical_condition.radioactive": "§4辐射性", + "symptom.tfg.glowing": "发光", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "§7风力磨坊的效率受其相对", @@ -2230,8 +2233,8 @@ "quests.extreme_voltage.refrigerant_pellet.desc": "&d钚燃料棒&r运行时会产生极高温度——事实上,你需要在使用&b制冷剂丸&r才能防止反应堆进入冷却模式。\n\n这种丸粒生产成本较高,但你仍可在早期实现批量生产,至少足够支撑最初几根钚燃料棒的运行。单根钚燃料棒全周期运行约需&9256&r颗制冷剂丸。\n\n后续若不愿持续制作这种消耗品,你将能使用&6高级反应堆组件&r。安装后反应堆最大热容量可安全提升至&e600&r,显著增强效率与稳定性。\n\n尽早投资升级内部部件,方能减少对能源核心的频繁维护。", "quests.extreme_voltage.important_info.title": "前期准备", "quests.extreme_voltage.important_info.subtitle": "开局并非易事", - "quests.extreme_voltage.important_info.desc.1": "在&c火星&r建立基地前,以下几点关键建议将助你成功立足:\n\n探索时你可能会发现&6火星遗迹&r,其中藏有&e原子机械方块&r与&e高温冶炼机械方块&r。这些虽不足以满足后期庞大需求,但能为选址期间的你提供初期优势。", - "quests.extreme_voltage.important_info.desc.2": "火星基地建设主要有两种方案:\n\n•&a准备优先型&r:在定居前预先造齐完整&6裂变生产线&r所需设施。这意味着巨额材料投入,但投产后可实现自给自足。\n\n•&a渐进建设型&r:先搭建&6核燃料工厂&r、首座&e钍燃料&r&6裂变反应堆&r及&6核能蒸汽涡轮&r。此方案启动更快,但在裂变系统稳定前能源管理将较为艰难。\n\n无论选择哪种路径,我们都建议在定居前先开展勘探任务!", + "quests.extreme_voltage.important_info.desc.1": "在&c火星&r建立基地前,以下几点关键建议将助你成功立足:\n\n在打造一套完整的基地建设方案之前,我们建议你先进行一次勘探任务,再决定落脚点!", + "quests.extreme_voltage.important_info.desc.2": "火星基地建设主要有两种方案:\n\n•&a准备优先型&r:在定居前预先造齐完整&6裂变生产线&r所需设施。这意味着巨额材料投入,但投产后可实现自给自足。\n\n•&a渐进建设型&r:先搭建&6核燃料工厂&r、首座&e钍燃料&r&6裂变反应堆&r及&6核能蒸汽涡轮&r。此方案启动更快,但在裂变系统稳定前能源管理将较为艰难。", "quests.extreme_voltage.important_info.desc.3": "由于火星上所有燃烧供能方式均无效,你需要储备足量&b兰波顿水晶&r为初始配方及供氧系统供能。\n\n强烈建议建立&6蒸馏塔&r:&e火星大气&r可被加工成可呼吸的&b空气&r与多种实用气体。此外,压缩氮氧混合气所需原料皆可取自本地的半重氨水。\n\n火星生存不靠运气,全靠准备充分!", "quests.extreme_voltage.important_info.task": "火星时间到", "quests.extreme_voltage.dense_lead.title": "加速生产致密铅板", @@ -2415,7 +2418,7 @@ "quests.extreme_voltage.gasoline.desc": "&a汽油&r是一种能量密度极高的内燃机燃料,其能量密度超过&d柴油&r的&63倍&r还多!\n\n&9注意:&r该燃料的设计初衷是作为一项&e技术挑战&r供玩家攻克,是否尝试完全取决于你的选择。\n\n由于这是完全&d可选&r的内容,我们将不会提供任何提示,请自行探索获取方式。", "quests.extreme_voltage.radiation.title": "处理辐射", "quests.extreme_voltage.radiation.subtitle": "额外辛辣的材料", - "quests.extreme_voltage.radiation.desc.1": "虽然格雷科技不像某些模组那样设置\"环境辐射\",但&a放射性材料&r在被玩家持有时仍然具有危险性!这适用于所有标注&e致癌&r且注明&e任何方式&r触发说明的物品。\n\n应对措施有多种,最简便的方式是彻底避免接触——通过管道、背包乃至小型容器转移这些物品。它们在物品栏中停留的时间越短越好!", + "quests.extreme_voltage.radiation.desc.1": "虽然格雷科技不像某些模组那样设置\"环境辐射\",但&a放射性材料&r在被玩家持有时仍然具有危险性!这适用于所有标注&4辐射性&r且注明&e任何方式&r触发说明的物品。\n\n应对措施有多种,最简便的方式是彻底避免接触——通过管道、背包乃至小型容器转移这些物品。它们在物品栏中停留的时间越短越好!", "quests.extreme_voltage.radiation.desc.2": "此外,你还需要其他防护手段。在四个装备槽位穿戴标有&e#ppe_armor&r的防护装备可有效抵御辐射。不过这些装备会随时间推移逐渐损耗(损耗速率与辐射对你的影响程度成正比),&o但&r&6危险材料防护服&r能完全免疫辐射损伤。\n\n需要注意的是,危险材料防护服不具备太空服功能。在火星上,你可以选择建造封闭式充氧基地来使用防护服,或是让太空服照单全收耐久损耗。", "quests.extreme_voltage.radiation.desc.3": "最后,你可以随时使用&a/medical_condition query&r指令检查辐射中毒程度。若辐射值过高,你将开始持续受到伤害甚至突发性暴毙,因此务必做好预防措施。\n\n目前唯一的治疗手段是制作并服用&b消辐宁&r药丸,每颗可消除50%%的辐射积累量。", "quests.extreme_voltage.radiation.task": "安全第一!", From 45aca7793cb9b80123c888919b1630f8e48c0ed0 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:27:08 +0000 Subject: [PATCH 613/628] age=7 doesn't exist --- kubejs/assets/tfg/blockstates/flax.json | 6 ------ kubejs/assets/tfg/blockstates/rapeseed.json | 6 ------ kubejs/assets/tfg/blockstates/sunflower.json | 6 ------ 3 files changed, 18 deletions(-) diff --git a/kubejs/assets/tfg/blockstates/flax.json b/kubejs/assets/tfg/blockstates/flax.json index 629893c44..0b8a1e705 100644 --- a/kubejs/assets/tfg/blockstates/flax.json +++ b/kubejs/assets/tfg/blockstates/flax.json @@ -21,9 +21,6 @@ "age=6,part=bottom": { "model": "tfg:block/crop/flax_age_6_bottom" }, - "age=7,part=bottom": { - "model": "tfg:block/crop/flax_age_6_bottom" - }, "age=4,part=top": { "model": "tfg:block/crop/flax_age_4_top" }, @@ -32,9 +29,6 @@ }, "age=6,part=top": { "model": "tfg:block/crop/flax_age_6_top" - }, - "age=7,part=top": { - "model": "tfg:block/crop/flax_age_6_top" } } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rapeseed.json b/kubejs/assets/tfg/blockstates/rapeseed.json index a7baeaf1f..45d32774b 100644 --- a/kubejs/assets/tfg/blockstates/rapeseed.json +++ b/kubejs/assets/tfg/blockstates/rapeseed.json @@ -21,9 +21,6 @@ "age=6,part=bottom": { "model": "tfg:block/crop/rapeseed_age_5_bottom" }, - "age=7,part=bottom": { - "model": "tfg:block/crop/rapeseed_age_5_bottom" - }, "age=3,part=top": { "model": "tfg:block/crop/rapeseed_age_3_top" }, @@ -35,9 +32,6 @@ }, "age=6,part=top": { "model": "tfg:block/crop/rapeseed_age_5_top" - }, - "age=7,part=top": { - "model": "tfg:block/crop/rapeseed_age_5_top" } } } \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/sunflower.json b/kubejs/assets/tfg/blockstates/sunflower.json index 0860279df..8708a43c7 100644 --- a/kubejs/assets/tfg/blockstates/sunflower.json +++ b/kubejs/assets/tfg/blockstates/sunflower.json @@ -21,9 +21,6 @@ "age=6,part=bottom": { "model": "tfg:block/crop/sunflower_age_5_bottom" }, - "age=7,part=bottom": { - "model": "tfg:block/crop/sunflower_age_5_bottom" - }, "age=4,part=top": { "model": "tfg:block/crop/sunflower_age_4_top" }, @@ -32,9 +29,6 @@ }, "age=6,part=top": { "model": "tfg:block/crop/sunflower_age_5_top" - }, - "age=7,part=top": { - "model": "tfg:block/crop/sunflower_age_5_top" } } } \ No newline at end of file From e57e1cff5976140fad0e05f78e317cc04d3b1d20 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:28:57 +0000 Subject: [PATCH 614/628] fix some warnings --- .../en_us/entries/getting_started/primitive_alloys.json | 2 +- .../field_guide/en_us/entries/tfg_tips/space_crops.json | 2 +- .../uk_ua/entries/getting_started/primitive_alloys.json | 2 +- .../field_guide/uk_ua/entries/tfg_tips/space_crops.json | 2 +- .../zh_cn/entries/getting_started/primitive_alloys.json | 2 +- .../field_guide/zh_cn/entries/tfg_tips/space_crops.json | 2 +- kubejs/server_scripts/tfg/mars/tags.mars.js | 2 +- kubejs/startup_scripts/tfg/blocks.crops.js | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json index a76be7b4e..2ee28c3ce 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/getting_started/primitive_alloys.json @@ -71,6 +71,6 @@ "gtceu:bronze_ingot": 3, "gtceu:bismuth_bronze_ingot": 4, "gtceu:black_bronze_ingot": 5, - "gtceu:brass_ingot": 7 + "create:brass_ingot": 7 } } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json index 2f32f2dfd..5215f5ffe 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_tips/space_crops.json @@ -564,7 +564,7 @@ "betterend:blossom_berry_product": 6, "betterend:bolux_mushroom_seeds": 8, "betterend:bolux_mushroom_product": 8, - "betterend:cave_pumpkin_seeds": 10, + "betterend:cave_pumpkin_plant_seeds": 10, "betterend:cave_pumpkin": 10, "betterend:chorus_mushroom_seeds": 12, "betterend:chorus_mushroom_product": 12, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json index f0e4b73b1..c9d01025d 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/getting_started/primitive_alloys.json @@ -71,6 +71,6 @@ "gtceu:bronze_ingot": 3, "gtceu:bismuth_bronze_ingot": 4, "gtceu:black_bronze_ingot": 5, - "gtceu:brass_ingot": 7 + "create:brass_ingot": 7 } } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json index 232167ded..7b4872ac3 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_tips/space_crops.json @@ -564,7 +564,7 @@ "betterend:blossom_berry_product": 6, "betterend:bolux_mushroom_seeds": 8, "betterend:bolux_mushroom_product": 8, - "betterend:cave_pumpkin_seeds": 10, + "betterend:cave_pumpkin_plant_seeds": 10, "betterend:cave_pumpkin": 10, "betterend:chorus_mushroom_seeds": 12, "betterend:chorus_mushroom_product": 12, diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json index 627d4d5fa..1f30078e7 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/getting_started/primitive_alloys.json @@ -71,6 +71,6 @@ "gtceu:bronze_ingot": 3, "gtceu:bismuth_bronze_ingot": 4, "gtceu:black_bronze_ingot": 5, - "gtceu:brass_ingot": 7 + "create:brass_ingot": 7 } } \ No newline at end of file diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json index aa0245291..6f0d63e1b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_tips/space_crops.json @@ -564,7 +564,7 @@ "betterend:blossom_berry_product": 6, "betterend:bolux_mushroom_seeds": 8, "betterend:bolux_mushroom_product": 8, - "betterend:cave_pumpkin_seeds": 10, + "betterend:cave_pumpkin_plant_seeds": 10, "betterend:cave_pumpkin": 10, "betterend:chorus_mushroom_seeds": 12, "betterend:chorus_mushroom_product": 12, diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js index bd1cbc9ef..202f69c27 100644 --- a/kubejs/server_scripts/tfg/mars/tags.mars.js +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -60,7 +60,7 @@ function registerTFGMarsItemTags(event) { event.add('forge:seeds', 'betterend:amber_root_seeds') event.add('forge:seeds', 'betterend:blossom_berry_seeds') event.add('forge:seeds', 'betterend:bolux_mushroom_seeds') - event.add('forge:seeds', 'betterend:cave_pumpkin_seeds') + event.add('forge:seeds', 'betterend:cave_pumpkin_plant_seeds') event.add('forge:seeds', 'betterend:shadow_berry_seeds') event.add('tfc:foods', 'betterend:amber_root_product') diff --git a/kubejs/startup_scripts/tfg/blocks.crops.js b/kubejs/startup_scripts/tfg/blocks.crops.js index 289eee7d1..700f6610d 100644 --- a/kubejs/startup_scripts/tfg/blocks.crops.js +++ b/kubejs/startup_scripts/tfg/blocks.crops.js @@ -198,7 +198,7 @@ const registerTFGCrops = (event) => { .type('spreading') .soundType('crop') .spreadingFruitBlock('betterend:cave_pumpkin') - .seeds('betterend:cave_pumpkin_seeds') + .seeds('betterend:cave_pumpkin_plant_seeds') .hardness(0.2) .tagBoth('tfc:wild_crops') .tagBlock('minecraft:mineable/hoe') From d55d1fac3bc3309e9ef4f300c9cda03babf506de Mon Sep 17 00:00:00 2001 From: Xikaro Date: Mon, 5 Jan 2026 17:29:39 +0500 Subject: [PATCH 615/628] feat: docker --- .github/workflows/build.yml | 48 ++++++++++++++++------ .gitignore | 17 +++++--- .pakku/docker-overrides/docker-compose.yml | 30 ++++++++++++++ .pakku/server-overrides/server.properties | 2 +- 4 files changed, 77 insertions(+), 20 deletions(-) create mode 100644 .pakku/docker-overrides/docker-compose.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1e719ced3..7e3648d1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -327,19 +327,23 @@ jobs: sed -i -e "s/DEV/${VERSION}/g" pakku.json + sed -i -e "s/DEV/${VERSION}/g" .github/docker/docker-compose.yml sed -i -e "s/DEV/${VERSION}/g" config/mod-director/modpack.json sed -i -e "s/DEV/${VERSION}/g" config/fancymenu/customization/gui_main_menu.txt - sed -i -e "s/DEV/${VERSION}/g" .pakku/multimc-overrides/instance.cfg - sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json - sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" .pakku/multimc-overrides/mmc-pack.json - sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json + sed -i -e "s/DEV/${VERSION}/g" .pakku/server-overrides/server.properties + + sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json sed -i -e "s/LOADER_VERSION/${LOADER_VERSION}/g" .pakku/server-overrides/forge-auto-install.txt + + sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" .pakku/multimc-overrides/mmc-pack.json sed -i -e "s/LOADER_TYPE/${LOADER_TYPE}/g" .pakku/server-overrides/forge-auto-install.txt + + sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/multimc-overrides/mmc-pack.json sed -i -e "s/MINECRAFT_VERSION/${MINECRAFT_VERSION}/g" .pakku/server-overrides/forge-auto-install.txt - - name: 📝 Cache pakku + - name: 📝 Cache Pakku uses: actions/cache@v5.0.1 id: cache with: @@ -347,7 +351,7 @@ jobs: key: pakku-cache-${{ hashFiles('pakku-lock.json') }} restore-keys: pakku-cache- - - name: 📦 Export modpack + - name: 📦 Export Modpack run: | # curl https://github.com/juraj-hrivnak/pakku/releases/latest/download/pakku.jar -o pakku.jar -L -J java -jar pakku.jar fetch @@ -356,7 +360,7 @@ jobs: mkdir -p .pakku/multimc-overrides/flame mkdir -p .pakku/multimc-overrides/mods - - name: 📁 Preparing the artifact curseforge + - name: 📁 Preparing the artifact CurseForge run: | cd ./build/curseforge/ mv *.zip $(basename -s .zip *.zip)-curseforge.zip @@ -368,19 +372,19 @@ jobs: path: ./build/curseforge/${{ needs.info.outputs.project_full_name }}-curseforge.zip if-no-files-found: error - - name: 📁 Preparing the artifact modrinth + - name: 📁 Preparing the artifact Modrinth run: | cd ./build/modrinth/ mv *.mrpack $(basename -s .mrpack *.mrpack)-modrinth.mrpack - - name: 🚀 Upload artifact modrinth + - name: 🚀 Upload artifact Modrinth uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-modrinth path: ./build/modrinth/${{ needs.info.outputs.project_full_name }}-modrinth.mrpack if-no-files-found: warn - - name: 📁 Preparing the artifact multimc + - name: 📁 Preparing the artifact MultiMC run: | mkdir -p .pakku/multimc-overrides/flame mkdir -p .pakku/multimc-overrides/mods @@ -397,25 +401,39 @@ jobs: cd ./build/multimc/ zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/ - - name: 🚀 Upload artifact multimc + - name: 🚀 Upload artifact MultiMC uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-multimc path: ./build/multimc/${{ needs.info.outputs.project_full_name }}-multimc.zip if-no-files-found: error - - name: 📁 Preparing the artifact server + - name: 📁 Preparing the artifact Server run: | cd ./build/serverpack/ mv *.zip $(basename -s .zip *.zip)-serverpack.zip - - name: 🚀 Upload artifact server + - name: 🚀 Upload artifact Server uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-serverpack path: ./build/serverpack/${{ needs.info.outputs.project_full_name }}-serverpack.zip if-no-files-found: error + - name: 📁 Preparing the artifact Docker + run: | + mv -vf .pakku/docker-overrides ./build/docker + + cd ./build/docker/ + mv *.yml $(basename -s .yml *.yml)-docker.yml + + - name: 🚀 Upload Docker Artifact + uses: actions/upload-artifact@v6.0.0 + with: + name: ${{ needs.info.outputs.project_full_name }}-docker + path: ./.github/docker/${{ needs.info.outputs.project_full_name }}-docker.yml + if-no-files-found: error + release-github: name: 🚀 Release to GitHub needs: [info, build-project] @@ -449,6 +467,9 @@ jobs: if [ ! -f ${{ needs.info.outputs.project_full_name }}-multimc.zip ]; then echo '::error::No value found for artifact `multimc.zip`.' && exit 1 fi + if [ ! -f ${{ needs.info.outputs.project_full_name }}-docker.yml ]; then + echo '::error::No value found for artifact `docker.yml`.' && exit 1 + fi echo "✔️ All artifacts found" - name: 📄 Format diff @@ -476,6 +497,7 @@ jobs: ${{ needs.info.outputs.project_full_name }}-modrinth.mrpack ${{ needs.info.outputs.project_full_name }}-serverpack.zip ${{ needs.info.outputs.project_full_name }}-multimc.zip + ${{ needs.info.outputs.project_full_name }}-docker.yml prerelease: ${{ needs.info.outputs.release_type != 'release' }} generate_release_notes: true token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 36bbc1365..6237e42b1 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,10 @@ build/ !.pakku/**/* !pakku.jar +# Docker +/.github/docker/data +/.github/docker/backups + # Configs config/jei/world/ config/gregtech/terminal/ @@ -62,9 +66,11 @@ defaultconfigs/ftbranks/players.snbt !bansoukou/**.zip -/.bobby/ -/.mixin.out/ +/.bobby +/.mixin.out /tacz/tacz_default_gun +/tacz_backup +/moonlight-global-datapacks /classOut /backups /profileImage @@ -93,6 +99,9 @@ defaultconfigs/ftbranks/players.snbt /gtceu/prospection_cache /data /ESM +/schematics +/scripts +/gtceu # Client data bansoukou @@ -128,7 +137,3 @@ libEffekseerNativeForJava.so # .pakku/server-overrides/scripts # .pakku/server-overrides/mods # .pakku/server-overrides/user_jvm_args.txt - - - - diff --git a/.pakku/docker-overrides/docker-compose.yml b/.pakku/docker-overrides/docker-compose.yml new file mode 100644 index 000000000..23e50b657 --- /dev/null +++ b/.pakku/docker-overrides/docker-compose.yml @@ -0,0 +1,30 @@ +services: + minecraft: + image: itzg/minecraft-server:latest + container_name: terrafirmagreg-modern + tty: true + stdin_open: true + ports: + - "25565:25565" + environment: + EULA: "true" + ENABLE_RCON: "false" + GUI: "false" + MEMORY: 8G + + TYPE: CUSTOM + CUSTOM_SERVER: ./minecraft_server.jar + SKIP_GENERIC_PACK_UPDATE_CHECK: "true" + OVERRIDE_SERVER_PROPERTIES: "false" + + + GENERIC_PACKS: TerraFirmaGreg-Modern-DEV-serverpack + GENERIC_PACKS_SUFFIX: .zip + GENERIC_PACKS_PREFIX: https://github.com/TerraFirmaGreg-Team/Modpack-Modern/releases/download/DEV/ + + volumes: + - ./data:/data + - ./backups:/backups + +volumes: + minecraft-data: diff --git a/.pakku/server-overrides/server.properties b/.pakku/server-overrides/server.properties index 918e3e5f0..ee7804237 100644 --- a/.pakku/server-overrides/server.properties +++ b/.pakku/server-overrides/server.properties @@ -29,7 +29,7 @@ max-chained-neighbor-updates=1000000 max-players=64 max-tick-time=600000 max-world-size=29999984 -motd=[TerraFirmaGreg-Modern] +motd=[TerraFirmaGreg-Modern] Server DEV network-compression-threshold=256 online-mode=true op-permission-level=4 From 9cdd11646c979a4461163bad52bd1a5abdf60626 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:43:40 +0000 Subject: [PATCH 616/628] quest tweaks + langs --- .../quests/chapters/ev__extreme_voltage.snbt | 1 + .../quests/chapters/gregtech_energy.snbt | 1 + .../quests/chapters/mv__medium_voltage.snbt | 5 +-- .../assets/tfcchannelcasting/lang/ru_ru.json | 40 +++++++++++++++++++ kubejs/assets/tfg/lang/en_us.json | 6 +-- kubejs/assets/tfg/lang/fr_fr.json | 6 +-- 6 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 kubejs/assets/tfcchannelcasting/lang/ru_ru.json diff --git a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt index 12b4667e5..587b6037c 100644 --- a/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt +++ b/config/ftbquests/quests/chapters/ev__extreme_voltage.snbt @@ -64,6 +64,7 @@ { id: "2151F8AA263F1D6E" linked_quest: "6ECAD339C91EF194" + shape: "heart" x: 4.0d y: -5.5d } diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt index 6cecc3a84..a962839dd 100644 --- a/config/ftbquests/quests/chapters/gregtech_energy.snbt +++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt @@ -241,6 +241,7 @@ description: ["{quests.gregtech_energy.transformer.desc}"] icon: "tfg:active_power_transformer" id: "6ECAD339C91EF194" + optional: true subtitle: "{quests.gregtech_energy.transformer.subtitle}" tasks: [ { diff --git a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt index 0426f5e78..19b934cac 100644 --- a/config/ftbquests/quests/chapters/mv__medium_voltage.snbt +++ b/config/ftbquests/quests/chapters/mv__medium_voltage.snbt @@ -1115,7 +1115,6 @@ icon: "gtceu:natural_gas_bucket" id: "227D89550BB9BD55" optional: true - shape: "square" size: 1.0d subtitle: "{quests.medium_voltage.mv_lpg.subtitle}" tasks: [ @@ -1560,6 +1559,7 @@ description: ["{quests.medium_voltage.lsb.desc}"] icon: "gtceu:steel_large_boiler" id: "730D7C10DEED3117" + optional: true shape: "heart" size: 1.5d subtitle: "{quests.medium_voltage.lsb.subtitle}" @@ -1649,7 +1649,6 @@ description: ["{quests.medium_voltage.reformate_gas.desc}"] id: "10292F9B1DD743EB" optional: true - shape: "heart" subtitle: "{quests.medium_voltage.reformate_gas.subtitle}" tasks: [{ id: "717ABF30F29D12CD" @@ -1669,7 +1668,6 @@ ] id: "54A255C1C6E33165" optional: true - shape: "heart" subtitle: "{quests.medium_voltage.coal_tower.subtitle}" tasks: [{ id: "348CD63DC537BB9A" @@ -1691,7 +1689,6 @@ icon: "gtceu:diesel_bucket" id: "45769156F4253C86" optional: true - shape: "heart" size: 1.0d subtitle: "{quests.medium_voltage.mv_diesel.subtitle}" tasks: [{ diff --git a/kubejs/assets/tfcchannelcasting/lang/ru_ru.json b/kubejs/assets/tfcchannelcasting/lang/ru_ru.json new file mode 100644 index 000000000..cbdda0cf0 --- /dev/null +++ b/kubejs/assets/tfcchannelcasting/lang/ru_ru.json @@ -0,0 +1,40 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "block.tfcchannelcasting.channel": "Литейный канал", + "block.tfcchannelcasting.mold_table": "Стол для форм", + "item.tfcchannelcasting.unfired_channel": "Необожжённый литейный канал", + "item.tfcchannelcasting.unfired_mold_table": "Необожжённый стол для форм", + "item.tfcchannelcasting.heart_mold": "Форма «Сердце»", + "item.tfcchannelcasting.unfired_heart_mold": "Необожжённая форма «Сердце»", + "metal.tfcchannelcasting.dark_chocolate": "Тёмный шоколад", + "block.tfcchannelcasting.fluid.dark_chocolate": "Тёмный шоколад", + "item.tfcchannelcasting.bucket.dark_chocolate": "Ведро тёмного шоколада", + "fluid.tfcchannelcasting.dark_chocolate": "Тёмный шоколад", + "item.tfcchannelcasting.food.dark_chocolate_heart": "Сердце из тёмного шоколада", + "item.tfcchannelcasting.food.dark_chocolate_bell": "Колокольчик из тёмного шоколада", + "item.tfcchannelcasting.food.dark_chocolate_knife": "Вкусный ножик из тёмного шоколада", + "metal.tfcchannelcasting.milk_chocolate": "Молочный шоколад", + "block.tfcchannelcasting.fluid.milk_chocolate": "Молочный шоколад", + "item.tfcchannelcasting.bucket.milk_chocolate": "Ведро молочного шоколада", + "fluid.tfcchannelcasting.milk_chocolate": "Молочный шоколад", + "item.tfcchannelcasting.food.milk_chocolate_heart": "Сердце из молочного шоколада", + "item.tfcchannelcasting.food.milk_chocolate_bell": "Колокольчик из молочного шоколада", + "item.tfcchannelcasting.food.milk_chocolate_knife": "Вкусный ножик из молочного шоколада", + "metal.tfcchannelcasting.white_chocolate": "Белый шоколад", + "block.tfcchannelcasting.fluid.white_chocolate": "Белый шоколад", + "item.tfcchannelcasting.bucket.white_chocolate": "Ведро белого шоколада", + "fluid.tfcchannelcasting.white_chocolate": "Белый шоколад", + "item.tfcchannelcasting.food.white_chocolate_heart": "Сердце из белого шоколада", + "item.tfcchannelcasting.food.white_chocolate_bell": "Колокольчик из белого шоколада", + "item.tfcchannelcasting.food.white_chocolate_knife": "Вкусный ножик из белого шоколада", + "tfc.recipe.barrel.tfcchannelcasting.barrel.fill_with_sweet_liquor": "Наполнение сладким ликёром", + "tfc.recipe.barrel.tfcchannelcasting.barrel.fill_with_strong_liquor": "Наполнение крепким ликёром", + "tfc.recipe.barrel.tfcchannelcasting.barrel.fill_with_whiskey": "Наполнение виски", + "tfcchannelcasting.tooltip.food_trait.festive": "Праздничное", + "tfcchannelcasting.tooltip.food_trait.scary": "Жуткое", + "tfcchannelcasting.tooltip.food_trait.romantic": "Романтичное", + "tfcchannelcasting.tooltip.food_trait.filled_with_jam": "С начинкой из джема", + "tfcchannelcasting.tooltip.food_trait.filled_with_sweet_liquor": "С начинкой из сладкого ликёра", + "tfcchannelcasting.tooltip.food_trait.filled_with_strong_liquor": "С начинкой из крепкого ликёра", + "tfcchannelcasting.tooltip.food_trait.filled_with_whiskey": "С начинкой из виски" +} \ 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 36c9c8dfd..7236b3bc4 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1888,7 +1888,7 @@ "quests.ae2.extended_import_export.desc": "These are eight times faster than their regular counterparts. Enjoy!", "quests.ae2.extended_import_export.task": "Either the part or the upgrade", "quests.ae2.extended_io_port.desc": "This upgrade will let you &atransfer faster&r while also offering &6more upgrade slots&r if needed.", - "quests.ae2.extended_molecular_assembler.desc": "The upgrade of the &bMolecular Assembler&r.\n\nIt runs &68 crafting jobs&r at the same time and goes &62 times faster&r.\n\nEven though you can only use it with a normal &bPattern Provider&r, it will be a &agreat upgrade&r before you get the &dMatrix Multiblock&r a bit later on.", + "quests.ae2.extended_molecular_assembler.desc": "The upgrade of the &bMolecular Assembler&r.\n\nIt runs &68 crafting jobs&r at the same time and goes &62 times faster&r.\n\nIt will be a &agreat upgrade&r before you get the &dMatrix Multiblock&r a bit later on.", "quests.ae2.wireless.desc": "The &aME Wireless Connector&r is your go-to if you don't want to put down massive lines of &bME Cables&r. They effectively work like short-range Quantum Tunnels, but have a limited range and don't work across dimensions. That would be too easy, wouldn't it?\n\nDon't forget to check the in-game guide with &eG&r to learn about how they work and their limitations.", "quests.ae2.mega_cell_housing.desc": "These &bCell Housings&r work the same way as the basic ones, but you will need these to make the bigger disks from &dMEGA&r.", "quests.ae2.cell_component_64k.desc": "Now that you have &1IV&r Circuits, you can make this enormous &5Storage Component&r. Aren't you glad you made a Moon base?", @@ -2415,7 +2415,7 @@ "quests.gregtech_energy.lgt.title": "The Large Gas Turbine", "quests.gregtech_energy.lgt.subtitle": "The fan favorite", "quests.gregtech_energy.lgt.desc.1": "The &6Large Gas Turbine&r — also known as &dLGT&r — is one of your two main sources of energy production for most of the modpack. You’ll be able to build your first one at &5EV&r using Stainless Steel. It can carry you from &5EV&r all the way to &dLuV&r, until you feel ready to upgrade to the Large Plasma Turbine.\n\nThat said, many players can finish TerraFirmaGreg using only these turbines — provided you have a strong infrastructure to handle the gas demands of high-tier LGTs.\n\nTo build the LGT, you’ll need the usual Maintenance Hatch and Input Hatch. This turbine requires a Muffler Hatch, but it does not use an Output Hatch.", - "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the Rotor Holder after &5EV&r. For example, an LGT using an IV Rotor Holder (×2) with a HSS-E Turbine Rotor (280%% power) will produce:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a IV 4A Dynamo Hatch, since a normal Dynamo Hatch only handles 2A.\n\nJust so you know: the Efficiency stat of a Turbine Rotor increases the duration of the recipe, which means you get more power from each mB of fuel.\n\nLastly, if the Dynamo Hatch fills up, the LGT will automatically slow down and pause fuel usage, gradually reducing rotor speed until it resumes again. So you won't lose any fuel during a backup.", + "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the Rotor Holder after &5EV&r. For example, an LGT using an IV Rotor Holder (×2) with a HSS-E Turbine Rotor (280%% power) will produce:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a IV 4A Dynamo Hatch, since a normal Dynamo Hatch only handles 2A.\n\nJust so you know: the Efficiency stat of a Turbine Rotor increases the duration of the recipe, which means you get more power from each mB of fuel.\n\nLastly, if the Dynamo Hatch fills up, the LGT will start voiding excess, so you'll want to turn your LGTs off when your battery buffer or substation starts getting full, via an Advanced Energy Detector Cover and Machine Controller Cover.", "quests.gregtech_energy.lst.title": "The Large Steam Turbine", "quests.gregtech_energy.lst.subtitle": "It... exists", "quests.gregtech_energy.lst.desc.1": "The &6Large Steam Turbine&r — or &dLST&r — might not be the most common Large Generator in standard GregTech, but thanks to its early unlock at &6HV&r and the fact that Large Boilers are stronger in TerraFirmaGreg, it definitely has its place.\n\nTo make it work, you’ll need an Input Hatch for steam, an Output Hatch for Distilled Water, and of course a Maintenance Hatch. That’s all you need!\n\nLike all Large Turbines, you’ll place a Rotor Holder on one side and a Dynamo Hatch on the other to extract power. For the LST, the Rotor Holder must be at least &6HV-tier&r. Each Rotor Holder upgrade &cdoubles&r the output and increases efficiency slightly.", @@ -3323,7 +3323,7 @@ "quests.metal_age.coke_oven.desc.2": "Coke Ovens can be fully automated using a Coke Oven Hatch. The Hatch is placed on the sides of the Oven and work as both Inputs and Outputs for both Items and Liquids.\n\nYou can easly create a simple, one way Coke Oven by using a Crate for the input, a Chest for the output, and a Drum, Barrel, or Large Wooden Tank to collect the Creosote. Unlike Chests, Crates are able to store large objects such as Logs. You can also sneak and right-click GregTech pipes with a wrench to make them one-way.", "quests.metal_age.wrought_iron_goodies.title": "Wrought Iron level Mechanical Power", "quests.metal_age.wrought_iron_goodies.subtitle": "What's this \"Andesite Alloy\" you speak of?", - "quests.metal_age.wrought_iron_goodies.desc": "With Wrought Iron you've unlocked access to the Metal Casing, the foundation of many of Create's mechanical blocks such as Gearboxes. Some of the more advanced ones will require Steel, but it's possible to build a fully automatic tree and crop farm at this point.\n\nCreosote is used to create Treated Wood Planks, which can be crafted into Waterwheels and Windmills, a significant improvement over animal power.", + "quests.metal_age.wrought_iron_goodies.desc": "With Wrought Iron you've unlocked access to the Metal Casing, the foundation of many of Create's mechanical blocks such as Gearboxes. Some of the more advanced ones will require Steel, but it's possible to build a partially automatic tree and crop farm at this point.\n\nCreosote is used to create Treated Wood Planks, which can be crafted into Waterwheels and Windmills, a significant improvement over animal power.", "quests.metal_age.fire_clay_ingredients.title": "Fire Clay Ingredients", "quests.metal_age.fire_clay_ingredients.subtitle": "The TerraFirmaCraft Rite of Passage.", "quests.metal_age.fire_clay_ingredients.desc": "Fire Clay is a special clay made out of Kaolinite, Graphite and regular Clay, which is especially resistant to high temperatures. Its two main uses are the Crucible, which works as an improved version of a Vessel for Metal Smelting and Alloying, and the Blast Furance, which is required for the creation of the next anvil and metal tier, Steel.\n\nYou'll likely need to travel far, far away from your base to obtain both Graphite and Kaolin Clay, so preparation is key!", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 1d2dbb2a0..142dcd31f 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1539,7 +1539,7 @@ "quests.ae2.extended_import_export.desc": "These are eight times faster than their regular counterparts. Enjoy!", "quests.ae2.extended_import_export.task": "Either the part or the upgrade", "quests.ae2.extended_io_port.desc": "This upgrade will let you &atransfer faster&r while also offering &6more upgrade slots&r if needed.", - "quests.ae2.extended_molecular_assembler.desc": "The upgrade of the &bMolecular Assembler&r.\n\nIt runs &68 crafting jobs&r at the same time and goes &62 times faster&r.\n\nEven though you can only use it with a normal &bPattern Provider&r, it will be a &agreat upgrade&r before you get the &dMatrix Multiblock&r a bit later on.", + "quests.ae2.extended_molecular_assembler.desc": "The upgrade of the &bMolecular Assembler&r.\n\nIt runs &68 crafting jobs&r at the same time and goes &62 times faster&r.\n\nIt will be a &agreat upgrade&r before you get the &dMatrix Multiblock&r a bit later on.", "quests.ae2.wireless.desc": "The &aME Wireless Connector&r is your go-to if you don't want to put down massive lines of &bME Cables&r. They effectively work like short-range Quantum Tunnels, but have a limited range and don't work across dimensions. That would be too easy, wouldn't it?\n\nDon't forget to check the in-game guide with &eG&r to learn about how they work and their limitations.", "quests.ae2.mega_cell_housing.desc": "These &bCell Housings&r work the same way as the basic ones, but you will need these to make the bigger disks from &dMEGA&r.", "quests.ae2.cell_component_64k.desc": "Now that you have &1IV&r Circuits, you can make this enormous &5Storage Component&r. Aren't you glad you made a Moon base?", @@ -1745,7 +1745,7 @@ "quests.gregtech_energy.lgt.title": "The Large Gas Turbine", "quests.gregtech_energy.lgt.subtitle": "The fan favorite", "quests.gregtech_energy.lgt.desc.1": "The &6Large Gas Turbine&r — also known as &dLGT&r — is one of your two main sources of energy production for most of the modpack. You’ll be able to build your first one at &5EV&r using Stainless Steel. It can carry you from &5EV&r all the way to &dLuV&r, until you feel ready to upgrade to the Large Plasma Turbine.\n\nThat said, many players can finish TerraFirmaGreg using only these turbines — provided you have a strong infrastructure to handle the gas demands of high-tier LGTs.\n\nTo build the LGT, you’ll need the usual Maintenance Hatch and Input Hatch. This turbine requires a Muffler Hatch, but it does not use an Output Hatch.", - "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the Rotor Holder after &5EV&r. For example, an LGT using an IV Rotor Holder (×2) with a HSS-E Turbine Rotor (280%% power) will produce:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a IV 4A Dynamo Hatch, since a normal Dynamo Hatch only handles 2A.\n\nJust so you know: the Efficiency stat of a Turbine Rotor increases the duration of the recipe, which means you get more power from each mB of fuel.\n\nLastly, if the Dynamo Hatch fills up, the LGT will automatically slow down and pause fuel usage, gradually reducing rotor speed until it resumes again. So you won't lose any fuel during a backup.", + "quests.gregtech_energy.lgt.desc.2": "The default output is &e4096 EU/t&r. That output &cdoubles&r with each upgrade to the Rotor Holder after &5EV&r. For example, an LGT using an IV Rotor Holder (×2) with a HSS-E Turbine Rotor (280%% power) will produce:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — that's about &a2.8A of IV&r.\n\nTo fully extract that energy, you’ll need at least a IV 4A Dynamo Hatch, since a normal Dynamo Hatch only handles 2A.\n\nJust so you know: the Efficiency stat of a Turbine Rotor increases the duration of the recipe, which means you get more power from each mB of fuel.\n\nLastly, if the Dynamo Hatch fills up, the LGT will start voiding excess, so you'll want to turn your LGTs off when your battery buffer or substation starts getting full, via an Advanced Energy Detector Cover and Machine Controller Cover.", "quests.gregtech_energy.lst.title": "The Large Steam Turbine", "quests.gregtech_energy.lst.subtitle": "It... exists", "quests.gregtech_energy.lst.desc.1": "The &6Large Steam Turbine&r — or &dLST&r — might not be the most common Large Generator in standard GregTech, but thanks to its early unlock at &6HV&r and the fact that Large Boilers are stronger in TerraFirmaGreg, it definitely has its place.\n\nTo make it work, you’ll need an Input Hatch for steam, an Output Hatch for Distilled Water, and of course a Maintenance Hatch. That’s all you need!\n\nLike all Large Turbines, you’ll place a Rotor Holder on one side and a Dynamo Hatch on the other to extract power. For the LST, the Rotor Holder must be at least &6HV-tier&r. Each Rotor Holder upgrade &cdoubles&r the output and increases efficiency slightly.", @@ -2579,7 +2579,7 @@ "quests.metal_age.coke_oven.desc.2": "Coke Ovens can be fully automated using a Coke Oven Hatch. The Hatch is placed on the sides of the Oven and work as both Inputs and Outputs for both Items and Liquids.\n\nYou can easly create a simple, one way Coke Oven by using a Crate for the input, a Chest for the output, and a Drum, Barrel, or Large Wooden Tank to collect the Creosote. Unlike Chests, Crates are able to store large objects such as Logs. You can also sneak and right-click GregTech pipes with a wrench to make them one-way.", "quests.metal_age.wrought_iron_goodies.title": "Wrought Iron level Mechanical Power", "quests.metal_age.wrought_iron_goodies.subtitle": "What's this \"Andesite Alloy\" you speak of?", - "quests.metal_age.wrought_iron_goodies.desc": "With Wrought Iron you've unlocked access to the Metal Casing, the foundation of many of Create's mechanical blocks such as Gearboxes. Some of the more advanced ones will require Steel, but it's possible to build a fully automatic tree and crop farm at this point.\n\nCreosote is used to create Treated Wood Planks, which can be crafted into Waterwheels and Windmills, a significant improvement over animal power.", + "quests.metal_age.wrought_iron_goodies.desc": "With Wrought Iron you've unlocked access to the Metal Casing, the foundation of many of Create's mechanical blocks such as Gearboxes. Some of the more advanced ones will require Steel, but it's possible to build a partially automatic tree and crop farm at this point.\n\nCreosote is used to create Treated Wood Planks, which can be crafted into Waterwheels and Windmills, a significant improvement over animal power.", "quests.metal_age.fire_clay_ingredients.title": "Fire Clay Ingredients", "quests.metal_age.fire_clay_ingredients.subtitle": "The TerraFirmaCraft Rite of Passage.", "quests.metal_age.fire_clay_ingredients.desc": "Fire Clay is a special clay made out of Kaolinite, Graphite and regular Clay, which is especially resistant to high temperatures. Its two main uses are the Crucible, which works as an improved version of a Vessel for Metal Smelting and Alloying, and the Blast Furance, which is required for the creation of the next anvil and metal tier, Steel.\n\nYou'll likely need to travel far, far away from your base to obtain both Graphite and Kaolin Clay, so preparation is key!", From 7ead0d43f581714269fcd4080398eb3ded96f2f3 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Mon, 5 Jan 2026 17:45:41 +0500 Subject: [PATCH 617/628] Update build.yml --- .github/workflows/build.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7e3648d1d..87e29e53a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -391,11 +391,24 @@ jobs: mv -vf .pakku/multimc-overrides ./build/multimc + # Delete mods with export: false from ./mods directory + echo "Checking for mods with export: false..." + if [ -f "./pakku.json" ]; then + # Extract mod slugs with export: false and delete corresponding jar files + for mod in $(jq -r '.dependencies | to_entries[] | select(.value.export == false) | .key' ./pakku.json); do + echo "Looking for mod: $mod" + find ./mods -name "${mod}*.jar" -type f -delete 2>/dev/null && echo "Deleted $mod jar files" || echo "No $mod jar files found" + done + else + echo "pakku.json not found, skipping export:false mod removal" + fi + cp -rf ./build/.cache/curseforge/overrides ./build/multimc/.minecraft cp -vf ./build/.cache/curseforge/manifest.json ./build/multimc/flame/manifest.json cp -vf ./config/fancymenu/assets/icons/icon128x128.png ./build/multimc/.minecraft/icon.png + cp -rf ./mods ./build/multimc/.minecraft/ cd ./build/multimc/ @@ -431,7 +444,7 @@ jobs: uses: actions/upload-artifact@v6.0.0 with: name: ${{ needs.info.outputs.project_full_name }}-docker - path: ./.github/docker/${{ needs.info.outputs.project_full_name }}-docker.yml + path: ./build/docker/${{ needs.info.outputs.project_full_name }}-docker.yml if-no-files-found: error release-github: From 4ab41f33f5064a780a20a203ffd174bc5d4c3eab Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:54:44 +0000 Subject: [PATCH 618/628] fix kjs error with the pills --- kubejs/startup_scripts/gtceu/constants.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 92c377a5e..bcee0d1f2 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -231,11 +231,7 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:thorium_plate", "gtceu:double_thorium_plate", "gtceu:thorium_rod", - "gtceu:thorium_bucket", - - // Replaced with our own - "gtceu:paracetamol_pill", - "gtceu:rad_away_pill" + "gtceu:thorium_bucket" ]); //#endregion @@ -251,7 +247,11 @@ global.GTCEU_HIDED_ITEMS = /** @type {const} */ ([ "gtceu:iv_damascus_steel_wrench", "gtceu:lv_damascus_steel_screwdriver", - "gtceu:sus_record" + "gtceu:sus_record", + + // Replaced with our own + "gtceu:paracetamol_pill", + "gtceu:rad_away_pill" ]); //#endregion From e0391bbaef9c563d652e7d07c0fb7cd111d152f6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 12:55:07 +0000 Subject: [PATCH 619/628] add more fluids to the non-placeable tag --- kubejs/server_scripts/tfc/tags.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 708eedae4..fcd635f26 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -111,6 +111,21 @@ function registerTFCItemTags(event) { 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", "firmalife:bucket/mead") + event.add("tfc:nonplaceable", "firmalife:bucket/red_wine") + event.add("tfc:nonplaceable", "firmalife:bucket/white_wine") + event.add("tfc:nonplaceable", "firmalife:bucket/rose_wine") + event.add("tfc:nonplaceable", "firmalife:bucket/sparkling_wine") + event.add("tfc:nonplaceable", "firmalife:bucket/dessert_wine") // Ингредиенты для закваски event.add("tfg:ferments_to_rennet", "tfc:food/soybean"); From e7890a1ea538e380709c58033516de22aa6a7395 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Mon, 5 Jan 2026 18:02:31 +0500 Subject: [PATCH 620/628] Update build.yml --- .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 87e29e53a..297973ca3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -438,7 +438,7 @@ jobs: mv -vf .pakku/docker-overrides ./build/docker cd ./build/docker/ - mv *.yml $(basename -s .yml *.yml)-docker.yml + mv docker-compose.yml "${{ needs.info.outputs.project_full_name }}-docker.yml" - name: 🚀 Upload Docker Artifact uses: actions/upload-artifact@v6.0.0 From 90775f0855ece868aef834ebb2a31e39d4ecbc5b Mon Sep 17 00:00:00 2001 From: Xikaro Date: Mon, 5 Jan 2026 18:10:49 +0500 Subject: [PATCH 621/628] Update build.yml --- .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 297973ca3..1f8183581 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -395,7 +395,7 @@ jobs: echo "Checking for mods with export: false..." if [ -f "./pakku.json" ]; then # Extract mod slugs with export: false and delete corresponding jar files - for mod in $(jq -r '.dependencies | to_entries[] | select(.value.export == false) | .key' ./pakku.json); do + for mod in $(jq -r 'to_entries[] | select(.value.export == false) | .key' ./pakku.json); do echo "Looking for mod: $mod" find ./mods -name "${mod}*.jar" -type f -delete 2>/dev/null && echo "Deleted $mod jar files" || echo "No $mod jar files found" done From c17679c64d69d5c5abf2f2b0dada53b6f700b23c Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Mon, 5 Jan 2026 06:38:04 -0700 Subject: [PATCH 622/628] Add ad astra metal blocks to domum ornamentum blocks whitelist (#2627) * Update tags.js Signed-off-by: thederpysockdude123 * added Ad Astra metal blocks to domum ornamentum blocks whitelist Signed-off-by: thederpysockdude123 * gave the Ad Astra metal blocks a block tag Signed-off-by: thederpysockdude123 * Update tags.js Signed-off-by: thederpysockdude123 * dw about that Signed-off-by: thederpysockdude123 * removed some s's so KubeJS behaves Signed-off-by: thederpysockdude123 * removed some s's so KubeJS behaves Signed-off-by: thederpysockdude123 * added Ad Astra metal blocks to domum ornamentum blocks whitelist (fr this time) Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/ad_astra/tags.js | 15 +++++++++++++++ kubejs/server_scripts/domum_ornamentum/tags.js | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index a705ac40f..681fe511a 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -107,6 +107,21 @@ const registerAdAstraBlockTags = (event) => { event.add('minecraft:logs_that_burn', wood.stripped_log) } }) + const DECO_BLOCKS = [ 'iron', 'steel', 'desh', 'calorite', 'ostrum' ]; + DECO_BLOCKS.forEach(block => { + event.add(`tfg:ad_astra_${block}_block`, `ad_astra:${block}_factory_block`) + event.add(`tfg:ad_astra_${block}_block`, `ad_astra:${block}_plating`) + event.add(`tfg:ad_astra_${block}_block`, `ad_astra:${block}_panel`) + event.add(`tfg:ad_astra_${block}_block`, `ad_astra:${block}_pillar`) + event.add(`tfg:ad_astra_${block}_block`, `ad_astra:${block}_plateblock`) + event.add(`tfg:ad_astra_${block}_block`, `ad_astra:encased_${block}_block`) + }) + + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_factory_block') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:encased_etrium_block') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_plateblock') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_panel') + event.add('tfg:ad_astra_etrium_block', 'ad_astra:etrium_block') } const registerAdAstraBiomeTags = (event) => { diff --git a/kubejs/server_scripts/domum_ornamentum/tags.js b/kubejs/server_scripts/domum_ornamentum/tags.js index 9d793dc97..04b05cd50 100644 --- a/kubejs/server_scripts/domum_ornamentum/tags.js +++ b/kubejs/server_scripts/domum_ornamentum/tags.js @@ -152,6 +152,13 @@ function registerDomumOrnamentumBlockTags(event) { "createdeco:corner_pearl_bricks", "createdeco:cracked_pearl_bricks", "createdeco:mossy_pearl_bricks", + //Ad Astra blocks + "#tfg:ad_astra_iron_block", + "#tfg:ad_astra_etrium_block", + "#tfg:ad_astra_steel_block", + "#tfg:ad_astra_desh_block", + "#tfg:ad_astra_ostrum_block", + "#tfg:ad_astra_calorite_block", ]; materials.forEach((material) => { From 423aec92916d862f943a041cac136a2d6eb9bc30 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 13:57:10 +0000 Subject: [PATCH 623/628] oh I'm stupid --- CHANGELOG.md | 3 ++- .../server_scripts/vintage_improvements/recipes.js | 2 +- kubejs/startup_scripts/gtceu/constants.js | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 240953a52..bb84b14d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - Recolored diamond GregTech things to match the color of the vanilla diamond item @Pyritie - Buffed the HP of the Illager Beast @Pyritie - Added a thermochemically treated hardwood dust -> soaked unrefined paper recipe to the helve hammer (#2621) @Pyritie +- Added Ad Astra's decorative blocks to Domum Ornamentum's whitelist (#2627) @thederpysockdude123 #### Hazard changes - Added a new medical condition, Irradiated, caused by the Radioactive hazard which all radioactive things (including naquadria and neutronium) now have instead of Carcinogenic. It has the same symptoms/side effects as carcinogenic. - Paracetamol now cures carcinogenic, and Rad-Away cures both carcinogenic and irradiated. This is because you encounter carcinogenic hazards much sooner than radioactive ones, so the only cure for radioactive being way in HV didn't make much sense. In order to change the effects of these pills, we had to make new items, so any existing ones won't have these changes, sorry. @@ -46,7 +47,7 @@ - Fixed some inconsistent ladder recipes (#2616) @Pyritie ### Translation updates - Chinese (simplified) @jmecn -- Russian @Petr211071 +- Russian @Petr211071 @AlexUnder ## [0.11.15] - 31-12-2025 ### Bug fixes diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 59f60bc7b..5f908e4b3 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -175,7 +175,7 @@ function registerVintageImprovementsRecipes(event) { }) HAMMERING_ITEMS.forEach(x => { - generateHammeringRecipe(event, x.material, x.blows, 'copper'); + generateHammeringRecipeFromItem(event, x.input, x.output, x.blows, 'copper'); x.blows--; }) diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index bcee0d1f2..92c377a5e 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -231,7 +231,11 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:thorium_plate", "gtceu:double_thorium_plate", "gtceu:thorium_rod", - "gtceu:thorium_bucket" + "gtceu:thorium_bucket", + + // Replaced with our own + "gtceu:paracetamol_pill", + "gtceu:rad_away_pill" ]); //#endregion @@ -247,11 +251,7 @@ global.GTCEU_HIDED_ITEMS = /** @type {const} */ ([ "gtceu:iv_damascus_steel_wrench", "gtceu:lv_damascus_steel_screwdriver", - "gtceu:sus_record", - - // Replaced with our own - "gtceu:paracetamol_pill", - "gtceu:rad_away_pill" + "gtceu:sus_record" ]); //#endregion From 420d8a85bfe59d5f9dbf0f1a4e04e88900942b97 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 13:57:22 +0000 Subject: [PATCH 624/628] add components to glowstone --- kubejs/startup_scripts/gtceu/material_modification.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 58ef061c1..dffc9f8ed 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -460,6 +460,7 @@ const registerGTCEuMaterialModification = (event) => { zirconium_diboride.setProperty(PropertyKey.BLAST, new $BLAST_PROPERTY(4500, "high", GTValues.VA[GTValues.EV], 2700, GTValues.VA[GTValues.HV], 12.5*20)); GTMaterials.CertusQuartz.setComponents('1x unknown', '1x silicon', '2x oxygen') + GTMaterials.Glowstone.setComponents('1x gold', '1x redstone') GTMaterials.GraniteRed.setComponents([]) GTMaterials.GraniteRed.setFormula("?") GTMaterials.Thorium.setFormula('ThO2') From 2b3808092e84a29cd45372614b17203741f61748 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 14:03:47 +0000 Subject: [PATCH 625/628] langs + field guide --- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 8 ++++---- .../entries/tfg_ores/mars_ore_index.json | 2 +- .../entries/tfg_ores/mars_vein_index.json | 20 +++++++++---------- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 4 ++-- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 8 ++++---- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 8 ++++---- .../entries/tfg_ores/mars_ore_index.json | 2 +- .../entries/tfg_ores/mars_vein_index.json | 20 +++++++++---------- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 4 ++-- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 8 ++++---- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 4 ++-- .../entries/tfg_ores/mars_ore_index.json | 2 +- .../entries/tfg_ores/mars_vein_index.json | 14 ++++++------- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 4 ++-- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 4 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 4 ++-- .../entries/tfg_ores/mars_ore_index.json | 2 +- .../entries/tfg_ores/mars_vein_index.json | 14 ++++++------- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 4 ++-- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 4 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 2 +- .../entries/tfg_ores/earth_vein_index.json | 4 ++-- .../entries/tfg_ores/mars_ore_index.json | 2 +- .../entries/tfg_ores/mars_vein_index.json | 14 ++++++------- .../entries/tfg_ores/moon_ore_index.json | 2 +- .../entries/tfg_ores/moon_vein_index.json | 4 ++-- .../entries/tfg_ores/nether_ore_index.json | 2 +- .../entries/tfg_ores/nether_vein_index.json | 4 ++-- .../entries/tfg_ores/venus_ore_index.json | 2 +- .../entries/tfg_ores/earth_ore_index.json | 10 +++++----- .../entries/tfg_ores/earth_vein_index.json | 8 ++++---- .../entries/tfg_ores/mars_ore_index.json | 8 ++++---- .../entries/tfg_ores/mars_vein_index.json | 20 +++++++++---------- .../entries/tfg_ores/moon_ore_index.json | 8 ++++---- .../entries/tfg_ores/moon_vein_index.json | 4 ++-- .../entries/tfg_ores/nether_ore_index.json | 10 +++++----- .../entries/tfg_ores/nether_vein_index.json | 8 ++++---- .../entries/tfg_ores/venus_ore_index.json | 2 +- kubejs/assets/tfg/lang/en_us.json | 4 ++-- kubejs/assets/tfg/lang/fr_fr.json | 4 ++-- kubejs/assets/tfg/lang/pt_br.json | 4 ++-- kubejs/assets/tfg/lang/ru_ru.json | 4 ++-- kubejs/assets/tfg/lang/uk_ua.json | 4 ++-- kubejs/assets/tfg/lang/zh_cn.json | 4 ++-- 60 files changed, 155 insertions(+), 155 deletions(-) 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 bf3d42fda..bd7ec360f 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 @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/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 bd497aa70..eaa8bc79a 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 @@ -1107,7 +1107,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1122,7 +1122,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -3915,7 +3915,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3935,7 +3935,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json index e0e7e3c86..b0b52328e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/mars_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorium: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", + "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", "type": "patchouli:text" }, { 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 64cabd0b8..3ad04def8 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende & Thorianite, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorianite, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", "type": "patchouli:text" }, { @@ -1427,7 +1427,7 @@ { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", - "title": "Pitchblende, Thorium, & Hematite", + "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -1448,12 +1448,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 41%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 41%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1468,7 +1468,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -1494,7 +1494,7 @@ { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", - "title": "Pitchblende, Thorium, & Uraninite", + "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -1515,12 +1515,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 52%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 52%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1535,7 +1535,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -1555,7 +1555,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json index c2fc92e90..4001c0bec 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_ore_index.json @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Tantalite: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Thorium: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Topaz: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Zeolite: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", + "text": "$(li)Tantalite: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Thorianite: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Topaz: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Zeolite: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json index 16d9728e8..a61f9b89a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/moon_vein_index.json @@ -934,7 +934,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -949,7 +949,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json index 643d1ab05..d7124bacc 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/nether_ore_index.json @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", + "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", "type": "patchouli:text" }, { 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 90920c3bc..722cc922e 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 @@ -799,7 +799,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -814,7 +814,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -2744,7 +2744,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2764,7 +2764,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json index 199ea4958..c5ed949ce 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/tfg_ores/venus_ore_index.json @@ -1,7 +1,7 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", "name": "Venus Ore Index", - "icon": "gtceu:sulfur_dust", + "icon": "vintageimprovements:sulfur", "category": "tfc:tfg_ores", "read_by_default": true, "secret": false, 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 bf3d42fda..bd7ec360f 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 @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()", + "text": "$(li)Sphalerite: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Spodumene: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Sulfur: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)Talc: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Tarkianite: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Tin: $(l:tfg_ores/earth_vein_index#normal_cassiterite)55%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)35%$(/l)$()$(li)Topaz: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/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 bd497aa70..eaa8bc79a 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 @@ -1107,7 +1107,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1122,7 +1122,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 15%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -3915,7 +3915,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -3935,7 +3935,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json index e0e7e3c86..b0b52328e 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/mars_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorium: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", + "text": "$(li)Sodalite: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Spessartine: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Sphalerite: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Spodumene: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Stibnite: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Sulfur: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)Talc: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalite: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Thorianite: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Tin: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)35%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Tungstate: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()", "type": "patchouli:text" }, { 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 64cabd0b8..3ad04def8 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lapis, Lazurite, & Sodalite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganese & Tantalum$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende & Thorianite, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorianite, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Scheelite & Tungstate$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Silver, Galena, & Lead$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Sphalerite & Pyrite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetrahedrite (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetrahedrite (Surface)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", "type": "patchouli:text" }, { @@ -1427,7 +1427,7 @@ { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 220$(br)$(thing)Density$(): 0.55$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Size$(): 20$(br)$(thing)Indicator Max Depth$(): 15$(br2)$(thing)Stone Types$(): Argillite, Conglomerate, Dacite, Diorite, Dolomite, Gabbro, Red Granite, Shale, Trachyte", - "title": "Pitchblende, Thorium, & Hematite", + "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -1448,12 +1448,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 41%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 41%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1468,7 +1468,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 29%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -1494,7 +1494,7 @@ { "Type": "patchouli:text", "text": "$(thing)Rarity$(): 370$(br)$(thing)Density$(): 0.3$(br)$(thing)Type$(): Cluster Vein$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Size$(): 60$(br)$(thing)Indicator Max Depth$(): 20$(br2)$(thing)Stone Types$(): Argillite, Claystone, Dacite, Diorite, Gabbro, Shale, Trachyte", - "title": "Pitchblende, Thorium, & Uraninite", + "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -1515,12 +1515,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 52%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 52%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1535,7 +1535,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 26%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -1555,7 +1555,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 21%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json index c2fc92e90..4001c0bec 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_ore_index.json @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Tantalite: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Thorium: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Topaz: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Zeolite: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", + "text": "$(li)Tantalite: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Thorianite: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/moon_vein_index#moon_cassiterite)17%$(/l)$()$(li)Topaz: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/moon_vein_index#moon_garnet)14%$(/l)$()$(li)Zeolite: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json index 16d9728e8..a61f9b89a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/moon_vein_index.json @@ -934,7 +934,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -949,7 +949,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json index 643d1ab05..d7124bacc 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/nether_ore_index.json @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorium: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", + "text": "$(li)Sylvite: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Talc: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalite: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Tetrahedrite: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Thorianite: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Tin: $(l:tfg_ores/nether_vein_index#nether_cassiterite)54%$(/l)$()$(li)Topaz: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Tricalcium Phosphate: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstate: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninite: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Vanadium Magnetite: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)Wulfenite: $(l:tfg_ores/nether_vein_index#nether_molybdenum)42%$(/l), $(l:tfg_ores/nether_vein_index#nether_pitchblende)12%$(/l)$()$(li)Yellow Garnet: $(l:tfg_ores/nether_vein_index#nether_garnet)14%$(/l)$()", "type": "patchouli:text" }, { 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 90920c3bc..722cc922e 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 @@ -799,7 +799,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Thorium", + "name": "Thorianite", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -814,7 +814,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): Th", + "text": "$(thing)Percentage$(): 0%$(br)$(thing)Source of$(): Thorium$(br)$(thing)Formula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -2744,7 +2744,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 62%$(br)$(thing)Source of$(): Uranium, Thorium, Lead$(br)$(thing)Formula$(): (UO₂)₃ThPb$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -2764,7 +2764,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Carcinogenic (Any Contact)$(/t)$()", + "text": "$(thing)Percentage$(): 25%$(br)$(thing)Source of$(): Uranium$(br)$(thing)Formula$(): UO₂$(br)$(thing)Hazard$(): $(c)$(t:Requires Full Protection)Radioactive (Any Contact)$(/t)$()", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json index 199ea4958..c5ed949ce 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/fr_fr/entries/tfg_ores/venus_ore_index.json @@ -1,7 +1,7 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", "name": "Venus Ore Index", - "icon": "gtceu:sulfur_dust", + "icon": "vintageimprovements:sulfur", "category": "tfc:tfg_ores", "read_by_default": true, "secret": false, 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 62f893369..ce258f730 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 @@ -49,7 +49,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Tório: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeólita: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/l)$()", + "text": "$(li)Torianita: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Trona: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/earth_vein_index#deep_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/earth_vein_index#deep_molybdenum)47%$(/l), $(l:tfg_ores/earth_vein_index#deep_pitchblende)12%$(/l)$()$(li)Zeólita: $(l:tfg_ores/earth_vein_index#surface_copper)16%$(/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 0411088c3..7c9b24ace 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 @@ -1519,7 +1519,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Tório", + "name": "Torianita", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1534,7 +1534,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): Th", + "text": "$(thing)Porcentagem$(): 15%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json index abe8bbde7..8f5701118 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/mars_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Sal: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Sodalita: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Tório: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()", + "text": "$(li)Redstone: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)Rubi: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)Safira: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)Safira Verde: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)Sal: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)Sal-gema: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)Salitre: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)Sheelita: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)Sodalita: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Tantalita: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Torianita: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Trona: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()", "type": "patchouli:text" }, { 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 f40a867be..3e1622d89 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematita e Limonita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lápis-lazúri, Lazurita e Sodalita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_surface_hematite)Hematita e Limonita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lapis)Lápis-lazúri, Lazurita e Sodalita$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Manganês e Tântalo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende & Thorianite, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorianite, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Prata, Galena e Chumbo$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Sheelita e Tungstato$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Tetraedrita (Normal)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Tetraedrita (Superfície)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()", "type": "patchouli:text" }, { @@ -1519,7 +1519,7 @@ { "Type": "patchouli:text", "text": "$(thing)Raridade$(): 220$(br)$(thing)Densidade$(): 0.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", - "title": "Pitchblende, Thorium, & Hematite", + "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -1545,7 +1545,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Tório", + "name": "Torianita", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1560,7 +1560,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 29%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): Th", + "text": "$(thing)Porcentagem$(): 29%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -1586,7 +1586,7 @@ { "Type": "patchouli:text", "text": "$(thing)Raridade$(): 370$(br)$(thing)Densidade$(): 0.3$(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", - "title": "Pitchblende, Thorium, & Uraninite", + "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -1612,7 +1612,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Tório", + "name": "Torianita", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1627,7 +1627,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 26%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): Th", + "text": "$(thing)Porcentagem$(): 26%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json index ae5122eea..820ba44e8 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_ore_index.json @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Salitre: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sheelita: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Talco: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Tantalita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Topázio: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)Tório: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Zeólita: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", + "text": "$(li)Salitre: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)Sheelita: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Talco: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)Tantalita: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)14%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)12%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Topázio: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)Torianita: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()$(li)Wulfenita: $(l:tfg_ores/moon_vein_index#moon_molybdenum)44%$(/l)$()$(li)Zeólita: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json index b7dc9fe90..2f258676b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/moon_vein_index.json @@ -1016,7 +1016,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Tório", + "name": "Torianita", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1031,7 +1031,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): Th", + "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json index cf640e558..22f0139b6 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/nether_ore_index.json @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Salitre: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Sheelita: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Silvita: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Sodalita: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Tório: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()", + "text": "$(li)Salitre: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)Sheelita: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Silvita: $(l:tfg_ores/nether_vein_index#nether_sylvite)100%$(/l)$()$(li)Sodalita: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)Talco: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Tantalita: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Terra de Fuller: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)Tetraedrita: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Topázio: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Topázio Azul: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)Torianita: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Trona: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Tungstato: $(l:tfg_ores/nether_vein_index#nether_scheelite)35%$(/l)$()$(li)Uraninita: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()", "type": "patchouli:text" }, { 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 11f83bae3..f3e543676 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 @@ -1092,7 +1092,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Tório", + "name": "Torianita", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1107,7 +1107,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): Th", + "text": "$(thing)Porcentagem$(): 0%$(br)$(thing)Fonte de$(): Tório$(br)$(thing)Fórmula$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json index bc8531b62..0f3db8b9a 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/pt_br/entries/tfg_ores/venus_ore_index.json @@ -1,7 +1,7 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", "name": "Venus Ore Index", - "icon": "gtceu:sulfur_dust", + "icon": "vintageimprovements:sulfur", "category": "tfc:tfg_ores", "read_by_default": true, "secret": false, 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 e09e96b18..f06711814 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 @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркианит: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торий: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#deep_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()", + "text": "$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталит: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркианит: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#deep_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/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 7de77292e..6a322a0db 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 @@ -1488,7 +1488,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торий", + "name": "Торианит", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1503,7 +1503,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 15%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json index e1be823e0..a5f42705b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/mars_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Стибнит: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталит: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торий: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уголь: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Уранинит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хромит: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Шеелит: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()", + "text": "$(li)Стибнит: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталит: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраэдрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торианит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уголь: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)Уранинит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хромит: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()$(li)Шеелит: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()", "type": "patchouli:text" }, { 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 e14750575..113854729 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende, Thorium, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorium, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_almandine)Almandine & Sapphire$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)Bornite & Cooperite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)Coal & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sapphire)Gold, Electrotine, & Bauxite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Pitchblende & Thorianite, & Hematite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Pitchblende, Thorianite, & Uraninite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)Quartzite, Asbestos, & Barite$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Redstone & Chromite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Salts & Spodumene$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Sphalerite & Galena$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Trona, Talc, & Glauconite$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)Апатит и Пирохлор$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)Бастнезит и Монацит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)Висмут$()$()", "type": "patchouli:text" }, { @@ -373,7 +373,7 @@ { "Type": "patchouli:text", "text": "$(thing)Редкость$(): 220$(br)$(thing)Плотность$(): 0.55$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): 0 — 70$(br)$(thing)Размер$(): 20$(br)$(thing)Индикатор Max Depth$(): 15$(br2)$(thing)Виды камней$(): Red Granite, Аргиллит, Габбро, Дацит, Диорит, Доломит, Конгломерат, Сланец, Трахит", - "title": "Pitchblende, Thorium, & Hematite", + "title": "Pitchblende & Thorianite, & Hematite", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -399,7 +399,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торий", + "name": "Торианит", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -414,7 +414,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 29%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -440,7 +440,7 @@ { "Type": "patchouli:text", "text": "$(thing)Редкость$(): 370$(br)$(thing)Плотность$(): 0.3$(br)$(thing)Вид$(): кластерная жила$(br)$(thing)Y-уровень$(): -20 — 0$(br)$(thing)Размер$(): 60$(br)$(thing)Индикатор Max Depth$(): 20$(br2)$(thing)Виды камней$(): Аргиллит, Аргиллит, Габбро, Дацит, Диорит, Сланец, Трахит", - "title": "Pitchblende, Thorium, & Uraninite", + "title": "Pitchblende, Thorianite, & Uraninite", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -466,7 +466,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торий", + "name": "Торианит", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -481,7 +481,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 26%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json index 8b26f0086..02e19a806 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_ore_index.json @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Торий: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Халькозин: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)35%$(/l)$()$(li)Хромит: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)Цеолит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)Ционит: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)Шеелит: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()", + "text": "$(li)Топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Халькозин: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)35%$(/l)$()$(li)Хромит: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)Цеолит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)Ционит: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)Шеелит: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)Электротин: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json index 3ec2baac0..96a9e3acb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/moon_vein_index.json @@ -1108,7 +1108,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торий", + "name": "Торианит", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1123,7 +1123,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json index c863eef1c..15f742923 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/nether_ore_index.json @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Тетраэдрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торий: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уголь: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Уранинит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Ционит: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)Шеелит: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()", + "text": "$(li)Тетраэдрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торианит: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальцийфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уголь: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)Уранинит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Халькозин: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Хромит: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Ционит: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)Шеелит: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)Шелдонит: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()", "type": "patchouli:text" }, { 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 75357dc97..010a8d22d 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 @@ -1182,7 +1182,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торий", + "name": "Торианит", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1197,7 +1197,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): Th", + "text": "$(thing)Процент руды$(): 0%$(br)$(thing)Хромит$(): Торий$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json index 89ad8275e..1414a21b9 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/ru_ru/entries/tfg_ores/venus_ore_index.json @@ -1,7 +1,7 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", "name": "Venus Ore Index", - "icon": "gtceu:sulfur_dust", + "icon": "vintageimprovements:sulfur", "category": "tfc:tfg_ores", "read_by_default": true, "secret": false, 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 46bbdd955..0b0ce6aa8 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 @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталіт: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркіаніт: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торій: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/l)$()", + "text": "$(li)Сподумен: $(l:tfg_ores/earth_vein_index#normal_spodumene)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/earth_vein_index#normal_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#surface_sphalerite)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)15%$(/l)$()$(li)Тальк: $(l:tfg_ores/earth_vein_index#normal_lubricant)20%$(/l)$()$(li)Танталіт: $(l:tfg_ores/earth_vein_index#normal_manganese)12%$(/l)$()$(li)Таркіаніт: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)60%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)Торіаніт: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/earth_vein_index#deep_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/earth_vein_index#surface_copper)61%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)20%$(/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 6e89312f7..9d1312b2e 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 @@ -2797,7 +2797,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торій", + "name": "Торіаніт", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -2812,7 +2812,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): Th", + "text": "$(thing)Відсоток$(): 15%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json index a4c6f5ff1..d949d080b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/mars_ore_index.json @@ -34,7 +34,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Спесартін: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталіт: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торій: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Ураніт: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хроміт: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", + "text": "$(li)Спесартін: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)Сподумен: $(l:tfg_ores/mars_vein_index#mars_salt)35%$(/l)$()$(li)Стибніт: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)Сфалерит: $(l:tfg_ores/mars_vein_index#mars_sulfur)23%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)17%$(/l)$()$(li)Тальк: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)Танталіт: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)57%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)47%$(/l)$()$(li)Торіаніт: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)Уранит: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)Ураніт: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/mars_vein_index#mars_copper)65%$(/l)$()$(li)Хроміт: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", "type": "patchouli:text" }, { 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 2fd88c06a..49ab96a50 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 @@ -19,7 +19,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганець і Тантал$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Настуран, Торій і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Настуран, Торій і Уранініт$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Редстоун і Хроміт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Солі і Сподумен$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Стеатит, Тальк і Глауконіт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Сфалерит і Галеніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраедрит (Звичайний)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеєліт та Вольфрам$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#mars_tantalite)Марганець і Тантал$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_copper)Мідь та Халькопірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)Настуран, Торіаніт і Гематит$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)Настуран, Торіаніт і Уранініт$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)Редстоун і Хроміт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)Смарагд і Берилій$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)Солі і Сподумен$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_galena)Срібло, Гален і Свинець$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)Стеатит, Тальк і Глауконіт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)Сфалерит і Галеніт$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_sulfur)Сфалерит і Пірит$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_stibnite)Тетраедрит (Звичайний)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)Тетраедрит (Поверхня)$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)Шеєліт та Вольфрам$()$()", "type": "patchouli:text" }, { @@ -1452,7 +1452,7 @@ { "Type": "patchouli:text", "text": "$(thing)Рідкість$(): 220$(br)$(thing)Щільність$(): 0.55$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): 0 — 70$(br)$(thing)Розмір$(): 20$(br)$(thing)Індикатор Max Depth$(): 15$(br2)$(thing)Типи каменю$(): Red Granite, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Доломіт, Конгломерат, Трахіт", - "title": "Настуран, Торій і Гематит", + "title": "Настуран, Торіаніт і Гематит", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -1478,7 +1478,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торій", + "name": "Торіаніт", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1493,7 +1493,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 29%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): Th", + "text": "$(thing)Відсоток$(): 29%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -1519,7 +1519,7 @@ { "Type": "patchouli:text", "text": "$(thing)Рідкість$(): 370$(br)$(thing)Щільність$(): 0.3$(br)$(thing)Тип$(): Кластерна вена$(br)$(thing)Y$(): -20 — 0$(br)$(thing)Розмір$(): 60$(br)$(thing)Індикатор Max Depth$(): 20$(br2)$(thing)Типи каменю$(): Аргиліт, Аргіліт, Габро, Глинистий сланець, Дацит, Діорит, Трахіт", - "title": "Настуран, Торій і Уранініт", + "title": "Настуран, Торіаніт і Уранініт", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -1545,7 +1545,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торій", + "name": "Торіаніт", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1560,7 +1560,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 26%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): Th", + "text": "$(thing)Відсоток$(): 26%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json index 1bbcd24bf..da1f5c95b 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_ore_index.json @@ -39,7 +39,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Тетраедрит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Торій: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)35%$(/l)$()$(li)Халькоцит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)Цеоліт: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()", + "text": "$(li)Тетраедрит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)40%$(/l)$()$(li)Топаз: $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Торіаніт: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)Трона: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/moon_vein_index#moon_cassiterite)35%$(/l)$()$(li)Халькоцит: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/moon_vein_index#moon_magnetite)40%$(/l)$()$(li)Цеоліт: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)Шелдонітн: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()", "type": "patchouli:text" } ], diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json index bd9a0a222..97767decf 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/moon_vein_index.json @@ -1782,7 +1782,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торій", + "name": "Торіаніт", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1797,7 +1797,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): Th", + "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json index 579eb90c8..f7bfffeed 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/nether_ore_index.json @@ -44,7 +44,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)Тальк: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Танталіт: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торій: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Халькоцит: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()", + "text": "$(li)Тальк: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)Танталіт: $(l:tfg_ores/nether_vein_index#nether_manganese)12%$(/l)$()$(li)Тетраедрит: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)50%$(/l)$()$(li)Топаз: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Торіаніт: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)Трикальційфосфат: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)Трона: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)Уранит: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)Ураніт: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)Халькопирит: $(l:tfg_ores/nether_vein_index#nether_copper)20%$(/l)$()$(li)Халькоцит: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)Хроміт: $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)Червоний гранат: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)Шеєліт: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()", "type": "patchouli:text" }, { 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 efc819fdb..3ab2c99df 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 @@ -2123,7 +2123,7 @@ }, { "Type": "patchouli:multiblock", - "name": "Торій", + "name": "Торіаніт", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -2138,7 +2138,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): Th", + "text": "$(thing)Відсоток$(): 0%$(br)$(thing)Джерело$(): Торію$(br)$(thing)Формула$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json index 8c06e3518..bd6266b92 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/tfg_ores/venus_ore_index.json @@ -1,7 +1,7 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", "name": "Venus Ore Index", - "icon": "gtceu:sulfur_dust", + "icon": "vintageimprovements:sulfur", "category": "tfc:tfg_ores", "read_by_default": true, "secret": false, 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 16c0a4e2a..3bb43fe46 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 @@ -14,27 +14,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(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)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/earth_vein_index#deep_pitchblende)25%$(/l)$()", + "text": "$(li)云母: $(l:tfg_ores/earth_vein_index#normal_mica)25%$(/l)$()$(li)原生金: $(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)原生铜: $(l:tfg_ores/earth_vein_index#normal_copper)65%$(/l), $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)30%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)原生银: $(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)塔基安矿: $(l:tfg_ores/earth_vein_index#normal_tarkianite)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/earth_vein_index#normal_lubricant)10%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)10%$(/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#normal_salt)40%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)53%$(/l), $(l:tfg_ores/earth_vein_index#deep_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/earth_vein_index#normal_gypsum)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/earth_vein_index#normal_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/earth_vein_index#normal_silver)30%$(/l)$()$(li)明矾石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)15%$(/l)$()", "type": "patchouli:text" }, { "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#deep_pitchblende)25%$(/l)$()$(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)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)63%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()", + "text": "$(li)白钨矿: $(l:tfg_ores/earth_vein_index#deep_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/earth_vein_index#normal_lubricant)30%$(/l)$()$(li)盐: $(l:tfg_ores/earth_vein_index#normal_salt)30%$(/l), $(l:tfg_ores/earth_vein_index#normal_spodumene)30%$(/l)$()$(li)石棉: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_quartz)18%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/earth_vein_index#normal_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/earth_vein_index#normal_gypsum)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/earth_vein_index#normal_quartz)43%$(/l)$()$(li)石墨: $(l:tfg_ores/earth_vein_index#normal_graphite)45%$(/l)$()$(li)硅藻土: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)30%$(/l)$()$(li)硝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_cassiterite)10%$(/l), $(l:tfg_ores/earth_vein_index#surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/earth_vein_index#surface_sphalerite)55%$(/l), $(l:tfg_ores/earth_vein_index#normal_sulfur)50%$(/l), $(l:tfg_ores/earth_vein_index#normal_sphalerite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)9%$(/l), $(l:tfg_ores/earth_vein_index#surface_bismuthinite)3%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/earth_vein_index#deep_sheldonite)38%$(/l)$()$(li)硼砂: $(l:tfg_ores/earth_vein_index#normal_gypsum)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_tarkianite)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_salt)15%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷灰石: $(l:tfg_ores/earth_vein_index#normal_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()$(li)蓝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()", + "text": "$(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#normal_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/earth_vein_index#normal_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)65%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)25%$(/l)$()$(li)红宝石: $(l:tfg_ores/earth_vein_index#normal_redstone)35%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/earth_vein_index#normal_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)5%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_opal)5%$(/l)$()$(li)绿宝石: $(l:tfg_ores/earth_vein_index#normal_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/earth_vein_index#normal_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/earth_vein_index#normal_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/earth_vein_index#normal_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/earth_vein_index#deep_sapphire)16%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)8%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/earth_vein_index#normal_mica)35%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钍矿: $(l:tfg_ores/earth_vein_index#normal_beryllium)15%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/l)$()", + "text": "$(li)蓝石: $(l:tfg_ores/earth_vein_index#normal_saltpeter)25%$(/l)$()$(li)蓝金石: $(l:tfg_ores/earth_vein_index#normal_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/earth_vein_index#deep_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/earth_vein_index#deep_garnet_opal)55%$(/l), $(l:tfg_ores/earth_vein_index#deep_garnet_amethyst)15%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/earth_vein_index#normal_hematite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)35%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)20%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)20%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/earth_vein_index#normal_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/earth_vein_index#normal_garnierite)20%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/earth_vein_index#deep_molybdenum)35%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/earth_vein_index#surface_bismuthinite)80%$(/l), $(l:tfg_ores/earth_vein_index#normal_bismuthinite)70%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/earth_vein_index#deep_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/earth_vein_index#normal_tetrahedrite)20%$(/l), $(l:tfg_ores/earth_vein_index#surface_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/earth_vein_index#normal_quartz)37%$(/l)$()$(li)针铁矿: $(l:tfg_ores/earth_vein_index#deep_limonite)50%$(/l), $(l:tfg_ores/earth_vein_index#deep_hematite)25%$(/l), $(l:tfg_ores/earth_vein_index#normal_hematite)15%$(/l), $(l:tfg_ores/earth_vein_index#normal_limonite)15%$(/l), $(l:tfg_ores/earth_vein_index#deep_gold)5%$(/l), $(l:tfg_ores/earth_vein_index#normal_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/earth_vein_index#normal_magnetite)22%$(/l), $(l:tfg_ores/earth_vein_index#deep_magnetite)25%$(/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 e735d0826..c5d7b62a3 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 @@ -153,7 +153,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 62%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)致癌 (任何接触)$(/t)$()", + "text": "$(thing)百分比$(): 62%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -173,7 +173,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 25%$(br)$(thing)来源$(): 铀$(br)$(thing)化学式$(): UO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)致癌 (任何接触)$(/t)$()", + "text": "$(thing)百分比$(): 25%$(br)$(thing)来源$(): 铀$(br)$(thing)化学式$(): UO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1693,7 +1693,7 @@ }, { "Type": "patchouli:multiblock", - "name": "钍矿", + "name": "方钍石", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1708,7 +1708,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): Th", + "text": "$(thing)百分比$(): 15%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json index 64b8ecced..dc1f5f284 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/mars_ore_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()", + "text": "$(li)原生金: $(l:tfg_ores/mars_vein_index#mars_sapphire)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_hematite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/mars_vein_index#mars_stibnite)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)原生银: $(l:tfg_ores/mars_vein_index#mars_galena)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)天然碱: $(l:tfg_ores/mars_vein_index#mars_lubricant)35%$(/l)$()$(li)岩盐: $(l:tfg_ores/mars_vein_index#mars_salt)20%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)35%$(/l)$()$(li)方解石: $(l:tfg_ores/mars_vein_index#mars_lapis)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)5%$(/l)$()$(li)方钍石: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)方钠石: $(l:tfg_ores/mars_vein_index#mars_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)40%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)35%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)21%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)58%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)52%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)41%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()", + "text": "$(li)滑石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)烧绿石: $(l:tfg_ores/mars_vein_index#mars_apatite)14%$(/l)$()$(li)煤炭: $(l:tfg_ores/mars_vein_index#mars_coal)70%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)25%$(/l)$()$(li)独居石: $(l:tfg_ores/mars_vein_index#mars_neodynium)29%$(/l)$()$(li)白钨矿: $(l:tfg_ores/mars_vein_index#mars_tungsten)42%$(/l)$()$(li)皂石: $(l:tfg_ores/mars_vein_index#mars_lubricant)21%$(/l)$()$(li)盐: $(l:tfg_ores/mars_vein_index#mars_salt)30%$(/l)$()$(li)石棉: $(l:tfg_ores/mars_vein_index#mars_quartzite)17%$(/l)$()$(li)石膏: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()$(li)石英岩: $(l:tfg_ores/mars_vein_index#mars_quartzite)41%$(/l)$()$(li)石墨: $(l:tfg_ores/mars_vein_index#mars_graphite)45%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/mars_vein_index#mars_nickel)35%$(/l)$()$(li)硝石: $(l:tfg_ores/mars_vein_index#mars_surface_cassiterite)10%$(/l)$()$(li)硫: $(l:tfg_ores/mars_vein_index#mars_sulfur)14%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)蓝金石: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()", + "text": "$(li)硫铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)25%$(/l)$()$(li)磷灰石: $(l:tfg_ores/mars_vein_index#mars_apatite)47%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/mars_vein_index#mars_apatite)33%$(/l)$()$(li)红宝石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)35%$(/l)$()$(li)红石: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)45%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)4%$(/l)$()$(li)绿宝石: $(l:tfg_ores/mars_vein_index#mars_beryllium)50%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l), $(l:tfg_ores/mars_vein_index#mars_sapphire)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/mars_vein_index#mars_almandine)15%$(/l)$()$(li)蓝石: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)蓝金石: $(l:tfg_ores/mars_vein_index#mars_lapis)35%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)50%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_hematite)55%$(/l), $(l:tfg_ores/mars_vein_index#mars_coal)30%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l), $(l:tfg_ores/mars_vein_index#mars_sulfur)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_graphite)10%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)20%$(/l), $(l:tfg_ores/mars_vein_index#mars_almandine)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_apatite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_copper)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_galena)6%$(/l), $(l:tfg_ores/mars_vein_index#mars_lubricant)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_nickel)7%$(/l), $(l:tfg_ores/mars_vein_index#mars_quartzite)5%$(/l), $(l:tfg_ores/mars_vein_index#mars_stibnite)4%$(/l), $(l:tfg_ores/mars_vein_index#mars_tungsten)4%$(/l)$()$(li)软锰矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)42%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/mars_vein_index#mars_nickel)28%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_nickel_galena)11%$(/l)$()$(li)辉铋矿: $(l:tfg_ores/mars_vein_index#mars_surface_bismuthinite)40%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)钍矿: $(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)26%$(/l), $(l:tfg_ores/mars_vein_index#mars_pitchblende)29%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", + "text": "$(li)辉锑矿: $(l:tfg_ores/mars_vein_index#mars_stibnite)19%$(/l), $(l:tfg_ores/mars_vein_index#mars_surface_tetrahedrite)19%$(/l)$()$(li)重晶石: $(l:tfg_ores/mars_vein_index#mars_quartzite)35%$(/l)$()$(li)针铁矿: $(l:tfg_ores/mars_vein_index#mars_hematite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/mars_vein_index#mars_neodynium)5%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/mars_vein_index#mars_tantalite)10%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/mars_vein_index#mars_tungsten)33%$(/l)$()$(li)钻石: $(l:tfg_ores/mars_vein_index#mars_graphite)20%$(/l)$()$(li)钽铁矿: $(l:tfg_ores/mars_vein_index#mars_tantalite)36%$(/l)$()$(li)铁铝榴石: $(l:tfg_ores/mars_vein_index#mars_almandine)36%$(/l)$()$(li)铂矿: $(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)15%$(/l)$()$(li)铅矿: $(l:tfg_ores/mars_vein_index#mars_galena)33%$(/l)$()$(li)铍矿: $(l:tfg_ores/mars_vein_index#mars_beryllium)35%$(/l)$()$(li)铝土矿: $(l:tfg_ores/mars_vein_index#mars_sapphire)20%$(/l)$()$(li)铬铁矿: $(l:tfg_ores/mars_vein_index#deep_mars_chromite)20%$(/l)$()", "type": "patchouli:text" }, { 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 00254a17e..f475de296 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 @@ -14,7 +14,7 @@ }, { "Type": "patchouli:text", - "text": "$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)斑铜矿, 硫铂矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)沥青铀矿, 钍矿, 晶质铀矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)沥青铀矿, 钍矿, 赤铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)煤炭, 赤铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)皂石, 滑石, 海绿石矿砂$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)盐, 锂辉石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)石英岩, 石棉, 重晶石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)红石, 铬铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)绿宝石, 铍矿$()$()", + "text": "$(li)$(l:tfg_ores/mars_vein_index#deep_mars_sheldonite)斑铜矿, 硫铂矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_neodynium)氟碳镧铈矿, 独居石$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_pitchblende)沥青铀矿, 方钍石, 晶质铀矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_pitchblende)沥青铀矿, 方钍石, 赤铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_coal)煤炭, 赤铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_tungsten)白钨矿, 钨酸锂$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_lubricant)皂石, 滑石, 海绿石矿砂$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_salt)盐, 锂辉石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_quartzite)石英岩, 石棉, 重晶石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_graphite)石墨, 钻石$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_nickel)硅镁镍矿, 辉钴矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_apatite)磷灰石, 烧绿石$()$()$(li)$(l:tfg_ores/mars_vein_index#deep_mars_chromite)红石, 铬铁矿$()$()$(li)$(l:tfg_ores/mars_vein_index#mars_beryllium)绿宝石, 铍矿$()$()", "type": "patchouli:text" }, { @@ -214,7 +214,7 @@ { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 370$(br)$(thing)密度$(): 0.3$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): -20 — 0$(br)$(thing)尺寸$(): 60$(br)$(thing)指示器最大深度$(): 20$(br2)$(thing)岩石类型$(): 泥板岩, 粗面岩, 粘土岩, 英安岩, 辉长岩, 闪长岩, 页岩", - "title": "沥青铀矿, 钍矿, 晶质铀矿", + "title": "沥青铀矿, 方钍石, 晶质铀矿", "type": "patchouli:text", "anchor": "deep_mars_pitchblende" }, @@ -235,12 +235,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 52%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)致癌 (任何接触)$(/t)$()", + "text": "$(thing)百分比$(): 52%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "钍矿", + "name": "方钍石", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -255,7 +255,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 26%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): Th", + "text": "$(thing)百分比$(): 26%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", "type": "patchouli:multiblock" }, { @@ -275,13 +275,13 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 21%$(br)$(thing)来源$(): 铀$(br)$(thing)化学式$(): UO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)致癌 (任何接触)$(/t)$()", + "text": "$(thing)百分比$(): 21%$(br)$(thing)来源$(): 铀$(br)$(thing)化学式$(): UO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:text", "text": "$(thing)稀有度$(): 220$(br)$(thing)密度$(): 0.55$(br)$(thing)类型$(): 团簇状矿脉$(br)$(thing)Y 坐标$(): 0 — 70$(br)$(thing)尺寸$(): 20$(br)$(thing)指示器最大深度$(): 15$(br2)$(thing)岩石类型$(): 泥板岩, 白云岩, 砾岩, 粗面岩, 红花岗岩, 英安岩, 辉长岩, 闪长岩, 页岩", - "title": "沥青铀矿, 钍矿, 赤铁矿", + "title": "沥青铀矿, 方钍石, 赤铁矿", "type": "patchouli:text", "anchor": "mars_pitchblende" }, @@ -302,12 +302,12 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 41%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)致癌 (任何接触)$(/t)$()", + "text": "$(thing)百分比$(): 41%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { "Type": "patchouli:multiblock", - "name": "钍矿", + "name": "方钍石", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -322,7 +322,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 29%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): Th", + "text": "$(thing)百分比$(): 29%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json index 0eead74c1..119901031 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_ore_index.json @@ -14,22 +14,22 @@ }, { "Type": "patchouli:text", - "text": "$(li)下界石英: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)云母: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)原生金: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)原生铜: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)原生银: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)天然碱: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)岩盐: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)戴斯矿: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_sphalerite)10%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)35%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/moon_vein_index#moon_silver)28%$(/l)$()$(li)明矾石: $(l:tfg_ores/moon_vein_index#moon_gypsum)15%$(/l)$()$(li)朱砂: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()$(li)橄榄石: $(l:tfg_ores/moon_vein_index#moon_graphite)10%$(/l), $(l:tfg_ores/moon_vein_index#moon_apatite)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_beryllium)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_gypsum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_molybdenum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_redstone)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_silver)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_sapphire)2%$(/l), $(l:tfg_ores/moon_vein_index#moon_monazite)1%$(/l)$()", + "text": "$(li)下界石英: $(l:tfg_ores/moon_vein_index#moon_quartz)30%$(/l)$()$(li)云母: $(l:tfg_ores/moon_vein_index#moon_mica)23%$(/l)$()$(li)原生金: $(l:tfg_ores/moon_vein_index#moon_gold)55%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)原生铜: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)15%$(/l)$()$(li)原生银: $(l:tfg_ores/moon_vein_index#moon_silver)42%$(/l)$()$(li)天然碱: $(l:tfg_ores/moon_vein_index#moon_lubricant)10%$(/l)$()$(li)岩盐: $(l:tfg_ores/moon_vein_index#moon_beryllium)18%$(/l)$()$(li)戴斯矿: $(l:tfg_ores/moon_vein_index#moon_desh)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_sphalerite)10%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)35%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/moon_vein_index#moon_gypsum)25%$(/l)$()$(li)方钍石: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)方铅矿: $(l:tfg_ores/moon_vein_index#moon_silver)28%$(/l)$()$(li)明矾石: $(l:tfg_ores/moon_vein_index#moon_gypsum)15%$(/l)$()$(li)朱砂: $(l:tfg_ores/moon_vein_index#moon_redstone)19%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)氟碳镧铈矿: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)沸石: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)滑石: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)烧绿石: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)独居石: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)白钨矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)皂石: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)石膏: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)石英岩: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)石墨: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()", + "text": "$(li)橄榄石: $(l:tfg_ores/moon_vein_index#moon_graphite)10%$(/l), $(l:tfg_ores/moon_vein_index#moon_apatite)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_beryllium)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_gypsum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_mica)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_molybdenum)5%$(/l), $(l:tfg_ores/moon_vein_index#moon_redstone)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_silver)4%$(/l), $(l:tfg_ores/moon_vein_index#moon_sapphire)2%$(/l), $(l:tfg_ores/moon_vein_index#moon_monazite)1%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/moon_vein_index#moon_monazite)61%$(/l)$()$(li)沸石: $(l:tfg_ores/moon_vein_index#moon_cassiterite)5%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/moon_vein_index#moon_lubricant)25%$(/l)$()$(li)滑石: $(l:tfg_ores/moon_vein_index#moon_lubricant)20%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)12%$(/l)$()$(li)烧绿石: $(l:tfg_ores/moon_vein_index#moon_apatite)38%$(/l)$()$(li)独居石: $(l:tfg_ores/moon_vein_index#moon_monazite)30%$(/l)$()$(li)白钨矿: $(l:tfg_ores/moon_vein_index#moon_scheelite)40%$(/l)$()$(li)皂石: $(l:tfg_ores/moon_vein_index#moon_lubricant)30%$(/l), $(l:tfg_ores/moon_vein_index#moon_saltpeter)20%$(/l)$()$(li)石膏: $(l:tfg_ores/moon_vein_index#moon_gypsum)35%$(/l)$()$(li)石英岩: $(l:tfg_ores/moon_vein_index#moon_quartz)20%$(/l)$()$(li)石墨: $(l:tfg_ores/moon_vein_index#moon_graphite)52%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/moon_vein_index#moon_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)29%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)硼砂: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)紫水晶: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)红石: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)蓝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()", + "text": "$(li)硫铂矿: $(l:tfg_ores/moon_vein_index#moon_sheldonite)25%$(/l)$()$(li)硼砂: $(l:tfg_ores/moon_vein_index#moon_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/moon_vein_index#moon_apatite)23%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/moon_vein_index#moon_apatite)33%$(/l)$()$(li)紫水晶: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/moon_vein_index#moon_redstone)33%$(/l)$()$(li)红石: $(l:tfg_ores/moon_vein_index#moon_redstone)42%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/moon_vein_index#moon_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/moon_vein_index#moon_beryllium)45%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_gold)5%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/moon_vein_index#moon_sapphire)16%$(/l), $(l:tfg_ores/moon_vein_index#moon_magnetite)5%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/moon_vein_index#moon_mica)33%$(/l)$()$(li)蓝石: $(l:tfg_ores/moon_vein_index#moon_saltpeter)37%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蛋白石: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)赛特斯石英矿: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)软锰矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/moon_vein_index#moon_quartz)5%$(/l)$()$(li)钍矿: $(l:tfg_ores/moon_vein_index#moon_beryllium)0%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/moon_vein_index#moon_monazite)6%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/moon_vein_index#moon_manganese)37%$(/l)$()$(li)钛铁矿: $(l:tfg_ores/moon_vein_index#moon_bauxite)42%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)30%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()", + "text": "$(li)蓝黄玉: $(l:tfg_ores/moon_vein_index#moon_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/moon_vein_index#moon_garnet)38%$(/l)$()$(li)赛特斯石英矿: $(l:tfg_ores/moon_vein_index#moon_quartz)45%$(/l)$()$(li)软锰矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)38%$(/l), $(l:tfg_ores/moon_vein_index#moon_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/moon_vein_index#moon_pyrolusite)23%$(/l), $(l:tfg_ores/moon_vein_index#moon_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/moon_vein_index#moon_molybdenum)33%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)25%$(/l), $(l:tfg_ores/moon_vein_index#moon_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/moon_vein_index#moon_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/moon_vein_index#moon_quartz)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/moon_vein_index#moon_magnetite)15%$(/l)$()$(li)钕矿: $(l:tfg_ores/moon_vein_index#moon_monazite)6%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/moon_vein_index#moon_manganese)37%$(/l)$()$(li)钛铁矿: $(l:tfg_ores/moon_vein_index#moon_bauxite)42%$(/l), $(l:tfg_ores/moon_vein_index#moon_desh)30%$(/l)$()$(li)钨酸锂: $(l:tfg_ores/moon_vein_index#moon_scheelite)50%$(/l)$()", "type": "patchouli:text" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json index 057cc3959..0525d88cb 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/moon_vein_index.json @@ -1215,7 +1215,7 @@ }, { "Type": "patchouli:multiblock", - "name": "钍矿", + "name": "方钍石", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1230,7 +1230,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): Th", + "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json index 2d0e70304..c8a4018be 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/nether_ore_index.json @@ -14,27 +14,27 @@ }, { "Type": "patchouli:text", - "text": "$(li)下界石英: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)云母: $(l:tfg_ores/nether_vein_index#nether_mica)33%$(/l)$()$(li)原生金: $(l:tfg_ores/nether_vein_index#nether_gold)75%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()$(li)原生银: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/nether_vein_index#nether_goethite)20%$(/l)$()$(li)岩盐: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)41%$(/l), $(l:tfg_ores/nether_vein_index#nether_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)方钠石: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/nether_vein_index#nether_silver)30%$(/l)$()$(li)无烟煤: $(l:tfg_ores/nether_vein_index#nether_anthracite)100%$(/l)$()$(li)明矾石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)15%$(/l)$()", + "text": "$(li)下界石英: $(l:tfg_ores/nether_vein_index#nether_quartz)54%$(/l)$()$(li)云母: $(l:tfg_ores/nether_vein_index#nether_mica)33%$(/l)$()$(li)原生金: $(l:tfg_ores/nether_vein_index#nether_gold)75%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)5%$(/l)$()$(li)原生铜: $(l:tfg_ores/nether_vein_index#nether_copper)65%$(/l), $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)30%$(/l)$()$(li)原生银: $(l:tfg_ores/nether_vein_index#nether_silver)35%$(/l)$()$(li)天然碱: $(l:tfg_ores/nether_vein_index#nether_lubricant)10%$(/l)$()$(li)孔雀石: $(l:tfg_ores/nether_vein_index#nether_goethite)20%$(/l)$()$(li)岩盐: $(l:tfg_ores/nether_vein_index#nether_beryllium)18%$(/l)$()$(li)斑铜矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)41%$(/l), $(l:tfg_ores/nether_vein_index#nether_topaz)15%$(/l)$()$(li)方解石: $(l:tfg_ores/nether_vein_index#nether_gypsum)30%$(/l), $(l:tfg_ores/nether_vein_index#nether_lapis)15%$(/l)$()$(li)方钍石: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)方钠石: $(l:tfg_ores/nether_vein_index#nether_lapis)25%$(/l)$()$(li)方铅矿: $(l:tfg_ores/nether_vein_index#nether_silver)30%$(/l)$()$(li)无烟煤: $(l:tfg_ores/nether_vein_index#nether_anthracite)100%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)晶质铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/nether_vein_index#nether_monazite)50%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/nether_vein_index#nether_lubricant)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)独居石: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()$(li)皂石: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()", + "text": "$(li)明矾石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)15%$(/l)$()$(li)晶质铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)25%$(/l)$()$(li)朱砂: $(l:tfg_ores/nether_vein_index#nether_redstone)20%$(/l)$()$(li)橄榄石: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)氟碳镧铈矿: $(l:tfg_ores/nether_vein_index#nether_monazite)50%$(/l)$()$(li)沥青铀矿: $(l:tfg_ores/nether_vein_index#nether_pitchblende)62%$(/l)$()$(li)海绿石矿砂: $(l:tfg_ores/nether_vein_index#nether_lubricant)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_olivine)15%$(/l)$()$(li)滑石: $(l:tfg_ores/nether_vein_index#nether_lubricant)20%$(/l)$()$(li)漂白土: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gypsum)15%$(/l)$()$(li)烧绿石: $(l:tfg_ores/nether_vein_index#nether_apatite)15%$(/l)$()$(li)煤炭: $(l:tfg_ores/nether_vein_index#nether_graphite)15%$(/l)$()$(li)独居石: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)玄武岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)35%$(/l)$()$(li)白钨矿: $(l:tfg_ores/nether_vein_index#nether_scheelite)45%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)石棉: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)石墨: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)硅岩: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)硅藻土: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)硫: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)硼砂: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()$(li)磷灰石: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()", + "text": "$(li)皂石: $(l:tfg_ores/nether_vein_index#nether_lubricant)30%$(/l)$()$(li)石棉: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石榴石矿砂: $(l:tfg_ores/nether_vein_index#nether_garnet_tin)25%$(/l)$()$(li)石膏: $(l:tfg_ores/nether_vein_index#nether_gypsum)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)15%$(/l)$()$(li)石英岩: $(l:tfg_ores/nether_vein_index#nether_quartz)25%$(/l)$()$(li)石墨: $(l:tfg_ores/nether_vein_index#nether_graphite)45%$(/l)$()$(li)硅岩: $(l:tfg_ores/nether_vein_index#nether_naquadah)100%$(/l)$()$(li)硅藻土: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_garnet_tin)15%$(/l)$()$(li)硅镁镍矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)23%$(/l)$()$(li)硝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_cassiterite)9%$(/l)$()$(li)硫: $(l:tfg_ores/nether_vein_index#nether_sulfur)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_sphalerite)35%$(/l)$()$(li)硫铂矿: $(l:tfg_ores/nether_vein_index#nether_sheldonite)29%$(/l)$()$(li)硼砂: $(l:tfg_ores/nether_vein_index#nether_gypsum)20%$(/l)$()$(li)磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)20%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)磷酸三钙: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/nether_vein_index#nether_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)蓝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()$(li)蓝金石: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()", + "text": "$(li)磷灰石: $(l:tfg_ores/nether_vein_index#nether_apatite)50%$(/l)$()$(li)磷酸三钙: $(l:tfg_ores/nether_vein_index#nether_apatite)35%$(/l)$()$(li)紫水晶: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)红宝石: $(l:tfg_ores/nether_vein_index#nether_redstone)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)20%$(/l)$()$(li)红石: $(l:tfg_ores/nether_vein_index#nether_redstone)45%$(/l)$()$(li)红色石榴石: $(l:tfg_ores/nether_vein_index#nether_garnet)9%$(/l)$()$(li)绿宝石: $(l:tfg_ores/nether_vein_index#nether_beryllium)47%$(/l)$()$(li)绿色蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l)$()$(li)膨润土: $(l:tfg_ores/nether_vein_index#nether_olivine)35%$(/l)$()$(li)花岗岩矿砂: $(l:tfg_ores/nether_vein_index#nether_basaltic_sands)25%$(/l)$()$(li)菱镁矿: $(l:tfg_ores/nether_vein_index#nether_olivine)25%$(/l)$()$(li)蓝宝石: $(l:tfg_ores/nether_vein_index#nether_sapphire)16%$(/l), $(l:tfg_ores/nether_vein_index#nether_magnetite)10%$(/l)$()$(li)蓝晶石: $(l:tfg_ores/nether_vein_index#nether_mica)46%$(/l)$()$(li)蓝石: $(l:tfg_ores/nether_vein_index#nether_saltpeter)25%$(/l)$()", "type": "patchouli:text" }, { "Type": "patchouli:text", - "text": "$(li)蓝黄玉: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/nether_vein_index#nether_hematite)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)31%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/nether_vein_index#nether_quartz)20%$(/l)$()$(li)针铁矿: $(l:tfg_ores/nether_vein_index#nether_goethite)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)钍矿: $(l:tfg_ores/nether_vein_index#nether_beryllium)0%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)钕矿: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/nether_vein_index#nether_manganese)37%$(/l)$()", + "text": "$(li)蓝金石: $(l:tfg_ores/nether_vein_index#nether_lapis)35%$(/l)$()$(li)蓝黄玉: $(l:tfg_ores/nether_vein_index#nether_topaz)35%$(/l)$()$(li)蛋白石: $(l:tfg_ores/nether_vein_index#nether_garnet)38%$(/l)$()$(li)赤铁矿: $(l:tfg_ores/nether_vein_index#nether_hematite)35%$(/l), $(l:tfg_ores/nether_vein_index#nether_goethite)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)15%$(/l), $(l:tfg_ores/nether_vein_index#nether_copper)5%$(/l)$()$(li)软锰矿: $(l:tfg_ores/nether_vein_index#nether_manganese)25%$(/l)$()$(li)辉钴矿: $(l:tfg_ores/nether_vein_index#nether_garnierite)19%$(/l)$()$(li)辉钼矿: $(l:tfg_ores/nether_vein_index#nether_molybdenum)31%$(/l)$()$(li)辉铜矿: $(l:tfg_ores/nether_vein_index#nether_topaz)25%$(/l)$()$(li)辉锑矿: $(l:tfg_ores/nether_vein_index#nether_tetrahedrite)20%$(/l)$()$(li)重晶石: $(l:tfg_ores/nether_vein_index#nether_quartz)20%$(/l)$()$(li)针铁矿: $(l:tfg_ores/nether_vein_index#nether_goethite)50%$(/l), $(l:tfg_ores/nether_vein_index#nether_hematite)25%$(/l), $(l:tfg_ores/nether_vein_index#nether_gold)5%$(/l)$()$(li)钒磁铁矿: $(l:tfg_ores/nether_vein_index#nether_magnetite)30%$(/l)$()$(li)钕矿: $(l:tfg_ores/nether_vein_index#nether_monazite)25%$(/l)$()$(li)钙铝榴石: $(l:tfg_ores/nether_vein_index#nether_manganese)37%$(/l)$()", "type": "patchouli:text" }, { 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 d8f594432..4bd56781e 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 @@ -145,7 +145,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 62%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)致癌 (任何接触)$(/t)$()", + "text": "$(thing)百分比$(): 62%$(br)$(thing)来源$(): 铀, 钍, 铅$(br)$(thing)化学式$(): (UO₂)₃ThPb$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -165,7 +165,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 25%$(br)$(thing)来源$(): 铀$(br)$(thing)化学式$(): UO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)致癌 (任何接触)$(/t)$()", + "text": "$(thing)百分比$(): 25%$(br)$(thing)来源$(): 铀$(br)$(thing)化学式$(): UO₂$(br)$(thing)危害$(): $(c)$(t:需要全身防护)放射性 (任何接触)$(/t)$()", "type": "patchouli:multiblock" }, { @@ -1452,7 +1452,7 @@ }, { "Type": "patchouli:multiblock", - "name": "钍矿", + "name": "方钍石", "multiblock": { "mapping": { "0": "#forge:ores/thorium" @@ -1467,7 +1467,7 @@ ] }, "enable_visualize": false, - "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): Th", + "text": "$(thing)百分比$(): 0%$(br)$(thing)来源$(): 钍$(br)$(thing)化学式$(): ThO₂", "type": "patchouli:multiblock" }, { diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json index 2f591ffef..57bbc45ee 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/zh_cn/entries/tfg_ores/venus_ore_index.json @@ -1,7 +1,7 @@ { "__credits__": "This page was automatically generated by OresToFieldGuide.", "name": "金星矿物索引", - "icon": "gtceu:sulfur_dust", + "icon": "vintageimprovements:sulfur", "category": "tfc:tfg_ores", "read_by_default": true, "secret": false, diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 7236b3bc4..81e83566a 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1323,7 +1323,7 @@ "ore_vein.tfg.surface_sphalerite": "Sphalerite & Sulfur", "ore_vein.tfg.surface_tetrahedrite": "Tetrahedrite (Surface)", "ore_vein.tfg.deep_mars_chromite": "Redstone & Chromite", - "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorium, & Uraninite", + "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorianite, & Uraninite", "ore_vein.tfg.deep_mars_sheldonite": "Bornite & Cooperite", "ore_vein.tfg.mars_almandine": "Almandine & Sapphire", "ore_vein.tfg.mars_apatite": "Apatite & Pyrochlore", @@ -1338,7 +1338,7 @@ "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Bastnasite & Monazite", "ore_vein.tfg.mars_nickel": "Garnierite & Cobaltite", - "ore_vein.tfg.mars_pitchblende": "Pitchblende, Thorium, & Hematite", + "ore_vein.tfg.mars_pitchblende": "Pitchblende & Thorianite, & Hematite", "ore_vein.tfg.mars_quartzite": "Quartzite, Asbestos, & Barite", "ore_vein.tfg.mars_salt": "Salts & Spodumene", "ore_vein.tfg.mars_stibnite": "Tetrahedrite (Normal)", diff --git a/kubejs/assets/tfg/lang/fr_fr.json b/kubejs/assets/tfg/lang/fr_fr.json index 142dcd31f..134f632d3 100644 --- a/kubejs/assets/tfg/lang/fr_fr.json +++ b/kubejs/assets/tfg/lang/fr_fr.json @@ -1075,7 +1075,7 @@ "ore_vein.tfg.surface_sphalerite": "Sphalerite & Sulfur", "ore_vein.tfg.surface_tetrahedrite": "Tetrahedrite (Surface)", "ore_vein.tfg.deep_mars_chromite": "Redstone & Chromite", - "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorium, & Uraninite", + "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorianite, & Uraninite", "ore_vein.tfg.deep_mars_sheldonite": "Bornite & Cooperite", "ore_vein.tfg.mars_almandine": "Almandine & Sapphire", "ore_vein.tfg.mars_apatite": "Apatite & Pyrochlore", @@ -1090,7 +1090,7 @@ "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Bastnasite & Monazite", "ore_vein.tfg.mars_nickel": "Garnierite & Cobaltite", - "ore_vein.tfg.mars_pitchblende": "Pitchblende, Thorium, & Hematite", + "ore_vein.tfg.mars_pitchblende": "Pitchblende & Thorianite, & Hematite", "ore_vein.tfg.mars_quartzite": "Quartzite, Asbestos, & Barite", "ore_vein.tfg.mars_salt": "Salts & Spodumene", "ore_vein.tfg.mars_stibnite": "Tetrahedrite (Normal)", diff --git a/kubejs/assets/tfg/lang/pt_br.json b/kubejs/assets/tfg/lang/pt_br.json index 4ff151945..bd8332acf 100644 --- a/kubejs/assets/tfg/lang/pt_br.json +++ b/kubejs/assets/tfg/lang/pt_br.json @@ -838,7 +838,7 @@ "ore_vein.tfg.surface_sphalerite": "Esfalerita e Enxofre", "ore_vein.tfg.surface_tetrahedrite": "Tetraedrita (Superfície)", "ore_vein.tfg.deep_mars_chromite": "Redstone & Chromite", - "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorium, & Uraninite", + "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorianite, & Uraninite", "ore_vein.tfg.deep_mars_sheldonite": "Bornite & Cooperite", "ore_vein.tfg.mars_almandine": "Almandine & Sapphire", "ore_vein.tfg.mars_apatite": "Apatita e Pirocloro", @@ -853,7 +853,7 @@ "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Bastnasita e Monazita", "ore_vein.tfg.mars_nickel": "Garnierita e Cobaltita", - "ore_vein.tfg.mars_pitchblende": "Pitchblende, Thorium, & Hematite", + "ore_vein.tfg.mars_pitchblende": "Pitchblende & Thorianite, & Hematite", "ore_vein.tfg.mars_quartzite": "Quartzite, Asbestos, & Barite", "ore_vein.tfg.mars_salt": "Salts & Spodumene", "ore_vein.tfg.mars_stibnite": "Tetraedrita (Normal)", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index c022d36b7..b336939e2 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1263,7 +1263,7 @@ "ore_vein.tfg.surface_sphalerite": "Сфалерит и Сера", "ore_vein.tfg.surface_tetrahedrite": "Тетраэдрит (Поверхностный)", "ore_vein.tfg.deep_mars_chromite": "Redstone & Chromite", - "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorium, & Uraninite", + "ore_vein.tfg.deep_mars_pitchblende": "Pitchblende, Thorianite, & Uraninite", "ore_vein.tfg.deep_mars_sheldonite": "Bornite & Cooperite", "ore_vein.tfg.mars_almandine": "Almandine & Sapphire", "ore_vein.tfg.mars_apatite": "Апатит и Пирохлор", @@ -1278,7 +1278,7 @@ "ore_vein.tfg.mars_lubricant": "Trona, Talc, & Glauconite", "ore_vein.tfg.mars_neodynium": "Бастнезит и Монацит", "ore_vein.tfg.mars_nickel": "Гарниерит и Кобальтит", - "ore_vein.tfg.mars_pitchblende": "Pitchblende, Thorium, & Hematite", + "ore_vein.tfg.mars_pitchblende": "Pitchblende & Thorianite, & Hematite", "ore_vein.tfg.mars_quartzite": "Quartzite, Asbestos, & Barite", "ore_vein.tfg.mars_salt": "Salts & Spodumene", "ore_vein.tfg.mars_stibnite": "Тетраэдрит (обычный)", diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json index 0b679e3bc..6c647a693 100644 --- a/kubejs/assets/tfg/lang/uk_ua.json +++ b/kubejs/assets/tfg/lang/uk_ua.json @@ -1308,7 +1308,7 @@ "ore_vein.tfg.surface_sphalerite": "Сфалерит і Сірка", "ore_vein.tfg.surface_tetrahedrite": "Тетраедрит (Поверхня)", "ore_vein.tfg.deep_mars_chromite": "Редстоун і Хроміт", - "ore_vein.tfg.deep_mars_pitchblende": "Настуран, Торій і Уранініт", + "ore_vein.tfg.deep_mars_pitchblende": "Настуран, Торіаніт і Уранініт", "ore_vein.tfg.deep_mars_sheldonite": "Борніт і Куперит", "ore_vein.tfg.mars_almandine": "Альмандин і Сапфір", "ore_vein.tfg.mars_apatite": "Апатит і Пірохлор", @@ -1323,7 +1323,7 @@ "ore_vein.tfg.mars_lubricant": "Стеатит, Тальк і Глауконіт", "ore_vein.tfg.mars_neodynium": "Бастнезит і Монацит", "ore_vein.tfg.mars_nickel": "Гарнієрит і Кобальтит", - "ore_vein.tfg.mars_pitchblende": "Настуран, Торій і Гематит", + "ore_vein.tfg.mars_pitchblende": "Настуран, Торіаніт і Гематит", "ore_vein.tfg.mars_quartzite": "Кварцит, Азбест і Барит", "ore_vein.tfg.mars_salt": "Солі і Сподумен", "ore_vein.tfg.mars_stibnite": "Тетраедрит (Звичайний)", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index 231c5ca62..cc9f187a1 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -1410,7 +1410,7 @@ "ore_vein.tfg.surface_sphalerite": "闪锌矿, 硫", "ore_vein.tfg.surface_tetrahedrite": "黝铜矿 (地表)", "ore_vein.tfg.deep_mars_chromite": "红石, 铬铁矿", - "ore_vein.tfg.deep_mars_pitchblende": "沥青铀矿, 钍矿, 晶质铀矿", + "ore_vein.tfg.deep_mars_pitchblende": "沥青铀矿, 方钍石, 晶质铀矿", "ore_vein.tfg.deep_mars_sheldonite": "斑铜矿, 硫铂矿", "ore_vein.tfg.mars_almandine": "铁铝榴石, 蓝宝石", "ore_vein.tfg.mars_apatite": "磷灰石, 烧绿石", @@ -1425,7 +1425,7 @@ "ore_vein.tfg.mars_lubricant": "皂石, 滑石, 海绿石矿砂", "ore_vein.tfg.mars_neodynium": "氟碳镧铈矿, 独居石", "ore_vein.tfg.mars_nickel": "硅镁镍矿, 辉钴矿", - "ore_vein.tfg.mars_pitchblende": "沥青铀矿, 钍矿, 赤铁矿", + "ore_vein.tfg.mars_pitchblende": "沥青铀矿, 方钍石, 赤铁矿", "ore_vein.tfg.mars_quartzite": "石英岩, 石棉, 重晶石", "ore_vein.tfg.mars_salt": "盐, 锂辉石", "ore_vein.tfg.mars_stibnite": "黝铜矿 (普通)", From 0e9c6c571c8e64aebbee938169bccd94cfb954e2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 14:05:10 +0000 Subject: [PATCH 626/628] 0.11.16 + pakku --- CHANGELOG.md | 5 ++ pakku-lock.json | 130 ++++++++++++++++++++++++------------------------ 2 files changed, 70 insertions(+), 65 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb84b14d1..d615ecd43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased ### Changes +### Bug fixes +### Translation updates + +## [0.11.16] - 05-01-2026 +### Changes - Added new steam multiblocks for the alloy smelter, compressor, forge hammer, and thermal centrifuge @Pyritie - Reduced the Y level that ad astra considers "space" so rocket launches are faster @Pyritie - Reduced the amount of loot vases in the newer illages, and reduced how much loot you get from them @Pyritie diff --git a/pakku-lock.json b/pakku-lock.json index f8858e283..f6747ac0d 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1499,7 +1499,7 @@ "files": [ { "type": "modrinth", - "file_name": "balm-forge-1.20.1-7.3.37-all.jar", + "file_name": "balm-forge-1.20.1-7.3.38-all.jar", "mc_versions": [ "1.20", "1.20.1" @@ -1508,20 +1508,20 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/MBAkmtvl/versions/Ue8C6cKq/balm-forge-1.20.1-7.3.37-all.jar", - "id": "Ue8C6cKq", + "url": "https://cdn.modrinth.com/data/MBAkmtvl/versions/8rz04Kha/balm-forge-1.20.1-7.3.38-all.jar", + "id": "8rz04Kha", "parent_id": "MBAkmtvl", "hashes": { - "sha512": "3f01038d48f068ebc9941ad9ea23266e7f25a8851bb8f4ac4dd150bb2eddf10f6b2c0dac6e2a8d2cf4af2febfb884766f5ca000cf460d53ccde87cead2b0b5a8", - "sha1": "8ed877e61adf550c68aa4fc75d163ff97c0c5006" + "sha512": "7b7e100a9de75750e402ecc1e2d1c88bf2f16fa1cf095656d87918d37a0472f163b0c6242c68b38285410513ff6a66b31c5620139c2901e7b235657027c71f50", + "sha1": "c689f4cbe1a5250177aced15b66ca251d9476d35" }, "required_dependencies": [], - "size": 590487, - "date_published": "2025-10-09T16:46:34.849157Z" + "size": 591398, + "date_published": "2026-01-05T11:43:40.856151Z" }, { "type": "curseforge", - "file_name": "balm-forge-1.20.1-7.3.37-all.jar", + "file_name": "balm-forge-1.20.1-7.3.38-all.jar", "mc_versions": [ "1.20.1", "1.20" @@ -1530,16 +1530,16 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7087/245/balm-forge-1.20.1-7.3.37-all.jar", - "id": "7087245", + "url": "https://edge.forgecdn.net/files/7420/617/balm-forge-1.20.1-7.3.38-all.jar", + "id": "7420617", "parent_id": "531761", "hashes": { - "sha1": "bb7af11fd4bc2e76fce98f90c752279ae381b934", - "md5": "e4d3fb7b0d8e9271aca89f7964367b1a" + "sha1": "515905f87268f1eb5af2a9878a84914517efe552", + "md5": "499467bc8050be8893b08995438cc026" }, "required_dependencies": [], - "size": 590486, - "date_published": "2025-10-09T16:46:44.680Z" + "size": 591397, + "date_published": "2026-01-05T11:43:31.017Z" } ] }, @@ -2797,7 +2797,7 @@ "files": [ { "type": "modrinth", - "file_name": "colorwheel-forge-1.1.2+mc1.20.1.jar", + "file_name": "colorwheel-forge-1.2.0+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2805,22 +2805,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/JxjWeQlq/colorwheel-forge-1.1.2+mc1.20.1.jar", - "id": "JxjWeQlq", + "url": "https://cdn.modrinth.com/data/BzHgFoGz/versions/sMMng3Id/colorwheel-forge-1.2.0+mc1.20.1.jar", + "id": "sMMng3Id", "parent_id": "BzHgFoGz", "hashes": { - "sha512": "55129a2321ca775254e0b51592c76949b193f3852fa5e5f4fb163f4f77a418dcf10f878bcfc688a79aad180e3193dcca8b65fedb5973bb2069c95ecc366cfc7d", - "sha1": "08089e16b24756e0ef1e50967dcf2286b20f5923" + "sha512": "603ad678a8dfc3fbcad5f1173e396125244eaad55727d47f7ddd4b66df725c59d90fabaf608f6db82db006a1fe7b12196cdf7cddf5135807e8549242645632a1", + "sha1": "b4caaa01971dd398d4d6112a896eea6db856c971" }, "required_dependencies": [ "GchcoXML" ], - "size": 364012, - "date_published": "2025-12-30T19:51:44.638593Z" + "size": 374988, + "date_published": "2026-01-03T13:14:56.723620Z" }, { "type": "curseforge", - "file_name": "colorwheel-forge-1.1.2+mc1.20.1.jar", + "file_name": "colorwheel-forge-1.2.0+mc1.20.1.jar", "mc_versions": [ "1.20.1" ], @@ -2828,18 +2828,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7397/568/colorwheel-forge-1.1.2+mc1.20.1.jar", - "id": "7397568", + "url": "https://edge.forgecdn.net/files/7412/169/colorwheel-forge-1.2.0+mc1.20.1.jar", + "id": "7412169", "parent_id": "1254143", "hashes": { - "sha1": "08089e16b24756e0ef1e50967dcf2286b20f5923", - "md5": "972d1865c0611ca0464c49e70f76868f" + "sha1": "b4caaa01971dd398d4d6112a896eea6db856c971", + "md5": "0bf318b01e6e1fcea03db73014a2abe3" }, "required_dependencies": [ "581495" ], - "size": 364012, - "date_published": "2025-12-30T19:51:46.823Z" + "size": 374988, + "date_published": "2026-01-03T13:14:54.440Z" } ] }, @@ -4909,7 +4909,7 @@ "files": [ { "type": "curseforge", - "file_name": "domum_ornamentum-1.20.1-1.0.292-snapshot-universal.jar", + "file_name": "domum_ornamentum-1.20.1-1.0.294-snapshot-universal.jar", "mc_versions": [ "1.20.1" ], @@ -4917,16 +4917,16 @@ "forge" ], "release_type": "beta", - "url": "https://edge.forgecdn.net/files/7185/824/domum_ornamentum-1.20.1-1.0.292-snapshot-universal.jar", - "id": "7185824", + "url": "https://edge.forgecdn.net/files/7418/104/domum_ornamentum-1.20.1-1.0.294-snapshot-universal.jar", + "id": "7418104", "parent_id": "527361", "hashes": { - "sha1": "1b3b96dda8dd4541afba652c7a975ba439fc1026", - "md5": "81979c0894bbe4af72a488532e898988" + "sha1": "e93b78cd1c036730dfa355248a31c3fef3f812a5", + "md5": "d48152d1459568771e9f40f262e0f424" }, "required_dependencies": [], - "size": 1141274, - "date_published": "2025-11-04T15:31:54.240Z" + "size": 1141311, + "date_published": "2026-01-04T19:54:08.390Z" } ] }, @@ -5416,7 +5416,7 @@ "files": [ { "type": "modrinth", - "file_name": "everycomp-1.20-2.9.13-forge.jar", + "file_name": "everycomp-1.20-2.9.14-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5424,22 +5424,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/QHk3kJYC/everycomp-1.20-2.9.13-forge.jar", - "id": "QHk3kJYC", + "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/1NKRJyBB/everycomp-1.20-2.9.14-forge.jar", + "id": "1NKRJyBB", "parent_id": "eiktJyw1", "hashes": { - "sha512": "aa306f92b4ef8eeec7eb99ef0c24de65c041888eb1432db98eeb630a827bdd895bb472bf2983fa31322090c05a13c28b6da88c5c5162c5d4044e6d9c2b58ddcf", - "sha1": "2c78942c7396b1fab9e53e4ee8172f7ce0ba4482" + "sha512": "56f617e74b89c49856b950f9174c4e651f902b0059699f367d8b9735dd4b6b0929ea2eac45c499f00747bdf9fa1f7929bd64187e8481ff1a9032a4813cc11c7d", + "sha1": "c661fb5f32f9494d63515dff9c16dc567917ab04" }, "required_dependencies": [ "twkfQtEc" ], - "size": 2828451, - "date_published": "2025-12-26T06:16:33.147989Z" + "size": 2828402, + "date_published": "2026-01-05T08:47:37.217646Z" }, { "type": "curseforge", - "file_name": "everycomp-1.20-2.9.13-forge.jar", + "file_name": "everycomp-1.20-2.9.14-forge.jar", "mc_versions": [ "1.20.1" ], @@ -5447,18 +5447,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7379/475/everycomp-1.20-2.9.13-forge.jar", - "id": "7379475", + "url": "https://edge.forgecdn.net/files/7420/237/everycomp-1.20-2.9.14-forge.jar", + "id": "7420237", "parent_id": "628539", "hashes": { - "sha1": "2c78942c7396b1fab9e53e4ee8172f7ce0ba4482", - "md5": "a3d97f3b2a8b828d6c6296487b231cbd" + "sha1": "c661fb5f32f9494d63515dff9c16dc567917ab04", + "md5": "c01979322a7f53d29e5ed6245b03ac00" }, "required_dependencies": [ "499980" ], - "size": 2828451, - "date_published": "2025-12-26T06:16:23.010Z" + "size": 2828402, + "date_published": "2026-01-05T08:45:28.700Z" } ] }, @@ -14133,7 +14133,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.13.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.14.jar", "mc_versions": [ "1.20.1" ], @@ -14142,23 +14142,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/HelwhGEr/TerraFirmaGreg-Core-Modern-0.8.13.jar", - "id": "HelwhGEr", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/m0KNpOTc/TerraFirmaGreg-Core-Modern-0.8.14.jar", + "id": "m0KNpOTc", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "23a7efa66051fec7fae0245eb224a0ca0161292c6cac3eb7455351e722a980baa4bab8e2a7d40a5c9464669fd5eecaec136f8895b185a7daecbbc8722bf208f4", - "sha1": "557984bbe48f571e60426b370d6fa52baa4a1cef" + "sha512": "e5a7b153a2efab340c8ae8ce21624ce1f20349422534dfec64d00112f50142710c16b1a6a31e7ac9387ab771a6b1a2273c8162f46becd22705895ccff6d7c47d", + "sha1": "f1b9ac2623f3058a2bcee184a024fa4111181218" }, "required_dependencies": [ "7tG215v7", "JaCEZUhg" ], - "size": 9358358, - "date_published": "2025-12-31T00:11:28.087747Z" + "size": 9376906, + "date_published": "2026-01-05T06:28:10.973810Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.8.13.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.8.14.jar", "mc_versions": [ "1.20.1" ], @@ -14167,19 +14167,19 @@ "neoforge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/7398/423/TerraFirmaGreg-Core-Modern-0.8.13.jar", - "id": "7398423", + "url": "https://edge.forgecdn.net/files/7419/964/TerraFirmaGreg-Core-Modern-0.8.14.jar", + "id": "7419964", "parent_id": "513402", "hashes": { - "sha1": "557984bbe48f571e60426b370d6fa52baa4a1cef", - "md5": "7c86acba0fbfa684caf532b3dbc07edb" + "sha1": "f1b9ac2623f3058a2bcee184a024fa4111181218", + "md5": "b09df110b3939d76ae68167b71abb8ff" }, "required_dependencies": [ - "890405", - "302973" + "302973", + "890405" ], - "size": 9358358, - "date_published": "2025-12-31T00:11:23.020Z" + "size": 9376906, + "date_published": "2026-01-05T06:28:07.297Z" } ] }, From 6d5c2b3cfdde4875739a0d74cbe4abe6f3843e7b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 5 Jan 2026 14:06:30 +0000 Subject: [PATCH 627/628] fix quest --- config/ftbquests/quests/chapters/hv__high_voltage.snbt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt index d3a7a0289..0343f6712 100644 --- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt +++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt @@ -1620,7 +1620,7 @@ ] title: "{quests.medium_voltage.mv_long_pipe.title}" x: 5.0d - y: -8.0d + y: -7.5d } { dependencies: ["7FA0ACB7F161F378"] @@ -1659,6 +1659,7 @@ "{quests.gregtech_energy.reformate_gas.desc.2}" ] id: "3E4E63D5B8CB6860" + optional: true shape: "heart" subtitle: "{quests.gregtech_energy.reformate_gas.subtitle}" tasks: [{ From d51a758411cdb28f4e18d64e07969cd30c3fcab0 Mon Sep 17 00:00:00 2001 From: illuc Date: Wed, 7 Jan 2026 23:01:07 +0200 Subject: [PATCH 628/628] added cogslop --- config/embeddium++.toml | 2 +- config/lithium.properties | 3 +- defaultconfigs/prototype_pain-server.toml | 2 +- pakku-lock.json | 823 +++++++++++++++++++--- 4 files changed, 725 insertions(+), 105 deletions(-) diff --git a/config/embeddium++.toml b/config/embeddium++.toml index d01a7333d..6eb5e18e5 100644 --- a/config/embeddium++.toml +++ b/config/embeddium++.toml @@ -79,7 +79,7 @@ [embeddiumplus.performance.distanceCulling.tileEntities] #Toggles distance culling for Block Entities #Maybe you use another mod for that :( - enable = true + enable = false #List of all Block Entities to be ignored by distance culling #Uses ResourceLocation to identify it #Example 1: "minecraft:chest" - Ignores chests only diff --git a/config/lithium.properties b/config/lithium.properties index aa0f88dd2..0b00dc625 100644 --- a/config/lithium.properties +++ b/config/lithium.properties @@ -7,4 +7,5 @@ # By default, this file will be empty except for this notice. mixin.world.player_chunk_tick=false -mixin.entity.collisions=false \ No newline at end of file +mixin.entity.collisions=false +mixin.ai.poi=false diff --git a/defaultconfigs/prototype_pain-server.toml b/defaultconfigs/prototype_pain-server.toml index 57e47f02c..98b6c8f82 100644 --- a/defaultconfigs/prototype_pain-server.toml +++ b/defaultconfigs/prototype_pain-server.toml @@ -104,5 +104,5 @@ doTempChange = true ["Prototype Pain Server Config".Integrations] - prototype_physics = true + prototype_physics = false diff --git a/pakku-lock.json b/pakku-lock.json index 90672e0d9..a5b69a4f1 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -11028,6 +11028,104 @@ } ] }, + { + "pakku_id": "X7XUoJD0pdG30oYo", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "prototype-pain", + "modrinth": "prototype-pain" + }, + "name": { + "curseforge": "Prototype: Pain", + "modrinth": "Prototype: Pain" + }, + "id": { + "curseforge": "1333811", + "modrinth": "QeKaRNPZ" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "prototype_pain-2.7.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7393/939/prototype_pain-2.7.2.jar", + "id": "7393939", + "parent_id": "1333811", + "hashes": { + "sha1": "ede92a198e558c0ae19e7edee31ee131f2b75997", + "md5": "f0453e89ce4403294e2041a61ca9d726" + }, + "required_dependencies": [], + "size": 7211017, + "date_published": "2025-12-29T20:27:52.460Z" + }, + { + "type": "modrinth", + "file_name": "prototype_pain-2.7.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/QeKaRNPZ/versions/HektAbor/prototype_pain-2.7.2.jar", + "id": "HektAbor", + "parent_id": "QeKaRNPZ", + "hashes": { + "sha512": "9a2de66c5a10ad1c0f2ffa94efd66f5ae05d4711772724205f29a2afcb2885bd3ca790fd5957d06b07d51e6700ef7c2d7a516c8aebbbc93f9ba86e6ed407f585", + "sha1": "ede92a198e558c0ae19e7edee31ee131f2b75997" + }, + "required_dependencies": [], + "size": 7211017, + "date_published": "2025-12-29T20:28:06.898071Z" + } + ] + }, + { + "pakku_id": "fN75Az4Zp4XdEK1T", + "type": "MOD", + "slug": { + "curseforge": "prototype-physics" + }, + "name": { + "curseforge": "Prototype: Physics" + }, + "id": { + "curseforge": "1380559" + }, + "files": [ + { + "type": "curseforge", + "file_name": "prototype_physics-1.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7207/187/prototype_physics-1.6.jar", + "id": "7207187", + "parent_id": "1380559", + "hashes": { + "sha1": "b1e4e6dfac8ab0988103c3cd2c2f45d13444a3a7", + "md5": "51e75748998c21b2536edb0b267a412a" + }, + "required_dependencies": [], + "size": 774399, + "date_published": "2025-11-10T17:12:22.933Z" + } + ] + }, { "pakku_id": "3Hn4sTVbBvKyQJJS", "type": "MOD", @@ -11576,69 +11674,6 @@ } ] }, - { - "pakku_id": "z0O35G9R0QKhBCb9", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "shoulder-surfing-reloaded", - "modrinth": "shoulder-surfing-reloaded" - }, - "name": { - "curseforge": "Shoulder Surfing Reloaded", - "modrinth": "Shoulder Surfing Reloaded" - }, - "id": { - "curseforge": "243190", - "modrinth": "kepjj2sy" - }, - "files": [ - { - "type": "modrinth", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", - "mc_versions": [ - "1.20", - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/kepjj2sy/versions/HB8m5p83/ShoulderSurfing-Forge-1.20.1-4.18.1.jar", - "id": "HB8m5p83", - "parent_id": "kepjj2sy", - "hashes": { - "sha512": "6d8799f69fb75d6cffdebb0f104e44a4c46e395cb939903c1e9571b88ddaf5486b71d79f3b418e035d0a78cf1eb7e97ae01aca8ae42b661fe8c407f7fd85d624", - "sha1": "77b9cd4384a622f709ae69decb3ad4e6e44afe38" - }, - "required_dependencies": [], - "size": 263854, - "date_published": "2025-12-29T15:34:50.408021Z" - }, - { - "type": "curseforge", - "file_name": "ShoulderSurfing-Forge-1.20.1-4.18.1.jar", - "mc_versions": [ - "1.20.1", - "1.20" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7392/767/ShoulderSurfing-Forge-1.20.1-4.18.1.jar", - "id": "7392767", - "parent_id": "243190", - "hashes": { - "sha1": "77b9cd4384a622f709ae69decb3ad4e6e44afe38", - "md5": "2c9bb3b79c50608ab4b18163f20be4dc" - }, - "required_dependencies": [], - "size": 263854, - "date_published": "2025-12-29T15:34:59.683Z" - } - ] - }, { "pakku_id": "pLkDut7s59n6uQin", "type": "MOD", @@ -14284,44 +14319,6 @@ } ] }, - { - "pakku_id": "UUgCxePdwRd5MyWw", - "type": "MOD", - "side": "CLIENT", - "slug": { - "curseforge": "third-person-shooting" - }, - "name": { - "curseforge": "Third Person Shooting: Zero" - }, - "id": { - "curseforge": "969378" - }, - "files": [ - { - "type": "curseforge", - "file_name": "tp_shooting-1.20.1-5.1.1+tacz1.1.6-all.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "neoforge", - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/7034/860/tp_shooting-1.20.1-5.1.1+tacz1.1.6-all.jar", - "id": "7034860", - "parent_id": "969378", - "hashes": { - "sha1": "43c627e23f7e72ee011085a94bdc1ba57b86a7ba", - "md5": "8449f5e5f21eb75d2e4393c86d5b7a8e" - }, - "required_dependencies": [], - "size": 179476, - "date_published": "2025-09-26T11:19:44.383Z" - } - ] - }, { "pakku_id": "jn9KICtb32TaMbxc", "type": "MOD", @@ -14527,6 +14524,74 @@ } ] }, + { + "pakku_id": "qIp9UR5bpJUYcxmd", + "pakku_links": [ + "Nw8xTCQngHA15ilh", + "Ek1OSS84farhKMqo" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "trackwork", + "modrinth": "trackwork" + }, + "name": { + "curseforge": "Trackwork", + "modrinth": "Trackwork" + }, + "id": { + "curseforge": "1057662", + "modrinth": "FXDpZRJG" + }, + "files": [ + { + "type": "curseforge", + "file_name": "trackwork-1.20.1-1.2.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7395/233/trackwork-1.20.1-1.2.2.jar", + "id": "7395233", + "parent_id": "1057662", + "hashes": { + "sha1": "179e295a00e1d8b4043b763ea2a32fc5a13ea008", + "md5": "5d4393a3a75272caea9fbfd533d6b6ab" + }, + "required_dependencies": [ + "328085", + "258371" + ], + "size": 572602, + "date_published": "2025-12-30T04:31:56.257Z" + }, + { + "type": "modrinth", + "file_name": "trackwork-1.20.1-1.2.2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/FXDpZRJG/versions/Jut91y7U/trackwork-1.20.1-1.2.2.jar", + "id": "Jut91y7U", + "parent_id": "FXDpZRJG", + "hashes": { + "sha512": "35aa3b0cb1139ed531f6adb5b5102b0e0c2af5fe2fc6885b9c5cb1e40c22ada214efdbacb9cd8f7942097b69a03f534d6f53cd0521739c4eafc489a9e86f7405", + "sha1": "179e295a00e1d8b4043b763ea2a32fc5a13ea008" + }, + "required_dependencies": [], + "size": 572602, + "date_published": "2025-12-30T04:32:57.241153Z" + } + ] + }, { "pakku_id": "9zaNozpa8FNeuaQM", "type": "MOD", @@ -14689,6 +14754,449 @@ } ] }, + { + "pakku_id": "mQhBfWuwqZIcX7ix", + "pakku_links": [ + "Ek1OSS84farhKMqo" + ], + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "vlib", + "modrinth": "vlib" + }, + "name": { + "curseforge": "VLib", + "modrinth": "VLib" + }, + "id": { + "curseforge": "1265893", + "modrinth": "V1UmcEMX" + }, + "files": [ + { + "type": "curseforge", + "file_name": "vlib-1.20.1-0.1.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7378/603/vlib-1.20.1-0.1.1+forge.jar", + "id": "7378603", + "parent_id": "1265893", + "hashes": { + "sha1": "aa63880ecb00681ebb04fad35f2e29c71b5b8088", + "md5": "0ad2e5e1f94520c5e02e5a5f187799c2" + }, + "required_dependencies": [ + "258371" + ], + "size": 624138, + "date_published": "2025-12-25T22:30:12.490Z" + }, + { + "type": "modrinth", + "file_name": "vlib-1.20.1-0.1.1+forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/V1UmcEMX/versions/lEFffQqd/vlib-1.20.1-0.1.1+forge.jar", + "id": "lEFffQqd", + "parent_id": "V1UmcEMX", + "hashes": { + "sha512": "7ecbbd2bbad4cfd20a7c72f688761fd287b653256223a09a217bf0c0d351f29f90108ebd3f85e449edcf294257e302f3085da907ff734b203ca45c23e5bc70ff", + "sha1": "aa63880ecb00681ebb04fad35f2e29c71b5b8088" + }, + "required_dependencies": [ + "V5ujR2yw" + ], + "size": 624138, + "date_published": "2025-12-25T22:24:23.449257Z" + } + ] + }, + { + "pakku_id": "umwG5c72SUCP9pBT", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "vs-chunkloader", + "modrinth": "vs-chunkloader" + }, + "name": { + "curseforge": "VS ChunkLoader", + "modrinth": "VS ChunkLoader" + }, + "id": { + "curseforge": "1318938", + "modrinth": "V4eP65JX" + }, + "files": [ + { + "type": "curseforge", + "file_name": "VSChunkLoader-forge-1.20.1-2.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7414/987/VSChunkLoader-forge-1.20.1-2.0.0.jar", + "id": "7414987", + "parent_id": "1318938", + "hashes": { + "sha1": "7a32142f64ea3a1ebd33c1e1bd15784e4735945a", + "md5": "08bbece24726c68e39734cd7f9207d53" + }, + "required_dependencies": [], + "size": 1621795, + "date_published": "2026-01-04T03:42:28.820Z" + }, + { + "type": "modrinth", + "file_name": "VSChunkLoader-forge-1.20.1-2.0.0.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/V4eP65JX/versions/8LKmfC0w/VSChunkLoader-forge-1.20.1-2.0.0.jar", + "id": "8LKmfC0w", + "parent_id": "V4eP65JX", + "hashes": { + "sha512": "fe27474dbf08b180f6628285f90df4fd65d9c086144a3f50a682b3f5ee961d2240385f44281773405950904bdb24ccd84f21ed58540fd8344e63ccd7d2be290f", + "sha1": "7a32142f64ea3a1ebd33c1e1bd15784e4735945a" + }, + "required_dependencies": [], + "size": 1621795, + "date_published": "2026-01-04T03:41:33.644920Z" + } + ] + }, + { + "pakku_id": "ZvoAFwY8shWpD1ok", + "pakku_links": [ + "Nw8xTCQngHA15ilh", + "Ek1OSS84farhKMqo" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "create-clockwork", + "modrinth": "create-clockwork" + }, + "name": { + "curseforge": "VS: Clockwork", + "modrinth": "Clockwork" + }, + "id": { + "curseforge": "807792", + "modrinth": "84USeAvk" + }, + "files": [ + { + "type": "curseforge", + "file_name": "clockwork-0.5.4.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7418/660/clockwork-0.5.4.3.jar", + "id": "7418660", + "parent_id": "807792", + "hashes": { + "sha1": "ec877495ae82f91f6abed2db0974c81e9fc11cd1", + "md5": "eb7c801388dbb31e96d2bcfab7e418d3" + }, + "required_dependencies": [ + "328085", + "258371" + ], + "size": 10716681, + "date_published": "2026-01-04T22:14:17.230Z" + }, + { + "type": "modrinth", + "file_name": "clockwork-0.5.4.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/84USeAvk/versions/BM7snH6L/clockwork-0.5.4.3.jar", + "id": "BM7snH6L", + "parent_id": "84USeAvk", + "hashes": { + "sha512": "5ed9e56f7fca3f91e48bacd371b38203cdff9e5d0c8b76b166186d25529d275939f6cdbd66eaa809b60ae84358a6102ef134c46584a0c5617ee5da5e9f268f96", + "sha1": "ec877495ae82f91f6abed2db0974c81e9fc11cd1" + }, + "required_dependencies": [ + "LNytGWDc", + "V5ujR2yw" + ], + "size": 10716681, + "date_published": "2026-01-04T22:14:16.464593Z" + } + ] + }, + { + "pakku_id": "AAzyUCa8m8QGSIUd", + "pakku_links": [ + "Ek1OSS84farhKMqo" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "modrinth": "vs-hit-run" + }, + "name": { + "modrinth": "VS: Hit & Run" + }, + "id": { + "modrinth": "1hIzZIwF" + }, + "files": [ + { + "type": "modrinth", + "file_name": "vs_hitnrun-1.20.1-forge-1.0.0-beta.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/1hIzZIwF/versions/oWF9Q5y1/vs_hitnrun-1.20.1-forge-1.0.0-beta.jar", + "id": "oWF9Q5y1", + "parent_id": "1hIzZIwF", + "hashes": { + "sha512": "7271b0db006f25098d12af0e041e43efc831a3ab14f5cdbaac6f65427f8a8433ceb42ea2f4b6a9764056a326bb43fbc5ee8b9ef015395d2bf5b024209dfe57cf", + "sha1": "242bb2ac337a8d5516f7d5ad973dbc64d1eba2a5" + }, + "required_dependencies": [ + "V5ujR2yw" + ], + "size": 898849, + "date_published": "2025-12-01T22:37:17.564247Z" + } + ] + }, + { + "pakku_id": "8wz9TN2YtnV5cyJr", + "pakku_links": [ + "Ek1OSS84farhKMqo", + "mQhBfWuwqZIcX7ix" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "valkyrien-sails", + "modrinth": "valkyrien-sails" + }, + "name": { + "curseforge": "Valkyrien Sails", + "modrinth": "Valkyrien Sails" + }, + "id": { + "curseforge": "1278593", + "modrinth": "esFadCt9" + }, + "files": [ + { + "type": "curseforge", + "file_name": "vs_sails-1.20.1-0.2.5-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/7403/47/vs_sails-1.20.1-0.2.5-forge.jar", + "id": "7403047", + "parent_id": "1278593", + "hashes": { + "sha1": "84ae2cb54925321de1f65f8e12c544adb5454912", + "md5": "1ea97c1368bdd47217d2327f6348940b" + }, + "required_dependencies": [ + "258371", + "1265893" + ], + "size": 909678, + "date_published": "2026-01-01T05:21:43.203Z" + }, + { + "type": "modrinth", + "file_name": "vs_sails-1.20.1-0.2.5-forge.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/esFadCt9/versions/aO3uPoug/vs_sails-1.20.1-0.2.5-forge.jar", + "id": "aO3uPoug", + "parent_id": "esFadCt9", + "hashes": { + "sha512": "b27c2676dacea82f2941612ae531907753e53509bda10b36c02a7f9a64825f80fa344ea30e61bcde00de045203024ca633e89d1462f61cd18d3119a9b1d45c08", + "sha1": "84ae2cb54925321de1f65f8e12c544adb5454912" + }, + "required_dependencies": [ + "V1UmcEMX", + "V5ujR2yw" + ], + "size": 909678, + "date_published": "2026-01-01T05:19:23.699307Z" + } + ] + }, + { + "pakku_id": "Ek1OSS84farhKMqo", + "pakku_links": [ + "oC0unMVGatUQIsDP" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "valkyrien-skies", + "modrinth": "valkyrien-skies" + }, + "name": { + "curseforge": "Valkyrien Skies (Forge/Fabric)", + "modrinth": "Valkyrien Skies" + }, + "id": { + "curseforge": "258371", + "modrinth": "V5ujR2yw" + }, + "files": [ + { + "type": "curseforge", + "file_name": "valkyrienskies-120-2.4.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7418/457/valkyrienskies-120-2.4.6.jar", + "id": "7418457", + "parent_id": "258371", + "hashes": { + "sha1": "1e46bde9f7a0543e650f1acbd82f1bbefe4ae010", + "md5": "d4905fbb4ee72093ec5c5d4fdfb232aa" + }, + "required_dependencies": [ + "351264" + ], + "size": 24053616, + "date_published": "2026-01-04T21:24:01.163Z" + }, + { + "type": "modrinth", + "file_name": "valkyrienskies-120-2.4.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/V5ujR2yw/versions/BjOYUTLA/valkyrienskies-120-2.4.6.jar", + "id": "BjOYUTLA", + "parent_id": "V5ujR2yw", + "hashes": { + "sha512": "a45098834c4fd674100375899b2e770be68509c7b976c8b7311f2e80e70a2caf71417c8a93253a33fbe18694db21aa5a626135d4b2ab2b60ed122b9479060d4e", + "sha1": "1e46bde9f7a0543e650f1acbd82f1bbefe4ae010" + }, + "required_dependencies": [ + "ordsPcFz" + ], + "size": 24053616, + "date_published": "2026-01-04T21:24:00.356938Z" + } + ] + }, + { + "pakku_id": "1uMJSh56az0KXSB4", + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "valkyrien-warium", + "modrinth": "valkyrien-warium" + }, + "name": { + "curseforge": "Valkyrien Warium", + "modrinth": "Valkyrien Warium" + }, + "id": { + "curseforge": "1286740", + "modrinth": "CuAOZEBw" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "WariumVS 0.3.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7402/701/WariumVS 0.3.1.jar", + "id": "7402701", + "parent_id": "1286740", + "hashes": { + "sha1": "3d59e0eae81c78a008a10de9ba59baef72d3aa6b", + "md5": "caf53e26cb492662e93706a2ff0b8d88" + }, + "required_dependencies": [], + "size": 5244575, + "date_published": "2026-01-01T03:04:51.437Z" + }, + { + "type": "modrinth", + "file_name": "WariumVS 0.3.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/CuAOZEBw/versions/d82JEqDf/WariumVS 0.3.1.jar", + "id": "d82JEqDf", + "parent_id": "CuAOZEBw", + "hashes": { + "sha512": "d3cca06dea3ef1368d45240a659a6e612727ea27d4528e86d0b295ed86f21fca13afc4310537f245072f2ec6cf8edc3dcd3c54d480eb3525b24aeb56e1e0d319", + "sha1": "3d59e0eae81c78a008a10de9ba59baef72d3aa6b" + }, + "required_dependencies": [], + "size": 5244575, + "date_published": "2026-01-01T03:04:49.124854Z" + } + ] + }, { "pakku_id": "Z3KE8gJoOsh7EQNZ", "type": "RESOURCE_PACK", @@ -14910,6 +15418,73 @@ } ] }, + { + "pakku_id": "rctyIgG4GZwCoq2K", + "pakku_links": [ + "pB7ARGecP03UXpd6" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "warium", + "modrinth": "warium" + }, + "name": { + "curseforge": "Warium", + "modrinth": "Warium" + }, + "id": { + "curseforge": "1123901", + "modrinth": "xgjvEen1" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "Warium 1.2.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7402/760/Warium 1.2.6.jar", + "id": "7402760", + "parent_id": "1123901", + "hashes": { + "sha1": "95c26f4a5c5646160e73baecaa41e3b48a5887de", + "md5": "315beb678dbf40e710dd5978aa52d658" + }, + "required_dependencies": [ + "388172" + ], + "size": 12602852, + "date_published": "2026-01-01T03:32:15.557Z" + }, + { + "type": "modrinth", + "file_name": "Warium 1.2.6.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/xgjvEen1/versions/skDSezhQ/Warium 1.2.6.jar", + "id": "skDSezhQ", + "parent_id": "xgjvEen1", + "hashes": { + "sha512": "bb047b5df6c0941ef10ecb7454f64090e6eb479039ade471a0aa9dc5839009a9a6c929be1504599ea51519d2a98c7651a029702131d371e3b397ffbe3eab9e11", + "sha1": "95c26f4a5c5646160e73baecaa41e3b48a5887de" + }, + "required_dependencies": [], + "size": 12602852, + "date_published": "2026-01-01T03:32:13.316239Z" + } + ] + }, { "pakku_id": "zonLLbYfp9ViO9i7", "type": "MOD", @@ -15391,7 +15966,51 @@ "date_published": "2024-12-04T22:45:46.092248Z" } ] + }, + { + "pakku_id": "ViyJVzgpnmAclRM7", + "pakku_links": [ + "Nw8xTCQngHA15ilh", + "Ek1OSS84farhKMqo" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "modrinth": "vstuff" + }, + "name": { + "modrinth": "vstuff" + }, + "id": { + "modrinth": "voOBl6iP" + }, + "files": [ + { + "type": "modrinth", + "file_name": "vstuff-0.2.4-fix2+015de0da8f.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/voOBl6iP/versions/QK0pHWZ5/vstuff-0.2.4-fix2+015de0da8f.jar", + "id": "QK0pHWZ5", + "parent_id": "voOBl6iP", + "hashes": { + "sha512": "4d465d4765b99a8f563c0613774dfa0f3f6eab120f50863e6c3b8c12c1108c231eb504358b7337c2fc624266bf508e562d9f50610ae3b62a500cc7c1e502786d", + "sha1": "10a788c1de33d66d93dad9f577e110c0ca9e6aa5" + }, + "required_dependencies": [ + "LNytGWDc", + "V5ujR2yw" + ], + "size": 350292, + "date_published": "2025-12-29T18:06:46.046608Z" + } + ] } ], "lockfile_version": 1 -} +} \ No newline at end of file

pKDW7a;(pTitCOE>`t#AW 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 m%qkRI1^{_c0Vvrc{}Sj51V!=I diff --git a/config/fancymenu/assets/icons/icon128x128.png b/config/fancymenu/assets/icons/icon128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..da40effb1dd2376ca2ebefeef93931cbeb435f15 GIT binary patch literal 10480 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 N@O1TaS?83{1OU^>CX@gG literal 0 HcmV?d00001 From eb55f20a437a1d705cd4febdb74f400aafe3c292 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 15:35:22 +0000 Subject: [PATCH 331/628] remove modrinth baguettelib, update greate, add vintage improvements kubejs mod, fix all the greate rose quartz namespace changes --- CHANGELOG.md | 1 + .../quests/chapters/create_logistics.snbt | 10 +- .../rose_quartz_bud_indicator.json | 10 ++ .../block/rose_quartz_bud_indicator.json | 0 .../rose_quartz_bud_indicator.json | 10 -- .../trim_material/rose_quartz_tfc.json | 2 +- .../tfc/trim_material/rose_quartz_tfc.json | 2 +- .../rose_quartz/rose_quartz_bud_air.json | 2 +- .../rose_quartz/rose_quartz_bud_water.json | 2 +- .../earth/rose_quartz/rose_quartz_geode.json | 6 +- kubejs/server_scripts/greate/recipes.js | 5 +- .../gregtech/recipes.materials.js | 14 +- kubejs/server_scripts/tfc/tags.js | 1 + .../tfg/json_tool.armor_trim.js | 2 +- .../tfg/ores_and_materials/loot.ores.js | 33 +++-- .../ores_and_materials/recipes.quartzes.js | 8 +- .../server_scripts/tfg/recipes.temporary.js | 18 +++ .../vintage_improvements/recipes.js | 60 +++----- kubejs/startup_scripts/greate/materials.js | 18 ++- .../gtceu/material_modification.js | 5 +- kubejs/startup_scripts/tfg/items.js | 20 +++ pakku-lock.json | 137 ++++++++++++------ 22 files changed, 224 insertions(+), 142 deletions(-) create mode 100644 kubejs/assets/greate/blockstates/rose_quartz_bud_indicator.json rename kubejs/assets/{gtceu => greate}/models/block/rose_quartz_bud_indicator.json (100%) delete mode 100644 kubejs/assets/gtceu/blockstates/rose_quartz_bud_indicator.json diff --git a/CHANGELOG.md b/CHANGELOG.md index c23a7f5ee..a549036da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased ### Breaking Changes +- Rose Quartz moved namespaces, so you'll have to convert all your old rose quartz items into the new ones. You'll need to explore new chunks to find new geodes with the correct ore blocks. - The previous silicone rubber styrene butadiene rubber belts have been changed to a different item, so please break and recycle them before updating if you're using any. - Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie - Turning honey into sugar is now done in the extractor instead of the centrifuge. @Pyritie diff --git a/config/ftbquests/quests/chapters/create_logistics.snbt b/config/ftbquests/quests/chapters/create_logistics.snbt index 0af188592..9d7f8c168 100644 --- a/config/ftbquests/quests/chapters/create_logistics.snbt +++ b/config/ftbquests/quests/chapters/create_logistics.snbt @@ -134,7 +134,7 @@ ] dependency_requirement: "one_completed" description: ["{quests.create_logistics.rose_quartz_lens.desc}"] - icon: "gtceu:rose_quartz_lens" + icon: "greate:rose_quartz_lens" id: "7C4807A247AF36A1" shape: "octagon" size: 2.0d @@ -142,7 +142,7 @@ tasks: [ { id: "0C0BA9D487C3B948" - item: "gtceu:rose_quartz_lens" + item: "greate:rose_quartz_lens" type: "item" } { @@ -182,8 +182,8 @@ optional: true subtitle: "{quests.create_logistics.cold_rose_quartz.subtitle}" tasks: [{ - id: "00680B620AC2F8ED" - item: "gtceu:exquisite_rose_quartz_gem" + id: "60D9FAD7D3290FF5" + item: "greate:exquisite_rose_quartz_gem" type: "item" }] title: "{quests.create_logistics.cold_rose_quartz.title}" @@ -199,7 +199,7 @@ subtitle: "{quests.create_logistics.fabricate_rose_quartz.subtitle}" tasks: [{ id: "57B107DB57726992" - item: "gtceu:rose_quartz_plate" + item: "greate:rose_quartz_plate" type: "item" }] title: "{quests.create_logistics.fabricate_rose_quartz.title}" diff --git a/kubejs/assets/greate/blockstates/rose_quartz_bud_indicator.json b/kubejs/assets/greate/blockstates/rose_quartz_bud_indicator.json new file mode 100644 index 000000000..8f1495444 --- /dev/null +++ b/kubejs/assets/greate/blockstates/rose_quartz_bud_indicator.json @@ -0,0 +1,10 @@ +{ + "variants": { + "": [ + { "model": "greate:block/rose_quartz_bud_indicator" }, + { "model": "greate:block/rose_quartz_bud_indicator", "y": 90 }, + { "model": "greate:block/rose_quartz_bud_indicator", "y": 180 }, + { "model": "greate:block/rose_quartz_bud_indicator", "y": 270 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/gtceu/models/block/rose_quartz_bud_indicator.json b/kubejs/assets/greate/models/block/rose_quartz_bud_indicator.json similarity index 100% rename from kubejs/assets/gtceu/models/block/rose_quartz_bud_indicator.json rename to kubejs/assets/greate/models/block/rose_quartz_bud_indicator.json diff --git a/kubejs/assets/gtceu/blockstates/rose_quartz_bud_indicator.json b/kubejs/assets/gtceu/blockstates/rose_quartz_bud_indicator.json deleted file mode 100644 index dacf99e1c..000000000 --- a/kubejs/assets/gtceu/blockstates/rose_quartz_bud_indicator.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "": [ - { "model": "gtceu:block/rose_quartz_bud_indicator" }, - { "model": "gtceu:block/rose_quartz_bud_indicator", "y": 90 }, - { "model": "gtceu:block/rose_quartz_bud_indicator", "y": 180 }, - { "model": "gtceu:block/rose_quartz_bud_indicator", "y": 270 } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/minecraft/trim_material/rose_quartz_tfc.json b/kubejs/data/minecraft/trim_material/rose_quartz_tfc.json index 28d2d8250..72802bbc8 100644 --- a/kubejs/data/minecraft/trim_material/rose_quartz_tfc.json +++ b/kubejs/data/minecraft/trim_material/rose_quartz_tfc.json @@ -4,6 +4,6 @@ "color": "#ba3458", "translate": "trim_material.tfc.rose_quartz_tfc" }, - "ingredient": "gtceu:exquisite_rose_quartz_gem", + "ingredient": "greate:exquisite_rose_quartz_gem", "item_model_index": 0.161 } \ No newline at end of file diff --git a/kubejs/data/tfc/trim_material/rose_quartz_tfc.json b/kubejs/data/tfc/trim_material/rose_quartz_tfc.json index 28d2d8250..72802bbc8 100644 --- a/kubejs/data/tfc/trim_material/rose_quartz_tfc.json +++ b/kubejs/data/tfc/trim_material/rose_quartz_tfc.json @@ -4,6 +4,6 @@ "color": "#ba3458", "translate": "trim_material.tfc.rose_quartz_tfc" }, - "ingredient": "gtceu:exquisite_rose_quartz_gem", + "ingredient": "greate:exquisite_rose_quartz_gem", "item_model_index": 0.161 } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_air.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_air.json index a40bfa57d..89788d80c 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_air.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_air.json @@ -4,7 +4,7 @@ "to_place": { "type": "minecraft:simple_state_provider", "state": { - "Name": "gtceu:rose_quartz_bud_indicator" + "Name": "greate:rose_quartz_bud_indicator" } } } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_water.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_water.json index 78ee7755e..df316bbd8 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_water.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_water.json @@ -4,7 +4,7 @@ "to_place": { "type": "minecraft:simple_state_provider", "state": { - "Name": "gtceu:rose_quartz_bud_indicator", + "Name": "greate:rose_quartz_bud_indicator", "Properties": { "waterlogged": "true" } diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_geode.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_geode.json index ba4f8c8f2..07d03ac3d 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_geode.json +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_geode.json @@ -5,13 +5,13 @@ "filling_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "gtceu:raw_rose_quartz_block" + "Name": "greate:raw_rose_quartz_block" } }, "inner_layer_provider": { "type": "minecraft:simple_state_provider", "state": { - "Name": "gtceu:quartzite_rose_quartz_ore" + "Name": "greate:quartzite_rose_quartz_ore" } }, "alternate_inner_layer_provider": { @@ -34,7 +34,7 @@ }, "inner_placements": [ { - "Name": "gtceu:quartzite_rose_quartz_ore" + "Name": "greate:quartzite_rose_quartz_ore" } ], "cannot_replace": "#minecraft:features_cannot_replace", diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js index ca059b169..b7117ab1f 100644 --- a/kubejs/server_scripts/greate/recipes.js +++ b/kubejs/server_scripts/greate/recipes.js @@ -637,7 +637,6 @@ function registerGreateRecipes(event) { // #region Belt Connector // Wood - /* event.shaped('greate:andesite_alloy_belt_connector', [ 'AAA', 'CBC', @@ -677,7 +676,7 @@ function registerGreateRecipes(event) { event.remove({ id: 'gtceu:shaped/stone_belt_connector' }) TFGHelpers.registerMaterialInfo('greate:stone_belt_connector', { 'air': 1 }); - */ + // Rubber event.shaped('greate:rubber_belt_connector', [ 'AAA', @@ -727,7 +726,6 @@ function registerGreateRecipes(event) { TFGHelpers.registerMaterialInfo('greate:silicone_rubber_belt_connector', { 'silicone_rubber': 3 }); // SBR rubber - /* event.shaped('greate:styrene_butadiene_rubber_belt_connector', [ 'AAA', 'B C' @@ -750,7 +748,6 @@ function registerGreateRecipes(event) { event.remove({ id: 'gtceu:extractor/extract_styrene_butadiene_rubber_belt_connector' }) TFGHelpers.registerMaterialInfo('greate:styrene_butadiene_rubber_belt_connector', { 'styrene_butadiene_rubber': 3 }); - */ // #endregion // #region Mixer diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index f23616bcc..d10117130 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -799,8 +799,10 @@ function registerGTCEUMetalRecipes(event) { let chipped = ChemicalHelper.get(TagPrefix.gemChipped, material, 1) let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) + let namespace = material === $GreateMaterials.RoseQuartz ? 'greate' : 'gtceu'; + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( - `gtceu:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels'])) + `${namespace}:${material.getName()}_bud_indicator`, [gem, '#tfc:chisels'])) .id(`shapeless/${material.getName()}_bud_indicator`) event.shaped(smallDust, @@ -1184,13 +1186,15 @@ function registerGTCEUMetalRecipes(event) { removeMaceratorRecipe(event, `macerate_iv_${material.getName()}_wirecutter`) event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_wirecutter` }) } + + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") forEachMaterial(material => { // greate moment - if (material === GTMaterials.get("andesite_alloy") - || material === GTMaterials.get("refined_radiance") - || material === GTMaterials.get("shadow_steel") - || material === GTMaterials.get("chromatic_compound") + if (material === $GreateMaterials.AndesiteAlloy + || material === $GreateMaterials.RefinedRadiance + || material === $GreateMaterials.ShadowSteel + || material === $GreateMaterials.ChromaticCompound || material === GTMaterials.DamascusSteel) { return; } diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 37de5025b..46abe3755 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -70,6 +70,7 @@ function registerTFCItemTags(event) { "framedblocks:framed_hammer", "framedblocks:framed_key", "mcw_tfc_aio:roofing_hammer", + "mcw_tfc_aio:pliers", "tfclunchbox:lunchbox", "tfclunchbox:cooling_lunchbox", "tfclunchbox:electric_lunchbox", diff --git a/kubejs/server_scripts/tfg/json_tool.armor_trim.js b/kubejs/server_scripts/tfg/json_tool.armor_trim.js index 35346486e..60ee69a26 100644 --- a/kubejs/server_scripts/tfg/json_tool.armor_trim.js +++ b/kubejs/server_scripts/tfg/json_tool.armor_trim.js @@ -48,7 +48,7 @@ const materials = [ {materialName: 'red_garnet_tfc', nameColor: '#710910', itemName: 'gtceu:exquisite_red_garnet_gem', indexNumber: 0.177}, {materialName: 'yellow_garnet_tfc', nameColor: '#bbc207', itemName: 'gtceu:exquisite_yellow_garnet_gem', indexNumber: 0.178}, {materialName: 'monazite_tfc', nameColor: '#9eb576', itemName: 'gtceu:exquisite_monazite_gem', indexNumber: 0.179}, - {materialName: 'rose_quartz_tfc', nameColor: '#ba3458', itemName: 'gtceu:exquisite_rose_quartz_gem', indexNumber: 0.161}, + {materialName: 'rose_quartz_tfc', nameColor: '#ba3458', itemName: 'greate:exquisite_rose_quartz_gem', indexNumber: 0.161}, {materialName: 'fluix_tfc', nameColor: '#53458d', itemName: 'tfg:exquisite_fluix_gem', indexNumber: 0.162}, //Metals {materialName: 'silver_tfc', nameColor: '#d8d8f4', itemName: 'vintageimprovements:silver_sheet', indexNumber: 0.162}, 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 0d8f49c3d..8cc06332f 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/loot.ores.js @@ -34,8 +34,7 @@ const STONE_TYPES_TO_COBBLE = { permafrost: 'gtceu:ice_dust' } -const registerTFGOreLoots = (event) => { - +const registerTFGOreLoots = (event) => { // Have to define these here because normal loot table jsons don't support checking for hammers // Crush raw rock into cobble @@ -61,8 +60,10 @@ const registerTFGOreLoots = (event) => { LootEntry.of('tfg:rock/cobble_blackstone'), LootEntry.of('tfc:powder/native_gold') ) - + // Go through all materials + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + forEachMaterial(material => { if (material.hasProperty(PropertyKey.ORE)) { @@ -72,6 +73,9 @@ const registerTFGOreLoots = (event) => { let sawDrop = ChemicalHelper.get(TagPrefix.gem, material, 1) let bud = `gtceu:${material.getName()}_bud_indicator`; + if (material === $GreateMaterials.RoseQuartz) { + bud = 'greate:rose_quartz_bud_indicator'; + } event.addBlockLootModifier(bud) .matchMainHand("tfc:gem_saw") @@ -89,23 +93,25 @@ const registerTFGOreLoots = (event) => { // I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`; if (material === GTMaterials.Copper || material === GTMaterials.Gold || material === GTMaterials.Iron) { - rawOreBlock = `minecraft${ rawOreBlock}`; + rawOreBlock = `minecraft${rawOreBlock}`; } else if (material === TFGHelpers.getMaterial('desh') || material === TFGHelpers.getMaterial('ostrum') || material === TFGHelpers.getMaterial('calorite')) { - rawOreBlock = `ad_astra${ rawOreBlock}`; + rawOreBlock = `ad_astra${rawOreBlock}`; + } else if (material === $GreateMaterials.RoseQuartz) { + rawOreBlock = `greate${rawOreBlock}`; } else { - rawOreBlock = `gtceu${ rawOreBlock}`; + rawOreBlock = `gtceu${rawOreBlock}`; } event.addBlockLootModifier(rawOreBlock) .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([4, 6], - [ - richRawOre.withChance(0.2), - normalRawOre.withChance(0.6), - poorRawOre.withChance(0.2) - ]); + [ + richRawOre.withChance(0.2), + normalRawOre.withChance(0.6), + poorRawOre.withChance(0.2) + ]); // Stone ores global.ORE_BEARING_STONES.forEach(stoneType => { @@ -121,9 +127,10 @@ const registerTFGOreLoots = (event) => { } let stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) + let namespace = material === $GreateMaterials.RoseQuartz ? 'greate' : 'gtceu'; // break with pickaxe/mining hammer/drill/mining machine - event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`) + event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([ richRawOre.withChance(0.2), @@ -135,7 +142,7 @@ const registerTFGOreLoots = (event) => { ) // break with hammer - event.addBlockLootModifier(`gtceu:${stoneType}_${material.getName()}_ore`) + event.addBlockLootModifier(`${namespace}:${stoneType}_${material.getName()}_ore`) .matchMainHand('#forge:tools/hammers') .addLoot(STONE_TYPES_TO_COBBLE[stoneType]); }) 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 aef120457..876cf4955 100644 --- a/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js +++ b/kubejs/server_scripts/tfg/ores_and_materials/recipes.quartzes.js @@ -6,8 +6,8 @@ function registerTFGQuartzRecipes(event) { event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_water' }) event.remove({ id: 'gtceu:autoclave/autoclave_dust_rose_quartz_distilled' }) - generateMixerRecipe(event, ['gtceu:nether_quartz_dust', '8x minecraft:redstone'], [], '9x gtceu:rose_quartz_dust', 2, [], 180, 60, 64, 'rose_quartz_dust_mixing') - generateMixerRecipe(event, ['gtceu:tiny_nether_quartz_dust', '8x gtceu:tiny_redstone_dust'], [], 'gtceu:rose_quartz_dust', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing') + generateMixerRecipe(event, ['gtceu:nether_quartz_dust', '8x minecraft:redstone'], [], '9x #forge:dusts/rose_quartz', 2, [], 180, 60, 64, 'rose_quartz_dust_mixing') + generateMixerRecipe(event, ['gtceu:tiny_nether_quartz_dust', '8x gtceu:tiny_redstone_dust'], [], '#forge:dusts/rose_quartz', 2, [], 20, 60, 64, 'tiny_rose_quartz_dust_mixing') event.recipes.gtceu.autoclave("autoclave_dust_rose_quartz_ice") .itemInputs('#forge:dusts/rose_quartz') @@ -17,8 +17,8 @@ function registerTFGQuartzRecipes(event) { .EUt(120) event.recipes.gtceu.electrolyzer('electrolyze_rose_quartz_dust') - .itemInputs('9x gtceu:rose_quartz_dust') - .itemOutputs('1x gtceu:nether_quartz_dust', '8x minecraft:redstone') + .itemInputs('9x #forge:dusts/rose_quartz') + .itemOutputs('1x #forge:dusts/nether_quartz', '8x minecraft:redstone') .duration(7 * 20) .EUt(60) //#endregion diff --git a/kubejs/server_scripts/tfg/recipes.temporary.js b/kubejs/server_scripts/tfg/recipes.temporary.js index f92d746de..349d3e852 100644 --- a/kubejs/server_scripts/tfg/recipes.temporary.js +++ b/kubejs/server_scripts/tfg/recipes.temporary.js @@ -10,6 +10,24 @@ function registerTFGTemporaryRecipes(event) { event.shapeless('tfg:ostrum_linear_accelerator', 'gtceu:ostrum_linear_accelerator') + event.shapeless('greate:rose_quartz_dust', 'gtceu:rose_quartz_dust') + event.shapeless('greate:tiny_rose_quartz_dust', 'gtceu:tiny_rose_quartz_dust') + event.shapeless('greate:small_rose_quartz_dust', 'gtceu:small_rose_quartz_dust') + event.shapeless('greate:poor_raw_rose_quartz', 'gtceu:poor_raw_rose_quartz') + event.shapeless('greate:raw_rose_quartz', 'gtceu:raw_rose_quartz') + event.shapeless('greate:rich_raw_rose_quartz', 'gtceu:rich_raw_rose_quartz') + event.shapeless('greate:chipped_rose_quartz_gem', 'gtceu:chipped_rose_quartz_gem') + event.shapeless('greate:flawed_rose_quartz_gem', 'gtceu:flawed_rose_quartz_gem') + event.shapeless('greate:flawless_rose_quartz_gem', 'gtceu:flawless_rose_quartz_gem') + event.shapeless('greate:exquisite_rose_quartz_gem', 'gtceu:exquisite_rose_quartz_gem') + event.shapeless('greate:pure_rose_quartz_dust', 'gtceu:pure_rose_quartz_dust') + event.shapeless('greate:impure_rose_quartz_dust', 'gtceu:impure_rose_quartz_dust') + event.shapeless('greate:purified_rose_quartz_ore', 'gtceu:purified_rose_quartz_ore') + event.shapeless('greate:crushed_rose_quartz_ore', 'gtceu:crushed_rose_quartz_ore') + event.shapeless('greate:refined_rose_quartz_ore', 'gtceu:refined_rose_quartz_ore') + event.shapeless('greate:rose_quartz_lens', 'gtceu:rose_quartz_lens') + event.shapeless('greate:rose_quartz_plate', 'gtceu:rose_quartz_plate') + // TODO: remove nether/ender air in 0.12 diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index d2099231b..6df9af966 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -258,9 +258,9 @@ function registerVintageImprovementsRecipes(event) { }) // #endregion - + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") forEachMaterial(material => { - if (material == GTMaterials.get("andesite_alloy")) + if (material == $GreateMaterials.AndesiteAlloy) return; const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); @@ -330,38 +330,18 @@ function registerVintageImprovementsRecipes(event) { let highYield = material.hasFlag(MaterialFlags.HIGH_SIFTER_OUTPUT) - // aaaaargh I hate these custom type recipes - let gem = `gtceu:${material.getName()}_gem`; - if (material === GTMaterials.Coal) - gem = 'minecraft:coal' - else if (material === GTMaterials.Diamond) - gem = 'minecraft:diamond' - else if (material === GTMaterials.Emerald) - gem = 'minecraft:emerald' - else if (material === GTMaterials.Lapis) - gem = 'minecraft:lapis_lazuli' - else if (material === GTMaterials.NetherQuartz) - gem = 'minecraft:quartz' - else if (material === GTMaterials.Amethyst) - gem = 'minecraft:amethyst_shard' - else if (material === GTMaterials.CertusQuartz) - gem = 'ae2:certus_quartz_crystal' - else if (material === TFGHelpers.getMaterial('rose_quartz')) - gem = 'create:rose_quartz' - - event.custom({ - type: 'vintageimprovements:vibrating', - ingredients: [{ item: `gtceu:purified_${material.getName()}_ore` }], - results: [ - { item: `gtceu:exquisite_${material.getName()}_gem`, chance: highYield ? 0.05 : 0.03 }, - { item: `gtceu:flawless_${material.getName()}_gem`, chance: highYield ? 0.15 : 0.10 }, - { item: gem, chance: highYield ? 0.50 : 0.35 }, - { item: `gtceu:pure_${material.getName()}_dust`, chance: highYield ? 0.25 : 0.50 }, - { item: `gtceu:flawed_${material.getName()}_gem`, chance: highYield ? 0.20 : 0.25 }, - { item: `gtceu:chipped_${material.getName()}_gem`, chance: highYield ? 0.30 : 0.35 } - ], - processingTime: 200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/vibrating/${material.getName()}`) + event.recipes.vintageimprovements.vibrating( + [ + Item.of(ChemicalHelper.get(TagPrefix.gemExquisite, material, 1)).withChance(highYield ? 0.05 : 0.03), + Item.of(ChemicalHelper.get(TagPrefix.gemFlawless, material, 1)).withChance(highYield ? 0.15 : 0.10), + Item.of(ChemicalHelper.get(TagPrefix.gem, material, 1)).withChance(highYield ? 0.50 : 0.35), + Item.of(ChemicalHelper.get(TagPrefix.dustPure, material, 1)).withChance(highYield ? 0.25 : 0.50), + Item.of(ChemicalHelper.get(TagPrefix.gemFlawed, material, 1)).withChance(highYield ? 0.20 : 0.25), + Item.of(ChemicalHelper.get(TagPrefix.gemChipped, material, 1)).withChance(highYield ? 0.30 : 0.35) + ], + ChemicalHelper.get(TagPrefix.crushedPurified, material, 1)) + .processingTime(200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/vibrating/${material.getName()}`) } // #endregion @@ -465,7 +445,7 @@ function registerVintageImprovementsRecipes(event) { event.custom({ type: 'vintageimprovements:polishing', ingredients: [{ tag: 'forge:exquisite_gems/rose_quartz' }], - results: [{ item: 'gtceu:rose_quartz_lens' }, { item: 'gtceu:rose_quartz_dust', count: 2 }], + results: [ChemicalHelper.get(TagPrefix.lens, $GreateMaterials.RoseQuartz, 1), ChemicalHelper.get(TagPrefix.dust, $GreateMaterials.RoseQuartz, 2)], speed_limits: 1, processingTime: 100 }).id(`tfg:vi/lathe/rose_quartz_lens`) @@ -473,7 +453,7 @@ function registerVintageImprovementsRecipes(event) { event.custom({ type: 'vintageimprovements:polishing', ingredients: [{ tag: 'forge:exquisite_gems/diamond' }], - results: [{ item: 'gtceu:diamond_lens' }, { item: 'gtceu:diamond_dust', count: 2 }], + results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Diamond, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 2)], speed_limits: 1, processingTime: 100 }).id(`tfg:vi/lathe/diamond_lens`) @@ -481,7 +461,7 @@ function registerVintageImprovementsRecipes(event) { event.custom({ type: 'vintageimprovements:polishing', ingredients: [{ tag: 'forge:exquisite_gems/emerald' }], - results: [{ item: 'gtceu:emerald_lens' }, { item: 'gtceu:emerald_dust', count: 2 }], + results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Emerald, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Emerald, 2)], speed_limits: 1, processingTime: 100 }).id(`tfg:vi/lathe/emerald_lens`) @@ -489,7 +469,7 @@ function registerVintageImprovementsRecipes(event) { event.custom({ type: 'vintageimprovements:polishing', ingredients: [{ tag: 'forge:exquisite_gems/ruby' }], - results: [{ item: 'gtceu:ruby_lens' }, { item: 'gtceu:ruby_dust', count: 2 }], + results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Ruby, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruby, 2)], speed_limits: 1, processingTime: 100 }).id(`tfg:vi/lathe/ruby_lens`) @@ -497,7 +477,7 @@ function registerVintageImprovementsRecipes(event) { event.custom({ type: 'vintageimprovements:polishing', ingredients: [{ tag: 'forge:exquisite_gems/sapphire' }], - results: [{ item: 'gtceu:sapphire_lens' }, { item: 'gtceu:sapphire_dust', count: 2 }], + results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Sapphire, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sapphire, 2)], speed_limits: 1, processingTime: 100 }).id(`tfg:vi/lathe/sapphire_lens`) @@ -505,7 +485,7 @@ function registerVintageImprovementsRecipes(event) { event.custom({ type: 'vintageimprovements:polishing', ingredients: [{ tag: 'forge:exquisite_gems/amethyst' }], - results: [{ item: 'gtceu:amethyst_lens' }, { item: 'gtceu:amethyst_dust', count: 2 }], + results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Amethyst, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Amethyst, 2)], speed_limits: 1, processingTime: 100 }).id(`tfg:vi/lathe/amethyst_lens`) diff --git a/kubejs/startup_scripts/greate/materials.js b/kubejs/startup_scripts/greate/materials.js index e99d1a4b8..8a176bd71 100644 --- a/kubejs/startup_scripts/greate/materials.js +++ b/kubejs/startup_scripts/greate/materials.js @@ -3,14 +3,14 @@ const registerGreateMaterials = (event) => { // Belt materials should already have an ingot and plate item already - /* const $BeltProperty = Java.loadClass("electrolyte.greate.content.gtceu.material.BeltProperty") + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") // Wood belt - GTMaterials.get('andesite_alloy').setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.get('andesite_alloy')], 5)) + $GreateMaterials.AndesiteAlloy.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([$GreateMaterials.AndesiteAlloy], 5)) // Leather belt - GTMaterials.Stone.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, GTMaterials.get('andesite_alloy')], 10)) + GTMaterials.Stone.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, $GreateMaterials.AndesiteAlloy], 10)) // Remove plastic belts GTMaterials.Polyethylene.getProperties().removeProperty(GreatePropertyKeys.BELT); @@ -19,20 +19,22 @@ const registerGreateMaterials = (event) => { // Change properties of other rubber belts GTMaterials.Rubber.getProperties().removeProperty(GreatePropertyKeys.BELT); - GTMaterials.Rubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, GTMaterials.get('andesite_alloy')], 20)) + GTMaterials.Rubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Steel, $GreateMaterials.AndesiteAlloy], 20)) GTMaterials.SiliconeRubber.getProperties().removeProperty(GreatePropertyKeys.BELT); GTMaterials.SiliconeRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.StainlessSteel, GTMaterials.Aluminium], 25)) GTMaterials.StyreneButadieneRubber.setProperty(GreatePropertyKeys.BELT, new $BeltProperty([GTMaterials.Titanium, GTMaterials.StainlessSteel], 30)) - */ } const registerGreateMaterialModification = (event) => { - GTMaterials.get("rose_quartz").addFlags( + + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + + $GreateMaterials.RoseQuartz.addFlags( GTMaterialFlags.GENERATE_LENS ); - GTMaterials.get('andesite_alloy').setComponents([]) - GTMaterials.get('andesite_alloy').setFormula("?") + $GreateMaterials.AndesiteAlloy.setComponents([]) + $GreateMaterials.AndesiteAlloy.setFormula("?") } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/material_modification.js b/kubejs/startup_scripts/gtceu/material_modification.js index 0763461fa..f31a4a31c 100644 --- a/kubejs/startup_scripts/gtceu/material_modification.js +++ b/kubejs/startup_scripts/gtceu/material_modification.js @@ -13,11 +13,12 @@ const registerGTCEuMaterialModification = (event) => { const $FLUID_PIPE_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.FluidPipeProperties') const $HAZARD_PROPERTY = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.properties.HazardProperty') - const $MATERIAL_FLAGS = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags') const $FluidStorageKeys = Java.loadClass('com.gregtechceu.gtceu.api.fluids.store.FluidStorageKeys') + const $GreateMaterials = Java.loadClass("electrolyte.greate.registry.GreateMaterials") + const { HAS_TFC_TOOL, // used to generate new TFC items like javelins HAS_GT_TOOL, // does not generate items, just TFC recipes for GT tools @@ -430,7 +431,7 @@ const registerGTCEuMaterialModification = (event) => { }); - let rose_quartz = GTMaterials.get('greate:rose_quartz'); + let rose_quartz = $GreateMaterials.RoseQuartz; rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); rose_quartz.getProperty(PropertyKey.ORE).setOreByProducts(rose_quartz, GTMaterials.Redstone, rose_quartz); rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index c80a0432f..7bc0fe3e8 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -48,4 +48,24 @@ const registerTFGItems = (event) => { event.create('tfg:zpm_universal_circuit') event.create('tfg:uv_universal_circuit') event.create('tfg:uhv_universal_circuit') + + + // Temporary + event.create('gtceu:rose_quartz_dust').texture('tfg:item/deprecated') + event.create('gtceu:tiny_rose_quartz_dust').texture('tfg:item/deprecated') + event.create('gtceu:small_rose_quartz_dust').texture('tfg:item/deprecated') + event.create('gtceu:poor_raw_rose_quartz').texture('tfg:item/deprecated') + event.create('gtceu:raw_rose_quartz').texture('tfg:item/deprecated') + event.create('gtceu:rich_raw_rose_quartz').texture('tfg:item/deprecated') + event.create('gtceu:chipped_rose_quartz_gem').texture('tfg:item/deprecated') + event.create('gtceu:flawed_rose_quartz_gem').texture('tfg:item/deprecated') + event.create('gtceu:flawless_rose_quartz_gem').texture('tfg:item/deprecated') + event.create('gtceu:exquisite_rose_quartz_gem').texture('tfg:item/deprecated') + event.create('gtceu:pure_rose_quartz_dust').texture('tfg:item/deprecated') + event.create('gtceu:impure_rose_quartz_dust').texture('tfg:item/deprecated') + event.create('gtceu:purified_rose_quartz_ore').texture('tfg:item/deprecated') + event.create('gtceu:crushed_rose_quartz_ore').texture('tfg:item/deprecated') + event.create('gtceu:refined_rose_quartz_ore').texture('tfg:item/deprecated') + event.create('gtceu:rose_quartz_lens').texture('tfg:item/deprecated') + event.create('gtceu:rose_quartz_plate').texture('tfg:item/deprecated') } diff --git a/pakku-lock.json b/pakku-lock.json index 91805d399..4f7eaa97c 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -1424,39 +1424,15 @@ "type": "MOD", "side": "SERVER", "slug": { - "curseforge": "baguettelib", - "modrinth": "baguettelib" + "curseforge": "baguettelib" }, "name": { - "curseforge": "BaguetteLib", - "modrinth": "BaguetteLib" + "curseforge": "BaguetteLib" }, "id": { - "curseforge": "1264423", - "modrinth": "OfKzpbRU" + "curseforge": "1264423" }, "files": [ - { - "type": "modrinth", - "file_name": "baguettelib-1.20.1-Forge-1.1.1.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://cdn.modrinth.com/data/OfKzpbRU/versions/zcwsIJEa/baguettelib-1.20.1-Forge-1.1.1.jar", - "id": "zcwsIJEa", - "parent_id": "OfKzpbRU", - "hashes": { - "sha512": "0e9f34e0e8d8703269fd6d26a3635268d8f01d79c17355a85f07cd3cf382e84d23635c9715522e3839091caed6db723984b4df569fd06b042557fcf7f46f0f08", - "sha1": "eb060d8ed625c2ed9182db62e60154bb94c69046" - }, - "required_dependencies": [], - "size": 30312, - "date_published": "2025-09-27T08:33:58.185785Z" - }, { "type": "curseforge", "file_name": "baguettelib-1.20.1-Forge-1.1.5.jar", @@ -6946,7 +6922,7 @@ "files": [ { "type": "modrinth", - "file_name": "greate-0.0.57.jar", + "file_name": "greate-0.0.58.jar", "mc_versions": [ "1.20.1" ], @@ -6955,23 +6931,23 @@ "neoforge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/D1FDmRDa/greate-0.0.57.jar", - "id": "D1FDmRDa", + "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/TT9ck8vt/greate-0.0.58.jar", + "id": "TT9ck8vt", "parent_id": "8wDcQuht", "hashes": { - "sha512": "47b814782e431dc9dc8f17cc6591c6fc8874f094d80b311065e3b6bebed8d8559313d7de3b8613b17c66bf6f2c1311141995e65a34bced89ff862d0d2a0696c6", - "sha1": "de882a9d6be660e27834823ce33caaaca834d24c" + "sha512": "646589a6f6278e42af03860a85dfd864fd620f1b4825f340781285736417307f4803c32ec5615045c207fd75d64a137268bff661432f35f4431f339a1905a82f", + "sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34" }, "required_dependencies": [ - "LNytGWDc", - "7tG215v7" + "7tG215v7", + "LNytGWDc" ], - "size": 1518380, - "date_published": "2025-11-25T19:56:33.474491Z" + "size": 1466358, + "date_published": "2025-12-14T02:44:12.871560Z" }, { "type": "curseforge", - "file_name": "greate-0.0.57.jar", + "file_name": "greate-0.0.58.jar", "mc_versions": [ "1.20.1" ], @@ -6980,19 +6956,19 @@ "neoforge" ], "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/7262/33/greate-0.0.57.jar", - "id": "7262033", + "url": "https://edge.forgecdn.net/files/7330/800/greate-0.0.58.jar", + "id": "7330800", "parent_id": "901996", "hashes": { - "sha1": "de882a9d6be660e27834823ce33caaaca834d24c", - "md5": "2a74c594a5e559ca63ef375f1286afda" + "sha1": "52e244f91ecb56a69bcdec6d22a83047475eeb34", + "md5": "137b5a28b5ec63caaeb004f2520a7b9c" }, "required_dependencies": [ "328085", "890405" ], - "size": 1518380, - "date_published": "2025-11-25T19:56:30.993Z" + "size": 1466358, + "date_published": "2025-12-14T02:44:10.940Z" } ] }, @@ -14371,6 +14347,81 @@ } ] }, + { + "pakku_id": "X1DT7EtiEggkatMR", + "pakku_links": [ + "i4wWe6A2zvX01n9S", + "bf2svog06ajj5JHE", + "Y6Da87s1FKPYq0UK", + "Nw8xTCQngHA15ilh" + ], + "type": "MOD", + "side": "BOTH", + "slug": { + "curseforge": "vintage-kubejs", + "modrinth": "vintage-kubejs" + }, + "name": { + "curseforge": "Vintage KubeJS", + "modrinth": "Vintage KubeJS" + }, + "id": { + "curseforge": "1077532", + "modrinth": "u2r2GYRW" + }, + "files": [ + { + "type": "curseforge", + "file_name": "vintage_kubejs-1.20.1-1.0.0rc-2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://edge.forgecdn.net/files/5607/145/vintage_kubejs-1.20.1-1.0.0rc-2.jar", + "id": "5607145", + "parent_id": "1077532", + "hashes": { + "sha1": "ca49a4163794cc0f94a31a17f6956be11979db53", + "md5": "23321f4db3ec489d8605f54efecf813e" + }, + "required_dependencies": [ + "238086", + "429371", + "328085" + ], + "size": 53779, + "date_published": "2024-08-08T08:54:11.013Z" + }, + { + "type": "modrinth", + "file_name": "vintage_kubejs-1.20.1-1.0.0rc-2.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "beta", + "url": "https://cdn.modrinth.com/data/u2r2GYRW/versions/TUKYnKui/vintage_kubejs-1.20.1-1.0.0rc-2.jar", + "id": "TUKYnKui", + "parent_id": "u2r2GYRW", + "hashes": { + "sha512": "d1bab6515b6353294adc98f0bd44e184ecb08d4091b5654d86edef1735c4a8260e46300acb5431bced3a1994e8326f5fdee33effb81e438176a3685900f20d20", + "sha1": "ca49a4163794cc0f94a31a17f6956be11979db53" + }, + "required_dependencies": [ + "umyGl7zF", + "T38eAZQC", + "LNytGWDc" + ], + "size": 53779, + "date_published": "2024-08-08T08:56:55.124370Z" + } + ] + }, { "pakku_id": "qM5Yyq0zqqJc8XtT", "pakku_links": [ From 3896d00977a29c73ef1af6f19a41f7ac857a70f3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 17:32:25 +0000 Subject: [PATCH 332/628] migrate all vintageimprovements recipes to the new kjs format --- kubejs/server_scripts/afc/recipes.js | 44 +- kubejs/server_scripts/create/recipes.js | 8 - .../gregtech/recipes.materials.js | 51 +- kubejs/server_scripts/gregtech/utility.js | 11 +- kubejs/server_scripts/sacksnstuff/recipes.js | 23 +- .../server_scripts/tfc/recipes.materials.js | 32 +- .../server_scripts/tfg/mars/recipes.mars.js | 22 +- .../tfg/natural_blocks/recipes.dirt.js | 10 +- .../tfg/natural_blocks/recipes.rocks.js | 8 - .../tfg/primitive/recipes.cloth.js | 30 +- .../tfg/primitive/recipes.wood.js | 22 +- .../vintage_improvements/recipes.js | 532 +++++++----------- kubejs/startup_scripts/minecraft/constants.js | 1 + 13 files changed, 285 insertions(+), 509 deletions(-) diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index 305f4ff47..3cf811739 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -250,21 +250,15 @@ const registerAFCRecipes = (event) => { .duration(50) .EUt(2) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `afc:wood/log/${wood}` }], - results: [{ item: `afc:wood/stripped_log/${wood}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${wood}_log`) + 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.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `afc:wood/wood/${wood}` }], - results: [{ item: `afc:wood/stripped_wood/${wood}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${wood}_wood`) + 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 = [ @@ -289,20 +283,14 @@ const registerAFCRecipes = (event) => { .duration(50) .EUt(2) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `afc:wood/log/${x.wood}` }], - results: [{ item: `${x.stripped_mod}:wood/stripped_log/${x.stripped}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${x.wood}_log`) + event.recipes.vintageimprovements.polishing(`${x.stripped_mod}:wood/stripped_log/${x.stripped}`, `afc:wood/log/${x.wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${x.wood}_log`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `afc:wood/wood/${x.wood}` }], - results: [{ item: `${x.stripped_mod}:wood/stripped_wood/${x.stripped}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${x.wood}_wood`) + event.recipes.vintageimprovements.polishing(`${x.stripped_mod}:wood/stripped_wood/${x.stripped}`, `afc:wood/wood/${x.wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${x.wood}_wood`) }) } diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index bf6d47c34..9dda130ec 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1929,14 +1929,6 @@ const registerCreateRecipes = (event) => { .duration(32) .EUt(GTValues.VA[GTValues.ULV]) - //event.custom({ - // type: 'vintageimprovements:laser_cutting', - // ingredients: [{ item: x.base }], - // results: [{item: x.cut }], - // energy: GTValues.VA[GTValues.ULV] * 32 * 4, - // maxChargeRate: GTValues.VA[GTValues.ULV] * 4 - //}).id(`tfg:vi/laser/create/${x.cut.split(':')[1]}`) - event.shaped(`2x create:layered_${x.cut.split('_')[1]}`, [ 'AA' ], { diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index d10117130..3f8f507fc 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -90,17 +90,9 @@ function registerGTCEUMetalRecipes(event) { .duration(material.getMass() * 6) .EUt(GTValues.VA[GTValues.LV]) - let ingotArray = []; - for (let i = 0; i < materialAmount; i++) - ingotArray.push(ingotItem) - - event.custom({ - type: 'vintageimprovements:curving', - ingredients: ingotArray, - itemAsHead: extruderMold, - results: [toolHeadItem], - processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${material.getName()}_ingot_to_${tagPrefixName}`) + event.recipes.vintageimprovements.curving(toolHeadItem, ingotItem.copyWithCount(materialAmount)) + .head(extruderMold) + .id(`tfg:vi/curving/${material.getName()}_ingot_to_${tagPrefixName}`) if (GTMaterials.Stone !== material) { removeMaceratorRecipe(event, `macerate_${material.getName()}_${tagPrefixName}`) @@ -717,15 +709,12 @@ function registerGTCEUMetalRecipes(event) { // Centrifuging let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material); - let byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1).toJson() - byproductItem.add("chance", 0.111); - event.custom({ - type: 'vintageimprovements:centrifugation', - ingredients: [impureDustItem], - results: [dustItem, byproductItem], - processingTime: material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/centrifuge/${material.getName()}_dust_from_impure`) + event.recipes.vintageimprovements.centrifugation( + [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], + impureDustItem) + .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/centrifuge/${material.getName()}_dust_from_impure`) // Dropping in water event.custom({ @@ -763,15 +752,12 @@ function registerGTCEUMetalRecipes(event) { // Centrifuging let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(1, material); - let byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1).toJson() - byproductItem.add("chance", 0.111); - event.custom({ - type: 'vintageimprovements:centrifugation', - ingredients: [pureDust], - results: [dustItem, byproductItem], - processingTime: material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/centrifuge/${material.getName()}_dust_from_pure`) + event.recipes.vintageimprovements.centrifugation( + [dustItem, Item.of(ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)).withChance(0.111)], + pureDust) + .processingTime(material.getMass() * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/centrifuge/${material.getName()}_dust_from_pure`) // Dropping in water event.custom({ @@ -1117,13 +1103,10 @@ function registerGTCEUMetalRecipes(event) { .EUt(GTValues.VA[isLowTier ? GTValues.LV : GTValues.MV]) if (isLowTier) { - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [doublePlateItem], - results: [buzzsawBladeItem], - speed_limits: 0, - processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/lathe/${material.getName()}_buzzsaw`) + event.recipes.vintageimprovements.polishing(buzzsawBladeItem, doublePlateItem) + .speedLimits(0) + .processingTime(material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/${material.getName()}_buzzsaw`) } removeMaceratorRecipe(event, `macerate_${material.getName()}_buzz_saw_blade`) diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index bbda57007..0f000d949 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -377,13 +377,10 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair, .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: log }], - results: [{ item: stripped_log }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${name}_log`) + event.recipes.vintageimprovements.polishing(stripped_log, log) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${name}_log`) } if (logs && lumber && name) { diff --git a/kubejs/server_scripts/sacksnstuff/recipes.js b/kubejs/server_scripts/sacksnstuff/recipes.js index 216fdee8c..f49d33ae7 100644 --- a/kubejs/server_scripts/sacksnstuff/recipes.js +++ b/kubejs/server_scripts/sacksnstuff/recipes.js @@ -156,14 +156,10 @@ const registerSNSRecipes = (event) => { .itemOutputs('sns:buckle') .duration(40) .EUt(GTValues.VA[GTValues.LV]) - - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ tag: 'forge:plates/wrought_iron' }], - itemAsHead: 'gtceu:small_pipe_extruder_mold', - results: [{ item: 'sns:buckle' }], - processingTime: 50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('sns:vi/curving/buckle') + + event.recipes.vintageimprovements.curving('sns:buckle', '#forge:plates/wrought_iron') + .head('gtceu:small_pipe_extruder_mold') + .id('sns:vi/curving/buckle') event.recipes.gtceu.extruder('sns:buckle2') .itemInputs('#forge:plates/steel') @@ -172,13 +168,10 @@ const registerSNSRecipes = (event) => { .duration(80) .EUt(GTValues.VA[GTValues.LV]) - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ tag: 'forge:plates/steel' }], - itemAsHead: 'gtceu:small_pipe_extruder_mold', - results: [{ item: 'sns:buckle', count: 2 }], - processingTime: 80 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('sns:vi/curving/buckle2') + event.recipes.vintageimprovements.curving('2x sns:buckle', '#forge:plates/steel') + .head('gtceu:small_pipe_extruder_mold') + .id('sns:vi/curving/buckle2') + event.shaped('sns:pack_frame', [ 'AAA', diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 1a8d62187..850c48c2f 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -240,15 +240,9 @@ function registerTFCMaterialsRecipes(event) { // These aren't TFC recipes but they go here since they don't have a tag prefix // and I'm too lazy to make them one - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [doublePlateItem], - // tuyeres are roughly bottle shaped, right? - // (there's no other mold that wouldn't conflict and this seems close enough) - itemAsHead: 'gtceu:bottle_extruder_mold', - results: [{ item: `tfc:metal/tuyere/${material.getName()}` }], - processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${material.getName()}_tuyere`) + event.recipes.vintageimprovements.curving(`tfc:metal/tuyere/${material.getName()}`, doublePlateItem) + .head('gtceu:bottle_extruder_mold') + .id(`tfg:vi/curving/${material.getName()}_tuyere`) event.recipes.gtceu.extruder(`tfg:${material.getName()}_tuyere`) .itemInputs(doublePlateItem) @@ -271,13 +265,9 @@ function registerTFCMaterialsRecipes(event) { .tier(tfcProperty.getTier()) .id(`tfc:anvil/${material.getName()}_shield`) - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [doublePlateItem], - itemAsHead: 'gtceu:plate_extruder_mold', - results: [{ item: `tfc:metal/shield/${material.getName()}` }], - processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${material.getName()}_shield`) + event.recipes.vintageimprovements.curving(`tfc:metal/shield/${material.getName()}`, doublePlateItem) + .head('gtceu:plate_extruder_mold') + .id(`tfg:vi/curving/${material.getName()}_shield`) event.recipes.gtceu.extruder(`tfg:${material.getName()}_shield`) .itemInputs(doublePlateItem) @@ -1325,13 +1315,9 @@ function registerTFCMaterialsRecipes(event) { if (!tongsStack.isEmpty() && !tongPartStack.isEmpty() && material !== GTMaterials.Iron) { // tong parts - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [ChemicalHelper.get(TagPrefix.rodLong, material, 1)], - itemAsHead: 'gtceu:rod_extruder_mold', - results: [tongPartStack], - processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${material.getName()}_tong`) + event.recipes.vintageimprovements.curving(tongPartStack, `#forge:rods/long/${material.getName()}`) + .head('gtceu:rod_extruder_mold') + .id(`tfg:vi/curving/${material.getName()}_tong`) event.recipes.gtceu.extruder(`tfg:${material.getName()}_tong`) .itemInputs(`#forge:rods/long/${material.getName()}`) diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 1e3f8e1b4..35439105a 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -119,13 +119,10 @@ function registerTFGMarsRecipes(event) { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: 'beneath:wood/wood/crimson' }], - results: [{ item: 'beneath:wood/stripped_wood/crimson' }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_crimson_wood`) + event.recipes.vintageimprovements.polishing('beneath:wood/stripped_wood/crimson', 'beneath:wood/wood/crimson') + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_crimson_wood`) woodBuilder(event, 'warped', 'beneath:wood/lumber/warped', '#tfc:warped_logs', 'beneath:wood/log/warped', 'beneath:wood/stripped_log/warped', 'beneath:wood/planks/warped', null, @@ -138,13 +135,10 @@ function registerTFGMarsRecipes(event) { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: 'beneath:wood/wood/warped' }], - results: [{ item: 'beneath:wood/stripped_wood/warped' }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_warped_wood`) + event.recipes.vintageimprovements.polishing('beneath:wood/stripped_wood/warped', 'beneath:wood/wood/warped') + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_warped_wood`) // Alphacene diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.dirt.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.dirt.js index 714706f91..da3f7600f 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.dirt.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.dirt.js @@ -74,13 +74,9 @@ function registerTFGDirtRecipes(event) { .duration(100) .EUt(2) - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ item: `tfc:mud/${mud}` }], - itemAsHead: 'gtceu:ingot_extruder_mold', - results: [{ item: `tfc:drying_bricks/${mud}`, count: 4 }], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${mud}_bricks`) + event.recipes.vintageimprovements.curving(`4x tfc:drying_bricks/${mud}`, `tfc:mud/${mud}`) + .head('gtceu:ingot_extruder_mold') + .id(`tfg:vi/curving/${mud}_bricks`) // Влажный кирпич -> Кирпич event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) diff --git a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js index 9be05b6e3..9a6aa0c4d 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.rocks.js @@ -346,14 +346,6 @@ function registerTFGRockRecipes(event) { .notConsumable('tfc:lens') .duration(30) .EUt(GTValues.VA[GTValues.ULV]) - - //event.custom({ - // type: 'vintageimprovements:laser_cutting', - // ingredients: [{ item: x.raw }], - // results: [{item: x.polished }], - // energy: GTValues.VA[GTValues.ULV] * 30 * 4, - // maxChargeRate: GTValues.VA[GTValues.ULV] * 4 - //}).id(`tfg:vi/laser/tfg/${x.raw.replace(/:/g, '_')}_to_${x.polished.replace(/:/g, '_')}`) }) // #endregion RAW_TO_POLISHED diff --git a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js index 284666095..6d8a1d59f 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js @@ -194,19 +194,13 @@ function registerTFGClothRecipes(event) { .duration(1800) .EUt(GTValues.VA[GTValues.LV]) - event.custom({ - type: 'vintageimprovements:centrifugation', - ingredients: [{ item: 'tfg:flax_product' }], - results: [{ item: 'tfg:flax_line', count: 2 }, { item: 'tfg:flax_tow' }, { item: 'tfc:groundcover/humus' }], - processingTime: 40 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('tfg:vi_seperate_flax') - - event.custom({ - type: 'vintageimprovements:centrifugation', - ingredients: [{ item: 'tfg:flax_bundle' }], - results: [{ item: 'tfg:flax_line', count: 18 }, { item: 'tfg:flax_tow', count: 9 }, { item: 'tfc:groundcover/humus', count: 9 }], - processingTime: 360 * 90 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('tfg:vi_seperate_flax_from_bundle') + event.recipes.vintageimprovements.centrifugation(['2x tfg:flax_line', 'tfg:flax_tow', 'tfc:groundcover/humus'], 'tfg:flax_product') + .processingTime(200 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi_seperate_flax') + + event.recipes.vintageimprovements.centrifugation(['18x tfg:flax_line', '9x tfg:flax_tow', '9x tfc:groundcover/humus'], 'tfg:flax_bundle') + .processingTime(1500 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi_seperate_flax_from_bundle') // #endregion @@ -218,12 +212,10 @@ function registerTFGClothRecipes(event) { ]).id('tfg:shapeless/linen_thread') ) - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [{ item: 'tfg:flax_line' }], - results: [{ item: 'tfg:linen_thread', count: 4 }], - processingTime: 2 * 10 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('tfg:vi_spin_flax_line') + event.recipes.vintageimprovements.coiling('4x tfg:linen_thread', 'tfg:flax_line') + .processingTime(20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .springColor('F6E6B5') + .id('tfg:vi_spin_flax_line') event.recipes.gtceu.wiremill('tfg:spin_flax_line') .itemInputs('tfg:flax_line') diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wood.js b/kubejs/server_scripts/tfg/primitive/recipes.wood.js index 23367a412..79017f62a 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.wood.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.wood.js @@ -217,20 +217,14 @@ function registerTFGWoodRecipes(event) { .duration(50) .EUt(2) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `tfc:wood/log/${wood}` }], - results: [{ item: `tfc:wood/stripped_log/${wood}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${wood}_log`) + event.recipes.vintageimprovements.polishing(`tfc:wood/stripped_log/${wood}`, `tfc:wood/log/${wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${wood}_log`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ item: `tfc:wood/wood/${wood}` }], - results: [{ item: `tfc:wood/stripped_wood/${wood}` }], - speed_limits: 0, - processingTime: 50 - }).id(`tfg:vi/lathe/stripping_${wood}_wood`) + event.recipes.vintageimprovements.polishing(`tfc:wood/stripped_wood/${wood}`, `tfc:wood/wood/${wood}`) + .speedLimits(0) + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/stripping_${wood}_wood`) }) } \ No newline at end of file diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 6df9af966..516b529bc 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -277,48 +277,46 @@ function registerVintageImprovementsRecipes(event) { // #region Coiling if (material.hasFlag(MaterialFlags.GENERATE_ROD) && material.hasFlag(MaterialFlags.GENERATE_SPRING_SMALL)) { - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [ChemicalHelper.get(TagPrefix.rod, material, 1)], - results: [ChemicalHelper.get(TagPrefix.springSmall, material, 2)], - processingTime: (material.getMass() / 2) * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/${material.getName()}_small_spring`) + event.recipes.vintageimprovements.coiling( + ChemicalHelper.get(TagPrefix.springSmall, material, 2), + ChemicalHelper.get(TagPrefix.rod, material, 1)) + .processingTime((material.getMass() / 2) * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/${material.getName()}_small_spring`) + .springColor(material.getMaterialRGB().toString(16)) } if (material.hasFlag(MaterialFlags.GENERATE_LONG_ROD) && material.hasFlag(MaterialFlags.GENERATE_SPRING)) { - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [ChemicalHelper.get(TagPrefix.rodLong, material, 1)], - results: [ChemicalHelper.get(TagPrefix.spring, material, 1)], - processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/${material.getName()}_spring`) + event.recipes.vintageimprovements.coiling( + ChemicalHelper.get(TagPrefix.spring, material, 1), + ChemicalHelper.get(TagPrefix.rodLong, material, 1)) + .processingTime(material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/${material.getName()}_spring`) + .springColor(material.getMaterialRGB().toString(16)) } const singleWire = ChemicalHelper.get(TagPrefix.wireGtSingle, material, 2) if (singleWire !== null) { - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [ChemicalHelper.get(TagPrefix.ingot, material, 1)], - results: [singleWire], - processingTime: material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/${material.getName()}_single_wire`) + event.recipes.vintageimprovements.coiling(singleWire, ChemicalHelper.get(TagPrefix.ingot, material, 1)) + .processingTime(material.getMass() * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/${material.getName()}_single_wire`) + .springColor(material.getMaterialRGB().toString(16)) } if (material.hasFlag(MaterialFlags.GENERATE_FINE_WIRE)) { if (singleWire !== null) { - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [ChemicalHelper.get(TagPrefix.wireGtSingle, material, 1)], - results: [ChemicalHelper.get(TagPrefix.wireFine, material, 4)], - processingTime: material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/${material.getName()}_fine_wire`) + event.recipes.vintageimprovements.coiling( + ChemicalHelper.get(TagPrefix.wireFine, material, 4), + ChemicalHelper.get(TagPrefix.wireGtSingle, material, 1)) + .processingTime(material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/${material.getName()}_fine_wire`) + .springColor(material.getMaterialRGB().toString(16)) } else { - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [ChemicalHelper.get(TagPrefix.ingot, material, 1)], - results: [ChemicalHelper.get(TagPrefix.wireFine, material, 8)], - processingTime: material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/${material.getName()}_fine_wire`) + event.recipes.vintageimprovements.coiling( + ChemicalHelper.get(TagPrefix.wireFine, material, 8), + ChemicalHelper.get(TagPrefix.ingot, material, 1)) + .processingTime(material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/${material.getName()}_fine_wire`) + .springColor(material.getMaterialRGB().toString(16)) } } @@ -355,13 +353,10 @@ function registerVintageImprovementsRecipes(event) { : ChemicalHelper.get(TagPrefix.ingot, material, 1) if (latheInput !== null) { - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [latheInput], - results: [ChemicalHelper.get(TagPrefix.rod, material, 2)], - speed_limits: 3, - processingTime: material.getMass() * 4 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/lathe/${material.getName()}_to_rod`) + event.recipes.vintageimprovements.polishing(ChemicalHelper.get(TagPrefix.rod, material, 2), latheInput) + .speedLimits(3) + .processingTime(material.getMass() * 4 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/${material.getName()}_to_rod`) } if (material.hasProperty(PropertyKey.GEM)) { @@ -371,13 +366,12 @@ function registerVintageImprovementsRecipes(event) { } if (material.hasFlag(MaterialFlags.GENERATE_BOLT_SCREW)) { - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [ChemicalHelper.get(TagPrefix.bolt, material, 1)], - results: [ChemicalHelper.get(TagPrefix.screw, material, 1)], - speed_limits: 2, - processingTime: Math.max(1, material.getMass() / 8) * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/lathe/${material.getName()}_bolt_to_screw`) + event.recipes.vintageimprovements.polishing( + ChemicalHelper.get(TagPrefix.screw, material, 1), + ChemicalHelper.get(TagPrefix.bolt, material, 1)) + .speedLimits(2) + .processingTime(Math.max(1, material.getMass() / 8) * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/${material.getName()}_bolt_to_screw`) } // #endregion @@ -386,109 +380,81 @@ function registerVintageImprovementsRecipes(event) { // #region Vibrating - event.custom({ - type: 'vintageimprovements:vibrating', - ingredients: [{ tag: 'tfc:rock/gravel' }], - results: [ - { item: 'minecraft:flint' }, - { item: 'minecraft:flint', chance: 0.9 }, - { item: 'minecraft:flint', chance: 0.8 }, - { item: 'minecraft:flint', chance: 0.6 }, - { item: 'minecraft:flint', chance: 0.33 }, - { item: 'minecraft:flint', chance: 0.25 } - ], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/vibrating/gravel`) + event.recipes.vintageimprovements.vibrating([ + Item.of('minecraft:flint'), + Item.of('minecraft:flint').withChance(0.9), + Item.of('minecraft:flint').withChance(0.8), + Item.of('minecraft:flint').withChance(0.6), + Item.of('minecraft:flint').withChance(0.33), + Item.of('minecraft:flint').withChance(0.25) + ], '#tfc:rock/gravel') + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/vibrating/gravel`) global.TFC_STONE_TYPES.forEach(stone => { - event.custom({ - type: 'vintageimprovements:vibrating', - ingredients: [{ item: `tfc:deposit/native_gold/${stone}` }], - results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Gold, 1)], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/vibrating/deposits/${stone}_gold`) + event.recipes.vintageimprovements.vibrating( + ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Gold, 1), + `tfc:deposit/native_gold/${stone}`) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/vibrating/deposits/${stone}_gold`) - event.custom({ - type: 'vintageimprovements:vibrating', - ingredients: [{ item: `tfc:deposit/native_copper/${stone}` }], - results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Copper, 1)], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/vibrating/deposits/${stone}_copper`) + event.recipes.vintageimprovements.vibrating( + ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Copper, 1), + `tfc:deposit/native_copper/${stone}`) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/vibrating/deposits/${stone}_copper`) - event.custom({ - type: 'vintageimprovements:vibrating', - ingredients: [{ item: `tfc:deposit/native_silver/${stone}` }], - results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Silver, 1)], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/vibrating/deposits/${stone}_silver`) + event.recipes.vintageimprovements.vibrating( + ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Silver, 1), + `tfc:deposit/native_silver/${stone}`) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/vibrating/deposits/${stone}_silver`) - event.custom({ - type: 'vintageimprovements:vibrating', - ingredients: [{ item: `tfc:deposit/cassiterite/${stone}` }], - results: [ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Cassiterite, 1)], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/vibrating/deposits/${stone}_cassiterite`) + event.recipes.vintageimprovements.vibrating( + ChemicalHelper.get(TagPrefix.rawOre, GTMaterials.Cassiterite, 1), + `tfc:deposit/cassiterite/${stone}`) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/vibrating/deposits/${stone}_cassiterite`) }) // #endregion // #region Lathe - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ tag: 'forge:glass' }], - results: [{ item: 'tfc:lens' }], - speed_limits: 1, - processingTime: 100 - }).id(`tfg:vi/lathe/lens`) + event.recipes.vintageimprovements.polishing('tfc:lens', '#forge:glass') + .speedLimits(1) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/lens`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ tag: 'forge:exquisite_gems/rose_quartz' }], - results: [ChemicalHelper.get(TagPrefix.lens, $GreateMaterials.RoseQuartz, 1), ChemicalHelper.get(TagPrefix.dust, $GreateMaterials.RoseQuartz, 2)], - speed_limits: 1, - processingTime: 100 - }).id(`tfg:vi/lathe/rose_quartz_lens`) + event.recipes.vintageimprovements.polishing(['#forge:lenses/rose_quartz', '2x #forge:dusts/rose_quartz'], '#forge:exquisite_gems/rose_quartz') + .speedLimits(1) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/rose_quartz_lens`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ tag: 'forge:exquisite_gems/diamond' }], - results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Diamond, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Diamond, 2)], - speed_limits: 1, - processingTime: 100 - }).id(`tfg:vi/lathe/diamond_lens`) + event.recipes.vintageimprovements.polishing(['#forge:lenses/diamond', '2x #forge:dusts/diamond'], '#forge:exquisite_gems/diamond') + .speedLimits(1) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/diamond_lens`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ tag: 'forge:exquisite_gems/emerald' }], - results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Emerald, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Emerald, 2)], - speed_limits: 1, - processingTime: 100 - }).id(`tfg:vi/lathe/emerald_lens`) + event.recipes.vintageimprovements.polishing(['#forge:lenses/emerald', '2x #forge:dusts/emerald'], '#forge:exquisite_gems/emerald') + .speedLimits(1) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/emerald_lens`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ tag: 'forge:exquisite_gems/ruby' }], - results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Ruby, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruby, 2)], - speed_limits: 1, - processingTime: 100 - }).id(`tfg:vi/lathe/ruby_lens`) + event.recipes.vintageimprovements.polishing(['#forge:lenses/ruby', '2x #forge:dusts/ruby'], '#forge:exquisite_gems/ruby') + .speedLimits(1) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/ruby_lens`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ tag: 'forge:exquisite_gems/sapphire' }], - results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Sapphire, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Sapphire, 2)], - speed_limits: 1, - processingTime: 100 - }).id(`tfg:vi/lathe/sapphire_lens`) + event.recipes.vintageimprovements.polishing(['#forge:lenses/sapphire', '2x #forge:dusts/sapphire'], '#forge:exquisite_gems/sapphire') + .speedLimits(1) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/sapphire_lens`) - event.custom({ - type: 'vintageimprovements:polishing', - ingredients: [{ tag: 'forge:exquisite_gems/amethyst' }], - results: [ChemicalHelper.get(TagPrefix.lens, GTMaterials.Amethyst, 1), ChemicalHelper.get(TagPrefix.dust, GTMaterials.Amethyst, 2)], - speed_limits: 1, - processingTime: 100 - }).id(`tfg:vi/lathe/amethyst_lens`) + event.recipes.vintageimprovements.polishing(['#forge:lenses/amethyst', '2x #forge:dusts/amethyst'], '#forge:exquisite_gems/amethyst') + .speedLimits(1) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/lathe/amethyst_lens`) // #endregion @@ -502,7 +468,7 @@ function registerVintageImprovementsRecipes(event) { // LV recipes only let EUt = (r.tickInputs && r.tickInputs.eu) ? r.tickInputs.eu[0].content : null; - if (!(EUt <= 32)) return + if (EUt > 32) return // Skip this one if (r.outputs.item[0].content.ingredient.item === "gtceu:nan_certificate") return // Skip glass too @@ -518,13 +484,9 @@ function registerVintageImprovementsRecipes(event) { let output = r.outputs.item[0].content.ingredient; output.count = r.outputs.item[0].content.count; - event.custom({ - type: 'vintageimprovements:curving', - ingredients: input_array, - itemAsHead: r.inputs.item[1].content.ingredient.item, - results: [output], - processingTime: r.duration * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/${recipe.getId().split(':')[1]}`) + event.recipes.vintageimprovements.curving(output, input_array) + .head(r.inputs.item[1].content.ingredient.item) + .id(`tfg:vi/curving/${recipe.getId().split(':')[1]}`) } ) @@ -535,238 +497,144 @@ function registerVintageImprovementsRecipes(event) { // Item to fluids: vacuumizing // Fluids to item: pressurizing - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'tfc:glue' }], - results: [{ fluid: 'gtceu:glue', amount: 50 }], - heatRequirement: "heated", - processingTime: 100 - }).id('tfg:vi/vacuumizing/glue_melting') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:glue', 50), 'tfc:glue') + .heated() + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/glue_melting') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'gtceu:sticky_resin' }], - results: [{ fluid: 'gtceu:glue', amount: 100 }], - heatRequirement: "heated", - processingTime: 200 - }).id('tfg:vi/vacuumizing/glue_from_resin') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:glue', 100), 'gtceu:sticky_resin') + .heated() + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/glue_from_resin') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'tfg:conifer_rosin' }], - results: [{ fluid: 'gtceu:glue', amount: 50 }], - heatRequirement: "heated", - processingTime: 200 - }).id('tfg:vi/vacuumizing/glue_from_rosin') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:glue', 50), 'tfg:conifer_rosin') + .heated() + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/glue_from_rosin') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'minecraft:bone_meal' }, { fluid: 'tfc:limewater', amount: 500 }], - results: [{ fluid: 'gtceu:glue', amount: 50 }], - heatRequirement: "heated", - processingTime: 100 - }).id('tfg:vi/vacuumizing/glue_from_bone_meal') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:glue', 50), [Fluid.of('tfc:limewater', 500), 'minecraft:bone_meal']) + .heated() + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/glue_from_bone_meal') - event.custom({ - type: 'vintageimprovements:pressurizing', - ingredients: [{ fluid: 'gtceu:glue', amount: 50 }], - results: [{ item: 'tfc:glue' }], - processingTime: 100 - }).id('tfg:vi/pressurizing/glue_solidifying') + event.recipes.vintageimprovements.pressurizing('tfc:glue', Fluid.of('gtceu:glue', 50)) + .heated() + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/pressurizing/glue_solidifying') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'gtceu:rubber_dust' }], - results: [{ fluid: 'gtceu:rubber', amount: 144 }], - heatRequirement: "heated", - processingTime: 100 - }).id('tfg:vi/vacuum/rubber') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:rubber', 144), '#forge:dusts/rubber') + .heated() + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuum/rubber') // Vaccuming rubber wood stuff for latex - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ tag: 'tfg:latex_logs' }], - results: [{ fluid: 'tfg:latex', amount: 100 }], - processingTime: 600 - }).id('tfg:vi/vacuumizing/latex_from_rubber_logs') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 100), '#tfg:latex_logs') + .processingTime(300 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_logs') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ tag: 'tfg:rubber_saplings' }], - results: [{ fluid: 'tfg:latex', amount: 25 }], - processingTime: 300 - }).id('tfg:vi/vacuumizing/latex_from_rubber_sapling') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 25), '#tfg:rubber_saplings') + .processingTime(150 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_sapling') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ tag: 'tfg:rubber_leaves' }], - results: [{ fluid: 'tfg:latex', amount: 10 }], - processingTime: 150 - }).id('tfg:vi/vacuumizing/latex_from_rubber_leaves') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 10), '#tfg:rubber_leaves') + .processingTime(75 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_leaves') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ tag: 'tfg:rubber_plants' }, { item: 'tfc:powder/soda_ash' }, { fluid: 'tfc:salt_water', amount: 50 }], - results: [{ fluid: 'tfg:latex', amount: 50 }], - heatRequirement: "heated", - processingTime: 40 - }).id('tfg:vi/vacuumizing/latex_from_rubber_plants') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:latex', 50), ['#tfg:rubber_plants', 'tfc:powder/soda_ash', Fluid.of('tfc:salt_water', 50)]) + .heated() + .processingTime(20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/latex_from_rubber_plants') // Vulc. latex to raw rubber pulp - event.custom({ - type: 'vintageimprovements:pressurizing', - ingredients: [{ fluid: 'tfg:vulcanized_latex', amount: 250 }], - results: [{ item: 'gtceu:raw_rubber_dust' }], - heatRequirement: "heated", - processingTime: 120 - }).id('tfg:vi/pressurizing/vulcanized_latex_to_raw_rubber') + event.recipes.vintageimprovements.pressurizing(Fluid.of('tfg:vulcanized_latex', 250), '#forge:dusts/raw_rubber') + .heated() + .processingTime(60 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/pressurizing/vulcanized_latex_to_raw_rubber') // Seed oils - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'tfg:sunflower_product' }], - results: [{ fluid: 'gtceu:seed_oil', amount: 350 }], - processingTime: 1000 - }).id('tfg:vi/vacuumizing/sunflower') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:seed_oil', 350), 'tfg:sunflower_product') + .processingTime(500 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/sunflower') + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:seed_oil', 600), 'tfg:rapeseed_product') + .processingTime(500 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/rapeseed') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'tfg:rapeseed_product' }], - results: [{ fluid: 'gtceu:seed_oil', amount: 600 }], - processingTime: 1000 - }).id('tfg:vi/vacuumizing/rapeseed') - - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ tag: 'forge:seeds' }], - results: [{ fluid: 'gtceu:seed_oil', amount: 16 }], - processingTime: 100 - }).id('tfg:vi/vacuumizing/seed_oil') - - event.custom({ - type: 'vintageimprovements:pressurizing', - ingredients: [{ fluid: 'tfc:lye', amount: 1000 }], - results: [{ item: 'gtceu:sodium_hydroxide_dust' }], - heatRequirement: "heated", - processingTime: 300 - }).id('tfg:vi/pressurizing/lye') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('gtceu:seed_oil', 16), '#forge:seeds') + .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id('tfg:vi/vacuumizing/seed_oil') + + event.recipes.vintageimprovements.pressurizing('#forge:dusts/sodium_hydroxide', Fluid.of('tfc:lye', 1000)) + .processingTime(150 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .heated() + .id('tfg:vi/pressurizing/lye') // #endregion // #region Coiling + event.recipes.vintageimprovements.coiling('8x tfc:wool_yarn', 'tfc:wool') + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/wool_yarn`) - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [{ item: 'tfc:wool' }], - results: [{ item: 'tfc:wool_yarn', count: 8 }], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/wool_yarn`) + event.recipes.vintageimprovements.coiling('8x tfc:wool_yarn', 'tfg:glacian_wool') + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/glacian_wool_yarn`) + .springColor('FFCCFC') - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [{ item: 'tfg:glacian_wool' }], - results: [{ item: 'tfc:wool_yarn', count: 8 }], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/glacian_wool_yarn`) + event.recipes.vintageimprovements.coiling('16x tfg:phantom_thread', 'minecraft:phantom_membrane') + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/phantom_thread`) + .springColor('E1C4C4') - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [{ item: 'minecraft:phantom_membrane' }], - results: [{ item: 'tfg:phantom_thread', count: 16 }], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/phantom_thread`) + event.recipes.vintageimprovements.coiling('8x firmalife:pineapple_yarn', 'firmalife:pineapple_fiber') + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/pineapple_yarn`) + .springColor('FFFCCC') - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [{ item: 'firmalife:pineapple_fiber' }], - results: [{ item: 'firmalife:pineapple_yarn', count: 8 }], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/pineapple_yarn`) - - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)], - results: [{ item: 'tfg:polycaprolactam_string', count: 32 }], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/nylon_string`) + event.recipes.vintageimprovements.coiling('32x tfg:polycaprolactam_string', ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)) + .processingTime(100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) + .id(`tfg:vi/coiling/nylon_string`) + .springColor('000000') // #endregion // #region Curving - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ item: 'minecraft:clay_ball' }], - itemAsHead: 'gtceu:ingot_extruder_mold', - results: [{ item: 'tfc:ceramic/unfired_brick' }], - processingTime: 50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/clay_brick`) + event.recipes.vintageimprovements.curving('tfc:ceramic/unfired_brick', 'minecraft:clay_ball') + .head('gtceu:ingot_extruder_mold') + .id(`tfg:vi/curving/clay_brick`) - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ item: 'tfc:fire_clay' }], - itemAsHead: 'gtceu:ingot_extruder_mold', - results: [{ item: 'tfc:ceramic/unfired_fire_brick' }], - processingTime: 50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/fire_brick`) + event.recipes.vintageimprovements.curving('tfc:ceramic/unfired_fire_brick', 'tfc:fire_clay') + .head('gtceu:ingot_extruder_mold') + .id(`tfg:vi/curving/fire_brick`) - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ tag: 'forge:ingots/copper' }], - itemAsHead: 'gtceu:bottle_extruder_mold', - results: [{ item: 'afc:tree_tap' }], - processingTime: 50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/tree_tap`) + event.recipes.vintageimprovements.curving('afc:tree_tap', '#forge:ingots/copper') + .head('gtceu:bottle_extruder_mold') + .id(`tfg:vi/curving/tree_tap`) - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ tag: 'forge:plates/copper' }], - itemAsHead: 'tfg:small_casing_extruder_mold', - results: [{ item: 'firmalife:sprinkler' }], - processingTime: 50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/sprinkler`) + event.recipes.vintageimprovements.curving('firmalife:sprinkler', '#forge:plates/copper') + .head('tfg:small_casing_extruder_mold') + .id(`tfg:vi/curving/sprinkler`) - event.custom({ - type: 'vintageimprovements:curving', - ingredients: [{ tag: 'forge:double_plates/wrought_iron' }], - itemAsHead: 'tfg:large_casing_extruder_mold', - results: [{ item: 'tfc:wrought_iron_grill' }], - processingTime: 50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/curving/wrought_iron_grill`) - - // #endregion - - // #region Centrifuging - - //event.custom({ - // type: 'vintageimprovements:centrifugation', - // ingredients: [{ tag: 'forge:dusts/oilsands' }], - // results: [ - // { item: "tfc:sand/yellow", chance: 0.5 }, - // { fluid: "gtceu:oil", amount: 2000 } - // ], - // processingTime: 10 * 20 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - //}).id(`tfg:vi/centrifuge/oilsands`) + event.recipes.vintageimprovements.curving('tfc:wrought_iron_grill', '#forge:double_plates/wrought_iron') + .head('tfg:large_casing_extruder_mold') + .id(`tfg:vi/curving/wrought_iron_grill`) // #endregion } function generateHammeringRecipe(event, material, blows, anvil) { - event.custom({ - type: 'vintageimprovements:hammering', - hammerBlows: blows, - ingredients: [ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1)], - results: [ChemicalHelper.get(TagPrefix.plate, material, 1)], - anvilBlock: `tfc:metal/anvil/${anvil}` - }).id(`tfg:vi/hammer/${material.getName()}_plate_on_${anvil}_anvil`) + event.recipes.vintageimprovements.hammering( + ChemicalHelper.get(TagPrefix.plate, material, 1), + ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1)) + .anvilBlock(`tfc:metal/anvil/${anvil}`) + .hammerBlows(blows) + .id(`tfg:vi/hammer/${material.getName()}_plate_on_${anvil}_anvil`) } function generateHammeringRecipeFromItem(event, input, output, blows, anvil) { - event.custom({ - type: 'vintageimprovements:hammering', - hammerBlows: blows, - ingredients: [{ item: input }], - results: [{ item: output }], - anvilBlock: `tfc:metal/anvil/${anvil}` - }).id(`tfg:vi/hammer/${input.replace(/[#:]/g, '_')}_on_${anvil}_anvil`) + event.recipes.vintageimprovements.hammering(output, input) + .anvilBlock(`tfc:metal/anvil/${anvil}`) + .hammerBlows(blows) + .id(`tfg:vi/hammer/${input.replace(/[#:]/g, '_')}_on_${anvil}_anvil`) } \ No newline at end of file diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 658c290f9..e406882eb 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -620,6 +620,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:furnace', 'minecraft:amethyst_cluster', 'minecraft:rabbit_hide', + 'minecraft:raw_copper', 'minecraft:raw_iron', 'minecraft:raw_gold', 'minecraft:compass', From 4fbd9755edf84b88781df32a7eabba8a5d58180c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 17:45:15 +0000 Subject: [PATCH 333/628] move syngas to the new format too --- .../tfg/powergen/recipes.early_gas.js | 54 ++++++++----------- 1 file changed, 21 insertions(+), 33 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index c6c6f1a6a..86794748d 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -8,41 +8,29 @@ function registerTFGEarlyGasRecipes(event) { //#region Syngas - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'minecraft:charcoal' }, { fluid: 'gtceu:creosote', amount: 250 }], - results: [{ fluid: 'tfg:syngas', amount: 100 }], - secondaryFluidOutput: 0, - heatRequirement: "heated", - processingTime: 4000 - }).id('tfg:vi/vacuumizing/syngas_from_charcoal') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:syngas', 100), ['minecraft:charcoal', Fluid.of('gtceu:creosote', 250)]) + .secondaryFluidOutput(0) + .processingTime(4000) + .heated() + .id('tfg:vi/vacuumizing/syngas_from_charcoal') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'minecraft:coal' }, { fluid: 'gtceu:creosote', amount: 250 }], - results: [{ fluid: 'tfg:syngas', amount: 200 }], - secondaryFluidOutput: 0, - heatRequirement: "heated", - processingTime: 4000 - }).id('tfg:vi/vacuumizing/syngas_from_coal') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:syngas', 200), ['minecraft:coal', Fluid.of('gtceu:creosote', 250)]) + .secondaryFluidOutput(0) + .processingTime(4000) + .heated() + .id('tfg:vi/vacuumizing/syngas_from_coal') + + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:syngas', 400), ['gtceu:coke_gem', Fluid.of('gtceu:creosote', 250)]) + .secondaryFluidOutput(0) + .processingTime(4000) + .heated() + .id('tfg:vi/vacuumizing/syngas_from_coke') - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'gtceu:coke_gem' }, { fluid: 'gtceu:creosote', amount: 250 }], - results: [{ fluid: 'tfg:syngas', amount: 400 }], - secondaryFluidOutput: 0, - heatRequirement: "heated", - processingTime: 4000 - }).id('tfg:vi/vacuumizing/syngas_from_coke') - - event.custom({ - type: 'vintageimprovements:vacuumizing', - ingredients: [{ item: 'beneath:cursecoal' }, { fluid: 'gtceu:creosote', amount: 250 }], - results: [{ fluid: 'tfg:syngas', amount: 400 }], - secondaryFluidOutput: 0, - heatRequirement: "heated", - processingTime: 4000 - }).id('tfg:vi/vacuumizing/syngas_from_anthracite') + event.recipes.vintageimprovements.vacuumizing(Fluid.of('tfg:syngas', 400), ['beneath:cursecoal', Fluid.of('gtceu:creosote', 250)]) + .secondaryFluidOutput(0) + .processingTime(4000) + .heated() + .id('tfg:vi/vacuumizing/syngas_from_anthracite') event.recipes.gtceu.brewery('tfg:syngas_from_charcoal') .itemInputs('minecraft:charcoal') From e614f45983eedf87c1b3986c94b7a850234414e7 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 17:52:55 +0000 Subject: [PATCH 334/628] remove illager spawns --- .../biome_modifier/all_biome_modifier.json | 4 +++ .../iloger_1_biome_modifier.json | 19 +------------ .../iloger_2_biome_modifier.json | 19 +------------ .../biome_modifier/nahida_biome_modifier.json | 28 +------------------ .../viloger_10_biome_modifier.json | 19 +------------ 5 files changed, 8 insertions(+), 81 deletions(-) diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json index 6afd60ede..963625e96 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/all_biome_modifier.json @@ -5,13 +5,17 @@ }, "entity_types": [ "primitive_creatures:beast", + "primitive_creatures:iloger_1", + "primitive_creatures:iloger_2", "primitive_creatures:iloger_3", "primitive_creatures:iloger_4", "primitive_creatures:iloger_5", "primitive_creatures:iloger_6", "primitive_creatures:musselwarden", + "primitive_creatures:nahida", "primitive_creatures:piloger_9", "primitive_creatures:iloger_10", + "primitive_creatures:viloger_10", "primitive_creatures:wiloger" ] } \ No newline at end of file diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json index c4380d1a2..2d96022cf 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_1_biome_modifier.json @@ -1,20 +1,3 @@ { - "type": "forge:add_spawns", - "biomes": [ - "tfc:highlands", - "tfc:hills", - "tfc:lowlands", - "tfc:plains", - "tfc:plateau", - "tfc:rolling_hills", - "tfc:salt_marsh", - "tfc:shore", - "tfc:tidal_flats" - ], - "spawners": { - "type": "primitive_creatures:iloger_1", - "weight": 1, - "minCount": 2, - "maxCount": 3 - } + "type": "forge:none" } \ No newline at end of file diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json index e416f61c2..2d96022cf 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/iloger_2_biome_modifier.json @@ -1,20 +1,3 @@ { - "type": "forge:add_spawns", - "biomes": [ - "tfc:highlands", - "tfc:hills", - "tfc:lowlands", - "tfc:plains", - "tfc:plateau", - "tfc:rolling_hills", - "tfc:salt_marsh", - "tfc:shore", - "tfc:tidal_flats" - ], - "spawners": { - "type": "primitive_creatures:iloger_2", - "weight": 1, - "minCount": 2, - "maxCount": 3 - } + "type": "forge:none" } \ No newline at end of file diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json index 1396763f1..2d96022cf 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/nahida_biome_modifier.json @@ -1,29 +1,3 @@ { - "type": "forge:add_spawns", - "biomes": [ - "tfc:badlands", - "tfc:canyons", - "tfc:highlands", - "tfc:hills", - "tfc:inverted_badlands", - "tfc:low_canyons", - "tfc:lowlands", - "tfc:mountains", - "tfc:oceanic_mountains", - "tfc:old_mountains", - "tfc:plains", - "tfc:plateau", - "tfc:rolling_hills", - "tfc:salt_marsh", - "tfc:shore", - "tfc:tidal_flats", - "tfc:volcanic_mountains", - "tfc:volcanic_oceanic_mountains" - ], - "spawners": { - "type": "primitive_creatures:nahida", - "weight": 1, - "minCount": 1, - "maxCount": 1 - } + "type": "forge:none" } \ No newline at end of file diff --git a/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json b/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json index b89e19b65..2d96022cf 100644 --- a/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json +++ b/kubejs/data/primitive_creatures/forge/biome_modifier/viloger_10_biome_modifier.json @@ -1,20 +1,3 @@ { - "type": "forge:add_spawns", - "biomes": [ - "tfc:badlands", - "tfc:canyons", - "tfc:inverted_badlands", - "tfc:low_canyons", - "tfc:mountains", - "tfc:oceanic_mountains", - "tfc:old_mountains", - "tfc:volcanic_mountains", - "tfc:volcanic_oceanic_mountains" - ], - "spawners": { - "type": "primitive_creatures:viloger_10", - "weight": 1, - "minCount": 2, - "maxCount": 3 - } + "type": "forge:none" } \ No newline at end of file From bcd3a0c35650b653d08eedf593e6cbd1c879f08e Mon Sep 17 00:00:00 2001 From: Mqrius Date: Sun, 14 Dec 2025 19:03:13 +0100 Subject: [PATCH 335/628] Fix sharp tools BlockEvent filter (#2419) Signed-off-by: Mqrius --- kubejs/server_scripts/tfg/events.interactions.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/tfg/events.interactions.js b/kubejs/server_scripts/tfg/events.interactions.js index c7ca21bf3..45a9276a9 100644 --- a/kubejs/server_scripts/tfg/events.interactions.js +++ b/kubejs/server_scripts/tfg/events.interactions.js @@ -503,19 +503,20 @@ BlockEvents.rightClicked(event => { }); // Makes scythes, hoes, and knives take damage when cutting grass -BlockEvents.broken('tfc:mineable_with_sharp_tool', event => { - let player = event.player; - let toolUsed = player.mainHandItem; +BlockEvents.broken(event => { + const { server, item, player, block } = event; - if (!toolUsed.hasTag('tfc:sharp_tools')) { + if (!block.hasTag('tfc:mineable_with_sharp_tool') || !toolUsed.hasTag('tfc:sharp_tools')) { return; } + + let toolUsed = player.mainHandItem; if (!player.isCreative()) { toolUsed.damageValue++; if (toolUsed.damageValue >= toolUsed.maxDamage) { - event.server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`); + server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`); toolUsed.count--; } } -}); \ No newline at end of file +}); From 6aa66d148d39838c4120ae6ca8568cb458c4413d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 19:20:36 +0000 Subject: [PATCH 336/628] strange numbers --- kubejs/server_scripts/rnr/recipes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/rnr/recipes.js b/kubejs/server_scripts/rnr/recipes.js index 06b762c3d..54bb5abdd 100644 --- a/kubejs/server_scripts/rnr/recipes.js +++ b/kubejs/server_scripts/rnr/recipes.js @@ -82,7 +82,7 @@ const registerRnrRecipes = (event) => { event.recipes.gtceu.mixer('rnr:mixer/wet_concrete_mix') - .inputFluids('gtceu:concrete 192', "#tfg:clean_water 808") + .inputFluids('gtceu:concrete 200', "#tfg:clean_water 800") .outputFluids('rnr:concrete 1000') .circuit(7) .duration(200) From 9ecccfc4aa73d9246ef96214c038d27db265513b Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 20:54:07 +0000 Subject: [PATCH 337/628] fixed a dupe with the redstone link --- kubejs/server_scripts/create/recipes.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 9dda130ec..36ee3d403 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -2078,7 +2078,8 @@ const registerCreateRecipes = (event) => { .duration(50) .EUt(GTValues.VA[GTValues.ULV]) .circuit(17) - .addMaterialInfo(true) + + TFGHelpers.registerMaterialInfo('create:redstone_link', { 'wrought_iron': 3 }); event.shaped('create:display_link', [ 'FED', From e06ca510810a1c58a92cb97a085b259d808ecb31 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sun, 14 Dec 2025 16:03:41 -0600 Subject: [PATCH 338/628] New Active Transformer (#2424) * textures and stuff * recipes * looks a little better * got texture thing to be * probably good enough * cooling tower touchup --- .../block/machine/active_transformer.json | 82 +++++++++++++++++ .../blockstates/active_power_transformer.json | 19 ++++ .../machine_casing_power_casing.json | 7 ++ .../casings/machine_casing_power_casing.json | 1 + .../machines/active_power_transformer.json | 86 ++++++++++++++++++ .../models/item/active_power_transformer.json | 3 + .../item/machine_casing_power_casing.json | 3 + .../casings/machine_casing_power_casing.png | Bin 0 -> 526 bytes .../machine_casing_power_casing.png.mcmeta | 5 + .../machine_casing_power_casing_ctm.png | Bin 0 -> 1200 bytes .../machine_casing_power_casing_ctm_n.png | Bin 0 -> 347 bytes .../machine_casing_power_casing_ctm_s.png | Bin 0 -> 217 bytes .../casings/machine_casing_power_casing_n.png | Bin 0 -> 235 bytes .../casings/machine_casing_power_casing_s.png | Bin 0 -> 144 bytes .../tfg/machines/recipes.casings.js | 9 +- .../tfg/machines/recipes.multiblocks.js | 11 +++ kubejs/server_scripts/tfg/tags.js | 1 + .../tfg/mars/materials.mars.js | 1 + kubejs/startup_scripts/tfg/materials.js | 4 +- .../tfg/nuclear/blocks.nuclear.js | 4 +- 20 files changed, 232 insertions(+), 4 deletions(-) create mode 100644 kubejs/assets/gtceu/models/block/machine/active_transformer.json create mode 100644 kubejs/assets/tfg/blockstates/active_power_transformer.json create mode 100644 kubejs/assets/tfg/blockstates/machine_casing_power_casing.json create mode 100644 kubejs/assets/tfg/models/block/casings/machine_casing_power_casing.json create mode 100644 kubejs/assets/tfg/models/block/machines/active_power_transformer.json create mode 100644 kubejs/assets/tfg/models/item/active_power_transformer.json create mode 100644 kubejs/assets/tfg/models/item/machine_casing_power_casing.json create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing.png.mcmeta create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_ctm.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_ctm_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_ctm_s.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_n.png create mode 100644 kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_s.png diff --git a/kubejs/assets/gtceu/models/block/machine/active_transformer.json b/kubejs/assets/gtceu/models/block/machine/active_transformer.json new file mode 100644 index 000000000..852f3edb9 --- /dev/null +++ b/kubejs/assets/gtceu/models/block/machine/active_transformer.json @@ -0,0 +1,82 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "gtceu:active_transformer", + "texture_overrides": { + "all": "tfg:item/deprecated" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated_active" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated_active" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated_active" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:item/deprecated", + "overlay_front": "tfg:item/deprecated_active" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/active_power_transformer.json b/kubejs/assets/tfg/blockstates/active_power_transformer.json new file mode 100644 index 000000000..9a0e2d7bb --- /dev/null +++ b/kubejs/assets/tfg/blockstates/active_power_transformer.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/active_power_transformer", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/active_power_transformer" + }, + "facing=south": { + "model": "tfg:block/machines/active_power_transformer", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/active_power_transformer", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/machine_casing_power_casing.json b/kubejs/assets/tfg/blockstates/machine_casing_power_casing.json new file mode 100644 index 000000000..4d1dfb56f --- /dev/null +++ b/kubejs/assets/tfg/blockstates/machine_casing_power_casing.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/casings/machine_casing_power_casing" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_power_casing.json b/kubejs/assets/tfg/models/block/casings/machine_casing_power_casing.json new file mode 100644 index 000000000..18d68ef40 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_power_casing.json @@ -0,0 +1 @@ +{"parent":"minecraft:block/cube_all","textures":{"all":"tfg:block/casings/machine_casing_power_casing"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/active_power_transformer.json b/kubejs/assets/tfg/models/block/machines/active_power_transformer.json new file mode 100644 index 000000000..c2960ee1c --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/active_power_transformer.json @@ -0,0 +1,86 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:active_power_transformer", + "texture_overrides": { + "all": "tfg:block/casings/machine_casing_power_casing" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_power_casing", + "overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active", + "overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/active_power_transformer.json b/kubejs/assets/tfg/models/item/active_power_transformer.json new file mode 100644 index 000000000..b3073fdff --- /dev/null +++ b/kubejs/assets/tfg/models/item/active_power_transformer.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/active_power_transformer" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/machine_casing_power_casing.json b/kubejs/assets/tfg/models/item/machine_casing_power_casing.json new file mode 100644 index 000000000..a77205b25 --- /dev/null +++ b/kubejs/assets/tfg/models/item/machine_casing_power_casing.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/machine_casing_power_casing" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing.png new file mode 100644 index 0000000000000000000000000000000000000000..651e8d468f8c7febc01070b1fc21587d556692c7 GIT binary patch literal 526 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7uX?&ThFJ9GPClD=*+Hb$ ze*3hhxk8Ge3oJD39n4pTi01zhxOZgroe%PBhHqfhG89Zn49$~GOrH{w zHt}2v*PN?Y=N6}(J7b$18?z^q!Ae%TL4kuoz{z0#dBz!M(==2(nH&OT7&c6e;M}aU zc$L> zGRH42XResH+;!D*3$8E`SKn!=Rl=I8mtRi#pSUsNLe|y-8TZe*p$t)f-aY0me{I_S zci!!frjM@sv+dpP)A+RLXHWj@ZzAumWygjW9p9$&^UquDYm-m3Y>iqw%cAdNt^E1V z9gk(j&*r?ZTmDMv+3x$+hYV6S-<+^aGf`rm+{Ghrf6VfFw}RjF`8Uh(!-Bcj zpPpWR)jmeMYtgZsAN%}^e|Ak@=l$=;iK_)i{yLxArnB*#yvOB`;#Pq|IkKxVZ^`}Y?$Ako$DK5RTT>R)mi(~uE k0|WL4S_U1O%=VALQC0b~@&xrM3=9kmp00i_>zopr09*;~J^%m! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing.png.mcmeta new file mode 100644 index 000000000..eaf3aa63d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_power_casing_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..65abe574f43960e1260e96be231d054941638813 GIT binary patch literal 1200 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c(%hlzX~3hIn*N4U6{(P89k7 z?w!YWOX+`_v1^YNEsB`gr6ba$^kU)ie;Uj|CHMW-VAL_Du&O>HW=dfn94_HBvP?%li9)z$B}?+d$r&B*T4-)ir_ zAN%_HrcRyu^y$-i^W=o*_MNrh_J0wfnEXk*&192Gw*tIlUX=d+4#TZtfP-VP7va2-@5m<>jxt@V}@x5`6U>dOJ#oM8WP&&<3JQg$c5U(R!IpWJ)yTbXyHCA(PByPVZ~W?suw_x!og+34RD z&+P}9g?IDUO<vYcSWzxe}&kzHdTx7uE!oDVu2q z3!V(nXn89-wd`1URIbv@X@+SRl)i}E`+Pd9Ro_9_a*LCT^6@*dTb)iF3b1%nB%5AS zV|%S+%e?pM8Ye`U-`)vXwe(+-yrr%naDU9qFUq|4?1r+3VX zw{P9rBAsCNQFG27Hpe43Y^Hqt_;KmdrDxBcJ-ydlfH~Zkw_K`Y_1BUwkJE3kE!)5U zeoXxS=nB_Jttahs4!m@dPcMjX3%z>fkEdF>r}y$$z3Gz7)9x*tlH}PZtq~Owv7_X( z)ZD(Gj%VAJF8(Sr>FV8UzpCD(DhLFWm6iRtefjy~7w@Ck%~n1Tsb!nm8MU|iwOR5z z-h0O{CLDWb(Q`R4KI5fKv)EqofP+eM4Vu6IhbtD@esuW3e7<@AuHL_or(O&fZe0>w ze>`=i`z4!(rYxs@@*MRKDjlA@k)JRAq_LgfU~A^ONAI0H{C$u7^jja#x9Nhgh$QFJ zmd_GRJZZD`#<56hcNm8WeZ1cizHHgDisF?)6K0EVs?NxGapoxZ3$7C$3(YI}jNUZP znRzqv%Lj4)Hg`9-Z?7DtXs|keR+`DX=cw?_o@SSSe;VFTeBj=6_UzfGTe*aGCZ6zZ zV$Ef^%od*c@{{7t)nCFKKQky#^I7E2v3LEOtzAJnl57m;zW)B3oSb|?eO_*Bp`;^N|k7wf%bV$=?m TtS(_-U|{fc^>bP0l+XkKOYBUS literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_ctm_n.png new file mode 100644 index 0000000000000000000000000000000000000000..f618836e2bc8bed89a2c1f292cd90b443e60cfce GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfN}eu`ArY-_!yP9vD{|xn z|KpAm)Be11>hzuLiH|1v>~!O|yfOWv<18`VHcri{O`HY|JPr&?(tN~UOB`^1%k#iY zxQ2CGgKh%%4JI(v@xZc)=?ec}^?f`?{O9s6I&W=1d!n}AqhnJTPdeC0syVEj)TyO( zpKqmF6~h{{hgSU_pP8K4{_UQ4X`MHB-vN)_?|0wvIx%>@Wp|Zr%J*`OllEfPJQ;uO zm_<`C!|ruE+@A#7O5IT86ZT>I^5c-x6l=M~uXi)aG!{G;`qiM85z_Ii^^5WMY_^cZ z_Fiiz4`%sS+n4aMNN-5{&~&+J`_n28s>kSdn`1Z1g0$MwYcN!aw0nYj9hEZcJ)BksLfyt NJzf1=);T3K0RUD#R`37- literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_n.png new file mode 100644 index 0000000000000000000000000000000000000000..17163a5b1a19d29c918948961743c063a2c84158 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7HhH=@hFJ72oqSM`Ns-6Z z-iy&JLDw_=_D!#>jg0)&rH>fPcmxt;{%aoipMPi)?{DYO3*HO?r%Vgus^>{eD!!EQ zZ0DNC#XA`ULu^+wJh^+2*~3t1=H8&{30x0a!zZj@l6jvV7yCZ%hLcA_^8a6lx2^0` z&i?zC>mpyL?7WFl^|l^79Q}$%mKr?2Dtc~#fz{l^%m;VPKPW6VU^r5z?fj;=J*3q3 p{e$qMpY-?7*(`l3;H-`ObY|O&ciycJWME)m@O1TaS?83{1OTEeUeEvl literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_power_casing_s.png new file mode 100644 index 0000000000000000000000000000000000000000..a9472dbe1351bc2e3d8fb6461b6c02d9dfab7d61 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7!aZFaLo9mlPTt6Mz=6Yg z{?gNbOW5meVy$BMnOWPL*^DHedL$YQPNWyL1|N9net*M#1q~~Y%U!RXjDtNEr@dOs wdL`~*Nug|5tu^DDcMEEdT}m+h^;7>&(hJ8}|Kbf=3=9kmp00i_>zopr0BqYc!2kdN literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/machines/recipes.casings.js b/kubejs/server_scripts/tfg/machines/recipes.casings.js index 08dcf5c8a..ecdc8cdaa 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.casings.js +++ b/kubejs/server_scripts/tfg/machines/recipes.casings.js @@ -178,5 +178,12 @@ function registerTFGCasingRecipes(event) { .EUt(GTValues.VH[GTValues.LV]) .circuit(2) - + event.recipes.gtceu.assembler('tfg:casings/machine_casing_power_casing') + .itemInputs('gtceu:ostrum_frame', '4x #forge:plates/titanium_tungsten_carbide', '16x #forge:fine_wires/copper', + '16x #forge:fine_wires/tungsten_bismuth_oxide_composite') + .inputFluids(Fluid.of('gtceu:reinforced_epoxy_resin', 288)) + .itemOutputs('2x tfg:machine_casing_power_casing') + .circuit(6) + .duration(2.5 * 20) + .EUt(GTValues.VA[GTValues.EV]) } \ 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 2d6a21215..29dc5e567 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js +++ b/kubejs/server_scripts/tfg/machines/recipes.multiblocks.js @@ -187,4 +187,15 @@ function registerTFGMultiblockRecipes(event) { F: 'gtceu:mv_electric_piston' }).addMaterialInfo().id('gtceu:shaped/coal_liquefaction_tower') + 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') + .inputFluids(Fluid.of('gtceu:ostrum_iodide', 288)) + .itemOutputs('tfg:active_power_transformer') + .duration(300) + .EUt(GTValues.VA[GTValues.EV]) + .circuit(2) + } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 0362ce7d9..e9344dd39 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -123,6 +123,7 @@ const registerTFGBlockTags = (event) => { event.add('forge:mineable/wrench', 'tfg:electromagnetic_accelerator') event.add('forge:mineable/wrench', 'tfg:reflector') event.add('forge:mineable/wrench', 'tfg:machine_casing_aluminium_plated_steel') + event.add('forge:mineable/wrench', 'tfg:machine_casing_power_casing') event.add('minecraft:mineable/pickaxe', 'tfg:mars_ice') event.add('minecraft:mineable/pickaxe', 'tfg:dry_ice') diff --git a/kubejs/startup_scripts/tfg/mars/materials.mars.js b/kubejs/startup_scripts/tfg/mars/materials.mars.js index e03e5dc76..58eeab18a 100644 --- a/kubejs/startup_scripts/tfg/mars/materials.mars.js +++ b/kubejs/startup_scripts/tfg/mars/materials.mars.js @@ -96,6 +96,7 @@ function registerTFGMarsMaterials(event) { event.create("ostrum_iodide") .ingot() + .liquid() .components('2x ostrum', 'iodine') .blastTemp(3700, 'mid', GTValues.VA[GTValues.IV], (20*120)) .iconSet(GTMaterialIconSet.BRIGHT) diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 107407e83..47c0f10df 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -113,7 +113,9 @@ const registerTFGMaterials = (event) => { GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, - GTMaterialFlags.GENERATE_GEAR + GTMaterialFlags.GENERATE_GEAR, + GTMaterialFlags.GENERATE_FOIL, + GTMaterialFlags.GENERATE_FINE_WIRE ) .fluidPipeProperties(4250, 1700, true, false, false, false) diff --git a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js index fdb862127..ca75d5ef3 100644 --- a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js @@ -51,10 +51,10 @@ function registerTFGNuclearBlocks(event) { .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_black') .speedFactor(1.1) - .activeOffset(3.5, 2, 3.5) + .activeOffset(2, 2, 2) .activeVelocity(0.0, 0.0, 0.0) .activeParticle('tfg:cooling_steam') - .activeBase(0.0, 12.5, 0.0) + .activeBase(0.0, 13.5, 0.0) .activeCount(2) .activeForced(false) .hasTicker(true) From b79493883b8635f1799a95c06c3fb9f532dc613c Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sun, 14 Dec 2025 22:56:48 +0000 Subject: [PATCH 339/628] good thing I caught this --- .../minecraft/loot_tables/chests/bastion_hoglin_stable.json | 2 +- kubejs/data/minecraft/loot_tables/chests/bastion_other.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json index 6f43db5cb..3c73933cf 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\"}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\": 1}" } ], "weight": 100 diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json index 6f43db5cb..e43b9d277 100644 --- a/kubejs/data/minecraft/loot_tables/chests/bastion_other.json +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_other.json @@ -217,7 +217,7 @@ }, { "function": "minecraft:set_nbt", - "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\"}" + "tag": "{\"tfc:forging_bonus\": 3, \"GT.Behaviours\":{\"DisableShields\":1, \"TreeFelling\":1}" } ], "weight": 100 From 88824c5282907eb0af9412aee53ea036ed278567 Mon Sep 17 00:00:00 2001 From: woopSmile Date: Sun, 14 Dec 2025 18:19:20 -0500 Subject: [PATCH 340/628] Add colorwheel fall back mode to support TFG 2.0.4 (#2425) title pretty self explanatory Signed-off-by: woopSmile --- config/colorwheel-client.toml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 config/colorwheel-client.toml diff --git a/config/colorwheel-client.toml b/config/colorwheel-client.toml new file mode 100644 index 000000000..6d4ca2af3 --- /dev/null +++ b/config/colorwheel-client.toml @@ -0,0 +1,6 @@ +#Should display a message when an incompatible shaderpack is used. +alertIncompatiblePack = true +#Should display a message when a broken shaderpack is used. +alertBrokenPack = true +#Should fallback mode be used for non supported shaderpacks. +enableFallbackMode = true From dc34dd8b985df7646132160e780bf22193bf9db3 Mon Sep 17 00:00:00 2001 From: woopSmile Date: Sun, 14 Dec 2025 18:24:55 -0500 Subject: [PATCH 341/628] Revert "Add colorwheel fall back mode to support TFG 2.0.4 (#2425)" (#2426) This reverts commit 88824c5282907eb0af9412aee53ea036ed278567. --- config/colorwheel-client.toml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 config/colorwheel-client.toml diff --git a/config/colorwheel-client.toml b/config/colorwheel-client.toml deleted file mode 100644 index 6d4ca2af3..000000000 --- a/config/colorwheel-client.toml +++ /dev/null @@ -1,6 +0,0 @@ -#Should display a message when an incompatible shaderpack is used. -alertIncompatiblePack = true -#Should display a message when a broken shaderpack is used. -alertBrokenPack = true -#Should fallback mode be used for non supported shaderpacks. -enableFallbackMode = true From 5c0842dcffe92ce8ca5cc4401f8f23ef176c3d73 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 00:38:12 +0000 Subject: [PATCH 342/628] added new illager invisible structures and small camps --- CHANGELOG.md | 1 + ...ns_illages.json => avoid_water_large.json} | 0 ...rate_house.json => avoid_water_small.json} | 4 +- .../tfg/loot_tables/chests/illager_camps.json | 379 ++++++++++++++++++ .../structures/illager_generic/gatherers.nbt | Bin 0 -> 369 bytes .../illager_generic/huntmaster_camp.nbt | Bin 0 -> 1642 bytes .../illager_generic/mobs/huntmaster.nbt | Bin 0 -> 1035 bytes .../illager_generic/small_camp_1.nbt | Bin 0 -> 1106 bytes .../illager_generic/small_camp_2.nbt | Bin 0 -> 1117 bytes .../worldgen/structure/illagers/camps.json | 25 ++ .../structure/illagers/forest_roaming.json | 25 ++ .../illagers/norse_village_living.json | 2 +- .../illagers/norse_village_ruined.json | 2 +- .../structure_set/illagers/illager_camps.json | 19 + .../illagers/illager_forest_roaming.json | 19 + .../illagers/camp_start_pool.json | 33 ++ .../illagers/forest_roaming_start_pool.json | 15 + .../template_pool/illagers/mob_gatherer.json | 24 ++ .../illagers/mob_huntmaster.json | 15 + .../tfg/worldgen/tags.overworld.js | 27 ++ 20 files changed, 587 insertions(+), 3 deletions(-) rename kubejs/data/tfg/lithostitched/worldgen_modifier/{contains_illages.json => avoid_water_large.json} (100%) rename kubejs/data/tfg/lithostitched/worldgen_modifier/{contains_temperate_house.json => avoid_water_small.json} (75%) create mode 100644 kubejs/data/tfg/loot_tables/chests/illager_camps.json create mode 100644 kubejs/data/tfg/structures/illager_generic/gatherers.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/huntmaster_camp.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/mobs/huntmaster.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/small_camp_1.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt create mode 100644 kubejs/data/tfg/worldgen/structure/illagers/camps.json create mode 100644 kubejs/data/tfg/worldgen/structure/illagers/forest_roaming.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/camp_start_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/forest_roaming_start_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/mob_gatherer.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/mob_huntmaster.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a549036da..c820029fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - The medical condition effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie #### Other - Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie +- Primitive illagers will no longer endlessly respawn. Instead, now they only spawn as "structures", so once you kill them they will never return. @Pyritie - Doubled the durability of all space suits @Pyritie - Added a way to convert between vinegar and acetic acid (#2386) @Epicificator - Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg diff --git a/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_illages.json b/kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_large.json similarity index 100% rename from kubejs/data/tfg/lithostitched/worldgen_modifier/contains_illages.json rename to kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_large.json diff --git a/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json b/kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_small.json similarity index 75% rename from kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json rename to kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_small.json index 620e0a23a..5e692b623 100644 --- a/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json +++ b/kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_small.json @@ -1,7 +1,9 @@ { "type": "lithostitched:set_structure_spawn_condition", "structures": [ - "tfg:temperate/plains_temperate_house_0" + "tfg:temperate/plains_temperate_house_0", + "tfg:illagers/camps", + "tfg:illagers/forest_roaming" ], "spawn_condition": { "type": "lithostitched:grid", diff --git a/kubejs/data/tfg/loot_tables/chests/illager_camps.json b/kubejs/data/tfg/loot_tables/chests/illager_camps.json new file mode 100644 index 000000000..70b923fb9 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/illager_camps.json @@ -0,0 +1,379 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:wool", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wool_yarn", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9, + "min": 5 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/light_gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:sentry_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:vex_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:wild_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:coast_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/salt", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/saltpeter", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/sulfur", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/light_gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 20, + "min": 12 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/compost", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/guano", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/honey", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:groundcover/pumice", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:conifer_rosin", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:beeswax", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:flint", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:tricalcium_phosphate_dust", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:charcoal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:glue", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "chalk:gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "chalk:light_gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "species:music_disc_lapidarian", + "weight": 10 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/structures/illager_generic/gatherers.nbt b/kubejs/data/tfg/structures/illager_generic/gatherers.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5f000a202845afbeaab59c4ef65a591b26861dc5 GIT binary patch literal 369 zcmb2|=3oGW|93-9`yDnAh*7UqSt-!r{ZMzkOt_o|8nBo7(rc5{YZy zHa?hrqxY`FM`pJ#7X)of666=1_P=o0e|q1Gh0ODd&6l0_pWbJ&O!-#&+bE`mr!1NT z7i)GTMtQpKJji-pYwpsWVRaWB{t0r#Cxn{YZcd4}Qb3e~S*MfTtD^~qfZTt~u9lkvxxer4iS@5byr(@Z|8nBuRI@!_{FJxr+GhN} b=kspD$CGzwxgWYIy@xrvGwGWJ8v_FXm!z*k literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/huntmaster_camp.nbt b/kubejs/data/tfg/structures/illager_generic/huntmaster_camp.nbt new file mode 100644 index 0000000000000000000000000000000000000000..c3dcea4f5f373fe94f663f2544e4fd162b91fc27 GIT binary patch literal 1642 zcmb2|=3oGW|4(O~?YnIz(6G{e{afE%w?$l=pWX1z*Sm20-YgMDt}U(&Ym%>2vVM!3RYA-iz3K_|Ph;*0}_wLe6F z(3cbZMibeck2dp&@;~e7VwcpKcOrT14dwGE0zN7@?^Kt|R&>7l@JO;;%8Dr0wl2w; zj(p7@ZMd5{k3Zwo|L$5~=WlY3MedA3`$r4m$}=G2+piz6-FauZ_`8o5!W9Nntc@mu zZEe5aGDBUanE$xsDOt%=vNId24bBC;Ti70M@=UbXcuM$_hoY57dd@tk^gTAS@%q)L zanJT7@vpyem|JpH*u;f*g!?NdZQR;acr1PGk>-WxT24mHdtBJ|$*Jv>vC);v4xUmu zCFi;ACjzS7IsR;CIv?=vM8RH#lq?>}S38xRZOc>G-d#RzJh|At?KSHhYoi$b2X`iV z+U(g8cVMUT;jc{RKu(feCth$~R&rf@!Mob`55e?_0^8PN_qL*b+dC5mI0ak*y4M@hj$Af+@1Ka3MR16t)lI9;hgIKM~!3p zAK&?1>;E0(*mcJX-)($wH~HXh<-=bs&e?t}a0e-am?wO2x3cq2e;Xu&%Tsp9l|QWe z_Is1Xwe}AQO#EtJ5?0*5Ke5wx#*yZQcbNGhenKX{UpNd7lvA>j?`&-$0rc)~0fcdC zuYG+b)Pvx_S$Jn67=c{myi*yJaKHfr3Y+(#MNqadraf%$HlH?LSbM%$Z&6kzbK%z2 z;STE-?d&k#c{Nz@w)5H}o3~Dk-ulY!#=h+RXZtrZebU~emiN|b_wDSxQB$nqGdK_Y z>AkqsXj{P9kUM(4Yc~1r(&{;tvrtTaV|E3Vy2 z$x?lm^et+3%-%_*%FC2=!XEupSoKb6tLsV!75%UKR(yJxJU3pB`|Wz$xpr#;Liks0 zx+Np`U#9cN_D6>eYft)z<=#I3ExCOEm1|S|#LrJ}7D;ynb+x8S?%Y;@7C>>{PXv^j*$7*K>hO{JnmTi5&!w`>A8@%Z|&{s{> z{mh^H-}Jmb-MslP!}81RO+O;De~0ZlI{$WQ-Sx1b%^IhIo}F4UVd5^y&c~mH+Gg(l z_I``3am3e?KUOKOv)U;1Z1bbl``ETu%}m?Xbw74<_+74b_TO$&7613R&v6F- zU|TJj6&G@fs}f86%>uUCNj9&U^5H{Lc3Ht!SKd8m8nZ7w`*-2iybG7vj!RFx`qh=` zqmOO8%&ISOOP5v!EalkOd@%Ln3(r#aOTX)8o#w4GODy;Dlj1n>_FUl3V6ENm^|SsY zHP2;V?aQbewJlvu=0aw)#|F;j1=|bGe4MiXUtrWv>p3iZBL4qH{xeOATpN5qoq+)W DUvWaJ literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/mobs/huntmaster.nbt b/kubejs/data/tfg/structures/illager_generic/mobs/huntmaster.nbt new file mode 100644 index 0000000000000000000000000000000000000000..66352151f5965d37dfd8ca6856620f86de8e68f3 GIT binary patch literal 1035 zcmb2|=3w~fWS`0Kzc%E2zO<`IUH1CBcYU4i25D>w?YzQ0HDKYRG|rg+2RxUkZ1oA6 z;IQV{?&RuQcW0)iT|4IZhf$QhZ;qzZE5<;+sSn(aOq71qbc9tvNSrTbN2pf5%|F3e z9Nw$Ho~zEk_kG{@ec}v19%z+0bTcH#rT_c3@Q$}ji974FB^;_tJD2^CSMHh_@R?x- z>&*54KWo~&d@S>Q=07HlPxHPlSkoyJz`H#7Sf+|+e0b)pm!0fOZ#Nb4&J*!;s^a{5 z;B1SB--no&#(tA7EQ^Vr#W`8xh^N=XKc7rQ_ZkSv*l(S{_#?NGVU|kp1INar0g=1z zr7^o6TXrs3(sRYND;Gizc$c4D`rnuJ^W$W37J-r_CsthP(Q46FSuAtV=%8Z9(HZSt zPpUFLRb(U_)7@~V^76Y9zl@frTXXud_ph(1`g-wr!0+3)vg>7HYJSd@uiGkP{lJ{_ z{`sVoDy=QifbJv{Xear{V-oExdlq_Yfy5dT;*NHO?YnH!Qn0sl# zx~(aDW1>6W?RoJv^&<1Bl_?juhV*1~eQnWNY@*kETcPV(T~+C?=nbVmD-z_b^^Pr6 zsc}e8G>_Y|^yh>39W%a4PMx;MXo~KhTkiM&M0}M~as805bah&6Nd#kgef{dx4R-&h zSEsJu<@xU4=Dk(tYkz-|IdoG`O!rdh)QN`i?>XmbM?A2;ZvHuN?zdDSJ{8G_)p2JI zH{UngXZ8Kzp`T5qVYAX6PS|uXpk1YJ=0PLwNR9)IS9R@93G3YSG3Q!zWkSnGhCNf3 zrMXOb`Qzo;m{-S+eBpj>eRfURG-v4pOAQ|?KAbpnoeQ`eF_rtgT7^*7 zA3jNb@ixmIr8$;2#SR#Eb{MXF(EX~gg+od!P;X{H=rQ*Ufug49C6=~DX$#NKZRk|F zIYDHhQEhv9#H0m0>BX(Jw(C7h0z!r5E?U@3IzMw`>9U#1)2>{o>DFwUB3W6|dNuIm zi%lON#NCVwTj{-IL+he!K0&t7WAFC0t+o2~f7ITK(R`HDDsqWj66Zlj%k^SWft-tRc-n{gE{+{a6f4Si|T75Q&EYEW} z?6K(1MwZa0DJPPG7`C5Psr@7IH7{t(WX{LTPs(|xyRfq-*xwd&QjR$9Gw-gjsz!d$ zq!)>Q|CM|!N$Y<8q4ZxjQqF!1q-*|*%dAJ?ZT!DmtHIMKiz2d zc;dt-7B{`m|IOX|W@o+H)Hf&k-kv<;&E3l8r1SIg<>kx2v#B{ZFmf!n*JNqjaPYAdXZA2h!O>H8okTNp8Wb4I#E<3koU z>l%xL?ZPz`x8wW`7BxE_itBu7WxefZf_3qO$#btg^sGB~Yo=cM#b-TleZuP)g3f<8 zjwR$=OS)UZGnRBeIH6*pd{C0}oJWCM)8>p~yZrQD zzgC}*6qv($P_nH4_so5AN93L#`SMlan}u(!wDmx+QCi{V@Y=`fDpOo zn!kPLHe|_Bvuiij&s}P>C+>yY)Ub1Zt{(E~x@400qW7%g?~Ibiirbg1d%7gdvSX>C z>7H+!UwO6f^olg^>z=cH*~%h`vn9%}lU5gOnP_T1;X!p|n(uW?*YR(|T(O^cIu|9^@f zdU|P#-+%w?ngc!F1x3CL4}1H$N{)Y{iCm(A=N~g3FZ2HS zMiM?-zaG4@^X-o!XE`_L6V9e@r^!z_w&L$p!GE!dY+bLZ?sjph{EinV$E+Bt_*6>|GsM}kD6lk?)UrNZrqY~*JkO;C&_2u zi$C4Pu}X2z&RHv$h2-tw+n#yt=);V>HNm%cE}7$^&YU{`{qV6HcMI~rtuS%=JN5Hj@%E`(X4|ctoa~!iTG7+qGL!Ao)lD~|-dtOr ze){94fPm|(R$T2})mS^7`P#3G2cN7hJCOHqe&!tZ-ou+JzkPaJ%BR4;*~*Cj{N{`O amrmbz@^%x@``56a@z#nN8y|}^FaQARi8fRK literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt b/kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..6119022e5e2df415f006bceef29551d8302552cd GIT binary patch literal 1117 zcmb2|=3oGW|9fXR=HE6GX_)V!HSukkCL7PuZMQeaDVKRF{%$YflytWoloc=kM#b0u>Ye=hF#o9k&WtT?03_-(p|lHc)}bFZJD zd7gFIW8v?{&US(G{Y&DK(=Ai}o|$0$^7GCE8yM5OJ}l&ze?Wl6c#8A2=gz-p_MH#4 zzx;9MyY#kK>)UHH%H&V`JCXPnF@0_;e_U) znM!kD#8*pokR{F*#x2Iq7S5l`=SaSGw0a~nW24*><#U3EESn0SAL#k|U`BCEff`48 z6P)NOSjLeKCDJ(3+X^5=?YWPYXEz5w=k{qyXtT>^ZBv?|_?+XR%nZfn2YPDlWQzL) z&api7K@fuHL>~G;37&^%1kQnpHRmfY{r}6f%wct_?}JlCu^im`*Eb2xeCA!fJFMFz zc&c>NQsIvK+L4hSTeQ6QX}B`230u{o|8~=ksd?)JZk_q7v~}aopj#>i(WknmzYKg- zDLuMPJ`~x7?s|^_)}Lanc?QCuHKboT!eJ*!Mc6>eheXR+;i=hfZc` zYi)1+d-=M^4gF7tlhYo_uZ@uZS9<7A&B`_YXFooSzmZzDJ6LP}^i?y`wG(r;ZWKJS z{_3(#|7;F7y+{_H&>!ni$bDy_(dpIJT;cX>{$43GpS=C4+cW#`s&|*ayXkZ?DD3EZ zqus^@E9Rf~%6qeW()-qLo9m2z{a$acdFM*h9;<_zdp`W||MTyvTX_4+`|@&fNi%jn zx#m>7`{JUrueaWJS*z1}Qt88SgDJD8){7oinSRSEIJxifZ04K2ZiRR)%)`5q_7=blp_Hb?YJX2gc%W0v5F^nP)G3 zqZOO~sbnF)yUe|RyLdxRC8b_=`dmA!Fm`t>`wMOP#TVAGe)7p}o%g)y`8<<#H=6(o%Pdfigo{K++g`tW^p0z$CL+7wwjXR({HY- ze7q*W@A9fGCFVPY14Lu;UwxTyF|Be(tY7%frd`6Bn%fq&yx7f>p*epJ^Zw~iNo o7dw8}SD|q8CFB0^OK*6$|1rNFEZ6e9{($|Y6Nh5Yh%+z%0OaX28UO$Q literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/worldgen/structure/illagers/camps.json b/kubejs/data/tfg/worldgen/structure/illagers/camps.json new file mode 100644 index 000000000..1c97dd910 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure/illagers/camps.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:jigsaw", + "start_pool": "tfg:illagers/camp_start_pool", + "size": 3, + "max_distance_from_center": 50, + "biomes": "#tfg:has_structure/illager_camp", + "step": "surface_structures", + "terrain_adaptation": "beard_thin", + "start_height": { + "absolute": 0 + }, + "project_start_to_heightmap": "MOTION_BLOCKING", + "use_expansion_hack": false, + "adapt_noise": true, + "spawn_overrides": { + "creature": { + "bounding_box": "full", + "spawns": [] + }, + "monster": { + "bounding_box": "full", + "spawns": [] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure/illagers/forest_roaming.json b/kubejs/data/tfg/worldgen/structure/illagers/forest_roaming.json new file mode 100644 index 000000000..d4ebf1721 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure/illagers/forest_roaming.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:jigsaw", + "start_pool": "tfg:illagers/forest_roaming_start_pool", + "size": 3, + "max_distance_from_center": 12, + "biomes": "#tfg:has_structure/illager_roaming", + "step": "surface_structures", + "terrain_adaptation": "beard_thin", + "start_height": { + "absolute": 0 + }, + "project_start_to_heightmap": "MOTION_BLOCKING", + "use_expansion_hack": false, + "adapt_noise": true, + "spawn_overrides": { + "creature": { + "bounding_box": "full", + "spawns": [] + }, + "monster": { + "bounding_box": "full", + "spawns": [] + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json index 6f79900ef..a61dd11c0 100644 --- a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json +++ b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_living.json @@ -1,7 +1,7 @@ { "type": "minecraft:jigsaw", "start_pool": "tfg:illagers/norse_village_living_start_pool", - "size": 4, + "size": 5, "max_distance_from_center": 116, "biomes": "#tfg:has_structure/illages", "step": "surface_structures", diff --git a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json index 85e8d895a..249966a32 100644 --- a/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json +++ b/kubejs/data/tfg/worldgen/structure/illagers/norse_village_ruined.json @@ -1,7 +1,7 @@ { "type": "minecraft:jigsaw", "start_pool": "tfg:illagers/norse_village_ruined_start_pool", - "size": 4, + "size": 5, "max_distance_from_center": 116, "biomes": "#tfg:has_structure/illages", "step": "surface_structures", diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json new file mode 100644 index 000000000..4096f4a32 --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json @@ -0,0 +1,19 @@ +{ + "structures": [ + { + "structure": "tfg:illagers/camps", + "weight": 100 + } + ], + "placement": { + "type": "tfc:climate", + "salt": 96263635, + "spacing": 40, + "separation": 30, + "climate": { + "min_temperature": -12, + "max_temperature": 25, + "max_forest": "edge" + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json new file mode 100644 index 000000000..7f55a757a --- /dev/null +++ b/kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json @@ -0,0 +1,19 @@ +{ + "structures": [ + { + "structure": "tfg:illagers/forest_roaming", + "weight": 100 + } + ], + "placement": { + "type": "tfc:climate", + "salt": 74256242524, + "spacing": 35, + "separation": 25, + "climate": { + "min_temperature": -12, + "max_temperature": 25, + "min_forest": "edge" + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/camp_start_pool.json b/kubejs/data/tfg/worldgen/template_pool/illagers/camp_start_pool.json new file mode 100644 index 000000000..520cebad0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/camp_start_pool.json @@ -0,0 +1,33 @@ +{ + "name": "tfg:illagers/camp_start_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/small_camp_1", + "processors": "minecraft:empty", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/small_camp_2", + "processors": "minecraft:empty", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/huntmaster_camp", + "processors": "minecraft:empty", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/forest_roaming_start_pool.json b/kubejs/data/tfg/worldgen/template_pool/illagers/forest_roaming_start_pool.json new file mode 100644 index 000000000..003ed5a50 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/forest_roaming_start_pool.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:illagers/forest_roaming_start_pool", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/gatherers", + "processors": "minecraft:empty", + "projection": "terrain_matching", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/mob_gatherer.json b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_gatherer.json new file mode 100644 index 000000000..8c6aab2f1 --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_gatherer.json @@ -0,0 +1,24 @@ +{ + "name": "tfg:illagers/mob_gatherer", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/mobs/forager", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + }, + { + "weight": 70, + "element": { + "location": "tfg:illager_generic/mobs/herbalist", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/template_pool/illagers/mob_huntmaster.json b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_huntmaster.json new file mode 100644 index 000000000..fed392c0b --- /dev/null +++ b/kubejs/data/tfg/worldgen/template_pool/illagers/mob_huntmaster.json @@ -0,0 +1,15 @@ +{ + "name": "tfg:illagers/mob_huntmaster", + "fallback": "minecraft:empty", + "elements": [ + { + "weight": 100, + "element": { + "location": "tfg:illager_generic/mobs/huntmaster", + "processors": "minecraft:empty", + "projection": "rigid", + "element_type": "minecraft:single_pool_element" + } + } + ] +} \ 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 7bd81d8d9..594d832ca 100644 --- a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js +++ b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js @@ -22,6 +22,33 @@ function registerTFGOverworldBiomeTags(event) { event.add('tfg:has_structure/illages', 'tfc:plateau') event.add('tfg:has_structure/illages', 'tfc:old_mountains') + event.add('tfg:has_structure/illager_camp', 'tfc:badlands') + event.add('tfg:has_structure/illager_camp', 'tfc:canyons') + event.add('tfg:has_structure/illager_camp', 'tfc:highlands') + event.add('tfg:has_structure/illager_camp', 'tfc:hills') + event.add('tfg:has_structure/illager_camp', 'tfc:inverted_badlands') + event.add('tfg:has_structure/illager_camp', 'tfc:low_canyons') + event.add('tfg:has_structure/illager_camp', 'tfc:lowlands') + event.add('tfg:has_structure/illager_camp', 'tfc:mountains') + event.add('tfg:has_structure/illager_camp', 'tfc:oceanic_mountains') + event.add('tfg:has_structure/illager_camp', 'tfc:old_mountains') + event.add('tfg:has_structure/illager_camp', 'tfc:plains') + event.add('tfg:has_structure/illager_camp', 'tfc:plateau') + event.add('tfg:has_structure/illager_camp', 'tfc:rolling_hills') + event.add('tfg:has_structure/illager_camp', 'tfc:salt_marsh') + event.add('tfg:has_structure/illager_camp', 'tfc:shore') + event.add('tfg:has_structure/illager_camp', 'tfc:tidal_flats') + event.add('tfg:has_structure/illager_camp', 'tfc:volcanic_mountains') + event.add('tfg:has_structure/illager_camp', 'tfc:volcanic_oceanic_mountains') + + event.add('tfg:has_structure/illager_roaming', 'tfc:highlands') + event.add('tfg:has_structure/illager_roaming', 'tfc:hills') + event.add('tfg:has_structure/illager_roaming', 'tfc:lowlands') + event.add('tfg:has_structure/illager_roaming', 'tfc:plains') + event.add('tfg:has_structure/illager_roaming', 'tfc:plateau') + event.add('tfg:has_structure/illager_roaming', 'tfc:rolling_hills') + event.add('tfg:has_structure/illager_roaming', 'tfc:salt_marsh') + event.add('tfg:never_has_structure/illages', '#tfc:is_lake') event.add('tfg:never_has_structure/illages', '#tfc:is_ocean') event.add('tfg:never_has_structure/illages', '#tfc:is_river') From 001c8c3e36ad0352ceb1cdc86b6f3a32fdadf3f9 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 00:44:15 +0000 Subject: [PATCH 343/628] added the new structures to the CL --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c820029fa..b879cef1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ - Added some distant horizons config options, for those who want to use it (#2406) @Mqrius - More animals now drop animal fat (#2367) @Pyritie - Nerfed how much biomass and plant balls are produced from certain vanilla plants (#2361) @Pyritie +- Added some more ruined structures with a small bit of loot. ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix From 60ca14c696c533da7a64f5df8e04a6963595f392 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 00:44:54 +0000 Subject: [PATCH 344/628] pakku --- pakku-lock.json | 167 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) diff --git a/pakku-lock.json b/pakku-lock.json index 4f7eaa97c..4bd5e8588 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12359,6 +12359,67 @@ } ] }, + { + "pakku_id": "oO0Fr45i8SO2Lg2x", + "type": "RESOURCE_PACK", + "side": "CLIENT", + "slug": { + "curseforge": "tfc-ambiental-refreshed", + "modrinth": "tfc-ambiental-refreshed" + }, + "name": { + "curseforge": "TFC Ambiental Refreshed", + "modrinth": "TFC Ambiental Refreshed" + }, + "id": { + "curseforge": "1379694", + "modrinth": "RVuHApuv" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "TFC_Ambiental_Refreshed_1.18-1.21.1.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7223/628/TFC_Ambiental_Refreshed_1.18-1.21.1.zip", + "id": "7223628", + "parent_id": "1379694", + "hashes": { + "sha1": "73561b96df5b4ead380bdca8f01db3ae11f63daf", + "md5": "df3d1a50ea8f109f29939a722fb084a3" + }, + "required_dependencies": [], + "size": 458406, + "date_published": "2025-11-15T06:25:33.587Z" + }, + { + "type": "modrinth", + "file_name": "TFC_Ambiental_Refreshed_1.18-1.21.1.zip", + "mc_versions": [ + "1.18.2", + "1.20.1", + "1.21.1" + ], + "loaders": [ + "minecraft" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/RVuHApuv/versions/SAxnWzwK/TFC_Ambiental_Refreshed_1.18-1.21.1.zip", + "id": "SAxnWzwK", + "parent_id": "RVuHApuv", + "hashes": { + "sha512": "f272ba3bc3c97bc0156b61a3a44d36b7e0bcbd2d85479fa4182fb85c858745737266ca63215490198c125a6e5b626baf449c07eb9d1d5e0bb2a72ab60e209fb9", + "sha1": "73561b96df5b4ead380bdca8f01db3ae11f63daf" + }, + "required_dependencies": [], + "size": 458406, + "date_published": "2025-11-15T06:27:57.385Z" + } + ] + }, { "pakku_id": "73uV6QykaOBW9DSj", "type": "RESOURCE_PACK", @@ -12987,6 +13048,75 @@ } ] }, + { + "pakku_id": "ajFTZODDe9JA6OiW", + "pakku_links": [ + "64uacGcEw697jVGs" + ], + "type": "MOD", + "side": "SERVER", + "slug": { + "curseforge": "tfc-ruins", + "modrinth": "tfc-ruins" + }, + "name": { + "curseforge": "TFC Ruins - Structures for TerraFirmaCraft", + "modrinth": "TFC Ruins" + }, + "id": { + "curseforge": "1383031", + "modrinth": "2JRpLCvK" + }, + "redistributable": false, + "files": [ + { + "type": "curseforge", + "file_name": "tfc_ruins-1.0.1-forge-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/7270/344/tfc_ruins-1.0.1-forge-1.20.1.jar", + "id": "7270344", + "parent_id": "1383031", + "hashes": { + "sha1": "a3759bcb6545195e680121c145608eeefc70a18a", + "md5": "008d9c033ab830c67a77576a64277232" + }, + "required_dependencies": [ + "302973" + ], + "size": 62230, + "date_published": "2025-11-28T08:18:23.587Z" + }, + { + "type": "modrinth", + "file_name": "tfc_ruins-1.0.1-forge-1.20.1.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/2JRpLCvK/versions/upy38bFL/tfc_ruins-1.0.1-forge-1.20.1.jar", + "id": "upy38bFL", + "parent_id": "2JRpLCvK", + "hashes": { + "sha512": "d2d7d1426215e6252281a53daf56127f66a27da20f7c5160d7275a1326197961998f1df05d1917beb6f792ff211108ec845f624b2bc2ad78f2901a3b70426b2b", + "sha1": "a3759bcb6545195e680121c145608eeefc70a18a" + }, + "required_dependencies": [ + "JaCEZUhg" + ], + "size": 62230, + "date_published": "2025-11-28T08:17:29.408127Z" + } + ] + }, { "pakku_id": "LPHqtA4kbNpa7ADR", "pakku_links": [ @@ -14306,6 +14436,43 @@ } ] }, + { + "pakku_id": "Z3KE8gJoOsh7EQNZ", + "type": "RESOURCE_PACK", + "side": "CLIENT", + "slug": { + "curseforge": "terrafirmacraft-vexxed-visuals", + "modrinth": "vexxed-visuals-terrafirmacraft" + }, + "name": { + "curseforge": "Vexxed Visuals: TerraFirmaCraft", + "modrinth": "Vexxed Visuals: TerraFirmaCraft" + }, + "id": { + "curseforge": "664832", + "modrinth": "TAEibNyf" + }, + "files": [ + { + "type": "curseforge", + "file_name": "Vexxed_Visuals_TFC_v1.2.7.1.zip", + "mc_versions": [ + "1.20.1" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/5538/604/Vexxed_Visuals_TFC_v1.2.7.1.zip", + "id": "5538604", + "parent_id": "664832", + "hashes": { + "sha1": "d0ff9540d2980b59664feacfa451b3f928416fcf", + "md5": "d05b7f0c083e73019634a6e914666db9" + }, + "required_dependencies": [], + "size": 29693735, + "date_published": "2024-07-16T20:02:30.937Z" + } + ] + }, { "pakku_id": "ExgdsZjG51N3WrBe", "pakku_links": [ From c7d73a805d78533520f560e2ac687edaf9ba1acf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 01:29:07 +0000 Subject: [PATCH 345/628] hid the other greate things, hid the rest of the swine-steel tool heads --- CHANGELOG.md | 3 +- kubejs/startup_scripts/greate/constants.js | 126 ++++++++++----------- kubejs/startup_scripts/gtceu/constants.js | 20 +++- 3 files changed, 84 insertions(+), 65 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b879cef1b..c84ebb745 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ - The medicines have also been rebalanced, so some of the stronger ones come with a downside, while the weaker ones have a stronger cure effect. - The medical condition effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie #### Other -- Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie +- Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie @Epicificator - Primitive illagers will no longer endlessly respawn. Instead, now they only spawn as "structures", so once you kill them they will never return. @Pyritie - Doubled the durability of all space suits @Pyritie - Added a way to convert between vinegar and acetic acid (#2386) @Epicificator @@ -28,6 +28,7 @@ - More animals now drop animal fat (#2367) @Pyritie - Nerfed how much biomass and plant balls are produced from certain vanilla plants (#2361) @Pyritie - Added some more ruined structures with a small bit of loot. +- Added some resource packs for TFC, disabled by default ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index f6921813e..5155df690 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -3,15 +3,15 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ "create:andesite_alloy", - "gtceu:steel_alloy", - "gtceu:aluminium_alloy", - "gtceu:stainless_steel_alloy", - "gtceu:titanium_alloy", - "gtceu:tungsten_steel_alloy", - "gtceu:rhodium_plated_palladium_alloy", - "gtceu:naquadah_alloy_alloy", - "gtceu:darmstadtium_alloy", - "gtceu:neutronium_alloy", + "greate:steel_alloy", + "greate:aluminium_alloy", + "greate:stainless_steel_alloy", + "greate:titanium_alloy", + "greate:tungsten_steel_alloy", + "greate:rhodium_plated_palladium_alloy", + "greate:naquadah_alloy_alloy", + "greate:darmstadtium_alloy", + "greate:neutronium_alloy", "gtceu:neutronium_whisk", "greate:polyethylene_belt_connector", @@ -94,66 +94,66 @@ global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ "greate:neutronium_vertical_gearbox", // Adding these here because they're greate's fault - "gtceu:andesite_alloy_bucket", - "gtceu:andesite_alloy_ring", - "gtceu:tiny_andesite_alloy_dust", - "gtceu:small_andesite_alloy_dust", - "gtceu:andesite_alloy_dust", - "gtceu:andesite_alloy_plate", - "gtceu:double_andesite_alloy_plate", - "gtceu:andesite_alloy_nugget", - "gtceu:andesite_alloy_rotor", - "gtceu:andesite_alloy_whisk", - "gtceu:andesite_alloy_bolt", - "gtceu:andesite_alloy_ingot", - "gtceu:andesite_alloy_rod", - "gtceu:andesite_alloy_screw", - "gtceu:andesite_alloy_buzz_saw_blade", - "gtceu:andesite_alloy_block", - "gtceu:andesite_alloy_buzzsaw", + "greate:andesite_alloy_bucket", + "greate:andesite_alloy_ring", + "greate:tiny_andesite_alloy_dust", + "greate:small_andesite_alloy_dust", + "greate:andesite_alloy_dust", + "greate:andesite_alloy_plate", + "greate:double_andesite_alloy_plate", + "greate:andesite_alloy_nugget", + "greate:andesite_alloy_rotor", + "greate:andesite_alloy_whisk", + "greate:andesite_alloy_bolt", + "greate:andesite_alloy_ingot", + "greate:andesite_alloy_rod", + "greate:andesite_alloy_screw", + "greate:andesite_alloy_buzz_saw_blade", + "greate:andesite_alloy_block", + "greate:andesite_alloy_buzzsaw", - "gtceu:refined_radiance_bucket", - "gtceu:tiny_refined_radiance_dust", - "gtceu:small_refined_radiance_dust", - "gtceu:refined_radiance_dust", - "gtceu:refined_radiance_plate", - "gtceu:double_refined_radiance_plate", - "gtceu:refined_radiance_nugget", - "gtceu:refined_radiance_bolt", - "gtceu:refined_radiance_ingot", - "gtceu:refined_radiance_rod", - "gtceu:refined_radiance_screw", - "gtceu:long_refined_radiance_rod", - "gtceu:refined_radiance_block", + "greate:refined_radiance_bucket", + "greate:tiny_refined_radiance_dust", + "greate:small_refined_radiance_dust", + "greate:refined_radiance_dust", + "greate:refined_radiance_plate", + "greate:double_refined_radiance_plate", + "greate:refined_radiance_nugget", + "greate:refined_radiance_bolt", + "greate:refined_radiance_ingot", + "greate:refined_radiance_rod", + "greate:refined_radiance_screw", + "greate:long_refined_radiance_rod", + "greate:refined_radiance_block", - "gtceu:chromatic_compound_bucket", - "gtceu:tiny_chromatic_compound_dust", - "gtceu:small_chromatic_compound_dust", - "gtceu:chromatic_compound_dust", - "gtceu:chromatic_compound_nugget", - "gtceu:chromatic_compound_ingot", - "gtceu:chromatic_compound_block", + "greate:chromatic_compound_bucket", + "greate:tiny_chromatic_compound_dust", + "greate:small_chromatic_compound_dust", + "greate:chromatic_compound_dust", + "greate:chromatic_compound_nugget", + "greate:chromatic_compound_ingot", + "greate:chromatic_compound_block", - "gtceu:shadow_steel_bucket", - "gtceu:tiny_shadow_steel_dust", - "gtceu:small_shadow_steel_dust", - "gtceu:shadow_steel_dust", - "gtceu:shadow_steel_plate", - "gtceu:double_shadow_steel_plate", - "gtceu:shadow_steel_nugget", - "gtceu:shadow_steel_bolt", - "gtceu:shadow_steel_ingot", - "gtceu:shadow_steel_rod", - "gtceu:shadow_steel_screw", - "gtceu:long_shadow_steel_rod", - "gtceu:shadow_steel_block" + "greate:shadow_steel_bucket", + "greate:tiny_shadow_steel_dust", + "greate:small_shadow_steel_dust", + "greate:shadow_steel_dust", + "greate:shadow_steel_plate", + "greate:double_shadow_steel_plate", + "greate:shadow_steel_nugget", + "greate:shadow_steel_bolt", + "greate:shadow_steel_ingot", + "greate:shadow_steel_rod", + "greate:shadow_steel_screw", + "greate:long_shadow_steel_rod", + "greate:shadow_steel_block" ]); global.GREATE_DISABLED_FLUIDS = /** @type {const} */ ([ - "gtceu:andesite_alloy", - "gtceu:refined_radiance", - "gtceu:chromatic_compound", - "gtceu:shadow_steel" + "greate:andesite_alloy", + "greate:refined_radiance", + "greate:chromatic_compound", + "greate:shadow_steel" ]); global.GREATE_DISABLED_TAGS = /** @type {const} */ ([ diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index cb8f215f1..69fb165d4 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -123,7 +123,7 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:damascus_steel_plate", "gtceu:double_damascus_steel_plate", "gtceu:damascus_steel_gear", - "gtceu:damascus_steel_buzzsaw_blade", + "gtceu:damascus_steel_buzz_saw_blade", "gtceu:damascus_steel_drill_head", "gtceu:damascus_steel_chainsaw_head", "gtceu:damascus_steel_bolt", @@ -141,6 +141,24 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ "gtceu:lv_damascus_steel_chainsaw", "gtceu:damascus_steel_buzzsaw", "gtceu:damascus_steel_bucket", + "gtceu:damascus_steel_wire_cutter_head", + "gtceu:lv_damascus_steel_wire_cutter", + "gtceu:hv_damascus_steel_wire_cutter", + "gtceu:iv_damascus_steel_wire_cutter", + "gtceu:damascus_steel_butchery_knife_head", + "gtceu:damascus_steel_sword_head", + "gtceu:damascus_steel_screwdriver_tip", + "gtceu:damascus_steel_file_head", + "gtceu:damascus_steel_spade_head", + "gtceu:damascus_steel_mining_hammer_head", + "gtceu:damascus_steel_hoe_head", + "gtceu:damascus_steel_hammer_head", + "gtceu:damascus_steel_knife_head", + "gtceu:damascus_steel_pickaxe_head", + "gtceu:damascus_steel_axe_head", + "gtceu:damascus_steel_saw_head", + "gtceu:damascus_steel_shovel_head", + "gtceu:damascus_steel_scythe_head", "gtceu:molten_black_bronze_bucket", "gtceu:molten_bismuth_bronze_bucket", From 18e21133667946dbebccb90e8c34137f13ff9f8e Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sun, 14 Dec 2025 21:27:11 -0600 Subject: [PATCH 346/628] Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c84ebb745..2f0bd64a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,7 @@ - Fixed a recipe conflict for boiled and fried eggs (#2407) @Mqrius - Fixed a recipe conflict blocking the crafting of silicone rubber (#2387) @Mqrius - Fixed the backpack and QuarkTech helmet auto-feeding from feeding you while you're downed @Mqrius +- Fixed Ostrum Casing not having a recipe (#2363) @FlightingFalcon ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra From 389c084ee5bb07a1fca0e03f1c01234c171dd326 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sun, 14 Dec 2025 22:07:11 -0600 Subject: [PATCH 347/628] Fix error in duration of packing flax Potential cause of server crash Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/tfg/primitive/recipes.cloth.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js index 6d8a1d59f..624402e90 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js @@ -116,14 +116,14 @@ function registerTFGClothRecipes(event) { event.recipes.gtceu.packer('tfg:packer/flax_bundle') .itemInputs('9x tfg:flax_product') .itemOutputs('tfg:flax_bundle') - .duration('100') + .duration(100) .EUt(GTValues.VA[GTValues.ULV]) event.shapeless('1x tfg:bundled_scraped_flax', ['9x tfg:flax_waste']) event.recipes.gtceu.packer('tfg:packer/bundled_scraped_flax') .itemInputs('9x tfg:flax_waste') .itemOutputs('tfg:bundled_scraped_flax') - .duration('100') + .duration(100) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.tfc.scraping( @@ -252,4 +252,4 @@ function registerTFGClothRecipes(event) { .duration(100) .EUt(4) //#endregion -} \ No newline at end of file +} From cfe7ad1b6fdba422c26ef88aefcf456ac7a141e8 Mon Sep 17 00:00:00 2001 From: FlightingFalcon <100160941@ccisd.net> Date: Mon, 15 Dec 2025 05:19:15 -0600 Subject: [PATCH 348/628] fixed ostrum machine casing recipe (#2427) Signed-off-by: FlightingFalcon <100160941@ccisd.net> Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index 5562aac3f..ce0b60834 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -432,7 +432,7 @@ function registerTFGNuclearRecipes(event) { //#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') @@ -440,6 +440,7 @@ 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') From 0e415d81f5b7aa532c7c2af4594a0421ce46a99e Mon Sep 17 00:00:00 2001 From: Mqrius Date: Mon, 15 Dec 2025 12:19:44 +0100 Subject: [PATCH 349/628] Fix toolUsed being referenced before definition (#2428) Oops #2419 Signed-off-by: Mqrius --- kubejs/server_scripts/tfg/events.interactions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfg/events.interactions.js b/kubejs/server_scripts/tfg/events.interactions.js index 45a9276a9..963d0160d 100644 --- a/kubejs/server_scripts/tfg/events.interactions.js +++ b/kubejs/server_scripts/tfg/events.interactions.js @@ -506,11 +506,11 @@ BlockEvents.rightClicked(event => { BlockEvents.broken(event => { const { server, item, player, block } = event; + let toolUsed = player.mainHandItem; + if (!block.hasTag('tfc:mineable_with_sharp_tool') || !toolUsed.hasTag('tfc:sharp_tools')) { return; } - - let toolUsed = player.mainHandItem; if (!player.isCreative()) { toolUsed.damageValue++; From 0f3b4df9734bf2bb03d8a6c1ff9e5077e0585125 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 13:45:05 +0000 Subject: [PATCH 350/628] langs --- kubejs/assets/beneath/lang/zh_cn.json | 2 +- kubejs/assets/gtceu/lang/en_us.json | 12 +- kubejs/assets/gtceu/lang/ja_jp.json | 11 +- kubejs/assets/gtceu/lang/uk_ua.json | 4 +- kubejs/assets/gtceu/lang/zh_cn.json | 12 +- kubejs/assets/tacz/lang/en_us.json | 8 +- kubejs/assets/tacz/lang/zh_cn.json | 4 + kubejs/assets/tfclunchbox/lang/ja_jp.json | 8 +- kubejs/assets/tfg/lang/en_us.json | 34 ++- kubejs/assets/tfg/lang/ja_jp.json | 353 ++++++++++++++++++---- kubejs/assets/tfg/lang/zh_cn.json | 38 ++- 11 files changed, 379 insertions(+), 107 deletions(-) diff --git a/kubejs/assets/beneath/lang/zh_cn.json b/kubejs/assets/beneath/lang/zh_cn.json index 74d646d27..73bfe44ee 100644 --- a/kubejs/assets/beneath/lang/zh_cn.json +++ b/kubejs/assets/beneath/lang/zh_cn.json @@ -263,7 +263,7 @@ "block.beneath.warped_thatch": "诡异干草块", "block.beneath.crimson_thatch": "绯红干草块", "block.beneath.hellbricks": "地狱砖", - "tfc.recipe.barrel.tfc.barrel.mortar": "灰泥", + "tfc.recipe.barrel.tfc.barrel.mortar": "砂浆", "item.beneath.cursed_hide": "耐火皮革", "item.beneath.blackstone_brick": "辉石岩砖", "item.beneath.cursecoal": "无烟煤", diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index d8a884d40..af50b8063 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -14,7 +14,7 @@ "block.gtceu.ostrum_harvester": "Ostrum Harvester", "block.gtceu.moon_dust_harvester": "Moon Dust Harvester", "block.tfg.ostrum_linear_accelerator": "Ostrum Linear Accelerator", - "block.gtceu.coal_liquefaction_tower": "Coal Liquefaction Tower", + "block.gtceu.coal_liquefaction_tower": "Liquefaction Tower", "block.gtceu.ulv_super_tank": "Basic Super Tank", "block.gtceu.ulv_super_chest": "Basic Super Chest", "block.gtceu.ulv_hermetic_casing": "Basic Hermetic Casing", @@ -50,7 +50,7 @@ "gtceu.ostrum_linear_accelerator": "Ostrum Linear Accelerator", "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", - "gtceu.coal_liquefaction_tower": "Coal Liquefaction", + "gtceu.coal_liquefaction_tower": "Liquefaction Tower", "gtceu.smr_generator": "Small Modular Turbine", "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", @@ -67,8 +67,8 @@ "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", "gtceu.tooltip.machine.steam_bloomery_4": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Carbon Smoothie Maker§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas fuels from carbonic solids and creosote§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", "item.gtceu.wood_dust": "Softwood Pulp", @@ -210,8 +210,8 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "Martian Heavy Ammoniacal Water Deposit", "gtceu.jei.bedrock_fluid.liquid_ice": "Martian Ice Deposit", "gtceu.recipe.category.ingot_molding": "Material Molding", - "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", - "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower, Moon and Ostrum Harvesters:§r", + "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven, Liquefaction Tower and Nuclear Fuel Factory:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Moon and Ostrum Harvesters:§r", "tooltip.moldraw.shift_view": "§7§oHold (Shift) for Molecular Structure§r", "tagprefix.sword_head": "%s Sword Head", "tagprefix.pickaxe_head": "%s Pickaxe Head", diff --git a/kubejs/assets/gtceu/lang/ja_jp.json b/kubejs/assets/gtceu/lang/ja_jp.json index 7cdfb7d50..92adeb03e 100644 --- a/kubejs/assets/gtceu/lang/ja_jp.json +++ b/kubejs/assets/gtceu/lang/ja_jp.json @@ -14,6 +14,7 @@ "block.gtceu.ostrum_harvester": "オストラムハーベスター", "block.gtceu.moon_dust_harvester": "ムーンハーベスター", "block.tfg.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", + "block.gtceu.coal_liquefaction_tower": "液化塔", "block.gtceu.ulv_super_tank": "基本型スーパータンク", "block.gtceu.ulv_super_chest": "基本型スーパーチェスト", "block.gtceu.ulv_hermetic_casing": "基本気密外装", @@ -49,6 +50,8 @@ "gtceu.ostrum_linear_accelerator": "オストラムリニアアクセラレーター", "gtceu.bioreactor": "Bioreactor", "gtceu.growth_chamber": "Growth Chamber", + "gtceu.coal_liquefaction_tower": "液化塔", + "gtceu.smr_generator": "Small Modular Turbine", "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", @@ -64,8 +67,8 @@ "gtceu.tooltip.machine.steam_bloomery_2": "§7Processes Iron-bearing Dusts or Ingots into Raw Iron Blooms.§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7Fueling it with Coke or Anthracite will double the output.§r", "gtceu.tooltip.machine.steam_bloomery_4": "§7Can process up to 8 recipes at once, which changes how much Steam is required.§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Carbon Smoothie Maker§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas fuels from carbonic solids and creosote§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r", "item.gtceu.tiny_wood_dust": "極小の木のパルプ", "item.gtceu.small_wood_dust": "小さな木のパルプ", "item.gtceu.wood_dust": "木のパルプ", @@ -139,6 +142,7 @@ "material.gtceu.ostrum": "オストラム", "material.tfg.calorite": "カロライト", "material.tfg.etrium": "エトリウム", + "material.gtceu.tarkianite": "タキアン鉱", "material.gtceu.aluminium_silicate": "ケイ酸アルミニウム", "material.gtceu.rocket_alloy_t1": "R-AS ロケット合金", "material.gtceu.rocket_alloy_t2": "ASM-4914 チタニウムロケット合金", @@ -197,6 +201,7 @@ "item.gtceu.tool.tooltip.repair_material": "", "gtceu.machine.lp_steam_extractor.tooltip": "§7Does not extract fluids", "gtceu.machine.hp_steam_extractor.tooltip": "§7Does not extract fluids", + "gtceu.jei.bedrock_fluid.nether_natural_gas_deposit": "Beneath Natural Gas Deposit", "gtceu.jei.bedrock_fluid.moon_helium": "ヘリウム", "gtceu.jei.bedrock_fluid.moon_helium_3": "ヘリウム3", "gtceu.jei.bedrock_fluid.moon_argon": "アルゴン", @@ -205,6 +210,8 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "アンモニア交じりの重水", "gtceu.jei.bedrock_fluid.liquid_ice": "氷", "gtceu.recipe.category.ingot_molding": "Material Molding", + "block.gtceu.wire_coil.tooltip_pyro": "§8Pyrolyse Oven and Nuclear Fuel Factory:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8Cracking Unit, Coal Liquefaction Tower, Moon and Ostrum Harvesters:§r", "tagprefix.sword_head": "%s製剣身", "tagprefix.pickaxe_head": "%s製ピッケルの頭", "tagprefix.shovel_head": "%s製シャベルの頭", diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json index 076d84661..31a9abeb0 100644 --- a/kubejs/assets/gtceu/lang/uk_ua.json +++ b/kubejs/assets/gtceu/lang/uk_ua.json @@ -64,8 +64,8 @@ "gtceu.tooltip.machine.steam_bloomery_2": "§7Переробляє залізовмісний пил або злитки у сирі залізні криці.§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7Використання коксу чи антрациту як палива подвоїть вихід.§r", "gtceu.tooltip.machine.steam_bloomery_4": "§7Може обробляти до 8 рецептів одночасно, що змінює кількість необхідної пари.§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Carbon Smoothie Maker§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas fuels from carbonic solids and creosote§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7Smoothie Maker§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7Extracts gas and liquids from carbonic solids§r", "item.gtceu.tiny_wood_dust": "Маленька купа хвойної целюлози", "item.gtceu.small_wood_dust": "Мала купа хвойної целюлози", "item.gtceu.wood_dust": "Хвойна целюлоза", diff --git a/kubejs/assets/gtceu/lang/zh_cn.json b/kubejs/assets/gtceu/lang/zh_cn.json index 6df9134cd..48a78abd1 100644 --- a/kubejs/assets/gtceu/lang/zh_cn.json +++ b/kubejs/assets/gtceu/lang/zh_cn.json @@ -14,7 +14,7 @@ "block.gtceu.ostrum_harvester": "紫金采集器", "block.gtceu.moon_dust_harvester": "月壤采集器", "block.tfg.ostrum_linear_accelerator": "紫金线性加速器", - "block.gtceu.coal_liquefaction_tower": "煤炭液化塔", + "block.gtceu.coal_liquefaction_tower": "液化塔", "block.gtceu.ulv_super_tank": "基础超级缸", "block.gtceu.ulv_super_chest": "基础超级箱", "block.gtceu.ulv_hermetic_casing": "基础密封机械方块", @@ -50,7 +50,7 @@ "gtceu.ostrum_linear_accelerator": "紫金线性加速器", "gtceu.bioreactor": "生物反应器", "gtceu.growth_chamber": "生长室", - "gtceu.coal_liquefaction_tower": "煤炭液化", + "gtceu.coal_liquefaction_tower": "液化塔", "gtceu.smr_generator": "小型模块化涡轮", "gtceu.tooltip.machine.moon_dust_harvester_1": "§7地外真空吸尘器§r", "gtceu.tooltip.machine.moon_dust_harvester_2": "§7根据所处生物群系无限采集风化土粉尘。§r", @@ -67,8 +67,8 @@ "gtceu.tooltip.machine.steam_bloomery_2": "§7将含铁矿粉或锭加工成生铁方坯。§r", "gtceu.tooltip.machine.steam_bloomery_3": "§7使用焦煤或无烟煤可倍增产量。§r", "gtceu.tooltip.machine.steam_bloomery_4": "§7支持最多8组配方并行处理,相应调整蒸汽需求。§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7碳素奶昔制造机§r", - "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7从碳质固体与杂酚油中提取气体燃料§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_1": "§7奶昔制造机§r", + "gtceu.tooltip.machine.coal_liquefaction_tower_2": "§7从碳质固体中提取燃气和流体§r", "item.gtceu.tiny_wood_dust": "小撮软木浆", "item.gtceu.small_wood_dust": "小堆软木浆", "item.gtceu.wood_dust": "软木浆", @@ -210,8 +210,8 @@ "gtceu.jei.bedrock_fluid.heavy_ammoniacal_water": "火星重氨水矿藏", "gtceu.jei.bedrock_fluid.liquid_ice": "火星冰矿藏", "gtceu.recipe.category.ingot_molding": "压模", - "block.gtceu.wire_coil.tooltip_pyro": "§8热解炉与核燃料工厂:§r", - "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,煤炭液化塔,月壤和紫金采集器:§r", + "block.gtceu.wire_coil.tooltip_pyro": "§8热解炉,液化塔与核燃料工厂:§r", + "block.gtceu.wire_coil.tooltip_cracking": "§8裂化机,月壤和紫金采集器:§r", "tooltip.moldraw.shift_view": "§7§o按住(Shift)查看分子结构§r", "tagprefix.sword_head": "%s剑身", "tagprefix.pickaxe_head": "%s镐头", diff --git a/kubejs/assets/tacz/lang/en_us.json b/kubejs/assets/tacz/lang/en_us.json index 396fff866..8eeb7035a 100644 --- a/kubejs/assets/tacz/lang/en_us.json +++ b/kubejs/assets/tacz/lang/en_us.json @@ -6,6 +6,8 @@ "applied_armorer.attachment.extended_mid_mag_aa_1.name": "Fluix Grooved Magazine", "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9Fluix Grooved Magazine", "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§dFluix Grooved Magazine", + "applied_armorer.ammo.cluster_quartz_bullet.name": "§bCluster Quartz Shell", + "applied_armorer.ammo.etched_quartz_bullet.name": "§bEtched Quartz Bullet", "applied_armorer.attachment.si_pricision.name": "§aPrecision Scope", "applied_armorer.attachment.si_double_sided_mirror.name": "\"Double Sided Mirror\" Scope", "applied_armorer.attachment.si_ms_12.name": "§aMS-12 Scope", @@ -24,12 +26,14 @@ "create_armorer.attachment.extended_mag_ca_1.name": "Invar Magazine", "create_armorer.attachment.extended_mag_ca_2.name": "Copper Plated Magazine", "create_armorer.attachment.extended_mag_ca_3.name": "Brass Plated Magazine", - "create_armorer.ammo.rbapb.name": "Rimmed Blunt Ammo", + "create_armorer.ammo.slap.name": "SLAP Bullet", + "create_armorer.ammo.rbapb.name": "Rimmed Blunt Bullet", "create_armorer.gun.pistol_auto_stress": "\"Stress\" Semi Pistol", "create_armorer.gun.mg_platemag_flywheel": "\"Flywheel\" Machine Gun", "create_armorer.gun.rifle_assult_crane": "\"Crane\" Assault Rifle", "create_armorer.gun.sniper_semi_clockwork": "\"Clockwork\" Rifle", - "tacz.ammo.30_06.name": ".30-06 SLAP Ammo", + "tacz.ammo.30_06.name": ".30-06 SLAP Bullet", + "tacz.ammo.12g.name": "12 Gauge Shell", "tacz.gun.m700.name": "\"Clutch\" Sniper Rifle", "item.tacz.ammo_box.iron": "Steel Ammo Box", "item.tacz.ammo_box.gold": "§9Magnalium Ammo Box", diff --git a/kubejs/assets/tacz/lang/zh_cn.json b/kubejs/assets/tacz/lang/zh_cn.json index d152e2b2b..f7be0fbb7 100644 --- a/kubejs/assets/tacz/lang/zh_cn.json +++ b/kubejs/assets/tacz/lang/zh_cn.json @@ -6,6 +6,8 @@ "applied_armorer.attachment.extended_mid_mag_aa_1.name": "福鲁伊克斯凹槽弹匣", "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9福鲁伊克斯凹槽弹匣", "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§d福鲁伊克斯凹槽弹匣", + "applied_armorer.ammo.cluster_quartz_bullet.name": "§b集束石英弹", + "applied_armorer.ammo.etched_quartz_bullet.name": "§b蚀刻石英弹", "applied_armorer.attachment.si_pricision.name": "§a精密瞄准镜", "applied_armorer.attachment.si_double_sided_mirror.name": "“双面镜”瞄准镜", "applied_armorer.attachment.si_ms_12.name": "§aMS-12瞄准镜", @@ -24,12 +26,14 @@ "create_armorer.attachment.extended_mag_ca_1.name": "殷钢弹匣", "create_armorer.attachment.extended_mag_ca_2.name": "镀铜弹匣", "create_armorer.attachment.extended_mag_ca_3.name": "镀黄铜弹匣", + "create_armorer.ammo.slap.name": "脱壳穿甲弹", "create_armorer.ammo.rbapb.name": "凸缘式钝头弹", "create_armorer.gun.pistol_auto_stress": "“重压”半自动手枪", "create_armorer.gun.mg_platemag_flywheel": "“飞轮”机枪", "create_armorer.gun.rifle_assult_crane": "“鹤式”突击步枪", "create_armorer.gun.sniper_semi_clockwork": "“发条”步枪", "tacz.ammo.30_06.name": ".30-06脱壳穿甲弹", + "tacz.ammo.12g.name": "12号霰弹", "tacz.gun.m700.name": "“擒纵”狙击步枪", "item.tacz.ammo_box.iron": "钢弹药盒", "item.tacz.ammo_box.gold": "§9镁铝合金弹药盒", diff --git a/kubejs/assets/tfclunchbox/lang/ja_jp.json b/kubejs/assets/tfclunchbox/lang/ja_jp.json index 928c0fb96..7eaf303f1 100644 --- a/kubejs/assets/tfclunchbox/lang/ja_jp.json +++ b/kubejs/assets/tfclunchbox/lang/ja_jp.json @@ -2,13 +2,13 @@ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", "item.tfclunchbox.cooling_lunchbox": "保冷ランチボックス", "item.tfclunchbox.lunchbox": "ランチボックス", - "item.tfclunchbox.electric_lunchbox": "電気ランチボックス", + "item.tfclunchbox.electric_lunchbox": "電動ランチボックス", "gui.tfclunchbox.cooling_lunchbox": "保冷ランチボックス", "gui.tfclunchbox.lunchbox": "ランチボックス", - "gui.tfclunchbox.electric_lunchbox": "電気ランチボックス", + "gui.tfclunchbox.electric_lunchbox": "電動ランチボックス", "container.tfclunchbox.cooling_lunchbox": "保冷ランチボックス", "container.tfclunchbox.lunchbox": "ランチボックス", - "container.tfclunchbox.electric_lunchbox": "電気ランチボックス", + "container.tfclunchbox.electric_lunchbox": "電動ランチボックス", "item.tfclunchbox.cooling_lunchbox.main": "中身を新鮮に保ってくれる、冒険のお供", "item.tfclunchbox.electric_lunchbox.main": "電気の力で食品を冷蔵保存する最先端の弁当箱", "tooltip.tfclunchbox.cooling_lunchbox.hold_shift": "§eShift§7で詳細を表示", @@ -23,7 +23,7 @@ "tooltip.tfclunchbox.ice_slots_help.line2": "§b•氷ブロック類", "tooltip.tfclunchbox.ice_slots_help.line3": "§b•ドライアイス", "tooltip.tfclunchbox.ice_slots_help.line4": "§b•氷泥入りセル", - "tooltip.tfclunchbox.ice_slots_help.line5": "§7入れるとランチボックス内食物を保冷してくれます", + "tooltip.tfclunchbox.ice_slots_help.line5": "§7入れるとランチボックス内の食料を保冷してくれます", "tooltip.tfclunchbox.battery_slot_help": "バッテリースロット", "tooltip.tfclunchbox.battery_slot_help.line1": "§7使用可能:", "tooltip.tfclunchbox.battery_slot_help.line2": "§e•Gregtechのバッテリー", diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 9346bd07b..aec60da07 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -588,6 +588,8 @@ "block.tfg.casings.heat_pipe_casing": "Heat Pipe Casing", "block.tfg.glacian_wool_frame": "Framed Glacian Wool", "block.tfg.aes_insulation_frame": "Framed AES Insulation", + "block.tfg.machine_casing_power_casing": "Insulated Power Casing", + "block.tfg.active_power_transformer": "Active Energy Transformer", "block.tfg.sand.fluorapatite.blue": "Blue Fluorapatite Sand", "block.tfg.sandstone.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone Wall", @@ -1054,6 +1056,9 @@ "item.tfg.rough_endoplasmic_reticula": "Rough Endoplasmic Reticula", "item.tfg.alpha_keratin": "α-Keratin", "item.tfg.progenitor_cells": "Progenitor Cells", + "item.tfg.catalyser_pt_re_zsm": "Catalyser Pt-Re ZSM-5", + "item.tfg.used_catalyser": "Used Catalyser Pt-Re ZSM-5", + "item.tfg.loaded_resin": "Re-Loaded Resin", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", @@ -1207,6 +1212,17 @@ "material.tfg.tin_chloride": "Stannous Chloride", "material.tfg.cyclohexanone": "Cyclohexanone", "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxide", + "material.tfg.aciditic_waste": "Aciditic Waste", + "material.tfg.propylene": "Propylene", + "material.tfg.tpaoh": "Tetrapropylammonium Hydroxide", + "material.tfg.sodium_silicate": "Sodium Silicate", + "material.tfg.metal_rich_solution": "Metal Rich Solution", + "material.tfg.crude_mixed_gas": "Crude Mixed Gas", + "material.tfg.zsm5_gel": "ZSM-5 Gel", + "material.tfg.leachate": "Rhenium Leachate", + "material.tfg.clean_powder": "Re-Silicate Clean Powder", + "material.tfg.catalyser_powder": "Catalyser Re ZSM-5 Powder", + "material.tfg.sodium_aluminium": "Sodium Aluminium", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -2285,7 +2301,7 @@ "quests.gregtech_energy.syngas.desc": "The &eSyngas&r is a new TFG gas fuel. You can unlock it very early at &8ULV&r and use it in your first &6Gas Turbines&r during &7LV&r. It is not a particularly strong fuel, but it can be transformed into valuable byproducts such as &eLubricant&r, &eMethane&r, and &eHydrogen&r.\n\nEven though it is not the most powerful option and can be difficult to scale, using only three &6Coke Ovens&r and one &6Brewery&r or &6Vacuum Chamber&r you can produce a steady supply that should be sufficient to reach &bMV&r and unlock the far stronger &eReformate Gas&r.", "quests.gregtech_energy.reformate_gas.title": "Reformate Gas", "quests.gregtech_energy.reformate_gas.subtitle": "Is that reformate Benzene?", - "quests.gregtech_energy.reformate_gas.desc.1": "The &9Reformate Gas&r is a strong and new gas fuel taking the usual role of Benzene at &bMV&r.\n\nTo produce it, you will need to build a &6Coal Liquefaction Tower&r and obtain some &5Rhenium&r from the &6Tarkianite&r veins found only in dry and hot climates. Two &6Pyrolyse Ovens&r — one producing Creosote and the other Wood Tar — will provide all the materials required to generate this fuel. Remember that you can produce steam with a &6Fluid Heater&r if you want to simplify the setup.", + "quests.gregtech_energy.reformate_gas.desc.1": "The &9Reformate Gas&r is a strong and new gas fuel taking the usual role of Benzene at &bMV&r.\n\nTo produce it, you will need to build a &6Liquefaction Tower&r and obtain some &5Rhenium&r from the &6Tarkianite&r veins found only in dry and hot climates. Two &6Pyrolyse Ovens&r — one producing Creosote and the other Wood Tar — will provide all the materials required to generate this fuel. Remember that you can produce steam with a &6Fluid Heater&r if you want to simplify the setup.", "quests.gregtech_energy.reformate_gas.desc.2": "It is also important to consider the improved yield available at &6HV&r when using a &6Cracker&r. This will allow you to loop most of your &5Rhenium&r, making Reformate Gas effectively an infinite fuel.\n\nAdding &9Nitrogen&r and &9Hydrogen&r to the process will further strengthen your production throughput.", "quests.gregtech_energy.btx.title": "BTX", "quests.gregtech_energy.btx.subtitle": "Not a korean band", @@ -2889,7 +2905,7 @@ "quests.medium_voltage.mv_miner.desc.3": "&cNote:&r Do not forget to &dchunkload&r all 9 chunks of the ore vein &7(open the map, claim the chunks with ctrl left-click, and enable force loading after claiming them)&r.\n\n&9Tip:&r You can either use an &3ME Chest&r, a &3Backpack&r, or a &3GT Crate&r as the output inventory to make transporting the ores back home a simple task. The &3ME Chest&r can be powered with EU directly, by the way.", "quests.medium_voltage.mv_miner.task": "Any miner", "quests.medium_voltage.mv_component.title": "The MV Components", - "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in previous tier?", + "quests.medium_voltage.mv_component_.subtitle": "Hated crafting these in the previous tier?", "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...", @@ -2963,7 +2979,7 @@ "quests.medium_voltage.mv_benzene.desc.3": "&l&3Lore:&r&o Benzene has been one of the most powerful gas fuels since GTCEu - so good that it became a meme. Nowadays, its days are numbered everywhere.", "quests.medium_voltage.reformate_gas.title": "The Reformate Church", "quests.medium_voltage.reformate_gas.subtitle": "When one giant falls, a new one arises", - "quests.medium_voltage.reformate_gas.desc": "The &8Reformate Gas&r is your new go-to gas fuel at &bMV&r if that's the path you want to take. For perfect efficiency, you only need &61 Coal Liquefaction Tower&r and &62 Pyrolyze Ovens&r, and you can start producing this precious gas non-stop.\n\nOh wait, first you need to find &5Rhenium&r, a new material only found within the hot and dry region of &7TerraFirmaCraft&r. The amounts consumed are so low that one vein should last you to the end of the modpack, or at the very least to &6HV&r, where - with the help of the &6Cracker&r - this gas can become truly infinite.", + "quests.medium_voltage.reformate_gas.desc": "The &8Reformate Gas&r is your new go-to gas fuel at &bMV&r if that's the path you want to take. For perfect efficiency, you only need &61 Liquefaction Tower&r and &62 Pyrolyze Ovens&r, and you can start producing this precious gas non-stop.\n\nOh wait, first you need to find &5Rhenium&r, a new material only found within the hot and dry region of &7TerraFirmaCraft&r. The amounts consumed are so low that one vein should last you to the end of the modpack, or at the very least to &6HV&r, where - with the help of the &6Cracker&r - this gas can become truly infinite.", "quests.medium_voltage.mv_light_fuel.title": "Light Fuel", "quests.medium_voltage.mv_light_fuel.subtitle": "Turn up the lights in here, baby", "quests.medium_voltage.mv_light_fuel.desc": "Distillating &aOil&r will give you Fuel that you will need to desulfurize.\n\n&aHydrogen Sulfide&r is perfectly &drecycled&r in an &3Electrolyzer&r.\n\nTo automate this process, simply place your &3Chemical Reactor&r and your &3Electrolyzer&r next to each other. Be sure to use your &5Screwdriver&r to &4enable input from the output side&r.\n\n&aLight Fuel&r is a good &9Power&r option, but there's something even greater... check the Quest to the left.", @@ -2972,10 +2988,10 @@ "quests.medium_voltage.mv_diesel.desc.1": "&aDiesel&r is a &dOil-based &9Combustion Fuel&r.\n\nTo mix &aLight Fuel&r and &aHeavy Fuel&r, the right ratio for &3Distilleries&r is &63:2&r from &dOil&r or &dRaw Oil&r.\n\nThis would necessitate 3 Distilleries for Light Fuel, or 2 Distilleries for Heavy Fuel.", "quests.medium_voltage.mv_diesel.desc.2": "You can cut the amount of &dOil&r required &6drastically&r by using &dHeavy Oil&r for &aHeavy Fuel&r specifically. &dOilsands&r is a great option if you wish to go down this route!\n\n&o(For the math nerds, you go from 8.33 Oil -> 6 Diesel, to 5 Oil + 0.4 Heavy Oil -> 6 Diesel)&r\n\n&eNote:&r Do &cnot attempt&r to put Oil in the &3Distillation Tower&r You might think it's a good idea because it gives both Light Fuel and Heavy Fuel. However, this process requires a lot of overclocking to be worth your time, and you will lose more energy than what the byproducts are worth.", "quests.medium_voltage.mv_diesel.desc.3": "In general, it is better to prioritize placing down more machines (&dparallelisation&r) over overclocking the recipes. That way, you end up losing less energy processing the resources.\n\n&aDiesel&r is burned in a &3Combustion Generator&r. It can be further refined to &6Cetane-Boosted Diesel&r in &6HV&r. Compared to the other power sources, it is generally more efficient, but a more demanding processing line. If you take the &eOil&r route for &aPolyethylene&r, this can work great with existing infrastructure. Ultimately, the power source you want to use is your choice.", - "quests.medium_voltage.coal_tower.title": "Coal Liquefaction Tower", + "quests.medium_voltage.coal_tower.title": "Liquefaction Tower", "quests.medium_voltage.coal_tower.subtitle": "Who doesn't love new Multiblocks", - "quests.medium_voltage.coal_tower.desc.1": "The &bCoal Liquefaction Tower&r is a new &bmultiblock&r used in the process of making &aReformate Gas&r and its byproducts, &7Coal Tar&r and &7Syngas&r. Depending on the &9Coil&r you use, you will get a discount on the &7EU/t&r cost of every recipe. Simply use shift-click while hovering on a coil to know its bonuses.\n\nNotice that the &9Coal Liquefaction Tower&r can be boosted by using &8Hydrogen&r, reducing the duration and therefore the cost. Don't forget to set the right &6circuit&r so it works.\n\nBy the way, if you don't know, a second is 20 ticks. So the amount it consumes per tick has to be multiplied by 20 to know how much it consumes per second.", - "quests.medium_voltage.coal_tower.desc.2": "&l&3Lore:&r&o The same person who made the Fission Reactor also made the first design of the Coal Liquefaction Tower, isn't it crazy.", + "quests.medium_voltage.coal_tower.desc.1": "The &bLiquefaction Tower&r is a new &bmultiblock&r used in the process of making &aReformate Gas&r and its byproducts, &7Coal Tar&r and &7Syngas&r. Depending on the &9Coil&r you use, you will get a discount on the &7recipe duration&r of every recipe. Simply use shift-click while hovering on a coil to know its bonuses.\n\nNotice that the &9Liquefaction Tower&r can be boosted by using &8Hydrogen&r, reducing the duration and therefore the cost. Don't forget to set the right &6circuit&r so it works.\n\nBy the way, if you don't know, a second is 20 ticks. So the amount it consumes per tick has to be multiplied by 20 to know how much it consumes per second.", + "quests.medium_voltage.coal_tower.desc.2": "&l&3Lore:&r&o The same person who made the Fission Reactor also made the first design of the Liquefaction Tower, isn't it crazy.", "quests.medium_voltage.mv_jetpack.title": "I Believe I Can Fly", "quests.medium_voltage.mv_jetpack.subtitle": "...well, almost Fly", "quests.medium_voltage.mv_jetpack.desc": "This Jetpack takes most &aCombustion Fuels&r (excluding oils) to enable a primitive form of flight.\n\nFill it like you would fill a Drum, or with a &3Canning Machine&r.\n\nPress &4H&r (default) to enable Hover Mode.", @@ -3096,8 +3112,8 @@ "quests.medium_voltage.mv_jetpack_2.desc": "This jetpack enables flight, and requires energy.\n\nCharge it like you would charge a Battery.\n\nPress &4H&r (default) to enable Hover Mode.\n\n&o&8(Yeah, yeah, a jetpack is supposed to work off propellants. Y'all are always here to nitpick.)&r", "quests.medium_voltage.mv_cutter.title": "Advanced Cutter", "quests.medium_voltage.mv_cutter.subtitle": "Upgrades, people, upgrades!", - "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note : You could use the &6Greate&r &7version, it has now a tank to fill with it fluid&r&r", - "quests.medium_voltage.mv_cutter.task": "Any Brewery", + "quests.medium_voltage.mv_cutter.desc": "The &3MV Cutter&r is required to cut &7Silicon Boules&r to prepare them for &aLaser Engraving&r.\n\nWe recommend you supply this machine with a steady stream of &dLubricant&r to cut down on the processing time.\n\nLubricant can be &3brewed&r from &eOil&r and &aTalc&r, &2Soapstone&r or &cRedstone&r.\n\n&7Note: You could use the &6Greate&r &7version, it has a tank to fill with fluid&r", + "quests.medium_voltage.mv_cutter.task": "Any Cutter", "quests.medium_voltage.mv_laser_engraver.title": "Laser Engraving", "quests.medium_voltage.mv_laser_engraver.subtitle": "This is peak technology, this is slow also", "quests.medium_voltage.mv_laser_engraver.desc": "The &3Laser Engraver&r engraves patterns into &9Silicon Wafers&r based on the type of &9Lens&r it is given. After the wafers are engraved, they must be passed through a &3Cutting Machine&r to turn them into components ready to be put into Circuits.\n\nHigher tier Engravers can etch more complex wafers for more efficient Circuits.", @@ -3105,7 +3121,7 @@ "quests.medium_voltage.mv_silicon_boule.subtitle": "These wafers are fully fungible", "quests.medium_voltage.mv_silicon_boule.desc": "&9Silicon Boules&r are made in the &3EBF&r with half a stack of &aSilicon Dust&r and a pinch of &aGallium Arsenide&r. Their primary purpose is engraving &6Circuit Wafers&r.\n\nAfter making the Boule, process it in the &3Cutter&r to get 16 Silicon Wafers ready for engraving.\n\n&cWarning:&r Each Silicon Boule takes &47.5 minutes&r to make at 120 EU/t, or 1,080,000 EU! If the EBF loses power midway, the recipe will start to &close progress&r.\n\nWith that being said, Silicon Boules take an absolute age to craft, so consider parallelizing the recipe in multiple &3EBF&rs and stockpiling them.", "quests.medium_voltage.mv_silicon.title": "Silicon Dust", - "quests.medium_voltage.mv_silicon.subtitle": "", + "quests.medium_voltage.mv_silicon.subtitle": "Sillycon", "quests.medium_voltage.mv_silicon.desc.1": "You’ll need to get used to it: in &dGregTech&r, there are always &amultiple ways&r to reach what you want—a philosophy we made sure to preserve in &aTerrafirmaGreg&r.\n\nTo obtain &5Silicon&r, we’ll suggest &ctwo main methods&r so you have clear directions. As always, it’s up to you to figure out what’s &abest for your situation&r.", "quests.medium_voltage.mv_silicon.desc.2": "First method: &amining silicon-rich ores&r. Look for &9Mica&r or &9Kyanite&r veins—they also contain &dAluminium&r. Alternatively, you can &aElectrolyze Zeolite Dust&r, found in &9Chalcopyrite&r and &dRealgar&r veins.\n\nSecond method: &eAdvanced but powerful&r. Although more expensive to set up and slower early on, it becomes the &ebest method&r at &6HV&r and beyond. Plus, it generates &9Oxygen&r as a bonus! The idea is simple: &aElectrolyze Silicon Dioxide Dust&r into &9Oxygen&r and &5Silicon&r. You can get &aSilicon Dioxide Dust&r by &9centrifuging Flint Dust&r, which itself comes from &9Flint&r collected by &asifting Gravel&r.\n\nThis setup can become &afully passive&r easily. Try using the &aEMI Recipe Tree&r tool (bottom left of your screen) to plan your builds—it really helps!", "quests.medium_voltage.mv_ulpic.title": "ULPIC Chips", diff --git a/kubejs/assets/tfg/lang/ja_jp.json b/kubejs/assets/tfg/lang/ja_jp.json index 2afad311c..ed838b82c 100644 --- a/kubejs/assets/tfg/lang/ja_jp.json +++ b/kubejs/assets/tfg/lang/ja_jp.json @@ -141,8 +141,8 @@ "block.tfg.granite_support": "花崗岩の梁", "block.tfg.pyroxenite_support_horizontal": "輝岩の梁", "block.tfg.pyroxenite_support": "輝岩の梁", - "block.tfg.Migmatite_support_horizontal": "混成岩の梁", - "block.tfg.Migmatite_support": "混成岩の梁", + "block.tfg.migmatite_support_horizontal": "混成岩の梁", + "block.tfg.migmatite_support": "混成岩の梁", "block.tfg.travertine_support_horizontal": "鍾乳石の梁", "block.tfg.travertine_support": "鍾乳石の梁", "block.tfg.glacian_support": "グラシアンの梁", @@ -419,6 +419,8 @@ "block.tfg.rock.cut_red_sandstone_wall": "研がれた赤鉄質の砂岩の塀", "block.tfg.rock.raw.stromatolite": "ストロマトライト", "block.tfg.rock.spike.stromatolite": "ストロマトライトのつらら石", + "block.tfg.stromatolite_cluster_small": "小さいストロマトライトの塊", + "block.tfg.stromatolite_cluster_medium": "大きいストロマトライトの塊", "block.tfg.rock.raw.geyserite": "ガイザライト", "block.tfg.rock.spike.geyserite": "ガイザライトのつらら石", "block.tfg.mushroom_roots": "キノコの根", @@ -437,8 +439,8 @@ "block.tfg.pile.mars_sand_covering": "粘土質岩の砂", "block.tfg.pile.venus_sand": "粗面岩の砂", "block.tfg.pile.venus_sand_covering": "粗面岩の砂", - "block.tfg.pile.Hematitic_sand": "赤鉄質の砂", - "block.tfg.pile.Hematitic_sand_covering": "赤鉄質の砂", + "block.tfg.pile.hematitic_sand": "赤鉄質の砂", + "block.tfg.pile.hematitic_sand_covering": "赤鉄質の砂", "block.tfg.lunar_roots": "月光のライトブルーム", "block.tfg.lunar_sprouts": "月光のライトグラス", "block.tfg.lunar_chorus_plant": "コーラスプラント", @@ -577,6 +579,8 @@ "block.tfg.casings.heat_pipe_casing": "ヒートパイプ外装", "block.tfg.glacian_wool_frame": "氷塊羊毛の耐熱フレーム", "block.tfg.aes_insulation_frame": "AES断熱材の耐熱フレーム", + "block.tfg.machine_casing_power_casing": "Insulated Power Casing", + "block.tfg.active_power_transformer": "Active Energy Transformer", "block.tfg.sand.fluorapatite.blue": "青いフッ素燐灰石の砂", "block.tfg.sandstone.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "青いフッ素燐灰石砂岩の塀", @@ -656,6 +660,8 @@ "block.tfg.nuclear_turbine": "原子力蒸気タービン", "block.tfg.evaporation_tower": "蒸発塔", "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.growth_monitor": "Growth Monitor", "block.tfg.sample_rack": "Sample Rack", "block.tfg.casings.machine_casing_sterilizing_pipes": "Sterilizing Pipes", @@ -663,9 +669,9 @@ "block.tfg.impure_moderate_core": "不純なモデレートコア", "block.tfg.moderate_core_frame": "モデレートコアフレーム", "block.tfg.impure_moderate_core_frame": "不純なモデレートコアフレーム", - "fluid.tfg.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", "fluid.tfg.heavy_ammoniacal_water": "アンモニア交じりの重水", - "fluid.tfg.sulfur_fumes": "Sulfur Fumes", + "fluid.tfg.semiheavy_ammoniacal_water": "アンモニア交じりの半重水", + "fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes", "fluid.tfg.geyser_slurry": "Super Heated Slurry", "fluid.tfg.cryogenized_fluix": "超低温液化フルーシュ", "item.tfg.antipoison_pill": "解毒の丸薬", @@ -838,19 +844,19 @@ "item.tfg.food.cooked_crusher_meat": "焼いたクラッシャー肉", "item.tfg.food.raw_goober_meat": "生のグーバー肉", "item.tfg.food.cooked_goober_meat": "焼いたグーバー肉", - "item.tfg.food.raw_long_pig_filet": "生の奇妙な肉", - "item.tfg.food.cooked_long_pig_filet": "焼き奇妙な肉", + "item.tfg.food.raw_long_pig_filet": "奇妙な肉", + "item.tfg.food.cooked_long_pig_filet": "こんがり奇妙な肉", "item.tfg.food.raw_surfer_steak": "生のサーファー肉", "item.tfg.food.cooked_surfer_steak": "サーファーステーキ", - "item.tfg.food.raw_stackatick_chunks": "Raw Stackatick Chunks", - "item.tfg.food.raw_stickastackatick": "Raw Stick'a'Stackatick", - "item.tfg.food.cooked_stickastackatick": "Cooked Stick'a'Stackatick", - "item.tfg.food.raw_cruncher_ribs": "Raw Cruncher Ribs", - "item.tfg.food.cooked_cruncher_ribs": "Cooked Cruncher Ribs", - "item.tfg.food.raw_dino_nugget": "Prepared Dinosaur Nugget", - "item.tfg.food.cooked_dino_nugget": "Beer Battered Dinosaur Nugget", - "item.tfg.food.raw_beer_battered_cheese_curds": "Beer Battered Cheese Curds", - "item.tfg.food.cooked_beer_battered_cheese_curds": "Fried Beer Battered Cheese Curds", + "item.tfg.food.raw_stackatick_chunks": "生のStackatick Chunks", + "item.tfg.food.raw_stickastackatick": "生のStick'a'Stackatick", + "item.tfg.food.cooked_stickastackatick": "焼いたStick'a'Stackatick", + "item.tfg.food.raw_cruncher_ribs": "生のCruncher Ribs", + "item.tfg.food.cooked_cruncher_ribs": "焼いたCruncher Ribs", + "item.tfg.food.raw_dino_nugget": "衣をつけた恐竜ナゲット", + "item.tfg.food.cooked_dino_nugget": "恐竜ナゲットのビール衣揚げ", + "item.tfg.food.raw_beer_battered_cheese_curds": "衣をつけたチーズカード", + "item.tfg.food.cooked_beer_battered_cheese_curds": "チーズカードのビール衣揚げ", "item.tfg.food.raw_fries": "刻んだジャガイモ", "item.tfg.food.cooked_fries": "フライドポテト", "item.tfg.food.poutine": "プーティン", @@ -937,8 +943,8 @@ "item.tfg.rocket_cone_t3": "発展型ロケットノーズコーン", "item.tfg.rocket_fin_t3": "発展型ロケットフィン", "item.tfg.elite_power_thruster": "§a精鋭型パワースラスター", - "item.tfg.vf": "シリカエアロゲル", - "item.tfg.bftter_space_suit_fabric": "宇宙服の強化生地", + "item.tfg.silica_aerogel": "シリカエアロゲル", + "item.tfg.better_space_suit_fabric": "宇宙服の強化生地", "item.tfg.universal_compost_browns": "茶色の堆肥源", "item.tfg.universal_compost_greens": "緑の堆肥源", "item.tfg.etching_diamond_tip": "エッチング用ダイアモンドの針", @@ -981,8 +987,8 @@ "item.tfg.bundled_scraped_flax": "束ねた亜麻屑", "item.tfg.linen_thread": "リネンの糸", "item.tfg.linen_cloth": "リネン", - "item.tfg.ulled": "§dウルトラヴァイオレット§fLED", - "item.tfg.smd_uv_led": "§fSMD§dウルトラヴァイオレット§fLED", + "item.tfg.uv_led": "§dウルトラバイオレット§fLED", + "item.tfg.smd_uv_led": "§fSMD§dウルトラバイオレット§fLED", "item.tfg.empty_dna_syringe": "空の注射器", "item.tfg.filled_dna_syringe": "中身入りの注射器", "item.tfg.dirty_dna_syringe": "汚染された注射器", @@ -1041,6 +1047,9 @@ "item.tfg.rough_endoplasmic_reticula": "粗面小胞体", "item.tfg.alpha_keratin": "α-ケラチン", "item.tfg.progenitor_cells": "前駆細胞", + "item.tfg.catalyser_pt_re_zsm": "Catalyser Pt-Re ZSM-5", + "item.tfg.used_catalyser": "Used Catalyser Pt-Re ZSM-5", + "item.tfg.loaded_resin": "Re-Loaded Resin", "material.tfg.latex": "ラテックス", "material.tfg.vulcanized_latex": "加硫処理ラテックス", "material.tfg.fluix": "フルーシュ", @@ -1155,6 +1164,56 @@ "material.tfg.zirconium_bromide": "臭化ジルコニウム(IV)", "material.tfg.zirconium_diboride": "二ホウ化ジルコニウム", "material.tfg.boron_carbide": "炭化ホウ素", + "material.tfg.syngas": "合成ガス", + "material.tfg.raw_aromatic_mix": "天然芳香族混合物", + "material.tfg.aromatic_feedstock": "芳香族原料", + "material.tfg.reformed_aromatic_feedstock": "改質芳香族原料", + "material.tfg.reformate_gas": "改質ガス", + "material.tfg.cracker_off_gas": "接触改質されたオフガス", + "material.tfg.btx_fuel": "BTXガス", + "material.tfg.critical_steam": "Critical Steam", + "material.tfg.americium_241": "アメリシウム241", + "material.tfg.californium_252": "カリホルニウム252", + "material.tfg.neptunium_237": "ネプツニウム237", + "material.tfg.mixed_radioactive_fluid": "放射性混合液体", + "material.tfg.degraded_solvent_stream": "Degraded Solvent Stream", + "material.tfg.boron_enriched_coolant": "濃縮ホウ素冷却液", + "material.tfg.hot_boron_enriched_coolant": "熱い濃縮ホウ素冷却液", + "material.tfg.polyalkylene_lubricant": "ポリアルキレン潤滑剤", + "material.tfg.organic_degradation_slurry": "有機分解泥漿", + "material.tfg.gas_fraction": "Gas Fraction", + "material.tfg.isotopic_solvent": "同位体溶媒", + "material.tfg.residual_sludge": "Residual Sludge", + "material.tfg.sodium_fluoride": "フッ化ナトリウム", + "material.tfg.trace_catalyst_salt_e": "Trace Catalyst Salt E", + "material.tfg.copper_trace_catalyst_dust": "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.glucose": "グルコース", + "material.tfg.galactose": "ガラクトース", + "material.tfg.fructose": "フルクトース", + "material.tfg.sorbitol": "ソルビトール", + "material.tfg.14_sorbitan": "1,4-ソルビタン", + "material.tfg.isosorbide": "イソソルビド", + "material.tfg.linolenic_acid": "α-リノレン酸", + "material.tfg.isosorbide_ln": "Isosorbide Linolenate", + "material.tfg.epox_isosorbide_ln": "Epoxidized Isosorbide Linolenate", + "material.tfg.ozone": "Ozone", + "material.tfg.tin_chloride": "Stannous Chloride", + "material.tfg.cyclohexanone": "Cyclohexanone", + "material.tfg.cyclohex_diperoxide": "1,1-Cyclohexanediyl Dihydroperoxide", + "material.tfg.aciditic_waste": "Aciditic Waste", + "material.tfg.propylene": "Propylene", + "material.tfg.tpaoh": "Tetrapropylammonium Hydroxide", + "material.tfg.sodium_silicate": "Sodium Silicate", + "material.tfg.metal_rich_solution": "Metal Rich Solution", + "material.tfg.crude_mixed_gas": "Crude Mixed Gas", + "material.tfg.zsm5_gel": "ZSM-5 Gel", + "material.tfg.leachate": "Rhenium Leachate", + "material.tfg.clean_powder": "Re-Silicate Clean Powder", + "material.tfg.catalyser_powder": "Catalyser Re ZSM-5 Powder", + "material.tfg.sodium_aluminium": "Sodium Aluminium", "ore_vein.tfg.deep_sheldonite": "Cooperite & Bornite", "ore_vein.tfg.deep_garnet_amethyst": "Amethyst & Garnet", "ore_vein.tfg.deep_garnet_opal": "Opal & Garnet", @@ -1323,8 +1382,22 @@ "tfg.tooltip.surfer_variant.fire": "Sangnum Hide", "tfg.tooltip.surfer_variant.brain": "Glacian Hide", "tfg.tooltip.attribution.surfer": "§9§oCredit: Wan's Ancient Beasts", + "entity.tfg.rnr_plow": "Paving Cart", "effect.tfg.cooling": "§bCooling", "effect.tfg.warming": "§6Warming", + "effect.tfg.instant_radiation": "Instant Radiation", + "effect.tfg.chemical_burns_warning": "Suffering Chemical Burns", + "effect.tfg.poison_warning": "Toxic Material", + "effect.tfg.weak_poison_warning": "Weakly Toxic Material", + "effect.tfg.irritant_warning": "Irritant Material", + "effect.tfg.nausea_warning": "Nauseous Material", + "effect.tfg.carcinogen_warning": "Carcinogenic Material", + "effect.tfg.asbestosis_warning": "Asbestosis", + "effect.tfg.arsenicosis_warning": "Arsenicosis", + "effect.tfg.silicosis_warning": "Silicosis", + "effect.tfg.berylliosis_warning": "Berylliosis", + "effect.tfg.methanol_poisoning_warning": "Methanol Poisoning", + "effect.tfg.carbon_monoxide_poisoning_warning": "Carbon Monoxide Poisoning", "tfg.greate.uls_limit": "§432§r (§8ULS§r)", "tfg.greate.ls_limit": "§f128§r (§7LS§r)", "tfg.greate.windmill_hint_1": "Windmills are affected by relative", @@ -1381,10 +1454,14 @@ "tfg.emi.ore_veins.rock_types": "Found in rock types:", "tfg.emi.ore_veins.rarity": "Rarity: %d", "tfg.emi.ore_veins.density": "Density: %d", - "tfg.emi.ore_veins.y_ranges": "Depth: %d to %d", + "tfg.emi.ore_veins.y_ranges": "Y Level: %d to %d", "tfg.emi.ore_veins.size": "Size: %d", "tfg.emi.ore_veins.height": "Height: %d", "tfg.emi.ore_veins.radius": "Radius: %d", + "ore_vein.tfg.rose_quartz": "Rose Quartz", + "ore_vein.tfg.rose_quartz.emi.0": "Found in low-elevation", + "ore_vein.tfg.rose_quartz.emi.1": "biomes in climates", + "ore_vein.tfg.rose_quartz.emi.2": "below -10°C.", "emi.category.tfg.ore_vein_info": "Ore Veins", "tfg.emi.liquid_bb_burn_time": "Duration: %d secs", "tfg.emi.liquid_bb_superheat": "§lSuperheated", @@ -1441,10 +1518,30 @@ "tfg.tooltip.cooling_foods": "§bCools you by: 2°C", "tfg.tooltip.cooling_foods_strong": "§bCools you by: 10°C", "tfg.tooltip.warming_foods": "§6Warms you by: 4°C", + "tfg.tooltip.hotornot_container": "§aSafely contains §6hot§a, §bcold§a, and §elighter-than-air§a items and fluids.§r", + "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.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!", + "tfg.tooltip.machine.coil_energy_discount": "Every coil after §6Cupronickel§r reduces energy usage by §r10%§7.§r", + "tfg.tooltip.machine.bioreactor_1": "§7Chemistry meets Biology§r", + "tfg.tooltip.machine.bioreactor_2": "§7Combines organic and inorganic ingredients to produce synthetic biological products.§r", + "tfg.tooltip.machine.growth_chamber_1": "§7Growing new life§r", + "tfg.tooltip.machine.growth_chamber_2": "§7Contains everything needed for Biological Engineering.§r", + "tfg.tooltip.machine.evaporation_tower_1": "§7Not to be confused with the Distillation Tower§r", + "tfg.tooltip.machine.evaporation_tower_2": "§7Gets rid of excess solvent to condense solutions.§r", + "tfg.tooltip.machine.electric_greenhouse_1": "§7Putting the Factory in Factory Farming§r", + "tfg.tooltip.machine.electric_greenhouse_2": "§7Uses water to grow trees, crops, and other plants. Can be sped up with fertilizer. Faster and easier than other ways of growing plants, at the cost of energy.§r", + "tfg.tooltip.machine.cooling_tower_1": "§7Heating up the Atmosphere§r", + "tfg.tooltip.machine.cooling_tower_2": "§7Cools the hot coolant by dissipitating excess heat to the atmosphere.§r", "tfg.tooltip.obsolete.depreciated": "§cDeprecated, cannot be crafted any more", - "tfg.tooltip.dna_syringe.empty": "An empty syringe.", - "tfg.tooltip.dna_syringe.dirty1": "A used syringe.", - "tfg.tooltip.dna_syringe.dirty2": "Be careful not to poke anyone with this...", + "tfg.tooltip.antipoison_pill": "§9Cures Poison", + "tfg.tooltip.antipoison_tablet": "§9Cures All Active Harmful Effects", + "tfg.tooltip.dna_syringe.empty": "§7An empty syringe.§r", + "tfg.tooltip.dna_syringe.dirty1": "§7A used syringe.§r", + "tfg.tooltip.dna_syringe.dirty2": "§7Be careful not to poke anyone with this...§r", "tfg.tooltip.dna_syringe.full": "DNA sample: ", "tfg.tooltip.dna_syringe.explain": "Right-click on a mob to obtain a DNA sample. Place in a crafting grid to clear contents.", "tfg.tooltip.shift_hint": "[Hold-Shift]", @@ -1464,9 +1561,30 @@ "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 4096 EU/t", + "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", + "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.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", + "tfg.gui.rnr_plow.random_mode": "Randomize Materials", + "tfg.gui.rnr_plow.width": "Path Width: %d Blocks", + "tfg.gui.rnr_plow.empty_crushed_base_course": "§cMissing Crushed Base Course!!", + "tfg.tooltip.progenitor_cells.mob": "Animal culture: ", + "tfg.tooltip.fake_nutrition_info_listener": "§7§oHold (Shift) for Nutrition Info", + "tfg.tooltip.fake_nutrition_info": "§7Nutrition:", + "tfg.tooltip.cheese_slice_microplastics": "§b- Microplastics: 1.9", + "tfg.gui.menu.field_guide_splash_text": "Tip: Read the field guide!!!", + "tfg.gui.menu.ram_usage": "RAM:", + "tfg.gui.menu.fps_count": "FPS:", + "tfg.gui.smr_generator.credit": "Credits to Frontiers Team", + "tfg.gui.smr_generator.lubricant_used": "Lubricant: %s", + "tfg.gui.smr_generator.booster_used": "Booster: %s", + "tfg.gui.max_energy_per_tick_amps.prefix": "Max EU/t:", + "tfg.gui.consumes": "Consumes: ", + "tfg.gui.per_cycle": "per cycle", + "tfg.gui.cycle_duration": "Cycle duration: ", "tfc.jei.flint_knapping": "Flint Knapping", "tfc.jei.straw_knapping": "Straw Knapping", "tfc.recipe.barrel.tfg.barrel.dyeing.decorative_vase.black": "Dyeing", @@ -1907,10 +2025,10 @@ "quests.extreme_voltage.ev_superconductor.subtitle": "超高電圧・高電流両対応", "quests.extreme_voltage.ev_superconductor.desc": "&eウラン&rの処理を進めたら、&5三白金ウランワイヤー&rを作ってみてもいいでしょう。\n\nこの超伝導ケーブルはより多くのアンペアを流せるため、基地全体でエネルギーを効率よく送電でき、&6原子力蒸気タービン&rからの出力を損失なく各機械へ届けることができます。", "quests.extreme_voltage.uraninite_dust.subtitle": "膨大な数の棒", - "quests.extreme_voltage.uraninite_dust.desc": "&eウラン燃料棒&rを作るには大量の&e閃ウラン鉱&rを掘り出すことが必要で、1本あたりおよそ&c240個&rほど使います。そのため、後で不足しないよう早めに採掘を始めておくことをおすすめします。\n\n火星には最大規模の鉱脈が存在するため、一つの鉱脈から大量に確保することができます。\n\nゲームを進めると、&6Ostrum Linear Accelerator&rを使って瀝青ウラン鉱や閃ウラン鉱を&無限&rに生産できるようになります。詳しい説明は先のクエストで確認できます。", + "quests.extreme_voltage.uraninite_dust.desc": "&eウラン燃料棒&rを作るには大量の&e閃ウラン鉱&rを掘り出すことが必要で、1本あたりおよそ&c240個&rほど使います。そのため、後で不足しないよう早めに採掘を始めておくことをおすすめします。\n\n火星には最大規模の鉱脈が存在するため、一つの鉱脈から大量に確保することができます。\n\nゲームを進めると、&6Ostrum Linear Accelerator&rを使って瀝青ウラン鉱や閃ウラン鉱を&a無限&rに生産できるようになります。詳しい説明は先のクエストで確認できます。", "quests.extreme_voltage.uranium_line.title": "ウランライン", "quests.extreme_voltage.uranium_line.subtitle": "新しい処理ライン", - "quests.extreme_voltage.uranium_line.desc": "&eウラン&rと、その同位体である&eウラン235&rを処理するには、専用の小規模な処理ラインを用意する必要があります。\n\n安心して下さい、フッ素は&ループ可能&rなので、必要なものは&e閃ウラン鉱の粉&rだけです。\n\nこのラインは地球でも組めますが、閃ウラン鉱の大半は火星で採掘することになるため、火星で稼働させた方が便利な場合もあります。", + "quests.extreme_voltage.uranium_line.desc": "&eウラン&rと、その同位体である&eウラン235&rを処理するには、専用の小規模な処理ラインを用意する必要があります。\n\n安心して下さい、フッ素は&aループ可能&rなので、必要なものは&e閃ウラン鉱の粉&rだけです。\n\nこのラインは地球でも組めますが、閃ウラン鉱の大半は火星で採掘することになるため、火星で稼働させた方が便利な場合もあります。", "quests.extreme_voltage.radioactive_waste.title": "放射性廃棄物", "quests.extreme_voltage.radioactive_waste.subtitle": "ガラクタだっていう人もいるけど、俺は宝物って呼んでる", "quests.extreme_voltage.radioactive_waste.desc": "放射性廃棄物は次の燃料棒づくりに欠かせない&c重要資源&rです。必ず搬出ハッチに十分な空き容量を確保しておいて下さい。搬出先がないと、&c放射性廃棄物は消滅してしまい&r、大切な資源を失うことになります。\n\n対策としては以下がおすすめです:\n-&b液体ロックを有効&rに設定した専用の搬出ハッチを使う\n-スーパータンクと発展型液体検出器の組み合わせで管理する\n\n火星で&dMEネットワーク&rを構築済みなら、新たに解禁された&6ME搬出ハッチ&rを使ってみるのもいいかもしれません。", @@ -2006,7 +2124,7 @@ "quests.extreme_voltage.epichlorohydrin.title": "エピクロロヒドリン", "quests.extreme_voltage.epichlorohydrin.desc": "最初の&aエピクロロヒドリン&rは、&3LCR&rレシピでスムーズにつくることができます。\n\nただしこのレシピには&aプロペン&rが必要です。そのためには本格的に&d原油処理&rや&dクラッキング&rに手を出す必要があります。もしあなたが原油処理を後回しにし続けていたのだとしたら、ついに向き合う時が来たということですよ。\n\nまた、&3蒸留塔&rは絶対に建てておきましょう。原油処理において非常に重要な機械です。\n\nそして副産物の&d塩水&rはループさせることで&d水酸化ナトリウム&rを自給できるので、気づいていなかった場合はぜひ活用してください。", "quests.extreme_voltage.phenol.title": "フェノール", - "quests.extreme_voltage.phenol.desc.1": "&aフェノール&rの製作経路は多岐に渡るため、ここでは特に主流な4つの方法を紹介します:\n\n&9(1)&r&a木質タール&rを蒸留する。もっともシンプルな方法です。\n\n&9(2)&r&aベンゼン&r、&d塩素&r、&d水酸化ナトリウム&rの化学反応。&3LCR&rで行えば塩素を完全に循環できるため、とても安定した作り方です。\n\n&9(3)&r上のレシピから&d水酸化ナトリウム&rを抜いて時短する方法。ただし&d塩素&rが減っていくのでコストは悪めです。\n\n&9(4)&r &aベンゼン&r、&dプロペン&r、&d酸素&rを少量の&4リン酸&rと反応させる「クメン法」。リン酸は本来触媒ですが、このレシピでは少しずつ消費されます。", + "quests.extreme_voltage.phenol.desc.1": "&aフェノール&rの製作経路は多岐に渡るため、ここでは特に主流な4つの方法を紹介します:\n\n&9(1)&r&a木質タール&rを蒸留する。もっともシンプルな方法です。\n\n&9(2)&r&aベンゼン&r、&d塩素&r、&d水酸化ナトリウム&rの化学反応。&3LCR&rで行えば塩素を完全に循環できるため、とても安定した作り方です。\n\n&9(3)&r上のレシピから&d水酸化ナトリウム&rを抜いて時短する方法。ただし&d塩素&rが減っていくのでコストは悪めです。\n\n&9(4)&r&aベンゼン&r、&dプロペン&r、&d酸素&rを少量の&4リン酸&rと反応させる「クメン法」。リン酸は本来触媒ですが、このレシピでは少しずつ消費されます。", "quests.extreme_voltage.phenol.desc.2": "どの選択肢にするか悩んでいる方に向けて、それぞれの魅力を紹介します。\n\n&9(1)&rは&3熱分解炉&rと&3蒸留塔&rをセットで稼働させる余裕があれば、とても良い方法です。\n\n&9(2)&rは私たちがおすすめする方法です!副産物の&d塩&rから&d塩水&rを作り、それを電解することでベンゼン以外を循環させられるので扱いやすいです。\n\n&9(3)&rは&d塩素&rを無限に確保できていれば優秀な方法です。たとえば塩水の鉱脈に&3大型液体採掘機&rを設置するなどの方法があります。\n\n&9(4)&rは...&4リン酸&rの製造には本当に手間がかかるので...このルートはかなり厳しいですよ。", "quests.extreme_voltage.phenol.desc.3": "&l&3余談:&r&o昔は大型化学反応炉がなかったから、足りない化学レシピを補う目的でベンゼン+酸素のレシピがGTCEに追加されてたんだ。でも今はCEuで現実的な処理方法が用意されたから、このレシピは将来削除されるかも。", "quests.extreme_voltage.acetone.title": "アセトン", @@ -2035,7 +2153,7 @@ "quests.extreme_voltage.tunsgten_line_step.title": "炭酸ナトリウムの循環構成", "quests.extreme_voltage.tunsgten_line_step.subtitle": "もう採掘は必要なし!", "quests.extreme_voltage.tunsgten_line_step.desc.1": "&5タングステンライン&rを完全に循環させるのは簡単ではないため、このクエストでは正しい進め方を案内します。\n\nまず&b塩&r、&a二酸化炭素&r、&6アンモニア&rを組み合わせて&3塩化アンモニウム&rを作ります。その後、これを電解することで&6アンモニア&rを再利用でき、さらに&eタングステン酸ナトリウム&rの作成に必要な&9塩酸&rを得られます。また、この工程では &b炭酸水素ナトリウム&rも生成されるため、電解して&d炭酸ナトリウム&rを回収しましょう。", - "quests.extreme_voltage.tunsgten_line_step.desc.2": "完全な閉鎖ループを作るには、&a二酸化炭素&rの管理が必要になります。これには&d炭酸ナトリウム&r の一部を分解して電解し、&a炭素&rと&9酸素&rを回収して、そこから&a二酸化炭素&rを回収する方法があります。\n\n力技ですが、&b液体空気&rの蒸留で無限生産した&a二酸化炭素&rを供給し続けるという方法もあります。", + "quests.extreme_voltage.tunsgten_line_step.desc.2": "完全な閉鎖ループを作るには、&a二酸化炭素&rの管理が必要になります。&d炭酸水素ナトリウム&rの電解から出る二酸化炭素だけでは足りないため、方解石の電解またはリチウムと一緒に出た&b炭素&rと&b酸素&rを組み合わせて処理する方法があります。\n\n力技ですが、&b液体空気&rの蒸留で無限生産した&a二酸化炭素&rを供給し続けるという方法もあります。", "quests.extreme_voltage.tunsgten_line_step_1.title": "新しいタングステンライン", "quests.extreme_voltage.tunsgten_line_step_1.subtitle": "どうしてそんなことするの?", "quests.extreme_voltage.tunsgten_line_step_1.desc": "TerraFirmaGregの&eタングステンライン&rは全面的に改修されており、以前より&cかなり難解&rになっています。嬉しいですね!(嬉しいですよね?)\n\nタングステンラインに含まれる全ての素材は&a完全にループ&rさせることが可能ですが、そのためには高度なライン構築の技術が必要です。一方で、必要な資源を&c大量生産&rしてゴリ押しで進めることもできます。\n\nちょっとしたヒントですが、&4火星&rには&e炭酸ナトリウム&rと&eタングステン&rのための&a大きい鉱脈&rがいくつか存在しています。\n\nタングステンラインは中盤から終盤にかけての進行の土台となるため、時間をかけてでも最適化しておきましょう。", @@ -2081,6 +2199,8 @@ "quests.extreme_voltage.martian_sludge.desc": "六フッ化ケイ酸を遠心分離すると、フッ素を回収できるほか、&6火星の泥漿&rも得られます。これはラドンや核分裂残留物の生成に必要な素材です。", "quests.extreme_voltage.large_generators.title": "大型発電機", "quests.extreme_voltage.large_generators.desc": "シングルブロックの発電機はHVまでしか対応していないため、これ以降はより大きな発電量を確保するには大型の発電機を使う必要があります。EV帯で特に優秀なのは、&d大型ガスタービン&rと&d大型燃焼エンジン&rの2つです。\n\n詳しく知りたい場合は、「GregTechの電力システム」の章をご覧ください。", + "quests.extreme_voltage.large_centrifuge.subtitle": "素材のメリーゴーランド", + "quests.extreme_voltage.large_centrifuge.desc": "&6大型遠心分離機&rは核分裂ラインのために必須な大型機械です。\n\nこの装置は&5EVエネルギーハッチ2つ&r取り付けることで、EBFと同じように&1IV-tier&rのレシピを処理できます。使い勝手がいいですね。\n\nこの機械は&b遠心分離モード&rと&6熱遠心分離モード&rの2つのモードを利用できます。コントローラーのインターフェースから簡単に切り替えられますが、残念ながらAE2などの自動化システムを経由して操作することはできません。\n\nこの機械があれば革新的なスピードで&a鉱石処理&rを終わらせることができます。", "quests.gregtech_energy": "GregTechの電力システム", "quests.gregtech_energy.subtitle": "第一種電気主任技術者を目指して", "quests.gregtech_energy.start.title": "説明しよう", @@ -2113,6 +2233,7 @@ "quests.gregtech_energy.lv_generator.desc.2": "&e1.蒸気力&r:\n\n最も基本的で伝統的な発電方法です。ボイラーで作った蒸気を蒸気タービンに送ることで電力へと変換できます。&e64mB/t&rの蒸気から&e32EU/t&rを発電可能です。\n\nこの方式で進めるなら、ブロンズ製大型ボイラーを作るのがおすすめです。溶岩やクレオソート、その他の固体燃料などで簡単に動かせます(使える燃料はEMIで確認できます)。", "quests.gregtech_energy.lv_generator.desc.3": "&e2.回転力&r:\n\nCreateの回転動力をオルタネーターに繋げてRFを発電し、それを&7LV&rエネルギー変換機でEUに変換できます。詳しくは、「LV」の章の中のオルタネーターのクエストをチェックしましょう。", "quests.gregtech_energy.lv_generator.desc.4": "&e3.バイオディーゼル燃料(TFG限定)&r:\n\nキャノーラやヒマワリから大量の種油を作れます。これをアルコール類と調合することでバイオディーゼルを精製できます。\n\nこの方法は少し手間がかかりますが、バイオディーゼルは&7LV&r~&bMV&rまでの間で使える優秀な燃料になります。さらに、&eセタン添加ディーゼル&rにすれば&5EV&rまで使える非常に優秀な燃料になります。\n\n使用するには&7LV&r燃焼発電機が必要です。これはやや高価な代わりに1mBあたりの発電量が多く、燃料の運搬や保管がとても効率的です。どの発電方法から始めるかはあなたの自由です。", + "quests.gregtech_energy.lv_generator.desc.5": "&e4.合成ガス発電(TFG限定)&r:\n\n&6コークス炉&rと&6Vacuum Chamber&rを利用することで、序盤からこのガス燃料を作ることができます。性能はまずまずですが、&eガス発電&rこだわる方にとっては十分実用的です。最大限の効率を引き出すために、&6Create&rを活用した自動植林場の構築を強く推奨します。", "quests.gregtech_energy.lv_generator.task": "Any LV Generator", "quests.gregtech_energy.mv_generator.title": "MVの発電方法", "quests.gregtech_energy.mv_generator.subtitle": "LVと大体同じです", @@ -2153,16 +2274,43 @@ "quests.gregtech_energy.lpt_fuel.task": "I don't want to make a bucket of Plasma", "quests.gregtech_energy.lgt_fuel.title": "ガス燃料", "quests.gregtech_energy.lgt_fuel.subtitle": "みんな大好き", - "quests.gregtech_energy.lgt_fuel.desc.1": "ガス燃料といえば、これでしょう。その名も&eニトロベンゼン&r。\n\n&6HV&rに到達すれば作れるようになります。&a大型ガスタービンを運用するならぜひこれを使いましょう&r。\n\nニトロベンゼンまでは、&eベンゼン&rが便利です。木から精製するか、重油を加工して作ることができます。", - "quests.gregtech_energy.lgt_fuel.desc.2": "ニトロベンゼンを作るにはいくつか工程があります。最初に&6大型化学反応炉&r(LCR)を組めば、多くの中間工程を省いて作業がずっと簡単になります。\n\n流れ自体は難しくありません。水素・窒素・酸素を組み合わせれば&e硝酸&rをいくらでも作れます。硫酸はご存知の通り硫黄と水から作れます。\n\nこの生産ラインを回せるようになると、ニトロベンゼンはガス燃料としてとても役に立ってくれることでしょう。", + "quests.gregtech_energy.lgt_fuel.desc.1": "これらの燃料はすべて &2ガスタービン発電機&rで使用されます。ここでは、効率が低いものから高いものまでを順に並べています。\n\n&bガスタービン発電機&rは、同じ時期に作れる&b燃焼発電機&rと比べて安価に作れますが、&eガス燃料&rは燃焼系燃料よりも全体的に燃料価が低くなっています。ただし、これは劣っているという意味ではなく、同じ出力を得るために必要な量(mB)が多くなるというだけです。進行が進むと、より多くの管理を必要とする非常に強力なマルチブロックである &2大型ガスタービン&rでも使用できるようになります。", + "quests.gregtech_energy.lgt_fuel.desc.2": "TerraFirmaGregにおいて、&eガス燃料&rは全体的なバランス調整が行われています。&eベンゼン&rや&eニトロベンゼン&rは大幅に弱体化されているため、これらに依存することは&6推奨しません&r。&7LV&rの序盤で、オイルサンドを処理する際などには&e合成ガス&rや&eLPG&rを使用することをおすすめします。その後、&bMV&rで&e改質ガス&rにアップグレードでき、さらに&2クラッカー&rが解禁されると生産効率はより一層高まります。", "quests.gregtech_energy.lgt_fuel.task": "Gas in a bucket?", + "quests.gregtech_energy.syngas.title": "合成ガス", + "quests.gregtech_energy.syngas.subtitle": "LVでもガス発電がしたい!", + "quests.gregtech_energy.syngas.desc": "&e合成ガス&rは、TFGにて新しく追加されたガス燃料です。&8ULV&rという非常に早い段階で解禁でき、&7LV&rでは&6基本型ガスタービン発電機&rに使用できます。特別に強力な燃料というわけではありませんが、&e潤滑剤&r、&eメタン&r、&e水素&rといった価値の高い副産物へと変換することが可能です。\n\n最強の発電方法!...というわけではなく、大規模な発電には向いていないですが、&6コークス炉&rを3基と、&6醸造機&rまたは&6Vacuum Chamber&rを1基だけ使用すれば安定して生産することができます。&bMV&rに到達し、さらに強力な&e改質ガス&rを解禁するまでのつなぎには十分でしょう。", + "quests.gregtech_energy.reformate_gas.title": "改質ガス", + "quests.gregtech_energy.reformate_gas.subtitle": "ベンゼンを返して", + "quests.gregtech_energy.reformate_gas.desc.1": "&9改質ガス&rは、&bMV&rにおける従来のベンゼンの役割を担う、強力で新しいガス燃料です。\n\nこれを生産するには、&6液化塔&rを建設し、乾燥して高温な気候にのみ生成される&6タキアン鉱&rの鉱脈から&5レニウム&rを入手する必要があります。&6熱分解炉&rを2基用意し、一方でクレオソート、もう一方で木質タールを生産することで、この燃料を生成するために必要な素材がすべて揃います。\n\n構成を簡略化したい場合は、&6液体加熱機&rを使って蒸気を生産できるという点も覚えておいてください。", + "quests.gregtech_energy.reformate_gas.desc.2": "&6HV&rで解禁される&6クラッカー&rを使用することで大幅に生産効率が向上します。さらに&5レニウム&rを循環利用できるようになるため、改質ガスは事実上、無限に使える燃料となります。\n\nさらに &9窒素&rと&9水素&rを工程に追加することで、生産速度を一層強化できます。", + "quests.gregtech_energy.btx.title": "BTX", + "quests.gregtech_energy.btx.subtitle": "Not a korean band", + "quests.gregtech_energy.btx.desc": "The BTX Fuel is NYI", + "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.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.gasoline.title": "ガソリン", + "quests.gregtech_energy.gasoline.subtitle": "燃料界のスーパースター", + "quests.gregtech_energy.gasoline.desc": "&aガソリン&rは&6HV&rで解禁される非常に強力な燃焼燃料ですが、&6蒸留塔&rを建設してから本格的な生産を始めるのが現実的です。&7トルエン&rは&7木質タール&rや&7重質燃料&rから簡単に作成でき、それ以外に必要なものは&d精製ガス&r、&8ナフサ&r、そして&3酸素&r・&b水素&r・&1炭素&rの化合物たちです。\n\n高い性能を持ち、比較的簡単に製造できるうえ、さらに&c高オクタン価ガソリン&rへとアップグレードすることも可能です。", + "quests.gregtech_energy.high_gasoline.title": "高オクタン価ガソリン(ハイオク)", + "quests.gregtech_energy.high_gasoline.subtitle": "ハイオク満タンで", + "quests.gregtech_energy.high_gasoline.desc": "&cガソリン&rの直接的なアップグレードで、&5性能が2倍に強化された燃料&rです。名前からは分かりにくいですが、&dオクタン&rだけでなく、&8石油化学&r由来の他の素材も追加する必要があります。\n\nこの段階まで来れたあなたなら、&bEMI&rを使ってレシピを把握し、この非常に強力な燃料を自力で製造できるようになっていることでしょう。", "quests.gregtech_energy.lst_fuel.title": "蒸気", "quests.gregtech_energy.lst_fuel.subtitle": "ある意味水力発電", "quests.gregtech_energy.lst_fuel.desc": "蒸気を作るのは簡単です。ただ水を沸かすだけですから。\n\n大量の蒸気を生産するなら&6大型ボイラー&rの使用をおすすめします。バージョンは4種類で、それぞれ&8ULV&r、&bMV&r、&5EV&r、&1IV&r用のものがあります。ティアが上がるごとに蒸気の生産量も大幅に増えます。\n\n注意:これらのボイラーを使ったとしても、&d大型蒸気タービン&rの性能は他の発電方法ほどではありません。\n\nほとんどのプレイヤーはチタンやタングステンスチールボイラーを使うことはありません。作れはしますが、その価値がほとんどありません。蒸気は単純ですが、性能が頭打ちになりがちです。\n\n参考までに:&e2mB&rの蒸気=&e1EU&r。", "quests.gregtech_energy.lst_fuel.task": "I will switch to a denser fuel", + "quests.gregtech_energy.lst_fuel.task.1": "Large Boilers", "quests.gregtech_energy.lce_fuel.title": "液体燃料", "quests.gregtech_energy.lce_fuel.subtitle": "環境破壊を楽しもう", - "quests.gregtech_energy.lce_fuel.desc.1": "これらの液体燃料は&6燃焼発電機&rで使えます。弱いものから順に並べました。\n\n&bMV&rの段階では、まずディーゼルかバイオディーゼルを使うのがおすすめです。\n&6HV&rに進んだら、窒素・水素・酸素を混ぜてセタン添加ディーゼルにアップグレードできます。", + "quests.gregtech_energy.lce_fuel.desc.1": "これらの液体燃料は&6燃焼発電機&rで使えます。弱いものから順に並べました。\n\n序盤は、まずディーゼルかバイオディーゼルを使うのがおすすめです。\n&6HV&rに進んだら、窒素・水素・酸素を混ぜてセタン添加ディーゼルにアップグレードできます。", "quests.gregtech_energy.lce_fuel.desc.2": "&5EV&rに到達して&6蒸留塔&rを本格的に運用し始めたら、ガソリンまたはハイオクガソリンに切り替えるタイミングです。\n早とちりしないでください。原油はきちんと蒸留する必要があり、通常の蒸留機では効率が非常に悪いです。\n\n作るには、原油の蒸留といくつかの有機化合物処理を組み合わせる必要があります。熱分解炉と蒸留塔を使えばスムーズに処理できます。\n\nハイオクガソリンを安定供給できれば、燃焼発電機だけでクリアすることも夢ではありません。", "quests.gregtech_energy.lce_fuel.task": "I got enough", "quests.gregtech_energy.large_solar.subtitle": "メガソーラー", @@ -2201,8 +2349,8 @@ "quests.gregtech_energy.spending_energy.title": "電力運用について", "quests.gregtech_energy.spending_energy.subtitle": "電力の消費", "quests.gregtech_energy.spending_energy.desc.1": "電力はあるけれど、何に使えばいいんだろう?\n\n機械を使いましょう!とはいえ、実際のところそう単純な話ではないのです...\n&3TerraFirmaGreg&rを攻略するために、知っておくべき電力の基本知識をお教えします。\n\n基本的な機械:\n-各機械は最大で&a2A&rまで要求できます\n-上位の電圧を流すと...&4\uD83D\uDCA5爆発します&r。\n\n大型機械:\nここからが本番です。マルチブロックの構造は、仕組みを理解して、うまく扱うことが重要です。", - "quests.gregtech_energy.spending_energy.desc.2": "標準的な仕組み:\n-マルチブロックが2つのエネルギーハッチを組み込める場合(ほとんどの機械がそうです)、その機械の基本電圧よりも1つ上位の電圧のレシピを使用できます。\n\n例:\n大型混合機を使用し、そこにIVエネルギーハッチを2つ取り付けると、&cLuV&rのミキサーレシピを処理できるようになります。\n\nこれは、大型機械の大きな利点の1つです。そして、アップグレードしたい場合は、機械全体を交換するのではなく、エネルギーハッチを交換するだけで次のティアに引き上げることができます。", - "quests.gregtech_energy.spending_energy.desc.3": "一部の大型機械は1つのエネルギーハッチしか組み込むことができません。その場合も4Aや16Aのエネルギーハッチを使用することで、レシピの&bオーバークロック&rは可能です。ただし、レシピのティア自体は変わりません。\n\n例:\n大型回路作成機は1つのエネルギーハッチしか取り付けられません。しかし、4AのIVエネルギーハッチを設置すれば、IVおよびそれ以下のレシピをすべてオーバークロックすることができます。\n\nただし、複数のハッチをサポートしていないため、LuVティアのレシピを作成することはできません。この制限は意図的なもので、GregTechの進行システムを飛ばすことを防ぐための設計です。", + "quests.gregtech_energy.spending_energy.desc.2": "標準的な仕組み:\n-マルチブロックが2つのエネルギーハッチを組み込める場合(ほとんどの機械がそうです)、その機械の基本電圧よりも1つ上位の電圧のレシピを使用できます。\n\n例:\nEBFを組み立てる際に、LVエネルギーハッチを2つ取り付けると、&cMV&rのレシピを処理できるようになります。\n\nこれは、大型機械の大きな利点の1つです。アップグレードしたい場合は、機械全体を交換するのではなく、エネルギーハッチを交換するだけで次のティアに引き上げることができます。", + "quests.gregtech_energy.spending_energy.desc.3": "一部の大型機械はエネルギーハッチを1つまでしか組み込むことができません。その場合も4Aや16Aのエネルギーハッチを使用することで、レシピの&bオーバークロック&rは可能です。ただし、レシピのティア自体は変わりません。\n\n例:\n大型回路作成機は1つのエネルギーハッチしか取り付けられません。しかし、4AのIVエネルギーハッチを設置すれば、IVおよびそれ以下のレシピをすべてオーバークロックすることができます。\n\nただし、複数のハッチをサポートしていないため、LuVティアのレシピを作成することはできません。この制限は意図的なもので、GregTechの進行システムを飛ばすことを防ぐための設計です。", "quests.gregtech_energy.spending_energy.desc.4": "要するに、1つのエネルギーハッチに多くのアンペアを流せば処理は速くなりますが、上位ティアのレシピを使いたい場合はエネルギーハッチを2つ取り付ける必要があります。", "quests.gregtech_energy.spending_energy.task": "I understand", "quests.gregtech_energy.overclock.title": "オーバークロック", @@ -2310,7 +2458,8 @@ "quests.high_voltage.ptfe.subtitle": "またの名をテフロン", "quests.high_voltage.ptfe.desc": "&aポリテトラフルオロエチレン(通称:PTFE)&rは、&7炭素&rと&bフッ素&rからなる高分子化合物です。PVCと同様に、PTFEはプラスチック製回路基板などの製作効率を向上させる用途に使えます。現在では、&3大型化学反応炉&rの素材としても使用されています。\n\nこの生成過程では&3塩素&rも要求されていますが、生成される&a塩化水素&rを電解すれば、&6完全にループ&rさせることができます。\n\n&bフッ素&rは、今後&aウラン&rや&7ナクアダ&rの精製にも使います。\n\n&9Tips:&rこれ以降は、ポリマー類は&dインゴット&rの形で保管しておくのがおすすめです。&3押出機&rを使って、簡単に成形できます。", "quests.high_voltage.nitrobenzene.title": "ニトロベンゼン", - "quests.high_voltage.nitrobenzene.desc": "&aニトロベンゼン&rを作ると、&aベンゼン&rの燃料価が約&64倍&rに向上します。素晴らしいですね。\n\nただし、作るには&d蒸留水&rが必要で、&d硫黄&rを消費します。", + "quests.high_voltage.nitrobenzene.subtitle": "かつての栄光は見る影もなく", + "quests.high_voltage.nitrobenzene.desc": "TerraFirmaGregでは、&aニトロベンゼン&rと&aベンゼン&rは大幅に弱体化されています。燃料として使うこともできますが、基本的には素材として利用することになるでしょう。\n\nまた、ニトロベンゼンは、作る過程で少しずつ&d硫黄&rを消費していくため注意してください。", "quests.high_voltage.lcr.title": "大型化学反応炉", "quests.high_voltage.lcr.desc.1": "&3大型化学反応炉(通称:LCR)&rは、通常の&3化学反応器&rの大型機械であり、より多くの搬入・搬出スロットを備えています。外装にはPTFE(テフロン)が使われており、これによって通常の化学反応器では扱えないレシピも処理できます。\n\n&3LCR&rでは、一部の&3化学反応器&rのレシピを&6一気に処理することができます&r。以下がその例です:\n\n&9-&r&a二酸化窒素&r(硝酸や四酸化二窒素の製造用)\n&9-&r&a硫酸&r\n&9-&r&aフェノール&r\n&9-&r&aエピクロロヒドリン&r(エポキシ樹脂の製造に必要)\n&9-&r&aエポキシ&r", "quests.high_voltage.lcr.desc.2": "&3LCR&rには専用レシピも存在します。たとえば、&d直留ガソリン&rはLCRでしか作ることができません。\n\nLCRの&dオーバークロック&rは完全に&6100%効率&r、いわゆる「パーフェクトオーバークロック」(POC)です。つまり、各段階で処理速度が&54倍&rずつ向上していきます(通常は2倍です)。\n\nさらにもう一つの&6利点&rとして、&32基のエネルギーハッチ&rを取り付けることで、&5上位電圧&rのレシピを利用できるようになります。これは&3EBF&rと同様の仕組みです。", @@ -2440,6 +2589,8 @@ "quests.high_voltage.final_dust.title": "無限の粉製", "quests.high_voltage.final_dust.subtitle": "アンリミテッドダストワークス", "quests.high_voltage.final_dust.desc": "&e金星&rに到達するまでは、&7月&rで確保できる&c無限資源&rはこれだけです。\n\nこれらの資源が無限化されていれば、&dGregTech&rをかなり快適に進められるでしょう。&a月面基地&rの維持にも欠かせません。\n\n具体的な用途:\n•&dAE2コンポーネント&rの作成\n•&6レールガンの弾&rの&c無限&r生産\n\n資源が無限化されたことで、いくつかのパッシブラインを組むことができるようになったと思います。そちらに注力してもいいかもしれません。", + "quests.high_voltage.titanium_greate.title": "Greate-チタニウムエディション", + "quests.high_voltage.titanium_greate.desc": "TerraFirmaGregにおいてGreateの要素はこれで最後です。超高電圧にふさわしい超高性能ではありますが...今さら歯車を回したいですか?", "quests.low_voltage": "&7LV&r - 低電圧時代", "quests.low_voltage.subtitle": "どんな元素も無駄にしない優しい工業mod", "quests.low_voltage.lv_machine_hull.title": "第二のマシン筐体", @@ -2485,9 +2636,18 @@ "quests.low_voltage.lv_seeds.subtitle": "種だらけの場所", "quests.low_voltage.lv_seeds.desc": "キャノーラまたはヒマワリを見つけたら、採取して栽培を始めましょう。これらは&a種油&r作りに最適な植物です。\n\nキャノーラは寒さに強く、ヒマワリは暖かい環境を好みます。もし農作業にあまり時間をかけたくない場合は、電気温室を利用することもできます。", "quests.low_voltage.lv_seeds.task": "Canola or Sunflowers", + "quests.low_voltage.lv_gas_turbine.title": "ガスタービン発電", + "quests.low_voltage.lv_gas_turbine.subtitle": "ちょっと背伸びした発電", + "quests.low_voltage.lv_gas_turbine.desc": "&7合成ガス&rがあれば、&7LV&rでも&8ガスタービン&rを実用的に使うことができます。他の&6発電機&rと扱いはほとんど変わりませんが、&6燃焼発電機&rよりもわずかにコストパフォーマンスの面で優れています。", + "quests.low_voltage.lv_gas_syngas.title": "合成ガス", + "quests.low_voltage.lv_gas_syngas.subtitle": "木質ガスじゃないよ", + "quests.low_voltage.lv_gas_syngas.desc": "&7合成ガス&rの作成はとても簡単です。&6醸造機&rまたは&6Vacuum Chamber&r1台につき、&bコークス炉&rを3台用意するだけで十分です。そのうえで、エネルギー消費の不要な&bCreate式の自動植林施設&rで&7原木&rを集めれば、初期から&7ガス燃料&rを気軽に利用できるようになります。", + "quests.low_voltage.lv_naphtha_light.title": "ナフサと軽質燃料", + "quests.low_voltage.lv_naphtha_light.subtitle": "プラスチックづくりのついででも", + "quests.low_voltage.lv_naphtha_light.desc": "もし農業が本当に嫌いで、&6砂漠&rを探検したり、大量の&7オイルサンド&rを採掘したりする方が性に合うのであれば、&7ナフサ&r(&7原料油&r向け)や、&7軽質燃料&r(&7原油&r向け)といった燃料を検討するとよいかもしれません。\n\nどちらも比較的簡単に作れるわりに性能が良い燃料ですが、現段階では手作業で採取する必要があります。", "quests.low_voltage.lv_turbo_charge.title": "高速充電器", "quests.low_voltage.lv_turbo_charge.subtitle": "急速充電対応!", - "quests.low_voltage.lv_turbo_charge.desc": "&oこのクエストは進行に必須ではありません。快適な充電に興味のある人は参考にしてください。&r\n\n&3高速充電器&rは、&9ドリル&rなどの&6電力(RFやEU)&rを使うツールを非常に高速で充電できる装置です。\n\n1つのアイテムにつき最大4アンペアで充電することができるため、&3蓄電器&rなどの&6約2倍のスピード&rで充電できます。\nただし、蓄めた電力は、他の機械を動かすためには使えません!\n\n&eどの充電器でも&rこのクエストは達成できます。", + "quests.low_voltage.lv_turbo_charge.desc": "&oこのクエストは進行に必須ではありません。快適な充電に興味のある人は参考にしてください。&r\n\n&3高速充電器&rは、&9ドリル&rなどの&6電力(RFやEU)&rを使うツールを非常に高速で充電できる装置です。\n\n1つのアイテムにつき最大4アンペアで充電することができるため、&3蓄電器&rなどの&6約2倍のスピード&rで充電できます。\nただし、ためた電力は、他の機械を動かすためには使えません!\n\n&eどの充電器でも&rこのクエストは達成できます。", "quests.low_voltage.lv_turbo_charge.task": "Any Turbo Charger will do", "quests.low_voltage.lv_fisher.title": "魚釣り機", "quests.low_voltage.lv_fisher.subtitle": "魚と糸の等価交換", @@ -2673,7 +2833,7 @@ "quests.low_voltage.mold_plate.desc": "&6合金精錬炉&rを使うのはもうおしまいです。これから大量の&6ゴムシート&rが必要になりますし、将来のプラスチックの成型にも使えません。\n\n押出機でゴムシートを作ろうと思うかもしれませんが、&6液体成型機&rはそれ以外の様々な加工にも使え、押出機は&bMV&rに達するまではほとんど使い道がありません。", "quests.low_voltage.cupronickel_ingot.title": "キュプロニッケルインゴット", "quests.low_voltage.cupronickel_ingot.subtitle": "簡単な合金さ", - "quests.low_voltage.cupronickel_ingot.desc": "&7GregTechを進めていくには、新しい素材をどうにかして確保し、それによって機械をアップグレードしたり、高度な機械部品を解禁していくことが主要な流れになります。&r\n\n長い旅路の始まりに、最初に出会う合金は&bキュプロニッケル&rです。この素材は&6工業用電気炉&r(通称:EBF)を構築するために使われ、これは産業発展には欠かせません。\n\n幸い、キュプロニッケルの作成は&7基本型合金精錬炉&rで十分に対応できます。EBFのためには&b128個&r必要になりますが、思ったより簡単に作れます!&r\n\n後に要求される合金はどんどん複雑になっていきます。今のうちにこのシンプルさを楽しんでおきましょう。", + "quests.low_voltage.cupronickel_ingot.desc": "GregTechを進めていくには、新しい素材をどうにかして確保し、それによって機械をアップグレードしたり、高度な機械部品を解禁していくことが主要な流れになります。\n\n長い旅路の始まりに、&bキュプロニッケル&rという合金に出会います。この合金は&6工業用電気炉&r(通称:EBF)を初めて構築する時のために使うものであり、産業発展には欠かせません。\n\n幸い、キュプロニッケルの作成は&7合金精錬炉&rで十分に対応できます。EBFのためには&b128個&r必要になりますが、思ったより簡単に作れます!&r\n\n後に要求される合金はどんどん複雑になっていきます。今のうちにこのシンプルさを楽しんでおきましょう。", "quests.low_voltage.cupronickel_coil.title": "キュプロニッケルコイル", "quests.low_voltage.cupronickel_coil.subtitle": "コイルの赤ちゃん", "quests.low_voltage.cupronickel_coil.desc": "最初のEBF用のコイルを作るために、&aキュプロニッケルを128個&r、&aブロンズを32個&r、&a錫合金を16個&r用意しましょう。\n\nこれはEBFのコイルの部分の要求素材に過ぎません。さらにインバーとスチールをそれぞれ1スタックずつ用意する必要があるので、採掘も進めてください。\n\nキュプロニッケルコイルを使うことで、EBFは最大&d1,800K&rのレシピを処理できるようになります(電圧ボーナスは無視)。なかなかアツいですね。\n\n「&6GregTechの電力システム&r&6」の章にある機械高炉に関する説明も確認して、さらに詳しく学んでください!&r", @@ -2681,6 +2841,7 @@ "quests.low_voltage.lv_ebf.subtitle": "GregTechの中心で、愛を叫ぶ", "quests.low_voltage.lv_ebf.desc.1": "このクエストでは&3工業用電気炉&r(通称:EBF)の基本的な仕組みを学べます。一つ上のクエストでは、マルチブロック構造の仕組みを解説するので、そちらも忘れずにチェックしましょう。\n\nさて、&3EBF&rはあなたにとって&e初めての電動大型機械&rです!おめでとうございます!\nEBFは高温で素材を加工するために使います。\n\nEBFを使えば、&aアルミニウム&rを作って&d&bMV時代&rへ進めます。また、&7スチール&rを&6TFCの高炉&rよりも速く作れるので、愛着がなければ、もう時代遅れなTFCの鍛冶場を取り壊しても問題ありません。", "quests.low_voltage.lv_ebf.desc.2": "EBFはかなりの電力を必要とする機械です。稼働には最低&9120EU/t&rが必要で、これは&7LV&r発電機約4基分に相当します。\n\nEBFと蓄電器の近くに新しく発電機を用意して、専用の発電ラインを作ることを検討しましょう。ケーブルによる電力損失には注意してください。", + "quests.low_voltage.lv_ebf.desc.3": "EBFが点滅したり、必要な量の電力を受け取れていなかったりしませんか?その場合、おそらく&eケーブルによる電力損失&rが発生しています。詳しくは「GregTechの電力システム」の章を読んで、この仕組みを理解しておくと良いでしょう。\n\n発電機はできるだけEBFの近くに配置し、適切なケーブルを使ってください。上の画像のように配置した2倍錫ケーブルを使うことをおすすめします。", "quests.low_voltage.multiblock_tech.title": "マルチブロック構造について", "quests.low_voltage.multiblock_tech.subtitle": "デカいことはいいことだ", "quests.low_voltage.multiblock_tech.desc": "これは、初めて&bEBF&rを作る方に向けた、マルチブロックの&6基本&rの説明です。\n\nマルチブロックのカスタマイズの幅は広いです。マルチブロックの本体となるブロック(コントローラーといいます)に&6U&rキーを押し&6EMI&rのマルチブロック情報を開き、構造ブロックを&6左クリック&rしてどの種類のブロックが使えるかを確認してみましょう。\n\n重要なポイントとして、エネルギーハッチはそれぞれ1つで&a2A&rまで対応でき、&7LV&rでは&a64EU/t&rを受け取れます。つまり、2つあれば&eEBF&rは&a128EU/t&r(MV相当の電圧)で動かせます。\n\n詳しい仕組みは「&eGregTech電力システム&r」章の「&e電力運用について&r」の項目を参照してください。\n\nマルチブロックにはさまざまな面白い仕組みがありますが、最初は難しく考える必要はありません。進めながら少しずつ理解していきましょう。", @@ -2701,6 +2862,12 @@ "quests.low_voltage.mv_hull.subtitle": "MVへの入り口", "quests.low_voltage.mv_hull.desc1": "よくぞここまで来ましたね!&bMVマシン筐体&r、&b改良型電子回路&r、&6基本型回路作成機&rがあれば、正真正銘、MV時代に到達です!\n\nこれが&6GregTech&rの基本的な流れです。新しいティアに進むたびに、新たな&6素材&rや&6化学物質&rを使って、より高度な&6機械&rを作っていくことになります。\nこんなにすばらしい体験をすることができるなんて、羨ましい限りです。", "quests.low_voltage.mv_hull.desc2": "&bMV&rに進む前に、&6TFG&rでは、&6Create&rのマシンを使ってインフラを補強することも可能です。アルミニウム製のシャフトや歯車はスチール製のものより許容応力が4倍あるので、それらを活用すればマシンをより高速に、安全に稼働させられます。", + "quests.low_voltage.aluminium_greate.title": "Greate-アルミニウムの世界", + "quests.low_voltage.aluminium_greate.subtitle": "中応力(Medium Stress)の時代", + "quests.low_voltage.aluminium_greate.desc": "前回のアップグレードから少し時間が経ちましたが、ここでさらに上位のGreateの機構が使えるようになります。以前と同様に、アルミニウム製のものはスチール製のものよりも &b4倍&rの応力容量があります。\n\nこの先からは、Greateに全く触れずとも進められますが、もしGreateに愛着がある場合は、この機会にこれまで使っていた機構を取り換えることをおすすめします。\n\n応力供給をさらに強化したいなら&e蒸気エンジン&rの利用や、&9Create Additions&rの&e電動モーター&rを使ってEUをSUに変換することなどもできます。", + "quests.low_voltage.oil.title": "Found Oil early?", + "quests.low_voltage.oil.subtitle": "For LV overachievers", + "quests.low_voltage.oil.desc": "旅の途中でオイルサンドの鉱石や、砂漠にある原油噴出口を見つけていれば、LVの段階でも原油の活用ができます。まだフル活用はできませんが...\n\n重質燃料にしてボイラーの燃料として使うこともできますが、&bポリエチレン&rの作成に使うのもおすすめです!\n\nポリエチレンの本格的な活用についてはMVの章で説明しますが、この時点でもマシン筐体やダイオードなどを安価に作るために使うことができます。", "quests.medium_voltage": "&bMV&r - 中電圧時代", "quests.medium_voltage.subtitle": "新たな電気機械と石油化学の時代", "quests.medium_voltage.mv_machine_hull.title": "MVへようこそ", @@ -2712,7 +2879,7 @@ "quests.medium_voltage.mv_miner.title": "自動採掘", "quests.medium_voltage.mv_miner.subtitle": "鉱脈採掘がめんdな人向け", "quests.medium_voltage.mv_miner.desc.1": "採掘機はあなたの代わりに鉱石を掘ってくれます。\n\n採掘できる範囲については、垂直方向は無制限、水平方向はアイテムの説明に書いてあります。\n\n&bMV&r採掘機の採掘範囲はそこそこ、鉱脈全体を掘るには至りませんが、&6HV&r採掘機なら鉱脈全体を掘ることができます。いずれかの種類の採掘機を作成することで、クエストクリアとなります。", - "quests.medium_voltage.mv_miner.desc.2": "採掘機の稼働には&9電力&rが必要です。&aバッテリー&rでも良いですが、電池切れになりがちです。\n\nおすすめの方法は、燃料を入れた&3ドラム&rと&3発電機&rを置いておくことです。\n\n発電機の上に燃料ドラムを置き、&5ソフトマレット&rで自動搬出をオンにすれば、ドラムから燃料を供給してくれます。", + "quests.medium_voltage.mv_miner.desc.2": "採掘機の稼働には&9電力&rが必要です。&aバッテリー&rでも良いですが、電池切れになりがちです。\n\nおすすめの方法は、燃料を入れた&3ドラム&rと&3発電機&rを置いておくことです。\n\n発電機の上に燃料ドラムを置き、&5ソフトマレット&rまたは&5スクリュードライバー&rで自動搬出をオンにすれば、ドラムから燃料を供給してくれます。", "quests.medium_voltage.mv_miner.desc.3": "&c注:&r稼働の際には、採掘したい範囲の&dチャンクロード&rを忘れずに。FTBmapのチャンクロード機能で行うのが一番簡単です。\n\n&9まめちしき:&r&3MEチェスト&rや&3クレート&rを使うことで、採掘したアイテムの持ち帰りが楽になります。&3MEチェスト&rはEU電力でも稼働出来ますが、現時点では作れません。", "quests.medium_voltage.mv_miner.task": "いずれかの採掘機", "quests.medium_voltage.mv_component.title": "MVの中間素材", @@ -2760,14 +2927,14 @@ "quests.medium_voltage.mv_fluid_rig.desc.1": "&3液体採掘機&rのコストは猛烈に高いです。しかし、MV時点では最強の&6石油入手手段&rでもあります。\n\n液体採掘機は、地底の岩盤から液体を掘り出す機械です。岩盤から掘り出すといっても、実際に掘っているわけではなく、チャンクごとに設定されている液体を生成する、というのが正確です。\n\nGT環境ではチャンクごとに液体の油田が設定されています。それぞれに異なる液体が設定されていますが、大半は石油系の液体です。\n\nMVの段階では、チャンクごとに埋蔵されている液体の種類を事前に確認する手段は存在しません。&6HV&rまで待ちましょう。", "quests.medium_voltage.mv_fluid_rig.desc.2": "各チャンクからは、おおよそ秒間&d150&r~&d300&rL程度液体が生成されます。\n\n液体採掘機の稼働を続けると、次第にこの生成量が減少していき、最終的には枯渇します。枯渇したら他の場所に移動しましょう。\n\nMVの液体採掘機は、1か所の油田につき、枯渇までに10万サイクル(毎秒1サイクル)採掘処理を行います。この10万サイクルの間に、合計で&6バケツ1万杯分&rをゆうに超える量の液体を入手できます。上位のモデルになると、液体の入手速度が上昇する一方で、より早く液体が枯渇するようになります。", "quests.medium_voltage.mv_fluid_rig.desc.3": "&l&2地上世界&rで見つかる油田&l:&r\n\n&9原油:&r&a軽質燃料&rが多く得られる。汎用性が高い。\n&9軽油:&r&a精製ガス&rが多く得られる。発電手段として有用。\n&9重油:&r&a重質燃料&rが多く得られる。トルエンの材料。\n&9原料油:&r&aナフサ&rが多く得られる。石油化学工業のお供。\n&9天然ガス:&r&a精製ガス&rが簡単に得られる。\n&9海水:&r&aナトリウム&rと&a塩素&rが得られる。", - "quests.medium_voltage.mv_fluid_rig.desc.4": "&l&c地下世界&rで見つかる油田&l:&r\n\n&9天然ガス:&r&a精製ガス&rが得られる。地上世界より産出量が多い。\n&9溶岩:&r説明不要。\n\n最初はとりあえず色々な場所を掘ってみるのが吉です。多くの場合、堀った液体はそのまま採掘機の稼働に使えます。", + "quests.medium_voltage.mv_fluid_rig.desc.4": "&l&c地下世界&r(Beneath)で見つかる油田&l:&r\n\n&9天然ガス:&r&a精製ガス&rが得られる。地上世界より産出量が多い。\n&9溶岩:&r説明不要。\n\n最初はとりあえず色々な場所を掘ってみるのが吉です。多くの場合、堀った液体はそのまま採掘機の稼働に使えます。", "quests.medium_voltage.mv_oilsands.title": "アメリカごっこ", "quests.medium_voltage.mv_oilsands.subtitle": "本クエストは米軍の提供でお送りしています", "quests.medium_voltage.mv_oilsands.desc": "地下にはオイルサンドの鉱脈が存在します。オイルサンドの粉を&3遠心分離&rすると、&a原油&rが入手できます。\n\n&9&lまめちしき:&r&l&9&lエチレン&r&lの作成方法には、他にも植物から採れるエタノールを使った方法があります。&r&r\n\n現段階では石油は不要ですが、&5EV&r時代には必須となります。\n\nまた、石油からは&a軽質燃料&r&aディーゼル&r、&aガソリン&rなど有用な燃料が得られます。\n\nゆえに、プラスチックの作成に石油を使うのであれば、石油を使った発電も検討することをおすすめします。\n\nオイルサンドは、この先液体採掘機を作成するまで、長くお世話になるアイテムです。", "quests.medium_voltage.mv_lpg.title": "燃料紹介シリーズ:ガス編", "quests.medium_voltage.mv_lpg.subtitle": "くさそう", "quests.medium_voltage.mv_lpg.desc.1": "&a精製ガス&r、&aLPG&r、&aメタン&rは&9ガス燃料&rに分類されます。LPGは炭素と水素からなるガスで、燃焼させて利用します。\n\n精製ガスは&d天然ガス&rまたは&d軽油&rから作成されます。後者は生成量が多いですが、作成にやや複雑な手順が要求されます。\n\n&3遠心分離機&rで&aLPG&rと&aメタン&rを作るのは必ず行うようにしましょう。", - "quests.medium_voltage.mv_lpg.desc.2": "&a&aLPG&rや&aMethane&rは&3ガスタービン&r発電に利用されます。天然ガス系燃料の強みは、精製の簡単さです。しかしながら、より高性能な上位燃料に再精製することができないため、長期的には天然ガスの採掘量自体を増やす必要があります。\n\nまた、&aメタン&rは&a植物&rから生産することもできます。他にも様々な燃料があるので、確認しておきましょう。", + "quests.medium_voltage.mv_lpg.desc.2": "&a&aLPG&rや&aメタン&rは&3ガスタービン&r発電に利用されます。天然ガス系燃料の強みは、精製の簡単さです。しかしながら、より高性能な上位燃料に再精製することができないため、長期的には天然ガスの採掘量自体を増やす必要があります。\n\nまた、&aメタン&rは&a植物&rから生産することもできます。他にも様々な燃料があるので、確認しておきましょう。", "quests.medium_voltage.mv_brewery.title": "発酵の時間", "quests.medium_voltage.mv_brewery.subtitle": "かもすぞー", "quests.medium_voltage.mv_brewery.desc.1": "醸造機は、&a潤滑油&rの作成に使える機械です。材料には&aレッドストーン&rと&aクレオソート&rまたは&a石油&rを使用します。潤滑油の用途には、たとえば&3裁断機&rの加工速度を大幅に向上させる、などがあります。\n\n醸造機の加工速度はとても遅いですが、代わりに電力消費がとても少ないです。プラスチックに必要な分のバイオマスを作成するには、複数台の醸造機を設置するとよいでしょう。\n\n&9ヒント:&r醸造機でなく、&3熱分解炉&rでも&9エチレン&rを作成することは可能です。また、石油から作成する方法も存在します。&r", @@ -2784,9 +2951,13 @@ "quests.medium_voltage.mv_distillery.desc.3": "しかし、だからといって&3蒸留機&rが完全な劣化版かといえば、そうではありません。蒸留機は蒸留塔よりも早く解禁されるうえ、&d小型&rかつ&d低コスト&rで、さらに&d省エネ&rです。\n\nそもそも、蒸留されるすべての液体が必要になることは滅多にありません。\n\nまた、&3蒸留機&rは&aディーゼル&rや&aベンゼン&rといった、燃料の作成にも必要となります。\n\nたいていの場合、将来的には下位の蒸留機を大量に作成することになります。", "quests.medium_voltage.mv_distillery.task": "LVまたはMVの蒸留機", "quests.medium_voltage.mv_benzene.title": "燃料紹介シリーズ:ベンゼン編", - "quests.medium_voltage.mv_benzene.subtitle": "伝家の宝刀", + "quests.medium_voltage.mv_benzene.subtitle": "かつての栄光", "quests.medium_voltage.mv_benzene.desc.1": "&aベンゼン&rは&9ガス燃料&rのひとつです。説明を読んでいられない人のために、まずは入手方法から紹介していきます。\n\n1つ目の入手方法は、&d原木&rから作成する方法です。&3熱分解炉&rで原木を加工することで、&9木質タール&rを作成することができます。木炭も、&3抽出機&rで&9木質タール&rに加工することができます。作成した木質タールを&3蒸留&rすることで、&aベンゼン&rを作ることができます。\n\nもうひとつの方法は、&d重油&rを精製する方法です。重油を&3醸造機&rで加工することにより、&9重質燃料&rを作ることができます。これを&a蒸気で分解&rし、&3蒸留&rすることで、&aベンゼン&rになります。", - "quests.medium_voltage.mv_benzene.desc.2": "石油関連のレシピについては、軽質燃料とナフサに関するクエストを参照してください。\n\nなお、Gregtechにおいては、多くの下位機械で並列作業する方が、少数の上位機械で加工するよりも良いことが多いです。これは、上位機械になるほど消費電力が多いからです。\n\n&aベンゼン&rは&3ガスタービン&rで使用することができます。&eディーゼル&rに比べてベンゼンの発電効率は悪いですが、 &6HV&r時代になると&6ニトロベンゼン&rへの加工が可能となり、大幅に発電効率が上昇します。", + "quests.medium_voltage.mv_benzene.desc.2": "石油関連のレシピについては、軽質燃料とナフサに関するクエストを参照してください。\n\nなお、Gregtechにおいては、多くの下位機械で並列作業する方が、少数の上位機械で加工するよりも良いことが多いです。これは、上位機械になるほど消費電力が多いからです。\n\n&aベンゼン&rは&3ガスタービン&rで使用することができます。&eディーゼル&rに比べてベンゼンの発電効率は悪いですが、&6改質ガス&rに精製すれば性能を底上げできます。どの発電方式を選ぶかは、最終的にはプレイヤーであるあなたの判断に委ねられています。", + "quests.medium_voltage.mv_benzene.desc.3": "&l&3余談:&r&oベンゼンはGTCEuの頃からずっと抜群に強力なガス燃料で、あまりにも強力だったのでミームにまでなってたんだよ。でも今は、その栄光は見る影もなくなって...以前ほどの活躍は見込めないかもね。", + "quests.medium_voltage.reformate_gas.title": "ガス革命", + "quests.medium_voltage.reformate_gas.subtitle": "引導を渡す", + "quests.medium_voltage.reformate_gas.desc": "&8改質ガス&rは、&bMV&rでのガス燃料として非常に優秀です。MVでガス発電を選ぶならぜひ主力にしたい燃料です。最適な効率で運用するには、&61基の液化塔&rと&62基の熱分解炉&rをそろえるだけでよく、そこからはこの優秀なガスを安定して生産できます。\n\nただし、その前に&5レニウム&rを確保する必要があります。これは&7TerraFirmaCraft&rの暑く乾燥したバイオームでのみ入手できる新しい素材です。使用量はごく少ないため、鉱脈を1つ見つけてしまえば、モッドパックの終盤まで、少なくとも&6HV&rに到達するまでは十分足りるでしょう。&6HV&rに到達し、&6クラッカー&rを使えるようになれば、このガスは事実上無限供給も可能になります。", "quests.medium_voltage.mv_light_fuel.title": "軽質燃料", "quests.medium_voltage.mv_light_fuel.subtitle": "とてもかるい", "quests.medium_voltage.mv_light_fuel.desc": "石油の蒸留で得られる燃料には硫黄が含まれているため、それらを除去するための手順が必要です。\n\n水素との反応で作られる&a硫化水素&rは、&3電解槽&rを用いることで再利用することができます。\n\n&3化学反応器&rと&3電解槽&rを隣接させることで、このプロセスを簡単に自動化することができます。この方法を使う場合、機械の設定画面を開き、搬出面からの搬入を許可するように設定しましょう。\n\n&a軽質燃料&rは、そこそこ高性能な燃料です。ただし、次のクエストではさらに高性能な燃料が紹介されています。", @@ -2795,6 +2966,10 @@ "quests.medium_voltage.mv_diesel.desc.1": "&aディーゼル&rは、&d石油から作れる&9液体燃料&rです。\n\n原油または原料油から&a軽質燃料&rと&a重質燃料&rを作成し、それらを混合してディーゼルにする場合、前者の作成に蒸留機を3基、後者に2基用いることで、ちょうどよい割合になります。", "quests.medium_voltage.mv_diesel.desc.2": "また、&d重油&rから&a重質燃料&rを作成することで、コストを大幅に減らすことができます。また、&dオイルサンド&rから得られる石油を使うのも有効です。\n\n&o(詳細:原油8.33->ディーゼル6、原油5+重油0.4->ディーゼル6)&r\n\n&eヒント:&r&3蒸留塔&rの使用はおすすめしません。蒸留塔では重質燃料と軽質燃料の両方が一気に得られますが、消費電力に対して得られる燃料の量が少なく、効率がとても悪いです。", "quests.medium_voltage.mv_diesel.desc.3": "したがって、下位の蒸留機を多数作成して加工する方が、結果的にはお得です。\n\n&aディーゼル&rは&3燃焼発電機&rで使用することができます。また、&6HV&r時代になると、&6セタン添加ディーゼル&rへの加工が解禁されます。他の燃料に比べ、ディーゼルはより高効率ですが、引き換えに精製プロセスがやや複雑です。&e石油プラスチック&rを目指す場合であれば、既存の機械で作成できるため、選択肢として有効でしょう。", + "quests.medium_voltage.coal_tower.title": "液化塔", + "quests.medium_voltage.coal_tower.subtitle": "マルチブロックなんてあればあるだけいいですからね", + "quests.medium_voltage.coal_tower.desc.1": "&b液化塔&r は、&a改質ガス&rをはじめ、&7コールタール&rや&7合成ガス&rなどの副産物を作るための新しい&bマルチブロック機械&rです。使う&9コイル&rの素材によって、&7EU/t&rの消費量が割引されます。コイルにカーソルを合わせてshiftを押せば、その割引効果を確認できます。\n\nまた、&9液化塔&rは&8水素&rを投入することで稼働をブーストでき、処理時間が短くなる分、消費エネルギーも削減されます。動かす際は、適切な&6回路番号&rの設定を忘れないようにしてください。\n\n補足として、1秒=20tickです。そのため、tickごとの消費量に20を掛ければ、1秒あたりの消費量が求められます。", + "quests.medium_voltage.coal_tower.desc.2": "&l&3余談:&r&o実は、核分裂炉を作った人と、液化塔の初期デザインを作った人は同じなんだよ。すごいな。", "quests.medium_voltage.mv_jetpack.title": "鳥人間あらわる", "quests.medium_voltage.mv_jetpack.subtitle": "鳥……鳥?", "quests.medium_voltage.mv_jetpack.desc": "ジェットパックと&a液体燃料&rがあれば、飛行することができます。\n\nジェットパックに燃料を入れるには、ドラムまたは缶詰機が必要です。\n\n&4H&r(初期設定)を押すと、ホバーモードへの切り替えが可能です。", @@ -2846,9 +3021,6 @@ "quests.medium_voltage.mv_polyethylene.title": "ポリエチレン", "quests.medium_voltage.mv_polyethylene.subtitle": "はじめてのポリマー素材", "quests.medium_voltage.mv_polyethylene.desc": "要するにプラスチックです。\n\n&a酸素&rを材料に使用することで、普通の空気よりも多くのポリエチレンが得られます。液体ポリエチレンは、ゴムと同様に、液体成型機で固体にすることができます。\n\n&aポリエチレン(PE)&rは多くのレシピで使用されます。特に、&dシート&rや&d液体ポリエチレン&rが使われることが多いです。\n\n&l&3おまけ:&r&o1.12.2時代、ポリエチレンの鉱石辞書における名称は&bplastic&fでした。これは互換性を重視したためです。", - "quests.medium_voltage.mv_tank.title": "スーパータンク", - "quests.medium_voltage.mv_tank.subtitle": "最強タンク1選!", - "quests.medium_voltage.mv_tank.desc": "スーパータンクは、携帯可能な中では文字通り最強のタンクです。バケツ&64000杯&r分もの容量を持ち、温度や酸性による制限もありません。\n\nドラムと同様に、スーパータンクは破壊されても液体を保持します。単体クラフトで、内部の液体を除去することができます。\n\nさらに強力な液体貯蔵手段が欲しいのであれば、上位のスーパータンクを使用するか、AE2の液体セルを使用しましょう。", "quests.medium_voltage.mv_pvc.title": "ポリ塩化ビニル", "quests.medium_voltage.mv_pvc.subtitle": "第二のポリマー", "quests.medium_voltage.mv_pvc.desc": "&aポリ塩化ビニル(PVC)&rは、現実世界において3番目に多く製造されているプラスチックです。ポリエチレンの代わりに&aプラスチック製回路基板&rの作成に使用することで、製造数を倍にすることができます。&5EV&r時代以降では、ケーブルの被覆にも必要になります。\n\nまた、PVCアイテムパイプは非常に高性能で、これ以上のものは当面解禁されません。MV時点ではそれほどの性能を要求される場面はありませんが、今後のために覚えておきましょう。\n\n&9ヒント:&rGTCEuにおいてPVCを液体で使用する場面は存在しないため、すべてシートに加工してしまっても問題ありません。", @@ -2944,7 +3116,10 @@ "quests.medium_voltage.mv_cpu.desc": "&a&eCPU&rは最も重要な技術のひとつです。\n\n特に&eCPUウェハー&rは、&2化学反応器&rでさらに強化することができます。\n\nひとまず、今は&eCPUチップ&rを使って、上位&bMV&r回路の作成をめざしましょう。\n\nいくらか余らせておくと、将来役に立ちます。", "quests.medium_voltage.lsb.title": "もっとたくさんの蒸気を", "quests.medium_voltage.lsb.subtitle": "有用(燃料が十分にあるなら)", - "quests.medium_voltage.lsb.desc": "今後も&3蒸気ボイラー&rを使い続けるのであれば、そろそろ&3スチール製大型蒸気ボイラー&rを作成した方がよいです。\n\nブロンズ製よりもやや高効率で、最大&d1800mB/t&rの蒸気を生成します。\n\nとはいえ、MV以降は他の発電方法を使った方がよいです。", + "quests.medium_voltage.lsb.desc": "今後も&3蒸気発電&rを使い続けるのであれば、そろそろ&3スチール製大型蒸気ボイラー&rを作成した方がよいです。\n\nブロンズ製よりもやや高効率で、最大&d1800mB/t&rの蒸気を生成します。\n\nとはいえ、MV以降は他の発電方法を使った方がよいです。", + "quests.medium_voltage.stainless_greate.title": "Greate-ステンレスバージョン", + "quests.medium_voltage.stainless_greate.subtitle": "HS - 高応力時代", + "quests.medium_voltage.stainless_greate.desc": "このクエストは、今のタイミングでGreateに新たなアップグレードが追加されていることを知らせるためのものです。\n\n特に新しい破砕ホイールはかなり役立ってくれるでしょう。HV粉砕機と同じように副産物を回収できるうえ、複数のアイテムを同時処理できるので、作業効率が大幅に上がります!", "quests.metal_age": "金属時代", "quests.metal_age.subtitle": "鉱石を捧げよ", "quests.metal_age.weld_bronze_ingots.title": "ブロンズの溶接", @@ -3040,7 +3215,7 @@ "quests.metal_age.weak_steel.task3": "1つのブラックブロンズ", "quests.metal_age.highcarb_black_steel.title": "黒鋼の材料", "quests.metal_age.highcarb_black_steel.subtitle": "質量保存の法則は適用されません", - "quests.metal_age.highcarb_black_steel.desc": "最後の2つの金床は、作成に多くの金属を必要とする複雑な合金で作ることができます。\n軟鋼と銑鉄を溶接して高炭素黒鋼を作成し、それを金床で鍛造して黒鋼にすることができます。", + "quests.metal_age.highcarb_black_steel.desc": "最後の2つの金床は、作成に多くの金属を必要とする複雑な合金で作ることができます。\n軟鋼と銑鉄を溶接して高炭素黒鋼を作成し、それを金床で鍛造して黒鋼にすることができます。\n\n高圧蒸気式合金精錬炉があれば、黒鋼などの色つき鋼の&6生産効率が2倍&rになります。", "quests.metal_age.black_steel_anvil.title": "第五の金床:黒鋼", "quests.metal_age.black_steel_anvil.subtitle": "蒸気の力をその手の中に!", "quests.metal_age.black_steel_anvil.desc": "黒鋼の金床を使用すると、黒鋼のインゴットをさまざまなアイテムに加工できるようになります。\n\nまた、「初期の自動化」の章の中で高圧蒸気力に関連する大規模な項目が解放されました!\n\nここから、工業化に向けてまっすぐ進むことも、あるいは必要に応じて最上位の金床を完成させることもできます。\nただし、色つきの鋼を永遠に避けることはできません!", @@ -3066,10 +3241,10 @@ "quests.metal_age.weak_blue_steel.bismuth_bronze": "1つのビスマスブロンズ", "quests.metal_age.highcarb_red_steel.title": "赤鋼の材料", "quests.metal_age.highcarb_red_steel.subtitle": "核分裂反応ってこんな感じだっけ?", - "quests.metal_age.highcarb_red_steel.desc": "赤鋼のための高炭素赤鋼は、軟赤鋼と黒鋼を溶接することによって作られます。\nこれを赤鋼にするには、金床で鍛造する必要があります", + "quests.metal_age.highcarb_red_steel.desc": "赤鋼のための高炭素赤鋼は、軟赤鋼と黒鋼を溶接することによって作られます。\nこれを赤鋼にするには、金床で鍛造する必要があります。\n\n高圧蒸気式合金精錬炉があれば、赤鋼などの色つき鋼の&6生産効率が2倍&rになります。", "quests.metal_age.highcarb_blu_steel.title": "青鋼の材料", "quests.metal_age.highcarb_blu_steel.subtitle": "このレシピ、ラボアジエがみたらどう思うでしょう", - "quests.metal_age.highcarb_blu_steel.desc": "青鋼のための高炭素青鋼は、軟青鋼と黒鋼を溶接することによって作られます。\nこれを青鋼にするには、金床で鍛造する必要があります", + "quests.metal_age.highcarb_blu_steel.desc": "青鋼のための高炭素青鋼は、軟青鋼と黒鋼を溶接することによって作られます。\nこれを青鋼にするには、金床で鍛造する必要があります。\n\n高圧蒸気式合金精錬炉があれば、青鋼などの色つき鋼の&6生産効率が2倍&rになります。", "quests.metal_age.redblu_anvil.title": "第六の金床:赤鋼・青鋼", "quests.metal_age.redblu_anvil.subtitle": "おしまい?それともはじまり?", "quests.metal_age.redblu_anvil.desc": "最上級の金床である赤鋼・青鋼の金床を使用すると、赤鋼と青鋼の両方のインゴットをさまざまなアイテムに加工できます。\n\nこれはTerraFirmaCraftの進行の終わりを示しています。これからは本格的なGregの進行が始まります。", @@ -3211,17 +3386,18 @@ "quests.space_survival.flag.task": "いずれかの旗", "quests.space_survival.chorus.title": "コーラスフルーツ", "quests.space_survival.chorus.subtitle": "エンド?", - "quests.space_survival.chorus.desc": "月面において得られる中で、&5コーラスフルーツ&rはかなり重要なアイテムです。コーラスフルーツからは、窒素が入手できます。コーラスプラントを見つけたら、かならず頂上の花を破壊して回収しましょう。さもなくば、コーラスフラワーは手に入りません。コーラスフラワーを電動グリーンハウスで育てることで、コーラスフルーツを手に入れることができます。これを醸造機に入れるとバイオマスが、発酵槽に入れれば窒素が得られます。バイオマスは、蒸留することで炭素になるため、ロケット燃料の材料にもなります。", + "quests.space_survival.chorus.desc": "月面において得られる中で、&5コーラスフルーツ&rはかなり重要なアイテムです。コーラスフルーツからは、窒素が入手できます。コーラスプラントを見つけたら、かならず頂上の花を破壊して回収しましょう。さもなくば、コーラスフラワーは手に入りません。コーラスフラワーを電気温室で育てることで、コーラスフルーツを手に入れることができます。これを醸造機に入れるとバイオマスが、発酵槽に入れれば窒素が得られます。バイオマスは、蒸留することで炭素になるため、ロケット燃料の材料にもなります。", "quests.space_survival.rover.title": "スペースローバー", "quests.space_survival.rover.subtitle": "脱出用ビークル", "quests.space_survival.rover.desc": "宇宙にはジェットパックを持ち込めません。飛行機は大気圏外では飛びません。馬は生存できません。そんな中で、移動手段があるのでしょうか?\n\n実はあります。&b探査車&rは液体燃料で走る2人乗りのビークルです。内部にインベントリを備えており、加えてラジオも搭載。ラジオでは、現実世界のラジオをストリーミング再生することができます。", "quests.space_survival.solar_panels.title": "ソーラーパネル", "quests.space_survival.solar_panels.subtitle": "お天道様は見ているぞ", "quests.space_survival.solar_panels.desc": "月面で使える発電手段はあまり多くありません。そんな中で活躍するのが&eソーラーパネル&rです。\n\n昼間限定にはなりますが、月面のソーラーパネルはノーコストで&932EU/t&r相当の電力を生み出します。地球上での発電量は、月面の8分の1になります。大量に用意して、月に並べておきましょう。", + "quests.space_survival.solar_panels.task": "Any FE to EU converter", "quests.space_survival.stone_dust_centrifuging.title": "ヘリウム3", "quests.space_survival.stone_dust_centrifuging.subtitle": "声が高くなるやつ", "quests.space_survival.stone_dust_centrifuging.desc.1": "月面には大量の&eヘリウム3&rが存在します。月の石の成分として含まれるヘリウム3は、重要資源のひとつです。主な入手方法は2種類あります。\n\n1.石を粉砕し、遠心分離する。砕石機では生石を無限生産することができるので、これで得られる石を使いましょう。\n\n月面で生産できるのは、斜長岩・ノーライト・響岩の3種です。これらを加工することで、ヘリウム3は無限資源になります。", - "quests.space_survival.stone_dust_centrifuging.desc.2": "2.&9液体採掘機&rで掘る。こちらは簡単ですが、副産物は特に得られません。\n\nヘリウム3の用途はいくつか挙げられますが、特に重要なのは呼吸するための空気の確保でしょう。また、ヘリウム3は電動グリーンハウスの肥料としても使用でき、コーラスフルーツの成長を加速することができます。さらには、将来核融合炉が完成すれば、核融合発電の燃料にもなります。", + "quests.space_survival.stone_dust_centrifuging.desc.2": "2.&9液体採掘機&rで掘る。こちらは簡単ですが、副産物は特に得られません。\n\nヘリウム3の用途はいくつか挙げられますが、特に重要なのは呼吸するための空気の確保でしょう。また、ヘリウム3は電気温室の肥料としても使用でき、コーラスフルーツの成長を加速することができます。さらには、将来核融合炉が完成すれば、核融合発電の燃料にもなります。", "quests.space_survival.stone_dust_centrifuging.task": "いずれかのアイテム", "quests.space_survival.compressed_gases.title": "圧縮空気", "quests.space_survival.compressed_gases.subtitle": "純粋酸素を吸うのはやめましょう", @@ -3320,7 +3496,7 @@ "quests.space_survival.t2_space_suit.desc": "この宇宙服があれば、&b極低温&r、&c極高温&rのいずれにも対応できます。さもなくば、&6金星&rや&5水星&rでは、足を踏み入れた途端に死んでしまうでしょう。\n\nちなみに、防御力と酸素の容量も上昇しています。", "quests.space_survival.mars_tapping.title": "赤い樹液と歪んだ樹液", "quests.space_survival.mars_tapping.subtitle": "樹液集めはお好き?", - "quests.space_survival.mars_tapping.desc": "真紅のキノコ、歪んだキノコからは、それぞれ専用の樹液が得られます。\n\n&9ヨウ素&rを作るには、両方の樹液が必要です。ただし、両者は多くの場合別々の場所に生えているため、ある程度探索も必要になるでしょう。真紅のキノコは主に東側で、歪んだキノコは西側でみられます。\n\nちなみに、樹液はGregtechのパイプでも集めることができます。\n\n&9おまけ:&r真紅のキノコからはカヌーを、歪んだキノコからはボートやスループを作成することができます。", + "quests.space_survival.mars_tapping.desc": "真紅のキノコ、歪んだキノコからは、それぞれ専用の樹液が得られます。\n\n&9ヨウ素&rを作るには、両方の樹液が必要です。ただし、両者は多くの場合別々の場所に生えているため、ある程度探索も必要になるでしょう。真紅のキノコは主に東側で、歪んだキノコは西側でみられます。それらに対応したエンダーマンを倒すことでも入手することができます。\n\nちなみに、樹液はGregtechのパイプでも集めることができます。\n\n&9おまけ:&r真紅のキノコからはカヌーを、歪んだキノコからはボートやスループを作成することができます。", "quests.space_survival.iodine.title": "ヨウ素", "quests.space_survival.iodine.subtitle": "キノコ化学のはじまり", "quests.space_survival.iodine.desc": "歪んだキノコ、真紅のキノコの樹液を混ぜたものに、火星の大気を蒸留して得られるクリプトンを加え、それを核分裂炉の熱で熱することにより、ヨウ素を手に入れることができます。\n\nこの加工には時間がかかりますが、使用量は多くないので心配ご無用。Ad Astraをさらに進めれば、もっと簡単にヨウ素を作れるようになります。", @@ -3444,7 +3620,7 @@ "quests.steam_age.fluid_pipes.desc.2": "&aメモ:&r1秒は20ティックです。これはサーバーに遅延が発生していないときの話ですが...\n\n&d注:&r GT6スタイルのパイプが有効になっています。つまり、パイプを配置すると、パイプを置いた面のブロックにのみ接続されます。もっといろんなブロックにつなげたいなら、パイプにレンチを使用しましょう。\n\nパイプをレンチでスニーク右クリックして、一方通行にすることができます。これは、液体が望ましくない方向に移動することを防ぐのに役立ちます。", "quests.steam_age.fluid_drums.title": "効率的な液体ストレージ", "quests.steam_age.fluid_drums.subtitle": "木の樽に融けた鋼を入れておけると思います?", - "quests.steam_age.fluid_drums.desc.1": "&6TFG&rをやっていて、扱う液体の種類の多さに&4圧倒&rされてませんか? それらを保管しておく方法を探していたら読んでください。\n\nご紹介しましょう... &aドラム&r!これらには大きな内部容量があります。&aドラム&rは壊されても内部の液体を&d保持します&r。ソフトマレットで右クリックすると、ドラムは下方向に内容物を自動搬出してくれます。", + "quests.steam_age.fluid_drums.desc.1": "&6TFG&rをやっていて、扱う液体の種類の多さに&4圧倒&rされてませんか? それらを保管しておく方法を探していたら読んでください。\n\nご紹介しましょう... &aドラム&r!これらには大きな内部容量があります。&aドラム&rは壊されても内部の液体を&d保持します&r。ソフトマレットまたはスクリュードライバーで右クリックすると、ドラムは下方向に内容物を自動搬出してくれます。", "quests.steam_age.fluid_drums.desc.2": "&l&3余談:&r&oこのドラムたちは、実はGregTech6から移植されたものなんだぜ。", "quests.steam_age.boilers.title": "蒸気ボイラー", "quests.steam_age.boilers.subtitle": "ポータブルサウナ", @@ -3556,7 +3732,7 @@ "quests.steam_age.lathe.desc": "&3Belt_Grinder&rは、一つのインゴットを2つの棒に切削したり、ボルトをスクリューに加工したり、あるいは、宝石を研磨したりなど、様々な加工が行えます。\n多くの棒とスクリューが必要な場合は、このマシンが役に立ってくれるでしょう。", "quests.steam_age.steel_saw.title": "鋼鉄製メカニカルソー", "quests.steam_age.steel_saw.subtitle": "石切り台と基本型裁断機が1つに!", - "quests.steam_age.steel_saw.desc": "鋼鉄製メカニカルソーは、棒を4つのボルトに変えたり、ブロックをプレートに裁断したりするなど、いくつかの金属レシピも処理できるようになりました。\nこれらのレシピを実行するためには液体が必要ですが、今のところは水を使えばよいでしょう。\n\n最初に合金精錬機を使用してゴムパルプをブロックに変えると、より安価にゴムシートを作ることができます。", + "quests.steam_age.steel_saw.desc": "鋼鉄製メカニカルソーは、棒を4つのボルトに変えたり、ブロックをプレートに裁断したりするなど、いくつかの金属レシピも処理できるようになりました。\nこれらのレシピを実行するためには液体が必要ですが、今のところは水を使えばよいでしょう。\n\n最初に合金精錬機を使用してゴムパルプをブロックに変えると、より安価にゴムシートを作ることができます。\n\nコバルトブラスをまだ作ったことがない場合は、ケイ酸アルミニウムになる素材をるつぼで合金として溶かすか、鉱石処理で出るアルミニウムの粉を使ってミキサーで作る方法があります。", "quests.steam_age.rolling_mill.title": "Rolling Mill", "quests.steam_age.rolling_mill.subtitle": "金属加工機の残り半分", "quests.steam_age.rolling_mill.desc.1": "蒸気時代に作れるマシンの中でも、&3Rolling_Mill&rは、最高のものの1つです。なんと、1つのインゴットから1つのプレートが作れるようになるんですよ!\nまた、薄いシートを手作業よりも安価に作成することもできます!", @@ -3595,6 +3771,10 @@ "quests.steam_age.steel_mech_press.subtitle": "ほぼ鍛造機", "quests.steam_age.steel_mech_press.desc.1": "高圧蒸気式鍛造機はあとちょっとで作れますし、それがあればこのマシンにできることは、ほとんどすべてできてしまいますが、より上位の自動溶接レシピを切実に必要としている場合は作りましょう。\n\n鍛造機では鋼鉄製メカニカルプレスと同じように、鉱石を(副産物なしで)粉砕したり、岩を丸石に変えたり、砂利を砂に変えたり、レンガを割ったりすることができます。\nただし、鍛造機のみが金属プレートの&3より安価なレシピ&rを実行できます...", "quests.steam_age.steel_mech_press.desc.2": "&l&3余談:&r&oCreateのメカニカルプレスって、バージョン0.9より前のTerraFirmaGregだと、蒸気時代の結構重要なマシンだったんだよね。なぜかって、4/5っていうまあまあ良い比率でプレート作ってくれたから。でも実は、それを「20%の確率で、アイテムが消える」っていう仕様で実装してたんだよ!あのギャンブルはサイコーだったなあ。", + "quests.steam_age.supers.title": "スーパーチェストとスーパータンク", + "quests.steam_age.supers.subtitle": "スーパーストレージドロワー", + "quests.steam_age.supers.desc": "これはまさに&cu&6l&et&ai&bm&9a&5t&4e&rな収納機器です。現時点で作れる&d基本型&r(&8ULV&r)のものは比較的容量が小さいと思うかもしれませんが、上位のスーパーチェストやスーパータンクになると、温度・酸性度といった制限をまったく受けず、1ブロックで膨大な量を収納できるようになります!\n\nこれらは樽などと同じく、&6壊しても中身が消えず&r、さらには単体でクラフトして中身を空にする機能や、容量を超えた分を自動で破棄する機能まで備わっています。\n\nもっと大容量を求める場合は、さらに上位のクアンタムチェスト/タンクや、AE2のストレージセルをつかうことができます。", + "quests.steam_age.supers.task": "Any super chest or tank", "quests.stone_age": "石器時代", "quests.stone_age.subtitle": "そして伝説へ...", "quests.stone_age.foods.title": "お腹が空いた?", @@ -3796,7 +3976,9 @@ "quests.tfg.create_team.desc": "チームを組むことで同時にクエストを攻略することができます。 チームを作るには、インベントリを開き、左上にあるカラフルな人が3人描かれたボタンを選択すると、チームを作成できる画面が開きます。§aCreate_a_team§r と書かれたボタンをクリックし、チーム名やその他のパラメータを設定して、チームの作成に成功したら、右上の緑色の丸の中にあるプラスボタンを使って他のプレイヤーを招待できます。これ以降、クエストは同期され、チームメンバーは誰でもクエストを完了できるようになります。頑張ってくださいね!", "quests.tfg.capture_territory.title": "領有主張の方法", "quests.tfg.capture_territory.subtitle": "それとチャンクロードのしかた", - "quests.tfg.capture_territory.desc": "マルチプレイをしているとき、他のプレイヤーに邪魔されないように自分の領地を確保したいと思うことがあるかもしれません。そんな時はOpen_Claimキー(デフォルトだとCtrl+M)を使ってウィンドウを開き、左クリックでチャンクを確保、右クリックで解放することができます。 ただし、これには制限があります。世界のすべてを領地にすることはできないですよ。また、Shift+左クリックでチャンクロード状態にすることもできます。Shift+右クリックで解除することができます。そして、これらは同じチーム内で共有されます。", + "quests.tfg.capture_territory.desc": "マルチプレイをしているとき、他のプレイヤーに邪魔されないように自分の領地を確保したいと思うことがあるかもしれません。そんな時はOpen_Claimキー(デフォルトだとCtrl+M)を使ってウィンドウを開き、左クリックでチャンクを確保、右クリックで解放することができます。\n\nただし、これには制限があります。世界のすべてを領地にすることはできないですよ。また、Shift+左クリックでチャンクロード状態にすることもできます。Shift+右クリックで解除することができます。そして、これらは同じチーム内で共有されます。", + "quests.tfg.chunk_limit.title": "How to increase my chunkload limit?", + "quests.tfg.chunk_limit.desc": "サーバーで遊んでいる場合、デフォルトのフォースロード設定できるチャンク数はかなり少なく抑えられています。\n\nサーバー管理者であれば、README.txtに従ってこの上限を変更できます。また、自分にOP権限がある、あるいはチートをオンにしている場合は、「&a/ftbchunks admin extra_force_load_chunks @p set X&r」というコマンドを使えば、自分のフォースロード上限をXの値に設定できます。", "quests.tfg.field_guide.title": "クエストに関する重要な情報!", "quests.tfg.field_guide.subtitle": "もっといろいろ知りたいですか?", "quests.tfg.field_guide.desc": "クエストはまだ開発中で、常に改善に努めています!特定のゲーム内の仕様に関する多くの情報は、インベントリの「本」タブからアクセスできるフィールドガイドにも記載されています。\n\nクエストですべてが説明されるわけではないので、EMIとフィールドガイドはあなたの強い味方になることを覚えておいてください。\n\n追記:この文章は日本語の時のみ表示されます。クエストの文章がおかしなところで改行されることなどで悩んでいる場合は「Better Line Break」というModを導入することをお勧めします。このModは日本語でのクエストの表示を改善してくれます。\nまた、クエストは日本語で読みたいけれど、アイテムは英語で検索したいという場合は「Untranslated Items」というModの導入をお勧めします。ツールチップに日本語名と英語名の両方が表示されるようにしてくれます。", @@ -3874,15 +4056,52 @@ "quests.tfg_tips.gt.title": "GregTech", "quests.tfg_tips.gt.subtitle": "このModPackの名前の3分の1", "quests.tfg_tips.gt.desc": "&3GregTech&rはかなり難解です。このクエストラインはあなたの理解の助けになるでしょう。", + "quests.tfg_tips.gt_power_tools.title": "電動ツール", + "quests.tfg_tips.gt_power_tools.subtitle": "男の子ってこういうのが好きなんでしょ", + "quests.tfg_tips.gt_power_tools.desc.1": "多くの工業Modと同じように、&5GregTech&rにもさまざまな種類の便利な&6ツール&rが登場します。それらを使うには、まず&a充電する&r必要があります。充電をする方法として、蓄電器に入れる、機械のエネルギースロットに差し込むなどでもいいですが、&e高速充電器&rというツールの充電に特化した装置も存在します。\n\nただし注意点として、ツールを充電できるのは&7同等&rか&aそれ以上のティア&rの電圧だけです。つまり、&c低い電圧&rでは高い電圧のツールを充電できません──ああ大丈夫ですよ、間違えても&c爆発したりはしないはず&rですから。ええ。", + "quests.tfg_tips.gt_power_tools.desc.2": "ほとんどの&5GregTech&r製ツールは&6パワーユニット&rと&6ツールヘッド&rが素材として要求されます。どんな種類のツールが作れるのかは、&aEMI&rで一覧を調べると分かりやすいです。ただし、次の2つのポイントだけは要注意です:\n\n-パワーユニットのティアが高いほど、ツール自体の&c性能が上がり&r、その分だけ必要とする&6バッテリー容量&rも大きくなります。\n-全てのツールが全てのティアに対応しているわけではありません。たとえば&6チェーンソー&rは&7LVパワーユニット&rでしか作れません。.", "quests.tfg_tips.nano_saber.title": "ナノセイバー", "quests.tfg_tips.nano_saber.subtitle": "龍が我が身に宿る", "quests.tfg_tips.nano_saber.desc": "&6ナノセイバー&rは、&5EV&rに到達すると解禁される強力な武器です。\n&dShift+右クリック&rで、&cbzzzzzモード&rをアクティブにし、真の力を解き放ちましょう。", - "quests.tfg_tips.gt_tools.title": "GregTechツール", - "quests.tfg_tips.gt_tools.subtitle": "", - "quests.tfg_tips.gt_tools.desc": "ほとんどの&5GregTech&rツールは、&6パワーユニット&rから作成されます。\n&aEMI&rで、どのようなツール作ることができるのか確認できます。その際、2つの重要なことを覚えておいてください。\n\n-&eパワーユニットのティアが高いほど&r、ツールはより&c強力&rになり、使用するバッテリーも&6上位のもの&rになります。\n-すべてのツールがすべてのティアーのパワーユニットから作れるわけではありません。たとえば、&6チェーンソー&rは&7LVパワーユニット&rでのみ作成できます。", "quests.tfg_tips.magnets.title": "アイテムマグネット", - "quests.tfg_tips.magnets.subtitle": "", - "quests.tfg_tips.magnets.desc": "&6アイテムマグネット&rは想像通り、近くの&6アイテム&rをあなたのもとに直接引き寄せるマグネットです。&a本当に便利です&r。これ以上のものが必要ありますか?", + "quests.tfg_tips.magnets.subtitle": "Simplest Magnet", + "quests.tfg_tips.magnets.desc": "&6アイテムマグネット&rは、想像通り、近くの&6アイテム&rをあなたのもとに直接引き寄せるマグネットです。&a本当に便利です&r。これ以上のものが必要ありますか?", + "quests.tfg_tips.long_distance_items.title": "長距離アイテムパイプ", + "quests.tfg_tips.long_distance_items.subtitle": "お急ぎ便", + "quests.tfg_tips.long_distance_items.desc": "&3長距離アイテムパイプ&rは、その名の通り長距離のアイテムを輸送に使える専用のパイプです。使い方は簡単で、送り元と送り先に接続口を置き、その間をパイプラインブロックでつなぐだけです。\n\n入力されたアイテムは即座に反対側へ転送されるため、高速で輸送できます。\n\nただし、接続口同士には一定以上の距離が必要なので、近距離の輸送には向きません。", + "quests.tfg_tips.long_distance_fluids.title": "長距離液体パイプ", + "quests.tfg_tips.long_distance_fluids.subtitle": "ウーバードリンク", + "quests.tfg_tips.long_distance_fluids.desc": "&3長距離液体パイプ&r は、液体を遠くまで一瞬で送り届けられる便利な長距離用パイプです。送り元と送り先に接続口を置き、その間をパイプラインブロックでつなげば使えます。\n\n液体は入力側から出力側へ即座に移動するため、高速での輸送が可能です。\n\nただし、接続口同士には一定以上の距離が必要で、近距離の搬送には使えません。\n\nまた、設置時に&4不具合が起きやすい&rと言われています。もし最初に動かなかった場合には、&eレンチ&rで接続口の向きを変えてみると解決することがあります。", + "quests.tfg_tips.crates.title": "GregTechのストレージ", + "quests.tfg_tips.crates.subtitle": "序盤のバッファ", + "quests.tfg_tips.crates.desc": "クレートはチェストの上位互換と言えます。1ブロックのスペースで、多くのアイテムを収納できるのですから、これ以上のものは必要ありませんね!\n\n通常のチェストより素材コストは高く、Createの仕掛けに組み込むことはできませんが、アイテムのサイズに関係なく収納でき、さらにGregTechの&6カバー&rを取り付けることができます。そのため、自動化工程におけるバッファとして最適な選択肢になります。", + "quests.tfg_tips.tape.title": "クレート用テープ", + "quests.tfg_tips.tape.subtitle": "Carry on", + "quests.tfg_tips.tape.desc": "クレートにテープを右クリックで貼り付けると、壊しても中身がそのまま維持されるようになり、簡単に持ち運べるようになります。ただし、テープは使い捨てです。\nテープ自体は簡単につくれるので問題はないでしょう!", + "quests.tfg_tips.terminal.subtitle": "自動マルチブロック組み立て機", + "quests.tfg_tips.terminal.desc": "&bターミナル&rは間違いなく役に立ってくれるため、&a作成することを強くおすすめいたします&r。\n\n&eマルチブロック&rを組み立てるのが、少し&c面倒に思う&rこともあると思います。そんなときはマルチブロックの構成材料を所持した状態で、ターミナルを手に持ち、&6マルチブロックコントローラー&rを&dShift+右クリック&rするだけで、&a構造全体を自動で組み上げてくれます&r!\n\n&eバスやハッチを配置し直す&r必要はあるかもしれませんが、とはいえこの機能を活用すれば&aかなりの時間と手間を節約&rできます。", + "quests.tfg_tips.memory_card.subtitle": "コピー&ペースト", + "quests.tfg_tips.memory_card.desc": "大量の機械で&a並列化した構成&rを作ろうとすると、各機械ごとに&e入力&rや&e出力&rをいちいち設定するのが面倒になるでしょう。&dスーパーチェスト&r・&dタンク&rなんかは特に。\n\n必要だと感じたらためらわず使いましょう。", + "quests.tfg_tips.portable_scanner.subtitle": "どしたん?話聞こか?", + "quests.tfg_tips.portable_scanner.desc.1": "&aポータブルスキャナー&r(または&aトリコーダー&r)は、GTCEuにおけるデバッグ用ツールです。\n\nこれを使うと、ブロックの詳細情報、エネルギーネットワークの状況、現在の状態や内部内容、そしてパフォーマンスへの影響まで確認できます。\n\nさらに、&3液体採掘機&rを使う際には、その液体脈にどれだけ液体が残っているかを%表示で確認することもできます。", + "quests.tfg_tips.portable_scanner.desc.2": "&l&3余談:&r&oこの小型で便利な装置はGT5から来たものだよ。当時は、GUIやWAILAから得られる情報がほとんど(というより全く)無かったから、非常に重宝されていました。", + "quests.tfg_tips.duct_tape.subtitle": "テープで直せないものは、たくさんのテープを使いましょう", + "quests.tfg_tips.duct_tape.desc": "多くの&eマルチブロック&rには&6メンテナンスハッチ&rが必要だということに、おそらくお気づきかと思います。&6HV&rに到達して&a自動メンテナンスハッチ&rを入手できるようになるまでは、このアイテムを使うことで、メンテナンスツールを使わずにハッチを修理できます。\n\nまだ&a自動メンテナンスハッチ&rに投資したくない場合や、単純にまだ&cそこに到達していない&r場合には、とても役立つアイテムです。", + "quests.tfg_tips.gt_filters.title": "フィルター", + "quests.tfg_tips.gt_filters.desc": "&5GregTech&rには、&a自動化&rをスムーズに進めるための様々な&6フィルター&rが存在します。これらはすべて、&dカバー&rと組み合わせて使用することができます。(カバーの詳細な説明は&「7LV&r」の章のクエストに載っています。)\n\nここでは、特定の状況で&b便利&rに使える、さらに2種類の特化フィルターをご紹介します。\n\nフィルターを使う場合は、&5機械またはカバーのGUI内で取り付ける&rか、もしくは&6機械やパイプ&rに&dカバー&rとして取り付けることができます。", + "quests.tfg_tips.smart_item_filter.subtitle": "Knock, knock - who's that? It's MENSA!", + "quests.tfg_tips.smart_item_filter.desc.1": "このクエストでは、あなたに&5禁断の知識&r――すなわち、電解槽を簡単に自動化する能力を授けましょう。\n\n&9スマートアイテムフィルター&rは、機械で動作するレシピを認識できるフィルターです。機械の側面に取り付けて「&3電解槽&r」を指定すれば、電解可能なアイテムだけを自動で投入するよう設定できます。そうです、もう手動でフィルタリングする必要はありません!\n\nさらに&aもっと便利&rにすることもできますよ!このフィルターを&aロボットアーム&rと組み合わせると、機械がレシピを成立させるために必要な&6ぴったりの量&rだけを供給するようになってくれます。", + "quests.tfg_tips.smart_item_filter.desc.2": "&aロボットアーム&rを電解槽に取り付け、ロボットアームのGUIを開いて&9スマートフィルター&rをセットします。スマートフィルターが電解槽に設定されていることを確認してくださいね。\n\n次に、動作モードを「&d&lモード:搬入&r」と「&d&l供給モード&r」に設定します。最後に、&aロボットアーム&rを取り付けた側面に、インベントリ(&7チェストなどで十分です&r)を接続してください。これで&6すべて&rの電解槽レシピの処理に対応しました!\n\nでは、&3電解槽&rの排出物はどうしましょう?液体は複数のタンクへ、あるいは進行度次第では&3スーパータンク&rへ流すと良いでしょう。液体を破棄するような方法は極力避けることを強くおすすめいたします。&7.&8.まあ、水なんかは別ですが。", + "quests.tfg_tips.smart_item_filter.desc.3": "&9注意:&rロボットアームのフィルタリング機能を正しく動作させるには、必ずロボットアーム自身がアイテム搬入を担当している必要があります!\n\n機械へ直接アイテムを入れてしまう(&7例:ホッパーなどによる搬入&r)と、ロボットアームの&d供給モード&r設定は無視されてしまいますのでご注意ください。", + "quests.tfg_tips.hazard_materials.title": "危険物", + "quests.tfg_tips.hazard_materials.subtitle": "対象年齢:3歳以上", + "quests.tfg_tips.hazard_materials.desc": "新しいバージョンの&5Gregtech&rでは、&c危険物システム&rが導入されました。&dShift&rを押しながら&c危険物&rにカーソルを合わせると、その物質の影響と原因を確認できます。\n\n&6防護装備&rを正しく使用し、汚染から&c身を守りましょう&r。", + "quests.tfg_tips.face_mask.desc": "&6フェイスマスク&rは、&c有害な粉塵の吸引&rによる健康被害を防いでくれます。比較的&a簡単に作れる&rため、&5ヒ素&rを扱う際などには用意しておきましょう", + "quests.tfg_tips.rubber_gloves.desc": "&6ゴム手袋&rは、見てわかるように&c皮膚接触によって起こる健康被害&rを防いでくれます。作り方は2通りあります。&2TerrafirmaCraft&rを経由する&7時間がかかる手順&rと、&6合金精錬機&rを使った&aとても簡単な方法&rのどちらを選んでも構いません。", + "quests.tfg_tips.hazmat.title": "危険物用スーツ", + "quests.tfg_tips.hazmat.desc": "&6危険物用スーツ&rは、&cどんな危険にも対応できる最高の防護服&rです。&bMV&rまで進めば作成可能になるため、&a身の安全のためにも必ず作っておくことを強くお勧めします&r。", + "quests.tfg_tips.armor.title": "GregTech - パワードスーツ", + "quests.tfg_tips.armor.desc": "&5GregTech&rには専用のハイテクな装備が存在します。これまで使ってきた7金属の鎧&rもたしかにイカしていますが、工業化が進み&b新たな技術を得た&r今、その技術の粋を結集した&aパワードスーツ&rの開発に乗り出すこともできます。\n\n最初のモデルは&6HV&rに到達すると作成可能になり、そこらへんの防具を大きく上回る防御性能を持ちます。また、地球環境の厳しさに耐えるための&e高い断熱性能&rを備え、必要に応じて&dジェットパック&rを追加して機能拡張することもできます。\n\n2つ目のモデルは大幅に進んだ段階、すなわち &1IV&rや&dLuV&rに達した頃に解禁されます。このモデルでは、&3酸素&rを利用することで&9宇宙空間での呼吸&rさえ可能になります。", "quests.tfg_tips.terrafirmacraft.title": "TerraFirmaCraftの追加要素", "quests.tfg_tips.terrafirmacraft.subtitle": "ModPackの名前の3分の2", "quests.tfg_tips.terrafirmacraft.desc": "&3TerraFirmaCraft&rは、&2TerraFirmaGreg&rの主要なmodの1つです。\nここでは主に、そのサバイバルに関するものと、TFCの&dアドオン&rに関するものに焦点を当てています。", @@ -3894,6 +4113,10 @@ "quests.tfg_tips.hiking.subtitle": "登山用の靴", "quests.tfg_tips.hiking.desc": "&d登山靴&rを使用すると、世界をより楽に探索できます!\n&d登山靴&rを履けば、背の高い草むらも抵抗なく通り抜けることができます。\nさらに、&d登山靴&rのティアが上がるごとに、&9防御力&r、&9歩行速度&r、&9落下耐性&r、そしてその他の能力も強化されていきます。", "quests.tfg_tips.hiking.task": "任意の登山靴", + "quests.tfg_tips.feeding_troughs.title": "給餌箱", + "quests.tfg_tips.feeding_troughs.subtitle": "規則正しい牧場", + "quests.tfg_tips.feeding_troughs.desc": "給餌箱(別名Grooming Stations)は、動物に毎朝自動で餌を与える便利な仕組みです。繁殖を望まない場合には、親密度が最大の動物には給餌しない設定にもできます。\n\nティアが上がるほど、対応できる範囲が広くなり、より多くの動物を管理できます。\n\n&3&lTip:&r&o柵のすぐそばに設置すると、動物がそこを足場にして脱走を試みることがあるため、少し距離を置いて設置することを推奨します。", + "quests.tfg_tips.feeding_troughs.task": "Any feeding trough", "quests.tfg_tips.glassblowing.title": "ガラス吹き", "quests.tfg_tips.glassblowing.subtitle": "リアルなガラス細工体験!", "quests.tfg_tips.glassblowing.desc": "&dガラス板&rや&dガラスブロック&rを作るには、&3ガラス吹き&r道具一式の準備が必要です。\n\n&3ガラス吹き&rには、&a吹き竿&rと、熱したガラスを注ぐためのガラス吹き用のブロックで作られた台座が必要です。\n台座の形状と有効なブロックの詳細については、&2フィールドガイド&rを参照してください。&a真鍮&rを成形できるようになったらすぐに、ガラス吹きが可能になります!", @@ -4138,7 +4361,7 @@ "quests.tfg_tips.find_latex_tree.desc": "&aラテックス&rを採ることができるゴムの木は、大量の降雨がある&2温暖な&r地域で見つけることができます。\n抽出した&bラテックス&rは、&d粘性樹脂&rと&d加硫処理ラテックス&rの2つの使い道があります。後者は、&3ゴム&rや&aゴム手袋&rの製造に使用されます。ゴム手袋は&4有毒物質&rとの接触時に保護してくれます。\n\nこのクエストを完了するには、&o#tfg:latex_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", "quests.tfg_tips.find_syrup_tree.title": "シロップの木", "quests.tfg_tips.find_syrup_tree.subtitle": "甘い匂いに誘われた", - "quests.tfg_tips.find_syrup_tree.desc": "&aシロップの木&rは、それなりの降水量がある&2温暖な&r地域で見つけることができます。\n抽出した&bシロップ&rは、&dツリーシュガー&rを作るために使用できます。これは、砂糖の代替品です。\n\nこのクエストを完了するには、&o#tfg:syrup_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", + "quests.tfg_tips.find_syrup_tree.desc": "&aシロップの木&rは、それなりの降水量がある&2温帯&r地域で見つけることができます。\n抽出した&bシロップ&rは、&dツリーシュガー&rを作るために使用できます。これは、砂糖の代替品です。\n\nこのクエストを完了するには、&o#tfg:syrup_logs&rのタグが付いたブロックを&c見る&r必要があります。EMIを使用して、#を入れて検索することにより、どのブロックにこのタグが付いているかを知ることができます。", "quests.tfg_tips.create_conifer_rosin.title": "針葉樹脂", "quests.tfg_tips.create_conifer_rosin.subtitle": "「故郷」を思い出す", "quests.tfg_tips.create_conifer_rosin.desc": "&d針葉樹脂&rは&bワックス&rとして利用でき、ろうそくやその他のアイテムを作成できます。\n\n針葉樹脂を作るには、&a針葉樹液&rと&a木炭の粉&rを&3鍋や釜&rに入れて加熱する必要があります。", @@ -4151,7 +4374,7 @@ "quests.tfg_tips.create_tree_sugar.task": "メープルまたはバーチシュガー", "quests.tfg_tips.create_rubber_ingot.title": "ゴムインゴット", "quests.tfg_tips.create_rubber_ingot.subtitle": "太陽の神のインゴット", - "quests.tfg_tips.create_rubber_ingot.desc": "&bVacuum_Chamber&rの加熱クラフトなどの様々な工程を経て、&aラテックス&rは&d粗ゴムパルプ&rに加工することができます。\n3つの&d粗ゴムパルプ&rを&b合金精錬炉&rで&e硫黄粉末&rと混ぜることで、&dゴムインゴット&rを作成できます。\nこれは、ケーブルの絶縁に最適であり、&2先進時代&r以降に進むために非常に必要になります...", + "quests.tfg_tips.create_rubber_ingot.desc": "&bVacuum_Chamber&rの加熱クラフトなどの様々な工程を経て、&aラテックス&rは&d粗ゴムパルプ&rに加工することができます。\n3つの&d粗ゴムパルプ&rを&b合金精錬炉&rで&e硫黄粉末&rと混ぜることで、&dゴムインゴット&rを作成できます。\nこれは、ケーブルの絶縁に最適であり、&2先進時代&r以降において非常に重要な素材になります...\n\n&9Tip:&r先に進むにつれて、低コストかつ効率的に作るための手段が次々と開放されていきます。詳しくは随時EMIを確認するとよいでしょう。ゴムは今後ずっと使い続ける重要素材なので、早めに自動化しておくと本当に楽になります。", "quests.tfg_tips.transportation.title": "移動手段", "quests.tfg_tips.transportation.subtitle": "この広い地上を旅するために", "quests.tfg_tips.transportation.desc": "世界は非常に広大であり、生存と進歩のための資源を求めて、あなたは遠くまで旅することになるかもしれません。\nここでは、さまざまな移動手段について説明します。", @@ -4159,8 +4382,8 @@ "quests.tfg_tips.glider.subtitle": "ブレスオブザワイルドが見える!", "quests.tfg_tips.glider.desc": "&dHang_Glider&rを使えば、滑空することができます。&c高く飛び上がることはできません&rが、高所から飛び立てば、長距離を移動するのにも役立つでしょう。\n&bジェットパック&rとの相性も抜群です!", "quests.tfg_tips.reinforced_glider.title": "強化グライダー", - "quests.tfg_tips.reinforced_glider.subtitle": "エリトラはお好きですか...?", - "quests.tfg_tips.reinforced_glider.desc": "&5EV&r時代に到達すると作れるようになる&aエリトラ&rを&aハンググライダー&rと組み合わせることで、&d強化グライダー&rを作ることができます。\nこれは耐久性が高く、最高速度も上昇しています。", + "quests.tfg_tips.reinforced_glider.subtitle": "羽根のように軽い!", + "quests.tfg_tips.reinforced_glider.desc": "&d強化グライダー&rは、標準の&aハンググライダー&rを大幅に強化した上位版です。&aアルミニウム&rフレームを採用し、布地に &a強化布&rまたは&a軽量の生地&rを使うことで、通常の2倍の速度で滑空できるようになっています。さらに耐久力も向上しており、組立機で修理が可能なため、長期間使い続けられます。\n\n&3Protip:&r\n&4Beneath&rで手に入る&a絹の布&rや&aファントムの布&rを使うと、作成・修理のどちらも必要な布の量が&e3分の1に減り&r、とても経済的です。\n&6HV&rに到達すれば、&aポリカプロラクタム製の布&rも利用できるようになります。", "quests.tfg_tips.immersive_aircraft.title": "Immersive Aircraft", "quests.tfg_tips.immersive_aircraft.subtitle": "さあ、大空を翔けよう。", "quests.tfg_tips.immersive_aircraft.desc": "&2Immersive_Aircraft&rは航空機に関するModであり、空を飛び、長距離を移動できます。", diff --git a/kubejs/assets/tfg/lang/zh_cn.json b/kubejs/assets/tfg/lang/zh_cn.json index e9b6f8fd1..4514a1092 100644 --- a/kubejs/assets/tfg/lang/zh_cn.json +++ b/kubejs/assets/tfg/lang/zh_cn.json @@ -588,6 +588,8 @@ "block.tfg.casings.heat_pipe_casing": "高温管道外壳", "block.tfg.glacian_wool_frame": "霜原羊毛框架", "block.tfg.aes_insulation_frame": "碱土硅酸盐隔热框架", + "block.tfg.machine_casing_power_casing": "绝缘动力机械方块", + "block.tfg.active_power_transformer": "有源能量变压器", "block.tfg.sand.fluorapatite.blue": "蓝色氟磷灰石沙", "block.tfg.sandstone.raw.fluorapatite.blue": "天然蓝色氟磷灰石砂岩", "block.tfg.sandstone.wall.raw.fluorapatite.blue": "天然蓝色氟磷灰石砂岩墙", @@ -1148,6 +1150,9 @@ "item.tfg.rough_endoplasmic_reticula": "粗糙内质网", "item.tfg.alpha_keratin": "α-角蛋白", "item.tfg.progenitor_cells": "祖细胞", + "item.tfg.catalyser_pt_re_zsm": "铂-铼/ZSM-5催化剂", + "item.tfg.used_catalyser": "废铂-铼/ZSM-5催化剂", + "item.tfg.loaded_resin": "再负载树脂", "material.tfg.latex": "乳胶", "material.tfg.vulcanized_latex": "硫化乳胶", "material.tfg.fluix": "福鲁伊克斯", @@ -1301,6 +1306,17 @@ "material.tfg.tin_chloride": "氯化亚锡", "material.tfg.cyclohexanone": "环己酮", "material.tfg.cyclohex_diperoxide": "1,1-环己烷二基二氢过氧化物", + "material.tfg.aciditic_waste": "酸性废料", + "material.tfg.propylene": "丙烯", + "material.tfg.tpaoh": "四丙基氢氧化铵", + "material.tfg.sodium_silicate": "硅酸钠", + "material.tfg.metal_rich_solution": "富金属溶液", + "material.tfg.crude_mixed_gas": "粗混合气", + "material.tfg.zsm5_gel": "ZSM-5凝胶", + "material.tfg.leachate": "铼浸出液", + "material.tfg.clean_powder": "纯净铼硅酸盐粉末", + "material.tfg.catalyser_powder": "铼/ZSM-5催化剂粉末", + "material.tfg.sodium_aluminium": "铝钠合金", "ore_vein.tfg.deep_sheldonite": "硫铂矿, 斑铜矿", "ore_vein.tfg.deep_garnet_amethyst": "紫水晶, 石榴石", "ore_vein.tfg.deep_garnet_opal": "蛋白石, 石榴石", @@ -1625,6 +1641,8 @@ "tfg.tooltip.machine.cooling_tower_1": "§7给空气加热§r", "tfg.tooltip.machine.cooling_tower_2": "§7通过向空气散逸余热来给热冷却剂制冷。§r", "tfg.tooltip.obsolete.depreciated": "§c已弃用,无法再合成", + "tfg.tooltip.antipoison_pill": "§9解毒", + "tfg.tooltip.antipoison_tablet": "§9治愈所有有害状态", "tfg.tooltip.dna_syringe.empty": "§7一支空注射器。§r", "tfg.tooltip.dna_syringe.dirty1": "§7一支使用过的注射器。§r", "tfg.tooltip.dna_syringe.dirty2": "§7注意不要用它刺伤任何人...§r", @@ -2370,7 +2388,7 @@ "quests.gregtech_energy.syngas.desc": "&e合成气&r是一种新的TFG气体燃料。你可以在&8ULV&r阶段很早解锁它,并在&7LV&r阶段用于你的首批&6燃气轮机&r中。它并非特别强效的燃料,但可以转化为有价值的副产品,例如&e润滑剂&r、&e甲烷&r和&e氢气&r。\n\n尽管它不是最强大的选择且难以规模化生产,但仅需三座&6焦炉&r和一台&6酿造室&r或&6真空腔室&r,你就能稳定供应,这足以支撑你到达&bMV&r阶段并解锁更强大的&e重整气&r。", "quests.gregtech_energy.reformate_gas.title": "重整气", "quests.gregtech_energy.reformate_gas.subtitle": "这是重整后的苯吗?", - "quests.gregtech_energy.reformate_gas.desc.1": "&9重整气&r是一种强大且新的气体燃料,在&bMV&r阶段承担了通常由苯扮演的角色。\n\n要生产它,你需要建造一座&6煤炭液化塔&r,并从仅存在于干燥炎热气候的&6塔基安矿&r矿脉中获取一些&5铼&r。两座&6热解炉&r——一座生产杂酚油,另一座生产木焦油——将提供生产这种燃料所需的全部材料。如果你想简化设置,请记住可以用&6流体加热器&r来生产蒸汽。", + "quests.gregtech_energy.reformate_gas.desc.1": "&9重整气&r是一种强大且新的气体燃料,在&bMV&r阶段承担了通常由苯扮演的角色。\n\n要生产它,你需要建造一座&6液化塔&r,并从仅存在于干燥炎热气候的&6塔基安矿&r矿脉中获取一些&5铼&r。两座&6热解炉&r——一座生产杂酚油,另一座生产木焦油——将提供生产这种燃料所需的全部材料。如果你想简化设置,请记住可以用&6流体加热器&r来生产蒸汽。", "quests.gregtech_energy.reformate_gas.desc.2": "同样重要的是,需要考虑在&6HV&r阶段使用&6裂化机&r时可获得的提升产率。这将使你能够循环利用绝大部分的&5铼&r,使重整气实质上成为一种接近无限的燃料。\n\n在此流程中添加&9氮气&r和&9氢气&r,将进一步增强你的生产吞吐量。", "quests.gregtech_energy.btx.title": "轻质芳烃", "quests.gregtech_energy.btx.subtitle": "并非韩国乐队", @@ -3045,7 +3063,7 @@ "quests.medium_voltage.mv_benzene.desc.3": "&l&3背景知识:&r&o自GTCEu以来,苯一直是最强大的气体燃料之一——其性能之强甚至成了一个梗。如今,它的辉煌时代在任何地方都屈指可数了。", "quests.medium_voltage.reformate_gas.title": "重整气教派", "quests.medium_voltage.reformate_gas.subtitle": "当一位巨人倒下,新的巨人已然崛起。", - "quests.medium_voltage.reformate_gas.desc": "如果这是你选择的路径,那么&8重整气&r将是你在&bMV&r阶段新的首选气体燃料。为实现完美效率,你只需要 &61座煤炭液化塔&r和&62座热解炉&r,便能开始不间断地产出这种珍贵气体。\n\n哦等等,首先你需要找到&5铼&r,这是一种仅在&7群峦传说&r干热区域发现的新材料。其消耗量极低,一个矿脉就足以支撑你直到整合包毕业,或者至少到&6HV&r阶段——届时,在 &6裂解机&r的帮助下,这种气体才能真正实现无限生产。", + "quests.medium_voltage.reformate_gas.desc": "如果这是你选择的路径,那么&8重整气&r将是你在&bMV&r阶段新的首选气体燃料。为实现完美效率,你只需要 &61座液化塔&r和&62座热解炉&r,便能开始不间断地产出这种珍贵气体。\n\n哦等等,首先你需要找到&5铼&r,这是一种仅在&7群峦传说&r干热区域发现的新材料。其消耗量极低,一个矿脉就足以支撑你直到整合包毕业,或者至少到&6HV&r阶段——届时,在 &6裂解机&r的帮助下,这种气体才能真正实现无限生产。", "quests.medium_voltage.mv_light_fuel.title": "轻燃油", "quests.medium_voltage.mv_light_fuel.subtitle": "把这里的灯点亮,宝贝", "quests.medium_voltage.mv_light_fuel.desc": "蒸馏&a原油&r可获得需要脱硫处理的燃料。\n\n&a硫化氢&r能在&3电解机&r中完美&d循环利用&r。\n\n要实现自动化流程,只需将&3化学反应釜&r与&3电解机&r相邻放置。记得使用&5螺丝刀&r&4启用输出面的输入功能&r。\n\n&a轻燃油&r是不错的&9发电&r选择,但还有更高效的方案……请查看左侧任务指引。", @@ -3054,10 +3072,10 @@ "quests.medium_voltage.mv_diesel.desc.1": "&a柴油&r是一种&d基于石油的&9内燃机燃料&r。\n\n要混合&a轻燃料&r和&a重燃料&r,使用&3蒸馏室&r时,从&d石油&r或&d原油&r中提取的合适比例是&63:2&r。\n\n这意味着需配备3台蒸馏室生产轻燃油,或2台蒸馏室生产重燃油。", "quests.medium_voltage.mv_diesel.desc.2": "通过专门使用&d重油&r来制备&a重燃油&r,可&6大幅削减&r所需&d石油&r用量。若选择此路线,&d油砂矿&r是绝佳选择!\n\n&o(给数据控:从8.33石油->6柴油,优化为5石油+0.4重油->6柴油)&r\n\n&e注意:&r请&c不要尝试&r将石油直接放入&3蒸馏塔&r处理!表面看来它能同时产出轻燃油和重燃油似乎很划算,但此过程需要大量超频才能达到理想效率,最终损耗的能量会远超副产品价值。", "quests.medium_voltage.mv_diesel.desc.3": "总体而言,优先部署更多机器(&d并行处理&r)比超频配方更有效率。这种方式能在处理资源时减少能量损耗。\n\n&a柴油&r通过&3内燃发电机&r燃烧发电。在&6HV&r阶段可进一步精炼成&6高十六烷值柴油&r。与其他能源相比,柴油总体效率更高,但加工流程更为复杂。若你选择&e石油&r路线生产&a聚乙烯&r,现有基础设施便能完美适配此方案。最终选择何种能源仍取决于你。", - "quests.medium_voltage.coal_tower.title": "煤炭液化塔", + "quests.medium_voltage.coal_tower.title": "液化塔", "quests.medium_voltage.coal_tower.subtitle": "谁会不爱新的多方块结构呢", - "quests.medium_voltage.coal_tower.desc.1": "&b煤炭液化塔&r是一个新的&b多方块结构&r,用于生产&a重整气&r及其副产品&7煤焦油&r和&7合成气&r。根据你使用的&9线圈&r,每个配方所需的&7EU/t&r消耗将获得折扣。将鼠标悬停在线圈上并按shift键即可查看其加成效果。\n\n注意,&9煤炭液化塔&r可通过使用&8氢气&r来加速,从而减少耗时并降低总能耗。别忘了设置正确的&6电路配置&r以确保其正常运行。\n\n顺带一提,游戏内1秒等于20游戏刻。因此,要计算其每秒消耗,需将每游戏刻消耗量乘以20。", - "quests.medium_voltage.coal_tower.desc.2": "&l&3背景知识:&r&o设计出核裂变反应堆的同一个人,也绘制了煤炭液化塔的初版蓝图,这难道不疯狂吗。", + "quests.medium_voltage.coal_tower.desc.1": "&b液化塔&r是一个新的&b多方块结构&r,用于生产&a重整气&r及其副产品&7煤焦油&r和&7合成气&r。根据你使用的&9线圈&r,每个配方所需的&执行时间&r将获得折扣。将鼠标悬停在线圈上并按shift键即可查看其加成效果。\n\n注意,&9液化塔&r可通过使用&8氢气&r来加速,从而减少耗时并降低总能耗。别忘了设置正确的&6电路配置&r以确保其正常运行。\n\n顺带一提,游戏内1秒等于20游戏刻。因此,要计算其每秒消耗,需将每游戏刻消耗量乘以20。", + "quests.medium_voltage.coal_tower.desc.2": "&l&3背景知识:&r&o设计出核裂变反应堆的同一个人,也绘制了液化塔的初版蓝图,这难道不疯狂吗。", "quests.medium_voltage.mv_jetpack.title": "我相信我能飞", "quests.medium_voltage.mv_jetpack.subtitle": "...嗯,几乎能飞", "quests.medium_voltage.mv_jetpack.desc": "这款喷气背包可使用多数&a内燃机燃料&r(不包括石油类)来提供基础飞行功能。\n\n填充方式与流体桶相同,或通过&3罐装机&r进行填充。\n\n按下&4H&r键(默认按键)可开启悬停模式。", @@ -3558,7 +3576,7 @@ "quests.space_survival.sandworm.desc": "在沙漠中制造过大声响可能会引来强大的&6沙虫&r!它更像是需要规避的环境威胁而非可讨伐的首领,因此存活下来的最佳方式就是立即逃离!\n\n若能用&b爆炸伤害&r多次击中其头部,它会暂时停止追击…但效果仅能维持片刻。\n\n所幸沙虫仅能伤害生物而非建筑,且只会被&6玩家的脚步声&r吸引——只要确保&b双脚&r不接触地面便不会激怒它。稀薄的大气层不支持飞机与滑翔伞,但总有其他工具……", "quests.space_survival.spice.title": "紫金矿床", "quests.space_survival.spice.subtitle": "美琅脂", - "quests.space_survival.spice.desc": "&d紫金矿床&r是仅分布于火星深层沙漠的固定生成方块,远离所有富饶区域。它们以小型矿簇形态生成,若位于斜坡位置可被破坏以便为紫金采集器腾出空间。建议使用&6望远镜&r进行远距离定位!\n\n你需要建立长距离物流系统将紫金输送回基地(可尝试铁路运输,蓄电器能实现电力同步传输!)\n\n紫金是&5EV&r阶段发展及从火星获取无限矿石的关键资源。", + "quests.space_survival.spice.desc": "&d紫金矿床&r是仅分布于火星深层沙漠的固定生成方块,远离所有富饶区域。它们以小型矿簇形态生成,若位于斜坡位置可被破坏以便为紫金采集器腾出空间。建议使用&6望远镜&r进行远距离定位!\n\n你需要建立长距离物流系统将紫金输送回基地(尝试一下铁路运输!)\n\n紫金是&5EV&r阶段发展及从火星获取无限矿石的关键资源。", "quests.space_survival.spice.task": "美琅脂的流转永不停息", "quests.space_survival.mars_islands.title": "火星丛林", "quests.space_survival.mars_islands.subtitle": "那是恐龙吗?!", @@ -3647,13 +3665,13 @@ "quests.steam_age.horse_crank.desc.2": "&3小型动物 (8 SU):&r\n狼, 狗, 猪, 绵羊, 山羊, 羊驼\n\n&3中型动物 (12 SU):&r\n牛, 驴\n\n&3大型动物 (16 SU):&r\n马, 骡, 麝牛, 牦牛", "quests.steam_age.poor_paths.title": "劣质路面", "quests.steam_age.poor_paths.subtitle": "这只是土", - "quests.steam_age.poor_paths.desc": "这是你能使用的最差的道路。动物曲柄将以 8 RPM 运行。", + "quests.steam_age.poor_paths.desc": "这是你能使用的最差的道路。动物曲柄将以8RPM运行。", "quests.steam_age.normal_paths.title": "中等路面", "quests.steam_age.normal_paths.subtitle": "好吧,你花了一点功夫", - "quests.steam_age.normal_paths.desc": "中等路面稍微好一点,会让你的动物以4RPM转动曲柄。\n\n注意:你不能在动物曲柄正下方放置土径方块,所以那个位置必须是沙砾。", + "quests.steam_age.normal_paths.desc": "中等路面稍微好一点,能让你的动物以16RPM的速度转动曲柄。\n\n注意:你不能在动物曲柄正下方放置土径方块,所以那个位置必须是沙砾。", "quests.steam_age.good_paths.title": "优质路面", "quests.steam_age.good_paths.subtitle": "不需要马蹄铁!", - "quests.steam_age.good_paths.desc": "这是你能使用的最好的路面,让你的曲柄以8RPM输出。这类小路也会增加玩家的移动速度,所以用它们铺设你的基地很棒!", + "quests.steam_age.good_paths.desc": "这是你能使用的最好的路面,能让的曲柄输出32RPM。这类小路也会增加玩家的移动速度,所以用它们铺设你的基地很棒!", "quests.steam_age.helve_hammer.title": "杠杆锤", "quests.steam_age.helve_hammer.subtitle": "哐……哐……哐……", "quests.steam_age.helve_hammer.desc": "觉得为锻铁炉制作所有那些板件很繁琐吗?&3杠杆锤&r 能自动(但缓慢地)将双锭锻造成板材。不过,焊接工作仍需你亲自动手。只需在锤头正下方放置一个砧,按&2丢弃物品键(默认为Q)&r将双锭扔到上面,最后右键点击锤头即可取出板材。\n\n更高级的砧也能以更少的锤击次数,将前一级的材料加工成板件。", @@ -4006,7 +4024,7 @@ "quests.stone_age.portable_storage.desc": "在&lTerraFirmaGreg提示与技巧&r章节中,有一个部分涵盖了你的所有不同便携式存储选项,用于扩展你在世界各地旅行时可以携带的物品数量。如果你很难找到这些任务,它们位于任务树最右边的分支上。", "quests.stone_age.barrels.title": "桶", "quests.stone_age.barrels.subtitle": "斯蒂法诺?", - "quests.stone_age.barrels.desc": "与原版不同,此模组中的木桶用作液体储存器。单个木桶可储存总量达10桶的流体,为实现流体存储提供了相对简单的解决方案。\n\n你还可以将这些流体与其他物品结合,用以制造皮革、粘合剂、灰泥等物品。", + "quests.stone_age.barrels.desc": "与原版不同,此模组中的木桶用作液体储存器。单个木桶可储存总量达10桶的流体,为实现流体存储提供了相对简单的解决方案。\n\n你还可以将这些流体与其他物品结合,用以制造皮革、胶水、砂浆等物品。", "quests.stone_age.leather.title": "皮革", "quests.stone_age.leather.subtitle": "确实,凡事总是要更复杂些才对味。", "quests.stone_age.leather.desc": "野生动物被击杀时会掉落生皮。生皮无法直接当作皮革使用,需要先经过鞣制加工方可使用。\n\n与黏土、石材类似,皮革也可以通过剥制工艺进行加工。通过剥制皮革可以制作出皮革盔甲、水囊等物品。\n若你不愿为获取皮革而猎杀动物,且生活在热带环境中,可将菠萝加工为菠萝布作为皮革替代品。这种方式尤其适合素食主义玩家。", From 892f2dcb4f36039e70df154b878c4bacde3697df Mon Sep 17 00:00:00 2001 From: thederpysockdude123 Date: Mon, 15 Dec 2025 08:59:32 -0700 Subject: [PATCH 351/628] Remove macaw's stuff from boiler recipes for easier menu nav (#2415) * Update items.food.js Signed-off-by: thederpysockdude123 * Revert "add tfc:foods tag to a whole bunch of TFG foods" * remove macaw's stuff from boiler recipes for easier menu nav Signed-off-by: thederpysockdude123 * Update recipes.js Signed-off-by: thederpysockdude123 * Update recipes.js Signed-off-by: thederpysockdude123 * removed that line :P Signed-off-by: thederpysockdude123 --------- Signed-off-by: thederpysockdude123 --- kubejs/server_scripts/macaws_for_tfc/recipes.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/macaws_for_tfc/recipes.js b/kubejs/server_scripts/macaws_for_tfc/recipes.js index 0f3d9282a..352f5cca6 100644 --- a/kubejs/server_scripts/macaws_for_tfc/recipes.js +++ b/kubejs/server_scripts/macaws_for_tfc/recipes.js @@ -6,11 +6,12 @@ * @param {Internal.RecipesEventJS} event */ function registerMacawsForTFCRecipes(event) { - event.replaceInput({ mod: 'mcw_tfc_aio' }, 'minecraft:stick', '#forge:rods/wooden') event.replaceInput({ mod: 'mcw_tfc_aio' }, 'minecraft:string', '#forge:string') event.replaceInput({ mod: 'mcw_tfc_aio' }, 'minecraft:glass', '#forge:glass') event.replaceInput({ mod: 'mcw_tfc_aio' }, 'minecraft:glass_pane', '#forge:glass_panes') + event.remove({ input: '@mcw_tfc_aio', type: 'gtceu:steam_boiler' }) + event.remove({ input: '@mcw_tfc_aio', type: 'gtceu:large_boiler' }) global.TFC_WOOD_TYPES.forEach(wood => { event.shaped(`8x mcw_tfc_aio:fences/${wood}_fences/${wood}_wired_fence`, [ @@ -22,4 +23,4 @@ function registerMacawsForTFCRecipes(event) { C: `tfc:wood/log/${wood}` }).id(`tfg:shaped/${wood}_wired_fence`) }) -} \ No newline at end of file +} From 858d6ccfe04daa744e6218a00fc0ab80b51c9997 Mon Sep 17 00:00:00 2001 From: applenper Date: Mon, 15 Dec 2025 11:59:48 -0400 Subject: [PATCH 352/628] Boiler recipe cleanup (#2421) * boiler recipe cleanup * removed duplicate bundle event remove --- .../tfg/powergen/recipes.boiler.js | 64 ++++++++++++++++--- 1 file changed, 55 insertions(+), 9 deletions(-) diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 5b6bd9caa..8a042cb78 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -2,17 +2,63 @@ function registerTFGBoilerRecipes(event) { - // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead + //Remove boiler recipes that are unlikely to be used and pollute the recipe tab (most everything excluding coke/charcoal) + event.remove({ id: /gtceu:....._boiler\/mcw.+/ }) + event.remove({ id: /gtceu:....._boiler\/.*button.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*trapdoor.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*banner.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*wool.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*fence.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*treated.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*cardboard.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*pressure_plate.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*carpet.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*stairs.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*sign.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*door.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*planks.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*slab.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*biomass.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*bio_chaff.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*chest.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*bundle.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*lectern.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*cartography.*/}) + event.remove({ id: /gtceu:....._boiler\/.*ladder.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*crossbow.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*jukebox.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*resin.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*daylight_detector.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*bow.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*scaffolding.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*loom.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*bowl.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*sticky_resin.*/ }) + event.remove({ id: /gtceu:....._boiler\/.*plant_ball*/ }) + event.remove({ id: /gtceu:....._boiler\/.*note_block*/ }) + event.remove({ id: /gtceu:....._boiler\/.*smithing_table*/ }) + event.remove({ id: /gtceu:....._boiler\/.*fiberboard*/ }) + event.remove({ id: /gtceu:....._boiler\/.*wood*/ }) + event.remove({ id: /gtceu:....._boiler\/.*sapling*/ }) + event.remove({ id: /gtceu:....._boiler\/.*log*/ }) + event.remove({ id: /gtceu:....._boiler\/.*stem*/ }) + event.remove({ id: /gtceu:....._boiler\/.*mosaic*/ }) - event.forEachRecipe({ id: /gtceu:large_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration*3) - }) + //Re-add some recipes to the boiler under tags + event.recipes.gtceu.steam_boiler('tfg:logs') + .itemInputs('#minecraft:logs') + .duration(300) + .dimension('minecraft:overworld') - event.forEachRecipe({ id: /gtceu:steam_boiler\/(minecraft_ladder|gtceu_wood_frame)/ }, recipe => { - var newDuration = recipe.get("duration") - recipe.set("duration", newDuration/3) - }) + event.recipes.gtceu.steam_boiler('tfg:saplings') + .itemInputs('#minecraft:saplings') + .duration(100) + .dimension('minecraft:overworld') + + event.recipes.gtceu.steam_boiler('tfg:planks') + .itemInputs('#minecraft:planks') + .duration(75) + .dimension('minecraft:overworld') // Small nerf to charcoal From 0e6b484224a9c5a5ecadd8bd3c67e010a9183113 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 16:09:05 +0000 Subject: [PATCH 353/628] fixed not being able to grow warped trees on mars dirt --- kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped.json | 2 +- .../data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped.json b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped.json index cdec23129..7cec1cdd5 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped.json +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped.json @@ -1,4 +1,4 @@ { - "feature": "tfg:mars/tree/crimson", + "feature": "tfg:mars/tree/warped", "placement": [] } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json index 349608694..caa95e71b 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/tree/warped_dirt.json @@ -1,4 +1,4 @@ { - "feature": "tfg:mars/tree/warped_amber", + "feature": "tfg:mars/tree/warped_dirt", "placement": [] } \ No newline at end of file From 557e45995467f64fcea6bd07e1f68e34c6f543a2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 16:09:51 +0000 Subject: [PATCH 354/628] just doing #2434 myself because merge conflicts --- CHANGELOG.md | 2 ++ kubejs/server_scripts/tfc/tags.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f0bd64a7..0e074afbf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ - Nerfed how much biomass and plant balls are produced from certain vanilla plants (#2361) @Pyritie - Added some more ruined structures with a small bit of loot. - Added some resource packs for TFC, disabled by default +- Lenses are now allowed on tool racks (#2434) @thederpysockdude123 ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix @@ -41,6 +42,7 @@ - Fixed a recipe conflict blocking the crafting of silicone rubber (#2387) @Mqrius - Fixed the backpack and QuarkTech helmet auto-feeding from feeding you while you're downed @Mqrius - Fixed Ostrum Casing not having a recipe (#2363) @FlightingFalcon +- Fixed warped trees not growing on normal mars dirt @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 46abe3755..aa2caae27 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -38,6 +38,8 @@ function registerTFCItemTags(event) { "#forge:tools/drills", "#forge:tools/fishing_nets", "#tfc:buckets", + "tfc:lens", + "#forge:lenses", "buildinggadgets2:gadget_building", "buildinggadgets2:gadget_exchanging", "buildinggadgets2:gadget_copy_paste", From 748f058578c3a04847ebe951f4966a63810b81ea Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 16:50:05 +0000 Subject: [PATCH 355/628] added renewable clay --- CHANGELOG.md | 5 + kubejs/assets/tfg/lang/en_us.json | 94 ++++++++++++------- .../tfg/natural_blocks/recipes.stone_dusts.js | 7 -- .../tfg/primitive/recipes.clay.js | 11 +++ 4 files changed, 77 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e074afbf..9aed3cc50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ - Cleaning meal bag foil packs is now done in the chem bath instead of the ore washer. @Pyritie - Turning honey into sugar is now done in the extractor instead of the centrifuge. @Pyritie - Syngas crafting in the Vacuum Chamber will now output into the chamber itself instead of the Basin, so it won't get mixed up with the creosote (#2378) @Pyritie +- Cleaned up the EMI pages for small and large boilers so they aren't flooded with furniture and other things. If you were using something "non-standard" to fuel your boilers, check if they're still valid. (#2421, #2415) @thederpysockdude123 @applenper +- Clay dust is no longer electrolyzable, but now you can get infinite clay blocks from a rock breaker @Pyritie ### Changes #### Hot or Not - Added "too cold to handle" and "too light to handle" for cold things and lighter-than-air things. Uses the same mechanic as tongs. Lighter-than-air things can also be negated with something Very Heavy in your inventory, and all effects (including "too hot to handle") are negated by super tanks/chests and cells, but *not* drums or buckets. Check the `#tfg:hot_protection_equipment`, `#tfg:cold_protection_equipment`, and `#tfg:floating_protection_equipment` tags for equipment that makes you immune to these effects. The equipment also protects against pipes! @Pyritie @@ -30,6 +32,7 @@ - Added some more ruined structures with a small bit of loot. - Added some resource packs for TFC, disabled by default - Lenses are now allowed on tool racks (#2434) @thederpysockdude123 +- The Active Transformer multiblock is now craftable at EV, with a new texture and casings. (#2424) @BlueBoat29 ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix @@ -41,8 +44,10 @@ - Fixed a recipe conflict for boiled and fried eggs (#2407) @Mqrius - Fixed a recipe conflict blocking the crafting of silicone rubber (#2387) @Mqrius - Fixed the backpack and QuarkTech helmet auto-feeding from feeding you while you're downed @Mqrius +- Fixed drills taking way more damage when mining than intended (#2419, #2428) @Mqrius - Fixed Ostrum Casing not having a recipe (#2363) @FlightingFalcon - Fixed warped trees not growing on normal mars dirt @Pyritie +- Fixed missing block names for some of the variations of non-earth stones @Pyritie ### Translation updates - Chinese (simplified) @jmecn - Japanese @sakura-gondra diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index aec60da07..51fd94b9d 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -251,20 +251,24 @@ "block.tfg.rock.aqueduct_nether": "Keratophyre Aqueduct", "block.tfg.rock.hardened_moon_stone": "Hardened Anorthosite", "block.tfg.rock.moon_stone_wall": "Raw Anorthosite Wall", - "block.tfg.rock.cobble_moon_stone_wall": "Anorthosite Cobble Wall", + "block.tfg.rock.cobble_moon_wall": "Anorthosite Cobble Wall", "block.tfg.rock.mossy_cobble_moon": "Anorthosite Mossy Cobble", "block.tfg.rock.mossy_cobble_moon_stairs": "Anorthosite Mossy Cobble Stairs", "block.tfg.rock.mossy_cobble_moon_slab": "Anorthosite Mossy Cobble Slab", "block.tfg.rock.mossy_cobble_moon_wall": "Anorthosite Mossy Cobble Wall", - "block.tfg.rock.mossy_bricks_moon_stone": "Mossy Anorthosite Bricks", - "block.tfg.rock.mossy_bricks_moon_stone_stairs": "Mossy Anorthosite Brick Stairs", - "block.tfg.rock.mossy_bricks_moon_stone_slab": "Mossy Anorthosite Brick Slab", - "block.tfg.rock.mossy_bricks_moon_stone_wall": "Mossy Anorthosite Brick Wall", + "block.tfg.rock.mossy_bricks_moon": "Mossy Anorthosite Bricks", + "block.tfg.rock.mossy_bricks_moon_stairs": "Mossy Anorthosite Brick Stairs", + "block.tfg.rock.mossy_bricks_moon_slab": "Mossy Anorthosite Brick Slab", + "block.tfg.rock.mossy_bricks_moon_wall": "Mossy Anorthosite Brick Wall", "block.tfg.rock.chiseled_bricks_moon_wall": "Chiseled Anorthosite Wall", "block.tfg.rock.gravel_moon": "Anorthosite Gravel", "block.tfg.spike.moon_stone_spike": "Anorthosite Spike", "block.tfg.loose.moon_stone": "Loose Anorthosite Rock", "block.tfg.rock.aqueduct_moon_stone": "Anorthosite Aqueduct", + "block.tfg.rock.polished_moon_wall": "Polished Anorthosite Wall", + "block.tfg.rock.cracked_bricks_moon_stairs": "Cracked Anorthosite Brick Stairs", + "block.tfg.rock.cracked_bricks_moon_slab": "Cracked Anorthosite Brick Slab", + "block.tfg.rock.cracked_bricks_moon_wall": "Cracked Anorthosite Brick Wall", "block.tfg.rock.hardened_moon_deepslate": "Hardened Norite", "block.tfg.rock.moon_deepslate_stairs": "Raw Norite Stairs", "block.tfg.rock.moon_deepslate_slab": "Raw Norite Slab", @@ -298,19 +302,25 @@ "block.tfg.spike.moon_deepslate_spike": "Norite Spike", "block.tfg.loose.moon_deepslate": "Loose Norite Rock", "block.tfg.rock.aqueduct_moon_deepslate": "Norite Aqueduct", + "block.tfg.rock.mossy_bricks_moon_deepslate": "Mossy Norite Bricks", + "block.tfg.rock.mossy_bricks_moon_deepslate_stairs": "Mossy Norite Brick Stairs", + "block.tfg.rock.mossy_bricks_moon_deepslate_slab": "Mossy Norite Brick Slab", + "block.tfg.rock.mossy_bricks_moon_deepslate_wall": "Mossy Norite Brick Wall", "block.tfg.rock.hardened_mars_stone": "Hardened Argillite", "block.tfg.rock.mars_stone_wall": "Raw Argillite Wall", - "block.tfg.rock.cobble_mars_stone_wall": "Argillite Cobble Wall", + "block.tfg.rock.cobble_mars_wall": "Argillite Cobble Wall", "block.tfg.rock.mossy_cobble_mars": "Argillite Mossy Cobble", "block.tfg.rock.mossy_cobble_mars_stairs": "Argillite Mossy Cobble Stairs", "block.tfg.rock.mossy_cobble_mars_slab": "Argillite Mossy Cobble Slab", "block.tfg.rock.mossy_cobble_mars_wall": "Argillite Mossy Cobble Wall", "block.tfg.rock.polished_mars_wall": "Polished Argillite Wall", - "block.tfg.rock.mossy_bricks_mars_stone": "Mossy Argillite Bricks", - "block.tfg.rock.mossy_bricks_mars_stone_stairs": "Mossy Argillite Brick Stairs", - "block.tfg.rock.mossy_bricks_mars_stone_slab": "Mossy Argillite Brick Slab", - "block.tfg.rock.mossy_bricks_mars_stone_wall": "Mossy Argillite Brick Wall", - "block.tfg.rock.cracked_bricks_mars_stone_wall": "Cracked Argillite Brick Wall", + "block.tfg.rock.mossy_bricks_mars": "Mossy Argillite Bricks", + "block.tfg.rock.mossy_bricks_mars_stairs": "Mossy Argillite Brick Stairs", + "block.tfg.rock.mossy_bricks_mars_slab": "Mossy Argillite Brick Slab", + "block.tfg.rock.mossy_bricks_mars_wall": "Mossy Argillite Brick Wall", + "block.tfg.rock.cracked_bricks_mars_stairs": "Cracked Argillite Brick Stairs", + "block.tfg.rock.cracked_bricks_mars_slab": "Cracked Argillite Brick Slab", + "block.tfg.rock.cracked_bricks_mars_wall": "Cracked Argillite Brick Wall", "block.tfg.rock.chiseled_bricks_mars_wall": "Chiseled Argillite Wall", "block.tfg.rock.gravel_mars": "Argillite Gravel", "block.tfg.spike.mars_stone_spike": "Argillite Spike", @@ -318,17 +328,19 @@ "block.tfg.rock.aqueduct_mars_stone": "Argillite Aqueduct", "block.tfg.rock.hardened_venus_stone": "Hardened Trachyte", "block.tfg.rock.venus_stone_wall": "Raw Trachyte Wall", - "block.tfg.rock.cobble_venus_stone_wall": "Trachyte Cobble Wall", + "block.tfg.rock.cobble_venus_wall": "Trachyte Cobble Wall", "block.tfg.rock.mossy_cobble_venus": "Trachyte Mossy Cobble", "block.tfg.rock.mossy_cobble_venus_stairs": "Trachyte Mossy Cobble Stairs", "block.tfg.rock.mossy_cobble_venus_slab": "Trachyte Mossy Cobble Slab", "block.tfg.rock.mossy_cobble_venus_wall": "Trachyte Mossy Cobble Wall", "block.tfg.rock.polished_venus_wall": "Polished Trachyte Wall", - "block.tfg.rock.mossy_bricks_venus_stone": "Mossy Trachyte Bricks", - "block.tfg.rock.mossy_bricks_venus_stone_stairs": "Mossy Trachyte Brick Stairs", - "block.tfg.rock.mossy_bricks_venus_stone_slab": "Mossy Trachyte Brick Slab", - "block.tfg.rock.mossy_bricks_venus_stone_wall": "Mossy Trachyte Brick Wall", - "block.tfg.rock.cracked_bricks_venus_stone_wall": "Cracked Trachyte Brick Wall", + "block.tfg.rock.mossy_bricks_venus": "Mossy Trachyte Bricks", + "block.tfg.rock.mossy_bricks_venus_stairs": "Mossy Trachyte Brick Stairs", + "block.tfg.rock.mossy_bricks_venus_slab": "Mossy Trachyte Brick Slab", + "block.tfg.rock.mossy_bricks_venus_wall": "Mossy Trachyte Brick Wall", + "block.tfg.rock.cracked_bricks_venus_stairs": "Cracked Trachyte Brick Stairs", + "block.tfg.rock.cracked_bricks_venus_slab": "Cracked Trachyte Brick Slab", + "block.tfg.rock.cracked_bricks_venus_wall": "Cracked Trachyte Brick Wall", "block.tfg.rock.chiseled_bricks_venus_wall": "Chiseled Trachyte Wall", "block.tfg.rock.gravel_venus": "Trachyte Gravel", "block.tfg.spike.venus_stone_spike": "Trachyte Spike", @@ -336,17 +348,19 @@ "block.tfg.rock.aqueduct_venus_stone": "Trachyte Aqueduct", "block.tfg.rock.hardened_mercury_stone": "Hardened Komatiite", "block.tfg.rock.mercury_stone_wall": "Raw Komatiite Wall", - "block.tfg.rock.cobble_mercury_stone_wall": "Komatiite Cobble Wall", + "block.tfg.rock.cobble_mercury_wall": "Komatiite Cobble Wall", "block.tfg.rock.mossy_cobble_mercury": "Komatiite Mossy Cobble", "block.tfg.rock.mossy_cobble_mercury_stairs": "Komatiite Mossy Cobble Stairs", "block.tfg.rock.mossy_cobble_mercury_slab": "Komatiite Mossy Cobble Slab", "block.tfg.rock.mossy_cobble_mercury_wall": "Komatiite Mossy Cobble Wall", "block.tfg.rock.polished_mercury_wall": "Polished Komatiite Wall", - "block.tfg.rock.mossy_bricks_mercury_stone": "Mossy Komatiite Bricks", - "block.tfg.rock.mossy_bricks_mercury_stone_stairs": "Mossy Komatiite Brick Stairs", - "block.tfg.rock.mossy_bricks_mercury_stone_slab": "Mossy Komatiite Brick Slab", - "block.tfg.rock.mossy_bricks_mercury_stone_wall": "Mossy Komatiite Brick Wall", - "block.tfg.rock.cracked_bricks_mercury_stone_wall": "Cracked Komatiite Brick Wall", + "block.tfg.rock.mossy_bricks_mercury": "Mossy Komatiite Bricks", + "block.tfg.rock.mossy_bricks_mercury_stairs": "Mossy Komatiite Brick Stairs", + "block.tfg.rock.mossy_bricks_mercury_slab": "Mossy Komatiite Brick Slab", + "block.tfg.rock.mossy_bricks_mercury_wall": "Mossy Komatiite Brick Wall", + "block.tfg.rock.cracked_bricks_mercury_stairs": "Cracked Komatiite Brick Stairs", + "block.tfg.rock.cracked_bricks_mercury_slab": "Cracked Komatiite Brick Slab", + "block.tfg.rock.cracked_bricks_mercury_wall": "Cracked Komatiite Brick Wall", "block.tfg.rock.chiseled_bricks_mercury_wall": "Chiseled Komatiite Wall", "block.tfg.rock.gravel_mercury": "Komatiite Gravel", "block.tfg.spike.mercury_stone_spike": "Komatiite Spike", @@ -354,17 +368,19 @@ "block.tfg.rock.aqueduct_mercury_stone": "Komatiite Aqueduct", "block.tfg.rock.hardened_glacio_stone": "Hardened Phonolite", "block.tfg.rock.glacio_stone_wall": "Raw Phonolite Wall", - "block.tfg.rock.cobble_glacio_stone_wall": "Phonolite Cobble Wall", + "block.tfg.rock.cobble_glacio_wall": "Phonolite Cobble Wall", "block.tfg.rock.mossy_cobble_glacio": "Phonolite Mossy Cobble", "block.tfg.rock.mossy_cobble_glacio_stairs": "Phonolite Mossy Cobble Stairs", "block.tfg.rock.mossy_cobble_glacio_slab": "Phonolite Mossy Cobble Slab", "block.tfg.rock.mossy_cobble_glacio_wall": "Phonolite Mossy Cobble Wall", "block.tfg.rock.polished_glacio_wall": "Polished Phonolite Wall", - "block.tfg.rock.mossy_bricks_glacio_stone": "Mossy Phonolite Bricks", - "block.tfg.rock.mossy_bricks_glacio_stone_stairs": "Mossy Phonolite Brick Stairs", - "block.tfg.rock.mossy_bricks_glacio_stone_slab": "Mossy Phonolite Brick Slab", - "block.tfg.rock.mossy_bricks_glacio_stone_wall": "Mossy Phonolite Brick Wall", - "block.tfg.rock.cracked_bricks_glacio_stone_wall": "Cracked Phonolite Brick Wall", + "block.tfg.rock.mossy_bricks_glacio": "Mossy Phonolite Bricks", + "block.tfg.rock.mossy_bricks_glacio_stairs": "Mossy Phonolite Brick Stairs", + "block.tfg.rock.mossy_bricks_glacio_slab": "Mossy Phonolite Brick Slab", + "block.tfg.rock.mossy_bricks_glacio_wall": "Mossy Phonolite Brick Wall", + "block.tfg.rock.cracked_bricks_glacio_stairs": "Cracked Phonolite Brick Stairs", + "block.tfg.rock.cracked_bricks_glacio_slab": "Cracked Phonolite Brick Slab", + "block.tfg.rock.cracked_bricks_glacio_wall": "Cracked Phonolite Brick Wall", "block.tfg.rock.chiseled_bricks_glacio_wall": "Chiseled Phonolite Wall", "block.tfg.rock.gravel_glacio": "Phonolite Gravel", "block.tfg.spike.glacio_stone_spike": "Phonolite Spike", @@ -378,15 +394,19 @@ "block.tfg.rock.cobble_permafrost_stairs": "Permafrost Cobble Stairs", "block.tfg.rock.cobble_permafrost_slab": "Permafrost Cobble Slab", "block.tfg.rock.cobble_permafrost_wall": "Permafrost Cobble Wall", - "block.tfg.rock.mossy_cobble_permafrost_stairs": "Permafrost Mossy Cobble Stairs", - "block.tfg.rock.mossy_cobble_permafrost_slab": "Permafrost Mossy Cobble Slab", - "block.tfg.rock.mossy_cobble_permafrost_wall": "Permafrost Mossy Cobble Wall", + "block.tfg.rock.mossy_cobble_permafrost": "Mossy Cobble Permafrost", + "block.tfg.rock.mossy_cobble_permafrost_stairs": "Mossy Cobble Permafrost Stairs", + "block.tfg.rock.mossy_cobble_permafrost_slab": "Mossy Cobble Permafrost Slab", + "block.tfg.rock.mossy_cobble_permafrost_wall": "Mossy Cobble Permafrost Wall", "block.tfg.rock.polished_permafrost_wall": "Polished Permafrost Wall", "block.tfg.rock.mossy_bricks_permafrost": "Mossy Permafrost Bricks", "block.tfg.rock.mossy_bricks_permafrost_stairs": "Mossy Permafrost Brick Stairs", "block.tfg.rock.mossy_bricks_permafrost_slab": "Mossy Permafrost Brick Slab", "block.tfg.rock.mossy_bricks_permafrost_wall": "Mossy Permafrost Brick Wall", - "block.tfg.rock.cracked_bricks_permafrost_stone_wall": "Cracked Permafrost Brick Wall", + "block.tfg.rock.cracked_bricks_permafrost_stairs": "Cracked Permafrost Brick Stairs", + "block.tfg.rock.cracked_bricks_permafrost_slab": "Cracked Permafrost Brick Slab", + "block.tfg.rock.cracked_bricks_permafrost_wall": "Cracked Permafrost Brick Wall", + "block.tfg.rock.chiseled_bricks_permafrost_wall": "Chiseled Permafrost Wall", "block.tfg.rock.gravel_permafrost": "Permafrost Gravel", "block.tfg.spike.permafrost_spike": "Permafrost Spike", "block.tfg.loose.permafrost": "Loose Permafrost Rock", @@ -425,13 +445,21 @@ "block.tfg.rock.cracked_bricks_stone_wall": "Cracked Reconstituted Stone Brick Wall", "block.tfg.rock.aqueduct_stone": "Reconstituted Stone Aqueduct", "block.tfg.rock.smooth_red_sandstone_wall": "Smooth Hematitic Sandstone Wall", + "block.tfg.rock.cut_red_sandstone_stairs": "Cut Hematitic Sandstone Stairs", "block.tfg.rock.cut_red_sandstone_wall": "Cut Hematitic Sandstone Wall", + "block.tfg.rock.bricks_venus_sandstone_wall": "Trachyte Sandstone Brick Wall", + "block.tfg.rock.cracked_bricks_venus_sandstone_stairs": "Cracked Trachyte Sandstone Brick Stairs", + "block.tfg.rock.cracked_bricks_venus_sandstone_slab": "Cracked Trachyte Sandstone Brick Slab", + "block.tfg.rock.cracked_bricks_venus_sandstone_wall": "Cracked Trachyte Sandstone Brick Wall", + "block.tfg.rock.quartz_wall": "Quartz Wall", + "block.tfg.rock.smooth_quartz_wall": "Smooth Quartz Wall", "block.tfg.rock.raw.stromatolite": "Raw Stromatolite", "block.tfg.rock.spike.stromatolite": "Stromatolite Spike", "block.tfg.stromatolite_cluster_small": "Small Stromatolite Cluster", "block.tfg.stromatolite_cluster_medium": "Large Stromatolite Cluster", "block.tfg.rock.raw.geyserite": "Raw Geyserite", "block.tfg.rock.spike.geyserite": "Geyserite Spike", + "block.tfg.rock.halite": "Halite", "block.tfg.mushroom_roots": "Mushroom Roots", "block.tfg.mushroom_sprouts": "Mushroom Sprouts", "block.tfg.charred_log": "Charred Log", 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 f805affa3..e753c0c09 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js +++ b/kubejs/server_scripts/tfg/natural_blocks/recipes.stone_dusts.js @@ -6,13 +6,6 @@ */ function registerTFGStoneDustRecipes(event) { - event.recipes.gtceu.electrolyzer('gtceu:decomposition_electrolyzing_clay') - .itemInputs('13x #forge:dusts/clay') - .itemOutputs('2x #forge:dusts/sodium', '1x #forge:dusts/lithium', '2x #forge:dusts/aluminium', '2x #forge:dusts/silicon') - .outputFluids(Fluid.of('minecraft:water', 6000)) - .duration(GTMaterials.Clay.getMass() * 13) - .EUt(GTValues.VA[GTValues.HV]) - event.recipes.gtceu.centrifuge('gtceu:stone_dust_separation') .itemInputs('gtceu:stone_dust') .chancedOutput('#forge:small_dusts/quartzite', 2500, 0) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 153455c8a..77a6c3a86 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -141,4 +141,15 @@ function registerTFGClayRecipes(event) { .category(GTRecipeCategories.MACERATOR_RECYCLING) .duration(20) .EUt(2) + + // Renewable clay + + event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_clay' }) + + event.recipes.gtceu.rock_breaker("clay_duping") + .notConsumable('minecraft:clay') + .itemOutputs('minecraft:clay') + .adjacentFluids(["tfc:salt_water", "tfc:spring_water"]) + .duration(50) + .EUt(GTValues.VHA[GTValues.MV]) } \ No newline at end of file From 7dc6ab64e4abc5652c2f6aefe7e3b04b86eda045 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 16:52:06 +0000 Subject: [PATCH 356/628] halite so good I made halite2 --- .../assets/tfg/blockstates/rock/halite.json | 21 +++++++++++++- .../assets/tfg/blockstates/rock/halite2.json | 21 -------------- .../worldgen/noise_settings/venus_noise.json | 28 +++---------------- .../tfg/venus/blocks.venus_deco.js | 9 ------ 4 files changed, 24 insertions(+), 55 deletions(-) delete mode 100644 kubejs/assets/tfg/blockstates/rock/halite2.json diff --git a/kubejs/assets/tfg/blockstates/rock/halite.json b/kubejs/assets/tfg/blockstates/rock/halite.json index 16caaacf8..5cda97198 100644 --- a/kubejs/assets/tfg/blockstates/rock/halite.json +++ b/kubejs/assets/tfg/blockstates/rock/halite.json @@ -2,18 +2,37 @@ "variants": { "": [ { - "model": "tfg:block/rock/halite" + "model": "tfg:block/rock/halite", + "weight": 6 }, { "model": "tfg:block/rock/halite", + "weight": 6, "y": 90 }, { "model": "tfg:block/rock/halite", + "weight": 6, "y": 180 }, { "model": "tfg:block/rock/halite", + "weight": 6, + "y": 270 + }, + { + "model": "tfg:block/rock/halite2" + }, + { + "model": "tfg:block/rock/halite2", + "y": 90 + }, + { + "model": "tfg:block/rock/halite2", + "y": 180 + }, + { + "model": "tfg:block/rock/halite2", "y": 270 } ] diff --git a/kubejs/assets/tfg/blockstates/rock/halite2.json b/kubejs/assets/tfg/blockstates/rock/halite2.json deleted file mode 100644 index e488b49d3..000000000 --- a/kubejs/assets/tfg/blockstates/rock/halite2.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "variants": { - "": [ - { - "model": "tfg:block/rock/halite2" - }, - { - "model": "tfg:block/rock/halite2", - "y": 90 - }, - { - "model": "tfg:block/rock/halite2", - "y": 180 - }, - { - "model": "tfg:block/rock/halite2", - "y": 270 - } - ] - } -} \ 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 6cc67118b..80bcb2e05 100644 --- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json +++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json @@ -417,30 +417,10 @@ } }, "then_run": { - "type": "minecraft:sequence", - "sequence": [ - { - "type": "minecraft:condition", - "if_true": { - "type": "minecraft:noise_threshold", - "noise": "tfg:venus_salt", - "min_threshold": 0.1, - "max_threshold": 0.3 - }, - "then_run": { - "type": "minecraft:block", - "result_state": { - "Name": "tfg:rock/halite2" - } - } - }, - { - "type": "minecraft:block", - "result_state": { - "Name": "tfg:rock/halite" - } - } - ] + "type": "minecraft:block", + "result_state": { + "Name": "tfg:rock/halite" + } } } ] diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index 225b263e2..48ebb4aa1 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -56,15 +56,6 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - event.create('tfg:rock/halite2') - .mapColor('snow') - .soundType('deepslate') - .hardness(0.8) - .resistance(0.8) - .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - .fullBlock(true) - .opaque(true) //Stromatolite event.create('tfg:rock/raw/stromatolite', 'tfc:raw_rock') From a807d2694ffe4639cd729024a5e50366bcc48a0a Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 17:49:53 +0000 Subject: [PATCH 357/628] hide tfc gypsum, add some tag models for dirt and sand --- kubejs/assets/ae2/lang/en_us.json | 19 ++++++++++++++++++- kubejs/assets/forge/models/tag/item/sand.json | 3 +++ .../minecraft/models/tag/item/dirt.json | 3 +++ kubejs/startup_scripts/tfc/constants.js | 3 +-- 4 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 kubejs/assets/forge/models/tag/item/sand.json create mode 100644 kubejs/assets/minecraft/models/tag/item/dirt.json diff --git a/kubejs/assets/ae2/lang/en_us.json b/kubejs/assets/ae2/lang/en_us.json index 21c8b4547..c8cfd5d83 100644 --- a/kubejs/assets/ae2/lang/en_us.json +++ b/kubejs/assets/ae2/lang/en_us.json @@ -2,5 +2,22 @@ "__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": "Crafting Presses are obtained by breaking a Mysterious Cube. Mysterious Cubes are in the center of meteorites which can be found on the moon.", "gui.advanced_ae.AdvPatternProvider": "", - "gui.expandedae.exp_pattern_provider": "" + "gui.expandedae.exp_pattern_provider": "", + "item.ae2.sky_dust": "Suevite Dust", + "block.ae2.sky_stone_block": "Raw Suevite", + "block.ae2.sky_stone_stairs": "Suevite Stairs", + "block.ae2.sky_stone_wall": "Suevite Wall", + "block.ae2.sky_stone_slab": "Suevite Slab", + "block.ae2.smooth_sky_stone_block": "Smooth Suevite", + "block.ae2.smooth_sky_stone_stairs": "Smooth Suevite Stairs", + "block.ae2.smooth_sky_stone_wall": "Smooth Suevite Wall", + "block.ae2.smooth_sky_stone_slab": "Smooth Suevite Slab", + "block.ae2.sky_stone_brick": "Suevite Bricks", + "block.ae2.sky_stone_brick_stairs": "Suevite Brick Stairs", + "block.ae2.sky_stone_brick_wall": "Suevite Brick Wall", + "block.ae2.sky_stone_brick_slab": "Suevite Brick Slab", + "block.ae2.sky_stone_small_brick": "Suevite Small Bricks", + "block.ae2.sky_stone_small_brick_stairs": "Suevite Small Brick Stairs", + "block.ae2.sky_stone_small_brick_wall": "Suevite Small Brick Wall", + "block.ae2.sky_stone_small_brick_slab": "Suevite Small Brick Slab" } \ No newline at end of file diff --git a/kubejs/assets/forge/models/tag/item/sand.json b/kubejs/assets/forge/models/tag/item/sand.json new file mode 100644 index 000000000..7a5974d0b --- /dev/null +++ b/kubejs/assets/forge/models/tag/item/sand.json @@ -0,0 +1,3 @@ +{ + "parent": "tfc:item/sand/yellow" +} \ No newline at end of file diff --git a/kubejs/assets/minecraft/models/tag/item/dirt.json b/kubejs/assets/minecraft/models/tag/item/dirt.json new file mode 100644 index 000000000..7dd03d568 --- /dev/null +++ b/kubejs/assets/minecraft/models/tag/item/dirt.json @@ -0,0 +1,3 @@ +{ + "parent": "tfc:item/dirt/loam" +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index eab52bc3e..7e4034245 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -306,7 +306,7 @@ global.TFC_DISABLED_ITEMS = /** @type {const} */ ([ "tfc:ore/ruby", "tfc:ore/sapphire", "tfc:ore/topaz", - + "tfc:ore/gypsum", "tfc:ore/graphite", "tfc:ore/sulfur", "tfc:ore/cinnabar", @@ -315,7 +315,6 @@ global.TFC_DISABLED_ITEMS = /** @type {const} */ ([ "tfc:ore/borax", "tfc:ore/bituminous_coal", "tfc:ore/lignite", - "tfc:ore/halite", // Axles "tfc:wood/axle/acacia", From 404d2f3cd007e0ff3d243b82f65d071ba01d5957 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 17:50:03 +0000 Subject: [PATCH 358/628] concrete dyes --- CHANGELOG.md | 2 ++ kubejs/server_scripts/minecraft/recipes.js | 1 - .../{minecraft => tfg/primitive}/recipes.dyes.js | 10 ++++++---- kubejs/server_scripts/tfg/recipes.js | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) rename kubejs/server_scripts/{minecraft => tfg/primitive}/recipes.dyes.js (95%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9aed3cc50..2470f19a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,8 @@ - Added some resource packs for TFC, disabled by default - Lenses are now allowed on tool racks (#2434) @thederpysockdude123 - The Active Transformer multiblock is now craftable at EV, with a new texture and casings. (#2424) @BlueBoat29 +- Renamed AE2 Sky Stone to Suevite @Pyritie +- Removed the shapeless crafting recipe for colored concrete powder, added an instant barrel recipe to turn it into solid concrete @Pyritie ### Bug fixes - Fixed aged sake, vodka, and whiskey losing their buff effects, but for real this time @Pyritie - Fixed fries and cheese curds not being able to be put on burgers. @Redeix diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index acfe66bc3..64bf70cae 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -8,7 +8,6 @@ const registerMinecraftRecipes = (event) => { removeMinecraftRecipes(event) - registerMinecraftDyeRecipes(event) //#region Добавление, copper diff --git a/kubejs/server_scripts/minecraft/recipes.dyes.js b/kubejs/server_scripts/tfg/primitive/recipes.dyes.js similarity index 95% rename from kubejs/server_scripts/minecraft/recipes.dyes.js rename to kubejs/server_scripts/tfg/primitive/recipes.dyes.js index 0bc7e9350..a7f97bc90 100644 --- a/kubejs/server_scripts/minecraft/recipes.dyes.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.dyes.js @@ -1,7 +1,7 @@ // priority: 0 "use strict"; -function registerMinecraftDyeRecipes(event) { +function registerTFGDyeRecipes(event) { global.MINECRAFT_DYE_NAMES.forEach(dye => { event.remove({ id: `minecraft:dye_${dye}_wool` }) @@ -9,8 +9,7 @@ function registerMinecraftDyeRecipes(event) { event.remove({ id: `minecraft:dye_${dye}_carpet` }) event.remove({ id: `minecraft:${dye}_bed` }) event.remove({ id: `minecraft:dye_${dye}_bed` }) - - //#region Выход: Ковры, Кровати + event.remove({ id: `tfc:crafting/vanilla/color/${dye}_concrete_powder` }) event.shapeless(`2x minecraft:${dye}_carpet`, [ '#tfc:saws', @@ -27,7 +26,10 @@ function registerMinecraftDyeRecipes(event) { .category(GTRecipeCategories.CHEM_DYES) } - //#endregion + event.recipes.tfc.barrel_instant() + .inputs(`minecraft:${dye}_concrete_powder`, TFC.fluidStackIngredient('minecraft:water', 100)) + .outputItem(`minecraft:${dye}_concrete`) + .id(`tfg:barrel/dye/${dye}_concrete`); }) // White diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index ece695bda..f6d91db2c 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -44,6 +44,7 @@ const registerTFGRecipes = (event) => { registerTFGLeatherRecipes(event) registerTFGClayRecipes(event) registerTFGEquipmentRecipes(event) + registerTFGDyeRecipes(event) registerTFGCasingRecipes(event) registerTFGEnderPearlRecipes(event) From 8ab09abe56e981a41fa0443df133aa08c263247d Mon Sep 17 00:00:00 2001 From: TomPlop Date: Mon, 15 Dec 2025 13:12:49 -0500 Subject: [PATCH 359/628] Add btx (#2416) * adding textures and recipes * Balance BTX and Reformate Gas * Oups * fix material amount --- .../tfg/textures/item/btx/catalyser_zsm.png | Bin 0 -> 281 bytes .../tfg/textures/item/btx/loaded_resin.png | Bin 0 -> 401 bytes .../tfg/textures/item/btx/used_catalyser.png | Bin 0 -> 287 bytes .../tfg/powergen/recipes.early_gas.js | 153 ++++++++++++++++-- kubejs/startup_scripts/gtceu/machines.js | 2 +- kubejs/startup_scripts/tfg/items.js | 14 ++ .../tfg/materials.power_rework.js | 86 ++++++++++ 7 files changed, 243 insertions(+), 12 deletions(-) create mode 100644 kubejs/assets/tfg/textures/item/btx/catalyser_zsm.png create mode 100644 kubejs/assets/tfg/textures/item/btx/loaded_resin.png create mode 100644 kubejs/assets/tfg/textures/item/btx/used_catalyser.png diff --git a/kubejs/assets/tfg/textures/item/btx/catalyser_zsm.png b/kubejs/assets/tfg/textures/item/btx/catalyser_zsm.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d93fddbf3e4a18555419260f9620b4b213da33 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s79(cMqhFJ72ovhf`;vnEE zpQ7ktvbNyP(!;(5Yb_Z0j@k-%sIWT}vgjO~T(UNjL&umo#jAAJtG|C%tt*?P@^JQ# zozW|%O!{imxA?Qi0v&J8CI*IVUDv=9T94um9+UW3J3n*QhHH;@=~d2SKCzTJx#vjX z8JqJhi6=JcFjUOjesxdj2R^Zh&Ud}p=RerB?&U7N2VZ&S9Z+vv{$XM3-{8Bg=8Q|H zY{}gnyDYPc+iuH(t!iCLTdtY-7IWL3WmxdOddoGQ!v&no7Q4@@gofsJ>YUbl_@C*+ n_IcUwxY|A|-EI2zk-PZ#M43j(bq5$27#KWV{an^LB{Ts5DAaiY literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/btx/loaded_resin.png b/kubejs/assets/tfg/textures/item/btx/loaded_resin.png new file mode 100644 index 0000000000000000000000000000000000000000..cebb88752bee668334195289ea1eb40a60d72ede GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7BRpLkLo9li25-zdY#?H@ zvy9Do?$uvSSDZBtPPw2c>GPTW?DHq{FDb^R7@0UP=TU7w$<9)37{a&lU|C>$h?Cds zWf$0)Ztp68|1M?X&78LXQ~ruym@438S1;i7#nzks5oNvdKQLpwY!N@3|yH?WfZ1+zh84RR;=q zv&-|bKdJ27mKzu<`p#Y1=InEZhTKUB0&Nm4itpN--&mR(f6!DlO!nIJ*rKaqw#p0E z#;WzJPHkDB9)EqS;{RpWgU`+>-mxw_VoSqgPL{uRa%#daw7#4)>fWUDaaYvJ|BkIU zUY1-biEX_XbKP{(S+?Ce%nT2Mt9ULhpJJmg)*)#e^2XA9R`RhaLCVaYObmv}PG)!7 z6z^Tj_Lv?2o9*B2SPRuj_iMcT7cOfmcA0)^7thbVc8noDTM`5e%&sypFfe$!`njxg HN@xNANLZ;W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/btx/used_catalyser.png b/kubejs/assets/tfg/textures/item/btx/used_catalyser.png new file mode 100644 index 0000000000000000000000000000000000000000..571b23671fa148f7e65a659ce042886cc90673bc GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7o_V@BhFJ72ooL9_Y#`EB z@9lU}rD=ldR5E z#~$p`yS2^rvIzsj`OnX0-esx&VB)*lGCP}l|AXlQ8mEP7@8|zNDEPy>K!ibP0l+XkKEXi|M literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js index 86794748d..83a09663c 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.early_gas.js @@ -70,7 +70,7 @@ function registerTFGEarlyGasRecipes(event) { .itemInputs(Item.of('minecraft:charcoal', 40)) .inputFluids(Fluid.of('gtceu:creosote', 4000)) .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 4400), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*150) + .duration(20*64) .circuit(1) .EUt(GTValues.VHA[GTValues.MV]) @@ -81,7 +81,7 @@ function registerTFGEarlyGasRecipes(event) { .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) .outputFluids(Fluid.of('gtceu:coal_tar', 500), Fluid.of('tfg:syngas', 4400), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*50) + .duration(20*32) .circuit(2) .EUt(GTValues.VHA[GTValues.MV]) @@ -91,7 +91,7 @@ function registerTFGEarlyGasRecipes(event) { .itemInputs(Item.of('minecraft:coal', 10)) .inputFluids(Fluid.of('gtceu:creosote', 4000)) .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*150) + .duration(20*64) .circuit(1) .EUt(GTValues.VHA[GTValues.MV]) @@ -102,7 +102,7 @@ function registerTFGEarlyGasRecipes(event) { .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) .outputFluids(Fluid.of('gtceu:coal_tar', 1000), Fluid.of('tfg:syngas', 6400), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*50) + .duration(20*32) .circuit(2) .EUt(GTValues.VHA[GTValues.MV]) @@ -112,7 +112,7 @@ function registerTFGEarlyGasRecipes(event) { .itemInputs(Item.of('gtceu:coke_gem', 8)) .inputFluids(Fluid.of('gtceu:creosote', 4000)) .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*150) + .duration(20*64) .circuit(1) .EUt(GTValues.VHA[GTValues.MV]) @@ -123,7 +123,7 @@ function registerTFGEarlyGasRecipes(event) { .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*50) + .duration(20*32) .circuit(2) .EUt(GTValues.VHA[GTValues.MV]) @@ -133,7 +133,7 @@ function registerTFGEarlyGasRecipes(event) { .itemInputs(Item.of('beneath:cursecoal', 5)) .inputFluids(Fluid.of('gtceu:creosote', 4000)) .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*150) + .duration(20*64) .circuit(1) .EUt(GTValues.VHA[GTValues.MV]) @@ -144,7 +144,7 @@ function registerTFGEarlyGasRecipes(event) { .chancedFluidInput(Fluid.of('gtceu:hydrogen', 1), 1000, 0) .perTick(false) .outputFluids(Fluid.of('gtceu:coal_tar', 2000), Fluid.of('tfg:syngas', 12800), Fluid.of('tfg:raw_aromatic_mix', 4000)) - .duration(20*50) + .duration(20*32) .circuit(2) .EUt(GTValues.VHA[GTValues.MV]) @@ -198,8 +198,6 @@ function registerTFGEarlyGasRecipes(event) { //#endregion - //#region Rebalance Fuel - // Increase Pyrolyse Oven duration event.forEachRecipe({ id: /gtceu:pyrolyse_oven\/(log_to_creosote|log_to_creosote_nitrogen)/ }, recipe => { @@ -212,7 +210,7 @@ function registerTFGEarlyGasRecipes(event) { recipe.set("duration", newDuration*2) }) - //#region New Power Generation + //#region Power Gen // Add Syngas @@ -228,10 +226,143 @@ function registerTFGEarlyGasRecipes(event) { .EUt(-(32)) .duration(20*0.6) + // BTX Fuel + + event.recipes.gtceu.gas_turbine('tfg:btx_fuel') // Gas Turbine + .inputFluids(Fluid.of('tfg:btx_fuel', 1)) + .EUt(-(32)) + .duration(20*2.6) + //#endregion // Process Syngas + 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)) + .duration(20*12) + .EUt(GTValues.VA[GTValues.MV]) + + //#region BTX Fuel + + // ZSM - 5 + + event.recipes.gtceu.chemical_reactor('tfg:sodium_silicate') + .itemInputs(Item.of('#forge:dusts/nether_quartz')) + .inputFluids(Fluid.of('tfc:lye', 1000)) + .outputFluids(Fluid.of('tfg:sodium_silicate', 1000)) + .duration(20*26) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:sodium_aluminum') + .itemInputs(Item.of('#forge:dusts/aluminium')) + .inputFluids(Fluid.of('tfc:lye', 1000)) + .itemOutputs(Item.of('#forge:dusts/sodium_aluminium', 1)) + .duration(20*26) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.chemical_reactor('tfg:tpaoh') + .itemInputs(Item.of('2x #forge:dusts/sodium')) + .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]) + + event.recipes.gtceu.chemical_reactor('tfg:zsm_5_gel') + .itemInputs(Item.of('#forge:dusts/sodium_aluminium')) + .inputFluids(Fluid.of('tfg:tpaoh', 12000)) + .inputFluids(Fluid.of('tfg:sodium_silicate', 5000)) + .outputFluids(Fluid.of('tfg:zsm5_gel', 1000)) + .duration(20*16) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.chemical_reactor('tfg:catalyser_zsm') + .itemInputs(Item.of('#forge:dusts/platinum'), Item.of('10x #forge:dusts/rhenium')) + .inputFluids(Fluid.of('gtceu:hydrogen', 1000)) + .inputFluids(Fluid.of('tfg:zsm5_gel', 1000)) + .itemOutputs(Item.of('tfg:catalyser_tt_re_zsm', 1)) + .duration(20*60) + .EUt(GTValues.VA[GTValues.HV]) + + // BTX + + event.recipes.gtceu.distillation_tower('tfg:methanol_distil_propylene') + .inputFluids(Fluid.of('gtceu:methanol', 6000)) + .outputFluids(Fluid.of('gtceu:hydrogen', 10000), Fluid.of('gtceu:oxygen', 6000), Fluid.of('gtceu:methane', 1000), Fluid.of('gtceu:ethylene', 1000), Fluid.of('tfg:propylene', 1000)) + .duration(20*30) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.cracker('tfg:crude_mixed_gas') + .itemInputs(Item.of('tfg:catalyser_tt_re_zsm')) + .inputFluids(Fluid.of('tfg:reformate_gas', 8000)) + .inputFluids(Fluid.of('tfg:propylene', 2000)) + .outputFluids(Fluid.of('tfg:crude_mixed_gas', 10000)) + .duration(20*240) + .EUt(GTValues.VA[GTValues.LV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:btx_fuel') + .inputFluids(Fluid.of('tfg:crude_mixed_gas', 10000)) + .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)) + .duration(20*6) + .EUt(GTValues.VA[GTValues.IV]) + + // Loop + + event.recipes.gtceu.macerator('tfg:catalyser_power') + .itemInputs(Item.of('tfg:used_catalyser', 1)) + .itemOutputs(Item.of('tfg:catalyser_powder_dust', 1), Item.of('gtceu:platinum_dust', 1)) + .duration(20*30) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.chemical_reactor('tfg:clean_powder') + .itemInputs(Item.of('tfg:catalyser_powder_dust', 1)) + .inputFluids(Fluid.of('gtceu:hydrogen_peroxide', 2000)) + .itemOutputs(Item.of('tfg:clean_powder_dust', 1), Item.of('gtceu:sodium_dust', 1)) + .duration(20*14) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.coal_liquefaction_tower('tfg:leachate') + .itemInputs(Item.of('tfg:clean_powder_dust', 1)) + .inputFluids(Fluid.of('gtceu:diluted_hydrochloric_acid', 1000)) + .outputFluids(Fluid.of('tfg:leachate', 1000)) + .duration(20*45) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.centrifuge('tfg:metal_rich_solution') + .inputFluids(Fluid.of('tfg:leachate', 1000)) + .itemOutputs(Item.of('gtceu:nether_quartz_dust', 2), Item.of('gtceu:aluminium_dust', 1)) + .outputFluids(Fluid.of('tfg:metal_rich_solution', 1000)) + .duration(20*45) + .EUt(GTValues.VA[GTValues.HV]) + + event.recipes.gtceu.mixer('tfg:aciditic_waste') + .itemInputs(Item.of('gtceu:reinforced_epoxy_resin_plate', 1)) + .inputFluids(Fluid.of('tfg:metal_rich_solution', 100), Fluid.of('gtceu:glue', 100)) + .outputFluids(Fluid.of('tfg:aciditic_waste', 100)) + .itemOutputs(Item.of('tfg:loaded_resin', 1)) + .duration(20*15) + .EUt(GTValues.VA[GTValues.ULV]) + + event.recipes.gtceu.distillery('tfg:rhenium_dust') + .inputFluids(Fluid.of('gtceu:sulfuric_acid', 100)) + .itemInputs(Item.of('tfg:loaded_resin', 1)) + .itemOutputs(Item.of('gtceu:rhenium_dust', 1)) + .duration(20*8) + .EUt(GTValues.VA[GTValues.MV]) + + event.recipes.gtceu.electrolyzer('tfg:aciditic_waste_electrolyzing') + .inputFluids(Fluid.of('tfg:aciditic_waste', 1000)) + .outputFluids(Fluid.of('gtceu:ammonia', 500)) + .outputFluids(Fluid.of('gtceu:ethanol', 500)) + .duration(20*4) + .EUt(GTValues.VA[GTValues.HV]) + + } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 6bef61a11..7f2d2099f 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -456,7 +456,7 @@ const registerGTCEuMachines = (event) => { .machine((holder) => new CoilWorkableElectricMultiblockMachine(holder)) .rotationState(RotationState.NON_Y_AXIS) .recipeType('coal_liquefaction_tower') - .recipeModifiers([(machine, recipe) => GTRecipeModifiers.crackerOverclock(machine, recipe), GTRecipeModifiers.BATCH_MODE]) + .recipeModifiers([(machine, recipe) => GTRecipeModifiers.pyrolyseOvenOverclock(machine, recipe), GTRecipeModifiers.BATCH_MODE]) .appearanceBlock(() => Block.getBlock('gtceu:solid_machine_casing')) .pattern(definition => FactoryBlockPattern.start() .aisle('CCC', 'D D', 'D D', 'DED', 'DED', 'BBB') diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 7bc0fe3e8..a3c941093 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -68,4 +68,18 @@ const registerTFGItems = (event) => { event.create('gtceu:refined_rose_quartz_ore').texture('tfg:item/deprecated') 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') + .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.power_rework.js b/kubejs/startup_scripts/tfg/materials.power_rework.js index 7c062d24b..30e215278 100644 --- a/kubejs/startup_scripts/tfg/materials.power_rework.js +++ b/kubejs/startup_scripts/tfg/materials.power_rework.js @@ -52,4 +52,90 @@ const registerTFGPowerReworkMaterials = (event) => { .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(540)) .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + //#region Materials for BTX + + // Propylene + event.create('tfg:propylene') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(350)) + .components('3x carbon', '6x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xffb347) + .secondaryColor(0xffe0b2) + + // Crude Mixed Gas + event.create('tfg:crude_mixed_gas') + .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(500)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0x9bb6c9) + .secondaryColor(0xd7e7ef) + + // Sodium Silicate + event.create('tfg:sodium_silicate') + .liquid(new GTFluidBuilder().temperature(293)) + .components('1x sodium', '1x silicon', '4x oxygen', '4x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xcce0f0) + .secondaryColor(0xa9c6db) + + // Sodium Aluminium + event.create('tfg:sodium_aluminium') + .dust() + .components('2x sodium', '1x aluminium', '2x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.FLINT) + .color(0xf0e68c) + .secondaryColor(0xded7a8) + + // TPAOH + event.create('tfg:tpaoh') + .liquid(new GTFluidBuilder().temperature(293)) + .components('2x carbon', '9x hydrogen', '1x nitrogen', '1x oxygen', '2x sodium') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xffd8b1) + .secondaryColor(0xe6b88f) + + // ZSM-5 Gel + event.create('tfg:zsm5_gel') + .liquid(new GTFluidBuilder().temperature(323)) + .components('24x carbon', '128x hydrogen', '12x nitrogen', '5x silicon', '1x aluminium', '34x oxygen', '31x sodium') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xf2e8d6) + .secondaryColor(0xd0c4b0) + + // Catalyser Powder + event.create('tfg:catalyser_powder') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.FLINT) + .color(0x7f7f7f) + .secondaryColor(0xcfcfcf) + + // Clean Powder + event.create('tfg:clean_powder') + .dust() + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .iconSet(GTMaterialIconSet.FLINT) + .color(0xffffff) + .secondaryColor(0xdfe6e6) + + // Leachate + event.create('tfg:leachate') + .liquid(new GTFluidBuilder().temperature(298)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xbfd6d0) + .secondaryColor(0x8fbdb0) + + // Metal Rich Solution + event.create('tfg:metal_rich_solution') + .liquid(new GTFluidBuilder().temperature(298)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xb56f5a) + .secondaryColor(0xd9b0a3) + + // Aciditic Waste + event.create('tfg:aciditic_waste') + .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID)) + .color(0x9df2b4) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + } From bb74c1ea4cfe6ad345dcc1ec8dd631dcb72db671 Mon Sep 17 00:00:00 2001 From: Jeuv <73312791+Jeuvke@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:15:52 -0300 Subject: [PATCH 360/628] Fix #2429 (#2436) Filter the bronze drum emptying recipe to prevent bronze drum transmutation. Signed-off-by: Jeuv <73312791+Jeuvke@users.noreply.github.com> --- kubejs/server_scripts/tfg/recipes.miscellaneous.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 65cb9248a..3499e2494 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -99,7 +99,7 @@ function registerTFGMiscellaneousRecipes(event) { // Replace bronze drums & crates with a tag containing the 3 different bronzes // NOTE: A better way to do this would be to overwrite GTCraftingComponents.CRATE and GTCraftingComponents.DRUM in crafting_components.js, but tags seem to get populated after the recipes get registed, so... event.replaceInput({ input: 'gtceu:bronze_crate' }, 'gtceu:bronze_crate', '#tfg:any_bronze_crate') - event.replaceInput({ input: 'gtceu:bronze_drum' }, 'gtceu:bronze_drum', '#tfg:any_bronze_drum') + event.replaceInput({ input: 'gtceu:bronze_drum' , not: { id: 'gtceu:shapeless/drum_nbt_bronze' }}, 'gtceu:bronze_drum', '#tfg:any_bronze_drum') //#region RNR Paving Cart const rubber_types = [ From f2d633ff8e727ea8837deb0d1ce905c4b77b9615 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 18:34:54 +0000 Subject: [PATCH 361/628] thanks vexxed --- .../textures/item/blackstone_pebble.png | Bin 0 -> 296 bytes .../tfc/textures/item/brick/andesite.png | Bin 0 -> 402 bytes .../assets/tfc/textures/item/brick/basalt.png | Bin 0 -> 392 bytes .../assets/tfc/textures/item/brick/chalk.png | Bin 0 -> 390 bytes .../assets/tfc/textures/item/brick/chert.png | Bin 0 -> 418 bytes .../tfc/textures/item/brick/claystone.png | Bin 0 -> 407 bytes .../tfc/textures/item/brick/conglomerate.png | Bin 0 -> 401 bytes .../assets/tfc/textures/item/brick/dacite.png | Bin 0 -> 388 bytes .../assets/tfc/textures/item/brick/diorite.png | Bin 0 -> 405 bytes .../tfc/textures/item/brick/dolomite.png | Bin 0 -> 403 bytes .../assets/tfc/textures/item/brick/gabbro.png | Bin 0 -> 380 bytes .../assets/tfc/textures/item/brick/gneiss.png | Bin 0 -> 440 bytes .../assets/tfc/textures/item/brick/granite.png | Bin 0 -> 419 bytes .../tfc/textures/item/brick/limestone.png | Bin 0 -> 403 bytes .../assets/tfc/textures/item/brick/marble.png | Bin 0 -> 577 bytes .../tfc/textures/item/brick/phyllite.png | Bin 0 -> 405 bytes .../tfc/textures/item/brick/quartzite.png | Bin 0 -> 406 bytes .../tfc/textures/item/brick/rhyolite.png | Bin 0 -> 429 bytes .../assets/tfc/textures/item/brick/schist.png | Bin 0 -> 433 bytes .../assets/tfc/textures/item/brick/shale.png | Bin 0 -> 414 bytes .../assets/tfc/textures/item/brick/slate.png | Bin 0 -> 414 bytes .../tfc/textures/item/loose_rock/andesite.png | Bin 0 -> 347 bytes .../tfc/textures/item/loose_rock/basalt.png | Bin 0 -> 373 bytes .../tfc/textures/item/loose_rock/chalk.png | Bin 0 -> 380 bytes .../tfc/textures/item/loose_rock/chert.png | Bin 0 -> 377 bytes .../tfc/textures/item/loose_rock/claystone.png | Bin 0 -> 390 bytes .../textures/item/loose_rock/conglomerate.png | Bin 0 -> 390 bytes .../tfc/textures/item/loose_rock/dacite.png | Bin 0 -> 376 bytes .../tfc/textures/item/loose_rock/diorite.png | Bin 0 -> 414 bytes .../tfc/textures/item/loose_rock/dolomite.png | Bin 0 -> 376 bytes .../tfc/textures/item/loose_rock/gabbro.png | Bin 0 -> 370 bytes .../tfc/textures/item/loose_rock/gneiss.png | Bin 0 -> 456 bytes .../tfc/textures/item/loose_rock/granite.png | Bin 0 -> 388 bytes .../tfc/textures/item/loose_rock/limestone.png | Bin 0 -> 400 bytes .../tfc/textures/item/loose_rock/marble.png | Bin 0 -> 449 bytes .../item/loose_rock/moss_igneous_extrusive.png | Bin 0 -> 340 bytes .../item/loose_rock/moss_igneous_intrusive.png | Bin 0 -> 320 bytes .../item/loose_rock/moss_metamorphic.png | Bin 0 -> 313 bytes .../item/loose_rock/moss_sedementary.png | Bin 0 -> 329 bytes .../tfc/textures/item/loose_rock/phyllite.png | Bin 0 -> 421 bytes .../tfc/textures/item/loose_rock/quartzite.png | Bin 0 -> 471 bytes .../tfc/textures/item/loose_rock/rhyolite.png | Bin 0 -> 384 bytes .../tfc/textures/item/loose_rock/schist.png | Bin 0 -> 441 bytes .../tfc/textures/item/loose_rock/shale.png | Bin 0 -> 363 bytes .../tfc/textures/item/loose_rock/slate.png | Bin 0 -> 448 bytes .../tfg/textures/item/brick/deepslate.png | Bin 1946 -> 363 bytes .../tfg/textures/item/brick/permafrost.png | Bin 586 -> 351 bytes .../tfg/textures/item/loose/deepslate.png | Bin 1670 -> 376 bytes .../tfg/textures/item/loose/dripstone.png | Bin 1747 -> 351 bytes .../tfg/textures/item/loose/glacio_stone.png | Bin 592 -> 356 bytes .../tfg/textures/item/loose/mars_stone.png | Bin 445 -> 359 bytes .../tfg/textures/item/loose/mercury_stone.png | Bin 455 -> 372 bytes .../tfg/textures/item/loose/moon_deepslate.png | Bin 364 -> 370 bytes .../tfg/textures/item/loose/moon_stone.png | Bin 1676 -> 367 bytes .../tfg/textures/item/loose/red_granite.png | Bin 882 -> 369 bytes .../tfg/textures/item/loose/venus_stone.png | Bin 371 -> 337 bytes 56 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 kubejs/assets/beneath/textures/item/blackstone_pebble.png create mode 100644 kubejs/assets/tfc/textures/item/brick/andesite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/basalt.png create mode 100644 kubejs/assets/tfc/textures/item/brick/chalk.png create mode 100644 kubejs/assets/tfc/textures/item/brick/chert.png create mode 100644 kubejs/assets/tfc/textures/item/brick/claystone.png create mode 100644 kubejs/assets/tfc/textures/item/brick/conglomerate.png create mode 100644 kubejs/assets/tfc/textures/item/brick/dacite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/diorite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/dolomite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/gabbro.png create mode 100644 kubejs/assets/tfc/textures/item/brick/gneiss.png create mode 100644 kubejs/assets/tfc/textures/item/brick/granite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/limestone.png create mode 100644 kubejs/assets/tfc/textures/item/brick/marble.png create mode 100644 kubejs/assets/tfc/textures/item/brick/phyllite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/quartzite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/rhyolite.png create mode 100644 kubejs/assets/tfc/textures/item/brick/schist.png create mode 100644 kubejs/assets/tfc/textures/item/brick/shale.png create mode 100644 kubejs/assets/tfc/textures/item/brick/slate.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/andesite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/basalt.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/chalk.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/chert.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/claystone.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/conglomerate.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/dacite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/diorite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/dolomite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/gabbro.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/gneiss.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/granite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/limestone.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/marble.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/moss_igneous_extrusive.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/moss_igneous_intrusive.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/moss_metamorphic.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/moss_sedementary.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/phyllite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/quartzite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/rhyolite.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/schist.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/shale.png create mode 100644 kubejs/assets/tfc/textures/item/loose_rock/slate.png diff --git a/kubejs/assets/beneath/textures/item/blackstone_pebble.png b/kubejs/assets/beneath/textures/item/blackstone_pebble.png new file mode 100644 index 0000000000000000000000000000000000000000..76d7bc81b325d23c4f57e2dfea459977d67b3915 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_p*(o-U3d7QIJ<4Ev5K@XVRB&RBL*Y>;~GuRs5p>zF6raeSLA#xgsmO zWN$}lY~eih8IlYF$u62po9$(PY|E8Bac1tCRg*8wWmaFrXJ9-dvit%|sOZ*fep1_C zF(@d_y|RdNrIwebZ^BLv0YN8@6PAxH`cAG|rSzOfX%@?}pU0hD^pyVH`|)(&?Sn>U zx8^9eWIi+8zt!;FW5sFSpZq5tU;lq@1>@Umx%2*-_AO&zU|{fc^>bP0l+XkKcTIO4 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/andesite.png b/kubejs/assets/tfc/textures/item/brick/andesite.png new file mode 100644 index 0000000000000000000000000000000000000000..14a11c6c0fd74b64a72024804d83b1f125300828 GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lRDS>MJq0t@PM#;ik@4jkH)SGUZ z{?6vXeHV!zxe`Be_t%wj2K{_HxBKx8p7uqx6*Wd7cXzN<2KNVf#I7~iXm0WF>@oOod#3&3m1R<|&U-N_tYKtWub&@MRK2I!MpI(9GVjV( zF1g*xwMT3;Cu~}hm-VQkR>UKcDWg+J=6HvVrpIO;hTs`je0w#|ywjfJb;U1p+RN73 z9g}YBJKnu=$6swpWZPQ{m%uBGexJW>NVlwKOV}47`Ac-&T4|reN4~a;G+rHeo9HjI zzEu75(O19i1B9-gw0vRGGvDrF+T{7I|H5jR7W`Om8F}iMJ_7>-gQu&X%Q~loCIIzK BqLKgr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/basalt.png b/kubejs/assets/tfc/textures/item/brick/basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..803b2eff9455dae7bd4952305af4a47936eb26a2 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lS{dMTyiSH^PNXcXqe{;_3aC8)--Oco-!xlja{?Ca2e zbyg}}=UQpb*LPc*jKwUxn-oee&o=eF%cO8zdCltyk1u`@{Wa;r%9Xb(J__Z1{T-PQ zd;D;YSMYWX%Y{0p884jQ-JBe{p5exOJE4zJdXv|jur&?e&B(0LaQ~lU*ps+>r!73o s3v#}`)4J0Czopr0EOPCR{#J2 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/chalk.png b/kubejs/assets/tfc/textures/item/brick/chalk.png new file mode 100644 index 0000000000000000000000000000000000000000..ffbe8156785327244f5552c991cb3840eef19972 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSOq2ZTbs-o7#M{;T^vI!PG6n8Kktx% zK>L0VNk;9IeA&*tFOn~2Pht0%lJ5AyKs5NKx8w<-X%=^Vr`T6pDeU(2I(=(i%FmKr z@5|HgO8)D0Exh4Yc!TfpJKYmMJ|DN-_nvvn>#N5M3!jU9F_>Mb$F*$U@tqnBH}<|W zPD2hJTMT6RisuS>#MVoqlT5mJ1)u6dDAW8n*wP_hd$l)rl!e6D~Qa zT|Ce@pp3PduewZZV_CLbV+cFKF=Mi(>pCL_x5u2mv4&Fqzk*+M&G6cJD(8`a zU*E~;4#DAfPB+A)`q=g#ez=#tq;{#D$7NxL+tb%RUKcKX+~;AG=>m4i54Yu93U7E- qrd$8yeKo5%w{w^7zrX(9IQ1D;eXVJ+?_pqIVDNPHb6Mw<&;$TQJ)v#@ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/chert.png b/kubejs/assets/tfc/textures/item/brick/chert.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4ba06386dea2f4145d04eaed709a23c058b734 GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@Qfvgbge;gzV%P7#Q_ET^vI!PG6nmn8jo$ z;t=n!aK^&L9VLsM#P8modS&nR4}8UwZ1-ojC=Yw8fy|Wl=a0-!Je#*B$bRw?uj1C&Z6AwqNvOu!(0fsH{~E zWfg5uIrpL@nr~C9*t?SGcb%Sd7IHi1U32-|(-pPuLyBn9oFiOs{2uj$WPYEyGcsTD zMj68b?#C+MmW5=7S8yy}^+W7Qn(yvN_0U;u@ySBxzBSy95tp8~n4jU;l@V1uIaRo}-ik6~U|>}7ba4!^IDK`Jqt{^v z5r_C5Cr>FwpVnOhT$8eo2#e%j%&z2`Zrh+270c0@z{?rrGrMis#8cg*J@3A1 zPqaH+pa0K5{+}<;uR7BgzeE4t`N13XGxa&o^=*}PzaPB&cQ8ZbisE|hh&9_w=7@EF z6?@>2Wa7AP!^uldhu3Z3JQUJB<%q`5^{ek%K=d{hJJm)KqX67jzc2r z)lHUgiN5*TQkNvKEXB1^r`%=p)wl_wtd1SiG#aBEX9%4yX1F!2Q>T23u5g0>3hyhv zA8oF;mRfi{neH&ndY#_6&gYi0%a2yfl3}?2dFh=GB5N2V`qbL~u^zWtm^-r~_F%;< znFHQC6=$t2Q9pd~$#WTv&R0()u2^(t$;I8Dy!gWXF8@cGTlUmM{rJbgz`)??>gTe~ HDWM4f=+va^ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/conglomerate.png b/kubejs/assets/tfc/textures/item/brick/conglomerate.png new file mode 100644 index 0000000000000000000000000000000000000000..0752570654a9b6abd707e45bef49e094bfa9dbbb GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lC3HPU|^K_zYE*JH$Pk7^_`3LD(vFolI+v&b#|W2{Z@dhRHJ;BN6FRZ z$8!DOYrpqZf5;CLazC!p*LQc%XX%tjC!b0l61LgDr?~w8gD+gW0xWoMOtU_AuOoLS zbB5;}JC7esu^HUl@d}&oboCtZeDtECxVl$wOY5%X6B#(-87A26TXe0Ojlt+NXL@6+ z&%(yTkqPrPHp|3jmE2wM>6OZbrEX~voq{uTH_w@RYtE;40CQE>L=%`xh}^1Y;T(XUHio_y>d&R@cI?~3=9kmp00i_>zopr09m}H A761SM literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/dacite.png b/kubejs/assets/tfc/textures/item/brick/dacite.png new file mode 100644 index 0000000000000000000000000000000000000000..b334a380eeddceb2d43d3171ee1a091d852ffcd9 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lr_pRdGHE%JCf;eMBvaVvwW!WqDjP<%$j`j-5iMv`Q zy|wkdykONEzTcAr|E<)XuHnnBMK`yPG)QDpEiE{(r|QNBr^} npHKYzrSsms!@e)_kFqPJt#=V|x|PAez`)??>gTe~DWM4f4>g^& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/diorite.png b/kubejs/assets/tfc/textures/item/brick/diorite.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8294f260923d0b00a4855fa685a963b4877cb7 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l}8ba4!^IDK`Jz4u`U zkpuPYv71z5{u-AEI(ILA!S1E7_`z|FI(EnX%@#Yl5_V1Dn|Y|WJ>l#{X(rjn6YkAC zmK9!mTK4$gy7zah+5f9;Qpw$H;kTM4 zs(O>PrtZJdzV%u>Q?~9$3%A@^Ce?Fu8SmD{UVrk_n1R3FKdGR)Uj2?pSt|231@^k% z?2(hq)R%8uzhqr@SJFP=S8X@GcHXnUSJ(P4tcGdZ%e7x`xwe)tFfcH9y85}Sb4q9e E0QyOwMgRZ+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/dolomite.png b/kubejs/assets/tfc/textures/item/brick/dolomite.png new file mode 100644 index 0000000000000000000000000000000000000000..53e0294c66804a756568315a993da5599427362a GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSb1g7&6h4_U|>}6ba4!^IDK`}!K_0L z0uJ%3l2oL3Z5MbX{w3r>@}A%O|272ed3D!eud2?XDO+zYSTsTIR;-WLt!(QJZ#KNC zHfCo2uXd>QmT}{y(jvvhI@=YpzC@P>&&pqQNl+6O}k|ky8_b zrt|TocAT0j9N9U2+2>z{pBz?tvv1AUX5>iaIFP;VS;f1H>;XHK-D0P>^nBfS)eP^PrHgJTEq%Z0{-NW= z{0;wJMilPl^O)4J=!Q~@!f7+!2WIkpOy8_|4-{?vVAJq2CG0yp^O7%}i&}JUn>=`^ zv7qYuy2($oKGyQDIa2mX_{z@C%O}@tTorraei#3`AFF?6+MUZ_U|?YIboFyt=akR{ E08n42{r~^~ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/gabbro.png b/kubejs/assets/tfc/textures/item/brick/gabbro.png new file mode 100644 index 0000000000000000000000000000000000000000..ade2ac9cbc7718b7a156f631344d290323bab8b8 GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@V0j*~JZ~&Xo3HU|{6*ba4!^IDK`}!LCCF z0uJ$x{(h&cf<7zOIlp8-UDx!B^V;3XEXp^$tZhRJ_)QO%y?j?%u8<<}DNZfr!F`u$ zOZ#=a|=j}N&&sfa$%Q1U@aYX{h+B1_@t@4~SW7R6gs!16l@QgPSb0^S&0YMKfq~K0)5S5w;`G%?8?z1t zh&cGKSdi%~I$5VT!O?qRYn|h9J=d4Z7VoaVxV})V{=m_LI}gTe~DWM4fr$w-Y literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/granite.png b/kubejs/assets/tfc/textures/item/brick/granite.png new file mode 100644 index 0000000000000000000000000000000000000000..6d25e7ba1bb9986fc95ac5f8ce7d02ed252a1b35 GIT binary patch literal 419 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@V23xTOX1UI|TMU|=-xba4!^IDK`Jq4!}2 zk%s*a%Y(GSg&bWpL@&(`EYN*1Nz?nkQ+-$c!KIT|H!p5}v8XiQQi?}Dr-yLSmMKCn z1lo(jrPr?e^?OSh?m-qNsX@uRao{$Opmy`6n^ zS!sDPZ`I!*@zC9j))UzFzd5+zx_-Z3j UOzrbyU|?YIboFyt=akR{0F(ErdH?_b literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/limestone.png b/kubejs/assets/tfc/textures/item/brick/limestone.png new file mode 100644 index 0000000000000000000000000000000000000000..eec9606526bd1251fd103420fee2bb86ea7ed520 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSousZus`r(U|>}6ba4!^IDK`JVb);- z5r_E;CvOzK>|nTZ^A7WuoLsU+&2KC{zu#L>eXK{)NF>UuV4xy;>1OGlwQTYe2^fZ*jl2b{c+jkk00Otn^qNWwPJ5Hr-MNULq+vj0qLWx z4I-0Nd}UI&b>}SUtX?ECY45cerzUhiQn``Mn=Yii!JDg7M}(p7MY2}2{4WM|$LOT| zNv%b#xe+;6rXL7tdt&7#*0n-@!>Mb$4{XAtefQO{Cz!=oyc2)4TCVQJl@QgPSOxeGd9kT8Ffg9;ba4!^IDK`pZ@y5V zNZWkw9nBBpcC561nw=FbTpu9*k6Sq`W@POpY5AXQEKgSQ|1rOOFMn29@%=w@y7xP>pM4gt(3%^5A?mS(ZJdeJqyDD% z0ym~=&Gz5M+0?+hlyjM|fM!*n^WKkMHNrAmqS~%clddjT8+8t*Em{eg zo%SCtd^hLFQ0Xp-m~%!s z=)=3x{>%L7DLfB$+f6O%tT1%<;(m8PD=NFf>fys}ybixU%kFzE)MEVXWY52+4LlAN zwY@*SO#Jj%cG7IgJKo8f+}@EXsf`~KI-XapIS~*L`7F>QPOC>CW!h;=hRcynl5v46 zZ5e`otm}W>9}w0jn#sVWl@V1uIptaMF3jL$U|>}8ba4!^IDK`}d9T9` z0`2=-W1Rj;crWB&d$sd{?ibBl-t#Ya?{nm5eCd0_F(X;wlFAlA&)p{t+=5{d35M zhqa-QZ&MEY&ik1+Hp$8!=5?^}jhd8d7Dr9~W*Ec&v~S8n|7$fJyVi zY1y9U1$)2feNoxECi3~u?H6u(hfJQ5`cwJK_BYHNJ2xitEKvzzU|?YIboFyt=akR{ E05D*vU;qFB literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/quartzite.png b/kubejs/assets/tfc/textures/item/brick/quartzite.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcebecfe879d778ddb248a7028f9602f0a85f32 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l}Cba4!^IDK`Jtv{2Y zM8kZwGf%46jUD?eBp<(j`NHytcT8#dQ}G=SVn?oFN$89!(K#Uk5VZ^J5!tJTl!vtXP1?YD|&*Ylk! zo?HjAC6ZJgse5>NPD>S=7PP1|$JI@VY3ZrgtGzerY`*X>M};BCi^1)&;pd}8-`S&% z|EN3f^lU+6?f&%nD@xC3`JVXPWYAUC6gsQnm{-pMp0&weO4u46o1Fa2bUgFg>VT;; ze5$NAvwwg1GwG-5iO)>`mvqlN_rYfR@{``YE7o1V&Aa$HCj& literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/rhyolite.png b/kubejs/assets/tfc/textures/item/brick/rhyolite.png new file mode 100644 index 0000000000000000000000000000000000000000..9b8c9010d5e5def18628293d0a34bb68b6b772bb GIT binary patch literal 429 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSjAXNj(Y58U|_WJba4!^IDK`JefA*- ziT3#o-7|i)^F_&af8(BVY3bW%kDfi6bk+arR&Q~0aeGHiwSbkE1zntyj6ANm$Xs@O zw@Nef`nT4{aed!^-hIEf`r-W}7i5+=7f(n#zxBSt%;}|btNsc-@r^gAM(nF*=eg^Zb`)6_giqPv|=)>?=L1`OCkD z6A#;k1(eyB2I$CsFTb7iaF;uKL%SQF3%6;Pc^kfPt>qXQy2bYx6l?@1nsd6ZIHa?u;I4jS?4%3(vXo^Umu4AkePjH< zB;H-{+Z$$vY_sbo4Rz~h$6d*K#lCD>E!+CV9ZO$ps$a|bSIf7gqvVtD6zk5vaptTd gGuZ#G{lOyoW!;)*8RoYb7#J8lUHx3vIVCg!0F(c>XaE2J literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/brick/schist.png b/kubejs/assets/tfc/textures/item/brick/schist.png new file mode 100644 index 0000000000000000000000000000000000000000..ae165bf0af69876bf81a7574d273cd3ba2030d40 GIT binary patch literal 433 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSS7f5|9O}(FfiJAx;TbdoW6R=Hv5nR z!?BO`2PP>P9+}>?EGTM&H#@s|tnBBR-p}h;g=>_LO;A%?5~$>K*>R7QcWG|^&c_eF z-zh$RaKGd-%TvC^Q|7<-zJ8%Fx8xSXjcrF?pPpT?G}|NW+nY_&DXIJp+kdl6kazal zzi`(&;bR*Ql*S(aYIfq(J^`hf&othDo%i#`FQ&QYm-A{pRb!ZZljS}?AMdn#J-e?l zC)RK_3t=sSGbqg?e&ENU(I&(`R8y6I9v7CTeRzikcM zBTrT2FegM7dooGz{H|OZ<$6^lZ?;yjwE#oH?4=gm{w5pO?ELarS=PDFS8ri_{iB2% k=NX&6e^B}r{g`{j#|l@QgPSS6Lh!XHXAFfeL+x;TbdoW43~Z`NT0 zk=FeImjj%8SFUx}`1nZCS+T_U$-!SGu|_2)7Ku2uA89;xO{pi@=|LGs(Bm)a+0~8( zg3qnLE5!aV4;2a4>{>bJKEIyhy8g$}4A)+lr)^F@&pLg9il@P`2`VQ$Uj@$b{2;t! z%A!?T{Mt(|M9r6w^KCG=n`aXIe0qZ@G45E2~16)0*7QMIU~2 z#BOI!*l%AUY`${cTJd>@Z?FCNhc!F;lF6cVx}l*PBldi4xV-Omna=d}3^``29S!F1 z=lN8l<5yzG`@)g$&nAybyJ;5tK6~!UbB|oNueI)u%k(2NeucltzsmkSWmE9pPqBFn P3=9mOu6{1-oD!Ml@QgPSf!cb`4zY$?zuqdTincf}_xQB-+OUAuHFs;nPET>W zoU+x2(MxD8-zDD3uG6$4%zY+l1Sn} zc=w-!I;ZXJG zja6?ax%horzA$Uep>^8@xf*ohH*enFYtNf$;u{x#N9e=eI{svtbfyD$|2C_w%g-}i zFv0g~rUU1s1#4IvrpU<3UHDm*eVsdd;jQ@_*JM?N0!zi_|H-@$iNPmM)7D+2=q NgQu&X%Q~loCIH_=qDKG# literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/andesite.png b/kubejs/assets/tfc/textures/item/loose_rock/andesite.png new file mode 100644 index 0000000000000000000000000000000000000000..1db960bd71069eeade44edf3bc56066fcdb23f50 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lUSO0Wa3pef%;m>hcZto?RQdUD&ga4h z>!(}oTJgH7((d!U%O<^6yb%Y_uP)vZcp^|TT`bigF5=cE$Hh0^k_N4tu@DzW-5e)jb()0zGQ+?Q8) zUXn~+_2R+xhWVQ|``$li+4V@O+J4Og#nhd5?HY7u**BN-U5i_~LG;|`7_N}^;)J!a xr#9VjxL2JSw>7uguJhWhrx{tQfBdhRPuMgyeoORUMg|5322WQ%mvv4FO#l^wll1@q literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/basalt.png b/kubejs/assets/tfc/textures/item/loose_rock/basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7940fc566194a9e92baf12c1885aa2f2d4f4c8 GIT binary patch literal 373 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>leU#;yaOZPUCS`Ym5k%)i!D|GfX7lZD6FzVr8&e)n~$sIM-q6E%78_AW1j=d8eI zto!&n_zV4uuC?Y0Bl@QgPSY=h$#Bbcgz`)4q>Eak-ar*8gL%+ig z02}Xx0)qE`K9wM%fgzP+)M2INbIo`3Dn!5Xj<-wqqt(*K( zE-I$3iafi|zP?QCpLNs1M@g33_3G!ELwmZ|zFk`iqB+RqXW6 z(goat2PGIEXrH#37$`sQ>^!RzrRHuD{rQ4|t5$uK>ie~US@zAGH=kr0re9BIn7u6X z0q2&|w~TuFrt(s; zy^92r`;umtwr#H8#=3TEZN;ASNh)^_@4RXLn&&|C`E4Jfw=hgrS*XJ=dxxFfe$usD faRU3U{b1}j@BjDtdfj&h1_lOCS3j3^P6l@Qfvg!Ork{5fLEz`)4n>Eak-ar*A0gIR+?sM_Qo>O~#>uSIM!TG#86}6>}LC-rv_N2$&HHm3iXq1)9?pPPh6!=UFP6Hg(Y! zr&H@IOV_`iG-FG_$Njm9R#MjjD?CetceQVx=o`gQQSe&oyYH=C|9(wewm9*w&3_j8 cPCLdE|0aBBtl0mafq{X+)78&qol`;+05|)a@Bjb+ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/claystone.png b/kubejs/assets/tfc/textures/item/loose_rock/claystone.png new file mode 100644 index 0000000000000000000000000000000000000000..a1cae9f4b5eb2638608d7a150854a5689b1255bd GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@V1uIaLJh_fNjXz`!W%>Eak-ar*8gN3X*U zB5nIUgdLqGnmLKKH00&vPjJ=0cyGz`g8R-d&I#`*xZErK*6Cp!#oi#oUM^hu3XKDBj~kN?~{(C~M%^SAQoC99tNdpULKC7<D`TSm2LAHjLd*u@uV0kzDD0iB r<{Ml8$K&zC1*_)oZ~otD$H4Qm?`P=FbAK5a7#KWV{an^LB{Ts5>rSVX literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/conglomerate.png b/kubejs/assets/tfc/textures/item/loose_rock/conglomerate.png new file mode 100644 index 0000000000000000000000000000000000000000..073b771db4260c1186372c88f42d3f02de843ade GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lU2~p#^BD^^^UtfsC`h9n4D-CUwv)~cfmo0)Z@MZS7+)@ z>UCUw^Z@Jc(lc|SMYb*s;kv|XXSY4BB%k~7!v%YG?rM0$^}XQqPbmhS7n|f`llOL( pu5Ip>&$N-5a`m&}50@{@ZMuB|wX@upGB7YOc)I$ztaD0e0sxQFoK64$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/dacite.png b/kubejs/assets/tfc/textures/item/loose_rock/dacite.png new file mode 100644 index 0000000000000000000000000000000000000000..9512f732ba0e5141feeb8a1e504ebd326d51efff GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l3ulo5*eZ z@0ZW_6A;{_(>yE7=PJwN<(!i~DsP+3`!BU~VfXj`^V_P^*0Z?=cFbnvtGWGeOF%L6 zHnyPU7H`V;3S4Y;7GRj-^Jm`LgD-13o!k`nL_NQl%)Z%Fj;&$Usz1vYZ(vdt-e9_7 zXX6#keSPj5Oc@$3|7<#1bFKKR0N1LW2TvDCvR=F6a8jk{LwbYu?%UrJ_a9EO`@EMw z?1T2wv!Cy@d(OSrQq32$exU*T>*rUvbxsHIoMRN+y83!4%gxmvpE*|)2z9P7Z;k!X ccg?(Q%iM#nE4*_V7#J8lUHx3vIVCg!0N%=*TmS$7 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/diorite.png b/kubejs/assets/tfc/textures/item/loose_rock/diorite.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c7b84dee6053c24a401057ccb5e804380e6172 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSY`Enx*`@aFfeL+x;TbdoW43~zxQDW zk>mT-|1n!~i8;y4Qn2t?{;mJSh5E%iy8rQZ?Jf}!f6lh)S945zik2+b(&>uF9hn|( z;*fp3z*1QF?W+7;)$i@@f49BI{I7Px{jPrg@2RDJn?x82Dhpk|afLi6uwi1*2zAKW zzCnh)hm}|G5-b04WsOhr(wDvgz*>? zhvqH5SDxoTJFHx&=*6pZn4^dFfz7|0j-gL%jv4io%&YC2@L6J;?TfMp=WCUg9Qgd& zJNcdGG_zfGKdNB@)4x0F)#exH?nn*a$M?Utg8lP@u5wfE&)y6S O3=E#GelF{r5}E*-@uvm= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/dolomite.png b/kubejs/assets/tfc/textures/item/loose_rock/dolomite.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7f4298679cb21cbc7a1ad05956454354a4908e GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lNlDYjjzxIE0r^i?OUIY7aTo+50l=h3+Ja zd%LYYKU{y-6{6nYhoTZNGCwajDsx@2qDpZn(K-Z{WeComsjWi?6UP z)n?dt<@wAfuY~HV_LPV2{&0A%LZ@=qBLkbJR`1-H(%t%76{ia^*mK<6yMN=|eN_y? z+8KRm0{3b?X5D(guIMRaIkDIC`+^czJ=J2xn5TL<))FEjM;l*$k+SDFxzy$5gk^Sj zorT;rVlQ4{(_EUp|2tRatgTKQ&zu&NlwRBPCvtZ|eoL@XHlzB+52_ZwCSEeh{{5(4 a`u^?G{`f^1#!?In3=E#GelF{r5}E)3-kA*m literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/gabbro.png b/kubejs/assets/tfc/textures/item/loose_rock/gabbro.png new file mode 100644 index 0000000000000000000000000000000000000000..bea40c9c3bf29165e06165858afbf2ee8c494db0 GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@V0j*~PWw|6E$Yz`*d|)5S5w;`G%?8~qL& z2(;NNA6vBT+k>5_q(k2F>|y!9!4bz(!I_{Mczn~5b8imjt*+n?UZcWWvebO;`!D~$ z&n+$ZruZ+*&feB6_gyW+gQs78=a^))cIz-Ju$)iao^CZi(fhWsVDcl^X@X7c4>sIp zHkf-pXy4ts&;LGZGU)Ak)c$+7%CsQWhf1e~4jN24`1Wk+;we78r)HRJG*Y|B*^X_JI-=9>El%8rCv&!qEiiTTzWL;_uK`!R?mgZ8gz44Wv@NX z`6)>`X^r8sH)|i)zVMY5>bZBYYHN<#WbG~2+?yn_KP4&q#XYLpnse+`?8pBd@-7nX W_YVu3tYBbZVDNPHb6Mw<&;$Tb;+m!a literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/gneiss.png b/kubejs/assets/tfc/textures/item/loose_rock/gneiss.png new file mode 100644 index 0000000000000000000000000000000000000000..7597a0ca63b46d48cbaf4a4a4fcae4d89ab3a56d GIT binary patch literal 456 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSY<7D#J&B@z`z*l>Eak-ar*8gdvB&f znPc|idH)_hf2df*rNoi9v(lS`ujvO<6(g_S*>mU4>hkVo*gkE6X2xaTj2A8|4hUPm zv#Eb+DjMT_H&M&Q{qR(3;Y$@4 zq3k3#r-d&)(%tsOC@$u@caQm2Zxw?8x3G=9-^yz|YdSsm#W-fTaMtYnw@cDs`}8N9 zGS{s1opK;@&xAnM#Sa^5b~cryMFlx@3rSU`FRW{QZM%$54#f0v!K3oF~h-$ zg(osB7DO2f+)A(9XL51{Q^U@^DXQ_FoffON?%(aSJCHxhm-+hSGjE^XyL_3h=S zw)2^tSa8*Z<9Uhg$%>qbLWOHq%5v7%EZOidH>dkQryWDL@f7v`l>bT$3=9mOu6{1- HoD!M<`GvgK literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/granite.png b/kubejs/assets/tfc/textures/item/loose_rock/granite.png new file mode 100644 index 0000000000000000000000000000000000000000..40a31899fb4e5fc484bd638bbf04c283a3b8ffc7 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@V23xTVF~JGU=nU|3RG6#I^#k`GhIGdQZCMuax9lYqj+1o!Vx2aw&)2d! zA+_9Qvf8!K_a!^07r(FU=l*ZEC;9B}+dEc$_T9+(;N8oON9V{fAJ$-S5SL=G6gqNd z)iZ(h{CtZKI98?0#5{k0lAS;Qyxaj#;lB0heAD)oBuKEnnCsZ*a{LHR6b z?h*RVY?)TMS-W#oeL#K4-?9g{k4%5zGzVcBC(Q;9i>M>a4=L>tBH o?v2+kw3-)E`&I3a`6KQf+gdnFyuE!H7#J8lUHx3vIVCg!0Q{_-Hvj+t literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/limestone.png b/kubejs/assets/tfc/textures/item/loose_rock/limestone.png new file mode 100644 index 0000000000000000000000000000000000000000..0eb6148b0308636103201dcb39dbfdc8d8295b7a GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSmpH7mvbjFFfht`x;TbdoW48BI_t25 zK%2c}xsv|M!o(hfmn;XDc#3wsf55$?V5atxg4vgR6y793*kE5`VQs2eCc03cW1C^W zf4j>ve6@~gH&@+0`jbNm8$Oo@q)kG&*s_3Gi1H>ba{ zIW+Tc`w$ya@4zy#X?DVE_gQ|&z6w74FID|%`@}fjm-ECK7#J8lUHx3vIVCg!04S!U AaR2}S literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/marble.png b/kubejs/assets/tfc/textures/item/loose_rock/marble.png new file mode 100644 index 0000000000000000000000000000000000000000..9fac9199dd2776ca0cba6ea807590512d8add1f4 GIT binary patch literal 449 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSQWXMtB&?CFfjUgx;TbdoW48BHv3S4 z#F2VI_SZ{VCj1c%{J?GTGRCUp{FQ|lE-E^2clv(GsoklaPnMN^e;1#tK$Aj~;*(wh zAMrvXS*NDZ%;(>ZHSd1Dqx!*lXDipfw&o`jcJJCZvCi~FOV^?iKYB6VnI4c83e>mT8(8AWRzl?LQglkBL{o}`?Jd5YQ*yZ=)=a1~~Pu_J`O8tHNHul%GgK{%p z?D8{9m%8sFC@S_jRPWEniJRK^3pM_!|6uwPGvSTT{s2z~1_lOCS3j3^P6l@QgPSdBRzwLf{vz`*d()5S5w;`G(YwtY;7 zJZ|vCmUT+U z&-d9|f5^|-8n^6f)l9GbnzFgqpM3uId_rPjQv}D}P4{Ju&8u0r$2MCmTxWBy>ImoK z>1UQdI206H*=Dgo@JLhJ>!&qcJ3`nma4?7eNaPmJ;9>rg$EWs%Yfj>JfzKgF+!tl3 zblM*8@1F5-#u3kTzs{AsTc#lP>eS^j-(SD-E?NJcDEy|}UASs*V6~R#%8P4wE^tVR p^lo1}<-u|7-xtsQf2nTGC_W|C_zC-0Lk0#022WQ%mvv4FO#ri9h~EGJ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/moss_igneous_intrusive.png b/kubejs/assets/tfc/textures/item/loose_rock/moss_igneous_intrusive.png new file mode 100644 index 0000000000000000000000000000000000000000..3e98abc204a2f06a4918acdb22b61f45d410b705 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSdFFAESFj{Ffg3;ba4!^IDI!rk+0c7 zV2<-zi^3g~5?=jk_1YKU8PxooaZf{h!iO5hlj5(kJhUtelkSF^IK0o`Sh{Yxp7HL@ z#^XO=AEwVs1K z-8~G;+(ajTc{s7x__rv`NEaC63hS9oT}at`^f+6n~-Y0 TxWIA-1_lOCS3j3^P6l@QgPSdG;^!*1?jU|=}r>Eak-ar){6MZQB0 z0~pFZ!;vPlI|`G_4unf>X;djw*|<0&R(#jbtJ?d5jx@P29Vj{T>1B*^*^T}n!?znR z+RxBWQ}lXzFiHJh^S0MTFBH6vZuwF^&0V=f@$bX*1N~o2AAB!iWSAT4rCiT4g@J*A N!PC{xWt~$(695G4e767q literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/moss_sedementary.png b/kubejs/assets/tfc/textures/item/loose_rock/moss_sedementary.png new file mode 100644 index 0000000000000000000000000000000000000000..f012b681680bf41703b0e26565dee0b9fa058fd8 GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSdE3`pUTc>U|_iB>Eak-ar*5+hA$=_Q(_cV#XDK%#_pJrx2?$RV$&8O*+=Hd z+5i53wr%5&YnvTsw)@<<_ItL<^|j@Xf9`nC7~yv`$kt5rkjVq4KtKyiL6{QBf_(6xBD!so;jyq zTKN}P#>Pr*39)`xZSvUUztnLV%{hyr?QWGtUix`~dB@pxo9k;I8?V`}{dw&UlNG+p d_jA@UT**$7XjnH@l!1YP!PC{xWt~$(696#he_j9p literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/phyllite.png b/kubejs/assets/tfc/textures/item/loose_rock/phyllite.png new file mode 100644 index 0000000000000000000000000000000000000000..687d991eb9126d5e77f9c133b17def75bea26f19 GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@V1uIpy^ae|UDElk`1y?wWqi ztdz*GkN1DR&$({Nu=wN+%L?|re%p8C-d(U&k)vjdnM>BjtzTa#PUU@{6#mEm1M@7w XnVoER?Y}ZGFfe$!`njxgN@xNA*RQTn literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/quartzite.png b/kubejs/assets/tfc/textures/item/loose_rock/quartzite.png new file mode 100644 index 0000000000000000000000000000000000000000..04222dcdf05ad6685fc29566b32e57b8042a73cd GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l@QgPSe1;*gXG*97#LGLT^vI!PT!qm@9h*Q zajgFPwIG$E_Tn`TdY8m@uzclQ5*pimZJ$H3v(tq~mo8k9GQEC1faA`j6R#gWnqTc# zChU9s_JlZ5Lca^o}QQJ#_A!+_{uW=cNKhtPZ;`r(Tes;Gt%)_ud~-KJK3@BF-e2IPAV0 zTk+j(G3SA|f15?kXJjS09ZiyBPz;uk4XCeDo9J^P!zB5`ad#`7CyQPGmH(LkLU`BF X>H6DuO?||`z`)??>gTe~DWM4fVy?(p literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfc/textures/item/loose_rock/rhyolite.png b/kubejs/assets/tfc/textures/item/loose_rock/rhyolite.png new file mode 100644 index 0000000000000000000000000000000000000000..949109bff014774ea903e3f42b479d04d6f73728 GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>lVAn`ZB{Nh+Z+_wRgC_vVSUxpV*O-OXpKPCxqS`GzOs zfOj#gL#Wl7?-`nrVyojiUK}#yn6O0a&D!r4>CuXdCG2L(Z!yLf21xw7EFp(;Bm%uH3iQY(H4T!|%7~ j|l@QgPSXDTlvm_KVFfh7#x;TbdoW48BG3$_n zMC*Q$Lggs6rY0|rDN!$@3Ldhu=m&hLX^mU(fOVGumzTJZ@-zXHNez;|7aC@lT;>V$ z-ko